0
0
583
493
491
467
1279
1351
0
585
128
318
361
540
959
1059
0
-40
-24
-23
-1
0
0
0
0
0
0
0
-32
18
6
16
12
33
0
-2
0
4
0
0
0
-5
-17
-15
-5
-4
-9
0
-14
0
-12
0
0
0
-16
-34
-11
-13
-18
6
0
5
0
78
0
0
12
-39
-12
-16
1
-37
-29
42
3
75
12
40
60
-43
-37
-3
-35
-13
-12
-7
33
6
-18
-13
41
47
0
32
44
38
44
60
66
47
9
0
13
0
0
0
2
-23
6
-25
-2
-21
5
12
24
20
71
-10
61
-20
-21
-24
6
1
52
-23
5
-6
5
5
-95
12
9
13
13
-49
-32
-33
0
3
2
20
32
15
45
-1
21
1
-4
-27
-28
-41
8
25
17
41
30
65
-35
-7
-13
-18
0
-15
19
5
17
-20
98
-18
100
-29
-29
1
-8
-4
7
38
-5
56
33
78
21
129
-24
12
22
-5
2
17
26
-6
58
38
86
47
96
10
-11
31
5
0
0
0
0
0
0
0
1
0
3
-23
-24
42
0
4
0
0
0
0
0
5
20
-38
-8
25
41
0
17
0
0
0
0
0
-16
4
-6
6
-7
-20
-6
15
23
24
15
2
-1
6
13
-31
-1
3
3
6
6
28
-10
28
3
0
20
3
-8
15
33
88
5
5
0
24
0
0
0
12
-56
7
-7
-2
-19
-9
16
2
17
44
-22
6
-7
22
0
35
-9
30
-33
-3
-12
7
11
-66
29
-33
0
11
4
-20
-53
-14
21
-1
6
41
-31
50
7
0
18
-11
-49
-10
-34
17
45
23
78
17
45
-48
10
-5
-29
8
-7
-12
4
29
-24
93
-21
124
-18
-27
-1
0
3
-30
36
-1
64
52
91
70
104
39
-19
9
2
17
2
33
-31
57
32
91
46
-30
-11
-4
3
-12
0
0
0
0
0
0
0
1
8
-3
23
23
15
0
-50
0
-2
0
0
0
-20
-49
-39
-30
-15
-23
41
14
60
33
35
12
32
-49
-6
-28
-21
-26
-24
71
28
17
-5
80
-10
59
46
-15
19
24
30
55
29
13
0
15
0
0
0
5
-5
-36
-10
-11
-18
0
3
-2
28
24
10
21
-18
-20
-6
-10
15
37
-23
4
-7
2
5
-118
14
-70
0
-44
-25
-5
-3
-12
27
24
17
48
39
56
-23
0
3
12
16
22
-60
3
28
18
57
39
56
2
-51
-3
-7
-41
-3
14
12
-2
-42
70
-21
66
-31
-34
9
-49
2
-7
0
23
67
32
89
82
140
-5
-5
7
0
3
-1
26
-8
41
11
40
26
51
12
11
-9
-28
0
0
0
0
0
0
0
-23
-8
-1
-18
-26
-20
63
12
138
-49
33
10
-77
-21
14
-1
-9
-18
-20
17
12
78
-45
62
-6
-20
24
21
35
-23
29
60
22
-38
0
23
0
0
0
-21
7
4
-33
-59
-31
9
-4
13
22
43
9
-38
-48
-22
-33
-12
4
2
-29
-1
-9
2
-5
-109
-9
-42
13
22
27
-3
-5
2
-8
22
-12
58
23
28
-6
-2
5
-8
13
-12
-64
2
21
16
28
-20
25
-55
-10
5
-16
-44
-31
0
17
17
-22
72
4
80
-16
-21
-26
-8
-10
-15
29
9
87
21
104
30
104
-6
-22
6
11
-8
-2
38
-3
68
19
102
39
9
-40
25
-20
-27
0
0
0
0
0
0
0
-29
-34
-18
-25
-5
-32
14
1
27
27
25
9
105
1
-2
-12
23
-20
-8
-44
8
0
0
0
0
0
-33
-20
-17
-8
-54
-46
-23
15
-77
-2
-53
-41
-4
-19
-24
-15
-12
-32
-39
-6
-2
-15
-9
-16
-110
1
-7
-15
-17
5
-8
3
1
-3
-9
8
54
-90
58
-12
-4
1
0
-16
-21
-72
8
-10
5
41
33
45
-24
-20
-25
5
-31
-48
-23
10
-73
-74
26
-32
47
-37
-18
0
-25
-32
-44
15
7
-96
20
56
66
76
-45
-21
-10
-23
-24
-18
28
23
18
51
67
41
148
-61
-28
3
48
0
0
0
0
0
0
0
-2
18
-14
0
-2
-8
-14
31
0
0
0
0
0
-24
-23
-28
-30
-26
-29
-37
12
-36
13
-61
-61
-14
-30
-26
-31
-20
-31
-23
-13
-4
-10
-4
-6
-96
-3
-6
-26
15
5
21
44
-4
7
19
28
-6
-159
3
-5
-20
-8
-24
-29
-21
-58
12
21
29
1
2
-13
-41
-25
-25
-22
-32
-42
-42
0
-44
-34
-17
-42
-7
-50
-17
-1
-13
-26
-8
-3
4
-18
0
18
-20
15
-33
-26
-27
-62
-25
-18
-4
0
24
40
-75
-119
-93
0
0
0
0
0
0
0
0
0
0
0
-12
6
-1
3
5
6
-29
12
0
-22
0
0
0
3
1
13
2
4
5
-33
15
-30
15
-2
0
32
2
3
8
8
3
10
-19
30
18
33
13
0
38
-2
-1
7
-1
1
5
0
54
-1
14
31
11
15
-6
6
2
4
4
9
-34
-6
0
0
2
0
1
-4
0
-4
-3
-16
-16
33
1
0
0
15
20
15
0
-12
-2
-3
-4
2
26
-15
30
20
0
0
0
-1
-6
5
-2
0
0
0
0
0
0
0
-2
1
-8
1
-10
1
-3
2
-3
7
5
-133
13
2
-1
-1
12
-4
15
2
-4
24
-7
31
-38
71
2
5
0
4
2
4
-113
8
24
5
28
30
44
-7
-1
-11
3
-9
-5
-10
-2
-26
-87
70
-2
90
-4
-3
13
3
-4
-8
21
14
33
6
81
51
98
-8
-9
-3
-5
-2
-1
42
-6
54
25
116
59
96
-1
-1
0
0
0
0
0
0
0
0
0
1
7
6
4
3
-6
-1
-1
6
2
5
85
-38
-4
-5
-6
-11
-15
6
-3
-3
-11
9
-5
102
-12
-2
-9
-2
-8
-4
-1
-1
-10
-1
-7
-10
101
-8
2
-4
-7
-8
0
-4
3
-1
10
-6
7
96
-17
0
-3
1
-11
-5
-28
15
1
7
-12
14
119
-20
-1
-14
1
0
0
0
0
0
0
0
0
13
19
4
13
-7
21
-62
-20
10
14
6
-15
19
-6
-5
3
-4
-3
21
-12
-6
-27
-48
-2
11
-4
11
6
14
-1
12
32
8
-1
-5
19
11
80
-34
-8
2
-1
-1
1
-1
7
9
-6
-20
3
135
-19
33
11
24
8
0
0
0
0
0
0
0
3
-1
-7
-2
2
-7
92
-9
-22
-31
-4
-40
-15
-1
2
2
10
12
-2
114
-1
13
12
-9
7
-13
2
-1
-7
1
-6
-5
105
1
-13
-4
11
-15
-10
1
0
0
-6
0
0
0
0
0
0
0
9
-3
-2
-2
6
1
20
-7
81
95
21
13
-14
-2
-9
6
-3
-12
-6
34
5
81
92
56
68
1
20
34
-9
1
0
0
0
0
0
0
0
-8
3
2
4
5
1
12
-3
62
67
7
-65
-14
8
38
5
47
0
0
0
0
0
0
0
0
0
0
0
0
-12
29
14
-9
0
0
28
-1
29
0
-4
25
19
15
0
3
-7
-7
10
0
24
0
0
0
0
0
33
4
1
0
0
20
-8
-7
0
0
-31
34
-17
0
0
19
0
-17
0
0
0
0
0
0
0
16
-27
36
0
0
-8
24
36
0
0
4
7
-1
0
0
27
34
-20
0
0
0
0
0
0
0
-36
-30
46
0
0
82
27
36
0
0
42
32
-12
0
0
15
1
12
0
0
0
0
0
0
0
39
51
44
0
0
26
48
48
0
0
18
22
6
0
0
27
38
25
0
0
0
0
0
0
0
8
19
50
0
0
23
22
37
0
0
32
31
5
0
0
29
28
47
0
0
0
0
0
0
0
30
12
13
0
0
-10
29
16
0
0
-30
15
31
0
0
21
-55
-8
0
0
0
0
0
0
0
-22
-22
4
0
0
32
-3
-32
0
0
23
-3
15
0
0
22
-6
-19
0
0
0
0
0
0
0
30
16
-9
0
0
15
8
-40
0
0
13
-2
-33
0
0
16
8
13
0
0
0
0
0
0
0
7
-50
-32
0
0
48
-21
9
0
0
-31
-11
-77
0
0
-6
-58
56
0
0
0
0
0
0
0
-15
-55
-103
0
0
11
29
-5
0
0
13
1
31
0
0
7
-4
17
0
0
0
0
0
0
0
-2
21
-13
0
0
47
29
-16
0
0
22
4
28
0
0
32
29
-10
0
0
0
0
0
0
0
40
-6
27
0
0
37
16
-24
0
0
14
-4
10
0
0
30
13
-10
0
0
0
0
0
0
0
26
35
39
0
0
21
20
31
0
0
27
20
23
0
0
15
-3
40
0
0
0
0
0
-16
-26
18
11
29
-32
-7
-12
5
-36
-15
15
-3
19
55
59
-6
-5
14
-16
49
49
0
0
0
0
-51
-45
20
-24
0
21
40
-28
52
0
0
1
20
-4
0
0
2
-5
-1
0
0
0
0
0
0
0
-24
-12
-42
0
0
65
-18
8
0
0
3
23
-60
0
0
8
20
-104
0
0
0
0
0
0
0
-13
14
-10
0
0
-9
45
37
0
0
-54
36
-54
0
0
3
-6
-64
0
0
0
0
0
0
0
24
15
-27
0
0
-11
43
44
0
0
-14
-32
16
0
0
42
62
-15
0
0
0
0
0
0
0
8
22
48
0
0
3
42
34
0
0
22
44
44
0
0
-27
-4
-37
0
0
0
0
0
0
0
40
-32
48
0
0
43
10
24
0
0
22
11
-1
0
0
-24
1
0
0
0
0
0
0
0
0
51
67
27
0
0
8
10
3
0
0
-11
19
25
0
0
2
-21
45
0
0
0
0
0
0
0
33
16
-39
0
0
19
4
-40
0
0
-12
-23
14
0
0
29
-25
-28
0
0
0
0
0
0
0
47
57
9
0
0
-1
0
0
0
0
20
0
8
0
0
-16
-6
-9
0
0
0
0
0
0
0
91
-7
0
0
0
-20
43
43
0
0
-29
-66
-23
0
0
-57
-39
-2
0
0
0
0
0
0
0
-49
-36
-9
0
0
16
-26
22
0
0
28
8
-32
0
0
-9
-10
24
0
0
0
0
0
0
0
-30
14
-26
0
0
-16
-34
-31
0
0
14
26
-20
0
0
0
13
26
0
0
0
0
0
0
0
49
29
-80
0
0
-67
43
-3
0
0
49
8
52
0
0
-16
21
40
0
0
0
0
0
-29
7
16
37
-21
-34
-8
32
15
-20
24
23
9
3
18
-6
38
-1
-10
13
35
34
0
0
0
18
-10
-47
14
101
67
24
-16
-21
40
-4
-5
3
4
25
51
-36
12
4
53
-38
65
0
0
0
0
0
12
13
74
0
-18
15
0
-57
0
0
-2
-13
-18
0
10
-80
-11
21
0
12
0
0
0
0
0
7
-11
-23
0
0
19
47
53
0
0
15
-21
14
0
0
-39
19
29
0
0
0
0
0
0
0
-3
12
-11
0
0
13
37
41
0
0
0
30
7
0
0
14
51
7
0
0
0
0
0
0
0
-8
3
-51
0
0
-4
28
65
0
0
-19
22
52
0
0
36
24
20
0
0
0
0
0
0
0
17
-4
17
0
0
34
41
53
0
0
11
21
-9
0
0
19
-20
-9
0
0
0
0
0
0
0
-14
-48
6
0
0
5
30
52
0
0
-40
35
1
0
0
-16
24
18
0
0
0
0
0
0
0
17
31
11
0
0
19
6
-31
0
0
18
16
-5
0
0
25
11
23
0
0
0
0
0
0
0
-49
-28
-3
0
0
-5
14
-21
0
0
1
3
-59
0
0
-13
7
5
0
0
0
0
0
0
0
6
2
0
0
0
-3
45
-18
0
0
-16
-39
29
0
0
13
-17
-1
0
0
0
0
0
0
0
22
10
8
0
0
-8
7
-4
0
0
4
33
0
0
0
17
-10
16
0
0
0
0
0
0
0
-17
14
34
0
0
9
-17
30
0
0
-32
26
5
0
0
29
8
15
0
0
0
0
0
0
0
-9
-34
56
0
0
3
14
22
0
0
-23
9
31
0
0
43
34
52
0
0
0
0
0
16
-16
-9
-1
-25
-7
23
14
30
18
-2
27
30
15
46
7
37
-12
18
-39
36
31
0
0
0
-6
5
16
26
20
16
-2
21
-1
31
20
56
24
5
25
25
-7
61
-73
25
0
-16
0
0
0
0
-8
-5
46
3
-7
37
28
4
-8
-22
17
6
-11
55
3
-1
30
13
-30
-21
30
0
0
0
0
-1
-19
-1
-17
0
-3
33
30
39
0
10
0
-13
37
0
19
-13
26
-53
0
-31
0
0
0
0
0
13
5
-4
0
0
12
-1
-5
0
0
-14
4
43
0
0
20
22
-20
0
0
0
0
0
0
0
8
24
26
0
0
4
35
47
0
0
8
13
10
0
0
-13
20
-8
0
0
0
0
0
0
0
51
18
0
0
0
48
27
-17
0
0
32
-6
-1
0
0
26
-28
8
0
0
0
0
0
0
0
6
-61
-8
0
0
16
-24
-4
0
0
22
24
8
0
0
33
35
36
0
0
0
0
0
0
0
43
-4
-17
0
0
26
14
-11
0
0
20
27
2
0
0
25
13
21
0
0
0
0
0
0
0
20
-6
27
0
0
-43
35
45
0
0
25
-55
-5
0
0
-21
11
-39
0
0
0
0
0
0
0
16
-13
-52
0
0
2
0
-33
0
0
-50
-3
-3
0
0
41
28
13
0
0
0
0
0
0
0
75
-8
19
0
0
9
25
4
0
0
6
13
2
0
0
16
-6
0
0
0
0
0
0
0
0
13
18
39
0
0
17
18
31
0
0
36
0
22
0
0
2
11
7
0
0
0
0
0
0
0
-1
19
34
0
0
33
13
76
0
0
-15
19
18
0
0
24
-27
-8
0
0
0
0
0
47
-43
38
14
-10
-11
13
21
22
-7
29
22
7
-5
18
4
32
31
19
28
21
38
0
0
0
15
-15
28
25
3
3
-16
11
-49
-19
-23
15
2
81
3
5
43
-5
-6
18
34
19
0
0
0
-2
-20
37
-23
55
-27
33
42
-5
-5
-15
33
0
13
-16
28
21
4
2
-26
-1
36
0
0
0
34
34
3
38
-5
-16
23
25
-10
17
7
56
52
-6
14
0
37
-2
21
9
-45
-40
0
0
0
0
12
33
10
-6
0
-21
-16
32
4
0
26
-8
32
1
0
-30
19
19
18
0
21
0
0
0
0
0
21
29
52
0
0
-3
15
7
0
0
16
38
20
0
0
18
11
32
0
0
0
0
0
0
0
24
18
33
0
0
23
21
30
0
0
-16
0
-12
0
0
6
-10
-36
0
0
0
0
0
0
0
-1
-34
24
0
0
22
-9
12
0
0
12
21
20
0
0
8
12
30
0
0
0
0
0
0
0
13
14
31
0
0
18
3
16
0
0
11
7
28
0
0
10
12
24
0
0
0
0
0
0
0
8
-3
0
0
0
8
-13
15
0
0
-12
-3
-16
0
0
-17
-22
-12
0
0
0
0
0
0
0
10
-29
14
0
0
1
4
18
0
0
19
8
25
0
0
10
17
29
0
0
0
0
0
0
0
15
-11
42
0
0
12
3
6
0
0
7
12
15
0
0
6
12
23
0
0
0
0
0
0
0
19
-40
12
0
0
5
-34
4
0
0
3
6
8
0
0
30
8
6
0
0
0
0
0
0
0
56
23
14
0
0
23
3
10
0
0
4
21
-2
0
0
32
13
35
0
0
0
0
0
21
-9
-6
2
-19
-7
14
12
0
3
49
36
0
21
11
38
34
29
36
-1
81
20
0
0
0
27
17
41
-11
-30
-46
56
-21
38
-40
50
57
-10
0
-5
28
-21
47
12
33
43
-41
0
0
0
-32
-53
30
3
9
-22
5
21
14
54
16
20
31
45
2
52
50
-5
2
53
26
42
0
0
0
-6
-6
40
42
-17
-12
3
7
7
0
5
59
12
11
2
22
16
35
-10
-4
12
-12
0
0
0
41
-12
19
28
-6
13
53
-1
41
18
-17
30
10
17
4
18
-20
43
25
1
2
31
0
0
0
0
36
16
-4
13
0
44
-10
-3
44
0
-11
27
31
10
0
-30
-10
5
22
0
-1
0
0
0
0
0
-8
17
-26
0
0
-14
1
-4
0
0
-4
8
10
0
0
20
-26
-7
0
0
0
0
0
0
0
20
-13
-20
0
0
20
7
3
0
0
34
2
-4
0
0
11
13
22
0
0
0
0
0
0
0
24
21
11
0
0
12
15
20
0
0
11
13
24
0
0
11
21
32
0
0
0
0
0
0
0
-13
-28
11
0
0
-6
-16
-14
0
0
-17
37
12
0
0
34
55
-20
0
0
0
0
0
0
0
-43
7
-15
0
0
21
30
79
0
0
41
1
25
0
0
-5
25
24
0
0
0
0
0
0
0
31
2
-39
0
0
10
15
20
0
0
33
-5
28
0
0
28
29
34
0
0
0
0
0
0
0
15
14
-3
0
0
30
-11
18
0
0
11
23
5
0
0
18
-11
-27
0
0
0
0
0
0
0
24
12
18
0
0
27
10
-8
0
0
39
22
-11
0
0
-11
0
-14
0
0
0
0
0
-5
41
29
2
15
19
-1
45
-5
13
35
8
56
51
20
-14
30
-1
52
-11
-4
-4
0
0
0
14
-5
8
28
12
6
14
23
4
-12
0
5
2
-1
0
0
-2
11
-5
0
0
0
0
0
0
-1
-6
-39
12
-14
12
28
0
36
5
8
11
29
-13
-12
-1
-14
-4
5
1
0
-1
0
0
0
-7
27
-31
21
-12
-9
2
1
3
28
47
-15
-3
2
34
-3
-73
19
1
-1
6
20
0
0
0
35
20
1
69
-7
36
16
23
-4
-4
5
10
19
15
-4
-59
-18
-29
-10
-41
10
6
0
0
0
32
66
-11
9
46
-7
-14
26
27
6
-33
-5
5
-9
2
50
-6
21
-18
0
-25
0
0
0
0
0
0
0
0
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
59
0
0
8
-7
-4
0
0
5
0
4
0
0
5
5
-1
0
0
0
0
0
0
0
8
6
3
0
0
1
1
0
0
0
2
1
0
0
0
-2
4
7
0
0
0
0
0
0
0
5
7
-5
0
0
-11
-9
27
0
0
-3
47
34
0
0
20
-50
30
0
0
0
0
0
0
0
-16
19
26
0
0
-6
0
-1
0
0
0
1
-10
0
0
-10
-31
-22
0
0
0
0
0
0
0
29
-2
42
0
0
5
-13
3
0
0
1
0
-2
0
0
5
-3
2
0
0
0
0
0
0
0
32
-4
12
0
0
-2
3
-6
0
0
6
-8
-11
0
0
-4
-8
5
0
0
0
0
0
0
0
32
4
-2
0
0
-9
-13
-13
0
0
-11
0
-13
0
0
-25
-2
28
0
0
0
0
0
-74
-47
44
-14
0
22
-44
31
-2
-43
-33
9
26
-5
24
-3
25
8
-31
-3
-43
20
0
0
0
-17
-76
-12
-20
-35
-16
10
8
-18
-53
16
56
-3
-26
-49
-46
104
-26
8
25
44
-21
0
0
0
-3
-11
47
-33
-34
-22
0
4
3
-74
-20
4
44
5
28
-30
28
9
20
46
41
45
0
0
0
-1
-12
-39
7
-55
-76
3
-9
-4
3
17
6
25
44
2
6
10
-5
-21
-21
-1
3
0
0
0
38
20
14
18
-24
13
-3
10
15
16
23
7
16
8
38
19
15
9
20
25
47
12
0
0
0
37
21
9
29
19
-18
38
9
-9
5
52
1
-11
5
-10
-8
17
5
9
14
24
-20
0
0
0
18
56
24
9
13
20
29
23
10
12
4
-1
4
4
9
4
2
4
3
2
1
-11
0
0
0
0
-1
-43
2
-4
0
1
-3
9
7
0
5
0
-11
-11
0
-4
-4
-4
-12
0
0
0
0
0
0
0
8
2
11
0
0
10
-1
3
0
0
4
-12
-3
0
0
-6
-15
-3
0
0
0
0
0
0
0
1
-3
-16
0
0
-3
-5
-8
0
0
3
-15
16
0
0
-12
-6
-10
0
0
0
0
0
0
0
11
-18
-26
0
0
-5
-2
-5
0
0
-1
-12
-1
0
0
4
-3
-10
0
0
0
0
0
0
0
-8
-2
5
0
0
-2
-3
9
0
0
-5
-9
-7
0
0
0
-8
-8
0
0
0
0
0
0
0
17
-35
-8
0
0
8
-19
-9
0
0
1
-6
-4
0
0
3
-12
-11
0
0
0
0
0
0
0
-7
22
14
0
0
-6
-9
-5
0
0
-5
-9
-9
0
0
8
-2
-3
0
0
0
0
0
1
-63
15
-15
-22
-46
-45
26
14
-25
-26
-14
13
16
-12
-13
-20
21
26
0
-28
-28
0
0
0
-6
-47
23
19
15
-10
-6
4
19
-27
13
-17
11
11
2
-18
-4
39
19
71
17
-15
0
0
0
0
-29
-6
15
-9
4
2
31
10
-26
-1
-9
30
12
9
-42
-3
19
34
29
9
-75
0
0
0
-6
-35
57
-4
19
8
2
29
22
-23
34
-11
23
27
47
24
-20
34
34
21
32
-31
0
0
0
11
-2
5
1
18
11
-1
11
10
16
28
16
15
3
22
17
13
12
9
23
19
13
0
0
0
-31
-31
-1
17
9
15
-12
16
24
27
5
17
18
29
24
43
22
21
25
4
39
6
0
0
0
7
-6
17
15
-2
9
14
9
17
3
2
9
5
6
1
2
10
-1
2
13
2
0
0
0
0
-15
-17
-27
-35
-8
-4
-4
2
-7
1
-10
-12
-4
-16
-2
-10
-8
-2
-11
-2
-8
-1
0
0
0
0
0
4
4
5
0
0
2
0
3
0
0
-4
-4
-3
0
0
-1
-1
-5
0
0
0
0
0
0
0
-7
-3
0
0
0
4
14
15
0
0
-14
-5
-6
0
0
-8
0
-2
0
0
0
0
0
0
0
2
-4
4
0
0
-15
-1
-9
0
0
-7
-4
-3
0
0
5
9
6
0
0
0
0
0
0
0
4
-22
-11
0
0
-4
-17
-11
0
0
-4
-17
-17
0
0
0
-11
-13
0
0
0
0
0
0
0
6
-33
-2
0
0
7
-14
6
0
0
3
-8
-5
0
0
6
0
6
0
0
0
0
0
0
0
2
16
3
0
0
-1
7
-15
0
0
-7
3
-2
0
0
9
-1
-1
0
0
0
0
0
-7
14
-13
-35
14
-6
25
-33
37
-11
3
-63
-3
-20
-34
12
-5
9
-24
-8
2
-38
0
0
0
0
-13
61
21
23
-1
8
-69
-16
4
8
0
3
-6
0
0
0
-2
25
-1
0
0
0
0
0
-6
-10
6
-3
-14
0
-29
4
12
41
-1
-23
16
-31
23
45
-32
-16
-20
26
0
19
0
0
0
0
-47
7
-37
-11
-2
-7
39
83
-21
14
-14
-22
59
94
18
-39
11
-8
-11
-9
38
0
0
0
-5
-41
15
8
40
26
-48
5
1
58
77
-13
5
13
10
-25
-73
9
-2
-34
-1
-32
0
0
0
55
-75
-1
18
0
82
-50
-42
-16
6
42
-35
-21
0
-24
7
-63
30
-17
6
-26
-62
0
0
0
15
6
39
-2
2
13
29
12
7
49
44
3
-10
-7
-14
26
-36
-25
8
6
2
-49
0
0
0
-32
-36
54
14
28
26
17
-24
23
29
-3
10
-11
-13
-14
2
-15
1
-27
-2
-9
-10
0
0
0
-20
-38
-2
-1
-2
19
-29
-10
4
12
33
-26
-1
0
-8
21
-35
0
2
-3
17
-22
0
0
0
0
1
2
-9
-8
0
9
19
-24
38
0
13
27
-7
-7
0
46
5
30
-13
0
25
0
0
0
0
0
26
51
28
0
0
7
-9
6
0
0
-7
5
0
0
0
-9
17
-22
0
0
0
0
0
0
0
2
4
48
0
0
12
22
-11
0
0
0
4
0
0
0
-8
-4
14
0
0
0
0
0
0
0
49
-17
42
0
0
19
2
-29
0
0
-1
-4
1
0
0
9
-13
-24
0
0
0
0
0
0
0
28
32
-5
0
0
5
14
-31
0
0
12
13
-3
0
0
-8
8
12
0
0
0
0
0
0
-24
13
-39
18
1
15
-12
-39
-33
-11
-41
9
9
-36
-2
8
-14
17
5
28
54
0
0
0
0
-55
10
10
7
-9
43
-30
-27
15
0
-33
47
31
-4
0
46
-4
45
13
0
2
0
0
0
0
68
-46
-8
8
0
-15
0
42
2
0
-75
-7
-43
-9
0
-9
46
37
2
9
42
0
0
0
0
-38
-39
29
50
29
-72
20
31
49
33
61
-30
16
-37
-11
8
4
-36
-12
-5
26
0
0
0
36
2
8
6
25
-5
22
27
-2
24
23
7
-12
14
32
24
39
-6
4
33
22
36
0
0
0
28
13
-7
14
-4
44
58
23
-1
-4
1
23
-4
3
29
-42
5
15
7
-23
-20
9
0
0
0
-2
15
9
12
18
30
8
13
4
7
4
0
-17
0
-28
-14
-7
-6
4
-2
24
24
0
0
0
39
-2
16
0
-23
14
-19
-6
-3
-9
-7
-17
-8
-1
-6
8
-11
-3
-10
-15
1
-17
0
0
0
-3
12
7
-16
-14
-1
-4
-3
1
12
3
3
-1
-4
-4
-2
1
3
4
4
-5
-2
0
0
0
-22
-24
-22
-12
-14
-29
19
0
26
-4
-4
26
-10
21
-8
-29
21
-6
-23
20
2
23
0
0
0
0
-9
-10
-3
-22
0
-19
-25
4
-4
0
-3
-23
-5
-8
0
-5
-23
-4
8
0
19
0
0
0
0
0
2
-4
-4
0
0
0
-2
8
0
0
-10
-4
-2
0
0
-3
-3
-3
0
0
0
0
0
0
0
16
-6
-9
0
0
-12
-11
20
0
0
-8
-23
2
0
0
-10
-4
5
0
0
0
0
0
0
0
-17
7
-26
0
0
-6
12
-4
0
0
-5
0
4
0
0
9
-25
-11
0
0
0
0
0
15
-74
38
15
-14
-35
-9
16
-1
-22
-13
-21
31
-2
-4
-4
5
11
21
-7
-4
16
0
0
0
-7
-41
3
30
-28
12
41
24
4
-3
-12
11
-10
37
10
0
14
10
17
-53
-10
2
0
0
0
10
-14
52
2
22
4
-26
16
-14
-33
46
-17
-2
-1
-26
16
-2
4
-44
11
0
36
0
0
0
-1
3
-4
33
-23
69
-12
21
15
19
10
23
-15
-6
21
8
27
-15
23
27
-57
13
0
0
0
-12
52
-1
4
34
39
28
0
-3
27
10
33
7
20
25
26
31
-2
12
18
-11
15
0
0
0
58
-16
9
21
11
41
35
19
4
29
31
41
30
-9
24
21
2
16
11
-1
-15
13
0
0
0
6
-20
12
16
15
10
10
13
9
15
3
1
9
2
9
3
1
-3
0
2
-1
1
0
0
0
-7
-24
22
11
-12
2
-18
-2
1
-4
-8
-25
-7
-10
3
-11
-13
1
-15
-3
-9
-8
0
0
0
-18
-20
-3
-8
-23
-14
-11
3
-12
-3
-11
-21
-4
-18
-13
-9
-17
0
-22
-12
-15
-16
0
0
0
-18
-23
-2
-17
-9
-31
30
6
3
18
-6
11
16
11
2
-13
22
9
-1
-12
-17
5
0
0
0
24
-4
-9
18
8
-9
-13
-5
-1
-3
3
-3
-3
2
6
-5
2
-8
10
-4
-9
23
0
0
0
0
-11
19
-28
5
0
-5
1
2
23
0
8
0
-8
-1
0
0
-1
-5
-8
0
5
0
0
0
0
0
8
-5
-8
0
0
-11
-10
-4
0
0
-10
-7
0
0
0
3
-11
6
0
0
0
0
0
0
0
6
-8
-11
0
0
0
-12
10
0
0
6
-16
12
0
0
14
-4
10
0
0
0
0
0
23
21
9
15
2
-73
-21
19
-5
-9
18
2
24
31
34
8
29
12
12
-4
-4
28
0
0
0
-33
21
74
-13
34
-51
-17
-4
11
-16
39
39
24
40
19
38
-48
-22
-35
-4
8
20
0
0
0
0
-16
26
7
-53
72
8
7
-7
56
16
-15
34
-2
7
58
3
19
21
-17
2
25
0
0
0
13
-4
50
-40
-12
-12
12
6
28
16
-27
27
26
-1
-48
21
33
-12
2
6
23
4
0
0
0
-66
-3
26
13
-36
73
13
-11
14
-5
24
36
7
5
20
5
21
-3
-5
26
28
31
0
0
0
43
-2
50
-13
31
0
-6
-6
-11
33
-7
-15
44
-17
24
20
-15
21
16
-19
36
7
0
0
0
36
36
-5
9
13
0
-3
-5
0
0
3
-2
3
-2
-7
-2
-6
-14
-5
-1
0
15
0
0
0
22
-41
-26
-23
-72
7
12
7
4
13
7
-4
0
-5
-5
-8
5
2
-2
1
-7
2
0
0
0
4
7
2
10
-2
-11
-3
4
2
-2
0
-8
6
0
-3
-7
-1
6
4
2
-18
-3
0
0
0
-11
-26
-3
-2
-21
-50
-14
2
-21
9
-14
30
0
-4
14
-33
1
9
-5
15
-40
-30
0
0
0
13
-1
-1
8
-12
-1
32
7
-12
-6
10
-4
-2
-2
4
12
3
-1
-6
-8
19
-6
0
0
0
1
23
21
1
18
3
6
7
0
12
2
21
-8
3
2
-5
9
-4
4
-6
3
8
0
0
0
0
-7
8
-9
-8
0
-37
-6
-19
-20
0
12
-9
-1
-21
0
15
2
-16
0
0
-11
0
0
0
0
0
16
-4
-17
0
0
-1
-5
-18
0
0
3
-2
-13
0
0
-7
-7
2
0
0
0
0
0
-17
-26
11
18
3
-15
15
27
28
23
22
15
48
15
-33
5
17
-21
12
-2
-6
37
0
0
0
56
4
-5
-30
-27
28
-21
-16
-22
-24
-24
63
52
-15
11
-3
14
13
-2
87
-3
-1
0
0
0
1
-23
20
9
-51
31
49
37
38
-27
4
20
60
53
22
25
57
19
50
12
41
66
0
0
0
-7
35
-30
26
-11
-35
18
48
78
21
-9
14
44
1
-73
-2
14
12
-4
-43
23
6
0
0
0
38
30
19
-20
-19
-22
20
17
3
16
15
39
8
23
11
14
26
32
16
30
8
13
0
0
0
53
5
8
7
16
-66
46
15
-11
26
24
31
-16
23
3
-24
-7
16
-9
7
-12
-28
0
0
0
-1
15
42
3
19
63
26
18
29
-3
8
-10
-6
-12
-2
5
5
-2
-11
2
-4
-10
0
0
0
-22
-3
3
-2
-45
-4
4
-5
-2
1
-11
-6
4
-1
-3
-5
1
3
1
2
3
0
0
0
0
-50
-10
-1
-5
2
-17
-13
5
6
2
-12
-13
1
0
-2
-2
-11
6
3
-2
8
-12
0
0
0
-15
12
4
-2
-8
-59
21
18
27
49
-4
17
-20
24
-3
-1
39
3
-4
0
-28
-18
0
0
0
-8
-32
6
6
-18
1
-7
10
-2
10
13
-12
2
10
-3
-9
-8
11
0
-8
-16
-20
0
0
0
-7
4
-28
-24
-7
11
7
14
-10
25
-3
-9
4
3
2
-9
-1
4
-11
9
27
-7
0
0
0
-21
8
1
-19
17
-5
-1
16
-6
9
-14
11
-14
2
-24
-18
-18
3
7
-7
-19
34
0
0
0
0
1
-26
-33
-41
0
-21
-9
-14
-9
0
5
-3
6
-52
0
56
-1
22
20
0
-26
0
3
18
-16
-38
8
12
-24
1
-23
-6
-13
44
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-5
0
-15
-75
-9
0
10
0
15
0
0
0
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
53
-8
9
0
14
-1
-16
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-19
0
32
0
20
0
17
25
25
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
-5
-15
0
31
16
3
0
30
33
41
0
35
-4
-15
0
-3
0
26
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
30
0
9
38
21
0
31
10
19
0
31
37
-21
0
-9
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
28
0
4
6
-2
0
-5
14
20
0
8
-51
21
0
-7
-3
-12
0
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-3
0
-48
-27
0
0
23
-23
3
0
9
-5
13
0
-2
14
-46
0
-3
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-5
0
-70
-19
8
0
-49
-3
5
0
-21
-5
-12
0
-64
-47
-17
0
-36
4
-13
0
19
0
0
0
0
0
0
0
0
0
0
0
0
28
32
0
25
-18
5
0
22
-5
15
0
-9
10
39
0
-46
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-17
-8
0
45
-4
-12
0
-10
21
2
0
1
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-16
0
2
5
-28
0
11
3
8
0
-25
14
20
0
7
66
1
0
1
-8
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
20
-10
0
-9
23
4
0
-9
16
16
0
16
12
14
0
-26
-36
-7
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-27
0
8
17
-33
0
25
16
-5
0
24
27
0
0
-26
3
16
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
2
-1
-68
-3
26
1
-31
6
-18
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-31
-15
-12
0
7
13
26
0
11
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
25
29
0
-9
1
11
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
44
-43
0
-41
-30
54
0
79
0
25
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
9
-23
0
1
5
6
0
55
14
33
0
47
13
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
42
0
-11
57
4
0
-12
29
-19
0
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
-27
-20
0
3
14
26
0
1
10
12
0
1
30
12
0
-23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-32
0
-76
-4
22
0
-37
0
-6
0
-46
8
9
0
10
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-54
0
-34
3
23
0
-3
-7
28
0
-21
-9
-9
0
-5
21
-22
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-5
0
-25
-14
-1
0
-3
-39
-67
0
-27
17
7
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
-22
-27
0
10
16
-43
0
-13
31
16
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-31
0
0
38
-11
0
-9
24
21
0
-48
6
-30
0
-38
-6
19
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-59
0
14
-15
-32
0
28
-19
20
0
48
39
37
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
24
0
25
5
26
0
41
18
15
0
-53
24
-15
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-14
-28
35
-1
-22
-12
-26
0
-15
-3
-61
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
27
27
-31
-4
-11
-24
-28
0
-8
-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
34
-15
-5
-16
-38
-24
-22
42
1
41
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
37
43
0
34
8
3
0
51
7
-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
26
19
0
6
38
-2
0
23
9
37
0
9
13
-32
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
38
0
6
16
3
0
-1
1
0
0
24
-30
34
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
0
11
-2
24
0
16
-4
-4
0
-36
-2
3
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
33
0
-45
6
8
0
4
-25
7
0
2
6
11
0
-15
20
-15
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-8
0
-63
3
-11
0
-17
1
-3
0
-37
8
12
0
-8
-11
-28
0
-30
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-97
-14
0
-8
43
-50
0
0
94
42
0
-50
-7
-8
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
0
0
0
-15
-6
0
-2
3
-20
0
-9
9
-31
0
-34
27
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
2
-4
-22
0
13
-8
-1
0
-5
-7
-19
0
-15
49
9
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-45
0
8
53
-3
0
-10
40
7
0
31
33
48
0
-14
-28
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
17
0
26
17
-33
0
32
-13
-27
0
4
-12
37
0
-2
0
3
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
-27
9
23
7
-2
-8
-21
30
19
7
0
1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
-4
0
-1
-14
-32
-13
0
-2
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
37
29
-23
-8
-19
-35
8
0
18
-42
31
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
3
-15
0
18
-24
10
18
-1
39
-35
-30
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
11
0
19
-5
1
0
16
12
13
0
22
29
65
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-3
0
1
32
17
0
-20
29
37
0
11
-5
-65
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
11
21
48
0
17
-2
-30
0
-51
10
-56
0
46
22
31
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
41
0
0
6
-27
0
20
-10
-8
0
23
-5
-26
0
25
5
-46
0
19
26
25
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-30
7
0
-15
20
14
0
21
19
18
0
12
8
5
0
-25
-6
6
0
-42
0
-10
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-2
12
16
0
-16
6
-34
0
-42
-5
-34
0
2
-9
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
27
-17
0
17
-2
10
0
-33
-37
9
0
-18
-14
17
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-16
0
14
-17
-31
0
8
21
-34
0
14
41
2
0
2
6
18
0
-37
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-24
0
12
19
-21
0
28
12
36
0
-7
-7
34
0
27
-10
4
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-17
0
-27
-8
-17
0
38
44
5
0
20
-15
24
0
34
-1
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-1
7
14
-27
-24
6
31
6
-35
6
6
8
10
15
-11
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-47
-14
-11
8
-30
-3
10
0
14
19
-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
15
-3
3
44
48
-12
4
12
-7
32
13
-25
0
-16
-4
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
20
5
7
35
26
17
33
44
28
25
0
-32
33
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-55
8
19
10
-34
8
-36
59
-29
1
4
23
26
48
43
64
3
-16
3
-9
-10
21
-23
-4
37
-9
-6
0
11
3
0
0
0
0
0
7
28
0
22
-7
-23
0
57
24
-69
0
-11
44
-4
0
8
-8
65
0
-51
7
72
0
14
23
37
0
-11
0
-3
0
0
0
0
0
0
33
-12
0
-11
2
-3
0
20
14
44
0
28
11
-7
0
8
-20
-52
0
-15
-1
-16
0
-22
0
-4
0
8
0
26
0
27
0
0
0
0
6
34
0
23
-6
-17
0
30
-8
7
0
24
17
-4
0
16
13
-13
0
5
18
-6
0
23
14
6
0
18
0
-15
0
-1
0
0
0
0
19
29
0
12
-4
33
0
-14
5
16
0
-16
-1
5
0
-3
-10
-2
0
-12
-18
-4
0
-6
13
10
0
-8
0
0
0
-2
0
0
0
0
16
56
0
-70
13
-28
0
-88
-17
-6
0
22
11
-9
0
23
-17
-3
0
32
29
14
0
-12
2
-5
0
-1
0
17
0
-24
0
0
0
0
32
0
0
0
-11
70
0
36
14
19
0
23
-6
-7
0
23
-5
9
0
-3
-22
13
0
17
12
-14
0
17
0
14
0
-9
0
0
0
0
38
40
0
-31
21
1
0
-16
14
6
0
-9
4
10
0
36
14
2
0
15
18
3
0
22
50
14
0
21
0
-20
0
7
0
0
0
0
10
-14
0
-17
16
-21
0
20
42
9
0
2
20
8
0
6
9
-2
0
6
7
14
0
48
45
3
0
0
0
37
0
8
0
0
0
0
48
19
0
6
-1
-16
0
52
36
11
0
101
31
12
0
23
27
-7
0
44
0
25
0
-15
60
3
0
-15
0
20
0
-101
0
0
0
0
-5
-5
11
8
-37
-2
1
-21
-40
5
-12
14
0
15
41
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-18
49
26
-5
-11
-17
-11
-2
37
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
4
-4
-3
38
20
-9
1
-15
1
15
-3
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
26
10
-12
-8
14
39
-24
24
-25
1
47
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-11
18
22
8
9
4
-6
13
14
-15
9
-25
3
-18
49
-24
24
39
28
72
25
6
-80
1
-2
57
11
0
-1
-10
0
0
0
0
0
28
20
-31
-12
-20
-13
33
-4
10
20
-49
-27
-61
-35
-6
-2
-3
-21
25
0
-18
0
0
0
0
7
0
2
0
0
0
0
0
0
0
0
12
18
0
13
-37
-40
0
-7
-17
-2
0
-41
-29
-5
0
43
4
-39
0
-21
9
26
0
24
18
2
0
-27
0
39
0
20
0
0
0
0
35
47
0
58
38
17
0
32
43
18
0
-39
29
33
0
4
11
-2
0
-9
16
4
0
-3
13
6
0
34
0
14
0
26
0
0
0
0
28
32
0
-9
28
30
0
0
22
19
0
30
1
18
0
-4
-6
6
0
14
8
-9
0
-40
27
-10
0
-1
0
27
0
-29
0
0
0
0
-19
30
0
-67
-15
-11
0
-25
1
9
0
-10
-2
-9
0
-26
12
-5
0
36
24
-11
0
-29
35
-16
0
19
0
-3
0
-30
0
0
0
0
41
0
0
0
10
55
0
63
23
-12
0
-15
15
15
0
17
-20
30
0
-25
-23
20
0
1
10
-34
0
-13
0
3
0
-2
0
0
0
0
35
25
0
-4
33
22
0
-21
15
-12
0
1
8
0
0
-6
23
21
0
-4
8
21
0
23
22
11
0
65
0
18
0
15
0
0
0
0
1
8
0
34
35
39
0
36
22
22
0
-10
18
20
0
7
55
15
0
17
20
6
0
9
72
-16
0
9
0
-12
0
-32
0
0
0
0
-24
6
0
33
6
-4
0
1
-4
9
0
33
-4
28
0
-6
33
-19
0
13
48
29
0
0
-25
-14
0
-9
0
-24
0
-3
0
0
0
0
3
50
17
11
6
10
21
21
0
-32
21
0
0
-3
-13
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
3
-9
0
73
10
-9
0
-1
35
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
15
-8
5
-1
-17
5
28
0
0
36
-3
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
7
-1
12
23
51
0
11
-2
4
0
-6
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
1
22
15
-31
-6
-25
-59
24
2
8
15
13
25
-8
-14
-44
3
4
24
42
-10
-2
17
25
-4
-2
-14
0
-49
-18
-5
0
0
4
0
3
-13
-8
-4
-7
-3
9
10
0
9
-23
1
-16
-22
-34
-2
-25
24
16
-9
42
12
31
-4
19
-14
-4
-2
0
-3
-16
-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
-26
42
0
56
-59
11
0
-10
23
9
0
34
44
-8
0
-10
-15
35
0
-7
1
9
0
15
-14
-7
0
0
0
-3
0
2
0
0
0
0
15
62
0
6
42
57
0
11
-7
29
0
24
-14
25
0
8
-3
0
0
10
6
-1
0
8
-2
7
0
-12
0
-4
0
-46
0
0
0
0
-3
7
0
1
-25
-44
0
0
-6
27
0
26
-7
19
0
-33
3
20
0
-30
33
24
0
-15
0
7
0
-8
0
8
0
6
0
0
0
0
3
0
0
0
30
14
0
2
-58
-19
0
2
17
-1
0
32
6
9
0
23
-7
22
0
5
-1
-11
0
15
0
5
0
7
0
0
0
0
37
11
0
16
28
33
0
10
-21
1
0
-26
-2
6
0
5
17
20
0
3
-1
12
0
-14
-15
-3
0
5
0
-2
0
-1
0
0
0
0
-3
0
0
6
29
8
0
-15
1
7
0
3
-14
-7
0
-8
-34
59
0
43
-1
-29
0
9
-6
-15
0
-4
0
2
0
-6
0
0
0
0
12
-2
0
-8
4
3
0
-3
-8
-20
0
0
31
5
0
-6
23
-15
0
-6
4
44
0
-67
-17
-13
0
-2
0
8
0
19
0
0
0
0
-28
23
-29
-68
-27
12
-8
-9
1
-39
7
-14
0
-2
-10
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
-85
-75
4
-19
20
67
0
-7
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
-15
-35
-37
-46
19
-1
-13
-6
-8
4
-2
4
0
-1
24
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
9
-63
-35
-22
-35
60
50
8
-34
12
17
0
-10
-36
-2
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
38
-4
51
-10
-24
27
0
-1
52
24
49
18
40
17
22
38
44
20
22
-7
28
40
30
4
1
23
31
0
-52
18
0
0
0
-4
0
16
59
51
34
19
27
48
-21
-34
23
7
9
5
-12
-73
-28
46
19
28
76
33
30
-2
33
25
22
36
50
0
18
26
-48
0
0
-9
0
-7
-23
-32
15
21
-19
63
1
-8
-43
-26
-52
12
10
40
-2
9
-25
20
-4
25
-9
18
6
0
7
1
6
0
4
8
6
0
0
-1
0
26
10
-28
-21
-6
1
-7
28
17
13
9
12
0
-35
31
-20
7
-14
50
-32
2
-8
-3
-17
-3
-1
-9
-11
0
-4
-15
-16
0
0
-20
0
-19
30
0
-25
-19
-4
0
-17
4
29
0
-15
-11
15
0
-14
-11
-1
0
9
-18
-8
0
2
6
3
0
3
0
10
0
-22
0
0
0
0
44
-15
0
-57
-24
36
0
11
-70
19
0
30
31
15
0
-5
0
28
0
1
-2
15
0
-21
-11
2
0
-11
0
-11
0
-33
0
0
0
0
37
0
0
0
-14
13
0
-6
12
13
0
19
-8
6
0
-3
4
11
0
11
-19
6
0
5
-12
25
0
-23
0
-4
0
-6
0
0
0
0
15
23
0
3
-27
-18
0
28
19
-10
0
-17
-19
19
0
2
-7
-7
0
-8
-1
-2
0
-16
-2
5
0
-6
0
1
0
-12
0
0
0
0
0
-33
0
-11
27
14
0
41
6
42
0
-1
4
9
0
45
-5
-1
0
25
-3
-8
0
14
-2
1
0
4
0
-12
0
-15
0
0
0
0
-71
33
0
-13
18
32
0
21
11
7
0
21
29
23
0
46
19
43
0
35
18
23
0
39
14
11
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
-3
-28
20
-16
-4
-57
25
-9
-4
-35
2
5
0
8
-28
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-38
-35
-19
12
-57
39
-14
0
30
38
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
5
4
-9
-4
1
22
24
0
-18
-19
3
0
0
-34
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
2
5
-22
-28
-25
14
-8
-1
23
16
-15
0
-28
5
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
10
28
13
21
18
29
25
20
16
15
31
30
12
5
-1
13
13
-2
3
3
1
-4
-1
0
33
-12
-12
0
0
13
0
0
0
0
0
21
24
-3
8
29
31
22
30
33
13
7
35
25
-5
16
12
11
1
1
-9
13
2
3
-23
0
-7
10
-54
0
0
-13
0
0
0
0
0
5
4
24
-21
-4
7
38
5
17
7
18
4
12
20
7
5
5
-2
17
-3
-1
5
-13
5
0
8
39
0
0
0
23
0
0
0
0
0
10
21
53
-23
1
17
41
17
13
15
41
6
-1
1
-2
-6
-5
-7
-18
-11
-3
-2
-23
-6
0
-6
-15
-11
0
0
-18
0
0
0
0
0
2
25
25
0
-6
4
3
0
3
1
0
0
-4
2
7
0
1
-2
3
0
19
6
0
0
0
29
9
0
0
0
18
0
0
0
0
0
-19
27
0
-27
17
7
0
72
-5
2
0
10
14
0
0
-10
12
2
0
-24
2
0
0
-33
0
-8
0
9
0
0
0
0
0
0
0
0
25
25
0
-28
5
43
0
-24
-8
36
0
14
-17
-17
0
8
-4
-19
0
-3
-8
-7
0
-22
0
12
0
-13
0
0
0
0
0
0
0
0
27
47
0
-59
5
20
0
12
10
13
0
9
0
3
0
4
-5
-2
0
-14
-7
-15
0
-20
0
1
0
-26
0
0
0
0
0
0
0
0
9
9
0
59
-6
8
0
28
-4
3
0
8
4
-6
0
1
5
-5
0
-6
5
-9
0
-10
0
-1
0
-2
0
0
0
0
0
0
0
0
24
-8
0
53
22
18
0
37
3
6
0
1
-10
-3
0
-2
3
-5
0
-14
-5
7
0
-30
0
0
0
-17
0
0
0
0
0
0
0
0
-1
16
34
-11
0
-7
8
4
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
-25
-26
13
0
-19
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
-6
5
-13
0
22
35
-1
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
18
38
24
86
0
-45
39
9
0
1
-15
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
36
-11
50
-29
13
-1
-9
27
-5
-4
-16
-32
-12
3
13
20
5
10
29
61
-28
17
20
0
17
3
53
0
0
3
0
0
0
0
0
-38
22
-14
-12
-50
8
24
43
21
-49
32
39
58
16
23
24
15
-30
12
55
46
-10
23
38
0
17
-31
-7
0
0
-31
0
0
0
0
0
-1
-13
0
1
-29
7
14
83
26
16
64
35
-37
5
26
21
9
9
-18
12
-20
4
-10
3
0
-3
10
21
0
0
-7
0
0
0
0
0
4
15
5
-35
-31
-51
48
-11
8
-1
0
-72
-5
4
13
23
0
-14
18
14
0
-12
-8
-5
0
5
8
-1
0
0
-12
0
0
0
0
0
-12
29
3
24
-44
-13
-15
52
5
-4
-11
1
-10
-3
1
15
1
-14
2
-5
14
-16
-7
6
0
-17
-11
12
0
0
-24
0
0
0
0
0
17
1
0
0
34
-80
-1
58
-20
-15
-24
-47
-1
-16
-21
-8
-1
15
10
-7
9
35
28
-31
0
16
-16
-3
0
0
19
0
0
0
0
0
41
13
0
7
-24
57
0
27
-6
36
0
2
-22
18
0
20
18
-8
0
18
-13
3
0
-41
0
-14
0
-13
0
0
0
0
0
0
0
0
-32
48
0
-6
-21
-36
0
-12
8
-2
0
-10
-1
-4
0
-4
-2
-24
0
2
34
0
0
-1
0
-9
0
-37
0
0
0
0
0
0
0
0
-14
-12
0
-1
-30
35
0
-18
0
11
0
8
-12
-5
0
-20
-14
-2
0
-23
7
-19
0
-21
0
-39
0
-16
0
0
0
0
0
0
0
0
-82
0
0
0
23
-10
0
11
-1
18
0
27
12
4
0
55
10
24
0
13
6
9
0
6
0
-12
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-10
-49
0
11
6
-8
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
-16
17
-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
28
38
8
0
1
-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
10
18
37
0
2
-10
-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
-37
49
49
43
-12
-9
-4
-14
0
-7
-13
14
-16
-19
-29
4
15
-5
6
23
0
-12
58
24
0
0
-17
0
0
0
0
0
0
0
0
0
0
-33
-8
84
31
9
12
-5
27
3
-3
-34
13
4
41
16
-5
17
4
-15
0
9
17
-1
0
0
-33
0
0
0
0
0
0
0
0
0
2
34
17
-10
14
15
17
-2
-10
8
-8
-6
20
-10
0
-3
0
-1
4
0
0
18
26
31
0
0
2
0
0
0
0
0
0
0
0
0
-52
1
24
31
0
5
26
-6
2
2
19
-9
-1
-12
8
-4
-1
-7
-4
2
0
19
-9
-22
0
0
1
0
0
0
0
0
0
0
0
0
-2
-4
57
9
5
7
10
9
-23
-8
2
8
-2
-12
-10
-12
7
9
-13
7
0
25
6
-6
0
0
29
0
0
0
0
0
0
0
0
0
45
79
-5
-16
8
-30
17
-13
2
1
44
-5
12
5
33
-29
-3
-19
2
-11
0
-23
19
-42
0
0
-11
0
0
0
0
0
0
0
0
0
43
32
32
-37
-9
-15
-23
13
-22
-9
-9
17
14
10
-32
12
-8
1
-17
-12
0
0
4
-1
0
0
-30
0
0
0
0
0
0
0
0
0
-32
4
0
14
2
0
0
2
-16
4
0
1
4
-9
0
-5
1
-10
0
1
0
-18
0
21
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
64
-7
14
0
-13
-10
19
0
-15
-19
-12
0
6
6
-23
0
18
0
-38
0
11
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
10
-7
3
0
7
-12
13
0
5
9
8
0
-5
4
-7
0
-20
0
1
0
-71
0
0
0
0
-11
-6
5
-5
-3
-21
-5
6
9
-29
-16
10
0
-25
-21
0
0
0
32
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-23
-8
36
7
33
-37
15
0
1
-16
-1
0
0
6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
10
-9
-34
4
25
-34
-27
31
44
103
0
-7
8
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
23
5
-14
-45
-2
10
-24
15
15
-8
-3
0
6
-16
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-23
-6
39
56
24
4
38
54
23
12
57
28
13
5
59
25
12
27
27
35
-9
22
49
44
-6
22
23
0
-2
10
-27
0
0
31
0
51
37
30
10
5
14
22
5
-24
24
-11
4
12
10
32
72
35
8
33
42
34
17
16
59
17
-1
30
36
0
-10
46
-12
0
0
-3
0
42
-44
61
12
-28
-6
-9
-6
38
9
-12
16
0
-2
33
-26
6
10
3
11
12
3
10
6
-4
3
1
4
0
1
6
5
0
0
-5
0
-3
15
7
-4
-11
-2
-24
-24
-10
-2
-38
-11
13
-5
-13
-4
-4
-13
-8
-13
2
-12
-7
2
-2
-6
-6
3
0
10
-9
-14
0
0
-13
0
31
11
0
-36
6
29
34
14
2
19
18
3
0
20
46
-3
-30
-13
8
-13
1
-18
-9
-17
0
0
-11
-9
0
24
4
-10
0
0
6
0
-16
-2
0
31
-26
-23
-24
20
14
-3
31
-23
6
17
-5
-3
29
15
12
-22
9
-1
1
-10
-6
-3
-16
-17
0
-1
-4
-21
0
0
-31
0
26
0
0
0
27
31
0
-36
23
-2
-37
51
8
3
-9
18
-1
-1
4
8
-12
-9
-2
-6
-11
-19
0
3
0
-11
-6
-7
0
0
-5
0
12
22
27
8
34
15
-11
-44
-10
19
-8
15
4
10
18
-13
-4
-14
4
2
-1
-20
1
3
14
-12
-2
10
0
21
9
15
0
0
-60
0
40
-16
0
13
9
17
0
33
2
32
0
29
5
3
0
16
-6
0
0
18
4
-5
0
10
11
-2
0
13
0
7
0
-20
0
0
0
0
-14
19
0
8
-12
-10
0
36
31
-8
0
52
20
6
0
43
28
17
0
9
-1
18
0
14
-9
-2
0
-4
0
-10
0
-52
0
0
0
0
3
13
27
-5
-23
-27
7
-21
-9
1
-2
-57
0
4
-16
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-7
14
-17
-1
-13
22
-25
0
6
-4
11
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
28
26
-6
2
9
-9
-32
-3
-29
-26
-35
0
8
-21
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
20
28
31
30
-19
-22
-29
2
-14
27
10
0
-3
-30
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
11
11
-27
26
-42
-37
-21
-18
-27
-41
-41
37
-14
-12
-33
23
35
-19
-37
-89
15
27
40
13
15
16
89
0
-4
53
-1
0
0
27
0
32
19
10
33
-45
16
-30
27
-7
-13
3
13
30
-109
35
32
23
27
16
-49
-10
46
16
-47
9
-11
34
0
0
9
24
21
0
0
39
0
-24
-9
61
-29
34
60
19
4
-3
50
16
11
-9
-66
-68
-19
-8
-38
-17
4
16
-4
-4
-20
-6
-3
6
9
0
-2
-2
0
0
0
-8
0
39
-31
31
10
23
-42
10
-32
0
-45
15
-20
-6
-23
24
-25
-4
-7
25
-8
-6
-4
20
12
8
7
-1
0
0
10
-8
8
0
0
-5
0
19
21
0
9
2
21
30
2
-1
-14
19
26
-3
1
17
2
-8
-11
-3
-3
-3
-6
-3
-9
-15
14
-11
-9
0
32
3
-27
0
0
4
0
15
11
0
-19
-10
19
-1
-21
-11
-32
16
-10
2
-6
20
-13
6
1
-29
5
11
8
12
-2
-8
12
7
-20
0
-2
3
-1
0
0
-8
0
51
0
0
0
17
50
0
4
23
-19
13
36
4
6
18
8
1
16
8
-17
-27
0
2
-15
-1
10
5
-47
0
0
12
3
0
0
-1
0
11
8
57
-18
11
-19
-3
-2
8
-51
-23
9
20
-20
15
-14
9
-24
14
8
-1
-12
15
-6
0
-6
6
0
0
14
2
2
0
0
15
0
-17
24
28
-13
3
-71
-8
-68
-13
27
-49
32
7
-13
9
20
9
-4
46
19
-25
-38
18
22
-11
-21
32
-10
0
-25
32
38
0
0
72
0
31
7
0
87
54
-2
0
52
-25
22
0
56
5
-31
0
20
26
4
0
-3
-5
12
0
14
2
3
0
-6
0
-10
0
-45
0
0
0
0
-6
7
5
15
-2
0
-5
-23
-1
-4
-16
-3
0
1
-60
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-21
19
7
-3
-5
-39
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
-5
-8
-32
-11
-5
-2
9
-32
0
14
-2
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
-6
-1
0
-23
1
15
-33
0
9
17
35
0
-1
26
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
14
7
11
9
7
3
25
-37
-28
-2
-9
1
-11
11
-40
10
30
21
-12
11
27
13
-10
-27
16
9
43
0
18
8
-7
0
0
-7
0
-7
25
18
75
-20
60
-12
73
-9
32
11
-3
-12
-24
-41
-3
24
0
12
-1
6
-32
-13
-1
22
-9
23
-10
0
-15
-7
0
0
0
13
0
23
9
-11
19
39
-36
-24
10
-15
-16
-1
9
12
-18
-34
3
-12
-16
-16
-14
-2
0
-21
-2
-26
14
14
-25
0
-6
0
-3
0
0
-6
0
43
37
20
43
53
52
68
-32
-58
27
30
-28
9
0
10
-12
20
34
4
-35
-2
-13
4
-24
4
-2
5
11
0
-12
4
-10
0
0
-6
0
15
55
0
-3
23
36
18
-39
-4
28
34
-30
-4
13
11
-3
-7
-5
1
-8
-6
-9
-5
-19
-35
5
1
29
0
1
18
-1
0
0
16
0
33
85
0
-30
-6
8
40
-19
-16
-9
6
3
-1
7
17
-49
3
4
47
-80
-14
4
-14
-27
11
18
14
23
0
-2
9
0
0
0
2
0
55
0
0
0
7
29
0
-31
-9
1
10
-65
6
44
-14
14
-5
34
28
-7
-24
-3
-2
-13
-2
11
6
0
0
10
2
7
0
0
-5
0
25
18
4
23
3
27
32
13
0
-23
-4
-23
3
26
4
-69
-2
1
24
-99
-8
-6
8
-42
2
4
8
3
0
1
-9
21
0
0
5
0
-5
22
-9
53
23
48
-5
-15
34
53
43
-105
-12
-14
-46
-4
4
4
-3
-16
7
4
2
-12
-1
-2
-8
15
0
-8
8
4
0
0
5
0
8
65
73
69
-23
2
62
5
-5
-3
0
-1
-18
25
-8
-15
-35
-7
1
93
24
-31
43
-44
41
-15
-34
-47
0
-34
-67
-75
0
0
-10
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-7
-5
1
-20
7
-5
22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-15
6
21
29
-23
17
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
5
9
12
12
14
10
18
15
16
20
-6
-3
36
57
25
8
-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
11
10
16
18
20
11
12
15
8
18
4
-3
35
29
42
12
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
14
5
7
15
11
13
19
15
38
12
26
49
28
74
27
62
28
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
17
18
12
-3
7
18
10
18
23
18
28
37
41
7
34
51
45
101
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-10
19
4
23
23
1
41
25
38
8
31
44
81
71
86
60
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
6
31
31
5
27
9
52
9
33
23
37
24
40
68
53
21
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
1
1
-6
-30
-11
42
-5
14
23
29
34
49
32
28
75
65
51
32
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
-1
1
-37
43
6
36
-22
23
25
13
22
11
59
87
29
33
84
-22
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
31
43
-31
50
33
27
37
-20
5
-5
63
57
13
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
25
-1
21
-15
16
4
21
2
4
-3
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
2
-2
0
-4
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-15
-31
-27
-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
-35
-7
-45
-9
4
-11
-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
-7
-32
-34
43
31
-8
-15
-45
-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
-37
37
-16
32
-8
35
-60
-8
8
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
24
16
-39
4
-16
34
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
2
0
0
0
2
0
3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
-22
-45
17
73
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
0
-2
-47
-47
12
41
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
-9
-38
28
12
-25
-39
-2
9
-26
-20
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
-2
11
-26
-84
-21
-12
40
42
26
-28
20
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
4
4
-21
-61
-35
8
-41
-13
60
19
-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
3
-8
4
-9
-2
-19
33
-9
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
16
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
-2
5
-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
-43
27
24
-36
-48
1
-7
-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
-67
20
-6
-8
-14
4
-48
-8
34
1
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
4
-37
-29
-25
-8
-37
-7
-19
45
-4
-26
-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
-2
-43
24
-1
-1
-19
-11
-7
3
49
48
33
-31
-21
-2
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-22
-17
44
30
7
-7
-13
58
-58
-19
38
8
1
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-38
2
-58
62
57
46
16
-33
22
-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
9
-18
20
10
48
0
-12
-11
62
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-3
0
2
9
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
27
-24
-23
-6
8
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
15
-9
-40
-42
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-58
-6
12
-20
29
23
-5
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
-77
-23
-13
-64
23
7
-25
-1
46
21
9
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
2
19
7
-12
51
12
-24
-29
-25
6
-25
9
32
18
-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
-7
-5
8
-18
-56
27
-20
30
-19
81
-3
-32
21
51
-19
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
2
-11
-30
19
13
7
-12
33
34
-63
-25
-2
-27
-11
21
-1
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-31
-7
-2
-36
41
-55
25
4
4
84
0
41
3
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
5
-22
-81
52
10
-9
39
16
42
58
-16
10
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
-48
-37
23
-17
19
64
-2
8
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-2
-2
7
2
1
1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
7
-36
4
15
-4
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
-6
13
-7
36
-39
-3
59
-70
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
-22
-5
19
-28
-9
-32
27
2
33
-1
-49
-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
-55
15
-14
27
-26
9
-34
18
16
26
48
-22
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
8
-16
-7
-7
-42
-11
-26
-44
30
25
74
26
53
24
-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
-40
-67
-41
46
-7
3
43
-29
43
27
30
0
12
-37
21
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
-37
-16
0
15
-5
24
-22
23
22
4
48
-13
-29
-13
5
7
-17
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-32
-22
-16
-2
-60
-15
-36
27
-16
-2
-4
-4
-39
9
26
10
-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
-4
21
-24
-49
0
-3
11
-28
3
-23
2
30
-23
-17
-1
56
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
-4
-25
29
-54
49
9
-32
30
14
41
5
-41
-3
30
6
-4
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-2
-26
-20
25
-54
1
9
26
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
-6
12
-3
35
3
0
-7
7
-2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
-2
0
-6
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
47
66
43
5
-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
19
22
68
61
36
58
87
-45
-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
46
9
23
14
4
29
58
39
39
35
-38
-34
-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
28
6
12
18
-11
23
-9
17
33
31
3
29
-41
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
11
-9
21
1
2
10
7
29
19
40
10
-5
-30
12
31
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
61
9
4
22
22
17
17
8
20
5
-13
-2
1
31
11
20
26
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
-4
32
24
21
-1
11
8
-8
15
-11
21
33
-16
36
18
20
61
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
-1
15
38
-21
-33
-21
8
13
-8
-21
-13
10
-9
15
-44
3
72
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
43
-10
7
5
-10
2
39
-1
-4
-38
-14
54
1
3
56
-40
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
28
-17
4
-5
3
39
22
-63
-28
33
26
24
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
-17
15
-34
7
15
15
11
43
-15
-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
6
1
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
33
31
32
28
40
-31
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
11
16
6
17
20
12
45
19
15
10
52
-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
-1
2
-1
-5
10
10
-1
-9
10
13
-6
14
16
40
-6
14
-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
-2
-7
-2
-7
3
2
4
9
0
-4
-4
-15
-20
17
14
45
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
9
-4
0
-7
-15
1
-26
-1
6
-18
-11
6
33
-7
21
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
8
-3
9
15
4
5
12
7
-5
-4
1
25
8
26
-26
-9
-15
32
-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
-25
6
-10
19
6
-6
5
16
27
-26
-15
21
-2
72
2
31
-15
-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
-1
7
-4
20
5
8
6
28
17
-3
-32
1
-14
10
13
10
-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
-7
-21
39
-31
10
14
23
35
32
54
21
-45
27
9
6
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
-18
16
-25
-13
21
0
9
-1
-14
-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
3
0
0
1
15
-7
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
7
0
21
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
-2
3
2
3
5
1
-2
23
8
-1
6
87
-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
8
6
7
7
4
12
1
5
-2
-7
43
41
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
14
9
11
6
10
16
30
15
12
27
66
86
47
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
19
10
10
21
22
31
31
22
43
29
38
49
35
-7
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
24
29
10
33
47
16
26
7
20
58
27
14
94
-44
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
57
-19
34
36
29
32
52
10
39
19
38
-21
10
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
15
9
92
7
-10
0
4
-2
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
-15
4
14
14
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
11
9
2
7
10
-8
31
39
-41
20
-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
30
33
27
29
17
27
26
14
-13
-11
-13
-2
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
31
37
35
50
48
15
24
48
16
47
-28
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
55
64
66
40
63
72
48
15
-11
78
43
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
61
72
113
54
39
83
-41
32
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
36
-2
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
78
13
-4
74
9
0
-42
28
9
-2
-1
0
-3
3
-82
0
4
6
0
7
-2
-28
-1
-2
-2
0
2
0
26
-2
0
0
0
0
0
0
0
46
0
2
-2
0
0
-34
0
0
1
0
2
59
9
0
9
0
0
59
-8
1
25
-4
2
0
36
87
24
0
48
0
56
16
-33
0
0
-30
15
8
-1
-36
-6
0
-54
0
28
2
0
0
0
22
0
10
0
-2
0
0
5
0
-7
0
-2
0
0
0
14
-21
0
0
-9
0
0
0
1
-3
17
26
20
53
-4
0
21
-4
8
0
28
-1
0
25
21
3
-20
29
18
0
49
-37
-4
2
12
0
2
-19
4
0
-1
-77
-14
0
-28
-20
0
0
26
4
0
0
-26
0
-10
-7
14
-4
0
22
0
0
8
11
19
0
50
-38
-19
0
0
0
2
3
-12
-8
11
0
-2
73
-29
-4
22
26
-3
-10
-20
26
0
-2
69
-2
-15
-27
-2
2
62
-26
-21
0
8
-21
0
59
-52
7
-6
3
-15
0
0
-2
14
11
0
12
0
0
0
-7
-4
0
-8
0
-6
0
-2
20
0
12
0
0
0
0
0
12
17
-26
19
-3
0
-2
-7
-97
-11
-27
21
0
0
-2
-7
-24
-6
46
0
-3
29
-62
1
-28
36
0
1
-3
-16
0
-9
-52
-16
0
0
-19
-2
-18
16
-2
-7
0
-7
0
0
2
31
0
0
20
0
-55
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
-2
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
6
0
-4
0
0
67
0
0
0
1
0
0
-74
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
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-23
-3
-2
-2
0
0
-12
0
0
0
72
0
0
1
-2
0
38
1
0
0
3
-5
0
0
-8
0
0
-1
-18
0
0
0
0
0
0
-37
0
0
12
0
0
0
32
0
16
0
0
0
0
13
0
0
0
0
0
0
43
0
-1
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
-1
0
0
0
-46
0
0
0
0
0
0
-12
0
0
-2
0
0
0
4
0
0
-1
0
0
0
-24
0
0
0
0
0
0
20
0
0
0
0
0
0
-6
0
0
0
0
0
0
-28
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-1
0
0
0
0
-6
0
0
0
0
0
0
-9
0
-4
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
-25
0
-7
0
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
1
12
0
0
5
3
0
0
-1
0
0
0
0
0
0
0
10
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
-25
0
0
0
0
-10
-4
13
21
20
0
-7
4
0
-1
3
47
0
0
48
-1
0
0
22
0
0
-1
8
0
10
-11
0
0
-8
-1
0
0
15
0
2
0
3
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
8
0
0
0
18
0
14
61
47
-18
0
0
3
22
0
2
21
0
0
-16
9
0
-24
13
-10
0
3
-24
0
0
-18
0
0
9
-23
0
0
8
12
0
0
-3
0
0
0
0
0
0
20
0
-39
-9
-1
0
0
-70
0
0
0
0
-6
0
-15
-1
2
0
0
0
0
37
-11
0
6
0
0
11
29
0
-8
13
6
0
0
-27
0
2
1
0
0
-9
3
0
0
-11
2
0
0
8
0
-1
0
0
0
0
-4
0
0
1
-8
0
0
53
0
0
0
0
0
0
-64
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
6
0
0
0
0
0
-4
0
10
3
0
0
0
39
0
-9
0
-1
0
0
-22
0
0
-2
0
0
0
-13
0
6
0
4
0
0
-5
0
0
0
0
0
0
55
0
1
11
-2
0
0
3
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
-25
19
-46
-25
21
-20
26
1
-10
35
27
19
3
13
18
-18
17
-18
-18
-8
-16
-18
23
-51
-68
-47
-50
-9
48
-51
-6
-55
5
2
20
-33
-27
-44
-5
-46
2
-16
-15
-48
-2
-55
-20
-35
32
28
49
38
31
-1
-17
34
27
10
8
-14
42
2
17
7
-63
-6
-61
6
-3
-37
-13
-17
-30
-54
-18
-34
-36
-13
5
-41
10
-50
-15
-7
-18
-18
-47
-47
-12
10
-4
-6
0
-71
13
-10
31
-8
-60
-43
-18
-25
-63
-24
-21
-49
-23
2
-34
-21
-5
11
-16
22
12
11
27
-17
-21
19
34
74
37
33
17
24
4
-14
-26
-39
5
-1
-76
-19
-2
-30
-4
-23
-19
-13
-22
-5
-15
-29
-7
-18
-21
-46
-2
-21
-25
-25
35
9
-43
-4
34
-1
-5
-18
14
-28
0
18
-19
-28
-10
-11
-15
23
-41
19
-22
-48
7
-13
8
-38
43
45
13
6
-4
11
-37
-2
-3
-9
-11
-23
6
10
-5
28
23
-35
-13
-5
-32
-4
-15
-17
-3
-22
-17
3
-16
-6
-39
-42
-13
-17
-10
39
-27
-20
-20
-5
-5
-64
-6
-21
-17
15
-10
5
19
-26
-42
-38
5
-51
2
-16
-42
-16
-18
11
15
-18
-29
0
16
-39
-24
-18
-2
-23
-6
-4
12
-38
-16
11
20
-33
32
-18
-13
-29
-2
-23
-8
-12
-13
24
2
-11
-22
-6
11
-13
12
-22
2
-70
5
12
-28
-28
-75
-5
-46
-30
-26
-28
6
-24
3
-46
4
7
40
-45
-21
-35
-2
-36
-4
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
15
1
0
5
0
0
-122
14
0
-2
0
0
0
0
5
-1
9
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
0
0
0
-20
0
0
-4
0
0
-7
0
0
0
0
-4
22
96
15
1
0
0
39
-9
-3
-6
-16
0
3
60
-2
-7
0
76
0
7
6
22
0
0
0
1
-2
-3
-19
0
1
0
0
18
0
-2
0
0
-2
0
-4
0
0
0
0
0
0
7
0
0
0
0
0
0
-7
0
0
25
0
0
0
0
0
26
-61
36
59
0
0
7
9
0
0
42
0
0
0
19
1
-41
-27
-6
0
-32
22
0
6
-33
0
4
7
-35
0
0
2
0
0
0
-19
0
0
0
0
0
0
-74
0
-23
0
-5
0
0
-2
0
0
0
0
0
0
-35
16
-13
0
0
0
0
-25
86
0
6
0
0
0
64
0
-13
20
37
0
0
19
0
-1
0
0
0
15
-20
0
39
29
0
0
0
-63
0
0
3
4
21
0
12
0
0
3
-1
0
0
-57
0
0
0
0
0
0
-7
0
0
0
0
4
0
-25
0
-1
0
0
0
9
-32
-6
0
0
0
0
1
-37
10
44
0
0
0
0
2
6
-11
0
0
0
0
-13
0
52
17
0
0
0
-21
0
0
9
30
0
0
31
0
2
-2
13
0
0
-4
0
0
0
2
0
0
26
0
-5
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
0
0
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
49
0
0
0
0
0
-3
-15
0
0
0
0
24
0
0
0
-10
0
0
6
0
0
0
-24
0
4
2
-2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
6
0
0
0
0
0
9
0
0
-3
0
0
0
-2
0
0
-7
0
0
2
0
0
2
1
0
0
-3
-3
0
0
0
0
0
-3
10
0
0
-12
0
0
0
12
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
-9
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
-1
0
0
0
7
0
0
0
0
0
0
52
0
0
0
0
0
0
14
0
0
0
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
4
0
0
0
0
21
0
0
0
0
0
0
-10
0
-4
0
0
0
0
3
0
0
-3
0
0
0
37
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
21
0
0
0
0
0
-8
-20
0
0
0
0
-11
0
0
0
-51
0
0
-1
0
0
0
-1
0
0
5
0
0
0
0
0
0
18
0
0
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
14
0
0
0
0
2
39
0
10
-7
0
0
-4
60
-2
0
39
0
0
26
4
0
55
13
0
0
23
74
0
0
6
0
0
-11
-4
0
0
0
0
0
0
19
0
0
0
0
0
0
15
0
-21
0
0
0
0
44
0
0
0
0
0
0
5
0
0
0
0
0
0
6
1
0
0
0
0
-10
34
0
0
-1
0
0
0
-3
0
0
-26
0
0
0
-23
0
0
2
0
0
0
10
0
0
-3
0
0
0
-24
0
0
-3
0
0
0
12
0
0
0
0
0
0
-40
0
0
0
0
0
0
18
0
0
0
0
0
0
-7
0
0
0
0
0
0
-48
0
22
1
0
0
0
29
0
0
0
0
0
0
1
0
-3
-1
0
0
1
-56
0
0
0
-1
0
0
-33
0
0
0
0
0
0
-46
0
0
0
0
0
0
-2
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
-27
10
-18
1
20
-47
4
-52
-23
-62
-24
-27
-7
-22
-12
-14
39
-17
-31
2
-23
-25
3
-29
-12
-14
-39
-42
14
-45
-16
-7
-32
-16
-28
1
14
1
-5
0
-20
43
0
6
48
43
-36
4
13
-31
-26
-44
-48
-4
12
24
23
-75
11
31
47
-24
25
2
-3
-18
-2
-25
-13
3
-27
-10
-17
-78
-36
-14
-30
-5
-28
-27
-62
-33
-10
-17
12
-35
-60
-41
-29
-52
-28
-17
-22
-37
-29
9
-37
-31
1
-6
-3
-23
-24
-5
-30
-74
38
32
-20
-3
18
84
34
29
22
21
18
29
-25
23
5
-19
3
-7
8
-32
-9
-1
17
13
13
-97
-31
-21
-18
16
-25
-28
-25
-4
6
-14
7
12
-21
-39
-8
-16
-7
-54
-16
-45
5
9
18
-3
-58
-100
-27
17
-36
-19
12
25
10
-20
28
14
-33
37
21
82
46
-103
2
19
11
8
-19
12
-12
17
-11
5
0
-8
21
4
-15
-25
-7
24
-30
0
-13
-26
2
-9
6
5
-3
-12
-20
12
-6
1
-24
-8
-6
17
-32
-3
-28
-14
-32
-8
-4
-1
-12
-63
-55
-39
5
-13
0
3
-4
-65
-34
25
-6
-2
36
-7
-67
-10
32
-5
55
13
-11
-10
-5
29
-13
-20
5
2
16
-7
13
-5
5
-7
-72
-7
10
-34
3
-19
-9
-33
19
16
-1
21
5
-7
49
-12
-1
28
-6
-67
-5
-14
10
-15
19
6
-37
1
54
-26
-58
-1
-14
-28
-10
59
29
13
-15
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-6
0
0
0
0
-11
-27
-23
2
0
28
-4
24
-4
-1
0
0
0
0
-16
0
-16
15
0
0
28
0
0
1
0
5
0
0
-6
0
0
3
0
0
1
0
2
0
7
7
-26
0
0
-40
0
25
-1
2
50
0
-23
0
15
17
-43
-3
24
-35
16
0
2
-11
-54
-12
-33
38
10
0
-6
-1
-15
-6
11
-1
0
2
-6
1
-3
2
0
0
9
0
-25
0
9
0
0
1
10
-57
0
0
46
0
0
0
9
9
53
20
43
-7
18
0
6
9
-4
0
14
0
0
1
0
2
-16
0
31
-1
14
-32
0
-13
-24
7
36
-9
-28
0
0
-49
-18
-7
-1
-26
0
0
5
0
22
0
4
0
19
9
3
0
0
-17
0
-9
0
21
0
0
15
-8
-4
0
-9
0
0
15
1
0
13
21
28
31
15
-8
-1
9
10
7
-4
0
-8
14
35
0
3
3
-35
0
-2
27
22
16
-21
-14
6
7
-43
10
6
0
-6
0
0
21
30
17
0
-34
0
0
3
4
-12
0
-10
0
3
0
11
-60
0
1
0
0
0
0
-9
6
28
-3
1
0
0
0
-12
8
-1
-8
9
0
0
17
0
9
27
14
-30
-10
-4
-6
-1
8
17
21
-10
-3
-30
0
58
-13
-26
-9
2
-13
0
48
-17
3
13
0
18
0
0
-9
-11
6
0
10
0
24
0
0
-8
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
-24
7
0
0
0
0
0
-1
-4
0
0
-3
6
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-16
0
0
0
0
0
-3
23
2
1
0
0
-87
0
0
0
14
-4
0
-18
2
0
0
43
0
0
27
57
0
0
-7
3
-2
-17
0
0
0
-8
0
22
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
-1
0
0
8
0
0
0
11
0
39
-35
100
-17
1
0
-32
12
0
0
17
0
0
-54
-27
0
-52
22
-10
0
-8
-30
0
12
1
0
0
-11
-12
0
0
-2
0
0
0
-1
0
0
35
0
0
0
0
0
51
0
1
0
-1
-24
0
0
0
0
0
0
20
0
1
0
0
0
0
54
48
6
0
0
0
0
-17
-7
12
26
0
0
-3
-6
0
0
-10
0
0
-23
5
0
32
4
-1
-13
-6
11
0
1
-3
1
-2
0
-27
0
-2
15
-31
17
0
5
0
0
-1
0
-1
0
58
0
0
0
10
9
0
47
0
0
0
0
0
0
49
8
13
0
0
0
0
12
0
-51
20
0
0
0
37
0
-16
4
0
0
0
-33
0
-8
-8
0
0
0
-4
0
0
3
9
0
0
-43
0
28
-2
-2
0
0
-11
0
0
6
13
0
0
-43
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
56
0
0
0
-3
0
17
-6
2
0
0
0
-3
6
0
0
0
0
0
0
0
0
-2
0
0
0
-1
-6
0
0
0
-57
0
0
6
0
0
37
0
0
0
0
-1
1
19
0
9
0
0
-34
0
0
0
50
4
0
14
0
0
0
34
0
0
-70
1
0
0
-11
-20
0
9
-25
0
0
-7
0
7
0
0
0
0
9
26
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
40
0
0
-20
0
0
0
-4
0
-24
58
25
9
-2
0
9
-9
0
0
-18
0
0
16
16
0
-8
-14
-1
0
-29
-41
-2
0
18
0
2
-1
16
0
0
4
-5
0
-3
7
0
0
21
0
0
0
-4
0
42
0
7
-9
0
64
0
0
0
0
0
0
-42
-8
11
0
0
0
0
-6
24
0
0
0
0
30
-105
-4
0
-4
6
0
-18
13
0
0
16
0
0
1
-1
-2
0
-24
-12
0
1
3
0
0
-2
0
0
0
-15
0
15
0
-2
0
0
-51
0
0
0
0
0
0
7
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
3
0
0
0
0
-29
0
2
0
0
0
0
29
0
0
8
0
0
0
-40
0
0
0
-9
0
0
-27
0
2
0
1
0
0
-59
0
0
-12
0
0
0
3
0
3
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
-4
49
-10
5
20
2
12
-46
-2
20
-1
54
-14
-28
10
-13
-8
-2
-1
3
-6
6
36
4
8
10
-19
-8
0
21
0
-2
0
0
-4
0
0
-12
0
0
0
6
-21
50
34
5
14
0
-3
-79
-46
-9
1
5
-38
-14
39
13
-9
-7
40
16
38
-7
5
-41
-12
4
-22
-21
-1
-32
14
0
-40
-6
-3
-2
-25
22
-2
-10
-22
-7
21
-71
0
11
-16
8
-8
1
-4
6
0
26
17
-18
-1
-3
-24
0
-2
14
-13
5
22
27
8
-10
-3
0
-18
17
37
8
-9
-2
-1
-28
2
-34
-5
-11
4
27
19
-12
17
-84
-39
4
-11
9
-7
21
26
-8
-8
-6
26
0
0
14
-24
-13
-23
-24
-2
3
9
31
-7
27
-42
-7
-1
29
-14
6
-47
1
2
-37
10
0
-17
5
1
30
4
7
21
-17
-1
1
15
38
-27
-10
4
17
-19
10
14
-62
4
2
-22
5
-18
16
-18
-15
24
34
1
-1
56
-32
-5
24
-2
-2
11
-14
-10
-18
10
5
3
0
0
-6
-11
-39
16
-13
-1
0
-2
47
19
-11
0
-1
-3
0
0
11
-7
15
28
15
5
-13
-72
0
-77
-35
9
0
-3
6
22
22
2
9
-21
0
12
79
-12
-20
-35
-27
16
22
22
-9
-9
-4
26
-28
-7
-15
7
1
2
-29
-6
-5
-13
29
-6
6
-37
2
-16
5
8
-6
0
-35
-27
-18
-60
0
-9
-20
7
-4
-46
-2
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
-24
0
-1
-8
66
6
0
-7
0
-12
-7
10
0
0
0
0
8
0
1
-3
0
0
0
-8
0
0
0
-13
0
0
-13
0
0
-6
0
0
0
0
3
0
25
0
4
0
0
-20
10
-3
0
-27
0
0
-3
0
0
0
27
0
-2
6
-8
0
0
25
0
10
-44
-8
0
-8
4
0
-26
10
-7
0
0
-12
0
22
-10
-3
0
0
0
17
-9
0
-13
0
0
0
0
5
0
0
-30
0
0
0
8
0
-12
-61
58
-12
0
0
-4
12
0
0
-12
0
0
3
14
0
40
16
0
0
-33
-22
0
3
-36
0
-2
-22
-48
0
0
-33
0
0
-21
6
0
0
21
0
13
1
16
0
-11
11
2
7
0
36
11
0
0
0
9
0
-19
31
-10
0
0
-3
0
-1
15
0
2
0
0
17
20
0
4
53
1
-2
-42
-14
0
15
22
0
0
-16
17
0
-6
22
0
0
0
18
0
-1
-5
0
11
-3
-12
0
-1
20
0
-4
0
-3
0
0
74
0
30
0
51
0
0
6
0
-7
0
-17
2
0
0
0
6
0
-34
24
7
0
0
0
0
30
0
-32
-6
0
0
0
-14
0
-4
1
0
0
0
-6
0
6
-3
0
0
11
6
0
-15
-2
0
0
0
52
0
-46
-46
0
0
0
-2
0
0
0
13
1
0
47
0
-11
-10
0
2
0
-36
22
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
7
10
0
0
0
0
0
3
1
0
8
3
0
0
-2
-6
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
-5
0
0
0
0
0
4
0
0
0
0
0
-3
15
0
-1
0
0
25
0
0
-8
9
-1
0
6
0
-16
0
-2
0
0
-28
7
0
0
-7
4
0
38
-9
0
0
-1
0
0
-38
0
0
0
0
-16
0
-16
-1
0
0
0
-6
-16
0
-9
0
0
0
-1
6
0
0
6
0
0
0
7
-1
12
48
-15
-5
0
0
-52
36
0
0
15
0
0
25
93
0
4
-53
-7
0
-55
12
0
-12
-31
0
0
57
4
0
-8
11
4
0
-11
8
0
0
-17
-2
0
0
-9
0
-117
-1
-11
0
0
0
0
0
0
1
0
0
-5
16
1
0
-9
0
0
15
19
0
20
4
0
31
49
-9
18
34
29
0
63
29
-3
8
-21
0
0
26
36
-3
11
68
-8
0
-4
3
0
0
36
0
0
12
-13
0
0
-8
-1
0
0
-23
0
-2
-6
0
0
0
-80
0
0
0
0
0
0
-11
0
0
0
0
0
0
35
8
-4
27
0
0
4
47
0
-34
13
0
0
-1
47
0
2
1
2
0
-6
-2
1
-13
14
0
0
-32
21
0
15
29
1
0
0
-22
0
3
-27
0
0
0
-28
0
0
7
11
0
0
-19
0
-16
-3
0
0
0
-1
10
0
0
13
0
0
0
0
0
0
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
-6
26
-1
6
18
24
-9
0
-11
-31
-16
-9
1
6
-8
26
-20
-63
0
36
0
4
1
-2
-52
0
17
-5
0
0
-6
-33
-20
-40
9
-21
-41
6
13
-24
-20
46
-20
10
25
-16
-20
-10
8
7
-25
5
23
-5
12
13
8
-1
-5
47
14
21
-8
-11
-22
29
10
31
-19
8
0
-16
-8
9
42
15
-2
-1
-2
-28
-5
-4
-6
-1
0
14
-23
-9
0
-4
-16
0
11
-6
-14
-15
14
-3
-33
21
-39
-4
7
16
-17
5
19
-10
7
-8
7
7
16
4
0
8
-11
17
-2
13
-3
-17
-9
10
-12
-10
-8
-6
-19
31
9
-2
0
-21
-3
23
-6
1
8
-4
0
-23
10
17
-2
-2
40
6
14
-12
-42
0
4
-11
2
0
42
0
9
4
-12
1
-39
-20
9
4
10
25
-46
-3
3
16
8
3
-25
6
28
3
11
-3
8
-10
-9
31
4
-18
-12
-13
-9
-7
13
2
-2
-8
-2
-2
-18
11
-3
14
-3
2
-2
4
-6
-41
10
-4
-4
-12
-2
33
5
4
0
-20
24
-2
0
9
2
-3
1
-80
46
5
-1
-4
-16
-14
63
17
-1
-9
21
-65
-11
50
-75
13
29
26
27
-8
24
-34
21
-25
-15
18
-19
-35
-22
35
20
16
-6
-11
-8
3
-8
24
39
24
-10
-4
4
-20
1
29
-1
1
-6
-19
-14
64
48
0
-32
36
2
10
-42
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-4
9
-11
-4
18
-50
4
22
0
0
2
0
-2
0
4
0
0
0
0
0
0
1
0
-15
0
0
-12
0
0
-3
0
0
0
0
0
8
35
0
-10
0
0
34
9
4
6
6
6
-2
-42
32
-2
13
-28
-19
17
16
0
12
7
2
38
-26
-55
-10
0
12
21
-4
29
-7
8
-1
1
-4
-6
-32
10
-8
0
0
-1
3
-4
0
-4
0
0
0
-28
-24
0
0
-20
0
0
0
-10
0
-31
6
47
8
28
3
-40
5
1
0
-25
-2
0
12
-7
0
55
24
-33
4
-18
0
3
82
-25
2
-21
43
-13
0
7
-22
27
0
7
17
0
-1
-28
0
-9
0
14
0
-38
-3
13
0
0
-9
0
0
0
0
-45
0
19
3
-22
0
45
0
0
-39
-43
-7
14
0
-1
10
22
-9
-23
-9
-22
0
-9
15
0
2
20
0
-3
8
0
0
2
33
-97
-5
-25
3
0
-3
-36
24
-5
2
-16
0
1
22
-57
-2
0
5
0
0
6
0
11
0
-16
0
0
0
-7
-1
0
26
0
0
0
0
0
2
-34
-13
0
0
18
0
-4
17
-19
56
-15
0
0
-6
-26
0
-53
15
20
1
48
0
-1
19
52
1
9
2
4
4
-2
19
44
0
3
0
0
8
-14
-10
2
0
4
0
0
-10
22
2
0
-5
0
-54
0
7
-5
0
7
-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
9
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
-4
0
0
0
0
0
-7
44
0
0
0
0
-22
0
0
0
29
0
0
-13
0
0
0
-4
0
-23
43
-15
0
0
9
-3
1
52
95
0
0
36
0
9
-1
-1
0
-1
-3
0
0
0
-2
0
0
0
0
-7
0
0
0
0
0
7
11
0
0
32
0
0
0
-6
0
7
-17
42
-28
0
0
40
37
0
0
-20
0
0
-39
-33
0
-32
-51
-67
0
-28
-90
0
-9
-4
0
0
-4
34
0
27
12
0
0
0
26
0
0
-1
0
0
0
-17
0
-37
0
34
0
0
-26
0
0
0
0
8
0
-11
6
-4
0
0
0
0
33
-16
-11
3
0
0
11
49
0
9
93
53
0
0
-20
0
-1
-24
0
0
-4
-25
0
-18
-47
7
1
0
2
0
0
25
0
0
0
56
0
0
0
17
0
0
-15
0
0
0
0
0
0
-54
0
0
0
2
1
0
-3
0
0
0
0
2
0
17
1
0
-1
-3
0
0
-6
0
-25
0
0
0
0
-41
0
1
1
0
0
0
-17
0
20
-1
0
0
16
-24
0
-2
0
1
0
0
3
0
3
-1
0
0
0
-9
0
0
0
-2
0
0
-21
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
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
-11
0
0
0
0
0
-1
-58
0
1
0
0
36
12
0
0
12
0
8
-83
0
0
0
28
0
0
40
-15
0
0
-1
7
-1
6
-12
0
0
6
0
0
1
0
0
0
0
13
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
10
0
0
7
0
0
0
10
0
-61
45
6
-13
0
0
1
-19
0
0
-16
0
0
3
49
0
5
-40
1
0
69
-25
0
0
13
0
0
12
48
0
0
0
-9
0
0
-48
0
0
9
0
0
0
44
0
-9
0
-4
0
0
37
0
0
0
0
0
0
-52
-7
19
0
0
0
0
-34
-1
0
2
0
0
-7
2
-2
0
-4
3
0
0
10
0
0
5
0
0
-2
-5
1
4
-3
22
0
0
24
0
0
2
0
0
0
17
0
0
-3
-6
0
0
-37
0
0
0
0
0
0
53
0
0
0
0
0
0
26
-1
0
0
0
0
0
-3
0
0
0
0
0
0
-3
1
6
0
0
0
0
-5
0
0
0
0
0
0
-5
-7
0
11
0
0
0
33
0
-7
-7
-7
7
0
-66
0
0
-1
0
1
0
-23
0
0
0
0
0
0
-33
0
-10
-7
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
7
3
10
0
28
-4
-6
-4
-6
0
0
0
0
0
7
0
0
0
0
0
0
0
0
40
0
0
-4
0
0
-42
0
0
0
0
-2
13
37
0
1
0
0
-25
29
0
1
-29
19
0
-24
0
-3
0
24
0
4
10
-6
-7
0
-34
33
28
-1
65
0
4
-12
0
4
6
-16
0
0
0
17
-20
4
10
0
0
0
0
9
0
10
0
0
0
0
1
0
0
-44
0
0
0
14
0
9
-37
-17
17
0
0
-5
3
0
0
-12
0
3
38
1
0
46
17
1
0
24
-3
-13
2
-18
0
10
-13
34
0
4
-7
8
0
0
-30
0
0
0
0
0
0
1
0
58
0
-19
0
0
-1
0
0
0
0
9
0
22
-20
-7
0
0
0
0
-9
82
3
0
0
0
-3
-11
48
1
-36
26
-3
0
-35
0
0
-14
0
0
-2
-25
-1
0
29
69
-9
-19
-25
0
3
6
16
0
-3
11
0
0
11
-13
0
0
-16
0
0
0
0
11
0
-26
0
0
0
0
30
0
22
0
0
0
0
0
0
-2
-4
0
0
0
0
0
-17
0
39
0
0
0
-3
-65
0
-19
0
0
0
8
-29
0
-1
-10
0
0
21
13
0
-10
0
-38
0
0
5
0
-13
0
0
0
0
-21
0
1
0
-49
17
0
-10
0
2
0
0
-1
0
6
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-7
0
0
34
0
0
0
0
0
0
-5
0
0
0
0
23
0
0
0
-7
0
0
23
4
0
0
12
0
3
-26
-2
0
0
-3
0
0
1
-1
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
57
0
0
4
0
0
0
0
0
19
0
4
9
0
0
-12
-29
0
0
-6
0
0
-7
-7
0
-7
-10
0
0
-45
8
0
0
1
0
0
0
14
0
0
-3
0
0
0
-52
0
0
7
0
0
0
12
0
21
-6
0
0
0
-19
0
0
0
0
0
0
16
1
3
0
0
0
0
-34
-4
0
0
0
0
0
57
0
24
-4
0
0
0
-45
0
0
-1
0
0
15
3
0
0
-36
0
1
16
-39
0
0
-2
0
0
0
47
0
0
12
0
0
0
-38
0
0
0
0
0
0
-30
0
0
0
0
-2
0
-68
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
-2
0
-7
0
0
0
0
0
2
58
0
0
16
0
0
0
60
0
0
0
0
4
0
4
0
0
-11
0
0
0
-18
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
-10
16
0
0
1
-4
0
-3
45
0
0
0
0
0
0
6
0
0
0
18
0
0
0
0
22
0
0
0
0
0
5
0
0
0
0
0
16
45
0
-12
0
0
-37
0
-11
0
-27
0
0
-21
2
-11
0
-4
0
-6
-27
16
0
0
-6
-38
4
7
26
0
0
10
0
0
-12
22
0
0
6
25
6
-3
7
0
0
-4
0
-1
0
55
0
0
0
6
2
0
0
-1
0
0
0
0
4
8
22
55
-6
0
0
-25
14
-1
0
-7
0
0
-46
26
0
40
-2
39
0
-55
-50
0
-7
-26
0
0
8
-10
0
0
-16
2
0
7
-33
0
0
3
0
0
26
40
0
-5
37
10
0
0
-18
0
4
0
4
0
0
13
-4
0
0
-5
0
17
14
24
0
2
0
0
40
19
0
-23
27
57
0
1
14
0
-1
11
0
0
22
-25
0
-16
24
-59
0
-5
-8
0
5
11
0
0
-20
8
0
0
13
25
0
3
12
0
0
-18
9
0
0
15
0
0
0
4
0
0
17
7
0
0
0
0
0
16
-3
0
0
-4
0
0
-4
0
46
-11
0
0
12
24
0
-26
-21
-6
0
-1
-15
7
-11
8
0
0
15
-16
0
7
18
36
0
7
16
0
20
4
0
0
0
-21
0
0
-8
3
0
0
-3
0
-6
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
-102
108
0
0
0
12
28
0
-35
6
0
12
0
7
0
11
0
-8
0
0
-25
0
0
-40
0
0
0
0
0
-29
-18
0
-3
0
-8
28
6
0
0
-2
-54
21
-16
-2
-10
0
-26
0
34
-71
48
-7
0
7
-19
49
-54
17
17
2
-16
0
20
1
11
0
0
-13
4
-1
23
6
0
0
0
21
-2
0
-30
0
0
3
1
-18
0
0
-29
0
0
-1
17
7
4
31
-78
-15
-1
0
15
9
0
0
0
0
-8
-21
6
-1
22
5
7
18
-20
35
0
0
-11
-9
0
44
1
0
0
-21
-18
23
0
-9
0
0
-21
0
0
0
1
-2
-20
-17
8
9
0
-19
0
0
1
1
-18
0
1
12
7
0
-3
-1
0
-12
-2
0
-1
0
4
-2
-12
-7
-12
13
-38
8
0
13
0
-8
25
-7
-14
-24
6
-8
10
17
11
-3
-16
8
-6
2
7
4
-11
0
-20
0
0
22
6
-1
0
1
0
0
-1
0
34
0
-22
0
0
3
-22
11
0
-24
1
0
0
1
-5
0
-17
7
26
0
-3
0
0
-20
0
-11
0
0
21
0
20
0
-1
31
-19
-18
13
28
3
-26
0
-6
-20
0
2
-2
-38
-36
10
11
0
-29
0
24
21
0
6
0
-2
-9
-2
-19
-13
21
0
2
0
19
0
0
28
0
-6
-9
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
-12
0
0
0
0
2
-19
0
-8
0
0
0
7
-3
0
-2
0
-20
0
0
-19
0
0
-29
0
0
0
0
-8
8
19
0
-10
0
0
-11
-7
14
29
8
10
-2
-14
10
5
0
-2
6
-15
-3
3
0
-12
33
-20
8
23
0
-28
24
82
0
-17
47
-3
0
-1
-11
-12
31
0
37
0
0
0
3
33
0
-49
0
0
0
-29
-52
0
0
-24
0
0
13
-9
12
2
8
36
-22
-4
0
11
14
9
-1
39
0
0
-7
-2
6
-3
-4
6
0
-21
-23
18
-24
6
0
-8
-4
0
6
-13
13
22
12
6
-44
0
-2
-28
-1
1
0
-6
0
-11
-2
25
0
0
-9
0
0
0
0
2
0
8
-41
16
0
-2
0
0
5
84
-19
-38
0
0
-36
-4
-41
47
62
11
42
-44
21
0
24
14
0
0
-12
-17
25
53
-17
46
-18
3
0
-18
3
-16
-9
42
34
13
0
0
-74
7
4
0
4
0
0
-6
-1
37
0
-12
0
-1
2
10
-59
0
-13
0
0
0
-1
-15
0
-17
26
3
0
-15
0
1
32
10
-33
-23
0
0
-10
68
5
1
-33
10
0
-15
-28
11
-16
37
-10
-4
32
0
12
19
6
29
6
-1
-28
0
-49
-26
-12
0
0
4
0
0
-2
0
2
0
11
0
-3
0
0
6
0
-39
-15
-1
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
4
0
0
0
0
2
2
-9
0
0
0
0
0
0
0
0
8
0
0
19
0
0
4
0
0
0
3
0
13
2
0
0
0
0
-3
0
0
-2
-16
0
0
-47
0
0
1
11
0
-10
56
-29
0
0
19
80
4
48
-41
0
6
55
0
-5
-19
33
0
0
0
13
-17
9
17
0
0
0
0
-6
0
0
0
0
-4
0
5
0
0
-8
0
0
0
-5
1
11
-30
-21
45
0
0
37
9
0
-3
20
0
0
-23
30
0
15
21
29
0
38
12
0
0
6
0
-2
56
-33
0
0
3
-7
10
-2
8
0
0
10
0
0
-15
15
0
23
-6
1
0
0
78
0
0
0
0
3
0
22
6
25
0
0
0
0
4
0
11
0
19
0
0
6
0
1
7
1
0
-18
0
0
-3
1
0
-12
-13
-4
0
1
2
-6
0
1
-69
0
0
-10
0
0
-21
-11
0
0
-9
-1
0
0
11
0
-2
6
-2
0
0
14
0
1
9
-18
0
0
-12
0
1
0
0
0
0
63
-11
-1
1
0
0
0
-30
0
-30
0
0
0
-2
-20
0
0
0
9
0
0
23
0
-20
3
0
0
0
6
0
2
-4
-10
25
0
4
0
-6
0
1
0
0
20
0
0
-7
2
0
0
12
0
40
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
-1
0
0
-17
0
0
0
0
0
0
-6
0
-7
0
0
-33
0
0
0
-19
0
-2
-34
0
0
0
-6
0
-16
-40
-6
0
0
58
31
2
-7
40
0
0
0
0
12
12
0
0
0
0
28
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
38
0
0
-1
0
0
0
0
-4
-32
-22
-1
4
0
0
-10
3
7
0
6
0
0
41
-30
0
30
-14
-29
1
-32
-31
0
0
27
0
0
9
-39
0
0
-9
-1
0
0
21
0
0
1
0
0
0
-36
0
-37
0
6
22
0
25
0
0
0
0
0
0
-5
14
1
0
0
0
0
8
0
0
0
0
0
18
-2
0
0
-3
-9
0
0
24
0
8
10
0
-15
-4
18
0
0
-40
0
0
0
1
0
0
-1
0
1
0
6
0
0
6
98
0
0
-4
0
0
4
0
0
0
-52
0
0
0
3
-2
0
31
0
0
0
0
0
0
1
0
0
0
0
0
0
40
-8
33
0
0
0
0
4
0
-3
-1
0
4
-3
52
0
-8
-18
0
0
0
7
0
0
0
5
0
0
-10
0
0
-2
0
0
0
68
0
0
0
11
-2
0
-36
0
8
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
-35
0
0
0
0
0
-1
0
-10
0
0
0
0
0
0
0
0
-17
0
0
-24
0
0
23
0
0
0
0
0
12
-3
0
0
0
0
-2
11
3
0
49
0
0
-32
0
0
0
38
-1
60
-89
15
-1
0
-12
35
6
40
18
0
0
0
-2
37
-4
-9
0
0
1
72
35
-1
0
0
0
-8
0
3
0
-3
0
0
0
1
-27
0
0
-30
0
0
0
-8
-6
-27
-16
-41
-22
0
0
38
-28
-2
0
36
0
0
-39
30
0
-28
27
-12
0
34
-26
0
0
-13
0
0
63
-9
0
0
-3
60
0
16
-16
0
0
0
0
0
0
21
0
40
0
-4
0
0
-38
0
0
0
0
-9
0
-11
3
-1
0
0
0
0
-18
-12
0
3
0
0
9
-16
7
0
-6
15
0
14
-2
0
-7
21
0
0
-26
-10
0
0
-73
0
-2
-7
-13
0
1
-3
2
1
10
-19
0
0
0
18
0
-7
1
0
0
0
0
-1
0
32
0
11
0
-7
12
0
-20
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
-17
0
0
0
0
23
0
0
3
0
0
0
-5
0
0
0
0
0
-3
-27
0
0
1
0
0
-2
-36
0
-17
0
0
0
0
-32
0
0
1
2
0
0
20
0
-18
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
7
0
-3
0
0
-1
0
-23
0
0
0
13
0
0
-2
0
0
-14
0
0
0
6
-2
19
-2
0
1
0
9
-4
-5
0
11
-5
0
-5
-23
-10
0
0
19
0
-12
-13
-7
0
0
-23
0
-15
3
-5
7
0
4
0
-26
-28
-3
0
2
-68
0
-41
-24
-9
0
0
9
0
-3
-10
21
0
0
0
0
-4
0
29
-15
0
0
0
-9
0
-33
28
-53
36
0
0
-52
-22
-8
0
-3
0
-6
-8
-2
0
-62
-16
0
-7
11
5
2
2
14
0
1
-5
-15
0
0
14
0
1
-4
-7
0
0
12
0
29
-7
-53
0
-40
-18
0
4
-15
23
0
-2
0
0
-33
0
7
-2
11
0
0
-1
0
-31
27
7
1
0
0
-66
-1
-9
21
10
0
0
13
18
0
8
-11
0
13
20
20
2
0
2
0
21
39
-2
0
-1
21
0
-27
-18
4
0
0
46
0
3
-2
21
0
0
30
0
22
0
15
0
0
0
0
41
0
6
1
0
0
0
28
8
-16
10
0
-2
0
0
0
27
2
-54
-11
0
0
-2
-2
0
24
-5
0
50
11
9
0
-8
29
0
7
-4
-35
0
3
-10
0
-18
-5
6
0
-3
-24
0
2
0
15
0
0
-2
0
60
0
8
0
-24
-1
0
-19
0
-1
1
0
11
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-12
0
0
0
0
0
-1
3
0
3
0
18
0
0
0
0
29
0
0
0
0
0
2
0
0
-2
0
4
41
-7
0
2
0
0
13
9
0
17
-3
1
0
-6
-8
0
0
-18
0
0
-38
-33
0
0
-38
-24
0
-21
-16
-15
0
24
7
0
16
-7
0
0
6
-5
-1
10
53
0
20
8
0
0
-6
-47
0
0
4
-21
8
0
0
0
0
0
0
30
1
45
16
1
-22
0
0
35
44
3
0
11
0
0
-1
9
0
17
-14
2
0
-19
-14
0
-6
-9
0
0
-28
-50
0
20
-27
11
0
0
-23
0
1
32
0
0
-3
17
0
-9
48
-4
0
0
35
0
0
0
0
0
0
-13
-27
-22
0
-11
0
0
48
-30
0
4
0
0
78
12
10
42
-17
-2
0
-11
-4
0
30
12
0
0
51
-2
0
0
-17
20
0
-9
-28
12
23
-1
0
0
-9
-12
0
0
18
14
0
11
1
0
0
18
0
0
0
14
0
0
0
32
0
0
10
-8
0
0
-1
0
0
52
20
0
0
0
0
-8
20
-10
14
10
0
0
1
-4
-3
0
-45
39
0
21
-4
0
1
8
-1
0
17
-10
0
6
1
1
0
0
7
0
1
-24
0
0
0
-35
11
0
24
17
0
0
25
0
32
0
0
0
0
4
-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
39
3
0
31
-25
19
0
0
0
-9
0
0
17
0
0
-19
0
0
0
-24
0
-12
-9
0
0
0
0
-37
-1
-9
0
-5
-94
-15
-8
24
0
0
-30
0
-5
-84
6
9
0
-22
-11
-14
-89
-2
0
0
-16
-1
2
0
-25
0
0
40
-13
30
0
19
0
0
12
10
14
0
22
0
0
0
-11
1
0
0
-75
0
16
-3
-57
0
-11
27
-15
-35
-3
0
4
-4
0
0
39
0
0
-41
-11
-4
-32
12
9
10
18
0
-1
0
-10
0
23
-13
10
0
1
8
8
15
0
-21
0
0
10
0
-13
0
3
0
-7
8
5
-3
0
5
0
0
-10
0
-17
0
9
-16
18
0
6
0
0
-28
-6
0
0
0
0
0
-21
-25
-21
-24
9
8
0
-20
0
-2
-56
0
-11
3
-3
-3
48
29
5
-32
3
-6
0
23
25
-6
10
8
-9
0
0
20
-16
-14
0
-7
0
0
1
0
6
0
-5
0
0
-3
-26
19
0
-15
0
0
0
37
-5
0
-46
7
0
2
-67
6
0
-27
0
17
33
-4
0
0
-14
0
-3
22
20
-31
8
-4
0
1
1
0
3
0
-9
-3
2
43
-7
-29
0
-8
0
-33
-4
0
6
0
0
0
-10
14
-21
-3
0
10
0
52
-18
-10
-18
0
-37
-10
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
-8
0
0
0
0
0
0
2
0
-18
0
0
-4
0
0
-60
0
0
0
0
0
10
-9
0
-2
0
0
-4
1
-7
-2
20
-4
0
-35
26
0
0
-9
0
-8
-3
0
0
-18
18
29
6
2
-49
0
0
59
0
8
22
0
0
-1
-3
0
16
-2
1
0
0
0
0
-6
0
5
0
0
0
2
6
0
0
17
0
0
0
-3
0
-25
-22
15
43
0
0
22
-42
4
2
-30
0
0
11
14
0
5
37
-33
0
-29
3
0
0
-5
28
-2
-35
15
0
0
-28
-4
0
5
0
0
4
-9
-1
0
0
-10
0
-13
0
-2
0
0
21
0
0
0
-1
7
0
26
10
13
0
-2
0
1
-23
7
7
1
0
0
2
-15
-10
-32
-15
29
29
34
27
0
19
6
0
0
47
12
3
-72
10
16
-1
-1
4
0
1
11
-2
0
-6
0
0
0
-15
-17
-1
0
-1
1
0
0
-1
-6
0
14
0
0
0
15
-9
0
-7
0
0
0
-3
0
0
1
-16
0
0
0
0
-1
-35
2
15
-1
0
0
0
-31
-2
-4
4
-1
0
-13
11
-4
6
-5
0
0
-9
11
0
2
-30
-19
0
0
0
0
7
9
0
0
0
-6
0
0
1
31
0
0
0
0
24
0
-3
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
-15
0
0
0
0
4
0
-10
0
2
0
0
-18
0
0
0
0
0
0
11
1
0
0
-6
0
0
-16
0
0
0
0
-7
-2
15
-2
0
0
0
0
-13
0
0
0
0
0
0
20
0
0
0
0
0
0
-13
0
0
0
0
0
0
-22
0
0
-4
0
0
0
6
0
-16
0
-2
12
0
0
-2
-14
0
0
40
0
0
8
23
0
-2
-3
0
0
-6
16
0
0
-1
0
0
0
17
0
0
0
0
0
0
-25
0
0
11
0
0
0
3
0
-21
0
-1
0
0
-40
0
0
0
0
0
0
10
0
0
0
0
0
0
-19
1
0
-2
0
0
0
-12
0
0
1
0
0
0
-42
0
0
-8
0
0
0
3
0
0
-3
0
1
0
0
0
0
0
0
0
0
-12
0
0
2
9
0
0
26
0
0
0
0
0
0
-9
0
0
0
0
0
0
-20
0
0
0
0
0
0
2
2
0
0
0
0
0
1
0
-2
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
0
14
0
8
21
0
0
0
-10
0
0
0
0
0
0
69
0
-6
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
-17
0
0
0
0
0
-32
0
0
0
0
0
0
-71
0
0
0
0
41
0
0
0
-49
0
0
-96
0
0
0
-1
0
0
17
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-46
0
10
-1
0
0
-3
-11
0
0
2
0
0
0
25
0
-1
-4
0
0
21
-45
0
0
2
0
0
0
10
0
0
-1
0
0
0
-43
0
0
0
0
0
0
3
0
60
0
0
0
0
-15
0
0
0
0
0
0
-87
0
0
0
0
0
0
5
0
0
0
0
0
0
-16
0
0
0
0
0
0
-39
0
0
0
0
0
0
78
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
30
0
0
0
0
0
0
14
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
27
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
53
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
21
0
0
-48
0
0
0
-1
0
-1
-22
30
0
0
-2
10
0
-6
-3
0
0
-1
0
0
0
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-2
0
0
0
0
0
-61
1
2
0
0
0
-1
-11
0
0
1
0
0
-6
2
0
-8
8
0
0
4
4
0
0
0
0
0
0
38
0
0
2
-1
0
2
-20
0
0
-4
0
19
0
28
0
4
0
0
0
0
-1
0
0
0
0
0
0
13
0
-2
0
0
0
0
-42
0
0
0
0
0
0
-34
0
0
0
0
0
0
-21
0
0
0
0
0
0
-9
0
0
0
0
0
12
-46
0
0
2
3
0
0
1
0
0
0
-7
9
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
22
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
-10
0
0
0
0
0
1
11
0
0
0
0
17
0
0
0
-32
0
10
-34
0
0
0
2
0
-1
-59
0
0
0
41
0
0
-2
0
0
0
0
0
0
6
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
-3
0
0
0
0
0
9
1
0
0
0
0
0
-36
0
0
41
0
0
-4
29
0
42
-16
0
0
-9
-31
0
0
0
0
0
0
-51
0
0
-22
0
0
0
-59
0
0
-2
0
0
0
-11
0
-5
0
0
0
0
20
0
0
0
0
0
0
-19
0
0
0
0
0
0
33
1
0
0
0
0
0
30
4
0
0
0
0
0
-2
0
0
-3
0
0
-2
-47
0
0
-2
0
0
0
21
0
0
-2
0
0
0
-4
0
0
-8
1
0
0
-25
0
0
0
0
0
0
-35
0
0
0
0
-2
0
-22
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
1
0
0
0
0
37
0
0
0
0
0
0
3
0
-4
0
0
0
0
-11
0
0
0
0
0
0
50
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
31
0
0
0
0
0
-18
0
0
0
0
11
-15
-24
0
6
0
0
19
-1
22
2
5
9
0
-14
9
0
0
-13
0
2
-35
-23
0
0
-13
-7
0
-19
-7
8
0
22
0
0
36
2
0
0
8
13
0
9
-20
0
0
-3
9
7
0
-9
0
0
0
11
4
0
0
-29
0
0
0
0
0
22
-11
-59
41
1
0
12
27
-2
0
1
0
0
-17
15
0
-2
13
22
0
-19
-5
0
0
5
0
0
-28
-20
0
-2
16
-6
0
-26
-48
0
0
-12
12
0
-8
22
0
-4
49
-4
0
0
25
0
-1
0
0
0
0
-20
-61
2
0
21
0
2
14
22
0
-2
0
0
5
30
27
1
33
4
0
-26
12
1
-19
5
13
0
-3
-5
0
-11
-8
-23
0
65
4
-1
3
1
-4
0
-6
17
0
0
11
24
0
6
25
0
2
40
0
0
1
26
0
-1
-4
45
0
0
-19
-18
0
0
0
0
0
28
-12
0
8
0
0
13
-39
0
-42
13
0
0
0
5
0
0
1
-3
0
13
10
0
-7
17
0
0
-2
23
-7
1
26
-37
0
0
-11
1
-9
60
0
0
0
6
0
0
2
34
0
0
-3
0
11
17
-8
0
0
-34
-31
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
20
0
0
0
0
0
0
-23
0
0
0
0
11
0
0
0
11
0
0
10
0
0
0
-1
0
-6
11
76
0
0
62
-3
-4
0
15
0
0
0
0
-4
0
0
0
0
-5
-4
14
0
0
0
0
-1
0
8
0
2
0
0
0
-6
-50
0
0
-1
0
0
0
6
0
-23
-2
0
6
0
0
0
-69
0
0
3
0
0
-5
-23
0
-19
-13
-58
0
-1
0
0
0
0
0
0
0
47
0
0
-8
0
0
0
-45
0
0
27
0
0
0
-14
0
40
7
-3
0
0
-56
0
0
0
0
0
0
-4
0
0
0
0
0
0
-24
0
0
0
0
0
0
-30
0
0
-1
-3
0
0
27
0
0
0
0
0
2
-24
0
0
-3
-2
0
-9
-14
0
0
-9
0
0
0
4
0
0
6
0
0
0
-72
0
0
-7
0
6
0
-6
0
0
0
0
-3
0
-33
0
0
0
0
-8
0
7
0
0
0
0
0
0
-2
0
0
12
0
0
0
-14
0
0
0
0
0
0
-39
0
0
0
0
0
0
-41
0
0
-2
0
0
0
-49
0
-1
0
11
0
0
-24
0
0
0
-2
0
0
-116
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
-13
0
0
2
0
0
-31
0
0
-4
0
-4
4
6
0
0
0
0
-47
-3
-1
0
-56
-1
0
-32
0
0
1
-22
0
29
5
-13
8
0
0
5
-7
58
-8
0
0
0
0
1
2
-6
0
2
10
3
4
12
0
0
0
15
-8
23
0
21
0
0
0
73
24
0
16
68
0
0
0
-2
2
26
-1
17
-14
-4
0
28
14
2
0
29
0
0
28
-17
-4
8
0
28
-2
-22
28
0
-12
-36
-4
0
6
-35
24
1
71
30
-1
2
-28
0
0
-7
0
-1
0
0
1
-8
0
9
27
0
-23
0
6
0
-2
-4
0
-2
-6
-9
0
35
15
0
9
-50
0
-9
7
0
-1
5
-3
13
-32
16
0
-2
7
12
19
28
0
-6
22
30
-2
1
-22
80
0
55
17
0
-12
-1
-18
0
-22
-1
0
0
-23
12
-6
0
0
-8
0
-2
-2
-11
0
13
0
0
0
-1
-11
0
23
0
0
0
-1
0
0
-13
3
6
8
-6
0
0
25
-6
-4
-11
0
0
-12
-23
3
-26
8
-5
0
-2
-15
4
29
-15
0
0
-1
-55
0
26
7
3
0
0
30
0
23
-28
-12
0
0
0
0
-1
4
2
-6
0
-13
0
-40
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
44
0
0
0
0
0
0
-29
0
0
0
0
-2
0
0
0
-77
0
0
30
0
0
0
-4
0
0
-4
0
0
0
0
-3
3
-6
0
0
0
-2
0
0
-8
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
0
0
0
0
0
-8
-2
1
13
0
0
0
27
0
0
-4
0
0
-1
5
0
35
16
0
0
18
5
0
0
0
0
0
3
-4
0
0
1
0
0
0
3
0
0
0
0
0
0
-2
0
-6
0
0
0
0
-23
0
0
0
0
4
0
25
-8
2
0
0
-2
0
0
15
0
0
0
0
0
8
0
0
0
0
0
0
-64
0
0
4
0
0
0
4
0
-7
55
0
0
2
-45
0
0
-2
0
0
0
38
0
0
-25
-4
7
0
-79
0
0
0
0
11
0
23
0
0
0
0
0
0
-43
0
0
0
0
19
0
21
0
0
0
0
0
0
0
0
2
0
0
0
0
-4
0
0
0
0
0
0
26
0
0
4
0
0
0
15
0
-10
7
0
0
0
7
0
1
0
0
2
0
41
0
0
0
0
0
0
-6
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
-17
0
0
0
0
0
-35
0
0
0
0
0
0
-1
0
0
0
0
-9
0
0
0
10
0
0
-29
0
0
0
-2
0
0
17
7
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
-1
0
-1
0
0
0
0
0
0
9
0
0
-2
0
0
0
0
0
-5
0
-3
2
0
0
-1
-46
0
0
0
0
0
12
-11
0
-1
-6
0
0
-1
-17
0
0
-2
0
0
0
-6
0
0
-1
0
0
0
38
0
0
0
0
0
0
25
0
-9
0
0
0
0
-3
0
0
0
0
0
0
-41
-2
0
0
0
0
0
22
0
0
0
0
0
0
9
0
0
0
0
0
0
-39
0
0
0
0
0
0
7
0
0
25
0
0
0
-16
0
0
0
-2
0
0
10
0
0
15
0
0
0
13
0
0
0
0
0
0
-23
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
-14
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
-15
0
0
0
28
13
0
0
0
0
0
-3
0
0
0
0
0
0
-52
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
0
0
0
0
0
-62
0
0
0
0
-44
0
0
0
3
0
0
8
0
0
0
-9
0
-3
-19
-1
0
0
-2
15
-9
-3
6
0
0
0
0
-2
0
0
0
0
0
0
58
0
0
0
0
0
0
31
0
0
0
0
0
45
102
0
0
-9
0
0
0
0
0
-26
0
2
-1
0
0
-1
-45
0
0
3
0
0
-58
30
0
-20
-10
-12
0
-15
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
-15
0
38
3
0
-17
0
0
0
0
0
0
-16
-2
0
0
-6
0
0
-53
0
0
0
0
0
0
-18
0
-3
0
-4
0
0
17
0
0
0
0
0
0
-20
0
0
-1
0
0
0
-59
0
0
-1
0
0
4
-26
0
0
0
-4
0
0
-4
0
0
0
0
2
0
-2
0
0
0
0
-8
0
-19
0
0
0
0
0
0
-22
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-26
0
0
0
0
-28
0
-34
0
-13
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
12
0
0
28
0
0
-2
0
0
0
0
0
11
-13
0
4
0
0
-7
13
0
0
7
0
1
-19
0
0
0
-10
0
14
-51
1
0
0
-8
0
29
-11
1
0
0
6
0
4
-3
-3
0
0
12
0
-13
-2
3
0
0
19
0
-15
0
7
0
0
0
0
23
0
0
-38
0
0
0
-3
0
-14
-39
-10
68
0
0
-10
-3
0
6
-7
0
-1
-31
10
0
25
13
-4
0
0
-32
0
0
-2
0
14
-6
-40
0
0
-21
0
11
25
30
0
0
6
0
13
2
-15
0
10
34
0
36
0
14
0
0
0
0
7
0
2
0
-3
0
0
0
0
-15
-19
0
0
0
0
66
16
2
17
45
0
-1
16
-9
0
0
-5
0
0
13
-45
0
0
-1
0
-29
-29
16
0
0
-35
0
26
28
34
0
0
11
0
1
0
-9
0
0
1
0
21
0
34
0
0
2
0
11
0
12
3
0
0
0
0
0
-4
0
0
0
0
0
0
38
0
23
40
0
0
-1
5
0
-2
-18
0
-1
0
1
0
0
27
0
0
0
-15
0
0
17
0
0
0
45
0
-19
-30
0
0
0
-5
0
0
-22
0
-10
0
12
0
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
1
0
0
0
0
0
-6
18
0
0
0
0
-17
0
0
0
-18
16
0
-41
4
0
0
-2
0
0
-54
-13
0
0
-22
-15
0
-42
-19
0
0
-35
0
1
2
6
0
-4
-22
9
0
3
0
0
0
0
0
0
0
-8
0
0
-1
21
0
0
0
20
0
0
0
0
6
-1
7
-3
-15
0
0
7
6
0
0
-16
0
0
-27
26
0
66
1
-21
0
-13
27
0
-1
25
0
0
-17
6
0
26
3
-4
0
-1
-6
0
0
-5
0
0
0
-25
0
5
13
-12
0
0
36
0
0
0
2
0
0
-13
-41
28
0
0
0
0
2
1
0
0
0
0
-7
-22
9
0
53
-3
0
-8
27
0
0
20
0
0
50
6
0
6
10
-16
0
-37
-1
0
1
-9
26
0
-18
-29
0
-18
6
-12
0
0
-32
0
0
-31
0
0
0
2
0
-12
-4
-12
0
0
-33
0
6
0
0
0
0
-25
0
0
0
0
0
0
-48
0
1
25
0
0
2
-3
0
20
25
7
0
16
41
0
-6
35
0
0
24
-19
0
-1
9
24
0
0
-16
0
49
27
0
0
0
-10
0
0
5
4
0
0
-4
0
41
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-25
0
0
16
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-11
0
0
0
0
0
0
-21
0
0
9
0
0
0
-1
0
1
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-4
0
0
0
21
0
0
0
0
0
0
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
0
0
0
0
0
0
-39
0
0
0
0
-23
0
0
0
-19
0
0
22
0
0
0
-18
0
0
-48
-4
0
0
-3
-4
0
-5
-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
35
0
0
-2
0
0
0
0
0
-19
-18
18
-3
0
0
0
30
0
0
-1
0
0
-4
44
0
11
-7
2
0
-44
-24
0
0
6
0
0
0
35
0
0
9
0
0
0
3
0
0
-3
0
0
0
7
0
10
0
0
0
0
0
0
0
0
0
0
0
38
-2
-1
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
-1
31
0
2
31
0
0
3
0
0
-1
-44
0
0
6
0
0
0
0
0
0
46
0
0
0
42
0
0
-1
3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
14
0
-54
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
11
0
0
0
0
21
0
0
0
0
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
0
16
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
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
-21
0
0
0
0
0
0
-45
0
0
0
0
4
0
0
0
-81
0
0
-48
0
0
0
-1
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
11
0
0
0
0
0
4
-38
0
0
-6
0
0
0
-2
0
0
35
0
0
0
-8
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
0
0
-2
0
0
0
0
0
0
-11
0
0
0
0
0
0
23
0
0
0
0
0
0
-7
0
0
0
0
0
0
74
0
0
0
0
0
0
1
0
0
0
0
0
10
24
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
-64
27
3
3
9
-13
-7
20
-23
22
-59
-30
-19
-19
-11
-8
-24
63
36
-20
-38
-4
9
4
-36
6
-6
14
19
-18
3
-12
-24
0
4
25
-49
-25
-24
41
8
-7
13
-18
-97
-18
32
-27
44
15
-22
28
-12
15
-1
-4
7
-13
1
-15
-14
-30
-15
-15
-30
-16
28
-12
3
-66
-11
-13
-38
-83
-39
-16
-45
9
-7
-23
-90
-22
-11
2
-25
-7
-2
11
7
-14
4
42
12
-1
-15
-15
7
-11
-2
28
0
11
54
23
56
-29
7
21
25
-69
37
16
16
7
-10
41
-23
-7
-20
-3
1
5
-14
-12
5
-6
9
3
-11
-10
-25
-3
-16
-9
-4
-19
1
12
-32
-7
23
-1
-19
-38
24
-29
-7
6
3
-8
3
20
-5
-9
24
9
2
0
-2
4
-20
-9
-7
-20
10
-25
7
-9
-28
-16
-7
-14
39
-9
-5
2
8
-6
24
-36
-67
20
-2
-7
0
-38
-21
13
-12
-24
17
-16
31
-31
-6
-3
-3
3
-7
-47
20
-37
2
-24
28
-15
46
9
-7
-27
8
-9
1
6
-4
-4
41
9
16
1
-38
-6
-7
-19
2
26
-6
19
29
5
19
15
4
-3
-13
-36
12
-27
20
-50
7
-2
4
39
50
27
-18
11
-54
-18
-65
-42
-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
-32
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-32
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
-1
0
0
0
0
0
-18
0
0
0
0
0
0
-34
0
0
0
0
0
0
-22
0
0
0
0
0
0
-43
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
24
0
0
0
0
0
0
8
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
58
0
0
0
2
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
17
0
0
0
0
-2
0
0
0
-79
0
0
24
0
0
0
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
-66
4
0
0
0
0
7
40
0
0
12
0
0
-1
-6
0
0
8
0
0
0
-2
0
0
-7
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-11
0
0
0
0
15
0
0
0
0
0
0
-40
0
-1
0
0
0
0
23
0
0
0
0
0
0
-44
0
0
13
0
0
0
11
0
0
0
0
0
0
29
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
-50
0
0
0
0
0
0
-4
0
0
0
0
0
0
-44
0
0
0
0
0
0
18
0
0
0
0
0
0
33
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
15
0
0
0
0
0
0
-12
0
0
0
0
0
0
-10
0
-6
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
26
0
0
0
0
0
-2
-16
0
1
0
0
4
-7
0
0
-4
29
0
-11
6
-2
0
-9
3
0
-48
10
0
0
-14
18
0
-18
-10
0
0
5
4
0
30
7
-2
0
-21
32
0
-29
-40
0
0
19
-6
0
0
-4
0
0
0
-6
0
0
1
35
0
6
1
0
-3
-4
-33
-35
-9
0
0
27
26
-1
10
14
0
0
-18
31
-1
17
-12
34
0
-29
-4
0
0
-7
-8
0
1
17
0
-10
-18
26
0
-11
14
0
12
25
-8
0
18
9
0
-3
-5
39
0
0
15
0
4
0
0
0
0
3
-30
-8
0
13
0
2
-6
6
0
28
0
0
-15
13
0
34
-17
-62
0
43
20
0
-10
39
0
0
15
4
-6
11
8
7
0
-30
11
0
0
33
17
0
8
-4
0
-2
-15
-25
0
18
18
-4
0
-13
0
0
0
-18
-2
0
-10
-68
0
0
-23
-1
0
0
19
0
8
24
-11
0
2
-25
0
1
-23
-7
-33
58
0
0
-6
-3
0
7
27
10
0
12
7
1
20
-18
2
0
15
5
0
14
13
-16
0
4
17
0
9
-2
-3
0
-2
-6
6
-2
36
-24
0
0
-40
-2
-14
5
-6
0
0
-18
-18
-2
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
-20
0
0
0
0
0
0
0
0
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
-2
0
0
0
-37
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-19
0
0
0
0
0
0
-78
0
0
10
0
0
-1
-2
0
0
-2
0
0
18
13
0
0
0
0
0
0
-1
0
0
0
18
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
25
0
0
0
0
0
0
11
0
0
0
0
0
0
45
0
0
0
0
0
0
-8
0
0
0
0
0
0
22
0
0
0
0
0
0
-3
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-24
-2
-90
52
-17
-63
0
6
-12
10
-14
3
21
-10
-28
9
-57
-19
-2
-18
-2
21
-24
8
-21
-15
-15
-6
15
-6
-5
0
19
-17
4
-23
-43
-65
4
-10
-6
-5
-10
-63
-11
15
-15
-6
-25
-34
-25
-2
-15
-2
-1
-59
2
65
-54
-14
-22
13
-1
-13
-24
16
-6
-28
-37
-10
0
-14
14
-21
4
-37
-10
-21
38
-8
-14
13
32
0
-4
-11
-26
-6
-15
-14
2
-4
-28
6
-13
14
-7
-2
-11
20
48
-29
0
-14
33
-7
-24
1
-27
-20
-30
22
-10
-15
7
12
5
16
-39
-12
-3
11
-34
-5
-33
20
-10
6
47
29
-40
-2
2
-1
-17
-22
7
-3
14
-6
-15
-21
-15
-3
-25
-1
-24
-6
-15
-17
-18
-4
29
-50
4
4
14
-26
-30
-16
4
-5
86
89
1
-12
-31
-22
-1
-1
-9
7
-42
13
-24
7
-54
17
-29
-21
-3
-42
-7
-24
8
-49
-13
-3
42
-4
10
-18
53
2
29
-24
-12
-39
-1
8
52
27
28
-13
19
-10
3
-5
12
35
2
37
-2
-22
-49
37
-20
-9
-7
-29
-13
1
18
14
-6
-3
-25
-19
5
28
37
-9
18
26
-10
-10
15
5
-1
-46
7
8
5
13
-2
-7
-52
21
-22
29
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
3
0
0
0
63
0
0
-6
0
0
0
0
0
7
-14
1
0
0
1
0
10
7
-4
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
17
0
0
0
0
0
-46
0
0
-15
0
0
3
8
0
0
-5
0
0
19
-26
0
9
2
0
0
11
-21
0
0
3
0
0
0
-30
0
0
6
0
0
1
-35
0
0
-4
0
0
0
0
0
-11
0
0
0
0
-28
0
0
0
0
0
0
64
10
13
0
0
0
0
1
15
0
0
0
0
0
23
0
0
1
0
0
0
-11
0
0
0
0
0
0
34
0
0
-12
0
0
2
-23
0
0
4
0
-2
2
-15
0
0
-2
0
0
0
-5
0
0
0
0
0
0
73
0
0
0
0
0
0
9
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
4
0
0
0
0
16
0
0
6
0
0
0
66
0
0
0
0
0
0
-7
0
0
0
0
0
0
60
0
0
6
0
0
0
11
0
0
-2
0
0
0
-31
0
23
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
0
0
0
-35
0
0
9
0
0
0
-11
0
0
-19
0
0
0
0
0
0
30
-7
0
0
0
0
0
0
0
0
0
7
9
0
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
-12
3
-1
0
0
0
1
-33
0
0
-46
0
0
-3
17
0
1
-39
1
0
26
19
0
0
21
0
0
-4
-14
0
1
-14
-7
0
0
-21
0
0
15
0
0
0
16
0
31
-2
0
0
0
-8
0
0
0
0
0
0
9
2
-2
0
0
0
0
8
-3
0
0
0
0
0
-11
0
0
-2
-1
0
0
50
0
0
0
0
0
0
-11
0
0
-7
0
0
-6
3
0
0
27
0
0
0
32
0
0
13
-1
0
0
14
0
0
0
0
0
0
-10
0
0
0
0
0
0
-20
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
30
0
7
-2
0
0
0
-2
0
0
0
0
0
0
29
0
15
-1
0
0
0
-9
0
0
0
1
0
0
-11
0
21
0
0
0
0
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
-2
6
-9
0
0
40
3
0
0
-1
0
0
-28
0
0
0
34
-17
0
-8
0
0
0
0
0
-6
0
-1
0
0
0
0
6
0
0
0
0
0
0
0
0
-8
0
0
0
-10
10
0
0
73
0
0
0
7
0
12
1
-90
23
0
0
-4
-9
-2
2
-15
0
0
44
26
0
16
-32
-12
0
19
14
0
0
-61
0
0
0
20
0
0
0
0
0
0
43
0
0
-3
0
0
0
-37
0
25
0
2
0
0
27
-2
0
0
0
0
0
5
-2
-13
0
0
0
0
71
5
0
-2
0
0
-4
-15
0
-4
17
-1
0
-1
-37
0
24
-1
0
0
-27
-16
0
-3
-32
0
0
0
-28
0
0
13
0
0
0
24
0
0
3
9
0
0
-27
0
-1
0
0
0
0
63
0
0
0
0
0
0
-17
0
0
0
0
0
0
16
3
0
1
0
0
0
7
0
7
0
0
0
0
50
-10
0
0
0
0
0
11
0
2
0
0
0
0
22
0
0
0
0
0
0
-4
0
-6
6
0
0
0
55
0
1
0
0
0
0
47
0
1
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-15
0
40
-9
35
7
-1
-3
0
43
1
5
39
-2
4
-4
-34
-24
9
-54
-4
8
0
-3
0
46
7
0
0
0
-17
-23
30
-12
1
0
0
-5
-1
-38
0
3
0
0
0
-2
9
0
0
-54
0
0
0
21
-13
0
0
52
35
0
0
-20
17
21
0
-13
0
-1
28
13
0
-29
34
1
0
24
-9
4
2
-51
-2
2
-42
-1
0
0
21
0
3
8
-15
0
0
-13
0
-9
0
-52
0
56
9
-14
0
0
-5
0
0
0
0
1
0
-6
-28
6
0
0
0
0
0
-38
8
2
0
0
7
-39
9
-32
-13
19
0
15
24
0
10
-6
0
0
20
-25
7
9
-15
34
-16
-8
2
2
51
-23
0
-2
-6
-21
0
0
-93
69
1
0
-17
0
1
0
0
-9
0
-33
1
1
0
-50
-9
0
0
15
0
0
0
0
11
0
-18
-1
-11
0
0
0
-6
-15
3
-1
0
0
-2
27
0
-6
-7
0
0
8
-81
-3
25
7
0
-2
1
-7
-1
0
23
11
-4
0
-13
2
18
23
0
2
0
-34
0
0
4
34
1
0
-37
0
-4
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
34
33
-81
49
21
-34
12
19
-12
88
-15
5
29
29
12
55
31
5
-12
8
6
48
-12
-7
9
-24
17
-57
24
-59
16
-23
-17
-9
-72
-3
-57
-66
-36
-30
-26
-72
-10
-47
-88
-68
-6
-4
-30
-33
-11
-41
-27
33
-39
74
29
-137
-43
21
40
8
44
5
-24
-25
-3
-10
15
-6
6
18
32
19
-3
-9
-2
6
6
-19
21
17
-5
-2
-2
5
-15
12
15
-12
-64
8
-14
-5
-14
11
-9
-41
-2
-47
-15
-12
1
29
0
-3
2
-43
-106
-26
1
-14
23
-42
-23
-23
-28
-45
-34
-5
-87
-43
-78
69
32
-4
-30
-12
13
-5
-14
2
-15
10
51
-28
-11
-59
35
4
3
11
25
13
20
12
-55
-11
-41
0
-22
4
19
-24
0
6
-15
-16
14
-17
-23
-3
-47
-21
-38
-14
-22
-26
-4
-19
-42
-20
7
-10
-54
9
9
-12
-26
-32
40
-43
-12
-46
-33
-33
18
-53
6
-22
9
-7
-13
22
-22
26
-5
36
7
-21
4
-6
48
-43
28
1
34
-33
-5
-58
-15
-2
-27
-3
-1
-20
-7
-2
-36
-19
9
32
-15
-12
0
6
-53
-65
-3
-6
-45
7
25
-2
-8
-19
-16
-29
-18
28
-12
-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
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
0
0
-11
0
0
-4
0
0
0
14
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
13
0
0
-1
-27
5
0
0
7
-37
-10
0
0
0
0
19
-7
0
3
2
0
0
-15
-17
0
0
9
0
0
0
-8
0
0
8
0
0
0
-11
0
0
0
0
0
0
8
0
3
2
0
0
0
1
0
0
0
0
0
0
20
0
0
0
0
0
0
41
0
0
-2
0
0
0
18
0
-4
4
6
0
7
26
0
0
0
0
0
19
24
0
0
-8
0
0
0
26
0
0
0
0
0
0
44
0
0
0
0
0
0
-11
0
0
0
0
9
0
32
0
0
0
4
4
0
-33
0
0
0
0
0
0
-4
27
0
0
0
0
0
-1
0
12
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
25
0
0
0
0
0
0
-6
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
10
8
-15
0
14
0
0
-62
3
-6
0
62
0
-1
19
2
0
0
19
-7
2
0
0
0
-2
0
0
-1
-1
0
0
0
0
0
-8
0
1
0
0
0
0
-1
0
-1
0
0
0
-4
-54
0
0
111
0
0
0
-4
0
42
24
-56
46
0
0
-5
-19
1
2
-18
0
0
-24
2
0
6
50
8
0
-44
68
0
-6
87
0
0
-8
-16
0
0
7
-1
0
0
-11
0
0
8
0
0
0
11
0
51
0
7
0
0
0
0
0
0
0
-1
0
-23
2
11
0
0
0
-1
37
-31
0
0
0
0
9
-38
-4
0
34
0
2
0
-4
0
0
-11
0
0
3
62
-8
0
-18
0
-8
0
-45
0
0
-7
-2
0
0
29
0
0
-13
2
0
0
53
0
0
-4
0
20
0
17
0
0
0
-3
1
0
-14
0
0
0
0
0
-3
5
1
0
2
0
0
2
11
0
41
0
0
0
0
-3
0
0
0
0
0
0
-49
-1
-6
0
0
0
0
-25
0
0
-8
4
0
0
-51
0
-46
-1
0
0
0
-2
0
0
1
0
0
0
-25
0
-8
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
-6
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-7
0
0
11
0
0
0
7
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
-30
-19
3
0
0
0
-6
39
0
0
0
0
0
-4
19
0
9
-24
0
0
-7
-10
0
0
2
0
0
4
-23
0
0
0
0
0
0
-13
0
0
-12
0
0
0
-33
0
-4
0
-4
0
0
-59
0
0
0
0
0
0
-9
0
0
0
0
0
0
-25
31
0
10
0
0
7
44
0
-1
0
0
0
1
-17
0
0
4
0
0
-2
43
0
0
0
0
0
0
-26
0
0
0
0
0
0
121
0
0
0
6
0
0
-37
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-1
0
0
0
0
0
-1
0
0
0
0
0
0
-17
0
0
0
0
0
0
3
0
-4
0
0
0
0
45
0
0
0
15
0
0
-26
0
3
0
0
0
0
-7
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
48
40
-12
41
-15
26
-6
4
41
-38
-34
-29
-25
-8
-18
-4
27
-22
-41
-20
-18
-18
-10
-8
-43
3
-17
29
12
-5
-45
-54
24
-32
0
-13
10
-1
-13
-4
-18
0
3
9
0
-1
-35
-55
13
19
-11
0
6
18
1
70
44
-70
52
42
-26
-17
48
3
14
6
-15
6
40
6
-4
5
70
-4
-38
44
-30
-25
2
20
-33
-19
-23
-13
-22
-25
-4
-16
7
-2
0
-18
1
-20
-26
23
-22
4
-1
-18
0
26
18
-24
0
15
39
28
-1
29
-24
13
28
9
12
54
5
12
32
16
8
-6
21
7
-6
-5
-9
20
59
24
8
63
-38
-2
-18
-16
13
-7
-58
11
-19
4
-17
2
28
59
-19
-5
44
-22
-19
9
23
8
-13
-1
9
-20
-6
-11
12
-6
35
-20
15
40
10
0
-1
19
8
0
-3
6
63
27
-24
3
-37
-17
-4
-10
8
-42
-9
-3
68
15
-47
-2
14
4
-6
-23
76
9
11
-55
6
33
44
23
-4
-11
33
15
20
-14
-3
-5
2
-81
4
-9
-28
3
-20
-2
-14
18
14
26
0
5
3
-1
-52
-7
-21
2
-3
23
-11
5
4
-46
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
-9
-30
-17
0
0
-8
-3
10
14
8
2
0
-3
0
21
16
0
0
0
-8
0
-8
2
-7
0
-2
0
0
-24
0
0
0
0
0
-5
-6
0
0
55
0
0
0
1
8
3
25
3
12
0
0
-45
0
0
0
38
0
0
31
-12
0
-28
21
2
0
-35
-31
0
1
-47
2
0
-16
-21
0
0
12
1
0
-3
-24
0
0
-2
0
0
-4
-11
0
9
-2
28
0
-6
-19
0
0
0
0
0
0
-22
15
0
0
0
0
0
-21
0
0
8
0
0
18
0
-9
-6
20
-17
0
-7
21
0
0
24
-6
0
-11
11
0
0
-21
-3
0
13
-63
0
0
-43
6
-4
-3
-35
0
10
29
-17
0
0
38
0
0
9
0
-3
0
59
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
-1
-2
-4
0
0
0
0
3
42
-2
0
0
0
14
0
-3
-19
0
0
0
20
0
0
0
0
0
-2
-24
0
0
-8
-15
0
0
3
3
9
28
0
0
0
7
0
0
-11
-12
0
0
0
0
-21
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
12
-17
0
0
16
0
19
9
-3
0
-1
24
5
0
43
11
0
0
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
-11
0
0
19
0
0
0
0
15
69
7
-57
-5
0
0
-35
-30
0
-1
-29
0
0
56
-55
0
1
-22
0
0
-6
5
0
0
74
0
0
5
24
0
0
17
1
0
0
-40
0
0
-1
0
0
0
49
0
-13
-11
0
0
0
57
0
0
0
0
-2
0
-7
0
0
0
0
0
0
33
19
0
2
0
0
-9
7
0
4
-7
8
0
-10
-7
0
0
-2
0
0
3
-15
0
-7
-16
0
0
0
23
0
0
3
0
4
0
8
0
0
6
5
0
0
29
0
0
0
0
-4
0
1
0
0
0
0
-8
0
42
0
0
0
0
0
0
81
-10
0
0
0
0
0
55
0
-23
0
0
0
0
19
0
0
9
0
0
10
-19
0
-3
0
0
0
-1
27
0
32
13
0
0
-2
-34
0
-9
0
1
0
0
-52
0
0
0
18
0
0
-15
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
4
69
-22
0
0
-3
-7
28
17
-3
0
0
19
0
21
-3
-15
0
0
0
-8
-1
0
6
0
0
0
0
4
0
0
0
0
0
0
-49
0
0
14
0
0
0
1
0
55
-34
29
49
0
0
-9
74
0
0
8
0
0
-9
0
0
-25
-43
0
0
52
-25
0
4
-6
0
0
0
1
0
0
27
-2
0
0
-14
0
0
24
0
0
0
-54
0
17
0
23
0
0
47
0
0
0
0
0
0
16
-2
2
0
0
0
0
-14
1
0
2
0
0
1
101
0
3
-16
2
0
0
76
0
0
0
0
0
6
-22
0
0
1
0
0
0
-5
0
0
-8
0
0
0
21
0
0
-12
-6
0
0
-50
0
0
0
0
0
0
27
0
0
0
-4
-7
0
-8
0
0
0
0
0
0
-23
3
0
0
0
0
0
4
0
4
0
0
0
0
-15
-1
2
-1
0
0
7
24
0
0
0
0
0
0
4
0
0
0
-11
0
0
-18
0
-4
0
0
0
0
-51
0
0
2
18
0
0
-31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
49
-1
20
20
41
16
-15
-2
26
-41
12
-10
-25
-14
-17
25
-49
-3
22
-9
-9
-3
-28
-1
-14
-1
-11
-16
-6
-43
-31
-15
19
-9
-23
2
-27
-18
-18
21
-13
-19
42
-14
-34
-7
-73
-25
52
28
66
-10
25
-49
-41
14
45
-44
14
41
-26
25
31
24
8
14
11
5
41
12
-27
17
13
-19
52
65
-6
-14
-3
45
-14
5
12
-8
-6
11
-73
-21
-29
-8
4
-17
-48
-8
17
-7
-47
-33
-4
-3
45
2
-24
-22
-20
0
-12
-11
8
-11
9
-36
22
48
-24
-2
-64
-65
12
14
23
4
31
-6
10
5
3
4
43
11
2
35
13
-18
-1
9
6
-6
-13
-2
-5
2
12
3
-17
37
-30
1
-54
-4
-15
13
-14
0
-6
60
-26
2
15
10
-19
-5
-63
-6
-51
3
-6
-45
13
-44
-55
-48
20
-10
72
13
29
34
-45
-14
22
32
11
12
-28
14
-61
27
-8
0
0
-4
-1
-8
41
15
6
3
-38
25
56
-20
52
3
-35
-6
-6
-11
-27
-44
4
23
16
-15
-45
-28
-20
-3
-13
16
-13
3
-8
-8
-8
20
-16
53
7
-7
-40
29
18
-5
-20
6
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
63
0
0
-34
9
0
0
-14
0
36
-27
-18
0
0
6
0
43
7
-4
0
0
1
0
31
0
-4
0
0
-3
0
-11
0
0
0
0
0
0
-19
0
0
-3
0
0
0
54
0
12
-23
-34
31
0
0
29
21
-1
-11
14
0
0
-54
55
0
24
-4
0
0
-15
-66
0
-3
18
0
0
2
-17
0
0
7
0
2
1
0
0
0
1
0
0
0
-3
0
-17
5
0
0
0
-15
0
0
0
0
-4
0
20
-1
-12
0
0
0
0
-26
4
8
-9
0
-1
6
20
0
-6
81
33
-3
28
-31
0
-1
11
0
-1
58
-40
0
0
-28
0
18
52
-12
0
0
20
0
0
-9
5
0
0
-13
2
-14
10
-3
0
0
-4
0
4
0
-14
0
0
0
0
-31
0
-1
0
0
0
0
-1
0
16
-15
0
0
0
0
2
-13
-7
-29
0
0
0
5
-23
0
-14
2
0
2
-6
8
0
9
-32
0
-10
-9
-14
0
-1
61
9
-2
-7
23
0
-7
-10
0
-1
0
-31
0
0
-19
0
0
0
-18
0
-29
0
0
-4
0
25
-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
-40
0
0
0
28
7
0
-45
0
0
0
-4
0
0
25
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
-12
-1
0
0
-9
0
0
0
0
0
-23
95
4
3
0
0
9
2
0
0
9
0
0
47
4
0
-21
-6
11
0
-51
-10
0
6
22
0
0
-3
-62
0
0
-23
-2
0
11
-17
0
0
-13
0
0
0
-31
0
-16
-6
14
0
0
-39
0
0
0
0
0
0
6
43
0
0
0
0
0
23
1
0
4
0
0
2
23
0
2
24
1
0
40
23
0
4
37
0
0
-11
0
0
0
-5
-7
0
-13
-22
0
0
17
-3
0
20
17
0
0
-19
16
0
1
-17
0
0
1
0
0
0
-2
0
0
0
1
0
0
-1
0
0
0
0
0
0
13
3
0
0
0
0
3
35
0
-21
4
0
0
-5
35
0
-9
0
0
0
0
-3
0
19
5
0
0
0
7
0
0
-3
-5
0
0
8
0
4
22
1
0
0
-7
0
0
0
-3
0
0
-9
0
19
0
0
0
0
27
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
5
23
46
30
18
-3
24
-36
-6
-49
-63
-48
-34
-18
-19
-16
-32
-59
-37
-21
-13
5
-19
-5
40
-47
-38
-10
-45
-6
22
-29
11
-30
-12
-19
-26
-4
-19
-39
-53
-39
7
23
3
6
37
-22
-2
50
-1
8
3
33
-29
15
33
21
1
19
19
2
64
25
17
15
-11
5
-48
19
-8
-11
-70
-53
-23
-25
-14
-18
-10
15
-32
-17
-17
-2
-27
-13
-56
-8
-36
-14
14
-36
-16
-9
-9
-65
-61
-23
3
-6
5
3
-35
10
-20
-7
23
22
17
-7
-75
-25
34
18
7
4
30
10
28
7
6
11
19
14
-39
-2
7
9
4
-43
6
21
7
-6
-8
15
14
-1
3
-19
-39
-1
-23
-33
-12
-10
17
-10
-3
-12
-20
-23
-4
9
-28
-6
-35
14
-7
-18
8
-19
-11
-37
47
-35
-14
-10
38
15
-17
46
19
29
-33
48
4
27
5
13
39
-38
10
1
-27
-5
-6
11
-76
13
-5
18
-7
7
10
9
-11
-8
-15
3
16
-13
6
42
-3
-6
0
1
-1
1
84
2
38
-32
-1
-1
-1
24
2
-20
-11
-12
-9
-3
16
1
26
-110
52
12
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
60
26
-1
15
-1
0
0
44
-10
-5
8
-7
0
0
0
-19
-10
1
7
0
0
0
0
-27
2
-16
0
0
0
52
-63
0
0
-3
0
0
0
15
3
37
13
11
-1
0
0
29
23
0
0
3
0
0
-50
0
10
-79
-13
5
2
-19
14
0
-3
-54
0
0
-25
-33
0
-1
-54
8
0
6
-48
0
0
-21
0
0
-1
-21
0
-32
0
-23
0
26
-5
0
0
0
-1
1
0
-4
-1
19
0
0
0
0
72
32
6
7
0
0
63
-21
-4
-26
-13
-17
0
-4
0
2
6
-25
0
0
-7
-4
1
0
11
-1
-3
1
12
2
0
0
-1
-7
-1
-38
0
0
1
-7
-21
0
27
0
0
0
0
7
0
27
0
0
0
-3
6
0
-17
0
0
0
0
0
0
72
6
0
0
0
0
4
56
0
60
-2
0
0
13
0
0
0
36
-1
0
15
-9
6
6
9
1
0
-15
49
0
4
-2
-37
0
0
26
0
60
0
-3
0
0
1
0
0
0
16
0
0
24
0
31
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
-41
3
0
3
2
36
0
-28
-1
0
0
6
0
11
4
17
0
0
13
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
-5
0
0
-4
0
0
0
0
0
-9
7
54
1
0
0
0
57
0
0
45
0
0
-12
-11
0
-37
37
-13
0
26
-48
0
0
-3
0
0
-7
20
0
0
-16
0
0
0
19
0
0
3
0
0
0
1
0
-10
6
0
0
0
23
0
0
0
0
3
0
13
18
2
0
0
0
0
-36
-13
0
0
0
0
-22
26
0
0
26
0
0
0
-17
0
0
-7
0
1
32
-18
0
6
-41
-1
0
-2
-2
0
0
-12
0
-32
11
42
0
0
-3
0
0
0
19
0
0
0
0
0
0
24
0
0
0
0
0
0
16
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
-9
0
0
0
23
0
1
0
0
0
3
-14
0
6
0
0
0
-3
18
0
0
0
-1
0
0
-20
0
10
0
0
0
0
37
0
28
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
12
-2
0
0
0
0
0
0
17
0
0
7
0
-28
0
-1
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
24
0
0
0
0
0
71
-33
0
0
-40
0
0
13
-13
0
11
16
-3
0
-15
-71
0
0
-13
0
0
2
10
0
0
-6
0
0
0
5
0
0
0
0
10
0
18
0
10
0
0
0
0
27
0
0
0
0
-1
0
-42
12
0
0
0
0
0
-6
2
0
0
0
0
3
-20
0
0
2
0
0
2
13
0
0
0
0
0
0
43
0
-18
-1
3
0
2
-68
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
53
0
0
0
0
0
0
17
0
0
0
0
0
0
4
1
0
0
0
0
0
-1
0
11
3
0
0
0
-18
0
0
0
0
0
-7
11
0
1
0
0
0
0
-1
0
0
0
0
0
-2
16
0
1
11
3
0
0
20
0
0
0
7
0
0
-3
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
-5
38
6
26
-45
1
-15
11
8
-1
-44
-52
-13
-2
10
-43
23
-25
-28
-1
-1
6
-39
-5
-21
-6
-19
0
-1
0
-20
-25
0
0
-10
0
0
14
-20
-3
43
25
25
-9
-4
0
35
-4
-2
-9
26
-11
14
26
27
-8
5
38
-8
25
19
30
21
6
32
-32
18
-11
16
-18
1
-40
13
-50
-25
-2
0
-2
-24
-1
20
15
-6
-1
-21
-9
-15
-26
0
-23
-1
-3
4
2
-13
-1
-32
-58
-2
0
9
-19
7
47
-35
31
66
-10
-2
54
26
17
6
-19
31
38
21
16
0
55
5
42
26
5
-10
-40
-17
-28
37
29
33
-8
-20
75
1
-28
-23
31
-5
-20
-28
-6
14
-16
-47
-6
0
1
-11
-5
4
2
-24
-1
12
28
-76
-36
0
-11
-48
0
0
5
-29
1
27
57
-16
7
-6
0
14
40
3
34
-22
6
9
-37
18
-1
50
52
-25
0
-18
-10
-9
-9
-2
-9
22
38
-18
25
-33
3
-20
-8
4
-13
6
-27
-14
-37
20
-38
12
0
-2
4
-16
1
0
-11
0
-43
4
-16
53
0
19
7
-2
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
37
0
-9
7
-13
0
0
0
0
0
0
-4
0
0
0
0
-4
0
0
0
0
0
0
-11
0
0
0
0
0
0
3
0
0
-24
0
0
0
0
0
7
-1
0
-10
0
0
21
-25
0
0
49
0
0
-36
12
0
-12
-22
0
0
15
-70
0
0
3
0
0
-13
-36
0
0
-7
0
0
0
-62
0
0
16
0
0
0
-54
0
-62
0
0
0
0
-18
0
0
0
0
0
0
8
0
15
0
0
0
0
-13
0
0
0
0
0
-2
12
3
-1
56
1
0
0
13
0
0
0
0
0
9
-38
0
0
-4
3
6
7
10
0
0
13
0
0
0
26
0
0
39
-1
0
0
18
0
0
0
0
2
0
54
0
0
0
0
0
0
20
0
0
0
0
0
0
17
0
0
0
0
0
0
-42
0
0
4
0
0
0
-39
0
0
0
0
0
-1
-26
0
0
-2
0
0
0
-54
0
0
2
0
0
0
-21
0
7
-7
0
0
0
-10
0
0
7
0
0
0
-17
0
0
0
0
-13
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-34
0
9
32
33
0
6
0
0
23
15
0
0
-34
-10
0
16
16
0
0
-1
6
0
5
8
0
0
0
-15
0
0
0
11
0
0
0
0
15
15
11
35
70
-10
0
-17
-38
-4
0
2
0
0
12
0
18
15
-12
-79
0
57
-11
0
27
25
0
0
9
3
6
-6
2
8
0
50
-17
0
0
5
0
0
-29
4
0
-26
-42
6
0
0
23
0
0
-7
0
0
0
18
-63
15
0
0
0
0
15
76
0
0
0
0
23
-29
11
16
24
-37
0
23
19
-13
-8
-35
0
0
90
0
-5
44
19
-31
0
50
1
0
12
15
-16
0
-46
0
9
0
31
-13
0
23
15
0
0
1
0
0
0
18
0
-7
7
5
0
0
3
0
0
0
0
0
0
3
9
0
0
26
0
17
-89
19
83
-10
-4
0
-7
25
0
-18
18
20
0
12
7
-1
35
25
0
0
29
7
0
-33
36
-9
0
40
-5
0
-36
-21
7
0
10
-23
0
0
16
33
0
0
8
0
-23
1
0
0
0
26
27
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
23
21
0
-2
6
-12
-49
-23
10
-8
-28
-34
-12
-55
29
11
34
3
-28
-13
-3
2
30
-1
9
-10
-25
-6
-10
-7
0
-3
7
-12
-2
14
26
0
19
-18
28
2
17
46
-5
23
-16
-15
14
29
68
15
6
17
4
-34
12
-19
-32
15
-37
21
20
2
34
-25
-5
-10
-7
-76
-21
-1
22
3
2
-14
44
5
17
10
-24
-9
11
42
-8
-1
-7
13
36
-63
5
-1
2
26
9
18
50
-8
21
26
7
9
36
-50
-29
9
27
-55
27
-1
-3
-9
8
-39
-68
36
-21
41
-53
0
33
14
9
-1
-53
-59
-8
-4
-48
13
53
10
-37
-2
1
-9
5
-9
21
-7
6
-15
-12
6
-19
6
9
4
-2
-12
-37
-24
-4
0
-13
-2
-3
0
-48
9
0
7
-30
14
11
-48
-1
-2
-2
-3
-8
22
-3
33
-66
17
3
-15
1
-8
-19
-7
8
-51
13
-18
-27
-6
44
-6
-3
20
19
11
11
-77
-4
-43
-8
14
-24
-20
12
0
-36
90
29
-15
12
-3
13
0
-3
8
33
29
-2
-12
2
-6
-1
-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
-50
-17
25
-3
-9
0
7
12
37
-1
-2
9
4
-21
19
6
0
-1
-3
-1
-21
0
4
0
0
33
-16
-15
0
0
11
0
0
0
-25
39
23
-21
34
0
17
-18
-23
5
-2
0
-41
1
-4
19
37
2
33
34
-1
-30
-35
0
42
-58
0
-5
-11
0
-2
0
-5
-5
-54
-8
-29
-2
0
-1
-42
0
-4
0
5
0
6
-3
-35
-49
0
-2
0
-1
-1
0
-55
0
-6
57
19
0
1
0
0
40
5
-6
29
-1
0
-28
28
46
12
21
11
9
-21
0
-4
15
26
2
-17
47
0
0
15
43
76
36
20
8
-2
-33
-68
-4
12
-11
7
0
-3
5
12
-60
0
-8
0
-1
54
1
-36
0
-23
0
1
0
8
-22
0
-13
-1
0
0
0
-2
0
17
-57
-11
-18
7
3
66
42
-14
-15
85
0
0
-14
-31
13
-53
-37
-21
1
11
0
7
-13
-29
3
1
-27
-9
0
-19
-26
-42
27
-3
-17
0
-30
-36
-35
40
0
-25
0
-1
-8
-3
2
0
-32
0
14
0
0
40
0
-26
3
-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
-21
22
0
0
26
0
0
0
-7
0
0
0
0
0
0
0
0
0
19
0
0
0
-9
0
0
0
0
12
0
0
-18
0
0
0
0
0
-25
-53
5
-30
0
0
-4
0
0
0
16
0
0
-15
2
0
19
44
-7
0
87
-3
0
0
-30
0
-1
-19
-38
0
0
3
0
0
0
0
0
0
-15
0
6
0
-17
0
35
1
-3
0
0
36
0
0
0
0
0
0
-27
0
0
0
0
0
0
-13
-2
0
0
0
0
0
65
0
-2
-11
1
0
0
-13
0
0
0
0
0
6
-10
0
-2
-51
0
0
13
-7
0
0
7
0
0
0
1
0
0
15
0
0
0
31
0
0
0
0
10
0
77
0
0
0
0
7
0
-42
0
0
0
0
0
0
-8
-1
0
0
0
0
0
-3
0
10
0
0
0
0
-7
0
0
0
0
0
0
36
0
11
0
0
0
0
29
0
0
0
0
0
0
-36
0
2
0
0
0
0
-8
0
0
0
17
0
0
-48
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
-8
-10
0
6
10
0
0
0
6
1
0
0
0
2
0
10
0
0
0
0
-1
0
3
0
0
0
0
-7
0
0
27
0
0
0
0
0
-10
9
-1
-2
0
0
-33
43
-1
0
-58
0
0
-64
4
0
50
65
9
0
-45
21
0
0
-5
0
0
7
-30
0
0
-7
10
10
0
-4
0
0
-1
0
0
2
10
0
-20
0
-1
0
0
2
0
0
0
0
2
0
-40
-1
0
0
0
0
0
38
0
0
0
0
0
3
-26
3
0
-10
3
0
2
-9
0
0
6
0
0
28
1
0
3
30
2
0
0
-59
0
15
51
0
-4
0
82
0
0
0
0
0
0
49
0
0
0
0
24
0
7
0
0
0
0
0
0
-28
0
0
0
0
3
0
36
3
0
0
0
0
0
24
1
0
0
0
0
0
40
0
0
0
0
0
-12
-12
0
-1
0
0
0
0
20
0
0
0
0
0
0
33
0
0
0
0
0
0
-22
0
0
0
0
0
0
-13
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
8
3
29
25
-34
38
-2
-1
-14
-11
26
-23
17
0
-2
0
-1
7
-3
-12
0
0
6
-6
1
-1
-2
-19
0
0
30
29
-3
24
-1
-33
46
-32
2
-25
-5
7
-3
6
0
-11
-8
22
72
-52
30
-9
46
0
-1
-11
-3
-5
-11
48
42
33
-1
12
23
9
10
4
-2
-2
19
-28
-4
19
-6
13
-2
-13
7
-16
-15
-1
-14
0
-3
-1
-1
-19
0
5
12
-31
0
-11
8
13
34
-5
19
-51
4
4
-13
18
36
-35
43
-12
-5
34
10
44
19
36
0
-40
8
9
-32
-55
39
17
-69
34
5
59
22
-100
-44
15
12
16
12
-8
-27
33
0
46
1
2
-7
-3
-10
43
0
3
0
-1
0
-12
-6
0
23
-2
-2
0
58
13
-2
24
-14
-4
-21
-19
1
-35
-8
1
-25
55
-3
45
-14
11
11
17
21
-26
-29
-38
1
27
-18
-15
15
12
-31
6
14
55
53
8
24
-44
22
0
-19
36
15
43
-18
6
-8
2
8
-22
30
-4
-9
0
8
39
14
40
0
1
-21
-2
-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
-28
-32
-12
-7
25
0
12
16
-21
0
-10
7
0
38
-18
2
0
7
12
0
11
-4
-47
0
0
6
0
2
0
-30
-20
0
-1
0
-9
19
0
-33
-28
-41
0
0
-6
-7
6
-8
10
0
4
-14
33
22
-31
12
0
-10
4
8
0
-14
6
0
8
21
-28
-2
-6
0
0
14
6
-5
0
13
19
0
-25
21
4
0
16
26
0
-13
-13
-11
-16
1
-4
0
16
0
-2
-31
21
0
0
-2
0
-3
10
11
-13
0
0
-55
-8
31
13
-3
-4
30
6
20
0
13
25
0
-21
5
7
-1
37
5
0
-16
26
10
-2
15
-3
-7
-2
7
-11
-9
-11
46
0
18
26
4
0
6
37
0
13
18
1
-1
13
63
0
10
0
3
-26
-2
0
0
-26
0
-4
2
17
2
0
0
7
41
40
-21
17
0
-16
11
23
-1
-44
-2
0
-3
-46
7
15
11
-27
0
12
-13
13
-14
23
26
-8
-3
13
25
0
1
8
0
62
0
4
0
39
49
6
64
0
6
0
9
11
0
5
0
-1
-20
-4
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
-19
0
0
0
-8
0
0
-35
62
0
0
32
-53
0
4
5
0
0
11
4
0
0
-7
0
0
0
20
0
0
-4
4
0
0
0
0
-2
15
-18
-33
11
1
0
6
10
0
0
-27
0
0
12
13
-6
21
-19
-30
0
-41
-38
7
-2
-7
0
0
16
11
0
0
20
1
0
45
9
0
0
14
0
0
28
1
0
-13
40
-2
0
0
-3
0
1
2
0
0
0
36
-5
-6
0
5
0
-10
2
59
0
34
0
0
-1
25
26
22
-2
-17
0
32
9
0
-17
41
0
0
2
-9
0
0
29
14
0
22
13
0
-28
33
0
0
2
5
0
0
26
-4
0
1
18
0
0
-13
0
0
-1
15
0
0
7
-6
0
0
23
28
0
0
0
0
0
5
8
6
2
0
0
27
-2
3
30
26
0
0
53
15
0
-24
16
-16
0
-32
4
6
36
32
0
0
57
15
0
-28
55
35
0
-9
-1
-8
55
29
17
0
-2
-2
0
4
0
1
0
-1
-11
0
-7
3
0
0
0
51
-6
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
12
3
34
21
0
0
10
-10
-14
0
-2
0
0
0
-17
-3
0
0
-10
0
-1
41
3
10
0
0
-28
6
-2
1
15
20
0
8
34
-24
-7
-24
12
-33
-7
-10
4
5
-83
-13
-18
-5
-2
70
-53
4
13
-6
5
8
-23
-25
16
-15
4
8
25
29
-18
0
6
0
-7
4
-5
-20
0
-3
0
0
-12
0
-45
0
5
0
-4
0
-5
0
4
4
-17
11
38
-2
0
2
5
-18
42
0
-7
3
-27
8
1
-48
55
2
5
60
8
-25
16
13
27
-1
17
-7
-8
41
12
-13
-4
-4
4
-3
6
13
0
-11
0
0
0
-1
35
-2
13
-3
11
2
0
10
-22
5
0
-10
29
2
0
9
5
-10
-13
-19
-2
-17
-36
-6
-15
-69
-16
22
-10
-9
-20
6
8
0
28
-18
-19
9
7
-7
12
3
-4
-9
53
-3
-5
9
54
29
-26
11
2
-3
0
2
-15
-12
8
0
2
0
2
25
-25
30
0
13
1
-4
22
1
-37
0
3
-21
-2
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
-13
29
4
13
-5
-5
0
31
-10
0
0
52
0
30
1
-19
0
0
1
19
2
0
0
13
0
0
0
26
13
-45
-33
-23
48
-3
0
9
-5
-3
0
-20
0
9
-47
18
17
9
-19
-24
6
33
4
-12
75
12
9
54
31
0
4
8
-1
42
-22
0
-15
0
-9
13
0
6
-8
2
0
-9
5
-24
32
0
-19
0
-1
0
-4
-24
0
-21
-3
8
0
-6
0
0
-46
59
-4
-50
12
0
-45
0
20
-22
6
10
-7
-9
22
-12
-76
-21
2
-17
34
-12
59
-19
-9
1
-24
20
0
3
-6
26
-15
-14
-21
13
0
32
40
9
12
5
0
0
-1
5
0
-47
-8
-12
0
-3
-1
-22
-24
0
-38
-7
-1
0
0
5
0
-45
-5
-12
0
1
-1
-1
-13
-9
-15
-51
-2
0
-23
-5
-8
-49
33
1
1
-33
14
-17
8
-46
0
1
-1
0
2
-18
-1
-21
28
23
5
0
-26
-1
21
1
0
2
0
-1
-58
-3
-13
4
-2
0
-9
-4
0
-3
0
-19
-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
-2
0
0
-13
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
14
0
0
-6
0
0
0
0
0
55
34
-13
-2
0
0
-8
24
0
0
-16
0
0
36
-54
0
10
7
0
0
-15
-53
0
0
37
-2
0
5
2
0
0
59
0
2
0
-39
0
0
-1
0
0
0
-56
0
-2
-10
-1
0
0
-40
0
0
0
0
0
0
-3
0
10
0
0
0
0
-13
1
0
0
0
0
2
-39
-18
-1
-15
-2
0
-13
11
0
9
16
0
-3
-4
-38
0
8
8
-16
0
0
-67
0
0
-28
0
12
2
-23
0
0
-8
1
-3
0
35
0
0
0
0
0
0
-26
0
0
0
1
0
0
-20
1
0
0
0
1
0
-9
0
0
0
0
0
0
-9
0
1
13
0
0
0
10
0
0
-1
0
0
-11
-25
0
7
-1
0
0
-4
-25
0
-13
0
22
0
0
-39
0
-2
0
0
0
0
-27
0
0
0
7
0
0
-35
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
4
0
0
0
0
0
-53
4
-2
10
0
0
-4
62
0
0
3
0
0
1
-14
0
4
40
11
0
-18
-7
0
0
17
0
0
-2
65
0
0
1
10
0
0
-3
0
0
0
0
0
0
-19
0
1
0
-1
0
0
-13
0
0
0
0
0
0
-19
7
0
0
0
0
0
-60
0
0
0
0
0
-7
1
-3
0
-12
4
0
0
-28
0
0
0
0
0
0
89
0
0
-12
12
0
0
44
0
0
0
0
0
0
39
0
0
-2
2
0
0
-32
0
0
0
0
-10
0
23
0
0
0
0
0
0
16
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
-7
0
0
0
0
0
0
-27
0
0
0
0
0
0
2
0
0
8
2
0
0
-5
0
0
0
-1
0
0
-39
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
-46
26
0
1
0
11
-3
28
18
0
0
4
-1
-16
10
17
0
0
0
7
7
0
0
21
0
0
0
37
-3
22
7
0
-13
-1
0
-60
-3
0
0
-7
0
12
-30
-4
0
-13
4
13
4
-1
3
-2
5
14
0
-1
51
27
0
-1
27
2
8
46
-12
0
0
-9
0
-13
7
19
0
9
0
4
0
0
5
1
0
0
0
-30
0
19
22
21
0
33
0
0
31
-17
-3
0
0
0
55
15
13
-15
11
11
-10
-4
8
0
39
38
0
19
13
-5
-10
36
-20
45
8
25
0
-3
0
-2
6
4
6
3
0
0
0
-47
26
11
-8
0
0
1
0
6
0
22
0
0
0
21
7
0
19
10
0
0
0
10
2
17
-1
0
-2
0
0
-1
-19
-1
-5
0
0
-1
14
-20
0
21
-17
5
0
-2
-19
0
-31
-6
0
1
-7
20
0
-1
0
-42
-3
-7
2
0
-7
12
-1
-19
0
-7
-15
0
0
4
-11
0
-3
0
28
0
-4
-7
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
4
18
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
43
0
0
-8
0
0
0
0
0
-10
-2
0
1
0
0
-11
12
0
0
-4
0
0
1
56
0
26
3
0
0
0
-8
0
0
-20
0
0
16
-14
0
0
4
0
0
1
-42
0
0
-1
0
0
0
-2
0
-16
0
0
0
0
38
0
0
0
0
0
0
-1
-4
0
0
0
0
0
-4
0
0
0
0
0
0
9
0
0
12
0
0
0
-38
0
0
17
0
0
0
-49
0
0
18
7
0
0
9
0
0
-1
0
0
0
-10
0
0
3
-1
0
0
-62
0
0
0
0
0
0
60
0
0
0
0
2
0
32
0
0
0
0
0
0
12
0
0
0
0
0
0
11
0
-3
0
0
0
0
30
0
0
0
0
0
0
63
0
-1
1
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
11
0
0
0
0
0
0
-84
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
-17
1
0
0
12
-20
0
-10
6
0
-3
-5
-9
0
0
-22
0
0
0
-3
0
0
-13
-14
0
0
0
0
-30
14
-13
-2
-19
3
0
-29
-18
0
0
8
0
0
14
6
-1
-25
-2
8
0
-28
-17
0
-7
1
13
0
-7
-23
0
0
-15
-46
0
11
-20
0
0
23
0
0
9
-2
0
-21
-6
-11
0
19
0
0
0
16
0
0
0
9
3
1
0
0
0
0
7
2
7
0
0
0
31
10
5
8
2
4
0
31
15
0
4
1
0
0
57
-5
0
3
27
-35
0
-2
-11
0
9
-4
-29
0
-2
-2
0
-1
8
-9
0
-38
26
0
0
32
0
0
-3
4
0
0
-3
12
0
0
3
-13
1
0
0
0
0
30
4
0
8
2
0
-4
-29
0
32
54
0
0
-6
22
0
-7
34
-9
0
8
13
4
6
19
0
0
8
2
0
-12
34
45
0
-10
8
0
-10
65
0
0
-3
-10
3
0
-2
-4
0
0
5
0
8
0
0
0
0
2
-14
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
19
-6
43
0
5
0
0
0
13
-24
0
9
-61
0
0
0
-4
0
31
-8
-58
-4
0
0
-19
5
0
7
19
0
0
-18
23
0
69
41
4
0
-18
10
0
0
14
0
0
0
-19
0
-2
18
46
-9
0
-32
0
0
28
0
0
0
-21
0
9
-32
28
0
0
19
0
0
15
2
19
0
-6
-10
-10
0
-37
0
-2
45
42
0
0
0
0
15
23
36
-7
-9
0
0
-1
-4
0
0
4
-2
1
11
16
0
-24
7
-19
-4
6
2
0
3
42
-19
-14
0
-2
0
1
5
24
-19
0
-11
0
0
42
6
-52
0
17
0
0
2
-42
33
0
-4
0
0
0
10
6
0
30
-2
-4
0
0
0
0
-22
0
-21
-2
4
4
-7
-37
0
6
-6
4
-1
0
-24
0
7
-32
0
2
0
-9
0
0
-8
18
9
0
-15
0
18
48
0
0
0
-30
0
0
-35
18
0
0
-9
0
18
11
-6
25
0
-27
-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
24
-7
0
0
0
0
-24
0
4
0
0
0
-5
-1
0
0
0
0
0
0
-34
0
-15
-8
13
-7
1
0
16
-7
-8
0
-10
0
0
1
22
0
45
-30
7
0
-7
18
1
-1
7
-17
51
18
-23
0
1
51
26
-3
-3
0
0
-1
13
0
5
0
26
0
-17
38
31
-6
0
-1
0
-1
0
0
36
0
-6
-13
-41
0
9
0
0
-16
-1
3
7
7
0
58
-25
38
3
-29
-22
0
-9
7
0
35
36
0
-2
-6
18
-1
0
20
7
7
-24
-5
0
19
-37
1
12
-1
0
0
0
-25
18
8
0
0
0
1
16
-1
27
0
6
0
0
0
-27
-21
0
-20
0
-7
0
0
0
0
-21
13
21
2
11
0
0
-16
1
12
-9
0
0
2
-18
0
22
-34
14
0
-16
-8
2
-17
-55
0
0
-1
-21
-1
-4
7
6
0
-5
0
0
39
32
1
6
0
4
0
0
-15
-13
7
0
30
3
-18
0
0
-1
0
14
40
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-4
0
-6
0
0
1
44
0
0
-3
0
0
-3
-10
0
-7
-11
0
0
0
21
0
0
15
0
0
0
-4
0
0
-1
0
0
7
-9
0
0
0
0
0
0
0
0
12
0
3
0
0
3
0
0
0
0
0
0
-23
0
0
0
0
0
0
24
0
0
0
0
0
4
-9
0
0
0
-2
0
0
-2
0
0
0
0
0
0
7
0
0
-2
7
0
0
-43
0
4
0
2
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
0
-28
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
-11
0
12
0
0
0
0
-2
0
0
0
1
0
0
-6
0
-11
0
0
0
0
-1
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-47
-2
0
0
0
0
19
-2
0
0
-8
0
0
6
21
0
-2
37
-1
0
4
-45
0
0
2
0
0
1
0
0
0
0
3
0
0
-12
0
0
0
0
0
0
1
0
9
0
-1
0
0
11
0
0
0
0
0
0
20
-2
0
0
0
0
0
-42
0
0
0
0
0
0
-40
0
0
1
-2
0
2
28
0
0
1
0
0
-13
9
0
0
-1
0
0
0
-15
0
0
-1
0
0
0
4
0
0
-1
0
0
0
-65
0
0
2
0
6
0
-11
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
3
0
0
0
-4
0
0
0
0
0
0
3
0
0
-9
0
0
0
-5
0
1
0
0
0
0
4
0
0
0
0
0
0
-25
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-6
39
0
-2
0
0
0
11
42
0
0
-13
0
0
-2
-41
2
-20
16
-50
-34
16
0
-51
-9
0
0
8
0
0
13
41
0
-33
5
-15
3
8
22
0
0
-2
-12
0
-19
7
0
-16
-4
29
0
-31
9
0
19
3
0
0
-11
27
0
27
-1
21
-1
4
-4
0
0
0
-3
-4
0
-24
46
-36
0
-19
0
0
-23
20
0
19
0
0
-8
-4
8
67
10
-22
-5
7
18
0
0
22
0
-22
-13
-3
0
-61
-41
6
-18
4
-3
0
-11
-1
-8
5
14
10
0
-8
-3
0
6
-4
-2
0
0
0
0
28
0
22
0
0
0
-4
-1
0
-26
0
0
0
1
-11
0
8
1
11
0
-4
0
0
17
2
-45
-7
0
0
0
13
0
-7
0
0
0
11
-18
0
8
-12
0
5
0
-1
10
-7
0
-14
13
0
5
0
5
0
0
-6
0
1
0
0
0
-38
-30
0
10
0
-29
0
0
-8
0
-41
-7
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
30
0
1
0
0
0
0
14
0
0
-20
0
0
0
-2
0
-27
-52
25
3
0
0
-57
-28
-1
6
-8
0
9
2
18
0
4
6
0
-13
-10
-4
0
-4
38
0
15
28
-36
0
3
0
-4
22
0
0
0
-1
40
0
-2
12
-27
0
-14
24
0
-21
0
38
0
0
0
0
0
0
3
-25
-13
0
0
0
0
-19
23
0
8
0
2
18
-18
11
2
34
-1
8
-20
-5
0
11
20
0
15
17
-23
0
-11
-7
3
-13
21
18
0
0
-30
0
-16
3
-24
0
0
40
0
4
4
-4
0
0
14
0
21
0
37
0
-6
-20
0
-13
0
18
3
0
0
0
-2
0
-9
17
0
0
0
0
-2
-28
0
9
47
0
0
8
13
0
1
22
-2
0
4
10
0
-18
36
0
-20
-16
9
0
3
-50
0
-2
-7
-8
0
-28
-3
0
-4
0
20
0
0
3
0
55
0
42
0
-15
-24
0
-12
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
15
11
0
0
52
-6
0
2
-9
0
0
-9
4
0
0
9
-3
0
-1
4
0
4
10
-45
-25
-12
0
0
12
-7
-8
-4
14
0
0
9
6
0
-18
8
18
0
15
-8
0
-8
10
-18
0
-11
-6
0
0
17
9
0
12
-47
0
0
13
-2
0
48
-5
0
-49
29
0
0
0
9
0
0
-1
0
0
0
4
8
-30
0
-8
0
0
5
-37
0
49
0
0
-1
3
1
4
22
4
0
46
13
0
12
13
0
0
26
2
0
-6
42
-13
0
51
-4
-1
-15
9
1
0
18
4
-10
2
31
-12
0
-1
20
0
0
33
-2
0
-10
8
0
0
-6
74
0
0
-13
-2
0
0
0
0
0
41
-8
0
-13
3
0
11
-15
-8
-3
10
0
0
9
12
24
-29
-28
5
0
86
2
0
46
19
3
0
-16
14
0
-16
18
27
0
0
-19
0
-19
0
12
0
0
0
0
0
58
10
0
0
6
0
-15
-10
27
0
0
-27
53
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
29
0
0
-49
0
0
0
-16
0
-3
-2
16
2
0
0
-3
-14
0
0
22
0
0
-88
34
-2
-3
3
29
0
-16
28
0
0
30
0
-7
1
-13
0
0
11
36
10
0
-7
0
0
45
0
24
0
13
0
10
-8
20
0
0
-19
0
0
0
0
-10
0
-21
0
-4
0
3
-6
0
-9
-13
0
-2
0
0
0
-9
0
0
38
10
0
-3
9
0
-2
-9
0
-3
2
3
0
3
32
-9
-3
0
-3
0
0
35
0
11
0
19
0
0
58
14
25
0
0
0
0
18
0
-39
0
-13
0
0
0
18
1
0
-46
0
0
0
0
4
0
-20
0
0
0
0
0
0
-5
0
-27
6
0
0
0
-18
0
16
-5
5
25
1
30
-11
-3
-1
0
0
0
-1
0
-6
43
-6
0
0
-2
0
-33
10
0
-11
0
26
0
0
2
-12
11
0
-28
0
-23
0
0
3
0
-3
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
-6
0
0
0
8
26
0
-2
-3
0
0
0
-2
0
-29
-2
0
39
0
0
43
-14
0
0
-31
0
0
-37
45
0
-22
15
-4
-2
-27
2
1
0
3
-2
24
30
-11
0
-2
-18
-1
-6
-3
9
0
0
33
3
-4
2
0
0
32
8
13
2
0
-13
0
-4
0
0
29
0
-4
6
4
0
-32
-2
0
-12
-3
0
6
0
0
5
10
-18
-20
-7
10
8
-17
6
-2
-9
18
0
13
-19
10
0
-28
10
47
1
-13
19
3
6
3
0
-10
0
-26
1
0
29
31
-24
0
0
0
8
-1
-10
6
0
-3
-3
0
-4
-1
22
0
-6
0
0
0
0
0
0
-20
1
0
-8
-4
0
0
3
-1
-30
13
0
2
0
32
0
-5
-75
3
0
0
12
-1
-30
-47
0
-21
2
-12
0
5
-21
-26
4
0
-5
0
14
-4
0
19
-1
0
0
0
3
6
8
0
-48
0
-12
-2
3
3
0
21
-9
0
-13
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
16
0
0
0
0
0
9
-26
0
0
-2
0
0
-1
-7
0
-1
11
0
0
12
20
0
0
-1
0
0
0
5
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
-26
0
0
0
0
0
0
-15
0
0
0
0
0
0
11
0
0
0
0
0
0
-25
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-1
0
0
-1
0
0
0
42
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
0
0
0
0
0
-6
6
0
-10
0
0
1
-38
0
0
56
0
0
-10
-14
0
5
-13
0
0
6
24
0
0
0
0
0
0
12
0
0
-1
0
0
0
20
0
0
0
0
0
0
6
0
-3
0
3
0
0
4
0
0
0
0
0
0
-84
-2
0
0
0
0
0
-22
0
0
0
0
0
0
-36
0
0
0
0
0
0
7
0
0
0
0
0
0
-19
0
0
-1
0
0
0
-8
0
0
0
0
0
0
-4
0
0
5
-13
0
0
-56
0
0
0
0
0
0
-3
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
0
0
0
-28
0
0
0
0
0
0
13
0
0
0
0
0
0
-42
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
14
49
0
0
31
0
0
0
0
0
0
-1
-23
3
0
0
-17
1
0
0
18
0
0
-15
27
0
-20
-17
-11
-4
-7
8
0
0
-4
0
-2
26
0
0
2
2
13
0
47
-20
0
-1
-4
0
-10
9
-55
0
-13
0
-16
-2
0
-30
0
1
-1
0
-6
0
-24
-16
37
0
1
0
0
4
-17
0
0
0
0
0
-10
-7
1
0
1
0
1
7
6
0
6
0
0
21
-2
0
9
-2
-20
2
0
-22
-1
2
0
-1
6
-4
7
0
0
0
8
10
0
-5
0
0
27
0
0
0
8
0
0
0
-4
-2
0
5
0
0
0
0
25
0
13
0
0
0
0
0
0
7
0
-8
0
0
0
0
-9
12
0
0
0
-2
0
8
4
1
-2
0
0
0
33
0
0
0
-29
-4
2
-31
0
-10
28
0
0
0
1
0
0
0
0
0
0
-2
0
3
0
0
-1
0
9
-4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
-12
-4
2
0
0
-2
20
0
0
-8
0
0
-7
-11
0
0
-26
0
0
4
-27
0
0
-7
0
0
1
2
0
0
-4
4
0
-4
-50
0
0
-4
0
0
0
-14
0
-1
-3
-6
0
0
38
0
0
0
0
0
0
1
0
2
0
0
0
0
-27
4
0
0
0
0
0
10
4
-4
-1
0
0
0
-37
0
0
13
0
0
0
-31
0
-1
6
0
0
0
-21
0
0
-1
0
0
-3
5
0
0
-9
0
9
0
1
0
0
2
0
-4
0
-6
0
0
0
0
-2
0
-36
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
3
0
7
-13
0
0
0
-7
0
0
0
6
0
0
-13
0
8
3
0
0
0
15
0
0
0
0
0
0
3
0
-2
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
1
-6
0
0
-2
18
0
0
3
0
1
14
-53
-24
-14
-8
0
30
-4
0
0
32
0
0
11
6
0
-42
15
9
0
-2
9
0
0
-3
2
0
18
9
0
3
24
7
0
37
-3
0
12
35
9
0
8
26
0
-2
37
4
0
0
12
0
-1
-10
0
0
0
9
13
23
0
0
0
0
5
-7
-6
3
0
0
19
-24
6
20
28
17
0
-3
9
0
22
32
0
0
25
13
8
-3
41
-12
0
29
17
0
12
42
-6
0
0
24
-2
58
28
4
0
-29
5
0
-1
8
-1
0
14
6
0
18
15
9
0
0
0
72
0
0
0
0
0
23
2
0
3
24
0
1
-70
-15
-29
-10
0
0
-24
13
0
0
43
15
0
9
14
0
-25
39
0
0
-13
28
0
-21
35
-32
0
-71
8
0
-8
43
-16
0
12
0
0
1
7
4
0
0
11
0
2
20
0
0
0
6
-8
8
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
1
0
0
0
23
0
-2
7
0
0
12
7
0
0
-1
0
0
0
41
0
0
1
0
0
0
-60
0
0
35
0
0
0
9
0
-5
0
-2
0
0
-24
0
0
0
0
0
0
21
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
1
0
0
0
9
0
0
0
0
0
0
-28
0
0
-2
0
0
0
26
0
0
0
0
0
0
26
0
0
0
0
0
0
-52
0
0
0
0
0
0
32
0
0
0
0
0
0
-37
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
6
0
0
0
-9
0
0
0
-2
0
0
2
0
1
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-1
35
32
-94
74
0
0
-26
0
0
0
-25
0
0
-16
9
0
-47
21
28
0
22
19
0
0
13
11
2
0
-33
0
-9
-31
-20
0
49
-9
0
0
-25
0
-4
24
22
0
-5
-17
-8
0
16
0
-3
0
0
-2
11
0
-8
-24
-11
0
1
0
0
2
-3
0
-7
0
0
26
2
-5
-41
12
-16
0
30
-4
0
-11
-9
0
3
34
-9
-7
14
-24
31
8
-32
16
0
2
-48
0
-21
-24
-8
0
0
-41
35
-9
-1
35
0
0
-11
15
5
3
0
0
0
-1
46
-3
0
3
0
0
0
15
0
0
-4
3
0
0
0
0
0
-58
0
17
5
3
0
-4
23
0
46
41
-20
19
-1
9
9
22
-34
0
3
-13
-23
0
-20
-41
6
1
15
-10
0
-55
56
-6
-6
0
-5
0
0
-26
-23
3
0
0
0
12
0
0
0
0
-17
-6
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
0
0
-2
0
0
-4
38
0
-1
-1
0
0
0
11
0
0
0
0
0
0
6
0
0
4
0
0
0
71
0
0
0
0
0
0
-1
0
-2
0
-9
0
0
-1
0
0
0
0
1
0
-86
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-19
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
-27
0
0
0
0
0
0
0
0
0
0
0
-3
0
19
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-22
0
0
-3
0
0
-3
-7
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
0
0
0
0
0
-15
0
0
3
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
-23
0
0
0
0
4
0
1
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
3
33
0
0
11
0
0
23
-4
0
45
9
-10
0
-19
22
0
0
0
0
0
0
-18
0
0
0
-8
6
0
-39
0
0
0
0
0
0
0
0
-4
0
-2
2
0
26
0
0
0
0
0
0
33
-1
0
0
0
0
0
-1
0
0
0
0
0
0
-51
0
0
1
0
0
-28
-17
0
0
0
0
-6
1
-45
0
7
6
0
0
2
35
1
0
8
0
-33
0
-36
0
0
0
0
0
0
16
0
0
0
0
0
0
7
0
0
0
0
-1
0
-56
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-6
0
0
0
0
10
0
0
0
0
-1
0
1
0
0
0
0
0
0
-2
0
0
-2
0
15
0
11
0
0
0
0
1
0
-12
0
0
0
0
0
0
-13
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
6
0
38
23
6
2
0
0
-25
-16
0
0
-21
0
0
-12
28
0
19
21
0
-11
4
-7
0
0
2
0
-28
17
10
0
0
28
0
3
-11
3
0
0
22
0
43
0
-4
0
-5
24
0
0
-7
0
0
0
8
0
-2
0
40
-9
19
0
0
0
0
26
3
0
-3
0
0
9
-14
0
11
-20
0
5
25
9
0
0
54
0
-9
-4
8
0
0
7
0
8
51
-4
0
0
14
0
17
-14
-28
0
0
21
0
-9
-6
10
0
0
31
0
4
0
-1
0
0
-18
0
11
0
24
-9
0
0
0
-12
0
40
0
0
0
0
0
0
-14
0
45
1
0
0
29
11
0
0
-1
0
1
-26
24
0
-6
22
0
18
11
-17
0
0
8
3
-1
0
26
0
-43
-2
0
-2
0
8
0
0
-20
0
43
0
13
0
-32
8
0
16
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
21
-30
0
0
11
0
8
-1
-20
-1
-15
11
-3
14
3
6
3
8
2
-4
15
1
-6
-31
-8
-9
0
4
6
60
12
-4
10
0
24
12
0
-27
11
-7
0
48
14
0
2
25
47
0
-1
-11
0
-17
23
5
0
35
19
-28
-2
-4
43
0
0
-8
-37
7
6
-40
0
-22
-7
-21
-14
-8
-9
0
-9
1
67
-57
20
-13
11
39
5
3
55
11
5
10
40
15
-15
-28
21
-3
0
39
19
-6
-5
23
23
0
60
21
3
6
45
19
-13
63
16
0
-11
53
49
0
2
14
1
-16
18
6
0
0
-16
-36
-2
0
-12
0
-8
5
-55
-6
19
-59
0
2
-25
0
0
-14
-11
8
-72
-3
-3
6
-27
6
-1
20
8
-31
46
18
4
-4
29
21
3
45
32
22
0
-24
13
0
-10
61
-23
0
-6
-17
0
-1
28
-7
0
0
-9
0
-24
21
2
0
0
-1
4
21
-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
-10
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
2
0
0
8
-41
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
-28
0
0
0
0
0
0
-18
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
-41
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
-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
-36
0
-1
0
0
0
1
6
0
0
-25
0
0
-16
12
0
-1
-17
-6
0
-11
-3
0
0
4
0
0
0
0
0
0
-6
-13
10
0
-52
0
0
-7
0
2
0
-15
0
0
0
2
0
0
-13
0
0
0
0
-11
0
0
0
1
0
0
0
0
-24
0
0
0
0
0
9
-5
0
0
-6
0
0
0
2
0
0
0
0
0
1
-14
0
0
-18
0
0
0
-18
0
0
0
0
0
0
18
0
0
1
0
0
0
29
0
0
0
0
6
0
-8
0
0
0
0
-7
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
-15
2
0
0
0
0
0
-26
0
0
21
0
0
0
20
0
2
0
0
0
0
2
0
0
0
-1
1
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
-2
-46
8
-1
-11
7
-10
0
-30
1
23
-1
-9
68
-3
-1
16
46
-19
-14
71
-89
-21
-19
-12
-15
-1
3
16
-18
9
9
-48
-1
8
12
-23
-7
-21
5
-22
-1
-6
-40
-45
26
0
25
-1
-1
24
-2
5
0
4
0
12
0
-16
22
2
0
-3
11
28
-1
-2
0
8
-38
-5
14
-17
-4
-24
-18
-15
15
-12
-1
19
-76
2
-32
-3
0
-21
-1
-30
3
-2
-14
-38
9
-31
-37
-3
-3
35
6
-10
-15
28
23
-12
-5
18
26
3
-16
38
-3
-9
-7
-28
-3
4
13
0
-2
0
-2
-36
16
1
-58
-7
0
-12
0
-34
5
26
-1
-18
-5
0
9
0
-14
-23
1
-21
-16
23
-3
20
-40
28
46
7
4
-17
-3
6
-30
38
-3
11
-16
2
-33
-35
-2
13
1
-4
0
-11
16
15
8
2
5
3
3
-11
-9
-3
0
-14
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
-32
0
0
0
0
0
0
-38
0
0
9
0
0
0
0
0
0
0
0
0
-5
-19
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
-29
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
0
0
0
-6
0
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-18
0
0
-1
0
0
0
-22
0
0
0
0
0
0
-1
0
0
0
1
0
0
-27
0
0
0
0
0
0
-3
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
18
0
0
0
0
0
0
-1
0
0
7
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
19
0
0
-24
36
0
0
1
30
0
10
7
0
-2
-6
0
0
-2
-30
0
0
5
0
0
0
2
0
0
-6
0
0
0
-25
0
34
3
0
-2
0
-4
0
0
0
0
9
0
-5
0
0
0
0
0
0
15
0
0
0
0
0
0
29
0
0
1
0
0
3
-1
0
0
0
0
0
0
-27
0
0
5
0
9
-2
-52
0
0
-1
0
27
0
5
0
0
-2
0
0
0
-77
0
0
0
0
-10
0
2
0
0
12
0
-19
0
-28
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
-32
0
16
0
0
0
0
-11
0
0
0
0
-1
0
50
0
0
0
0
0
0
-32
0
-1
0
0
0
0
4
0
0
3
0
0
0
43
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
3
49
-3
0
94
18
0
0
20
0
0
3
-30
13
-17
9
9
0
-9
-8
-8
0
-10
0
0
-33
-19
0
0
-32
35
0
18
-15
0
0
-18
0
0
0
-9
0
-51
-26
-2
0
0
-1
0
3
0
-1
0
0
3
40
4
0
-1
0
0
11
46
0
14
0
0
45
-1
-15
-34
-21
-21
0
-42
5
0
-4
40
0
0
4
-17
-1
-2
15
20
0
13
4
0
-2
34
0
0
-10
-23
0
1
-12
-9
0
0
21
0
0
39
0
0
0
13
0
0
48
-18
0
0
18
3
0
0
0
0
0
-6
-38
0
-2
-11
0
9
13
0
-57
10
0
0
-7
1
0
36
-4
0
0
44
6
0
0
-13
-2
0
21
24
0
33
4
-1
0
8
-22
2
-30
0
9
0
2
5
0
-15
14
6
0
3
10
0
-34
0
0
0
0
17
12
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
3
0
0
-30
0
0
-13
-35
12
20
24
13
0
-28
-22
0
0
-21
0
0
0
-1
0
0
-36
22
0
0
44
0
0
3
0
0
0
1
0
-4
-1
11
0
0
9
-1
0
0
0
2
0
58
12
4
0
0
0
0
-23
14
0
1
0
0
17
53
-3
-10
9
-4
0
9
9
0
-3
7
0
10
-8
-33
0
11
5
0
-4
0
-61
0
-6
8
0
0
-3
-17
0
0
47
-10
0
0
56
0
0
0
0
7
0
9
0
0
0
0
-33
0
22
0
0
0
0
0
0
5
-12
0
-1
0
0
0
-9
0
0
1
0
0
0
-13
0
-1
0
0
0
0
-13
0
37
4
0
0
0
-54
0
0
1
-1
0
0
12
0
11
-4
0
0
0
-26
0
0
0
-1
0
0
-20
0
39
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-21
19
-4
5
25
-9
-13
-36
14
-3
15
21
-5
-16
9
39
-1
6
0
-9
42
26
16
-19
15
-9
-5
-15
17
2
-29
-4
-12
-18
22
-8
-4
10
-9
-64
-5
6
8
-7
2
3
6
5
15
-13
-26
13
13
-79
0
-51
-72
-22
35
-21
-37
-8
23
-38
-43
5
-31
20
-13
35
21
0
7
-11
-12
-11
21
-25
3
-9
-13
18
0
29
18
23
61
20
-8
-13
-23
6
4
-1
-31
21
-6
12
-3
-2
37
-1
26
-9
34
-34
9
3
-6
-42
-1
-53
9
-26
37
-5
-59
0
-52
-7
-64
-35
-82
-92
6
5
-38
-38
-35
-20
14
-11
9
-5
-4
-30
5
18
-10
-2
49
28
-50
20
19
-15
21
-8
-10
10
30
-23
3
-20
21
-9
9
-26
42
-11
51
2
-2
43
4
21
2
-36
2
-37
-30
-14
-45
9
-48
8
-26
-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
100
32
14
-1
27
1
8
-4
19
-7
42
52
-25
-17
2
20
-11
50
47
-2
40
11
-21
-2
2
14
-27
3
21
-2
2
-5
7
-2
-43
27
-25
0
6
16
-11
-31
3
-12
1
-1
0
59
-31
0
8
-7
3
2
-4
9
3
4
-14
10
20
0
0
58
23
71
63
59
89
14
18
15
8
-32
-1
25
-41
3
0
20
-33
-15
15
6
-12
-8
16
2
25
-13
42
18
-12
0
30
-24
17
49
-8
-26
0
0
-7
0
-34
1
-37
0
2
-31
27
-9
0
-6
-8
0
0
0
3
-6
15
21
18
-18
20
0
60
-21
-26
-16
-25
9
21
18
-9
-11
8
38
28
-6
-44
-24
20
7
33
-4
8
-35
-14
6
-48
29
-23
-27
4
-4
0
-1
21
3
7
6
-3
5
5
-26
10
-25
-1
18
0
23
-22
0
25
0
-43
37
9
-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
5
17
5
15
-2
-1
-10
14
-31
13
22
-9
-3
34
-35
20
65
-13
-19
10
-27
30
-1
0
-2
-28
9
76
-1
8
0
-6
-22
16
-63
8
-21
0
-15
-17
-14
-12
0
-39
-1
0
0
-6
-21
0
49
25
7
0
-63
-2
9
-5
-66
6
9
0
7
48
19
12
-19
77
50
-32
-17
13
-8
-13
-15
0
-31
-31
-8
56
-35
-11
44
55
-69
-25
24
27
-55
-9
12
9
-22
1
1
-57
-28
0
-4
-25
20
26
6
0
-4
0
-8
1
0
-18
-39
-49
2
-1
-1
0
0
0
10
-11
-11
-65
-12
6
-2
9
3
-32
5
42
-14
0
0
-16
3
5
6
-43
6
0
34
4
6
-15
-20
7
-7
42
0
-3
8
-28
-52
23
0
18
26
-47
-47
-9
-2
0
-27
1
1
-25
-64
3
0
-6
3
-20
0
0
-3
0
15
-17
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
104
32
36
-10
-47
-2
12
26
-6
-46
34
9
-29
-2
4
-16
2
-24
11
15
-4
15
16
0
9
3
16
9
21
-9
0
22
17
0
50
4
-5
0
23
-69
-8
5
-1
18
-3
-2
11
0
32
0
16
11
47
0
7
-1
-2
-7
36
12
-25
4
1
46
23
2
79
63
17
16
1
-12
1
26
-35
-16
-33
-5
14
22
-23
11
24
31
-18
4
0
-41
-16
-33
20
-8
-17
0
-9
-24
8
12
-1
-14
-1
-1
8
0
24
0
13
0
-1
-3
-32
-29
0
11
28
-1
0
0
-4
1
-1
-36
-14
0
26
-2
12
9
9
-90
-14
-1
5
49
4
-6
-22
-17
13
-23
40
0
6
11
16
8
38
7
-13
-4
19
8
31
-7
0
1
0
14
15
28
-10
0
-34
-14
0
-68
-28
-25
2
-5
0
38
-2
0
6
0
-2
-32
-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
1
-16
0
0
-1
0
0
37
-12
0
-7
-3
0
3
18
-31
0
22
-24
0
0
33
-1
0
0
-59
0
-1
-3
-23
0
0
-11
0
0
0
0
0
55
-4
0
0
0
27
0
0
0
0
1
0
25
-9
0
0
0
0
0
-39
-2
0
0
0
0
0
16
0
0
-10
0
0
0
-11
0
0
-1
0
0
-10
-34
0
1
-56
0
0
11
40
0
-1
1
0
0
-1
-26
0
0
-18
-4
9
0
13
0
0
0
0
0
0
0
0
0
0
0
25
0
-26
0
0
0
0
-13
0
19
1
6
0
0
0
0
21
0
-13
-1
0
0
0
-69
0
0
0
0
0
0
4
0
0
32
0
0
0
-64
0
2
-8
0
0
-3
-46
0
-2
0
0
-2
0
16
0
0
0
0
-1
0
-28
0
-8
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
3
0
7
2
0
0
0
-26
0
0
0
0
0
0
15
0
0
0
0
0
0
-33
0
0
0
0
0
0
3
0
3
0
0
0
0
2
0
0
0
0
0
0
-55
0
1
0
0
0
0
-35
1
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
-9
0
0
0
0
0
0
3
0
0
0
8
0
0
-17
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
5
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
-2
0
0
0
0
-4
0
0
0
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
27
2
56
-15
16
-8
5
1
-13
-9
10
-7
-33
1
-25
-1
-7
29
-1
7
24
-9
0
1
-3
-4
-12
-3
-35
0
-20
-41
24
-26
0
-27
0
1
8
0
-12
0
15
-22
-10
6
-19
2
0
-6
92
-85
10
1
-6
57
8
1
29
-5
23
-6
28
1
5
9
-26
-2
48
-58
4
25
9
20
35
-20
-25
-13
0
33
-3
4
45
-4
-16
-6
-10
10
-15
-48
2
-23
0
0
3
1
19
3
5
0
-2
15
46
5
0
16
21
0
0
0
-2
0
-14
58
-13
14
-1
8
10
-7
-2
31
-9
0
-3
16
-5
-2
9
-11
-17
0
-14
-16
13
-8
24
0
36
11
-26
-8
-19
-6
-20
-16
-15
-5
-4
21
21
-5
-47
-2
15
-2
2
44
-44
-9
0
3
0
-4
13
0
20
0
32
-12
4
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
-7
0
-15
-14
-43
20
-11
5
0
13
-22
-26
27
-13
-14
24
8
-26
-31
24
-4
-26
-67
16
-48
-13
-49
-25
46
-25
-39
9
-10
-1
-3
-11
-10
21
67
5
2
-12
10
-22
-38
16
-13
-20
-5
7
-53
-41
-101
-24
-42
0
-4
-1
0
9
-10
-14
11
-28
-8
-28
-15
-18
19
-1
0
30
-22
-23
-9
-19
-5
-42
4
10
16
-33
46
-10
-12
-34
5
-12
40
-4
-11
-15
1
24
-27
-9
-8
-14
15
44
28
-7
-18
-17
5
-8
-65
-5
1
-27
-55
0
22
-10
-48
4
8
-25
0
-29
31
-35
-74
1
-67
-9
-45
10
-22
-13
-4
-20
-7
16
-2
-32
38
21
3
-1
87
23
-9
16
-8
7
-11
13
-4
0
21
53
12
9
-8
-15
5
17
-28
31
-7
-10
-7
-43
-7
8
-44
10
4
-8
-24
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
-27
19
0
-52
-54
-1
0
-27
53
0
2
-22
0
0
-9
1
0
0
0
1
0
0
-64
0
0
-1
0
0
0
-10
0
-15
0
-2
0
0
73
0
0
0
0
0
0
-16
0
0
0
0
0
0
17
6
0
0
0
0
0
-30
0
2
24
-7
0
-1
2
0
1
-1
0
-9
4
24
0
0
-1
2
46
0
-16
0
4
0
0
-2
0
32
0
0
8
-10
-2
0
-19
0
0
-2
0
-36
0
-6
0
0
0
0
0
0
27
0
0
0
0
0
0
42
0
0
-10
-2
0
0
47
-1
-2
-2
0
0
0
17
2
-4
-2
0
0
0
-18
0
6
0
0
0
0
31
0
-8
0
0
0
0
-17
0
0
0
0
0
0
51
0
0
0
0
0
0
14
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-92
5
21
0
7
59
0
0
0
0
0
-3
6
0
0
7
-8
0
0
5
0
0
0
0
0
0
29
0
-14
0
2
0
0
1
0
0
0
0
3
0
-15
0
3
0
0
0
0
-21
-7
0
-10
0
0
0
76
0
0
0
0
0
-6
-28
0
0
4
0
0
3
42
0
0
11
0
0
2
59
0
0
0
0
0
0
4
0
0
-1
-24
0
0
19
0
0
0
0
0
0
8
0
0
0
0
0
0
-93
0
0
0
0
0
0
9
-11
0
0
0
0
0
-1
-10
-3
3
0
0
0
-48
0
1
0
0
0
0
-21
0
-2
0
0
0
0
-22
0
0
0
1
0
0
8
0
0
0
0
0
0
7
0
0
-1
0
0
0
-30
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
15
-55
-22
2
-16
-11
28
0
38
0
-6
-13
32
9
19
-4
1
11
7
21
12
3
-3
45
-28
-3
1
-29
0
-3
-2
12
-2
-49
-3
3
-2
-12
-40
0
4
0
10
-29
-43
-1
-10
-30
-6
12
20
-8
7
15
71
57
29
77
67
40
14
30
24
28
-43
53
-14
1
-4
11
-4
74
-3
-3
42
18
10
14
0
-3
7
45
15
-4
12
43
23
-10
-3
24
-12
-5
-6
-3
-2
34
28
-8
-3
-3
-18
6
-27
7
0
13
2
-2
0
0
23
92
6
21
65
-6
-42
0
49
13
-11
-17
-77
15
-57
-16
20
10
51
42
45
61
20
-1
53
17
-13
-22
-18
17
1
-49
14
4
-16
20
-34
11
-1
-9
23
12
12
20
-6
33
6
-65
12
-15
0
-4
-1
-6
-8
-2
11
0
9
35
-4
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
-4
0
0
16
-2
0
0
0
-36
0
0
0
0
0
0
22
0
0
0
0
0
0
54
0
0
0
0
0
0
13
0
-11
-4
0
0
0
40
0
0
0
0
0
0
-22
0
6
0
0
0
0
-3
0
0
0
0
0
0
-10
0
0
-1
0
0
0
-36
0
0
12
0
0
0
-22
0
0
3
0
0
1
0
0
0
1
0
0
0
-45
0
0
2
0
0
0
-43
0
0
0
0
0
0
-37
0
0
0
0
0
0
36
0
0
0
0
0
0
11
0
0
0
0
0
0
-27
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
-9
0
1
0
0
0
0
-14
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
28
-6
0
4
1
-16
0
-8
26
0
1
-1
0
0
0
5
0
0
-1
0
0
0
-27
0
0
-4
0
0
0
-11
0
52
0
-7
0
0
-46
0
0
0
0
0
0
-15
0
0
0
0
0
0
12
-8
-6
-15
0
0
2
53
0
0
2
4
0
2
45
0
0
12
0
0
-10
11
0
0
30
-3
0
0
12
0
0
-4
0
0
-3
33
0
0
0
7
0
0
61
0
0
0
0
0
0
1
0
0
0
6
0
0
-65
0
0
0
0
0
0
-56
0
0
0
0
0
0
88
0
-1
10
0
0
0
61
0
-3
1
0
0
0
-37
0
0
1
0
0
0
11
0
0
0
0
0
0
-18
0
0
-3
0
0
0
38
0
0
-2
0
0
0
-9
0
0
0
0
0
0
15
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
9
13
2
16
-29
-21
17
-1
-21
-8
-20
11
-9
-7
-2
-3
11
-32
4
1
81
-3
20
7
6
10
-5
0
6
-1
-42
-31
0
-13
-5
12
0
15
-2
3
41
21
37
61
25
-4
-50
0
19
29
-1
4
-6
-16
-18
-14
57
4
15
-6
-11
22
70
-7
-12
-14
-5
22
-11
-27
-24
12
-63
5
46
2
9
15
5
-2
-15
-4
-4
4
-16
24
-18
21
0
-5
-2
5
29
-19
-1
0
-18
-20
-2
0
-19
-3
0
6
-1
-8
29
5
-1
-12
1
-7
31
48
19
-1
-16
-8
48
-3
-17
-5
1
-1
24
-6
-14
18
69
-17
-12
-18
47
42
2
-27
19
-3
12
9
0
3
-20
99
1
15
74
-9
21
-8
12
-8
-2
-2
22
-24
6
17
0
-7
-25
28
13
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
13
26
-51
-15
-31
-27
-8
11
13
31
2
13
6
18
4
-3
-17
12
4
9
16
14
-28
-11
16
27
-49
-5
-2
-2
42
-5
63
8
0
-13
0
0
0
23
19
-20
2
-24
-46
17
0
-63
-21
19
15
1
-6
-2
34
-88
0
22
11
-29
20
23
-55
8
24
-40
-12
-14
50
-8
2
42
-2
-7
-1
17
-28
4
-53
0
31
13
-20
4
-4
-7
-28
19
19
12
-30
3
-3
-13
74
7
7
1
-4
43
5
6
64
9
-4
11
36
16
-12
-19
-16
-21
-21
-61
4
-30
5
-9
-15
0
78
83
-25
-19
8
-55
3
63
-13
-26
-19
4
-90
-4
-38
-48
-35
5
15
-3
3
1
3
-25
17
-8
21
6
0
13
22
4
11
30
2
-3
-24
13
57
28
-1
-2
-20
-8
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
25
0
0
2
0
0
24
-4
0
0
22
0
0
0
31
0
1
4
0
0
0
-59
0
-6
0
8
0
0
-32
0
0
0
0
0
0
-10
1
0
0
0
0
0
-45
-1
0
0
0
0
-7
60
0
-3
-8
0
0
0
-74
0
-3
27
0
-8
-7
33
0
4
-100
0
0
0
8
0
0
-1
1
0
0
-27
0
0
-3
-4
1
0
-21
0
0
0
0
0
0
11
0
0
0
0
0
0
2
0
0
0
0
0
0
23
-2
0
6
0
0
0
-24
0
-6
0
0
0
0
100
0
0
7
0
0
0
-67
0
1
0
0
0
12
-42
0
-3
20
0
0
0
4
0
2
2
0
0
0
-1
0
0
0
0
0
0
51
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
-10
8
26
-4
-20
-65
30
-4
-15
5
25
-35
10
-19
-25
8
0
6
-34
-6
-25
-28
23
-7
-16
17
4
22
0
-3
-1
-1
-30
0
-7
0
30
-46
-5
0
28
10
-2
-29
-3
15
-5
-9
-4
9
13
-38
20
8
-6
23
-33
4
9
3
19
-12
-1
16
-13
32
-6
-5
22
51
-20
-23
-3
5
13
-50
-23
-58
2
-3
-27
18
1
-56
2
6
-4
-9
31
-20
-45
0
-1
-3
-6
-7
-76
-5
0
8
-16
-7
0
-2
54
28
-26
20
-11
-25
0
0
-20
7
-56
28
12
-14
12
6
1
32
0
28
29
-1
17
2
23
-69
-35
9
75
40
-30
-3
-24
6
10
-2
-23
-2
-3
-12
12
-12
10
47
2
-7
-1
-50
14
30
-2
-15
0
-83
6
1
-2
0
-15
-45
12
-2
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
11
16
4
16
4
8
14
-20
-2
-6
25
-10
-15
0
14
-4
-21
-6
-10
25
14
-12
3
0
-8
20
-7
-15
-9
6
85
0
-2
24
-33
1
11
12
-7
0
19
-26
18
24
-1
-66
-11
15
1
-26
8
23
2
-22
-39
8
-10
2
20
18
-17
-9
-30
-11
16
-9
-3
-6
-30
38
35
2
7
48
-2
17
-10
-26
0
20
-29
-8
2
10
13
1
2
-21
35
4
19
-14
12
42
50
-24
-15
-1
0
3
-4
11
0
-22
-44
-16
49
19
3
-17
-1
40
-3
6
41
33
54
11
-25
-43
19
-9
29
16
-6
-37
-26
23
60
7
8
-19
-44
-1
-2
-10
9
-8
22
-58
-3
3
-27
-17
-21
-10
10
8
-1
15
-27
-23
1
-8
24
4
-1
21
-24
-11
37
-4
5
29
-3
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
0
20
7
-2
-6
3
0
60
-10
-7
0
-18
-21
0
55
37
-16
0
-3
9
0
58
43
-8
12
-11
-10
-4
-32
0
2
0
1
1
0
10
0
-4
27
-8
0
8
7
0
-1
3
11
25
-9
0
25
-3
38
-15
-6
-15
3
34
-5
1
26
0
0
11
11
8
-5
10
-18
2
-24
70
6
0
5
9
9
-21
25
-17
-5
-1
-11
-46
-7
15
-6
-10
0
6
0
5
-9
3
0
0
7
0
2
0
3
-1
0
0
0
-37
-18
-10
-8
-24
7
0
0
-26
17
-36
-2
-39
0
9
-16
-21
-1
-9
-9
0
0
24
19
1
-33
-27
-2
19
39
-11
1
1
3
0
-34
-33
3
-10
-13
-24
4
39
98
5
0
4
1
10
4
0
-2
0
0
-10
0
30
0
-4
-45
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
53
0
0
-8
3
0
0
-43
0
0
7
-50
0
0
-1
0
0
0
-36
0
9
-1
-5
0
0
4
0
-4
0
0
0
0
23
-9
-13
0
0
0
0
46
-4
0
0
0
0
0
3
0
-1
-1
-36
0
45
26
0
0
1
0
0
21
12
0
0
-30
2
0
37
7
0
10
8
0
0
29
2
0
0
6
-1
0
0
-6
0
0
15
0
0
0
34
0
0
0
16
0
0
20
0
0
0
0
0
0
-1
0
0
0
0
0
0
46
0
0
-2
0
0
7
37
0
-1
8
10
0
0
42
0
-6
62
0
0
15
3
0
0
-18
24
0
0
-16
0
2
29
0
0
0
0
0
0
0
0
0
0
3
0
-20
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
19
15
-44
0
12
-3
25
-14
16
-36
3
23
-43
28
-10
-1
-3
-9
5
-18
-6
-1
7
18
-6
-12
-31
0
20
-13
10
-1
23
-17
1
25
48
25
44
7
-6
15
22
-32
-2
15
12
8
14
-1
-10
6
8
2
4
-107
12
28
-2
14
1
-7
-24
5
-40
31
14
29
18
22
13
-25
17
4
-7
21
12
-5
-11
-26
17
-16
13
-7
-4
-1
17
25
-3
8
4
9
-3
5
0
28
2
-2
5
5
41
-1
28
0
2
-6
-37
-34
59
-9
-5
82
6
25
10
49
19
-5
15
1
-33
45
0
22
-59
2
-6
-27
19
0
-17
-14
6
3
15
-13
-15
-43
53
-9
-5
0
33
34
-15
35
7
5
3
-2
14
2
39
0
16
-14
-18
35
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-80
-7
9
-4
21
6
-34
19
3
16
-20
43
-15
0
-1
26
-3
-55
36
-7
27
-12
46
-30
-14
1
-2
20
-7
4
8
-39
-22
11
2
3
-5
7
6
-26
-2
25
-43
7
-9
-42
11
2
25
-4
9
4
14
-1
0
1
32
28
0
-7
11
7
-9
-45
2
4
2
-16
7
22
5
11
-8
3
33
0
-45
24
21
1
1
-50
-7
-23
-25
-14
22
-3
-4
11
10
-16
-6
3
16
24
12
40
-29
21
-10
-4
-39
2
45
2
18
-38
-28
20
10
26
6
17
-5
52
-29
0
-1
2
-8
29
-9
-20
6
58
27
-3
7
29
-15
-1
-3
-7
3
-35
54
-12
5
66
-20
24
-11
-5
-17
3
11
-9
-22
14
21
10
36
-13
-48
23
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
-12
0
0
-2
0
0
0
-24
0
-1
1
0
0
0
-15
0
0
0
0
0
0
19
0
0
0
0
0
0
22
0
0
-4
0
0
0
26
0
0
0
1
0
0
7
0
0
8
0
0
0
14
0
0
7
0
0
8
34
0
-1
0
0
0
0
-18
0
0
-4
-10
0
0
28
0
0
0
0
9
0
23
0
0
0
0
0
0
-28
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
4
0
0
0
0
-10
0
0
-2
0
0
0
27
0
0
-7
0
0
0
-6
0
0
-1
0
0
0
19
0
0
0
0
0
0
29
0
0
3
0
0
0
68
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
-18
31
0
0
50
6
0
4
-25
0
0
-10
0
-8
0
-26
0
20
0
23
0
0
-16
0
0
0
0
11
0
20
-10
-9
0
-1
0
0
22
-15
-1
0
0
0
0
21
0
0
-11
40
0
10
-62
0
0
22
0
-1
-4
5
0
0
31
0
6
-1
16
0
0
-15
0
-3
0
44
0
-6
23
1
6
0
25
0
0
0
0
-7
0
-5
0
0
7
0
-2
0
23
0
0
0
0
0
6
-48
6
0
0
0
0
0
5
19
0
4
0
0
0
-99
0
0
11
9
0
-3
2
0
-2
4
0
0
0
-3
0
0
0
-1
0
12
-11
0
-23
0
0
0
0
-7
0
0
0
-12
0
0
5
0
-12
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
33
-4
-13
-21
42
-15
35
5
0
-20
-41
4
16
12
-10
0
-11
-2
3
-33
0
6
-1
-4
-1
-1
1
0
1
-11
-28
0
30
0
-25
42
45
23
-13
29
-15
-55
34
12
-59
50
36
-19
-3
-1
19
-20
-24
-3
30
-16
-9
9
33
36
30
-45
40
5
-16
57
-10
-5
21
12
23
0
-7
-9
25
-19
5
7
-18
-4
8
7
8
-3
-2
2
-2
0
20
11
0
8
8
2
0
0
-1
0
12
-20
-3
9
52
2
47
3
0
-4
-6
0
0
14
29
27
-35
23
-1
2
-4
-30
11
-41
-18
2
26
-2
24
-30
27
18
42
-9
44
8
0
-4
-28
-3
33
-5
15
0
15
-2
-26
5
-1
-4
0
0
0
0
-19
0
19
-39
-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
-19
39
0
0
37
8
0
-2
-41
0
0
-3
0
0
0
-18
0
-39
0
0
0
0
20
0
0
0
0
0
0
-8
-6
0
0
0
0
0
11
-8
0
-4
0
0
-1
-68
-18
0
-12
0
0
0
13
0
0
-3
0
0
4
34
0
0
-11
-2
0
-4
4
0
0
10
0
0
8
33
0
0
0
0
0
0
-22
0
0
0
0
0
0
59
0
0
0
0
11
0
14
0
0
0
0
0
0
-12
0
0
0
0
0
0
-6
0
-11
1
0
0
0
14
0
0
0
-2
0
-7
-11
0
-8
2
0
0
0
38
0
0
-1
0
0
0
-19
0
17
8
0
0
0
-17
0
0
7
0
0
0
2
0
-22
0
0
0
0
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
0
0
-41
0
0
2
-41
0
10
7
0
0
-2
25
0
34
-3
-20
0
0
-16
0
0
0
0
0
0
27
-14
-23
0
0
0
0
-11
-23
0
-4
0
0
38
-22
0
3
43
44
0
12
-26
0
1
-9
0
0
22
52
28
0
37
16
0
-24
0
0
2
-9
0
0
6
5
0
0
28
-26
0
4
18
0
3
0
0
0
0
-35
0
0
0
-1
0
0
-15
8
0
0
0
0
0
-20
-8
0
4
0
0
0
-5
0
8
-2
0
0
0
6
8
0
-76
-1
0
-10
8
-3
-7
-30
0
0
-8
-1
0
-1
0
-7
0
18
-5
-8
-5
-8
0
0
8
23
0
0
-7
1
0
0
-41
0
-24
0
4
0
0
27
-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
-1
0
-3
43
-3
7
0
0
0
45
-5
15
-26
0
10
0
0
0
0
-5
0
-3
4
5
0
3
-3
0
-10
8
-1
27
0
8
11
39
38
34
-5
9
10
3
-23
-8
19
-2
-2
-3
-6
-6
-9
17
22
-57
2
-1
-8
13
-20
-8
9
15
0
22
0
4
5
-12
36
0
3
0
2
51
-18
-9
0
7
0
-1
-4
-49
23
0
-28
-9
0
0
8
-4
0
-23
-3
6
16
9
4
-8
-5
0
-37
36
0
25
7
16
6
-7
-51
-11
9
-3
0
-1
-3
-56
0
22
0
5
-3
-36
1
-41
-2
0
9
0
-31
-69
0
3
0
-17
-1
3
9
16
-6
0
18
0
15
-4
-13
-6
0
-5
-24
7
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-22
23
35
-34
-17
-6
2
-14
42
-5
4
64
-6
1
33
17
-4
-11
1
-19
-7
4
1
7
27
-34
-4
-13
10
15
19
27
6
-8
6
15
18
-12
-18
-16
-5
5
17
-8
-40
-13
24
-1
51
-24
28
15
2
6
0
9
43
11
16
-42
-14
11
-19
-7
15
-23
22
5
2
0
-17
38
-35
13
-26
7
0
-16
37
4
-4
0
-7
-6
-24
-6
34
2
12
-6
8
-26
-14
4
14
50
2
-41
-8
21
7
31
1
6
25
-53
9
-29
-1
0
-2
-3
-19
2
25
-51
29
0
-15
-52
18
-4
-2
-12
4
8
-1
15
-13
-2
-4
4
-2
-41
26
-2
15
52
17
-3
17
58
14
15
-3
-15
0
-7
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
1
0
-2
0
-1
0
0
-36
0
0
0
0
0
0
7
0
10
0
0
0
0
-48
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
38
0
0
-4
0
0
1
4
0
0
0
0
0
0
11
0
0
0
0
0
0
7
0
0
0
0
0
0
-7
0
0
0
0
0
0
-56
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-21
0
-4
0
0
0
12
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
0
0
-7
0
0
46
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
0
0
0
-6
0
-10
1
16
4
0
-12
0
0
0
0
0
0
-56
-4
6
0
-2
0
0
26
0
0
-18
0
0
24
15
0
0
0
0
0
0
-22
0
0
-12
0
0
23
-70
0
0
-8
-2
0
-16
-11
0
0
0
0
0
-9
-14
0
0
0
-2
0
0
-19
0
0
8
0
-6
0
-42
0
0
0
0
9
0
-10
0
0
0
0
0
0
-5
0
0
0
0
0
0
15
0
-2
0
0
0
0
15
0
0
0
0
0
0
-49
0
0
0
0
0
6
22
0
0
0
0
0
0
20
6
-3
-16
0
-11
0
-27
0
0
0
-2
0
0
-5
0
20
0
0
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
0
-11
-3
-13
15
-9
9
2
10
-2
-2
17
4
-8
-2
-1
0
1
-21
0
9
-38
8
0
1
8
-4
20
4
20
-22
-4
-4
-29
-1
-12
-5
21
-4
-53
-4
5
1
47
26
0
32
-23
-1
-3
-2
-26
-35
-59
23
-10
0
-38
3
18
-20
-5
40
-9
-10
10
-12
24
-16
2
-6
-1
-6
0
10
-3
13
-1
-3
0
-4
0
0
10
-12
-1
0
-12
-9
-1
6
-12
-1
1
-6
0
35
3
21
-11
-28
-2
-18
-24
4
9
38
12
-19
19
-26
-10
7
-45
14
-8
-31
-18
1
-4
-14
6
-14
-30
-4
11
0
13
-10
-14
10
0
6
0
0
0
-41
24
0
7
0
-7
0
-21
13
0
30
-6
4
-1
-40
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
19
-1
-7
44
0
26
26
25
0
22
-16
0
-26
0
16
0
0
0
0
-7
0
-9
18
-38
0
0
16
9
-11
49
-3
-12
0
0
28
-34
4
-3
6
-1
-6
13
0
0
5
39
0
30
51
-3
0
7
-11
0
34
2
17
0
15
-25
-6
14
98
-8
0
3
27
0
12
-2
11
0
0
-6
0
35
0
11
0
-1
47
0
4
0
-20
35
0
0
0
-11
0
-17
-8
-3
0
0
0
-3
20
-3
7
-8
0
0
-14
-19
-7
-5
-22
0
2
20
-22
0
22
-82
0
0
-10
3
-10
4
29
0
20
-7
12
0
-30
-13
0
-22
-6
-9
0
0
47
0
7
0
-6
0
-7
0
0
-19
0
2
30
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
21
0
16
-6
6
0
0
-14
0
2
0
0
0
0
-15
28
-38
0
-6
0
0
13
0
0
-13
0
0
0
-12
0
0
58
-13
0
7
-5
0
-2
-46
0
0
34
-9
0
0
-44
6
0
-27
-10
0
0
17
0
0
38
9
0
0
-18
24
0
16
25
0
0
1
0
0
0
10
0
0
0
67
0
0
-3
0
0
0
1
0
0
9
1
0
0
0
0
0
-28
0
46
3
0
0
9
-6
27
-6
-4
0
0
8
34
0
0
39
0
0
-2
-45
0
2
46
-3
0
-2
33
0
-25
10
0
0
0
43
0
0
7
-20
0
0
3
0
31
0
0
0
0
-51
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
-3
0
9
0
22
0
0
-21
0
10
0
7
20
33
0
-13
0
0
-2
-23
0
12
0
0
-2
20
29
-5
-10
27
0
0
15
0
9
20
0
24
2
13
0
-17
9
-4
15
0
-20
-1
0
38
-1
-3
0
27
0
3
42
45
-1
0
6
0
0
43
0
19
0
8
0
0
0
-26
43
0
-6
0
0
0
0
0
0
-27
0
2
0
0
0
0
17
0
-23
-4
0
0
0
-8
0
2
-10
12
11
0
3
0
-5
-20
15
-12
0
-21
0
-29
-27
-41
18
0
-11
0
56
-10
0
0
0
12
0
0
-35
-32
-2
0
-21
0
-7
-6
-13
3
0
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
14
14
13
-29
-55
-15
61
31
-14
-46
4
0
-16
-9
5
-13
2
-9
52
-4
3
46
-21
-47
11
38
0
13
27
5
-12
-2
18
11
68
-54
8
12
-43
-2
18
-54
-15
-1
-33
-33
20
-8
-37
17
29
13
22
-12
0
8
72
38
22
5
-58
4
0
-1
2
-35
4
-5
3
11
-44
6
-6
-2
-1
-16
-1
52
17
-43
-49
-34
7
4
-29
5
-53
42
-3
14
-48
-14
28
-28
-54
-8
-4
44
39
-2
1
-33
-21
14
27
-19
-18
-39
-4
18
6
-10
40
15
7
-14
-53
0
-30
1
-6
-21
18
26
15
0
2
36
3
14
19
2
24
-23
0
-43
11
-3
-4
2
-4
14
-19
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-2
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
9
1
0
0
0
0
0
-6
0
0
0
0
0
0
26
0
0
0
0
0
0
30
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
-3
0
0
0
0
0
0
-55
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
17
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
32
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
-16
-4
0
0
0
0
0
-67
0
0
0
0
0
0
12
0
0
2
-2
0
1
-21
0
0
-3
0
0
0
59
-9
0
-9
0
8
0
-40
0
0
-2
-10
3
0
-16
0
0
2
6
1
0
5
0
0
0
0
0
0
0
0
0
0
0
3
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
0
0
0
0
2
0
0
0
0
0
0
15
0
-1
0
0
0
0
14
0
0
0
0
0
0
22
0
0
0
-1
0
0
-20
0
-3
0
0
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
36
0
11
0
6
-12
-13
6
0
0
0
59
-26
0
-9
-23
-51
0
21
0
8
3
3
0
-8
9
0
-14
29
4
11
12
18
-9
73
26
-4
13
18
0
5
3
0
-1
1
42
5
-21
26
-8
0
-3
-10
-14
-8
24
17
0
-8
-3
47
6
5
3
0
4
10
-7
27
40
20
0
0
0
3
-12
0
-1
17
0
0
2
36
0
5
4
0
7
10
-4
12
-18
0
-88
13
-2
0
-43
17
-18
-22
-24
18
-16
-31
-19
-13
-21
0
0
-46
-6
27
0
-7
-12
43
3
6
-1
0
-14
29
-34
5
11
27
0
0
-10
17
12
0
2
1
-10
0
0
9
0
18
7
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
-9
0
2
-3
0
0
0
-10
0
0
0
0
0
0
-16
-3
0
0
0
0
0
-73
0
0
0
0
0
2
5
0
0
0
0
0
0
-17
0
0
0
0
0
1
23
0
0
-16
4
0
0
-23
0
0
10
0
0
19
-10
0
0
7
0
0
0
10
0
0
0
0
0
0
44
0
0
0
0
0
0
-4
0
0
0
0
0
0
-30
0
0
0
0
0
0
-3
0
0
2
0
0
0
-15
0
0
0
0
0
0
1
0
0
-1
0
0
8
-7
0
0
-4
0
0
0
-3
0
0
8
0
0
0
60
0
0
0
0
0
0
-20
0
-8
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
7
0
-14
-4
57
0
0
45
0
0
0
0
0
0
-3
-13
-14
0
8
0
0
10
-15
0
19
0
0
-7
10
0
10
27
15
0
47
-5
0
1
18
0
0
-11
12
-2
0
4
12
0
-14
18
0
-3
-5
0
0
-4
10
0
0
18
28
0
13
10
0
0
52
0
0
0
28
0
0
0
-36
0
0
15
0
0
0
0
0
0
44
0
0
0
0
0
0
-52
0
-21
16
0
0
0
13
0
0
8
0
0
0
20
0
0
11
0
0
0
11
0
11
7
9
0
0
-21
0
-19
19
0
0
0
3
0
0
-23
8
0
0
11
0
18
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
1
0
-1
0
-15
-8
1
0
0
7
0
3
-6
0
0
0
0
0
-20
-1
6
-8
0
0
0
12
0
4
-5
0
0
0
42
0
0
50
6
0
0
-20
0
0
29
0
0
0
33
0
0
4
4
0
0
3
0
0
-16
0
-9
0
7
0
0
0
0
-7
0
17
0
0
0
0
0
0
-71
0
-3
0
0
0
0
-3
0
-19
0
0
0
0
-58
0
3
11
-7
0
0
-5
0
-2
-13
0
0
0
-44
0
0
-3
9
0
0
17
0
-16
0
0
0
0
39
0
0
0
-16
0
0
-21
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
9
-3
2
-14
-9
-14
1
1
-9
34
2
13
2
0
-5
23
-20
5
11
-12
2
-7
55
-74
-7
-4
53
-10
-7
-48
38
9
-31
49
-28
8
2
14
5
-16
10
-15
-11
6
-57
8
17
28
31
3
36
-30
37
40
42
-20
0
-34
-4
-11
32
7
11
32
4
7
-7
28
27
3
14
1
-3
-1
-16
31
36
-8
20
-22
17
-30
7
-4
-29
49
-18
34
2
61
-1
1
26
-22
15
22
1
-44
-8
28
-11
-8
-59
61
5
1
-37
10
-10
-2
-3
8
21
18
-9
37
-44
30
26
0
-2
-19
60
31
8
-4
23
2
44
-24
44
5
0
14
-44
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-4
0
-34
0
0
0
0
0
0
5
0
0
0
0
0
0
-13
0
0
10
0
0
0
-46
0
0
-1
0
0
0
6
0
0
-1
0
0
0
11
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
-20
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
-11
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
13
-3
-6
2
-7
5
0
-12
-19
-1
0
8
7
40
-5
-34
32
-32
6
-23
21
-14
28
-63
-32
-1
26
10
-7
-50
2
-8
-23
-23
9
-1
18
-53
15
14
35
11
-2
-7
40
17
-23
10
25
4
-17
14
57
35
-6
-8
11
1
6
47
-17
41
-8
20
1
29
-19
25
23
0
0
-22
7
-2
10
2
18
-15
19
-47
13
-12
-2
13
-31
5
-32
-7
-28
-28
21
-22
-3
-19
-9
2
7
6
-1
-19
1
-6
1
-2
40
-6
-6
-33
39
42
17
1
0
-9
69
28
8
-15
-18
-18
-2
-4
-3
-8
69
3
17
-2
3
30
-55
12
0
20
-24
9
-22
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
31
0
13
0
0
17
0
-40
-6
-9
0
25
0
0
-10
-6
0
1
0
0
-32
-9
-8
4
-31
4
-15
12
19
0
1
-3
0
0
19
7
0
2
10
-30
30
0
26
6
-2
19
6
-49
0
-9
0
11
0
-10
8
0
2
0
0
-9
-3
-4
0
29
0
-9
0
2
44
0
-27
7
0
0
0
0
0
-26
1
-2
3
0
0
-6
15
-12
2
-10
0
0
4
8
0
1
0
-9
-7
-8
-32
1
-6
36
0
0
1
-9
0
-11
4
-3
38
7
-30
0
-16
-13
1
7
0
12
0
0
0
16
1
0
-16
0
11
0
0
65
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
13
-7
20
0
-10
-53
4
0
0
7
-3
10
49
-3
-10
0
5
16
16
13
31
-10
-7
6
23
13
0
-16
10
0
-8
20
7
9
35
-7
0
42
69
8
0
-24
11
0
0
44
-2
-7
19
41
2
-8
16
15
0
0
8
0
1
0
34
0
0
-6
2
-12
0
-3
-16
-13
0
0
-10
-1
21
-7
0
0
0
-1
44
-4
1
-53
-14
0
7
-36
20
0
-64
-2
7
37
18
18
2
32
29
0
3
-8
-4
0
31
-6
-2
14
-27
19
0
-38
-6
0
-1
2
6
0
0
24
44
-11
-2
7
0
-12
-10
0
4
0
-5
11
-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
41
0
0
0
0
0
0
-2
1
-11
0
7
0
0
-12
3
0
0
0
0
8
30
0
0
-20
11
0
48
-1
0
0
34
0
0
-40
-32
0
-7
14
31
0
24
10
0
0
-21
0
0
1
-5
0
7
3
5
0
1
-25
0
0
45
0
0
0
12
0
0
-6
-2
0
0
-22
-7
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
-8
7
0
0
0
-28
0
-2
-14
4
0
27
0
0
-12
13
0
0
0
10
0
0
-14
6
0
0
-31
0
36
27
0
0
-8
-1
0
0
-5
-5
0
0
1
0
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
0
0
0
0
0
3
9
0
0
2
0
0
7
-34
0
0
-3
0
0
-3
-19
0
0
40
8
0
0
-8
0
6
0
0
0
0
27
0
0
0
-2
0
0
-43
0
0
0
0
0
0
-4
0
0
0
0
0
0
-37
0
0
0
0
0
0
-5
0
0
0
0
0
-1
7
0
0
4
0
0
0
46
0
0
0
0
0
0
-12
0
1
0
0
0
0
8
0
0
0
0
0
0
33
0
-9
0
0
0
0
15
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
22
-7
0
2
9
3
6
13
1
2
35
-15
12
4
21
-44
8
9
-54
13
-10
23
5
8
35
-23
0
4
-2
-6
-1
6
-18
44
8
19
25
7
-6
12
10
-2
-34
-50
-2
-13
48
-9
-10
13
2
11
66
17
17
0
1
3
-25
7
-1
1
1
60
1
0
4
-24
7
14
10
1
28
-17
34
-29
12
-26
-11
27
34
36
-5
2
27
26
-9
27
28
-7
16
-39
21
-4
-32
30
36
17
-32
10
-11
3
16
-12
-8
1
-7
9
-23
15
-31
-9
-3
-3
51
-18
3
-3
0
2
12
39
-18
80
0
11
10
-7
-11
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-41
2
0
0
0
0
0
4
0
0
0
0
0
0
-71
0
0
9
0
0
0
71
0
0
-1
0
0
0
22
0
0
0
0
0
0
-18
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-38
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-2
0
0
2
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-21
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
-17
-2
0
0
0
0
0
-22
0
0
0
0
0
-1
-10
0
0
0
-1
0
-6
-45
0
10
-15
0
0
-4
20
0
0
6
0
0
0
30
0
0
3
0
0
0
26
0
0
-1
0
0
0
-9
0
0
-3
0
0
0
34
0
0
0
0
0
0
-72
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
37
0
0
0
0
0
0
-3
0
20
6
0
0
0
-3
0
0
0
0
0
0
-38
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
-55
0
0
0
0
0
0
-4
3
0
0
0
12
0
-31
0
0
0
0
-3
13
-92
0
0
0
0
-2
0
12
0
0
0
0
-2
0
-88
0
0
0
-11
0
0
-25
0
0
0
0
16
0
96
0
0
0
0
-7
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
0
0
0
3
0
0
13
0
0
0
0
0
0
21
0
0
0
0
0
0
-42
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-2
0
0
0
0
0
65
0
0
0
0
0
-3
4
1
0
0
0
0
0
1
0
0
2
0
0
0
-22
0
0
-6
0
0
0
-19
0
0
-1
0
0
0
25
0
0
0
0
0
0
-32
0
0
0
0
0
0
17
0
0
0
0
-1
0
-56
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
6
0
0
0
0
0
0
16
0
0
0
0
0
0
-8
0
0
0
0
7
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-8
24
0
-7
0
-2
-2
16
0
0
0
0
35
-12
0
-2
-6
19
0
47
1
0
30
-14
0
0
-2
-5
0
12
-7
-10
0
31
4
0
0
44
0
0
31
3
0
0
-7
-28
0
-6
-9
0
-4
27
0
0
1
5
0
0
-6
-9
0
0
-15
0
0
0
0
0
0
11
0
0
1
-1
0
0
-38
0
10
-15
0
0
7
-13
0
1
61
17
0
0
-5
0
-4
20
0
0
-9
11
0
-2
4
-23
0
-3
20
0
9
49
0
0
-10
-24
0
0
-34
10
0
0
-7
0
-14
0
0
0
0
-5
-15
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
-12
0
0
0
0
0
0
-6
0
0
0
0
0
3
-20
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
5
24
5
1
0
47
0
-17
-1
13
5
1
12
18
-9
-43
-3
14
14
-14
9
-16
-5
4
1
9
-11
17
-8
98
15
-5
-27
-2
0
-4
-19
-85
-14
3
2
-1
-7
26
41
-19
2
-1
1
-17
-28
-30
48
6
-8
-17
0
-25
-52
-25
-20
-27
11
2
-10
-69
-36
22
9
68
-7
20
16
44
-50
74
61
-13
-9
11
-2
49
-12
19
6
0
3
-13
7
-13
-23
-17
-35
8
-11
1
24
25
5
-29
-2
-26
12
0
21
3
-22
-27
-36
11
2
-40
-5
-2
-11
-29
-72
34
-24
0
-38
28
-22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
-2
57
0
0
-8
-1
-19
0
10
-16
0
-49
-3
0
62
-42
4
-1
7
20
-4
-19
-7
-2
56
-6
11
8
-9
-14
-2
-80
4
-18
0
-1
26
-17
-26
19
2
0
-1
8
-1
4
0
28
0
-1
16
13
-19
0
28
0
0
0
0
1
0
-9
1
0
0
-3
0
6
11
-1
60
18
0
-3
-6
-10
-2
-10
-12
19
1
17
7
-5
22
-48
2
11
3
-5
-4
-9
-39
-4
0
-4
-17
0
0
14
0
-61
1
-29
0
14
-1
45
40
0
0
0
24
2
0
-22
0
7
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
-29
0
0
-7
0
-3
-26
-13
89
-5
-26
-52
-11
-11
-26
0
49
-21
7
-26
4
-34
-4
16
-4
-9
-61
41
0
-7
0
-38
-6
10
3
-14
0
-3
25
17
-38
-5
-13
0
0
-13
2
26
3
36
0
6
6
-13
7
0
15
-9
0
0
0
17
0
3
-1
3
3
3
2
0
43
-1
39
-53
0
0
11
-34
0
-3
-63
-18
1
-34
-19
-15
7
-49
0
-17
27
-18
1
17
-4
-29
-46
39
-11
0
-3
-15
-1
48
9
26
0
0
34
-36
47
-1
-52
0
-1
-40
23
-4
0
25
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
22
0
0
0
0
0
-3
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
1
0
0
0
35
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
7
0
0
0
0
-8
2
0
0
52
-27
0
3
4
0
0
-4
0
-6
-9
24
0
0
48
0
-17
-5
12
0
0
23
0
24
0
1
0
0
21
-1
12
0
-17
0
0
-16
0
5
0
-26
0
0
0
0
-10
0
24
0
0
0
0
7
0
3
-2
0
2
0
0
0
-13
0
11
0
0
0
0
2
0
6
-7
0
0
4
18
0
0
21
0
0
0
20
0
2
-11
0
0
0
30
0
-10
45
0
-2
0
-11
0
0
11
7
12
0
-33
0
-72
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
49
0
0
0
-3
0
1
-24
0
0
10
0
0
0
1
0
0
16
0
0
-3
-16
0
0
-11
0
0
4
22
0
-1
18
1
0
0
-17
0
0
22
0
0
0
-46
0
0
0
0
0
0
12
6
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-3
0
-4
0
0
0
0
-30
0
-3
2
0
0
0
-3
0
3
0
0
0
0
18
0
0
4
-6
0
0
8
0
-40
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-3
96
0
0
1
0
0
0
13
0
4
6
0
0
0
-6
0
0
0
0
0
0
40
0
0
6
6
0
0
-17
0
0
0
0
0
0
-6
0
0
0
0
0
0
36
0
0
0
0
0
0
48
0
0
0
0
0
0
2
0
5
0
0
0
0
2
0
0
0
0
0
0
31
0
2
-1
0
0
0
36
0
0
0
0
0
0
1
0
-5
0
0
0
0
-5
0
0
0
7
0
0
-34
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-7
3
-42
19
7
22
-2
2
56
5
4
-5
47
1
8
-4
-3
3
5
22
6
18
5
19
9
-12
-2
-51
3
9
-41
-28
-2
38
-15
-17
21
-13
-19
-6
-21
0
-17
13
-9
-1
8
-20
-37
-6
6
-14
-17
0
-23
-25
1
-51
0
-57
6
44
-26
-18
23
18
0
7
25
3
-17
-46
-11
45
2
32
30
32
-17
-2
2
-10
14
-5
-8
30
-18
-20
-1
-76
13
-18
43
-2
-24
-9
4
-4
-8
38
-22
-18
3
16
-10
-7
31
-14
17
22
-18
22
11
-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
-9
-12
7
6
62
23
0
46
3
-12
-4
-39
0
1
26
7
-15
31
6
49
2
30
10
1
0
-18
0
-18
2
-8
0
1
-10
11
6
-1
3
0
0
-2
0
44
0
1
1
0
-3
2
-48
0
-8
1
0
0
0
9
7
31
-32
1
13
10
0
10
-21
-14
81
-8
0
11
-4
34
1
2
36
-23
0
-25
-49
-1
44
30
10
0
16
22
0
-6
-50
-18
11
4
-9
-2
97
-3
-2
19
0
-6
2
-7
19
-12
-4
0
31
0
-7
4
0
3
0
-41
-34
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-46
0
0
19
-6
0
-3
-11
0
0
0
0
0
0
13
0
0
13
-1
0
0
26
0
0
0
0
-3
0
22
0
0
0
-1
0
0
-22
0
0
-1
0
0
0
-11
0
0
0
3
0
0
-33
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
26
0
1
-4
0
0
0
-23
0
0
0
0
0
0
-2
0
2
0
-7
0
0
35
0
8
0
0
0
0
-2
0
0
0
4
0
0
11
0
12
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
3
-11
-6
-26
-1
40
-17
0
0
-8
0
-2
-2
-29
0
0
13
0
2
0
44
12
-1
12
0
-11
0
9
0
8
0
13
0
-9
15
0
0
0
0
1
0
19
0
0
0
-11
39
0
8
-6
0
0
0
0
0
6
-17
0
0
0
0
0
96
1
41
0
0
0
0
-14
0
0
-6
0
-7
0
1
-4
-2
-2
0
11
0
-10
0
0
7
-1
0
0
32
0
-6
-3
0
-3
0
-17
0
0
0
-3
8
0
9
0
55
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
6
0
1
-11
24
0
-21
22
0
0
8
0
0
0
-14
0
10
-4
0
0
0
27
0
0
0
0
-8
0
9
0
0
-15
-7
0
0
-17
0
0
0
0
0
0
28
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
-6
0
0
0
0
-7
0
2
0
0
0
0
30
0
-4
0
0
0
0
-4
0
0
0
0
0
0
-18
0
10
0
0
0
0
53
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
4
0
0
0
0
0
0
-21
0
0
13
0
0
0
-9
0
0
-8
0
0
0
-35
0
0
7
0
0
0
12
0
0
0
3
0
0
27
0
0
0
0
0
0
7
0
0
0
0
0
0
-11
0
0
0
0
0
0
-40
1
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
7
0
0
0
39
0
4
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
19
0
0
0
-4
0
0
0
-4
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
-4
3
1
0
-2
-3
-3
0
0
4
-20
-30
-12
19
0
4
22
-4
2
0
6
8
0
-34
22
-4
0
-18
0
11
18
0
6
0
-9
0
4
0
-15
28
0
0
4
0
0
0
-7
0
-9
-28
0
0
0
0
0
21
2
5
-5
0
0
-4
-1
0
-1
82
-2
1
1
37
0
-1
-1
0
-21
-4
11
1
12
-22
48
6
0
-3
0
-9
-11
0
2
0
-11
0
0
4
-17
17
0
-21
0
83
0
0
9
0
17
25
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
-6
24
18
0
8
10
2
50
8
-33
-25
4
2
-31
15
22
52
-7
26
-9
-24
3
6
-2
42
-19
6
-4
-9
39
-4
10
-25
-4
12
-1
27
-2
-9
0
0
2
15
0
-13
-10
16
19
57
-26
3
3
-13
-66
0
-33
19
12
-2
-11
10
12
0
-11
8
2
51
-9
2
24
6
-1
9
39
-4
18
1
29
-6
28
-9
29
-16
-50
27
-7
-4
36
17
18
-3
-15
11
-8
20
-4
-6
-1
-1
17
-6
-6
0
20
-4
-1
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
7
27
0
0
30
2
0
-8
28
-7
-2
-1
-7
0
-7
61
3
1
-1
42
0
0
-15
-14
0
25
14
0
0
15
0
-8
0
-10
0
0
0
1
-9
0
4
0
0
0
0
0
0
-37
11
10
0
-3
0
0
46
-6
-23
1
0
0
0
-43
4
49
1
0
0
11
-17
0
1
111
0
0
0
21
0
-2
19
10
0
0
-53
0
33
12
-4
0
0
15
0
2
-25
-17
0
0
-1
0
-12
0
0
-1
0
-56
3
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
39
0
0
30
20
-3
12
82
28
13
2
29
2
0
-6
0
-5
-2
20
0
0
-60
44
11
0
-11
0
0
7
0
-13
0
15
0
0
0
9
-36
0
19
0
0
0
2
10
0
-18
9
0
0
0
0
-10
-2
0
-6
4
0
0
3
80
-1
-15
-9
22
0
-18
27
0
56
34
0
0
10
22
0
1
26
-6
0
-2
14
0
-52
-3
11
32
0
4
0
0
33
-38
2
0
1
0
30
-1
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
22
9
4
47
-4
8
-29
44
3
-2
46
20
35
-10
-14
32
0
-25
59
11
3
17
-2
-1
33
-30
8
25
1
-5
0
-8
26
0
23
-2
29
1
48
3
-8
15
0
-7
-22
0
0
0
-6
0
-9
26
-6
1
-2
7
0
24
3
-19
39
0
0
-76
3
-12
-18
3
-8
7
-19
7
0
-43
48
2
44
58
18
-11
-27
-36
23
63
-14
-14
9
-47
51
-3
0
23
-3
0
3
49
-3
32
0
-3
0
7
7
0
-12
0
39
35
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
25
4
0
36
24
0
31
-13
-14
4
-17
-14
-21
66
44
-21
0
52
7
-8
33
-1
-10
-3
13
29
4
-6
0
0
0
0
7
0
67
35
1
3
-1
0
4
-16
0
-2
0
0
0
0
-8
0
-18
1
0
-8
0
0
27
47
-13
36
51
0
0
15
-2
1
51
28
0
-22
60
28
2
1
36
0
-27
40
-13
0
32
0
-16
25
14
-1
0
-42
-17
0
22
0
-8
0
1
4
5
40
0
11
0
22
6
0
34
0
18
-2
-2
-10
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
0
0
0
0
0
0
-47
0
0
4
2
0
0
12
0
0
-7
0
0
0
-23
0
0
0
0
0
0
5
0
0
0
0
0
0
-23
0
0
0
0
0
0
-7
0
0
0
0
0
0
21
0
0
0
0
0
0
5
0
-18
0
0
0
0
35
0
0
0
4
0
0
38
0
0
0
0
0
9
17
0
0
-1
-2
0
0
26
0
33
0
0
0
0
31
0
0
-1
0
0
0
-31
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
8
12
-1
-7
12
21
46
-15
0
24
-2
4
2
18
0
1
0
-1
-3
-9
-11
2
20
0
0
8
0
19
0
26
2
7
-4
42
57
0
8
8
-1
0
0
-4
0
11
20
1
0
0
0
0
24
0
-12
-9
0
0
-9
36
-3
4
81
-6
0
2
-8
-20
-17
-19
1
9
0
5
0
3
-84
-16
4
0
20
-2
3
5
1
10
0
1
10
0
-22
-16
-37
0
25
0
42
0
0
-20
0
14
6
0
29
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
38
-9
10
-22
-1
13
3
-5
16
6
-26
-7
1
7
37
48
26
0
1
33
3
-27
6
12
1
-5
-9
-7
21
46
24
11
1
1
7
11
22
-15
54
-8
76
12
40
46
15
17
1
-28
33
12
-14
10
-8
-63
-23
0
-69
-9
7
18
-12
-47
1
29
18
-25
-42
-9
-57
-4
-21
-14
3
-20
19
2
13
-42
20
4
8
-39
21
0
-26
25
15
13
-3
-46
-3
-82
-13
-38
-12
-2
0
6
-50
-4
15
29
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
43
0
0
-1
-28
0
0
-4
0
0
0
-55
0
4
0
0
22
0
-15
0
0
0
0
0
0
9
0
0
0
0
0
0
-9
0
0
0
0
0
0
13
-3
0
0
0
0
0
4
0
2
0
0
0
0
-16
6
0
0
0
0
0
-42
0
-1
-6
0
0
0
-10
0
0
41
-26
0
0
15
0
3
0
0
0
0
-25
0
0
0
0
0
0
-88
0
16
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
46
0
-3
-12
52
0
0
3
0
-2
-7
18
9
0
10
-11
-1
3
26
0
0
0
0
0
0
-21
0
0
0
27
2
0
-2
0
0
0
0
-6
0
61
-5
0
0
0
0
0
39
16
-7
1
0
0
-19
24
0
-1
-4
0
0
0
17
1
-1
6
-3
0
0
26
0
0
-6
-12
0
0
-17
0
25
3
0
0
0
15
0
0
0
-2
0
0
-65
0
13
0
0
0
0
4
-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
0
-12
31
-27
-44
16
65
18
1
7
0
9
45
-4
29
-30
22
1
0
31
39
-51
4
-9
0
0
4
-7
3
0
34
0
0
-16
0
9
0
20
7
0
0
0
8
0
5
-25
26
2
6
0
-3
27
9
15
-7
-1
7
54
7
15
62
51
-42
0
54
-15
0
59
-1
7
15
-33
-7
0
-23
-14
-30
0
17
5
0
3
-1
-1
2
0
12
-4
-1
1
0
22
-3
5
0
-44
-9
0
2
0
31
33
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
-11
0
0
21
0
0
0
-22
0
0
0
0
0
0
9
0
0
2
0
0
0
-29
0
0
0
0
0
0
-24
0
0
0
0
-7
0
55
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
-1
0
0
0
2
0
2
0
0
0
-8
-16
0
0
0
0
0
0
-25
0
0
0
0
0
0
3
0
0
7
0
0
0
15
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
16
0
-9
20
-1
0
14
-23
0
0
-28
4
0
0
-4
0
0
13
-15
0
0
18
0
1
0
0
0
6
33
0
-9
1
-12
0
0
-14
0
0
0
0
0
0
16
-11
0
0
0
0
0
-15
0
0
27
0
0
27
-2
0
0
-8
-4
0
0
-19
0
-1
42
0
0
-8
19
0
0
-26
1
0
0
33
0
53
6
0
0
0
25
0
0
1
3
0
0
-21
0
33
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
3
13
-12
18
-33
33
0
0
0
31
-23
6
10
0
0
0
5
6
8
26
0
2
0
16
-17
25
2
0
17
-2
1
0
-2
-1
0
-31
-5
6
-5
-1
0
0
-22
0
9
-12
0
0
-1
7
1
-38
1
7
-16
-6
-19
-1
-12
-19
0
0
0
18
7
-62
30
-17
27
0
-6
1
-5
-66
1
2
0
2
0
0
14
42
-32
0
-7
0
9
0
0
21
0
29
-50
0
-9
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
-3
0
27
-14
-1
47
0
24
20
17
-44
9
-5
-6
48
14
22
-24
1
66
5
-3
-1
33
11
-22
38
-8
0
0
-33
-23
-9
7
-5
42
4
44
-25
18
6
0
12
10
47
-31
34
-15
-54
21
-10
36
18
48
-44
53
7
0
18
-7
8
7
33
48
4
-48
20
-14
17
40
9
12
-2
-10
-31
-27
-31
18
12
13
34
2
0
19
14
-1
0
-16
-46
35
26
0
13
-6
13
-58
26
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
32
0
3
-11
0
24
0
-9
0
0
0
0
0
0
-27
0
0
0
0
0
0
23
0
1
0
1
0
0
-17
0
0
0
0
0
0
24
-12
0
0
0
0
0
24
0
-9
0
0
0
0
68
0
-10
0
0
0
0
-4
0
-5
3
0
0
0
13
0
0
0
0
0
0
31
0
-3
0
0
0
0
3
0
-2
0
0
0
0
-2
0
-47
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
8
-7
-1
6
0
-5
0
0
-23
4
25
0
-6
2
0
8
0
-13
0
-22
0
0
0
-9
1
0
20
0
0
0
0
-10
0
53
-7
0
0
0
1
2
-6
19
-6
19
0
3
0
1
0
-8
64
2
0
10
-5
-4
-1
29
-4
0
0
3
-1
-17
-14
56
8
1
0
0
-19
38
13
-1
0
45
0
0
-3
39
0
0
-14
0
13
0
0
-13
0
-34
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
43
-7
-38
31
-12
10
-30
-28
-30
13
55
11
9
3
-1
-11
-1
19
-8
11
-2
9
-3
-18
22
6
-4
-34
-9
0
-3
11
-1
-5
-8
12
-4
24
0
-55
-4
-16
-22
57
-4
0
30
9
17
21
-7
-52
19
1
9
-6
1
77
15
-3
-6
2
-2
-19
0
27
-38
1
1
-4
-8
-5
8
10
-1
13
-4
-7
-6
-12
24
0
0
2
-22
0
10
34
0
4
18
-7
11
57
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
22
0
1
6
-1
-15
-12
-8
0
0
9
13
4
-10
-6
0
0
11
0
22
-2
-2
0
0
-2
0
0
0
11
1
0
0
0
18
0
26
0
-1
-1
0
0
47
-1
0
31
-8
0
2
21
-19
0
-11
-30
0
0
20
0
4
-76
55
0
0
-53
-14
0
27
16
2
22
-2
1
3
-19
-37
0
-2
0
34
0
0
7
0
-6
0
10
0
-9
16
0
0
0
28
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-16
11
-2
-18
0
0
0
28
0
0
41
-7
0
0
-3
0
0
20
0
0
0
10
0
0
0
-3
0
0
15
22
0
0
0
0
0
5
-9
-8
-1
0
0
0
22
-1
17
-16
0
0
0
57
0
2
-7
0
0
-7
12
-4
12
-33
0
0
11
27
0
0
18
2
0
4
7
0
-67
-5
0
0
2
18
0
0
2
-17
0
0
16
0
5
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
29
0
0
5
24
-3
0
4
0
0
-27
0
5
0
18
-6
-2
0
21
5
0
17
12
0
0
0
-1
0
-13
-9
0
0
-3
0
1
-15
1
11
-6
0
0
0
30
0
3
19
-20
-2
0
-33
3
45
-27
-7
19
-4
19
-9
15
46
-16
0
0
7
0
18
-24
2
-4
0
-3
0
0
0
-63
6
0
11
0
59
0
-1
21
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
83
-58
2
-9
2
-45
4
-4
-5
37
-37
8
20
8
12
38
12
7
2
-1
1
-22
-28
-18
-29
15
21
-10
26
41
21
7
7
-16
20
-6
-11
17
-103
10
-4
7
-1
24
-19
32
19
13
-11
27
-14
9
-69
-23
3
0
1
5
18
7
2
-12
-11
2
-31
2
4
-5
16
4
1
-39
28
3
-3
46
11
7
9
0
36
25
0
1
-9
-18
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-31
0
0
0
0
-2
0
12
0
0
0
0
0
0
46
0
0
0
0
0
0
-17
0
0
0
0
0
0
13
0
17
0
0
0
0
48
0
0
0
0
0
0
-8
0
-7
4
0
0
0
2
0
0
4
0
0
0
-20
0
0
0
0
0
0
46
0
0
0
-4
0
0
45
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
40
95
-1
0
-38
0
0
0
0
12
0
-16
0
0
0
16
-3
0
-1
0
0
0
0
0
0
-15
0
0
0
0
0
10
11
0
0
15
0
0
-13
28
0
-7
0
0
0
-8
-49
1
-3
0
0
0
1
-9
0
0
-1
-15
0
0
-3
0
0
2
0
8
3
1
0
0
-9
0
0
-1
-12
0
33
0
0
0
0
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
29
0
-14
11
28
34
55
14
0
9
-6
0
17
-1
8
0
-1
0
-9
15
0
4
-19
-1
0
13
38
0
-4
-15
1
0
12
0
17
8
2
-18
26
16
11
-23
-12
7
46
12
59
32
-6
1
-9
-31
-8
1
2
11
-7
7
48
28
-23
8
-30
12
1
-35
-6
0
71
13
18
-6
3
4
5
63
0
-1
0
-34
0
2
-29
0
3
13
-2
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
-4
0
0
-2
16
-2
-16
0
24
13
0
-15
0
-10
0
19
0
0
0
0
-8
0
10
0
0
0
0
0
0
-14
-2
0
-7
0
0
0
-21
-3
22
0
0
0
-11
23
0
0
-3
-1
0
1
-49
0
-1
-3
0
0
0
21
0
0
32
3
0
0
-21
0
-2
3
0
0
0
24
0
0
0
0
0
0
18
0
43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-18
-18
10
0
7
0
0
10
0
0
0
20
0
0
0
15
0
0
8
1
0
0
0
0
0
6
12
0
0
-18
0
0
-1
0
48
-11
0
0
4
17
0
7
10
-20
0
-39
9
0
0
21
0
0
21
10
0
-10
66
2
0
0
17
0
-29
54
0
0
0
4
0
0
-30
-20
0
0
6
0
-29
0
0
0
0
19
14
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
0
0
0
0
4
0
-4
0
0
0
20
40
0
-10
-11
0
0
0
0
0
3
0
0
0
0
0
0
-28
0
0
13
0
0
0
-8
0
-26
-7
-11
2
0
57
0
9
12
2
0
0
-11
0
0
39
-3
0
2
17
1
0
14
-7
-11
0
-4
0
3
2
0
0
0
32
0
3
0
0
-16
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
0
0
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
-13
17
27
-9
-3
6
1
-4
55
4
0
-5
0
3
2
23
-2
-46
-20
26
1
-1
9
-27
1
-6
22
-9
16
-4
-28
-5
-29
-8
-6
87
-9
4
2
-33
-61
10
-19
-25
-22
22
-2
53
-2
-30
-7
40
51
-4
9
0
44
-10
-2
-41
5
32
5
43
-52
37
19
15
1
0
-23
-20
35
-25
14
-1
-5
-12
-8
17
-39
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
7
0
0
0
0
0
0
13
0
0
0
0
0
0
-21
0
0
6
0
0
-1
-3
0
1
0
0
0
0
24
0
0
0
0
0
0
1
0
-6
0
0
0
0
-6
0
0
0
0
0
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
11
0
0
0
-1
10
0
0
0
0
0
0
0
0
-11
1
0
0
0
0
0
-4
0
0
-1
0
0
1
-6
0
0
9
0
0
0
3
0
0
-1
0
0
0
16
0
0
0
7
0
0
-14
0
1
0
0
0
0
46
0
2
2
-11
-7
0
-44
0
-8
0
0
-2
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
6
0
15
0
-3
0
7
31
0
-9
18
0
0
3
1
2
-15
-45
0
22
10
0
16
-29
0
-45
22
4
0
9
6
7
20
-1
14
29
-51
3
7
-15
-16
4
67
24
0
0
-17
0
3
13
-14
-12
0
37
-13
0
18
1
7
0
-7
0
-35
4
0
5
0
9
0
20
-27
0
-16
-27
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
-8
19
0
19
19
0
35
0
5
2
10
-18
-19
-11
0
1
-23
0
0
0
-1
0
3
8
-2
-12
0
0
1
2
-8
-11
24
0
-9
56
4
0
8
34
0
18
48
16
0
54
61
0
-62
-37
-22
-8
60
-26
-25
-11
1
15
-6
-42
3
0
11
4
-3
0
-6
18
27
-23
0
8
0
-14
-24
0
38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
40
0
15
0
-14
0
0
-4
0
0
0
0
0
0
-4
2
0
-1
-4
0
0
28
0
0
16
0
0
7
-8
0
0
9
1
0
-12
-1
0
20
1
0
0
8
-17
0
4
-32
0
0
-19
-13
0
6
-10
0
0
0
28
0
0
24
7
0
0
19
0
13
0
0
0
0
-15
-2
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-38
0
0
0
0
0
0
1
0
-26
7
0
0
13
31
0
16
0
11
-6
0
33
0
-4
0
0
0
0
-31
0
-6
-17
-3
0
0
-41
0
-9
1
0
0
0
14
0
0
0
0
0
0
-15
0
7
0
0
6
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
39
-37
13
3
-5
7
18
8
4
-85
-75
1
12
7
27
4
-11
41
18
9
12
1
50
44
2
-20
2
13
-26
0
6
10
5
-3
25
17
-4
67
5
-16
3
33
-33
-3
-10
-20
-9
-9
29
19
22
21
12
-22
0
3
-28
80
9
3
15
3
-20
10
-16
-13
24
-15
14
-40
1
-28
17
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
38
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
0
0
0
48
0
0
0
0
0
0
-1
0
13
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
0
7
0
0
0
0
13
0
0
0
0
0
0
-15
0
0
2
0
0
0
-42
0
0
0
0
0
0
-6
0
12
0
0
0
0
44
0
0
0
0
0
0
-24
0
6
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
25
0
0
0
28
58
0
-12
2
0
0
0
1
0
-2
3
3
0
0
0
-2
-19
0
-7
2
0
0
0
4
0
0
0
0
0
0
-9
0
-11
10
2
-3
0
-19
0
-6
-3
10
0
0
-32
0
13
0
0
-6
0
-4
0
0
0
-16
-10
0
-9
0
-25
0
0
1
0
-4
9
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
16
0
0
0
0
0
0
15
0
0
0
0
0
0
-13
0
0
-1
0
0
0
18
0
0
-3
0
0
0
-57
0
-1
0
0
0
0
-57
0
0
0
0
0
0
15
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
3
0
0
-6
-32
0
0
0
0
0
-8
-13
0
-10
3
0
4
17
1
-41
-9
0
0
0
7
-16
-3
-12
27
0
8
-12
0
-27
44
0
0
9
37
0
29
0
-28
0
0
1
0
-25
39
0
0
-10
5
0
-1
43
19
0
0
-20
0
-1
0
0
0
0
3
17
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
22
0
0
0
0
0
0
4
0
0
10
0
0
0
2
0
0
-2
0
0
0
-22
0
0
0
0
0
0
13
0
0
0
0
0
0
-22
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
16
35
-14
2
14
4
-8
26
-2
6
-6
-17
21
59
-1
-42
11
1
-48
49
-9
32
20
19
-3
23
-9
-8
-1
43
11
-1
11
9
1
-1
41
-10
-6
-4
-19
-8
2
2
1
-8
0
5
16
25
47
-7
0
-6
7
44
7
24
0
10
-5
13
-7
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
-30
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
9
0
0
0
0
1
0
0
0
0
0
-7
18
0
3
-8
0
0
0
-17
0
0
0
0
0
0
3
0
0
0
0
0
0
13
0
0
0
2
1
0
-22
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-4
0
0
0
0
0
-15
0
0
0
0
0
-11
-6
0
0
0
0
0
0
26
0
0
0
11
0
0
9
0
0
0
0
0
0
-42
0
0
0
4
0
0
19
0
-3
0
0
0
0
45
0
0
0
0
0
0
-48
0
30
0
0
0
0
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-36
0
0
0
0
0
-2
-3
0
0
0
0
0
-3
11
0
-19
0
0
-3
-5
0
2
6
0
11
41
0
0
33
-20
0
-3
2
7
0
6
23
0
-4
3
-7
0
-19
20
0
42
0
4
0
0
17
6
-11
2
-15
0
22
9
0
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
11
25
0
0
-2
0
0
3
12
-3
-2
14
0
-1
-11
-6
1
-12
0
0
-6
10
0
16
8
-14
0
-38
12
0
67
-7
0
0
-17
13
0
-45
76
-30
0
-1
9
0
6
13
-3
0
0
13
-4
1
-3
6
0
0
-13
0
8
16
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
-5
-17
17
-27
-4
35
-12
22
-4
37
53
66
60
-4
48
10
35
40
-37
-8
7
-10
-8
-11
23
-21
17
-11
24
21
-5
-5
-7
-46
0
42
1
-2
-1
11
-51
11
-1
20
-24
-4
-9
-4
10
7
10
-43
-49
28
-17
0
-34
-62
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
1
0
0
0
-1
-11
0
0
2
0
0
0
2
0
0
0
0
0
8
-61
0
11
-11
0
0
0
-4
0
-5
-1
0
-12
0
10
0
0
0
3
0
0
-15
0
-19
-8
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
16
0
-12
0
0
0
0
0
0
-22
0
16
-6
0
0
0
-4
0
0
0
0
8
0
-39
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
9
-9
0
0
-9
0
0
0
0
0
0
-11
0
-10
75
25
0
0
-22
0
-31
-3
0
0
0
-25
0
0
0
2
0
0
13
0
26
0
0
0
0
26
1
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
26
0
0
-6
0
0
0
-13
0
0
0
0
0
0
6
0
0
0
0
0
0
5
0
0
0
0
0
0
-15
0
0
0
0
0
0
58
0
28
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
31
16
6
1
26
1
-28
-25
40
-37
7
-31
-2
9
24
18
54
0
6
-4
-9
-57
-30
45
1
4
5
40
-6
-36
38
-42
25
-14
-27
-7
1
3
-11
-4
-4
0
23
-13
-2
19
0
20
-19
-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
0
0
0
0
11
0
-17
10
0
0
0
8
4
20
7
4
0
1
43
-4
-10
17
0
4
-4
44
0
0
-9
11
0
-1
13
0
-17
36
-1
0
0
-13
0
0
-9
-2
-1
0
18
0
17
-6
0
0
0
-15
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
13
-1
0
0
0
0
0
21
0
0
0
0
0
0
-41
0
0
0
0
0
0
36
0
0
0
0
0
0
19
0
0
0
0
0
0
65
0
0
0
16
0
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
1
0
0
0
0
42
0
0
-1
0
2
0
-3
0
0
0
0
0
0
-31
0
0
0
0
0
0
-45
0
-6
0
0
-1
0
-38
0
0
0
-7
0
0
-66
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
84
0
0
23
0
1
0
65
0
0
16
0
0
0
-29
0
-7
0
0
0
0
-6
0
2
6
0
0
0
-55
0
0
0
6
0
0
17
0
22
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
-9
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-20
0
0
-28
0
18
-4
-4
0
0
-11
0
0
2
-2
0
0
-20
0
17
1
0
0
0
52
0
0
0
0
0
0
36
0
3
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
-28
49
-27
-27
17
14
0
-23
15
17
1
26
1
-1
-14
11
-33
18
-24
2
-2
16
-33
15
-16
0
22
-3
0
17
7
28
0
-2
0
25
-1
0
47
0
-19
-14
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
2
0
0
0
54
0
-1
0
0
0
-10
53
0
0
-1
0
0
0
-39
0
0
0
0
0
0
-11
0
0
0
-1
0
0
-72
0
-3
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
23
14
14
-15
4
21
19
17
5
-12
22
14
1
-8
5
-1
12
46
-4
0
0
-28
-15
-62
9
5
3
0
0
0
0
33
-17
0
0
-5
0
2
0
-3
-4
0
-50
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
-4
35
18
-3
1
0
11
0
-12
0
19
0
-7
0
0
1
0
72
17
10
-2
0
9
0
0
0
-8
0
0
24
0
-72
0
0
3
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-26
0
0
0
0
0
0
22
0
0
0
0
0
0
-28
0
9
1
0
0
0
51
0
0
0
-1
0
0
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
-1
4
0
0
-2
0
0
0
45
0
0
0
0
0
0
-3
0
-7
0
0
0
0
32
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-1
1
0
1
0
3
22
25
4
0
11
0
-20
11
0
0
0
-23
0
0
0
0
0
0
4
0
-11
0
0
8
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
2
11
6
-40
15
-6
8
-69
-5
11
30
13
-5
-52
-2
3
0
19
-53
-34
-1
0
-1
10
-12
17
3
-25
-1
-5
-1
-7
14
-4
-7
0
-25
-9
1
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
1
0
0
-1
67
0
28
0
0
0
0
-6
0
8
6
0
0
0
14
0
0
0
0
0
0
30
0
10
0
0
0
0
-10
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
2
2
-2
7
0
0
0
18
0
0
13
11
-1
24
20
0
14
-7
4
0
0
-10
0
0
-4
7
0
0
5
0
-23
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-24
-76
0
-26
8
5
0
4
1
-15
-3
0
16
12
38
0
0
0
0
30
-1
15
0
19
21
0
17
0
23
0
0
-7
0
27
-16
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
0
3
2
0
-6
42
0
1
0
27
0
33
-3
0
0
0
0
0
0
3
0
0
0
25
0
35
0
0
6
0
-6
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
9
-18
0
1
-2
0
-8
0
0
0
0
-12
0
0
0
-9
0
0
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-47
33
74
0
0
-40
0
43
-6
0
0
0
-2
0
0
18
8
2
0
-8
0
-1
0
0
-3
0
-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
38
-4
-28
-17
21
16
76
5
5
-6
-11
-9
-13
-39
45
8
-1
14
-23
-11
24
8
16
-2
11
-34
4
35
0
13
-23
1
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
2
0
0
0
-7
0
17
-1
6
0
0
3
0
0
0
0
0
0
-36
0
-15
0
-1
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
-2
-26
0
-2
38
-18
-8
4
-4
7
25
31
-6
-7
0
8
0
-1
10
28
-16
0
-15
0
-3
0
-2
1
0
-82
18
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
31
0
13
-3
-20
-41
15
18
-2
15
0
-10
1
0
2
10
-2
-1
-33
0
0
-7
0
49
0
0
0
-2
-24
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
12
0
0
0
-9
0
0
0
0
0
0
63
0
0
0
0
0
0
-19
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
14
0
0
-7
-16
0
0
29
0
1
-2
0
0
0
3
0
0
-2
0
0
0
-7
0
22
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
0
29
-1
0
4
0
-29
0
2
-7
9
0
0
15
0
-41
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
0
0
0
0
0
0
0
43
8
0
3
26
26
31
9
-2
8
7
-26
1
23
0
9
0
-6
35
24
-2
0
-8
-35
-2
1
-80
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
6
0
0
-1
0
1
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
38
0
30
-5
0
-7
0
-65
0
0
0
-25
-3
0
22
0
-36
0
0
-6
0
-22
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
16
3
23
-1
-3
1
-9
0
0
43
34
0
-19
0
-46
0
-3
2
0
-1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
2
0
-29
-12
10
6
0
-26
0
0
8
9
-1
0
20
0
36
0
0
1
0
-17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
48
7
0
0
0
-5
0
0
16
0
0
0
-7
0
-7
0
0
0
0
-33
6
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
6
0
0
0
0
7
0
6
0
0
0
0
-55
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-37
1
28
12
-1
1
-3
-13
30
-13
-17
0
-15
-26
-8
-8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
33
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
0
0
-8
-80
-25
1
-8
3
-6
-30
0
42
0
-7
-39
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
-3
0
-1
0
5
-16
0
-22
0
27
0
-19
-21
0
33
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
-1
0
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-8
0
-16
0
0
0
0
-18
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
7
13
-5
16
-20
0
4
-29
4
7
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
25
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
30
0
2
1
0
-26
26
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
13
-1
0
-7
0
-22
-33
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
31
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
43
-2
-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
5
60
0
-2
-32
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
3
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-30
0
0
0
0
0
0
2
0
0
0
0
12
0
0
0
-68
0
0
-42
0
0
0
0
0
0
3
0
0
0
7
0
0
-5
0
0
0
0
0
-9
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
0
0
0
0
0
-2
0
0
12
-37
0
0
0
0
0
19
0
0
-4
20
0
0
16
8
0
0
0
0
0
7
27
0
0
0
0
0
0
-12
0
0
-9
0
0
0
12
0
25
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
-22
0
0
0
0
0
-1
12
0
0
0
0
0
0
-10
0
0
1
0
0
0
-52
0
0
3
0
0
0
-5
0
0
0
11
0
0
31
0
0
0
0
0
0
12
0
0
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
18
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
0
0
0
0
0
0
-17
0
-1
0
0
0
0
-1
0
0
0
0
0
0
23
0
3
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
-26
-3
13
-17
55
25
32
23
-69
28
-6
43
20
13
63
-4
-14
7
-44
-32
10
26
-61
-60
-15
1
12
-13
4
-73
0
-1
-41
-82
-69
-57
-13
-49
14
7
0
-18
15
-1
0
-9
-2
-47
46
-19
19
5
-32
-55
30
38
82
9
3
17
7
7
7
5
-2
43
1
-27
3
1
4
-19
1
10
3
-18
-1
-46
-30
4
-47
25
-6
21
12
-21
14
-22
-2
13
-16
-3
-11
-19
-9
3
-10
50
-41
-11
-84
-4
-2
-46
-71
-9
6
-10
-31
18
38
-9
68
15
8
33
2
32
-13
1
-46
3
0
11
5
40
77
-11
-4
-16
24
11
11
28
-16
14
30
-27
-35
8
-31
14
9
-29
32
-21
-13
27
-54
-12
-42
-63
-9
-1
-11
-7
-17
5
-8
-30
-19
-72
-28
-12
6
22
-7
20
20
8
-24
-32
-22
81
-3
39
-38
0
33
4
-8
1
-20
6
-15
6
7
-2
13
38
5
15
14
-33
-14
-9
9
6
15
-34
-6
-12
-5
-36
-2
-8
27
16
-61
-1
25
42
13
0
20
-25
7
-62
-16
13
-39
12
14
15
41
-57
-9
-33
45
-4
18
-18
-29
-19
-5
20
18
22
21
-49
-42
-24
11
-4
-2
-19
-10
-3
52
9
29
-21
35
-20
-7
5
20
-35
-30
51
-7
-1
-18
46
18
-10
-9
-43
13
20
9
-59
17
-10
-48
25
-48
-4
45
0
-13
-67
-7
-4
2
31
6
-11
-9
-9
-24
-29
4
-10
-16
-14
38
-35
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-1
0
0
0
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
1
0
0
54
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
4
0
-6
-1
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
-1
0
0
0
20
0
6
0
6
0
0
0
0
-15
0
0
0
0
0
0
-1
0
43
-6
0
0
6
4
0
0
0
0
0
8
5
0
0
-1
2
0
0
39
0
0
0
0
0
0
-1
0
7
0
2
0
0
-2
0
0
0
0
18
0
68
0
-1
0
0
0
0
-1
-1
0
0
0
0
0
39
0
7
0
0
0
1
13
0
0
0
0
0
0
0
0
0
-2
0
0
0
-10
0
0
-14
0
0
0
20
0
0
0
0
0
0
38
0
0
0
0
0
0
-2
0
0
0
6
0
0
36
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-4
0
0
0
0
6
0
0
0
-1
0
0
-4
0
-1
0
0
0
0
23
0
0
6
-7
0
0
-20
0
0
0
0
0
0
-9
0
0
0
0
0
0
26
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
-1
0
0
0
0
0
-26
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
-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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
-1
1
0
0
1
2
0
0
-4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
5
0
0
6
0
0
0
15
0
0
0
0
0
0
-3
0
0
0
0
0
0
12
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
63
39
30
-3
0
41
-31
47
-46
-3
-15
12
-39
13
-10
0
-1
0
0
-12
0
-24
3
0
6
12
-2
0
-15
8
-24
0
0
9
0
0
-11
0
0
-1
0
10
118
41
-1
23
0
0
-34
-32
-2
-19
-1
-27
-10
0
3
0
-2
-11
9
49
29
5
-2
18
3
-11
49
-28
-41
-5
0
-44
0
28
1
15
0
-1
19
33
-11
6
-6
-1
0
-1
-2
27
-1
80
0
-1
-3
10
3
0
0
14
-1
0
0
0
-23
47
13
8
-1
10
2
11
19
8
-4
21
4
-7
-49
33
0
14
-13
21
-1
-24
-25
-24
-10
-14
0
-9
-98
9
-3
10
16
9
4
44
17
0
3
-66
4
12
-3
3
-2
-11
4
22
-2
1
1
0
-7
-1
12
-16
0
15
35
19
0
-21
26
-1
43
17
6
-8
0
0
-13
24
17
-10
-24
-4
0
0
-2
0
-33
6
-3
8
-32
-16
-9
-4
4
16
-5
23
-21
1
-43
6
-7
15
0
-42
-7
-3
-5
8
-23
-3
3
0
0
40
-9
7
-9
-17
0
0
3
3
19
0
20
58
-3
0
1
-1
0
44
-13
8
4
-6
0
-2
-45
-5
-23
0
0
1
21
-33
4
-28
-59
5
2
15
-16
-3
11
8
-4
1
-25
-5
0
-10
10
-28
11
-2
-33
0
-11
-84
2
-7
-4
-57
-1
0
-54
-22
-17
-2
-10
0
12
1
2
-35
0
27
-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
-12
6
0
8
0
0
0
-2
4
-3
0
2
-15
-4
3
-2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
25
0
0
2
0
0
-12
0
0
0
0
0
9
88
7
4
1
0
17
16
1
0
23
45
-1
-12
0
11
0
-6
4
4
24
19
6
0
-55
14
-6
5
8
12
0
19
-2
27
-4
-1
0
1
-19
0
-3
8
1
0
0
-11
0
2
0
-6
0
0
0
0
-76
0
0
28
0
0
3
-10
4
47
-19
-28
21
-14
0
29
-14
4
0
32
0
0
44
0
-17
9
-45
-8
-4
-61
15
0
3
-4
0
1
4
-17
-1
0
6
-9
0
-8
10
0
0
91
0
0
-2
12
0
22
-3
-6
-10
0
-47
0
0
1
0
8
0
-2
54
99
0
0
0
-6
5
35
0
7
2
-3
2
-7
-4
-9
41
-21
1
54
0
-1
-1
19
4
10
28
37
0
-15
62
-8
1
-6
14
0
18
-2
-6
0
-3
-32
0
13
-16
56
0
0
34
2
0
-2
-1
-1
0
-10
0
0
0
-1
-10
0
25
1
7
0
0
0
0
-5
-7
0
1
-6
0
-1
-8
0
55
4
0
0
-13
0
0
21
-22
-12
0
6
-24
0
-36
-16
0
0
-1
12
0
1
0
-1
0
-6
27
0
12
0
-2
-4
0
-14
-7
0
9
-5
0
0
-5
0
-20
0
0
1
0
19
-3
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
57
0
0
0
-1
0
0
0
0
0
0
0
-7
0
-6
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
44
0
0
0
0
0
5
50
0
0
0
0
33
0
0
-1
39
-1
0
1
-3
0
0
-13
0
-3
18
-9
0
2
17
6
2
17
-9
0
0
-4
0
0
-1
7
0
0
-14
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
-15
0
0
-15
0
0
0
-7
6
2
24
2
13
8
0
18
19
0
0
-18
0
0
34
7
0
51
21
2
0
8
11
0
0
-8
3
0
32
18
0
0
27
-6
0
0
-7
0
0
-3
0
0
0
-10
0
-74
-3
0
0
0
-6
0
0
0
0
0
0
40
2
-1
0
0
0
0
56
-2
0
0
0
0
0
25
0
0
24
0
0
-23
12
0
3
15
0
0
-9
-21
0
0
-2
2
0
31
-5
0
8
-7
0
0
0
3
0
0
27
-2
0
0
-18
0
0
1
0
0
0
3
0
0
0
1
0
0
1
0
0
0
0
0
0
8
4
-2
0
0
0
0
-4
0
1
0
0
0
0
36
0
-13
-4
0
0
0
-22
0
52
0
0
0
9
28
0
0
-3
6
0
0
76
0
-6
0
0
0
0
-12
0
0
0
0
0
0
15
0
23
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
-15
4
0
0
0
0
0
2
0
0
0
-3
3
0
0
0
0
0
0
0
9
2
1
0
0
2
0
0
0
0
-2
-15
0
0
0
0
0
20
0
0
0
0
0
-11
-1
0
0
0
0
25
-60
0
6
53
-7
-2
10
19
2
0
-26
0
-2
16
15
0
-1
-21
-13
6
-31
-10
0
0
-2
0
0
0
2
0
0
-10
0
-1
9
-1
0
0
0
0
-17
0
6
0
0
0
0
-73
0
0
0
0
0
0
16
3
34
-1
0
14
0
0
8
9
-9
0
29
0
0
38
-20
0
0
12
46
0
-1
13
0
3
-17
0
0
7
-36
0
0
11
10
0
-2
-35
0
0
-11
0
0
-6
22
0
-11
-2
9
9
0
12
0
0
0
0
0
0
32
-6
6
0
0
0
0
-4
5
0
0
0
0
-10
29
-1
0
64
-9
0
-3
1
0
-3
7
0
0
18
15
0
-1
36
-3
0
4
-55
0
-2
8
0
0
0
-16
0
0
37
-14
0
2
39
0
2
-1
-1
-2
0
27
0
-4
0
3
-3
0
4
-2
0
0
0
0
0
43
0
0
0
0
0
0
56
0
-34
8
0
0
0
6
0
-2
9
-3
0
-14
1
0
3
16
0
0
2
2
0
-3
3
19
0
1
-54
0
28
-3
0
0
0
-10
0
0
-1
0
0
0
-12
0
-9
0
0
0
0
39
19
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
41
6
0
72
1
-2
-18
34
6
2
43
12
-11
-6
10
0
0
0
-1
17
-9
-6
0
-1
-4
6
-3
0
-9
0
4
0
0
16
0
0
-26
0
0
2
9
-3
102
86
-2
6
-1
4
0
-11
27
0
17
20
-3
28
38
11
-19
1
67
48
-1
-2
11
6
8
-6
-7
-30
-28
-4
-6
-14
0
7
-20
-8
-1
-4
31
-19
17
69
-21
0
0
23
0
18
-2
-20
0
0
-1
11
-15
0
-3
-10
-1
0
-1
-8
9
35
56
0
1
-35
0
20
13
-6
1
38
0
0
2
-48
13
41
17
52
32
-11
-27
-1
24
0
-12
0
21
-12
-7
5
0
13
20
-100
-5
3
-6
-21
0
-1
53
-38
0
-2
-18
-6
-15
-3
4
0
-2
-1
3
-1
-2
9
-31
-32
0
-38
-3
-3
5
-17
-2
18
0
-10
-26
17
15
-9
12
-2
-1
-10
-5
0
-4
-43
-3
-23
-13
-14
28
27
4
63
-5
-27
-11
6
14
38
90
-21
4
-7
0
-1
-41
1
59
0
-30
0
12
-2
-10
17
0
-3
0
8
-12
2
-18
0
17
-7
0
0
-6
-1
9
-21
-14
-14
0
-19
0
-15
20
20
-6
1
-1
4
26
-2
-1
7
-21
53
16
-32
-2
-1
17
23
29
16
-15
17
3
32
-63
-8
-23
44
-1
-11
13
-18
-46
68
42
-32
1
0
-18
-11
-12
36
0
3
-36
-1
23
53
0
6
-13
-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
8
0
-1
0
0
0
-6
-12
-6
-1
0
0
0
33
3
0
0
0
0
0
5
0
0
0
0
-1
0
11
0
0
0
0
0
0
-13
0
0
-1
0
0
0
0
0
33
26
0
0
0
-3
6
-3
0
0
-7
0
0
18
-6
0
3
14
0
-27
-5
16
0
0
-19
0
1
-29
57
0
1
-2
0
-10
-19
2
0
4
32
0
18
3
0
0
0
19
0
-8
0
-8
0
0
0
0
-10
0
0
40
0
0
0
-15
0
19
15
4
-2
0
0
-6
-22
0
0
-43
0
0
45
-28
0
31
-20
6
1
3
-6
0
0
40
0
0
-6
-57
0
0
-15
-3
0
-2
-25
0
0
-12
0
-3
0
32
0
-6
-15
0
0
0
27
0
0
0
0
19
0
6
24
0
0
0
0
0
-10
17
0
2
0
0
-10
6
0
-24
14
0
0
29
16
0
3
8
0
0
6
9
0
4
10
0
8
33
4
0
-4
22
6
7
-12
-16
0
-4
30
0
3
0
4
0
0
0
0
-9
0
18
0
-6
26
0
0
0
7
0
3
0
0
0
0
23
-10
0
6
0
0
2
-7
0
-13
0
0
0
16
-44
0
12
9
0
0
2
12
0
-1
9
0
0
-1
12
0
0
-4
0
7
0
-25
0
-4
15
0
-12
0
10
0
0
23
0
1
0
-8
0
-17
16
0
1
0
-6
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
-54
0
0
0
0
0
-24
0
0
0
0
0
2
2
0
0
0
0
0
0
0
1
8
0
0
-17
0
0
0
27
0
0
45
1
0
0
0
0
0
54
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
0
0
20
0
0
0
0
0
56
-5
0
2
7
0
9
38
0
0
-35
0
0
60
-15
0
-34
-9
0
0
-12
3
0
0
51
0
0
0
-14
0
0
-12
0
0
-4
-58
0
0
-5
0
0
0
-8
0
-15
0
0
0
0
6
0
0
0
0
0
0
1
-16
10
0
0
0
0
45
8
0
0
0
0
9
33
0
-1
0
-1
0
1
32
0
0
14
0
0
5
-72
0
0
2
-2
0
10
-42
0
-8
-9
0
0
0
-31
0
0
26
-12
0
0
24
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
11
7
0
12
0
0
0
0
3
0
0
-6
0
0
0
32
0
-33
0
0
0
0
-28
0
0
0
0
0
0
86
0
-2
0
0
0
0
19
0
0
0
0
0
0
-30
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
79
80
10
-5
40
5
40
15
-3
-1
0
-1
-28
7
-3
0
0
-9
42
12
0
-1
-2
5
0
0
12
0
-2
-26
0
0
0
0
9
-8
-2
1
-1
0
24
-71
-24
51
16
1
10
16
-26
14
4
-11
-27
0
-24
-6
-70
-8
-15
38
54
4
0
28
0
-1
-78
4
24
23
1
0
0
3
-88
-14
-9
44
0
0
-59
0
10
-2
-12
0
0
37
-18
1
0
1
-11
0
0
0
-4
21
19
39
7
-12
3
1
22
-5
-14
-12
-3
-2
-3
17
9
6
24
33
-51
22
4
8
22
-14
-31
-21
24
-10
-41
-1
-7
2
20
-17
33
-4
-4
12
-28
0
-35
-8
8
0
-10
-40
29
6
-13
-14
0
0
-3
0
37
0
12
-6
54
0
18
0
0
-5
8
-7
41
0
0
-16
-7
-9
-20
10
23
18
-41
16
2
10
15
9
-10
-35
3
48
6
-12
-27
-32
-50
-8
11
7
-2
11
-35
-52
13
0
2
-15
57
15
-26
8
0
-2
-14
0
-29
0
-38
0
0
-9
13
0
0
-1
0
0
-1
-2
21
0
-7
-25
70
-3
-11
0
9
-2
-5
-7
-61
1
-16
-14
8
-1
4
-23
-28
19
2
9
15
-36
27
3
-21
14
-17
4
-27
-128
-43
-12
-2
16
0
48
-43
25
7
27
21
0
0
45
25
6
0
7
0
19
-1
2
13
0
-29
-20
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
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
-8
0
0
10
0
0
0
0
0
4
70
0
0
0
0
-43
0
0
0
10
-3
-9
-20
-3
-4
-10
70
-2
-1
-7
0
0
0
11
-7
3
3
12
0
0
2
0
3
0
6
0
0
0
-1
0
-4
-8
0
0
0
0
-6
0
-4
0
0
0
0
-21
0
0
-5
0
0
0
0
0
-60
-19
0
0
0
0
26
-2
0
0
6
0
0
-25
-49
0
2
-65
16
0
7
0
0
0
27
10
0
-15
12
0
0
33
-2
0
-10
12
0
0
-7
8
0
0
-15
0
-7
0
-2
0
0
20
0
0
0
0
0
0
32
-12
0
0
0
0
0
-4
4
0
0
0
0
2
-34
0
5
46
14
0
0
-33
0
9
16
0
0
67
0
0
0
-49
-7
1
17
-6
0
1
10
-7
0
0
-14
0
0
0
-3
0
0
-3
0
0
1
0
0
2
-43
0
0
0
0
0
0
58
0
0
0
0
0
0
-23
-4
0
0
0
0
0
-15
0
31
0
0
0
0
-42
-1
4
0
-1
0
0
0
0
29
1
0
0
5
-42
0
8
2
30
0
0
-63
0
1
9
-6
0
0
-7
0
0
0
0
0
0
-32
0
-7
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
3
0
0
0
0
0
12
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
36
0
0
0
0
0
0
11
-3
0
0
0
0
-1
0
0
-56
4
0
-28
-11
0
0
30
0
-1
44
0
0
0
0
16
0
0
7
0
0
1
0
-4
6
6
0
-11
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
-17
0
0
-1
0
0
0
0
0
19
15
0
4
2
0
-6
15
0
0
-16
0
0
7
35
0
56
-25
0
0
-3
59
0
0
23
0
0
4
-18
0
0
13
-1
0
8
-17
0
1
0
0
0
0
-6
0
24
0
0
0
0
18
0
0
0
0
-2
0
26
0
0
0
0
0
0
11
-2
0
1
0
0
0
14
0
0
-4
-4
0
-4
16
0
0
-4
0
0
0
-23
0
0
9
0
0
2
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
15
0
0
0
34
0
0
0
0
-1
0
41
0
0
0
0
0
0
31
-6
0
0
0
0
0
0
0
0
0
0
0
0
30
0
-3
0
0
0
0
12
0
0
0
0
0
0
15
0
-9
0
-2
0
0
53
0
0
0
0
0
0
-48
0
0
0
0
0
0
49
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
-1
0
-22
0
0
0
0
0
-12
0
0
0
0
0
0
76
0
0
0
0
4
0
0
0
-22
-1
8
-47
-3
0
0
60
0
0
-33
-2
8
0
2
0
0
-42
4
0
0
-4
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
8
0
0
13
0
0
1
0
12
-29
0
-4
1
0
0
38
20
2
0
-26
0
0
-15
-20
-3
-57
-15
1
0
-22
30
0
0
-9
0
0
-17
18
0
0
-11
-9
0
-6
-12
0
1
54
0
0
0
1
-2
-15
0
0
0
0
13
0
0
0
0
-8
0
32
-1
0
0
-3
0
0
26
14
0
0
0
0
0
21
0
3
8
0
0
2
25
0
0
-6
0
0
2
-2
0
-1
0
0
0
22
-37
0
0
22
0
0
9
-52
0
0
-3
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
2
0
0
-26
0
0
0
0
0
0
-25
0
0
0
0
0
0
-39
-3
-5
0
0
0
0
23
0
0
1
0
0
0
-49
0
0
0
0
0
0
40
0
0
18
-4
0
-1
-34
0
-4
0
0
0
0
-9
0
0
0
0
0
0
-54
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-3
20
0
2
0
0
0
0
0
0
0
11
0
0
1
0
0
0
4
0
-75
0
0
1
0
0
-56
0
0
0
0
0
28
36
0
0
0
2
-28
21
4
3
14
-4
0
-78
-8
0
6
4
0
11
63
49
0
0
6
8
0
0
42
0
0
19
0
1
2
-4
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
-1
25
0
0
9
0
0
0
1
0
20
23
-6
-6
0
0
-20
19
0
0
-5
1
0
-20
-8
0
18
5
-5
7
-2
-62
0
10
40
0
-11
7
4
0
0
-6
6
1
22
24
0
0
3
-7
0
0
9
0
7
0
6
0
0
-6
0
0
0
0
0
0
17
28
-2
0
-2
0
0
27
-1
0
0
0
0
0
4
7
0
-32
1
0
11
-28
0
-1
2
0
0
-6
1
-1
-2
16
6
2
-2
-3
0
3
3
0
0
4
56
0
0
-1
-4
0
0
61
0
0
-6
0
0
-1
-64
0
0
0
0
1
0
61
0
4
0
0
0
0
7
0
0
0
0
0
-3
-19
0
9
13
0
0
0
-20
0
-1
8
0
0
0
-25
-4
13
0
0
-2
0
39
0
0
-1
-15
0
0
20
0
-8
2
0
0
0
-45
0
0
-1
-3
0
0
-27
0
9
0
1
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
-27
0
0
0
0
0
14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
7
0
0
23
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
2
0
0
0
0
0
0
0
0
85
1
0
0
0
0
0
70
0
0
0
0
0
0
1
0
4
0
0
0
2
-2
0
0
7
0
0
0
14
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
-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
63
0
0
0
0
0
0
-32
0
0
-1
0
0
0
13
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
17
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
8
0
0
9
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
-2
49
0
0
0
0
22
0
0
0
-11
2
0
-39
0
0
0
27
0
0
3
0
0
0
1
0
0
27
0
0
-3
0
0
0
4
5
0
0
0
4
0
1
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
18
0
0
0
0
0
35
19
0
3
6
0
22
0
0
0
-22
0
0
-4
11
0
29
47
1
0
-71
3
0
0
39
0
0
-1
-6
0
0
-4
-10
0
-9
27
0
0
0
0
0
0
30
0
-8
0
2
0
6
-18
0
0
2
0
0
0
-23
-3
0
0
0
0
0
-20
0
0
0
0
0
-3
35
0
0
0
0
0
7
-11
0
0
-8
0
0
3
-70
0
0
-16
-7
0
2
41
0
11
40
0
0
0
17
0
1
-2
0
0
0
-24
0
0
8
0
0
10
5
0
0
0
-10
0
0
6
0
0
0
0
0
0
7
0
0
0
0
0
0
7
0
-10
0
0
0
0
-37
0
0
4
0
0
0
8
0
7
0
0
0
0
19
0
0
2
0
0
0
-13
0
0
0
0
0
0
0
0
-2
-2
0
0
0
-21
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
-6
12
0
2
0
0
-3
0
4
2
0
2
0
0
0
0
0
-40
0
0
-18
0
0
46
0
0
0
0
0
4
-33
0
0
0
0
5
-7
0
-2
-27
0
0
-37
-6
8
-1
-25
0
8
-24
-39
0
0
-11
40
0
-1
33
0
0
9
0
52
0
-28
0
9
15
-4
-3
0
-30
0
0
0
0
2
0
-8
0
0
0
0
-37
0
0
-15
0
0
0
12
0
-24
25
10
-52
-1
0
-1
0
-3
0
66
0
0
44
29
-3
-15
0
8
0
-37
31
-1
0
17
-2
0
-20
-60
0
0
34
-4
1
4
-26
6
0
-19
0
0
0
-10
1
-24
-1
-3
0
0
-12
0
0
0
0
43
0
-21
1
-1
0
0
0
0
2
6
0
0
0
0
36
-24
25
0
-18
-2
0
-7
43
1
8
48
0
0
-7
17
0
-1
55
34
0
0
-37
0
0
-8
-1
-7
3
-23
0
-6
-31
-4
0
0
-15
0
0
12
0
-2
0
-22
0
0
0
0
20
0
-21
0
0
0
0
-1
0
-7
15
3
0
0
0
0
34
9
-42
1
0
0
0
-26
0
0
70
8
0
0
-22
0
65
6
0
0
0
3
0
-11
-36
1
0
-8
1
0
-10
8
0
0
0
8
0
0
-1
0
0
0
18
0
-8
0
0
2
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
-6
0
0
0
0
0
0
-2
-3
0
0
3
0
0
0
0
0
-45
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
11
-1
18
0
-42
-2
0
-6
10
0
0
-14
0
2
36
30
0
0
24
-31
-2
40
0
1
0
25
0
8
20
15
0
0
6
0
1
-3
-3
0
0
0
0
0
0
0
0
0
0
-6
10
0
0
12
0
0
0
0
1
16
31
-7
-4
0
0
7
55
20
0
36
0
0
25
-28
0
-9
43
1
0
-16
-36
0
3
66
0
0
-10
0
0
0
-18
-2
2
9
-31
0
0
-9
0
0
1
-3
0
-43
0
-8
0
0
-23
0
0
0
0
0
0
10
-10
-1
0
0
0
0
6
-14
-3
3
0
0
0
-25
0
-4
-6
17
0
-1
-20
0
0
20
0
2
-7
-28
3
3
29
-9
0
-7
0
-1
0
9
0
0
-3
-13
0
0
-1
0
0
0
-16
0
0
0
0
0
0
51
0
0
2
-1
0
0
35
0
0
0
0
0
0
-17
-1
0
3
-11
0
0
53
-1
26
40
0
0
0
-47
1
-10
-1
0
0
6
-30
0
34
-63
0
0
3
0
0
8
16
-2
0
0
8
0
-12
0
6
-3
0
2
0
0
-4
0
0
0
-28
0
27
0
0
-6
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
1
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
-6
0
0
0
0
0
12
8
0
0
0
0
6
0
0
22
-36
12
0
-34
0
0
0
-4
0
18
59
0
0
0
39
-1
0
16
0
0
1
10
0
0
-8
-6
0
0
0
10
11
-2
0
0
0
0
0
-4
0
-1
0
0
3
0
-2
0
0
-3
0
0
0
-1
0
-31
21
0
-9
0
0
-2
14
0
0
-20
0
0
45
-4
0
12
-27
-10
0
19
62
0
0
-13
0
0
9
-7
0
0
18
-3
0
0
7
0
0
-6
0
0
0
-18
0
-10
0
6
0
0
-11
0
0
0
0
4
0
-9
-4
0
0
0
0
0
-29
12
0
0
0
0
0
28
0
6
11
0
0
-2
25
0
0
0
0
0
0
-19
0
-2
-13
13
0
-1
-7
0
0
1
0
0
0
18
0
0
0
-18
0
0
6
0
0
0
0
0
0
-21
0
2
-7
0
8
0
31
0
0
0
0
0
0
-5
-2
0
0
0
0
0
-3
0
1
0
0
0
0
22
0
0
0
-7
0
0
-22
0
7
0
0
0
0
68
0
0
0
-3
0
0
-2
0
0
-6
0
-2
0
28
0
0
0
0
0
0
38
0
16
0
0
-7
0
-9
-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
-61
0
0
0
0
0
-20
0
0
0
0
0
0
-6
0
0
0
0
6
-1
0
0
-7
0
3
-62
8
0
0
-2
0
0
11
0
0
0
36
1
0
14
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
-14
0
0
0
0
0
0
0
0
-11
1
0
0
0
0
0
-9
0
0
23
0
0
-55
0
0
-2
56
3
0
-1
2
0
0
-2
0
0
0
12
0
0
-2
0
0
20
-9
0
0
6
0
0
0
6
0
12
0
0
0
0
14
0
0
0
0
0
0
13
1
0
0
0
0
0
-28
0
0
0
0
0
0
-25
0
0
-1
0
0
-1
25
0
0
-6
0
0
0
14
0
0
0
0
0
0
9
0
0
0
0
0
0
-14
0
0
0
0
0
0
-78
0
0
0
0
0
0
-4
0
0
0
7
0
0
-73
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
0
0
15
0
0
0
0
0
0
-8
0
0
12
0
0
0
-8
0
0
0
0
0
0
-12
0
-1
0
0
0
0
43
0
0
0
1
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
-9
0
0
0
0
0
0
-76
0
0
0
0
0
-1
-17
0
-28
0
0
-69
0
0
0
23
0
0
-15
-3
0
3
-4
-30
6
18
0
0
0
1
0
-2
0
-3
0
0
0
-5
0
-9
0
0
0
0
0
-2
0
0
0
0
0
0
-28
0
0
-3
0
0
0
0
0
-16
-7
5
0
0
0
9
51
0
0
-6
0
0
52
-5
0
8
-34
0
0
7
35
0
0
12
0
0
-6
-17
0
2
4
41
0
0
32
0
0
2
0
0
0
9
0
17
0
0
0
0
-2
0
0
0
0
-1
0
-38
0
0
0
0
0
0
-25
0
0
0
0
0
0
3
4
0
7
0
0
5
6
0
0
0
0
0
0
-25
0
0
-1
6
0
27
10
0
0
0
0
0
0
17
0
0
0
17
0
-4
-23
0
0
0
0
0
0
-22
0
0
0
0
-11
0
-33
0
0
0
0
0
0
-68
0
0
0
0
0
0
-23
0
0
0
0
0
0
13
0
0
0
0
0
-16
-33
0
27
0
0
0
0
6
0
0
0
4
0
0
-38
0
1
0
0
0
0
11
0
0
0
-8
0
0
28
0
-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
2
-2
11
0
0
0
-1
6
-3
0
0
0
0
0
0
0
-1
-18
0
0
-4
0
0
-30
0
0
0
-3
0
20
43
0
0
0
0
-62
6
0
0
-14
0
0
-20
15
0
15
-21
0
0
-17
0
0
0
-11
0
24
-25
-5
0
0
-11
0
28
0
0
0
0
25
0
-2
0
0
0
-4
1
0
3
0
0
0
0
0
0
60
0
0
52
0
0
0
11
0
-29
-28
0
22
0
0
13
-19
0
0
21
0
0
51
-49
0
-6
28
0
0
16
-7
0
0
33
0
0
17
21
0
0
23
0
10
-11
15
0
0
9
0
0
-6
-36
0
-68
0
0
8
0
31
0
0
0
0
2
0
-6
20
-9
0
0
2
0
-49
-2
0
-2
0
0
-7
6
0
0
-1
0
0
4
-17
0
0
-7
0
0
-68
9
0
-3
-5
0
0
-10
10
0
0
-4
0
2
1
-13
0
0
-3
0
0
0
10
0
0
-3
0
13
0
-5
0
0
0
0
-2
0
-9
0
0
0
0
0
1
-19
-2
0
0
0
0
-3
-30
0
-7
0
0
0
0
-47
0
2
-29
0
0
11
-8
0
-2
-6
0
0
0
7
-1
0
0
0
-2
4
22
0
46
0
0
0
0
3
0
0
0
0
-3
0
9
0
-11
0
0
0
0
21
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
-8
0
0
0
0
-7
-1
-33
1
0
0
0
81
-9
0
0
-5
-9
0
20
7
0
0
2
0
0
4
0
0
1
-29
29
0
18
0
0
0
0
0
0
11
-12
0
0
12
-2
0
2
1
0
0
-6
0
0
0
-2
0
0
0
-2
0
0
0
-17
0
0
0
0
0
20
5
-6
6
0
0
-8
29
0
0
-4
0
0
33
62
0
8
7
44
0
-53
34
0
0
-9
0
0
1
-13
0
0
51
-9
0
1
20
0
0
-25
0
0
0
-44
0
-22
43
-8
0
-4
-53
0
0
0
0
0
0
-28
-1
-7
0
0
0
0
-18
2
0
15
0
0
18
31
0
-1
20
-5
0
-27
11
0
1
55
0
0
2
-5
0
1
-4
0
0
1
24
0
15
-17
0
0
2
-11
0
-6
-29
21
0
8
15
0
0
25
0
0
-3
-44
0
0
0
-3
0
0
16
0
7
0
0
0
0
-30
0
-1
-9
0
0
0
-20
0
-27
-3
0
0
0
18
-4
0
3
0
0
0
3
0
12
0
0
0
1
54
0
1
17
1
0
-2
-23
0
25
-8
0
0
0
-6
0
0
0
0
0
0
-22
0
-6
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
15
1
0
0
10
0
-32
0
0
0
0
0
-4
0
0
0
0
0
-27
-45
0
0
0
1
-7
-5
0
0
-25
-4
0
38
1
-1
0
-16
0
0
-38
17
0
0
-16
14
2
-10
4
-1
0
-21
0
-4
0
7
0
0
-7
0
-2
0
6
0
0
18
0
7
0
-4
0
0
0
-9
-17
0
0
-5
0
0
0
8
0
31
-5
-3
6
1
0
-13
-3
0
0
-38
0
0
-56
27
4
-2
-27
4
-1
5
-25
0
0
34
0
0
33
-1
0
2
-1
-2
-3
0
8
0
0
-5
4
-11
0
14
0
-16
-3
1
0
0
8
0
0
1
0
-13
0
-11
0
0
0
0
0
0
11
0
0
0
0
0
5
-17
13
-6
14
-3
-1
0
6
0
0
21
0
-9
0
-58
3
0
-13
-6
11
0
-4
0
0
2
0
-3
1
0
0
0
-13
21
0
-8
-18
0
0
-2
0
-6
0
-1
0
0
0
0
6
0
-4
-4
0
0
3
0
0
-2
0
0
0
0
-1
0
-14
-3
-30
-27
0
0
3
1
0
1
-4
3
0
0
25
0
0
-3
-2
0
0
-7
0
2
4
4
0
0
18
0
-8
8
0
0
0
-19
0
1
3
-9
0
0
0
0
19
0
0
1
0
11
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-47
0
0
0
0
0
-27
0
0
0
0
0
-1
60
0
0
0
0
10
0
-3
0
-10
3
0
3
2
0
0
18
0
-2
-22
-3
0
0
44
0
0
-16
-3
0
0
37
0
0
-12
0
0
0
-8
8
-3
0
0
0
0
-10
0
2
0
0
0
0
0
0
2
0
0
7
0
0
0
3
0
24
-18
0
19
-1
0
-10
19
-3
0
-20
0
0
20
13
0
-20
46
0
0
-51
18
2
0
-16
0
0
0
-18
0
6
36
0
1
0
0
0
0
-4
0
0
0
1
0
-8
-1
2
0
0
-10
0
0
0
0
0
0
-16
12
0
0
0
0
0
35
-11
0
-2
0
0
6
23
-2
-1
-29
1
0
12
3
0
0
-13
0
0
21
-21
0
0
10
1
0
0
-15
0
0
2
0
7
0
0
0
0
3
0
0
0
-47
0
0
-12
0
0
0
-12
0
0
0
1
0
0
-21
0
0
0
0
0
0
44
0
6
0
0
0
-1
6
1
3
4
0
0
0
-6
0
0
-1
-2
0
1
48
0
14
0
0
0
0
35
0
0
3
0
0
0
0
0
23
0
0
6
0
-1
2
0
0
0
0
0
-43
0
-12
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
63
0
0
0
-1
0
0
7
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
4
0
0
2
0
0
0
-20
0
0
10
0
0
-1
2
0
-4
-3
-3
0
9
15
0
0
0
0
0
0
34
0
0
21
0
0
0
10
0
0
0
0
0
0
21
0
-2
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
-28
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
0
-1
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
-6
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
-3
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-69
0
0
0
0
0
0
-3
0
0
0
0
0
1
0
0
1
0
0
-50
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
0
0
-2
0
0
-1
0
0
19
-1
-1
0
-2
1
0
0
-2
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
-1
-1
0
-1
0
0
0
0
9
0
0
0
0
0
0
-3
0
0
0
0
0
0
-43
0
0
0
0
0
0
-6
0
0
0
0
0
0
-68
0
0
0
0
0
0
-5
0
0
0
0
0
0
-28
0
0
0
0
0
0
-1
0
0
0
0
0
0
20
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-37
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
3
0
0
-63
0
0
0
-3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-80
0
0
0
1
0
0
-62
0
0
21
0
0
0
2
0
17
0
0
0
-5
11
0
0
3
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
4
0
-1
0
0
0
0
19
2
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
-59
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
-35
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
9
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-10
0
0
32
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
8
-36
0
0
0
0
0
0
-4
0
23
-1
0
0
1
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
18
0
0
0
0
0
0
13
0
0
0
0
0
0
-13
0
0
8
0
0
0
11
0
0
0
0
0
0
13
0
0
0
0
0
0
-2
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
12
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
3
0
0
0
0
0
-3
41
0
0
0
0
7
5
0
0
9
0
0
-8
6
-1
0
-3
0
0
17
0
0
0
0
12
0
-60
5
0
0
32
0
0
-1
0
0
0
0
0
0
21
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
11
-16
-7
-1
-4
6
0
-5
-28
0
0
-12
0
0
-45
4
0
5
3
5
0
10
56
0
0
44
0
0
-6
30
0
0
-19
45
0
-2
-12
0
0
-2
0
0
0
-15
0
30
-15
-20
0
0
-13
0
0
0
0
0
0
16
-2
-6
0
19
0
0
-31
3
0
0
0
0
2
8
0
0
-6
-1
0
6
40
0
0
5
0
0
6
8
0
0
-23
2
0
-9
-11
0
0
53
0
0
0
0
0
0
19
-9
0
0
-22
0
0
0
0
0
0
-7
0
0
0
21
0
0
-6
0
0
0
0
0
0
26
0
0
0
0
0
0
27
0
-1
0
0
0
0
45
0
0
6
0
0
0
-35
0
45
-2
0
0
0
17
0
1
0
0
0
0
-55
0
-15
0
0
0
0
34
0
-8
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-34
0
0
0
0
0
-2
-1
0
0
0
0
2
0
0
0
34
0
4
-49
0
0
0
2
0
0
0
-2
0
0
-1
-2
-1
-3
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
3
0
0
0
0
33
0
0
-2
0
0
0
-2
0
-52
14
0
0
-1
1
0
0
6
0
0
0
-1
0
0
-2
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
-11
0
0
0
0
0
0
-23
0
0
0
0
0
0
-45
0
0
0
0
0
0
40
0
0
0
0
0
8
-31
0
0
0
0
0
0
-5
0
0
-2
0
0
0
-71
0
0
0
0
0
0
23
0
0
-1
0
0
0
21
0
0
0
0
15
0
3
0
0
0
0
0
0
14
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
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
-3
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
6
0
-79
0
0
0
0
0
-46
0
0
0
0
0
0
2
0
0
0
0
-4
0
0
0
-14
0
0
-16
0
0
1
-47
0
0
6
-2
0
0
-13
-2
0
0
1
0
0
10
0
0
0
0
0
0
16
0
0
-7
0
0
0
4
0
-6
0
0
0
0
0
0
-2
0
0
6
0
0
0
0
0
-21
-15
3
0
0
0
-3
-22
0
0
28
1
0
-3
-1
2
22
38
2
0
-5
11
0
-1
11
0
0
0
53
0
0
0
19
0
0
38
0
0
-1
0
0
0
0
0
-7
10
0
0
0
-8
0
0
0
0
0
0
9
4
0
0
0
0
0
-9
0
0
0
0
0
0
8
6
0
2
-1
0
0
-17
-1
0
3
0
0
-6
5
0
0
-10
-51
0
0
7
0
0
-2
0
3
0
23
0
0
0
41
0
0
0
0
0
0
0
0
0
-20
0
0
0
9
0
0
38
0
0
0
0
0
0
-19
0
1
0
0
0
0
-2
0
0
15
0
0
0
15
-1
0
-2
-2
0
0
9
0
-9
0
0
0
0
1
0
0
0
3
0
0
-6
0
-19
0
0
0
0
0
0
0
0
0
0
0
-40
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
3
0
0
0
0
0
-8
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
3
0
0
81
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
5
0
-55
0
-2
0
0
0
0
-23
0
0
3
0
0
88
0
0
3
11
0
0
-6
4
0
0
0
0
0
0
4
0
0
-8
0
0
0
-20
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
18
0
0
0
0
0
-4
9
0
0
0
0
0
0
18
0
0
0
0
0
0
35
0
0
0
0
0
0
-46
0
0
0
0
0
0
-3
0
0
0
0
0
0
-11
0
0
0
0
7
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-6
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-56
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
26
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
-17
0
0
0
0
0
0
-38
0
0
0
0
0
-1
1
0
0
-1
0
0
6
-1
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-26
0
0
0
0
0
0
-32
0
0
0
0
0
0
-2
0
0
0
0
0
0
-38
0
0
0
0
0
0
-6
0
0
0
0
0
0
-8
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
-67
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
3
0
0
10
0
0
0
0
-2
-4
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
0
0
0
0
-23
0
0
0
0
0
0
0
0
-51
0
0
15
0
0
8
-23
0
0
1
0
0
13
2
0
-17
0
0
0
-17
25
0
0
-1
0
0
0
-19
0
0
0
0
0
0
-53
0
0
0
0
0
0
2
0
6
0
-2
0
0
-29
0
0
0
0
0
0
11
0
0
0
0
0
0
17
0
0
0
0
0
0
9
4
1
-3
1
0
3
-10
0
0
0
0
1
0
-20
0
0
2
0
0
0
-56
0
0
0
0
0
0
27
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
13
0
-46
0
0
0
0
0
0
4
0
0
0
0
0
0
-30
0
7
0
0
0
0
4
0
0
-4
0
0
0
-4
0
7
0
0
0
0
16
0
10
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
4
0
0
0
0
0
28
0
0
0
0
0
2
-3
0
0
0
0
-7
0
0
0
-10
0
0
-35
0
0
0
0
0
0
11
0
0
0
-5
0
2
0
0
0
0
0
0
36
0
0
0
0
0
0
0
7
0
0
0
0
0
-4
0
0
0
0
0
0
10
0
0
9
0
0
0
-1
0
-1
-4
0
-9
0
0
2
-46
0
0
8
0
0
11
5
0
21
11
0
0
33
24
0
2
0
0
0
0
-8
0
0
-3
0
0
1
-14
0
0
32
0
0
4
-12
0
-29
11
0
0
0
23
0
0
0
0
0
0
-31
4
0
0
0
0
0
24
-8
0
0
0
0
-3
11
0
-1
9
0
0
-22
-11
0
0
0
0
0
3
-6
0
0
6
0
0
17
-21
0
0
13
0
0
0
-11
0
0
-36
0
18
0
-13
0
0
0
0
39
0
26
0
0
0
0
7
0
24
0
0
0
0
0
0
-19
0
0
0
0
0
0
30
0
8
0
0
0
-1
-21
0
0
0
0
0
1
22
0
14
-1
0
0
0
-14
0
0
0
0
0
0
10
0
-6
0
0
0
0
7
0
0
2
0
0
0
-51
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
-24
0
0
0
0
0
-24
0
0
0
0
0
-12
6
0
0
0
0
10
0
0
0
35
0
0
17
0
0
0
-8
0
0
13
0
0
0
-9
-8
0
20
0
0
1
0
0
0
2
-1
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
12
0
0
0
0
0
-3
-1
-8
-2
0
0
-3
21
0
0
6
0
0
-19
-2
0
-13
-18
8
0
-35
95
0
0
27
0
0
-4
-42
0
0
10
-15
0
-18
-16
0
0
8
0
0
0
-6
0
-36
12
-1
0
0
-18
0
0
0
0
0
0
0
-6
-4
0
0
0
0
16
9
0
0
0
0
-1
12
0
22
-2
6
0
-8
26
0
0
8
0
0
2
8
0
0
7
11
0
10
26
0
2
-7
0
0
0
-8
0
0
55
-11
0
0
21
0
0
-21
0
0
0
56
0
0
0
-7
0
0
15
0
0
0
0
0
0
5
0
0
0
0
0
0
-19
0
10
0
0
0
-2
-11
0
-2
0
0
0
0
27
0
11
0
0
0
0
-27
0
0
0
0
0
0
-8
0
5
1
0
0
0
-22
0
7
0
0
0
0
5
0
45
0
0
0
0
-13
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
3
0
0
0
0
0
0
-10
0
0
1
0
0
0
0
0
-6
0
0
0
3
-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
-17
0
0
0
0
0
0
1
0
0
0
0
0
0
-30
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
9
0
0
-104
0
0
0
-22
0
0
21
-6
0
0
-3
0
0
15
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
-37
-6
0
0
0
0
0
-41
0
0
-8
0
0
-2
0
0
-32
-4
0
0
0
13
0
-1
-6
0
0
1
0
0
0
0
0
0
0
7
0
0
0
0
0
-2
4
0
3
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-31
-2
0
0
0
0
0
8
-2
0
0
0
0
3
-1
0
0
15
0
0
0
6
0
0
0
0
0
0
35
0
-1
2
0
0
0
-17
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
4
0
0
0
0
0
0
4
0
0
0
0
0
0
-13
0
0
-4
0
0
0
-4
0
4
0
0
0
0
-7
0
0
0
3
0
0
14
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
-12
2
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
20
0
0
0
0
0
0
-1
0
67
-1
0
0
13
-11
0
0
0
0
0
0
-4
0
0
10
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
12
0
6
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
6
-10
0
0
6
-9
0
0
-1
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
-10
0
0
0
0
0
0
-13
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
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
-1
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-1
0
-1
-9
12
22
15
0
-17
-3
-29
13
-9
2
5
-43
-25
-10
-7
75
-20
-13
23
-1
-7
44
-28
2
10
-3
-7
-1
15
3
4
-4
11
17
-7
-2
7
-21
-21
38
-31
-41
-2
0
20
12
-3
-6
-30
2
0
11
19
2
0
-13
-30
20
-9
-39
-4
-47
-11
-6
17
14
-25
-28
-22
-3
3
10
7
3
13
-4
-51
-14
-5
8
19
34
0
17
-21
-14
17
-8
12
-21
-14
-18
-33
3
9
-12
14
-12
0
-11
52
-33
18
-44
18
-2
-30
12
-7
-18
20
-7
31
-12
31
-13
-15
-4
-9
13
0
0
-1
21
46
-4
-42
-2
-4
-35
6
15
8
-27
-37
-19
-20
-20
37
-6
-4
21
-25
17
-34
10
-2
-49
-35
-7
-18
-16
15
-4
17
-44
-1
-29
20
-8
-6
-1
-35
-7
-28
20
-32
-5
-6
3
9
22
-27
0
3
41
35
-29
0
-9
0
4
5
22
-3
-4
2
-9
-2
23
-24
-37
5
0
33
-20
-44
41
5
-24
-6
-20
8
6
5
-7
50
-15
-13
-3
-16
-15
-11
-1
9
-52
-1
-5
39
20
7
-8
67
-16
2
9
-53
6
1
45
10
7
0
12
-26
18
25
-22
21
-5
-10
-1
53
0
7
37
4
-19
-28
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
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
-24
0
0
0
0
0
0
0
0
-8
-2
0
0
-2
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
-1
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
-3
28
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-3
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
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
7
-12
0
0
0
0
-3
24
0
-1
28
35
0
-23
13
0
0
-17
0
0
-48
-6
-2
8
-21
-23
0
-37
2
0
0
35
0
0
26
-4
0
0
-70
-3
0
56
0
0
0
2
0
0
0
0
0
0
0
-9
0
0
0
5
0
0
-4
0
0
-30
-6
18
6
26
0
-1
29
0
0
13
0
0
-17
-30
0
-5
16
15
0
30
23
0
0
19
0
0
33
-28
0
-8
-35
11
0
-62
-6
0
0
9
0
0
0
9
0
-7
-4
10
0
0
-12
0
8
0
0
0
0
-11
-27
-29
0
10
0
0
3
43
2
-4
0
0
40
17
4
12
9
-21
0
17
-2
0
3
23
0
0
24
21
9
-1
-17
20
0
41
-13
0
-1
80
0
0
-4
2
1
1
24
-24
0
0
22
0
16
6
0
0
8
-38
0
-1
3
-1
0
0
-37
0
4
0
0
0
0
2
-36
3
-2
7
0
1
23
-3
-35
19
0
0
-10
28
0
4
-13
-7
0
0
8
0
-8
1
0
0
6
-48
0
0
-5
41
0
-1
11
0
-20
3
-2
0
0
22
0
0
-1
6
0
0
-2
0
11
-2
0
0
0
-31
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
3
20
23
-46
-58
16
-18
-9
21
7
-4
-3
-18
-6
-17
-5
-16
9
69
-6
17
7
93
32
-8
-49
-25
24
-31
55
8
-3
-64
-9
-7
-4
4
9
-12
10
-21
52
40
-4
-61
5
-35
-2
-119
-26
-28
-19
-29
40
17
-21
-14
-1
-12
-29
-16
53
48
-8
13
7
1
-15
-23
12
-18
-7
8
2
11
33
-14
-7
-94
-7
-15
-6
24
7
-11
-19
74
15
25
-1
22
5
28
-18
-13
-31
-25
-16
-8
-3
32
2
-21
0
18
-2
5
10
-22
24
52
25
-7
-24
-46
-29
-18
6
-2
8
0
6
-29
40
24
47
0
18
-16
18
3
-29
36
-2
-16
0
5
-15
9
11
1
58
-13
12
-9
28
-8
-2
-27
-8
-1
-16
-40
22
0
-14
20
7
-24
0
45
13
10
10
4
-19
10
-5
3
-29
60
32
51
9
24
-10
-14
-6
0
-33
6
-1
-15
-1
-1
-17
-2
-28
4
-17
38
-50
35
-8
-29
0
-25
-31
-4
-5
15
-18
19
-16
35
-21
6
-13
1
57
-11
-79
-29
-13
5
1
-55
20
-29
-13
11
21
26
47
-20
11
2
-26
11
36
-7
20
-58
16
-17
27
-10
-6
8
76
33
69
-54
41
20
2
-7
7
-21
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
0
0
31
0
0
0
6
0
0
-9
0
0
0
1
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
37
0
0
0
2
-3
0
0
1
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-19
0
0
3
0
0
0
1
0
0
9
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
45
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
0
33
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-6
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
-6
0
0
0
0
0
-17
0
-1
0
0
0
0
-68
0
0
-3
0
0
0
0
0
-13
8
2
0
31
-9
0
0
-2
0
0
0
-2
0
0
-3
10
0
0
55
0
0
1
0
0
0
0
0
-17
0
0
0
0
-7
0
0
0
0
0
0
-1
9
0
0
0
0
0
27
0
0
0
0
0
-4
-11
0
0
0
0
0
0
30
0
0
-4
0
0
0
80
0
0
1
0
0
0
-51
0
0
4
0
0
0
7
0
0
0
3
0
0
-22
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
9
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-3
0
0
0
0
-9
0
0
0
0
0
0
-12
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
-2
0
0
-10
0
0
0
11
0
0
5
6
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
4
0
0
0
0
0
-7
0
0
3
0
0
0
-7
0
0
0
0
0
0
0
0
115
0
0
0
-6
33
0
0
-4
0
0
0
63
0
0
-7
0
0
0
-2
0
0
2
0
0
0
-7
0
0
0
6
0
0
18
0
0
0
0
0
0
2
0
0
0
0
0
0
-15
6
0
0
0
0
0
41
0
-6
0
0
0
0
-84
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
13
0
0
0
49
0
0
0
0
0
0
42
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
-10
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
4
0
-3
0
0
0
0
-6
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-21
-8
4
42
0
-10
42
-1
0
0
32
0
1
13
-4
0
0
30
-21
37
-54
3
1
4
-16
0
29
-1
5
0
0
9
0
-11
2
0
0
0
0
0
10
0
3
0
0
0
14
-47
0
0
5
0
0
0
-2
0
0
14
-66
30
4
0
-58
1
0
-8
-6
0
0
-29
51
0
12
62
15
0
-8
-13
0
7
6
1
-1
-10
-19
0
-1
0
18
0
12
-4
-2
0
-22
0
0
2
6
0
9
-28
-9
0
0
-7
0
0
0
0
32
0
40
-6
-6
0
0
0
0
0
4
-13
0
0
0
-9
-10
-4
35
17
-7
0
-20
33
0
-2
-22
0
0
-26
-21
-1
17
-18
11
0
41
-23
0
2
-41
0
-3
2
5
0
3
-41
27
0
0
-5
4
10
-7
0
3
0
-54
0
11
10
8
5
0
-3
0
0
0
0
0
0
0
-17
0
6
0
0
0
-19
-1
-77
-23
0
0
-1
-15
0
0
0
0
0
7
26
-10
16
-14
0
0
0
27
0
19
-9
2
0
0
-25
0
21
55
-1
-3
0
-8
4
3
-1
-1
-19
0
-33
0
-9
0
0
-3
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
11
8
-2
15
37
50
0
31
22
-9
-3
53
30
55
-5
42
-3
46
-4
29
-11
11
-38
-1
-12
-43
-2
-31
35
-18
0
-1
-37
18
3
0
-5
0
0
0
-2
-26
0
-28
0
0
1
-2
-64
0
0
39
0
0
0
1
0
18
-7
-64
52
-1
0
15
-36
-6
23
14
21
-2
-3
42
5
-12
-4
-48
-17
9
-20
5
0
17
14
-10
-11
-44
0
20
-5
-52
6
31
-22
0
10
-11
2
-24
-23
-16
-1
8
-9
12
7
3
-19
0
0
0
5
30
0
39
50
99
0
-2
6
0
-8
-19
-4
35
-10
1
-28
-30
44
-29
-1
-58
0
60
-2
0
-2
-41
3
73
-11
-37
4
6
1
2
77
-4
-46
0
-11
-13
48
-3
35
-2
0
-13
-25
5
10
0
6
0
-49
-23
-2
-4
-1
9
0
7
-10
-49
40
0
19
35
0
0
3
0
0
2
-6
-9
-4
5
0
-3
6
22
-13
-57
-6
8
21
11
10
26
0
-11
-2
-3
-43
-1
69
-6
0
6
-2
20
0
-9
-40
-25
22
2
23
0
3
-27
4
-2
-1
11
0
0
-13
-39
32
-2
1
3
-2
0
-4
2
0
-1
29
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
4
0
0
-38
0
0
0
15
0
0
-1
-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
2
0
0
2
0
0
0
0
0
33
0
2
0
0
0
3
-54
0
0
-1
0
0
-1
0
0
1
-3
4
0
-6
-4
0
0
3
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
1
0
31
0
0
0
0
0
0
10
0
0
0
0
0
0
-4
0
0
0
0
0
0
-25
0
0
0
0
0
0
6
0
0
0
0
0
0
-26
0
0
-1
0
0
0
6
0
0
0
0
0
0
26
0
0
0
0
0
0
6
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
7
0
0
0
0
0
0
0
0
0
0
9
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
1
0
0
-11
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
34
0
0
-3
0
0
0
0
0
3
0
0
0
0
0
0
-9
0
0
0
0
0
2
0
0
-15
-1
0
0
-12
-48
0
0
-1
0
0
0
1
0
0
2
0
0
0
26
0
0
4
0
0
0
23
0
2
0
0
0
0
-2
0
0
0
0
8
0
16
8
0
0
0
0
0
21
0
0
0
0
0
0
40
0
0
0
0
0
0
-43
0
0
0
0
0
15
17
0
0
-2
0
0
0
30
0
0
0
0
0
0
-2
0
0
0
2
0
0
21
0
0
0
0
0
0
2
0
0
0
0
0
0
-47
0
0
0
0
0
0
3
0
0
0
0
0
0
-25
0
1
0
0
0
0
-4
0
0
0
0
0
0
-47
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
-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
-13
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
0
0
0
-13
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
20
0
0
8
0
0
-9
0
0
1
8
0
0
37
7
0
0
-7
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
-9
0
0
0
0
29
0
0
0
0
0
0
14
0
0
0
0
0
0
-28
0
0
0
0
0
0
12
0
0
9
0
0
0
-21
0
0
4
0
0
3
4
0
0
-2
0
0
0
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
16
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
14
0
0
0
7
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
4
-34
-1
0
22
27
30
-9
-43
-49
15
-29
-2
-2
6
-46
0
-8
-5
-12
0
0
-41
45
11
8
80
0
0
19
0
45
0
-20
0
0
0
2
25
0
0
21
0
0
0
-25
0
12
58
-47
24
17
0
1
38
0
0
7
-2
0
-41
-9
-1
3
-4
34
0
-22
-10
-1
12
25
-1
-19
2
-16
0
36
14
2
-1
-2
-22
0
0
-72
0
-7
33
11
0
23
-5
20
-4
0
-2
0
0
0
0
3
0
7
-18
-4
0
9
18
0
-10
35
0
-26
0
0
48
35
-1
16
95
-38
0
-5
-17
1
10
17
0
0
28
8
-8
21
-41
-26
1
-2
-6
-1
4
33
4
-1
30
-62
0
38
47
2
2
-7
-41
0
31
32
0
20
1
24
-1
26
37
16
4
0
16
7
10
0
9
16
0
-6
-54
3
0
0
0
-8
28
0
21
25
0
-2
2
33
0
35
-4
18
0
8
1
0
5
-12
-4
0
6
-6
3
9
33
24
0
1
-23
0
-3
-21
0
1
10
-13
0
16
-16
-29
5
3
-27
0
43
2
0
36
1
11
-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
-47
-18
-2
0
4
0
0
-16
-28
0
0
2
-2
1
-11
-8
0
0
2
3
44
4
3
0
0
24
0
11
54
0
0
1
0
0
6
0
10
0
0
0
-8
-16
0
0
-49
0
0
0
15
3
22
38
5
-5
0
0
-27
0
-4
0
-52
-1
0
21
-75
0
-54
26
17
-1
14
26
0
4
12
-7
0
21
-11
0
0
-42
57
12
13
-12
0
0
17
0
9
-1
31
0
12
-24
-13
0
0
18
0
0
0
0
-5
0
15
28
-1
0
-2
0
1
5
1
-2
7
0
0
55
0
0
0
45
-2
0
-18
4
0
8
2
-2
0
-39
6
2
13
-14
-1
0
-1
17
-1
-2
-19
-3
-3
6
-48
0
0
-26
26
0
0
12
0
0
18
0
-3
1
54
0
2
0
1
-12
0
13
-5
0
0
0
0
0
-24
0
-1
0
0
0
0
0
9
-12
1
-2
0
0
-55
0
0
0
-1
0
0
-73
0
31
48
3
0
-2
-19
0
1
-20
2
0
3
-24
0
-24
-4
0
1
0
55
0
0
-9
0
0
0
-3
0
29
1
-10
0
0
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
17
0
0
0
63
0
0
-37
0
0
0
67
-4
-1
21
-4
0
0
-6
0
-3
0
0
0
0
-3
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
-50
0
0
33
0
0
-8
0
0
-6
7
0
0
-44
7
0
0
6
0
0
-1
34
0
0
0
0
0
0
-48
0
0
-8
0
1
0
4
0
8
0
0
0
0
17
0
0
0
0
0
0
4
0
0
0
0
0
0
-39
3
0
0
0
0
-1
87
0
-4
1
0
0
-1
-6
0
0
0
0
0
-3
-23
0
0
19
0
0
0
-30
0
0
29
0
0
0
6
0
0
0
4
0
0
42
0
0
0
0
0
0
-7
0
0
0
0
0
0
-19
0
0
0
0
0
0
-7
0
0
0
0
0
0
-12
0
-4
0
0
0
0
14
0
0
0
0
0
-2
-36
0
-1
0
0
0
15
5
0
1
0
0
0
0
27
0
8
0
0
0
0
6
0
0
0
0
0
0
11
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
29
2
0
0
26
0
2
33
-11
0
0
24
3
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
0
-1
0
0
0
0
0
28
9
0
6
-1
0
0
42
0
0
4
0
0
46
-1
0
13
-9
0
0
-81
56
0
0
0
0
0
0
31
0
0
0
0
0
8
-12
0
0
0
0
0
0
-43
0
14
0
-10
0
0
26
0
0
0
0
0
0
-68
0
0
0
0
0
0
-48
0
0
0
0
0
-7
35
0
0
7
0
0
1
-99
2
3
-1
0
0
0
-10
0
0
-2
0
0
0
-17
0
0
8
0
0
0
-12
0
0
9
0
0
0
77
0
0
-1
0
0
0
12
0
0
0
0
0
0
2
0
0
0
0
0
0
-28
1
0
0
0
0
-2
1
0
-2
0
0
0
-2
14
0
9
0
0
0
15
42
0
1
0
0
0
0
-34
0
0
0
0
0
0
57
0
0
1
0
0
0
-4
0
0
-1
0
0
0
-51
0
2
0
0
0
0
-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
11
44
-17
56
-15
-39
37
-11
16
23
-1
17
-17
-22
-30
12
-14
31
-15
35
-7
2
-47
-3
-3
-16
-18
16
-26
-31
-1
-1
4
5
-9
-11
-26
-2
-2
-2
-22
-14
0
-6
9
3
0
27
2
-1
57
25
-18
11
-10
0
-23
10
16
-9
40
16
-1
18
-2
4
27
22
7
-16
2
17
58
-39
31
-38
50
-8
12
-11
6
-7
-6
-7
12
-13
0
9
-24
13
23
-44
-41
-6
-5
-18
-21
-32
16
-6
-4
-5
13
26
16
-2
2
-37
-62
-1
-40
-20
-2
36
25
-3
52
12
18
7
20
24
8
22
24
17
-6
3
38
9
95
12
66
20
-9
-12
-1
-4
45
15
1
-1
20
10
-6
-52
-91
1
-23
-3
11
-9
-6
-1
-27
-21
-1
-40
27
-2
-36
-4
16
29
-13
-6
-8
-29
0
5
19
32
-2
1
29
-2
22
47
-19
3
-12
0
-16
19
-26
7
14
0
-4
14
-21
-16
-30
-7
-14
0
-21
-4
-17
24
25
-4
31
8
5
-3
19
1
0
-53
60
-15
2
-1
22
36
-14
42
-5
-19
-11
14
35
18
-10
-6
0
0
11
4
-41
0
-3
14
-32
19
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
2
2
0
0
-1
0
-2
-15
0
0
0
-35
0
52
-23
1
0
0
33
0
-2
-2
1
0
0
8
0
8
6
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
19
0
0
0
-6
7
37
55
53
-1
0
0
-80
-44
0
0
-6
0
0
41
6
0
34
-16
0
0
7
-25
0
0
-24
0
3
-15
-25
0
1
-31
0
0
10
-24
0
0
24
0
0
0
-14
0
-11
0
0
0
0
-12
0
0
-1
0
-5
0
34
-12
-9
0
0
0
0
7
-23
0
-2
0
0
17
3
-16
-1
48
0
7
-12
34
0
-1
3
0
-9
70
-16
0
0
10
0
1
-8
-15
0
8
19
0
-1
1
0
0
7
6
-1
-1
-1
13
0
0
-1
0
10
0
10
0
-10
0
0
5
0
-3
0
0
0
0
0
0
41
-6
-2
0
0
0
0
-39
0
-45
8
0
0
-9
-8
0
1
2
0
0
-1
-2
0
24
-15
0
-4
-4
-33
0
-2
-23
0
0
0
11
0
-38
-3
0
0
0
19
0
0
-6
0
0
0
8
0
8
0
0
2
0
-12
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
85
1
11
0
25
0
0
-3
0
0
0
39
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
4
0
0
0
2
0
0
0
0
0
2
-15
0
-1
0
0
0
1
0
0
47
0
0
-51
-23
0
50
2
0
0
5
4
0
0
-35
0
0
-18
-9
0
2
15
1
0
7
14
0
0
0
0
0
4
8
0
6
0
-2
0
0
14
0
0
0
0
0
0
5
-8
2
0
0
0
1
24
2
0
0
0
0
6
29
-2
0
-20
0
0
-1
-34
0
0
-6
0
0
12
-5
0
4
32
-7
0
11
-1
0
-2
10
0
0
4
29
0
0
-10
4
0
0
-2
0
0
0
0
0
0
-3
0
-2
9
10
0
0
-15
0
0
0
0
0
0
21
0
0
0
1
0
0
11
0
-58
1
0
0
0
-34
0
0
1
-2
0
0
19
0
22
21
0
0
0
-42
0
0
-6
-1
0
6
20
0
-1
0
0
0
0
3
0
-1
0
-6
0
0
77
0
-6
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-9
24
14
-11
1
-28
-64
-43
-12
-5
15
-21
-36
-17
0
-38
8
-18
-14
-9
11
-15
-72
-15
-33
-14
-4
-33
0
-13
-22
-13
-6
23
5
5
-4
11
-56
34
29
12
-18
7
32
-5
-10
-3
8
10
12
-11
5
11
-16
25
22
43
4
-45
22
-6
35
56
-5
22
-52
26
-9
-3
35
25
23
6
5
6
0
-27
-10
-4
0
-1
-21
15
-19
9
6
-44
-16
4
49
66
35
14
-24
0
13
-8
1
0
-4
-32
0
29
23
15
31
1
-40
3
3
32
31
39
-24
11
43
1
17
-78
17
37
18
12
-7
10
26
-1
0
11
26
-11
-7
48
13
66
20
-24
-5
36
-19
-13
17
20
22
0
6
18
-27
-81
-16
-36
-12
49
18
-31
-20
-8
-1
-2
23
16
0
-42
-37
-2
-9
16
-11
21
-39
-3
6
-12
77
-7
18
21
-11
2
6
7
-12
1
-26
-42
37
-16
-56
14
2
23
25
25
-18
17
-12
0
-21
-54
-5
9
-10
8
39
-22
-86
58
5
-4
-40
20
8
-23
42
11
1
22
75
-35
-18
0
-4
-25
17
-14
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
-3
-5
-2
0
2
7
-11
9
-11
0
0
-1
0
11
-6
-3
0
0
14
0
10
-3
1
0
0
0
0
12
0
-9
0
0
0
12
-52
0
0
2
0
0
-4
-5
0
53
-4
20
22
3
0
14
-15
0
0
-2
0
0
-54
0
-3
-4
28
1
0
-11
-26
0
0
-22
0
0
-6
38
0
0
11
-3
0
-19
-50
0
0
6
0
4
0
14
0
11
24
-4
-1
0
47
0
0
0
0
0
0
-10
-12
6
0
0
0
0
74
0
2
1
0
0
0
-15
-1
1
6
0
0
0
0
0
0
-66
-1
0
-1
13
0
2
15
1
0
13
16
0
0
0
0
0
1
-82
0
1
9
19
0
0
86
0
0
0
-1
7
0
35
0
0
0
7
28
0
-40
0
-4
0
4
0
0
23
-2
0
6
0
0
0
38
10
33
11
0
0
4
0
4
19
21
6
0
-4
29
0
-8
51
0
0
0
0
0
4
3
-3
0
0
-51
0
30
0
4
0
4
-4
0
0
-2
0
0
0
2
0
11
1
0
0
0
-27
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-6
0
0
0
0
-21
0
0
1
0
0
0
0
0
73
4
-3
0
0
0
0
-5
0
0
-6
0
0
-1
-1
0
11
37
0
0
-46
12
0
0
2
0
0
0
-7
0
0
1
0
0
0
37
0
0
0
0
0
0
-3
0
9
0
0
0
0
-10
0
0
0
0
0
0
76
0
0
0
0
0
0
-44
0
0
0
0
0
0
-11
0
0
1
0
0
-9
39
0
0
0
0
0
0
4
0
2
0
0
0
0
-9
0
0
0
0
0
0
52
0
0
0
0
0
0
-54
0
0
0
0
0
0
-13
0
0
0
0
0
0
27
0
0
0
0
0
0
7
1
0
0
0
0
0
-7
0
0
0
0
0
0
-20
0
0
0
0
0
0
20
0
0
0
0
0
0
-17
0
0
6
0
0
0
-13
0
-4
0
0
0
0
-3
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-17
0
0
9
0
0
0
0
0
0
0
1
0
0
10
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
-34
16
-2
0
0
0
7
60
0
0
-25
0
0
6
1
0
-8
37
0
0
-4
-8
0
0
0
0
0
-10
18
0
0
6
0
0
-7
21
0
0
0
0
0
0
10
0
-10
4
0
0
0
-6
0
0
0
0
0
0
27
0
0
0
0
0
0
-54
0
0
0
0
0
3
20
0
0
-2
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
20
0
0
0
0
0
4
-12
0
0
0
0
0
0
5
0
0
2
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
-7
0
26
8
0
0
0
-16
0
0
0
-4
0
0
-5
0
2
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
-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
6
15
-2
20
28
-43
-7
-48
-31
-2
1
-2
-2
-9
-25
12
0
8
-4
0
-29
-23
-57
0
-4
27
0
-66
3
8
0
0
15
-46
-29
0
1
30
0
0
4
-22
11
20
71
-35
-23
8
0
-6
-12
51
27
-4
0
-9
61
26
-1
11
-8
-5
-7
12
18
4
67
14
0
10
11
10
0
1
18
31
34
-38
-25
1
-2
6
4
-17
-2
-27
0
-53
-46
43
-1
-1
3
0
-1
-2
0
13
3
16
-32
-43
0
-19
0
-9
20
10
-2
-15
0
0
-3
16
35
38
29
38
-3
46
-5
2
15
28
5
-2
78
-20
26
35
-7
5
0
56
-6
41
-14
1
-10
13
-46
-36
1
-14
-10
-1
-27
-4
-11
0
-1
-7
0
14
2
5
-4
0
-15
-49
9
0
18
0
0
0
0
1
0
15
-41
1
0
0
0
6
3
3
23
-5
-1
-9
-9
16
1
-15
63
-18
5
-18
4
8
18
-8
2
21
4
-18
-3
-31
59
12
-2
-10
-18
0
-10
-45
-3
-10
-13
-13
0
-2
36
-44
-14
-9
3
0
8
-1
2
-8
0
31
-16
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-3
42
0
0
0
0
0
1
0
0
-38
59
0
0
4
0
0
0
0
0
0
6
1
0
0
0
0
0
0
35
0
0
0
0
0
0
1
0
7
0
0
0
0
4
0
0
0
0
0
0
19
0
0
0
0
0
0
-7
0
0
0
0
0
0
10
0
3
0
0
0
0
13
0
0
0
0
0
0
-10
0
0
0
0
0
0
33
0
0
0
0
0
0
-2
0
0
0
0
0
0
63
0
0
0
0
0
0
6
0
0
0
0
0
0
53
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
3
0
0
9
-1
0
0
0
0
7
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
3
48
-5
0
-7
3
0
-1
20
0
0
-20
0
0
-37
-12
0
15
15
-9
0
66
-7
0
0
-51
0
0
36
-1
0
0
-22
-2
0
1
-44
0
0
19
0
0
0
20
0
27
0
6
0
-18
-37
0
0
0
0
0
0
-66
29
-1
0
-4
0
0
32
1
-1
4
0
0
1
14
4
-26
-4
8
0
29
29
0
0
-26
0
0
-12
-32
0
3
-13
-4
0
12
-1
0
-1
30
0
0
0
28
0
0
26
5
0
0
13
0
0
0
0
0
0
-1
0
-1
-1
-29
0
0
-16
0
0
0
0
0
0
64
-17
0
0
0
0
0
-26
0
29
-4
0
0
1
14
0
0
2
1
0
0
-37
0
10
22
0
0
-13
-14
0
11
0
0
0
0
-22
0
-4
-8
3
0
0
-24
0
-2
1
2
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
24
13
-10
-4
0
6
-7
32
-2
0
1
17
-32
5
6
22
0
-2
15
0
-19
1
33
1
0
0
-38
7
0
0
13
0
1
-1
29
7
30
0
28
12
-1
0
8
-6
8
5
15
0
0
46
-25
-16
5
38
13
-17
-17
-1
6
41
-9
-7
-12
-37
5
-4
-45
9
1
-5
23
-3
-3
-16
26
18
-28
33
-8
-2
2
-10
-11
-7
-1
-12
0
-1
13
-4
-14
0
-10
10
24
0
14
11
1
46
-9
-19
-5
-25
0
-21
-13
-2
29
2
32
2
-30
15
3
-10
26
4
-3
29
9
5
-4
-8
-14
-7
9
8
23
1
15
-3
81
5
-3
-1
9
38
1
-7
2
-2
4
38
12
-5
61
-1
-13
0
-11
-11
-17
-16
0
-24
-19
-1
0
0
17
0
7
22
-22
0
2
0
-10
7
5
49
-9
7
0
-49
2
-2
-6
-46
-24
-10
1
11
9
-5
29
-30
-11
33
15
4
9
-71
21
3
4
8
-8
2
62
11
34
30
0
0
-41
-5
-4
3
1
0
0
24
13
-11
12
0
6
10
-8
2
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
-9
-12
-10
0
0
0
0
-1
0
0
0
29
0
0
0
0
-17
0
0
-29
0
0
0
1
0
-34
10
40
8
2
0
-11
64
3
0
6
0
-1
-20
-9
-2
-6
-11
23
0
-11
0
-2
-1
-7
0
0
19
-44
0
1
-13
-3
0
77
-19
0
0
5
6
0
0
2
0
16
0
-17
0
0
7
0
0
0
8
0
0
24
-1
44
0
0
0
0
-8
8
-4
-2
0
0
0
-10
3
2
-16
-17
0
27
13
0
9
22
0
0
24
0
0
0
-3
-1
0
-16
30
0
0
33
0
0
6
-5
0
-7
-11
-25
0
0
-1
0
0
-4
2
-3
0
-18
0
0
0
0
0
0
-6
0
0
0
0
0
0
-12
-6
0
0
0
0
0
15
-1
-20
-5
-1
0
0
7
0
-7
-21
0
0
-8
0
-1
30
11
0
0
-3
-6
0
0
-2
-1
0
0
-4
2
30
-22
3
0
0
35
0
0
0
-2
0
0
9
0
12
0
0
4
0
-13
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
8
0
-2
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
0
0
0
0
0
0
-1
0
18
0
2
0
0
0
-6
9
0
0
-1
0
0
-1
20
0
83
-34
0
0
6
-2
0
0
21
0
0
0
0
0
0
4
0
0
0
2
0
0
0
0
0
0
1
0
-12
0
0
0
0
45
0
0
0
0
0
0
11
0
0
0
0
0
-1
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
17
0
0
0
0
0
0
23
0
0
0
0
0
0
8
0
0
-2
0
0
0
1
0
0
0
0
0
0
45
0
0
0
0
0
0
3
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
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
22
0
-3
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
-35
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
-2
0
37
0
3
0
0
0
-4
-10
0
0
3
0
0
-4
4
0
-1
6
0
0
-4
-4
0
0
1
0
0
3
2
0
0
-1
22
0
-3
91
0
0
0
0
0
0
0
0
4
0
0
0
0
-3
0
0
0
0
-12
0
11
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
4
-9
0
0
0
0
0
0
28
0
0
0
0
0
0
-9
0
0
0
0
0
0
-16
0
0
0
-8
0
0
35
0
0
0
0
0
0
-3
0
0
0
0
0
0
26
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
3
0
0
0
0
-18
0
0
0
0
0
0
4
0
1
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-22
37
0
0
14
9
3
2
16
0
0
-11
30
-11
17
-8
0
1
1
2
-21
0
21
0
0
0
17
-10
0
0
-30
0
0
0
8
10
41
-15
-1
71
10
0
-48
0
19
-1
25
0
4
34
10
27
13
18
64
6
15
-4
2
0
39
1
-8
37
35
-13
-1
15
9
21
-19
-17
0
0
28
2
-19
10
-42
-2
-13
-27
16
-18
0
-24
1
0
0
0
12
0
-12
-9
-30
0
-8
10
0
40
-20
0
-16
0
0
34
-9
32
-7
-17
-33
14
-23
25
-13
6
-2
-7
-3
-18
-2
0
36
27
44
17
24
-9
-4
-22
-54
65
-28
26
-17
-13
18
4
3
37
12
-19
0
-4
15
0
52
3
-31
0
-15
2
-50
13
0
-5
0
-3
0
-26
3
0
13
-18
8
14
-26
0
-1
-30
4
-4
47
0
0
12
9
15
2
12
-14
0
37
5
6
-20
1
1
0
7
4
-12
37
-8
-89
2
-20
-29
1
-25
-7
0
-41
-1
-26
9
5
-27
-12
20
0
-10
0
19
-11
0
-17
0
-33
-5
-3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-4
0
0
-10
0
4
-3
7
0
0
25
0
18
18
-7
0
0
-7
0
29
0
0
0
0
0
-24
41
0
0
-30
0
0
0
63
4
23
13
31
-4
0
0
-15
-18
-9
4
-2
0
0
31
-2
0
17
-23
0
4
1
-26
0
0
13
0
-9
-36
28
0
-2
21
4
4
-8
-8
0
0
9
0
-3
7
-22
10
20
-13
0
0
0
10
-2
0
3
0
10
0
16
-20
7
0
0
-6
7
2
4
0
-9
0
0
-7
19
-12
-6
20
0
0
4
16
0
-1
-7
0
0
-27
-10
0
17
4
0
3
3
8
0
2
-13
1
-36
-7
-40
9
21
3
-6
-8
0
-9
0
-18
34
0
26
0
-6
0
0
19
0
-24
0
10
2
7
0
0
-2
0
21
1
7
0
0
0
0
-3
0
-12
5
0
0
21
25
-2
10
-45
0
0
-19
-5
0
-37
10
0
0
-2
25
0
5
-7
7
1
0
-15
0
11
11
0
0
0
-6
1
-1
16
0
4
0
-29
0
-4
3
0
-43
0
10
12
12
-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
-21
0
0
0
-3
0
0
-2
-2
0
0
-1
-8
0
0
0
0
0
-2
0
0
0
52
0
0
1
2
0
0
0
40
0
0
0
0
0
-5
3
-9
-38
-4
0
14
12
0
0
21
0
0
13
35
0
3
-46
-7
0
-9
58
0
0
-6
0
0
5
45
0
-5
-21
21
0
-7
24
0
0
9
0
0
1
-57
0
-11
-9
2
0
-4
52
0
0
0
0
0
0
19
48
18
0
1
0
0
12
-47
-4
0
0
0
22
22
-3
-8
7
22
0
33
19
0
1
-13
0
0
42
20
0
-8
14
30
0
29
-16
0
40
18
0
0
-2
40
0
1
29
54
0
0
-25
0
-6
5
0
0
0
-9
0
-7
22
25
0
0
33
0
0
0
-1
0
0
4
-1
0
0
-7
0
0
-28
1
-2
2
0
0
3
-53
2
-2
-39
-18
0
-1
23
0
23
22
0
0
0
41
0
5
1
-9
0
0
33
0
30
0
0
0
13
-13
0
2
1
-3
0
0
-3
0
-4
-2
0
0
0
40
-13
-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
-59
20
0
-1
-12
-17
20
20
35
0
-4
-6
-4
-1
4
-48
0
0
0
-20
5
0
-3
10
0
0
0
-20
1
-5
-13
-46
7
-38
0
-53
13
-4
11
12
0
0
-38
44
0
-36
-22
0
-1
-12
7
-6
9
4
5
-6
-21
0
0
-3
-1
-4
-22
-35
-6
11
4
-11
0
0
-1
-5
0
-1
22
1
-1
0
25
0
0
3
0
-40
0
13
10
-54
0
66
0
0
-19
-17
11
27
2
0
-16
18
-2
0
-14
17
11
-16
33
2
-16
-28
4
-13
19
23
-34
41
-26
-23
0
-7
8
-3
10
-38
-3
-22
-6
14
7
0
-4
-9
15
16
-2
0
-20
-21
0
-9
0
-30
0
2
-2
-39
-8
0
-7
2
0
0
0
4
0
-17
-1
-5
-16
0
0
0
4
11
-52
-12
-1
0
1
60
0
-4
9
-15
0
-4
-19
0
-26
-4
0
1
4
19
0
-8
-11
42
1
-2
-2
0
-8
-30
1
-5
-5
-2
0
38
-49
22
-1
0
0
0
-6
0
0
5
0
21
-27
6
-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
-22
9
0
0
7
0
8
3
-4
0
0
0
-4
0
0
-2
0
0
0
1
-48
0
0
0
0
0
2
-8
0
39
-19
-4
9
0
0
-48
20
0
0
44
0
0
-5
27
1
26
50
-3
0
-14
-15
-6
5
50
0
0
-6
0
1
0
-1
0
0
-2
-7
0
2
-2
0
0
-6
-17
0
-4
-1
-2
0
-1
-34
0
0
0
1
-2
0
16
-3
0
0
-6
0
0
28
14
2
-3
0
0
3
-6
0
-1
-12
-9
0
7
7
0
4
-9
0
6
9
-28
-1
13
46
3
0
3
0
0
6
-49
-6
0
-7
-59
2
0
13
0
0
2
2
0
0
10
0
0
6
-21
0
0
16
2
-7
0
45
0
0
0
0
0
0
-11
-2
0
7
0
0
0
12
1
11
-4
0
0
0
-7
0
-3
30
0
0
0
-37
0
-21
-2
0
0
-3
0
0
1
-9
-5
2
4
-35
0
-53
3
-6
0
0
-43
0
1
-6
3
0
0
-11
0
-48
0
0
0
0
2
-4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-16
0
-3
0
0
0
0
0
2
-11
0
0
5
0
0
17
0
0
0
-17
-6
0
0
18
0
0
41
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
13
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
0
0
0
0
22
0
0
0
0
0
0
-3
0
0
0
2
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
-8
0
0
0
0
-2
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-24
0
0
0
0
0
-9
16
0
0
0
0
0
1
-1
0
21
3
0
0
-18
-15
0
0
5
0
0
0
26
0
0
0
0
0
0
21
0
0
0
0
0
0
27
0
-3
0
0
0
0
-8
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
-2
0
0
-33
0
0
11
0
0
0
-38
0
0
0
0
0
0
-23
0
0
0
0
0
0
3
0
0
0
0
0
0
-14
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
-3
0
0
0
0
-2
0
0
0
0
0
0
4
0
10
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
13
-36
-17
8
-1
0
0
0
0
-2
0
-8
0
0
0
2
-38
0
0
-52
0
0
0
-25
-1
16
58
0
10
12
0
0
-47
0
0
-5
-1
-6
5
61
0
-10
-24
-28
0
23
45
0
0
12
1
0
58
38
0
0
-3
41
0
13
64
0
0
-33
0
0
-1
-11
1
-30
0
1
0
0
2
0
0
0
0
-35
0
39
22
6
0
0
3
0
-13
22
0
-10
0
0
-8
24
-25
-15
-2
-2
1
47
32
0
1
-4
3
-2
88
-42
0
0
26
-12
3
-3
-14
0
9
1
0
0
0
30
0
0
3
12
0
0
-36
0
-6
-1
0
-2
2
-33
0
1
0
38
8
0
29
0
0
0
0
0
0
2
-10
2
0
0
0
-1
-42
11
33
0
0
0
-6
-11
0
20
4
0
0
-3
45
0
23
3
0
0
0
-3
0
7
19
20
1
0
9
0
24
0
0
4
0
2
0
0
0
0
0
0
28
0
7
0
0
0
0
-20
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
-1
0
0
3
0
0
0
0
0
-7
0
0
0
0
0
0
30
0
0
-5
0
0
0
1
0
15
-3
0
0
-30
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
0
0
0
3
0
0
0
0
0
0
17
0
0
0
0
0
0
7
0
0
0
0
0
0
-16
0
3
0
0
0
0
-52
0
0
0
0
0
2
-3
0
0
2
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
-37
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
-22
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
-6
11
0
0
-2
-3
0
-1
0
0
0
0
0
0
0
50
0
0
0
-43
0
0
0
-10
0
0
0
0
4
-10
-3
8
54
3
0
-20
-34
0
0
-24
0
0
8
-19
7
-17
-16
6
0
-13
16
0
0
-18
0
0
79
-7
0
8
-71
-10
0
33
-8
0
0
28
0
0
0
40
0
-40
-2
7
0
0
16
0
0
0
0
0
0
0
34
1
0
0
0
4
-18
-10
0
1
0
0
-15
-44
16
5
-10
40
0
-12
17
0
0
22
0
0
-46
1
0
-6
-6
-61
0
11
-33
-1
-4
26
4
0
3
-18
0
0
-30
-7
0
0
0
0
22
0
0
0
0
-28
0
15
0
11
0
0
-14
0
12
0
0
0
0
38
24
0
0
6
0
0
-17
6
-4
20
0
0
6
22
2
0
-30
1
0
1
11
0
36
0
0
0
1
-5
0
-24
-2
-3
0
2
-22
0
82
-16
6
0
7
-8
0
7
-2
-1
0
0
-20
0
18
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
-2
21
0
0
2
0
-6
0
-1
0
0
0
-13
-41
0
0
-9
0
0
0
-4
0
-29
-7
-4
2
0
0
3
45
0
0
34
0
0
-23
-45
0
-7
-35
-1
0
18
-42
0
0
-1
0
0
0
-15
0
-1
82
-2
0
0
-10
0
0
11
0
0
0
55
0
44
4
-17
3
-2
-3
0
0
0
0
-6
0
-12
-21
0
0
-1
0
0
-33
4
0
1
0
0
0
5
2
3
-30
-7
0
0
-25
0
1
3
0
0
-1
0
0
11
22
-1
0
-2
-22
4
0
23
0
-1
-3
13
-1
0
30
-2
0
0
0
0
0
-1
0
1
0
-34
0
0
6
-4
-2
0
4
0
0
0
3
0
0
0
-12
0
0
0
0
0
40
0
0
0
0
0
0
19
0
0
0
1
0
21
-15
0
11
1
0
0
-7
8
0
0
-7
13
0
0
21
0
9
-6
0
0
0
-56
0
-1
0
0
0
0
-15
0
-7
-10
0
2
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
-1
3
0
0
-1
0
-2
0
1
0
0
0
0
-47
0
0
-22
0
0
0
-7
0
-65
4
-1
0
-1
0
-3
25
0
0
-32
0
0
-21
-13
0
1
26
-23
4
-18
4
0
0
-6
0
-12
-1
-55
0
0
43
6
-16
12
0
0
10
15
0
0
-3
22
0
-2
0
-10
0
-2
-32
0
0
-2
0
-10
0
9
20
0
0
0
6
0
16
13
1
0
-8
0
-12
-30
-10
-6
-11
-4
0
20
-22
0
0
13
0
0
13
-58
0
-4
15
-37
22
3
4
0
0
4
0
-2
0
0
0
0
-2
-15
-13
0
-8
0
-1
0
0
7
8
6
0
0
1
-3
37
0
-3
0
0
-2
-1
3
0
-14
0
0
0
0
0
-4
17
0
-71
-2
9
0
0
27
0
-7
12
-17
0
0
0
0
-15
14
0
0
1
20
0
-13
1
1
0
7
0
0
-5
0
0
0
-18
-16
0
-2
9
-3
0
6
-22
0
-7
0
1
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
-7
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
-1
0
0
0
-1
0
0
2
0
0
-8
8
0
0
-1
0
0
-4
-1
0
0
2
0
0
0
-43
0
0
0
0
0
0
0
0
-4
0
0
0
0
10
0
0
0
0
0
0
33
0
0
0
0
0
0
-6
0
0
0
0
0
0
-17
0
0
0
0
0
0
-21
0
0
0
0
0
0
-5
0
0
3
0
0
0
-18
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
19
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
9
0
0
0
1
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
-33
0
0
0
0
0
-12
0
7
0
0
0
0
-1
0
0
-2
0
0
0
22
0
12
-18
3
-14
17
0
16
-11
3
0
17
0
0
12
65
0
-15
11
-26
0
-23
16
0
-3
8
-2
0
-4
19
0
0
16
52
0
-1
14
1
0
-3
0
0
0
26
0
-25
4
27
0
0
5
0
0
0
0
8
0
-13
20
-3
0
-4
0
0
7
40
0
0
0
0
17
-42
10
-19
4
8
1
1
-5
0
-1
27
10
0
17
13
0
11
0
30
0
13
8
0
-1
3
-1
4
7
-6
0
-16
0
32
3
0
-21
0
0
0
0
4
0
-73
0
0
0
11
-29
0
0
0
0
0
0
-1
0
42
4
0
0
0
0
0
-22
8
55
0
0
0
6
18
0
14
-3
2
0
0
44
0
-19
-1
0
0
0
25
0
-13
0
-2
12
-3
4
-1
-37
0
0
-3
0
11
0
0
0
0
0
0
-7
0
-54
0
0
0
0
10
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
22
0
0
14
0
0
0
-7
0
-35
6
0
25
0
0
0
13
0
0
-1
0
0
-1
-12
0
1
-1
0
-1
-5
9
0
0
50
0
9
-7
-5
0
0
23
0
6
6
-3
0
0
8
0
-1
-1
8
0
-53
-3
0
-1
0
36
0
0
0
0
17
0
-8
23
40
0
0
0
0
-19
-2
0
1
0
0
0
-5
0
-2
-11
0
0
22
-17
0
0
1
0
-2
9
-40
0
0
-30
0
0
-3
20
0
0
-12
0
0
0
0
0
0
-5
0
1
0
22
0
0
-1
0
18
0
-5
28
7
0
0
11
0
6
0
0
0
0
0
0
-31
-8
0
0
0
0
0
28
0
-13
0
0
0
0
-29
3
0
12
0
0
0
17
0
20
0
0
-1
0
41
0
0
0
0
0
0
61
0
-26
0
0
0
0
14
0
0
0
0
-9
0
0
0
-7
0
0
8
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
8
0
0
6
-7
0
0
0
-5
0
0
0
20
0
0
0
-20
0
0
0
0
0
-5
-22
-3
1
0
0
-10
2
0
0
-55
0
0
59
7
0
12
-9
18
0
16
41
0
0
17
0
0
16
20
0
11
-27
28
0
11
-26
8
0
-9
0
0
-1
-18
0
-18
45
-19
0
0
27
0
0
0
0
0
0
2
34
12
0
-5
0
-7
-5
41
0
0
0
0
12
-1
0
-19
18
0
0
-12
-8
0
0
55
0
0
-17
19
0
-4
-10
7
0
-33
-2
-1
11
-46
0
0
1
6
1
0
-13
-40
0
0
1
0
-8
20
1
0
0
12
0
0
44
32
0
0
14
-2
0
0
0
0
0
-29
78
0
0
0
0
0
-6
0
35
1
0
0
3
7
0
-1
18
0
0
0
-8
0
44
-10
0
0
-1
23
10
30
-28
-1
0
-3
8
0
-9
35
1
0
6
3
0
12
10
21
0
0
24
-2
26
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
9
2
0
0
0
-4
0
0
0
0
4
-48
-8
1
-11
-4
0
12
0
0
-9
-28
0
0
4
-15
0
16
11
1
0
-48
-20
0
0
-9
0
-1
2
-6
0
0
0
0
-10
0
-29
0
0
54
0
0
0
-19
0
-15
-11
-2
0
0
12
0
0
-2
0
6
0
21
-4
-2
0
-8
0
0
-58
-9
0
0
0
0
0
-9
0
7
7
0
-6
4
-56
0
-13
4
0
0
0
15
0
3
-6
1
0
0
-22
0
2
13
0
-2
0
-24
0
0
15
-8
0
0
-12
0
7
0
0
23
0
-16
0
0
0
2
15
0
27
0
0
0
0
0
0
-39
0
0
0
0
0
0
-7
-8
8
0
0
0
0
35
0
2
-1
0
3
-1
0
0
25
-7
0
0
0
-18
0
0
1
-4
-1
0
32
0
18
7
0
0
0
71
0
0
1
0
0
0
30
0
1
0
2
0
0
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
5
0
0
8
0
0
0
0
0
-35
-8
4
0
0
0
4
8
0
0
27
0
0
-3
-26
0
28
19
0
0
-32
12
0
0
7
0
0
1
5
0
0
-6
0
0
2
-14
0
0
47
0
0
-2
0
0
-54
0
0
2
0
-2
0
0
3
0
0
0
-31
2
1
0
0
0
0
-45
-7
0
7
0
0
0
-28
0
-6
9
0
0
6
-11
0
0
-8
0
0
-17
-29
0
1
24
-2
0
0
11
0
0
2
0
0
0
-38
0
0
0
0
0
2
0
0
0
2
0
0
0
-51
0
0
0
0
-1
0
-59
0
0
0
0
0
0
53
0
0
0
0
0
0
47
0
32
0
0
0
-1
-25
0
0
3
6
0
0
21
0
-6
0
0
0
0
21
0
0
1
0
0
0
-3
0
0
7
0
0
0
0
0
0
0
0
0
0
4
0
16
1
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
9
0
0
0
0
0
0
15
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-7
1
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
1
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
10
0
0
-1
0
0
-1
0
0
-1
0
0
0
0
3
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
-27
0
0
0
0
0
0
17
0
0
-1
0
0
0
-1
0
0
1
0
0
0
-69
0
0
0
0
0
0
1
0
0
0
0
0
-2
-5
0
0
0
-1
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-26
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
7
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
2
0
0
0
11
0
-46
-3
0
0
0
0
4
5
0
0
39
0
0
-10
-21
0
-26
11
0
2
20
-1
0
0
1
0
0
20
-38
0
0
0
0
0
2
9
0
0
-13
0
0
0
1
0
49
0
-1
0
0
-30
0
0
0
0
0
0
-46
2
0
0
0
0
0
53
-1
0
0
0
0
0
-51
0
0
-8
15
0
0
20
0
0
0
0
0
-18
-7
0
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-3
0
0
-9
0
0
0
0
0
0
-5
0
0
0
0
0
0
-34
0
0
0
0
0
0
10
0
0
0
0
0
0
-7
0
20
0
0
0
1
5
0
0
6
0
0
0
-19
0
-7
0
2
0
0
6
0
0
-2
7
0
-3
22
0
0
0
0
0
0
-2
0
0
0
0
0
0
14
0
5
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-6
28
0
0
0
0
0
0
0
0
4
-7
0
0
-3
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
-30
0
0
0
0
0
0
9
0
0
0
0
0
0
-9
0
0
0
0
0
0
-26
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
6
0
-1
38
0
0
0
-17
0
0
0
0
1
-2
7
2
-19
0
0
-39
21
0
0
-21
0
0
52
55
0
5
-54
-22
0
21
39
0
5
5
0
0
60
15
0
0
23
27
0
24
-5
0
-1
5
0
0
1
4
0
4
-59
17
0
4
13
0
0
-1
0
0
0
-10
-26
-11
0
7
0
0
-3
-42
0
0
0
0
35
5
0
45
12
12
0
-51
25
0
0
40
0
0
2
22
0
-4
27
14
0
20
-2
0
2
16
0
0
2
16
0
9
29
5
0
0
-4
0
16
13
0
0
0
-3
0
23
-24
31
0
0
2
-1
0
0
0
0
0
-2
-13
0
0
-2
0
-2
8
0
-20
8
0
0
11
36
0
0
6
23
0
25
28
0
48
39
-6
0
-8
26
0
0
5
25
0
0
7
0
31
29
0
0
1
-20
2
2
-21
-51
0
0
-34
0
1
3
0
0
0
10
-18
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
1
0
0
0
3
0
-23
0
0
0
1
-1
0
0
-38
0
0
0
1
0
0
0
0
0
0
-20
0
0
0
0
0
0
-2
0
8
0
0
0
0
3
0
0
0
0
0
0
-75
0
0
0
0
0
0
-68
0
0
0
0
0
0
5
0
0
0
0
0
0
-98
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
2
0
0
0
-2
0
0
-9
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
-1
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
5
0
0
0
0
0
-13
5
0
16
-1
0
0
-39
6
0
-53
0
0
-52
-4
0
-7
47
3
0
-27
-43
0
-2
4
2
0
0
52
0
0
3
-4
0
0
-16
0
0
-1
0
0
-1
53
0
20
10
0
0
0
0
0
0
2
0
0
0
17
3
-1
0
0
0
0
-30
5
0
0
0
0
-2
-29
-3
-5
3
3
-2
7
-3
0
0
3
0
0
14
8
0
0
-16
-23
0
45
24
0
7
10
0
-3
-3
-11
0
-1
-3
-6
0
0
5
0
0
0
3
5
0
0
0
0
6
0
6
0
-35
0
0
0
0
0
0
-2
0
0
0
0
0
0
49
0
-37
0
0
0
0
-37
0
6
1
0
0
0
-29
0
-6
0
0
0
1
-8
0
8
-1
-2
1
6
-29
0
-5
-1
0
0
0
25
0
0
0
0
0
0
0
0
-2
0
4
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-58
0
0
-3
0
0
-4
0
0
-30
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
1
-1
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
14
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
16
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
-57
-6
0
1
4
12
0
0
-1
0
0
0
25
0
0
0
0
0
0
-2
0
0
0
0
0
0
-11
0
-13
0
1
0
0
20
0
0
0
0
0
0
29
0
0
0
0
0
0
-30
0
0
0
0
0
0
2
0
0
0
0
0
-3
-53
0
0
0
0
0
0
-2
0
0
0
0
0
8
-21
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
-53
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
9
0
0
0
0
-1
0
0
0
0
0
0
3
0
3
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-50
22
0
1
0
0
34
35
0
0
17
0
0
-22
46
0
10
-16
0
0
-21
-35
0
6
15
0
0
29
8
0
8
-2
0
-1
7
39
0
0
-10
0
0
0
0
0
-4
0
16
6
0
-20
0
0
0
0
0
0
1
-3
-3
0
0
0
0
-56
2
0
-10
0
0
0
43
0
-7
8
0
0
23
-23
0
0
-2
0
-2
0
-20
0
0
0
0
0
3
1
0
0
2
0
10
-2
0
0
-2
31
-2
0
0
-21
0
0
2
0
11
0
-3
0
0
0
0
13
0
14
0
0
0
0
0
0
-23
0
0
0
0
0
0
-3
0
-11
0
0
0
0
-13
0
0
-4
0
0
0
22
0
-1
8
0
0
0
-114
0
0
-10
0
0
0
34
0
-23
-4
0
-1
0
-14
0
0
1
0
8
0
-6
0
-2
0
0
13
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
-19
-19
-1
0
21
0
-6
-24
-34
7
-35
-66
0
-15
8
0
8
-14
6
0
15
36
-8
23
-7
6
0
-4
-3
1
-21
-9
-4
0
-19
-9
0
-9
-4
27
0
-7
-13
0
3
28
0
0
31
5
14
13
3
-3
0
45
34
5
-4
1
-2
0
0
-2
0
-51
-1
27
0
-1
8
-45
-2
-11
-1
0
-19
4
-16
-24
2
6
0
-4
-2
3
36
41
-13
0
-15
-4
-27
6
-4
33
0
-1
4
-1
7
28
24
0
39
1
6
-20
10
-4
0
64
19
0
-39
19
18
0
2
0
-7
-6
-34
6
2
0
1
11
25
-2
0
0
0
3
28
28
38
12
0
41
-9
-3
9
-61
0
0
-1
-12
-15
20
-52
-10
0
-60
-14
12
-18
-9
-17
0
63
21
2
7
35
-19
0
6
25
0
-20
20
-3
0
0
2
0
27
11
35
0
0
-13
0
32
-34
4
0
0
1
53
60
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
-1
0
0
0
0
0
0
-10
0
0
-6
0
0
0
0
0
-4
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
-3
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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
-3
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
2
-34
0
0
0
0
0
0
-35
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
2
0
1
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-32
-39
5
-23
-9
2
12
-17
-1
-8
-7
0
0
13
-27
-1
19
-26
-20
-2
-8
-14
0
-5
-26
-6
0
11
-31
0
-3
-63
-67
-2
34
-3
0
0
-85
0
-7
-7
5
0
-10
6
6
-7
2
27
0
0
2
0
34
-2
9
0
22
0
-8
0
0
-28
-5
0
-9
10
-10
73
-3
7
11
4
45
0
-16
-5
-1
6
-28
0
-6
-15
25
0
46
38
-4
1
-63
3
0
1
-12
0
-32
-13
-12
1
0
-48
-74
0
-1
-2
0
-1
-7
0
6
-1
42
0
-4
-28
-16
14
0
7
0
0
0
-1
0
-2
-19
-26
0
-1
9
0
9
-49
1
13
33
1
0
-1
5
2
9
4
7
10
-2
0
0
-20
-16
0
-1
2
39
0
27
-19
-1
-1
7
-3
1
10
3
-2
0
-29
13
0
-4
-2
-1
-10
3
33
0
-45
0
0
-28
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
-11
0
0
0
0
0
-1
0
0
0
-1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-11
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
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
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
48
-5
0
0
-1
0
0
0
10
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-10
0
-1
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
-21
0
0
0
0
0
0
-41
0
0
-4
0
0
0
-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
-6
0
0
0
0
0
0
-28
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
18
37
0
0
-1
11
-1
0
-22
0
0
-19
44
2
15
6
13
0
26
-2
0
0
20
0
0
-5
-37
0
-5
-2
-29
0
-12
-8
1
0
-37
0
0
0
-6
0
-53
-36
-8
0
0
3
0
3
0
0
0
0
30
46
12
0
0
0
9
-8
31
0
0
0
0
-12
21
-12
41
54
5
0
-37
-14
0
0
-13
0
0
1
-11
0
0
20
7
0
32
-3
0
-3
56
9
0
-1
-6
0
0
-2
2
0
0
17
4
-10
17
0
0
1
-10
0
-18
1
1
0
0
0
1
0
0
0
0
0
-19
-1
0
0
0
0
3
38
4
20
1
0
0
-2
11
-3
2
22
-7
0
-2
-8
0
5
-25
0
0
0
-8
7
-1
-41
-11
0
0
2
0
33
1
0
0
1
18
0
-2
13
-5
0
2
-5
3
1
0
1
0
0
12
26
-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
4
1
0
-2
0
0
1
0
0
-17
15
-6
0
12
-1
0
0
-27
0
0
0
-3
0
0
3
0
0
0
41
0
0
-2
0
0
0
-23
0
5
1
0
0
0
10
0
0
0
0
0
0
-38
0
0
0
0
0
0
-24
1
0
0
0
0
0
-4
0
0
-6
0
0
-8
14
0
0
0
0
0
0
-12
0
0
1
0
0
0
78
0
0
2
0
0
0
-16
0
0
6
0
0
0
-50
0
0
0
0
0
0
10
0
-2
0
0
0
0
16
0
0
0
0
0
0
-12
0
0
0
0
0
0
-23
0
0
0
0
0
0
9
0
0
0
0
0
0
-35
0
0
0
0
0
0
43
0
0
0
0
0
0
-3
0
-9
0
0
0
0
48
0
0
0
0
0
0
4
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
10
19
-12
37
34
27
19
-2
25
-8
42
15
8
14
-10
5
-61
41
7
6
-9
-1
-51
-40
-15
-7
9
-7
-5
11
12
-6
-1
-3
20
12
-7
4
4
19
17
0
-8
21
6
-62
79
-37
0
-14
-35
6
-2
-19
6
-17
0
-48
3
-49
9
18
-6
-5
18
-12
-13
56
19
8
15
5
42
33
38
-9
28
-14
19
-30
38
-28
-13
1
11
-28
-36
27
17
-5
60
1
8
7
-13
-10
-6
-49
-1
0
-54
-17
27
10
-9
-30
4
28
49
19
-3
0
-17
19
-10
-1
-13
30
-2
0
-1
-7
-50
-20
0
24
-20
0
-24
14
14
35
21
-2
12
12
16
-18
16
2
4
77
-19
45
-13
49
-13
-20
-17
25
-13
30
6
37
-4
3
25
-53
13
40
-12
-1
-13
-84
-11
20
1
10
-16
-1
2
-2
-49
-25
7
-12
-5
10
-2
10
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
35
0
0
28
20
-3
-16
26
18
0
-18
-15
-11
9
-20
12
4
2
18
2
-1
-40
2
-1
0
-2
0
-4
-34
6
-1
-3
-17
0
-11
0
-2
2
0
-54
0
0
0
-6
-12
-3
14
-25
7
0
0
-6
0
18
-6
0
-25
1
0
43
28
-7
34
-31
16
-2
-3
24
0
7
-6
0
-2
-36
4
0
20
-46
5
0
-14
6
8
-3
-27
-11
1
19
13
0
-11
-40
-23
1
0
6
0
2
15
0
7
15
-17
0
0
0
-19
16
0
-9
-24
-2
0
0
0
-2
54
0
-1
1
-3
0
-6
27
-3
120
0
-2
0
4
23
-6
19
102
-4
0
-4
15
0
-6
-36
0
0
-2
7
0
4
24
-32
0
-5
43
0
30
7
-17
0
0
63
3
-6
-17
0
0
-3
-40
0
2
-4
1
-5
0
25
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
-5
-23
-6
0
-11
0
0
90
-7
-1
0
4
-26
0
9
7
-1
0
16
0
0
5
-4
0
0
8
-1
3
4
-19
0
0
2
-6
-6
-2
8
0
-14
0
37
-1
0
-32
0
0
0
0
42
0
17
24
0
0
6
-4
0
-11
22
0
-6
0
0
-3
26
4
12
11
-7
0
9
-41
0
-6
1
0
1
18
24
0
0
20
2
0
12
-36
1
0
54
-1
3
-2
-46
0
0
-13
3
0
0
35
0
2
-1
0
3
0
5
2
2
-4
5
-29
0
-13
0
0
0
0
0
0
14
1
0
4
13
0
0
-7
0
22
0
0
0
0
-41
0
0
-1
0
0
0
-33
2
0
0
0
0
0
50
0
-2
-4
1
0
0
-39
0
-8
21
-3
0
0
70
0
0
-1
-4
0
0
-12
0
13
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
17
0
58
2
0
50
8
31
0
8
4
0
1
21
0
0
1
47
0
21
-9
27
7
10
1
0
0
18
0
0
0
-13
-3
-7
6
42
13
0
-17
0
0
0
0
4
0
49
42
-7
0
1
0
0
-35
30
-2
0
0
0
2
7
-1
-7
3
5
0
-46
13
1
-25
-15
-1
0
11
-9
0
13
-37
33
0
-17
43
1
1
36
4
0
0
8
0
4
-48
38
0
0
-2
0
0
-11
0
49
0
-31
15
9
0
-24
9
0
26
3
0
0
0
0
-1
-64
1
0
0
0
0
0
0
-4
-30
8
0
0
13
58
4
-9
-1
-3
0
0
4
0
42
0
1
-1
2
2
0
12
9
9
0
0
9
0
11
0
-4
0
0
-19
0
-8
1
3
0
10
0
0
33
10
0
-1
0
14
-20
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
3
-2
0
22
-1
0
0
16
-19
0
1
9
0
0
0
44
0
0
-18
0
0
3
-46
0
0
-19
0
0
0
-4
0
34
0
0
0
0
20
0
0
2
0
8
0
9
5
0
0
0
0
0
-43
-1
0
-3
0
0
19
-28
0
0
-1
0
0
24
-33
0
0
37
0
-3
8
-37
0
0
-12
0
0
-1
-16
0
0
43
0
0
0
-4
0
0
-4
0
0
0
44
0
0
3
0
-1
0
-19
0
0
0
0
-2
0
12
0
0
0
0
0
0
13
6
0
-11
0
0
0
-21
0
-1
-9
0
0
0
-2
0
10
0
0
0
6
-37
0
-17
-18
0
0
0
28
0
0
19
0
0
0
6
0
40
0
0
0
0
11
0
0
0
0
0
0
-40
0
1
0
0
0
0
5
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
27
0
0
0
0
0
0
14
0
0
0
0
0
0
6
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-20
-1
-16
12
73
0
17
-16
0
10
-11
3
4
-22
-3
0
-1
6
23
-3
-11
15
0
0
30
0
-1
0
17
0
-27
-26
-38
2
0
14
0
0
-13
0
16
0
-14
-11
-13
0
-5
0
8
16
-9
0
0
0
0
-2
47
-10
3
95
3
0
27
17
0
1
15
2
0
-34
-17
0
1
5
24
0
45
-18
0
-15
14
-8
8
-3
42
0
-19
1
-19
-4
0
26
0
-5
8
0
-9
0
25
1
-8
25
8
24
0
-3
1
0
0
0
2
0
-58
36
-5
6
0
0
0
15
3
46
-2
9
0
-9
-8
2
3
-5
12
0
2
-23
0
11
-19
0
0
0
-14
0
6
36
-5
10
-4
-38
0
48
-17
-2
0
0
-57
0
0
-66
6
0
0
-31
0
-18
0
0
17
0
32
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
1
26
4
-15
20
13
13
-1
10
36
24
-1
-21
-14
23
4
26
-7
7
1
-8
6
-2
42
-14
13
13
-70
-27
1
52
-6
-4
-7
-11
1
-8
-33
29
-48
38
26
-3
-14
8
36
-11
-27
11
-3
1
3
25
-8
-73
28
-15
0
-10
12
23
25
3
3
15
20
0
-13
67
53
7
17
3
6
-1
13
31
22
-1
4
-3
12
-2
39
-16
-19
-34
2
21
8
-9
-16
10
36
37
-15
-37
3
2
12
0
47
32
7
-23
0
-17
-34
-20
8
4
-7
-9
1
-15
38
-11
41
0
23
0
28
-2
36
-7
4
-23
-29
16
-3
20
-43
-10
27
12
36
14
-29
-51
-21
-1
-22
-30
-28
-19
13
-15
-3
-2
-29
37
-17
-26
-8
18
-12
15
20
0
-9
-41
54
3
34
23
-36
27
25
11
-6
8
17
30
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
0
8
10
2
0
39
11
0
0
13
0
0
-9
12
0
0
1
0
0
0
-2
0
0
0
0
0
0
25
0
-4
0
0
0
0
-19
0
0
0
0
0
0
27
0
0
0
0
0
0
51
8
0
0
0
0
0
16
0
0
0
0
0
13
34
0
0
-4
0
0
4
-34
0
0
-2
0
0
0
-58
0
0
4
0
0
3
26
0
0
-3
0
0
0
-8
0
0
0
0
0
0
18
0
0
-8
0
0
0
-27
0
0
0
0
0
0
-28
0
0
0
0
0
0
-13
0
-2
0
0
0
0
13
0
0
0
0
0
0
-12
0
0
0
0
0
0
32
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
5
0
7
1
3
0
0
13
0
0
-8
0
0
0
13
0
0
-1
0
0
0
62
0
0
-7
0
0
0
6
0
-1
6
0
0
0
74
0
0
0
0
0
0
46
0
0
0
0
0
0
-2
0
0
0
0
0
-3
-28
0
0
7
0
0
6
3
0
0
0
0
0
1
-32
0
0
0
0
0
3
1
0
0
2
0
0
0
-2
0
0
4
1
0
0
-23
0
0
0
0
0
0
-28
0
0
0
0
0
0
31
0
0
0
0
0
0
14
-1
0
0
0
0
0
-29
0
1
6
0
0
0
-8
0
0
0
0
0
0
-7
0
0
0
0
0
0
-17
0
0
0
3
0
0
-2
0
0
3
0
0
0
54
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
12
-3
0
1
34
-36
-7
16
6
-6
27
23
-2
22
-14
30
0
0
23
23
-29
-37
5
0
-7
7
-3
2
5
-3
-2
10
42
-14
5
0
12
0
-2
4
0
-3
0
23
-23
-30
0
-34
5
0
-9
18
10
-4
2
0
17
9
13
-2
47
-30
1
11
10
0
-15
40
1
22
24
3
0
-31
-15
43
-2
55
9
0
21
17
-1
-12
-23
-20
7
-35
20
11
-43
8
-5
0
-22
6
-1
6
0
-4
0
-3
-22
21
-33
0
17
12
0
0
2
3
0
-2
-34
0
-1
3
0
1
18
-6
-7
15
0
0
34
20
11
77
5
-41
1
49
10
-1
44
-43
8
5
2
-3
0
-30
-70
39
9
1
-16
1
-16
-18
4
-27
41
-10
4
-1
-27
-37
18
-1
0
0
12
2
0
36
0
-20
-1
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
3
0
12
-1
0
0
4
13
0
0
0
0
0
-1
1
0
0
-1
0
0
0
-22
0
0
0
0
0
0
2
0
0
1
0
0
0
16
0
0
0
0
0
0
14
0
0
0
0
0
0
21
0
0
0
0
0
-1
14
0
0
0
0
0
0
23
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
3
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
-6
0
0
0
0
0
6
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
3
0
0
0
0
0
0
3
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-3
0
0
0
0
22
0
0
0
0
0
0
15
0
0
0
0
0
0
-22
0
0
0
0
0
0
16
0
0
0
0
0
0
-15
0
0
0
0
0
3
-7
0
0
0
0
0
0
41
0
0
0
0
0
0
2
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
24
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
3
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
-34
-35
54
2
7
13
63
-15
-32
-8
25
-35
6
-4
-35
7
-9
1
-10
2
11
4
-29
-1
23
7
23
14
0
24
-16
0
6
0
37
0
38
-14
-31
0
-15
-7
-8
10
-30
0
49
-6
0
13
2
7
49
21
-16
0
-2
-25
-6
20
-4
2
8
82
19
-15
-26
55
-28
-23
-8
9
0
-22
61
-12
-20
-1
-11
4
60
-3
-20
-12
-1
-24
6
3
-8
-2
59
-1
36
-10
-41
-3
31
28
0
8
-5
39
0
9
-41
0
16
-18
-2
31
-1
0
2
-17
-1
21
-28
0
8
-9
-9
3
110
-32
11
0
22
-18
-4
19
50
3
-18
-20
-17
2
-90
-80
4
0
4
-13
0
-15
-18
-1
27
-7
-18
-2
-4
72
16
-9
-7
4
4
-4
2
1
24
0
26
63
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
34
-35
0
0
44
-16
0
-25
78
-16
4
48
14
1
-1
22
-8
-44
-1
-32
-4
-4
-1
-17
7
-4
-24
0
0
-1
-1
-10
0
11
-16
-16
0
47
0
1
-11
29
-1
-4
0
0
-8
-16
26
19
31
0
0
0
0
-5
72
-15
2
0
25
2
10
13
-22
10
-49
22
-31
0
18
-2
7
23
-27
-47
1
9
26
-42
21
6
-25
0
-14
-50
0
19
0
-15
0
-2
-1
5
16
0
33
-3
-6
0
2
-5
-2
9
25
0
0
-1
0
-1
-17
-4
-14
37
10
0
0
0
11
-3
12
-1
4
-2
-36
6
13
11
0
1
12
42
3
-8
46
-14
-1
-4
-14
0
10
-28
13
2
18
19
0
-1
-21
24
0
0
11
0
-9
-6
2
28
0
17
6
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-14
0
0
-6
0
0
2
2
0
0
-3
0
0
0
3
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
34
0
0
0
0
0
0
-12
0
-3
2
-2
0
-8
-49
0
0
0
0
0
0
17
0
0
0
0
0
6
-47
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
-12
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
3
0
0
0
0
1
0
-2
0
0
0
0
10
0
0
0
0
0
0
27
0
0
0
0
0
0
14
0
2
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
-9
8
-10
22
-13
-26
32
33
-33
23
-9
-14
5
-12
-29
6
3
-8
-4
-6
-11
50
9
-8
10
-7
9
-4
7
4
-10
-4
-12
-11
0
-1
-1
26
-6
-1
8
-40
1
-5
-6
-9
-10
7
-4
-78
-2
-58
21
-17
18
-13
21
-28
0
-57
14
-9
-7
31
17
46
-13
4
28
5
-36
-14
5
29
2
-17
8
-6
-3
-5
-47
-13
4
-33
-26
2
1
-50
-43
-11
-2
28
8
-21
4
-36
14
-5
0
-6
23
-18
-2
-26
0
-2
1
-14
6
-17
-2
-2
-20
0
23
54
21
9
-12
-11
-18
-14
-14
12
20
12
-11
10
-2
-37
-6
-2
34
0
-14
18
-19
14
-19
30
18
-1
2
14
-18
-23
55
45
6
-10
5
-34
6
16
53
9
1
-11
-41
-6
12
0
-23
-3
9
-2
-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
13
59
-1
-2
-11
14
-16
-2
-10
0
29
8
-16
-51
-34
-31
6
-10
-51
8
15
10
5
0
-25
28
7
0
0
-6
17
-2
2
16
-8
-1
3
-20
13
0
-8
30
1
48
14
-1
34
12
0
53
21
28
53
22
46
0
3
-18
7
45
27
-3
-16
7
12
-3
16
16
4
41
31
-2
-14
47
-3
47
20
12
8
0
-33
-51
-1
-5
5
-8
8
22
42
-7
-27
0
-2
0
-16
-3
17
32
0
-2
1
5
0
23
29
0
32
-44
0
0
6
-2
-41
39
11
16
-45
0
0
-103
13
21
7
25
14
-8
-9
15
-19
-27
11
-5
-18
1
-10
10
-33
-45
-11
12
22
-20
2
-5
-2
0
-25
8
15
3
-1
-23
63
2
0
21
0
5
1
-1
21
0
-51
-22
4
1
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
12
0
-2
0
-28
0
0
-14
17
0
-6
2
0
0
6
5
0
21
23
0
0
1
2
0
32
4
0
2
0
37
0
0
0
0
-44
0
-20
15
-3
0
0
0
8
11
10
7
0
0
0
-2
58
0
21
6
0
0
12
7
0
0
-16
0
0
31
-3
0
-3
-62
0
-3
-36
4
0
-2
87
0
0
0
-14
0
-1
-9
-7
0
0
-10
0
0
-7
0
-10
0
-52
0
-3
4
0
38
0
-1
-3
0
0
0
0
0
21
0
0
0
0
0
-4
-26
0
29
-11
0
0
4
3
0
4
-18
0
0
1
16
0
-8
56
-1
0
-12
-41
0
-19
-26
1
-2
0
-15
2
-9
-2
0
1
0
-16
0
3
2
0
1
0
8
0
4
0
0
3
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
-3
-12
0
0
-18
0
0
3
53
0
0
0
0
0
10
23
0
0
0
0
0
0
8
0
18
0
-10
0
0
2
0
0
0
0
0
0
-5
11
0
0
0
0
0
-27
0
0
0
0
0
0
-32
0
0
0
-3
0
0
34
0
0
-1
0
0
0
-16
0
0
7
0
0
0
-40
0
0
1
0
0
0
17
0
0
0
1
0
0
-59
0
0
0
0
0
0
8
0
0
0
0
0
0
12
0
0
0
0
0
0
32
0
0
0
0
0
1
-3
0
-1
0
0
0
0
3
0
0
-1
0
0
0
-33
0
-1
0
0
0
0
-6
0
0
-4
0
0
0
-61
0
-6
0
0
0
0
35
0
0
0
0
0
0
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
-32
-16
-14
27
-16
8
4
-53
15
0
19
1
3
2
-3
9
10
13
23
38
47
0
0
36
18
6
12
-38
0
5
-8
-23
-1
83
7
-16
11
8
13
-9
7
0
-12
3
-22
34
6
52
-3
31
2
2
9
-31
-1
12
-35
9
-2
-18
10
45
-2
52
2
-10
41
12
5
7
-4
16
0
-13
-1
-8
25
-1
18
0
1
-11
2
60
2
7
8
43
10
6
31
0
3
-36
2
-6
-2
-11
0
14
8
2
-12
-26
-1
15
-13
29
-7
58
0
0
-4
2
2
16
6
-25
0
-14
-19
-13
2
-12
-2
0
8
0
-2
11
-12
-30
-12
0
19
4
6
23
-3
-60
16
2
-4
8
-8
18
11
-8
-5
-2
-2
17
0
34
0
17
2
-24
53
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-63
-17
-31
-15
33
5
18
-3
-2
12
-24
-13
-20
-16
4
-14
-36
-1
8
14
-1
-3
-40
3
-22
3
13
-23
-50
0
-6
6
9
-5
-2
1
-20
-45
-5
-28
20
-30
28
26
-10
-21
12
5
69
-1
8
36
-1
8
0
18
39
19
10
-18
-11
2
-7
-17
4
-21
37
-19
14
-2
-4
35
-32
23
-38
-2
1
-35
-6
-14
-15
-28
2
-6
2
-7
-2
25
0
27
49
-8
-1
20
7
0
-15
-12
33
14
-22
-1
12
18
20
-7
27
2
4
30
-5
53
27
11
-25
6
22
0
17
6
-29
28
7
-33
-40
8
-22
-42
-18
21
11
-8
-46
-2
61
-9
-2
25
-4
-6
46
-47
12
1
3
-16
2
-16
7
4
55
0
21
34
-18
-12
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
-2
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
20
0
0
0
0
-9
0
0
0
0
0
0
5
3
0
0
0
0
0
23
0
0
0
0
0
0
11
0
0
0
0
0
1
11
0
0
0
0
0
2
19
0
0
0
0
0
0
51
0
0
0
0
0
0
6
0
0
0
0
0
0
12
0
0
0
0
0
0
-42
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
-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
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
29
0
0
0
0
0
0
-8
0
13
2
0
0
0
10
0
0
0
0
0
0
-52
0
0
0
0
0
0
-26
-7
0
0
0
0
0
-2
0
0
3
4
0
-7
-73
0
0
2
0
0
1
22
0
0
0
0
0
0
-18
2
0
0
0
0
0
-35
0
0
0
-1
0
0
-30
0
0
0
0
0
0
-24
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
-65
0
0
0
-3
0
0
-4
0
-1
0
0
0
0
56
0
0
0
0
0
0
37
0
-6
0
0
0
0
-8
0
0
-1
0
0
0
-10
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
12
15
0
38
33
-19
5
23
-3
0
23
-9
0
-24
-17
9
0
12
12
49
11
-4
-3
2
-1
17
0
-51
0
-2
12
15
-4
9
5
0
21
30
-8
-6
0
-4
-12
-10
9
24
-31
44
6
17
-22
0
13
41
1
-2
41
-7
0
-39
-12
7
0
6
8
-3
-20
1
8
46
56
-7
0
2
18
5
12
-30
-5
0
9
3
-1
39
-5
-3
1
6
0
-6
13
0
9
0
0
0
-1
-11
10
-3
-13
-7
-1
2
0
-3
-13
0
-29
-12
-1
0
-9
30
0
17
7
-13
0
-68
6
13
-20
-33
1
2
13
13
0
-36
7
24
19
27
-35
0
17
-36
-2
10
-3
5
0
0
-2
-8
-15
-13
-18
0
-47
6
1
4
0
-6
14
38
-6
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
13
-25
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-15
-11
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
-17
0
0
0
0
0
0
-25
0
0
8
0
0
0
-41
0
0
23
0
0
-9
-24
0
0
-4
0
0
0
1
0
0
-13
0
0
0
-15
0
0
0
0
0
0
-15
0
0
0
0
0
0
47
0
0
0
0
19
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-35
0
0
0
0
0
0
11
0
0
0
0
0
0
-34
0
1
-2
0
0
0
0
0
0
0
0
0
0
-12
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
-9
0
0
1
0
0
-8
-26
0
0
2
0
0
0
-16
0
-23
0
-6
0
0
-33
0
0
0
0
0
0
4
1
0
0
0
0
0
57
0
0
0
0
0
0
25
0
16
-1
3
0
13
-7
0
-1
-7
0
0
17
116
0
0
-5
0
0
0
-10
0
0
-9
0
0
0
-12
0
0
-1
8
0
0
-17
0
0
0
0
0
0
-27
0
0
0
0
0
0
-37
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
-3
0
0
0
0
-4
0
0
0
-11
0
0
41
0
2
0
0
0
0
-34
0
0
0
0
0
0
-26
0
1
-1
0
0
0
28
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
3
-21
0
0
35
0
-2
0
62
-3
16
19
-2
0
0
47
3
0
0
3
28
0
-5
-2
7
0
6
0
0
-17
0
-3
0
4
0
2
6
24
-3
48
18
0
13
19
-3
-3
38
0
0
-2
10
0
1
-2
8
0
0
-39
0
4
-7
0
0
0
-4
0
1
-90
-8
-11
0
-12
0
8
1
1
-27
0
-11
0
2
0
1
-43
0
-6
0
0
0
0
0
0
-4
-2
0
6
0
0
0
9
-9
30
-1
0
0
0
16
0
-4
-23
13
0
0
-18
0
-1
-9
0
0
0
-50
0
0
45
16
0
0
38
0
15
7
-2
26
0
-16
0
-2
-3
3
-1
0
5
0
-16
9
0
-21
0
20
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-8
11
-3
16
20
27
-9
33
-3
-14
-24
-17
-1
0
-21
-1
-1
13
-1
15
0
-55
-47
8
0
17
16
-2
6
49
0
-6
6
-3
-28
-6
-9
-15
-5
-13
2
-10
3
-4
16
-51
-29
-15
-38
17
-12
3
18
10
-43
-10
0
6
15
30
-48
-14
4
-9
-12
17
-51
16
50
-54
5
-6
-5
-32
-23
-9
-2
-1
18
4
4
-45
-4
0
-24
-20
-2
-1
4
2
-1
1
61
-2
-12
4
-3
86
35
24
-7
-11
-39
16
8
1
2
-63
24
-88
1
-26
-4
-4
-5
-9
-25
-12
-39
0
0
-15
2
34
10
-1
6
-2
-9
32
2
-2
8
1
2
41
3
-23
37
-1
8
-2
-10
10
0
31
0
-5
14
-12
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
15
0
0
0
0
0
0
9
0
0
0
0
0
1
42
0
0
0
0
0
0
17
0
0
1
0
0
0
11
0
0
0
0
0
0
-4
0
0
0
0
0
0
18
0
0
0
0
0
0
1
0
0
0
0
0
0
68
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-3
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
-1
0
26
1
8
0
0
-8
0
0
0
0
-2
0
18
0
0
0
0
0
0
-39
0
0
0
0
0
0
-28
0
0
0
0
0
0
-22
0
0
0
0
0
0
6
0
0
-8
0
0
3
38
0
0
-3
0
0
0
-6
0
0
0
0
0
0
-28
0
0
0
0
0
0
7
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
9
0
0
0
0
27
0
0
0
0
0
0
-4
0
12
0
0
0
0
-9
0
0
-1
0
0
0
44
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
12
16
0
0
13
2
7
-3
4
0
-25
0
9
18
0
-11
-3
0
0
-1
42
0
35
-40
13
0
24
-2
8
-10
16
-1
18
0
0
27
-9
-6
-21
-1
-4
-2
-31
14
0
0
32
0
0
-53
-16
0
19
-8
0
-1
-2
-13
-1
6
-11
15
0
0
29
8
0
-10
32
0
-3
-13
0
0
22
0
8
0
-26
-6
-21
-1
13
-7
0
30
-1
0
0
0
6
0
-2
16
-3
0
0
0
-4
10
0
-24
-11
0
0
15
1
-3
-24
-19
-20
0
6
-17
0
34
53
0
7
-1
-11
0
40
2
-10
0
13
4
0
23
16
0
-3
0
24
0
-3
-1
-37
21
0
4
-1
-2
0
-7
24
0
30
-13
2
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
0
0
-24
0
8
-2
0
1
0
-16
0
11
0
0
2
0
-17
19
-22
0
0
0
0
-8
-24
0
0
0
0
-21
20
-7
0
39
0
0
53
-5
0
0
1
0
0
-23
-21
0
-2
-5
3
0
23
22
0
0
8
0
0
-1
16
3
4
23
0
3
0
-25
0
0
3
0
1
0
-7
0
15
5
0
-31
0
-3
-1
-1
0
0
0
0
-13
-2
0
0
0
0
0
6
0
-31
-2
0
0
0
12
0
-3
-20
0
0
6
2
0
19
15
0
0
0
-8
0
-4
6
0
0
2
3
0
16
4
0
7
0
-13
0
0
-16
0
-9
0
-16
-2
-29
2
0
1
0
-16
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
-37
0
0
0
0
0
0
-8
0
0
0
0
0
0
-7
0
0
0
0
0
0
-39
-18
0
0
0
0
0
-1
7
0
0
0
0
-3
-35
-1
0
-2
0
0
-13
-10
0
0
4
0
0
3
-54
0
0
0
0
0
10
-45
0
0
0
0
0
0
32
0
0
-1
0
0
0
-44
0
0
0
0
0
0
19
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
-7
0
0
0
0
-20
0
0
0
0
0
0
-2
0
-7
0
0
0
0
8
0
0
7
0
0
6
34
0
-3
-15
0
0
0
-1
0
0
0
0
0
0
26
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
10
0
34
3
-7
3
0
38
0
0
2
0
-12
0
-26
-8
6
0
-7
0
0
-1
27
0
0
0
0
0
-26
1
24
5
9
11
-30
10
0
-1
-26
0
0
-5
38
0
-18
-25
-9
4
0
-2
0
0
31
0
6
0
36
0
9
11
23
0
0
-13
0
0
3
0
-1
0
-3
0
-6
0
5
19
0
23
0
0
0
0
0
0
-14
10
0
0
-1
0
0
-13
-1
51
42
0
0
-3
2
0
0
7
-18
0
-16
39
0
33
-45
0
-4
0
14
0
-2
10
-3
0
0
30
0
-76
8
-2
0
0
-2
0
4
-9
16
0
0
12
0
-31
13
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
-40
6
27
-3
7
-4
0
-38
-29
4
-3
24
-1
8
1
-4
15
18
-7
-20
1
-37
-8
-10
0
7
35
8
50
5
-27
-28
-14
-25
19
7
4
6
-26
-1
5
-38
-27
15
22
0
0
10
-10
14
7
5
6
34
-10
-13
11
0
-15
39
-6
18
-39
5
4
0
0
-26
-7
18
-6
16
-29
-12
10
-30
18
0
-1
27
-7
0
2
11
-3
16
23
-23
18
-28
-2
-34
0
31
-20
-24
-15
0
-21
-1
-13
-33
27
16
35
-21
5
-23
-25
-1
-13
-42
18
1
-38
28
-3
0
55
31
0
3
-36
-14
-5
-8
51
15
-2
-19
-24
-22
42
-22
-8
-3
-18
-10
1
-30
0
0
-14
-15
-7
22
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
1
0
0
0
0
0
8
-10
0
0
0
0
0
-2
0
0
2
0
0
0
-8
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
0
0
0
0
0
0
0
-1
0
0
0
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
32
0
0
0
0
0
0
21
0
0
0
0
0
1
14
0
0
0
0
0
0
-37
0
0
1
-3
0
0
3
0
0
21
0
0
0
28
0
0
-1
0
0
0
6
0
0
0
0
0
0
1
0
0
0
0
0
0
19
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
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
1
-43
0
0
-6
0
0
-1
0
50
0
-17
3
4
0
5
2
0
-8
5
2
-2
0
0
-9
8
9
6
20
-46
-6
-15
-7
0
10
-26
0
-2
-2
10
-6
12
19
-15
0
-5
-6
0
-6
-2
0
4
-2
-12
0
9
-3
-19
0
0
-4
0
0
1
0
9
4
33
-3
-1
0
-45
13
0
-1
-9
-10
0
0
0
0
27
-17
0
1
2
0
0
22
0
-32
15
0
0
-2
-21
0
5
8
2
0
-19
3
0
-62
2
0
-2
-9
20
0
-4
0
-7
1
0
-27
0
21
2
0
-4
0
-12
0
0
0
16
-24
0
-3
0
-36
0
0
-5
0
-19
-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
2
0
6
0
0
0
0
-8
0
0
0
0
0
0
-55
0
0
0
0
0
0
38
0
0
0
0
0
0
11
0
0
0
0
0
0
-24
0
0
0
0
0
0
-7
0
0
1
0
0
2
9
0
0
0
0
0
2
-23
0
0
0
0
0
0
7
0
0
-6
0
0
0
1
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
-6
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
-21
0
-2
0
-14
0
0
-25
0
0
0
0
0
0
24
0
0
0
-7
0
0
-45
0
0
0
0
0
0
-51
0
0
28
1
0
6
34
0
0
0
0
0
0
-25
0
0
-7
-6
0
3
4
0
0
-10
0
0
3
-16
0
0
1
1
0
0
40
0
0
8
0
0
0
-23
0
0
0
18
0
0
-4
0
0
0
0
0
0
-30
0
0
0
0
0
0
17
0
-4
0
0
0
0
-21
0
0
8
0
0
0
-5
0
0
2
0
0
1
-15
0
6
0
-1
0
0
47
0
8
-1
0
0
0
-4
0
0
0
1
0
0
-3
0
30
0
0
0
0
-17
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
-3
0
0
0
-28
-2
0
0
0
0
0
-16
8
0
0
0
0
-6
23
0
0
-2
3
0
0
11
0
1
0
0
0
1
-7
0
3
-19
27
0
0
24
0
-6
7
0
0
0
44
0
0
9
0
0
0
-66
0
0
1
0
0
0
-62
0
-1
-4
0
0
0
4
0
0
0
0
0
0
-20
0
0
0
0
0
0
21
1
-1
0
0
0
0
-37
0
0
0
4
0
0
26
0
0
0
0
0
-4
12
0
0
0
11
0
0
50
0
-1
0
0
0
0
-2
0
0
0
-12
0
0
-46
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
2
-36
-4
-2
-4
-3
-24
0
2
-15
28
0
-3
0
-4
19
18
4
-1
0
0
-5
3
20
-5
19
-14
7
-11
-18
15
19
0
-26
-8
51
8
0
7
5
-25
16
-31
2
0
-10
-13
44
12
16
-18
10
38
37
14
9
4
0
-2
-8
-2
-4
12
-1
4
3
-9
0
11
-15
0
-1
-1
-8
3
-10
3
0
-3
26
-6
14
-39
0
54
47
11
-13
40
-11
-2
49
-10
3
-15
-8
-22
0
27
9
-4
-23
8
-21
0
-53
-8
-8
8
-3
52
17
18
-13
0
0
65
-3
2
21
0
0
0
2
29
0
0
-2
0
-61
14
2
-2
0
23
45
3
-8
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-16
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
0
0
-2
0
0
0
2
0
0
0
0
0
0
10
0
0
0
0
0
-2
43
0
0
1
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
9
-2
-1
14
-2
-46
3
-32
-21
-1
0
40
-29
-7
7
7
10
-33
-1
-11
73
-11
-19
-18
-40
16
-4
0
-4
-1
-6
-5
35
55
13
-7
-3
4
9
43
0
-5
-18
11
-7
-25
-4
0
-8
-14
1
-19
2
4
25
11
-5
20
29
11
-3
-3
24
6
-18
7
-17
18
18
0
1
-25
9
0
0
-28
0
-3
-56
-34
14
2
0
3
-8
14
-12
81
20
-38
-51
-17
3
8
-75
45
-4
21
-11
-2
-39
-2
2
-14
34
-15
9
9
-17
13
-5
13
-4
0
10
-18
-15
1
-2
-9
-12
22
-24
-35
8
0
-16
-1
5
28
0
17
0
1
12
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
4
14
4
0
0
0
-2
-7
30
0
1
0
0
-7
15
-10
0
26
19
0
-18
4
0
0
-6
0
0
-24
12
0
-9
4
25
0
-10
-12
0
9
2
0
0
0
-46
0
0
0
-12
0
0
-28
0
0
0
0
0
0
-21
0
0
0
7
1
0
49
0
0
0
0
0
0
-6
0
2
-1
0
0
0
-6
0
3
1
0
0
0
-39
0
0
2
4
1
0
-14
0
-22
0
0
0
0
-3
0
4
1
2
0
0
-16
0
-13
-3
0
0
0
7
0
6
-3
0
0
0
-11
0
-5
0
0
-8
0
7
1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
1
0
0
0
-7
0
-23
7
14
0
0
0
0
-9
-19
0
26
0
0
11
31
10
-2
7
0
1
-56
-13
0
-1
-5
0
-4
-34
-10
0
4
25
0
-23
49
-1
0
1
56
0
-2
10
-43
0
0
30
0
1
0
6
0
0
-4
0
3
0
12
0
0
3
0
16
0
-6
0
-7
0
2
-2
0
8
-10
0
0
0
0
0
1
0
12
-7
0
0
0
-12
-2
7
-16
0
0
7
-4
-3
-22
34
0
2
-3
-29
0
-2
-16
0
2
0
-12
0
15
-10
0
-9
0
-8
0
-7
-9
0
0
0
17
0
32
0
0
27
0
-18
-27
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
42
0
0
38
1
0
28
-38
0
0
1
0
0
-6
68
0
0
-1
0
0
0
-22
0
0
-25
0
0
0
-39
0
0
13
9
0
0
23
0
0
0
0
0
0
23
0
0
0
0
0
0
-7
0
0
0
0
0
0
8
0
0
0
0
0
0
7
0
2
6
0
0
0
28
0
0
0
-6
0
0
52
0
-2
-6
0
0
0
37
0
0
0
2
0
0
-13
0
2
-1
0
0
0
29
0
0
3
3
0
0
-21
0
-1
0
0
0
0
19
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-3
0
0
0
0
0
1
-4
0
0
-4
0
0
0
-50
0
0
0
0
0
0
-39
0
0
0
-4
0
0
-45
0
1
0
0
0
0
11
0
0
0
0
0
0
11
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
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
1
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
18
-33
0
-7
0
-4
10
-1
-1
0
0
-1
7
-15
-44
14
41
-30
-19
13
7
-2
35
32
22
5
5
7
23
49
11
-65
4
6
-8
6
-11
12
-6
-16
-36
0
0
-11
-31
-15
-15
4
-22
0
-48
-8
2
-9
-1
0
-1
15
19
25
1
0
5
-3
-1
0
0
-2
-1
31
24
-39
-23
-12
0
-21
-29
6
5
-23
9
-10
37
11
1
-19
-47
53
-6
35
12
30
-4
42
3
2
-18
-28
-1
-55
45
10
-1
9
-30
0
-8
-5
51
-11
4
4
0
7
59
2
2
0
0
0
-3
1
1
3
0
12
-5
-8
0
20
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
3
0
0
0
16
0
0
0
0
0
0
-6
0
0
4
0
0
0
3
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
17
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
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-13
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
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
-26
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
4
0
0
0
0
0
0
-2
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
7
0
0
0
-4
0
0
53
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
2
0
0
11
7
0
0
0
0
0
0
2
0
0
0
0
0
0
33
0
0
0
0
0
0
26
0
0
2
0
0
0
24
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
64
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
-2
0
0
0
0
-7
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
1
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
8
0
0
0
-17
0
0
0
0
0
0
-13
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
1
0
0
0
23
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
40
-3
0
-2
0
0
-41
-3
-3
0
0
0
7
33
0
2
51
10
0
11
-1
0
0
-28
0
0
58
-37
0
-8
11
-10
0
59
-10
0
0
-7
-1
0
-9
-8
0
0
-7
21
0
-8
-25
0
0
-7
0
0
-8
29
27
7
0
34
0
0
-7
-1
0
0
0
0
0
-35
0
0
0
0
0
0
20
0
9
6
0
0
5
-49
0
0
2
4
0
12
-16
0
-21
1
0
0
-5
4
0
2
24
10
0
0
8
0
70
15
-1
0
0
-55
0
0
0
17
0
0
-37
0
-6
0
0
0
0
-2
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
25
-25
-9
20
29
-44
-21
19
-14
14
12
26
-15
-5
23
-50
9
22
49
22
-8
-47
-17
29
-13
35
-2
-20
2
-4
-2
-6
-6
-30
-18
8
16
7
0
15
19
8
-6
-76
-16
-6
-25
-35
-21
-2
-41
7
-2
26
1
0
-1
-45
-8
-4
-29
-8
-15
-70
-4
15
-30
-6
-17
16
26
-1
7
22
31
5
42
20
8
46
-47
-1
-29
-3
-2
27
42
-14
21
-2
1
-55
32
-10
-1
22
12
-17
3
-32
22
-68
34
-12
-7
-12
12
28
15
-3
6
4
25
19
7
27
-2
5
0
0
11
-37
-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
-31
-16
0
-17
0
0
-2
-20
-2
0
-24
-4
0
-25
18
0
0
27
0
0
54
-23
0
26
6
-67
0
12
-6
0
0
15
0
0
-2
33
0
0
58
14
0
2
-33
2
2
33
0
-3
0
41
0
-7
9
7
-27
0
-21
0
6
0
0
0
0
-63
-10
0
0
0
0
-4
-5
0
46
5
0
0
-3
-19
-6
-2
-3
0
0
0
6
0
28
-2
0
-1
0
-33
0
-8
-10
2
0
0
11
0
-23
0
0
0
0
-4
0
-6
26
-2
8
0
-11
0
-37
-6
0
-3
0
13
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
0
0
0
0
1
38
0
0
0
23
0
0
-60
0
0
-30
0
0
-16
-33
0
7
16
-5
0
19
-3
0
-3
16
2
0
0
37
0
0
4
7
0
0
18
0
0
0
0
22
0
50
0
-1
0
-4
18
0
-37
0
0
0
0
0
0
9
-7
0
0
-2
0
0
28
0
4
4
0
0
-4
-86
-3
0
27
-2
0
-4
-9
0
-35
-11
0
0
0
-51
0
0
4
-2
-1
0
52
0
-1
0
3
0
0
19
0
0
0
10
0
0
-103
0
0
0
1
0
0
37
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-3
43
0
0
-1
0
0
-6
6
0
0
-4
0
0
18
28
0
-1
-6
0
0
-21
-11
0
0
-3
0
-12
0
-2
0
0
4
0
0
0
-53
0
0
10
0
13
0
-7
0
-1
0
0
-1
0
10
0
0
0
0
0
0
32
0
0
0
0
0
0
-1
0
-6
0
0
0
0
59
0
1
0
0
0
0
24
0
10
0
0
0
0
45
0
7
-4
0
0
1
10
0
-2
0
0
0
0
-22
0
0
0
0
0
0
-17
0
3
0
0
7
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
11
0
0
0
0
0
4
-19
0
0
1
0
0
6
8
0
0
0
0
0
9
35
0
0
2
0
0
0
-7
0
0
0
0
0
0
7
0
0
0
-2
0
0
-37
0
0
0
0
0
0
5
0
0
-2
-1
0
0
23
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
4
0
0
0
0
-12
0
0
0
0
0
0
4
0
6
0
0
0
0
-2
0
0
0
0
0
0
19
0
-4
0
0
0
0
23
0
0
0
0
0
0
-16
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
0
0
9
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
18
0
0
0
0
0
0
68
11
0
0
0
0
0
11
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
-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
-12
-6
10
19
37
18
-12
13
8
25
29
46
-23
9
66
-10
-30
-2
-4
-32
15
8
22
2
16
8
15
-34
10
-1
-10
-7
-35
10
-31
-18
5
-29
1
13
-25
-5
42
3
-4
-35
17
11
6
1
18
62
1
-2
-34
24
7
0
-10
18
-7
3
0
40
-13
67
-8
-29
5
39
18
7
-9
41
15
10
18
5
10
27
0
47
7
38
-26
0
14
11
1
-14
66
-23
9
-2
16
-30
8
34
-64
-2
3
9
14
6
33
-33
-5
3
-9
18
43
30
0
23
22
-23
-5
-18
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-6
19
0
7
38
-1
0
32
0
0
-17
5
0
-18
20
0
0
-5
15
6
-1
-13
0
0
2
13
2
-9
10
-3
2
0
-26
0
0
-25
0
4
-4
0
0
0
0
1
2
0
16
0
2
0
0
0
0
29
0
4
0
6
0
0
57
7
-28
-5
0
0
0
-48
-3
-11
43
0
0
-1
-27
0
-29
33
0
0
0
-16
0
7
-16
-13
0
0
-28
0
21
0
0
0
0
-15
0
0
-11
1
-1
0
-8
0
-28
15
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
1
0
0
3
0
0
0
-1
0
0
19
0
0
0
11
0
0
0
0
0
0
19
0
0
-2
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
7
0
-45
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-7
0
0
0
0
-9
0
0
-6
0
0
0
7
0
0
0
0
0
0
-1
0
15
0
0
0
0
5
0
0
0
0
0
0
11
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
2
-2
0
11
16
0
0
1
0
0
2
57
0
0
-14
0
0
2
25
0
21
-2
0
0
0
-10
0
0
1
-1
0
3
-57
0
0
0
0
-10
0
99
0
0
0
-4
1
0
21
0
0
0
0
0
0
22
5
0
0
0
0
0
-8
0
0
0
0
0
0
-11
0
0
0
0
0
0
47
0
6
0
0
0
0
-2
0
0
0
0
0
0
-6
0
-3
0
2
0
0
48
0
0
0
0
0
0
16
0
5
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
64
0
0
-11
0
0
0
74
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
2
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
-1
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-3
0
0
0
0
0
0
-15
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
-1
0
0
0
0
-4
0
0
0
0
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
52
0
-1
1
0
0
12
-29
0
0
-14
1
-7
0
8
0
-1
12
0
0
0
-23
0
-1
24
3
4
-2
-17
0
-3
7
0
-11
0
36
0
-1
0
1
3
0
41
0
0
0
0
0
0
14
-23
8
0
0
0
0
-21
1
-5
0
0
0
0
-8
0
-2
-1
2
0
0
14
0
15
-8
0
0
27
23
0
0
-1
-8
-2
0
-30
0
-34
0
0
0
0
15
6
-1
0
3
0
0
-13
0
17
0
0
3
0
37
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
36
1
23
-19
-33
2
-22
-63
0
21
26
5
-1
-2
11
-26
-55
-18
-9
2
-2
-19
4
42
-20
44
8
0
12
2
31
5
-5
6
-1
-3
33
38
-7
0
-30
-25
-3
1
-13
-16
10
10
29
-24
-48
-1
2
-7
0
-52
-8
-35
8
2
-26
-7
41
-16
6
-49
4
-78
19
32
-30
-60
-14
11
59
0
27
-35
-32
7
28
-15
14
1
19
-13
-33
-16
-30
-5
2
13
-5
16
40
-8
1
0
27
-37
4
10
0
-15
18
-8
6
-21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
20
0
0
3
0
0
12
-27
6
-9
45
4
0
-4
49
0
0
8
0
0
-3
11
0
0
0
-3
0
0
28
0
0
0
0
-1
0
13
0
0
0
0
-16
0
27
6
0
0
0
0
0
-9
15
0
0
0
0
0
10
8
21
0
0
0
0
48
0
-4
8
0
0
0
42
0
17
-1
0
0
0
-6
0
1
2
3
0
0
15
0
5
0
0
0
3
3
0
0
2
0
0
0
25
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
25
6
0
0
-25
0
0
1
37
0
1
-28
-11
0
-1
-14
0
0
19
0
0
0
16
0
0
-4
24
0
0
43
0
0
0
0
-9
0
-72
0
0
0
8
33
0
-18
0
0
0
0
0
0
-4
17
0
0
0
0
0
37
0
-15
0
0
0
0
-57
0
0
0
6
0
2
13
0
-3
21
0
-1
-1
-52
0
1
0
0
0
0
15
0
19
3
0
0
0
-24
0
0
15
4
0
0
8
0
-3
-2
0
0
0
31
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
16
-9
0
44
30
0
5
59
-42
-7
-16
29
-1
-5
5
3
-11
5
-22
0
-33
11
18
-28
0
-7
0
3
-4
3
16
0
2
0
-9
-17
38
16
0
-11
-7
0
0
0
13
0
10
-18
0
0
0
0
0
13
-13
-34
6
0
0
26
6
-4
25
3
0
0
5
-2
0
-1
21
0
-2
-11
-10
1
9
-41
1
0
-8
26
0
0
0
4
-7
0
13
0
17
5
-13
-4
0
33
0
-56
-8
0
-2
0
18
-16
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
4
0
4
-2
1
0
16
-23
0
0
-32
0
0
42
-9
0
12
-35
0
-8
16
-2
0
0
11
0
0
0
-23
0
0
-21
0
-10
0
2
0
-1
-9
0
9
0
-1
2
0
0
0
0
0
19
-1
0
0
0
0
7
-2
0
14
29
0
0
4
20
0
0
53
0
0
-7
-49
2
-42
16
0
3
0
2
0
27
10
0
0
0
19
0
-23
2
0
-2
4
-20
0
0
-3
0
0
0
8
0
-40
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
2
0
0
-23
0
0
0
0
0
0
54
0
0
0
-3
0
0
-60
0
0
0
0
0
0
10
0
0
0
0
0
0
33
0
0
0
0
0
0
14
0
0
0
0
0
0
-3
0
-2
0
0
0
0
28
0
1
0
0
0
0
34
0
4
0
0
0
0
16
0
0
0
-1
0
0
-16
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-1
13
-13
28
-28
7
2
-1
4
-2
0
37
0
0
22
1
4
0
-6
0
0
-1
0
-23
0
25
3
-10
3
4
8
0
10
2
-4
0
-7
-2
0
11
4
-1
-1
-3
0
0
-8
0
-9
-8
0
0
0
18
-16
46
-45
-5
0
7
8
0
-35
-79
0
0
-6
21
0
3
-32
21
0
0
-12
0
51
23
0
-3
0
32
0
0
4
28
3
0
7
0
27
0
1
61
0
22
45
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-18
-10
-28
-22
-3
10
-22
-10
-17
-1
-37
-39
8
-7
-28
31
5
-37
-7
5
-23
-51
25
31
-26
2
1
8
-64
30
-10
-9
0
12
13
-33
0
34
-33
8
9
6
-22
32
-3
-3
12
35
72
5
25
-4
-7
-59
0
-28
-9
-29
20
-1
21
4
-58
8
9
4
-17
25
26
-33
-12
30
26
15
-35
7
-13
-15
-3
-10
12
-8
8
31
1
1
18
31
4
-3
35
-16
11
12
-1
0
27
-10
-19
-70
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
-2
25
0
0
0
0
0
0
-1
0
0
0
18
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
43
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
-4
0
0
0
0
-16
0
-1
0
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
0
0
0
14
0
0
0
0
0
0
3
0
0
0
0
0
0
-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
-6
8
0
0
-1
0
0
7
46
0
0
-18
0
0
0
-7
0
0
0
0
0
0
-43
0
0
0
0
0
0
16
0
0
0
-2
-1
0
46
0
0
0
0
0
0
2
0
0
0
0
0
0
-26
3
-3
0
0
0
-3
-36
0
0
0
0
0
0
-28
0
0
0
0
0
0
15
0
0
0
0
0
0
-23
0
0
0
0
0
0
-3
0
0
0
0
0
0
-48
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
42
42
-8
22
-21
0
21
-2
-3
4
10
-7
0
12
29
29
0
-3
-12
0
13
24
-1
-21
0
13
0
-1
9
35
-28
0
6
0
0
0
0
13
0
33
-23
3
0
0
0
0
62
9
-38
0
0
0
-3
-2
0
-43
51
-4
0
0
1
-4
22
-16
-3
0
24
-44
3
15
5
-51
0
-3
20
0
-31
13
-12
-3
-1
29
0
-1
-9
10
-6
0
0
0
19
0
0
-8
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
8
7
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
2
0
0
0
34
0
0
0
0
0
0
-4
0
0
0
0
-6
0
-33
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
15
0
-6
0
0
0
0
2
0
0
-3
0
0
0
-3
0
0
0
0
0
0
-33
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-4
0
0
-9
0
0
0
10
0
0
0
0
0
0
-1
0
0
2
0
0
0
20
0
0
-2
20
0
0
33
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
-4
0
0
0
0
-16
0
0
0
1
0
0
85
0
1
0
0
0
0
3
0
0
0
0
0
0
17
0
-3
2
0
0
0
19
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
1
-8
0
6
-85
6
0
0
1
0
12
-41
-19
1
0
37
6
-1
-12
0
-28
1
5
-1
0
-1
6
-3
0
6
-10
3
0
-1
0
0
3
-23
0
0
-2
0
0
-27
0
20
19
0
1
0
38
1
-16
23
3
0
0
0
0
-27
-15
0
-4
0
12
0
7
-9
12
0
-3
5
0
-27
-20
8
-2
-9
12
-2
-2
3
-18
3
0
27
0
60
-3
0
33
0
-11
-22
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
56
-5
14
64
-23
61
4
-10
-2
21
6
-57
23
26
-9
-19
24
-50
-31
6
-16
-32
58
28
5
7
2
9
-22
-3
-1
-7
-64
-1
-23
6
3
-37
52
0
-21
15
-85
-3
13
-10
3
-27
24
-2
1
47
22
-14
-35
0
-17
-8
14
-11
0
108
-17
47
-35
-13
43
36
-26
10
14
-24
9
38
-20
-5
18
-2
-36
29
22
33
-8
8
-6
-25
9
5
9
0
5
2
14
-26
4
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
-1
0
0
0
21
0
0
0
0
0
0
-4
0
0
0
0
0
0
28
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-8
0
0
0
0
1
0
-8
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
-20
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
-36
0
0
32
7
0
0
-8
0
0
0
0
0
0
34
0
0
0
0
1
0
-24
0
0
0
0
0
0
3
0
0
0
0
0
-4
2
8
2
0
0
0
0
-8
0
0
4
-4
0
0
8
0
11
0
0
0
0
-21
0
0
1
-1
0
0
-3
0
-9
0
0
0
-7
-34
0
0
0
1
0
0
45
0
22
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
0
0
0
0
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
16
1
-7
14
2
-8
-80
-13
0
-2
-27
3
-1
0
-3
0
-23
-34
-4
27
0
-11
3
27
-12
-19
37
0
6
0
0
0
9
2
0
3
54
0
1
-4
0
4
3
7
-18
4
0
0
3
-19
0
-11
0
12
0
-2
25
13
32
-4
-1
0
10
17
0
19
18
15
0
0
-14
0
8
16
-1
-19
-1
4
0
7
7
95
13
0
0
0
45
0
0
-4
0
7
-18
3
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
-3
-17
0
-4
25
0
0
0
5
0
0
24
-3
0
-2
-51
0
0
7
0
5
3
20
0
0
0
0
29
0
0
0
0
0
0
0
0
-16
-8
0
0
0
0
0
-1
0
18
2
0
0
4
-8
2
0
-40
0
0
33
-12
0
47
44
0
0
-2
-23
0
3
10
2
0
3
4
0
16
1
0
-1
0
-26
0
12
0
0
3
0
9
0
36
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
-1
0
0
6
0
0
0
-32
0
0
0
0
0
0
-32
0
0
0
0
0
0
14
0
0
0
0
0
0
18
0
0
0
0
0
0
-4
0
1
0
0
0
0
-33
0
0
0
3
0
0
-9
0
0
0
0
0
0
-18
0
0
0
0
0
0
-43
0
-3
1
0
0
0
56
0
0
0
0
0
0
-16
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
7
72
0
-2
7
42
-9
0
-36
0
0
0
0
8
-3
13
0
-1
-9
18
9
0
-15
0
0
0
0
0
0
3
-1
0
0
0
0
0
-8
0
-42
1
0
0
0
-87
0
-14
13
24
0
0
-6
0
42
46
-10
0
0
-29
0
5
-30
-8
0
0
40
3
51
2
0
0
0
36
0
-8
14
-38
0
0
13
0
67
0
0
6
0
-8
6
-2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-44
10
24
-30
76
-3
-6
5
28
16
-33
-2
-4
-23
13
13
-7
-9
-1
10
-74
56
0
23
-24
-3
19
11
10
2
10
0
82
16
39
13
26
4
-5
42
3
-3
0
4
7
4
-2
3
3
-28
2
25
-42
24
0
16
21
14
26
0
-43
9
0
-11
-52
11
31
-14
11
1
-12
1
4
23
30
2
0
-67
-19
-27
-7
0
-3
-16
0
51
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
0
0
0
-14
0
0
0
0
0
0
13
0
0
0
0
0
0
-18
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
-32
0
0
-16
1
0
0
-4
0
0
0
0
0
-1
-9
0
0
-6
0
4
0
-9
0
0
0
0
0
0
-54
0
0
0
0
0
0
-3
0
2
0
0
0
0
49
0
0
-4
0
0
0
17
0
0
0
0
0
-9
-27
0
0
0
-1
0
0
-53
0
14
0
0
0
0
-31
0
0
-3
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-12
23
0
13
-32
0
9
0
0
-38
0
5
-1
-4
4
26
-5
0
16
0
0
0
0
1
-1
31
-7
-1
0
7
0
0
-10
-6
41
-3
-9
0
-3
-12
0
8
2
-15
0
14
28
0
19
1
1
0
19
3
-4
-47
0
53
0
0
13
0
-7
22
0
0
0
-13
-1
-6
-1
38
-1
0
11
0
3
0
0
2
0
16
-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
30
0
0
-1
0
0
0
-24
0
0
-3
0
13
0
-9
0
0
0
-1
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
-9
0
0
0
0
15
0
0
0
0
0
0
49
0
0
0
0
0
0
-17
0
0
0
0
0
0
39
0
-2
0
0
0
0
-17
0
0
0
0
0
0
-13
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
-39
0
0
1
0
0
0
-24
0
0
0
1
0
0
53
0
0
0
0
0
0
-8
15
0
0
0
0
0
7
0
12
0
0
0
0
47
0
0
3
0
0
0
-26
0
6
0
0
0
0
-20
0
0
7
0
0
0
-44
0
-6
0
0
0
0
36
0
0
0
0
0
0
-2
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
-4
0
0
0
35
0
0
0
-1
10
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
0
0
0
56
0
1
4
0
0
0
3
0
-6
0
0
0
0
46
0
12
-8
-1
0
0
21
0
20
0
0
0
0
51
0
0
0
0
0
0
45
0
-3
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
54
3
27
-3
25
25
48
-21
35
-12
22
-12
-16
22
1
-19
-8
23
1
0
-24
11
3
30
-17
9
21
0
41
-7
-25
-19
30
1
-3
29
7
9
28
37
-11
0
-21
6
-8
1
32
21
-25
-53
12
-1
-21
-11
7
-26
16
0
4
3
-35
-13
9
4
-9
-8
-3
-54
30
77
-1
23
0
-28
-4
-16
-40
0
6
17
11
-26
-25
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
-26
0
0
0
0
0
0
-40
-1
0
0
0
0
0
-1
0
1
0
0
0
-1
2
0
0
0
0
0
0
-31
0
-4
0
0
0
0
16
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-13
0
0
11
0
4
0
-8
0
45
17
0
-22
-9
3
0
0
0
0
5
1
0
0
-6
0
0
-25
0
43
29
0
0
13
32
-2
-20
46
-2
0
0
12
3
-28
4
-10
-4
1
24
0
12
7
7
0
4
-24
0
33
0
3
0
0
10
0
-1
-1
-4
-6
0
2
0
44
0
0
20
0
-25
-30
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
-21
0
-3
0
0
-37
0
25
0
-6
0
3
0
0
0
0
-1
60
0
-7
0
0
0
12
-4
-2
17
0
0
-24
29
0
-15
-2
0
0
-3
-11
6
40
34
0
-2
10
0
3
10
-16
0
0
-3
-4
0
-32
6
0
7
0
1
0
0
-13
0
-2
0
-47
0
-50
1
0
6
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
44
0
0
0
0
0
0
10
0
0
0
0
0
0
29
0
0
0
0
0
0
-20
0
0
0
0
0
0
12
0
22
0
0
0
0
-4
0
0
-11
0
0
0
-30
0
-12
1
0
0
0
-11
0
0
0
0
0
0
-39
0
-6
1
0
0
0
15
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
26
0
0
0
0
0
0
17
0
0
0
0
0
0
-7
0
4
1
0
0
0
22
0
0
0
0
0
0
5
0
0
0
0
0
0
-19
0
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
-1
0
0
-43
0
4
0
0
0
0
-16
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-20
-43
35
1
0
-1
-7
33
-1
1
-17
-1
15
-14
22
12
47
19
-8
-16
18
-26
-39
-2
17
6
20
69
-7
-3
43
0
34
15
-23
-7
25
68
18
-4
-11
-2
-25
-57
-19
-11
25
-8
-20
22
10
50
19
50
0
-2
49
36
27
7
16
-8
-9
-37
-13
7
31
-1
11
-54
16
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-38
0
0
-9
0
1
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-35
0
-6
0
0
0
0
-8
0
0
0
0
0
0
57
0
0
0
0
0
0
-40
0
0
0
0
0
0
-3
0
0
0
0
0
0
25
0
0
0
1
0
0
1
0
-42
0
0
2
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
-19
-4
7
0
0
0
0
31
0
0
0
0
0
0
32
0
30
0
0
0
-6
29
0
0
0
0
0
0
6
0
-12
0
0
0
0
-21
0
0
0
2
1
0
-10
0
-6
0
0
0
0
-37
0
1
0
7
0
0
35
0
-7
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
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
18
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-14
0
0
2
-10
0
0
0
0
0
53
-7
0
0
0
0
0
7
0
0
0
0
0
0
21
0
0
-9
1
0
0
-17
0
4
0
0
0
0
-35
0
0
0
0
0
3
-1
0
3
-10
0
0
0
22
0
-1
-1
16
0
0
22
0
15
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
13
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-6
0
-1
0
0
0
0
0
0
0
0
-1
0
0
10
0
1
0
0
0
0
8
0
0
0
0
0
0
38
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-2
3
-3
-3
-10
-5
5
-15
27
0
8
28
46
38
-58
6
-2
24
0
46
31
60
35
2
48
-5
8
-3
-5
2
6
24
-19
-1
-38
73
-25
0
-15
3
0
-11
-3
-15
2
9
15
0
-10
33
30
-16
-4
0
0
-18
2
-11
0
0
9
30
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
-21
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
-2
0
0
0
0
56
0
0
0
0
0
0
31
0
1
0
0
0
0
-24
0
0
0
0
0
0
-46
0
-6
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-30
0
0
0
0
0
0
-10
0
-4
-3
0
0
0
-27
0
0
0
-3
0
-2
-20
0
0
0
0
0
0
-14
0
-2
0
0
0
0
28
0
10
0
0
0
0
34
0
0
2
4
0
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-27
-4
0
0
0
0
0
11
0
43
-2
0
0
-2
9
0
0
-2
7
0
-1
-31
0
44
-14
0
0
9
3
0
-6
12
0
0
0
31
0
-16
2
0
0
0
-49
0
0
0
0
1
0
-9
0
-27
1
0
0
0
3
37
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-18
5
0
6
0
0
0
19
3
0
0
0
0
8
4
0
2
19
8
0
2
7
0
-8
-2
0
0
0
-22
0
0
-28
1
0
0
35
0
-25
7
0
0
0
30
7
-2
5
-1
0
0
-11
0
85
12
-3
0
0
10
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
-22
14
-15
1
-10
-1
-6
1
16
15
-16
63
30
25
-5
53
-19
-6
-28
2
24
34
15
108
29
-16
1
-14
62
15
-9
0
-22
-10
-7
4
32
15
6
7
-24
11
-36
-27
-15
-22
12
4
0
49
44
-15
17
0
0
-1
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
8
0
0
0
0
-2
0
0
0
0
0
0
-16
0
-6
0
0
0
0
-5
0
0
0
0
0
0
-6
0
2
0
0
0
0
19
0
0
0
0
0
0
33
0
-2
0
0
0
0
-78
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
-1
0
0
0
0
9
0
0
0
0
0
0
-6
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
2
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
7
0
-3
0
0
0
0
14
0
0
0
0
0
0
-26
0
1
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-23
0
0
0
0
0
0
-53
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
-2
0
0
0
0
0
0
0
0
12
0
0
0
0
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
20
25
5
0
23
14
6
-9
36
-18
0
53
-3
0
-7
27
8
-18
34
-14
0
-4
-3
40
6
-24
5
0
6
-4
-4
-42
50
22
1
39
-45
-15
-32
-3
-1
-1
-1
4
0
47
0
-14
37
-7
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
11
0
-1
10
0
0
0
-47
0
0
4
-2
0
0
-40
-10
4
-1
2
0
0
9
0
0
0
0
-7
0
13
0
13
0
0
0
0
-34
0
3
1
0
0
0
-13
0
0
0
0
0
0
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
-2
0
-3
0
0
0
0
29
0
-2
0
0
0
0
1
0
0
0
-4
0
0
-11
0
6
0
0
0
0
-3
0
0
0
0
0
0
52
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
8
0
1
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
-8
0
0
0
0
0
0
-6
0
0
0
2
0
0
46
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-10
0
0
1
0
0
0
6
0
-1
0
0
0
0
30
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-3
0
0
-1
0
-1
0
0
0
0
-30
0
0
0
0
0
0
25
0
0
0
0
0
0
41
0
0
0
0
0
0
-39
0
-1
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
71
9
-6
35
14
-12
0
-42
12
1
-10
39
20
-8
-4
29
0
17
23
13
-3
-3
9
0
-19
-16
0
0
6
8
0
-7
6
-5
15
0
-1
0
22
0
0
-10
0
-17
9
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
40
0
0
0
0
0
0
21
0
0
0
0
0
0
38
0
0
0
0
0
0
-19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
21
0
-10
92
-13
-3
13
-42
0
38
7
0
0
17
-26
0
-29
61
34
0
-3
-7
0
60
-19
4
21
19
-5
0
-6
-6
4
1
0
24
0
-28
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
1
26
0
-13
0
0
0
0
50
0
-4
-10
0
0
0
77
0
-9
0
0
0
0
-26
0
0
0
1
0
0
38
0
-7
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
9
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
-4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
47
0
0
-2
4
0
0
-44
0
0
0
0
0
0
-15
0
0
0
0
0
0
-5
0
17
0
0
-18
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
45
-5
5
-1
-11
-9
-7
-9
-49
38
0
55
-8
0
-12
15
-2
4
-47
-4
0
-18
24
51
9
3
19
19
-24
6
0
60
0
32
-38
-10
-56
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
3
0
0
0
0
0
0
16
0
0
0
0
0
0
6
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
19
16
0
0
0
8
0
0
-10
-3
0
0
29
0
-9
6
-3
0
0
-13
0
0
0
-1
0
0
71
0
-23
0
0
0
0
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
38
0
0
0
0
16
0
9
7
-3
0
0
2
0
22
0
1
-2
0
-7
0
0
0
3
0
0
7
0
-18
0
0
3
0
-33
1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
32
0
2
0
0
0
8
56
0
10
-2
0
0
0
-30
0
-11
-1
0
0
0
-34
0
0
0
1
0
0
2
0
30
0
0
0
0
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
0
6
0
0
0
0
15
0
0
0
0
0
0
48
0
-3
0
0
0
0
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-34
-55
16
3
14
-1
-6
9
3
-14
7
15
6
39
-26
-49
44
-1
21
0
41
0
0
-25
-1
6
-5
38
-4
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-12
0
0
-6
29
0
-3
15
0
102
39
0
-17
0
31
0
-2
3
-12
0
0
14
0
-2
0
0
-13
0
-10
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
14
0
3
-4
2
1
0
-2
0
6
-1
0
-1
0
-42
0
0
0
6
1
0
19
0
19
0
0
0
0
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
7
1
0
0
0
-49
0
0
0
-3
0
0
-12
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
37
-10
6
10
65
-21
-26
13
-15
-7
-21
10
-10
-12
0
0
-1
-42
40
1
-28
0
-18
32
41
-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
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
15
0
4
0
0
35
0
0
-7
2
0
0
29
0
1
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
-6
-26
0
-12
2
-3
0
0
-38
0
0
4
12
0
-4
33
0
30
0
0
0
0
40
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
1
3
0
0
0
-37
0
7
0
0
0
0
50
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
0
0
0
0
2
0
0
0
0
0
0
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
3
0
0
-77
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
10
-4
12
64
7
33
9
-11
13
0
-13
24
2
13
0
8
3
-33
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
3
0
0
-17
-1
6
-3
2
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
16
0
0
-14
0
27
0
1
2
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-67
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
4
0
0
-6
0
-4
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
10
-2
-3
0
-25
11
29
-6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
1
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-10
0
0
-2
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
97
-11
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
-30
0
6
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
69
4
-16
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-7
0
0
0
2
0
0
-5
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-27
0
0
0
0
0
4
-1
0
2
0
0
0
-2
17
0
0
-1
0
0
0
-15
0
0
0
0
0
0
34
0
0
1
0
0
0
3
0
1
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
-4
0
0
0
0
0
0
55
0
0
-8
0
0
0
0
0
0
0
0
0
0
15
0
0
-6
0
0
0
12
0
0
0
-1
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-6
-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
-14
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
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
-26
0
0
-2
-6
0
10
-4
4
0
0
0
-9
-1
-3
0
0
0
0
0
2
0
0
0
0
0
7
0
0
0
0
-47
0
0
22
0
0
-8
0
0
0
0
0
0
14
0
0
0
0
1
0
0
0
33
0
0
-10
0
0
0
-27
0
0
19
0
0
0
57
-2
-6
30
-6
0
0
-12
0
17
4
0
0
0
4
4
-23
0
0
0
0
0
0
35
0
4
0
0
0
0
27
0
0
-8
0
0
0
-9
0
0
-7
-6
-4
0
0
16
-12
0
0
0
0
0
42
18
0
-7
25
40
0
-30
37
0
0
64
0
0
9
-60
0
0
8
-20
0
-26
24
0
0
34
0
1
0
6
0
-18
0
-1
0
0
-3
2
0
0
0
-2
0
-13
30
0
0
0
0
0
0
42
0
-7
0
0
0
22
0
0
-7
0
0
-16
14
0
0
11
0
0
26
43
0
0
3
-21
0
25
-44
0
0
21
0
-1
16
19
0
0
2
-33
0
0
-27
0
-2
-3
0
1
0
-3
-1
-1
0
-3
0
0
16
0
-7
0
0
0
0
0
24
2
0
0
0
0
8
0
0
0
0
0
0
-19
0
0
-8
0
0
0
-36
0
0
-2
0
0
-4
28
0
-4
-16
3
0
0
4
3
0
0
0
0
0
31
0
0
0
0
0
0
-39
0
-48
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-17
19
-41
1
18
-53
27
0
0
0
0
0
0
0
14
4
-18
20
7
13
-10
10
16
-11
-9
27
-5
-2
-1
6
-15
-49
-65
9
5
32
40
-10
10
-8
-22
-17
-27
-7
-38
-4
-44
-4
-14
-19
-25
0
-50
47
-22
-8
18
6
34
-52
-6
-67
-7
-20
6
-21
26
-3
-2
13
8
-6
-8
75
6
1
-17
14
23
-35
32
20
-1
20
4
-12
-32
-3
-5
-35
-1
-14
-9
-15
-44
-4
-10
0
-14
-27
48
-23
0
16
-4
76
0
28
-36
43
-1
0
-47
6
-18
-48
-61
16
0
-13
2
-22
-9
10
20
-52
-11
7
24
-19
-1
28
76
-22
4
6
-9
4
-2
-36
6
3
12
-9
-2
26
-5
-1
6
8
36
-1
-11
-42
-9
-1
28
-31
-1
49
-4
-23
0
32
0
-3
-3
17
-8
-3
-6
-1
-3
45
-7
10
4
-4
-23
-50
9
-13
-47
3
-41
2
15
22
-21
-17
4
-12
30
-10
20
-6
-14
2
26
9
1
-24
15
-17
4
-13
12
10
-3
-1
7
-3
16
-25
7
-12
-42
-12
2
-57
-22
3
8
-3
-12
3
-8
4
-11
-28
-9
2
0
-11
40
-26
-3
-1
-2
-2
-11
-9
-5
-4
-2
-31
21
-23
-7
-15
18
-37
-7
7
11
18
-10
79
-21
-9
2
-3
3
-6
2
30
-7
-5
51
-25
-10
-54
2
-7
-10
0
6
-22
9
14
-7
3
-30
-14
-9
-43
10
-25
0
-45
-4
-35
-8
-3
16
-3
-12
-17
-12
-47
5
-8
-9
-14
10
-9
-19
21
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-27
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-22
0
0
0
0
0
-1
0
0
0
3
0
0
-1
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-14
0
0
0
0
0
0
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
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
12
0
0
9
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
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
74
0
0
0
0
0
0
0
0
0
0
-45
0
2
-3
0
0
0
-1
0
0
0
0
0
0
0
-2
0
0
0
4
-1
0
0
0
0
0
-4
0
0
0
0
-12
0
0
-2
0
0
-36
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
2
0
0
16
12
0
0
-2
0
1
20
3
0
0
-16
6
0
39
-3
0
0
0
0
22
-18
0
0
0
-1
-1
2
21
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
1
0
0
0
-46
0
39
0
2
-3
0
0
0
12
0
0
13
0
0
11
-28
0
-21
10
0
0
31
37
0
0
5
0
0
-54
34
0
0
19
-3
0
0
33
0
0
-8
0
0
0
11
0
44
0
1
0
0
-27
0
0
0
0
0
0
40
-1
0
0
0
0
0
27
0
0
0
0
0
0
62
0
2
-5
0
0
-2
-30
0
0
1
0
0
-9
-8
0
0
0
7
0
1
-5
0
0
27
0
0
0
10
0
0
-10
-1
0
0
31
0
0
-4
0
0
0
-3
0
0
0
1
8
0
-25
0
0
0
0
0
0
30
-1
0
0
0
0
0
-4
0
0
0
0
0
0
-22
0
0
0
0
0
-1
-67
0
4
0
0
0
0
77
0
0
-11
-8
0
0
-52
0
0
-1
0
0
0
44
0
0
0
0
0
0
1
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-88
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
1
0
0
-3
0
0
0
-10
0
0
19
0
0
0
0
0
4
-6
0
0
0
-1
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
12
0
0
0
0
0
-6
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-19
-5
0
0
-3
0
0
0
37
0
0
0
0
0
25
-23
0
0
-7
0
0
0
-10
0
-13
0
0
0
0
-4
0
0
0
0
0
0
-33
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
-7
0
0
-7
0
0
0
-18
0
0
14
0
0
0
0
0
0
-1
0
0
0
5
0
0
1
0
0
0
-13
0
0
0
0
0
0
14
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
54
0
0
0
0
0
0
12
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
-3
0
0
0
0
0
2
-1
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
-7
1
4
0
0
3
0
0
0
0
0
0
-11
0
0
0
0
0
0
7
0
0
0
0
0
0
-7
0
0
2
0
0
0
-3
0
0
1
0
0
1
28
0
0
0
0
0
0
28
0
0
0
0
0
0
24
0
0
0
4
0
0
10
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
9
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-1
-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
-42
0
0
0
0
0
-23
0
0
0
0
0
0
-25
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
-12
0
0
23
0
0
0
-5
10
0
8
0
0
0
-6
0
0
-13
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-2
0
-17
0
-6
-6
0
0
3
41
0
0
14
0
0
11
-10
0
-48
14
0
0
40
2
0
0
3
0
0
-2
-77
0
0
0
-4
0
-3
41
0
0
-7
0
0
0
27
0
10
0
0
0
0
1
0
0
0
0
0
0
-10
-3
0
0
0
0
0
-3
2
0
0
0
0
0
4
0
0
14
1
0
0
-21
0
0
-4
0
0
0
38
0
1
0
0
0
-6
-27
0
0
19
0
0
0
14
0
0
3
-9
0
0
18
0
0
0
0
0
0
3
0
0
0
0
0
0
-33
0
0
0
0
0
0
28
0
0
0
0
0
0
-8
0
-2
0
0
0
0
-38
0
0
0
0
0
0
19
0
0
10
0
0
0
50
0
0
0
0
0
0
0
0
4
0
0
0
0
62
0
-6
0
0
0
0
-49
0
10
0
0
0
0
24
0
0
0
0
0
0
0
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
7
-3
-3
0
0
0
0
-21
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-52
0
0
0
0
0
17
0
0
0
0
0
2
4
0
0
0
0
-1
0
-1
0
-9
0
0
26
0
0
0
12
0
-7
66
2
0
0
21
-2
0
-19
0
0
0
-6
0
10
7
0
0
0
32
0
0
-3
-3
0
0
1
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
2
0
20
2
-2
0
0
0
-67
0
0
0
-8
0
0
-20
-14
0
-54
17
0
0
-21
-114
0
0
12
0
0
0
-51
-3
0
2
-13
0
0
-19
0
0
42
0
0
0
-6
0
-33
0
-2
0
0
-39
0
0
0
0
0
0
-12
-2
0
0
-1
0
0
7
0
0
0
0
0
-1
0
0
0
-6
-1
0
0
1
0
0
0
0
0
6
0
0
0
59
13
0
2
83
0
0
-14
0
-8
15
-48
0
-3
0
-13
0
-7
-1
0
0
7
0
11
0
-21
0
2
0
0
-10
0
11
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
17
0
0
0
11
11
0
-2
0
15
0
0
-34
0
8
23
0
0
0
-4
0
3
0
-3
0
0
17
0
-11
-10
0
0
0
-26
0
0
2
0
0
0
4
0
8
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
41
0
0
0
-8
0
0
6
-3
0
0
0
0
0
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
2
0
0
10
0
0
0
0
0
0
12
0
0
0
0
-4
7
-30
0
0
0
0
67
0
0
0
-29
0
0
43
-6
0
0
-24
-11
18
-53
6
0
0
9
0
-12
11
0
0
0
12
3
0
-10
-3
0
0
0
0
0
0
0
0
0
0
0
10
0
0
5
0
0
0
-4
0
7
-2
45
0
0
0
0
-42
0
0
23
0
0
-20
64
0
-5
24
6
0
-8
-23
0
0
44
0
0
1
33
0
0
45
-1
0
-2
32
0
0
7
0
0
0
2
0
4
0
-6
0
0
35
0
0
0
0
0
0
25
0
0
0
8
0
0
-8
8
0
0
0
0
0
-9
-1
0
-2
0
0
0
1
0
0
-2
0
0
0
-9
0
0
6
0
0
-4
-73
0
0
-48
0
-1
0
-14
0
0
14
-8
0
0
-50
0
0
0
0
13
0
23
0
0
0
0
1
0
29
0
0
0
0
0
0
-4
6
0
0
0
0
0
-35
0
6
0
0
0
0
-41
0
0
0
0
0
0
-38
0
1
-3
0
0
0
-31
0
0
2
0
0
0
6
0
-6
0
0
0
0
-46
0
0
0
9
0
0
-11
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
4
-3
26
5
20
-8
-15
14
28
-58
22
-31
-22
9
-1
16
12
-6
-1
-39
-10
-9
-20
-14
7
-16
1
32
-31
8
33
-2
-3
-16
0
-18
-24
-3
-11
50
-27
-6
7
29
9
22
1
-13
-94
-34
-28
37
-105
-34
-4
-19
5
-28
9
20
3
1
10
4
24
31
-5
-2
1
-11
5
35
46
-27
5
19
6
5
-3
-4
4
2
-17
-1
-5
-18
-50
56
-9
21
4
-47
50
-1
-9
12
2
-1
-44
-27
10
-16
-45
-4
-1
-32
0
11
-87
3
-5
-36
-31
3
74
-29
22
5
-6
8
-6
-28
-49
-3
0
25
0
-2
-54
-26
10
-16
-19
2
3
-15
-14
3
-7
9
-1
2
-9
-21
3
34
0
2
-4
3
2
0
-1
10
13
-5
-36
-12
-34
-4
-10
-28
0
-2
-1
-45
-7
-28
3
1
-7
-50
20
-32
-4
31
-6
13
28
-7
-24
-36
0
-5
-9
14
14
-18
1
-24
-1
-3
-33
-7
-8
17
-19
0
-18
-5
1
-20
5
7
-1
4
4
9
-1
-30
5
2
-26
21
3
-15
3
30
0
-34
7
14
-5
-5
-28
1
33
-33
57
6
-27
-3
0
21
24
-14
-24
-1
-43
-20
-19
-11
-9
-70
9
-26
-14
-21
15
12
-25
-53
-5
-18
-58
-12
-12
-10
25
-1
0
24
21
1
-12
-13
41
-2
34
7
-22
59
-15
-13
-5
25
1
10
-27
-7
-14
-1
26
-9
-21
-67
-2
52
0
32
-10
-8
-21
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
27
-1
0
0
0
0
-15
16
3
0
-3
-5
1
-25
1
0
0
0
0
0
-4
9
0
0
-2
-1
0
0
1
0
-5
0
0
-3
0
0
-13
0
0
0
0
0
-24
27
0
0
0
0
0
-2
-4
0
1
0
3
10
16
0
0
-49
0
0
-80
21
23
0
8
-3
1
-14
-39
-1
0
49
0
1
5
0
0
0
-17
-9
6
-28
5
0
0
12
0
7
0
-4
0
0
-1
1
20
0
0
-3
0
0
0
7
0
5
4
-10
0
0
0
43
42
-4
0
-1
0
0
1
-12
0
-22
40
0
0
0
2
-16
0
-1
0
-8
-27
-96
0
0
1
-6
0
18
76
0
0
-16
0
0
25
4
0
-30
1
5
0
0
23
0
0
0
0
1
0
44
6
1
0
-1
0
0
59
-8
0
0
3
0
-11
26
7
6
59
0
0
7
-19
-7
2
-28
0
0
76
-23
-7
0
43
-1
0
-10
-19
0
0
-8
9
0
-8
7
0
15
-9
4
6
0
-7
0
0
2
0
7
0
1
0
0
0
2
-19
0
46
0
2
0
0
0
0
36
0
0
0
0
0
0
7
0
3
-4
0
0
-6
19
0
4
0
2
0
0
-32
-7
0
-1
1
0
1
-12
4
0
-1
0
0
0
-13
0
2
0
-3
0
0
18
0
-11
0
2
0
0
-4
0
0
0
0
24
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
32
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
-2
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
7
0
0
-1
0
0
0
0
0
-6
-8
0
0
-2
0
0
0
0
0
0
0
17
0
0
0
0
0
0
9
0
0
0
0
0
0
8
0
3
1
0
0
0
7
0
0
0
0
0
0
34
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-20
0
0
1
0
0
6
-2
0
0
-2
0
0
0
2
0
0
0
0
0
0
-13
0
0
6
0
0
0
-5
0
0
0
0
0
0
-22
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
0
9
-2
0
0
0
0
0
2
-7
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
3
0
0
0
13
9
0
-44
0
0
-1
6
-2
0
-17
10
0
-3
-4
0
0
53
0
0
0
4
-2
0
-12
2
0
4
0
0
0
-6
0
0
0
0
-6
0
0
0
-6
0
0
0
0
0
-22
1
-1
0
0
0
0
-51
0
0
-3
0
0
-3
9
0
55
-8
0
0
21
40
0
0
-3
-3
0
0
-5
0
1
13
8
0
-15
55
0
0
-58
0
0
-1
2
0
-6
11
-2
0
0
38
0
0
0
0
0
0
-4
5
0
0
0
0
0
-1
0
0
0
0
0
0
46
0
0
-1
-6
0
7
40
0
2
32
0
0
0
21
0
0
39
0
0
-10
3
0
0
7
-1
0
4
-72
0
1
-75
2
0
0
8
0
0
-2
0
0
0
-15
0
0
7
-1
0
0
-11
8
0
0
0
0
0
12
0
0
0
0
0
1
16
-2
-56
0
3
0
0
-32
0
0
10
0
0
0
-22
0
43
0
0
0
0
33
0
0
0
0
0
-4
18
0
-19
0
0
0
0
-23
0
0
0
0
0
0
11
0
-7
0
0
0
0
-50
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
17
22
21
19
9
-18
-36
20
-36
-74
-36
-53
-15
-66
-28
-4
0
-10
-24
22
-33
-7
-8
-54
0
-2
-5
-6
-1
-22
-15
-28
-32
16
8
-36
-29
-7
7
-6
-2
16
91
22
1
-6
-62
22
-10
-29
4
-23
-21
-4
-41
-20
-47
9
-32
39
16
20
-10
-17
-21
5
15
27
52
-17
-13
10
-11
-12
8
-32
-18
-65
3
-32
29
-27
-36
-10
-7
-22
3
-10
-4
-7
-18
-12
-21
-33
-9
11
12
-32
-25
15
33
5
-24
-16
-22
-43
-8
-21
-30
-22
17
17
20
17
-1
34
6
-2
-70
3
3
23
-5
12
11
26
11
5
14
25
-6
3
15
34
-5
-28
9
7
3
-44
-9
-12
6
-28
-31
-5
-8
-41
-13
-34
-13
-34
13
-5
-9
0
15
-3
-3
7
-34
-57
-88
-2
-17
10
-11
-14
32
-15
3
-2
-3
8
24
20
-16
10
39
-17
-3
-60
-5
-20
-14
21
0
-6
17
0
-4
31
-2
-37
-8
-21
9
-17
-8
13
-29
6
-4
-52
-3
23
6
-49
-17
-52
-81
-19
5
6
-11
-5
4
-36
-18
-28
29
1
-11
-41
14
-3
-15
8
20
-23
12
-7
76
11
36
-26
-16
24
-5
19
33
34
-45
8
54
-11
3
-21
-13
10
-15
-39
-49
-30
27
-51
-11
-21
-17
17
-16
-17
-16
-20
4
20
-63
6
20
-10
-7
0
4
-23
42
-6
11
-42
-20
-32
-43
12
-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
-27
-4
0
6
50
9
-1
9
-21
0
-1
0
0
-6
-3
18
6
11
-3
-3
1
0
-4
0
19
6
0
-5
0
0
-29
0
0
0
0
0
-6
14
0
-2
-3
13
77
89
4
-1
76
55
33
27
-32
0
13
74
17
66
-23
0
-65
-60
-60
-34
21
-22
-1
0
25
-69
-3
-33
-24
-37
0
-1
-5
-76
25
63
-45
-4
6
12
0
-53
0
18
0
0
0
-22
-77
0
0
31
0
0
-8
-36
-1
-5
-61
53
10
-4
0
35
13
-18
4
75
-8
0
28
-21
0
-19
40
-2
0
-38
0
68
-4
-9
-27
29
-12
-4
-11
1
-30
0
36
-14
10
9
-2
13
2
0
-10
0
0
-8
-52
19
0
0
-11
-6
12
1
13
-13
0
-4
-59
51
0
28
-10
10
7
5
0
0
0
0
11
19
-3
21
20
-28
0
3
-4
-6
2
-3
25
22
-21
0
3
13
29
-34
9
-40
-3
3
1
-14
61
0
18
-16
-6
-15
-29
-4
-6
37
-24
0
-9
-19
3
-7
-3
-1
1
71
-34
-19
-31
1
-12
-3
-2
17
0
-6
0
5
-17
0
4
-8
0
0
-26
0
25
-1
8
0
-10
3
0
6
9
64
0
-23
0
0
-36
34
-8
-7
-24
-18
3
-32
-14
5
0
-32
8
6
17
-16
36
0
-3
-14
-6
11
19
-19
0
4
5
0
-18
15
0
-10
2
-5
-7
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-2
0
0
18
3
0
0
-1
-8
0
1
10
0
0
2
0
0
0
-1
0
-104
0
0
-10
0
0
9
0
0
1
-2
0
-16
5
0
5
0
0
-6
2
0
0
28
0
-6
17
-2
0
-10
52
0
64
76
9
-3
0
-20
0
-10
6
-44
0
0
-10
-1
0
3
-24
0
-12
57
16
0
19
-14
0
0
46
0
0
6
-6
0
0
0
1
-6
0
0
-4
0
1
0
36
0
37
6
43
0
0
0
15
12
0
0
-19
0
0
-53
11
0
-12
14
7
0
32
-8
1
-3
-45
-4
-2
-42
15
0
1
-25
0
0
0
-10
0
0
-51
0
0
9
6
0
28
1
3
0
-1
-16
0
0
0
0
-6
0
-5
26
0
0
2
0
0
11
-4
0
10
0
0
-11
43
0
-3
-48
-1
3
-56
29
0
0
3
11
0
-17
34
0
10
-34
8
0
-21
15
0
28
27
-2
0
-2
6
0
0
-6
-50
0
-12
35
0
0
0
0
0
2
0
0
2
1
0
1
0
-3
-3
0
0
6
0
0
43
-9
0
-7
0
0
-3
-44
0
31
-12
0
0
-1
67
0
0
-10
0
0
0
-17
0
-17
0
0
0
-9
43
0
-25
-1
-14
0
6
-74
0
13
14
-1
0
-1
-3
0
-6
9
0
0
0
-44
0
32
-3
0
0
0
-53
32
0
0
0
0
0
0
0
0
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
-4
29
3
0
0
-1
0
0
0
0
0
0
-1
0
1
0
1
0
2
0
0
-2
0
0
11
0
0
0
0
0
-7
52
0
-3
0
0
5
12
0
0
-17
39
2
5
2
0
0
60
6
-2
61
13
-14
10
-33
-30
0
-31
39
0
3
-12
0
-1
8
-34
0
0
-2
12
-6
6
12
1
10
-4
0
5
0
-2
0
0
5
-2
4
0
0
-23
0
0
0
-32
-13
-38
-18
-4
36
0
0
-3
-7
7
0
3
15
0
-1
-16
4
-18
10
-46
0
23
1
0
0
7
0
3
5
-24
4
0
1
-54
0
12
45
0
0
37
-1
-16
4
23
0
-14
-4
-15
0
9
5
8
0
7
-4
-4
0
-26
9
12
0
-3
8
0
-23
-16
-2
1
0
4
-8
16
0
1
-61
56
-3
24
31
0
3
13
-2
0
-26
-17
-2
-20
31
20
0
-41
-40
0
7
-36
9
0
-7
-15
0
0
-34
30
0
0
-11
0
0
-3
0
10
0
18
0
4
-4
32
-9
4
-25
15
-2
0
0
0
0
50
-25
0
-1
9
0
0
8
-9
7
12
0
0
0
27
10
-2
0
-3
0
0
-15
0
4
-8
0
0
-5
-9
0
24
-9
31
0
-1
-3
-1
-34
-29
0
0
0
-33
3
-1
10
-5
0
0
-11
0
61
3
0
0
-4
-5
45
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
55
16
-6
-42
-96
16
-21
-25
0
0
0
4
-1
3
77
6
0
24
23
2
-3
24
0
9
-4
1
-3
0
0
3
0
0
-2
-8
-2
-66
-73
0
0
0
0
7
-14
36
-1
62
78
8
-25
-31
0
1
66
28
-6
41
0
-18
10
21
-3
-16
41
-3
8
22
45
-1
-53
-29
-15
0
0
20
1
-5
-1
44
0
0
25
8
5
-13
-16
0
0
-11
78
-61
2
-3
31
0
0
0
-81
0
17
-3
5
-4
-8
0
-20
-10
17
0
3
0
-1
20
1
-11
31
33
50
0
-43
2
0
-8
53
7
-13
-22
4
7
14
76
18
0
-2
-5
0
-4
2
-9
7
-1
-39
0
-41
-12
38
12
-15
-22
0
-7
-21
2
-2
0
7
0
37
0
-16
0
-2
9
-22
0
0
6
0
-7
11
-50
36
50
-9
19
-16
-36
-6
-21
-12
7
-2
-7
-9
20
23
1
-2
18
-32
-16
-2
-11
17
3
3
0
-32
12
-11
-27
11
0
65
-13
0
37
-26
-3
-2
0
-24
0
-1
32
-13
-26
-3
-8
-10
-3
0
-11
9
4
13
56
-1
0
0
0
12
10
12
34
-23
0
3
-6
-2
0
-44
-10
40
0
29
30
-1
-1
-31
35
-6
25
-22
0
-35
-8
-9
-1
-13
-26
0
-4
-28
4
-7
11
-8
-1
-12
-18
-14
15
0
-28
2
18
0
-2
0
0
-13
-1
-3
-22
28
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
2
0
0
-10
0
0
6
0
0
0
0
0
-3
-1
0
0
0
2
-12
1
0
0
-68
0
0
-1
0
0
0
9
0
0
24
3
0
6
54
0
0
30
-19
0
0
0
0
1
-5
-1
0
0
0
0
3
-6
-8
0
0
0
0
-3
0
-20
0
0
0
0
17
0
0
-6
0
0
0
-9
0
-36
0
0
0
0
0
10
-14
0
0
-5
0
0
61
19
0
4
-2
0
0
-46
1
0
0
44
0
0
12
6
0
0
-3
2
0
-52
30
0
0
0
0
0
-3
-65
0
-19
35
0
0
-2
-2
0
0
-1
0
-2
0
-27
16
-1
0
0
0
0
-52
0
0
0
0
0
0
-25
0
-8
-6
0
0
11
-31
0
0
1
0
0
-4
7
0
0
29
0
0
-1
-38
0
0
-33
0
0
-2
60
0
0
7
0
-1
18
12
0
0
13
0
2
0
-5
0
0
-2
-19
26
0
-19
0
3
0
0
0
0
33
0
0
0
0
0
0
17
0
1
0
0
1
-6
-6
0
0
6
-7
0
0
-22
0
0
-6
0
0
0
-25
0
0
2
0
0
2
89
0
35
1
0
0
0
-31
0
2
-3
0
0
0
-48
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
46
33
0
0
0
-7
0
19
54
0
0
0
0
0
0
-1
0
0
1
-2
0
0
0
-1
-21
0
0
0
0
0
15
0
0
0
0
0
-14
-3
0
0
0
0
13
37
0
0
-27
5
0
-1
0
0
0
7
0
0
-18
13
0
-2
-84
-14
0
-8
21
0
0
-18
0
0
56
11
0
0
-15
-5
0
9
-4
0
0
-2
0
0
0
-4
0
0
0
-4
0
0
0
-3
0
0
0
0
0
0
-9
-6
2
9
0
12
-8
0
0
23
0
0
-14
29
0
14
9
-19
0
-64
-27
0
0
-24
-1
0
1
14
0
0
21
16
0
-36
16
0
0
54
0
0
0
3
-1
-23
-1
-3
0
0
5
0
0
-4
0
0
0
13
-62
-3
0
-18
0
0
1
9
0
0
0
0
-1
9
1
0
23
0
0
63
27
0
-8
-6
0
0
30
30
0
0
-3
-21
0
-17
29
0
13
34
-16
0
-8
7
0
0
37
-4
0
0
-24
0
-6
21
0
0
0
-13
0
-1
0
39
0
0
5
0
0
0
0
0
0
-26
-4
0
0
0
0
0
-64
0
-5
0
1
0
0
39
0
0
3
0
0
0
48
0
6
3
0
0
-5
-12
0
-12
1
56
0
0
-30
-1
-87
12
-11
0
0
-22
0
8
-10
-10
0
0
30
0
25
0
0
0
0
-23
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
28
53
46
-33
6
-2
-6
-13
19
4
0
-73
-11
-14
-1
-1
10
-3
0
-1
-33
0
0
-24
0
0
3
-2
9
27
52
-1
13
3
0
-7
2
64
-17
49
-9
3
-15
16
7
0
-2
-9
-20
-27
-3
13
-13
10
1
51
14
-80
12
1
-4
0
-14
55
26
26
9
-22
-23
-29
23
-31
0
2
-69
-4
-38
-9
-33
-2
-1
-40
-9
-64
0
77
-32
0
0
7
-24
0
-6
39
-15
61
-14
0
3
-7
3
-7
8
-1
-13
-7
-13
51
21
-7
-14
-6
-24
12
12
-5
0
18
0
7
-30
-6
-16
-12
0
7
-12
-11
8
-10
-26
-10
14
-5
-16
1
19
-17
23
13
12
1
0
-2
13
8
12
0
1
-40
7
0
-62
-11
1
-15
52
-2
0
36
26
-9
4
8
13
3
7
-56
23
2
5
9
-7
-16
-23
-78
-24
44
27
-7
-8
28
-9
-9
-4
28
0
40
8
-67
-30
-1
-26
-8
-5
-16
-16
-7
2
8
-48
-3
-10
0
-2
0
3
-22
-26
-27
0
-5
40
15
-16
-14
-20
0
-2
20
-5
-16
-5
-5
-2
18
18
-16
31
2
-13
-1
-15
-17
-14
61
-8
-13
-55
-29
12
-39
-35
3
29
18
0
-2
-14
-9
16
59
-13
-9
-12
19
26
-23
-57
0
1
0
-19
-15
-59
-52
0
6
1
41
31
3
3
0
4
10
32
0
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
0
0
0
0
0
0
0
0
-33
37
0
0
0
0
11
47
-6
0
-1
2
-6
0
0
1
-1
-6
0
0
-43
0
0
-27
0
0
-1
0
3
1
-4
0
1
0
7
-7
-29
17
0
30
-3
1
22
-15
0
0
27
0
0
4
-6
1
-38
30
-33
21
-37
0
-18
3
16
0
-76
-38
-38
0
-2
-47
35
-10
-4
23
0
0
-1
14
-3
13
-12
0
0
2
-7
-95
0
0
-16
1
0
0
-35
4
38
5
-4
3
1
0
58
17
-2
0
28
3
0
-3
-21
0
10
-9
7
5
-5
-23
12
-22
16
0
9
-16
0
-17
-4
-68
-10
-13
-6
-43
0
2
-29
6
-6
-38
-36
0
-40
9
-29
-1
-1
-54
0
0
0
0
74
0
7
1
4
0
15
0
0
7
1
-6
33
-1
0
5
2
-22
27
-8
-5
-1
50
-13
0
64
14
-9
-14
-32
4
-4
-6
-33
0
-10
-36
0
15
-19
14
7
11
-24
-31
-11
-22
3
-18
-11
1
-37
0
2
-30
0
-50
0
-39
0
17
-1
10
-80
1
8
4
2
0
0
0
0
-16
34
3
0
-18
0
-1
3
4
11
34
0
2
-20
-27
0
18
2
0
0
13
11
15
4
27
-17
-3
-77
0
13
13
-12
-20
3
11
-20
0
8
-39
-6
-3
0
-10
4
-12
-19
-1
7
-6
-2
0
-2
14
0
36
0
35
22
-8
0
7
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-39
0
0
0
-1
0
-11
-1
-1
0
0
0
-11
-13
0
0
41
40
-10
14
-8
0
0
-9
0
2
80
24
16
0
48
-9
8
-7
-1
0
-3
-23
0
46
-21
1
0
0
17
10
-7
12
27
0
0
-13
0
-3
0
1
0
0
1
0
-26
0
2
4
0
0
0
36
0
17
-1
-15
-1
0
0
25
-3
0
0
25
0
0
48
12
0
-63
23
40
0
2
-23
0
0
83
0
0
50
-36
0
0
26
10
0
4
-6
0
0
42
0
1
0
66
0
7
0
10
0
0
-33
0
0
0
0
4
0
33
51
3
0
0
-2
0
37
3
0
0
0
0
4
-20
0
-2
43
-6
19
8
32
0
0
-47
0
0
-11
-6
0
0
-26
47
2
-5
-33
0
-10
-22
0
0
15
-10
0
-2
-4
3
0
0
46
0
0
24
0
0
0
7
0
0
-12
3
40
0
15
0
0
0
0
0
0
28
0
-6
0
0
0
-2
-34
0
-10
4
0
0
1
-9
0
6
-11
3
0
0
13
-6
7
7
0
0
-26
1
0
-12
0
12
3
0
33
0
40
-4
0
0
0
23
0
0
0
0
-8
0
-15
0
21
0
0
3
0
-16
-7
8
-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
5
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
-7
0
22
0
0
1
0
0
-19
0
0
0
0
0
-4
-12
0
4
0
0
14
31
0
0
-9
4
1
-49
-29
0
0
-17
2
2
-53
-9
0
0
18
63
-2
-7
-17
0
0
-3
0
-3
14
6
0
0
53
1
2
21
22
0
0
0
0
18
0
4
0
0
0
0
-46
0
3
-5
0
0
0
11
0
31
1
-36
3
0
0
55
-29
0
0
-48
0
0
-10
-37
0
45
3
1
0
-13
-14
-2
0
13
0
0
41
-33
8
1
18
27
0
13
-31
0
0
-3
0
0
-2
39
0
-3
15
-29
0
0
-43
0
0
0
0
0
0
-10
-11
0
0
0
0
0
-5
-2
0
-1
0
0
3
-50
0
0
2
9
0
28
-8
0
0
3
0
0
-21
37
0
0
4
1
0
0
-38
0
0
-19
-1
0
0
-62
0
-3
-38
-3
0
0
7
-1
8
-1
0
0
0
-22
0
0
-10
-9
-9
0
30
-3
0
0
0
0
0
14
33
0
0
0
0
0
-21
0
11
0
0
0
0
19
0
0
-10
0
0
0
-40
0
19
26
0
0
-2
-18
0
8
-1
13
0
3
-6
0
32
-6
0
0
0
45
0
0
11
0
1
0
8
0
53
0
0
15
0
-26
54
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
-82
24
0
0
0
4
15
57
25
2
0
0
15
-2
-3
0
0
-65
0
0
23
0
0
-7
0
0
-1
0
0
-15
25
0
0
0
0
31
0
0
0
-1
-88
-15
5
-15
0
0
-17
2
-16
-28
5
0
-2
-26
-59
19
-46
13
-2
-17
-37
2
-44
-1
-52
-4
2
7
-8
42
-21
9
2
0
-4
0
-69
-12
55
3
0
-2
-18
-23
0
0
12
0
0
0
-36
0
12
-24
45
0
-3
0
5
-9
0
0
-20
0
0
-4
34
-2
-20
-19
-50
0
-31
-5
0
0
20
13
-1
12
5
0
0
18
12
1
41
8
0
0
-55
4
0
0
9
0
-37
-48
-27
-17
20
-16
0
0
1
0
-9
0
0
6
-7
0
-1
-19
0
2
4
0
0
0
-6
-21
-23
81
-6
-25
-11
54
-13
-6
0
12
0
-6
39
-5
30
0
0
28
-13
24
50
2
-3
8
-121
-14
27
-10
-34
0
-1
-22
0
14
25
7
0
-3
4
-2
10
-8
-6
0
1
-2
3
6
0
-7
17
0
0
0
2
0
3
16
-4
0
0
0
8
-11
-6
12
0
0
0
24
-20
0
-5
51
13
0
0
-5
1
0
-9
-16
-1
44
1
0
7
13
28
20
-23
13
-1
-30
-2
-3
-13
-1
-7
1
-1
52
-77
27
0
-11
7
-50
0
0
10
0
-9
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-1
0
0
8
0
1
0
68
12
1
5
0
93
0
11
0
4
0
0
-1
0
0
-4
0
0
0
0
0
-10
-18
0
0
0
0
4
24
0
0
29
0
21
-8
26
16
0
-13
0
28
-72
-49
0
0
-37
0
-39
-16
12
0
0
15
0
-1
-70
47
0
0
-8
0
-4
-19
4
0
0
-3
0
29
0
10
0
0
-4
0
3
0
-5
-59
0
0
0
18
0
-11
10
-5
55
0
0
-14
-10
0
0
26
0
0
-17
0
21
-34
-8
0
0
1
4
0
33
10
-2
0
-30
0
0
0
22
0
-6
7
0
0
0
-1
0
-6
-9
-14
0
-50
-53
0
13
0
20
1
0
4
0
-6
0
-20
-39
-42
0
0
-1
-1
-9
7
-2
17
0
0
23
-14
-10
-6
10
0
-8
28
17
0
6
38
0
11
-8
14
0
-4
-10
0
-3
3
-24
0
9
13
0
-6
51
12
0
1
5
0
29
2
21
0
13
45
0
24
0
5
2
-1
-43
0
29
0
-13
-16
7
0
0
30
0
-11
-5
0
2
0
0
-1
-9
-1
-17
28
0
0
44
2
1
6
78
0
0
-17
25
0
-25
-21
0
0
-3
-51
0
15
-44
0
7
1
9
1
-18
10
0
-11
0
36
0
0
67
0
19
0
6
0
5
-35
0
2
0
-14
-21
-1
-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
15
36
0
3
0
0
0
35
21
0
0
8
-4
0
6
-9
12
11
0
0
0
0
0
-7
0
0
13
0
3
-9
22
0
2
0
0
7
-26
-2
0
28
35
0
7
0
0
0
-1
-1
1
-16
20
0
1
-10
-18
0
38
8
16
0
-22
0
0
20
31
0
0
13
7
0
44
33
-2
0
44
-3
0
2
7
-4
0
0
6
0
0
-4
-67
0
0
-28
0
-4
-7
30
61
7
-1
0
30
-2
0
-2
-41
0
0
-21
19
11
21
20
9
0
-23
20
0
8
7
0
0
-49
-27
-2
0
-28
-71
0
27
-8
0
25
6
1
0
16
-1
-10
-29
20
-24
0
-2
-5
4
0
-2
12
0
2
-10
-36
-43
0
-25
0
0
14
27
0
18
18
0
1
8
-8
-4
13
14
0
10
18
-7
-2
-4
0
0
1
9
0
-3
27
38
0
-20
-1
0
-3
-22
2
0
1
-6
1
5
-51
65
0
8
15
0
19
24
-1
0
0
-3
11
-2
20
10
0
-3
-15
2
2
1
-6
0
0
-11
51
0
0
28
0
-2
7
0
49
2
0
0
1
3
10
18
8
-13
0
32
24
0
4
-10
0
0
67
-5
0
15
6
22
0
-33
-6
0
49
59
0
0
-2
-51
0
-3
19
-20
0
-10
-4
0
2
-2
0
0
0
27
31
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
23
24
-11
-10
8
-5
-6
-7
-4
0
-2
0
0
-5
0
-6
0
2
9
64
-20
6
-37
-13
8
30
40
4
-3
6
-30
-2
6
-12
0
2
3
-13
16
-13
31
-5
4
-4
-20
-8
-85
-28
33
-3
-96
-24
3
-47
-10
24
29
20
-5
15
-24
28
19
11
-10
24
-6
-1
2
0
0
23
-13
-17
0
10
-48
0
0
-30
-1
1
3
-66
17
0
5
-10
-28
2
-13
0
-6
2
1
-8
13
12
2
-3
-22
-6
6
-4
-7
-3
10
1
14
22
6
-16
4
-5
-33
44
-8
-8
-4
-17
-8
48
42
5
-8
-4
-7
8
-7
-34
0
-13
-2
-1
-14
12
-3
0
2
-41
-37
0
-4
0
0
-4
-27
-1
1
-8
0
-10
17
51
5
-11
-27
-24
0
-1
6
-19
-15
-28
29
-29
-7
25
3
-10
-10
9
-25
4
-13
33
14
11
1
25
-8
-8
-13
-5
-10
4
1
-7
-28
-26
-2
38
-12
-21
-9
-2
-23
-1
-25
-40
0
-5
11
21
11
24
-18
0
-8
-8
-1
-4
-31
1
0
9
-17
14
55
6
26
21
-8
6
-25
6
1
-13
-2
21
-32
-14
20
-5
-9
-1
-1
12
40
-11
-11
-48
-3
4
3
-3
22
53
-1
19
-6
-4
-1
32
-27
-21
0
5
-2
12
-6
-5
-50
0
-16
-13
-16
-30
-55
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-2
0
0
1
-2
0
-12
0
0
-10
0
0
-9
0
0
0
0
0
-22
1
0
0
0
0
8
9
27
-8
32
-15
-17
-15
-1
0
0
56
-1
0
2
-28
1
-9
49
-97
-1
9
35
7
0
2
7
14
-4
0
3
-10
25
13
40
-11
0
0
0
44
0
-2
0
-2
0
0
0
6
-92
0
-2
22
0
0
0
-21
0
15
1
-8
-1
-3
0
15
-8
0
0
72
-1
0
-27
-30
0
-13
36
-9
0
-35
24
5
0
12
10
0
-26
-2
4
0
-53
-1
0
22
0
18
1
-24
-7
-2
3
-31
0
-29
-10
3
0
0
12
0
0
0
-7
-3
0
-23
18
42
0
-8
0
0
-15
16
0
0
0
0
-2
-30
-12
36
-6
1
-14
-20
15
-1
0
35
2
0
-20
34
0
8
13
-2
6
-11
-21
-3
7
-8
10
0
22
0
0
4
-74
44
1
-7
-10
-2
0
8
0
-21
0
-76
0
-2
-3
-27
-13
3
-28
-8
0
0
-1
0
0
-24
0
0
0
0
0
0
7
3
-28
-13
0
0
0
-1
0
-26
45
-7
0
3
-9
0
8
-3
-2
0
-4
-28
0
-1
10
-18
0
-6
0
-12
-111
-25
0
10
6
-30
0
-1
2
7
-11
-3
18
0
22
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
1
0
-15
0
0
-1
0
0
-55
0
0
0
0
0
1
5
0
0
0
0
0
48
0
0
1
0
0
-9
0
0
0
9
0
0
28
14
1
0
-71
3
36
11
0
0
0
-33
0
29
8
0
0
0
-2
0
20
0
29
0
0
24
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
10
0
20
0
-1
0
0
0
12
27
0
0
-4
0
0
-16
45
0
1
33
8
0
-35
-32
0
0
47
0
0
-14
-39
0
0
38
6
0
-7
-70
0
3
8
0
-8
0
-15
0
9
0
0
0
0
-41
0
0
3
0
1
0
32
-2
0
0
0
-4
0
31
0
0
0
0
0
0
20
0
1
0
0
0
3
25
0
0
4
0
0
2
7
0
0
23
0
0
0
-37
0
0
-3
0
0
0
-4
0
16
-20
6
-20
0
-27
0
0
0
0
3
0
-20
0
0
0
1
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
-4
0
0
0
-2
41
0
3
0
-4
0
0
-7
0
0
2
0
0
0
18
0
0
-1
0
0
0
-10
0
0
0
0
0
0
20
0
0
0
0
0
0
14
0
-7
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-82
0
0
-1
0
0
-27
0
0
0
0
0
0
8
0
0
0
0
58
-7
0
0
11
-1
0
-63
0
0
0
-18
0
0
-42
-2
0
0
-41
-6
5
-63
0
0
0
-8
0
-3
-7
0
0
0
-1
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
57
0
0
0
0
0
0
81
0
-64
-7
0
0
0
0
2
54
0
0
-3
0
0
9
22
0
-50
21
-2
0
-8
-30
0
0
58
0
0
11
0
0
0
42
-1
0
23
-80
0
0
41
0
0
0
-41
0
98
9
-3
0
0
-29
0
0
0
0
1
0
2
0
0
0
0
0
0
31
0
0
0
0
0
0
10
0
0
10
0
0
0
-78
0
0
0
0
0
0
1
0
0
-26
-1
0
-9
35
0
0
15
0
0
-2
-36
0
0
-9
-9
0
0
37
0
0
-2
0
0
0
-45
0
0
0
-2
-3
0
-11
0
0
0
3
0
0
-26
72
0
0
0
0
0
6
0
-2
0
0
0
0
7
0
0
0
0
0
0
-37
8
0
-9
0
0
0
14
0
0
0
0
0
0
-32
0
-18
0
0
0
0
-1
0
0
0
0
0
0
-8
0
-10
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
12
0
0
0
0
0
0
0
0
0
-28
0
0
1
0
0
-32
0
0
0
0
0
-7
-2
0
0
0
0
42
0
15
0
-6
-1
0
-45
0
-2
0
5
0
0
8
0
2
0
18
3
-2
-25
0
0
0
2
0
0
-6
-20
0
0
0
0
-9
-2
0
0
0
11
0
0
0
11
0
0
-2
-9
1
0
0
-2
0
0
0
0
0
33
-7
4
0
0
0
-4
42
0
0
-6
0
0
9
-2
0
-30
-15
-3
0
18
3
0
0
-7
0
0
-15
75
0
0
-2
0
0
13
-71
0
0
0
0
0
0
-3
0
-8
-6
14
0
-12
-29
0
0
0
0
0
0
18
22
0
0
0
4
0
-19
-12
0
4
0
0
0
-5
9
0
-6
0
0
-6
46
0
15
8
0
0
16
-28
0
0
-1
8
0
2
-43
0
-1
-15
0
0
0
-39
0
-2
0
-1
0
0
-7
0
0
0
0
-4
0
9
0
0
0
-3
4
0
20
0
0
0
0
0
0
-68
0
0
0
0
0
0
8
0
-4
0
0
0
0
-46
0
0
0
0
0
0
-17
0
9
0
0
0
-1
-8
0
0
0
-3
0
3
-43
0
7
0
0
0
0
-73
0
0
0
0
0
0
-12
0
-12
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
10
0
0
-1
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-9
0
0
16
0
0
0
-11
0
0
37
-3
-1
0
-43
12
-6
-14
0
0
0
-4
0
-2
-2
0
0
0
1
0
1
-2
0
0
0
2
0
3
0
0
0
0
0
0
19
0
0
-1
0
0
0
-10
0
-2
0
4
-4
0
0
0
11
0
0
1
0
0
0
4
0
-1
-24
0
0
-58
-46
0
0
1
0
0
11
-10
0
0
-7
0
0
1
-11
0
0
-7
0
0
0
13
0
33
-1
0
0
0
-24
0
0
0
0
0
0
-40
5
7
0
0
0
0
24
0
0
0
0
0
0
3
-12
0
-1
0
0
0
-45
0
0
4
0
0
-11
-19
0
0
-14
0
0
-10
15
0
0
-54
0
0
11
-94
0
0
14
0
0
0
-26
0
0
1
0
0
0
1
0
0
0
0
-2
0
39
0
0
0
0
0
0
-4
12
0
0
0
0
-2
14
0
-1
0
0
0
0
-7
0
0
0
0
0
0
-51
0
0
0
0
0
0
24
0
0
-10
-4
0
-6
-59
0
0
0
0
0
0
10
0
0
0
0
0
0
-8
0
-11
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-10
0
0
-3
-15
-4
-1
0
0
0
0
-9
0
0
0
0
-1
-29
-16
0
-1
0
0
-31
23
1
0
22
50
0
-8
-5
0
0
-11
0
0
-16
-16
0
0
-19
-26
0
-40
9
-1
0
18
-1
0
-68
5
0
0
-41
44
0
13
5
1
0
-1
-3
0
11
2
0
0
-4
-45
0
0
1
-10
0
0
8
0
0
20
-9
-16
-31
0
0
12
-3
0
0
-19
0
0
-71
-3
-8
-14
23
1
0
-18
42
0
0
27
0
0
-64
-16
-1
8
-21
-51
0
-69
-21
19
-1
1
0
0
57
-19
25
-15
6
-2
0
38
5
0
2
-7
-1
0
0
8
-43
-13
0
-30
0
-15
25
-63
0
0
-2
0
17
-2
0
-1
38
63
0
14
25
0
-13
5
0
0
35
21
0
-6
30
21
0
-39
3
8
-12
12
27
0
-31
18
0
-4
16
-22
0
9
2
25
-2
23
1
0
0
-1
0
69
43
39
0
0
-2
-42
-6
0
0
0
7
16
-21
0
0
12
0
-3
34
0
5
50
25
0
-2
-1
0
1
14
-1
0
-1
23
0
50
26
0
0
11
22
0
34
14
-22
0
15
-6
-1
13
4
0
0
-8
-11
-4
34
22
-24
0
-1
14
0
-11
6
0
0
0
2
-28
-4
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-60
0
0
56
0
0
-17
0
2
0
0
0
17
-1
0
0
0
0
6
8
15
0
-14
-72
-14
-13
3
0
0
20
0
16
-13
-1
0
11
-25
41
-12
14
16
2
0
23
0
-47
0
-7
2
-8
-28
26
-16
-3
-17
0
0
20
0
4
2
-21
0
0
-22
-20
-79
0
0
-6
0
0
0
2
0
-18
6
-2
0
0
0
-12
0
0
0
-84
-1
10
24
-9
0
48
-14
-6
0
84
3
0
0
-6
0
12
54
-1
0
0
-38
-12
12
-1
13
0
-2
22
0
0
4
23
0
-42
6
-24
0
0
-22
0
0
-3
10
-11
0
-7
-10
13
0
-35
0
0
-30
-9
0
0
-3
0
2
-2
-1
0
-3
-7
-15
0
-29
0
16
94
0
-3
16
34
0
1
-73
26
0
0
-16
14
0
-11
6
-7
0
-24
0
3
15
-11
-19
0
3
0
6
-8
0
-57
0
-54
0
-4
21
6
-56
0
14
-2
0
0
-10
-3
0
-13
0
0
0
0
0
0
50
0
2
-3
-1
0
0
9
0
2
-1
0
2
-1
42
0
-2
2
0
0
8
-40
0
-24
12
-25
-6
0
1
0
29
-6
0
0
0
-6
0
1
-20
-1
20
0
-62
-2
54
3
0
-9
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
45
0
-11
0
4
5
0
0
-12
0
0
-6
0
0
-3
-11
0
0
0
0
-15
-29
-2
0
-23
-21
7
0
-13
0
-1
-20
0
0
-42
17
-1
0
-7
-27
-7
-26
8
0
0
-57
0
-4
-14
-16
0
0
27
2
-6
27
0
0
6
30
0
17
0
66
0
0
0
-7
-82
0
11
-8
0
0
0
-22
0
-28
2
-38
0
4
0
41
16
0
0
10
0
0
-7
27
0
8
20
-40
0
18
-14
1
-2
2
1
0
33
52
0
2
2
10
0
-19
-19
0
0
-6
0
-2
2
0
3
0
34
14
7
11
-78
4
0
4
0
-1
0
-23
-5
-3
0
-29
8
0
20
-11
12
0
0
0
-2
-10
60
-35
10
-15
0
3
19
-4
0
-21
-1
0
-68
-22
7
-11
56
-26
11
-44
49
0
0
-10
7
0
-2
0
10
-6
-85
-8
0
0
0
0
-2
10
-2
-10
0
-61
0
0
0
-7
-3
0
-39
-2
0
0
-12
0
0
-55
0
-3
0
1
0
0
-19
10
-20
-1
0
0
-1
-12
0
14
-2
2
0
0
-14
-2
14
-12
15
0
1
9
0
7
29
-24
0
0
-25
1
68
-25
0
0
11
0
0
0
-7
-36
-6
0
-64
0
21
4
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
-66
0
0
-2
0
0
-3
0
0
0
0
0
-16
0
0
0
0
0
-9
-2
0
0
76
6
0
23
0
0
0
-8
0
0
33
0
0
-1
55
-37
3
-64
0
0
0
0
0
27
0
0
0
0
57
-1
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
39
0
0
1
0
0
0
-11
0
25
0
-2
22
0
0
19
-36
0
0
1
0
0
-14
-36
0
-35
48
0
0
34
0
0
0
7
0
0
-1
-19
0
0
-51
14
0
-9
18
0
3
3
0
0
0
-4
0
-25
-8
0
0
0
-22
0
0
0
0
1
0
-23
-3
5
0
1
-12
0
39
0
0
0
0
0
-16
-24
0
0
-2
0
-2
-2
15
0
0
-7
0
0
8
-7
0
19
7
8
-1
3
-19
0
3
65
0
0
0
-8
0
0
16
-8
-11
0
-33
0
0
0
0
0
0
18
0
0
3
-10
-1
0
-7
0
0
0
0
0
0
43
0
0
0
0
0
0
10
0
4
0
0
0
0
27
0
0
0
0
0
0
-9
0
0
-6
0
0
-1
10
0
0
0
0
0
0
-8
0
3
0
0
0
0
53
0
-2
0
0
0
0
29
0
-13
0
0
0
0
23
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
47
0
0
-1
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
-47
0
0
0
35
0
1
-48
-1
1
0
-50
-4
15
-5
2
0
0
-3
0
-2
-1
-1
0
0
9
0
18
12
2
0
0
0
0
-9
0
0
0
0
0
21
1
0
0
-2
0
0
0
-12
0
18
0
0
0
0
0
-1
9
0
0
15
0
0
7
64
0
30
-35
-1
0
-11
7
0
0
-1
0
0
-1
-59
0
0
40
-2
0
0
-32
0
0
1
-10
0
0
9
0
55
3
-4
0
2
-7
0
0
0
0
0
0
6
0
-6
0
0
0
0
27
0
0
0
0
0
0
10
0
0
-1
0
3
8
-37
0
0
-4
0
0
-2
39
0
0
-7
-1
0
0
-8
0
0
-4
0
0
0
3
0
0
0
-1
0
3
-32
0
0
-1
0
-1
0
25
0
-1
0
-1
-2
0
-66
0
0
0
0
0
0
-2
-1
0
0
0
0
0
2
0
-1
0
0
0
0
7
0
0
0
0
0
0
-6
0
0
-2
0
0
0
-15
0
0
0
0
0
0
-52
0
-1
0
0
0
0
-24
0
0
0
0
0
0
-2
0
-2
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
-1
-9
0
0
0
0
54
-3
0
4
-11
-35
25
-3
0
0
0
-4
0
0
2
0
0
0
-37
-5
15
-26
-14
0
0
-3
0
-30
-8
17
0
0
1
-5
9
38
-1
0
0
1
49
-2
-17
6
0
0
-3
-8
-9
0
0
-53
0
0
-6
-93
0
-22
-7
-3
0
0
0
28
33
0
0
12
0
0
-41
0
0
-9
-23
-33
0
1
-9
0
0
-8
0
7
-6
-6
0
0
-9
-21
0
-21
-10
6
0
-1
0
-8
8
-36
0
-18
-3
-15
-13
0
9
0
0
0
15
-3
0
14
23
10
0
-11
0
0
-17
0
0
0
0
0
-1
32
13
-4
-1
44
27
-22
-10
0
-1
10
0
3
10
-6
-1
-2
-16
11
-10
1
-16
0
0
-11
6
9
35
-5
0
8
-1
-33
4
28
-24
-1
0
-2
-12
-14
0
-3
0
0
0
12
-20
0
10
-2
0
0
0
13
0
-8
0
0
0
0
0
0
18
0
15
2
0
8
0
7
0
0
25
6
1
-12
6
0
8
10
-1
18
0
23
0
12
-6
8
8
0
-22
0
-25
-2
0
-7
-9
3
0
4
20
-5
21
0
10
0
-38
0
0
0
0
6
-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
-6
0
0
-9
0
0
-8
0
0
0
0
0
2
-15
0
0
0
0
2
-81
0
0
38
0
78
-31
34
0
0
-8
0
-16
-20
-28
-3
0
6
0
29
3
-19
0
0
-20
0
2
-69
0
0
0
-42
0
-89
-26
-1
0
0
24
0
-23
0
25
0
0
-1
0
0
0
0
-64
0
0
0
16
-2
12
-17
-1
32
0
0
-22
9
0
0
9
0
6
-6
9
0
-8
-19
15
0
23
-24
0
-1
11
0
10
-21
-61
0
0
-6
0
-1
7
9
0
0
10
6
0
40
-6
0
21
-26
1
11
0
7
0
0
24
0
-11
0
-8
22
-27
0
0
0
0
6
-15
0
4
0
0
-6
11
0
22
19
0
17
-9
10
0
0
-39
0
-23
41
-16
0
0
24
0
-3
9
-11
0
0
-33
6
-5
31
0
2
0
9
0
-13
40
-17
0
4
37
0
-11
2
14
0
0
-7
0
-13
0
32
29
0
0
0
0
0
13
-29
0
0
0
0
-4
4
0
7
1
0
0
11
27
0
0
-25
0
0
-28
-13
0
-7
47
0
0
2
4
0
0
42
0
4
-10
17
0
-87
-6
0
0
-6
-32
0
0
57
0
1
0
8
0
27
2
0
-2
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
38
-6
-33
0
0
0
0
0
7
0
0
0
0
-7
-1
-52
-2
0
-1
0
-22
39
0
0
-27
36
0
-17
0
0
2
-35
0
0
-17
49
0
4
-17
12
0
3
-4
0
0
-33
0
0
53
74
1
2
-54
10
0
-8
8
0
0
-4
0
0
0
-13
0
0
0
-6
6
0
7
11
0
0
0
0
0
27
5
-4
-25
8
0
-11
-16
0
0
-46
0
0
8
24
0
44
6
21
0
-12
36
0
2
4
0
0
-5
-15
0
-4
-16
8
0
27
4
0
2
-16
0
0
-2
64
0
-50
-9
-23
0
0
-2
0
0
0
0
0
0
9
-19
21
0
20
0
0
21
0
0
0
2
0
-4
-7
0
3
10
13
0
22
10
0
24
45
0
0
53
22
1
-6
-20
-36
0
-66
-3
0
0
-15
7
0
-6
-17
-1
9
-19
3
0
-37
-40
0
22
17
0
0
0
-11
0
0
-7
16
0
0
-2
0
2
0
0
0
0
20
-21
7
10
0
0
0
34
0
20
0
0
0
-6
-67
0
8
-29
9
0
19
60
0
-53
-20
0
0
3
10
-1
-1
25
-40
0
18
-32
0
3
2
-22
0
9
-10
0
6
-16
-11
0
0
8
0
-16
0
0
0
0
18
56
4
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
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
6
61
-2
0
0
0
0
-3
24
6
0
-11
26
0
0
-2
1
0
0
0
0
15
0
0
0
0
2
0
0
0
0
0
0
19
0
-6
0
6
0
0
1
0
-4
0
0
-1
0
0
0
-12
0
-17
0
0
0
0
0
0
5
0
0
0
0
0
-3
-20
0
44
-12
-1
0
-14
21
0
0
11
0
0
0
23
0
0
2
0
0
0
-9
0
0
-1
0
0
0
8
0
-5
-2
0
0
0
18
0
0
0
0
0
0
-4
-7
0
0
0
0
0
21
0
0
0
0
0
3
-38
0
0
0
0
0
6
-35
0
0
2
0
0
0
20
0
-1
1
0
0
1
-31
0
11
-1
0
0
0
7
0
0
0
0
0
0
-52
0
0
-4
0
0
0
-25
0
0
0
0
0
0
-14
-2
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
-7
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
-3
0
2
0
0
0
-2
0
0
4
0
0
1
0
-4
0
-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
6
0
0
0
0
0
1
10
0
4
0
0
10
3
-2
0
-2
5
0
-12
0
0
0
-75
0
0
-28
0
1
-4
-61
12
-1
-13
0
0
0
12
0
10
-4
-6
0
-4
24
-1
0
-11
-3
0
0
15
0
0
0
0
-11
0
3
24
-48
0
0
7
0
0
1
-1
0
-46
-9
2
-1
0
0
18
-36
0
0
17
0
0
8
29
0
30
33
-2
0
38
27
0
-1
-17
0
0
17
21
0
0
15
0
0
-30
-11
0
0
-30
0
0
-9
24
0
-52
0
8
0
0
0
0
0
0
0
2
0
-7
-1
33
0
-12
0
0
23
0
0
0
0
0
0
-18
2
0
-16
-4
0
-3
-3
-9
-2
9
0
10
1
-22
0
4
-9
21
11
4
4
0
9
-19
2
-11
-10
10
1
0
-1
-9
-7
0
-13
0
0
0
0
-8
-6
0
0
0
0
-1
32
0
-25
-6
0
0
2
0
0
-54
-1
-8
0
1
0
0
-1
0
0
0
0
0
0
12
0
3
-3
0
2
0
45
0
5
-4
0
0
0
-62
0
9
7
-25
0
0
-42
0
-31
25
0
12
0
22
0
0
0
0
0
0
0
0
11
0
0
0
0
-24
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-6
0
0
0
0
9
0
0
0
1
0
0
0
0
0
0
-33
0
-1
-3
6
0
0
-9
4
0
-52
-2
0
0
0
0
7
0
-4
0
0
-4
0
-24
0
0
0
0
0
0
-19
0
0
0
0
0
0
18
0
0
2
0
0
0
58
0
-7
0
-1
4
0
0
5
24
0
0
-4
0
0
20
18
0
-7
-9
0
0
2
-24
0
0
22
0
0
21
-7
0
0
0
0
0
-39
38
0
0
-20
0
0
4
0
0
-30
0
0
1
0
-6
0
0
0
0
3
0
53
-1
0
0
0
0
0
16
-1
0
0
0
0
0
18
0
0
21
0
0
0
-52
0
12
0
0
0
-12
-22
0
0
-9
-7
0
0
-47
0
0
-6
0
0
0
21
0
0
27
0
0
11
23
0
0
0
0
-3
0
-13
0
-13
0
0
-1
0
-14
0
0
0
0
3
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
8
0
0
0
0
0
0
23
0
0
-2
0
0
6
19
0
0
0
0
0
0
-29
0
0
0
0
0
0
-30
0
0
0
0
0
0
-12
0
7
0
0
7
0
-12
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-5
0
2
-22
8
77
-10
10
-14
50
12
30
11
1
-51
29
2
-4
7
-3
-36
-17
3
-12
6
-8
-12
24
-6
-63
1
-6
4
-5
17
22
84
7
33
9
-19
6
12
-44
-4
16
2
-27
-26
3
-46
-5
-26
-6
-30
-13
-38
-12
11
7
8
-10
3
-14
-16
-26
0
-14
-6
-2
-2
-37
-2
-3
-44
3
-7
10
-25
0
-40
19
-12
-5
-62
-8
5
2
56
-1
-10
-1
24
0
18
11
-27
-1
38
-24
-1
2
-8
-12
-3
12
-49
-1
-23
-31
-18
2
53
-64
6
-3
10
15
-13
-18
34
16
57
-23
35
0
-5
-13
-39
-38
-10
35
-2
0
-6
-10
24
47
12
1
24
1
-4
27
-22
1
-6
-11
16
-14
-27
-33
-3
-2
21
-27
-4
-6
-21
-14
0
32
-18
4
-20
2
-37
-2
-83
23
-13
2
-45
-42
-3
-43
-29
-18
24
-6
-8
1
-37
-6
-16
-7
-12
-37
5
-87
23
23
-38
-11
-42
13
19
-8
23
-10
-10
-4
-9
-9
4
35
34
-11
14
4
30
-5
-2
12
-46
-8
-5
-41
8
-13
-2
16
20
0
-22
-28
-14
1
10
-44
-2
45
-12
-10
7
28
6
-2
17
-54
-15
-26
5
-30
-1
34
-71
-22
1
-8
14
-10
-3
-5
-2
-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
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
29
0
0
0
-18
0
0
5
0
0
0
2
0
0
-26
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
1
0
0
-1
0
0
0
0
0
-23
-1
0
-1
-6
0
-10
34
0
0
0
0
0
0
-20
0
25
-10
0
0
18
-36
0
0
0
0
0
1
-8
0
0
1
0
0
0
-67
0
0
0
0
0
0
6
0
49
0
0
0
0
20
0
0
0
0
0
0
-14
0
-6
0
0
2
0
-35
0
0
0
0
0
0
5
0
0
0
0
0
0
-26
0
0
-2
0
0
3
-16
0
-2
10
0
0
7
3
0
0
-1
0
0
0
-1
0
0
0
3
0
0
-53
0
0
0
0
0
0
-17
0
2
0
0
4
0
-46
10
0
0
0
0
0
28
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
-3
0
-8
0
-7
0
0
0
0
0
0
0
0
0
0
2
-11
0
-7
0
0
0
2
-2
0
0
0
0
0
0
-16
0
-9
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
36
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
-7
0
0
0
15
0
0
9
13
0
0
-13
0
0
-43
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-24
0
0
0
0
0
0
-12
0
-1
-2
0
0
8
-1
0
0
0
0
0
2
-30
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
-13
0
0
0
0
-1
0
0
0
0
0
0
-27
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
11
0
0
0
-50
0
0
0
0
0
0
-40
0
0
-1
0
0
0
11
0
0
-26
0
0
0
-29
0
0
0
0
0
0
-50
0
0
0
0
1
0
-6
0
0
0
0
11
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
-1
0
0
0
0
0
0
20
0
0
0
0
0
0
4
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
2
0
0
-19
5
-2
8
0
0
-28
-17
-2
-6
24
-2
0
14
-27
0
0
-34
0
0
12
-7
-2
-2
-28
-36
0
2
4
0
16
-35
-2
0
27
-22
0
-4
-20
-20
0
37
2
13
-1
-33
19
0
-3
-69
6
0
-1
26
0
0
-33
-9
0
0
-15
0
1
5
-29
-9
5
-6
0
1
-7
0
6
-2
0
0
-6
33
-8
-1
1
-36
3
22
22
-15
12
15
10
0
18
0
0
4
8
11
0
-10
-5
0
35
21
-8
0
25
-17
59
-18
3
-21
0
-3
-19
2
8
32
-4
0
-1
-18
-45
-19
0
-10
0
-6
9
11
-6
19
-4
0
36
3
34
41
6
20
0
17
23
-6
25
26
-10
0
43
12
44
9
12
-1
0
28
1
24
-25
27
15
0
33
2
17
19
7
-8
0
42
-9
-5
-3
19
-1
0
1
-29
10
-22
26
7
0
-1
-12
-13
94
-1
4
0
3
7
-19
6
-7
-11
0
-6
7
-8
-27
28
4
0
-34
-1
0
-13
-11
9
-7
53
32
-19
33
32
24
0
-12
9
7
-44
23
38
0
-30
7
21
13
29
36
0
18
-14
-30
47
56
-5
0
8
-9
-4
21
9
-2
-3
-1
-5
12
22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
21
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
4
0
0
0
18
0
0
-6
0
0
0
7
-2
0
16
0
0
0
-4
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
-23
0
0
0
0
0
0
-16
0
-4
10
0
0
-1
-11
0
0
-1
0
0
-7
26
0
0
-1
0
0
0
9
0
0
-4
0
0
0
-1
0
-2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-27
0
0
0
0
0
0
-36
0
0
-1
0
0
0
-41
0
0
-1
0
0
0
4
0
0
8
0
0
0
2
0
0
-1
0
0
0
-16
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
-3
0
0
9
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-6
4
-45
-2
16
31
30
-8
9
20
-4
-1
12
0
-33
-12
-18
-8
-32
-17
0
-4
54
2
-14
2
-32
-3
-18
18
2
-22
7
-10
1
-6
-15
10
-7
-1
-3
-8
-19
-48
-98
-2
-41
-5
-39
-46
-35
-18
6
0
2
-15
-28
-38
-35
-77
1
-10
18
0
21
5
-12
20
-81
-7
-1
-15
17
0
32
-41
-5
-1
8
-12
7
-2
-32
2
-5
30
-28
-7
-19
33
11
-4
6
-38
0
-7
-18
6
-4
23
-11
-8
-16
-33
3
-1
-20
-6
-10
-2
-21
-30
-8
32
-12
-17
-11
-30
25
-5
92
10
-41
-6
8
57
3
-13
-49
30
-92
-46
-4
-2
-11
-35
1
4
-3
-21
-1
-2
-47
-1
28
-8
-12
-3
15
-7
5
-7
-16
-25
-7
13
-3
-6
-8
9
-39
-1
28
11
2
-1
13
4
-2
45
-16
-9
-6
-3
8
-8
16
-31
0
-13
6
-87
-3
6
-10
-4
2
-20
16
-6
-46
-82
5
25
-58
5
-11
2
-9
-29
23
-9
9
-4
6
-33
8
-19
7
-20
5
8
6
-5
-39
-25
-32
-12
-31
29
-6
6
-15
11
-1
-4
-9
-20
8
-11
-39
-2
-35
-14
-21
-9
-25
2
2
28
-11
-24
-22
-11
-22
-3
26
-8
-6
-10
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-1
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
2
0
0
-3
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
9
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
-4
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
28
0
0
0
0
0
0
2
3
0
0
11
0
0
-3
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-3
0
0
0
0
0
7
17
0
1
-4
0
0
0
0
0
0
2
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
29
0
0
0
0
0
0
30
0
0
0
0
0
0
-20
0
-9
0
0
0
0
-11
0
0
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
-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
8
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
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
-3
0
0
0
-18
0
0
-4
0
0
0
30
0
0
-38
0
0
0
0
0
0
0
0
0
0
-17
0
8
0
0
0
0
-4
0
-12
0
0
0
0
0
0
0
0
0
21
0
0
0
4
0
-34
0
0
0
0
0
-11
-15
0
0
-18
0
0
32
-34
0
6
-43
0
0
67
-103
0
0
-1
0
0
3
-52
0
0
22
0
0
6
15
0
0
1
0
0
0
0
0
-7
0
0
-2
0
6
0
0
0
0
0
0
-7
12
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
4
0
0
-1
-17
0
0
0
0
0
0
-13
0
0
16
0
0
-2
23
0
0
-1
0
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
1
0
19
0
0
0
0
0
0
-23
0
0
0
0
0
0
11
0
0
0
0
0
0
-18
0
0
0
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
7
0
0
0
0
0
0
-10
0
3
0
0
0
0
10
0
0
0
0
0
0
-1
0
33
-2
0
0
0
34
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
6
0
0
0
0
-20
0
0
0
33
17
0
10
0
0
0
-9
0
0
31
-3
7
0
-51
16
0
-20
-1
0
0
17
0
0
1
0
0
0
-7
1
0
41
-1
0
0
21
0
0
0
0
0
0
0
0
0
0
21
34
0
0
0
0
1
6
3
-1
0
2
0
24
15
0
0
27
0
0
-42
-60
-3
-3
14
-7
0
7
7
0
0
12
1
0
3
2
0
10
5
-2
0
6
-12
0
0
-7
0
0
-1
-29
0
-33
-2
-16
0
0
37
0
0
0
0
0
0
15
-20
0
0
0
0
0
7
0
0
-1
0
0
0
32
0
0
4
0
0
0
0
0
-1
46
0
0
1
-8
0
0
25
32
0
1
-19
0
4
-12
4
0
-8
9
0
0
-15
51
0
-9
-9
0
0
14
0
0
0
4
0
8
-17
-2
0
0
32
-10
3
0
0
0
0
28
0
-1
0
0
0
0
4
0
2
0
0
0
0
15
0
0
-30
-4
0
0
5
0
-1
27
0
0
11
-9
8
8
16
-5
0
0
-39
0
-10
0
3
0
0
-6
0
0
-21
-7
0
0
5
0
2
0
0
0
0
-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
3
0
-2
0
-2
0
0
-86
-12
0
0
4
0
-7
-79
4
0
0
24
1
-1
38
0
0
0
1
0
0
0
0
0
0
-14
-2
-3
0
-3
0
0
1
0
38
0
0
0
0
0
0
27
0
0
-2
0
0
0
0
0
14
1
-7
0
0
0
0
-9
0
0
-25
0
0
-8
-23
0
24
-38
-3
0
-3
35
0
0
-31
0
0
-4
-41
0
0
2
1
0
-10
29
0
0
1
0
0
0
-5
0
-41
0
3
0
0
-13
0
0
0
0
0
0
4
0
0
0
0
0
0
-51
0
0
0
0
0
0
-25
0
0
-1
-21
0
7
-47
0
0
-9
0
0
0
-48
7
0
-3
-3
0
-1
-16
0
0
35
0
0
0
-15
0
7
-4
-3
0
0
18
0
0
0
0
0
0
28
0
0
-2
-3
15
0
8
0
0
0
0
0
0
30
-2
0
0
0
0
0
-3
2
-2
1
0
0
0
-7
0
1
-9
0
0
0
2
0
42
25
2
0
0
-6
0
0
-2
0
0
0
2
0
3
0
0
0
0
21
0
0
4
0
0
0
23
0
14
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
46
-34
-12
-3
10
4
0
18
0
-19
51
27
-9
-3
40
29
15
24
14
-2
10
-20
0
35
-1
-15
0
0
12
24
24
-38
-3
0
0
-6
0
-30
0
-33
0
0
0
-35
34
0
0
15
0
0
3
50
0
0
-10
54
0
0
0
-34
-23
0
2
-26
0
0
42
-2
-1
-37
12
-2
0
7
-9
10
-7
24
-7
26
17
-4
0
1
0
16
4
-3
-15
0
0
9
0
-7
8
16
0
-7
8
-26
-8
-7
8
-3
3
-2
0
-13
0
14
-17
1
3
-39
18
0
0
7
3
0
0
0
-35
-5
-29
23
-32
62
0
-41
2
0
-8
3
0
-3
23
-9
0
-2
14
1
4
37
-12
1
-7
21
21
-1
-10
-14
0
0
9
-26
4
33
0
0
-5
-20
-6
14
0
15
7
-18
-15
1
8
0
-13
-19
0
0
0
-1
-4
0
-17
0
-1
-10
2
1
29
8
-10
8
-3
0
-19
0
0
11
26
8
0
7
-11
0
-6
32
9
6
9
-25
0
37
-13
25
1
-4
-7
0
36
7
-2
3
0
40
-3
-1
30
-3
-14
0
5
0
31
0
0
12
0
-17
0
-57
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-23
0
11
15
-16
-10
-8
16
0
-7
-3
1
-39
20
60
-20
3
20
3
-25
22
-23
0
-1
24
0
-35
-34
-51
4
13
10
-35
-1
-43
-11
0
0
-24
2
-40
0
2
0
0
0
-38
2
0
-1
-40
0
0
-1
-3
7
-12
0
39
42
8
0
9
-2
0
4
4
1
-1
-34
-11
0
-16
-16
-24
0
5
6
27
25
11
2
-17
50
-16
-7
-3
-31
-2
-3
-10
-13
0
4
-21
-10
-6
20
-6
0
-7
-35
-50
14
0
-2
0
3
-2
-2
-38
0
1
15
4
0
-12
0
0
-34
0
-1
16
0
4
41
10
26
18
-6
33
-7
-12
-5
9
17
44
-1
-24
-47
-15
0
-20
-4
6
28
-13
-10
0
1
-10
23
-2
-11
16
1
2
-20
49
-8
24
2
0
-4
-11
-4
-7
4
12
0
23
-39
29
21
0
-9
-30
-1
0
-1
-2
10
52
8
7
0
-10
2
-1
30
-4
20
2
0
0
18
-11
0
-21
11
-9
-6
7
16
0
-101
24
-7
-9
-11
-28
2
-5
-39
2
-8
-57
25
0
1
-26
-10
-10
0
-3
0
8
12
5
-12
-2
7
9
-3
4
1
-21
0
-7
-31
-3
1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
4
0
22
0
0
0
-28
0
-2
-15
0
0
0
18
-1
0
-33
0
0
0
0
0
-1
-1
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
-37
0
0
7
0
0
0
0
0
-14
1
-2
0
0
0
0
-66
0
0
0
0
0
-1
-16
0
-42
-24
0
0
-49
-7
0
0
-1
0
0
-1
-61
0
0
-1
0
0
0
19
0
0
-1
0
15
0
-2
0
27
0
-1
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
-12
0
0
0
0
0
0
33
0
0
0
0
0
0
1
0
0
0
0
0
0
-45
0
0
-1
0
3
0
-15
0
0
-2
0
0
0
-33
0
0
6
0
-10
0
-1
0
0
0
0
-8
0
11
0
0
0
0
0
0
-20
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-2
0
0
0
0
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
13
0
0
0
0
0
0
-39
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-17
1
0
22
7
0
-26
17
0
0
-3
0
0
34
-5
0
0
54
9
-1
61
0
0
0
0
0
23
1
10
0
0
-15
8
20
0
0
0
0
-1
0
35
0
0
0
0
0
0
-43
0
0
19
0
0
0
-3
0
-14
0
-9
0
0
0
-1
-76
0
0
0
0
0
-73
-47
0
11
-9
1
0
15
-54
0
0
-55
0
0
18
-25
0
0
68
16
1
7
35
0
2
5
0
6
0
-51
0
28
17
-6
0
0
1
0
0
0
0
35
0
52
1
6
0
-2
0
0
40
11
0
0
0
0
0
-170
0
0
-1
-6
0
18
10
0
0
0
0
0
18
-15
0
0
-24
1
0
-35
-6
0
0
20
0
0
7
8
0
-4
-13
-3
10
0
-12
0
0
-13
0
-3
0
-32
0
0
0
-23
-19
0
26
0
0
0
0
0
0
-23
-9
0
0
0
0
0
3
0
-1
0
0
0
0
-42
0
0
0
-1
0
0
-45
0
-5
-1
0
0
1
-2
0
0
-20
-19
0
0
27
0
-1
7
0
0
0
34
0
0
0
3
3
0
-8
0
-16
0
0
-9
0
35
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
-7
0
0
0
24
0
0
10
1
0
0
-5
0
3
-53
0
0
0
-1
0
0
8
1
0
0
-7
0
0
-6
0
0
0
0
0
-1
0
0
0
0
0
0
11
0
0
1
0
0
0
0
0
-61
0
0
0
0
0
0
-61
0
0
0
0
0
-2
-45
0
-30
-42
0
0
2
41
0
0
-2
0
0
6
-45
0
0
-3
0
0
3
-25
0
0
-4
0
0
6
5
0
-89
0
0
0
0
64
0
0
0
0
7
0
-4
-4
0
0
0
0
0
-75
0
0
0
0
0
0
-19
0
0
0
15
0
0
-103
0
0
-2
0
0
0
67
0
0
5
0
0
0
-50
0
0
-46
0
0
0
40
0
0
-6
0
0
0
-36
0
0
-1
0
0
0
-34
0
0
0
0
-2
0
10
0
0
0
0
0
0
9
0
0
0
0
0
0
9
0
0
0
0
0
0
-11
0
0
0
0
0
0
-56
0
0
0
0
0
0
22
0
0
4
0
0
0
-34
0
-1
0
0
0
0
12
0
0
0
0
0
0
-18
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
-23
0
0
0
31
0
0
40
29
0
2
0
-1
0
-10
13
0
0
1
0
0
0
0
0
0
-2
0
0
-1
1
0
0
0
0
0
0
0
0
0
9
0
-12
0
0
0
0
0
0
0
0
-53
-4
0
0
0
0
3
36
0
0
30
0
0
2
-13
0
16
7
-1
0
-31
-72
0
0
-5
0
0
3
13
0
0
11
0
0
12
13
0
0
-35
0
0
0
44
0
22
0
8
0
0
5
0
0
0
0
0
0
19
1
-2
0
0
0
0
-8
14
0
0
0
0
6
23
0
0
23
3
0
2
27
0
0
62
0
0
-4
-42
0
9
64
0
0
-1
40
0
2
44
0
0
3
-34
0
0
27
-2
0
0
31
0
0
-1
0
0
0
-13
0
0
0
-10
0
0
-6
0
0
0
0
0
0
-46
-2
0
0
0
0
0
7
0
-10
-3
0
0
0
2
0
0
1
0
0
0
72
0
-12
2
0
0
0
-13
0
0
1
-8
0
0
33
0
-2
-60
6
0
0
22
0
0
0
7
0
0
17
0
-1
-4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
1
-10
-3
-4
-4
28
11
13
47
-17
12
-4
-7
8
54
0
3
25
-3
4
32
12
0
0
16
15
4
-6
24
0
-2
32
-13
16
1
47
-3
0
14
27
-5
0
-2
-58
0
0
-2
17
0
-8
-4
17
7
12
0
-13
4
-3
1
18
16
0
-13
35
-1
37
-31
-17
-8
9
5
1
3
7
13
13
-25
19
2
-39
9
33
-4
-30
12
10
6
-45
-6
4
29
0
0
7
-1
6
-1
0
-12
-27
-1
-2
3
16
0
9
10
-47
0
40
41
0
-12
39
32
-10
41
0
8
9
-3
6
-62
0
0
2
-7
7
-5
-14
9
-14
-5
8
15
34
-27
29
-68
47
3
-4
26
-12
-23
72
1
7
0
-37
14
7
38
-9
6
7
42
9
-6
-33
-3
-26
0
1
-25
25
1
0
-10
35
41
0
-1
39
8
-41
1
-1
-2
-29
0
-4
-18
-7
22
54
0
0
-1
-55
1
-20
-19
-15
-6
1
18
1
-9
-9
-4
-42
10
26
-3
-9
20
14
7
36
-20
-9
30
-7
-6
-50
4
1
-2
-5
-36
14
31
0
3
0
25
-33
0
36
0
-4
-12
25
18
-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
-11
-3
3
-6
27
-8
48
39
53
11
0
40
22
70
27
28
-2
0
3
-1
-47
-25
9
0
0
7
-19
11
-67
-15
1
0
9
0
-14
-1
-18
0
0
-8
-5
-9
0
-7
9
0
0
0
5
0
20
1
51
-7
7
0
0
0
0
-1
36
-1
0
3
-19
-6
-11
-10
-29
0
20
16
2
1
-6
1
4
31
-2
12
0
17
8
30
6
20
-8
3
6
15
-58
8
-21
-1
1
11
-29
-23
0
-5
1
0
-7
4
33
3
7
48
4
0
-74
-13
-1
-13
17
-3
7
0
0
19
0
0
25
14
-2
-4
-32
-13
-7
8
-35
-3
7
44
3
-7
56
4
-10
-5
24
-7
-10
-12
22
20
-25
32
-6
0
65
16
27
14
-1
-3
0
-1
-7
3
-2
6
-10
0
0
2
0
-16
0
11
-31
-2
0
0
-14
0
9
-1
0
-1
1
0
19
0
0
-16
-34
18
0
2
-8
1
-30
-58
41
0
-9
-12
7
7
-40
0
0
-32
2
6
13
8
50
15
-18
-17
0
20
-2
-1
33
-12
-24
-1
2
-11
-6
6
0
-5
0
2
0
0
-66
0
10
-4
-10
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
106
17
-10
0
16
-7
0
22
7
0
0
28
0
-9
35
-6
0
0
9
3
0
25
0
0
0
0
0
0
0
-2
0
0
0
-2
2
0
0
0
0
0
0
-8
0
-7
-4
-3
0
0
0
0
-35
0
0
-37
0
0
-1
-92
0
-32
-44
0
0
5
21
0
0
37
0
0
-7
0
0
0
61
-2
0
57
-4
0
0
71
0
0
-1
58
0
4
0
-4
0
0
-26
0
0
0
0
0
0
30
-4
0
0
10
0
0
-1
-8
-3
0
0
0
0
-28
16
3
-4
0
2
-6
11
0
11
-8
0
-9
-4
-3
0
0
32
0
0
-4
54
0
-16
-18
0
0
-10
1
0
0
-4
11
9
0
-26
2
0
1
0
-18
0
31
0
0
0
6
25
0
-9
-1
0
0
0
0
0
3
-2
0
0
0
0
0
-1
0
-5
0
0
0
0
33
0
-7
0
0
0
2
34
0
0
2
0
0
6
20
0
-7
0
0
0
0
-78
0
2
0
0
0
0
51
0
0
3
0
0
0
-40
0
1
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
-25
0
0
0
27
0
0
-39
21
0
0
66
-8
-1
-69
0
0
0
21
0
-4
0
0
0
0
-3
0
7
0
0
0
0
0
0
-4
0
0
0
0
0
18
-19
0
0
-8
0
0
0
-2
0
18
-7
0
-3
0
0
-6
27
0
0
5
0
0
6
-34
0
-20
37
29
0
-12
23
0
0
-5
0
0
-1
-15
0
0
-8
-3
0
-2
-25
0
0
-4
0
0
0
27
0
42
0
17
0
0
30
0
0
0
0
0
0
-21
-3
0
0
0
0
0
-77
-1
0
3
0
0
0
-27
0
0
-7
-1
0
4
-60
1
0
-6
0
0
0
-127
0
0
37
-2
0
9
-54
0
0
-34
0
0
1
46
0
0
-1
3
0
0
31
0
0
-3
0
0
0
19
0
0
0
-2
8
0
-11
0
0
0
0
0
0
-4
-3
0
0
0
0
0
-20
0
-13
0
0
0
0
-14
0
0
0
0
0
0
-3
0
-3
11
0
0
-6
-15
0
0
-4
0
0
0
18
0
-4
8
0
0
0
25
0
0
0
0
0
0
71
0
-1
0
0
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
31
0
0
38
8
-20
11
42
68
-22
53
47
16
0
58
-27
-16
39
14
1
10
14
-2
0
12
15
12
1
-8
0
6
3
-17
10
-2
-1
10
0
33
20
6
0
-10
-2
-1
0
20
20
-1
15
11
26
7
-9
0
-64
-14
0
-8
-54
9
0
-38
4
0
-9
18
0
-3
13
5
89
-8
35
-15
-2
4
12
-6
16
35
54
26
-35
16
-1
-17
23
-13
20
-2
8
28
-1
39
30
-24
16
-8
-23
8
-21
26
5
0
0
-1
0
-1
25
-5
-1
4
38
0
-6
30
-2
-21
21
-16
-75
12
6
-33
-29
2
0
11
-37
-34
15
-6
6
2
-47
-13
42
1
3
16
-20
-3
9
-18
-6
15
8
-14
-6
9
26
40
-81
10
17
36
43
60
-31
-19
-1
23
19
8
12
32
0
7
-46
-13
2
70
-3
2
2
0
11
-2
-40
-6
38
-3
-1
38
-47
21
22
-27
4
0
8
31
5
-12
-3
14
-11
-18
-35
-21
13
-71
-1
3
17
39
11
-30
23
13
2
11
9
22
5
36
-4
29
-24
-16
7
-31
-9
4
19
-20
39
17
10
0
9
-32
8
9
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
17
-2
0
0
33
1
-16
-18
34
3
64
3
0
-46
-33
10
0
4
-6
0
9
-45
-2
0
0
10
-3
20
-11
-1
0
0
8
0
11
-2
-67
0
0
-9
0
-3
0
-3
-22
0
0
0
-11
5
2
67
-20
29
0
0
17
-4
1
0
44
0
-4
4
-10
0
-21
-48
0
0
8
-34
4
-7
21
19
5
-37
-10
0
-1
9
0
-5
5
-6
0
-7
8
0
-5
-28
-5
0
17
-24
0
27
14
-14
0
-2
47
0
19
0
13
-30
-13
0
0
1
3
8
-13
0
40
0
0
-68
-15
21
0
-18
3
26
-22
2
0
6
25
1
10
20
-65
0
-8
-23
-3
18
29
0
0
27
25
-9
7
7
2
0
34
18
44
43
-24
-8
2
45
21
-11
-1
-9
1
0
-16
36
0
-7
1
6
-2
0
0
0
29
0
12
79
0
-4
0
0
0
-56
0
22
-6
0
1
7
1
0
1
-10
15
7
59
-12
-6
-26
33
0
-1
-44
-30
0
16
4
13
33
57
-7
0
4
21
18
-11
21
13
2
-11
18
0
14
-11
-22
0
21
27
0
65
0
11
-50
-5
-28
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
5
-2
0
7
9
55
0
48
18
0
24
8
0
0
-18
0
0
-56
40
1
0
-1
-3
0
-16
0
0
0
15
1
0
16
-6
0
0
-23
20
-8
0
0
-4
0
0
20
0
0
-35
60
-6
38
0
0
-3
-5
0
0
-21
0
0
38
0
0
-13
60
-56
0
33
-1
0
0
26
0
0
40
24
29
0
25
2
0
-40
19
0
0
11
0
0
15
24
-2
-3
17
11
0
3
15
0
0
0
-30
0
3
10
6
3
0
-13
0
1
-19
-4
0
0
0
0
88
-23
2
0
4
-8
0
-13
15
0
-15
62
0
0
83
11
0
10
42
-10
0
0
23
15
0
47
-13
0
28
14
0
0
4
-8
0
7
-17
0
0
-11
-1
0
0
17
0
2
4
-7
0
1
-5
0
0
1
0
0
-2
-30
13
0
0
2
0
-1
-2
0
-5
33
0
0
3
4
1
-3
85
-6
0
6
16
-2
-20
74
-1
0
15
-4
-4
-8
46
35
0
-33
37
3
55
1
2
0
-26
-5
0
-10
6
54
0
0
16
0
-15
0
0
0
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
-68
-2
4
-4
7
-2
-7
46
-68
1
-20
13
15
0
15
-6
-2
-7
-8
-23
5
33
-3
-5
-60
13
-25
-41
-22
-2
-2
-7
-3
13
-32
-13
0
-53
-41
1
-45
9
-23
8
-22
30
-57
-18
12
-36
30
-2
-26
-17
11
11
74
19
0
17
42
4
7
-8
-34
-3
-28
36
6
-3
18
9
-1
-1
10
-11
3
5
31
-6
-7
-3
-19
4
84
-5
-11
1
-9
-1
1
24
-17
-2
8
17
2
9
-5
9
-36
11
-1
-35
14
7
-28
-14
2
-8
23
0
-48
-9
-18
5
37
33
2
46
25
5
-19
30
19
-3
-2
13
-7
13
9
31
-7
-22
37
1
20
-7
-4
4
29
-19
3
-1
25
-3
-4
35
29
1
-15
-2
-23
-7
51
12
-3
8
12
48
-5
-13
-15
3
-46
-5
-3
-11
-15
-47
8
0
-14
-6
-8
-5
-7
29
22
55
-15
-25
18
15
11
30
-18
16
-6
5
18
-3
30
-7
-18
-15
-41
4
9
21
29
-12
-8
30
12
0
-28
-9
3
-9
14
12
-9
-12
1
-2
-2
-10
-2
36
18
0
72
5
-9
6
-23
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
8
-72
0
3
84
23
-2
-34
45
0
-6
-11
3
20
-3
2
0
-5
85
1
13
34
-22
0
0
-4
0
27
0
-6
0
0
4
9
1
0
0
19
0
0
0
-19
-1
-8
40
59
15
-10
0
19
-16
0
0
62
0
11
-30
0
0
-23
41
-17
0
-29
12
1
3
-37
0
2
30
14
0
0
118
4
0
12
53
0
0
13
0
3
5
76
0
-66
2
-46
0
0
21
0
0
-7
0
2
1
23
37
9
0
1
0
0
14
0
-1
-3
0
0
12
6
-16
1
43
5
0
-26
0
0
0
11
0
0
61
29
1
7
-28
-8
1
-17
-26
0
6
15
0
0
-33
15
0
-1
-9
17
1
0
7
0
0
41
-3
-4
0
6
0
0
14
-1
35
0
0
3
0
0
0
0
0
25
1
7
0
1
0
-8
-15
0
26
24
0
0
0
0
-4
9
-5
-17
0
1
0
0
-11
-7
0
0
-1
30
0
18
12
-6
0
0
-4
0
-13
-15
-18
0
-1
-11
0
0
7
-4
3
0
-5
0
-16
-2
0
3
0
35
11
-2
-13
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
13
0
6
0
0
-7
-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
6
0
0
0
0
0
0
0
0
-39
0
10
0
0
0
0
-33
0
0
7
0
0
7
2
0
1
-5
0
0
43
-8
0
0
8
0
0
-4
-4
0
0
-3
0
0
1
-19
0
0
0
0
0
0
-6
0
-12
0
1
0
0
51
0
0
0
0
0
0
-6
0
0
0
0
0
0
39
0
0
0
0
0
0
-25
0
0
10
0
0
0
9
0
0
-5
0
0
1
-11
0
2
-2
0
0
0
18
0
9
-8
0
0
0
10
0
0
0
3
0
0
-17
0
0
0
0
1
0
10
0
0
0
0
0
0
21
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
0
0
0
0
54
0
0
0
0
0
0
2
0
3
0
0
0
0
-1
0
0
6
2
0
0
61
0
8
0
0
0
0
-1
0
0
0
0
0
0
41
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
8
0
-14
0
0
0
-3
0
0
0
3
0
0
58
0
-7
1
0
0
0
0
0
0
4
-3
0
0
0
0
110
0
0
0
0
0
0
0
0
9
3
0
0
0
0
5
-96
1
0
-6
0
0
-4
-3
0
-10
52
-2
0
-15
28
0
0
5
0
0
0
-39
0
0
0
0
0
4
-23
0
0
0
0
0
0
11
0
72
-1
1
0
0
-35
0
0
0
0
-2
0
-27
1
2
0
0
0
0
-3
0
0
0
0
0
3
-30
0
0
-7
0
0
1
-9
0
0
6
0
0
7
-32
0
0
-4
0
0
-2
33
0
-4
0
0
0
0
-6
0
0
1
0
0
0
-59
0
0
0
0
0
0
-43
0
0
10
0
0
0
52
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
-6
0
0
0
0
20
0
0
0
0
0
0
39
0
-2
0
10
0
0
-9
0
0
3
0
0
0
8
0
0
-6
0
0
0
13
0
0
0
0
0
0
-29
0
-28
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
11
39
-9
36
4
-13
49
-41
29
7
-6
-2
-43
-21
-13
-1
3
-15
-4
-30
1
17
-2
-6
-24
4
-11
10
-5
-6
0
-33
-9
-71
1
-18
-19
-56
-24
-79
5
-34
-38
-2
50
3
39
-4
-30
-7
19
-10
-22
30
15
-22
-13
23
-26
7
0
-4
-8
8
9
5
46
26
-10
63
-24
23
2
1
11
-13
-53
-33
-2
5
-12
-50
-6
-34
-5
15
-6
29
-40
-8
10
2
38
96
15
-1
9
0
10
-2
-2
4
4
3
38
3
7
-20
-46
-51
-15
11
-54
16
16
34
32
7
-16
-1
20
6
-1
20
-5
-1
-8
13
19
19
5
-8
7
1
-12
-6
15
12
-2
-36
-11
15
-8
-6
-32
-12
35
-23
-13
-57
2
-7
0
-23
-39
9
-9
-3
-1
-1
3
-36
35
-25
-13
24
7
10
-29
-36
12
11
-26
-8
-18
26
3
8
-34
25
13
-55
93
-48
6
-7
13
1
-10
-30
-13
32
-44
-29
-13
10
4
32
0
9
-43
1
6
9
-9
67
10
-2
-7
1
27
0
-7
9
22
-9
9
17
36
77
-4
-28
2
26
-29
-2
69
-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
19
30
0
0
49
0
0
-12
0
0
0
24
0
-1
-2
-6
0
0
16
0
-13
3
-1
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
7
0
0
0
-7
0
15
-8
-2
0
0
0
-35
67
0
0
13
0
0
16
15
0
-24
-13
0
0
17
3
0
0
15
0
0
-38
11
0
0
5
0
0
-1
-26
0
0
-1
0
0
0
-14
0
31
3
-1
0
0
13
0
0
0
0
1
0
-3
4
-11
0
0
0
0
23
-9
0
0
0
0
12
8
0
1
8
1
-1
6
-33
0
0
3
0
0
7
6
0
0
0
0
0
-7
-7
0
0
-1
0
7
8
-39
0
0
-13
0
0
-4
-31
0
0
5
0
0
0
3
0
0
0
1
40
0
-8
0
0
-6
0
0
0
-22
0
0
0
0
0
-8
-2
0
-22
0
0
0
15
-31
0
0
6
0
0
0
-35
0
0
3
0
0
0
-18
0
0
-10
0
0
7
-38
0
-40
11
0
0
0
-23
0
0
11
0
0
0
7
0
14
35
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
40
-11
-15
51
11
0
-23
10
0
0
-8
0
0
-36
0
0
-7
-13
0
7
48
0
0
0
-2
0
0
6
0
0
0
0
-18
0
0
0
-34
0
0
0
0
0
10
16
6
-3
-9
0
13
25
0
0
23
0
0
-9
-44
0
7
1
2
0
4
-35
1
0
-33
-8
0
8
-11
0
0
29
-3
0
4
-48
0
0
14
0
0
1
74
0
21
-36
-1
0
0
-12
0
0
-9
0
0
0
-8
43
66
0
0
0
0
7
6
0
2
2
0
-7
1
0
7
-59
13
0
67
-3
0
0
-16
2
0
-6
42
0
11
71
6
0
-36
-22
0
8
44
-1
0
14
-30
0
10
16
71
-1
-38
0
0
-10
36
0
0
0
-37
0
26
72
9
0
0
-16
0
0
4
0
0
0
-13
-9
0
0
0
0
0
-11
0
4
12
0
0
-7
44
0
0
34
-51
0
-4
4
0
48
-53
0
0
2
14
0
-15
3
25
0
0
-46
3
42
26
-8
0
3
-48
0
2
2
-37
0
0
15
0
-8
-2
2
0
2
32
-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
-13
20
61
4
21
-74
17
10
-1
-14
-10
-29
-36
-21
11
-20
28
13
2
-36
8
0
-11
-6
39
-46
-13
-7
-2
-4
-28
-5
-4
26
2
109
0
21
-7
-1
-5
-1
-3
1
-79
38
-6
19
-37
13
-22
28
21
-6
-4
15
6
27
3
26
43
0
-9
19
-12
52
63
-6
1
25
13
-10
-4
2
-1
34
22
-32
-2
18
-10
-12
-9
-11
-6
-17
-37
23
-1
21
8
0
-6
-4
-18
1
0
8
-2
2
66
25
11
-18
9
30
2
11
27
-4
15
-21
3
-5
12
16
-14
-88
17
-19
-16
-6
23
-23
4
16
-28
-3
-14
19
-7
37
32
0
-10
31
-25
-10
-1
-4
5
-3
51
-37
32
67
2
32
-13
46
32
-7
-21
5
1
1
3
24
15
28
10
-14
-21
-43
-1
-15
-29
6
-13
-1
5
15
18
66
8
-50
-24
55
14
-22
9
46
42
-5
30
15
-14
44
70
48
-21
-4
-17
8
-3
15
41
-1
13
19
11
-11
-2
-7
2
15
-29
34
17
-7
40
8
58
18
31
-22
-1
8
-13
47
8
29
11
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
-4
0
22
0
30
-36
-11
0
16
-2
-1
-7
-2
9
0
0
-7
0
13
-2
-17
1
0
-1
0
3
0
0
-4
0
0
1
-60
-15
4
23
26
0
-12
0
1
18
0
0
31
11
-8
34
-22
10
-10
13
15
0
-48
0
-2
0
-12
23
0
10
-67
-16
3
-44
14
-1
-21
1
0
0
-18
0
0
109
11
0
-4
-22
39
-1
-8
-50
0
0
-7
-9
-19
1
0
-3
26
0
-31
-17
-2
-6
-13
-7
-3
4
0
11
-7
20
-6
-3
7
0
-8
2
0
-35
11
-4
18
13
0
3
9
11
-33
1
-70
-5
0
-7
-1
4
16
36
1
0
-16
-27
5
0
-80
2
0
35
-19
-2
46
1
13
18
-4
13
-21
30
0
25
0
0
0
0
-22
0
-7
-39
13
0
4
0
-17
4
-4
-29
-45
-1
0
7
-28
4
57
-59
14
-7
3
0
22
-27
63
0
0
15
-10
0
18
-78
46
-10
0
0
-2
-22
-44
-11
10
3
12
6
10
78
-35
-17
-4
41
-2
-2
-14
0
12
2
32
11
-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
13
57
0
-2
0
0
0
21
1
0
0
50
0
-24
-22
0
0
0
5
0
0
0
7
0
0
2
1
35
0
0
1
0
0
0
7
0
64
18
-11
0
0
0
-21
-16
0
0
42
0
0
-11
15
-3
-8
-4
-17
0
-39
-69
-10
0
44
-10
0
49
-39
0
0
-10
0
0
-30
-28
0
-2
4
0
0
0
4
0
39
-2
0
0
0
-15
0
0
0
0
-1
0
14
-9
0
0
0
0
4
19
0
0
0
0
0
-6
-9
0
0
-37
0
3
11
-18
0
-15
97
3
0
-1
16
2
8
-33
-9
-9
3
22
0
0
-14
0
0
10
-4
0
-6
10
0
8
0
-27
0
0
1
0
-2
0
7
0
-15
-3
6
16
0
35
0
-1
0
-1
0
0
-15
31
0
-2
8
0
0
-45
0
19
-9
0
0
0
63
0
-1
0
0
-3
3
55
0
-1
2
0
0
-7
17
0
-2
2
0
0
1
-61
0
-7
-1
2
7
0
-30
0
0
0
0
3
0
-31
0
-24
0
-6
6
0
29
-2
-6
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
27
0
0
-30
0
-1
-8
0
0
0
3
0
-3
-13
-7
0
0
1
0
6
0
2
0
0
0
0
-22
0
0
-12
0
0
0
45
0
-53
-1
0
1
0
0
45
19
0
0
27
0
0
-24
-4
0
-73
-26
-5
0
-69
37
0
0
47
0
0
11
-9
0
0
-20
-5
0
0
-9
0
0
-9
0
-11
4
-20
0
30
-11
-10
0
-4
-14
0
0
0
0
-11
0
-32
-16
0
0
-1
-6
0
28
-12
0
0
0
0
-4
10
0
0
32
-1
-1
35
-4
0
0
1
0
0
-2
23
0
7
7
-1
0
-16
1
0
-1
-46
0
0
51
18
0
0
-10
-20
0
4
-17
0
0
0
0
32
0
-13
0
0
1
3
-8
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
-3
-3
0
0
-4
43
1
0
-1
0
0
0
17
2
-11
-7
0
0
0
-13
0
9
-7
-3
0
0
26
0
0
4
-16
0
0
-38
0
0
-1
2
2
0
39
0
12
0
0
1
0
-49
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
8
25
34
-12
-20
2
9
-7
-22
10
3
-10
-5
73
-15
5
10
-58
-17
-5
1
-57
-23
-9
4
-34
-21
-2
-9
45
2
61
22
21
-3
-23
9
-11
24
23
13
-13
19
30
11
16
8
7
-8
5
-4
38
7
-2
23
36
8
-21
6
13
-5
-17
0
16
11
6
-3
-16
14
-12
1
-37
21
-15
-7
-33
4
-7
-20
-22
24
-4
45
-43
-9
39
1
13
-13
-20
-9
-1
10
16
36
16
17
-20
-26
11
-7
12
33
-3
-21
12
-2
24
7
-1
-23
-18
-2
77
-14
-32
-9
-47
16
-10
-7
6
2
-10
51
4
-12
8
30
5
-10
-17
11
-15
-16
-4
3
-3
16
-28
11
-14
9
34
-12
4
-25
16
-12
6
54
-4
-16
46
-51
-6
-9
-3
6
-14
-15
10
-5
8
-15
9
-22
-13
0
1
-70
-18
-5
43
16
-6
16
33
-23
0
26
-7
-22
3
-34
3
-23
-8
6
12
-17
27
30
10
4
16
-6
-14
25
42
2
-9
-9
24
-6
28
17
-6
8
-6
51
10
1
-23
0
-21
-31
-20
16
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
-13
11
-2
-7
7
-1
-3
-54
-26
-1
-2
-5
0
10
-25
23
-2
-3
-16
-1
10
-7
-26
-4
0
-48
0
-1
0
6
-22
0
0
0
-5
10
7
-3
0
3
8
0
18
3
17
-3
31
-1
0
-6
34
-4
23
0
0
-5
3
-6
-3
-4
8
6
-34
-9
-23
-2
16
17
-4
3
-1
-1
0
-1
24
0
7
15
10
2
15
0
-2
38
21
9
-13
1
43
-1
1
0
-1
1
8
0
-1
-10
1
-6
34
12
3
0
7
14
10
-7
10
19
-1
15
14
4
-7
43
29
0
-6
2
-1
-3
9
-1
1
-48
-33
-5
-12
1
-5
3
17
-24
-13
29
9
4
-11
-17
7
5
7
-3
32
0
-8
-1
12
32
-31
29
0
0
-7
-4
-12
33
-7
-8
-20
16
-10
-54
-6
-40
0
-7
-97
-15
-3
-23
-33
0
-28
-61
4
2
-32
15
-2
0
1
-4
-9
21
11
0
18
-35
14
0
-40
-39
7
-1
56
12
25
0
-17
1
-20
28
-3
-7
-81
2
4
4
18
-8
-3
21
16
0
17
-2
-8
17
3
7
-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
47
-10
0
-4
2
-3
0
-33
-4
0
0
41
-12
0
0
-9
0
-4
-27
-2
0
-3
-2
0
0
-8
-14
-1
0
-8
-69
0
0
-5
0
-6
-9
-7
-32
48
-4
0
26
6
0
0
13
0
0
15
-13
-25
-2
5
-52
0
-21
-16
-4
0
-26
-8
2
18
17
0
-1
-3
23
9
27
-2
6
0
6
-8
0
-11
11
0
-10
26
8
0
-1
-5
1
18
-9
-2
0
-2
13
-74
-34
0
24
0
0
-13
7
0
-2
1
0
30
26
26
33
-2
4
-1
6
11
2
-34
4
0
0
1
12
0
-13
-6
-31
0
-7
-6
-6
-46
24
16
-13
-12
-4
1
26
-14
-10
0
22
-7
0
9
27
0
0
3
-21
0
58
-15
-67
0
0
3
-8
-15
0
-1
0
0
3
43
-12
21
-6
0
27
-4
-1
-28
-18
0
0
13
4
-9
-6
33
48
0
-9
29
18
5
1
-7
0
71
16
0
27
4
-16
0
12
4
2
39
19
-12
0
-42
1
8
-5
-13
46
0
18
-3
0
17
3
0
0
3
-11
-23
3
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-8
-26
-14
0
-9
0
1
-26
47
-2
-12
11
-10
29
-2
42
-11
-44
-24
-1
0
-1
-25
-7
-12
-11
-1
-8
-1
1
5
-19
5
0
1
5
-24
-56
4
-38
-11
-12
10
-14
1
-2
-32
-38
-6
-3
18
-11
3
-14
-15
-9
11
18
74
2
-5
-18
-49
-8
-39
2
-15
39
-8
-53
-11
-15
-1
-8
-12
12
87
-11
-48
-51
-6
3
-7
0
-1
-35
-10
0
-3
4
-20
-2
17
35
11
-50
29
23
8
-48
14
-8
-11
-16
14
4
-8
-15
-6
-11
17
-17
8
0
7
-14
3
28
-21
8
-16
19
11
2
28
-1
-1
-8
1
-12
-4
22
10
-7
30
-15
9
35
-2
-46
0
-8
-8
-22
-3
-7
-1
-2
4
-9
23
-42
5
-9
-8
-12
20
-31
1
-4
-38
-4
20
-5
16
-3
-27
-99
1
83
-14
13
3
36
-30
-6
50
13
14
36
26
-6
-3
35
-35
-13
-11
-78
-52
-3
2
-15
10
10
-3
-21
-5
18
-6
-2
-1
-11
7
4
8
1
-4
59
6
3
-10
30
25
-18
-13
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-51
0
0
-27
-6
-40
-54
29
0
0
-38
0
-13
0
-16
0
0
-19
-3
-38
0
0
11
0
0
3
-27
0
-4
13
5
0
-5
0
14
15
0
-2
-52
0
0
17
3
6
50
-4
-15
0
-22
15
-23
1
24
1
0
-33
0
-11
15
-9
-22
0
2
8
0
-17
-30
-1
8
-38
-1
0
-7
41
-33
-7
17
-14
0
0
2
0
-6
0
8
-2
60
0
3
0
0
-5
82
0
15
0
0
-2
3
28
-10
2
10
16
-28
-11
-2
-19
-11
-7
7
-6
20
1
25
0
-9
0
-35
0
-4
3
-5
19
27
14
-7
-4
18
-2
-19
-18
5
-19
0
-9
23
0
-15
0
10
0
-3
-2
-15
-17
6
21
-3
0
1
16
7
0
10
-3
0
-16
-7
0
0
35
-11
32
10
-1
6
1
-15
0
20
7
-11
0
-7
-12
4
-41
-13
-2
0
-9
0
0
66
-32
25
-1
-23
8
0
-46
-22
1
-1
1
-16
-12
-7
-2
15
12
-4
0
0
19
-3
0
2
0
38
18
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
10
0
0
7
-8
0
0
4
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
0
-86
0
0
0
0
0
-1
36
0
0
15
0
0
-4
-73
0
-51
7
12
0
-32
3
0
0
2
0
0
-4
-52
0
0
-3
11
0
0
13
0
0
-13
0
0
0
7
0
-6
0
-2
0
0
5
0
0
0
0
0
0
1
-12
0
0
0
0
0
-23
-2
0
0
0
0
0
-11
0
0
-10
0
0
0
-65
0
0
-33
0
0
6
-31
0
0
-3
0
0
0
-83
0
0
0
0
0
-7
-56
0
0
-2
0
0
0
3
0
0
0
0
0
0
21
0
0
0
-1
3
0
-56
0
0
0
0
0
0
19
-2
0
0
0
0
0
-15
0
2
0
0
0
0
-2
0
0
0
0
0
0
-20
0
0
8
0
0
2
7
0
0
0
-4
0
0
-18
0
-3
6
0
0
0
-25
0
-2
10
0
0
0
-9
0
4
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-1
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
-1
0
0
0
-2
0
-7
0
6
0
0
0
-12
-14
0
0
11
0
0
13
35
0
41
-30
19
0
-59
-29
0
-2
41
0
0
54
-12
0
-1
2
-1
0
1
-72
0
0
0
0
0
0
-3
0
-33
0
0
0
0
53
0
0
0
0
0
0
10
3
0
0
0
0
0
-1
0
0
0
0
0
0
-53
0
0
2
-11
0
0
30
0
0
-3
0
0
-2
27
0
-9
19
5
2
-8
-23
0
0
-15
0
0
0
38
0
0
7
0
0
0
-15
0
0
0
0
0
0
-33
0
0
0
16
0
0
16
0
0
0
-2
0
0
32
0
0
0
0
0
0
20
0
-2
0
0
0
0
-3
0
0
1
0
0
0
-9
0
2
-1
0
0
0
24
0
7
-7
0
0
4
24
0
4
0
0
0
0
-7
0
0
0
0
-3
3
-38
0
-1
-1
0
0
0
9
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-1
-18
-6
6
-35
-22
6
0
3
-6
6
-47
-14
-2
0
0
15
-13
-65
0
-2
-3
0
0
-2
-82
12
-12
11
28
-9
5
0
17
-4
5
-4
34
-13
11
-20
-5
-3
-20
6
-24
0
0
-5
11
23
-11
7
-17
7
20
80
11
21
-28
0
41
10
-15
92
-10
-2
35
-6
13
-7
4
-18
22
44
-8
-4
-4
-2
4
0
-16
2
12
-6
-15
0
-2
-33
0
-8
-15
-6
-5
1
6
5
2
17
23
23
-30
-59
-11
-21
38
-52
9
-8
-5
3
10
-5
-44
1
0
13
19
4
24
-9
9
-11
-20
7
-5
2
-62
-22
-19
-3
16
-11
-1
-26
53
0
20
-1
16
1
-22
-19
-16
-4
0
14
-6
-7
0
0
-56
0
3
-37
-1
-6
0
0
2
-1
26
15
-5
-3
2
-24
24
-7
20
-1
26
-2
1
6
-11
10
36
6
15
-59
-21
1
-23
-63
-40
3
-31
6
-4
14
-52
3
9
31
1
-1
-6
22
-35
-34
-1
-5
0
27
22
0
-16
0
33
6
-1
0
-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
6
-8
0
0
6
0
1
5
-3
0
0
9
0
0
0
-1
0
0
9
0
-8
0
0
-6
0
0
0
-3
0
-82
0
-2
0
0
0
0
13
0
0
0
0
0
-11
42
0
40
-56
0
0
1
14
0
0
-3
0
0
11
-97
0
0
-14
0
0
-17
-14
0
0
-7
0
0
0
-54
0
-38
-9
0
0
0
34
0
0
-11
0
0
0
-24
13
-10
0
0
7
0
2
0
0
0
0
0
0
30
0
-1
0
6
6
9
-51
0
0
-1
0
0
-1
16
0
0
-20
0
0
2
-21
0
0
-19
0
0
-8
16
0
0
-3
0
38
0
-16
0
0
-3
0
-28
0
26
0
0
0
0
-2
0
18
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
13
0
0
0
0
21
0
0
0
-8
0
0
-21
0
-3
0
0
0
0
-2
0
0
0
0
0
0
-11
0
0
-7
0
0
0
6
0
0
2
0
0
0
-1
0
-17
0
0
-6
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
3
25
-17
0
-18
-1
0
-2
-23
48
0
0
40
-2
0
-2
29
0
0
38
-53
0
0
6
0
-6
2
19
-50
36
3
0
43
-11
-2
11
33
0
0
27
-10
-2
14
12
1
0
-9
1
0
-2
4
0
0
16
-8
2
-3
-7
-35
0
36
0
-7
15
20
0
0
57
14
0
-18
-3
-20
0
4
-9
4
11
39
9
0
0
1
21
-28
0
37
0
0
-1
-17
0
-3
-7
0
61
-18
-18
38
10
-10
0
14
-3
2
-1
-7
-1
0
10
-4
0
9
-4
22
0
30
-1
32
-10
10
23
0
8
1
1
-27
9
14
0
13
2
3
63
40
-18
0
-8
-15
-1
3
25
45
0
0
-7
0
12
0
-6
0
0
-29
-42
-12
37
19
0
0
-11
-1
-31
18
0
0
-38
6
1
7
32
-31
0
62
18
8
-5
12
0
0
-83
9
14
-8
26
54
0
13
7
0
8
35
2
0
-8
-2
16
-4
-21
21
0
7
-4
0
3
-25
-1
0
0
11
-31
-19
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
-66
39
-2
-1
2
20
-38
0
-28
11
0
35
-61
-30
0
-1
-36
0
0
-7
-14
1
-3
-39
34
-7
5
0
56
-15
14
0
-9
-25
-1
78
18
7
1
15
-30
-1
-6
-13
-9
37
-10
-12
11
58
1
0
-14
21
-16
1
19
-13
0
26
-17
-2
10
1
-8
3
15
-24
-10
17
0
3
18
-2
34
17
-38
0
8
-36
-8
0
-44
1
0
0
15
1
25
16
0
14
-17
-20
15
15
17
-36
-6
9
9
11
-7
-5
-19
-30
-9
-9
-62
5
-18
8
-38
11
15
34
9
5
12
-13
-12
-4
1
-16
-21
2
0
6
1
15
4
0
11
0
4
-6
-9
-10
-13
-4
-3
1
7
0
-1
-5
-2
1
-6
8
6
-3
13
0
0
7
-8
34
13
1
-18
-4
-20
6
-21
6
-11
-13
-15
-5
-3
-29
19
20
-18
19
-16
4
-4
13
-14
-2
-27
-3
-3
-13
14
-11
41
0
-3
-9
-1
-30
-13
-10
3
8
-2
-20
-14
-4
57
0
-13
69
-20
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-8
0
1
3
-18
0
0
10
13
-30
0
3
54
0
0
0
-11
0
36
-63
23
38
24
0
1
-4
-1
0
1
0
2
-51
-1
0
-24
-3
2
0
0
-1
0
-24
13
0
0
114
16
-3
0
-18
-20
39
35
0
-6
7
26
10
-13
-6
17
0
-35
-22
20
-1
0
-30
0
-3
20
0
-9
0
-12
-28
-1
0
6
2
0
10
0
0
-1
0
0
-3
-6
-22
18
14
20
-1
-72
-8
1
-54
-42
-1
13
-14
30
-4
24
-17
-20
10
9
-1
2
8
-34
0
53
1
0
1
10
56
-32
4
7
4
11
0
-5
0
-14
-2
9
0
0
46
-24
-43
0
-15
-3
0
-2
0
2
0
-25
76
-7
-1
0
0
0
-15
20
12
59
-6
-6
0
37
0
4
25
64
0
-6
-9
0
-12
9
-1
6
-2
20
-1
-10
26
-13
0
27
0
0
-25
-101
19
0
6
-66
-9
0
-4
4
30
0
0
0
-62
-18
0
-63
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
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-7
0
-11
0
0
0
0
-36
0
0
0
0
0
0
-43
0
18
43
0
0
-23
-36
0
0
33
0
0
0
1
0
0
-3
0
0
-4
13
0
0
2
0
0
0
17
0
13
0
-1
0
0
15
0
0
0
0
0
0
14
10
0
0
0
0
0
14
0
0
0
0
0
0
-15
0
10
0
0
0
0
-7
0
0
2
0
0
0
9
0
0
-1
-3
0
0
-3
0
0
-2
0
0
-1
-15
0
0
-1
-3
0
0
1
0
0
0
0
0
0
10
0
0
0
-1
0
0
-2
0
0
0
0
0
0
13
-7
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
-2
0
0
0
-9
0
-5
0
0
0
-2
-6
0
0
0
0
0
0
6
0
-15
0
0
0
0
-3
0
0
2
0
0
0
-17
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-1
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
52
-3
-7
0
0
0
0
-44
0
0
-1
0
0
-21
0
0
54
61
3
0
34
33
0
0
6
0
0
-18
43
0
0
-15
-7
0
-1
-61
0
0
-3
0
0
-7
-2
0
-3
0
8
0
0
9
0
0
-3
0
0
0
-44
-1
0
0
0
0
0
13
0
0
0
0
0
0
-23
-7
0
12
0
0
-1
30
0
0
-2
0
0
-7
51
0
0
-15
0
0
-1
-37
24
0
-25
0
4
0
-32
0
0
-2
0
0
0
30
0
0
-7
0
0
0
-42
0
11
-1
-1
-1
0
-12
0
0
0
0
0
0
-26
-9
0
0
0
0
0
-2
0
0
11
0
0
0
7
0
0
-1
-3
0
0
-66
0
0
27
0
0
0
-18
0
0
-4
0
0
8
-8
0
0
0
0
0
0
-47
0
0
0
0
0
0
-19
0
-2
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
6
-1
-12
21
-50
11
-8
0
0
-21
-5
0
-4
-21
1
0
3
22
14
2
18
53
37
10
0
-19
-3
-2
0
4
0
-10
11
15
2
9
3
-13
-8
-16
-13
4
26
-20
47
-3
-23
-6
26
-4
-19
23
-24
5
-11
24
22
4
61
-11
8
19
-3
8
11
35
-19
25
-7
3
-2
0
6
-30
0
3
25
-14
0
-8
-89
1
-4
32
-1
-14
-1
-12
41
7
-8
16
-12
23
-21
-21
0
11
19
-18
10
-21
-6
6
11
13
13
22
-20
2
15
-31
6
37
29
-4
-23
-10
-15
-42
-11
-11
6
35
1
-24
3
10
4
8
4
-8
0
19
-2
-15
-20
0
5
-6
1
0
-20
-10
0
0
-34
47
8
27
-17
90
-10
16
40
11
3
-19
21
2
0
-7
-16
46
-3
32
-8
-25
-14
-16
-12
15
4
-8
0
19
-10
-59
-7
-26
5
2
-15
30
11
29
42
3
12
50
-19
8
-4
20
-1
2
-12
-7
-2
-11
7
-3
-29
-15
-2
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
-23
7
0
0
-18
0
10
-17
0
0
0
-2
0
-11
0
0
-4
0
0
0
-20
0
-15
-38
1
-8
10
0
-12
34
0
2
0
0
0
0
14
0
12
1
0
0
-6
-20
-22
0
11
0
24
-15
-27
0
-6
-1
-1
-7
1
-31
0
0
12
0
15
2
-3
2
15
-2
0
54
0
13
-4
0
-4
0
-22
0
-2
-43
-9
0
0
2
0
-13
-37
-3
8
0
0
26
27
2
22
15
0
-1
15
2
0
-14
8
0
-12
-11
-21
0
34
-19
18
0
0
5
0
-2
-6
4
14
-5
1
0
1
-3
0
33
-15
-10
0
-2
4
0
13
-3
-14
0
8
-17
0
-9
0
-8
19
2
0
0
44
0
-15
-1
3
0
0
0
0
24
1
-40
-3
0
0
0
8
0
1
1
-12
0
16
-5
-3
-1
6
0
0
0
8
0
-1
7
0
6
-14
12
0
29
43
0
0
0
12
0
0
-26
0
26
0
2
13
-7
-21
0
-13
0
0
9
-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
-6
65
0
-10
-6
-1
0
-2
12
1
-1
-4
18
-2
0
-9
-14
0
0
10
0
0
0
-9
-19
-1
16
0
6
2
0
0
12
0
0
5
0
4
13
11
-6
0
-5
7
0
-17
3
-8
0
8
5
0
3
23
6
0
14
-26
-17
-3
0
-2
0
21
0
19
-35
32
20
0
41
-7
16
-3
-17
-7
0
0
7
17
-33
0
3
0
-3
1
-28
-2
17
-4
0
10
8
-3
0
14
11
0
-32
10
0
-16
12
-6
0
-17
10
4
-25
0
-1
0
-18
-12
23
-42
6
-2
0
20
6
0
-20
16
28
0
-11
-1
-1
25
28
-18
0
-12
-10
0
-50
8
31
0
0
-3
4
-18
-3
14
0
-1
-10
-36
0
-10
-13
0
6
2
-4
-4
-57
-2
0
39
16
0
16
2
-4
0
-89
16
-10
20
-9
0
0
-2
-2
2
-19
68
5
0
52
-6
-2
2
47
0
0
42
-6
-12
4
23
25
0
-6
6
0
-16
14
-3
0
0
9
5
-3
75
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
15
10
0
21
-13
7
0
6
-45
0
0
14
37
1
-1
-22
28
9
-5
0
-49
-8
-4
0
-7
10
3
-9
11
0
-14
18
-9
-1
-3
17
-1
4
39
-10
0
-3
-3
0
10
11
-10
40
6
-16
-10
20
31
43
19
3
7
1
-11
3
-13
38
16
-4
0
0
58
-13
-20
0
-4
-15
-80
-3
-19
-8
0
-5
13
0
10
0
-65
-3
-16
-31
-18
6
-15
7
-42
-5
-4
29
36
-16
2
-25
13
-18
4
13
-19
-15
-13
9
-4
-1
26
-17
14
-1
1
-3
-31
-6
-20
12
2
-16
0
7
26
-8
-30
0
-15
-8
0
2
10
-18
0
-7
-24
0
0
15
-13
0
15
54
0
-15
-13
0
28
-28
4
-20
-24
8
6
0
-4
0
-4
-32
12
41
-17
21
-5
-26
29
-10
-1
3
-5
0
42
40
-28
44
-19
4
1
-24
62
22
1
4
9
8
0
-18
-10
-37
0
-4
0
-15
-21
15
-58
0
-3
-10
-7
0
-12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
0
0
8
-6
5
0
1
29
0
0
4
1
0
28
-21
-17
-6
12
0
43
-3
0
0
28
0
0
10
26
0
-2
-25
12
0
-2
0
0
0
20
11
0
-15
0
-8
3
28
-44
-29
6
-18
0
0
14
-12
-9
67
0
0
12
35
17
-7
-2
-47
0
0
-3
0
6
0
14
-32
6
0
-3
-4
0
10
76
0
-10
0
0
-13
-25
69
-6
-8
-7
0
4
1
1
0
-16
0
9
7
13
0
7
2
-17
15
2
23
5
3
-20
-1
-28
-26
3
3
10
-43
50
34
4
0
0
0
96
1
31
-12
-4
0
0
24
-27
-19
0
9
-4
0
0
-3
11
0
36
1
-1
0
0
0
0
-7
-1
-46
41
0
0
-2
-14
0
17
-26
-20
6
0
-2
0
-32
-31
8
-11
0
12
0
0
51
6
18
27
-29
-2
-54
-28
19
-8
9
0
0
-6
-63
8
0
0
-11
0
-36
-13
1
-4
0
19
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
-3
0
0
15
0
0
0
0
0
-32
0
4
0
0
0
0
14
0
0
7
0
0
0
1
0
14
10
0
0
-45
-26
0
0
39
0
0
0
-1
0
0
36
16
0
0
14
0
0
23
0
0
0
0
0
-7
0
0
0
0
-3
0
0
0
0
0
0
61
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
8
0
0
-4
0
0
0
7
0
0
13
0
0
0
3
0
0
0
0
0
0
-17
0
0
11
0
0
0
12
0
0
0
-2
0
0
23
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-36
0
0
0
0
0
0
4
0
32
0
0
0
0
0
-1
8
0
0
-11
0
0
-7
-11
0
-39
-46
1
0
22
-47
0
0
-21
0
4
-2
44
0
0
-9
0
-3
-1
-7
0
0
7
0
0
0
3
0
-6
0
0
0
0
34
0
0
0
0
0
0
-2
-2
0
0
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
15
0
3
60
0
0
3
0
0
-2
-63
0
0
0
0
1
0
23
0
0
-6
0
0
0
-25
0
0
1
0
0
0
-24
0
0
0
0
0
0
-5
0
0
8
-1
-1
0
11
0
0
0
0
0
0
-46
0
0
0
0
0
0
4
0
0
2
0
0
0
-14
1
0
0
0
0
0
68
0
7
0
0
0
0
-5
0
0
0
12
0
0
-20
0
-1
0
0
0
-1
-2
0
0
6
0
0
0
-7
0
0
0
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
19
-23
-3
0
0
-4
0
0
-4
28
0
-12
-17
-13
-2
0
0
40
4
0
0
24
-8
-1
41
11
0
-15
11
-29
0
-13
-4
-2
0
-18
0
4
-2
-5
-12
11
-1
-14
-2
-29
-4
0
-3
-4
18
-25
-36
-3
0
-4
-21
-18
-8
-19
30
0
0
0
12
-38
7
0
31
-18
0
6
-10
0
-10
-43
0
0
2
0
32
0
6
4
4
-44
0
-5
12
0
-23
37
-10
-28
40
10
-18
-6
0
10
-25
-51
-20
16
17
-3
16
-27
39
20
-3
0
-1
-7
-33
-4
-18
-6
-2
4
0
-40
0
-8
0
11
0
-28
-48
0
-11
3
-6
0
-1
2
0
-11
1
0
0
1
0
0
19
-8
-24
13
0
-27
-8
-15
-6
-7
-16
-26
-16
-3
-3
0
19
-10
0
-15
-8
9
0
-43
23
-21
33
-5
-7
0
-31
3
4
17
18
16
-6
-7
-16
45
-3
0
-3
0
15
0
-1
14
0
-1
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
-30
0
0
2
0
0
0
-10
0
40
0
0
0
0
0
-2
-68
0
0
-12
0
0
-7
0
0
-7
41
0
0
10
36
0
0
-13
0
0
-50
-8
0
0
-19
0
0
8
-10
0
0
-38
0
0
0
-32
0
-4
-49
0
0
0
30
0
0
0
0
-2
0
-8
2
2
0
0
-2
0
46
0
0
0
0
0
0
-28
0
0
6
0
0
0
-15
0
0
6
0
0
0
64
0
0
5
0
0
3
-16
0
0
-20
0
0
0
43
0
0
11
3
-8
0
-41
0
0
0
0
-3
0
-10
0
0
0
0
0
0
-36
0
0
0
0
-3
0
31
0
0
0
0
0
0
38
0
0
-1
0
0
0
-27
0
4
-8
0
0
0
-37
0
0
-3
0
0
0
39
0
0
-2
3
0
0
-1
0
-2
0
0
0
0
-33
0
0
0
0
0
0
-29
0
1
2
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
25
3
-3
-14
16
0
0
-24
-9
0
0
1
0
3
-5
-38
-8
-65
-30
0
8
0
1
0
2
0
0
9
-5
0
11
12
29
0
7
2
-4
2
7
1
0
26
-8
0
-7
19
7
0
-1
-7
0
46
23
4
0
70
-1
-11
-6
8
29
0
-21
7
2
7
-64
-1
0
0
-4
-9
24
0
12
0
2
-5
-42
0
-4
1
0
-23
13
-11
-12
-7
1
0
-24
6
3
4
-7
-17
0
19
5
-11
-15
19
-10
0
30
2
0
56
30
44
0
-37
6
-20
-4
19
-11
0
19
-6
0
-8
39
-2
0
44
-6
-2
34
2
2
0
15
-3
-19
7
-1
0
0
0
0
-42
-1
-2
-32
0
-2
31
1
-4
2
10
0
73
-1
1
-3
-1
15
0
-18
12
-1
-28
-2
11
0
19
16
0
23
52
-2
0
-8
-5
0
24
40
-14
0
35
7
8
-4
34
16
0
0
0
0
22
13
0
0
0
-9
22
-33
-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
-21
0
0
0
7
0
-24
0
-1
0
0
0
0
-65
0
0
-8
0
0
-1
6
0
-81
-15
5
0
48
12
0
-4
56
0
0
-4
56
0
-4
-1
0
0
-2
2
0
0
27
0
0
0
43
0
-38
3
-7
0
-2
23
0
0
0
0
0
0
-1
-13
0
0
-16
0
0
-13
0
0
0
0
0
0
0
1
0
1
0
10
0
14
0
-7
-12
0
2
0
14
0
9
22
-2
0
0
-58
0
0
26
0
-4
0
-25
-1
3
21
-6
0
0
22
0
0
0
0
7
0
25
0
3
0
0
-4
0
18
0
0
0
2
0
0
-4
3
0
0
0
0
0
-35
0
-2
0
0
0
0
-40
0
0
0
0
6
0
-2
0
6
1
0
0
0
1
0
0
0
0
0
0
-8
0
11
0
0
0
0
-1
0
0
0
1
0
0
-10
0
-25
0
0
0
0
-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
-1
-26
0
0
0
-3
0
41
7
4
0
8
0
-14
-7
0
0
-31
0
0
-18
2
0
-9
-18
-20
0
-12
-8
-4
-11
-8
-2
7
-19
-3
0
-1
12
26
0
65
4
1
0
-16
3
-12
44
22
-9
3
15
-30
-2
12
0
2
0
-6
18
-6
0
19
0
2
0
39
0
0
24
5
0
0
0
6
-4
-3
-14
26
-14
-13
-2
58
-11
0
-2
54
0
-18
-21
-15
-4
9
-3
-71
18
-11
-3
-2
0
5
0
-17
-6
19
-3
8
-3
-2
-1
2
-1
0
0
-1
19
-51
0
0
8
0
-1
-13
-58
0
-9
0
0
0
-7
13
0
-11
-14
0
0
0
0
0
15
2
-3
16
0
0
0
-24
0
6
-33
-6
-3
-1
-16
7
-24
-32
0
0
-11
-7
0
-17
-15
17
1
0
3
0
-21
30
1
8
0
9
0
-1
0
-13
-2
0
0
0
-72
-2
0
3
0
-10
25
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
0
0
0
0
0
2
-18
0
9
50
0
0
-53
8
0
0
6
0
0
0
-32
0
0
0
2
0
-3
19
0
0
-11
0
0
0
33
0
-29
8
0
0
0
-1
0
0
0
0
6
0
13
0
-6
0
0
0
0
18
0
0
0
0
0
0
-5
0
0
0
-6
0
0
-41
0
0
0
0
0
0
43
0
0
11
0
0
0
-40
0
0
-18
0
0
0
13
0
0
-3
0
0
0
-75
0
0
3
0
0
0
-2
0
0
2
0
0
0
-23
0
0
0
0
0
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
3
0
0
0
0
-3
0
0
0
0
0
0
-16
0
-3
0
0
0
0
-3
0
0
0
0
0
0
1
0
11
0
0
-4
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-1
0
0
0
0
-16
0
0
0
0
0
-1
-2
0
11
-18
0
0
-4
-11
0
0
-1
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
9
0
-2
0
0
3
0
0
0
0
0
0
-10
0
0
0
0
0
0
-16
0
0
0
0
0
0
17
0
0
0
0
0
0
-35
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-8
0
0
-3
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
-1
0
0
0
0
3
0
0
0
0
0
0
-17
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-7
-1
0
-24
7
-3
0
0
0
-57
5
-8
0
39
-2
11
-12
2
0
1
41
3
0
-33
-40
0
0
1
-1
-6
39
15
0
0
0
9
1
12
-8
0
0
10
13
0
-4
-12
0
-21
28
-13
0
-1
15
0
0
0
-8
-2
0
16
-4
13
0
-62
0
0
-27
0
0
0
0
-2
0
-8
0
-2
-5
-3
-7
-4
-19
0
-1
27
0
-10
19
-1
0
8
-32
-10
5
-49
-11
0
0
-22
19
-17
10
-49
0
0
-2
7
14
0
-24
0
1
0
4
-23
0
-18
0
0
0
-8
-38
0
-25
6
0
0
7
0
0
-41
1
0
0
0
1
0
14
0
-5
1
1
-1
0
-10
0
0
11
0
0
0
-1
0
-15
0
2
0
0
-48
0
9
1
-5
-13
0
-6
0
-38
0
19
0
0
15
0
-7
0
2
6
0
-7
0
33
0
10
21
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
2
-45
0
0
0
-29
0
23
30
-5
9
0
0
24
-1
3
0
21
0
-10
-25
-2
0
0
9
-1
0
-5
-6
0
0
0
0
0
-71
-6
0
1
2
0
-1
-16
0
0
0
7
1
26
-1
-28
0
-17
-54
0
74
-27
-5
0
0
21
3
11
0
0
-52
7
0
0
6
0
14
-43
2
-15
0
-12
-7
-6
1
-9
-8
0
7
39
18
0
-7
12
0
0
31
8
0
3
7
0
-22
10
0
6
-7
-1
0
-18
22
-28
0
-15
-13
0
6
39
-3
0
0
-9
-4
5
-1
-25
0
0
-5
0
-17
0
13
3
0
-1
6
-13
0
13
14
0
0
0
0
2
8
-3
-13
-7
0
6
-3
-13
1
-10
12
0
-13
0
-9
0
-16
53
0
-3
14
-22
0
3
13
-3
-14
-5
11
0
-36
52
0
-6
-4
1
0
0
-12
0
12
12
-18
0
19
6
0
-17
0
16
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
-33
-91
-7
-10
-12
0
-10
2
-22
-28
-11
-14
0
6
-1
-4
-18
-2
-68
0
6
6
-13
9
0
-8
0
4
-7
30
46
-7
14
0
18
6
84
-60
5
-1
0
42
1
-2
15
12
-15
-4
39
11
11
6
13
3
0
-13
20
-38
-42
-44
-16
0
-2
0
-20
-16
7
3
0
-20
6
-10
-5
-19
-18
0
-11
3
-32
-39
2
-13
0
-5
-3
22
19
-2
21
0
9
8
31
-8
12
-4
0
25
-4
23
37
22
27
-1
43
0
0
33
20
3
0
40
-2
-29
-8
35
35
0
-15
2
-14
-9
-4
1
0
-17
-5
-6
67
-13
55
0
-20
3
2
-91
-18
-3
0
-3
16
14
-2
-35
-18
0
37
-3
22
-20
-11
-3
0
13
12
12
3
-6
12
0
11
14
-16
-24
26
13
0
33
1
1
27
45
-18
0
23
2
-50
19
10
24
-33
-13
-2
-23
19
29
-55
0
0
7
-1
31
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
-9
0
0
0
0
0
0
15
0
0
0
0
0
0
-15
0
1
-27
0
0
-5
-10
0
0
0
0
3
0
-8
0
0
1
0
0
0
-22
0
0
0
0
0
0
0
0
-1
0
0
0
0
-20
0
0
0
0
0
0
-22
0
0
0
0
0
0
-30
0
0
0
0
0
0
-29
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-20
0
0
0
0
0
0
-3
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
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
17
0
0
0
0
0
14
15
0
0
-1
0
0
24
-52
0
-49
-36
0
0
34
14
0
0
82
0
0
-34
12
-1
0
15
10
0
-15
34
0
0
-17
0
0
6
9
0
-9
10
0
0
1
37
0
0
0
0
-1
0
0
0
27
0
0
-1
0
-25
0
2
0
0
0
0
9
0
0
35
-1
0
0
2
0
0
25
0
0
0
15
0
0
51
-7
8
-1
35
0
0
-36
0
0
-2
10
0
1
17
24
0
2
-13
0
10
0
0
-8
0
2
0
0
-1
0
1
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
8
0
14
0
0
0
0
-44
0
0
1
0
0
0
7
0
0
0
0
0
0
-8
0
-9
-6
-1
0
0
3
0
0
-2
0
0
0
3
0
0
0
0
10
0
-23
0
1
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
6
-12
13
5
0
21
7
0
-10
-26
-2
2
-17
-2
-2
5
7
-30
-13
-29
21
10
63
-18
-3
17
-24
3
0
11
-16
-14
-8
3
1
0
4
1
4
-20
-105
-23
0
-13
-1
-28
31
19
-3
0
0
-5
-6
-4
0
8
0
9
0
-15
-22
1
11
-5
3
22
0
0
47
-9
33
-7
-7
-33
25
-55
-6
-3
-2
-17
-2
13
-18
-3
-2
-9
-21
-10
45
-31
9
0
-11
3
37
21
3
4
0
6
-10
-22
-19
-4
-9
0
43
23
-7
2
3
-3
-1
-7
9
-18
-5
4
-1
0
1
0
23
-16
1
-7
-35
6
-1
-1
2
1
-26
36
-7
51
0
0
-29
2
0
-15
43
-38
10
-18
36
1
34
-18
0
-8
-24
-20
0
-3
-22
-21
-4
7
2
0
21
1
-4
-66
9
-12
0
-4
-63
-29
-25
0
16
0
-27
-52
1
-66
0
-2
0
-2
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
22
0
0
-13
-32
0
0
0
0
0
0
8
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
-3
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
-25
0
0
0
0
0
1
-41
0
0
0
0
0
0
14
0
0
0
1
0
0
-26
0
0
0
0
0
0
-27
0
0
0
0
0
0
-22
0
0
0
0
0
0
-20
0
0
0
0
0
0
-36
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-12
0
0
0
0
0
0
-8
0
-7
-2
0
0
1
-15
0
0
0
0
0
0
-10
0
0
0
0
0
0
-11
0
0
0
0
0
0
-6
0
-13
0
0
0
0
1
0
0
0
0
0
0
-42
0
0
0
0
0
0
-13
0
0
0
0
0
0
-19
0
0
0
0
0
0
-6
0
0
1
0
0
0
-7
0
0
5
0
0
0
-5
0
0
-1
0
0
0
-21
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
-17
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-22
0
0
0
0
0
0
-3
0
0
0
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
18
-30
0
0
-2
0
0
-9
-82
0
-16
6
0
0
-57
3
0
0
-53
0
0
15
-20
0
0
48
0
0
28
-23
0
0
-62
0
0
-6
-5
0
-19
19
-7
-7
0
29
0
0
0
0
1
0
20
-2
-10
0
0
0
0
23
0
0
0
0
0
0
18
3
6
-4
0
-6
0
3
0
0
2
0
0
0
38
0
0
1
0
0
3
30
0
0
-30
0
8
0
-8
0
0
-2
0
0
0
-135
0
1
-1
0
0
0
-19
0
-3
-6
0
8
0
-11
0
0
0
0
7
0
-35
2
0
0
0
0
0
0
0
-2
0
0
0
0
-100
0
0
0
2
0
0
24
1
24
35
0
8
0
21
0
0
0
0
26
0
-84
0
-13
2
0
0
0
-15
0
0
0
0
0
0
-34
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
-17
8
24
21
-36
-30
0
24
7
16
0
0
0
0
9
-6
1
7
11
26
0
3
-4
7
18
-8
34
0
-16
-9
7
3
-11
-7
0
25
-14
2
-12
16
4
0
26
4
-1
-42
28
-18
0
-4
4
-22
-3
9
4
0
0
13
16
-24
0
0
0
-6
15
-13
0
45
0
0
15
22
-27
-2
2
25
0
7
3
-12
26
26
19
0
-10
-7
19
18
27
11
0
33
-6
6
-16
19
-18
0
-14
-24
-1
27
9
-14
0
79
-9
0
-24
34
17
0
-3
-4
25
-1
-2
3
0
0
7
71
-13
-1
-1
0
0
4
-49
-1
0
-5
0
-6
-1
1
-19
31
-2
0
-74
-7
1
-34
34
20
0
-26
5
1
-14
13
22
0
-26
22
6
-7
32
24
0
-25
-3
-6
4
33
11
0
-13
15
-1
-55
1
3
0
11
20
-2
8
36
0
0
2
-14
57
-35
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
1
0
0
-17
-8
0
-6
49
-3
0
38
11
0
0
5
0
0
13
0
0
0
2
-15
-3
-43
40
0
0
46
0
2
0
1
0
48
0
-6
0
0
-42
0
0
0
0
0
0
-39
6
-3
0
0
0
0
43
7
0
0
0
0
0
3
-8
0
0
0
0
1
-6
0
0
-7
0
0
-1
40
0
0
-5
6
0
0
-12
0
0
43
0
11
0
12
0
0
19
-19
0
0
-3
0
0
0
0
1
0
33
0
11
0
0
-6
0
-13
0
0
0
0
0
0
-13
0
0
0
0
0
0
-8
1
0
0
0
0
0
-32
0
0
22
0
0
0
-6
0
1
-8
0
0
0
30
0
0
0
7
0
4
80
0
-6
-22
0
0
0
14
0
2
0
0
0
0
-62
0
-1
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
-12
-1
12
2
-4
24
-5
-38
0
9
2
18
9
-3
6
-9
16
49
9
0
1
22
-21
8
-17
-11
-5
-3
-23
-4
-5
-18
-15
19
-7
-19
2
0
1
7
-6
-10
-55
10
-14
5
-6
-23
3
-18
-9
-4
8
23
-23
0
-57
3
-49
-27
23
-47
-3
2
-49
1
-9
-9
7
-2
-68
36
12
-3
6
24
0
-20
15
12
-17
3
-10
-14
0
1
11
1
19
37
-5
25
2
2
4
5
-17
-5
41
14
-8
29
12
-22
-4
37
-12
14
10
10
53
-16
5
32
-1
34
9
-33
0
-16
39
-28
16
-23
-12
7
26
-22
2
-15
-10
36
1
-30
2
-24
-3
-49
-16
1
24
-5
30
28
7
14
-8
-4
-40
16
5
7
0
-10
-3
7
-15
39
13
30
8
46
-32
-17
33
-11
-33
4
-14
14
13
2
23
10
2
17
21
21
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
13
-17
0
0
21
9
0
-44
-18
0
-7
17
-6
0
-19
2
6
-4
-16
6
7
22
4
7
-6
-24
21
12
41
4
0
1
4
0
9
-13
-7
0
-33
9
-31
-1
-1
2
23
-15
-4
2
45
3
24
-4
28
0
51
-1
0
-30
0
3
-2
-2
0
26
-6
-2
-21
38
0
2
-5
10
-1
-6
35
-17
-2
40
7
7
11
9
-23
0
35
-7
1
-1
5
-26
-22
24
2
0
22
-10
23
-7
-61
-18
-2
10
15
-6
-15
0
-1
0
-7
-37
-16
6
0
-15
9
-6
0
-1
2
-13
25
6
2
-11
0
0
-6
27
-2
30
24
0
10
2
26
-6
12
-29
-13
0
-7
22
2
21
23
-7
-3
-36
-32
0
35
-2
26
59
-15
2
0
9
3
1
-8
-15
17
0
-21
4
-22
2
0
3
0
-9
-33
0
4
0
0
15
2
-13
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
18
9
7
-37
-11
30
0
-1
-57
3
0
10
-2
0
9
-2
0
1
-11
24
-3
-52
0
0
7
3
2
-49
-12
-84
-10
-30
-42
17
2
0
-10
-3
0
-12
-8
56
0
27
3
-11
0
16
11
-5
-28
70
0
20
0
-2
1
-15
-27
-5
37
-37
-1
-36
24
8
4
4
1
1
-19
-40
-9
8
47
14
0
22
-6
-9
28
-22
-2
0
-11
-3
2
5
-2
29
6
10
-12
6
-16
-18
0
-66
6
-2
2
-3
26
11
-2
1
24
11
1
0
0
-4
-16
9
66
7
-4
1
0
0
19
-7
-13
-6
0
-8
-4
-1
0
3
-6
36
4
9
-33
-7
18
-1
28
10
42
-1
0
-17
-41
66
0
-13
-9
0
-58
-8
0
30
-1
15
0
1
-18
-44
-10
0
-20
0
-53
-5
4
-71
0
43
26
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
31
-12
0
0
-20
0
0
-13
6
16
-33
-67
6
0
3
12
0
0
49
0
0
-4
-12
2
0
32
16
-26
-25
-35
0
0
57
0
37
0
-13
13
-12
-27
39
0
0
17
-2
0
0
0
-14
0
38
0
-2
0
33
-3
0
25
-25
4
1
0
0
1
40
-2
0
6
1
0
-31
0
-2
1
-13
4
0
15
26
2
21
-27
-17
10
-44
0
0
-6
3
0
9
5
12
0
-16
-20
-21
9
0
-24
0
2
10
-2
-13
7
14
-4
-3
-20
-8
25
0
31
0
0
0
1
0
0
-4
14
0
0
0
0
10
-45
1
9
0
0
0
0
21
0
0
-9
0
0
0
6
0
63
-3
0
0
0
-9
0
7
29
13
0
-2
-17
0
9
45
0
-8
0
6
0
21
-2
-40
0
0
19
0
45
-4
0
21
0
26
31
6
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
40
-26
0
0
53
0
0
7
-82
0
18
-29
-6
0
0
-65
0
0
4
0
0
-25
-73
0
0
-25
-2
0
21
-27
0
0
-21
0
4
1
-10
0
18
42
0
0
0
26
0
0
-6
0
-4
0
34
2
-12
0
0
0
0
-35
0
0
0
0
0
3
-23
0
0
-11
0
0
-59
-17
0
0
99
0
-2
4
-76
0
0
4
0
1
39
-29
0
-6
11
18
48
48
-5
0
-2
13
0
-12
-10
-48
0
1
21
0
36
0
-5
0
0
9
0
-6
0
13
0
0
0
0
-10
0
-16
-3
0
0
0
0
0
-14
0
34
-15
0
0
-1
-54
0
0
-19
0
0
-18
-27
9
15
-19
0
0
-2
-1
0
0
-13
0
0
-1
-25
0
-40
57
0
1
0
7
0
0
-4
0
-1
0
1
0
6
-6
0
18
0
44
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
2
-2
0
0
-6
0
0
0
0
0
0
18
0
0
0
0
0
0
-8
0
0
0
0
0
0
-7
0
6
-2
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
36
0
0
0
0
0
0
9
0
0
0
-6
0
0
4
0
0
-11
0
0
0
6
0
0
2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
-2
0
0
0
0
0
0
-11
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
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
3
18
-6
28
14
15
-1
6
45
6
-6
9
-9
-20
0
8
-6
23
17
20
-7
21
7
0
0
-21
37
24
-32
-13
0
30
-34
14
26
-4
1
25
9
13
-8
-3
0
2
-3
2
0
-16
-16
-2
16
1
0
-3
-1
0
2
35
-17
-14
1
4
0
80
9
3
23
-21
0
24
-1
17
1
-36
-10
26
-2
25
8
9
-51
3
2
-28
39
25
-9
8
18
9
40
32
2
-2
24
24
-4
22
-7
-4
35
-23
17
-3
13
0
3
6
-37
0
33
2
0
-11
59
-6
-24
-14
0
8
29
5
-28
39
-2
0
42
-15
-15
-12
-3
39
26
59
17
-28
14
-25
-2
23
-42
-4
0
28
2
17
-27
4
-17
-2
35
21
-14
0
-7
-9
23
3
52
23
70
0
-1
0
36
4
0
1
0
1
-62
-3
4
-9
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
5
5
-1
-12
6
-4
43
-1
-4
2
8
-5
3
-5
-18
4
16
23
-11
-3
-16
-26
8
-38
-9
-19
-14
-55
-5
-9
3
19
-39
-5
-2
18
0
33
9
-6
2
10
6
-36
3
6
-19
3
-9
-86
-75
5
28
-17
0
42
-44
29
-4
10
-16
12
-13
-37
2
24
16
-11
6
15
-31
8
-6
4
-20
0
5
6
-6
3
5
-9
-4
20
-6
1
1
-15
-19
-1
5
10
-6
-31
-18
15
4
-14
-24
-13
12
-4
32
-2
-15
-8
52
-11
5
47
9
13
5
-21
-54
-4
-8
0
22
2
-7
-37
-5
-56
-12
15
-14
-22
-9
-10
-3
-5
-4
-4
-10
-11
-1
-9
-5
17
-10
3
16
-19
14
12
-18
5
9
7
22
-11
-9
-32
1
24
-1
-3
-16
3
-18
3
-21
7
-21
-31
2
16
35
33
21
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
49
0
19
8
1
0
32
-61
0
0
-16
0
0
8
34
0
0
-10
0
0
-7
-13
0
0
44
0
0
0
15
0
64
0
0
0
0
-28
0
0
0
0
0
0
-45
0
0
0
0
0
0
18
0
0
0
0
0
0
56
0
0
15
0
0
10
28
0
0
-2
0
0
-2
7
0
0
23
0
0
0
9
0
0
48
0
0
-2
-28
0
0
6
-12
0
0
-49
0
0
-3
0
0
0
-8
0
0
-3
-2
-2
0
7
0
0
0
0
0
0
-11
0
0
-4
0
0
0
-30
0
-2
0
0
0
0
-75
0
0
0
0
0
0
10
0
0
0
0
0
3
29
0
0
0
0
0
0
27
0
-11
0
0
0
0
42
0
0
0
0
0
0
0
0
-1
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-19
0
-22
-7
0
0
-17
15
0
0
-4
0
0
4
9
0
0
0
-7
0
-11
-52
0
0
21
0
0
-1
11
0
-34
14
0
0
0
88
0
0
0
0
0
0
-32
-14
0
0
0
0
0
-13
2
0
0
0
0
0
1
0
0
7
0
0
0
41
0
0
-2
0
0
0
2
0
0
4
0
0
1
28
0
0
-13
0
4
0
-32
0
0
3
0
0
0
-42
0
0
0
0
0
0
-19
0
0
0
0
0
0
-44
0
0
0
0
0
0
-10
0
0
0
0
0
0
-39
0
-1
0
0
0
0
32
0
0
0
0
0
0
-3
0
0
-13
0
0
0
-23
0
-8
0
0
0
0
-23
0
0
0
0
0
0
-17
0
0
-1
0
0
0
-42
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
-28
15
0
9
25
-1
-13
-5
3
17
-25
12
16
63
-10
-6
2
-20
12
18
15
2
20
0
10
18
-3
22
-26
2
0
5
18
9
6
-24
-9
4
3
-10
-22
-16
2
-3
-21
-16
0
16
11
0
1
47
39
-4
13
0
-1
38
-11
28
10
35
-19
-28
25
10
17
9
-13
-2
7
12
-2
-57
29
8
-18
-8
-3
-23
-46
11
6
19
-30
5
0
-16
-9
-12
-18
-49
12
0
6
22
15
-5
-3
-12
4
-3
48
-3
11
0
0
19
-4
0
12
-13
0
31
-19
-12
0
-18
0
9
19
6
20
-33
-4
7
9
39
12
-3
-25
-13
2
17
23
19
-33
-15
-4
14
-21
-28
-10
-30
10
-10
4
54
21
41
22
-18
18
-46
-30
17
-17
10
25
57
-14
-20
0
11
14
9
-19
20
0
3
-42
27
-12
-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
-37
49
0
9
41
-6
0
53
-39
0
0
46
0
0
0
-50
0
0
13
0
0
-9
25
0
0
-1
0
0
-4
-15
0
-22
-8
4
0
0
-38
0
0
2
0
0
0
-18
-4
0
0
0
0
0
57
0
0
0
0
0
-1
19
0
0
3
0
0
1
7
0
0
1
0
0
-4
1
0
0
17
0
0
0
-11
0
0
-3
0
0
0
7
0
11
5
0
0
0
-33
0
0
-2
0
-1
0
-24
0
0
0
0
18
0
24
0
0
0
0
0
0
18
0
0
-1
0
0
0
33
0
-3
0
0
0
-19
13
0
0
4
0
0
0
6
0
3
0
0
0
0
8
0
0
0
0
0
-1
-28
0
0
-3
0
0
0
11
0
0
-1
0
0
0
83
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
11
4
0
21
13
0
0
-28
-30
0
0
-27
0
0
0
54
0
0
27
0
0
13
-25
0
0
10
0
0
0
-4
0
6
-6
-1
0
-6
19
0
0
0
0
0
0
14
8
0
0
0
0
0
-30
1
0
0
0
0
-1
7
0
0
-7
0
0
-4
31
0
-4
-4
0
0
0
22
0
0
49
-8
0
0
54
0
0
21
0
0
0
-5
0
0
-44
0
0
-8
-64
0
0
-8
0
0
0
-12
0
0
0
-11
0
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
-7
0
40
0
0
0
0
45
0
0
0
0
0
2
76
0
3
4
0
0
0
-54
0
0
1
2
0
0
-36
0
-21
9
0
0
0
-33
0
0
0
0
0
0
57
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
6
3
-9
3
-13
-4
-30
-8
8
-2
-17
-1
33
-20
-5
2
-12
-23
-32
-45
18
14
0
-20
1
0
6
-3
-24
-1
32
-2
-3
-16
0
11
21
-8
-8
-3
39
3
15
56
-3
24
-5
-19
38
32
-9
10
-67
14
34
-25
11
-47
62
5
10
-3
12
0
-20
-94
-5
17
-16
-56
3
15
37
1
102
12
-4
1
10
27
-18
-10
-25
-40
7
-4
-52
1
39
5
0
16
-27
17
-42
-7
3
0
19
-77
10
1
-3
-16
0
12
-28
-2
6
11
0
1
17
-17
51
38
8
-6
61
-4
-23
53
11
32
-8
7
-14
4
38
-26
9
15
-12
-11
-2
-12
-37
-11
1
-38
-9
12
26
21
16
22
26
4
-3
7
-16
17
6
-2
15
-2
-4
20
0
-4
0
15
6
-6
0
-52
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-47
-8
-3
-9
-4
7
29
29
-3
4
5
6
-2
56
29
12
-38
6
31
-1
-9
-7
-1
-7
-48
40
-10
-16
-28
-9
28
14
-32
-9
-7
-53
5
15
-38
4
4
24
-66
11
-21
6
61
-10
-6
10
-15
-39
-25
14
0
-5
-22
-11
-35
-18
7
-8
41
28
-12
31
-9
1
2
-21
-29
-17
-4
-10
-5
-3
-12
-20
7
-10
-3
31
-8
27
-19
15
60
6
1
-2
-20
116
26
25
2
-6
11
-4
42
10
27
-23
25
-4
-41
-39
-10
-18
25
36
-9
-4
21
7
-17
-39
-28
0
-26
-25
-3
-13
15
18
-40
-1
46
-31
0
-61
2
14
-8
-1
-7
-11
5
52
-9
19
-5
-2
-40
-10
-14
-8
10
-5
1
-2
11
28
-8
34
18
25
31
38
-1
18
5
28
-56
29
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-89
47
0
0
45
0
0
10
41
0
4
-4
0
0
10
-12
0
0
-6
0
0
-1
-11
0
3
-1
19
0
0
-1
0
0
0
0
-1
0
11
0
0
0
0
0
0
10
0
0
0
0
0
0
-48
0
-6
11
-6
0
0
-70
0
0
-1
0
0
0
8
0
6
16
0
0
0
32
0
2
41
0
0
0
-13
0
19
2
0
0
0
-42
0
0
0
0
-3
0
6
0
0
-2
0
-3
0
54
0
0
0
0
0
0
4
12
0
0
0
0
0
11
0
0
-1
0
0
0
-26
0
0
0
0
0
0
-14
0
3
-4
0
0
0
-43
0
0
0
0
0
0
30
0
-16
0
0
0
0
-34
0
0
-6
0
0
0
41
0
-4
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
29
17
-15
-53
-14
2
-11
-7
-4
-18
18
62
-3
-6
5
2
-9
60
-15
-9
4
-5
-9
-22
-3
-46
-9
7
-11
-20
-1
-40
-13
-1
9
-8
-39
0
-5
27
-14
0
5
-3
3
-65
2
51
5
-41
21
-2
4
-7
25
3
-16
-41
45
-16
58
0
5
5
-36
-5
21
40
-19
-8
6
-7
-6
17
53
-23
-1
-3
-4
-5
-4
-1
16
9
-13
2
-11
-18
18
-23
-4
-13
4
16
0
10
48
5
8
42
-49
51
-69
-3
-1
-5
-4
18
-37
-7
10
-25
-30
0
-36
39
-5
-4
-6
34
-4
45
5
-100
21
-13
-19
9
6
33
60
19
-6
42
14
5
25
20
15
2
-1
16
-13
30
-10
39
-14
-51
-52
-2
-25
23
4
-6
-3
7
-33
-12
37
-9
13
43
13
-20
-63
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
81
18
-48
13
-6
4
0
1
-2
-3
17
9
2
-19
-24
14
-3
13
-29
-1
-15
1
15
-3
14
-5
-4
30
66
25
10
6
-4
-1
-4
-30
23
-4
2
10
1
27
-16
-24
-56
49
-24
7
-10
13
4
-23
9
14
-2
0
-24
11
-18
47
-4
0
3
11
1
46
18
-13
3
39
-20
-1
10
-19
8
-8
32
29
-1
-5
9
27
12
18
-4
28
22
14
-14
1
-38
-1
18
7
11
-14
7
12
-4
-2
37
-1
6
15
8
-1
-79
-88
-9
14
-17
9
47
12
-22
8
-9
5
39
57
-3
-30
8
5
-8
10
33
4
-14
1
35
5
17
18
17
1
25
15
3
3
-1
5
13
-23
34
6
10
-1
18
7
17
35
-7
-39
-2
24
30
35
21
8
-43
-27
16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-15
-3
-7
-2
0
11
-39
-3
1
20
-11
-26
-40
-4
-8
-10
2
-13
1
24
-19
-3
0
23
15
0
-6
23
-5
0
1
-24
3
32
-2
3
-18
13
0
4
-28
-1
11
7
12
-51
0
1
-26
-3
7
-4
-1
-6
23
12
-5
-1
-2
2
0
60
29
-17
0
28
-9
0
-14
18
-6
-1
-12
8
-1
-17
-3
3
0
-8
0
30
-44
23
-12
0
105
18
3
-1
-39
-5
0
-7
2
-7
-14
-9
8
1
74
16
0
11
0
0
-28
-8
-6
-8
0
2
-21
0
-24
-6
0
15
-13
-19
0
-48
7
7
3
-14
0
-6
21
9
-15
6
-11
-17
7
3
-10
0
0
29
3
2
38
32
-1
6
25
12
0
12
-15
0
-7
32
-14
-1
35
12
0
-46
-1
1
-28
-6
-43
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-41
0
0
-9
0
0
4
-40
0
0
0
-1
0
-8
-5
0
0
-2
0
0
0
-17
0
-33
0
2
0
0
-28
0
0
0
0
0
0
6
-1
-1
0
0
0
0
10
0
0
0
0
0
0
-19
0
3
1
0
0
9
-13
0
0
0
0
0
0
30
0
0
36
0
0
-5
14
0
0
-8
0
0
0
6
0
0
26
8
0
0
-35
0
0
0
0
0
0
19
0
0
0
16
0
0
-42
0
0
0
0
0
0
-42
0
0
0
0
0
-3
2
0
10
0
0
0
1
52
0
2
-29
0
0
0
42
0
0
21
0
0
0
-28
0
0
-1
3
0
0
-3
0
0
9
0
0
0
-10
0
0
0
0
0
0
-38
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
8
10
-31
61
10
7
24
-9
7
8
54
-1
-20
-5
40
12
-13
-5
12
1
11
44
3
-57
13
-7
5
21
-3
10
-1
-11
4
18
22
32
5
7
-82
-6
-65
24
6
9
6
41
-2
4
34
37
0
-49
12
-8
-57
-22
-2
2
-22
-7
10
17
-9
46
2
-38
0
8
23
50
-5
0
-70
-5
-3
0
9
3
14
18
-29
21
8
7
22
4
-21
9
11
7
4
-43
13
-13
31
-25
-4
33
-10
0
-20
-19
38
10
11
-30
-1
-50
17
32
17
37
-47
0
-90
11
21
79
34
4
-5
-6
-15
-10
-7
-18
-11
-6
14
-36
-18
13
-26
58
9
13
1
21
-34
13
34
4
36
-31
38
16
4
11
10
-20
4
11
-41
19
-27
7
44
-15
52
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
3
-5
3
24
-16
-8
-8
14
4
-8
13
-3
-11
1
0
-18
-8
-4
9
-16
-39
3
-2
31
-54
-6
-69
-2
51
-10
3
2
-48
-9
9
-60
1
9
12
-5
-26
-31
-16
-5
-8
2
5
-52
38
22
12
-18
20
2
-72
23
-2
0
2
-11
3
-19
-3
24
-9
50
-8
5
27
-1
7
7
34
6
-10
-20
17
26
1
66
3
23
-35
-3
-25
3
-15
-18
24
-3
6
32
7
-6
-9
21
57
7
2
3
35
-30
35
-73
13
20
-2
6
-32
20
-50
5
42
31
-21
-25
2
20
14
-30
0
-34
9
9
-30
60
6
3
22
8
-26
-16
69
-2
6
45
-25
-10
-3
62
18
5
27
-21
-1
-16
30
-26
9
-9
-19
1
29
6
9
13
10
-24
-11
-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
3
-27
0
1
-7
0
0
-1
-14
0
0
-39
0
0
0
-4
0
82
0
6
0
0
-37
0
0
0
0
0
0
11
2
0
0
0
0
0
20
4
0
0
0
0
0
-35
0
18
7
25
0
13
-12
0
-3
-9
0
0
0
-24
0
0
54
0
0
8
5
0
-1
-17
0
0
0
-31
0
0
-2
-3
-4
0
3
0
0
-13
0
0
0
2
0
0
0
0
7
0
79
0
0
0
0
0
0
-4
-7
0
0
-4
0
0
-9
0
3
0
0
0
0
51
0
0
-2
4
0
0
7
0
7
6
0
0
0
-60
0
0
0
0
0
0
-22
0
-8
-1
0
0
0
15
0
0
4
0
0
0
52
0
2
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
22
0
0
-18
3
0
-12
-4
0
0
0
0
-16
0
80
0
103
-1
15
1
0
15
0
0
2
0
0
0
-4
23
0
0
0
0
0
28
8
0
0
0
0
0
-18
0
0
47
-9
0
-27
-57
0
0
26
0
0
11
32
0
0
-8
-10
0
0
-21
0
9
13
-3
0
0
-17
0
0
-6
-2
-22
0
74
0
0
20
0
0
0
34
0
0
2
7
-9
0
-7
0
0
0
0
0
0
-19
-1
0
-6
0
0
0
14
0
15
-12
0
0
0
3
-2
0
-1
-15
0
0
14
0
-21
0
0
0
0
34
0
3
-3
6
0
-6
-49
0
7
3
1
0
0
-28
0
0
1
0
0
0
-20
0
13
0
0
-4
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
28
6
-14
36
23
25
-4
16
0
24
26
1
-2
25
-6
10
-3
-7
27
2
2
6
-6
-17
-2
5
44
18
0
-4
-9
-23
1
8
-26
45
14
-4
15
32
-2
44
-21
-1
23
-29
12
20
-2
27
-11
28
45
30
0
8
19
2
21
-9
8
39
20
31
-2
9
-17
-7
-27
46
18
2
-10
15
-13
-5
18
21
16
12
16
12
41
12
13
-4
-26
55
8
8
17
0
6
10
-5
-1
68
11
13
13
45
-9
62
-39
0
-60
-10
37
22
12
9
28
11
13
30
-30
11
59
6
-26
3
-22
4
3
7
-23
39
-10
-4
20
-9
15
8
-8
4
-4
24
1
-1
7
43
12
0
39
6
40
3
-56
1
-1
-9
-20
-8
13
16
12
-36
56
-5
30
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
0
0
-39
-23
0
0
3
0
0
-2
-14
0
-3
9
0
0
0
-50
0
0
-1
0
0
0
16
4
27
0
0
0
0
16
-1
0
0
0
0
0
-31
0
-1
28
0
0
6
10
0
0
-9
0
0
42
-10
0
0
10
0
0
15
32
0
0
-58
0
0
-6
-3
0
0
34
0
0
-1
-1
0
0
27
0
-6
0
-23
0
0
-1
0
37
0
-29
1
0
0
0
0
0
17
0
0
0
0
0
-2
8
0
-1
0
0
0
0
-13
0
0
0
0
0
0
-16
0
-11
-1
0
0
1
-18
0
0
11
10
7
1
-77
0
25
13
0
0
0
18
0
0
37
0
-2
0
-21
0
21
27
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
40
-1
0
-27
-9
0
0
-8
0
0
0
-5
0
-31
-15
34
0
0
-60
0
0
0
3
0
0
-25
4
0
0
-4
0
0
-47
-2
6
0
0
0
-2
-9
0
0
58
-6
0
8
25
0
4
0
0
0
6
26
0
0
-6
10
0
42
31
0
0
-67
0
0
-1
16
0
0
-13
-26
0
0
11
0
0
56
0
0
0
-49
0
0
-1
6
0
0
-20
0
0
0
0
0
0
-67
0
0
2
0
0
0
-6
0
16
-11
0
0
6
39
0
0
3
0
0
2
15
0
22
15
-8
0
-2
0
0
-2
71
2
0
8
39
0
60
-14
0
0
1
17
0
0
30
6
0
0
18
0
-5
0
0
0
0
-24
-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
14
0
0
-18
-29
-11
2
-6
4
-1
-26
-32
-18
-56
0
1
5
-20
-10
27
15
0
13
-22
-38
0
-38
-8
-2
4
-50
0
-6
-2
0
-7
-9
56
50
-1
-43
-21
22
-5
-8
8
4
-6
16
40
11
3
-17
-18
-30
13
2
-4
-4
7
-20
3
-4
-42
-6
0
13
-10
-9
63
16
0
0
25
-4
20
-4
-6
2
-3
20
25
9
2
16
7
-21
-17
-2
-11
25
0
4
16
-30
-3
11
0
2
-23
-1
-2
34
0
0
10
-8
-6
22
-17
-17
0
0
25
-3
-62
16
-37
7
9
11
-9
16
-29
39
-11
-83
34
-1
-48
3
1
18
8
3
7
-34
27
-61
46
1
26
0
1
70
5
15
0
11
88
-20
-42
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
-8
-11
-61
-29
-3
-42
-28
-1
2
23
-2
11
-10
-17
16
-2
-36
-39
-7
-26
-22
-18
-3
6
-23
-41
-16
3
41
12
-10
0
-5
-16
23
30
-1
36
-2
13
-15
-13
-12
-4
6
-28
1
3
-22
15
1
2
-9
16
1
-7
23
0
-7
0
-6
-19
-17
-31
2
-30
-50
4
12
20
-5
-10
-26
10
1
-41
-7
8
9
-28
-24
7
-2
-5
31
9
-3
-4
-40
1
23
-25
12
27
1
3
-12
27
8
-6
31
-3
4
-4
-1
9
0
10
0
8
-27
-6
23
0
-34
-10
20
19
-34
27
0
2
0
5
-7
16
21
-7
-6
-22
4
14
5
22
-1
-34
40
10
4
36
37
-1
12
-4
16
39
-19
-77
4
19
14
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
21
0
0
0
12
0
11
-2
0
0
0
41
0
-2
0
0
-1
0
-20
0
13
0
0
-11
6
-25
0
-1
0
0
0
0
10
0
0
24
-1
0
3
31
0
0
0
3
0
0
19
0
0
-2
0
0
10
4
0
0
-7
0
0
0
29
0
0
-2
-1
0
-3
0
0
0
-1
0
0
0
70
0
0
0
0
0
0
22
0
0
0
0
-4
0
-1
0
0
0
0
0
0
7
0
-9
0
0
0
-1
48
0
0
0
0
0
0
8
0
-1
-3
0
0
-2
-33
0
4
0
2
0
0
79
0
7
6
0
0
0
33
0
6
1
0
0
0
41
0
-9
0
0
-1
0
17
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
-10
16
0
0
-31
0
0
-6
41
0
-49
17
6
0
0
-34
0
0
0
0
0
0
12
1
0
0
0
0
0
-11
0
0
0
0
0
0
19
-6
0
19
12
0
-11
-1
0
-4
9
0
0
6
-11
0
-6
11
28
0
0
-23
0
0
-45
0
-8
0
3
0
7
10
3
22
0
-5
0
4
-2
0
-7
0
-28
0
0
0
0
-8
0
9
0
0
0
0
0
0
37
-10
0
0
0
0
0
4
0
-4
-11
0
0
0
-22
0
0
-9
0
0
0
-1
0
0
0
0
0
0
-73
0
0
0
0
0
0
-30
0
0
20
0
0
0
26
0
0
0
7
2
0
31
0
-4
0
0
0
0
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-7
12
30
46
15
17
-5
-3
-5
16
-8
-5
16
-3
35
32
22
15
-19
0
-4
8
-20
0
13
13
-1
1
-11
-7
-22
-1
-1
-25
7
10
26
-7
6
24
-38
-4
-10
-32
1
15
-13
-8
4
-37
-9
27
37
-44
-44
0
4
17
-16
22
-6
14
12
-6
16
43
-4
33
14
0
-9
-54
28
-26
25
-11
-2
4
-25
-28
8
6
0
0
-22
51
3
17
-78
0
-1
18
9
5
-7
-4
35
3
21
-30
8
-18
25
9
17
-24
42
-17
-2
66
12
1
46
5
-28
37
-18
-25
-7
0
-27
8
-11
31
-19
7
-6
17
37
15
42
3
3
4
-31
-18
39
45
-8
1
6
-1
56
0
-6
0
-7
-33
18
52
-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
-7
-8
0
-4
16
0
-6
-3
9
7
26
8
0
9
8
-1
13
13
4
0
29
0
-4
5
43
0
-8
24
-1
-25
-6
-1
-4
0
-3
-4
0
-20
-9
44
2
-2
29
6
-3
-37
45
3
66
-15
-13
-11
-4
8
-10
0
-11
-1
0
-3
8
22
-23
4
-2
11
13
17
48
-17
-12
2
0
20
24
0
23
3
11
-11
-1
16
-1
16
1
-2
-30
26
0
0
0
-4
-32
-71
2
0
0
0
37
-12
2
-22
6
0
-9
18
2
0
8
-18
16
0
10
-9
0
-3
35
0
16
18
1
0
49
-3
3
0
-29
0
7
7
-9
0
44
-23
4
-11
11
-17
0
39
0
-6
-6
17
37
0
-40
0
-7
16
11
-26
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
-4
0
-41
76
-50
0
0
-36
0
0
3
0
0
0
-12
-13
20
0
-9
0
0
-7
11
0
0
2
0
0
-3
0
0
0
11
0
11
-4
0
0
13
0
0
36
9
3
0
13
-4
1
26
-7
0
0
0
1
0
27
6
0
0
2
-33
0
2
19
0
16
37
0
0
0
20
0
-9
-16
46
0
0
-29
0
-8
0
0
0
0
-29
-8
0
0
0
0
0
85
0
3
-6
0
0
0
36
0
0
-11
-1
0
-17
20
0
-6
-42
0
0
-4
-16
0
2
35
-13
0
-20
11
0
5
-40
0
0
0
-56
0
-1
1
3
0
0
55
0
4
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
-6
14
-4
18
18
14
-93
-2
-1
-24
4
32
15
-37
0
7
32
-41
0
-14
7
-12
0
-24
0
8
-11
0
95
-17
19
-20
10
-12
9
-31
13
-1
-15
12
32
25
-98
4
0
13
5
-2
69
-8
3
-3
45
25
16
-24
4
14
-4
-24
5
-1
-20
21
-10
1
6
-18
-5
-10
0
-15
-5
-18
25
-17
-3
0
5
6
0
-4
13
1
0
0
-36
54
4
4
0
-3
-3
7
18
81
-6
1
104
16
0
-10
13
22
-9
11
8
17
-14
33
43
-56
-7
-3
5
-24
20
9
-4
18
5
0
-14
-29
27
3
7
17
0
-16
-7
16
16
0
8
0
24
0
0
-31
0
-8
34
-10
40
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
-19
6
-6
-6
1
1
-50
38
-7
28
-41
3
5
-28
55
-4
-6
-23
-11
-29
2
41
1
-23
27
28
23
17
19
1
-6
29
9
3
-9
6
1
-31
-22
6
-45
10
3
3
18
44
-6
-36
-5
20
6
2
-43
11
-9
18
-3
0
-2
20
17
-10
-17
-5
0
-35
16
-2
23
29
20
6
15
7
14
-35
-14
-46
-3
19
0
-31
-52
-15
-40
-3
-17
26
26
10
-60
11
-2
11
12
7
47
23
-21
8
50
32
23
-25
49
-1
-2
-25
12
4
8
2
-13
1
49
1
-16
-26
-14
12
0
26
-2
-4
7
-7
29
-8
45
24
19
5
37
14
-9
26
-34
6
-30
-10
-5
12
-12
3
-9
-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
0
0
12
0
47
8
-3
0
2
-7
0
0
0
0
0
0
30
18
0
0
0
0
0
-16
2
0
0
0
0
0
-64
0
1
-11
0
0
0
20
0
0
7
0
0
2
15
0
0
-1
15
0
0
-52
0
0
22
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
46
0
0
4
8
0
0
-31
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
-2
11
0
0
0
0
0
0
-6
0
0
-1
0
0
0
35
0
-1
0
0
0
0
-55
0
7
4
0
0
0
2
0
0
3
0
0
0
-26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
65
-2
30
-4
0
52
0
0
0
0
0
0
26
-2
0
0
27
0
0
58
0
0
0
0
0
0
-41
0
0
1
0
0
-2
-16
0
0
-27
0
0
0
-18
0
0
20
0
0
-15
-11
0
0
-13
-1
1
2
-8
0
0
-4
-7
0
11
1
0
0
0
0
16
0
-57
0
0
-4
17
-7
0
27
0
0
0
0
0
0
-41
0
0
0
0
0
0
10
0
28
-3
0
0
0
-11
0
0
0
0
0
0
23
0
8
-3
0
0
0
-12
0
0
4
-1
0
-1
3
0
0
0
0
0
0
56
0
0
17
-8
1
0
8
0
-6
0
0
0
0
-39
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
4
-2
-1
-17
0
-24
79
12
3
5
30
-62
18
-8
4
4
-36
-8
6
-4
2
-2
-15
1
-59
7
-2
-45
15
50
-50
17
18
1
-32
12
-11
-16
4
-29
-4
3
17
96
3
13
17
-37
14
-8
3
17
-8
-15
10
-6
3
-13
0
49
-3
-22
21
-1
35
-1
-29
-9
14
39
2
7
3
9
3
-1
-1
0
-26
6
0
-44
-23
-7
1
30
-9
10
14
4
-2
19
-13
-41
61
13
17
-1
18
-1
12
2
8
7
21
25
11
-50
18
-17
37
-20
0
0
-17
41
-4
32
-54
-17
26
2
-24
-44
15
-53
20
-25
-10
-12
32
-10
-7
4
-6
-28
7
-2
-2
0
5
-15
-10
0
19
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
24
6
4
0
0
16
0
0
17
0
0
0
-15
33
15
0
0
0
0
-27
0
0
0
0
0
-2
-15
8
1
0
0
0
32
-33
0
-9
80
0
0
-30
-8
0
0
67
0
0
-1
-44
0
0
-18
0
0
0
15
0
0
-10
0
0
-4
-19
0
0
5
0
0
0
12
0
0
-3
3
-33
0
-35
1
0
0
0
0
0
24
2
0
0
0
0
0
-34
0
12
0
0
0
0
3
0
0
-15
0
0
0
13
0
0
-13
0
0
0
30
0
0
-11
-11
0
0
11
0
-4
-6
0
0
0
8
0
0
9
0
0
0
-4
0
-10
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-53
14
9
0
0
-13
0
-2
0
0
0
0
4
26
12
0
19
0
0
-3
19
0
0
0
0
15
-8
-1
7
6
9
0
-39
13
0
-13
35
0
0
-49
-8
0
0
4
-32
0
6
-7
0
8
2
0
0
23
-15
0
6
-21
29
0
5
16
0
2
35
0
0
0
-8
0
0
-70
-40
0
0
-11
0
0
0
0
0
0
-2
7
0
0
1
0
2
-19
0
41
4
0
0
-12
25
0
0
-7
4
0
0
34
0
59
18
0
0
21
49
0
-7
-42
50
0
2
-13
0
-15
-33
0
0
-6
23
0
4
26
-9
0
0
48
0
37
-17
0
0
0
-4
18
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
37
0
0
24
0
15
0
2
25
19
0
-13
0
0
8
7
0
2
0
0
2
4
0
10
26
0
-1
4
23
0
-9
5
3
6
0
0
6
0
-29
33
0
-9
-15
6
-12
-2
1
-5
0
11
0
5
-7
1
-29
0
6
-1
-4
14
0
1
0
-24
10
0
-10
54
17
0
19
2
0
-1
9
8
0
38
-27
0
0
0
0
0
-4
0
-19
-7
0
-11
-7
2
1
-2
44
7
0
0
20
-3
-6
34
-1
3
0
-12
0
50
-75
44
1
0
-2
0
-44
35
0
0
0
-3
0
0
2
0
0
0
10
0
-5
-29
0
-36
0
5
17
0
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
36
-19
25
6
5
-1
-1
-11
-5
-1
-53
21
-7
3
56
-4
18
37
114
28
-13
10
-13
-14
-16
22
11
-4
28
45
5
-46
-30
0
-10
-46
-24
6
-24
-16
-17
4
-36
-9
-5
-17
-16
24
-1
25
1
7
4
5
-7
0
7
28
-27
9
9
77
16
-42
36
9
6
-9
17
9
24
9
29
-63
31
1
4
-4
-43
22
-70
0
33
27
29
-7
-12
-4
-61
13
4
29
-22
-15
-23
2
-7
4
-28
-5
-13
-13
24
-8
-2
45
22
-23
7
-13
-21
1
1
-28
-2
-7
-21
-15
0
2
11
28
-1
77
52
1
-9
0
29
-6
3
11
14
5
67
1
-70
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
-15
0
0
0
0
0
0
-69
0
0
0
0
0
-2
-40
0
0
0
0
0
0
27
1
0
0
0
0
0
-2
0
0
13
0
0
-4
55
0
0
-6
-1
0
-2
-48
0
0
2
0
0
2
-2
0
0
-10
0
0
-1
-7
0
0
0
0
0
0
-2
0
0
0
13
-10
0
63
0
0
0
0
0
0
39
0
0
0
0
0
0
7
0
0
0
0
0
0
17
0
0
0
0
0
0
16
0
0
1
0
0
0
19
0
0
0
0
0
0
-19
0
0
15
0
0
0
-8
0
0
0
0
0
0
-27
0
0
0
0
0
0
-4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
10
65
15
14
4
-22
-2
-16
-3
-2
26
-4
-27
-30
0
3
40
40
35
22
-3
1
25
72
9
44
-8
8
-4
-11
-14
1
-18
17
12
4
-4
-16
0
31
-13
10
-12
-26
1
4
6
24
4
-5
39
-13
8
24
-1
16
0
32
-35
26
83
13
2
23
26
50
16
-3
-1
-2
2
-15
49
5
11
-2
35
-4
20
23
-27
-8
-18
40
-2
-23
12
9
54
17
-6
-8
-1
13
-5
35
70
-11
-3
50
-12
-23
20
3
-19
-13
-11
-37
-1
6
11
28
-1
-17
-44
10
13
22
9
-15
40
17
-17
-6
7
0
7
-11
-70
-27
-32
-11
-5
-5
-18
46
20
1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
3
2
-3
17
-8
0
4
23
28
0
-22
0
-2
-13
-12
0
-27
-1
0
-29
-5
3
-1
16
-2
1
-22
24
0
3
-15
0
26
34
26
10
2
-4
10
6
-10
18
0
-14
11
-30
30
-10
-15
-1
-15
-6
4
-11
8
-17
0
49
0
-14
19
0
2
-2
-10
0
-56
-11
0
3
23
-35
0
19
0
0
-18
1
0
-6
-48
0
0
12
1
-7
80
0
-8
10
20
-1
0
9
74
-12
-46
10
8
-40
50
-5
-3
66
-10
0
16
10
-30
-16
-22
-22
0
-51
-41
0
-27
0
8
0
-19
1
-4
-19
0
-6
0
25
0
0
21
0
-22
14
-4
0
-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
-13
14
0
2
22
9
24
0
7
-6
28
0
0
-11
0
-3
19
-2
-3
1
6
-8
6
4
-8
13
0
-12
19
8
0
13
12
2
-1
21
1
0
-11
1
21
-4
14
-5
0
-66
-4
0
-16
54
0
0
-6
12
0
-8
-60
12
0
-1
16
-2
18
2
9
0
-15
-14
0
2
0
-3
21
19
0
0
-30
2
-3
39
0
31
0
-4
23
8
-20
23
2
0
0
-23
7
6
-61
3
-11
0
-23
3
-2
8
-5
21
-1
23
-17
0
2
4
0
24
-9
16
0
-8
25
0
23
-11
11
-6
7
-20
0
-24
2
4
18
26
9
0
-13
0
-16
-33
14
3
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
3
-11
2
0
-35
0
0
-9
3
0
0
0
0
0
25
0
0
-29
-30
0
0
-31
0
6
-15
0
0
18
-22
0
0
7
-45
0
32
-49
0
-2
20
0
0
0
-15
0
-2
-40
16
0
-15
12
0
0
-24
0
0
-1
-35
0
-1
10
4
0
0
4
-11
0
0
0
0
0
49
-1
0
0
0
0
0
-19
0
-45
0
0
0
-3
25
0
-1
-14
1
0
9
9
0
-6
-58
0
0
0
17
0
3
49
-4
0
1
2
0
21
-44
0
0
-7
19
0
0
37
8
0
0
6
0
67
5
0
0
0
-1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
11
0
0
0
0
0
0
-48
0
3
11
-6
30
-6
25
0
3
24
0
-17
-4
9
0
-11
-6
8
9
1
9
0
3
7
0
7
0
-29
0
0
-15
-9
-2
0
-14
0
0
-21
0
-51
0
36
0
-3
-4
-3
5
0
-21
1
0
0
0
8
0
5
0
0
0
0
0
0
-9
0
1
0
0
0
0
-3
0
0
-9
-6
0
0
-16
0
7
0
0
0
0
33
0
0
-7
4
0
0
-21
0
4
1
0
0
0
-22
0
0
-3
-2
0
0
29
0
-43
0
0
0
0
-27
-2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
30
41
-9
60
-10
-24
-3
-3
-25
-5
-23
-37
-3
3
-48
-15
25
-12
3
4
-2
-7
8
15
4
-12
-13
-6
-1
-24
3
2
-13
-5
-4
-12
52
13
-37
-24
1
-5
-31
-20
7
-10
0
-11
-1
-2
39
18
-7
0
20
0
16
-13
-28
-5
7
16
-5
-22
-36
-13
12
21
4
0
-17
-16
84
42
6
27
4
-10
-18
9
80
-83
24
-7
44
-23
31
-23
59
-21
6
-7
22
-1
72
25
33
-3
2
5
-3
1
6
-24
-1
-6
-12
22
8
15
-26
2
1
34
34
10
13
-20
0
-6
30
-35
34
47
-16
22
-23
-10
-18
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-25
0
0
0
1
0
37
0
0
0
0
0
0
31
0
0
2
7
0
12
-21
0
0
-2
0
0
17
37
0
0
4
-36
0
0
-17
0
0
3
0
0
0
-44
0
0
14
12
1
0
-9
0
0
-3
0
0
0
-29
0
0
0
-4
0
0
20
0
-1
0
0
0
0
-16
0
0
0
0
0
0
0
0
-1
0
0
0
0
7
0
0
0
3
0
0
-12
0
9
0
0
0
0
15
0
0
0
0
0
0
-25
0
0
-1
0
0
0
42
0
0
16
-1
0
0
-56
0
7
0
0
0
0
-23
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-2
0
0
0
0
0
17
10
0
0
0
0
0
4
0
0
-1
0
0
0
61
0
0
3
0
0
1
-15
0
0
54
0
0
8
19
0
0
6
0
0
8
-5
0
0
-2
-1
0
0
-77
0
0
8
0
0
0
41
0
0
0
-4
-1
0
-30
0
0
0
0
0
0
-3
1
0
0
0
0
0
7
0
-1
-1
0
0
0
-45
0
0
0
0
0
0
-13
0
2
0
0
0
0
60
0
0
0
0
0
0
45
0
41
0
0
0
0
15
0
0
0
0
0
0
47
0
-1
0
0
0
0
-50
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
16
35
0
-24
0
0
-23
0
0
0
0
0
-6
-15
-7
0
-4
-2
1
-13
22
0
0
-19
-2
13
29
29
0
-1
15
38
-2
-35
3
0
-4
-6
9
21
0
9
0
0
-4
43
-10
0
-14
0
0
6
0
18
0
47
0
-2
0
-14
8
0
4
-3
0
0
0
-11
0
-15
-2
0
0
0
0
0
20
0
-3
0
0
0
0
-12
0
0
-1
0
17
0
-13
0
-8
0
-7
13
-3
13
0
0
0
-3
10
0
-11
0
-9
0
0
0
0
9
0
0
0
16
10
0
4
0
-16
0
2
-16
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
19
-4
10
0
0
0
0
-14
0
0
0
0
0
0
13
0
0
-8
0
0
-9
3
0
0
-36
0
0
21
-50
0
0
-4
0
0
0
1
0
0
-41
0
3
-7
4
0
0
38
-1
0
0
20
0
0
-15
0
0
0
-36
0
0
-2
0
-3
0
-20
0
0
0
0
0
0
84
-32
0
0
0
0
0
38
0
0
0
0
0
0
-10
0
0
-2
0
0
-10
-18
0
0
17
0
0
0
52
0
0
-2
-2
0
0
7
0
0
-2
0
0
0
23
0
0
2
0
0
0
-108
0
7
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-29
0
-12
0
0
13
-12
0
-8
8
0
49
12
-3
-1
-6
-14
0
2
-4
0
30
-12
3
0
18
-1
0
2
-14
48
0
42
2
0
-3
17
-19
0
43
-25
0
13
-27
-21
0
-17
-18
2
59
-13
0
0
9
-2
4
-33
-14
8
0
0
-2
-5
-13
1
0
0
0
-14
19
0
0
0
0
32
60
0
-20
50
0
0
-1
10
0
0
3
-2
0
-39
10
-2
2
-25
0
0
-4
34
0
6
21
12
0
-15
8
3
22
59
0
0
-18
-1
0
20
7
-58
0
0
-35
10
13
22
0
0
0
20
11
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
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-46
0
0
4
0
0
8
-21
0
0
3
0
0
0
-29
0
0
0
0
0
0
6
0
0
0
0
0
0
20
0
0
0
0
0
0
-15
0
0
0
0
0
0
-13
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
-17
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
22
-19
-10
38
20
24
-6
9
25
-9
14
24
29
1
42
0
12
0
15
-4
-6
2
-14
11
12
-18
20
2
-13
16
2
38
-14
8
-4
8
-18
-2
2
3
-3
0
-22
6
-27
0
-15
-7
-13
-8
-34
-6
-7
-13
9
0
-69
-2
-37
22
18
20
2
23
-11
-61
-12
-16
38
7
11
7
-3
-16
42
14
-8
88
-21
20
38
36
-22
0
-5
22
1
-2
4
22
0
-17
4
20
-21
51
-37
1
-38
-14
11
14
-22
-11
-15
14
-9
-1
-9
11
73
6
-72
-17
-2
35
-1
21
0
53
-21
-28
-75
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
35
0
-8
1
13
-15
-21
12
-11
-27
8
-3
-3
2
1
-8
-27
3
0
-3
0
-35
2
-51
-11
8
6
1
1
-13
-26
-2
2
-3
-2
18
-11
26
-3
0
47
0
0
13
-2
35
0
40
51
-91
-12
0
16
0
7
12
3
-4
0
-15
7
-2
-3
-4
1
12
-6
3
5
-48
-3
0
-11
-10
0
14
-32
-1
0
-14
14
0
-29
-23
25
-22
15
-34
0
84
-50
-34
38
-66
-25
3
22
-12
10
-11
-2
3
4
69
-15
-28
-32
0
15
-1
-3
35
0
17
-3
12
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
-7
6
0
6
0
0
21
43
0
0
10
10
49
12
-18
0
0
-24
0
-43
-22
1
-1
-2
-9
-8
6
-2
-4
22
47
-16
12
-7
39
12
0
-10
-22
54
4
-4
-16
3
-1
45
-22
7
-1
62
0
-28
-15
-37
10
0
4
1
-1
-8
0
-10
0
22
5
0
2
-13
0
0
-46
0
1
-3
0
4
-21
20
0
-4
20
-8
0
2
-8
0
9
-59
0
-16
6
-7
0
-39
-29
-38
-11
2
1
0
3
-24
-2
33
-19
-32
2
-4
-4
24
6
-8
-59
0
35
55
-4
2
0
27
-56
-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
-17
0
0
0
0
0
0
3
0
0
0
0
-2
0
-6
0
0
0
0
0
0
1
0
0
0
2
0
0
10
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
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
-5
0
0
0
0
0
0
-2
0
1
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
-16
0
-9
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
1
0
-1
-7
2
3
23
42
0
-3
40
7
0
-8
-4
0
-37
-26
9
0
-11
7
0
18
11
-5
0
-1
13
0
10
-19
-19
0
13
33
0
2
30
4
0
0
63
0
12
-7
23
0
8
27
0
4
0
23
-19
0
0
0
7
0
1
-5
0
-6
0
0
0
-2
0
-64
-7
0
-12
4
14
0
0
1
0
4
-9
14
-1
-35
-28
0
-15
11
2
0
5
21
-9
2
55
0
0
8
30
0
18
15
-32
8
3
17
7
-48
3
14
0
-1
7
0
-26
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
-10
0
25
0
0
0
3
-3
7
0
-1
0
0
-10
11
0
-3
4
0
0
48
-4
0
-2
9
-7
0
38
-54
0
0
-19
0
0
4
-13
0
0
35
-13
0
0
-1
0
0
6
-1
0
0
34
-2
0
-4
-2
0
0
-3
-6
0
0
0
0
0
-9
0
0
0
0
0
0
-22
0
-27
-1
0
0
0
26
0
0
-6
1
0
0
25
0
13
31
0
0
-6
-10
0
1
4
-11
0
4
-41
0
24
0
0
0
0
14
3
-2
0
0
0
0
49
0
22
0
0
0
0
-3
-36
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-57
0
0
1
0
0
1
32
10
0
-1
0
0
-22
11
1
0
5
0
0
0
33
0
0
-12
0
0
0
-17
0
0
0
0
0
0
78
0
0
0
0
0
0
-7
0
0
0
0
0
0
49
1
0
0
0
0
0
-8
0
6
0
0
0
0
-12
0
0
0
0
0
0
17
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
-19
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-5
-30
-41
9
-10
-19
1
7
-8
9
14
-25
-15
19
7
47
10
5
-15
-14
-6
1
40
-16
12
30
-11
13
2
-20
19
-1
3
-4
-9
5
5
1
-15
22
5
-17
-5
15
-6
2
-8
12
-24
-1
-22
-20
10
-9
1
-13
0
-9
41
-8
-20
0
-23
5
-19
-58
-28
-3
-16
11
2
-3
-26
-18
-21
-64
-12
10
30
-24
1
4
-17
-29
-6
41
-71
17
-7
46
8
-7
26
9
-1
10
25
-9
15
9
1
-28
23
0
-7
6
18
11
-30
26
21
33
8
-1
19
-30
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-6
20
13
-1
25
-5
-36
-7
37
-1
0
15
12
-4
-3
42
-17
-3
13
-32
0
0
-1
17
0
-9
6
0
2
47
63
3
-24
11
9
0
-14
0
6
2
-39
0
24
11
11
-12
0
10
10
1
0
0
-1
0
18
0
-6
6
2
0
0
-19
0
18
-22
0
-3
-13
36
0
7
35
0
0
-7
-19
0
36
50
-4
-6
2
-9
0
-14
12
14
6
10
10
2
-42
28
0
0
2
11
0
0
43
20
7
0
-8
1
-52
0
0
77
0
-7
39
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
-3
0
-1
0
-5
0
0
0
0
0
0
-41
0
0
20
-12
1
-2
-43
0
0
-4
0
0
0
28
0
0
2
0
-3
0
-42
0
0
0
0
0
0
-45
0
0
0
0
-2
0
-55
0
0
0
0
0
0
32
0
0
0
0
0
0
1
0
21
0
0
0
0
13
0
0
0
1
0
4
50
0
0
-2
0
0
0
17
0
0
0
-2
0
0
-40
0
0
0
0
0
0
-9
0
0
0
0
0
0
-22
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-4
33
0
7
-51
0
0
-3
36
0
0
-3
-6
0
25
-11
0
-7
52
0
0
0
10
0
0
11
58
0
0
58
0
0
1
0
-16
0
37
0
0
0
-9
3
0
11
0
0
0
0
0
0
17
2
0
0
0
0
0
4
0
31
0
0
0
0
18
0
6
2
1
0
0
18
0
32
13
0
0
0
-12
0
0
15
-6
0
0
13
0
-17
0
-2
0
0
9
0
-1
0
0
-2
0
-24
0
5
6
0
0
0
-10
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
-7
0
0
0
28
0
0
20
0
0
25
14
0
0
-13
4
0
0
8
0
-6
-15
-11
0
3
-52
0
0
1
0
-11
0
50
0
0
0
0
1
0
63
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
15
0
0
0
0
1
0
0
0
0
0
0
22
0
-4
-3
0
0
0
-37
0
0
1
0
0
3
29
0
0
0
0
0
0
30
0
0
0
0
0
0
43
0
12
0
0
0
0
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
2
0
0
-7
0
0
0
-57
0
1
-10
0
0
0
-45
0
0
0
0
0
0
-66
0
3
0
0
0
0
-1
0
0
-2
0
0
0
-2
0
0
1
1
0
0
-18
0
0
0
0
0
0
59
0
0
0
0
0
0
-22
0
0
0
0
0
0
-15
0
0
0
0
0
0
-34
0
0
-11
0
0
0
-7
0
0
3
0
0
0
29
0
-9
0
0
0
0
-66
0
1
0
0
0
0
61
0
-2
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
15
0
0
21
14
0
0
-36
9
0
-51
12
0
13
-22
-4
-11
2
10
0
3
67
50
-24
-10
-10
0
0
-2
0
27
0
4
1
-12
0
8
-4
0
-25
0
-7
0
0
4
0
58
10
0
2
7
0
0
56
0
30
11
-2
0
0
29
0
0
36
-6
6
2
10
0
6
59
-3
0
-1
9
0
-5
-55
-20
0
0
3
0
-18
-6
4
0
0
-30
7
11
39
3
0
0
10
0
-19
0
0
-3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
-50
20
48
-15
-9
3
59
3
4
12
29
-12
7
16
3
-1
-9
7
-6
-10
9
27
-2
10
5
0
0
-16
12
-4
5
-6
19
6
59
11
-3
23
3
0
-11
-60
-3
-14
-47
-5
-23
3
68
-47
-3
-13
-3
-28
0
5
-16
-5
-33
9
11
-2
-7
35
0
28
22
-19
-7
35
-4
10
-60
27
-14
3
15
-4
-1
7
7
7
-1
56
24
32
-9
54
37
-10
-35
-14
20
7
-53
6
10
1
1
4
24
-20
13
-11
-13
5
56
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
-19
0
-16
15
0
0
8
16
0
28
82
24
0
34
17
0
1
46
-4
2
0
-39
0
-4
13
-22
12
9
-32
0
0
15
0
0
0
29
0
0
0
0
4
0
-2
0
0
0
3
0
0
-2
21
-4
0
8
0
0
-2
7
2
12
0
0
10
-6
0
2
8
-1
0
-8
27
0
34
0
-1
2
7
-12
0
4
30
-1
0
4
23
0
-20
27
0
0
0
-27
0
1
16
0
4
0
-1
0
22
0
0
0
0
15
3
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
18
13
3
56
1
0
-17
33
0
0
0
-19
-2
-34
-13
0
0
-11
6
3
-25
11
-3
-9
43
7
-2
-1
-8
-3
0
-3
0
82
-1
-12
0
0
1
0
24
0
20
0
0
0
0
6
0
0
-32
0
0
0
0
0
11
4
82
0
0
0
2
20
7
-1
0
-3
4
8
16
13
-19
42
0
-2
0
30
0
0
-39
-47
15
-6
0
0
-25
36
0
0
0
-59
0
2
16
0
0
0
3
0
63
-3
0
-2
0
19
43
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
33
-23
13
-31
18
3
-17
7
-41
-36
9
20
-6
33
15
13
-3
10
11
-7
65
10
32
23
28
14
-2
-13
7
-22
13
0
24
-2
-31
-16
1
14
0
-6
31
-14
0
-1
11
0
-12
55
-1
0
0
-7
12
16
3
6
-4
0
0
-14
18
0
-21
-18
-21
0
-7
10
0
-10
-44
81
19
58
9
0
-29
22
51
38
12
21
7
3
47
4
9
-13
16
11
-13
1
-4
-35
36
14
0
21
-55
2
30
0
-10
9
-7
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
-24
5
0
9
10
0
22
-46
-31
-3
9
-14
0
-30
41
-31
0
4
14
2
-50
14
-1
0
-13
-6
3
28
6
10
-1
13
27
0
45
-1
-15
0
0
-1
0
5
0
26
-11
0
0
-2
10
0
-38
-17
0
0
0
0
0
26
0
74
5
0
7
2
10
0
0
52
0
0
-9
-8
1
55
18
2
-3
54
-22
0
51
3
6
1
-8
10
0
10
-24
0
10
1
-3
0
-3
-22
-8
8
0
-10
0
39
3
0
-1
3
8
39
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
12
0
0
0
20
3
-1
46
3
0
-10
-19
0
-4
34
-3
0
13
-27
0
0
2
20
0
-1
17
0
2
24
0
0
0
14
0
0
-9
9
-1
0
35
-9
-2
0
0
0
0
-35
0
0
0
0
0
0
36
0
33
44
0
0
0
-20
0
0
6
-1
0
15
45
0
17
5
0
0
0
35
0
15
-19
31
0
0
6
0
-36
27
-3
0
0
22
0
-7
-11
4
0
0
37
0
-10
1
10
0
0
30
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
7
17
-3
-16
-6
1
-33
-20
-7
11
3
12
0
57
-18
19
-10
74
15
0
27
6
-4
-50
-1
9
6
-6
-29
17
9
0
7
32
0
0
4
16
0
9
-30
0
8
2
0
-22
0
-2
-18
-14
0
-6
2
23
-2
-3
46
13
-2
-26
-14
18
10
-36
17
2
12
-11
0
14
-29
-51
-6
-23
4
0
-2
23
-2
-3
-8
24
-17
-1
26
-21
8
0
45
0
37
-23
0
7
0
17
4
4
-19
-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
15
-3
-14
-1
-1
7
-26
17
6
-25
-14
0
-7
-30
13
6
1
8
15
-13
-19
12
5
21
27
16
14
-6
-2
1
14
1
9
13
-4
40
7
-6
-16
-16
-39
3
-53
8
-13
42
38
30
-16
5
22
23
-17
-36
7
4
15
0
30
-50
-4
-30
-29
26
-16
10
0
18
5
5
-25
8
-1
11
-3
9
-11
20
1
3
-8
-9
-46
0
-6
0
-30
9
-11
-4
-16
-28
-5
2
-2
9
3
-9
-92
16
17
12
20
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
52
0
0
13
0
0
0
-7
0
0
49
0
0
0
24
0
0
-9
-8
0
0
-27
0
0
0
0
0
0
24
0
0
0
0
-9
0
36
0
0
0
0
1
0
14
0
-8
0
0
0
0
1
0
10
-3
0
0
0
8
0
0
9
0
0
0
37
0
0
0
0
0
0
27
0
0
-13
0
0
0
53
0
-10
0
0
0
0
28
0
0
3
0
0
0
-39
0
-22
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-24
-11
-2
15
0
0
-35
-13
-6
-1
-9
0
0
-19
-3
-4
0
32
0
0
-6
0
23
0
52
0
0
0
5
9
0
11
-2
-1
0
0
0
0
0
1
0
0
2
0
-1
55
0
-23
57
0
17
0
-11
0
0
19
0
-3
12
17
0
0
20
0
0
0
-10
0
0
9
-11
0
0
-32
0
-15
38
-1
3
10
-11
0
-11
32
5
0
0
24
0
25
0
0
-3
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
-7
29
48
-13
-2
10
29
46
-12
52
12
-45
9
-28
-7
-8
-2
-8
27
6
-4
28
-17
62
1
1
-3
1
-13
13
16
8
-1
8
-32
0
13
-22
26
-2
4
21
3
7
-6
0
-16
-7
-13
41
-13
0
10
63
31
-2
-28
-35
-14
0
35
11
9
-14
-36
28
0
-27
4
0
-8
5
35
-26
20
8
2
-3
-11
-24
5
-17
-12
-18
-2
-3
-15
16
4
1
-1
6
-44
-3
21
0
7
-13
40
-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
75
-21
0
0
-40
-9
0
-6
49
0
-1
-37
0
0
0
-48
0
0
28
0
0
0
51
0
0
0
0
15
0
44
0
0
0
0
32
0
23
0
0
0
0
0
0
4
16
0
0
0
0
0
-32
0
15
0
0
0
6
78
0
0
14
0
0
-3
-4
0
0
7
0
0
0
36
0
0
73
0
0
0
-24
0
-4
-6
0
0
0
9
18
0
2
0
0
0
-42
0
16
2
0
-13
0
23
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-3
31
-27
0
-3
-24
0
0
25
-2
0
0
-22
0
1
28
-2
0
25
-14
0
21
-11
0
0
-13
8
0
-13
25
4
0
0
-4
6
0
0
0
0
0
2
24
0
0
0
0
0
1
0
33
-10
0
0
0
-14
0
0
27
-18
0
0
48
0
13
-4
2
0
0
-3
0
11
18
9
0
0
-22
0
21
59
-4
0
0
20
0
-4
-9
15
0
0
18
0
-53
0
0
0
0
-6
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-39
-3
0
-6
-54
-11
4
-15
-9
15
31
65
-1
-2
50
-21
8
19
0
11
23
0
22
18
-1
0
9
15
7
-1
-19
-56
0
-8
10
0
36
-1
0
11
26
19
-34
-2
15
-9
-10
16
0
-24
3
15
-10
13
11
-9
-35
42
-7
7
3
5
0
-24
-2
-56
-9
17
26
-1
37
19
-1
-32
-11
17
1
19
70
4
-49
0
10
7
26
42
0
-5
0
25
64
-8
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
0
18
10
-11
23
5
47
3
13
-13
9
15
10
28
-37
29
-23
-11
-28
-4
-83
17
38
3
-2
12
8
-7
-4
14
18
-14
41
8
18
-9
35
-15
7
-65
-10
-7
-23
40
37
-23
70
13
18
12
-3
48
55
10
0
-19
-14
11
-11
-66
10
2
-23
9
4
11
0
-30
-3
4
-10
6
-10
5
-1
18
-23
-30
6
-8
27
2
6
41
-10
17
-26
14
-19
2
-7
21
-29
-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
1
0
1
-7
0
0
0
22
0
9
47
-8
0
0
-37
0
0
4
0
0
0
42
0
0
0
4
0
0
-55
0
0
0
0
0
0
19
-11
0
0
0
0
0
3
0
-26
0
0
0
0
-39
0
2
0
0
0
0
-14
0
11
0
0
0
0
6
0
0
1
2
0
0
35
0
38
0
0
0
0
51
0
0
-6
0
0
0
-2
0
-6
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
29
0
8
17
-8
9
-1
12
-4
0
-13
-20
0
-4
-10
0
0
16
0
-9
10
-11
0
-2
-3
-3
11
0
-24
-2
0
0
0
0
0
-11
20
0
-7
0
0
0
-37
6
6
-13
0
0
2
26
3
0
-1
-22
-9
0
28
0
-17
-12
4
6
0
20
0
0
-39
-15
0
-8
30
-1
8
-11
0
11
0
-10
0
-1
8
0
0
0
-3
0
-8
1
0
-1
0
9
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
19
-7
-3
-13
-5
2
19
-1
-3
28
9
12
-2
-29
15
14
-3
-5
6
33
-3
-49
3
5
-52
17
-1
14
-1
17
4
-25
-9
-8
62
-6
-2
20
11
34
-14
0
66
0
26
-14
20
32
43
12
6
40
20
25
-35
6
-65
13
-20
1
-14
3
9
8
6
0
10
-8
31
32
-28
-4
-28
3
21
-19
91
50
-3
24
-11
17
17
3
-46
7
-4
3
-21
16
41
-1
12
-17
11
-11
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
43
-18
0
37
11
2
-54
32
-21
0
-7
30
-33
-16
13
-16
0
40
-12
0
35
15
-12
0
12
31
9
-5
0
7
26
1
-3
0
-65
0
3
33
0
2
0
4
22
16
1
26
6
3
-9
-12
-8
4
9
-4
13
4
48
8
13
26
-11
6
-4
-23
-1
0
7
17
1
26
33
0
-11
33
44
1
0
17
8
-2
6
38
21
16
0
-9
0
41
-5
0
-34
0
8
-37
15
-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
81
6
0
-2
69
0
0
0
-28
0
0
-5
-35
0
-1
-46
0
1
1
0
0
0
27
0
0
6
2
0
0
-9
28
0
0
0
0
0
11
-5
0
0
0
0
-7
-34
0
32
3
0
0
-2
-17
0
0
-8
10
0
11
75
0
16
-34
0
0
0
56
0
-2
13
1
0
8
28
0
5
-9
0
0
0
24
0
0
-21
-7
0
0
1
0
-27
0
0
0
0
9
16
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
14
-8
61
17
-6
-28
-7
-12
-1
29
9
-15
-3
0
15
-4
6
3
23
9
0
15
-9
0
-2
0
62
3
-16
-56
-4
-3
-28
0
4
-19
0
-11
26
0
0
-14
-11
-9
28
6
51
-3
3
7
1
-36
0
0
-10
0
24
10
-11
26
19
-3
0
4
1
-4
-18
-1
22
2
7
6
-14
0
0
-4
0
8
0
-4
1
0
-4
0
-2
-17
0
-2
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
-20
2
-2
-5
7
9
21
5
24
4
-11
14
3
10
-22
7
-1
-8
-15
12
8
-26
-20
-83
-2
18
11
-8
24
-37
-27
-6
42
0
70
3
40
-35
-12
0
8
26
22
2
-10
0
25
-1
1
-11
14
20
28
-7
0
-31
39
44
28
37
22
-2
-30
-53
-1
-27
18
10
9
-37
4
-1
-3
11
37
-2
-57
-10
10
16
-7
-7
6
20
-51
-7
-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
-3
-18
0
0
10
-3
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
20
0
-10
0
0
0
0
0
0
58
0
0
0
1
0
0
-6
0
-1
0
0
0
0
-13
0
-1
7
0
0
0
-26
0
22
-26
0
0
0
-1
0
0
0
-8
0
0
24
0
-19
0
0
0
0
-23
0
-13
10
2
0
0
28
0
28
-1
0
0
0
19
36
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
60
0
2
37
0
0
11
0
-16
0
45
0
12
16
31
27
0
21
0
0
0
0
0
0
-4
0
0
0
0
0
4
-17
-7
7
-20
0
0
-2
-42
0
0
43
0
0
15
27
1
-19
12
-4
-7
23
-16
0
0
10
-13
0
21
1
0
65
-24
12
-13
0
10
-4
0
11
9
-3
0
-12
0
17
2
0
32
0
18
-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
-2
-9
0
-9
-6
-2
-3
2
7
-33
8
-54
-37
21
61
15
54
0
51
-9
22
14
5
36
20
0
-11
14
-8
3
5
19
20
-67
-22
70
6
13
7
16
-3
16
-35
2
-4
12
-6
3
15
44
15
-3
-13
11
-15
34
12
-5
62
-2
22
10
-3
-40
2
-6
-15
28
-5
28
-30
20
-17
-20
-15
15
6
-13
4
-23
-4
-22
-49
39
-12
6
-38
11
44
17
-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
1
-3
0
0
-5
-2
0
11
-12
0
-9
7
0
-3
0
-64
0
-3
37
0
52
0
37
-6
0
0
0
0
0
-24
4
0
0
0
0
0
12
0
1
-4
0
0
-9
-3
0
1
4
-3
10
-7
3
0
-56
-62
0
0
0
-27
0
7
-3
12
6
0
-28
0
-38
39
0
0
2
-1
0
0
11
0
0
0
-17
0
-46
-4
0
-9
0
45
-7
-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
-1
8
25
0
-33
-4
0
-5
-33
0
0
-4
0
0
24
21
0
-1
-7
0
0
0
-20
0
0
0
0
0
0
2
38
0
-7
0
0
4
5
0
2
-3
0
0
0
-17
0
38
54
50
0
1
18
0
12
8
-3
0
-3
30
0
2
63
-22
0
38
22
0
8
-1
2
0
4
-4
0
27
22
-17
0
0
-3
2
-40
16
0
0
0
15
24
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-99
0
30
0
-1
-1
-3
47
-17
13
3
17
0
0
0
-11
7
0
-19
4
0
0
12
0
0
-16
-3
-6
-13
1
0
17
-24
0
63
17
21
0
0
-6
0
-6
20
3
2
0
13
0
4
44
10
0
0
16
0
-3
3
-2
0
0
12
0
6
45
-12
-1
0
6
0
21
-2
0
-8
4
-23
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
35
32
16
48
35
24
11
18
1
8
1
-10
-11
2
28
-46
-2
-59
-22
48
-1
2
-18
-20
1
-7
23
-16
-17
18
-26
32
-1
-48
2
85
14
6
-10
-12
-5
-15
22
-13
-29
40
15
-12
23
52
-8
-1
7
-20
-9
0
-44
-5
9
-20
-11
-15
-10
-13
-9
18
43
29
7
1
0
-21
18
20
-6
-9
10
3
-28
-15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
13
0
0
0
8
0
-1
0
-8
0
0
10
0
0
0
0
1
0
-30
0
0
0
0
0
0
-3
0
0
0
0
0
0
-33
0
0
0
0
0
0
-40
0
0
1
0
0
0
73
0
0
0
0
0
0
54
0
-26
0
0
0
0
-27
0
0
0
0
0
0
13
0
5
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
19
-6
0
17
50
0
0
0
-7
0
12
-2
-38
55
0
-7
0
0
0
0
-2
1
-11
-11
0
0
0
0
-2
14
0
-1
21
0
3
0
27
1
0
69
-8
3
-6
-28
0
10
-27
0
0
-7
-33
0
2
14
-33
-6
-7
-40
0
-33
7
0
3
28
-24
0
0
-26
9
0
0
-5
0
60
-10
0
11
0
-1
17
0
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-4
22
-1
-7
14
-11
24
-34
-40
-9
22
21
0
-4
-86
0
-1
64
17
-4
-7
-37
-2
3
32
-8
-40
8
10
23
7
-3
-7
-24
17
2
82
1
-35
10
8
0
-1
5
-44
-2
-4
52
-1
0
-26
48
-21
33
5
-9
-3
8
-17
27
19
-12
4
2
-26
-27
8
26
-13
-2
9
35
9
6
18
0
-23
-2
-14
-7
-20
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
24
-1
0
3
14
3
38
29
-2
28
33
7
-6
24
0
-9
-2
-16
0
0
-5
0
-3
-2
-1
12
0
-3
4
11
-9
24
-7
0
21
44
5
0
3
18
-6
-10
73
-3
-11
12
49
10
6
-41
2
4
-3
-12
-1
-37
19
5
0
26
36
0
9
-12
-7
-2
-10
-20
0
56
0
-4
0
22
-13
0
41
0
-1
7
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-76
1
0
-3
3
0
3
67
-43
0
0
-2
9
0
0
2
0
0
-5
-9
0
0
0
0
0
14
3
-7
4
0
0
12
12
0
12
10
12
0
-6
0
0
34
15
0
0
-1
25
0
-6
32
-15
0
1
22
0
24
-34
0
0
-7
25
0
46
19
-9
0
0
4
0
-8
-2
-2
0
0
7
49
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
1
2
-6
0
-24
-2
0
0
0
12
0
9
0
0
0
-1
0
0
-12
0
-3
6
0
0
-7
-24
0
0
-38
-22
0
-7
14
0
-19
2
1
6
0
0
0
0
-38
36
-1
0
-11
0
-22
-24
0
0
-3
4
0
-50
-4
-22
0
0
-15
0
-56
-9
0
8
0
-29
11
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
47
3
11
10
7
26
-9
-11
11
18
39
-5
-102
25
-16
15
-13
28
8
-18
81
47
0
-32
13
17
-4
1
19
2
-78
-25
11
-3
-6
0
13
-3
-2
8
10
17
31
4
-11
-21
1
-3
-38
-37
-3
12
-30
-1
4
-11
36
0
1
21
38
7
58
-23
-5
1
-9
34
-18
6
-11
13
-9
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
-14
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
3
0
0
0
0
-3
0
0
-6
0
0
0
12
0
0
0
0
0
0
-2
0
0
6
0
0
0
7
0
0
3
0
0
0
-4
0
6
0
0
0
0
21
0
-1
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
-5
0
-17
0
56
0
0
0
0
0
0
-24
0
0
0
-1
0
0
50
-2
-4
0
-4
0
0
29
0
0
7
-13
2
0
3
0
-19
3
0
0
0
-30
3
0
-3
35
0
0
10
0
20
0
0
0
0
47
0
0
-9
-1
0
0
22
0
-4
-3
0
6
0
19
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-12
0
-23
-16
0
0
-2
0
0
-8
-82
0
17
13
0
2
-17
1
24
-13
0
-3
-27
2
0
-3
-5
39
0
11
15
9
9
41
1
-6
0
-8
6
-21
-49
-33
-22
9
-8
-2
-25
-23
3
10
0
-2
0
-4
-7
27
-17
0
-10
0
-28
-1
3
-20
0
-13
-24
-2
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
1
6
-9
0
-37
0
0
0
0
0
0
14
0
0
0
0
0
0
-28
0
10
-3
0
0
0
42
0
-3
0
0
0
0
-68
0
-9
3
0
0
0
10
0
0
-1
0
0
0
-26
0
-3
12
0
0
0
27
0
0
8
0
0
0
24
0
-4
-11
0
7
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
-10
-6
0
0
-4
-22
0
0
0
69
2
0
-21
0
0
27
30
0
-13
0
0
3
-5
1
-12
-31
1
0
23
38
0
0
54
13
0
-22
-5
-7
-30
64
0
0
14
26
0
35
14
31
0
-25
19
-3
-49
-20
0
0
14
10
-3
0
43
23
0
3
2
0
-25
-8
-8
0
0
2
10
-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
-25
9
0
0
0
0
0
-48
9
0
0
0
0
0
45
0
2
0
0
0
0
8
0
0
1
0
0
0
13
0
-1
-7
0
0
0
1
0
0
3
-21
0
0
-40
0
1
0
-2
0
-7
38
-1
0
-10
7
0
0
-29
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
-75
8
-28
-25
-8
0
-8
-21
26
31
-8
-5
11
-19
-4
-20
2
-21
-23
6
21
9
-13
-21
33
36
4
19
12
19
-6
-39
41
4
-19
20
10
15
-8
-2
-1
-14
-34
4
-10
-40
-46
1
-43
-37
-4
2
-17
-67
0
-45
3
-1
4
47
0
12
-27
19
39
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
-6
0
0
-4
0
0
8
26
0
0
6
0
0
0
21
0
0
2
0
0
0
-13
0
1
0
0
0
0
1
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
8
0
19
-3
0
0
2
0
0
18
0
4
15
0
0
-1
-58
0
0
55
10
0
0
39
0
-7
-12
0
0
0
-9
0
3
-6
4
0
2
1
0
-27
19
0
-7
-5
5
0
-1
0
58
0
-6
0
0
-21
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-19
0
0
1
-1
3
52
-10
0
0
-8
0
0
50
9
-65
-7
0
0
2
15
0
0
11
15
0
26
9
0
8
-31
0
0
-8
-34
0
-9
7
19
-6
26
26
0
-33
-3
0
-1
-6
-8
6
10
0
-1
0
3
-36
0
10
0
0
0
0
-48
15
-25
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
33
-9
0
0
-5
0
-7
21
-6
2
-4
-3
-1
-30
0
23
0
18
-3
6
17
0
0
6
0
-7
26
-2
-1
-51
-74
0
0
-7
5
0
54
13
-16
0
-50
1
-2
-6
27
0
49
-9
-4
4
-22
8
0
23
0
-13
0
24
8
0
-21
0
-44
-24
-14
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
7
12
1
0
0
0
6
21
0
0
-8
0
25
-7
-2
15
34
-3
0
56
5
0
-11
-15
29
0
51
23
12
14
11
9
0
34
22
0
-19
28
31
0
8
7
0
6
19
11
0
3
16
-4
-12
53
-32
0
12
-15
9
6
44
1
0
0
11
-41
19
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
-4
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
0
7
0
0
0
-3
0
0
0
0
0
0
-36
0
-6
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
-9
-5
6
44
-15
47
-18
-30
6
-4
9
2
2
23
25
-1
20
-21
33
18
-52
6
3
43
23
6
-1
-8
34
10
-29
4
20
4
57
-56
3
-8
16
3
6
-16
-17
-5
37
15
12
0
6
11
-1
64
1
-33
-6
21
-1
0
-36
-36
-14
-29
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
58
0
-16
-1
1
0
0
-58
0
0
3
1
0
0
6
0
0
29
3
0
0
-1
0
-17
-1
-30
0
-4
-34
0
50
-12
0
0
-1
4
0
1
-3
-12
-3
0
-4
0
-50
-4
0
2
0
-21
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
-29
0
0
0
0
0
0
-2
0
-2
7
0
11
0
22
0
0
0
0
0
-2
14
0
0
-33
0
0
0
-41
0
-3
-1
0
0
0
8
0
86
2
0
6
0
70
0
0
2
0
0
0
18
0
-13
0
0
-10
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
2
0
0
0
0
0
0
-4
0
0
0
0
0
-7
12
0
0
0
0
0
0
-21
0
0
0
0
0
0
-7
0
0
-6
3
0
0
-39
0
-12
0
0
0
0
2
0
0
0
0
0
0
-59
0
20
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
-7
0
0
0
0
0
7
17
0
6
-6
0
0
0
-28
0
0
-4
-6
0
0
31
0
-4
0
0
0
0
-26
0
0
-13
0
0
0
-41
0
-6
-21
0
0
0
-14
0
6
-1
0
0
3
47
0
-6
10
0
0
0
39
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
2
3
0
0
0
-17
0
0
-11
0
0
9
-2
0
6
8
0
0
0
46
0
-7
-7
0
0
0
8
0
-112
0
-6
0
0
39
0
-1
-6
39
0
0
40
0
39
-3
0
0
0
-38
-57
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-3
0
-2
15
0
0
0
-13
0
0
0
-6
0
0
-10
0
0
0
0
0
0
18
0
0
0
0
0
0
-33
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-8
-6
40
27
-19
-5
23
18
-22
-16
30
-13
-18
24
1
18
44
19
-15
8
-18
-51
6
0
27
-7
-10
-3
19
-23
-27
2
8
12
-42
-83
-4
38
-28
-9
4
3
11
-29
-6
0
-1
3
3
-1
-66
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-16
7
0
0
2
-23
0
52
35
33
0
5
30
-1
26
-50
-28
1
32
-21
0
2
-16
25
4
2
47
0
55
6
-1
-4
0
13
3
0
-26
-1
0
0
-9
0
17
0
10
2
0
34
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
-1
0
0
0
0
-30
0
3
2
0
0
1
-24
4
0
2
0
0
0
-25
0
-2
-1
0
0
0
12
0
0
3
6
0
0
-28
0
0
0
0
0
0
15
0
-12
0
0
0
0
-11
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
-1
0
-3
0
0
0
0
21
0
0
0
0
0
0
43
0
-13
0
0
0
0
-4
0
-1
-2
0
0
0
-76
0
28
0
2
0
0
-13
0
0
0
0
0
0
63
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
56
-15
0
0
0
-79
0
0
-28
0
0
0
-52
0
7
29
0
0
0
36
0
0
2
0
0
0
-76
0
39
0
0
0
0
43
0
0
8
0
-15
0
-6
0
33
-3
0
0
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
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
6
0
0
0
-2
0
0
0
0
0
0
-2
0
6
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
2
37
0
6
-21
0
0
-26
71
0
0
-46
0
0
0
-13
0
7
-18
0
0
0
-3
0
3
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-4
27
-4
-3
16
-11
-12
-2
-32
-13
83
-15
-14
-20
25
2
14
-30
-28
-4
-3
-4
-8
-8
-87
-49
-15
-2
51
36
0
-28
-9
13
-3
16
-7
-23
-27
0
2
23
3
-23
-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
3
-30
0
2
7
0
0
0
33
0
17
0
0
0
0
-51
0
0
-6
0
0
0
31
0
-16
0
0
0
0
33
0
0
-13
0
3
0
4
0
2
0
0
0
0
7
-7
-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
27
-18
1
-33
-6
-12
17
-13
13
51
31
17
-3
0
-24
52
0
56
14
14
4
-4
7
0
-32
-13
2
11
-32
-19
1
8
14
6
18
0
-32
0
6
0
0
72
0
36
0
-1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
32
0
0
-11
46
0
0
18
0
-27
-42
-13
0
7
33
0
-3
16
-1
0
20
-18
0
44
20
0
0
0
9
0
-3
2
-5
24
0
19
0
16
-8
0
-16
0
22
18
20
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
3
0
0
0
6
0
2
10
0
0
0
17
0
0
0
0
0
0
-36
0
2
0
0
0
0
37
0
0
0
0
0
0
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
-4
0
0
0
-1
0
0
6
0
0
0
3
0
-6
0
0
0
0
-64
0
0
22
0
0
0
-30
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
16
-17
0
0
0
30
0
15
67
11
0
0
14
0
6
41
-10
0
0
-32
0
0
3
-10
0
0
38
0
91
19
0
0
0
23
-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
-1
-6
-37
36
40
61
-53
-34
5
14
8
4
20
-33
31
0
0
2
-23
-27
-40
42
0
-38
57
15
-18
-48
9
-5
2
-17
11
-21
15
-2
10
-31
58
-27
-46
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
-22
0
0
1
13
0
0
-1
0
-6
0
0
0
0
3
0
0
-7
0
0
0
-24
0
-6
0
0
0
0
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
39
0
0
3
-6
0
0
41
0
0
8
-9
-1
-3
6
0
-7
0
6
0
0
-21
4
0
-2
0
0
0
-21
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
7
-24
29
3
-12
-31
0
15
-18
41
11
3
8
0
-59
32
0
0
-16
0
0
-2
-25
3
19
0
11
0
22
11
8
-6
0
22
-24
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
23
2
-21
44
0
0
0
-9
0
1
-49
-29
25
9
-6
0
-24
-9
0
8
12
43
0
-18
12
8
-22
0
-61
0
29
-9
0
9
0
55
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
17
-28
0
0
0
3
0
0
0
-2
0
0
10
0
-5
-6
0
0
0
-39
0
0
0
0
0
0
-22
0
0
0
0
0
0
21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-22
3
0
0
16
0
22
25
-3
11
1
24
4
-3
-15
3
0
0
-1
0
17
7
0
0
0
17
-17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
2
34
-14
14
-7
-1
-26
5
1
29
-14
-26
9
78
11
9
-5
10
69
6
-17
-8
8
-14
-3
-17
-4
13
-56
40
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
6
7
0
0
-55
0
0
-6
0
0
0
25
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
-2
0
36
24
-3
0
-31
0
82
39
4
0
-47
8
0
0
-45
-8
-29
0
6
0
-7
-1
24
-36
0
10
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
38
0
-1
-3
-2
-7
41
-10
0
22
92
-10
7
-28
13
0
-23
46
-11
-13
-3
18
0
-13
13
0
0
0
17
-75
31
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
24
0
0
0
74
0
-4
0
0
0
0
26
0
0
0
0
0
0
-5
0
-4
-2
0
0
0
27
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-36
0
7
30
-12
0
-1
10
0
4
-7
0
0
0
22
0
0
0
0
0
0
-40
0
31
0
0
0
0
32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
33
5
-8
-3
0
-7
0
2
-3
6
0
0
11
0
86
18
0
16
0
32
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
-26
18
87
-61
-50
8
22
-7
12
1
12
26
2
12
-8
30
-2
3
6
-7
-3
-2
4
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
25
0
11
3
0
0
0
-43
0
0
8
0
0
0
-28
0
-2
0
0
0
0
6
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-5
-1
17
-4
0
0
-2
-31
1
0
-11
-19
-4
0
59
0
-9
0
0
48
-4
27
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-2
0
45
85
20
38
33
3
0
23
-25
-10
4
0
-3
0
12
1
-1
-25
0
6
-9
-44
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
18
-34
0
-11
-9
18
1
35
14
1
0
1
3
2
29
8
0
-6
0
-15
28
6
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-87
3
0
0
-1
-11
0
0
16
0
0
0
-7
0
-24
-7
2
0
0
18
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
28
-6
44
0
0
10
0
20
15
0
-8
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
30
2
19
63
-69
-2
53
-22
1
-17
16
-16
17
-3
-29
7
-1
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-2
0
0
47
0
-2
0
0
4
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-1
0
19
-50
-11
-32
-1
-21
-1
31
-54
8
-20
0
12
16
13
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
54
-64
90
-10
0
-23
0
6
0
0
10
-4
-21
39
1
1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-60
0
0
-11
0
0
0
-6
0
4
1
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-32
0
0
0
0
1
0
45
0
6
0
0
3
-9
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
16
0
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
4
38
7
38
-5
-23
-2
-15
-37
36
-41
-3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
1
15
0
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
-25
11
0
41
0
0
68
0
-39
21
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-13
0
30
-29
0
7
0
-2
-11
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-36
10
4
0
0
-66
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
41
26
-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
-2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
23
9
-39
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
4
39
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-17
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-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
-1
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-11
-4
0
0
5
9
0
0
-3
0
0
-6
2
0
0
0
0
0
0
6
0
0
1
0
0
0
0
0
1
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
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
-13
0
0
-1
0
0
0
16
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
8
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
-42
0
0
22
0
0
0
-2
0
0
58
0
0
0
-1
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
6
-3
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-34
0
0
0
0
0
0
4
0
-4
-11
0
0
-18
8
0
0
-1
0
0
-3
-8
0
0
10
0
0
0
-37
0
0
-4
0
0
0
0
0
-2
-3
0
0
0
9
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
0
0
0
10
0
-6
31
0
0
-2
0
0
0
14
0
0
-3
0
0
0
-6
0
0
8
0
0
0
-10
0
-1
-21
0
0
0
-54
0
0
7
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
0
0
0
0
0
0
0
-1
0
0
0
-20
0
-2
2
0
0
0
0
0
0
0
-1
0
0
-2
0
-8
0
0
0
0
-13
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
-49
-8
-11
0
17
-24
10
9
-8
-50
17
-2
7
-16
0
0
0
0
0
0
0
-1
20
19
-30
20
-4
-36
0
16
-35
-56
1
-17
23
-6
30
-5
19
-5
-8
6
-24
-1
0
-1
-18
8
1
-24
-58
-1
5
-37
-40
-5
-31
-11
-3
-11
20
-21
-9
-3
-9
16
-90
-2
1
25
4
4
8
-18
-11
16
36
-6
-7
36
-15
1
2
6
0
0
-19
6
10
-9
-6
0
-17
10
1
-1
6
7
-12
28
-69
16
1
3
-2
32
6
-3
-33
-11
-11
2
-22
-24
17
-62
-29
-13
8
-57
0
-3
-8
24
6
0
28
1
77
-64
-4
-11
-8
2
11
-14
-3
-1
2
-25
4
2
-36
21
8
17
-27
-1
-4
-33
-34
0
-2
-30
5
3
-44
-28
3
-84
-31
4
1
-20
9
-3
3
-6
26
-3
-32
-2
11
27
6
33
0
4
3
-30
-13
8
-50
-2
-3
-60
-1
6
-7
-6
-2
-48
-43
-4
14
4
3
2
53
49
3
-37
16
4
0
-14
-9
4
4
-16
-4
3
-36
-46
1
-36
-16
-1
-3
-32
0
-8
-6
-5
-5
-1
34
-14
-21
-32
12
1
-2
19
-16
19
6
0
-11
1
-9
-18
31
31
0
-1
6
-26
-33
-46
15
2
26
10
-13
-6
-27
-10
23
10
-8
-30
-35
-21
0
-46
26
1
-3
-22
-8
49
-20
5
-5
-15
14
-5
6
-31
-1
1
45
-6
-10
-18
12
20
10
12
-28
7
-2
14
-13
2
13
4
2
-13
3
38
-7
40
-29
-8
-29
-2
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
-17
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
40
0
0
0
0
0
0
-14
0
0
0
-1
6
0
40
-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
45
0
0
0
0
0
0
18
0
28
3
-2
0
0
0
7
50
0
0
0
0
0
4
0
0
1
0
0
0
31
-16
0
0
-4
0
0
-2
29
0
0
1
0
0
0
28
0
0
-6
0
0
0
-7
0
-19
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
43
0
0
0
0
0
0
4
0
0
0
1
-6
0
-13
0
0
0
0
0
1
-32
0
0
3
-4
0
1
11
0
0
7
0
0
0
-5
0
0
0
0
0
0
49
0
0
0
0
8
0
10
0
0
-2
0
-8
0
-33
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
-1
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-47
0
0
0
0
0
0
75
0
3
0
0
7
0
52
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
-4
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
-3
0
0
-33
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
3
63
0
0
0
0
0
0
-23
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
6
0
0
0
0
-9
0
0
0
0
0
0
15
0
0
0
0
0
0
38
0
0
0
0
0
0
-4
0
0
0
0
0
2
26
0
0
0
0
0
0
-15
0
0
0
0
0
0
5
0
0
-9
0
0
0
3
0
0
-1
0
0
0
2
0
0
0
0
0
0
26
0
0
0
0
13
0
-36
0
0
0
0
0
0
37
0
0
0
0
0
0
21
0
0
0
0
0
0
10
0
0
0
0
0
0
4
0
0
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
-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
-2
0
0
0
0
0
7
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
3
0
0
37
0
0
0
0
0
0
49
0
0
0
16
0
0
22
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
8
-2
0
0
0
0
-15
0
0
0
0
0
-2
-2
0
10
8
0
0
-2
-17
0
0
2
0
0
-2
-8
0
0
0
7
0
0
14
0
0
0
0
0
0
1
0
-16
0
0
0
0
6
0
0
0
0
0
0
23
0
0
0
0
0
0
-15
0
0
0
0
0
0
43
0
0
0
0
0
0
34
0
0
3
0
0
0
45
0
0
0
0
0
0
57
0
0
-6
0
0
0
-14
0
0
-4
-2
0
0
4
0
0
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
-11
0
0
0
0
0
0
3
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-12
0
0
0
0
0
0
19
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
-1
0
0
0
0
0
0
0
0
38
15
0
0
16
0
0
26
0
0
0
0
0
0
9
-11
0
0
0
-3
0
0
0
0
33
0
0
0
0
0
-38
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
28
0
0
-25
-9
0
0
15
0
0
6
29
0
0
27
-6
-11
-6
6
0
0
0
0
-13
4
0
0
0
45
0
-27
15
0
0
0
-3
0
1
0
8
0
0
-1
0
-20
0
0
0
0
0
0
8
0
54
-2
-1
0
0
0
0
-25
0
0
1
0
0
0
128
0
34
-4
5
0
16
17
0
0
22
0
0
-2
9
0
0
46
0
0
1
-10
0
0
-3
0
0
0
11
0
18
3
-3
0
0
-17
0
0
0
0
-1
0
4
0
0
0
0
0
0
31
0
-1
0
0
0
0
-35
0
0
-9
0
0
0
58
0
0
0
0
0
-1
-1
0
-1
-12
-4
0
0
-30
0
0
-2
6
-1
9
-89
0
11
-26
0
0
0
-44
0
0
0
0
9
0
-12
0
0
0
0
-3
0
8
-1
0
0
0
0
0
14
2
0
0
0
0
0
-4
0
3
0
0
0
0
6
0
0
0
0
0
0
-7
0
10
3
0
0
0
20
0
2
0
-9
0
0
17
0
3
3
3
0
0
-5
0
0
0
11
0
11
-46
0
19
0
0
-7
0
-14
0
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-6
-7
0
0
0
0
0
0
0
0
40
0
0
0
4
0
0
7
0
0
0
0
0
-3
0
0
0
0
1
0
0
0
0
0
-10
0
0
-2
0
0
19
0
0
0
0
0
1
1
0
-1
0
0
-9
0
0
0
-83
-2
0
-26
0
0
0
30
0
0
25
0
0
0
17
0
0
6
0
0
0
-2
0
6
-8
0
0
0
-87
-11
1
-6
0
0
0
18
0
-1
0
0
0
0
0
0
59
0
0
0
0
0
0
-3
0
-9
0
-6
0
0
0
3
0
0
0
-11
0
0
-7
13
0
-92
2
0
0
34
-10
0
0
-23
0
0
0
19
0
0
-3
0
0
0
-43
0
0
-13
0
0
0
-16
0
-24
0
0
0
0
14
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
2
34
0
0
-6
0
1
0
-55
0
0
6
17
-3
-8
32
0
0
22
0
0
0
-7
0
0
18
-1
0
0
40
0
0
0
0
0
0
-23
0
0
-1
0
2
0
-37
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
20
3
0
0
4
-23
0
0
0
11
0
0
3
0
13
33
0
0
11
-18
0
-3
0
-6
0
0
30
0
-4
-3
0
0
0
1
0
0
0
0
0
0
-3
0
1
0
0
-1
0
32
0
0
0
0
0
0
0
0
0
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
-2
4
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
-33
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-2
0
0
-8
13
0
0
3
0
0
77
0
0
0
27
-1
0
-21
0
0
0
6
0
0
9
0
0
0
27
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
13
-1
0
0
0
0
0
-37
0
0
0
0
0
13
8
0
-22
-8
0
0
-1
20
0
0
-10
0
0
6
72
0
0
12
0
0
-3
-11
0
0
16
0
0
0
32
0
-16
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
-7
0
0
0
0
0
-2
-27
0
0
0
0
0
0
31
0
0
0
0
0
0
-15
0
0
4
0
0
3
-4
0
0
-8
0
0
0
9
0
0
0
3
0
0
-34
0
0
-7
0
0
0
-4
0
0
0
0
0
0
-49
0
0
0
0
0
0
2
0
0
0
0
0
0
15
0
2
0
0
0
0
6
0
0
0
0
0
0
-1
0
7
0
0
0
0
15
0
0
0
0
0
0
6
0
-1
0
0
0
0
-11
0
0
0
0
0
0
8
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
-47
-96
-95
-2
2
-5
-35
0
0
0
0
0
0
0
-2
34
10
59
9
-3
-16
9
-9
9
1
18
18
-14
9
-21
-11
-4
-21
22
5
15
-16
-11
4
-16
-34
-14
5
-35
1
-3
-27
-9
-2
-48
0
-10
-4
-5
-18
24
-26
-17
-8
-11
-9
4
-1
3
-55
-21
-21
36
-29
17
-9
30
56
60
4
2
34
-1
8
-6
-15
10
-37
-9
-12
9
-19
-69
1
-19
3
-3
26
73
2
-15
-34
-3
-45
-16
-13
-44
25
-29
5
-22
-19
39
-10
-62
28
16
15
0
-15
9
24
19
-4
-30
-1
-15
-7
0
30
34
-6
-13
-46
-22
-4
1
5
-1
7
32
-1
-2
-10
-8
15
-3
7
16
3
-28
3
-6
1
-62
54
13
14
-8
-35
6
-46
-2
-8
7
12
-19
4
-37
-4
24
32
36
30
-1
-18
-22
-26
8
2
13
2
-41
7
22
-11
-56
-25
-20
-36
-12
-5
-6
10
-26
-2
-10
14
-6
-40
20
-8
-9
-5
1
1
-11
-49
-12
-3
-43
-25
-3
56
-12
-1
2
27
47
19
10
24
-18
-3
-49
-20
-10
60
8
21
-1
34
37
-25
-6
8
-18
7
-34
-32
28
-31
-18
-5
-11
16
-84
28
-3
-68
-14
-29
-29
1
-6
-87
-23
-51
5
12
55
15
-14
-29
-30
-9
14
-16
-20
-3
-6
-8
-2
-5
-7
6
-17
-15
7
-5
6
-6
26
14
-15
-14
-12
-12
-2
-10
-20
5
38
-2
-41
-2
-51
-35
-13
-35
4
-20
9
-28
16
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
6
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
1
-2
0
0
0
0
57
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
51
0
0
-26
-1
0
0
0
0
0
-11
-1
0
0
-7
3
0
-5
19
0
0
0
0
0
-7
0
0
0
-2
0
0
-7
1
0
0
10
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
0
0
27
0
0
0
0
0
2
-14
0
0
0
0
0
0
-1
0
-42
-40
0
0
9
-12
0
0
2
0
0
-2
41
0
0
25
-2
0
-3
1
0
0
-1
0
0
0
-15
0
-24
-2
0
0
0
-1
0
0
0
0
0
0
-19
0
0
0
0
0
0
-34
0
0
0
0
0
0
-30
0
0
0
0
0
0
-26
0
0
-4
0
0
0
-5
0
1
-10
0
0
0
-20
0
19
-1
0
0
0
46
0
0
48
0
0
0
-23
0
0
0
0
28
0
36
0
0
0
0
0
0
-6
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
2
0
0
0
1
0
0
3
0
0
0
-5
0
0
0
0
0
0
-7
0
0
0
0
2
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
-2
0
0
8
0
0
0
0
0
0
0
0
0
-5
0
0
0
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
62
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
-1
1
0
0
3
0
0
19
0
0
0
-8
0
0
0
0
0
0
-54
0
0
-1
0
0
0
0
0
0
0
0
0
0
8
0
-3
0
0
0
0
0
0
0
0
13
0
0
0
0
0
6
36
0
0
0
0
0
0
0
0
-45
0
0
0
-1
-59
0
0
0
0
0
0
15
0
0
-3
0
0
0
-27
0
0
0
0
0
0
-24
0
13
7
0
0
0
2
0
0
0
0
0
0
57
6
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
28
0
7
0
0
0
0
3
0
0
0
0
-4
0
-4
0
0
0
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
0
-10
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
8
0
0
0
0
9
0
0
0
0
0
0
-7
0
8
0
0
0
0
-4
0
0
0
0
0
0
-7
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
-12
0
0
2
-3
12
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
17
-2
0
0
0
0
0
-11
0
-2
0
37
4
0
2
0
0
25
0
-4
0
0
0
-6
0
0
0
0
0
4
-6
0
0
0
0
0
0
0
0
-6
0
0
-20
-3
0
0
-8
-3
0
3
-1
0
0
55
0
0
6
3
0
0
-30
0
0
-38
0
0
0
2
-4
0
-22
-1
0
0
-8
11
0
-7
-7
0
0
24
-33
0
0
-2
-8
0
0
-1
0
0
3
-6
-2
0
0
0
37
-5
0
2
-1
0
0
6
-2
0
34
21
0
0
-11
28
3
0
44
-15
0
14
9
0
0
53
-6
0
19
7
0
4
9
0
0
15
21
0
-11
12
1
0
0
10
0
16
0
15
0
0
11
-27
0
0
3
0
0
-14
0
0
0
0
0
0
-69
0
0
-1
-11
0
0
10
0
-1
15
0
0
-10
46
0
8
-56
-7
0
4
6
0
-1
14
-10
0
-22
41
0
0
-37
-16
0
4
39
0
1
-48
0
0
-3
50
0
-2
-7
-8
0
0
6
-11
0
0
0
0
0
-40
4
0
0
0
0
-1
-8
0
3
0
2
0
0
-38
0
4
32
0
0
0
-6
0
-29
-3
9
0
0
0
0
12
1
-6
0
-11
-66
0
-32
-1
-7
0
0
-8
0
0
-3
-3
0
0
-33
0
14
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
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
-6
21
-22
-35
-2
-11
-99
-19
-1
2
-9
1
57
-6
-3
-3
-36
17
-7
-5
1
1
-4
0
0
-73
0
0
0
0
-3
0
-1
1
57
11
0
-7
-2
11
-1
-50
-2
0
-14
-26
35
11
48
19
0
-78
19
3
9
-15
-4
23
2
-16
36
15
40
15
7
34
0
-9
-36
-2
0
0
0
-25
-108
-34
-15
0
0
-25
0
-62
28
-17
0
0
-29
-29
-24
0
7
21
0
-3
28
-11
-2
27
1
-1
1
-64
0
5
-37
-3
0
-4
-4
4
49
20
-8
-28
-23
-44
3
14
-4
2
7
-4
4
5
-8
-10
0
10
4
-18
-7
-16
-3
0
24
2
1
0
-7
-2
-6
-13
33
-29
-15
-1
-53
0
-7
35
2
-76
0
8
-33
-26
0
1
-3
0
-11
6
6
0
42
-1
-19
-25
-1
20
-52
43
-17
-34
-2
0
9
-22
4
-49
36
-39
-5
-8
17
4
4
59
6
-3
-6
-13
-13
-31
2
-35
1
-10
-21
-14
35
0
23
1
4
-33
1
-62
-1
-14
0
-9
4
-85
-5
0
-4
-9
-2
0
37
-5
0
7
13
0
8
0
0
0
-2
-9
9
0
4
22
7
28
0
8
58
-15
10
26
-29
13
9
-6
-3
0
-2
-27
7
-55
-54
-39
-1
1
-25
0
-36
18
-76
-4
0
11
0
37
85
-37
0
0
-9
0
-9
-12
1
-27
0
17
-20
-7
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
23
-8
8
-34
4
-3
35
-1
0
0
-2
0
1
4
-9
-1
-4
17
-1
26
0
0
0
3
0
0
-18
0
0
16
0
0
0
0
2
2
36
0
0
-1
0
14
-23
0
1
-111
-69
12
-71
0
0
8
-26
0
-23
51
13
0
2
23
28
15
37
49
0
6
21
0
-12
-15
4
0
1
68
15
15
-55
1
0
0
37
0
-5
0
7
0
0
10
-1
-43
0
0
3
0
0
0
0
0
-24
-9
-1
0
0
0
-52
-35
0
0
50
0
0
-26
0
0
-24
-45
-9
0
5
-21
0
8
55
1
0
6
53
0
5
-11
5
1
-38
15
0
-1
34
0
0
0
-24
2
-29
62
-6
0
0
-39
0
0
-1
0
12
0
-18
6
-8
0
4
0
0
-32
-1
4
-1
-10
-1
-9
0
0
2
18
-2
0
-24
0
4
6
-35
0
18
-34
-35
6
4
-20
-45
-6
-2
33
10
10
31
-1
-8
6
-31
0
44
24
-44
-14
0
21
0
-4
2
0
51
0
-29
0
-3
2
-18
-37
0
-14
-9
-2
0
-17
0
0
-20
0
0
-30
2
0
-10
-28
0
-39
-2
0
0
24
0
0
-7
-37
-5
0
-7
9
0
68
-20
-1
-11
-1
-13
0
28
27
19
-3
15
34
0
4
0
0
0
0
-29
0
-1
3
-13
-5
0
-31
0
-23
4
0
-64
0
-11
-4
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
39
7
0
0
-4
0
1
-9
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
-6
0
0
-44
0
0
0
0
0
4
25
0
0
0
0
-1
1
0
0
-9
8
3
-23
-5
0
-4
15
0
0
-16
0
0
1
44
19
0
17
0
0
0
27
0
1
8
18
0
0
-9
-3
-16
8
0
0
0
5
0
6
0
5
0
0
0
0
-20
0
0
-1
0
0
0
0
0
-15
0
5
0
0
0
1
34
0
0
9
0
0
78
10
0
-38
92
-4
0
-15
-14
0
2
-29
0
0
-52
40
0
-1
-10
5
0
1
10
0
0
8
-4
0
0
17
0
66
3
2
0
2
57
0
0
0
0
0
0
19
0
3
0
0
0
0
-21
0
0
0
0
0
0
-8
0
-1
-2
-3
1
0
-3
0
0
-30
0
0
0
-10
0
0
4
0
0
2
43
0
-1
22
0
0
-2
10
0
4
34
24
0
0
-19
0
0
0
0
7
0
-25
0
0
0
0
0
0
17
0
0
0
0
0
0
13
0
0
0
0
0
0
50
0
23
0
0
0
0
40
0
4
-3
-1
0
0
-17
0
0
0
0
0
0
-33
0
0
-3
1
0
0
-23
0
-7
0
0
0
0
-10
0
0
4
0
0
0
-11
0
16
-1
0
0
0
28
-1
0
-1
0
0
0
0
0
0
0
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
-13
0
-3
27
-2
0
0
-1
0
0
2
25
3
0
-7
0
0
-12
0
0
29
0
-1
0
0
0
9
0
0
0
0
0
0
2
0
0
0
0
10
45
0
0
-14
48
10
30
-6
9
-1
54
0
0
6
25
8
0
4
24
4
4
4
0
0
0
0
7
24
-4
0
0
20
4
-13
16
6
-1
0
-2
0
-7
0
-2
0
0
1
0
33
0
0
6
0
0
1
-7
8
-22
2
-1
3
-7
0
-40
-2
0
0
0
0
0
20
4
0
-33
-13
64
0
-73
3
0
-3
31
12
3
12
-40
0
-1
-26
-7
0
12
-7
0
0
36
0
-4
-7
-73
0
-40
12
-8
1
0
-16
0
0
0
3
0
0
-9
25
2
0
0
0
0
2
1
0
0
0
0
0
4
0
0
-1
16
0
20
0
0
0
-1
2
13
0
-17
-8
0
3
8
0
-12
26
-16
0
68
4
0
4
-16
-7
0
2
0
-9
0
-20
0
0
36
8
0
0
-4
0
6
2
0
-25
0
-22
0
0
0
0
0
0
23
0
0
0
1
0
0
12
0
3
0
0
0
1
2
0
-2
-2
-9
0
0
20
0
-11
-10
0
0
9
29
0
2
1
0
0
-6
-9
0
20
-25
0
9
0
-38
0
0
-6
0
6
0
-48
0
-9
0
0
-2
0
32
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
4
20
37
7
-26
2
-7
15
-5
-2
-10
-19
3
16
0
-42
10
-7
14
-28
-55
13
6
0
9
36
-2
-25
0
0
-7
0
0
0
-3
0
0
6
-1
0
-7
12
-28
-2
2
2
-21
-7
3
-12
-6
7
23
-11
-6
-6
-10
-4
20
4
-40
-37
-12
4
27
86
10
37
40
-10
-1
70
18
-1
9
-17
36
5
53
0
-3
-15
-13
38
11
-26
-1
0
31
3
8
-3
0
-13
0
-1
9
8
3
-1
46
-3
0
-22
0
-24
-12
0
0
3
6
-32
-16
12
0
-9
20
24
-19
-35
-4
1
-18
2
-3
1
-35
-2
37
26
33
-8
24
14
7
14
-6
17
-4
16
0
11
0
14
19
-12
16
25
-12
0
-1
8
4
16
0
-12
-50
-66
0
71
11
-1
-11
1
-1
0
-12
14
32
7
-35
0
18
-7
-6
-20
2
-6
-10
-24
3
10
-58
11
45
21
-27
-22
-36
-1
-23
45
-25
-6
-69
-6
-45
2
11
9
-2
-5
21
-13
5
0
0
27
-39
22
37
-2
-2
-4
21
3
8
0
-7
12
0
1
-4
-42
0
-16
-10
-1
0
-7
2
-7
-33
10
-17
32
1
15
4
11
-18
-28
35
-55
-39
-15
13
1
16
-2
-79
67
-4
2
6
10
-2
-8
-6
-45
-3
-2
-23
1
-4
-11
-4
-3
-1
-11
11
7
20
-2
-1
0
32
-29
1
31
0
10
-5
2
-6
-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
-39
10
5
7
-51
-1
10
-1
-4
0
0
10
-1
29
-63
-21
-9
-4
16
0
38
-1
-3
-1
-1
0
0
-24
0
0
-10
0
-8
0
-66
8
21
-9
1
1
0
-16
5
33
-9
-1
-14
11
-17
-7
9
0
-1
-17
0
43
-57
33
1
0
-40
-1
-25
-15
-45
7
-1
-8
0
1
-46
4
0
-1
-7
0
-29
-26
-1
0
0
47
0
10
-6
-11
0
0
-33
0
0
0
-34
-46
0
0
9
-8
2
8
-53
-8
-84
0
-6
-26
7
0
8
-17
0
12
-30
-24
0
9
6
-4
6
-3
-11
-1
4
-21
0
-10
6
-12
-4
1
-22
2
46
-5
-4
0
32
16
0
46
12
-9
0
3
-3
0
36
31
14
3
-2
13
0
-21
1
-3
14
-48
0
0
27
-3
0
-24
-1
6
0
2
-6
30
0
-3
40
0
7
41
-9
-4
-4
13
-2
25
8
13
0
-15
4
2
29
1
11
-11
15
-1
0
0
6
-22
-2
-19
-8
0
25
49
4
-9
-19
30
4
76
-20
22
0
-1
44
0
-20
0
-6
12
-8
-3
0
92
0
-14
-4
0
-11
0
-1
-5
-3
0
-9
14
0
-7
-70
-22
0
7
35
0
-7
43
31
-4
-28
28
0
6
-61
7
9
-13
-4
2
7
24
4
3
-17
-7
0
11
1
20
-16
6
12
1
-20
2
9
0
12
-11
0
88
0
2
42
22
38
0
14
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
12
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
28
0
0
0
-23
0
0
40
0
0
0
0
0
0
0
0
0
0
-27
0
0
-13
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-26
7
0
0
0
0
4
37
0
0
0
0
0
0
11
0
9
13
0
0
3
-5
0
0
4
0
0
9
34
0
0
19
0
0
0
3
0
0
-10
0
0
0
-24
0
-21
6
0
0
0
-63
0
0
0
0
0
0
33
0
0
0
0
0
0
4
0
0
0
0
0
0
9
0
0
0
0
0
0
-16
0
0
2
0
0
0
-97
0
0
15
-7
0
-1
-52
0
0
7
0
0
0
22
0
0
-1
0
0
3
-40
0
0
0
0
0
0
-5
0
0
0
0
0
0
-43
0
0
0
0
0
0
12
0
0
0
0
0
0
-2
0
0
0
0
0
0
-12
0
0
-3
1
0
0
-23
0
2
0
0
0
0
-3
0
1
9
16
0
0
-10
0
0
0
1
0
0
-35
0
0
0
0
0
0
60
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-28
-30
64
-31
-4
39
-50
-20
-44
29
-7
-29
51
-23
-14
-48
20
-9
-59
0
0
-16
0
0
-13
0
16
4
-58
-14
6
54
0
43
6
-6
-8
24
-23
19
27
23
5
-2
62
55
-5
-38
60
-62
-88
-5
12
-33
-17
19
16
-19
5
2
12
34
-23
27
-6
-1
-3
-34
-58
-3
-6
-24
-1
11
-62
-4
-37
-2
-1
-34
-34
-57
0
19
-3
1
10
-39
-15
30
-15
-9
50
-36
24
-1
-8
-11
-6
-30
13
-33
-73
13
-7
-12
3
-14
-9
15
2
37
3
11
22
27
22
30
2
5
31
25
33
-18
62
1
15
-63
2
6
-1
4
-12
-9
-18
13
23
-2
1
-25
-3
-43
-34
-24
-30
1
-13
-104
-30
0
13
0
1
-18
-15
-13
27
0
13
56
-14
-26
-32
-7
17
-12
-2
-27
7
1
-26
-25
-2
40
10
4
-38
-17
-7
18
-35
-25
-32
2
27
24
23
-4
-33
-2
7
-33
-3
30
7
-14
49
6
11
51
-1
0
-33
-10
10
-22
-15
-20
0
-23
21
54
2
67
17
-7
-14
38
-29
-3
0
-17
21
6
-15
-6
-44
70
-8
-14
5
4
-18
47
-22
20
-52
-11
-30
-1
-4
57
29
-9
-16
66
-33
-5
17
12
21
-23
-3
15
-1
48
1
9
-9
-2
17
-34
-19
1
42
-32
-2
28
-18
18
7
0
-16
33
39
41
-18
-32
0
0
0
0
0
0
0
0
0
0
0
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
31
0
0
-3
0
-2
2
1
0
-2
13
-8
-1
0
-1
0
-21
0
0
-12
0
0
18
0
0
0
0
-1
24
31
0
13
0
0
39
35
0
0
-17
1
16
70
2
0
0
78
0
-6
39
17
4
-8
27
-27
36
-59
0
6
-18
-1
-3
25
30
-11
0
-3
-90
-15
-23
1
3
-7
-3
4
0
-14
-3
-16
0
0
41
-55
-75
-1
0
-65
3
0
-1
4
0
-20
20
-38
-7
-36
0
26
-9
4
0
20
0
1
52
-2
0
21
40
32
0
-20
-33
2
-29
32
0
0
-3
0
-6
-2
-27
5
-11
27
-40
0
12
-34
12
-1
-34
-16
0
-40
-7
10
-1
9
-38
0
0
1
0
-21
0
-18
-54
50
0
2
0
0
-26
0
0
-1
21
0
23
0
6
-9
0
63
-2
-15
6
-19
-1
-31
0
2
-57
-14
0
-50
11
-39
-19
-45
0
45
-61
-4
31
0
-43
-14
0
-48
-3
35
8
59
-13
4
5
60
3
-35
-29
-53
0
37
84
-62
-20
0
20
-25
4
0
-11
22
0
-46
0
-2
0
29
0
-1
-50
-1
-32
0
-6
0
18
2
-3
-4
-22
12
0
41
-12
0
-8
-42
-13
0
-14
0
-5
61
6
33
-10
21
-49
1
-33
-17
7
20
-4
7
0
4
-50
33
20
-23
-8
-21
-26
-30
5
-22
0
-7
-1
8
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
4
0
0
0
0
0
0
0
3
0
0
5
11
2
0
1
0
-25
0
0
-8
0
0
9
0
2
0
0
0
4
-1
0
0
0
-2
-3
6
0
0
15
-9
18
9
3
0
0
19
0
8
35
0
0
0
11
-32
-3
-21
14
0
4
69
0
-20
-26
12
0
11
-45
2
3
-12
2
0
0
37
0
2
0
-1
0
0
-6
0
0
0
-11
-10
0
0
-11
26
0
13
16
-9
1
-3
0
-4
17
0
0
8
1
8
-20
-77
0
-6
16
-34
1
38
5
0
0
45
0
0
2
-26
0
-10
34
20
-1
-2
-1
0
2
-56
0
4
-8
-9
0
-24
-7
-3
0
-3
-42
0
0
-13
0
-2
0
-6
-1
0
0
0
11
-1
0
3
0
0
0
0
-1
17
0
3
-17
0
-8
-9
-23
0
0
-8
0
-1
12
9
13
0
50
33
4
-8
-4
9
-8
-8
0
0
33
10
0
3
16
-20
0
2
-9
0
0
-2
0
0
0
-23
0
0
8
0
4
0
-61
0
2
0
0
0
0
-28
-4
0
6
8
-7
0
51
0
11
0
0
0
0
-30
0
-4
-1
26
0
4
-7
0
-41
0
0
3
0
-4
-2
14
12
9
0
0
-55
0
2
8
0
-6
0
29
0
-12
8
11
10
0
-36
0
-8
2
0
-11
0
-60
-12
-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
-46
-6
0
0
10
0
0
18
25
0
0
9
1
0
0
2
0
8
0
0
-22
0
0
1
0
0
0
0
0
-3
44
0
0
10
0
18
60
0
0
30
32
5
-4
-4
0
0
-2
0
1
2
6
-2
0
-6
-31
2
14
71
2
9
77
0
21
9
0
0
9
-4
1
-2
-17
-14
0
0
-4
0
-6
-2
-4
0
0
0
0
21
0
0
-3
0
0
0
-7
0
-17
-16
6
0
4
0
-19
-19
0
0
0
0
0
-37
-22
0
8
-23
11
0
23
11
0
2
68
0
0
52
-11
0
-1
-14
13
0
36
-15
0
-8
-42
-7
1
-32
-13
0
5
-4
-5
0
6
6
0
0
1
0
0
0
-3
8
2
0
0
0
-1
3
0
1
0
0
0
-4
1
9
0
26
-14
0
-21
10
0
1
-6
0
0
6
1
-1
-1
-71
53
-8
-11
28
1
0
-81
0
6
-34
-16
0
4
60
8
0
0
3
0
-2
-10
0
0
-1
23
0
4
6
2
10
0
-7
3
0
0
3
0
0
3
2
0
0
4
0
0
60
3
47
1
3
0
-6
0
0
-9
5
-3
0
0
-29
12
19
-38
4
2
12
-8
0
6
7
-4
4
0
-37
15
22
-23
0
0
-10
31
0
-10
1
0
0
0
-24
11
36
0
1
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
-179
-9
4
12
4
-1
-10
-25
34
29
0
-14
3
-3
0
-9
-2
-65
11
-20
-49
0
1
-7
0
0
0
0
0
7
25
0
-1
0
0
3
11
0
8
-3
-38
34
33
74
0
6
12
0
-7
39
24
4
36
-23
-43
44
-3
67
-20
35
15
-6
11
54
-12
9
1
-34
-1
55
15
41
10
0
2
0
-46
-34
-18
-8
0
-23
-9
-39
8
0
-47
1
0
-7
10
0
-5
-20
-15
0
-14
0
55
13
0
0
3
-1
-1
-13
-30
-1
-22
-19
-55
1
25
6
1
-2
-22
-42
0
-52
-8
-2
3
27
12
-6
12
-21
0
-14
-85
0
11
68
2
2
-31
-6
-5
0
-16
-20
0
1
-3
0
16
0
-16
-38
42
0
-6
3
0
-8
12
0
0
8
24
-3
53
24
-5
-10
-32
18
29
-14
0
0
-48
9
1
-44
6
5
-43
-6
23
-6
-8
18
2
44
-40
55
-18
-46
-33
2
-2
27
-8
16
7
7
10
2
-74
3
-37
4
-57
1
20
0
-8
-76
0
-17
8
-1
0
24
2
0
43
-24
0
-1
-23
0
-1
1
0
58
-12
-11
2
-2
-8
0
7
-20
-21
-7
-8
8
-1
13
-29
59
1
44
-39
-1
-24
-35
-37
-6
-15
-69
8
-26
-10
0
-10
-3
40
-4
-2
-21
-17
-15
0
-21
-2
-23
4
16
-7
0
-9
-9
0
-7
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
-23
0
0
2
2
0
-9
12
1
0
0
3
0
32
1
17
0
-4
0
0
-30
0
0
-11
0
0
0
0
0
-5
3
0
0
0
2
-31
7
0
0
17
-2
-16
-10
17
8
0
-4
0
-9
-36
0
0
0
-2
0
6
-5
-6
0
6
-4
0
-27
-35
-2
0
0
-42
0
-79
-45
-9
0
0
30
0
-37
2
21
0
0
6
0
-3
0
0
-11
0
0
0
-18
0
-19
-65
-9
-11
0
0
48
-3
0
0
46
-2
0
-5
-2
0
-17
18
-1
0
20
7
0
0
-14
16
0
47
52
0
0
32
2
3
5
-8
0
4
-17
0
-1
-17
-6
0
-65
-98
0
-7
0
23
0
0
-19
0
-8
0
-5
-21
-2
0
0
-2
0
-31
-7
3
0
1
0
-8
12
0
0
19
0
-7
15
20
2
0
10
16
-14
25
16
0
-3
20
6
1
2
5
0
-13
13
0
42
35
28
0
11
-15
9
-8
-5
9
0
0
-32
0
58
0
17
-3
0
-18
0
-26
0
-3
2
-7
0
0
9
0
-56
11
0
0
0
0
0
-21
-3
-24
39
0
0
19
-17
0
0
36
1
0
2
44
0
-17
-2
0
11
-1
-6
0
-3
-39
-9
1
2
-19
0
-39
-14
0
-5
0
-15
0
-11
-4
0
-10
0
9
0
21
7
0
5
0
-31
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
-6
-35
0
0
2
-46
0
0
0
0
45
0
0
0
0
0
-11
0
0
0
0
0
-1
-25
0
0
0
0
-16
-26
0
0
-24
0
0
15
-12
0
0
20
0
0
16
18
6
-1
16
33
0
-1
-16
4
0
-43
0
0
31
30
0
0
19
-36
0
56
23
0
0
55
0
0
2
-23
-1
0
-2
5
-1
0
-4
1
0
0
0
0
0
0
-2
9
-8
16
0
-33
3
2
0
19
0
0
-21
33
0
-9
27
16
0
-24
12
0
0
23
0
0
-49
-17
0
0
4
-53
0
31
-10
0
0
14
0
0
-39
-9
12
-7
16
-3
0
6
-12
-4
-21
3
-10
0
0
-14
-20
-3
0
-2
0
0
26
26
0
2
1
0
6
40
0
1
9
-16
0
-4
27
0
0
10
0
0
10
2
0
-4
-33
39
0
-24
-20
-2
-7
-34
0
0
-24
25
0
24
-16
-17
1
5
21
-1
10
-84
0
0
0
-16
-3
-2
-7
1
0
0
-16
-3
0
0
0
0
0
31
10
0
10
-16
0
0
2
0
19
0
0
0
1
10
0
0
-3
-36
0
-1
-4
0
-26
-30
0
0
10
11
2
-4
-7
-1
0
0
-3
0
14
19
7
0
-4
-36
-3
-11
-36
35
0
0
-20
0
-9
0
0
0
0
-17
9
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
76
70
18
5
3
-38
2
-13
5
-1
67
-3
-21
8
13
-2
0
0
1
-5
-24
20
-37
0
22
-30
2
10
1
4
-1
4
12
-24
1
1
60
-6
9
35
-73
-22
-21
3
43
-13
-4
-40
-69
2
5
22
-5
-65
10
-45
-28
-21
2
-4
-17
-23
14
-3
33
42
-7
-52
-10
-2
23
34
-1
-42
7
-22
0
-3
-48
0
10
37
-28
-1
0
-19
36
-14
13
0
0
-3
1
6
-12
-6
-10
4
19
-1
15
-2
7
-3
2
3
-3
66
4
-16
-8
-34
-2
40
-5
3
-5
46
-31
2
-4
-2
-9
-33
17
-21
-7
0
-4
19
-7
72
-15
-4
43
-3
-6
-39
2
0
1
-30
-106
-1
22
8
35
-6
-3
-1
43
-27
-7
-77
-10
13
-25
-69
27
-3
-19
-14
-12
3
-24
30
-16
-6
-9
0
21
-13
9
-8
16
-11
19
-46
7
22
1
2
-15
11
2
-14
6
12
-10
-5
-10
-30
14
28
-9
2
-8
-10
15
-3
5
-9
-1
-20
-2
8
9
3
-40
1
-29
30
-36
6
24
-13
-29
9
-29
-4
11
-22
-21
-37
-10
-16
-40
6
7
-34
-17
12
-6
3
12
-41
36
72
-18
-42
-39
10
15
14
8
-4
-1
-3
22
9
-49
2
-18
21
4
9
-14
-6
-1
1
-1
-18
-8
-39
10
0
-10
-32
5
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
0
0
0
0
0
0
0
0
0
-2
9
-10
0
0
1
0
0
-45
0
0
0
0
0
4
6
0
2
2
0
-27
-2
-1
0
-12
-52
7
30
1
0
0
-85
-2
0
36
7
0
-2
24
-12
0
-3
10
0
0
-1
3
-4
-10
0
-2
0
-59
1
5
4
-14
0
0
0
11
-1
0
23
0
0
0
0
-96
0
0
9
0
0
0
-8
0
1
-10
0
3
0
0
7
15
2
0
14
0
0
18
56
0
31
-10
-37
0
-17
-3
0
-1
-58
-1
0
-5
12
0
0
15
1
-3
-32
0
0
-8
-55
-4
0
10
-39
-2
-55
6
-3
0
-2
-83
0
0
0
1
0
0
0
42
1
0
0
0
0
-40
0
0
0
0
0
-11
40
25
3
23
0
0
12
-20
0
0
16
16
0
-1
-48
12
0
38
-8
2
13
59
0
-13
20
-16
3
-2
0
3
-1
-17
0
4
-3
6
1
-11
27
0
-11
-1
-27
-3
0
0
-10
5
0
-4
4
0
0
0
0
0
-4
3
0
1
0
0
-1
-30
0
3
0
0
4
2
-18
0
4
-11
-9
1
0
-5
0
61
45
2
3
1
68
0
-21
-35
82
0
1
0
0
-81
22
0
0
0
29
-6
-2
23
14
0
0
-73
0
11
0
0
-2
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
2
0
0
0
0
31
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-6
-1
33
0
0
0
0
0
0
44
0
0
0
12
-4
0
-13
-17
0
0
62
0
0
49
0
0
0
-8
0
-1
-1
3
0
0
21
0
0
3
0
0
0
0
0
23
0
0
0
0
0
0
6
0
16
0
4
0
0
0
5
2
0
0
0
0
0
14
52
0
12
-9
0
0
-6
31
0
0
-33
0
0
8
9
0
0
3
0
0
0
-79
0
3
-4
0
0
-6
-22
0
13
0
3
0
0
8
0
0
0
0
6
0
17
-1
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
0
0
2
24
0
0
-8
0
0
3
2
0
-4
13
13
0
2
4
0
0
-11
0
0
9
-13
0
4
-3
8
0
0
-35
0
0
6
0
0
0
14
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
-3
24
0
0
4
0
0
0
18
0
0
0
0
0
0
13
0
0
9
0
0
0
-42
0
1
2
0
0
0
11
0
0
0
0
0
0
-50
0
3
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
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
26
0
0
6
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
-37
37
0
0
-13
-2
0
-31
0
0
0
-1
0
0
1
0
0
0
-59
-3
0
14
0
0
0
16
0
0
-36
-1
0
0
-9
0
-1
6
0
0
0
0
0
0
0
-3
0
0
0
0
-42
0
0
0
0
0
0
16
0
30
0
2
0
0
0
-3
-63
0
0
59
0
0
-5
39
0
-15
-13
0
0
-11
-7
0
0
4
0
0
0
3
0
0
3
0
0
-2
-18
0
0
-7
0
0
0
24
0
-12
-19
1
0
0
-15
0
0
0
-1
0
0
22
-1
0
0
0
0
0
-32
0
0
0
0
0
2
23
0
0
1
0
0
-2
53
0
0
-4
0
0
4
-61
0
0
25
2
0
0
-15
1
0
-3
0
0
0
32
0
6
-4
0
0
0
-21
0
0
9
0
0
0
-12
0
0
0
0
0
0
-49
0
0
0
3
0
0
10
1
0
0
0
0
0
5
0
8
6
0
0
0
33
0
3
-3
-7
0
0
10
-2
1
0
-2
0
0
6
0
0
0
0
0
0
-6
0
2
0
0
0
0
-1
0
1
-4
0
-1
0
-26
-1
0
3
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-50
0
0
-10
0
0
14
0
0
0
0
0
0
-2
0
0
0
10
33
-1
0
0
84
-5
-1
-24
18
0
2
0
0
0
-8
25
0
0
15
-4
0
-51
2
0
0
2
0
0
-59
2
0
0
-61
0
-19
-2
0
0
0
15
0
0
0
-13
0
0
11
0
-105
0
0
0
0
0
0
-4
0
-4
-2
-1
0
0
0
-1
55
0
0
-4
0
0
-3
36
0
37
10
5
0
-6
-5
0
-3
-10
2
0
0
-4
0
0
5
1
0
-1
-37
7
-12
7
0
0
0
19
0
-54
0
0
0
3
-7
0
0
0
0
0
0
-19
1
0
0
0
0
0
-15
4
0
0
0
0
7
36
0
6
0
0
0
4
-18
0
0
20
0
0
-3
2
0
9
0
-1
0
0
-13
0
0
-13
2
-1
2
50
0
-8
-4
9
0
0
-50
0
0
2
0
6
-3
-25
2
22
0
0
-12
0
-28
-9
0
0
0
0
0
13
0
0
0
0
0
0
14
0
7
0
0
2
0
13
0
8
0
0
0
0
-23
0
4
-1
0
0
0
8
0
0
-4
-1
0
0
-24
0
18
0
0
0
0
62
0
0
0
0
0
0
-77
0
-6
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
-2
0
0
0
-1
0
0
0
0
0
26
0
0
0
0
0
-15
0
0
0
0
0
0
-3
0
0
0
0
17
10
0
0
11
0
0
27
0
0
0
0
0
0
6
-1
0
0
-48
0
0
-71
0
0
0
-2
0
0
3
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
-19
0
0
0
0
0
0
7
0
0
12
0
0
4
-2
0
-3
10
6
0
-11
42
0
-1
-4
0
0
0
-30
0
0
23
0
0
-1
4
0
0
0
0
0
0
-22
0
-47
-1
0
0
0
34
0
0
1
0
0
0
-27
0
0
0
0
0
0
-28
4
0
0
0
0
0
3
0
0
-9
0
2
-1
-136
0
0
9
0
0
0
-2
0
0
0
0
0
1
41
0
3
-13
0
-2
0
-36
0
0
8
0
0
0
30
0
0
7
0
0
0
11
0
0
0
0
59
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
13
0
0
0
0
30
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
-1
0
0
0
20
0
-4
0
0
0
0
-15
0
0
-3
0
0
0
-47
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
12
20
0
0
1
-3
0
0
10
0
8
0
0
0
0
0
-2
0
0
0
0
0
9
-23
0
0
0
0
-25
2
-9
-3
2
38
0
-3
2
0
0
-18
0
0
-5
0
0
0
9
-39
0
17
32
0
0
-5
0
0
-74
-6
0
0
-75
-1
0
31
-5
0
0
51
0
0
-3
10
0
0
1
13
0
0
0
-24
0
0
0
0
0
-21
-12
-4
0
-32
0
-40
-19
0
0
-16
0
0
-64
57
4
-17
-12
24
0
5
12
0
0
13
0
0
-57
25
0
0
41
26
0
-71
-47
0
-3
-33
0
0
36
25
0
-10
-24
5
0
3
12
0
0
0
0
0
0
-8
-30
-11
0
-6
0
0
3
0
0
0
0
0
-39
-42
0
-2
-36
26
0
-25
25
0
-2
2
-1
0
-8
31
0
0
-16
51
0
-57
8
1
-5
15
0
0
-18
26
0
-7
10
3
0
0
3
0
-3
25
0
0
0
5
0
9
-5
46
0
0
-11
2
0
0
0
0
0
-16
0
0
0
0
0
0
-7
-3
-4
4
-4
0
0
26
0
-12
9
8
0
0
-8
0
-10
-9
10
0
0
-17
0
33
-22
-42
0
-2
-15
0
3
46
0
0
0
-27
0
25
84
-41
0
0
-38
0
20
0
0
0
0
-17
25
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-10
0
0
-72
0
-2
0
-1
0
0
1
0
0
9
2
56
-2
0
0
-14
-76
-41
9
-11
0
0
-41
0
0
21
3
0
3
18
-16
-2
-19
54
-2
0
-5
1
-114
56
-1
2
10
-44
1
-4
24
64
0
0
79
12
2
0
41
-4
0
-3
17
-193
0
0
-2
0
0
0
2
0
31
20
0
0
-4
0
12
-32
0
0
-2
6
-11
-16
10
0
4
-51
-43
0
16
17
0
0
-21
0
0
21
-4
0
1
-53
-7
-9
-14
43
0
0
-84
1
-6
0
9
0
11
14
-47
0
0
-88
0
0
-3
4
-1
0
4
-4
18
0
-10
-3
0
-20
-1
0
0
7
0
0
-73
0
-4
-11
-4
-24
0
20
0
0
-6
-1
1
13
4
1
15
-12
-52
14
0
-8
1
4
1
3
16
0
2
0
-4
-24
-13
44
0
9
0
-3
-6
0
-25
0
-85
0
0
0
0
-77
0
1
0
0
0
-11
-4
0
-71
0
0
0
11
0
-6
-63
0
88
0
0
3
0
30
0
10
-1
29
6
9
23
0
4
-27
15
0
0
-97
0
10
-28
-3
0
3
-30
0
55
42
11
0
0
-11
0
3
1
-2
9
0
-52
7
-71
0
-3
-21
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
11
0
-93
0
3
-28
0
8
-52
0
0
0
0
-1
0
-2
0
0
0
0
51
16
0
0
1
-17
-6
9
16
0
0
-10
0
-3
7
0
0
0
36
-16
15
-21
35
0
0
29
6
-6
-46
3
0
0
-8
10
-3
-8
0
1
0
-10
3
8
2
-23
0
0
0
-1
-12
0
9
6
0
1
0
-4
0
-9
-1
4
0
0
0
-42
1
0
0
2
2
0
-60
8
0
2
15
-3
0
-35
13
0
0
-26
0
2
-24
-15
-4
0
20
-19
0
-55
13
0
6
12
6
0
-8
0
0
-5
-31
-15
0
2
17
0
0
10
0
0
0
14
0
4
0
3
0
0
4
0
0
0
0
0
8
-22
0
3
-2
0
-17
-5
-30
-3
0
-12
-11
2
9
35
4
0
-12
27
2
23
35
-1
-8
10
-1
-2
11
-38
0
-24
-73
24
-7
12
0
-2
-18
4
0
-6
0
2
16
0
-6
10
1
0
5
1
-1
0
0
4
0
-6
1
-2
0
-2
0
0
-16
0
38
2
0
24
-2
-43
0
-11
-2
-1
0
0
-22
1
-28
-7
1
0
-9
30
0
3
9
39
0
0
12
0
-61
30
0
0
-1
0
2
1
-1
15
26
0
22
0
-5
0
0
0
8
-40
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
2
0
0
15
0
0
0
0
0
-2
-3
0
0
0
0
-8
11
0
0
-31
-2
0
39
4
0
0
0
0
0
52
17
0
0
-13
13
0
12
0
0
0
-16
0
-3
-6
0
0
0
45
-1
1
37
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
-8
0
0
0
0
-21
0
-3
0
-7
11
1
0
-2
7
0
0
0
0
0
-6
-33
0
-51
0
0
0
-19
21
0
1
3
0
0
-2
4
0
0
21
-1
0
-6
19
0
0
25
0
0
1
-6
0
17
-8
0
11
0
53
0
11
0
0
-1
0
-12
10
-3
0
0
28
0
4
0
0
0
0
0
0
-1
0
0
20
-4
-3
0
2
0
0
-8
0
0
0
3
0
0
-12
3
0
0
-14
0
0
13
0
0
0
-8
0
0
15
0
2
0
-46
0
0
0
0
0
0
41
0
0
1
2
40
0
24
0
-4
0
0
0
0
9
0
0
2
0
0
0
12
0
11
-8
0
0
0
21
0
0
0
0
0
0
13
0
-10
6
0
0
0
7
0
8
0
-6
0
0
30
0
-6
0
0
0
0
29
0
-1
18
0
0
0
7
0
-7
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
25
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-61
7
0
-62
-1
0
0
1
0
0
-49
0
0
0
57
-4
0
0
0
0
0
0
0
0
-1
0
0
0
-5
0
0
3
-7
0
0
0
0
-4
0
0
0
0
0
0
14
0
0
0
0
0
2
1
0
-35
0
0
0
0
0
-13
-24
0
0
0
0
0
24
-4
0
12
35
3
0
-14
43
0
0
-38
0
0
-1
-40
0
0
-14
-4
-1
-9
52
0
0
-2
0
0
0
33
0
26
-14
35
0
3
-4
0
0
-3
3
0
0
-30
-4
0
0
0
0
0
3
0
0
0
0
0
0
-17
0
0
0
0
2
-4
-16
0
0
21
0
0
0
-10
0
0
2
21
0
4
51
0
0
-2
0
0
-1
5
0
0
2
0
0
7
-43
0
0
6
0
9
0
8
0
0
0
0
-16
0
-10
-1
0
0
0
0
0
-11
0
0
0
0
0
0
1
0
0
0
0
0
0
-23
0
0
0
0
0
-2
3
0
-20
0
0
0
0
4
0
0
0
5
0
0
-13
0
-22
2
0
1
0
-3
0
0
0
0
1
0
9
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
-3
0
0
-4
0
0
-3
0
0
0
0
4
4
33
0
3
12
0
-27
37
0
0
13
-6
-45
-19
13
0
0
-41
-3
-21
-14
-9
0
0
2
2
-68
-36
11
6
0
-22
-9
-13
4
-10
10
0
-69
21
-7
-33
-1
0
0
-6
3
28
2
46
0
0
16
51
14
0
0
-14
0
0
-10
-14
0
-5
-1
-9
0
-41
0
3
-7
0
0
2
1
-12
-21
1
0
-25
-2
-8
4
-25
1
0
0
-12
2
-4
-55
-16
-6
0
-41
-34
3
-58
3
0
0
17
18
0
-73
9
-1
4
-46
13
0
16
11
0
0
0
8
3
0
-3
-76
-7
0
1
0
0
-18
0
0
0
-3
8
25
-20
2
-4
47
-68
16
-9
-5
0
0
21
54
15
-38
10
-6
0
-12
-15
24
26
-6
-10
-4
-66
0
0
4
-39
0
24
23
-23
-13
-20
21
0
1
2
41
-19
47
-12
0
2
0
56
-14
0
-2
0
0
0
-2
-3
0
-18
0
0
0
3
0
0
-6
0
-2
3
14
67
-4
-39
0
-8
-19
18
-40
0
-15
0
-60
3
-57
-2
14
3
0
24
11
-18
-9
6
-49
0
-17
-22
2
-27
7
10
1
2
12
-13
29
0
-10
0
-61
0
0
-18
0
-35
-7
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
-9
0
0
-8
0
0
12
0
0
0
6
0
0
27
0
0
0
0
43
7
0
0
-35
-12
-12
-13
0
0
0
-9
0
4
-1
3
1
0
-8
0
0
-21
-13
-2
0
27
0
-44
0
0
0
0
21
0
-7
19
0
0
0
-4
0
47
0
2
0
0
-2
0
-4
0
0
-2
0
0
0
36
3
-11
-10
48
1
0
0
24
3
0
0
12
0
0
-22
-28
0
-7
-11
1
0
27
25
0
-3
-6
0
0
-1
-91
0
0
-67
0
0
-11
-25
0
0
-17
0
0
2
-17
0
-21
-8
0
0
-1
-4
0
0
0
0
54
0
-12
-3
4
0
0
0
0
-10
-4
0
0
0
0
11
26
0
-1
12
0
2
43
10
0
-4
47
1
-9
11
5
4
2
2
0
-1
-14
32
0
0
-13
0
13
11
7
0
11
-1
0
-5
6
-7
0
0
73
0
21
2
17
0
0
-6
0
27
0
7
1
0
0
0
0
0
-41
0
0
0
0
0
-4
4
7
-5
6
0
0
0
21
0
0
0
0
1
0
28
0
-26
33
0
0
0
0
0
0
26
0
0
0
-1
4
74
34
0
0
0
-10
0
0
9
0
1
0
17
0
-29
0
0
-4
0
-46
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
6
0
-14
0
0
0
0
0
-8
0
0
0
0
0
6
-28
0
0
2
0
-9
-27
0
0
-38
1
0
1
3
0
0
-31
0
0
24
-7
0
0
7
6
0
-5
16
1
0
10
0
3
5
42
0
0
-27
16
0
43
0
18
0
1
0
0
16
-2
0
0
9
3
-1
0
0
-13
0
0
0
0
-6
-5
-13
-8
28
-4
0
33
-10
0
0
15
1
0
19
29
0
25
-31
-2
0
-30
15
0
0
8
0
0
-40
34
0
36
23
-28
0
-20
6
0
-3
-15
0
0
2
15
0
-64
-15
0
0
0
20
0
0
0
0
0
0
-10
17
54
0
7
0
0
-15
18
0
0
0
0
13
-5
17
-16
-41
-5
0
36
42
0
0
32
1
0
16
6
26
-19
4
18
-2
-37
26
3
12
-9
0
0
-28
13
0
7
-27
-11
0
-1
-27
0
30
-3
0
0
-3
-12
0
4
30
28
8
0
8
0
0
0
0
0
0
9
0
0
-4
-6
0
0
53
7
-42
-1
0
0
-4
-8
0
2
0
-19
0
1
10
0
25
-5
0
0
-3
12
0
-6
6
-26
0
0
-3
0
6
8
0
0
-6
-24
0
12
28
4
0
0
1
-2
51
1
10
0
0
-14
14
7
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
-32
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
17
0
-8
-43
20
0
0
19
0
0
0
0
0
0
-16
0
0
28
-8
0
0
0
0
0
1
0
0
0
-9
0
0
0
-2
0
0
10
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
-6
0
-2
1
2
0
1
-14
17
0
11
27
0
1
-5
0
0
0
23
0
0
0
0
0
0
-27
0
0
-2
0
0
0
6
0
-3
0
0
0
0
-3
0
0
0
0
0
0
60
22
0
0
0
0
0
9
0
0
0
0
0
2
-7
0
0
0
0
2
-4
-33
0
0
0
0
4
0
-42
0
0
0
0
0
0
-12
0
0
0
0
0
0
-12
0
-6
0
0
0
0
-13
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
18
0
-1
0
0
0
0
47
0
0
0
0
0
0
2
0
-6
0
0
0
0
1
0
0
0
0
13
0
-1
0
6
0
0
0
0
-7
0
0
3
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
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
10
0
20
0
0
0
0
0
4
-44
0
7
0
7
-2
0
-43
0
0
-1
0
0
0
68
0
0
0
-51
0
0
5
-2
0
0
39
0
0
-2
0
0
0
-1
0
-42
0
0
-1
0
0
3
0
0
-35
0
0
0
0
0
-30
30
0
0
-1
0
0
2
11
0
-41
9
0
0
6
47
0
0
-24
0
0
0
-3
0
0
34
0
0
2
13
0
0
-30
0
0
0
33
0
-5
0
0
0
0
0
0
0
-22
0
0
0
20
-2
2
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
2
0
-28
0
0
-1
0
0
0
-36
0
0
47
-1
0
2
-37
0
0
-17
0
-1
0
0
0
0
-14
-1
0
-6
-41
0
-1
6
0
-2
0
0
0
7
0
0
-34
0
-55
0
0
0
0
0
0
2
0
0
0
0
0
0
-39
0
9
-1
0
-1
0
-36
0
-16
0
0
0
0
41
0
-3
-1
0
0
1
31
0
0
0
0
0
0
22
0
-12
0
0
0
0
9
0
0
0
0
0
0
0
0
-16
0
0
-2
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-9
0
0
-41
0
0
0
0
0
0
18
0
0
0
-22
0
0
-10
0
0
0
2
0
0
-12
0
0
0
5
0
-1
0
18
0
0
1
0
0
1
-4
0
0
0
0
0
0
-1
3
0
0
0
-5
0
-23
0
0
0
0
0
0
-50
0
0
0
0
0
18
9
0
9
-30
9
0
53
50
0
0
-9
0
0
13
-26
0
0
-3
0
0
0
-13
0
0
12
0
0
0
7
0
7
0
0
0
0
-1
0
0
0
0
0
0
36
-2
2
0
0
0
0
31
0
0
0
0
0
0
23
0
0
0
0
0
0
14
0
0
7
0
0
9
29
0
0
7
0
0
-1
38
0
0
3
0
-1
0
17
0
0
3
-1
0
0
5
0
2
-1
0
18
0
-7
0
0
0
0
0
0
27
0
0
0
0
0
0
-1
11
0
0
0
0
0
37
0
0
0
0
0
0
19
0
0
0
0
0
0
2
0
-13
0
0
0
0
1
0
0
0
0
0
0
1
0
-1
0
0
0
0
46
0
3
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
11
-2
-4
0
-1
-23
-23
-28
-18
-5
-51
-27
9
-18
-18
-60
-21
37
9
4
-5
-2
2
22
23
0
-4
34
-11
-16
-3
-35
-5
0
13
-9
17
-97
16
10
-6
17
-22
13
-33
-16
-10
10
26
-9
-81
-28
-1
-2
-25
-8
-8
12
1
-8
1
36
1
-9
1
-35
-10
-11
-48
9
24
0
-8
0
15
-12
8
15
-2
39
-8
-12
-29
-31
-8
-11
6
9
7
12
-22
2
-8
11
17
-8
2
-23
7
-8
4
33
1
-10
-36
-12
1
-26
66
3
43
22
5
-1
-6
-52
16
-3
-29
-5
-11
13
25
-12
-29
-21
0
2
-52
8
2
-8
2
-17
0
-10
-42
16
-12
-1
2
-2
-20
17
2
-3
-14
-19
-6
-13
-5
3
-36
-3
-3
-5
-20
-22
-2
-20
12
-7
1
12
-22
15
8
-16
0
-10
-15
19
-23
-4
5
-28
2
-24
3
13
-36
-25
-39
4
-28
-14
-33
-11
-1
-15
-4
-37
-38
-66
-67
-7
-32
8
-25
24
-4
-46
-10
9
-3
-30
10
-9
-23
19
-13
7
-56
14
22
-53
56
10
-7
-21
-17
-17
-1
0
28
1
-13
-7
-24
-15
37
-2
-14
-17
-18
-28
9
40
-49
17
-59
58
-56
5
22
-56
-5
-10
-5
10
-4
-35
37
-9
-36
7
-11
-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
-5
0
0
0
0
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
-55
-1
0
-6
6
0
0
8
0
0
15
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
18
0
0
0
0
0
15
34
0
0
0
0
0
1
4
0
-3
-23
0
0
-53
2
0
0
0
0
0
-1
45
0
0
0
-9
0
0
-36
0
0
0
0
0
0
30
0
12
2
0
0
1
8
0
0
0
0
0
0
22
-6
9
0
0
-1
0
-31
0
0
0
0
0
0
-21
0
0
0
0
0
0
-45
0
0
-6
0
0
0
-39
0
0
0
-2
0
0
-45
0
1
0
0
0
0
19
0
0
0
-4
0
0
4
0
0
0
0
0
0
-14
0
0
0
0
-3
0
-51
0
0
0
0
8
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
-11
0
-5
0
0
1
0
3
0
0
0
0
0
0
5
0
-1
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
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
13
0
0
0
36
0
0
-40
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
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-17
21
0
0
0
0
0
0
0
0
22
1
0
0
1
-39
0
0
0
0
0
0
10
0
0
0
0
0
0
-71
0
0
0
0
0
-1
-2
0
-58
6
0
0
0
10
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
-13
0
15
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
-1
0
0
0
92
0
0
0
0
15
-2
-24
0
0
0
0
0
0
5
0
0
0
0
-1
0
-27
-4
0
0
0
15
0
6
0
0
0
0
0
0
1
0
10
0
0
0
0
50
0
0
0
0
0
0
-1
0
4
0
0
0
0
-2
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
30
-14
-1
-1
0
0
-10
-29
0
0
-13
-8
0
-7
33
0
0
-2
0
0
-4
16
1
-1
-8
-3
0
21
-52
0
-2
22
0
0
42
-7
0
-1
-5
-11
0
29
-19
6
-1
-23
16
0
16
-12
0
0
0
22
0
0
0
62
0
0
6
0
0
-3
5
59
-6
-35
0
-14
5
0
0
-20
0
0
-2
3
0
4
-16
0
0
0
41
0
6
13
0
0
5
-13
7
4
4
6
0
-49
-9
2
-1
31
0
0
39
-29
-22
-15
-59
-21
0
-2
-29
3
-13
1
-4
0
0
-23
-71
1
0
-10
0
0
-1
-25
4
0
0
0
34
8
0
1
-61
-38
0
20
18
4
2
17
0
0
-30
31
0
-36
-12
8
0
-22
11
0
30
28
-11
0
23
-9
-3
-32
-6
-1
0
7
-21
-1
-12
14
4
0
0
-40
19
-3
-6
6
0
0
-30
-41
-6
0
0
0
-1
-1
13
0
2
-14
0
-1
2
12
-10
-6
0
0
0
-13
0
18
-13
-31
0
-4
16
-4
17
17
53
0
-2
8
0
-24
0
-74
0
-13
-5
0
3
-10
8
0
10
-18
-2
6
16
0
0
0
-19
1
12
1
0
0
0
-3
-52
7
41
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
21
0
0
0
0
0
0
10
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-8
0
0
0
0
0
0
1
0
0
0
-1
0
0
-12
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
-1
0
-10
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
9
-3
0
0
0
10
0
0
9
0
0
0
2
0
0
-1
0
0
0
-16
0
0
0
0
0
0
1
0
3
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-12
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-6
17
45
-57
-2
62
1
14
-14
-15
1
2
5
2
-26
-58
11
22
-36
-3
-7
-10
40
-20
-6
-4
-16
-5
16
-58
-25
-8
-20
-17
-3
-7
-7
-31
-9
-5
-4
-9
12
44
-18
-17
-75
-16
-35
2
-56
-42
-4
25
1
-80
-2
73
-35
-5
4
-10
-12
-1
17
2
33
-1
-22
-14
-1
-45
26
-30
-9
13
-1
-2
23
-11
-2
10
-2
4
-2
16
-17
11
-15
19
-13
-12
46
-5
2
-31
-11
-3
-7
-48
27
2
30
-9
-23
3
-58
-4
-9
4
-16
-35
-8
-21
11
26
-6
-4
-1
-1
88
19
8
-4
-35
2
-1
35
-2
-12
-28
-72
14
5
-7
30
14
13
15
18
-1
-61
12
-12
24
-33
22
-9
-5
-8
-4
-12
-33
0
-5
-29
35
0
-24
16
3
-3
-5
-17
6
-9
-31
54
-4
8
44
7
0
0
-1
-11
27
-24
10
-9
6
-2
-6
-32
30
-7
10
17
-63
-7
0
-7
-21
50
-41
26
-17
-31
-1
-14
27
27
-3
1
-86
-13
6
-13
47
31
-3
-34
5
-7
18
-59
-21
-3
6
4
7
-3
-4
3
-6
-26
-16
-7
-52
-12
51
9
7
-11
11
-13
-24
-59
-1
76
-28
38
-13
0
-58
-4
34
-42
13
-5
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
21
0
0
0
0
0
0
24
0
0
0
0
0
0
20
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
-1
1
0
0
0
3
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
37
0
0
0
0
0
0
-24
0
0
0
0
0
0
-1
0
-1
-21
0
0
2
-11
0
0
8
0
0
0
22
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
-11
0
0
0
0
0
0
-1
0
0
0
0
0
0
27
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
44
0
0
0
-8
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
8
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
27
0
0
9
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
7
6
0
0
0
0
0
-52
0
0
0
0
0
0
-2
0
28
-24
0
0
36
-75
0
0
0
0
0
0
-14
0
0
30
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
33
0
0
0
0
0
-38
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
78
0
0
-2
0
0
0
-3
0
0
10
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
28
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
31
0
0
0
0
0
0
-26
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
23
0
32
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
2
0
0
0
-23
4
0
26
0
0
0
0
0
0
-3
0
0
0
-20
-1
0
-13
0
2
0
-3
0
0
-1
0
0
0
-25
0
0
12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
20
0
0
0
0
0
1
0
6
0
-1
0
1
-7
0
0
0
0
0
-2
0
0
16
22
7
0
-21
49
0
0
29
0
0
27
-33
0
0
-21
-16
0
3
-11
0
0
18
0
0
-30
6
0
-76
1
0
0
0
6
0
0
10
0
0
0
48
-49
0
0
0
0
0
-25
0
0
0
0
0
4
17
0
0
0
0
0
-8
75
0
0
-16
0
0
-1
9
0
-1
10
-1
0
-6
-61
2
0
47
0
0
-3
-31
0
0
2
2
0
0
-50
0
0
0
0
0
0
-27
0
0
2
0
0
0
59
-8
0
0
0
0
0
-7
0
0
0
0
0
0
17
0
0
0
0
0
0
-44
0
0
0
0
0
0
40
0
0
-12
0
0
0
8
0
6
0
-2
0
0
9
0
-11
0
0
0
0
-19
0
0
0
13
0
0
-23
0
-4
0
0
0
0
15
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
6
0
0
0
0
0
-1
15
0
0
0
0
0
3
5
1
0
0
0
-1
0
28
0
0
0
-4
0
16
0
0
0
0
37
0
2
6
0
0
0
0
0
-2
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
-39
0
0
0
0
0
2
-2
0
21
-8
-4
0
-36
16
0
0
6
0
0
10
53
0
0
32
-1
0
0
-11
0
0
-11
0
0
0
29
0
8
0
0
0
0
-11
0
0
0
0
0
0
-15
-2
0
0
0
0
0
24
0
0
0
0
0
-6
6
0
0
4
3
0
3
33
0
0
-12
0
0
0
-43
1
0
7
1
0
0
-9
0
0
15
0
0
0
-19
0
0
2
-3
0
0
-19
0
0
-3
0
0
0
-24
0
0
8
0
11
0
28
0
0
0
0
0
0
53
0
0
0
0
0
0
-5
0
2
0
0
0
0
48
0
0
0
0
0
0
-7
0
3
0
0
0
0
-43
0
0
-13
0
0
0
45
0
-32
0
0
0
0
0
0
0
0
0
0
0
30
0
-7
0
0
1
0
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
6
0
17
-10
-2
-2
-2
0
0
-6
0
0
-14
9
7
0
2
53
2
17
-5
0
2
13
0
-4
19
22
0
0
28
-4
-60
-8
16
0
0
4
0
9
0
-1
0
0
0
3
17
0
0
-2
0
0
0
-22
0
0
-3
38
0
8
0
-42
-12
0
1
-26
0
0
-31
18
3
49
4
2
0
33
11
0
0
11
-2
0
5
2
0
0
-14
21
0
-17
3
0
8
33
0
-7
2
29
0
5
42
31
13
0
24
0
0
0
0
2
0
-15
37
32
0
0
0
0
0
0
0
0
0
0
3
-18
0
10
4
-2
0
-39
-9
1
-1
-23
-1
0
49
-6
0
0
-14
-27
0
23
-2
0
-6
56
-1
-1
3
9
0
0
27
13
6
-6
19
0
0
-13
-1
19
0
1
0
13
6
14
-38
0
-26
10
0
0
0
1
0
0
-7
0
3
4
0
0
-26
6
-12
4
0
0
1
-9
0
3
12
0
0
0
-5
-3
-15
-3
0
0
2
-20
-12
-2
-7
-4
-1
0
-10
0
-18
54
0
0
0
19
0
-12
7
-5
0
0
31
0
27
0
0
9
0
-28
33
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
-10
59
0
0
-36
-54
-8
47
-1
0
0
32
2
-4
52
35
0
-3
-19
-36
63
-5
31
0
8
-16
0
-97
-1
-8
0
0
-37
30
-44
-21
-2
0
0
3
-25
0
0
-78
0
0
-2
-4
-8
0
0
23
0
0
0
-31
0
-60
0
34
-8
46
0
8
7
0
0
-45
-1
2
9
-3
0
20
-29
-39
0
16
17
0
-10
-4
3
2
-93
10
0
6
13
-42
0
-19
41
0
0
-1
-6
17
-13
-34
0
-16
5
-17
-2
0
-63
0
0
1
0
45
0
-13
8
2
0
9
0
0
-53
0
0
0
2
0
3
24
1
42
-2
59
4
46
18
-1
0
-5
9
-3
-39
1
0
-12
-24
-61
0
7
11
1
13
21
3
-32
10
11
2
0
-3
-44
-5
0
-7
0
-2
-38
0
6
0
-44
0
-6
21
-19
-27
0
5
7
0
0
2
-4
0
26
2
0
0
7
0
0
-29
8
-26
0
0
3
0
21
0
4
-80
0
2
2
33
0
70
-19
2
-1
0
-18
0
-1
14
-4
-3
0
3
0
-18
-45
0
0
0
-10
0
-9
-1
26
-2
0
-4
0
-13
0
0
1
0
5
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
-47
0
0
0
0
0
0
-1
0
0
0
46
0
0
21
0
0
0
0
0
0
3
0
0
0
-9
0
0
0
3
0
0
0
0
8
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
9
-35
0
0
0
0
0
3
0
0
1
-7
0
0
-6
12
0
0
-1
0
0
1
-24
0
0
9
0
0
0
-47
0
0
-1
0
0
0
-4
0
5
2
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
0
0
2
-52
0
0
0
0
0
0
-3
0
0
2
0
0
0
18
0
0
1
0
0
0
30
0
0
7
0
0
0
-6
0
0
0
0
1
0
3
0
0
0
0
0
0
-29
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
-3
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-1
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
34
0
0
-11
82
0
29
-3
0
0
0
0
0
-1
0
0
0
-29
-17
0
33
-1
0
0
16
0
-19
-9
0
0
0
26
-3
6
0
0
0
0
6
0
0
0
0
0
0
0
0
3
0
0
0
0
0
4
-9
0
5
-6
0
0
0
0
0
-84
0
0
0
0
0
-1
9
0
39
-13
-6
0
-6
0
0
0
3
0
0
-37
-51
0
0
-16
1
0
-2
-37
0
0
28
0
0
0
-54
0
-5
7
0
0
0
79
0
0
0
0
0
0
14
2
0
0
0
0
0
-39
0
0
0
-7
0
0
-48
0
0
0
-4
15
3
20
0
0
0
0
-9
0
-33
0
-9
15
-4
0
10
-36
0
0
73
0
-4
0
30
0
-3
5
-11
-2
0
62
0
0
0
-3
-3
0
-18
0
0
-4
0
3
0
-18
0
0
0
0
-6
0
6
1
0
0
0
0
0
-56
0
-12
0
0
0
0
-57
0
0
0
7
13
0
-10
0
40
6
0
0
0
-44
0
-1
0
0
0
0
-64
0
-41
0
0
0
-7
10
0
0
0
0
0
0
-37
0
20
0
0
-10
0
-38
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-3
-8
-56
0
0
0
4
0
7
-35
16
0
0
67
21
-2
-5
0
0
-4
1
0
-12
86
0
0
0
-35
0
5
21
0
0
0
0
0
-3
0
-3
0
0
0
0
11
0
0
0
0
0
0
-1
0
-49
0
0
0
0
0
7
-7
0
0
7
0
0
21
1
0
-20
-26
9
0
15
-5
0
0
-3
0
0
-6
1
0
0
27
-11
0
0
-10
0
0
9
0
3
0
25
0
12
4
-3
0
0
30
0
0
0
0
-9
0
34
0
-3
0
0
0
0
26
0
0
0
0
0
-15
18
0
0
0
1
-2
1
-42
0
0
7
0
0
0
-56
0
0
-39
-1
0
-9
18
0
0
28
0
0
0
36
0
0
13
0
28
0
-13
0
0
0
0
0
0
53
0
0
0
0
46
0
-14
0
0
0
0
0
0
-8
0
0
0
0
0
0
39
0
4
0
0
0
0
-15
0
0
0
0
0
0
-21
0
6
-1
0
0
0
22
0
0
13
2
0
0
27
0
11
0
0
0
0
44
0
0
-4
0
0
0
-9
0
6
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-7
-3
0
5
0
0
0
0
0
0
-3
-1
0
-8
-38
0
0
4
5
0
0
-6
0
0
-2
-2
0
0
8
0
0
13
-1
0
0
-6
0
0
0
8
0
0
0
0
2
0
0
3
0
0
0
0
0
-45
-9
0
0
-1
0
-7
-16
0
0
3
0
0
-10
5
0
14
31
11
0
-54
-25
0
0
-2
0
0
6
-27
0
0
9
-6
0
0
20
0
0
-6
0
0
0
51
0
-55
-2
0
0
0
-31
0
0
-1
0
0
0
16
3
-10
0
0
0
0
-24
0
0
2
0
0
0
4
0
0
-1
18
-6
-9
1
0
0
-17
0
0
0
-12
0
-2
-2
-2
0
18
-19
0
-2
18
0
0
6
7
0
0
0
0
0
0
-2
0
0
2
0
0
-15
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
29
8
0
1
0
0
0
-32
0
3
3
0
0
0
3
0
0
8
0
0
6
45
0
17
0
7
0
0
17
0
0
-9
-2
0
0
37
0
0
0
0
0
6
-8
0
0
6
3
0
0
-15
0
6
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
-70
-6
0
2
-16
-18
-7
5
-3
-11
-1
-10
-50
-44
35
2
2
-4
23
-2
-2
35
9
-1
6
15
2
9
15
8
0
-1
22
-2
-1
-2
-18
0
0
-8
48
5
0
4
-53
0
0
-3
18
13
1
-4
-33
-1
-29
0
7
-6
8
0
8
-4
0
49
-14
0
5
-25
-35
-2
5
-9
0
0
2
-11
-22
1
1
0
1
29
15
-13
4
12
-4
33
-6
13
80
-9
6
8
3
-14
6
11
39
5
0
1
-10
-2
26
0
33
-16
8
0
-1
-6
0
-19
34
11
-2
4
0
16
-12
7
-1
-23
-2
-20
34
16
0
35
-22
-16
46
26
-11
-2
-6
-16
16
30
-34
2
27
50
25
-17
-5
-27
3
1
-15
12
9
24
15
-3
0
11
-25
2
5
-3
2
8
30
-35
7
-24
0
6
60
12
-1
-6
26
0
-24
-13
-2
0
-36
0
-6
17
0
2
31
2
-1
8
24
0
-1
-26
-35
9
2
-6
0
23
-9
17
-12
9
-2
-21
-13
28
17
25
34
-6
-2
-4
37
27
42
-8
-43
0
-8
23
7
15
0
8
2
-33
6
0
6
0
28
14
9
-13
-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
-13
3
0
-2
-11
1
-16
13
11
1
0
23
-1
14
19
45
-6
-13
8
-8
-3
-64
0
0
-1
-22
83
-2
-14
-9
0
0
36
0
13
1
-15
0
0
-27
-19
42
0
0
-28
0
-1
0
21
-1
-2
-9
41
0
33
0
-19
0
10
0
46
1
0
-26
-30
-1
-16
-27
3
0
-23
24
0
-16
-28
-5
-2
13
5
-10
1
-4
5
1
23
23
0
4
-4
0
-3
-9
-16
6
-34
34
13
29
0
-27
1
9
-1
0
30
0
0
-4
-11
0
2
0
0
-5
-6
0
0
1
4
10
0
0
-1
36
51
8
-11
-13
-1
0
-21
2
31
9
37
3
-8
16
-37
16
26
-12
-4
-12
-13
27
-22
-45
-9
0
1
-7
5
-32
12
-18
0
27
-17
3
31
0
2
0
3
8
-8
28
0
11
-9
0
0
-6
-7
0
43
9
0
0
-4
0
7
0
2
-4
-12
0
15
-7
-12
0
-3
-19
42
0
49
40
0
3
17
-9
-1
-6
-4
0
-15
-8
26
-2
-10
-9
0
-44
24
3
-12
0
-6
0
-20
6
-9
-7
0
-18
0
-20
52
0
-21
0
27
28
7
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
-4
0
0
11
0
0
0
-6
9
0
50
0
0
0
-3
0
0
0
1
0
0
45
0
12
0
0
0
0
0
0
0
0
-7
0
0
0
0
-18
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
13
0
0
0
0
0
1
1
0
26
-17
0
0
0
9
0
0
-13
0
0
3
7
0
0
28
0
0
0
30
0
0
6
0
0
0
0
0
16
-4
0
0
0
1
0
0
0
0
0
0
-35
4
0
0
4
0
0
-36
0
0
0
0
0
0
15
0
0
0
0
0
0
31
0
0
0
0
0
0
-14
0
0
35
0
0
0
-58
0
0
7
0
0
0
28
0
2
13
0
0
0
-33
0
0
0
0
0
0
17
0
0
0
0
0
0
8
0
0
0
0
0
0
7
3
0
0
0
0
0
-3
0
-12
0
0
0
0
-5
0
0
0
1
0
0
-14
0
-1
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
30
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-3
0
0
0
-3
0
0
4
0
0
0
3
0
0
-2
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
-7
0
0
0
0
0
0
37
0
0
0
0
0
2
0
0
5
-2
0
0
5
-35
0
0
2
0
0
0
-25
0
0
0
0
0
0
25
0
0
-1
0
0
0
6
0
-2
0
4
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-46
0
0
0
0
0
0
-1
0
0
0
0
0
2
-30
0
0
4
0
0
0
6
0
0
1
0
0
0
-49
0
0
-4
0
0
0
-4
0
0
-1
0
0
0
26
0
0
0
0
0
0
19
0
0
0
0
-1
0
-22
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
3
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
4
0
0
1
0
1
0
0
0
0
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
0
0
0
0
0
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
7
58
-35
-8
65
4
-2
5
12
-42
23
50
-11
26
53
-22
2
9
25
-2
4
25
-12
-16
13
33
15
13
29
22
-21
17
-9
9
-1
9
-22
-1
-1
37
-42
0
-1
-40
-25
-2
-15
-18
-80
0
-55
0
-4
-2
-12
-3
-14
-28
-19
-32
21
28
-13
-43
28
12
3
15
0
20
27
3
0
22
4
-6
25
32
2
-20
28
17
25
-26
37
-33
-5
-32
14
-8
15
8
24
6
-58
-2
-41
-21
-8
-11
-16
0
-4
3
-10
0
31
-54
-6
-32
-17
-10
-1
-48
-17
-68
-14
-12
-22
-9
-15
12
24
-4
-6
22
-37
-47
4
-22
16
-20
13
-24
-4
-33
50
2
-31
-9
24
30
9
-6
20
-2
-8
24
10
12
28
17
48
-17
30
-13
34
-49
5
-2
7
19
3
15
0
-19
-10
32
-1
-46
-5
0
-35
-46
-2
-1
-35
17
35
-7
-49
-14
-1
-27
-28
-87
1
-3
65
10
-9
-8
20
18
6
-8
21
-35
20
29
3
73
27
1
-5
-12
11
-7
16
-6
20
-21
16
-8
-1
44
-22
14
25
32
1
-2
-3
-1
-25
46
14
-1
13
1
-6
8
-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
-5
0
0
33
0
-33
-24
-5
0
13
-15
1
-10
-7
-40
12
-1
-26
0
-3
-27
-56
8
-2
7
0
10
-14
11
0
0
7
-4
16
-28
-10
0
2
-32
16
9
0
31
-38
0
-3
-6
31
34
11
-36
-50
1
0
0
7
2
0
9
24
0
0
-3
-43
0
-16
-7
21
0
12
-12
0
-3
-1
0
0
-16
-19
0
-3
-22
0
-44
9
-6
0
53
19
16
14
-24
-13
0
11
0
7
39
-15
-16
-4
-17
21
-3
28
0
3
0
-12
0
0
-3
-1
7
-46
0
10
7
-4
11
-12
0
18
-42
-1
-16
17
5
12
0
10
0
-59
-3
-42
0
-10
-21
12
-51
-2
2
35
14
15
-8
-4
-23
-2
6
-34
0
-17
-45
-32
-4
13
45
37
-4
51
24
-2
0
23
17
0
-21
0
-4
-43
1
-8
-4
5
0
-9
17
-3
2
0
-4
-1
12
0
-16
24
4
-59
-46
7
0
46
44
-2
63
-23
6
0
-8
4
0
-3
1
-21
-7
-1
-27
-3
47
52
-3
0
13
13
0
-23
-33
16
9
-8
5
-28
12
3
-16
0
6
-14
0
1
10
-5
8
-6
-2
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
9
0
0
-43
0
0
-8
-3
1
16
-12
38
0
29
-20
2
1
4
0
0
10
42
0
0
-5
-44
0
-22
11
0
0
-53
0
16
2
11
0
0
-79
-26
-9
0
6
-1
0
15
0
0
0
-6
55
2
0
0
0
19
-18
-18
0
9
-2
0
44
1
0
28
-5
4
0
1
-15
0
-19
24
3
0
43
-21
0
0
29
10
0
4
12
0
-16
-29
0
0
6
35
0
-18
-6
-2
0
8
-13
0
0
15
11
0
0
-3
2
18
0
-21
0
-1
-2
1
0
-4
17
0
5
-32
10
22
-45
31
0
15
33
0
34
26
0
0
26
15
0
-2
-2
-10
0
5
-8
-1
-9
52
-1
0
3
-4
3
-17
-9
-34
0
60
10
0
-1
-24
-3
0
16
-20
0
-12
-2
5
0
0
1
4
0
-3
0
0
0
-7
-2
0
-8
3
0
-18
5
4
61
10
0
0
0
6
0
-9
28
16
0
-6
-9
0
30
59
-10
0
8
-37
-3
-47
-16
-17
0
-33
-27
0
-5
11
-1
0
-7
-20
-13
2
-14
-11
0
-2
2
0
-41
-3
-1
0
-1
-11
11
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
-8
-38
-84
-87
6
0
11
16
-7
-14
41
-4
-11
14
8
-11
-12
1
9
-19
4
-11
-13
-13
49
-12
7
3
-35
8
4
-36
-46
5
4
-19
2
31
-13
-38
11
16
12
10
-13
-2
20
22
11
-89
4
34
-37
22
43
-5
27
1
-54
18
1
2
88
2
-4
-53
-22
-4
18
18
0
-8
63
30
-13
-8
17
-1
9
-77
-38
-13
16
10
30
1
35
4
13
-12
-29
-51
2
-47
24
-24
13
-22
18
1
8
22
8
7
1
-40
-12
-13
-23
-24
-27
52
-22
-4
-89
-22
-11
-2
39
12
-2
-31
-23
2
13
16
0
-10
-29
-25
-16
20
38
-15
-9
-2
-16
5
-4
-5
-15
-8
53
7
-14
-1
10
31
4
29
35
-3
-21
30
-23
1
40
26
-10
-4
5
-12
-11
-13
-29
-27
22
-16
21
-14
-12
-1
7
14
18
13
-9
-53
-1
24
13
61
8
-11
-37
-30
-5
-9
23
-30
-12
21
5
9
-12
11
1
-7
-10
16
8
32
53
19
-1
0
7
25
30
-31
17
-16
29
-15
1
13
1
1
-1
-58
0
3
4
28
48
-3
-9
6
-26
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
18
-11
6
-1
-29
1
5
-27
-1
0
0
-9
0
40
-34
0
0
10
46
11
0
-65
-2
1
0
11
0
-2
0
9
0
0
6
-6
-10
0
0
-15
0
0
0
-4
9
9
-45
-9
0
0
0
-19
-2
0
-1
-1
1
0
-39
0
0
-61
-14
11
0
45
-16
0
3
-23
2
0
-15
-4
0
0
4
-15
0
-40
37
0
-1
51
0
-6
-1
-26
0
-8
10
-20
-3
9
-33
8
0
0
0
-5
-1
30
51
-11
0
-10
-9
0
-2
-18
0
10
0
0
14
-1
-7
4
-38
-1
4
-38
0
0
-6
34
1
6
8
-13
1
0
28
-4
3
11
-9
9
13
26
-6
14
26
-13
0
-13
21
9
-24
5
25
0
6
1
3
-3
0
26
0
12
17
-10
-23
-1
40
0
0
0
0
3
0
34
0
0
0
0
2
2
-7
-4
30
-11
0
0
-4
0
2
-6
48
4
0
11
-48
0
13
-9
18
0
2
-44
0
34
10
4
8
0
10
-1
30
-17
8
0
0
16
-3
0
-4
0
10
0
-37
0
-7
-2
0
-20
0
40
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
8
0
0
16
0
0
-30
0
0
0
0
0
0
0
0
0
0
16
0
0
9
0
0
0
3
0
0
0
-7
0
0
0
0
28
0
0
4
0
0
0
0
0
-39
0
0
0
0
0
10
-9
0
0
6
0
0
7
11
0
-1
-19
11
0
-3
20
0
0
-2
0
0
-20
15
0
0
1
0
0
4
-59
0
0
-4
0
0
0
62
0
-18
0
0
0
0
3
0
0
0
0
0
0
19
0
-4
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
-1
0
-15
0
0
0
0
0
1
-26
0
0
0
0
0
0
-68
0
0
2
0
0
0
43
0
-8
4
0
0
0
12
0
0
0
0
0
0
28
0
0
0
0
17
0
-10
0
0
0
0
0
0
2
0
0
0
0
0
0
33
0
-7
0
0
0
0
3
0
0
0
0
0
0
-1
0
19
0
0
0
0
37
0
0
0
0
0
0
10
0
0
0
0
0
0
-23
0
0
0
0
0
0
-19
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
-10
6
1
0
-14
0
0
-20
0
-11
0
0
0
0
0
0
0
0
1
0
-2
1
0
0
0
0
0
0
0
0
0
0
2
0
77
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-2
-33
0
0
0
0
0
-2
8
0
29
0
0
0
-14
-21
0
0
6
3
0
1
21
0
0
-1
0
0
1
32
0
0
-18
0
0
0
0
0
-8
-4
7
0
0
41
0
0
0
0
0
0
40
3
0
0
0
0
0
-57
-1
0
0
0
0
0
9
0
0
-4
4
0
-2
44
0
0
-1
0
0
0
57
-8
0
-2
0
0
0
9
0
0
3
0
0
0
-5
0
0
0
3
0
0
22
0
0
1
0
0
0
14
0
0
0
0
0
0
-37
0
0
0
0
0
0
9
0
0
0
0
0
0
6
0
-2
2
0
0
0
2
0
-6
1
0
0
0
4
0
0
0
0
0
0
4
0
0
-1
0
0
0
-6
0
-2
0
0
0
0
5
0
0
0
0
0
0
24
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-14
43
64
10
20
-8
-9
3
13
-7
-4
20
1
-6
0
6
37
34
-14
38
0
0
23
-6
-22
-13
23
0
0
-44
4
-17
0
-2
-2
0
0
0
23
2
-16
30
-7
0
-5
0
-10
-8
-8
0
-6
-9
3
40
-20
0
7
31
33
0
-53
-9
0
8
33
-2
3
12
16
-4
61
19
54
33
-6
29
-2
1
-29
7
3
-54
-48
-2
1
-20
5
-6
-4
29
0
0
-1
0
-13
0
-17
-29
-2
0
-13
12
1
-22
19
-6
0
0
2
-4
-19
2
4
-9
-5
-2
29
-7
1
-1
25
-22
18
-41
-38
34
-12
-1
-4
-23
-13
-8
0
-20
2
-1
28
-44
-16
20
-11
16
-3
-8
-2
5
0
0
-12
0
41
-3
8
-2
58
-2
41
0
0
-16
0
0
0
0
0
0
-1
61
0
-4
8
0
0
-32
-2
-22
-3
7
0
5
-13
0
10
21
52
-1
25
-18
-6
1
-14
23
0
-8
6
-9
37
11
29
0
12
-10
6
-32
-3
-1
0
-9
-43
0
-2
-51
-29
38
-4
10
0
-31
-4
-2
33
0
5
14
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
-5
1
0
0
-7
0
-2
-4
0
0
0
86
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
30
-2
0
0
0
0
21
33
0
0
0
0
0
-7
2
0
22
36
0
0
-28
70
0
0
1
0
0
0
-5
0
0
-32
4
0
-1
17
0
0
-5
0
0
0
37
0
11
19
0
0
0
-27
0
0
0
0
0
0
35
-4
12
0
0
0
0
7
0
0
0
0
0
10
-39
0
0
0
-1
0
17
-34
0
0
-4
0
0
0
-85
0
0
3
0
-1
0
-46
0
9
-8
0
2
0
21
0
0
11
0
0
6
14
0
0
16
0
0
0
14
0
0
0
0
19
0
27
0
0
0
0
0
0
-32
0
0
0
0
0
2
26
0
-6
0
0
0
10
2
0
0
0
0
0
0
7
0
27
0
0
0
0
10
0
0
13
11
0
-1
-14
0
-11
0
0
0
0
6
0
0
0
0
0
0
-47
0
-4
0
0
5
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
26
7
0
21
-1
0
-58
-10
-1
6
1
0
0
21
0
0
0
11
-1
0
-50
8
0
0
9
0
0
-8
1
0
0
-4
0
0
0
0
3
1
0
3
0
0
34
0
-1
0
0
0
-34
-22
0
0
16
0
0
17
36
0
-13
-35
62
0
-50
-3
0
7
-75
0
0
33
-24
0
0
-1
-38
0
29
-5
0
0
-21
0
0
9
-48
0
-36
-24
-2
0
0
-27
0
0
0
0
0
0
-27
-19
0
0
0
0
0
24
-3
2
10
0
0
24
-47
0
0
-7
-4
0
9
-12
0
0
-36
-1
0
49
42
0
-2
-2
-22
0
-8
19
0
0
67
-2
0
86
8
0
-12
-41
4
0
17
-5
0
0
0
0
0
0
-18
0
0
0
1
0
-2
-50
1
0
0
0
0
0
-43
-1
0
-11
-10
0
0
50
0
38
-4
2
0
-13
48
0
4
-3
-4
0
6
-18
0
-36
12
0
0
-6
14
0
0
19
-7
0
1
-28
0
41
0
0
0
0
-4
0
3
9
4
0
0
-18
0
28
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
-5
21
-22
-23
43
-36
14
0
9
-7
-24
-21
-4
-31
30
21
8
18
-10
13
-10
51
-29
17
0
-45
16
-17
0
-24
7
0
0
19
4
8
6
-38
47
-26
8
1
30
1
15
10
8
29
-9
-6
17
3
3
-45
-63
-20
15
11
25
-44
7
-33
-23
16
-11
-34
-24
-26
-31
5
-29
-5
-3
-10
-27
54
7
-1
6
-9
-14
-10
-21
-4
11
-9
8
29
-40
38
-3
0
2
-23
7
-2
-1
-18
7
1
-37
47
-39
-4
-38
69
1
5
40
-7
1
-44
-19
8
54
-26
-26
53
-6
-25
-25
-18
4
-37
-8
63
4
6
33
-3
-18
12
19
-13
1
-55
-19
2
6
4
-10
3
1
-1
-14
19
20
-12
-14
8
56
-8
-22
-7
1
-8
-73
-13
-5
30
-2
-3
9
34
44
-14
36
31
-14
16
-10
14
10
-2
25
-25
5
16
-19
14
9
2
-6
-3
13
24
22
-29
17
-10
-29
35
5
-5
8
25
65
16
18
2
54
50
-19
17
4
-9
-27
-1
-31
5
-2
-5
-16
-9
-64
11
16
15
-22
-19
-41
-53
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
-57
23
0
-1
40
-1
-64
-26
-2
0
6
-41
-18
7
19
4
0
0
1
0
16
0
-21
0
0
63
-1
2
0
0
16
0
0
13
-27
0
-10
-28
16
-4
1
0
-20
7
0
0
-2
-12
9
-22
-30
0
-26
6
37
-3
-42
0
3
-2
-10
15
0
-17
-36
0
0
-27
7
-2
-24
34
0
-8
-14
20
2
-12
21
0
-8
1
-4
1
0
3
0
0
11
3
-9
1
7
13
8
0
-4
0
9
-13
0
0
3
-6
0
25
32
-2
2
49
-15
0
-13
-8
0
0
-51
0
-4
-23
0
0
7
-75
-12
0
-43
-31
0
8
-29
-13
0
25
5
0
-7
14
10
-1
-12
11
0
0
33
2
-3
2
17
0
2
-2
-31
-4
1
43
2
0
-9
0
0
0
-15
-4
0
0
0
0
0
17
12
55
10
2
0
-1
-38
7
6
-2
-15
0
-4
0
0
14
20
-20
0
-1
-32
-7
1
-5
-9
1
7
2
-3
-38
15
0
-1
0
37
0
-3
-4
0
-3
0
-27
0
4
8
0
2
0
22
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
-35
6
0
12
-25
0
0
9
0
0
0
51
0
-2
20
-4
0
0
6
0
0
0
0
0
0
7
0
-80
0
0
0
0
0
0
-31
0
-27
0
1
0
0
0
4
-19
0
0
-6
0
0
13
8
0
-19
39
0
0
-65
50
0
0
16
0
0
67
-43
0
0
0
4
0
10
-16
0
0
7
0
0
-8
7
0
31
3
0
0
0
48
0
0
0
0
0
0
-35
4
0
0
0
0
6
-16
0
0
7
0
0
0
3
0
3
-7
0
0
0
-21
0
0
4
0
-2
0
-48
0
0
-1
0
0
2
5
0
0
-11
0
0
0
-68
0
0
6
-2
0
0
-6
0
0
0
0
7
0
-32
0
0
0
0
-2
0
-4
0
0
4
0
0
0
10
0
0
0
0
0
0
4
0
1
-2
0
0
0
-5
0
0
-2
0
0
0
13
0
-13
0
0
0
0
-17
0
0
13
0
0
1
14
0
1
1
0
0
0
-43
0
0
0
-1
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-1
0
0
6
0
0
-38
11
0
0
-15
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-4
0
18
0
12
0
0
0
-2
20
0
0
-3
0
0
7
3
0
-85
19
-7
0
21
5
0
0
-5
0
0
40
-34
0
0
-6
0
-2
0
-38
0
0
-7
0
0
3
-9
0
27
-8
0
6
0
19
0
0
0
0
16
0
27
-3
0
0
0
0
0
-18
0
0
0
0
0
0
-31
0
0
-9
0
0
-13
1
0
0
22
0
2
-6
-28
0
0
-17
-5
0
2
-9
0
1
35
-1
0
-3
-8
0
0
4
0
0
0
31
0
0
-6
0
6
0
-24
0
0
-1
0
33
0
11
0
0
0
8
0
0
-7
7
0
0
0
0
0
12
0
-3
-2
-2
0
0
53
0
0
0
2
0
0
51
0
-9
0
0
0
0
93
0
0
-23
0
0
0
25
0
-3
1
0
0
0
-29
0
1
1
0
0
0
-2
0
0
0
0
1
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
-10
-14
1
1
0
30
3
-16
39
10
10
-12
3
4
3
8
-27
36
2
34
-5
-6
-14
9
-14
34
6
-6
-1
24
-68
-36
-12
52
-18
30
5
3
37
9
-33
7
20
2
76
4
2
-12
-18
-15
19
16
2
4
-8
0
-4
0
2
28
1
21
24
11
5
-47
25
11
-8
4
-14
-14
20
-26
-1
-14
8
19
-5
-17
2
-12
2
-9
5
4
36
38
-10
51
1
1
-1
-10
11
35
26
10
4
5
-4
-16
24
-22
-42
-13
0
24
-37
7
-55
-4
63
4
6
7
-8
-24
55
-2
-1
-31
4
-33
-6
11
12
-9
24
-28
-13
-17
47
-21
8
17
16
1
-45
53
9
-5
12
-19
-11
2
25
-24
2
10
-43
18
14
-4
-5
-6
-5
14
33
9
-17
-16
3
5
58
-49
-29
54
12
4
-12
-24
31
72
6
-19
-4
-33
-16
14
-4
10
26
-3
-21
-1
1
9
1
4
-11
43
11
-2
7
-47
28
3
34
-4
19
-4
40
35
11
0
37
-3
-22
21
-16
-11
-18
19
-7
46
-15
-20
3
-17
4
0
45
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
9
2
0
-31
-47
-9
10
-2
-29
0
-26
-9
-27
18
0
-2
0
10
18
-41
0
0
39
0
4
0
0
-9
0
0
0
15
0
10
7
-27
19
0
0
8
-2
-3
0
36
8
2
8
20
0
23
13
0
9
19
7
4
0
-12
-9
-6
25
18
-3
0
-11
0
54
-25
-3
0
28
1
0
38
2
1
-1
17
-2
0
16
46
2
-3
35
19
0
-31
0
-2
21
-37
-1
0
14
0
-7
-4
25
-2
0
2
6
5
4
24
-13
0
8
16
10
0
13
2
0
18
37
4
6
8
10
-3
26
13
-1
0
-17
-8
-1
-24
27
2
0
42
1
19
-40
-20
0
1
-6
17
0
52
4
10
17
-25
20
0
8
0
2
33
90
78
-1
-18
0
-30
31
0
35
0
-16
-3
-18
-1
-38
-42
0
29
-18
0
0
7
2
0
7
53
13
0
-24
-21
4
7
53
-2
-9
76
-22
4
-92
41
-1
0
-1
-24
0
-3
-1
16
-5
-34
10
3
17
0
-11
3
8
-49
-1
0
0
-9
3
-11
-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
-15
48
1
0
20
0
0
-34
26
0
0
-2
3
0
10
0
0
0
-2
0
0
0
1
0
0
-1
-13
-1
0
8
18
0
0
2
0
4
-6
-15
5
-4
-9
0
-6
4
0
0
-2
0
0
-4
-27
0
37
-1
-41
0
-12
-24
2
6
26
0
0
-13
5
1
0
6
-42
3
-12
-8
0
-1
12
0
0
21
-48
0
-11
-69
34
0
0
-47
0
0
-1
0
0
0
-6
51
-33
0
0
0
0
5
24
0
25
-1
0
3
-34
0
1
-33
6
0
5
7
0
0
-6
0
0
-15
-5
4
55
-30
10
4
-53
1
-1
-11
14
-1
0
-5
-9
0
13
29
21
0
-6
-19
0
0
-48
4
0
33
-47
0
20
27
-45
0
0
-19
-4
0
0
0
0
0
-32
1
0
4
4
0
-2
-23
0
28
5
0
0
8
19
0
-6
40
22
0
85
8
0
43
19
-2
0
13
17
0
-5
6
-55
0
21
-1
0
-16
6
-1
0
9
4
0
-7
-18
-22
0
11
-14
0
-40
0
0
0
0
-34
3
-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
15
-23
4
7
10
14
9
-50
-15
-31
-25
-7
-47
-6
-92
-37
-29
2
-37
16
7
5
-75
-35
-49
46
-11
4
-67
6
6
29
-36
7
-1
1
10
4
5
12
27
14
-23
-16
47
-2
3
-18
8
-26
-14
-61
-31
3
13
-12
-21
23
58
42
23
15
9
-5
1
8
-13
1
18
27
8
-10
42
-11
16
1
11
-74
-9
-10
-29
-8
-65
7
-1
-6
-28
-37
3
-15
-1
-45
6
31
-29
3
9
62
38
4
13
8
-14
19
52
-27
-3
-33
-2
-27
44
20
-30
-3
21
-11
-14
-14
39
-27
-2
40
-28
-11
5
53
38
-11
-3
14
-12
-9
11
-18
-12
-20
37
-3
-54
22
-50
-5
-17
16
11
8
27
-2
-17
47
39
12
-3
0
-3
-2
9
-5
-3
21
-3
-38
6
-22
4
31
-15
4
-35
7
-47
-39
5
-14
8
9
3
-37
19
7
-12
22
38
-13
7
-6
3
-14
-6
76
-14
26
-6
18
20
-17
47
-20
-28
52
-18
-14
12
21
-1
16
-2
8
2
30
-20
-16
-3
2
-3
-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
48
-9
-2
1
-15
56
21
43
-7
-3
0
19
0
-6
3
-40
16
0
-13
15
-12
0
0
5
0
3
0
-16
0
2
-28
80
0
13
0
-28
10
0
0
37
0
-4
-5
-6
0
-20
20
-26
0
-9
-2
0
-16
-4
4
0
2
0
2
-9
-27
-28
-11
18
-26
0
-7
-7
0
9
30
9
0
-17
-19
-17
6
7
-29
0
0
-3
0
8
0
-24
9
9
0
12
-4
0
0
16
0
-2
16
0
18
14
0
24
10
-16
3
59
26
12
0
39
-2
18
-7
-10
-6
66
13
-32
36
1
0
-2
14
-6
0
40
-11
-31
0
22
-40
-12
17
-27
15
1
-10
25
17
-14
0
-17
-1
-11
-24
32
-11
0
-14
0
-4
0
-7
16
0
35
5
0
-1
17
0
-1
3
0
-20
40
0
1
-4
-16
0
-13
16
28
1
5
3
0
-53
-49
9
35
-6
0
-12
-19
21
-19
8
-2
-2
0
3
-54
10
0
-19
5
0
-6
20
16
-30
11
-7
0
-13
-48
0
-41
0
-44
-5
-4
0
-14
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
10
2
0
0
18
0
0
0
0
0
0
3
0
0
0
2
0
0
0
0
-50
0
0
0
0
0
0
-10
0
45
0
0
0
0
0
0
10
0
0
1
0
0
-8
8
0
-22
-10
0
0
35
18
0
0
40
0
0
14
-21
0
0
-17
0
-2
0
-33
0
0
-10
0
0
0
55
0
-5
3
0
0
0
-32
0
0
0
0
0
0
5
0
6
0
0
0
0
-11
0
0
0
0
0
1
-63
0
0
0
0
0
19
-36
0
0
0
0
0
13
11
0
-1
-5
0
0
0
-9
0
0
-10
0
0
0
-37
0
4
-11
0
0
0
-9
0
0
-8
0
0
0
8
0
0
3
0
0
0
7
0
0
0
0
0
0
8
0
0
0
0
0
-3
-9
0
-8
0
0
0
0
-11
0
1
0
0
0
0
81
0
77
0
0
0
0
40
0
0
0
0
0
0
-55
0
12
0
0
0
0
-10
0
0
0
0
0
0
-5
0
-32
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
-7
-2
0
0
7
0
0
3
-1
0
0
-3
2
0
0
0
0
0
-3
0
-56
0
0
-2
0
0
-1
7
0
8
6
1
0
-3
0
-2
-23
0
0
16
0
0
6
71
0
-33
-1
0
0
-18
9
0
0
-11
0
0
0
-8
0
0
-12
0
0
-10
-80
0
0
0
0
0
7
6
0
-51
-1
0
0
0
6
0
0
0
0
0
0
16
-9
0
0
0
0
0
1
0
0
3
0
0
0
20
0
0
-2
-13
0
0
-13
0
0
-4
0
0
-3
7
-11
-10
0
-6
0
5
-35
2
0
-3
-2
0
25
6
0
15
14
-1
0
0
-19
0
0
0
0
18
-1
81
2
0
3
0
-1
0
14
0
0
0
0
-3
0
-1
0
0
0
-1
0
0
-3
0
-1
-1
0
0
0
-42
0
0
0
0
0
0
-2
0
-1
0
0
0
0
6
0
0
7
-9
0
0
20
0
-20
0
0
0
0
-31
0
0
4
0
2
0
-59
0
-5
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
-37
31
6
3
-41
-25
-23
11
7
9
0
1
13
-5
13
52
-3
0
0
-9
-50
-6
4
-68
0
0
0
-2
0
5
52
-11
-12
-2
0
-20
-16
4
10
5
-2
5
-24
-14
0
18
12
-11
0
-15
-26
-1
8
-33
17
0
15
24
0
10
24
-6
-3
68
-3
0
-16
-31
25
14
-68
9
13
-13
7
31
43
12
-19
-6
0
12
0
11
0
-5
1
-19
0
8
-20
0
-4
3
1
-1
0
-3
11
7
-5
-21
-26
-11
-41
-9
1
0
18
-15
-3
-21
-25
-5
0
-19
-13
6
16
-15
-5
9
-29
-77
-34
25
-48
-1
12
56
-13
-74
50
10
-12
0
-1
10
0
12
-1
-17
-6
-29
-1
58
-9
0
-1
80
2
0
0
26
0
15
54
0
4
0
0
2
8
-2
36
6
5
0
52
-27
0
-25
21
14
2
5
-8
0
42
-8
0
0
-24
-8
0
-7
8
-16
0
-16
-4
0
-40
-30
1
59
13
10
-12
12
15
47
-2
3
-5
-3
52
-3
0
31
0
10
-16
-4
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-92
0
0
-4
2
0
0
0
0
0
0
-6
0
0
0
0
30
0
0
0
0
0
0
-3
0
15
0
19
0
0
0
0
-19
0
0
17
0
0
-13
23
0
-15
-7
0
0
24
4
0
0
-3
0
0
-8
-10
0
0
1
0
0
10
-62
0
0
46
0
0
0
-45
0
-61
2
0
0
0
-34
0
0
0
0
0
0
-34
0
1
0
0
0
0
-15
0
0
0
0
0
0
33
0
0
0
0
-2
1
32
0
0
0
0
0
9
51
0
0
7
0
0
0
-25
0
0
3
0
0
0
-5
0
0
-7
0
0
0
-32
0
0
-11
0
0
0
-55
0
0
0
2
-9
0
-30
0
0
0
0
0
0
-15
0
0
0
0
0
0
-10
0
0
0
0
0
0
40
0
0
0
0
0
0
-14
0
0
0
0
0
0
11
0
0
1
0
0
0
-7
0
-2
0
0
0
0
12
0
0
0
0
0
0
30
0
1
0
0
1
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
51
0
0
47
-9
0
-35
23
28
0
32
12
0
-3
29
0
0
-23
45
-2
0
7
-59
0
-1
-13
0
-6
-2
-35
-29
8
11
0
-45
-3
0
0
-2
2
0
16
-37
0
-7
8
1
0
-41
-29
8
0
11
-7
0
14
-14
25
0
6
-23
0
29
5
0
-4
39
-9
0
7
29
-10
-17
0
40
0
2
-6
-2
0
73
11
2
0
-3
35
23
0
8
0
2
4
-3
0
0
16
0
-9
2
0
-8
-27
-14
0
25
8
0
10
2
-5
0
-4
-1
0
-12
4
25
0
-62
12
0
-10
-3
0
0
4
-4
-6
42
9
21
0
-3
14
1
0
2
0
2
-18
-10
0
1
10
52
0
0
-6
1
11
-1
10
0
0
-2
35
0
30
37
0
0
4
0
36
2
-5
0
5
-14
0
-29
-29
7
0
25
-12
-3
27
-6
-10
0
-24
27
0
34
1
29
0
52
-2
0
-42
21
3
0
-21
23
9
-6
-15
0
0
0
-2
0
2
-4
0
0
0
-14
-20
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
-30
49
7
16
-25
8
-19
0
-11
0
0
27
-14
-54
-1
36
-1
0
-2
36
-59
0
18
-61
55
28
-35
0
1
-5
-8
0
-26
9
-10
-6
4
0
-13
-9
-50
15
4
-2
21
13
1
12
26
11
2
0
-2
-31
-44
37
-66
-12
17
-61
-40
-2
-19
-1
-2
1
9
-3
-52
2
16
8
9
13
11
16
-32
0
18
-50
-25
0
26
2
-6
16
69
0
-1
22
6
-35
9
13
-4
-40
30
-1
11
-8
4
3
-7
-2
-6
24
-1
9
27
-16
-28
-57
-2
-3
-44
20
-6
-10
28
76
-16
41
-18
-26
-43
-12
6
2
0
14
5
2
-25
-1
-19
-9
7
10
-20
-6
0
11
23
-1
-3
-2
48
3
16
35
-1
11
-32
0
0
28
6
-17
-14
-10
49
31
-3
0
12
25
-13
-37
0
-10
-3
-49
14
-79
4
-3
-41
1
-11
14
-11
22
0
-11
18
-17
10
3
-44
-7
-9
-3
-27
-5
27
-1
3
0
0
-15
60
-7
-15
0
26
8
4
13
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-9
0
0
-7
0
-34
0
-3
0
0
-9
20
-15
0
0
6
0
0
0
-53
-1
-1
-28
-7
0
8
0
-15
-10
0
0
-23
0
0
-14
-21
0
-39
49
-56
0
-3
49
0
-1
-6
-1
-7
11
1
0
0
-46
40
4
-42
0
2
20
-20
27
-3
4
-56
0
-31
-25
-7
10
1
-12
0
0
0
0
8
0
14
-6
-6
0
-11
6
0
-8
0
0
1
0
0
-10
32
4
4
1
-6
32
21
0
0
0
10
0
6
-8
6
-9
28
-21
8
7
-19
20
0
20
26
0
6
-25
0
0
50
-5
-26
0
14
-13
0
0
-22
1
47
3
-23
-3
0
2
-4
-1
0
35
-11
0
0
0
1
0
25
15
0
-13
-1
0
0
-5
3
37
0
0
0
0
-4
0
-1
-4
17
0
-1
-10
0
-80
-21
-9
0
0
-15
0
75
-14
-11
0
11
0
0
11
1
0
-2
0
12
-1
22
0
0
0
11
-4
0
27
15
0
19
0
-10
7
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-44
0
1
0
0
0
0
16
0
0
10
0
0
0
-11
0
19
-19
0
0
5
8
0
0
-4
0
0
2
-4
0
0
2
-2
0
-3
31
0
0
11
0
0
0
-5
0
21
0
0
0
0
-41
0
0
0
0
0
0
33
0
0
0
0
0
0
17
0
0
0
0
0
0
12
0
0
0
0
0
0
6
0
0
0
0
0
0
-46
0
0
0
-4
0
0
19
0
0
3
0
0
0
3
0
-1
-7
0
0
0
-37
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-12
0
0
0
0
0
0
46
0
0
0
0
0
0
6
0
0
0
0
0
0
-9
0
-3
0
0
0
0
7
0
0
16
0
0
0
-25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-10
0
0
0
0
0
0
0
8
15
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
20
0
0
0
0
0
-39
-6
0
2
39
0
0
-38
11
0
0
-6
0
0
0
-3
0
0
5
-3
0
0
21
0
0
35
0
0
-1
-38
0
61
-2
-6
0
0
6
0
0
0
0
1
0
36
0
0
0
0
0
0
-18
0
0
0
0
0
0
-28
0
0
4
0
0
8
20
0
0
0
0
0
0
-33
2
0
28
0
0
0
43
0
0
1
0
0
0
-72
0
-1
12
0
0
0
1
0
0
-3
0
0
0
-7
0
0
0
0
-2
0
9
0
0
0
0
0
0
2
1
0
0
0
0
0
-16
0
7
3
0
0
0
-49
0
0
0
0
0
0
-4
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
0
-2
0
0
0
0
-14
0
0
0
0
0
0
-12
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
-43
-29
23
6
-18
10
0
15
18
-53
0
44
0
-5
0
-15
-25
2
-1
-6
-12
16
-5
12
-12
34
-2
0
-3
-1
3
-33
-3
-19
-9
0
14
13
-2
21
-12
-43
3
5
39
30
-15
-29
2
-46
-9
-29
29
-45
-12
6
-49
-1
-20
58
-36
38
21
-54
10
5
24
1
-4
-12
3
-2
8
58
41
-67
-18
0
-7
10
18
-1
-9
-12
27
-6
-1
49
5
42
-40
-49
-9
-58
4
3
-18
16
10
2
17
-21
-8
-40
14
-34
5
-34
65
-22
5
-6
-15
10
32
8
-3
3
4
-1
-9
-23
10
-24
-27
-8
6
1
18
15
-16
-22
2
35
-11
14
-20
-37
-46
-12
-2
-3
25
-52
-2
-44
-42
-9
-3
-10
-28
15
-26
67
-14
-16
43
16
-32
-7
15
-54
-20
-5
-50
-4
3
8
20
0
-35
-5
26
-2
-19
35
-8
-6
9
-28
-33
10
71
-5
-7
-3
7
-6
15
-23
0
-13
59
-9
33
20
-18
-3
-4
-20
42
-4
-14
5
-10
-40
28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
1
0
-15
0
0
-4
0
4
0
0
-10
0
0
0
-10
-2
3
2
35
0
0
0
-36
3
4
7
15
0
0
33
-9
0
-51
-17
0
0
18
10
0
-1
16
0
0
7
-48
2
0
-57
0
0
-4
-20
0
-3
12
0
0
16
-7
0
17
-21
0
0
0
18
0
0
0
0
-1
0
-19
16
-8
0
0
-3
0
4
8
0
0
0
0
1
-26
-1
2
-26
0
6
-61
10
0
1
16
0
-11
24
-2
0
-17
45
13
0
26
-3
1
-4
-22
0
49
10
12
0
26
-12
-13
-8
-9
0
0
0
8
0
25
0
8
0
0
1
0
-20
0
-31
-1
-2
0
0
-2
0
-56
0
-1
2
0
0
-2
15
0
-28
2
0
0
9
-24
0
4
22
0
0
21
16
0
23
-17
0
0
0
20
2
-10
-7
0
-1
0
-25
0
32
45
0
0
0
16
0
0
-6
0
11
0
9
0
-29
0
0
1
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
-27
39
0
0
-16
-28
0
0
27
0
0
0
20
0
0
0
51
0
-1
-2
0
8
-2
25
-28
-6
-11
0
-36
-19
0
0
-23
0
0
-50
-52
1
-26
-11
-24
0
1
-5
0
26
-8
0
0
-17
-1
-10
20
-4
-40
0
-5
-13
-4
-2
-29
-6
0
31
10
0
-23
-24
13
0
29
17
0
0
39
0
0
0
7
8
-7
0
15
0
0
-1
-21
-1
0
20
0
22
-26
0
28
-25
-47
0
37
1
0
-7
-16
-5
0
-75
11
-1
5
-10
-12
0
-28
6
-2
56
-2
-2
0
-19
17
0
33
-1
1
0
37
5
0
-3
-3
-8
0
-1
5
1
1
-23
46
3
0
3
-6
0
0
-3
0
0
-14
12
0
-8
-5
0
0
2
-6
-14
10
-3
0
1
-16
0
-2
17
-27
0
-15
-8
0
35
-29
-6
0
-26
1
13
55
39
-25
0
19
-1
0
-13
34
0
0
10
-4
0
11
35
24
0
0
5
-1
22
-23
0
0
0
-14
-9
0
22
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
-7
-35
-20
0
-4
19
0
2
28
48
0
-21
-31
6
0
-25
0
12
-19
4
1
-47
2
21
-1
37
3
23
-1
-30
-1
7
18
-6
0
5
-39
-1
-20
14
-3
-11
-21
21
-29
-45
0
0
12
-14
-19
9
7
35
3
4
-9
-50
-1
0
-1
25
-7
10
12
-7
0
19
-58
-87
-1
-24
0
0
-2
-51
0
-7
-23
21
25
3
9
-17
-72
-15
-5
15
-2
0
-12
-60
-16
17
-55
26
-18
-20
13
-42
-43
-15
0
10
-24
-5
39
5
16
-3
-8
5
-16
-30
-8
-5
-10
4
3
-37
-1
-6
0
-21
-1
-8
-19
-50
-6
0
14
2
0
1
-6
-5
-4
-4
-8
-4
-8
16
11
-6
-11
-42
-13
-10
0
-19
-3
-1
0
-10
68
-23
14
6
32
0
-23
22
3
-8
0
-13
-3
-43
32
-39
-34
-13
-5
0
-11
-35
12
-23
20
37
-1
45
-9
-82
-31
0
-7
-1
29
32
2
-52
0
1
-43
0
-10
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
-52
0
1
0
-1
-22
0
0
23
0
-6
0
-9
0
-11
1
39
0
2
0
-8
-23
0
0
-17
-2
1
-5
-12
0
17
-6
-29
0
-47
-25
17
0
-33
0
0
13
2
0
0
-16
-14
3
0
24
0
1
-3
0
6
72
0
1
-25
55
13
0
2
-22
0
0
-7
1
10
0
-40
17
22
0
3
-2
0
-19
0
0
0
0
0
0
-19
-1
-1
48
-5
12
-2
17
0
4
45
0
-3
-28
25
0
-3
-18
-69
7
24
21
0
0
1
16
-9
-15
14
0
11
-47
-26
25
-6
0
-1
6
50
0
2
-1
11
-7
10
-15
1
-32
0
-9
0
2
0
13
26
0
-19
-2
0
0
0
0
0
-40
0
-25
0
0
0
0
7
0
4
44
2
0
-1
17
0
5
24
4
0
-1
-38
-1
2
-26
-61
-2
0
27
0
22
-11
0
0
0
0
0
29
24
10
0
0
12
0
-90
0
-2
-17
0
37
-8
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
-9
0
0
0
0
0
0
-1
0
17
0
0
0
0
0
0
20
0
0
0
0
0
0
1
0
10
-54
0
0
-24
-14
0
0
2
0
0
1
39
0
0
0
0
0
-6
-13
0
0
4
0
0
2
-2
0
-4
-13
0
0
0
-6
0
0
0
0
0
0
24
0
0
0
0
0
0
-18
0
0
0
0
0
0
-3
0
1
0
0
0
0
38
0
0
0
0
0
0
11
0
0
-12
0
0
0
-83
0
0
0
0
0
0
8
0
-9
25
0
0
0
-30
0
0
-1
0
0
0
39
0
0
0
0
7
0
-22
0
0
0
0
7
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
2
0
0
0
0
-3
0
0
0
0
0
0
-1
0
11
2
0
0
0
36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-48
0
0
0
0
0
0
-4
0
22
-2
0
0
-15
9
0
0
6
0
0
0
6
0
0
1
0
0
0
6
0
0
-1
0
0
0
-1
0
4
1
0
0
0
-1
2
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
4
0
-1
0
0
-1
0
0
0
-56
0
0
-7
0
0
0
2
0
0
-2
0
0
0
16
0
0
-1
0
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
29
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-22
1
0
-2
75
12
0
-7
58
0
0
-4
-1
3
-4
18
52
-3
-17
0
32
9
0
0
-21
-2
0
10
57
0
-7
13
10
-7
36
32
0
-3
24
-6
0
19
-8
0
-3
-17
43
19
-63
-30
-10
-1
-2
-1
0
3
5
2
14
33
3
-2
6
-22
-11
0
17
35
-39
0
-36
-41
12
0
10
0
0
-1
32
0
4
8
0
15
-13
0
16
5
1
-9
7
17
1
32
4
18
-25
20
13
-2
6
-13
7
-46
26
-38
15
26
-10
-26
-18
-1
-8
36
-35
34
-12
-45
12
18
-16
23
1
2
-42
0
-31
0
-3
0
24
-34
0
-23
12
0
0
-5
1
0
11
-13
0
0
-9
-2
-3
20
-2
-12
-1
-3
-26
-2
-11
0
-11
7
7
-2
6
-14
0
-40
21
-4
35
4
-8
4
33
2
15
0
0
-17
0
-14
3
-3
-6
0
29
0
0
17
-44
-38
-19
-17
0
34
0
0
-44
0
-31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
0
0
0
0
0
0
0
0
13
0
0
0
0
0
1
33
0
0
-2
0
0
0
-50
0
49
58
0
0
3
2
0
0
-22
0
0
0
-13
0
0
-15
21
0
6
-4
0
0
6
0
0
9
-20
0
-40
4
0
0
6
69
0
0
0
0
0
0
19
0
0
0
0
0
0
-19
0
0
0
0
0
0
-38
0
0
0
0
-8
0
25
0
0
-4
0
0
0
4
0
0
0
-1
0
-3
0
0
0
1
0
0
0
30
0
0
0
0
0
0
-68
0
0
-4
0
-7
0
-12
0
0
0
0
-7
0
-30
0
0
0
0
0
0
-12
0
0
0
0
0
0
16
0
0
0
0
0
0
-12
0
0
0
0
0
0
2
0
-11
21
0
0
0
12
0
0
-2
0
0
0
-15
0
-3
0
0
0
0
-2
0
0
3
0
0
0
14
0
0
0
0
-1
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
69
19
0
0
0
15
0
0
0
0
0
13
-1
-81
4
-19
0
2
0
0
-1
-37
0
0
12
-35
0
-18
5
21
0
0
-6
-8
0
5
2
0
11
5
1
-6
7
15
0
0
-5
0
9
22
16
0
-3
-1
0
-26
-15
-14
0
-3
12
0
-7
62
1
0
0
-4
-6
42
0
9
0
-28
20
17
-8
0
0
0
55
9
0
50
-9
-30
0
-32
8
-1
0
22
0
0
-11
15
0
38
1
-18
0
-8
6
-3
18
12
0
0
-21
8
0
-27
24
19
0
-5
-4
0
-26
16
0
0
0
-17
0
6
-8
4
8
0
5
-8
0
0
-6
0
0
-15
-7
0
3
-4
0
0
25
2
-6
-12
1
-1
13
-36
0
0
-24
9
0
8
3
0
-22
-32
17
0
1
12
0
34
1
40
0
8
2
0
-47
20
-3
0
-13
-11
0
8
3
14
0
0
-8
0
-1
-41
0
0
0
-12
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
4
0
0
0
0
0
-13
0
0
0
0
0
0
-84
0
0
-1
0
3
-3
53
0
9
-14
7
0
25
-16
0
0
-61
0
0
-22
24
0
0
-24
0
4
-12
2
0
0
1
0
0
0
15
0
-36
14
-1
0
0
6
0
0
0
0
-1
0
-14
0
2
0
0
0
0
-24
0
0
0
3
0
0
-11
0
0
0
0
3
-7
25
0
0
-3
0
-1
1
30
0
-3
30
-3
0
0
25
0
3
12
0
8
0
-43
0
0
23
2
-3
0
40
0
0
-3
0
-10
0
-36
0
0
0
2
-1
0
-36
0
0
0
0
0
0
-7
0
0
0
0
0
0
30
0
13
0
0
0
0
-90
0
0
0
0
-7
0
30
0
0
0
0
0
0
34
0
0
1
-3
-2
0
-33
0
9
0
0
0
0
9
0
2
0
0
0
0
-44
0
-4
0
0
0
0
25
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-3
-2
0
-14
2
-4
0
1
0
-34
-27
0
0
-3
0
0
31
-3
0
-5
-2
6
0
16
10
0
-1
-33
10
0
-16
1
0
-7
-10
-8
12
13
-23
0
7
25
0
0
-10
-25
0
-13
48
-11
-2
-4
0
-4
0
64
15
5
0
-1
-10
-9
0
0
0
0
-18
3
0
0
0
0
-4
-2
0
0
26
-10
54
9
5
2
0
-59
1
-18
-22
25
-7
0
-25
-8
-18
-10
24
-7
-16
-8
27
-51
16
-4
-3
44
-12
31
43
6
-13
0
0
-3
-3
12
0
0
0
0
-19
8
25
0
-27
0
0
0
0
0
0
-26
0
0
0
0
0
0
17
0
-48
0
0
1
0
26
0
16
-1
-8
57
0
32
13
-17
-8
-6
7
1
25
2
-6
-15
-9
4
1
-9
0
-45
-22
22
13
0
-29
0
0
13
-45
-8
13
0
0
6
0
0
-23
0
23
-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
17
0
-5
4
0
0
0
0
1
-5
0
0
0
0
0
0
-2
0
-1
33
0
0
49
-19
0
0
-1
0
0
2
-1
0
0
0
0
0
0
38
0
0
6
0
0
0
39
0
-13
1
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
22
0
0
0
0
0
0
11
0
0
0
0
0
0
-27
0
0
0
0
0
0
35
0
0
0
0
0
-1
24
0
0
7
0
0
0
-3
0
0
0
0
0
0
-28
0
-28
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
-1
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
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-28
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
-3
0
0
0
-10
-24
0
0
0
0
0
0
-24
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
-33
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-29
0
0
0
0
0
0
-26
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
8
-2
0
0
-3
0
-32
-15
0
0
-1
0
-1
-17
-1
0
32
-6
-61
0
-12
3
2
-1
22
-1
0
-5
5
0
0
-1
-46
0
-35
22
8
0
0
2
12
1
-60
0
9
37
-16
0
-8
31
0
0
0
0
-12
0
12
1
0
0
0
0
0
4
0
0
4
-1
0
15
-95
0
-1
-6
0
-44
-7
6
0
0
-7
-3
60
4
-6
0
7
-7
-14
-2
0
-2
3
0
10
-11
-12
6
-12
0
0
0
36
4
0
-2
0
7
0
0
-3
0
5
-1
0
0
-15
-74
0
-18
0
6
0
0
-1
0
48
0
0
-22
0
0
4
-72
0
9
-1
0
2
2
-78
1
12
3
2
-10
0
-33
0
-60
-3
0
0
-1
19
0
11
-2
1
-5
0
-23
0
6
1
0
0
2
-1
0
23
0
-3
0
0
21
0
3
0
7
-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
-1
0
0
0
5
13
-1
7
-2
3
0
0
7
-25
0
0
-4
0
0
-74
-28
0
-27
10
-1
0
46
34
1
-1
-19
0
0
-22
-9
0
6
-1
0
2
-21
-9
0
0
52
0
0
0
37
0
-57
28
0
-11
15
-5
0
0
0
0
25
0
12
-46
2
-1
0
0
0
-18
0
0
1
0
-2
2
-14
8
0
20
0
-3
-2
8
0
8
-23
0
12
-10
11
0
0
17
0
7
31
1
-1
-10
7
0
12
-11
-41
0
7
-13
0
-3
-27
-2
0
0
-21
0
23
0
16
0
7
-2
0
-33
0
3
0
0
0
0
-8
0
-27
0
0
0
0
0
0
-80
0
-7
-9
0
0
1
-3
0
0
-6
0
0
1
23
0
18
22
0
0
0
-19
0
-12
-28
0
0
-10
11
0
35
-10
0
0
0
5
0
0
-16
0
30
0
-36
0
10
0
0
-27
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
37
-55
0
-36
-15
0
41
0
7
-18
-9
-8
0
-12
2
9
-1
15
16
0
6
17
1
4
4
1
0
4
-13
-6
19
-7
11
11
0
1
12
-25
10
10
0
28
-8
-2
19
-1
0
0
61
9
14
-5
10
-5
0
73
10
57
12
18
-18
1
0
1
3
-1
-9
-26
0
-21
2
-20
2
-7
-57
0
13
2
7
-55
-23
-38
-2
13
5
-2
-29
-6
-50
0
0
7
68
3
6
10
0
20
3
-47
-3
20
28
-2
-24
-2
-4
-22
15
2
0
20
2
-32
-1
20
-1
0
60
-9
-44
8
-22
6
0
-3
4
-17
91
-42
61
0
0
7
-10
-1
-10
-6
0
23
10
-2
-5
24
50
-2
12
-8
-56
59
-27
-32
0
-1
-14
-6
-27
-14
19
0
58
-1
6
32
13
-19
-6
22
-11
6
-23
14
42
0
46
-15
-11
-37
35
25
0
38
-5
-34
-12
59
-15
0
-4
11
8
67
32
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
-17
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
0
1
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
-60
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
-11
0
0
0
0
0
0
-4
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
4
0
8
-12
0
0
3
0
0
32
1
0
-40
-9
0
0
-9
21
0
0
-49
0
0
0
-1
-3
0
27
3
0
-17
-13
0
0
-23
0
0
0
33
0
-19
-14
0
0
0
3
1
0
0
0
0
0
0
0
16
0
0
0
0
-39
0
0
0
0
0
0
5
0
0
0
-7
0
-9
-1
0
0
7
0
0
-8
-5
0
0
-24
6
16
4
-11
0
0
3
0
0
0
-29
0
0
46
-2
0
0
10
0
0
22
0
-8
0
-14
0
-1
0
0
10
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-17
0
4
0
0
0
0
-28
0
0
-3
0
0
2
1
13
2
0
0
0
0
-37
0
0
0
-4
0
0
0
0
-4
6
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
-6
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
-20
-36
-19
-2
2
0
-23
1
1
-1
22
0
0
-22
-19
0
14
-16
-12
-6
-28
-8
6
0
27
0
0
-11
0
0
0
-42
-50
0
36
4
0
-2
0
-7
-1
4
-4
0
-12
-1
1
1
0
-55
0
0
-7
48
-26
0
-35
0
10
0
-2
0
0
-22
1
1
0
24
0
0
-16
0
4
25
-24
-8
7
6
-1
0
-4
0
7
-30
-14
0
-1
-21
-51
11
30
17
0
-1
-14
57
54
-17
-3
0
-1
-54
-1
25
-7
12
0
13
30
6
-33
0
-2
0
18
-2
-21
4
0
-33
0
0
0
-3
-2
1
-46
16
0
0
0
0
0
-1
0
4
4
0
-2
-2
-10
0
0
-18
-15
12
0
-18
0
-11
-27
0
23
0
-24
0
5
23
6
5
-1
-22
2
-59
-58
-4
-1
-3
12
0
-1
11
-38
-2
0
-21
0
-76
13
0
-53
0
-27
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
-33
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-26
7
0
0
-1
-30
0
0
-1
0
0
0
-38
0
0
25
0
0
0
-10
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
-44
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
4
-66
0
0
0
0
0
0
-22
1
0
0
7
0
0
-21
0
0
-1
0
0
0
-21
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-6
0
1
1
1
0
26
-27
0
0
1
0
0
0
4
0
2
-2
0
0
0
8
0
0
0
0
0
0
33
0
-12
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-43
0
0
0
0
0
0
-9
0
0
0
0
0
0
12
0
0
0
0
0
0
10
0
0
2
-1
0
0
-24
0
0
0
0
0
0
-10
0
0
-1
0
0
0
-19
0
0
0
0
0
0
-13
0
0
0
0
-1
0
-47
0
0
0
0
-3
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-43
0
0
0
0
0
0
35
0
-1
0
0
0
0
-3
0
0
-1
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
-2
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
-4
0
0
5
38
0
-30
-18
0
0
18
-50
0
0
31
0
0
-11
-68
0
0
1
0
0
-1
-1
0
-1
-17
0
0
-1
24
0
2
8
-1
0
0
-3
0
0
0
0
0
0
-23
0
0
0
0
0
0
-18
0
0
2
0
0
0
-7
0
0
0
0
-10
0
-32
0
0
1
0
8
1
28
0
0
-10
0
-4
4
-74
0
0
32
0
15
0
12
0
0
14
36
-2
2
-60
0
0
0
0
0
0
-30
0
0
0
0
51
0
28
0
0
0
0
0
0
-9
0
0
0
0
0
0
-9
0
29
-4
0
0
0
-10
0
7
-1
0
-4
0
-41
0
-4
-2
0
0
0
-17
0
0
42
1
-6
0
-25
0
12
0
0
0
0
7
0
-2
0
0
0
0
16
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
-31
11
38
0
27
3
-7
-2
55
0
0
19
-7
0
1
-5
-43
0
12
-31
-4
-12
-4
-16
0
10
0
-2
8
3
-3
0
24
-4
0
0
13
-1
0
21
-25
-10
-56
7
-42
0
-11
-6
0
-10
32
18
0
0
-2
8
31
0
6
0
-1
-7
0
0
-7
0
0
-63
-3
-7
-4
-15
-9
0
41
-6
10
11
3
0
0
-44
-7
17
-29
13
35
0
24
0
0
11
12
-1
-3
22
-6
3
15
-10
-54
0
-47
-13
-7
0
5
37
0
8
-13
-1
-16
18
9
0
0
19
31
1
-1
0
0
0
-6
28
0
-3
34
0
-2
24
-2
-13
68
-1
0
42
-22
0
24
-4
-6
0
-6
-8
-3
-28
8
3
0
-46
-9
12
64
19
-19
0
-33
-31
12
-11
32
1
0
20
-15
2
-6
-14
-14
0
7
7
4
17
84
0
0
0
-33
26
-3
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-27
3
0
26
-6
0
0
58
81
0
0
2
0
0
0
-49
0
0
-14
-9
0
-3
37
0
0
-9
0
0
0
34
0
6
2
0
0
0
-13
0
0
0
0
0
0
-36
7
0
0
0
0
0
17
0
0
0
0
0
0
4
0
1
0
0
0
0
-26
0
0
0
0
0
2
27
0
0
24
8
0
0
13
0
0
-10
0
0
1
61
0
0
0
0
0
0
66
0
0
1
0
0
0
23
0
0
0
0
12
0
-32
0
0
0
0
0
0
3
0
0
0
0
0
0
-11
0
0
0
0
0
0
8
0
0
0
0
0
0
12
0
0
0
0
0
0
43
0
0
0
0
0
0
9
0
26
-8
0
0
0
3
0
-1
0
0
0
0
33
0
2
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
20
1
-46
70
31
6
-20
-5
1
-69
6
2
7
-17
3
6
-11
-12
22
-19
40
12
0
-5
-12
0
7
24
9
4
47
10
-3
6
-4
-10
-5
-32
8
-12
5
-17
30
-8
-8
1
-19
-30
0
-14
5
-13
9
-26
56
7
18
0
-36
-40
-15
-9
34
4
0
-2
19
-16
-22
-7
9
1
9
-21
-1
-50
4
35
-4
10
14
9
-13
13
-14
-6
25
-6
-5
-11
-8
-12
-4
25
-26
-7
-5
9
-43
-1
-9
14
8
20
-8
-8
3
-57
-17
9
18
6
7
-19
13
27
-15
3
10
-46
0
-33
23
-24
-18
-54
-3
0
12
-13
24
-29
-26
-33
-8
21
-25
-7
28
-46
2
5
30
-23
1
-35
24
-4
-2
-1
-40
14
15
-5
-10
8
19
21
-1
-4
5
-29
-1
10
-25
-2
-3
0
-20
5
23
21
11
-19
21
25
-15
3
-7
31
-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
85
-23
1
-8
-52
0
-3
-23
-19
0
-9
-26
-47
0
3
-17
0
40
-17
-1
0
55
-27
0
0
-28
4
-16
-6
-42
0
3
18
0
0
40
35
2
-4
49
9
0
4
13
0
0
5
-4
23
3
22
-14
-12
0
9
8
0
8
0
1
0
1
6
10
-2
9
-1
10
85
-19
-28
-5
0
0
14
0
4
-12
-9
0
26
3
-25
0
-23
-9
11
3
-18
6
32
-36
-33
2
20
-20
-14
-25
-8
28
0
20
10
-3
-2
0
-26
0
0
-34
5
-3
0
-2
-1
0
0
-1
0
0
25
0
0
0
0
0
0
-17
0
12
0
11
0
25
-12
3
10
-45
-54
2
12
-14
0
14
5
-12
0
8
-63
0
4
-7
30
1
-2
-19
0
-26
-19
4
-2
10
78
-9
0
35
-39
0
-3
37
0
-6
7
0
-39
0
7
14
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-15
0
0
-4
3
0
53
-9
2
-3
8
-8
0
27
13
0
-15
-49
-1
4
20
-2
0
0
-21
-54
-3
-31
-28
0
0
-44
10
0
-2
42
0
-2
-49
-13
0
-2
17
0
0
6
0
-8
0
2
9
1
0
-11
-1
0
-32
0
8
-3
0
0
-1
-29
0
-1
-1
49
15
-13
-15
0
0
38
0
-6
-10
-5
0
0
28
-24
0
2
6
1
21
-25
-7
-4
8
-7
4
0
-17
6
-16
0
9
2
5
-67
0
-5
0
5
0
0
-37
-67
-5
0
3
6
0
0
-4
0
0
-62
0
0
0
0
0
0
8
-4
0
0
0
0
0
-16
0
-4
16
0
2
0
-14
0
0
71
-18
0
0
21
-1
-1
-5
-1
0
5
-32
0
7
5
0
0
0
10
0
-2
-40
-13
-1
0
-9
0
23
5
0
14
0
-7
52
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-6
53
0
-2
-1
12
0
4
-4
0
0
23
0
0
-14
-27
0
0
30
4
0
-11
-6
0
0
61
0
0
0
-57
0
-29
4
39
0
0
18
0
0
0
0
32
0
10
-17
16
0
0
0
0
-51
-11
0
0
0
0
0
-8
0
0
0
2
0
-1
-14
0
0
0
0
0
37
21
0
0
6
12
3
-1
-23
0
9
-19
0
-6
0
-19
0
0
-24
28
1
0
-30
0
16
-9
0
-19
0
-3
0
0
-18
-24
8
0
-18
0
0
0
0
0
0
-59
-3
0
0
0
0
0
-23
0
12
0
0
0
0
91
0
0
0
0
0
0
43
0
1
10
0
0
0
1
0
0
25
-2
6
0
-19
0
11
4
0
0
0
-5
0
11
0
0
6
0
17
0
-13
2
0
-4
0
-36
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
37
0
0
19
0
2
-6
-66
0
54
-26
0
0
25
-46
0
0
-37
0
16
-13
-40
0
0
-2
0
6
20
10
0
4
11
0
6
8
-14
0
-21
5
0
-1
-4
21
4
-4
20
0
12
0
-14
4
53
0
-2
0
0
-22
0
0
0
0
0
-6
36
0
0
4
0
-30
44
-11
0
0
44
0
15
7
-52
0
0
-24
0
0
32
-24
0
1
5
0
33
-10
-12
0
-2
1
0
26
-1
3
0
-13
12
0
41
0
13
0
0
68
0
6
0
-1
0
0
0
0
-9
0
-54
0
0
0
0
0
0
34
-4
24
0
0
28
-1
-13
0
0
16
0
0
-1
-32
0
101
-40
0
0
0
-11
0
0
18
0
10
0
-6
0
32
17
0
5
0
-1
0
0
11
0
15
0
-7
0
-21
0
0
60
0
-27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
1
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
-7
0
0
0
18
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
-16
0
0
0
0
0
-4
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
-7
1
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
4
-7
-21
-3
-36
10
-2
0
-9
0
10
-9
1
-3
0
-19
40
-14
0
-10
0
19
-15
-8
-16
9
2
0
-14
-27
-4
4
-9
-10
27
0
2
0
-25
0
25
-16
-11
0
6
-1
0
7
-5
1
-8
2
2
-3
27
25
-20
40
4
7
-1
16
-1
-19
6
-6
19
-27
9
19
-8
28
77
58
-41
19
-4
-4
10
35
-44
-5
-7
-7
-47
-21
55
-20
6
18
0
10
22
0
14
0
-12
0
22
43
36
6
0
6
11
-36
0
11
19
0
-10
-7
0
-1
5
0
0
-7
-7
12
22
0
1
1
0
0
-7
19
7
-19
0
7
2
2
8
0
-14
-1
21
8
16
6
40
-25
9
-4
0
-34
-1
-12
-6
-12
-1
0
23
14
29
32
-3
3
15
21
11
32
52
0
9
-15
7
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
-2
14
-36
0
2
-27
53
-1
-4
48
1
-23
-61
39
23
6
-22
-25
12
4
4
3
-6
72
-12
0
21
2
19
-4
35
-7
-3
-3
22
-3
-5
-26
16
-8
-19
-1
12
2
9
-4
13
22
-1
9
0
-6
-38
-3
-25
-16
-7
0
9
-30
24
14
-6
-43
9
4
-1
18
5
-4
-9
6
51
-6
-2
-17
-1
20
0
7
26
-3
-40
-7
-1
3
-11
18
-1
-5
12
-34
-3
46
-47
-11
40
-15
-20
13
-11
7
-17
-9
-7
-55
-3
7
-19
10
-55
-20
-6
-1
-5
-83
-14
-44
-20
-49
0
-23
19
-45
34
8
-11
-9
-7
57
-15
11
0
2
-2
31
12
-2
-28
34
-42
-7
-17
-43
-3
-18
-13
20
5
26
10
-2
-5
31
-34
-7
-18
-13
-6
17
-39
-33
3
-31
5
-6
-21
-19
-27
5
-9
-17
-20
33
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
26
0
-6
6
0
0
-7
-94
0
0
98
0
0
-3
36
0
0
29
0
0
3
13
0
0
-1
0
0
0
-20
0
19
-4
0
0
0
42
0
0
0
0
0
0
-25
0
0
0
0
0
0
14
0
0
0
0
0
0
-8
0
0
1
1
0
0
38
0
0
0
0
0
0
-14
0
0
7
0
0
10
20
0
0
1
0
0
0
15
0
0
4
-1
0
0
-27
0
0
0
0
0
0
37
0
0
0
0
0
0
84
0
0
0
0
-2
0
-4
0
0
0
0
0
0
15
0
1
0
0
0
0
55
0
0
0
0
0
0
37
0
13
0
0
0
0
-1
0
0
15
0
0
0
9
0
-5
0
0
0
0
-7
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
-6
-2
0
-12
25
-1
0
4
-44
0
0
22
0
0
0
-14
0
0
-1
-9
0
7
16
0
0
0
0
0
0
0
0
26
13
0
0
0
5
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
23
0
0
16
0
0
0
20
0
0
0
2
0
0
20
0
0
0
0
0
0
-26
0
0
-6
-1
0
0
4
0
0
0
0
0
0
3
0
0
0
0
-2
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
3
0
0
0
25
0
6
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-9
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
0
0
0
0
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
-8
-58
-7
0
-18
16
0
-3
38
-2
-1
5
-4
-4
-14
12
26
-3
-39
11
0
-4
0
2
-2
1
13
0
-7
-16
9
2
-36
8
0
-7
16
-6
-6
0
-2
9
-21
0
-4
0
3
10
14
0
0
-14
-2
3
36
0
2
4
-34
-2
-21
36
2
0
46
6
33
-37
20
17
-42
-15
11
-37
6
-2
1
23
19
7
2
-25
8
0
15
-7
-3
30
25
13
0
10
1
-6
30
0
3
0
8
22
-36
8
0
-5
1
-12
0
50
-1
4
19
-4
0
0
-9
1
0
11
9
-16
14
3
0
2
45
0
-20
31
-1
9
0
15
1
-20
-25
-1
-14
-2
3
0
-12
-35
68
15
0
-12
0
-22
42
26
-37
2
0
0
4
52
25
18
1
21
0
-6
4
0
-12
0
-1
-13
-3
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
4
8
0
-106
-15
0
0
-1
-5
0
0
47
0
0
0
-1
0
0
2
0
0
0
3
0
0
-2
0
0
-7
-14
0
9
-4
0
0
0
7
0
0
4
0
0
0
46
12
0
0
0
0
0
-67
0
0
0
0
0
0
-36
0
0
0
0
0
0
-17
0
0
0
0
9
0
2
0
0
16
0
0
2
-15
0
0
-4
0
3
0
-16
0
0
-11
0
-6
0
-12
0
0
0
0
0
0
50
0
0
0
0
32
0
-16
0
0
0
0
0
0
-4
0
0
0
0
0
0
10
0
0
0
0
0
0
14
0
0
0
0
-3
0
-1
0
0
1
0
0
0
-1
0
0
0
0
0
0
1
0
9
0
0
0
0
-26
0
0
2
0
0
0
14
0
-3
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
-3
-40
0
-24
-8
-19
0
-27
-27
0
0
-38
0
0
15
0
0
0
17
0
0
-6
-35
0
0
22
0
0
-18
4
0
-2
-17
0
0
-6
-43
0
0
6
0
0
0
-29
0
6
0
0
0
0
3
0
0
0
0
0
9
65
0
0
0
0
0
-6
49
0
2
7
0
0
1
13
0
0
13
14
0
-7
0
0
9
-19
0
0
4
44
0
-2
2
0
0
-6
-21
0
0
-1
0
0
3
-95
0
0
-1
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-9
11
0
0
0
88
0
0
-6
0
0
0
-34
0
13
-3
0
0
0
-20
0
0
-8
0
0
0
16
0
-6
0
0
0
15
39
0
0
-13
-15
0
0
-19
0
-21
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
16
3
20
9
27
4
16
21
-12
-13
-15
-39
-19
-17
-4
-1
13
-19
-22
7
-59
18
3
15
-22
-12
39
41
-21
-7
1
-47
-2
-13
0
31
-38
37
0
18
37
0
-12
31
0
6
-38
1
21
10
-20
-63
-43
58
-46
-50
0
41
12
-8
-16
29
57
9
4
-7
-17
15
3
25
0
-8
2
9
48
-34
-3
-8
20
5
-4
-6
-2
-15
10
0
72
-50
-5
-26
-8
-6
-1
-11
-10
1
16
0
5
-33
18
-1
19
17
0
-15
-40
21
50
59
0
0
-23
8
39
-1
-3
-39
8
10
7
-13
-9
-41
34
-39
-7
-1
-20
52
-15
-23
15
6
6
26
5
16
16
-4
-12
1
29
9
-3
-11
3
19
-29
30
-3
54
-32
0
17
0
55
55
6
11
0
13
-9
2
-25
-7
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
24
-5
-2
-27
-5
30
8
-16
6
23
32
-30
14
-13
0
32
24
22
-29
21
-5
11
-4
44
1
21
19
1
12
1
13
5
7
0
-2
-10
-82
-8
-43
23
4
3
-33
-3
-47
-13
5
5
-5
-6
1
1
13
-32
-50
0
-53
-18
-19
-42
-36
54
0
-36
0
-11
11
21
-3
13
48
-50
17
-28
-59
4
-2
3
6
14
16
9
41
-17
2
28
0
-4
-12
-69
-14
12
6
13
19
-10
0
16
-5
-10
9
-20
-42
0
-22
12
-6
-1
18
8
0
7
2
45
5
-19
-16
39
0
-7
31
19
-13
-34
0
-25
-3
-17
-2
52
42
10
0
8
14
-5
-1
-30
-10
-30
13
-19
11
23
46
-38
10
5
39
17
-18
-29
7
-18
3
-3
13
-12
-9
-1
26
36
-5
20
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
5
48
0
0
-2
0
0
0
-35
0
0
1
1
0
1
-1
0
0
3
0
0
0
-8
0
-21
0
0
0
0
2
0
0
0
0
0
0
28
0
0
0
0
0
0
-10
0
0
0
0
0
0
17
0
0
0
0
0
0
-49
0
0
0
0
0
0
-37
0
0
0
-2
0
0
-5
0
0
3
0
0
0
-27
0
0
-8
0
0
0
-21
0
0
0
0
0
0
-9
0
0
0
0
0
0
33
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
7
0
0
0
0
-4
0
-3
0
0
0
0
6
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
39
24
-1
-63
10
21
-14
-43
-13
-3
-1
40
-2
2
18
0
10
7
-35
-22
11
-5
3
-19
3
8
-22
1
-2
18
24
5
44
0
2
-35
-16
37
24
-24
-36
13
-53
1
6
28
-8
-3
10
51
61
20
-12
17
-2
-11
19
-5
9
6
18
3
-15
33
-31
-1
-7
14
4
-14
19
-20
-13
14
4
6
5
-2
-1
12
28
-4
-28
2
44
-28
-25
11
2
50
-7
-23
59
-33
7
16
-7
12
-16
24
-10
-14
1
-2
9
42
55
-30
-61
-7
-17
-7
10
-16
-10
-12
-11
12
-5
15
26
5
15
-27
1
-8
-27
3
-1
-39
58
5
-1
-36
2
2
-10
21
4
-13
21
-16
27
-43
14
-22
-9
-10
13
-3
-27
-6
-10
-3
20
33
-21
-19
-10
-1
-1
-37
-16
-3
-50
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-88
40
22
31
-5
9
16
32
2
-5
7
-9
10
-19
-11
22
4
-48
12
15
30
2
13
3
-26
-16
15
-60
36
37
-2
-4
0
4
13
4
-1
36
-29
44
-1
11
25
-6
6
19
3
7
22
36
-37
-16
30
-18
-10
-24
15
17
-49
-14
-39
3
-4
-38
-17
8
-21
5
14
-29
3
17
36
6
3
15
-44
13
17
-2
-44
33
17
-32
18
32
-4
26
-47
13
-12
27
30
20
1
-3
7
-3
44
-27
41
5
-6
5
45
4
5
-57
-28
11
-47
0
-1
59
4
51
3
-5
2
29
-40
-30
-43
-10
-13
-17
-1
17
-84
-5
18
10
-1
14
-3
-2
19
-11
2
24
-29
17
-7
-6
8
19
-7
-21
16
3
35
35
1
27
10
12
-1
9
-1
6
-14
-26
-16
18
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
1
-47
-8
0
15
-34
0
-3
-19
-4
0
-2
-1
10
16
1
-16
0
16
-11
0
39
-2
10
-2
-14
-32
0
-8
0
0
-26
-31
0
0
10
0
-1
-26
10
-6
-6
9
-27
-1
-3
-1
-36
0
-50
35
-7
0
26
29
0
-66
-9
-2
-1
0
0
8
-17
-13
3
0
54
15
0
23
8
1
-3
35
-3
15
-8
-16
-11
0
5
-19
1
36
-8
6
0
27
-7
3
-3
0
-4
-11
8
-4
21
-16
0
-5
-4
0
-7
0
-16
1
-11
0
43
12
0
12
33
-7
0
-20
7
0
-22
17
0
0
2
0
4
37
13
-21
0
-21
-17
-8
79
-7
-2
0
9
8
0
-2
1
15
0
-8
-9
0
13
-16
2
0
36
-9
0
8
0
-28
18
7
26
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
3
-28
0
0
-7
0
0
-1
18
0
0
3
2
0
0
-26
0
0
-10
0
0
0
-23
0
-30
6
0
0
0
7
0
0
0
0
0
0
29
9
0
0
0
0
0
15
0
0
0
0
0
0
2
0
0
0
-1
0
-1
53
0
0
6
0
0
3
8
0
0
-2
-4
0
-1
27
0
-1
-6
-8
0
0
38
0
10
12
-7
0
0
34
0
0
0
0
0
0
37
0
0
3
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
-21
0
6
0
0
0
0
-35
0
0
0
3
0
0
72
0
-17
0
0
0
0
-11
0
0
-1
19
0
0
-5
0
-3
0
0
0
0
73
0
0
3
0
0
0
-6
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
10
7
-3
4
3
22
0
-12
7
-18
21
-18
-9
-13
-8
18
-39
2
10
2
11
14
-2
-33
-29
-5
23
6
0
15
-28
-26
4
32
41
3
1
15
-5
-32
16
-6
48
1
9
-34
-18
50
29
18
7
4
30
-7
-58
45
-4
6
7
25
16
33
-18
3
-12
58
3
-3
-18
30
-8
2
44
-38
1
11
15
20
15
-36
3
12
-54
1
21
2
30
28
10
14
18
-2
3
-9
7
-19
-37
17
-4
-30
-39
-22
8
-14
-6
66
17
10
-24
-13
-11
-25
-24
-4
-4
-14
31
-3
13
-50
-4
13
15
-5
-11
5
21
-10
-18
27
20
15
-2
28
10
4
-2
12
34
1
99
-5
36
11
2
9
3
7
5
-17
14
4
-1
10
-8
-3
45
3
-15
7
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
-18
-10
40
-9
-9
-4
-48
16
-1
16
-59
0
-4
-23
-20
-24
-6
-3
-5
-21
-22
13
-9
32
-69
13
4
-21
-21
-5
-16
18
-20
-21
20
-9
6
23
-67
-33
-40
27
20
0
33
24
11
20
-11
17
1
-113
-27
-11
-18
-23
-1
0
10
-9
24
13
49
-2
-25
-4
3
6
60
23
15
3
38
-37
9
-16
-42
16
-3
26
6
4
-34
-28
-28
5
-9
-56
16
11
-1
-15
7
14
-36
-52
-3
16
-44
3
-4
-25
31
-45
19
-5
-2
11
-1
-48
13
8
33
2
-5
52
6
54
-10
2
0
39
25
-9
13
16
-41
-10
35
-14
8
-9
-10
-63
13
-17
-5
-36
14
7
-1
6
22
-5
-11
1
-13
-49
0
36
-14
13
-26
-14
45
7
17
3
52
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
-60
0
0
-1
-1
0
-2
-23
0
0
-18
0
0
0
-40
0
-13
-3
0
0
0
-9
0
0
0
0
0
0
22
3
18
0
0
0
0
-11
0
0
0
0
0
0
-6
0
-1
8
0
0
0
-33
0
0
2
0
0
0
-27
0
0
3
0
0
9
-55
0
0
0
0
0
-1
3
0
0
15
2
0
0
81
0
0
0
0
0
0
6
0
0
0
0
19
0
36
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
8
0
0
-4
0
0
0
-9
0
0
0
-4
0
0
2
0
10
0
0
0
0
-22
0
0
0
0
0
0
-4
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
-20
0
-8
-11
0
0
6
0
-16
12
1
0
1
-5
-3
-3
0
-8
0
0
0
0
0
0
-36
-3
0
0
0
0
-1
4
-1
0
0
0
0
-2
-106
0
0
0
0
0
0
-28
0
0
2
0
0
2
-6
0
0
-1
-1
7
8
-67
2
-6
-2
-1
0
0
26
0
0
-4
2
1
0
43
0
0
-6
0
0
0
28
0
1
0
0
0
0
-72
0
0
0
0
0
0
2
0
0
1
0
0
0
15
0
-8
0
0
0
0
6
0
1
3
-1
0
0
23
0
3
0
0
0
0
-24
0
0
-6
-3
0
-1
39
0
29
-15
0
0
4
-5
0
0
-2
0
0
0
-36
0
2
-4
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
-11
1
-16
39
26
5
-16
2
-13
0
26
-10
-32
22
-36
-1
-4
-6
14
-26
8
-22
0
-9
0
-29
-12
-18
2
3
-10
47
-1
31
-30
-3
20
28
58
-10
24
-13
-21
-18
34
-77
35
-9
-30
12
5
12
-14
-1
29
25
-2
8
47
-20
29
27
-6
19
-15
1
-8
-5
-16
-5
-21
16
18
-25
17
13
20
1
16
-11
20
9
-3
25
-39
-3
17
16
40
23
-1
-1
9
-23
-48
9
-7
5
0
6
-31
0
4
-56
1
-10
-29
36
9
-2
8
89
16
21
6
44
25
32
19
-65
-11
-11
-33
9
-25
0
10
-5
6
-27
11
-1
-11
-28
10
-1
-9
13
7
1
28
11
-1
13
32
38
30
-44
-3
-1
7
-15
-13
10
-2
18
-4
20
39
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
1
48
0
0
11
0
0
-4
-36
0
0
43
0
0
-8
-3
0
-2
37
-4
0
0
-16
0
0
0
0
0
0
23
2
0
0
0
0
0
-49
-6
0
0
0
0
-6
24
0
0
0
-3
0
0
-5
0
0
-1
0
0
18
-20
0
0
13
0
0
0
-37
0
1
-10
0
-6
-8
46
0
0
29
0
0
-7
-4
0
0
-2
0
0
0
6
0
0
0
0
22
0
12
0
0
0
0
0
0
38
0
0
0
0
0
0
44
0
0
0
0
0
0
14
0
3
-4
0
0
0
-126
0
2
-3
0
0
0
44
0
0
1
-8
0
0
-20
0
-21
-1
0
0
0
5
0
0
-4
0
0
0
-20
0
17
0
0
24
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
53
0
0
47
0
0
21
-43
0
0
-13
0
0
0
-25
0
-2
3
-7
0
0
15
0
0
0
0
0
0
-4
2
0
0
0
0
0
13
0
0
0
0
0
-3
-2
0
0
0
-4
0
-43
6
0
0
23
0
0
-8
15
0
0
8
0
0
-25
0
0
-2
9
0
0
-4
8
0
0
1
4
0
0
-16
0
0
0
0
0
0
-14
0
-1
0
0
0
0
-61
0
0
0
0
0
0
-41
0
0
0
0
0
0
45
0
3
0
0
0
0
23
0
0
11
0
0
0
-12
0
-24
0
0
0
0
-12
0
-3
9
-11
0
0
6
0
-19
9
0
0
0
-44
0
0
-9
0
0
0
-38
0
24
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-47
-41
-3
1
-17
-11
-10
-18
-17
25
-7
-19
-2
-4
23
-8
24
0
9
-34
-39
0
34
8
-19
21
-44
-10
6
-4
-2
-21
15
-13
43
-25
52
8
-90
2
0
50
-31
-3
10
-2
3
7
10
-5
10
51
11
-13
-13
5
-13
-4
-2
-77
-4
-8
52
-15
3
42
32
1
3
-6
-6
0
-30
-1
-11
14
-7
-26
6
-2
2
-7
22
9
0
6
37
0
-31
-31
0
16
-21
0
-1
6
10
11
15
8
-12
-4
22
0
-10
30
28
-3
-1
17
-2
17
-29
21
0
0
-25
-1
21
-28
39
-1
-11
4
9
-15
17
-4
3
7
-15
-7
13
-15
-25
2
-19
-11
0
-1
-19
0
49
0
-3
10
33
12
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-28
-16
8
-41
5
-16
4
39
-20
-15
13
-40
-17
1
-19
-2
-19
-30
-24
0
-10
-12
-5
17
-11
-59
1
9
-14
39
-4
8
-43
12
9
38
-2
13
-16
-28
-10
1
-10
-5
-4
15
-20
27
16
-17
9
-8
10
9
-3
0
-26
-42
-9
24
6
-1
10
87
-1
9
25
17
-10
-1
22
0
4
-12
4
-10
4
18
69
-12
21
-7
43
11
2
-87
-11
24
20
35
-1
0
-8
9
-11
31
-22
0
37
-5
29
35
-50
26
9
22
-21
-7
-15
27
-32
8
45
-14
4
-11
10
42
0
46
38
22
14
35
-45
9
84
-17
-8
2
14
-20
0
-11
-69
-27
21
25
10
-5
-40
-50
-2
22
-3
40
-2
3
-4
-13
-22
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
67
0
0
-21
0
0
-2
-1
0
2
22
-1
0
0
-26
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
0
0
0
0
9
0
0
-3
0
0
-7
-2
0
0
0
0
0
-2
-34
0
-1
-7
0
0
-2
-5
0
0
-6
0
0
-2
-32
0
0
20
-1
0
-3
-18
0
0
-6
0
0
0
8
0
0
0
0
7
0
9
0
0
0
0
0
0
-16
-3
0
0
0
0
0
-9
0
7
0
0
0
0
21
0
0
0
0
0
0
-6
0
0
-2
0
0
0
-4
0
0
-3
0
0
0
20
0
1
0
0
0
0
43
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
20
0
0
-20
0
0
13
-2
0
28
43
0
0
0
35
0
0
-3
0
6
0
-28
8
1
0
0
0
0
-11
0
0
0
0
0
0
16
1
0
-3
-1
0
-2
9
0
0
-3
0
0
0
-29
-1
0
1
9
0
-7
5
0
0
-4
0
0
-2
48
0
2
-34
6
0
-10
-40
0
0
-1
0
0
0
-54
0
0
8
0
-8
0
-14
0
0
0
0
0
0
-47
0
0
0
0
0
0
-1
0
-8
0
0
0
0
-3
0
0
7
6
0
0
8
0
7
-13
0
0
0
-43
0
0
0
0
0
0
-38
0
28
-4
0
0
0
28
0
0
0
0
0
0
-1
0
-17
0
0
-8
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-6
-1
7
3
81
-6
-62
-10
0
8
2
-18
35
-2
-6
5
-6
46
49
-22
0
17
-37
-32
0
-31
-44
-26
5
10
-1
1
-27
-11
-52
10
11
69
18
-15
-20
0
-6
7
-7
11
-26
-3
-8
0
43
-28
-2
8
0
-3
-12
44
-41
1
-37
-32
18
21
-8
36
27
-12
36
-19
2
1
-23
-27
81
7
9
-12
7
32
33
16
8
0
22
-46
-4
-3
-27
41
1
-4
13
22
19
24
7
-12
-11
88
6
16
-4
-10
21
1
-1
-17
-17
-57
0
-12
-5
-2
-22
17
-101
-55
0
-1
-21
-27
-6
13
1
-23
-4
-3
13
1
-9
51
6
21
20
42
-16
5
39
-18
-8
10
-10
41
-15
-18
11
21
10
14
35
-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
-17
-23
0
-1
6
-3
-8
-2
-23
-4
26
-24
0
-36
0
13
1
9
0
0
-6
0
15
2
-51
0
0
-15
-4
-9
-1
0
-3
0
24
36
-9
-3
-12
4
24
22
24
9
0
5
7
12
63
0
6
0
-10
1
0
6
-15
19
0
-10
21
0
21
-27
5
0
-22
20
-12
-9
6
-18
-3
45
51
0
60
0
22
0
-11
-9
0
28
0
12
21
-2
9
0
-28
0
-21
19
0
-6
1
0
6
-43
7
-1
-28
0
38
6
30
0
4
-38
0
4
33
16
0
-14
6
-13
0
-6
-9
0
42
-20
1
7
14
1
0
25
23
0
-7
-7
-9
-2
6
-13
0
42
-3
5
-3
21
-26
0
15
0
12
32
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
24
27
0
-11
40
0
0
-2
-41
0
-53
7
22
0
0
-5
0
0
0
0
0
0
-4
51
0
0
0
0
0
55
0
0
0
-1
0
0
4
0
0
-2
-2
0
-3
-33
0
0
-46
0
0
-11
6
0
0
-7
-46
0
-1
6
0
0
14
-1
0
0
-4
0
0
-2
-22
0
0
-5
0
0
-6
0
0
0
-34
0
0
0
9
0
0
-31
-9
0
0
0
0
0
-60
0
0
-3
-4
0
0
-2
0
9
-2
0
0
0
-39
0
1
23
0
0
-15
3
0
6
11
0
0
-3
35
0
-7
50
42
0
-2
46
0
-44
-6
0
0
0
-23
0
0
-13
0
0
0
41
0
-10
0
0
0
0
-19
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
17
7
17
15
9
18
21
0
-5
0
8
16
-8
-18
0
8
-37
7
0
-5
-1
1
17
58
-3
0
0
-4
43
-8
-12
-15
7
18
-37
-4
0
0
-1
-2
0
7
-42
23
-1
-55
1
1
42
-17
-1
49
45
8
6
-3
-9
10
-15
24
-9
19
-9
3
-6
32
-1
-19
1
13
6
-5
0
34
-24
-49
0
-4
1
4
0
10
3
11
1
13
69
0
30
-57
0
2
-15
13
28
-46
0
14
15
2
0
-16
31
12
-13
2
26
-3
-27
-13
16
-2
-1
-5
-10
14
7
-11
27
8
-13
-16
5
-8
-1
0
-2
-3
0
8
-71
27
6
-3
9
0
21
-45
0
16
3
-14
33
-13
1
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
0
0
0
0
0
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
-14
1
0
-24
6
1
48
-32
4
21
-44
-8
-1
8
-14
-48
-31
-42
-31
1
-18
-4
50
10
-3
15
-11
38
-64
-7
12
-27
4
-9
-12
12
13
39
-11
-8
12
22
-21
3
-11
1
7
0
13
1
8
12
-4
11
0
-27
-11
7
6
-3
1
1
-11
-16
11
37
20
41
16
2
-37
18
-24
-11
-59
8
14
-5
-27
-43
-12
-31
19
16
40
49
32
-35
-51
-10
-33
21
-6
11
-1
4
-2
-39
3
-19
8
-1
-4
9
20
-15
-4
-18
-35
-49
-6
10
-4
-25
1
-26
-26
0
26
1
-15
9
-11
10
3
14
12
-1
14
-11
12
-6
-6
-15
-30
-25
6
-62
9
6
21
10
1
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
32
0
0
0
0
28
0
0
0
0
0
0
36
3
-2
0
0
0
0
-57
0
0
0
0
0
0
-21
0
0
0
0
0
0
11
0
0
0
0
0
0
39
0
0
-7
1
0
0
-6
0
0
0
0
0
0
-13
0
3
0
0
0
0
-6
0
0
1
0
0
0
10
0
0
0
0
0
0
50
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
6
0
0
0
0
6
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
-9
36
0
7
38
0
0
0
-1
0
0
-32
-25
0
0
0
0
0
22
0
0
0
0
0
0
-17
0
0
-1
0
-9
0
5
0
0
27
0
0
-7
-23
2
0
1
16
-2
1
-53
0
0
31
0
15
14
-16
0
-6
8
6
2
-6
21
0
0
9
0
0
-8
-27
0
0
0
3
37
0
-1
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
-22
0
0
0
0
1
0
0
0
0
0
0
-8
0
-5
-10
4
0
0
-53
0
-1
-8
-8
1
0
-32
0
0
-13
0
0
-2
-6
0
0
1
0
0
0
52
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
31
11
7
-31
-3
7
-6
17
-3
-1
0
6
-7
-94
0
-25
25
-2
0
37
-1
10
-13
-3
-51
2
54
76
29
17
-5
-1
13
2
7
11
-7
4
-57
19
0
0
-2
9
12
-19
-2
-12
-6
14
4
-9
3
0
-1
-22
-16
16
10
32
-3
-15
10
-15
1
-14
40
-10
0
-6
-8
13
1
1
9
-16
16
-1
42
2
-1
16
18
-2
3
15
8
54
-11
43
-31
-6
-4
-3
-34
3
-7
-51
32
27
-16
44
4
0
-46
-52
25
-48
27
9
-6
24
4
20
9
69
-18
25
-10
-7
41
-20
-9
22
8
2
-15
71
34
42
-5
-7
0
-39
-2
-1
0
6
-25
-9
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
39
4
0
0
-2
-40
0
0
0
0
0
0
35
0
-1
0
0
0
0
-23
0
0
0
0
0
0
52
0
0
0
0
0
-11
-69
0
0
0
0
0
3
-28
0
11
21
0
0
0
-31
0
0
-23
0
13
0
-40
0
0
21
0
0
7
35
0
0
-11
0
0
0
-4
0
0
4
0
-8
0
-34
1
0
0
0
0
0
-7
0
0
0
0
0
0
-53
0
12
0
0
0
0
22
0
0
1
0
0
0
-10
0
25
13
0
0
0
-17
0
0
4
19
-1
0
-7
0
-1
0
0
0
0
-46
0
0
0
0
0
0
-2
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
-7
-10
0
0
-26
0
0
-1
0
0
0
7
0
0
0
15
0
0
3
0
0
0
0
0
3
-44
0
0
23
26
0
-11
-12
0
0
-20
0
0
40
-3
0
0
-27
42
0
0
10
-4
-17
27
0
0
-3
3
0
-2
43
26
0
3
-15
0
9
-9
0
0
0
-52
0
0
3
-9
0
0
-28
2
0
0
0
0
0
0
-1
0
0
0
0
0
7
0
-5
0
0
0
0
-28
0
6
-5
-1
0
0
-19
0
21
5
0
0
-4
6
-1
0
11
4
0
2
-43
0
-10
36
0
0
-1
-44
0
-4
-10
4
0
0
-40
0
41
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
-2
0
-26
6
-2
0
4
0
0
-18
2
2
0
1
0
15
22
0
-2
-4
8
22
6
-4
0
6
69
0
49
0
-8
0
13
28
-17
7
-3
5
1
13
0
-14
-12
0
14
6
-2
-46
-3
-2
0
11
0
-18
19
0
-11
3
-2
1
-1
1
0
1
0
0
34
0
0
0
14
2
49
-3
0
7
0
0
4
35
0
34
6
9
0
3
-16
0
-7
43
35
0
0
22
0
26
-87
13
0
0
-36
4
3
-16
16
1
0
25
0
11
-8
-7
3
0
-18
0
1
0
-37
0
0
-25
0
4
0
0
-21
0
23
2
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
46
-12
69
-19
-17
37
18
-1
0
-17
12
-1
-13
50
-4
3
20
-7
-27
27
-73
43
-2
-20
8
-4
-6
-16
17
-7
4
7
6
9
14
-5
-3
52
-7
-1
-23
-87
-9
-2
-37
-30
-9
-44
-34
7
-12
28
38
-8
-22
-13
-9
0
-52
-47
-21
31
-35
17
13
51
-14
3
-75
-28
-2
6
-6
-8
-41
-115
-53
-1
14
29
4
-59
19
7
-24
-1
-13
-7
15
-46
-46
35
-2
-12
-52
-4
-8
9
-58
11
1
43
32
26
21
8
-7
-2
-11
-29
-5
-51
-25
-10
4
67
17
-2
-29
-29
0
14
-7
75
3
-30
9
5
-7
8
6
-58
9
-4
14
-5
18
29
-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
15
0
0
0
0
0
0
12
0
0
0
0
0
0
22
0
0
0
0
0
0
24
0
0
2
0
0
0
56
0
0
0
0
0
0
1
0
0
8
-4
0
0
-12
0
0
3
0
0
0
25
0
1
-1
0
0
0
-52
0
0
0
0
0
0
24
0
0
3
0
-2
0
-12
0
0
0
0
0
0
-10
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
-18
0
0
0
0
-1
0
0
0
7
0
0
15
0
12
0
0
0
0
-30
0
0
0
0
0
0
-15
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
5
-5
10
7
58
-34
1
-7
-25
0
-3
5
-17
-70
10
-13
-1
-22
46
-2
26
3
43
26
4
10
0
-34
-15
18
12
4
-37
-11
-12
-8
11
-39
1
4
16
-6
-12
-3
-5
16
0
0
12
-15
-34
56
24
16
11
50
10
9
11
61
-50
-24
-44
18
21
25
24
8
16
0
-5
-9
37
-19
6
25
-8
4
-26
-12
-12
-25
3
9
-15
-19
4
-13
-12
-16
-30
3
80
12
18
-10
73
-18
-2
7
12
0
4
28
23
-10
39
-16
3
-7
13
-33
-9
40
35
15
25
2
0
-14
-12
26
-52
8
-4
-4
-1
43
-64
14
-6
-13
-2
10
-11
8
11
-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
8
34
-2
-6
4
-4
-36
0
11
-11
39
0
-10
0
0
-30
-12
-1
3
-9
-3
79
-15
-1
0
16
-21
2
20
28
0
-2
15
27
7
8
1
6
24
-20
15
5
-29
-9
1
-19
0
23
-43
11
-9
0
-61
-28
6
-33
-3
-33
7
-40
-27
-3
-57
1
8
7
41
0
-40
-11
0
23
9
18
0
-9
-22
0
-24
12
0
1
25
-2
3
-12
0
21
3
0
21
39
33
0
10
-8
-37
42
-7
-21
0
-24
-8
78
-53
-10
-15
1
33
-15
-25
-5
-18
30
0
19
9
-3
68
3
-3
0
-24
2
21
-37
-3
7
0
40
-9
32
-31
0
-2
33
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
19
4
0
-5
7
11
0
6
-12
-7
0
0
-7
0
-14
8
0
2
0
-1
24
14
-4
-7
40
0
-8
58
-5
0
6
19
0
8
5
-24
0
15
23
0
19
32
11
0
1
3
0
-21
1
13
0
2
30
0
-8
49
6
0
-2
27
0
-6
1
12
0
-1
7
0
16
0
-1
-3
10
0
16
-1
-3
-42
-18
0
-4
-3
0
0
-19
0
23
-20
0
0
28
10
0
6
43
0
-5
-19
-6
0
14
-3
0
-4
3
-4
0
4
-36
-4
-6
-4
10
0
-22
0
0
10
7
-26
0
-2
-20
0
-2
12
0
-1
3
27
0
-5
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
10
-7
1
0
0
0
0
-20
0
0
0
0
0
-6
13
0
0
-2
0
0
-2
33
0
-4
36
0
0
1
-1
0
0
-17
22
0
38
-35
0
-3
33
3
0
-2
-18
0
0
-69
-24
0
0
-8
0
0
2
0
0
0
-15
0
0
-2
-13
0
0
61
-6
0
0
0
0
0
8
0
0
0
0
0
0
-21
0
-1
1
0
0
0
-60
0
0
12
0
0
0
-4
0
-2
4
0
0
0
-1
0
0
7
20
0
0
14
0
-14
7
0
0
0
24
0
8
41
24
0
0
-25
0
16
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
-8
-4
2
0
0
0
0
27
0
0
0
0
1
0
2
0
0
0
0
16
2
-6
0
0
-6
0
3
-8
15
0
16
-3
-8
0
1
-34
0
0
-26
1
-6
10
-12
0
-1
-14
-2
-2
0
-42
0
0
-19
-2
-12
0
56
0
8
0
0
-8
0
-17
0
0
0
0
-2
0
-16
0
0
0
0
0
0
-22
0
8
0
0
0
0
-19
0
0
0
2
1
0
29
0
-9
8
-4
0
0
-62
0
0
-7
0
-2
0
6
0
-26
-10
0
3
0
-10
0
-6
0
1
1
0
32
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
1
46
-5
-13
16
-1
-6
-19
-20
26
-6
52
-46
39
-6
63
2
23
-15
18
-9
-7
20
19
6
-65
4
-20
-8
15
-3
0
-51
31
3
-6
20
3
10
-69
-35
13
1
-16
24
0
-4
-29
7
-4
2
-44
19
1
11
18
0
32
-6
-31
-18
-13
-1
-8
15
-3
16
8
30
6
5
-48
47
10
8
3
3
7
25
-1
62
0
-21
10
10
6
16
-12
-18
47
8
7
28
36
45
-38
-65
19
-16
-23
-12
-8
-13
27
-6
20
10
1
20
11
-40
37
-23
15
-10
-41
27
-31
-3
0
11
-6
-47
10
-12
-5
33
-51
-13
-3
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
13
0
0
0
0
0
0
4
0
0
0
39
15
-2
36
0
0
1
0
0
0
-5
0
0
-4
0
0
0
46
0
0
26
0
0
0
0
0
-3
6
-4
0
0
9
0
0
-4
0
8
0
-8
0
0
0
0
0
0
8
0
0
0
0
6
0
-6
0
0
0
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
1
0
7
0
0
12
0
0
0
0
0
0
-20
0
-3
6
0
0
0
4
0
0
0
0
0
0
-11
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
0
-11
0
0
0
0
0
0
-68
0
0
6
0
-4
0
-7
0
0
-1
0
0
-15
-45
0
0
4
-8
0
0
-16
0
0
34
1
0
0
-78
0
0
-4
0
18
24
-15
0
0
1
0
-2
0
1
0
0
0
12
-6
0
54
0
0
0
0
0
0
-9
0
0
0
0
0
0
16
0
0
0
0
0
0
-4
0
0
0
0
0
0
58
0
0
-26
0
0
0
16
0
0
0
0
0
-9
35
0
3
2
0
0
0
13
0
0
0
0
0
0
9
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
21
9
-10
0
9
0
0
-8
0
0
0
-11
0
2
8
0
0
-2
7
-1
-2
-4
0
0
4
0
2
1
17
0
1
-21
6
0
2
-5
0
-2
-30
-4
-7
-2
-9
0
-1
-15
-20
-32
0
-46
0
0
0
0
-53
0
-42
0
0
0
-7
-19
0
-19
0
0
0
0
-4
0
1
11
0
0
0
0
0
31
0
-6
0
0
-9
0
-54
0
0
6
-1
0
0
-21
0
13
-1
10
0
0
-36
0
0
20
10
0
0
32
0
44
-7
0
0
0
6
0
0
18
15
0
0
-21
0
22
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-41
1
0
0
0
0
0
-11
0
0
0
0
-36
0
4
0
0
0
0
0
-1
-5
0
0
-7
6
0
0
-40
0
-2
-17
0
-3
16
20
0
0
39
0
-7
-9
9
0
0
-1
0
6
0
-16
0
0
0
0
-2
0
-11
0
0
0
0
0
0
5
0
0
0
0
0
0
-18
0
4
0
0
0
16
-1
0
0
0
-1
0
0
-20
0
-32
1
0
0
0
25
0
-2
0
1
0
0
0
0
-6
0
0
0
0
61
0
0
6
0
-1
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
34
-17
0
14
0
0
9
0
0
-2
0
0
-16
-3
0
0
-9
31
0
-1
4
0
7
-21
19
0
29
19
0
-3
-1
25
0
28
0
0
3
-4
3
0
45
-22
0
22
-18
27
0
-12
-13
0
45
-6
0
0
0
-43
8
3
-8
-46
0
0
-16
-2
-2
0
6
0
0
-38
-15
0
1
4
0
0
-14
0
37
-4
0
0
0
-13
0
-4
95
-9
0
2
-7
0
8
36
-3
0
-4
15
-3
4
19
-57
0
3
1
0
-15
1
0
0
0
0
0
7
-26
29
0
0
-44
0
-44
18
0
0
0
0
68
-41
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
3
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
-3
34
-81
-53
35
29
5
-4
22
30
-10
3
-6
-3
1
39
-27
21
31
45
-1
1
-18
14
14
18
19
25
-4
32
34
-1
-36
3
4
0
-19
-7
9
5
9
-33
-2
28
-17
-21
-6
-36
22
-16
-5
-15
-3
-17
-12
-30
0
-13
4
6
6
-50
-12
-7
10
24
-59
29
3
1
3
46
-9
11
19
44
19
0
-33
-11
1
17
21
-4
0
-40
19
-15
37
40
-19
11
-6
32
-4
18
-9
17
-10
50
0
-19
-7
-10
-13
-22
45
-24
9
-17
40
53
18
9
6
22
12
24
-1
0
2
-19
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-5
0
0
33
35
-7
-6
3
6
-6
-13
1
20
6
2
-1
-32
-1
40
-4
-36
0
0
-11
-25
-3
-27
-7
-9
1
-8
-68
36
6
-27
4
-3
-6
-14
-10
13
0
19
0
3
-18
-30
-82
0
44
44
-19
-1
0
-8
0
-80
21
0
11
0
-9
2
-26
0
-2
-38
0
0
-1
3
0
1
-15
53
2
-3
-22
-4
4
-31
-3
0
-4
-24
4
64
-21
-22
10
8
14
10
-14
9
0
1
6
2
0
-1
13
8
-14
0
14
0
-38
-12
0
36
0
41
9
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
6
-4
0
0
8
0
0
-3
41
0
0
2
20
20
-28
-33
0
0
-20
7
62
-8
-17
0
1
-45
0
0
62
-1
-4
6
-22
-3
-31
20
-21
0
7
-73
5
2
-10
-38
7
-1
24
25
-15
-4
101
0
0
-13
-15
-6
0
-56
0
0
0
6
2
3
-4
3
0
0
0
0
3
3
0
63
2
0
3
0
11
0
0
-1
2
0
0
29
0
5
0
-3
0
0
18
0
7
-37
8
26
12
-19
0
-2
0
-3
0
0
12
0
4
-3
-1
13
0
-15
0
-2
4
2
-44
0
-26
22
28
-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
-19
0
0
0
0
0
0
-3
0
0
0
0
0
0
34
0
0
0
0
1
0
18
0
0
-1
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
-53
0
0
0
0
0
0
1
0
0
0
2
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
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
6
34
0
0
-11
0
24
-7
-32
0
0
9
0
-9
26
-35
0
1
13
0
0
0
-2
0
0
-48
0
1
6
-3
0
0
-38
0
-2
-3
2
0
0
98
0
37
0
6
0
0
0
0
0
0
25
0
0
0
0
0
0
-34
0
0
0
0
0
0
-29
0
-4
0
0
6
-2
-12
0
0
-1
0
0
12
-65
0
7
-26
0
0
3
9
0
7
13
0
0
0
5
0
1
0
0
1
-9
-9
0
-7
-14
0
0
0
-35
0
-4
0
0
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
12
0
0
0
0
-1
-13
0
0
8
-7
0
-1
5
0
0
43
0
0
-3
-6
0
0
-24
-11
0
3
27
0
0
-27
0
0
0
-20
0
0
21
35
0
0
-3
0
0
-5
-2
0
0
-22
0
-1
-2
1
0
0
12
-3
0
0
0
0
0
19
0
0
0
0
0
0
19
0
2
0
0
0
0
-19
0
0
0
1
0
3
-8
0
-4
6
0
0
0
-20
0
0
-3
-7
0
0
-47
0
19
0
0
0
0
45
-4
-2
-2
1
0
0
-21
0
-14
0
0
0
0
-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
1
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
8
-1
0
0
16
0
0
1
0
0
0
84
0
0
-11
0
0
0
-8
0
0
0
0
1
0
-2
0
0
0
0
-14
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
12
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
-28
0
-10
0
0
0
0
0
0
0
0
0
0
0
12
0
12
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-9
-13
6
-27
-14
-10
16
30
41
11
-9
6
20
3
37
3
18
-10
1
-23
2
18
54
-5
-12
-10
-27
-1
-25
-32
-7
-3
-3
-37
7
-13
18
4
15
-8
19
-5
6
-5
-14
-17
9
18
6
13
-53
10
-28
5
0
0
24
-62
-42
-2
-2
29
2
18
-22
-14
-5
-3
-48
1
-5
21
-13
0
-30
-47
8
16
-24
13
-33
-3
22
7
-31
-37
16
13
-7
17
7
-12
23
1
-23
18
-49
12
-8
1
2
-35
-1
-3
6
7
14
-21
-3
30
-36
0
-5
-44
37
-51
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
53
-15
0
10
40
0
0
5
0
4
-8
-45
0
0
12
51
0
-3
1
-2
0
-42
-21
2
10
-34
0
-6
17
-12
-2
-2
-18
0
0
-15
0
-8
0
-33
0
0
7
-6
-30
0
17
0
0
0
0
-9
0
24
2
0
0
-7
-6
0
21
0
-12
-2
3
-2
-6
40
0
0
0
0
0
1
4
0
41
-5
1
0
0
-8
0
0
-2
-4
0
0
-48
0
33
-8
0
0
0
-13
0
0
-1
18
0
0
10
0
23
0
0
0
0
45
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
87
0
0
0
0
0
0
10
0
8
-1
-1
0
0
40
0
0
-1
0
0
-1
-21
0
0
-3
0
0
0
-34
0
0
0
0
0
0
48
0
0
0
0
-2
0
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
0
0
0
0
32
0
6
0
0
0
0
6
0
0
0
0
0
0
56
0
0
0
0
0
0
-14
0
0
-4
0
0
0
-7
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
34
0
0
0
0
15
0
24
0
-6
-1
-15
0
1
-28
0
9
0
0
-33
0
-18
0
0
22
-6
0
0
11
0
0
0
0
0
0
13
0
0
0
0
-24
0
-12
0
0
0
0
0
0
42
0
0
0
0
0
0
36
0
7
0
0
0
0
-12
0
0
0
0
0
2
10
0
-1
0
0
0
0
7
0
0
0
0
0
0
41
0
1
1
0
0
0
-16
0
0
0
0
0
0
-52
0
-1
0
0
-6
0
5
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
2
0
-7
7
-5
0
0
-3
0
10
0
-29
0
0
20
0
6
0
39
0
-4
8
0
2
25
-29
0
0
18
12
-6
-2
19
0
0
9
0
-1
0
4
0
3
0
0
39
0
9
0
0
0
0
0
0
-42
0
0
1
0
0
0
5
0
0
0
0
0
0
18
0
0
19
0
2
0
5
0
9
62
0
0
0
2
0
-2
0
-1
0
0
-6
0
-11
0
0
0
-2
-48
0
0
9
0
-7
0
-48
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
4
-7
0
0
0
3
0
0
-36
0
4
0
0
0
0
-15
0
0
0
0
0
6
-41
0
0
-10
0
0
0
26
0
0
-10
0
0
0
35
0
0
6
0
0
0
-25
0
0
-7
3
0
0
-10
0
0
0
0
0
0
-6
0
0
0
0
0
0
-19
0
-6
0
0
0
0
49
0
0
-1
0
0
0
0
0
11
-1
0
0
0
15
0
0
0
0
0
0
4
0
8
2
0
0
0
-17
0
0
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-18
0
-3
-3
7
0
0
9
-50
-9
4
-21
0
21
-30
6
0
2
29
0
-4
9
-6
-7
0
9
0
0
-50
0
-15
0
14
0
0
3
0
-3
0
-8
0
0
0
-8
0
0
-7
0
0
0
0
0
0
39
-8
15
0
0
-1
0
-2
0
3
11
-13
0
1
-17
0
25
-15
0
-2
0
59
-2
9
56
27
0
0
26
0
49
33
0
0
0
-10
0
0
-7
0
0
0
15
0
0
0
0
18
0
-21
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
10
17
-47
27
-16
-15
-28
16
-11
63
-4
12
-10
35
1
31
-15
-3
-39
4
-14
-9
-39
-1
-3
-13
-11
-54
-3
-38
-14
-15
-32
7
1
13
67
25
-34
-12
-2
28
-10
-19
44
4
-12
11
-5
-15
-21
7
-30
-8
-21
10
0
-88
19
-40
-21
3
68
8
-8
26
-4
5
-26
-54
10
2
5
33
-50
6
10
-7
-8
-11
16
-16
39
7
8
48
44
10
14
44
0
-9
-8
0
16
20
-26
20
-8
-24
18
-65
43
16
-3
0
22
11
-31
-3
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
-4
11
-39
0
-3
2
0
0
3
36
0
-2
-34
0
4
0
-47
0
0
-22
0
0
0
25
0
2
0
0
0
0
43
0
0
0
0
-3
0
11
1
0
0
0
-2
0
7
0
0
0
0
0
0
-1
4
0
-3
0
0
0
-21
0
7
0
0
0
2
4
0
1
0
0
0
0
-36
0
0
1
2
0
0
-9
0
14
0
0
0
0
-52
0
0
-4
0
0
0
-74
0
15
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
-4
18
0
0
0
0
0
50
38
-2
0
0
28
0
11
36
0
0
23
0
9
-1
-31
0
1
28
19
0
0
-17
0
0
53
0
-41
0
-7
0
0
-4
0
-14
0
-23
0
0
0
2
0
0
31
0
0
0
0
0
0
-16
0
8
0
0
3
0
-1
0
-7
13
4
0
0
-32
0
2
-2
0
0
-2
-56
0
0
-10
-6
0
0
57
0
0
3
-7
-2
0
24
0
6
-1
0
7
0
-9
0
-12
0
0
32
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
17
-1
0
3
4
7
27
-31
15
0
62
-7
10
-5
6
21
0
53
33
20
-7
-56
-1
-4
37
29
33
25
38
20
0
-22
42
0
7
0
28
0
-10
11
15
3
0
-13
2
0
0
0
7
0
-16
23
0
0
0
0
0
34
0
-4
0
-6
0
0
2
0
-13
-1
11
-1
-14
7
0
21
-26
-6
3
-17
-16
7
2
-57
-14
-12
3
-17
6
-27
48
-8
6
16
27
0
-1
-24
55
-39
0
26
0
0
0
0
-4
0
-17
11
0
-2
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-21
0
0
-24
0
20
37
6
0
-8
-7
11
-15
13
-15
0
7
-7
2
-15
9
-11
0
-4
-12
0
34
-4
-17
0
-11
28
0
10
0
20
0
2
-4
0
-37
0
-7
2
0
1
-3
0
0
-15
-18
0
0
0
10
0
15
0
11
-14
0
1
7
38
0
-4
0
0
21
8
3
0
-25
3
0
-6
-7
20
0
15
30
1
1
-1
-29
0
24
-87
0
-11
2
-5
0
0
49
4
-17
0
7
0
-11
0
0
8
0
-6
-3
0
2
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-24
0
0
-44
9
0
1
-52
-20
22
-3
-13
0
-20
-37
13
45
36
-50
0
-15
-9
0
-12
-12
-7
0
-65
-7
10
19
-7
-11
0
-6
-7
-1
-4
19
-3
0
0
6
-6
-1
0
-7
0
0
-12
7
0
2
0
0
2
2
0
22
-21
0
0
1
21
-3
7
64
-15
0
11
-4
0
-16
49
-43
0
-4
1
1
22
32
35
0
12
13
0
-28
-23
5
0
1
27
-2
-9
25
-15
0
0
18
0
-36
25
10
0
0
12
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
11
1
15
12
-29
0
-75
4
-1
-5
-25
-23
8
-4
22
0
33
-28
-7
23
0
24
0
0
2
11
44
-3
18
7
8
23
-27
14
0
-28
-18
0
0
10
6
0
-4
-7
0
-8
36
0
0
-8
1
-26
-10
0
0
0
21
3
-16
24
-6
16
0
0
0
-23
-15
-13
3
-13
23
-4
51
-28
10
-2
18
6
0
32
2
0
9
0
-6
-1
-4
11
-26
-3
0
0
0
15
58
0
52
0
-32
-18
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
11
1
-13
-28
6
-4
-4
11
12
13
-2
14
5
-28
36
7
-12
-12
24
-12
-6
21
2
12
-4
20
-2
-17
2
-8
-30
-5
22
17
-3
65
5
-28
-11
46
23
-2
-85
16
3
3
-20
-33
-80
27
14
15
-21
-4
-17
-8
-19
0
7
-11
11
14
-4
34
-18
-22
3
2
57
-14
16
0
51
-5
-2
-6
-13
-1
9
4
-16
11
-13
-12
-2
-8
44
14
11
7
-1
41
-13
-22
-18
-5
-9
-22
-34
27
18
-8
-2
45
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-3
0
0
0
45
0
0
-22
0
0
0
11
0
1
-4
-3
0
0
-18
0
0
1
0
0
0
-55
0
0
0
0
0
0
-7
0
0
0
0
0
0
-13
-1
0
0
0
0
0
1
0
-3
0
0
0
0
-8
0
0
3
0
0
0
2
0
0
0
0
0
0
-11
0
1
-2
0
0
0
-4
0
-2
0
0
0
0
22
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
31
-3
1
52
19
0
1
28
0
0
10
0
2
0
9
0
0
3
-4
2
0
1
0
0
-10
0
0
0
44
0
0
-7
0
-9
0
-52
0
0
0
0
0
0
-23
7
0
0
0
0
1
-5
0
-1
-3
0
0
0
17
0
0
0
0
0
0
-72
0
-1
25
0
0
0
2
0
0
0
-7
0
0
-48
0
-7
0
0
0
0
0
0
0
0
0
0
0
-62
0
-6
0
0
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
48
8
9
3
-35
15
-13
-27
-18
11
11
39
33
-1
26
-19
-15
-34
-20
11
-11
20
-7
2
39
51
4
0
-5
52
6
9
0
15
40
-13
6
12
-27
0
15
-26
-1
3
37
0
0
5
0
-3
9
1
4
28
41
0
-4
41
48
5
11
-11
-10
15
-25
32
-8
-42
13
0
8
-2
54
2
113
-12
2
-4
-16
0
-1
10
-12
4
88
10
-7
-17
-8
5
0
13
-11
0
-4
0
15
21
-6
3
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
-12
-65
0
0
-24
0
0
-1
-28
0
0
8
0
3
-4
32
0
0
-22
-1
0
0
4
0
0
0
0
0
0
-49
0
0
0
0
-34
0
-55
0
0
0
0
-2
0
-19
0
0
0
0
0
0
70
0
-1
0
0
0
0
67
0
0
-9
-6
0
0
13
0
-22
0
0
0
0
40
0
0
8
0
0
0
53
0
-11
0
0
0
0
42
0
0
1
0
0
0
-83
0
-1
0
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
33
24
0
0
-40
0
4
41
19
0
0
-5
0
12
-5
21
0
0
-21
0
-7
78
-4
0
0
6
0
5
-44
0
0
0
33
0
0
0
3
0
0
-27
2
0
0
3
0
0
0
0
-38
-1
-1
0
-2
55
0
-2
52
16
0
0
-39
0
27
-30
-6
0
6
14
0
8
22
34
0
0
13
0
-44
15
6
0
12
5
0
-1
6
-2
0
0
20
0
-33
-15
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
15
13
8
-48
-20
-35
-8
14
16
8
-1
-15
-7
16
1
2
9
-1
-24
0
-28
0
-5
-3
-2
-9
18
28
0
-8
-11
32
1
-4
-4
0
19
-13
0
3
-12
0
0
6
0
12
-43
-1
0
2
46
0
8
28
-42
-6
-1
-18
0
-7
22
18
0
-6
-29
8
5
-61
-12
9
4
-16
0
42
-1
7
-7
-1
9
-2
2
53
61
-2
11
5
0
-5
-4
-1
37
0
-6
-17
-38
0
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
7
-36
-20
12
52
15
17
6
-12
-39
14
-10
-33
17
10
-25
23
19
-44
-17
3
-3
65
-29
18
12
9
-27
9
45
-39
-24
13
4
16
-2
31
40
32
-48
-48
9
20
-13
-19
10
-24
18
26
16
-37
-9
31
56
31
13
0
2
8
13
17
-11
33
8
29
5
14
-34
1
-9
0
-12
-8
-18
-13
16
-17
12
45
-49
-21
-4
3
-12
-3
-44
-7
5
-8
-3
-13
0
-18
-12
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
-11
2
0
-1
36
0
0
16
-36
0
0
6
0
-1
0
-4
0
0
-8
0
0
0
-25
0
0
0
0
0
0
5
-4
0
0
0
0
0
-26
0
-1
0
0
0
0
-1
0
0
0
0
2
0
-9
0
-8
2
0
0
0
-64
0
-8
10
-9
0
4
50
0
-9
0
0
0
0
-12
0
0
0
0
0
0
-3
0
-7
0
0
0
0
37
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-2
-81
6
-6
9
-7
0
0
18
35
0
17
-24
0
0
-3
0
13
0
-20
0
0
0
2
-33
0
9
0
0
0
16
-4
0
-36
11
0
0
0
0
-3
28
0
50
1
0
0
0
0
0
0
-35
0
1
0
35
0
27
41
-8
0
-2
35
0
-4
0
4
0
0
44
0
-13
4
0
0
0
-20
0
0
1
10
2
0
-9
0
-3
1
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
9
-2
0
1
56
37
7
15
7
42
10
10
7
-8
14
37
10
2
0
12
1
-5
37
7
-6
10
14
0
6
-58
-3
-8
-12
32
0
-10
6
-6
2
5
6
25
-21
2
11
53
6
-24
-17
12
-8
-40
-8
20
-6
-22
12
-2
-3
6
10
2
40
6
1
67
-20
2
22
-56
7
-26
-6
7
27
24
14
17
-22
1
-6
-7
0
-8
3
2
39
5
-10
42
0
20
-34
27
-10
-6
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
24
7
0
-18
-18
-9
-28
25
-5
0
-29
12
-21
1
19
-5
0
6
19
0
18
0
-20
0
31
19
-6
14
0
11
-11
0
0
3
-11
0
-10
27
0
-4
-2
7
-2
11
0
-43
12
0
-30
26
-1
0
-27
7
1
69
13
9
0
13
-6
22
15
-21
0
0
-12
41
-6
80
14
20
2
39
8
0
105
-18
0
0
18
34
0
16
-3
-20
0
26
28
0
11
0
-14
29
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
-4
-19
13
0
7
-4
0
-6
-43
-18
0
0
-31
0
0
25
0
0
0
-21
0
1
0
0
0
0
-6
0
0
0
9
0
0
-27
4
0
0
0
0
3
24
0
-13
4
0
0
0
-2
0
-15
1
-4
0
9
1
0
-2
10
-6
0
0
-12
7
8
8
15
0
0
-25
0
12
-11
0
0
-12
-43
0
0
8
2
0
0
3
0
-24
11
1
0
0
-26
-30
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-19
15
2
0
8
-12
0
0
-56
30
0
0
18
-1
9
-7
33
-27
0
8
4
0
0
0
0
0
-49
36
0
6
4
0
-2
-2
-7
-17
69
0
0
6
26
1
3
-54
3
0
0
12
0
-18
-34
0
-2
0
10
3
2
27
46
0
-2
4
-2
63
25
0
-1
2
-26
0
-4
-17
70
-1
-7
8
-1
51
1
0
18
0
15
34
-4
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
8
-6
17
-12
-8
6
-3
10
18
-50
-25
-17
3
-28
45
-2
5
-12
-28
14
1
-2
-2
-23
8
-4
9
21
-27
-9
-25
-40
-3
-1
29
-23
44
44
-44
-15
9
-57
14
-12
19
43
-11
3
-15
-20
2
34
5
48
0
21
21
8
24
26
-38
5
1
-37
-28
-36
12
-6
1
-15
16
9
16
22
-85
-6
5
-23
3
2
-5
-5
-1
0
47
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-43
0
0
-9
0
-10
0
-50
0
1
0
0
27
0
39
0
3
0
0
0
0
4
0
0
0
0
0
0
3
0
8
7
0
-4
0
4
0
0
0
0
0
-1
30
0
0
7
0
0
0
0
0
0
0
9
0
0
-3
0
2
0
0
0
0
-46
0
10
0
1
0
0
-33
0
-5
0
0
0
0
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
13
-26
-15
0
39
0
0
0
0
16
0
41
0
0
0
0
-61
0
21
4
0
0
0
0
0
32
-1
0
0
6
0
0
49
0
-27
-1
0
0
2
-48
0
6
44
-6
-12
-3
-33
0
10
-6
-7
0
0
-49
0
-3
3
15
8
3
2
0
-15
-10
0
19
0
-23
0
0
0
0
38
0
-54
0
16
-2
6
23
0
45
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-55
7
25
-36
-23
15
0
76
-40
0
40
3
10
9
36
-12
15
16
0
1
-28
-6
0
-12
-42
-4
10
-29
-2
3
-58
2
16
-24
-6
-1
-25
24
-6
-19
-8
-1
-14
-44
16
-2
-16
15
4
-30
-43
-13
-2
14
7
-3
26
10
15
-15
-30
-9
40
-24
-12
-2
33
5
27
2
-52
8
27
40
-7
2
-8
16
11
0
23
0
-11
-19
-15
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-2
50
0
17
0
0
-20
0
-11
0
-38
0
0
59
0
11
0
-36
-3
0
0
0
0
0
-10
-4
0
0
0
0
0
-18
9
14
-1
0
11
-1
39
0
-2
-2
4
-11
0
26
0
-22
-13
0
-18
6
-10
0
-3
-30
0
-16
0
-25
0
22
-15
0
0
0
1
0
0
15
0
-1
13
-46
0
10
7
0
39
0
-4
7
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
-31
22
0
8
-10
0
-6
-17
0
0
0
-12
0
10
42
51
0
0
4
0
0
0
-9
0
0
-30
24
0
0
-15
0
0
13
0
-13
-18
0
0
0
-6
0
-3
9
-10
0
0
12
4
-23
34
30
0
-2
44
25
-12
-17
30
0
-5
-1
0
-11
-35
0
0
0
29
0
0
2
46
0
0
-2
1
-38
18
1
0
0
2
9
-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
7
-10
-3
0
20
0
18
0
-14
0
0
-6
7
-25
-3
22
0
0
0
0
3
0
-38
1
0
0
-1
0
0
-6
0
-33
1
10
0
0
12
0
36
-54
-14
0
0
40
-1
-32
-9
7
0
0
5
3
22
8
40
4
0
6
0
21
-17
-10
0
0
-9
-3
0
1
-17
-2
12
26
0
5
5
0
0
0
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
14
33
18
11
15
30
24
24
3
-6
3
10
22
-45
43
37
-38
-12
18
44
17
-89
80
4
-15
8
-3
11
-13
4
-33
-27
-11
6
17
-17
-25
-7
-19
3
18
-9
30
-20
-98
-30
2
7
-46
11
13
0
-27
0
-10
3
19
17
-74
3
7
0
26
6
11
7
-63
1
-29
-36
5
-30
6
15
11
-13
7
4
-20
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
24
0
0
3
0
0
0
5
0
0
2
0
1
0
-3
0
0
0
0
0
0
28
0
0
0
0
0
0
-2
0
-11
0
0
0
0
19
0
0
-2
0
0
-4
32
0
0
0
0
0
0
-25
0
2
0
0
0
0
-11
0
62
0
0
8
0
49
0
0
-3
0
0
0
-3
0
25
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
-1
26
0
0
8
0
6
1
22
1
0
-15
-9
-58
0
34
1
0
0
0
0
0
-16
2
0
-4
3
0
0
-37
-7
-15
-3
0
0
-2
35
0
6
-16
-17
21
0
-55
0
26
10
0
0
0
-10
6
2
9
-7
0
0
-6
0
-30
0
0
0
0
-1
1
-13
0
0
0
-1
-15
0
72
0
0
-25
0
-4
0
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
1
-3
81
-31
-8
-15
43
3
6
28
0
-37
4
0
8
8
0
25
49
-17
-1
-8
-58
-9
-20
17
1
7
5
-24
2
26
23
-1
-22
1
0
44
18
18
24
-62
-3
0
17
0
48
16
-10
1
-7
11
13
44
40
-34
-4
0
13
2
45
-18
-30
20
-8
18
52
-4
22
-6
3
-1
26
53
-11
3
-2
2
-31
-8
-1
-23
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
-3
-2
17
3
28
-4
5
0
5
-10
-2
-10
0
14
36
-1
0
15
7
0
-10
0
0
1
12
0
0
-21
0
-77
2
0
-10
-54
-9
-2
-6
17
0
2
-37
-6
0
19
41
0
1
20
7
8
-1
17
2
8
-9
-21
0
24
28
1
3
14
-9
1
-12
-27
0
-46
0
-7
0
1
-25
0
-5
0
3
30
-5
-22
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
0
0
10
0
7
28
-25
0
0
-15
0
0
0
0
0
0
38
3
0
0
19
0
0
-21
0
35
3
7
0
0
40
0
0
2
-6
0
7
1
0
58
6
0
0
0
11
0
-3
-11
42
0
4
-29
0
-36
46
0
0
0
-21
0
20
-21
9
0
0
-23
0
-70
0
3
0
0
13
1
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
2
-1
0
18
16
0
-11
3
0
0
0
0
0
-5
0
0
2
0
0
0
15
-1
3
-7
0
0
-4
34
0
3
6
-6
0
0
24
0
1
21
-10
0
-1
-39
0
0
-12
-8
0
0
-1
0
44
6
8
0
0
5
0
-2
-4
3
-2
0
-7
0
3
0
0
0
0
-49
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
13
1
21
43
4
25
-12
2
9
-4
31
-5
-91
-18
17
6
-20
-47
45
-11
-12
5
0
9
3
-23
19
-6
15
-1
34
-45
15
3
-12
-4
16
-6
-6
19
9
-6
-9
-4
-98
9
-16
9
-8
32
2
-33
11
-3
-64
5
-20
0
53
34
51
37
65
-44
0
-6
-4
14
6
5
60
8
10
42
46
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
-17
0
0
0
10
-2
0
55
0
0
0
0
-1
0
24
0
0
0
0
0
0
-6
0
0
0
0
0
0
18
0
0
0
0
0
0
21
0
0
0
0
0
0
3
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
27
0
-4
0
-2
-10
0
0
16
-1
0
20
0
0
0
1
0
0
-57
-1
0
-2
0
0
-2
-26
0
0
0
3
0
-2
32
0
-10
-1
-6
0
0
-37
0
-2
-3
-7
0
0
-3
0
-29
-11
0
0
0
-16
0
0
-3
0
32
0
10
-2
-13
0
0
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-31
0
-18
0
1
0
0
-9
0
8
15
0
2
-8
0
-1
-15
0
6
0
0
-1
-12
12
2
11
44
-28
0
10
7
-1
-3
-1
-13
0
1
0
4
35
-21
-13
-10
18
-4
0
41
-1
0
-1
-1
44
0
6
-10
22
-4
-3
-12
0
46
16
0
7
0
0
35
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
-21
0
0
0
0
9
0
-4
0
0
0
0
0
0
7
0
10
0
0
7
0
6
0
0
-1
8
0
0
-7
0
2
0
0
0
0
52
0
0
-4
0
0
-2
-2
0
6
0
0
0
0
54
0
0
0
0
0
0
-39
0
1
6
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
3
-10
-13
-9
7
-15
0
0
-23
-3
12
7
4
0
0
1
-5
0
0
-13
0
0
6
4
3
-6
2
0
-3
-19
0
12
54
29
0
-18
-38
0
-43
58
4
0
25
0
0
-2
66
-3
0
11
20
0
-23
-10
0
0
-4
17
0
27
73
8
0
0
3
0
-44
6
0
0
0
11
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-20
0
0
0
8
0
0
15
0
0
0
0
0
0
4
0
0
2
15
0
0
25
0
4
2
0
0
0
-21
0
0
1
0
0
0
-109
0
3
0
0
0
0
43
0
-1
10
3
0
0
-25
0
12
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
2
-38
0
-20
10
-103
-22
17
10
25
-6
-4
-17
8
-8
20
9
9
40
-22
25
33
-18
13
27
16
-24
-28
-8
2
-22
17
29
30
-18
14
-2
3
21
-7
-10
-11
-12
23
-11
-31
-11
-102
-30
-16
8
5
-22
-23
16
-28
39
0
95
-16
5
52
-64
-1
17
-20
31
-29
-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
16
0
0
0
0
0
0
17
0
0
0
0
0
0
10
0
0
0
0
0
0
11
0
0
0
0
0
0
15
0
-3
0
0
0
0
13
0
0
1
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
16
0
0
0
11
0
0
18
0
0
0
0
0
16
-4
0
0
-7
0
0
0
10
0
5
54
0
0
0
38
0
0
0
-14
0
-1
13
0
0
-4
0
0
28
-17
0
3
0
6
-1
0
-62
0
11
0
0
0
0
-32
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
21
-3
0
0
10
10
0
19
-1
0
0
3
0
0
12
-6
-4
-6
0
0
0
-21
0
3
-10
24
0
-3
-25
0
0
-19
-2
0
0
-28
-3
11
51
-30
-10
0
0
0
-8
-10
0
15
0
6
16
-13
0
-9
-11
0
-19
0
-15
0
0
10
0
-38
-25
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
-4
0
0
-21
-22
0
0
0
0
0
-52
0
35
-4
0
0
-7
-24
0
7
48
0
0
-20
-7
0
56
-14
-2
0
-8
-31
0
58
88
-2
-15
-1
-2
4
10
46
0
19
-6
34
1
17
41
10
-10
0
-21
0
13
-20
0
-12
0
-36
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
-1
2
-3
0
5
0
0
18
24
-2
6
1
0
30
13
0
-11
-27
-3
-7
36
0
0
-21
-5
10
0
88
2
0
25
16
59
0
-18
7
1
-15
33
37
0
27
5
0
12
14
23
0
7
-14
0
-5
9
-1
0
-11
-35
0
-5
23
2
0
0
19
-24
-5
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-13
-16
-52
17
5
-131
-5
-51
4
16
-27
27
-4
-1
-37
2
-8
13
-1
-23
12
-25
24
-33
-42
5
-43
19
-7
23
-7
-4
-14
-22
1
-51
3
-3
74
-31
-5
-15
2
29
7
-19
23
-8
6
6
7
-2
65
19
11
0
15
-56
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-49
0
29
0
2
0
0
40
0
0
1
0
0
-2
8
0
-13
-6
12
0
0
-43
0
-6
1
0
0
0
17
0
22
0
0
0
0
-31
0
11
17
-16
0
0
27
0
-51
0
0
-2
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
0
0
0
53
0
0
-1
0
0
0
-48
0
24
0
12
0
0
-6
0
-3
-8
0
0
0
2
0
0
1
0
22
0
18
0
62
0
0
-10
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
32
0
0
0
0
0
0
13
0
0
0
-12
0
0
-24
0
0
0
0
0
0
24
0
0
-10
0
0
0
-32
0
-6
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
-1
0
0
0
0
0
0
13
0
-1
2
0
0
0
-34
0
0
0
-1
-4
0
0
0
15
-1
0
-3
1
9
0
3
-19
-7
0
0
51
0
4
-2
0
0
0
7
0
2
-4
0
19
0
-12
0
-8
2
0
-1
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
34
0
-8
-2
-8
0
-8
0
0
44
-4
0
0
0
-17
1
0
-6
16
0
0
-69
0
-49
6
0
0
0
26
-3
3
11
2
0
0
-17
0
-11
4
0
0
0
-3
-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
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-7
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
-32
3
-8
13
-58
21
-12
38
3
-2
24
5
12
-3
3
-5
-1
-53
9
-3
-16
-24
5
-12
-20
-9
1
-14
9
20
4
12
-24
-2
-65
10
-16
2
-14
-8
-30
-3
-8
2
0
8
18
3
31
18
-3
-1
2
-17
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
-48
-1
-12
7
0
0
6
1
0
0
11
6
0
0
41
0
0
-16
-11
0
0
13
0
0
0
-13
0
9
13
0
-11
7
0
3
0
-59
0
1
0
0
0
0
-9
0
-5
0
0
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
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
-15
0
1
0
0
0
0
-24
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
0
-3
0
41
0
0
0
0
0
8
-53
0
-1
-7
0
0
0
17
0
0
20
4
0
0
-3
0
0
6
0
0
0
-7
0
9
12
8
0
0
-62
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
-24
0
-1
30
0
10
0
-64
0
-5
1
0
7
0
-52
0
-1
9
0
0
0
43
0
1
-7
0
2
0
42
0
0
0
0
1
0
13
0
-8
0
0
-15
0
-14
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
-59
0
-18
0
0
0
0
75
0
0
-2
0
0
0
-12
0
0
8
0
0
0
-20
0
0
0
0
0
0
52
0
0
0
0
1
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-1
64
-2
33
5
-5
16
1
-19
-29
42
12
66
14
-9
-36
-18
14
-50
-25
18
3
11
6
-2
6
22
-20
32
16
-25
-6
-43
-3
1
0
-33
-5
26
21
-8
25
-59
-8
-14
-53
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-4
0
0
0
-8
0
2
0
0
0
0
-16
0
0
0
0
0
0
11
0
-1
0
0
0
0
6
0
0
0
0
0
0
-24
0
-2
0
0
0
0
17
11
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
17
-24
-12
-6
37
-28
68
1
0
-7
43
-28
-2
-12
-24
-4
2
15
-7
6
-2
-1
-8
-2
-27
16
-6
-8
-6
1
-1
0
-64
24
-4
0
-3
0
21
-7
0
-18
0
25
22
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
-11
8
0
2
-2
0
0
3
0
-9
-8
24
0
12
-5
-3
0
0
-36
0
11
18
0
8
0
9
0
-5
1
-7
3
0
30
0
0
0
0
-4
0
-23
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
4
0
0
0
-53
0
0
0
0
0
0
-29
0
0
0
0
0
0
63
0
14
0
0
0
0
-43
0
0
0
0
-8
0
27
0
4
10
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
-6
0
49
-6
9
0
0
-13
0
3
10
0
0
0
-16
0
5
-3
-2
0
10
7
0
0
0
-2
0
0
39
0
2
0
0
0
0
64
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-35
0
-33
0
0
0
0
-24
-1
0
-23
7
0
0
-43
0
-18
5
0
0
-1
12
-4
0
7
17
0
0
39
0
-18
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
18
48
10
15
-23
-3
-13
14
5
29
-27
46
-6
-5
-3
-9
-32
31
48
-1
-10
16
8
5
-8
-30
-9
22
-22
-5
-22
-32
-1
11
-18
21
16
43
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
9
0
-13
0
0
0
0
15
0
0
0
0
0
0
-8
0
-1
-1
0
0
0
1
0
0
0
0
0
0
-25
0
1
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
55
0
13
-6
4
0
0
-3
0
0
8
11
0
0
-34
0
8
13
0
0
0
-31
0
0
0
2
0
0
7
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
28
0
27
45
13
-4
2
-5
0
-16
-65
-52
10
0
-11
0
9
22
-1
39
0
-6
-9
-6
11
-5
-45
4
-5
0
48
-1
0
-16
0
29
-5
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
32
0
14
37
0
1
0
-18
0
-3
-34
9
14
0
-1
0
-18
42
0
19
0
-13
0
0
-27
0
-1
0
2
0
15
0
0
3
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
2
43
0
-8
1
-9
0
0
2
0
5
-4
2
0
3
21
0
0
-6
0
0
0
23
0
10
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
9
8
1
-11
-13
0
0
38
0
34
26
0
0
0
-62
-15
0
25
36
0
0
11
0
13
0
0
-1
0
-25
-13
-4
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
-14
3
27
31
17
-7
-12
-5
4
-6
-15
-16
-37
-42
-2
6
-23
-24
1
7
-21
11
6
9
-8
1
6
-62
-19
13
-31
6
-14
25
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
-1
0
0
0
1
0
0
0
0
0
0
2
0
-8
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-5
-10
-51
-10
-9
-12
0
66
-21
-13
7
15
-27
0
-13
-72
-22
39
12
-3
0
46
21
-2
-33
0
7
21
18
12
-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
-14
49
0
4
13
-11
18
6
18
0
1
14
6
11
1
3
0
-11
-38
-109
-6
2
-5
0
20
0
0
40
0
-29
-45
6
15
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-2
17
0
0
0
15
0
-12
15
0
0
0
49
0
1
-6
0
0
0
-6
0
-8
0
0
29
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
4
13
0
12
0
1
0
0
-12
0
-19
-1
0
0
0
13
0
0
-6
0
0
0
-4
0
20
0
0
0
0
-10
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
9
0
0
0
21
0
0
0
0
0
0
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-11
-10
13
-9
-81
3
9
-13
16
6
8
-15
-2
3
6
-34
13
-83
0
1
19
-14
-18
-30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-19
0
-1
0
0
0
0
26
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
14
-30
0
14
1
0
0
1
3
2
0
11
4
0
0
-4
0
6
0
6
-26
0
48
2
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-35
0
12
26
9
10
-2
18
0
2
-13
-3
6
-1
8
0
-14
9
0
-67
0
-17
-88
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
7
0
-27
3
-4
0
19
-39
0
-3
0
1
0
-11
8
0
37
0
25
-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
-41
0
-85
-7
0
0
0
-7
0
0
15
11
0
0
12
0
66
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
14
0
6
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
-1
-44
27
19
-38
-5
10
-14
-16
-2
8
-13
-4
1
-7
7
-9
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-14
0
9
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
9
0
0
-35
6
-44
0
-4
0
11
18
-4
-36
0
12
-22
-12
7
36
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
73
21
0
-12
0
11
0
2
-68
0
-6
7
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
6
0
0
-44
0
-5
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
18
0
26
0
0
0
0
33
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
67
-15
14
-3
-14
33
-11
-39
-41
-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
33
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
-31
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
16
0
20
0
15
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
25
0
-24
2
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
15
6
-7
0
0
16
-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
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
13
17
49
-39
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
2
-8
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-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
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
-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
-4
0
0
0
0
0
0
-6
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-74
-13
-4
-1
9
-32
9
-60
-46
-28
-25
-2
9
50
-4
-28
-82
-37
-26
-24
36
0
0
0
0
0
0
0
0
-16
2
17
34
24
-36
31
-30
13
-33
2
-17
-33
1
-19
-5
-1
-98
-46
1
3
-13
-1
-1
-13
11
14
-27
20
0
-29
-87
20
-23
33
30
12
-20
-5
1
2
6
-57
-13
-9
-3
-50
-13
7
-21
-2
19
0
-4
5
-3
8
36
-1
2
-20
1
-7
-25
16
-48
-4
-2
13
16
3
-29
-32
-4
7
17
-28
-3
-17
21
7
-64
2
7
-11
18
-9
-39
44
27
-52
-2
0
-65
-54
-14
0
-2
0
10
19
21
-10
-36
-8
-5
-23
5
8
4
43
5
-1
62
-50
0
-14
85
-34
-1
15
-45
6
-18
17
-14
-1
-27
-18
-2
-30
62
28
0
-4
-3
-29
-5
-60
-5
3
1
-73
9
-41
-26
0
-1
13
13
-59
-11
-45
21
2
12
-63
-65
36
0
-24
-1
46
24
-8
2
34
-5
0
-16
-23
6
-27
7
6
-1
-64
-14
3
-24
22
-12
-1
-113
100
4
30
9
24
2
-16
-17
-2
7
-24
16
-6
-9
-1
-7
-42
-7
40
-7
-79
-42
8
31
7
-8
-1
-16
-25
19
9
56
26
2
1
7
-64
39
-58
-5
0
-23
-40
-17
15
1
-28
-6
-51
-1
-18
-13
22
13
0
-14
-42
-33
26
-10
-36
-6
-11
19
8
10
11
25
-1
7
8
2
27
7
-6
1
40
13
-16
-47
44
-74
3
31
-33
-5
-74
9
-5
-7
-41
16
-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
4
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
25
0
0
-16
-40
0
0
0
0
0
0
38
0
0
0
0
0
0
-2
0
0
-24
0
0
0
-35
0
-26
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
-10
0
0
0
0
0
0
-43
0
0
0
0
0
0
-15
0
0
0
0
0
0
11
0
0
0
0
0
0
-7
0
0
-1
0
0
0
-23
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
2
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
28
0
0
0
0
0
29
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
28
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
1
0
0
0
0
0
0
7
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
-3
0
0
0
0
-2
0
0
0
0
0
0
16
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
-3
0
0
46
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
5
0
0
0
8
0
0
3
0
0
0
0
0
0
5
0
0
28
8
0
0
-7
0
0
-1
0
0
0
23
0
1
-8
0
0
0
-2
0
0
0
0
0
0
-3
0
28
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-28
0
0
2
0
0
0
9
0
-35
-4
0
0
0
31
0
0
0
0
0
0
-25
0
0
0
0
0
-4
-32
0
0
4
0
0
0
-18
0
-5
21
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-12
0
0
0
0
0
0
20
0
0
0
0
0
0
43
0
0
-2
0
0
0
17
0
0
0
0
0
0
-31
0
0
-1
0
0
0
10
0
0
-4
0
0
0
38
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
1
0
0
0
-1
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
22
0
0
19
0
0
0
7
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-29
0
0
0
0
0
-44
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
10
0
-73
0
0
0
8
0
0
45
0
0
0
12
0
0
59
0
0
0
6
0
0
-1
0
0
0
0
0
0
1
0
0
0
32
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
-11
0
0
0
-10
-12
0
0
0
0
0
0
79
0
0
0
0
0
-2
11
0
0
0
0
0
0
-11
0
-4
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
1
-40
0
0
9
0
0
-9
46
0
0
0
0
0
0
-5
0
0
20
0
0
0
31
0
0
8
0
0
0
57
0
0
0
0
0
0
11
0
0
0
0
7
0
23
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
-7
0
0
0
0
0
0
-19
0
9
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
12
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
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
-18
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
1
0
0
0
-2
0
0
8
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
9
0
0
0
0
0
0
-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
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-51
23
-18
0
-1
14
-4
-35
-66
-35
5
19
-8
0
0
0
0
0
0
0
0
11
5
25
-48
6
-32
-10
10
-17
0
-1
18
-20
45
38
24
-2
15
-20
5
4
-4
-1
0
-16
1
-22
-89
19
-31
-18
-12
-33
15
-40
22
13
-2
14
2
-1
-1
-101
-6
-3
-8
-5
4
-44
26
-20
-36
0
10
6
-6
10
-39
-15
-19
-15
6
-3
-11
-12
-58
-2
28
2
5
25
-17
1
-12
-4
0
-4
23
35
21
-19
-19
3
0
9
-33
22
20
-25
50
-13
0
-23
0
-4
-9
0
1
0
38
8
33
-16
60
11
-7
73
9
1
2
-38
-8
-1
-17
22
10
40
-38
2
1
-29
16
3
-32
5
-6
-3
-47
-4
-2
1
1
-22
-2
0
-1
0
-6
4
21
4
24
-4
4
27
-2
2
-3
30
-6
22
-11
18
-7
-4
-32
3
-12
17
-47
-30
5
-30
5
5
-6
-36
-10
-1
-3
-35
-8
-13
-22
-25
-4
-9
62
4
-26
-69
-15
-3
-14
15
1
-4
-22
5
-1
-16
14
-8
-22
10
-21
-2
31
5
-2
-3
32
-21
-3
-9
99
-4
-19
-2
-1
-2
1
2
3
-16
-18
-4
-19
13
35
13
17
-56
-27
38
41
65
-2
-13
19
16
2
-47
38
46
-9
-18
-1
-8
5
-16
-10
32
30
38
3
-11
23
0
-13
-42
8
-7
-20
-12
-9
3
-45
29
-21
-31
-23
12
22
-11
-9
0
-27
-12
11
9
-13
-1
-1
-32
0
-54
11
-13
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
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
-2
0
0
0
0
0
0
1
2
0
0
0
0
0
-52
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-8
-1
-16
0
-1
-18
0
0
-1
0
0
0
-26
0
0
0
0
0
0
-60
0
0
3
0
0
0
-45
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
11
0
0
0
0
0
0
-35
0
0
0
0
0
0
3
0
0
0
0
0
0
-9
0
0
0
8
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
18
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
1
0
0
-8
0
0
0
0
0
0
-2
0
0
0
56
0
3
27
0
0
0
-1
0
0
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-32
2
0
0
0
2
0
0
-10
0
0
-2
-33
0
0
-12
0
0
-2
-13
0
0
-2
0
0
0
-14
0
-2
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
-4
0
0
0
0
0
0
21
0
0
0
0
0
0
-13
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-20
0
0
0
0
0
0
-2
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
6
0
0
0
-12
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
-11
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
3
0
0
-6
0
0
0
-4
0
0
38
0
0
0
8
0
0
61
2
0
0
0
0
0
5
0
0
0
32
0
0
31
0
0
0
-9
0
0
0
3
0
0
-10
0
12
0
0
0
0
0
0
0
0
-17
-1
0
0
0
0
0
-10
0
0
9
0
0
10
0
0
7
7
0
0
11
-32
0
2
-20
0
0
1
-11
0
0
-40
-1
0
-12
20
0
0
-26
0
0
0
36
0
-51
1
0
0
0
-35
0
0
0
0
0
0
23
0
0
0
0
0
0
41
0
0
0
0
0
0
-10
0
0
0
8
0
0
14
0
0
31
0
0
0
9
0
0
30
0
0
0
5
0
0
-7
0
0
0
-7
0
0
-8
-1
0
0
3
0
0
10
0
0
0
2
0
0
0
0
0
0
-17
0
0
0
0
0
0
12
0
0
0
0
0
0
70
0
6
0
0
0
0
-12
0
0
2
0
0
0
35
0
4
0
0
0
0
17
0
0
0
0
0
0
-6
0
1
1
0
0
0
-8
0
0
0
0
0
0
-20
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
12
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
60
3
0
0
14
0
0
0
0
0
7
0
0
24
0
0
22
0
0
0
0
0
0
2
0
0
0
0
-3
9
0
0
-4
-102
-62
-23
-3
0
0
-23
1
-59
20
-1
11
0
1
-11
-38
-11
40
3
0
55
0
-96
-25
10
0
0
-30
11
-2
2
0
0
0
-23
0
-14
0
45
-1
0
-1
0
-12
0
0
-6
0
0
-1
0
0
-20
-20
0
1
-6
0
0
-45
0
6
8
0
1
0
-75
0
-18
-6
-51
0
-13
-21
0
0
-39
0
0
5
2
1
0
-7
-6
0
54
49
0
-12
10
0
0
-11
-7
0
29
-46
-24
0
0
-55
0
0
61
7
1
0
76
1
3
0
0
0
0
-17
0
0
0
1
0
0
-60
0
6
-3
-1
-4
-2
-25
0
0
11
0
-4
0
-20
26
-4
-7
3
0
-9
23
0
4
-28
-3
-7
0
39
1
1
-10
43
0
0
-20
0
1
10
0
35
0
-55
0
0
19
14
-30
0
60
6
0
0
12
0
0
-22
0
0
3
0
0
0
-85
0
9
0
0
4
0
-32
0
30
48
8
0
-8
0
0
-20
21
-11
0
0
-48
0
-6
-1
41
-6
0
-7
0
-19
-3
-1
0
0
-52
0
0
-4
0
13
0
-28
13
-23
0
0
-2
0
46
20
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
2
0
-3
0
-4
0
0
0
0
0
0
0
-1
0
1
0
14
0
0
30
0
0
0
-37
0
0
0
0
0
10
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
35
0
0
0
-92
0
0
-55
0
0
0
29
0
-8
-23
5
0
0
-5
3
46
8
-2
0
0
22
0
-25
48
0
0
0
-11
0
0
-8
-11
0
0
47
0
66
6
27
0
0
0
1
-29
0
0
4
0
0
0
-1
0
0
8
2
0
18
0
0
-75
0
0
40
0
0
14
0
0
-6
-11
52
0
-31
21
0
0
-19
0
0
31
9
0
0
-3
14
0
-22
1
0
0
-11
0
6
7
33
0
-100
12
-7
0
0
6
0
0
-10
0
-22
0
26
0
10
0
0
0
0
-1
0
0
0
0
0
0
-14
0
0
-1
1
0
-1
0
0
0
-19
0
0
3
24
0
-1
-30
-8
0
3
-37
0
0
-1
-1
0
0
49
0
0
27
-1
0
-2
38
0
-1
-1
-2
0
1
-62
0
0
0
4
-20
0
-12
1
0
0
0
0
0
18
0
0
0
0
0
0
1
0
-3
0
0
0
10
0
0
0
0
-9
0
1
7
0
40
10
0
0
0
-68
0
3
45
4
0
-2
18
0
-12
-1
0
0
0
5
0
2
-1
0
-1
1
-9
0
7
0
0
4
0
-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
-35
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
12
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
-11
0
0
0
0
0
0
35
0
0
0
-2
0
0
2
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
-2
0
0
0
0
0
0
0
0
38
0
0
0
-4
0
0
16
0
0
0
0
0
0
0
0
-3
0
0
0
0
31
0
0
0
0
0
-3
-34
0
0
0
0
0
0
20
0
0
0
0
0
0
33
0
0
0
0
0
0
-8
0
0
0
0
0
0
32
0
-1
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-23
0
0
-1
0
0
0
-11
0
0
0
0
0
0
-6
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
-7
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
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
-5
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
11
0
0
-4
0
0
0
-4
0
0
20
0
0
0
0
0
0
0
10
0
0
-17
0
-2
0
0
0
0
9
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
18
0
0
0
0
0
4
32
0
0
0
0
0
0
11
0
32
-1
0
0
-2
-44
0
0
0
0
0
0
23
0
0
0
0
0
36
-6
0
0
-1
0
0
0
3
0
-12
4
0
0
0
9
0
0
0
0
0
0
19
0
0
0
0
0
0
-22
0
0
0
0
0
0
-4
0
0
0
0
0
0
-20
0
0
0
0
0
1
28
0
0
1
2
0
0
-82
0
0
0
0
8
0
-53
0
0
0
-2
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
-68
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
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
-7
18
-3
-49
-9
0
0
0
0
0
0
0
5
29
-17
10
79
-1
-6
-42
37
-11
1
19
16
8
0
15
0
1
-46
0
9
0
0
-2
0
0
2
-10
0
15
-46
0
-1
41
-87
-10
57
-1
-1
8
0
34
2
-8
0
0
26
-14
-24
16
-22
0
-3
-112
-23
9
-10
-2
-39
-6
24
-30
-19
2
-3
24
-8
0
-5
36
-2
0
0
-2
0
-65
11
-16
27
-3
0
-27
-6
12
0
11
19
0
17
-90
-78
-8
0
-16
-35
0
-12
0
31
-2
0
0
0
-27
22
2
-12
2
-22
2
-4
6
-20
-2
1
10
28
6
-12
4
-6
0
0
7
23
-73
-8
4
-6
0
-3
-4
-4
-28
-2
0
5
-23
51
-10
13
26
0
0
-16
-72
13
0
-4
8
-75
-3
-3
0
-1
-8
21
1
0
-29
-20
6
-7
0
1
3
1
6
6
-6
0
-4
-1
74
18
20
5
11
34
12
-10
22
2
-28
13
-19
5
-13
17
-16
-5
7
-2
-4
10
23
-3
-12
2
0
-10
-15
20
3
10
-2
2
-27
-38
31
0
-4
12
-1
29
-14
39
6
-6
55
7
-1
-76
3
-2
-29
-8
0
15
-5
22
33
9
-7
40
-23
-12
26
6
9
0
-44
6
6
25
-11
-5
3
41
-31
-19
30
11
-28
4
-30
9
-30
-3
0
-3
12
17
5
-55
22
0
30
0
38
-10
-24
42
0
0
-28
-5
-21
-57
56
0
0
0
0
0
0
0
0
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
-16
6
0
0
7
0
0
-1
0
0
0
-58
0
1
0
0
0
6
-2
0
-15
0
0
-1
0
0
0
0
0
4
29
0
7
0
-4
-35
23
0
0
10
0
43
-22
0
0
0
30
0
-6
-27
0
0
0
-79
0
-102
-2
-9
-6
0
46
0
32
-6
7
0
0
-15
0
66
-17
0
0
0
-11
0
-51
0
0
0
0
16
0
1
0
0
-11
0
0
0
3
0
3
-11
-7
0
0
0
77
-4
0
0
0
0
0
16
15
0
17
18
0
0
25
15
0
0
-6
0
0
-30
-73
0
0
-19
0
6
8
5
0
0
-7
0
0
-1
-16
0
-1
6
0
0
0
-20
0
0
13
0
-4
0
-4
77
-36
0
0
0
0
-1
-12
0
-6
0
0
0
-15
17
0
-6
0
-1
37
-5
0
0
8
0
38
23
32
0
0
-8
-25
1
38
25
0
0
4
0
-6
17
-42
0
0
-2
0
-3
-2
-5
0
1
64
0
18
0
10
0
0
14
0
13
0
-6
3
0
9
0
0
0
6
7
0
0
0
0
0
3
0
20
10
0
0
-3
-10
0
0
30
0
-2
22
48
0
-24
-84
0
4
1
22
0
0
-7
0
6
0
9
0
-14
12
0
0
0
6
0
0
-31
0
11
0
20
0
-21
27
0
31
0
-23
-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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
-26
0
0
0
0
0
-77
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
16
2
0
7
0
0
0
0
0
0
33
0
0
0
-1
0
0
35
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
11
0
0
0
0
0
0
0
0
41
1
0
0
0
0
-3
52
0
0
0
0
0
-1
-9
0
1
-7
-1
0
-13
-85
0
0
6
0
0
-2
-12
0
0
4
0
0
10
-30
0
0
0
0
0
0
-12
0
-7
4
0
0
0
-10
0
0
0
0
0
0
7
-1
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
28
0
0
0
3
0
-10
32
0
0
2
0
0
0
20
0
0
-1
0
0
0
11
0
0
0
0
0
0
10
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
16
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
2
0
0
0
15
0
0
0
0
0
0
55
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
24
-10
-33
3
6
-22
-25
13
0
-2
-19
3
0
1
0
-1
6
0
-43
0
0
-1
0
0
0
0
0
0
-22
0
-1
-43
30
-3
-41
6
0
-13
4
-55
-63
-14
-7
3
-8
-7
-24
-57
-43
2
-4
8
-25
-15
-3
-33
24
0
-40
-38
6
34
-8
0
-4
3
-23
-22
27
-18
3
0
-4
1
7
-4
8
1
0
0
12
14
0
0
-20
0
-1
-27
9
6
-3
27
-66
2
25
0
-7
6
0
2
-27
17
-11
-19
32
-3
14
19
14
-41
-4
3
0
-7
-8
-57
58
10
-3
-1
16
-13
-21
66
-6
1
4
-2
-17
38
-11
-34
2
0
-1
-22
4
-46
-1
-1
0
0
-17
-50
-26
0
2
43
-9
0
0
0
0
-5
-6
0
13
-25
-11
9
-12
-12
-9
-39
39
-37
-20
-3
0
0
-47
9
-36
67
-11
17
6
-19
-6
28
17
4
13
-26
-29
-10
37
-48
-12
-9
43
-41
-2
15
7
1
-3
-7
2
73
25
-27
5
3
3
-26
13
20
0
-8
-3
11
4
24
21
4
2
-25
1
4
-33
6
0
-7
23
19
-42
14
-48
-30
-25
2
-47
26
-27
-22
0
-3
2
21
-35
-15
28
-22
-17
0
25
1
43
15
11
12
-7
-29
11
-19
-25
-1
-20
1
14
8
-21
-11
0
5
0
-5
36
37
20
0
-23
3
1
-27
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
-3
0
-3
1
-17
0
0
19
0
0
0
27
0
0
0
0
0
3
0
0
0
0
0
-23
0
0
0
0
0
0
2
0
0
0
0
0
3
0
0
0
0
0
-38
0
0
0
-1
0
0
-17
0
4
0
-2
0
-8
54
-7
0
0
23
2
0
-22
0
0
0
6
0
0
-10
0
0
0
-14
-1
1
0
19
0
0
2
0
-7
0
0
-1
0
0
0
1
0
-19
-8
0
0
-2
0
-4
-39
0
0
0
0
0
-54
1
0
6
19
-15
0
38
0
0
0
-86
1
0
5
-42
0
0
-5
4
0
5
-54
0
0
111
3
0
0
21
0
-13
0
0
0
3
-32
0
0
-2
0
8
0
-32
0
0
0
0
0
0
25
0
0
0
0
0
-2
-53
0
0
0
1
0
-2
-7
0
3
-13
0
0
-13
0
0
0
6
30
0
7
22
0
0
25
3
0
-4
-2
0
0
-14
-3
0
0
-5
0
0
-2
0
0
0
-19
0
0
7
4
10
0
31
0
0
0
0
0
0
7
0
0
0
-1
0
0
-13
0
1
0
0
0
0
-18
0
0
-5
8
0
0
0
0
-49
-3
1
0
0
-41
0
1
14
-3
0
0
-46
0
43
-4
0
0
0
13
0
-6
0
0
0
0
-12
0
-1
-1
0
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
-36
0
0
-1
-4
0
0
26
0
0
0
-20
0
0
0
0
0
27
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
13
3
-4
8
1
0
0
-1
0
0
-23
7
0
0
21
0
0
2
0
0
0
-5
0
-2
-8
0
0
0
84
0
2
-22
3
0
0
-12
0
10
1
0
0
0
0
0
27
0
0
0
0
0
0
0
0
44
0
-2
0
0
0
6
58
0
0
0
0
0
39
1
0
10
20
0
0
-32
-8
0
-1
-4
0
0
-6
2
0
0
1
0
0
-6
30
0
0
-7
0
0
0
41
0
-42
-7
0
0
0
-17
0
-4
7
0
8
0
25
0
0
0
0
0
0
-15
0
0
0
0
0
0
31
0
0
0
0
0
0
-9
0
0
-1
0
0
4
36
0
0
0
0
0
0
19
0
2
-6
-6
0
0
-19
0
0
2
0
0
0
34
0
0
0
0
1
0
-2
0
0
0
-3
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
2
0
0
0
0
29
0
0
0
0
0
0
-50
0
21
0
0
0
0
-7
0
3
0
0
0
0
-6
0
7
0
0
0
0
-27
0
0
0
0
0
0
36
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
-29
0
0
0
0
0
0
11
0
0
0
-16
0
0
0
0
0
39
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
28
-1
7
0
0
0
-2
0
0
34
2
0
0
-3
0
-2
34
1
0
0
-6
0
-6
62
0
0
0
-5
0
1
3
0
0
0
30
0
0
0
-10
0
0
-1
0
-1
0
0
4
0
0
0
0
0
-15
0
0
0
0
0
-21
20
0
0
2
0
0
32
6
0
42
-10
0
0
-18
0
0
0
-2
0
0
0
19
0
0
6
0
0
9
26
0
0
-4
0
0
0
-19
0
-22
0
0
0
0
-16
0
0
8
0
0
0
-15
0
-7
0
0
0
0
54
0
0
0
0
0
-11
21
0
0
0
0
1
0
0
0
0
8
0
0
0
5
0
1
0
-4
0
10
9
1
0
-4
2
0
0
-22
6
0
-3
0
0
0
-74
0
0
0
0
0
0
26
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
2
0
-29
0
6
-2
1
0
-2
-4
0
-2
-2
-4
0
0
-7
0
0
5
3
0
0
-7
0
-1
0
2
0
0
-1
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
13
0
4
3
0
0
0
6
0
0
0
19
0
0
0
0
0
-11
0
0
0
0
0
-56
0
0
0
0
0
0
-6
0
0
0
0
-12
-9
0
0
13
-12
0
7
0
0
0
8
0
11
1
5
1
0
32
2
-3
58
-10
0
0
-6
3
0
-111
53
0
7
-27
3
3
17
0
0
0
8
0
-26
1
0
0
0
0
0
-56
0
0
3
0
0
0
1
0
-39
-9
-2
0
0
0
-6
-42
0
0
6
0
0
-1
0
0
77
-2
16
0
-10
12
1
0
1
0
0
66
-6
0
-2
3
0
0
30
-23
0
0
-28
-6
0
0
-8
0
-36
-16
0
0
0
-71
0
0
0
0
-13
0
44
-1
0
0
0
0
0
16
0
0
0
0
0
0
-99
0
0
0
0
0
0
22
0
0
4
0
0
-9
9
0
3
-10
16
0
-3
47
0
-4
25
0
0
0
-110
0
-4
-16
0
0
-2
1
0
0
0
0
0
0
60
0
0
0
3
9
0
41
0
0
0
0
-4
0
51
7
0
0
0
0
0
6
0
-43
0
0
0
-1
-15
0
6
0
0
0
0
-46
0
-28
56
-7
0
1
-1
0
4
-4
0
0
0
-6
0
-16
1
0
0
0
8
0
-1
0
20
0
0
18
0
-1
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
-13
1
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
9
0
0
0
0
0
33
0
0
0
0
0
0
-3
0
0
0
0
-7
0
0
0
18
0
0
-23
0
0
0
6
0
0
11
0
0
0
4
0
-1
-27
0
0
0
-1
0
1
-6
0
0
0
22
0
0
-7
0
0
0
-33
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
-22
-12
0
0
2
0
0
3
0
0
14
65
0
0
-4
21
0
0
-13
0
0
10
22
0
0
-7
0
0
0
-21
0
0
-9
0
0
0
-37
0
44
6
0
0
0
-23
0
0
0
0
0
0
3
0
0
0
0
0
0
-47
0
0
0
0
0
0
-30
0
0
0
0
0
0
-56
0
0
-24
0
0
0
-20
0
0
4
0
0
0
-31
0
0
-55
0
0
0
-23
0
0
-9
0
0
0
-53
0
0
0
0
0
0
-43
0
0
0
0
0
0
35
0
0
0
0
0
0
-17
0
0
0
0
0
0
9
0
0
0
0
0
0
40
0
0
3
0
0
0
-22
0
0
1
0
0
0
3
0
0
107
0
0
0
26
0
-27
-3
0
0
0
-1
0
0
0
0
0
0
18
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
-31
0
0
0
0
0
0
10
0
0
0
1
0
0
0
0
0
-44
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
-6
-15
0
37
0
0
0
0
0
0
-10
0
0
0
43
0
0
50
0
0
0
2
0
0
12
0
0
0
-12
0
0
1
3
0
0
88
0
0
0
-1
0
0
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
0
0
-8
0
0
-3
1
0
-14
48
-14
0
-24
37
0
0
-15
0
0
0
-2
0
0
-26
0
0
-1
57
0
0
38
0
0
0
22
0
60
8
0
0
0
-30
0
0
0
0
0
0
-13
0
0
0
0
0
0
40
0
0
0
0
0
0
-24
0
0
0
0
0
1
-41
0
0
-3
0
0
0
-37
0
0
-4
0
0
0
-9
0
0
-7
0
0
0
-30
0
0
-7
0
0
0
-47
0
0
-2
0
0
0
11
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
-2
0
0
6
0
0
0
-77
0
38
-1
0
0
0
2
0
0
0
0
0
0
-69
0
7
12
0
0
0
-1
0
0
0
0
0
0
47
0
-6
4
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-62
-3
-20
-8
-2
-10
0
-1
12
0
-48
7
-1
-2
0
0
15
-1
-19
-29
7
-1
4
31
-72
14
3
12
-3
-7
6
12
6
2
-12
2
-14
5
18
-1
13
3
46
-3
1
15
-60
-18
-18
3
-42
-50
15
-96
-39
-18
51
1
-35
7
-6
17
-1
-18
3
-23
-23
3
14
7
4
52
6
-24
-3
28
2
15
-82
6
-5
-11
-2
-1
25
23
33
-3
27
1
5
9
-4
-36
41
11
-4
74
7
-7
5
7
-28
-2
15
1
15
-11
17
-11
0
-41
-8
14
34
-55
3
-3
-38
14
5
-30
23
-18
-1
2
-1
24
-4
-3
5
10
-3
4
24
-65
-5
0
1
-40
-37
-7
19
-7
4
0
5
-6
20
-17
-7
-17
-9
-37
30
16
22
28
-9
-6
-9
13
-33
11
11
-16
-20
56
17
-9
20
45
-53
-14
-2
-60
-8
2
16
-67
-6
-17
-16
-23
-24
-41
14
-11
-16
-12
16
28
-14
1
-5
-3
21
-13
12
-11
0
-4
-18
28
81
-30
2
-8
-13
3
0
7
2
-10
4
22
-11
21
-29
-35
-2
-29
-16
12
12
-24
30
13
9
1
-16
43
6
33
2
-11
-11
-44
-26
20
26
17
51
-4
-2
2
35
-11
2
-16
-18
33
-24
20
14
-20
-3
-7
3
37
10
29
33
2
-19
-33
34
0
-26
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
0
0
0
0
0
-28
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
1
6
-7
2
0
0
0
-1
0
0
32
0
0
0
34
0
-10
24
-10
0
0
26
0
3
-77
0
0
0
-11
0
3
11
-8
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
11
0
27
1
0
0
0
0
0
-21
0
0
0
0
0
-2
-1
0
4
3
2
0
37
14
0
-1
2
-1
0
-3
2
0
0
-34
1
0
-36
0
0
0
-8
0
0
0
-24
0
9
-7
2
0
0
-34
0
0
2
0
0
0
23
0
0
0
0
0
0
43
0
0
0
0
0
2
13
-1
0
-4
-1
0
0
-4
0
0
1
0
0
1
8
0
0
8
-2
0
0
-15
0
0
25
-1
0
4
0
0
0
13
0
0
0
4
0
1
0
0
0
0
-37
0
0
4
0
0
0
-40
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
11
-2
0
0
3
100
0
-4
0
0
0
2
12
0
0
-3
0
0
0
39
0
1
-1
4
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
30
0
9
0
0
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
-54
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
3
4
0
-36
0
0
0
-4
0
0
-12
10
0
0
45
0
-11
55
-9
0
0
9
0
0
-32
0
0
0
0
0
2
-8
0
0
0
12
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
6
0
0
0
0
0
-9
0
0
8
7
0
0
20
-38
0
0
4
0
0
2
19
0
0
-4
0
0
-6
30
0
0
-10
0
0
12
50
0
10
1
0
0
0
11
0
0
0
0
0
0
17
0
0
0
0
0
0
-29
0
0
0
0
0
-4
-8
0
0
0
0
0
0
-24
0
0
0
0
0
-1
-2
0
0
3
0
0
7
-79
0
-1
21
0
0
0
23
0
0
0
0
0
0
-67
0
0
0
0
0
0
42
0
0
0
0
0
0
21
0
0
0
0
0
0
36
0
0
0
0
0
0
-7
0
-6
0
0
0
0
9
0
3
-1
0
0
0
3
0
-5
0
0
0
0
0
0
-2
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
-30
0
0
-1
0
0
-9
0
0
0
0
0
0
-2
0
0
0
0
19
0
0
0
0
-2
0
-61
0
0
0
-1
0
0
16
-2
0
0
-2
0
-2
-9
-8
0
0
-19
0
-3
-12
1
0
0
10
0
0
-1
19
0
0
0
0
6
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
25
-3
-8
0
29
22
0
0
14
0
0
33
-39
0
0
-7
0
0
22
6
0
0
37
0
0
0
-26
0
19
0
0
0
0
-20
0
0
2
0
0
0
-50
3
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
0
-1
0
0
0
14
0
0
11
0
0
-19
32
0
0
-7
-1
0
0
-20
0
0
10
0
0
0
25
2
0
6
4
0
0
-51
0
0
0
0
0
0
35
0
0
0
0
0
0
-28
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
4
0
0
0
0
0
0
-18
0
0
0
0
0
0
14
0
-6
1
0
0
0
4
0
0
2
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
26
8
-31
1
0
0
8
0
3
-14
3
-7
0
6
2
3
-56
-7
0
-2
43
0
0
-7
0
0
7
-15
0
2
0
0
0
0
38
0
0
0
0
0
0
0
0
65
0
0
0
0
0
0
0
0
-4
-2
26
0
0
0
1
2
0
0
-2
0
0
-10
-24
0
-52
16
-4
0
-7
10
0
0
-6
0
0
9
-23
0
0
12
-1
0
6
-56
0
0
1
0
0
0
19
0
2
0
-10
0
0
-84
0
0
0
0
4
0
14
9
28
0
0
0
0
7
0
0
0
0
0
0
-55
0
0
0
0
0
0
28
0
-3
4
0
0
0
-71
0
0
-6
-7
0
0
-13
0
0
-1
21
0
0
-12
0
-3
9
2
0
0
-20
0
0
0
0
0
0
75
0
0
0
0
-6
0
5
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
1
0
0
0
0
-30
0
0
0
0
0
0
39
0
4
0
0
0
0
0
0
0
0
15
0
-4
-12
0
62
0
1
0
0
-17
0
0
0
0
0
0
-21
0
10
0
0
-4
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
-8
0
0
0
29
0
0
0
0
0
-2
0
0
0
0
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
2
-24
0
0
0
0
0
0
-2
0
0
0
0
0
0
13
-7
0
0
-2
0
0
-6
0
0
0
-18
0
0
-7
0
0
0
-18
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
18
-20
0
0
-6
-36
0
0
5
0
0
6
-40
0
0
-1
0
0
2
-7
0
0
55
0
0
0
10
0
-7
4
0
0
-7
2
0
0
0
0
0
0
-21
0
0
0
0
0
0
-10
0
0
0
0
0
0
-9
0
0
0
0
0
0
-41
0
0
-5
0
0
0
17
0
0
0
0
0
0
4
0
0
-15
0
0
0
-31
0
0
0
0
0
0
-24
0
0
-1
0
0
0
19
0
0
0
0
38
0
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
10
0
0
0
0
0
0
11
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
-30
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
31
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-4
0
-49
0
0
0
1
0
0
-8
0
0
0
-4
0
0
-18
0
0
0
-8
0
0
49
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-58
0
0
0
0
0
2
-7
0
-3
12
20
0
10
49
0
0
-29
0
0
-9
-45
0
0
-2
0
0
0
23
0
0
-15
0
0
13
-34
0
-20
0
0
0
0
28
0
0
0
0
0
0
-4
0
0
0
0
0
0
-22
0
0
0
0
0
0
-26
0
0
3
0
0
0
-2
0
0
1
0
0
0
11
0
0
-8
0
0
0
7
0
0
6
0
0
0
5
0
0
-2
0
0
0
16
0
0
0
0
0
0
52
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
-1
0
-1
0
0
0
0
4
0
0
3
3
0
0
-11
0
-1
0
0
0
0
1
0
-1
0
1
0
0
-5
0
1
0
0
0
0
19
0
0
0
0
0
0
3
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
6
0
-31
0
0
4
0
0
-54
0
0
0
0
0
0
3
0
0
0
0
45
2
0
0
-17
-49
-16
-5
-2
0
0
28
0
2
33
10
0
0
-12
1
-83
-60
51
-8
0
-22
19
-32
-3
-10
0
0
-55
0
-15
-8
0
6
-15
37
-1
10
1
28
-2
0
18
0
-134
0
-1
-7
0
7
6
-8
0
14
-2
-2
0
-11
0
28
0
0
0
4
0
0
-33
40
0
30
-23
-15
0
-3
36
0
0
-50
0
0
9
-17
0
0
-8
0
-4
-4
-5
0
0
-21
8
-11
32
28
0
-27
-27
7
15
0
-12
0
0
39
30
1
0
16
71
49
0
0
0
0
-7
0
0
3
-1
0
0
31
0
-3
-54
7
-6
7
19
0
0
62
0
23
3
-62
-7
-3
11
-12
-1
13
-41
-11
0
-19
-3
-3
1
-22
-3
0
-27
57
0
0
-8
-2
0
19
47
-86
-4
-19
0
0
-5
-1
-80
0
19
0
0
0
10
-8
0
-18
0
0
0
0
0
0
-57
0
-30
-2
3
8
0
-6
0
-1
27
3
0
0
15
6
44
-16
-6
0
0
-4
-4
-3
-1
-6
0
-19
-49
4
3
4
-11
1
0
-68
0
0
-13
0
21
0
-19
0
-4
0
0
-2
0
-132
3
0
-2
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
35
-3
0
0
0
0
0
0
0
0
-18
0
0
0
8
-2
0
-9
2
0
0
-4
0
2
0
1
0
-3
-12
0
17
-25
0
0
4
-3
0
-1
0
0
0
0
1
0
-21
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
15
0
0
0
0
0
3
0
0
16
11
4
0
-29
-16
0
0
-12
0
0
2
-9
0
0
33
3
0
-1
61
0
0
2
0
0
-10
0
0
64
-64
0
0
7
-64
0
-3
2
0
0
0
34
0
0
0
0
0
0
-38
0
0
0
0
0
0
-48
0
0
0
0
0
0
-24
0
0
10
0
0
0
51
0
0
3
-1
0
0
-7
0
0
-9
-1
0
0
40
0
2
-4
-17
0
-7
0
0
-1
0
0
0
0
32
0
0
0
0
-3
0
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
-4
0
9
0
0
0
0
-3
0
-3
4
0
0
0
-42
0
2
-1
0
0
0
-1
0
0
0
1
0
0
-32
0
3
0
0
0
0
0
0
8
0
0
0
0
-47
0
20
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
27
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-8
0
7
0
0
0
12
0
0
-6
0
0
0
-4
0
0
6
0
0
0
0
0
-1
15
0
0
0
-6
0
-6
-10
0
0
0
0
0
7
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
5
0
0
0
0
0
0
-6
0
15
-1
9
0
-15
21
0
0
11
0
0
3
-4
0
0
0
0
0
0
-38
0
0
-11
0
0
0
-52
0
-5
0
0
0
0
-3
0
0
0
0
0
0
-32
0
0
0
0
0
0
40
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
-7
0
0
9
0
0
0
-12
0
0
6
0
0
0
-13
0
0
-3
0
0
0
-32
0
0
0
0
2
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
0
0
0
0
5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-2
0
0
0
0
-1
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
15
-33
0
0
0
1
0
0
0
6
0
0
0
0
0
72
7
0
0
-2
0
-1
6
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
6
0
0
2
0
0
0
0
0
-1
0
6
0
7
31
0
0
1
0
0
4
-22
0
0
-6
0
0
-9
9
0
0
-2
0
0
0
-28
0
-4
4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
6
0
0
0
0
0
0
12
0
0
4
0
0
0
-19
0
0
11
0
0
2
16
0
0
0
0
0
0
-20
0
3
0
0
0
4
47
0
0
0
0
0
0
-5
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
0
0
0
0
0
11
0
0
0
0
0
0
10
0
0
0
-1
0
1
6
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
69
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
-4
0
-2
71
0
0
0
0
0
0
0
-1
9
19
0
-1
63
-10
-2
-2
0
0
16
0
-14
-17
9
-3
0
11
24
4
-7
56
-1
0
7
13
-3
-11
18
2
2
5
-18
-14
27
-45
0
3
-30
30
-70
-40
36
0
-6
-3
-72
-66
47
15
10
0
-1
43
-12
0
-4
-53
0
0
-36
-53
0
-5
-28
-52
-4
-32
0
20
-17
0
0
24
-2
48
16
-13
1
1
12
14
-6
-1
-11
-4
0
3
33
-51
-20
-25
0
23
26
-17
52
39
1
0
0
26
6
0
8
0
0
-24
6
-17
0
-12
30
3
-7
0
23
-84
0
3
-62
0
0
0
0
0
-5
-22
0
15
-11
20
37
-5
-16
-6
39
-3
-16
-13
-11
-3
0
-4
29
7
10
-19
-16
4
17
-2
-12
-10
-6
42
-12
2
13
-10
-19
-11
18
-13
28
-8
-11
-20
12
-6
2
-2
22
-2
-2
5
-1
-7
-1
26
-48
0
9
-3
0
0
-33
-37
-1
15
-3
1
-2
11
-1
48
-1
1
31
-35
65
-15
-7
-6
0
15
-52
-25
-13
-7
-6
-27
40
5
-23
26
17
11
2
12
16
-42
11
15
9
-7
29
-41
-38
45
-3
38
-2
-4
-4
-44
59
0
8
8
-27
-3
-37
-29
0
11
-34
-1
-1
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
39
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
4
8
4
13
0
0
0
3
0
0
4
1
0
0
45
0
1
33
0
0
0
0
0
-12
1
0
0
0
-5
0
-1
-1
0
0
0
5
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
3
0
-31
0
0
0
0
0
0
-20
0
0
0
0
0
-3
19
0
23
6
0
0
-6
14
0
0
0
0
0
0
-73
0
0
-2
0
0
0
-59
0
0
-7
0
0
0
-23
0
-39
-6
0
6
0
-28
0
0
-3
0
0
0
27
9
0
0
0
0
0
-15
0
0
0
0
0
0
15
0
0
-6
0
2
-1
-13
0
0
22
0
0
-3
0
0
0
-2
0
0
3
31
0
0
-18
0
0
0
-36
0
0
26
0
0
10
-13
0
0
6
0
0
0
-51
0
0
0
0
0
0
13
0
0
0
0
0
0
21
0
0
0
0
0
0
-7
0
0
0
0
0
25
-1
0
-2
-3
0
0
0
-30
0
-2
-6
0
0
0
21
0
0
0
0
0
0
28
0
7
-3
0
0
0
-4
0
0
2
0
0
0
-3
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
39
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
-2
0
28
0
0
0
0
0
0
21
0
0
0
0
0
0
4
0
0
0
-9
0
0
-42
0
0
0
2
0
0
-4
0
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
-16
0
0
0
0
0
-1
-11
0
19
-17
10
0
-14
52
0
0
26
0
0
-9
-6
0
0
2
0
0
-3
-15
0
0
34
0
0
0
-25
0
-31
-1
0
0
0
60
0
0
0
0
0
0
11
0
-2
0
0
0
0
-36
0
0
0
0
0
0
-15
0
0
0
0
0
0
29
0
0
2
0
0
2
-8
0
0
-3
2
0
3
-64
0
0
-12
0
0
0
58
0
0
-1
0
0
0
14
0
-2
10
0
0
0
-21
0
0
0
0
0
0
-7
0
0
0
0
0
0
23
0
0
0
0
0
0
-2
1
1
0
0
0
0
12
0
0
0
0
0
0
-23
0
-4
0
0
0
0
10
0
0
0
0
0
0
-20
0
2
-11
0
0
0
-7
0
0
1
0
0
0
-78
0
1
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
26
0
0
0
0
0
0
-7
0
0
0
2
0
0
-6
3
0
0
7
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
-13
0
0
0
0
0
32
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
-4
0
0
0
0
-24
0
0
0
0
0
0
29
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
4
0
0
0
0
0
0
1
0
0
0
23
-7
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
-4
0
0
0
16
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
16
0
0
0
0
-19
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
41
0
0
0
0
0
0
-18
0
0
0
34
0
-3
-12
0
0
0
0
0
0
-15
0
0
0
0
0
0
43
0
0
0
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-12
8
2
0
12
58
0
0
-1
0
0
0
-51
0
0
-17
-1
0
0
23
0
0
0
0
0
0
-23
0
-45
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
29
0
0
0
0
0
0
-12
0
0
0
0
0
0
-43
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
-3
0
0
0
0
-1
0
0
0
0
0
0
-1
0
-17
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
-12
0
3
0
0
0
0
20
0
0
0
0
0
0
0
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
101
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
4
0
0
0
0
0
1
7
0
0
0
3
0
0
-1
0
0
0
-1
0
0
-2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-11
0
0
0
1
62
0
0
0
0
0
2
-20
0
0
0
0
0
0
18
0
0
5
0
0
0
0
0
-7
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
12
0
0
0
0
0
0
13
0
0
0
0
0
0
8
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
2
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
0
0
3
-1
6
4
2
-23
-22
-69
-64
30
-10
13
-2
8
-6
2
-10
0
-1
25
24
-14
3
-2
-24
63
-10
0
-1
-12
0
-2
7
28
-16
-1
-41
0
-27
40
-9
30
-14
59
7
6
-28
23
9
-11
4
-10
-12
-25
16
-2
-2
9
3
-7
17
-44
-9
-20
17
15
9
-1
43
-31
29
2
-8
-2
1
-2
17
-35
33
15
-9
-1
20
0
8
-2
-12
-8
-3
16
-15
-4
-68
7
2
-2
-22
16
2
-18
61
-26
1
30
24
-6
105
-30
-51
-2
-1
17
37
32
-21
-32
-4
-29
11
1
32
-27
1
0
15
0
-1
34
-4
-14
-1
4
-3
42
-14
10
-17
-3
42
1
12
-21
6
-1
-2
-27
-21
9
-23
4
-38
-6
-18
-49
8
0
-9
5
-2
-9
-11
5
-4
1
2
-7
-35
-11
-9
2
4
-47
-1
15
-16
-1
-13
11
6
-5
4
-17
-22
-5
9
0
-3
5
27
-53
14
-31
-3
-1
-31
63
12
-13
-24
-7
-7
22
-17
-13
-10
-49
-1
-12
19
7
28
-1
27
21
-16
46
13
-23
48
25
23
-3
24
-2
5
0
24
-28
-30
-38
13
-71
41
-25
-53
-1
-1
23
-19
-5
-40
36
2
27
31
-43
8
-24
-2
-3
-2
25
-34
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
46
0
0
0
6
0
0
-1
0
0
0
54
0
0
-17
2
0
0
-8
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
4
0
0
0
0
0
-30
0
0
0
0
0
0
8
0
0
0
0
0
0
11
0
-9
0
-1
0
-2
35
0
0
-1
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
44
0
-40
0
0
0
0
6
0
0
0
0
0
0
-8
0
14
0
0
0
0
11
0
0
0
0
0
0
-5
0
0
0
0
0
0
-20
0
0
0
0
0
0
18
0
0
0
0
0
0
6
0
0
0
0
0
0
11
0
0
0
0
0
0
9
0
0
0
0
0
0
-7
0
0
0
0
3
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
14
0
0
0
0
0
0
8
0
0
12
0
23
12
0
0
43
-45
0
-10
0
0
0
-2
0
0
-37
-7
2
0
24
-34
0
50
27
0
0
14
0
0
2
10
0
1
-47
-2
0
-36
-8
0
0
-60
-2
0
11
-7
0
0
0
0
0
0
0
4
0
0
0
0
0
-17
-20
-4
0
-9
0
24
10
0
0
54
0
0
-29
-40
0
24
8
-5
0
54
33
0
0
20
0
0
-41
-8
0
-1
21
-10
0
-7
46
1
0
32
-9
0
-2
16
0
9
14
0
0
-1
2
11
0
0
0
0
0
19
-5
6
0
0
0
0
-2
0
0
0
0
0
2
0
0
8
17
2
0
16
-12
0
0
79
-1
0
-6
13
2
0
33
9
0
0
-5
0
-2
-26
-10
0
0
16
0
-1
-30
-17
0
0
4
0
-1
-17
0
0
0
6
0
0
0
-7
0
0
6
-11
0
0
0
0
0
44
7
0
0
3
0
-1
34
0
13
3
0
0
-2
-11
0
0
-3
-42
0
4
-29
0
28
-5
0
0
0
-41
0
-1
-13
1
0
0
-13
0
-12
-39
0
0
0
22
2
-2
8
22
0
0
16
0
-40
0
0
0
0
25
-6
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
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
7
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
8
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-10
52
-44
-13
7
3
-30
-17
-4
-7
-1
2
-2
3
-17
8
-15
3
-12
-2
15
6
55
-34
-2
17
-2
-1
-11
9
-57
2
29
-3
18
-14
-45
17
-8
-27
10
7
-88
-43
-28
-6
7
13
68
-34
14
-39
-10
-13
5
27
39
19
-14
-25
40
35
38
0
-34
35
21
9
-23
-34
3
31
-23
-11
42
-80
6
1
-18
2
2
0
31
1
0
-2
-43
0
41
11
-5
0
-5
-20
10
-6
-11
-6
-2
-38
-36
4
2
-13
39
0
-6
-6
16
0
-39
-39
-2
2
34
-7
-47
-11
-1
-2
16
22
-24
0
-20
-3
1
-34
-62
-24
2
-28
27
-33
-54
-34
20
12
-30
-4
-1
-63
1
6
37
-12
-9
-2
1
-50
6
-22
3
16
-4
-18
5
0
-2
0
25
1
-13
-41
-6
11
-14
3
-5
54
12
-2
45
2
-10
-4
-54
-19
8
-16
3
-7
3
4
18
-54
-10
20
19
7
5
-52
34
16
-19
-36
-10
4
-2
-9
-19
-1
-17
3
0
-29
-27
13
51
1
-17
-15
-25
-13
-36
-31
-46
-8
-3
3
5
-22
-5
-39
-1
28
-5
19
7
37
6
-19
-7
-15
-25
-3
5
66
2
4
-3
17
9
2
-10
3
-2
-15
5
-18
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
1
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
11
3
0
0
2
6
0
0
2
0
0
0
5
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
22
0
0
0
0
0
0
-6
0
0
0
0
0
0
-17
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
18
0
0
0
-7
0
3
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-66
0
0
1
0
0
0
9
0
11
-9
1
0
2
-13
0
0
1
0
0
1
39
0
0
0
0
0
0
47
0
0
2
0
0
0
-59
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-7
0
0
0
-3
0
0
11
0
0
0
0
0
6
4
0
0
2
0
0
0
8
0
0
-8
0
0
0
-22
0
0
10
3
0
0
32
0
0
0
0
0
0
3
0
0
0
0
0
0
23
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
7
0
0
0
0
-9
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
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
-12
0
0
0
-7
0
0
-38
0
0
0
3
0
0
-3
0
0
0
-6
0
1
-3
0
0
0
-2
0
0
-12
0
0
0
-11
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
-1
0
0
6
4
0
37
15
15
0
32
36
0
0
10
0
0
1
-30
0
0
-7
0
0
10
30
0
0
2
0
0
0
7
0
-8
0
0
0
0
-1
0
0
0
0
0
0
-27
2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
1
22
0
0
0
0
0
0
10
0
0
13
0
0
0
-35
0
0
9
0
0
0
33
0
0
9
0
0
0
-53
0
0
0
0
6
0
-15
0
0
0
0
10
0
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-24
-11
0
0
-2
0
0
0
10
0
0
0
0
0
0
21
0
0
0
0
0
0
-19
0
-3
1
0
0
0
7
0
0
0
0
0
0
-20
0
0
0
0
8
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-122
1
0
0
-57
-60
-81
-15
1
0
0
11
0
57
82
7
0
0
12
29
18
21
8
0
0
-34
0
-10
-20
-3
0
0
-60
0
-15
-27
0
0
0
-37
-1
23
0
0
0
0
16
0
-18
0
6
0
0
0
0
-1
0
-96
0
-2
0
3
0
-13
-6
0
0
-47
0
0
25
-12
0
-18
13
-28
0
-7
-3
0
0
15
0
-1
-9
35
0
0
30
-7
0
-19
10
6
-1
-69
-7
0
0
-18
0
-42
17
0
0
-3
-16
0
0
-3
0
-2
0
-5
0
-2
0
0
0
0
-74
0
0
0
1
0
0
46
0
2
0
3
-2
-1
17
0
0
-19
0
0
4
-24
0
0
3
-30
7
7
46
0
0
-21
10
0
0
58
0
0
36
-4
-2
0
-14
1
0
-51
0
-75
0
-47
0
2
-1
0
9
0
-27
0
0
0
0
0
0
16
0
0
0
0
0
0
-58
0
-20
1
0
2
0
11
0
0
3
-1
0
0
-79
0
9
1
0
0
0
-22
0
-7
-28
2
0
0
-41
0
-11
-13
0
0
0
56
0
0
5
-6
0
0
-16
0
0
0
0
9
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-35
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
-18
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
-3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-12
0
0
-2
8
0
31
0
0
0
0
0
0
-3
0
0
0
0
3
0
67
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
70
0
0
0
0
0
0
-53
0
0
0
0
0
1
2
0
-1
-3
0
0
-1
13
0
0
0
0
0
0
9
0
0
-2
1
0
0
67
0
0
-11
0
0
0
-26
0
3
-1
0
0
0
-3
0
0
0
0
1
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
59
0
0
0
0
0
0
-17
0
0
-1
0
0
0
12
0
0
6
0
0
0
13
0
0
-2
-12
0
0
-36
0
0
0
0
0
0
-1
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-4
0
0
0
0
0
0
2
0
-4
-12
0
0
0
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
63
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
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
13
0
-7
-74
0
0
0
-2
0
22
8
0
0
0
-23
0
3
-29
0
0
0
0
0
-1
-2
0
0
0
-6
0
-6
0
0
0
0
-36
0
0
0
11
0
0
0
0
22
0
0
0
0
0
0
0
0
46
0
0
0
0
0
-3
-18
0
0
0
0
0
21
-21
0
-11
-68
8
0
-14
14
0
0
0
0
0
0
-11
0
0
-2
0
0
0
-63
0
0
-22
0
0
0
6
0
46
2
0
0
0
-25
0
0
0
0
-6
0
22
0
0
0
0
0
0
-9
0
0
0
0
0
0
-22
0
0
26
-6
-3
0
-106
0
0
1
0
0
0
-4
0
0
21
0
0
0
-22
0
0
-21
0
0
0
-5
0
0
-12
0
0
0
-51
0
0
0
0
0
0
-7
0
0
0
0
-1
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
9
0
0
0
0
0
0
-40
0
0
-15
0
0
0
17
0
0
0
0
0
0
-1
0
0
-1
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
24
0
0
40
0
0
0
8
0
0
7
0
0
0
-8
0
0
0
-12
0
0
-20
0
0
66
0
0
0
-6
0
0
12
0
0
0
19
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
44
0
0
0
-3
0
3
32
0
0
0
0
0
-1
0
0
-48
-24
-176
0
-16
-9
0
0
-12
0
0
8
-63
0
0
-1
0
0
1
16
0
0
92
0
0
0
11
0
-38
-3
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-51
0
0
0
0
0
0
16
0
0
0
7
0
0
-31
0
0
-2
0
0
0
5
0
0
-12
-1
0
0
15
0
0
7
0
0
-1
-4
0
0
0
0
0
0
28
0
0
-2
0
0
0
-39
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-45
0
10
6
0
0
0
25
0
0
3
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
0
0
0
-11
0
-1
0
0
0
0
8
0
0
0
0
0
0
24
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
55
21
34
-10
0
-4
18
-28
13
-23
-4
0
81
2
-45
9
1
0
0
21
10
-54
26
2
0
0
15
42
-2
-2
20
-2
0
-15
0
17
0
0
-2
0
0
-3
-5
0
-14
-25
65
22
16
0
0
-8
0
0
-20
-4
0
0
-3
0
-31
-22
-119
0
-23
-22
1
0
28
2
0
20
34
0
0
17
-81
0
-5
30
0
3
-4
1
0
3
10
0
-56
17
-9
0
0
-11
0
0
-9
0
-44
0
10
36
26
0
0
-21
0
-25
0
0
0
15
0
0
15
0
0
-7
-32
0
7
9
0
3
7
6
19
27
-79
0
10
-14
82
-34
6
24
0
3
-21
-39
52
0
4
0
-2
-7
-35
-16
-3
-1
11
0
22
-1
-10
0
11
-10
0
-15
-8
26
0
3
-4
0
0
0
-1
0
-9
0
0
0
0
0
0
-88
0
31
16
2
-4
0
-14
-2
3
27
7
-1
1
21
0
-12
-13
12
9
0
-5
0
-16
40
-65
0
0
29
0
27
8
-2
16
0
-7
0
0
-27
-2
-16
0
41
0
-12
6
0
-3
0
-18
43
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
-27
16
0
0
8
0
-22
2
-2
0
0
44
45
30
3
26
3
0
5
2
-24
-26
-3
0
0
63
0
20
-26
0
0
0
-13
-1
22
0
-4
0
0
13
0
3
0
0
-1
0
0
0
14
0
28
7
3
-2
0
0
-5
0
0
3
31
-7
0
-35
-35
0
-44
-15
-18
0
3
13
0
0
7
8
0
-21
-19
11
0
-7
-7
-1
-27
23
-1
0
-8
0
0
0
-27
0
19
32
-1
0
0
-18
0
0
-3
0
33
0
-23
-3
0
0
0
0
0
-29
0
0
0
0
0
-2
0
0
0
6
21
-18
-8
-48
0
0
1
0
-1
0
29
0
0
-5
17
0
-19
13
0
-7
-26
-27
-6
0
22
0
2
-2
-46
-1
0
-12
0
2
-5
0
0
0
51
0
3
-10
-4
49
0
-9
0
-1
0
6
0
0
-83
0
0
10
7
0
0
0
-12
-1
-1
-3
0
0
1
0
0
35
0
0
8
-48
0
-18
-15
-8
0
0
-27
0
15
0
34
0
0
35
0
10
-10
-4
-1
0
-43
2
-1
-2
6
0
0
-16
0
-36
1
0
-40
0
28
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
-6
0
0
6
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
7
0
0
0
22
0
0
0
0
0
0
2
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
7
0
0
-9
0
0
2
0
0
0
0
0
0
8
0
0
0
27
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-6
0
0
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
12
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
15
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
-1
0
0
0
0
0
0
9
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
17
-3
59
-12
-2
-13
32
10
-4
22
45
-6
6
-25
19
-9
57
-4
8
10
7
52
-19
-16
-25
7
14
-50
52
1
15
-3
0
-38
18
36
-3
1
46
-1
-10
-9
20
1
11
-56
-113
0
-20
0
-27
-16
0
0
58
-4
-15
-56
-16
-2
-25
44
13
-8
-9
12
12
0
59
26
-7
7
23
0
0
34
20
-10
19
18
0
8
22
-20
15
-8
2
0
-11
12
12
30
-12
-12
0
-1
-14
-48
-8
0
-1
15
-37
0
1
0
0
-12
8
0
0
2
0
-27
-1
0
-1
0
13
42
-34
-1
0
-2
36
40
45
-26
31
-3
-10
33
-18
22
40
8
66
14
27
10
5
-20
6
2
16
29
-8
-10
-1
-12
-7
-29
5
-24
47
-6
-18
-2
-25
-50
-39
37
0
-7
16
0
-16
-63
4
-1
-15
-10
0
-1
-19
-2
-2
-53
-1
-46
0
35
16
-55
-18
-2
12
6
-38
-42
-18
29
2
-31
-5
0
19
0
-11
0
20
-33
-34
44
0
-21
0
-56
9
13
-14
0
-46
0
-3
-3
9
38
6
14
0
23
-13
-69
56
0
7
-92
0
3
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
-33
0
0
0
3
0
-1
8
14
0
0
-65
0
1
12
-12
13
0
13
0
24
-21
0
0
0
-13
0
8
-85
-23
0
0
11
0
-3
0
11
-91
0
-2
0
-98
1
4
-85
-52
-10
0
0
30
15
0
0
6
0
0
3
-22
0
-32
-7
0
31
18
-2
0
0
19
0
-57
-50
-7
0
0
-8
0
-41
21
-1
0
0
17
0
3
2
2
0
6
8
0
-4
-18
-49
0
0
10
0
-16
0
3
-81
-11
-1
0
0
0
-7
-29
0
0
15
49
47
-7
0
0
-66
0
14
41
6
0
0
23
0
14
40
-7
0
0
-18
10
-10
17
25
-7
-2
26
33
6
-40
-16
0
-2
10
30
13
3
-6
0
-2
46
19
9
3
-26
0
0
10
0
0
0
-5
-2
0
46
0
0
0
-7
-4
0
0
0
2
0
0
0
-15
2
0
2
0
12
0
3
-60
0
11
13
25
-1
17
1
-15
4
-16
25
-6
-8
-20
18
53
1
-5
7
12
-4
0
34
0
-9
0
1
26
0
11
0
-24
0
10
-1
0
-10
0
-1
15
9
26
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-52
-2
0
-34
0
0
0
51
30
0
22
35
0
0
-13
-1
0
30
-1
0
0
12
-4
0
35
-1
0
0
28
-28
0
-6
-10
0
0
-9
-3
-12
0
0
-16
0
0
-4
0
0
1
1
3
0
-12
0
-89
-16
0
0
9
-9
0
-14
-43
0
28
28
35
0
9
42
0
0
31
4
0
53
-5
0
0
34
16
0
1
5
0
0
22
13
0
-2
28
0
-57
21
-7
0
-18
6
0
0
50
-3
0
0
-1
-3
17
0
0
0
0
-20
0
0
33
-3
0
4
13
0
7
-11
-1
0
-8
1
0
0
-2
-26
0
-6
38
0
2
21
41
0
13
12
0
0
6
60
0
2
-3
3
4
5
7
0
82
1
0
0
33
107
0
9
17
0
0
-4
-2
0
0
-11
-8
0
-1
56
0
2
-13
12
6
0
18
0
10
-17
0
-10
-12
-4
0
8
-15
0
-11
-40
22
0
1
22
0
40
24
-1
0
0
-7
0
-3
-28
28
0
0
-41
0
-21
69
-1
0
0
-44
0
0
-17
-20
0
1
48
0
-41
-10
0
0
0
4
-3
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
-52
-9
-44
0
5
-40
-13
-1
14
-27
6
-23
-2
9
-25
7
-38
-6
-8
-37
19
-4
-14
5
-10
19
27
23
24
10
2
-31
8
14
0
-1
28
13
-21
54
-11
-1
7
-44
2
18
0
0
-14
2
0
19
34
-53
9
-12
19
7
15
5
-13
0
-6
4
9
28
-7
23
2
-11
-3
-24
3
-2
0
13
-37
0
-55
23
-9
-31
-61
-18
-2
17
-1
-20
-21
-7
-55
-17
47
-2
-41
-26
-15
0
-1
0
9
1
36
14
-2
10
-26
1
17
-21
24
-9
-9
-26
-10
4
62
-38
-5
10
-7
23
1
-8
-21
9
-2
-65
-8
8
36
17
-4
-4
48
46
2
14
43
-41
-8
3
-14
-20
-6
4
-80
-3
-54
-41
2
-21
4
-2
0
-4
-58
-27
-13
8
0
-1
42
-19
11
-13
19
0
-10
3
-1
-1
-37
-7
-6
-16
5
55
6
19
-28
44
-4
-2
26
10
-5
1
-18
-6
3
18
-3
9
8
-16
-7
3
-13
13
36
27
-18
10
4
-15
16
-36
-23
-10
-8
1
-20
8
-26
18
2
1
0
-6
4
-35
5
-1
-15
24
-22
-29
49
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-4
0
0
2
0
-6
17
-7
0
0
-35
3
0
54
-1
0
0
24
0
0
4
7
0
0
24
0
-3
0
-9
0
0
0
0
-9
0
0
0
0
0
0
0
0
5
0
0
0
7
0
0
-30
0
0
0
0
0
14
0
0
16
21
0
0
-2
3
0
1
-5
0
0
-1
-9
0
0
2
-1
0
0
1
0
0
3
0
0
0
10
0
0
-11
0
0
0
47
0
0
0
0
0
0
46
0
-8
0
0
0
0
9
0
0
0
0
0
0
25
0
0
0
0
-1
-9
0
0
0
10
0
-3
18
-12
0
0
45
-4
13
6
-27
1
0
-20
2
1
0
-14
0
2
-34
0
0
-7
16
0
0
-1
0
0
0
-5
0
-1
0
2
7
0
-8
0
0
0
0
0
0
-18
2
0
3
0
0
0
-2
0
-6
0
0
0
6
0
0
0
0
-7
0
0
-15
0
0
14
0
0
0
-42
0
6
21
0
0
0
1
0
4
-9
0
0
0
-11
0
0
0
0
0
0
23
0
2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
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
-45
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
-10
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-23
0
0
0
0
0
0
-9
0
0
0
0
0
-1
0
0
0
0
0
0
0
-6
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
-3
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
-3
0
0
0
-2
0
-8
-3
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
2
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
2
1
8
38
4
6
65
0
-1
25
-2
-29
-4
5
0
0
3
-24
-25
4
0
0
0
29
-10
-10
0
-6
0
0
-26
0
-23
0
0
11
0
0
-1
9
0
12
0
12
0
-34
0
-25
24
-1
0
0
0
0
-2
-3
0
-37
-33
-36
0
-20
-31
0
6
-9
2
-67
-30
6
0
0
28
44
28
15
5
-7
-7
12
0
0
-14
-4
0
-10
11
28
0
0
-3
0
6
-11
-1
-76
0
-15
-19
-21
0
0
0
0
8
1
0
0
0
0
-4
35
-1
0
0
-42
50
-10
1
0
0
-5
7
-20
38
-14
-1
1
1
2
59
34
-7
0
-3
-7
-8
-23
16
7
9
0
-18
52
25
45
-8
0
0
-39
29
-28
-4
-10
11
22
-3
-30
-6
0
-15
-6
0
0
-2
-8
0
28
3
0
0
22
0
0
40
-1
28
0
-37
5
-32
14
0
12
0
-5
0
45
-20
0
-24
-18
-5
5
-9
-5
0
-15
43
-46
0
0
12
0
-28
20
-2
-8
0
-6
0
0
16
66
17
0
11
0
-5
-9
0
32
-8
-16
19
4
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
0
-18
-18
0
0
0
0
0
-1
-27
0
0
0
27
0
0
-11
0
0
0
7
0
0
0
0
0
0
0
0
-43
0
0
7
0
0
0
0
0
38
0
22
0
0
0
-2
-4
0
0
0
0
0
8
0
0
22
-12
0
0
-3
-36
0
0
0
0
0
0
-2
0
0
7
0
0
0
10
0
0
-27
0
0
0
21
0
-7
8
0
0
0
-37
0
0
13
0
0
0
-29
0
0
0
0
0
0
-13
0
0
0
0
0
0
39
0
0
28
0
0
0
-12
0
0
0
0
0
0
16
0
0
15
0
0
0
-2
0
0
0
0
0
0
14
0
0
-2
0
0
0
14
0
0
2
0
0
0
-8
0
0
-1
0
8
0
-17
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
-5
0
0
-1
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
7
0
0
0
33
0
0
0
0
0
0
-1
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
41
60
0
16
0
0
-1
-11
0
0
22
0
0
0
-33
0
0
44
0
0
0
27
0
0
0
0
0
0
23
0
-3
0
0
-29
0
0
0
0
0
5
3
-4
0
5
0
9
70
0
0
28
2
0
-103
-43
0
-35
-116
12
0
-10
-18
0
0
-20
1
0
31
-1
0
0
25
-1
0
-29
-3
0
0
0
0
0
-8
2
0
-32
25
8
0
-9
-12
0
0
58
0
0
0
-3
-1
-8
0
0
0
0
2
0
0
-3
0
0
0
72
0
0
-26
17
0
-19
-32
0
0
-31
0
-8
-21
7
0
0
-17
7
0
-7
16
0
0
-4
-20
0
8
10
0
0
7
45
0
0
-12
0
0
-20
7
0
0
15
0
0
-3
0
0
0
-15
0
0
0
0
0
0
-8
0
0
0
1
0
0
40
0
11
-12
-11
0
-4
-40
0
-3
-13
-2
0
0
-21
0
-28
-26
25
0
0
16
0
3
-27
-15
0
0
-32
0
7
-21
28
0
0
30
0
0
3
-2
0
0
6
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
-38
-4
0
5
12
15
-32
-10
28
0
-1
-2
1
-3
13
91
1
6
-29
29
-19
-1
7
-4
-1
-42
0
-22
0
4
37
0
0
23
31
0
-10
-4
58
-7
-46
0
-3
20
0
0
15
5
12
-41
-7
-3
3
-11
-34
-6
-1
2
8
9
9
6
-3
30
-32
0
17
-23
-2
-3
-38
-9
0
-1
-14
40
16
17
5
0
-43
-15
-36
3
-2
-8
-1
0
-78
-11
-35
0
3
12
76
0
0
0
0
-13
62
0
-15
0
0
22
11
0
-8
6
41
-43
67
16
2
2
-8
45
-52
2
-19
12
-62
-12
-3
14
24
-13
61
3
-20
5
23
20
3
-6
51
-14
16
48
-8
3
0
121
10
0
-23
11
6
15
-5
-17
-47
-26
0
-7
1
0
1
-6
0
1
-25
-13
0
-2
33
0
0
-4
-5
26
13
-4
42
1
-1
-3
36
24
-19
4
0
10
0
29
-51
12
-12
2
-1
6
11
-21
2
-8
1
21
0
15
-18
41
81
-4
-3
2
-8
1
35
-6
0
9
2
33
-5
0
-36
3
-20
-4
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
27
0
0
-17
0
-34
0
1
0
15
67
0
-8
34
-1
0
0
13
0
10
0
-9
0
0
2
9
-17
0
0
-3
0
0
0
29
0
4
-9
2
0
0
0
-9
14
0
0
1
0
0
-30
19
0
-24
-8
-4
0
-31
0
-1
-10
47
0
0
27
11
0
0
-10
0
1
18
-19
0
-4
46
0
0
0
15
0
8
-1
-2
0
0
-34
0
0
0
0
3
0
10
3
0
0
0
0
0
-19
1
0
0
0
0
0
-15
0
0
5
8
0
0
-46
0
0
6
0
0
-4
0
0
0
21
-4
0
2
-19
0
2
-11
0
0
-2
15
0
0
5
0
1
0
0
1
0
17
0
-2
0
-33
0
0
-3
0
-36
0
-19
1
0
0
0
0
0
12
3
0
0
0
0
0
-34
0
12
0
0
0
-4
9
0
-11
-4
0
0
1
0
0
-9
-3
0
0
3
-81
0
9
-8
7
0
0
0
0
-6
5
0
0
0
-5
0
1
0
3
-1
0
-15
0
12
0
0
0
0
-18
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-2
0
0
-1
0
0
0
14
0
0
-3
0
0
0
7
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
16
0
0
0
0
0
-10
0
0
20
16
0
0
-1
-40
0
0
-12
0
0
-9
-25
0
0
0
1
0
2
-2
0
0
1
0
0
0
-31
0
3
0
0
0
0
-9
0
0
-1
0
3
0
54
3
0
0
0
0
0
3
0
0
0
0
0
0
-9
0
0
0
0
0
1
46
0
0
0
0
0
-3
-1
0
0
-6
0
0
0
-34
0
0
0
0
0
0
-19
0
0
-7
0
0
0
12
0
0
9
0
0
0
8
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-11
0
0
2
0
0
0
-2
0
0
0
0
0
0
8
0
6
0
0
0
0
-2
0
3
0
0
0
0
-2
0
3
0
0
0
0
27
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
43
0
0
0
0
0
0
-2
0
0
0
0
0
3
0
0
0
0
-4
0
0
0
0
0
0
6
0
3
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-46
0
0
4
0
0
0
0
0
0
-1
0
0
0
41
0
0
-12
0
0
0
14
0
0
0
0
0
0
-23
0
0
0
0
0
0
23
0
10
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
46
0
0
0
0
0
0
-1
0
0
0
0
0
0
-42
0
0
19
0
0
0
-11
0
0
8
0
0
0
-12
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
17
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
29
24
6
20
-12
-2
-12
30
-1
7
3
52
14
-2
-40
0
0
4
-92
-12
-5
33
0
0
-50
8
-3
1
-4
30
0
0
8
-10
-3
5
-5
2
0
-15
0
63
8
0
0
0
13
-7
0
1
9
1
-17
9
0
13
-1
2
0
3
6
29
-78
1
6
-3
-12
7
-21
7
-1
0
0
18
3
-28
-72
4
0
1
-9
21
7
16
19
13
4
-13
-12
0
0
-1
-6
-17
-1
-1
3
0
-6
-77
0
3
7
-25
17
22
0
0
-8
19
-6
14
-1
0
2
12
-6
1
-19
-18
-3
0
-2
-36
6
34
-3
-13
-11
1
-31
37
31
-5
1
5
9
1
13
46
5
2
32
-5
17
-12
-2
13
0
0
-1
7
3
0
-6
7
4
30
-2
2
0
1
-10
0
0
-66
0
-4
-5
1
-1
8
-6
-6
2
-3
3
63
18
-11
55
8
0
-25
-19
30
5
8
1
-15
-1
-14
-10
-5
-32
7
-5
-7
7
26
-32
-30
0
-5
1
23
25
-4
-26
0
17
0
6
3
-6
17
0
-1
-57
-3
19
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
1
2
0
0
20
0
-38
-27
-3
0
0
-12
0
4
-12
4
0
0
-16
0
-19
0
-10
0
0
-6
0
-8
0
0
-17
0
0
0
-26
0
31
2
-4
0
0
0
3
4
0
0
69
0
0
42
4
0
15
29
0
0
27
-25
0
0
-14
0
1
9
-30
0
0
-5
0
0
43
-8
0
0
15
0
3
0
0
0
-3
3
0
0
0
-36
0
0
-3
0
74
0
-3
0
6
0
0
0
0
-4
0
0
0
0
0
0
-16
0
0
0
0
-16
52
-6
0
0
13
0
-1
-11
-10
6
0
4
0
0
-7
14
0
0
17
0
-3
-16
-22
0
0
32
0
0
10
-18
0
4
91
0
4
6
-36
0
-1
8
0
11
0
-21
0
0
0
0
0
0
17
-7
0
0
0
0
0
18
0
-26
0
0
4
0
10
0
0
-2
0
0
0
-21
0
12
55
0
0
0
25
0
7
-15
0
-1
0
4
0
40
8
0
0
0
-16
0
0
-3
0
2
3
-7
0
27
-3
0
-26
0
-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
22
-20
0
-3
11
3
0
41
14
2
8
-5
0
0
60
3
0
0
71
4
0
-2
36
0
0
-15
-16
-1
0
-3
-43
0
0
1
0
0
6
-10
-7
0
-11
0
-17
23
0
0
-29
-8
0
-35
-39
11
-14
-35
-9
0
2
-3
8
0
8
38
0
4
5
0
0
17
39
0
12
7
6
30
20
8
0
-20
5
0
-12
21
-10
0
-6
6
0
0
50
0
0
0
-11
-11
-30
0
0
0
0
-26
0
0
-6
0
0
0
36
0
1
7
10
0
-13
-2
0
7
19
0
0
40
18
3
-1
-6
3
0
15
-1
-3
2
8
-37
0
30
-1
2
-1
34
80
0
1
-24
0
3
36
9
0
0
-15
10
-11
63
-1
0
0
-3
-10
0
1
7
0
0
-34
34
0
-4
-73
0
0
-13
-6
-54
-1
0
0
-6
-26
0
10
76
16
0
-9
-10
0
-21
24
-10
0
-13
23
0
0
47
-13
0
0
-31
0
-26
23
-19
0
9
-6
0
0
-32
-1
0
0
-6
-1
45
32
-1
0
1
-2
-10
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
-28
2
-14
22
-26
-28
-4
-33
27
3
21
12
-97
18
2
-11
14
-1
-5
-4
-6
0
49
29
0
-10
-51
13
-15
0
-26
41
-8
-9
0
28
16
11
-1
14
11
54
-26
-25
11
-3
-3
-2
14
-35
-3
-13
24
0
11
26
-2
0
-4
42
9
51
-1
-26
-8
0
0
-1
-15
13
12
2
0
-7
-4
15
40
32
0
23
-13
-7
-33
22
0
0
-31
-42
-3
22
13
-7
3
21
-6
-11
-12
68
41
6
-40
65
19
8
4
-26
15
2
35
-20
0
12
24
-4
21
31
-8
27
-16
-51
-2
19
-3
-5
-19
28
3
-4
-53
61
-26
0
20
-6
6
20
-1
-1
12
-12
25
0
5
21
-10
-3
16
0
1
36
11
-35
-38
22
-15
-9
-4
32
54
-11
2
75
4
-17
12
14
-92
22
39
-7
-7
13
-22
30
50
18
-2
-6
48
19
7
30
4
-14
37
9
-8
3
24
17
-11
-1
-24
40
-15
-14
28
-12
-17
15
16
-16
-1
16
-6
2
-10
-11
3
72
-1
-13
-9
29
-15
-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
-41
19
0
0
19
1
5
4
1
0
0
62
-1
-1
3
23
-4
0
3
-1
3
0
0
39
0
0
0
-6
0
16
-26
6
0
9
0
-7
-5
0
0
-7
0
0
-16
34
0
-7
7
1
0
-56
10
0
0
15
-3
-7
0
0
4
2
-69
6
-7
-3
-19
6
6
-19
0
0
7
32
0
4
-10
27
0
-5
-1
0
2
29
-16
22
0
-6
7
85
0
0
4
0
17
-2
0
-2
0
0
2
-4
0
9
-21
-18
-39
-25
5
0
0
5
11
-2
-3
-15
-3
0
-50
-25
15
-13
0
6
4
-2
2
1
11
27
0
0
0
-11
0
1
24
-1
0
17
0
-12
1
-4
0
-1
16
-6
32
0
-11
3
0
0
17
-7
0
33
4
0
7
0
0
0
7
0
20
3
0
1
0
12
0
1
36
16
0
-2
16
0
31
-21
-6
0
7
0
-3
-1
-18
38
-2
0
38
0
-17
-30
0
0
0
0
-1
2
-19
10
0
0
-9
0
-3
0
3
25
0
41
-12
-3
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
47
0
0
0
20
0
0
0
6
0
0
-3
0
-17
0
0
0
0
0
0
3
0
-16
0
0
0
0
0
6
50
0
0
0
0
0
-2
2
0
8
-28
0
0
3
12
0
0
2
0
0
0
-29
0
0
33
0
0
0
-52
0
0
-3
0
0
0
16
0
-8
15
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-19
0
0
-2
0
0
0
-29
0
0
0
0
0
0
-3
0
0
-4
0
0
0
58
0
0
0
3
0
0
4
0
0
0
0
0
0
13
0
0
8
0
0
0
-7
0
0
0
0
0
0
54
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
6
0
0
0
0
-3
0
7
0
0
0
0
2
0
-13
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
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
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
-1
0
0
6
0
0
0
0
0
19
0
0
0
0
0
-2
-9
0
0
0
0
0
0
-4
0
-11
0
0
0
6
-34
0
0
4
0
0
0
-25
0
0
7
0
0
-2
-35
0
0
9
0
0
0
6
0
1
0
0
0
0
1
0
0
0
0
0
0
-31
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
71
0
0
0
0
0
0
28
0
0
0
0
0
0
15
0
0
0
-1
0
0
-13
0
0
0
0
0
0
32
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
11
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-11
-3
0
-52
8
100
30
26
8
0
-38
12
16
5
-22
-1
0
17
4
-53
0
3
14
0
0
0
-4
0
16
33
-4
0
16
0
52
-10
0
10
24
0
3
32
-12
-18
-47
11
-56
0
-10
-37
-1
0
21
-1
3
16
4
0
-3
42
74
0
20
13
0
-4
31
0
3
18
32
2
39
47
0
0
13
-24
0
0
4
0
29
0
-13
4
-6
-1
6
0
0
13
0
0
-1
1
0
1
24
-4
4
30
-47
2
-23
6
0
4
-13
2
-8
27
-54
1
7
-46
-20
12
-5
-17
6
-4
-30
-1
-2
0
-21
0
-12
-38
-40
-2
-8
13
0
1
5
1
-12
-1
-10
0
25
9
28
-75
0
-12
2
-2
0
0
-8
0
37
9
-4
0
7
0
0
-23
6
23
4
0
0
-5
-27
-1
53
-4
-36
2
-3
11
1
19
22
7
2
4
-25
0
0
-3
37
0
-6
-18
0
73
52
0
0
0
15
0
-8
0
-15
0
6
-47
0
48
0
0
-19
0
33
15
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
10
0
0
14
0
11
0
0
0
0
48
0
0
0
0
0
0
-3
0
7
0
0
0
0
0
0
0
0
24
1
0
0
0
0
0
53
0
0
0
0
0
0
0
0
-31
-27
0
0
19
-40
0
0
0
0
0
10
-19
0
0
-2
0
0
3
-8
0
0
93
0
0
0
34
0
40
-11
0
0
0
-24
0
0
0
0
3
0
5
-1
0
0
0
0
0
-29
0
0
0
0
0
0
-5
0
0
5
0
0
9
-3
0
0
0
0
0
0
-21
0
0
35
2
0
0
-1
0
0
-19
0
0
0
-107
0
0
-33
0
4
0
-33
0
0
0
0
3
0
-16
0
0
0
0
9
0
-1
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
28
0
0
0
0
0
0
-37
0
11
0
0
0
0
0
0
1
-9
0
0
0
-1
0
0
0
0
0
0
6
0
0
-1
0
0
0
10
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
37
-3
0
0
26
28
0
31
1
0
0
14
-1
0
-3
40
0
0
-48
-2
0
0
-16
-12
0
0
15
0
0
5
-3
22
0
2
0
-30
-45
0
0
-58
1
0
24
26
0
-13
-9
-2
0
43
2
0
0
34
0
0
97
-8
-3
0
21
-61
0
37
6
0
0
0
0
0
9
19
0
-21
-5
49
0
18
-24
0
10
-12
-6
0
0
-5
-5
-6
0
0
0
0
7
0
0
0
-6
0
-7
-50
0
-7
-24
-36
0
-10
5
0
3
-1
0
0
35
-16
4
7
-6
44
0
-26
-1
0
-13
-14
-18
0
3
29
0
-11
30
28
0
-4
-7
-10
3
18
-10
0
0
-21
0
-1
26
14
0
0
-17
-4
11
0
33
0
0
10
1
0
0
-1
0
-1
-13
2
-34
10
0
-1
-10
-10
0
4
14
28
0
62
-35
0
-22
30
1
0
-8
18
0
-4
4
34
0
0
25
0
33
10
11
0
2
30
0
7
5
-4
0
0
6
0
35
0
-2
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
-29
18
0
0
-27
60
-10
0
-5
-3
0
76
13
-50
0
-3
14
0
-1
3
-4
0
-13
-13
-35
0
-41
0
12
1
0
0
3
8
-15
36
-13
0
-2
-6
-19
6
-46
-12
1
-2
21
85
24
29
-32
-8
-1
-7
-41
20
-24
-19
30
-10
-10
7
-3
0
-31
0
0
14
29
2
0
-20
0
0
-11
2
-29
0
-1
-29
-20
-7
7
0
0
-11
11
0
-6
-4
29
0
-31
-20
20
-9
8
28
69
-1
0
0
-10
3
30
-41
-32
-6
48
-10
17
-28
21
-9
23
-16
-5
-6
4
0
-8
35
-14
-41
-10
34
0
-9
-1
7
18
-4
-13
0
-29
4
-17
-56
-9
0
0
10
18
-13
-3
46
40
0
-4
1
-7
0
49
0
-2
2
-2
-33
45
12
18
13
-24
0
-22
-47
-9
-1
11
-8
0
34
1
-4
-24
-19
-18
0
7
48
4
-8
5
20
-1
-10
47
1
9
1
-12
0
-2
-28
35
-43
2
-4
-1
2
-9
0
51
0
1
0
0
12
-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
-16
7
0
18
-17
-2
0
0
4
0
0
0
0
-21
0
0
7
0
0
7
4
0
16
-9
0
0
0
0
6
-28
0
0
3
0
0
-52
41
0
-12
32
-4
0
32
36
0
1
-2
0
0
-34
3
0
0
6
0
0
13
0
0
-1
-7
-11
-3
-1
-32
0
-2
19
0
0
0
-21
0
0
16
1
2
0
23
0
3
0
0
0
0
-26
0
0
0
0
0
0
-10
0
-4
0
2
-3
-1
24
0
3
-31
0
-21
7
18
0
0
-41
-11
0
33
43
0
-3
-9
11
0
-5
0
0
-9
14
21
0
1
20
0
0
0
0
2
0
0
0
0
7
0
33
0
-20
0
0
0
0
0
0
18
-8
0
0
0
0
0
-21
2
-20
0
0
-4
0
78
0
-4
0
9
1
1
-1
0
2
-12
-2
0
0
-13
0
-2
3
0
0
0
0
0
-5
-15
0
-13
0
-28
0
0
0
0
0
0
41
0
34
-1
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
2
0
0
0
0
0
-9
0
0
-2
1
0
0
1
5
0
0
1
0
0
0
102
0
0
-3
0
0
0
-34
0
0
-9
0
0
0
34
0
-4
0
0
0
0
52
0
0
0
0
0
0
26
0
0
0
0
0
0
8
0
0
0
0
0
0
18
0
0
0
0
0
0
-6
0
0
0
0
0
0
40
0
0
0
0
0
0
-59
0
0
0
0
0
0
-22
0
0
-2
0
0
0
-8
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
10
0
0
0
0
-5
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
8
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
28
0
0
0
0
0
4
0
0
-2
0
0
0
-16
-45
0
0
0
0
0
4
22
0
0
8
0
0
0
45
0
0
18
0
0
0
40
0
-7
0
0
0
0
-11
0
0
-2
0
0
0
47
0
0
0
0
0
0
-36
0
0
0
0
0
0
3
0
0
0
0
0
0
28
0
0
9
0
0
0
-33
0
0
-8
0
0
0
19
0
0
0
0
-1
0
32
0
0
0
0
0
0
9
0
0
-3
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
9
0
0
0
0
0
0
11
0
0
0
0
0
0
8
0
11
15
12
0
0
-6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-18
1
47
-17
-108
10
16
-12
-9
0
0
13
1
0
-1
-84
0
0
-52
-25
36
-3
-23
-25
-6
-10
0
54
27
0
0
36
-3
8
41
23
-2
-4
6
15
11
17
18
-1
6
-4
-2
2
-29
7
0
-7
-4
1
-1
-52
-3
0
-19
-31
13
0
-12
-2
0
32
-2
76
2
-15
2
-3
0
0
-50
-29
0
-2
-6
10
0
-2
2
18
2
-1
1
-3
-81
3
56
19
1
7
13
29
19
15
19
0
-9
-13
16
0
-16
-5
-1
-38
5
32
31
6
24
-9
24
1
2
17
-8
-19
13
51
-17
-8
15
7
5
1
-8
0
-51
-11
4
-10
0
9
0
31
-25
0
-6
4
1
0
-19
-1
1
44
34
0
-7
-33
-6
-3
8
-1
-7
-24
-21
-5
5
9
0
-53
-14
-35
13
-10
-13
-7
-23
-41
3
7
-4
6
-6
-29
6
-20
-9
3
38
0
15
25
22
51
-3
34
6
4
-21
-8
-39
13
0
0
55
0
-15
10
0
4
1
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-24
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
0
-15
0
0
3
0
0
-4
0
0
7
35
0
0
-18
-33
0
0
-3
0
0
0
-33
0
0
-3
0
0
-3
-30
0
0
-71
0
0
4
39
0
12
22
0
0
0
28
0
0
0
0
0
0
-19
-1
0
0
0
0
0
-53
0
0
0
0
0
0
-14
0
0
-2
0
0
0
15
0
0
-4
0
0
0
-17
0
0
-21
0
0
0
12
0
0
-4
0
0
0
12
0
0
-1
0
0
0
22
0
0
-4
0
0
0
60
0
0
0
0
-1
0
-15
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
9
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
-1
0
0
0
32
0
0
0
0
0
0
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
41
0
0
63
8
0
0
52
-3
0
1
30
-1
0
0
-11
0
0
1
0
0
19
16
-5
15
-9
0
19
11
0
0
-6
-2
0
-23
-4
0
-20
-15
7
0
44
26
0
0
-1
-13
0
-18
-31
0
0
-3
3
0
-16
-71
0
0
-34
-1
0
0
9
0
1
-8
-18
0
0
-12
0
0
40
0
0
0
-1
43
-5
0
0
0
0
-4
-4
0
0
-1
0
9
-7
0
0
-11
36
0
6
5
0
3
-29
0
0
-18
-9
4
0
-15
10
0
21
-62
6
0
-12
28
0
-4
9
1
32
-26
-11
0
1
9
0
6
44
0
0
-7
6
8
0
8
72
17
0
-11
0
0
0
-7
0
0
-13
4
0
0
0
0
0
22
3
18
0
0
0
7
-5
0
0
-19
10
0
0
3
-2
-32
-4
-8
0
3
-4
0
6
25
57
0
2
16
0
0
-41
0
0
0
30
0
7
19
1
0
0
11
0
25
0
4
0
0
23
11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
26
4
-105
0
-10
-97
0
29
-3
-34
-11
8
-25
18
0
-9
0
66
-24
0
0
-38
-27
-16
37
-9
-11
1
-27
-30
19
5
32
0
1
24
25
-9
71
9
4
11
0
21
-6
17
10
0
-10
-32
-3
0
-1
-2
-1
12
5
-6
-3
-2
-28
11
0
10
-10
-17
0
26
18
-31
0
0
0
0
1
-4
0
0
1
12
-6
-38
12
2
-4
-26
36
-17
4
0
13
-15
-4
18
-33
-6
2
42
-20
-24
0
22
-3
41
-13
-3
-60
22
59
3
19
23
3
-15
-28
-3
-5
7
0
11
23
-6
0
-49
-2
-1
-13
9
-42
0
14
0
0
-3
34
-9
-2
2
-1
0
0
-14
0
6
-1
0
1
12
0
-50
-4
-9
-1
9
-17
46
-4
2
12
0
24
44
-4
-8
0
1
0
-17
48
-100
2
0
-7
3
-19
5
12
10
0
-9
4
-4
30
-51
8
0
-46
0
-34
1
26
-66
0
3
-21
-19
-8
-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
-1
0
0
0
0
-24
0
0
15
0
0
0
0
0
30
-11
0
0
0
0
-1
7
0
0
0
0
0
0
-2
0
47
3
-20
0
52
10
0
0
4
0
2
-45
10
0
0
25
0
1
-12
-41
0
0
-62
0
-4
0
0
0
6
-1
0
-1
0
-53
0
0
-6
0
-3
0
23
4
0
0
0
0
0
24
0
0
0
0
0
0
-2
0
0
0
-1
0
0
-19
0
0
48
0
0
-1
11
0
0
-14
-9
1
4
4
0
0
1
0
0
1
-5
0
0
-5
0
0
0
0
0
0
12
0
0
0
5
0
0
-3
0
52
0
48
-2
0
0
0
0
0
-16
0
0
0
0
0
0
1
0
-11
1
0
0
0
3
0
1
1
0
0
0
7
0
0
0
0
0
0
51
0
0
0
-6
0
0
39
0
10
6
1
0
0
0
0
7
21
0
-1
0
-51
0
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
-2
0
0
0
-1
-23
0
0
0
0
0
0
-28
0
0
0
0
0
0
-21
0
0
6
0
0
0
21
0
-9
-2
0
0
0
0
0
0
0
0
0
0
17
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
9
0
0
0
0
0
0
1
0
0
0
0
0
0
10
0
0
-18
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
-4
-8
0
0
0
8
0
0
0
0
0
9
-32
0
0
7
0
0
0
7
0
0
0
0
0
0
-9
0
10
-29
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
18
0
0
0
-6
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
-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
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
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
1
1
-1
-2
45
-1
0
0
-72
-5
0
-5
-72
-46
-15
-47
0
38
0
0
0
-26
-1
9
33
22
0
-4
11
15
-8
27
3
0
12
12
-12
56
45
7
-1
-9
18
-30
-6
-44
-16
-3
0
-10
4
14
26
-2
0
40
2
40
0
22
-20
-1
0
0
51
-82
0
-18
-27
-6
0
7
6
0
2
-9
0
-7
-13
62
-34
6
0
-9
10
1
-12
-16
13
0
7
-100
5
19
18
-29
-7
-3
10
-7
-9
-53
-1
37
41
7
9
-14
17
-7
3
34
16
-22
33
0
-12
1
9
0
-43
7
0
-23
26
40
0
-24
-9
0
-6
-18
-1
0
-9
-1
2
35
-8
0
0
17
0
-1
6
-2
7
17
7
-21
1
22
-3
8
23
14
2
-2
-44
0
12
14
-33
28
47
6
-1
37
-65
-30
24
26
27
0
12
-17
-33
-19
1
41
3
-3
-1
-23
50
-8
-9
0
-33
0
52
23
0
4
27
7
-2
-23
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-1
-25
0
0
9
0
0
-6
0
0
-42
0
0
0
-18
-12
0
0
-12
0
0
4
-1
0
0
-7
0
0
0
59
0
0
-44
0
0
2
55
0
-74
-11
0
0
0
-30
0
0
0
0
0
0
-2
0
0
0
0
0
0
-63
0
0
0
0
0
0
-12
0
0
0
0
0
0
17
0
0
60
0
0
-2
-35
0
0
17
0
0
2
-91
0
0
-75
0
0
0
0
0
0
-3
0
0
1
-37
0
0
0
0
0
0
11
0
0
-15
0
-34
0
-37
1
0
0
0
0
0
-11
0
0
0
0
0
0
-16
0
-1
-1
0
0
0
46
0
0
1
0
0
0
-6
0
12
0
0
0
0
-9
0
0
-19
0
0
0
-41
0
3
1
0
0
0
10
0
0
0
0
0
0
33
0
0
1
0
4
0
4
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
8
0
0
-24
32
0
0
10
-6
0
0
0
0
0
19
2
26
0
50
0
37
-13
0
0
29
0
0
9
-38
0
-11
6
1
0
41
-10
-2
0
3
0
0
-8
5
0
0
-12
50
0
-3
-18
0
-6
-33
0
0
-1
-67
0
-24
19
-7
0
0
-15
0
-3
2
0
0
0
48
-7
58
0
3
0
0
0
-11
0
0
0
0
-8
-35
0
3
31
-16
0
51
2
0
2
1
0
0
17
-19
-8
0
-2
6
0
-4
4
-1
0
-24
51
0
5
21
0
1
42
33
0
17
-12
0
-8
-17
0
-1
6
-38
0
2
-29
13
0
0
12
0
0
0
0
0
2
37
0
0
0
9
0
0
10
-1
28
-6
0
0
0
0
0
1
-39
-10
0
-3
-33
0
-62
-24
0
0
0
28
0
0
12
-24
0
0
-2
0
30
0
-10
0
0
-7
0
-10
-1
-53
0
0
3
0
-2
-8
0
0
0
33
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
6
-3
-6
0
1
0
0
-129
0
0
0
0
0
1
1
0
37
12
-7
0
3
35
0
0
-2
0
0
0
-1
0
0
0
0
0
0
64
0
0
-29
0
0
0
-50
0
-15
10
-8
0
0
-11
0
0
2
0
0
0
0
-4
0
0
0
0
0
17
0
0
0
0
0
0
-9
0
0
0
0
-1
0
-75
0
0
0
0
0
0
0
0
0
62
35
0
0
14
0
0
-2
-2
0
0
-37
0
-7
-7
0
0
0
-42
0
0
-6
0
23
0
-19
0
0
13
0
-4
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
9
0
0
0
0
3
0
-16
0
0
4
0
0
0
40
0
-2
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
3
0
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-19
-4
0
0
27
0
-8
-43
0
0
-3
0
0
-29
-32
-9
8
42
16
0
9
-8
0
0
26
0
0
-3
12
0
0
-27
0
0
-11
8
0
0
-38
0
0
0
8
0
32
-13
19
0
0
0
0
0
5
4
0
0
15
0
19
0
0
0
0
-28
0
0
0
0
0
-9
-9
0
0
0
-13
0
-37
-3
0
0
-10
-1
-24
1
-2
9
0
-1
-34
0
7
29
0
-2
-23
-20
7
0
29
0
0
-1
0
-1
-1
17
0
0
7
-2
-20
4
0
0
1
-1
0
-164
0
-47
0
0
0
-9
0
0
-15
0
0
0
0
0
0
8
0
22
0
3
-7
0
-5
0
0
-2
-4
0
0
-20
0
-55
23
-7
0
-1
-43
0
-4
37
-9
0
1
-69
0
-80
0
-11
0
0
1
0
0
10
2
23
0
0
0
14
0
1
9
0
-42
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
11
0
0
0
0
0
-1
0
0
-3
28
-6
0
6
4
0
0
-9
0
0
-3
-25
0
0
-7
0
0
0
-22
0
0
0
0
0
0
7
0
-4
-1
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
11
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
-8
0
0
0
-16
0
0
0
0
0
0
-21
0
0
0
0
0
0
4
0
0
0
0
-3
0
11
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
-4
0
0
0
0
0
0
-9
0
-3
-1
0
0
0
6
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
18
0
0
0
0
0
2
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-19
0
0
0
-25
0
24
-27
0
0
44
0
-7
1
-17
0
-24
-16
12
0
-90
10
0
0
6
0
0
53
51
0
0
14
0
0
59
-1
0
0
0
0
0
0
9
0
-5
2
0
0
0
83
0
0
0
1
0
0
12
0
8
0
0
0
0
-14
0
0
0
0
0
-8
-26
0
0
-53
-8
11
0
-27
0
0
-29
11
-3
-2
-36
0
0
-9
-36
-8
0
22
0
0
8
-3
-38
0
-5
9
0
-2
38
0
0
-17
0
0
0
0
-4
0
19
0
0
0
0
-90
0
1
-2
0
0
-1
0
0
35
0
0
0
0
0
0
-21
0
0
-3
0
0
0
-32
0
7
2
17
0
0
-19
0
3
1
0
0
0
-20
0
0
1
-88
0
0
-6
0
1
0
-2
0
0
2
0
0
0
0
-15
0
-18
0
-15
0
0
-11
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
9
10
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-17
36
0
0
58
34
0
0
0
0
0
0
19
0
0
-2
0
0
0
35
0
0
-2
0
0
0
-24
0
-2
0
0
0
0
39
0
0
0
0
1
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
12
0
0
0
0
0
0
-59
0
0
0
0
0
0
37
0
0
5
0
0
-15
-23
0
0
-7
0
0
0
-82
0
0
4
0
0
0
29
0
0
1
0
-2
0
17
0
0
0
0
-2
0
8
0
0
0
0
0
0
7
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
-5
0
0
-20
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-101
0
-36
-42
1
-69
3
9
-7
10
-17
0
39
10
-4
0
2
-18
0
13
5
4
-23
3
-2
0
19
-1
-16
-18
4
-62
0
-2
-11
12
-26
4
-14
-6
4
1
3
7
0
-26
-2
-18
4
0
4
13
17
0
4
-14
-41
-4
2
-61
0
0
5
-53
-49
-2
-55
0
34
2
47
-4
-33
36
0
42
23
14
13
-21
-36
-4
22
7
-6
-13
8
50
0
50
4
43
-17
0
8
-4
11
0
17
-9
9
1
0
26
8
-23
13
21
17
0
-47
-14
0
32
40
-78
0
24
-10
7
-13
-8
28
-1
0
-7
35
0
-188
-11
0
6
2
-8
-1
54
-14
0
-34
4
-28
-14
2
-31
-1
-28
-5
15
-37
6
-38
0
-12
-6
-18
-16
14
37
0
27
17
25
2
41
-28
0
22
-8
36
25
35
-22
-1
50
-2
-3
-5
47
44
0
-1
4
-1
-26
30
8
0
0
14
-51
13
44
-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
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
25
0
0
0
0
0
0
34
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
15
0
0
0
4
0
0
-14
0
0
0
0
0
-1
0
0
53
-13
0
0
-2
38
0
0
0
0
0
2
17
0
0
8
0
0
-2
-24
0
0
28
0
0
0
24
0
-2
0
0
0
0
-15
-1
0
0
0
0
0
0
0
-3
0
0
0
0
-14
0
0
0
0
0
0
20
0
0
0
0
0
0
-55
0
0
2
0
0
0
3
0
0
-1
1
0
0
-4
-1
0
-6
0
1
0
12
0
0
0
0
0
0
38
-9
0
0
0
0
0
2
0
0
0
0
-16
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
27
0
0
0
0
0
0
-16
0
0
0
0
0
0
49
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
9
0
0
-6
0
0
-97
-62
0
-16
-95
-55
0
11
-9
0
0
22
0
0
-19
-37
0
0
-22
-1
-1
6
11
0
0
-15
0
0
0
0
0
-15
-13
-6
2
9
28
0
0
83
-2
-4
0
-81
0
26
0
0
0
0
38
0
0
0
0
0
0
-5
0
0
-1
1
7
1
-9
0
0
-3
0
14
1
-10
2
0
3
58
-11
1
12
0
0
-8
3
-11
0
-78
0
1
56
-1
-4
-6
-39
0
0
-1
0
-13
0
15
0
0
-3
7
36
0
-37
0
0
0
0
0
0
-23
0
0
0
0
0
0
43
0
7
0
0
-12
0
27
0
0
1
0
0
0
-5
0
65
2
0
2
0
23
0
-37
-1
-1
0
0
-74
0
-6
11
6
0
0
-60
0
0
2
0
6
0
-16
0
3
0
0
6
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
8
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-1
0
0
0
0
16
0
0
0
0
0
0
9
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
-12
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-54
0
0
0
0
0
0
-1
0
-4
0
0
0
-1
-71
0
0
-2
0
0
0
-62
0
0
0
0
0
9
-66
0
0
0
0
0
0
-5
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
23
0
0
0
0
0
0
21
0
0
-8
0
0
0
8
0
0
0
0
0
0
43
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
10
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
1
0
0
0
0
0
-24
0
0
-55
-40
0
0
-40
-81
0
0
-12
0
0
3
-42
0
0
-10
0
0
-1
-15
0
0
-48
0
0
0
-49
0
52
-8
0
0
0
-41
0
0
0
0
1
0
50
0
0
0
0
0
0
-39
0
0
0
0
0
0
-16
0
0
0
0
0
0
-22
0
0
5
0
11
1
-48
0
0
47
0
0
18
-59
0
0
-39
0
-4
0
17
0
0
-15
0
0
0
-101
0
0
0
0
0
0
-120
0
0
9
0
77
0
45
0
0
0
0
0
0
-4
0
0
0
0
0
0
41
0
-1
0
0
0
0
20
0
0
-3
0
0
0
-36
0
79
-2
0
0
0
-1
0
0
18
0
0
0
-9
0
0
1
0
0
0
2
0
0
0
0
0
0
38
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
13
0
48
11
0
0
-4
0
0
55
54
0
27
-16
-45
0
15
-2
0
-2
-36
0
0
10
-26
0
-2
-40
-6
0
63
7
0
0
20
0
0
1
-57
0
-51
-10
45
0
0
-59
0
3
2
0
8
0
27
13
-2
0
0
0
0
-8
0
0
0
0
0
1
20
0
0
2
0
0
4
-16
0
0
-16
0
0
-8
3
-1
0
19
-7
0
8
-56
6
0
-29
-46
0
18
5
0
-1
-1
2
0
0
-27
0
0
-25
0
0
-2
-43
0
-3
37
12
-2
0
-7
0
0
0
0
0
0
-13
0
0
0
2
0
-1
6
0
1
1
0
0
-1
-26
0
0
2
2
0
0
-15
-1
-4
61
0
0
0
-5
0
-12
10
-8
0
0
-13
0
7
109
8
0
0
-48
0
0
-7
3
0
0
-12
0
85
0
0
0
0
42
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
13
2
0
0
15
60
0
0
-1
0
0
0
52
0
0
12
0
0
0
50
0
0
-6
0
0
0
9
0
-2
0
0
0
0
24
0
0
0
0
0
0
23
2
0
0
0
0
0
-26
0
0
0
0
0
0
12
0
0
0
0
0
0
53
0
0
0
0
0
2
0
0
0
12
0
0
0
24
0
0
-26
0
0
0
-14
0
0
0
21
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
46
0
0
0
0
0
0
16
0
0
0
0
0
0
-35
0
0
0
0
0
0
4
0
0
0
0
0
0
25
0
0
0
0
0
0
10
0
0
0
0
0
0
30
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
9
-21
8
-5
19
14
7
-3
-43
-1
15
10
36
1
-1
-6
6
2
3
29
39
-7
-5
4
3
-27
-12
27
-1
24
33
-14
21
27
17
-6
-11
-8
14
38
22
21
0
-13
-21
18
32
24
0
0
12
19
-11
-25
-5
19
0
-3
-59
26
-30
6
13
8
-5
6
-14
-32
15
-29
1
1
-9
19
-34
-18
-12
0
31
72
-8
23
-8
-35
-1
37
-51
6
-4
10
-6
-3
-21
3
15
-5
10
-7
-5
-27
49
-7
17
-28
-20
-5
-7
-26
20
28
17
14
-5
-28
-41
0
62
46
-48
0
1
39
2
3
-10
39
18
47
5
25
-32
1
31
-7
-33
-37
-20
-2
-7
-20
-9
-17
26
18
-38
-38
24
1
-13
-16
-1
21
-19
22
-19
34
22
31
-31
-35
6
17
4
-44
-1
3
-10
-29
1
4
28
-30
69
4
-8
-4
46
36
-8
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
42
32
0
0
10
0
0
-8
-34
0
9
2
-77
0
47
61
0
0
17
0
0
5
1
0
0
11
2
0
27
-34
0
-9
17
0
2
1
17
0
-1
27
0
0
0
-95
0
0
-2
0
-10
0
8
2
0
0
0
-2
0
22
0
0
0
0
0
0
41
0
0
-3
0
-1
62
0
0
0
29
0
-19
-6
48
0
-1
-54
42
0
32
-6
0
-3
-9
-2
0
0
-49
0
19
-14
21
0
6
-1
0
0
-19
0
1
0
-38
0
0
1
0
10
0
4
1
0
0
0
0
0
37
0
0
0
0
0
0
43
0
-1
-3
0
0
-2
-23
0
-2
-3
-15
0
-2
54
0
-13
26
0
0
0
16
0
0
-25
0
0
0
-48
0
7
-8
2
0
0
66
0
-4
1
-7
0
0
-43
0
7
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
-4
-7
0
0
-6
0
0
24
-17
0
0
-30
0
0
-1
1
0
0
-44
4
0
4
-10
0
0
-45
0
0
-4
-17
0
0
-77
0
0
0
-12
0
-12
43
-11
0
1
-40
0
0
10
0
18
0
33
6
29
0
0
0
0
-34
0
0
0
0
0
0
9
0
0
33
0
0
-11
-4
0
0
-28
0
0
0
16
4
0
65
12
0
0
-12
0
22
-58
63
4
0
-16
0
0
3
26
0
0
-28
0
0
-5
0
-33
8
11
0
0
-8
0
-89
0
1
0
0
0
0
0
0
-15
0
0
0
0
0
-3
-38
0
0
0
0
0
0
-70
0
3
2
22
0
0
1
0
0
13
0
0
0
-9
0
0
-2
1
0
0
-41
0
1
16
1
0
0
-1
0
0
41
0
0
0
32
0
0
0
0
-6
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
4
-1
0
8
-4
0
0
-6
0
0
0
32
0
0
0
2
0
-1
-10
0
0
9
0
0
0
51
0
-4
0
0
0
0
-2
0
0
0
0
1
0
42
0
3
0
0
0
0
-30
0
0
0
0
0
0
-11
0
0
0
0
0
0
-67
0
0
0
0
0
0
91
0
0
0
0
0
-3
9
0
0
20
0
0
0
12
0
0
2
-4
0
0
37
0
0
9
0
-10
0
1
0
0
0
0
-4
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
4
0
0
0
0
27
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
15
-2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
22
0
0
35
0
8
-4
-68
0
-4
-49
0
0
30
-47
0
0
14
0
-2
-21
-9
0
0
-31
0
4
-1
7
0
0
-12
0
0
0
37
0
71
-7
0
0
9
-30
0
0
-13
0
1
0
-1
-2
28
0
0
0
0
-32
0
0
0
0
13
-7
25
0
0
1
0
39
8
-3
0
0
1
0
23
1
-35
0
0
-28
0
12
0
21
0
0
18
0
29
0
-18
0
0
24
0
14
0
4
0
0
68
0
-25
0
-18
0
0
9
0
28
0
-12
-2
0
8
0
1
0
-26
1
0
0
0
0
0
-4
0
53
-1
0
0
0
-25
0
2
-14
0
0
0
-17
0
13
31
0
-8
0
57
0
0
10
0
-11
0
4
0
-17
-35
0
3
0
-26
0
0
6
0
2
0
-4
0
-10
7
0
-29
0
36
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
39
0
50
36
-5
8
-9
-5
3
0
10
0
0
-9
-22
0
0
63
-37
0
-7
-4
0
0
57
0
0
0
10
0
-40
-34
0
0
0
-22
0
0
9
0
13
0
13
1
2
0
0
0
0
-29
-9
0
-3
0
0
13
37
0
0
-4
0
25
0
12
0
0
-3
0
8
2
-6
-7
0
-27
39
2
4
-29
0
-6
44
-5
0
0
12
0
33
-6
15
-1
0
-13
0
0
56
0
17
0
45
0
0
-6
0
34
0
25
1
0
0
0
19
0
-84
0
0
0
0
0
0
-18
-2
36
19
0
-4
0
-1
0
1
1
-20
10
0
-14
1
3
-18
0
0
0
-14
-1
-6
-17
-9
0
0
9
0
9
50
0
0
0
-1
0
0
-1
0
0
0
3
0
21
0
2
8
1
-26
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-29
-27
-24
2
-17
4
6
-5
59
33
-39
4
-14
3
4
-23
-48
-25
-9
-36
-1
1
34
-35
3
-27
-49
13
1
6
-8
1
-27
12
-8
6
-15
-19
-12
40
-27
2
0
-5
-37
5
-31
-11
10
-22
26
-16
-39
-53
-13
-100
0
-10
-5
-20
-45
-21
-29
-4
-9
20
-5
-29
29
-16
13
-2
-30
-1
-23
-6
-10
11
-15
-41
9
-51
-8
-15
3
5
11
3
-18
16
33
8
30
-9
-27
27
6
-14
50
-8
45
-5
17
7
-4
10
2
-29
15
27
-26
-18
-19
-51
68
-17
-35
0
-27
0
-2
-12
-53
-36
-7
-68
-32
24
2
-20
-21
44
22
7
-18
-13
-13
-33
-5
-14
-21
-11
-38
-19
-19
18
42
-13
17
-11
-17
-43
15
20
2
-47
49
18
57
12
-8
-17
8
19
-49
-12
-4
15
30
9
6
23
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
-1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
4
0
0
10
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
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
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-54
0
4
-2
-43
0
-26
6
0
0
13
0
0
-3
3
0
0
25
37
0
-29
8
-1
0
24
0
0
-11
10
0
-25
-15
27
0
0
-9
0
0
-16
-1
20
0
-21
15
-1
0
0
0
0
-19
0
0
0
0
0
2
52
0
0
0
-10
16
-12
37
0
0
0
0
-16
42
25
0
-8
-1
4
3
15
-20
0
0
19
2
0
0
6
0
1
-25
-15
2
0
-16
-1
0
22
0
-12
0
29
0
0
0
0
-17
0
-19
0
0
0
-7
0
0
2
0
0
0
0
0
0
24
0
0
0
0
0
-1
3
0
0
0
-11
0
0
29
0
32
-1
0
0
0
-24
0
-10
-17
-17
0
0
-4
0
75
-7
7
2
0
-58
0
0
-18
0
-8
0
8
0
-2
0
0
-16
0
13
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-20
0
0
12
11
0
0
0
0
0
0
-30
0
0
1
0
0
-2
-55
0
0
43
0
0
0
9
0
7
0
0
0
0
7
0
0
0
0
0
0
-15
0
0
0
0
0
0
21
0
0
0
0
0
0
26
0
0
0
0
0
0
-19
0
0
0
0
0
0
14
0
0
-2
0
0
0
-4
0
0
-33
0
0
0
4
0
0
3
0
0
0
23
0
0
2
0
0
0
-23
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
0
0
0
0
0
-21
0
2
0
0
0
0
34
0
0
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
13
-20
0
-6
-37
0
0
-12
0
0
0
2
0
0
-8
0
0
0
-39
0
0
-11
0
0
0
-11
0
-1
-4
0
0
0
-28
0
0
0
0
0
0
7
0
0
0
0
0
0
11
0
0
0
0
0
0
24
0
0
0
2
0
4
-1
0
0
9
0
0
0
3
0
0
-45
10
0
0
19
0
0
24
0
0
0
16
0
0
0
0
0
0
-26
0
0
0
0
0
0
34
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-22
0
0
0
0
0
0
36
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
4
-30
8
7
36
15
-1
0
23
-3
6
-20
8
0
1
22
-7
-1
0
46
0
-13
4
-4
-13
2
-21
0
3
-31
-4
39
0
-10
-5
1
0
0
0
0
16
24
0
-1
0
0
0
17
0
-3
5
6
5
1
-21
0
-13
17
-3
-3
12
3
0
-11
-19
50
0
-44
-9
25
1
-31
-16
21
12
3
-1
28
-10
-19
3
1
16
0
13
10
9
-78
0
-11
0
0
-12
6
-51
0
-12
1
0
0
2
-4
0
-29
3
0
0
3
0
0
-60
-2
12
-32
1
-10
2
-18
-4
-3
6
27
0
-11
-18
7
49
9
-19
4
0
0
0
6
-21
77
2
-21
27
0
-55
22
27
16
0
13
2
1
-7
1
-48
6
8
-1
40
-9
1
14
0
-31
-20
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
3
8
0
-2
-48
14
0
0
-3
64
0
5
-2
0
-1
24
0
-8
0
-1
0
11
18
41
0
0
15
0
0
69
0
-45
0
11
6
-100
0
0
0
0
7
-11
0
-3
0
-21
-5
6
-3
0
-2
1
-28
10
0
0
0
-24
-19
-115
43
-1
3
11
-8
31
-26
19
2
-4
3
-21
-37
-24
2
10
0
0
-2
20
-125
-7
-10
0
-4
-5
37
-18
0
7
0
0
50
25
-31
0
20
-7
0
17
0
-17
0
-13
4
0
0
0
0
0
7
19
-2
-1
0
0
-24
0
0
-2
-8
-53
0
3
34
-4
-5
2
-13
-6
-3
2
0
-15
-14
62
0
0
-20
0
22
18
-1
0
-2
10
0
0
-5
-4
-5
10
10
0
-35
-19
0
-55
0
28
17
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
-34
0
0
9
0
0
0
21
0
0
0
0
0
0
-40
0
0
14
0
0
0
8
0
0
0
0
0
0
-9
0
0
0
0
0
0
8
-2
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
-4
0
0
0
37
0
0
-16
0
0
0
15
0
0
0
0
6
0
0
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
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-12
-7
9
-27
-13
10
-5
3
17
18
-6
9
19
26
-10
-67
-13
20
10
0
-5
15
-15
21
-4
-8
19
-6
11
16
-87
0
26
1
-5
-10
8
0
-1
15
22
0
8
4
39
-14
11
9
-2
36
-4
2
16
-29
-8
0
2
17
-19
39
16
-6
-14
13
6
-38
-29
-2
-27
9
-2
-31
-5
-40
10
46
36
-11
-3
48
5
6
-6
-40
5
2
48
44
-25
6
-11
12
-44
-6
0
15
-6
-2
16
-11
6
-3
-10
50
-1
-11
-47
6
8
15
-11
-3
-28
34
48
-88
-5
-7
-12
21
-2
41
42
21
-8
-32
-14
73
-1
-25
-8
9
30
24
12
68
-8
20
-4
16
-25
26
39
0
-6
18
0
14
21
79
-2
-1
2
20
-10
-75
-15
2
8
-8
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
17
-22
4
-38
2
-11
1
3
-2
-21
4
8
1
-18
16
24
-9
17
10
0
0
-10
-18
-20
3
10
-8
0
-6
3
4
0
7
-7
-24
-1
-5
0
0
12
9
0
-3
-50
0
44
22
0
3
-9
-9
59
-25
1
0
-2
49
37
8
2
20
-4
-5
-33
0
-5
38
3
41
-9
6
-5
-69
18
-1
3
-8
6
12
-11
-27
10
-11
21
-7
20
-6
-19
5
2
32
-3
-2
4
0
4
-2
0
-3
-7
-14
0
12
-20
0
0
-60
0
0
-11
5
24
17
-24
-66
-12
3
0
-13
-54
-47
0
-28
29
20
-69
17
-87
-18
0
-11
11
-33
16
2
5
-3
-3
-1
-44
-1
39
-28
1
4
-1
-4
12
-4
12
-6
20
0
-39
-22
66
27
0
6
-21
-3
-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
3
-12
0
6
-7
0
19
-87
-4
0
0
1
0
-2
-7
-1
0
0
18
0
-3
-16
6
0
-2
15
0
-5
6
-21
0
0
20
2
34
0
10
-34
-7
0
0
2
0
-9
0
0
0
0
-1
7
-1
0
-3
-9
0
61
14
-1
0
0
28
0
-6
36
17
0
0
9
3
16
11
14
20
13
36
15
45
39
-8
0
0
4
-2
4
-5
-6
0
-3
40
0
8
0
-8
8
24
18
0
30
0
5
41
0
4
0
34
3
-25
-3
0
0
0
0
0
-59
2
-5
9
0
22
6
-2
0
12
-30
0
0
0
11
0
8
37
0
-11
1
30
0
0
13
0
60
3
-17
0
26
23
0
3
0
36
0
1
37
0
37
0
1
0
49
73
0
-2
0
2
9
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
52
0
0
-4
0
0
3
-50
0
0
0
0
0
0
9
0
0
7
0
0
0
50
0
-13
0
0
0
0
-33
0
0
0
0
0
0
-38
0
0
0
0
0
0
-14
0
0
0
0
0
0
-8
0
0
2
0
0
0
-46
0
0
10
0
0
0
0
0
0
6
0
0
0
19
0
0
-11
0
0
0
-37
0
0
0
0
0
0
-27
0
0
0
0
0
0
9
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-7
0
0
14
0
0
15
0
0
0
-2
0
8
0
0
0
0
13
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
0
0
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-6
58
-4
-52
-8
0
40
-23
-27
23
3
24
0
-42
12
39
7
10
4
-4
0
13
39
-3
0
12
-65
19
0
-9
2
0
-5
-36
0
11
-3
0
-6
25
0
9
19
28
5
-74
-5
0
2
-14
20
35
107
20
0
-1
14
46
8
2
10
-4
-3
13
59
-41
2
19
-13
29
-9
9
40
-1
13
6
0
13
25
5
-11
11
-2
7
9
37
36
0
4
-3
-2
-2
-15
-13
-15
-17
-17
0
-3
16
0
-4
6
1
67
-24
4
-1
21
-20
0
-14
39
-1
71
3
0
0
73
-32
70
0
0
12
-4
51
15
41
-17
0
-10
-1
-17
-15
-14
-6
0
-4
23
3
1
24
13
0
2
0
46
12
0
75
-12
-21
-2
-3
39
-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
-12
-5
84
40
-9
25
28
-6
0
-9
36
-4
-33
23
23
-6
21
-5
-5
-29
43
2
-6
24
-5
-20
-10
22
0
-3
2
-34
45
-26
-26
-22
-6
50
7
-4
-28
6
5
-2
-68
-53
-16
-51
-8
29
1
-47
-48
-15
-6
4
17
0
30
43
2
-16
17
31
-8
4
-84
0
6
29
22
-1
23
20
0
-9
48
-12
-1
-14
4
-1
-61
0
-16
-6
-45
-51
30
17
5
-1
9
27
3
23
29
17
-27
-19
2
27
-39
-46
6
28
-15
1
3
-27
-68
34
65
-3
50
48
-1
-30
-24
41
0
16
3
8
-26
-15
18
9
-12
-20
-21
-33
20
-32
-3
-18
-23
-3
47
-5
-26
-3
23
-18
-16
-44
20
-6
-1
-7
-17
40
-1
3
-2
21
37
-29
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-21
0
0
-1
0
0
0
23
0
-1
0
0
0
0
0
0
0
0
0
0
0
-33
-1
0
0
0
0
0
46
0
0
0
0
0
0
10
0
0
0
0
0
0
-36
0
0
0
0
0
0
-9
0
0
0
0
0
0
12
0
0
-4
0
0
0
17
0
0
0
0
0
0
30
0
0
1
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
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
8
0
0
0
0
0
0
52
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
0
4
0
0
1
27
0
0
-21
0
0
0
0
0
-4
0
0
0
0
2
0
0
0
0
0
0
-1
-15
0
0
0
0
0
-26
0
0
0
0
0
0
16
0
0
0
1
0
6
5
0
0
0
0
0
0
-36
0
0
0
0
0
0
-13
0
0
4
0
0
0
-11
0
0
-18
1
0
0
-36
0
0
0
0
10
0
-6
0
0
2
0
6
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
-11
0
0
0
0
0
0
9
0
0
0
0
0
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
3
3
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
7
0
0
6
17
26
-10
-3
0
-8
-1
-11
-9
19
10
0
-3
-19
30
5
-16
-1
0
0
8
0
-9
0
4
-4
-29
-1
7
0
0
2
3
0
-4
-1
0
-19
6
0
-9
-2
11
-18
-38
-12
0
2
-19
0
-28
-27
11
4
-14
19
48
-20
-32
-2
-1
13
-4
-2
-8
5
15
-1
23
2
-5
-5
10
32
7
3
-11
-9
1
-19
-7
-1
14
34
-8
-3
0
7
-20
0
0
-2
-1
0
21
-12
0
0
-52
0
-9
-28
-12
10
-9
-1
7
10
5
0
-30
36
-2
1
2
10
0
-43
-22
1
0
12
15
0
-13
45
52
-6
3
9
0
-22
17
-1
6
-1
17
0
3
25
-3
17
-21
11
-8
7
-2
-4
20
0
10
-52
17
-16
-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
-11
23
0
0
1
0
0
0
2
0
0
11
0
0
0
-46
0
27
0
0
0
0
-10
0
0
-3
0
0
0
-5
0
0
0
0
0
0
-21
0
0
0
0
0
0
23
0
0
0
0
0
0
-3
0
0
-7
0
0
0
-9
0
0
-11
0
0
0
26
0
0
24
0
0
0
-14
0
0
-3
0
0
0
-13
0
0
20
0
0
0
17
0
0
0
0
-11
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
1
0
0
0
-17
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
58
0
3
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
0
0
1
-33
0
0
-9
0
0
0
14
0
-17
0
0
0
0
-47
0
0
0
0
0
0
-4
-1
0
0
0
0
0
8
0
0
0
0
0
0
51
0
0
0
0
0
0
6
0
0
8
0
0
-6
-6
0
0
48
-4
0
0
49
0
0
29
0
0
-1
-7
0
0
-3
0
0
0
-39
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-24
0
0
10
0
0
0
-29
0
0
2
0
0
0
86
0
0
0
0
0
0
15
0
0
0
0
0
0
4
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
9
6
0
0
-15
-3
0
12
15
0
7
-25
7
0
-3
-22
0
22
11
0
19
0
13
4
-10
0
4
0
0
37
0
0
0
0
-4
0
11
2
18
11
-42
0
3
15
0
0
-1
-4
-7
-73
-6
17
-9
5
-7
4
3
-1
0
-1
-17
0
0
10
33
0
-6
36
-2
-4
0
32
-12
0
9
0
8
0
-38
0
-1
37
-8
7
0
21
9
0
0
3
0
0
23
18
9
0
7
0
0
-18
-2
-38
0
0
-6
-8
19
0
-19
32
14
1
-2
-25
0
15
3
-3
0
0
1
0
-29
53
1
0
3
-7
0
48
30
2
6
0
37
0
0
-15
6
0
0
-24
-4
29
0
0
2
2
-20
-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
11
-11
36
-19
-4
-12
-31
-14
2
2
-18
-5
-56
-2
-3
-12
-13
-63
-8
-24
-9
-3
-3
19
5
-25
-56
-1
2
17
-6
10
-1
31
-72
3
-11
-44
-56
-5
-35
16
29
0
-17
-23
17
7
-34
-26
4
-73
-102
-18
0
-16
-5
0
35
-15
-6
41
-25
-5
1
47
-24
-12
44
-19
-9
2
21
27
6
-15
0
9
-5
55
-11
21
-50
-2
0
13
28
-32
-18
-3
-52
7
4
27
21
-25
-35
16
18
-5
35
0
-32
0
-56
8
20
22
30
53
-44
-10
-39
6
3
-11
28
-6
-23
12
0
28
56
14
-4
-1
2
22
74
-12
0
49
35
7
-4
1
-30
6
12
-14
17
-10
-14
-19
1
-65
-27
3
-2
12
-73
59
-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
0
0
0
0
0
0
0
0
4
0
0
-6
0
0
0
-2
0
3
3
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
15
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
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
-8
0
0
0
0
0
0
-17
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
-2
0
0
0
12
0
1
10
0
0
0
-7
0
0
2
0
0
0
-8
-8
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
-17
0
0
0
0
0
0
10
0
0
-1
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
-7
0
0
0
0
0
0
6
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
-11
0
0
0
0
0
0
-4
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
2
0
0
0
0
6
0
0
0
0
0
0
23
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
4
0
-12
4
11
13
6
-39
0
0
-26
-24
0
-4
0
0
0
35
5
25
0
21
-24
2
0
0
2
0
25
-4
0
7
0
-16
24
-4
0
0
12
-6
-26
-31
-8
0
13
13
5
-21
45
2
0
1
24
9
26
-23
-21
-7
6
-15
-3
-2
-3
29
0
6
7
79
-27
-6
-15
0
2
0
12
-25
-1
-14
-12
-2
2
39
17
0
15
-2
0
0
0
-1
0
48
-7
0
0
-35
0
2
-26
0
-35
48
0
28
-15
7
0
4
-10
15
-6
-18
13
0
11
32
0
-2
-3
-18
0
18
-45
4
0
0
12
1
-6
45
-6
0
-4
5
0
0
19
19
20
0
-3
0
-4
0
-2
23
0
29
-15
-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
11
-20
0
0
-16
0
0
0
-1
0
14
-13
0
0
0
-55
0
0
8
0
-6
0
8
-4
0
0
0
0
0
-69
0
0
0
0
0
0
-45
0
0
-5
0
0
14
-7
0
0
-32
0
-10
-10
24
0
0
-11
0
0
-10
3
0
0
-59
0
18
0
6
0
0
16
0
0
-3
3
0
0
-4
0
3
0
18
0
0
-2
0
-3
0
0
0
0
0
0
0
0
-22
-2
0
0
0
0
0
-36
0
24
-11
0
0
-3
16
0
0
-2
0
0
0
15
0
-2
-3
0
0
0
71
0
-5
22
0
0
0
3
0
-5
7
0
0
0
13
0
10
0
0
0
0
-9
0
-6
0
0
-10
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
1
0
0
0
-99
0
-1
15
0
0
0
-95
0
0
0
0
0
0
72
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
17
0
0
15
0
0
0
-20
0
0
13
0
0
0
-81
0
0
-34
0
0
0
14
0
0
-3
3
0
0
-37
0
0
0
0
0
0
-24
0
0
-1
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-62
0
0
-1
0
0
0
-37
0
3
10
0
0
0
-52
0
0
6
0
0
0
-7
0
0
-1
0
0
0
9
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
2
-1
-11
16
0
0
22
0
0
0
2
-9
-17
0
0
0
0
38
-2
0
0
0
-3
0
-22
0
2
-10
-24
20
15
-1
0
0
8
0
5
-11
3
0
-6
33
33
0
0
4
-10
-12
44
6
-39
1
44
0
0
12
-41
-7
0
17
0
0
32
0
-20
0
12
0
2
-7
-36
6
0
3
0
0
0
0
-10
-1
40
-29
0
-1
0
0
-1
23
-2
-17
0
0
4
2
-2
0
6
3
32
-9
4
2
0
41
58
-12
0
10
12
0
-9
34
24
-8
0
44
1
-24
20
7
0
0
28
0
3
11
5
0
0
9
0
-8
-2
0
-24
0
-16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-3
-17
10
74
6
-8
-29
-15
22
-15
-2
0
-8
-4
19
-11
1
-42
-7
38
1
-10
-29
13
7
-5
12
36
16
25
-17
-8
1
-11
12
7
6
41
34
-2
34
-42
6
-18
-21
-15
-1
17
28
11
16
9
-1
0
47
34
-13
3
-29
73
-8
81
-13
22
44
4
14
10
41
-37
-29
-47
-13
-4
-2
-87
-6
2
-20
-48
20
-3
39
-9
-19
16
-8
27
7
-28
-16
78
-21
53
-20
8
21
-8
-6
-1
23
9
4
-1
-67
3
9
-8
10
0
-20
41
-38
20
-3
44
0
9
4
-32
24
2
4
-11
7
-8
-29
-31
10
33
-2
-20
-11
-79
-68
-9
-2
-25
5
-15
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
7
0
0
0
0
0
0
-4
0
0
0
0
0
0
-19
0
0
0
0
0
0
-10
0
0
0
0
0
0
17
0
0
0
0
0
0
-35
0
0
-11
0
0
0
2
0
0
7
0
0
0
-3
0
0
0
0
0
0
15
0
0
1
0
0
0
24
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
7
0
0
0
0
0
0
22
0
0
-1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-26
0
-2
27
0
0
0
-6
0
0
0
0
0
0
36
0
0
0
0
0
0
-16
0
0
0
0
0
0
-34
0
0
-3
0
0
0
58
0
0
0
0
0
0
-42
0
0
24
18
0
0
3
0
0
40
0
0
0
42
0
0
-2
0
0
0
26
0
0
4
0
0
0
36
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
0
-2
0
0
2
37
0
4
-13
0
0
0
-1
0
0
-19
-1
0
0
10
0
0
0
0
0
0
14
0
0
0
0
0
0
13
0
-1
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
9
-8
6
9
7
-4
-1
-30
30
0
3
19
-116
0
55
0
0
0
28
0
-2
86
0
77
6
8
18
13
51
-15
63
19
0
-2
-1
-32
-33
23
-2
-7
18
30
29
-7
-24
5
34
22
3
40
-4
2
1
0
1
2
0
22
14
24
0
59
0
5
38
7
-1
-5
15
17
34
-2
0
8
-13
4
0
-71
54
0
27
-25
-1
-4
-5
0
1
-7
0
18
3
-1
-4
28
10
-9
-7
-59
2
-26
45
-1
13
-11
-8
53
0
-5
30
21
-40
25
25
32
0
10
-1
13
-22
-68
0
0
7
14
20
0
28
-7
-1
2
0
4
-4
-10
-4
0
19
35
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
0
-5
20
0
0
0
-19
0
0
0
0
-1
0
-6
0
0
0
0
0
0
-59
0
0
0
0
0
0
30
0
-2
0
0
0
4
-8
0
0
0
0
0
1
-47
0
0
-11
0
0
0
-27
0
0
-20
0
0
0
16
0
0
-7
0
0
1
-7
0
0
-6
0
-2
0
16
0
0
-1
0
15
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
84
0
0
-4
0
0
0
30
0
-3
0
0
0
0
12
0
-8
-1
1
0
0
4
0
-1
0
0
0
0
-16
0
0
0
0
0
0
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
1
0
0
0
31
0
0
0
0
0
0
39
0
0
0
0
0
0
24
0
0
0
0
0
0
4
0
0
0
19
0
-2
28
0
0
22
0
0
0
-46
0
0
-10
-2
0
-1
-2
0
2
34
0
0
0
1
0
0
49
0
0
0
24
0
0
0
0
0
0
44
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
-8
0
0
0
-2
0
0
-13
0
0
6
0
0
0
6
0
0
6
0
0
0
50
0
10
-3
0
0
0
-4
0
0
0
0
0
0
-71
0
13
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
37
4
0
0
0
0
0
24
0
0
0
0
0
0
-24
0
0
1
0
-2
0
-49
0
0
10
0
0
10
-82
0
0
35
-1
0
0
-11
0
3
-21
7
0
0
-30
0
0
9
10
0
0
9
0
0
2
0
0
0
-11
0
0
-1
-1
27
0
53
0
0
0
0
0
0
8
0
0
0
0
0
0
-10
0
-1
0
0
0
0
-73
0
0
4
0
0
18
-4
0
4
0
0
0
0
30
0
7
-1
-7
0
0
-42
0
-4
0
0
0
0
-44
0
0
0
0
0
0
-11
0
9
1
0
-3
0
-7
-6
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-18
-1
14
0
-1
-62
28
36
-55
-11
-8
16
-22
1
4
9
44
-13
4
-19
-27
4
27
26
-8
-4
-21
-31
-4
-12
6
-20
6
11
-28
4
-7
-11
0
-2
3
7
-5
-41
-48
-32
-9
-34
47
1
0
-23
32
0
29
4
-53
24
12
-33
1
-30
-37
9
-30
-11
0
-24
30
13
-33
-57
-37
30
26
50
43
7
-20
39
6
15
11
-20
10
55
-3
8
2
35
-68
-18
-5
-12
18
-6
35
14
9
4
10
-21
-8
-35
-24
-43
38
-30
-21
9
-19
16
5
-51
23
-7
0
7
-5
14
-10
-11
-4
1
45
2
37
-30
24
-5
-4
41
0
27
-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
-2
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
5
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
4
0
0
0
0
0
0
3
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-16
0
39
-7
-3
0
-11
-37
0
0
-9
-7
0
-8
-29
0
-10
0
16
1
9
0
-3
18
7
-1
-24
5
0
10
30
4
7
-18
-2
0
2
7
-17
-29
-6
-13
-1
-40
30
-42
11
15
-2
-3
-12
28
24
41
9
8
0
57
46
11
77
-4
8
0
4
15
31
16
0
-13
-9
2
0
40
-46
0
-5
-33
0
17
36
0
-17
-49
15
-2
14
5
31
-30
-15
-9
-12
42
8
8
0
6
0
22
-33
-19
3
-13
-16
0
23
10
24
1
-23
-17
10
-67
-41
39
25
3
8
0
-9
-27
24
-53
-35
20
0
36
35
0
13
0
3
-12
-5
9
-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
-1
18
0
0
0
19
38
0
8
-50
-3
0
-9
0
0
14
14
0
0
0
0
52
15
0
0
-29
-14
-21
-3
9
0
0
-14
0
-6
-6
-6
0
22
-14
24
4
-11
-11
-3
-6
-4
82
5
-2
-19
2
13
-55
13
-8
-8
-9
3
0
27
0
12
0
-7
1
-2
0
4
61
0
9
-3
0
0
-3
0
0
15
18
0
19
-20
0
0
15
0
-14
4
0
-3
1
1
0
21
39
90
0
1
6
0
-13
-36
6
-30
0
-22
0
-1
-26
24
-4
6
37
0
-12
-1
-6
12
0
20
0
17
3
-7
0
0
-11
-2
36
0
-3
-21
0
12
-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
-10
0
0
-13
0
-4
0
16
-1
-6
0
0
0
0
8
0
0
0
0
0
2
-13
0
0
3
0
0
-1
-20
0
0
-42
0
0
-1
-19
0
0
10
0
0
-20
-3
0
0
12
0
0
0
-12
0
1
-14
0
0
0
30
0
0
1
0
-3
0
-29
0
0
-4
0
10
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
-4
0
0
0
-18
0
0
-10
0
0
0
-20
0
0
6
0
0
-2
-54
0
0
20
0
0
0
38
0
0
-3
0
0
0
-60
0
-2
-3
0
0
0
1
0
-11
0
0
-12
0
-16
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-6
0
0
0
0
0
0
-24
0
0
0
0
0
0
33
0
0
2
0
0
9
-16
0
0
0
0
0
0
19
0
0
-7
3
0
0
22
0
0
12
0
0
0
22
0
0
5
0
0
1
-4
0
0
0
0
0
-1
4
0
0
21
0
0
0
-29
0
0
0
0
0
0
-8
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
7
2
0
0
11
0
0
-6
0
0
0
-14
0
0
0
0
0
0
-20
0
9
3
0
0
0
-36
0
0
0
0
0
0
-2
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
29
0
0
0
0
0
0
41
0
0
0
0
0
0
10
0
0
0
-6
0
0
19
0
0
6
0
2
-2
-19
0
0
12
-18
0
0
-4
0
0
12
0
0
0
39
0
0
13
0
0
0
-1
0
0
0
0
15
0
54
0
0
0
0
-6
0
28
0
0
0
0
0
0
-4
0
0
0
0
0
0
17
0
4
0
0
0
0
-29
0
0
4
0
0
0
12
0
0
0
0
0
0
-8
0
0
0
0
0
0
-5
0
0
-17
0
0
0
-12
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
-32
-8
6
0
0
-8
-39
0
1
-6
16
-26
33
0
-1
-24
11
23
-10
-9
0
3
0
20
10
-36
7
5
-4
-1
-36
58
14
-11
37
-5
-7
-19
9
19
-7
0
20
-15
-30
69
-68
22
0
30
12
-2
43
25
0
2
-18
-1
63
-3
0
-5
1
-4
-2
-97
61
-9
-25
-16
-12
2
-37
11
9
23
1
-6
11
1
44
2
17
0
61
18
-29
-12
-3
9
-10
3
18
-30
20
-3
-6
0
-30
37
-49
-22
17
21
35
-44
-23
41
32
0
-9
-9
-5
-17
-17
21
2
0
0
34
-27
-41
49
-6
10
47
17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
55
0
0
0
0
0
0
-7
0
0
0
0
0
0
-16
0
0
11
0
0
0
-9
0
0
-6
0
0
0
3
0
0
-6
0
0
0
16
0
0
-1
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-4
2
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-27
0
0
0
0
0
0
-14
0
0
0
0
0
0
17
0
0
0
0
0
2
0
0
0
-6
0
0
0
16
0
0
-4
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
13
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
10
0
0
0
-1
0
0
0
0
0
0
1
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
21
9
4
0
0
0
0
11
0
0
0
0
-2
0
-24
0
0
-7
0
18
21
38
0
0
24
0
26
21
-24
1
0
44
-11
-1
0
-11
0
0
-13
-3
4
0
-26
0
0
-1
-7
1
1
-13
0
-2
0
0
29
0
-7
0
1
0
0
-40
0
1
-3
0
0
0
-15
0
63
0
0
0
0
0
0
-16
0
1
0
0
3
0
14
0
0
9
0
0
0
-33
0
0
-7
0
0
0
21
0
0
0
-10
0
0
-25
0
0
0
0
0
0
86
0
0
0
-1
-6
0
-19
0
24
0
0
0
0
-5
-3
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
-10
0
0
0
0
2
0
39
0
0
0
0
0
0
27
0
0
-10
0
0
0
8
0
0
-8
0
0
0
47
0
0
-2
0
8
0
36
0
0
0
0
-2
0
-69
0
0
-6
0
1
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-7
0
-4
0
-11
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
14
0
0
0
0
0
0
-43
0
0
0
0
0
40
-3
0
2
23
-4
0
-20
14
1
0
21
-27
0
-1
2
3
2
-4
32
0
0
-24
0
0
6
-11
0
0
-20
0
0
-5
0
0
0
-86
0
0
2
-4
0
0
7
-1
0
0
0
0
0
2
2
0
0
0
0
0
28
0
-22
0
0
0
-1
-23
0
15
48
-12
0
-1
29
0
-4
7
9
0
0
31
0
28
-29
0
0
0
-10
0
46
15
0
0
0
-23
0
4
-4
0
0
0
-79
0
-3
0
0
0
0
32
-37
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
-12
-6
20
3
9
9
-12
8
0
4
10
43
-8
-49
-20
5
-17
4
38
-7
-16
-28
-2
6
22
24
0
12
-48
9
-19
-4
-14
-2
-54
-70
26
-1
43
14
-3
-21
-23
-15
-10
-6
33
-4
59
12
-17
1
22
-13
0
3
-25
-13
-31
5
33
-5
13
-6
36
31
-12
35
4
26
1
-14
18
20
-6
16
-40
1
11
48
-16
-28
3
-28
-2
10
23
-10
-20
17
-18
-35
22
27
14
38
4
-20
-13
5
23
31
-3
-2
-3
-55
-2
59
26
-27
4
58
-51
19
43
7
-25
0
70
0
37
-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
22
0
0
0
0
0
6
-42
0
0
50
1
11
3
-38
0
0
6
0
-2
-4
20
1
0
74
-2
-27
1
13
0
0
-6
0
-12
0
16
-1
3
-24
5
-6
1
10
0
0
40
-17
34
0
56
0
0
-1
0
33
0
-74
0
-1
0
0
-6
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
-12
0
4
1
-4
0
0
-18
0
-72
6
0
0
0
-6
0
4
6
28
0
0
-53
0
1
-3
0
0
1
-37
0
0
0
0
-6
0
16
0
-10
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-7
0
0
0
0
0
-19
0
3
-4
12
0
-6
-14
0
0
-5
9
9
9
-27
1
-4
-25
1
-2
0
-26
7
0
30
22
33
0
22
0
9
24
7
2
0
-57
0
0
49
0
19
4
49
0
0
-8
1
-66
0
-34
0
0
0
0
0
-1
-13
0
0
0
0
0
0
-29
0
12
0
0
21
1
-17
0
0
-8
0
0
1
45
0
7
20
0
15
0
-17
0
0
-32
1
-1
0
23
0
0
0
0
0
0
0
0
0
21
1
7
0
-67
0
0
-9
0
-15
0
7
-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
-10
0
0
0
0
0
0
-1
0
0
0
0
-1
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
3
0
0
0
42
0
0
-1
0
0
0
8
0
0
-1
0
0
0
-2
0
0
-7
0
0
0
-14
0
0
3
0
0
0
-25
0
0
0
0
-3
0
14
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
7
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
0
0
0
0
-19
0
0
0
0
0
0
-37
0
0
0
0
0
0
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
10
0
0
0
-8
0
0
1
0
0
0
-21
0
0
-1
0
0
0
13
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
3
0
0
0
10
0
4
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
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-30
-10
-52
-17
-43
7
-9
6
19
-69
0
-6
-1
-11
-41
6
1
-27
-14
11
25
-43
15
-12
4
-43
-3
-68
13
23
-26
-17
13
11
44
26
0
-18
-14
20
-8
0
13
-9
-25
15
0
4
-2
29
-2
-37
18
24
0
15
-8
-18
21
0
-48
-5
20
19
-2
-4
5
-1
1
-3
38
-18
-1
62
12
-1
-11
8
23
-59
50
16
8
24
-70
4
17
11
-5
-18
-13
29
19
-47
-3
-5
27
-13
49
-4
-11
-22
8
-1
-3
37
-18
-73
-7
0
-3
1
18
-66
-76
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
3
0
-7
6
0
0
8
0
0
1
29
0
0
5
2
0
0
-13
0
0
26
0
0
0
9
0
8
2
0
0
0
32
0
0
4
0
-4
0
39
0
0
1
0
-25
0
-55
0
0
0
0
0
0
-30
0
0
0
0
0
0
1
0
-3
0
0
0
0
61
0
0
0
0
0
0
-4
0
-3
0
0
0
0
-3
0
0
0
0
0
0
-24
0
2
0
0
1
0
20
0
0
0
0
2
0
-40
0
0
0
0
0
0
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-13
0
0
0
0
0
0
16
0
0
0
-1
0
0
-10
0
-3
0
0
0
0
3
0
0
1
0
0
0
9
0
0
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
-4
0
1
0
0
0
0
28
0
0
0
0
0
1
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-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
-23
0
0
0
0
0
0
-26
0
0
1
0
0
0
-27
0
0
-1
0
0
0
34
0
0
-6
0
0
0
-55
0
0
9
0
0
0
-49
0
0
0
0
6
0
-10
0
0
0
0
-2
0
-67
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-6
0
0
-1
0
0
0
0
0
0
1
0
0
0
-3
0
1
0
0
0
0
1
0
0
0
0
0
0
-28
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-18
0
0
0
0
0
0
-19
0
0
0
0
0
0
3
0
0
0
0
0
0
-11
0
0
40
0
0
0
-26
0
0
-7
0
0
0
-3
0
0
0
0
0
0
-40
0
0
0
0
0
0
-17
0
0
0
0
0
0
32
0
0
0
0
0
0
-20
0
0
-6
0
0
0
0
0
0
1
0
0
0
15
0
0
0
0
0
0
-13
0
0
-10
0
0
0
0
0
0
15
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-31
0
0
-52
0
0
0
30
0
0
17
2
0
0
23
0
-4
-1
-1
0
0
-29
0
3
25
0
0
0
37
0
0
-3
0
0
0
48
0
0
0
0
-5
0
-12
0
0
0
0
0
0
18
0
0
0
4
0
0
1
0
0
0
0
0
0
-41
0
15
-4
0
0
0
-15
0
0
0
0
0
0
-7
0
8
0
0
0
0
16
0
6
0
0
0
0
-34
0
0
-18
0
0
0
-27
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
10
18
75
-24
5
-1
9
22
-34
-38
25
-4
2
-56
45
-49
64
-18
-14
-30
15
4
-38
12
-35
6
17
-16
-37
24
21
-6
46
-13
19
7
-21
16
0
22
25
-3
0
29
-6
-1
-5
-5
-1
-8
-8
2
-11
0
21
-10
-32
5
-6
-1
-10
1
32
51
-20
24
-65
-5
4
15
15
-63
30
47
-29
20
-40
10
-22
-15
21
-11
-2
8
6
-71
21
6
44
0
9
0
-3
23
-2
-8
7
-28
-13
18
10
0
17
18
4
27
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
6
0
0
0
0
0
0
14
0
0
0
0
0
0
39
0
0
-6
0
0
0
-11
0
0
0
0
0
0
-28
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
-8
0
0
0
0
0
0
-6
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
1
18
0
0
3
-6
0
1
-59
0
1
0
0
0
0
-13
0
0
-9
0
0
0
36
0
0
0
0
2
0
-1
0
0
0
0
16
0
9
0
0
0
0
-1
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-9
0
-1
0
0
0
-1
-4
0
4
8
0
0
0
29
0
0
0
0
0
0
22
0
4
0
0
0
0
-2
0
0
0
0
0
0
27
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
3
2
0
-2
-3
10
0
0
-2
37
0
-4
11
0
-2
18
37
-4
6
41
0
-7
27
27
-1
1
53
0
0
33
0
14
0
-34
0
0
-11
0
-18
0
2
0
0
0
0
8
0
3
1
0
0
0
0
0
-26
0
15
0
0
0
0
-27
0
2
-4
17
0
0
3
0
-7
13
2
0
0
17
0
0
30
-17
0
0
-33
0
-11
-50
-1
0
0
43
0
0
-1
0
4
0
-11
0
-5
0
0
-10
0
28
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
0
42
0
3
-2
-6
2
0
3
22
1
0
-4
-10
0
39
-2
-12
-3
14
0
0
38
3
1
-1
-10
0
0
25
0
-12
0
34
0
0
0
0
-18
0
7
0
0
0
0
0
0
-30
0
0
0
0
0
0
-58
0
5
6
0
0
8
-22
0
0
-2
0
0
0
4
0
-37
19
0
0
0
32
0
-2
27
0
13
0
-20
0
6
5
0
7
0
-4
0
0
17
0
19
0
13
0
10
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-37
0
0
-7
-27
0
0
4
-8
0
-3
-7
0
-3
-15
0
0
0
-44
0
0
24
7
0
-1
16
0
0
10
0
0
0
16
0
0
18
0
0
0
23
0
0
0
0
0
0
-4
0
0
0
0
0
0
-18
0
17
0
0
0
0
8
0
0
0
0
0
0
-28
0
5
16
0
0
0
-19
0
0
6
3
0
0
24
0
1
1
1
0
0
13
0
0
-12
0
0
0
-20
0
-7
-1
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-7
-1
1
0
2
-13
2
0
0
-10
7
0
-43
35
0
0
8
0
0
20
-3
4
0
50
-1
0
10
0
10
0
24
0
0
0
0
0
0
-60
7
0
0
0
0
0
-1
-1
-24
10
0
0
0
-12
0
0
52
11
0
0
2
0
26
7
0
0
0
40
0
0
7
-17
0
0
-21
0
39
-2
-8
0
0
27
0
0
20
0
0
0
18
0
0
0
0
-7
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
-5
10
-18
-4
0
38
12
-5
-8
-16
-3
19
-24
-15
28
-13
-25
5
3
12
16
14
-19
-19
-6
13
0
19
42
-27
-11
-5
2
-21
5
-33
30
-56
52
1
43
13
-76
-29
-20
-3
-6
-8
-15
43
-43
55
-43
0
-10
-8
25
25
-19
26
-4
18
-9
0
3
56
0
-18
-27
0
-15
-12
-40
-59
-13
0
25
3
4
-11
12
16
-10
74
5
44
-9
-2
1
-20
-9
-25
7
-45
-7
12
19
7
26
63
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
37
0
0
0
-2
0
0
-28
0
0
8
0
0
0
17
0
0
0
0
0
0
15
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
12
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
-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
15
18
0
0
32
8
80
37
17
0
-7
-18
4
0
0
2
-1
0
12
28
-2
0
2
0
0
-7
0
-60
2
8
0
1
17
32
8
0
-13
0
0
7
0
0
0
46
-7
0
0
-3
0
0
-20
0
1
-6
4
4
16
36
0
-8
20
6
0
0
12
0
-7
28
0
4
9
22
0
4
-6
1
0
1
-1
0
-12
7
2
2
0
-50
0
2
13
16
4
0
13
0
8
-3
0
71
0
9
-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
-50
0
0
9
9
0
0
-16
0
0
-9
0
0
0
-49
0
0
0
0
0
0
-18
0
0
-2
0
0
0
37
0
0
0
0
17
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
27
0
0
0
0
0
0
1
0
0
-4
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
-44
7
0
0
-49
0
0
-19
0
0
0
19
0
-1
7
0
0
0
16
0
0
9
1
0
0
48
0
0
23
0
0
0
-16
0
0
0
0
0
0
21
2
0
0
-1
0
0
15
0
-14
0
0
0
-2
-36
0
0
-2
0
0
0
16
0
3
9
0
0
0
11
0
1
25
5
0
0
12
0
-9
-2
0
0
0
7
0
0
-9
0
0
0
20
0
0
-4
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-1
0
7
14
3
0
-35
60
-12
0
-21
0
0
3
-8
0
10
-64
0
0
-23
0
60
0
-1
1
0
0
0
15
0
22
0
-1
0
0
0
0
-52
0
-25
-4
0
-9
0
-12
0
2
6
-6
0
0
17
0
71
-41
29
0
0
15
0
-1
47
2
0
0
-5
0
0
-29
2
0
0
-44
0
-2
-4
-6
0
0
0
0
-4
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
91
35
-8
0
30
-22
-8
27
21
-8
12
-15
33
8
14
-26
11
-112
-18
10
-13
-10
18
-10
-35
-32
-1
-1
-70
6
-1
46
36
10
-19
37
0
78
1
-4
-16
-1
18
-1
4
-22
3
53
-2
6
86
-1
24
6
2
0
-10
-12
-7
-9
-1
21
-15
-11
-16
-21
-47
-14
-25
-9
17
-12
-3
15
-38
-2
-16
3
35
-5
2
28
-10
-8
17
-91
10
-16
25
0
3
9
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
25
0
0
-2
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
0
2
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
-15
8
0
0
4
0
2
0
0
0
0
0
0
4
-2
0
0
0
-6
0
0
0
0
0
0
-8
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
3
0
10
0
0
18
0
0
0
-61
0
0
0
0
0
0
16
0
0
0
0
0
0
33
0
0
0
0
0
0
12
0
0
0
0
0
0
-7
0
3
0
0
-1
0
-4
0
0
0
-1
0
0
-45
0
0
3
0
1
0
-1
0
3
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
-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
37
-4
-1
3
10
-6
32
35
7
7
-3
29
30
-26
23
9
0
3
-2
-13
42
-4
-17
0
3
-31
23
-3
0
-5
16
0
-1
-8
-9
-2
12
49
0
-1
79
0
5
5
-2
76
-6
35
18
18
8
28
5
-5
5
-8
31
26
6
13
-5
28
0
0
-10
0
27
20
-2
1
-3
1
3
-40
-7
24
9
6
-11
0
-2
13
36
23
24
8
0
-2
13
-2
-11
0
-12
47
-9
-40
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
42
-21
0
3
8
21
44
-18
-4
0
-3
38
11
12
-18
-7
0
0
36
0
-20
0
-48
0
-1
43
0
7
0
18
-4
0
-1
0
1
0
14
4
0
0
-2
0
0
-16
-3
43
-5
0
1
-9
33
2
0
35
0
-2
-10
4
0
14
19
1
0
-6
3
0
-1
-45
-9
0
0
12
2
-31
24
0
-8
0
44
0
0
64
0
-5
0
-22
0
2
-3
3
1
0
-5
55
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
10
2
0
0
9
0
0
7
10
0
0
-38
0
0
0
0
0
1
-18
0
0
0
0
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
59
0
0
0
-4
0
0
-29
0
7
-53
0
0
0
4
0
0
0
0
0
0
14
0
-7
0
0
0
0
70
0
0
-1
0
0
0
-56
0
2
-1
0
0
0
-28
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
-23
7
0
0
-13
0
0
17
0
-3
0
-4
0
0
35
-1
-54
0
2
0
0
0
0
0
0
7
1
-7
0
15
0
0
20
0
-6
0
0
0
8
-32
0
-7
35
-7
0
1
-3
0
32
16
9
0
0
94
0
2
15
7
0
1
24
0
29
8
0
0
0
-14
0
0
10
1
0
0
0
0
-30
0
0
5
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-13
34
27
-13
18
-18
-18
5
14
-12
15
-18
-45
0
3
-6
1
28
10
-17
0
-2
39
7
-3
-66
48
-4
20
-27
6
34
-30
1
43
-4
16
2
-35
-3
-5
-62
0
19
-34
22
24
-19
-55
-4
1
-15
20
-69
-2
-1
0
39
58
15
9
18
5
25
-8
-33
-19
-33
-8
-21
2
2
-32
13
27
-14
-1
-9
-15
9
10
17
-8
0
-11
-20
18
73
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
-8
0
1
4
0
0
0
8
0
0
1
0
11
0
6
0
0
0
0
1
0
26
0
0
0
0
0
0
1
0
0
0
0
0
0
16
0
0
0
0
0
0
29
0
0
0
0
0
0
-9
0
10
0
0
0
0
-2
0
-3
-8
10
0
0
-8
0
-1
0
0
0
0
5
0
0
-6
0
0
0
-22
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
0
7
0
0
0
18
0
0
0
0
6
0
-23
0
0
2
2
4
0
-17
0
0
0
0
0
0
33
0
0
0
0
0
0
-28
0
-19
8
0
0
0
0
0
0
-10
0
0
-3
2
0
27
1
0
0
0
38
0
0
2
0
0
0
37
0
-3
0
0
0
0
-7
0
0
0
0
1
0
-16
0
8
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-3
4
-7
11
-9
-19
20
0
1
-9
-47
-36
4
-6
2
11
11
-9
15
0
11
-2
0
-2
20
-3
0
55
-57
0
0
3
0
0
-8
-1
5
0
-1
37
-22
-3
19
-8
3
24
24
-17
11
-1
-21
-31
55
28
0
15
-15
27
-21
19
0
0
19
0
-25
-41
-6
16
0
13
2
1
21
-38
23
-4
-3
0
6
-8
-15
15
-1
10
7
0
-7
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-8
0
0
37
0
0
0
-32
0
0
52
0
-4
0
24
0
0
-20
0
25
0
-31
0
0
0
0
0
0
-7
0
0
0
0
0
0
-47
0
-22
-2
0
0
2
-30
0
-3
25
9
0
0
15
0
-24
-4
0
0
0
-37
0
-8
-13
-16
0
0
8
0
44
22
0
0
0
-7
0
0
31
0
0
0
21
0
1
0
0
-3
0
-32
-26
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
-4
-2
0
0
-33
0
0
22
2
0
0
-31
0
0
20
0
0
0
-18
0
0
0
-13
0
0
38
0
0
0
-4
0
0
-16
0
2
0
0
0
0
46
0
1
9
-3
0
0
0
0
-32
21
0
0
0
11
0
0
90
14
0
0
22
0
25
-38
0
0
0
8
0
1
12
0
0
0
22
0
-1
0
0
0
0
-29
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
-6
-6
0
0
0
0
0
-10
0
0
0
0
0
0
-15
0
-2
0
0
0
0
-31
0
0
3
0
0
0
42
0
-3
10
1
0
0
57
0
0
0
0
0
0
32
0
0
9
2
0
0
33
0
0
0
0
0
0
3
0
25
-1
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-7
-2
8
21
-66
-32
9
-13
79
-28
-84
-11
0
0
-32
36
-12
-27
-11
-1
-22
27
0
-2
10
0
56
-3
45
-2
5
32
37
51
-3
2
38
20
33
4
29
8
19
-26
-1
-5
7
-4
-1
-34
5
-55
-18
53
-47
0
-10
15
-11
50
1
-11
19
32
49
-2
-28
1
-32
-5
2
-34
-1
-44
5
0
-16
-19
8
-73
-43
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
-25
0
-3
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-10
0
0
0
0
-5
0
0
-8
0
0
0
6
0
1
0
0
0
0
7
0
-4
0
0
0
0
8
0
-18
0
0
0
0
-5
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
-6
10
0
23
0
0
0
0
0
0
29
0
0
0
0
0
0
-27
0
-4
0
0
0
9
10
0
0
-2
0
0
-13
7
0
3
4
0
0
0
-1
0
0
-8
0
0
0
-16
0
1
0
0
0
0
8
0
-2
0
0
0
3
0
0
0
0
0
-2
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
6
0
-3
-2
37
-8
-1
-9
-7
-32
3
-27
24
0
34
-2
0
0
0
0
0
10
-17
0
1
24
0
0
25
-1
2
-2
7
-10
-1
29
0
26
51
35
13
0
2
-18
-21
-9
-11
-3
-30
-4
-1
-1
-6
-2
-11
0
9
-1
4
9
-1
0
0
20
2
0
32
-13
16
4
12
-7
-60
0
0
37
0
43
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
30
0
-1
-4
-24
0
7
-40
0
-14
0
-32
0
0
0
0
-12
0
-83
0
0
0
0
0
0
-46
0
-9
25
0
12
8
2
0
0
91
-1
0
1
0
0
8
101
0
28
-16
38
0
0
22
0
-8
0
28
0
22
11
0
0
0
5
0
0
-41
0
11
0
-22
0
0
17
0
-5
0
-20
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
-7
0
1
-13
0
0
0
2
0
0
0
0
0
0
-53
0
0
0
0
0
0
2
0
0
0
0
0
0
14
0
5
0
0
0
0
34
0
0
-10
1
0
0
-66
0
-5
-25
0
0
0
62
0
7
39
0
0
0
8
0
21
33
0
0
0
-6
0
0
0
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
2
0
-12
0
0
0
0
0
0
-2
2
0
0
0
0
0
29
0
0
0
0
0
0
44
0
0
7
0
0
0
-42
0
-6
0
0
0
0
11
0
-2
4
0
0
0
16
0
0
-3
0
0
0
41
0
0
0
0
0
0
-13
0
-11
2
0
-1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
72
-28
31
-19
-6
0
-13
-24
6
-1
-20
-28
-7
17
-7
-1
-5
-2
-2
44
15
-10
-17
6
-12
2
22
6
-25
-56
-20
0
12
-52
-1
14
-1
1
34
15
25
5
-12
-42
-25
40
0
32
-3
19
-14
7
-37
95
-20
0
20
24
30
0
56
2
10
-25
-16
30
12
6
0
-2
-19
73
26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
0
0
0
0
0
0
-23
0
0
0
0
0
0
4
0
0
0
0
0
0
-6
0
2
1
-2
0
0
7
0
0
0
0
0
0
63
0
0
3
9
0
0
1
0
0
0
0
0
0
27
0
0
4
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
6
36
0
0
-2
0
0
0
0
0
0
34
-2
0
0
2
0
0
-66
0
22
-1
0
-2
-2
-3
0
0
85
-6
9
0
12
0
-51
-14
3
0
0
10
0
-1
4
47
13
0
12
0
25
-2
0
-1
0
54
0
0
0
42
0
0
-19
0
30
15
0
-4
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
2
0
-6
0
20
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
8
0
0
0
0
24
0
0
0
0
0
0
-1
0
0
17
0
0
0
60
0
-6
-6
0
0
0
-24
0
0
2
0
0
0
46
0
0
0
0
0
0
19
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
11
0
0
-26
-3
0
43
-4
0
0
-27
0
0
0
0
0
0
35
-24
15
-11
-1
0
2
24
0
-2
14
1
0
1
-43
0
-26
12
-10
0
0
-8
0
12
28
48
0
0
-21
0
61
-11
0
0
0
26
0
0
-5
7
-1
0
5
0
36
4
0
0
0
-6
48
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
45
0
1
2
0
0
0
1
0
0
6
0
0
0
-3
0
-7
0
0
0
0
8
0
0
0
0
0
0
34
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
8
0
-4
-3
1
0
-10
-20
0
7
38
23
-21
28
-8
72
-32
16
-4
-10
6
-70
-1
-3
-2
0
31
17
-34
25
2
-13
2
14
16
-20
-38
-9
27
-20
-46
-66
-46
3
1
-18
6
22
7
-21
37
26
0
0
-10
-30
-37
-2
0
3
-32
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
-9
0
2
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
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
-3
0
0
-1
0
0
0
1
0
0
0
0
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
39
0
0
0
0
0
0
-14
0
-1
0
0
0
6
14
0
0
30
-2
0
4
-10
0
-11
6
-1
0
0
18
0
15
0
7
0
0
5
0
22
0
0
0
0
15
0
0
0
0
0
0
-17
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
-49
0
0
-1
0
0
0
-3
0
25
-2
0
0
0
-31
0
1
-30
0
0
0
-4
0
-19
-11
0
0
0
18
0
0
3
0
0
0
-1
0
-2
0
0
1
0
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-16
-7
0
0
8
16
0
-6
1
0
-6
-5
0
4
22
21
0
7
25
0
0
-40
7
0
9
-2
0
10
59
-26
0
2
4
0
3
20
-50
0
0
5
0
32
44
-28
0
0
-13
0
0
7
1
0
0
-34
0
46
46
-1
0
0
29
-3
0
27
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-12
-1
5
27
-6
-23
5
-39
-12
42
3
-36
-10
20
9
-71
-21
34
7
-4
10
22
7
0
8
-28
-40
14
5
-39
18
4
-47
-18
5
51
7
-6
-48
21
-22
-4
4
8
6
11
-8
15
-1
-25
-21
27
-37
29
0
0
-1
-30
-16
-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
-2
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-1
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
1
-2
-1
0
0
-3
0
0
0
0
0
0
-20
0
20
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
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-12
0
0
0
0
0
0
24
0
0
0
0
0
0
-2
0
-12
22
0
0
0
-3
0
0
15
0
-4
0
3
0
1
0
0
0
0
-1
0
0
0
0
0
0
-53
0
4
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
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
6
0
0
23
0
0
0
0
0
0
3
0
8
-6
13
0
0
17
0
0
0
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
-27
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
21
0
47
-60
9
-18
-14
-18
0
17
-18
-5
-1
2
-35
0
-2
12
-29
7
0
-8
-2
1
-43
62
-2
0
-1
8
46
46
9
25
0
2
2
0
103
-3
4
0
-12
0
-33
6
0
17
0
18
-17
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
3
0
0
0
0
0
0
4
0
0
-2
0
0
0
13
0
0
0
0
0
0
-20
0
-1
0
0
0
0
2
0
0
0
0
0
0
13
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
20
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
36
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
14
0
0
6
0
0
0
23
0
0
56
0
0
0
26
0
2
-1
0
0
0
4
0
7
-1
0
0
0
-8
0
0
-1
0
0
0
-33
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
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
-21
0
0
0
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-1
-9
13
-2
-15
7
-11
-3
12
-21
-4
-58
0
-17
-18
2
16
-29
-54
-9
1
1
0
18
-32
13
0
0
24
1
24
48
11
7
0
-8
3
28
-11
0
-41
-2
-16
-51
-2
-6
-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
-6
0
0
0
2
0
0
5
0
0
-17
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
73
0
-1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-2
18
-19
-12
0
-1
0
37
7
8
0
0
-23
0
20
27
-8
0
0
13
7
25
-8
-19
0
0
4
0
0
-12
0
0
0
36
0
41
0
0
9
0
-28
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-8
0
7
37
0
27
4
0
0
0
16
0
0
0
0
0
0
-17
0
0
-2
0
0
0
41
0
0
-12
0
0
0
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
0
-2
0
12
0
0
0
0
0
0
-1
0
-1
-7
0
0
0
4
0
-2
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-21
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
34
0
0
0
0
0
0
-44
0
-3
0
0
0
0
16
0
0
0
0
0
0
43
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
24
29
30
6
-8
-22
20
39
-21
-28
-19
22
-9
-6
19
1
-56
21
-6
-6
-2
-15
-1
50
23
0
-6
0
-26
-57
1
-52
0
12
61
-8
-4
-30
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
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
-3
0
0
0
-3
0
0
4
0
8
12
0
0
0
-3
0
0
6
0
0
0
71
0
0
0
3
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
1
6
0
80
1
0
0
0
59
0
1
7
35
0
0
37
0
-10
-37
0
0
0
7
0
0
-19
2
0
11
10
0
37
8
0
-8
0
-32
-10
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
-1
17
4
-3
4
0
-7
0
-34
0
4
-21
0
0
0
18
0
13
16
0
0
0
15
0
0
0
0
0
0
-10
0
-20
0
0
-36
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
14
0
0
-1
0
0
0
6
0
0
0
0
0
0
-16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
-4
0
0
1
0
0
0
-4
0
0
4
0
0
0
57
0
0
0
0
3
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-13
11
-2
-8
2
-20
2
-3
-3
-44
10
-16
35
-2
-12
0
28
46
-5
-25
0
-9
-7
20
0
-1
-36
-1
5
-13
44
6
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
0
2
0
0
0
0
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-6
-3
0
1
-49
3
116
31
-2
4
0
53
0
0
-12
-15
16
0
-4
0
-11
0
0
16
0
4
-2
0
-30
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
2
31
31
-4
0
17
0
17
-6
1
0
0
-57
0
-7
9
0
9
19
12
0
1
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-60
-1
0
0
-16
0
-15
0
0
0
0
1
0
0
0
0
0
0
-15
0
1
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-2
0
0
0
0
0
9
0
0
0
2
0
0
0
0
0
0
25
0
4
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
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
7
22
1
-22
52
9
2
0
-5
0
-2
29
-40
26
-2
-8
0
30
-5
0
-12
0
-1
-1
4
-56
-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
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
11
-8
-21
-6
0
11
4
-33
0
0
0
0
1
0
37
0
-2
0
6
4
0
20
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
16
89
12
3
0
-3
0
1
11
0
-1
0
32
0
-8
0
0
-38
0
20
-10
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
2
3
1
3
0
0
-14
0
1
0
-6
0
-9
22
0
-5
0
13
14
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-7
0
0
0
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
57
2
43
-2
19
-15
-4
18
-2
12
-22
-16
-24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
-1
-22
-7
8
0
-5
0
0
3
0
6
0
10
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
-1
0
0
-21
5
-2
-17
-17
0
26
0
0
-11
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
2
0
-3
0
0
-3
0
-26
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
27
0
7
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
1
29
0
-17
0
-6
26
-3
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
9
0
-2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
-2
0
0
16
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
1
0
0
0
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
44
-130
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-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
1
0
0
0
0
0
0
0
0
2
-9
-2
0
0
0
0
-7
0
0
0
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
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
-9
0
0
0
0
0
0
23
0
0
0
0
0
0
20
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
14
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
10
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-4
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-14
-4
15
-3
19
38
-49
43
37
47
74
3
18
-11
12
-18
2
14
-12
-23
-15
24
29
26
-71
-46
-24
-1
18
-5
-69
-64
-90
-11
7
-1
-58
14
-47
-51
-8
-7
-35
-28
-45
-17
-54
-4
20
-11
-49
-4
-6
-9
-58
-28
0
0
0
0
0
0
0
-29
6
69
-30
7
-7
21
15
8
-7
-8
34
57
33
-1
43
34
-18
21
-13
25
-14
-23
1
-13
13
-14
-4
18
-4
-45
-40
5
21
13
14
-35
-29
-21
9
-30
-7
-17
4
-28
-19
-61
49
-3
-90
-74
-19
-43
-32
-29
2
-30
1
-46
-25
24
27
2
-14
-15
14
2
-6
-18
-50
0
13
33
22
3
12
-15
3
1
11
-13
-6
-44
-11
-26
0
65
-37
-10
18
-10
6
-10
-49
-62
-13
-21
-38
-56
-7
-86
-17
18
-5
-65
-1
-22
-39
-35
-60
-22
-2
-85
13
-50
14
-63
-16
-2
-83
8
-95
-35
-25
-38
-28
-2
-12
-14
-19
-31
-14
-65
-20
9
-28
-20
2
-17
26
-19
8
-59
28
31
40
32
-3
-6
-44
-22
7
58
-23
23
7
-56
12
-5
-25
-3
4
-13
3
34
10
-17
5
2
-8
-87
-5
-23
-14
12
-39
1
-4
-61
-36
-27
4
-18
5
-32
9
-30
-46
-8
1
3
5
-44
20
13
44
39
-4
52
41
16
3
17
3
-9
-9
30
4
-28
2
-24
23
62
-21
-11
2
29
-9
-22
-32
26
-5
2
36
-31
-16
-32
-44
-14
-45
32
-74
4
-37
-10
24
23
11
-22
-2
-37
26
-109
-42
15
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
6
3
0
0
-10
0
0
-4
0
0
0
-6
0
0
6
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
4
0
0
8
0
0
0
0
0
13
-1
-1
2
0
0
0
-15
0
0
-3
0
0
-9
-2
0
0
1
0
0
0
-10
0
0
0
0
0
-2
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
26
10
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
-16
0
0
0
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
-26
-7
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
10
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
38
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-4
0
0
0
0
0
0
-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
-24
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
-1
0
0
-10
0
0
0
-3
0
0
0
0
0
0
-17
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
11
0
-1
0
0
-1
-17
0
0
6
0
0
-2
-1
0
0
8
0
0
-1
-8
0
0
-8
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
-3
0
0
0
0
0
0
1
-1
0
0
0
0
0
34
0
0
1
0
0
0
-2
0
0
0
0
0
0
-4
0
0
1
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
6
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-4
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
-4
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
-4
0
0
0
0
0
0
18
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
1
0
0
16
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
6
0
0
0
0
0
-11
0
0
34
0
0
-8
0
0
9
0
0
0
0
36
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
46
0
0
0
0
0
0
4
-10
0
0
0
0
0
30
0
0
-8
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
4
0
0
0
0
0
-9
0
3
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
-2
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
115
0
0
13
0
6
0
-5
0
0
0
-2
-2
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
2
-2
2
-7
1
0
-1
-49
4
-11
0
76
2
0
4
13
0
0
-13
0
1
-3
-1
0
0
-15
0
0
0
-2
0
3
4
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
22
0
0
-61
0
0
0
-2
0
89
59
83
-39
19
0
1
-40
0
0
-51
0
0
14
-30
-3
-34
0
0
0
18
-9
0
0
-4
0
0
-27
27
0
0
3
-1
0
0
29
0
0
0
0
0
0
-11
0
10
2
0
-3
0
-8
0
0
6
0
0
0
33
0
0
0
0
1
0
-13
33
0
-10
0
0
0
2
0
3
0
-19
0
27
26
-2
0
22
0
0
-21
-10
0
-4
4
0
0
0
30
0
0
0
0
0
0
10
0
0
0
-3
0
0
-22
0
0
0
0
0
0
10
0
0
6
0
0
0
16
0
0
0
0
0
0
-11
0
0
0
0
0
0
-40
0
-50
4
0
0
0
41
0
-19
-10
-3
0
-9
32
0
10
0
0
0
0
-34
0
0
-7
0
0
0
-47
0
-2
0
-1
0
0
10
0
0
0
-8
0
0
7
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
9
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
10
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
6
0
0
0
0
0
3
0
0
0
-3
0
0
0
0
0
-8
0
0
0
0
13
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
-16
0
0
0
0
0
0
-14
0
0
0
0
0
0
-10
0
0
0
0
0
4
0
0
0
0
0
0
0
28
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
9
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
4
0
0
0
0
0
0
-2
0
8
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
-15
-4
0
0
0
1
0
7
0
0
10
15
0
0
0
7
0
0
0
4
0
12
-1
0
0
0
0
7
0
0
0
0
0
0
-1
0
0
0
-5
0
0
1
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
-2
0
11
0
1
0
0
0
-1
0
1
11
0
0
-20
-4
0
15
0
0
0
15
0
0
-9
1
0
0
0
2
0
0
0
0
4
0
-10
0
0
0
0
0
0
-9
0
0
0
0
-15
0
0
-1
0
0
0
0
0
84
-6
40
13
4
0
16
28
0
0
9
0
0
34
6
0
-7
-6
0
0
8
18
0
0
50
0
0
-1
-17
0
0
-6
0
0
-2
-48
0
0
-6
0
0
0
6
0
-15
-2
0
0
0
46
0
0
0
0
1
0
-27
-1
0
0
0
0
4
4
-3
0
-3
0
0
4
35
-6
-3
-14
-4
0
-3
52
0
-2
-6
0
0
-1
-27
0
0
-12
0
0
18
-45
0
-1
10
0
0
0
7
0
-1
-1
-6
0
0
23
0
0
0
0
0
0
1
0
0
0
12
1
0
1
0
0
0
0
0
0
54
0
-1
0
0
0
0
-22
0
11
0
0
0
0
-30
0
0
0
0
0
-1
1
0
-9
6
0
0
0
35
0
0
0
0
0
0
4
0
0
-2
0
0
0
-38
0
15
-2
0
0
0
-23
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
11
26
-15
52
19
19
23
-3
-26
6
-57
22
-28
-26
-4
-22
-9
31
-29
10
-4
-12
23
-17
-5
-21
-21
-33
-34
-12
-55
-31
-48
-1
-16
-26
-60
-2
-7
-12
-17
-12
-4
1
-14
-6
-1
47
-5
0
0
0
0
0
0
0
31
20
3
-10
43
16
-11
1
-49
-15
-31
11
-17
-16
-13
15
-2
10
-7
11
-28
-3
11
-26
-7
-21
-15
6
-29
-21
10
-7
-8
-66
-10
-31
10
-15
54
-24
-2
1
-50
-56
-38
-24
-44
-4
-6
-48
-68
-21
-26
-21
-28
0
-6
14
37
32
58
20
0
35
41
75
-44
17
44
-32
-11
39
-55
-7
1
8
29
-15
7
79
-60
-12
-69
19
-22
-16
-50
15
34
13
6
-39
-14
-38
-17
-2
-33
5
15
-20
-18
0
-11
-4
22
-64
19
18
-56
-36
-18
-31
-43
-4
6
24
-77
8
-33
11
-10
-2
-109
7
-16
-41
-31
2
-1
4
-25
11
-14
-17
-3
-2
-30
-8
-51
-66
-18
3
17
21
-15
-7
3
-40
-13
-17
-38
-9
-26
34
11
2
-28
22
-17
-10
-11
32
-11
36
-1
-34
-16
3
-20
7
-11
-17
-22
-19
-3
-29
4
-1
5
7
-18
-9
16
-3
11
-15
-26
-64
9
-44
-8
-1
-39
25
-60
-32
-54
-6
-36
-7
-20
26
47
-1
-10
-21
3
-1
35
-11
19
-12
-63
27
-18
27
16
-33
13
-26
-12
12
-33
5
-30
-1
-45
12
-15
-17
14
-4
5
-29
-7
-39
93
-35
2
5
35
-37
-55
-40
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
15
-1
-94
-6
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-35
0
0
-1
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
46
0
0
1
-12
6
0
-24
10
0
0
2
0
0
-22
-2
0
0
0
0
0
-9
-3
0
0
0
0
0
-8
6
0
0
1
0
0
2
11
0
-1
0
0
0
0
0
0
0
0
0
-4
0
0
-14
0
0
0
0
2
61
3
72
-12
-4
0
10
-40
1
0
95
0
0
-11
4
0
-9
-4
0
0
7
-13
0
0
2
0
0
-6
31
0
-7
-3
0
0
0
48
0
0
0
0
0
0
22
0
-12
0
0
0
0
-11
0
0
0
0
0
0
10
-7
0
0
0
0
0
-57
6
0
-2
0
0
13
25
0
0
-7
-3
0
16
-26
0
4
-1
0
0
-13
41
0
0
0
0
0
0
-29
0
0
1
0
0
0
-52
0
0
-4
0
0
0
-19
0
0
0
0
0
0
7
0
0
0
0
1
0
13
0
-4
0
0
0
0
50
3
0
0
18
0
0
1
0
-18
0
0
0
2
98
0
0
0
0
0
0
-2
0
-33
0
0
0
0
6
0
0
0
0
0
0
-14
0
-2
0
0
0
0
32
0
0
0
2
0
0
-39
0
-15
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
6
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
25
0
0
21
0
0
0
6
0
0
-3
7
0
0
-4
0
0
-2
0
0
0
1
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
-8
0
0
0
0
0
28
-2
9
13
-1
0
-20
40
0
0
-62
0
0
4
3
0
4
53
0
0
-16
-8
0
0
-6
0
0
0
-51
0
0
2
0
0
0
8
0
0
-6
0
0
-4
7
0
38
0
0
0
0
6
0
0
0
0
0
0
-25
11
0
0
-1
0
0
-11
1
0
0
0
0
1
-70
0
6
-4
-1
0
-9
-10
0
0
29
0
0
-7
14
0
0
-4
0
0
1
-8
0
0
0
0
0
1
-22
0
1
-1
0
0
0
-37
0
0
0
0
0
0
-38
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
1
0
0
0
49
0
-62
0
0
0
0
43
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
1
0
0
0
-12
0
0
0
0
0
0
13
0
2
0
0
0
0
5
0
-2
0
0
0
0
45
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
24
48
23
48
-4
-63
-10
8
-16
-3
-51
-23
-53
-33
-44
-1
-4
0
1
-41
-2
-36
-25
-1
22
-3
-17
0
14
2
-30
0
0
20
0
0
-8
0
1
-2
2
0
0
0
0
0
0
0
-84
-54
-1
-21
-38
-43
37
1
-47
1
37
5
2
58
-14
19
20
-39
-13
-20
9
-45
-7
-61
-2
-34
0
9
-22
-42
-1
1
-76
5
-49
-1
18
6
0
-26
-1
-40
0
-13
2
1
32
-22
-25
0
0
18
0
0
-6
-19
-4
39
81
5
23
5
-1
50
36
41
-56
-5
-1
1
-28
11
41
26
-25
-21
-1
-5
-7
40
16
-20
-7
28
-16
-12
6
-74
-4
2
-17
61
-14
0
-7
-69
-2
15
-4
7
-1
-29
-62
-4
12
22
2
-1
-4
-2
-1
-8
0
-19
-35
-19
0
6
1
-6
8
63
2
16
-4
0
10
48
-23
-35
40
14
8
15
4
12
31
66
-2
-5
-20
-24
-12
-23
-23
-19
14
-37
-23
11
21
7
-11
-18
16
-6
-1
13
-16
4
-44
-10
6
-2
28
24
-2
25
-1
-7
0
0
-14
2
-20
0
-20
-3
-1
2
-4
21
-6
-13
-27
-39
-59
-6
-9
53
32
-4
-14
-53
11
11
-31
-4
52
-1
39
-17
-10
-25
-5
50
-26
13
29
29
-26
-15
0
2
-30
-25
-46
8
-16
-9
-11
19
-40
22
15
25
-2
1
-18
-9
-17
0
-22
0
-35
-9
2
16
0
-13
2
12
28
-6
-4
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
-1
6
7
-1
0
0
0
0
0
4
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
44
0
0
-7
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
-21
4
-2
2
36
17
0
-51
0
-3
3
-1
0
0
-35
-8
3
1
-34
-3
32
15
29
0
0
-11
0
0
-3
0
0
0
-4
0
0
0
3
0
0
7
0
-2
0
2
0
0
0
0
-26
0
0
-10
0
0
0
0
0
5
55
-13
84
3
0
-5
1
1
7
63
0
0
-16
0
3
-23
17
1
0
-16
8
0
-2
8
-4
-16
-2
12
0
0
-22
6
0
0
9
0
0
3
0
0
0
-28
-1
-9
1
-16
4
0
-30
10
0
0
1
0
0
-12
1
0
0
0
0
9
9
18
-2
25
0
0
10
-39
-6
2
-3
10
0
-26
0
0
-5
-33
-4
-4
29
-15
2
8
-3
1
0
0
-38
0
0
-16
-3
0
0
-23
0
1
29
10
2
0
22
0
0
-1
0
4
0
-22
0
0
-7
2
-1
0
-19
0
0
0
2
0
0
-28
-3
-10
0
0
0
2
5
0
-21
15
0
0
-3
0
0
2
8
0
0
0
18
0
6
-19
1
-2
0
5
0
0
22
-3
0
11
-5
0
-2
7
0
0
-12
-6
1
-4
-2
-2
0
0
-4
0
-3
0
0
-1
0
-5
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
13
0
0
0
10
-3
0
0
16
0
0
2
-3
0
8
0
0
0
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
6
3
0
0
31
0
0
-20
2
0
0
21
0
-3
-25
0
-1
0
4
-2
0
25
-6
0
0
-6
0
13
-4
0
0
0
-1
0
0
-3
-7
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
-1
0
0
0
1
0
4
4
28
33
7
0
-6
2
0
0
34
0
0
-12
2
8
-22
31
-4
0
39
27
0
0
-13
0
0
-16
-6
0
0
36
0
0
11
-12
0
0
0
0
0
0
-63
0
66
0
-2
0
0
24
0
0
0
0
0
0
-7
0
0
0
0
0
0
17
1
-6
6
0
0
0
-10
7
2
-18
-10
0
0
15
0
-2
-15
0
0
7
5
0
2
2
-7
0
-1
29
0
0
-9
0
0
0
-9
0
0
6
-3
0
0
30
0
0
0
0
0
0
32
0
0
13
0
0
0
-12
0
0
0
0
0
0
-28
-4
0
-9
2
0
0
66
0
-10
0
0
0
0
-37
0
0
-8
0
0
0
-3
0
7
0
0
0
0
9
0
0
0
0
0
0
34
0
0
-2
0
0
0
53
0
0
0
6
0
0
54
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
-32
0
0
0
0
0
0
2
0
0
4
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
3
1
0
0
0
0
0
-8
0
0
0
11
0
0
0
0
0
0
0
0
13
-3
-4
37
0
0
-35
0
0
0
-43
0
2
51
0
0
0
-35
0
4
-12
34
0
0
0
0
-1
-1
7
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
26
0
0
0
2
1
1
5
-2
-14
-1
0
24
-71
9
0
-6
0
0
64
35
0
-12
1
13
0
-31
12
0
0
23
0
0
-3
20
0
0
10
-3
1
-1
9
0
0
-3
0
0
6
14
0
5
-2
9
10
0
33
0
0
2
0
0
0
-84
9
0
0
0
7
-2
-2
0
0
0
0
0
0
-20
2
4
-25
-8
0
3
-34
0
0
10
0
0
15
-42
0
0
32
6
0
0
-3
0
0
3
0
0
0
24
0
0
0
5
0
-3
23
0
0
1
0
0
0
-5
0
0
7
0
0
0
-44
0
0
0
0
0
0
3
5
0
0
0
0
0
41
0
12
-12
0
0
0
-7
0
0
0
0
0
0
31
0
-1
0
0
0
0
-47
0
0
0
11
0
0
39
0
0
0
-1
0
0
14
0
0
7
0
0
0
-21
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
23
34
16
-8
0
5
-26
34
39
-7
-15
41
-8
-42
-22
0
0
0
0
41
8
-27
0
0
0
16
-11
8
-11
0
-1
0
-3
-8
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-59
-18
24
-15
-21
-25
10
-13
-12
-4
-4
-48
-7
29
-15
-2
37
-7
-23
-26
19
-40
-56
-4
-17
34
4
-27
-51
-34
0
0
15
0
-29
50
-2
0
0
-37
0
-44
-3
-42
0
0
6
-25
-53
0
0
-30
0
0
0
-55
6
39
39
13
30
-62
0
-35
53
-13
4
16
0
0
-23
0
3
4
-2
-2
0
-59
-21
3
-5
18
41
-1
-27
-17
3
-4
27
17
22
50
-37
0
8
-52
-1
-17
-5
-11
0
-19
-27
22
14
12
-21
0
0
-6
1
-13
0
11
13
11
0
24
-3
23
-13
53
10
1
-4
8
-38
93
16
11
27
13
3
-14
12
6
-11
18
9
6
-53
-2
0
-6
18
-22
-30
-7
-4
-4
-3
25
2
-3
-6
-18
-2
0
-59
42
-2
0
0
1
1
1
0
-32
-7
-17
0
4
12
-15
3
0
-11
-22
0
3
0
0
20
-13
21
-26
25
-2
0
-7
47
56
12
25
1
-4
-6
-17
-17
-16
-46
-14
-15
-82
12
-3
-6
-5
-19
-9
19
-28
0
-21
94
-3
0
28
20
0
57
8
22
6
-3
-38
0
0
-2
12
-1
0
-7
0
-18
-1
-2
-3
0
-93
19
-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
9
-1
0
0
23
0
-4
-6
10
0
0
0
0
-36
11
-9
0
0
0
0
21
0
0
0
0
0
0
12
0
9
0
12
0
0
29
0
0
-10
0
0
0
-2
0
0
0
0
0
0
0
-21
0
0
0
-45
0
0
18
2
0
0
16
0
8
-45
-2
13
0
18
24
-3
-9
-35
-2
0
-21
0
-17
-7
24
0
0
9
0
-44
0
-10
0
3
-4
1
-2
0
-10
0
0
0
0
1
0
0
5
0
-1
0
-35
0
-12
-36
-2
-1
0
0
-26
34
0
0
1
0
0
-21
21
0
10
6
0
2
-12
-8
0
0
-21
0
0
14
-44
0
0
-52
0
0
32
-24
0
0
40
0
-4
0
-2
0
20
-13
13
11
0
-6
0
8
0
0
-7
0
3
70
27
0
0
0
1
0
4
0
11
0
0
69
2
7
-1
10
0
0
-13
8
0
0
42
0
-3
9
4
0
0
-23
0
-1
10
8
0
7
1
0
-3
11
-11
0
11
-22
12
-6
0
-5
0
0
2
2
18
0
14
0
0
-23
0
8
0
0
0
0
0
0
1
0
-2
-4
2
0
0
0
-7
-2
0
-26
1
0
0
-3
-6
0
1
39
-2
0
-6
9
0
15
-19
0
0
-13
29
0
4
-3
10
0
8
21
0
-58
-8
0
0
-1
3
0
-15
-6
0
-9
0
-9
0
-24
0
0
-9
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
-9
0
0
0
1
0
0
5
-3
6
0
-1
-1
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
17
0
0
-39
-1
-10
0
-30
0
0
-7
49
0
0
-7
9
0
9
-1
0
0
-3
0
0
-12
0
0
0
0
0
0
6
0
0
0
0
0
0
-6
0
0
0
0
0
-9
0
0
-17
0
0
0
0
0
25
-13
-24
3
0
0
23
1
0
0
-109
0
0
22
-35
8
79
-27
4
0
35
10
0
3
-36
0
0
42
54
0
0
-2
-4
0
3
-15
0
-2
-71
0
0
-7
-27
0
14
0
0
0
0
-27
0
0
0
0
0
0
8
11
-4
0
0
0
0
39
1
0
2
0
0
-18
25
3
-9
58
0
0
6
-20
2
1
-26
0
0
21
-30
0
0
0
2
0
-3
28
0
0
60
0
0
0
-89
0
0
6
13
0
0
23
0
0
0
0
0
-1
-15
0
0
0
-3
0
0
-3
0
0
0
0
0
0
3
-2
0
-18
0
0
33
-19
-2
8
-1
0
0
0
39
0
4
42
0
0
-4
-50
0
5
0
0
0
17
47
0
-4
4
0
0
0
-73
0
70
-9
0
0
0
17
0
0
-2
0
0
0
19
0
-22
8
0
0
0
-45
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
14
10
45
2
-4
17
-24
-12
40
3
-1
-9
0
13
-16
9
-2
0
-58
10
-14
-7
7
2
-26
-1
0
-7
0
0
2
0
0
0
3
0
0
0
0
0
0
0
-28
-29
13
-1
-22
18
-37
-56
25
-25
-5
0
-9
43
4
8
-18
56
-32
14
23
-5
-26
25
55
1
-13
13
-20
-14
-13
0
-5
5
-31
-8
23
2
-1
1
1
-12
-4
-53
0
0
-31
-32
-20
0
0
-2
0
-1
7
-5
-15
7
-8
1
1
-40
-4
1
7
-48
73
10
-13
-28
-51
-10
-32
1
-34
-5
15
19
14
39
-52
-1
-12
-3
11
-13
15
-2
-9
31
-42
34
-4
-9
1
41
-16
9
27
-2
-9
-32
17
-9
-7
-1
8
0
0
-11
0
18
0
8
12
-25
0
0
4
-48
-9
-24
24
49
15
-40
4
17
17
-23
-33
19
1
4
16
6
49
-21
0
7
23
8
66
-24
8
-41
9
-15
-9
36
-34
-13
3
-47
2
-13
10
-24
-8
14
-24
-1
-6
0
-9
-13
1
-13
-4
-5
1
1
-69
57
-40
0
-30
7
0
-1
6
-17
-15
-10
-20
23
13
20
-10
60
23
-55
0
-28
-9
40
104
30
-4
22
26
-12
-4
15
2
-42
16
-8
5
-43
17
-21
-14
-43
-52
7
-4
11
-7
-6
-22
-94
36
-3
-17
-14
9
-3
-103
-12
-33
-6
8
0
-25
1
-17
-15
0
-47
-21
-13
-3
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-30
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-50
0
0
-6
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
-1
26
0
0
10
-26
0
-20
-1
0
0
23
-7
-1
-27
0
0
-9
19
-3
1
27
-10
2
0
65
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
-6
0
0
0
0
-101
0
0
78
0
0
0
-1
0
-4
78
-6
-2
0
0
-66
8
0
0
26
0
0
32
46
-2
-22
1
-11
0
-41
0
0
0
-16
0
0
8
23
0
0
-10
1
-1
6
13
0
0
1
3
0
0
0
0
-24
10
0
0
0
-18
0
0
0
0
-3
0
61
3
0
0
0
0
1
13
10
0
-34
0
0
7
4
0
-2
-13
1
0
13
43
0
0
60
0
0
-17
0
0
-6
-27
34
0
-10
2
0
0
1
-1
0
0
24
0
4
1
-7
0
0
-8
0
6
-1
0
0
0
0
0
-1
0
-2
0
0
-7
0
0
0
0
0
0
28
3
0
-2
0
0
0
46
0
21
3
0
0
0
13
0
0
-6
-4
0
22
0
0
13
-9
0
0
-13
1
0
-5
0
2
0
5
44
0
-10
3
9
0
0
63
0
0
-5
2
-1
0
-6
0
39
0
0
16
0
48
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-34
0
0
4
0
0
17
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
3
0
0
-21
0
0
0
40
0
0
24
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
1
0
-8
0
0
5
0
0
0
0
0
10
2
29
58
-1
0
-28
23
0
-4
2
0
0
-7
-25
0
-18
19
0
0
-17
17
0
0
18
0
0
9
-45
0
-7
0
0
0
0
39
0
0
0
0
0
0
27
0
11
0
0
0
0
20
0
0
0
0
0
0
36
0
0
0
0
0
0
34
-3
0
0
0
0
-3
25
0
0
7
7
0
0
-17
0
0
6
0
0
7
-1
0
0
0
0
0
0
23
0
0
0
0
0
0
58
0
0
0
0
0
0
-28
0
0
0
0
0
0
6
0
0
0
0
0
0
-23
0
0
0
0
0
0
-9
-7
0
10
0
0
0
25
0
19
6
0
0
0
-3
0
-6
0
0
0
0
-3
0
-6
-1
0
0
0
-10
0
0
0
1
0
0
22
0
4
0
0
0
0
34
0
0
0
0
0
0
-38
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
3
0
0
13
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-1
73
0
0
-38
0
0
0
13
0
0
65
1
0
0
-11
0
0
2
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
9
-3
0
0
-15
0
0
0
0
0
45
0
10
4
0
0
3
-10
0
0
1
0
0
-4
-4
12
-2
-2
-7
0
1
16
0
0
9
0
0
0
15
0
0
0
0
0
0
-19
0
0
0
0
0
0
8
0
2
0
1
0
0
-9
0
0
0
0
-1
0
-22
0
0
0
0
0
-3
-23
1
0
0
0
0
0
34
-4
0
-2
-1
0
0
14
0
0
0
0
0
0
-8
0
0
0
0
0
0
9
8
0
1
0
0
7
-9
0
0
0
0
0
0
-53
0
0
1
0
0
0
-4
0
0
0
0
0
0
-12
0
0
0
0
0
0
-9
0
0
0
0
0
0
9
0
0
0
0
0
0
-4
0
0
0
0
0
0
28
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
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
-3
0
3
0
0
0
-2
-1
0
0
7
0
0
0
43
0
0
-4
0
0
0
18
0
-32
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
1
6
-8
-26
-24
0
1
29
0
0
-3
-18
0
-8
25
-1
10
0
-16
-11
7
-22
-50
0
0
-2
0
-1
2
16
0
0
0
0
0
27
43
0
0
-6
0
0
18
9
0
0
0
0
4
0
0
4
0
0
0
-1
2
46
44
-41
13
7
0
55
-24
-2
0
-9
0
11
26
18
0
7
-3
82
3
1
-18
1
0
1
0
0
-18
-15
0
0
0
0
0
-3
-26
0
0
6
0
1
7
3
0
-14
0
0
0
-2
-10
0
0
0
0
0
0
24
2
3
0
0
0
0
-17
30
0
0
0
0
-25
-48
19
-10
-39
0
0
4
-14
3
-8
0
0
0
-3
0
-2
10
6
-2
0
1
-50
0
-3
-1
-1
0
0
-16
0
0
0
0
0
-10
-59
0
0
0
6
0
0
-55
0
0
0
1
-13
0
-19
0
0
0
0
0
0
19
-3
2
0
-9
0
0
9
-2
-54
-2
0
0
0
57
0
3
2
0
0
-3
10
0
-24
0
0
0
-12
55
0
0
0
16
0
-1
-16
0
-11
0
-8
0
0
30
0
6
0
-7
2
0
-17
0
-15
0
0
-2
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
1
0
0
-19
2
0
0
17
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-42
-3
-6
-2
0
0
13
29
0
0
-1
0
0
-1
-10
0
-1
1
0
0
-4
-12
0
0
0
0
0
1
-8
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
0
-6
0
0
0
5
0
0
0
0
0
0
37
0
0
0
0
0
0
-22
0
0
0
0
0
0
-16
12
0
0
0
0
-7
4
0
0
-1
0
0
0
37
0
0
0
0
0
1
-6
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-9
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
53
-6
0
-9
0
0
0
-14
0
0
-28
-1
0
0
5
3
0
8
-22
0
0
18
0
0
43
0
0
0
6
1
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
45
10
5
74
7
0
40
1
0
0
-27
0
0
4
-40
0
-34
-22
2
0
-57
22
0
9
41
0
0
-50
-31
0
-6
11
-5
0
48
-44
0
0
3
0
0
0
-17
0
20
1
-8
0
0
33
0
0
0
0
0
0
-27
48
0
0
0
0
0
40
1
0
-19
0
0
15
16
0
0
33
-9
0
21
1
0
-2
-1
0
0
21
-28
0
6
-1
0
0
37
-40
0
0
-9
0
0
0
3
0
0
36
3
0
0
38
0
0
0
0
0
0
-57
0
0
0
1
0
0
25
0
0
0
-1
0
0
-5
-1
0
27
0
0
0
31
0
49
0
0
0
-1
11
0
0
5
1
0
-8
-17
0
0
37
0
0
2
42
0
-2
0
-4
0
0
-6
0
29
-3
0
0
0
47
0
0
2
2
0
0
18
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
0
0
0
16
0
-2
18
0
-2
0
0
0
-2
0
-27
0
0
1
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
-15
-10
0
-2
-4
-16
0
13
1
0
0
-27
0
-3
34
9
4
0
41
43
0
40
-15
3
0
-3
0
21
4
5
0
-2
-60
-13
0
72
32
0
0
-3
0
10
0
-10
0
0
0
-2
-26
0
0
-2
0
0
0
-1
0
4
7
-30
40
-11
0
65
-4
0
0
-45
0
0
-11
15
-1
-21
-27
21
0
11
-5
0
9
-55
-1
-1
-14
-48
0
0
-12
4
0
-19
-10
0
0
2
0
0
2
4
0
-9
19
-10
0
0
-21
0
0
0
0
-22
0
0
8
0
0
0
0
0
-11
2
0
3
0
0
-3
-12
19
-14
12
-8
0
0
26
2
-2
-54
0
3
-6
-27
-2
-1
-9
13
0
1
-40
12
0
-19
0
0
13
6
0
0
-28
16
11
-9
-5
0
0
-6
0
2
0
-43
0
0
-7
-3
-29
0
-43
0
-7
10
0
4
0
12
10
0
-19
0
0
0
12
-3
14
-1
0
-2
0
-32
0
15
0
3
-2
-11
18
0
-28
7
0
-9
12
-2
0
9
2
-15
-3
4
-33
0
22
-2
9
0
0
36
0
1
0
-11
0
0
-17
0
-6
0
0
0
0
5
13
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
-2
3
0
0
0
0
-12
0
-4
0
0
0
2
0
0
0
0
11
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
-17
-23
-17
-7
41
19
2
-12
3
0
0
-13
0
-15
-12
-9
0
0
-5
-62
-8
2
0
1
-2
-5
0
0
-9
5
0
0
4
4
-2
-3
20
0
0
0
0
-2
0
22
0
0
0
0
-28
0
0
52
0
0
1
4
0
-27
-30
-30
40
-2
0
-16
-10
4
0
47
0
0
28
-12
-1
62
-5
-37
0
-127
-33
0
4
3
0
0
-27
0
0
-4
43
-7
1
0
-53
-1
0
20
0
0
4
58
0
-11
0
-1
0
0
37
0
0
0
0
25
0
18
0
28
0
0
0
0
-9
20
8
8
0
0
13
0
-6
-16
14
-11
0
-9
-3
1
-4
17
0
0
17
0
2
-1
-33
-10
0
5
0
2
4
-20
0
-1
-16
-34
0
0
-9
20
0
0
7
0
0
0
0
0
0
-10
16
2
0
0
-7
0
-24
0
8
0
0
0
0
14
7
0
27
0
0
-3
-96
14
-23
-13
0
0
8
-16
-3
42
30
7
0
3
4
0
15
17
0
0
-10
0
-2
-11
6
30
0
-6
-22
0
-6
0
0
0
0
-15
0
0
3
-1
0
0
-35
0
3
0
0
0
0
35
-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
9
0
-11
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
1
0
0
0
4
0
0
0
-9
0
-3
3
0
0
0
1
4
-2
37
0
0
0
11
0
0
11
0
0
0
6
0
2
2
0
0
0
0
0
-2
0
0
0
0
0
0
-13
0
0
-3
0
0
0
-2
0
10
0
7
-25
1
0
-6
-52
0
-2
-34
0
0
0
-11
0
9
34
9
0
2
-7
0
0
-6
0
0
2
2
0
0
9
0
0
-1
35
0
0
-1
0
0
0
-4
0
-2
0
1
0
2
-30
0
0
0
0
0
0
-18
1
0
0
0
0
0
-55
0
0
13
0
0
0
30
0
0
61
7
0
0
-9
0
0
0
0
0
0
-10
0
-16
-4
-2
0
0
-21
0
0
0
0
0
0
-22
0
0
0
-2
0
0
-18
0
-1
0
0
0
0
-16
0
0
0
1
0
0
-9
0
0
0
0
0
0
-11
0
-1
0
0
0
0
-1
0
0
-1
0
0
0
-7
0
-18
0
1
0
0
19
0
-15
0
0
0
0
-7
0
0
0
-1
0
0
8
0
-2
0
0
0
0
25
0
-1
0
0
0
0
51
0
-2
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
18
-2
0
0
16
0
0
-40
0
0
0
-2
0
0
22
0
0
0
57
-11
0
34
9
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
8
0
0
-2
0
0
0
0
0
-30
-9
-21
-4
0
0
-1
-55
-1
0
-3
0
0
23
15
0
2
-19
-1
0
-12
76
0
0
-7
0
0
0
31
0
0
17
0
0
0
5
0
0
11
0
0
11
-9
0
-1
0
0
0
0
-4
0
0
0
0
0
0
-6
-6
0
0
0
0
0
-50
-1
0
3
0
0
9
-52
0
0
-4
0
0
1
85
-6
0
-1
0
0
0
-32
0
0
0
0
0
0
-8
0
0
-1
0
0
0
0
0
0
-2
0
0
0
-64
0
0
0
0
0
0
-11
0
0
0
2
0
0
22
0
0
0
0
0
0
4
-3
0
0
0
0
0
34
0
-9
0
0
0
0
0
0
0
0
0
0
0
-5
0
-7
0
0
0
0
-4
0
0
0
0
0
0
-19
0
0
8
0
0
0
12
0
0
0
0
0
0
-12
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
4
0
0
0
0
0
0
0
0
11
0
-44
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
7
4
0
0
32
0
0
-8
2
0
0
-3
0
0
-15
2
0
0
0
-6
0
43
-9
0
0
-1
0
18
8
-13
1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
10
0
0
0
1
0
-41
30
-2
0
0
0
-16
14
0
0
-15
0
0
6
-37
0
-16
-34
0
0
-11
30
0
0
-6
0
0
10
2
0
0
0
5
0
-2
-26
0
0
-1
0
0
0
-12
0
-69
0
-6
0
1
-33
0
0
0
0
0
0
37
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
29
0
-11
1
0
0
-16
0
0
0
0
0
25
42
0
-11
-3
22
0
-1
8
0
1
6
0
0
0
15
0
-1
1
-32
0
2
-62
0
0
0
0
4
0
-36
0
0
-4
0
7
0
-8
0
0
0
0
-4
0
49
0
2
0
1
0
0
-26
0
1
0
0
0
0
-44
0
0
0
15
0
0
-32
0
8
0
2
0
-1
-15
0
-7
0
17
0
-2
21
0
1
0
7
0
0
-12
0
0
0
0
0
0
-33
0
-7
0
0
0
0
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
2
-6
0
0
0
0
17
-2
-6
0
0
-1
0
0
0
0
0
5
0
0
-8
0
0
-6
0
0
0
3
0
0
0
0
0
0
0
-13
17
0
0
-18
0
0
-14
0
0
0
-40
0
19
-2
-3
0
0
-13
0
7
19
37
-1
0
19
0
4
1
1
0
0
4
0
13
-1
-2
0
0
-3
0
-15
0
0
0
0
0
0
15
0
0
-4
0
0
0
-18
0
-3
-17
-36
-23
0
0
0
-18
0
0
-32
0
0
-9
-61
0
-18
6
0
3
20
-3
0
0
-29
0
0
49
-27
0
0
7
0
0
5
-27
0
0
17
0
0
1
-10
0
2
25
0
3
0
-18
0
0
0
0
-6
0
-3
8
-3
0
0
0
0
12
1
0
6
0
0
-14
-3
1
0
-29
0
0
-11
4
0
0
26
0
0
-15
-24
0
-2
-13
0
0
-10
-16
0
-1
22
0
9
0
-1
0
0
5
0
0
0
55
0
0
11
0
-28
0
16
0
0
0
0
-6
0
-1
0
0
0
0
9
0
3
7
0
0
0
0
-1
22
0
-9
-7
0
0
0
-12
0
0
-10
0
0
3
-7
0
37
0
0
0
0
-20
0
0
-2
0
0
0
-32
0
-24
4
0
-6
0
-56
0
0
17
0
0
0
-5
0
-15
8
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
-8
-3
0
0
0
0
0
0
6
0
0
-2
-2
0
0
1
0
9
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
12
-1
2
1
32
14
0
2
0
0
0
11
0
0
-97
22
0
0
-85
1
0
33
58
0
0
0
0
0
10
29
0
0
28
-25
0
12
-8
3
0
3
0
0
-7
1
0
0
0
18
0
0
0
55
0
0
0
0
0
13
16
-13
-8
-4
0
-80
-8
30
0
4
0
0
-28
30
0
-24
-8
4
0
-8
-6
0
-4
12
0
0
-1
-46
0
0
-13
12
0
17
-23
0
0
-3
0
0
2
12
0
42
7
-30
0
0
-5
0
0
0
0
0
0
-32
-15
-9
0
7
0
0
-31
11
0
-14
0
0
7
-23
5
-3
-57
-7
0
44
20
-4
1
34
0
0
70
11
-4
-10
-37
-2
0
13
-44
0
3
15
0
0
-6
27
0
6
-14
28
0
0
-24
0
0
13
0
0
0
-8
0
0
0
-12
0
0
23
0
0
0
0
0
0
-35
-1
0
2
0
0
0
35
0
-4
6
0
0
11
18
-2
-28
-2
0
0
-19
-11
0
4
23
0
0
17
31
0
-1
-9
0
0
-6
3
0
-2
15
0
0
0
13
0
0
32
1
0
0
-40
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
-8
0
0
-2
0
0
0
-7
0
-21
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
2
-9
-6
0
-51
37
-18
-19
3
0
0
-59
0
5
-20
6
0
0
-12
11
-9
-9
11
1
0
-7
0
16
0
45
0
0
-4
-3
5
0
25
-6
-7
-3
0
-42
0
2
0
0
0
14
-15
0
0
21
0
0
0
0
0
-9
-29
-13
9
6
0
-5
1
-8
0
-34
0
0
13
-8
0
-41
-42
-4
0
21
-8
0
0
-6
0
0
9
22
0
0
-35
17
0
0
-3
0
-1
-8
0
0
0
-16
0
-13
18
-33
0
0
-4
0
0
0
0
4
0
-2
3
0
0
0
0
0
30
0
0
-6
-4
0
0
-33
-16
-1
18
73
1
4
-24
0
-3
12
0
-3
0
4
-2
-3
-4
-11
0
0
-2
0
0
34
0
-1
0
-25
0
0
19
-6
0
0
-1
0
0
-3
0
-11
0
1
0
0
0
27
10
0
-37
-3
0
0
0
0
0
-3
0
0
0
0
0
0
-29
0
-27
-6
0
-1
0
-24
0
2
11
-4
-7
7
42
0
-10
12
0
0
0
-19
0
0
29
4
0
0
2
0
-2
1
0
0
0
6
0
2
1
-1
0
0
-4
0
-8
0
0
-1
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-9
-1
0
0
0
0
0
16
0
-47
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
21
6
2
0
-32
1
0
0
-26
0
0
-16
4
2
0
24
-3
0
4
-5
0
0
-12
0
-1
61
0
2
0
0
17
22
1
63
0
0
-3
0
0
0
8
0
0
0
-1
-3
0
0
-1
0
0
0
-3
0
-2
42
-17
44
18
0
-19
-31
0
0
-27
0
0
-5
-24
-2
-20
36
-1
2
-43
-16
-1
-1
-37
1
0
2
-7
0
0
5
-3
0
-1
0
0
0
-10
0
0
0
33
0
-23
0
8
0
0
-29
0
0
0
0
0
0
-3
-6
0
0
3
0
1
30
-27
-4
-1
0
0
10
2
11
-1
4
3
0
1
8
0
0
-18
0
2
4
40
0
0
16
-15
0
-2
-16
0
0
-1
1
0
0
0
0
-2
-6
-3
0
0
-9
0
0
0
0
0
0
-33
0
0
0
5
0
0
-50
0
0
0
0
0
3
36
4
-4
0
0
0
-4
-7
-1
-19
-11
0
0
0
-52
-1
-11
-6
7
0
0
9
0
-17
4
0
0
0
22
0
0
-2
3
0
0
0
0
13
0
-1
0
0
14
0
0
0
0
0
0
-10
0
-2
-3
0
-1
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
9
0
0
0
-1
0
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-21
-6
-4
-8
0
0
0
-32
0
0
-6
0
0
14
-13
0
-10
2
0
0
9
-20
0
0
0
0
0
0
-10
0
0
0
0
0
0
-6
0
0
0
0
0
0
15
0
0
0
0
0
0
9
0
0
0
0
0
0
-12
0
0
0
0
0
0
19
0
0
7
0
0
0
-11
0
0
0
0
0
0
26
0
0
4
0
0
0
-16
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
0
-1
0
0
0
0
-30
0
0
0
0
0
0
2
0
0
0
0
0
0
27
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
36
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
0
0
0
0
-2
0
0
0
0
0
0
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
6
0
0
0
0
0
-49
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
-2
0
0
0
1
6
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
6
-1
0
0
0
-1
-7
0
0
30
0
0
0
-1
0
0
-7
0
0
-1
39
0
0
0
0
0
0
-1
0
0
9
0
0
0
-3
0
0
0
0
0
0
8
0
-1
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
-59
0
0
0
0
0
0
-13
-1
0
-2
-6
0
0
-42
0
0
0
0
0
0
-9
0
0
0
0
0
0
-45
0
0
0
0
0
0
12
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
-29
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-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
-1
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-1
0
0
44
0
0
0
-3
0
0
-1
0
0
0
0
0
-2
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-32
0
0
-10
0
0
19
-1
0
-17
0
0
0
0
-4
0
0
0
0
0
0
15
0
0
0
0
0
0
23
0
0
0
0
0
0
-1
0
3
0
0
0
0
2
0
0
0
0
0
0
-38
0
-4
0
0
0
0
-37
-11
0
0
0
0
0
11
0
0
-4
0
0
-2
21
0
0
6
0
0
0
12
0
0
0
0
0
0
-81
0
0
0
0
0
0
-11
0
0
0
0
0
0
-21
0
0
0
0
0
0
20
0
0
0
0
0
0
-52
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
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
-42
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-39
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-10
0
4
0
0
0
0
-27
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
12
0
0
0
0
0
0
-11
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
-34
0
0
-2
0
0
0
9
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
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
0
0
0
0
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
1
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
0
0
0
0
0
-1
0
1
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
-5
-2
8
0
-16
28
0
12
-7
0
0
2
0
0
-43
7
0
7
-28
-41
0
7
-2
0
0
6
0
0
-12
25
0
0
0
-2
0
-23
3
0
0
-1
0
0
0
2
0
0
0
54
0
0
0
35
0
0
0
0
-1
-13
-7
-28
-34
-15
0
-42
-31
0
0
-11
2
0
15
63
2
-39
-21
6
0
-5
53
0
-4
21
0
0
18
-40
-4
0
-8
19
0
0
-56
0
0
12
0
0
-2
-14
0
3
-4
-3
0
0
27
0
0
0
0
0
0
34
-2
4
0
13
0
7
-48
-3
7
-16
0
0
79
-21
0
-6
2
37
0
-2
6
0
0
-3
0
0
-2
1
0
0
1
25
0
-11
-29
0
7
-23
0
0
0
24
0
-1
10
-19
0
-23
5
0
0
0
0
0
0
17
0
0
-1
36
0
0
30
15
0
0
0
0
0
19
20
0
7
0
0
0
-52
0
8
17
0
0
18
33
1
-1
13
0
0
-2
-2
0
1
12
0
0
-2
35
1
1
3
-1
0
-1
-37
0
9
-4
0
0
0
-1
0
4
-2
-6
0
0
-18
0
-22
0
0
0
0
2
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
-82
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
19
0
0
79
0
0
0
6
0
0
-2
0
0
0
-2
-2
0
0
0
0
0
2
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
-6
0
0
0
0
0
0
3
0
4
0
0
3
0
0
0
26
0
0
-17
0
0
0
38
0
26
3
0
0
0
-37
0
0
5
0
0
0
47
0
0
0
0
0
0
-55
0
0
0
0
0
0
-9
0
6
0
0
-3
0
-90
0
0
0
0
0
0
-25
0
0
0
0
0
0
-20
0
0
1
0
0
0
14
2
0
0
1
0
0
-21
0
0
5
0
0
0
16
0
0
-3
0
0
0
-24
0
0
0
0
0
0
23
0
0
0
0
0
0
31
0
0
0
0
0
0
3
0
0
0
-3
-3
0
-28
0
0
0
0
0
0
15
0
0
0
0
0
0
-18
0
0
0
0
0
0
-5
0
0
0
6
0
-6
15
0
0
0
0
0
0
-5
0
0
0
8
0
0
-16
0
0
0
0
0
0
-9
0
0
0
0
0
0
-33
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
18
0
0
-2
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
-11
9
0
0
35
0
0
-17
7
0
0
15
0
0
-36
-6
6
0
-7
23
0
-44
-1
0
0
-1
0
0
0
-10
0
0
4
12
-1
-36
0
0
0
2
0
4
0
0
0
0
0
1
-3
0
0
-28
0
0
0
0
0
13
-3
48
-18
4
0
21
-27
-6
-3
-26
0
0
-1
-34
0
-26
-24
-8
0
-20
55
0
0
41
0
0
43
-11
0
0
0
8
0
2
-8
0
0
-6
0
0
-1
0
0
-39
13
1
0
0
-36
2
0
0
0
1
0
5
10
0
0
-1
0
0
18
9
0
1
-1
0
-4
-18
0
15
-36
50
0
25
39
13
2
39
0
0
8
-48
0
-18
-22
-3
0
-1
-11
0
9
16
0
0
0
29
0
6
-8
-3
0
0
0
0
0
0
0
0
0
46
0
0
0
0
3
0
-14
0
0
0
0
0
0
32
6
0
1
0
0
0
-31
0
4
0
0
0
0
-30
-4
4
-10
0
0
0
-4
0
-26
-4
0
0
0
-19
0
0
0
-4
0
0
48
0
-13
-1
-1
0
0
0
0
0
0
-7
0
0
-16
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
6
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-1
0
0
6
0
0
0
0
0
-18
-6
4
0
0
-1
1
-2
4
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
-1
0
0
0
0
0
0
0
0
-10
-1
10
0
0
0
104
-21
0
0
22
0
0
-47
3
0
4
24
8
0
35
41
0
0
-7
0
0
-6
-3
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
3
0
0
0
0
-13
0
0
0
0
0
0
3
1
0
0
0
0
0
-46
0
0
0
0
0
-1
49
0
0
0
0
0
0
33
0
0
-3
0
0
0
-11
0
0
18
8
0
1
-5
0
0
-2
0
0
0
0
0
-2
0
0
0
0
-9
0
0
7
0
0
0
3
0
0
0
0
0
0
-20
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-9
0
0
0
0
0
0
-14
0
-3
-1
0
0
-1
-10
0
0
0
-3
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
0
11
0
1
0
0
0
0
-3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-13
0
0
0
-1
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
-26
0
-1
0
0
0
0
-26
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
26
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
-40
0
0
0
0
0
0
32
0
0
0
0
0
0
-5
0
0
1
0
0
0
-25
0
0
0
0
0
0
-26
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
-25
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-12
0
0
-5
0
0
0
41
0
0
-7
21
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-21
0
0
0
0
0
-2
0
-3
0
0
0
-10
0
0
0
3
0
0
0
0
0
25
10
0
-1
0
0
-2
18
0
0
-2
0
0
-24
-34
0
6
7
0
0
18
0
0
0
0
0
0
0
42
0
0
0
0
0
-1
-37
0
0
0
0
0
0
2
0
-42
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-48
-1
0
0
0
0
0
-46
0
-9
-9
0
0
4
-43
0
0
0
0
0
0
-46
0
0
0
0
0
0
-57
0
0
0
0
0
0
34
0
0
0
0
0
0
-40
0
0
0
0
1
0
-15
0
0
0
0
0
0
22
0
0
0
0
0
0
-18
0
0
0
0
0
0
10
0
1
0
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
29
0
0
0
0
0
0
-22
0
0
0
0
0
0
12
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-1
30
0
0
31
0
0
0
4
0
0
-6
-3
0
0
0
0
36
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
2
-6
0
0
-1
0
3
0
-8
0
0
0
0
18
0
0
46
0
0
0
22
0
3
3
2
0
0
0
17
-22
0
0
-14
0
0
-23
-19
0
-29
4
0
0
10
-48
0
0
0
0
0
0
4
0
0
-1
0
0
5
-9
0
0
9
0
0
0
-3
0
0
3
0
0
0
10
0
0
0
0
0
0
-34
2
0
0
0
0
0
-11
-1
0
2
0
0
-6
3
0
0
-7
0
0
6
-39
0
0
-1
0
0
0
16
0
0
16
0
0
4
-42
0
0
-13
0
0
0
-6
0
0
17
-1
2
0
-51
0
0
1
0
-5
0
9
0
0
0
0
-1
0
15
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
8
0
0
0
-1
28
0
3
0
0
0
2
26
0
0
-1
0
0
0
-11
0
0
0
0
0
0
14
0
-3
0
0
0
0
3
0
0
2
0
2
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
-6
-3
0
0
-11
-36
0
11
2
0
0
39
0
0
-9
-13
0
0
12
19
0
51
-8
0
-8
-2
0
0
-6
3
0
0
4
6
0
0
-1
0
0
0
0
0
3
0
0
0
0
2
0
0
0
44
0
0
0
0
0
12
-1
-14
2
0
0
-1
-13
2
0
2
0
0
16
30
0
-25
-1
-25
0
1
-17
0
-6
-28
0
0
14
-33
0
0
-12
-11
0
35
-11
0
0
35
0
0
0
16
0
-46
3
9
0
0
48
0
0
1
0
0
0
-21
22
-1
0
0
0
9
-15
0
0
11
0
0
15
-1
-2
4
28
11
0
9
-28
0
0
47
0
0
-20
-19
0
-6
24
20
0
9
6
0
0
14
0
0
2
16
0
6
-13
-28
0
0
-95
0
0
2
1
0
16
27
0
0
0
6
0
0
4
0
0
0
0
0
0
11
2
0
0
0
0
-1
49
-7
55
4
0
0
0
-8
0
0
-2
-6
0
1
-8
0
11
0
0
0
12
-12
0
16
0
3
0
-2
78
0
-16
-13
0
0
0
-7
0
-1
2
0
0
0
-27
0
9
0
0
0
0
29
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-1
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-49
0
-1
0
0
0
0
-20
0
0
0
0
0
0
-2
0
13
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
7
0
0
0
0
0
9
0
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
1
0
0
0
23
0
0
2
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
-22
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
-10
0
0
0
0
0
4
0
0
0
-2
0
0
0
2
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
-33
0
0
0
0
0
0
0
0
0
0
0
-10
-1
0
11
-28
0
0
-17
0
0
0
-19
0
1
10
0
0
0
-3
-1
0
8
2
0
0
0
0
2
-2
1
0
0
1
0
-7
6
0
0
0
-4
0
0
-1
0
0
0
0
0
-33
0
0
-1
0
0
0
0
0
-35
2
-26
0
2
0
18
-24
-2
0
28
0
0
-1
13
0
7
11
-4
0
-4
50
0
0
-4
0
0
-2
1
0
0
-3
0
0
0
0
0
0
4
0
0
0
-7
0
-40
8
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-78
0
0
-13
0
0
-21
28
0
0
-4
2
0
24
40
0
0
-2
0
0
0
-27
0
0
-2
-4
0
0
-10
0
0
-3
0
0
2
42
0
0
2
0
0
0
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
0
0
0
0
0
0
-2
4
0
0
0
0
0
30
0
-8
0
0
0
0
-44
0
6
-1
-3
0
0
-2
0
-4
0
0
0
0
-8
0
1
1
-3
0
0
1
0
-2
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
1
0
0
-24
0
0
0
0
0
0
-2
2
0
0
0
2
0
8
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
1
0
0
0
-2
0
-5
0
-16
0
0
0
7
-34
0
0
0
0
0
0
2
0
6
5
0
0
15
9
0
0
0
0
0
-2
2
0
0
6
0
0
0
2
0
0
0
0
0
0
1
0
9
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
-8
0
0
0
-29
0
0
0
0
0
0
0
0
0
-3
0
0
0
27
0
0
-2
0
0
0
0
0
0
2
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
12
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
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
9
0
0
0
0
0
0
0
17
-9
-2
-59
-17
-19
-36
-11
27
-17
-8
-9
-3
-33
-18
-22
-36
16
-15
-17
-22
-1
-28
-2
5
13
12
17
-64
-4
14
-51
-4
-29
22
-49
-80
-6
-7
-27
-15
-28
57
6
-9
-1
35
40
-8
-3
-1
-19
-1
-9
-33
-45
-7
-13
19
1
-24
34
-2
-4
-24
-42
-3
-14
-45
10
-8
-26
-59
-14
12
-5
-43
-2
3
38
-18
-2
44
3
-27
-8
-7
17
16
7
10
12
5
1
-1
19
-12
-23
-36
-2
2
20
-33
19
-22
34
1
34
1
-27
-3
-26
0
8
-13
-1
-2
-28
2
-10
-9
-17
-28
-36
34
0
-8
5
69
-85
-36
-11
12
-11
-19
73
6
-23
-16
-26
7
-10
-5
-8
-9
-40
-36
-14
-10
-23
-7
-3
-63
-18
-12
-7
0
-55
-7
12
-7
14
1
-22
-56
8
-3
-24
6
7
7
24
-36
9
-6
0
5
-8
-51
-11
59
-43
-12
5
-24
-43
-25
0
-2
-20
10
-30
21
35
26
-5
-22
-13
-46
-9
-31
-20
-66
-43
10
-2
5
-35
20
-54
-5
4
27
6
9
1
-4
-41
3
-10
47
3
-15
3
5
0
-3
-29
33
12
1
13
9
-13
-35
51
6
-8
0
19
-41
-17
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
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
-6
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-1
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-24
0
0
0
0
0
0
-19
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
1
0
0
-24
6
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
3
-11
0
0
0
0
0
0
-6
0
0
-4
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
-2
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
-16
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-24
11
0
30
-24
52
0
24
-7
0
0
24
1
0
-53
-6
-8
0
-32
-23
3
-29
-8
17
0
-13
0
0
73
-9
0
0
-1
-52
0
-62
-14
0
8
-2
0
0
-1
0
0
0
0
-2
4
0
0
5
0
0
4
0
22
-30
28
-14
24
-8
0
-86
-17
0
-3
-37
0
0
5
46
-3
-4
4
7
0
11
-30
1
-2
11
0
0
-43
1
4
0
-74
23
0
21
-15
0
3
3
0
0
-4
-25
0
-26
-6
-3
0
-1
-23
0
0
0
0
0
0
3
-22
-1
0
-6
0
-7
-19
-43
-2
39
0
0
-19
23
1
2
21
18
0
-21
27
2
-1
13
0
0
-5
-25
-2
1
-2
-30
0
-6
-23
-3
24
-10
0
0
12
-12
2
-3
-28
1
0
12
2
0
0
65
0
0
-7
11
0
-28
-8
37
0
0
18
17
-1
0
7
0
1
-43
-10
0
0
-1
0
-8
3
-4
-40
14
0
0
6
21
0
-10
-5
-11
0
-35
-12
0
35
-22
0
0
-3
-10
0
12
16
6
0
29
-21
0
-38
-28
2
0
2
-39
3
11
17
19
0
0
-32
0
-49
0
0
0
0
1
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
-2
0
0
-3
3
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-7
0
0
0
0
0
0
-45
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
0
0
0
0
0
-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
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
-21
-12
44
39
2
-3
-23
-11
23
35
39
-18
-51
-14
-9
10
-59
-5
10
-9
18
-19
-8
35
-4
-16
-70
9
1
-66
3
-10
-3
4
-21
10
-2
9
-44
-17
-3
14
-3
19
-26
-49
-18
-8
-8
-44
21
-12
-34
-44
-38
-6
-11
-9
-14
-21
-12
-35
4
-3
-10
18
11
-15
48
0
-4
14
-24
9
-2
1
-34
-5
-8
-59
-48
9
27
-17
-5
7
-18
53
-9
25
-38
-5
-4
-3
-18
-3
-44
-18
-23
14
-38
9
-6
-9
5
-11
-1
-38
-10
17
-65
14
-41
3
0
13
-45
25
-10
30
-3
-12
-8
-19
-26
-68
-11
-14
-35
-6
11
-8
-55
17
-6
-36
10
-12
-55
-34
18
-21
12
-21
9
-31
-52
16
5
-31
8
21
-1
-34
11
-16
-49
-31
21
12
-3
-40
1
13
-3
18
13
37
-11
-8
0
-42
-10
19
13
-12
-14
10
-30
-8
7
-5
-24
10
21
-19
-33
25
-48
-9
-2
-16
13
-3
19
-53
-29
-10
42
-51
-9
6
-57
16
-11
-16
-38
-8
-36
42
25
-2
-3
4
-37
-5
11
24
-6
-22
7
37
51
-15
-48
4
-39
29
18
41
54
-19
-12
-51
-6
-44
-16
-3
-42
13
2
44
-72
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
-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
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
19
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
-43
18
0
0
0
0
0
-1
0
0
0
0
0
24
-29
0
0
0
0
0
3
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-17
0
0
0
0
0
0
12
0
0
0
0
0
0
-17
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-14
0
0
-42
0
0
0
26
0
0
-12
0
0
0
-27
61
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
-9
0
0
0
0
0
-16
0
35
0
0
0
-2
18
0
-7
-24
0
0
-12
56
0
11
-8
0
0
-7
16
0
0
-7
0
0
0
-1
0
0
-4
-13
0
0
23
0
0
1
0
0
0
0
0
-10
1
0
0
0
-12
0
0
0
0
0
0
7
-6
13
0
0
0
0
34
1
0
0
0
0
2
-46
13
0
-1
-20
0
3
56
0
0
0
0
0
0
-20
0
0
-9
0
0
0
-68
0
0
-1
0
0
0
4
0
0
-6
-12
0
0
-64
0
0
0
0
0
0
-11
0
-4
0
0
0
0
2
0
0
0
0
0
0
26
0
-3
0
0
0
-9
12
0
-6
0
0
0
0
-24
0
0
-1
0
0
0
-24
0
0
0
0
0
0
-11
0
3
0
0
0
2
6
0
-6
0
0
0
0
-8
0
0
0
2
0
0
17
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
-10
57
9
33
13
0
24
18
-36
-3
-25
-89
-29
-1
-15
40
10
-35
-53
-81
0
-16
-2
31
-30
-39
11
0
-1
24
0
-67
-1
9
-13
0
0
3
6
0
0
6
0
0
0
1
0
29
45
45
-25
6
0
36
26
-3
69
-23
-4
-3
-9
19
1
35
-5
9
12
-20
-16
0
2
18
1
18
25
13
0
-25
-25
2
8
11
-43
0
12
-72
6
-16
-39
-7
-2
11
2
-12
-12
13
-9
0
0
44
0
-8
0
11
-34
21
0
7
-19
-2
39
32
9
-10
0
0
-17
13
-4
65
36
39
12
5
-1
14
-10
14
-5
-15
-9
-21
-26
-66
7
-23
1
-41
-13
0
-10
-4
-16
35
-14
-48
0
-30
12
100
34
10
-16
0
-17
24
-1
0
10
-10
20
16
-13
-52
-25
0
-3
8
0
7
-3
-6
0
18
-49
28
35
2
-3
1
25
-10
-52
22
2
-2
-24
3
23
4
-36
-62
15
31
-11
9
19
-9
-20
0
-36
38
13
30
5
31
0
0
-16
9
-14
16
-3
18
3
-12
4
16
12
39
13
0
-10
0
53
3
0
1
0
-24
1
5
-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
34
12
0
4
11
-4
10
-12
-9
0
-3
41
43
-13
-92
-51
0
0
26
3
27
50
0
0
1
2
0
23
5
0
0
0
0
0
-43
0
0
0
0
0
0
1
0
0
35
0
0
0
-1
1
45
-2
44
16
0
0
11
0
3
-10
-67
-2
1
33
25
0
-4
-25
16
-8
-47
6
-11
0
-38
0
0
1
-41
0
-3
-5
9
0
0
32
0
0
3
0
1
0
-19
0
-75
0
0
0
0
15
0
0
0
0
-1
0
-29
1
-2
0
0
0
-5
45
21
17
55
0
0
-43
0
1
10
-52
-18
0
-31
-53
15
-2
-13
0
0
-21
-15
2
0
-28
7
0
-7
-12
3
2
-4
0
0
0
-21
0
-1
66
51
0
10
-27
0
3
-2
0
7
0
-39
-2
0
0
25
3
0
1
1
0
0
0
-4
0
-21
-4
0
-1
0
0
0
0
0
36
-4
12
0
8
12
-2
3
-8
3
0
1
-12
0
-17
-46
-1
0
0
-58
0
-19
10
-4
0
-6
9
-1
-20
-14
1
0
0
-35
0
-1
9
-11
0
0
-11
0
-8
6
0
0
0
-39
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
-25
0
0
0
-14
0
0
45
11
0
13
53
0
0
17
-10
0
0
-11
0
0
0
7
0
0
0
0
25
0
0
0
0
0
0
8
0
19
0
0
0
0
14
0
0
8
0
0
0
0
-1
-37
21
-5
80
-6
0
0
43
-1
0
-9
0
0
-2
-7
0
24
-66
15
0
-6
-17
3
0
11
0
0
-11
-9
0
0
19
0
0
1
-58
0
0
0
0
0
0
0
0
-12
0
7
0
0
-18
0
0
0
0
8
0
-7
-7
0
0
0
0
-3
-10
-9
0
-6
0
0
25
-22
0
0
-38
42
0
0
-4
0
0
3
0
0
12
-31
0
0
3
1
0
1
-13
0
0
-8
0
0
0
-34
0
0
2
1
0
0
32
0
0
-1
-1
0
0
3
0
0
0
2
0
0
-80
0
0
0
0
0
0
-12
0
0
-2
0
0
0
15
0
-31
0
0
0
-2
-13
0
-2
0
2
0
0
53
-2
0
1
0
0
3
25
0
-4
0
6
0
6
39
0
-29
2
0
0
0
41
0
-12
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
-16
0
-1
0
-12
0
0
45
0
0
0
8
4
-1
-6
23
10
0
10
0
0
19
-10
0
0
0
0
0
15
-2
0
0
0
0
0
0
-1
0
0
0
8
-45
0
0
82
0
0
0
15
0
45
-4
-6
-20
10
0
77
55
-2
0
52
0
0
18
-11
0
1
60
1
0
40
-31
0
0
22
0
0
4
49
0
0
-5
0
0
-22
-8
0
0
16
0
0
0
-3
0
20
0
2
0
0
-22
0
0
0
0
-6
0
-52
14
-1
0
-1
0
0
-45
23
-3
-14
0
0
1
-32
11
7
22
29
0
-8
9
0
8
4
0
19
0
-15
0
7
23
-4
0
-4
-15
-2
2
38
0
0
0
-4
0
-10
-2
12
0
0
-8
0
0
-1
4
0
0
-39
0
0
2
0
0
0
-28
0
0
0
0
0
0
-13
2
0
0
1
0
0
33
-3
54
-5
0
0
0
-40
0
1
13
-4
0
-6
11
0
-2
0
0
0
-2
-12
0
0
0
-4
0
-1
25
0
-24
-8
0
0
0
10
0
0
15
-29
0
0
6
0
6
0
0
0
0
-6
-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
1
-2
15
34
6
26
14
-27
-20
29
-30
8
6
2
-52
-53
-27
23
7
-6
35
-24
5
1
-2
14
-11
-30
-32
-15
-3
-3
-35
0
-26
-23
1
-2
-2
-2
2
-19
0
0
-14
0
0
11
-5
-6
29
44
9
15
33
3
37
64
-57
5
-11
-15
11
0
3
16
15
-18
13
32
-33
-14
12
20
7
-31
7
-42
-8
1
-26
2
-52
-42
-14
-7
3
-11
36
8
-5
-39
-29
21
-20
34
-32
23
18
1
27
9
-13
1
0
0
-5
-23
-25
0
21
-1
-64
25
-2
6
17
22
-3
26
28
8
9
20
-10
38
13
6
-2
-37
-15
24
-20
0
-7
10
24
3
-7
-27
-12
9
45
-13
21
-11
39
13
-8
-1
-9
-31
-21
-19
-29
-3
5
-7
-62
43
-41
40
6
0
4
12
1
5
0
-20
15
-7
0
-6
20
1
0
-1
-14
-1
21
3
23
25
-19
-37
-4
-10
-4
-34
-9
-12
-35
-14
-13
-13
-1
-4
20
-14
27
-39
24
95
-4
-46
-12
4
8
36
-15
-3
24
-6
-15
21
9
-22
-2
-2
-86
-63
19
-38
-4
12
13
1
-8
-1
-2
0
-23
1
-19
0
27
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
7
0
21
-14
-21
-3
0
18
0
11
-7
14
3
0
38
0
-24
-8
-47
0
0
-28
0
29
0
0
0
0
0
0
46
0
0
0
0
0
0
19
0
0
-31
0
0
0
-25
0
45
100
-15
53
0
0
29
8
0
0
-11
0
0
-56
68
0
3
-30
0
-12
-31
-1
0
1
-55
0
-7
-29
-11
0
0
-35
0
0
0
1
0
0
-3
0
7
0
8
0
-12
0
0
-8
0
22
0
-2
0
0
39
0
1
-10
8
0
0
0
0
5
5
0
-11
0
0
31
14
-2
12
24
0
0
-44
-4
0
0
-13
0
-7
-8
-38
0
-1
-34
0
-11
-1
-16
0
-6
1
0
7
-3
-24
0
0
0
-6
-4
-2
-11
0
0
-6
0
-2
0
-4
0
-6
-9
0
24
0
27
0
0
4
0
0
0
-50
-3
-8
9
0
0
-1
-3
0
8
-1
0
0
7
27
0
-4
-3
0
0
5
-15
-2
4
42
0
0
8
-17
0
18
-55
0
0
7
8
0
9
31
0
-7
0
17
0
0
-8
0
-16
0
-18
0
-23
-7
0
-1
0
59
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
69
0
0
21
0
1
0
-7
0
0
35
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
20
27
-49
20
0
0
48
-20
-3
12
-28
0
0
22
6
-1
6
12
-4
0
-18
-18
0
0
-46
0
0
-10
-35
0
0
0
3
0
0
20
0
0
-2
0
0
0
-50
0
14
0
-7
0
0
-33
0
0
0
0
0
0
-6
-6
0
0
0
0
0
9
0
0
10
0
0
-24
17
0
-1
7
1
0
16
-14
0
0
6
0
0
-21
-25
15
6
12
0
0
20
-28
0
0
12
0
0
-11
-59
0
1
2
-2
0
0
-5
0
0
2
1
0
0
-21
0
0
0
0
0
0
-17
0
0
0
0
0
6
38
0
2
0
0
0
0
-41
3
9
-12
0
0
0
117
0
0
-16
0
0
-1
14
0
-5
1
0
0
0
-2
0
8
-3
0
0
0
58
0
-7
0
3
0
4
0
0
1
-2
0
0
0
29
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
13
-30
-19
4
14
-40
13
-32
-17
5
-29
-29
-9
2
-43
-46
-35
-36
-21
-15
11
-2
12
-28
-30
15
12
-5
26
15
31
24
-6
0
-14
-2
-10
-24
-8
-11
16
30
20
20
12
-21
-1
-14
3
4
28
-10
28
-14
16
-12
4
0
-15
17
-1
9
2
-44
7
-13
-35
-28
-26
-13
10
67
-8
14
-29
11
-4
3
-12
-10
37
-13
5
0
-12
-4
-20
-16
10
-58
-4
3
12
-8
-10
6
-9
6
10
-8
5
-46
-23
-23
2
-2
-11
14
-20
3
29
24
6
-51
12
2
2
15
16
35
-2
17
1
31
-18
-3
18
39
-8
24
-5
14
-11
34
-1
-24
-34
36
-15
-19
-14
-25
7
58
39
-25
4
18
-50
-70
-34
-8
-44
3
-32
26
12
26
13
0
-8
-14
16
-27
-14
-28
-58
-4
12
16
-14
-62
-7
44
12
-54
27
-19
-6
-39
-6
11
-51
13
33
-43
8
24
8
2
-37
3
-2
-69
8
-26
-36
-30
-11
-39
44
-8
-12
5
0
-4
3
-43
14
15
5
3
4
50
-13
-19
2
-10
-15
-2
-36
-25
7
-15
38
-5
-17
-35
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
4
0
0
-47
2
2
-22
-11
0
9
27
0
6
75
16
0
0
11
0
0
7
3
0
0
2
0
-2
0
-3
0
0
0
0
-15
0
0
22
0
0
0
7
0
-1
-31
17
64
8
0
-22
-5
0
0
2
0
0
50
0
-4
-46
2
0
0
17
3
-2
0
-14
0
0
-6
-50
0
0
-9
-1
0
7
25
0
-1
13
0
0
0
19
0
52
1
-7
-3
8
23
0
0
0
0
-17
-1
-20
-8
0
0
0
0
-10
38
0
0
-14
0
0
19
-7
8
-3
38
23
0
18
0
-3
0
12
0
0
5
23
0
6
29
2
0
0
20
0
0
-1
0
0
0
13
0
0
-13
-7
4
-1
-14
0
0
-3
0
0
6
-51
0
0
0
0
0
0
20
0
0
0
6
0
0
46
0
-3
7
0
0
0
27
0
-6
0
0
0
4
0
0
-1
2
22
0
-3
-23
-1
8
2
2
0
-2
5
0
0
-2
8
0
-2
-27
0
-34
2
0
0
0
74
0
-1
-8
-3
0
0
-24
0
-37
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
18
-3
0
1
-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
-1
0
0
-6
0
0
0
0
0
10
1
2
-12
0
0
-10
6
0
0
-59
0
0
-18
-5
0
2
33
0
0
15
-43
0
0
18
0
0
10
-23
0
0
-3
0
0
-3
22
0
0
0
0
0
0
3
0
24
0
0
0
0
-27
0
0
0
0
0
0
11
0
0
0
0
0
0
40
1
0
-3
0
0
0
53
0
0
-8
0
0
0
73
0
0
-2
0
0
0
-14
0
0
0
0
0
0
7
0
0
0
0
0
-6
-39
0
0
1
-1
0
0
-17
0
0
0
0
0
0
-23
0
0
0
0
0
0
-31
0
0
0
0
0
0
-11
0
0
0
0
0
0
-18
0
2
0
0
0
0
-41
0
-9
0
0
0
-1
2
0
6
0
0
0
0
-4
0
0
0
0
0
0
35
0
3
0
0
0
0
-8
0
0
0
0
0
0
9
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
-9
0
0
0
0
0
0
0
4
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
88
0
0
-3
0
0
17
-26
0
0
5
0
0
67
-9
0
-6
2
0
0
-3
-4
0
0
-1
0
0
0
-6
0
0
0
0
0
0
12
0
0
0
0
0
0
33
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
38
9
0
0
0
0
-2
-34
0
0
13
0
0
0
-53
0
0
-4
0
0
-8
67
0
0
0
0
0
0
-3
0
0
-3
0
0
0
-1
0
0
-2
0
0
0
-29
0
0
0
0
0
0
-12
0
0
0
0
0
0
68
0
0
0
0
0
0
-33
0
0
0
0
0
0
62
0
-2
0
0
0
0
-13
0
0
-1
0
0
0
8
0
0
0
0
0
0
-8
0
0
0
2
0
0
9
0
0
-1
0
0
0
2
0
0
0
-4
0
0
-13
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
68
54
-39
35
-11
-20
-5
22
18
0
-35
6
21
-2
12
-48
-2
-22
16
-14
0
-3
-26
-39
-28
-36
6
0
0
-33
3
-34
0
-3
10
0
-1
4
-18
-18
25
26
-18
-26
16
-6
-45
-34
-60
15
-12
0
65
10
-12
8
-17
28
16
1
-6
-1
50
-23
27
-37
-8
3
12
-12
39
-1
9
-18
-14
-23
6
-9
-3
-7
33
-6
-7
0
-21
-58
-34
-2
2
-9
0
3
15
-2
-11
0
-2
24
-11
0
-51
4
-35
14
29
6
9
13
-15
-44
-8
-21
-64
50
7
-15
5
5
-34
46
17
8
28
-17
-2
-12
37
19
71
48
49
-17
-5
-15
-8
-21
53
89
-37
12
11
15
-39
-4
-40
12
-5
-4
-4
2
-21
-8
-26
0
10
-4
-29
26
0
-13
20
0
0
8
14
-13
-15
10
-16
13
2
0
-29
-40
-45
5
29
0
13
-44
4
-13
63
-35
-41
17
8
5
-13
1
-14
-8
11
-37
-32
-10
7
-56
-55
-40
-39
-13
-9
-8
28
-26
4
-31
21
0
9
-51
56
14
-11
1
0
-5
-9
-4
37
0
8
-39
-14
-3
-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
6
9
0
0
-10
0
0
-6
7
0
0
4
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
-2
0
0
0
0
0
37
0
15
-6
0
0
26
-20
0
0
-1
0
0
-8
-7
0
44
1
0
0
7
3
0
0
0
0
0
1
-14
0
0
-19
0
0
0
67
0
0
0
0
0
0
-25
0
10
7
0
0
-2
12
0
0
0
0
0
0
14
-1
0
0
0
0
0
-35
1
0
0
0
0
-3
44
0
3
7
0
0
-15
-17
0
0
8
0
0
6
-18
0
0
2
0
0
18
17
0
0
0
0
0
-3
22
0
0
0
0
0
0
10
0
0
0
0
0
0
-14
0
0
0
0
4
0
30
0
0
0
0
0
0
33
9
0
0
0
0
0
9
0
1
0
0
0
0
50
0
0
0
0
0
0
-34
0
0
0
0
0
0
-20
0
0
18
-9
0
0
14
0
0
0
0
0
4
-6
0
0
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-30
0
0
0
6
0
0
9
0
0
0
4
0
0
2
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-4
0
0
0
0
-4
38
-1
-33
7
-9
0
16
-4
0
0
-27
0
0
20
-10
0
48
-27
0
0
12
-49
0
0
-26
0
0
-10
40
0
0
10
-1
0
14
13
0
0
0
0
0
-10
-6
0
-15
34
33
0
-2
-20
0
0
0
0
0
0
-16
35
-7
0
0
0
0
4
17
0
-23
0
0
8
7
0
0
12
30
0
32
-7
-3
0
-44
0
0
10
-26
0
0
27
0
0
17
-22
0
0
40
0
0
9
-26
0
-6
-30
-24
0
0
-20
0
0
-3
1
0
0
17
3
0
-16
2
0
0
-15
0
0
0
0
0
0
16
0
0
0
1
0
-3
42
0
-39
8
0
0
-14
-41
0
0
19
0
0
-1
-8
0
28
-10
0
0
18
16
0
0
6
6
0
0
14
0
53
-26
0
0
0
4
0
-1
20
-4
0
0
17
0
0
-2
0
0
0
17
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-33
64
-13
35
18
8
-3
24
2
14
-10
-9
-37
-40
-53
-1
-3
-9
-3
-23
0
25
4
0
-7
16
-35
-1
0
29
0
-1
-6
9
39
2
9
18
-36
-6
-1
-18
10
44
-25
-11
12
3
12
-29
32
3
-4
-2
6
-10
23
-84
10
22
59
11
9
30
2
34
-5
8
3
24
-20
1
-2
-1
7
-6
-6
2
0
-26
12
12
3
-3
-20
2
0
-8
3
-39
0
14
54
26
-3
-10
3
16
17
6
7
15
-1
6
29
33
-30
-11
28
43
5
-16
-16
41
-5
-43
-36
13
16
6
-14
-33
-33
11
0
4
0
-2
38
10
-19
30
9
2
-2
-3
39
12
-10
11
-1
12
7
-3
0
13
-1
-5
0
1
68
-16
-11
0
6
11
-7
-1
-3
3
0
-14
-24
-56
-26
0
0
19
3
-22
-35
-3
4
9
-25
10
5
30
-24
33
-3
57
9
4
-10
-30
7
-7
6
1
-1
0
-12
0
-18
-13
-6
2
-6
-42
-8
17
-2
-47
-4
-10
61
-64
33
0
2
-1
-36
-23
0
-33
0
-17
-7
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
15
-4
-4
0
0
10
-6
-3
1
32
0
0
-1
0
-18
0
-28
0
0
0
0
-48
0
0
27
0
0
0
-63
-19
-14
-78
-20
-28
4
0
-24
27
-6
-11
-9
0
0
10
-14
-2
30
-10
19
0
-28
0
7
-1
-84
-16
0
-15
-65
7
-10
10
0
0
-14
-12
0
0
-33
0
8
-6
-36
0
-28
0
0
3
0
-8
0
0
0
-1
0
0
-8
-14
41
0
3
0
-1
9
-24
0
5
0
0
-44
-2
8
46
-3
8
0
18
11
0
9
13
0
0
-56
0
0
21
-15
-13
0
-43
12
-1
2
-18
-1
0
0
-30
0
-13
-10
-52
19
1
-19
0
9
15
3
-1
0
9
0
2
-24
0
25
0
-28
0
0
0
0
0
0
11
2
7
0
0
0
11
-6
3
24
50
2
0
0
-5
-3
-5
-9
0
0
19
0
-2
72
-2
5
0
37
0
0
-16
11
-19
0
1
-35
-1
34
-56
2
0
0
-13
0
8
6
-1
-7
0
-8
0
3
0
0
9
0
24
-4
-2
-4
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
-3
0
0
-2
0
0
0
0
0
37
9
-1
0
-7
0
-9
-37
0
0
-1
0
0
-17
19
0
-1
-52
2
0
7
9
0
0
-3
0
0
1
3
0
0
0
0
0
0
85
0
0
0
0
0
0
1
0
8
0
0
0
0
4
0
0
0
0
0
0
-26
0
0
0
0
0
-1
-39
0
0
0
0
0
0
15
0
3
0
-4
0
0
-3
0
0
0
0
0
25
13
0
0
-13
0
0
0
-39
0
0
-6
0
0
0
-8
0
0
4
-1
0
0
-59
0
0
0
8
0
0
39
0
0
0
0
0
0
6
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
18
0
0
0
0
-5
0
-2
0
0
0
0
-8
0
8
-6
0
0
0
-1
0
0
0
0
0
0
8
0
0
-3
0
0
0
-9
0
0
0
0
0
0
29
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-4
0
0
15
0
0
0
0
0
-9
30
-25
34
0
0
10
0
0
0
28
0
0
2
2
0
-9
18
0
0
-16
52
0
0
9
0
0
0
7
0
0
-2
2
1
0
-28
0
0
0
0
0
2
39
0
-9
-1
0
0
0
55
0
0
0
0
0
0
-40
2
0
0
0
0
0
4
6
0
0
0
0
1
27
0
0
10
-11
0
0
-4
0
9
1
0
0
0
-68
0
0
-9
1
0
0
-28
0
0
1
0
0
0
30
0
0
5
33
0
0
-10
0
0
0
0
0
0
12
0
0
0
6
0
0
37
0
0
0
0
0
0
43
0
0
0
0
0
0
-10
0
-9
0
0
0
0
58
0
0
1
0
0
-1
8
0
2
-9
0
0
7
-42
0
0
0
0
0
-2
-21
0
0
0
0
0
0
16
0
0
1
0
0
0
20
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
2
-13
-1
0
-3
2
37
20
-6
-11
1
-19
-3
-47
54
-23
0
-4
-6
0
-14
0
21
0
0
0
15
-27
0
0
-24
0
0
-1
9
-30
-30
-29
-12
10
22
1
41
10
20
-8
16
0
-21
-20
17
-17
5
3
24
9
-4
6
-9
2
28
-3
-9
-8
16
0
8
-15
-26
6
-68
-44
0
18
-27
0
-10
10
-27
-1
-17
4
-11
-57
-10
-23
0
0
1
0
6
0
31
-8
59
1
24
-6
-2
-24
-23
-3
-23
0
0
-19
27
-7
-41
-15
1
-3
-20
-11
-7
21
-58
9
0
-80
-18
-3
-23
17
-2
0
10
-2
0
0
2
5
-11
2
5
0
-3
-8
19
30
-8
9
3
5
-14
1
16
15
4
0
1
-2
2
-51
0
19
11
0
6
-7
17
0
-8
14
4
9
-1
0
-9
22
11
-23
-38
3
0
-9
-34
-9
-16
18
12
-1
47
17
0
2
-30
1
8
11
-23
0
6
-14
17
9
-26
-14
2
18
-24
-26
-2
1
4
5
-6
1
18
-12
6
2
0
34
-17
0
29
0
47
-21
19
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
-40
14
0
0
13
0
1
-29
-10
0
0
16
0
13
-13
41
0
0
-4
0
-4
1
22
2
0
2
0
4
0
0
23
0
0
0
23
9
22
-21
33
-40
0
0
-5
-3
0
-1
5
0
0
-22
-42
0
14
32
0
0
-1
35
0
0
1
0
-9
4
-16
0
0
9
0
-13
-16
-22
0
0
48
0
3
2
8
0
-1
-20
3
-50
0
6
0
2
-1
0
-38
0
-7
-3
1
0
0
-1
0
18
-12
0
43
0
0
-49
-1
-3
-12
22
0
-6
-6
-1
0
18
-7
1
0
14
15
0
12
38
0
6
32
-13
0
17
-8
-15
21
-17
-16
0
-8
14
0
-5
-21
12
0
-2
42
0
-9
0
6
0
-20
-28
0
7
0
-26
-10
0
-1
0
3
0
-2
1
15
-8
0
0
20
6
3
-53
-41
0
-10
48
17
-17
8
-13
0
0
-71
1
0
-23
-15
1
-9
2
8
0
-12
16
2
-2
-36
-6
0
-24
-45
0
0
0
-11
0
8
25
0
-20
0
-2
0
25
0
0
-16
0
2
-35
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
65
0
0
5
0
0
0
-12
0
0
-2
-3
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
28
0
0
0
0
-3
33
11
44
12
4
0
16
-25
0
-3
-1
0
0
-7
-3
0
-7
1
12
0
12
-44
0
0
-60
0
0
53
-4
-3
2
-8
-9
0
21
-7
0
0
31
0
0
-3
-2
0
-14
9
-4
0
0
-8
0
0
0
0
0
0
-9
18
9
0
0
0
2
-5
32
0
-5
0
0
-1
20
1
8
26
-4
0
-35
-17
0
3
-9
0
0
11
15
0
0
-6
-54
0
2
17
0
9
4
0
0
0
-32
0
0
-32
0
0
0
11
0
0
-6
-6
0
0
-12
0
0
19
-6
0
0
-15
0
0
0
0
0
0
-40
-2
-3
-3
0
0
-15
8
0
12
4
0
0
10
-42
0
0
-4
0
0
22
2
-2
4
-6
0
0
2
32
0
6
23
-3
0
-3
19
0
17
21
0
0
0
-6
0
0
56
19
0
0
-39
0
43
2
0
0
0
22
0
-8
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
28
13
-1
-14
78
-15
10
-36
0
-2
-57
0
-23
0
-33
0
0
1
-26
0
0
0
36
0
0
0
10
-2
-3
-13
2
-12
-21
-4
20
-2
-9
-24
-7
0
0
-20
-2
-8
-24
-35
-13
6
-36
-9
25
4
-5
7
3
49
19
0
-10
-13
0
0
-27
3
1
-2
14
19
-3
0
10
-1
10
-28
19
-9
0
-25
3
0
10
0
2
0
5
13
9
0
50
0
5
-17
-2
25
-30
19
0
19
2
-10
14
13
-17
3
-17
14
8
16
-52
-1
22
7
4
63
-9
-38
-15
-7
1
2
38
-20
13
-9
2
26
17
2
17
-32
-40
57
0
3
2
-11
-63
0
0
0
4
0
2
10
-20
-23
0
-12
-9
0
3
-11
-6
-12
-34
-14
10
42
1
0
-2
-47
30
-31
0
8
0
8
71
2
-5
36
7
0
-1
17
-4
6
31
15
3
26
-13
4
20
-8
-15
2
45
-1
3
11
8
3
17
-10
32
0
8
-18
37
-1
0
-4
9
-5
1
-4
-21
0
7
50
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
-21
-19
0
0
-18
0
27
-32
39
0
0
-2
2
9
0
-3
0
0
0
1
-52
0
0
1
0
0
0
3
-13
16
28
9
5
33
0
13
1
0
2
14
9
0
-34
-9
-6
12
-26
-28
0
17
-6
0
28
-23
-1
0
-24
0
-4
2
-4
6
0
-19
-12
0
7
-74
-2
0
-1
22
0
-47
7
1
3
-2
-58
0
0
-1
0
3
0
17
-10
-6
0
3
0
0
26
-13
0
19
0
0
74
-15
9
14
-26
3
-12
-69
3
-1
-4
57
1
-8
49
-1
0
31
-61
32
30
-27
0
0
-2
-2
-3
-4
11
-14
0
-1
-13
20
0
6
4
0
-3
-5
0
8
0
8
-19
0
1
-19
-84
0
-38
0
0
0
0
-2
0
-16
20
-1
-7
0
0
-15
29
-8
-21
-6
0
0
12
-12
-11
-12
1
-30
1
-25
44
0
-11
13
0
-10
-10
0
0
-21
-12
37
-1
-1
-5
0
-14
27
-1
0
0
6
0
0
9
-11
0
0
17
0
44
0
0
6
0
-41
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
6
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
12
36
-7
-7
0
0
15
0
0
-10
0
0
10
35
0
-1
20
0
0
1
6
0
0
0
0
0
15
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
6
-1
0
0
0
78
0
0
0
0
0
0
18
0
0
0
0
0
0
-10
0
0
0
0
0
0
15
0
0
1
0
0
0
-6
0
0
6
0
0
0
5
0
0
0
0
0
0
-7
0
0
-3
0
0
0
6
0
0
0
1
0
0
47
0
0
0
0
0
0
-6
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
-3
0
0
0
0
-3
0
-6
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
25
0
1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-16
-7
-1
-3
0
0
5
-47
0
0
2
0
0
33
-22
0
1
-12
0
0
-1
1
0
0
11
0
0
0
22
0
0
0
0
0
0
-10
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-73
0
0
0
0
0
0
18
2
0
0
0
0
0
20
0
2
-3
0
0
0
-12
0
0
0
0
0
0
-15
0
0
0
0
0
0
-43
0
0
0
0
0
0
26
0
0
-4
6
0
0
-15
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
-2
0
0
0
4
0
0
9
0
0
10
0
0
0
-1
0
0
0
0
0
0
-19
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
17
0
-8
7
29
-3
-10
20
0
1
5
0
-10
0
33
0
0
0
-12
-29
0
0
-33
0
0
0
-21
4
-7
8
11
7
-2
0
-25
-28
11
2
-17
0
0
-31
-34
0
-39
20
6
0
-72
-58
9
0
13
-2
-7
3
15
-3
8
-24
-26
-3
1
-22
0
-6
4
0
29
-22
-11
0
-24
0
-7
0
0
0
0
6
0
0
12
0
21
-12
-8
0
13
0
0
-24
54
0
8
0
-1
-29
-40
-62
-3
-28
17
7
4
13
-1
6
-14
0
3
-8
2
0
2
12
27
0
30
13
0
-4
-2
-1
0
-2
-10
0
-7
0
8
8
0
-12
0
0
0
2
-12
0
9
0
3
0
-7
11
0
38
0
0
0
0
0
0
1
-20
-2
0
0
0
3
-52
0
26
-5
0
0
-15
-14
0
0
47
0
6
-2
12
0
-11
23
0
7
-7
-32
0
0
0
1
0
-2
28
0
2
0
0
0
0
-10
0
-6
18
0
0
0
22
0
-16
0
0
-8
0
2
4
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
6
0
0
0
0
0
38
-2
0
6
0
0
0
33
0
0
10
0
0
0
4
0
2
9
0
0
-3
-4
0
0
0
0
0
0
-11
0
0
20
0
0
0
2
0
0
0
0
0
0
-1
0
-3
0
0
0
0
3
0
0
0
0
0
0
-67
0
0
0
0
0
0
-27
0
0
0
0
0
0
-19
0
4
-16
-1
0
-11
-61
0
0
0
0
0
0
59
0
0
0
0
0
1
-69
0
0
0
0
0
0
-17
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
-19
0
1
0
0
0
1
-22
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-5
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
12
0
0
-2
-6
0
20
0
0
0
-1
0
0
0
12
0
0
0
-39
0
0
0
-43
0
0
0
0
0
17
52
75
35
-4
0
33
-12
-1
0
12
0
0
19
-59
0
25
8
-11
0
-13
-13
0
0
-58
0
0
-36
-57
0
0
39
1
0
-38
-23
0
0
79
0
0
3
-11
0
5
-35
-2
0
0
-13
0
0
0
0
0
0
11
-41
-2
0
0
0
0
13
-18
0
10
0
0
27
-17
-16
4
16
-8
0
-14
-47
4
0
7
0
0
-72
-22
0
-3
-13
-1
0
-28
-63
0
2
-11
4
0
18
-21
0
-9
-38
41
0
-20
10
0
0
27
0
0
0
-5
0
0
-13
-4
0
0
7
1
0
0
0
0
0
-59
2
0
0
0
0
0
5
-2
47
-40
0
0
0
-33
0
0
33
11
0
0
18
0
-8
37
0
0
15
25
0
0
-12
41
0
15
2
0
-10
0
0
0
0
6
0
0
5
0
0
0
0
0
-36
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
-28
0
0
30
0
0
0
1
0
0
11
8
-23
0
0
14
0
0
0
-1
1
-28
0
-72
27
3
0
12
6
0
0
-67
0
0
-14
-26
0
9
-14
-12
0
10
-11
-2
-3
-15
0
0
1
-26
-4
2
-20
-10
8
0
10
0
0
-12
1
0
0
-34
0
-24
16
-36
0
0
15
0
0
0
0
-9
0
0
10
6
0
1
0
0
-14
-44
-1
11
0
0
4
14
23
8
-49
-15
0
3
-42
0
0
-57
0
0
2
4
0
22
-15
15
0
0
-10
-5
-2
-91
1
0
0
1
0
0
39
-20
0
0
21
0
0
3
0
22
0
-30
0
0
0
-1
26
0
-42
0
0
0
-3
0
0
10
-1
-7
4
4
0
0
44
0
33
24
0
6
-1
-18
0
-11
25
7
-9
0
20
0
27
-10
-9
15
0
33
2
0
-10
8
0
1
10
0
-43
7
0
-11
0
7
0
-3
-1
-1
3
0
-32
0
-4
0
0
0
0
-25
-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
-1
2
0
-2
0
0
0
0
-4
40
0
0
-19
0
0
0
0
3
22
16
-74
15
0
0
28
0
7
0
-33
0
0
-21
12
0
-34
-60
3
0
-14
37
0
0
-25
0
0
15
-57
0
0
-7
3
0
24
0
0
0
5
0
0
0
23
0
-62
13
-4
-1
14
64
0
1
-1
0
-3
0
21
-2
-8
0
0
0
7
-6
-2
13
1
0
-1
-12
-30
-7
-7
-14
37
0
-51
27
0
0
-56
0
4
-25
-10
9
16
-12
4
3
2
26
9
6
22
-2
0
0
0
0
0
9
7
0
0
-18
0
0
0
-2
4
3
-9
0
0
-9
19
-17
0
-9
0
0
0
0
0
0
-7
-9
0
4
0
-11
0
42
-6
0
-13
0
-2
2
-33
-3
3
18
3
0
10
18
7
7
2
0
2
4
-47
0
0
4
-2
0
0
0
0
-17
4
0
0
0
-27
0
0
3
0
0
0
-31
6
-10
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
4
0
0
0
-2
0
0
-4
0
0
4
-5
0
3
37
-7
0
-15
-13
0
0
-1
0
0
0
1
0
0
8
0
0
0
-1
0
0
0
0
0
0
-2
0
4
0
19
0
0
62
0
0
0
0
0
0
-38
0
0
0
0
0
0
-37
0
0
1
0
0
0
-15
0
0
0
0
0
4
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
19
0
0
13
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-13
0
0
0
3
0
0
-6
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
14
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
22
-30
0
0
-3
0
0
-12
0
0
-3
39
0
0
-4
52
0
0
0
0
0
-7
1
0
0
-12
-1
0
0
-64
0
0
0
0
0
0
1
0
8
0
0
0
0
-1
0
0
0
0
0
0
-34
0
0
0
0
0
0
-26
0
0
0
0
0
-3
-74
0
0
0
0
0
0
-18
0
0
0
0
0
0
-6
0
0
-3
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
6
0
0
0
0
0
0
3
0
0
0
-23
0
0
0
0
0
0
-4
-7
0
0
0
0
0
1
0
0
8
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
8
2
0
0
0
0
0
0
10
0
0
0
2
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-19
0
-3
0
0
0
-4
-6
0
0
-9
0
0
0
-8
0
-3
-38
-2
-22
-10
-1
56
-26
0
-2
-1
0
0
-33
-12
-1
7
-45
-23
0
-18
18
0
0
-20
0
0
-4
-14
0
0
6
5
0
4
19
0
0
0
3
0
0
13
0
1
0
-14
0
0
-48
0
0
0
0
0
0
-14
4
-4
0
-1
0
0
14
14
0
11
0
0
5
14
0
9
63
-6
6
0
-12
0
0
-35
0
0
1
-1
0
6
-7
18
0
-10
-26
0
-2
-7
7
0
0
38
0
0
0
-14
1
0
-10
0
0
0
0
8
0
-22
0
2
0
-1
-21
0
-36
-1
0
1
0
9
0
1
0
0
0
15
0
1
-9
0
15
3
0
0
0
-60
2
11
0
0
0
0
48
0
18
-4
0
0
0
-24
0
-1
0
-15
0
0
53
0
-59
0
3
0
0
-68
0
0
0
12
0
0
-14
3
-44
0
0
0
0
17
0
-7
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
31
0
0
-41
0
0
0
12
9
-1
0
3
12
0
0
4
-15
0
-3
-13
0
0
-5
10
0
-60
25
0
0
55
14
0
0
120
0
2
-3
-25
0
0
0
0
-1
-1
8
-3
0
13
0
0
0
29
0
-44
-3
0
0
0
-4
0
0
0
0
-5
0
0
6
-2
0
0
0
0
-20
1
0
15
0
0
9
-31
0
0
5
0
0
-1
18
0
0
-1
0
0
11
8
0
0
-4
0
0
-23
-45
0
8
0
0
0
0
15
0
0
20
0
0
0
-2
0
0
6
0
6
0
-53
0
0
19
0
-9
0
-14
0
-1
0
0
-4
0
4
-2
0
-3
0
0
0
-23
0
-19
0
0
0
0
-15
0
0
-6
0
0
1
-37
0
6
0
0
0
0
-19
0
0
0
0
0
0
-12
0
12
-2
0
0
0
39
0
0
7
0
0
0
22
0
8
8
0
12
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
-2
-4
0
0
28
0
0
0
8
0
0
-1
-6
0
0
0
6
0
0
3
0
0
28
13
-61
2
14
0
8
3
0
0
5
-1
0
-20
-16
0
3
-15
45
0
10
21
0
0
-17
0
0
41
-2
0
0
-36
-2
0
-24
-54
-1
0
-1
0
0
2
15
0
-2
-48
-12
0
0
-12
0
0
0
0
0
0
7
22
2
0
-7
0
3
12
-22
3
-30
1
0
77
7
-1
0
-1
19
0
51
-8
0
0
19
0
0
-23
14
0
6
6
-5
0
22
11
0
-2
-11
-3
0
-26
-47
0
-2
-17
17
0
0
13
0
0
22
0
0
0
-15
0
-4
15
14
0
0
17
-3
0
0
0
0
0
-21
3
0
15
0
0
-2
6
0
31
-4
0
0
-1
6
0
0
-11
-3
0
23
19
0
-23
27
0
0
-9
14
0
0
12
3
0
-5
-9
0
19
-43
0
0
1
8
0
0
22
5
0
0
-27
0
-19
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
32
-24
0
0
-60
0
0
0
0
4
-35
-18
-45
-14
3
0
-24
-23
1
3
-24
0
0
-19
-11
1
-39
16
9
0
3
15
0
0
-8
0
0
-2
4
0
0
-11
-13
0
0
-32
0
0
24
0
0
0
36
0
-30
-29
-21
0
0
1
0
0
4
0
24
0
-44
15
0
0
12
0
0
-21
3
0
0
0
2
0
-21
1
0
-5
6
2
0
3
0
-1
4
0
0
1
18
0
0
-16
-8
0
-1
-41
0
2
-18
0
5
0
-12
0
-2
-17
-10
10
0
22
0
0
-3
0
-42
0
-7
0
0
0
-11
-27
0
-24
0
0
0
0
6
0
25
0
0
-3
0
0
0
6
0
23
1
0
0
2
26
4
6
-3
7
-1
0
-24
0
15
0
0
0
0
14
0
0
1
-3
0
0
4
0
-12
-2
0
0
0
-30
0
0
-1
3
0
0
19
0
7
0
0
0
0
-46
2
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
-3
0
0
1
0
0
0
1
15
35
6
-95
-33
2
0
-31
8
0
0
1
0
0
-3
-8
3
13
14
-17
1
-39
-24
0
0
-3
0
0
40
5
0
0
-53
26
0
-17
-48
0
0
25
0
0
1
0
0
-10
0
-3
2
0
-33
0
0
0
0
16
0
5
-4
-1
0
0
0
0
5
29
0
1
0
0
3
20
-11
6
34
19
0
-4
-13
-2
0
-6
0
2
11
-59
0
27
-50
-21
0
-19
-63
0
0
-4
1
0
-2
23
0
0
24
0
0
0
0
0
0
-1
-1
6
0
11
0
0
0
0
-19
0
20
0
0
0
0
4
0
1
2
0
0
-2
0
0
5
21
-4
0
0
0
-9
2
6
0
0
0
0
0
-61
0
-41
0
0
0
-1
9
-1
-16
12
-7
0
0
-2
0
19
4
0
0
-2
0
0
0
0
17
0
0
-18
0
-8
-1
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
1
0
0
0
0
0
0
0
0
-16
0
2
0
0
0
0
-33
-4
0
3
0
0
0
0
0
2
11
0
0
1
-2
0
0
15
0
0
-9
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
32
0
0
0
0
0
0
24
0
0
0
0
0
0
19
0
0
-6
0
0
0
-37
0
0
0
0
0
0
-15
0
0
7
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-15
0
0
0
0
0
0
7
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-18
0
0
0
-1
0
-1
-28
0
0
0
0
0
0
22
0
-13
-7
0
0
-3
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
30
0
0
0
0
0
20
-62
0
0
0
0
0
12
8
0
0
0
0
0
0
-28
0
0
0
0
0
0
39
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-36
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
0
8
0
0
0
0
0
0
0
-3
0
0
0
-2
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
7
-2
0
0
-33
0
0
0
15
0
-70
-5
15
-2
0
0
12
-1
0
-3
39
0
0
11
-76
0
9
-11
0
0
41
12
0
0
2
0
0
-2
-83
0
0
-1
3
0
-11
18
0
0
0
0
0
0
-18
0
-12
0
-4
0
0
-74
0
0
-3
0
0
0
-76
-1
11
0
0
0
0
-45
-2
0
0
0
0
-1
3
0
0
-6
9
0
-35
1
0
0
-4
0
0
0
-48
0
0
5
-7
-4
6
11
0
4
0
-7
0
4
-55
0
0
0
6
2
0
-2
0
2
0
0
1
0
-24
0
0
0
0
0
0
20
0
0
0
0
0
0
8
0
0
0
0
0
0
-12
0
-17
0
0
-3
0
1
0
0
9
0
0
0
7
0
-4
0
1
0
0
12
0
0
2
-1
0
2
11
0
-5
0
2
0
2
21
0
0
0
0
0
0
-35
0
0
0
0
0
0
-90
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
30
0
0
0
0
0
2
5
0
0
0
0
0
0
21
0
-2
-2
0
0
0
-3
0
0
-3
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
29
0
0
0
0
0
0
4
0
0
0
0
0
0
-62
1
0
0
0
0
0
-26
0
0
-3
0
0
0
12
0
0
1
0
0
0
6
0
0
-2
0
0
0
-27
0
0
0
0
0
0
-1
0
0
1
0
0
0
23
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-54
0
0
0
4
0
0
-1
0
24
-12
2
4
-17
-7
0
-59
-18
2
1
-11
0
0
-39
-31
0
-16
8
-19
0
-15
10
-6
0
-38
0
0
-7
-5
0
-1
-5
17
0
-30
10
0
0
-14
-2
0
-3
-69
0
0
31
14
0
0
27
0
0
6
0
0
0
14
-11
33
0
53
0
19
-14
-4
0
4
0
0
52
7
3
-2
22
-10
0
-23
-2
0
4
35
0
0
3
9
9
18
-15
-23
0
21
4
0
28
-9
0
0
7
27
4
5
-8
-5
0
-7
-20
0
2
21
11
0
3
3
0
-1
-2
5
0
0
23
0
0
0
0
0
-6
-41
10
0
-1
0
0
12
-20
0
6
19
0
0
1
5
0
0
-2
-6
0
10
48
0
49
20
0
0
-2
-17
2
1
5
-6
0
6
42
-6
2
-77
0
0
2
-25
0
0
-39
14
0
0
9
0
-25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
-24
-81
3
0
21
0
0
0
-14
0
15
-1
4
0
-1
16
0
0
-6
0
0
0
4
0
0
16
0
0
0
28
0
0
0
0
6
0
12
0
-7
0
0
-10
0
38
0
0
0
0
0
0
-11
0
0
0
0
0
0
-19
0
0
0
0
0
0
9
0
0
0
0
0
7
28
0
0
0
0
0
0
-26
0
0
2
0
0
0
-2
0
0
1
0
0
0
29
0
0
0
0
0
0
5
0
0
0
0
0
0
-8
0
0
0
0
0
0
-7
0
0
0
0
0
0
9
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
7
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
12
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
0
0
0
-26
0
0
0
-1
0
-6
-17
-33
16
-2
0
-29
-17
-2
-1
-30
0
0
-21
28
-6
-45
10
1
0
-6
3
0
0
-48
1
4
-7
42
0
0
55
2
0
-3
-48
0
0
12
0
-6
1
-24
0
-12
2
-2
0
0
0
2
0
0
0
-1
0
0
-3
0
0
0
0
0
-41
17
0
3
0
0
-1
-9
7
-1
18
1
0
-56
22
0
0
-21
0
0
33
-41
0
0
-45
7
-3
17
11
-10
-2
-1
7
10
0
-33
0
1
6
51
-4
0
18
0
0
0
0
6
0
0
6
0
-2
-1
-2
0
-9
0
0
0
0
0
0
26
0
0
-7
0
0
0
-37
0
3
12
0
0
-9
18
9
2
2
0
0
3
-52
7
12
0
0
-10
2
-11
0
-2
0
-24
0
0
-28
0
-6
-4
0
0
0
-14
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
1
0
1
0
0
0
-46
0
0
-3
0
0
0
0
0
13
14
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
1
0
16
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-29
0
0
0
0
0
0
-1
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
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
-1
0
0
0
0
0
0
-25
0
0
0
0
0
0
-3
0
0
0
0
0
0
-9
0
0
0
0
0
0
17
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-37
0
-2
0
0
0
0
-57
0
0
-41
0
0
-1
0
0
-14
26
0
0
-17
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
-31
0
0
0
0
0
0
7
0
16
0
0
0
0
-67
0
0
0
0
0
0
-5
0
0
0
0
0
0
37
0
0
0
0
0
0
-10
0
0
-9
0
0
-3
-9
0
0
0
0
0
0
-16
0
0
0
-4
0
0
-57
4
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
-3
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-1
1
0
0
0
0
0
-3
0
2
0
0
0
0
-16
0
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
32
0
0
0
0
0
0
8
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
10
-64
-6
0
0
28
20
0
0
-51
0
0
3
11
0
22
-22
0
0
-37
-42
0
0
-50
0
0
-9
-23
0
0
-48
0
2
-6
-25
0
0
48
0
-21
0
-2
0
15
2
0
0
-1
-25
0
0
0
0
-15
0
-55
-5
-4
0
0
0
0
1
-1
-4
4
0
0
0
11
0
2
-82
0
0
17
6
0
0
0
0
0
-8
-77
0
0
60
0
-27
2
0
0
0
12
0
-2
0
-14
0
0
9
0
8
-8
-18
0
0
-3
0
-13
0
-17
0
6
0
0
-2
0
-14
7
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
4
10
0
0
8
-40
2
0
4
0
0
0
22
0
1
-4
0
0
0
10
0
0
-15
0
0
8
-5
0
-22
-2
0
0
0
-6
0
0
1
0
-1
0
-41
0
-7
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
1
-24
-38
-18
17
0
-40
9
8
12
-13
22
0
12
32
-17
-12
-8
13
0
6
-4
18
-2
-1
0
0
24
-11
0
-6
-13
-25
0
33
10
0
7
4
1
0
-10
8
0
1
-17
-20
0
-1
-2
22
-1
5
-1
0
0
-10
-11
-67
-1
11
0
2
-4
25
-1
-21
-6
2
-36
8
4
-10
2
-24
0
1
14
-17
-4
3
0
0
5
-29
13
-5
9
-14
0
13
12
3
-10
-6
-32
0
47
7
-1
-36
27
31
0
20
6
2
16
-4
-42
0
-1
-11
0
9
29
21
0
0
-4
-9
-9
0
2
0
0
-24
5
3
-36
9
0
-24
16
-40
-82
53
17
1
65
2
-2
-1
-10
11
0
-10
18
13
0
-6
7
0
-6
4
-3
7
-4
-50
0
27
17
-13
13
45
26
0
-4
-15
1
0
15
-20
0
-3
-17
0
-58
-3
0
0
-7
2
27
15
-12
-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
-22
0
0
0
0
0
0
-69
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
0
-4
0
0
10
-3
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
2
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
-47
0
0
3
0
0
0
-11
0
0
-3
0
0
0
-32
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
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-23
-31
13
-8
-16
0
-66
-17
-4
54
-40
0
-1
-21
-7
-16
7
-27
-17
-12
-15
3
-6
-16
-26
6
-10
-29
-20
0
0
-9
-10
-3
31
-4
0
-2
16
1
-21
-9
-16
0
-12
28
-3
5
0
-17
-1
0
-1
0
15
0
17
0
-85
0
-4
8
-6
-1
-60
-15
-13
0
1
-17
-6
-32
6
-18
-30
-1
0
14
-26
38
-33
0
-19
9
3
-7
18
-2
-44
-5
5
10
-6
59
40
0
-9
-34
6
-1
4
5
33
-24
-1
8
0
3
22
-1
-22
3
3
-3
-2
-2
-27
52
0
8
0
0
0
0
-1
6
-4
5
-1
12
-8
4
-3
-5
0
11
26
12
1
-4
25
-3
-3
10
10
7
5
20
7
-40
12
7
-22
-6
-17
-2
25
-19
-21
1
31
-23
0
-23
59
-8
-3
2
-5
0
0
32
33
3
0
-17
0
0
-27
0
-10
0
11
0
-5
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-39
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-4
67
0
0
0
0
0
-4
2
0
-2
-9
0
0
1
8
0
0
-8
0
0
0
12
0
0
0
0
0
0
16
0
0
3
0
0
0
22
0
-1
0
6
0
0
3
0
0
0
0
0
0
-21
0
0
0
0
0
0
41
1
0
0
0
0
0
-50
0
0
-1
0
0
0
-11
0
0
-2
0
0
0
-27
0
0
8
0
0
0
-10
0
0
0
0
0
0
-4
0
0
-10
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
21
0
0
0
0
0
0
-3
9
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
4
0
0
0
4
0
0
0
0
0
0
-3
0
0
-10
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-33
41
-3
0
0
-1
7
0
-10
0
0
38
-24
0
18
7
-60
0
20
-40
2
0
-34
0
0
20
-8
-1
0
-42
39
0
21
0
1
0
6
0
0
0
-13
0
-23
-47
37
0
0
-49
-2
8
0
0
0
0
1
22
-38
0
0
0
-2
7
-3
0
-11
-4
0
39
-17
-3
0
26
1
0
-5
-2
0
-1
-20
0
0
2
-22
0
-4
-1
-17
0
-37
8
0
1
-19
0
0
7
-19
0
-2
-66
-12
0
0
-7
0
0
18
0
0
0
-7
0
-15
24
7
0
0
-9
-1
0
0
0
0
0
-63
-2
1
5
-1
0
-12
-9
10
33
-18
0
0
-1
43
0
0
44
8
0
44
-5
-1
-13
-26
0
10
-7
49
1
-20
-39
1
0
-4
21
-1
-41
-9
0
0
-7
-2
0
6
-26
-2
0
0
8
0
61
-13
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
29
-45
0
-15
-10
1
0
32
43
0
0
-4
0
0
0
-8
0
0
14
-13
6
0
-4
0
0
-2
0
0
-2
42
0
-19
0
0
-4
0
-28
0
0
0
0
0
0
-6
0
0
0
0
0
0
-95
-36
0
0
0
0
-3
34
4
-1
15
-3
0
0
-22
1
1
-25
0
2
9
-27
0
0
0
0
0
11
52
0
-1
11
0
0
0
-6
0
0
18
-7
0
0
13
0
0
0
0
0
0
12
0
0
0
0
-2
0
15
0
0
0
0
0
0
-70
7
-1
1
0
0
0
12
9
12
2
0
0
0
-16
-8
0
0
0
0
0
54
0
9
-4
0
0
0
41
0
-2
0
0
0
0
68
0
1
0
0
0
0
-57
0
15
0
-1
0
0
-102
0
4
0
0
-4
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
26
36
-1
81
4
-86
22
-7
18
9
20
1
-10
0
0
-27
-38
17
68
-29
3
-7
24
-30
-33
-7
-15
-10
12
10
28
-39
-23
0
-2
2
36
3
-20
-13
14
-11
-2
11
25
-17
1
-3
-26
1
16
-11
-9
-49
13
-45
0
-44
-85
14
-24
24
-54
-37
53
20
-24
-3
-43
-2
5
-46
-11
47
-38
-53
-27
3
4
-48
18
2
-64
19
-23
14
4
-26
-7
-16
-40
-8
4
-13
-39
16
21
45
-8
-8
-33
4
44
18
56
-4
32
33
-6
11
-21
-8
5
-5
-14
-51
-16
-34
-67
0
-80
-18
4
-39
1
-81
-40
-7
4
-14
-8
32
-60
9
-29
-26
-8
-76
-8
-8
-6
5
-36
-35
-39
24
15
-21
33
-17
33
3
-26
-67
-4
37
-32
-24
6
17
25
4
-7
-15
21
13
0
-26
-10
0
17
-82
65
22
-28
-28
-12
27
-41
-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
-15
32
-9
2
12
1
-1
45
-9
-6
-44
13
16
-1
7
33
-6
5
-2
0
4
7
-6
-4
11
-12
18
0
31
-24
0
0
18
0
27
2
2
0
24
-24
84
0
0
-22
0
0
0
4
-31
0
-6
-4
19
0
-3
0
0
34
-4
-2
-34
0
0
-47
-16
33
10
-12
10
15
-18
24
13
2
14
-1
3
13
11
-9
-22
63
9
3
0
-16
-3
0
-5
16
4
-12
-23
0
-39
21
12
-1
-7
-5
0
-4
-16
2
0
0
-18
0
1
-35
39
-18
0
4
-2
4
0
2
1
-2
15
26
0
-5
10
3
-10
-55
14
-36
-9
2
1
-24
3
1
17
-4
-20
1
41
1
1
-18
19
-3
-9
15
16
2
49
9
-47
4
18
-22
0
93
-34
2
0
0
-24
2
0
11
59
-6
0
-20
0
30
-8
8
3
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-23
11
-13
0
0
-22
38
19
-42
-2
-41
2
-11
-24
-6
0
-26
2
0
37
5
-4
22
12
11
-1
12
-20
-3
0
-48
0
22
-25
-26
-2
-7
1
-31
-11
0
16
-1
0
-1
0
-7
0
2
-6
-31
0
6
0
-16
-8
-50
8
13
0
0
-41
-1
-1
20
-86
33
-2
10
8
27
2
9
-1
58
-11
4
-3
-9
18
18
-1
28
-10
-11
-1
-34
-3
20
-7
-14
0
-14
-19
2
13
25
-30
-1
0
20
6
-68
6
42
-2
3
9
14
27
0
-40
-2
-2
0
0
1
-4
10
18
49
-1
-2
2
42
-25
1
47
-3
0
0
-20
-35
11
-7
-42
-8
-4
-38
18
-3
-37
-16
0
-15
1
-3
3
-60
30
-38
-1
34
-19
-9
-50
13
-6
13
18
-5
2
-25
-6
-24
-3
0
32
-15
-5
-2
0
-1
0
-37
-68
-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
-53
36
6
-27
-9
0
0
-8
13
-37
-2
63
-42
0
-41
-12
26
1
17
-6
-15
-19
-9
0
35
-8
-66
8
-24
-15
0
0
38
0
-5
6
59
-37
23
19
34
-6
0
30
4
0
0
3
-34
0
2
37
-64
0
60
0
-1
-29
27
-9
-16
1
0
32
13
62
22
24
28
0
13
8
14
47
7
0
-6
-1
-6
1
36
-32
-48
21
-12
-5
0
-6
-6
-12
-9
-28
8
0
0
-13
6
-9
0
3
0
21
-45
-6
46
-6
12
-3
0
-9
27
9
0
-13
4
0
0
-1
4
7
-29
-57
12
-6
-4
0
3
-2
-4
-3
10
-2
0
11
6
13
-9
14
-3
0
30
-15
2
3
23
-3
17
19
-21
-1
9
27
13
0
-26
-5
0
12
-29
-1
-3
-2
-13
3
-3
-1
-51
0
0
-3
0
-31
2
0
-15
-7
12
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
27
39
0
1
42
0
0
-17
27
0
-8
-35
0
0
-88
-38
0
-2
26
0
0
44
4
-1
0
2
0
0
60
-24
0
0
-6
0
-8
0
-34
0
28
0
0
0
0
-1
0
0
-3
0
-1
0
-10
3
-15
0
0
0
0
-75
33
1
13
0
0
2
-50
0
0
-7
0
7
-9
-37
0
12
47
0
0
5
-40
0
0
35
0
-1
0
-5
-6
0
-10
0
0
-13
-58
0
0
6
0
7
0
-21
0
0
10
0
6
0
-39
0
8
-10
0
1
0
-2
0
0
0
0
0
0
12
1
0
0
0
0
0
27
0
15
4
0
0
0
-50
0
-1
2
0
0
0
-29
-1
4
2
1
0
-2
21
0
2
-1
2
0
7
-28
0
-10
0
0
0
0
2
0
0
-3
0
2
0
-34
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
0
6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-13
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
24
-1
-8
20
51
-3
3
1
-2
-13
-70
0
-45
-78
22
0
21
26
18
30
-32
-16
0
3
9
0
9
14
-38
0
-19
-11
1
26
-4
21
-1
15
6
0
0
0
8
34
11
0
20
-32
0
-10
-40
6
-11
0
0
-31
19
-10
-1
35
16
-7
14
39
-16
21
-5
-4
-9
-9
7
0
80
-3
-17
0
-38
1
-7
-8
36
16
5
26
-12
-4
-19
-16
-28
-1
-6
3
-5
15
-39
4
-4
0
36
0
13
-5
2
-17
0
-12
14
22
0
0
-1
0
-2
-19
-4
44
-3
0
6
-35
21
37
-21
10
-2
0
-4
3
91
10
-24
3
-13
-11
0
7
88
2
-6
76
22
1
16
-61
7
-16
-23
-15
0
-5
-39
30
29
-4
-20
-2
-11
-3
-46
24
-5
4
0
-27
-14
0
41
0
-42
-2
19
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-65
-15
-5
0
4
2
-6
-34
2
-37
-10
14
20
-27
2
-34
-16
-34
-31
3
7
-37
-46
-1
-38
22
-43
-19
-2
-21
-54
-10
22
-35
6
-10
-15
-92
-8
-10
-14
-2
13
-2
-26
29
-14
14
1
2
-47
-23
-53
-30
-20
0
-35
-25
6
-13
-30
-34
-7
11
-66
-41
32
52
0
-25
-23
-20
-31
17
-79
16
-18
12
-5
0
-29
-19
-27
1
-20
-46
30
7
5
-20
-2
2
-21
-15
27
-40
2
11
-24
0
1
-3
-11
-17
13
-25
-37
-12
-7
-81
-4
19
14
11
-4
-70
7
42
0
27
-9
-42
-40
-16
-7
-27
6
-1
-5
-4
79
-24
-15
-21
12
-7
-14
-91
-31
-25
-82
34
13
18
-72
-25
-12
54
-22
-9
11
-3
11
-22
-18
-29
2
32
-31
-28
4
-23
-17
16
-57
-41
-20
21
-10
-13
-46
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
0
85
49
1
0
-4
24
0
4
12
0
0
15
-37
0
0
3
0
0
0
-5
0
0
-1
0
0
-4
21
0
43
-1
-2
0
0
3
0
0
0
0
0
0
-63
-2
21
0
0
0
-7
-5
11
10
-2
0
0
-2
-1
-2
0
-4
0
0
5
-2
0
-4
-1
0
0
-1
-11
0
-6
-4
0
0
0
-16
0
0
0
0
0
0
-26
0
0
0
-7
0
0
45
0
0
0
0
0
0
-28
0
0
-1
0
2
0
7
0
0
0
0
0
0
-11
0
-1
0
0
0
-1
-27
0
-3
-10
0
0
0
69
0
-1
1
-1
0
0
5
0
0
0
0
0
0
-20
0
3
1
0
0
0
-52
0
-1
0
0
0
0
-13
0
0
0
0
0
0
5
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-15
0
7
28
12
0
-42
57
0
0
5
0
0
-8
11
0
0
-6
-8
2
-1
-19
0
0
1
0
0
0
-37
0
22
0
2
0
0
-32
0
0
0
0
0
0
-21
0
0
0
0
0
0
7
-12
0
10
0
0
0
37
0
0
2
0
0
7
21
0
0
-7
0
0
-8
-7
0
0
1
1
11
-9
-20
0
0
0
9
-2
0
-2
0
0
0
0
0
0
-39
0
0
8
0
0
0
-29
0
0
0
7
0
0
-39
0
0
0
0
0
0
15
-1
4
0
0
0
0
61
0
-18
0
0
0
0
45
0
0
0
0
0
0
17
0
-15
0
0
3
0
37
0
0
0
0
0
0
-19
0
-4
0
0
0
0
-3
0
0
0
0
0
0
-30
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-8
10
-11
20
-24
51
4
12
13
-60
-8
-9
-4
-8
4
7
25
4
-35
-16
11
3
1
-1
2
-14
14
24
2
1
-7
-3
4
23
0
44
-1
-1
-46
-2
15
0
19
7
-22
0
-14
0
0
19
51
5
-7
0
0
3
-7
28
-27
34
18
2
8
8
5
24
33
7
10
-8
20
19
19
37
3
-8
19
-4
18
1
5
8
20
-13
-13
-1
1
-1
-19
25
39
4
0
0
-18
-16
-8
-9
13
-2
10
-65
12
-29
0
26
41
-1
0
-7
33
11
21
-15
-3
-4
0
-1
-15
7
-18
-46
-41
-1
-9
100
9
75
11
8
-43
3
32
-3
46
-13
20
44
3
45
6
2
15
46
-5
-5
-17
-17
1
-10
18
6
7
-19
-23
3
-25
-9
0
18
2
2
4
24
-2
0
47
0
18
4
-7
1
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
-13
65
0
0
-5
28
0
0
0
0
0
-3
-8
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
0
11
-9
0
0
0
-14
0
0
0
0
0
0
42
0
0
0
0
0
0
-36
0
0
0
0
0
0
60
0
0
-4
0
0
0
21
0
0
0
0
0
0
27
0
0
0
0
0
-2
19
0
0
0
0
0
0
-32
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
0
0
0
36
0
0
0
0
0
0
28
0
0
0
0
0
0
-20
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
2
0
0
0
0
-2
0
0
0
0
0
0
-30
0
0
-1
0
0
0
-27
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
25
0
22
4
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
38
0
0
-7
0
0
0
-8
0
-9
0
0
0
0
55
0
0
0
0
0
0
-42
0
0
0
0
0
0
-2
2
0
0
0
0
0
-32
0
0
9
0
0
0
-24
0
0
0
0
0
1
25
0
0
0
0
0
0
-3
0
0
0
0
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
0
0
-31
0
0
0
0
0
0
14
0
0
0
0
0
0
84
0
0
0
0
0
0
36
0
0
0
0
0
0
-18
0
0
0
0
0
0
-12
0
-1
0
0
0
0
-5
0
0
0
0
0
0
-14
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
81
18
3
23
4
-14
6
0
0
-50
3
30
5
3
0
-8
-15
2
-2
-13
11
0
-12
-30
-9
41
0
-10
0
-20
-6
0
68
0
2
-27
-31
0
37
7
11
16
-8
11
5
1
0
-16
-9
0
-4
-36
-31
0
-19
5
2
30
-18
1
-1
-58
2
19
9
-14
32
0
40
-7
28
51
10
-3
13
-19
-24
-6
36
-23
10
-6
-8
12
0
5
-46
-7
88
0
19
15
30
45
-43
-16
0
7
0
17
2
0
0
0
6
-1
45
6
-1
0
-6
12
4
8
35
11
0
8
-18
-6
-16
-60
3
0
34
-19
2
-23
9
-20
23
-10
8
2
13
-44
-27
-1
4
23
-4
6
-33
6
-10
-2
35
8
-6
-9
42
-11
0
4
44
-35
30
6
27
0
-22
-39
13
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
2
-39
5
42
-23
6
1
-16
2
-64
-13
-5
-7
-4
-2
-39
-3
4
-46
6
0
-13
4
25
11
-21
-32
3
0
47
2
-24
0
-30
-55
25
0
-44
-11
17
7
-5
1
9
-7
7
-36
27
3
32
3
-20
77
-54
0
-60
-50
-29
7
-9
-14
-3
-12
21
-33
-19
-27
4
13
0
11
9
49
20
-9
-27
-9
-52
-37
31
27
0
-33
-4
32
-29
-7
1
1
-10
2
6
-14
-45
39
0
-1
35
0
9
21
-5
-5
5
-11
38
-11
-6
0
-53
5
-41
25
10
21
9
-3
0
18
-18
-10
40
1
63
-31
6
-45
32
-30
6
-27
56
13
-84
-63
-27
23
-9
2
3
16
19
9
49
-8
-23
0
7
-14
-35
0
-11
-12
3
-7
0
-1
17
1
-41
-22
-38
-20
14
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
71
0
0
-6
0
0
-8
29
0
0
0
0
0
-1
-22
0
0
-6
0
0
0
-8
0
-21
0
2
0
0
-29
0
0
0
0
0
0
-18
-3
0
0
0
0
0
44
0
0
-2
0
0
0
27
0
1
2
0
0
1
21
0
0
6
0
0
0
-21
0
0
-1
0
0
0
29
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
0
0
0
0
-27
0
0
0
0
0
0
-36
0
0
0
0
0
0
-30
8
-2
15
0
0
0
-5
0
0
0
0
0
1
-12
0
10
0
0
0
0
-6
0
0
0
0
0
0
-3
0
1
0
0
0
0
17
0
-1
3
0
0
0
11
0
0
0
0
0
0
18
0
-7
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
13
-30
-23
-38
-13
6
7
0
24
-11
26
9
-9
16
7
0
1
32
7
-33
-18
-34
0
-4
-30
-1
-12
21
10
8
6
-3
-1
28
-2
8
26
-85
0
-22
1
14
17
44
0
40
-2
-1
-60
-21
-51
-6
-3
15
-61
-28
-13
6
-37
14
-3
-14
38
4
-17
56
-14
-6
-68
-50
3
12
-25
-16
-10
27
23
-7
1
-59
-11
-17
14
-40
-14
0
-14
-38
-1
-11
-4
0
-2
12
9
-22
-42
0
17
15
-8
-13
0
22
3
24
14
-16
59
-2
0
-16
-19
-38
3
0
1
57
-47
-14
53
-1
26
-23
29
16
0
8
12
65
-9
-7
31
0
20
16
-47
0
10
18
2
2
13
-99
7
-15
-20
-29
0
-24
8
-20
3
-12
-18
-2
1
20
0
19
0
-5
-6
-2
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
6
38
-4
-25
-9
-4
22
9
-50
-25
-11
-3
-6
37
8
69
20
0
7
-12
1
3
-25
33
-8
10
-27
0
12
0
42
-1
-3
-3
6
-3
-44
-18
-37
16
-17
4
-10
-1
0
-39
9
28
-38
41
-12
6
26
-1
42
36
-54
10
-2
40
-3
-3
20
23
55
29
-16
4
34
-4
-12
44
4
12
-7
2
32
-17
-29
48
-2
1
16
1
-31
-3
-26
6
23
16
-19
-30
-2
-16
0
1
16
-5
17
0
29
-13
9
-3
23
-6
-1
0
12
2
-9
-45
-14
1
-7
59
-2
16
-6
39
5
-15
-35
-28
0
-13
31
-37
-36
2
0
-18
-19
16
8
-68
8
-2
8
-6
85
-45
-83
21
-10
-22
6
48
1
7
-13
6
-1
-21
23
0
14
0
8
17
-30
16
-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
-8
-1
2
0
-14
0
0
-41
-21
0
0
-50
0
-1
-41
-2
0
9
45
0
-4
4
-32
0
-16
1
0
-8
0
0
0
-7
0
0
-40
0
-5
6
3
0
0
0
1
3
-23
-1
-22
0
0
54
-8
-3
-1
-2
0
0
-5
-13
0
0
-16
0
0
-16
-15
0
9
-25
0
-1
-13
-4
0
2
10
0
-1
-5
-10
-1
0
10
4
23
35
-34
0
0
-9
0
52
0
-13
0
-6
20
0
13
0
6
-1
0
0
0
-7
0
31
0
4
0
0
0
14
6
0
26
13
0
0
-13
-30
0
-8
-22
0
0
52
-3
2
-2
13
0
0
19
-37
0
10
14
-2
4
-6
-9
0
-5
3
0
1
0
2
0
0
22
0
5
0
-7
0
35
-16
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
-46
-1
0
0
1
0
0
-2
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
-18
0
0
0
0
2
0
0
0
0
0
0
-48
0
0
0
0
0
0
17
0
0
-6
0
0
0
38
-4
-3
-6
7
0
2
-100
0
0
2
0
0
0
41
0
0
3
0
0
7
-39
0
0
0
0
0
0
-1
0
0
0
2
0
0
-6
0
0
0
0
0
0
12
0
0
0
0
0
0
-21
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
-1
2
0
0
0
16
0
0
1
0
0
0
-42
0
0
0
0
0
-10
35
0
0
0
0
0
0
35
0
1
10
0
0
0
4
0
0
2
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
5
30
23
2
-2
4
-9
-2
3
-1
3
-27
-71
-23
15
1
1
3
-30
-9
12
-1
-26
1
-16
-2
0
2
0
15
-2
14
0
-22
5
-16
24
-32
-5
19
-1
0
-13
11
-18
-35
-18
13
-4
-53
-5
-26
-7
13
0
-47
-45
0
27
-41
-1
-6
0
-19
14
-6
18
-2
9
13
12
28
-2
-21
-10
-14
27
3
2
-8
11
31
-4
-38
0
6
9
26
36
10
17
0
2
8
23
-1
10
-49
3
22
-5
40
-14
-27
-1
78
2
22
5
-8
24
2
0
32
1
-40
6
7
-32
5
4
56
-25
-44
-2
-4
16
-6
5
1
18
-25
12
39
11
29
-19
-4
1
-10
30
24
14
28
19
-21
55
-7
-1
-7
-5
-21
0
-35
0
-16
36
-34
29
-61
-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
-23
12
-30
-12
0
13
37
39
-8
-3
-10
-14
-20
-121
-38
-7
0
16
41
-31
-54
-36
-17
27
-6
14
1
-22
2
-2
-42
-66
-5
42
0
23
4
-55
52
15
48
-18
1
-1
-16
-48
-9
-39
12
51
9
-2
-13
21
1
-18
60
0
-12
16
3
-11
-49
-25
3
-8
-40
11
-41
-3
-59
7
1
21
-10
-25
-1
-1
-5
-5
-36
40
-15
-41
26
10
-9
-2
-55
-1
2
0
4
-39
-10
12
3
-81
35
42
-36
-35
-11
22
-22
55
3
23
7
-48
-20
-7
30
7
15
9
6
-30
50
8
0
3
-1
17
35
-14
-6
21
-26
-22
26
-19
10
1
-12
-11
-34
-18
-24
-62
10
21
5
-7
45
-34
-54
5
8
7
-32
-91
36
86
0
10
-26
-17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-10
0
1
0
0
0
0
2
0
0
0
0
0
0
19
-6
0
0
0
0
0
75
2
0
-4
0
0
0
-88
0
1
7
0
0
-1
-21
0
0
0
0
0
-2
-49
0
0
22
0
0
0
51
0
0
1
0
0
0
-20
0
0
-4
0
0
0
18
0
0
0
0
0
0
22
0
0
0
0
0
0
9
0
0
0
0
0
0
-43
0
-1
0
0
0
0
63
0
-6
-1
0
0
0
9
0
0
0
0
0
0
4
0
1
0
0
0
0
14
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
1
0
0
0
0
-6
0
-6
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
-22
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
-75
-15
0
0
0
0
0
83
0
0
0
0
0
0
-30
0
1
5
0
0
-6
-22
0
0
-30
0
0
0
65
0
0
0
0
0
0
22
0
0
-3
0
0
0
-21
0
0
0
1
0
0
-47
0
0
0
0
0
0
86
0
0
0
0
-2
0
7
0
0
0
0
0
0
-52
0
0
6
0
0
0
-23
0
-1
0
0
0
0
1
0
0
0
-1
0
-4
7
0
-1
0
0
0
3
-4
0
0
0
0
0
0
-16
0
0
0
0
0
0
45
0
0
0
0
0
0
-82
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
-41
17
1
-3
15
-5
18
75
8
0
0
-22
1
20
38
16
0
3
-8
39
-25
4
-25
0
0
-14
0
36
0
24
-23
-12
0
-11
-17
-16
24
-2
-4
20
0
0
-5
13
19
-19
14
22
-36
-23
-10
-1
-22
-19
0
-3
33
9
-3
22
-13
37
0
-5
6
2
-26
54
0
-7
-7
10
0
48
-38
27
22
-36
-11
0
-24
-3
4
1
1
25
12
0
-1
-28
-20
0
8
16
0
0
0
1
0
-24
42
7
9
4
-1
59
6
-5
15
8
-4
0
-13
6
-15
-41
-42
12
0
-3
-30
0
-37
-45
-2
0
-9
-17
11
-8
-21
4
0
77
0
0
8
41
1
-2
0
-23
-2
3
6
46
2
0
14
-5
3
-2
2
-23
0
4
-29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
24
0
0
-16
0
0
-3
53
0
0
0
0
0
0
67
0
-2
0
0
0
0
-13
0
0
0
0
0
0
-64
0
0
0
0
0
0
-61
0
0
0
0
0
-1
32
0
0
1
0
0
-6
17
0
0
1
0
0
0
8
0
0
-1
0
0
0
-23
0
0
0
0
0
-7
23
0
0
0
0
0
0
-5
0
-1
0
0
6
0
-6
0
0
0
0
-4
0
38
0
0
0
0
0
0
-36
0
0
0
0
0
0
-4
0
0
11
0
0
0
-73
0
0
0
0
0
0
14
0
0
0
0
0
0
24
0
-6
0
0
0
0
-5
0
-9
8
0
0
-2
-2
0
0
18
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
16
0
0
-1
0
0
0
-18
0
10
2
-3
0
0
-33
0
0
0
0
0
0
2
0
0
0
0
0
0
-25
2
0
15
0
0
4
-23
0
0
7
0
0
-16
-29
0
0
-40
0
0
34
-17
0
0
-6
0
0
0
24
0
0
-22
0
0
0
0
0
0
-17
0
0
0
3
0
0
-3
0
0
0
46
0
0
0
1
0
0
-54
0
0
0
0
0
0
1
2
0
1
0
0
0
2
0
-28
2
0
0
2
11
0
0
0
0
0
0
22
0
-3
-1
0
0
2
-9
0
0
-1
0
0
0
-13
0
2
0
0
0
0
-18
0
0
0
0
0
0
-19
0
0
4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
27
0
0
2
0
-25
0
-34
0
2
74
-5
1
0
25
0
0
0
0
33
0
42
19
0
0
0
-1
0
-20
0
0
34
0
0
-44
27
-5
26
-30
-15
-1
-22
-18
28
2
-40
0
-4
4
-16
-7
3
24
75
0
5
-5
2
-2
-6
0
0
9
27
0
61
18
-41
0
0
8
0
2
-5
0
11
0
34
0
0
-9
-21
41
0
4
-1
0
-1
-8
-1
0
-5
7
0
-28
0
0
0
20
2
-30
-20
0
0
0
2
0
-33
-64
6
8
0
9
2
-29
0
0
-8
0
-20
0
34
-45
-37
2
0
9
0
3
-8
0
0
4
-31
0
-4
21
4
0
0
23
0
23
0
0
-14
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
-6
-5
1
-6
-4
8
-11
26
-13
-2
-28
-3
-11
-16
6
0
0
-1
25
0
-54
0
-11
-25
4
1
-41
-4
5
6
11
12
-22
2
13
-26
-36
-50
-47
-41
-41
63
-16
-8
-53
0
-29
39
-11
-6
8
1
38
38
-25
-60
-22
0
-34
74
15
-13
57
-25
10
-4
-9
-18
-26
-1
-47
5
0
5
-5
-10
-18
-11
27
-3
27
-13
-36
2
0
10
15
-2
7
-6
38
-16
-14
-45
28
41
-8
6
-17
15
31
-14
-1
-14
-21
34
-19
10
11
6
-17
0
62
11
-2
27
26
16
-23
27
0
13
-70
-74
23
-1
7
-17
-5
-23
-25
6
8
35
12
-7
64
4
-41
-12
10
2
11
0
-21
-1
-33
0
-13
-11
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
0
7
0
0
0
0
-11
0
0
0
0
0
0
-44
0
0
0
0
0
0
2
0
0
3
0
0
0
11
0
0
-4
0
0
0
51
0
0
18
0
0
0
-22
0
0
11
0
0
0
4
0
0
0
0
0
0
-15
0
0
0
0
0
0
25
0
0
0
0
0
0
-2
0
0
0
0
0
0
27
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
0
-1
0
0
0
0
20
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
1
0
0
0
28
0
-1
0
-2
-2
0
-7
0
0
0
0
0
0
4
-1
0
0
0
0
0
14
6
0
-4
0
0
-1
28
-1
0
41
-3
0
0
-59
0
0
0
0
0
1
-1
0
-1
0
0
0
0
-95
0
0
0
0
0
0
1
0
0
0
-2
0
0
-54
0
0
-2
0
0
0
79
0
0
0
0
0
0
-13
0
0
0
0
28
0
47
-4
0
0
0
0
0
-24
0
0
0
0
0
0
4
0
0
0
0
0
-4
-32
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
18
11
0
-2
-3
2
-6
3
8
0
1
-4
-7
-4
-1
4
-3
0
0
0
56
0
2
-7
-6
0
-9
0
-19
-4
-8
11
10
0
0
-46
-2
-17
-24
32
-40
-1
-36
-10
-4
14
-3
16
-4
-34
-4
0
8
7
-19
3
-2
-3
1
-6
17
6
0
3
20
0
7
-22
-12
10
-7
4
0
2
0
1
-54
0
28
0
-2
0
12
-6
0
-8
0
0
0
-3
2
0
-10
-25
0
19
4
0
5
15
-3
26
7
0
7
0
-10
0
-19
-43
-18
-3
24
-27
0
29
18
0
8
-6
11
0
-43
-18
-49
0
-1
3
-2
3
-15
4
-12
0
23
0
-1
2
-16
26
0
15
-1
39
-4
-3
23
0
1
43
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
27
0
7
-22
0
0
0
-22
0
7
-31
0
2
0
-26
0
0
0
0
-1
0
-47
-42
0
0
0
0
6
1
0
0
-7
0
0
-2
-9
0
0
3
0
6
-3
19
0
1
-28
0
0
-25
-39
0
0
44
9
0
-26
19
0
0
27
0
6
7
-1
0
0
2
4
22
0
-17
0
0
3
0
-10
0
-28
0
0
31
0
39
0
-18
0
0
0
0
0
0
33
1
0
-6
0
0
-4
-12
0
4
41
0
0
1
2
0
7
-18
0
0
0
0
0
1
-2
0
0
0
6
0
5
-12
0
0
3
25
0
19
25
-1
0
0
29
0
0
-5
0
0
0
-4
0
70
0
0
6
0
-25
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
2
0
0
-12
0
0
0
0
0
0
-8
0
0
0
0
0
0
-15
-7
0
0
0
0
2
28
0
0
12
2
0
0
-4
0
0
-5
0
0
6
-58
0
0
-10
0
0
0
-3
0
0
0
0
0
11
-12
0
3
0
0
0
0
-22
0
0
-3
0
0
0
32
0
0
0
8
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-34
0
0
0
0
0
0
5
0
0
-3
0
0
1
-25
0
-8
9
0
0
0
-9
0
0
1
0
0
0
-19
0
8
0
0
0
0
-4
0
0
0
7
0
0
-27
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
1
-4
-1
0
-22
0
0
0
0
1
0
-32
16
-1
0
5
0
0
-27
-10
0
18
0
0
-4
-3
-6
0
19
-40
-6
2
1
0
0
-14
0
0
1
-15
0
-8
8
3
-11
0
-14
0
2
-109
0
0
0
44
0
0
-5
-13
2
0
-14
0
0
40
-8
3
0
58
-2
0
0
-17
-59
0
-18
0
0
0
0
0
0
-40
3
0
0
0
0
7
-36
0
8
-43
0
0
0
-5
11
18
17
-6
0
0
40
0
-29
8
0
0
0
-38
0
0
-19
48
0
0
14
0
-47
-25
-3
0
0
-24
0
3
17
-2
0
0
-4
0
0
0
0
0
0
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
3
-40
13
-39
-59
-30
17
-10
-45
-1
32
2
-10
0
-42
-3
-19
-40
36
12
-7
-19
10
-3
1
-11
-4
-17
13
6
-10
15
-22
-2
31
-1
17
-28
-34
5
12
-20
0
-21
9
30
-34
8
-17
-8
6
-80
36
-54
0
-48
-44
8
-9
-59
22
-2
-20
-29
38
-15
12
41
2
56
13
-9
-23
16
-1
3
9
5
14
-8
-22
-50
-3
-24
-41
-43
3
4
-28
14
-4
15
35
-1
47
-40
-14
-9
-57
-10
1
-27
-29
2
-20
29
4
62
-71
8
11
8
4
26
-4
-12
-23
0
37
14
-31
14
-4
-2
0
6
-18
-19
26
8
-8
-10
21
-27
-6
-3
23
-9
10
-43
-22
-5
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-28
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-14
0
0
-1
0
0
0
-6
0
-1
1
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
16
0
0
0
0
0
0
-31
0
0
0
0
0
0
-100
0
0
0
0
0
0
-3
0
0
6
0
0
-1
11
0
0
-1
0
0
0
11
0
0
-6
7
0
0
-4
0
0
0
0
0
0
-33
0
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
-26
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
0
-3
0
0
0
-7
0
0
4
0
0
0
-2
0
0
0
0
0
1
-6
0
0
0
0
0
0
-3
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
30
0
6
0
-7
0
5
-11
0
-2
-64
2
0
-2
0
0
-33
15
0
-1
0
0
2
13
1
-3
48
-3
0
18
-18
3
-6
-44
0
11
-10
3
12
6
-21
10
0
73
-4
0
-6
45
-6
0
-10
6
0
0
8
27
9
-19
-19
0
0
6
7
17
0
15
0
0
0
22
-7
0
-34
-1
0
0
0
0
0
-11
8
9
0
0
0
-11
-1
0
-9
-6
1
0
-10
-27
0
-11
-1
-7
0
-1
-32
0
-25
-4
0
11
2
-26
0
14
1
-67
2
11
20
0
36
-12
0
-4
0
12
0
-7
0
-2
1
0
8
0
-53
1
0
-1
0
-1
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
-19
0
0
2
-20
0
0
0
0
0
0
-8
0
0
3
0
0
7
-13
0
0
0
0
0
0
22
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-24
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
21
0
-6
-1
-1
0
0
-81
0
3
-3
0
0
0
-21
-2
0
0
0
0
0
26
1
0
2
0
0
2
-22
0
2
7
0
0
7
17
0
0
0
0
0
-4
0
0
0
-21
0
0
7
10
0
0
-11
3
0
4
-27
0
0
5
19
0
0
8
0
0
2
0
0
0
-4
0
0
-6
-3
0
0
-21
0
0
0
0
0
0
21
0
0
-11
0
0
0
-4
0
0
-2
0
0
0
55
0
0
9
0
0
3
15
0
-2
0
0
0
0
-25
0
4
-3
0
0
-1
19
0
-35
25
0
0
0
10
0
0
-27
0
0
0
-18
0
-1
0
0
0
0
49
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
-7
0
0
0
20
0
0
0
0
0
-1
30
1
0
0
0
0
-4
-13
0
-1
9
-6
0
0
-29
-4
0
-15
0
0
-1
31
0
3
0
-3
0
0
-58
0
1
36
0
-2
0
-8
0
0
1
0
0
0
-30
0
0
0
0
0
0
-16
0
0
1
0
0
0
-48
0
0
0
0
0
0
-65
2
0
0
0
0
0
-14
0
16
0
0
0
0
41
0
0
1
0
0
0
9
0
-4
0
0
0
0
-15
0
-1
3
0
0
0
10
0
0
2
0
0
0
-64
0
0
0
7
0
0
-13
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-1
-4
-8
-49
0
-8
-7
-4
-1
16
0
5
15
7
0
-29
4
2
23
-13
13
43
-18
33
44
9
-8
-9
6
11
0
0
34
20
-19
6
-6
-13
-66
4
-15
-8
-35
-15
-13
44
-7
8
-1
72
38
26
-30
-7
0
1
46
-36
0
48
-1
13
-3
1
0
-22
24
0
-2
-6
0
7
4
10
-7
4
35
15
-12
6
0
-50
-6
-10
-1
-95
6
-2
4
15
19
-7
-26
13
0
-31
3
-14
-18
18
-3
5
-43
0
-18
-1
-6
13
2
-10
3
3
36
4
21
-14
-3
0
0
-3
-41
-12
-1
0
12
-1
17
-4
-4
21
0
-26
-22
31
1
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-58
0
0
0
0
0
0
-7
0
0
-2
0
0
-2
25
0
0
0
0
0
0
-18
0
0
0
0
0
0
-35
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
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
10
-6
-36
3
2
-63
0
0
-17
0
-1
-24
-3
0
-8
-8
1
26
-9
-47
-25
-2
9
-63
4
6
13
68
31
-12
-12
14
-5
22
-20
-9
-20
-77
-24
-10
3
-9
0
26
-1
-15
-16
-1
-3
12
48
-32
16
-5
2
17
12
11
29
-15
-5
-6
-2
21
-38
6
0
20
30
3
0
-3
-1
3
-11
6
4
5
-27
0
-38
-8
32
-3
33
20
-3
-8
-15
39
-17
60
-4
-8
-38
11
0
-35
-39
11
-8
12
-28
2
2
24
-27
13
-18
6
-1
9
15
-6
11
-10
-11
3
19
15
23
28
-12
23
40
22
-62
15
-20
0
-5
-16
-33
-13
8
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
4
63
-9
0
0
0
0
-64
-21
0
0
0
0
4
5
-1
0
-35
-2
0
-7
25
0
0
-31
0
0
12
62
0
11
-15
-2
0
-6
-28
0
-2
-3
-1
0
6
-38
0
0
8
-22
-3
1
4
0
0
0
11
11
0
18
0
-6
0
7
1
0
-10
0
0
0
0
0
0
-81
0
-1
3
0
0
0
18
0
1
21
0
0
3
20
0
0
28
-2
0
-4
-10
0
-18
14
0
0
-7
-19
0
0
0
-1
-3
0
-21
0
-6
-1
0
0
0
0
0
11
0
0
0
0
8
0
24
0
0
0
0
-7
-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
-6
0
0
0
0
1
0
5
-2
5
0
0
0
8
10
11
1
-12
0
0
25
-23
-3
-4
26
0
2
-6
11
0
0
18
0
4
16
-7
0
-8
26
0
4
24
-17
0
0
45
0
9
21
-7
0
0
-24
0
-6
0
5
0
0
-7
0
-6
0
14
0
0
6
0
8
0
-6
0
0
0
0
0
0
-34
11
0
2
0
0
-2
-18
0
-32
16
0
0
-6
20
0
7
-14
7
0
-6
2
0
12
-36
0
0
16
-19
0
-4
-3
4
4
0
18
0
-8
-1
0
0
0
-5
0
0
-2
0
0
0
20
0
5
0
0
1
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-43
1
0
0
6
0
0
-7
0
0
-1
0
0
-6
-5
0
0
22
2
0
-28
7
1
2
-7
0
0
1
2
0
0
-11
0
0
-2
10
0
0
2
0
0
-16
6
0
-1
0
-2
0
0
-34
0
0
8
0
0
0
-25
0
0
0
4
0
0
-29
0
0
0
0
0
0
-37
0
0
0
0
0
0
-19
0
-7
-2
0
0
-2
-43
-10
0
1
0
0
1
-48
0
-4
0
0
0
0
63
0
1
0
0
0
0
25
0
1
16
0
0
1
28
0
0
3
-3
0
0
-33
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
-23
0
0
0
0
0
0
-33
0
0
0
0
0
0
-7
0
0
12
0
0
0
3
0
0
6
0
0
0
0
0
6
13
0
0
0
11
0
0
-2
0
0
0
-7
0
0
-9
0
0
0
-20
0
3
0
0
0
0
-31
0
0
0
0
0
0
-27
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
-2
0
0
0
0
-3
0
0
0
0
0
0
49
0
2
0
0
0
0
-8
0
0
0
0
0
0
-10
0
0
-1
0
0
0
1
0
0
0
0
0
0
25
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-2
28
0
-9
-12
-30
-31
-9
10
26
-4
-5
8
-15
-19
-10
-31
-20
-9
81
-21
3
8
26
-13
-7
31
-3
-3
31
-42
-35
13
28
-6
-25
9
-3
33
-3
3
-63
-24
15
20
-51
-6
4
18
60
34
-38
20
0
-22
30
-67
19
-46
0
0
17
-6
0
0
-11
-6
10
-12
0
20
-10
4
-6
11
59
46
-51
23
27
36
33
0
-29
-29
8
13
-49
14
-9
7
-6
0
14
-51
3
6
-6
20
10
-33
-19
12
12
-10
-5
-29
5
-14
7
1
20
-19
41
3
-13
0
0
26
23
5
9
0
43
-4
-9
-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
10
0
0
0
0
0
0
-15
0
0
-3
0
0
0
-6
0
0
-1
0
0
0
-25
0
0
0
0
0
7
-8
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
19
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-45
0
0
0
0
0
0
13
-7
0
17
0
0
0
-49
0
0
0
0
0
-12
14
0
0
-6
0
0
7
1
0
0
0
0
0
7
-2
0
0
1
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
3
0
0
0
26
0
0
0
0
0
0
-6
0
0
0
0
0
0
17
0
0
0
0
0
0
-7
0
0
0
0
0
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-11
0
0
0
0
-56
0
0
0
0
0
0
20
0
0
49
0
0
6
-22
0
-6
-3
0
0
0
7
0
0
-2
0
0
0
-19
0
0
0
0
0
0
3
0
0
0
0
0
0
-53
0
0
0
0
0
0
3
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
13
0
0
0
0
35
0
0
0
0
0
0
24
0
0
0
3
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
25
0
0
0
0
0
0
-36
0
0
0
0
-3
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-10
0
0
0
0
0
1
2
0
0
-3
0
0
0
1
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
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
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
-54
-33
-12
0
0
0
-12
-33
7
0
2
0
0
-6
9
0
0
-19
-33
0
-5
0
0
-3
8
0
0
13
-33
0
0
2
6
0
15
-15
1
0
42
0
0
-7
-12
0
0
-2
13
0
0
-7
0
0
-7
0
0
0
-23
8
0
-6
-1
0
0
-21
0
0
0
0
0
0
5
-2
0
-7
0
0
0
-17
2
27
1
0
0
3
-26
0
-4
13
-1
0
3
-19
0
12
-1
0
0
0
8
0
0
4
0
0
2
22
0
-17
-11
0
0
0
-35
0
16
-13
9
0
0
-16
0
30
0
0
0
0
-23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-11
0
1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
42
-13
12
5
2
-3
-9
16
17
10
81
12
-6
12
-12
20
-41
-9
4
11
-30
24
28
10
18
-23
-1
5
1
0
-40
-19
37
-17
-19
0
11
-35
-41
-41
-3
-25
38
-60
-14
-17
-21
-17
1
-9
4
13
-29
-25
0
22
-60
5
-4
23
-24
20
49
26
0
-8
-21
14
-8
18
-38
26
-2
-4
-2
-11
2
-48
17
27
-39
-22
1
-10
-20
33
51
7
-12
12
-39
-72
-6
34
-58
33
12
39
-11
16
-40
26
-7
8
-12
6
-13
-6
-27
-48
4
-12
-4
0
-19
-12
-13
0
5
-42
-24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
-29
0
0
6
-33
0
0
25
-3
-4
5
-25
0
-2
-57
0
0
-35
-35
0
19
5
5
1
-38
10
0
1
2
-1
3
-9
6
1
0
16
-12
66
3
30
0
-2
-1
0
-10
0
9
0
0
22
11
-57
0
-24
0
0
0
0
2
0
2
8
0
-3
0
0
1
38
1
16
-27
0
-6
-16
-20
-6
2
-55
-8
0
-10
-3
0
-11
-35
0
0
-3
23
0
-26
15
44
-1
8
-16
-7
21
-7
0
-3
-3
8
1
0
28
-2
-1
0
-17
0
-32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
48
7
0
0
0
19
-2
-3
0
7
9
0
-4
-30
3
0
-22
0
0
-12
-43
0
0
-17
-13
1
26
0
0
0
-9
0
0
-3
-43
0
-2
-6
-11
-3
-1
-32
0
0
-1
0
58
0
32
0
-1
0
0
-58
0
3
0
0
0
0
0
0
-9
23
3
0
-1
0
0
12
-4
23
2
0
0
0
8
0
0
15
0
0
-3
-63
0
6
-12
0
0
0
-43
0
2
-13
-1
0
0
-15
0
-4
0
0
0
2
-26
0
0
0
-9
0
0
-82
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
-1
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
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-1
0
0
0
0
5
41
0
0
1
0
0
-8
31
0
0
-1
0
-1
6
-41
0
0
-44
0
0
-1
-40
0
0
1
0
6
4
-33
0
0
0
0
0
0
24
0
0
0
0
7
0
3
0
0
0
0
-3
0
-8
0
0
0
0
0
0
-16
0
0
0
0
0
1
7
0
2
-3
0
0
0
-15
0
0
0
0
0
0
48
0
4
-8
0
0
0
-39
0
4
0
0
0
0
13
0
-16
0
0
0
0
-22
0
-1
0
0
0
0
-24
0
-3
0
0
6
0
-30
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-34
0
0
3
0
0
0
7
0
0
3
0
0
0
-20
0
0
-4
0
0
0
-13
0
0
0
0
0
0
15
0
0
0
0
0
0
-28
0
0
0
0
0
0
38
0
0
-1
0
0
0
10
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
2
0
1
0
0
0
0
-1
0
0
0
0
0
0
15
0
-13
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
12
0
-12
-1
0
0
1
-13
0
-3
0
0
0
0
-9
0
1
-3
0
0
2
28
0
0
-3
0
0
0
-58
0
0
38
-25
0
0
-107
0
0
0
0
7
0
66
0
0
0
0
-6
0
-41
0
0
0
0
0
0
-52
0
-3
1
0
0
0
-33
0
12
0
0
0
0
24
0
0
2
-1
0
1
39
0
9
0
0
0
0
-1
1
-2
0
0
0
0
4
0
1
0
0
0
0
10
0
0
0
6
0
0
-18
0
9
4
0
12
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
40
18
-14
-55
12
4
39
54
30
-93
-5
-19
8
48
-26
27
11
-28
9
-4
31
22
7
-50
3
-27
18
-29
-30
-17
11
31
12
2
-4
-82
-55
-38
-1
31
-3
-16
42
-75
-9
-28
4
16
-58
-41
49
-15
-16
4
0
36
28
-33
11
8
6
9
-6
39
-14
-11
57
-29
23
43
37
-8
6
25
21
-2
24
15
10
6
-6
-60
-14
9
28
19
-43
-53
-3
-4
0
-25
-14
-3
-36
15
-22
1
49
-9
16
-37
19
4
4
13
37
-7
7
53
-12
-16
-40
-29
-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
27
-8
-3
-28
-29
-19
0
18
-10
0
2
-30
0
0
-34
30
0
27
47
8
-9
-2
-18
1
0
6
0
0
-19
34
0
-1
12
-11
1
-5
-28
0
0
34
0
10
0
12
-6
0
0
4
24
0
8
0
0
0
0
0
0
68
5
3
6
-4
0
-2
-44
0
73
-2
-3
0
-6
-30
-2
-2
-13
1
0
3
-11
7
15
-29
0
0
0
-55
0
-40
-15
0
-1
0
-15
0
5
0
0
0
0
54
0
0
-4
27
0
0
-5
-6
-6
0
0
-7
0
-31
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
-55
0
1
-3
12
0
0
14
0
0
0
0
0
0
3
0
0
0
-10
0
0
-73
0
0
-3
0
0
0
18
0
0
-1
-6
0
0
-38
0
0
0
0
0
0
23
0
0
0
0
0
0
-13
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
-20
0
-1
0
0
0
0
6
0
0
0
0
0
0
7
0
1
0
0
0
0
-12
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
2
-30
4
-1
-6
-55
4
1
2
3
-4
3
0
-2
91
49
-8
0
32
-15
-8
8
-34
0
0
40
-1
0
-1
-12
0
8
32
39
0
0
21
0
0
6
0
12
0
0
-1
0
0
83
3
0
-28
0
6
0
0
0
0
24
12
0
-2
0
0
0
-39
-7
0
6
0
0
0
1
0
-11
-2
0
0
-25
96
0
-30
51
1
-6
8
-12
0
0
-10
-1
0
2
21
0
21
-6
0
0
4
-13
0
-2
0
-2
1
0
20
-1
-23
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
22
0
0
0
0
0
-1
-25
0
0
6
0
0
0
2
0
0
0
0
0
0
3
0
0
-6
0
0
0
12
0
0
0
0
0
0
9
0
0
0
0
0
0
14
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
-4
0
0
-3
0
0
1
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-6
0
0
0
0
0
0
-37
0
0
0
0
0
0
-13
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
9
0
-2
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-22
0
-4
42
0
0
15
-2
0
11
-90
-15
6
-4
16
0
0
30
1
0
-6
26
0
-2
42
-61
0
0
8
2
0
-10
2
-7
0
25
0
-1
0
-45
-3
0
15
0
0
0
0
8
0
18
-12
-1
0
0
0
-3
30
2
-98
22
0
0
-9
23
0
-13
9
1
8
3
14
0
-23
52
0
0
8
-10
0
-7
20
26
0
0
-73
-1
15
28
-1
0
6
1
1
36
-4
5
0
0
-31
0
44
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-49
-12
-3
-17
23
-4
2
-1
-19
-32
2
-35
36
-5
37
25
-8
-69
-7
-10
-7
-9
-64
22
24
-2
38
15
9
-28
74
-4
13
26
13
-26
-25
-36
-20
14
2
-2
-22
10
-3
-2
-7
-1
-1
-20
-27
20
-4
-3
-41
0
-9
-16
-27
45
57
35
-12
-12
40
-14
-41
-47
-4
13
-30
5
-51
-95
-16
22
-17
4
28
-17
1
-2
-9
7
8
-4
30
16
30
-29
-6
4
-54
32
30
14
1
-6
4
-23
-30
6
-29
3
27
-37
-14
-29
-30
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
-10
-35
0
-1
-15
0
0
41
-17
0
1
17
11
0
-17
-16
0
0
47
3
0
-1
9
0
0
-1
7
0
0
-1
0
0
0
0
4
0
-8
0
0
0
0
0
0
-35
0
0
0
0
0
0
-2
3
4
-7
0
0
3
8
3
68
-4
0
0
0
-3
0
0
-6
0
4
0
-7
0
6
-2
0
0
1
-50
0
0
-2
24
6
0
-9
0
-35
0
0
0
0
-16
0
0
0
0
0
0
14
0
-6
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-6
0
0
27
-29
0
0
5
6
0
-3
-24
0
0
16
0
0
0
16
0
3
7
7
0
0
-15
0
1
0
0
0
0
6
0
0
-3
8
2
0
-5
0
0
0
4
0
4
42
8
2
2
0
0
0
2
0
-13
4
0
0
0
19
-1
0
0
0
0
0
7
0
-8
3
0
0
-4
14
0
22
-26
3
0
0
55
0
2
-2
0
0
0
-77
0
0
-8
0
0
0
-12
0
-3
0
0
0
0
-34
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
34
-6
50
-13
2
34
-8
-22
0
23
0
18
-9
2
0
-49
-7
55
21
-6
59
-18
0
20
-19
-46
6
34
-16
-1
12
48
-1
15
-1
21
0
-2
-10
29
-15
0
14
4
-8
0
-1
7
0
1
29
0
1
1
2
-5
27
77
32
12
-1
-3
-24
39
0
-40
30
-16
2
27
-19
7
22
59
42
-10
-17
-5
-1
-2
-14
21
5
-9
24
-11
7
-5
0
-10
38
27
6
6
-32
40
12
-1
5
0
-66
4
0
-36
0
19
59
-10
4
5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-4
0
0
-4
-40
4
21
-13
0
-2
-37
-17
0
0
6
0
4
7
16
8
12
-15
-1
-6
5
0
0
0
-1
-2
-13
0
37
0
0
0
0
-25
0
10
0
0
0
0
1
0
-4
-4
-3
0
0
0
-7
-16
8
15
-16
0
0
9
6
0
-9
-16
0
0
-14
-14
-7
14
-20
0
0
0
-32
0
-5
2
-4
0
8
28
-8
20
-5
0
-1
12
-30
0
0
6
0
10
0
-19
0
38
-2
0
-8
0
48
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
24
0
0
-3
0
0
0
-66
0
0
14
0
0
2
4
0
0
0
0
0
0
-11
0
0
0
0
0
0
62
0
0
0
0
0
0
-41
0
0
0
0
0
0
-36
0
0
0
0
0
0
29
0
0
0
0
0
0
-91
0
0
3
0
0
0
-5
0
6
-6
0
0
0
41
0
1
0
0
0
0
51
0
0
0
0
0
0
11
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
-3
33
0
0
64
-3
6
-6
22
0
7
1
-7
0
0
-5
0
2
-7
58
0
11
3
0
0
-15
0
15
0
-23
0
-15
11
88
10
0
-10
0
-2
0
4
0
-3
12
69
1
-1
-8
0
1
-9
2
-4
40
0
0
-3
45
0
-17
34
-33
0
10
-24
-1
-45
-24
29
1
0
-16
0
-3
-80
-2
0
-3
-17
0
-30
-14
1
0
-3
31
0
-1
-31
-13
-10
0
-1
-3
-1
0
0
7
0
-1
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-15
-14
25
-11
17
-9
-4
24
-13
-30
6
4
3
-7
-11
18
-15
-34
4
15
-32
30
-76
-14
-54
-10
37
-6
-8
6
-24
0
13
33
46
7
-58
-58
64
20
-26
-8
37
10
-12
-11
-3
-40
10
-4
-9
4
-65
0
-1
-36
4
-27
24
5
10
30
5
3
-36
32
-25
9
58
9
-6
21
17
-7
9
-32
-13
5
30
-33
5
15
-7
-4
3
-22
-10
-22
0
42
3
3
-6
-51
17
0
-22
6
-47
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
6
27
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
32
0
0
-13
0
0
0
0
0
1
5
0
0
0
0
0
0
43
0
0
0
0
0
0
-32
0
10
6
0
0
0
13
0
0
0
0
0
0
-5
0
-2
0
0
0
-8
11
0
0
4
0
0
0
5
0
0
0
0
0
0
-17
0
0
0
0
0
0
15
0
0
0
0
0
0
31
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
11
3
0
0
-19
0
0
-2
-2
0
0
-4
1
0
-4
28
0
0
7
4
0
0
-42
0
0
-4
0
0
0
31
0
0
0
2
0
0
-19
0
0
0
0
0
0
26
-2
0
0
0
0
6
55
-9
12
0
0
0
0
22
0
0
-4
0
0
0
32
0
0
5
0
0
0
9
0
2
0
0
0
0
11
0
1
0
0
0
0
42
0
0
0
0
0
0
36
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-19
42
29
-4
32
0
0
30
-84
35
1
1
40
0
3
-33
-49
0
-14
-10
0
8
-2
12
-25
-2
-21
0
20
11
3
0
0
13
3
0
0
0
1
1
27
28
8
-30
-7
0
1
18
12
-2
-6
0
0
-35
8
-1
12
-14
18
0
3
9
-4
94
35
0
-7
6
-29
0
11
-5
1
0
53
-7
0
-13
-55
13
4
-1
-34
4
5
3
-1
-4
0
5
0
14
-1
0
-36
0
14
18
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
-28
0
0
0
0
0
0
-4
0
1
0
0
0
0
-53
0
0
0
0
0
0
-28
0
0
0
0
0
0
-8
0
0
0
0
0
0
10
0
0
0
0
0
0
-12
0
7
3
0
0
0
43
0
0
-10
0
0
0
-6
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
-1
-3
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
0
0
-4
0
0
0
-21
0
0
3
6
0
0
-9
0
0
0
0
0
0
-23
0
0
0
-6
0
0
-4
0
0
0
0
0
0
27
0
0
0
0
0
0
-37
0
0
0
0
0
0
32
0
0
-2
0
0
0
3
0
0
-8
0
0
0
74
0
0
0
0
0
0
-31
0
-8
1
0
0
0
-6
0
0
-7
0
0
0
53
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
21
10
-12
16
20
0
-1
7
0
-4
-24
10
2
0
6
0
1
-18
0
28
0
-5
0
-1
-30
8
57
0
-13
0
0
0
0
3
0
-13
1
1
10
0
0
-3
23
1
-17
4
0
0
0
3
0
-20
-14
10
0
4
30
-11
21
-27
0
22
1
-12
19
12
-15
-21
0
-15
17
0
31
-41
-2
0
0
14
0
0
2
13
0
0
4
0
-13
9
0
4
0
-3
54
-4
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
7
15
1
12
15
11
1
31
9
-26
15
11
19
0
-23
4
24
-7
10
-24
59
-30
32
-18
-19
0
29
37
45
-3
16
48
-4
3
-28
-41
33
12
-1
7
11
74
-47
-55
-13
-16
-66
8
-34
38
-6
-24
20
1
0
-20
-52
-34
-17
1
-3
-11
23
-6
-35
-36
-20
11
-10
-15
-6
-14
-27
-12
20
35
14
-12
39
-25
-18
-18
10
49
-30
-15
-33
-2
0
51
-39
51
32
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-26
0
0
0
1
0
0
36
0
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
0
-32
0
1
0
0
0
0
6
0
21
0
0
0
0
-7
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
-3
1
0
0
13
0
-9
0
0
0
0
-11
0
0
0
0
0
0
18
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
4
0
0
0
25
2
0
11
1
0
-1
-27
0
0
0
0
0
1
24
0
-1
2
0
0
0
-10
0
0
0
6
12
0
-6
0
0
0
-2
0
-2
-11
-3
8
2
0
0
6
29
0
-1
-11
0
0
0
-34
0
-36
-9
0
0
0
18
0
0
16
-2
1
2
14
0
4
-2
0
0
0
23
0
0
0
1
0
0
-55
0
10
0
0
1
0
73
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-6
73
11
6
20
-46
-1
-1
12
-18
45
-5
-8
0
3
15
0
40
0
4
-6
10
2
-9
37
0
13
3
0
2
-3
5
0
-12
11
-4
2
-9
0
28
0
1
26
32
16
-1
1
-23
6
25
-4
-15
0
-8
-17
13
4
18
0
0
-36
2
0
-5
3
8
1
-5
-4
-2
-9
18
1
-3
-2
12
6
4
-3
-31
3
0
0
0
23
-2
-1
2
0
25
-2
-3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-26
4
0
-20
0
0
1
-15
0
0
-15
1
8
0
-29
0
0
-37
0
10
0
8
0
0
-2
0
-4
0
1
0
0
0
0
3
0
28
0
2
-8
0
0
3
-64
0
68
16
0
0
-12
9
3
0
-4
0
0
-1
-2
0
-13
10
0
0
0
-14
0
0
21
0
0
9
15
0
26
28
0
0
-4
19
0
6
17
1
6
-4
12
0
-4
0
0
-12
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
9
0
0
0
2
0
0
0
0
0
0
7
0
0
-11
0
0
0
27
0
0
0
3
0
0
22
0
0
0
0
0
0
-17
2
0
-1
0
0
0
14
0
-2
0
0
0
0
-60
0
0
8
0
0
3
5
0
0
9
0
0
0
-8
0
0
0
2
0
0
45
0
-7
-2
0
0
0
-9
0
0
-2
0
0
0
8
0
-5
0
0
0
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
27
-43
16
0
0
-7
0
0
38
1
7
0
8
0
-3
-26
16
-17
0
8
0
0
0
0
0
2
33
-6
0
10
0
0
0
22
0
-16
29
0
0
0
-3
0
5
-6
3
0
0
-16
0
46
-1
0
0
0
-32
0
-5
2
2
0
0
15
0
6
-1
-1
0
0
15
0
6
2
-20
-1
1
27
0
-15
-3
-2
24
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
-18
-6
-38
34
-27
-18
-23
12
7
45
28
-20
32
1
2
8
-16
-40
-10
-26
-22
0
10
-1
-102
-16
3
-30
-6
-16
0
45
-24
37
20
-17
4
19
4
12
14
-7
-38
17
-12
-23
-10
0
-72
-11
-17
3
19
21
-11
-3
45
0
64
7
29
34
-1
-34
-13
76
-5
28
50
-32
-65
-13
-12
-85
-53
-7
-28
-32
8
-6
-5
16
13
41
-7
3
17
-11
-19
-54
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-7
0
0
0
0
0
0
-30
0
0
0
0
0
0
2
0
0
0
0
2
0
-40
0
0
0
0
0
0
3
0
0
22
0
0
0
0
0
0
-6
0
0
0
3
0
0
0
0
0
0
-14
0
3
0
0
0
0
-1
0
0
4
1
0
0
5
0
-1
0
0
0
0
-13
0
1
0
0
0
0
2
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
-3
1
0
0
2
-1
0
6
-33
0
0
-1
0
0
0
14
0
0
7
18
-2
0
38
0
0
0
0
0
0
-25
0
0
0
0
0
0
10
0
2
19
0
0
36
1
3
0
-4
0
0
-11
20
0
8
0
0
-3
0
9
0
0
0
0
0
-2
27
0
0
1
0
0
0
6
0
0
1
0
0
0
-3
0
-1
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
5
0
-8
18
-51
-2
-1
-7
0
0
0
1
-20
9
0
-1
1
9
16
-28
0
-11
0
0
0
0
0
0
-19
-11
-4
3
0
0
-2
-8
0
-47
1
0
12
3
9
0
4
25
2
-4
23
11
0
-22
-32
2
0
-27
5
2
41
-11
-10
0
-1
11
-1
-24
1
1
-2
2
-4
0
19
-1
43
-4
0
-3
0
-11
0
0
-4
0
-11
1
3
0
13
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
-1
0
0
0
4
0
0
2
0
7
0
15
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
-24
0
0
-15
9
0
0
0
0
0
17
17
0
1
1
0
0
0
22
0
0
0
0
0
0
-22
0
0
0
0
0
0
-60
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
-21
0
0
0
-15
0
0
8
0
0
0
0
0
0
24
0
0
0
-4
0
0
2
0
0
0
0
0
0
30
-1
0
0
0
0
0
37
0
-3
-6
0
0
0
-21
0
0
2
0
0
0
13
0
0
0
0
0
-6
-40
0
0
-2
-2
0
1
-27
0
-1
0
0
0
0
37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
9
0
-8
0
0
-1
18
-3
0
0
0
0
0
0
0
0
5
0
12
0
0
0
0
-9
0
31
0
0
0
0
-34
0
4
0
0
0
0
-7
0
-8
1
0
0
0
21
6
-1
2
-9
0
0
-12
0
-65
-6
2
0
0
-5
0
0
0
7
-2
0
-30
0
2
0
0
-3
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
-22
16
0
-49
25
18
-3
5
-15
0
-21
-88
-38
-11
0
4
-40
-2
-4
-2
-6
-3
9
-1
-16
37
22
29
-8
15
-25
-10
31
8
-1
24
-3
32
11
-1
3
29
5
16
28
26
-4
22
-3
41
-5
-2
29
-15
10
12
14
0
21
-24
57
-10
1
10
8
-8
-33
1
27
54
2
-8
4
-46
-68
5
-8
0
13
19
-26
12
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-1
0
0
0
0
0
0
-27
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
1
0
0
0
56
0
0
0
10
0
0
-42
0
0
0
0
0
0
-38
0
0
8
0
0
0
23
0
0
0
0
0
0
45
0
0
0
0
0
0
57
0
6
-9
0
0
0
-11
0
-6
0
-1
0
0
-61
0
-1
7
0
0
1
-3
0
0
0
-10
0
0
73
0
4
0
2
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
32
0
0
0
-3
14
2
-40
0
-2
0
-54
15
0
-24
0
0
0
7
0
8
-33
6
0
-10
0
0
-5
38
0
-13
27
0
0
-19
-20
-7
0
-16
-32
0
10
33
0
6
-1
0
-1
-10
3
-8
-2
-22
11
0
0
18
0
20
-13
0
0
0
11
0
45
0
15
-6
0
-28
0
8
3
0
-14
0
39
-16
-2
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
25
0
0
6
0
-10
0
-11
0
0
42
0
-1
0
-47
0
0
0
0
0
0
-14
0
0
-2
0
0
1
-9
0
14
2
0
0
-1
19
0
-7
-1
-3
0
4
20
0
53
37
0
0
8
-12
0
4
1
-30
-1
-25
-7
0
18
6
0
-1
16
23
0
2
1
0
1
0
-12
0
-10
-3
0
-1
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
51
0
0
-16
0
0
0
28
0
0
0
10
0
0
-15
0
0
0
9
0
0
16
0
1
-3
0
0
0
1
0
0
0
0
0
8
-57
0
0
-3
0
0
0
-14
0
9
-4
0
0
0
-21
0
1
1
0
0
0
-20
0
-22
12
0
0
0
16
0
0
0
0
0
0
31
0
-11
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
-23
0
0
8
0
-2
0
-34
0
0
0
0
0
0
-30
0
0
0
0
0
0
5
0
16
-1
0
0
0
41
0
0
-1
0
0
0
-9
0
3
0
0
0
0
-24
0
0
-2
0
0
0
94
0
0
0
0
0
0
29
0
0
0
0
0
0
-7
0
-4
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-11
19
-14
21
7
9
8
14
31
98
-6
8
8
-22
11
0
-62
-2
22
40
-3
3
-31
-13
-4
13
-30
17
10
-35
-2
-17
-24
7
47
15
-3
-4
-14
-37
14
6
-12
-15
-22
-18
3
-22
21
11
58
-8
-44
0
-9
10
0
-1
8
-19
-18
2
-1
3
-9
2
46
1
6
-1
-3
20
-27
-19
-27
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
2
0
-1
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
0
0
4
2
0
0
0
0
0
-16
0
-4
0
0
0
0
-26
0
0
0
4
0
0
3
0
1
0
0
0
0
-4
0
-8
0
0
0
0
3
0
6
0
0
0
0
-6
0
0
0
0
0
0
71
0
3
0
0
-1
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
9
9
0
-52
0
0
0
0
0
0
-6
-1
0
0
0
0
0
-19
0
26
-5
0
0
12
-1
0
6
-12
0
0
0
1
0
15
4
0
0
1
-19
0
6
0
32
2
2
26
0
55
-2
0
0
0
-23
0
-1
0
0
0
0
14
0
-50
0
0
12
0
-35
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
0
0
0
0
0
0
-3
0
-1
0
0
0
0
27
0
0
0
0
0
0
23
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-3
0
0
0
0
12
0
9
2
0
0
0
14
0
2
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
35
0
0
-12
16
0
0
-6
0
0
0
0
0
0
-47
-1
0
0
0
0
0
25
0
0
1
0
0
-4
-9
0
0
9
12
0
0
-49
0
-20
-7
0
0
0
-9
0
0
0
-1
0
-1
19
0
-10
-1
0
0
0
36
0
0
0
-1
0
0
-13
0
-3
0
0
0
0
-24
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
8
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
0
0
0
0
0
0
0
-24
0
1
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
6
-2
-1
-3
13
-3
-20
-17
-15
-17
35
7
-26
-19
-1
-5
-38
15
14
21
-20
-22
-23
30
53
48
-53
3
3
-14
29
-8
-41
-30
-22
-10
6
66
4
37
-23
29
26
-67
20
-6
1
6
7
-4
24
27
14
-48
-1
0
16
12
-1
0
-8
0
45
-32
-4
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
2
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
6
0
0
0
-2
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
0
0
0
0
0
0
-2
0
1
1
0
0
0
21
0
0
-4
2
0
0
-9
0
0
0
0
0
0
-13
0
1
11
0
0
0
34
0
0
0
0
0
0
-1
0
0
0
0
0
0
-50
0
3
0
0
1
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-19
-4
0
0
0
0
-3
-45
1
-1
30
0
0
3
6
0
0
10
-3
0
0
-18
0
-1
-1
0
0
-1
-1
0
-1
0
0
0
1
5
0
-36
0
-3
0
6
48
0
0
6
-3
0
0
-26
0
-32
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-11
0
-2
-9
0
0
0
23
0
9
8
0
2
-1
1
0
1
0
0
0
12
-22
0
36
0
0
10
-18
7
9
0
20
0
0
1
-30
0
53
-3
0
0
0
19
0
0
-12
0
1
0
6
0
13
0
0
-4
0
20
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
2
-7
0
0
0
0
0
-14
0
0
0
0
0
-2
-9
8
-24
40
0
0
-2
-11
0
-3
-47
7
0
-2
-8
0
-14
9
0
0
-3
-14
0
2
3
-8
0
10
-17
0
-23
-12
0
0
0
18
0
9
9
15
0
0
-6
0
-4
-4
0
0
0
-28
4
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
-59
23
-24
-29
9
-8
27
-18
30
19
18
-26
15
-24
-39
-2
-13
34
-33
12
1
7
-9
-17
-66
-9
6
-50
-42
23
50
-32
15
17
-30
13
-15
-31
18
18
11
-8
40
-48
-40
-2
-20
10
12
-10
12
-20
9
-1
0
0
-33
-3
-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
3
0
0
0
0
0
0
-15
0
-9
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
-11
0
3
0
0
0
0
-2
0
0
0
0
0
0
-15
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
3
0
21
0
0
0
0
7
0
0
-1
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
-1
7
0
0
-2
0
0
0
1
0
0
-15
0
0
0
29
0
-6
0
0
0
0
-4
0
0
0
3
0
0
51
0
-22
0
0
0
0
-18
0
0
0
9
0
0
26
0
0
0
0
0
0
-36
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
25
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
-13
32
-39
39
50
10
-42
-35
25
0
8
19
76
0
-5
-3
-11
33
-22
-11
-9
18
-26
14
-57
-25
-17
30
21
-1
8
-23
-64
-5
42
48
3
0
-37
-25
65
15
2
4
2
1
-32
-7
61
0
13
20
-42
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
10
0
0
0
23
4
10
7
4
0
0
2
0
19
-3
0
0
0
58
0
2
0
0
0
2
-33
0
12
0
0
0
0
-10
0
0
-1
0
-1
0
9
0
-5
0
0
-9
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
1
-8
0
-4
1
0
0
0
25
-4
0
0
0
0
0
-3
0
-4
0
0
0
0
-7
0
0
-1
0
0
0
-24
0
-10
0
0
0
0
10
0
0
2
0
0
0
-27
0
-10
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-3
8
0
0
0
103
0
6
2
0
0
0
-19
0
0
-10
0
0
0
-8
0
0
3
2
0
0
7
0
1
0
0
0
0
61
0
2
0
0
-6
0
55
0
-4
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
-12
-1
0
0
0
-36
0
0
0
0
0
0
-52
0
6
0
0
0
1
36
0
0
0
0
0
0
7
0
16
0
0
0
0
-2
0
0
0
0
0
0
-14
0
-4
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
1
0
0
-43
0
-19
0
-3
0
0
3
0
0
-10
0
0
0
-3
0
-2
3
0
0
0
62
0
0
0
0
0
0
-24
0
-10
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-35
1
-54
-23
-39
10
-14
14
-8
4
-10
-3
-20
-3
-15
0
50
6
-57
4
42
1
1
37
37
17
7
6
-1
-11
32
-81
-38
19
0
5
0
60
1
0
-5
0
5
-39
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
4
0
0
0
0
0
-2
0
0
0
0
-8
0
-10
-2
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
63
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-45
7
0
51
8
0
26
-56
-1
-18
6
6
0
7
5
-26
0
1
-20
0
-7
30
-3
4
0
-32
0
0
-12
15
-1
0
-25
0
32
-1
-2
17
0
-30
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
13
-25
0
0
16
1
0
-13
-13
0
-26
-8
0
0
0
-44
8
1
-8
-1
0
0
-1
0
28
1
0
0
0
-65
15
-1
-4
6
0
0
52
0
2
0
0
0
0
46
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-2
0
0
0
3
0
0
0
0
0
0
18
0
13
0
0
0
0
-1
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
2
0
0
0
22
0
0
-2
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
-23
0
4
0
0
0
0
-25
0
8
1
0
0
0
46
0
2
0
0
0
0
6
0
-2
0
0
1
0
-41
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
-5
17
9
19
-37
7
2
40
15
-25
0
8
-29
-4
-58
28
-22
-2
1
27
-1
62
-25
-1
4
2
1
0
21
2
20
-10
0
5
29
34
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
20
0
0
0
0
0
0
-11
0
0
0
8
0
0
-8
0
-8
0
0
0
0
-13
0
0
0
9
0
0
31
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
93
15
0
0
6
65
0
0
-6
8
0
0
32
0
-13
8
0
0
0
-18
0
0
0
0
0
0
11
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
3
14
0
2
0
2
-7
0
-9
-13
8
7
0
40
0
-32
3
0
0
0
11
0
0
-3
0
1
0
0
0
12
0
0
-1
0
31
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
3
-14
0
-2
-7
0
0
0
33
0
0
0
0
0
0
-60
0
-9
1
0
0
3
-50
0
0
0
0
0
0
-3
0
38
0
0
-4
0
-30
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-13
6
0
0
0
-12
0
0
0
-1
0
0
-41
0
-8
0
0
0
0
-11
0
0
0
0
0
0
25
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-58
0
0
-9
16
0
0
-6
0
0
6
-12
0
1
-32
0
0
1
-2
0
0
0
0
-1
0
0
4
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
-49
-31
-2
26
-17
36
-25
-3
-17
27
16
-27
-75
1
-3
38
0
35
25
3
-8
0
6
-5
-8
3
20
-26
0
0
-12
32
-1
13
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
-11
0
0
0
-14
0
0
6
0
0
0
-13
0
0
0
0
0
0
-13
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
-44
61
-2
-4
-39
6
0
4
17
0
9
-10
0
0
1
-59
0
0
-20
0
0
0
-31
0
24
0
-1
-15
0
-9
1
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
3
0
12
-12
0
0
-23
0
3
-3
0
0
0
14
1
0
0
0
0
0
1
0
-5
0
0
-11
0
32
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
10
0
0
38
0
0
0
0
0
0
12
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
2
-2
0
0
-19
0
0
0
0
0
0
3
0
0
0
0
0
0
26
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
4
0
0
-8
0
0
2
10
0
0
-7
0
-1
0
0
2
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-21
37
85
-28
-11
-15
-1
14
8
-43
-11
0
-1
-2
-2
-7
0
-18
0
7
-19
16
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
-6
0
0
0
0
0
0
37
0
0
0
0
0
0
-24
0
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
30
12
3
0
-3
38
0
0
9
-2
0
0
-16
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
0
15
-3
0
0
3
-64
0
4
-6
0
0
0
22
0
-7
0
0
0
0
15
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
26
0
0
0
-30
0
0
57
0
0
0
-8
0
23
0
0
-1
0
-7
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
1
-2
0
0
0
10
0
0
0
1
0
0
15
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
33
0
1
-9
0
0
0
-9
0
-9
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
-13
-25
1
8
32
-33
-16
-1
24
-26
-2
-11
0
2
0
33
-22
11
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
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-4
0
-13
0
0
0
-36
-1
51
0
0
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-14
0
3
0
3
0
0
-26
0
-1
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
0
0
0
0
0
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
15
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
26
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
13
-3
-19
0
11
-20
10
15
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-4
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
8
0
-41
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-8
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
-17
-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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
7
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
2
0
0
-2
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
-1
0
-1
-7
0
0
-1
1
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
-1
0
0
0
0
0
-18
0
0
0
0
0
0
-53
0
0
2
0
0
0
-13
0
0
0
0
0
0
-3
0
0
7
0
0
0
0
0
0
0
7
0
0
5
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
0
0
0
0
0
0
0
2
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
47
0
0
10
-10
6
0
2
0
0
0
-4
0
6
-10
-1
0
0
0
5
-11
-9
0
0
0
0
0
20
0
0
0
0
0
2
-1
0
0
0
0
0
0
4
0
0
1
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
2
0
-8
35
0
0
0
29
16
19
23
-1
0
0
-55
0
26
9
0
0
0
2
-29
7
7
0
0
0
-10
-9
-9
0
0
0
0
0
0
-5
0
0
-23
0
0
0
4
0
0
-1
-23
0
0
0
-34
33
0
-2
-49
0
0
-38
-20
6
-2
0
0
0
32
2
0
0
-11
0
0
-14
-14
0
0
19
26
0
0
-16
0
0
7
0
0
-2
3
0
28
-1
34
0
0
26
-6
0
0
0
14
0
-17
12
-23
0
0
-1
-1
0
-22
0
-9
0
0
1
37
2
-17
14
-3
0
-1
-2
0
0
-32
0
8
-11
6
0
4
18
2
0
13
17
0
-2
-20
-2
0
0
-15
0
0
-54
-12
0
0
-6
0
0
-9
0
6
0
-13
-1
0
19
36
5
0
-25
29
3
0
0
0
0
0
-37
1
7
0
0
0
-30
0
-13
27
0
0
19
-34
0
-2
8
0
0
0
4
0
-6
0
0
0
0
11
3
0
-4
-4
1
0
3
-2
4
0
0
-3
0
-18
0
-4
17
9
7
0
12
0
23
0
-2
-3
0
10
4
0
0
0
0
0
0
0
0
0
0
0
20
-18
-101
5
-4
-24
48
14
-5
33
3
-6
-3
8
7
10
39
-5
40
30
15
24
-11
28
-39
-20
-30
-7
-10
9
5
2
-9
20
0
-10
4
-48
24
-9
5
7
-7
10
8
-6
-18
50
-7
-63
-6
-1
-50
-54
-28
-14
7
11
-28
-76
26
-4
-7
0
0
0
0
0
0
0
18
28
21
18
35
52
-15
12
-2
49
-8
3
-5
-11
-5
8
17
26
-2
-4
-8
-25
11
-18
16
-7
-17
-8
-19
12
-47
-11
-9
13
-8
-15
35
1
-46
24
-7
-7
-22
-38
-10
-4
-14
25
-22
-18
1
-54
28
10
-10
-7
24
17
-11
23
28
-3
32
11
18
27
5
9
0
15
19
-1
-6
-20
20
27
-13
8
-1
19
-32
-1
-6
-5
-32
-8
5
-19
-15
-40
-11
-19
-2
-16
-7
-18
-2
-11
18
-4
13
19
5
44
2
-36
10
-8
-15
-41
-9
17
-86
7
-75
-53
-37
-50
8
-34
-7
11
20
0
17
35
-2
12
-15
0
7
-7
-1
4
11
8
10
10
15
8
3
-1
-12
0
0
14
-10
-16
-5
-6
-15
-17
-1
-22
-24
-3
1
-12
-18
24
-12
-2
-2
-5
9
-26
-17
-7
-56
4
-8
-38
1
-8
-5
-7
27
-37
-19
4
23
-23
33
1
-18
18
-5
53
33
0
-6
-5
0
-17
1
22
-4
2
1
-12
1
26
-5
3
-11
-2
0
-11
13
-20
-9
-2
-43
-3
-16
28
-10
-26
-9
-19
-9
-21
-12
9
12
-1
27
0
-2
0
40
-35
-8
-7
2
15
4
-55
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
1
0
3
-7
2
2
0
13
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
8
0
0
-1
0
0
-95
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
32
-2
0
0
1
0
0
3
0
0
0
23
-1
0
7
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
14
0
0
1
0
0
0
0
0
-20
-9
-6
-1
0
0
0
-11
0
0
0
0
0
6
11
0
-3
0
0
0
-4
45
0
0
-3
0
0
8
38
0
0
1
0
0
0
19
0
0
-1
0
0
0
-2
0
17
0
-1
0
0
-6
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
-1
0
0
0
0
0
-44
0
0
-1
0
0
0
-45
0
0
-1
0
0
-1
-41
0
0
-1
0
0
0
10
0
0
1
0
0
0
-7
0
0
1
0
0
0
-87
0
0
0
0
0
0
-4
0
0
0
0
0
0
-30
0
0
0
0
0
0
4
23
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
17
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
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
7
0
0
0
8
0
0
0
-2
-4
1
-15
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
-1
0
0
5
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-32
0
-1
-21
7
0
0
-42
0
0
1
-3
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
12
0
0
-1
0
0
0
0
0
43
12
0
0
0
0
1
37
0
0
-1
0
0
-17
-10
0
2
-10
0
0
-82
6
0
0
47
0
0
0
11
0
0
3
0
0
0
25
0
0
0
0
0
0
4
0
-4
0
0
0
0
16
0
0
0
0
0
0
11
0
0
0
0
0
0
23
1
0
0
0
0
0
8
4
0
-1
0
0
0
-5
0
0
0
0
0
0
-57
0
-2
-1
0
0
0
-15
0
0
-1
0
0
0
-17
0
0
-3
0
0
0
15
0
0
0
0
0
0
9
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
-1
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
3
0
0
0
0
6
0
8
0
0
0
0
2
0
0
0
6
0
0
27
0
-4
0
0
0
0
-3
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
-61
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-55
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
17
0
1
-1
0
0
0
0
0
0
-1
-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
-1
0
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
-1
0
0
0
-1
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-21
0
0
0
0
0
0
1
0
0
0
0
0
0
-44
0
0
9
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-23
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
-32
0
0
0
0
0
0
13
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-33
0
0
0
1
0
0
-1
-1
0
0
-10
0
0
0
2
0
0
-9
7
-8
0
0
-1
0
19
-2
0
0
0
0
0
0
0
-19
0
0
-9
0
0
0
0
22
0
0
0
0
0
11
0
0
0
0
0
42
54
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
10
0
0
-33
0
0
1
-20
-25
0
-20
14
0
0
-51
0
0
13
17
16
0
-13
37
0
26
-1
0
0
-21
0
0
0
-11
0
0
-3
4
8
0
0
6
0
0
0
0
0
43
62
-11
2
0
0
0
-39
-1
1
-5
0
0
10
61
1
15
4
6
0
27
-7
0
0
12
0
0
23
-42
0
0
-39
53
0
-30
-38
0
1
-52
0
0
-21
-33
3
53
5
-8
0
0
-21
0
0
4
0
0
0
22
-19
-14
0
6
0
4
-2
-19
0
-33
0
0
3
-11
-7
10
38
0
0
90
35
0
0
26
0
0
18
6
0
2
58
-31
0
-43
-46
0
0
-21
0
0
-9
-26
0
0
5
14
0
0
-13
0
0
19
0
0
0
27
0
0
-8
-16
0
0
-10
0
0
0
0
0
0
-9
14
0
-12
0
0
7
-15
4
32
-15
0
0
0
-7
0
10
23
0
0
15
-16
0
-8
22
0
0
-1
21
0
11
45
-4
0
0
10
0
59
13
0
0
0
2
0
0
2
-9
0
0
-32
0
-78
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
15
0
-11
76
-4
1
-124
2
0
57
63
0
3
-32
1
0
9
-1
0
3
0
-6
0
0
0
0
-2
0
-18
0
0
0
0
0
0
0
0
-27
0
0
-5
0
0
-23
0
0
0
0
0
6
33
0
21
0
0
0
0
0
0
0
0
0
-36
8
41
36
32
7
0
-108
38
0
-4
9
-6
0
-1
51
0
0
10
0
-7
-4
-10
0
0
-1
7
-1
2
5
0
0
-10
0
-4
0
49
0
0
0
0
-4
0
0
-34
0
0
0
-19
0
57
-13
62
0
1
0
7
-10
-7
0
-22
13
0
87
28
3
18
-27
-11
0
-24
-7
1
3
-32
-2
-10
16
-57
0
0
-20
-45
0
16
-6
0
0
28
28
0
0
-12
0
-18
-25
-15
11
0
-39
0
0
2
0
-3
0
19
-4
15
0
1
0
0
47
79
0
16
0
0
13
7
-40
-9
33
6
1
-22
-13
0
0
8
0
0
-18
-5
1
-8
-3
0
13
49
-41
0
0
-28
-2
-18
0
-37
0
-11
-14
-15
-1
0
8
0
-1
60
0
-8
0
-41
0
0
0
2
16
0
19
0
0
0
0
10
0
61
66
3
-9
8
0
0
-38
1
-49
-41
0
0
9
28
0
7
-7
0
0
0
-5
0
28
14
-27
0
-2
-64
0
-10
41
44
0
0
-40
0
-21
18
13
0
0
18
8
0
39
33
0
0
-14
0
53
0
0
0
0
45
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-18
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
-27
0
0
0
-6
0
0
0
2
0
0
1
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
17
0
0
0
0
0
-2
0
0
0
-24
0
0
-1
0
0
7
-2
0
0
-11
16
0
0
-2
0
0
0
18
0
0
-1
0
0
0
8
0
0
-1
0
0
0
0
0
-2
0
3
0
0
26
0
0
0
0
0
0
-37
0
0
0
0
0
0
-44
0
0
0
0
0
1
0
1
0
7
0
0
-1
-53
0
0
-3
0
0
-1
-52
0
0
0
0
0
0
3
0
0
2
0
0
0
-12
0
0
-1
0
0
0
-32
0
0
0
0
0
0
1
0
0
0
0
7
0
-25
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
9
0
0
0
0
0
0
-12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
2
0
0
0
0
0
0
9
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
3
0
0
0
0
0
6
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
-16
0
0
0
0
0
-12
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
16
0
0
-7
0
0
0
-1
-1
6
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-2
0
0
0
0
0
72
-18
3
0
0
0
6
13
0
9
-36
0
0
1
-3
0
-36
10
0
0
-41
32
0
0
2
0
0
0
-7
0
0
-1
0
0
0
48
0
0
2
0
0
0
-4
0
-23
8
0
0
0
48
0
0
0
0
0
0
18
0
0
0
0
0
0
-34
-3
0
0
0
0
1
-67
0
0
19
0
0
0
-28
0
3
9
0
0
0
-45
0
2
2
0
0
0
8
0
0
-4
0
0
0
4
0
0
4
3
0
0
-57
0
0
0
0
0
0
20
0
0
0
0
0
0
17
0
0
0
0
0
0
0
2
0
0
0
0
0
-6
0
1
0
0
0
0
9
0
0
0
0
0
0
3
0
-3
0
0
0
0
40
0
0
0
0
0
0
4
0
0
0
0
0
0
55
0
0
0
0
0
0
25
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-15
-14
37
19
-2
8
16
22
22
-41
18
-19
14
0
14
7
-12
32
-2
21
-6
-7
-20
-32
-16
7
-1
-6
10
17
-39
-22
16
19
-26
27
15
-7
-19
-18
-7
-31
-25
-2
-49
-3
19
-1
-10
5
23
17
-17
-4
25
0
0
0
0
0
0
0
19
-13
-4
28
12
55
17
-3
29
1
-28
-3
8
11
-5
-8
2
17
-8
-23
-1
3
-12
48
-20
-4
-3
-3
-13
-1
51
20
-5
-11
2
-10
-11
15
-37
9
4
-1
30
-7
2
23
-27
15
11
70
4
24
-47
-1
21
4
9
14
9
-22
5
15
19
8
-13
-36
-54
8
5
11
-14
11
-4
-2
-3
15
-30
-5
1
-11
-5
-2
-4
28
7
3
-30
-5
1
23
-7
-6
-6
18
6
1
-9
2
14
0
-31
38
-8
-38
-19
-21
3
4
-1
48
-8
-11
-1
0
-8
-10
4
8
0
20
6
-2
17
-3
0
12
-27
-16
-23
-33
-2
6
-20
-22
-4
-22
-14
-12
-13
-13
-7
-7
-1
-8
-15
-1
-5
-4
-2
-38
-15
-1
-11
2
-4
0
-12
-42
-3
14
7
7
-3
-4
-7
0
0
-4
-38
6
10
-15
14
7
-19
10
18
6
8
-1
-24
-24
-6
-8
-4
-22
-17
-94
5
-2
6
9
-2
2
11
11
-18
-10
-23
-44
-39
-5
-1
-12
-6
-14
-16
-7
-16
-29
-12
-4
35
-2
-14
14
11
15
3
6
17
3
-15
-18
-17
2
-31
-1
1
25
-4
25
6
-17
-12
12
-11
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
-2
0
2
-33
60
0
-58
-4
0
0
4
0
-4
2
9
0
0
0
37
-3
6
-1
0
0
0
-6
-7
-3
-3
0
0
19
0
4
0
0
0
12
0
0
-28
0
0
-20
0
0
0
0
0
44
41
0
0
0
0
0
0
0
0
0
0
0
-72
15
10
0
-65
0
1
-18
-30
-9
0
12
-23
-3
-21
-36
0
0
24
-1
-29
-2
-7
0
0
1
-8
12
-38
-1
0
0
-2
0
7
0
23
0
18
-1
0
-1
0
0
41
0
0
0
-26
0
69
45
1
0
0
0
34
-1
0
6
-33
0
0
-9
24
0
-25
70
-1
0
13
17
-2
0
13
0
-3
10
-46
0
3
-25
-1
0
-13
-23
0
0
-110
0
-2
7
-26
0
-14
-6
-32
-1
0
-128
0
0
-1
0
5
0
48
75
10
0
0
0
0
41
-36
0
-12
0
0
0
-4
1
6
44
-7
-21
5
-20
0
0
6
0
7
43
2
0
17
-19
19
0
-33
-117
0
0
-9
3
0
11
6
0
-1
-44
-62
-10
11
12
0
0
-6
0
-2
0
-16
0
0
0
9
5
0
43
0
3
0
-29
0
0
18
-14
-3
2
0
0
4
25
0
-37
-3
0
0
4
32
-8
-9
-4
3
9
1
14
-37
-49
-2
0
0
1
5
0
0
0
-16
4
0
10
0
12
9
0
-12
0
-17
0
0
-1
-10
0
1
-24
0
27
0
0
-2
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
11
0
0
-65
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-80
0
0
-3
0
0
-4
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
-51
-6
4
0
-87
0
0
-12
0
2
0
-3
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
12
0
0
0
0
-1
0
0
0
0
0
0
-54
0
0
-1
0
0
0
0
0
-19
0
4
0
0
0
-1
-27
0
0
-60
0
0
-2
0
0
-45
-27
0
0
-68
1
0
0
-37
0
0
1
-14
0
0
-3
0
-2
0
25
0
0
0
0
0
0
7
0
9
0
0
0
0
-30
0
0
0
0
0
0
-50
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-2
15
0
0
-58
0
0
1
0
0
-3
-25
0
0
-2
0
0
0
-14
0
0
-2
0
0
0
21
0
0
-1
0
0
0
-34
0
0
0
0
0
0
-1
0
0
0
0
-2
0
76
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
-29
0
0
0
0
0
0
75
0
0
0
0
0
0
-11
0
0
-1
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
35
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
-2
0
0
-3
-2
16
0
-37
4
12
17
23
0
0
0
14
16
0
-3
-8
0
-1
-3
0
0
1
0
0
0
59
0
9
27
-1
0
0
-3
0
-31
0
18
0
0
0
-14
0
0
0
0
1
24
35
0
-5
0
0
0
0
0
0
0
0
0
-18
12
0
48
-7
25
0
-16
27
0
0
-28
-55
0
-33
-5
18
32
-24
0
0
5
10
0
0
-34
0
0
-10
-11
0
0
-2
-1
0
-2
0
0
0
-22
1
0
0
9
-64
0
0
0
0
0
-31
74
61
16
0
0
6
14
9
6
34
0
15
-32
25
0
17
-50
39
0
-8
10
0
1
-22
13
0
15
-43
0
-15
-33
27
0
-10
3
0
0
-55
-4
0
36
-1
0
-37
-47
8
0
6
-13
0
33
0
-3
0
0
22
-7
53
0
22
0
0
0
-8
0
6
0
0
-46
7
11
-1
-34
28
0
-59
-32
0
0
-60
0
0
8
-4
0
32
3
26
0
37
-14
0
-11
21
-11
0
10
-11
0
19
4
-16
0
5
-6
0
0
-15
0
0
2
-54
0
75
7
-33
0
0
9
45
0
0
0
0
0
-12
-26
2
26
-6
0
0
-11
2
10
-21
0
0
10
-19
0
-9
15
14
0
28
-18
0
-33
21
9
0
-18
-31
-2
-30
20
47
0
0
-26
24
2
44
-2
0
0
-66
0
2
8
-51
0
0
3
0
11
15
7
0
-3
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
-20
34
39
-36
44
16
-1
-65
-33
-32
10
-33
4
-13
-18
-12
-12
-15
34
1
9
32
-40
-7
-3
-54
23
-24
7
-8
3
-9
6
15
-1
-2
2
9
0
0
-14
-15
-3
20
49
-5
9
30
3
0
0
0
0
0
0
0
-6
-14
-47
-52
4
-2
31
10
13
8
19
14
-1
31
-42
-1
-44
4
-67
-30
-15
-18
-4
27
19
-18
-15
-30
-26
3
-8
-12
-51
-6
-20
-24
-34
27
-3
-52
14
-22
-2
-75
3
-1
1
-5
-2
22
-10
-3
7
17
49
1
8
0
39
80
18
10
22
-18
20
-10
30
-9
8
27
-16
0
-31
7
1
-4
22
-33
-3
-25
-30
3
-15
-45
-21
-7
-22
14
-38
4
11
19
18
-24
-19
-32
-9
-57
7
-5
-24
-33
-30
-10
-9
0
1
14
-26
-6
26
16
-4
7
25
-40
47
47
40
-37
0
2
11
8
-2
-32
-36
0
-31
-24
-11
-62
-59
-26
-17
5
-4
7
-11
-50
9
-3
51
-3
-21
-13
-23
-29
-2
61
-62
-29
-13
0
-60
-6
-16
14
-44
51
-17
-79
-7
-4
-76
-66
-32
-6
-7
-7
-38
-38
3
-33
-33
-15
-18
-31
-29
-18
45
-10
11
-1
-23
-7
2
14
-35
-60
-4
-59
-22
-2
-21
-100
-4
-14
-9
15
-7
-22
6
3
-14
25
13
-8
0
-42
19
-12
-73
-16
-17
26
-30
-34
-1
1
13
-38
20
-5
-12
-4
39
-30
8
9
-5
-1
8
0
-44
-21
7
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
-36
0
-6
-5
15
-4
-21
2
47
30
-5
-51
-15
-12
-2
0
0
-2
-4
6
6
-4
8
-2
-7
-6
15
0
54
0
-20
0
11
20
0
8
6
0
0
0
8
0
56
39
-2
36
1
0
0
0
0
0
0
0
0
-53
0
-35
-8
-47
-13
51
11
-56
15
-10
-7
-54
6
-56
-67
25
13
22
-1
29
-21
4
0
6
-8
-10
-33
-8
-29
0
-1
-2
0
-48
1
-21
0
0
27
12
-29
0
12
9
0
0
-2
-26
20
-17
-24
-28
15
25
-15
32
28
11
2
39
2
7
-11
0
26
5
-10
-62
-32
-20
-4
11
47
-38
7
-3
54
0
0
-1
9
1
-2
-45
-9
0
9
-37
0
7
3
-1
9
-12
10
-35
-3
9
-10
0
0
-7
-1
-12
0
12
-19
39
11
0
-7
0
6
-58
0
20
-11
7
-10
7
-38
16
12
16
-12
-16
0
7
52
13
13
-12
-5
12
0
-10
17
-12
10
-14
11
11
2
-4
-22
-6
-25
-6
10
20
-71
-26
-8
-12
-6
0
1
41
18
-10
-7
-5
0
7
-34
-37
-18
0
25
-3
0
0
4
-3
0
40
22
-8
-12
0
2
16
-16
-8
-43
55
43
1
-19
0
-4
8
7
1
3
-36
1
1
-54
-22
0
21
18
-20
-8
-12
-8
6
0
35
26
0
-77
20
-4
23
2
-23
2
2
-36
-20
1
0
-4
0
-9
0
0
-3
0
26
-81
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
-65
114
19
7
68
0
11
-6
-32
-3
-1
-71
0
-4
-29
41
0
0
-4
0
9
8
-21
0
-2
0
1
8
0
21
0
20
0
6
-11
0
0
-10
0
0
16
-10
0
52
44
0
27
0
0
0
0
0
0
0
0
0
-68
23
7
81
-36
4
17
-17
-29
13
36
-56
-67
-20
0
11
0
0
-58
28
-2
5
-24
2
-6
-66
-4
1
-18
0
0
0
-15
-2
-7
11
26
0
0
-1
7
-2
0
-2
32
0
0
0
16
-11
36
9
16
18
0
0
-1
43
0
10
19
0
8
-5
-13
-5
7
11
-13
8
-15
-14
0
22
-41
37
-7
-28
-38
0
-17
31
-22
-1
-16
-26
4
0
-11
9
0
1
48
0
21
-15
40
-8
3
7
0
0
0
-1
-9
0
1
9
11
-6
0
1
-1
45
-53
21
40
0
4
2
-20
57
88
-34
30
-2
-8
6
0
-2
-29
8
0
-84
-4
0
-27
-26
31
22
11
-1
6
-18
-19
-14
13
-7
-37
1
6
42
31
0
72
3
0
-21
21
-2
49
0
-31
0
35
12
16
-11
0
23
21
0
3
0
22
4
28
-14
-3
-2
0
-2
-3
-16
0
11
14
0
-2
0
38
-7
-36
-1
-3
-1
20
0
-1
-43
-19
-1
0
-11
-37
8
-9
-7
-4
0
0
-24
0
-45
8
32
6
1
44
0
2
3
19
-3
0
-20
0
-40
2
-3
1
0
20
1
0
2
10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
-19
4
-3
-100
-4
6
-43
-6
15
-4
37
14
-37
-18
23
35
0
42
7
-12
-4
32
15
-2
-1
-4
22
0
-26
19
23
1
7
-57
0
0
-5
0
0
0
-22
-1
31
40
-1
7
-13
-3
0
0
0
0
0
0
0
10
-66
13
1
37
-2
-44
45
25
45
0
10
8
8
2
41
43
-6
-15
-15
29
1
-9
0
3
13
42
-12
23
27
0
-1
69
-2
-35
-11
-16
-1
-2
1
11
-6
0
-3
7
0
0
0
2
6
28
7
-32
-4
0
1
-35
-72
-12
50
-59
-6
0
13
2
25
5
-21
2
-11
-7
-18
3
3
-18
6
11
36
8
1
17
26
-18
-18
-12
8
-4
0
-25
-66
-19
-30
-3
8
36
-4
31
-6
-7
-5
20
-8
-6
-10
43
0
-25
-1
26
-4
50
45
1
26
23
0
38
21
0
-86
-46
-21
15
-16
-12
2
-27
2
23
27
-43
5
10
-47
-10
1
50
-1
9
21
-2
-6
-11
23
-46
10
57
21
7
-7
8
11
-3
14
9
10
15
68
-22
7
21
-4
-1
40
-29
48
-19
-1
-1
-23
-4
-1
0
12
10
0
17
10
0
-7
-2
0
-5
-19
-25
22
21
16
1
35
18
9
-45
-48
16
-8
1
-30
0
6
-14
-15
9
-63
14
-8
28
-8
-50
-8
-57
5
-7
47
-108
24
90
-1
-9
3
-3
13
35
-3
-1
2
0
-7
45
7
-33
0
0
-35
0
-2
59
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
15
17
12
-29
-11
-14
-30
-13
10
-9
-8
-7
-20
-11
4
37
0
-45
40
-20
-65
-23
-7
17
-13
-33
-30
-4
-32
-6
-10
-7
-28
-28
0
1
0
0
0
10
3
-3
13
79
9
-15
-45
0
0
0
0
0
0
0
0
3
5
-15
-56
-17
-42
34
11
15
47
24
7
-11
-16
-3
2
20
-18
-35
-38
6
-9
11
-8
-16
5
-5
-8
-23
-1
-1
1
-6
12
1
-47
1
-2
-3
-10
5
-16
6
-12
-25
-4
0
2
-51
36
8
-13
-38
43
-4
0
3
11
-10
-11
17
-7
-2
-17
15
40
18
17
2
18
8
11
29
6
-2
-12
5
2
-4
-27
9
21
-14
-13
-13
-4
-7
35
-13
-29
6
-25
-8
83
-12
-15
-2
-31
-1
-16
-5
-14
10
31
-13
-1
8
1
-18
-2
-1
12
7
16
-37
18
16
12
23
34
3
-15
-7
-12
-3
4
21
-1
-1
48
18
42
25
-8
-3
-2
-28
21
-17
-29
-15
-11
41
-3
1
-44
-7
6
-8
33
-20
0
-37
0
14
-3
41
21
2
-57
21
-46
-14
-23
-56
-17
-11
3
-2
2
-58
-25
18
26
-16
-6
6
15
-12
25
-44
20
8
-17
6
-29
-45
-80
43
11
-13
11
-13
-12
-5
47
-28
-8
43
1
-30
13
27
-33
-12
29
24
1
-34
26
-24
-8
-45
1
-11
-12
49
-33
2
-25
21
9
1
-39
10
-6
0
-16
-8
-8
-22
-1
-12
-26
30
-3
8
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-46
9
-10
-76
5
-1
-19
15
30
58
-105
-1
-16
-52
-44
0
-2
0
0
-21
16
-24
35
11
-45
0
21
0
20
45
2
-4
0
0
0
0
-12
0
0
0
13
0
14
3
27
-76
0
7
0
0
0
0
0
0
0
-20
26
14
-2
-8
0
-14
-61
-44
-9
-2
-22
-11
3
-56
2
1
29
-35
9
8
-63
11
0
-1
-16
6
3
-13
-17
0
-1
27
0
0
29
-21
7
0
-11
0
7
0
-6
-6
0
0
9
-1
-4
14
-21
34
76
0
0
-4
25
0
0
-6
0
0
8
3
9
10
12
-1
9
-30
7
12
2
-11
0
29
3
-21
9
-4
4
-2
4
-9
0
0
16
-9
0
22
34
-4
-3
14
-2
-16
20
63
8
11
-2
-25
0
7
0
1
10
-17
0
0
-16
0
11
38
2
2
0
-4
37
45
-6
23
4
60
8
21
-19
-3
8
22
28
-32
-13
9
8
-38
-12
14
17
15
12
-4
79
10
-19
20
11
-22
1
-3
-10
-16
-14
33
3
0
-29
2
0
11
49
14
0
-4
0
-6
8
0
-2
32
-4
-1
4
-12
0
1
37
20
-23
3
0
-74
4
-12
-63
-14
-2
0
53
-27
-7
6
43
-1
2
19
8
15
-51
-8
7
19
-4
-5
-1
2
10
-7
-12
2
4
-1
0
-37
-1
-15
-26
6
-16
-27
15
-2
7
43
-8
0
4
34
0
-24
-1
6
16
-8
15
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-4
27
-3
28
-2
0
29
34
18
22
-18
40
0
19
30
29
-9
0
0
0
-47
-48
51
-20
38
6
0
-1
17
51
-18
0
0
0
0
-1
-27
11
0
-1
0
-1
45
2
25
-10
-6
0
0
0
0
0
0
0
0
-44
21
4
-8
3
0
0
20
27
-11
109
11
-28
0
-3
2
0
-2
-25
30
0
0
-78
1
-16
-13
-19
0
-1
-1
-2
-1
-66
-1
-1
-1
-50
3
-6
24
59
-9
0
4
-38
9
0
-5
-1
0
2
-2
-17
29
-15
0
15
14
26
0
-46
-2
0
-28
38
-15
-27
-36
-59
0
7
8
5
-48
-29
-27
0
-13
-12
33
-13
-15
0
0
12
-9
0
-1
-29
-3
0
54
-15
-2
-39
-36
1
0
12
-5
0
9
-15
0
0
7
4
-58
0
-8
-9
0
-9
18
-28
-3
-11
-2
0
17
10
1
65
5
2
0
1
25
0
22
-26
1
0
10
-12
17
32
-14
-42
0
-7
-10
6
-22
-3
3
0
45
-7
-5
-32
-8
16
0
43
5
0
8
27
64
0
47
7
5
-32
-58
-8
0
3
-12
-4
-6
0
0
0
10
30
19
3
-1
23
0
31
-24
-8
-48
-13
0
0
-28
11
-7
12
-27
73
0
-27
-10
-15
18
12
-2
1
4
-17
52
-12
9
-23
0
-8
-20
0
-21
-21
7
0
-17
6
-6
36
8
31
0
0
13
-11
-38
25
-4
0
0
8
27
-11
9
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-3
19
27
-2
17
-10
19
-16
-12
-42
26
-48
-19
19
-26
-20
-16
-23
-4
-51
24
-22
-22
-9
-22
-19
-46
-21
-11
-7
-40
-13
-51
-50
-33
13
11
13
-32
0
-115
0
0
0
0
0
0
0
-60
-23
6
-51
5
-23
-27
-3
-43
-12
-14
12
2
13
22
-14
22
12
-7
-28
4
-8
-14
-16
-21
-27
-10
-12
12
-6
22
19
-19
-2
-20
4
-33
-34
-10
-16
2
-32
-18
-44
-1
-41
-3
-10
-38
9
17
-21
-39
-16
58
17
-15
8
-17
0
23
-43
-84
-1
44
48
18
10
8
7
3
2
-4
9
-6
-41
18
11
-9
7
-43
-7
-4
-44
5
-4
21
-15
-15
-16
-19
-16
16
9
-6
-17
8
-31
-16
-8
-66
-10
-27
-38
-36
-23
13
-4
6
-64
9
-55
-51
12
9
24
36
-10
-28
3
11
-6
10
16
-14
3
27
22
-8
-7
22
-19
-18
-2
6
27
3
18
10
-26
5
-8
45
4
-6
5
-19
3
-2
26
-57
-7
7
-7
-1
-7
-68
-71
-3
4
-13
14
-3
-41
-25
-16
-14
-20
-56
0
5
-12
-57
-29
-22
-54
-6
-28
10
-16
12
-48
34
-12
4
-18
-7
9
-20
8
-2
5
15
-11
17
4
20
2
10
0
-7
-16
-13
19
-17
4
-20
3
8
-13
6
-12
-4
-2
-7
-7
-36
26
-7
-30
-9
-13
13
-9
-50
-3
-34
-7
-21
-15
-20
-17
-13
38
16
-12
-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
-90
9
0
-4
28
-7
2
-5
9
0
0
-1
2
-15
38
5
0
-3
13
-21
7
0
20
0
1
0
11
-56
0
0
3
0
0
0
0
0
15
10
-1
0
0
-10
0
0
0
0
0
0
0
-35
-3
-5
-18
18
-21
8
-13
0
12
-4
-12
-71
-7
-58
-34
-8
6
-53
57
-14
-37
41
9
-2
-13
13
-76
-14
37
4
-4
7
8
-79
75
-61
0
7
-9
-63
-84
-1
11
-10
0
0
-7
-19
3
8
-31
-41
-16
0
0
11
21
-1
4
23
-4
0
19
-17
-25
7
-6
29
1
-44
0
3
-53
-25
-29
24
-18
2
23
4
-2
-18
-30
15
0
27
6
1
25
-21
0
5
0
-4
17
3
-2
4
-24
0
-1
11
8
-64
0
15
0
-50
0
16
-2
-14
15
30
0
-22
-2
0
-9
-2
-4
1
17
-44
0
-11
0
2
-66
-15
6
0
3
0
12
32
-7
14
33
12
23
7
-59
-11
23
1
-26
19
-7
54
-6
-14
2
14
-11
15
-1
32
42
-54
12
-29
-20
-21
50
-21
-59
0
6
-3
-10
-2
-6
10
1
3
27
-36
3
6
0
18
-11
-30
-38
-30
-8
0
-34
-6
23
-15
14
-19
0
-26
0
-53
2
15
-37
-21
52
14
28
-50
-30
29
-1
-2
3
7
-44
4
-20
-9
12
-27
14
-27
-38
7
-18
1
1
0
25
2
-2
0
19
-1
-2
10
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
-7
0
-17
-14
25
56
38
0
-1
0
0
-6
0
-2
0
0
-11
0
0
0
-17
0
-16
7
15
-7
0
0
-7
0
0
0
-18
0
15
4
19
0
0
0
0
0
0
0
0
0
0
-8
19
2
0
48
2
63
54
44
8
21
31
-31
13
1
-12
0
2
36
2
-23
-21
-2
6
18
60
30
-3
44
8
0
0
1
0
-1
0
21
0
0
-4
-7
-14
0
0
-3
0
0
0
30
0
42
61
56
10
30
0
32
-7
0
11
-31
0
-2
31
0
0
17
-15
18
8
26
-29
6
-2
-24
-2
2
31
7
0
7
7
-9
-3
-24
-12
0
-1
-15
0
0
21
-12
0
-34
7
-10
-1
0
3
0
0
4
0
-7
0
14
63
-30
0
0
0
0
-5
-64
0
25
4
-12
44
9
-16
-47
17
-8
11
3
-11
0
3
-35
-2
0
4
-35
0
3
-50
32
0
6
5
-1
11
25
0
-3
-5
12
0
5
32
-7
-5
-41
-28
0
-1
21
0
-37
0
15
0
17
-8
-37
-18
0
-11
0
0
0
0
-1
1
-20
-19
0
7
0
0
0
-18
8
-58
-1
-9
0
-48
-3
0
-19
17
2
0
-1
8
0
23
1
1
0
19
5
0
-13
11
14
4
14
12
0
5
42
-2
1
0
24
0
0
-2
-2
0
0
25
0
0
0
0
0
0
-24
-6
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
27
0
0
-3
26
-2
2
-3
3
0
0
0
-33
0
-6
0
0
0
-3
13
0
0
0
44
0
0
12
0
0
11
0
0
0
0
0
-14
54
0
0
0
0
0
0
0
0
0
0
0
-8
16
26
0
5
-10
-3
35
-17
1
0
-24
-139
17
-10
-14
0
0
-54
0
67
-17
-2
0
0
-29
-8
21
6
77
0
0
-3
0
9
0
-7
0
0
0
41
-28
0
0
7
0
0
6
16
24
19
20
6
20
0
0
-56
-10
2
0
-47
0
0
-28
0
-7
-7
-51
-1
2
-33
-1
-1
0
-1
0
0
22
11
0
0
52
14
0
44
-21
0
0
10
25
0
0
-22
0
30
1
-44
-3
0
-28
0
0
-11
-1
22
0
-19
-60
37
0
16
0
0
14
-8
4
0
0
0
-15
7
-6
44
-18
-1
0
14
-1
0
0
-29
-3
0
-9
-20
3
9
-2
64
0
-5
-13
-2
0
-16
0
-1
0
-35
-10
0
-55
-15
0
1
-5
0
12
17
0
-9
0
-3
0
-1
-7
67
66
0
22
-1
0
0
0
0
0
-7
30
0
0
48
0
-2
-24
2
2
-2
0
-1
-1
2
0
0
10
0
0
-1
-50
-11
-3
67
3
0
12
8
0
6
-10
-20
0
0
1
-1
-11
9
0
-3
0
-20
0
0
-6
-11
0
0
15
0
24
54
0
-17
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
-46
27
-11
-5
-13
-25
4
-15
-15
-9
4
11
20
-22
1
-14
6
-3
-62
10
-35
-15
-18
-9
-3
1
2
-11
0
-2
-5
0
8
-3
-24
-60
8
30
-2
1
-2
0
0
0
0
0
0
0
0
-52
13
-43
-19
-11
11
-33
-16
9
-29
45
-35
-30
3
34
12
-19
-27
17
24
14
-26
26
7
98
-29
8
-49
-49
-71
13
40
35
19
-14
10
-45
-8
6
76
-8
-68
-9
6
17
0
0
0
-19
69
9
25
-69
65
-2
13
-52
-19
-3
-28
1
5
3
-17
56
9
12
8
17
17
-14
9
38
29
13
57
15
17
-2
-68
33
-20
20
24
-2
-16
-22
-4
-10
-17
6
-36
-16
-3
-5
-69
34
-7
-10
-1
21
-2
45
14
-12
0
4
6
2
0
-45
-21
13
-8
40
33
-28
1
-12
-66
14
8
6
29
4
61
-38
36
31
9
-4
49
-3
-16
-7
55
27
-15
-1
-31
0
-3
-31
-52
-35
-65
-4
4
-32
0
-39
-45
-16
-65
5
-10
0
-1
49
-21
33
-26
-1
8
-38
-12
-22
8
0
13
37
-6
-1
11
4
0
-5
11
-51
4
-4
-10
-25
-13
55
-52
36
29
12
-15
2
39
65
13
-47
22
-25
6
-55
37
-3
17
0
-6
8
27
-16
-52
-6
-17
-80
-16
-15
-23
-55
-44
7
-24
-24
-13
24
-22
28
-41
-1
-6
-6
-32
-34
8
-45
-1
-10
12
-1
19
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
6
-1
0
0
4
-1
-1
5
-9
0
0
0
0
0
0
-4
0
0
-2
0
-3
0
1
0
36
0
0
3
0
0
0
0
0
0
0
0
-3
30
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
0
45
0
0
27
0
0
-1
38
-6
27
-40
-14
9
0
16
0
-3
19
7
0
0
11
0
-38
11
-7
0
0
-4
0
-3
0
3
0
0
0
-8
7
0
0
-35
0
0
0
-7
0
-12
13
-1
0
0
0
-10
-22
-2
0
-53
0
0
-12
-37
0
-63
-11
9
0
9
-24
0
0
-6
0
0
24
-11
0
35
32
10
0
8
-92
0
0
6
0
0
17
-3
-1
30
-54
1
0
-1
5
0
0
0
0
0
0
3
-18
-6
0
0
0
0
-20
0
0
0
0
0
0
-14
16
-4
6
0
0
-16
-40
0
6
-57
0
0
-54
7
0
0
-16
0
0
58
-20
0
2
-3
0
0
2
25
0
0
83
-20
-3
-3
2
0
0
-15
0
-3
0
13
0
-8
-1
0
17
0
21
0
0
0
0
0
0
-31
22
0
6
0
0
0
0
0
27
9
0
0
8
-17
0
0
-19
0
0
0
19
6
1
13
0
0
-2
-6
0
-6
10
3
0
0
2
0
14
-46
0
0
1
28
0
-2
-2
0
0
0
-37
0
-10
-2
0
10
0
20
0
0
0
0
0
0
0
0
0
0
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
0
-1
-10
14
3
-46
-43
-3
5
-5
-7
0
-11
-50
56
-4
-2
0
0
0
-17
-15
1
0
-8
-1
0
-2
-6
0
0
-2
0
-1
-8
44
-1
13
-1
0
0
0
0
0
0
0
0
-21
-43
13
16
8
5
0
-21
-25
-7
-13
-71
-37
-2
27
11
-2
1
14
32
-11
42
-11
6
9
-5
-7
8
4
-17
3
-2
-5
6
1
45
-3
-1
0
-19
-12
-4
-4
-3
-2
0
0
25
0
1
4
3
52
16
10
0
-2
-3
24
18
3
6
-1
4
6
27
12
2
-68
0
-36
-7
-21
-7
-19
-18
0
-18
1
5
22
-23
-12
0
-15
-8
0
9
-6
8
3
4
31
0
-5
2
-28
0
-61
-9
12
-3
34
0
0
0
20
-25
17
-2
-64
0
-4
10
-2
11
61
8
0
-51
7
-55
8
37
4
0
-23
9
6
-10
6
-6
0
17
-11
29
30
-7
14
0
1
2
1
-7
1
45
0
51
6
-10
6
-8
13
0
56
4
1
-7
17
1
0
11
5
-3
-34
8
-38
0
0
14
0
1
0
-11
0
0
8
20
-1
54
32
0
5
-21
-1
-3
0
2
0
-35
8
0
4
-8
74
0
-7
-3
9
16
-12
-2
0
3
-15
-8
12
-6
-14
0
-3
-5
-2
4
16
-9
0
-23
-18
0
37
13
7
0
0
12
-5
1
-54
5
0
0
7
-28
52
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
-84
58
54
78
1
44
-27
36
17
58
-12
-69
-17
-71
9
4
2
6
45
18
-68
0
26
2
0
0
42
34
-2
18
22
-1
7
-2
0
0
0
0
0
0
0
0
-28
-16
3
14
-21
-25
-28
-20
13
-47
0
-6
-5
-1
20
-9
38
27
-28
11
-29
-72
0
1
16
-34
-47
-65
26
-7
0
11
-32
34
-48
72
-5
4
-1
-70
-32
-70
12
10
-8
0
0
-4
-43
-1
4
39
6
-25
-4
-2
-5
-11
31
42
-5
-10
7
-43
25
73
0
-28
-25
-68
-28
-6
24
1
-29
-43
2
-53
-14
71
18
-28
-25
-61
-6
-1
-105
34
-34
15
-44
-61
16
-29
-6
-64
-36
-103
41
-10
-7
8
-2
-11
-43
-4
1
-20
40
-1
-39
0
-16
2
28
-40
-17
40
7
-36
-16
-26
9
-7
-17
31
-8
9
-2
-19
-30
24
-78
-54
-3
41
7
-7
-22
-34
-18
4
9
27
-18
-80
-56
-41
-14
34
18
-17
-14
-18
28
-6
-4
38
-13
-15
-40
-37
15
19
-4
-25
-36
-51
0
0
-27
4
8
-16
-52
11
-8
10
-66
30
-41
2
46
-20
7
-30
-7
4
-6
-10
3
-13
-33
-23
-7
-18
-9
-6
-20
8
8
-3
18
-10
-3
21
-6
-24
-29
-22
53
-15
12
-17
0
46
25
-1
-5
36
0
-21
-21
2
30
5
-3
-17
-84
-12
-57
0
1
-30
8
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
-63
18
-34
-2
-10
11
-49
78
23
42
7
1
-32
-24
0
29
8
-19
-1
-1
-179
0
0
-1
0
0
21
3
-2
24
4
-1
14
0
-2
0
0
0
0
0
0
0
-27
-52
-20
13
-20
-64
-19
1
-27
5
58
21
2
8
9
0
13
-13
3
34
-20
8
-8
3
6
-17
-37
-43
-16
-23
2
-1
-43
-10
-142
-11
-13
0
0
-8
-66
-79
0
-3
30
0
0
1
-37
-2
8
0
12
-22
9
0
-34
-11
-23
60
-7
19
18
-6
-3
-10
4
-31
6
-10
-14
-6
17
13
-10
15
9
6
0
-3
11
-52
-18
6
-8
-3
0
-20
-38
31
-2
-73
-10
0
-12
-10
31
-37
-33
-13
0
-2
-10
-7
-57
0
19
-17
0
0
-44
-46
-1
13
-10
32
66
9
-1
-22
3
54
-36
30
-47
-1
21
21
5
22
13
22
-29
8
19
-15
16
-14
26
29
0
0
-23
16
20
-5
-8
18
-2
58
-39
-26
0
-103
75
-7
-6
4
-58
16
-65
13
-1
0
-9
-72
-20
-69
-1
15
-84
-6
16
5
-37
0
17
0
50
-51
5
0
-15
-24
-45
-18
-5
-11
-6
24
12
14
25
11
4
3
-35
-5
31
4
-8
-6
-17
-27
0
-15
-25
-12
6
6
-21
-6
5
4
-24
-105
-17
3
10
16
51
-48
15
-29
-1
0
0
-13
42
1
-18
8
-22
13
-8
-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
20
-29
-3
0
-6
0
-20
62
-27
0
0
0
-6
-12
0
4
0
-8
0
0
8
0
0
7
0
0
20
-6
0
-19
24
-2
-2
0
-1
0
0
0
0
0
0
0
-7
-4
0
8
-4
0
-20
19
-65
0
10
-20
47
17
10
-32
-1
7
-19
-1
38
16
14
-1
0
-15
36
-9
-10
9
0
0
33
0
2
0
-8
0
7
10
19
8
0
-11
-8
0
0
0
1
0
-12
20
0
-26
-7
0
-26
19
0
19
-32
0
0
-41
1
0
5
-7
31
2
-45
-15
6
10
28
0
-6
-22
-36
0
7
-17
19
-4
-6
8
-4
-5
10
0
-4
19
2
0
-36
-8
-62
2
-15
5
0
0
6
24
-16
0
10
22
-2
0
0
84
0
7
58
-3
10
-1
6
-15
23
-7
-16
12
7
-3
24
8
0
20
1
3
0
19
-33
15
-25
-31
-1
-37
-40
-44
-3
-17
-17
0
63
-51
-25
0
-49
15
-27
-8
-5
-11
-1
6
-29
1
-24
-2
13
9
-6
12
2
40
-1
-22
0
24
-6
7
6
0
-10
-1
-1
0
-1
0
9
5
-2
-38
-22
3
-1
8
12
-1
-10
-36
10
8
55
-25
-9
-51
78
1
-9
28
9
0
-61
-76
-20
17
8
7
0
-14
-4
0
-12
0
-1
0
-32
-1
12
17
0
-8
4
-70
4
-7
-9
0
-17
-41
-3
-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
-7
20
0
0
1
1
3
0
29
0
0
0
-1
-9
0
4
0
25
0
0
-24
0
0
-8
0
0
0
12
0
-12
-40
0
0
0
0
0
0
0
0
0
0
0
-19
-20
0
0
-24
1
30
-6
-24
-1
45
25
-20
-3
40
-15
-3
11
-62
0
61
22
-9
-7
0
27
17
-92
-13
-29
0
0
-3
0
15
0
27
0
0
-2
11
-18
0
0
-29
0
0
0
48
0
-8
33
-6
-13
-7
0
-96
-1
0
0
-60
0
0
14
-25
4
11
16
-35
-2
-31
-13
11
0
-4
18
2
-105
28
0
0
27
-23
0
19
4
1
0
36
0
-3
2
31
0
-40
20
-57
0
0
-21
0
0
0
0
-3
0
-17
-106
-43
-1
4
-2
0
17
14
0
2
0
0
41
-6
-17
4
-22
0
0
-30
-35
-1
-73
-18
0
-9
-17
16
0
3
-14
-21
3
-11
14
0
2
-34
20
1
-7
13
0
0
13
91
-2
-4
-11
17
1
13
0
-2
13
-5
0
0
10
-9
-2
0
-10
27
0
0
0
0
0
-26
49
0
0
-2
0
1
-30
0
-4
11
3
0
37
-8
12
8
32
6
0
-6
-16
-10
5
37
0
1
-3
-4
0
-1
6
18
0
24
7
1
-8
-31
0
-15
0
-5
0
-7
19
56
21
0
-4
0
11
-1
0
5
0
15
12
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
71
0
-1
0
-3
-47
-6
65
0
-1
-12
-39
47
-1
-3
45
5
0
0
-20
0
0
-7
0
0
11
-22
0
11
-9
-2
3
-1
0
0
0
0
0
0
0
0
-20
49
3
-21
6
-9
1
-22
-31
10
-4
-12
-7
-6
17
57
10
32
-44
-11
-40
-8
28
0
14
-4
-43
-58
-66
5
0
-1
34
0
-78
18
-21
0
0
2
-53
-58
0
5
-46
0
0
-2
-23
0
-5
-38
1
-70
8
0
-13
-14
19
29
1
18
-6
-41
12
4
19
-10
-51
-8
-16
-19
51
-4
4
48
-6
38
36
29
-8
9
47
0
-13
-14
0
4
-88
-7
46
-21
12
0
4
10
-69
-15
35
-4
-4
-2
0
0
-36
0
-4
-2
48
0
-9
-10
-3
12
-4
0
9
-3
0
-58
10
-22
-2
-25
13
48
-56
-5
2
-24
10
9
14
-36
-33
16
-58
33
-27
-34
-28
19
7
13
-105
-49
22
5
-7
0
47
22
20
-38
2
-3
0
1
-8
3
-28
-1
-12
12
-12
-3
-56
-38
0
-34
12
-16
0
-3
28
0
10
62
20
-8
-3
0
-11
-33
17
-44
-6
2
0
28
-6
2
38
33
-5
0
-2
-40
2
23
-8
25
-1
12
-12
10
-2
-63
-20
-2
11
-23
0
12
-5
13
0
17
-25
0
-27
-17
-20
-30
0
-10
0
-5
-2
0
-1
0
-5
-29
-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
-11
-35
31
-2
3
-2
-5
-65
19
-1
33
-5
0
19
0
22
14
11
0
0
-10
0
-2
-1
0
0
0
-2
-1
-7
-30
16
17
0
0
0
0
0
0
0
0
0
-18
-22
-20
0
-2
0
-24
-42
-34
-6
47
-20
-6
5
13
-36
1
36
19
-7
-5
-86
-21
0
-5
-17
0
14
-54
-32
2
-2
-5
0
2
-1
2
-1
0
-11
0
14
-1
11
10
0
0
0
-1
0
7
-13
-21
0
0
0
-4
3
-9
25
13
0
0
-53
-29
28
-27
-16
-15
12
-3
-9
43
27
-4
-1
10
9
-6
-15
-18
11
7
-18
15
-21
42
10
3
74
-24
-30
-30
0
-31
-6
-7
-14
46
6
-3
1
33
0
33
-1
-3
0
15
-1
0
-29
10
4
-33
20
13
0
-2
-1
10
27
-48
-29
-2
-3
-38
4
12
-12
-2
1
-31
10
14
40
-9
20
-32
26
-1
-12
-19
-50
5
0
-25
9
12
13
25
13
-3
-9
10
17
7
-9
1
4
6
-5
3
3
16
-11
33
9
0
-4
6
23
0
-7
11
0
4
-30
24
-19
0
0
22
6
-15
-10
21
0
-25
-45
7
-17
-6
9
15
-8
-13
18
-26
-23
34
-6
-14
18
-14
-2
-46
17
-53
-35
-16
27
-6
3
-19
19
56
-19
12
3
33
-1
-22
8
-62
-1
0
-14
-55
-7
-25
0
-18
-30
6
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
0
0
0
0
0
0
0
0
0
-18
17
-54
1
36
0
0
23
-34
76
59
-25
-12
0
17
-8
-5
3
-2
12
-1
0
-35
-14
0
-1
1
0
16
15
12
-2
-48
4
0
0
0
0
0
0
0
0
-3
30
0
9
-19
35
-1
-8
-40
15
-33
-15
-2
16
-17
6
16
-9
-51
-25
-11
4
19
1
21
-2
9
-3
26
-12
32
7
-17
17
18
9
-25
-3
-2
-24
-7
5
-6
-23
-11
0
-1
-55
37
13
0
-25
24
-7
0
0
1
5
-25
29
-20
41
0
5
13
31
30
-3
-20
0
-24
-3
36
14
-10
-32
-3
-23
-28
34
-58
-17
-16
-1
31
0
15
53
-13
62
0
33
27
-4
-24
-19
-26
0
3
-2
35
-2
11
-8
0
8
1
-24
-12
-4
-10
0
-3
1
-2
-9
-12
-4
0
23
14
-17
27
-18
-21
0
33
22
5
-4
-4
3
-1
18
-1
69
2
-10
-18
1
33
-19
-18
4
-16
35
0
46
1
17
56
2
13
-3
52
9
-6
13
14
37
-6
-28
-4
28
-6
-5
-4
2
-1
7
-32
25
23
18
0
-2
-2
-2
-30
9
-5
0
-3
5
-17
28
-22
15
0
-37
9
21
-7
-11
34
0
-6
6
3
26
-21
-1
6
8
-2
23
-32
5
25
0
64
1
-36
-26
32
-49
6
74
-17
-2
-26
7
-21
-1
19
5
0
-16
25
-24
0
-1
5
-14
-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
0
-31
29
-1
-14
19
-8
-16
-3
1
38
-4
39
1
-10
0
8
-4
0
-1
7
0
0
-2
-21
3
6
-19
-6
0
0
0
0
0
0
0
-1
-28
2
26
-25
18
-27
0
-35
-20
-9
-25
-32
-39
-19
-23
24
-2
-57
-57
-27
-14
1
5
16
27
11
-7
3
-9
-37
11
-11
31
-4
1
2
0
0
28
-1
-17
0
17
-52
0
0
-20
-33
0
-4
8
-14
-22
-50
3
8
-3
3
12
-13
-18
-17
3
2
29
-3
-33
-17
16
-10
-13
39
-2
-11
19
-67
-60
-2
27
-5
5
-22
-34
-85
-5
-7
29
9
-32
-29
-1
11
-22
-1
23
-2
-19
2
-13
11
13
48
-25
4
6
7
-10
-40
1
8
-3
0
0
13
32
12
7
26
-82
-11
-46
-27
-38
-27
-15
26
0
14
-14
-26
-42
17
-2
-6
36
-9
-13
-15
-16
-24
-1
-13
18
10
-9
-41
41
-7
-4
-44
3
-13
-18
-15
-7
-6
27
7
-71
-27
0
-3
-8
-2
-6
-3
-27
0
-10
-16
-3
-4
-11
-28
0
-12
22
11
21
-16
-2
50
-11
27
-3
10
-72
-31
23
-9
18
-44
8
-19
-13
-9
1
-8
-32
-7
6
42
47
-15
-16
-104
17
-25
-41
-41
2
-6
7
10
-10
-53
80
-3
13
6
42
-32
-18
1
-3
-17
-26
-15
-1
-3
0
-28
-12
-6
-1
-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
18
7
-4
-2
0
22
-48
-22
-65
11
-11
28
-6
-92
0
-2
-9
0
-1
-2
-2
-1
-13
-2
-1
8
-1
0
0
0
0
0
0
0
0
-38
14
-8
18
-9
16
-36
9
11
35
-3
-15
-1
-31
-26
-33
0
-2
14
-5
-7
33
0
51
4
22
68
-3
-46
-40
-2
-2
-4
-6
-79
-6
15
-1
-2
-3
-64
-79
-7
35
-23
0
-1
-7
-56
-9
15
25
36
-5
-6
0
-32
-9
-12
22
-20
3
0
-18
-8
-10
-8
2
-7
-5
-36
-12
7
11
-15
73
-20
19
-12
-38
71
1
58
39
26
0
12
-4
-13
45
-37
24
23
-9
-20
-39
13
-29
3
5
-3
-4
-1
42
-31
-2
8
-33
-12
6
-20
-14
15
20
41
18
-40
0
1
-33
2
-31
-7
32
-71
2
-5
2
9
15
-14
-23
-33
-4
-5
18
6
-31
-36
14
-10
16
29
-41
-30
70
4
-4
0
4
-19
5
-26
-18
-14
-8
-7
-29
-19
38
-55
-15
-15
6
0
-14
-53
-7
17
2
18
-28
-2
20
-24
-1
26
-43
0
-7
-1
4
11
-6
58
-5
-10
7
4
3
5
-62
-12
-33
-23
-2
-25
-22
-26
-11
0
5
21
-8
1
10
-32
-25
22
15
-13
0
-7
-25
-5
30
4
8
-5
-9
21
-2
-47
0
3
24
0
-15
-26
40
20
-5
12
-30
-33
-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
4
51
0
0
0
0
-11
0
0
0
-11
0
0
-25
0
0
24
0
0
0
6
0
-49
-13
0
0
0
0
0
0
0
0
0
0
0
-38
8
0
-2
11
-10
-3
-8
0
0
-8
-21
-8
32
10
-16
4
0
26
-3
-4
58
-27
0
7
-3
-6
-52
7
-2
0
-4
18
0
40
1
-16
0
0
7
16
29
4
21
-32
0
0
0
40
0
-1
33
41
22
0
0
-32
12
0
0
6
0
0
13
12
-9
-14
-5
42
0
14
3
3
64
-4
-8
0
-54
-8
-1
1
-4
-5
101
-20
-132
0
15
-34
0
-10
0
23
0
-17
-7
7
32
0
6
0
0
38
-10
17
0
-15
-51
5
0
17
3
0
-14
45
0
5
0
0
0
-21
21
71
-25
0
0
56
25
0
24
15
0
-6
58
23
0
0
13
27
0
-19
-26
0
-6
-87
0
-16
-4
-55
0
37
-18
-7
0
0
-10
0
7
-33
0
-1
0
-11
0
11
-8
62
-55
0
11
0
0
0
0
18
0
-32
-12
0
-1
1
0
0
29
-4
-37
49
0
0
9
5
0
63
56
0
0
24
14
0
-10
-35
0
0
0
13
-3
36
3
-10
0
0
-35
0
10
25
0
0
-6
-11
0
-7
0
3
0
0
6
0
-12
7
0
2
0
-12
53
3
0
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
-2
0
0
2
0
-70
0
0
22
0
0
-8
0
0
0
0
0
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
-2
45
-13
0
-4
-32
-67
4
-67
-13
0
0
14
7
-2
49
3
0
0
-12
9
2
14
-5
0
0
20
0
30
0
22
0
0
0
-1
50
0
0
-22
0
0
0
-2
0
-25
21
-17
1
0
0
42
-16
0
0
-21
0
0
38
37
0
-12
-14
-17
0
-54
2
0
-1
-13
10
21
-13
-38
0
0
14
-6
-1
22
-24
0
0
4
0
7
0
-42
0
16
-10
-14
-30
0
-25
0
0
0
-1
0
0
-45
49
-3
0
-1
0
0
11
-2
0
4
0
0
0
15
-25
0
-3
-1
0
-21
-34
0
0
-50
0
0
-9
16
22
0
-20
0
0
5
-44
0
0
31
0
-2
-13
-5
0
0
-55
16
3
0
-17
0
0
6
-1
62
0
-4
0
0
0
-10
-1
0
-15
0
0
0
2
1
0
22
1
0
0
0
0
0
1
0
-9
29
0
0
0
-62
0
2
40
0
0
-1
-37
-7
6
-17
-3
0
0
-3
0
11
-15
0
0
0
-11
0
-12
-1
0
-1
-7
-63
0
0
-3
-6
0
0
-9
0
-10
-3
-4
-12
0
-44
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
33
0
0
0
15
1
0
-8
0
26
0
0
-49
0
0
-24
0
0
0
-2
0
-46
24
0
0
0
0
0
0
0
0
0
0
0
21
-12
1
0
-53
0
0
17
-4
4
-1
35
3
9
-24
1
0
0
-42
0
-18
0
-43
8
0
0
7
-17
-18
-23
0
0
31
23
48
-2
10
0
0
0
40
-39
0
0
-52
0
0
0
-30
0
28
-49
-20
0
1
0
-52
-12
1
-1
-40
0
0
-12
-14
21
12
-75
-80
36
-20
-36
-11
-2
-61
2
-9
-22
3
0
0
-42
-63
2
38
-23
0
0
68
1
28
8
18
0
-30
1
4
2
8
-25
0
9
12
0
-21
0
13
-3
-1
0
-8
3
0
52
4
0
-2
0
0
-6
-15
-26
13
-33
1
2
0
-43
22
64
-52
42
0
-23
2
-2
13
-64
18
-2
-52
-29
0
0
-21
-3
-7
-85
-30
9
6
22
-33
-12
1
-21
0
0
13
1
29
0
24
8
18
0
40
-19
0
-4
-1
3
0
0
-11
0
12
-2
9
0
0
0
0
15
0
66
-7
-1
0
-1
-38
0
-11
-10
1
24
-14
-22
0
66
7
0
-1
-27
32
-8
12
-4
-18
-12
37
-26
0
-21
-5
0
-15
14
-1
0
0
0
-30
1
0
-19
0
-52
0
0
12
0
12
-6
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
0
0
-1
-6
-1
0
0
0
-6
0
0
-2
0
0
36
0
0
0
0
0
12
-12
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
-43
0
27
-9
28
0
0
13
-4
-8
10
-1
0
0
-2
0
4
-19
0
0
0
40
0
28
53
-12
0
0
-15
0
-10
0
2
0
0
-2
0
-2
0
0
16
0
0
0
-21
0
20
9
10
-4
0
0
1
-20
0
0
-52
0
0
-20
-19
-1
-21
-22
-1
0
2
-52
0
0
-14
0
0
-21
-2
0
0
-63
7
0
62
-16
0
0
19
0
-2
8
-34
0
-3
-3
4
-4
4
-41
0
0
18
0
-1
0
-10
17
-1
0
0
-12
0
-1
0
0
0
0
0
-13
-19
-6
3
27
0
0
-22
-10
0
0
-24
0
0
-33
-10
0
0
6
0
0
-34
3
10
-1
-104
0
0
-10
3
0
0
-30
-3
-36
-9
15
0
0
-19
0
15
0
25
0
0
29
3
-1
0
-27
0
0
0
0
0
0
9
1
0
-1
0
0
0
21
0
-42
-1
0
0
3
-11
0
0
14
0
0
24
-23
0
-7
-21
0
0
3
35
0
0
1
0
0
0
-3
0
1
-1
0
-1
0
4
0
0
-2
0
0
0
-8
0
-10
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
32
-38
14
0
-9
-11
0
-1
-7
63
1
2
-19
12
0
-12
2
0
0
21
0
0
-16
11
109
5
2
0
0
0
0
0
0
0
0
-16
32
-3
22
-14
-6
0
6
-22
12
11
-17
-15
1
-9
3
6
18
7
-19
-8
-18
-39
13
-1
11
9
11
14
-9
-15
34
-14
0
-1
36
4
10
-4
-18
6
-8
-2
29
10
0
0
-25
-2
-23
-3
-30
-11
-30
12
0
-4
-7
8
-16
-1
-6
0
10
8
6
6
5
-52
0
-10
6
0
2
-7
-14
0
-22
-22
-35
-10
-14
-9
0
-5
-61
14
-29
-6
-64
0
19
8
-2
-11
1
19
0
-14
10
-2
79
-1
19
-26
-7
0
-1
-10
-4
24
0
0
0
17
-26
-8
0
0
0
-4
-9
-26
18
-37
0
24
25
-7
-66
-8
-17
0
2
9
15
2
1
8
0
1
-9
-15
-20
-6
9
1
40
-12
-11
-20
-8
6
3
44
3
23
-14
15
38
-6
22
8
0
64
12
19
0
0
10
-21
11
-65
-7
0
0
-7
-15
0
5
34
0
-34
-5
0
-16
-31
-6
0
33
17
0
-3
27
-17
0
1
4
-15
-18
-26
10
2
41
-1
-23
8
29
-7
0
20
-18
11
-18
12
8
0
107
-12
38
14
6
28
-1
10
22
-1
-9
18
10
0
0
2
18
4
-10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
-38
0
0
-15
0
0
0
-6
0
-29
-56
-6
0
0
0
0
0
0
0
0
0
0
-16
0
0
-2
-24
0
-25
-13
-27
5
-1
3
-84
-65
26
24
4
0
5
22
-8
22
-15
19
30
0
-25
-9
16
49
0
0
10
49
21
0
2
-4
1
-76
-4
-49
0
-3
-69
0
0
0
1
0
5
29
27
-18
0
0
30
2
0
0
-5
0
-9
-4
-14
-3
36
10
-49
0
19
-18
0
0
-16
-1
-33
-8
23
0
38
-26
-16
6
-48
-20
0
-7
22
25
-6
0
4
0
-4
-35
7
26
0
-75
28
0
-35
0
-2
0
-1
9
-65
0
-20
0
0
10
26
0
0
0
0
8
-15
-45
-8
-36
-6
-6
1
-33
0
-8
-13
1
6
-50
17
5
-5
-18
-24
-4
-12
28
-7
-23
-27
0
-93
0
-7
0
0
-57
-39
-17
28
-33
0
1
-20
-9
-10
5
-47
0
0
-16
-16
-47
0
-10
-19
-2
-1
-50
-2
0
6
-22
9
0
11
0
0
26
1
-7
1
0
4
0
-23
0
10
-98
4
-1
0
0
5
-12
6
1
8
0
-20
0
45
18
-5
-12
7
-24
7
-3
-72
-16
37
0
1
0
52
0
-51
-14
0
-40
0
-17
-1
-8
21
0
-68
4
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
-1
23
6
-17
-2
0
-73
0
3
-32
0
0
-2
-1
0
-28
2
4
12
0
0
0
0
0
0
0
0
0
-22
-52
0
-3
-16
-15
-7
-17
-12
-5
-36
7
-30
-50
8
-6
14
19
22
12
-48
33
-6
1
100
25
-4
-74
4
0
29
-14
70
-20
21
-37
3
9
0
6
20
-63
3
33
5
0
0
1
-29
-1
-14
2
-9
-4
-7
0
-37
29
11
-26
-19
0
21
-32
5
-13
3
-8
12
-3
-16
5
-2
-2
-28
23
12
8
-5
-15
-30
-3
-22
-60
16
-19
-9
8
-7
-8
-94
-9
0
11
3
-17
12
-31
19
-25
28
-22
-24
33
-44
0
-19
2
-8
3
-3
5
4
-10
-33
-4
-27
0
0
2
10
0
-16
23
21
-13
-46
13
-10
-69
-41
-8
3
-37
0
33
24
-1
-25
-2
-31
10
-3
-24
-27
-64
-44
18
-14
20
-31
14
-6
-50
-93
0
-9
-1
-32
-2
-31
0
-12
19
-68
-35
-8
-69
1
-21
38
-6
6
-3
-4
0
-5
-28
36
20
16
7
-36
1
6
9
13
-1
-2
-38
6
-22
-66
-32
-97
2
52
26
27
-5
-2
13
6
-10
-8
1
-44
-39
25
-13
-44
-1
-6
-36
-44
43
-2
-26
0
0
-8
12
-60
12
-13
11
0
-6
19
46
-4
-6
-22
-14
-1
-6
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
23
0
0
5
0
0
0
-4
0
27
-2
0
-1
0
0
0
0
0
0
0
0
0
-34
26
0
17
-53
0
0
-2
-10
2
0
0
-19
-46
16
19
0
0
81
0
25
-12
-13
0
0
14
28
-13
62
28
0
0
18
0
6
-7
-6
0
0
0
0
-5
0
-4
-8
0
0
0
10
0
40
-45
-8
10
0
0
6
-4
0
0
-86
0
0
-46
41
0
30
26
-8
0
-41
-33
0
-3
6
1
22
47
-23
0
0
39
18
0
9
15
0
2
0
0
-5
9
-76
0
-23
-26
13
24
0
38
0
0
-3
0
8
0
-10
-3
24
0
0
33
0
59
16
0
-3
0
0
-12
-19
0
8
-25
-1
0
-11
40
0
0
-7
0
0
-12
14
0
-1
-10
31
1
15
-4
0
-4
6
0
0
10
-45
0
47
-13
35
2
4
-92
0
-3
-11
0
-12
0
-12
0
1
7
0
-3
2
-3
0
1
0
0
-1
0
16
12
0
0
-2
0
0
31
0
1
18
0
0
0
21
0
-12
-4
0
0
-4
10
0
-21
-2
0
0
-3
-13
0
21
-13
0
1
1
-34
0
21
1
-9
8
2
-8
0
-16
0
12
-9
0
-7
0
-77
-8
0
0
0
19
-18
-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
66
4
24
0
0
13
0
0
8
0
0
-1
0
0
-3
27
0
0
0
0
0
0
0
0
0
0
0
-42
-1
22
0
-16
0
-2
-32
-10
-4
0
23
30
-25
-38
64
0
0
-89
0
0
0
2
0
0
-20
-13
38
-21
-31
0
0
-6
0
-11
8
-2
0
0
0
46
15
0
10
-1
0
0
0
41
0
-5
-1
-1
-4
0
0
-25
-14
0
0
-31
0
0
-20
-66
10
-45
5
45
0
23
-27
0
0
16
0
4
53
-41
0
0
-15
55
0
18
5
0
0
-19
30
0
11
-80
0
-1
-4
-46
6
-7
-1
0
0
0
0
-9
0
-30
-63
23
0
-1
0
0
-39
1
0
10
0
0
0
-38
-2
0
-20
-3
0
-77
-8
0
0
35
0
0
-30
19
0
-1
7
-10
0
24
-1
0
0
-1
0
0
-16
9
0
0
-9
-28
-1
-1
-6
0
-2
-3
0
-74
0
6
0
0
-6
-3
-2
0
-57
-3
0
0
0
0
33
-4
-19
0
2
0
0
0
-7
0
52
-3
0
0
-2
2
0
-10
-1
0
1
30
0
0
1
16
0
2
0
-7
0
0
-25
8
0
0
65
0
-7
4
0
-1
0
-9
0
0
-26
-20
-13
0
-40
0
-44
-1
0
-1
0
-39
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-4
0
0
-33
0
0
0
0
0
0
0
0
37
-16
0
0
0
0
0
0
0
0
0
0
0
-37
16
0
28
-16
-1
-27
-34
34
-1
0
-20
-24
-58
-15
-5
0
0
-1
-13
16
0
-22
0
0
43
-3
-5
18
-47
0
0
46
-22
-13
14
31
-1
36
-20
-11
28
0
0
-100
0
0
44
29
0
-28
-27
-33
8
-1
0
-20
30
6
2
-13
13
0
-42
-4
0
-4
-30
7
0
-27
4
0
0
-6
41
-24
-28
-9
0
0
-43
-33
-38
4
11
3
0
38
44
2
-39
-22
0
-6
37
-17
-38
36
-2
0
-2
0
6
45
0
-2
-78
-27
0
-51
1
0
-24
22
0
0
0
0
-17
13
48
41
-66
12
-4
59
-14
-2
2
-23
-32
-17
20
-15
50
-3
37
1
-35
-39
-22
0
-2
-15
22
-22
4
16
-7
9
-17
-29
-9
-5
-5
0
2
-18
3
-4
21
-30
0
-1
0
-10
-25
0
-8
-10
3
0
3
-22
0
-30
4
4
0
-10
0
4
-5
0
-8
-37
-8
-3
11
-14
0
4
-16
-7
-6
39
-5
5
20
37
5
-5
-10
11
2
28
1
-30
-52
39
1
0
-50
15
-8
-51
-16
6
0
-4
1
-63
-30
-2
-15
0
-2
0
-2
48
0
6
-4
0
0
-21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-11
-20
0
18
0
0
7
0
0
0
0
0
-57
30
-1
12
0
0
0
0
0
0
0
0
0
-24
-5
3
-6
-33
0
35
-39
-67
7
-4
2
-4
-7
-19
-2
0
-3
-4
4
5
-73
-35
0
0
-38
8
-6
-25
12
7
0
-3
22
36
-2
-25
0
0
17
-3
5
0
-9
3
0
0
0
-20
9
-18
-6
16
18
0
0
-41
-8
14
7
-13
0
0
-10
-17
6
17
-10
-2
0
-14
-16
0
11
-22
0
47
11
-15
0
-3
14
-2
3
-5
-9
0
-1
9
8
-12
-7
-19
-2
22
-9
-7
-33
30
12
0
0
-2
-2
-12
4
-4
-5
-53
0
-9
8
-2
-25
39
0
6
0
-18
16
-1
40
14
1
0
19
-14
-4
3
-27
19
0
27
10
-31
0
-41
-23
-3
41
7
15
0
-11
-11
-1
16
13
1
2
-11
4
-4
49
47
-11
7
38
28
14
13
1
15
0
0
-8
-2
0
0
27
46
0
0
0
10
0
-27
22
6
37
0
0
-66
7
-6
17
8
0
0
68
-7
0
4
31
-1
-2
-27
16
0
-35
18
1
32
48
29
0
-48
-53
-13
-29
38
21
-4
-4
-5
0
15
-4
-8
0
9
-29
-2
27
-8
23
0
-3
-29
-3
-12
0
18
14
12
-4
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
-2
0
-24
0
0
-4
0
0
-8
-16
0
6
15
0
-9
-4
29
-13
13
0
0
0
0
0
0
0
0
0
-22
5
-7
-7
0
-3
0
-21
-11
1
-10
-52
7
16
-13
-6
10
24
-15
-4
2
40
-6
38
-4
17
-7
-3
28
-56
29
-2
30
-2
-3
16
6
-1
-6
3
22
-2
-4
-3
5
3
0
-8
-2
-21
-4
20
22
-1
0
0
-12
3
55
-9
-25
1
0
24
8
33
26
-7
-3
0
2
15
-6
34
-11
-46
0
-12
-12
0
-1
-15
-9
0
22
4
-9
26
-11
8
0
-3
-7
-3
-48
14
11
0
-32
8
13
2
56
31
0
0
6
-20
13
7
3
0
8
3
-13
30
47
13
0
-8
6
31
-15
-1
29
2
22
4
19
0
-14
-7
0
12
12
17
15
20
34
0
10
-13
-5
34
7
-5
0
4
-7
-10
61
19
-16
0
-19
0
30
-5
-9
1
0
55
7
6
33
17
25
1
0
15
23
37
0
25
0
0
-5
-11
-6
-8
-20
0
-27
5
17
18
-39
8
0
3
7
33
-28
-3
11
-2
46
8
8
36
20
7
-6
45
5
45
64
12
12
0
30
4
32
-15
24
-49
-2
-34
-4
-6
-75
1
-4
0
41
-8
4
-13
-12
13
0
16
16
-12
-6
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
16
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
-57
0
-4
0
-26
0
1
65
4
6
0
13
-12
0
-5
-8
0
0
46
0
0
1
2
0
2
44
58
2
-33
-3
0
0
21
1
2
-1
21
0
0
3
-1
-3
0
0
-26
0
0
0
0
0
14
3
0
0
0
0
24
0
0
0
-11
0
0
-10
52
-4
-70
-38
0
0
-5
35
0
0
19
0
0
4
-45
0
0
-5
16
0
0
-10
0
0
10
4
9
-9
-7
0
2
0
-7
10
0
-38
0
0
4
0
-1
0
-61
2
-1
0
0
0
0
-54
6
0
0
0
0
0
-5
2
0
-25
0
0
1
50
0
0
-5
0
0
-1
-30
0
0
9
-12
0
0
33
2
0
13
-6
0
13
63
0
0
-2
-4
0
0
17
0
0
-4
0
-2
1
37
0
0
22
16
1
0
-37
0
0
0
2
0
0
-120
0
0
0
0
0
0
7
-16
15
-2
0
0
0
-34
12
0
0
-1
0
0
-31
0
-4
-9
0
0
0
52
0
0
49
0
0
3
-63
0
117
0
0
0
0
-3
0
0
0
12
0
0
-53
0
-11
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
16
-18
0
0
0
-10
0
16
-11
0
0
0
0
0
0
0
0
0
0
0
-25
2
19
0
-29
0
1
-42
1
-5
25
21
-19
-15
-14
7
14
0
-46
-12
-25
8
-6
0
9
1
31
-10
-78
-58
0
16
-17
6
18
18
0
13
0
90
37
-22
2
-4
-104
0
0
-2
38
0
-16
3
-31
15
-1
0
32
14
21
0
11
0
0
-17
10
17
14
-24
-27
0
-28
-8
0
4
-23
-38
6
-6
-10
16
-6
2
15
5
3
-37
-7
0
22
-1
-7
10
-17
1
-9
16
-10
18
17
0
27
0
7
22
14
0
-28
-25
5
-1
-56
0
3
-17
21
-4
12
0
6
34
5
-8
3
-6
-14
3
5
-27
-8
-20
-9
15
4
4
19
26
-14
-19
15
-8
-55
5
7
-9
-5
-15
10
-12
11
10
-8
20
-33
-1
-10
3
-1
-2
-28
20
-17
3
0
0
-3
-62
17
-1
0
-31
12
0
-6
0
0
0
-20
-19
-42
-4
0
0
0
11
-5
-26
88
0
4
-21
-22
29
-13
-73
-10
-1
1
-20
-3
-37
-19
22
6
13
19
1
28
2
33
-25
-6
-6
0
-7
26
26
-18
0
16
0
7
-24
-19
0
0
0
0
-39
8
-2
31
0
-3
10
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
4
0
29
0
0
0
-2
0
53
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
-1
-36
-12
2
34
6
0
-1
1
-14
1
24
16
0
20
-3
0
-4
16
-8
0
2
-12
13
83
144
-18
0
2
33
0
14
0
-8
3
0
0
0
5
0
1
50
0
0
0
14
0
-30
3
-2
57
0
0
24
18
0
3
-75
0
0
14
-38
-3
-19
-10
2
0
17
-10
0
-4
-7
0
-24
-45
-21
0
0
22
45
10
-23
3
0
0
19
0
15
54
21
0
40
15
6
0
0
-57
-1
0
0
0
-1
0
-50
-19
-13
0
0
20
0
-4
-6
0
-3
0
0
-22
10
0
0
-12
0
0
-18
6
0
0
-32
0
17
0
6
0
51
23
-9
-6
28
-44
0
-3
-48
-1
3
0
-41
0
1
-10
-35
-3
16
0
0
2
-5
0
7
0
-63
0
2
-17
-9
22
0
-28
-6
0
0
0
3
0
-16
-9
0
8
0
0
0
14
0
-2
0
0
6
-4
-6
0
0
1
0
-10
-2
13
0
0
6
0
17
3
10
0
29
-3
-1
-1
-2
-43
0
77
-8
0
0
1
-76
0
0
-2
-21
0
7
-67
0
22
-10
0
12
0
-65
6
13
18
-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
-18
-85
-8
-28
-13
-30
-11
16
-8
1
-57
3
-47
17
0
0
0
0
0
0
0
-11
24
-5
18
-12
24
-7
-1
2
-18
0
4
9
13
-11
14
-28
6
3
-1
20
-12
-1
-1
31
5
20
27
9
-29
-74
-41
19
28
3
21
6
27
-34
7
11
5
7
-23
-22
-26
-36
-26
-2
8
-11
13
-28
-12
-6
4
3
-11
-4
2
-8
18
12
-6
-14
-14
-1
1
9
-37
-3
-13
4
-22
-10
-17
0
-15
-7
8
-25
2
-4
-1
6
4
-13
-8
10
-22
22
28
11
-11
-51
5
0
-5
-8
-9
19
3
-5
-4
-17
-42
3
-11
-49
-12
-19
13
-61
-11
11
-20
-9
53
-29
3
-15
-15
0
-6
-5
15
-6
-24
-10
-32
-11
3
22
-13
-7
-4
-3
-2
7
-15
-3
0
9
-2
2
-32
-18
-3
-7
-22
-12
-9
-4
1
17
2
-16
10
-4
-1
-1
-25
-8
-20
-18
-24
-5
-10
27
9
-22
-25
-34
-10
3
-53
0
8
-11
-57
34
6
-19
-22
-21
1
13
27
10
-15
-2
-19
8
6
-21
10
-12
-9
-24
7
-8
-40
-21
-21
0
-24
-30
1
-23
-3
-28
0
-15
-17
-10
10
4
7
-3
20
-18
-16
-9
-3
-23
-3
13
10
0
-47
11
-33
3
-31
-5
-39
-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
37
0
0
0
0
0
7
-3
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
-22
0
0
38
2
7
0
10
-13
0
2
-1
0
0
-2
0
-4
5
0
0
0
1
0
-2
-1
-1
0
0
15
0
-19
0
6
0
0
0
0
-41
0
-1
-10
0
0
0
0
0
-63
-7
-1
-2
0
0
-1
-5
0
0
-6
0
0
-43
-2
0
-4
26
-2
0
-45
30
0
0
-13
0
0
-7
-7
0
0
0
8
19
-3
-56
0
0
-1
0
-9
0
20
0
3
-2
2
0
0
-15
0
0
0
0
-1
0
59
0
-1
0
-1
1
0
14
0
0
0
0
0
0
21
0
-6
-26
-2
0
-1
8
0
0
1
0
0
-1
-30
0
3
-4
-22
0
-6
19
0
0
-1
0
-2
-1
-33
0
0
0
8
3
0
-24
0
0
-2
0
-7
0
-14
0
0
0
-1
-1
0
-92
0
0
0
0
0
0
-14
0
0
0
0
0
0
-34
0
-1
0
0
0
0
-19
0
0
-1
-1
0
1
31
0
-10
-2
0
0
0
-48
0
0
-3
-3
0
-1
7
0
-3
-1
-1
0
0
-47
0
-2
1
0
0
0
-54
0
-12
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
-14
0
0
19
43
0
0
-17
16
-5
-24
0
0
0
1
0
-7
-9
14
0
0
-28
-1
11
26
0
0
0
-1
6
-1
0
-1
0
0
0
0
-30
0
0
-54
0
0
0
1
0
-49
1
2
-1
0
0
-6
-15
6
0
-41
0
0
-19
-11
0
-8
-15
6
0
-17
-12
0
0
-6
-3
0
-21
-55
0
0
16
0
12
0
-56
0
0
-46
0
0
0
-10
0
-22
23
2
0
18
-2
0
0
0
0
8
0
-15
15
-2
0
0
-3
0
-35
2
0
0
0
0
0
57
-2
0
-11
0
0
6
-48
0
0
-25
0
0
-2
41
0
10
-23
-6
3
-3
-23
0
0
26
4
2
-1
-7
0
0
-4
-1
0
7
12
0
0
-1
0
-4
0
-57
0
0
-2
0
6
0
-68
0
0
0
0
-1
0
-11
-1
0
0
0
0
0
2
0
-2
-7
0
11
0
-2
0
-4
-1
0
0
0
-24
0
0
2
-1
0
3
15
0
0
-1
0
0
0
1
0
-46
-1
0
1
0
38
0
0
4
0
0
0
-1
0
-17
0
0
0
0
-37
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
2
7
0
0
-12
9
-11
-44
34
0
0
0
0
0
0
0
0
-20
14
8
-17
-20
-5
0
-13
-63
57
-36
-27
-8
-20
3
-35
0
-52
-8
-19
3
18
-17
-34
6
-2
25
-2
15
-22
-9
-33
14
1
0
-19
-54
-9
1
44
-21
20
-3
-7
11
-1
-5
50
0
-6
-1
-13
10
-42
-8
0
22
-9
-26
-59
-15
-25
0
3
34
-2
1
-11
-28
0
6
3
-3
-30
-9
-17
0
3
-15
-6
-27
-20
-38
0
46
2
-16
10
10
-43
0
14
18
38
-5
-13
-29
0
-49
6
-1
-66
-12
-16
40
0
12
-37
5
32
28
0
2
1
-38
-25
-13
-13
0
3
1
-19
-20
3
-5
0
18
21
27
16
-15
-29
0
23
6
62
-5
15
-23
21
14
2
-30
89
14
-17
-7
59
4
-43
8
18
-7
0
31
5
29
74
24
30
0
-23
-16
8
4
-2
-16
0
-3
2
-30
50
16
-14
0
43
-5
39
18
24
8
0
21
8
-28
-20
-29
-14
0
13
15
11
22
1
9
0
27
-6
-16
-6
-10
64
-11
34
1
2
6
16
57
0
80
14
-46
-6
36
-31
0
56
7
0
15
13
7
6
61
3
-30
-13
1
-66
0
-1
12
16
46
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
-24
0
0
0
-18
0
0
2
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
7
0
0
0
0
0
-35
0
0
0
0
0
1
14
0
0
-1
0
0
1
-30
0
-10
-2
0
0
-29
26
0
0
2
0
0
0
13
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
5
-1
0
0
0
0
0
-13
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
0
0
0
0
0
-32
0
0
0
0
0
0
-45
0
0
10
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-8
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-55
1
0
0
-22
0
0
-21
-6
0
0
-26
-90
-1
1
-1
0
0
15
0
-6
1
-2
0
0
-10
-1
-19
-3
-5
0
0
2
0
-3
0
-4
0
0
0
0
0
0
0
1
0
0
0
18
0
25
-12
-1
0
0
0
12
-6
0
0
-4
0
0
11
-4
0
-2
2
0
0
-11
-39
0
0
-6
0
0
-20
-79
0
0
-22
17
0
51
20
0
0
49
0
29
0
7
0
-12
12
-3
0
0
-6
0
0
0
0
0
0
0
-7
7
0
0
0
0
-41
-4
0
0
0
0
0
-1
-10
4
-10
0
0
-1
-1
10
0
21
0
0
-41
53
0
0
39
13
0
-1
9
0
0
51
0
0
-1
14
0
0
-19
7
0
-2
-31
0
2
1
0
-1
0
-65
0
-4
-1
-2
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
25
0
0
11
0
0
2
-19
1
0
0
0
0
0
-15
0
2
0
0
0
0
-7
0
17
2
-3
0
0
-66
0
-47
1
0
-9
4
-19
0
0
0
-9
0
0
-76
0
-32
0
0
4
0
0
-34
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
0
-32
28
19
-26
0
0
0
0
0
0
0
-6
-1
-8
-9
-15
-42
4
-2
3
-11
7
-6
-11
-21
-9
-5
-24
3
-8
-2
-10
4
0
-9
-20
-10
-2
2
-14
-13
13
-1
-7
39
-3
10
-16
-6
2
-44
-8
3
2
14
25
6
-53
2
-9
29
-4
-9
-21
-12
44
37
-2
-12
-54
-20
-21
23
-16
-1
-3
-10
-2
-5
-1
-4
-1
-1
-29
9
1
8
-11
-4
-7
1
-18
-7
-8
-13
2
-5
-5
0
-11
7
-17
16
5
31
4
-6
2
-10
-23
-9
-43
-24
-40
35
0
-37
-5
-21
-18
33
-17
20
76
-1
-4
-30
-6
-28
6
10
-10
-6
-8
-2
-7
2
5
-5
-24
16
-14
-17
-6
-1
-4
-22
4
-5
-14
-10
-3
-7
-18
-14
-6
16
-5
-11
-4
-19
-1
-3
-14
-21
-10
-6
8
-27
-2
-5
-15
2
-13
-13
7
-7
-7
2
-64
-9
-27
4
9
-1
-19
50
1
-6
-7
15
-12
-23
5
-3
-43
4
3
-5
-19
7
-6
8
-23
-13
1
8
7
-5
-5
-14
-9
-8
43
0
-3
-27
-20
-3
-1
4
37
-3
22
-17
-12
4
-16
-17
0
13
-11
-1
-27
-15
2
4
-18
-13
9
17
-5
47
10
53
-12
4
-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
-6
0
0
0
-37
0
0
-5
0
0
0
-1
-2
-1
-1
0
0
0
3
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-19
0
0
0
-1
0
17
0
0
0
0
0
-6
-47
0
0
11
0
0
-2
-36
0
5
-34
0
0
31
-25
0
0
-2
0
0
0
-28
0
0
0
0
0
0
28
0
0
-1
0
0
0
0
0
-1
0
0
0
0
17
0
0
0
0
0
0
-43
-11
0
0
0
0
0
-64
0
0
0
0
0
0
-18
0
0
0
0
0
0
-68
0
0
-1
0
0
-1
-24
0
0
0
0
0
0
-10
0
0
0
0
0
0
-17
0
-1
-7
0
0
0
-11
0
0
0
0
0
0
-37
0
0
0
0
0
0
-35
0
0
0
0
0
0
7
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
4
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-37
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
-65
0
0
-35
0
0
0
-1
0
0
-4
-3
0
0
0
0
-1
1
0
0
0
-1
0
0
3
-13
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-16
0
0
0
-1
0
11
0
0
0
0
0
0
-21
0
0
-34
0
0
0
-4
0
-37
11
0
0
-27
-32
0
0
-15
0
0
0
-22
0
0
0
0
0
0
24
0
0
-1
0
0
0
0
0
-24
13
-1
0
0
-11
0
0
0
0
0
0
14
8
0
0
0
0
0
-52
0
0
0
0
0
0
-41
0
0
8
0
0
0
-18
0
2
7
0
0
-3
-36
0
0
-1
0
0
-1
-51
0
0
-3
-1
1
-4
-15
0
0
0
-1
1
0
10
0
0
0
0
0
0
15
0
3
0
0
0
0
-25
0
0
0
0
-2
0
-15
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
19
0
-8
0
-2
0
0
-25
0
0
0
8
0
0
-19
0
0
0
0
0
0
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-14
0
0
0
0
0
0
0
0
0
0
0
28
-4
0
0
0
0
0
-63
-9
0
0
-36
0
1
-9
-28
0
0
-16
0
13
-6
-11
0
0
-41
0
33
77
-8
0
0
-13
0
11
0
0
0
0
0
0
3
0
0
-21
0
0
0
-4
0
18
-7
-3
0
0
0
20
-9
15
0
11
0
0
21
-5
0
-14
14
0
0
-12
-4
0
0
-15
0
0
-55
-31
0
0
27
0
0
-10
-74
0
0
-55
0
6
0
-2
0
-55
-3
0
-3
-4
10
4
0
0
0
-3
0
39
20
3
0
0
-1
0
-8
-5
0
-4
0
0
-13
2
-9
0
22
0
-2
-23
-20
0
0
-37
0
4
-4
8
0
0
44
0
3
-25
-25
0
0
-23
0
-9
-7
-59
0
0
-8
0
0
-1
-31
0
0
-34
0
-18
1
31
0
1
0
0
24
0
22
1
0
0
0
0
0
-24
-6
0
7
0
0
0
49
-9
6
5
0
0
3
-29
0
0
65
0
1
-9
37
0
-13
19
0
0
0
-21
0
17
-52
0
-7
0
-18
0
45
39
0
9
0
-24
0
7
14
0
-19
0
-15
0
39
0
0
0
0
-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
0
0
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
-25
17
0
0
0
0
0
0
0
0
0
0
-25
-10
24
0
-8
0
0
-1
-47
1
0
-8
-23
-6
7
-14
0
-4
-36
0
-1
-15
-33
0
0
6
-6
-3
36
-19
-2
0
69
0
0
0
-7
-10
0
10
-10
0
0
-3
-18
0
0
0
-1
0
5
-71
23
-12
-1
0
-4
-2
-34
2
-32
0
0
6
12
-31
18
-3
8
0
4
-27
3
-1
-2
-5
0
-18
3
-2
45
-37
-9
0
15
-4
7
0
16
0
0
-7
6
19
-20
14
18
0
-9
19
0
-17
-1
0
0
0
55
-36
27
2
2
0
0
4
9
0
0
0
0
24
24
-3
-9
20
-11
0
10
10
-3
0
-10
2
0
23
3
3
59
7
10
0
-39
5
-9
0
9
0
1
19
1
3
-20
-10
19
1
41
-14
0
7
52
0
0
-4
-5
13
-42
-20
54
0
0
8
-54
0
0
0
0
0
-15
-8
-9
-12
0
0
6
18
22
-36
-6
0
0
-2
23
4
-8
-24
3
0
16
-5
-19
-14
26
3
0
25
-27
-7
47
-13
-35
0
17
-4
11
-73
-12
0
0
9
-29
0
15
3
0
0
0
11
10
-5
-7
0
0
0
10
1
76
-3
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
43
0
-1
-22
1
0
0
21
-6
0
14
-5
0
0
3
0
-1
0
0
0
0
22
0
0
0
-1
0
0
0
0
-1
0
29
0
0
0
0
-7
0
0
-29
0
0
0
0
0
-57
6
37
-2
0
0
6
-25
0
0
-66
0
0
17
-76
0
-111
-43
0
2
-51
12
0
0
-27
0
0
-1
-14
0
0
0
-1
0
0
-46
0
0
0
0
0
0
-13
0
-17
-1
-3
0
0
21
0
0
0
0
0
0
-28
5
-1
0
0
0
0
7
-1
0
3
0
0
2
-21
0
-1
29
0
0
-1
-59
0
0
10
0
0
-7
-3
0
0
-14
-1
0
0
-11
0
0
-8
0
0
7
-20
0
-2
8
-2
0
0
-116
0
0
8
0
9
0
-21
0
0
-1
0
22
0
-22
0
0
0
0
-1
0
42
0
0
0
0
0
4
-22
0
-5
2
0
0
0
-36
0
7
-6
0
0
0
-2
0
-4
2
0
0
0
32
0
0
-3
-1
0
0
-27
0
0
1
0
0
0
32
0
0
0
0
0
0
0
0
-2
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
5
3
-9
9
-6
-17
-37
25
23
53
-12
11
8
-9
9
7
-17
-31
-2
62
9
-1
5
-3
6
-24
-14
-21
2
2
-6
-7
16
19
-20
-42
-18
-4
-1
27
2
5
-7
19
2
0
-1
8
-21
-1
0
-6
38
20
-9
0
-41
-13
42
-57
-40
-2
-7
7
37
15
11
-6
-13
69
24
-3
36
44
20
-64
8
12
-4
-45
15
9
4
1
1
-4
43
-13
-1
3
-22
-10
-3
-7
-1
-19
-11
-12
8
-11
13
13
40
-15
-28
-3
27
11
-1
-25
24
14
4
0
-58
0
-72
1
-1
-47
-16
-47
-109
-31
7
-6
-21
14
-91
15
-18
-69
2
0
7
4
-1
13
-32
-43
13
1
15
-11
3
2
-24
-16
-12
-21
-47
10
-4
30
-38
-11
-46
-36
-2
-28
17
-26
-3
-33
2
-6
-7
-3
-1
1
-9
-28
1
-19
10
-73
0
-34
-21
-32
24
-47
-96
-28
-24
-53
-68
4
-2
27
8
-7
-7
-8
-19
59
-24
4
41
8
24
-37
34
-19
-7
2
0
-3
-6
1
-38
0
-42
23
-12
-26
-23
14
-29
6
-30
-39
5
-28
-2
0
13
-3
-22
-48
-8
-1
6
12
-24
-52
-66
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
18
21
-8
-9
23
-1
68
-11
6
-4
-4
-15
20
-8
-4
-14
13
-9
-50
2
49
81
-20
-28
-3
-57
-19
-2
3
-11
8
-1
-28
29
-1
33
-64
4
-2
-4
-15
2
-2
8
40
-14
27
4
13
66
81
16
0
35
-3
-3
29
13
14
3
-15
33
35
13
22
15
-9
-8
9
-40
-31
4
-64
-3
-8
9
12
-8
-6
-13
3
-58
10
-1
-29
-28
-40
15
-52
13
-19
-7
-45
2
23
-75
6
-9
-6
-48
-42
6
-1
14
6
-13
-2
-15
3
-10
-17
-9
-64
-3
20
-7
-2
5
2
22
-6
10
59
-30
9
-37
11
-5
-38
-9
-15
14
1
14
7
13
20
-23
8
-40
-21
-8
9
1
-61
9
-22
-60
-33
1
-31
-57
10
-3
-11
-48
24
6
-53
-2
7
-20
-37
-30
-1
-1
13
6
14
29
-58
20
54
29
-32
-55
15
44
-6
-2
4
75
23
10
-7
27
5
-10
-16
27
-29
6
-35
-29
-2
16
-5
-17
-25
8
-7
-18
-23
8
-41
13
-13
-11
4
30
-8
-9
-6
1
-68
-11
0
-42
-19
-26
-13
-13
5
-45
8
-29
-24
29
19
0
-9
-30
-7
-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
33
-6
0
0
-40
0
-3
-13
12
4
10
-6
13
6
36
42
0
0
-34
0
-2
73
-30
0
0
-9
-4
-18
5
28
0
0
-1
0
-32
0
-2
0
0
0
-6
-1
0
0
50
0
0
0
-5
0
18
46
33
-2
0
0
-62
-54
17
0
-27
0
0
36
7
2
-11
-1
-25
0
-5
-44
0
0
12
0
0
-3
-86
0
22
-1
-1
0
-4
61
0
0
0
0
-2
-1
-40
0
-1
39
39
-1
0
-43
0
0
0
0
-15
0
24
38
0
0
-7
-1
0
10
0
0
0
0
0
14
-4
-1
-1
-50
-2
0
63
-2
0
0
-7
0
0
12
26
0
1
-11
-1
0
-19
26
0
0
-25
0
0
-6
31
2
0
9
15
-1
-1
-15
0
0
-16
0
32
0
5
0
0
2
-17
-2
0
-16
0
0
0
0
1
0
-24
-3
0
-1
0
0
0
66
0
0
-2
0
0
-4
-21
0
0
-4
0
0
0
-75
0
-13
18
0
0
0
-42
0
0
-1
-10
0
0
-48
6
-6
40
0
-1
0
-30
0
0
-3
-7
1
0
48
0
0
0
0
3
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-44
1
2
21
-30
0
-14
-26
-8
15
4
-37
10
-4
28
0
-19
47
-23
0
0
-15
45
-14
-56
85
0
0
0
-2
-3
0
39
-7
0
0
9
-14
0
0
-9
0
-1
0
1
0
-18
30
0
-6
-25
-2
-23
-68
-6
-5
-132
0
0
-26
33
-1
-29
-27
-86
0
11
36
0
0
10
-1
-17
25
-35
0
-2
-45
43
-4
26
14
0
0
40
4
17
-1
29
0
-13
-9
-16
11
-1
-10
-17
2
2
0
-16
0
-12
24
-39
-4
-17
0
0
-21
-9
0
3
0
0
40
-68
-3
2
-54
18
8
-23
21
0
-15
16
-2
1
11
-22
1
11
9
0
12
-6
0
-11
-1
79
17
-30
-38
-17
0
-11
11
6
-13
-6
13
0
0
-21
0
-58
0
2
0
0
-3
-28
-33
0
-14
0
-11
0
0
-2
0
-19
6
0
-11
-22
0
1
-23
-28
-6
20
0
0
-1
15
0
6
95
-1
-2
1
-1
0
-61
-68
-11
1
37
8
0
-7
-23
31
-3
-7
-1
0
10
29
0
9
-3
6
0
8
13
-11
1
0
-18
4
-61
-2
0
3
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
-4
-9
0
0
-34
0
0
-38
-1
0
18
64
1
0
-31
0
0
0
-14
0
0
6
20
0
0
2
0
-36
-36
0
0
0
-2
0
-10
0
0
0
0
0
0
-59
0
0
11
0
0
0
-1
0
0
1
0
0
0
0
13
-111
0
0
-73
0
0
-6
32
0
0
-34
0
0
-88
-4
0
-2
38
0
0
-32
-3
0
0
36
0
0
-24
-24
0
0
-37
0
0
0
45
0
-15
19
-4
0
0
-70
0
0
0
0
0
0
12
-6
0
0
0
0
0
5
-1
0
0
0
0
-2
37
0
-2
8
-4
0
-2
-78
0
0
-82
0
0
5
-89
0
0
-12
1
0
0
-7
0
0
18
0
0
4
-52
0
0
7
0
0
0
-43
0
0
12
0
-1
0
43
0
0
24
0
15
0
-47
0
0
0
0
0
0
12
0
0
0
0
0
0
-16
0
0
-4
0
0
0
18
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-35
0
7
0
0
0
0
-26
0
0
9
0
0
0
-37
0
0
-3
0
0
0
-21
0
-13
0
0
1
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
-61
0
0
6
2
0
6
43
-7
-3
-13
-8
0
0
-1
0
0
1
13
0
0
-1
0
0
12
1
0
0
0
0
-4
0
-4
0
0
0
-8
0
0
0
-2
0
0
0
0
0
-24
-2
-1
0
0
0
52
-82
3
0
-21
0
0
-28
50
15
13
-71
-1
0
10
-23
0
0
9
0
0
1
-12
0
0
3
0
0
-2
-28
0
0
-16
0
0
0
24
0
11
0
-4
0
0
-4
0
0
0
0
0
0
28
7
1
1
0
0
0
-26
43
0
0
0
0
6
56
16
0
-8
2
0
7
-16
0
0
71
0
0
34
-44
0
0
47
0
0
3
56
0
0
-16
2
0
0
15
0
0
-4
0
0
0
15
0
0
-2
0
0
3
-17
0
0
0
0
0
0
51
0
0
0
0
0
0
33
-3
0
0
0
0
0
-6
-11
-8
12
0
0
0
13
0
-2
-2
0
0
0
16
0
-30
0
0
1
-8
-6
0
4
0
0
0
0
10
0
-6
-18
0
0
0
-39
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
10
17
9
2
-5
-30
-17
-1
-7
-13
-2
-26
-20
-10
-13
-38
-25
-2
-25
-14
4
-9
-28
-11
-2
-21
-28
2
12
-41
-11
-15
-26
-7
-1
-46
-47
-8
-5
-4
32
8
-15
-9
10
27
-12
20
19
-8
19
16
18
22
39
8
13
5
5
12
8
9
13
26
1
-28
21
-9
-21
16
-13
-16
-6
6
-9
-11
-42
-5
-22
-31
-10
-23
0
-34
-8
-32
-12
-4
10
-12
-11
-30
-27
-29
-9
20
5
-3
-14
9
10
-18
-25
21
7
25
39
-43
-55
-4
5
-23
16
12
-1
9
1
9
0
-8
24
1
-19
2
3
10
4
18
15
-8
-1
-14
15
14
4
-5
10
5
-13
44
6
-15
4
22
-9
-9
-15
-5
-22
-19
4
11
-5
-5
-5
-19
-2
-2
-16
2
-6
3
8
4
-25
9
2
-14
-9
29
32
-22
-23
1
-3
-5
12
-15
11
12
2
-18
-12
6
-5
37
-4
-4
-13
-3
13
6
13
2
-19
28
-12
2
15
19
15
-7
37
4
6
0
-7
-5
1
-25
18
-16
4
10
25
-3
-24
-18
19
-28
-8
41
-7
15
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
6
7
43
23
5
-62
0
42
-45
21
-19
-31
-5
12
-10
-5
13
-60
-43
48
0
0
26
0
-34
-3
12
0
0
-5
-22
-1
16
0
4
0
0
-3
-16
28
26
34
-26
26
12
1
24
24
0
23
-9
8
0
-51
0
-36
-18
-11
69
-10
13
1
19
-16
-7
-2
1
47
-58
0
1
-29
38
-19
-7
-18
0
34
-55
45
16
-21
-24
-6
10
3
-17
54
-2
6
-6
9
-1
4
-10
0
0
38
12
0
-17
9
0
34
-3
12
47
-17
1
25
-46
16
31
25
7
1
-37
0
2
57
-30
49
-27
15
6
12
6
36
-16
-6
2
-38
-4
51
20
21
36
-20
-21
-3
-11
38
33
-25
-30
-17
-1
-47
2
-35
-62
-5
7
0
15
51
-18
-11
3
-10
-3
-2
0
7
-8
-1
58
45
35
-10
2
0
8
13
-6
3
29
-16
0
-46
0
-25
-32
-20
29
0
35
-44
22
-8
-2
3
1
-12
4
-1
-12
25
9
1
54
-25
1
-19
0
4
-1
-11
3
-3
16
18
16
4
-3
1
0
28
-8
-6
12
0
-28
48
-64
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
-10
9
0
14
53
-14
9
42
-4
0
0
15
0
-7
-5
7
0
-8
-24
-7
3
-24
-3
0
0
-8
0
0
0
4
0
0
-2
2
-21
0
0
6
0
0
0
10
-9
-11
-8
-4
-6
0
0
-5
-5
0
2
-20
0
0
6
53
0
-31
13
-6
0
49
-59
0
9
-28
0
-2
-46
4
0
48
13
21
2
7
11
0
0
-21
1
0
4
-11
0
-18
-1
20
0
0
-56
0
0
25
0
0
0
7
-1
13
0
0
0
-1
-21
64
0
64
0
0
14
-6
-6
2
24
34
0
37
14
0
15
-14
0
0
-11
9
0
13
23
-6
0
-4
16
0
0
-46
0
7
32
5
0
6
-40
-7
0
0
-12
0
0
-4
0
9
23
17
0
0
7
3
2
0
0
0
0
0
0
0
0
37
45
-4
6
0
0
2
6
0
-42
-5
0
0
-7
-17
0
2
-22
0
0
-3
2
0
-18
-5
0
0
2
2
0
1
-7
11
0
0
20
0
-1
0
-2
0
0
-43
0
-1
-6
-2
0
0
-32
0
-15
-9
0
0
0
36
-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
-37
39
0
0
-9
25
14
-45
10
0
0
-4
13
-18
30
-35
0
0
-7
10
98
-34
-27
0
0
17
0
-10
-2
-18
0
0
8
-2
-83
0
0
32
0
0
0
13
-6
-5
-46
-1
60
0
0
-20
18
0
-2
22
-12
0
-22
-43
-2
-34
-30
70
10
-3
-20
1
-9
-12
23
14
-68
-3
0
0
-39
-7
-3
-2
-12
0
0
-36
-9
0
21
-32
0
12
23
-27
53
12
-28
-2
0
0
0
-3
0
17
10
-6
0
13
0
0
12
-14
0
-5
0
0
26
-26
16
0
-39
24
0
-22
-3
3
4
73
-2
0
-2
-23
9
21
1
16
3
43
-26
-15
11
-3
-3
0
21
-40
0
-1
-44
-10
0
-9
-1
0
0
14
7
0
4
45
0
28
-1
6
14
0
57
0
0
0
0
0
0
-8
-7
1
0
-8
0
25
-3
-1
4
48
0
0
0
7
-1
-14
23
-3
0
4
-5
0
-45
-27
-13
-1
-3
38
-4
0
2
-27
0
0
8
-4
31
95
-5
0
4
6
0
0
-9
-11
0
0
-16
0
-20
9
25
-7
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
4
37
21
34
3
18
5
-7
-24
-8
6
4
-3
-12
-3
5
-9
3
-12
-25
-32
-16
-11
10
-16
-36
-13
-14
-3
-47
-50
-21
-10
-30
9
12
-5
-21
-16
-39
-1
-21
40
5
-45
-14
-53
0
-42
-18
-12
34
-13
-37
12
14
33
-37
8
20
-21
67
13
0
34
55
20
39
-16
2
-22
-9
-28
7
2
11
-14
-20
-31
-43
-14
-27
5
-14
-31
-41
-12
-20
-11
-4
-12
-20
-36
-92
-17
-3
-9
-62
-7
10
-10
-17
-10
5
-14
31
-6
18
-16
-11
-4
6
-8
-10
4
9
16
11
-15
9
28
-14
11
-5
4
18
-1
34
15
21
11
-3
-8
-18
2
-20
14
-24
-2
-7
-17
-36
10
1
-1
8
-13
-12
-4
-37
-7
-6
8
-26
-15
-54
-3
-5
6
-14
-24
-2
-25
-38
36
13
-33
13
17
34
-17
24
6
32
-5
-4
-3
-5
13
4
12
0
10
-36
-21
15
-20
-10
-26
-11
-51
-8
11
19
-7
-30
-4
1
-14
12
-2
7
-13
-10
-21
-11
8
-8
13
-54
-1
0
-17
2
8
-19
5
-9
-50
-15
1
-14
-12
-24
-2
-22
-36
26
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
33
68
-4
-1
-25
-10
-15
27
4
4
0
17
1
23
-32
-49
-1
0
-8
8
-10
-9
-18
0
1
7
0
21
-9
-7
-12
0
-1
15
-10
0
0
-20
0
0
0
13
0
-23
3
-9
3
0
0
-57
52
3
0
-44
0
0
37
-72
9
43
-40
-11
0
-6
1
0
0
-58
0
0
-47
-37
0
0
-29
-3
-3
12
-39
0
0
-13
0
0
-1
-19
4
78
-3
-1
0
0
-31
0
0
-18
0
-3
0
10
6
-35
0
0
0
0
-35
-20
-1
2
0
0
3
14
10
29
-3
-19
0
5
-32
0
-2
-2
-7
4
30
-24
0
-1
12
33
0
35
-45
-1
-10
-35
0
3
12
-8
0
3
-48
14
0
2
-23
0
-2
44
0
15
0
-15
0
0
6
6
19
0
19
0
0
0
0
0
0
-14
13
0
4
0
0
-13
34
1
41
5
0
1
-9
-17
-1
0
42
-2
0
-4
-23
13
22
45
0
0
4
-24
-7
-7
11
0
0
2
-5
1
12
8
0
0
0
-51
0
0
-17
0
2
0
4
0
-15
0
0
4
0
-22
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
27
0
-1
-7
-4
0
-37
26
0
0
-20
0
1
-22
26
0
-1
-25
18
0
-18
7
19
0
-53
-1
1
28
-22
0
-7
31
-16
-3
0
1
-1
0
0
-6
0
19
18
-23
43
-2
3
0
-9
23
0
-4
35
0
0
-3
27
-7
11
9
-83
0
31
19
11
-12
32
12
1
16
5
0
-4
-25
-24
4
16
-3
0
3
6
-9
0
-20
13
-7
-18
-15
27
0
36
-15
21
-1
19
-1
0
0
-9
4
-16
0
38
0
-3
22
-47
0
44
8
0
-53
-25
41
16
16
-4
-9
22
13
4
5
-9
6
0
38
-6
2
-12
14
-41
0
14
-3
-1
5
7
4
0
22
-23
0
-17
17
29
0
-2
-15
11
17
-14
0
0
0
-17
26
16
-29
77
0
0
-17
-4
0
-1
-1
0
0
18
-54
2
-5
1
0
-1
-12
52
16
8
-6
0
-57
-2
3
-18
-24
28
0
24
3
19
35
11
18
0
9
1
0
33
14
-10
0
26
-13
0
-57
-23
21
0
-5
-19
6
-39
-16
-6
0
0
0
-1
-16
-35
9
0
0
4
22
-9
-67
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
-9
20
27
19
11
45
-6
-37
-17
-49
-19
-30
-27
-30
-26
-21
-17
-46
9
-9
-8
-8
0
-9
31
-43
-16
-10
-3
30
-12
-18
43
-35
-24
55
13
-2
-20
17
2
-43
-26
0
24
41
0
-38
-48
-24
2
11
0
-11
-15
-6
-9
3
45
57
8
31
14
6
2
29
-1
-6
-29
-12
-28
-7
39
-9
-11
-1
-12
-47
-1
-47
-1
-13
-19
-16
21
-14
0
35
-50
33
-21
-40
-5
-6
-13
14
-8
-24
-17
13
13
5
1
25
-8
-8
6
26
10
10
3
4
6
7
15
-31
15
1
-4
-8
-17
9
20
1
-8
-15
-22
-3
0
14
1
16
22
-32
-7
-39
-31
-2
-2
8
-7
-3
-24
56
-10
-19
-8
5
-7
-6
4
-13
-15
-4
33
-3
-19
-8
0
-20
-24
-3
-8
5
-11
12
22
48
0
-10
-29
-8
4
-28
84
-7
-3
21
-8
9
-11
30
5
-5
32
-3
-5
-20
0
14
-11
23
11
-13
-18
16
19
2
-75
-6
0
17
-6
-14
-1
-36
-23
-8
-15
14
-15
-1
17
-6
-26
-35
-26
-27
-5
-16
1
-51
-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
-24
24
-22
-17
-4
-33
-16
-42
65
2
3
-6
-27
-24
-34
2
-4
1
-18
18
-35
-62
12
0
-2
6
-26
-35
-2
15
-5
-2
-1
57
-36
-42
1
-25
-49
-11
-3
0
6
18
20
43
-7
10
23
8
20
-3
-11
17
-36
37
-67
0
-7
-7
-51
-14
27
-21
-31
-21
-6
-24
-44
-53
-45
4
-39
17
14
27
-30
-3
-1
-4
-6
-22
-29
-10
0
-1
-11
-6
9
23
-14
1
10
22
-13
-1
-51
-16
8
7
-26
13
34
-1
0
56
17
39
23
30
17
-1
8
5
47
3
12
28
0
-13
0
50
-42
-21
-14
31
-8
-15
-17
22
-22
24
-15
13
5
-6
-28
-7
-32
16
38
14
-17
1
1
2
-21
-4
-8
-13
-8
-19
-17
-33
0
29
-87
-5
-25
0
32
0
14
36
38
-36
13
-8
1
1
30
20
23
5
10
13
-6
-34
-46
6
-61
15
6
0
45
-11
10
12
-44
-21
4
-7
2
-1
-70
7
-14
4
-18
19
-41
-8
24
-43
-1
-3
-8
-8
-20
-33
1
1
-4
-10
10
-12
39
0
6
51
-7
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
-36
-79
0
-2
23
-1
71
-48
8
0
-10
23
-33
1
56
-18
6
9
33
0
-15
-3
-19
0
0
27
-11
10
0
-1
8
0
0
-6
-45
0
0
-7
-29
20
0
0
-12
0
18
18
-20
9
0
47
3
4
19
-51
-35
0
-3
-45
-8
0
-24
28
26
-40
-11
-1
0
-5
-44
-18
1
-3
0
4
-20
0
29
-9
-33
0
-10
26
8
0
-2
-9
0
0
0
-1
38
0
2
-36
-18
0
0
0
0
31
6
1
13
0
0
-35
-5
20
29
0
-3
-15
15
-10
0
40
19
6
9
23
-19
-8
50
-19
-20
1
8
-12
8
-14
10
-13
3
18
29
0
1
-40
-4
-3
0
5
-1
2
1
-1
4
9
7
0
1
-2
-20
23
0
-28
-4
0
0
0
-6
-3
43
-15
-6
4
29
0
37
17
2
7
-10
0
0
-14
-20
-8
-3
-4
6
0
-6
-4
0
11
8
1
12
-33
-2
0
-1
67
-37
-1
-2
-4
-4
-28
6
-1
3
-3
1
0
8
-33
-16
-4
0
9
0
-44
6
0
-1
0
-3
-4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
-15
-8
-2
-17
0
34
-13
23
0
0
32
15
32
-89
51
0
0
-16
2
26
20
29
0
0
-3
-2
-22
0
0
-62
0
0
0
6
0
-13
-47
13
13
6
0
3
30
30
-17
-27
3
4
-31
10
-22
-47
41
20
109
-2
9
0
-27
-8
0
17
-13
8
-7
-4
4
-61
-11
-20
14
0
0
-3
-10
17
7
4
0
-22
55
31
18
18
11
0
0
28
0
30
0
3
-6
4
0
6
3
0
0
-49
0
-4
-2
0
-39
48
40
2
26
-1
3
-36
-4
18
-47
12
-21
8
-94
6
-12
18
-15
13
7
21
29
13
-7
31
9
5
-9
-16
23
0
-5
11
16
-9
10
0
0
-2
0
-23
20
-32
4
1
-4
-15
-3
0
9
-12
0
0
-16
8
0
15
-14
0
-1
4
0
24
-16
-23
-19
85
0
12
0
-33
-1
-11
50
-12
0
0
19
-1
-16
17
5
0
17
7
-7
3
-30
-8
0
50
-41
2
23
19
0
9
-3
6
0
0
3
65
36
0
-17
0
23
-3
30
-3
0
3
2
-1
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
5
-48
12
-8
12
-3
-20
-1
41
-28
-12
6
-12
-13
4
-20
-17
-20
-12
-18
-60
1
-17
33
-27
-1
-27
-56
-23
-9
2
-14
-2
-19
-17
9
-8
-39
27
26
49
-3
6
-6
8
24
-44
17
-16
10
-27
-2
15
4
17
-8
-8
-45
22
11
47
43
14
4
-7
17
-1
-5
-15
-16
-16
-18
-52
-10
-23
-8
-10
-7
1
-6
3
0
-10
0
-8
-5
1
10
-46
-24
12
2
-17
-5
47
-14
-25
44
10
-14
-45
22
-93
-51
13
5
17
18
26
3
-3
14
1
0
-10
21
-63
35
-12
-4
42
-4
-1
-24
-5
5
-1
51
11
6
-5
19
16
0
52
-6
4
-16
-9
13
1
-14
10
19
17
9
-17
-12
10
-28
-10
13
-25
20
6
-2
-20
53
-21
6
-71
-1
-27
-22
22
-61
-26
-14
-23
-11
4
8
-52
-2
-29
-2
11
-14
-38
20
-6
-31
-1
-49
-16
-24
6
-7
-18
-9
39
-20
-26
-29
12
-22
0
-38
-13
0
-26
-4
11
5
-36
-23
3
-14
-23
1
1
19
1
-28
-48
-16
2
8
16
-42
10
-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
-7
-26
20
-20
-25
62
-12
-26
-15
7
23
-5
-9
7
-30
-18
18
2
-31
0
10
11
-24
-89
24
-40
-6
1
1
-17
4
-15
-36
4
-3
13
18
2
-29
-17
-8
0
10
9
2
74
11
-1
4
-24
12
-18
0
-4
-8
-46
-11
-20
90
-66
-15
29
-49
23
-16
-25
-117
24
-5
-1
-17
-6
-8
39
13
-19
26
-4
-13
80
11
1
-30
-3
-22
-8
-18
14
40
-19
4
-23
-15
9
14
-20
24
-39
7
10
-3
27
22
9
-2
13
19
-12
-14
-12
15
-10
-14
5
1
-9
1
-30
3
-2
-10
43
-11
8
20
-5
2
-3
21
45
-1
17
-17
22
-24
-45
-25
-1
6
-21
32
-3
25
17
14
20
2
24
7
39
-14
29
35
-3
3
-10
11
-7
-9
13
-11
15
5
23
-7
-11
27
-4
-54
2
-23
-15
9
-3
-46
3
15
-11
-1
22
8
-15
14
-12
13
-18
2
4
-27
6
6
-77
-4
-19
77
-44
3
16
-23
-8
-7
13
-65
-25
0
-1
-26
5
-17
11
-36
-17
12
12
7
25
-45
21
-6
2
11
13
-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
14
14
35
1
7
5
0
-11
-4
3
-12
-9
15
-2
-31
-43
-8
0
-32
18
0
11
-25
15
25
6
8
-2
9
29
-15
0
3
-26
0
26
13
-12
-4
-35
-4
0
0
-6
-63
86
3
87
0
15
1
80
19
3
-36
0
-23
0
-41
-15
-15
11
0
-2
0
36
37
-21
10
22
23
4
-4
-26
0
-30
7
24
2
35
-13
2
27
0
-29
-13
7
-17
-31
18
7
0
14
5
-19
56
5
0
-3
11
39
-3
17
-2
0
-3
6
-12
-5
5
17
0
-2
-2
-54
-1
-22
6
44
3
-3
45
6
-16
-2
0
-8
-10
15
-36
7
18
0
33
-8
-13
-15
14
-18
0
19
-3
-6
-21
6
43
0
-2
-3
17
-5
21
18
0
-2
-1
-8
32
-34
-13
0
-2
-5
-11
2
-49
15
0
3
1
-29
25
11
-4
0
-6
-3
-24
19
-19
44
0
45
14
-49
1
2
1
-3
29
-4
18
32
18
21
0
24
9
-14
-19
5
45
9
-3
-2
2
1
13
-18
1
-15
0
-9
-9
36
-12
0
-1
3
9
34
56
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
30
40
12
15
16
-4
-39
-3
-81
-61
-9
2
-9
-73
-7
-16
-25
-8
-2
-3
-17
-46
-15
-2
-34
-58
-14
5
-11
-20
-39
11
-29
25
-1
4
37
-15
9
5
-23
-10
-9
38
-12
-15
-15
-24
-56
-12
-40
-43
-4
12
-20
-4
7
66
21
5
1
3
-9
6
-37
45
-1
24
-17
-20
4
10
-6
-1
0
-24
39
-9
-37
0
9
-28
-28
-16
4
-17
-19
-12
-6
-25
-26
-5
16
-5
11
-40
33
5
0
-7
-15
0
-20
-14
0
3
-3
2
3
29
6
-35
5
8
-19
-12
-8
9
-44
4
43
-1
-2
8
21
-13
6
1
12
-8
13
2
-28
-7
-28
26
-2
-4
1
-6
4
8
-50
-15
-3
1
-36
2
-19
-32
46
-52
-17
-15
-20
-9
-13
38
-18
32
-23
-13
-20
-22
-2
-5
14
-7
9
-15
-12
-15
4
5
-1
0
37
-22
-10
-53
-4
-30
-3
6
9
-5
2
-14
9
0
-31
-9
10
-35
-21
14
-1
-2
47
-10
-4
18
1
-1
20
-13
6
-70
15
34
-2
-4
-76
-65
-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
3
11
-10
38
-4
-14
-44
-18
-28
13
-35
-1
-7
-50
50
7
-3
-3
3
16
-35
-2
0
-8
0
9
-1
-47
24
6
-13
3
34
10
4
-10
25
-35
-37
-16
5
-3
1
6
3
-13
-15
-10
-6
-22
-2
-1
-37
14
14
6
-7
0
21
-17
-20
2
-59
3
-5
-7
-28
-29
7
-44
-30
-27
17
-5
13
-10
-33
9
-7
-3
27
-18
-4
1
-6
22
2
-25
-4
-22
-4
3
-9
1
-3
13
-7
-15
8
27
-65
11
9
-20
-32
-2
12
-20
29
-4
19
-1
-2
-5
16
-38
-3
-29
-18
-13
0
-12
-37
5
21
40
-5
-4
32
45
10
14
-10
-25
-21
12
-59
-2
-33
-18
-6
-1
-5
-37
13
-16
-55
-6
8
-12
7
5
-60
-2
16
-1
-6
20
58
32
0
7
28
-76
-12
-9
-19
-5
-41
22
-63
22
5
23
24
-5
-2
-10
-36
-12
19
-40
-8
0
32
-18
-27
-22
-9
14
-8
-11
-16
-57
-23
-6
16
-3
61
-40
-38
-20
34
4
-7
-4
0
-19
19
-54
-1
15
-31
-3
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
-2
-6
3
31
0
0
3
3
-1
0
-5
0
0
0
0
-1
0
0
-5
0
0
6
-2
10
12
-14
0
40
0
0
46
-5
-2
-2
-36
1
0
14
-12
0
-22
-11
-47
6
7
-11
-1
0
28
10
3
-37
-55
7
0
-3
-2
1
-46
-12
0
0
40
-4
-3
0
-25
0
-21
0
-15
0
0
-26
0
0
-3
-2
1
0
27
41
-13
0
0
-2
0
-11
-20
1
0
0
0
-20
15
0
-7
-22
44
0
30
-11
0
0
12
-1
1
-20
-9
0
-14
-33
19
1
-2
-39
0
0
-16
2
13
-2
-6
0
-2
47
9
2
10
-35
-2
0
-6
0
0
0
-10
0
2
-5
9
-9
0
63
0
0
0
-8
0
0
-51
9
3
0
8
0
-1
30
-3
-10
12
0
0
5
-16
0
0
-60
-17
0
3
-33
13
11
-38
-7
0
0
-26
-1
-12
-29
32
0
0
16
0
-2
-1
0
0
0
-21
0
0
-8
1
0
0
38
0
56
0
-3
0
0
-26
-6
6
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
59
9
3
0
-9
1
24
13
63
0
0
-6
0
19
0
1
0
0
7
36
-45
0
0
-25
0
0
0
-20
0
-29
66
7
15
0
0
20
-44
0
0
-17
0
0
9
-25
0
10
-10
-49
0
-32
-26
0
21
-15
8
2
-25
-11
0
-9
10
-4
11
26
-17
0
-2
-80
7
10
17
-36
2
11
44
-21
9
0
-10
0
0
0
0
1
0
-11
-34
-9
17
8
32
0
-1
-5
0
10
0
0
27
1
4
0
12
43
24
-29
-2
0
-9
-5
-2
0
-36
-30
-9
26
-29
40
0
-30
-13
0
2
-35
1
-1
8
9
16
-20
-24
-2
-2
7
7
0
0
-13
0
-37
0
2
0
0
8
30
-15
0
-4
0
0
0
0
3
0
-25
0
0
2
0
0
-2
-54
12
14
-1
0
0
-11
-46
13
-1
-47
0
0
0
-9
29
58
-34
7
12
1
-39
0
34
5
0
-1
0
-30
0
-42
5
0
-1
-1
-29
-6
0
25
2
17
0
62
0
95
11
-2
3
0
18
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-16
-21
14
6
-8
-36
-20
1
49
19
17
3
-41
24
10
-2
-1
16
-6
-51
14
-37
-5
-9
0
20
-59
36
5
-26
-16
19
71
-1
-15
4
56
-15
-2
7
17
1
-3
-20
-13
-10
-25
-18
-11
0
10
2
13
-6
-25
-2
15
34
-26
-9
-15
-29
17
19
10
35
-16
11
16
-33
5
-4
1
-4
-10
-48
12
-4
21
44
14
-53
-16
0
-5
-20
5
-1
-21
-39
4
7
-17
-17
-21
-1
-48
3
5
-15
-8
-6
-13
-36
-25
-4
51
20
-30
-13
-5
-7
1
3
4
13
-25
16
-29
4
-49
-5
-19
-28
-11
-7
-2
0
-14
3
-10
-27
26
-6
70
45
-27
-39
22
-35
8
-8
-9
-35
-10
-8
-1
5
3
-8
-2
-52
-46
13
-5
13
58
28
-12
1
-30
-4
-40
-16
23
19
-30
4
-3
-17
35
-3
-11
-67
-33
-4
-19
20
-40
-10
-5
-31
9
-38
-58
-34
-19
23
-57
-4
31
-2
19
18
9
-34
-6
9
-4
-16
-30
17
6
-2
10
-2
-23
-59
-2
-1
-12
-11
-64
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
-11
6
0
0
45
-1
21
9
36
0
1
-6
0
-53
-7
-9
0
0
24
0
-25
0
0
-57
0
0
10
27
8
5
25
-12
35
0
0
-74
-5
4
0
-40
0
0
15
-14
0
31
3
-1
0
-50
-19
0
0
16
16
0
23
-12
0
-1
9
-13
0
19
-30
0
0
14
0
3
-21
3
0
44
-2
62
3
3
-28
0
0
2
0
-10
0
6
14
5
0
0
0
0
-10
-9
0
0
0
0
-30
14
17
37
-17
3
3
-36
-26
7
0
-66
0
2
-20
-19
0
0
-64
-3
-4
23
-20
-8
-13
-5
0
3
7
-7
0
-2
22
39
1
15
6
0
-2
-2
0
-10
22
-9
0
0
4
-10
8
0
0
0
4
0
0
0
0
-13
-43
-1
0
0
0
0
-7
0
-39
-8
0
0
4
31
1
0
55
0
0
-4
-17
0
-13
-30
0
0
-4
-30
0
-8
44
28
0
0
-34
8
20
11
0
3
0
-16
0
-1
9
23
0
0
-12
0
-27
7
0
3
0
12
-17
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
28
-1
0
14
-39
-1
-22
0
-2
-9
-8
22
-2
-22
15
28
8
-6
8
8
0
4
-12
0
-1
-39
-1
48
15
-4
24
-3
36
0
8
-5
-29
-4
12
-40
0
12
0
37
15
9
-3
0
-35
-13
28
14
-9
-31
0
23
1
-34
-38
20
-46
0
17
-8
-21
23
11
-32
0
25
7
0
-18
2
0
0
34
-10
-16
26
27
47
0
0
10
7
-8
0
-16
0
0
13
-18
27
-14
46
0
-36
-6
28
46
6
-1
0
-2
4
66
-30
4
0
2
-7
-2
0
2
2
-8
0
-12
-11
45
-26
-6
-60
0
29
-3
11
-29
11
15
0
9
8
-3
-8
16
16
7
84
-9
0
7
19
20
0
23
2
11
-11
26
-42
0
-35
5
0
33
16
7
0
4
-17
-3
1
-23
2
1
-27
5
-18
19
-13
33
-16
12
18
-14
8
26
1
2
-6
1
32
20
3
-18
0
31
6
-1
-16
36
-2
2
63
-2
-1
-22
24
-15
0
6
-6
1
-16
8
-6
-7
0
0
18
-3
-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
-89
35
10
42
-4
-2
-4
-3
22
-5
0
4
-45
-25
0
-41
-13
-1
0
-36
-22
4
-13
-63
-1
-13
-1
1
-21
-9
-38
7
-24
-5
10
-37
3
29
-9
-21
-27
6
-37
-11
27
3
-20
-1
-28
-33
8
-55
-5
18
-39
-69
-7
4
5
-56
-2
-16
-32
-45
-2
20
14
-15
-47
-25
-2
-10
-4
26
36
32
-18
27
3
-34
-33
1
-40
-5
11
-11
-5
6
23
-7
-18
-17
-7
-3
-9
-33
-25
-19
-42
14
30
-15
11
2
12
-29
7
1
-4
-26
-33
-39
6
8
51
-16
-8
21
25
-12
5
19
23
-12
-23
-22
39
-1
12
-47
16
-13
-6
0
-6
1
-55
8
-60
-2
0
5
-22
-3
-8
-1
-11
-19
-16
-24
49
75
24
0
-15
-24
-29
7
-7
-33
17
5
13
5
-99
-10
35
16
11
5
-50
-10
-17
-38
34
17
2
-43
-8
-7
-51
-4
-11
11
4
4
17
-9
28
4
-2
0
-3
-19
-52
0
0
-16
-2
-23
-5
39
15
0
-11
-4
-13
14
-47
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
-4
-13
-1
0
-39
-23
-13
-4
-1
-17
-41
-30
28
20
-22
0
-2
50
11
-6
1
16
11
-31
36
-8
-22
0
-14
-13
-23
28
-1
-32
-24
-18
-23
-2
-39
-8
-6
5
21
-18
5
-4
-12
-12
3
-8
-16
43
-15
-30
24
0
-4
22
-19
-34
57
-12
21
-2
-16
-11
-31
-12
17
0
2
-6
-30
0
-35
1
-5
12
-1
0
-38
-12
-2
-2
-34
32
19
20
4
8
6
-29
-4
7
-23
7
-10
-14
-14
19
9
7
39
14
-2
-31
-7
-8
-34
25
23
-2
9
10
-6
-41
-1
45
0
-23
-4
23
8
-23
17
6
-2
-11
-29
87
-7
28
-3
24
-50
27
-5
22
-2
4
-15
1
12
-82
37
-1
-10
-11
-25
112
-1
2
0
19
31
11
-19
1
-4
-18
-9
21
16
15
-9
22
1
10
-10
-17
24
-7
6
-59
-17
45
-97
26
4
23
45
0
-30
-20
38
-63
45
27
-7
42
-44
5
-20
-13
-6
-20
0
-3
0
-14
2
-4
-8
-7
0
-3
-52
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
49
0
-3
0
0
-3
-6
-17
0
0
0
0
-51
0
0
-20
0
0
0
-95
0
-15
-17
11
0
0
0
3
27
0
-7
-75
0
0
-35
-35
0
1
-37
47
8
-36
-22
0
0
-44
0
3
24
69
0
24
26
61
0
-26
-13
0
-8
-25
0
0
0
-63
0
-6
16
27
0
0
-5
0
0
0
0
-29
0
-22
18
2
0
0
15
0
-24
78
0
6
0
0
-11
-9
-2
-4
-36
-2
0
16
-9
0
5
21
0
0
-16
-6
0
-2
-24
22
0
52
58
0
0
-1
0
0
-1
-42
0
0
-3
-25
10
-3
-18
0
-4
-5
0
-12
0
-46
0
0
-2
28
13
0
-6
0
0
11
-6
-11
0
-54
11
0
26
0
0
0
44
-3
-35
-29
0
0
-3
42
0
0
13
0
0
-1
-21
0
26
-16
0
0
0
-22
0
9
0
0
0
0
-20
0
6
-4
0
16
0
-41
0
4
7
0
0
0
-71
0
3
2
0
12
0
12
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
-23
0
39
0
0
0
-1
-7
0
0
32
0
0
0
-13
0
-10
20
-23
-24
0
0
28
22
0
0
14
0
0
0
-35
0
-40
21
19
0
-11
-16
0
0
-5
4
3
30
-37
0
0
52
39
11
-69
-58
-1
0
-25
-3
12
-13
-9
0
40
5
-74
-1
0
-54
0
-2
33
0
83
0
-26
70
6
0
19
0
0
10
7
0
8
0
0
-27
37
4
58
28
-2
0
25
-13
0
0
-22
0
0
-21
6
1
0
44
18
-2
75
-33
2
0
-17
0
12
26
-51
-7
0
-56
7
-2
8
-11
2
0
-80
-6
-2
3
8
-3
3
-7
-11
53
0
-34
4
0
-1
-6
0
0
0
63
0
0
0
0
0
16
0
-8
-20
0
0
-7
-2
0
0
11
3
0
-3
3
0
49
34
0
0
4
-46
0
2
-4
29
0
-2
12
0
-15
-15
-3
0
2
-3
0
0
18
-21
1
0
-70
0
83
0
-11
-26
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
-8
8
17
20
-22
10
7
55
2
7
-34
-1
-7
4
0
-8
-32
0
-1
-31
3
-7
0
-15
-7
-6
-54
0
-34
-1
-20
44
13
-1
4
-17
4
8
-8
-7
-16
-16
-16
-6
20
-18
-16
-8
-23
-40
0
-43
-13
32
1
-61
-15
-9
10
25
17
53
-5
-21
21
-10
3
-46
-4
-67
14
-1
-9
0
133
24
-14
0
1
16
-37
0
-31
-6
-54
4
-8
-3
-20
9
-9
-13
-2
-95
-22
-17
-29
-48
-10
1
3
-79
12
1
-7
-10
-7
-48
8
-6
-17
6
-35
3
33
-60
22
19
-6
-4
6
6
-44
15
-43
-4
15
-1
4
-35
6
4
17
-14
-5
20
37
-19
-38
-15
0
1
13
10
0
-21
20
10
1
5
-7
-13
-51
3
-40
-3
-20
-19
-31
-46
-22
-49
-18
-8
-63
-32
9
10
-14
4
43
-33
7
-15
-42
-2
-6
33
-31
3
-63
-45
-3
-2
-18
-29
27
-54
34
-39
-15
5
1
-98
-4
23
30
-2
23
-40
-34
-32
6
20
5
-32
-5
1
-40
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
34
-15
3
17
-14
-7
-7
-2
36
-3
-22
-3
4
1
0
0
7
6
-21
-16
-24
-31
43
2
6
-9
-5
60
13
7
0
30
-8
-11
34
8
-8
4
-23
-7
-11
40
67
6
0
14
14
16
1
-4
10
-11
-8
-8
-33
-1
41
9
-19
-12
6
-22
1
10
34
10
-9
-7
15
15
-39
22
3
35
0
-2
-5
11
0
-1
-24
0
-14
-16
17
18
0
32
18
-4
31
6
1
-1
18
-15
-8
-4
-29
4
0
8
-22
-28
-18
-18
-17
23
2
4
12
7
-19
-20
13
-12
33
-4
-3
-10
6
-8
-1
-13
5
1
-6
-2
-8
42
24
6
-12
-24
14
6
15
0
-5
7
7
15
-4
3
0
-16
7
9
38
1
4
-14
1
-2
27
-7
0
30
24
6
-5
12
-7
-3
-10
-11
15
40
12
29
8
-43
46
27
-15
6
8
33
-26
-13
9
-7
9
16
7
30
14
17
3
-18
9
-3
5
44
1
0
10
-34
2
2
-6
5
16
-3
10
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
2
-4
2
-2
12
1
16
-17
13
-21
71
35
7
0
0
-21
2
7
2
10
0
10
-6
-8
10
-14
-52
0
7
0
44
12
-3
7
0
14
11
-44
14
14
11
0
0
1
-8
19
-14
-19
18
-10
-6
-6
52
-5
19
0
21
-27
-6
-5
-2
16
-2
33
19
-4
-18
3
5
0
50
1
54
-6
24
11
-2
0
7
2
-26
-15
9
0
-6
-9
-43
52
-16
1
0
-26
2
-16
65
9
16
9
5
10
4
-58
-10
-81
0
-21
12
56
-8
13
9
-2
-7
-13
40
26
-7
40
0
38
-7
40
-27
14
8
0
41
8
-23
-10
34
34
0
-20
3
-4
25
40
34
-15
6
0
-46
-9
7
-10
0
1
-12
-24
51
19
-9
0
-8
-1
10
-6
-10
-25
0
10
9
-27
-6
13
23
0
-15
13
28
-4
-3
-67
12
47
-7
-18
5
36
-5
0
22
-9
3
-13
20
-7
0
56
1
38
-12
27
7
18
-32
13
85
-2
32
-8
-1
-1
12
22
23
-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
21
9
-5
-1
24
-19
15
0
-18
-49
0
2
-25
16
-42
-10
-33
-35
3
-14
-20
-13
-11
42
-8
-30
24
-9
-59
-2
-1
-22
-35
-14
23
-46
9
2
-37
-13
-7
-82
-39
8
-4
40
-8
-24
-14
2
7
12
40
18
-30
3
11
14
13
14
1
-21
28
0
-6
8
-3
-25
26
-6
9
3
-57
-24
-4
-48
28
8
-6
-48
-1
-45
82
8
-41
-14
-24
-31
-28
-60
-30
-39
1
-5
-35
-20
10
0
-29
19
17
-29
-6
-19
7
-13
8
-34
-66
0
25
10
-22
8
-17
-33
-7
-23
-11
-22
-1
-3
47
-9
-13
-29
-12
-4
-3
-26
-19
-8
-9
0
-3
-39
-11
1
-32
-36
-1
-12
-34
-1
-56
12
-5
4
-19
-40
-14
-36
-23
14
22
-9
-33
6
-25
-26
19
-64
6
20
-32
-9
-65
-8
-7
3
16
1
6
-51
-16
-22
10
-9
-12
2
-52
-11
26
11
3
-20
-6
-46
-4
12
-24
0
-25
-40
-52
-43
0
-12
-16
5
-4
-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
19
-27
32
1
59
-56
-11
0
6
-10
0
0
-20
-16
20
9
-10
-10
-79
34
-1
-34
-18
-53
28
-6
30
-3
-5
5
-17
-8
-19
-43
-22
-8
6
12
58
-19
24
-16
12
-7
58
10
-7
-4
3
7
-11
-8
73
19
-33
-12
42
0
-19
18
-49
-40
18
-3
-25
1
49
15
-8
9
-2
-5
-22
-18
-2
-41
-65
4
-1
-8
-2
4
0
3
31
3
4
-13
-4
-11
12
13
-1
-18
-54
-11
-45
8
-18
-5
-31
-20
-31
-92
-33
-31
13
17
-12
9
-30
-14
-40
11
19
16
-28
-39
6
12
0
14
38
40
4
-23
14
3
-25
-60
-40
-32
2
-2
-2
35
10
11
-54
9
-4
6
-10
4
-24
3
-12
-36
8
43
-16
19
0
0
8
5
-18
-19
-10
-17
3
55
5
-73
-8
-20
-34
-18
0
13
-21
-33
-5
-79
9
-34
-13
32
5
-39
20
-13
-10
0
-4
-26
48
-45
21
4
-4
4
-14
-36
-22
-14
-1
8
4
-24
-14
-55
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
-1
0
0
0
2
0
-48
5
-3
-3
0
0
12
16
3
0
-42
0
0
8
-44
0
-1
-9
-6
0
3
-14
0
1
0
0
-6
59
-42
0
-6
-20
7
9
-1
-61
0
1
55
-1
0
0
15
0
-99
0
17
-1
0
44
0
0
1
0
1
0
-9
-3
-3
0
0
8
0
-19
1
0
0
0
0
-1
14
0
0
-8
0
0
1
15
0
0
-24
0
22
-13
7
0
0
4
0
0
-2
-14
0
0
-5
0
-7
1
30
0
0
55
-10
2
0
-96
0
0
0
0
0
0
-24
0
0
-2
26
-6
0
-42
0
0
0
0
-2
0
-51
1
0
0
0
0
0
-33
0
-2
0
0
0
0
-36
0
0
0
0
-9
0
-24
0
-10
8
0
0
0
5
0
0
4
0
0
0
4
0
3
2
0
0
0
-15
0
-1
0
0
0
0
-39
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-74
0
26
-103
0
0
0
25
0
-18
1
-1
-2
0
0
5
-26
0
0
-6
0
0
-10
-9
0
-37
21
-1
0
-54
-19
6
0
-18
0
-1
20
-14
0
0
-25
-80
0
-1
-76
0
0
-4
0
7
-14
-16
0
17
-24
-4
5
0
-13
1
0
-3
0
-16
0
-24
-38
-3
0
-2
2
0
2
-1
0
0
0
0
-1
-1
-2
0
-20
0
0
-38
38
0
0
-4
0
4
55
1
-8
0
-5
-22
0
52
-16
0
3
43
0
0
-1
8
2
-2
-17
14
-3
0
-30
0
0
-3
0
-2
0
-12
0
15
-49
17
-5
0
-29
8
-10
0
0
0
0
10
-2
0
0
0
0
2
-80
0
-1
-2
0
0
-2
-40
0
0
-3
0
0
-2
56
-9
-3
18
0
0
0
-9
0
0
2
-17
0
0
-33
0
-11
19
0
0
4
-5
0
0
2
-3
-42
0
-18
0
26
-1
0
10
0
0
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-21
3
0
28
-6
-18
0
41
17
0
0
-5
12
0
-9
-15
-34
14
-2
0
-60
0
29
37
0
4
-8
-49
-7
2
-8
-16
-9
10
-21
8
13
-15
-32
-21
-19
-47
-12
0
70
24
-14
-17
-23
21
-24
19
76
73
-10
-26
-1
-9
14
-8
-30
6
53
13
1
-1
-7
34
17
1
-5
8
-7
0
-21
-51
0
-6
8
29
-1
0
-4
-52
-5
-9
-30
-11
0
-10
-43
-3
15
-2
-6
-7
-8
-9
26
-2
-43
-37
-5
-58
-43
-4
1
0
30
61
-14
17
30
11
9
5
-7
15
13
-14
7
51
-6
3
-4
-7
-10
-7
-20
-20
-5
-5
0
-10
3
0
0
7
-25
-3
-19
63
-14
-9
0
0
-5
-34
24
-48
-43
123
-22
-25
-12
18
28
24
-20
1
-6
3
-10
-18
9
6
-8
23
-16
-9
-37
-18
-59
-16
-25
-4
0
-21
18
-6
2
29
-15
0
25
-7
3
-14
-1
-34
-2
8
-11
-8
-39
0
-18
-104
4
-2
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
-5
0
0
-71
0
0
0
3
0
-21
-1
1
1
0
0
-76
17
0
10
-25
0
0
10
-26
0
13
-19
38
0
-4
-17
0
0
-15
-7
0
-36
-12
0
0
35
11
3
-8
-1
0
0
3
1
-19
-10
-40
0
34
-22
-36
3
0
-2
0
0
0
16
4
0
-3
11
-47
0
0
3
0
-12
0
0
-2
0
0
-1
15
-12
-13
-44
0
-1
43
-28
0
0
-3
0
-36
-29
-40
0
7
-28
-4
-6
23
-25
-7
7
-59
3
19
-19
23
0
0
-23
-3
78
8
-31
1
0
-55
28
-30
0
-35
17
0
-8
6
3
0
9
-9
0
0
-2
6
0
2
-5
0
0
0
0
0
-3
-1
27
-15
0
15
3
-11
0
9
2
0
0
-3
-24
0
-2
56
0
0
15
10
-13
-20
-31
9
0
0
19
0
18
42
0
3
-1
-22
0
0
-35
0
-7
0
-28
1
2
17
0
13
0
-8
-53
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
57
-12
-9
-2
1
-2
19
13
14
-13
15
0
-22
-5
-21
-8
-17
-2
0
32
-4
41
1
1
-4
0
20
11
-17
6
4
17
0
6
-1
2
32
-19
22
-2
16
-8
-1
-41
-5
12
0
28
-3
-6
43
9
0
-9
65
6
20
-16
44
2
0
39
0
9
-11
17
2
0
0
10
9
8
16
28
0
39
-3
-37
-10
12
1
0
-39
-6
-22
-28
7
14
0
16
11
-16
-38
-6
0
0
20
4
14
-12
6
16
-1
20
4
-3
-4
13
-24
0
27
15
25
42
28
31
-12
9
1
23
-20
32
0
0
42
8
-5
6
3
11
-1
0
6
0
-14
-16
-9
0
7
-1
-17
-4
10
19
0
9
-18
7
0
1
35
0
-10
8
-5
-18
-3
27
0
20
14
21
-35
-3
-74
0
35
12
40
3
17
-13
0
10
10
-2
-14
35
22
0
19
6
-11
18
23
29
0
-8
-1
-32
-15
22
41
0
-2
11
15
42
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
-9
-69
0
0
0
22
0
-18
7
11
0
0
0
-50
-22
0
0
-45
0
0
49
9
0
-8
-15
-30
0
9
-9
0
0
8
0
0
-2
17
11
0
18
-37
4
6
-9
0
0
59
-10
-6
0
-26
0
19
-34
-47
0
-10
15
0
0
19
0
-3
0
-43
-54
-8
0
-26
0
0
-26
6
0
1
0
0
-1
-36
-1
0
-14
-2
13
11
19
37
0
-31
0
5
21
-10
0
-2
-34
14
7
-62
13
0
0
3
39
18
-3
-29
-1
-1
-20
30
-44
7
27
0
-4
4
1
-16
0
20
0
0
-2
-9
-24
0
-59
-2
0
-1
-7
8
0
-59
-22
0
0
-3
0
0
-25
-13
-9
-7
0
0
1
62
0
-7
13
2
0
-1
-22
0
-58
64
7
0
0
3
0
-3
5
4
28
0
5
0
-81
-12
0
0
0
10
0
0
-1
-5
2
0
-7
0
-41
-2
6
0
0
-42
-1
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
17
44
8
4
-11
9
-45
11
-8
0
-8
2
7
-70
-14
4
-7
-26
-18
0
-17
-4
-10
21
-11
-2
27
1
-16
-42
68
-4
-11
-3
-24
-22
-14
-50
6
-9
-4
-8
0
-16
42
4
-15
0
-19
32
1
-15
40
0
43
-9
-19
25
20
-1
-8
-3
11
-3
-11
11
-15
-16
23
12
21
45
-21
-83
7
21
-3
-16
-33
2
12
-19
53
2
-12
-6
-3
-31
-5
-54
3
-18
-16
61
2
-13
-15
12
5
8
-10
13
1
-12
-27
-2
-9
-5
47
8
-9
-3
-12
22
28
-4
0
-2
-6
2
-3
-11
12
-13
46
3
-4
47
25
-3
-15
-4
15
23
-9
6
18
26
-19
-33
3
-16
0
-5
11
-16
-6
9
-6
-2
6
-6
14
14
-13
-22
12
27
-24
-30
-13
-11
-15
64
-44
0
0
30
11
-16
76
-17
-14
0
-32
-32
-31
17
-24
0
-6
33
2
6
19
0
4
-53
3
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
-23
0
0
0
-4
0
-12
-7
8
6
0
0
103
-18
0
0
-74
0
0
-51
-72
0
-2
-21
-3
0
-27
33
0
0
-38
0
-8
39
-38
0
0
10
-39
0
-10
-8
0
0
-11
-4
0
12
-68
0
-39
-1
20
0
0
-69
0
0
0
0
-4
0
3
-3
0
0
0
0
0
35
0
0
-2
0
0
0
7
0
-6
-38
0
0
20
-28
0
0
80
0
0
-40
25
-8
0
-16
0
-3
6
-27
0
0
-26
12
15
13
-15
0
8
18
10
-3
0
-26
0
1
0
0
-1
-1
-56
0
1
0
-1
-6
0
-6
4
0
0
0
-3
0
-40
0
0
1
0
0
0
14
0
18
0
0
0
0
-72
0
0
21
0
0
0
17
0
-6
-3
0
0
0
-45
0
0
21
-2
0
0
34
0
-3
-20
0
0
0
-39
0
0
0
-3
0
0
-27
0
-8
0
0
0
0
-3
-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
28
-34
0
0
0
-3
0
-9
20
-11
-4
0
0
11
-9
0
0
-30
0
0
4
-20
0
-15
41
2
0
41
-63
0
0
-41
0
0
-23
-101
0
0
-2
-1
0
0
-35
0
0
-10
0
27
0
-40
0
16
4
-1
1
0
-24
0
0
0
0
-1
0
7
-14
-1
0
0
-7
0
-5
0
0
0
0
0
0
4
0
0
-33
0
0
36
5
0
0
-12
0
0
-29
-38
0
0
-18
12
0
8
-10
0
0
24
0
0
0
-49
0
0
-13
2
0
0
-75
0
-4
0
0
-1
4
1
0
0
0
0
-1
0
-54
-3
0
0
0
0
0
-34
-1
0
0
0
0
0
-34
0
9
10
0
0
0
-12
0
0
0
0
0
0
-67
2
-1
0
0
0
0
-29
0
0
0
0
0
0
-33
0
18
0
0
-2
0
-38
0
0
-1
0
0
0
-11
0
-5
0
0
0
0
-28
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-59
0
0
1
-60
0
2
-25
18
0
-1
0
-26
-12
0
3
-3
-3
15
-4
-29
-1
20
-5
-48
6
-14
9
2
-3
-21
-6
-3
33
-12
35
0
-32
-56
-6
1
5
0
-2
-4
48
-9
10
-20
-1
-26
9
-21
-7
-7
13
0
6
24
52
23
0
44
-95
-45
0
-42
-1
0
-11
-63
0
16
0
-1
23
-2
-10
-8
-17
-15
5
-59
-23
-8
-17
1
3
-18
-24
10
6
-29
-36
-29
5
-13
14
-4
0
11
-22
1
62
-20
-1
-7
-8
0
-15
-13
-19
0
-3
3
-14
1
0
-20
0
-1
0
-26
-43
0
36
-1
0
0
67
-4
0
-13
-16
0
-3
2
8
42
1
0
-53
-26
2
0
18
-60
7
-15
-50
22
0
-9
-8
-3
34
13
24
49
2
-2
0
8
67
-46
17
-11
-11
0
5
-3
-60
-15
29
-4
0
-1
3
-41
46
-1
-19
10
-18
10
68
4
0
13
-16
0
-20
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-34
0
-1
32
-26
2
0
-6
-29
1
0
0
-6
-9
-1
-11
-12
0
-13
2
-10
47
10
-5
-1
-18
2
-6
-4
32
-3
0
-22
5
10
8
-6
8
-10
-3
-16
-9
0
1
18
24
47
2
-13
0
-31
25
-10
52
-1
0
1
1
23
0
38
0
7
-73
0
-3
12
-20
0
-6
-18
0
11
0
4
-44
-1
-1
24
17
-2
4
0
1
1
10
11
0
31
6
-6
-3
17
0
-8
20
6
8
-4
-62
18
37
4
17
-32
33
1
7
11
-13
23
-3
0
-18
9
-6
-1
19
1
-20
-14
6
-1
-22
0
16
-6
0
47
0
-21
-1
-10
-26
17
12
0
0
-39
-18
0
9
14
0
-18
22
6
-2
47
33
0
1
43
1
-6
-5
1
-2
21
11
-14
0
-7
18
-15
34
29
17
2
-18
-9
0
18
-40
11
3
-15
13
22
-23
35
-5
0
6
17
0
12
0
11
16
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
15
-11
-58
-13
-25
-1
6
-2
2
-2
-6
-18
-5
0
1
-2
-23
-12
-14
2
0
3
16
9
7
-7
-11
-2
3
-1
-4
-30
-21
13
-3
12
0
-57
-17
-11
-2
0
49
-2
61
5
5
20
-12
20
3
20
-6
11
6
0
-30
2
56
-6
-43
15
-10
-6
-1
-30
-1
-69
-17
0
39
0
-9
-8
1
27
-3
11
-1
-21
-15
6
2
0
25
11
-16
23
-5
-31
-4
17
6
-9
-32
2
-23
-6
23
5
-15
12
9
23
15
52
9
31
26
37
16
30
50
3
-125
-12
33
16
-3
-2
-1
22
-4
-2
-3
-1
15
-8
-24
49
39
36
0
20
-6
-2
24
16
-35
0
7
-2
4
-8
-5
31
0
0
1
-10
2
9
16
-3
21
3
8
-30
0
13
-3
37
7
-103
-10
24
8
-4
62
12
22
-2
39
24
1
61
2
1
1
34
10
6
48
-5
101
-11
43
-44
-2
55
4
4
12
21
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
5
0
0
-33
0
0
-4
9
0
-25
-35
-1
0
-8
-22
0
0
-41
0
0
0
-30
0
0
9
0
0
0
-20
0
0
-22
0
3
0
-68
0
-50
0
0
-2
0
8
0
0
0
0
0
0
0
0
42
0
-1
-2
0
-68
28
0
0
0
0
0
-2
-7
0
-21
-1
0
0
-122
0
0
3
0
0
-1
-43
0
0
80
1
0
0
53
0
0
-8
0
0
0
-33
0
0
0
0
0
0
-6
0
0
11
0
-3
0
-57
0
0
0
0
0
0
-30
0
0
0
0
1
0
-1
0
0
0
0
0
0
-1
0
0
-2
0
0
0
-7
0
0
-1
6
0
0
-60
19
-6
17
0
0
0
25
0
0
0
9
0
0
3
0
-3
-4
0
0
0
-5
0
0
1
0
0
0
-33
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
-10
-12
-10
0
6
10
17
-2
-39
0
0
-72
18
0
20
-13
-17
0
-12
-5
0
-6
-41
0
8
-49
0
-1
15
-44
17
20
5
-33
-27
7
-46
0
46
-5
43
0
-37
-4
-5
17
4
-17
0
-1
53
-3
28
0
0
48
3
0
102
2
0
39
-25
1
-1
0
0
18
-29
-10
28
-65
54
0
16
23
-11
-2
-2
0
0
-31
-25
0
-2
2
40
-8
20
14
-6
-1
-9
-12
21
-18
9
0
-4
-32
-15
-44
52
21
0
0
-24
0
-78
-18
-50
1
-7
-37
-2
-58
0
0
8
0
0
20
-3
0
22
-89
-2
0
0
0
0
37
0
-36
13
0
0
-10
-27
0
2
0
21
0
0
-7
0
31
27
0
0
40
-8
8
8
-42
3
-4
0
-7
0
-16
-52
4
0
9
26
0
17
-9
21
-2
0
-17
0
-75
0
0
6
0
0
10
-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
53
-9
-19
-38
-36
-39
10
-7
2
-12
-30
-19
-1
-28
-19
6
-10
-3
-1
-2
21
-12
1
-25
-19
-4
-18
16
-12
-1
40
-9
-31
6
-20
-11
5
87
-12
-3
-16
-5
-17
-7
36
2
2
1
4
-58
8
9
5
-14
-61
8
-4
23
56
-27
-36
-40
-30
-58
6
-9
-6
38
9
-27
-26
4
-27
18
-11
-5
-13
-7
1
-3
21
-15
-11
13
-21
-8
4
-19
-29
-5
-28
-21
2
-28
-25
-3
37
-2
-26
1
-15
16
6
-28
-24
-37
6
3
-21
4
-20
-23
-27
5
57
-10
-13
-12
-2
-10
12
2
-71
30
-46
-33
66
4
-34
-12
6
62
-22
-21
12
0
-8
-2
9
-8
-44
-6
-10
-28
-7
-33
44
34
10
-17
-12
-9
15
8
11
-17
62
-8
-5
0
-9
14
-10
30
-22
-34
-6
-50
-32
-8
13
41
-25
-7
6
-29
12
8
3
1
1
11
-19
4
-1
-6
-4
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
-2
-60
0
0
-7
0
0
-28
-54
0
-35
-5
-3
0
-23
-32
0
0
-6
0
0
-1
-22
0
0
9
0
0
0
-9
0
0
-1
0
0
0
-20
0
11
0
0
0
0
-23
0
0
0
0
0
0
-60
-5
0
0
0
0
0
-72
0
0
0
0
0
0
8
0
0
-14
0
0
-5
-55
0
0
-14
0
0
11
-46
0
0
-18
0
0
4
9
0
0
-15
0
0
2
-6
0
0
-12
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
3
0
0
-55
0
0
0
0
0
0
20
0
0
0
0
0
0
15
0
0
0
0
0
0
-30
0
0
0
0
0
0
-27
0
0
0
0
0
0
-29
0
0
0
0
0
0
-19
0
0
2
0
0
0
-10
0
0
0
0
0
0
-11
0
-1
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-5
5
0
0
32
0
0
1
14
0
60
98
0
0
-54
-1
0
0
-4
0
0
2
-27
0
0
40
-2
0
-3
-51
0
0
0
0
0
0
-38
0
-38
-1
-17
0
0
10
0
0
0
0
0
0
23
-16
-2
0
-1
0
0
56
-1
0
4
0
0
0
-9
-4
0
-28
0
0
-17
-69
0
0
6
0
0
-19
-44
-3
0
-32
0
0
21
32
0
0
-43
0
-1
0
-41
0
0
-3
54
11
0
-18
0
0
0
0
0
0
-70
0
0
0
0
-1
0
-79
0
-2
0
0
0
0
7
0
0
0
0
0
0
12
0
0
0
0
0
0
-28
0
0
0
0
0
-15
30
0
0
0
0
0
-1
-34
-1
0
0
-3
0
1
-63
0
7
0
0
0
0
-12
0
0
0
0
0
0
-76
0
-24
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
1
3
-40
-19
11
0
0
10
36
0
0
25
0
0
-38
-34
0
8
-30
-1
0
-37
-31
0
-4
-28
-1
1
-38
-37
0
21
-8
1
-5
-77
-24
0
0
-16
0
21
9
-46
0
0
50
72
45
-1
-74
0
0
3
0
7
0
-30
-5
11
0
0
5
0
16
10
0
0
0
0
-6
9
-2
11
-1
-1
21
-5
-27
0
0
-33
0
2
-46
-27
-9
-4
-5
-1
9
-16
-44
0
0
-15
0
35
13
19
0
0
-6
-11
-4
1
-28
0
0
-19
0
8
0
-8
2
-1
34
-1
-7
0
-15
0
0
0
0
0
0
12
-68
0
0
0
0
-19
28
0
14
0
0
0
41
-35
0
12
-34
12
-7
3
-37
0
-17
-37
0
2
-6
-13
0
-25
-42
4
-27
15
-22
0
10
10
0
0
0
40
0
-6
24
1
7
0
35
0
17
0
0
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-10
-10
0
9
10
-31
45
-8
2
0
-6
-3
-8
15
-12
19
-1
-14
12
1
11
-21
-44
0
-1
-14
-26
-8
-11
13
-2
22
-9
16
-23
-6
60
0
32
10
15
-23
2
6
0
63
-10
-9
-1
10
46
0
0
3
45
-19
-14
2
0
8
-7
-28
16
-34
-1
0
39
13
-11
6
1
33
0
14
4
35
-11
-8
22
0
13
-7
-27
-14
13
5
2
6
-4
64
-67
12
21
0
30
-14
21
2
2
25
-8
0
-8
9
-49
49
-23
-2
-32
5
29
22
19
42
-2
1
9
38
-41
-18
50
0
2
-17
-7
14
-24
-29
0
19
0
31
-17
17
13
6
22
1
2
-47
-2
42
-10
1
6
-19
-7
-8
40
0
10
-2
-1
-19
4
-34
-2
13
3
8
-8
40
-13
0
32
-11
-52
-43
-10
4
0
62
6
-25
5
57
39
0
-3
-1
55
8
-48
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-61
0
0
-99
0
0
-35
-26
1
-18
-24
28
0
10
14
0
4
13
0
1
-1
9
0
0
53
-4
-9
-1
1
0
0
-3
0
0
0
-6
0
20
-2
10
1
0
-83
0
0
0
0
12
0
-48
-32
63
0
0
0
0
24
82
0
1
0
0
-1
-31
-1
0
26
-1
0
28
-37
0
0
-11
0
0
-23
-22
1
0
43
-4
4
14
-41
1
0
36
0
12
1
-31
0
0
9
2
1
0
15
0
0
0
0
1
0
26
0
19
-3
5
11
0
-75
0
0
0
0
0
0
50
10
0
0
3
0
-1
24
-1
7
-1
0
0
2
-41
0
0
6
0
0
-1
-31
-1
-10
6
0
0
-6
-12
0
0
47
2
0
6
-28
11
-5
-2
0
0
0
-16
0
4
3
25
0
0
33
0
45
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-27
53
-23
-41
15
9
19
8
12
15
11
20
4
7
-5
27
-38
0
7
-11
-2
6
12
-10
0
-19
-7
-2
1
-8
12
12
1
2
29
2
-1
3
12
-38
-5
-6
-25
-21
11
3
8
5
-2
10
-75
25
7
21
0
-15
-55
-34
15
-56
-25
-22
-3
-47
-19
-10
-12
-18
3
-25
-17
-5
-16
0
6
4
-1
11
15
-16
-15
4
-5
5
12
12
-39
4
0
-8
11
7
10
6
24
-25
-10
-10
17
2
40
9
-6
-9
-12
0
-9
7
-9
19
-11
9
11
-14
20
-33
-16
0
4
-22
-69
-27
-84
-27
-21
-3
-48
-17
14
-37
-21
4
1
3
7
-16
-29
-6
6
21
33
16
-15
31
19
-1
27
11
9
5
0
-3
-6
16
6
8
-10
-23
26
-5
28
-10
30
25
-6
9
-4
-5
9
13
9
7
-8
0
-30
-8
-15
2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
11
16
52
27
-7
4
-10
28
43
8
13
6
-63
10
-6
-20
-14
16
-3
-114
-8
-6
-8
-27
-4
2
-46
-50
-21
-6
10
-33
26
2
-21
-20
21
10
-43
-17
-6
-22
-8
39
6
-38
7
-10
2
7
-3
5
0
9
-4
68
-9
-65
23
-25
-1
11
-40
13
-6
23
49
-17
4
-7
2
-38
12
3
2
-28
23
8
-18
-13
-4
34
-55
-41
1
17
-55
-30
22
-10
-44
-7
-5
-15
-41
3
-34
-49
-10
19
-1
-26
71
-23
-54
-16
-10
56
-48
-19
-36
0
-10
-36
-53
-13
79
64
9
22
-49
73
19
14
-2
-46
12
15
-12
8
1
1
-7
-12
10
6
5
-20
10
-56
10
-30
-11
-9
6
-7
-53
-22
13
86
-17
25
-54
-2
3
13
10
-24
0
27
22
-19
-4
-36
-28
-10
17
-10
-6
3
17
2
22
20
-1
-3
-23
7
7
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
49
-33
4
0
-30
50
10
-21
-17
2
45
3
37
24
8
-21
-68
5
-20
-1
33
-16
-60
-6
6
-47
-1
-2
-3
-34
-4
17
-16
-23
-17
-21
-22
-17
-8
-66
1
-37
-2
-49
-3
16
0
15
39
4
0
-23
-17
6
-22
36
-10
-6
40
45
40
1
-53
-18
4
-4
10
11
26
66
-2
9
-47
105
-9
22
29
-41
-27
23
13
-37
6
-14
32
-50
-58
3
-48
-18
33
-25
-14
-2
27
-12
-4
2
11
-57
-41
-31
9
-24
0
18
-61
-55
-32
-1
6
-33
9
0
-30
4
-1
11
32
-7
32
-17
0
25
-30
-87
87
-14
-10
18
25
30
13
-3
28
-36
93
13
29
-7
41
18
-14
-31
86
-9
23
-16
-40
-43
-47
-88
6
19
-15
18
64
-12
-36
3
-2
-52
5
-80
40
0
13
-2
-57
-2
-2
-53
0
-9
-17
-36
-29
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
-58
-21
-6
0
6
0
0
-32
0
-28
-20
-18
-4
-15
16
45
17
8
37
24
-18
21
6
-1
36
40
0
21
26
-17
-4
-2
19
4
9
-10
-5
-1
-15
-17
8
-1
-1
-29
7
-19
-28
-8
19
0
27
-38
29
0
-9
-20
0
4
138
6
15
0
0
0
-37
-56
-14
-3
-10
0
-19
4
-4
45
0
7
21
10
34
-7
-14
31
6
5
-26
7
2
63
38
0
-30
-51
-11
-11
-6
7
10
31
4
3
-1
73
8
-1
3
8
-5
32
2
-2
15
-40
0
7
22
-6
0
-12
-6
0
10
-68
46
-1
4
0
24
-31
12
-10
-13
0
19
-94
-24
-3
-16
39
-1
-3
-12
9
4
-43
-24
21
0
-8
8
0
49
25
-27
0
-38
13
-18
16
26
2
66
-37
10
54
17
21
10
9
-1
5
-8
-14
-14
0
-6
0
-2
-2
-30
-20
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
58
-11
0
0
3
0
0
-22
-101
-16
39
-77
-2
1
-10
-27
0
0
17
0
0
-60
-14
0
3
-8
-1
0
-15
-24
0
0
-65
0
13
-1
15
0
-46
-16
-2
0
-2
-33
0
0
13
0
53
0
36
-12
20
0
-1
0
0
-80
-10
0
3
0
0
-18
12
0
0
-5
0
0
16
-20
0
0
-27
0
0
21
-55
0
0
-10
-1
-2
-41
-59
-1
0
-18
0
-2
-4
-36
0
0
-10
22
-3
-1
7
0
0
5
0
39
0
3
0
0
11
0
-11
0
10
0
0
0
0
6
0
-39
53
0
0
0
0
0
46
0
-7
-37
0
0
4
-19
0
0
-2
0
0
0
-43
0
-15
-24
1
0
4
7
0
-4
-18
0
0
30
-39
0
-8
12
0
1
0
-6
0
0
-18
0
-3
0
-32
0
52
6
0
-4
0
48
-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
12
-41
0
1
7
0
0
7
3
0
36
-61
0
0
-13
-17
0
0
-37
0
0
2
17
0
0
-24
0
0
-2
-84
0
0
-2
0
0
0
2
0
-7
0
0
0
0
-20
0
0
0
0
0
0
-31
10
27
0
0
0
0
-97
-7
0
-1
0
0
0
75
0
0
5
0
0
-9
-12
0
0
-65
0
0
-25
-82
0
0
-28
0
0
-17
-43
0
0
46
0
0
0
-83
0
0
0
0
0
0
-47
0
0
-2
0
0
0
23
0
0
0
0
0
0
-26
0
0
0
0
0
0
-6
7
0
0
0
0
0
2
0
-28
0
0
0
0
21
0
0
11
0
0
1
15
0
1
9
0
0
0
44
0
-15
0
6
0
1
29
0
2
7
0
0
0
19
0
0
0
0
0
0
-74
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
-16
30
5
11
2
-8
-25
-20
2
-22
28
-22
-34
35
-26
-7
-26
-33
-16
-7
-51
-12
-8
29
-50
-17
-15
-25
-72
-13
-41
8
-39
-8
-34
-36
-4
17
-38
60
-34
-15
0
4
-19
16
10
18
54
18
13
20
-30
72
-2
10
-22
13
-75
-42
2
-1
24
17
18
-27
6
-9
12
83
-39
-12
-26
42
4
-32
-32
-31
-2
35
-36
3
13
26
29
-7
-65
6
-21
-4
31
-38
-2
-15
-47
-22
86
-34
49
-2
15
-25
18
1
-1
1
2
-55
20
52
16
-31
19
-12
-13
-27
22
-17
-1
44
8
-49
-20
-14
35
13
-31
0
8
4
0
23
59
-11
-9
48
-30
3
-25
-7
-17
-13
26
-16
-13
-34
34
-15
15
44
5
-14
6
41
-27
2
5
-7
-11
19
26
18
-4
28
-1
-35
-10
-31
-8
2
6
25
34
-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
-18
25
-2
15
5
-8
-34
17
5
37
-17
2
44
-8
6
5
48
-14
0
1
-5
-7
-6
24
-7
5
10
-4
-13
-16
44
-3
-12
-8
11
-11
-12
9
62
-12
-1
-2
-15
-1
-4
17
5
-4
21
-16
20
11
-87
-23
-49
-21
-56
0
5
-34
-3
2
-9
-32
12
-15
-29
-34
12
-12
-2
7
-19
1
-3
-12
-7
-6
-2
20
-20
1
-40
17
-13
-6
6
-3
2
-2
-12
-6
-2
-1
15
1
-10
-6
0
-7
59
-5
1
13
-6
-15
-9
-24
10
-18
33
0
21
-2
-3
-6
-39
-22
87
-40
0
20
14
-1
-12
-5
-57
-13
-63
1
-26
0
12
-14
0
18
-7
-11
16
-35
13
-5
-6
0
0
-2
0
-14
0
-21
-2
12
-21
-18
-9
-9
57
-19
11
11
4
-8
0
3
0
-9
-8
10
21
-2
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
13
66
-1
-51
-15
48
36
0
16
22
0
9
53
-20
0
-11
-14
6
-4
-52
-33
0
-15
-15
0
-4
65
14
0
-15
-29
-9
0
-10
-7
0
0
3
-3
0
0
10
-31
78
0
-7
0
0
40
29
9
-34
0
0
-3
-15
1
24
0
7
0
35
33
0
47
-15
-2
0
17
13
-1
-10
34
37
-3
-31
-17
0
-1
-26
29
41
-3
-15
6
0
19
-24
3
2
5
0
13
6
8
-21
0
23
0
0
2
1
2
0
-5
-6
0
0
0
-10
-1
66
-69
-1
7
-4
0
20
38
8
-2
30
0
0
38
31
0
-49
15
4
0
15
6
0
4
33
0
0
50
-24
0
-52
-12
16
18
-9
-25
-7
-9
-5
4
0
0
-6
0
0
13
-9
-2
0
-14
0
-22
-4
-1
-2
0
-15
25
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
11
-12
0
-7
7
49
4
-8
-11
-28
4
20
2
7
-66
24
7
0
21
39
-8
25
13
21
0
-27
-1
-21
-12
-44
0
9
-16
-17
-13
0
-1
-1
0
-4
0
-33
0
-22
-31
-27
0
-17
29
13
-34
12
0
-30
4
0
64
33
2
1
34
9
0
-54
-35
-4
11
-29
3
0
21
36
12
-26
-13
-6
0
-18
23
-4
0
-21
7
16
20
5
0
0
2
20
18
0
-4
0
0
10
0
-1
0
-5
0
0
-7
-22
45
0
-20
0
0
0
0
7
0
9
-31
0
20
0
0
1
70
-8
-10
-11
0
7
-3
24
0
65
18
0
-1
18
29
-1
46
-70
0
-2
-1
-10
0
-27
-11
23
25
52
-10
0
47
-1
1
4
0
-21
0
-2
74
-31
0
0
-23
0
9
-3
0
9
0
-31
14
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
33
5
14
20
-13
32
5
1
20
20
8
23
-13
-1
-4
19
-43
22
-6
-2
-6
-4
23
-47
3
-14
6
-25
-12
-79
-8
-8
1
14
-47
-4
-46
16
24
34
4
-28
1
-20
2
-44
-2
7
-15
31
44
-36
-7
-29
26
34
12
16
-1
45
18
18
6
22
11
31
-5
-4
-3
3
7
-17
1
19
-1
-20
7
0
37
3
18
-51
8
-17
2
4
-4
21
5
4
-18
-2
-41
-19
14
15
23
-30
-8
30
-11
30
-12
0
-38
3
-43
-41
-10
-23
7
26
17
12
31
52
-42
68
54
11
-54
-14
-13
-24
-32
5
28
27
-4
13
0
0
15
5
-22
-19
-1
-33
-33
-2
0
23
3
14
-21
-14
-33
-6
-8
-26
12
29
19
21
-5
-96
-28
0
18
-5
-31
-4
-42
9
-23
39
16
-28
4
-10
-15
-79
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
-16
32
-9
22
-47
3
0
-59
-23
0
0
-39
0
0
-45
-12
0
0
-9
0
0
17
-15
0
0
-8
0
-1
0
-52
0
9
-8
-13
0
0
-71
0
0
0
0
-1
0
7
-1
0
0
0
0
0
20
-2
0
-3
0
0
-10
21
0
0
47
2
0
34
-1
0
0
4
0
0
35
-10
3
0
-41
-1
0
-19
-39
0
0
41
0
3
20
4
0
0
71
-9
-2
3
-14
0
0
-3
0
1
0
-2
0
0
0
0
-7
0
-14
0
0
0
0
0
0
8
-3
0
-7
0
0
0
31
0
13
0
0
0
1
-28
0
0
49
15
0
-43
0
0
4
-3
0
2
-10
-25
0
-8
3
0
0
0
-13
0
-14
6
0
0
0
-10
0
0
15
0
0
0
-9
0
32
0
0
2
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
-17
17
11
74
60
-8
0
-1
10
0
0
-8
0
0
-19
-41
0
0
36
-3
0
-1
-55
0
0
-20
0
0
0
4
0
-57
0
-6
0
4
17
0
0
0
0
0
0
32
13
0
0
-22
0
0
-10
4
0
0
0
0
11
26
0
0
-11
2
0
14
45
0
4
-23
0
0
46
-17
0
0
15
57
0
20
9
0
0
25
0
0
0
22
0
0
-23
-2
0
0
-18
0
0
66
0
0
0
27
0
0
0
-1
0
0
6
0
0
0
0
0
0
4
1
0
0
0
0
0
-14
0
-47
7
0
0
2
17
0
-7
16
0
0
22
43
0
23
-11
0
0
0
-45
0
0
4
-4
0
0
12
0
-12
-7
0
0
0
-61
0
0
-14
2
0
0
3
0
-33
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
50
-16
-17
41
-35
-16
-16
0
-40
-11
-1
-35
-1
-34
-25
-16
-5
-23
-17
-2
-15
-5
-28
-16
-25
-26
-10
11
50
4
-45
4
-1
9
-6
-20
-56
-6
-1
-31
5
-36
28
5
-43
-61
3
-3
-31
11
-23
-33
-46
3
13
25
7
23
28
0
20
0
30
-11
4
2
43
-14
-5
-45
-12
-7
8
-3
-28
-8
-14
7
-26
-1
12
34
-1
11
-2
3
-38
10
-13
-8
4
3
-20
-9
4
-3
8
-54
-23
-34
-28
-24
-14
3
-14
36
4
33
-6
-44
-12
-21
5
14
19
13
28
-10
61
38
-6
8
-2
-42
0
-23
31
33
-21
2
22
-3
-29
-19
-36
3
42
6
-5
5
10
14
45
16
11
-1
19
-12
17
6
-9
-43
-1
3
-3
11
49
31
41
15
19
-26
-47
17
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-12
-67
-61
-29
-40
12
-22
-19
-52
11
-21
-11
7
5
-8
33
26
14
-10
-6
-3
3
-22
-17
10
-13
19
-56
-10
26
-1
24
29
-9
-30
-12
-3
-18
-3
8
-31
94
18
7
1
29
-54
-34
-10
0
-1
-4
4
-38
-17
-25
0
-19
-27
-3
-12
19
-38
-16
-30
20
-32
19
43
-7
-14
3
-5
-5
-7
4
2
-16
38
27
11
-15
12
14
-11
20
-10
30
9
9
-33
-11
1
-39
10
26
16
-59
-1
9
-4
-39
12
30
-17
27
27
-3
12
-159
-25
-54
-24
6
34
30
-14
-16
25
0
14
-13
-31
-31
-14
-31
-25
-12
16
5
11
-10
-22
-3
-2
-13
-15
-8
-7
-1
-4
33
17
18
3
18
10
-5
1
30
3
9
29
32
1
0
-3
24
15
8
-58
-1
-9
-29
-60
31
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-21
-2
-2
11
0
-22
10
4
2
38
-3
-56
-4
35
-34
2
0
-25
0
15
-9
-3
0
-14
-5
-3
-2
2
8
0
0
4
0
-9
-2
-11
22
-15
-7
0
-3
-4
13
-30
32
-2
0
0
6
-15
1
40
-27
4
0
3
-35
0
10
21
0
0
-15
-35
8
-38
-12
15
17
-7
7
-1
8
-24
-3
-5
-29
-12
0
4
26
-6
18
16
18
0
0
-5
1
29
0
-26
0
0
-37
0
8
0
-24
-1
0
0
0
13
0
19
-26
-6
107
-4
4
4
-5
0
-26
-15
-2
9
34
3
0
-13
-11
-8
0
9
-25
1
29
18
-20
-1
-17
-12
0
27
-25
-4
-1
1
-18
-7
68
-8
-6
3
0
-41
0
-11
47
1
10
0
-10
0
35
-11
-4
-9
0
-9
-16
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-4
-11
-3
-5
-29
-7
4
-24
-15
12
26
-10
0
15
9
0
10
-14
-28
-10
34
5
-9
-9
-4
9
1
-41
11
-41
-12
-30
-14
5
-10
0
-36
-23
-38
-45
5
-19
-12
-28
48
59
24
-6
-16
26
-3
-14
30
-7
5
-36
-33
23
2
4
-12
-6
6
-13
-9
-12
36
-29
-13
-33
-36
-17
15
14
-28
-7
-1
-27
-2
5
-2
-27
1
-40
-29
-3
17
1
-2
-6
-10
-4
-7
1
6
-36
14
18
-17
-9
3
-20
-61
12
22
2
-15
-2
-8
-62
0
-25
-41
7
-19
-2
14
6
-19
-22
-3
11
-22
-19
-2
23
-4
-21
16
12
-31
-14
-39
18
-24
-22
23
-27
-3
-15
-4
-12
45
37
-3
-5
-30
-19
-13
-46
3
-4
4
-15
-4
-9
1
-19
-22
9
-25
-34
-22
-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
2
12
-31
-2
18
-10
9
-20
-15
-8
19
0
-11
-8
-16
-6
80
-16
0
-31
-2
-3
-15
12
-4
-6
-13
16
-20
-15
0
-70
-15
-38
-15
-35
-3
-13
6
-12
-3
-18
-45
8
-13
12
22
22
31
-24
-5
-7
-6
28
-33
-3
21
7
16
26
29
23
41
25
6
45
-21
18
21
22
-3
-8
-34
6
15
6
10
-3
-9
23
-20
11
-9
-12
8
1
9
22
27
11
13
-37
-2
-9
7
12
-1
-11
13
7
-12
-20
11
-31
-18
-9
12
2
-64
-33
-25
-36
-8
-5
-2
26
17
-29
2
3
2
-13
-11
-14
-9
-60
-22
-2
-14
31
-3
-50
5
-12
-3
-7
-6
-9
6
18
-14
-4
46
-10
6
42
18
44
-5
3
7
2
6
21
35
-3
8
-4
-17
9
-1
43
10
5
27
-7
-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
-5
43
-70
-20
-13
33
-44
-8
24
39
-10
-26
3
-9
-12
3
67
5
10
30
-1
-16
-1
4
-28
-7
-13
-7
-2
-41
-9
20
-3
-25
-1
-4
-1
5
-1
-4
-55
-18
0
5
14
-47
0
-15
-29
10
28
-20
-45
27
1
14
0
-20
121
6
-7
25
19
-14
-34
-7
13
2
-17
10
-6
25
11
15
20
1
10
-17
50
-3
3
2
-42
37
-12
1
6
-10
-8
-1
18
6
-7
12
9
36
-4
-3
12
-9
-16
7
38
-45
-9
-6
-8
-31
-78
0
-1
-43
-5
-14
16
33
-7
78
-7
-13
-37
-19
-15
-16
-18
-9
7
-6
1
29
8
-46
25
-21
3
4
-34
-23
30
7
2
12
-1
7
-3
-17
29
-5
13
-35
-3
4
-2
-3
-13
-4
-1
5
-1
-32
-3
6
28
-20
28
21
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-9
0
0
3
8
0
14
17
0
0
-44
-6
0
2
-41
0
0
-23
0
0
0
-20
2
-54
-16
0
0
0
2
0
0
2
0
0
0
6
43
-12
0
-6
0
0
-5
4
0
0
-2
0
-25
8
3
0
12
-8
0
3
6
-1
-5
-4
0
0
20
0
0
-9
-5
66
0
22
5
0
0
31
-7
0
27
-7
13
3
23
-19
0
0
-12
0
13
1
0
0
0
-19
0
0
-1
16
0
0
-17
0
2
0
0
0
0
-10
48
-2
2
0
0
7
-9
-2
0
52
0
0
16
5
0
-14
8
11
0
-21
19
-7
35
-26
-13
0
-40
-1
0
-12
-32
-12
0
-4
10
0
-35
-5
-1
0
0
-33
0
0
2
-4
0
0
4
0
-13
0
0
0
0
25
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
-39
9
18
29
8
8
-1
-44
2
-15
2
-5
5
-14
-33
3
12
-9
-1
-3
-3
-13
-1
-10
9
-19
9
-13
6
9
-4
-25
-6
13
-26
-25
20
18
37
21
-5
19
-3
18
4
4
12
2
20
2
3
34
30
18
-53
7
4
-2
7
4
11
13
70
5
4
7
13
7
14
20
-11
2
-3
-26
-7
0
7
-9
4
-42
5
13
-2
13
4
2
21
-8
-3
1
2
-53
11
-13
33
-12
-12
6
-17
10
9
21
56
35
3
-48
9
-3
-5
-1
-24
52
-25
3
46
8
20
17
-15
13
-4
-25
4
-21
21
10
-29
-1
6
10
5
9
-22
37
4
-20
-7
-11
12
-14
20
3
-21
7
11
2
19
-15
1
-7
-14
11
-36
-6
-24
6
8
-21
-12
-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
-15
12
-34
-25
-12
4
4
-10
-2
1
9
5
4
-6
19
-17
20
-5
10
-15
3
-15
-11
10
12
-8
-4
4
0
-6
8
-29
-38
7
-16
40
0
-1
-35
-13
-38
24
0
18
27
-38
13
-11
2
17
-1
30
-3
6
-28
3
2
0
6
13
6
3
14
-15
4
-28
-27
0
-1
18
-11
7
23
-36
-4
-12
-17
23
4
-1
9
20
-11
5
-7
2
-11
-53
12
3
4
-3
5
6
0
-56
23
13
-33
4
-6
31
-15
12
-1
-8
14
-28
-3
-8
-69
-5
-12
-1
35
26
14
-7
5
14
0
24
4
1
-9
-5
-51
5
-35
7
-15
-3
0
13
5
37
-19
-24
11
-10
2
9
-122
-26
8
2
-15
10
8
-18
-10
38
0
-5
3
12
3
14
-12
-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
8
-3
0
1
-6
-10
-14
23
0
0
-22
0
0
0
10
0
1
3
8
-7
-6
11
0
0
0
0
-6
0
-2
26
-6
0
0
9
0
11
38
0
3
0
0
0
17
34
91
18
-8
0
38
-6
0
-12
-27
0
0
31
-46
-3
-6
-65
8
22
-31
-17
-2
-1
9
-13
0
1
20
0
0
-10
-6
-4
0
26
2
2
-2
0
9
0
7
0
0
0
6
7
0
-44
0
0
0
0
0
0
18
-2
2
0
0
0
8
20
-1
-7
29
0
0
-35
-29
0
-41
-13
0
0
-2
-47
0
83
29
-2
-3
-13
-1
-1
-12
0
2
0
0
19
0
-50
2
0
0
0
-21
0
7
-22
32
0
0
-7
0
38
-1
-8
0
0
-31
-22
0
0
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-6
2
-49
7
0
12
-33
11
32
-24
-6
0
-27
45
45
-6
0
9
0
0
10
0
26
0
-30
50
18
0
2
6
0
6
12
0
-11
13
-1
7
-22
-19
16
-35
15
0
12
-75
3
-1
34
0
3
35
22
0
50
-95
-17
3
-33
-5
0
-26
-42
-8
-10
-4
25
17
-1
5
33
-22
2
-1
0
-1
2
-3
-18
0
4
0
0
33
-22
-19
0
19
2
0
0
-12
20
0
-13
-42
0
12
0
0
17
-45
58
-30
34
0
0
30
-6
-1
8
27
43
27
8
-9
0
-15
-5
6
0
-12
3
2
-25
35
-32
4
1
-6
0
-14
-5
15
0
4
3
0
0
-6
-17
4
0
7
0
11
-2
-6
-5
-2
-34
-8
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
-3
4
24
2
16
15
-21
-13
0
8
-36
-7
-4
5
-7
-12
28
-10
4
-7
-14
-8
-9
37
45
-22
-1
-18
-19
13
1
-34
-8
1
-54
0
27
27
15
11
-96
10
7
17
-14
5
18
-4
-43
13
-9
-59
5
31
-14
8
27
-1
-4
-10
12
2
19
28
3
30
21
3
-12
8
3
1
-14
5
14
3
-4
10
4
31
-49
15
-6
1
-29
-6
19
-22
26
-10
-5
13
19
-5
-17
7
33
-10
-51
15
18
-20
2
5
25
18
6
29
-8
-45
6
11
17
13
-9
-22
7
15
-4
4
3
-81
5
-8
7
-11
-8
15
-44
12
7
-2
18
4
-6
-26
-3
-12
-13
-10
0
3
12
-15
10
-2
-16
21
-3
-24
-16
-8
-16
-1
-50
19
23
8
-80
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
31
15
4
12
-2
22
10
6
-36
0
0
-18
0
-2
-33
-29
0
-8
3
72
-2
3
-8
0
-1
-9
0
0
0
-30
-4
-36
0
0
0
0
-43
12
0
-2
0
0
3
18
-17
-6
7
0
0
13
10
0
-6
0
0
0
21
-12
0
-1
24
25
-6
25
-31
0
0
-70
0
46
-6
-9
0
47
-12
13
98
-4
-25
0
3
-12
0
30
1
16
0
0
9
-2
66
0
-21
-2
0
0
0
3
0
-60
-21
0
-1
0
0
0
11
-4
51
-19
0
3
-2
3
0
-6
56
0
0
9
-19
0
33
-16
0
0
8
3
-1
9
-42
-9
2
43
-60
0
-11
-52
0
-1
21
-2
0
0
13
14
3
0
3
0
-19
14
0
-6
0
-24
-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
-3
4
15
0
35
-61
0
11
-21
0
0
-6
0
0
0
26
-3
37
-37
-3
0
-3
3
-1
0
4
3
0
-11
7
19
31
1
52
0
0
-6
12
0
-3
0
0
-14
-8
1
78
-4
-6
3
21
10
0
12
-31
0
0
19
-3
9
30
-24
-11
-2
28
24
2
18
-13
9
0
24
-34
13
15
19
-79
0
29
-19
0
19
2
0
0
-1
-8
0
4
-13
-35
0
0
-9
38
15
0
27
0
0
-1
-12
9
-3
-1
0
-12
10
-19
-20
19
25
0
-9
22
1
58
2
39
0
32
2
0
-30
13
-13
0
-21
11
-11
-11
-16
-49
0
8
-9
0
-41
34
-3
0
-51
-25
0
-6
-31
-4
0
-4
10
0
2
-29
0
0
0
-7
0
0
-4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
56
-9
0
14
-29
-1
10
-14
-6
-32
-21
-2
29
-5
-17
-16
-1
-23
-14
-2
15
-31
2
-12
-6
8
10
6
1
13
44
-9
-14
-37
1
-18
11
2
-2
-4
-66
-5
5
4
1
34
72
-13
-6
-1
7
5
-7
20
-5
0
42
11
-9
2
-17
9
28
0
44
12
8
8
-16
-4
-6
-15
-9
-1
-9
23
-4
39
-13
-15
-37
5
0
12
-42
-27
-40
1
-22
-2
-3
1
15
97
2
9
-1
5
25
-13
-10
-3
-17
45
3
-30
-5
6
-27
18
-5
9
-27
-18
-21
-12
4
-48
-3
0
-17
-32
6
-26
7
-3
37
1
1
-25
-58
-14
3
-1
-46
1
-17
-1
5
-3
10
-3
-28
-45
-29
-14
5
1
-27
-27
-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
8
0
23
-6
6
-7
-54
1
-3
-16
-6
9
-1
-35
21
-4
-6
8
3
-16
-20
-36
0
2
-3
42
-12
-44
-78
-4
-1
-30
-7
-56
-10
-7
4
-17
-17
1
-13
-45
-2
-4
0
-10
-4
14
-24
12
3
11
-13
6
2
6
6
0
-4
19
0
24
-32
3
12
21
-17
4
-3
11
-13
-2
1
1
6
-17
-15
30
2
-17
22
11
-1
-12
-17
10
7
-6
6
-1
4
-17
3
6
-20
9
-35
-45
16
-6
-31
-5
0
15
8
-17
4
-17
0
8
-12
9
11
6
0
-8
2
-13
3
6
0
41
-14
1
-30
-3
-8
-1
3
-6
10
-18
20
-18
4
-10
-34
-3
2
-3
-2
3
-28
-9
0
-18
-20
-62
9
11
-10
-5
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-2
0
1
0
0
0
-2
0
29
-7
-2
0
0
20
0
0
3
0
0
0
-23
11
-5
0
0
-4
0
7
-11
0
0
0
0
-19
35
6
10
8
-9
0
-5
-8
0
52
63
8
0
-4
-41
0
-21
-16
7
13
-12
-55
0
-2
21
-3
-2
0
2
0
-10
-14
-11
0
1
-4
0
0
13
0
0
0
6
0
0
16
0
30
15
-14
0
0
0
0
29
0
-14
-7
-6
-4
0
0
0
-14
0
-9
9
0
0
6
-10
1
-7
16
10
0
0
-27
4
44
-40
6
0
-3
-48
0
-17
21
0
9
-7
-20
0
58
-24
-1
0
21
-23
0
3
19
0
0
0
-32
0
23
0
-2
0
0
13
51
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-2
0
-3
-29
0
-12
-23
-8
-7
-37
41
30
27
11
24
-2
0
-8
-7
-2
0
33
-28
48
0
17
0
0
22
-19
0
-16
0
0
35
-26
-6
-2
19
-9
3
-39
-2
8
69
-28
6
4
-1
1
-3
3
-24
26
-2
1
18
4
0
29
0
2
21
-21
-9
4
-27
6
-19
0
24
0
-3
42
0
26
0
-32
0
17
26
0
23
4
42
-2
0
0
-1
-2
0
-23
-48
0
-2
10
0
1
-21
46
-10
2
0
-3
4
10
-2
0
9
-1
0
-9
-10
-1
-43
0
0
0
-10
22
-2
0
82
43
1
-19
24
15
36
-25
-2
0
-14
-4
0
0
-7
68
0
0
3
-6
6
-1
0
-3
0
16
6
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
9
63
-58
23
-21
-9
-11
-7
49
-10
-18
-9
-32
26
-4
-26
-35
-4
-45
-22
-6
13
-8
-16
-4
0
-30
-4
13
-13
-49
8
7
44
13
6
-36
-20
-1
4
-31
1
-12
-5
-5
8
-27
-22
1
-3
5
20
5
-4
-17
4
-8
21
-19
2
-16
-3
27
22
8
-13
8
-7
-17
3
0
-66
6
33
-35
11
-5
9
37
-62
34
11
-26
1
10
-30
-32
-12
-31
-4
-3
7
-3
-4
22
-39
-4
5
-5
21
-9
0
-18
2
28
-2
-54
8
4
28
13
-39
-5
10
-2
29
-35
-67
-21
-8
33
-7
-29
-16
-48
-24
7
-39
12
7
-46
-14
-7
-1
-43
6
-10
-15
17
-3
4
2
-18
-18
36
-16
-4
4
-9
-99
-51
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
-3
5
15
-57
20
10
1
13
-3
-16
12
-11
-57
-48
13
-3
-4
49
11
-4
-15
0
-13
8
-13
-7
0
-44
15
-13
-25
21
16
0
-5
-2
7
-22
8
15
0
-24
13
-6
86
33
15
0
6
21
-19
52
-5
-4
-3
11
11
13
8
52
5
54
7
46
0
34
-51
2
68
-40
20
-3
-19
34
22
-2
13
35
9
5
19
19
47
-21
9
-10
-45
10
0
-8
-21
-6
-24
-12
27
24
0
-1
-11
-23
42
3
16
0
-17
-17
-3
1
40
6
13
51
-7
2
67
7
34
30
-95
-10
11
-2
6
12
18
-51
47
11
-25
11
29
26
-10
-17
2
27
-19
-13
28
3
-1
-8
58
-1
-11
-9
-40
-1
-9
12
68
-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
17
-17
0
0
-9
-2
0
-12
21
0
-13
8
-33
0
-19
-25
0
0
-3
-7
0
0
13
6
1
0
-35
0
0
0
30
0
-4
-2
0
10
4
-38
-38
-9
7
0
19
11
-3
78
-15
-1
0
-5
-8
7
-36
-9
-46
0
-11
-25
-17
52
-34
25
0
-10
-8
3
11
-30
1
2
-4
4
0
-19
38
-2
0
1
-8
-1
22
31
10
0
0
-6
-12
0
-3
22
0
0
8
-7
-4
2
-26
0
1
19
9
21
33
0
0
-19
5
8
20
-10
-9
0
27
6
22
42
-26
-9
0
72
-25
-23
-41
8
25
0
6
-5
0
-53
-42
3
-15
46
9
0
-9
-39
13
0
-32
-18
0
12
22
-8
0
0
-13
-27
-10
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
-28
35
-16
15
6
0
-7
12
6
20
-4
54
-42
-18
0
9
-1
10
1
5
33
37
-7
-14
22
0
9
-30
-19
-13
2
-17
-12
-19
-18
-29
17
11
11
4
0
13
-66
2
-64
-19
-13
-3
31
-96
-1
11
-5
1
2
-9
34
25
38
0
-16
0
9
63
-4
36
-48
5
13
-1
17
5
-22
9
-29
-12
14
-1
7
-7
-25
25
-41
-19
-9
-29
-66
89
82
-14
-8
-29
-11
-28
-22
4
-33
-50
28
16
-52
-17
-5
-6
22
46
11
0
-20
-26
-63
25
-5
-4
-38
11
-43
-18
-4
-6
9
-39
-8
-7
-49
1
-73
2
18
4
7
1
-23
-37
1
-48
-14
-55
0
-13
5
-10
-18
6
-52
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
7
6
-37
3
7
-1
-41
22
-6
-4
-5
11
-29
-25
-13
-7
-2
0
-36
-33
-11
-28
0
-8
47
10
-23
-10
-1
4
-22
3
2
-3
-14
6
0
19
-28
-3
-4
-19
-5
3
19
-27
-8
-20
-33
13
6
17
-11
13
5
4
12
0
-7
12
19
2
-10
1
7
48
-3
6
-26
12
13
17
1
1
17
-30
-7
-35
-6
-19
35
-1
-15
-35
-41
6
1
-31
14
3
-20
5
13
29
-12
8
-15
17
-2
8
-2
7
10
-24
-20
-5
6
3
-11
4
-7
-21
-17
3
-2
15
-10
-8
-15
27
0
15
3
-8
-1
39
-4
6
15
27
0
-6
3
-26
1
-5
-7
4
-29
-15
-24
0
-5
-3
20
-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
10
-14
0
-58
6
28
0
0
20
0
0
6
0
0
0
-71
2
8
0
0
0
0
-55
-2
0
-9
0
0
0
-12
-2
8
-2
0
0
-11
19
0
2
3
0
0
30
-11
26
3
-46
-16
0
-8
16
0
0
34
0
0
0
-42
0
0
5
41
0
0
15
0
0
1
0
0
0
-14
0
-1
-1
18
1
0
-19
0
0
-7
0
-1
0
11
-19
0
0
0
0
0
-47
1
-4
-1
0
0
0
-41
0
-6
19
0
0
0
22
0
-11
-17
0
0
0
21
0
-9
-3
0
0
0
11
0
0
30
0
0
0
-42
0
-12
0
-6
0
0
-13
0
-25
1
0
0
0
-29
-4
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
17
0
17
-24
2
35
0
9
0
-2
6
0
3
0
-24
1
-9
0
-8
-3
0
20
23
0
17
0
0
-14
-8
10
11
6
0
0
36
23
0
0
-51
0
0
-17
-16
0
0
23
17
0
-10
-32
0
0
-21
21
-8
-2
45
-1
0
-33
-30
3
-2
-33
0
9
-9
1
20
0
-21
0
2
-1
-12
40
0
-3
0
0
9
0
0
0
17
5
0
0
0
0
-7
18
0
11
2
0
0
-1
-6
0
6
-14
0
0
-10
-27
0
-21
-2
0
0
-7
-33
0
-7
17
27
0
6
-13
0
-1
0
0
0
2
-61
0
0
-23
58
20
0
-4
0
5
-19
-7
3
0
-32
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
5
-7
12
0
-10
29
0
37
82
10
-8
4
-4
7
-8
-34
-1
-7
8
29
-2
-37
-35
-1
8
6
-2
2
-33
-7
5
-3
2
1
13
7
9
-1
-19
-15
1
16
91
-8
3
-12
-31
-8
-8
23
4
-13
22
6
4
14
-19
11
16
17
-41
18
3
-79
-4
-27
7
10
0
6
21
-12
-8
0
-16
-4
9
16
10
-1
-30
-10
14
-11
-10
6
-29
-7
-20
-5
-2
9
-28
-17
16
3
-3
14
57
-5
19
-16
-5
3
7
-53
-28
-35
-50
23
7
8
-41
-30
1
7
4
-51
-16
-6
-14
-17
-38
-62
-24
8
37
-13
-30
-5
-17
-21
4
-32
-14
51
-81
-35
-4
8
-9
7
79
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
5
-36
28
-15
1
-4
0
0
-1
28
13
0
10
-46
69
0
-7
-17
0
6
28
0
-4
0
0
54
13
50
11
-41
-20
7
-38
3
-2
-2
8
0
4
25
-6
0
-2
21
-20
9
-5
-23
0
-1
18
0
-9
-8
3
-1
11
9
-1
12
-12
7
0
0
-23
0
0
-3
28
0
-8
11
9
8
0
4
18
0
0
-3
0
0
-25
-10
0
4
0
0
0
42
0
-1
0
0
1
-8
4
2
74
-9
-8
0
-12
-19
0
-27
-5
-3
-3
2
-3
0
-2
-18
8
26
-1
-11
-1
20
-22
0
0
0
22
0
0
50
0
-16
-6
13
0
-24
-8
0
-3
0
34
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
37
24
-4
-2
-11
9
13
36
-3
19
10
1
8
27
8
45
0
0
17
4
13
-17
0
0
-41
12
-20
27
16
30
0
26
-3
0
-13
32
-3
0
-19
-10
8
40
14
-17
0
1
-2
20
42
-5
-12
0
47
11
-6
12
-5
49
0
49
-6
0
40
9
10
0
11
-4
2
-13
41
23
0
0
-15
15
34
0
10
0
0
12
48
-9
14
0
0
16
23
-4
-3
29
0
0
22
6
0
10
13
32
0
19
4
2
-32
-11
-11
0
26
-2
8
-57
-29
-22
0
-53
-27
-2
-34
33
-34
0
68
1
0
24
42
44
0
28
20
0
5
52
-8
4
0
-33
-13
0
29
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-6
-19
8
-11
0
-11
-15
0
0
-12
10
0
6
-8
-1
-4
0
4
-6
-37
13
39
-36
1
-49
14
17
-5
14
-20
-11
15
-52
14
-1
45
-15
-18
-44
-35
7
-6
-3
-16
28
20
21
23
-3
0
-43
-23
-15
-7
12
-3
13
3
23
-2
-1
5
-12
14
-10
-56
23
0
7
3
-6
-1
12
-12
-1
-9
-18
10
-14
2
0
4
-11
3
4
7
-3
28
-25
30
9
-46
-10
30
-33
1
3
-2
-8
1
-3
-16
9
-9
-12
9
-40
-29
19
0
29
0
-25
7
-50
-21
-3
1
0
-9
0
1
-5
0
-16
0
-28
-24
-12
-7
0
-20
-13
4
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
42
0
-32
4
21
-13
26
14
-9
-4
10
24
-49
29
-73
5
-22
33
-2
-32
6
6
-8
-5
-27
-3
-12
26
-2
-13
-4
26
0
-11
-7
-6
-10
-24
-3
-3
-25
-9
10
-2
-23
-26
-7
-6
9
37
-8
-29
9
10
5
4
17
0
-11
1
-11
-41
4
22
23
4
-49
19
-29
15
32
0
4
1
-26
-36
-21
14
10
16
34
6
-48
18
-9
6
-30
-14
-16
-24
16
28
-2
9
34
-6
-2
49
21
1
-8
-32
7
-22
-37
51
-6
-16
-14
-14
7
24
-22
6
-33
21
-4
-33
25
25
0
25
-24
36
11
-37
1
13
41
9
-1
32
3
-17
8
-10
-38
13
-76
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
10
0
0
0
0
45
0
-47
-4
-11
0
0
0
6
-34
7
0
0
0
0
44
-29
0
0
78
0
0
-1
-25
0
0
63
0
0
-16
-15
0
0
46
-5
0
-3
17
0
0
19
0
0
12
-55
0
10
32
1
0
10
-37
0
0
-2
0
0
0
-41
0
0
13
0
21
0
-13
0
0
0
0
0
0
-32
33
0
8
0
-3
0
-5
0
17
-7
0
0
0
25
0
0
0
11
0
0
-15
0
-1
1
0
0
0
-3
0
15
7
0
0
0
-28
0
0
13
0
0
0
30
0
9
-21
11
0
0
-35
0
-22
-4
0
0
0
32
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
-31
2
-10
-13
-37
-16
-3
-49
-28
4
-15
5
0
8
-73
2
-23
2
-18
-13
14
4
-6
15
20
-16
-14
7
-19
-7
2
38
-11
-6
0
11
-9
6
-12
-1
-8
-2
-4
-2
-31
-8
21
3
-4
1
-2
-8
12
43
8
-10
11
22
16
15
12
26
-21
-4
29
7
7
-24
-6
-16
2
-69
-20
16
-47
10
-7
-1
-51
32
45
-38
-30
-38
5
12
6
41
-20
-3
-29
34
19
-4
14
-18
-6
-47
-3
-12
7
-4
-25
-5
-69
-12
3
-42
24
-40
4
67
-13
1
-21
14
-4
-9
3
-26
-19
-7
7
-18
8
36
-70
15
-6
-9
0
-2
1
-3
-2
29
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
14
32
-4
16
71
-58
0
-4
8
18
-3
-21
-6
30
0
-44
-4
29
-17
-20
-28
-12
29
-52
-8
-30
-17
-8
17
14
28
-1
-20
-17
-2
16
22
2
-2
-47
-4
-15
16
-50
-11
-4
8
-18
-40
2
-37
-5
-25
-13
-41
-11
9
8
-37
-24
-24
32
-4
15
-37
-3
-37
-18
3
-2
-6
16
6
0
7
-33
23
-4
-35
-18
19
-39
0
-63
-16
-6
-20
-5
19
2
8
11
22
-33
-18
-33
3
-10
6
-44
-9
-28
2
28
-35
-7
-9
18
-15
-8
19
-13
-13
-18
-28
11
-25
10
-31
0
8
-29
-33
-5
-12
13
-4
-2
-15
-1
-2
-10
0
-18
-18
49
24
-81
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
-28
3
15
30
68
10
-10
3
-2
-12
-9
-5
1
-4
14
-2
-4
18
7
-4
23
32
6
10
33
-10
-3
-2
15
9
-12
-22
11
-9
-60
33
5
-60
15
32
10
-1
-43
17
8
1
40
-2
-1
28
12
-6
7
1
-3
0
23
-9
-12
6
-28
13
-10
0
0
2
17
-2
8
6
20
19
-8
-16
7
-7
8
17
3
0
-11
-25
-23
49
-4
-21
2
-42
46
2
57
31
25
3
-3
-20
8
0
8
13
57
4
63
-9
-32
20
7
-47
14
55
17
-56
43
9
17
25
12
1
4
-26
20
-32
6
8
10
12
-15
-20
-18
5
2
2
10
-37
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
-4
-5
6
-4
-15
-12
0
0
15
13
23
0
20
0
0
8
-31
0
9
-11
0
11
4
24
-25
10
-13
0
43
15
-18
-21
-8
-1
0
3
5
-1
-17
0
-13
0
14
-5
6
0
-8
8
0
9
-11
-1
-11
8
22
0
-7
19
0
-14
-4
-6
0
-13
-25
8
4
-6
5
0
0
7
62
-8
0
12
0
-7
-2
32
0
-37
-13
0
-39
8
-3
31
-40
0
0
-29
2
0
-17
35
-17
0
47
3
0
-36
40
91
21
-40
-12
-6
25
-11
-3
0
-7
4
0
-6
-12
7
0
18
4
0
-15
10
38
0
-9
-3
0
12
-6
4
0
0
-9
-26
1
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
4
13
9
0
19
0
0
-36
-20
0
0
0
0
-1
-42
46
12
6
18
0
-13
-36
0
22
30
-2
34
-1
12
0
9
-33
21
2
-11
21
15
55
-5
21
70
0
39
0
6
2
8
-1
1
7
0
1
-18
-6
-65
0
41
-8
4
-3
30
-21
0
-7
-23
0
3
1
0
4
-58
25
0
0
0
0
-7
-28
0
38
20
3
-1
0
-8
0
16
-14
5
10
-22
6
0
-65
-21
0
-1
0
-9
4
-2
-3
-59
-16
6
34
0
-22
-23
-2
2
0
-21
0
-1
-69
5
3
0
13
0
17
2
1
-2
0
-8
-6
0
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
2
22
-7
-8
45
15
-4
-5
-3
-27
17
13
18
12
3
20
2
-2
-4
8
0
3
-27
0
-5
-52
-3
3
-4
-3
9
-3
-9
-6
5
4
-50
1
0
10
-10
6
2
7
4
4
-1
-1
18
-7
17
-32
1
9
9
-23
0
-19
-5
-22
15
29
-17
5
8
-78
39
7
2
34
7
-2
-12
1
-5
52
32
5
3
-13
32
-22
19
13
11
15
-16
10
-19
-1
2
7
-10
-6
-2
-11
-18
-5
2
-20
11
-4
17
10
5
-3
-20
2
-20
-23
1
-27
-3
-26
26
2
-2
-3
10
0
48
28
-16
-38
19
-40
19
-4
-77
-40
-7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-29
47
0
0
1
-1
34
35
0
-1
0
0
12
-4
0
8
-12
-9
0
-3
-8
0
-1
18
0
0
-4
30
0
-1
5
-7
0
-13
17
0
2
-69
0
8
19
-54
0
0
2
32
1
10
-11
0
4
-15
0
8
9
-26
0
0
-8
-34
-1
0
0
9
-4
0
0
-7
0
19
-9
0
8
0
0
-9
37
0
15
2
0
0
-11
-51
0
0
-16
-10
0
-4
34
0
-13
34
0
0
0
-5
0
0
4
0
7
7
-54
0
-12
4
0
-6
0
13
0
0
9
-6
0
-3
-41
0
-42
1
0
-8
0
11
-13
0
25
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
-37
23
4
1
3
-1
0
-57
22
0
15
0
0
38
-29
5
0
-59
2
0
-101
-1
0
0
-51
0
0
25
33
0
0
-71
-3
0
22
-23
11
0
-80
0
-2
23
-67
0
1
-22
6
2
0
-85
-3
0
-30
0
15
4
-60
0
0
1
0
-9
0
-22
-1
10
-6
0
0
-9
-3
10
0
0
-3
0
0
-9
-5
1
6
0
0
-2
26
0
0
25
7
0
81
-9
0
11
-25
0
0
-4
-36
-2
11
-21
-1
0
6
-42
1
-4
-4
-9
4
0
-24
0
-2
-38
-11
11
0
-5
0
5
-3
0
13
1
-35
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
24
-3
0
-4
-40
0
2
0
0
0
-14
-8
-3
36
-37
-16
10
0
0
33
29
30
20
49
25
4
12
1
18
-6
-48
18
-1
10
19
-33
-9
31
10
0
-11
-16
11
-15
-21
-18
0
-24
23
23
-13
10
-13
0
32
-8
-52
-18
0
31
-13
3
0
-3
2
0
3
5
1
-6
0
0
0
-34
0
-46
-15
0
0
-2
-16
0
7
-51
-3
0
22
22
0
-1
-89
40
0
-11
-19
0
-20
11
-49
-12
29
3
0
-7
6
-3
0
39
-17
0
2
0
-35
9
11
-42
0
-16
2
0
0
0
-2
-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
-29
-29
22
0
0
0
0
8
1
0
0
0
0
0
-22
-17
1
1
-13
1
-19
9
0
7
30
0
2
-46
-7
0
11
5
0
-11
20
11
0
0
-14
6
20
45
-11
0
0
14
17
-3
-3
20
0
0
-5
-15
3
0
-28
0
0
42
7
-47
0
-34
-3
0
0
0
-7
0
-8
1
0
0
0
0
0
-1
0
-10
55
0
0
0
-12
0
10
-4
0
0
0
-11
0
-21
-54
0
0
0
-6
0
0
47
-2
-2
-1
-41
0
2
-6
0
0
0
-27
0
0
-14
82
-1
0
3
0
-24
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
12
44
9
34
0
5
-13
9
20
-56
1
0
-21
10
-30
65
4
59
0
32
10
-1
-67
0
-2
0
3
-1
16
-56
-6
-9
0
23
-2
-6
-22
-16
14
0
19
-11
-14
18
-11
5
0
42
-5
-11
-60
19
-8
0
-32
6
43
-4
-3
8
0
0
-1
37
41
37
-12
0
10
-16
-28
-2
-18
-2
0
22
29
-1
-20
19
2
6
-20
-17
-1
99
-11
-2
-2
-32
12
23
-31
19
-27
4
1
-6
-17
-6
23
-11
-8
82
11
22
7
0
-9
0
41
1
1
28
2
7
0
8
-15
7
-15
-12
8
19
0
11
54
35
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
-23
0
0
0
0
0
0
3
0
-3
-4
0
0
0
-5
0
0
110
0
0
5
-65
0
0
42
2
0
3
3
0
0
-7
4
0
0
15
0
0
-2
0
0
0
-38
0
0
0
0
0
0
-19
0
4
0
0
-2
0
-14
0
-2
0
0
0
0
-25
0
0
0
0
0
0
5
0
0
0
0
0
0
38
0
0
0
0
0
0
30
0
-5
-6
-6
0
-1
14
0
0
0
0
0
4
-30
0
4
0
0
4
-2
-33
0
0
6
4
0
0
-41
0
-1
0
0
0
0
-65
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
28
-19
19
20
20
-1
9
14
-6
-5
-18
13
-10
21
18
3
4
5
18
-6
-1
-23
10
-5
0
8
-4
-3
0
12
-5
-4
-4
-3
-17
4
5
-2
8
-23
-3
-17
-8
-29
-5
-1
-4
-7
-40
-11
-3
-7
3
15
0
-7
-19
21
-7
22
-1
8
23
-17
-17
-10
-50
31
13
-10
-9
5
64
-10
22
-5
19
0
6
-3
-15
10
-1
14
-5
-2
13
-34
-26
-1
18
-6
6
5
16
-29
-1
-20
-5
6
-5
13
-11
4
-24
-12
-19
-3
13
-17
0
-63
-8
2
0
8
-67
0
-118
1
3
-27
-91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
7
-59
44
-1
-3
-11
-19
1
-19
-22
31
13
2
42
-42
-9
4
-34
-35
-4
-35
-8
-18
-24
14
-11
-4
20
-23
-1
-71
-5
-5
2
17
54
-8
-8
-14
1
0
17
-1
5
41
-33
29
10
-14
32
31
-21
-17
7
28
0
12
-50
-26
-39
8
-2
-3
-40
-1
-41
0
2
5
19
-8
-42
27
15
11
-9
71
-10
-28
20
-23
7
-11
-24
-19
-20
-7
5
29
-5
25
-14
-5
-9
19
-23
-8
-37
-11
-29
-68
-19
9
-16
13
16
-16
-18
-8
-21
10
5
-6
8
32
-37
-2
18
49
13
9
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
0
0
0
0
0
0
0
0
0
0
0
-6
-7
7
-3
-21
1
24
-31
2
6
-28
11
3
-53
-21
-25
-46
-7
-43
-15
17
-5
-26
-1
-6
-7
14
-4
-35
-1
-1
69
-21
-10
-13
-48
-9
-29
-32
-9
16
-8
20
-9
-1
-47
4
41
22
-75
36
13
-13
21
-31
-4
-3
2
-9
17
6
0
-21
15
2
-16
49
-29
-43
-17
-42
-40
-77
-4
9
-6
-7
-53
-6
33
10
12
27
5
-43
-8
-16
2
-17
-73
-23
-54
-5
-12
-11
-22
-8
-10
3
4
-3
6
-5
5
-6
50
-9
7
-56
-5
6
-8
12
-53
20
10
19
25
13
0
21
24
10
5
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
-33
-1
0
0
0
0
3
-49
-1
0
28
1
0
1
-17
0
0
1
0
0
38
9
0
0
8
0
0
-2
44
0
0
-5
0
-1
0
-8
0
0
-1
47
-2
0
-1
0
0
1
0
-4
0
-76
0
-4
0
-1
0
0
-26
-3
0
0
0
7
0
36
1
0
0
0
0
0
-16
0
-1
1
0
0
9
-19
0
0
-2
0
0
-1
-39
0
1
0
0
0
2
18
0
0
-1
6
0
-2
76
0
-2
-1
0
0
0
-40
0
0
0
-4
0
0
-27
0
-7
0
0
0
0
-23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
15
-21
0
-3
0
4
22
0
13
22
18
12
-18
9
4
-1
-59
-24
0
24
9
6
-1
-6
-4
-8
8
12
-4
0
51
-8
3
48
1
-18
-1
30
2
-12
-1
30
-1
0
24
20
0
17
-9
17
0
27
43
-13
15
1
27
22
-2
-2
0
23
0
13
-12
-6
15
0
0
75
-26
9
-6
9
0
8
18
19
-3
-3
22
-10
16
-45
26
0
-3
0
0
31
-23
6
0
-43
-3
-5
5
-39
3
0
-1
-30
-9
-40
5
-9
-3
-23
22
34
30
6
5
20
-5
-7
0
-18
-3
33
64
51
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-44
0
0
0
0
9
-15
-4
-9
-6
-31
0
-16
-19
0
1
-7
-3
0
-24
17
-9
-12
7
-22
0
-8
16
0
10
5
56
0
5
-25
-3
0
4
6
0
-20
-22
10
17
18
-12
0
0
-30
-4
-2
-30
-12
0
-4
18
28
0
0
0
0
2
3
1
-1
24
-4
0
65
-12
0
-6
-81
0
0
5
-1
0
98
-61
16
0
0
19
0
-67
4
28
0
-49
-12
6
59
-10
11
0
-2
0
7
-17
36
0
0
8
-13
-11
-16
-58
-31
0
0
25
4
32
18
7
0
0
-15
60
-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
-2
-92
0
0
36
-7
0
-14
66
0
0
-65
0
0
34
-31
-7
0
83
-5
3
2
16
-2
0
-48
0
0
-8
25
0
0
-24
-4
0
-1
-37
0
0
0
0
-1
0
13
0
9
-1
-2
6
0
-41
0
0
9
-1
0
0
43
-5
3
0
0
0
0
76
0
37
-2
0
0
0
-33
8
-8
-4
0
1
0
-50
0
-10
4
-1
0
-1
-32
1
-13
-1
0
0
0
-27
0
2
25
0
0
0
15
0
0
-1
0
-1
0
-69
0
-35
0
0
-18
0
-11
0
-7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-12
-2
-21
-12
-21
-29
-8
10
1
-2
-2
-34
5
9
2
26
8
14
-10
-14
14
1
16
1
15
-23
11
-1
-1
0
-12
8
9
20
-10
-3
4
-14
2
35
8
10
-6
-17
-3
-3
1
1
-3
1
19
12
-67
-14
-24
-43
0
-17
-24
-107
-29
-44
-28
3
33
-31
-10
23
-11
-26
10
9
-6
4
-8
-55
-12
4
17
23
12
-37
21
25
1
37
-1
4
2
-2
-3
-3
19
12
0
5
-28
-1
2
1
-9
28
26
-12
43
-2
-13
1
1
-4
22
4
-2
-6
-21
-12
-17
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
46
-20
-15
-12
4
42
-3
-34
13
5
0
-1
-9
48
-13
24
-42
-9
13
74
28
0
-24
-14
-5
8
25
-6
-30
-5
-73
-45
-23
-2
-12
-23
-9
-25
-18
-12
-10
-8
-14
-3
-15
0
16
3
-55
-1
0
-8
22
32
-14
10
50
9
-11
25
0
47
-16
36
-25
22
-23
-17
19
-1
-1
19
4
3
-5
46
6
-26
43
0
56
9
-7
86
1
-56
-17
4
-16
-6
4
-40
18
55
-11
-2
10
3
-16
-17
-5
0
17
4
40
32
-2
3
0
4
20
-19
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
-13
-1
0
-13
14
0
0
-2
0
-2
21
-18
0
0
18
19
6
-3
-22
0
0
-11
6
0
0
3
0
0
-7
90
0
-2
38
0
0
-9
0
-4
0
-59
0
0
26
24
2
0
41
0
0
0
0
6
0
34
25
0
0
0
0
0
-7
8
-26
-4
-1
0
-3
-39
-1
0
5
-12
0
1
16
0
-4
-20
0
0
0
-13
-1
-17
22
-7
0
0
-46
0
-2
75
0
0
0
17
0
0
-12
0
13
0
24
0
-15
0
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
-48
-7
17
59
17
-27
-25
-11
-1
7
-8
-44
-8
9
34
24
-6
-8
-39
25
9
6
-28
-11
52
-10
-44
-52
-10
12
-11
4
-23
11
-11
-8
19
0
2
24
4
14
0
-2
-2
12
20
10
16
0
-9
-5
0
0
-16
-2
0
-6
7
3
11
-1
0
-2
-16
32
-13
-1
0
-1
-19
22
-4
-22
-27
-4
8
68
8
-16
4
56
7
13
-1
-32
4
-48
-19
7
39
5
-1
-1
-61
5
-2
-41
5
-20
0
-12
-21
26
15
0
4
0
21
-12
0
-29
0
-7
44
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-27
-9
-1
31
8
0
-18
-61
0
3
11
0
-18
0
7
0
0
1
0
0
14
-39
0
-9
13
0
0
-2
-19
0
0
-12
-10
0
0
-12
0
0
-2
0
-7
0
-23
0
0
10
13
-3
0
-19
0
0
0
0
0
0
-19
0
0
1
0
0
-2
58
0
37
0
0
0
8
-13
0
25
7
0
0
-7
25
0
18
-1
0
0
0
-34
0
-9
30
0
0
0
-8
0
-8
6
0
0
12
-2
0
0
-4
0
0
0
-49
0
30
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
-37
0
0
0
-2
0
-1
-61
0
0
-31
0
0
58
-2
0
0
0
-3
0
2
-35
0
0
21
0
0
0
-22
0
0
21
0
0
16
-55
0
0
17
0
0
0
-20
0
0
26
4
0
0
-4
0
0
0
0
0
0
-36
1
-2
4
0
0
7
14
0
8
18
0
0
0
4
0
1
10
24
0
0
31
0
-1
15
0
0
6
1
0
0
60
9
0
0
2
0
-33
-23
0
0
0
-54
0
0
0
-6
0
0
-2
0
-2
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
-43
33
-2
-45
18
-46
32
9
-18
6
15
-28
30
-148
3
3
-17
-14
7
26
-6
70
-19
-6
-45
12
-6
-10
-12
8
6
-81
-34
63
-11
3
10
0
0
-7
37
5
0
6
22
24
0
5
-9
0
3
-58
-6
-29
-9
0
6
-4
30
35
-8
17
1
-32
25
7
13
13
41
2
13
-5
4
14
-52
-37
-6
-24
6
50
-23
10
42
-30
73
-6
22
-39
-2
4
-13
-1
-5
-1
-23
-29
-8
47
2
5
-3
23
-10
4
42
0
-1
45
29
-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
-11
15
-14
-22
0
18
-26
11
12
-16
25
7
-8
-11
-7
1
7
-15
8
4
0
-8
-4
-24
-26
-1
-1
-14
-14
6
-6
34
-5
-6
-6
-29
-1
52
-3
-19
11
0
-29
-3
2
16
-81
26
7
-10
-2
-18
-7
-54
29
-41
-19
0
4
-8
-8
-48
-8
-54
0
-14
-13
-24
19
17
5
5
43
-11
4
-17
-5
2
0
-12
-15
4
0
5
-11
4
1
2
22
-30
3
-7
-9
-37
15
11
16
17
4
8
-24
-12
-9
-31
-6
-26
3
-15
-19
-23
22
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-14
7
28
-10
14
-14
-12
3
15
-15
19
65
-3
7
13
-13
-37
-22
8
-49
12
-11
-6
13
-34
37
12
-39
2
0
-7
-50
32
42
-46
3
-1
0
16
-15
12
1
6
10
-1
-1
29
6
-4
10
12
4
0
-6
12
65
20
-14
-16
-28
7
6
57
-26
-1
26
-27
5
0
16
0
34
3
36
-5
0
46
-1
-6
-33
-2
-13
-17
-11
-3
0
-12
-17
28
42
46
9
0
45
-1
18
15
-3
5
0
-15
31
-24
-10
0
2
40
-2
-2
-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
-2
-5
94
25
15
15
-2
-57
-15
-12
-4
43
20
-40
0
11
0
-23
24
-32
-1
-46
-6
8
6
10
7
20
-40
9
0
-17
-68
27
-21
-3
-35
0
3
-18
-1
-16
0
-2
-4
0
-1
-30
46
9
-36
8
-12
3
-5
7
-16
5
14
3
-11
2
-13
-27
3
53
-27
-69
15
-16
25
-2
18
6
46
15
45
28
26
-26
49
-32
-38
7
24
1
-3
-15
22
2
53
52
-29
0
-9
-9
35
-7
0
-29
0
-11
11
8
-6
0
-1
12
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
-4
5
64
-4
-12
-3
-11
-2
22
-9
-14
-11
-16
-15
-14
17
10
12
27
-4
-33
2
1
22
-42
15
8
-18
-20
7
26
39
34
21
5
-37
8
11
6
19
4
-9
-1
-5
-17
-35
51
8
-4
34
-11
-18
-52
-48
5
-1
31
8
-6
30
33
44
54
8
-15
-37
-8
7
54
-64
-14
-5
-14
-28
11
21
-27
-14
13
12
-35
2
11
6
-38
1
-1
-9
19
37
42
-2
-2
-4
-29
21
-7
-9
-2
11
0
12
11
-10
37
-24
-10
3
18
21
-13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-12
19
-6
10
-20
-40
-9
-31
55
-26
-15
-9
8
-9
-15
24
-8
15
58
32
25
2
17
-1
6
5
25
30
-11
-6
-17
15
-3
48
22
7
-4
80
-11
-3
-2
22
2
17
8
0
22
-5
0
-11
-1
-16
-8
0
-7
-20
15
60
-38
6
0
10
31
-2
14
-29
66
6
40
1
-12
2
1
39
-19
-24
7
-5
51
-32
13
102
-23
17
-19
0
-12
-53
16
31
5
-16
-2
-14
33
44
25
2
-9
-6
-2
1
-4
29
-2
-20
6
-42
-16
17
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
43
3
3
23
0
0
26
-19
0
17
-11
-10
2
7
-54
-3
22
-7
-6
0
28
-37
0
30
-23
-55
0
14
-27
0
-1
8
6
-7
0
23
0
1
46
23
0
0
-7
1
0
0
-2
1
0
-15
68
11
0
0
0
11
-16
-3
-34
51
0
0
47
14
0
-3
-11
33
0
22
24
0
45
-8
0
0
7
-3
0
12
10
2
0
-2
7
0
-24
-3
-1
0
-1
-3
0
0
29
13
0
-10
18
0
-9
3
0
0
0
7
10
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
4
17
10
10
23
4
-48
-1
-38
35
-13
39
15
-38
2
-5
8
-2
-6
60
13
-4
-1
33
12
18
-21
14
8
44
-6
-20
3
2
-1
6
-47
-16
7
13
-14
7
-22
-18
23
39
-6
7
-4
11
-53
10
-9
-1
-37
-37
17
16
-1
28
47
2
16
4
62
9
11
65
17
-8
-11
-2
32
-26
40
44
-112
1
59
6
20
23
23
30
-3
-22
54
0
18
14
1
2
-9
-1
41
-49
23
-2
-1
51
-44
-21
15
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
3
-16
8
2
12
2
22
9
1
-3
-1
4
-1
-2
25
17
-7
2
27
4
11
6
15
-15
2
7
1
9
2
8
16
2
-6
1
9
28
-53
0
34
-54
10
32
-12
28
-36
-15
-13
15
-11
21
15
-26
0
16
0
-17
-32
1
-21
18
4
-10
-2
5
0
37
11
-19
6
-6
-21
1
12
-4
4
3
1
-2
18
-6
3
8
4
32
0
11
18
-4
-6
0
13
-6
0
-5
5
-29
7
-3
15
-4
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
1
7
0
-12
12
2
0
-25
-9
0
37
-10
12
5
-12
31
0
-3
-124
22
8
19
-10
0
0
-35
0
-6
6
6
0
0
-3
-6
39
0
-19
8
0
0
0
-2
0
15
20
9
21
7
-1
30
-77
0
25
-50
0
0
2
51
0
42
3
9
2
17
12
0
-24
28
29
0
-12
17
0
-8
17
-1
-22
0
-14
0
-8
-6
0
7
0
7
0
0
-2
-20
24
0
8
0
-43
12
0
2
0
-20
-13
-1
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
10
-6
6
2
22
13
49
-20
-7
10
35
-3
55
46
-31
-26
0
0
-11
4
-13
33
-8
0
-2
6
7
37
-4
7
0
-1
-14
7
-81
0
10
-7
-2
0
0
48
0
8
42
-12
-4
32
0
-1
-46
11
-13
38
0
19
72
-10
0
10
-31
42
-9
38
-14
0
38
-32
11
11
2
5
-8
-57
-19
7
10
-12
-15
-4
31
19
64
48
36
12
0
-7
19
-48
25
0
9
0
14
76
2
-4
0
-10
2
0
0
33
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
15
-17
20
19
4
-7
-9
0
28
-35
0
-27
-9
-15
2
-7
3
1
6
-14
24
-1
20
-4
4
36
-12
21
2
-15
37
20
19
2
-11
5
-45
-13
9
19
31
8
-4
5
-38
-27
-36
1
2
16
4
7
-44
2
-4
13
14
32
35
-17
20
-5
37
1
-30
13
14
-32
4
-22
9
12
-43
5
22
26
-38
-3
62
4
13
-20
23
-32
0
-16
9
-2
8
-1
-25
1
-62
-3
-16
-32
12
-3
7
5
5
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
-13
-23
-1
-17
-34
-12
-37
-69
-7
-5
11
-7
-2
28
-15
30
-7
19
-3
0
-6
17
0
-18
0
8
0
30
6
5
-33
0
13
0
0
0
0
0
0
-32
17
0
4
0
0
25
3
0
87
22
0
-1
-3
0
0
-2
23
2
0
27
22
0
8
14
0
0
-3
9
0
33
19
3
0
-8
-6
0
-8
-8
0
0
2
-7
0
-6
-7
-6
2
0
14
0
-14
0
0
12
0
26
-1
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-31
0
19
30
-11
0
-19
-13
0
-2
79
-5
0
1
-42
0
8
10
30
0
28
-17
0
-11
-18
17
0
0
7
0
0
-13
-4
0
0
-14
0
0
0
18
0
0
-36
-10
1
0
0
0
-4
-28
0
-11
-90
0
0
16
-5
0
45
-47
-18
0
95
21
0
-33
22
-1
0
85
6
0
0
20
-29
0
13
-22
0
-20
-3
0
0
0
-7
0
0
22
14
0
0
5
0
48
32
0
0
0
-12
-1
9
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
0
0
0
0
0
0
0
0
-26
-1
24
34
15
-24
32
-16
-2
5
-1
-20
21
27
106
0
-28
-45
-14
17
10
17
9
-20
-8
-6
24
-22
0
11
-15
-36
-69
-37
-2
4
0
-34
27
11
-56
-34
-34
6
-15
24
0
18
61
19
-5
-16
44
23
-41
37
-1
-6
-45
-17
6
-19
26
3
-2
-4
38
0
-17
-4
-30
10
41
-7
-31
-88
-12
40
4
-33
-19
-12
-6
-26
-21
8
33
-2
-14
9
20
0
11
11
-104
-50
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
-9
-1
-30
-20
3
13
27
11
9
20
6
3
-14
2
28
12
23
17
28
-21
10
15
-2
-7
-7
8
10
6
1
6
3
-4
-1
19
1
36
7
13
35
11
7
-38
-10
13
-15
-19
0
1
-29
17
16
-21
26
-1
-33
-9
-7
0
61
-7
8
-1
52
-9
5
-24
9
-4
16
4
-5
5
-41
-16
-2
-26
-5
0
12
-31
-15
11
-4
-13
38
10
20
-7
-1
2
8
-35
9
-5
11
-27
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
-26
-12
0
29
25
-7
-6
53
-3
0
0
-1
-18
-26
4
-8
0
0
22
0
-1
0
-6
0
-1
81
-1
0
0
-17
21
0
-1
0
0
0
16
4
-15
2
0
0
0
13
0
-41
59
0
0
-18
26
0
32
29
0
0
4
13
8
-8
41
-7
0
-66
-3
0
-25
10
-7
-4
-2
10
0
-14
24
15
0
-7
-35
0
4
25
11
0
0
-23
0
-20
-9
4
6
0
13
-25
9
-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
-16
2
-7
8
-6
28
5
5
2
16
17
-7
4
78
54
4
-6
0
-30
1
-45
12
5
0
-19
-15
24
9
1
-29
-14
2
0
32
-8
0
-1
-27
-7
-8
-1
1
28
-9
1
27
52
10
-12
20
-1
18
24
0
-28
1
-25
-11
22
-14
-30
-9
2
28
0
12
-20
-12
-3
-36
15
3
-6
-40
18
-73
40
-50
-11
17
-6
-14
-15
2
23
-8
0
-33
-4
8
78
0
-49
-28
0
-1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-44
11
24
-2
-24
1
-1
14
-26
1
10
1
-10
8
0
20
11
19
17
0
4
26
-46
15
17
-3
-49
15
11
-11
17
1
2
19
13
-5
8
29
-14
-23
-8
-9
73
3
11
8
-32
-23
0
-2
-10
-41
-3
-47
3
5
43
20
19
-14
42
-11
7
-21
7
4
9
11
-19
-10
38
1
1
-58
4
10
-1
-84
-2
-17
12
-4
-28
1
53
-6
-69
31
-6
-9
9
13
5
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-59
-12
-8
17
8
0
7
32
-19
-4
-11
52
-4
-9
33
-19
0
9
-7
11
1
0
5
-16
-32
0
-1
-17
-4
-21
-5
1
-1
-4
22
-7
-35
0
24
9
-3
-22
-7
23
1
-4
27
13
28
22
25
36
17
44
10
21
-16
-9
-4
26
71
18
-13
23
-12
13
-18
13
6
-6
26
64
-37
-10
11
5
-4
-64
-8
-46
14
-10
-11
-3
15
14
-1
0
-2
1
16
29
1
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
12
-12
27
-2
0
6
-44
0
-7
-14
63
13
-5
-13
0
3
-17
10
0
9
-3
0
3
44
35
0
0
-6
1
0
0
-13
0
0
-15
6
0
10
6
0
-25
-16
0
45
21
-4
0
24
17
0
-15
12
25
0
51
37
16
-4
81
-3
0
32
24
-6
-29
12
44
0
35
-7
0
-24
36
0
0
-17
-35
0
4
26
-25
0
4
8
0
-5
13
0
0
0
35
-9
-2
-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
-19
18
10
-10
4
15
-5
34
-9
19
-96
-37
34
-14
13
-6
-9
-16
-16
-4
5
-3
8
-29
-25
24
-11
-11
21
-14
65
13
47
21
39
-25
5
19
-31
-52
9
17
-42
-1
-22
-4
-43
32
-16
-20
-6
-5
-12
19
-65
43
33
9
-26
0
-4
1
-16
59
6
1
25
-1
-6
-44
13
-2
-30
42
-42
2
54
-9
-3
-2
-3
-7
2
19
0
9
16
-64
-66
-36
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-10
-2
-3
10
2
10
20
3
13
-22
-8
18
-1
-31
-2
33
-5
-8
28
7
-15
9
15
-8
-4
-29
1
12
30
-15
-4
-38
-6
2
-2
0
18
-1
-44
-10
7
19
-27
13
5
-3
15
3
7
-14
0
-67
22
0
0
14
35
40
0
15
-4
2
29
-21
-6
-46
5
-21
7
-29
-29
1
18
-5
-10
6
-11
0
13
-8
-12
9
8
-22
28
-5
-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
-10
15
0
2
-26
15
0
9
-33
0
0
-22
0
1
0
-20
0
0
-2
-24
2
-2
-17
0
0
1
-1
4
0
-31
-51
10
0
-5
0
4
-47
2
-9
0
0
-18
-1
-28
0
-11
-15
4
0
-11
-7
0
-49
-23
0
0
4
-14
0
-6
57
4
0
0
-56
0
-3
15
0
-12
0
23
0
-7
-8
21
17
0
27
0
2
-6
0
-2
0
-2
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
5
5
-9
-4
-42
7
-61
23
14
0
0
34
30
64
47
7
0
10
23
49
-14
0
7
8
0
0
0
11
0
-11
6
0
-7
-4
0
-8
-12
-2
15
13
-2
12
-1
8
-32
-2
-35
28
8
4
-9
12
28
13
52
-11
28
-7
-1
8
40
-6
-8
-12
9
8
12
31
-10
-11
-18
-14
-3
1
-14
-63
22
-14
7
1
-4
-43
-4
60
0
-8
38
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
-12
2
13
-4
9
-4
-28
30
-6
-27
16
1
1
-20
-36
-3
-16
5
-37
15
-14
-11
4
18
25
-32
5
-14
-44
23
-2
4
-4
-6
-10
16
11
-4
-8
-37
7
56
-22
21
11
46
20
6
-10
-24
-15
33
22
-2
1
-1
7
-5
0
-23
8
2
43
-15
-26
42
3
-36
-1
8
-6
-2
4
-10
-19
7
8
-7
-67
-4
-8
-4
15
-5
-31
-36
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
20
-10
-1
27
31
-56
5
3
0
-2
1
0
-69
9
-1
9
4
-10
-9
-2
0
8
-20
0
0
0
8
0
-29
-6
4
0
0
0
-1
1
53
28
0
0
-8
2
10
0
53
36
-10
-7
13
0
0
27
13
17
0
-26
20
0
-93
5
-12
17
65
16
0
-37
53
0
10
-3
-16
-2
14
57
-8
2
0
1
-3
-22
-15
0
37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-54
-6
-2
0
-52
-22
0
4
9
-33
1
-17
-12
0
-8
-22
6
0
0
-5
-30
0
2
-34
0
0
-3
6
-16
9
37
0
23
2
78
20
46
-7
0
-6
7
0
4
-8
-36
0
-9
26
2
-4
43
20
0
37
11
-1
-2
51
19
0
52
-2
10
-29
33
-13
0
16
8
0
-7
18
-8
0
3
14
0
-18
10
-4
0
0
-5
-32
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
59
-9
0
-9
26
0
-9
0
87
10
1
34
0
0
3
-13
-1
-20
28
0
-1
-14
1
-2
0
0
0
-28
16
-57
-17
27
2
-29
13
17
-6
-24
34
1
-2
-10
-18
3
-21
18
8
-19
0
-6
3
22
-20
3
-1
1
-3
1
-23
47
3
0
15
-8
47
-22
37
20
3
-15
-2
8
17
28
-5
2
-32
16
-15
-11
26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
4
4
-7
22
32
5
12
13
6
6
19
7
-8
26
5
-1
-28
12
-10
-9
-6
4
-1
-23
-4
-21
-20
-10
9
36
-10
-7
-40
1
6
0
26
3
6
-16
-21
8
6
15
-8
4
14
-32
-18
4
-31
15
37
28
-12
-2
0
-12
-1
-6
-14
-31
31
0
9
20
14
-4
-10
-21
6
45
-16
14
-19
-18
46
11
1
-31
8
-30
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-27
0
0
-11
0
-6
0
17
0
0
-3
-15
-3
0
4
26
0
0
0
-9
0
-12
-14
-4
-3
-1
12
0
23
0
-20
-9
-2
0
0
19
0
0
40
2
0
0
24
0
9
-45
-2
-8
-10
-8
0
27
4
-2
0
4
-19
0
28
-2
0
0
0
-7
0
6
9
-13
0
0
23
0
-12
-2
-8
19
0
23
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
9
17
0
-12
-9
0
28
8
-31
5
18
-26
-5
-3
0
8
7
0
0
-2
1
0
-24
69
0
-33
15
12
17
-16
-20
-21
-19
0
4
45
27
0
2
28
38
8
-14
-4
0
0
11
-29
65
-17
-5
-22
-17
-11
3
26
-7
-22
0
1
-27
-6
-3
-43
23
-2
-12
-56
-21
4
0
8
-4
-41
-2
0
31
0
47
8
0
6
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-51
8
40
-9
18
-43
12
5
-2
-7
6
37
-1
0
-35
10
0
28
31
-55
-1
-73
12
23
1
27
-16
-6
-63
-28
20
-40
46
-5
9
-18
-27
-2
23
-22
-27
6
11
-10
9
-15
7
25
1
19
23
1
-13
17
-43
-2
-49
24
3
-44
-99
49
7
-5
-15
-28
-19
9
13
-6
25
12
-23
10
17
4
-10
-11
15
-20
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-8
-6
15
6
33
-8
0
-4
-24
25
-26
26
-1
-6
6
2
-14
53
34
1
-8
28
21
20
-6
1
-22
-18
-13
1
8
44
18
-11
-1
2
-5
55
17
30
61
-7
18
6
27
5
35
18
-3
2
-23
20
21
-42
-2
7
22
20
-4
-5
-1
-27
0
11
-31
3
-36
5
-7
-11
1
-7
15
-1
39
-2
-1
-22
12
22
-1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-14
0
38
-14
-8
0
-3
-12
0
29
69
-4
0
0
14
-2
-10
3
-10
0
0
22
18
-11
7
3
0
-19
-25
0
-8
-11
-9
0
-14
33
0
-34
35
-15
0
64
4
-4
42
-22
1
0
12
21
-4
-4
24
-24
12
24
13
-11
8
32
-20
36
62
17
0
-33
-10
-25
0
95
3
-3
7
-41
1
0
0
24
14
0
-4
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
22
-17
11
39
0
-15
42
1
0
-10
32
0
-28
-65
16
3
-3
0
-4
-12
-1
-31
-56
0
-2
9
36
-13
14
-5
52
0
-48
8
0
-11
26
29
3
0
-23
0
24
-51
-29
51
0
11
29
14
-9
8
25
13
-8
7
-69
-20
37
-4
-1
-22
17
-48
-15
0
-4
0
-31
-80
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
25
1
3
-1
-80
9
3
15
-40
-29
-7
-36
2
-19
-25
9
-11
-42
10
4
-12
1
14
-35
-20
22
6
-18
-10
12
-23
-36
13
10
-4
2
1
-19
-18
2
6
11
0
-22
-2
-6
2
-2
-21
0
-9
6
15
-5
0
-17
-4
33
35
43
-8
-2
8
3
-16
3
3
-40
11
-4
29
-10
-1
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-6
0
3
0
0
-2
0
0
0
0
-15
0
44
-20
0
-1
0
0
0
8
0
1
-3
0
0
0
30
0
0
3
0
0
3
-43
0
11
37
-3
0
0
43
0
2
2
0
0
-3
0
0
-35
52
0
0
-2
43
0
16
-6
-1
0
0
-29
0
5
-6
0
0
0
-59
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
-11
0
0
3
-53
-33
-8
0
-18
0
0
0
6
8
0
-5
-15
0
-9
0
0
10
-31
0
20
44
0
0
-17
10
0
0
-10
7
0
28
41
3
-18
-30
-1
19
-4
-1
0
-11
10
-5
0
-7
-29
0
19
27
18
-14
14
0
0
-6
-22
27
-10
0
-44
0
-1
0
2
4
0
-11
-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
-3
2
13
-17
-64
-3
-28
1
-24
-10
25
3
-19
-25
0
-6
-15
62
-37
-17
0
1
-13
-68
-23
47
-9
4
-39
-2
-16
-7
-43
-34
5
-9
11
67
6
7
-34
68
19
4
49
63
-23
-3
55
-45
-13
4
-3
-30
-10
53
-41
0
17
65
4
26
20
-4
-3
1
-32
-40
18
-18
0
-25
-27
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
-14
2
16
0
-39
0
25
0
0
0
0
-8
-10
-1
4
0
0
8
-44
0
9
22
0
0
15
5
22
10
46
1
0
-2
-19
0
75
-23
0
0
39
-7
0
41
47
-6
-18
-2
-5
0
18
-9
0
-1
-16
9
0
-15
-47
-9
-6
17
-3
0
-53
-13
0
10
0
-17
-10
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
-29
2
0
-4
8
5
0
0
8
-9
23
4
4
0
-1
13
3
-20
59
0
0
-10
-14
-1
-23
24
15
0
20
11
-5
-29
1
61
0
-1
-3
-1
-16
20
-19
0
44
12
60
1
20
-8
0
20
17
-18
-35
3
10
0
3
5
-11
-22
42
23
0
-61
-8
25
-13
13
25
0
0
15
-27
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
0
0
0
28
0
12
0
30
0
-2
0
3
-28
0
-7
-22
0
0
0
-35
0
-4
97
0
0
0
-11
0
-45
-33
0
0
0
-7
0
24
-44
9
-2
0
-11
0
-18
-42
0
0
2
-2
0
0
22
20
-15
0
-10
0
-13
2
-8
0
0
-43
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
37
-16
-19
-112
-8
12
-33
-6
6
5
-18
-13
14
-111
43
-2
-30
-8
12
-32
9
12
2
-25
9
18
15
-14
-8
6
-28
-12
25
2
-17
-6
4
38
44
5
-7
7
28
5
-3
-1
-13
-38
9
-32
4
69
-16
-1
-11
8
-41
0
-48
11
-26
8
-7
-6
5
-12
-49
-9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
-1
0
0
9
0
39
-39
0
0
0
0
0
-7
0
11
-3
0
0
10
31
0
0
0
0
0
0
-65
0
-6
-1
0
3
6
-56
0
-13
0
13
0
0
12
0
6
-18
0
-6
0
-15
0
0
18
-2
0
-3
-77
0
36
0
0
0
0
-5
-49
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-6
-7
0
0
-3
2
-16
-18
0
2
-1
0
11
-12
0
-11
-45
0
0
35
14
0
0
16
-20
0
-17
-5
2
-29
-24
0
4
1
1
0
27
-35
43
0
18
21
0
-8
24
0
1
-4
18
8
1
-43
-18
26
0
-14
0
24
0
-3
-1
0
-38
18
19
0
-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
-7
29
-6
-1
26
-26
-10
0
8
7
28
32
0
34
-27
-39
-80
21
30
0
-45
-1
0
17
-25
-15
0
3
0
4
-10
-13
-1
15
-53
13
12
-13
30
-46
-16
7
0
-4
-21
-74
6
-56
33
23
49
-48
9
-22
-30
-7
-27
4
48
-1
1
-4
-3
-43
29
-69
-1
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
4
-2
8
0
-6
15
-10
-16
0
0
-48
1
-22
-30
15
3
1
-12
-3
-3
48
10
-1
15
24
-7
-7
3
-10
8
41
36
0
14
4
3
13
37
-20
9
26
9
25
0
21
-29
17
-6
66
59
26
-17
-6
-20
-10
-5
-31
14
3
0
-10
4
17
-7
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
-2
33
0
-9
0
-25
26
67
-30
0
48
8
-41
-4
7
-9
0
-6
0
1
-15
-1
44
0
-19
8
-13
-29
14
72
0
5
2
0
22
8
-10
0
54
9
2
-11
18
-8
0
-17
15
-3
63
41
30
0
26
1
46
-8
-16
1
0
-2
0
-5
-37
27
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
-8
0
0
0
0
0
0
-35
0
0
0
1
0
0
-86
0
-1
-2
0
0
0
-26
0
0
-3
0
0
0
-52
0
58
-3
0
0
0
-47
0
-8
0
7
0
0
-92
0
-4
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
-3
-30
-14
27
14
27
7
-3
5
-18
22
2
-6
20
8
-2
-13
14
5
13
-6
-5
2
-30
-14
5
18
-12
14
9
7
-41
2
6
-2
2
-33
15
-10
7
21
18
-12
11
3
-38
-1
8
6
0
23
10
27
0
-67
-53
38
-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
5
34
30
-2
0
0
0
-9
0
2
-1
0
0
1
31
-19
1
-1
-13
0
-35
-5
18
-90
-89
0
0
22
-13
1
-11
-32
21
-1
-4
-8
-1
-34
-49
-3
8
33
20
0
11
31
-42
8
-1
-5
-2
-8
13
0
-29
0
-12
-9
1
-14
-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
-23
49
0
17
0
0
-30
-5
0
-31
87
0
-1
-19
12
0
-1
-40
-6
0
26
5
0
0
-22
1
0
8
27
0
-6
7
-6
0
3
6
0
-73
29
0
0
0
-13
0
0
-3
-17
0
0
17
0
-63
32
0
34
0
-33
10
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
14
0
-4
27
0
0
0
10
0
0
0
0
0
0
-34
0
-1
24
0
0
9
17
0
10
-4
1
1
0
-46
0
-4
0
0
-9
8
19
0
16
-1
0
0
-3
-20
0
-4
-3
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
18
-45
1
-2
5
0
-4
0
-41
0
0
44
1
0
-21
20
-11
11
17
0
-3
34
-6
0
4
-7
-6
36
-13
-39
0
21
-8
0
20
0
14
0
-4
10
5
-6
1
38
0
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
21
0
11
0
3
42
-8
31
4
0
0
6
43
0
-50
-79
-17
0
2
34
6
-23
-16
-28
0
-12
7
-8
-11
29
-37
0
-53
-7
0
-30
21
-3
0
-9
11
3
23
11
-13
0
5
-16
-4
-12
29
0
0
0
36
14
29
34
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
22
0
0
-2
0
0
0
20
0
-4
0
0
0
0
-7
0
-4
9
18
19
0
45
0
6
0
0
0
0
-68
0
0
0
0
0
0
13
0
6
0
0
4
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
-4
-10
-12
-63
-7
9
61
19
19
-1
-28
-8
3
23
1
1
-57
-50
11
-5
-12
-13
2
-7
-1
-17
2
29
15
-24
10
-26
-10
5
-50
-16
12
4
-12
-7
-5
-51
5
-7
12
3
-2
3
3
-19
9
-13
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-10
23
-17
24
8
3
63
11
16
-6
-25
-13
10
-9
-3
-20
14
-44
4
2
-20
-15
-5
-29
-19
13
0
49
27
33
29
15
2
-51
-27
-16
-1
15
5
39
-22
1
12
-3
54
-1
0
-12
0
17
-32
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-27
-15
-2
0
0
-52
0
8
-22
-7
0
2
-7
-1
37
30
-2
0
-25
35
-2
-3
-4
27
0
-1
4
0
6
-18
69
9
0
-11
0
1
6
-1
6
0
-13
0
-3
0
0
-10
0
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
13
-2
0
15
10
4
0
11
-1
-13
-3
-7
4
16
-10
-40
-2
0
-22
4
0
-26
40
-106
0
2
-15
0
-48
-7
3
-2
-10
38
0
-8
8
6
35
0
6
0
-28
-12
0
0
0
-15
63
8
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
-2
22
-41
0
0
21
-45
-1
4
-24
0
0
36
-17
0
34
59
0
1
0
5
0
0
54
-21
-6
0
44
0
4
16
0
0
0
-31
0
1
-1
0
-2
0
-14
0
-10
-1
0
4
0
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
41
7
0
0
0
55
0
0
0
0
0
0
0
0
-2
10
0
0
0
69
0
0
-1
0
0
0
36
0
0
0
0
0
0
62
0
0
0
0
0
0
55
0
-10
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
-6
-5
0
-23
-20
-11
0
-6
12
0
-30
22
10
0
2
6
0
-13
-26
-4
0
13
-24
-3
-103
-27
4
0
8
-7
3
-3
4
-11
0
0
30
0
-68
-1
0
-3
0
31
-10
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
-35
1
-43
-15
-17
21
19
12
1
13
-6
-2
-4
-6
24
3
8
-7
-12
20
-4
20
13
-53
-3
0
-22
-9
15
7
-67
39
5
-23
7
8
2
-22
-15
-110
-84
-24
-86
13
-2
-35
32
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
26
0
2
55
14
0
1
24
0
-56
11
41
0
0
-41
13
-2
-13
-11
0
0
-15
0
-24
4
-6
-6
0
-23
0
-2
-17
4
1
0
37
0
37
12
0
3
0
-35
10
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
27
-4
-41
17
53
28
6
-20
50
16
-18
58
10
10
-6
-15
-21
-11
30
-44
-9
-6
12
-1
-28
64
-6
-73
-17
-7
30
-54
-5
-24
-7
-7
-4
5
-41
-21
-6
0
7
-31
2
-5
-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
-10
-62
-11
-31
14
15
-10
0
36
-18
-14
28
-42
13
29
-1
3
-1
-10
43
-30
-21
-2
-35
62
11
-43
-14
15
-1
39
-15
-14
-28
27
8
-3
3
-2
7
3
0
-21
29
-26
1
25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
30
0
0
46
0
4
24
-1
0
-20
-31
0
0
0
12
0
0
47
2
0
0
-45
0
13
-1
0
0
0
-47
0
0
-11
2
0
0
-22
0
-41
0
0
10
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
0
0
0
0
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
0
8
-12
0
0
0
0
0
13
4
0
0
0
26
0
0
1
-2
0
0
-9
0
22
-23
0
0
0
-15
0
0
-8
-3
0
0
-2
0
-39
-8
0
0
0
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-17
19
34
-19
-13
-18
0
20
-7
47
-37
1
2
-9
-18
13
-4
18
5
-13
0
6
-14
4
13
-1
0
-4
-31
12
7
-97
0
9
16
47
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
-8
25
31
-29
-30
9
-23
-21
8
-5
-30
-31
1
0
0
14
-10
-7
1
6
52
-22
-1
-7
-17
-46
4
-24
-4
29
-7
-7
-10
9
1
9
-15
-12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-6
-4
1
-4
-4
0
-15
-35
0
2
-23
2
9
1
-21
0
4
-9
0
0
0
61
0
0
0
-10
0
0
33
0
33
-12
1
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
-22
8
7
-9
-14
45
-7
11
5
0
8
-42
-13
6
-71
-18
0
12
3
21
-16
20
-22
1
0
2
-25
-10
2
-14
2
-39
20
4
-13
0
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
19
-6
-7
-19
-114
-14
-57
-5
-28
24
-15
-6
6
38
-10
24
-53
13
-8
16
2
0
5
36
45
7
12
-13
-27
11
-6
12
-7
8
22
15
-6
-10
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
6
36
0
20
11
-18
2
-3
-29
7
-15
4
-22
0
-9
13
-8
-36
4
-27
0
-5
-61
0
5
0
-19
0
15
-3
8
5
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
87
0
0
-24
-4
0
-8
-41
1
0
-2
-6
0
-79
9
0
0
0
-1
0
-2
6
-2
0
0
-11
0
-24
0
0
0
0
22
6
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
5
21
-45
26
19
0
-4
-18
-10
0
25
-1
2
6
-29
-47
-5
-55
0
5
-3
-23
38
19
-22
-1
-1
22
2
29
-19
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-53
-23
8
4
12
6
11
-22
0
-7
-40
2
2
8
-26
7
11
-4
13
-21
7
-15
0
16
14
-8
-23
3
-10
7
-20
10
-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
11
4
0
2
-2
28
0
0
-20
0
-35
-2
-1
-3
0
-72
0
0
30
-8
6
0
-12
0
-55
-3
0
0
0
55
14
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
23
4
-14
-43
-20
9
36
11
8
-4
-25
-5
-1
59
18
-34
9
-2
3
-28
-10
8
4
-7
0
2
1
27
19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
28
-9
-22
-1
30
47
-9
6
50
-12
-4
23
16
-17
2
6
-1
-11
-17
-3
-5
8
-1
0
-53
-1
-34
-3
6
-44
-6
-2
-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
-40
-3
-8
3
24
-26
-7
0
14
7
-28
4
0
16
9
-14
0
-1
2
3
3
0
-13
0
35
0
0
30
0
26
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
8
16
2
13
-25
-1
0
28
-11
0
-4
-40
0
0
0
-32
0
1
-29
30
0
0
-15
2
3
0
0
0
0
-19
-3
0
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-19
3
-34
-37
-1
-48
0
1
0
-9
-42
-31
48
0
-16
0
-14
-60
-11
-19
0
-4
64
0
-1
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-49
-11
14
-18
25
3
6
-17
-10
-15
7
22
14
3
-41
-7
19
10
34
-37
4
-25
-21
-12
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-34
0
24
2
0
0
-2
20
0
0
-15
0
-2
0
12
0
10
-7
0
0
0
-21
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
1
-37
-3
2
-26
3
28
14
0
22
11
-109
-1
1
48
5
0
-25
4
1
-39
0
-10
-14
-4
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-15
16
-24
-55
-39
-1
14
56
-65
-27
3
25
-3
-11
-6
47
-7
-17
76
23
78
17
-12
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
19
24
0
-4
3
-11
16
-24
-9
0
78
19
-7
-21
0
5
1
3
13
0
-6
0
-7
-22
-8
19
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-41
-6
0
0
0
11
0
-9
10
48
0
4
4
11
-6
-6
-9
0
0
19
21
0
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-17
-57
30
0
-3
0
13
3
0
-3
0
-34
34
2
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-27
-21
4
1
27
-17
4
57
3
-34
14
24
57
-2
-12
-8
5
-23
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
-10
0
-2
0
0
12
0
-5
2
0
1
0
11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
5
-4
40
2
2
20
-2
-9
-4
54
19
17
-2
-6
-2
-28
-29
-3
26
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
18
16
-13
20
-2
-2
-1
4
-3
8
-28
0
-12
-6
-18
-2
-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
-2
-21
0
1
-27
-6
18
0
-14
0
46
-1
0
-1
0
-93
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
-13
0
11
30
-16
0
0
-1
-1
-35
-26
-6
0
0
7
28
0
-1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-38
0
5
-4
-21
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
4
19
42
15
-35
5
-19
47
-12
-18
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-40
0
0
0
0
55
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-26
0
7
-47
0
0
-10
2
-26
-9
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-21
-15
17
5
-24
-22
37
-12
22
9
-1
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
6
10
-2
-22
0
1
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-15
14
0
0
0
11
-20
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-37
0
16
22
15
-9
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
15
6
-144
-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
-3
-53
-16
0
-15
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-44
13
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
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
26
0
0
0
0
0
-36
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
-4
1
0
0
-9
-10
0
0
-6
0
0
0
-4
0
0
0
0
0
0
-12
0
0
-16
0
0
0
0
0
-13
-3
0
0
0
1
0
0
0
0
0
0
41
0
0
0
0
0
0
25
0
0
0
0
0
0
-3
0
0
0
0
0
0
-35
0
0
0
0
0
0
13
0
0
0
-2
0
0
-33
0
0
0
0
0
0
-19
0
0
0
0
0
0
26
0
0
0
0
0
0
-4
0
0
0
0
-6
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
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
-16
0
2
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
6
16
0
0
-7
15
0
0
-15
0
0
0
0
0
0
11
1
0
0
0
0
4
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
16
0
0
-4
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
3
0
0
0
29
0
0
9
0
0
0
-3
0
0
25
0
0
0
-23
0
3
-14
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-34
0
0
-10
0
0
10
20
0
44
23
0
0
-53
-6
0
0
4
0
0
-30
44
0
0
-9
4
0
2
-13
0
0
-1
0
0
0
28
0
21
1
0
0
0
-11
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
4
0
0
0
0
0
-3
0
16
12
-7
0
-6
5
0
0
-77
0
0
0
47
0
0
26
0
0
-2
36
0
0
-2
0
0
0
2
0
0
-17
-11
0
0
-40
0
0
-10
0
0
0
-12
0
0
0
-6
15
0
-13
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
0
-13
-6
0
0
21
13
0
0
0
-3
0
0
-17
0
-24
-6
0
0
1
-32
0
0
1
0
0
0
4
-1
-2
0
0
0
0
-52
0
0
0
0
0
0
26
0
1
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
3
-53
-36
6
-23
-42
20
-3
33
0
-15
-1
4
13
12
9
35
53
7
-22
-3
3
2
1
-1
28
12
-22
2
11
-14
-42
14
28
-25
37
5
-2
10
-6
24
-13
-18
47
-10
-5
-21
-45
-12
-34
-31
1
-59
-49
-21
-30
-15
-3
23
-39
26
8
23
-5
6
51
-29
-10
1
11
0
0
0
0
0
0
0
31
14
67
26
38
-12
-8
7
12
-12
21
26
26
-22
-3
16
22
18
-1
-1
-6
-20
2
2
-20
-8
7
-27
11
17
-1
-63
3
-2
-2
-32
-13
-19
-67
-36
-13
6
-27
-1
-29
11
17
27
13
-7
3
-29
22
-7
-19
-15
-3
-1
24
14
13
-3
-34
17
15
1
-17
22
-6
-36
10
0
-52
14
10
0
-19
-28
5
41
-32
-4
6
3
-10
4
20
-13
-14
-3
7
-27
0
46
-3
-28
12
-6
-31
3
13
-15
-13
18
13
-89
-6
29
-43
-30
47
-3
-20
10
40
-12
10
0
0
-1
11
18
-18
0
-23
-17
-13
1
-44
24
13
14
-6
-16
2
-21
-8
12
26
6
-26
-1
23
4
-4
-1
7
-13
0
-18
-22
-28
17
-9
-23
-8
-52
9
-11
-25
-3
13
0
35
20
-2
-27
-23
-10
3
-16
21
1
-12
-15
14
10
-11
10
10
-24
26
-14
-12
-30
7
3
18
7
14
-9
24
4
24
-13
43
10
-4
-44
-42
-12
-10
-11
-28
-4
-44
-45
12
-7
30
-7
3
3
60
-40
7
-16
-25
-5
-13
-14
-11
17
-20
-16
-6
-23
-31
-38
45
7
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-23
0
0
3
0
0
-38
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
-11
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
2
0
0
0
-10
-26
0
0
-3
0
0
0
-1
0
0
-6
0
0
0
12
0
0
0
0
0
0
0
0
-1
0
0
0
0
11
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
-7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
-1
0
0
0
7
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
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
27
0
0
0
8
0
0
0
1
0
0
-26
0
0
0
6
0
0
30
0
0
4
0
0
4
-2
0
0
0
0
0
0
0
3
0
0
0
0
-12
0
0
0
9
0
0
-6
0
0
25
0
0
0
0
0
1
12
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-20
-4
0
0
55
25
0
-50
-4
0
0
-11
0
0
-10
0
0
0
-9
0
0
-1
-4
0
0
0
0
13
0
0
0
0
0
0
-28
0
0
0
0
0
0
-2
0
27
-22
15
0
0
0
-2
4
0
0
0
0
0
24
39
0
26
-19
0
0
5
20
0
0
-6
0
0
28
77
0
0
-19
-19
0
22
19
0
0
18
0
0
0
-8
0
-17
0
-7
0
0
-29
0
0
0
0
3
0
19
0
-4
0
4
0
0
46
0
0
0
0
0
21
6
0
0
0
0
0
2
-17
0
0
-21
0
0
0
-34
0
0
25
-8
0
59
-10
0
0
5
0
0
-2
-56
0
0
-2
-9
0
-2
-24
0
0
-6
0
-3
0
19
0
0
0
0
11
0
-13
0
0
0
0
0
0
90
0
0
0
0
0
0
22
0
-51
0
0
0
0
-14
0
0
0
-4
0
0
-11
0
2
0
0
0
0
-24
0
0
0
9
0
0
31
0
4
3
0
0
0
25
0
0
0
-1
0
0
35
0
-1
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
6
0
0
0
0
0
0
-22
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-29
0
0
-2
0
0
-10
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-42
0
0
0
22
0
0
-47
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
-8
0
0
-1
0
0
0
0
0
5
-7
4
0
0
0
0
-61
0
0
0
0
0
0
0
0
-1
0
0
0
26
10
0
0
-9
0
0
-2
16
0
0
5
0
0
-2
-26
0
0
3
0
0
0
-14
0
-27
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
-11
0
9
-12
0
0
-4
-66
0
0
-2
0
0
1
-38
0
0
-3
0
0
2
-52
0
0
-9
0
0
0
6
0
0
0
0
0
0
7
0
0
-2
0
0
0
19
0
0
0
0
0
0
-10
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
-11
0
0
0
0
17
0
0
0
0
0
0
10
0
0
1
0
0
0
-18
0
0
1
0
0
0
25
0
1
0
0
0
0
-1
0
0
0
0
0
0
-20
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
10
0
0
0
0
0
0
-18
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
20
0
0
0
0
0
9
38
0
0
0
0
-11
6
0
0
-13
-1
0
0
0
0
0
0
0
0
-3
7
0
0
58
-7
0
-18
0
0
-2
-54
0
0
13
-3
1
0
-15
16
0
20
-20
0
0
0
0
0
2
0
0
0
0
-8
3
0
0
-19
0
0
0
0
0
50
28
30
0
0
0
-33
60
0
0
48
0
0
23
14
0
-11
-66
9
0
31
21
0
-1
-20
-3
0
15
8
0
0
-23
58
0
-16
-8
0
0
27
0
0
-1
11
0
-17
40
-52
0
0
-19
0
0
0
0
0
0
-29
-35
13
0
0
0
0
57
11
41
0
0
0
-11
26
0
-4
2
-25
0
1
18
0
0
17
0
0
43
13
0
0
-48
2
0
26
-23
0
0
30
-2
0
-1
17
1
0
-20
23
0
-1
-7
0
0
8
0
0
0
19
0
0
-25
15
0
0
-11
0
0
0
0
0
0
-16
20
-2
0
3
0
0
2
0
-8
7
0
0
2
-7
0
-4
1
0
0
-3
-32
0
-44
68
0
0
0
-14
0
-10
8
6
0
0
13
9
-5
21
7
0
0
-28
0
-2
4
0
0
0
13
0
18
0
0
0
0
-61
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
12
5
0
0
-26
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
-23
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-1
19
0
0
20
0
3
35
-20
0
0
-8
0
-1
0
0
0
0
-6
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
17
3
0
0
0
0
0
16
0
0
0
0
0
-5
-4
0
-14
-8
0
0
-4
-9
0
0
8
0
0
8
-29
0
0
74
0
0
-11
3
0
0
8
0
0
0
4
0
17
2
0
0
0
36
0
0
0
0
0
0
13
0
0
0
0
0
0
-19
4
0
0
0
0
0
37
0
2
-6
18
0
-6
93
0
0
4
0
0
1
-34
0
-3
-5
-10
0
-4
-58
0
0
-10
0
-6
-3
-64
0
0
7
0
0
0
46
0
0
-8
0
0
0
8
0
0
0
-3
-1
0
-16
0
0
0
0
0
0
-39
0
0
0
7
0
0
-45
0
-4
0
0
0
0
-13
0
0
0
0
0
0
24
0
8
1
0
0
0
23
0
2
-1
0
0
0
27
0
-2
3
0
0
0
17
0
0
-9
0
0
0
-52
0
-7
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
1
0
0
-15
0
0
0
0
0
-6
-2
0
0
0
0
-2
0
0
1
-1
0
0
0
0
0
0
0
0
0
-49
11
0
0
33
-9
-3
57
0
0
0
15
0
0
30
0
0
0
-1
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-2
0
0
0
0
0
29
0
0
0
0
0
1
0
0
0
35
0
0
0
13
0
-28
-14
0
0
44
9
0
0
-47
0
0
-13
-53
0
0
-6
4
0
-8
28
0
0
-5
0
0
33
-9
0
34
0
-6
0
0
2
0
0
0
0
0
0
15
-1
0
0
0
0
0
64
0
0
0
0
0
1
0
0
0
6
0
0
0
-63
0
0
36
0
0
-33
10
0
0
-13
0
0
15
9
0
0
-2
0
-15
-8
-17
0
0
-1
0
-2
0
8
0
0
-10
0
2
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
-3
0
0
0
-2
-10
0
0
0
0
0
0
-15
0
-21
0
0
0
0
8
0
-12
-2
8
0
0
33
0
0
0
0
0
0
-9
0
0
0
13
1
0
7
0
0
0
0
-1
0
45
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
57
0
0
0
0
0
-3
-17
0
0
0
0
0
10
3
0
0
0
0
0
8
0
-7
0
0
0
0
0
0
0
0
-5
0
0
-1
0
0
-2
0
0
0
0
0
19
0
0
0
0
0
7
0
0
0
-3
0
0
0
0
0
0
0
0
0
7
0
0
0
45
-4
2
-3
0
0
0
13
0
21
0
3
0
0
-17
0
7
-16
0
0
0
0
0
-10
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
23
0
11
0
0
0
0
-62
0
0
0
0
0
30
0
0
-7
-18
0
0
0
20
0
-3
28
0
0
33
-80
0
0
15
23
0
6
49
0
0
-8
0
0
0
-21
0
12
-4
0
0
0
5
0
0
0
0
0
0
-17
-7
0
0
0
0
0
3
0
0
0
0
0
-2
-47
0
0
0
0
0
-10
-8
0
0
4
0
0
0
-8
0
0
-3
-9
0
0
-17
0
0
18
0
0
0
30
0
0
-13
0
0
10
6
0
0
13
0
0
0
1
0
0
4
0
10
0
31
0
0
0
0
0
0
-35
-20
0
0
0
0
0
-22
0
-28
0
0
0
0
-67
0
0
-9
0
0
0
-40
0
-3
7
3
0
0
-28
0
0
-12
0
0
0
33
0
-4
0
0
0
0
-20
0
0
0
0
0
0
5
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
2
-21
-22
15
1
4
16
10
28
-9
-31
21
66
16
28
27
35
-40
-12
14
24
4
-20
14
-23
25
32
12
1
3
-6
-38
-3
21
35
-14
-20
8
-7
-80
-22
6
-16
-39
-3
-24
-47
-45
2
0
-6
20
-36
24
-26
-43
-24
0
-19
-36
-14
-4
-2
0
0
0
0
0
0
0
-16
29
9
7
-17
11
-19
7
9
26
9
-4
-7
5
17
-7
-8
35
-2
15
4
-2
24
14
-20
-1
36
1
4
-16
-79
24
-21
-3
2
-42
-64
-9
-14
-2
3
25
13
5
35
-49
-36
-6
-34
-35
1
49
-13
3
21
41
-12
-6
-101
-121
-13
16
21
-2
3
-20
18
-8
6
-11
-5
-1
-43
-22
-6
2
19
2
4
-33
-11
11
37
-24
-1
0
7
-3
2
4
23
-36
-6
-1
-34
-20
8
15
-25
2
-9
-9
8
-4
46
-28
13
25
-17
25
-43
-11
-7
-7
-15
3
-15
7
10
-12
-13
-50
-40
-16
-15
-17
-32
-5
28
17
-13
-9
-30
-2
1
-5
15
-12
0
4
-10
-2
-32
-9
1
6
31
-27
-2
-7
27
-15
-7
-6
-10
-5
-48
-19
9
13
8
-8
4
17
-59
11
31
-7
-101
11
26
-26
33
-19
33
-4
-20
-30
-57
-19
-22
-13
4
-2
4
-30
-8
-19
-16
-6
-14
-15
-30
-29
4
-33
-23
8
-21
-10
-2
9
26
-32
-3
-2
-11
-13
-14
-3
4
-7
3
-6
-26
-10
3
-13
2
10
-15
21
-32
-2
-6
-6
8
1
42
-23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
16
0
-52
0
0
0
0
0
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
7
0
0
0
0
0
-49
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
10
-3
0
0
0
0
0
0
0
0
11
5
0
0
4
0
0
49
1
0
0
-6
0
0
-1
0
0
0
-3
0
-11
-1
0
0
0
2
0
0
0
0
0
0
2
0
27
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-2
30
0
0
0
0
0
-23
31
0
-5
-3
2
0
18
29
0
0
14
0
0
-1
1
0
0
-1
-7
0
-7
-41
0
0
-6
0
0
0
26
0
-5
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
6
1
0
0
0
0
0
8
0
0
0
0
0
-1
-27
0
0
-3
0
0
-2
65
0
0
7
0
0
0
-30
0
0
-3
0
0
0
-20
0
0
0
0
0
0
-67
0
0
-1
0
0
0
-4
0
0
0
0
0
0
-32
0
0
0
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
0
0
0
28
0
0
0
0
0
0
-37
0
0
-2
0
0
0
-11
0
0
0
0
0
0
35
0
-4
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
-25
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-26
0
0
0
0
0
0
-1
0
0
0
0
0
0
-43
0
0
-1
0
0
0
-5
0
0
0
0
0
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
33
101
40
0
49
-35
1
53
17
0
0
-60
-20
25
-4
-10
-10
0
7
9
0
-3
-7
-7
7
-75
48
-4
-2
8
18
0
-5
8
0
6
46
-4
0
0
7
-3
0
0
0
0
0
12
49
0
0
0
0
33
43
-7
-1
-24
18
0
0
0
0
0
0
0
0
6
54
18
-1
3
3
0
2
-96
25
2
-47
-34
0
24
-37
0
-12
-20
-25
0
-15
13
-6
5
-25
37
0
-12
9
16
-3
-27
-33
-4
0
-4
5
0
3
-3
0
-1
-1
21
51
18
-1
0
7
-46
31
5
-51
15
0
47
28
0
19
25
6
0
-14
-15
4
-1
0
4
0
30
-9
5
8
-1
-2
0
7
1
-1
0
-12
-48
0
-21
-14
0
-9
-12
1
0
-23
-21
6
0
-23
-30
0
-2
-18
-6
-13
-1
19
0
10
11
-22
20
-2
11
2
23
13
-5
-13
-25
38
0
-6
16
11
35
27
33
0
35
2
3
40
29
-33
0
45
3
-8
18
6
25
-8
19
-2
0
-20
18
38
4
-5
-3
0
-5
16
26
0
-24
-7
-3
30
4
-28
-3
1
-16
1
2
0
67
0
0
7
11
4
20
-11
0
6
-10
-8
-15
1
-10
0
42
24
-8
24
14
57
0
-28
0
-3
40
29
-1
0
-50
12
-1
-24
25
15
0
-63
-8
0
5
-54
0
0
-33
4
0
23
43
-30
0
6
-4
0
24
-65
-8
0
0
-20
23
-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
5
-36
29
-2
80
0
18
-7
6
77
-1
-24
11
-83
-12
-20
-12
-2
-1
-1
-38
27
22
-3
-1
-21
10
-51
0
60
-6
-15
0
1
-85
8
0
-15
0
0
0
19
-2
85
0
-2
27
-3
3
23
4
-19
20
20
22
-7
0
0
0
0
0
0
0
-6
36
48
18
37
23
25
-48
-3
76
-4
-20
-4
-44
-13
-35
0
-4
-24
-11
-57
-26
32
0
2
-76
-2
-30
-10
4
0
0
5
-4
-23
0
-4
10
0
6
0
-106
0
6
26
-3
25
-36
-1
-30
-7
83
0
-39
-3
0
-11
-61
35
35
-9
11
0
1
25
-3
28
6
16
4
24
-2
-5
32
-10
13
-47
15
-24
3
-8
-24
-2
-2
-21
24
0
-11
-74
17
-17
5
13
0
-1
-39
-4
-62
0
-4
34
-69
0
49
-4
4
-1
74
-5
5
-10
3
31
-12
-2
-6
27
-44
10
-65
7
50
99
-15
-2
0
13
-5
-25
-35
-25
3
-47
36
-7
-17
49
-11
-10
-10
12
-33
16
-15
-12
10
13
11
3
7
0
-6
13
-3
-13
-23
0
-4
-7
-12
-13
0
-14
-2
-3
0
21
8
0
-4
-25
8
-4
4
6
10
-40
7
-1
7
98
-1
-15
17
-3
14
-54
55
-10
18
-23
-22
-32
-20
73
7
23
-29
17
12
-15
44
30
8
12
7
4
-45
-4
-51
-9
8
-6
-6
-10
-2
-1
0
10
-6
-23
-20
-23
23
0
-39
-28
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
-62
0
0
0
0
0
0
-1
-18
0
0
5
0
10
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-1
0
0
1
0
0
0
0
0
7
107
0
0
0
0
-12
0
0
0
-26
-10
6
0
0
0
0
0
0
0
47
-2
1
-1
2
3
0
-60
12
0
0
1
0
0
6
-6
0
0
-13
0
-2
0
4
0
0
-11
0
-3
0
6
0
0
0
0
-88
0
0
13
0
0
0
10
0
9
16
0
0
0
0
0
-28
0
0
6
0
0
3
0
0
40
-33
-1
0
-3
-16
0
-10
-10
0
0
-16
-61
0
0
34
-24
0
-1
-49
0
0
-21
0
0
0
-57
0
-22
15
-4
0
0
28
0
0
0
0
-1
0
21
2
0
0
-12
0
0
-1
0
0
0
0
0
0
-26
0
3
68
11
0
-47
0
1
12
-35
0
0
16
6
0
0
-56
-12
2
-13
-17
0
0
-10
0
0
0
-23
0
0
8
34
0
0
12
0
0
6
0
0
0
-16
0
0
5
0
0
0
5
0
0
0
0
0
0
-29
0
0
0
0
0
0
22
0
-1
-11
0
0
0
0
0
2
3
11
0
0
-27
0
-37
-1
0
0
-4
25
0
6
-1
-3
0
-9
14
0
0
0
-2
0
0
-27
0
0
1
0
0
0
15
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
-61
0
-4
0
0
0
0
-6
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-45
0
0
-2
0
0
-64
0
0
0
0
0
8
47
0
0
0
0
0
12
0
0
-8
-13
7
0
0
0
0
0
0
0
-7
19
0
2
-58
1
0
-73
-2
0
0
-2
0
0
-4
-5
0
0
-8
0
0
-11
0
0
0
0
0
0
0
2
0
0
0
0
-2
0
0
-5
0
0
0
0
0
-8
18
-1
-6
0
0
0
-31
0
-2
-6
0
0
9
32
0
-42
-13
-3
0
10
-42
0
0
-6
0
0
-6
-11
0
3
5
38
0
-11
14
0
0
-3
0
0
0
-5
0
-13
0
-5
0
0
-23
0
0
0
0
0
0
-19
0
8
0
0
0
0
-8
0
-1
0
0
0
0
1
0
0
7
0
0
-25
12
0
0
-9
1
0
-6
-44
0
0
-3
37
0
-6
-45
0
0
-5
0
0
-1
3
0
3
-14
-1
0
0
13
0
0
-2
0
-1
0
-21
0
0
-1
0
-2
0
14
0
0
0
-1
0
0
25
4
1
0
0
0
0
-2
0
20
1
0
0
0
75
0
0
-6
3
0
0
-38
0
0
-1
0
0
2
17
0
0
6
0
0
0
60
0
-2
4
0
0
0
58
0
0
0
0
0
0
24
0
10
0
0
0
0
22
0
0
0
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
-12
-10
1
-1
-2
40
-10
3
44
-29
-21
0
34
-7
0
0
-4
19
42
21
-7
12
-9
-8
-16
0
-3
0
-20
0
0
-4
0
0
2
0
0
0
-17
5
-34
26
0
0
-5
0
28
48
-2
-4
41
5
43
0
0
0
0
0
0
0
-5
5
-13
4
27
48
-33
-24
15
19
-5
-18
27
75
-13
7
0
-2
30
39
-17
-15
12
0
0
41
0
33
-4
11
0
0
-3
11
-9
0
0
-17
0
0
0
42
0
50
-16
68
-7
17
0
16
-4
22
-8
-2
0
-1
-40
-40
-2
2
-3
0
0
-28
-53
-7
35
-22
-10
-4
2
4
10
0
19
8
-28
-14
-3
-2
24
-41
-15
29
-28
9
0
17
54
-3
29
-4
-6
-13
0
-8
0
-45
0
8
86
-9
0
-8
3
3
35
25
2
0
0
6
-36
20
-76
24
-30
24
2
3
-25
-20
-1
-35
3
0
-53
-52
10
-3
-16
-10
-8
-48
14
-21
-10
-19
11
13
47
-44
2
15
33
49
-47
-7
-8
-1
0
16
29
74
-1
-18
-4
0
9
42
-8
0
31
54
13
0
0
-2
0
16
50
0
0
-2
-1
-14
33
10
-8
-3
17
0
34
-39
0
-15
12
14
0
-19
-43
16
-12
27
6
4
10
1
-1
6
36
-49
0
1
8
0
-15
-3
-1
8
22
6
0
0
78
-32
-18
-10
-13
0
75
2
66
45
0
15
-11
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
20
-13
-16
-20
-14
37
-11
-1
-3
31
67
23
-18
-8
-6
-16
37
30
-22
-51
-5
-13
-22
19
-19
-16
-3
-20
34
-15
13
-16
2
5
-7
0
0
-3
-1
0
6
19
-5
-10
34
4
-17
-3
-2
-24
-8
-30
-2
3
-11
-58
0
0
0
0
0
0
0
-7
19
34
1
-49
2
-1
-16
-8
7
-31
3
-11
-21
-35
-39
-18
64
1
8
-3
-23
-30
0
-27
-12
-12
2
-10
21
-2
-1
12
7
-13
1
15
-32
0
1
-23
-10
-3
-2
2
-77
1
-12
-1
-2
-2
-4
0
-23
0
-1
0
3
-29
15
2
-1
-15
5
7
-9
-13
21
-37
24
-12
-4
27
-17
13
18
-27
-6
-9
54
5
8
-24
-24
5
-16
-24
-5
-3
4
0
-11
-13
-13
-14
10
15
-15
-3
-1
3
-11
-8
15
-3
-12
0
-36
-40
2
18
2
12
-15
-1
-19
17
10
34
35
-2
-67
58
41
26
-2
8
-12
16
-37
-6
-17
-18
11
-13
13
56
19
-21
3
40
-6
17
48
5
-8
-30
-5
-19
-14
11
0
-53
10
-13
-2
4
-26
7
6
5
0
-1
41
-19
-34
26
-2
-14
5
-50
32
-25
-44
-34
28
-16
36
-11
24
-3
41
-2
-16
-34
-35
32
3
42
50
-6
-10
-36
-20
2
-71
12
-18
73
5
-7
1
-34
9
-10
52
28
2
-31
8
10
-12
-1
13
20
9
6
-58
-1
3
-24
7
-5
-3
-4
-7
41
-24
-53
-5
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
28
24
-6
-30
0
-28
-56
64
5
-6
-30
2
-15
-46
-31
-2
-1
-1
0
-24
-28
-41
-1
0
-32
0
-27
0
-6
0
4
0
0
-38
0
-13
-3
0
9
0
-16
-8
-33
-11
8
0
0
0
38
8
28
-2
29
-1
14
0
0
0
0
0
0
0
-54
39
39
3
-68
0
-59
-23
-17
0
-4
-46
0
3
-37
35
0
-23
-12
0
5
-28
-34
0
0
2
0
32
-17
-16
0
-1
0
0
16
0
-7
-3
0
-4
2
3
-2
11
-66
32
-10
0
0
65
8
0
2
-2
0
1
7
-10
1
-15
3
-1
11
11
7
0
15
-15
0
20
-12
-59
-1
-7
-21
-3
4
-1
-14
0
118
6
8
-22
-34
-5
0
-5
3
0
-4
55
-2
0
-6
61
0
-5
1
-11
-2
-7
0
0
-3
11
-3
-40
1
16
0
2
-20
14
1
13
-20
0
-8
22
-2
-16
1
16
-6
8
37
-2
-11
5
5
-15
-3
1
-3
9
-82
-14
15
-23
32
-37
0
9
2
1
9
1
-6
0
-8
7
3
41
39
3
-4
-8
18
-3
-15
0
-13
-3
0
11
0
39
0
15
-3
7
-2
0
0
29
12
4
-11
3
0
3
12
-29
-1
-13
20
0
-7
30
5
-10
-11
-3
-8
-9
13
5
-1
4
-39
6
-25
-13
6
-2
-31
18
0
-8
30
11
16
5
27
4
11
17
1
9
-8
24
0
6
8
-13
0
15
6
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
9
-1
0
0
0
0
33
9
-1
0
-6
-1
0
-13
78
2
0
0
0
0
-2
-17
-7
0
-18
11
0
0
14
0
43
1
0
0
0
0
-29
0
0
0
0
0
-4
2
0
0
0
0
-3
-11
3
0
-22
-48
0
0
0
0
0
0
0
0
2
-33
-3
0
-14
-30
0
-54
-46
9
0
-70
0
0
-55
-3
19
0
-6
-4
0
-34
-8
0
0
-4
0
0
0
5
0
0
-3
-10
-21
0
0
-3
0
-2
0
-8
0
4
-10
16
-1
-1
0
24
39
0
0
-50
0
0
5
-53
0
-2
-21
-3
0
-49
-5
0
61
-57
10
0
-34
6
0
0
-28
27
0
-18
-31
1
0
-27
-13
0
-37
-13
0
5
-29
-10
0
0
-78
0
0
17
0
0
0
-7
-10
66
11
-1
0
0
25
2
0
0
0
0
17
-7
-37
-1
44
19
0
41
17
0
27
18
0
0
-2
-14
15
0
-10
15
0
57
6
7
0
14
0
0
18
-28
10
18
-34
-18
0
-26
-21
0
-3
35
0
0
8
4
0
-21
1
-1
0
0
-28
-6
0
0
0
0
0
13
-16
0
-1
0
0
0
-33
-8
-37
45
0
0
10
16
0
17
20
33
0
7
25
7
19
20
0
0
-23
18
4
-50
-27
-3
0
-12
3
2
-25
-27
3
0
1
-20
0
0
31
10
0
0
5
0
-18
-1
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
-4
-28
3
-11
-11
-6
1
15
11
-38
1
-23
-67
-7
7
0
-9
-55
-6
-15
-21
97
-17
-20
-21
-29
14
-25
-8
20
-9
-1
2
-13
-31
-29
14
-19
-35
34
3
-36
-49
-5
46
6
20
25
-38
0
0
0
0
0
0
0
-22
-45
-53
-64
7
-40
58
3
-5
-46
-39
-17
-3
8
-26
-12
-13
-58
-21
-11
-9
-8
-12
-24
4
-29
-49
3
-7
9
-8
4
-42
2
-11
-32
-34
-43
-19
-39
-12
4
-18
13
-37
-52
-23
5
4
-10
10
-18
-3
24
17
-17
-13
12
5
4
21
10
1
-12
8
-14
-28
-12
-16
-34
1
-8
-6
-48
-12
-21
-2
-1
-3
-3
-9
-16
-4
0
15
2
-31
-16
-36
2
-25
37
-6
-80
-31
-5
-16
-20
-2
7
8
6
-57
-10
-54
9
6
-7
17
-28
-40
-10
17
-1
-9
-5
1
1
12
27
19
-11
-19
16
25
-7
13
2
17
-5
6
10
13
0
-11
-65
-53
-6
19
-37
13
-13
-57
-43
-20
-3
14
9
-2
-22
48
-14
-17
1
-2
-18
-19
-41
-25
-1
-3
-30
-12
0
-23
-78
-10
15
34
-7
0
5
17
-18
-38
21
5
-30
-15
-16
-12
28
18
-5
-23
-10
-1
9
16
-44
1
7
-11
-6
-6
24
-10
-5
-39
8
2
4
-19
2
-10
-35
-8
2
-11
2
-33
-6
-9
24
-13
-7
-9
39
-5
-38
-6
-28
-17
-5
1
-26
-29
46
-26
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
-21
-22
0
0
-42
0
-6
-50
46
0
0
-12
0
-1
0
-5
0
0
0
-7
0
0
0
0
-36
0
0
28
0
0
-10
0
0
0
0
0
38
-56
0
0
0
8
11
45
13
0
5
-46
0
0
0
0
0
0
0
0
-48
0
-6
-7
-36
-23
-12
-50
-26
7
-9
-77
1
12
-21
4
0
0
9
-8
-11
-23
-6
0
-1
-3
-2
34
-2
-6
0
0
0
1
-102
0
0
-5
0
0
-1
15
1
8
-49
10
0
-26
0
-51
22
-2
0
4
0
0
-13
3
20
68
-19
49
0
-35
0
-11
-9
38
-7
4
-33
-24
1
0
-39
2
8
-14
-26
-4
0
-22
0
4
-1
-27
0
-1
-3
55
0
0
-54
0
0
-2
8
1
0
34
-15
3
0
-4
0
0
9
-4
11
-3
0
0
-14
0
2
-19
-8
20
0
-69
17
-9
-9
-16
3
-1
-45
0
3
-5
16
15
22
-36
-10
-1
-2
-39
11
2
17
5
0
5
-85
-2
0
3
-17
0
5
-40
-3
-25
10
-53
0
-3
-65
15
5
0
20
0
0
0
13
-2
0
-26
30
1
0
0
0
0
24
0
26
40
-7
2
-9
30
0
-7
60
-17
0
-14
0
1
-52
-20
0
0
-27
32
0
7
-25
-28
0
-5
30
4
11
-1
0
0
-1
-85
0
19
-3
2
0
0
-5
0
5
12
0
2
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
16
47
0
0
-1
-4
0
-16
-1
0
-1
-8
0
-1
0
-2
0
0
-1
0
0
0
0
0
-5
0
0
-4
0
0
-4
0
0
0
0
0
0
29
9
0
0
0
38
9
0
0
34
-8
0
0
0
0
0
0
0
0
-24
-42
-4
0
-16
-22
-10
-7
-12
7
2
66
7
-4
32
38
0
0
-27
0
6
0
11
0
0
-3
0
10
0
0
0
0
-2
0
-8
0
3
-4
0
0
0
-7
0
-13
0
0
0
0
0
23
-25
0
3
10
0
-2
24
84
-1
44
4
55
0
-16
2
-3
0
-39
0
0
41
-37
0
-4
-38
15
0
-13
-15
0
1
-8
0
0
-3
1
0
-38
-24
32
0
1
-28
0
3
12
-8
8
1
23
-3
10
0
4
0
0
-24
-4
0
0
0
0
-5
50
0
-29
25
8
18
0
65
0
0
-48
0
0
-20
-36
0
-1
-34
10
0
-89
-39
0
51
28
12
1
11
-58
0
-7
-11
0
0
-10
-30
0
19
3
-6
1
0
3
0
-9
-2
1
-2
0
58
0
0
0
-3
0
0
-22
-6
9
7
0
0
0
12
0
32
0
0
-3
-6
5
0
0
-5
-2
0
0
35
-7
-53
-7
-2
0
-4
-58
0
0
40
-39
0
0
-24
0
13
8
0
0
0
55
0
-1
0
0
17
0
-53
0
11
0
-2
11
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
11
14
0
0
39
24
12
59
23
0
0
0
0
30
0
15
0
0
0
-2
8
2
0
0
10
0
0
58
0
0
-13
0
0
0
0
0
-8
38
0
0
0
0
14
37
0
-2
21
-23
20
0
0
0
0
0
0
0
-17
20
-7
10
-13
-7
1
2
7
0
-7
-2
0
0
5
59
6
-3
-48
-3
-6
-75
1
0
0
27
0
-9
0
-4
0
0
0
-9
22
0
0
24
0
0
11
13
-6
8
-41
4
0
2
0
-1
-4
0
0
44
1
6
34
-14
1
-53
-14
18
0
18
-20
0
0
10
9
0
-21
-9
0
0
45
-29
0
-77
4
10
2
0
0
-8
3
-105
0
-10
20
9
-15
0
-33
0
0
-4
0
22
0
15
49
-11
0
-7
0
0
22
25
7
0
3
0
8
-5
-2
-7
61
10
9
-16
-32
0
3
22
0
33
-22
-13
-7
-9
40
-3
0
23
-22
6
15
-26
9
2
12
-25
0
2
45
-15
4
8
-36
0
3
17
0
20
0
-10
0
0
4
10
27
0
-9
-2
0
0
0
0
0
8
19
0
0
0
0
0
-31
0
-47
-8
0
-1
-9
-36
0
0
-5
6
0
13
-39
0
-11
-4
-1
2
-3
-8
0
-12
-9
-21
0
-6
-46
-3
-18
-36
2
0
0
-5
0
0
12
28
6
0
-10
0
2
0
0
53
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
-56
6
11
-1
0
-3
2
-29
24
5
0
0
0
2
-1
-5
-1
0
-2
0
9
0
9
0
-18
0
0
8
0
0
-14
0
0
6
-3
0
9
42
0
0
0
0
-93
9
2
0
21
-28
2
0
0
0
0
0
0
0
-15
-44
28
34
-66
2
3
13
-13
-13
0
41
-2
49
-68
68
0
-1
-37
0
-4
2
-77
0
0
-2
0
1
0
-14
0
0
4
-10
-106
0
0
32
0
0
0
-8
0
10
-44
28
-2
-7
0
-9
-8
0
-6
-20
0
0
2
32
-1
45
-12
26
0
-50
0
0
33
-30
0
0
16
-5
0
0
10
48
-11
-88
-28
0
1
54
0
0
2
9
0
5
-15
-36
6
38
-42
0
0
0
0
33
2
-26
-23
11
0
11
0
0
18
17
0
0
-2
0
15
-14
-9
37
-7
8
0
37
43
0
-6
36
0
2
30
4
38
12
38
-1
-13
-65
-20
0
-3
37
-38
-3
32
-74
13
0
-19
50
18
-29
-23
0
-24
0
17
24
-1
-59
0
0
0
12
10
0
-18
1
0
0
-4
0
0
-52
-12
3
0
-7
0
5
-37
0
12
-13
0
-1
6
23
0
-35
-14
-9
0
70
10
0
6
-17
-9
0
-2
-6
-7
0
-11
61
0
0
-44
0
-14
-3
0
9
2
-52
0
13
5
-7
-8
0
-9
0
-28
0
0
0
0
-24
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
37
0
0
21
3
0
0
0
0
0
-2
0
-8
0
0
0
0
0
0
-4
0
-55
0
0
7
0
0
-55
0
0
0
9
0
6
3
0
0
0
0
-1
-10
0
0
16
-3
0
0
0
0
0
0
0
0
-2
0
0
0
12
0
-8
-14
-7
0
0
-23
0
0
1
-1
0
0
0
0
-18
-6
9
0
0
0
0
-1
37
-2
0
0
-4
0
-20
0
0
0
0
0
0
12
0
-3
0
0
0
0
0
0
16
0
0
0
0
0
-11
35
0
-22
-47
2
0
-85
14
0
0
23
0
0
16
-54
0
0
12
0
0
-2
10
0
0
37
0
0
-21
-43
0
37
45
0
0
0
16
0
0
-3
0
0
0
-3
-2
0
0
0
0
0
12
0
0
0
0
0
0
-16
0
0
0
0
0
0
-17
0
0
-6
0
0
20
-13
0
0
-9
0
0
-1
-35
0
0
-18
0
0
0
34
0
0
-19
0
0
0
-42
0
0
-17
0
0
0
-3
0
0
0
0
-2
0
-70
0
0
0
0
0
0
-57
-1
0
0
0
0
0
1
0
-16
0
0
0
-7
-20
0
0
-8
0
0
0
3
0
0
2
0
0
0
36
0
0
-1
-3
0
0
-6
0
15
-15
0
-2
0
-60
0
0
-16
0
0
0
-58
0
-3
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
2
-3
0
0
0
1
0
10
2
4
0
0
0
18
8
40
0
0
0
-15
0
0
0
0
20
1
0
0
0
0
-36
0
0
0
0
0
-15
71
0
0
0
0
-13
37
0
0
8
13
0
0
0
0
0
0
0
0
-58
-12
7
0
-59
29
0
15
28
2
-8
-11
0
0
11
3
0
0
-57
10
0
-23
-26
6
1
-15
-3
0
-2
-27
0
0
0
20
-1
0
0
-6
0
0
-15
0
-3
-23
11
61
10
-4
0
24
-7
1
0
38
0
0
44
25
0
9
17
32
0
-35
-53
0
0
-78
-3
0
4
0
0
0
-11
10
0
-32
44
0
1
48
0
0
-16
-29
0
-30
-22
-21
0
4
-11
0
0
-9
0
0
0
53
29
28
0
5
0
0
3
-1
0
-4
0
0
-8
8
0
-8
49
16
0
-6
2
0
-2
18
0
0
-59
-23
19
-4
-23
-6
0
-82
-14
0
1
8
1
0
-1
-12
0
30
49
-5
0
-44
-26
0
12
14
0
0
3
11
0
-25
27
-12
0
0
17
0
0
0
-1
0
0
40
-32
0
0
0
0
3
14
6
33
45
0
0
67
-23
0
18
22
3
0
31
11
1
-44
40
0
0
-18
-18
0
26
-1
-11
0
0
-19
0
14
7
-1
0
-1
-33
0
-2
8
-2
0
0
15
0
-34
0
0
0
0
-21
-1
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
0
0
0
0
0
0
0
0
0
-36
13
53
57
62
22
-23
16
42
30
8
-33
-20
-34
3
17
44
-26
-4
5
-25
0
0
-15
0
0
0
-1
-2
30
21
-6
3
-4
0
20
-7
-12
4
6
-37
-54
0
0
0
0
0
0
0
-23
13
-54
-10
-17
-20
-31
-19
-12
24
0
-21
-3
14
27
47
44
9
-5
-25
-1
21
-14
-2
-3
-33
-10
-56
34
-1
24
0
-75
-76
-56
18
3
-11
0
0
28
-47
-1
7
-79
-40
30
-29
2
35
9
-8
-13
5
19
-10
-18
-13
8
23
-15
-23
-12
10
16
-3
30
-7
-24
-18
1
6
-17
25
-30
-48
1
-10
-6
26
-19
-29
6
5
-21
11
10
-26
-45
-47
-40
15
-21
-1
-1
-69
26
-26
0
-2
-34
-1
-1
-6
18
-1
10
-10
-1
-2
35
30
-48
18
-13
38
-32
-19
-6
8
1
56
15
-16
-68
-16
20
-8
-14
8
-3
-16
-54
-13
1
29
5
-10
11
-10
1
-9
13
-3
-20
-32
-6
38
18
1
-80
-18
-12
-24
38
-25
11
-5
-49
-76
-16
3
-11
-3
-1
6
-9
-5
-2
-19
-9
32
16
-14
-1
40
32
-38
11
10
-2
-17
8
-3
18
11
-89
43
-2
-6
-1
0
-18
-19
-20
51
21
9
23
-46
-4
-1
-26
33
-25
-37
-5
-40
73
-7
-16
-3
19
18
-19
-3
-50
-51
-1
0
5
-24
34
-4
13
-7
-21
-10
0
-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
-62
-17
-6
0
5
0
-2
46
46
-2
-1
7
-3
0
0
-15
10
0
0
0
-48
0
0
-25
0
0
0
0
11
28
9
0
0
-4
0
2
-33
-39
-18
-18
-19
35
0
0
0
0
0
0
0
-27
33
-33
-15
-19
-42
20
-33
0
14
-31
0
0
-36
16
-2
0
6
-30
44
-59
-78
15
0
24
-6
0
-60
-4
-28
0
0
7
-12
-141
0
0
14
0
0
2
16
0
-6
66
-41
4
-85
0
60
1
-3
-4
38
0
8
19
-1
-2
33
0
-7
0
18
4
14
64
20
0
-7
12
0
33
-17
0
20
2
-10
-7
0
-14
-47
1
-2
33
-12
0
-14
-45
65
-30
2
0
0
-1
27
0
-12
0
15
10
20
-1
43
8
0
-9
-3
-3
1
-2
0
31
-17
-23
-3
-5
2
-38
34
18
0
12
38
46
64
-9
-13
-25
-1
33
-83
34
26
0
-16
33
-34
0
7
-20
24
1
24
-4
-5
5
-16
-32
0
11
-32
10
-84
22
-28
4
-1
10
-60
-75
0
3
-2
1
0
-4
-81
0
-5
-24
22
10
-2
0
-22
-3
-14
7
26
-3
-17
-14
16
-17
-80
-46
8
0
6
-28
40
-5
5
-11
64
-47
0
14
-7
60
47
0
-14
-7
1
-72
-31
-50
-56
-10
3
0
-11
-35
-10
-17
0
-22
0
-24
10
-4
-13
0
-34
37
6
-2
-13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
22
0
0
0
0
0
0
-1
0
0
0
0
8
0
36
0
-1
0
0
-9
0
-15
-7
0
0
0
0
0
7
50
0
0
0
0
11
-6
0
-3
1
-50
1
0
0
0
0
0
0
0
16
-7
0
-10
-7
-49
10
-8
-19
0
0
-3
0
0
-2
5
-3
0
-3
-4
-2
-1
3
0
0
-19
0
47
0
14
0
0
23
-1
34
0
-1
35
0
0
0
40
0
20
52
2
-7
34
0
-4
16
0
0
25
0
0
45
-23
-2
34
24
-5
0
7
5
0
3
32
0
0
12
35
0
21
-38
0
0
8
1
0
0
11
0
0
-20
28
0
-21
-12
0
9
0
9
0
0
0
0
-2
1
-25
-11
-6
6
0
0
0
2
-12
-1
0
0
0
0
-14
-1
-33
15
27
0
-27
0
0
29
-22
0
0
59
-2
0
18
29
62
-4
7
0
6
-12
-64
0
10
-22
-16
0
4
0
-17
0
0
9
0
0
-29
-2
0
16
-15
1
0
46
39
15
0
-6
0
0
0
0
-7
0
19
-13
-4
0
0
0
0
11
0
-12
25
0
8
-8
-11
0
7
-40
-9
-4
17
-22
0
-15
27
0
1
-16
5
0
-17
21
2
7
-2
-15
0
18
7
2
0
0
-23
0
0
3
0
0
0
-23
0
58
0
0
0
0
6
-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
37
0
0
0
0
0
-1
-4
-7
0
0
0
0
-2
0
12
0
-16
0
0
-6
0
0
-8
0
0
0
0
3
-2
11
0
0
15
0
-16
-2
-5
0
-15
-99
-9
0
0
0
0
0
0
0
-10
9
0
-5
17
12
0
-52
76
1
9
-1
3
18
16
-31
0
0
-24
-1
-1
-68
-12
0
-6
7
-1
54
19
-12
0
0
0
0
-35
0
0
15
0
0
0
-3
26
40
-18
-1
0
-2
0
10
-30
8
0
16
1
0
50
5
-2
1
21
20
0
-45
-27
-1
0
-41
0
0
-39
-11
0
0
49
1
-6
11
39
0
-1
42
0
-11
3
-65
0
41
6
27
0
0
-16
0
0
0
0
-4
0
-27
6
-2
0
1
0
-2
-5
19
0
0
0
0
34
-19
8
-8
-4
2
0
-2
10
-6
7
2
0
-3
-30
-23
0
-1
1
22
-4
48
-7
12
0
-12
18
0
-6
13
-1
0
-34
18
-4
21
16
-1
0
2
12
1
0
-8
0
1
-2
3
-4
0
-14
9
0
0
9
0
0
3
-10
0
0
0
0
-3
23
8
36
7
0
0
0
-77
0
-4
-10
0
0
-12
-60
0
-39
18
0
0
-1
-32
-1
12
-32
-6
0
-6
39
0
69
-25
-2
0
0
-10
0
0
-11
-2
0
0
31
0
-12
0
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
-69
-23
0
17
0
107
15
23
8
0
0
-10
-1
-25
0
-22
0
-21
1
0
-40
0
0
-13
0
0
0
0
3
29
6
-1
1
0
0
1
22
-7
-4
23
-68
46
0
0
0
0
0
0
0
-15
13
26
-4
32
37
32
-23
4
21
12
-22
1
-26
-22
-35
12
7
26
6
-32
-68
-26
0
0
0
-1
-44
19
-14
0
0
-5
53
-63
0
0
8
0
-3
0
-82
0
-21
-5
2
15
-87
0
-21
14
10
0
-15
0
0
18
18
17
-17
-17
-16
11
14
5
9
24
32
4
-9
11
2
-15
-13
20
31
2
-17
2
-2
15
-42
13
-72
22
-21
0
1
-48
23
17
30
-57
0
0
10
-18
-48
0
6
-61
-26
0
-17
-1
0
1
11
-2
1
0
0
24
2
9
-39
-6
-21
0
-6
-3
21
-1
43
-6
11
19
0
12
57
11
22
-2
-1
1
5
22
-11
38
-43
33
-14
61
-5
-65
-17
-32
-13
-13
0
0
-36
-1
-28
-3
-43
0
0
-53
33
-60
0
-8
22
0
2
17
3
0
-5
-41
-3
0
24
0
-15
10
-3
16
15
7
8
-3
7
4
14
-18
0
0
2
0
6
-70
49
4
41
-43
1
37
38
23
-47
17
14
-21
0
48
3
32
-2
-2
6
0
10
55
-8
-41
-1
-26
0
71
-8
-1
25
0
-12
-13
74
1
2
0
0
0
0
0
0
0
0
0
0
0
0
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
22
6
1
2
0
0
-35
0
3
0
3
0
-7
0
0
-21
0
0
-2
0
0
0
0
0
-3
-14
0
0
0
0
-53
-4
-1
0
15
-7
8
0
0
0
0
0
0
0
-46
-54
0
-3
-36
0
-11
-27
24
-10
2
-24
0
-25
-34
7
0
15
-43
0
-24
-54
-13
0
0
-24
0
3
-8
10
0
0
-7
0
9
0
-1
1
0
0
0
20
-1
6
-26
-30
-1
0
0
51
0
0
0
-20
0
0
-24
9
0
-12
16
-2
0
-12
-14
0
6
-11
0
-1
-22
-11
12
-3
6
0
0
-7
-23
0
0
-19
0
-9
-3
-53
0
-34
-36
0
8
15
11
13
0
10
0
7
0
11
-3
54
0
0
-1
0
0
23
2
0
0
0
-15
6
11
-9
-35
0
0
-24
4
0
0
-43
0
-7
9
27
0
-11
40
0
0
29
-19
0
-47
8
0
2
-32
-1
0
12
-2
0
-8
24
19
0
0
3
3
58
-14
9
0
23
4
-2
51
0
9
0
19
0
4
-13
0
17
2
0
0
0
0
0
-4
1
-5
12
0
-4
33
17
0
0
68
-7
1
11
21
0
-13
6
0
0
-6
-15
-3
12
-6
4
0
7
-3
0
-36
24
0
8
0
15
0
-3
-42
0
3
0
-7
-1
-38
-24
0
-27
0
31
2
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
38
-6
-1
4
-1
0
-50
5
0
-1
-15
-11
0
0
34
0
32
0
-7
0
0
3
-15
0
0
2
0
-2
9
12
0
-3
8
0
15
12
-2
12
-16
0
0
0
0
0
0
0
0
0
-21
-5
3
-3
-3
16
0
-9
-39
2
-4
-14
-1
0
2
-6
-4
-1
4
-38
0
20
2
4
0
-46
33
0
-18
-1
10
0
-2
-24
9
0
3
-30
0
0
14
0
0
23
-16
-19
-10
-11
0
25
8
-8
0
-4
-1
0
18
6
20
21
28
21
0
-3
7
-11
55
18
49
0
-17
-42
0
21
-21
-7
0
10
-5
0
0
15
33
-1
19
5
0
-14
12
-16
0
-43
0
0
-3
17
18
2
0
4
-19
-43
0
24
0
0
14
-19
-1
-10
0
0
18
18
-77
26
65
26
0
-6
15
-4
-5
10
-2
0
53
8
-15
5
33
4
3
15
9
-6
25
5
0
0
-21
1
16
8
26
30
-6
63
16
0
1
30
13
0
32
12
-2
-15
29
-46
0
0
0
17
-13
0
40
0
0
17
-13
3
-20
-16
0
1
17
0
26
-1
-2
0
-16
18
-2
16
47
-8
0
29
-8
32
43
10
17
0
-32
-7
6
-46
2
70
0
59
-7
-10
-16
2
-8
-11
5
9
0
-12
10
-16
-4
-2
13
-2
9
1
28
1
0
6
9
8
-2
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
51
-12
48
18
-36
-7
-2
3
0
-1
71
0
-2
0
0
-4
0
3
-9
-3
8
31
-48
-3
23
-49
1
13
-9
-27
26
18
-13
-58
0
0
0
0
0
0
0
2
-56
59
11
-33
-44
-12
-40
-25
-103
-5
-48
-53
-18
-39
2
4
-6
9
-33
2
-50
-25
0
-6
7
11
-19
-1
1
0
0
9
-3
-13
0
-4
-23
0
-1
-4
-14
-1
2
-46
-40
-23
-12
0
47
1
-7
-2
-16
-6
-4
11
6
11
3
-6
-22
7
1
-3
23
-17
-5
22
-23
-9
-1
2
6
10
-34
-7
-13
2
2
-10
-8
-19
-6
-43
1
19
-9
16
-12
-14
-2
-11
-1
-2
38
-54
-20
0
7
-32
-45
0
-10
-16
-1
6
-30
0
2
36
-12
-60
-14
-18
7
-14
-19
42
15
1
-6
-9
-10
-10
32
13
-2
9
8
-12
-42
-34
23
-1
31
-28
-2
-19
-38
-1
2
11
-32
-17
-23
-44
14
-13
53
-9
-6
-48
-5
-15
-13
-4
34
9
-32
-9
0
-9
47
9
-7
-13
-8
0
-6
45
-25
35
-17
-7
-11
2
-24
20
-23
-91
-82
13
-7
-3
-77
-4
-25
-25
19
4
21
-39
2
-15
-28
17
-5
28
-29
-12
-24
-69
2
-2
-2
10
-7
-27
-11
22
-16
-4
51
34
-15
-9
-3
-8
8
-4
11
-1
-6
0
-12
-24
-18
0
-45
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
-6
-3
0
6
0
-11
0
0
-58
0
0
-28
0
0
0
0
0
-19
-13
0
1
-2
0
-3
23
18
0
-24
-33
-10
0
0
0
0
0
0
0
-30
67
0
6
11
-14
27
-18
-136
0
30
14
7
-38
19
0
59
-47
-35
-6
1
-7
16
0
0
24
9
-16
-2
-47
0
0
5
2
-45
0
2
-80
0
0
2
17
0
4
-39
15
10
-10
0
-5
20
-7
-4
-11
0
0
-1
28
0
-12
5
-47
2
-42
-21
9
5
-10
8
0
53
8
14
-15
6
16
0
16
0
4
-7
-34
-9
8
0
-16
-1
-53
-49
17
7
-10
-11
0
0
-16
-15
-59
0
5
-54
-41
0
-7
-1
0
7
-11
0
0
4
0
1
40
-12
61
-32
-14
-11
-3
10
-7
6
-35
-4
0
-16
4
18
-58
-5
-13
-3
-15
27
0
3
9
7
13
-42
0
-11
1
-13
-12
69
-7
-23
0
-4
-43
0
-33
49
-5
-1
0
69
-12
-53
0
-7
0
0
0
-49
2
6
-10
-18
11
0
0
4
-6
-21
4
8
28
21
-2
28
18
4
20
4
-15
0
32
-22
-2
9
29
-4
19
-20
10
-1
-27
-11
-17
-15
-6
0
50
-56
-58
-15
-6
3
-41
0
14
-9
10
-2
-11
29
-10
-63
-3
0
-13
0
13
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
14
0
0
-6
0
0
-28
0
0
0
0
0
1
8
0
0
0
0
0
1
0
0
-7
18
0
0
0
0
0
0
0
0
0
0
0
0
-35
23
3
22
-15
0
0
47
0
7
71
7
0
0
22
0
-1
-4
79
0
0
2
0
7
1
0
0
0
-4
-2
51
0
0
-2
0
0
0
11
0
32
42
-3
-13
0
0
-20
0
0
12
-6
0
0
66
2
0
49
40
29
0
-37
25
0
2
-1
1
0
-14
-11
0
0
-40
-2
0
-10
-76
0
0
-31
0
0
-4
-29
0
-10
11
0
0
0
18
0
0
0
0
0
0
-42
-9
-3
0
0
0
0
9
25
0
0
0
0
0
15
0
0
-11
0
0
14
-21
0
0
90
0
0
-1
24
0
21
33
0
0
-15
5
-4
15
-56
0
-1
1
-72
0
-7
-18
4
0
0
11
0
0
-8
0
-4
0
11
0
0
6
0
-2
0
10
0
0
0
1
6
0
9
10
0
-1
0
0
0
-54
0
0
11
0
0
-3
-2
0
3
4
0
0
0
50
0
20
-4
0
0
0
-3
0
0
5
-1
0
-2
-38
0
36
0
0
0
2
-47
0
0
10
0
1
0
4
0
-9
0
4
0
0
-31
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-109
0
0
46
0
0
-22
0
0
0
0
0
-3
-13
0
0
0
0
0
8
0
0
19
-3
0
0
0
0
0
0
0
0
-9
-3
0
4
-39
-3
-1
-23
-3
0
0
-1
0
2
33
0
0
0
57
0
-2
-3
0
0
0
0
0
-3
0
0
0
0
0
0
81
0
0
-1
0
0
0
0
0
-16
0
-1
28
0
0
0
19
0
0
-11
0
0
-16
-124
-1
40
-23
8
0
-22
-40
0
11
-20
0
0
-20
13
0
0
-18
-2
0
25
1
0
11
-20
0
0
1
46
0
-33
1
8
0
0
-48
0
0
0
0
0
0
1
-1
0
0
0
0
0
7
0
0
0
0
0
0
-19
0
0
-16
0
0
-1
-22
0
0
22
0
0
15
5
0
0
-12
-3
0
-2
-49
0
0
-36
0
0
-3
-52
0
0
5
-2
0
-9
-23
0
0
-4
0
0
0
-5
0
6
1
0
-3
0
-59
0
0
0
-1
0
0
-61
0
0
0
0
0
0
-26
0
-2
-13
0
0
0
21
0
3
35
-1
0
0
-37
0
3
-1
0
0
0
-13
0
0
-2
0
0
0
6
0
-2
-1
0
0
0
35
0
0
-1
6
0
0
-98
0
-4
1
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
0
0
0
2
0
0
0
0
-18
0
0
32
0
0
-13
0
0
0
0
0
4
-2
0
0
0
0
-3
4
0
0
-28
-3
0
0
0
0
0
0
0
0
-28
-5
-1
0
5
-2
0
-49
-3
0
0
15
0
-1
-34
29
0
1
66
0
8
-10
34
0
0
22
0
-1
0
1
0
0
0
0
-112
0
0
0
0
0
0
-6
0
-76
-1
0
0
12
0
0
51
0
0
-2
0
0
-19
50
0
-15
-18
-3
0
-70
-1
0
0
-59
-1
0
-15
-11
0
0
-33
0
-1
14
-12
0
0
28
0
15
2
47
0
13
-2
-27
0
0
10
0
0
0
0
-1
0
-3
-3
7
0
-3
6
6
-74
0
0
0
0
0
3
-3
-5
-4
0
-3
0
20
-5
0
1
11
0
-1
-4
-69
-3
-2
25
3
0
4
-50
0
0
-17
0
0
0
-27
0
6
-11
2
0
-2
14
0
0
-1
0
-4
-3
-80
0
0
0
-2
-10
0
-15
0
0
0
0
0
0
9
0
0
0
0
0
0
-36
0
1
0
0
0
0
25
0
0
-8
0
10
0
-55
0
16
7
0
-2
29
-4
0
0
29
20
0
0
-57
0
-12
-1
0
0
0
3
0
0
0
60
0
0
-51
0
19
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
7
0
0
9
3
0
0
0
0
41
0
0
-1
0
0
-27
0
0
0
0
0
0
2
0
0
0
0
-8
11
0
0
0
-1
0
0
0
0
0
0
0
0
-33
4
0
0
-86
0
0
-25
-1
7
0
-1
0
3
-22
0
0
0
7
0
-11
8
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
41
0
0
18
0
0
-9
-11
0
0
3
0
0
-1
-41
0
-16
-19
-3
0
-18
-17
0
15
-41
0
0
8
-26
0
0
-17
0
0
22
-2
0
0
-20
0
0
-2
-40
0
-53
9
6
0
0
-3
0
0
0
8
-3
0
-17
-1
0
0
0
0
0
-17
0
0
0
0
0
0
-58
0
0
18
0
0
16
-36
0
0
-63
0
0
-27
30
-2
0
-42
0
0
21
-6
0
0
-23
0
0
-6
-15
0
0
-33
0
11
0
29
0
0
-2
0
-1
0
-1
0
0
9
1
-2
0
1
0
0
0
-2
0
0
-8
0
0
0
0
0
0
-6
0
4
0
0
0
0
11
0
-6
-2
0
0
6
30
0
0
3
3
0
0
23
0
0
9
0
0
0
-48
0
20
-18
0
0
0
34
0
0
3
0
0
0
-35
0
4
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
45
47
0
9
34
2
0
-30
0
21
0
4
0
0
-6
-14
0
0
0
0
-1
-49
-41
-12
-1
0
0
-46
18
-6
0
-12
-19
0
0
0
0
0
0
0
0
-5
38
0
-1
-17
-12
0
-20
31
9
0
9
0
1
-15
28
8
-2
13
-4
0
16
47
6
1
-14
-13
0
2
21
0
0
-8
-18
-4
0
4
-29
0
0
-6
0
-6
3
-13
24
-9
37
0
13
-11
13
-54
3
-2
0
-24
8
9
-6
20
-22
0
4
16
2
23
27
1
0
3
-1
0
24
-1
4
0
6
-20
0
16
-1
-9
0
-8
-9
0
3
16
3
0
12
9
0
0
-56
40
0
0
5
-26
-24
0
4
0
0
-5
-31
10
0
0
0
42
11
-1
-9
25
24
-6
16
20
0
0
40
-6
0
9
12
0
19
16
8
0
19
7
17
46
36
32
0
-21
-10
1
25
12
-27
0
23
-9
7
4
38
3
-4
54
25
-2
0
10
22
9
0
13
-2
-4
0
20
0
0
-2
-29
43
16
2
0
20
10
-8
3
31
0
0
26
3
0
-10
-47
-1
0
-48
-8
0
5
-19
10
1
20
-11
0
-16
27
6
0
-3
-7
0
-7
13
-6
0
20
-7
0
15
76
40
0
15
2
0
11
30
24
0
0
8
-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
0
0
0
0
0
0
0
0
0
33
6
-9
0
0
-14
0
0
-51
0
1
0
1
0
-14
43
25
0
0
0
3
-8
4
-1
-11
-91
-2
0
0
0
0
0
0
0
31
32
0
7
-4
10
25
20
-20
-7
-2
-68
-1
-59
50
34
0
-9
-31
37
-41
14
83
0
7
55
-4
-68
0
-21
-1
0
-30
-31
-45
0
0
25
0
7
-1
-3
0
-17
80
10
-6
-2
0
-33
15
0
2
10
7
0
-3
1
0
-22
0
-10
0
6
-16
-2
23
-4
-4
-11
22
10
0
0
-9
-8
7
-3
-9
0
21
8
11
-22
32
11
-3
-35
-43
22
1
0
-56
0
0
-14
0
18
0
7
33
4
-18
-7
0
0
-24
-10
-2
-4
0
0
6
25
-19
-10
30
12
-6
-42
-16
-2
-6
-24
4
-1
-5
-29
0
1
-56
-29
0
-40
-12
-29
37
1
-34
-17
3
16
2
-4
-8
5
13
2
-9
0
-4
-33
-2
-68
0
-17
0
-8
-15
24
-23
0
-32
3
0
0
20
-10
0
-51
-14
-8
0
0
0
-2
8
6
-19
-24
1
1
-15
-15
0
13
3
-10
0
-7
-2
0
24
-15
33
-1
-12
-37
0
-4
-12
-40
18
0
-4
2
9
80
23
3
-7
-2
-2
-2
-19
53
-8
0
-30
0
-6
-4
-4
-8
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
59
0
-54
0
-4
-22
0
0
-1
0
0
2
0
7
20
-22
0
13
0
0
-63
32
19
9
-2
-13
-1
0
0
0
0
0
0
0
-8
-14
-21
10
-34
10
33
4
11
-6
41
6
29
0
-54
-16
0
-1
30
-1
-41
-29
0
14
14
11
3
-22
15
-20
0
-2
-14
9
-67
0
-1
-73
0
0
0
-3
0
5
-23
-54
0
50
0
2
-18
8
7
27
0
0
20
27
-13
-11
-29
-23
0
-8
1
9
3
-1
12
0
-45
-7
-8
-1
-9
4
-9
17
-10
6
0
37
-2
-3
67
0
-2
-8
-4
58
-4
11
-22
0
-1
-7
-9
-7
0
2
21
22
1
10
0
0
9
12
24
10
0
0
16
-17
-29
32
-9
-41
11
10
26
26
26
3
-1
-9
-2
-35
-84
-72
19
43
-13
23
-14
-24
3
-17
-1
-12
27
-22
-2
-4
-9
40
-7
-10
0
-5
2
0
58
-8
-21
-8
0
-4
-34
37
-106
0
-16
-1
0
0
35
3
0
-1
8
-7
13
0
4
26
1
26
5
-16
1
0
4
2
2
10
50
-28
0
-3
19
15
-7
-40
8
-7
-3
-24
-2
-25
19
-26
2
-56
-32
0
-24
-42
-5
-2
16
0
0
-9
-76
-16
-19
0
18
0
-14
-25
-2
-7
0
-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
-25
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
8
0
0
9
-12
0
0
0
0
0
0
0
0
16
-18
0
7
-10
-23
12
-35
1
0
0
-39
0
-1
0
26
0
0
-23
10
64
-8
-16
0
0
11
0
15
0
-2
0
0
0
0
66
0
0
-4
0
0
12
3
0
31
2
-1
-2
0
0
1
-61
0
0
0
0
0
-23
-1
0
33
3
69
0
43
16
0
0
27
0
0
-63
21
0
-12
45
-14
0
21
39
0
0
1
0
0
-1
-47
0
-4
-3
0
0
0
-17
0
0
0
0
0
0
-2
8
64
0
-3
0
0
-3
-6
0
0
0
0
-1
-7
0
2
8
0
9
-3
-16
0
0
45
0
0
-5
2
0
4
-40
6
0
36
-39
0
0
6
-6
-4
0
3
0
-4
-17
0
3
-1
-88
0
0
-10
2
7
-3
-12
0
0
-4
-6
7
0
12
0
0
0
0
0
0
-27
4
1
-3
0
0
0
11
0
-7
0
0
0
0
17
0
0
55
0
0
-44
2
0
14
-12
0
0
4
-10
0
0
7
0
2
-7
4
0
-26
0
-10
-1
0
10
0
0
0
-9
0
0
-27
0
-6
0
0
4
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-80
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
4
-15
0
0
0
0
0
0
0
0
-28
10
0
0
-11
-1
0
12
22
0
0
-1
0
0
-1
42
0
0
25
0
0
-2
35
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
11
0
0
0
12
0
28
1
0
0
0
0
0
29
0
0
-2
0
0
-15
2
0
-42
46
-1
0
-15
-65
2
0
-24
0
0
5
-6
0
-3
12
5
0
-6
5
0
0
4
0
0
0
-47
0
-22
3
-3
0
-1
-12
0
0
0
0
2
0
-38
-4
1
0
0
0
0
-21
0
0
0
0
0
0
-7
-8
0
0
0
0
-4
-17
0
0
4
0
0
13
-10
0
0
17
-4
0
0
6
0
0
-10
0
0
0
31
0
0
-11
0
-3
0
-56
0
0
-1
0
-2
0
-42
0
0
0
0
-1
0
-67
0
0
0
0
0
0
-20
2
0
0
0
0
0
-26
0
2
0
0
0
0
-30
0
0
0
-3
0
7
-20
0
0
2
0
0
0
-31
0
0
-1
0
0
0
32
0
-1
-1
0
0
0
-6
0
0
0
0
0
0
11
0
-2
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
7
0
1
-13
0
15
0
0
-6
0
0
0
0
0
0
-46
0
0
0
0
-5
-4
-2
0
-16
-17
-23
0
0
0
0
0
0
0
-23
15
-4
-1
-41
-36
-51
-35
-18
0
0
61
4
-17
-16
5
0
0
4
28
-3
20
-9
0
0
4
25
-7
-12
20
0
0
-2
5
18
0
0
-85
0
0
-6
11
0
5
11
-1
-16
-1
0
24
3
0
0
-3
-7
4
1
12
0
-6
-41
-44
0
-26
-9
6
-3
-32
0
0
-40
-10
0
0
-36
10
-13
-2
-17
-4
-15
-42
-8
-19
3
-24
0
-5
50
-8
-13
55
-6
0
-1
0
-21
10
0
2
-59
-11
0
-28
0
0
-6
16
0
0
0
0
3
-8
-12
0
-42
8
22
12
-2
0
0
4
-3
24
13
-6
63
-22
-33
-13
-21
-22
-16
-9
-9
-12
0
-1
8
-20
16
-2
35
-54
-12
34
-2
0
16
-4
-13
-1
45
-21
0
0
0
-12
-12
0
-15
3
0
0
-27
10
0
-22
1
-1
0
-7
16
0
-39
0
-72
-1
1
-24
-2
-17
1
-1
63
-17
12
1
-9
0
-31
36
-5
4
10
5
0
-9
15
-31
-71
-10
-27
-1
-44
38
-13
-4
12
13
0
0
26
-60
-19
0
0
0
-7
0
17
-14
0
-13
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-32
0
0
-3
0
0
0
0
0
-68
34
0
17
0
11
13
-24
0
0
-4
-2
-29
0
0
0
0
0
0
0
-8
31
0
-32
-24
-4
-4
-21
4
0
0
13
0
6
-46
-2
0
0
-69
5
-37
-13
-18
0
0
-21
0
-2
1
20
0
0
-4
0
19
0
9
18
0
0
0
27
0
-10
15
-6
-1
0
0
-1
-3
0
0
16
0
16
-12
10
0
9
-15
0
0
-42
-42
0
-6
-8
0
0
-3
-66
0
-9
-3
0
-10
-10
-22
0
0
-11
0
-6
-35
-3
0
13
37
1
9
14
13
0
0
-8
0
-25
0
-13
-30
0
0
0
0
-4
-34
9
-3
-6
0
3
1
4
0
32
31
0
-23
-49
-15
0
-7
-1
0
21
19
-31
0
0
15
-8
8
-25
5
0
25
-44
0
13
23
-10
0
1
9
0
-4
29
-20
0
0
-16
0
34
1
33
0
1
47
0
-44
0
5
19
0
0
0
23
0
0
5
0
10
0
0
0
-20
0
76
8
0
0
12
6
0
0
0
0
18
16
13
0
-38
48
0
1
7
28
0
-2
0
0
10
16
8
0
11
39
0
8
8
-36
0
0
4
0
3
0
28
0
41
-9
0
-9
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
-1
0
-9
0
0
0
0
0
-1
0
0
0
0
3
26
22
-3
7
0
0
31
-50
-7
-3
-28
0
-1
0
0
0
0
0
0
0
-22
-20
0
1
-27
24
0
-7
64
0
-2
-6
0
0
52
8
-9
-2
0
10
0
-22
-15
10
0
19
-6
0
35
-4
0
0
10
11
-2
0
0
12
0
0
0
0
-1
-7
6
64
20
44
0
42
6
0
0
18
-3
0
8
-26
0
20
-13
-39
0
-6
13
0
28
-4
3
0
-35
-2
0
6
-9
0
0
17
12
0
7
14
35
0
45
-8
0
-58
4
-18
0
92
-2
11
5
80
22
0
0
24
-54
2
0
-11
0
0
-10
8
-8
-1
0
0
-49
5
15
-3
-1
35
4
-12
28
0
-17
12
-7
0
-8
18
8
15
-3
-15
-2
52
6
-15
-20
40
-9
0
0
7
-10
-12
30
22
0
8
-21
0
-5
6
3
0
-2
-12
-8
29
-1
-4
-3
0
14
6
3
0
1
0
0
-8
8
-19
6
11
0
-10
17
-4
23
-28
0
12
-5
20
0
8
24
31
0
76
5
0
65
68
-10
0
46
-23
0
-40
-9
-2
0
-16
15
0
29
5
-2
0
13
-21
0
-46
-20
9
0
10
-14
0
33
-53
2
0
0
-2
18
-53
-1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
16
1
-3
0
0
0
0
0
0
0
-4
-4
0
0
-52
0
0
66
-13
1
0
-11
0
3
10
-3
0
0
-32
0
1
-1
0
0
0
-2
0
0
1
-39
0
0
-1
0
-1
0
0
-9
0
0
0
0
0
-24
0
0
0
0
0
0
-13
0
0
0
0
0
-15
-23
0
-10
26
-9
0
-7
-11
0
0
41
0
0
-2
7
0
0
-36
0
0
0
12
0
0
1
0
0
0
-2
0
-4
-1
0
0
0
39
0
0
0
0
2
0
5
-3
0
0
-3
0
0
34
0
0
0
0
0
0
1
0
0
0
0
4
0
-15
0
0
0
1
48
-1
15
0
1
0
0
0
0
-32
0
0
-2
0
0
0
6
0
0
15
0
0
8
15
0
0
0
0
-7
0
50
0
0
9
4
-13
0
-48
0
0
0
0
0
0
-11
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
-6
0
1
3
0
0
0
-34
0
0
0
0
2
0
-6
0
-2
-1
0
0
0
-18
0
0
-2
-7
0
0
-45
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
46
0
0
13
-6
0
0
0
0
0
12
3
0
17
11
0
0
0
0
0
0
0
0
-27
-5
0
13
16
-7
0
-16
-47
0
0
5
-3
8
24
-4
0
-4
17
2
0
22
-20
0
0
30
0
-1
-15
0
-1
-2
3
-2
-25
0
0
-15
0
0
1
0
0
-20
0
-4
4
0
0
64
-17
8
0
0
0
0
31
21
-2
7
19
-39
0
-38
-6
-2
6
-18
0
0
20
-1
0
0
-5
-13
0
-44
3
0
0
-26
29
0
51
12
0
-37
28
0
0
0
0
6
0
0
0
-2
0
-48
-7
-19
0
0
0
0
-20
0
0
1
0
0
0
-26
37
-6
-9
3
0
44
1
-4
2
-5
0
0
-47
22
0
-6
40
7
4
3
-17
1
0
-3
7
-1
58
15
0
-2
-30
-1
0
-1
-8
0
0
18
1
-2
0
0
0
0
2
10
12
0
-20
0
-1
0
0
0
0
-105
-7
30
0
-1
0
-5
16
16
-47
13
0
2
19
-47
12
-5
-8
11
0
0
-17
0
-64
-38
1
0
-18
4
0
-12
28
29
0
0
-11
0
-85
-1
0
0
0
-15
0
0
-14
5
0
0
0
0
-33
-2
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
41
0
0
0
0
0
0
0
0
0
-62
5
0
0
23
-1
0
-67
-1
0
0
0
0
0
-8
0
0
10
-21
0
6
-6
3
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
6
0
0
0
-6
0
-16
0
0
0
0
0
0
7
0
0
0
0
0
6
70
0
-48
-1
0
0
7
-9
0
0
17
3
0
-16
11
0
0
-4
0
0
-1
-13
0
0
-6
0
0
-1
7
0
-30
4
0
0
0
0
0
0
0
0
0
0
-30
15
0
0
0
0
0
32
-4
0
3
0
0
0
-34
0
0
6
3
0
2
-38
0
0
-11
0
0
2
-40
0
0
19
0
0
-3
39
0
-1
-19
0
0
0
11
0
4
2
0
0
-2
32
0
0
6
0
0
0
-7
0
0
0
0
21
0
6
0
0
0
0
0
0
-20
0
0
0
0
0
0
1
0
0
0
0
0
0
28
0
0
0
0
0
0
4
0
2
0
0
0
0
-17
0
3
0
0
0
0
7
0
-1
0
0
0
0
9
0
0
0
0
0
0
-68
0
-9
0
0
9
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
-5
-6
-1
-9
-29
-51
-3
0
18
-63
7
21
73
-4
-6
2
27
6
5
-4
0
0
0
0
0
0
0
-9
14
30
-1
-12
6
-6
-2
10
-21
-8
-2
12
16
-28
20
-23
-28
-7
4
30
-8
-26
-63
-37
-7
7
9
-14
1
-30
62
47
3
6
-54
8
-13
-23
-7
-52
9
37
3
-7
-4
-10
-1
1
30
-17
-36
-4
1
-49
-28
11
-4
-19
-8
-17
3
-29
8
-16
15
-25
-12
-13
-12
-1
-2
3
-56
-6
2
12
-1
7
15
-60
3
-18
-15
7
-2
-2
-28
18
-4
12
-13
-8
4
-62
-5
31
-8
-36
3
-21
-47
-2
-1
50
-21
2
7
20
-76
-59
-45
-21
-13
13
-29
-19
4
-13
-6
-18
-18
2
-13
31
10
-5
-11
3
4
-5
1
14
2
2
-34
-18
-4
-17
31
-6
-8
18
-45
-11
-4
5
-20
-11
7
55
-8
-25
3
-12
-8
8
-18
-28
-10
-2
-5
-3
-30
-42
-5
31
21
-19
-3
-18
-17
-50
-26
2
-1
-5
-27
13
-7
-75
-27
-9
-9
-19
-23
-25
-26
22
-38
-15
-16
-26
-23
-9
-20
-26
-5
42
-27
-9
-4
29
-9
4
8
-40
6
-18
-31
-12
1
12
-1
-30
-12
12
32
-5
-12
-6
-27
-3
-10
6
10
-4
34
0
-36
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
4
-11
0
0
0
0
0
0
0
-77
0
0
0
-29
0
0
-141
0
3
0
-23
0
0
1
0
0
0
-13
-15
0
2
-7
0
0
-2
0
0
0
18
0
0
0
0
-2
0
0
-10
0
0
0
0
0
-39
0
0
0
0
0
0
-40
0
0
0
0
0
-12
-53
0
-25
13
0
0
5
-8
0
0
29
0
0
62
-43
0
0
33
2
0
-6
-11
0
0
-1
0
0
1
0
0
-63
0
0
0
0
-21
0
0
0
0
0
0
26
0
0
0
0
0
0
-30
0
0
0
0
0
0
-73
0
32
-1
4
0
0
-76
0
-1
-3
0
0
-1
-79
0
-3
2
0
0
2
15
0
0
0
0
0
0
-3
0
0
9
0
0
0
31
0
0
0
0
0
0
-20
0
0
0
0
-1
0
-11
0
0
0
0
0
0
26
0
0
0
0
0
0
35
0
45
0
0
0
0
-47
0
0
0
0
0
8
12
0
10
0
0
0
0
4
0
0
2
0
0
0
-20
0
36
0
0
0
0
-39
0
0
0
0
0
0
-11
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
97
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
-12
0
0
0
-31
0
0
43
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-20
0
0
1
0
0
0
0
0
-13
0
0
0
0
0
0
22
0
0
0
0
0
0
20
0
41
-20
0
0
-22
9
0
0
0
0
0
12
-11
0
0
-30
0
0
19
3
0
0
2
0
0
-1
36
0
-53
11
0
0
1
4
0
0
0
0
0
0
16
0
6
0
0
0
0
-31
0
0
0
0
0
-2
-3
0
0
-4
0
0
4
-58
0
0
2
0
0
0
-29
0
0
-9
0
0
-13
-47
0
0
-8
0
0
-7
25
0
0
-9
0
0
-1
3
0
0
0
0
0
0
2
0
0
0
0
-11
0
26
0
0
0
0
0
0
33
0
0
0
0
0
0
39
0
0
0
0
0
0
5
0
0
15
0
0
0
7
0
1
-1
0
0
0
47
0
0
0
0
0
0
-44
0
-3
0
0
0
0
6
0
0
0
0
0
0
11
0
-2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
-5
-51
-20
-3
-22
-2
0
4
-2
4
5
-4
-11
0
0
0
0
0
0
0
0
-23
-23
-10
9
-12
-18
0
-2
-14
26
-2
-16
-5
0
5
37
0
23
-36
12
0
29
19
9
-4
-13
0
0
2
51
-3
12
-2
-11
-1
0
0
-9
0
-1
34
0
7
-17
-30
-33
23
42
0
21
5
-6
-63
15
-4
0
18
17
20
2
-4
-12
0
19
23
2
11
16
-33
0
11
-8
-12
-37
-15
26
0
0
6
-1
-28
15
-12
0
-6
10
0
3
-17
-12
0
14
-27
23
0
-2
-11
15
0
12
-72
-10
-1
4
0
-18
-15
26
15
12
17
0
-3
9
1
5
41
40
0
19
21
1
-6
16
12
0
32
14
11
-57
26
19
0
34
13
31
-25
14
24
0
19
5
2
-56
10
14
0
55
3
-7
91
21
-33
0
32
25
50
4
7
9
0
0
-3
-10
-33
-9
-5
0
-8
2
-30
-27
-27
-20
-1
29
-1
45
16
-20
-1
-4
29
22
0
-52
26
-40
-8
35
3
7
-5
54
12
0
-15
6
7
-22
16
-41
0
80
2
16
22
52
-57
0
42
9
18
59
46
35
0
32
-9
-3
8
46
-8
0
0
10
-23
73
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
0
0
0
0
0
0
-5
0
0
1
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
12
0
0
0
20
0
0
4
0
0
0
-2
0
0
2
0
0
0
-8
0
13
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
8
0
0
0
0
0
-1
-6
0
3
-6
0
0
3
21
0
0
7
0
0
0
32
0
0
-3
0
0
35
-73
0
0
12
0
0
1
-17
0
-3
4
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
9
0
0
0
0
0
0
-19
0
0
2
0
0
1
33
0
8
-1
0
0
4
2
0
0
0
0
0
0
-8
0
0
2
25
0
0
57
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
13
0
0
-1
0
0
0
18
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-42
0
0
0
2
-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
0
0
0
0
0
0
0
0
0
0
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
1
3
-9
18
-5
9
-11
-51
-10
-2
1
5
0
0
0
0
0
0
0
-10
-8
-23
-10
-3
7
4
-2
-14
-19
-11
-17
12
-15
-16
-11
-16
-8
-9
-2
2
-11
-22
-25
-7
-10
-19
-1
9
-14
-62
-72
-2
-3
1
21
-10
45
-71
-80
43
4
51
-2
9
9
10
14
-28
11
-7
-34
-5
3
-10
10
-23
-2
-12
-8
-6
-8
16
-6
-2
-19
5
-1
-32
4
-4
-6
-54
26
-7
-8
-1
1
-5
-50
90
-10
19
-16
6
1
-4
-9
-19
1
-1
-21
-1
-16
-31
-12
14
-8
6
-4
6
-6
17
-23
-6
104
-6
-13
0
0
-19
43
-11
-10
4
10
6
-8
-15
13
-12
0
26
-8
-14
5
-1
-3
10
13
-3
-14
5
-1
-8
-16
-18
-2
5
-3
18
1
1
14
-2
-14
8
3
-7
8
24
-13
-17
-10
-27
-6
-4
15
-19
-3
9
-36
0
-74
-18
-69
8
9
-58
-9
-32
-52
10
21
83
14
-9
-45
-11
-20
24
-18
16
-8
-27
-3
-24
27
-46
-3
-9
-2
12
-2
-13
1
-4
0
-25
7
0
-27
-29
-19
-6
-10
-20
-5
-36
3
-23
-15
-21
-3
5
-11
-15
17
-3
-37
-7
-14
-16
-7
-7
7
-7
6
17
-6
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
19
0
0
0
0
0
0
-35
0
0
0
0
0
0
-1
0
-1
-1
0
0
-1
-11
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
0
0
0
0
0
-22
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
0
0
-1
0
0
-45
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
3
15
0
0
16
-62
0
0
-28
0
0
0
-27
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
6
-6
0
0
0
-1
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
0
0
0
0
0
-37
0
0
2
0
0
0
26
0
-2
-2
0
0
0
37
0
0
3
-4
0
0
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
-20
0
0
0
0
0
0
23
0
0
0
0
0
0
-9
0
0
0
0
0
0
7
0
0
0
0
0
0
15
0
0
0
0
0
0
-9
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
20
0
0
0
0
0
0
0
0
0
23
-4
0
0
15
0
0
23
-5
0
0
0
0
0
0
0
0
0
8
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
19
-6
1
0
0
0
0
14
0
0
0
0
0
0
-25
0
-1
-32
0
0
-9
33
0
0
-5
0
0
7
-5
0
0
-9
0
0
1
-31
0
0
9
0
0
0
0
0
-4
0
0
0
0
-11
0
0
0
0
0
0
18
13
0
0
0
0
0
-14
0
0
0
0
0
0
-22
0
0
0
0
0
9
-33
0
0
1
0
0
7
-38
0
0
4
0
0
-9
-5
0
0
-4
0
0
0
-6
0
0
0
0
0
0
-18
0
0
0
0
0
0
27
0
0
0
0
-3
0
15
0
0
0
0
0
0
16
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
27
0
0
0
0
0
0
16
0
1
0
0
0
0
10
0
0
0
0
0
0
-45
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
-3
0
0
0
0
-10
-1
0
0
-16
15
0
0
0
0
0
0
0
0
-14
0
0
0
-62
-23
0
-25
0
0
0
30
0
0
19
0
0
0
-40
2
0
2
1
0
0
24
0
0
0
-11
0
4
0
0
0
0
0
-1
0
0
0
0
-4
-19
4
18
0
0
0
-9
-44
2
1
9
0
0
-2
5
0
14
1
18
0
4
9
0
0
23
-1
0
-4
42
0
12
-1
9
0
-21
-20
0
0
8
0
0
-15
-15
0
32
12
2
0
0
20
0
0
0
0
0
0
19
-14
4
0
-1
0
0
4
-10
0
0
0
0
14
3
2
0
24
0
0
0
50
0
-1
24
0
0
17
6
0
-4
40
-9
0
0
-20
0
15
3
0
0
0
-8
0
0
7
19
0
1
-4
0
-2
-25
0
0
0
-7
0
3
-24
-18
0
0
44
3
4
0
0
0
0
27
8
-3
0
0
0
-2
27
0
11
0
0
0
0
81
0
0
-10
1
0
5
68
0
-19
-17
-8
0
0
14
0
0
18
0
0
0
-42
-10
48
10
0
0
0
18
0
10
0
3
0
0
18
0
41
8
0
0
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
0
0
0
0
0
0
0
0
0
0
0
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
-7
6
0
0
0
0
0
0
0
0
-27
1
0
9
14
2
-6
-26
-1
0
0
-11
0
0
38
-2
0
0
38
0
10
1
0
0
0
7
0
0
0
-1
0
0
0
0
-36
0
0
-2
0
0
0
4
0
64
15
0
7
0
0
0
-29
0
0
21
0
0
2
0
0
0
-34
0
0
16
-33
9
0
10
0
0
-3
50
0
2
5
9
0
7
88
0
0
45
0
0
0
-33
0
28
-8
4
0
0
12
0
0
0
0
-4
0
-43
4
0
0
0
0
0
-14
0
0
0
0
0
0
-57
0
3
-8
0
0
0
-34
0
0
-13
0
0
-13
32
-6
0
-6
11
0
-6
26
0
0
-9
9
0
0
1
0
0
-4
-3
0
0
-4
0
0
0
0
2
0
-1
0
0
-1
2
1
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
14
0
-9
0
0
0
0
-1
0
0
-6
0
0
1
-32
0
-3
-1
0
0
0
9
0
0
-3
7
0
0
0
0
-42
0
0
0
0
-23
0
0
0
0
0
0
-85
0
-9
0
0
-1
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
34
10
-2
14
-42
2
0
0
0
0
0
0
0
15
-1
3
-26
17
-3
-47
18
-49
-15
-17
37
0
-55
-25
-39
-1
-3
3
-5
-8
-20
13
0
-1
-6
32
-1
-2
-6
0
0
2
-6
10
0
0
32
0
0
0
12
0
0
1
32
0
-4
0
-3
3
13
0
-6
0
8
-21
4
-45
-32
-4
-41
2
-2
24
7
16
48
13
-9
-33
-17
0
-21
16
3
-15
25
-6
0
1
1
11
50
42
-12
0
-6
-10
-17
16
10
-7
0
-1
0
-6
2
0
-14
11
9
-1
-1
-5
-3
0
6
0
3
0
0
-56
-8
-9
-50
-43
20
0
-17
13
17
15
-27
21
8
3
17
17
-68
16
3
31
13
-2
-7
11
17
13
31
55
2
-1
25
3
-13
1
46
1
7
21
-11
3
-37
-34
10
-3
6
1
-8
-11
0
1
21
0
0
0
-26
5
0
-9
0
58
-3
9
-48
11
-3
-26
-37
10
0
38
0
-6
-27
4
-1
0
52
-5
-4
-7
10
16
0
94
-12
-14
-72
8
23
1
43
-4
8
20
5
0
-16
-10
13
28
6
39
2
19
0
-19
0
-21
26
-1
-18
0
-8
63
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
-13
50
-5
41
3
-12
8
0
0
0
0
0
0
0
4
-6
-34
-33
-17
-43
1
-17
57
0
-2
-7
8
-32
-11
41
-2
-2
-33
5
-25
-46
3
0
0
-56
1
-39
-20
-40
0
0
-1
-42
-1
0
8
-13
0
0
5
-37
1
-24
-4
39
31
11
1
12
16
17
-8
14
1
20
-21
-14
6
-5
-6
-6
0
-4
17
25
4
-10
-10
-46
-21
-3
5
3
-6
-30
-52
-72
3
-1
-7
-26
47
24
-68
-9
0
-3
-35
-17
35
-40
-8
0
-6
-3
9
-9
0
-4
-1
1
-2
-11
13
-19
-56
10
-10
6
-3
-15
-22
27
-39
-23
-10
-29
-46
15
31
12
-1
-27
2
-7
7
7
-19
-2
-9
-23
4
-19
18
-11
-14
-17
-57
-34
-64
8
69
-5
-18
-7
-5
-98
17
0
-44
6
37
-16
-28
11
0
4
6
-19
-12
0
-1
25
-2
0
-14
41
0
-12
47
10
11
-10
0
-20
44
12
-19
-5
0
-3
-11
-9
0
-5
5
36
0
-18
-4
9
17
6
-4
-1
4
-10
4
48
8
22
-7
-3
-3
49
-48
29
12
25
-22
0
0
-23
-33
-29
6
-1
13
1
-8
-4
-7
22
0
-8
-13
-1
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
0
0
0
0
-7
1
0
0
6
-3
0
-21
0
0
0
-1
0
-1
-16
0
0
0
55
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
42
6
0
0
0
0
16
-39
0
0
0
0
0
-25
-69
0
18
3
-1
0
-30
-5
0
0
-87
0
7
44
-2
0
0
-23
-2
0
-6
-9
0
0
-3
0
0
-1
-18
0
-16
0
6
0
0
-51
0
0
0
0
-2
0
9
0
1
0
-3
0
0
-67
0
0
0
0
0
0
16
0
0
0
0
0
0
16
0
0
2
0
0
-3
14
0
3
19
-1
0
-1
-2
0
0
23
0
0
-1
-46
3
0
-6
0
0
4
-14
0
0
3
0
-9
0
-34
0
0
0
0
-1
0
-20
0
0
0
0
0
0
29
0
0
0
0
0
6
13
0
0
0
0
0
0
-22
0
0
0
0
0
7
17
0
0
0
0
0
0
-9
0
0
0
0
0
0
-19
0
-1
52
0
0
0
3
0
0
-2
-1
0
0
15
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
1
30
0
0
88
10
0
0
0
0
0
0
0
0
6
17
11
-9
-18
35
-1
-59
-2
0
0
0
0
9
-13
0
0
0
-33
2
-4
5
0
0
0
0
0
17
0
0
0
0
0
0
-7
0
0
-1
0
0
0
-1
0
11
13
8
0
0
0
0
-48
0
0
-1
0
0
32
1
0
-48
48
0
0
39
10
0
0
-17
0
0
-5
-12
0
0
-18
-1
0
-17
40
0
0
-19
0
0
4
20
0
12
-1
6
0
0
-13
0
0
2
0
1
0
-18
-17
0
0
-2
0
0
39
7
0
0
0
0
3
-35
0
0
1
-1
0
-12
-21
0
0
6
0
4
-36
-8
0
9
-48
-19
0
-27
-32
0
0
-24
0
0
-1
3
0
0
-1
-4
0
0
-41
0
0
11
0
20
0
-9
0
0
0
2
-17
0
-19
0
0
0
0
0
0
-3
0
0
0
0
0
0
36
0
-23
-1
0
0
-1
-11
0
0
9
1
-3
3
10
0
1
-2
-7
0
0
-55
0
7
-1
-2
0
0
-9
0
-21
-2
0
0
0
-8
0
0
0
0
0
0
-14
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
1
0
0
0
0
0
0
0
0
-47
29
0
0
26
0
0
16
0
0
0
3
0
1
-4
10
0
0
-27
0
1
-9
-1
0
0
0
0
0
0
0
0
0
-1
0
32
0
0
0
0
0
0
0
0
32
0
0
0
-3
0
-6
-72
0
0
0
0
0
-7
-47
0
-24
-9
0
0
-15
6
0
-2
-27
0
0
-13
-66
0
0
-6
0
0
-2
-40
0
0
-32
0
0
-2
4
0
47
38
0
0
0
32
0
0
0
0
1
0
21
0
0
0
0
0
0
-58
0
0
0
0
0
-9
-39
0
0
-3
10
0
6
-37
0
0
-1
0
0
-1
-61
0
0
-26
0
0
0
-5
0
-9
-44
0
0
5
14
0
0
-8
0
0
0
0
0
0
-1
0
0
0
32
0
0
-1
0
-6
0
-12
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
4
0
0
0
0
-90
0
0
-1
0
0
0
-32
0
13
0
0
0
0
79
0
0
-8
0
0
0
-33
0
-13
0
0
0
0
-12
0
0
-2
0
0
0
4
0
-32
0
0
-13
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
32
-4
0
0
0
0
0
0
0
0
-1
13
0
0
-4
0
0
19
2
0
0
-1
0
0
-7
2
0
0
11
-2
0
38
6
0
0
0
0
0
0
0
0
0
0
-11
-2
0
0
1
0
0
0
0
0
2
21
0
0
0
0
0
-56
0
-1
0
0
0
-2
-24
0
-30
14
0
0
-67
11
0
0
19
-2
0
1
-18
0
0
1
3
0
2
-13
0
0
-5
0
0
0
9
0
13
-2
-1
0
0
5
0
0
0
0
0
0
-47
-3
2
0
0
0
0
-43
19
0
0
0
0
0
26
2
-2
-20
-3
0
16
13
0
0
1
0
0
-3
-59
0
0
-8
0
0
4
-25
0
0
-8
3
0
0
-41
0
0
0
0
0
0
3
0
0
0
0
3
-1
28
0
0
0
0
0
0
21
0
0
0
0
0
0
-41
1
-2
0
0
0
0
6
0
0
1
0
0
0
12
0
0
0
0
0
0
-20
0
-2
-1
0
0
0
51
0
0
0
-7
0
0
21
0
0
-6
0
0
0
-39
0
0
-3
3
0
0
23
0
2
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-51
21
5
-12
4
-12
5
14
0
7
37
-12
14
-24
15
0
0
-12
58
-11
-53
-5
0
-4
-4
-6
-26
0
0
0
0
-3
-12
7
0
0
-12
0
0
-2
-30
4
1
11
28
-16
3
0
-6
-34
3
-13
-28
0
0
-8
-5
1
14
-25
16
0
-7
6
1
3
27
-4
9
-17
-4
0
-19
2
-13
-17
-23
-8
3
-1
-11
-17
-28
-31
-31
0
-14
-25
-12
-4
0
-4
8
-1
9
0
-10
0
16
12
3
0
22
-7
0
-15
91
-2
-1
4
0
4
4
37
61
-26
-2
-10
-58
-20
0
0
-63
4
38
-21
-21
-23
25
3
28
-32
17
18
5
22
22
61
49
-27
-25
-6
-7
34
7
40
27
11
0
14
19
-4
-20
4
-1
0
7
2
14
14
0
16
-1
4
0
-22
-6
0
-9
-22
0
10
2
0
-1
-2
2
37
21
0
0
12
23
0
-23
26
-33
1
4
-25
0
-15
7
-4
9
-18
-14
-3
24
8
-15
6
13
-21
-7
-35
16
-9
1
-12
-18
0
30
11
22
-6
6
1
0
-29
0
12
-9
22
-9
-23
12
-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
-40
39
-4
4
11
-14
7
14
45
2
-7
-33
-6
-4
7
27
2
1
-15
62
-13
-32
-1
0
0
-46
-2
-13
10
-46
0
0
10
-2
4
0
-7
-4
0
0
-1
12
13
0
-37
28
0
-13
0
-21
0
-9
22
-32
3
1
26
-32
0
-46
-8
-47
-2
13
5
0
14
1
-3
2
40
18
0
0
4
-21
0
-11
-18
0
3
3
-26
16
-30
-12
0
-13
7
-28
17
-8
14
0
-4
-2
-2
4
0
-1
-84
30
0
-2
1
0
-29
-12
8
0
-1
0
10
0
0
-2
25
-37
-34
-28
-26
0
-24
24
14
-1
-8
11
-1
24
4
9
-7
-27
-2
-3
27
-16
3
-6
-31
-21
1
54
17
3
-8
-23
22
2
-10
-2
1
0
0
-26
12
15
22
-14
3
0
1
-26
0
-6
0
-59
0
-17
17
0
-19
-11
-2
-3
0
0
5
44
-1
0
48
-11
0
15
-57
43
6
25
23
0
-7
24
-10
2
-24
-7
0
27
39
-22
12
-100
-23
0
-29
26
3
6
-6
-5
0
39
-17
6
1
0
-10
0
42
3
0
-20
0
-9
7
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
-1
-8
9
8
23
0
0
28
0
15
16
-88
0
-8
1
0
-6
-84
13
0
0
0
0
-2
0
7
0
0
0
7
-32
0
0
-9
0
11
0
-10
0
-12
34
24
-12
4
0
0
7
-2
2
0
0
0
12
-22
4
-6
20
9
2
-38
-10
-1
-4
39
0
0
56
20
0
0
45
7
0
-10
-4
0
2
14
0
0
-1
0
0
12
24
-7
0
0
-7
0
0
0
0
13
0
-12
3
-1
0
0
0
0
-18
33
16
1
0
0
4
62
0
-1
11
0
0
2
-19
0
-1
-1
0
0
47
-66
11
53
32
20
0
40
33
0
28
1
2
0
20
-17
0
0
24
-14
0
-3
5
0
0
-15
10
9
0
-13
0
0
9
-19
-3
0
-4
1
0
0
-2
0
0
8
19
0
0
10
0
0
-12
0
50
1
0
0
0
-4
0
33
-4
6
0
-1
-49
0
-47
52
-1
0
-3
55
0
-4
-1
3
0
0
-60
0
-26
22
0
0
0
8
0
0
-11
0
0
0
-13
0
-9
0
1
0
0
-71
-1
-7
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
27
0
0
-34
0
0
-14
-3
0
0
11
0
-1
6
-12
0
0
51
-1
36
8
0
0
0
0
0
-1
0
-1
0
0
0
0
19
0
0
-2
0
0
0
0
0
-9
1
-11
0
-1
0
0
-37
0
0
-1
0
0
16
47
11
30
-46
16
0
-82
45
9
0
20
0
0
-6
32
0
0
-10
-1
0
4
-8
0
0
13
0
0
-4
14
2
-31
3
45
0
0
-17
0
0
0
0
0
0
-53
3
0
0
0
0
0
18
-21
0
0
0
0
0
11
0
0
-9
-18
0
-4
17
0
-1
10
0
0
26
-58
0
0
53
-6
0
11
-6
0
0
-8
0
0
-10
-21
0
0
1
0
0
0
42
0
0
-3
0
0
0
5
0
0
-2
0
-3
0
-8
0
0
0
0
0
0
9
3
0
0
0
0
0
-47
-2
-21
0
0
6
0
-1
2
0
14
-1
0
0
-47
0
4
-8
0
0
0
0
0
-8
-6
9
0
0
-3
0
-54
3
0
2
0
-58
0
0
2
0
-3
0
16
0
-42
-4
-3
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
21
1
-19
22
9
-35
21
51
8
-28
5
16
-23
5
12
28
-10
-16
-8
15
-4
-6
-32
-4
-75
24
0
-2
23
5
-14
-2
-25
-26
0
1
-36
-13
27
9
-5
-7
47
-16
3
-9
-18
31
12
-36
2
10
-14
-12
-108
14
40
7
65
28
37
6
38
48
5
23
22
31
20
32
27
23
6
5
6
30
68
23
-37
24
5
-9
19
11
7
7
20
-21
-18
-28
5
14
-5
-36
3
-12
-12
-23
19
7
-28
13
-8
-12
58
28
-70
-50
4
33
-21
-6
-31
-10
37
-20
-34
21
-55
-30
-6
-40
8
16
30
9
20
26
-14
26
5
10
22
27
6
17
39
4
-3
20
18
-6
-34
2
-3
62
-43
-2
-74
9
27
-11
1
27
-1
11
0
7
-16
-13
70
2
-9
-18
14
-14
-47
-19
2
-8
56
11
-14
-13
-40
-9
-94
62
19
-24
-30
5
-11
3
-13
6
-9
-10
8
-22
-1
17
-44
4
5
-29
24
-14
-24
20
0
-30
-9
12
-14
-15
-3
-10
-14
-2
30
-5
-8
6
-6
13
-3
-20
-20
-13
-1
-7
22
25
5
-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
-6
9
12
-44
-6
-2
-38
7
1
18
-17
-4
16
11
-27
-30
-11
3
-10
-2
-26
-29
-29
-12
-15
-47
18
9
-58
-23
3
4
-13
-4
6
-1
14
3
27
2
-1
-15
25
24
-9
20
-21
-7
2
55
5
0
12
-17
0
1
6
-29
18
-19
-11
9
-4
16
-3
-7
-42
-7
27
37
-12
-9
-63
8
-15
-2
-66
-10
-23
12
-6
-2
23
16
8
-2
-7
-1
15
-32
-42
56
-10
-47
21
-1
0
-19
0
2
-6
-3
13
59
25
17
-2
-7
-4
-44
0
-6
9
-10
21
-42
-39
-3
46
7
-16
12
-19
-12
-34
17
25
-46
-44
-27
-30
2
22
0
-19
-4
-25
5
51
21
30
-21
6
17
0
-36
-34
-1
-10
40
-23
19
5
2
38
7
14
28
36
8
-12
18
6
18
-15
23
-24
18
-3
19
15
-3
20
-3
-44
50
-17
-49
10
47
-4
-15
-7
-1
-32
-31
13
10
20
-5
-14
-12
-29
-1
4
-7
-5
-18
-11
45
-16
21
37
26
-1
9
-6
15
9
31
26
12
-6
7
16
-24
19
27
-8
-4
-7
33
-1
-6
-27
7
21
105
8
2
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
-4
-1
4
-22
0
-14
-31
-4
0
-62
0
0
-20
-45
0
0
-27
21
0
-24
42
0
0
-3
0
0
-20
0
0
-7
24
39
-1
0
8
-32
0
-1
0
0
0
41
48
0
0
0
0
-11
-7
0
0
-2
0
0
6
-20
-1
29
35
15
0
4
-2
0
-7
18
6
0
12
-23
0
-3
-34
-77
0
-2
3
0
0
-48
0
0
9
-6
0
-30
11
34
0
-29
-1
0
0
0
0
0
0
-3
1
-3
0
13
0
-1
15
16
0
0
-9
0
35
-4
-6
-12
-41
15
0
-19
-3
0
7
6
0
0
-48
-6
0
18
-11
-13
0
-3
-8
4
-10
-46
6
0
-13
-8
7
1
-6
-27
0
13
-13
0
1
18
2
0
4
-15
0
1
-11
0
0
0
-5
0
0
0
0
0
0
20
-21
4
0
6
0
-4
-15
0
-5
75
0
0
-1
-4
0
2
41
8
0
22
17
0
3
-34
1
0
0
20
0
-22
-6
-1
0
-9
3
-7
-43
16
-2
0
-2
-50
0
0
-49
28
0
0
12
0
2
-4
-1
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
15
-28
52
18
6
25
-19
-18
13
-42
-24
-11
-15
-27
-27
-59
52
-50
-43
0
-14
-29
-51
-63
-22
0
-16
2
23
-17
26
-1
6
-9
-31
16
-10
-24
23
-14
-19
-32
15
42
-2
-6
-14
-26
-15
-14
-15
-5
-11
-14
-21
13
10
9
5
1
23
27
24
1
-50
-11
-1
-2
29
-7
-9
17
4
-20
6
5
10
-12
-62
-6
-34
-10
-21
29
-24
-45
-96
-26
11
-22
-3
7
-1
5
-43
-19
-50
-32
18
18
-2
7
-13
-38
8
-7
15
17
1
3
16
-3
-2
21
20
12
-7
23
0
-10
-2
19
3
-8
0
23
1
-11
-30
-3
42
-9
11
-14
-56
-27
-11
3
2
10
-10
-38
-11
-11
-5
0
-15
-25
-7
-60
-26
-18
-3
-72
5
-1
14
-34
-11
1
24
12
27
-55
5
13
40
16
-11
-10
-12
7
-70
19
-15
-10
-1
-11
-2
-1
-46
5
0
29
-14
-2
-9
30
3
-6
8
-21
-4
14
6
-15
-5
-40
-6
2
25
-12
-65
-7
-42
7
-10
-3
-11
8
-6
-30
-15
-35
-33
1
-92
-7
-8
7
-12
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
20
-2
49
-2
25
-4
-33
-2
16
-1
14
38
-18
10
-17
-9
0
0
-2
3
-55
8
43
-13
12
-6
-2
16
0
0
-12
0
4
5
23
3
-17
-27
29
-35
-12
0
55
9
-2
0
-21
3
-2
-3
12
-3
-43
15
9
5
-50
0
-46
27
-30
16
7
26
-16
-6
-13
-9
-22
4
-5
-21
0
-12
-24
7
-16
-35
-18
2
-6
-38
-42
3
-10
12
0
-2
-6
20
-10
0
-20
34
39
0
-49
2
-1
4
4
-6
38
2
0
55
8
36
12
-10
1
-5
-12
8
-3
18
16
5
23
-3
0
-29
-9
-36
-51
4
5
-4
-39
55
-11
-16
20
-44
-6
-4
50
-10
-38
-5
-4
1
0
42
32
16
-14
-4
7
-2
8
19
30
35
3
-27
10
25
1
-1
-19
8
16
8
-49
-1
-1
-16
2
-24
4
-13
43
7
17
-9
-16
9
-52
-35
-44
-11
-12
0
-26
-2
2
-15
10
-10
-13
14
17
-16
-36
7
-7
-16
-1
16
-40
16
6
7
-1
0
-15
-18
26
-16
-10
-19
0
17
42
3
7
0
-10
-32
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
28
0
0
35
7
-1
5
-2
0
6
-15
-3
1
-65
-21
0
0
15
0
0
0
1
0
0
0
-1
30
0
0
5
0
0
0
-12
-4
-10
-2
0
-4
0
0
26
-38
0
4
-10
0
0
-15
-12
7
-5
-18
5
1
28
-11
0
0
-69
-2
0
16
61
0
0
-49
3
0
59
-20
0
0
-9
0
0
3
-36
0
5
0
7
0
0
-47
0
0
-1
0
0
0
6
0
0
0
0
0
-8
33
1
1
10
0
0
13
6
0
-19
38
-12
0
-50
3
0
13
-7
-1
0
9
8
2
-8
-20
6
0
-7
-18
0
15
-16
0
0
-25
-55
0
0
-12
-28
0
-7
19
0
-4
0
0
0
0
-46
0
0
-3
-7
-3
0
20
0
8
-3
3
0
0
79
0
1
0
0
0
11
1
0
2
0
0
0
17
5
0
1
-16
3
0
-11
-2
4
6
25
0
0
8
44
0
6
5
-26
0
0
-36
0
73
6
0
0
0
-1
0
0
14
-2
0
0
5
0
-7
0
3
0
0
19
-2
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
-23
-5
0
0
-46
1
0
-40
12
0
0
-22
36
4
17
-30
0
0
-1
0
6
0
8
0
0
0
0
-53
0
0
43
0
0
0
1
4
-12
-5
5
1
1
0
55
51
0
11
-3
0
0
-2
-6
25
-33
1
-31
2
-32
-21
0
12
5
0
0
26
3
-10
11
-26
-3
4
20
-6
0
0
-27
3
0
-4
-84
0
2
-7
-7
0
0
20
0
0
0
0
-6
0
4
31
0
0
0
0
0
8
-20
0
0
0
0
0
66
7
4
15
11
-8
-19
-18
0
6
17
0
0
-17
-26
0
0
31
36
0
-10
11
-9
-8
7
7
9
25
10
0
0
-6
-11
0
-6
-42
2
0
18
0
0
-4
-3
0
0
3
0
10
0
1
0
0
0
6
-1
0
-25
2
7
0
0
0
-2
2
0
30
-28
0
0
0
20
-4
0
-48
-9
0
7
4
0
-23
24
0
0
-8
2
0
-8
-18
15
2
3
-50
0
-12
-62
0
0
0
-27
0
0
7
8
0
2
-12
0
45
3
0
1
0
-26
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-35
-3
-39
23
-14
-17
2
-2
-12
-13
-14
-30
-28
-20
-44
-31
8
-6
-25
-4
-31
-8
10
-22
-17
32
8
-10
8
-7
-61
-40
58
17
-24
6
29
-13
30
5
20
43
-64
29
1
-3
-6
2
-63
-11
-6
-8
-47
-12
-14
24
-5
17
39
51
8
-1
-59
-2
9
8
1
-2
-28
8
-17
0
-7
12
2
-16
-26
-6
-15
-12
-3
9
-17
-18
-76
27
12
-33
-1
-6
-2
-6
18
-35
25
-44
23
25
-12
29
-7
-62
5
2
3
-2
41
-12
43
4
-4
43
-19
1
11
24
2
-20
14
-7
-4
-25
-26
34
-23
6
54
6
-19
0
22
-15
21
22
12
-7
-6
0
-4
-14
13
11
-12
21
-3
-8
-53
-49
13
2
-6
-13
-1
5
36
0
-20
-3
-66
15
17
5
72
-6
-17
-16
-1
-19
-8
30
-49
10
-30
-2
-2
12
24
-34
-89
8
-10
-49
-21
-7
2
-13
-18
-22
31
-24
-12
-7
-3
-30
-15
-27
-5
18
-7
-17
21
-3
-11
2
10
3
14
-53
-7
-30
-25
-23
9
-16
31
9
9
-60
26
-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
-13
-6
-2
-18
-30
15
23
-54
41
-7
-2
-3
1
0
-41
-60
12
-1
14
0
35
59
-42
0
0
32
0
5
0
1
22
0
0
0
52
29
4
0
15
-43
15
0
13
1
-3
-18
-5
-3
-2
-21
24
0
16
5
0
4
2
1
0
57
-14
15
1
23
-32
0
-3
-12
2
1
0
-2
0
-34
12
-4
14
-28
-1
2
4
9
-4
12
14
-10
6
11
-7
0
-20
0
-22
-8
39
-3
3
-31
-4
-8
-21
-4
54
0
0
-8
6
-17
-8
-14
-17
-12
5
6
3
2
10
14
5
6
0
-39
4
7
-3
-14
-1
-14
5
-13
-8
11
49
11
-1
19
0
1
-13
-4
-18
-9
-2
-5
24
0
24
0
-15
1
37
3
-27
5
0
-19
46
1
-3
-1
-57
0
-18
-71
-5
-33
0
0
60
-2
-1
-15
19
0
7
-3
8
0
-6
18
3
-14
-37
5
30
-26
28
0
-20
-31
-16
-3
-6
-10
32
30
-17
7
2
-21
19
0
56
12
-2
8
62
-8
2
46
72
-20
-11
5
21
-7
-15
0
-21
-4
9
-33
-2
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-10
0
0
44
16
0
-56
-15
0
0
-9
-7
0
-53
-64
2
1
-27
-2
0
-7
-2
0
0
9
9
-1
0
0
28
0
0
20
0
3
11
13
-34
-1
24
0
-10
-14
0
30
-14
0
0
28
-5
0
-2
2
-13
0
4
-26
-4
-2
-29
1
0
7
-19
1
1
18
25
0
-24
-1
-2
0
-23
27
0
1
-23
-2
-11
-2
-35
0
-4
-47
0
0
22
16
0
0
-3
-17
17
0
0
0
0
-6
16
0
4
0
0
0
7
19
4
23
29
-1
22
22
0
-1
21
0
9
28
9
0
66
5
-42
0
26
-23
2
3
-13
-6
0
1
22
0
4
4
49
0
36
-12
0
-2
-20
-6
0
6
-35
-2
63
-27
9
1
0
-13
2
0
0
-1
2
9
3
0
1
3
15
0
12
-28
16
-9
3
1
0
-6
8
0
-36
-19
2
0
24
15
0
35
44
-3
0
-17
19
7
-9
52
75
0
-3
6
-3
-5
29
0
0
-7
-5
8
-1
-62
-20
0
-28
-23
0
-12
41
0
0
1
7
4
3
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
7
10
7
19
0
-11
-42
-12
-27
-80
-20
-23
-23
9
-25
25
-47
-21
2
-11
-64
20
-10
-32
-16
-16
-26
4
0
-28
-26
18
-7
-16
22
10
-24
42
-4
33
-49
-23
2
-17
-1
-9
-5
36
-34
-6
10
2
-10
81
-23
-18
4
-17
-16
10
11
-1
-19
-5
-22
-34
-8
1
-2
-12
-6
-15
5
-4
-9
-10
12
-15
33
-9
6
-22
-34
-32
6
12
-19
-6
-4
-30
-40
5
9
9
39
-12
-20
-3
-5
-13
-1
-4
-7
17
0
2
44
7
-9
-9
-3
5
8
37
-14
-2
3
18
-2
1
50
23
-5
-4
-36
-22
-6
25
-16
1
-6
-8
-6
-8
11
23
-12
-6
-6
-6
-13
41
27
-6
-26
-1
-29
-3
-7
23
-24
-25
2
-115
-8
15
-60
-9
-22
26
29
7
50
0
13
11
11
-29
-2
0
-17
-10
-5
-12
10
7
-3
0
-11
-9
-33
0
-5
34
4
-11
-28
-8
9
-8
2
3
-15
27
-11
-47
-10
-37
-32
3
-21
-3
-56
-3
-1
-3
13
-55
7
-53
2
15
-6
2
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
-11
15
2
-3
-33
-34
-21
-37
-18
0
-1
13
35
10
-12
16
0
0
0
-4
-30
0
0
2
0
3
6
2
16
9
-22
-18
14
-44
2
10
5
3
0
22
0
-6
1
1
22
-14
-21
-31
1
-15
10
9
5
-5
-7
-35
-36
0
45
-11
-22
8
4
4
-11
7
25
-17
14
-54
-17
-13
0
11
4
-12
27
-50
-11
21
-1
-7
7
2
0
-7
9
-11
-3
-9
-28
-17
5
-32
38
8
-4
0
37
12
-57
-52
-19
37
-13
49
14
6
-14
-10
20
-1
-3
25
30
-10
-1
20
40
11
0
-18
-20
-50
10
81
-44
-1
8
10
-22
27
-9
46
2
0
-8
-22
-17
-60
7
-14
0
-33
40
-56
-15
0
-3
-1
-1
-3
-12
-4
0
-9
7
48
-1
-33
0
-21
10
64
21
27
2
-3
-66
-13
-8
-7
-27
-36
0
-3
21
-7
-19
-14
11
11
-36
0
-6
-8
-1
-12
10
-8
-12
-8
-6
-28
42
36
12
-35
0
-32
-55
17
19
0
12
0
-15
-35
-9
8
-1
-2
-3
-9
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-10
0
0
27
0
0
57
3
0
0
-5
0
9
-1
0
0
0
0
0
-12
0
0
0
0
0
8
0
7
-23
-10
42
0
0
0
0
38
0
0
-2
0
-1
-12
30
0
9
-2
38
0
-15
25
0
0
29
0
0
15
24
0
0
7
-28
0
46
21
-1
0
-2
20
0
-3
22
0
-23
-1
0
0
0
51
0
0
-1
21
0
0
16
0
-15
10
0
0
0
-19
1
0
0
0
0
0
-2
0
-1
2
0
0
-2
23
0
0
-68
0
0
-8
12
0
38
-44
-1
0
71
-59
0
-1
-17
0
0
-9
-5
0
0
-11
89
0
7
15
0
0
0
0
0
0
-28
0
0
-18
0
11
0
-23
0
0
0
-10
0
0
4
-1
-4
0
0
0
6
29
0
4
0
2
0
-12
-44
0
-4
2
0
2
7
-9
-2
0
-2
0
0
0
-40
0
0
45
-10
0
0
-29
0
-60
19
-9
0
0
-34
0
20
7
0
0
0
-36
0
-18
0
-1
0
0
41
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
53
0
3
-19
19
0
0
40
0
11
-1
2
0
0
1
-1
-15
0
0
-7
0
0
1
18
-2
5
1
14
-10
0
0
-10
-60
13
0
50
0
0
15
3
0
-13
-40
-3
0
-63
-1
-1
0
24
0
0
49
-50
0
0
70
1
0
7
12
0
0
-26
-1
0
0
34
0
-50
7
-7
-13
0
-44
11
0
10
0
2
0
-32
54
0
0
0
1
0
27
7
0
1
0
0
0
-9
0
-2
-5
-2
0
1
35
1
0
-82
0
0
12
-26
0
6
-30
-6
0
-9
-23
0
0
-2
-1
0
-8
-14
0
0
72
23
0
-2
-16
0
-3
-10
0
9
0
-17
1
0
-3
-2
-10
0
-11
0
0
0
0
0
0
-26
0
7
1
0
0
0
-46
0
-30
1
0
0
0
30
0
0
-3
103
0
-1
-17
0
3
-3
4
0
1
-43
0
0
1
8
0
0
-24
0
-37
-6
0
0
0
-51
0
-1
1
0
0
0
-18
0
46
0
-1
0
0
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-15
5
-9
-38
-11
18
4
-8
14
5
-51
46
38
-4
-1
21
10
-47
0
22
-10
0
-2
11
-29
-10
4
-27
28
10
10
0
1
8
-25
-4
23
-3
-7
-20
-3
50
-25
9
-23
-3
0
-15
83
64
-9
23
-8
-4
19
-18
29
7
-8
10
52
23
0
35
-26
-17
-4
10
-22
0
-8
-9
-41
1
11
-3
4
-1
5
-18
-24
0
2
-15
-19
0
3
9
-1
6
-21
-4
3
-1
-11
24
20
-10
16
-8
31
-16
11
-1
-6
25
19
-22
-9
13
-10
37
16
5
-30
-25
12
-9
10
62
-8
63
-28
-8
-8
35
21
22
-4
-22
-18
-2
-10
0
-47
-40
-4
-50
-12
2
-7
-26
-4
-28
8
14
-24
-1
-1
-2
-8
8
-7
3
-75
-7
-15
0
27
-8
2
1
4
0
-6
-36
1
4
-33
-7
-36
-6
-28
6
-8
-46
-17
47
8
-8
-3
-34
-53
2
-62
-13
39
2
7
-28
65
-27
-19
-1
-6
18
-19
59
-32
8
-3
2
2
-16
-1
-6
37
0
1
42
-2
0
5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
-43
0
46
-76
-9
0
0
-6
0
19
1
-3
0
0
-6
0
-33
0
0
13
0
0
0
-1
0
18
-8
0
10
24
0
16
26
0
0
3
0
0
-21
-77
0
7
1
-7
0
-21
14
0
-4
-18
0
0
-4
13
0
0
1
0
0
50
-17
0
0
3
0
0
13
-27
0
39
-13
3
0
-10
-10
0
0
0
0
0
0
18
-6
-5
0
1
0
0
3
0
0
0
0
0
0
-8
-1
8
-29
0
0
37
-20
0
0
-34
0
0
-15
-24
0
0
-73
0
0
-25
-45
0
1
14
0
0
68
-19
0
0
-10
0
5
-3
-34
0
3
17
0
-1
-2
10
0
0
-12
0
-21
0
-9
0
0
0
0
0
0
-33
-4
0
0
0
0
0
-29
0
1
1
0
0
0
-24
0
0
4
1
0
-1
-9
0
-22
0
3
0
0
-13
0
-12
4
12
0
0
-30
0
20
-44
0
0
0
21
0
0
-4
-2
0
0
-36
0
6
-2
0
-8
0
-81
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-39
0
-62
9
0
-1
-63
-36
0
45
15
0
0
-20
20
-2
0
11
-24
0
0
3
0
-4
7
-19
-78
14
25
0
-2
-8
0
-13
-24
32
0
30
1
8
2
1
-41
0
-13
4
2
-17
11
-8
0
-14
30
-2
1
-8
-42
0
11
-11
-3
0
-2
-30
0
24
23
0
-22
6
11
-2
26
-13
-3
0
14
25
0
0
12
-11
-55
0
49
0
4
-1
-26
9
19
-3
0
25
-5
19
33
21
23
0
-18
5
0
4
-2
-5
0
-1
-7
41
28
-1
-18
0
16
10
-11
26
-12
63
-6
12
11
-11
-6
10
33
0
37
27
28
-8
38
73
0
-4
-1
0
-4
3
-36
0
0
-11
5
9
0
36
0
0
-5
-2
0
11
-9
0
-8
-16
0
-30
-32
22
0
-31
6
0
10
18
36
0
44
17
37
40
-6
0
0
-1
0
-3
41
-16
36
0
40
26
0
-2
-3
3
0
27
13
19
-42
8
-46
0
0
2
0
-9
-3
-15
0
0
-11
-32
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
-64
4
42
-4
13
-23
-49
16
1
-2
-1
20
-51
-41
0
3
-16
0
-1
-56
-27
1
2
-27
-75
-77
-16
0
12
-3
-17
19
-7
35
40
9
2
62
10
-13
8
-3
-13
1
-14
-11
-10
-34
7
-27
11
3
9
5
-33
-25
-10
4
20
53
-30
4
-24
-51
-6
98
18
-9
-14
7
-10
-4
13
-2
9
10
8
0
15
-13
11
-7
-24
-15
-3
-1
-21
41
-12
55
12
5
-11
27
-2
-5
-34
20
21
0
-4
10
-1
-22
-1
52
10
47
-4
-9
-17
-20
27
5
32
13
-22
-24
-65
-45
-11
-12
16
-47
-36
-4
37
-11
0
-50
-22
-9
-27
-10
1
0
15
-37
5
2
0
14
9
-2
10
-10
15
-4
-6
19
5
37
51
-6
15
6
3
8
54
-1
-43
-2
0
-19
-19
-23
11
21
0
-1
37
-4
-2
-21
-6
60
15
42
-9
-10
-53
8
-12
6
-1
6
-27
-44
-35
-1
7
0
1
11
-1
21
4
-3
-6
-2
21
37
20
-2
6
-11
-14
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-66
-3
-1
8
1
-24
18
28
0
1
1
-38
-32
0
1
-6
0
0
13
1
-1
-8
-26
29
-5
30
-4
-7
5
-20
12
-19
0
0
-9
-8
0
13
-10
-9
2
-32
1
-21
-22
-11
-28
26
9
-13
-9
-7
-15
-74
-19
28
0
-7
-9
-31
21
20
9
-30
0
-4
-32
-2
-36
36
-23
0
1
8
16
-8
4
-1
-4
49
0
-58
19
1
7
-9
-8
33
-1
0
20
-11
-15
-7
-20
35
-7
-47
-12
-6
27
30
6
5
-18
16
-17
-46
-6
-17
50
-16
15
14
-45
5
-7
-20
20
0
7
22
-4
-34
47
11
-16
0
-7
-14
8
-52
47
2
3
-21
38
8
-32
0
-2
-3
-1
0
-27
19
-2
-12
16
-10
-7
3
2
1
-14
-9
-2
-41
0
-3
-12
-14
-12
-17
-11
-5
0
-11
32
42
-19
-6
-58
3
23
2
21
-4
-31
-15
-7
67
0
5
14
4
1
3
-60
11
7
-2
-68
-28
-7
9
7
0
34
15
-10
-5
24
5
20
39
-13
-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
13
-4
0
0
3
0
0
0
-2
0
0
0
-1
5
0
0
7
0
0
0
0
0
-28
25
2
0
0
0
0
42
0
-1
1
0
0
8
-10
0
-64
-49
-8
0
-56
-8
0
0
15
0
0
-106
3
0
0
32
-11
0
26
-95
0
0
-9
-3
0
0
-9
0
-32
0
-2
0
0
9
0
0
0
0
0
0
-23
8
0
0
0
0
0
-4
-1
0
0
0
0
0
-19
0
-4
-2
-1
0
-4
11
0
0
-12
0
0
-11
-28
0
0
40
-4
0
14
-7
0
0
-7
0
0
3
-29
0
0
-6
0
0
-10
42
0
0
6
0
0
0
-44
0
0
0
-2
2
0
-1
0
0
0
0
0
0
9
3
2
0
0
0
0
-16
0
0
0
0
0
0
-25
0
0
19
0
0
0
-28
0
0
-4
0
0
0
-48
0
-7
0
20
0
0
-15
0
26
1
0
0
0
23
0
0
-7
0
0
0
-38
0
-14
-29
4
0
0
3
-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
6
2
-1
0
0
0
-1
0
-1
0
0
0
0
36
0
0
-3
0
0
0
-1
0
-30
-4
0
0
0
0
-2
-41
0
0
25
0
0
-25
4
-19
-55
16
19
0
-6
23
0
0
-29
0
11
-40
32
0
0
44
-2
0
-30
1
-7
0
-15
0
0
-2
5
0
-71
-2
-3
0
0
31
0
0
4
0
0
0
-40
-2
0
0
1
0
0
-25
0
0
6
0
0
3
-39
0
0
-14
0
0
-23
12
0
0
2
0
0
-2
-25
-2
0
88
1
0
-4
-26
0
0
-61
0
-1
0
-24
33
6
-6
-2
0
13
-57
0
0
6
0
-2
0
33
0
0
-18
0
0
0
-36
0
0
0
0
0
0
-2
-8
0
0
0
0
0
4
0
-1
-8
0
1
0
-7
0
0
-3
8
0
0
-66
0
7
10
0
0
0
-48
0
0
-3
0
0
0
-93
0
-1
0
-21
0
0
45
0
0
0
0
0
0
25
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
-4
-19
10
-6
54
17
-3
14
9
36
3
-13
6
-5
-1
-14
-34
30
21
-9
-33
30
1
-23
-79
25
-13
3
-20
-7
23
-34
17
24
-17
0
28
-1
-9
-3
-30
-4
2
6
25
-30
6
12
-6
2
-1
-64
-26
12
2
-27
-13
-4
24
-60
-10
19
6
24
4
19
12
55
10
-9
62
-4
1
-50
57
-57
-27
0
-3
-18
-7
-6
-17
26
18
8
-39
18
53
-24
17
-29
-26
-26
5
3
-39
40
20
10
-22
-83
28
51
-3
-24
11
-6
-3
-2
-14
-12
-5
-8
38
7
7
10
-8
-1
-9
-23
51
-20
-12
-20
31
2
24
13
35
-46
3
15
-3
-41
-40
-30
-6
-6
10
-11
13
52
1
-26
3
-5
0
-15
-60
35
-52
-28
11
-6
15
0
12
31
18
-15
-2
-41
-22
21
-35
-54
-12
13
-59
-44
22
27
7
8
-18
-43
-4
-10
-46
-23
18
2
36
-8
14
-6
-39
17
-15
3
-41
39
6
-5
22
-1
-8
7
-28
25
13
11
-9
-61
19
7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
23
0
12
-5
-9
32
0
13
0
18
0
0
-5
0
0
0
24
6
-8
-20
13
11
-1
13
25
-8
38
-4
15
0
19
11
0
-4
19
-4
8
-2
-13
-26
0
22
0
0
0
-10
-1
0
-8
-10
0
-7
16
-13
-7
28
12
0
1
14
-8
0
19
-34
-1
-13
24
20
4
23
-24
0
4
0
-17
-11
11
0
0
-8
0
-22
19
0
-6
0
-12
7
2
7
0
27
0
-13
13
-1
6
17
13
0
-6
-11
-16
7
30
5
-15
7
23
-4
0
0
-19
0
14
6
-11
12
-4
-3
8
6
12
2
0
0
31
0
22
-8
23
-1
15
62
0
12
0
-10
-1
0
0
0
39
0
-14
-5
0
0
0
0
0
-27
-7
8
49
0
-34
53
-7
0
2
21
0
4
22
12
2
-2
24
0
0
2
4
18
-18
3
-1
-2
-6
10
2
-6
5
0
9
2
2
0
0
-4
0
48
6
-15
-4
3
-8
0
-3
0
-13
31
-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
-43
-15
0
0
-16
-1
0
-61
17
0
0
13
10
0
0
0
8
0
0
-19
0
-10
0
37
-112
5
-15
0
13
-2
0
44
-12
0
0
-32
7
10
-3
8
-3
0
-11
-5
3
-20
-6
28
0
-10
4
-1
0
-7
12
0
16
-4
24
-3
-2
-28
0
19
-1
0
-22
10
2
9
46
9
0
0
12
-10
0
-9
-2
17
-12
18
-12
0
0
4
19
-7
-11
-1
0
-74
3
26
-12
4
-5
0
-53
14
3
-12
4
-3
0
-3
9
-8
6
15
-32
0
4
-8
85
42
-5
-1
0
-2
15
10
-1
-11
14
0
51
12
0
-4
36
-29
0
30
7
3
25
41
26
4
0
-12
-6
0
-2
5
0
0
4
-32
0
-26
-2
0
49
-23
3
-7
12
-9
0
-55
17
11
3
-3
-1
0
50
15
-8
-4
32
-20
0
43
1
7
52
10
-12
0
-5
-4
0
-43
14
61
0
29
-1
8
-2
51
24
0
-1
15
0
25
-41
3
0
-7
-7
2
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
50
-1
-13
-19
-18
0
4
-16
0
1
3
-3
-1
-7
-45
-14
-96
-42
-5
-19
-24
-37
-20
-49
43
-61
-8
15
19
3
-32
-22
2
-7
11
-37
-3
-2
46
-20
-20
6
-2
3
-15
-26
-3
11
8
4
30
15
26
8
-29
27
6
1
12
-19
-1
-11
-2
-33
6
9
21
-20
0
13
-43
-22
20
-51
-17
-6
-1
-12
13
-7
-8
0
-40
-30
27
-65
-47
-19
-14
-12
4
3
-34
-22
-2
6
1
19
-16
-5
-23
-32
-27
0
21
-30
25
9
-29
-10
6
11
15
-93
-4
-27
-9
42
6
-2
32
-2
-8
-21
-1
-25
-1
-8
5
-29
5
0
5
-19
0
0
-28
-51
0
-17
11
-1
29
-35
-1
-40
-12
-2
-30
10
21
-6
-12
2
-4
-13
4
16
63
22
19
-2
-22
-15
-17
17
-7
8
-8
-2
13
-42
-21
20
4
-9
-11
-16
-44
39
-6
5
1
-1
-9
-49
44
0
-14
0
-21
-10
11
-8
0
-9
-34
-21
-1
-63
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
25
-55
-9
0
0
-21
0
2
-7
-13
-3
-8
-2
-38
-17
-8
1
-8
25
0
-1
-5
1
-3
2
4
6
-27
-8
-5
0
-18
-1
-12
6
-10
-25
0
-21
16
0
1
-13
-46
20
-18
-6
-19
6
3
0
14
48
0
-6
5
31
-63
10
-11
4
10
-2
28
3
6
0
-6
-12
3
0
39
-14
11
-3
-72
1
-2
-3
1
38
20
-47
-109
-21
-12
-23
-20
-5
11
-2
9
-3
-11
-28
22
15
-41
-17
-30
-26
-46
0
1
18
-19
21
27
-51
-7
1
-2
-42
-12
7
97
0
0
7
31
16
-35
16
-17
2
-10
-34
-21
-52
1
-10
-31
0
0
2
16
0
-1
60
-10
0
-1
0
-19
-8
6
-23
37
9
-1
29
4
0
46
-40
-7
0
4
25
8
-38
-24
31
0
-47
-4
72
43
12
-23
0
-35
-12
-13
0
-47
39
25
23
0
8
41
77
-56
0
-7
3
0
-12
-35
6
16
0
-38
-13
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
41
0
0
0
0
0
0
11
0
38
0
0
13
0
0
0
-27
0
0
0
0
0
-1
-35
0
4
73
10
0
9
-51
0
3
1
0
0
-7
20
0
0
93
0
0
-15
58
0
0
25
-2
0
16
-1
0
5
0
0
0
0
21
0
0
0
0
1
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-27
-8
0
0
0
21
0
0
13
0
0
1
-3
0
0
-3
-2
0
-10
2
0
0
7
0
0
0
17
0
0
4
0
0
0
-9
0
0
16
0
0
0
6
0
0
0
0
-2
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
-15
0
0
0
0
0
0
39
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
16
-11
-1
0
0
-23
0
0
0
0
0
0
33
0
-3
0
0
0
0
8
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-90
0
0
0
0
4
2
24
0
27
-9
1
0
-18
29
0
0
21
0
0
-1
-20
0
0
-37
1
0
-4
-36
0
0
-19
0
0
18
6
0
-15
1
0
0
0
-10
0
0
0
0
-2
0
57
0
0
0
-1
0
0
2
0
0
3
0
0
0
-39
0
0
-1
1
0
-1
-14
0
0
-2
0
0
-1
-21
0
0
49
-4
0
-4
-124
0
2
6
0
0
0
-6
0
0
-9
0
0
0
8
0
0
-1
0
0
0
-3
0
0
1
0
-1
0
-21
0
0
0
0
0
0
-5
0
0
0
0
0
0
18
0
-1
0
0
0
0
8
0
0
0
0
0
0
7
0
0
-2
0
0
0
-11
0
0
-1
2
0
0
-71
0
8
-1
0
0
2
-16
0
0
0
0
0
0
-68
0
15
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
36
0
-1
4
-16
-10
0
0
-38
0
0
-10
-75
-2
-11
-43
-25
28
30
0
-40
16
0
-13
9
0
2
-29
9
0
-11
-20
-68
0
-2
-3
-1
0
-8
11
2
-36
8
0
-3
-18
-5
-2
8
9
-3
3
4
16
-95
-15
-4
21
8
-1
-19
-4
12
15
12
0
-7
29
-34
0
9
23
5
0
-4
15
0
-9
40
0
1
0
0
8
-1
22
12
-23
-33
12
-51
8
-2
-7
6
0
6
-13
5
-30
11
0
-32
-16
-3
-15
40
-22
27
-40
-43
65
-5
2
7
12
-46
26
59
-1
-1
-4
-1
4
-12
-33
-15
0
11
10
13
14
0
-13
1
0
0
15
-7
-6
-16
2
0
0
-2
-2
1
15
24
-33
3
0
-9
-8
13
1
-16
-35
-21
0
6
-4
1
-48
8
47
-1
30
-3
7
-21
-24
-34
-6
-13
-21
-1
-2
8
-2
-6
-10
-14
0
-1
25
21
-11
0
2
0
-14
0
10
14
0
-10
30
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-11
0
-20
0
0
-3
0
0
0
8
0
19
0
0
0
0
0
0
-2
0
0
-2
0
0
-11
-29
0
57
-2
-21
0
-39
1
0
0
-2
0
0
-41
-1
0
0
-11
0
0
-6
-11
0
0
9
0
0
16
-38
0
-12
-48
3
-6
38
53
0
0
0
0
-4
0
14
18
0
0
0
0
0
-21
0
0
0
0
0
-4
-23
0
-4
2
0
0
-1
13
0
0
26
0
0
34
10
-6
0
15
0
-3
-25
-15
0
0
-9
0
0
-4
11
0
0
38
33
-1
-7
-25
0
0
28
0
-7
3
26
0
0
10
-10
-13
0
-32
0
0
0
0
0
0
-24
-10
0
0
0
0
0
-40
0
-2
0
0
0
-11
-10
0
0
3
0
0
-7
-6
0
-6
13
0
0
0
6
0
0
1
44
3
19
33
0
-1
13
0
0
0
-56
0
0
-32
3
0
0
-1
0
-21
0
0
9
0
16
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-32
-6
0
-11
3
-1
0
13
-12
0
0
13
0
15
14
3
-62
22
26
0
-31
3
0
0
4
0
0
-5
-7
2
-23
0
28
0
-6
1
1
-7
4
-4
0
1
9
36
0
7
26
0
16
-6
-6
-3
-1
32
0
9
0
15
-63
29
-7
0
46
-9
-15
-2
12
-6
0
0
16
-11
16
-3
-21
0
-17
11
-9
18
7
-1
0
10
7
54
9
35
42
-2
10
14
10
10
-3
13
0
28
1
6
-20
17
16
-12
-1
14
-14
91
15
35
0
-6
27
-7
-32
15
12
1
44
9
-22
-11
36
14
0
34
-14
0
-26
17
7
-9
0
11
3
5
-2
59
0
-9
10
21
0
22
4
0
10
-3
-10
-39
-72
-2
1
30
24
41
0
-6
45
0
44
6
6
19
13
15
2
28
19
3
6
25
8
0
43
14
0
-34
8
27
0
11
2
-1
38
15
17
0
6
-1
-2
4
-7
12
0
4
-6
10
-9
15
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-45
-7
0
0
0
0
-3
-25
0
0
7
-3
0
-59
-15
0
7
-62
1
-2
3
1
1
0
-4
1
0
-73
7
0
7
15
18
0
47
-11
0
0
1
17
0
43
-8
0
-42
-84
-46
1
0
19
0
0
16
21
0
0
-2
-4
13
-10
5
0
0
-43
2
0
4
11
0
1
-50
-4
0
0
73
0
2
11
1
0
-45
0
-13
-36
-2
0
-36
-17
4
0
13
6
4
0
-16
-6
0
4
-20
0
-4
-14
9
10
0
13
0
0
10
-9
-16
0
37
0
-1
-17
4
-51
0
-25
0
0
6
0
-1
0
-57
0
0
0
9
0
0
-36
0
-4
7
6
-2
46
-6
0
0
-6
-13
1
5
3
0
84
57
4
6
-2
-13
0
-1
24
10
10
0
-27
0
-19
8
-12
10
-1
18
0
15
-9
6
0
0
-15
0
-6
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-82
0
-3
-3
-1
-4
-32
-28
41
-4
-27
0
43
-15
9
-4
-35
0
-3
-6
-12
4
-15
0
-22
0
-12
-10
28
21
-2
0
-2
-23
-14
0
18
17
-33
-7
7
-5
0
8
5
-4
2
32
16
0
-14
-4
-29
-18
38
0
6
-3
57
11
-44
0
4
-31
-7
0
-19
-2
0
-20
62
6
3
-1
6
-15
-15
5
-22
-4
-43
-8
-93
-14
-8
5
-14
-10
-20
-12
-7
-54
-35
-14
-26
-7
-3
-1
15
-1
18
-18
16
-31
2
-10
-3
-15
-4
19
1
4
0
0
-11
-16
-2
16
0
0
0
28
-11
4
0
2
1
0
0
-1
-4
0
19
-4
9
-1
-1
0
-12
-11
-2
21
-2
1
-9
-13
14
0
-16
14
-12
-4
20
-21
-6
-37
-9
1
10
-3
-11
-7
20
21
-45
-71
-57
-3
0
-11
-17
1
46
0
10
-2
-4
-86
-24
-9
-1
0
0
-72
-4
-6
-15
-10
41
-2
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
7
25
0
36
-14
-10
0
-10
21
0
0
48
0
0
-13
14
0
0
22
0
0
0
-25
0
0
-1
0
0
0
-41
0
-4
-3
0
0
-1
-2
0
0
0
0
0
0
-27
0
0
0
0
0
0
20
0
0
0
0
0
0
28
0
0
-17
0
0
39
-36
0
0
-6
0
0
0
56
0
0
-13
0
0
22
-27
0
0
-15
-3
0
0
23
0
0
21
0
0
0
4
0
0
0
0
29
-1
-26
0
0
0
0
-4
0
-29
0
0
0
0
0
0
-44
0
0
0
0
0
0
9
0
0
2
0
0
0
47
0
0
0
0
0
0
24
0
0
0
0
0
0
-19
0
0
9
0
0
0
-45
0
0
0
0
0
0
40
0
0
0
0
0
0
-26
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
29
-39
0
0
0
0
0
0
-8
0
-54
1
-1
0
6
-50
0
0
19
0
0
0
-45
0
0
35
-2
0
0
-1
0
0
-1
0
1
0
-7
0
-16
0
0
0
0
-23
0
0
0
0
2
0
-66
0
0
0
0
0
0
60
0
0
0
0
0
0
-3
0
0
-1
0
0
0
-48
0
0
-1
0
0
0
3
0
0
-1
-1
0
-1
-13
0
0
-1
0
0
0
-40
0
0
-1
0
0
-9
22
0
0
0
0
0
0
28
0
0
-10
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
17
0
0
0
0
-8
0
0
0
0
0
0
-24
0
0
0
0
0
0
-11
0
0
1
-2
0
0
23
0
0
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
6
-8
1
0
7
13
5
0
-2
0
14
-34
-10
0
14
0
-3
5
18
0
-33
-7
-21
0
-45
3
3
0
1
0
0
-52
20
0
0
-14
7
10
30
-13
0
0
-37
20
-1
-50
-36
0
21
5
-95
0
-20
10
0
0
0
0
10
0
23
-14
-15
0
32
0
0
12
-3
7
2
0
4
49
-27
2
4
26
11
-4
27
-6
0
3
17
-6
-2
-4
7
-6
4
17
16
-13
7
-3
-6
0
-11
4
-59
36
-15
0
0
10
9
-6
3
-9
0
-7
-14
26
-7
0
-3
0
2
0
-15
-1
0
-11
0
0
0
32
-2
0
-19
4
0
0
-1
-8
-2
1
0
-73
4
0
-3
-13
-30
0
-1
1
7
1
-3
-21
0
-46
-24
-2
0
-3
24
0
-26
-13
-10
0
-12
-15
0
-21
62
4
-12
14
5
0
0
-4
-9
21
0
-14
0
-61
0
53
-2
0
-35
2
-12
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
22
0
0
0
-7
8
-3
-17
12
-4
0
0
17
-7
0
0
-20
0
-26
2
5
-1
5
13
10
0
13
0
-1
18
8
0
0
-15
0
0
0
10
0
-15
-22
-6
1
13
10
0
-17
-21
1
0
-12
25
0
40
3
-1
0
0
33
0
35
0
3
-54
26
4
0
0
-1
-10
-29
0
0
0
6
-54
-1
8
-8
-14
0
9
-14
-2
-9
3
0
0
22
46
5
-1
4
19
3
-8
16
-5
-4
-5
-4
0
-8
-11
-28
0
3
2
-1
-37
-36
3
0
0
-2
0
-3
15
-7
1
0
84
0
-8
0
16
3
0
0
0
-19
0
-6
-17
0
0
0
0
0
-34
4
15
-15
0
10
-37
-13
13
-7
44
0
-12
-7
11
0
40
5
0
0
31
-12
0
-27
-3
-6
25
-8
10
6
-75
38
0
-16
10
10
0
-9
32
0
-24
-10
-8
0
-27
2
0
-28
0
2
45
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-55
20
-16
-21
0
2
10
20
-61
33
7
0
-9
-1
-22
10
-6
-5
0
0
12
-22
-4
5
-8
0
-4
-4
-39
-24
-11
-15
0
2
-3
61
-28
-2
-3
-1
35
-3
-36
17
5
-1
-1
33
-8
33
-3
20
12
0
20
-1
-7
-23
8
6
-2
2
12
-55
-3
4
9
0
14
6
19
-91
-27
-54
0
-1
9
22
8
10
16
-12
-7
5
2
-59
-8
-49
0
10
2
-66
-19
11
-18
0
46
2
-54
63
16
27
45
30
6
-17
1
14
5
0
34
10
6
-13
38
24
-1
-16
1
48
10
8
13
-1
36
6
-23
27
38
-10
0
-12
13
13
-39
-35
-77
0
-7
1
-14
-28
-3
-4
-1
16
7
0
-39
-5
-26
-4
21
1
34
-15
-8
-9
0
-2
8
-25
-65
7
8
0
38
10
19
-30
18
-15
40
35
15
7
3
34
13
0
9
-2
-3
-3
45
-30
0
36
2
-1
82
39
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-35
0
0
2
0
0
0
8
0
9
29
0
0
-3
-8
0
0
1
0
0
0
-42
0
0
-1
1
0
0
-53
0
0
0
0
0
0
7
0
18
0
0
0
0
24
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
-73
0
0
0
0
0
0
-65
0
0
-1
2
0
0
-19
0
0
-1
0
0
0
12
0
0
-1
0
0
0
12
0
0
0
0
0
0
10
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
-1
0
0
0
0
0
0
-26
0
0
0
0
0
0
-8
0
0
0
0
0
0
-11
0
-1
0
0
0
0
1
0
0
0
0
0
0
-57
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-22
0
0
-4
0
2
-12
-11
0
-28
9
2
0
11
11
0
0
32
0
0
-19
-22
-1
0
-18
-18
0
32
35
2
0
2
0
-2
11
9
0
-29
34
10
0
-1
-44
0
0
0
0
29
0
0
-4
2
0
6
0
0
-5
-1
0
0
0
0
3
0
-6
4
-8
-2
-17
17
-4
0
0
-38
0
0
-23
-7
3
15
-59
1
0
-41
5
0
0
14
0
0
-6
13
0
0
1
-39
-3
4
32
0
0
-3
0
-11
4
-29
0
0
15
2
-28
0
0
0
0
0
0
0
0
1
-12
0
3
0
0
0
-31
0
-5
-9
0
0
0
-23
0
1
0
0
0
-6
6
0
30
0
0
0
0
21
0
-3
-3
-16
0
0
-8
0
-14
-2
0
0
0
-5
0
0
8
-4
0
0
4
0
-7
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-66
-33
-55
14
0
-25
5
-6
6
-7
0
-44
-35
12
2
-34
-21
-1
-16
-22
14
16
23
-18
1
35
-16
6
-2
-15
-7
-14
-39
1
-19
1
-2
-11
-2
18
-35
-20
0
-16
-28
-7
-43
-43
-3
0
-1
14
4
-3
0
4
0
-8
0
-14
-10
4
2
-59
-11
14
-8
0
-73
1
-69
64
-48
-32
-6
26
12
10
-37
5
-12
85
-5
8
22
23
-13
1
-14
-15
-5
11
-15
-3
-11
19
6
-2
-2
18
-4
15
41
11
2
1
-17
21
12
-21
-20
0
-7
81
-42
8
20
0
-6
0
0
0
-25
-24
-7
23
10
-35
-48
-3
0
1
-19
-5
-11
9
-1
-30
21
-21
-1
-99
-8
-9
2
-3
13
1
-9
-35
-3
13
15
-4
-13
10
-18
-27
1
-27
-8
7
-11
-28
32
8
1
-18
4
39
11
15
-18
0
16
2
-1
-9
-4
-29
0
-12
0
15
10
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
-18
0
0
0
0
0
0
-46
0
0
0
0
0
0
-8
0
-22
-13
0
0
6
-3
0
0
-16
0
0
0
-46
0
0
22
0
0
0
-51
0
0
-4
0
0
0
-5
0
29
0
0
0
0
-5
0
0
0
0
0
0
-33
0
0
0
0
0
0
-32
0
0
0
0
0
0
10
0
0
0
0
0
0
-55
0
0
0
0
0
0
-32
0
0
-1
0
0
0
10
0
0
0
0
0
0
7
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
-40
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
-7
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-3
0
0
-2
0
0
0
0
0
0
-44
0
17
-23
0
0
-28
3
0
0
47
0
0
0
-37
0
0
-8
-7
0
11
-13
0
0
0
0
0
2
-22
0
-28
-5
0
0
0
-9
0
0
1
0
0
0
6
0
0
0
0
0
0
14
0
0
0
0
0
0
18
0
0
0
0
0
0
-37
0
0
-1
0
7
0
-12
-1
0
-30
0
0
3
-11
0
16
-1
0
0
-1
-24
0
0
0
0
4
0
-11
0
0
0
0
0
0
-36
0
0
0
0
6
0
-52
0
0
0
0
-4
0
-45
0
0
0
0
0
0
22
0
0
0
0
0
0
30
0
0
0
30
0
0
-24
0
-1
0
0
0
0
14
0
0
0
-1
0
0
11
0
0
1
0
0
0
5
0
0
0
3
0
0
-20
0
15
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
12
0
0
0
19
0
22
-1
0
0
0
0
0
-27
-32
0
-7
-45
-1
0
-12
-45
0
15
-60
0
0
17
-52
0
0
-38
0
0
-10
-31
0
1
-34
0
0
3
-33
0
-12
4
18
0
0
-20
0
0
0
1
-8
0
3
-4
-2
0
0
0
0
39
0
0
6
0
0
0
-4
0
-1
9
0
0
7
10
0
24
-20
0
0
-8
-15
0
11
-16
0
0
-34
-18
0
-16
-5
0
-4
-4
-1
0
0
13
7
3
0
-97
0
-3
-15
0
-3
0
3
0
0
9
0
-14
0
-21
0
0
0
13
0
0
25
7
0
0
0
0
0
-3
0
-28
0
0
0
0
-18
0
0
-3
0
0
15
-26
0
-1
0
0
-2
99
-41
0
7
45
-3
0
-3
-39
0
25
17
2
2
0
35
0
0
1
0
4
0
13
0
1
0
0
10
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
-1
-10
20
14
-53
-45
0
-32
9
8
0
-29
-3
0
-10
-5
0
31
2
20
0
1
-2
0
8
-9
-3
0
26
6
0
-1
-12
47
0
16
-15
0
2
-44
6
-8
45
-50
-1
-15
-4
-41
3
6
-37
24
12
-40
39
0
2
24
36
17
0
-37
0
2
-11
1
0
-4
0
0
-44
18
-54
3
-14
-65
0
36
0
1
-2
16
-10
0
19
-2
39
-18
-3
-35
0
-15
-4
7
-13
-18
25
0
25
-25
2
-10
-21
16
0
2
4
0
-4
8
54
0
8
7
1
-2
17
-31
0
0
0
30
6
1
-6
0
0
-27
6
10
0
-55
0
21
12
0
-4
-1
0
0
-14
-18
-8
27
7
14
0
17
-19
-8
23
9
-8
0
11
-7
19
-9
21
36
0
43
-13
2
-3
-5
0
0
-13
-21
-1
-2
-53
-48
0
0
14
29
-1
12
0
0
4
-5
28
-1
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-95
0
0
0
0
0
-2
-36
1
38
35
9
0
-10
29
0
12
24
-3
0
3
15
1
0
-38
16
-3
-15
24
0
0
49
0
-3
13
24
0
11
-18
-2
12
0
-4
0
0
-3
0
20
0
-25
3
-6
0
0
-2
0
-26
-5
0
0
0
0
4
-28
0
3
4
0
0
0
22
0
0
-38
0
7
1
26
7
0
9
-3
0
-11
9
0
0
11
0
3
0
15
0
0
22
-3
-2
-2
-10
0
0
0
0
-9
0
-5
0
0
4
0
10
0
32
0
0
0
0
0
0
-50
0
0
0
0
0
0
27
0
4
1
0
0
1
-9
0
0
0
0
0
0
7
0
9
-1
0
0
0
5
0
0
-22
0
0
0
-26
0
44
-1
0
0
0
26
0
-17
2
-2
0
0
-25
0
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-24
22
-4
-73
1
1
3
-18
12
2
16
11
3
16
50
26
6
-8
-6
-9
5
-7
10
-28
36
2
1
-18
-42
2
-23
-34
-31
-10
21
21
-10
-2
4
31
0
-7
0
-14
19
-24
-10
-3
10
19
-4
28
-45
-28
0
-13
-73
4
32
-13
-4
3
37
-30
-10
-18
9
-36
-4
-2
-6
3
-13
-18
27
2
4
-17
10
-23
-6
-9
-9
-4
-46
7
25
8
-8
-5
-16
-3
11
7
13
-2
-3
37
-46
5
21
19
21
3
18
31
3
32
8
38
-15
-27
40
-36
19
-11
8
0
-28
5
-34
-10
-53
-29
20
19
-42
-2
-19
-7
10
-16
-3
4
5
-17
13
-21
4
0
-1
2
-10
-39
-7
-17
22
1
17
-1
-2
-21
-2
-43
26
-9
28
-14
-45
-3
11
-10
-1
22
-5
-38
-2
13
-24
-37
19
16
-29
-6
-3
23
-16
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
17
-49
34
16
5
1
3
-54
-27
12
39
-4
-36
-4
-18
7
27
9
6
1
-11
-32
-4
25
8
-14
-43
-20
-74
-15
0
-2
-41
22
-30
-70
-23
0
-7
-7
-59
-6
-16
9
12
-2
-6
0
49
1
36
34
-7
0
27
-14
0
-7
-9
-1
10
16
0
-25
0
20
-19
62
7
7
-12
27
6
12
10
39
17
4
2
-7
-17
6
-13
-26
-19
-8
90
12
-32
19
40
-59
14
0
-1
-5
-30
-65
-47
-26
0
-29
-38
10
-20
40
-27
0
-2
-20
-21
5
0
5
2
-1
-1
-2
38
0
-1
-2
-4
6
-13
0
-25
-34
0
38
6
9
12
-33
4
2
-19
-16
6
0
21
-3
7
12
-29
8
2
-6
10
-13
-43
4
24
0
39
-10
-7
-86
15
22
-21
-33
-25
13
-2
-34
-14
1
-1
5
-1
-88
10
5
-40
0
-7
-13
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
13
-1
0
23
-2
0
0
58
43
2
-13
6
67
0
3
21
-4
-2
-14
0
3
-30
-22
0
0
-41
-34
0
1
1
0
0
-57
22
17
-26
-5
-4
5
-92
-66
-10
-24
-50
1
0
41
1
-2
0
6
-8
2
0
-49
-1
3
-65
45
0
-1
0
0
-29
-8
27
14
26
13
-48
26
-15
5
-6
-31
-2
18
3
10
12
-3
-43
1
27
-11
-8
-1
16
2
14
21
30
6
3
12
-1
-19
66
-27
13
0
4
-95
0
5
-3
-30
-4
0
19
-21
-78
0
-17
5
20
0
0
8
0
-29
16
2
3
0
0
-1
-16
2
26
-40
0
0
0
-39
0
4
84
28
11
-3
-24
0
-6
-20
0
2
-51
-7
-1
-2
-51
-78
-3
-11
12
0
-12
27
-2
3
1
31
4
-2
-96
-19
0
0
-24
2
51
-7
-4
-38
0
-34
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-3
3
0
0
-6
10
0
-14
-11
-56
-1
10
7
0
5
45
0
0
5
-19
1
-2
-27
-9
0
-7
-23
-2
1
-22
3
-3
-3
-68
10
7
-47
30
-16
0
6
0
0
0
0
2
0
-35
-11
-21
0
35
0
0
0
-4
0
0
0
0
-3
15
0
-9
-1
-1
0
-17
-17
0
-3
-35
-7
7
61
-5
0
-1
-15
44
-41
23
11
-3
-4
24
48
13
40
-9
28
0
13
-32
-28
-2
-14
0
0
3
-12
22
0
-17
0
0
-3
-22
28
0
-42
-6
0
0
0
19
0
-3
15
0
0
0
0
0
25
0
-4
0
0
1
9
-1
0
0
3
-7
1
42
3
0
59
22
0
0
7
-17
0
-12
-6
-7
-4
-6
5
0
-12
-57
-10
0
-1
-15
0
-20
68
1
20
0
-3
0
-42
-12
-2
-8
0
-46
-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
39
0
0
2
33
0
0
-32
-51
0
23
-35
0
3
14
-57
0
9
-24
0
-7
4
-24
0
-8
-22
28
45
8
-28
0
-2
-28
1
10
-15
-1
0
-1
-35
0
10
65
-3
0
-8
0
0
44
0
-9
-14
-7
0
9
0
0
-44
16
0
-9
0
0
-28
-16
0
33
14
-1
-8
8
-37
0
-10
-17
0
32
16
-59
25
-27
-9
0
10
4
-32
0
-4
4
-16
12
24
-21
0
-1
3
0
16
55
-7
0
2
11
0
24
45
-8
-4
22
53
33
19
0
-13
34
0
-4
0
-9
4
16
47
0
3
0
0
-22
16
0
-10
32
0
-2
-4
-53
0
8
20
0
6
48
-57
0
37
45
-4
0
24
-24
-6
7
-16
0
52
5
12
0
0
16
0
-28
1
14
0
-3
42
-1
25
-9
-21
0
27
1
0
9
0
-15
-32
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-2
0
-25
2
0
0
9
-14
0
0
-2
0
0
0
-5
0
0
-13
6
0
7
-11
0
0
6
0
0
0
12
0
-3
-1
0
0
0
6
0
0
0
0
0
0
-32
4
0
0
0
0
0
-7
0
0
0
0
0
0
50
0
0
-2
0
0
1
4
0
0
4
0
0
-4
22
0
0
1
0
0
7
15
0
0
3
0
0
11
-28
0
0
-9
-3
0
0
41
0
0
0
0
0
0
16
0
0
0
0
0
0
29
0
0
0
0
0
0
5
0
0
0
0
0
0
-6
0
12
0
0
0
0
27
0
0
-3
0
0
0
23
0
0
0
0
0
0
60
0
0
0
0
0
0
37
0
7
0
0
0
0
5
0
0
0
0
0
0
70
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-11
3
6
-14
37
21
6
-27
6
-3
-17
-8
0
15
1
-18
-7
21
-6
0
-3
1
7
31
-29
-4
0
3
-16
52
19
-37
-15
9
12
5
-9
-19
0
14
-2
1
0
60
15
-1
1
52
2
12
22
6
-1
17
-2
-25
-51
-5
-18
-28
-2
0
14
-11
40
-18
-8
7
1
16
-16
47
6
-46
-11
0
-6
-32
-11
27
-13
2
3
8
1
41
-23
-16
-2
0
7
-4
-10
34
15
-8
-3
4
-17
67
17
0
6
-27
-5
10
0
25
0
-39
31
-9
-2
0
0
-9
-6
6
7
22
0
0
10
0
-7
-21
12
27
6
-10
21
12
-24
-27
-3
-8
3
-14
0
-46
3
-3
6
31
-21
-7
-36
7
4
0
-4
-4
0
-4
12
-10
33
0
29
0
1
18
9
44
2
-10
14
-10
4
85
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-5
3
7
23
15
13
9
-37
4
-9
26
20
5
13
-4
13
-5
-21
-7
-6
-14
8
5
12
6
-22
-1
-45
-3
4
8
-35
-26
-10
-5
-15
-8
-34
15
32
0
1
-2
2
-4
19
-53
2
-30
-96
-19
-21
34
-64
0
-20
6
-21
-30
-3
-26
4
-24
-42
-1
6
27
-13
15
10
4
-8
-11
2
-15
-1
6
15
3
-4
-4
-5
1
42
-18
13
17
-13
-25
-4
2
28
-6
6
-5
-48
1
22
4
-21
13
4
-27
1
4
-24
20
34
6
-66
8
23
-36
-73
11
-23
-25
0
-1
4
-17
-12
-14
-47
-17
-101
-9
-3
-14
37
-44
4
51
-29
-14
-24
-17
-25
-2
35
10
3
3
-36
-15
-5
24
5
-32
7
-28
-24
-1
23
-1
-10
4
-22
0
7
-28
5
0
29
-6
9
13
-9
-61
-24
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
45
9
0
37
41
-13
0
-14
15
0
0
32
0
0
57
-36
0
4
44
-8
0
-19
-24
0
0
-35
0
0
-27
-22
0
-13
38
0
0
0
42
0
0
0
0
0
0
6
16
9
0
0
0
1
4
0
10
0
0
0
-13
30
0
0
21
0
0
13
-26
0
3
7
1
0
85
-5
-40
2
26
0
0
32
-45
0
0
21
0
0
10
13
0
0
4
-3
0
1
-28
0
7
1
0
-1
0
10
0
0
-11
-85
24
0
-11
0
0
0
0
0
0
2
16
0
-1
0
0
0
45
-3
-33
0
0
0
0
-45
0
12
21
0
0
-1
-24
0
-3
-7
0
0
0
20
0
-2
0
0
0
2
25
-1
-16
0
0
0
0
11
0
0
2
-1
0
0
50
0
21
0
8
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
42
52
0
27
11
12
0
53
-51
0
8
34
0
1
-6
-4
0
0
-11
-1
0
0
-22
0
0
8
0
0
-11
15
0
-45
25
2
0
0
-22
0
0
0
0
23
0
-9
49
0
0
28
0
0
-6
-2
0
8
0
0
73
42
0
0
-4
0
-13
75
-65
0
0
15
0
0
8
-22
0
0
-6
-24
0
-3
53
0
0
-16
6
0
36
-38
8
0
36
2
6
0
17
0
0
-3
0
0
0
-22
29
0
0
-16
0
0
17
0
0
0
0
0
0
-8
-13
0
0
0
0
1
-18
0
31
0
0
0
-4
-5
0
3
-9
0
0
0
-65
0
-33
12
0
0
0
16
0
0
-34
17
0
0
-3
0
50
-4
0
0
0
36
0
6
-62
0
0
0
12
0
41
0
0
1
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
-3
10
-17
-9
-4
-12
45
-5
26
13
-7
0
-8
20
-3
7
12
13
76
-3
25
9
21
15
50
-10
-22
-11
0
11
-3
34
-35
2
-12
-1
10
-26
-4
-11
0
4
35
-19
0
-10
18
-6
31
7
1
0
0
7
-14
43
14
30
-29
-27
-21
-66
-10
-11
33
22
11
29
-25
10
4
12
-4
5
36
21
6
20
-47
7
38
0
-42
18
0
-3
19
27
7
-6
-14
-1
1
-9
24
7
-20
-15
6
-14
42
38
11
0
-6
-39
0
0
9
25
1
12
-67
4
0
-1
0
0
28
1
15
20
0
-2
-8
12
-1
-31
-44
14
1
15
25
0
-4
-42
43
-5
-19
9
1
8
-18
-28
-33
42
-4
-1
-22
-14
-4
21
21
-2
0
1
59
11
16
17
-9
1
-39
12
-3
44
0
-24
-24
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
-72
0
-71
-20
0
0
-12
6
0
-9
25
0
0
11
-51
0
0
45
0
0
-2
34
0
0
0
0
0
0
-65
0
-19
-4
-9
0
0
-11
0
0
0
0
-1
0
-26
-9
0
0
0
0
0
23
0
0
0
0
0
0
14
0
0
0
3
0
0
8
0
0
-1
0
0
-9
5
0
0
43
0
0
-4
-64
0
0
-8
0
-13
0
-22
0
0
-2
0
0
-1
-8
0
0
0
0
0
0
26
0
0
0
0
1
0
8
0
0
0
0
0
0
-12
0
0
0
0
0
0
18
0
-3
0
0
0
0
67
0
0
7
0
0
0
2
0
38
0
0
0
0
5
0
0
6
0
0
0
22
0
1
-2
0
0
0
20
0
0
0
0
-1
0
-24
0
6
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
51
19
-1
0
-62
-30
0
0
-39
-6
0
-12
-71
0
-2
-18
-34
0
-61
17
0
0
67
0
0
19
-2
0
-27
-17
0
0
9
-19
0
0
0
0
0
0
34
5
-5
4
0
0
0
8
10
0
0
0
0
0
-1
0
0
18
0
0
29
47
0
0
-34
0
0
-37
12
0
0
66
28
0
23
9
0
3
50
4
0
13
-31
0
0
-11
-9
0
-3
-43
0
0
28
0
0
0
53
0
0
0
-1
0
0
-42
0
0
0
0
0
0
12
2
0
0
0
0
0
20
0
-42
-3
0
0
-1
93
0
0
21
0
0
-8
15
0
-37
21
0
0
0
-17
0
0
-42
0
0
-2
-18
0
-43
-4
0
0
4
-47
0
-1
0
0
0
0
-41
0
7
0
16
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-63
-53
-31
-29
22
-29
6
18
-36
-11
-25
19
-27
12
-12
8
-6
4
-15
-6
10
3
-14
-31
-8
-2
-1
3
-10
7
18
-27
-10
-2
9
-15
-4
-1
-37
-8
-20
-3
26
-33
-9
28
20
37
-13
33
14
-8
-17
-12
17
13
34
3
12
-57
13
-19
18
-45
-29
9
2
-22
-10
-9
18
29
-18
69
0
-52
4
26
-4
-16
-10
-30
15
19
14
89
-17
-9
16
-2
3
-28
-18
-2
-54
17
0
8
13
-20
-1
-38
13
0
-29
10
-46
22
-12
-2
45
-1
1
11
14
-35
-17
-24
9
43
66
-5
26
-13
38
6
-7
-33
15
-26
-32
-31
-1
46
5
2
-4
-4
-6
-1
14
28
-53
-11
-21
-91
16
38
-74
48
14
17
-2
12
-10
10
-21
0
3
-1
-7
-7
32
8
-1
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
-31
17
19
10
-24
-40
-43
1
-4
23
33
-3
12
-37
3
-6
42
6
22
-10
-13
-21
-10
18
-3
26
-7
-31
-35
-8
-31
-33
-4
5
28
4
1
4
-14
-31
19
1
-22
3
-40
-51
1
-54
-26
26
11
36
-20
-20
-4
-49
-72
0
28
-34
-22
-7
11
-52
-12
13
-33
-24
11
-17
-8
-6
-57
-23
-13
-65
-15
6
1
5
13
10
-20
7
1
1
-30
11
22
32
6
-10
6
39
11
26
7
13
-16
11
-4
-5
4
-14
6
6
8
-70
33
28
-24
52
-5
3
-53
6
-52
-36
-31
-80
0
-35
-10
6
-30
-26
-32
3
-16
38
-13
-30
-33
-32
-6
5
10
-16
-29
5
-17
2
-21
-12
34
39
-24
-20
-1
-16
16
31
22
7
-2
8
-32
21
62
6
-14
-11
18
-30
-10
0
32
-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
-51
-10
0
0
-31
0
0
-2
5
0
1
-8
6
0
33
29
0
-2
13
0
-4
0
-11
0
-27
42
1
0
0
-27
0
0
0
0
0
0
41
-1
-2
0
2
8
0
37
0
0
6
0
0
0
-9
0
18
-24
2
0
0
-20
0
0
-3
0
0
-11
-4
7
35
-16
-5
0
-21
35
0
1
-3
0
0
-3
38
-1
-1
21
-4
0
0
36
0
0
4
0
-8
0
-46
0
0
-11
0
49
0
34
0
0
0
0
0
0
-16
-17
0
-2
1
0
0
-25
0
-15
0
0
0
0
-12
0
0
-4
-2
0
1
18
0
35
25
3
0
0
-93
0
-1
-3
1
0
0
-10
0
-3
0
0
0
0
-20
0
0
0
-2
0
0
37
0
9
0
1
0
0
-43
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
-7
1
65
-4
-8
32
-75
-3
-6
-7
-28
-22
14
-8
-11
6
-49
-75
-10
77
-3
-8
4
1
-2
-5
10
5
-34
1
-8
-13
-10
-4
-11
-44
12
-37
0
-63
-15
11
-16
-13
-8
-19
4
-59
-1
-7
-9
-66
-12
-7
-23
26
48
14
41
-14
15
25
48
-15
-7
19
27
-10
24
-13
-9
0
10
-2
-15
28
43
-5
4
-11
-61
-22
8
5
-42
6
-12
-13
-15
36
-7
-14
-8
-75
-66
-2
-1
-6
10
13
5
-79
-3
-2
-33
8
-4
3
-47
22
34
-26
2
-5
-4
-41
11
-18
5
-5
-8
-26
-26
6
1
-1
-16
-9
-9
-41
-25
19
9
-31
0
-7
-21
-2
22
22
0
0
19
-15
-19
-13
28
7
-3
-25
-4
-42
0
46
14
1
-6
-15
6
41
-21
-16
0
12
-11
-74
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
7
21
40
6
-3
-2
25
0
2
-8
19
1
-3
-49
37
17
1
-9
-35
4
-8
-9
7
-3
19
13
0
1
57
-2
-10
-14
12
1
-16
-2
-35
-18
15
18
15
25
52
-14
-13
22
18
7
-11
21
10
-17
34
36
-1
7
46
6
17
23
1
-14
30
3
7
9
-1
-8
-8
-26
-14
7
3
-4
20
-8
-11
48
9
-3
20
-1
8
14
-3
29
-15
21
-21
7
-14
-20
-1
10
13
-6
0
4
33
9
1
-15
21
7
-29
5
-2
-59
-4
6
23
73
30
3
14
58
4
11
-29
-4
-9
14
57
28
-9
-19
4
12
32
-42
1
-14
-68
-14
0
-10
14
4
-5
-33
-14
2
-27
23
20
-1
17
-8
13
15
27
54
6
-9
-21
44
-66
-14
0
10
2
-40
38
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
-10
-7
-1
24
-19
0
-3
7
-15
-7
-31
-11
-8
-6
47
-18
19
7
-9
-1
6
3
-30
14
-19
45
-7
68
-2
-18
0
-8
-1
4
-16
11
-3
68
-11
4
-12
4
0
-4
0
-7
-4
19
15
-10
8
0
-5
39
-16
4
-35
-1
-2
13
15
-3
3
-19
-8
0
-21
15
-17
9
6
11
66
20
20
-16
-2
-5
-3
-35
-25
-2
-19
-6
84
-4
0
0
23
5
0
-17
6
-2
-14
0
9
34
-7
-2
15
21
0
-23
-7
49
-48
-1
-24
16
12
6
16
6
0
19
-1
-10
12
34
18
0
0
33
9
0
35
20
-13
10
-1
-36
-27
33
-11
-3
10
27
-13
-24
-25
-17
7
-41
40
3
0
24
25
-5
-19
20
-10
28
49
0
1
-47
9
-1
-29
-18
-16
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
15
0
-1
-11
4
0
-2
-74
0
-1
-21
10
0
-7
22
0
2
-7
0
0
-1
58
0
-35
-6
-1
0
0
-3
0
0
0
0
0
0
-5
-9
7
0
0
0
0
11
0
-1
0
0
0
2
57
0
0
9
9
0
-10
-29
0
0
116
0
0
3
6
0
0
-14
0
0
-2
-1
0
0
16
0
0
-2
30
0
-3
24
0
0
7
-49
0
0
-6
0
0
0
-41
0
0
0
-1
0
0
5
-1
0
0
0
0
0
42
0
0
0
0
0
4
-5
0
24
0
0
0
0
33
0
3
0
0
0
-19
38
0
-28
-3
0
0
4
23
0
0
11
1
0
2
-22
0
7
-16
0
0
-3
-8
0
0
0
0
0
0
38
0
4
10
1
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-109
1
2
-1
15
-29
-6
-74
17
-8
-36
-11
-8
-1
10
2
-14
-5
0
23
1
74
20
39
16
-16
19
2
-11
-2
-15
-16
-55
13
13
2
-25
37
6
-56
-11
1
-24
-2
3
0
-5
12
-5
-70
31
5
2
62
3
7
17
-3
11
-1
24
8
12
43
-7
6
43
-27
-12
-2
-16
4
-1
-3
-13
-1
4
49
-10
-7
13
9
19
-4
47
-11
-5
-1
-14
5
2
-14
-19
-6
-8
-12
-21
-6
14
-71
-50
6
39
-17
-12
-45
-1
-2
-88
81
-23
-8
83
12
13
15
37
7
2
3
-10
-16
-13
0
12
5
-2
5
26
24
-6
-14
-7
24
9
-9
-14
-16
-18
-1
55
-26
-10
18
-7
-50
6
-23
5
37
17
-2
33
-2
-7
37
-19
27
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-80
-40
-22
-35
-9
-11
-33
-15
-17
-29
-25
-17
-36
59
-10
7
-2
-1
-1
-20
-36
2
21
10
-14
-40
0
3
5
13
-6
-28
-25
6
-19
19
-11
24
-25
35
-2
-10
-6
4
-23
1
-2
16
-40
-25
-8
-12
31
-17
0
-28
-18
-15
-18
53
-25
-12
76
-28
-21
7
-20
-27
-6
-8
-11
-11
-3
9
-6
-12
-9
-26
12
7
5
32
-8
-44
-38
6
5
-7
-14
7
-49
-45
-14
-14
9
36
20
7
-81
-13
3
-12
11
-9
7
-6
-17
-16
-9
24
9
-39
27
-6
2
31
3
0
-14
2
-8
17
-25
-34
-3
28
6
-15
14
33
8
-1
7
-2
-22
-16
18
17
7
8
-6
-10
-6
-3
-56
-5
-76
24
-16
3
-2
-48
14
-12
-9
20
-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
-16
-58
0
2
-65
11
0
7
28
0
0
-19
0
0
-4
-13
0
45
-5
0
0
0
-14
0
0
0
0
0
0
14
18
0
0
0
-3
0
-4
-3
0
0
0
0
-6
12
-1
-25
6
-1
6
13
-37
0
-2
-17
0
0
39
17
0
2
-17
-2
0
-2
-25
0
-3
-4
3
-3
0
30
0
0
-3
2
0
0
-4
0
0
6
0
0
0
22
0
-1
0
-2
-4
0
10
0
0
0
0
0
0
-30
4
0
0
0
0
1
31
2
37
1
0
0
0
-36
0
-11
35
-2
0
-1
-48
0
-28
-20
0
0
0
-68
0
0
0
0
0
0
-82
0
-30
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
41
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
11
16
0
26
46
2
2
49
0
-1
25
-30
0
-21
59
-42
-10
0
-38
0
0
0
0
-11
0
-19
-42
-2
0
7
0
0
25
-1
0
0
0
-2
20
4
12
-2
-1
-7
0
16
8
1
0
14
2
2
39
0
9
-2
-21
8
0
-80
-52
4
0
-42
3
6
-4
-14
-6
0
-81
15
21
0
-1
0
0
-19
-15
34
0
66
0
0
-7
-7
-19
0
9
1
0
0
0
6
0
-11
0
2
0
0
0
-1
-77
0
4
11
0
0
5
7
0
0
33
43
0
25
12
0
-11
44
-3
0
3
-33
0
14
-7
2
0
7
-23
0
-18
9
0
0
10
59
0
-2
23
9
-1
1
16
0
-22
0
0
-13
0
-30
-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
-21
6
31
-42
12
4
-4
8
0
63
49
6
-57
-1
0
-20
8
-14
9
1
-20
13
-9
-22
28
7
-22
-21
-22
4
-22
-17
-21
4
-29
39
34
11
11
-21
-4
-3
1
5
-6
6
-16
-6
9
11
-11
20
-24
16
-27
3
3
-1
-4
-4
18
2
10
26
-6
-22
28
10
43
-30
5
4
-47
1
10
7
14
2
6
17
-50
11
-21
32
-7
-4
-10
-26
5
-1
0
-14
13
-19
-40
27
35
26
10
20
-12
55
32
20
25
40
-9
-101
-11
14
-53
22
8
15
-37
1
21
10
39
52
-14
-45
-20
-47
-29
-35
-1
-9
28
14
2
4
15
31
-9
47
-19
-5
-7
54
17
-9
-1
15
12
14
18
10
2
11
-6
5
21
-39
5
-1
16
0
-27
-45
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-78
0
0
-20
-11
0
51
-21
0
0
9
0
0
8
26
0
-1
-38
-11
0
0
5
0
0
-3
0
-4
0
5
23
2
0
0
0
0
-59
0
0
3
0
0
-8
17
6
8
-21
6
-1
-17
36
2
0
-11
0
0
-25
-33
0
3
-9
-2
0
1
-38
0
0
-6
0
8
1
-1
2
0
18
12
-15
0
-15
4
0
13
0
0
1
-3
0
-2
19
0
-48
0
-25
0
0
0
0
0
3
-32
-3
0
0
0
0
0
25
0
20
1
0
0
11
0
0
0
-20
0
0
56
-16
0
-14
7
0
0
-15
-40
0
0
7
9
-8
0
-17
0
62
-1
0
0
0
51
0
0
1
0
0
0
-1
0
-11
0
0
-13
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
-14
-26
0
24
-2
-2
0
28
-11
0
0
-36
-1
0
18
-22
0
-10
-1
-7
0
0
31
0
0
0
0
0
0
-2
-35
3
0
0
0
0
-10
-10
0
0
0
0
-11
-12
0
36
-27
1
0
-14
-13
0
0
42
0
0
50
38
0
-3
62
0
0
59
29
0
0
21
-2
0
28
-47
0
0
-6
-11
0
0
-33
0
0
-8
0
0
0
-22
0
0
-2
27
0
1
-39
0
0
0
0
0
0
-6
-2
0
0
0
0
4
-18
0
6
38
0
0
-26
7
0
1
-10
-10
0
3
4
0
-2
11
0
0
-3
14
0
1
-15
3
0
17
-71
0
-19
3
0
0
0
11
0
0
-15
0
0
0
-37
0
31
0
8
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
-12
15
-35
30
-16
33
-3
21
-10
0
5
-6
-21
-50
0
4
0
-13
14
-20
20
0
13
-2
-21
36
-28
-20
29
-1
-25
9
60
-6
7
44
0
-4
15
2
1
18
-3
-3
14
65
3
-37
-49
39
-2
-35
6
7
-21
-3
34
-8
-32
-14
-12
36
-11
31
2
-22
1
-21
6
12
36
-6
-2
4
0
54
6
0
-9
-57
89
-12
-11
-2
10
11
38
39
-14
-46
30
-1
-10
47
-42
-23
-6
-8
-6
8
35
-15
-7
4
-14
-5
-5
11
6
-3
-37
27
-19
18
24
7
-12
70
43
-43
-8
1
29
-17
14
-1
22
13
-6
5
0
-17
-70
30
-19
1
-10
-8
13
-21
-7
2
34
-40
23
9
47
-3
12
13
18
5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-49
-21
15
10
-27
15
0
4
-13
-7
-19
-29
29
-8
-38
-61
32
-39
-7
17
-12
-20
2
4
-36
-26
11
-1
-6
-5
41
24
-15
-14
-1
-4
-6
10
-6
-23
3
-2
-33
-17
18
-15
-53
10
13
-39
-45
8
-12
19
1
0
-13
2
10
50
-37
11
-2
2
-61
17
3
16
0
5
-17
45
17
-17
-15
28
9
22
53
17
-12
-12
-39
0
-11
-40
29
9
-33
-62
3
-25
-59
6
-36
64
-11
9
-25
-24
16
-17
-79
-19
4
7
27
27
-29
9
-20
10
-84
16
6
14
22
14
0
1
-7
25
-2
14
-3
-6
37
-16
-4
-14
14
11
13
-11
-13
0
-5
-20
4
0
-13
-13
46
44
-13
3
2
3
-29
-12
-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
-22
11
0
0
-1
0
0
-6
34
0
63
1
0
0
0
11
0
0
0
0
0
0
65
-19
0
0
-1
0
0
24
0
0
0
0
0
0
-29
0
3
-1
0
0
-5
0
0
0
-18
0
0
1
-15
0
0
11
1
0
0
-42
0
1
-14
0
0
0
-2
0
0
35
0
0
0
25
0
0
1
0
-2
0
7
0
0
-1
0
36
0
82
0
0
0
0
0
0
-44
24
0
0
0
0
0
11
0
-8
0
0
0
3
-6
0
-4
0
0
0
0
-20
0
-4
0
0
0
0
14
0
0
-10
0
0
0
-41
0
-6
6
0
0
0
-33
0
1
-10
0
0
0
5
0
6
0
0
-2
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-63
0
0
-16
0
0
-7
43
0
-25
-3
20
0
2
41
0
0
0
6
-4
0
-14
28
8
0
5
0
0
12
0
0
0
0
0
21
-1
28
-2
3
12
0
58
53
0
-2
39
0
0
-19
-44
2
3
41
80
11
-13
20
0
3
-22
-2
2
-2
-12
0
1
-42
-24
1
-3
-18
0
-10
-3
0
-1
6
69
-2
0
38
3
1
-1
-7
4
0
0
0
0
0
-29
6
0
0
1
0
0
26
0
5
0
0
7
10
2
0
-1
-13
-8
0
0
-30
8
28
21
0
-7
13
6
6
0
-3
48
0
0
22
0
-60
-9
-1
0
0
-40
0
0
-2
-4
0
0
36
0
-24
0
-1
-4
0
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
6
27
-30
38
-3
-3
-6
-16
-14
-9
34
-11
-2
40
-2
-30
53
29
-70
-19
13
7
-5
-16
9
-7
-25
-30
15
14
0
-47
36
9
19
3
-25
28
16
-6
26
3
-7
-2
5
5
2
-6
15
-10
-25
-3
6
-12
-12
29
-5
-29
-3
16
22
25
20
10
29
-10
22
-20
-15
25
2
22
1
45
-18
17
32
5
-1
-5
10
8
3
-13
4
-21
12
9
11
-5
36
-2
-22
77
5
-5
10
-28
18
19
5
5
2
-38
-20
6
-27
-11
17
-29
-38
27
-16
5
-3
-2
51
-49
-17
-14
10
37
-3
-22
-23
13
-7
41
17
17
-51
4
34
0
38
8
13
-1
22
1
6
-7
-8
-20
-35
-18
51
8
-9
-75
-2
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-4
-2
-13
21
-14
13
0
3
0
11
2
9
-6
19
-31
0
12
7
0
4
0
7
-12
8
-9
2
52
-8
-31
-29
2
0
6
-2
-22
4
-14
19
-10
-2
-21
15
-3
3
17
10
1
10
51
-11
6
-8
34
-9
42
-7
-3
28
-8
12
0
20
41
-7
-1
-10
13
1
8
32
-1
0
7
51
0
43
17
-2
2
-15
24
13
-9
0
-9
-29
-13
-2
0
-12
1
-16
-12
3
10
0
0
-69
-17
-1
-6
79
0
1
9
2
0
40
20
0
0
75
-6
0
35
-25
-4
6
-84
-2
-2
3
8
-33
-18
-34
-14
1
-15
30
-2
22
13
4
0
77
-6
0
96
9
-6
1
19
-62
13
34
0
5
8
4
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-55
0
0
-18
0
0
-19
-33
0
-14
50
-36
0
-4
-18
0
0
0
0
0
0
3
12
-27
0
16
0
0
37
1
0
1
0
0
0
0
2
-20
5
10
0
-31
-15
-1
0
-11
0
0
17
-15
0
-5
19
-9
0
40
-43
4
0
-19
4
0
22
-17
0
-9
-9
-22
0
-11
20
0
0
16
0
0
8
2
0
-1
-22
-12
0
0
-7
0
0
0
-3
0
0
48
-8
0
0
0
0
0
13
0
-3
-8
18
0
-3
-6
0
-5
-22
-35
0
-30
-61
0
-26
-31
2
0
14
-33
0
0
43
4
0
-2
-15
0
56
25
0
0
-3
29
7
18
-3
11
0
0
0
0
1
-1
0
0
0
-10
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
-69
44
-15
13
11
-4
-32
45
0
18
37
26
-38
-4
0
4
-20
-28
15
-7
47
-3
1
-65
-24
-25
0
-22
6
-15
9
-9
2
-3
-6
-14
6
-34
6
7
9
-3
-5
4
-81
56
19
11
14
21
13
6
12
34
-8
-23
1
20
17
47
3
0
-14
-104
12
-9
22
13
-29
4
17
10
-6
-21
-13
-15
10
0
3
15
-6
-1
-17
-4
2
-9
-8
-9
-45
23
0
-58
6
63
-10
14
0
8
-55
-7
0
-24
12
-35
-21
-17
4
-13
1
7
-26
-8
22
-3
4
-8
18
-17
18
33
1
-17
18
-4
29
10
-4
0
-5
38
18
33
21
0
1
1
-11
9
-23
-6
0
5
13
-7
-17
-72
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
2
13
-10
-6
24
-10
-42
35
-8
-27
-31
-44
-9
13
11
15
-34
-76
-27
8
-34
20
39
-64
9
32
2
3
-7
11
-1
-32
-11
-9
-42
9
3
-68
-24
-9
5
38
-31
-2
-11
-7
9
3
-18
-2
25
-5
7
11
0
8
21
16
-3
-41
27
-7
-29
19
19
-25
12
38
13
-16
-1
10
-21
-17
-1
-6
-48
-77
-31
-6
-11
-52
14
26
-77
22
9
-27
5
1
-7
4
8
-24
-51
-61
10
-22
6
-4
8
4
-3
3
67
-3
-8
-40
6
14
10
-7
20
9
4
-10
55
0
-6
9
11
-51
13
-25
3
21
2
12
6
16
33
2
-54
-32
-3
6
-1
16
5
-4
-2
-42
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
8
1
0
0
0
-16
0
0
0
0
0
0
15
0
1
0
0
0
0
33
7
0
0
0
0
0
-5
0
-1
8
0
0
3
5
0
0
-15
0
0
-3
-18
0
0
22
-7
0
-1
-9
0
0
-18
0
0
6
-44
0
0
-9
28
0
13
-4
0
0
-2
0
0
0
9
0
0
0
28
-7
0
-29
0
0
0
0
0
0
1
8
0
0
0
0
0
-33
0
0
0
0
0
0
13
0
7
-1
6
0
0
-11
0
22
-10
0
0
0
30
0
-4
0
-9
0
0
2
0
1
0
0
0
0
38
0
0
0
0
0
0
0
0
-1
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
-33
-29
0
-45
6
70
0
0
-35
3
0
12
0
6
0
-18
-2
25
0
0
0
0
-15
-1
0
1
0
0
0
33
-12
-9
8
0
0
0
9
0
-10
18
0
0
-10
-13
0
0
48
-4
0
-3
-21
0
4
-62
0
-4
-1
-21
0
0
8
5
10
0
-3
0
0
-1
0
7
0
-23
0
0
-45
-1
6
0
-9
0
0
0
0
0
0
-52
0
0
0
0
0
0
6
0
0
1
0
0
0
67
0
0
-3
-2
0
-7
18
0
0
-11
0
0
0
4
0
6
-3
-2
0
0
-54
0
1
27
0
0
2
46
0
0
45
14
-28
0
-3
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
18
11
-12
-2
28
-1
-36
36
-1
-16
-3
0
-33
-15
-1
3
0
-45
-2
-17
-3
14
8
-47
-44
-6
-8
18
21
1
-9
1
5
22
-36
-7
8
-19
-20
-1
40
19
15
7
-51
19
24
-5
-30
24
-4
68
49
23
33
10
-17
12
21
3
13
28
4
56
9
-7
15
-39
-7
23
37
10
-2
-39
-21
4
-7
-3
4
30
-11
-6
-21
0
20
-2
-41
-28
24
-19
25
-31
1
-4
-24
-35
-2
22
-45
6
46
31
-6
-13
-12
9
10
-17
-27
-3
26
11
13
2
21
-18
-9
-11
24
9
2
-29
-9
37
-8
71
27
9
-12
11
23
17
-3
-12
9
-13
-15
4
-23
-3
51
-1
-27
-54
13
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
20
0
-28
-14
0
0
16
-17
0
0
0
0
-20
0
-3
1
1
0
0
0
0
-65
6
0
0
0
0
9
27
-2
-2
-20
0
0
18
-17
0
0
-1
0
0
50
-11
0
10
9
-5
0
-8
-19
1
0
-11
0
10
0
-13
-4
0
-10
0
0
-14
32
0
7
-31
0
-6
3
-32
0
0
-1
11
-5
0
-15
2
0
0
0
0
0
-72
6
0
0
0
0
-8
-7
0
30
3
0
0
2
-10
0
-22
32
0
0
-2
0
0
-21
25
0
0
4
1
0
0
71
1
0
0
-28
2
-66
12
0
0
0
0
0
0
38
3
3
0
4
0
4
-44
0
-7
0
-61
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
54
0
-52
42
-1
0
6
-12
0
0
-1
0
0
0
8
4
11
-2
51
0
-3
-30
-20
0
0
0
0
37
29
0
11
-18
29
0
-31
-10
0
0
-20
-8
0
-17
-8
47
-4
36
-8
0
-7
-15
10
-29
-15
0
0
8
7
-10
0
20
-2
-9
26
32
0
0
19
0
0
0
14
0
0
49
9
0
0
31
12
0
0
2
0
0
-8
6
0
0
-3
0
-1
-50
0
6
-21
0
0
12
23
-1
-1
3
-14
0
-3
-20
0
35
33
1
0
-9
-10
0
24
-46
-1
0
11
4
0
-53
20
0
0
-13
-6
0
19
3
-7
0
0
1
0
12
-7
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
-3
40
2
2
-13
-7
-23
0
-31
-12
24
0
-70
3
0
-26
5
6
0
-1
-3
-3
-12
35
-21
1
2
60
34
1
1
3
-18
-17
0
73
9
3
-46
5
19
-38
4
4
-33
38
13
21
-22
-7
9
0
12
15
-4
-9
0
6
-7
10
-12
20
7
7
16
0
15
-1
-12
12
0
-36
-16
0
0
-2
-6
-1
-28
-69
-3
0
13
0
-20
-3
1
-65
-39
0
-62
41
-9
0
-62
-2
9
-2
-27
5
-9
-70
8
15
-7
2
-7
-7
-48
24
0
17
1
23
0
10
10
-9
-1
4
1
0
-27
13
-2
6
0
-16
0
-4
1
48
4
0
-32
-16
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
11
37
13
-5
10
18
13
5
-13
19
-4
-63
-24
-15
-1
-27
-45
19
45
-24
-8
6
-8
1
-3
8
-23
24
-6
-58
-14
10
-32
-5
-1
-7
18
-11
-3
-6
-24
14
-5
11
-2
-4
-28
2
26
-8
-47
8
-1
-2
11
59
0
18
-7
19
38
20
81
28
18
-35
17
-19
5
4
1
-16
17
15
-78
-19
6
2
24
-6
1
11
-6
-31
6
25
-13
5
35
-32
20
5
-24
-16
-1
-15
34
-24
7
-22
-3
7
26
-3
4
0
40
-8
-21
-30
19
8
-2
-30
28
14
83
-21
35
0
-36
-75
28
-2
12
42
11
5
33
-9
-2
3
117
8
19
-8
18
-57
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
-3
0
0
0
0
0
0
-73
9
0
0
0
0
0
63
0
0
0
0
0
0
13
0
0
2
0
0
0
52
0
0
21
0
0
0
-7
0
0
29
0
0
4
34
0
0
11
0
0
0
-35
0
0
4
0
0
0
-8
0
0
0
0
0
0
5
0
0
0
0
7
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
11
0
0
0
0
-5
0
3
0
0
0
0
-25
0
6
0
0
0
0
24
0
0
-1
-1
0
0
-32
0
0
2
0
0
0
61
0
0
0
0
0
0
32
0
-7
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-1
6
-30
-45
17
-1
-49
-3
60
-15
-4
75
18
-11
-21
-74
-41
-49
6
3
1
-20
-2
-7
10
12
-12
17
-2
-16
15
39
-7
-6
-43
4
0
13
10
-2
-16
13
12
-4
-7
34
-10
-4
-26
-10
11
23
27
8
5
-5
33
19
-1
0
16
12
39
-44
-19
-22
16
-2
3
-4
2
-30
26
31
-18
12
6
-19
8
-52
2
-41
-9
-18
15
-37
-60
-3
-29
-4
25
-13
-25
-10
17
-11
-13
32
-24
-30
-2
-22
-11
-10
-6
-15
4
12
-2
-18
13
25
17
24
0
-41
7
-2
45
-32
-26
-5
4
23
13
14
-17
12
-13
16
-17
10
13
-26
-10
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
33
0
1
-3
-40
-3
-9
-16
-34
-18
-3
-21
1
8
-15
-42
-14
7
-3
0
16
1
-29
-14
4
13
-14
-13
20
14
18
9
5
21
-7
17
52
-13
1
7
-17
-25
-8
-2
-36
-12
0
-7
1
-9
8
-92
-2
26
-26
7
0
6
81
-12
33
13
-50
31
-7
-17
11
-7
2
0
-25
-4
9
0
22
-5
0
-26
-15
4
-3
21
-1
54
2
-3
-39
-32
-4
-7
-6
2
-15
-27
9
-5
13
-3
7
35
-7
-12
23
0
-31
-14
-40
8
-27
-27
34
20
-8
0
24
36
-22
19
-1
17
-2
-50
-14
35
-91
-6
17
2
17
-40
-1
26
0
-19
-24
45
1
-19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
17
0
-1
-35
0
-48
0
7
-33
32
0
1
0
0
-5
-35
-4
-9
22
1
26
17
-9
-55
31
-8
-11
39
-1
-2
8
8
0
25
16
7
1
55
6
15
-6
30
-9
3
14
6
10
5
22
-6
1
-7
27
-2
39
13
-2
0
-3
4
0
10
32
10
0
-2
12
0
27
0
10
-2
0
0
-19
-29
0
-3
-28
0
-3
0
0
-48
-23
0
21
35
0
-9
1
-11
-1
27
31
0
7
14
22
-3
47
21
0
-2
37
-10
0
42
-11
8
27
58
0
0
55
14
0
-8
0
6
0
12
0
0
-5
-12
-6
0
-13
17
0
-13
0
22
12
-3
-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
2
-6
0
0
-2
0
0
0
26
24
41
0
20
0
0
6
6
11
0
0
0
-14
-4
11
6
-14
-39
0
-10
2
0
0
24
0
0
-10
-9
0
2
-30
-15
0
41
-13
0
-6
4
28
0
-11
-10
2
4
-33
-28
0
27
14
0
0
28
0
0
-6
-48
0
0
-27
6
0
0
19
1
0
0
-6
0
1
6
28
0
0
0
0
-4
-15
0
-3
0
0
0
13
27
0
1
-22
-12
0
-4
7
0
1
18
8
0
10
-6
0
17
14
4
0
-7
-12
6
-9
29
0
0
17
-34
4
-17
17
19
0
7
-11
0
49
-4
-6
0
0
-50
10
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
6
-2
10
3
-5
0
0
12
-3
0
0
0
0
9
-33
1
-3
3
35
21
-32
-4
0
1
11
0
-8
11
6
0
3
-6
25
-3
0
20
0
7
22
41
41
-1
27
0
0
36
-15
-22
0
29
-4
-2
-22
-4
15
0
51
0
0
0
-8
-16
0
-4
29
0
0
7
1
0
2
-1
-7
0
0
0
0
-7
-12
12
-33
0
1
-16
-14
0
2
-55
0
2
-4
-16
0
-60
18
0
-12
21
0
0
0
-42
10
2
-4
3
0
16
28
0
-6
0
-23
0
0
-26
4
1
0
14
0
-20
-3
-2
-10
0
1
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
-9
2
46
-16
18
28
-3
12
5
-1
9
4
-73
-30
16
1
-56
7
4
-9
16
5
-2
1
-12
-19
-14
-21
-3
-5
21
-10
-7
-1
-53
4
0
32
2
8
19
-8
4
-4
0
26
-3
-12
-29
25
5
-1
-48
25
32
0
17
0
29
-25
-12
8
-4
-1
0
17
7
-60
-58
-14
-5
5
24
12
5
47
31
31
5
5
8
-1
-90
7
16
5
-31
-31
13
-12
33
28
2
3
-7
-2
18
25
26
1
19
-23
3
2
-11
-21
0
-6
-14
-5
-57
-31
-16
0
84
15
20
3
9
-24
0
7
23
1
23
45
-13
3
9
2
-33
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
-16
0
0
-9
0
0
6
-13
0
0
6
0
0
-6
-27
-1
0
-17
6
0
0
-16
0
0
-1
0
0
0
57
0
0
1
21
0
0
38
0
0
-9
0
-3
0
2
0
0
0
1
-1
0
-30
0
0
0
0
27
0
47
0
0
0
0
0
0
6
0
-2
0
0
0
0
-14
0
0
0
0
0
0
-25
0
0
0
0
0
0
24
0
2
0
0
0
0
5
0
15
0
0
0
0
32
0
0
-1
-16
0
0
1
0
2
0
0
0
0
-3
-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
-28
-1
1
0
0
0
0
20
-8
0
0
0
0
0
16
0
0
-1
-1
0
-9
-25
0
0
-8
0
0
36
55
2
0
-4
-1
0
-22
25
0
0
9
0
22
3
-38
0
0
-3
-1
0
-3
-77
0
0
-3
0
-4
0
-27
0
0
0
0
-2
0
-9
0
0
0
0
0
0
-24
0
0
6
0
0
0
3
0
-2
0
0
0
0
46
0
0
-2
0
0
0
69
0
0
-1
0
0
0
9
0
0
-1
-7
1
0
-11
0
1
0
0
13
0
2
0
0
2
0
0
0
-6
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
-6
-3
-10
0
38
-7
0
-3
4
0
0
0
0
0
4
61
-12
16
28
20
1
2
0
0
-25
0
6
23
26
2
-1
8
-25
25
-38
15
-2
0
-17
0
46
6
-12
0
0
2
28
75
-1
29
0
0
0
0
12
0
27
0
-8
0
-27
25
0
-17
15
0
0
-15
0
0
-59
0
0
0
0
0
0
3
0
-21
-16
0
0
0
-70
0
8
11
0
0
0
22
0
7
16
0
0
-1
21
0
-1
-5
-29
0
0
2
0
-12
-1
0
-3
0
-8
0
2
0
-1
-12
0
-17
0
25
0
0
-3
0
-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
40
10
-8
0
0
0
0
9
-8
0
0
0
0
0
-46
0
17
15
0
0
22
-19
0
0
3
0
0
-20
-29
0
6
-3
-7
0
-14
-13
0
0
7
0
2
17
12
0
0
16
15
-3
4
-60
0
0
-2
0
-7
-10
18
0
0
-19
0
18
0
4
0
0
0
-4
0
0
-31
-8
0
0
0
0
0
20
0
1
0
0
-3
0
8
0
3
-7
0
0
-6
-80
0
6
-1
0
0
0
-13
0
19
85
10
41
0
-7
0
-6
11
0
-3
0
1
0
0
0
6
0
0
-46
0
-2
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
18
-27
-9
-47
0
-50
0
2
-23
-4
11
0
0
0
-38
32
-5
30
2
5
0
21
11
0
6
-15
-3
0
37
-2
-2
9
-4
-11
0
20
0
-12
-14
0
-4
0
58
23
0
-8
14
19
0
-1
-6
0
-5
-21
-2
0
12
19
37
-6
-50
-45
0
0
-18
40
0
0
4
0
0
7
-11
0
10
-3
0
9
11
3
5
-7
0
0
25
7
0
28
46
12
0
-2
-2
-17
-2
-9
-4
0
14
11
0
12
4
-10
0
-10
17
-2
0
50
8
0
53
22
3
49
29
-8
0
38
-2
0
-11
12
13
0
0
-7
-45
8
16
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-39
0
0
0
0
0
0
-30
0
0
0
0
0
0
19
0
0
-2
0
0
0
23
0
0
2
0
0
0
-50
0
0
7
0
0
0
14
0
0
0
0
0
0
7
0
0
0
0
-13
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
10
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
-3
-4
0
0
0
1
0
2
0
0
0
0
56
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
42
-3
16
-30
-36
34
-8
24
-10
-7
-11
1
21
-10
20
3
-16
12
27
1
15
18
-5
-29
-7
5
2
2
5
0
8
-5
-2
-52
-2
-5
0
-20
15
12
-34
-13
-15
2
13
-39
-19
-6
-5
5
-1
-47
-1
8
10
-1
-2
0
-53
6
-34
-30
-24
23
0
5
41
-31
9
-30
-13
8
19
-4
9
64
-4
38
5
39
-22
25
-14
-53
32
7
7
-1
11
-5
68
29
-3
-36
-17
-1
14
-9
19
6
27
-7
3
48
36
-6
4
-23
-61
-1
-13
0
-23
-1
-28
-9
36
-30
12
-16
0
-41
-13
-56
-53
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
10
8
0
-1
-77
2
12
46
12
1
-8
36
8
0
-1
-20
-15
8
-19
5
2
-1
-7
1
52
-63
-1
-59
11
-10
10
40
3
4
-1
5
-29
-44
38
-4
7
0
-17
3
-4
-26
12
-2
18
-7
32
-36
-8
2
-6
0
1
0
0
9
0
-1
-10
-1
-2
-10
-16
-8
-12
2
10
-15
0
39
-12
-17
-9
27
35
1
0
-4
-5
-10
-53
33
33
-7
12
-41
0
25
34
-42
-27
-5
11
-3
-14
20
11
-28
-8
1
-13
9
53
13
37
-3
-19
0
4
-1
0
-28
0
1
0
7
-19
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
20
-33
0
1
3
0
-28
3
12
-33
2
-1
51
-20
-30
0
0
-32
18
-6
-2
-23
-3
17
-32
25
-2
0
2
6
-6
-15
21
61
12
-6
0
1
-22
23
-73
18
-15
-2
-11
2
-2
-8
12
35
0
23
1
-9
-7
0
-19
10
-11
11
0
-6
-10
-3
-13
0
-2
-6
0
21
3
1
-17
-22
0
-2
38
6
1
35
6
16
0
25
-11
0
-5
-5
-2
8
-3
-4
0
8
35
-11
-2
4
16
0
13
1
-12
32
-17
-8
0
-18
-31
4
26
-8
-48
0
2
7
-11
24
0
-24
57
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
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
-15
0
0
0
0
0
0
-8
0
9
2
0
0
11
-89
0
0
0
0
0
9
-11
0
0
-1
-11
0
0
22
0
0
0
0
-2
0
-1
0
0
0
-3
5
0
-17
0
0
0
0
6
0
-5
0
0
0
0
0
0
-12
0
2
3
0
0
0
3
0
0
0
0
0
0
-10
0
0
2
0
0
0
27
0
0
-2
0
0
0
-33
0
-15
0
-7
0
0
-33
0
0
0
-7
0
0
-74
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
7
-19
0
0
0
6
2
8
-18
20
35
3
-12
-16
33
0
0
9
0
-27
26
-12
0
1
32
-2
-10
-17
-14
-8
1
11
-1
24
17
-41
7
-18
-24
-1
-12
48
-8
0
6
58
0
40
16
13
0
-14
-6
11
-8
0
14
-25
0
0
0
30
0
5
13
0
0
0
0
-4
-24
15
-18
-22
0
-6
-11
3
-4
-3
55
0
-13
23
-31
0
9
19
19
-15
8
-20
0
-63
-8
-6
-30
15
-4
0
-22
0
0
47
41
-4
0
1
1
0
53
7
-10
0
-14
3
0
8
0
0
11
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
-15
0
0
0
0
-2
-31
16
0
-83
0
0
6
-27
0
0
-23
0
0
-31
-13
0
0
19
-5
0
26
23
0
0
45
0
0
-2
-86
0
0
-2
-3
0
-1
19
0
0
12
0
0
0
64
4
0
2
-1
0
0
28
-7
0
0
0
0
0
-46
0
0
0
0
0
0
2
0
-12
0
0
0
0
-34
0
0
-10
2
0
3
-42
0
32
22
2
0
5
16
0
-9
57
2
0
3
-15
0
-30
-6
4
0
0
-39
-2
0
-3
0
0
0
30
0
-33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
2
14
0
0
-30
0
0
0
-16
0
0
48
1
0
-15
10
0
0
-16
0
0
3
-11
0
0
-11
1
0
1
29
0
0
2
0
0
0
-6
0
0
0
14
-4
0
45
0
0
0
0
0
0
-13
9
1
0
0
0
0
0
0
11
0
0
0
0
22
0
0
0
0
0
0
8
0
0
-12
0
0
0
-14
0
0
0
1
0
16
92
0
3
0
0
0
0
41
0
0
0
0
0
0
15
3
0
0
0
0
0
12
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-11
-6
-12
-3
-39
-1
25
-15
-3
-12
-30
18
5
-6
-22
19
-29
-10
-4
0
-15
-13
20
0
8
-16
8
-32
-9
14
3
3
-2
9
24
-17
11
10
14
2
6
59
17
2
26
12
-38
5
-2
-2
25
13
4
-43
0
-4
-31
-29
-73
-6
-56
13
39
-26
-25
-11
-5
-2
-7
-40
21
11
-3
0
-15
14
-10
2
5
-18
-9
-12
-9
15
11
9
2
-12
-7
7
-2
26
-16
32
-19
-28
3
-36
-39
-6
6
-12
-26
0
38
-21
-38
-20
23
15
15
-8
-35
-40
-23
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-82
33
9
31
15
12
13
2
49
16
-11
0
-32
-26
4
-16
7
44
-1
-65
-12
18
7
2
3
-5
-37
3
-7
0
-11
26
3
17
0
1
-10
-26
1
-47
0
-10
0
6
3
-8
15
0
24
-14
-11
0
0
0
-10
-4
5
-10
-10
-5
-1
-4
-1
0
6
40
6
1
7
31
0
-22
3
29
0
2
-8
0
-25
72
10
-4
0
-15
2
-52
0
-7
0
10
-23
-11
-15
9
0
-1
0
20
6
10
-16
58
7
0
-11
0
-5
-2
-2
-20
0
3
8
20
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
-73
-11
0
87
-10
1
12
12
0
0
3
0
0
21
23
15
0
46
-2
0
-2
9
0
0
23
-1
7
0
13
30
0
0
-1
0
0
-50
0
0
-4
0
0
0
12
0
0
0
-15
-4
0
-35
-1
0
0
0
0
0
37
0
0
15
0
0
0
60
0
17
2
0
0
0
37
0
0
-2
0
0
0
-16
0
8
-3
-6
0
0
-42
0
0
-5
-27
4
0
-79
0
-7
-3
0
0
0
-9
0
0
0
0
0
0
23
0
4
0
0
-9
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
18
4
0
61
4
1
1
-45
0
0
-43
-19
0
2
25
6
2
40
-13
0
8
-23
4
15
-4
28
0
0
6
7
0
0
13
0
0
3
0
-6
0
-23
0
-1
0
0
-4
0
-25
0
0
0
0
0
0
17
-2
0
0
-1
0
0
3
12
-3
4
0
0
2
-54
0
10
-6
-15
0
0
3
1
0
6
0
0
0
26
2
-24
-6
3
0
0
35
0
-6
10
0
0
0
10
0
-1
-1
0
37
0
9
0
-5
0
0
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-72
0
0
32
0
-10
0
37
4
0
-7
3
8
-8
-8
0
0
4
0
19
0
-38
0
0
-6
0
0
16
-21
0
0
0
0
0
0
12
0
0
0
1
-4
0
-1
0
0
0
0
4
0
-33
0
0
0
0
0
0
8
0
0
0
0
0
0
56
0
0
11
0
0
0
-32
0
16
45
0
0
0
30
0
0
-2
3
0
0
36
0
9
0
0
0
7
-5
0
0
-15
0
4
0
-53
0
-10
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
-25
0
-4
-4
0
0
4
-37
0
0
88
0
0
11
-35
0
0
-8
8
0
88
26
0
0
0
6
0
0
53
0
0
-10
0
0
-3
15
0
0
0
0
0
0
1
0
0
-3
8
0
0
39
0
0
0
0
0
0
-4
-8
0
0
0
0
0
91
0
-1
0
0
0
0
34
0
17
27
0
0
0
33
0
-1
-9
0
0
0
38
0
0
1
-8
0
0
43
0
9
4
0
0
0
6
0
0
6
0
0
0
-35
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
-20
-2
-6
-5
-30
1
13
-5
35
0
3
-27
19
2
-39
-13
-9
19
3
36
-2
30
11
0
-22
-11
1
-11
11
-12
0
-3
-1
-7
-16
19
-10
-7
16
36
32
15
0
25
-10
0
0
0
43
0
-2
-13
-2
0
-12
-2
11
5
0
-10
-10
0
0
1
19
4
57
38
-18
0
22
11
8
-32
33
-8
0
-7
2
-8
-41
-3
-11
0
-12
14
0
42
-9
0
-4
1
8
-3
-8
-60
-2
8
0
8
1
-65
-13
0
-3
0
49
-14
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
12
1
-26
-32
13
-45
-18
-1
20
3
3
-1
-18
15
-20
0
7
-4
3
-16
4
-3
8
42
-18
6
27
-45
-38
-2
31
-38
-17
-5
-11
-68
2
31
12
-28
13
0
34
-7
15
-12
-23
7
-6
37
18
47
-30
1
0
1
-18
0
9
-12
-5
-15
-15
-4
-1
-52
-26
3
-19
-33
-2
9
33
-5
10
-45
12
8
-5
16
-16
16
-10
-41
35
0
-33
8
-35
-30
12
-65
-5
47
5
-11
16
-10
-24
8
22
18
13
50
-11
-3
3
-21
-51
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
14
2
-1
-26
2
6
-70
-35
-26
-2
-57
-32
0
-8
-44
72
5
1
-14
0
38
-15
6
9
-10
-1
0
-11
-12
-1
-22
2
-46
0
0
-9
5
16
0
-8
-3
0
0
-21
35
0
-16
-77
-60
0
-1
0
0
22
-13
-28
4
0
0
-17
4
1
27
-32
-1
0
4
7
0
-73
46
0
8
-3
-5
0
-1
0
11
2
-13
-2
0
-12
-6
2
-2
-8
-3
0
0
-15
-14
14
17
-40
0
4
-1
11
41
0
13
-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
-10
-1
1
-3
13
0
-18
-4
-4
42
93
26
8
0
-9
-10
-3
2
5
32
1
-13
-9
0
-3
-11
4
-9
-19
-45
0
1
-83
12
-84
-2
-6
3
0
34
48
4
0
-9
-6
0
0
-10
-2
0
-5
-84
-7
0
0
-1
6
32
0
10
14
0
8
-14
4
10
-1
13
90
-6
0
-15
41
-6
15
5
-7
15
30
-34
-53
24
20
-9
1
-37
9
18
22
-37
13
-1
-7
0
9
-53
6
3
0
-12
0
-31
2
0
10
0
-10
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-27
2
-8
14
26
-3
-11
18
-11
34
-9
0
-1
19
14
17
-13
5
-34
20
29
14
-1
50
17
0
32
-34
1
-3
-1
5
59
48
6
-3
-6
-8
38
22
43
0
1
14
8
-1
-27
-5
0
-13
2
11
0
0
-15
-56
13
-13
20
44
42
-2
0
-6
-7
69
15
29
9
9
-3
-4
-41
4
65
9
17
-3
-9
-52
29
-49
-79
18
25
8
2
-11
-33
27
53
8
-1
42
-6
6
12
33
0
-1
-4
-50
-7
-2
0
9
12
13
-6
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
8
-20
0
3
14
0
4
-6
-35
-3
37
-22
-13
-10
-32
-5
-7
22
1
0
54
33
-1
-3
15
21
3
44
53
0
0
-4
-12
-1
-21
73
-10
0
-2
4
-2
11
0
7
1
-7
0
0
32
11
-16
-27
-3
-22
0
0
19
-15
-4
-29
-23
0
0
36
5
0
94
30
7
2
1
-31
1
-3
48
13
7
-21
0
2
-19
-33
-30
8
-6
2
0
0
32
0
-29
12
12
0
41
50
4
31
0
-12
0
36
-5
0
31
1
6
4
-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
6
50
0
-4
6
0
0
68
-53
-7
-3
19
26
0
-37
-66
4
6
-47
-5
0
22
-2
0
3
2
31
0
-3
-35
0
8
-64
0
0
-8
18
0
1
-10
11
0
0
-11
-13
0
0
-2
0
0
15
16
-2
0
0
0
0
-2
0
-20
-21
0
0
7
53
0
4
-27
2
0
63
-17
-2
19
73
12
0
-13
9
0
21
-7
-40
0
-4
-4
0
-16
3
0
0
-1
-22
2
0
36
19
0
0
-11
0
-12
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
25
-3
14
11
-37
9
10
-9
9
13
16
7
-43
11
-1
-7
10
9
18
-17
12
1
3
-21
-22
-20
11
-16
-1
12
57
25
16
0
9
-33
-3
-1
0
17
0
-45
-60
-16
-1
39
0
-3
-13
-4
-7
30
-7
-1
9
11
6
54
61
17
-4
-65
4
-25
26
2
-69
0
18
-9
7
4
-5
-33
-1
-11
2
-8
-9
39
-1
39
0
13
-12
-26
-2
9
37
0
16
-3
-9
-23
17
-21
0
-2
30
-23
1
10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
-31
-10
-22
-6
4
13
-6
-3
-38
-16
18
4
33
-21
11
-12
-4
13
14
-2
-28
11
-13
-3
9
-10
4
11
7
8
2
57
13
-38
-36
-52
-3
10
36
10
31
36
2
-37
-77
-19
11
-16
-1
-1
-77
6
-52
0
-3
-10
-13
-28
-11
-36
9
-9
31
-15
15
-20
1
3
-20
-9
-4
-4
3
-30
5
25
-4
10
-7
-44
-4
6
0
-29
33
22
7
-7
-5
-59
7
15
-8
1
73
14
-15
21
26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
-2
0
0
-6
6
0
0
0
-7
0
2
74
3
0
4
-56
0
0
0
0
-2
0
-41
0
0
0
0
-12
0
6
0
0
0
0
0
0
1
2
-24
12
0
0
0
88
0
5
2
0
0
0
23
0
10
-3
0
0
0
-24
0
-5
22
0
0
0
-48
0
1
-2
0
0
0
-11
0
-2
2
0
0
0
3
0
0
-1
-6
0
0
-46
0
-2
0
0
1
0
-22
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-38
0
-4
9
-3
0
-10
8
-3
0
-24
1
-1
-7
25
0
0
-35
30
0
-2
-12
0
-4
5
0
0
0
43
0
0
0
-11
18
0
-8
0
0
0
0
0
0
31
7
0
0
0
0
0
18
0
41
-4
0
12
1
38
0
0
-36
0
1
0
30
0
43
-11
-4
0
3
34
0
0
14
-16
0
1
-26
-1
2
44
0
0
0
-18
0
0
-9
0
0
3
-9
-7
-10
0
0
3
0
-67
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
-19
13
28
10
-15
4
-29
20
-7
-35
-21
-16
20
-3
69
19
-24
-16
32
14
0
3
-2
-40
10
31
-13
-4
12
-25
28
0
2
23
-21
-23
9
0
-18
-13
-10
-43
-27
-13
12
-39
-1
13
10
1
-77
-7
-89
20
16
17
50
21
29
10
-11
4
18
-2
-7
30
60
-4
-9
-31
-18
-8
13
-33
-85
4
3
-20
-2
-16
-18
93
21
63
-67
-4
-6
30
-7
-3
-2
11
19
-20
4
0
19
0
-25
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
84
-11
0
76
-31
0
6
2
0
-11
-8
-17
0
1
67
3
7
0
8
0
-8
-8
0
1
0
-61
0
0
-21
0
3
0
-14
0
0
0
0
0
0
-6
0
0
0
0
0
0
95
0
-9
-4
0
0
-4
41
0
-7
-17
0
0
0
-24
0
-51
7
0
0
0
-50
0
0
7
0
0
0
-42
0
10
-11
0
0
-2
-48
0
0
0
0
16
0
0
0
-2
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-26
0
16
-9
0
0
-8
-49
0
0
12
0
0
-22
-4
0
0
-20
-16
0
3
-34
0
2
1
0
0
15
-53
0
-3
26
13
0
0
14
2
0
0
0
0
0
-17
1
0
0
0
0
-6
9
0
-26
-8
0
0
-16
46
0
3
64
16
0
1
18
0
67
-18
0
0
11
11
0
-3
42
11
0
1
-12
0
13
-13
2
0
-6
0
0
0
12
2
0
0
-19
0
56
0
0
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
27
-1
11
43
-1
-34
-60
-5
-15
5
27
-17
11
-8
7
-18
-4
44
-15
50
-9
-25
12
2
-26
6
-11
18
0
17
-47
5
-2
7
38
-7
20
-14
10
29
-33
0
18
-9
3
-2
23
-1
35
52
7
26
-3
10
-23
16
46
6
46
-13
30
25
0
-18
1
10
36
-13
5
22
-14
9
-6
7
26
75
-12
-13
0
46
-30
-27
11
10
0
24
1
-5
-12
4
23
0
11
-1
3
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
-23
-10
-7
-21
-3
7
17
16
5
-6
-23
7
4
-4
-21
30
-10
-4
39
-1
-70
-30
16
11
-6
-3
5
-21
-15
37
4
-27
-23
16
0
7
-9
-8
-63
22
7
42
1
18
58
-21
37
8
-13
7
-2
8
23
-23
0
-11
-20
-7
15
-42
-37
9
-8
9
-22
24
36
26
10
-55
-7
4
-46
17
32
8
12
13
4
-14
1
19
2
-16
9
2
-6
19
-12
12
-22
4
30
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
22
6
0
15
20
0
0
-12
-47
0
-7
-29
0
0
35
-2
-2
-3
-37
0
8
13
-40
-40
0
-2
0
0
0
1
0
0
-43
-5
1
3
0
0
0
37
1
-55
5
0
0
-1
5
0
-1
28
0
0
10
-7
0
3
63
-9
0
-4
-12
0
-10
9
0
0
-3
-2
0
-29
0
2
-2
-9
-18
0
0
-8
-1
0
0
24
0
-5
0
-6
-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
11
-37
-11
-9
-1
2
-11
17
-32
0
0
-15
4
-8
12
-18
0
2
11
12
-6
-13
6
3
0
10
-7
7
0
-28
0
0
0
2
41
0
-31
-9
2
0
6
0
4
12
16
7
17
0
20
18
8
-2
24
27
32
18
12
13
-1
21
5
0
-2
11
5
-1
6
18
23
4
49
-10
11
-17
-6
-10
8
-13
-25
-4
0
-37
2
26
2
-18
0
62
0
1
-20
0
-44
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
11
13
-8
21
13
-7
9
15
14
6
-11
9
8
21
-3
15
-52
35
8
-3
-12
-24
-10
-23
10
0
4
95
29
-61
-29
-39
19
5
-7
38
-100
-28
-10
9
5
-58
20
2
52
24
27
-1
-60
1
33
0
-28
-31
-2
-31
3
9
44
50
-10
-1
-21
19
6
-9
-14
41
-9
14
5
3
59
3
-25
2
57
24
8
-18
11
-10
4
-23
22
10
48
8
-2
-3
-10
-39
-44
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-9
-7
-44
-12
9
22
22
-17
27
-29
-1
-48
-1
2
-12
0
14
9
11
-21
23
-8
0
57
-12
-12
-5
0
4
-20
9
0
4
16
0
-1
-30
4
-8
0
3
1
-19
-9
50
15
17
-15
-39
-11
1
-46
4
19
-7
-16
-2
0
-9
-13
8
2
18
1
-3
2
-22
23
5
2
-5
0
39
8
-3
3
-10
-22
0
26
19
41
-5
-1
-10
0
45
-27
0
-10
-4
-1
-2
-3
50
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-8
0
0
1
1
0
1
-5
0
0
54
-4
0
-1
-25
0
0
4
0
0
0
-16
0
4
-34
0
0
0
28
0
0
0
0
0
0
-34
15
0
0
1
0
1
32
0
6
-2
0
0
17
30
0
19
38
48
0
11
58
0
-4
30
0
0
32
-18
0
0
35
8
0
13
7
0
-64
-35
0
0
-26
0
0
0
70
0
0
0
-26
0
48
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
15
27
-34
-14
5
-24
6
-12
-46
13
24
8
-2
-22
-31
-24
11
0
14
57
-2
0
-13
-25
1
-12
17
-34
-40
-11
2
-4
-9
-39
-3
2
-3
-1
-31
-3
1
13
-49
0
-12
1
0
12
-10
2
-5
40
-15
17
-20
-9
6
34
-28
-3
20
10
11
-25
-23
35
-47
-6
-3
-51
18
-15
50
-25
13
3
18
35
3
65
0
-12
-27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-7
-1
0
11
7
57
-5
4
3
-16
21
13
-28
2
35
-1
-9
58
11
0
-12
-45
-2
-4
48
4
25
-15
31
-26
-39
10
3
-12
0
24
-49
-22
9
18
23
-25
9
-14
48
-16
10
-66
4
-2
-29
49
13
0
47
25
15
27
50
6
1
20
-18
-20
-3
10
11
9
14
4
-4
12
-10
16
1
-78
-6
24
23
-20
-5
14
1
-40
34
4
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
24
6
0
3
20
0
0
3
-6
-1
0
38
0
0
-7
-12
4
0
4
0
0
-1
2
0
0
-5
-17
4
0
3
0
3
5
0
77
8
0
0
3
8
0
-5
16
1
0
2
56
0
-20
-27
0
0
4
5
0
-19
-1
-22
0
0
-4
0
10
25
0
0
16
16
0
0
0
10
0
0
-20
0
62
0
0
0
0
-11
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
43
-31
-10
17
-16
-26
-15
-18
-13
0
-1
-42
-6
39
0
2
0
0
-2
3
2
0
20
0
0
0
1
1
0
16
7
0
0
0
0
22
-2
0
31
-16
0
0
9
-33
0
-1
-4
19
-3
-3
-35
0
12
-19
-3
0
-4
2
-11
-1
48
31
0
9
-2
-3
-21
60
-17
0
0
-65
0
0
-42
13
6
0
-9
-1
6
13
8
-11
0
62
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
7
10
-27
-10
28
17
5
-7
4
5
7
5
47
24
-25
15
-17
-5
11
-18
19
-1
6
-5
-5
0
-3
-41
-12
3
-40
45
39
-78
-50
-33
3
16
13
11
6
-43
-13
-6
-36
8
-1
-9
-5
33
1
28
-43
7
-17
-37
20
-3
47
-7
17
-16
-15
36
17
-29
-21
30
-10
6
1
-4
9
9
29
-1
12
21
10
-11
10
0
-26
-24
13
2
17
73
6
34
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-7
0
0
6
0
-8
0
-4
0
0
10
0
-20
2
-3
0
0
21
0
94
0
-46
7
0
0
-3
16
0
2
-2
1
0
0
0
-7
5
0
10
0
0
0
-17
-11
0
39
58
0
0
-7
-26
-13
-14
-19
0
-3
1
24
0
3
-78
-12
1
1
-58
0
-78
-9
0
-2
0
0
0
-3
-19
0
30
0
-26
-2
19
-17
0
20
3
-30
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
7
0
-1
3
9
0
20
-26
0
-1
23
0
0
3
2
0
0
-12
24
0
0
-2
-9
0
0
0
0
0
36
4
0
0
0
0
-21
15
0
-46
-40
4
0
2
2
0
1
45
25
0
14
-24
-1
4
5
0
0
-10
0
-1
-34
17
-17
0
11
12
-2
24
23
0
0
34
-4
0
-6
38
34
0
0
3
0
46
-4
0
0
0
-8
-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
9
23
0
0
17
40
-8
-16
6
0
-13
-34
-23
-19
2
0
16
0
19
21
8
0
-22
-18
0
-4
1
0
0
1
-8
0
32
0
1
2
-10
0
8
-49
24
0
25
-14
0
-4
-24
-10
0
3
11
2
14
-30
27
2
-7
20
-6
37
-32
-12
19
26
0
0
12
-31
12
13
-7
14
0
17
6
-5
-3
4
-8
-1
13
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-39
33
-21
8
50
9
-26
-13
30
0
-12
23
6
-3
-18
19
13
-30
-49
8
25
-19
-27
5
-31
-34
0
-11
-20
28
-21
-50
15
6
-15
3
0
13
-73
-31
9
-9
-20
-11
-15
-17
10
12
35
-9
8
46
3
-7
0
-15
11
5
4
-7
-2
-3
8
-12
39
8
15
40
7
18
-23
-7
-3
1
18
18
3
-68
-12
-1
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-9
0
0
-6
-1
5
0
16
0
0
-2
10
2
0
-12
0
0
0
0
0
0
-49
5
0
0
0
6
0
-7
0
0
-1
4
0
1
-13
0
18
-7
0
6
-10
-42
0
8
-7
-8
-6
0
37
0
0
15
0
0
0
-23
0
-32
0
0
1
0
-36
0
0
2
0
0
0
10
0
11
1
3
0
0
-15
4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
24
0
-1
0
21
0
0
9
-3
-10
0
-12
0
0
0
0
-3
0
11
-20
0
-2
0
0
0
0
0
41
-20
0
13
2
-46
0
0
72
34
-1
1
-2
0
-8
-64
0
0
0
0
0
-3
-60
34
-3
7
-7
0
16
-12
0
0
-2
-35
0
0
-34
8
-3
0
-56
0
73
0
0
5
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
9
0
-53
27
19
20
12
-2
-9
14
7
1
13
0
3
16
-22
9
-17
-5
-10
4
4
23
-39
1
4
3
12
-11
-10
22
0
-9
-8
5
-7
4
17
-16
-14
-8
6
30
-7
16
-2
8
-47
-1
56
-6
-20
24
55
-52
-1
17
21
20
-27
13
24
-5
-2
-57
-10
25
-9
13
1
-1
-34
78
22
-10
0
-4
-10
40
2
-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
10
-11
10
-1
15
0
-2
-18
-2
49
1
-12
15
-13
0
-32
-87
43
0
0
15
0
5
2
-1
15
0
0
3
-27
0
-1
11
0
6
58
-10
19
-1
71
76
1
12
9
-3
38
10
6
18
-3
5
6
-48
-3
-16
-7
16
-1
-7
13
28
3
45
-20
12
-39
21
0
12
-23
0
-11
-1
10
7
-9
-64
0
-37
-41
-3
-6
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
-54
25
0
1
-23
0
-11
-68
21
0
0
2
0
23
0
-6
0
0
-2
2
0
0
0
0
-7
39
0
-12
33
0
0
32
4
0
-2
-18
-49
0
7
-32
0
13
21
2
0
-18
0
1
0
5
-10
0
16
-27
0
15
26
-5
0
-17
11
0
0
-6
45
0
0
-18
0
-6
-9
-9
0
0
-29
32
-12
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
-20
7
12
0
-32
27
0
0
-6
0
0
-21
-16
-4
11
8
0
1
0
4
-20
0
7
2
-1
-22
0
-22
9
15
-10
34
18
-9
-55
17
-4
0
-7
-7
-4
-32
-17
4
0
3
1
-4
13
63
22
3
-10
4
0
8
44
56
0
0
13
0
-25
-1
-11
-11
0
-28
101
-1
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-7
55
-26
38
7
-11
27
7
-38
42
-16
-15
3
-9
10
-17
-26
-28
-19
13
36
3
-44
-6
8
-48
-10
48
8
84
3
14
-20
-31
-32
9
-45
-3
9
-4
-8
-14
7
-54
24
3
-16
2
25
-4
-4
6
15
33
4
6
0
44
-39
40
-3
22
6
-3
-6
5
-18
24
20
-80
12
3
24
6
-42
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
-68
0
0
0
-3
0
0
-22
0
0
0
0
0
0
-34
0
24
0
0
0
0
-36
0
0
0
0
0
0
-29
0
0
0
0
0
2
4
0
0
0
0
0
0
28
0
7
7
0
0
0
-25
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
1
-28
0
-29
0
0
0
0
0
0
-25
0
0
1
-6
0
0
32
0
8
0
7
0
0
28
0
0
-32
0
0
0
-17
0
4
3
6
0
2
9
0
0
-4
3
0
0
9
0
12
-7
0
0
0
-20
0
-2
-9
-2
0
0
-46
0
1
0
10
43
0
-4
-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
61
10
0
-16
14
8
5
0
-26
-9
-1
1
-36
-19
-3
-1
-93
-7
7
13
0
1
-8
-6
-3
41
-9
0
-45
-16
-13
63
-43
2
3
-26
19
-11
-46
-47
-40
-8
1
-15
-14
-15
-11
-22
20
-75
-3
-7
21
39
24
-4
-29
9
0
-33
19
57
-2
0
10
-1
16
-1
-6
-6
0
-25
9
2
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
-30
0
12
0
0
0
0
0
0
-14
-6
0
0
0
0
0
-28
0
-1
-1
0
0
4
-44
0
0
9
0
0
16
-18
0
11
-26
0
0
18
2
0
8
56
2
0
0
-30
0
23
23
0
0
0
15
0
0
42
0
0
0
27
0
7
-4
0
0
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
-8
6
-6
32
0
0
6
-30
-1
0
49
0
0
-1
43
-3
28
7
0
0
-20
1
-15
-7
0
3
4
14
0
-29
40
41
0
-34
5
0
-10
30
2
0
-2
6
0
-22
9
26
0
-23
12
0
-35
9
18
0
-15
2
0
14
28
14
0
-15
-9
-1
19
-6
0
0
0
9
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
9
0
0
-6
0
0
-27
3
0
2
0
0
0
-20
0
-15
0
0
0
1
-20
0
-37
-38
-12
0
-8
28
0
62
16
0
0
-28
49
0
-9
63
3
0
0
32
0
-64
59
-15
0
0
-19
0
7
-68
-17
0
-1
-18
0
94
0
0
0
0
-25
-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
19
-14
-23
-17
-32
-4
-20
-30
6
7
15
21
-33
-12
24
7
34
0
7
66
10
-23
-1
11
3
-18
14
-6
-16
12
-17
-12
0
25
32
5
11
29
53
2
-10
11
-1
2
-25
-30
-5
-37
-5
-9
7
31
-11
21
-39
-8
-30
0
-1
7
21
-28
-8
-2
0
-40
5
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
11
0
0
0
0
0
-1
0
1
0
0
0
2
-3
0
30
0
0
0
0
-35
0
0
3
0
0
0
-56
0
-2
0
-3
0
0
-28
0
0
0
-8
0
0
-14
0
0
32
0
0
0
16
0
0
2
12
0
0
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
-4
0
0
-9
-1
0
0
0
0
0
0
-8
0
11
12
0
0
17
10
0
0
-26
0
0
-13
2
0
0
-3
0
0
6
-12
0
14
24
11
0
0
-20
0
40
39
0
0
1
-20
0
0
-3
-9
-13
0
-29
0
39
6
0
1
0
-7
6
-10
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
0
-34
-6
0
-17
10
65
0
-6
0
-4
-12
-4
-34
22
0
-3
-39
-24
0
-50
-13
-24
0
-29
5
-1
17
-58
-5
0
16
6
-7
26
-28
-39
0
-2
5
-10
-47
-48
2
0
-9
-8
-6
-7
-28
14
-43
0
-14
-16
8
0
0
1
0
-27
44
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
25
0
0
0
7
0
21
-7
0
-15
0
0
0
19
-3
-95
-5
0
3
16
14
0
-15
-10
0
0
-10
15
-3
75
-16
-3
-2
-47
27
6
-7
8
-16
-8
44
2
-4
-2
30
0
27
-11
22
3
13
65
-3
-26
-1
-17
0
-32
1
0
3
0
6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
1
-15
0
0
16
21
-2
0
45
0
-30
11
0
23
9
-3
0
6
11
-10
-48
17
10
0
70
3
-7
-19
22
-25
0
3
19
3
-15
9
-3
0
-21
12
2
-3
12
-4
0
17
7
-39
36
43
-22
0
-34
-13
18
-7
-6
-16
0
0
7
13
16
-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
-20
0
0
0
0
0
0
3
0
0
0
0
0
0
-9
0
0
13
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
72
0
1
0
0
0
0
-1
0
0
0
-4
0
0
-32
0
-4
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
-27
8
4
48
5
-23
-66
-23
4
7
10
14
63
-54
21
12
-19
-36
11
-20
-73
22
17
-20
-5
14
2
46
38
2
6
-27
0
7
-22
17
7
29
-5
6
2
35
23
11
18
-46
-17
-34
-18
34
10
-54
-8
22
-34
-7
-8
0
-58
-23
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
26
0
26
4
0
0
0
-6
0
-5
-5
0
0
20
-39
-2
1
-5
0
0
25
-32
0
0
29
48
0
0
-14
0
73
-12
0
0
1
-42
0
-8
-33
-6
0
0
-29
0
-85
-12
0
-20
0
-15
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-19
0
27
-4
0
0
0
12
0
0
-4
0
0
-1
-45
0
-1
18
0
0
0
24
0
0
9
0
0
0
-31
0
-4
1
0
0
0
-30
0
0
0
0
0
0
-5
0
3
0
0
0
0
76
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
-4
0
0
0
3
-3
0
0
1
0
0
0
-67
0
0
0
0
0
0
55
0
0
0
0
0
0
16
0
-1
0
0
6
0
-22
0
0
0
-8
-6
0
-88
0
0
0
0
0
0
-25
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
-25
0
-50
6
0
0
3
-30
0
-6
-5
0
0
0
-12
15
-9
38
6
0
1
-12
0
5
0
-7
1
0
21
15
15
-6
0
0
0
-60
0
0
0
1
-27
0
-39
0
-10
1
0
13
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
-9
13
0
0
0
1
0
29
-8
0
0
-9
10
-2
-2
3
-2
0
11
7
0
-1
-4
-13
0
0
7
8
-8
6
0
0
0
23
0
0
35
2
0
0
-13
0
33
0
0
0
0
20
-11
0
25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
9
0
0
0
0
-9
0
0
0
0
0
0
-18
0
0
0
0
0
0
-25
0
-1
2
0
0
0
39
0
0
0
0
0
0
-53
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
7
-28
-17
-30
1
-4
73
32
14
10
-88
-3
12
-47
2
0
-36
13
-14
-9
15
17
16
0
-67
-24
-4
15
29
-21
-5
-5
-22
-1
-8
-50
-29
37
-19
-28
3
-7
-10
-38
14
24
-11
17
17
2
51
-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
-3
7
-10
0
-13
0
6
7
-4
-16
31
-49
-20
0
-3
5
-7
-7
-5
4
0
-10
1
3
11
28
3
0
-32
-18
11
-59
-17
0
-7
2
-33
-4
-2
-32
-32
-11
0
1
1
15
21
0
-4
0
-14
17
-12
-2
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
12
0
0
0
-12
85
-1
40
-5
0
0
3
-5
0
20
-1
0
0
20
-43
0
0
20
2
0
0
49
0
19
-4
0
0
0
-51
0
0
-1
0
10
0
5
0
-8
7
-2
0
0
-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
-5
-1
-20
15
0
0
0
-28
0
21
0
1
0
0
41
0
4
10
0
0
0
38
-1
-3
-2
-1
0
0
-14
0
5
0
0
0
0
-65
0
-2
-10
-1
3
0
33
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
-53
0
0
15
0
0
-11
59
3
-16
0
0
0
0
-11
-3
-10
57
0
0
0
9
0
57
-18
0
0
0
17
0
0
-12
0
0
0
4
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
-4
0
-2
7
0
0
0
-2
0
0
-1
0
0
0
-13
0
-2
-1
0
0
0
-6
0
0
9
0
0
0
8
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
48
6
26
-20
-1
0
-3
-103
-4
0
9
22
0
-4
2
0
7
11
0
0
0
-12
0
4
3
0
-12
0
4
0
2
0
0
0
0
-74
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-5
21
-6
-5
4
11
-29
-9
-19
-14
34
-53
43
-14
1
4
-55
14
-13
-29
-22
-3
-12
-11
-45
-48
-6
24
-1
1
-20
6
-11
-6
23
4
-4
2
6
39
-11
-14
4
-14
14
6
-10
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-16
0
-7
0
0
0
0
29
0
-16
3
0
0
0
4
0
0
-16
0
0
-1
-12
0
-17
0
0
0
0
-10
0
0
-1
0
0
0
-32
0
-10
0
0
0
0
-29
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-22
16
0
19
-93
-22
-19
-25
-10
-2
-4
-23
58
-76
-5
-6
-25
-20
63
-24
-4
-10
-1
8
-31
-9
6
22
15
0
-7
-9
-52
22
4
2
-1
-7
-28
-6
-3
0
-17
-16
0
0
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-6
-35
-15
-40
-2
6
54
-14
-13
25
11
-10
1
-33
-24
10
54
-15
9
0
-66
17
0
7
3
-2
0
10
-12
35
17
4
25
0
-35
14
0
-9
0
26
14
19
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
0
0
4
0
0
0
-33
0
3
2
0
0
0
16
0
0
1
0
0
0
-42
0
5
-13
0
0
0
-20
0
0
-2
0
0
0
0
0
6
1
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
-3
0
0
6
-61
0
-19
-4
0
0
0
16
0
0
-1
0
0
-3
-68
0
4
-1
0
0
0
-51
0
1
2
-1
0
0
-6
0
25
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-10
-32
1
-2
-1
-35
0
-55
-27
-38
1
7
-32
-7
91
6
7
0
-3
48
0
-2
-31
-16
1
0
16
0
11
-10
0
-1
0
40
-17
-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
-4
4
19
10
2
-2
-53
19
8
-76
-23
14
-9
17
-3
11
-12
9
1
27
-89
16
1
-40
25
2
44
-14
32
-2
11
27
-4
-21
11
-4
11
-39
-51
-73
-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
-15
0
-35
13
0
0
0
-36
0
0
0
0
0
0
10
0
-3
0
0
0
0
-42
0
0
-1
0
0
0
15
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-63
-9
13
-1
-30
2
0
0
30
31
20
-12
19
0
-29
-42
7
-7
0
2
0
0
27
-32
-58
0
-3
-7
-46
-4
7
-13
0
-29
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
6
10
-81
33
-37
11
-78
-16
0
-10
-25
6
-76
-30
23
-1
-36
4
19
-12
9
29
0
2
-12
-32
35
0
0
2
-23
20
0
13
0
44
-1
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
5
0
0
-71
-7
0
-17
-12
0
8
-11
29
0
-20
-17
-7
-13
-1
10
0
2
-41
0
-3
1
2
0
-51
0
0
-14
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
-6
-27
0
0
-6
2
0
-3
10
0
-1
-6
0
0
0
-8
0
-1
11
0
0
0
1
0
14
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
-4
17
0
-22
5
-4
3
0
24
0
86
-49
-11
0
8
22
4
-4
-10
-13
-2
0
23
0
-3
6
-1
-8
0
42
5
2
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
-20
-2
-46
22
-19
-2
76
25
7
47
0
20
-30
-4
-33
-6
22
-36
15
-3
18
2
6
33
8
-74
26
11
10
26
5
-44
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
0
0
0
0
0
0
0
0
0
0
-8
0
-4
-7
-6
0
0
2
0
-3
-2
0
0
0
-7
0
0
5
-3
1
0
12
0
-30
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
-17
33
-9
28
13
-1
0
-9
-20
-2
77
55
-4
-9
-25
14
8
-7
-49
-9
-47
0
6
0
-81
-42
-6
-13
0
-21
-18
-3
-1
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
-25
31
-30
-64
26
14
39
-12
-3
1
5
-4
-30
12
-20
-6
0
-12
-69
4
-30
12
14
11
-5
-42
11
16
0
4
33
-2
-6
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
5
0
-1
10
0
21
40
0
0
0
-42
0
0
-6
0
0
0
-8
0
-5
1
0
14
0
6
-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
-10
30
0
-3
-2
-1
0
0
-21
0
26
0
0
0
0
-13
0
0
6
0
0
0
-26
0
35
0
0
0
0
-38
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
42
0
7
-6
-23
7
-10
39
0
0
2
-51
-18
0
8
0
-49
5
0
-2
0
-9
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
14
-8
2
-9
33
10
8
-9
-48
-8
0
24
-8
1
-17
0
9
34
-17
3
-4
-12
-61
-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
-17
0
26
0
0
0
0
-10
0
0
27
1
0
0
-29
0
-8
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-36
24
15
0
36
-27
0
4
-32
-20
-18
0
-10
0
57
-1
0
67
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
5
1
37
100
-14
10
-43
6
0
-2
-101
-1
4
10
11
0
-5
11
0
-39
0
-18
37
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-31
28
-15
-39
8
-14
0
-1
31
-4
64
0
9
1
1
5
0
25
0
25
-37
-1
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
-35
-8
0
0
-1
23
0
0
-23
10
0
0
12
0
-8
0
2
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-28
30
2
0
-38
0
9
0
0
-35
0
-18
-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
-41
1
33
5
7
34
32
-5
0
7
0
4
25
35
-8
5
-1
-37
-85
-22
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
-8
28
0
0
-1
0
0
0
47
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
18
0
-13
17
37
-22
4
42
4
-63
-7
22
2
26
-24
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
24
26
1
-1
-17
0
5
-10
-1
17
0
-13
24
9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
14
0
0
15
-18
0
0
-12
0
-1
-6
0
-9
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
25
-17
0
0
0
-25
0
62
0
0
0
0
31
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-18
0
7
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
12
5
5
21
-13
12
-27
67
20
-18
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
4
22
26
0
29
-16
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-28
41
0
-22
13
-32
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
0
0
0
0
-25
0
0
9
0
25
0
-23
32
0
2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
2
0
0
0
0
9
-30
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-55
15
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-19
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
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
-40
0
0
0
0
0
0
7
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
11
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
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
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
13
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
24
0
0
2
0
0
0
2
0
0
0
5
0
0
0
0
0
30
0
0
0
0
0
0
-8
0
0
0
0
7
0
0
0
-10
-1
0
20
0
0
0
-8
0
0
0
0
0
0
0
0
0
-20
-2
0
0
0
0
7
11
0
0
0
0
0
10
12
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
1
0
0
0
-1
0
0
6
-4
0
0
0
-3
-59
0
0
0
0
0
51
-21
0
12
32
-3
0
-78
-25
0
0
37
0
0
9
-42
0
0
20
-2
0
0
28
0
0
4
0
0
6
-7
0
-56
-6
0
0
0
28
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-4
0
3
0
0
0
7
2
0
3
-6
0
0
24
0
0
-15
0
0
0
-15
0
0
-9
0
0
-9
42
0
0
-4
0
0
0
13
0
3
-9
-11
0
0
-4
0
0
0
0
0
0
13
0
0
0
2
0
0
-6
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
10
0
-4
0
0
0
2
7
0
0
9
0
0
0
7
0
-5
0
0
0
0
-14
0
0
0
0
0
0
-12
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-34
-57
-8
0
-22
-50
12
-75
-62
-8
5
-1
0
-1
1
-15
2
-7
-24
0
-46
-7
20
-11
-28
11
22
14
-2
23
26
-83
21
-14
-2
-11
11
1
-29
-4
31
-19
10
-16
-7
-3
7
-51
11
14
-28
-2
-14
-17
-39
2
-21
2
-29
-35
-35
4
-32
5
4
-22
-3
1
1
0
2
-15
-43
-11
-3
-15
-9
0
0
0
0
0
0
0
1
-5
-10
5
23
-11
0
-2
19
17
6
0
-1
-1
0
-6
-55
26
-2
9
0
-3
20
-40
-16
5
-1
0
-33
-20
7
-34
-52
-23
6
-37
0
-8
3
10
49
-33
-11
-1
-13
-48
-10
-23
31
5
0
12
-2
0
-3
-48
-2
0
-21
-13
8
-10
-1
11
5
-70
-25
4
-4
-35
17
0
8
-1
-4
17
-6
13
1
6
0
2
-1
-1
-14
-1
-33
-6
-14
17
-5
11
1
38
25
0
1
-59
5
-2
-39
-43
-53
-50
-13
-37
-6
32
-38
-29
3
7
-10
2
61
-26
1
9
-9
-25
-1
-25
22
0
14
42
-10
-9
-18
49
11
30
-18
-7
-1
21
-26
10
1
-43
-8
-2
-6
11
-10
10
-4
-31
-3
-11
-30
-22
-3
7
25
-1
-15
-25
71
-6
-6
-7
16
-24
-7
-8
-5
32
-29
-3
-22
-2
7
-7
13
10
11
-41
-3
1
-21
-3
22
0
6
-8
-7
-29
-36
44
-14
-20
-3
11
14
10
-17
-2
-32
-8
-29
29
-5
-20
-1
34
-43
-8
3
-4
-49
3
6
-6
-27
13
12
25
-5
5
-30
-28
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-60
0
0
-3
0
0
-38
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
3
0
0
0
0
0
0
0
0
9
1
0
0
0
0
0
9
0
0
0
-2
0
0
4
0
0
0
0
0
-3
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-8
4
0
0
0
0
-2
59
0
0
0
0
0
14
-19
0
-54
0
0
0
-65
-21
0
0
0
0
0
0
-2
0
0
-3
0
0
-2
-16
0
0
-5
0
0
0
-13
0
-20
0
0
0
0
-7
0
0
0
0
0
0
-11
-2
25
0
0
0
0
-8
0
0
0
0
0
0
36
0
0
-1
0
0
0
-24
0
0
0
0
0
0
33
0
0
0
0
0
-1
-14
0
0
38
0
0
0
-7
0
0
0
0
0
0
6
0
0
1
0
0
0
-6
0
0
0
0
10
0
80
0
0
0
0
0
0
-3
0
0
0
0
0
0
-33
0
0
0
0
0
0
18
0
0
-9
0
0
0
2
0
0
-3
0
0
0
0
0
0
10
0
0
0
20
0
2
0
0
0
0
77
0
0
0
0
0
0
-27
0
-2
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
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
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-8
0
0
0
-1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
0
0
0
0
0
0
16
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
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
-3
0
0
0
-2
0
0
-2
0
0
0
13
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
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
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
-11
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
41
0
0
0
0
0
-65
0
0
0
0
0
0
1
0
0
0
0
-2
4
0
0
11
0
0
15
3
-2
0
0
0
0
0
0
0
0
0
0
0
-35
-2
0
4
-4
0
0
6
9
0
0
14
9
0
-6
-3
0
0
-8
0
0
0
0
0
0
0
23
0
0
0
13
0
0
0
0
0
24
-16
-3
0
0
0
9
14
3
0
6
0
0
85
-30
-3
-40
14
0
0
15
46
0
0
40
0
0
-5
11
0
0
12
-9
0
7
7
0
0
24
0
0
-2
3
0
-35
0
0
0
0
-22
0
0
1
0
0
0
31
-2
0
0
0
0
0
87
13
0
0
0
0
0
6
0
0
-10
0
0
9
36
0
0
-16
0
0
-3
-42
0
-10
2
0
0
-2
44
0
0
-8
0
0
-1
15
0
0
20
-19
0
0
17
0
0
13
0
0
0
-24
3
12
0
0
0
0
-7
0
0
0
0
0
0
53
-22
0
0
0
0
0
19
0
10
0
0
0
0
10
0
0
0
-2
0
0
-17
0
-2
0
0
0
0
5
0
0
-9
0
0
0
8
0
7
-1
0
0
0
-14
0
0
3
0
0
0
41
0
-13
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
2
0
0
22
0
0
0
0
0
0
1
4
0
0
0
0
0
10
0
0
0
0
0
0
-2
12
0
0
-2
0
0
0
0
0
-29
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
2
0
6
0
-15
0
0
7
0
0
0
15
0
0
0
0
0
0
0
0
0
-19
1
0
1
38
0
-1
-6
2
0
1
-13
0
0
33
0
0
0
-6
0
0
0
0
0
0
0
0
-45
0
0
-2
0
0
0
0
0
-12
7
0
0
0
0
0
-2
0
0
16
0
0
0
-5
0
31
-29
0
0
2
74
0
0
-14
0
0
8
20
0
0
15
0
0
3
-64
0
0
47
0
0
0
-37
0
-38
15
0
0
0
-14
0
0
0
0
0
0
-27
0
0
0
0
0
0
-33
0
0
0
0
0
0
-42
0
0
-4
0
0
0
-10
0
0
9
0
0
7
28
8
-3
-13
0
0
-1
46
0
0
-42
0
0
-2
-14
0
0
0
1
0
3
35
0
0
0
0
0
0
-2
0
0
1
3
1
0
-11
0
0
0
2
0
0
-61
0
0
0
0
0
0
15
0
0
0
0
0
0
58
0
0
7
0
0
0
18
0
0
0
0
0
0
-39
0
2
-4
-8
0
0
27
0
9
0
0
0
0
-9
0
0
-2
0
0
0
-39
0
0
0
0
0
0
18
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
3
0
23
0
0
0
0
0
0
3
2
0
0
0
0
-8
21
0
0
0
-7
0
-3
-1
0
0
0
0
0
1
0
0
0
-15
0
0
0
0
0
-14
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
16
0
0
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
-39
9
0
-1
-4
0
3
31
0
0
0
-8
-9
9
-7
0
0
0
-4
0
-1
0
1
0
0
3
0
-19
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
8
0
0
-7
34
0
-25
2
0
0
56
15
0
0
41
0
0
0
-17
0
0
-2
0
0
10
-19
0
0
-1
0
0
0
-56
0
9
0
-1
0
0
59
0
0
0
0
0
0
28
0
0
0
0
0
0
-31
0
0
0
0
0
1
0
0
0
0
0
0
0
-53
0
0
0
0
0
13
52
0
0
39
24
0
2
-19
0
0
-20
0
1
0
23
0
0
8
0
4
0
10
0
0
4
0
8
0
3
0
-2
-1
0
-15
0
-12
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
15
0
0
0
-1
-2
0
0
0
0
0
0
-5
0
11
0
0
0
0
29
0
0
0
6
0
0
-12
0
0
0
0
0
0
-12
0
0
2
0
0
0
-1
0
4
0
0
2
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
-18
0
0
5
0
0
47
0
0
0
0
0
21
-2
0
0
0
0
11
0
4
0
0
0
0
8
0
0
0
-16
0
0
0
0
0
0
0
0
0
5
0
0
0
-6
0
0
5
-1
0
0
-28
0
0
-19
-2
0
0
1
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
15
0
0
0
0
0
7
-45
0
0
0
0
0
-4
24
0
-24
3
0
0
-18
-25
0
-2
52
0
0
3
48
0
0
-13
0
0
1
-9
0
0
-6
0
0
0
23
0
-2
0
6
0
0
4
0
0
0
0
0
0
-45
0
0
0
0
0
0
7
0
0
0
0
0
0
-18
0
0
0
0
0
-1
2
0
0
-1
0
-7
0
3
0
0
5
-3
0
0
40
0
0
1
0
0
0
-15
0
0
33
-1
0
0
-22
0
0
0
0
-1
0
-4
0
0
0
1
0
0
-14
0
0
0
0
0
0
35
0
0
0
0
0
0
-39
0
8
0
0
0
0
-13
0
0
0
0
0
0
52
0
8
0
0
0
0
44
0
0
0
-3
0
0
19
0
1
0
0
0
0
55
0
0
0
0
0
0
21
0
-8
0
0
0
0
61
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-66
-8
91
-2
2
31
4
15
-41
-28
16
36
30
20
11
34
36
19
-14
56
-2
0
-19
-46
16
-72
-12
29
27
-19
-3
-3
-8
6
36
-37
-5
-5
-23
14
16
-8
34
-3
2
43
-39
1
10
-13
0
-44
-25
-29
-56
-5
-3
-6
9
-5
1
19
-6
-41
11
15
1
-11
-9
0
0
0
0
0
0
0
0
23
-11
3
-3
-47
6
-7
7
-12
38
-1
10
2
-2
2
18
0
-9
-45
-6
0
26
44
12
-12
-3
2
37
47
-16
-18
10
33
14
13
-1
5
19
-7
-37
-18
-9
-3
1
42
9
-17
-10
-21
-2
7
-2
-1
3
33
-14
2
30
0
-5
32
4
-14
3
27
8
1
-29
29
-14
-3
19
2
2
-12
3
9
-8
-7
1
9
-2
-38
-14
-1
-48
-26
-6
-16
10
9
-3
-21
18
-26
0
-5
22
-1
-20
-53
18
-19
-29
-25
-10
6
-8
-15
4
-11
3
-1
23
-33
-6
26
-15
8
-2
15
-8
-15
2
-8
-11
-8
-36
2
3
50
-4
-5
-3
-8
84
-1
-15
-24
-21
-6
26
-4
-11
-6
-10
-26
-3
-8
-16
-1
-12
9
3
-4
-10
-72
15
-21
-9
-48
-7
15
-23
-30
-24
-25
-31
-23
43
-2
-48
21
-8
-27
-11
-11
22
14
-46
-60
-29
0
-18
-30
-32
-36
-7
-21
-17
5
-11
-3
-10
-38
-7
-3
-17
-4
-28
-19
-38
-35
-9
-49
-37
-7
-23
1
35
-1
-26
-13
-15
-17
-12
-26
13
-25
38
11
-52
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
70
0
0
0
0
0
0
0
2
1
1
0
0
0
-50
0
0
0
0
0
0
-12
0
0
0
1
1
0
0
0
0
-68
0
0
0
0
0
-31
0
0
0
0
0
1
3
0
0
0
0
0
1
0
0
0
0
0
-11
4
0
0
27
0
0
0
0
0
0
0
0
0
11
-1
0
0
-27
0
3
-10
0
0
0
-17
0
-4
0
0
0
0
-4
0
0
0
1
0
0
8
0
7
0
0
0
0
0
0
-1
0
-90
0
8
0
0
0
1
37
0
0
0
0
0
-3
5
0
27
4
-20
0
19
4
0
0
-21
0
0
6
26
0
0
14
0
0
0
-9
0
0
-6
0
0
-1
-31
0
3
4
-2
0
0
34
0
0
0
0
0
0
-1
1
0
0
0
0
0
17
-7
0
0
0
0
0
24
0
0
0
0
0
0
-24
0
0
4
0
2
1
12
0
2
-6
10
0
-1
-53
0
12
4
0
0
3
28
0
0
19
0
0
0
-14
0
0
-1
0
0
0
31
0
0
0
-2
-2
0
-14
0
0
0
4
0
0
-29
0
1
0
0
0
0
2
0
0
0
0
0
0
17
0
0
0
-7
0
0
-51
0
4
-2
0
0
0
27
0
1
2
0
0
0
12
0
2
0
0
0
0
55
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
-7
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
2
0
4
0
0
0
-8
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
0
8
0
0
0
0
-11
0
0
0
0
0
0
-11
0
-12
2
0
0
-2
-30
0
0
0
0
0
0
-28
0
0
1
0
0
-1
6
0
0
-1
0
0
0
6
0
1
0
0
0
0
1
0
0
0
0
0
0
-18
0
0
0
0
0
0
-14
0
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
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
3
0
-6
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
6
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
7
0
0
24
-2
7
0
4
0
0
26
-1
-16
0
-35
11
-6
-5
3
-33
0
10
-21
-12
-3
2
16
0
-78
-74
32
-3
-9
-15
0
3
7
-2
3
0
0
0
0
-22
-2
0
9
-18
0
0
32
-33
0
1
-7
0
-22
0
-8
10
-25
-2
0
-22
-7
0
-34
-35
-48
0
0
0
0
0
0
0
0
-4
-14
15
-1
-25
-5
0
13
-21
0
21
11
2
0
4
-44
-3
-8
44
5
0
-30
-31
-11
-1
-8
-22
0
-2
20
6
0
-8
0
0
-2
28
-30
-46
6
13
0
29
13
22
-4
22
3
0
-12
32
16
4
-50
30
0
20
34
0
13
10
-1
0
-2
5
0
-12
12
-51
0
-13
25
-1
39
5
-1
0
-3
10
0
-10
5
-22
0
23
-27
0
-1
-37
28
0
-1
-6
-54
-33
-26
2
0
1
16
-9
74
-16
22
8
-7
8
16
-35
-48
17
0
31
20
-6
61
46
11
0
11
18
21
-14
23
-8
0
-36
14
5
49
40
40
0
-4
8
5
-1
0
8
17
50
-15
0
-11
26
-15
0
7
-14
-2
-21
25
7
11
-2
0
4
-2
0
17
0
0
13
10
-2
-42
10
0
-4
-3
1
-33
-15
-1
0
-1
-20
-1
-6
-15
-25
0
-2
14
-7
-12
14
1
0
4
-23
0
16
36
8
0
-34
13
0
-6
20
-11
1
-42
-21
0
-16
17
-37
0
-29
16
0
36
7
24
0
9
18
37
6
9
7
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
-6
13
0
0
-27
-4
94
11
14
0
-8
-10
-29
-2
0
-1
0
-4
-8
-4
0
0
7
-3
0
-2
0
6
-12
0
2
-49
0
0
29
0
-1
0
0
0
13
23
0
0
20
0
-16
22
3
-2
44
-25
-14
13
21
-2
11
2
0
0
0
0
0
0
0
0
0
-34
67
19
10
-21
0
-29
-46
8
-2
0
3
20
-62
33
-14
0
0
-4
14
-31
-13
-39
0
0
-11
-83
-78
0
5
-5
0
0
0
3
0
34
23
-16
12
0
0
-1
-17
0
0
32
10
-1
20
-18
3
15
-21
-9
0
25
52
-1
9
-28
1
0
28
20
7
-7
-41
-7
7
26
-22
0
0
-47
4
0
-9
19
0
1
-3
-64
1
4
18
0
6
12
2
-13
0
-9
17
-16
0
-43
4
0
18
-2
0
0
8
0
-3
-4
-2
20
-20
9
-43
4
5
0
6
24
-13
-15
-84
25
8
-19
-66
25
-5
24
19
1
-1
-7
48
61
10
-12
0
0
-3
25
-5
16
24
0
-18
-14
-4
-16
0
-26
0
1
-15
7
-38
0
-41
0
0
0
0
1
0
-3
51
0
0
0
0
0
-11
0
-58
11
10
0
9
-8
0
0
29
11
3
-3
-6
1
8
37
21
0
1
-5
0
-2
-4
52
0
20
11
2
-51
1
21
-1
-1
13
9
2
-10
0
4
1
-6
7
28
0
0
12
0
-26
-5
10
0
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
13
3
0
-1
0
0
0
24
0
0
0
0
0
0
0
0
0
4
24
-9
0
0
0
0
-11
0
0
1
0
0
36
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
-57
-3
-1
-45
0
0
-4
-1
0
0
0
0
0
0
0
0
0
-28
-20
0
0
13
0
8
-10
15
0
0
-17
0
1
7
3
0
0
47
0
0
0
16
0
0
2
0
-32
0
0
0
0
0
0
0
0
-56
-2
0
0
0
0
-2
-56
0
0
-8
0
0
-2
0
0
-34
8
0
0
10
41
0
3
31
0
0
13
-25
0
0
9
7
0
9
17
0
0
-2
0
0
0
10
0
73
-8
-5
0
0
36
0
0
4
0
0
0
9
0
0
0
2
0
0
-30
0
-1
0
8
0
4
-22
0
0
-13
2
0
18
0
0
7
24
0
8
-12
88
3
13
-18
-5
0
-22
6
1
1
-16
-6
1
0
-56
0
3
-2
-1
0
0
2
0
3
1
0
2
0
-40
0
0
1
0
-11
0
4
6
0
0
0
0
-1
-38
0
0
0
0
0
2
-42
0
-3
0
0
0
0
0
1
-2
-1
22
4
9
-57
0
6
8
0
0
0
-2
0
0
-8
8
0
-1
-15
0
-3
0
0
0
0
-10
0
0
-9
0
0
0
50
0
-1
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
-18
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
33
0
0
0
0
0
4
0
0
0
0
0
-53
0
0
0
0
0
2
0
0
0
0
0
21
0
0
0
-9
0
0
-50
0
0
0
8
0
0
0
0
0
0
0
0
0
-6
15
0
-2
-4
0
0
8
0
0
0
-2
0
0
-20
0
0
0
0
0
-1
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
19
17
1
0
0
0
0
5
0
0
0
0
0
-2
-1
0
-35
-24
0
0
26
66
0
0
-4
0
0
-14
-68
0
0
88
19
0
30
-9
0
0
-2
0
0
7
-6
0
5
-3
-1
0
0
26
0
0
0
0
0
0
17
0
0
0
0
0
0
14
0
0
0
0
0
0
-35
0
0
0
0
0
0
-5
0
0
2
0
0
-3
13
0
2
11
0
0
4
-69
0
0
25
0
0
2
1
0
0
2
0
0
0
-14
0
0
1
0
0
0
2
0
0
-2
0
0
0
-52
0
0
0
0
0
0
4
0
0
0
0
0
0
-22
0
0
0
0
0
0
-22
0
0
-1
0
0
0
-24
0
0
0
0
0
0
-3
0
0
0
0
0
0
-27
0
0
-1
0
0
0
47
0
0
0
7
0
0
-1
0
-3
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
-73
0
0
-3
-4
0
0
-1
2
-3
0
0
0
6
2
-1
0
-3
0
1
0
-2
1
2
0
1
0
0
-10
0
0
15
0
0
-3
0
0
-31
0
0
0
0
0
10
28
0
0
0
0
48
-4
0
0
-17
7
58
-53
-5
-2
0
2
0
3
0
0
0
0
0
0
0
19
-17
-4
0
15
0
0
-22
-2
0
0
19
1
-4
-13
0
3
0
-6
0
5
0
-6
0
0
2
12
16
0
0
-6
0
0
0
0
0
-35
-9
-1
0
-1
0
-1
-22
0
0
5
0
0
2
29
0
51
-5
0
0
-33
-26
-6
0
-21
0
0
-46
-60
0
0
34
1
0
3
45
0
0
-27
0
0
4
-18
0
3
0
0
0
0
-4
0
0
-9
7
0
0
7
-6
-3
0
0
0
0
-73
0
0
0
0
0
0
43
0
0
28
0
0
9
-40
0
0
-39
0
0
-9
-48
-4
-8
0
-16
0
-2
-47
0
0
12
10
-4
45
-42
0
0
-26
18
-1
-2
-13
0
0
-10
0
-1
0
-62
0
-1
1
1
32
0
40
0
0
0
0
0
0
4
0
0
0
0
0
0
-29
0
-1
0
4
0
0
-29
0
0
0
2
0
0
-48
0
4
0
0
0
-7
-22
0
0
0
0
0
0
33
0
-1
-3
-8
0
0
32
0
0
20
0
-4
0
-36
0
2
0
-7
0
0
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
56
-34
-24
23
9
-2
50
48
-2
12
27
1
13
21
24
-7
2
36
-67
-19
54
-2
2
-13
13
36
12
-6
-6
-74
2
2
0
0
-5
0
11
-18
7
-1
-30
-21
-1
1
30
-3
-32
38
-3
-3
-49
5
-27
-19
2
-7
0
-35
-42
30
0
0
0
0
0
0
0
4
46
19
47
-12
1
6
-2
6
20
26
0
-7
12
-1
-4
-4
16
3
21
3
-38
-8
-2
-1
9
-8
1
-2
-4
-32
0
0
13
-31
18
3
4
2
0
-20
0
49
-2
25
7
-8
12
-24
42
-2
15
11
-80
-7
-4
-6
1
-10
23
7
-21
0
-6
-3
52
-19
2
19
1
9
-2
12
49
0
26
-12
-12
-10
12
5
1
-2
-74
20
-16
0
26
-9
-30
5
0
-2
-21
-34
4
10
-39
13
-11
-33
-2
-4
10
-1
-14
-22
8
-82
0
-27
11
-9
-1
19
-27
14
-21
23
16
-12
74
-47
6
-6
65
-6
-6
16
-12
5
-1
-5
23
-4
-10
2
13
8
30
11
-15
7
30
9
-39
8
10
-1
-4
-9
-2
-13
15
-2
4
8
-4
-2
-4
7
-2
-6
-9
39
-2
-15
7
-17
0
24
14
36
-18
-1
-9
6
-17
-42
-5
10
23
-19
5
-11
13
-33
-17
20
7
5
34
-17
8
-35
-7
-12
-23
-9
-10
-18
15
38
-13
4
-14
-22
-32
-11
9
-56
-7
18
-1
39
40
30
0
2
-30
-1
3
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
-2
0
0
-2
0
0
-25
1
0
0
0
0
0
-20
0
0
0
5
0
-1
0
0
0
-5
0
0
-11
0
0
4
0
0
0
0
0
0
3
0
-1
0
4
-3
0
-1
0
2
0
-9
-84
0
0
0
-56
0
0
0
0
0
0
0
0
0
-29
-3
0
0
42
0
-3
-19
8
0
-2
-4
0
18
-33
0
0
0
-19
0
2
0
-1
0
0
0
0
-6
0
0
33
0
0
0
1
0
1
16
0
0
0
0
-16
4
0
0
1
0
0
58
-46
0
11
-1
0
0
-6
-48
0
0
-23
0
0
-8
-88
0
0
-27
0
0
-1
15
0
15
-8
0
0
-1
19
0
-41
-25
0
0
0
1
0
0
4
0
-1
1
8
1
-1
0
0
0
0
-12
0
0
0
0
0
2
8
-1
0
42
0
0
-39
20
0
0
64
-3
-2
9
-10
0
0
-22
-3
0
42
7
0
0
22
0
0
0
-67
0
0
-2
0
-7
1
0
0
-2
-6
0
-1
0
22
0
0
2
0
11
0
-32
0
0
0
0
0
0
24
0
0
0
0
0
0
11
0
-1
0
0
-11
-1
-16
0
0
0
0
0
0
-13
0
2
-14
0
0
3
4
0
1
-1
0
12
0
-65
0
-8
1
0
0
0
24
0
0
0
0
0
0
17
0
-1
0
0
0
0
-48
0
0
11
0
0
0
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
9
0
0
0
11
0
0
-30
-2
0
-1
0
0
0
0
3
0
-4
26
0
0
0
0
0
28
0
0
0
0
7
-1
0
0
0
0
0
-4
-25
0
0
0
0
38
22
4
0
9
21
0
-38
0
0
0
53
0
0
0
0
0
0
0
0
0
-15
-1
0
3
-3
9
0
55
24
0
2
-56
-7
0
32
11
0
0
-8
-4
0
11
25
0
0
1
-30
0
0
0
-16
0
0
0
0
0
40
-6
-6
0
-1
0
-40
16
0
0
22
0
0
-11
71
0
-50
22
15
0
-13
4
0
0
-53
-1
0
13
-12
0
7
14
8
0
2
10
0
0
-6
1
0
7
-34
0
-43
-16
17
0
0
-53
0
0
0
0
0
0
-22
8
58
0
9
0
0
36
0
0
0
0
0
0
-16
0
-1
-31
0
0
-11
-4
0
12
-51
1
0
-30
6
0
8
65
-9
0
47
4
-2
-3
-16
8
0
-18
13
0
9
10
-24
0
6
-58
0
0
-47
0
0
0
-31
0
-6
-18
74
0
0
25
0
0
0
0
0
0
6
2
4
-8
0
0
0
-11
0
78
7
0
0
-2
5
0
-9
-57
6
0
0
-3
0
58
-9
0
0
1
-4
0
10
-18
-4
0
0
-26
0
6
42
-1
0
0
-36
0
0
38
0
0
0
-22
0
-44
7
-4
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
7
-39
-16
24
12
-33
0
-16
25
17
-27
-44
-53
21
-5
-48
-14
-12
-39
-7
17
-17
74
-6
-54
37
-44
1
-7
-2
0
5
-17
-4
1
72
-4
-3
-2
-40
-67
-13
-5
-14
11
-3
8
-50
-28
-26
-53
-62
11
-7
38
0
0
0
0
0
0
0
-1
-46
-5
-11
-32
-20
4
-32
6
63
-27
5
-13
9
3
10
-39
-10
-19
-7
15
9
12
-19
0
-6
-3
8
25
-65
-18
0
24
-14
60
-1
3
-26
-7
-96
-27
-1
-72
-1
-20
8
17
-21
-41
45
12
33
-12
6
6
-19
-6
1
-18
-13
-2
-30
-19
-25
8
39
-63
-1
7
11
-23
2
6
-16
-3
13
-37
8
0
-12
15
-2
8
-26
6
-2
-36
2
-30
1
-60
-6
0
8
-40
4
20
13
9
-15
-21
-1
-1
1
-56
19
-9
-19
4
5
4
8
-25
3
-35
-25
-10
-40
35
37
7
-41
-37
-8
-28
-12
-15
-12
32
-47
-13
-23
5
-40
-7
8
-30
1
0
19
3
-10
-25
-34
-8
1
19
-11
-2
-37
10
9
-3
-17
11
-15
37
-4
-12
14
-17
-2
-3
-11
-51
-44
-18
-11
26
-5
30
-34
-5
-25
-34
-2
4
3
-21
-7
5
-34
-10
-10
-32
-10
7
-17
3
-50
-8
-17
16
-16
-3
-13
29
-8
-37
9
-28
-37
12
25
7
-2
-1
11
2
13
-2
0
20
36
-36
20
10
0
-16
6
-42
-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
-5
0
-1
0
0
0
0
0
1
0
0
0
2
0
0
0
0
-34
0
0
0
0
0
-16
0
0
0
0
0
0
6
0
0
0
0
4
-1
0
0
3
3
0
48
0
0
4
7
0
0
0
0
0
0
0
0
0
-11
5
0
-5
-71
0
0
-5
2
0
0
-18
0
-3
0
8
0
0
0
0
0
0
-7
0
0
0
0
-4
0
0
-1
0
0
0
0
0
-3
6
-4
0
0
0
4
3
0
0
-8
0
0
67
-11
0
-12
-58
6
0
-15
0
18
0
7
0
0
7
15
0
2
9
-9
0
-9
-25
0
6
6
0
-1
-2
41
0
17
-2
0
0
0
44
-3
0
0
0
0
0
6
1
0
0
2
0
0
-58
0
0
0
0
0
0
-8
0
0
9
0
0
0
22
0
0
26
0
0
9
0
0
-1
18
26
0
-11
-22
0
0
23
0
0
0
8
0
-1
0
-8
0
2
-51
0
0
1
0
0
0
-12
0
0
-1
6
0
0
-38
0
0
0
0
0
0
33
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
-1
1
-5
0
-21
0
-1
-5
-3
0
0
0
-97
0
0
6
0
0
0
-13
0
0
0
0
0
0
7
0
-3
0
0
0
0
75
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
-9
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-27
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-36
1
0
0
9
0
0
0
0
0
0
0
0
0
-7
-3
0
0
-1
0
0
1
0
0
0
4
0
0
8
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-44
0
-3
0
0
0
0
-45
0
0
0
0
0
7
11
0
-25
6
0
0
-4
-51
0
0
15
0
0
-6
-35
0
0
0
-1
0
0
12
0
0
-3
0
0
0
-6
0
-12
0
0
0
0
19
0
0
0
0
0
0
-43
0
0
0
-1
0
0
-18
0
0
0
0
0
0
12
0
3
0
0
0
0
-44
0
0
-1
0
0
0
-36
0
0
-1
0
0
0
-22
0
0
-6
0
0
0
26
0
0
0
0
0
0
68
0
0
0
0
0
0
-9
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
3
0
0
0
-19
0
0
0
0
0
0
29
0
0
0
0
0
0
-2
0
-1
0
1
0
0
8
0
0
0
0
0
0
1
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
9
6
-4
0
-2
0
-1
6
-2
0
0
0
0
-13
0
0
0
0
-16
0
0
0
0
0
-4
0
0
-10
0
0
7
0
0
0
0
0
1
-1
0
0
0
0
-9
9
0
0
-31
4
2
-2
4
-4
0
-1
3
0
0
0
0
0
0
0
0
-15
-6
-6
-1
23
0
10
-11
8
0
0
-29
-3
0
-14
-9
1
0
5
0
0
0
-2
0
0
3
0
36
0
0
10
0
0
0
4
0
9
1
4
-1
0
0
18
-18
0
0
6
0
0
-35
-11
0
-54
25
16
0
14
-23
0
0
-6
-8
0
5
-5
-1
0
-54
0
4
-9
-25
-2
0
20
0
0
-1
10
0
-14
3
0
0
-1
-23
0
0
12
0
1
0
-9
9
4
0
0
0
0
5
3
12
0
0
4
0
-51
-4
0
1
0
18
24
13
0
-1
14
0
0
-41
-10
0
0
12
1
0
7
37
8
0
-20
7
-4
-2
-74
0
0
-12
0
0
15
-6
0
0
12
0
0
1
45
0
3
4
1
-6
0
-47
0
0
0
0
0
0
-4
0
0
0
0
0
0
25
0
-1
16
0
0
0
14
0
-1
7
0
0
-8
-32
0
12
6
1
0
1
77
0
0
-2
8
0
0
-9
0
4
-4
6
0
13
1
0
0
2
0
0
0
-25
0
-6
0
0
7
0
-25
0
0
0
0
0
0
0
0
0
0
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
-6
0
12
0
0
-46
0
-8
-1
11
0
0
-8
-1
0
0
1
0
0
0
0
0
19
0
0
-2
0
0
-14
0
0
0
0
0
-11
11
0
0
0
0
19
1
0
0
-11
-4
-6
-47
-24
0
-4
57
7
0
0
0
0
0
0
0
0
9
-3
3
-4
-7
0
-2
30
13
0
0
-17
-6
-1
-22
47
0
0
-1
2
0
2
-5
0
0
-2
4
-3
0
-4
15
0
0
0
-1
0
2
0
0
0
0
0
14
3
0
0
11
0
0
10
45
0
-31
-11
0
0
-22
-63
0
0
10
0
0
27
45
0
3
-3
-7
0
7
11
0
0
15
0
0
18
-26
0
-49
4
8
0
0
-40
0
0
2
-3
0
0
1
4
3
0
0
0
-2
-49
0
0
9
0
0
-4
-11
0
0
0
0
0
-22
22
0
-6
-2
0
0
-14
-20
-10
2
-20
2
7
-8
-20
-6
16
-5
1
0
-8
32
0
0
-1
-23
-2
0
-29
0
0
7
0
-17
0
-24
17
0
-19
-3
20
0
-7
-7
0
0
0
0
-3
-34
1
0
0
0
0
0
18
4
-85
0
0
0
0
40
0
-1
-2
-1
0
1
3
-1
15
2
-1
0
3
-2
0
2
-36
5
0
0
-39
0
-3
0
0
0
0
-42
0
0
0
0
0
0
-47
0
23
0
0
0
0
-41
-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
-3
0
0
0
0
0
-11
43
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
-7
0
0
8
0
0
17
0
0
0
0
0
0
-1
0
0
0
0
32
25
0
0
62
0
-9
-23
36
0
0
-9
0
0
0
0
0
0
0
0
0
47
2
0
0
17
0
9
-10
-3
0
0
-19
0
8
-58
0
0
0
-7
0
9
0
0
0
0
-1
0
16
0
0
6
0
0
0
0
0
51
12
0
0
0
0
25
-31
0
0
38
0
0
1
-9
0
16
-41
0
0
-53
-31
0
8
-19
0
0
-52
-50
0
0
2
0
0
-15
-36
0
0
3
0
0
6
12
0
-62
51
1
0
1
-43
0
0
0
0
0
0
-26
-1
0
0
0
0
0
-15
0
0
0
0
0
0
-68
0
0
0
-1
0
-3
-25
0
0
-9
0
0
0
-21
0
0
47
0
0
-3
-14
0
0
-58
19
1
-1
-10
0
0
2
17
0
-3
28
0
0
-16
0
0
0
-46
0
0
3
0
-7
0
6
0
0
0
0
0
0
-19
0
0
0
0
0
0
38
0
0
0
0
0
3
-3
0
0
2
0
0
0
-3
0
-1
-8
0
0
0
-26
0
0
-1
0
0
0
-14
0
-2
8
0
0
1
-44
0
0
-3
0
0
0
1
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
28
1
0
0
0
0
0
40
-6
0
0
0
0
0
0
0
7
3
29
-3
0
0
0
0
45
0
0
0
0
0
-19
0
0
0
0
0
1
-9
0
0
0
0
-15
0
0
0
42
16
0
-25
1
0
-3
-6
0
0
0
0
0
0
0
0
0
8
3
0
6
-15
0
0
0
15
0
0
25
22
0
-11
12
0
0
-8
0
0
0
-9
0
0
0
-6
0
0
0
4
0
0
12
0
6
-11
-9
1
0
-2
0
-21
5
0
0
15
2
0
22
-24
0
-16
-7
4
0
-52
11
0
0
5
-2
0
-28
11
2
0
0
6
0
-22
21
0
0
-12
0
0
-6
35
0
-35
15
-2
0
0
-51
0
0
11
0
0
0
-57
1
0
0
0
0
0
3
7
0
7
0
0
0
-6
7
0
19
0
0
17
31
0
-1
84
0
0
-8
-63
0
0
-41
-25
0
-6
-21
0
0
-43
0
0
11
-34
0
22
-57
-6
0
8
-16
0
0
-12
1
0
0
33
0
0
0
0
0
0
-60
0
0
0
0
0
0
-31
4
0
0
0
0
0
-8
0
-6
1
0
0
0
-21
0
0
-9
2
0
2
15
0
-19
10
0
0
0
27
0
-7
-11
0
0
0
-30
3
-21
-3
-2
0
0
-14
0
0
-1
0
0
0
15
0
-3
-1
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
0
0
0
0
0
0
0
35
62
0
5
33
0
1
81
31
43
20
-43
0
-6
1
1
0
-16
0
0
15
0
0
-26
0
0
-1
0
0
1
-33
0
-7
0
0
24
49
0
1
-2
-36
-70
-5
35
-4
0
-37
20
-1
0
0
0
0
0
0
0
-3
-45
-24
19
-34
-8
27
12
31
18
9
-10
36
8
-42
-39
0
1
12
-42
-72
3
28
0
0
3
6
-43
-8
6
46
0
0
0
9
0
11
23
-12
1
6
0
-18
-29
0
-3
-42
-7
0
-21
6
0
6
-45
45
0
23
2
-1
1
0
65
-3
37
22
1
10
-44
20
-1
-24
2
2
2
11
42
0
4
31
-6
-20
-10
-46
3
46
-16
0
48
-3
-2
-15
0
-14
-4
-28
0
-61
0
0
-19
26
1
2
6
0
-1
-8
12
26
18
2
17
7
0
8
4
-9
-4
22
-58
-52
14
-18
4
-3
-7
10
-24
3
-5
14
39
-20
-21
-18
-26
-30
12
47
16
-4
23
1
-2
11
0
40
-3
-18
16
-1
-78
-8
-29
0
3
-15
-2
0
-18
-1
0
4
-18
-3
0
26
-4
0
-40
3
-15
-17
1
-2
22
-28
-3
2
13
3
-17
18
-4
-6
-39
-2
47
8
9
-24
3
-9
-10
14
-26
36
17
7
-30
-21
-8
-7
3
-14
3
24
-29
54
-69
0
-1
1
-17
1
-7
17
0
-10
108
-1
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
21
0
0
-10
0
0
0
0
0
-4
0
0
0
0
0
6
0
0
0
0
0
-2
-9
0
-2
-1
0
-23
3
0
0
-29
18
4
54
-15
0
0
-51
0
0
0
0
0
0
0
0
0
-35
0
-5
-1
-17
2
-16
-12
-7
0
8
-49
0
1
-24
-26
0
0
-6
0
0
8
9
0
0
-1
20
-44
0
0
3
0
0
0
2
0
26
4
1
0
0
0
-5
-40
0
0
-8
0
0
23
-7
0
-8
-1
-15
13
25
-42
-2
9
-42
0
0
-69
0
-6
20
-26
0
17
-10
-63
-1
-1
34
0
0
-3
36
0
-50
-4
0
0
0
-66
1
0
0
0
0
0
22
-6
-11
0
6
0
0
-16
2
0
21
0
0
0
-58
24
-4
10
-4
0
-6
0
0
-2
-9
10
-2
-17
1
-15
0
-14
67
0
11
0
2
-5
33
-7
9
-13
-28
-2
39
-22
-1
4
-7
-19
0
3
2
0
0
0
-55
0
0
0
-4
6
0
14
0
1
0
0
0
0
-16
-4
0
8
-1
0
0
-51
-1
12
-6
0
0
-4
21
0
5
2
20
0
11
57
0
-54
4
-4
0
23
0
0
-6
-14
-12
-3
-3
17
0
-25
5
-2
2
0
-19
0
4
-6
-7
0
0
23
8
-2
-2
0
0
0
6
-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
1
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
-7
0
0
-6
0
0
31
0
0
0
0
0
-4
18
0
0
0
0
6
7
0
0
22
0
-8
24
0
0
1
15
0
0
0
0
0
0
0
0
0
-7
8
0
3
-2
0
0
-12
-4
-1
0
-33
-1
0
-1
3
0
0
13
0
0
0
6
0
0
1
0
54
0
6
2
0
0
0
7
10
11
-8
0
0
0
0
-11
-25
0
0
5
0
0
4
4
0
-8
-56
0
0
14
8
0
0
14
0
0
-17
-14
0
-13
-2
-10
0
2
28
0
-2
-29
0
0
-2
-9
0
-7
-9
0
0
0
5
0
0
-4
1
-2
3
-40
-1
16
0
0
0
0
5
0
0
0
0
0
0
-71
0
0
-12
0
11
16
-30
0
0
9
0
2
-12
14
0
-1
7
-3
-1
0
4
0
0
4
-4
0
0
27
0
0
0
8
17
0
-5
0
0
-4
0
3
0
-56
0
0
7
0
-6
0
-44
0
-1
0
0
0
0
2
-1
0
0
0
0
1
35
0
-2
3
0
-1
0
-15
0
-2
1
0
0
-2
-124
0
-15
10
0
0
0
-36
0
0
-9
33
0
-4
-65
0
44
-3
-1
0
0
-10
0
-1
-1
0
0
0
71
0
-2
10
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
3
0
0
0
80
-7
0
-1
1
0
-34
0
0
-1
0
0
-19
0
0
0
0
0
-2
-2
0
0
0
0
-6
11
6
0
-19
27
-18
-18
-5
-7
0
21
0
10
0
0
0
0
0
0
0
-28
-36
5
0
2
8
1
-12
57
0
-2
-34
-11
1
-18
-3
0
0
7
0
0
2
40
0
0
2
0
27
0
0
10
0
0
0
9
0
21
21
0
0
0
0
-11
10
-6
0
-4
0
0
-5
-26
-3
-8
-4
0
0
-22
-70
0
13
-49
0
0
18
-19
8
9
-29
-2
0
55
-8
0
0
-8
0
0
-7
17
0
-38
10
24
0
0
18
0
0
0
0
8
0
-2
0
-3
0
0
0
0
-19
0
8
0
0
0
0
21
0
0
19
-15
0
15
-69
0
-2
11
1
0
1
-31
0
0
-31
-7
0
-27
39
0
0
22
0
0
-1
21
0
3
-5
18
0
0
6
0
0
0
0
-2
0
-4
0
0
-5
10
-4
0
6
0
0
0
0
0
0
-51
0
0
0
1
0
0
-16
0
-21
1
0
0
2
28
0
-1
-2
11
0
0
-11
0
-10
0
0
0
0
-5
1
0
25
8
0
-3
26
0
13
-3
0
0
18
-20
0
0
0
-1
2
0
19
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
2
0
2
0
0
0
-13
24
0
0
0
0
0
0
0
0
-36
0
0
-7
0
0
-17
0
0
0
0
0
0
20
0
0
0
0
30
30
0
0
-46
-120
-24
-2
8
0
19
-59
0
0
0
0
0
0
0
0
0
-71
-14
0
16
27
-6
23
-7
18
2
-2
-30
-11
0
-24
-30
0
0
-1
0
-6
11
11
0
0
0
-14
-29
0
0
-6
0
0
0
0
0
-13
0
9
0
13
0
-7
-17
0
0
26
0
0
-34
27
0
34
-38
-9
0
-46
40
0
0
-20
3
0
25
-3
-7
0
10
-3
0
-1
-12
0
0
-20
1
0
-1
-31
0
-86
5
1
0
-1
-39
0
0
1
0
0
-1
39
1
-6
0
-28
0
0
-6
0
0
0
0
0
20
-30
0
0
-40
8
10
12
-3
0
-1
6
0
-6
-28
46
2
0
-38
-12
0
-6
0
3
7
-13
10
50
35
8
2
13
-1
-22
2
-6
-22
0
2
-2
0
-46
7
0
0
0
0
0
-26
0
14
0
0
0
0
0
0
7
0
11
0
0
0
1
-20
9
-25
0
0
0
2
-12
0
-4
-7
1
0
-1
-21
-1
-17
10
-6
0
0
-17
0
-35
-10
-3
-1
0
4
0
6
2
4
0
0
-6
0
-3
0
0
0
-6
-3
0
-64
0
0
0
0
-4
3
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
0
0
0
1
24
0
10
-2
0
13
0
2
0
0
0
4
0
0
7
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
-4
-10
0
0
-19
0
-2
-43
-1
0
0
21
0
0
0
0
0
0
0
0
0
-46
-1
0
0
-21
0
21
42
0
0
0
17
0
2
9
12
0
0
-20
0
-5
0
-1
0
0
8
0
-22
0
0
4
0
0
0
-14
0
2
-1
0
-1
0
0
3
5
0
0
18
0
0
32
4
0
-2
-17
0
0
2
-41
0
1
-27
1
0
11
1
0
0
37
0
0
-23
-5
0
0
-32
0
0
-2
-56
0
-71
-3
0
0
0
23
0
0
0
0
0
0
29
3
1
0
0
2
0
4
0
0
0
0
0
0
34
0
0
7
0
0
-2
-3
0
0
-34
-10
0
50
-7
-1
-7
-26
0
0
-10
-21
0
0
-35
0
0
-10
32
0
0
-5
0
0
3
13
0
0
12
0
1
-1
-27
0
0
-2
0
-33
0
2
0
0
0
0
0
0
60
0
0
0
0
0
0
-10
0
14
0
0
0
0
6
0
0
-6
4
0
-4
19
0
-14
4
0
0
0
-29
0
0
-2
0
0
0
-1
0
8
-1
0
0
0
-9
0
0
1
0
0
0
-17
0
-4
0
0
27
0
-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
-15
6
0
7
0
0
0
23
-4
0
1
-1
46
0
0
-3
1
26
0
0
7
0
4
-8
0
0
0
0
0
4
7
0
0
0
0
-19
37
0
0
-29
-1
0
-38
-6
0
2
0
0
0
0
0
0
0
0
0
0
-24
33
0
-6
-5
0
0
15
55
15
0
19
-8
0
44
41
0
0
52
0
0
70
23
0
0
30
5
0
0
-16
-43
0
0
0
0
1
-13
-23
-23
2
1
0
36
-19
-2
0
24
-1
0
2
-13
0
1
23
1
0
-10
32
0
6
8
0
0
-22
-71
0
-7
10
-30
0
-30
-35
0
-4
2
0
0
-12
28
0
-10
18
-15
0
34
-44
0
0
1
0
0
0
-9
-27
34
0
21
0
0
-8
-11
0
19
0
0
-4
-28
-3
1
-28
-1
0
-19
23
0
1
24
32
0
53
27
3
-4
10
1
0
-2
5
-2
0
-35
3
0
-39
-16
0
-24
-16
21
2
37
-2
0
-4
17
1
0
0
-10
0
-4
0
-32
0
0
-6
0
0
0
15
0
0
-40
-5
-3
0
0
0
-3
-31
0
69
-3
0
0
0
-2
1
-9
-2
-4
0
3
4
0
-5
49
0
0
1
-66
0
37
-20
-6
0
2
-10
0
11
-10
-7
0
0
5
0
0
-35
28
0
0
10
0
-21
0
6
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
4
5
21
18
-4
7
-2
0
-9
-10
-6
46
-7
-32
0
-13
-4
0
-22
-1
44
-14
-5
-14
-3
4
-11
-27
24
6
0
8
7
2
-13
-3
3
13
0
1
-14
-31
0
0
0
0
0
0
0
-41
-70
-30
-48
-55
-12
14
-14
-32
13
-10
-4
-5
6
12
6
21
36
4
39
8
5
-6
14
-1
0
12
-3
-4
17
-5
0
-2
-10
-3
-19
0
-4
25
-38
-38
-3
19
4
18
0
-11
-57
44
-6
3
23
8
-1
-15
16
-27
0
-6
-9
-20
-3
-8
15
0
-46
36
-6
-16
-22
-46
-5
28
31
-6
-65
42
-34
-4
26
5
21
1
17
-3
-1
-2
27
-17
-33
1
0
-5
-23
-56
2
11
-3
8
-4
37
2
-17
5
4
2
-5
-61
75
-27
17
0
-16
0
11
36
-1
-44
-9
21
-8
-32
13
-4
-32
-8
-9
-8
5
-20
-10
52
-33
-40
2
18
67
23
4
28
-21
-7
27
-25
-19
11
-18
3
-4
11
-32
12
31
-9
0
-12
39
-3
-41
40
-38
-8
-11
9
-1
-13
-41
24
37
-7
-7
0
-11
-61
-29
-26
-15
-15
-21
-12
-52
25
-23
0
21
-11
-10
4
42
28
-12
78
46
10
5
-23
-20
-19
14
24
2
34
-29
1
-14
-17
25
-12
19
-4
4
-10
-18
12
-4
-51
-1
-2
-18
-50
-6
56
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
1
0
0
0
0
0
0
-8
-1
10
4
0
-2
0
0
-45
0
0
0
0
0
7
16
0
-4
0
0
32
2
-3
0
29
4
-19
-3
6
0
9
8
3
0
0
0
0
0
0
0
0
-13
-2
3
-13
-21
-1
0
-11
0
-12
8
-4
1
-4
6
20
0
0
-4
0
0
2
4
0
0
0
-1
0
0
0
6
0
0
0
0
0
-20
0
10
-1
0
0
-3
26
0
0
19
0
0
0
5
0
36
-25
1
0
8
-2
13
0
-26
0
0
-1
13
0
2
13
-1
0
52
0
-15
-1
-11
0
0
17
-68
0
-68
-53
-2
6
-1
-41
0
0
9
-2
0
0
-18
-6
4
0
0
0
0
-7
0
0
0
0
0
0
28
15
21
3
0
0
-1
17
-4
0
-18
-1
0
2
-7
7
-4
-19
17
0
-26
16
11
-3
-28
6
0
15
0
6
7
25
25
0
-1
19
0
-2
30
0
0
0
-24
0
0
0
0
-2
0
-21
0
0
0
-4
0
0
-12
0
0
0
0
0
0
-76
0
-32
10
0
0
0
-18
0
0
-1
7
0
0
-10
0
-50
15
0
0
3
-33
0
0
47
5
0
-1
0
2
-34
-1
6
0
4
44
0
4
-3
-2
0
0
-45
0
-5
1
-1
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
-6
0
0
0
0
9
0
0
2
0
-10
0
0
0
0
0
-28
0
0
0
0
0
-3
0
0
0
0
0
6
18
0
0
23
-1
1
-6
0
0
0
-29
2
0
0
0
0
0
0
0
0
15
20
0
1
30
0
29
-10
4
0
0
2
0
-13
3
2
0
0
-1
0
0
0
0
0
0
-7
0
-4
0
0
0
0
0
0
6
0
8
0
7
0
0
0
0
-44
0
0
-9
0
0
23
-33
0
-60
21
0
0
-36
68
0
0
-51
0
0
13
9
0
0
-2
0
0
6
-14
0
-8
-6
0
0
1
-23
0
-25
-6
0
0
0
-1
0
0
0
0
0
0
28
19
0
0
-1
0
0
-73
0
0
0
0
0
-6
-33
0
-9
2
0
9
6
-56
0
-1
0
0
0
16
16
0
0
-2
0
0
0
46
0
-4
15
0
0
12
-25
0
0
4
-4
0
0
4
0
0
0
0
0
0
16
0
1
-6
2
4
0
25
0
0
0
1
0
0
10
0
0
0
0
0
0
5
0
-10
0
0
0
0
-3
0
3
4
0
0
0
-9
0
28
0
-6
0
0
0
0
0
0
0
0
-1
-18
0
-1
0
0
0
0
22
0
-10
3
0
0
0
75
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
9
0
0
0
0
0
-51
0
0
12
0
0
-33
0
0
0
0
0
0
2
0
0
0
0
0
-2
0
0
-4
-2
0
3
0
0
0
-21
0
0
0
0
0
0
0
0
0
24
3
0
0
17
0
0
36
-23
-2
0
-21
0
21
7
6
0
0
0
0
12
0
2
0
0
0
0
-1
0
0
18
0
0
0
0
0
-1
0
0
0
0
0
-2
12
0
0
-6
0
0
16
-35
0
4
-10
0
0
66
-8
0
0
-23
0
0
-2
4
0
0
-4
0
0
3
5
0
0
-7
0
0
6
-22
0
1
-1
0
0
0
7
0
0
0
0
0
0
-16
0
0
0
0
0
0
-35
0
0
0
0
0
0
7
0
0
-2
0
0
0
11
0
6
2
0
0
0
33
-3
0
-15
0
0
4
-3
0
0
22
0
0
1
-8
0
0
-1
12
0
0
-29
0
0
0
0
0
0
55
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
32
0
0
0
0
0
-51
0
0
1
0
0
0
-23
0
0
0
0
0
-6
-22
0
0
0
0
0
0
25
0
0
0
0
0
1
-22
0
0
-7
0
0
0
5
0
0
6
-1
0
0
13
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
0
-2
0
0
0
0
0
0
0
0
0
-62
1
0
36
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-37
16
-6
47
12
-2
0
16
0
-4
0
0
0
0
0
0
0
-86
-3
0
2
32
0
-2
-19
-5
0
1
-9
3
7
-2
-1
0
0
62
0
0
8
0
0
0
-3
-11
-46
0
0
-4
0
0
10
0
0
23
1
4
0
0
0
0
15
0
0
-13
0
0
33
-11
0
-25
-14
0
0
-20
-16
0
0
-14
0
0
-16
-2
-1
0
-7
-1
-3
0
-14
0
0
14
-3
12
-2
-70
0
-10
-7
8
0
-10
29
0
1
0
0
0
0
-18
22
13
0
0
0
0
12
-4
0
-2
0
0
0
29
0
1
2
0
0
-1
-65
0
9
17
0
-6
-24
-13
0
2
57
5
7
-1
-6
0
0
16
2
1
10
-44
0
0
-3
4
0
0
-25
0
0
6
0
-2
-1
23
0
24
0
0
-37
0
5
0
0
0
0
0
0
23
1
0
0
0
0
0
32
0
-9
12
0
0
0
-19
0
-3
7
0
13
0
-4
0
-38
19
2
0
1
-37
0
0
-3
-4
0
6
-46
0
-29
44
11
0
0
9
0
0
0
0
0
0
59
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
11
0
0
0
-2
0
1
0
0
0
16
0
0
28
0
0
-37
0
0
0
0
0
0
6
0
0
0
0
-6
0
0
0
53
0
-1
10
0
0
0
-10
0
0
0
0
0
0
0
0
0
-14
2
0
0
8
0
0
-10
11
0
0
2
0
0
-38
0
0
0
-14
0
0
0
-1
0
0
9
0
18
0
0
33
0
0
0
0
0
46
0
-2
0
0
0
0
-5
0
0
-1
0
0
66
13
0
-34
-6
0
0
-14
10
0
3
42
0
0
0
-23
0
0
13
0
0
-8
4
0
0
24
0
0
0
-17
0
32
-1
1
0
0
20
0
0
2
0
0
0
13
-1
7
0
0
0
0
6
0
0
6
0
0
0
23
0
0
-1
0
0
0
3
0
0
-15
0
-6
0
-14
0
0
7
0
0
-7
-2
0
0
-47
0
-3
0
7
0
0
0
0
-2
0
8
0
0
4
0
2
0
45
0
0
18
0
-47
0
-14
0
0
0
0
0
0
-2
0
0
0
0
0
0
-42
0
1
0
0
0
0
49
0
0
0
0
0
0
-33
0
2
1
0
0
0
2
0
0
0
0
0
0
-62
0
-19
0
0
0
0
-37
0
0
0
0
0
0
-100
0
-18
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
16
0
0
0
26
-24
0
0
0
0
22
10
0
0
0
0
-21
0
0
0
0
-1
13
25
0
0
-4
0
39
-10
-2
0
5
16
0
-17
-6
0
-2
-36
0
0
0
0
0
0
0
0
0
-2
13
0
-1
-15
11
0
-5
0
0
3
22
-12
0
51
-22
0
0
3
0
0
-2
-65
0
0
8
5
0
0
35
9
0
0
0
0
0
-8
-6
42
-3
0
0
5
10
15
0
0
0
0
-17
1
2
-15
18
5
0
19
36
1
-7
-3
-9
0
-12
2
0
0
-9
-23
0
-35
23
0
0
12
-9
0
31
-10
0
-11
5
1
0
-48
-15
0
0
44
0
0
-7
-4
11
-18
0
27
0
0
6
-12
0
2
0
0
-3
-10
0
-3
20
17
0
19
13
0
0
18
0
0
-8
32
-18
1
35
23
0
-34
5
-7
24
-1
-9
0
37
23
0
3
-20
4
0
3
-11
0
-2
47
-4
0
6
28
1
13
-5
32
0
0
6
20
0
0
0
0
0
-5
-40
6
0
-2
0
-8
-5
-1
-10
12
0
0
9
-13
0
-2
3
-28
0
-7
11
-1
-54
2
0
0
-12
-29
0
4
-16
-31
0
37
-5
0
-6
7
0
0
-3
16
-10
-3
2
0
0
10
2
0
-35
2
0
0
0
-3
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
-6
-35
0
0
-5
0
3
-51
0
0
0
-3
0
-1
17
0
0
0
3
44
-19
0
0
-8
-17
-58
-15
-9
0
0
-12
0
0
0
0
0
0
0
0
0
-37
-26
-15
27
-28
0
-67
-2
-18
-3
-4
-3
10
-105
64
7
0
-2
50
13
-54
0
-4
-2
0
-26
-109
-132
0
11
64
0
-6
0
-1
0
9
12
18
0
0
0
-4
10
0
0
-15
0
15
-41
2
0
40
-16
-4
0
1
30
0
-9
0
-1
0
52
-7
-1
0
-35
-2
-6
15
5
-2
-2
10
-4
0
13
14
0
-17
-5
-16
0
0
-16
0
-2
-56
16
17
4
20
1
-22
1
-29
0
0
1
0
0
39
1
11
-8
17
11
-2
0
44
-6
8
-7
0
0
-26
0
-35
-1
3
-4
-14
-10
-22
-24
-20
-15
62
0
5
14
-2
-15
-37
0
63
-12
-27
-33
6
-2
-3
-21
3
39
-31
7
-36
-1
0
5
20
-90
0
17
0
0
0
-2
6
0
6
3
0
0
0
0
-13
-25
0
-36
11
-4
3
1
-20
13
-8
-27
49
-14
-3
17
-2
12
30
97
0
-6
-8
0
37
32
55
1
7
-12
-13
22
16
2
0
-1
7
12
-15
-4
0
1
0
-66
-10
-37
0
0
-30
0
-24
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-21
0
4
-7
0
3
-41
0
0
0
-3
0
7
-6
0
0
0
0
13
-4
0
0
13
40
-21
24
14
0
4
-20
13
0
0
0
0
0
0
0
0
10
-20
8
-2
9
0
0
40
-7
0
-6
26
45
3
19
0
-12
3
65
0
-20
-9
15
0
0
-32
-25
-35
0
3
6
0
0
0
0
0
-7
4
-3
0
0
0
9
20
-1
-3
-24
0
0
-27
3
0
-1
-30
0
0
-1
3
-1
12
-52
0
0
-1
-40
0
-1
29
-23
16
22
-11
0
0
24
-8
0
43
0
8
-18
-11
-10
0
-21
-17
0
0
-3
-1
7
-2
-55
23
32
6
-1
0
0
-31
2
0
0
0
0
3
3
19
2
1
-4
-3
-2
15
4
15
-46
4
0
4
-2
37
-12
-30
43
0
10
-5
4
3
-34
-13
0
-6
28
-10
-27
-49
-1
0
-1
0
0
0
-11
9
15
0
-40
0
0
0
9
-15
0
17
0
4
0
0
-13
0
-20
0
0
0
0
0
7
-13
-6
-12
-8
0
4
8
10
0
-2
6
-6
0
0
-16
3
-4
13
0
0
0
-13
0
22
14
-34
0
0
0
0
-30
-12
0
0
-10
0
0
16
7
-13
0
0
10
0
-11
0
0
0
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
-22
0
0
-1
0
0
48
0
0
0
0
0
-10
1
0
0
0
0
-10
0
0
0
23
0
0
31
0
0
0
46
0
0
0
0
0
0
0
0
0
50
0
0
0
5
0
-4
-13
2
0
0
60
0
-1
-7
0
0
0
-9
0
0
0
4
0
0
0
0
45
0
0
0
0
0
0
0
0
38
-1
2
0
0
0
11
-26
0
0
-10
0
0
-10
2
0
29
-16
9
0
-1
-28
0
0
32
0
0
-16
-25
0
0
49
1
0
1
4
0
0
4
0
0
0
13
0
-40
13
0
0
0
-45
0
0
0
0
0
0
12
6
3
0
2
0
0
10
0
0
0
0
0
0
82
0
0
-3
-7
9
0
-37
0
0
-6
0
0
0
-12
0
0
-11
0
0
-3
-19
0
0
-2
0
0
0
-4
0
0
-2
-3
-1
0
-17
0
0
0
0
0
0
-4
0
0
1
0
0
0
30
0
0
0
0
0
0
-3
19
0
0
0
0
0
19
0
-3
-6
0
0
0
-39
0
0
0
0
0
0
-8
0
50
4
0
0
0
18
0
0
1
0
0
0
-11
0
41
0
0
0
0
5
0
-1
0
7
0
0
-3
0
1
0
0
0
0
-18
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-1
0
0
30
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
-3
0
1
-25
-1
0
0
26
0
0
0
0
0
0
0
0
0
-68
1
0
0
-4
0
11
3
0
0
0
0
-9
-2
-15
-3
0
0
4
0
1
0
0
0
0
3
0
19
0
6
0
0
0
0
1
0
-32
0
6
0
0
0
0
-19
0
0
0
0
0
2
10
0
9
11
0
0
20
3
0
0
-36
0
0
1
-44
0
0
-4
0
0
0
28
0
0
-6
1
0
7
-25
0
4
-1
0
0
0
2
0
0
3
0
0
0
-54
0
0
0
0
0
0
-16
0
0
0
0
0
0
7
0
0
0
0
0
0
-20
0
0
1
0
0
0
-78
0
0
12
0
0
0
-17
0
0
-3
0
0
1
-13
0
4
-4
-1
0
0
18
0
0
0
0
0
4
-29
0
0
0
0
-3
0
30
3
0
0
0
0
0
18
0
0
0
0
0
0
-16
0
0
0
0
0
0
22
0
0
0
12
0
9
-6
0
0
0
0
0
0
11
0
0
-1
0
0
0
20
0
4
4
-3
0
0
14
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
-8
0
-7
0
0
19
0
0
-9
0
0
0
0
0
0
-21
0
0
28
0
-4
1
0
0
-3
-21
-34
-1
-7
-3
17
14
2
-50
0
0
0
0
0
0
0
-22
-37
0
-6
12
-4
-14
-32
-10
0
-3
-36
37
-1
2
26
1
0
3
-1
-17
-1
-10
-4
0
2
13
8
0
18
-11
0
-3
33
4
0
0
-8
-46
-2
-27
0
39
0
0
0
-3
1
-10
7
1
0
-25
-13
-11
0
5
-4
0
-3
15
4
0
18
-10
2
0
21
27
-9
-19
-7
-1
-4
-35
19
0
7
-19
0
-7
1
12
18
-2
-5
-2
0
-1
18
15
0
-4
5
-12
0
-16
0
0
-2
13
0
-12
-10
21
25
-11
43
15
-2
-18
-1
32
-11
1
-9
-28
43
4
52
0
-3
21
-11
-13
11
17
10
15
-2
31
-28
-26
0
-10
-16
6
-34
-46
29
25
2
2
0
-3
-28
-1
-4
-4
0
0
-2
45
-29
0
-14
-74
0
0
-24
-34
0
8
-15
-3
0
-9
-8
0
-7
-3
15
3
-3
27
2
-27
0
29
-5
-14
106
18
8
0
-33
-26
59
3
-3
17
-13
13
-38
15
40
-23
17
0
14
11
2
28
13
8
1
16
20
20
2
-2
-10
16
-8
1
22
-37
0
-23
3
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
-12
0
0
5
0
0
0
0
0
11
-18
0
3
0
3
-6
56
-3
0
19
0
-11
-23
33
0
-1
-3
0
7
0
0
0
0
0
0
0
-21
17
0
0
1
0
-2
-21
0
0
0
-14
-1
-17
10
4
0
0
-9
0
-9
-1
-7
0
0
29
0
-18
0
-1
-24
0
0
0
0
0
-18
-3
0
4
0
0
-1
7
0
0
27
0
0
-19
-26
0
8
-24
0
0
-14
11
0
0
7
0
0
-26
-78
0
0
-17
0
3
-21
-4
0
0
-27
0
-1
23
-14
0
23
6
0
0
42
-2
0
0
-2
0
-1
0
-34
6
2
0
0
0
0
-37
0
0
-1
0
0
4
19
0
0
-14
0
-6
39
-5
0
8
-34
0
0
30
-8
0
0
1
8
20
-8
-21
0
0
-10
0
22
-20
9
0
-9
15
0
59
12
-13
0
0
31
0
-1
-2
0
0
1
-9
0
-9
0
-3
0
0
0
0
-2
0
9
-1
0
0
0
0
-6
8
0
-7
9
0
-3
3
6
0
0
16
3
0
0
-25
0
21
11
0
0
0
3
0
0
-14
0
-1
11
38
0
32
-1
0
0
0
-5
0
-6
-11
0
0
0
-3
0
-39
0
0
-12
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
-30
0
0
0
0
61
9
29
0
17
-15
0
-16
11
0
9
-17
0
0
0
0
0
0
0
0
0
-5
-8
0
0
25
-1
0
6
18
0
0
-27
39
0
-25
-4
15
0
-3
0
0
68
-4
0
0
7
-17
0
0
6
-3
0
0
0
0
0
1
-22
7
-6
0
0
-7
-26
0
0
-12
0
0
31
29
0
4
-30
-1
0
26
34
0
-7
-13
0
0
-53
-4
0
0
38
71
0
23
0
0
12
26
0
0
15
-6
0
-102
56
-44
0
13
11
0
9
-1
0
0
0
4
7
38
0
1
0
1
-3
6
0
6
-13
0
8
0
0
24
55
0
-6
-19
2
2
4
33
0
0
-36
9
0
24
3
19
0
-48
12
0
-1
43
-3
0
-6
-16
0
4
14
11
0
3
1
4
1
25
-2
0
8
-9
0
27
9
-17
28
0
6
0
0
0
0
0
0
-12
1
0
1
-2
0
4
30
0
-39
0
0
0
0
-6
0
4
38
6
0
19
-2
0
-27
54
0
0
0
-46
0
11
9
0
0
-10
-32
0
76
23
0
0
0
-23
0
19
10
-5
0
0
-9
0
15
-7
0
0
0
12
4
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
-74
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
7
0
4
-31
0
0
0
29
0
0
0
0
0
0
0
0
0
16
-9
1
0
21
0
0
2
0
0
0
19
0
0
-11
0
0
0
-3
0
7
0
-1
0
0
1
0
-1
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
-2
0
0
-1
0
0
-11
30
0
9
4
0
0
10
38
0
0
1
0
0
-4
-4
0
1
10
0
0
0
-7
0
8
3
0
0
4
0
0
-33
0
12
0
0
-6
0
0
0
0
0
0
-62
4
21
0
0
0
0
-33
0
0
0
0
0
0
-5
0
0
0
2
1
0
11
0
0
-1
0
2
0
-41
-1
0
-8
-6
0
0
23
2
0
-4
0
0
0
-18
0
0
-9
-13
0
0
-5
0
0
-3
0
-2
0
-22
0
0
0
0
0
0
-22
0
0
0
0
0
0
15
-1
0
0
0
0
0
41
0
0
0
0
0
0
-12
0
0
0
0
0
0
23
0
-3
0
0
0
0
-1
0
0
0
-1
0
3
11
0
7
0
1
0
0
20
0
0
4
4
0
0
27
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-19
0
0
24
-10
0
-18
3
1
0
-38
0
0
0
0
0
0
0
0
0
9
4
-2
11
1
0
-1
-13
0
0
-6
-18
0
0
-32
-4
0
0
4
0
1
-2
0
0
0
5
-12
2
0
0
16
0
0
0
0
0
33
0
0
0
0
0
4
-22
0
0
-1
0
0
0
43
0
0
-5
-9
0
13
-36
0
0
95
0
0
-5
12
0
0
-34
0
0
20
-41
0
0
-9
0
0
-11
13
0
12
0
0
0
0
0
0
0
10
0
-4
0
43
0
-1
0
-6
0
0
-14
0
4
-3
0
0
0
-14
2
0
43
3
-3
0
-3
0
7
-7
0
-11
0
1
0
0
-19
-1
0
10
25
-1
0
-30
0
0
-16
-19
0
16
11
4
0
0
-3
0
0
7
12
-2
3
0
0
1
0
0
-46
0
-34
0
0
0
0
0
0
37
2
-1
0
0
0
0
49
0
9
-3
0
0
0
-19
0
-1
-3
0
0
0
-15
0
3
-6
-2
0
0
-32
0
1
-6
-11
0
0
-28
0
19
-1
13
0
-1
2
0
0
0
-1
0
0
0
0
-17
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
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
20
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
0
0
2
0
0
-16
0
0
0
-3
0
0
8
0
0
0
23
0
0
0
0
0
0
0
0
-8
0
13
-8
0
0
0
0
0
-26
0
0
0
0
0
0
63
0
0
2
0
0
0
-37
0
39
4
0
0
-43
-46
0
0
21
0
0
8
52
0
0
0
-1
0
2
9
0
0
19
0
0
-2
19
0
6
9
0
0
0
6
0
0
0
0
0
0
-46
0
18
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
-1
27
0
-52
0
0
0
0
-8
0
26
0
0
51
-1
0
0
43
0
0
14
0
0
-3
-21
0
9
-4
0
0
7
62
0
0
-11
0
0
0
6
0
0
0
0
0
0
-27
0
0
0
0
0
0
6
0
0
0
0
0
0
31
0
0
0
0
0
0
24
0
0
0
0
0
0
30
0
-1
0
0
0
0
-2
0
-7
0
0
0
0
37
0
-4
0
0
0
0
30
0
0
-19
0
0
0
75
0
-12
0
0
0
0
14
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
-9
-3
0
20
-38
8
-41
16
7
-24
-15
-10
-43
7
-11
-32
24
7
-1
16
-1
27
18
-17
-9
-28
-8
0
0
0
0
0
0
0
-2
10
39
14
-7
22
6
-31
-14
-1
-23
-12
10
12
-18
-47
46
-42
-9
52
6
-6
11
19
-4
7
0
1
-12
41
-35
-15
48
23
-10
63
-1
-11
-40
-22
-24
-28
9
-1
88
5
4
20
3
-20
-3
-22
4
0
10
-91
-2
-4
-7
13
-6
-3
-28
-9
-5
-56
-65
-6
-6
31
-24
-8
4
-22
-1
3
-2
5
2
-15
-93
10
0
13
0
-2
22
-13
-9
50
11
1
-1
-43
-22
6
-10
46
19
-4
-21
25
17
-6
-26
-8
-3
-27
2
22
19
-6
-52
-7
-57
20
-7
-16
1
-1
-5
-1
-3
-2
-15
-16
-4
-3
40
1
2
-1
15
-5
-3
17
-7
-14
-12
-32
-7
-2
-94
31
-13
-22
10
24
5
-11
-1
-8
-12
7
10
-9
-54
-35
2
7
-41
-10
-1
-10
-30
-43
-30
23
-13
-3
10
-20
-32
32
44
33
3
-8
11
-10
2
-54
10
-3
17
-9
-10
33
-82
35
1
-41
-2
-4
-12
-26
-8
-8
-54
4
-18
-1
-17
-28
4
-32
5
-7
13
-31
19
0
2
-31
-29
27
-36
-9
1
11
-3
-41
-51
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-65
-3
7
-12
0
0
0
-44
0
-2
0
0
0
0
0
0
0
-29
0
0
0
7
9
0
-6
0
0
0
0
0
-7
7
0
0
0
28
0
0
0
34
0
0
0
-2
2
0
0
-8
0
0
0
0
0
-21
0
3
0
0
0
-10
10
0
0
0
0
0
0
6
0
15
-23
0
0
19
-25
0
0
15
0
0
17
9
0
0
-1
0
0
33
2
0
0
0
8
0
0
-35
0
-60
4
0
0
0
30
0
0
0
-3
0
0
31
-3
27
0
0
0
0
19
0
0
0
0
0
0
-38
0
0
0
0
13
0
-2
0
0
1
0
-5
13
-5
9
-1
16
0
-2
2
-11
0
-8
13
0
0
0
-15
0
18
0
0
4
0
-57
0
0
0
0
3
0
39
0
0
0
0
-56
0
26
0
0
0
0
-3
0
-13
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-35
0
0
0
0
0
0
32
0
19
0
0
0
0
-2
0
0
0
1
0
0
12
0
32
0
0
0
0
-16
0
0
0
0
0
0
-20
0
-24
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
-10
0
0
0
-2
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
20
0
0
0
0
0
0
3
0
1
-26
0
0
4
-69
0
0
-8
0
0
0
-15
0
0
3
0
0
0
28
0
0
10
0
0
0
-2
0
-13
0
0
0
0
40
0
0
0
0
0
0
6
0
0
0
0
0
0
-26
0
0
0
0
0
0
7
0
0
0
0
0
0
-17
0
0
0
0
0
0
-25
0
0
60
0
0
0
-27
0
0
0
0
0
0
3
0
0
0
0
0
0
-24
0
0
0
0
0
0
-12
0
0
0
0
-1
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
26
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
14
0
0
18
-4
0
-25
-37
-4
-3
6
-30
0
-2
-65
3
-2
-19
-2
0
0
0
0
0
0
0
0
-26
-8
-3
-12
-66
-30
0
20
-8
-1
1
-37
13
0
-7
-7
0
0
-12
28
0
16
26
0
-1
10
45
0
0
-1
-11
0
0
50
0
23
6
44
12
25
-23
0
33
-4
0
-6
-3
2
0
23
40
-8
-4
-5
-44
0
28
13
0
-27
1
-5
0
8
1
0
-12
-7
-27
0
-38
10
6
11
20
15
0
44
32
0
8
17
14
0
-11
-6
29
4
-1
-15
0
-17
-11
-14
-59
0
-10
0
0
4
-14
6
-25
0
0
40
10
-10
25
6
-4
-2
-16
-1
20
10
8
17
0
4
30
25
-48
21
-18
0
-25
19
1
0
25
18
0
20
0
-7
-8
29
38
0
54
10
-15
15
12
-13
7
5
-17
2
6
32
4
0
-2
-31
-12
26
0
-5
0
7
11
15
0
8
19
0
7
20
-1
-11
1
0
0
12
7
-4
-31
-3
13
0
-25
-3
0
-21
-12
-10
0
38
-21
1
23
14
5
0
24
-12
46
25
-16
9
0
17
4
2
35
4
-31
0
0
-16
-2
23
43
0
0
0
-8
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
21
0
0
30
8
0
0
0
9
0
-9
-2
0
0
-2
0
0
0
0
0
0
0
0
10
0
0
-6
0
0
0
0
0
14
-3
0
0
0
0
-3
4
0
0
0
0
0
9
-4
0
0
-4
0
0
-10
5
0
0
-3
0
0
-1
-58
0
0
30
-9
0
-8
-7
0
0
-24
0
0
-1
38
0
0
-2
8
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
-7
0
0
0
0
0
0
-12
0
0
0
0
0
27
4
0
0
-19
-6
0
0
14
0
0
1
0
-1
0
10
0
0
-1
-2
0
20
-7
0
0
-4
0
0
0
-3
0
0
10
0
0
0
0
1
0
0
0
0
0
17
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
15
0
0
0
9
0
-2
2
0
0
0
0
0
2
0
-9
0
0
24
0
6
0
0
0
0
-3
0
0
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
3
-12
-6
65
41
-6
3
-60
23
-10
0
-5
-2
-14
42
-22
-3
-60
2
0
0
0
0
0
0
0
-7
-1
7
-24
-14
-12
-7
-9
8
-5
6
-3
-42
3
-5
-10
7
-32
-8
13
-2
-25
-45
-47
-51
-9
-1
0
-62
-11
32
-34
-47
-5
-37
32
-1
35
11
27
46
-78
17
-2
-28
5
1
-24
-5
-4
-3
-42
5
2
7
-11
-11
-4
10
-34
-2
7
-34
-3
-3
-44
-35
-4
-20
0
4
-2
-12
12
1
3
-26
7
2
-62
2
7
1
-18
3
-5
-12
-114
8
31
4
15
-3
-34
30
-68
-13
-84
-26
1
-23
28
-27
4
-45
2
-11
20
-14
24
-17
-3
-3
-1
3
-4
4
-56
2
-8
-2
-24
-9
-4
-13
-3
15
-2
5
4
0
16
20
-4
-1
-52
26
11
16
-18
-12
-4
-11
18
-14
-22
-3
-11
-5
8
3
-17
21
2
-37
-5
-11
-58
-60
-9
-30
-52
-5
9
-43
-16
9
-25
-23
-11
0
12
-19
33
4
-6
-3
-20
-16
-13
17
-26
9
-4
-56
-14
11
-13
-9
-13
3
-15
-26
10
10
6
1
7
15
-17
-15
-10
-12
6
2
45
-14
-13
10
-11
-25
-1
-56
-10
-15
-31
5
-2
-7
4
-13
-27
19
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-11
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
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
-14
1
0
0
0
18
0
0
0
0
0
0
0
0
0
20
4
0
7
0
0
0
104
0
0
0
0
0
-2
-28
0
0
0
0
0
0
0
0
0
0
0
1
0
0
9
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
-24
18
0
0
-28
11
0
0
50
0
0
0
-13
0
0
0
0
0
2
-29
0
0
-4
0
0
0
0
0
-3
7
0
0
0
41
0
0
0
0
0
0
-15
0
-4
0
0
0
0
11
0
0
0
0
0
0
-20
0
0
0
0
0
0
-5
0
0
2
0
0
0
-14
0
0
-3
0
0
0
13
0
0
0
0
0
-2
-2
0
-3
-3
0
0
0
18
0
0
1
0
0
0
-47
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
-1
0
11
0
0
0
0
-4
0
0
12
0
0
0
-42
0
0
0
0
0
0
35
0
0
0
-4
0
0
-21
0
3
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
4
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-2
0
0
0
-14
0
0
-3
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-22
0
0
0
0
0
0
43
0
0
0
0
0
0
-17
0
0
-2
0
0
26
-26
0
0
-2
0
0
1
9
0
0
0
0
0
-7
13
0
0
-7
0
0
0
0
0
-6
2
0
0
0
43
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-72
0
0
0
0
0
0
-17
0
0
5
0
0
0
-18
0
0
8
0
0
0
-17
0
0
0
0
0
0
55
0
0
0
0
0
0
-4
0
0
0
0
0
0
-21
0
0
0
0
0
0
-3
0
0
0
0
0
0
13
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
-4
0
0
0
0
0
0
9
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
-2
-1
0
0
4
0
1
0
0
0
24
-15
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-55
0
0
-4
0
0
0
-13
0
0
9
0
0
0
19
0
0
1
0
24
0
-8
7
0
0
0
39
0
0
0
0
0
1
0
0
0
0
0
-7
15
0
0
0
0
0
-3
43
0
-4
-46
-2
0
-26
-33
0
0
-23
0
0
-34
26
0
2
30
-2
0
-4
-12
0
0
-20
0
0
4
-13
0
97
0
3
0
2
-45
0
0
0
0
0
0
30
1
0
0
0
0
0
-17
-1
0
0
0
0
0
1
6
0
-1
3
0
0
55
0
0
11
0
0
0
-5
0
0
32
0
0
7
18
0
0
-13
0
0
-7
-5
0
6
20
1
0
3
2
0
0
8
0
0
0
-9
0
0
-1
6
0
0
34
7
0
0
0
0
0
14
6
0
0
11
0
0
-22
0
7
0
0
0
0
-32
6
0
0
0
0
0
-31
0
2
0
0
0
0
-4
0
-19
12
-1
0
0
-12
4
41
-12
10
0
0
12
0
0
2
4
0
0
-43
0
-3
0
0
0
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
9
0
0
0
0
0
0
3
0
0
0
14
0
0
0
0
0
0
0
0
0
17
0
0
0
-2
0
0
0
0
0
0
-17
0
8
-45
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-56
0
0
0
0
0
4
-18
0
-15
-2
0
0
13
4
0
0
10
0
0
-1
-34
0
0
-6
0
0
11
8
0
0
-8
0
0
0
21
0
5
0
-1
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
41
0
0
-1
0
0
4
-11
0
0
5
0
0
0
1
0
0
-1
0
0
0
-8
0
0
0
0
0
0
64
0
0
0
0
0
0
-17
0
0
0
-1
-1
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-21
0
0
7
0
0
0
-23
0
0
0
0
0
0
-5
0
-2
0
0
0
0
19
0
-1
0
0
0
0
-10
0
0
0
0
0
0
-19
0
3
0
0
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-7
0
0
22
-1
20
14
0
0
0
28
0
0
0
0
0
0
0
0
0
-16
1
0
0
11
0
-14
50
20
0
0
-2
49
-38
16
1
0
0
-1
0
-1
-1
-3
0
0
-7
-12
6
0
0
24
0
0
0
24
0
0
-1
19
0
0
0
-13
40
10
7
-67
0
0
-13
-62
3
-51
16
-2
0
-14
-14
4
6
21
10
0
23
-5
0
0
-51
4
-4
43
-22
0
6
-3
0
0
22
-1
-1
24
45
-1
0
-8
-25
0
0
0
0
-13
0
11
61
0
0
4
0
0
0
0
0
0
0
0
2
65
0
-10
8
-7
0
-37
-13
-3
0
-4
0
0
-17
-7
0
-1
-11
-51
0
-13
6
4
0
-16
11
-1
-7
-36
0
6
16
-34
0
0
-25
0
1
-8
-3
16
0
-20
0
2
2
0
-15
0
5
0
0
0
0
0
0
0
-13
0
-1
-1
0
0
-6
0
12
6
0
0
0
-1
0
-4
10
-3
0
0
-15
0
-3
52
-6
0
0
-14
0
5
-12
-14
0
0
-16
0
-67
-61
0
0
0
5
8
-1
13
0
0
0
-2
0
10
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
0
0
4
-9
-19
-4
-21
11
3
-26
-2
-4
0
0
0
0
0
0
0
18
30
-4
-1
16
0
23
16
-12
0
1
-38
3
-17
-11
-1
0
0
-51
25
-57
5
62
0
0
64
-93
-39
0
-3
1
0
0
7
-7
0
-48
0
47
0
2
-1
40
16
1
9
19
-4
35
-14
-2
0
-12
-23
-14
8
0
-51
0
-2
0
8
1
14
-7
1
-1
-20
-19
0
-37
20
0
-1
-25
10
12
-38
2
0
31
-7
21
-2
19
-36
0
-1
-18
-6
2
0
18
32
-15
0
-9
0
-4
-70
0
0
-6
10
-2
31
-4
0
0
-11
-55
20
13
1
0
-2
0
63
27
-34
-32
2
-28
-7
13
0
-6
5
0
-6
-25
0
-10
-8
10
10
-4
-39
-67
15
2
4
0
0
-27
0
5
0
-12
0
4
-60
-18
-10
0
45
0
0
0
2
-2
0
10
0
6
0
0
0
0
7
0
30
-3
0
16
0
-17
0
35
4
-9
1
-10
-34
0
-101
-18
6
0
0
-10
0
-8
65
20
3
-1
20
1
-19
0
-2
4
0
27
0
-2
42
15
0
0
26
0
-7
-2
0
10
0
14
-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
-1
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
2
0
0
0
-1
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
0
-1
0
0
0
7
-14
0
0
-1
0
0
10
-42
0
0
0
0
0
0
-30
0
0
0
0
0
0
-2
0
-1
1
0
0
0
-3
0
0
0
0
0
0
-48
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
-24
0
0
0
0
0
0
-33
0
11
-1
0
0
0
-8
0
0
4
0
0
0
-7
0
0
9
0
0
0
-13
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
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
4
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
-11
0
0
16
0
0
0
2
0
0
0
0
0
0
0
0
0
-27
0
0
0
39
0
0
8
0
0
0
54
0
0
46
0
0
0
-3
0
0
0
0
0
0
0
-7
-17
0
0
1
0
0
0
0
0
-2
0
1
0
0
0
0
-37
0
0
1
0
0
18
-41
0
-56
-1
0
0
-14
-4
0
0
-16
0
0
-6
3
0
0
-34
3
0
-8
-8
0
0
12
0
0
1
-5
0
-73
-8
8
0
0
5
0
0
0
0
0
0
-6
0
2
0
9
0
0
-19
-19
0
0
0
0
0
37
0
0
0
0
0
3
34
0
0
0
0
13
0
-39
0
1
6
-4
0
0
-45
0
0
-13
0
0
0
15
0
0
10
-8
0
0
-12
0
0
1
0
11
0
12
0
0
0
0
20
0
23
0
0
0
0
0
0
-26
0
0
0
0
0
0
7
0
-7
0
0
0
0
-38
0
0
2
0
0
0
22
0
8
10
0
0
0
0
0
0
0
0
0
0
22
0
0
1
0
0
0
71
0
0
0
0
0
0
32
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
15
1
24
-34
0
0
0
44
0
0
0
0
0
0
0
0
0
-55
0
0
-1
-3
0
-2
28
0
0
0
-46
0
11
-57
0
0
0
-9
0
-4
0
15
0
0
39
0
-46
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
-66
0
0
-1
0
0
1
-11
0
7
-40
0
0
-44
31
0
0
-8
0
0
3
-49
0
0
-11
0
0
15
-72
0
0
-21
0
0
-15
51
0
57
10
0
0
0
6
0
0
0
0
0
0
58
-2
0
0
0
0
0
-1
0
0
0
0
0
0
-21
0
0
-7
0
-7
-1
-131
0
0
-7
0
0
0
-4
0
0
3
0
0
25
-63
0
0
-59
-1
-1
2
-69
0
-2
51
0
21
-2
0
0
0
-2
0
10
6
36
0
0
0
1
-15
0
-30
0
0
0
0
0
0
12
0
0
0
0
0
0
15
0
-2
0
0
0
0
-38
0
1
0
0
0
0
14
0
-6
8
0
0
0
15
0
0
52
0
0
0
11
0
-1
32
0
0
-1
10
0
0
4
0
0
0
-19
0
7
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
8
0
0
0
-6
0
0
-59
0
0
0
-2
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
-12
50
0
0
0
0
0
26
0
0
0
0
0
-7
-1
0
-48
8
0
0
-12
-28
0
0
18
0
0
-3
-13
0
0
9
0
0
20
-18
0
0
-3
0
0
0
1
0
16
0
3
0
0
-18
0
0
0
0
0
0
25
0
-2
0
2
0
0
-24
0
0
0
0
0
0
37
0
8
0
2
0
-1
6
0
0
23
0
0
0
26
0
-1
-9
-6
0
0
26
0
0
16
0
0
-3
-53
0
0
-13
-4
0
0
27
0
0
0
0
0
0
13
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-23
-4
0
0
0
0
0
21
0
4
0
0
0
0
25
0
0
0
0
0
0
-26
0
15
1
0
0
0
7
0
0
0
1
0
0
77
0
-1
0
0
0
0
23
0
0
0
0
0
0
13
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-3
0
0
-56
16
0
0
0
0
0
0
0
0
-7
30
19
-12
-7
13
11
-18
-9
0
-2
23
-13
-17
-20
29
4
0
-2
8
6
-2
-20
0
0
-10
4
-5
0
-19
15
0
0
-1
-34
0
-3
29
-3
-1
18
0
6
-12
-2
2
-18
-15
0
24
-28
2
-22
-56
62
-2
5
44
1
0
-5
10
-1
-15
6
0
9
-18
25
4
-19
2
0
0
-8
0
-4
59
3
0
9
-37
1
17
-39
14
2
0
13
-28
-48
0
3
-40
29
0
17
0
0
-15
-18
0
-10
-5
0
8
29
0
-4
-3
-18
-2
-11
-11
0
25
4
18
11
16
10
6
-26
-12
-12
11
10
-38
1
36
16
11
48
-24
16
0
-4
7
-39
1
15
7
-4
0
-26
-3
18
0
10
0
-2
-42
-23
-24
0
1
-1
47
6
48
2
0
-17
61
0
-1
-2
0
0
4
1
32
-20
-3
10
-4
-9
3
-4
-40
5
0
10
-17
1
-2
-15
9
0
15
-6
0
12
40
41
-2
-3
5
16
-44
-13
-18
-28
1
-22
0
10
22
-39
8
0
-4
0
20
-16
0
39
0
14
16
0
-10
-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
-24
-9
0
-4
-35
-4
1
0
0
0
0
0
0
0
33
25
-4
20
52
2
-19
-33
11
0
11
22
55
48
-13
-9
0
0
30
3
-4
58
-9
0
0
1
-25
-19
0
7
15
0
0
0
-9
0
11
-13
40
-1
10
0
61
0
-2
-5
-6
15
0
-42
-26
4
-22
23
60
0
53
-7
0
-3
40
0
0
20
-9
3
-2
7
-4
-8
-14
9
1
1
21
-9
-1
-48
-9
0
-25
13
-5
11
-7
6
0
0
47
0
16
0
0
-15
2
0
-7
-2
0
-20
-8
0
0
-3
-9
16
0
0
0
16
3
1
6
-25
0
-2
27
3
-68
15
-9
-1
4
27
10
47
-63
-35
-3
-2
5
14
-26
-3
-3
2
3
-68
-42
91
27
18
0
13
2
-1
10
-48
4
0
-2
34
24
4
0
-13
-6
0
0
-3
-2
0
-69
7
-1
0
-3
0
0
0
1
-11
8
1
1
9
-5
0
-6
-44
-11
0
9
24
0
1
32
-9
0
1
-1
0
4
-5
52
-2
-36
24
0
-18
-36
3
52
29
-5
2
7
2
-13
0
0
-22
0
-48
-2
0
-12
0
-6
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
25
0
0
0
1
0
0
0
0
0
0
0
0
0
67
0
0
0
40
0
7
0
0
0
0
43
7
0
34
6
0
0
0
0
0
0
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
-45
-7
0
0
0
0
-1
-60
0
0
0
0
0
-2
43
0
-11
8
0
0
30
0
0
0
-3
0
0
4
0
0
0
0
15
0
-1
13
0
0
-18
0
0
8
-1
0
0
3
0
0
0
-8
0
0
0
0
0
0
22
-3
0
0
-2
0
0
-6
0
0
0
0
0
0
-10
0
1
0
0
0
0
34
0
0
0
0
0
8
-27
0
-4
-1
-1
0
0
-10
0
0
41
0
0
0
0
0
0
1
0
6
0
-61
0
0
0
0
0
0
34
0
0
0
0
-1
0
-55
0
0
0
0
0
0
19
0
0
0
0
0
0
46
0
25
0
0
0
0
-17
0
0
0
0
0
0
-5
0
-9
3
0
0
0
28
0
0
13
0
0
0
16
0
1
0
0
0
0
76
0
0
0
0
0
0
81
0
-4
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
-44
0
0
0
7
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
6
0
0
0
-1
0
0
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
13
0
0
0
0
0
0
-9
0
0
0
0
0
2
0
0
7
-2
8
0
-1
-14
0
0
-14
0
0
1
-56
0
1
0
0
0
18
-18
0
0
0
0
0
0
-2
0
11
0
0
0
0
6
0
0
0
0
0
0
26
1
0
0
0
0
0
-6
0
0
0
0
0
0
9
0
0
0
0
0
2
-12
0
0
0
0
0
1
-3
0
0
-2
0
0
0
-4
0
0
-4
0
0
0
-9
0
0
0
0
0
0
-33
0
0
0
0
0
0
54
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
-4
0
0
0
24
0
0
0
0
0
0
-13
0
1
3
0
0
0
-6
0
0
0
0
0
0
-6
0
0
1
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
60
20
9
0
0
0
0
0
0
0
21
17
-29
7
34
27
18
7
-12
31
33
22
31
29
-14
2
-3
-10
7
-31
3
30
-11
30
-1
44
-6
6
-3
1
-13
0
1
4
-8
-14
17
19
-64
0
-30
0
-2
7
20
-11
-6
9
0
-30
-22
36
-17
-51
3
1
-6
-1
10
-3
26
32
0
-15
8
-5
12
-7
42
3
3
18
-4
13
19
22
23
-21
0
10
7
10
-1
-2
-37
-13
-15
29
-16
29
16
0
0
-5
-1
2
6
2
-8
-10
-26
6
1
14
-5
-46
1
-34
-29
28
-1
-48
-75
-15
9
-3
-17
-15
-22
1
12
12
-33
-19
0
24
-28
4
-23
0
10
-4
-7
-29
12
51
-32
15
-17
11
9
1
3
-10
-2
-43
-16
-1
-1
65
-59
-9
-38
14
-1
6
14
-3
18
38
-29
9
0
-30
-7
-4
-49
49
-35
-13
37
-30
-28
37
-46
-5
5
-6
13
-29
-34
-3
24
9
16
-2
-23
-9
-41
-29
19
-18
2
6
-42
0
1
-12
0
-9
-13
-27
7
-14
-1
52
-38
-10
-24
-13
-2
7
20
-21
-3
-34
5
-2
-13
-25
-1
26
-54
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
-27
0
-22
0
0
0
0
0
0
0
13
24
-9
14
-42
0
21
21
1
0
0
6
0
43
-6
-28
0
0
-9
0
13
-8
-40
0
0
-33
0
-1
0
0
-53
0
0
0
-49
0
9
-68
15
-3
0
0
-10
2
4
0
9
-3
0
5
3
0
-18
-27
0
0
27
0
-1
0
4
7
-2
-52
-2
0
0
-18
0
0
9
-1
0
-1
12
1
54
-5
2
0
-5
-29
-1
-10
65
-36
0
0
-23
0
17
12
-2
-55
-38
4
-1
-1
0
-6
-23
0
0
0
0
14
11
-29
10
-2
1
-15
13
1
0
2
0
0
-26
29
-30
0
-1
2
0
-19
40
-1
-2
-11
23
-16
13
21
-15
0
23
-9
4
37
20
3
0
8
51
0
11
34
-14
0
19
-14
-4
1
0
-4
16
0
0
0
-9
0
-7
-12
0
-1
17
0
-13
-8
2
7
12
0
-20
30
15
0
-16
-38
0
-9
-8
-9
4
11
27
2
20
22
-6
2
-2
-6
-9
30
1
-19
0
20
30
6
27
0
6
-6
0
20
0
15
0
-24
0
-31
22
0
-41
0
1
-7
0
-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
-53
48
0
0
-33
-4
0
0
0
0
0
0
0
0
-1
32
-31
-4
21
0
0
12
-27
21
0
-24
-93
0
-7
45
0
0
-14
-8
0
-33
10
-2
0
-6
31
0
8
47
-12
0
41
-4
0
0
2
43
9
0
-1
0
-35
-17
-14
-6
-6
0
0
46
25
0
-16
-15
34
0
19
-11
-6
0
17
4
-1
-14
-4
2
1
-6
-9
1
14
11
-17
16
27
-3
0
-5
61
0
-9
-6
23
0
19
-10
0
0
-34
-1
0
-18
9
15
-42
-1
-21
0
0
-5
5
38
-1
3
0
48
-13
-1
-37
-31
-57
0
43
25
-2
-2
17
-4
0
106
13
-4
16
28
7
0
-12
-5
38
42
-2
12
0
21
-9
-8
-34
-16
27
0
22
6
0
1
19
25
-1
9
4
1
-11
-26
-15
0
9
5
14
-1
10
-4
0
0
19
26
26
-2
-1
0
0
18
0
-33
59
1
0
0
-10
2
27
18
2
0
11
-2
18
-5
-26
31
0
-14
-3
7
-12
2
-39
2
-9
-17
-18
4
-20
-11
0
-12
9
0
-1
48
-20
0
-1
-21
0
16
23
12
0
-4
38
20
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
7
-23
-14
-15
-13
34
-14
-7
24
9
-10
-5
-18
-5
2
-8
7
-36
5
-25
5
-38
13
-12
-38
-27
5
-7
7
-33
-6
-26
-37
3
16
4
3
-14
9
-2
-24
37
61
1
0
-7
28
-15
5
-12
-19
-6
4
-3
-6
1
-17
5
-32
3
-10
-24
-10
-34
6
-40
-36
-26
-13
-18
-13
1
34
9
-5
33
-24
-1
2
14
-1
-1
-9
-6
-22
-7
34
-23
-20
32
-33
-17
-1
-28
-13
-19
31
35
10
3
-23
-44
-15
-34
-32
-30
-3
-11
-90
20
1
-16
-21
-9
41
-40
12
-29
15
6
-5
-49
-14
-9
14
4
-19
-11
41
-14
2
26
3
-8
0
-44
-1
1
-4
17
-22
-5
25
19
-2
43
21
30
1
17
27
-21
-14
5
31
4
0
-109
-69
19
7
6
-10
15
-15
-3
20
-18
-51
0
-27
2
24
16
12
46
-11
72
-18
2
-11
15
-27
-6
-18
1
14
-9
23
43
-6
18
4
-5
-9
1
-3
5
-81
-6
-17
-23
15
-46
2
2
4
9
-7
-14
43
-5
23
-11
-8
51
25
-3
9
18
-8
-46
53
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
1
-2
0
-7
7
-6
0
0
6
0
2
-70
17
0
0
-3
0
6
0
-18
0
0
27
-8
-58
0
0
0
0
0
0
1
0
-46
16
11
0
-2
0
9
-33
0
0
41
0
0
-82
0
-1
-52
9
-13
0
-35
7
0
16
2
0
-1
35
25
0
10
-3
7
7
-25
26
0
3
28
0
0
20
-50
0
-15
-12
-34
0
0
-8
0
0
-2
24
12
1
39
5
-5
0
-1
0
0
7
22
2
4
0
0
25
4
1
0
28
0
-2
-49
0
0
0
-45
6
-3
14
19
2
0
60
-17
1
-8
51
-1
-56
-7
-6
2
-6
28
0
19
-9
31
26
-3
-33
0
-11
18
0
19
0
-32
-22
-1
20
7
39
0
37
0
0
0
0
0
0
-38
-8
3
0
0
0
0
-5
0
-14
21
2
0
-1
0
3
46
-10
-7
0
-4
-28
0
-20
-24
-7
0
0
58
0
-55
31
-2
0
1
-26
0
-77
-7
3
0
0
-39
0
-12
8
-1
3
0
-19
1
1
0
0
8
0
-11
0
-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
20
-4
0
-1
13
0
0
4
0
0
0
-8
-11
0
-17
15
0
0
1
0
-1
0
-6
0
0
0
0
5
0
0
0
0
0
0
3
0
-28
3
0
0
3
0
0
-22
0
0
-7
0
0
2
15
0
-1
11
0
0
20
3
0
0
-2
0
0
-22
-29
0
0
23
4
0
-12
-35
0
0
-11
0
0
3
36
0
29
0
0
0
0
44
0
0
0
0
0
0
-28
2
-1
0
0
0
0
23
0
0
0
0
0
0
19
0
0
0
0
0
0
2
0
0
-7
0
-3
0
19
0
8
-2
25
0
3
-28
0
0
73
0
0
0
30
0
0
2
-6
0
0
9
0
0
0
0
0
0
-4
0
-2
0
0
0
0
-28
0
0
0
0
0
0
63
-6
-1
0
0
0
2
-19
0
3
0
0
0
0
32
0
-1
0
3
0
0
-30
0
20
3
0
0
0
44
0
0
0
0
0
0
-26
0
44
-1
0
0
0
-19
0
0
0
-2
0
0
-27
0
0
0
0
0
0
-21
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-24
4
0
35
0
0
40
0
0
0
-10
-7
25
-17
0
0
0
0
0
0
0
-2
0
0
9
0
-43
0
0
-5
0
0
0
-2
0
-15
-4
1
7
0
0
0
-21
0
0
-1
0
0
14
38
0
46
-12
0
0
12
64
0
0
5
0
0
-12
-13
0
0
-14
-3
2
-36
-5
0
16
-14
0
0
3
6
0
4
24
1
0
0
-34
0
0
0
0
0
0
-8
-3
0
0
0
0
0
24
-1
0
0
0
0
0
-25
-7
0
0
4
0
-4
-13
0
0
26
10
0
-5
21
2
0
-64
0
0
0
-38
0
2
-70
-3
0
0
-19
0
0
40
2
-20
0
16
0
0
-3
0
0
0
-6
0
0
0
0
-1
0
-16
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
-1
-7
0
0
0
0
81
0
0
0
0
0
0
-43
0
-40
-35
0
0
0
-8
0
0
11
0
0
0
84
0
-7
0
0
0
0
-48
0
0
-2
-9
0
0
-42
0
2
2
0
0
0
-40
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
17
-46
-1
8
9
16
3
12
20
-2
-6
4
-3
3
15
2
-28
-23
27
1
0
-7
2
-18
0
1
-45
0
-6
-18
2
-20
-6
-6
2
24
11
-1
14
0
18
19
25
6
-20
28
3
32
-2
33
-32
0
2
-9
8
-30
8
-8
0
19
10
-7
12
18
41
32
2
9
46
16
6
6
-36
-9
-9
10
-8
-4
-6
-17
17
6
5
0
10
-15
-56
-13
-7
2
-2
13
28
4
-10
0
-15
7
-15
21
38
-29
-34
4
-31
36
31
-10
8
2
-20
13
21
23
3
-5
3
-13
19
17
10
43
16
-5
22
-1
8
-12
-9
13
3
-17
-26
12
-1
9
-7
-12
5
-4
37
-11
-30
28
7
59
-3
-21
-9
-6
5
-8
-4
-4
17
-3
-36
-23
-20
13
-54
-22
-47
8
16
-1
36
-4
-18
50
-24
11
12
-41
-39
42
-6
17
-54
-12
5
-30
20
-12
13
-38
7
35
19
22
-50
-3
-41
-11
6
28
-23
-9
-14
-26
-1
-3
42
15
21
7
-5
1
0
-25
8
15
-6
11
0
33
-7
-11
-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
-1
22
0
12
-4
0
0
-9
-3
-4
0
-1
0
-1
14
-8
0
0
16
0
0
0
0
0
0
-11
0
-16
0
0
16
0
0
0
0
0
18
0
16
0
0
0
41
37
0
0
-3
0
0
-17
40
0
37
-2
0
0
-13
18
0
0
-29
0
0
8
-17
0
0
18
0
0
-6
-5
0
0
-20
0
2
-1
35
0
-32
11
0
0
0
-14
0
0
0
0
0
0
57
-1
12
0
0
0
0
-32
0
0
0
0
0
1
-54
0
0
1
-7
0
-4
-13
0
0
-6
0
0
0
-18
0
0
-2
0
0
0
-61
0
0
23
0
0
0
-22
0
1
0
0
8
-2
-40
0
0
1
0
13
0
2
0
0
0
0
-2
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
-26
0
0
0
0
-19
0
0
4
0
0
0
18
0
0
-6
0
0
0
1
0
-1
-6
-11
0
0
-55
0
-6
0
-3
0
0
-5
0
4
-1
0
0
0
-35
0
2
1
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
51
7
0
6
2
0
0
-16
0
0
0
2
0
0
-50
-12
0
0
10
0
0
0
11
0
0
17
-2
0
0
0
1
0
0
-1
0
0
15
-10
0
0
0
0
2
6
0
0
9
0
0
3
-19
0
-4
-9
8
0
88
5
0
0
-23
0
0
-24
-55
0
0
70
11
0
7
11
0
0
-36
0
0
2
-18
0
3
-7
-9
0
0
5
0
0
0
0
0
0
-28
10
-1
0
0
0
0
9
0
0
4
0
0
0
-27
0
0
9
0
0
0
-20
0
2
49
0
0
-5
-30
0
-3
-4
11
0
-10
13
0
7
27
0
0
-3
-18
0
0
10
0
0
0
9
0
0
-2
0
0
0
-25
0
0
0
0
0
0
-8
0
0
0
0
0
0
23
0
0
0
0
0
0
42
0
7
0
6
0
0
0
0
0
1
1
0
0
14
0
33
8
-1
0
0
6
0
0
-8
-2
0
4
-41
0
10
-1
4
0
2
-4
0
0
0
0
0
0
27
0
-2
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
2
12
4
15
8
-5
-1
3
39
-4
-34
-2
14
-16
-4
19
-11
-9
-2
12
3
-23
-13
-44
4
-36
70
0
1
-9
-30
-1
-14
-7
1
-19
-19
4
-22
7
-21
1
12
13
10
-3
10
-16
-8
41
-93
0
-33
-20
18
1
10
32
-8
9
43
10
2
-62
-21
-5
-18
-13
0
-7
-14
-3
-17
-10
13
-12
-10
-99
13
-21
-28
-27
13
-1
5
17
-22
-33
-7
36
4
-16
6
-12
21
21
15
-3
-16
-15
-7
22
11
-20
-5
8
5
-5
29
8
-12
-1
-6
26
8
-19
-21
-32
4
-28
34
-10
21
-33
-3
-2
35
4
-1
20
30
-5
2
-23
-8
5
10
2
14
-7
-64
-11
2
-9
-3
-9
0
-15
16
36
55
4
3
-2
-14
13
31
-12
26
8
-3
-7
1
24
-31
12
-61
-8
-18
-41
17
-11
15
1
-24
26
8
-2
2
-22
-35
10
36
-19
-5
10
-36
7
-20
-102
22
11
-6
14
12
-10
-45
-11
-16
6
-11
11
-12
26
16
4
-9
17
33
-9
-36
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
55
0
0
12
-9
-18
-12
30
0
0
5
-3
-7
4
-36
0
0
-12
7
4
0
0
-35
0
0
5
19
0
-3
-2
9
10
4
0
22
-2
0
0
29
4
17
-14
4
0
33
-22
0
-4
7
5
3
0
-1
2
4
-29
0
-32
-8
-3
-1
3
47
10
4
-1
-19
-11
-11
-40
-2
0
-1
-14
37
20
73
12
0
0
4
0
0
0
2
-19
-45
0
-2
0
0
10
11
-1
-3
-8
0
15
-1
-3
-3
16
-9
64
-10
12
-3
4
-7
0
3
-18
-16
-6
3
6
23
-6
-92
0
9
-16
-66
-6
8
33
28
2
8
27
-51
2
-15
-27
0
12
-8
13
-70
7
12
0
42
0
-9
-3
0
-20
4
2
0
-10
0
-2
-8
28
3
-10
0
0
0
9
-2
6
6
9
35
18
27
0
27
32
-15
0
5
-31
0
-11
29
-15
0
45
0
-7
18
-13
9
0
15
-8
1
-23
36
-3
3
-3
-9
4
-17
41
22
-3
0
-8
0
-9
11
14
7
0
-31
25
3
-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
-13
-7
0
0
2
0
0
11
19
0
0
0
0
0
19
0
0
0
0
0
16
0
-4
-6
0
0
0
-1
0
-26
0
-7
10
0
0
-1
15
0
0
16
9
0
12
31
0
40
-51
-4
0
27
22
0
0
-8
0
0
-22
25
0
0
1
-2
3
-11
26
0
0
-6
-1
0
1
-1
0
-15
-3
-5
0
-1
51
0
1
-4
0
0
0
-31
-10
16
0
0
0
0
-67
3
0
0
16
0
-1
37
0
0
-2
3
0
-17
38
0
0
-2
0
0
0
26
0
-5
33
9
0
3
-4
0
0
9
0
0
16
-45
0
3
3
-2
0
-11
34
0
0
0
0
0
0
-3
0
0
0
-1
1
0
-32
0
0
0
0
2
0
17
-6
7
0
2
0
0
-57
0
8
0
0
0
0
1
0
0
-6
-1
0
0
-32
0
10
-25
-3
0
0
-14
0
10
-14
-6
0
0
7
0
-31
11
-3
0
0
-25
0
8
-2
24
0
0
-21
0
-8
0
0
0
0
20
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-47
0
0
0
-3
7
-4
1
1
0
0
-18
0
0
0
0
0
0
0
-11
12
-3
63
1
18
0
-4
0
-4
22
0
0
-1
-7
0
33
-6
0
-7
12
6
0
10
-27
0
-3
-46
-6
0
-38
7
0
-4
3
0
0
-12
-8
0
1
15
0
0
-10
-21
0
-35
0
-2
0
0
-37
-3
0
0
0
0
0
-21
50
0
0
0
0
0
23
0
0
-3
-3
0
0
-33
0
0
39
-6
-2
-1
-59
0
0
-15
-1
0
-5
-24
-8
0
5
14
0
-17
-5
4
0
-25
2
0
2
-3
0
1
-10
-43
0
0
7
0
12
0
18
-7
10
-61
0
0
9
0
9
0
-17
0
0
0
6
4
0
16
0
18
0
0
0
1
3
0
-7
1
0
0
-4
-26
-4
1
10
1
0
8
13
-1
-20
9
9
0
0
2
0
5
-31
-18
0
0
8
0
46
18
12
0
0
-32
0
8
15
-4
0
0
-40
0
2
0
-1
0
0
-27
-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
-27
-51
43
2
-54
0
7
12
-44
1
-3
21
37
-3
9
-55
17
0
21
-30
-28
-3
-4
-56
0
-8
4
-1
-5
-16
-32
-27
-6
9
0
27
-7
-4
1
-17
15
32
-15
32
80
25
31
40
-3
19
2
-54
-18
-26
24
0
66
28
0
1
7
-4
-15
47
33
-3
39
-30
-40
3
-11
-35
0
9
-4
-24
0
10
-8
0
-1
15
-1
20
-2
10
-30
27
0
-4
4
8
-8
-18
17
25
-3
-3
12
-10
-10
-3
50
18
57
-4
-11
-3
-63
-37
3
-26
-15
1
-14
-6
-15
-51
-4
-13
6
9
1
15
7
70
-7
-7
-17
81
-1
10
29
40
-27
-2
6
-22
-16
-39
-13
-18
20
56
-61
14
-15
6
-10
-12
12
3
-4
17
-3
3
69
-15
1
8
0
-6
-17
-2
-7
-8
-3
-8
-11
-17
14
-12
-30
71
25
7
2
-19
-11
-3
-33
0
-43
20
-16
-23
-3
22
-3
-11
-24
3
-17
-7
-3
-19
-7
-20
13
7
-3
-4
66
-7
15
14
2
0
-9
48
0
-14
32
-11
-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
28
0
0
0
-3
0
-9
-10
13
0
0
67
0
0
9
-2
0
0
0
0
-20
0
0
-3
0
0
0
0
0
54
0
0
7
0
0
-7
3
0
0
-6
0
0
-6
15
0
5
51
0
0
-10
19
0
-1
-24
0
0
12
-1
0
0
23
0
0
44
-22
0
0
-34
0
0
36
-67
0
3
9
0
0
4
7
0
0
0
0
0
0
13
-5
0
0
0
0
0
15
0
0
0
0
0
0
4
0
0
-1
0
2
34
-40
0
0
69
0
0
9
31
0
0
-20
-1
0
4
-32
0
0
-41
0
0
5
-22
0
0
0
23
0
0
-44
0
2
-3
0
0
0
-21
0
0
-9
0
9
0
-39
0
0
0
0
0
0
-41
0
0
0
0
0
0
15
0
3
0
0
0
3
0
0
0
15
12
0
0
6
0
-7
-4
0
0
0
55
0
-1
-1
-3
0
-3
-9
-2
-46
1
0
0
0
-43
0
0
-2
0
0
0
-54
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
23
-23
0
1
19
12
0
-4
-4
0
0
-55
-9
0
26
10
0
0
-14
31
0
0
-23
-12
0
0
0
0
-1
-2
45
-7
0
-6
0
10
-3
-4
0
-37
11
0
-30
-1
0
-14
2
14
0
-26
7
2
1
25
0
0
30
3
20
3
-22
18
0
21
0
0
0
-3
7
0
11
36
0
-46
-16
18
0
32
-20
0
0
2
15
0
0
10
9
-6
0
8
0
0
-5
-4
1
10
-11
0
-10
1
-5
-1
39
-2
0
-22
-16
1
15
19
0
0
41
1
-9
9
33
75
0
-21
-11
0
30
1
-4
0
45
10
-1
-9
-5
19
0
6
8
-3
-2
62
0
0
0
-19
0
-3
-27
51
0
0
-12
-1
0
0
-1
0
-4
-10
-1
0
0
0
0
0
-25
0
-69
1
0
0
-16
-37
0
0
-62
1
0
16
-39
-1
-33
5
-6
0
-53
-15
4
-12
-3
3
0
8
24
0
7
48
2
0
0
-17
-1
2
1
27
0
0
3
0
46
-3
6
0
0
-35
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
29
-12
0
-1
21
1
-25
83
-1
-4
-29
-31
0
-5
-34
0
0
58
-54
8
-15
8
-38
9
-26
0
13
15
-13
-6
6
11
-3
-26
10
38
9
0
3
0
-25
4
41
-44
-12
18
-4
-26
-8
0
-14
-12
32
-26
-28
-4
-42
-11
-12
32
33
29
-14
0
18
-31
-20
-7
-9
-1
20
-7
33
16
3
-6
9
-44
-36
2
-31
6
0
-17
6
20
-21
4
8
-28
-6
61
88
-11
-34
1
-5
6
16
-2
-8
-50
-17
18
10
23
50
24
-23
9
-23
25
-16
9
9
15
9
-8
0
10
-52
1
-11
44
-17
-7
0
-40
-14
-20
27
7
-12
-9
34
6
0
9
0
14
5
3
0
20
-21
-1
-26
-46
1
3
-14
4
0
-2
35
-11
-25
-3
103
13
-5
-6
37
-14
-29
2
-26
-12
23
-17
9
50
10
10
15
-38
31
-18
32
20
41
5
17
-1
36
-1
-1
30
1
-2
1
-3
-61
-37
0
-1
0
14
11
11
51
8
0
-38
22
-27
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
-45
9
7
0
-19
-1
0
26
30
0
0
-18
-19
-35
0
6
11
0
0
0
5
0
-22
-7
-17
-4
0
0
-25
-19
0
0
13
4
7
17
-7
0
19
32
5
0
15
-14
-19
-2
-6
0
0
-24
-22
0
4
51
39
13
-25
0
0
1
-27
15
1
-30
19
7
-12
-5
-12
10
16
13
0
3
-13
0
-2
0
10
-14
7
0
1
0
0
19
0
0
0
0
6
0
-50
-1
6
0
-2
9
75
13
0
1
23
0
0
32
-3
0
-11
18
-32
2
-19
0
-2
4
-38
21
37
-30
0
1
-5
44
0
0
-23
-2
-1
-1
-9
0
-17
0
19
0
0
48
14
-28
0
7
-24
0
0
3
7
0
-3
-8
0
6
0
0
0
-22
-1
20
4
0
18
-10
-15
0
-20
-29
30
0
0
-31
0
32
-68
-1
0
24
-24
0
2
-28
-14
0
-14
0
0
27
-21
0
0
-1
-12
0
11
-9
-4
1
0
21
0
-61
-9
12
0
0
-30
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
10
-1
0
0
-21
0
0
0
-5
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
4
-40
0
0
-3
0
6
-11
-41
0
-31
33
0
0
-10
-14
0
0
-6
0
0
19
-36
0
0
11
6
0
-13
-17
0
0
-28
0
0
-10
-1
0
-14
0
13
-1
-3
-27
0
0
0
0
0
0
43
1
32
0
1
0
0
2
0
1
0
0
0
1
27
0
0
2
0
0
-3
1
0
0
-2
0
15
11
42
1
0
-11
17
0
1
-11
0
7
-8
0
0
-7
-35
1
18
2
2
0
-4
5
0
-2
6
0
8
0
19
0
0
0
1
-10
0
34
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
-2
0
0
0
10
0
0
-10
0
0
0
-15
0
-21
0
0
0
-1
16
0
0
-2
0
0
0
3
0
0
0
3
0
0
-9
0
0
1
0
0
0
-15
0
-4
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-2
0
0
-3
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-42
0
4
0
0
0
0
4
0
0
7
0
0
0
37
0
19
-8
1
0
-56
40
0
0
32
0
0
21
3
0
0
21
13
0
0
-75
0
0
-2
0
0
-2
34
0
14
0
-4
0
0
-12
0
0
0
0
0
0
-11
-6
0
0
0
0
0
-24
0
0
0
0
0
0
36
0
0
4
0
0
0
62
0
0
2
0
0
0
12
0
0
42
-10
0
0
11
0
0
21
0
-4
-8
-16
0
0
61
-2
0
2
-28
0
0
4
0
0
0
-7
0
0
0
-2
0
0
-45
0
0
0
0
0
0
16
0
0
0
0
0
0
-43
0
2
-1
0
0
0
-46
0
0
-12
0
0
0
0
0
0
0
0
0
0
-11
0
3
0
-3
0
1
19
0
-19
-2
0
0
0
8
0
0
0
0
0
0
21
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
-19
-67
3
18
-61
3
0
-3
7
1
-1
-1
-40
0
2
-22
-30
6
2
12
-25
24
23
0
4
-7
-11
-1
-1
49
-7
-30
14
52
0
12
-31
-17
-12
-3
0
40
-9
-28
0
11
-4
45
28
18
-5
-6
0
-3
11
50
0
22
7
13
-2
32
7
-14
1
-10
11
-9
9
15
18
5
-29
-2
0
-26
23
0
-7
32
-2
12
-15
0
-16
-24
-51
-2
1
-55
-16
-23
-16
-50
24
1
-30
-2
4
-15
-52
-9
-5
-7
32
-17
-3
-2
26
17
54
18
38
-5
-32
-18
4
26
-3
26
-10
9
34
-5
-10
4
21
-10
3
77
-1
-17
25
127
12
-15
-1
-8
-16
0
-3
12
8
-3
0
25
-22
9
42
-11
-12
-6
-1
5
-56
-7
-37
-6
6
3
68
-32
4
-9
-38
4
-11
-36
16
5
5
22
-12
43
25
13
-41
13
0
-2
-1
0
-22
10
-21
16
-14
30
-33
-36
-1
3
-1
-3
18
-4
-3
16
3
-8
8
-29
-11
-2
-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
-6
0
0
0
-24
0
25
-9
11
0
0
2
0
-13
0
0
34
0
0
0
9
0
-26
45
8
0
0
0
-2
-23
17
0
-6
0
-3
-32
-4
0
7
42
0
0
13
-10
1
0
11
16
0
-43
2
-1
0
5
0
0
3
-28
12
0
3
8
-2
48
-85
4
16
27
2
0
8
15
0
0
1
0
33
0
25
2
-6
0
0
0
7
-2
0
0
0
0
0
2
-24
0
0
16
0
70
-12
7
0
-2
14
0
8
9
2
0
-26
4
2
3
-32
-7
-1
-3
4
-3
0
5
0
0
0
45
0
-8
37
-23
0
-1
54
0
-6
3
36
0
-1
17
0
-66
0
17
0
0
0
0
0
0
-2
0
0
0
0
7
-1
-26
0
6
2
0
0
2
-4
0
2
9
-3
0
1
-4
-2
-39
-20
6
0
0
6
4
-9
-7
0
-2
0
19
0
5
2
0
0
1
14
0
-1
19
0
-25
-11
-9
0
-31
0
0
3
0
28
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
9
0
0
16
8
0
19
-38
0
0
9
33
0
0
19
-7
0
0
17
0
-12
0
-21
-38
-1
-9
0
16
2
0
0
7
17
0
-34
13
-11
-3
8
1
0
-3
4
0
8
-22
-1
0
-45
5
-1
0
-2
2
0
60
4
1
7
4
18
0
21
11
0
-54
-2
-3
0
15
5
0
0
-5
20
0
0
4
8
-66
0
-31
0
0
4
-12
-1
6
6
0
-15
7
-14
2
13
-10
0
8
4
0
-1
-1
-14
0
40
-1
0
27
54
5
0
-19
-28
-1
-33
-4
-11
0
30
1
21
-24
-2
-7
0
27
11
0
6
45
48
0
0
-3
10
-10
8
1
3
0
-10
-2
0
2
12
0
-2
4
9
8
1
-3
0
0
-16
-3
-11
-7
3
0
5
-29
0
-2
26
-1
0
-9
3
0
1
-21
9
0
21
-41
-4
-8
29
42
0
-15
-8
2
-51
-10
-2
0
8
-13
0
-13
-7
21
0
0
-11
3
-32
-20
-1
0
0
7
14
0
-1
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
-6
27
9
-1
12
1
-32
0
20
-14
-1
-32
21
1
18
-1
-11
-26
-28
2
6
2
-18
21
48
-21
-18
-12
8
1
-3
16
2
-25
-2
-4
1
49
8
-4
-1
0
-33
-9
-2
-11
-5
-19
14
35
-3
20
-11
5
-33
12
-36
-4
-35
3
11
0
18
-1
-8
-2
-6
9
-44
-41
0
5
-17
-32
3
-26
-4
-2
-7
-26
-17
-39
-39
-14
-31
-23
23
29
-25
-29
11
-9
-4
-25
9
-8
9
6
23
-7
57
-25
19
-48
-34
-1
10
-59
6
9
33
-2
-35
-3
-53
-5
5
-31
39
1
-7
3
24
2
-44
-15
16
-26
-28
-29
2
-17
-29
0
4
-31
-79
-8
4
-39
0
-4
-17
-7
55
-31
-44
53
-10
-19
-17
-2
33
7
-27
-19
7
-41
-10
-30
-51
0
-5
-45
-5
25
-38
-52
17
8
-19
-25
-2
-6
43
-8
-6
-26
4
-8
-33
43
-51
-1
32
31
-4
-31
0
-14
-19
19
29
40
43
-56
0
-28
-49
42
43
-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
2
9
0
0
-12
-15
-45
0
-3
-66
0
0
0
9
6
-21
11
-7
0
0
0
-61
-4
-1
0
15
0
0
3
1
10
49
21
0
-3
-14
-1
9
-3
-25
-2
0
-70
-12
0
10
1
4
-4
-6
23
0
0
46
27
0
-8
0
0
1
-20
3
12
32
8
2
11
2
0
38
6
-4
8
5
0
21
0
3
-28
8
0
0
0
0
1
-43
-22
-2
-44
13
3
12
11
13
35
53
-2
0
20
-2
-7
12
9
-4
0
-29
-6
1
-8
6
14
-16
36
32
1
-67
-50
17
0
-30
0
10
-3
57
-6
-30
0
-9
-4
8
-8
-6
25
0
4
9
0
0
2
0
0
-17
36
-6
0
0
1
6
-31
0
-29
18
0
1
4
33
0
10
-30
-18
6
21
-50
0
46
16
-11
0
3
25
0
-20
-25
-16
0
10
36
-2
12
49
2
0
13
0
-9
-6
-70
-23
0
15
-4
2
-29
15
0
-1
0
-30
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
6
0
6
0
0
0
0
0
0
0
2
0
0
0
0
0
-12
0
0
0
0
0
0
-9
0
14
-3
0
0
-18
44
0
0
-15
0
0
0
14
0
0
-18
2
0
0
-3
0
0
1
0
0
0
4
0
-2
0
0
0
0
0
0
0
0
0
9
0
6
0
1
0
0
0
0
-13
0
0
0
0
0
0
11
0
0
0
0
0
0
-44
0
0
0
0
0
0
-7
0
0
34
0
0
0
-30
0
0
0
0
0
0
-8
0
0
16
0
0
0
-10
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
-11
0
0
0
0
0
0
0
0
0
-4
0
0
0
16
0
0
0
0
0
0
12
0
16
2
0
0
0
-16
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-25
0
0
1
0
0
-1
-4
0
2
-2
0
0
-3
-9
0
0
25
0
0
-1
-17
0
0
-6
0
0
-7
-6
0
0
-3
0
0
0
-6
0
-3
-1
0
0
0
-26
0
0
0
0
0
0
-6
0
1
0
0
0
0
-57
0
0
0
0
0
0
-8
0
0
-1
0
0
0
-20
0
0
0
0
0
0
26
0
0
4
0
0
9
1
0
0
27
0
0
0
6
0
0
7
-4
0
0
-29
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
-1
0
-1
4
0
0
0
-18
0
0
0
0
0
0
-4
0
-8
0
0
0
0
17
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-21
0
0
55
-4
-24
-6
5
-17
0
1
-46
9
-2
1
-31
38
-18
-1
1
14
-2
-9
0
-13
-1
4
10
0
0
-6
-1
-8
2
-27
-3
-1
13
-12
51
-20
-15
0
6
8
21
2
9
-9
-16
-1
-3
51
36
27
51
-6
0
2
19
-18
0
5
17
-9
25
19
45
-31
-3
-21
36
1
0
-12
0
6
7
24
-3
-12
-18
0
-33
4
11
-22
-8
-50
-35
50
-10
6
-26
-10
-23
-41
-10
14
-31
28
2
-5
-49
-37
2
-16
-54
25
-38
-20
10
-7
-23
-12
-35
14
46
36
-5
-9
-13
20
-16
-4
-13
0
-42
-8
-1
-76
-15
0
-24
-2
-2
0
-74
29
2
4
-30
-4
0
35
31
0
13
0
-22
-36
-18
-48
2
-14
7
9
-8
17
-24
-20
-20
-9
-42
-9
-15
-2
-109
-10
9
-66
20
15
7
6
12
-2
-17
-26
-24
53
-11
5
31
-21
-21
-6
-2
26
1
-21
7
0
-13
14
11
-32
-7
-6
3
-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
12
42
0
0
0
-10
-3
0
0
-3
0
0
0
0
0
-14
-1
0
0
0
0
0
-2
0
0
-6
0
0
-5
-43
0
-42
-26
0
0
-40
4
0
0
-5
0
0
24
18
0
0
19
0
0
-11
-35
0
0
3
0
0
-21
-17
0
24
-23
-4
-12
9
-26
0
0
0
0
35
0
38
0
-4
0
0
0
0
-73
0
0
0
0
0
0
-60
28
-4
0
0
0
0
-5
0
1
-15
0
0
37
34
0
0
20
0
0
0
66
-8
0
15
0
-3
6
-35
0
0
-32
0
0
20
-23
0
0
-7
0
-1
12
-18
0
0
-32
1
-46
0
8
10
0
0
0
-2
0
-46
0
0
0
0
0
0
26
0
2
-10
0
0
0
-5
0
0
-6
0
0
-1
-25
0
29
32
0
0
0
-10
0
0
8
13
0
0
-48
0
-16
-9
0
0
2
10
0
0
31
0
0
0
0
0
10
10
0
-2
0
3
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
66
0
0
-19
36
0
0
1
-30
0
0
-22
0
0
0
-40
-13
36
0
0
-21
0
0
0
-23
0
0
36
-5
0
-24
5
16
0
-8
12
0
-1
-28
3
0
-12
-9
-1
0
13
-13
0
0
-9
0
-2
-3
0
0
-5
3
0
-30
35
36
0
16
39
2
0
52
-1
0
0
6
9
-2
0
46
0
0
5
-10
-9
7
-4
0
-3
1
0
-11
27
1
0
43
-14
0
0
-13
0
0
-67
8
0
6
29
54
0
32
-2
0
-4
11
2
0
1
3
2
-22
-39
29
0
0
-12
-1
0
30
4
0
0
4
-2
19
-48
23
0
0
-11
0
0
-1
7
0
0
-5
3
3
0
0
0
1
12
0
-1
8
0
0
33
-24
0
-4
-28
-3
0
34
-3
-1
-33
5
6
0
-2
-44
0
1
-14
0
0
15
-19
0
-39
1
13
0
-4
-7
0
-1
-11
25
0
0
19
-2
-60
-3
0
0
0
-12
-44
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-17
0
0
0
-7
0
6
-27
-4
0
-2
0
1
16
0
0
-37
0
6
-4
40
0
19
-32
-1
0
-14
-15
0
-1
-32
0
0
-26
-26
0
-4
6
-10
-2
17
-17
0
1
-18
0
10
3
-84
0
-35
8
-32
0
0
9
1
0
-5
-2
0
0
7
33
15
-1
-51
0
0
11
0
0
0
0
0
2
-26
7
0
5
-6
-8
2
23
0
2
36
0
-34
-16
-10
3
62
30
-11
-2
12
-25
0
-7
-11
0
27
1
-7
0
0
37
41
12
0
-21
0
0
33
0
9
0
9
0
0
-2
17
10
0
-1
0
1
0
0
-6
0
2
-5
0
0
0
0
0
-4
-2
-15
-9
0
12
-8
-7
0
0
1
-2
9
1
-28
0
24
12
-6
0
0
-5
0
-7
-2
-9
0
0
32
0
-23
22
0
0
0
21
0
-12
21
2
0
0
-4
0
-22
0
0
0
0
-73
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-5
0
6
-6
17
24
0
-2
0
-27
-1
0
0
0
3
7
-27
-33
0
7
-18
4
0
10
-24
-8
8
12
-8
-1
-30
15
0
0
-10
-3
0
39
3
0
0
4
-10
3
-16
-16
0
-36
-36
-5
1
29
0
-18
-3
16
-35
-7
0
6
-3
-3
0
-14
0
0
-37
-1
1
0
13
-3
-3
9
-45
13
31
-3
31
-9
-7
0
-2
-32
-2
-14
-26
-11
-21
37
28
-16
49
19
-23
22
-38
-6
-28
-20
-27
12
0
-11
5
-12
69
24
9
-1
0
2
27
21
-2
0
0
0
-58
-32
-122
0
0
-1
0
0
2
0
0
-21
4
-11
0
1
0
0
14
-2
-11
-34
-3
26
2
29
1
1
5
-4
-6
10
11
0
-7
-30
11
-13
-4
-10
-3
-4
20
8
6
4
-13
0
-26
-74
-9
58
0
-41
-11
4
43
-1
9
5
0
0
11
-9
-2
-3
0
-22
-5
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-29
0
0
0
0
0
0
-8
0
0
2
0
0
6
11
0
-30
-21
0
0
-2
-14
0
0
2
0
0
-9
12
0
0
-4
0
0
0
-8
0
0
-2
0
0
0
18
0
16
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-26
0
0
0
0
0
0
9
0
0
0
0
-1
0
16
0
0
0
0
0
0
-52
0
8
21
0
0
0
-7
0
0
-3
0
0
0
2
0
1
0
0
0
0
-36
0
0
0
0
2
0
-1
0
0
0
-4
2
0
19
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
17
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
2
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-71
0
0
0
0
0
0
1
0
1
-1
0
0
-1
-5
0
0
-1
0
0
0
12
0
0
0
-12
0
0
-40
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
-38
0
0
0
0
0
-2
0
0
0
-1
0
0
0
8
0
0
0
0
0
-1
-24
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-76
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
1
0
0
0
7
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
0
1
10
-4
0
-10
12
5
0
1
0
33
-9
7
0
-7
7
6
-43
-2
0
18
31
24
0
-31
-5
6
-1
12
-2
0
-9
14
0
0
8
23
0
16
11
0
1
31
7
0
0
-34
0
-29
0
-77
6
3
24
0
0
0
-7
17
-1
7
-16
23
0
-28
2
0
-10
-1
0
-3
12
-14
-8
-8
3
-1
-2
-8
-55
26
-20
0
23
-36
-2
-22
4
-1
10
25
-10
26
1
-10
19
-3
5
-20
-29
-16
49
-3
7
18
3
-37
3
2
-8
0
8
18
16
-3
1
-41
0
-2
0
-9
-15
0
-26
49
0
0
2
-9
0
-18
18
0
3
0
0
0
-23
0
-29
4
4
-47
0
-23
-1
8
49
-6
-10
-6
-25
1
0
-43
-9
0
9
60
1
-10
12
-38
-82
-29
9
0
1
1
0
-9
0
28
0
27
0
-14
0
0
-5
-6
-21
0
1
12
4
-9
24
-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
-23
-22
0
0
4
1
0
1
-55
-21
22
0
0
29
6
-2
-3
-1
0
-52
-19
-3
0
-8
15
0
-1
8
-4
-4
9
6
0
0
-8
1
0
0
7
0
0
-20
1
30
8
15
8
43
4
13
0
-15
8
0
-17
39
0
0
0
2
-1
55
0
1
-29
-12
0
0
-10
4
-3
-14
-1
-12
0
15
37
7
0
2
46
0
1
27
9
0
-10
12
0
-4
-42
-5
-19
19
-6
0
-27
-67
-3
0
36
9
29
19
12
-20
-6
-3
-15
0
-9
8
-1
2
0
13
0
17
-17
-13
0
0
-7
0
6
3
9
50
0
-1
-2
-25
0
7
-9
0
0
0
13
0
-2
0
-12
12
0
-21
5
39
22
0
84
0
42
-7
-7
0
-9
26
8
-8
8
0
-4
1
0
0
-11
39
14
-1
-56
49
-8
8
-6
23
0
9
5
0
14
8
-29
0
24
0
0
20
0
6
39
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-36
0
-1
0
0
7
5
-11
-54
10
5
0
-4
-1
-1
0
8
24
0
6
24
1
-26
3
-25
0
7
-5
8
-12
-19
-17
0
16
9
4
1
-8
-1
0
65
5
0
-18
-3
-65
0
57
14
-4
-4
19
4
0
13
2
-23
1
-10
-45
0
0
8
-16
-42
-9
-95
0
-3
8
-35
2
-69
-78
0
0
-4
8
17
13
-23
0
34
-2
-11
-3
-13
-29
0
13
8
14
1
37
-7
1
-9
3
-64
-41
12
-22
0
36
21
-14
23
34
19
0
34
-3
35
8
33
-2
63
9
-4
35
-14
-19
-9
-1
1
-7
33
-18
-12
48
0
24
1
-5
-6
-6
-34
0
-15
-2
6
-34
-18
-10
0
-15
-9
16
6
-3
-4
0
3
9
2
-21
-11
-33
-1
-53
-26
-21
22
14
-21
0
7
-9
23
-21
28
-7
0
-2
3
3
39
38
-3
-4
-1
3
3
-28
14
-9
-8
0
6
8
-53
-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
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
6
0
-7
0
0
0
-1
-24
0
0
9
0
0
0
31
0
0
0
0
0
0
-19
0
0
-2
0
0
0
-4
0
-5
0
0
0
0
-21
0
0
-2
0
0
0
-18
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
13
0
0
-1
0
0
0
-41
0
0
-3
0
0
0
7
0
0
0
0
0
0
20
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
2
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
-2
-4
-3
0
20
0
-8
-29
-5
0
35
-30
0
0
-15
20
0
-2
21
0
0
-21
13
0
0
-25
-1
0
27
-68
0
0
-36
0
6
-5
-4
0
-8
55
7
1
6
-10
3
0
0
-1
-5
0
0
1
19
0
6
0
0
-16
0
0
0
-4
0
0
-30
0
0
-3
3
1
0
-21
0
0
-46
0
10
-1
14
-1
21
-31
1
0
-1
-26
1
-18
7
0
3
16
-61
0
0
6
8
-1
-9
7
3
0
-3
0
-3
0
-23
0
0
4
0
7
0
0
0
0
0
0
7
0
-9
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-31
-3
0
0
0
6
0
-49
7
-12
-16
-1
0
0
-36
0
-10
10
-6
0
0
-47
0
-30
15
0
-1
0
-30
0
1
0
0
0
0
-14
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-12
1
17
-2
-3
0
41
12
0
0
-66
14
-4
-62
16
0
-1
23
51
0
1
-2
-3
7
12
-23
2
-17
9
12
11
-5
35
0
-43
-11
0
0
-26
-15
9
-28
-34
0
-5
7
-14
0
11
13
0
0
63
9
30
0
15
0
11
1
-24
4
0
20
-65
-2
0
1
0
0
-22
12
3
-25
3
-36
-33
-6
-8
26
-83
7
-14
-8
-18
13
17
-38
-79
-24
23
-3
-6
5
-12
89
18
34
-25
-6
-3
-2
-12
9
1
-2
0
4
-1
21
25
8
-3
0
7
-48
31
-4
0
-27
0
6
0
4
-8
0
22
8
-7
0
0
0
0
-23
-2
-57
-6
-4
-48
0
-1
0
14
45
9
-2
-14
8
0
-39
-9
17
0
-6
12
0
20
-38
6
0
-13
-10
2
-28
-5
-43
-23
0
28
0
-2
19
1
-1
0
26
8
-56
-1
-8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
0
0
0
0
0
-24
0
0
1
0
0
0
-15
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
-20
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
-30
0
0
0
0
0
0
-13
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
1
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-87
0
0
0
0
0
2
1
0
-60
-41
0
0
3
-23
0
0
8
0
0
0
-18
0
0
0
0
0
-13
-29
0
0
-1
0
0
-1
6
0
-80
-1
0
0
0
19
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
-43
0
0
11
0
0
0
-7
0
0
-10
0
0
0
-62
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
3
0
0
0
0
0
0
22
0
0
0
0
0
0
-33
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
11
0
0
0
0
-3
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
17
0
-15
0
0
0
0
-59
0
0
-4
0
0
6
-14
0
-24
-38
0
0
-37
-18
0
-3
-33
0
0
29
-13
0
0
22
0
0
3
-36
0
0
-82
0
0
0
-33
0
22
24
0
0
0
-23
0
0
0
0
7
0
-46
8
0
0
0
0
0
-7
0
0
0
0
0
7
-6
0
6
-1
0
0
33
33
0
4
1
0
0
-8
-7
0
0
-16
0
0
-12
9
0
0
-34
0
0
0
-26
0
3
3
0
0
0
-99
0
0
-2
0
0
0
-8
0
10
-5
0
-43
0
-3
0
0
0
0
8
0
-12
0
0
0
0
0
0
-12
0
2
0
0
0
0
-50
0
0
-6
0
0
0
-24
0
1
7
0
0
0
10
0
0
2
2
0
0
-19
0
-2
9
0
0
0
-45
0
0
-7
0
0
0
9
0
-30
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
1
0
0
0
27
48
-1
0
31
0
0
8
-19
0
1
-19
45
0
10
7
0
0
-10
9
0
-10
9
0
12
-28
-13
0
6
16
22
-2
32
-2
0
-1
-26
0
-64
0
-58
0
0
-30
-2
0
1
1
0
0
0
35
9
0
0
0
1
9
23
0
0
0
0
-6
-17
-1
0
-14
-6
0
10
32
-1
0
34
0
0
1
-11
6
0
44
26
0
-43
-4
0
2
-26
8
0
16
-10
10
32
6
4
0
0
-8
0
0
40
0
0
2
-23
7
16
-29
0
0
0
7
13
0
0
8
0
0
26
-6
0
-1
0
0
0
13
0
28
-4
0
0
7
-29
0
0
-17
-9
0
3
-30
0
-20
34
6
0
0
62
0
-7
11
-22
0
0
3
-10
-20
-2
-2
0
0
-15
1
0
20
18
0
0
-1
0
52
0
-1
0
0
-66
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
3
-1
0
-9
-1
0
0
4
-41
0
0
-10
0
0
6
23
0
0
25
0
0
2
15
0
0
-4
0
0
-28
36
0
40
8
0
0
0
51
0
0
6
0
0
0
2
0
0
0
0
0
0
-3
6
0
0
0
0
0
-28
0
1
0
0
0
0
-38
0
0
1
0
0
0
-18
0
0
1
3
0
0
41
0
0
15
0
0
2
22
0
0
-2
0
0
0
-10
0
0
6
0
0
0
1
0
0
0
0
0
0
-24
0
0
0
0
0
0
-18
0
0
0
0
0
0
48
0
-1
1
0
0
0
-22
0
0
7
0
0
0
0
0
1
-10
0
0
0
-39
0
0
0
0
0
0
-35
0
3
0
0
0
0
4
0
0
0
3
0
0
-19
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
10
2
46
-25
3
1
-41
-10
6
0
20
9
1
-19
-35
10
-24
64
17
4
-11
4
19
9
23
0
2
-26
21
-6
19
2
2
-1
-8
8
-4
5
-4
19
-3
-16
-37
-6
48
21
29
1
-11
-31
-29
9
5
21
0
-33
-45
-10
37
-6
0
9
-33
0
-25
-65
-2
6
2
-7
-19
1
-9
8
23
-1
-41
-18
5
-27
-46
-7
-2
24
-10
8
-55
8
16
-1
27
-60
-9
-11
34
29
-12
-6
-19
6
21
38
15
-11
-5
-25
10
0
12
-11
-3
2
-25
45
11
6
-37
0
-21
-10
-64
-44
-80
-9
14
-16
-33
-28
-55
-35
-7
5
-28
-53
-21
7
-8
-1
2
10
10
-6
-11
14
0
-3
8
21
-10
-24
-26
-4
2
-39
-2
-11
11
-2
-63
8
-22
-13
-6
-18
-7
-15
-4
-37
-2
46
48
-25
-2
6
-15
2
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-23
0
0
8
-1
0
-11
18
0
-31
3
26
-2
23
0
0
-12
13
-11
0
-69
-46
-5
10
-31
-19
-1
-8
-11
0
11
-40
-1
0
-33
55
0
5
12
-7
0
51
-20
0
0
4
7
41
0
39
16
11
0
-18
2
0
-24
0
0
0
0
0
16
-7
6
2
2
41
-56
21
6
0
24
-45
-18
37
9
-15
0
3
-14
18
-1
34
-3
0
4
-10
3
17
24
-27
0
39
-56
-21
-7
-1
2
0
2
23
0
79
0
19
0
0
4
37
-3
0
3
3
-1
0
2
-1
0
7
0
-1
0
0
0
-1
-30
0
16
37
0
-3
6
37
1
-1
-14
53
0
-7
3
0
-63
23
-3
0
0
0
0
-12
29
-12
0
1
-16
0
27
-54
-3
0
-1
0
-6
-4
3
-46
1
6
29
0
-12
0
0
-16
0
13
-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
60
-20
1
0
-21
0
0
62
16
0
-23
-40
-22
0
23
11
0
-1
-13
8
0
-6
-32
-1
2
-34
0
0
-38
-3
-1
-6
-4
-2
0
-6
22
0
5
-105
43
0
-1
-13
-7
0
13
0
9
0
24
-17
-2
0
-15
0
-1
-34
0
0
-6
4
0
-10
34
6
2
10
-6
-9
-3
-1
0
-7
6
0
48
-16
21
-1
-10
8
4
9
16
3
15
-15
17
31
17
0
-12
0
3
-26
11
37
-14
-5
0
-3
-20
12
-42
0
-25
0
1
-15
24
-15
0
28
-10
0
0
2
0
0
-38
9
0
0
0
0
4
-5
0
27
21
0
2
3
15
0
-6
-20
15
1
0
42
0
-30
11
28
0
0
-36
0
-3
25
-18
0
0
23
0
-29
3
-8
-18
0
18
0
-8
6
0
-7
0
-17
0
-10
0
0
1
0
6
31
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
22
9
0
0
0
0
0
-32
22
0
6
-1
0
0
-9
3
0
0
32
0
0
-7
34
0
0
13
0
0
6
-51
0
0
-34
0
0
-6
14
0
-8
-12
19
0
0
19
0
0
0
8
-2
0
6
68
0
0
-6
0
0
-11
0
0
0
0
0
0
-11
0
0
0
0
0
2
-27
0
0
0
0
1
0
9
6
0
1
-18
0
21
-1
0
1
7
0
-3
0
1
0
0
7
39
0
0
12
0
0
-2
2
7
0
39
0
0
0
1
-13
0
42
0
0
0
0
0
0
-44
0
0
0
0
0
0
-21
0
-1
0
0
-1
0
-48
0
-2
0
0
0
0
4
0
2
6
0
0
0
26
0
0
2
-8
0
-1
-11
0
38
-9
0
0
0
-22
0
12
0
0
0
0
24
0
-1
0
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
-9
-2
0
0
4
0
0
33
-142
0
12
-134
0
0
-14
-33
0
-1
-48
0
0
2
-4
0
0
-17
0
0
31
-39
0
0
1
0
8
56
-8
0
-28
-4
0
0
0
-9
0
0
0
0
0
0
6
-3
-2
0
7
0
0
-35
0
0
0
0
0
4
28
0
0
-4
0
-11
-4
-22
0
0
25
0
19
-6
-33
0
0
-30
2
4
45
-28
0
0
-14
0
-12
-11
-28
0
0
-25
-3
3
0
1
0
0
6
0
7
0
10
0
0
0
0
25
0
-25
0
0
0
0
9
0
-10
2
0
0
0
0
7
15
0
-1
0
0
9
0
20
0
0
47
0
0
0
-13
0
44
13
0
0
0
15
11
0
36
0
1
0
2
0
50
-5
0
0
0
17
0
1
0
0
0
0
21
0
-16
0
0
-13
0
-55
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-12
0
0
0
0
-14
0
0
18
0
0
0
-1
0
0
0
0
0
-4
13
0
0
-1
0
0
0
-4
0
17
0
0
0
0
-7
0
0
0
0
0
0
-59
0
0
0
0
0
0
-63
0
0
0
0
0
0
-2
0
0
0
0
0
3
47
0
0
0
0
0
-8
24
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
11
0
0
0
0
0
0
-9
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
22
16
2
-55
2
0
0
4
-41
0
18
-20
-2
0
7
31
0
-25
-4
-11
3
17
-5
3
-45
2
0
13
1
2
-10
-12
18
2
0
3
0
24
0
8
19
-27
0
53
-10
0
28
17
0
12
15
0
0
21
0
2
-19
4
-6
7
-27
1
0
48
-21
-13
-7
-8
3
0
-7
-16
-6
-23
-32
0
6
17
-25
-9
-21
-4
1
-2
-3
20
-23
-17
5
0
4
-45
-3
11
0
4
0
-22
-9
-22
24
0
12
25
0
0
0
-2
0
-33
-38
1
0
0
0
0
-5
0
-7
24
0
-8
-6
-12
0
7
4
0
-13
-2
-6
0
37
-7
-4
0
-9
-42
0
-8
-39
-4
20
-6
12
1
-6
21
11
7
0
5
1
8
-20
18
31
0
14
0
-14
0
1
33
0
3
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
-22
-8
-11
-16
-1
-43
19
9
0
-20
-34
13
-1
-32
5
6
-54
16
7
-11
41
7
3
-13
-37
6
10
21
-17
-2
3
-18
3
11
-2
0
-4
-33
68
9
-31
-24
-1
0
-9
10
-34
-3
73
7
-3
24
-44
-40
25
4
-32
0
-32
26
1
-8
-10
-11
5
-8
12
11
25
16
-3
2
-8
-39
2
-33
2
3
2
32
-53
1
-17
16
-3
2
-23
0
-2
0
12
-20
4
35
-5
-10
20
1
-8
-1
-22
-10
12
6
7
27
-11
9
2
31
37
5
-5
10
30
-37
-5
-90
-42
-11
0
69
27
1
-46
-14
-28
-6
-31
23
-16
-6
-23
11
5
-26
-14
-10
2
-4
-38
-4
-63
-19
-3
25
-20
4
7
64
-8
32
-41
19
-8
-8
1
-25
0
-24
-7
-32
5
27
-2
-7
19
8
8
-13
13
-9
4
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-24
0
0
-13
64
0
0
15
0
0
-1
10
0
0
25
2
0
39
-35
0
0
-23
0
0
16
9
0
19
33
-19
0
0
-40
0
0
0
0
0
0
-52
0
0
0
-4
0
0
-60
0
0
0
0
0
0
16
0
0
0
0
0
0
59
0
0
-1
0
0
0
13
0
0
5
0
0
-3
1
0
0
-3
0
0
0
-41
0
0
7
1
0
0
-18
0
0
3
0
0
0
8
0
0
9
0
0
0
-4
0
0
0
0
0
0
33
0
0
0
0
0
0
24
0
-67
0
0
0
0
17
0
0
0
0
0
0
3
0
10
-8
0
0
0
-12
0
0
7
0
0
0
14
0
-6
0
0
0
0
-16
0
0
0
0
0
0
-51
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-53
-13
0
0
8
-28
0
0
12
0
0
-3
12
0
0
0
0
0
6
-37
0
0
11
0
0
-1
-1
0
-21
0
0
0
0
17
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
32
0
0
0
0
0
0
4
0
0
-1
0
0
0
14
0
0
-19
0
0
-3
9
0
0
-1
7
0
0
31
0
0
0
0
0
0
71
0
0
0
0
0
0
26
0
0
0
0
0
0
-9
0
0
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
-11
0
0
-2
1
0
0
12
0
0
0
0
0
0
-20
0
0
-4
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-15
0
-2
-90
-28
0
-52
7
0
-6
21
-2
-2
-17
-17
1
-4
-27
-43
-10
-12
38
-3
-16
24
1
16
21
5
0
5
-3
8
4
-39
8
0
5
-6
-18
5
-6
13
-10
43
0
19
0
0
-15
51
0
0
-1
-10
-7
19
2
27
10
-26
26
-44
19
3
-30
4
0
-41
-52
18
10
27
18
9
-17
33
14
-10
-10
21
40
-31
71
20
1
27
-15
-29
-26
-38
-3
-7
1
16
-2
-23
-13
12
10
-2
-19
11
9
0
16
-4
2
0
10
19
-13
-33
6
0
2
25
0
-3
-12
25
-9
19
-1
-15
1
25
0
1
-21
29
19
-21
5
-2
2
4
11
4
17
-7
6
-22
8
-48
-6
-2
2
0
29
5
-7
40
-17
12
4
29
-42
-36
-2
0
-2
8
-21
-8
0
25
0
9
-47
-23
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
17
-12
0
-3
52
0
0
1
35
0
0
-6
0
0
7
-21
0
0
5
0
0
-3
-36
0
0
4
0
0
0
10
0
20
0
0
0
0
4
0
0
0
0
-3
0
44
0
0
0
0
0
0
33
0
0
0
0
0
0
23
0
0
-1
2
0
12
-25
0
0
0
0
0
16
10
0
0
-7
8
0
9
3
0
0
17
0
0
2
-37
0
0
17
0
0
0
-8
0
0
-1
0
0
0
-1
0
0
0
2
-18
0
-19
0
0
0
0
0
0
-12
0
0
0
0
0
0
-82
0
0
0
0
0
0
20
0
0
0
0
0
0
2
0
0
1
0
0
0
-11
0
-1
8
0
0
0
3
0
0
-8
0
0
0
-1
0
0
0
0
0
0
1
0
-7
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
49
0
-38
42
0
0
62
-18
0
0
-26
0
0
19
-5
0
0
-34
-1
0
-34
-4
0
0
5
0
0
-11
59
0
-44
41
-30
0
-2
5
0
0
0
0
0
0
-19
-2
8
0
0
0
0
-73
0
0
0
0
0
0
-59
0
0
0
0
0
-11
15
0
-3
3
0
0
0
-51
0
0
36
11
0
-15
36
0
7
-3
0
0
-12
-1
0
0
18
-2
0
-6
5
0
0
-41
0
0
0
7
0
0
0
0
0
0
13
0
0
0
0
0
0
-15
0
0
0
0
0
0
-45
0
0
0
0
0
-2
-16
0
-9
-1
0
0
0
-5
0
40
8
0
0
0
15
0
0
-1
0
0
0
43
0
-17
1
0
0
0
-41
0
0
-3
-1
0
0
17
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
-17
-15
53
-28
-17
20
0
-4
0
-3
33
-53
4
7
-38
-4
-4
-3
8
10
12
-21
31
-3
-13
-5
-1
17
-6
-7
-2
-3
-30
-16
-47
0
19
7
-7
0
27
0
-2
-7
44
16
32
67
4
5
-8
-23
-62
27
33
-17
-2
-11
0
6
-4
-2
-6
23
-6
0
-5
-11
-7
6
13
-6
-1
69
0
-5
-31
27
-18
-2
-36
14
-11
-52
-115
9
-2
6
-4
-4
64
0
-8
1
-25
-8
12
-16
0
18
33
-15
11
0
-7
0
-17
-9
0
2
-1
9
0
-23
-10
24
-1
-7
-2
-4
-3
-14
29
-17
20
1
10
1
-1
-2
25
-4
-1
-9
8
1
30
-36
5
-9
-20
-17
9
1
-2
0
-12
14
5
-11
-11
21
-44
-40
0
19
7
26
-2
0
-25
0
12
-29
11
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-51
38
4
-46
39
31
2
34
-46
11
-39
-7
11
1
17
-29
14
1
-62
-9
6
1
5
-2
2
11
-26
-1
-40
-1
-2
39
27
4
-6
-21
35
66
-4
11
56
0
31
17
-22
-74
-8
20
3
5
11
4
18
8
-90
0
-20
15
-21
-37
-3
-17
-22
-17
-7
-10
35
-25
-20
-11
11
-49
-12
-7
-16
16
-1
27
-35
0
-9
-43
10
0
-38
-4
14
21
21
2
-1
-5
-29
-6
-15
15
0
18
-33
-2
-11
59
-10
-3
-5
-1
23
-19
-14
40
26
-5
5
40
-8
-61
-20
-73
0
-44
9
1
-29
61
-26
-11
-64
52
13
31
-33
-23
-12
-41
-15
-21
12
-51
-9
-10
8
-19
10
1
20
-39
3
3
-73
-13
1
-4
-25
-1
5
-29
-18
21
-10
-1
27
-25
16
-35
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
35
25
0
0
-36
0
0
9
-16
0
0
8
0
0
6
-18
0
0
1
0
0
-2
-21
0
19
0
0
0
0
21
0
0
7
0
0
0
11
1
-1
0
0
0
0
-11
0
0
0
0
0
0
42
0
0
3
0
0
0
12
0
0
0
0
0
0
-38
0
7
0
0
0
-2
-15
0
-1
20
0
0
0
-38
0
0
13
-1
0
0
10
0
0
0
0
0
0
-8
0
0
0
0
0
0
-15
0
0
0
0
0
0
10
0
20
0
0
0
0
45
0
-1
0
0
0
0
-4
0
0
0
0
0
0
-5
0
-4
-11
0
0
0
12
0
1
0
0
0
0
30
0
4
-1
0
0
0
-4
0
0
0
0
0
0
24
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-16
8
-2
10
-7
2
1
3
13
-6
-8
-17
-2
13
1
4
-12
0
33
-33
24
16
-8
-1
3
1
-8
14
-4
-33
-1
3
-7
-9
1
1
-26
-6
7
11
7
-5
-7
13
9
2
-4
55
9
-4
-34
21
-14
7
11
-4
-3
16
7
22
-13
0
25
-3
12
-8
-6
-13
-23
-10
-5
-4
17
0
22
58
-30
0
-22
-23
14
3
12
-6
10
-6
-8
9
-14
5
-13
-14
-61
-17
8
-24
13
-43
7
-36
11
-45
-38
15
-1
-11
-20
-11
-25
-48
57
28
6
48
-64
-31
-17
16
-25
-10
-27
-49
28
-5
-11
-16
9
-21
12
6
-38
14
-28
-7
0
-67
0
-2
5
-35
-5
16
-2
-37
-14
-19
-48
-8
40
17
-16
14
5
-39
2
9
7
-23
48
-27
2
14
-26
-19
-18
-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
1
0
1
-63
42
13
3
-30
1
-44
-33
-19
-21
-14
2
28
-39
-39
10
-26
-12
-15
11
-42
0
-1
-11
6
-63
4
1
7
0
1
-12
-3
-3
0
-29
-11
36
48
10
-1
-11
-3
44
63
-8
23
-7
0
-13
-18
-76
35
-30
0
-5
-7
31
-24
28
-26
-13
-26
-40
0
-9
-30
-12
-10
38
-32
3
-4
-10
-22
14
12
-46
6
-25
0
-10
10
-22
-11
18
-27
-13
0
10
-1
-8
5
-15
6
-1
4
10
-1
-2
1
16
-16
-1
-12
-26
-18
-65
-12
-5
11
23
48
9
-10
-22
17
19
20
19
14
-51
5
-24
0
-2
11
37
13
22
-27
3
5
-34
-8
-42
-16
25
1
3
-7
-32
-4
13
9
3
6
27
-2
16
20
-1
-6
-26
-11
14
-24
13
0
1
-12
0
-7
-10
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
-15
11
0
-47
-13
0
0
-11
0
1
-14
7
0
9
-5
0
0
4
-5
0
1
-40
0
9
-2
-34
0
0
-21
0
-38
0
16
2
-31
0
0
0
-1
-2
-1
0
0
0
0
-20
3
0
11
-13
0
-7
-7
-13
0
4
6
0
18
49
-5
0
6
-17
0
43
6
-31
0
2
-4
0
19
11
-11
1
-3
3
0
33
71
-6
0
0
-8
0
21
0
-25
0
0
0
0
4
0
20
0
0
-2
0
-8
0
-3
2
0
1
0
0
0
-45
0
-19
-41
0
6
0
-28
0
0
-24
0
10
-40
-4
0
28
1
0
-1
11
-33
0
23
50
0
4
-15
-1
0
3
-11
0
-8
0
14
-1
0
43
0
-14
9
-24
0
10
-8
0
-50
0
16
-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
-3
-43
0
0
4
0
0
0
-51
0
13
-2
-1
0
9
43
0
0
-6
0
0
0
-27
0
18
0
0
0
0
13
0
0
0
0
0
0
-20
6
0
0
0
0
0
-8
0
11
9
0
0
0
1
0
-2
0
3
0
-2
30
0
0
0
0
0
-4
2
0
0
21
0
0
8
-2
0
0
4
0
0
0
46
0
0
30
0
0
0
-41
0
0
0
0
0
0
-23
0
0
0
0
0
0
-18
10
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
0
0
7
13
0
0
-6
0
0
0
0
0
0
-14
0
0
-1
0
0
0
-9
0
-1
0
0
0
0
23
0
0
0
0
0
0
18
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
-32
5
-28
46
-11
-8
8
-39
-4
-7
59
-20
-17
38
-21
19
0
-3
-7
-36
10
-21
25
-3
-10
-23
-4
26
0
-1
-80
19
0
12
-34
3
6
4
16
3
-55
-1
-47
25
-75
-37
-1
20
14
12
5
16
-1
-3
49
28
-16
4
-1
21
11
18
-10
8
11
-17
58
1
-46
30
2
-10
-4
-30
-6
5
-12
2
21
-1
31
-4
-8
-23
-25
18
56
26
-19
-2
2
-2
-1
-21
16
-6
-10
-38
-6
-12
-12
-6
51
-28
-1
48
10
-17
-28
26
44
41
19
-8
43
43
-28
15
37
-16
-13
-34
2
-15
-2
-24
-50
27
-26
39
-5
-11
-24
-3
4
7
-4
10
22
-24
-30
-1
-13
-25
-22
12
-25
4
13
-5
14
19
-26
-37
0
-20
-23
3
9
-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
-36
3
33
24
-8
-22
-33
7
-2
-6
-22
1
-57
35
1
-10
45
4
-10
-6
35
-10
-20
-26
-7
-1
7
-10
-38
-7
-25
-15
-45
-3
-5
-18
1
5
-34
38
-14
-25
4
11
21
-39
19
-5
6
5
3
-39
-16
-34
14
1
-92
0
21
-28
-20
-5
37
-5
-6
-33
-11
-12
-22
22
-16
0
-41
-40
-5
1
-10
-33
-3
-4
-65
-6
-48
-20
-45
0
76
37
13
-21
6
-34
11
-48
-40
-30
-17
-6
-67
3
37
33
-2
-9
-3
1
14
-17
-17
-11
-4
20
-20
1
-3
32
-11
16
39
28
0
32
10
-12
36
9
6
12
-30
12
-45
0
34
-12
-5
3
-16
10
25
-27
36
-10
29
-23
7
21
-14
0
3
36
-8
9
-35
22
22
10
62
-32
-29
5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
-48
0
0
86
0
0
-1
4
0
-18
8
2
0
0
2
0
0
0
0
0
0
7
1
0
0
0
0
0
-9
0
0
0
0
0
0
82
0
1
-1
0
0
0
-26
0
0
-8
0
0
0
7
0
0
-4
0
0
0
-35
0
0
27
0
0
0
14
0
0
-33
0
0
0
4
0
0
2
0
0
0
-20
0
0
0
0
0
0
2
0
0
-1
0
0
0
-14
0
0
0
0
0
0
6
0
0
0
0
0
0
51
0
-4
0
0
0
0
-39
0
-1
0
0
0
0
-21
0
10
0
0
0
0
13
0
0
0
0
0
0
1
0
0
1
1
0
0
76
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-7
1
0
0
-40
0
0
-5
0
-2
3
12
0
-19
18
7
0
0
14
0
0
0
0
0
0
5
24
0
0
0
0
0
13
0
2
11
0
0
0
13
0
0
-11
8
-1
40
28
0
0
-18
0
3
-2
2
0
0
0
0
-2
-3
-20
7
0
-2
8
0
4
-27
-2
0
18
-4
0
6
31
0
0
0
0
7
0
-62
0
0
0
-1
0
0
-49
10
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-3
0
0
0
0
5
0
1
0
13
0
4
-7
0
6
-19
1
0
0
-53
0
0
6
39
0
-3
-2
0
-12
0
0
-3
-4
16
0
0
7
1
0
0
27
-8
9
0
0
1
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
-18
3
-26
-17
-2
9
4
-11
4
18
20
-2
-37
-41
3
4
-19
-6
7
-20
-19
-10
10
3
5
3
14
6
5
-7
-22
10
-40
5
4
11
9
-49
-32
-8
-9
24
39
15
7
11
0
-8
13
14
12
-9
-13
-18
4
-34
-11
-5
-12
-18
-8
-3
12
-2
-5
37
-2
2
-7
-9
-7
2
0
-56
5
5
13
13
-1
22
-19
-22
-18
-50
-39
7
-13
-44
-29
-6
6
14
6
-50
11
2
-2
18
4
1
49
15
34
-38
-3
-46
-10
10
-9
19
-19
-4
40
18
-18
-18
-40
22
43
-8
-2
0
4
-15
-22
0
-18
21
-27
43
40
14
44
45
-9
-12
11
-4
-14
5
-4
2
-6
-2
-8
2
17
-26
5
-22
-21
16
28
22
-8
-2
0
-24
-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
32
-23
0
0
16
0
0
0
8
0
0
-1
0
0
13
-20
0
32
1
-3
0
0
-39
0
0
-2
0
0
0
11
0
7
0
0
0
0
-6
0
0
0
0
0
0
-47
0
0
-42
0
3
-12
48
0
0
58
0
0
0
-31
0
6
30
0
0
0
-4
0
0
17
0
0
0
9
0
0
18
0
0
0
-50
0
0
36
0
0
0
-43
0
0
0
0
43
0
-72
-2
0
0
0
0
0
2
0
0
0
0
0
0
32
0
6
3
0
0
0
23
0
0
-9
0
0
4
-52
0
0
-15
0
0
0
-20
0
0
1
0
0
0
-18
0
-1
-11
0
0
0
-27
0
0
7
0
0
0
-11
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
-16
-32
0
0
0
0
0
0
-28
0
0
-9
0
0
0
-6
0
-15
0
0
0
0
-28
0
0
0
0
0
0
-8
-11
0
0
0
0
0
12
0
0
0
0
0
0
-14
0
0
0
0
0
0
12
0
0
5
0
0
12
-9
0
0
0
0
0
6
0
0
0
2
0
0
0
-36
0
0
-4
0
0
0
26
0
0
0
0
0
0
15
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-6
1
0
0
0
-1
0
0
0
0
0
-11
37
0
0
1
0
0
0
-9
0
0
-3
-4
0
-6
8
0
26
0
0
0
0
-6
0
0
-3
0
0
0
43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
2
-5
-47
-45
-11
-1
17
-34
-44
-2
28
-6
29
-1
5
-4
-43
-7
10
7
2
-3
26
10
8
4
17
13
-7
-1
0
-11
7
16
18
24
9
-52
-7
20
-4
4
8
0
67
-66
-8
2
-7
-12
-53
41
-18
-4
-20
-11
-4
-13
-3
50
-5
13
-1
-5
58
19
-21
13
1
20
32
-40
-18
4
17
1
-1
37
38
7
0
17
19
0
0
-9
-2
0
-6
33
1
-13
-2
0
-5
5
38
7
-9
28
-12
-6
-14
-2
24
-32
14
2
-14
-9
-3
-32
13
16
9
73
1
3
-11
-29
-28
-3
-3
-34
0
-26
9
2
40
27
-14
-8
14
-16
-28
57
-33
-13
8
-90
-24
19
27
-1
-3
34
0
0
28
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-26
-5
-22
-36
-13
-8
-33
-11
-11
-6
-59
-1
-11
-51
11
-3
-17
-16
-39
-3
24
-20
9
-13
-13
21
10
43
-14
21
30
29
25
-2
12
-5
-22
-21
-3
-2
4
-30
-28
1
-6
-22
1
2
11
-17
11
1
-23
-38
0
-24
-8
-3
15
-7
-27
1
-45
11
-26
21
29
-46
-6
-47
-16
-2
-31
-14
-23
-6
-26
-33
-9
-4
0
-14
4
15
-13
-46
-2
1
-22
2
-22
60
-7
9
33
0
4
-6
-11
22
16
-18
11
-1
-18
1
-9
-8
34
-42
-19
-70
-16
9
30
42
21
0
20
-34
9
-4
-31
-33
3
-8
-12
2
-2
-29
36
0
16
4
-29
-2
45
9
0
7
-29
22
0
-18
28
3
6
-68
-25
-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
28
0
0
11
0
0
0
-20
0
-4
4
0
0
0
-13
0
0
0
0
0
0
-11
0
0
0
0
0
0
-4
0
0
0
0
0
0
39
0
0
0
0
0
0
51
0
0
-1
0
0
0
-33
0
3
-11
0
0
-4
-40
0
0
7
0
0
0
27
0
0
2
0
0
0
24
0
0
0
0
0
0
25
0
0
0
0
0
0
-81
0
0
0
0
0
0
-1
0
0
0
0
0
0
-71
0
7
0
0
0
0
-26
0
0
0
0
0
0
23
0
5
-4
0
0
0
-67
0
0
0
1
0
0
-46
0
39
1
0
0
0
-28
0
0
1
0
0
0
43
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
64
32
0
-1
-20
0
12
0
-102
0
29
0
1
0
0
5
0
0
-8
0
-11
0
13
-3
-1
0
0
0
0
2
4
0
-1
0
0
0
-22
0
0
2
0
0
14
6
0
0
29
0
0
52
16
0
-3
-10
-3
0
0
-6
0
0
36
0
-9
-2
33
0
7
-2
8
0
2
-25
0
-2
0
-4
9
0
-32
0
0
0
-1
0
0
20
7
0
0
0
0
0
-21
0
0
0
0
0
0
-44
0
-10
4
0
0
0
-43
-1
-10
-1
6
0
7
23
0
16
0
0
0
3
61
0
3
-4
8
0
0
6
0
18
0
0
-2
0
49
0
0
9
0
1
0
52
0
-22
1
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
14
-7
-12
-40
-5
9
-7
-9
-2
-31
-6
3
-6
-2
-21
-1
-3
11
4
55
-12
0
-5
-8
-3
22
23
-15
19
9
16
-51
8
-57
-70
17
28
-25
-6
-3
-16
3
-7
12
0
-5
5
-13
-36
35
-8
-12
6
-1
-12
-6
11
-11
9
-11
1
-11
-8
-17
4
64
-7
5
10
-33
26
12
15
34
7
13
-24
-15
16
15
0
3
-30
-2
-2
10
18
0
4
17
-58
-3
-31
-1
-45
-7
-10
-24
28
-9
9
43
-4
-1
28
1
1
-14
-25
6
-11
7
-32
-14
0
0
-15
-4
1
-59
-31
0
-15
-10
0
10
26
42
-15
-41
4
0
20
34
-50
43
3
8
0
-40
17
10
31
0
-4
29
19
-3
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-28
3
0
32
0
2
-36
-11
0
10
13
0
3
23
-21
4
0
1
0
47
0
2
15
-1
0
0
0
4
-13
20
-3
0
0
0
-2
-25
0
6
56
0
48
6
2
0
20
11
0
-2
15
3
0
7
3
0
-3
32
18
0
0
2
-2
-3
1
14
0
16
1
0
-2
-1
-26
0
-4
51
0
23
0
0
-20
42
21
0
-32
0
3
-2
0
0
0
0
0
15
14
-3
-11
0
0
2
-19
3
26
4
0
-15
9
38
0
-8
-14
0
-15
41
-34
0
-39
3
0
0
3
13
0
3
6
0
0
20
-5
4
23
27
13
0
7
-10
0
-15
21
0
8
0
-18
9
42
0
0
24
0
-18
-4
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
5
-13
0
0
11
0
0
2
-22
0
5
0
7
0
0
41
0
0
0
0
0
0
3
-17
0
0
0
0
0
-65
0
0
0
0
0
0
23
3
0
0
0
0
-2
-54
0
0
-8
0
0
15
-14
0
0
28
26
0
-16
-66
0
0
-8
0
0
0
1
0
-1
59
16
0
-4
-21
0
0
2
0
0
0
-13
0
0
0
7
0
0
-39
0
0
0
0
0
0
-70
1
0
0
0
0
0
23
0
3
-1
0
0
0
-13
0
-1
-4
-4
0
0
27
0
0
18
0
0
0
7
0
0
61
-7
0
-1
31
0
-29
-1
0
0
0
-66
0
0
7
0
0
0
9
0
7
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
-79
-21
0
-8
-5
-7
-44
17
-6
-3
24
32
16
-13
4
10
-14
5
2
-18
1
-9
-4
-1
-15
-7
11
-15
-9
15
-18
-76
27
8
15
9
1
7
19
10
8
18
-14
1
35
-12
-7
-48
-1
-33
7
62
-24
12
3
45
-6
-3
-17
-1
-12
-45
31
36
9
-2
19
-1
29
3
-21
-17
2
-13
-17
-9
8
0
-2
-15
-2
-3
0
-15
1
3
-2
63
4
-11
0
1
23
-11
-7
44
-7
-60
12
-14
14
-20
-5
-25
10
0
1
3
-4
19
-35
1
11
-4
3
9
-15
2
64
9
5
19
13
14
-15
-1
-13
31
3
52
5
9
37
0
-3
2
13
30
4
5
2
-11
-52
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
9
1
-63
-13
-9
-6
3
18
-47
-67
-32
-3
-2
-19
-80
-34
1
-20
-2
-15
17
-26
38
39
-10
12
4
0
4
3
1
4
2
-7
-28
10
-21
13
21
6
47
22
10
2
-4
13
5
-2
-52
12
-10
-5
-16
0
26
-19
-3
-2
-48
11
9
-9
4
19
40
-8
19
1
-11
-9
17
-18
-22
0
-1
14
-24
-53
-66
8
13
17
-9
-2
15
1
-49
17
-4
-67
-8
60
14
18
10
14
31
-8
19
-19
-10
-18
9
7
-11
-7
-32
-20
-19
3
-21
22
9
-5
-14
37
0
10
1
3
-8
2
-2
8
42
8
0
9
27
16
2
21
-14
-32
-5
0
8
1
-18
-64
38
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
-16
0
27
-8
-6
0
0
-10
0
0
-1
0
0
0
57
0
1
0
-25
0
0
42
6
0
0
0
0
0
16
0
18
-1
0
0
0
-1
0
1
2
0
0
-1
3
0
0
30
9
0
0
23
0
0
-10
0
0
0
28
0
0
-2
-3
0
-2
-50
0
0
0
0
-11
0
3
0
0
0
0
-2
0
-4
0
0
0
0
10
0
-4
0
0
0
0
0
0
-13
0
0
0
0
0
0
-21
0
0
0
0
0
0
39
0
0
2
0
0
0
-7
0
6
0
-1
0
0
-15
0
4
0
0
0
0
43
0
0
0
0
0
0
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
36
0
-11
59
2
0
7
13
0
0
0
0
0
6
12
0
0
0
0
0
0
34
0
0
12
0
0
0
-6
0
4
-4
18
-4
20
27
0
0
0
0
-2
0
9
2
0
0
0
0
-3
-80
0
-8
54
0
2
0
-10
0
16
0
0
-4
-4
5
0
0
-2
0
4
0
20
0
0
4
0
16
0
-16
0
0
0
0
0
0
2
2
0
0
0
0
0
26
0
-2
-2
0
0
0
56
0
0
0
0
0
-3
8
0
-6
0
0
0
0
43
0
0
3
0
0
0
2
0
-5
-4
0
0
0
58
0
0
7
0
0
0
-9
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
-41
-5
17
-2
18
-1
-31
13
6
33
-3
-23
-77
16
-21
2
19
-29
-1
-21
3
-10
8
4
-4
4
-10
-8
-8
2
37
1
-4
-2
-10
30
9
28
-67
-28
-44
3
21
10
-21
-45
13
20
4
-13
-14
20
-14
-9
-34
24
44
3
15
-21
16
0
4
20
11
0
-6
44
-15
9
1
13
-2
-3
5
-8
-6
9
5
6
-3
-1
62
27
13
5
42
-1
-23
-15
0
51
-7
-35
-19
25
-9
-5
45
8
15
-56
-1
-12
-50
18
7
28
-31
-22
-19
3
25
-1
-41
25
28
-25
-62
8
5
1
-6
-40
-4
-15
18
6
13
-21
-51
11
19
-36
8
-1
-14
-6
-46
46
0
10
-78
-7
-2
-59
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
34
0
13
50
0
0
-10
0
0
0
12
0
0
0
22
-3
10
0
0
0
0
-38
0
0
0
0
0
-3
8
-6
0
0
0
3
-4
19
0
0
32
0
2
-13
-19
0
0
-1
0
0
-1
-20
0
0
-10
0
0
0
-34
0
0
-5
-2
10
8
-3
0
4
-11
0
0
0
-4
0
-3
-4
0
-27
0
29
-3
0
0
0
0
0
-9
0
0
0
0
0
0
20
0
-8
0
0
0
-2
-26
0
-15
-12
0
0
0
-60
0
-3
-1
0
0
-1
10
0
0
18
7
0
9
-85
0
-1
-7
0
0
0
-18
0
0
21
0
0
0
-1
0
3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-47
-10
25
0
-3
-37
0
0
2
0
0
0
12
-3
0
0
-3
0
0
-11
0
0
0
0
0
6
-38
0
-1
26
-8
0
20
-39
0
0
-21
4
0
11
53
0
0
94
-6
0
-19
23
0
2
-2
2
0
-7
50
0
0
-15
7
0
5
28
0
0
7
0
0
0
-40
0
0
7
6
0
0
0
0
0
0
0
0
0
13
-7
0
0
0
0
-6
1
0
-11
0
0
0
1
-48
0
1
13
1
0
1
1
0
10
-4
-2
0
-9
-25
0
4
-33
-4
0
-9
15
0
15
13
0
0
-1
3
0
0
0
0
0
0
-31
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
29
0
0
-24
4
9
0
-19
-51
-8
3
1
0
0
-17
12
2
0
0
1
-17
-12
-19
-6
-14
32
22
-19
-1
4
19
0
-1
-2
30
16
0
26
7
-14
-19
-40
-1
-30
15
-17
-15
32
19
-7
27
-30
-1
23
-42
25
-25
9
5
-19
1
57
-1
17
0
-2
41
-31
-10
0
-19
0
0
0
1
-14
-1
-19
0
0
6
0
0
19
-4
0
13
-22
1
45
0
-26
-2
2
21
-17
-7
-10
-11
0
-22
33
2
6
-10
23
-7
1
-5
-31
-3
-10
-39
0
2
2
7
-7
-11
-29
0
4
-31
7
-2
0
15
0
40
-13
-6
35
0
-41
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-6
-2
-23
3
7
-8
2
35
-3
-29
2
6
18
-57
21
-32
-25
-8
41
-8
3
-19
-21
16
-8
15
2
0
11
12
36
4
-20
6
-10
1
-1
-14
-52
-4
8
-12
8
-9
-18
-17
-4
-14
4
9
-17
-42
3
82
0
-47
47
-20
42
-24
26
4
56
48
25
-90
-18
-1
-1
-24
-6
-15
-11
-13
9
22
-25
-11
8
-1
0
2
-3
-56
2
14
24
-21
-14
5
19
38
20
16
56
10
5
-1
-24
38
1
-10
-17
-5
-26
-36
13
-19
57
-13
3
50
32
2
11
26
-11
0
15
17
18
1
-13
4
-2
73
33
17
-70
-2
7
10
20
-37
61
-70
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
-28
0
0
0
0
4
0
-20
0
0
1
0
0
0
-41
0
0
-1
0
0
0
5
0
0
0
0
0
0
25
0
0
1
-2
0
0
-7
0
0
0
0
0
0
-4
0
0
0
0
0
0
-41
0
0
0
0
1
0
0
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
10
0
0
0
0
0
0
15
0
0
0
0
0
0
13
0
8
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
27
10
-12
-10
-11
-10
-6
-27
0
-37
-17
-17
26
4
-17
13
47
-22
-8
0
-15
-31
-10
-8
3
6
-16
-1
9
-25
-3
-31
38
-32
1
-37
-5
4
11
-4
10
-5
17
-13
1
15
-1
40
12
-5
-58
11
16
-7
-5
-8
0
29
11
22
-4
-8
28
24
-108
-15
11
3
3
4
-31
-23
-11
-10
-29
-15
-13
10
-7
6
-71
9
-51
-8
-22
2
-60
-33
9
-24
0
-48
-26
25
5
-10
-23
6
-35
3
-43
-3
-98
-84
-1
-31
5
13
-19
13
18
2
11
-7
28
54
-23
14
-23
14
27
7
20
-16
55
16
-50
32
-4
-85
-27
0
-2
35
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
9
4
2
-17
13
0
-62
0
-3
0
-7
0
12
16
24
-58
-1
-1
32
-4
6
-17
7
6
1
-1
26
-18
-5
-37
4
13
-13
-18
-30
-23
-43
-4
-34
18
11
-18
-6
8
-17
-2
3
40
8
-61
-19
-18
0
3
-5
7
46
7
0
0
-9
0
-31
-10
0
4
-3
-12
0
82
4
0
-23
-66
0
-2
36
-1
-1
-7
2
-2
-9
-3
26
25
8
0
-7
-17
-32
25
11
7
4
-24
-57
19
1
8
-4
-1
-72
-72
-39
21
-11
7
0
18
66
-24
-15
4
-23
2
9
-7
10
-8
0
-12
-7
-80
0
27
-24
0
-24
-46
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
-13
10
2
0
-18
0
24
0
3
-68
4
0
0
1
0
4
-16
0
-10
0
-1
41
6
1
15
40
-1
32
-6
9
0
-16
29
1
-32
-17
-7
0
-11
-7
0
36
21
-13
0
-4
-9
9
-68
-18
-2
10
-4
-1
0
-45
15
2
0
0
4
0
12
2
15
-6
-2
17
0
-5
0
-9
-17
0
8
0
2
0
-2
15
1
0
0
0
6
-10
-3
41
44
0
11
-26
44
7
3
23
0
-18
20
17
0
8
-1
0
1
-4
3
0
26
1
0
-35
1
-3
0
-14
10
8
-4
1
5
0
-6
-1
0
-15
-2
5
0
25
39
0
25
0
-34
-13
-8
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
14
0
0
0
0
0
0
-18
0
-6
0
4
0
0
34
0
0
2
0
0
0
28
0
0
5
2
0
0
11
0
1
21
0
0
15
10
0
0
-29
7
0
44
18
0
1
9
0
0
3
8
0
0
-30
1
0
-12
-22
0
0
-1
0
0
0
-18
0
0
-2
0
0
0
18
0
0
0
0
0
0
55
-3
0
0
0
0
0
16
0
-1
0
-1
0
0
6
0
0
-1
0
0
-6
-46
0
-7
-1
1
0
7
22
0
-2
25
-1
0
11
-12
0
-38
34
0
0
0
-2
0
0
28
0
0
0
-39
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
10
29
-11
0
14
0
0
-16
15
0
0
0
-4
0
-42
-2
0
-8
-6
44
2
-18
0
0
21
0
50
-2
25
24
-9
19
-3
12
4
-12
-1
-2
6
4
-10
0
-16
0
2
-12
0
-4
0
-9
0
8
10
-3
-38
0
26
0
-2
-24
2
16
0
-18
-4
0
0
10
2
0
-57
-2
0
0
-8
0
0
-22
0
40
1
1
18
-2
-8
-1
0
-14
-7
1
0
51
0
-49
7
0
0
0
11
0
0
-24
11
0
0
-7
1
-20
49
-1
3
0
23
0
0
9
-14
-11
0
-58
0
49
0
-7
-23
0
-46
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
-19
1
27
-31
51
37
-11
34
3
-44
44
12
3
-1
-52
-3
19
-15
-26
-3
16
2
3
-34
-14
-10
23
-1
25
-4
-7
56
7
-1
2
22
0
13
-7
7
-45
-22
29
2
4
38
14
-37
14
15
1
-15
-13
10
-13
19
10
0
-72
-2
26
2
-49
-9
-3
28
-50
-28
-74
54
3
12
-17
-21
-24
-62
-22
-7
4
-5
2
54
-23
-59
5
17
9
-1
-4
25
-13
15
-3
-12
-4
23
-12
-30
7
-2
3
13
-3
-5
14
25
-6
-49
-18
17
-20
40
-66
-11
-39
60
15
1
-23
6
0
4
22
15
-56
58
20
17
-18
-32
-8
-48
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-49
0
0
0
0
0
0
11
0
0
0
9
0
4
33
0
0
6
0
0
0
-6
0
0
0
0
0
-3
5
0
0
32
0
0
0
20
0
-1
-3
-9
0
0
19
0
0
1
0
-4
0
2
0
0
0
0
0
0
67
0
0
0
0
0
0
1
3
0
0
0
0
0
-3
0
0
0
0
0
1
0
0
0
0
0
0
0
-46
0
0
0
0
0
-7
9
0
0
0
-1
0
0
-10
0
0
0
0
0
0
-9
0
7
0
0
0
0
-9
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
5
8
0
0
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
0
0
0
41
0
0
0
0
0
6
-23
0
0
25
-3
0
0
4
0
0
-12
0
0
0
17
0
0
0
0
0
0
21
0
0
0
0
0
0
29
0
0
0
0
-2
0
-84
0
0
0
0
0
0
15
0
0
0
0
0
0
-15
0
0
1
0
0
0
-4
0
0
3
0
0
4
27
0
1
0
0
0
0
-1
0
0
0
10
0
0
-3
0
0
0
0
0
0
-56
0
0
0
0
0
0
-26
0
21
0
0
0
0
57
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-38
27
0
2
0
0
-11
-3
0
0
1
3
6
-29
-19
0
9
0
-13
-10
16
-1
-1
-27
21
-32
13
24
-1
-4
-36
50
-11
32
13
33
0
21
-10
20
-19
18
2
-1
-19
14
5
0
-10
0
-4
11
0
-12
2
21
0
5
0
-1
-29
0
-29
10
0
0
-9
-1
0
0
-14
0
0
0
0
0
-25
0
12
8
0
9
0
-11
0
-1
39
0
0
6
-13
0
39
15
2
0
7
33
0
-1
-1
17
0
3
4
3
40
0
0
0
0
32
0
0
-2
0
2
0
14
0
69
0
0
-11
0
-11
4
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-4
-13
0
0
0
0
19
0
0
0
0
0
0
10
0
15
0
0
0
13
10
0
0
-13
0
-2
4
1
0
0
-32
0
-7
2
10
0
0
-18
0
37
6
-70
0
0
47
0
4
-3
24
0
0
-1
0
4
0
-70
0
0
64
0
-33
0
2
4
0
0
0
-12
0
-21
0
0
0
0
0
0
-25
0
0
0
0
0
0
18
0
0
0
0
6
0
-6
0
0
-2
0
0
0
22
0
-10
59
0
0
0
24
0
0
-1
0
0
0
-15
0
0
5
0
-19
0
-45
10
9
0
0
9
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
-18
0
-16
0
0
5
4
4
0
0
0
6
-16
-3
7
44
-11
0
-39
-2
0
0
-9
0
0
18
17
9
-4
43
-11
0
-19
7
19
25
-1
-9
0
42
-33
0
10
2
68
0
-8
14
0
-2
6
0
0
3
-33
0
0
-34
-51
0
0
-31
-1
0
0
0
0
2
0
7
0
0
0
0
0
2
0
3
0
0
0
-2
-26
0
0
-6
25
0
15
37
1
18
18
7
0
-1
-7
0
-3
33
-5
0
12
-54
0
7
47
1
0
9
13
0
0
-26
8
0
0
-17
0
-11
18
0
0
0
45
4
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
-43
0
0
0
0
0
0
-6
0
0
0
0
1
0
-54
0
0
8
0
0
-1
16
0
0
15
-2
0
0
29
-3
0
3
0
0
0
1
0
0
1
1
0
0
-4
0
0
0
0
0
0
11
0
0
0
0
24
0
10
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
-17
0
0
0
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
-1
0
0
0
-3
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-4
29
-34
95
10
12
-29
-3
7
12
22
-15
-4
26
-2
54
48
15
22
34
-9
4
-4
-8
4
-2
-26
8
2
-38
-38
7
-29
-1
-5
1
-25
-9
14
-3
2
23
0
4
-42
-8
-28
-8
-24
-1
22
17
13
30
-7
-17
0
12
-51
-30
-43
40
-71
2
-25
-35
-23
42
30
-10
9
-66
25
2
20
7
0
-4
29
37
-7
10
31
1
-7
-50
-17
5
12
31
3
8
27
-25
4
1
26
-17
12
-28
-14
3
-28
-4
10
-4
-30
-17
18
-2
17
-75
7
-30
0
19
-43
-11
11
0
85
14
33
-49
-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
-1
42
0
8
-6
-12
0
-12
-1
1
-56
-1
-18
30
8
0
0
-17
11
24
28
-31
-3
32
-47
-57
-1
31
2
2
-7
30
1
1
17
19
0
-20
22
11
-25
-53
-6
0
-4
-25
16
56
-7
32
2
7
-75
-38
7
-4
-16
0
0
0
0
0
0
19
-27
0
0
0
-12
-1
-43
0
-45
-53
0
-15
-2
-7
0
22
-37
16
-2
2
5
1
30
25
12
-1
20
-36
0
-14
-45
-11
0
-6
-7
-11
1
8
-1
4
-7
11
-4
-2
8
44
11
0
-2
-9
16
-3
-8
31
0
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-34
3
-8
0
0
0
3
-15
-4
27
-6
-22
-40
-19
2
0
0
-1
-3
59
74
13
1
8
16
-5
40
41
-12
-2
-2
-21
6
30
33
13
0
-1
6
0
2
-9
-14
8
0
13
-1
47
2
32
-2
0
-30
-3
-14
0
-28
0
0
0
3
-14
-4
-37
0
0
0
0
0
4
-25
8
10
-9
0
-1
-6
11
0
1
8
-1
8
30
-24
0
14
26
-10
1
-12
-27
0
41
-6
16
6
-30
16
0
-12
20
49
0
0
-6
0
2
28
-19
10
-2
-69
8
37
7
0
-1
0
-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
71
0
0
0
0
0
0
-26
0
0
0
0
0
0
-73
0
0
0
0
0
0
66
0
0
1
0
0
0
-12
0
0
9
0
6
-2
23
0
1
0
0
0
0
-18
0
0
0
0
-2
0
-10
0
0
0
0
0
0
-33
3
0
0
0
0
0
-3
0
0
0
0
0
0
11
0
3
0
0
0
0
-10
0
0
0
0
0
0
3
0
0
0
0
0
0
-13
0
0
0
0
0
0
26
0
0
0
0
0
0
27
0
0
0
0
0
0
-8
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
-9
1
0
-12
0
-18
9
5
16
-3
39
0
16
44
-24
-2
1
35
0
-15
6
36
4
39
3
0
-67
-2
-35
0
-19
-6
0
0
-17
-50
8
7
0
0
-7
-11
7
0
2
-16
0
17
1
80
0
0
-1
0
12
0
11
0
0
0
0
-25
0
9
20
0
0
0
0
6
-19
0
-26
0
0
-28
-1
-4
-3
0
0
0
12
0
19
10
-14
85
0
-2
-2
-27
9
0
-4
-4
1
-4
-5
0
-2
-10
0
6
4
-1
0
0
13
0
5
7
7
0
-17
1
0
-41
0
-13
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
-64
0
0
0
0
0
2
-34
0
0
1
0
0
0
-26
0
0
7
0
0
-7
-16
0
0
-14
1
0
14
-51
0
0
-17
0
0
0
-12
0
0
-23
-2
0
0
-41
0
0
0
0
0
0
-41
0
0
0
1
0
0
-6
18
0
0
0
0
0
30
-10
0
0
0
0
0
43
0
4
0
0
0
0
-24
0
0
0
0
0
0
-17
0
-3
0
2
0
0
-7
0
6
-1
0
0
0
-11
0
-4
0
0
0
0
6
0
0
0
0
0
0
15
0
0
0
0
0
0
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
9
0
0
-8
6
0
-8
-54
0
0
16
0
0
0
29
0
0
0
-1
0
0
-3
0
0
1
0
-1
0
13
0
0
0
0
1
0
26
0
0
0
0
0
0
-9
0
0
0
0
0
0
-13
0
2
0
0
0
0
-9
0
0
0
0
0
0
26
0
0
12
0
0
0
46
0
3
2
0
0
0
-10
0
0
0
0
0
0
-13
0
0
0
0
0
0
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-77
8
-23
-47
2
6
2
10
40
8
-15
-5
20
7
19
-25
10
-23
-15
-8
3
-45
-6
13
-74
-7
41
3
11
-22
5
7
19
28
6
-39
30
13
5
27
12
0
16
-26
4
-14
18
-9
13
-8
9
-25
-10
-10
-7
0
-20
-46
-76
-40
-2
-18
17
6
-5
-15
-33
-14
-15
1
-32
-23
11
-17
-2
25
4
-21
11
1
-43
11
0
-3
21
15
-31
-15
-36
16
4
-14
4
-1
0
21
-35
12
-35
-2
-7
-46
8
-7
1
-33
-1
45
-56
-24
5
16
-27
3
-48
-28
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
3
1
16
0
19
10
0
-1
57
0
0
20
0
-6
27
44
0
-4
10
5
0
11
25
0
-21
35
0
1
19
-3
0
0
0
-4
7
-1
-19
0
0
-24
0
2
0
-60
0
0
-1
0
0
0
19
1
0
0
0
0
0
-13
1
0
0
6
1
0
4
0
23
-13
0
0
1
22
0
0
2
-1
0
-11
22
0
-15
-9
-1
0
3
-14
0
14
-5
-11
0
0
-47
2
-4
26
0
0
0
-39
0
0
0
7
0
0
-11
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-5
0
39
0
0
-25
0
4
0
-15
0
0
10
0
0
0
17
0
0
11
0
0
1
-28
0
0
10
-8
0
0
-18
0
0
0
0
0
0
-22
0
0
0
0
8
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
1
0
0
0
0
-1
0
-48
0
0
0
0
0
0
26
0
-8
0
0
0
0
-18
0
0
-2
0
0
0
10
0
0
-6
0
0
0
24
0
0
-1
0
0
1
1
0
-18
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
7
0
27
0
21
0
3
0
0
-20
-3
31
7
0
18
0
0
-9
25
0
-2
43
0
3
0
-28
0
6
-8
6
-8
1
-21
0
0
9
0
10
0
1
0
2
0
1
22
0
68
0
0
0
0
0
0
-15
-6
0
0
0
0
0
-33
0
1
0
0
0
0
7
0
-3
-2
11
0
0
41
0
-9
0
0
0
0
6
0
0
2
-1
0
-1
-52
0
-3
15
6
0
0
4
4
0
0
17
0
0
18
0
-4
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
-10
0
28
2
-85
0
0
-13
0
-9
-10
9
0
9
1
0
0
0
20
0
0
13
-1
6
0
17
0
0
24
0
0
0
-41
0
0
0
0
0
0
23
0
0
0
0
-15
0
-57
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
-7
3
0
-3
0
-48
0
0
17
0
0
0
5
0
4
0
0
0
0
-23
0
0
-4
0
0
0
2
0
-27
0
0
0
0
-2
0
0
-2
0
0
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
1
0
0
-16
0
0
-1
0
0
0
-29
0
1
0
-3
0
0
-25
0
0
-24
6
0
-1
-59
0
0
0
0
0
0
36
0
3
-3
0
0
0
-14
0
0
-3
0
0
0
-7
0
0
0
0
0
0
-12
0
0
0
3
0
0
22
0
-1
0
0
0
0
-38
0
3
7
0
0
0
11
0
-6
1
0
0
0
-6
0
0
3
0
0
0
27
0
2
0
0
0
0
-24
0
0
-6
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
-31
0
1
3
0
10
0
35
-3
0
75
16
0
3
20
0
11
3
0
0
3
-37
0
4
11
12
12
3
25
0
16
-17
0
-8
0
39
0
0
0
25
35
0
6
-10
0
0
0
0
0
49
-15
0
0
0
0
0
-4
0
57
0
0
0
0
-19
0
-3
-76
-8
0
0
-1
0
40
-6
-18
0
0
-48
0
10
-13
29
0
0
36
0
-53
0
0
0
0
-1
0
-20
-25
-8
0
0
22
0
-21
0
0
-7
0
-14
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
-22
20
53
38
19
6
8
-5
1
-9
15
7
4
-52
-4
5
-5
12
10
4
9
-49
-3
24
-3
-28
13
-5
-8
-7
-55
21
17
-4
-10
-6
-1
-4
-10
4
-5
29
18
-10
31
-8
4
15
33
-27
-21
26
29
-33
0
-17
-17
-3
-13
11
-53
-6
-1
8
5
2
-39
-8
8
7
-48
-17
32
23
-47
-14
-10
23
-29
-15
7
39
12
-13
7
-1
-29
73
20
-3
-8
14
10
-23
29
37
7
10
-27
16
-8
-9
-1
-8
50
-58
41
27
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
-6
0
-3
40
0
2
16
8
-2
-15
85
0
-2
-11
0
-3
13
1
0
3
14
2
1
0
2
0
-3
7
0
-2
0
28
0
0
0
-1
6
0
6
0
0
0
0
0
0
-76
0
-15
0
0
0
0
-8
-4
-21
-1
-3
0
-3
-16
0
10
0
2
0
0
-11
0
-2
-9
-6
0
0
19
0
0
-7
0
1
-8
-54
0
14
-1
-3
0
0
5
0
0
-3
-1
0
0
-1
0
12
0
0
-1
0
67
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
20
0
1
11
-44
0
0
21
-3
0
-19
-18
8
1
14
-1
2
0
1
-2
0
-34
-7
-9
0
-68
0
0
26
0
-9
0
23
0
0
3
0
-33
0
8
0
0
0
10
3
0
-6
-12
0
0
0
0
0
-5
0
-21
0
0
0
10
29
0
1
-1
-1
0
4
-32
0
-14
-13
0
0
0
-29
0
1
5
29
0
0
-15
0
24
-8
6
25
0
-48
0
1
1
7
-18
0
-4
0
-9
0
0
-1
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
40
-3
29
13
25
1
8
10
-26
6
8
-12
-4
-20
14
-8
19
-29
5
1
14
-3
-3
-10
78
16
0
4
-26
7
8
3
-10
1
7
-17
24
12
-1
31
-6
0
0
0
-2
0
-3
9
0
0
0
0
0
1
0
-9
11
13
-2
19
0
4
9
34
24
0
0
19
-3
-15
5
-4
0
15
-19
0
-6
-43
18
4
-12
-11
0
-5
-42
0
2
13
4
0
-7
-25
-8
9
0
-12
-8
17
3
0
40
0
12
-14
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
60
0
8
22
-20
0
2
-33
0
15
28
-53
-3
19
-20
-1
2
-6
9
0
37
-33
15
-1
1
28
0
0
27
0
-8
0
-31
0
-2
-6
0
-16
0
-29
-1
0
0
0
0
0
-12
0
3
2
0
0
6
-19
0
-25
0
0
0
3
-33
-1
3
-6
0
0
-1
-34
0
27
31
0
0
0
44
-3
-18
18
-1
0
0
20
0
19
-51
-1
0
0
58
0
0
-17
-1
1
0
-20
0
-10
9
0
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-6
0
0
-33
-42
8
41
-10
6
0
1
3
7
-5
22
-1
0
-37
-14
0
-15
-25
-56
0
36
-7
0
5
0
22
0
-15
-23
0
4
-14
61
0
0
-4
0
0
0
0
0
-1
11
3
3
-4
0
0
13
-28
0
-7
-55
0
0
-15
7
0
-6
26
-2
0
-11
13
0
-37
31
-8
0
9
-31
1
0
10
-25
0
0
-12
0
-15
9
17
0
2
32
0
0
-10
76
0
0
-26
0
-60
-6
6
0
0
13
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
24
-37
-22
-2
-22
-4
6
5
13
-38
47
-7
25
0
8
-39
-5
1
26
8
0
0
50
-2
18
-2
1
-2
0
45
-56
40
0
8
0
-4
0
-3
9
0
-23
-10
0
-2
0
0
-4
14
0
-17
19
0
-4
-1
-2
0
14
-31
-48
-2
-1
8
0
-8
-40
26
0
0
-38
0
-30
19
2
-1
0
5
1
56
-22
-1
14
0
-38
0
-7
3
12
0
0
29
4
-5
22
0
73
0
18
-9
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
-4
0
39
29
0
17
-8
10
4
6
-19
-4
-11
-49
18
4
21
28
7
-7
-69
19
15
18
-11
14
1
-4
0
0
1
-31
16
-2
-3
-41
5
-9
81
-37
7
-11
13
16
20
43
-4
-20
1
57
9
51
-21
37
-17
8
-67
0
-26
-12
18
26
-2
-42
3
-48
17
19
23
30
-11
4
50
15
1
17
23
-5
1
-6
-8
17
28
-8
16
3
-11
3
9
19
-49
28
0
-33
-5
-33
-35
-20
-5
17
26
1
57
-34
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
4
-15
0
0
3
0
0
0
5
0
0
-6
0
0
0
28
0
0
0
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
0
0
0
9
3
0
0
0
0
0
34
0
-6
0
0
0
0
14
0
0
6
0
0
0
13
0
0
0
0
0
0
52
0
0
2
0
0
0
51
0
7
0
0
0
0
-7
0
0
0
0
0
0
13
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
2
19
-15
0
0
12
0
0
10
0
10
-2
-1
-1
0
20
-5
0
2
-18
0
0
24
0
-2
0
26
0
0
0
-1
-2
0
34
0
0
0
0
0
0
-4
2
0
0
0
0
0
7
0
5
0
0
0
0
16
0
0
7
0
0
0
-18
0
45
24
8
0
0
-62
0
0
-8
-1
0
8
-75
1
3
1
0
0
0
31
0
0
0
1
0
0
45
0
-9
0
0
-2
0
-27
-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
-3
-10
-9
-19
8
39
11
-4
4
-2
34
-4
-7
27
-19
3
20
31
-8
35
-28
-14
17
3
7
-17
18
-25
-10
-11
0
-17
21
20
-30
18
8
-6
2
-12
-4
-2
8
28
-44
29
19
6
-3
2
-1
-21
-30
4
-6
8
-14
35
0
11
7
-14
-3
-31
-21
-1
29
-35
20
6
13
6
1
76
-41
20
-26
8
-3
0
9
-27
-29
-33
-36
9
-1
-11
0
19
2
7
11
0
13
-4
2
-12
0
7
23
21
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-24
0
0
-4
4
0
0
43
0
0
0
-69
0
9
3
0
4
0
-10
0
0
-9
0
0
0
3
0
0
15
6
0
0
8
0
0
0
0
0
0
24
0
0
0
0
0
0
18
0
-1
4
0
-9
0
-10
0
0
14
0
0
0
-27
0
-3
-2
0
0
0
-32
0
-3
15
18
0
0
-69
0
-4
-4
0
0
0
25
0
0
-6
0
0
0
-31
0
3
0
0
0
0
38
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-7
0
0
-31
-7
-6
3
15
0
0
-36
3
-9
-44
-67
0
16
-20
0
0
30
0
0
0
9
0
4
-1
-21
0
0
25
-9
0
0
0
0
0
22
-3
-3
-3
0
0
0
-17
0
47
-22
0
0
-2
-6
0
0
-41
15
0
2
-7
0
-30
44
0
0
0
-50
-9
4
-9
-4
0
3
-16
0
-9
-1
0
0
0
-1
0
0
12
-16
0
0
-13
0
-15
12
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
33
0
-7
-1
34
17
13
-1
5
14
-23
19
20
0
10
15
11
-24
-10
-6
0
1
52
11
22
0
25
22
2
1
0
-2
0
-4
-16
0
0
2
0
9
-5
0
3
13
27
-2
7
11
0
32
-74
-11
-1
-3
-31
9
32
-3
16
0
0
41
0
6
-48
-12
-3
3
15
0
5
-18
1
0
2
2
0
20
-20
-12
8
0
17
-8
47
-5
0
9
0
15
-9
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
-48
-16
-41
21
11
8
17
-24
-1
-13
-54
-15
15
-23
-39
14
-32
-9
19
-1
2
50
-15
-26
-1
32
13
-3
-41
49
-22
-9
1
4
3
-51
57
-10
-33
22
0
-61
-26
-53
21
-18
26
1
12
20
3
-58
13
-10
0
-40
15
-6
35
5
-7
6
-39
-25
-40
3
-95
1
6
-38
-20
10
7
16
-8
8
46
-37
13
12
-20
-46
0
-1
7
-31
29
37
-15
16
14
-5
-50
-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
1
35
0
0
3
0
0
-3
28
0
17
-1
-1
0
0
-9
0
0
0
0
0
0
-15
0
0
1
2
12
0
19
0
0
0
1
0
0
-19
0
-1
0
0
0
0
55
0
-1
10
0
0
0
36
0
-9
-1
0
10
0
8
0
6
-1
0
0
0
5
0
4
-2
-1
0
0
-38
0
39
12
0
0
0
0
0
0
-8
0
0
0
3
0
1
7
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
41
43
2
0
10
0
13
-7
9
1
0
11
61
-5
0
-4
0
0
-22
0
9
-8
31
-2
0
9
23
0
0
-10
-3
0
0
0
-1
-2
9
-10
0
0
0
0
3
-42
0
6
-2
0
-6
2
21
1
2
-12
-4
0
0
-30
0
38
-10
0
0
-1
29
0
-2
14
2
0
-3
25
0
10
23
0
0
-1
-2
8
0
24
0
-3
-1
10
0
46
0
0
-3
0
8
4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-4
-50
-4
5
-4
12
-22
0
-25
-22
1
5
-10
10
11
2
38
-13
-29
-7
25
-28
-20
-19
-38
7
-13
0
11
74
-1
6
-44
-35
-1
-6
-1
-14
11
6
2
-25
6
-1
-21
25
15
28
6
13
23
-41
-8
19
-18
6
12
25
32
1
-62
0
1
17
-27
-3
-52
4
66
22
9
12
27
7
15
-12
0
-1
5
-27
26
-11
4
17
-6
5
32
-9
-22
13
0
10
24
-19
18
29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
14
-18
-59
-12
6
-4
-20
22
-17
23
-40
2
0
-4
33
0
7
11
-45
0
-7
12
-7
-16
0
-9
-2
0
0
11
-39
0
-28
-5
0
0
0
0
1
-1
0
18
8
0
72
-9
38
0
-3
26
0
-6
-27
-6
-1
-45
0
0
0
-3
-28
0
-12
49
23
1
2
17
6
-29
81
0
3
19
-34
3
-19
-26
-10
16
2
-27
0
59
0
0
-25
0
6
48
-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
-8
-4
1
0
81
0
0
-1
-37
0
2
39
51
0
0
-4
0
7
-1
0
0
0
-8
0
-4
2
-3
0
0
6
0
0
0
0
0
0
9
-1
0
0
0
0
0
-2
0
-4
16
0
0
0
-1
0
1
20
-1
0
6
26
0
39
-49
0
0
0
-15
0
0
53
-21
0
0
8
0
-16
-9
0
0
6
17
0
0
-4
0
0
0
-35
0
-11
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-60
-14
32
8
-2
6
2
-6
-3
8
-2
-3
40
-3
-17
1
-51
-24
0
1
6
0
0
2
-2
1
14
34
0
0
0
0
3
31
0
-23
-22
0
11
6
-11
0
26
-19
-2
-2
0
33
2
36
22
0
0
0
23
0
35
13
18
6
-3
26
38
5
-2
30
0
-3
12
0
1
-17
28
1
0
11
3
17
13
0
6
0
-6
-50
24
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
5
-2
-6
-8
-14
14
16
2
4
-7
0
1
7
-15
-13
11
-18
-16
4
6
-45
7
-48
8
-26
12
-4
-48
48
36
33
-38
8
7
0
-28
20
-8
-15
19
3
-16
3
15
6
-16
-23
9
-40
7
-14
-7
-41
-18
0
-53
-13
12
21
-9
-17
20
-8
-39
15
-5
-56
-21
7
-69
-10
5
18
35
42
4
-7
-23
21
2
-29
-24
13
-42
-37
-35
-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
-28
0
6
12
-1
-3
-2
-29
0
0
-3
0
0
0
118
0
0
-8
0
-4
9
-82
0
0
0
0
0
3
17
0
-2
0
0
0
0
21
0
-3
6
0
0
0
-23
0
2
-1
0
22
-1
-22
0
-26
-1
0
0
0
4
-16
-6
-1
-6
0
0
3
0
18
0
0
2
-4
24
0
0
0
0
0
0
1
0
-22
0
0
0
2
-53
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
7
0
-2
14
-6
-5
-16
-29
0
3
-2
0
-11
0
32
0
0
12
8
-12
0
-21
0
0
0
-11
0
0
22
-9
0
0
-3
0
0
-50
0
5
-23
0
-10
0
-10
4
0
9
0
-7
0
-7
0
59
7
-1
0
0
-37
0
0
5
53
0
-4
-16
0
-5
-25
0
-3
0
10
0
0
-28
4
0
0
12
0
13
-1
0
-17
0
-3
-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
4
-6
25
18
3
-4
41
50
5
10
40
15
11
6
-38
14
31
35
47
17
19
0
13
0
-7
-1
-3
18
-7
8
32
8
7
-55
1
10
-11
14
32
0
37
3
-28
-19
6
-41
9
8
8
21
3
-13
0
-22
5
18
29
0
-13
25
-4
-9
0
93
6
30
10
-26
-3
6
35
13
21
4
2
58
51
-5
-3
-16
-8
-4
-98
34
0
-5
-18
33
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
23
0
4
1
-20
-16
-8
-13
0
4
-7
0
39
0
-10
0
0
-33
3
0
0
-27
0
0
0
0
15
3
-68
0
0
0
0
0
0
-30
0
44
0
0
-15
0
17
0
-10
20
0
-1
0
-48
0
37
47
0
0
0
8
0
0
13
4
0
1
-17
0
32
46
3
-7
0
-17
0
8
1
1
22
0
12
-2
-45
-40
0
37
0
6
1
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-19
0
25
-8
27
0
2
-27
0
-3
-20
0
0
-6
-3
-12
0
1
-14
0
0
5
32
0
0
0
0
0
23
12
-3
0
0
0
-3
-8
0
4
-7
4
0
0
-32
0
-11
-12
-17
0
-1
-12
-3
55
6
0
0
9
-26
0
-7
17
13
0
2
-13
0
-8
-13
2
0
0
8
0
0
-34
40
0
-1
-16
0
24
0
-10
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
4
7
2
-14
51
2
-7
0
15
-3
-6
35
-27
-24
0
2
4
0
0
0
0
0
46
-10
-4
0
-2
0
-10
-17
0
-3
2
0
-7
0
0
0
13
-20
-3
-6
0
16
-6
-25
9
0
0
0
6
6
-14
-30
12
0
-5
-17
0
-39
-1
-4
0
0
-11
0
-8
0
41
-1
0
-32
0
-23
-5
0
2
2
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-1
29
5
20
25
2
43
6
23
-12
16
4
-12
7
6
17
8
45
-56
15
10
11
-25
73
-5
-47
20
34
-8
-2
-33
29
35
2
-23
-11
-78
-44
12
-17
-42
-51
17
-23
-6
1
-3
-60
-13
12
-38
7
-21
-50
14
6
0
-7
-22
15
-1
4
29
2
-80
36
-2
7
24
-1
0
49
-14
-39
-21
-5
10
7
-29
25
-35
-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
-2
20
0
0
3
0
0
0
9
0
0
-4
8
0
0
-37
0
0
0
0
0
0
-6
0
0
0
0
0
0
30
0
46
0
0
0
3
3
0
0
2
0
0
0
34
0
-2
0
2
0
0
-39
0
9
0
0
0
0
22
0
86
-3
0
0
0
8
0
-10
-7
0
0
0
4
0
7
-6
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
29
0
0
13
1
-30
0
-14
0
0
0
0
7
0
-42
7
3
0
0
0
3
8
0
-4
-13
0
0
-3
15
0
1
16
13
4
18
-2
0
2
-23
0
0
-8
-65
0
8
4
-37
0
2
-36
0
-6
14
-1
11
-1
15
-2
0
0
-11
0
6
30
9
68
0
0
-4
0
49
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
8
3
-17
42
0
-5
-52
2
10
-16
5
14
6
2
4
35
-4
2
-47
8
-3
-5
-16
62
5
-7
0
-82
6
-1
19
28
0
-11
-7
4
-1
18
-11
28
8
4
-12
-20
0
25
5
33
-37
-17
9
-26
9
-16
18
19
7
0
3
-44
37
0
0
1
1
50
-81
42
-3
8
10
1
-5
0
1
-17
0
-19
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
7
7
0
-10
-22
-10
1
1
-9
-1
-20
0
6
-2
-2
-4
0
0
0
10
-28
0
0
0
0
-10
-24
0
16
-16
0
7
-5
28
-1
24
-11
0
8
-26
-44
-3
31
50
9
0
-17
19
0
-5
-31
-1
0
-4
24
0
16
-11
-1
1
1
10
7
-6
0
0
20
-2
-4
0
13
9
0
-29
0
-3
-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
-2
-11
0
-12
12
0
0
0
20
0
-6
2
-24
0
0
6
3
0
0
0
0
0
27
0
0
0
0
0
0
34
0
3
-4
0
0
-11
-14
0
-10
31
1
0
0
12
1
-34
15
0
0
0
13
0
-6
16
27
0
-7
6
0
-43
5
-3
0
4
11
0
0
-16
0
0
0
17
0
-26
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
28
41
0
-5
7
0
0
0
0
0
-4
-2
0
0
0
0
0
6
0
-5
-7
0
13
0
5
0
0
-14
-10
0
2
6
0
10
-70
0
0
0
-29
0
-38
11
-15
0
0
15
-1
1
37
3
7
0
7
0
-1
-27
-18
0
0
-4
0
14
20
0
0
0
-27
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
57
-21
28
13
-12
0
2
10
38
28
-18
4
33
14
-2
5
22
22
-6
-10
4
-49
-10
-23
-26
17
-2
14
-25
32
19
-16
-1
6
11
-15
15
6
-8
-16
-13
5
-12
-12
-1
1
1
13
2
24
-6
1
-46
7
1
0
5
39
15
-2
17
-37
-9
-34
6
18
-68
-14
-1
7
15
-1
44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
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
1
0
9
0
0
0
0
3
0
0
-1
0
0
0
1
0
0
0
0
0
0
29
0
0
3
0
0
0
-17
0
1
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
10
-9
0
0
-4
-10
0
-73
2
0
0
0
0
0
-28
0
0
0
4
0
0
51
0
1
2
0
0
1
18
0
0
0
-7
0
0
-45
0
-13
-6
4
0
0
-43
0
6
0
-7
0
0
11
0
7
-7
0
0
0
-64
0
0
-1
0
0
0
-49
-3
-16
0
-4
0
0
4
-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
-1
-8
-9
1
17
-21
0
-3
21
0
0
-2
-8
0
11
-7
0
0
0
0
0
-22
0
-17
20
0
-23
25
-11
2
18
-7
-7
2
11
17
0
-33
-18
25
0
1
6
1
30
-83
28
6
-17
-5
0
12
3
19
0
0
13
-2
11
-8
-29
2
0
7
0
13
0
-3
24
0
2
4
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
42
0
23
0
11
0
0
0
0
-2
0
32
0
2
0
0
0
0
49
0
12
4
0
0
0
-60
0
0
5
0
0
1
-35
0
4
0
0
0
0
-47
0
9
-9
0
0
0
-35
0
-3
6
0
0
0
-1
0
0
5
0
0
0
-19
0
-11
4
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
40
-18
0
0
-4
-15
0
0
3
0
0
38
8
2
2
12
0
4
11
-1
-32
4
0
0
2
-17
0
1
-20
21
0
19
-6
0
5
-6
6
0
-2
-7
0
6
45
-12
0
-20
-13
0
-17
-12
14
0
11
2
0
-15
-13
-47
0
4
-2
0
4
9
0
0
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
6
0
9
0
0
0
0
-6
0
0
8
4
0
0
19
0
-15
7
0
0
2
15
0
0
-5
1
0
0
19
0
-28
-8
0
0
0
0
0
0
6
0
0
0
2
0
-42
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-62
5
46
-35
15
-3
8
-6
-59
-13
50
0
-1
11
-13
18
-5
-10
-74
-52
4
12
-44
-28
-76
-36
2
21
-22
-6
7
-13
1
10
-6
-10
-44
-7
-9
-13
48
-3
-1
-35
-3
-98
27
-4
4
-6
-2
-1
-17
-23
-28
0
57
8
-76
39
-16
0
29
-43
-28
37
23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
1
0
0
2
0
0
0
5
0
-4
0
0
0
0
9
0
0
0
0
0
0
-19
0
6
0
0
0
0
26
0
0
17
0
0
0
-7
0
0
8
0
0
0
6
0
3
0
0
0
0
14
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
10
0
0
0
0
0
0
7
0
-5
9
0
0
-1
-28
0
0
1
0
0
0
-26
0
-6
47
0
0
0
-1
0
-2
0
0
0
0
-3
0
45
-1
0
13
-6
-13
0
-1
-8
0
-2
0
-6
0
3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
-8
0
0
15
4
0
1
-11
0
-12
7
0
8
-3
-17
0
0
-2
6
0
-12
1
0
4
-80
-4
0
0
-16
0
40
-36
-14
0
0
-25
0
-36
9
11
-1
0
-8
0
11
0
-8
-1
0
-31
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-30
0
0
0
1
0
14
0
66
-1
0
38
-1
-5
0
0
-6
0
-2
-5
-4
0
13
25
0
0
0
-9
0
-12
-32
0
0
-1
3
0
29
20
0
1
0
42
0
-12
67
0
-1
0
-53
0
72
-6
0
-25
0
-23
-26
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-23
0
0
-11
0
0
9
17
0
-14
-23
0
0
11
0
-25
24
-13
0
15
-1
-3
-33
21
-84
0
-3
20
0
-24
45
-2
0
14
-4
9
14
37
-22
0
70
-7
0
27
35
-12
0
-5
18
44
-10
-22
-3
0
3
-18
0
-4
-7
13
0
0
10
-44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
-4
2
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-55
22
17
23
7
-2
-8
1
-9
-47
3
25
8
14
-3
-14
-13
13
6
2
-52
-4
9
-37
6
14
3
-46
-18
20
23
32
-35
8
-33
-3
14
3
-11
-40
0
14
17
20
-23
1
1
1
6
-15
-6
-7
-8
-3
0
21
-23
-20
-22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-8
0
2
0
0
0
0
48
0
32
0
0
-4
0
23
0
0
0
0
1
4
50
0
30
4
1
0
-6
20
0
-1
10
-3
0
0
39
-1
26
-6
2
0
1
-42
0
0
11
0
0
0
3
0
-18
3
0
0
0
-21
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
1
0
0
0
1
-25
0
0
0
0
0
0
-16
0
0
0
0
0
0
-14
0
0
0
0
0
0
20
0
4
0
0
0
0
-1
0
-1
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-3
0
0
0
0
-21
0
0
0
0
0
0
3
0
1
0
1
0
8
22
0
0
0
-1
0
0
-24
0
0
0
0
0
0
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
40
0
14
0
0
0
0
22
0
0
-3
0
0
0
7
0
-17
2
0
0
0
-1
0
0
3
0
3
0
-67
0
13
6
0
0
0
-8
0
0
5
0
0
0
-52
0
-4
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
11
-17
0
0
0
-30
0
-3
0
-1
0
0
-26
0
0
-9
18
0
0
6
0
30
2
3
0
0
-5
0
0
-2
6
0
0
30
0
-40
3
0
0
0
-13
7
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
3
0
-2
0
0
0
0
-6
0
0
0
-3
0
0
8
0
8
0
0
0
0
-10
0
1
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
15
-4
-3
17
42
4
0
-19
-10
-34
5
22
0
-2
13
-36
-34
9
-13
-17
0
-38
-58
12
53
-37
9
6
13
-6
1
37
-9
7
43
-47
-43
2
8
-7
-8
33
-23
-52
1
-25
0
23
8
-42
1
36
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
40
8
0
-1
9
8
0
0
39
0
0
0
15
0
10
-6
0
0
0
-6
0
0
-69
-1
0
0
-13
1
42
-32
0
-9
0
-33
0
0
0
0
-1
0
3
0
-22
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
0
0
2
49
0
17
-2
0
0
0
17
0
7
0
0
0
0
56
0
-1
-1
18
0
0
23
0
4
0
0
0
0
-5
0
-4
0
-3
0
0
27
0
0
2
3
-1
0
-29
0
18
0
0
0
0
18
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
4
-4
0
1
0
-40
0
0
0
-3
0
0
10
0
4
0
0
0
0
24
0
0
-1
0
0
0
35
0
0
0
0
0
0
33
0
2
0
-4
0
0
45
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
5
0
0
0
0
-22
0
0
6
0
0
0
-6
0
5
0
0
0
0
-1
0
0
-4
2
0
0
-40
0
-1
2
0
0
0
-65
0
0
0
0
0
0
-14
0
12
0
0
0
0
-16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
-4
0
0
0
-14
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
9
-2
0
0
10
0
-30
47
0
0
0
17
0
0
1
0
0
0
-15
0
-9
0
0
0
0
-18
0
0
0
0
0
0
30
0
-6
0
0
0
0
-41
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
19
33
27
-15
26
-45
-1
11
-17
2
-51
38
-1
-2
-1
7
-40
13
-14
52
-7
-1
7
6
-2
-51
6
-4
-4
1
-38
-15
-11
7
8
5
2
-27
-2
-20
27
11
10
-1
-24
24
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
3
-26
0
12
0
0
0
0
37
0
-1
0
0
0
0
-1
0
0
-1
0
0
0
8
0
1
0
0
0
0
-27
0
0
0
0
0
0
-4
0
7
0
0
0
0
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
28
-15
18
44
49
-19
-9
-4
6
1
-28
-15
6
53
-10
0
11
-26
10
2
12
-11
4
-16
3
-33
16
-2
-21
-3
20
22
-7
18
-3
-7
0
49
-35
0
44
0
37
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
78
0
0
-4
0
0
8
0
0
-37
16
0
0
-2
1
4
8
13
1
21
0
-17
0
0
11
4
0
-2
18
0
0
4
-11
0
-1
3
0
16
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
0
0
0
0
0
0
0
8
0
0
7
0
0
0
33
0
1
0
0
0
0
-14
0
0
1
0
0
0
-41
0
3
-7
0
0
0
39
0
0
3
0
0
0
-37
0
-4
0
0
0
0
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
1
0
0
0
-5
0
56
9
0
0
0
-56
0
0
-15
3
0
0
12
0
9
-14
0
0
0
-16
0
0
-4
12
0
0
-17
0
-2
-2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-1
0
0
0
-41
0
-8
11
-8
0
0
22
0
-15
-1
0
0
0
-37
0
0
12
-15
-8
0
-24
0
-10
0
0
3
0
30
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
32
30
-8
9
-34
-10
2
40
5
43
15
-37
-8
-14
-1
-6
-53
-13
-51
-1
-3
0
4
-23
-50
-9
-13
-8
10
-5
-11
-26
0
9
34
-110
-15
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
-32
0
5
-12
2
0
0
-38
0
0
0
-9
0
0
18
0
-1
0
0
0
0
14
0
0
0
0
0
0
33
0
10
0
0
0
0
32
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
14
-3
0
0
-29
3
4
11
5
0
-3
-5
1
-18
9
2
0
-1
-77
-2
0
-3
0
4
0
4
0
-27
0
-6
9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
0
10
15
60
-3
8
17
3
-51
13
-39
-3
0
-4
0
-27
-22
0
13
-11
-3
0
0
-14
0
7
-10
13
0
-52
7
0
15
3
-57
-5
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
19
-24
0
0
-16
-2
0
0
76
6
0
0
-64
0
5
45
0
1
11
24
0
-2
0
0
0
0
3
0
12
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
0
0
0
0
0
0
0
0
-95
0
7
0
0
0
0
-2
0
12
-2
12
0
0
-8
0
34
0
0
0
0
9
0
0
0
0
0
0
-19
0
32
0
0
0
0
-33
1
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
-11
29
0
3
-34
-2
-39
-2
0
0
0
29
0
0
-4
-3
0
0
8
0
41
-1
0
-2
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
-39
9
7
-14
-18
-28
17
-24
6
27
-16
5
-15
-44
-46
3
10
19
34
1
-36
-47
3
-12
-11
-29
12
25
1
-12
1
-28
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
1
0
1
0
0
-44
0
2
-1
0
0
0
0
0
0
1
0
0
0
-20
0
-6
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-45
19
-68
41
-11
3
0
71
30
1
20
18
-7
0
19
-2
-19
-8
0
19
0
-28
27
2
44
0
-8
-10
0
20
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
24
-99
27
3
-7
1
2
-21
-6
11
1
0
-10
0
-29
-15
-40
3
0
20
0
33
-1
0
4
0
45
30
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
-1
-29
-3
0
7
-30
0
1
0
0
0
0
9
0
-13
-4
0
0
0
-12
0
7
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
39
0
0
0
0
0
0
-10
0
0
0
0
0
0
-17
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
42
-1
4
0
0
-12
0
0
1
0
-1
0
27
0
28
5
0
0
0
-16
0
0
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
9
-7
-11
33
72
40
-18
5
-3
-16
13
9
1
-15
-1
3
-29
2
-7
-43
0
41
-31
68
-12
56
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
4
0
0
8
-12
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
-13
-10
1
-80
16
0
-2
25
-23
1
25
-28
0
-2
0
-47
0
0
2
0
0
0
10
-9
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
2
-6
4
14
2
-26
-22
-32
-6
-41
-33
4
-31
0
0
0
-18
8
3
23
0
7
-22
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
34
21
0
15
10
-40
0
-2
29
0
8
-1
-2
0
-29
0
2
29
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
4
0
0
0
-21
0
0
0
-1
0
0
29
0
-3
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
-4
0
-4
11
-9
10
0
-7
0
9
0
0
2
0
-50
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
3
-8
-8
69
-27
2
-44
-15
-48
-4
-10
-8
15
-20
-37
-3
-85
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
3
1
0
0
50
0
1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-1
-3
34
21
-61
-9
-1
0
44
-22
-3
-26
4
-6
68
0
-3
33
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
-4
-7
-5
0
0
0
-37
0
-1
20
0
-27
5
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
3
-6
0
0
0
-61
8
-18
3
0
-2
0
41
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
-5
0
0
0
0
0
0
-12
0
-34
0
0
0
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
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
0
0
0
-41
5
-35
24
53
78
-23
-1
-8
-33
-28
-27
-15
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
2
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
0
3
0
0
0
0
58
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-11
-2
0
-78
0
35
-12
-2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
14
8
0
-11
-8
-43
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-5
19
-1
0
0
-14
11
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
58
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
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-56
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
-1
15
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
-6
0
0
0
0
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
0
0
0
0
-1
1
0
4
0
0
0
6
-8
0
0
-2
0
0
0
-3
0
0
1
2
0
0
-2
0
0
-3
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
45
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-59
34
-4
-3
17
-12
-60
-55
-26
-31
-6
6
13
-17
-54
35
19
-61
-15
-17
-14
-8
-36
-4
-28
-50
-10
-10
3
-5
9
-46
-42
-7
-2
20
5
-27
-7
-1
6
-43
10
-10
-8
-29
-2
1
1
-45
-4
-2
17
13
17
-18
-11
-10
-8
-15
-12
-24
10
-23
-41
-40
-3
3
2
-4
-40
-37
-7
-5
-29
10
5
10
-54
0
-13
-28
-1
0
0
0
0
0
0
0
-10
-17
-47
46
-6
10
-38
1
-9
-20
-27
-7
-1
-17
-22
14
-23
-42
-36
28
12
-14
6
-4
-26
12
15
11
-16
4
0
-22
-15
-11
-64
-9
-5
26
-52
-25
-56
-60
-18
-6
-23
5
-12
-3
8
-15
0
50
-20
-3
-19
-40
1
-5
-15
-48
-8
-22
5
-4
8
12
-8
12
-19
16
11
-1
-21
-3
15
39
-4
6
-10
16
21
-23
39
-10
-18
2
3
-36
-5
-48
-34
-4
15
27
-53
-12
21
-36
45
5
-61
11
-21
0
-11
13
0
-47
18
-13
0
-16
25
-1
-6
8
-13
-9
-20
6
-1
2
27
-17
22
-21
36
-8
-22
-22
8
26
-13
-14
-6
-3
16
-6
4
-26
-12
18
-18
3
-4
-24
-3
-49
-1
-1
1
22
20
-32
-12
21
34
-63
-41
-20
-63
-27
-1
-6
-17
22
-14
-11
-19
7
25
-23
-5
-13
-15
-9
-5
-5
-14
1
35
24
-6
-3
4
-9
25
-37
-41
-32
-7
-24
-50
-49
7
15
-18
-19
-50
-10
-28
12
-22
-17
4
-56
18
26
0
-32
18
-3
-14
-5
7
-37
-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
-4
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
2
0
0
-35
0
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
2
0
0
0
0
0
0
0
0
0
-3
0
0
0
-19
0
0
-10
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
-37
0
0
0
0
0
0
3
0
0
0
0
0
7
9
0
0
0
0
0
0
32
0
0
0
0
0
0
-42
0
0
0
0
0
0
22
0
1
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
-22
0
0
0
0
0
0
19
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
8
0
0
0
0
15
0
0
0
0
0
0
3
0
-4
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
21
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
20
0
0
0
0
0
0
-37
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
24
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
3
0
0
0
11
0
0
0
0
0
0
0
0
0
-11
0
0
0
27
0
0
-4
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
15
0
0
0
0
0
3
0
0
-5
-7
-4
0
14
0
0
0
11
0
0
-1
-37
0
0
-4
0
0
0
5
0
0
-46
0
0
-1
-3
0
25
0
0
0
0
-8
-2
0
25
0
0
0
3
0
0
0
0
0
0
36
0
0
0
0
0
0
-33
0
0
0
0
0
0
57
0
0
-19
0
0
2
30
0
0
9
-4
0
0
38
0
0
17
0
0
0
43
0
0
-8
0
0
0
-5
0
0
0
0
0
0
-11
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
2
0
0
0
0
-19
0
0
0
0
0
0
3
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
6
0
0
19
0
0
0
31
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
-2
0
0
-2
0
0
0
0
0
0
2
0
0
-1
0
0
0
-8
0
0
3
0
0
0
2
0
0
0
52
0
0
0
0
0
12
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
1
-20
0
0
32
0
0
-48
0
0
0
4
0
0
0
8
0
0
-64
0
0
0
0
0
0
0
0
0
22
0
0
3
-45
2
1
33
0
0
0
-6
0
0
0
7
0
0
6
0
24
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
25
0
0
0
0
0
0
-3
0
-1
19
0
0
1
55
0
0
-3
0
0
0
-6
0
0
-2
-1
0
-9
-17
0
0
-6
0
0
9
5
0
1
-16
0
0
0
-20
0
0
0
0
0
0
-68
0
0
0
0
0
0
7
17
0
0
0
0
0
19
0
0
0
0
0
0
-12
0
0
0
0
0
0
-34
0
0
4
-6
0
0
40
0
0
0
0
9
0
3
0
0
-7
0
0
10
-29
0
3
-1
0
2
0
-2
0
0
0
-1
-4
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
-2
0
0
0
0
2
0
0
0
0
0
0
-8
0
-12
0
0
0
0
-6
0
0
0
0
0
0
2
0
-18
0
0
0
0
9
0
0
-3
0
0
0
-34
0
2
0
0
0
0
8
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
2
28
0
0
-8
0
0
0
1
0
0
-12
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
30
0
0
0
0
0
-56
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-12
-4
0
-61
0
0
0
2
0
0
13
-1
0
0
23
0
0
0
0
0
0
0
0
0
9
0
0
0
-21
0
0
-63
0
0
0
-9
0
0
0
-8
0
0
-1
0
2
0
0
0
0
0
0
0
0
5
2
0
0
-1
0
1
0
0
0
-3
0
0
-15
0
0
-11
-6
0
0
-21
16
0
0
-1
0
0
0
50
0
0
0
-1
0
-1
27
0
0
1
0
0
0
-49
0
-26
38
0
0
0
-38
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
-3
0
-17
0
0
0
0
-1
-6
7
0
0
-8
0
12
0
-22
0
0
30
0
0
0
25
0
0
17
0
-6
0
61
0
0
2
0
-7
0
7
0
0
0
0
9
0
-43
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
-4
0
0
0
0
9
0
0
0
0
0
0
-41
0
16
0
0
0
3
2
0
0
4
0
0
0
7
0
0
0
0
2
0
-14
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-1
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
2
0
0
0
3
0
0
0
0
0
0
0
0
0
10
0
0
0
8
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
21
0
0
0
0
0
1
8
0
0
0
0
0
0
-10
0
0
-2
0
0
0
17
0
8
0
0
0
0
15
0
0
0
0
0
0
36
0
11
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
-11
0
1
0
0
0
0
25
0
3
0
0
12
0
0
0
21
0
0
0
0
0
0
6
0
0
0
0
0
0
-8
0
0
2
0
4
0
0
0
0
0
0
-3
0
9
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
6
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
-63
-40
-6
-80
-9
7
1
-25
-1
-33
-41
-21
29
56
-31
-6
41
14
-17
4
6
-10
8
-14
-56
78
-43
20
-37
5
8
-23
-2
-14
38
23
35
1
5
-50
-14
-11
4
-7
1
0
-3
4
14
-36
30
-11
-6
-53
-20
-46
-27
26
-11
-1
0
-2
28
-12
-70
7
25
-36
4
-13
-31
-20
10
45
-16
-2
25
0
0
0
0
0
0
0
-7
9
29
-8
12
-19
-34
1
14
22
66
5
12
-10
0
13
15
10
33
16
-3
-15
-5
10
6
-5
35
1
-24
13
-30
-1
-29
24
0
-50
-7
-6
-1
-15
-12
23
-6
-4
-6
-104
-11
11
-8
-39
-11
-38
-41
8
33
-10
-25
-1
33
-20
8
-9
-23
-14
-20
-6
73
0
-10
32
-16
8
11
14
-1
-10
30
-24
-2
-46
40
17
-68
-9
9
2
-30
-26
-5
-24
18
0
12
-77
-14
-61
-55
-21
-20
-22
-9
-3
12
-28
-5
7
1
23
-65
10
-44
-23
-23
-6
7
40
0
5
-24
-10
-13
-3
-26
-7
-8
-27
-14
-3
-22
-18
23
-24
-13
2
-6
-27
4
5
-24
7
11
-2
-13
44
10
46
3
-6
10
-51
-24
65
-67
-12
-6
8
-79
-16
7
-55
-16
41
-25
29
44
-6
63
-8
-1
-3
-1
-22
-9
17
-5
11
-8
-26
-22
15
-19
-40
38
-8
-35
-11
12
-16
-18
-26
8
-7
-18
-9
31
-42
-9
-2
15
-52
6
19
-1
24
-9
-46
-25
17
-33
-12
6
2
-32
21
-6
27
47
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
14
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
35
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
-29
0
0
0
0
0
0
0
0
-35
0
0
0
7
-1
0
0
0
0
0
-1
-28
0
0
0
0
0
0
-27
0
0
1
0
0
0
-5
0
15
0
0
0
0
-4
0
0
0
0
0
0
41
0
-1
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
-56
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-6
0
0
-1
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-34
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
-25
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
13
0
0
0
0
0
0
0
0
-17
0
0
0
0
-25
0
0
0
0
0
7
-25
0
0
0
0
0
0
-23
0
0
0
0
0
0
-5
0
0
0
0
0
0
15
0
0
0
0
0
0
-8
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
36
0
0
1
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
21
0
0
0
0
0
0
34
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-25
0
0
-3
0
0
0
-4
-4
0
0
-15
4
0
0
0
0
25
0
0
0
0
0
9
0
0
0
0
0
0
-18
0
0
0
0
18
-2
0
0
-9
0
0
-6
11
0
0
0
0
0
30
0
7
0
-33
22
0
0
0
0
0
0
0
0
-18
0
0
0
-34
0
0
8
-2
0
0
-46
2
0
-37
-56
-1
0
-52
-4
0
0
0
-1
0
0
1
0
0
22
-3
7
0
-2
0
42
8
0
0
29
0
0
11
-11
0
8
30
6
0
-10
8
0
0
-47
0
0
8
27
0
-1
-9
-4
0
4
26
0
-2
37
0
0
9
22
0
-7
19
2
0
8
-4
0
2
-19
6
0
0
-29
-5
15
0
0
0
0
11
6
0
0
0
0
10
11
0
0
-8
11
0
24
46
0
0
15
0
0
-13
30
0
9
15
-4
0
1
9
-6
0
60
-5
0
18
35
-3
-11
-22
-1
0
0
25
0
-3
12
-6
0
-8
-38
0
-1
18
8
0
0
-28
0
0
0
0
0
0
-17
-1
0
0
0
0
0
-17
0
-34
0
0
0
0
44
0
0
24
-37
0
-2
18
0
46
12
11
0
0
-5
0
16
27
-14
0
0
-21
0
-23
-30
9
0
0
-15
0
-2
41
-7
0
0
-21
0
-50
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
-1
0
0
0
0
0
-7
26
0
0
-9
24
0
0
14
0
0
-3
-2
0
0
70
-3
3
0
-28
0
0
0
3
0
-6
2
1
-72
0
0
18
0
0
0
0
0
0
19
0
6
-4
0
-1
-17
0
0
-37
-8
-4
-10
21
-3
-4
7
0
0
-51
-1
0
-4
23
-21
0
0
0
0
0
0
0
0
-28
13
-6
36
-12
22
-1
-4
9
2
0
29
0
0
44
55
0
0
20
4
-91
0
0
-6
0
0
16
8
0
25
-3
0
9
4
0
0
-23
0
0
26
24
0
29
3
0
-31
-9
-46
0
-38
30
0
7
14
0
0
-42
5
-2
0
-6
-23
0
47
1
2
-1
-11
10
-3
6
-7
1
3
-28
-1
0
31
27
1
-4
33
41
3
0
-7
-7
-22
0
1
0
0
23
0
0
2
6
-6
0
-8
-1
2
26
-11
-43
-8
29
0
-3
-48
11
-80
25
-45
15
7
58
-14
-54
11
17
1
7
0
2
-33
-9
-15
-3
-27
-19
13
-14
-20
-11
17
19
28
0
-40
-13
3
-4
7
-11
-1
-53
0
-10
0
0
0
-13
-4
0
-10
0
1
0
0
0
0
-25
0
-19
8
0
-14
0
14
0
-10
-20
-31
-9
-11
-3
0
33
13
-25
7
9
-58
-7
0
-35
-21
-3
-2
39
6
-16
4
1
-11
-2
-24
1
2
-8
16
-11
12
-7
0
-74
2
0
-24
0
-31
2
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
-16
0
0
3
0
-3
6
40
0
0
7
9
-1
0
-14
0
0
-2
6
0
0
101
0
0
-1
11
0
0
0
-1
0
12
0
0
22
0
0
26
0
0
0
0
0
0
23
0
0
0
0
-6
-2
0
0
-83
18
0
3
0
0
0
8
0
0
5
-1
0
0
3
25
0
0
0
0
0
0
0
0
-60
12
0
0
3
3
0
40
0
0
0
30
0
0
-4
-18
0
0
-11
-1
-9
0
0
-3
0
0
0
6
0
-38
16
-2
0
-3
0
-6
4
0
0
35
0
-1
41
0
0
7
-14
25
0
-27
6
0
0
29
0
1
-22
21
0
6
13
-7
0
31
-35
0
0
29
10
0
11
-24
0
-13
21
7
0
1
-48
-1
0
-8
19
3
0
13
1
-1
0
0
0
0
15
0
0
9
0
-4
0
6
2
-1
-23
14
-62
31
0
0
-2
-16
0
10
-16
26
4
-3
-17
33
33
8
-49
-9
-3
-11
43
1
0
-17
1
14
-8
-8
0
-6
-4
0
6
-23
-1
17
0
-19
0
11
4
-2
-38
0
-14
0
2
0
0
0
0
-23
0
0
0
3
0
1
-40
0
11
-4
0
-11
0
0
0
1
-9
4
0
1
64
0
29
-27
-1
0
0
-21
0
-7
1
4
0
0
-33
1
10
-4
0
0
0
-7
0
-9
-7
10
7
0
23
0
-1
2
0
6
0
-18
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
0
-14
0
0
0
0
0
0
4
0
0
0
62
4
0
0
0
0
0
0
0
0
-9
0
0
0
65
0
0
24
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
-1
0
0
-16
0
0
1
0
0
0
0
0
-27
2
-2
0
5
36
0
0
0
0
0
0
-50
0
0
5
21
0
0
11
0
0
0
0
0
-3
1
0
-15
-11
0
0
7
1
0
0
0
0
0
0
-23
0
0
0
0
0
0
28
0
0
0
0
0
-1
-24
0
0
0
0
0
0
-11
0
0
0
0
2
0
-2
0
0
0
9
0
0
-3
0
0
-10
0
0
0
12
0
2
-1
0
0
0
15
0
0
0
0
6
0
29
0
0
0
0
0
0
-18
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
-6
0
18
0
0
0
0
0
0
0
9
0
0
0
3
0
9
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
7
0
0
0
0
12
0
9
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
-7
0
0
-58
0
0
0
0
0
0
4
0
0
0
0
0
-4
0
0
3
-9
0
-36
7
0
0
-1
0
0
7
0
0
0
24
-1
0
0
0
0
0
0
0
0
29
0
0
0
-9
9
0
-26
0
0
0
-2
0
0
0
-2
0
0
0
0
48
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
1
4
0
0
4
0
0
23
-3
0
-10
1
0
0
-1
-24
0
0
-3
0
0
0
6
0
-6
13
0
0
-11
2
0
0
4
0
0
0
14
0
22
36
0
0
0
0
0
0
0
0
0
0
35
1
0
0
0
0
0
-35
0
0
0
0
0
0
-4
0
0
1
0
0
0
-46
0
0
-4
0
0
-3
46
0
0
0
-12
0
-3
81
0
7
0
0
0
0
11
-1
0
-9
-9
0
0
-9
0
0
4
0
0
0
10
0
0
0
0
-3
0
-41
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
-3
0
0
0
0
-18
0
0
0
0
0
0
-10
0
0
0
-8
11
0
-2
0
0
0
0
0
0
-4
0
0
0
7
0
0
16
0
0
0
6
0
0
-25
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
35
0
-1
-22
0
-3
2
30
-6
-2
20
-114
-39
40
14
9
-6
2
-18
2
9
5
77
18
0
28
-5
38
3
-11
0
0
-1
12
23
0
0
-3
0
0
0
-10
-1
0
7
0
0
-3
0
-61
65
0
0
-29
24
-3
-5
16
13
0
84
-11
-29
-103
-11
-1
-5
13
-55
-45
0
0
0
0
0
0
0
-23
15
-7
-15
-3
-24
-10
13
2
-2
-11
3
10
-5
13
-13
-13
-2
16
0
-37
0
1
-7
0
-6
17
23
-4
10
41
5
0
6
0
7
-6
0
0
-4
35
-25
-57
-36
-3
-20
1
-18
1
-12
5
0
-21
14
0
0
-10
4
2
1
16
23
0
26
-2
-2
-1
13
-16
-10
-24
-10
0
-5
16
-12
-4
0
-9
-4
-1
-7
-33
-3
0
-5
-21
-1
0
11
0
0
-3
52
0
0
4
-21
2
13
59
1
8
-40
-48
-47
-20
6
55
-30
2
-38
-18
-31
22
-27
0
-10
-14
-20
-2
-23
2
28
1
29
-29
-13
-1
-12
14
-21
-37
-8
-10
11
-18
-1
8
-10
-35
15
0
-16
20
0
-5
0
-1
7
13
18
-21
25
0
-3
104
-4
-1
-4
3
-8
15
-16
5
0
62
10
-13
-5
-4
-8
10
-23
-18
59
-15
7
-6
-6
-17
32
14
-27
-8
55
-49
-32
-1
-6
-13
2
-20
31
-37
29
0
4
-8
7
23
-21
28
-6
-1
0
0
0
47
20
0
-1
8
0
33
8
-12
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
-39
0
0
0
0
0
10
10
0
0
0
-56
0
0
0
0
0
-2
-4
0
-17
0
0
6
0
0
0
0
0
10
0
0
0
0
0
-5
-5
0
0
-12
0
1
1
-3
0
0
3
0
-12
1
0
0
0
-48
0
-2
0
0
0
0
0
0
0
-77
4
-6
0
-18
2
1
-15
0
0
0
-6
0
-1
0
39
0
0
2
0
-6
0
0
-2
0
6
0
35
0
7
12
-6
0
0
0
14
-8
0
0
8
0
0
-38
-3
0
-13
-23
0
0
22
-25
0
0
3
0
0
-42
-28
0
0
-42
0
-8
6
-38
0
0
19
0
0
10
-13
0
8
3
0
0
0
-28
0
0
11
0
1
0
20
-22
0
0
0
0
0
1
-4
0
0
0
0
0
-9
0
0
-1
0
1
-42
-38
0
0
48
0
12
-16
-11
0
-3
-52
0
-7
18
25
0
0
46
0
10
24
-12
0
-2
-18
0
0
-7
-19
0
0
13
0
47
0
1
0
0
37
0
-36
0
30
0
0
0
0
-1
0
38
0
0
0
0
0
0
-57
0
-10
-1
0
-1
0
-10
0
0
-5
0
6
4
20
0
4
-7
0
7
7
15
0
0
-36
0
-4
4
-16
0
-29
-10
0
0
0
-25
3
0
20
0
0
0
0
0
-6
8
0
-15
0
49
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-3
0
0
0
2
0
0
0
0
0
-5
0
0
0
0
0
18
0
0
0
0
0
0
-1
0
0
0
0
10
0
0
0
42
0
0
3
0
0
0
0
0
0
-14
0
0
0
44
30
0
0
0
0
0
0
0
0
30
-1
0
0
2
0
0
-22
9
0
0
19
1
0
1
0
0
0
18
0
0
0
0
1
0
0
0
0
0
3
4
0
0
-1
0
1
27
0
0
0
0
0
27
17
0
-65
15
1
0
29
33
0
0
-1
0
0
13
-12
0
0
16
9
0
-32
-22
0
6
-7
0
0
-11
21
0
14
-20
0
0
0
-34
0
0
0
0
0
0
5
-5
19
0
0
0
0
-24
19
0
0
0
0
0
-18
0
0
15
-2
0
-34
28
0
7
-11
0
0
-9
44
0
0
8
0
0
0
-4
0
0
55
9
0
-18
31
0
0
70
-15
0
-4
-25
0
24
4
1
0
0
-1
0
0
-2
0
0
0
-6
0
0
0
0
0
0
-47
0
0
0
0
0
0
23
0
11
0
0
0
0
-10
0
0
-17
0
0
1
19
0
24
-2
0
0
0
-22
0
0
15
0
0
0
-35
0
-3
-7
-2
0
0
-26
0
3
1
0
0
0
23
0
19
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
36
0
0
4
-4
-4
0
19
3
-1
3
-18
0
0
6
0
0
0
-11
-2
0
2
0
2
-9
0
0
42
0
0
10
0
0
0
0
0
0
1
0
0
0
0
-3
16
-1
0
-56
-24
7
-52
-22
0
19
-19
0
51
-42
-30
7
3
-5
-2
-13
0
0
0
0
0
0
0
2
-39
1
8
-7
15
2
11
2
0
0
14
-6
0
15
-2
0
0
4
0
-61
0
0
-2
0
0
0
-14
0
29
8
12
0
-2
0
-4
-9
0
0
-32
0
0
25
1
3
-69
12
8
0
28
21
0
7
-22
0
-2
16
10
0
11
38
-15
2
33
26
0
0
-19
6
-2
-23
0
-1
1
12
0
0
18
-104
0
0
24
0
9
0
-11
3
3
0
0
0
0
-7
0
0
0
0
0
-4
-35
0
-8
-6
6
-10
12
20
0
2
7
0
-6
-15
-1
2
-7
-36
13
-9
-8
5
-4
-1
57
5
32
-39
3
0
-13
40
30
14
0
-13
0
0
-20
0
16
0
-61
1
0
7
0
7
0
-3
0
-1
0
0
0
0
-48
1
0
0
0
0
0
10
0
43
17
-2
2
0
10
0
-11
-3
41
0
0
6
-3
5
-6
0
-9
-1
18
0
0
73
-7
0
0
-31
0
24
7
0
1
-1
-43
8
-12
-49
-6
-1
0
-6
0
8
0
2
-40
0
-17
-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
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
5
0
0
0
0
0
-30
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
2
0
-7
3
0
0
0
0
0
0
0
0
24
0
0
0
-7
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-13
-2
0
0
0
0
0
19
0
0
0
0
0
-6
0
0
-8
0
13
0
19
0
0
0
-10
0
0
-10
0
0
0
8
0
0
-1
-33
0
-1
3
0
0
0
38
0
-11
0
0
0
0
-14
0
0
0
0
0
0
25
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
0
22
1
0
0
5
0
0
10
0
0
0
22
0
0
0
3
0
0
4
0
0
0
0
3
0
5
0
0
1
0
0
0
-21
0
0
0
0
0
0
-25
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
22
0
0
-12
1
0
0
4
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
29
0
0
0
0
0
0
-4
0
0
0
-10
0
-6
0
0
0
55
0
0
-7
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
9
0
0
-65
7
0
0
0
0
0
18
-2
0
0
2
0
0
0
0
0
0
0
0
0
27
0
0
0
16
0
0
-60
0
0
0
22
0
6
-1
0
0
0
-6
0
4
0
0
0
0
0
0
7
0
-7
3
0
0
0
0
0
-37
0
0
0
0
0
47
0
0
10
-3
0
0
-8
26
0
0
0
0
0
10
15
0
0
22
0
0
-1
34
0
0
-2
0
0
0
-6
0
28
-8
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
17
0
0
0
0
0
0
12
0
-2
0
0
11
0
9
0
0
-4
0
0
-9
-5
0
0
1
1
0
0
-10
0
0
-4
0
13
0
1
0
0
-3
9
0
0
1
0
0
0
0
7
0
-16
0
0
2
11
4
0
10
0
0
0
0
0
0
-8
0
0
0
0
0
0
-33
0
0
0
0
0
0
6
0
0
-6
0
0
0
10
0
0
1
0
0
0
7
0
0
1
0
0
0
3
0
-1
0
0
0
0
-6
0
1
0
0
0
0
41
0
-3
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
9
0
0
0
0
0
0
-1
15
0
0
31
0
0
0
0
0
48
0
0
2
0
0
-28
0
0
0
0
0
0
0
0
16
0
0
1
-1
0
0
-16
0
0
-24
0
0
0
0
0
0
10
0
0
0
6
0
0
0
0
0
0
0
0
0
30
0
-1
0
-6
-1
0
37
0
0
0
3
0
0
0
1
0
0
-3
0
-9
0
0
0
0
0
0
0
0
-29
0
1
0
0
0
0
3
0
0
-12
0
0
-25
0
0
-33
4
0
0
-1
29
0
0
0
0
0
-2
-72
0
0
1
0
0
0
25
0
0
-2
0
0
-2
34
0
23
-20
0
0
-18
-4
4
0
-1
0
0
0
-23
0
0
0
0
0
0
-43
0
0
0
0
0
0
-28
0
0
-3
10
9
0
18
0
0
0
0
-6
9
-57
0
24
2
0
1
-1
-38
13
0
-2
0
7
0
16
-3
0
-1
0
0
-3
27
0
0
9
0
11
8
-27
0
0
4
0
-3
0
-39
0
0
0
0
0
0
22
0
0
0
3
0
0
27
0
0
21
0
0
0
-16
0
9
-2
0
0
-7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
10
0
0
0
0
-40
0
3
10
0
0
0
16
0
0
0
0
-4
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
0
0
0
-13
0
0
0
8
0
0
0
0
0
2
0
0
2
0
0
-59
0
0
0
0
0
0
11
0
0
0
0
6
6
0
0
-2
-7
0
-36
-1
0
0
0
0
0
13
-10
1
0
-2
0
0
0
0
0
0
0
0
0
78
-6
0
0
-46
0
0
-13
0
0
0
3
0
2
-17
6
0
0
0
0
15
0
0
0
0
0
0
6
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
48
-2
0
0
2
95
0
1
0
0
0
7
-6
0
0
8
6
0
-6
-17
0
0
19
0
0
1
16
0
-33
0
0
0
0
53
0
0
1
0
0
0
-22
0
0
0
0
0
0
-51
12
0
0
0
0
2
-3
0
0
0
0
0
0
-10
0
0
0
0
0
0
-38
0
0
9
-18
0
0
-55
0
1
2
0
10
0
-25
0
0
44
0
0
0
13
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
-12
0
2
0
0
0
0
17
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
-1
0
0
0
8
0
0
0
0
0
0
7
0
0
-15
0
0
0
6
0
4
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
49
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
-8
0
0
-51
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
12
0
0
0
-14
0
0
17
0
0
0
1
0
0
0
0
0
0
4
0
2
0
0
0
0
0
0
0
0
35
2
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-16
38
0
0
1
12
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
5
0
0
0
-6
0
3
15
0
0
0
2
0
0
0
0
0
0
-60
0
0
0
0
0
0
-47
0
0
0
0
0
0
-11
0
0
0
0
-4
0
5
0
0
0
0
0
0
-10
0
0
0
0
0
0
17
0
0
-3
0
0
0
-20
0
0
0
0
0
3
11
0
0
0
0
-2
0
-2
0
0
0
0
51
0
32
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
-13
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
0
0
0
7
0
0
0
1
0
0
1
0
0
-6
0
0
0
0
2
0
-2
-6
0
0
0
1
0
42
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
0
16
-7
0
0
5
13
0
25
0
0
0
4
0
0
-2
1
0
0
-25
2
0
0
0
0
0
0
0
0
-2
-10
0
0
-15
0
0
-31
-2
0
0
24
0
0
2
-1
0
0
0
-2
0
0
0
17
0
0
1
0
0
7
15
0
0
0
0
3
3
0
0
1
0
0
-54
-2
0
-6
2
5
0
-27
-72
0
0
-42
0
0
50
3
0
0
-28
-18
0
26
-23
0
0
-17
1
0
-10
-45
0
-16
45
0
0
0
-13
0
0
-3
0
0
0
-33
-2
0
0
0
0
0
-17
0
0
0
0
0
8
28
0
0
10
4
0
42
-12
0
0
27
0
0
39
34
0
-2
47
39
0
35
8
0
-2
-48
0
0
-8
-5
0
13
26
28
0
7
-29
0
9
60
-1
0
0
-37
0
0
19
0
0
0
-9
-1
0
0
0
1
0
0
0
0
0
0
0
-3
-53
0
8
-7
0
0
0
27
0
3
-13
-3
0
-11
21
0
-2
-34
0
0
0
-20
0
-1
0
0
0
-1
-27
0
-18
3
-1
0
7
35
0
2
1
0
0
0
-20
0
-4
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
2
9
7
-2
4
0
-22
1
0
0
13
6
0
6
-4
0
13
0
0
8
0
0
-29
0
0
0
0
0
7
43
2
-4
0
0
-14
45
0
0
7
-76
-2
-13
19
-2
-1
16
10
2
63
41
-2
81
42
-1
10
0
0
0
0
0
0
0
45
68
0
16
16
-11
0
59
22
-4
-2
-25
0
-16
0
-31
0
0
-2
6
-50
0
-1
-15
0
3
-4
-3
-1
-15
-15
-4
-2
0
0
8
-30
-1
0
24
-1
0
-36
-21
1
15
-18
40
3
11
16
11
1
-14
4
0
80
-4
-2
-4
7
-7
-4
-17
-14
0
-4
56
1
0
9
3
-3
-8
36
-18
-1
0
-20
1
0
-1
17
-33
0
-7
17
-1
0
-8
0
0
-38
-23
0
1
1
2
32
-36
-16
1
2
-23
-22
-24
-33
0
-10
-57
0
-50
15
-31
40
6
-56
6
-34
38
-2
11
-3
13
81
18
-4
-45
19
-26
2
4
-5
2
-14
-2
-2
-39
10
-60
0
-52
3
-50
-1
-1
25
0
7
11
-7
0
-13
21
0
-42
38
4
-5
-3
0
1
-33
0
-19
-13
25
4
-69
-30
0
14
34
14
-30
0
2
-10
-30
13
-10
1
17
5
0
18
53
-11
-39
3
-12
3
20
45
-9
-26
0
32
-1
0
-35
9
-2
0
-24
0
1
22
0
63
0
38
7
-1
11
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
9
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
-4
0
0
0
-20
-18
0
34
-1
0
0
0
0
0
-6
0
0
0
35
0
0
0
0
0
0
0
0
0
-3
5
0
0
-25
0
0
2
0
-1
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
-1
17
0
0
0
0
0
3
0
0
5
10
3
0
16
-34
0
0
5
0
0
6
0
0
0
-9
-1
0
4
-1
0
0
-3
0
0
0
-37
0
-35
0
2
0
0
-18
0
0
0
0
0
0
36
0
0
0
0
0
0
-12
0
0
0
0
0
0
-7
0
0
0
0
0
1
11
0
0
0
0
0
0
8
0
1
-10
0
0
6
0
0
0
38
0
0
0
-27
0
0
7
15
0
0
41
0
0
0
0
0
0
-29
0
0
0
0
0
0
-26
0
0
0
0
0
0
-6
0
0
0
1
0
0
-11
0
0
0
0
0
0
0
0
-6
0
0
0
0
13
0
-2
0
0
0
0
0
0
0
-6
4
0
0
7
0
-17
0
0
0
0
-2
0
-4
4
-3
0
0
-42
0
7
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-65
0
0
0
0
0
0
-4
0
0
0
46
0
1
0
0
0
0
0
0
0
-3
0
0
0
-8
0
0
15
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
-1
6
0
0
-30
-7
0
0
0
0
0
6
-38
0
0
1
0
0
1
-30
0
0
-3
0
0
3
8
0
11
11
0
0
0
8
0
0
-1
0
0
0
-21
0
0
0
0
0
0
-33
0
0
0
0
0
0
-8
0
0
3
0
0
0
62
0
0
0
0
0
0
-9
0
0
1
0
0
0
15
0
0
0
0
0
0
-13
0
0
-10
0
0
0
-21
0
0
0
0
0
0
1
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
19
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-2
0
0
0
0
0
0
17
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
14
0
0
0
0
0
0
11
7
0
0
3
0
0
0
0
0
25
0
0
3
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
76
-3
0
-54
4
0
0
0
0
0
17
-2
0
0
12
-2
0
0
0
0
0
0
0
0
-12
7
0
0
7
0
0
-4
4
0
0
-11
0
0
0
5
0
0
0
0
11
0
0
0
0
0
4
0
0
-35
-1
0
0
1
0
-1
-21
0
0
-4
0
0
-3
-3
0
-58
51
0
0
-21
-5
0
0
39
0
0
3
2
0
0
-2
21
0
40
-11
0
0
-43
0
0
23
18
0
31
7
0
0
0
-29
1
0
1
0
0
0
-39
0
0
0
0
0
0
2
7
0
0
0
0
1
6
0
0
0
0
0
12
22
0
0
-34
0
0
-3
-28
0
0
50
-9
0
-3
-3
0
0
-7
0
12
-2
-47
0
-3
-15
2
0
0
21
0
0
-2
0
-1
7
-19
0
0
0
-1
2
0
-20
0
0
0
-1
0
0
49
0
0
0
-1
0
0
8
0
-3
0
0
0
0
29
0
4
0
0
2
0
-45
0
-1
6
0
0
0
-43
0
0
2
0
0
0
6
0
-6
2
0
0
-4
-36
0
0
0
-1
0
0
-19
-1
-2
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
5
4
0
0
6
0
0
0
0
0
14
0
0
13
0
0
-37
0
0
0
0
0
0
3
0
0
0
0
-4
38
0
0
-9
-23
0
-30
-9
0
0
20
0
0
38
5
0
0
-3
12
0
0
0
0
0
0
0
0
11
10
1
-11
16
0
0
-31
61
0
0
-6
0
9
14
1
0
0
-6
0
-21
0
-3
55
0
0
0
0
0
25
-9
7
0
-7
0
-9
0
0
0
34
0
0
57
-28
0
3
-54
-59
0
3
1
0
9
38
0
0
-21
16
0
12
16
-1
0
11
10
0
3
18
1
6
6
-36
0
-3
16
-4
-15
-5
-18
0
0
19
0
0
0
-5
-3
-1
0
0
0
15
2
0
0
0
0
0
-2
0
0
3
-19
0
-19
-15
-13
0
-1
37
0
0
9
4
0
2
46
-1
-34
-2
0
-7
16
47
29
2
-22
11
0
2
-12
-21
-15
-1
13
0
-9
2
0
-9
7
-6
0
0
7
0
-38
0
-10
0
0
0
0
4
0
-5
0
0
0
0
8
0
37
0
15
0
0
-3
-8
-1
0
-2
7
-11
-2
0
-18
-3
10
-20
11
0
2
-49
0
41
-7
7
-27
2
5
-4
-32
-7
0
-1
-2
26
0
11
2
0
2
0
28
0
-16
2
0
26
0
-44
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
-2
0
-2
10
4
0
0
0
12
-2
0
-40
0
0
0
0
0
3
0
0
28
0
0
12
0
0
0
0
0
-3
-10
0
0
0
0
5
12
0
0
-36
0
0
18
10
0
0
-2
0
0
2
2
1
0
-25
0
0
0
0
0
0
0
0
0
-31
0
-6
0
-59
0
3
-15
0
0
0
-1
0
-2
2
10
0
0
-9
0
11
0
0
-2
0
0
0
-26
0
-11
1
0
0
0
0
15
-67
0
0
2
0
0
-24
-1
0
2
-19
0
0
76
-31
0
-4
-16
0
0
17
1
0
0
10
0
0
3
11
0
0
-60
0
0
29
-22
0
9
39
0
0
5
29
0
0
-6
0
-2
0
-17
-11
-5
15
0
0
0
-10
3
0
0
0
0
0
-7
0
0
26
0
68
-7
2
0
0
10
0
-7
-39
-14
0
16
1
0
-3
-45
18
3
2
15
0
0
2
4
0
0
-25
0
15
-6
-15
0
0
14
0
-17
1
2
8
0
15
0
-21
0
-29
0
7
0
0
10
0
-52
-7
0
0
0
0
0
-52
0
9
0
0
-3
0
-10
0
0
-2
0
0
-7
-35
0
9
0
0
-7
0
12
0
0
11
1
-1
0
29
0
-34
-1
0
0
0
37
0
0
40
0
0
0
55
0
-11
0
0
-6
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
15
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
17
0
0
0
0
0
26
0
0
0
0
0
-2
-12
0
0
0
0
33
-4
0
0
0
-14
0
-24
-2
0
0
0
0
0
3
0
0
0
18
22
0
0
0
0
0
0
0
0
-6
0
0
0
-74
-10
0
-58
0
0
0
-13
0
0
0
0
0
0
4
7
0
0
0
2
0
0
0
0
0
-10
2
3
0
0
0
-6
-10
0
0
15
0
0
-9
0
0
-14
17
11
0
12
9
0
0
42
0
0
8
-29
0
-1
-17
5
0
24
-40
0
0
9
0
0
8
-21
0
-20
-15
3
0
0
-46
0
0
0
0
0
0
-28
0
0
0
0
0
0
-24
0
0
0
0
0
-1
-36
0
0
-5
0
0
0
28
0
0
1
-4
0
12
-1
0
0
-1
3
0
3
-58
0
0
-13
0
0
0
15
0
0
-10
-4
0
-2
26
0
3
6
0
0
0
-2
0
0
6
0
0
0
-25
0
0
0
0
0
0
18
-2
0
0
12
0
0
-14
0
-1
0
0
0
0
18
0
0
6
0
0
0
-34
0
16
-5
0
0
0
2
0
0
-2
-1
0
0
-28
0
25
6
0
0
0
33
0
3
0
0
0
0
26
0
-8
0
0
0
0
22
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
-8
-14
67
33
12
25
15
0
-23
17
-6
-26
25
-19
0
0
-1
0
0
0
0
1
-8
-11
0
34
5
-8
-16
7
0
-1
8
-2
-12
0
3
7
6
7
-4
-48
12
15
25
-7
4
-16
-31
0
0
0
0
0
0
0
-80
-1
21
27
-10
-29
-1
52
19
13
75
15
39
-9
0
14
-6
0
-40
7
-29
2
-39
-11
0
0
22
-35
-2
-9
53
9
-67
41
0
17
-8
0
0
-10
-8
6
-23
-28
9
2
12
7
0
-90
8
-8
7
-18
-6
-6
-45
11
0
5
-1
33
-6
21
-1
-9
-6
-35
9
-2
0
1
21
-15
31
-5
2
-10
-25
9
-9
-6
-18
-17
0
-3
11
-4
6
41
1
-1
-24
7
18
4
19
-7
1
5
16
12
-25
6
22
-48
-7
6
-12
29
34
39
-12
-13
-65
23
-8
32
6
-10
-5
-44
-34
-38
24
-1
29
-10
-10
15
3
-3
1
20
-22
-21
-6
2
4
2
3
-11
37
-1
20
-19
-4
0
-7
-40
-3
6
-25
6
0
-8
23
-1
0
-29
6
16
-3
-16
44
14
-20
4
-13
-31
2
-8
-12
-11
-2
18
-12
-1
10
-41
-10
37
44
7
-13
-7
7
34
46
6
21
-5
41
-26
13
7
17
-13
11
-6
-10
17
82
0
-18
44
-36
-6
-10
25
4
-9
17
-4
-16
-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
-1
0
0
0
0
0
0
0
0
0
-29
0
0
1
0
0
-76
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-24
0
0
-52
0
0
0
0
0
0
8
0
0
0
-29
8
0
0
0
0
0
0
0
0
2
0
0
0
14
0
0
-2
2
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
3
0
0
0
0
0
-4
0
0
-36
15
0
0
-7
-1
0
0
1
0
0
9
-3
0
0
-2
0
0
-11
0
0
0
-33
0
0
0
-2
0
-42
5
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-40
0
0
0
0
0
0
-26
0
-2
0
0
0
-10
19
0
0
0
0
0
0
7
0
0
-1
0
0
0
1
0
0
9
0
0
-1
0
0
0
3
0
0
0
-15
0
0
2
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
2
0
0
0
0
0
0
11
0
-3
0
0
0
0
-4
0
0
0
0
0
0
-12
0
0
0
0
0
0
-21
0
-1
-2
0
0
0
0
0
0
0
0
0
0
-15
0
0
2
0
0
0
-3
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
6
0
0
-23
0
0
0
-1
0
0
27
-4
0
0
15
0
0
0
0
0
0
0
0
0
36
0
0
2
5
0
0
33
-1
0
0
4
0
0
0
-2
0
0
0
0
-2
0
0
-3
0
0
0
0
0
30
0
0
0
0
0
0
-8
0
0
-2
0
0
-12
-3
0
-17
20
1
0
-25
-6
0
0
0
0
0
13
0
0
0
-2
0
0
0
-15
0
0
8
8
0
-18
-1
0
54
0
0
0
0
-4
0
0
2
0
0
0
-3
11
10
0
0
0
0
-3
0
0
0
0
0
0
-6
0
12
0
0
-1
-2
-15
0
0
3
0
0
9
52
0
-4
-1
-3
-3
0
-28
7
0
25
0
0
0
-28
0
0
0
0
0
0
26
0
2
7
0
0
0
30
0
0
0
1
0
0
-40
0
0
0
0
0
0
-6
0
0
0
0
0
0
15
0
1
0
0
0
0
-21
0
0
0
0
0
0
-2
0
8
0
0
0
0
-7
0
6
0
0
0
0
10
0
0
-6
0
0
0
-4
0
0
0
0
0
0
-38
0
-2
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
38
0
0
-47
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
33
-3
0
33
0
0
0
-4
0
0
7
-2
0
0
14
0
0
0
0
0
0
0
0
0
-18
1
0
-6
10
0
0
-74
0
0
0
3
0
-6
0
1
0
0
0
0
7
0
0
-2
0
0
0
0
0
15
0
0
0
0
0
0
56
0
0
-4
0
0
21
-2
0
-45
-1
-4
0
10
6
0
0
-4
0
0
-6
-41
0
0
-8
0
0
0
19
0
0
-37
0
0
3
1
0
15
15
0
0
0
-22
0
0
0
0
0
0
-7
-3
0
0
0
0
0
-30
0
0
0
0
0
0
27
0
0
-6
0
-2
0
-51
0
0
0
0
0
0
-35
0
0
-3
0
4
-2
-10
0
0
25
0
0
0
-50
0
1
35
16
0
0
26
0
0
26
0
1
0
-8
0
0
0
0
7
0
12
0
0
0
0
0
0
1
-2
0
0
-2
0
0
-8
0
0
1
0
0
0
27
0
0
0
0
0
0
-10
0
-2
0
0
0
0
13
0
0
0
-7
0
0
-37
0
0
-1
0
0
0
38
0
1
-3
-1
0
0
-15
0
-2
0
0
6
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
-1
0
0
0
0
0
0
-20
0
0
0
0
0
-83
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
-2
0
0
29
0
0
0
-6
0
0
-36
0
3
0
-15
-1
0
0
0
0
0
0
0
0
17
2
0
-3
26
0
0
-6
2
0
0
-6
0
0
0
9
0
0
0
0
-1
0
0
0
0
0
0
0
0
48
2
0
0
0
0
0
5
0
0
4
0
0
-20
-2
0
-46
16
0
0
21
12
0
0
1
0
0
0
-10
0
0
-9
0
0
6
-26
0
0
-12
0
0
0
15
0
-27
0
0
0
0
-44
0
0
0
0
0
0
-47
8
6
0
0
0
0
-36
0
0
0
0
0
0
45
0
0
0
0
0
0
-11
0
0
-3
0
0
0
-10
0
0
2
12
0
0
-13
0
0
3
-3
0
0
-34
0
-1
-1
6
0
0
-56
0
2
0
0
-4
0
44
0
0
0
0
-12
0
-14
0
0
0
0
0
0
-8
0
0
0
0
0
0
-22
0
-8
0
0
0
0
-33
0
0
0
7
0
0
-22
0
3
0
-1
0
-3
0
0
0
0
2
0
0
-24
0
8
0
-1
0
0
-22
0
1
-4
0
18
0
5
0
13
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
24
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
-28
0
0
0
0
0
0
-3
3
0
0
11
0
0
0
0
0
0
0
0
0
-4
0
0
0
-29
0
0
-59
0
0
0
-3
0
0
0
-1
0
0
3
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
9
2
0
0
0
-49
0
0
0
0
0
0
-8
0
0
6
0
0
0
23
0
0
0
0
0
0
-16
0
-23
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
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
0
9
0
0
-1
0
0
0
38
0
0
0
0
0
0
-7
0
0
0
0
-1
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-22
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
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
14
0
0
0
0
0
3
0
0
0
0
0
0
-1
7
0
0
0
27
-1
0
0
45
-27
0
-7
-2
0
0
0
0
0
29
0
0
0
-18
-14
0
0
0
0
0
0
0
0
27
0
0
0
-7
0
0
8
0
0
0
10
0
0
0
1
0
0
0
0
0
0
0
-7
0
0
0
0
0
2
0
-1
0
11
0
0
-18
0
0
7
0
0
38
29
0
-29
-13
-4
0
-27
3
0
0
4
0
0
14
-6
0
0
-16
30
0
-3
-54
0
0
-7
0
0
0
-15
0
-22
-1
0
0
0
37
0
0
3
0
0
0
-2
19
-6
0
0
0
0
-19
0
0
0
0
0
7
-27
0
0
-11
1
0
26
-2
0
0
30
-7
0
-6
38
0
0
-13
0
0
16
-53
0
0
-47
0
0
13
-6
0
0
-55
-4
0
-2
-18
0
0
4
0
0
0
45
0
0
0
-2
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-23
0
0
0
0
0
0
-32
0
0
-4
0
0
8
-7
0
-5
0
0
0
0
-24
0
-18
0
0
0
-10
17
0
0
6
0
0
-7
-28
0
6
0
6
0
0
10
0
7
1
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-2
-54
0
0
3
0
0
-12
0
0
0
0
0
-2
-29
0
0
0
0
-6
0
0
0
-10
-54
-10
5
-16
0
0
-26
0
-3
37
8
0
-1
16
-18
1
0
0
0
0
0
0
0
-4
-2
0
0
-33
23
0
-21
-20
0
-8
8
0
0
0
30
0
0
-9
10
-89
0
-1
30
0
0
16
2
0
45
3
-1
17
-66
0
37
-16
0
0
39
0
0
-70
39
-4
-20
-13
-1
0
-1
27
0
-1
-23
0
0
-28
-35
0
-4
-24
40
-3
17
35
0
13
-26
0
0
-8
24
0
-26
10
-3
0
0
-13
0
0
24
25
-1
0
7
-9
21
0
0
0
0
11
-11
0
0
-4
-2
0
-37
0
0
25
-2
-23
35
11
0
16
-14
23
-28
26
22
-2
-11
-59
-5
-23
25
-31
2
10
-34
2
-38
1
1
12
-17
-14
-36
3
0
3
0
6
-50
-11
-14
0
4
-1
1
-64
6
-39
0
-24
23
0
3
-4
-12
0
22
-9
0
0
19
0
0
-32
0
9
4
1
3
0
6
0
8
3
20
0
-3
26
1
-57
18
13
-10
4
29
0
-40
17
-52
2
1
29
0
-18
-8
22
-4
0
42
0
9
-42
-1
-12
0
-16
0
-26
1
1
-51
0
-24
6
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
-45
0
0
0
0
0
0
3
0
0
0
0
4
8
0
0
-22
0
0
-32
0
0
0
1
0
0
4
0
0
0
26
-3
0
0
0
0
0
0
0
0
-34
-1
8
0
2
0
0
-52
0
0
0
-6
0
0
15
16
0
0
11
9
-1
0
0
-3
0
0
0
0
0
28
0
0
0
0
0
1
-14
0
0
-7
0
0
23
6
0
-11
-12
0
0
-27
10
0
0
1
0
0
2
-22
0
0
17
0
0
-10
58
0
-9
0
0
0
-7
0
0
12
-63
1
0
-2
-4
0
0
6
0
0
0
-37
0
0
0
0
0
0
21
3
0
0
0
0
0
13
0
0
0
0
14
0
-51
0
0
4
0
0
6
0
0
27
-5
6
0
15
-15
16
2
-1
0
-7
0
-1
0
-8
13
26
0
0
0
0
10
4
0
-3
11
-15
0
0
0
0
-13
0
19
0
0
0
7
0
0
-9
0
0
0
0
0
0
5
0
0
0
0
-12
1
-5
0
0
0
0
0
13
-14
0
0
0
1
0
0
2
0
-1
36
-13
1
0
3
0
25
-5
0
0
0
0
0
0
-4
0
0
0
-29
0
-8
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
-46
0
0
-1
0
0
-18
0
0
0
0
0
0
-8
0
0
0
0
1
0
0
0
-3
2
0
33
0
0
0
7
0
0
49
0
0
0
40
0
0
0
0
0
0
0
0
0
-6
0
0
0
21
0
0
-26
0
0
0
-1
0
1
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-17
0
0
0
10
0
0
4
0
0
0
0
0
-1
-1
0
0
3
0
0
-1
-35
0
0
0
0
0
2
-41
0
0
4
0
0
1
39
0
0
0
0
0
-1
14
0
-18
58
0
0
-16
-3
0
0
1
0
0
0
7
0
-8
0
0
0
0
-30
0
0
0
0
0
0
9
0
0
0
0
-3
0
14
0
0
-2
0
0
0
-4
0
0
-16
0
0
0
-100
0
0
-4
0
16
0
-57
0
0
-68
0
0
0
-37
0
0
0
0
3
0
-4
0
0
-1
0
0
0
-11
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
-4
0
0
0
0
4
0
0
0
0
0
0
19
0
7
0
0
0
0
-10
0
0
0
0
0
0
-6
0
0
0
0
0
0
-5
0
0
0
0
0
0
-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
-28
0
0
0
0
0
-37
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
7
0
0
-45
0
0
0
0
0
0
0
-1
0
0
-8
0
0
0
0
0
0
0
0
0
2
0
0
0
-20
0
0
-13
-2
0
0
-1
0
0
0
-1
0
0
0
0
-12
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
-1
-35
0
0
1
0
0
-8
0
0
-47
30
0
0
0
1
0
0
-3
0
0
0
12
0
0
8
0
0
-2
32
0
0
-2
6
0
29
13
0
-8
4
0
0
0
-2
0
0
-1
11
0
0
-45
0
0
0
0
0
0
-35
0
0
0
0
0
0
10
0
0
0
-1
0
0
4
0
0
0
0
0
2
-14
0
0
5
0
0
0
-53
0
0
0
0
0
-8
-47
0
1
-5
3
0
4
-57
0
0
0
0
0
0
12
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
-3
0
0
0
0
0
0
-1
0
11
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
-20
0
0
0
0
0
0
16
0
3
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-4
0
-2
-20
0
0
1
0
0
0
0
33
0
-3
0
21
1
0
-9
11
0
0
19
9
8
-10
-7
9
0
8
-1
-18
-44
23
38
0
12
9
-37
0
0
0
0
0
0
0
-22
7
0
0
2
44
1
-32
5
0
7
2
-6
1
-37
-1
0
0
-8
-19
7
0
10
-11
0
0
-3
-4
0
-5
-21
-49
-1
1
0
-26
1
0
0
-1
6
-1
6
-8
0
1
-10
-2
-11
-23
-2
-1
0
-16
11
0
31
-3
0
0
-7
-14
3
-14
-5
0
3
0
7
0
3
-1
0
-13
8
24
0
-12
-19
0
-9
0
-12
-23
0
18
5
-66
0
-17
0
0
-9
5
0
-10
34
17
2
-10
-2
0
16
19
-18
40
-27
0
-2
31
17
-4
-14
-9
4
3
16
6
-4
11
-7
-5
-23
-3
-35
-28
-22
-38
7
26
-27
1
6
37
14
2
-1
0
16
-4
0
-1
1
-12
0
11
-29
0
-3
3
0
0
-12
-51
0
-1
-10
0
0
-50
0
-2
12
0
-17
-11
10
-9
8
-9
0
-11
-4
23
-26
3
21
0
-35
6
19
-54
2
-46
-10
-59
8
-15
15
2
24
0
19
3
-6
3
3
-5
0
-1
0
-25
27
0
-16
0
40
0
0
-34
0
7
-29
2
0
-34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-92
0
0
-3
0
0
0
2
0
0
-11
0
7
0
-21
0
0
0
0
0
0
0
0
0
7
0
0
0
-25
0
0
24
0
0
0
-2
0
0
0
-3
0
0
-2
0
28
0
0
0
0
0
0
15
0
-60
0
7
0
0
0
0
-18
0
0
-1
0
0
-32
1
0
9
9
0
0
-1
-46
0
0
1
0
0
-6
-44
0
0
15
0
0
-1
-2
0
0
30
0
0
0
10
0
7
1
0
0
0
18
0
0
-3
0
0
0
21
-9
0
0
0
0
0
-51
0
0
0
0
0
7
10
0
0
-1
0
6
9
19
0
0
16
0
0
2
-28
0
0
4
0
0
1
-5
0
0
-10
0
0
11
53
0
0
-41
0
0
-2
-26
0
0
0
0
-4
0
-24
0
0
-6
0
-56
0
12
0
0
0
0
3
0
24
-9
0
0
0
0
0
37
0
1
0
0
0
1
-83
0
0
9
0
0
0
-9
0
-18
3
0
0
0
-24
0
0
2
0
0
0
-1
0
-16
-8
0
0
0
-8
0
1
-1
0
0
0
39
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
-1
0
0
0
0
0
0
-4
-8
0
0
0
18
0
0
0
0
14
0
28
0
0
0
-11
0
0
24
1
0
0
-3
-14
0
0
0
0
0
0
0
0
-25
0
0
0
-51
0
0
-29
0
0
0
1
0
0
6
0
-10
0
0
-1
0
0
0
-8
0
0
0
0
0
9
0
1
0
-1
0
-2
-27
0
0
20
0
0
-5
9
0
-4
-11
36
0
16
-14
0
0
46
0
0
5
5
0
0
7
43
0
4
29
0
0
29
1
0
-2
22
0
-56
-4
0
0
0
27
-2
0
0
0
0
0
-5
-1
37
0
0
0
0
1
0
0
0
0
0
6
5
0
0
-1
-2
0
-9
-3
0
-2
2
0
0
15
-9
0
-1
-5
18
0
7
25
0
0
15
3
0
1
11
0
11
4
-8
0
-1
-7
0
0
-9
1
0
16
0
8
4
0
-2
0
0
-29
-6
0
0
0
0
0
-25
2
0
0
0
0
0
5
0
-4
0
-1
0
0
13
0
-3
6
0
0
0
-5
0
39
3
2
0
0
-50
0
0
7
9
0
0
-7
0
3
-10
0
0
0
45
0
-7
7
-1
0
0
-5
0
-20
3
0
0
0
2
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
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-28
0
0
0
0
0
0
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
-4
0
0
0
46
0
0
-18
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-5
-5
2
0
0
36
0
0
-1
0
0
0
5
0
0
0
0
0
0
-16
0
0
-1
0
0
0
6
0
3
-16
0
0
0
-35
0
0
-13
0
0
0
13
-4
0
0
0
0
0
36
0
0
0
0
0
0
3
0
0
0
0
-17
0
41
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-3
0
0
0
0
11
0
0
0
0
0
0
-22
0
0
0
0
0
0
-40
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
0
0
0
17
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
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-8
0
-23
0
0
0
0
0
0
17
0
0
0
29
0
0
0
0
0
0
0
0
0
-14
0
0
0
-7
0
0
55
0
0
0
-8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
20
0
0
0
-6
0
-10
-22
0
0
39
0
0
0
17
0
60
-8
-3
0
-3
-7
0
0
1
0
0
0
-9
0
0
3
0
0
-7
4
0
0
-29
0
0
-6
7
0
24
0
0
0
0
0
0
0
8
0
0
0
-14
0
0
0
0
0
0
21
0
0
0
0
0
0
13
0
0
-3
0
0
0
-17
0
0
0
0
0
0
-33
0
0
-4
-3
0
0
4
0
0
-3
0
-6
3
-9
0
0
43
0
0
0
-7
0
0
6
0
-4
0
0
0
0
0
1
-5
0
-24
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
7
0
0
0
0
-3
0
3
0
0
0
0
3
0
-28
8
0
0
0
9
0
0
41
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
10
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
-1
0
0
0
-24
0
0
-12
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
16
-6
0
0
7
-11
0
0
6
0
0
0
-28
0
0
0
0
0
0
-19
0
0
1
0
0
0
6
0
12
0
0
0
0
-2
0
0
0
0
0
0
8
0
1
0
0
0
0
29
0
0
0
0
0
0
-8
0
0
0
1
0
0
31
0
0
0
0
0
0
24
0
0
0
0
0
0
-2
0
0
0
0
0
0
36
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
-9
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
-38
18
-3
2
24
-24
7
7
11
15
12
3
-8
36
-8
-4
12
-24
-13
-30
-5
-8
-32
14
41
-15
21
-42
0
0
0
0
0
0
0
-26
-18
-56
13
-11
44
-9
9
-34
-8
-42
-22
31
-20
3
1
13
-2
5
-43
34
0
-8
-30
2
-4
-43
9
-50
-8
-15
-2
-43
-14
-30
-8
-2
21
-6
-7
-32
-16
-34
-2
-27
9
-11
-1
-20
-12
-10
49
-12
-6
39
23
-6
0
-57
-27
-27
-29
-28
-30
2
18
-50
-15
-25
-18
-18
-1
20
-43
35
-7
-17
-23
-21
43
3
-11
-5
-17
6
12
-45
0
31
-29
2
21
-6
-39
18
-56
-37
8
-26
0
-32
-26
18
-24
11
-20
0
20
40
9
-84
-11
-30
-15
-62
-32
-3
-13
-20
-13
-3
-28
-38
-16
-5
1
-26
12
58
16
-7
-20
-21
-38
0
-18
-17
-30
-76
-3
-65
-13
40
-22
-31
-3
-6
-9
7
-34
1
-12
10
25
-11
2
1
-18
-15
12
-16
-4
-1
9
19
-7
-49
1
-7
-7
-5
-9
3
-28
8
-27
-26
-57
-31
16
-52
9
-21
24
-47
-73
-36
-45
-16
-12
3
6
2
-21
-72
-69
11
-14
-55
1
19
-33
15
-51
5
21
-18
-19
-11
-24
7
5
-71
11
-45
-50
-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
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
30
0
0
0
0
0
0
-3
-4
0
0
-14
0
0
0
0
0
0
0
0
0
-8
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
-19
0
0
0
0
0
1
-14
0
0
-2
0
0
2
0
0
-17
18
-28
0
-17
59
0
0
3
0
0
0
17
0
0
0
0
0
0
-20
0
0
0
0
0
0
61
0
-136
0
0
0
-6
3
0
0
0
0
0
0
-22
3
6
0
0
0
0
-14
0
0
0
0
0
0
-36
0
0
0
0
0
0
-16
0
0
0
0
0
0
-30
0
0
-15
0
0
-8
25
0
0
0
-6
0
0
20
0
21
-1
0
0
0
-20
0
0
0
0
0
0
-6
0
0
0
0
-2
0
-10
0
0
0
0
-15
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
2
0
0
0
0
-28
0
10
0
0
0
0
-3
0
0
-1
0
0
0
-2
0
-1
0
0
0
0
4
0
0
0
0
0
0
-27
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-38
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
9
0
0
0
0
0
0
0
0
-18
-2
0
0
0
-40
0
0
0
0
0
0
-44
0
0
3
0
0
0
-19
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
17
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
-8
0
0
0
0
0
0
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-1
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
0
0
0
0
0
16
-36
-7
0
2
0
15
6
-3
-1
-16
-6
0
12
6
-1
0
6
6
0
-4
-46
-8
21
-9
-11
0
0
0
0
0
0
0
0
5
-11
0
0
-24
-38
0
3
37
0
11
-35
-1
0
8
15
17
-1
0
-2
0
0
11
11
0
0
-30
0
2
-11
-10
-56
28
-22
0
34
0
0
0
37
-4
0
-1
25
13
-17
-11
-32
0
44
9
0
23
-4
0
0
50
3
0
10
-20
-24
0
19
-6
0
45
18
-15
0
42
6
0
14
68
4
0
43
-30
-6
-4
9
11
0
0
-7
-42
49
0
-19
0
0
-18
-39
0
0
-13
0
19
7
0
43
18
50
0
44
20
0
10
35
12
0
32
3
-10
-29
12
-35
0
-32
17
0
1
28
0
0
53
0
-7
-23
27
12
0
23
16
0
33
20
-10
0
-7
-15
13
-58
-39
-23
0
0
-13
-24
78
-16
-1
-16
0
35
-34
0
-1
21
0
-9
5
-1
-2
-14
16
0
46
12
0
10
20
1
0
-8
5
0
-38
-3
-6
0
26
6
-5
72
20
30
0
10
-1
1
22
11
32
0
14
13
2
17
74
47
0
5
-11
0
-14
-21
0
0
0
22
30
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
-2
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-18
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
18
0
0
0
3
0
0
-1
0
0
0
16
0
0
0
0
0
0
20
0
2
0
0
0
0
4
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
-7
0
0
-6
0
0
0
1
0
0
0
0
0
0
12
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
29
-29
9
-32
-1
4
-27
-44
4
-1
-43
-5
-3
19
-50
5
-16
6
12
24
-14
-10
-9
-1
-17
0
0
0
0
0
0
0
6
-7
-13
-44
-17
-15
4
16
-33
32
-4
-20
17
-2
-36
13
52
-62
-18
33
10
-22
43
56
-27
-54
2
-22
1
0
0
-2
11
17
-61
-6
6
17
-33
0
-26
-21
3
-1
19
-1
-10
-6
-21
-1
-1
9
-25
-2
-1
-34
23
7
-10
-48
2
-6
-42
-3
-4
-44
-1
7
-30
-24
-13
16
-38
-13
-23
30
0
-13
0
13
-12
-48
-13
-9
-40
-4
-1
-42
7
55
30
34
5
-35
-55
45
-12
38
-37
6
-7
3
-9
26
-29
31
-6
25
-8
7
16
-4
5
-4
-15
45
-9
14
3
0
-8
18
-12
6
40
-19
-28
-2
-28
3
7
-40
26
46
-3
-22
-16
-7
-23
-3
-14
1
16
-24
14
25
-4
-62
8
-2
32
-45
34
-16
-1
-18
6
-95
16
10
13
-34
-12
22
-34
6
11
-40
-31
-3
-16
-5
6
23
-23
-25
3
-122
-2
-23
-4
5
-57
-7
-17
-23
-13
18
-36
49
-3
-33
-14
-17
1
-38
5
12
-12
-2
15
18
-8
-46
5
42
-3
52
-70
60
10
6
-14
-59
31
-27
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-5
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
1
0
0
0
1
25
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
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
15
0
0
0
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
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
2
0
0
0
0
22
0
0
0
0
0
0
6
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
-20
0
0
0
13
0
0
-30
0
0
0
-12
0
0
0
0
0
0
0
0
0
24
0
0
0
-21
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
-57
0
0
0
0
0
-1
17
0
0
0
0
0
-8
0
0
22
-13
0
0
16
42
0
0
-4
0
0
1
18
0
0
-5
0
0
0
-24
0
0
33
0
0
6
-2
0
4
0
0
0
0
10
0
0
0
0
0
0
21
50
0
0
0
0
0
-8
0
0
0
0
0
0
67
0
0
0
0
0
0
23
0
0
6
0
0
-1
-3
0
0
8
-2
0
1
-5
0
0
2
0
0
0
-1
0
0
1
0
0
0
-22
0
0
0
0
0
0
-40
0
0
0
0
0
0
5
1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
-30
0
0
0
0
0
0
2
0
-15
0
0
0
0
-11
0
0
0
3
0
0
-35
0
-6
0
0
0
0
-2
0
0
0
0
0
0
-4
0
15
0
0
0
0
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
3
0
0
0
-53
0
0
-8
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
9
0
0
0
0
0
0
0
0
37
-1
0
0
-3
-29
0
0
0
0
0
0
50
0
0
0
0
0
0
1
0
0
-3
0
0
0
3
0
4
0
0
0
0
-2
0
0
0
0
0
0
-39
0
0
0
0
0
0
-58
0
0
0
0
0
0
-1
0
0
0
0
0
0
65
0
0
0
0
0
0
-9
0
0
-1
-4
0
0
-30
0
0
0
0
0
0
-16
0
0
0
0
0
0
-1
0
0
0
0
6
0
-1
0
0
0
0
1
0
-36
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
-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
-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
-1
0
0
0
-4
-7
0
-9
0
0
0
0
0
0
-4
-10
-1
0
-12
-9
0
0
0
0
0
0
0
0
16
0
0
0
31
0
0
-13
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
3
0
0
-29
0
0
-1
0
0
24
-3
0
49
-14
8
0
34
-69
0
0
-40
0
0
5
23
0
0
66
-9
0
18
-39
0
0
16
0
0
-2
-9
0
-3
-1
0
0
0
19
0
0
0
0
-3
0
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
13
0
1
24
12
0
1
-2
0
0
18
0
0
-18
3
0
0
-49
-7
0
0
12
0
0
-6
0
0
-1
-54
0
0
30
0
0
0
8
0
0
11
0
-1
0
-16
0
0
0
0
-43
0
16
0
0
0
0
0
0
0
-1
0
0
0
0
0
-7
0
0
0
0
0
0
-37
0
0
0
0
0
0
27
0
-8
3
0
0
0
25
0
0
-1
1
0
0
27
0
8
-9
0
0
0
18
0
-1
0
0
0
0
-1
0
-4
0
0
7
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-119
-36
0
0
-41
-11
4
6
14
0
0
20
2
0
48
-20
4
0
-26
-3
-1
0
0
0
0
0
0
0
6
-10
0
0
-26
-3
2
-1
1
-2
0
2
0
4
-5
17
0
0
-9
0
2
0
-8
-7
0
0
13
19
0
-48
0
14
0
-24
0
-2
14
0
0
1
38
0
1
-7
0
-11
-88
6
0
4
-26
0
0
-19
0
0
-16
-52
0
0
40
2
3
49
30
0
0
19
0
-3
-6
10
0
12
-67
-1
0
11
-5
0
0
-28
-16
41
0
8
-5
-1
0
15
0
0
-47
0
0
0
0
-2
-1
26
0
0
4
12
-26
-20
21
0
6
-26
-13
-3
-33
21
0
-3
26
-2
-2
14
-36
0
-8
-35
-16
-30
9
-21
7
-4
-30
26
8
-9
-2
0
0
16
6
-56
0
23
0
-13
-3
22
-27
0
-39
0
0
0
-1
-2
0
7
0
0
0
4
0
-2
22
-1
-61
1
0
2
0
30
0
0
-7
2
-9
-3
-25
0
-38
-23
6
-1
1
-33
0
3
21
-5
0
0
11
0
-14
15
18
-1
0
-14
0
-10
-17
-1
5
0
8
0
31
0
0
-7
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
-1
15
0
13
0
0
0
0
0
0
12
0
0
0
5
0
0
0
0
0
0
0
0
0
-12
0
0
0
-2
0
0
24
0
0
0
-1
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-35
0
0
0
0
0
-1
0
0
7
-1
0
0
4
-10
0
0
-1
0
0
0
10
0
0
-1
0
0
-2
-11
0
0
-2
0
0
0
6
0
-2
45
0
0
0
10
0
0
0
0
0
0
5
0
0
0
0
0
0
-15
0
0
0
0
0
0
3
0
0
-1
0
0
0
37
0
0
0
0
0
0
0
0
0
18
0
0
0
2
0
0
0
0
0
0
-2
0
0
-1
0
6
0
9
0
0
0
0
4
0
21
0
0
0
0
0
0
-2
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
0
0
2
13
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
-6
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
-8
0
0
0
2
0
0
0
0
0
0
0
0
0
-3
0
0
0
16
0
0
9
0
0
0
-1
0
0
0
0
0
0
4
0
5
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
-5
0
0
0
-8
15
0
0
0
0
0
0
-59
0
0
0
0
0
0
25
0
0
0
0
0
1
19
0
-1
-6
0
0
0
6
0
0
0
0
-3
0
1
-2
0
0
0
0
0
-5
0
0
0
0
7
0
-6
0
0
0
0
-6
0
-33
0
0
0
0
0
-4
-3
0
0
0
0
0
29
35
0
0
0
0
0
0
-5
-1
0
0
0
0
0
-7
0
0
0
0
0
0
-6
6
0
0
0
-7
0
-11
0
0
0
0
0
0
-10
0
0
0
0
0
0
20
0
2
0
0
0
0
-1
0
0
0
0
0
-4
-17
0
2
0
0
0
0
3
0
0
0
0
0
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-16
0
0
-81
0
0
0
0
0
0
-3
0
0
0
-25
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
0
0
45
0
0
0
-7
0
0
0
-3
0
0
-3
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
0
-27
-6
0
0
-1
29
0
0
0
0
0
0
-53
0
0
0
0
0
0
-18
0
0
-4
0
0
3
-22
0
21
-3
0
0
0
-10
0
0
0
0
0
0
-2
3
0
0
0
0
0
-104
0
0
0
0
0
0
5
0
0
-2
0
-2
-6
-45
0
0
3
0
0
-1
-17
0
0
9
0
0
0
-11
0
0
0
0
0
0
-6
0
0
1
0
18
0
51
0
3
4
0
-3
0
-2
0
0
0
0
36
0
-41
0
0
0
0
0
0
49
0
0
0
0
0
0
24
0
0
0
0
0
0
30
0
0
0
0
0
0
-1
0
-2
0
0
0
0
1
0
0
-7
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
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
-17
0
-16
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-11
0
0
0
-7
7
0
10
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-10
0
0
0
0
0
15
3
0
2
6
0
0
-18
-3
0
0
-10
0
0
0
-3
0
0
1
0
0
2
-73
0
0
-3
0
0
0
-9
0
-28
0
0
0
0
-1
0
0
0
0
0
0
-8
-2
0
0
0
0
0
6
0
0
0
0
0
0
33
0
0
0
0
0
-4
34
0
0
-2
0
0
0
-14
0
0
-1
0
0
-1
-38
0
0
8
-7
0
1
10
0
0
-8
0
0
0
18
0
0
-7
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
-4
0
0
0
0
0
0
-15
0
-13
0
0
0
0
-5
0
0
0
0
0
0
23
0
0
0
0
0
0
19
0
0
0
10
0
0
2
0
6
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
5
0
0
47
29
4
3
-11
7
1
0
0
0
0
0
0
0
-53
35
2
1
23
56
-17
-12
11
0
-3
48
-4
-42
7
-25
0
0
12
0
-26
0
12
-21
0
0
-8
3
0
12
-24
-20
2
-32
0
0
0
0
0
-73
0
0
0
-15
0
-29
-53
13
0
28
19
0
0
-42
0
6
-4
3
0
0
-29
-15
0
3
22
3
21
13
0
0
-65
0
0
-2
-10
40
0
27
-17
3
-1
3
-8
9
0
-50
-10
62
0
0
0
0
-5
4
14
0
-26
10
0
8
10
0
51
-72
-64
-19
-7
0
-9
-37
0
-16
-22
5
1
32
28
24
46
45
17
-10
-18
-8
78
-15
-5
-4
1
48
-39
-15
-35
23
-1
0
0
-6
-1
-3
-1
-7
0
0
-57
-7
-9
0
-20
-13
0
0
-4
-53
0
-28
12
0
0
-7
0
0
-51
0
-28
-6
0
3
0
-31
2
-24
-17
36
9
0
-20
0
-48
-15
-4
21
-6
-16
4
36
17
13
-10
-8
-5
0
-20
22
0
-5
13
-20
0
-8
-30
35
62
0
-4
0
-76
-2
0
-2
0
-6
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
0
0
2
0
0
0
16
-20
-2
0
0
0
0
0
0
0
7
1
0
0
-13
5
0
-13
0
0
-2
32
0
-1
-7
37
0
0
-36
4
7
0
0
-14
0
0
0
4
0
17
-15
-21
0
-4
0
23
0
0
0
-34
2
0
-27
5
0
-10
21
-17
0
4
-24
0
-2
-11
0
0
-32
-29
0
0
12
-29
-1
-9
12
0
0
17
-2
0
-2
-26
0
-3
34
-2
-2
0
-40
0
0
-3
2
35
0
-41
-3
0
0
0
0
0
14
1
0
0
0
2
-10
0
0
0
9
0
-35
-4
-15
0
0
21
2
-20
39
-23
0
0
13
25
4
-9
-14
0
-16
12
-16
-2
22
-13
0
0
18
-14
1
-2
10
0
-13
-60
0
-61
0
-20
0
-1
-4
-8
16
0
-29
0
0
0
1
-2
0
-30
0
0
0
0
0
0
0
0
-21
0
11
0
0
-49
0
0
26
-4
0
1
-17
0
-7
0
3
0
0
-28
0
-7
-19
-15
9
0
-43
0
18
42
-1
0
0
-25
0
6
7
-1
4
0
-58
0
-14
-1
0
43
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
2
1
0
0
27
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-3
0
0
0
-6
14
0
0
9
0
0
0
-27
0
0
9
0
0
6
-8
0
0
1
0
0
0
18
0
13
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-8
0
0
0
0
0
0
10
0
0
0
0
0
0
16
0
0
0
0
0
0
-9
0
0
0
0
0
0
-29
0
0
0
0
0
0
35
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
21
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
-71
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
7
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
-2
4
0
0
0
-22
0
0
0
0
0
0
-33
0
0
0
1
0
0
12
0
0
-1
0
0
0
-2
0
6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
2
0
0
3
-1
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-17
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
35
0
0
0
43
17
-14
-6
-2
8
20
3
51
0
0
0
0
0
0
0
-4
-76
26
-2
10
35
40
4
-20
-1
12
7
-40
-5
28
-9
22
-2
19
-23
-11
0
41
-25
0
-1
-54
-2
-8
8
-32
-107
0
-40
0
-22
0
-3
-1
7
25
22
-35
-23
6
-32
-24
2
11
-37
-4
-7
18
-26
1
-3
-10
-3
1
10
-30
-3
-8
31
17
-7
5
18
35
-9
-44
0
-3
7
19
25
-37
-25
-13
4
-17
-20
-16
-1
-3
10
-8
2
-1
7
0
0
-15
-18
3
0
-56
9
-2
-18
1
1
-6
19
-44
-47
-6
0
-74
-17
1
2
74
-6
27
-43
-44
19
-15
1
-2
-38
-45
16
12
31
-13
-2
92
5
17
-11
-25
-3
-1
-9
-20
49
-54
9
21
-6
-7
44
12
-23
12
-1
18
53
-10
2
-6
-28
-4
-14
1
1
15
49
-3
-21
12
12
-48
-4
9
-25
12
-5
9
9
-7
2
27
-6
0
-9
-28
-7
25
-2
-7
-17
42
0
-18
2
19
-31
-24
4
13
49
-55
13
9
-31
13
-41
17
-65
38
16
-15
-22
14
-35
-33
3
0
21
1
-7
6
17
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
40
0
35
27
-15
0
13
2
9
-5
0
0
0
0
0
0
0
-17
4
-1
-3
9
0
25
-17
-4
0
0
-3
0
-27
-46
-16
0
0
-5
0
10
0
-15
-79
0
0
0
-17
0
14
-19
81
0
0
11
28
-12
0
0
66
0
0
-5
-21
0
-11
7
0
2
-14
-13
0
7
1
0
-4
-30
7
0
0
4
0
0
-1
-5
9
2
6
0
4
28
-17
0
-3
17
24
0
-9
-20
0
0
-5
0
-80
4
-2
-33
6
0
0
2
0
13
12
0
0
0
-27
20
-25
0
-2
29
-9
-16
4
7
0
-2
17
0
18
62
-39
0
-12
4
0
-26
-49
-16
0
50
21
25
43
17
-2
0
-35
1
-26
20
9
-4
0
0
37
0
16
-15
-18
0
-1
11
1
-9
0
4
-18
0
-10
0
-25
0
2
14
0
0
7
0
13
-37
0
-19
4
9
-69
-12
13
0
28
-55
0
4
-15
-15
0
-36
30
0
18
25
-13
6
0
-20
23
-13
34
-12
1
34
52
0
13
-29
-5
-7
-52
5
0
-7
-3
-10
0
24
-11
0
0
0
-5
3
0
4
-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
-15
0
0
0
0
0
0
-16
0
0
0
-4
-20
0
0
0
0
0
0
0
0
-5
0
0
0
-9
0
0
-22
-2
0
0
10
13
0
0
-40
0
0
2
9
17
0
0
21
0
0
0
0
0
-5
0
0
0
4
0
-1
19
0
0
0
0
0
-21
12
0
-2
-12
1
0
32
30
0
0
25
0
0
-10
-2
0
0
-29
3
0
31
27
0
0
-74
0
0
-38
28
0
15
-1
-6
0
-19
4
0
0
49
0
0
0
-44
3
0
0
0
0
0
-44
0
0
0
0
0
0
40
0
0
-3
1
0
-1
16
0
0
-10
0
0
13
45
0
0
23
15
0
10
17
0
0
-26
-18
0
8
-17
0
0
43
4
0
-4
21
0
0
42
0
0
-1
-11
0
0
2
0
0
0
-28
-4
0
0
0
0
0
-11
-8
0
0
-10
0
0
0
0
41
0
0
0
0
7
0
0
1
0
0
0
52
0
-27
27
-13
0
0
-3
0
1
-3
13
0
0
19
0
-16
9
9
0
0
10
0
-9
-8
-1
0
0
38
0
4
0
0
0
0
-50
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-24
-45
-10
5
-12
30
0
0
0
0
0
0
0
-21
1
37
7
17
-36
-30
0
9
-6
-5
8
-51
-13
-7
9
-65
-12
2
7
-21
-14
-16
6
-11
-18
-24
-41
0
-1
-7
-19
12
-5
15
-4
6
-59
-24
26
-13
-1
-10
-2
15
-7
-6
-18
-11
-20
1
12
19
12
45
-8
-8
2
2
48
-10
1
-2
-22
4
-7
-9
-14
-7
7
-10
-7
13
-1
-23
-6
-27
-29
-7
-41
-19
-3
-3
-17
-15
-7
47
10
-75
-44
23
6
-6
-53
-57
-42
-17
-14
22
3
-14
-28
-6
31
-5
-2
-2
2
-22
-24
-34
-1
-51
18
-34
37
7
6
32
-17
-17
-6
17
15
-8
8
-17
-6
-17
0
-32
41
-2
-17
-10
8
-3
17
17
0
-61
13
22
-8
-3
-12
4
-4
-1
0
10
8
-32
11
-2
3
-31
27
18
-33
-3
-7
1
27
-21
10
19
0
-25
-21
-27
-10
-18
-22
-7
-35
-5
-26
16
-38
-13
2
20
-12
-20
-12
17
16
-1
-4
9
-41
-16
-24
-10
-34
42
-19
-19
-7
-16
-22
20
38
21
-31
-20
-16
16
4
19
4
13
-11
14
-17
-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
89
2
0
0
15
-3
0
0
0
0
0
0
0
0
47
0
0
0
-34
0
0
21
0
0
0
3
0
1
-1
0
-2
0
-2
0
-12
0
-2
-1
0
0
0
-3
0
10
0
4
0
0
0
0
-16
0
0
0
0
0
-12
0
0
-25
-4
-1
0
-30
-13
0
-1
-13
0
0
8
23
0
0
13
4
4
-27
18
0
0
-29
0
0
17
25
0
-42
79
3
0
0
-67
0
0
17
0
0
0
-16
-2
0
0
-2
0
0
15
2
0
-9
8
0
10
-34
0
0
-4
-6
1
-40
0
0
-11
42
0
1
42
-37
-4
25
18
12
0
7
9
0
3
14
-3
2
-2
7
-1
1
-8
6
0
-16
27
0
-3
9
0
-2
0
-28
0
0
0
0
24
0
-26
0
0
0
0
0
0
-20
-2
0
0
4
0
6
-34
0
14
0
0
0
6
0
0
0
0
15
0
0
-51
1
-8
-1
-1
0
0
-29
2
-3
-3
-6
0
0
-21
0
-1
18
-13
0
0
-56
0
-1
-4
0
0
0
-7
0
-21
0
0
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
18
0
0
0
0
0
0
0
13
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
12
0
0
-10
0
0
0
0
11
0
0
0
0
0
0
51
0
0
0
0
0
0
20
0
0
0
0
0
0
27
0
-9
0
0
0
-3
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
-6
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
0
0
-2
0
0
0
-27
0
0
0
0
1
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
8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
-4
0
0
0
0
0
0
0
0
3
0
0
0
-3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
-4
0
0
-4
-4
0
0
-3
-18
0
0
0
0
0
-1
10
0
0
0
0
0
0
6
0
0
6
0
0
0
3
0
10
0
0
0
0
3
0
0
0
0
0
0
15
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
34
0
0
-2
0
0
0
3
0
0
0
0
0
0
-21
0
0
0
0
0
0
-5
0
0
7
0
0
0
9
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
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
0
0
0
-3
0
0
0
0
0
0
5
0
0
-4
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-5
0
0
-9
21
-14
0
0
0
0
0
0
0
-35
8
0
8
7
0
8
-8
19
-2
0
12
0
0
19
13
9
0
-5
0
-17
0
0
-1
0
0
2
0
0
-11
38
10
0
-15
0
46
-31
0
0
0
0
0
-2
-34
0
-12
22
40
0
-28
-9
1
10
-24
0
0
8
16
0
0
78
9
0
9
-4
0
0
-3
2
0
-4
15
0
4
15
0
0
0
-13
0
0
-16
-1
12
0
-30
-20
12
1
19
0
0
0
-6
0
0
0
-1
-2
-8
0
0
0
-8
-13
4
-1
0
2
0
-1
43
-15
31
1
-4
45
22
15
-8
-11
-2
-7
40
19
-4
1
-31
0
12
0
2
3
-15
-19
0
-12
-1
-8
-19
0
-44
0
1
16
-1
-36
0
-14
0
0
0
-2
0
8
-1
2
0
0
0
7
0
17
0
33
0
0
0
-2
-14
19
3
0
2
0
-7
-29
-1
-42
4
0
-4
1
30
-1
7
-15
5
8
-8
27
1
3
-7
0
6
-7
-32
-4
3
22
0
-2
0
5
1
42
6
2
-11
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
2
0
0
0
8
0
0
0
0
0
0
0
0
0
15
0
0
0
21
0
0
18
0
0
0
1
0
0
-13
0
0
0
0
0
-2
0
0
11
0
0
0
0
0
36
0
0
0
0
0
17
-29
0
0
-9
0
0
-8
-7
0
32
63
0
0
-3
-8
0
0
0
0
0
0
13
0
0
0
0
0
0
-2
0
0
2
0
0
0
16
0
36
8
0
0
0
-12
0
0
-2
0
0
0
-26
0
0
0
0
0
0
-18
0
0
0
0
0
0
38
0
0
0
0
0
-6
21
0
0
-9
0
0
0
40
0
0
-21
0
0
0
-15
0
0
-3
0
0
0
34
0
0
-1
0
0
0
-42
0
0
1
0
0
0
16
0
0
0
0
7
0
-15
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
-1
0
0
0
0
15
0
0
1
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-26
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
0
-1
0
0
0
-32
0
0
-1
0
0
0
-2
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
26
0
0
0
0
0
-9
0
0
-12
7
-16
0
28
-35
0
0
-18
0
0
3
-84
0
0
18
0
0
2
15
0
0
24
0
0
0
44
0
40
1
0
0
0
-59
0
0
0
0
0
0
-7
0
0
0
0
0
0
-12
0
0
0
0
0
0
3
0
0
-6
-1
0
0
28
0
0
3
0
0
-4
34
0
0
11
-2
0
0
-17
0
0
34
0
0
4
-54
0
0
61
0
0
0
-23
0
0
0
0
0
0
25
0
0
0
0
0
0
12
0
0
0
0
0
0
5
0
0
0
0
0
0
10
0
-5
0
0
0
0
-29
0
0
1
0
0
0
2
0
0
0
0
0
0
-9
0
0
0
0
0
0
3
0
9
0
0
0
0
-18
0
0
1
0
0
0
-36
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
7
4
-15
-26
-6
9
0
9
7
22
-13
1
-1
-3
0
42
5
-38
0
29
-46
0
4
-1
-6
1
1
56
17
3
3
0
18
-8
12
0
-19
-25
2
-3
-18
0
-33
-57
-18
0
-8
-23
-9
-3
-9
0
15
-27
-39
0
-38
1
-55
16
-10
12
1
32
-3
7
-4
41
20
0
-6
-9
10
-8
12
-6
57
9
38
23
19
0
7
-14
64
0
-1
7
-1
-8
-9
1
-7
5
-34
20
8
-25
3
18
-1
-25
10
-1
-1
-15
24
-3
51
-7
-29
-35
4
3
25
-31
78
-30
2
63
17
-44
-47
48
0
0
-68
-29
55
-4
0
9
2
2
26
-45
22
29
23
-13
2
-1
59
-25
0
-5
-22
25
0
36
-15
8
7
42
0
1
11
0
3
-26
2
-63
17
0
31
1
-39
0
-4
-8
6
1
19
3
7
-10
-17
34
9
26
-40
15
-3
-20
38
-3
-4
-6
-4
32
-24
2
0
0
-6
3
27
38
-43
-11
0
25
7
-15
4
-2
16
0
-7
-4
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
0
0
4
-63
0
-6
-12
-1
0
-1
38
0
0
13
6
0
0
1
0
3
0
0
-6
0
0
0
-15
0
-23
4
0
0
-3
0
-17
45
0
0
0
0
0
8
-14
2
-32
-8
0
0
-62
0
3
-2
8
0
0
41
-12
0
0
6
7
3
-6
27
0
-1
-4
0
2
8
13
1
-13
-24
-3
6
-7
-25
0
0
-2
4
-15
0
4
2
0
0
0
0
0
-29
0
0
0
-1
0
-7
21
0
0
-4
0
0
17
-23
-1
0
9
-2
-3
-17
0
0
3
-28
4
0
9
-10
8
0
-82
-21
0
-11
17
0
-6
-35
32
1
-6
10
0
-2
33
0
-2
-2
-70
0
8
-2
0
30
0
-15
0
-2
0
0
-8
0
-66
9
0
0
0
0
0
42
0
-5
0
6
0
-2
-22
0
10
1
0
-7
7
0
0
-5
47
0
0
6
-17
0
-2
-3
11
0
0
-24
6
41
8
0
3
0
-4
0
0
15
-4
0
0
12
-1
15
0
0
3
0
-47
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
26
0
0
0
-47
0
0
-41
0
0
0
37
0
1
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
-14
1
0
0
0
0
0
-3
0
0
4
0
0
2
-18
0
-59
-4
0
0
-9
-4
0
-10
0
0
0
-6
17
0
0
-11
8
0
2
-13
0
0
37
0
0
0
38
0
16
-18
0
0
0
-7
0
0
0
0
-2
0
12
1
-3
0
0
0
0
2
0
0
0
0
0
0
16
0
-4
0
-1
0
0
-8
0
0
0
0
-1
-1
57
0
0
2
-3
1
2
20
0
0
-9
0
0
0
28
0
-1
4
-6
0
-3
-17
0
0
0
0
1
0
-29
0
0
4
0
0
0
4
0
0
0
0
-6
0
-45
0
0
0
0
0
0
6
0
-1
-2
0
0
0
-10
0
1
3
0
0
0
-15
0
34
1
0
0
0
10
0
-2
-4
0
0
0
-3
0
12
0
0
0
0
18
0
4
1
0
0
0
41
0
9
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
-13
0
0
0
68
0
0
0
1
0
0
0
0
-4
0
0
-1
0
0
0
0
0
-5
0
0
0
0
0
3
32
0
0
0
0
0
22
0
0
-31
27
-6
0
-43
11
0
0
-3
0
0
-29
26
0
0
5
-3
0
2
-51
0
0
12
0
0
-17
-29
0
7
53
0
0
8
5
0
0
-2
0
0
0
-18
6
0
0
0
0
0
-37
0
0
0
-8
0
1
-64
0
0
-22
0
0
2
-8
0
0
25
0
0
1
22
0
0
-23
25
0
0
9
0
0
9
8
0
0
-32
0
0
14
1
0
-1
4
0
0
-8
0
0
0
-10
0
0
0
0
-2
0
-35
0
0
0
0
0
0
-17
0
0
0
-1
0
0
44
0
4
0
3
0
0
-2
0
7
-2
4
0
0
2
0
0
-7
0
0
2
-34
0
0
15
-5
0
0
-24
0
21
-1
0
0
0
-13
0
15
1
0
0
0
57
0
0
0
0
-6
0
-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
-14
19
19
3
4
19
-22
13
-86
10
-1
18
19
10
42
-15
15
0
30
10
-21
3
-25
-58
0
13
-8
-13
11
12
-48
-27
0
-13
-1
49
-3
-2
-4
-8
-29
3
2
7
3
-10
27
9
0
23
12
-2
-20
5
4
0
-8
-34
0
-17
-15
-6
-17
13
3
-5
-37
20
-10
68
2
5
18
-11
37
25
38
16
-5
-24
-4
10
-5
11
-1
11
-8
-39
0
-22
6
-20
8
49
15
0
37
4
24
-2
-7
3
-36
-8
-31
66
-2
-1
-13
36
14
2
10
-4
54
-16
-28
-8
-10
25
-35
-10
-15
16
8
15
-2
-19
62
19
16
-18
-37
20
2
-8
-33
-4
-67
-3
0
-5
-8
16
48
-4
-1
12
4
55
13
3
2
17
-1
8
-13
-4
-1
61
27
22
22
13
34
9
-2
1
-15
0
0
16
-66
-35
8
-38
-11
26
-13
-24
-38
-3
45
-40
-32
37
1
7
-1
35
-13
27
-32
-10
20
-35
-32
1
-20
26
31
-4
55
6
-12
-2
0
-37
5
-9
4
-4
-24
-9
6
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
-23
5
3
6
10
0
7
-37
2
0
0
34
1
17
1
-24
0
0
-4
0
7
0
-8
-23
0
0
0
15
0
11
47
-3
0
0
0
-9
-11
0
0
6
0
0
-15
-14
3
-12
-16
0
0
23
10
0
0
-9
0
-1
-4
-6
-1
12
14
0
0
30
-20
0
0
31
4
0
19
2
0
17
14
0
16
-2
-41
-7
0
5
0
26
0
-25
32
53
0
0
0
0
-23
4
0
0
0
-2
15
-2
0
24
20
0
23
50
-11
0
0
-4
3
-46
-10
-10
3
-4
-10
0
0
-28
9
0
-6
-19
-9
-4
-4
-11
-1
-11
22
0
-2
3
-37
0
15
-11
0
15
-1
11
-2
18
-2
0
6
0
24
0
0
0
0
-2
0
-6
0
7
0
0
8
-3
21
16
21
15
0
0
-9
-5
-3
0
-37
0
4
2
1
0
16
-1
1
0
0
18
0
-27
-17
0
-1
0
-27
0
-31
-36
0
0
-4
-32
-2
-7
5
0
-3
0
8
6
-18
-1
0
-12
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
16
0
0
-2
0
0
0
-14
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-16
1
0
0
-1
0
3
19
0
0
0
0
0
-33
0
0
13
-18
-3
0
-38
-28
0
-3
-4
0
0
3
-19
0
0
-10
-4
0
66
34
0
0
-10
0
0
0
-5
0
-13
-10
1
0
0
-3
0
0
0
0
0
0
15
0
-2
0
0
0
0
-26
-4
0
0
0
0
0
-32
0
0
9
4
0
-8
-45
0
0
-2
0
0
-20
3
0
0
54
-2
0
17
-1
0
1
-40
0
0
-2
5
0
0
27
0
0
-6
-35
0
0
-20
0
0
0
18
0
-3
0
0
0
0
-3
0
0
0
0
0
0
-51
0
0
0
0
0
0
20
0
2
0
0
0
7
-43
0
0
0
0
0
0
0
0
29
9
0
0
0
-58
0
0
17
6
0
0
-44
0
5
2
0
0
-3
2
0
0
0
0
0
0
-2
0
10
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
47
3
-16
0
-13
27
-2
46
9
-24
0
-1
-3
0
-2
17
-11
0
-11
-44
21
10
5
0
2
-2
12
0
-19
11
-6
-10
-22
8
-2
-15
17
0
-41
1
3
31
-13
-7
22
-36
-17
0
6
-7
-1
0
24
-49
-6
-9
6
-10
3
-11
15
-4
0
-8
-7
-37
0
-7
8
-26
-7
0
-12
0
8
-81
-4
-2
12
6
1
-8
35
8
3
1
4
-19
-3
8
59
-27
-18
6
-15
9
4
-31
18
-9
34
-43
-12
29
-3
-8
38
44
-23
4
6
-20
-21
11
-8
3
-17
14
51
-28
13
3
-1
2
-3
9
14
-24
34
-2
-16
27
4
2
6
-15
0
3
25
5
0
10
10
-2
6
2
-9
-9
-9
-6
5
-19
-8
50
17
-14
55
62
-17
0
-65
-38
51
56
3
-23
-2
11
-82
22
14
3
16
4
-47
-30
34
-22
13
-8
2
22
7
29
21
-1
10
21
-9
-56
26
7
10
-1
-29
-24
13
-1
46
0
5
26
-7
-15
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
-1
7
0
0
-2
1
0
0
0
0
25
0
0
1
0
0
0
22
2
9
7
2
0
-1
0
-3
-9
0
0
-3
0
0
94
-7
0
4
69
9
0
-7
51
0
1
20
0
0
10
-29
0
0
-39
17
0
-47
0
0
12
-43
-6
0
-20
36
0
6
56
5
0
0
-11
0
0
10
1
0
0
-48
10
14
0
0
0
0
-17
0
0
0
0
0
0
34
0
-3
0
-2
0
-12
0
0
4
10
0
0
-1
19
0
-8
-16
16
0
-52
-1
0
3
19
-10
0
27
0
2
4
22
-12
-2
2
-28
0
0
-25
0
9
0
-22
0
0
0
3
-3
0
-53
0
0
0
7
0
0
-8
7
0
0
0
0
0
4
0
-20
0
0
0
0
16
0
0
-3
1
0
0
8
0
-6
10
-2
0
6
-45
0
-12
-7
-1
0
0
0
0
-14
25
0
0
0
18
0
-1
-2
0
0
0
0
0
-4
-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
-20
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
-15
0
0
1
0
0
0
0
0
-18
-6
0
0
5
11
0
0
0
0
0
-6
31
0
0
-9
0
0
-18
-2
0
0
6
0
0
0
14
0
52
0
0
0
0
-30
0
0
0
0
0
0
-2
0
-4
0
0
0
0
-18
0
0
0
0
0
0
12
0
0
-3
0
0
0
-32
0
-1
0
0
0
2
6
0
9
0
4
0
0
8
0
0
24
0
0
0
4
0
0
-14
0
0
0
24
0
-8
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
6
0
2
0
0
0
0
36
0
0
6
0
0
1
-15
0
8
3
0
0
0
-3
0
0
0
0
0
0
14
0
7
0
0
0
0
-2
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
-19
17
0
0
4
0
0
0
7
0
0
0
0
13
0
0
1
0
0
0
0
0
-24
0
0
0
0
0
7
14
0
0
0
0
0
12
53
0
1
-8
-2
0
-31
-21
0
0
19
0
0
-1
-42
0
0
3
0
0
2
-31
0
0
24
0
0
0
22
0
7
3
4
0
0
15
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
-33
0
-1
3
0
0
0
21
0
0
5
0
0
0
-12
0
0
-2
19
0
0
-55
0
17
22
2
0
0
-30
0
0
-33
0
0
3
-35
0
0
-18
0
0
0
-18
0
20
8
0
0
0
-14
0
0
0
0
0
0
34
-4
0
0
0
0
0
-1
0
3
0
0
0
-1
-3
0
0
3
0
0
0
-36
0
-2
0
-1
0
2
11
0
0
-1
1
0
0
8
0
-4
1
0
0
0
-30
0
-4
-2
0
0
0
-60
0
-16
2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
16
7
-2
-19
-5
-28
6
-12
-2
22
110
-22
-1
18
13
-8
0
3
30
-1
-12
-7
8
-25
8
9
14
34
5
-4
0
-10
-24
23
59
33
-12
7
4
25
39
12
-4
2
-50
-35
6
-6
-2
-21
-2
-19
0
4
9
7
-2
3
4
-28
31
-1
15
18
-11
3
-10
-7
22
-2
-11
27
10
56
13
-7
11
-14
-31
36
-2
-29
-6
-11
-16
1
-37
-71
15
3
39
8
28
-29
-2
45
-7
38
-2
11
-50
39
13
12
22
-3
-10
-40
34
13
-3
-4
-22
-3
-42
12
39
-7
26
-17
6
34
-9
-9
6
39
0
6
14
13
46
26
11
-26
21
14
53
-15
-21
-7
-20
-45
-39
-2
17
13
7
-11
16
7
-49
-1
-35
21
16
16
5
10
4
-4
-7
-22
-17
-41
6
62
9
11
-4
32
-10
-11
16
25
-11
-52
-17
-72
-12
20
40
81
-23
-10
0
27
5
75
48
-13
-83
-8
52
10
48
5
-7
27
33
11
-32
-24
11
-13
-5
-26
42
-24
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
-42
0
0
0
-21
0
0
11
10
0
0
12
0
-21
0
0
-1
0
6
0
0
0
-46
2
0
0
0
0
9
-11
0
0
3
0
0
-12
1
0
-38
13
-2
0
49
-5
0
0
26
0
0
3
14
0
1
-38
0
0
12
-40
0
0
-2
0
0
-10
-34
0
8
37
0
0
-3
25
0
-1
10
0
-2
0
-33
0
0
0
0
0
0
-38
-6
0
0
0
0
0
-4
0
7
-20
0
9
-7
-14
0
2
-17
0
-3
4
-38
0
9
26
4
0
14
6
-3
0
27
0
20
-2
-27
-4
7
10
0
0
-1
7
0
0
-24
0
-1
-1
24
0
0
-7
0
-10
0
-31
-7
4
0
0
0
0
-41
-8
0
0
0
0
0
-23
0
-8
0
0
0
0
-9
0
0
-2
0
0
1
20
0
-8
39
-1
0
-7
22
0
-2
7
0
0
2
29
0
24
0
0
0
0
35
0
0
-2
0
0
0
-30
0
55
-2
0
0
0
8
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
77
0
0
0
-2
0
0
-1
2
0
0
0
-10
0
0
18
0
0
-13
0
-9
0
6
0
3
-14
0
0
2
0
0
-21
-3
0
6
5
-27
0
-20
-4
0
-2
7
0
0
-17
-25
0
0
-33
1
0
6
-42
0
0
16
0
0
33
5
0
-33
-2
23
0
0
6
0
0
0
0
0
0
-24
56
0
0
0
0
0
1
0
0
0
-2
0
0
-6
0
6
30
0
0
9
-5
0
0
16
0
0
-1
-9
0
0
24
13
0
19
-18
0
-3
-38
0
0
-2
31
0
-6
3
-7
0
17
-9
0
0
-7
0
0
0
2
0
24
-1
8
0
0
-31
0
0
0
0
0
0
6
0
0
0
0
0
0
18
0
1
0
0
0
0
-15
0
6
0
0
0
-8
-62
0
31
10
0
0
0
35
0
1
37
0
0
0
19
0
11
-12
0
0
0
1
0
-1
0
0
0
0
26
0
9
0
0
0
0
70
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
2
24
-1
-34
0
-1
-2
0
0
-59
-19
18
6
-37
2
-46
19
-1
5
-18
6
-3
-3
18
-50
-18
-8
-1
6
-12
-7
2
-10
8
-25
21
5
-7
-7
-63
-3
30
-22
-13
25
47
1
-11
2
-24
6
56
2
2
0
-8
4
5
-58
5
-7
1
27
15
21
-16
-12
0
-1
-28
-15
-20
-29
0
-2
-14
62
-17
-17
-11
-11
-44
-12
-17
-12
-40
-25
2
-69
-10
0
45
8
3
14
6
-10
35
-30
7
10
31
-35
4
-29
-8
17
-9
-5
-12
1
-6
39
30
0
18
-6
-14
10
23
25
-4
-2
7
0
24
-50
-4
-39
-20
0
-10
-29
21
-9
-26
25
0
8
-19
-4
-1
-8
-46
-60
-19
32
26
3
5
19
1
-12
-3
23
-23
23
22
7
-13
10
-14
-10
33
18
-22
22
-29
-7
21
42
38
-34
-7
-50
24
6
20
-20
-59
-2
-6
15
-14
-41
41
0
-11
-37
-21
1
61
-22
-3
-12
6
-15
-16
2
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
13
0
2
-7
0
0
51
4
0
0
0
0
-9
-18
0
0
-3
0
0
31
-12
0
26
11
-4
0
7
16
0
0
15
0
0
53
36
0
9
9
-3
0
2
-30
0
0
31
0
0
-27
0
0
-23
-15
2
0
0
36
0
2
-1
0
1
0
-18
0
8
0
0
0
0
-12
0
0
0
0
0
0
-15
0
3
-23
-2
23
6
-21
0
0
1
0
-3
1
1
0
0
-22
-2
-2
-3
44
6
0
-13
-1
-16
17
-39
0
-7
-44
1
9
-6
0
2
6
-20
0
0
8
67
0
4
0
1
3
0
-41
-10
0
0
-1
9
0
50
0
0
0
0
0
0
7
0
4
2
0
4
0
3
0
0
0
0
0
-3
26
1
50
0
0
0
0
-35
0
-2
10
4
-2
0
-52
0
25
-22
0
0
0
0
3
-6
-17
0
0
0
-32
0
-38
-1
0
-1
0
33
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
-1
0
7
-7
0
0
0
0
0
7
0
0
19
-1
0
0
-2
45
0
0
0
0
0
7
31
0
0
0
0
0
1
26
0
0
-4
0
0
-4
2
0
4
0
0
0
0
18
0
0
0
0
0
0
-19
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
11
0
0
28
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
2
0
0
0
-16
0
0
2
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-4
0
0
0
0
0
2
0
-7
0
0
0
0
6
0
0
0
0
0
0
-1
0
-1
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-30
0
0
0
0
0
-1
0
0
-8
0
0
0
45
-12
0
0
1
0
0
-1
-6
0
0
-1
3
0
-4
-19
0
0
-4
0
0
1
-25
0
-12
2
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
-2
0
0
-13
0
0
7
0
0
0
-6
0
0
0
0
0
0
-7
0
7
1
0
0
0
-3
0
0
4
0
0
-3
-68
0
0
0
0
0
7
-12
0
0
0
0
0
0
0
-1
0
0
0
-2
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
12
0
0
0
4
0
0
-2
8
0
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
66
-28
3
-15
-15
0
0
-10
4
-2
9
-1
-33
-3
-32
-4
-38
-4
0
0
-18
3
0
44
-17
0
1
-38
24
0
-30
5
1
-3
-59
-7
8
41
-2
0
6
-45
43
0
-28
-10
1
5
5
6
0
54
-2
-2
9
0
-1
4
17
-12
-3
-3
12
69
-40
0
-3
-2
-31
0
0
0
0
-2
1
0
0
19
0
-13
-12
6
20
21
6
-8
7
-18
0
18
-7
-9
-3
-10
4
-36
-2
23
0
2
-18
16
-54
0
33
18
-15
-20
7
41
0
-46
-15
8
6
-19
-7
-25
7
-15
-18
-2
-9
-3
38
9
33
-20
0
2
-20
-2
0
54
58
0
4
-19
0
0
4
-2
0
-12
-2
-20
-18
-21
-8
-24
2
0
-7
-25
55
5
3
11
0
-12
8
27
54
15
19
-3
20
23
3
-3
12
-5
0
4
-24
2
-65
17
-17
16
-7
-18
-56
18
0
-17
7
24
-1
-3
-23
0
-1
11
0
-8
-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
8
2
0
0
0
0
-6
0
0
0
0
0
0
0
0
81
0
0
0
0
0
0
-16
0
0
-15
0
0
-8
0
0
2
41
0
0
-7
-28
0
0
10
0
0
0
3
0
0
-2
0
0
-3
-2
0
0
-3
0
0
0
-33
0
-93
37
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-56
0
0
0
0
0
0
18
0
0
12
0
2
0
-58
0
0
13
0
0
0
45
0
0
-11
0
0
0
-31
0
0
-18
0
-1
1
-56
0
0
0
0
0
0
1
0
0
6
0
2
0
38
0
0
-3
0
-15
0
15
0
0
0
0
0
0
-27
0
0
0
0
0
0
-12
0
-9
-4
0
0
0
37
0
-2
0
0
-1
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-9
0
-4
4
0
0
0
-7
0
0
0
0
0
0
53
0
6
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
-12
0
0
0
0
0
0
0
2
0
0
0
0
0
48
-2
3
0
0
0
51
-25
0
0
8
0
0
21
-23
0
-34
-12
-38
0
-45
-3
-1
3
-20
0
0
53
6
0
0
-5
-9
0
8
-27
0
0
14
0
0
58
78
0
-5
-17
-6
0
1
9
0
1
0
0
0
0
-14
-3
-3
0
0
0
-2
12
0
0
0
-1
0
0
-48
0
-6
-1
0
0
5
50
0
11
-27
0
0
-19
35
0
0
63
-4
0
2
-3
0
-1
3
11
0
-30
18
0
-6
26
29
0
0
20
0
0
-36
0
0
-3
0
2
8
7
-4
0
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
-18
0
-3
0
0
0
9
12
0
0
19
0
0
0
38
0
-1
-15
-9
0
-2
-23
0
0
-60
0
0
0
20
0
-11
12
0
0
0
-5
0
4
41
0
0
-3
-4
0
-6
0
0
0
0
-36
1
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
12
0
0
3
0
0
9
-2
-7
0
19
0
-18
-25
0
0
17
-1
0
-34
-63
0
9
18
14
0
-20
2
0
3
48
0
0
-6
17
0
0
-15
6
0
0
-12
0
0
10
0
0
0
-8
0
-55
-6
-4
0
0
34
0
0
54
0
0
0
13
8
22
0
0
0
0
0
0
0
0
-6
7
0
-60
0
0
0
0
-26
0
-4
0
0
13
0
-1
29
28
0
-3
9
56
11
-3
20
0
-6
-21
-4
0
3
-41
-15
26
-12
10
28
8
-22
6
-16
-3
-1
8
0
14
0
-4
31
10
-92
0
4
-8
0
0
7
6
0
-16
2
0
0
-1
0
0
-42
0
18
0
0
11
0
14
0
0
6
-20
1
0
-24
0
-5
25
0
0
-7
-5
0
-24
-22
-12
3
0
1
0
38
20
3
7
-1
1
0
-18
11
3
1
0
13
0
12
2
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-12
0
0
39
24
0
-7
-2
-4
-2
-54
0
-10
-14
0
0
-12
-3
10
24
2
0
5
-14
-49
0
2
-12
0
2
7
0
-1
-14
5
0
-1
16
-9
0
-18
-7
0
3
-15
4
0
13
7
0
1
34
16
11
-17
0
24
20
17
13
29
0
-9
-16
1
0
24
0
2
-8
11
0
0
13
18
-6
-14
0
0
23
-16
-18
-42
-34
3
-2
-13
-1
-23
39
-28
-6
-9
-2
-37
-20
21
0
-6
-25
-54
-34
-26
-64
40
-6
-12
32
-5
-34
17
-9
9
-6
52
41
-29
-2
0
0
33
-22
9
10
0
-28
-9
0
0
17
-4
0
-8
-4
0
0
6
4
0
-18
0
-78
21
-12
-7
26
12
0
-9
-35
4
40
-4
-36
0
-9
-3
34
-6
3
14
-1
-24
15
15
17
-1
-48
2
36
-11
27
12
-1
9
-17
11
26
21
-16
0
0
0
-25
11
-1
26
4
-66
-36
0
1
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-12
0
0
0
1
0
0
-15
0
0
0
0
0
-7
0
0
10
33
0
0
-4
-26
0
0
-11
0
0
0
-3
0
0
2
2
0
6
-44
0
0
0
0
0
1
47
0
16
26
0
0
0
9
0
0
-6
0
0
0
20
-6
0
0
0
0
0
-40
0
0
0
0
0
0
29
0
0
0
0
0
0
16
0
0
10
0
0
0
-21
0
0
3
0
0
-1
-12
0
0
12
2
0
0
22
0
-4
3
-1
0
0
31
0
0
0
0
0
0
-9
0
0
0
0
0
0
26
0
0
0
0
0
0
-8
0
0
0
0
0
0
9
0
0
0
0
0
0
-11
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
28
0
-3
0
0
0
0
0
0
0
0
0
0
0
52
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-4
0
0
0
0
-11
0
0
0
0
0
0
-5
0
0
0
0
0
-2
-5
0
0
-1
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
-15
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
-2
0
0
22
-76
0
-11
-17
0
-37
-19
0
0
-18
-6
-9
11
9
0
18
1
-28
1
11
-28
0
-3
-36
0
0
-38
-7
0
0
0
12
0
-33
-1
0
6
21
0
0
7
2
0
-16
2
3
0
3
-4
0
0
0
5
8
0
21
-44
25
0
0
0
0
15
52
0
0
-2
-34
-14
-7
0
0
-26
57
-6
-11
-14
0
0
-25
-4
-1
-17
-39
0
9
31
-10
-19
16
2
7
36
-23
16
-24
15
10
-6
-4
14
2
-39
0
4
0
0
0
8
-36
0
16
8
1
0
-20
-65
0
-16
-21
0
0
7
1
0
22
0
0
0
-3
0
0
21
0
19
22
0
-27
-4
-13
0
-11
-16
2
45
-16
-5
0
-2
43
0
37
-2
-64
0
-7
-21
0
28
0
-36
0
39
3
38
-32
0
2
0
0
0
20
41
0
-2
0
-65
0
2
-28
0
19
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
-4
0
0
0
0
0
-1
-35
0
0
12
0
0
-10
1
0
29
-15
0
0
18
-42
0
0
-43
0
0
1
2
0
0
5
0
0
3
29
0
0
1
0
0
0
-1
0
-20
-3
0
0
0
23
0
0
-6
0
0
0
-4
10
0
0
0
0
0
10
0
0
0
0
0
0
18
0
0
12
0
3
0
-30
0
0
0
0
-1
0
-47
0
0
25
0
11
-2
-61
0
0
56
0
-3
0
-58
0
0
11
0
0
0
4
0
0
1
0
8
0
1
0
0
0
0
5
0
-2
0
0
0
0
0
0
52
0
0
0
0
0
0
18
0
0
0
0
0
0
-43
0
0
3
0
0
0
7
0
9
-2
0
0
0
4
0
0
-6
0
0
0
9
0
-1
-1
0
0
0
-15
0
0
-7
0
6
0
21
0
-6
0
0
4
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
45
-23
0
0
17
0
-6
5
-15
19
9
12
0
-1
9
0
6
-4
-2
0
-9
6
0
-10
-32
-12
0
-17
-2
9
-7
-11
14
0
9
8
0
-21
-11
41
0
13
-6
0
-3
10
-12
0
16
-3
0
15
8
17
0
20
-14
42
2
-30
-3
0
0
-10
-70
8
3
14
0
0
-16
-59
7
35
50
0
5
19
0
9
41
-32
2
-1
3
0
4
5
-18
0
13
4
35
42
1
-18
-11
-5
13
27
97
15
7
0
43
15
4
19
18
10
0
20
19
0
16
-3
9
0
60
-52
16
19
-18
20
0
0
-29
-33
-1
13
-2
0
0
-20
-36
0
2
-13
0
-5
-7
2
-27
-19
8
0
-33
-10
27
-11
-23
-58
0
9
7
-12
-41
7
-6
0
21
-4
-6
-18
22
7
0
32
-1
0
31
-9
2
0
-33
51
3
20
11
22
0
-24
-26
-1
-53
3
3
0
0
0
34
111
-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
-22
0
0
0
2
0
0
-41
0
0
0
0
0
0
0
0
6
3
0
0
0
-5
0
0
0
0
0
0
3
0
0
0
0
0
0
-10
0
0
0
0
0
0
12
0
1
0
-3
0
0
3
0
0
0
0
0
0
-20
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-2
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
4
0
0
9
0
0
-32
0
0
-1
0
0
-19
-20
0
-2
-18
2
0
-17
26
0
0
16
0
0
2
-46
0
0
16
8
0
31
-14
0
0
-21
0
0
1
17
0
-52
-5
0
0
0
-17
0
0
-6
0
3
0
0
0
1
0
0
0
0
-12
0
0
0
0
0
0
-9
0
0
1
-10
42
-2
11
0
0
8
0
7
0
-6
0
0
51
1
16
3
-44
0
0
44
1
-1
0
35
0
0
5
0
3
-1
26
0
0
0
0
-22
0
-31
0
0
-1
0
-2
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-33
0
0
0
0
0
0
14
0
0
-7
0
0
0
-11
0
15
7
0
0
0
-7
0
2
0
0
0
0
-18
0
18
-12
0
0
0
0
0
0
0
0
0
0
-95
0
-8
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
4
11
-4
0
-1
0
-16
-10
0
0
44
0
0
30
-16
0
30
10
-48
0
-40
3
0
-1
22
0
11
-71
-12
0
0
-7
-10
0
-23
-7
0
3
-2
0
0
-2
1
0
-39
-25
13
10
16
23
0
0
-34
-6
8
0
-52
0
39
-1
0
0
0
0
-4
0
0
-12
-3
0
0
0
0
-18
14
-54
5
19
0
0
-33
0
15
46
0
0
-1
-37
55
-23
3
-20
0
-2
-13
20
13
1
-10
2
2
28
5
-13
-1
18
0
-9
-37
0
-43
0
10
0
-4
15
-6
4
0
-36
0
0
0
0
-49
0
-19
-1
0
0
0
0
0
6
0
9
0
0
8
0
-2
0
0
28
-10
7
4
7
0
13
6
-11
0
0
3
0
1
-14
-4
0
0
-4
0
11
3
6
0
0
-4
0
-14
-2
6
0
0
27
8
14
-11
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
-3
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-1
5
0
0
0
-16
0
0
0
0
0
0
-25
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-19
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
-34
0
0
0
0
0
0
-2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
9
4
0
0
7
-18
0
0
3
0
0
0
-37
0
0
0
0
0
0
-15
0
0
0
0
0
0
20
0
10
0
0
0
0
-1
0
0
0
0
0
0
-39
0
0
0
0
0
0
25
0
0
0
0
0
0
2
0
0
0
0
-3
0
-3
0
0
0
0
1
0
2
0
0
0
-6
0
0
35
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
33
0
0
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
1
0
0
0
6
0
0
2
0
0
0
-4
0
0
2
4
0
0
0
0
-6
0
0
0
0
-1
0
0
0
0
0
0
8
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
24
0
0
-1
0
0
36
4
0
0
-2
-38
0
0
-8
0
0
-6
-9
0
0
-7
-3
0
0
-69
0
0
-10
0
0
-3
20
0
-4
-5
0
0
0
0
0
0
0
0
0
0
-2
7
27
0
0
0
0
47
0
0
0
0
0
0
-13
0
-4
0
0
23
0
-26
0
0
4
0
10
0
-24
0
0
-3
0
0
0
-19
0
0
-3
0
1
0
-5
0
0
49
0
0
0
-107
0
0
21
0
29
0
-8
0
0
0
0
-150
0
17
0
0
0
0
0
0
-7
0
0
0
0
0
0
53
0
1
0
0
0
0
-58
0
21
0
0
0
0
63
0
-9
0
0
15
0
-10
0
0
0
0
2
15
-8
0
-9
0
0
0
0
21
0
0
1
0
7
0
-27
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
2
18
-27
13
0
0
0
22
-16
0
0
6
0
0
23
32
0
58
22
-29
0
-17
5
2
0
-31
0
0
7
25
0
0
-1
3
0
5
-18
0
0
22
0
0
-1
-16
0
9
-39
0
0
4
-65
-2
0
4
0
0
0
-14
-4
3
0
0
0
0
20
0
0
0
0
0
6
8
0
0
0
1
0
4
21
0
0
31
0
0
55
43
0
1
-25
65
0
-30
-14
0
0
11
0
0
-11
-22
2
-11
24
8
0
7
-10
0
0
52
0
2
0
-25
0
9
-7
30
4
0
-19
0
0
0
0
0
0
-2
0
1
0
7
0
1
15
0
-1
-1
0
0
2
21
0
0
5
0
0
0
11
0
-9
-7
6
0
0
-32
0
-2
5
-1
0
0
6
-2
14
0
0
0
17
-16
0
-2
0
-24
0
0
17
-3
-28
0
0
0
0
35
-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
15
0
0
0
0
0
0
2
0
23
0
0
0
0
5
0
0
0
0
0
0
-50
0
0
-7
0
0
0
-33
0
0
0
0
0
0
1
0
3
0
0
0
0
-4
0
0
0
0
0
0
-5
3
0
0
0
0
0
-20
0
0
0
0
0
0
-9
0
0
0
0
0
0
-33
0
0
7
0
0
0
-2
0
0
0
4
0
0
56
0
0
-2
0
0
0
38
0
0
-3
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
-14
0
35
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
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
-8
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
7
-4
5
-28
21
36
-10
4
10
4
-7
20
-12
25
5
1
17
-2
15
-7
-57
24
-2
-11
-27
16
-16
-2
13
-2
4
0
3
0
-19
24
-15
22
-8
6
-12
-18
12
-4
-47
-27
3
20
23
11
-9
32
13
24
7
1
-13
0
52
-50
-7
1
-21
-7
0
-48
-3
-28
-2
8
0
10
12
-48
-25
-2
-5
-5
5
-24
-7
24
-16
2
11
15
-14
-25
16
-32
-1
32
2
25
5
-7
-1
10
10
4
-20
22
14
10
1
-26
-3
-20
-4
-7
-6
11
-76
-18
39
-48
-23
-19
43
-3
0
-1
-35
27
-15
-99
15
9
25
3
27
-31
37
-35
-5
42
-30
-6
-17
5
63
11
7
-8
-43
-12
38
33
36
-64
29
-23
-38
12
-50
11
-4
-13
43
9
-42
43
18
16
-7
-8
-35
-25
-8
-2
14
-2
-11
4
10
12
-3
-34
17
1
-9
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
53
-9
0
0
13
-1
0
45
-10
0
0
-38
14
0
-15
3
0
0
24
0
0
53
10
0
0
5
2
0
-29
-25
0
-1
12
0
0
12
-41
0
31
4
-1
0
-44
-36
0
0
25
3
10
0
11
0
-2
0
0
0
0
-12
0
0
0
2
1
1
9
0
0
5
-4
-14
7
18
0
0
35
-12
27
1
5
0
0
-6
66
59
3
-19
-2
16
-11
-4
-7
0
10
0
20
-32
-9
-3
-3
-22
0
-4
27
1
8
0
-39
0
0
1
-9
-33
0
2
0
0
0
-1
8
0
32
0
0
0
0
0
0
-4
0
-8
-1
1
-4
0
-27
0
0
23
-12
11
-2
48
0
15
29
2
-8
0
-45
0
1
16
4
0
-1
17
0
-32
5
0
2
0
17
0
-9
-4
0
0
0
13
0
-40
0
0
11
0
10
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
-15
-12
0
0
-5
0
0
29
-2
0
0
20
-26
0
-16
-12
0
0
-10
-9
0
1
-11
0
0
16
8
0
12
-32
0
0
20
-16
0
0
-52
0
6
9
-4
0
-8
-62
0
0
-35
0
3
0
13
0
0
0
0
0
0
-30
0
0
0
0
0
9
35
0
0
-6
3
-22
1
-4
0
0
-3
0
37
0
4
0
-9
6
0
21
0
-14
0
0
-23
-8
-31
0
-1
0
0
-9
68
4
0
-28
0
4
2
0
-1
0
7
0
0
0
0
-27
0
12
0
0
0
0
0
0
-13
0
0
0
16
0
0
10
0
0
0
4
0
0
-54
0
-1
-1
0
0
0
-22
0
0
-4
-2
0
0
-7
0
0
-18
-1
0
0
21
0
15
2
0
7
0
-44
0
1
-1
0
8
0
-80
0
4
0
0
-4
0
15
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
1
0
0
-59
0
0
0
-7
-7
0
0
2
0
0
-3
11
0
0
6
0
0
27
-33
0
0
31
0
0
0
-46
0
19
0
0
0
0
-19
0
0
0
0
0
0
-19
0
11
0
0
0
0
-61
0
0
0
0
0
0
-1
0
0
0
0
-7
0
24
0
0
0
0
0
0
-1
0
0
0
0
0
0
11
0
0
35
-18
-4
0
-9
0
0
-6
0
6
0
25
0
0
0
0
-3
0
8
0
0
0
0
-13
0
-25
0
0
0
0
0
0
-35
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
15
0
0
0
0
-10
0
0
0
0
0
0
13
0
0
0
0
0
0
-39
0
0
1
0
0
0
17
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
-3
5
-106
0
-5
-33
0
0
7
-32
0
0
-31
0
1
17
-27
0
0
-15
0
0
-14
26
0
0
3
0
0
10
-17
0
-2
-24
0
0
5
-48
0
0
-8
0
-1
0
-27
-13
20
0
0
0
0
21
0
0
0
0
-12
20
30
0
0
16
0
30
36
-28
0
8
2
0
33
-1
-31
0
-1
-44
0
15
14
-36
0
-1
-10
0
14
33
31
11
-4
-17
0
-12
-3
-7
0
0
47
0
-9
10
-47
0
0
22
0
57
0
-15
-9
0
0
0
2
0
1
0
0
0
0
0
-6
-6
0
-13
-6
0
9
4
-36
0
-1
-20
0
4
0
6
0
23
31
0
17
0
0
0
0
58
0
-1
0
3
0
-32
62
0
0
0
-5
0
2
44
0
-7
0
6
-1
28
49
0
-32
0
-11
-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
6
0
0
0
0
0
0
0
0
0
-1
0
0
-2
-25
0
0
0
0
0
0
7
0
0
0
0
0
0
-38
0
0
4
0
0
0
-18
0
0
0
0
0
0
-17
0
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
10
0
0
0
1
0
0
0
0
0
0
4
0
0
-11
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
40
0
-34
-9
-1
-3
26
26
0
0
14
0
0
-22
-2
0
3
5
-4
0
9
-12
0
0
16
0
4
-56
-4
0
-17
-46
6
26
23
-26
3
0
1
0
8
0
37
-37
-21
0
0
0
0
12
8
0
0
0
15
0
8
0
0
-3
0
-12
0
10
0
9
-11
0
-32
-3
-9
0
8
24
-56
-4
2
-29
0
-4
-17
23
-53
1
-13
8
-17
-25
8
-4
-20
1
0
-3
23
-1
2
0
-14
3
0
10
2
7
0
34
6
0
0
0
57
0
-11
7
0
0
9
0
0
-9
1
-33
0
0
-1
0
-6
0
0
-55
14
2
0
6
0
-1
-34
0
3
0
8
0
13
-26
-20
-6
-1
11
0
-40
56
1
4
12
21
-1
5
-12
-4
-39
0
-4
0
-1
0
0
61
0
23
22
1
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-6
2
-2
-4
-14
-5
-6
-9
-40
-21
-14
-76
-19
-12
11
-33
36
2
-20
26
11
-1
-25
-18
-8
-17
-61
-21
1
-55
-9
-6
11
5
-21
-6
-12
-23
-20
-27
12
4
-8
19
10
-32
76
-25
-16
-13
-69
-30
12
4
9
-42
0
25
-35
25
-38
4
-2
-5
-36
41
25
10
28
-12
-2
1
-21
-10
-54
20
-7
1
-54
3
-8
1
-10
0
-12
2
9
14
-16
36
-22
10
-30
21
2
-26
2
-3
1
27
-34
-17
-22
13
-2
7
-18
1
-42
8
-19
7
-16
8
1
-44
-56
9
-15
0
2
35
-39
-11
38
-36
-8
-10
64
-18
14
-7
-17
-18
-88
-19
23
-51
13
-34
-9
-7
-50
-20
7
-10
0
4
23
-7
15
10
51
3
4
-1
14
-14
-1
-24
-34
11
-17
4
-40
-47
-5
6
10
11
8
-31
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
16
-33
0
0
1
0
0
0
17
0
0
9
0
0
0
-18
0
0
0
0
0
0
-9
0
-1
7
0
0
0
13
0
0
0
0
0
0
30
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
-48
0
0
0
0
0
0
-7
0
0
0
0
0
0
-23
0
0
0
0
0
0
-4
0
0
18
0
0
0
8
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
-7
0
0
0
0
0
0
3
0
0
0
0
0
0
27
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
4
0
0
-2
0
0
0
0
2
0
0
1
0
0
0
-13
0
0
0
0
0
0
-16
0
0
0
0
0
0
6
0
-3
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
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
-12
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
10
0
0
0
0
0
0
3
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
19
1
-5
-3
0
0
-2
-13
0
11
0
-3
0
-31
14
0
1
-37
-45
0
-1
-8
0
-5
-41
16
0
-14
-13
0
-4
-33
-10
3
56
-10
0
0
-18
2
-25
0
9
-31
42
0
0
1
0
-7
10
0
0
0
65
-8
21
0
0
0
3
23
0
20
0
0
2
1
6
5
18
0
-28
-22
30
3
2
9
12
22
-20
25
59
-14
-28
4
-7
34
18
-3
36
-3
6
0
-7
30
-2
0
15
0
18
30
-2
32
0
18
1
0
0
15
-38
0
-2
-23
0
0
-8
0
0
44
0
39
0
-3
7
-1
-12
18
0
0
29
-5
-1
-13
0
-16
-13
8
-1
0
-30
0
21
34
-15
10
7
8
-10
-21
-14
8
-4
0
-14
-6
0
-2
-1
-6
0
-1
0
-7
3
-5
2
0
21
-16
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-78
2
0
0
-1
10
0
0
1
0
0
0
7
0
0
-1
0
0
8
0
0
0
-7
0
0
0
3
0
7
-7
0
0
0
26
0
0
-7
0
2
0
29
-1
2
0
0
0
0
-45
2
0
0
0
0
0
9
0
0
-9
0
-24
9
16
0
0
-8
0
6
0
6
0
0
-3
1
-3
4
-16
0
0
-2
0
0
0
6
0
0
11
0
19
0
4
0
0
-11
0
-1
0
6
0
0
0
0
-46
0
-38
0
0
0
0
0
0
51
0
0
0
0
0
0
-62
0
-1
0
0
0
0
-10
0
0
0
0
-3
0
-1
0
-22
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
-16
0
25
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
3
0
0
-47
4
0
0
2
-4
0
0
-6
0
0
7
-61
0
0
10
0
0
0
12
0
0
3
0
0
0
-49
0
-22
-9
0
0
13
-4
0
0
-6
0
0
0
-8
0
0
0
0
0
0
-66
0
0
0
0
0
0
25
0
0
0
0
0
0
95
0
0
-2
0
0
0
14
0
0
-1
34
0
0
-13
0
0
-2
0
0
0
-9
0
0
-1
0
0
0
11
0
0
7
0
0
0
-1
0
0
-1
0
0
0
-17
0
0
0
0
0
0
7
0
0
0
0
0
0
40
0
8
0
0
0
0
-18
0
0
-3
-12
0
0
-4
0
0
3
0
0
0
2
0
0
10
0
0
0
0
0
-7
-2
0
0
0
28
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-4
-10
-6
1
33
-5
0
10
-15
-76
-16
-29
15
0
-1
5
3
0
-35
-6
0
5
2
-60
-1
3
10
70
7
-40
16
76
0
5
-2
28
0
-3
4
0
-10
-11
0
-1
0
20
0
14
-1
36
8
32
30
-4
14
0
17
-7
52
47
2
25
-11
4
-11
-5
-10
-40
20
26
36
16
72
11
24
6
1
-25
-12
18
-12
24
-4
-3
54
19
1
19
0
-2
2
6
-20
-7
7
1
10
6
5
0
15
-2
0
25
-26
6
0
4
0
-4
-2
3
20
64
-3
18
14
-27
-9
17
-37
6
-35
9
-2
1
-26
-22
20
1
5
-15
9
33
45
5
-20
1
-20
3
-19
-52
48
-13
0
-20
3
13
21
-32
46
-3
5
4
-16
36
-10
-5
0
5
-8
-11
4
-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
18
19
0
-2
31
-8
0
-7
-22
0
1
2
23
0
28
9
0
0
-2
0
9
54
-4
2
-19
-21
-15
0
23
-15
0
0
-8
-1
-18
0
16
45
-25
0
0
0
0
19
3
0
1
0
-10
47
14
0
0
-17
-44
-15
14
0
1
49
-15
2
-22
7
29
0
28
-6
-29
31
30
13
1
-8
-2
-39
4
10
9
-1
-2
8
-38
0
2
-25
-4
-10
45
-4
-3
8
-40
1
4
-10
-29
20
0
22
-3
0
0
0
5
0
-19
4
0
0
0
0
1
-28
0
24
0
-7
-2
1
0
0
-2
-5
1
-3
-8
-13
0
-13
61
7
6
6
-4
0
-12
-45
40
-1
-38
-28
0
-2
14
-10
1
0
9
2
-6
-5
34
35
1
9
0
22
0
0
-55
0
48
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
-21
0
0
-4
-1
0
0
-35
0
0
0
0
0
0
-66
0
-21
8
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
8
0
-6
0
0
0
-2
0
0
1
0
0
-1
0
0
0
6
0
13
-2
0
0
0
17
0
0
0
0
-15
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
1
0
0
0
0
0
17
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
0
0
0
-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
-32
-21
-56
19
-5
-21
-1
-31
6
-2
-4
8
-17
20
-3
-2
-33
29
-6
40
-8
2
13
20
22
0
1
33
13
-12
0
-40
16
-8
-9
-3
12
-10
-45
0
-1
0
-1
7
-38
-4
1
-63
-27
-27
-9
11
-6
6
-35
11
-8
-32
0
8
20
-91
-4
26
0
-39
-22
2
-14
21
-8
6
42
-56
-20
4
5
9
11
-32
16
24
-22
-13
9
3
15
57
-3
-42
22
-2
14
41
30
14
28
4
34
16
-37
-17
-23
-28
10
-1
-2
10
2
-12
-47
-23
-27
-2
-32
-2
-19
-17
-5
1
-4
30
38
22
39
19
13
-25
-7
20
0
-33
-3
6
-9
51
-23
13
12
53
-58
-17
-49
4
33
-45
46
-14
5
18
40
6
-9
-3
13
0
9
-16
-13
-33
1
3
-1
-45
-15
-11
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
9
-3
15
6
23
-11
1
-55
4
0
22
-31
-6
9
24
28
0
8
-2
-48
-2
-56
17
0
-4
-1
1
-6
20
8
10
4
-13
-22
-15
6
9
-48
-28
0
-49
-2
0
22
-16
-6
2
-44
18
40
-13
-3
-12
0
7
8
-4
7
0
-23
12
23
37
-15
5
-35
-4
-27
12
-35
-19
-5
0
1
18
-22
38
-30
10
2
2
0
-28
38
-29
11
-4
15
-16
6
-8
8
7
10
17
4
32
34
-3
13
-19
1
-2
3
27
0
1
-35
0
0
-5
16
0
0
-13
-27
1
3
30
-10
12
-1
-11
-11
-61
86
12
-20
6
-30
14
-3
5
-9
-6
-1
-5
-16
14
-11
31
-1
0
-14
15
-7
-15
61
1
27
63
1
-18
14
0
-7
0
-11
-18
7
-7
0
-3
-57
6
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
21
6
0
0
-16
0
0
-17
-30
0
6
-28
0
0
7
-10
0
0
-25
0
0
-36
-16
0
20
24
0
-1
44
-31
0
-1
-2
0
-21
0
8
9
-51
0
0
0
0
3
-9
0
0
0
3
10
-18
0
-1
22
0
-20
3
-18
0
0
5
0
-53
-43
-11
0
-12
-11
-1
10
10
-7
0
-7
36
-21
-23
0
-23
0
1
8
-2
-7
65
-2
0
21
31
-1
-1
-13
-11
22
-6
-14
0
-6
0
23
0
4
0
-4
-39
0
5
-41
0
0
0
8
0
-10
0
52
-9
0
44
11
4
0
7
-20
0
6
3
-21
0
-25
31
0
-8
0
1
-1
12
12
0
23
0
-33
0
23
28
8
1
0
-24
0
0
81
0
41
11
0
0
48
-11
0
26
0
8
20
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
-53
0
0
-2
0
0
-1
-11
0
0
0
0
0
0
-6
0
-2
4
0
0
0
-38
0
0
0
0
0
0
-4
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
6
-16
0
0
0
2
0
0
14
0
0
4
0
0
0
-7
0
0
1
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
-45
0
0
0
0
0
0
-16
0
0
0
0
0
0
-8
0
0
0
0
0
0
-27
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
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-23
0
-4
0
20
14
-47
22
1
9
10
-3
-44
-53
18
0
-9
3
-27
8
38
-13
-12
-2
59
9
28
0
9
38
-26
2
-2
-8
1
-13
27
-4
0
10
7
9
-10
-27
-24
-2
5
36
46
21
0
50
-16
6
14
11
8
-1
74
-11
18
1
-10
-27
-19
-19
-16
-22
40
-29
4
11
-33
-24
-1
-15
14
16
-12
-9
-4
0
19
68
14
18
-50
1
0
37
0
17
-12
14
-1
0
-17
0
-9
-48
-1
7
28
15
-14
-3
4
35
-27
1
-11
16
13
0
7
7
60
1
23
18
-2
8
-35
31
-11
0
-2
13
18
-15
8
6
20
7
0
15
12
-1
-9
-25
16
-9
-7
-31
-78
3
6
17
-17
-39
68
0
6
0
3
15
-14
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
35
7
9
4
9
-6
-63
-21
27
30
-37
26
-2
2
16
-13
-1
1
5
-13
-13
27
-9
23
-14
13
23
-1
-8
-3
-15
-20
-4
28
-18
-35
1
17
-10
23
-36
-6
-33
-7
15
13
5
-15
2
-3
-6
-31
16
-29
-4
-18
-67
0
44
-45
7
-21
-47
-26
7
-28
32
4
15
31
-14
7
-52
-65
-22
-1
12
0
7
91
17
-13
-13
2
26
-26
28
-8
-12
16
12
12
-2
-19
-53
-18
15
1
-41
-4
9
-47
-29
10
14
-2
-11
-50
1
-38
6
-6
9
15
-15
-90
-2
-31
-9
18
0
31
11
9
47
-3
-24
-10
-13
9
1
0
-28
-34
-9
-9
37
-1
-6
10
-33
3
-16
-15
2
-15
-13
50
-7
-29
-8
-17
18
-41
7
-12
13
26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-27
0
0
19
0
0
-2
-33
0
0
0
0
0
0
-15
0
-6
0
0
0
0
4
0
0
0
0
0
0
-64
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
15
0
0
0
0
0
0
-16
0
0
-1
0
0
0
26
0
-3
-2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
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
-24
-18
0
0
26
3
0
0
29
0
0
-3
0
1
0
-44
0
23
12
0
0
-1
71
0
0
0
0
0
0
6
4
0
0
0
0
0
-27
0
0
0
0
0
0
29
0
0
0
1
0
-1
-8
0
0
0
0
-6
0
4
0
0
0
1
0
-2
-18
0
-3
-11
0
-8
12
34
0
0
-15
0
0
-1
2
0
-1
-7
0
-9
-8
12
0
-4
0
0
29
0
-84
0
0
0
0
0
0
1
0
0
0
0
0
0
35
0
0
0
0
0
0
-58
0
0
9
12
0
0
18
0
-3
0
0
0
0
6
0
0
10
-1
0
0
-14
0
0
18
0
0
-4
40
0
2
0
0
0
0
-13
0
-2
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
-5
-29
-4
36
-10
10
-7
-10
17
0
18
-20
-1
0
7
28
0
10
2
8
0
-3
-6
2
-8
2
-1
-27
0
14
-23
-20
0
7
0
0
24
-36
3
0
0
-1
-37
-4
0
-5
36
-16
19
9
-1
4
-14
-6
-2
16
-40
-17
0
18
-20
-2
31
6
1
-10
-4
-14
1
64
-49
-9
-4
6
-9
-59
3
1
10
0
0
-40
-2
31
40
-12
-7
34
-8
26
1
0
25
-25
1
0
7
6
0
0
-2
7
0
45
0
-21
10
0
-43
23
-1
14
32
7
0
-3
2
65
-80
1
-6
0
24
54
-2
2
-32
-15
3
9
6
48
-2
-67
-5
-8
0
9
-6
0
0
21
0
39
-37
9
-23
12
3
3
13
25
0
21
0
30
9
10
-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
-18
0
0
0
0
0
0
-55
0
0
7
0
0
0
-19
0
20
0
0
0
0
4
0
0
12
0
6
0
-10
0
0
0
0
0
0
3
0
0
0
0
0
0
-51
0
0
0
0
7
18
37
0
0
-1
0
0
0
34
0
0
1
0
0
0
6
0
0
-2
0
0
0
-12
0
0
6
0
0
0
-21
0
0
0
0
-9
0
11
0
0
0
0
7
0
-58
0
0
0
0
0
0
-8
0
0
0
0
0
0
16
0
4
0
0
0
0
-30
0
0
-3
0
0
0
-6
0
-12
0
0
0
0
0
0
0
0
0
0
0
22
0
9
0
0
0
0
11
0
0
0
0
0
0
-28
0
0
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
6
8
0
3
0
0
0
-6
11
0
0
-3
0
0
0
17
0
-43
2
0
0
0
3
0
0
0
0
0
0
-14
0
0
0
0
0
0
19
0
0
0
0
0
0
32
0
0
0
0
0
0
39
0
0
0
0
0
-3
-2
0
0
3
0
0
-6
58
0
0
7
0
0
0
17
0
0
6
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
0
2
0
0
0
0
9
0
0
0
0
0
0
-14
0
0
0
0
0
0
4
0
0
1
0
0
0
-3
0
-3
-4
0
0
0
-16
0
0
0
0
0
0
-16
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-4
3
0
7
43
0
13
18
2
-3
6
-33
-1
3
-8
0
69
0
-25
-4
54
0
1
3
0
-34
-33
0
1
-6
3
41
-9
0
-25
1
9
-34
8
12
0
2
13
1
49
-16
3
-2
-5
-15
-5
-3
13
-9
0
42
-12
0
-1
16
-12
0
7
-3
4
25
-11
5
0
-12
40
1
-14
-3
-12
-1
-2
-7
6
12
0
-24
0
28
0
3
0
10
-26
4
0
0
9
0
7
-17
0
7
0
0
-10
0
-17
0
19
24
-4
-4
27
17
0
-5
-23
0
-11
0
14
-1
15
-36
14
0
0
25
0
66
-47
0
0
-3
-31
0
19
-31
-13
0
0
-20
0
-52
7
0
-11
0
-39
-13
2
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
-17
-11
2
27
19
20
-39
-4
9
-28
-69
-13
36
-21
-7
22
-35
-7
-5
4
-20
11
5
-16
-24
25
-2
51
-61
14
51
-6
-14
11
25
-39
19
-9
-6
-4
-5
-32
-2
17
-15
7
-22
8
-38
-3
-13
-10
-3
3
0
9
11
17
26
-3
-35
16
2
-10
-24
14
-3
1
0
-34
11
-13
15
14
21
-2
20
-51
17
9
1
-9
0
-52
-7
1
-30
-13
-37
-15
12
6
-37
-39
-10
-9
-5
3
4
-20
-40
-17
45
14
64
41
-12
-39
-10
-19
8
-45
-4
9
-5
-27
4
0
9
19
31
3
53
-14
-1
-33
-16
-15
-27
28
-55
12
54
0
1
28
-21
-43
-1
-34
-24
22
15
5
16
-9
-44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
10
0
0
0
0
0
0
-11
0
0
-1
0
0
-1
5
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
-27
0
0
0
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
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
-19
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-19
0
0
-3
0
0
0
5
0
1
-6
0
0
0
23
0
0
0
0
0
0
13
0
0
0
0
0
0
-47
1
0
0
0
0
0
16
0
0
0
0
10
1
4
0
0
1
0
0
-3
-28
0
0
0
8
-1
0
30
0
0
-1
0
0
0
16
0
6
11
-1
0
0
-113
0
0
0
0
0
0
6
0
0
0
0
0
0
-34
0
0
0
0
0
0
20
0
0
0
2
0
0
-7
0
0
0
0
0
0
6
0
0
0
0
0
0
18
0
-3
0
0
0
0
-42
0
-1
11
0
0
0
-9
0
6
1
0
0
0
-1
0
0
-6
0
0
0
5
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
-23
-32
-1
31
-39
-3
-1
9
20
0
-9
33
-53
13
-26
-4
19
17
-27
24
13
0
21
-38
2
0
13
4
0
6
-36
0
0
21
-19
-21
-2
7
-20
31
-2
0
13
-14
5
0
-5
-1
16
55
9
-7
8
-27
4
-30
15
24
2
0
-4
6
3
10
4
42
40
-4
40
-17
19
-6
0
-35
-6
-9
-3
8
-15
9
-33
3
38
-17
0
21
7
-1
0
7
28
0
13
72
0
13
27
0
-7
9
9
9
24
9
45
-18
-19
0
35
12
-20
8
-10
-5
23
30
-12
60
9
63
-7
59
19
-7
13
0
34
5
19
19
-37
-4
-37
-13
14
3
13
12
7
-19
16
-14
2
4
-5
14
5
0
-1
40
-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
3
-14
0
1
20
0
4
18
-6
0
26
-39
0
-8
-7
-22
2
0
-1
0
-12
0
-3
-48
-4
0
0
0
0
0
15
0
0
0
0
0
-18
0
1
16
0
21
-17
11
0
-3
16
0
22
-50
29
0
-2
26
0
-18
25
-1
0
-8
37
0
0
10
21
0
-7
38
0
-7
-2
-24
-3
-7
12
0
45
0
14
0
18
-7
0
4
0
2
0
-10
0
0
-1
0
-33
7
0
0
0
0
0
-4
0
-51
1
0
0
-10
31
0
-1
29
0
0
-1
-25
-2
2
-32
1
0
2
3
0
-10
-77
10
0
-2
7
-2
23
-15
0
0
0
-19
6
-1
9
0
6
0
9
0
-21
3
0
-12
0
5
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
6
48
0
0
-2
0
0
-3
15
0
22
0
0
0
0
2
0
0
-1
0
0
0
19
1
0
0
0
0
0
11
0
0
0
0
0
0
-11
0
0
0
0
0
0
-84
0
0
0
0
0
3
-35
0
0
-3
0
0
0
-35
0
0
2
0
0
0
-22
0
0
-7
-1
0
0
-51
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
0
0
0
-15
0
0
0
0
0
0
12
0
0
0
0
0
0
-29
0
0
1
0
0
0
-28
0
0
3
0
0
0
-1
0
0
0
0
0
0
-49
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
13
23
8
-4
-27
0
3
-7
0
-15
0
19
24
-39
0
-14
0
0
4
-20
0
0
6
3
43
12
0
38
-43
-70
-9
7
20
0
1
-7
-16
-27
8
-12
0
12
2
26
-11
-13
4
10
-27
6
-10
-18
4
-9
0
23
-27
27
-4
4
10
-1
33
-11
0
-2
-4
8
37
2
6
10
4
0
15
4
-7
0
0
-19
0
29
-32
0
4
9
0
-1
28
-1
15
-2
-6
4
7
2
0
11
50
34
0
-12
-39
12
10
-16
17
1
-4
34
-1
1
13
5
0
0
-19
-2
-5
-12
6
1
4
14
16
-15
0
6
2
2
-4
0
-17
12
0
29
0
14
-28
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-15
-2
0
-33
-21
-22
-5
11
5
0
-12
28
-62
0
-4
23
0
-22
-47
38
-28
4
-11
-41
-17
10
-31
46
5
-38
-6
-2
7
24
0
9
33
-17
0
30
-3
-8
-2
13
-24
-24
-4
20
15
-2
-4
-24
-14
-28
0
-4
0
36
-24
-6
-14
-6
18
-4
-4
-42
6
-7
4
56
0
-78
-27
10
-38
-7
12
-5
76
-15
6
-10
-14
-14
39
39
-60
-92
-14
-18
1
-2
-9
-60
11
-3
15
-9
21
-103
-8
-7
-13
27
-8
5
-20
-18
-10
-5
-2
23
-11
-38
20
-7
-3
17
5
0
-122
2
-9
39
2
20
-17
-30
4
-9
8
4
-1
-8
-53
-12
0
-26
4
-16
0
42
16
-29
-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
3
28
0
-6
4
0
0
0
4
0
0
0
0
0
0
-40
0
0
0
0
0
0
-37
0
0
0
0
0
0
-2
0
1
0
0
0
0
-10
0
0
-1
0
0
0
5
0
0
0
0
0
0
-23
0
0
1
0
0
0
51
0
0
0
0
0
0
-44
0
0
0
0
0
0
18
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-16
0
0
0
0
0
0
-9
0
0
0
0
0
0
7
0
0
0
0
0
0
-83
0
0
0
0
0
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-9
-2
0
0
0
-19
0
0
0
0
0
0
32
0
0
0
0
0
0
13
1
0
0
0
0
0
29
0
0
6
0
0
0
45
0
0
0
0
-12
0
22
0
-1
2
6
16
-14
-80
0
0
-23
1
1
1
-15
0
0
-21
0
26
0
23
0
0
0
0
0
0
-4
0
3
1
0
30
0
-31
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
0
0
3
0
0
0
6
0
0
0
0
0
0
4
0
-8
0
2
0
3
4
0
0
4
-1
0
0
-26
0
5
-2
0
0
0
-38
0
0
0
0
0
0
13
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
-58
-16
0
-4
-22
-21
-27
14
-19
9
-7
-4
-2
11
0
1
7
6
0
5
1
1
-21
21
-2
0
16
6
-36
-6
-20
24
21
10
23
54
5
0
4
9
-7
41
5
18
-29
2
-16
13
-15
-11
6
38
9
-15
-5
-22
-7
-8
-2
4
26
-31
7
54
0
-3
15
7
2
66
-18
2
-11
-12
10
13
16
0
-6
-16
13
0
-1
6
0
-3
-16
0
0
-8
-5
-7
12
-8
-52
3
12
-1
-28
-4
9
62
18
-18
0
29
-23
3
-23
-28
-19
-57
-22
-8
33
-15
34
19
11
19
-19
-5
0
52
-13
20
9
-7
34
-2
-14
13
49
0
-7
8
19
-7
1
35
0
1
6
0
0
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-8
0
0
0
0
-15
0
0
0
0
0
0
-6
0
0
0
0
0
0
13
0
0
0
0
0
-1
3
0
0
0
0
0
1
-35
0
0
-2
0
0
0
6
0
0
24
0
0
9
1
0
0
11
0
0
0
-14
0
0
-5
0
0
0
30
0
0
1
0
0
0
14
0
0
-1
0
-4
0
28
0
0
0
0
0
0
26
0
0
0
0
0
0
5
0
0
0
0
0
0
-23
0
0
0
0
0
0
1
0
7
-7
0
0
0
13
0
0
19
0
0
0
-19
0
2
0
0
0
0
10
0
0
-2
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
37
0
0
0
0
0
0
-29
0
0
8
0
0
-2
-71
0
0
-14
0
0
1
-78
0
0
-12
0
0
0
-11
0
0
3
0
0
0
33
0
0
0
0
0
0
29
0
0
0
0
0
0
-82
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
9
0
0
0
0
9
0
0
0
0
0
0
-8
0
0
5
0
0
0
-10
0
0
0
-3
0
0
-2
0
0
-1
0
0
0
-24
0
0
0
0
0
0
0
0
-6
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
30
18
11
0
-12
-1
-21
4
-4
0
0
-8
-9
0
0
4
25
-6
20
0
3
88
32
-18
-17
-9
0
-43
-3
0
-76
53
-3
9
3
-8
26
-12
-2
7
-7
-3
-8
-39
-38
13
10
15
0
8
18
-52
0
-1
1
11
78
0
-48
0
7
0
21
17
0
16
0
4
0
-1
0
-38
13
0
1
0
0
0
4
0
0
-7
0
-25
0
6
8
1
-23
0
-9
-90
-79
1
-7
-9
0
-1
35
-1
13
-10
36
4
8
-17
7
-9
-15
33
0
15
39
-4
15
0
-1
-3
40
-2
-7
-9
0
17
0
-21
0
0
-29
0
-28
29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
29
5
-10
-6
-26
-43
2
-14
-26
14
72
-39
9
-10
1
-59
7
20
-21
0
22
7
3
29
16
6
8
-10
-9
3
-19
6
4
15
-24
-5
11
-4
-8
-9
12
5
-16
12
-17
-18
-33
-25
22
-1
-81
46
1
-5
3
18
0
-33
-51
-33
9
12
-14
1
-1
-49
-13
-7
2
-3
-13
-18
-8
2
-60
-37
-8
10
-4
-17
9
18
11
56
4
30
26
24
-26
11
-31
-16
-7
-36
-3
-14
-3
22
-4
-19
-3
-4
-22
-38
37
-11
-46
-26
1
23
1
-22
-12
10
6
28
3
-33
-27
0
-49
-19
12
-61
-28
4
12
-7
-7
6
-8
25
8
3
45
21
-12
-17
-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
3
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
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-10
0
0
0
0
0
0
-16
0
0
-9
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
29
24
19
-50
-1
3
-24
-2
-3
-31
-4
12
-1
7
-2
-20
-13
-5
93
-2
15
11
16
-12
-1
-2
-6
-1
-17
-20
-44
-1
-30
-14
-7
-40
8
15
-24
-26
-3
53
0
-11
29
7
6
4
31
-6
5
4
16
-26
13
1
-1
38
23
41
23
7
-3
19
-4
19
4
-2
2
1
3
-8
42
46
0
5
-17
-1
42
26
39
-14
2
-37
27
16
33
18
17
-23
21
1
-5
-29
26
-69
-22
5
-22
-13
-38
-1
-48
10
-7
-28
-30
-9
2
13
13
2
31
18
-34
-9
-26
-20
17
3
-13
30
19
16
30
-19
-103
-38
-37
-4
0
-1
-22
-18
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
14
0
37
36
0
21
15
53
0
13
0
0
-2
-34
33
-1
-42
50
16
10
-6
19
5
-36
-7
-39
-2
-3
-6
20
0
25
-27
-6
-8
15
4
20
-36
-39
4
-4
-45
40
-8
-24
44
-37
8
-29
-73
-15
-10
0
-15
8
26
-15
2
19
-17
-25
1
15
0
25
17
0
34
-3
-2
0
-1
24
0
10
9
0
-1
-11
6
1
19
-5
-16
48
4
32
7
0
0
0
28
-51
22
10
-17
0
-39
12
28
2
51
-46
3
45
6
-21
-49
-2
-1
6
44
20
37
8
-1
-15
21
56
0
-3
4
-8
6
-9
70
0
-9
38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
4
1
0
1
0
-19
0
-2
0
0
0
0
10
0
0
11
0
0
-1
18
0
0
8
0
-57
1
-13
0
0
3
0
-11
35
-16
0
0
20
0
20
-10
-20
0
8
-47
0
-3
0
-3
0
0
36
0
27
10
4
0
-1
-8
0
-9
0
18
0
12
24
0
6
0
21
4
-1
8
0
-11
0
26
-1
0
0
0
0
0
4
0
-2
2
0
0
0
-35
0
0
0
0
0
0
-4
0
19
-3
0
30
0
-37
0
4
17
0
0
0
57
0
-24
8
0
1
0
-9
0
0
55
0
0
0
21
1
-4
0
0
0
0
20
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
-7
0
0
0
0
0
0
7
0
0
0
0
0
0
-24
1
0
0
0
0
0
-20
0
0
0
0
0
0
17
0
0
-8
0
0
-11
3
0
0
-4
13
0
0
-48
0
0
8
0
0
0
23
0
0
1
0
0
3
-12
0
0
-4
0
0
0
6
0
0
-8
1
0
0
-12
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
7
0
0
0
0
-5
0
0
-6
0
0
6
-25
0
-4
-8
-10
0
0
15
0
0
2
0
0
0
-17
0
-6
3
0
0
0
-36
0
1
8
0
0
0
-41
0
15
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
11
0
0
3
0
0
0
0
0
0
-28
9
0
-10
11
-29
-26
15
0
0
-19
-1
19
-30
13
0
1
27
29
7
-10
-46
0
-3
-10
9
-15
0
-36
3
1
-40
-25
87
0
6
0
-8
20
25
-86
0
51
0
13
-27
-3
-63
0
-39
0
0
0
0
-1
0
8
0
0
0
-16
2
0
-36
0
20
0
0
-4
0
26
0
0
4
-1
-13
0
10
0
32
29
-6
-2
1
-51
0
1
3
-25
7
0
13
0
-9
11
0
-2
0
-2
0
4
40
-2
-1
0
42
0
4
0
0
-2
0
-47
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
25
48
-2
0
0
-4
-7
0
2
41
-10
38
-31
-6
4
-5
-11
8
-4
-20
0
1
-25
14
7
18
4
-8
-37
-8
-40
10
-23
22
-11
-34
-3
4
1
-25
10
-14
-46
-8
-14
-16
33
30
-51
-16
40
-57
-4
56
0
-37
17
-20
32
7
0
4
-48
-6
-1
-43
21
-1
-15
-44
5
12
-9
34
-23
-15
-6
-24
-49
33
9
2
0
13
-18
2
-11
32
-19
10
-1
-23
4
38
25
-22
15
-17
-14
-32
-22
-9
21
-17
0
11
-19
24
20
-31
18
55
-16
-24
-35
-21
13
0
7
15
-17
-4
-4
0
0
-14
15
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
-35
0
7
0
0
0
0
-13
0
0
0
0
0
0
13
0
0
0
-4
0
0
-30
0
0
1
0
0
2
6
0
0
14
0
0
0
11
0
0
64
0
0
0
24
0
-1
5
0
0
0
73
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
11
0
-3
3
0
0
0
0
0
6
0
0
0
0
0
0
-12
0
0
0
0
0
0
-14
0
1
-2
0
0
0
23
0
6
0
0
0
0
-10
0
14
-7
0
0
0
38
0
0
0
0
0
0
15
0
-2
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
-16
1
0
0
0
0
0
15
0
0
0
0
0
0
45
0
0
0
0
11
0
-21
0
0
0
0
0
0
-25
0
0
8
1
0
-1
-9
0
0
6
1
0
15
-1
0
0
11
0
0
0
-34
0
0
48
0
-27
0
3
0
0
0
3
6
0
-30
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
0
0
4
0
0
0
2
0
-6
0
0
0
0
-42
0
0
-15
-4
0
0
0
0
0
0
8
0
0
4
0
0
-33
0
0
0
-10
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
50
70
22
0
1
0
0
4
-2
0
0
0
3
-11
-44
0
0
2
5
-2
-2
-13
0
0
12
-6
10
18
-5
0
-43
28
-18
-18
0
29
0
-1
6
32
-9
-2
6
-4
-8
2
19
34
-3
11
0
0
-3
0
0
0
8
0
4
0
-2
-1
0
41
13
0
0
0
-10
0
-3
0
0
0
12
0
2
0
0
-43
-2
0
1
1
-4
0
-1
-2
-13
-68
0
-11
0
-31
21
0
-1
-1
18
0
9
6
1
-8
0
-42
0
-15
1
25
2
0
33
0
8
33
7
-2
0
5
0
4
0
0
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
0
0
0
0
28
0
0
0
0
0
0
-4
0
0
-4
0
-11
0
-20
0
0
19
0
8
-4
-4
0
0
-3
0
-19
0
-56
0
0
-1
0
-4
0
6
0
0
41
-3
6
0
30
0
6
4
0
-27
0
-19
0
0
-24
0
15
0
-32
-1
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
7
0
0
12
0
30
0
0
0
0
0
0
-10
0
28
0
0
0
0
18
0
-2
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
-35
0
-15
0
48
0
-10
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
6
-2
6
0
0
0
0
33
10
0
0
0
0
-3
20
0
-4
4
-2
0
-13
3
0
0
-5
7
0
-8
14
0
9
27
-20
0
13
4
0
-3
-8
6
0
3
-23
0
-8
0
-7
0
12
19
0
0
36
0
0
0
-18
-1
0
6
1
0
0
-28
0
0
0
0
0
0
43
-16
0
0
6
0
0
39
0
18
0
0
0
0
-5
0
0
2
0
0
-2
14
0
-8
8
-9
0
0
2
0
-1
17
-2
0
0
13
0
13
-9
6
0
0
-50
0
0
-32
0
0
0
-35
0
-9
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
12
-8
-23
-16
18
5
-9
9
1
2
-20
40
-6
0
21
12
-11
25
37
-1
9
-46
-23
13
-23
-28
10
8
-16
-16
17
-67
22
29
9
-14
-41
17
-2
-1
-29
14
-63
-45
-21
-20
-12
-22
12
-46
5
-24
-50
12
-26
0
15
-21
-83
8
-28
-1
10
-51
-17
3
26
39
-22
7
20
-10
-7
-22
18
27
5
8
-13
17
39
5
-33
4
60
20
29
-37
-26
-28
-27
-40
8
-16
-12
0
-13
11
-37
-9
-2
-55
16
-52
5
-31
-43
6
-24
-27
16
2
-4
-10
-7
-8
-14
-12
0
7
-57
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-6
3
23
0
0
38
21
-12
-8
-20
0
0
17
4
-29
-5
-28
1
-5
-71
71
17
-9
-11
0
-3
19
-9
-32
2
3
12
-22
-40
-1
-1
0
17
7
3
-23
3
36
-4
18
-1
11
-10
14
-44
0
6
0
0
0
0
-1
0
-17
-10
7
0
6
0
0
9
0
15
0
0
0
0
10
0
0
18
-1
0
-7
10
0
-8
0
-8
0
1
-31
-4
-4
-15
17
-2
4
7
0
38
-4
0
0
0
-32
0
-1
17
5
0
1
-23
0
-12
-6
0
-2
0
-3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
0
0
0
11
-3
0
0
27
-44
-1
-5
0
0
0
2
-6
-4
0
0
-6
24
28
-10
-2
20
-15
0
-3
18
-47
0
16
11
-3
-7
-8
5
-1
-3
0
0
46
-16
37
-8
48
0
0
-5
-2
-42
0
-11
-6
0
29
0
1
1
-27
0
0
0
0
0
2
-3
12
-15
0
0
-5
15
-11
0
-1
-4
0
-8
-1
19
0
11
-9
0
0
0
-7
2
0
6
18
0
0
10
0
6
-1
0
0
-3
-8
-4
8
14
-6
0
0
-19
0
4
0
0
-7
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
22
0
0
0
0
0
0
0
0
0
0
0
5
0
18
0
0
10
0
0
0
18
0
0
0
0
0
0
6
0
0
-2
0
0
0
26
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
-2
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
27
0
0
0
0
0
0
-25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-47
0
0
13
0
6
0
-47
0
0
-2
0
4
9
-12
0
0
21
0
0
0
-21
0
0
6
0
-22
0
-8
0
0
-24
3
0
0
-10
0
0
14
0
-12
0
-1
0
0
0
0
4
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
16
0
3
0
0
0
0
18
0
0
0
0
0
0
3
0
10
0
0
0
0
12
0
0
0
0
0
0
-32
0
17
0
0
0
0
-30
0
0
42
0
-2
0
21
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
-29
0
0
0
0
0
0
22
0
0
0
0
0
0
27
0
0
0
0
0
0
-6
0
0
2
0
0
0
49
0
0
-4
0
0
0
15
0
0
-1
-1
0
0
-3
0
0
0
0
0
0
-7
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
2
0
0
0
0
0
0
7
0
0
-4
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-54
0
0
0
0
0
3
47
0
0
-1
0
0
0
-2
0
0
0
0
0
0
40
0
0
1
0
0
0
18
0
0
0
0
0
0
20
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
1
0
0
0
0
13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
67
-10
-20
-24
-17
11
-10
-77
-10
1
-20
16
3
-87
-32
21
-16
-34
22
24
8
-4
12
-42
-15
28
3
21
26
-5
-6
-6
19
10
42
16
0
14
-8
52
-5
-28
-7
-13
-34
-4
-1
12
42
-5
9
-60
-13
-1
0
-15
3
0
26
0
14
-1
-24
17
25
19
9
-23
-2
4
55
10
-80
-11
20
14
-10
-11
-8
-14
-15
-8
19
44
-15
-37
-72
-14
-7
24
-13
8
36
78
-59
8
23
-14
-41
-47
-16
-33
1
4
-60
6
-14
-28
-10
2
15
10
-7
32
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
8
-42
0
0
-7
18
0
0
-12
0
0
2
0
7
7
-43
0
3
54
-6
2
4
28
0
0
-34
-1
20
0
15
0
8
-50
0
-3
0
28
0
3
2
0
6
0
-35
0
0
0
0
34
0
-30
0
1
0
2
-7
0
1
0
0
0
0
0
0
28
0
-10
0
0
0
0
47
0
0
0
0
0
0
-43
0
29
5
0
10
0
8
0
0
-4
-1
-3
0
-94
0
7
-1
0
-1
0
3
0
0
0
0
0
6
33
0
-25
0
7
4
0
-19
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
-7
0
0
0
82
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
1
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
6
0
0
0
1
0
0
0
0
0
0
0
0
0
-8
0
0
-4
0
0
0
-7
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
33
0
0
-1
3
0
0
2
0
0
0
0
-2
0
-3
0
0
0
0
15
0
42
0
0
0
0
0
0
20
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
-4
0
6
-1
0
0
0
-11
0
0
0
0
0
0
16
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
-43
0
0
0
0
-4
-1
-11
0
0
-16
-3
0
0
-20
0
-4
15
0
43
0
29
0
0
-2
0
0
0
24
0
0
0
0
9
0
19
0
0
0
0
-6
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
-41
0
0
2
0
0
0
-2
0
0
0
0
6
0
12
0
-4
-4
0
0
0
-30
0
0
10
0
0
0
-33
0
5
-2
0
0
0
-28
0
0
-2
0
0
0
23
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
16
0
0
0
7
0
0
14
0
10
14
0
0
0
-12
0
0
-18
0
0
-6
19
0
0
2
9
0
13
24
0
0
18
5
0
0
11
0
0
24
16
0
0
10
0
0
-4
0
0
0
-11
0
0
0
0
0
0
18
8
0
0
0
0
0
-11
0
-4
0
0
0
0
-14
0
-4
22
13
0
0
-8
0
-5
2
0
0
0
4
0
-1
32
-4
0
0
7
0
-1
0
0
0
0
-22
0
4
-3
0
0
0
-19
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
7
0
0
3
0
10
0
31
0
-4
-9
-12
0
-6
-50
0
2
20
0
0
-1
74
0
1
55
-1
6
0
-28
0
-2
-6
0
11
0
-67
1
0
4
0
26
0
8
0
0
0
0
0
0
-2
-9
0
0
4
0
0
20
0
35
0
0
0
0
-34
0
0
32
0
0
0
-4
0
23
1
4
0
2
33
0
0
13
-10
0
0
56
0
9
-17
0
0
0
-43
0
0
0
0
-9
0
-4
0
5
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
5
-5
-7
-15
41
2
31
-61
0
5
-13
-18
-46
-1
18
12
-11
-6
11
-22
-16
10
-10
7
-18
4
-30
35
-2
11
19
-3
5
-29
-13
35
8
2
-7
-29
-2
5
0
-12
-34
4
2
21
-7
-2
-32
-18
5
6
23
-3
50
0
20
-13
-16
36
4
7
7
-1
65
-27
16
-21
-38
-11
-4
2
12
-62
-42
-15
8
-15
-27
-25
-8
-41
61
8
-6
7
-27
-34
5
-6
9
-57
30
-2
27
-52
9
12
23
0
20
-15
21
1
18
-3
19
25
-16
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-41
0
0
0
0
0
0
-16
0
0
0
0
0
0
-3
0
0
3
0
0
0
-5
0
0
0
0
0
0
0
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
-7
0
-1
0
0
0
0
-9
0
1
0
0
0
0
-14
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
-4
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-20
0
0
2
0
0
-1
-8
0
0
-1
1
-1
0
24
-1
0
14
0
3
7
-38
0
0
-1
0
0
0
-8
0
0
2
0
8
0
3
0
0
0
0
33
0
-4
0
0
0
0
-2
2
-3
0
0
0
0
0
0
-17
0
0
-2
0
0
3
-15
0
0
3
0
-13
0
5
0
6
0
0
0
0
-22
0
0
0
0
0
0
-17
0
0
-1
0
0
0
-26
0
-3
0
0
0
0
-23
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
34
-28
0
-4
-6
0
30
25
9
0
7
-5
59
45
-15
39
0
38
-9
-21
46
-4
10
-7
9
6
-16
-11
15
5
2
-3
-21
0
86
-1
-12
-6
0
-1
-45
21
0
1
-1
0
0
0
5
0
-32
0
0
0
-6
0
0
8
12
48
0
-3
6
0
-9
0
2
0
0
-3
4
25
0
-14
-18
0
-3
0
-2
0
1
1
12
24
0
-9
-2
-74
65
-7
0
11
30
2
2
-2
0
-2
-1
-1
0
-11
11
-1
25
0
-25
-12
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
0
-22
18
-2
0
-16
20
0
0
49
-26
0
1
28
15
-22
4
33
0
24
39
0
2
7
-3
-9
0
12
1
30
0
-20
-8
4
32
0
-7
0
16
0
-9
0
0
7
0
-20
-1
0
0
0
-2
-6
-28
0
-7
2
0
-2
0
9
0
3
26
0
0
0
-14
0
-30
-9
0
0
-2
30
0
-4
-22
4
2
0
17
0
-50
21
0
-1
0
13
2
10
-41
0
-1
0
-14
0
-23
-1
0
13
0
-31
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
46
0
0
0
24
-6
0
37
-44
-6
31
5
-26
0
15
-12
8
52
32
-8
0
32
22
3
-6
34
12
0
-29
-1
6
20
-9
14
0
33
-6
-3
8
26
-14
0
0
14
4
0
-3
6
0
0
-10
-1
0
0
1
0
0
-13
0
12
2
0
0
0
5
0
0
42
-9
0
3
8
0
-37
15
-8
0
4
-9
15
-1
51
-3
0
7
81
0
-30
14
-48
0
0
25
0
-4
52
34
0
0
-16
0
26
-25
0
0
0
46
28
0
13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
4
13
27
11
64
-28
-2
4
-4
12
-3
32
-2
0
9
-56
-21
1
0
28
0
1
14
0
-27
0
-11
0
0
26
-30
-24
0
-24
0
0
0
2
10
0
32
28
0
-1
2
0
0
14
0
-13
0
0
-1
0
-4
4
-2
42
1
6
0
-20
0
-13
65
0
0
0
18
0
-2
-24
13
0
0
-25
0
52
6
0
0
0
1
2
1
3
13
0
0
8
0
12
0
0
-12
0
-43
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-12
13
0
24
21
11
-12
12
6
5
1
18
25
-45
-17
12
6
-13
2
1
-36
15
-7
-28
11
-8
-11
30
-20
17
-8
0
-5
-2
13
-2
35
-3
9
14
9
-3
-14
16
14
-29
-35
13
-30
-15
-47
-12
9
-6
0
-21
30
0
26
12
-59
14
12
0
44
6
31
61
11
-36
28
10
11
-15
28
3
-8
2
-18
-68
-26
-2
19
9
-18
-2
9
2
4
5
60
-4
4
-39
-1
-13
14
16
-32
-19
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
9
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-13
0
0
0
-20
0
0
0
0
0
0
8
0
0
0
0
0
0
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
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
48
0
0
-14
29
0
0
0
0
0
34
8
11
0
8
0
2
-9
1
-1
2
24
0
0
36
0
0
1
-2
0
0
0
0
-9
0
-47
0
0
0
0
0
0
-3
0
0
0
2
0
0
-1
0
-7
0
0
0
0
-38
0
0
0
0
0
0
-21
0
14
7
1
0
0
-3
0
0
5
25
0
0
-71
0
20
-19
3
0
0
12
0
0
0
0
0
0
-33
0
-8
0
0
6
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
18
-2
14
33
43
31
-28
32
-1
-36
24
-15
69
-2
7
7
-9
-20
-33
-34
36
18
0
4
4
1
25
-6
-33
0
3
-20
26
18
0
-20
-1
0
0
21
-6
0
-5
34
10
0
-15
0
0
56
1
-5
0
0
9
0
-3
0
0
-24
21
3
-1
1
0
-15
-29
14
0
0
49
0
-19
-47
12
0
-37
11
-8
-4
16
9
0
1
27
0
-11
-17
-1
-18
0
-9
0
-21
0
1
13
0
-35
-28
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
21
-38
0
0
0
-41
0
-6
-6
0
-2
0
-40
0
3
17
0
-13
0
-18
0
0
28
0
-6
0
-9
0
0
0
0
36
0
36
0
0
0
0
20
0
-13
0
0
0
0
0
0
12
0
-1
0
0
-7
0
38
0
0
11
0
0
0
-1
0
-7
0
0
0
0
34
0
0
3
0
0
0
30
0
-2
12
0
0
0
-39
0
0
-1
0
0
0
-2
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
-8
-27
2
-30
17
1
0
-4
10
0
9
56
-39
0
-7
-28
0
37
34
26
0
14
0
7
1
-21
2
0
1
-10
0
0
27
0
0
0
11
-3
2
-2
6
0
0
-5
30
0
0
-8
0
-3
17
0
-34
2
15
0
0
2
0
0
-35
-25
0
9
-21
0
-51
62
-34
0
2
22
0
-4
39
-30
0
-4
-24
0
-19
30
-24
0
0
20
-16
7
54
0
0
0
-35
0
-30
13
0
0
0
21
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-29
0
-4
-7
-10
7
11
-19
3
58
-9
-19
13
-3
9
4
0
-2
-4
-38
0
26
0
23
29
-24
-10
0
14
-2
0
0
0
0
0
-24
-1
0
0
-8
0
0
20
0
-14
12
0
11
-7
-34
0
10
19
-1
4
0
20
0
-9
7
7
0
0
30
0
-4
47
-17
0
0
-4
0
19
17
6
0
0
-9
0
-17
28
-14
0
0
18
8
-43
10
0
-1
0
23
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-19
-5
-16
11
-45
-5
16
-29
-13
-17
-57
13
3
-6
41
13
8
-26
14
-32
-17
-55
-22
9
-5
-8
13
-22
-25
6
-25
-14
14
6
-9
17
58
-25
7
-32
-3
-6
-19
-56
13
-39
76
25
-1
-36
20
-16
-8
1
0
-8
-11
2
83
8
-16
8
3
-6
41
-15
22
30
-14
4
13
-1
22
-4
-14
1
-32
-26
-13
-46
-51
20
-16
1
-25
-2
-2
-41
7
5
44
27
33
-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
-58
0
0
0
0
-4
-1
-1
0
2
4
0
0
0
24
0
-7
0
0
0
0
13
0
0
0
0
-2
0
-43
0
0
0
0
0
0
48
2
0
0
0
0
0
-51
0
1
0
0
0
0
-8
0
-2
0
0
0
0
-3
0
0
0
0
0
0
-3
0
-7
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
0
0
0
19
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
0
0
0
0
0
-3
-11
38
0
49
-26
16
4
-25
0
-15
2
8
9
-1
-73
0
8
-16
0
-25
15
-76
0
0
7
0
13
0
2
0
0
0
0
0
0
34
0
0
0
6
0
0
28
4
-1
0
1
0
0
-82
0
-2
7
0
3
7
-15
0
23
0
0
0
-2
-4
-3
-1
-1
-4
1
0
-9
0
46
21
0
0
0
-35
0
0
-15
0
6
0
22
0
37
0
0
-1
0
56
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
-17
-3
-50
24
-28
-16
-1
86
3
-20
45
-31
-13
-8
36
18
12
21
8
-1
22
5
-45
5
23
0
10
-15
1
0
-6
24
0
11
8
0
0
52
0
2
2
10
25
0
7
24
-6
-1
0
38
-13
51
12
-15
33
-11
-16
41
-3
-1
-21
-19
-16
15
-19
4
2
0
-18
-1
-21
-46
6
0
30
-18
35
17
56
-58
35
3
-12
15
3
16
-25
-30
0
-3
-79
11
2
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
32
-3
0
1
0
49
25
-23
4
0
77
43
18
61
-17
-31
0
12
21
0
13
-2
-14
-2
0
-9
0
-14
0
-28
3
0
0
-6
6
0
-44
18
0
0
0
0
-2
4
0
-9
-1
0
51
-6
6
10
-35
1
0
22
48
6
0
-22
-26
-8
0
0
-3
0
10
66
0
9
-11
13
6
16
16
0
-9
0
-5
-3
-35
19
0
40
-4
-22
0
17
9
0
25
0
-53
-24
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
48
0
0
21
0
-11
14
42
0
0
18
0
-3
8
-12
0
6
7
0
0
-38
-6
0
0
-18
0
0
0
-3
0
0
-24
-6
0
0
11
0
15
18
0
8
0
-1
0
0
2
0
0
9
-3
0
-16
-54
0
-53
14
0
0
4
-23
0
-2
14
23
0
0
-12
0
-35
0
0
0
-2
3
4
6
18
6
0
0
-36
0
43
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
-6
16
1
-27
0
26
-3
1
-9
0
32
5
0
-8
0
-21
9
0
-7
6
23
0
-10
0
0
0
0
-1
0
-9
-4
2
0
-8
0
0
-23
0
-47
8
0
0
-20
6
0
-7
3
9
0
-9
28
0
7
44
0
0
0
21
0
24
-12
12
0
0
50
1
45
18
0
0
0
-9
1
26
-1
-7
0
0
6
0
-4
-6
0
-7
0
-11
-13
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
-29
4
12
3
-15
-15
4
0
5
-14
17
10
-50
-7
-5
12
-50
22
-5
7
-10
-1
0
-34
26
0
20
-23
23
3
-11
4
10
-49
11
78
-1
-21
-19
37
-7
0
51
9
-3
11
-24
15
-45
-39
8
10
-39
-5
-31
-25
-6
0
-52
18
15
6
-7
75
-5
1
-51
-24
22
-38
-8
7
-49
24
16
36
-20
42
-11
7
-15
11
10
-7
-2
-9
58
40
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
50
0
-2
-1
0
0
-13
-19
0
0
3
0
-1
0
-38
0
-2
6
0
0
0
-15
13
0
0
0
0
0
3
0
0
0
2
0
0
-14
0
-3
0
0
0
0
-52
0
0
-2
0
0
-4
10
0
11
0
0
0
0
0
0
0
-1
0
0
0
-10
0
17
0
0
0
0
-35
0
0
-3
0
0
0
32
0
-10
0
0
2
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-19
0
21
-16
4
-6
-2
-25
1
0
-19
0
-20
4
0
-1
2
-1
-1
27
0
-57
6
0
0
3
-3
0
4
0
0
0
-10
0
0
-21
0
15
4
0
0
0
36
0
13
-12
-2
15
1
5
1
21
0
2
0
7
-15
0
0
7
0
-2
-2
43
0
-4
11
0
0
3
-22
-12
0
0
2
0
0
17
0
-3
-1
0
9
0
-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
1
13
1
17
36
1
35
-44
-13
-8
8
22
-2
10
-9
-7
38
-27
26
-30
20
0
3
-2
-4
1
-3
-11
0
-5
23
0
8
-12
0
0
17
-4
-29
8
-5
8
6
-15
1
-19
58
6
42
-1
16
0
-24
61
-8
36
4
4
-2
-8
32
22
-3
8
1
1
-32
15
-14
-2
-5
-12
-8
8
-35
62
32
0
-3
0
26
-30
0
34
0
-4
6
18
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-15
8
3
1
8
37
7
-11
0
0
6
0
11
-1
-13
4
0
26
0
11
0
-77
1
0
0
0
39
0
-16
19
0
0
0
-11
0
36
0
1
-18
0
-38
0
8
0
4
55
-1
1
0
-7
0
7
7
0
-2
0
-16
0
0
-43
1
2
0
-6
0
-17
15
0
-2
0
-11
0
-4
-40
0
-5
0
-25
0
99
0
0
-19
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
1
-43
-7
-11
22
47
0
0
-8
0
-24
-40
-11
0
0
-2
0
0
16
16
0
1
-7
19
0
0
-1
0
0
-2
-4
0
0
6
0
0
-15
0
-16
-4
0
0
6
-12
0
0
58
1
0
3
5
17
11
-30
8
0
0
43
-2
13
43
-43
1
0
-15
0
7
30
-24
0
0
21
0
-3
10
-2
0
0
-19
0
-87
8
0
0
0
36
-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
5
0
3
16
-1
40
0
5
-29
2
2
0
24
0
26
0
0
0
0
0
0
-26
-1
0
0
0
0
0
28
0
-35
-3
0
0
1
17
-2
-9
86
29
0
-4
4
0
15
26
3
0
0
-8
0
6
-74
-3
0
0
-10
0
-33
-1
0
0
0
-12
-15
0
7
0
10
0
4
0
48
1
-10
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
10
35
-16
-27
6
11
8
0
13
1
-15
-3
8
-4
-25
11
-39
-22
-4
27
-18
22
2
-39
26
-26
-7
-29
-20
-12
24
24
-18
23
27
-33
-26
-8
22
16
3
-55
27
-9
13
-50
5
3
-18
11
-8
-34
-25
-96
0
2
-2
19
25
51
-13
-20
19
-43
-12
-36
-10
6
7
18
-47
-3
11
-20
-9
7
-2
-57
5
-35
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
45
0
0
0
0
-6
0
-15
0
0
0
0
0
0
-4
0
0
0
0
0
0
-24
0
0
0
0
0
0
-49
0
0
0
0
0
0
22
0
0
0
-4
0
0
1
0
0
-4
0
0
0
0
0
36
0
0
0
0
-24
0
1
0
0
0
0
-19
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
-3
69
7
25
-15
-2
16
-3
2
0
0
0
24
-6
0
-33
0
0
0
0
8
0
3
-23
0
0
0
0
0
25
-3
-16
-4
0
3
6
-32
0
0
12
9
1
0
-74
0
75
-14
0
0
-4
-24
0
0
-14
-20
0
0
2
0
-30
-3
0
0
8
26
-11
-1
0
9
-1
9
21
6
29
-8
0
-31
0
-10
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
-8
-17
20
-21
38
16
-11
-11
-5
3
-86
18
0
4
6
-7
0
-27
29
0
-8
-2
0
0
18
16
30
1
7
11
-23
-15
10
-18
-3
0
-20
-21
15
13
42
-22
-8
42
37
-10
3
-13
10
-7
-52
39
36
-17
0
23
9
6
-88
-47
1
0
6
-9
27
-11
13
8
-9
-16
29
4
2
-4
38
0
-20
-58
8
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
-21
-13
0
-2
98
0
3
0
-2
0
2
-13
0
-8
0
17
0
0
0
0
23
0
-8
-3
0
0
0
0
0
-17
-1
5
0
0
-33
0
-14
0
-3
-25
0
4
5
-12
0
-64
67
0
0
-6
10
0
-2
-16
0
-7
12
38
-1
48
59
0
0
-4
0
-6
10
22
0
15
2
-12
0
1
-2
0
6
0
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
17
0
0
-15
6
0
0
-3
0
0
-11
39
0
0
-37
-13
0
0
38
0
0
-7
0
0
0
3
0
0
-7
0
-4
0
0
0
2
-35
0
6
0
53
0
0
-34
0
-29
18
7
0
1
-10
0
33
29
27
0
6
-51
0
-58
0
6
0
0
19
0
0
24
-3
0
0
7
0
54
0
0
0
0
-47
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-1
-29
0
-37
-12
0
0
0
0
0
33
2
0
0
6
0
0
23
0
-20
3
-1
0
0
13
0
2
12
0
0
-3
-16
0
44
4
0
-2
0
-10
0
-2
8
-20
0
0
13
0
-20
-3
0
0
0
-15
0
-13
-11
0
0
0
-2
0
-10
0
0
6
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
37
-35
28
-22
2
29
6
-18
-29
-9
-54
-55
25
12
-23
16
-34
28
13
23
-8
-49
-12
-30
32
-8
4
-8
-18
5
10
-37
-48
18
18
-56
-14
-6
-54
-48
-24
4
10
-56
-14
7
-17
51
6
-24
2
-12
-4
4
2
0
-21
2
36
26
54
17
-7
32
-10
-51
-24
35
0
21
-27
-18
-26
-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
7
0
0
0
0
-2
0
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
4
0
0
0
0
0
0
-12
0
8
0
0
0
0
0
0
0
2
0
0
0
22
0
0
0
0
0
0
-7
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
49
0
-14
0
0
0
6
0
0
34
0
0
0
0
0
0
-28
0
-19
0
0
-4
0
19
0
0
0
-2
0
0
28
0
-10
0
0
0
0
11
0
1
0
0
0
0
8
0
-40
-6
-4
0
0
-9
0
6
-4
-6
0
0
-44
0
25
0
0
4
0
42
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
0
4
0
-9
-16
0
-12
-12
0
0
-3
0
0
9
0
0
0
-10
0
0
3
0
7
-17
0
0
1
12
0
-6
22
-45
-13
1
-18
0
2
99
21
0
-1
-14
0
-23
5
11
-36
0
5
0
-11
1
0
0
0
19
-13
-13
-6
-1
0
0
-14
0
-62
-4
0
24
0
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
-8
0
-18
0
0
0
0
-11
0
-36
0
0
0
0
0
0
6
0
-4
0
0
0
0
17
0
0
2
0
0
0
3
0
0
11
0
0
0
-16
0
-2
0
0
4
0
0
0
-10
3
0
0
0
-4
0
0
-3
0
0
0
5
0
6
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
0
0
22
-1
0
0
-35
3
0
6
-1
0
0
2
3
0
0
-7
0
0
32
0
-30
-12
0
0
-1
2
0
1
24
-24
0
-8
32
0
-6
48
19
0
6
16
0
-8
52
-18
0
-4
7
0
-7
-45
3
0
-1
32
0
-7
-15
35
0
0
-47
21
-15
18
0
0
0
30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
-3
0
0
56
0
0
0
0
0
0
-26
0
0
0
0
0
0
17
0
0
12
0
0
0
-2
0
-1
0
0
0
0
7
0
0
9
1
0
0
-32
0
0
0
0
0
0
27
0
0
-9
0
0
0
-22
0
-2
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-79
7
3
5
21
0
1
-15
7
-8
-41
-3
51
-19
-3
-10
15
2
-34
35
4
-10
40
54
-34
-49
10
-7
-7
2
63
76
19
-35
4
-7
-74
-67
-39
3
-6
-7
4
-80
21
-49
-44
-12
20
0
49
-49
-22
-15
-13
0
47
7
7
3
-3
-2
9
0
-6
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
-65
0
0
0
0
0
0
50
4
0
0
0
0
0
8
0
3
0
0
0
0
-28
0
0
16
0
0
0
16
0
2
0
0
0
0
-10
0
0
6
0
0
0
-7
0
0
3
0
0
0
3
0
0
-2
0
0
0
2
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
-13
-7
0
0
0
0
0
56
6
0
0
3
0
0
17
0
7
0
0
1
0
59
0
0
0
0
7
2
-44
0
8
0
0
0
0
11
0
0
0
10
0
0
-27
0
-4
16
0
0
0
30
0
9
0
0
0
0
29
0
17
0
0
-12
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
-21
1
0
0
0
0
0
16
0
0
0
-2
0
0
15
0
22
0
0
8
-6
-11
1
0
-4
-6
-7
6
-20
0
7
7
-18
0
0
-16
0
12
-10
-33
21
0
30
0
-78
1
12
0
0
-19
-1
-9
0
0
0
0
15
-10
71
0
2
-12
0
-51
-3
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
4
0
0
1
0
0
0
-4
0
1
0
0
0
1
-20
0
0
-1
0
0
0
-37
0
2
1
3
0
9
-1
0
-4
26
0
0
0
-12
0
23
-7
0
0
0
-2
0
0
-6
0
11
0
-14
0
8
4
0
0
0
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
21
-1
24
14
0
0
16
-15
0
15
-41
0
14
12
0
20
35
-18
0
9
-6
-7
-22
42
31
0
5
14
0
17
41
40
0
-19
-9
0
-11
45
-31
0
70
9
0
12
10
-64
0
20
12
-3
13
-10
-74
0
0
-25
-9
-79
-11
-5
0
0
24
-10
-3
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-14
18
17
10
-49
20
0
-34
19
-41
-2
-6
9
-13
-49
-30
0
-17
28
21
-28
7
34
34
30
-72
-16
21
20
0
13
-1
-26
7
9
3
-1
-5
6
-37
-7
34
-33
-1
32
-38
-53
-6
-10
-1
-14
-42
-24
3
0
0
-13
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
10
0
0
0
0
0
0
30
0
-1
0
0
10
0
-12
0
0
0
0
0
0
-75
0
-7
0
4
0
0
45
0
0
0
4
0
0
24
0
17
0
-6
0
0
11
0
-7
0
0
0
0
3
0
-5
0
0
18
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-1
0
0
-2
0
0
0
-2
0
13
0
0
0
0
-8
0
0
24
0
0
0
-4
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
1
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
4
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
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
1
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-21
0
73
0
0
0
0
16
0
1
0
0
4
0
-15
0
-23
0
0
0
0
-1
0
0
-4
0
0
0
30
0
-15
4
0
0
0
-21
0
0
14
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
0
2
0
9
0
0
-31
0
0
4
-16
0
0
-9
0
22
11
13
0
0
36
6
0
0
-26
0
0
37
0
46
-1
6
0
0
12
0
-3
11
3
0
0
7
0
39
0
0
0
0
20
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
-3
0
0
0
0
0
0
8
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
41
16
0
-2
35
-22
9
14
19
-50
-7
63
8
1
-25
-32
-16
34
19
5
-5
-35
-21
-55
26
19
42
-3
6
49
-8
18
-25
28
2
22
-46
10
-13
0
4
10
15
52
7
14
0
7
4
-4
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
37
0
36
-7
0
0
-3
24
0
1
12
-11
0
0
-55
0
-44
-7
0
0
0
-22
0
0
3
0
0
0
35
0
-9
2
0
-6
0
-123
0
0
-8
0
-6
0
-3
0
50
0
0
-7
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
1
7
0
0
0
8
0
0
-3
9
0
0
21
0
0
0
0
0
0
4
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
55
0
0
0
0
4
0
-10
-7
0
-6
-2
15
0
29
-3
0
-12
0
-15
0
0
9
0
0
0
-24
0
-52
-1
0
0
0
-40
0
1
0
0
0
0
47
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
-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
15
0
-18
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
-29
0
1
-10
0
0
0
14
0
3
-1
0
0
0
1
0
0
0
0
0
0
64
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-35
-25
-24
61
-43
22
22
-17
35
-51
-71
-23
-2
-10
5
16
-7
-5
30
-2
-4
-17
39
-4
0
83
-2
-23
-30
24
-5
-14
20
-17
2
-4
5
21
-22
0
30
28
19
24
-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
11
0
0
0
0
0
0
7
0
-2
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
-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
-3
11
-11
4
-6
-19
18
33
-23
0
2
-20
-3
-3
2
-50
1
6
26
28
12
4
-21
0
-13
-12
-2
-6
0
-56
0
-1
32
-4
-53
0
11
6
34
-26
-2
55
0
-48
38
-1
8
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-11
0
-2
0
0
-17
0
0
3
0
0
0
18
0
26
0
0
0
0
-64
0
0
0
0
0
0
-27
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
3
0
0
0
0
0
1
0
0
0
0
16
0
0
-22
0
0
0
8
0
-3
0
0
0
0
-32
0
0
1
0
0
0
32
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
-28
0
0
-10
0
0
0
-3
0
34
-3
-7
0
0
2
0
0
-9
0
0
0
-6
0
36
0
0
0
0
-77
0
0
0
0
0
0
1
0
-10
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
-36
0
10
2
0
0
0
-1
0
2
2
-1
0
0
-32
0
17
1
0
0
0
69
0
0
0
0
0
0
5
0
2
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
18
10
-4
-21
96
15
21
13
-1
18
-17
22
1
-20
0
-29
-5
21
-4
2
-15
-17
5
-48
-6
-6
-4
-8
-18
-10
41
-44
0
14
-23
0
-1
11
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
1
-7
0
0
0
23
0
0
7
0
0
-1
37
0
7
-4
0
0
0
-19
0
0
-3
0
0
0
-6
0
20
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
-7
-7
0
24
-6
-10
-7
0
-20
0
0
0
13
0
-28
-21
0
-58
21
7
0
0
-46
-1
-20
3
-1
0
1
46
0
32
-4
0
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-51
12
0
0
-18
0
0
7
0
10
0
-5
0
4
17
0
0
0
-30
0
-3
-11
0
-2
0
-3
0
-37
0
0
-1
0
-33
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
18
0
0
0
0
-1
0
10
-3
0
0
0
-6
0
6
26
0
0
0
-3
0
-6
25
0
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
-11
0
0
0
-30
0
45
0
0
0
0
10
0
0
-3
0
0
0
7
0
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
31
7
-31
-1
33
2
10
-12
0
14
-29
46
11
25
-3
12
21
11
4
0
2
-75
13
-4
-69
0
12
1
-19
-3
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
11
0
0
0
0
-12
0
0
0
0
0
0
-11
0
0
0
0
0
0
-15
0
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
16
6
-2
82
-50
-1
105
45
-12
0
-1
-41
0
0
-2
-37
-29
0
5
0
-24
53
0
-25
0
17
24
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
5
32
8
0
-51
0
-42
-10
-1
2
0
-19
0
0
-1
13
-3
0
17
0
28
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
1
3
0
0
0
-23
0
-21
15
0
0
0
40
0
0
2
0
10
0
6
0
25
0
0
-1
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
8
0
0
6
0
-10
-2
0
0
0
7
0
0
1
10
0
0
-3
0
15
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
-15
0
0
0
-30
0
4
0
0
0
0
13
0
-6
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
0
0
0
0
0
0
-11
-6
2
-8
4
45
1
-21
36
3
-8
-29
5
-51
0
18
2
4
-18
0
2
0
-10
-27
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
31
0
0
0
0
0
0
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
0
0
0
0
0
0
0
14
0
64
-14
-7
8
0
10
-1
8
-6
0
-1
0
14
0
28
0
0
-15
0
-5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-1
-28
21
0
3
1
-20
0
12
-10
-3
-1
0
-7
0
3
0
-1
-9
0
-19
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
-2
46
0
3
-31
-1
1
0
17
0
28
0
0
-60
0
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-30
-10
-3
0
0
-13
0
0
10
0
0
0
61
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-43
38
15
13
18
-8
0
-37
22
18
-43
0
-7
19
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
1
-31
14
-25
-27
0
-4
0
72
6
0
-17
0
5
50
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-7
0
-1
21
0
2
0
0
-10
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
-33
0
-11
28
0
0
0
18
0
-2
0
0
19
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
-11
0
3
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
-2
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
19
14
-15
-13
-26
26
-2
-10
-17
-14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
6
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
15
5
0
-9
0
0
-27
0
-30
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
1
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-10
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
17
16
-26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
27
0
0
-16
0
0
0
-9
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
3
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
-6
0
0
0
0
0
-61
8
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
-11
0
0
-1
0
0
0
-1
0
-3
0
0
0
0
19
0
0
0
0
0
0
-19
0
0
0
0
0
0
-19
-3
0
4
0
0
0
58
0
0
2
0
0
0
-23
0
0
0
0
0
0
23
0
0
0
0
0
0
-18
0
0
0
0
0
0
1
0
0
0
-11
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
88
0
0
0
0
0
0
17
0
0
9
0
0
0
18
0
0
1
0
0
0
1
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
17
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
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
1
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
29
0
0
-33
0
0
0
0
0
0
0
-9
0
0
3
0
0
0
-10
0
0
0
0
0
0
0
0
-9
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
-7
0
0
0
0
0
0
13
0
0
0
0
0
19
-9
0
0
0
0
0
0
11
0
0
0
0
0
0
-7
0
0
0
0
0
0
-32
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
0
0
0
0
-13
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
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
8
11
35
3
7
-14
8
11
-8
32
52
-12
19
3
-8
16
10
-4
-41
14
12
-8
-24
7
20
-30
43
-27
-30
-14
-48
-36
-28
54
-33
-60
-21
-27
-32
-39
-31
-13
-23
-16
-25
-11
-6
-22
-11
-4
-1
-22
1
-4
-21
27
-1
25
-55
-86
-42
10
-5
40
17
47
69
8
0
-23
8
11
50
34
25
43
-34
13
2
-14
13
20
15
16
-6
15
22
27
1
-44
-9
-17
-25
45
24
-56
-7
-15
-27
40
32
-6
-27
-31
-5
-30
3
-30
3
18
-23
0
-6
-12
-10
-14
-29
-11
5
0
0
0
0
0
0
0
-15
18
-1
7
8
-13
23
-8
15
54
26
10
-4
37
31
1
50
24
5
-42
6
-20
-13
44
11
11
36
25
9
3
-9
-32
-7
-12
-10
2
-5
12
17
-6
-24
-19
22
4
-19
-1
-30
18
2
-2
13
1
7
-6
-4
-46
-77
-31
-1
-64
-25
6
-5
-13
-7
-34
-14
-2
-1
-2
56
13
54
12
8
7
-40
9
5
-11
-17
33
-37
49
20
9
10
-5
8
34
81
1
8
-6
-50
5
-2
53
-3
12
27
-9
-6
15
10
-9
-5
21
8
-9
2
2
2
-9
25
2
-24
-37
-43
23
2
-63
-57
-50
22
-6
-1
-35
32
-29
-6
34
22
35
-8
11
-14
-1
-11
15
-36
-6
-6
5
49
50
30
21
-14
-10
34
-23
16
29
-6
3
-35
0
-52
-24
110
-3
13
7
16
27
6
-19
-26
-19
40
11
-1
4
31
-30
2
28
11
1
32
-20
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
0
4
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
55
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-16
0
0
0
0
0
0
24
2
0
0
0
0
0
16
11
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
3
0
0
0
0
0
0
20
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
1
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
16
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
-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
7
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
-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
7
0
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
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
3
9
0
1
0
0
0
10
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
-3
0
0
46
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
16
0
0
0
0
0
55
3
0
0
-3
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-7
0
-1
0
0
19
0
0
0
0
0
0
14
0
0
0
0
0
0
-7
1
0
-6
0
0
0
26
0
0
4
0
0
0
28
0
0
0
0
0
0
46
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
-9
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
2
0
0
0
0
0
0
1
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
1
0
2
2
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
-35
0
0
0
0
0
17
0
0
0
0
-3
0
0
-3
0
0
0
0
0
0
1
5
0
0
12
-2
-6
0
77
0
0
15
-2
0
0
-1
0
0
-2
0
0
0
0
0
0
0
3
0
0
6
0
0
18
4
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
0
0
-70
0
0
-18
42
0
19
-13
0
0
-12
-32
0
0
1
0
0
1
58
0
0
0
3
0
0
-24
0
0
-6
0
0
0
-1
0
17
0
0
0
0
6
0
0
1
0
0
0
14
3
0
0
0
0
0
75
-1
0
3
0
0
-2
18
0
0
-8
0
0
0
-40
0
0
-10
0
0
7
6
0
0
4
0
0
0
-46
0
0
8
0
0
-1
31
0
0
0
8
0
0
-144
0
0
0
0
0
0
6
0
0
0
0
0
0
-17
0
0
0
0
0
0
-29
0
0
0
0
0
0
-35
0
7
-9
0
0
0
53
0
-1
0
0
0
0
-3
0
-11
13
0
0
0
34
0
0
0
0
0
0
6
0
-7
0
0
0
0
5
0
0
0
0
0
0
-21
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-1
-1
0
7
0
0
0
9
-1
0
0
0
0
0
0
-1
0
0
9
0
0
0
0
0
0
0
0
0
0
7
0
9
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
1
0
0
0
0
0
0
2
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
11
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-9
0
0
0
0
0
0
4
0
0
0
0
8
0
0
0
0
0
0
-15
0
0
0
31
0
0
-4
0
0
6
-1
0
0
-4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
8
-7
0
0
16
0
0
-4
-1
0
35
-3
0
0
1
-7
0
0
0
0
0
0
14
0
0
-1
0
0
0
-5
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
1
28
1
0
0
0
0
0
-4
0
0
3
0
0
0
-23
0
0
0
0
0
-7
4
0
0
0
0
0
0
20
0
0
2
0
0
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
46
0
0
0
0
0
0
6
0
-6
0
0
0
0
16
0
0
0
0
0
0
4
0
-6
0
0
0
0
8
0
0
0
0
0
0
15
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
0
0
0
0
0
-10
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
14
-23
59
60
24
19
6
60
15
11
20
5
-11
-35
-11
5
-13
26
-11
-51
-31
-21
-10
-31
26
1
-1
-30
47
-52
14
12
7
27
-11
-12
-46
1
-9
0
22
0
-2
-3
2
-3
-7
-22
11
14
-32
-63
39
-26
-6
28
-32
29
0
33
-34
0
17
32
26
39
17
32
12
-5
-32
48
-9
13
16
-10
11
-7
-8
10
26
-17
5
18
-17
18
4
-33
20
-7
-18
9
10
12
13
3
1
27
-7
-6
-4
-14
7
12
0
28
6
0
0
27
-7
0
0
0
0
0
0
0
-6
23
36
8
-16
30
114
26
10
36
33
25
-4
30
29
13
60
-31
-2
14
17
21
1
-7
-37
12
-28
19
-16
14
-35
11
3
30
28
-51
7
-48
13
19
-39
25
34
-4
29
-29
5
9
-7
-3
-5
2
34
1
-14
45
29
-18
-38
-11
-28
-6
20
28
-2
7
7
6
19
-25
-5
18
18
-25
1
27
-29
-21
12
41
16
-19
26
-12
-2
-7
67
-14
5
-18
-6
35
-3
19
11
5
15
37
5
9
-58
75
-16
30
35
-22
-2
-19
18
40
24
-7
0
-19
-26
-1
-7
38
-35
-54
6
-36
5
-23
-62
-1
-10
-25
-48
8
-47
19
13
-64
28
-23
38
0
25
-40
52
8
-20
-5
-16
80
-26
2
-12
-13
-11
28
18
-25
5
-15
-27
-2
20
-1
12
2
-15
16
7
-56
55
-32
7
4
-2
-5
0
18
33
0
11
33
41
1
52
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
0
0
0
39
16
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
6
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
0
0
0
-11
0
0
4
-3
0
0
5
0
0
0
13
0
0
2
0
0
0
1
0
0
-18
3
0
0
0
0
0
0
-4
0
0
-8
0
-6
-7
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
-9
-51
0
-3
-4
0
0
5
33
0
-43
-2
0
0
9
4
0
0
1
0
0
-1
-11
0
0
0
0
0
0
15
0
0
-1
0
0
0
-19
0
-7
-4
1
0
0
33
0
0
0
0
0
0
-18
0
0
0
0
0
0
27
-2
0
0
0
0
0
107
0
0
0
2
0
7
14
0
0
0
0
0
0
-26
0
-1
0
0
0
0
-22
0
0
-8
0
0
0
23
0
0
-1
0
0
0
35
0
0
0
0
0
0
-19
0
0
0
0
-2
0
-4
0
0
0
0
0
0
-8
-2
-4
0
0
0
0
9
0
-4
0
0
0
-1
27
0
0
0
0
0
-1
-7
0
13
0
0
0
0
6
0
0
-1
1
0
0
6
0
0
0
0
0
0
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
4
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-2
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
0
0
0
0
0
38
0
0
9
0
0
0
-2
0
0
-4
0
0
0
10
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
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
-4
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
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
-9
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
-21
0
0
0
0
0
0
-7
0
0
0
0
-10
0
0
0
6
0
0
14
0
0
0
13
0
0
-6
-7
0
0
22
-2
0
0
7
0
1
2
0
0
-2
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
21
-16
0
3
-24
0
0
39
-3
0
40
17
1
0
13
-17
0
0
38
0
0
-3
27
0
0
4
0
0
-4
-28
0
0
17
0
0
0
2
0
-4
0
0
0
0
-76
0
0
0
0
0
0
-25
4
0
0
0
0
1
-46
1
0
7
0
0
10
27
1
0
44
-2
0
23
30
0
0
-15
0
0
-19
36
0
-3
-7
0
0
0
15
0
0
11
0
0
-12
23
0
0
0
2
0
0
13
0
0
-1
0
0
0
15
0
0
0
0
0
0
-41
0
0
0
0
0
0
1
2
0
-6
0
0
0
-2
0
54
1
0
0
3
5
0
0
-2
0
0
0
-13
0
0
0
0
0
0
-45
0
3
-1
-2
0
0
24
0
0
-6
0
0
0
3
0
-1
0
0
0
0
38
0
3
0
0
0
0
-17
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
59
0
-1
24
0
0
3
-16
2
-4
1
1
-3
0
4
0
0
0
0
0
0
11
0
0
0
-2
-2
0
0
1
38
0
0
3
0
0
-15
0
0
0
0
10
-7
26
25
22
0
1
-9
-2
14
-16
-46
-5
-4
-13
7
0
2
-13
3
-3
-54
27
-2
7
-18
22
-5
-50
-5
0
0
-9
0
-12
3
-24
0
0
-6
9
34
0
-44
0
1
-2
0
-6
2
9
0
0
0
-2
72
0
0
35
0
0
-1
-1
0
0
0
0
0
0
0
-34
11
3
-18
-50
0
4
88
-89
-1
53
55
-2
0
-42
16
6
0
25
-6
1
-46
21
-1
-1
5
-14
-1
11
42
1
9
-23
0
1
0
4
0
38
-10
-12
0
1
8
0
0
0
0
-6
0
29
1
-9
0
0
0
-5
3
107
0
23
0
0
17
44
15
-25
-12
4
8
19
14
12
2
-15
0
-2
-9
-4
-2
-7
24
31
-3
-21
8
-7
0
-12
0
0
-10
-12
-4
0
32
3
0
-4
-34
10
2
0
1
29
1
12
0
2
-1
10
-3
0
-12
0
-1
0
0
0
10
34
27
29
-22
0
0
7
32
10
6
80
0
0
-19
26
-3
-2
-37
0
0
26
9
-1
-5
-56
6
0
3
-22
1
-10
2
10
0
30
15
-10
41
-47
0
0
-8
-26
0
-1
2
23
-4
0
-19
0
19
3
0
3
0
15
10
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
6
0
6
0
0
0
0
-3
-1
0
0
0
0
0
-4
0
0
0
0
-19
0
0
0
0
0
-6
0
0
0
0
-3
-1
0
0
0
0
0
9
0
0
0
-5
1
0
34
0
4
0
-6
0
0
-41
-2
0
0
-1
0
0
1
-2
0
-1
0
0
0
-1
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
13
0
0
0
0
0
0
0
0
0
0
0
8
-9
0
-3
-6
0
0
-8
0
0
-34
1
4
0
-10
-30
-8
-10
-7
0
0
-1
-28
0
2
1
-1
0
-1
25
0
1
3
0
0
4
11
0
27
0
2
0
0
20
0
0
2
2
-3
0
-10
-3
10
0
-1
0
0
65
10
6
12
0
0
-4
-46
6
-4
-6
0
0
6
0
0
6
47
0
0
0
2
0
0
-7
0
0
-4
-8
0
0
-4
0
0
0
84
0
0
6
3
0
0
-40
0
0
11
0
2
0
41
0
0
0
0
0
0
-18
0
0
0
0
0
0
46
4
-4
1
0
0
0
12
0
19
-34
0
0
-2
0
0
-1
-18
0
0
0
6
0
15
-4
0
0
1
-10
0
-1
1
0
0
-2
-13
0
-4
-4
0
0
0
22
0
-1
0
0
0
0
-4
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
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
21
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
1
-1
0
0
-39
0
0
0
39
0
-4
11
-3
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
53
0
0
27
0
0
6
0
0
-25
-29
-1
0
25
2
0
0
-9
0
0
-3
30
0
0
1
0
0
-2
10
0
0
0
0
0
0
15
0
0
0
-1
0
0
7
0
0
0
0
0
0
4
-1
1
0
0
0
0
-7
0
0
6
0
0
0
46
0
0
-4
0
0
0
50
0
2
-4
0
0
-2
-16
0
0
0
0
0
0
13
0
0
0
0
0
1
48
0
0
-5
-4
0
0
17
0
0
0
0
0
0
13
0
0
1
0
0
0
-15
0
0
0
0
0
0
34
0
0
0
0
0
0
9
0
0
0
0
0
0
-20
0
0
3
0
0
0
38
0
1
0
0
0
0
-1
0
0
0
2
0
0
-4
0
1
0
0
0
0
2
0
0
0
0
0
0
22
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
-65
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
6
0
0
12
0
0
0
0
0
0
21
0
0
0
0
-1
1
0
0
-10
0
0
-10
0
0
0
-68
0
0
-17
-17
0
0
-17
3
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
7
-18
0
0
-10
0
0
0
15
0
0
0
0
0
0
0
-4
15
0
0
3
0
0
1
-50
0
24
22
0
0
-40
17
0
0
-22
0
0
-2
54
0
0
1
0
0
0
35
0
0
0
0
0
-1
-2
0
-16
0
-1
0
0
1
0
0
4
0
0
0
-43
2
6
0
0
0
0
-49
-4
0
0
0
0
2
-27
0
0
4
0
0
-2
-73
0
0
0
0
0
-1
9
0
0
1
0
0
0
-1
0
0
0
0
0
0
-78
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-26
0
0
0
0
0
0
77
1
0
0
0
0
0
17
0
-11
10
0
0
0
10
0
4
0
0
0
0
-14
0
1
0
0
0
0
-10
0
0
0
0
0
0
-51
0
6
0
0
0
0
-17
0
2
0
0
0
0
45
0
-2
2
0
0
0
19
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-1
0
0
1
0
0
0
-5
0
-7
4
-7
0
-20
0
0
0
0
0
0
-3
-2
0
0
0
-3
0
0
0
0
-14
0
0
-9
0
0
-27
0
0
0
-1
-2
0
31
13
-4
-2
3
-3
-6
1
-1
-29
-12
0
-9
6
0
0
4
-13
-2
28
4
3
6
-10
-6
9
45
-9
0
0
2
0
-10
-4
24
0
0
27
0
-19
36
0
0
0
-1
0
-2
0
-12
0
0
1
-3
1
0
0
6
0
0
0
-3
0
0
0
0
0
0
0
1
27
-1
4
6
0
0
13
-21
4
-38
-13
-3
0
22
-3
0
4
-11
2
0
-10
-44
-1
0
41
-7
0
9
-31
0
0
30
0
0
6
24
0
66
0
-23
0
-1
-66
0
0
0
0
3
0
33
-3
11
0
0
0
1
46
9
12
19
0
0
5
15
10
-10
39
-3
0
47
0
-1
1
12
10
-6
-22
33
0
0
30
0
-2
11
-53
0
-4
-30
3
0
1
31
12
0
-13
10
0
0
26
0
-2
0
-3
-3
0
60
0
0
-3
6
0
0
-23
-1
0
0
0
0
-1
24
10
2
-8
0
0
-2
10
0
8
-2
0
0
3
21
-6
0
0
-6
0
1
-12
1
-6
0
0
0
4
-7
0
-2
-5
0
0
0
58
2
30
0
0
0
0
51
0
0
0
-4
0
0
61
0
-4
0
0
3
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
-2
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-14
0
0
12
0
0
24
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
-48
0
0
26
0
0
0
1
0
1
27
0
0
0
0
0
-3
1
3
0
0
0
0
0
-1
0
0
0
1
0
-24
0
0
0
0
0
0
-20
0
0
9
0
0
0
0
0
0
0
0
0
0
0
6
12
0
0
39
0
0
-46
-58
0
47
-21
0
0
11
-25
0
0
-3
0
0
-9
3
0
0
0
0
0
0
-23
0
0
9
0
0
0
7
0
-29
0
0
1
0
-5
0
0
0
0
0
0
11
0
7
0
0
0
0
-11
-6
0
0
0
0
-3
-24
1
0
16
0
0
19
13
0
0
10
0
0
-1
41
0
0
4
-2
0
29
-21
0
0
0
0
0
0
35
0
0
3
0
0
-2
-14
0
0
0
0
0
0
-12
0
0
2
0
-3
0
16
0
0
0
0
0
0
8
3
0
0
0
0
-4
-33
0
-4
-3
0
0
0
47
0
0
-2
0
0
0
18
0
1
0
0
0
0
-2
0
-1
0
0
0
0
46
0
3
-1
0
0
0
19
0
0
1
0
0
0
18
0
5
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
6
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-8
0
0
0
0
0
1
-7
0
0
0
0
-3
0
0
0
1
0
0
64
2
0
0
-11
0
0
37
0
0
0
6
-4
0
-1
0
0
-6
0
0
0
-2
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
0
23
0
0
0
0
0
0
0
0
0
0
0
-10
40
0
0
6
0
0
28
0
0
-49
8
-1
0
5
69
0
0
39
0
0
0
10
0
0
-1
0
0
0
26
0
0
1
0
0
0
12
0
-21
0
10
0
0
18
0
0
0
0
0
0
25
-3
0
0
0
0
0
12
0
0
13
0
0
-1
92
-2
0
13
0
0
5
38
0
0
1
0
0
4
-1
0
-11
21
0
0
0
25
0
0
5
0
0
0
38
0
2
4
0
0
-2
27
0
0
2
0
0
0
-30
0
0
0
0
0
0
-63
0
0
0
0
0
0
22
0
0
0
0
0
0
2
0
15
0
0
0
1
5
0
0
-2
0
0
0
-35
0
0
0
0
0
0
39
0
0
3
0
0
0
-3
0
3
0
0
0
0
5
0
0
0
0
0
0
61
0
2
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
10
39
16
-25
58
8
-7
10
22
-6
4
-2
0
-33
-22
-17
0
0
-4
1
-11
0
1
0
-24
-3
0
12
0
0
-27
0
0
-1
6
21
25
-7
-24
0
-1
-6
-15
8
13
2
-20
22
27
-59
13
-3
-1
5
-3
15
15
1
-9
-3
-25
-15
56
-18
7
-2
20
54
2
28
-4
38
14
3
1
18
18
36
25
-1
-1
-10
0
-18
2
5
0
0
-12
1
-41
0
0
9
0
-1
-6
18
0
0
0
0
0
0
0
2
-18
76
27
7
0
-1
11
10
64
29
52
-67
-8
6
12
3
-21
5
-1
-11
20
-29
-3
-4
-38
37
11
36
28
-6
-2
14
1
-34
-19
-4
0
45
2
-5
-40
8
-5
0
0
0
-2
-11
0
5
-19
101
0
-23
1
6
-2
20
10
90
1
2
15
10
-6
12
-32
-37
10
29
13
-17
-23
17
0
59
22
27
-25
11
46
24
7
8
-20
21
-26
-31
3
13
-29
13
-11
-2
-53
8
-32
52
17
0
0
16
0
2
-3
10
0
0
-3
53
-15
0
-23
-8
0
0
0
-3
-3
1
-28
2
-28
0
-1
16
-33
-42
8
25
-2
-3
15
-7
38
-107
-2
10
2
20
16
4
-59
0
29
-17
11
-12
2
31
78
2
-44
-39
37
-2
18
21
6
-2
-2
17
-4
0
23
9
15
-3
32
0
-84
0
1
-17
0
-62
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
-15
0
0
0
0
0
0
-11
0
-3
0
0
-8
0
0
-1
12
0
0
6
0
0
0
21
0
0
7
0
0
0
9
0
6
11
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-1
0
3
0
0
0
0
-1
0
0
0
0
-4
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
-6
31
-3
0
45
0
0
12
-29
0
-21
53
2
0
22
0
0
0
15
0
0
-4
-60
0
0
-1
0
0
0
27
0
0
-2
0
0
0
2
0
-4
-11
0
0
0
-13
0
0
0
0
0
0
10
9
-2
0
0
0
-1
-26
0
0
-7
0
0
26
23
0
-8
18
0
0
4
63
0
0
9
0
0
10
0
0
0
-9
-8
0
0
48
0
0
0
-1
0
0
-32
0
0
0
0
0
0
-5
0
1
0
0
2
0
-71
0
0
0
0
0
0
-45
0
3
0
0
0
0
-25
2
0
-1
0
0
-2
24
0
37
-2
0
0
0
34
0
1
-5
0
0
0
0
0
17
4
2
0
0
-16
0
0
3
0
0
-1
-44
0
0
0
0
0
0
19
0
0
0
0
0
0
14
0
-6
0
0
0
0
-14
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
52
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
37
0
0
0
-25
0
0
1
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
0
-1
0
0
9
-4
0
-5
-9
0
0
-11
-35
0
0
6
0
0
7
-17
0
0
0
0
0
12
7
0
0
0
0
0
0
0
0
19
0
-2
0
0
17
0
0
0
0
0
0
11
0
0
0
0
0
0
-4
0
0
0
0
0
-4
36
0
7
3
0
0
-6
24
0
0
-1
0
0
0
-11
0
0
-7
0
0
0
17
0
0
-1
0
0
0
39
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
-1
4
0
-6
0
0
0
-4
0
0
-6
0
0
0
15
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
-40
0
0
0
0
0
0
-6
0
0
0
0
0
0
-24
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
6
0
0
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-79
0
0
-10
0
0
0
0
0
10
8
-1
0
-10
9
0
0
0
0
0
0
28
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
0
-7
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
5
-1
0
0
0
0
9
54
0
0
0
0
0
-3
7
0
0
0
0
0
0
-18
0
0
0
0
0
-2
-28
0
0
0
0
0
0
-4
0
0
0
0
0
0
28
0
0
0
0
0
0
-1
0
0
0
0
1
0
-2
0
0
0
0
0
0
28
0
0
0
0
0
0
-7
0
6
0
0
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
11
0
0
0
0
-1
0
0
0
0
0
0
21
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
-26
0
0
0
0
-1
0
1
1
0
0
0
-24
0
2
0
-4
0
0
7
0
0
0
34
0
0
35
0
6
0
-2
-1
0
22
13
0
0
0
0
0
-1
-9
0
0
0
-2
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
15
0
0
0
-1
0
0
0
0
0
0
0
-25
-16
0
0
-8
0
0
19
25
0
-56
19
0
0
38
-18
0
0
-14
1
0
12
19
0
0
0
0
0
0
12
0
0
-2
0
-8
0
6
0
-38
-6
4
0
1
32
0
0
0
0
0
0
-7
-9
4
0
0
0
0
3
-8
-1
0
0
0
1
35
-15
1
-2
0
0
-27
-2
0
0
-2
0
0
-9
-22
0
0
18
-2
0
-5
43
0
0
7
-3
0
0
-2
0
0
0
0
0
0
54
0
0
0
0
0
0
11
0
0
0
-2
0
0
7
0
0
0
0
0
0
-29
5
0
0
0
0
0
13
0
24
0
0
0
0
2
-2
0
0
1
0
0
-4
0
8
0
0
0
0
26
0
0
0
-8
12
1
12
0
3
0
0
0
0
-17
0
-3
0
0
0
0
57
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
-3
0
0
7
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
-3
0
0
-4
0
0
0
-3
0
0
0
1
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
-10
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
1
0
0
0
0
0
-3
-3
0
0
0
0
0
0
23
0
0
0
0
0
0
6
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
-17
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
20
0
0
0
0
0
8
0
0
0
0
0
0
-10
0
0
0
0
2
0
0
0
0
0
0
-12
0
0
0
-24
0
0
0
0
0
0
4
0
0
5
0
0
0
-3
0
0
8
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
20
31
0
0
10
0
0
30
28
0
-21
34
0
0
-4
10
0
0
-12
0
0
7
-4
0
0
4
0
0
1
-4
0
0
10
0
0
0
-6
0
-20
0
1
0
0
16
0
0
0
0
0
0
-6
0
0
0
0
0
0
58
0
0
-1
0
0
6
4
0
0
-34
0
0
-4
-42
0
0
-6
0
0
35
-31
0
0
3
0
0
0
12
0
0
-4
0
0
0
-11
0
0
0
0
0
0
56
0
0
0
0
0
0
-23
0
0
0
0
0
0
-17
0
0
0
0
0
0
-36
-4
0
0
0
0
0
-14
0
5
0
0
0
-2
-3
0
0
-6
0
0
1
27
0
0
0
0
0
0
-24
0
0
0
0
0
0
49
0
-9
0
0
0
0
-10
0
0
0
0
0
0
-7
0
-1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
-2
0
0
0
6
0
0
44
0
0
0
16
0
0
-3
-5
0
0
53
29
0
9
1
0
0
2
0
4
-2
8
0
0
-11
0
0
-7
0
0
0
0
0
0
0
-2
0
0
0
0
-6
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-24
0
0
0
-26
0
101
-10
1
0
13
-13
0
0
17
0
0
1
-59
0
0
-1
-1
0
-2
49
0
0
20
0
0
0
-3
0
-2
0
0
0
0
4
0
0
0
0
0
0
27
-2
0
0
0
0
0
-16
-9
0
0
0
0
0
13
7
4
-18
-3
-2
4
-13
0
3
-5
0
0
0
6
0
-1
-3
-1
2
-4
-34
0
0
0
0
0
-2
-18
0
0
1
0
0
0
-30
0
0
2
0
-6
0
1
0
0
0
0
-2
0
-17
0
0
0
0
-1
0
-21
-13
-2
0
0
0
0
-25
1
-2
-27
0
0
0
-11
0
3
0
3
0
0
4
1
-2
7
0
0
0
34
0
0
0
0
0
0
-64
0
0
1
0
0
0
5
0
0
0
-1
1
0
11
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
-3
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
23
0
0
0
0
0
1
0
0
0
-1
8
0
-18
4
0
0
1
-35
0
0
4
33
0
0
36
2
0
0
-28
2
0
71
12
0
0
-14
-33
2
23
0
0
0
-1
-4
-8
8
20
0
0
-3
1
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
-6
0
0
13
0
0
0
-2
0
0
0
0
0
0
0
3
23
0
0
65
0
0
40
-33
4
-28
-7
1
0
11
-53
0
0
13
2
0
-22
0
0
0
-13
-2
0
0
8
-1
0
18
-1
0
0
-35
0
-105
3
4
0
0
64
0
0
0
0
0
0
18
-7
11
0
0
0
2
9
36
0
-6
0
0
-4
-11
7
3
-14
1
0
-3
13
-2
0
42
0
0
-7
-4
0
-10
-4
-4
0
-6
0
0
-6
-2
-9
0
0
22
0
0
-1
2
0
0
-13
0
0
-1
0
0
0
44
0
0
0
9
-2
0
-6
0
0
0
0
0
2
4
-21
0
8
0
0
3
-29
0
4
27
0
0
-1
-4
-4
-2
-2
0
0
16
6
1
-2
11
0
0
-2
0
0
-4
7
-8
0
-1
17
0
4
0
0
0
0
16
0
6
0
0
0
0
6
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
21
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
4
0
0
3
18
0
0
-8
0
0
0
22
0
0
2
0
0
0
6
0
0
53
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
13
-46
0
2
-23
0
0
-12
44
0
13
-19
-2
0
13
-14
0
0
-12
0
0
-8
10
0
0
3
0
0
0
42
0
0
0
0
0
0
25
0
16
0
0
0
0
13
0
0
0
0
0
0
50
0
0
0
0
0
0
4
0
0
0
0
0
0
38
0
-4
3
0
0
0
39
0
0
0
0
0
0
8
0
0
15
0
0
0
-31
0
0
-3
0
0
0
42
0
0
0
0
0
0
22
0
0
-3
0
0
0
7
0
0
0
1
0
0
-23
0
0
0
0
0
0
7
3
1
0
0
0
0
-4
0
6
0
0
0
0
-10
0
0
3
0
0
0
41
0
0
0
0
0
0
-14
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
4
0
0
0
36
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
72
0
0
0
0
0
-62
0
0
0
0
0
0
8
0
0
0
0
-1
0
0
0
0
0
0
7
-1
0
0
7
0
0
1
0
0
0
17
-6
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
1
0
0
0
-1
0
0
0
0
0
0
0
-1
-92
0
0
13
0
0
0
7
0
9
-3
0
0
7
14
0
0
-11
0
0
0
-12
0
0
0
-4
0
0
1
0
0
1
0
0
0
11
0
1
0
0
0
0
-12
0
0
0
0
0
0
-81
-1
0
0
0
0
0
0
-7
0
-1
0
0
-1
34
-2
0
0
0
0
0
33
0
0
1
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
0
0
0
12
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
-27
0
0
0
0
0
0
-3
0
-1
0
0
0
0
-2
0
-1
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
52
0
0
0
0
0
0
-5
0
0
0
0
2
0
0
0
0
0
0
58
0
0
0
-3
0
0
0
0
0
0
0
4
0
-5
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
-20
0
0
0
0
0
-2
7
0
11
-7
0
0
1
3
0
0
0
0
0
-1
-3
0
0
0
0
0
0
-18
0
0
1
0
0
0
10
0
8
0
0
0
0
-7
0
0
0
0
0
0
-29
-2
0
0
0
0
0
0
2
0
0
0
0
0
8
0
0
-1
0
0
0
-19
0
0
1
0
0
0
4
0
0
1
0
0
0
4
0
0
-1
1
0
0
-18
0
0
0
0
0
0
-16
0
0
0
0
0
0
-3
0
0
0
0
0
0
-29
0
0
0
0
0
0
-27
0
0
0
0
0
0
-1
0
0
-10
0
0
0
1
0
0
2
-2
0
0
29
0
1
-3
0
0
0
-2
0
-2
0
0
0
0
-1
0
-3
-2
0
0
0
8
0
0
0
-1
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
-2
0
-7
0
0
0
-4
0
0
0
0
0
0
-6
0
0
0
44
0
0
12
0
0
-1
0
0
0
0
0
0
0
-2
0
0
0
11
0
0
0
6
0
0
-15
0
0
0
4
0
1
-1
0
0
0
-1
0
-1
23
4
0
0
0
0
4
-2
0
0
0
0
0
0
0
2
0
0
0
0
-13
0
0
0
0
0
0
1
0
0
13
0
0
0
2
0
0
0
0
0
0
0
-1
47
0
0
-17
0
0
0
-6
0
-52
-18
0
0
-4
-23
0
0
-25
0
0
-8
46
0
0
13
0
0
-1
21
0
0
49
0
0
-2
6
0
28
0
0
0
0
-7
0
0
0
0
5
0
19
1
0
0
0
0
0
-10
4
0
0
0
0
-7
-7
0
0
5
0
0
0
-27
0
0
-1
0
0
8
-23
0
0
-13
0
0
-1
-72
0
10
-3
0
0
0
-2
0
0
2
0
0
0
-22
0
0
19
0
9
0
30
0
0
-2
0
0
0
4
0
0
0
0
-1
0
1
-1
0
0
0
0
0
6
0
4
0
0
0
0
24
2
0
0
0
0
0
-7
0
-3
3
0
0
1
7
0
0
0
0
1
0
21
0
0
0
0
-1
0
11
0
0
0
0
0
0
8
0
-1
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
13
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
38
0
0
0
-6
0
0
9
0
0
0
-23
12
0
11
0
0
0
4
0
0
24
-1
0
0
-6
2
0
29
2
0
0
0
0
0
0
1
0
0
0
17
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
6
-18
0
0
-62
0
0
-19
47
0
8
2
-1
0
8
21
0
0
-68
0
0
0
9
0
0
-18
-1
0
6
69
0
0
28
0
0
6
2
0
37
-2
-37
0
0
9
0
0
0
0
0
0
29
-1
-1
0
2
0
0
23
-42
0
1
0
0
0
13
3
-10
39
2
0
8
1
0
6
29
0
0
-13
42
0
6
18
0
0
7
22
-2
0
22
16
0
0
23
0
0
32
-7
0
0
6
0
0
-4
0
0
0
19
0
0
1
2
0
0
19
0
0
0
0
0
0
-2
13
0
3
0
0
0
32
0
17
11
0
0
0
16
0
0
3
0
0
0
44
0
-2
1
0
0
0
22
0
-1
0
7
0
0
-7
0
6
7
0
0
0
-5
0
0
-1
0
0
0
-14
0
21
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
-1
0
0
0
4
0
0
-42
0
0
0
-20
0
0
4
0
0
0
-5
0
0
0
0
0
0
-1
0
-39
-2
-3
0
0
-3
0
2
0
0
0
0
-23
0
27
0
4
0
0
0
-2
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-42
0
8
-20
0
0
0
-3
0
7
-17
-2
0
0
15
0
0
-5
0
0
0
46
0
0
-10
0
0
0
3
0
0
-37
0
0
0
-3
0
-5
0
45
0
0
-16
0
0
0
0
0
0
-3
0
0
0
0
0
0
14
2
0
0
0
0
0
-19
1
0
2
0
0
0
17
0
0
-4
0
0
0
12
0
0
-8
0
0
3
23
0
0
22
0
0
0
10
0
0
0
0
0
0
-44
0
0
-2
0
-1
0
-12
0
0
2
0
0
0
21
0
0
0
0
0
0
58
0
0
0
0
0
0
51
0
-16
0
0
0
0
-13
0
0
0
0
0
0
-54
0
-6
2
1
0
0
-28
0
1
0
-9
0
0
10
0
0
10
0
0
0
20
0
0
0
0
9
0
15
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-64
0
0
0
0
0
-7
0
0
0
0
-1
-2
-1
0
0
0
0
-3
0
0
0
0
7
0
-13
-4
0
0
20
0
0
-3
-6
0
-3
34
9
0
-5
3
0
0
13
0
0
27
0
0
0
1
0
0
0
0
0
0
3
0
0
0
3
0
0
0
0
0
0
0
-11
0
0
0
6
0
0
0
0
0
0
0
-3
8
0
0
-29
0
0
11
26
-3
42
22
-1
0
16
28
-3
0
-8
1
0
7
-31
0
0
1
0
0
3
0
0
0
0
0
0
0
-19
0
3
0
0
0
0
17
0
0
0
0
0
0
25
3
-7
0
0
0
1
1
20
0
-19
0
0
-3
30
14
-1
-5
-9
-1
-1
5
0
0
26
0
0
0
10
0
0
-2
0
0
-8
-26
6
0
0
0
0
4
0
-1
0
3
2
0
0
-30
0
0
0
0
0
0
21
0
0
-1
0
0
0
17
1
0
0
0
0
-6
42
4
-1
0
0
0
0
8
3
42
-23
0
-1
0
-26
-2
0
5
0
0
-2
43
0
-9
-1
0
0
0
-5
0
-1
11
-6
0
0
0
-2
0
0
0
0
0
-26
0
-3
0
-9
0
0
-44
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
-10
0
0
0
0
0
-24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-60
0
0
-2
0
0
0
-6
0
-8
7
0
0
6
11
0
0
4
0
0
0
-8
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
0
0
0
0
0
0
-37
0
0
0
0
0
0
3
0
0
0
0
0
0
-30
0
0
-3
0
0
0
-44
0
0
-6
0
0
0
-33
0
0
-1
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
-3
0
0
-1
0
0
0
5
0
0
0
0
0
0
-16
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
-1
0
0
0
21
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-19
0
0
0
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
3
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
0
0
0
0
28
13
3
0
0
-2
0
0
0
0
0
0
-8
0
0
2
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
27
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
-1
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-4
0
0
-2
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
8
0
-15
-1
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
3
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-24
0
0
0
0
0
0
-53
0
0
0
0
0
0
-14
0
0
1
0
0
0
-5
0
0
-8
0
0
0
-35
0
0
0
0
0
0
-26
0
0
0
-2
0
0
2
0
0
-3
0
0
0
-33
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
-1
0
0
0
0
10
0
0
0
0
0
0
8
0
0
0
0
0
0
2
0
0
0
-3
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-33
0
0
0
0
0
0
-1
0
0
0
0
0
-1
15
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
6
0
0
0
0
0
0
-7
3
0
0
0
-6
0
0
0
2
0
0
20
0
0
0
-36
0
11
0
-9
0
0
12
10
0
-37
5
0
0
14
0
0
-2
4
0
0
0
-1
0
3
-5
0
0
-3
0
0
0
0
0
0
0
7
0
0
0
23
0
0
-6
0
0
0
0
0
0
0
0
-12
-15
0
0
23
0
0
-36
-14
0
-23
-6
0
0
55
-46
0
0
26
0
0
-4
59
0
0
-8
-1
0
0
-11
0
0
1
0
0
-3
8
0
-21
0
-8
0
0
18
0
0
0
0
0
0
32
-16
0
0
0
0
0
-8
10
0
-2
0
0
-10
30
0
4
0
-1
0
-49
-17
0
0
-11
0
0
-6
19
0
0
-8
8
0
1
9
0
1
-8
0
0
-9
7
0
0
5
2
0
-1
-5
0
0
-2
0
0
0
-15
0
0
3
19
0
0
-1
3
0
0
0
0
0
9
16
0
0
0
0
-12
-6
0
2
-2
0
0
-2
-5
0
0
57
0
0
4
73
0
1
21
0
0
1
20
0
3
-7
0
0
0
-12
0
-13
0
0
0
0
-11
0
-7
0
0
0
0
-23
0
12
0
0
0
0
-10
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-1
0
0
4
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-29
6
0
0
1
0
0
12
-1
0
-7
0
0
0
-6
-37
0
0
2
0
0
-1
-11
0
0
0
0
0
0
-33
0
0
0
0
0
0
1
0
2
0
0
0
0
15
0
0
0
0
0
0
-43
0
0
0
0
0
0
-45
0
0
0
0
0
9
-54
0
0
0
2
0
4
-39
0
0
6
0
0
0
6
0
-2
0
0
0
-6
7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-28
0
0
0
0
0
0
-6
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
7
0
-3
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
-2
0
0
0
17
0
0
0
3
0
0
-2
0
0
0
0
0
0
-1
0
0
0
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
-1
0
0
-3
0
0
-17
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
-11
-2
0
-7
0
0
0
7
0
0
4
-1
1
0
-8
0
0
-12
-1
0
0
1
0
0
0
-4
0
0
0
2
0
-1
0
0
0
0
0
0
3
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-26
0
0
-25
0
0
7
19
0
-41
-23
0
0
-39
-17
0
0
4
0
0
1
-47
0
0
1
0
0
-1
-21
0
0
-3
0
0
0
0
0
-3
0
0
0
0
26
0
0
0
0
0
0
-34
1
0
0
0
0
0
1
2
0
-2
0
0
0
35
1
-4
4
3
0
0
32
0
0
-12
0
0
0
-7
0
0
-23
0
0
-4
-17
0
-2
-2
0
0
0
16
0
0
-4
19
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
20
0
-25
0
0
0
0
0
0
22
0
0
-2
0
0
0
-15
0
2
2
0
0
0
-42
-4
0
0
0
0
0
-18
0
1
-2
0
0
0
4
0
0
3
0
0
0
-28
0
-9
-1
0
0
0
0
0
0
0
0
0
0
9
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
10
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
18
0
0
0
-2
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
2
0
0
-1
0
0
1
-9
0
0
16
0
0
0
0
0
0
0
10
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
-1
8
0
0
0
-1
0
0
0
0
0
0
11
-3
0
0
0
0
0
41
0
0
0
0
0
12
30
0
0
0
0
0
0
2
0
0
0
0
0
0
87
0
0
1
0
0
0
15
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
-1
-2
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
-3
0
0
0
0
0
0
2
0
-3
0
0
0
0
-3
0
0
0
0
0
0
11
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
4
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
-2
0
0
0
4
0
-8
9
0
0
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
0
0
0
0
0
-15
0
0
0
0
0
0
-37
0
0
0
0
0
0
-15
0
0
0
0
0
0
-43
0
0
-3
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-26
0
0
0
0
0
0
-6
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
-1
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-13
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
-15
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
16
0
0
8
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
-3
0
0
4
0
0
0
0
0
0
0
0
0
0
0
2
8
0
0
3
0
0
-6
39
0
3
0
0
0
1
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
3
0
0
0
0
9
0
0
0
0
0
0
38
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
2
0
2
0
0
-2
0
0
0
0
-2
0
-2
0
0
0
2
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
-26
0
0
0
0
2
0
1
0
0
0
0
0
0
-20
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
2
0
0
0
0
-1
0
0
1
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
-24
0
0
0
0
-2
0
17
0
0
0
1
0
0
0
0
1
0
0
-25
0
0
0
11
0
0
-3
0
0
4
-8
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-5
0
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
5
0
0
0
-11
0
-8
-9
0
0
-1
-18
0
0
1
0
0
0
2
0
0
8
0
0
-2
5
0
0
22
0
0
0
2
0
-18
0
0
0
0
-41
0
0
0
0
0
0
15
-1
0
0
0
0
0
-18
-12
0
0
0
0
0
-26
0
-2
0
0
0
0
-34
0
0
1
0
0
-3
-31
0
0
0
0
0
7
-1
0
0
-1
0
3
3
21
0
0
8
0
0
0
-31
0
0
-7
0
0
0
-9
0
0
1
0
0
0
26
0
0
0
0
0
0
-47
0
0
-7
0
0
0
3
0
-8
-1
0
0
3
5
0
0
0
0
0
0
13
0
0
0
0
0
0
-16
0
0
-4
0
0
0
13
0
0
0
0
0
0
39
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
-15
0
0
0
0
0
-25
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
-2
0
0
-4
0
0
0
-26
0
0
5
1
0
-2
0
-8
0
-8
0
0
0
0
0
0
-4
-6
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
24
23
0
0
73
0
0
-20
0
0
0
39
-2
0
34
-11
0
0
0
0
0
0
13
0
0
5
0
0
0
-32
0
0
-3
0
0
0
3
0
3
-11
0
0
0
8
0
0
0
0
0
0
21
-1
0
0
0
0
0
-29
0
0
11
0
0
3
-29
0
0
37
0
0
39
22
0
0
-1
0
0
0
6
0
1
-4
0
0
9
-38
0
0
-17
-8
0
0
32
0
0
2
0
0
-1
39
0
0
0
0
0
0
34
0
0
0
0
0
0
42
0
0
0
0
0
0
-20
-1
0
0
0
0
0
0
0
4
-8
0
0
0
-7
0
0
0
0
0
-2
6
0
3
0
0
0
0
15
0
0
0
-3
0
0
-14
0
-6
0
0
0
0
6
0
0
0
0
0
0
-7
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
-34
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-26
0
0
0
0
0
0
-11
0
0
1
0
0
0
1
0
0
0
0
0
0
-2
0
0
-4
0
0
0
-1
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
-6
0
0
0
0
0
0
-9
0
0
-4
0
0
0
0
0
0
0
-1
0
0
-6
0
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
-5
0
0
0
7
0
9
-11
0
0
-1
-20
0
0
0
0
0
0
-17
0
0
4
0
0
-1
-2
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
-29
-1
0
0
0
0
-2
-15
0
0
0
0
0
0
14
0
4
0
0
0
0
25
0
0
-2
0
0
0
17
0
0
-2
0
0
-2
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
25
0
0
0
0
0
0
2
0
0
0
0
0
0
-22
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
-1
0
0
0
-2
0
0
-2
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
1
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
7
0
2
0
0
0
0
-11
0
0
-1
0
0
7
-4
0
0
0
0
0
0
2
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
-49
0
0
0
0
0
0
-41
0
0
10
0
0
0
-22
0
0
0
0
0
-2
-3
0
0
3
0
0
0
-12
0
0
0
0
0
0
-60
0
0
0
0
0
0
-3
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
9
0
-2
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
-2
0
-39
-7
-4
12
-56
-2
-23
-33
35
-12
-21
-40
10
33
-14
6
13
-28
-28
19
17
9
8
-5
-2
-26
8
-29
-29
-14
-3
-4
-1
8
-18
-47
19
-3
12
-27
16
-3
-7
-31
-3
2
-1
4
-9
-17
-27
3
-1
-6
28
5
0
-1
-31
0
0
-25
21
0
0
0
0
0
0
0
5
-2
19
-11
3
-15
-52
-16
-7
-16
-8
-7
-61
-1
15
-8
-29
-9
-4
-8
-13
-36
18
-33
0
-17
45
14
-29
13
-2
-10
48
4
-18
36
-4
-3
-9
-11
-24
51
-13
-34
23
2
-17
-6
-47
0
4
-9
0
-1
-26
0
-29
-18
36
4
-19
9
1
64
2
-15
-19
-7
-29
-27
-15
-9
12
-1
14
50
16
-23
-14
-10
12
14
-48
53
-14
6
-4
-41
5
-23
2
21
-28
38
40
-10
1
17
9
-3
-3
2
-25
15
22
10
2
-2
6
-41
40
1
-1
-12
27
-5
0
16
2
-27
-6
-9
-101
3
-15
0
39
-17
1
24
56
-24
2
-21
-23
-27
25
-24
-83
4
-4
-1
22
6
-4
37
-19
8
-4
-22
49
-19
-6
0
-11
-7
6
5
-16
44
7
-11
-19
-6
35
15
4
36
2
-12
3
-35
-8
1
-19
1
2
-6
-43
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
5
-3
0
0
0
8
0
0
-8
12
0
0
-20
0
0
0
38
0
0
62
7
0
0
-14
20
0
34
0
1
0
-2
0
0
10
-7
0
0
-1
-8
0
-14
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
-1
0
0
0
0
0
0
0
0
-22
11
7
0
3
0
0
48
10
-6
37
35
-11
0
37
0
0
0
20
0
0
21
24
0
0
21
3
0
39
21
0
0
19
0
0
-2
-5
0
-20
-4
8
0
0
-23
0
0
0
0
0
0
8
12
0
0
12
0
0
20
-14
-2
-6
0
0
-11
-9
10
-4
-47
-3
0
-1
-10
0
4
37
0
0
7
29
0
17
27
8
0
-21
-8
-4
-1
16
0
0
-4
-12
0
0
42
-1
0
-6
28
0
0
-2
0
0
0
-41
0
1
-2
-14
0
0
-4
-4
0
0
0
0
0
-57
7
0
0
0
0
-6
46
0
-38
-35
0
0
-2
28
0
0
-4
0
0
0
-24
0
0
-4
2
0
0
2
0
0
15
-8
0
0
41
0
8
-2
0
0
6
-62
0
-6
0
-1
0
0
-15
0
34
3
0
0
0
13
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
5
1
13
-2
-22
12
12
-74
9
-1
14
28
-1
26
60
-12
-4
31
-7
-11
7
34
-14
22
-11
6
10
-67
15
-3
39
-89
9
18
0
6
14
21
-1
13
41
-34
-13
-7
-10
25
-16
-34
15
-1
-19
-26
6
2
-6
1
-1
-26
-33
40
-6
0
0
0
0
0
0
0
9
-6
37
9
-3
32
14
0
-2
0
18
-2
-10
9
-9
4
-16
54
5
17
-19
-6
-33
-56
15
6
-5
0
-5
0
-7
-54
4
-36
7
21
2
-48
-2
10
18
30
19
5
15
-33
36
9
-35
1
-7
28
-15
-8
-1
-18
25
2
-13
-48
8
7
-2
-13
-7
10
11
5
3
0
-32
-6
-73
-8
3
9
21
6
-12
5
10
16
-7
-21
16
0
41
8
-11
44
-27
33
16
31
-1
-7
14
-41
-7
-1
24
-1
-19
6
19
-3
-16
-30
-38
-22
-33
-29
0
-4
-1
-51
-17
6
3
33
-9
9
-11
51
-66
-18
45
-3
34
-18
-9
31
34
-4
19
-23
-51
-9
-42
-22
-36
-21
-39
-57
11
-11
5
-6
-16
-19
-25
-23
29
5
19
-1
18
-7
1
8
6
-70
6
13
-20
-13
0
14
-2
6
23
17
-8
11
-7
-7
3
-2
13
-9
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
3
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
1
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
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
-8
0
0
0
0
0
0
-9
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
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
6
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
1
0
0
-17
26
0
59
-4
0
0
29
27
0
0
0
0
0
0
12
0
0
0
0
0
0
-33
0
0
0
0
0
0
-3
0
-5
0
0
0
0
-15
0
0
0
0
0
0
3
-10
0
0
0
0
0
25
4
0
0
0
0
-4
36
0
0
2
0
0
0
60
0
0
0
0
0
0
54
0
0
0
0
0
0
48
0
0
0
0
0
0
13
0
0
-1
6
0
0
-22
0
0
0
0
0
0
17
0
0
0
0
0
0
21
0
0
0
0
0
0
-33
3
0
0
0
0
0
11
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
-1
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
-10
2
0
12
35
0
10
20
3
-6
0
-7
0
0
-49
6
0
1
-1
-8
0
-18
10
0
0
-26
0
0
1
-4
0
0
8
-12
0
2
1
0
0
0
0
0
0
6
0
0
0
0
-3
0
0
-3
0
0
0
7
0
0
0
0
0
0
0
63
4
0
1
39
0
0
-16
4
-9
5
44
-3
0
-32
-8
-1
0
-61
0
0
0
22
0
0
3
3
0
-9
30
0
0
-11
0
0
0
46
0
-3
-6
0
0
0
59
0
0
4
0
0
0
22
11
0
0
-2
0
0
39
4
1
4
0
0
51
11
21
-1
19
0
0
-20
-56
2
0
-27
0
0
-13
-29
0
1
-14
10
0
3
10
0
3
-13
0
0
0
-32
0
0
12
33
0
2
-49
0
0
0
0
0
0
22
0
0
3
0
0
0
-39
1
0
0
0
0
0
53
-13
0
-3
0
0
0
16
-6
46
9
-2
0
11
-22
4
-7
3
0
0
2
-9
0
-36
0
0
0
0
-18
0
0
1
-29
0
0
0
0
1
0
0
0
0
-9
0
2
0
0
0
0
6
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
4
0
0
0
-21
0
0
0
1
0
0
6
6
0
-1
31
0
0
0
0
0
0
4
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
1
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-27
0
0
7
36
0
-35
10
3
0
64
7
0
0
5
0
0
23
-16
0
0
10
-1
0
3
25
0
0
4
0
0
0
-1
0
23
0
0
0
0
24
0
0
0
0
0
0
-21
-8
0
0
0
0
0
0
6
0
-20
0
0
0
12
6
-9
17
6
0
-1
-31
0
0
6
0
0
0
8
0
0
-8
0
0
8
-8
0
1
-12
0
0
-3
6
0
0
13
-2
0
0
49
0
0
2
0
0
0
-46
0
0
0
2
-6
0
-5
0
0
0
0
0
0
0
46
7
-7
4
0
0
0
0
-11
-2
0
0
0
48
0
16
0
0
0
0
-12
0
1
7
0
0
1
-3
0
-1
1
-1
0
0
-8
0
0
0
0
0
0
2
0
0
0
-1
0
0
21
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-3
1
-32
1
9
6
-21
7
-7
0
35
0
9
-19
9
0
0
-3
14
-7
-12
-36
0
7
-5
0
15
-1
-28
0
-2
18
0
3
-3
8
0
0
0
0
0
0
-6
18
0
0
0
15
0
0
-30
0
0
0
-18
0
0
0
0
0
0
0
-33
11
-4
-8
12
0
-2
9
16
-6
8
34
9
-3
61
48
0
-7
-59
0
1
-32
27
0
0
-13
1
0
-17
-3
0
14
2
0
0
-3
-18
0
9
-11
46
-1
0
-33
0
0
0
0
-1
0
-25
3
-5
0
0
0
6
-13
-1
3
-13
-8
0
12
-30
13
-1
10
2
1
-38
40
0
0
5
2
-1
29
10
0
-19
5
17
1
25
21
0
-3
4
4
0
-11
-1
0
-1
24
24
0
-1
-5
0
0
1
1
24
0
41
0
0
6
-2
6
0
-11
-2
0
0
0
-1
-7
23
0
-20
52
-6
0
25
3
0
10
6
0
0
-21
26
-1
2
23
-9
0
1
-9
2
24
0
-3
11
2
15
0
2
6
-30
0
-9
37
0
-24
-3
10
0
0
6
0
-9
-1
15
8
9
19
0
2
-1
0
0
0
34
4
-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
-22
0
0
0
-10
-1
0
37
0
-3
0
21
0
0
-1
29
1
0
-2
0
7
-1
0
0
0
0
0
0
3
2
0
0
0
0
0
9
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
6
0
0
0
10
0
0
0
0
0
0
0
21
65
0
4
21
0
0
7
-3
0
56
79
0
0
-24
-55
11
0
80
0
0
0
47
0
0
-3
0
0
0
-2
0
0
9
0
0
0
10
0
-14
0
2
0
0
-13
0
0
0
-1
1
0
4
0
0
0
0
0
0
12
-3
0
-2
0
0
0
12
5
0
39
0
0
11
47
0
0
-6
0
0
13
33
-1
0
-21
0
0
0
53
0
0
-1
0
0
0
-16
0
0
-5
8
0
0
-1
0
0
0
0
0
0
27
0
0
-1
0
0
0
-8
0
0
0
0
0
0
23
-2
0
0
0
0
0
33
0
0
16
0
0
0
30
0
0
0
0
0
0
5
0
0
8
0
0
0
-9
0
0
0
-1
0
0
26
0
0
0
0
0
-1
5
0
0
0
0
0
0
-45
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
38
0
0
0
20
0
3
-16
8
0
0
0
-3
0
7
0
0
0
0
0
0
0
9
0
0
0
0
1
-2
-8
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-8
0
0
0
-1
0
0
0
0
0
0
0
6
29
0
0
24
0
0
40
43
0
50
-18
-4
0
24
19
0
0
9
0
0
0
0
0
0
-2
0
0
-1
-65
0
0
-1
0
0
0
12
0
-5
0
0
-1
0
-7
0
0
0
0
0
0
9
0
14
0
0
0
0
34
-17
0
-7
0
0
8
25
0
-4
-6
0
0
14
-9
0
-1
-6
0
0
1
-21
0
8
16
7
0
0
32
0
0
0
0
0
0
38
0
0
-2
23
0
0
-8
0
0
0
0
0
0
30
0
0
0
0
0
0
6
0
6
0
0
0
0
2
15
0
-4
0
0
-2
-26
0
-13
19
0
1
0
24
0
0
0
2
0
0
26
0
6
-4
0
0
0
5
0
0
-7
3
0
0
40
0
-1
0
0
0
0
20
0
0
-2
0
0
0
7
0
41
0
0
0
0
43
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-3
0
0
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
10
0
0
-1
-1
0
12
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
-3
0
-2
0
0
0
0
-2
0
0
0
0
0
0
-38
0
0
0
0
0
2
-18
-1
0
-1
0
0
-1
22
0
0
10
0
0
0
3
0
0
0
0
0
0
-22
0
0
0
0
0
0
19
0
0
0
0
0
-1
23
0
0
0
0
0
0
28
0
0
0
0
0
0
4
0
0
0
0
0
0
38
0
0
0
0
0
0
-20
0
0
-2
0
0
0
6
0
-3
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
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
11
0
0
9
0
0
0
1
0
0
0
-6
0
0
3
0
0
3
1
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-7
24
0
-1
46
0
0
20
-11
0
7
14
0
0
4
-3
0
0
0
0
0
0
25
0
0
0
0
0
0
57
0
0
2
0
0
0
5
0
-12
0
-11
0
0
27
0
0
0
0
0
0
33
0
0
0
0
0
0
24
2
0
7
0
0
0
40
-3
0
0
0
0
-8
-19
0
0
-5
0
0
6
-29
0
0
1
0
0
0
-47
0
0
0
-6
0
2
1
0
0
-4
0
0
0
-27
0
0
0
0
0
0
3
0
0
0
0
0
0
16
0
0
0
0
0
0
-5
1
0
0
0
0
0
80
0
6
15
0
0
2
32
0
0
-2
0
0
-2
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
5
0
0
-1
0
0
0
9
0
0
-6
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-20
-3
4
42
-7
0
33
7
0
8
-17
-9
0
1
16
0
0
-4
-4
-2
0
19
0
0
-7
0
0
1
3
0
0
4
0
8
0
9
24
0
0
0
-13
0
0
-12
0
0
0
41
0
0
0
0
0
0
0
37
19
7
-7
-13
-1
0
-29
-22
0
11
30
18
1
-69
32
-1
0
-27
-4
1
43
-17
7
0
-10
6
0
7
3
0
-2
-7
1
6
-1
-11
10
3
0
-12
0
9
-3
0
0
-4
7
-2
0
3
-4
1
0
0
0
3
10
-21
2
-5
6
0
26
30
-44
10
-20
-15
0
5
-29
-2
-3
82
1
0
-38
-4
-2
-2
32
9
0
4
-1
-3
2
-15
6
0
-7
-7
0
-4
38
7
0
2
-1
0
0
-57
0
-6
0
38
0
0
-1
3
4
0
-20
10
0
0
0
0
0
22
21
1
-2
-2
0
1
0
-7
3
43
-1
0
-25
-3
-2
-3
47
0
0
5
-19
-1
43
-31
0
0
0
7
0
1
34
32
0
-3
-27
-1
-16
21
0
0
0
-27
0
-9
1
-17
0
0
4
0
2
0
1
0
0
-12
-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
37
-2
0
0
-4
0
0
2
0
0
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
30
0
0
-7
10
0
18
14
6
0
47
27
0
0
-3
0
0
0
7
0
0
1
0
0
0
5
0
0
0
0
0
0
19
0
-4
0
-1
0
0
6
0
0
0
0
0
0
-15
0
0
0
0
0
0
25
0
0
-2
0
0
2
0
0
0
-26
0
0
-1
-17
0
0
0
0
0
2
4
0
0
0
0
0
8
0
0
0
0
0
0
0
-3
0
0
-1
2
0
0
-21
0
0
-1
0
3
0
6
0
0
0
0
1
0
21
-1
0
0
0
0
0
3
6
0
0
0
0
0
0
0
-1
0
0
0
-6
-33
0
0
2
0
0
0
-15
0
4
0
0
0
0
23
0
0
0
0
0
0
30
0
1
-1
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
-46
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
-1
0
0
12
0
0
0
0
0
0
0
0
0
0
0
-9
7
0
0
5
0
0
-4
-14
0
-4
5
0
0
27
2
0
0
-2
0
0
0
-10
0
0
0
0
0
0
-25
0
0
0
0
0
0
-15
0
-15
-2
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
0
0
-2
0
0
0
19
0
0
0
0
0
0
10
0
0
-8
0
0
0
80
0
0
1
0
0
0
7
0
0
1
0
0
0
12
0
0
1
0
0
0
50
0
0
0
0
0
0
35
0
0
0
0
0
0
28
0
0
0
0
0
0
52
1
0
-8
0
0
0
22
0
-4
0
0
0
0
32
0
-1
0
0
0
0
-37
0
2
1
0
0
0
4
0
0
0
0
0
0
-8
0
8
-1
0
0
0
1
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
10
0
0
82
0
4
-10
0
0
0
-9
-1
0
2
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
-11
0
0
5
0
0
0
-17
0
0
0
0
0
0
0
53
42
-2
0
47
0
0
-6
-12
4
28
46
0
0
9
-22
0
0
-3
0
0
0
1
0
0
1
0
0
0
-2
0
0
-4
0
0
0
28
0
6
0
0
0
0
10
0
0
0
0
0
0
5
-4
0
0
-3
0
-6
15
7
0
-9
0
0
8
-3
9
0
13
0
0
32
33
3
0
-20
0
0
7
-23
0
-1
-2
0
0
-2
49
0
0
1
0
0
0
-10
0
0
4
8
0
0
29
0
0
0
0
0
0
79
0
0
2
0
0
0
61
0
0
0
0
0
4
25
0
0
-1
0
0
1
-1
0
1
-2
0
0
-4
-26
-1
-1
0
2
0
2
12
0
9
1
0
0
0
57
0
0
0
0
0
0
6
0
0
0
0
0
0
15
0
0
0
-4
0
0
35
0
5
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
-11
0
4
-4
11
-2
1
-36
18
0
3
-4
-1
29
-1
46
0
0
6
0
4
-1
22
0
0
14
0
0
4
0
0
0
8
0
9
0
36
0
0
0
-4
10
0
0
24
0
0
0
-26
0
0
0
0
0
0
0
0
32
1
19
-36
0
6
4
-10
-3
-52
15
-34
-2
-14
-27
21
-10
-10
0
0
-25
-71
0
-1
-16
7
-3
-36
20
3
0
6
0
0
1
-4
-6
5
-11
2
-2
0
-29
0
0
0
-1
-9
0
26
-16
-2
0
0
0
7
67
48
1
59
0
0
-1
12
16
10
-3
0
0
48
4
0
5
-3
0
-1
5
54
-1
9
17
-26
-1
16
-13
0
-2
-7
0
0
12
-31
0
-4
-3
-2
10
6
-12
0
7
2
0
8
3
-28
0
-3
0
0
0
0
34
2
0
0
0
0
-4
15
2
14
5
0
0
-13
-3
0
-47
19
0
0
17
16
-2
2
14
0
-1
12
21
0
-20
20
0
-1
-3
2
0
-13
23
25
0
24
2
0
26
0
0
0
2
23
6
-11
6
0
0
0
12
0
15
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
1
0
0
7
0
-7
0
4
0
0
9
0
0
9
-12
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
-26
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-3
7
0
0
41
0
0
6
-2
0
38
-23
0
0
-14
19
0
0
2
0
0
0
-34
0
0
-32
0
0
0
-40
0
0
0
0
0
0
-8
0
59
0
0
0
0
1
0
0
0
0
0
0
-11
0
-11
0
0
0
0
33
0
0
-4
0
0
0
63
0
0
29
0
0
0
-11
0
0
42
0
0
3
9
0
0
-1
0
0
0
-43
0
0
44
0
0
6
10
0
0
6
0
0
0
16
0
0
0
0
0
0
-51
0
0
0
0
-2
0
53
0
0
0
0
0
0
16
2
0
0
0
0
0
3
0
22
4
0
0
0
-14
0
-3
-11
0
0
2
20
0
0
0
0
0
0
23
0
0
-7
0
0
0
20
0
35
0
0
0
0
0
0
0
0
0
0
0
66
0
4
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
1
0
0
0
36
0
0
0
0
0
0
1
0
0
8
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
1
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
2
1
0
-6
19
0
0
0
-16
0
13
-23
0
0
18
16
0
0
0
0
0
2
-5
0
0
-1
2
0
-1
11
0
0
-6
0
0
0
-2
0
0
0
0
0
0
15
0
0
0
0
0
0
25
0
0
0
0
0
0
83
2
0
-6
0
0
0
30
6
0
11
0
0
-4
47
0
0
7
0
0
3
37
0
0
2
0
0
-3
-16
0
0
-2
0
0
0
29
0
0
3
0
0
-4
39
0
0
0
0
0
0
5
0
0
0
0
0
0
14
0
0
0
0
0
0
56
3
0
0
0
0
0
-14
0
-5
-7
0
0
0
2
0
0
4
0
0
2
7
0
0
-2
0
0
0
2
0
0
0
0
0
0
17
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
69
-21
13
35
5
-11
-23
-27
-4
-35
52
4
-28
-32
19
-4
-3
0
13
-32
-18
-3
-3
-2
-6
1
15
-3
2
-30
2
7
-29
0
0
-10
24
0
4
14
-41
0
0
0
0
0
0
0
-1
-13
3
10
0
10
1
-4
-10
20
-3
2
11
17
21
13
32
-12
-1
-19
55
20
-22
-8
2
-53
6
-11
17
30
34
11
27
-32
31
-2
-4
-12
1
-11
25
39
6
3
52
-5
35
51
19
-1
16
-50
18
-1
25
0
9
3
42
87
26
-9
5
-27
21
18
-12
19
-28
42
35
3
3
0
-1
-9
4
10
15
37
47
16
47
4
30
-2
-9
23
-8
15
41
28
-18
-15
33
11
5
25
-24
5
-10
28
-4
-11
-26
-8
4
0
-46
27
14
43
0
3
1
10
-8
0
32
0
-7
-16
-3
-64
-22
3
-12
-7
1
-1
-19
-28
1
59
-11
6
7
22
-13
1
19
6
3
36
-10
19
-6
81
2
2
43
29
-18
27
23
-10
15
20
-9
-5
7
18
-34
48
29
-5
2
-6
22
4
-16
33
-10
-6
3
0
10
-15
-13
-6
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
-1
0
0
0
-1
0
0
-2
0
0
-1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
24
6
0
0
2
0
0
-5
0
-1
7
1
0
0
-11
-11
0
0
-10
0
0
3
2
0
0
0
0
0
4
6
0
0
0
0
0
0
-35
0
-24
0
-2
0
0
-12
0
0
0
0
0
0
-50
-7
0
0
0
0
0
19
0
0
0
0
0
0
24
6
2
3
0
0
-6
0
0
0
-8
0
0
11
-37
0
0
2
0
0
0
-43
0
0
-7
0
0
0
38
0
0
1
0
0
0
46
0
0
13
0
0
0
-3
0
0
1
0
-7
0
-7
0
0
0
0
0
0
12
-2
-1
0
0
0
-7
24
0
5
4
0
0
3
0
0
1
-11
-8
0
-3
2
0
7
-7
0
0
1
5
0
0
0
0
0
0
22
0
-1
1
0
0
0
36
0
1
1
0
0
0
13
0
0
2
0
0
0
32
-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
9
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
1
4
0
22
-7
0
0
1
6
0
0
0
0
0
-1
-5
0
0
-3
0
0
0
10
0
0
2
0
0
0
41
0
8
0
0
0
0
-8
0
0
0
0
0
0
25
0
0
0
0
0
0
25
0
0
0
0
0
0
37
0
0
0
0
0
0
-13
0
0
0
0
0
-10
1
0
0
-6
0
0
0
-1
0
0
0
0
0
-3
8
0
0
0
0
0
0
76
0
0
0
0
0
0
-12
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
-2
0
0
0
0
0
-16
0
0
-8
0
0
0
25
0
-4
0
0
0
0
20
0
2
0
0
0
0
16
0
0
0
0
0
0
3
0
-2
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
11
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
-2
0
0
0
-35
0
1
10
0
0
-18
0
0
0
0
0
0
0
8
0
0
0
0
0
0
61
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
27
0
0
0
0
0
0
-43
0
0
0
0
0
0
52
0
0
-3
0
0
0
10
0
0
1
0
0
0
18
0
0
2
0
0
0
-1
0
0
0
0
0
0
-23
0
0
4
0
0
0
17
0
0
0
0
0
0
-25
0
0
0
0
0
0
-8
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
10
0
0
0
0
0
0
-10
0
0
0
0
0
0
-24
0
0
0
0
0
0
3
0
0
0
0
0
0
32
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-63
23
-15
-44
-30
-2
-23
12
21
-6
20
-1
17
-34
-13
5
4
7
-34
-4
-29
0
-6
0
-38
1
9
8
7
0
0
-5
-48
20
0
-9
24
0
-1
-3
-36
0
0
0
0
0
0
0
-10
-18
-12
31
-60
20
1
-37
13
35
-7
-29
-36
3
11
-18
-14
-1
-13
-26
-11
25
-8
16
-6
3
-32
8
-11
-35
4
0
34
17
9
4
42
-3
-4
5
10
19
11
17
0
0
3
1
-33
0
8
0
19
0
37
3
6
15
76
-19
30
7
1
11
17
-7
-24
39
12
16
-20
5
-3
-10
13
-1
41
49
-24
-25
-4
-48
16
23
-12
9
10
-56
30
-4
1
6
-10
-15
-7
-47
17
25
54
10
0
0
48
4
-4
11
-11
3
-11
-2
-10
107
0
9
22
0
0
6
-10
39
-5
-5
30
43
0
-1
10
18
-8
0
2
-6
6
-3
35
25
-13
8
0
5
24
-25
12
61
-52
32
6
36
10
5
33
11
-16
-54
-34
7
-10
-46
3
-8
-20
0
8
2
6
14
-10
-1
0
-27
0
60
-2
1
-2
0
-10
-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
-10
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
9
51
0
14
21
0
0
29
8
0
0
0
0
0
0
74
0
0
0
0
0
-1
1
0
0
0
0
0
0
4
0
3
1
0
0
0
-3
0
0
0
0
0
0
3
0
1
0
0
0
0
-1
0
0
0
0
0
0
35
0
0
0
0
0
1
33
0
0
-2
0
0
0
-20
0
0
0
0
0
0
18
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
51
0
0
0
0
0
0
69
0
0
0
0
0
0
54
0
0
0
0
0
0
-1
0
0
0
0
0
0
26
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
19
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
6
0
0
-8
-2
0
8
0
0
0
0
0
0
0
8
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
54
0
1
8
0
0
22
-7
0
53
-5
-2
0
15
-9
0
0
-12
0
0
-9
-5
0
0
6
0
0
-4
-29
0
0
4
0
0
1
-2
0
13
-7
9
0
-3
17
0
0
0
0
0
0
-32
-3
0
0
0
0
0
46
-8
0
5
0
0
7
21
0
0
28
0
0
8
36
0
0
10
0
0
0
50
0
-1
1
0
0
-3
-59
0
0
-31
0
0
-2
-52
0
-1
15
0
0
0
-29
0
0
0
0
0
0
5
0
0
2
6
0
0
17
0
0
0
0
0
0
4
-1
0
-1
0
0
0
-30
0
3
-3
0
0
-1
5
0
0
-4
0
0
0
42
0
-2
0
0
0
0
-10
0
0
0
0
0
0
32
0
-1
-7
0
0
0
-14
0
0
0
0
0
0
30
0
10
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
-81
16
2
-1
-30
0
-1
64
15
0
0
3
18
-2
84
65
-7
0
-26
0
46
-6
8
0
0
0
47
-10
0
-15
-45
0
0
6
-61
0
0
0
0
0
0
0
19
13
-4
11
-9
-16
4
62
-6
-26
1
21
44
4
25
31
28
15
-37
3
4
17
13
6
-6
1
-31
7
16
-11
-7
0
4
9
0
-4
33
-4
6
6
50
-1
10
4
1
8
0
0
-6
0
-23
-3
-24
0
-6
0
1
-15
-40
12
25
-4
0
37
18
18
32
18
-28
-13
8
-1
0
4
9
0
0
-9
2
0
34
9
-47
-2
60
8
-4
34
-48
0
16
-1
-11
37
1
-21
-66
-10
0
-21
0
-6
37
8
3
2
16
-7
1
-11
7
-35
0
17
12
-7
0
0
3
1
-14
41
14
62
0
0
-5
37
0
2
31
-4
7
-4
-20
-4
80
-30
3
0
5
24
-1
-47
48
4
-29
4
12
0
-44
27
-11
0
0
-29
25
-32
-17
6
0
0
36
-7
2
7
-5
-1
0
-36
-1
1
-3
0
2
0
-24
-15
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
-12
0
0
0
-3
0
0
1
0
0
-48
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
3
0
0
0
-2
0
0
0
0
0
0
0
20
23
0
4
-14
0
0
-80
62
10
4
12
-9
0
22
0
4
0
29
0
0
-7
5
0
0
-2
0
0
2
-21
0
0
-17
0
0
0
12
0
-56
-7
-3
0
0
72
0
0
0
0
-12
0
48
13
-1
0
0
0
-8
28
101
-1
7
0
0
-11
48
14
13
30
-4
0
-7
47
0
0
22
0
0
36
0
0
0
10
-5
0
10
-10
0
0
13
0
0
8
44
0
0
3
2
-1
0
-35
0
1
2
-3
-3
0
4
0
-7
8
7
0
0
-14
0
8
0
0
0
3
-1
1
-4
0
0
0
-1
26
0
8
-4
-4
0
6
7
1
-2
10
0
0
-1
0
0
10
-3
0
0
-4
-44
0
1
-2
6
0
2
-3
0
-37
-1
0
0
0
-13
0
0
0
2
7
0
22
0
33
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
13
0
0
0
44
0
4
-18
4
0
47
5
0
0
1
0
0
0
18
0
0
0
0
0
0
5
0
0
0
0
0
0
21
0
19
0
0
0
0
21
0
0
0
0
0
0
5
0
0
0
0
0
0
-48
0
0
0
0
0
0
-35
0
0
-18
0
0
0
1
0
0
8
0
0
0
13
0
0
4
0
0
3
-22
0
0
1
0
0
0
9
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
8
0
0
0
0
0
0
21
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
3
0
0
0
2
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
29
0
0
0
0
0
61
3
0
7
18
0
0
-10
3
0
0
0
0
0
2
-5
0
0
0
-4
0
0
9
0
0
0
0
0
0
-7
0
0
-2
0
0
0
-11
0
0
0
0
0
0
30
-4
0
0
0
0
0
64
2
0
0
0
0
0
-43
-8
0
-4
2
0
0
24
0
0
0
0
0
0
9
0
0
0
0
0
5
27
0
0
-7
0
0
0
-30
-2
0
12
0
0
0
-3
0
0
0
0
0
0
2
0
0
1
0
0
0
29
0
0
0
0
0
0
-21
-2
0
-2
0
0
0
8
0
4
-2
0
0
0
-4
0
0
0
0
0
8
12
0
0
0
0
0
0
32
0
0
0
0
0
11
-3
0
0
-1
0
0
0
-19
0
0
-9
1
0
0
8
0
6
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
65
0
-4
25
0
6
-54
-9
2
0
-3
-8
-4
7
-31
0
1
6
0
-1
0
13
12
0
0
-9
-6
0
-2
-21
0
0
0
18
0
0
0
0
0
0
0
-33
-22
-1
-1
7
11
0
-3
86
-4
-19
-45
1
-3
-7
-12
1
-8
-56
-1
2
39
-19
0
0
-1
11
6
5
-11
3
17
9
0
0
3
-8
0
11
7
-3
-6
0
4
0
0
2
0
-3
0
15
-4
15
0
-4
0
0
24
-73
0
14
0
0
2
-21
-13
1
-7
-6
1
41
29
-2
-4
-17
-1
-3
20
7
0
-12
30
29
-1
39
1
5
-2
9
18
-1
2
-13
-2
0
84
15
0
8
-33
0
0
-19
0
-2
4
-3
-1
0
0
-11
20
0
-2
0
0
0
0
-6
7
-8
11
0
7
0
0
7
9
0
-4
56
0
0
-21
-14
2
29
-16
0
-10
-4
7
1
-5
-7
0
11
0
20
-6
-7
-13
-37
-3
0
2
-1
-17
0
0
0
-1
32
6
-25
9
0
-3
0
42
-2
15
0
0
-15
0
-38
-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
-4
2
0
0
-8
0
-1
2
1
0
0
-10
0
6
0
0
-3
-2
0
0
20
0
2
0
0
0
0
-18
0
0
35
0
0
0
39
0
0
0
0
0
0
0
-47
-15
0
0
1
0
0
41
-17
-2
-26
8
0
0
34
30
0
0
12
0
0
-14
3
0
0
11
0
-4
-3
-18
0
0
-5
0
0
6
12
0
25
-15
0
0
0
-28
0
0
0
0
2
0
34
-25
10
0
0
0
0
-11
5
0
-6
0
0
1
21
-3
0
-37
0
0
-49
-17
0
2
14
0
0
-89
11
0
0
17
0
0
42
-14
0
-4
-2
0
0
4
-11
0
0
5
0
0
0
-41
0
0
-5
0
7
0
-23
0
0
21
0
15
0
8
0
0
0
0
0
0
-39
-18
3
0
0
0
-1
-43
0
43
-20
0
-1
16
22
0
-4
-37
0
0
4
-16
0
-10
-4
-6
-1
11
16
0
-1
-1
0
0
0
10
0
-14
34
0
0
2
-37
0
-2
-7
0
0
0
-27
0
26
2
0
3
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
4
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-13
0
0
-1
0
0
0
0
0
0
0
0
6
-16
0
0
3
0
0
-16
38
0
-49
19
0
0
-45
83
0
0
-3
0
0
12
-43
0
0
-6
0
0
12
-26
0
0
-6
0
0
1
29
0
-54
0
33
0
0
-1
0
0
0
0
0
0
33
-11
-5
0
0
0
0
25
-26
0
3
0
0
-4
34
2
-8
25
2
0
26
-27
0
1
-6
0
0
18
-1
0
0
77
-2
0
6
9
0
0
10
0
0
0
52
0
0
-15
0
0
-6
-11
0
0
-1
0
0
0
-27
0
3
0
0
0
0
-31
0
0
0
0
0
0
44
-3
0
8
0
0
0
-8
0
22
4
0
0
0
13
0
0
18
0
0
4
10
0
1
-14
0
0
4
28
0
0
0
-2
0
-3
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
-11
0
0
0
0
33
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-26
0
0
30
-11
21
2
-13
-1
0
-25
0
-17
-7
0
-1
0
1
-33
3
0
-1
13
0
0
0
0
0
0
0
0
0
0
0
-85
-12
5
10
-24
-3
0
-1
16
7
-21
-34
-6
-3
-11
-28
-14
-2
-1
2
-4
-7
12
0
3
-13
18
0
8
3
6
0
16
-1
-16
4
28
0
-2
26
-46
-6
-9
-21
0
0
0
0
7
0
-8
-33
-2
0
9
0
0
1
-10
1
-6
0
0
-20
10
-27
11
-55
-2
24
2
1
4
-13
18
3
0
5
-15
9
2
-47
16
1
-4
-5
7
-26
-31
-2
-3
8
9
-7
1
-12
13
2
0
-7
0
0
8
0
-44
0
26
6
-3
0
-13
-29
0
-7
-2
0
0
-1
0
0
1
-20
-10
-18
0
0
0
-23
-13
19
9
0
0
29
4
1
-27
-14
25
0
0
21
-3
-3
-40
-2
0
-2
33
4
-2
17
36
0
0
-6
0
64
24
2
0
0
36
0
7
-11
-1
-1
0
-12
-3
17
0
0
-6
0
10
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
2
0
0
1
11
0
0
0
0
0
0
-1
0
0
0
-3
2
0
0
-25
0
0
0
5
0
0
0
0
0
0
0
-18
14
-3
0
-12
0
0
30
12
0
-33
14
8
0
-40
-5
10
1
5
0
0
14
0
3
0
-4
-22
0
8
-18
0
0
2
0
-1
1
19
0
12
12
1
1
-4
28
0
0
0
0
-8
0
41
21
2
0
1
0
0
17
4
0
-20
0
0
-29
34
7
-4
-23
1
0
-28
32
0
2
20
0
0
-3
3
0
1
47
-12
0
-3
0
0
-4
-6
-1
6
12
-15
-1
0
-10
-1
0
0
-4
0
0
5
0
8
0
-12
0
0
0
2
-25
0
27
0
0
0
0
0
0
-27
17
2
1
0
0
0
10
6
41
52
0
0
-3
34
0
0
6
-2
0
0
22
0
9
-8
0
0
0
0
0
2
-1
6
0
0
19
0
2
-1
0
0
0
20
0
0
-1
2
0
0
7
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
7
0
1
-1
1
0
-2
-12
0
0
0
0
0
0
8
0
0
0
0
0
0
12
0
0
0
0
0
0
-2
0
-11
0
-2
0
0
3
0
0
0
0
0
0
-6
0
0
0
0
0
0
17
0
0
0
0
0
0
-48
0
0
-3
0
0
0
-28
0
0
6
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
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
-10
0
0
-7
0
0
2
-1
0
-3
-1
9
0
11
0
0
0
-4
0
0
0
1
0
0
0
0
0
2
-1
0
0
0
0
0
0
-1
0
0
0
-1
0
0
7
0
0
0
0
0
0
-36
8
0
0
0
0
0
-27
0
0
0
0
0
0
19
0
0
0
0
0
0
-5
0
0
0
0
0
0
-16
0
0
0
0
0
0
-16
0
0
-1
0
0
0
-2
0
0
-6
0
0
0
-16
0
0
0
0
0
0
7
0
0
0
0
0
0
19
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
2
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-22
0
0
0
0
2
3
3
0
0
-2
0
7
0
-1
0
0
0
-9
-13
0
0
-35
0
0
0
1
0
0
0
0
0
0
0
16
-20
0
0
-16
0
0
-35
-37
0
-8
7
33
0
-22
-31
0
0
-17
3
0
58
46
0
0
9
-9
6
41
-31
0
0
-3
0
1
3
38
0
-6
0
0
0
0
-44
0
0
0
0
0
0
12
-3
0
0
0
0
0
10
20
0
-8
0
0
2
-18
-23
17
-3
0
0
-27
-22
0
-16
34
7
0
-8
-67
0
0
9
8
-8
18
24
-3
2
2
0
8
0
62
0
0
0
-8
0
0
9
0
-9
-3
0
-13
0
-20
0
0
3
1
-1
0
-19
0
0
0
0
0
0
-22
-21
11
-9
0
0
0
-47
0
-39
2
0
0
-4
0
0
-7
-7
0
1
2
-19
0
11
0
0
0
-1
-15
0
16
0
-7
0
0
-30
0
-11
0
0
-1
0
-3
6
0
0
-7
0
0
-13
0
13
0
0
0
0
-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
-28
0
0
0
0
0
0
4
0
-19
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-24
0
9
0
0
-10
0
0
0
0
0
0
-5
0
0
0
0
0
0
-34
0
0
-9
0
0
0
-16
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
-4
0
2
0
0
0
-2
0
0
0
8
0
0
0
27
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
2
-50
0
0
45
0
0
6
4
0
-14
3
1
0
-16
-30
0
0
11
0
0
-2
-10
0
0
32
11
0
3
-5
0
0
-13
0
0
-1
16
0
-5
0
19
0
0
6
0
0
0
0
0
0
-7
1
2
0
0
0
0
-33
1
0
5
0
0
-2
-49
3
-1
-6
0
0
-1
-4
0
-2
-8
0
0
29
-7
0
1
-13
-4
0
-6
-13
0
0
34
1
0
0
12
0
0
0
0
0
0
34
0
0
-3
0
0
0
39
0
-4
0
1
0
0
33
0
0
0
0
0
0
-19
8
0
1
0
0
0
10
0
-10
22
0
0
0
2
0
0
-8
0
0
0
51
0
-3
2
0
0
-2
42
0
1
11
-6
0
0
-20
0
0
0
0
0
0
-36
0
0
0
0
0
0
5
0
7
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
2
0
-2
0
0
0
0
11
0
0
0
6
-13
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-2
-2
-2
0
7
0
0
1
-20
0
17
36
7
0
-26
-17
0
0
83
0
0
0
-14
0
0
9
19
0
0
-5
0
0
5
-1
0
0
-29
0
-7
-1
25
0
0
-46
0
0
0
0
0
0
-61
0
-3
0
1
0
0
-3
25
0
-17
0
0
-1
12
1
0
40
-3
0
0
-49
0
2
31
0
0
-9
-28
0
-1
-11
-2
0
0
28
-9
0
-33
-1
0
0
-55
1
0
-22
0
0
0
60
0
0
-2
0
2
0
-19
0
0
1
3
-21
0
-9
0
-2
0
0
0
0
49
4
0
-7
0
0
3
-25
0
-15
4
0
0
-9
-74
0
0
-5
-3
0
0
-32
0
-8
0
0
0
0
-21
0
0
4
0
0
0
76
-2
28
9
0
0
0
89
0
-1
0
1
0
0
-7
0
-7
0
0
0
0
19
-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
-1
2
0
0
-10
0
1
-6
0
0
0
0
0
0
0
0
10
0
0
-1
0
0
0
0
0
0
0
0
-7
-10
-1
0
-4
-1
0
-35
37
-2
-12
15
0
0
-69
-9
0
7
-1
0
0
3
-32
0
0
40
32
0
11
0
-1
15
-4
0
3
0
-15
0
38
0
0
-4
0
-57
0
0
-1
0
-9
0
5
-7
0
0
0
0
-1
32
19
0
-26
0
0
-6
-4
2
0
29
0
0
49
17
0
0
13
1
0
-12
-5
-3
1
-3
36
3
0
-23
0
-1
-3
0
0
0
0
0
0
0
16
4
0
-31
0
0
0
0
-8
0
40
0
0
0
14
0
0
32
0
0
0
0
0
-2
49
18
-2
-1
1
0
0
-66
0
40
-2
0
0
10
27
0
8
-39
0
0
4
-45
0
2
9
0
2
-1
-39
0
0
-3
1
0
0
0
6
-10
18
0
-4
0
-16
0
-6
0
-2
0
7
5
0
1
0
0
3
0
-30
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
36
0
0
0
0
0
1
8
0
3
1
0
0
0
2
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
9
0
0
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
32
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
33
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
3
-5
0
0
1
0
0
0
4
0
0
-2
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
2
-1
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
21
0
0
0
0
0
0
-10
0
0
0
0
0
-1
-31
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
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
2
-68
0
-4
-9
0
0
0
0
0
0
0
0
0
0
0
-10
6
0
-1
1
0
-4
1
-16
0
-12
-5
0
0
-8
19
0
0
55
0
0
0
-2
0
0
-1
0
0
2
-13
0
0
2
-3
0
0
36
0
-1
0
66
0
0
4
0
0
0
0
0
0
6
-3
0
0
0
0
10
24
-6
0
-12
0
0
3
-54
7
-6
0
3
-3
-6
-13
0
0
-6
0
0
0
1
0
0
3
3
-16
-6
38
7
-2
3
0
0
0
2
2
0
0
-9
0
4
15
0
0
0
0
0
0
5
0
0
0
-2
9
0
-22
0
0
0
0
2
0
5
-1
0
0
0
0
10
1
0
37
-14
0
0
1
34
1
3
0
0
0
0
-28
0
0
-3
0
10
0
-10
0
0
0
13
0
0
-36
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
-2
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
-22
0
0
0
0
0
-1
0
0
0
0
0
0
20
0
0
5
0
0
0
2
0
0
0
0
0
0
0
8
24
0
8
6
0
0
-1
4
0
0
-3
0
0
11
-16
0
0
4
0
0
-1
2
0
0
-1
0
0
17
25
0
0
29
0
-2
0
12
0
8
0
0
0
0
11
0
0
0
0
0
0
-24
1
0
0
0
0
0
-55
-3
0
-1
0
0
-1
50
2
0
-1
0
0
-1
7
0
0
8
0
0
-12
1
0
0
6
2
0
0
-8
0
0
1
0
0
0
-11
0
0
4
0
0
0
4
0
0
2
0
0
0
31
0
0
0
0
2
0
-4
0
0
0
0
0
0
-15
-2
0
0
0
0
-4
-37
0
47
0
0
0
0
15
0
0
-2
0
0
3
31
0
4
5
0
0
0
23
0
0
0
0
0
0
-2
0
1
0
0
0
0
-8
0
0
0
0
0
0
52
0
-1
0
0
0
0
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-6
-2
-19
0
0
0
49
0
0
-1
0
0
0
0
0
0
0
0
0
11
0
3
-28
0
0
20
-20
0
7
16
6
0
50
-11
0
0
11
0
0
5
-5
0
0
-1
0
0
4
19
0
0
-9
0
0
1
-57
0
-10
46
27
0
0
-25
2
0
0
0
0
0
12
0
-8
0
4
0
0
-3
-26
1
36
0
0
6
3
0
11
9
0
0
0
20
0
0
0
0
0
-2
34
-6
1
-11
-4
0
0
14
0
0
-23
0
0
0
-24
0
0
15
0
0
0
-11
0
0
0
0
0
0
19
0
0
24
9
0
0
51
-2
0
0
0
0
0
-20
7
-2
0
0
0
0
-20
0
14
-8
0
0
-10
-3
1
0
8
0
0
-6
-9
0
-11
6
0
0
0
-37
0
0
4
-1
0
0
-15
0
8
-2
0
0
0
-8
0
0
9
-2
0
0
-3
0
-11
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
1
0
0
0
0
14
5
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
-6
24
0
0
-27
0
0
-4
-39
0
3
31
0
0
-10
2
0
0
-6
0
0
0
24
0
0
24
2
0
0
-5
0
0
8
0
0
0
6
0
-6
8
-11
0
0
-33
0
0
8
0
0
0
12
-1
-4
0
0
0
0
-4
11
0
-7
0
1
1
-41
0
0
-14
6
0
0
-2
3
10
25
7
-4
0
-9
0
0
-9
0
0
1
-17
0
0
15
0
0
-6
-24
0
0
20
-1
0
0
-9
0
0
0
0
-5
0
9
0
0
0
1
1
0
-1
0
0
0
0
-3
0
12
0
0
3
0
0
0
21
0
1
-4
0
0
0
-17
1
0
-11
0
0
0
6
0
-9
-9
0
0
0
-16
0
0
-3
0
1
2
15
0
-2
0
0
0
0
-50
0
0
1
0
0
0
22
0
3
2
0
0
0
18
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
55
21
0
1
10
0
0
-5
-1
-2
50
-26
10
0
-7
34
0
0
-34
6
0
-1
30
0
0
-13
3
-7
2
-24
0
0
-23
0
0
4
0
0
-15
0
3
-9
0
2
0
0
0
0
0
0
-41
2
-1
0
0
0
-1
46
-14
0
-5
0
0
15
-8
15
6
-3
0
0
6
-9
0
-2
-2
0
0
28
25
0
-10
38
-8
0
0
-20
0
0
12
-2
0
-2
68
1
0
-1
0
0
0
0
0
0
0
-3
-3
0
-26
0
0
0
0
0
0
-19
3
0
0
0
0
0
10
7
0
0
0
0
0
10
-1
29
-1
0
0
0
-37
-2
3
19
-6
0
0
34
0
-7
6
0
0
0
48
0
-2
-6
0
0
0
-29
0
-8
-2
0
0
0
0
0
0
0
0
0
0
-10
0
-1
0
0
0
0
-24
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-6
0
0
-1
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
17
-1
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
-2
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
4
0
-2
0
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
21
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
-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
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
4
38
0
2
-15
0
0
0
-14
0
-4
-2
0
0
-2
-82
0
0
0
0
0
10
42
0
0
4
-3
0
0
3
0
0
0
0
0
0
3
0
0
0
-3
0
0
3
0
0
-1
0
0
0
-21
-1
0
0
0
0
0
-7
-6
0
0
0
0
0
-29
0
0
3
0
0
7
-38
0
0
0
0
0
-1
9
0
0
9
0
0
0
-21
0
0
0
0
0
0
-70
0
0
0
-2
0
0
-49
0
0
0
0
0
0
-2
0
0
0
0
0
0
34
0
0
0
0
0
0
-9
0
0
0
0
0
0
-15
0
0
0
0
0
1
-4
0
-2
0
0
0
0
-9
0
3
0
0
0
0
-12
0
6
0
0
0
0
7
0
10
0
0
0
0
-4
0
0
0
-8
0
0
-23
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
5
0
0
0
0
0
0
-3
0
3
-3
0
0
0
1
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-20
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
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
14
0
0
4
0
0
0
0
0
0
0
0
-2
23
0
0
-24
0
0
-21
-26
7
13
3
4
0
-46
1
0
0
29
0
0
8
-53
0
0
-83
-19
0
0
-17
0
0
7
0
0
-2
-6
0
-19
14
-2
0
0
13
7
0
1
0
0
0
30
32
41
0
0
0
-7
-2
-44
0
20
0
0
54
17
0
0
-6
-1
0
-18
27
0
0
-8
0
0
8
16
0
0
-12
16
0
20
21
0
3
-10
0
0
0
1
0
0
-1
36
0
1
-30
0
0
-2
0
0
0
-24
0
0
9
0
0
0
6
0
0
0
0
0
0
5
-7
-1
22
0
0
4
-76
0
-25
35
0
0
-6
-50
0
0
24
0
0
3
-46
0
7
0
0
0
10
29
0
-1
8
5
0
0
12
0
0
6
0
0
0
50
0
0
0
15
0
0
20
0
49
1
0
0
0
-35
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
2
0
0
0
-3
0
-3
-1
0
0
0
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
0
11
0
0
0
0
-26
0
0
0
0
0
0
21
0
0
0
0
0
0
-26
0
0
0
0
0
0
-5
0
0
-7
0
0
0
-41
0
0
0
0
0
0
-3
0
0
0
0
0
1
-27
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
-23
0
0
0
0
0
0
-13
0
0
0
0
0
0
-24
0
-2
0
0
0
0
15
0
0
0
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
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-23
-19
0
0
5
0
0
-38
29
0
-1
34
0
0
-49
15
0
0
5
0
0
-5
69
0
0
0
0
0
1
44
0
0
4
0
0
0
15
0
15
-5
0
0
15
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
-3
-1
-4
0
0
13
5
-3
-4
13
0
0
0
-14
0
0
34
0
0
-3
4
0
0
-4
2
0
1
-15
0
0
0
0
0
0
-16
0
0
2
0
0
12
42
0
0
0
0
0
0
0
0
0
0
-5
0
0
-1
0
0
0
0
0
0
-39
0
0
0
0
0
0
68
0
46
-15
0
0
0
-21
0
-1
3
0
0
-2
7
0
-1
-6
0
0
0
-16
0
2
3
-8
0
0
-7
0
-6
0
0
0
0
1
0
0
0
0
-2
0
0
0
-4
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
1
0
0
-9
0
0
8
0
0
1
-1
0
0
3
0
0
0
0
0
0
0
-1
0
0
19
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
63
0
0
0
0
0
0
-6
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
59
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
-1
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
-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
7
-3
0
0
-1
0
0
0
0
0
1
-1
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
17
0
0
0
-2
0
10
1
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-6
0
-4
0
0
0
0
24
0
0
0
0
0
0
36
-1
0
0
0
0
0
-51
0
0
0
0
0
0
32
0
0
-1
0
0
0
0
0
0
0
0
0
0
19
0
0
-4
0
0
0
11
0
0
0
0
0
-2
1
0
0
0
0
0
0
21
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
30
0
0
0
0
0
0
-1
0
-3
0
0
0
0
-2
0
0
0
0
0
0
3
0
-1
0
0
0
-1
-1
0
0
-3
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
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
-6
0
0
0
3
0
0
0
0
0
0
0
6
36
0
0
-37
0
0
21
14
0
-61
24
0
0
2
7
0
0
0
0
0
-1
-10
0
0
-22
0
0
-7
44
0
0
5
0
2
0
-1
0
2
0
0
-2
0
44
0
0
0
0
0
0
-23
-1
1
0
0
0
0
25
0
0
2
0
0
0
15
0
0
-6
0
0
1
-79
0
0
6
0
0
-26
-8
0
0
2
0
0
0
-61
0
0
1
0
0
0
-22
0
0
3
0
0
2
0
0
0
0
0
21
0
4
0
0
8
0
4
0
-20
0
0
0
0
0
0
12
0
0
-1
0
0
0
-20
0
28
1
0
0
0
10
1
0
0
0
0
0
5
0
0
0
0
0
0
68
0
0
4
0
0
0
19
0
-1
0
0
0
0
32
0
0
3
0
-7
0
-1
0
-1
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
-1
-39
0
0
-12
0
0
0
0
0
0
0
0
43
12
-2
3
0
0
0
-17
-14
0
28
-39
23
0
-2
5
2
3
-6
1
0
-20
27
0
1
43
9
0
12
-1
0
8
-31
-1
0
31
-40
0
24
23
-15
0
-2
-4
-4
0
0
0
9
0
-5
-35
-63
0
0
0
-14
-19
-64
0
-2
-3
0
-18
-12
39
-1
22
-4
0
-12
17
-4
6
22
2
0
-4
8
5
0
-46
0
0
62
5
0
0
-1
-1
0
20
-16
8
-4
-26
5
0
24
9
-1
-10
6
0
0
0
-2
-7
-24
-17
14
0
0
1
0
6
0
-3
0
-1
-23
-22
-53
-6
7
0
-41
-19
7
41
-51
-2
0
63
10
-12
1
-50
0
0
-22
-2
0
7
0
4
0
20
31
0
32
-37
39
0
-7
6
18
-10
14
-4
0
0
10
-5
-17
0
-17
0
0
-18
0
-12
-3
0
0
0
-11
-15
17
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
31
0
0
6
0
0
-2
2
0
-23
6
0
0
11
2
0
0
8
0
0
-1
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
7
-3
0
0
-7
0
0
0
-9
0
0
-9
0
0
0
-11
0
0
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
0
0
0
37
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
11
0
-1
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
-8
8
-34
-1
0
-54
-27
-1
-6
10
-7
0
-21
42
0
-1
10
0
1
-64
60
0
6
-66
-6
-13
10
45
0
0
-10
2
30
26
14
0
-19
-59
-2
0
2
55
-1
0
0
0
-2
0
-37
0
14
0
-8
0
0
-35
2
7
-8
4
0
18
-12
30
17
-11
1
1
-14
-23
-7
7
31
0
-10
37
10
7
18
31
25
0
9
2
0
4
-28
0
0
9
7
-13
0
-27
-37
-4
15
-30
0
-2
-4
4
33
0
32
0
8
-1
42
-15
0
14
0
0
0
-2
0
-7
0
32
-8
11
-10
0
-6
-11
-11
-34
34
0
2
-2
-3
3
17
14
0
0
0
-12
3
-2
-45
3
0
8
13
-6
-1
-8
5
1
1
-14
0
30
19
8
1
-1
-6
0
0
15
5
0
0
45
0
-6
0
0
8
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-4
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-22
0
0
-1
0
0
2
-3
0
55
-3
0
0
4
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
-2
0
0
0
-12
0
0
0
6
0
0
1
0
0
0
0
0
0
-3
0
-1
0
0
0
0
-24
0
0
0
0
0
0
17
0
0
2
0
0
11
10
0
0
-7
0
0
0
5
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
-11
0
0
0
0
0
0
33
0
0
0
0
0
0
15
7
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
29
0
0
0
-6
0
0
-4
0
9
0
0
0
0
13
0
0
0
0
0
0
6
0
12
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
-34
0
0
32
-23
0
-41
5
-9
0
10
-2
0
1
-34
4
0
0
-51
1
0
-1
-14
0
0
40
0
0
-4
0
0
-1
-8
0
18
-10
4
0
0
0
9
0
0
4
0
0
-3
-28
0
0
0
0
-2
-12
13
0
-33
0
0
14
21
-5
-2
-5
0
0
29
-20
7
0
24
0
0
9
57
-1
0
-25
-11
0
21
17
0
0
43
0
0
3
-34
-3
2
-28
7
0
0
-12
0
0
1
0
0
0
-16
0
8
-5
29
0
0
21
-1
0
0
0
0
-2
-1
7
0
1
0
0
7
-17
0
24
-3
0
0
2
26
-3
1
29
0
0
6
22
1
-7
-2
0
0
6
-16
0
0
22
0
0
0
45
-4
-13
-8
4
0
0
-19
0
4
-1
0
0
0
25
0
10
0
0
0
0
35
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-12
-17
65
2
-2
3
-15
0
4
25
-2
0
2
-46
-1
0
31
-12
-2
-1
3
0
-2
-10
2
7
2
-7
0
-4
-2
-5
-2
0
34
0
0
-1
8
2
0
12
15
16
-6
-2
0
-1
19
12
-4
-38
0
0
93
6
-9
1
-27
3
-2
17
12
17
12
0
2
-2
-62
-9
0
6
23
15
-4
-26
-10
0
-39
-15
-1
8
1
-16
0
0
-26
38
-7
-3
29
9
-3
53
0
-7
0
36
0
4
-3
17
-16
0
14
-12
0
0
6
0
1
31
-10
0
24
-3
0
23
-28
0
-46
89
-1
9
18
16
0
12
32
34
4
-5
11
-2
4
21
8
4
-6
-1
0
-3
13
-2
3
-2
5
-2
-42
-16
8
0
0
-4
0
-4
-9
2
0
-6
-3
0
45
0
0
-6
0
33
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
-23
5
-9
-1
7
6
-50
-3
6
4
10
-22
-37
5
5
6
-63
0
-9
-9
8
-54
-1
-22
22
-1
4
-9
-36
-9
-3
2
-12
14
-5
-12
7
6
-2
48
-6
3
1
-10
-16
8
-1
-25
3
47
-2
5
-25
-11
-6
-8
-14
0
-1
8
-4
-46
60
-12
-3
51
-11
-10
-39
31
17
17
42
29
8
4
7
18
-1
0
20
-8
-7
34
2
-6
30
19
7
20
7
-12
-1
35
10
-20
25
41
11
9
-18
-12
-19
-16
30
-1
-8
-45
2
-28
62
-25
-24
5
-21
0
34
-48
-13
15
0
24
35
47
28
38
28
-12
-7
5
-21
-41
-6
-28
15
1
26
2
13
3
51
3
-22
39
-9
-9
-17
9
2
64
-66
23
59
32
-28
15
17
-15
23
14
32
-23
-1
-2
0
24
49
-28
1
9
12
-29
-19
49
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-9
0
26
-8
0
0
-4
31
0
0
22
0
0
0
40
0
0
2
3
0
0
-21
0
0
0
0
0
0
7
0
13
0
0
0
0
2
0
0
0
0
0
0
-27
0
1
0
0
0
0
0
0
0
10
0
0
0
-49
0
-1
1
0
0
0
-13
0
0
8
0
0
-16
-22
0
0
3
0
0
0
-39
0
0
1
0
0
0
-30
0
0
-3
0
0
0
-53
0
0
0
0
0
0
-22
0
0
0
0
0
0
13
0
0
0
0
0
0
13
3
0
1
0
0
0
24
0
0
0
0
0
0
14
0
0
0
0
0
0
-24
0
0
-4
0
0
0
0
0
3
0
0
0
0
39
0
3
0
0
0
0
22
0
-1
0
-2
0
0
30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
108
38
1
0
-43
-17
0
0
0
0
0
13
20
0
0
-6
0
0
-2
-22
0
0
4
0
0
0
-23
0
7
0
-1
0
0
-30
0
0
0
0
0
0
19
0
0
0
0
0
0
55
-1
0
12
0
0
0
39
0
0
1
0
0
1
-15
0
0
-8
0
0
-1
-18
-7
0
-9
0
-2
0
19
0
0
-1
0
0
0
-16
0
0
0
-4
0
0
-23
0
0
0
0
0
0
-2
0
0
0
3
0
0
-17
0
0
0
0
0
0
12
0
0
0
0
0
0
22
0
16
0
0
0
0
17
0
0
1
0
0
0
8
0
3
1
-1
0
0
-32
0
0
0
9
0
0
-20
0
-2
0
0
0
0
3
0
0
2
0
0
0
14
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
-36
31
-10
1
-3
3
-2
10
58
0
-7
5
-15
0
-1
41
16
-2
-36
-16
-2
-1
-9
8
-16
-12
-22
0
-21
25
2
0
0
35
-3
0
9
6
-59
0
31
-3
-19
0
-33
2
8
13
49
-31
2
2
0
29
7
0
-37
18
-30
10
43
23
-3
-15
-17
-1
6
18
12
-1
16
16
-20
25
8
-1
-3
7
3
30
-2
6
-4
0
-3
-59
33
7
11
5
0
-10
-14
2
52
0
0
-2
-4
-8
-76
14
0
0
-8
0
0
0
-8
49
-4
-9
-2
-21
-1
0
10
15
-29
16
10
4
-1
-22
29
-7
12
28
7
1
28
-3
4
73
27
-7
8
-9
-6
-12
30
34
32
-1
19
16
0
-19
14
-8
22
2
13
0
-35
-35
46
0
18
-32
-4
-37
0
1
10
0
-30
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
-4
7
0
46
2
0
0
1
23
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
45
0
0
0
0
17
0
0
0
0
0
0
8
0
1
0
0
0
0
65
0
0
0
0
0
0
-21
0
0
1
0
0
0
41
0
0
1
0
0
0
-4
0
0
0
0
0
0
11
0
0
0
0
0
0
-6
0
0
0
0
0
0
18
0
0
0
0
0
0
16
0
0
2
0
0
0
75
0
0
0
0
0
0
12
0
0
0
0
0
0
22
0
0
0
0
0
0
7
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
25
0
1
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
2
0
0
0
0
12
0
0
0
0
0
0
9
-4
0
0
0
0
0
-33
2
0
0
0
0
6
-25
0
0
1
0
0
0
3
0
0
0
0
0
-7
41
0
0
0
0
0
0
31
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
42
0
0
0
0
0
0
7
0
0
0
0
0
0
12
0
0
-7
0
0
0
-1
0
0
0
0
0
0
-15
0
6
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
28
0
4
38
-10
0
-10
4
0
6
-10
-6
0
-18
8
6
-9
10
0
0
0
-24
-2
-11
26
-16
1
-3
16
-6
0
0
-9
-24
-1
5
-14
3
0
-4
0
-9
6
11
12
62
4
0
5
-15
-6
15
-47
8
0
-29
2
1
0
-8
0
-2
26
37
0
2
7
15
0
-7
-3
0
-2
-8
-2
0
0
-53
-3
5
63
-28
-8
3
33
0
6
-18
0
-1
0
1
0
28
36
-26
-22
0
-3
0
10
0
0
0
0
1
78
-19
60
6
0
-1
-39
-1
-42
65
0
-2
-13
-18
-1
15
12
-6
0
17
0
-4
-5
-19
4
0
-1
-4
-3
-7
0
-19
7
24
-17
4
-4
37
-1
-9
6
3
-3
14
6
8
0
0
13
0
79
1
0
2
0
21
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
10
-5
24
0
-7
3
-8
-11
-43
1
6
28
11
1
22
-40
0
0
-23
10
25
19
-2
0
-4
-28
66
0
17
-23
0
0
8
-10
5
0
4
18
-60
0
4
0
6
4
-21
2
-36
-3
0
92
25
-16
9
32
3
-66
39
0
4
-30
-38
-5
5
16
4
-43
43
38
-40
-21
61
-20
13
-16
-21
-2
9
-24
3
-6
5
-1
-49
60
3
1
0
-2
-10
-2
-22
-12
3
-2
5
0
0
31
0
9
-22
0
0
30
-3
32
1
21
7
-54
0
1
38
32
35
-23
27
3
11
-21
0
9
93
8
-16
1
35
25
7
-12
-15
-35
10
-16
8
-1
-26
-1
-17
-2
-60
26
0
12
7
50
-4
-4
23
0
-29
27
-38
7
0
16
0
-13
-9
2
0
0
-16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
-4
-7
0
0
-3
0
0
0
13
0
0
0
0
0
3
-14
0
-21
0
0
0
0
9
0
0
0
0
0
0
-11
-2
1
0
0
0
0
-52
10
0
15
0
0
0
25
0
2
-2
0
0
4
-8
0
0
2
0
0
0
-2
0
0
0
0
0
0
9
0
0
0
0
0
-1
-15
0
0
0
0
0
0
-13
0
0
0
0
0
0
-10
0
0
-2
3
-9
0
36
0
0
0
0
0
0
38
1
0
8
0
0
0
37
0
0
-4
0
0
0
1
0
0
0
0
0
3
1
0
0
0
0
0
0
6
0
0
-2
0
0
0
9
0
0
0
0
0
0
-13
0
0
0
0
0
0
29
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
2
34
-5
-16
-18
9
29
12
8
11
-9
-35
-52
7
-33
-4
0
-6
20
-3
34
11
-31
1
-3
9
-5
19
-15
-27
2
-1
3
0
-51
4
22
-32
16
0
48
-4
41
25
5
2
30
-4
3
39
-50
-9
7
8
-26
-11
0
-8
-3
-37
-16
15
3
18
38
20
68
2
58
30
66
-33
0
2
-20
-14
-19
17
-4
28
21
7
21
-15
26
15
0
10
-1
0
-17
-9
11
-1
-1
-5
3
-18
0
-6
-2
0
0
0
-6
11
-4
22
20
-14
-1
0
11
-2
10
-8
45
7
2
51
7
4
30
2
-17
1
1
-20
17
-6
7
-14
38
10
-8
0
3
12
37
4
-6
-16
4
7
-11
-35
14
0
15
-3
2
8
23
-1
1
1
0
-26
7
-4
4
0
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
53
45
4
0
2
-1
14
34
8
0
6
26
2
-37
-1
0
-8
-30
1
43
27
-59
7
-16
-40
7
0
2
24
10
38
-3
0
49
0
-24
9
-53
0
24
10
8
20
56
0
54
-1
3
20
-19
-45
9
22
-7
-1
28
25
4
5
17
-6
0
21
14
5
24
9
36
-2
0
25
1
5
-61
-1
3
-13
5
24
-5
-59
27
-1
17
33
-3
1
39
0
5
2
18
12
-20
-18
39
12
0
-28
-2
-8
0
0
5
-23
-10
-6
8
-19
6
1
22
2
-5
30
1
1
1
-1
5
2
10
-18
-11
19
-14
-33
2
36
-6
-8
-25
-31
5
10
3
-46
1
1
26
13
-14
-27
8
-6
4
3
23
5
9
12
34
-7
0
22
-10
-17
27
0
-14
0
24
-3
24
-6
26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
12
0
0
-20
0
0
-18
14
0
0
-23
0
0
-7
3
0
0
-4
0
0
0
51
0
-4
4
0
-2
0
6
0
0
0
0
1
0
-6
-9
9
0
0
0
0
3
8
-7
-6
0
0
1
39
-4
0
26
0
0
7
36
0
0
23
0
0
-2
-52
-2
0
-18
0
1
0
2
0
0
20
0
0
-2
-27
0
0
44
1
0
-1
-7
0
0
0
0
-4
0
49
0
0
-1
0
23
0
11
0
0
0
0
0
0
-19
7
0
0
0
0
-3
-10
0
4
-7
0
0
42
33
3
-1
-8
0
0
-2
17
0
-13
0
0
15
1
-7
3
-3
20
0
0
0
29
0
1
4
0
-1
0
27
0
0
0
0
0
0
-15
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
13
-4
0
0
0
0
0
34
0
0
0
0
0
0
22
0
0
3
0
0
1
-10
0
0
1
0
0
0
19
0
0
0
0
0
0
-47
0
0
1
0
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
-2
0
0
0
0
0
0
7
0
-2
1
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
20
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
0
0
0
0
0
43
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
-8
18
2
-16
20
26
1
-2
14
-2
0
9
-1
21
0
-38
2
21
8
-55
37
0
6
11
0
2
1
-1
0
-4
11
12
0
48
5
1
-15
14
-2
-18
0
0
-10
10
3
33
3
29
8
-33
-13
-15
-6
1
-7
1
-30
-10
-3
-18
14
20
0
19
19
-7
33
30
-29
20
3
-5
1
21
26
-11
17
0
-20
7
-2
13
2
7
7
-9
0
6
-15
30
34
0
-10
26
0
0
0
8
-6
1
-2
33
-11
-66
11
-6
-10
-28
14
-39
-3
0
22
-4
17
63
-26
3
15
-1
-10
5
38
2
-15
2
-4
25
7
-24
-33
-17
-54
-1
12
-27
23
-3
-10
7
-1
10
2
1
15
53
-12
0
3
0
30
27
0
-17
0
9
-10
2
6
-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
-65
4
-32
2
9
-24
16
15
-8
1
-3
-11
-2
6
22
-33
0
-3
6
6
-10
2
-6
-2
-1
13
-1
-96
0
3
-28
31
0
-35
0
17
4
24
10
-38
4
0
-15
2
17
-18
-7
-40
-4
16
-31
-4
27
38
13
-10
-55
0
-14
-2
15
64
0
48
10
10
-10
32
-12
-21
32
-40
6
-17
-14
-26
10
-7
-12
0
8
-7
0
64
-20
2
7
3
4
-2
4
0
-19
0
0
0
21
-3
-48
13
-22
3
65
-32
-1
-31
15
45
32
-3
6
7
53
6
13
39
35
-5
28
39
0
25
-48
22
-7
-13
-6
-19
-18
2
-41
-9
-7
-2
-6
-9
27
14
-2
-3
4
10
-1
20
55
-22
2
0
-21
0
-33
-2
5
-3
0
-17
-20
2
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-7
0
0
0
0
0
0
12
0
-8
0
0
0
0
29
0
0
0
0
0
0
41
1
0
0
0
0
0
-17
0
0
22
0
0
0
43
0
1
0
0
0
0
45
0
0
0
0
0
0
-29
0
0
0
0
0
0
8
0
0
1
0
0
0
-4
0
0
0
0
0
0
14
0
0
0
0
0
0
-12
0
0
0
0
0
0
-11
0
0
0
0
0
0
17
0
0
0
0
0
0
35
0
0
-6
0
0
0
23
0
0
0
0
0
0
-1
0
1
0
0
0
0
-6
0
0
0
0
0
0
21
0
0
0
0
0
0
-7
0
0
0
0
0
0
116
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
-8
0
0
-6
3
0
0
17
0
0
0
0
0
0
-9
-1
0
0
0
0
0
15
0
0
-6
0
0
7
5
0
0
-2
0
0
-4
36
0
0
-1
0
0
2
1
0
0
7
0
0
0
4
0
0
-3
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
-3
0
0
1
0
0
0
10
0
0
0
0
0
0
19
0
0
0
0
0
0
1
0
-1
9
0
0
0
-22
0
-2
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
16
0
0
0
0
0
0
-8
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
17
14
0
-3
-13
-17
-4
26
-17
4
-1
-50
0
-1
-8
-18
0
7
-34
27
44
-2
40
0
-1
0
0
27
0
-1
-5
-23
0
12
1
1
25
-29
2
15
0
7
-24
17
-29
-36
9
38
-3
-19
3
0
2
22
6
0
32
-23
0
14
-16
-20
6
19
-10
-2
9
-5
13
0
14
29
0
0
13
40
-1
-13
6
0
0
-7
0
-4
0
-25
0
-8
1
6
10
0
31
0
0
0
-6
0
-8
31
34
7
-6
1
0
-54
-8
34
-15
-3
0
0
12
8
0
13
-6
1
0
51
-29
0
14
-23
1
-1
5
-32
2
-33
-15
-10
2
-4
1
2
-8
0
0
2
-4
3
-7
0
6
15
0
0
6
0
-5
0
0
1
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
20
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
7
0
0
4
0
0
0
0
0
0
-50
0
0
0
0
0
0
23
0
0
2
0
0
-3
-25
0
0
0
0
0
4
-34
0
0
1
0
0
-3
-11
0
0
5
0
0
0
-54
0
0
0
0
0
0
45
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
32
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
6
0
0
0
-2
0
0
-7
0
0
0
-12
0
0
-4
0
0
0
-4
0
0
0
0
0
0
-13
0
1
0
0
0
0
-5
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
6
0
0
0
0
0
0
8
0
0
0
0
0
0
-33
0
0
0
0
0
4
43
0
0
0
0
0
0
18
0
0
2
0
0
0
-16
0
0
7
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
22
0
0
0
0
0
0
-19
0
0
0
0
0
0
8
-4
0
0
0
0
0
0
0
-1
0
0
0
0
11
0
0
0
0
0
0
-34
0
0
0
0
0
1
-2
0
0
0
2
0
0
-5
0
4
-7
0
0
0
2
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
-17
0
0
-72
0
-1
0
-53
2
8
-3
-1
0
0
-16
0
0
0
0
0
0
-13
-25
-8
0
0
0
0
-13
5
0
25
0
0
0
-40
-9
-26
19
0
19
4
18
-1
0
5
0
0
5
-39
-6
-6
-42
41
0
0
-36
0
8
-42
0
3
0
-21
2
0
32
2
6
0
41
0
0
0
0
-7
0
-67
0
8
-7
-5
0
0
-1
0
0
0
0
0
0
14
-1
2
1
0
0
0
-11
0
-20
-10
6
0
0
-9
0
-12
34
0
0
0
56
0
12
-9
0
0
0
6
0
3
-13
-13
0
0
7
-4
4
-9
0
0
0
0
-1
4
-4
-6
9
0
22
0
40
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-40
26
2
22
6
0
18
18
14
2
-11
9
3
-1
13
-5
32
0
8
-29
-13
0
1
0
11
0
-4
2
27
-7
-4
-8
10
-43
47
-14
-2
-11
-5
-3
-6
-19
29
-4
0
104
12
11
-21
21
54
6
3
0
16
3
31
14
-9
-5
20
22
-2
-50
-29
8
29
5
-11
-2
-8
-10
15
8
-10
9
29
-34
1
6
0
-12
2
-7
0
1
-8
-33
-8
-7
-10
-3
-11
0
81
14
-3
-11
-5
6
5
-7
5
-16
14
12
6
0
-4
-7
9
-29
-8
65
0
-24
0
-10
1
27
11
0
17
14
1
6
15
-1
-7
-16
-20
0
16
-2
10
-1
2
18
-13
-16
-1
2
-2
0
20
-36
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
10
0
0
0
0
0
0
45
0
0
0
0
0
12
23
0
0
4
0
0
0
-11
0
0
-1
0
0
-3
-3
0
0
-1
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
4
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
13
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
13
0
0
0
0
0
0
19
0
0
0
0
0
0
-27
-1
0
0
0
0
0
-15
0
0
-1
0
0
-2
-65
0
1
0
0
0
0
-28
0
0
0
0
0
0
-12
0
0
0
2
0
0
-36
0
0
0
0
0
0
25
0
0
0
-1
0
0
11
0
0
1
0
0
0
10
0
0
0
0
0
0
25
0
0
0
0
0
0
-8
0
0
0
0
0
0
18
0
-1
0
0
0
0
-1
0
0
0
0
0
0
22
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
-17
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
-9
-12
0
0
-4
2
0
4
24
0
-44
0
-38
-12
-2
-17
12
0
0
0
-4
0
-30
1
0
0
0
0
-1
17
55
3
-17
0
0
13
-3
12
33
2
-4
0
-32
46
2
4
-27
0
0
1
15
0
0
1
44
0
-2
-11
1
-6
-4
3
0
2
25
0
0
2
-29
-9
6
1
0
0
-28
0
-1
0
20
0
-1
0
-8
36
0
-6
3
0
0
0
0
0
35
-19
1
9
-10
0
-2
11
3
19
5
0
1
26
5
3
-6
6
2
-4
0
-27
0
-16
-1
0
-1
3
-16
0
-5
2
-48
0
-1
-2
0
-22
8
0
1
0
-8
-2
-6
-2
-5
0
4
0
0
-18
0
3
-7
0
-2
-4
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
13
0
3
11
34
0
76
1
0
0
0
35
0
0
0
0
3
0
-3
0
7
0
0
0
0
-3
16
0
-13
0
0
20
-40
0
-1
-18
0
0
2
-5
0
1
4
0
0
0
31
0
0
10
0
0
1
-18
0
0
-31
0
4
-1
-24
0
0
-39
0
7
0
-10
0
0
9
0
-11
0
-24
0
0
10
0
15
0
-44
2
-3
0
0
0
0
-11
12
0
0
0
0
2
18
0
-3
2
0
0
0
-29
0
0
-7
0
0
0
2
0
0
13
0
-13
-6
-6
0
0
11
0
0
0
18
0
-44
0
0
0
0
-30
0
0
-2
0
0
0
-4
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
-8
0
0
0
0
0
0
0
0
1
0
-8
0
0
-17
0
0
0
0
0
0
36
3
0
0
-2
0
0
-27
0
0
0
0
0
0
-15
0
0
-2
1
0
0
-14
0
0
0
0
0
0
-46
0
0
9
0
0
0
8
0
0
-2
0
0
-3
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
30
0
0
0
0
0
0
-1
0
0
-3
0
0
0
-9
0
0
0
0
0
0
63
0
0
0
0
0
0
8
0
0
1
0
0
0
23
0
-7
-3
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
9
0
0
-13
0
0
0
0
-2
0
14
0
0
0
0
0
0
-11
-22
0
0
0
0
-10
-22
-11
18
38
0
0
-5
20
0
0
21
0
0
15
-14
-6
6
-20
-7
0
0
-26
0
-2
-4
1
0
0
-15
0
-4
7
10
0
1
49
0
7
-13
0
-18
0
-12
0
0
0
-2
-4
0
-1
0
0
0
0
0
0
-34
-14
0
0
0
0
-15
23
0
35
9
0
0
0
-16
0
3
13
0
0
0
37
0
-3
1
-1
0
0
51
0
0
-8
4
0
0
17
0
-10
5
0
0
0
-14
0
-1
0
-3
0
0
7
0
-17
0
0
3
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
23
-41
0
17
-4
-25
7
0
-8
0
3
44
0
-1
0
-3
1
22
0
6
0
-41
12
-87
-2
25
-7
-3
18
-8
-32
-12
-22
-13
-7
17
-15
12
11
-6
7
-1
12
6
10
-14
-5
-45
-7
30
-12
0
22
35
28
16
27
0
3
3
31
-44
5
-5
-22
44
0
8
0
-29
-2
-15
3
-11
14
22
13
0
8
32
-2
0
1
-3
-6
7
-15
20
13
5
1
-21
0
-7
31
-62
3
-25
-44
8
-32
-31
16
3
0
-36
14
3
5
33
7
7
-10
-24
28
35
-32
8
-39
37
0
-24
-17
-7
-29
-1
4
-1
-6
27
-14
-11
8
2
-11
-4
-19
-15
0
-50
-1
-20
27
-26
4
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
-1
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
-2
0
-1
0
0
0
0
6
0
0
-7
0
0
0
-2
0
0
-2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-7
0
0
0
0
3
0
0
0
0
0
0
-26
0
0
0
0
0
0
-12
0
0
11
0
0
0
-19
0
0
0
0
0
-2
5
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
10
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
15
0
0
0
0
0
0
5
0
0
0
0
0
0
25
0
-4
1
0
0
0
-8
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
-1
0
0
-22
-2
0
0
0
-1
0
0
26
-7
0
2
0
0
23
-29
0
-11
0
0
2
-39
1
-2
55
9
-5
-10
1
0
4
42
0
0
27
-23
-1
-16
-31
2
6
-8
-12
1
3
7
1
-4
1
35
-7
0
-2
-5
8
0
-26
0
0
0
0
-18
0
-5
0
-1
0
-4
-1
0
-22
0
0
0
0
0
0
30
3
5
7
0
0
0
26
0
2
10
0
0
-2
26
0
-8
0
3
0
3
-58
0
3
-1
0
0
7
1
0
-3
0
16
0
-2
-3
0
-14
0
0
1
0
-4
-7
0
0
-9
4
0
-56
0
58
3
0
-1
0
-27
2
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
0
0
-8
0
0
0
0
0
0
38
0
0
0
0
0
0
32
0
0
-7
0
0
0
-34
0
0
1
0
0
0
30
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
-1
10
0
0
0
0
0
0
-7
0
0
-7
0
0
0
7
0
0
0
0
0
0
-11
0
0
0
0
0
0
12
0
0
0
0
0
0
-2
0
0
0
0
0
0
-25
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
6
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-5
0
0
0
0
10
0
0
0
0
0
0
34
-1
1
0
1
0
0
30
-4
0
0
0
0
-1
42
-3
0
0
0
0
-1
25
0
0
0
0
0
0
31
0
0
12
0
0
0
9
0
0
6
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
0
0
0
-38
0
0
0
0
0
0
23
0
0
0
0
0
0
-15
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
-4
0
0
0
21
0
0
0
0
0
0
-11
0
19
0
0
0
0
6
0
0
0
0
0
0
22
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
-20
4
0
-6
0
0
5
84
0
-4
-7
11
0
2
-4
-3
1
-14
0
0
0
-24
0
0
-5
-1
0
0
-27
-4
3
-10
0
0
0
-27
0
0
1
0
0
0
11
0
1
-1
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
8
7
0
0
0
0
0
0
0
12
0
0
0
0
6
3
0
1
0
0
0
-2
0
-15
0
0
0
0
-4
0
2
0
-7
10
0
-8
0
0
1
0
0
0
19
0
0
-1
1
0
0
-16
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
-23
0
0
1
35
4
0
-1
12
23
0
-3
0
2
-3
58
-22
11
-10
-1
5
-1
-28
-11
24
-5
0
12
12
6
4
26
-1
-6
-6
-8
0
-33
4
-6
-23
75
-39
-6
-40
-17
31
-9
23
25
-6
-3
38
31
24
1
0
13
-5
27
-1
21
0
16
0
4
-2
9
-20
0
28
3
0
0
0
-7
0
-3
-26
-1
26
-16
0
65
63
32
-1
-11
-3
0
47
-6
23
2
25
1
0
13
23
1
-7
15
28
-3
-4
-3
20
4
-23
46
5
2
2
7
71
8
11
0
0
0
-7
0
24
-25
1
0
7
0
21
-2
0
1
0
16
3
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
25
0
0
0
0
0
-3
0
0
0
11
0
0
0
2
0
0
-2
0
0
0
52
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-51
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
5
17
-18
0
30
-48
0
0
18
0
47
1
6
11
-37
0
1
18
-20
28
-4
-8
19
1
4
-6
-6
-1
7
-3
-4
-9
-35
13
-2
20
31
-3
28
4
0
12
-20
15
5
-57
-3
3
83
-1
-5
12
12
17
0
0
-40
30
-26
0
-8
7
9
4
-5
-33
0
2
4
6
0
0
-4
11
-19
-7
33
-7
8
0
-25
-67
-8
9
7
-8
-1
37
-35
-11
-2
8
6
0
-78
-6
-13
-29
63
-5
-16
28
-48
0
-15
-37
52
-10
4
12
0
-7
-20
-4
0
6
7
0
8
-23
-4
-2
0
-4
0
9
-3
0
6
0
3
-3
-24
-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
24
0
0
0
0
0
0
6
49
-8
0
0
0
-9
30
0
0
1
0
0
12
-10
0
0
1
0
0
53
8
0
0
5
0
0
0
12
0
0
29
-12
-1
-2
-22
0
0
0
0
0
0
-7
0
0
-1
-24
0
0
-37
0
-1
0
0
0
0
-38
0
-1
0
0
12
0
0
0
-3
0
0
0
0
-20
-12
0
-3
0
0
1
29
0
22
-12
0
0
4
3
-6
0
11
-2
0
-1
-37
0
-26
9
0
0
0
1
0
0
0
1
0
0
49
-2
1
4
0
0
0
-94
0
0
-1
-6
0
0
27
0
20
0
0
0
0
-43
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
-2
0
28
-22
-1
0
0
0
0
33
2
0
41
0
0
44
24
0
0
-26
0
0
-25
18
1
1
7
0
0
38
41
0
0
7
0
0
-3
-9
0
-2
-18
0
-4
0
11
0
0
-13
-9
0
0
-6
0
0
-12
0
-2
0
-11
0
0
6
0
2
0
-30
0
0
0
0
0
6
44
-3
0
-9
0
0
-19
-4
0
35
12
0
0
-22
11
2
20
-17
0
0
0
29
0
36
2
0
0
-1
21
0
0
7
0
11
-10
39
0
0
19
0
0
0
26
0
0
1
0
0
0
37
0
-8
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
6
0
0
0
0
0
30
0
0
0
0
0
3
67
0
-2
-2
0
0
-1
-26
0
0
4
0
0
0
26
0
0
0
0
0
-1
-12
0
0
0
0
0
0
4
0
0
1
0
0
0
-18
0
0
7
0
0
0
43
0
0
0
0
0
0
2
-2
0
0
0
0
0
50
0
-1
1
0
0
0
-1
0
0
0
0
0
0
9
0
-9
0
0
0
0
3
0
-7
0
0
0
0
35
0
0
-1
0
0
0
44
0
0
0
0
0
0
40
0
3
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
26
0
0
0
0
0
0
6
0
0
-4
0
0
0
-5
0
0
7
0
0
0
-32
0
0
3
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
-17
0
0
2
0
0
0
-9
0
0
0
0
0
0
11
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
10
0
0
0
0
-6
0
0
0
0
0
6
14
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
1
0
0
0
20
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
21
0
-27
0
9
-10
14
-14
64
35
-1
-13
10
14
8
5
1
-17
13
-25
7
24
16
0
-3
-13
12
-18
-30
63
-7
-10
6
17
-1
-17
-15
16
17
-19
12
-8
-2
-3
-49
-5
-29
-18
0
-7
-24
17
43
1
0
-3
3
25
-5
3
0
-5
11
-1
0
2
0
0
-27
-15
15
47
-9
0
16
26
23
21
37
5
38
-48
-41
-9
-66
24
-16
0
17
25
22
28
37
9
-2
28
50
1
-16
-32
-25
9
31
6
1
17
-16
12
-22
-4
5
-11
-22
4
28
3
0
0
0
21
-4
1
1
0
5
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
19
20
0
0
0
0
0
-1
-31
0
0
6
0
0
0
28
0
0
2
0
0
0
29
0
0
0
0
0
0
1
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
2
0
0
42
0
0
0
0
0
0
-3
0
0
3
0
0
0
-11
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
-1
0
0
0
0
0
0
11
0
0
0
0
0
0
-39
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
0
0
0
0
0
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
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
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
-32
0
0
2
0
0
0
12
0
0
1
0
0
0
11
0
0
-1
0
0
0
-36
0
0
0
0
0
0
-36
0
0
0
0
0
0
-11
0
0
0
0
0
0
6
0
0
0
0
0
0
-13
0
0
0
0
0
0
29
0
0
0
0
0
0
47
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
-10
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
-7
0
0
0
25
0
0
0
0
0
4
-9
0
0
0
0
0
0
42
0
0
-4
0
0
0
-21
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
-2
0
0
0
0
4
0
0
-2
0
0
0
-8
0
2
0
0
0
0
-7
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-21
1
0
0
0
6
-42
6
0
4
0
0
0
-21
0
0
-66
0
0
-14
-60
0
0
-2
0
0
0
1
0
0
19
-2
0
-1
-8
0
0
15
0
0
-1
-24
0
0
-19
0
0
1
-20
0
0
2
0
0
0
-2
-2
6
-11
-10
0
0
79
0
0
0
0
0
0
-31
4
0
0
-4
0
0
7
0
6
13
1
0
-4
26
0
1
-2
0
0
0
37
0
-3
0
0
0
-3
41
0
0
0
0
0
-1
-18
0
-12
7
0
0
0
6
0
2
0
0
0
0
44
0
-16
0
0
0
0
-35
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-1
-51
17
19
14
4
-6
4
-26
-33
12
62
26
26
-14
-21
-28
-27
-17
-19
-12
-6
-68
48
25
33
-2
14
-11
-12
-13
11
22
15
42
-14
-34
-7
1
13
-49
2
-2
16
-25
9
-40
-34
-7
12
6
8
16
34
42
0
0
0
-24
-20
18
45
-3
1
-6
-12
34
-40
-21
-67
27
8
12
56
20
-8
20
-13
75
28
37
2
9
42
-24
47
29
17
-30
-37
-11
-21
16
0
15
-14
-26
14
-19
-20
-17
67
-6
-46
-37
1
-13
0
-24
-21
22
-3
4
-4
20
-53
-2
22
1
0
-1
29
-1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
0
3
0
0
22
-36
-10
-2
-25
3
-3
22
-36
0
0
33
0
0
7
1
0
1
-43
-8
0
3
11
0
0
-6
0
3
-7
-31
0
-1
-48
9
9
0
-2
0
-2
1
0
7
0
10
0
0
0
-1
3
0
59
0
0
0
0
0
0
-5
-3
3
0
0
0
-38
24
0
8
25
-2
0
0
-36
-2
-3
-8
0
0
1
-23
0
3
10
0
0
-4
-15
0
-20
-6
-3
0
-19
-48
0
-9
-3
1
0
0
-2
0
-3
0
6
0
0
-4
0
-11
0
0
0
0
-8
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
-7
0
0
-3
6
0
0
19
0
0
82
12
0
0
-12
0
3
2
-9
0
0
1
-2
0
-1
-8
0
0
40
0
0
0
31
0
0
5
4
0
0
-25
0
0
2
0
2
0
17
0
0
2
6
-1
0
-1
0
0
0
0
0
0
-21
0
0
0
0
0
0
29
0
-18
3
0
1
0
-27
0
-1
15
-2
0
16
-40
0
0
-7
0
0
0
24
0
-1
6
3
-7
0
-10
0
10
0
0
0
0
26
0
0
0
0
0
0
-20
0
2
2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-3
0
0
0
0
0
30
-1
0
1
0
0
0
-36
0
0
3
0
0
1
26
0
0
-1
0
0
0
10
0
0
0
0
0
0
-10
0
0
0
0
0
0
-11
0
0
0
0
-13
0
4
0
0
0
0
0
0
-20
0
0
0
0
0
0
32
0
-4
0
0
0
0
-19
0
1
1
0
0
0
26
0
0
0
0
0
1
39
0
-2
-1
0
0
0
-17
0
0
0
0
0
0
4
0
1
1
0
0
0
13
0
0
0
0
0
0
90
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
21
0
0
0
0
0
0
-9
0
0
-1
0
0
4
48
0
0
0
0
0
0
4
0
0
0
0
0
0
63
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
-21
0
0
0
0
0
0
-7
0
0
0
0
0
0
3
0
0
-3
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-9
0
0
0
0
0
1
-46
0
0
-8
0
0
0
-18
0
0
0
0
0
0
41
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
17
3
0
-1
0
0
0
-5
0
2
0
0
0
0
45
0
6
-9
0
0
0
-1
0
1
0
0
0
0
-21
0
0
0
-8
0
0
40
0
6
-2
0
0
0
-2
0
0
0
0
0
0
54
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
83
26
-40
-43
-26
7
33
31
45
-59
33
16
-29
25
30
19
-2
-73
-12
-2
46
-27
-9
-25
-20
-12
-2
15
45
7
26
5
36
-8
47
-6
-3
-37
25
-23
-6
88
50
-34
-25
-44
1
28
-41
13
-16
-23
-58
-14
0
24
-17
-23
47
0
-38
-13
12
38
1
26
21
-43
5
20
-18
-3
-43
19
-2
5
14
-27
11
12
39
42
11
15
-21
-19
5
10
26
-25
2
-2
7
46
-10
32
0
41
-33
25
-15
46
-36
1
20
6
13
50
-3
-11
16
-36
-10
-15
-29
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
22
5
0
56
14
0
-1
33
0
0
15
0
0
-1
-20
4
0
-12
-19
0
-2
-20
-2
0
11
0
0
1
-14
12
0
-3
-16
0
0
0
0
0
0
15
0
0
3
10
30
0
16
-2
0
0
0
0
3
41
19
-2
0
0
0
-4
1
0
7
-19
0
0
2
-40
0
0
25
0
0
-6
-24
0
17
-8
0
0
0
-34
0
-4
16
-4
0
0
-13
0
-3
2
0
0
3
-31
0
0
-1
6
1
0
39
0
-2
0
0
-4
0
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
-21
2
0
-1
1
0
-9
62
0
0
-1
0
0
10
-34
0
0
9
0
0
0
3
0
0
-1
0
0
0
19
0
0
-12
0
0
0
-13
0
0
0
0
0
0
14
0
0
0
0
0
0
-7
0
0
0
0
0
0
-40
8
0
0
0
0
-1
3
0
0
7
0
0
0
1
0
0
-1
0
0
0
41
0
0
0
0
0
0
11
0
0
0
0
0
0
19
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
-20
-45
5
11
9
-2
0
29
31
6
-8
-28
0
-6
59
20
-4
2
49
-4
-1
-5
7
-11
0
-31
-11
0
0
-5
-8
-2
-4
-12
0
0
-13
0
0
6
-2
1
2
44
0
0
1
0
-4
0
-32
0
-6
0
0
0
0
-28
10
-6
0
0
0
-1
11
6
16
0
-1
0
0
68
0
-22
-7
0
0
4
17
-6
-32
5
3
0
0
-18
0
6
-38
-10
0
1
-60
15
41
-3
1
0
0
-48
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
-29
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
-6
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
-7
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
10
3
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
35
0
0
-31
0
0
-2
32
0
6
-53
-10
0
2
40
0
-6
-20
-1
0
-3
3
0
0
-1
32
0
7
4
0
0
25
-2
3
0
-3
2
-1
4
2
-21
0
21
0
-4
0
0
-3
0
47
-20
0
6
0
0
0
-5
0
-9
6
-2
0
0
-26
0
-10
12
-1
0
-1
-41
0
42
-7
0
0
-3
22
0
2
-5
32
0
0
-17
15
-33
-1
0
0
0
-32
-1
-3
-12
-2
0
0
-3
0
59
0
0
0
0
-3
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
7
-3
-48
19
-26
2
15
-9
7
-3
-85
-13
12
-10
28
28
24
27
-25
4
11
26
-27
4
63
32
-9
-2
42
17
-12
-56
17
10
13
-36
19
23
-10
0
-10
4
-1
-9
-13
52
71
19
18
-29
-30
-44
0
-76
0
-27
-33
-54
20
-3
-21
-39
27
-15
-70
-57
4
-24
-17
39
-37
-54
21
-30
15
-22
23
-2
11
59
29
5
8
-38
-6
-11
-10
-13
-3
-4
-11
3
7
-32
2
-1
12
-9
-37
-28
1
-55
0
16
-8
8
-1
-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
2
-20
0
0
6
0
0
-5
-56
0
-4
16
4
0
0
17
0
0
-2
0
0
8
5
0
0
16
-1
0
0
13
0
0
-2
0
0
0
20
0
0
9
0
-1
0
-9
0
0
0
-1
0
0
24
11
-8
-30
0
0
0
18
0
-11
1
0
0
0
-11
0
7
9
0
0
0
34
0
8
-6
0
0
0
11
0
0
0
0
0
1
-41
0
8
-8
0
0
0
-40
0
0
0
0
0
0
2
0
-13
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
49
0
0
0
-32
0
0
14
0
0
0
18
0
0
0
0
0
0
-67
0
0
-2
0
0
0
-96
0
0
-6
0
0
0
34
0
0
0
8
0
0
-31
0
0
0
0
0
0
63
-2
0
2
0
0
-1
-1
0
20
0
0
0
0
-26
0
-2
0
0
0
0
13
1
2
-15
0
0
-2
-3
0
0
-2
0
0
0
-54
0
0
-3
0
0
0
15
0
0
8
0
0
0
64
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-14
1
-4
3
-1
-11
-4
0
-24
40
12
-17
-19
0
0
-77
0
-6
13
4
0
19
8
28
0
1
34
1
0
-17
0
9
1
-1
0
2
-9
22
-42
0
19
-6
0
0
0
0
0
9
24
26
6
0
-6
2
-8
0
-15
9
-8
0
6
5
0
6
-8
0
0
22
1
-6
54
13
1
6
41
16
-4
0
37
54
0
-26
-21
2
47
-1
0
-1
-4
41
0
3
-12
-10
-8
-1
-11
0
22
0
0
16
0
56
43
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
21
0
0
23
0
0
-23
-1
0
0
9
0
0
-11
-35
-3
-2
10
0
0
0
-17
0
0
1
0
0
3
-50
0
0
2
0
2
0
-12
0
0
-2
0
9
0
17
0
0
0
0
0
0
-44
2
0
-1
0
0
0
-25
0
-5
-16
0
0
0
18
0
6
0
0
0
0
-19
0
13
0
0
0
0
-26
0
0
0
0
0
0
-2
0
-17
2
0
0
0
22
0
0
0
0
0
0
6
0
-4
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
1
0
0
-2
-7
0
0
0
0
0
4
18
0
0
0
0
0
0
5
0
0
6
-2
0
0
-70
0
0
0
0
0
0
-8
0
0
0
0
0
0
-40
0
0
0
0
0
0
12
-2
0
0
0
0
0
-43
0
-7
0
0
0
0
-2
0
0
0
0
0
0
12
0
-1
0
0
0
0
-18
0
0
0
0
0
0
30
0
0
0
0
0
0
-9
0
0
0
-2
0
0
27
0
6
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
17
1
-2
0
-6
1
-15
-7
0
6
-3
6
1
0
-15
13
0
-61
3
0
-2
59
0
-1
12
0
0
0
35
0
-4
-5
-3
11
0
61
2
0
0
0
0
0
53
43
0
27
0
0
-2
15
0
-41
17
0
3
-1
0
0
-4
11
0
3
0
1
0
-3
52
-6
0
0
2
0
-11
0
29
0
-7
10
1
12
-2
0
12
1
24
-3
-1
8
-3
-2
0
21
0
-13
0
0
8
0
75
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
-26
2
31
-5
-27
-10
3
-28
-6
-8
10
15
21
-75
-34
-21
-32
8
-23
13
6
45
18
-15
-41
-22
-12
2
-6
13
-6
-4
42
-60
-14
0
7
25
-16
28
52
-28
-1
14
-10
46
34
-38
0
-54
7
-44
-9
7
18
-4
-31
0
38
-33
-25
6
-7
36
20
-1
17
-15
81
-30
22
-8
38
-34
4
0
32
-18
4
16
5
78
-23
1
-9
25
21
18
0
-14
-5
-14
2
-49
-19
-19
42
-32
0
-7
-12
-24
3
-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
-3
32
0
-1
0
0
0
0
23
0
0
0
0
0
0
1
0
0
2
-3
0
0
-31
0
0
0
0
0
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
-11
0
0
4
0
0
0
-1
0
0
0
0
0
0
12
0
7
0
0
0
0
-13
0
0
0
0
0
0
-16
0
0
1
2
0
0
1
0
4
0
0
0
0
12
0
0
0
0
0
0
-20
0
2
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
-37
-1
0
1
0
0
-1
22
0
0
10
0
0
0
47
0
0
0
0
1
0
-25
0
0
0
0
0
0
11
0
0
0
0
0
0
-53
0
0
0
0
0
0
10
0
-4
0
0
0
0
-34
0
0
0
0
0
0
-3
0
0
0
0
0
0
15
0
0
-2
0
0
0
-18
0
0
0
0
0
0
12
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
0
0
0
0
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
10
-44
35
-2
28
9
0
-4
-11
11
-8
36
33
0
-3
17
29
2
-4
-14
0
7
-1
0
22
0
27
0
4
8
0
-3
0
11
16
0
0
-21
-2
-10
8
11
2
0
-4
0
-25
68
3
18
15
0
-4
-3
-10
0
26
61
-10
0
-8
10
-2
4
77
-4
10
-2
-21
8
8
11
-44
6
0
-48
0
-9
-32
1
0
0
32
0
1
0
12
0
3
-25
0
38
-1
0
0
0
39
2
17
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
35
0
0
1
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
24
0
0
0
0
0
0
-3
0
0
0
0
0
0
27
0
0
-1
0
0
4
-1
0
0
0
0
0
0
39
0
0
0
0
0
0
56
0
-2
0
0
0
0
18
0
0
0
0
0
0
17
0
10
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-25
0
0
3
0
0
0
0
0
0
2
-1
0
0
-10
0
0
0
0
0
0
3
0
0
0
0
0
0
38
0
0
0
0
0
0
10
0
0
0
0
0
0
-36
0
3
-7
0
0
0
4
0
0
0
0
0
0
27
0
0
-2
0
0
0
8
0
0
0
0
0
0
5
0
-4
0
0
0
0
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
29
8
-1
0
-15
0
-11
-59
1
0
0
-4
0
-9
0
0
17
0
-14
0
-16
0
-3
-16
0
4
-13
0
0
0
-1
0
57
-30
0
-8
0
0
0
9
0
-42
-5
0
2
8
3
0
-5
79
0
0
0
-17
-3
22
21
1
0
0
-17
-2
0
0
-13
0
0
16
0
-32
8
6
1
-7
24
0
4
1
2
0
0
33
-1
-11
1
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
-4
-8
15
-5
32
-21
-6
6
10
1
14
28
-41
-28
21
-13
-8
12
32
-10
4
-4
39
-12
16
-11
20
50
0
3
10
7
-1
-3
-43
52
-8
-21
5
8
23
2
29
7
-43
20
-65
-14
24
-36
11
14
16
-23
-37
-7
0
0
2
-47
-45
-44
-9
16
-16
-29
-10
57
39
7
35
-1
-12
28
-11
19
-20
-20
29
35
-15
-4
-18
36
-8
22
-2
3
25
12
8
-1
4
-19
31
12
29
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
2
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
0
0
0
13
0
0
0
0
0
0
46
2
0
0
0
0
0
-4
0
-8
0
0
0
0
20
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
10
0
0
0
0
0
0
16
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
10
0
0
-1
-45
0
0
-4
0
0
0
-9
0
0
0
0
0
0
49
0
1
-6
4
0
0
20
0
0
0
0
0
0
-10
7
0
0
0
0
0
31
0
27
-5
0
0
0
17
-1
0
-7
0
0
2
-20
0
0
0
0
0
3
5
0
0
-1
0
0
0
-15
0
0
0
0
0
0
23
0
0
0
2
0
0
1
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
5
-54
8
0
3
-6
3
15
-30
50
1
-6
5
0
-1
6
0
-11
0
-9
0
6
6
15
-15
0
19
2
11
0
0
0
0
-2
9
9
10
0
0
24
0
-4
37
25
0
0
0
-15
0
0
43
-2
0
0
40
-4
39
-2
12
0
20
8
0
2
23
-9
-3
-1
-3
0
-28
-10
2
1
0
-4
-3
7
-2
15
0
-2
2
0
-1
3
0
12
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
0
0
0
33
0
0
34
0
0
-8
-8
0
0
15
0
0
0
37
0
0
2
0
0
0
-5
0
0
0
0
0
0
-8
0
0
0
0
0
-17
-2
0
88
2
0
0
0
-55
0
2
21
0
0
3
31
0
-5
22
0
4
-1
-24
0
1
3
0
4
7
20
0
3
2
0
0
0
28
0
-4
-1
0
0
0
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-23
0
0
0
2
0
0
-4
0
0
0
0
0
0
-9
0
0
0
0
0
0
9
0
0
0
0
0
0
30
0
0
-6
0
0
2
20
0
-3
0
0
0
0
19
0
0
0
0
0
3
-20
0
0
0
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
0
0
0
0
0
27
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-7
0
0
-15
0
0
0
0
0
0
-46
0
0
-1
-10
-2
0
-15
0
-2
0
0
0
-7
-3
14
0
7
0
0
0
54
0
63
0
0
0
0
17
2
0
0
-2
0
-2
-31
0
4
6
0
0
0
22
0
14
19
-20
0
10
-13
1
0
-3
0
0
0
-35
0
-1
0
6
-4
0
-18
0
-23
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
5
-10
-16
-41
-3
2
9
38
18
8
-81
10
-14
-7
-25
46
-6
6
0
-2
60
-34
0
22
15
31
-6
-3
-9
6
-27
-2
-18
17
-25
-6
13
6
13
22
19
-10
43
15
60
-3
-13
9
41
-19
8
0
58
12
0
1
37
72
22
8
44
31
-22
-27
24
-7
-8
17
-23
53
15
82
-73
9
-2
2
-1
-30
21
-2
13
0
3
-24
9
1
68
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
12
0
0
0
0
0
0
29
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-10
0
0
0
0
3
0
0
0
0
0
0
-2
0
2
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-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
52
0
0
3
0
0
0
27
0
0
0
0
0
0
22
0
0
0
0
0
0
59
0
0
0
0
0
0
-11
-16
0
0
0
0
0
-2
0
-18
13
0
0
-2
6
6
0
-1
0
0
-2
-1
0
0
0
0
0
0
-20
0
0
0
0
0
0
34
0
-2
0
0
0
0
33
0
0
0
0
0
0
13
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
27
0
0
-16
0
-2
-2
0
12
6
11
4
3
0
45
-3
0
9
0
0
0
0
0
0
22
-3
-8
-9
0
0
1
21
0
38
0
6
0
-1
-40
-1
10
70
0
0
0
-18
0
-3
8
0
0
19
22
-3
-13
0
-38
0
3
20
0
16
0
0
0
1
20
0
6
-1
-1
0
-1
30
0
-32
0
0
0
0
-19
-1
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
0
-1
0
0
0
17
0
0
0
0
0
0
-7
0
0
3
0
1
0
6
0
0
0
0
0
0
28
0
0
0
0
0
-1
-4
0
2
0
0
0
2
11
0
0
0
0
0
0
9
0
0
0
0
0
0
-41
0
0
-3
-10
0
0
26
0
0
-4
0
0
0
3
0
0
0
0
0
0
22
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
13
0
0
3
0
0
0
39
0
0
0
0
0
0
1
0
0
0
0
0
0
32
0
0
0
0
0
0
63
-3
0
0
0
0
0
1
0
0
4
0
0
0
55
0
0
-1
0
0
0
-13
0
2
0
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
0
0
0
24
0
0
0
4
0
0
9
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
1
2
0
0
1
0
0
0
-3
0
0
11
0
0
0
-1
0
0
-25
-3
0
3
0
0
0
12
0
-35
0
0
0
-4
-13
0
0
1
0
0
0
-15
0
-4
0
-3
0
0
9
0
0
-4
-3
-2
4
51
0
13
9
0
0
0
-18
0
0
0
0
0
0
8
0
-3
0
0
-2
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
3
-2
-5
30
-6
0
2
3
9
48
54
-1
-26
0
11
-8
0
0
6
-3
-8
-1
-3
-24
-1
-5
0
-19
2
-12
-24
13
11
18
-2
15
36
13
33
16
1
3
1
7
30
-34
45
-15
21
13
0
8
2
41
2
-19
0
-8
24
45
5
-3
4
30
-10
-27
52
0
8
1
23
-6
-2
1
0
-4
0
-12
-9
10
1
-28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
-13
0
0
0
0
9
0
0
0
0
0
0
8
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
-10
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
19
0
0
0
0
0
0
2
0
0
0
0
0
0
27
0
0
0
0
0
0
8
0
0
-1
0
0
0
-1
0
-3
0
0
0
0
4
0
1
-2
0
0
0
25
0
0
0
0
0
0
10
0
0
0
-1
0
0
9
0
0
0
0
0
0
1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
10
0
0
0
0
0
3
-20
0
47
-10
0
0
0
0
2
19
0
0
0
-7
0
-1
16
2
-12
5
0
0
-4
-31
1
17
9
-2
1
-3
53
0
-12
-9
2
1
0
-8
3
0
0
7
6
-10
8
0
5
0
0
0
0
-11
0
-2
0
0
0
0
23
0
12
0
-2
0
0
-39
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
12
0
7
-1
-14
0
-4
17
0
-1
0
-10
0
6
0
0
0
-6
-7
0
0
0
0
0
0
55
0
-33
-17
0
0
6
-1
0
7
0
0
0
1
-10
0
27
17
0
0
1
48
0
0
-41
0
0
7
47
0
13
10
0
0
0
0
0
2
-1
0
0
0
33
0
44
-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
3
0
0
0
0
0
0
2
0
0
0
0
0
0
26
0
0
0
0
0
0
52
0
0
0
0
0
0
11
0
7
0
0
0
0
28
0
0
0
0
0
-4
0
0
-4
-10
0
0
0
55
0
0
1
0
0
0
-3
0
7
0
0
0
0
10
0
0
0
0
0
0
18
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-33
0
0
0
0
0
0
-41
3
0
0
0
0
-1
-30
0
13
2
0
0
0
-4
0
-1
0
0
0
0
-17
0
0
0
0
0
0
-2
0
0
0
-13
0
0
-39
0
0
0
0
0
0
-36
0
2
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-16
-33
-29
-15
27
-1
0
5
1
28
0
2
-2
59
18
23
29
-37
25
1
10
-17
-43
0
22
-4
3
-28
-6
13
26
6
28
1
-20
7
17
98
39
-31
62
41
4
-6
-35
23
6
45
-44
-11
1
-3
47
39
34
7
0
1
-20
-3
35
-1
12
-2
-6
40
25
0
59
0
12
-45
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-3
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-3
0
-2
0
6
0
0
0
0
0
0
48
0
0
0
0
0
0
2
0
-12
0
0
0
0
4
0
0
13
0
0
0
7
0
0
3
0
0
0
21
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
17
0
0
-30
0
0
0
0
0
0
3
-10
0
0
-8
0
0
50
0
11
2
0
0
0
9
0
0
-2
2
0
0
-5
0
0
0
0
0
0
11
0
0
0
17
0
2
-35
0
-2
0
0
0
0
29
0
4
0
0
0
0
-18
0
4
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
0
10
0
0
0
0
-4
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
-4
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
-1
0
0
-33
0
0
0
0
0
0
41
2
0
3
0
0
-2
16
0
11
-2
0
0
0
50
0
0
0
0
0
0
50
0
-9
6
0
0
1
8
0
0
-6
-6
0
0
16
0
-16
0
0
0
0
62
0
0
-2
-1
0
0
20
0
-2
0
0
0
0
-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
6
0
0
0
0
0
0
-2
3
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
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
26
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
46
-18
29
-17
-2
-2
0
17
-2
31
4
4
-5
9
38
-11
1
33
-24
-19
1
11
40
1
-13
29
9
15
-26
1
-2
-15
-3
10
-2
-45
23
0
-40
-22
12
0
0
-8
7
-9
54
14
-8
0
0
2
41
5
4
-9
0
-14
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
2
0
0
2
-39
0
0
1
0
0
0
24
0
0
3
0
0
4
1
0
0
0
0
0
0
5
0
-2
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-50
-1
0
0
0
0
0
22
0
-1
-1
2
0
0
0
4
0
-25
1
0
0
14
0
-1
0
4
0
0
19
0
0
0
-4
0
0
-28
2
8
0
0
0
0
-19
0
0
1
-1
0
0
-29
0
8
0
0
0
0
-25
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
17
20
0
0
0
0
1
27
0
0
2
0
0
0
17
0
-3
0
0
0
-1
39
0
0
0
0
0
10
25
0
0
0
0
0
0
-20
0
6
-3
0
0
0
35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-10
-10
0
0
0
0
-4
-16
0
-1
-1
0
0
-1
22
3
4
6
0
0
0
64
0
0
-2
0
0
0
3
0
0
0
27
0
0
-8
0
5
-6
0
0
0
-49
0
-1
6
0
0
0
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
14
12
-53
0
-59
-2
7
1
26
14
34
-8
27
9
-11
51
10
24
8
-5
14
7
0
-10
84
3
2
-1
-56
26
-33
37
21
14
50
7
38
-33
-16
18
-15
-12
-13
73
22
24
38
-5
0
-9
21
6
14
0
0
-1
15
-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
23
0
0
0
0
0
9
-5
0
-6
0
0
0
0
-36
0
0
9
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
0
0
11
0
-5
0
0
0
0
7
0
0
2
0
0
0
5
0
0
3
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
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
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
7
0
0
-1
0
0
0
10
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
12
0
0
0
0
0
0
6
0
0
0
3
0
0
9
0
0
0
0
0
0
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
-9
0
0
3
0
0
0
-1
0
-1
-3
0
0
0
-5
0
0
0
-2
0
0
14
0
0
0
0
0
0
3
0
0
0
0
0
0
-44
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
48
18
74
35
75
-6
23
-31
46
-15
6
30
21
-1
5
-2
47
3
-63
20
-3
-28
11
8
-23
-3
-5
10
10
34
-27
27
-13
8
-2
49
-13
16
11
43
-5
-4
-2
8
0
56
1
30
28
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
81
0
-32
-5
0
-7
-1
3
0
0
-10
0
3
9
7
0
3
18
1
0
-6
35
0
1
7
2
-7
2
-3
-1
3
2
0
0
0
15
0
-2
4
-8
-3
0
6
0
-37
-2
0
0
0
-31
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
47
0
0
0
0
0
0
-9
0
0
0
1
0
0
15
0
-1
0
0
0
0
-1
0
0
0
-4
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
4
-18
0
0
0
0
0
1
20
0
0
0
0
0
0
11
0
0
0
0
0
4
-19
0
-32
8
0
0
0
17
0
-1
0
0
0
0
5
0
6
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
-21
0
1
0
0
0
0
7
0
4
0
0
0
0
-2
0
1
0
0
0
0
-18
0
0
-3
0
0
0
-3
0
-1
0
0
0
0
-10
0
0
0
0
0
0
-30
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
2
-1
-2
0
0
-1
0
-6
2
-3
0
0
-96
0
11
0
0
0
0
16
0
0
0
0
0
0
-8
0
-5
0
0
0
0
67
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-25
40
-27
-22
7
0
-16
61
11
12
63
11
37
-13
-5
-1
13
57
-42
-9
9
21
-3
-35
19
23
0
-1
1
0
-7
-34
21
0
16
27
0
-64
-1
0
10
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
1
-7
-9
0
-29
1
1
4
87
-5
0
3
-29
1
0
-27
49
0
-13
26
-7
6
-7
5
0
1
15
0
7
-1
8
0
0
41
0
22
-2
0
0
0
-15
-2
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
32
-13
0
0
0
14
0
-8
-1
0
-1
-9
-63
-2
1
-2
19
0
0
-4
0
64
10
0
0
0
-30
0
3
0
6
0
0
79
0
-14
0
0
-3
0
-32
-21
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
-1
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-1
6
-1
1
0
0
40
0
-1
0
3
0
0
45
0
-3
0
0
0
0
10
0
0
0
0
0
0
35
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
2
-6
-36
23
0
18
-8
-9
-7
17
21
-9
25
5
-1
14
15
8
-1
14
6
-2
8
0
20
-6
1
-11
0
-13
15
0
29
0
21
55
-32
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
16
0
0
-1
0
0
0
3
0
6
0
0
0
0
1
0
-1
0
0
0
0
-21
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
8
0
0
0
1
0
1
-26
0
5
0
0
0
0
-15
0
0
-4
0
0
4
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-1
-10
41
0
0
0
-26
0
0
-5
-21
2
0
-11
0
28
1
0
0
0
20
-2
0
9
0
0
0
13
0
-4
0
0
0
0
21
-8
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
4
0
0
0
-7
0
0
3
0
0
0
-7
0
-2
3
0
0
0
-11
0
0
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
0
0
2
3
0
0
9
0
12
-1
0
0
0
19
0
0
-8
-7
0
0
-7
0
8
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
16
-6
-40
21
7
11
21
-14
-6
4
-26
-40
30
-17
-9
4
0
17
33
-8
0
17
0
63
-26
0
20
0
0
6
26
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
1
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
-1
2
0
1
-11
0
0
-1
0
0
0
15
0
0
6
-1
0
0
-26
0
-8
1
1
-4
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
-28
0
-25
0
0
0
0
46
-1
8
3
0
0
0
-28
0
3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
-2
0
0
0
-45
0
0
0
0
0
0
13
0
0
0
0
0
0
35
0
13
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
6
0
0
0
15
0
0
0
0
0
0
26
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
6
0
9
-1
0
0
0
18
0
0
0
2
0
0
38
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
-9
-2
36
-6
22
0
3
9
8
-1
0
33
0
-75
-1
0
0
0
44
49
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
3
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
1
-2
0
0
0
-22
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
43
0
0
0
0
-4
0
-1
0
0
0
0
44
0
-1
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
51
0
4
0
0
0
0
4
0
-10
2
0
0
0
4
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
4
0
0
0
34
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
24
87
0
10
10
3
21
-10
0
-2
0
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
7
-29
0
-1
-11
1
0
0
45
0
1
3
0
1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-96
0
16
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
-6
0
-28
-27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
1
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
-15
0
-2
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-83
2
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-10
0
0
0
0
0
0
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
6
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
-8
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
6
0
0
0
0
0
0
9
0
0
-12
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
1
0
0
-19
-9
0
0
0
0
0
0
-4
0
0
-2
0
0
0
22
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
-42
3
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
6
0
0
0
5
0
0
0
0
0
0
11
0
0
0
0
0
0
14
0
0
-6
0
0
0
5
0
0
0
2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-4
0
9
0
0
0
0
0
0
0
8
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
8
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
17
0
0
0
0
0
0
0
0
0
0
0
0
-16
24
38
9
-37
-20
5
-12
22
45
12
8
-14
12
15
21
9
9
4
-50
32
22
22
7
-24
7
-18
8
-14
-18
8
-29
-12
15
2
-17
18
-23
-31
18
-34
-12
-63
35
7
-7
-12
-28
-24
12
14
3
-5
-23
16
-20
-11
37
-51
25
-52
-45
-7
31
-8
-27
24
8
2
-18
20
15
67
33
29
39
34
22
36
45
28
7
6
-14
2
-4
-30
21
-7
7
12
-2
6
-9
34
4
0
11
-1
30
-57
32
-38
37
3
-6
44
20
-69
8
-20
1
-37
1
-4
-38
-37
11
7
-23
-15
33
-74
-7
-15
49
0
0
0
0
0
0
0
30
35
50
26
24
7
47
17
-2
13
30
22
0
27
-5
7
-32
-27
3
16
-11
-7
4
-28
0
-7
29
16
-14
5
15
2
3
-2
-71
-12
3
-19
-40
-16
-10
-22
-29
13
-4
-10
-25
43
-13
5
-1
-33
-5
-55
-21
18
-9
15
11
18
0
-9
-37
-12
23
-22
15
11
-21
-12
11
0
13
-3
15
-3
-24
-3
3
15
44
0
-41
0
26
-7
-57
2
8
-5
-2
6
1
-2
-9
-15
23
13
50
6
34
51
16
-26
-6
73
3
-11
-42
-64
-2
15
-31
-3
-4
-59
-9
28
-8
-11
-2
-16
9
-25
-1
-8
47
3
-2
-40
-7
-6
26
-31
1
-15
6
-10
21
38
2
-11
-34
9
12
6
46
-6
4
-16
-3
-7
-14
9
34
-13
19
-30
42
8
-57
37
-3
15
-10
22
11
-30
4
-5
-28
-42
-13
26
27
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
0
0
0
0
-53
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
11
0
0
2
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
-16
0
0
-27
-1
0
0
6
0
0
0
24
0
0
0
0
0
0
-69
0
0
0
0
0
0
7
0
1
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
-21
8
0
0
0
0
0
-51
0
0
0
0
0
0
42
0
0
0
0
0
0
21
0
0
2
0
0
0
8
0
0
0
0
0
0
7
0
0
0
0
0
0
-12
0
0
0
0
0
0
2
0
0
0
0
0
0
32
0
0
0
0
0
0
1
9
0
0
0
0
0
3
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
25
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
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
2
0
0
42
0
0
0
0
0
1
-1
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
-17
0
0
-1
0
0
0
24
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
17
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
1
0
0
11
-26
0
0
0
0
0
0
-2
0
0
-2
0
0
0
5
0
0
0
0
0
0
19
0
24
0
0
0
0
2
0
0
0
0
0
0
-2
0
1
0
0
0
0
-5
0
0
0
0
0
0
19
0
0
1
0
0
0
34
0
0
0
0
0
0
-2
0
0
2
0
0
0
-1
0
0
0
0
0
0
20
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
12
0
0
0
0
0
0
2
0
-1
0
0
0
0
4
0
0
0
0
0
0
24
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
12
0
0
0
0
0
6
-14
0
0
0
0
7
0
0
0
-2
0
0
28
0
0
0
5
0
0
4
0
0
0
0
0
0
-22
0
0
0
1
0
0
4
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-1
-17
4
0
27
-51
0
0
9
0
0
0
-19
0
0
13
0
0
0
0
0
0
-5
0
0
0
-3
0
-12
1
0
0
0
33
0
0
0
0
0
0
15
0
0
0
0
0
0
5
16
0
0
0
0
-8
26
0
0
6
0
0
0
38
0
0
0
0
0
8
-22
0
0
0
0
0
0
4
0
0
22
0
0
0
-41
0
0
-3
0
0
0
8
0
0
0
0
0
0
39
0
0
0
0
0
0
14
0
0
0
0
0
0
-18
-5
0
0
0
0
0
35
0
4
-2
0
0
0
-4
0
0
0
0
0
0
0
0
-1
-12
0
0
0
9
0
0
-6
0
0
0
52
0
0
0
0
0
0
33
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
3
1
-4
1
-1
0
0
0
0
0
7
7
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-17
0
0
3
0
0
-19
0
0
0
0
0
-4
24
0
0
0
0
1
0
0
0
25
0
0
-63
0
0
0
15
0
0
29
7
0
0
-7
-2
0
-7
2
0
0
1
0
6
0
-1
0
0
0
0
0
-2
3
0
0
0
0
-2
0
0
0
0
0
0
-9
0
0
21
0
0
0
-1
0
75
11
0
4
0
0
0
0
0
0
0
0
0
7
8
8
77
-13
2
0
2
13
0
0
-17
0
0
3
24
0
1
0
0
0
4
-53
0
0
0
0
0
0
39
0
-35
0
4
0
0
-38
0
0
-1
0
0
0
78
0
-1
0
0
0
0
52
-3
0
0
0
0
0
3
0
0
34
-1
0
-3
4
0
0
-7
0
0
13
-46
0
0
-2
1
0
0
-2
0
0
28
-2
1
2
21
0
0
-2
12
0
0
-2
0
0
-3
0
0
0
4
0
0
0
0
0
0
23
0
0
0
0
0
0
-18
0
0
-10
0
0
0
26
0
19
0
0
0
0
-15
0
-1
0
1
0
0
34
0
40
2
0
0
0
-19
0
0
8
-6
0
0
-11
0
0
0
0
0
1
29
0
0
0
0
0
0
40
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
-2
0
0
0
0
0
3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-8
0
0
0
0
0
0
0
39
0
0
-10
0
0
0
8
0
0
-1
0
0
0
-4
0
-9
0
-1
0
0
19
0
0
0
0
0
0
-13
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-7
0
-15
0
0
0
24
0
0
11
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-13
0
0
0
0
0
0
25
0
0
0
0
0
0
2
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
-1
0
0
0
0
0
0
-2
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
-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
6
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
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
26
0
0
-1
0
0
0
10
0
2
3
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
7
0
0
0
0
0
0
0
0
-14
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-1
0
0
-3
16
0
0
0
0
0
8
12
0
0
0
0
0
0
-12
0
0
0
0
0
0
7
0
5
0
8
0
0
2
0
0
0
0
0
0
22
0
0
0
0
0
0
42
0
0
0
0
0
0
-5
0
0
15
0
0
0
22
0
0
0
0
0
0
51
0
0
1
0
0
0
-16
0
0
9
0
0
0
10
0
0
10
2
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
-1
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
4
0
0
0
0
0
0
9
0
0
0
0
0
0
4
0
0
0
0
0
0
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
16
22
-46
57
26
2
0
16
45
37
-9
38
26
32
14
37
-3
15
-53
1
-11
2
28
1
-22
-1
44
21
-1
22
2
-7
-26
15
12
-58
-12
-18
4
-10
7
3
8
-25
6
-2
8
44
6
-21
26
-27
-44
4
-28
-4
-8
12
-1
24
1
-4
-4
-5
3
79
46
7
-30
19
-6
-16
1
-16
-8
-22
19
1
6
15
-17
39
-5
3
3
34
-43
-52
17
-25
13
-14
-23
-44
30
-38
22
11
-23
-14
18
-34
-3
12
-3
-13
-72
-5
-49
-16
35
-2
59
-6
-16
88
-23
17
18
0
0
0
0
0
0
0
-12
-8
-11
-63
11
18
65
-7
15
20
-40
-2
25
-9
-11
0
55
9
1
4
-9
-13
0
12
14
-12
-47
-10
22
6
52
1
-3
22
14
-27
-14
-24
-59
-58
32
13
-11
6
12
29
28
45
28
-31
7
10
33
23
41
-3
12
2
9
-5
-17
-30
-43
10
9
-43
9
3
3
24
-22
-5
1
20
-14
3
1
25
-1
-34
33
-21
4
4
16
6
5
36
-12
1
-26
1
9
27
9
-18
-13
-3
10
9
16
-9
-50
-4
-4
25
13
4
12
9
-19
30
-71
-9
19
-10
-21
4
12
34
4
48
17
-19
-16
1
-6
-7
3
-21
10
15
11
37
-28
-10
-9
-22
18
20
14
-3
-52
-16
-21
9
19
25
-1
24
13
0
-32
-41
4
6
41
-13
-31
18
-13
-18
-6
-4
14
-25
-49
-58
-1
-14
6
-17
14
-22
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
-7
0
-32
0
19
0
1
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
4
0
-1
0
0
2
0
0
0
0
0
-64
0
0
0
0
0
11
0
0
0
0
0
-6
1
0
0
0
0
39
0
0
0
-3
-2
0
8
1
0
0
-10
0
0
5
-1
0
0
3
2
0
-9
0
0
0
-5
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
58
0
0
3
-10
0
11
-2
-3
0
1
0
0
0
0
0
0
0
0
26
-20
0
-22
87
0
0
39
-29
0
0
-2
0
0
8
-71
0
0
-6
-1
0
-2
-58
0
0
9
0
0
0
-24
0
-29
0
2
0
0
-36
0
0
0
0
0
0
-20
-4
0
0
0
0
0
119
0
0
0
0
0
-8
52
0
-7
11
0
0
12
44
0
0
0
0
0
-24
-28
0
0
5
0
0
-1
-11
0
0
7
0
0
2
-32
0
-6
0
0
0
0
-7
0
0
0
0
0
0
48
0
0
0
0
0
0
-18
0
0
0
0
0
0
-49
-9
0
0
0
0
0
32
7
43
1
0
0
0
7
0
0
0
0
0
0
-8
0
-5
4
0
0
0
-3
0
0
1
18
0
0
40
0
8
0
-12
0
0
-15
0
-2
0
-3
-2
0
2
0
1
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-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
-16
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
-23
0
0
0
0
0
0
2
0
0
0
0
0
-2
-42
0
0
-1
0
0
0
33
0
0
-1
0
0
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
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
-13
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
11
0
-10
2
0
4
4
0
0
0
0
7
0
1
0
0
-15
9
0
0
-4
0
0
-1
8
0
-4
3
0
0
0
0
0
-25
4
0
0
0
0
-37
0
0
0
0
-1
3
8
0
-1
0
0
0
0
0
3
-6
0
0
23
-9
0
-2
-29
0
0
-11
16
0
0
-26
-2
0
24
-4
0
2
23
0
0
-11
17
0
4
-5
-7
0
6
-2
0
0
-1
0
0
4
-4
0
1
17
20
0
0
0
0
0
0
0
0
3
36
0
6
1
-3
0
0
0
0
0
0
0
0
51
5
0
31
48
2
0
42
-20
0
0
6
4
0
50
-10
0
0
7
9
0
0
6
0
0
-35
0
0
26
12
0
-7
-35
5
0
0
5
0
-1
0
0
0
0
-1
12
-2
0
3
0
0
45
8
1
0
0
0
11
-3
0
-11
29
-16
0
-34
-20
0
-6
27
0
0
70
-8
0
1
25
-4
0
-10
-6
0
0
11
0
0
-8
15
0
-6
-6
0
0
-6
18
0
0
6
0
0
-2
-31
0
0
-1
-1
0
0
-10
0
0
0
0
0
0
57
-5
0
-16
-2
0
0
38
1
31
4
0
0
-21
-24
0
-4
6
-2
0
-2
18
0
-92
7
0
0
0
-32
0
7
16
-15
0
0
5
0
38
-24
-2
0
0
-6
0
3
13
5
0
0
9
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
-60
100
-8
-22
-2
0
-8
17
63
6
-3
13
0
8
18
0
0
6
1
0
3
-21
-16
0
0
-1
-10
0
0
1
0
-1
0
0
-33
0
0
-3
0
0
0
15
0
9
29
16
0
0
0
-2
29
18
34
25
45
30
3
5
13
-12
8
0
6
23
-3
-8
5
4
41
1
-30
-19
-12
-3
13
0
-18
82
12
0
1
59
7
-5
2
5
0
-6
1
0
-30
0
34
0
0
-1
-4
-33
0
-2
18
0
0
0
21
0
15
-34
0
0
-10
0
0
0
0
0
0
0
0
-9
37
-26
56
27
-67
3
-6
11
-16
25
20
-13
1
-13
4
1
41
-23
7
0
-13
-3
-13
6
-11
0
1
-19
11
0
-40
-23
-73
2
0
-26
0
0
2
0
-9
0
-15
6
-11
0
0
-3
0
28
-12
1
-7
0
0
11
31
-7
-51
0
1
0
66
32
0
57
6
2
21
-1
-42
9
26
24
39
7
-23
1
-2
18
-10
0
-20
-29
-15
-4
-17
38
61
-11
56
-1
0
2
-13
0
1
9
-2
-2
14
6
-1
-10
0
-24
21
0
0
-2
0
0
33
36
41
6
0
0
78
25
13
-36
1
0
0
37
-19
-7
69
41
9
6
-7
6
2
-16
-6
9
0
14
19
0
4
2
79
25
8
-18
-3
20
1
24
0
10
-37
0
-7
-36
4
-13
0
-8
0
-27
0
-3
-1
0
3
-29
-3
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
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
43
0
0
-1
0
0
-29
0
0
0
0
0
0
10
0
0
0
0
-1
0
0
0
-11
2
0
65
0
0
0
0
0
0
-33
-6
0
0
-18
-1
1
-1
0
0
0
7
0
0
0
-4
0
0
4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
-8
0
0
0
-2
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
18
7
13
0
67
-5
0
0
-36
0
0
-4
-44
0
3
-4
0
0
19
-29
0
0
0
0
0
-1
-19
0
-31
0
2
0
0
-1
0
0
1
0
0
0
4
8
-6
0
0
0
0
-1
0
0
0
0
0
0
22
0
0
-1
-1
-7
-1
0
0
-1
-21
0
3
19
-36
0
0
-2
13
2
-4
-50
0
0
0
0
6
-4
-2
0
2
0
-4
2
0
27
0
0
-1
4
0
0
-46
0
0
0
0
0
0
31
0
0
0
0
-1
0
-11
0
0
0
0
0
0
4
0
3
25
0
0
15
0
6
-6
-11
0
0
0
-10
0
34
1
0
0
0
-13
0
0
3
0
0
7
-12
0
12
3
0
0
0
5
0
-4
1
10
0
0
-8
0
41
15
0
0
0
20
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
1
0
0
0
0
0
0
2
0
0
-1
0
0
9
-2
0
1
0
0
3
-1
0
0
0
0
0
0
0
0
0
29
0
0
1
0
0
-4
0
0
0
0
0
0
25
0
0
0
0
6
0
0
7
34
0
-9
55
1
0
-1
-37
0
4
-25
0
0
-2
13
-10
0
4
18
0
0
9
0
-3
-6
11
0
0
0
0
0
0
-3
0
0
0
0
6
0
0
0
0
0
0
1
0
0
32
0
0
0
4
0
-2
3
10
0
0
0
0
0
0
0
0
0
0
14
62
0
-11
-1
-1
0
-49
41
0
0
-14
0
0
-7
-7
0
0
0
4
0
7
15
0
0
11
0
0
0
-16
0
18
0
0
0
0
16
0
0
0
0
0
0
18
0
-3
0
0
0
0
-2
3
-7
3
0
0
8
7
0
-19
14
0
0
30
-7
0
1
7
0
0
32
-3
0
1
-2
0
0
0
-20
0
0
-24
0
0
0
-18
0
0
0
2
0
0
-22
0
0
0
0
0
0
-10
0
10
2
0
0
0
15
0
0
0
0
0
0
85
9
0
10
0
0
0
33
0
24
-6
0
0
0
14
0
-1
10
11
0
-3
5
0
0
0
0
0
4
6
0
0
0
0
0
0
50
0
0
6
0
0
0
21
0
-1
0
0
0
0
-39
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
1
0
0
-2
1
0
0
0
0
-3
3
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
-66
0
0
16
0
0
-43
0
0
0
0
0
1
49
0
0
0
0
-21
0
0
0
0
0
0
23
0
0
-3
-58
0
19
14
6
0
9
1
3
1
10
0
0
0
35
0
1
0
0
0
0
-13
0
0
-1
5
0
0
0
0
1
0
2
0
0
0
0
8
0
0
2
0
0
0
-18
0
46
-1
0
0
0
0
0
0
0
0
0
0
0
39
87
0
-45
11
2
0
9
-19
0
0
12
0
0
4
42
0
0
-3
0
2
6
6
0
0
20
0
0
0
3
0
-13
1
-4
1
0
-54
0
0
0
0
-3
0
-28
-8
0
0
10
7
0
21
0
0
0
0
0
-3
-33
0
0
27
4
0
5
-41
0
0
-8
0
0
8
47
0
0
26
-1
0
4
11
0
0
14
0
0
2
-16
0
1
1
2
0
0
76
0
0
-2
-1
0
0
-49
0
0
4
0
6
0
43
-9
0
0
0
0
0
6
0
0
-1
0
0
-1
-62
-9
-7
14
0
0
19
-10
0
-1
0
0
0
-3
38
0
-1
-3
0
0
-4
45
0
0
7
0
0
0
14
0
-3
-7
0
0
0
23
0
0
0
0
0
0
1
0
0
1
0
0
0
5
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
19
-6
-9
11
-8
0
0
4
27
-26
-7
17
4
-14
4
74
-3
0
0
0
7
-22
-40
0
0
-23
-1
2
0
19
-1
-4
0
0
-7
0
0
20
0
0
0
2
0
33
33
0
0
0
-6
-7
34
6
1
14
-23
1
39
6
10
21
-10
-3
22
-29
-44
2
17
17
-8
-28
3
-18
0
0
-2
3
-22
-55
2
0
0
-2
-1
14
12
29
0
0
-11
0
-23
-1
14
-1
0
-8
26
-15
0
1
-15
0
0
0
3
1
4
-9
-21
14
48
0
0
0
0
0
0
0
0
14
33
12
-40
44
-24
0
49
20
0
39
34
-8
0
27
13
0
5
-6
-26
6
17
-1
0
0
15
0
0
-24
-4
0
0
15
-16
0
-1
-22
0
0
0
0
20
0
-2
37
19
0
-12
0
1
4
-27
0
19
0
0
26
5
14
17
46
39
-2
16
21
-3
10
-13
2
6
61
6
0
24
-14
-4
2
-32
9
4
51
32
9
26
21
3
0
-3
20
48
-1
17
-2
0
-3
-3
-8
-23
-3
-32
0
0
4
-12
-10
0
4
-6
0
0
0
0
2
-44
3
0
0
-6
0
-1
-38
-12
-16
23
-10
0
20
33
0
-13
-14
-17
0
-46
9
0
-23
58
-11
4
53
-16
-15
45
-12
49
20
-6
-24
4
-21
-28
9
-3
-2
-12
0
0
6
-5
0
0
-13
0
8
0
3
-3
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
10
0
0
0
44
0
-9
-11
-17
-3
1
-14
0
19
-1
-7
0
0
0
0
33
0
2
6
0
1
0
25
0
3
0
9
0
0
17
0
0
-4
0
0
0
4
0
28
-3
0
0
0
-4
22
0
0
0
23
0
-6
36
-2
0
1
-5
0
-1
-29
6
1
-4
7
0
-23
-6
36
0
0
32
0
-8
-43
-21
0
7
13
0
7
14
36
0
0
0
0
23
1
40
0
0
-3
0
23
0
0
-21
44
0
0
-7
0
-14
-34
-24
16
0
0
0
0
0
0
0
0
0
1
60
-1
17
19
0
0
19
19
-1
-9
-6
-12
3
8
10
-2
-7
-8
0
-10
4
-16
0
6
1
0
5
-3
5
0
10
31
0
22
-4
-22
0
0
0
0
49
0
-5
-38
-9
0
0
10
-2
2
35
0
0
0
0
0
30
0
6
30
0
0
51
10
0
-8
35
0
-1
38
16
0
-2
40
0
0
22
-10
8
-4
-7
9
-16
23
-25
0
0
-12
0
-8
10
1
0
-6
34
0
30
0
-4
0
-3
20
0
-20
0
9
44
-4
3
0
-8
0
1
52
-2
0
0
0
-8
17
0
48
-26
0
0
-29
-17
0
-10
27
0
2
-77
16
0
3
-52
0
7
-57
5
0
28
-1
0
0
-8
8
3
-36
-34
0
-1
0
17
0
-19
16
0
22
2
-14
2
-4
0
0
-19
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
8
0
0
0
20
0
0
-4
4
2
0
0
0
0
0
-3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
-16
0
0
0
0
0
4
7
0
0
0
0
-12
1
0
0
3
-3
0
22
0
0
4
43
0
0
16
11
0
-1
-6
-11
0
22
28
0
2
-1
0
0
-2
5
0
0
3
0
0
-16
3
0
0
0
0
0
0
-16
0
0
0
-15
0
0
1
17
0
0
0
0
0
29
-5
13
0
0
0
0
0
0
0
0
0
0
70
41
0
-2
19
2
0
22
1
0
-3
-22
-2
0
41
33
0
-9
14
20
0
-6
24
0
13
6
15
0
0
28
0
9
2
-4
0
0
4
0
0
-11
0
0
0
32
-20
2
-6
0
0
0
18
12
0
0
0
0
3
8
0
18
126
0
0
69
-16
0
3
28
0
0
20
-26
0
12
48
-9
0
-10
14
0
0
32
0
0
-3
5
0
1
9
19
0
13
28
0
0
-9
0
0
0
-55
0
-2
-4
0
0
0
-2
0
0
0
9
0
0
21
-2
0
0
0
0
-1
4
0
26
1
-4
0
3
-53
0
9
-34
4
0
0
5
0
-6
14
-1
0
0
67
0
1
52
-7
0
3
-13
0
24
-1
0
0
0
30
0
0
0
-13
0
0
2
0
3
1
0
0
0
-21
0
6
0
0
0
0
0
0
0
0
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
18
-32
2
40
3
0
6
17
-1
-3
-1
-44
2
3
-8
-2
6
17
-33
0
-10
-1
2
15
0
-3
0
-1
0
-9
-14
-3
5
-15
9
1
0
-53
-31
63
-1
-15
2
24
10
-41
42
21
44
1
3
-22
17
-94
-46
44
22
3
25
22
-20
6
-6
-22
-7
39
-13
8
-8
-38
-24
5
1
4
-4
0
25
22
6
-20
-18
-17
13
-3
7
33
-7
0
45
-7
0
3
38
-13
-3
-8
-20
-62
34
36
4
0
0
0
0
0
0
0
16
7
-11
2
7
6
9
5
-1
-12
-2
16
-20
22
-5
-7
0
4
-12
-16
-21
14
-1
-13
-34
-35
-22
11
-10
5
-1
-9
18
1
10
-38
-6
-1
9
-11
21
-16
0
5
13
-10
-4
-54
-35
-7
23
-46
-28
19
-1
-1
-52
24
3
56
17
18
8
25
26
-24
-68
17
-11
106
22
7
11
-4
31
-13
-7
57
-7
-17
-18
-2
15
-7
27
-6
-16
-6
-25
-15
-15
45
0
4
9
11
18
11
8
-18
-8
14
-38
-4
26
-1
1
-11
-14
0
-25
-41
-9
13
3
-17
-26
6
-6
-7
1
-44
-32
-30
-3
-1
-42
0
-29
4
-9
3
0
-7
3
13
-12
-35
0
52
-38
16
-8
-33
39
18
21
-5
-5
7
-7
-33
33
-6
22
-4
3
-30
30
-7
43
4
1
11
-3
1
-13
17
0
5
2
-11
-9
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
1
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-8
0
0
-14
0
0
0
0
0
1
-35
0
0
0
0
-3
3
0
4
-2
51
0
0
1
0
0
14
-4
0
-6
0
0
-1
29
4
4
13
11
4
-2
-7
-9
2
-6
2
0
0
0
0
0
0
4
0
0
4
0
-7
0
0
0
0
0
0
18
0
0
30
0
0
0
3
8
-3
4
-8
0
0
0
0
0
0
0
0
0
0
16
-35
-1
46
26
2
0
-24
0
0
9
11
-1
-1
-19
-17
0
1
3
-8
0
-2
-46
0
0
-19
0
0
1
-5
0
-28
4
0
0
0
1
0
0
0
0
9
0
9
16
0
0
0
0
0
-1
-4
0
0
0
0
46
10
-9
-6
-7
0
0
47
30
0
0
11
-1
0
60
0
0
0
22
-11
0
-22
12
-3
-6
1
0
0
1
28
0
0
22
0
0
0
-17
0
0
0
0
-11
0
-52
0
4
0
0
0
0
-14
0
0
0
0
0
0
17
21
1
0
0
0
-3
34
0
6
1
0
0
2
52
0
15
44
1
0
10
0
0
11
49
0
0
-6
-45
2
1
-47
0
0
-2
13
0
-1
3
0
0
1
-31
0
3
4
-1
0
0
1
0
-11
0
0
0
0
-44
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
0
0
0
0
0
-1
2
-4
0
0
0
9
0
0
0
-18
1
0
-34
0
0
0
16
0
0
48
-1
0
0
10
0
0
0
1
0
0
-14
0
0
0
2
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
-28
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
56
26
0
0
12
46
0
3
-30
0
0
14
24
0
-3
1
1
0
0
38
0
0
0
0
0
0
0
0
8
0
0
0
0
-5
0
0
0
0
0
0
-11
0
0
0
0
0
0
-35
2
0
0
0
0
-1
16
0
-9
2
0
0
-9
-8
0
0
24
0
0
1
4
0
0
13
0
0
-9
-11
0
0
-7
0
0
0
2
0
12
12
0
0
0
-16
0
0
2
0
0
0
-11
0
2
0
0
0
0
9
0
0
0
0
0
0
43
0
0
3
0
0
0
14
0
1
0
0
0
0
-14
0
0
11
0
0
0
14
0
1
1
0
0
0
-21
0
17
0
0
0
0
10
0
0
0
7
0
0
9
0
-4
0
0
0
0
-32
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
7
0
0
31
0
0
0
0
0
7
0
0
0
0
0
11
0
0
0
0
0
0
-14
0
0
0
7
0
0
16
-2
0
0
-1
0
0
4
0
0
0
0
0
0
0
6
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
-8
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-34
-20
0
0
6
33
0
0
11
0
0
-1
-17
0
0
0
-10
0
-6
33
0
0
0
2
0
3
11
0
0
0
0
0
0
2
0
0
0
0
0
0
-72
0
0
0
0
0
0
-65
0
0
0
0
0
0
-10
1
0
33
0
0
4
34
0
0
1
0
0
-1
-18
0
0
-1
0
0
-2
-11
0
0
-3
6
0
0
1
0
0
0
0
0
0
-33
0
6
8
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-10
0
7
0
0
0
0
3
0
0
0
0
0
0
-29
0
0
0
2
0
1
11
0
0
0
0
0
0
-7
0
0
0
1
0
0
5
0
0
0
0
0
0
41
0
0
0
0
1
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-17
-3
0
-1
11
0
-34
28
0
1
0
0
7
0
9
0
0
0
0
0
0
-1
0
25
0
0
2
0
0
-10
0
0
0
0
0
-7
-15
0
0
0
-2
18
0
1
0
31
-5
7
-53
0
0
3
76
0
0
32
-21
-1
0
-11
2
-9
6
43
0
0
-12
-2
0
-4
-2
0
12
-8
23
3
8
-23
0
0
-8
0
-2
0
-18
0
0
0
0
34
0
0
23
0
0
-2
15
0
-28
-1
-6
0
0
0
0
0
0
0
0
0
0
-53
60
1
29
31
9
0
8
8
1
0
-46
0
0
11
16
7
0
-56
-4
0
-24
7
0
0
-8
0
0
0
-86
0
23
18
28
7
0
-7
0
0
1
0
-3
0
12
-26
-2
0
-9
-2
0
14
-1
0
0
0
0
33
10
-3
12
-3
0
0
-9
31
-1
-9
7
0
0
73
-9
0
-30
18
1
-1
45
-37
0
-9
-5
0
0
2
21
0
0
10
-24
3
-1
-30
0
0
6
7
-17
0
20
0
0
0
7
10
0
7
-6
0
0
0
0
1
-24
13
0
0
0
0
-6
50
2
-40
1
0
1
6
9
0
7
4
-1
-1
-7
-55
-1
22
13
0
-3
1
-25
0
-37
6
-13
-1
2
-13
0
9
32
7
0
-32
-4
0
0
-1
10
1
0
-26
0
13
4
0
1
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
-47
0
0
0
0
0
-49
0
0
0
0
0
2
0
0
0
0
0
-3
16
0
0
0
0
0
-12
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-4
21
0
0
-9
-8
0
0
-1
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-1
0
-20
0
0
0
0
-36
0
0
0
0
0
0
-19
0
0
0
0
0
0
-93
0
0
0
0
0
0
40
0
0
-2
0
0
-2
-46
0
0
2
0
0
0
26
0
0
1
0
0
-6
28
0
0
0
0
0
0
-21
0
0
8
0
0
-1
-19
0
0
0
0
0
0
-3
0
0
0
0
-1
0
-26
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
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
-8
-4
0
0
9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
29
0
0
0
0
0
9
0
0
0
0
0
0
12
0
0
0
0
30
1
0
0
3
-11
0
34
0
0
6
2
-2
0
-1
0
0
0
-9
0
0
79
0
0
2
16
0
0
61
-13
0
0
0
0
0
12
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-14
0
0
0
0
0
-56
4
-13
1
-1
0
0
0
0
0
0
0
0
50
4
0
12
-5
-13
0
-15
0
0
10
-39
0
0
38
5
0
0
33
-2
0
-17
12
0
0
10
0
0
-7
-22
0
-13
2
0
0
0
-14
0
0
4
0
0
0
10
27
2
0
0
0
0
-23
-1
0
0
0
0
3
-25
0
-6
54
0
0
29
10
0
0
29
0
0
-18
-27
0
0
-3
1
0
-8
40
0
0
40
0
0
0
-20
0
0
-36
-2
0
11
25
0
0
2
0
0
0
12
0
0
0
10
0
0
-18
0
0
0
0
0
0
-35
7
0
0
0
0
8
-2
0
-5
-27
0
0
6
19
0
0
62
0
0
-3
-35
0
-5
-10
0
0
-3
-13
0
-22
-1
15
0
1
9
0
-49
33
0
0
0
60
0
0
0
0
0
0
-15
0
-3
0
0
0
0
3
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
96
0
2
0
0
1
-1
19
0
0
0
0
-4
0
-2
0
-33
0
0
2
0
0
-12
0
0
0
0
0
-6
-26
0
0
0
0
0
-4
0
3
-29
-47
0
31
0
0
0
-21
0
0
-72
29
-2
0
36
41
9
-63
33
0
19
-13
0
12
19
8
0
2
29
-7
-6
-1
15
0
-4
0
0
-3
0
41
0
0
0
0
-52
0
0
-31
0
0
0
-26
0
-23
-2
4
2
0
0
0
0
0
0
0
0
0
29
28
2
-31
-45
14
0
-33
0
0
1
-21
0
0
-9
-31
0
-5
-25
-7
0
11
-3
0
4
71
0
0
1
3
0
-16
21
-14
1
-1
-107
0
0
-2
0
-8
0
14
15
-4
0
0
0
0
-1
-10
0
0
0
0
-1
-18
0
-1
21
0
0
34
26
1
24
-20
1
0
-5
1
7
43
18
2
0
12
8
0
7
1
0
-1
-7
-29
0
38
-16
19
1
0
32
0
0
19
0
-55
0
-44
0
0
-3
0
28
0
-18
0
0
0
0
-2
0
0
10
0
0
0
0
-2
9
0
-26
57
0
0
0
-25
8
14
32
1
0
-16
31
9
62
2
-2
1
5
14
1
0
5
11
0
0
8
0
-1
-4
3
0
0
15
0
-1
9
1
-2
0
-39
0
44
0
0
4
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
4
2
0
0
3
0
-2
0
0
0
0
-44
0
0
0
0
0
-1
0
0
0
2
0
6
-79
0
0
0
0
31
-3
0
11
-2
-1
0
-10
-2
2
-1
0
0
1
64
-1
0
0
11
35
11
-10
0
0
6
49
0
1
44
24
0
0
6
-4
-1
4
34
0
0
0
0
0
0
19
0
0
0
21
-28
0
0
2
0
0
0
-6
0
41
7
37
0
0
0
0
0
0
0
0
0
0
-19
-16
-6
35
-14
1
0
-13
23
-4
7
-21
0
8
19
0
1
0
20
-2
0
-6
-36
0
-12
35
0
1
-7
-49
0
-36
-2
-2
0
0
-47
0
0
0
0
2
0
-36
11
4
3
2
0
0
-28
4
3
-1
0
0
-7
21
2
2
48
-18
0
61
11
-3
-1
42
0
0
1
-4
0
-24
3
-5
-3
19
0
0
0
-4
-1
1
2
18
0
0
-10
-14
0
6
33
0
0
14
0
3
0
-14
0
0
-7
-14
-11
0
-29
1
0
0
0
0
1
13
12
1
10
0
0
0
22
1
8
-10
0
0
11
-19
-8
15
67
0
0
-1
-2
1
-16
54
0
3
15
0
-1
2
-3
10
-7
0
-14
0
-7
22
1
0
-4
-19
0
0
0
-1
0
0
14
0
-45
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
-5
0
0
0
0
0
42
0
0
0
0
0
-12
25
0
0
0
0
-3
0
0
4
16
0
0
-39
0
0
0
-14
0
0
21
0
0
-3
73
-5
0
42
0
0
0
-4
0
3
-4
25
0
0
-8
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
-2
9
0
0
0
0
0
0
0
0
0
0
-18
4
0
20
6
17
0
-11
37
0
0
-6
0
0
-32
28
0
0
13
-2
0
8
14
0
0
16
0
0
0
6
0
-3
10
0
0
0
51
0
0
0
0
2
0
12
0
0
0
0
0
0
9
1
0
16
0
0
0
8
0
0
21
11
0
34
-31
0
4
-19
0
0
9
10
0
-3
-49
-4
0
1
-18
0
0
1
0
-8
7
-19
0
0
-2
0
0
0
-14
0
0
11
0
0
0
-33
0
0
0
0
0
0
8
0
2
0
0
0
0
-16
2
0
0
0
0
0
-3
0
-3
-16
0
0
0
19
0
-1
-10
0
0
6
20
-1
0
-14
0
0
4
26
0
0
0
0
0
0
-24
0
-2
-2
0
0
0
11
0
1
-3
0
0
0
-42
0
0
-8
0
0
0
-23
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-38
0
0
0
0
0
0
15
0
0
0
0
8
0
0
0
0
3
0
-30
3
4
0
-9
0
0
25
2
0
0
13
-11
0
-78
33
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
-18
0
0
0
-2
0
0
0
0
0
0
0
0
6
-50
0
60
14
1
0
-42
26
0
0
-7
0
0
0
-28
0
0
20
1
0
-1
-30
0
0
-1
0
0
0
-4
0
-3
0
0
0
0
2
0
0
0
0
0
0
55
-2
0
0
0
0
0
-2
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
18
-23
0
1
-9
-2
0
-4
-11
0
0
-19
0
0
0
-56
0
0
-13
-6
0
0
37
0
0
0
0
0
0
-25
0
0
0
-1
0
0
18
0
0
0
0
0
0
-10
-7
0
0
0
0
0
-52
0
13
0
0
0
0
70
2
0
2
0
0
0
-27
0
2
0
0
0
0
-15
0
-10
0
6
0
0
0
0
-3
-7
0
0
0
-23
0
0
0
7
0
0
28
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
8
10
0
0
0
0
0
-1
-1
0
0
0
2
0
0
2
0
-18
0
0
0
0
0
-36
0
0
0
0
0
6
19
0
0
0
0
-3
-3
0
0
5
-66
0
20
-1
0
0
-11
0
0
28
1
0
0
39
16
0
-43
10
0
0
-1
4
-11
-15
27
0
0
9
4
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
30
0
0
13
0
0
0
0
0
-29
1
9
0
0
0
0
0
0
0
0
0
0
-8
68
-2
-17
-3
0
0
39
39
1
8
-17
0
0
5
-36
0
0
-4
10
0
35
16
0
0
-6
9
0
-1
-35
0
10
-2
-5
0
9
18
0
0
0
0
1
0
-12
1
2
0
0
0
1
-7
0
0
0
0
0
0
-20
1
-2
6
-6
0
16
-7
0
-11
11
0
0
-11
10
0
2
7
40
0
3
-4
0
0
18
-4
18
0
44
0
0
0
18
0
0
3
0
-2
0
0
0
0
-61
0
0
2
0
-4
0
13
0
0
0
0
0
0
8
0
0
0
0
0
0
-2
0
-2
-5
0
0
0
10
0
-1
-4
-2
0
-1
-34
0
0
0
0
0
-1
74
0
0
0
-7
0
0
3
0
-5
-4
0
0
0
73
0
0
0
2
0
0
-36
0
-33
0
0
-2
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-15
0
-2
0
0
0
0
1
0
0
0
11
0
0
26
0
0
-8
0
0
0
0
0
23
7
0
0
0
0
18
0
0
0
40
0
2
-24
0
3
9
7
0
0
-55
3
0
-9
25
0
0
12
0
0
0
-12
0
41
1
0
0
0
-1
0
-18
-3
0
0
0
0
0
9
0
0
0
0
0
0
31
0
0
-2
0
0
0
37
0
8
4
-2
0
0
0
0
0
0
0
0
0
0
7
-65
0
-16
4
0
0
30
29
0
0
-14
0
0
-41
54
0
0
38
0
0
-2
8
0
0
-15
0
10
1
-6
0
-13
-2
0
0
0
7
0
0
0
0
-8
0
24
58
40
0
0
0
0
-4
9
0
0
0
0
27
-34
0
-13
-32
0
0
-7
17
0
0
28
0
0
8
1
0
0
-1
0
0
-6
-16
0
0
20
0
-6
28
37
0
0
8
0
0
3
-6
0
0
25
0
-1
0
0
0
0
0
0
3
0
8
0
0
0
0
0
0
-17
-1
0
0
0
0
3
1
0
-8
71
0
0
7
-5
0
0
-15
0
0
-8
1
0
26
18
0
0
9
-19
0
0
18
0
0
0
6
0
19
0
0
0
0
20
0
0
0
0
0
0
-35
0
-19
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
15
-2
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
0
30
0
0
0
0
0
-14
0
0
0
0
0
5
-9
0
0
0
0
-14
4
0
0
-5
-1
0
-14
0
0
0
-21
0
0
-28
-1
0
0
-2
32
0
-14
1
0
-3
0
0
0
0
1
0
-1
26
21
0
20
7
0
0
0
0
0
0
6
0
0
0
10
0
0
0
14
0
0
0
0
0
-10
-8
-3
2
0
0
0
0
0
0
0
0
0
-13
18
-1
-9
-6
24
0
34
39
0
0
28
0
0
28
0
0
0
22
-2
0
14
-7
0
0
-59
16
0
4
-15
0
-30
-5
-6
0
-8
0
0
0
0
0
0
0
17
53
37
0
11
0
0
-3
-10
0
9
0
0
-4
22
0
0
61
20
0
1
19
0
8
-11
0
0
53
14
0
4
-3
11
0
45
-29
0
0
24
0
0
22
11
0
13
7
-28
0
19
21
0
0
-7
0
0
0
27
0
0
20
3
0
0
-26
0
0
0
-1
0
0
-34
17
0
0
0
0
14
36
0
-30
14
0
0
9
38
0
10
-55
-3
0
3
-5
0
19
75
0
0
-13
3
0
1
76
-2
0
0
12
0
-28
-13
0
0
0
0
0
0
9
-3
0
0
44
0
-13
0
0
0
0
-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
-17
0
0
3
0
0
0
0
0
-14
1
0
30
0
0
-28
0
0
0
0
0
0
16
0
0
0
0
11
-17
0
-2
35
-4
0
13
1
0
1
-11
0
-3
21
0
0
0
12
5
-14
26
8
0
0
-72
-3
-1
0
0
0
0
32
2
14
0
-8
0
0
-1
1
22
0
4
0
0
0
-9
-24
0
0
16
0
0
0
1
0
3
-50
-3
0
0
0
0
0
0
0
0
0
0
7
-20
0
6
4
-21
0
-21
9
0
0
-19
1
0
0
32
0
2
2
0
0
0
4
0
-1
54
0
0
0
-5
0
-18
16
1
0
0
-14
0
0
-12
0
-3
0
12
0
3
0
-3
0
0
12
-4
0
0
0
3
1
-27
2
0
20
3
0
6
-12
1
-1
0
0
0
0
3
2
11
-10
-7
0
0
5
0
0
21
4
1
1
-16
1
0
25
-6
0
0
-13
0
0
3
0
15
0
1
0
3
0
0
20
0
-4
-8
0
0
-1
0
0
2
-6
0
0
0
0
0
-49
0
17
24
3
0
0
12
0
10
-13
-1
0
0
56
0
32
9
-1
0
0
-10
0
0
25
41
0
0
-12
0
-8
-17
0
0
0
-1
0
-3
-1
1
2
0
14
0
12
0
0
4
0
-51
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
2
0
3
0
0
0
-43
0
0
-8
0
0
-7
0
0
0
0
0
-23
-14
0
0
0
0
11
0
1
0
9
-2
0
-2
0
0
0
58
0
0
32
-12
0
2
-52
15
0
4
6
0
-1
55
4
0
26
0
6
0
1
-7
15
-4
14
0
0
0
0
-6
0
-1
0
0
0
0
-7
0
0
-9
0
0
0
8
0
-22
8
8
-6
-1
0
0
0
0
0
0
0
0
-17
31
0
7
26
2
0
30
-55
-2
2
51
0
0
-12
28
3
0
-42
14
0
8
0
-2
0
9
0
4
16
64
0
27
0
0
0
0
-14
0
0
0
0
0
0
20
16
0
0
0
0
0
-13
-16
2
0
0
0
4
-4
-4
-3
53
3
0
0
-45
1
0
1
2
0
-11
-12
12
-7
-9
0
0
-27
36
2
0
-1
0
6
15
0
-2
0
43
14
11
0
-40
0
0
3
32
0
0
20
1
0
1
0
9
0
-38
0
0
0
0
0
0
7
12
-1
3
0
0
0
-20
0
-5
-1
0
0
0
18
0
-12
-2
1
0
-2
31
9
-11
20
-2
0
-9
-8
3
0
-29
4
0
0
0
0
0
9
0
0
0
33
0
0
-1
-16
0
0
28
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
7
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
15
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
-1
0
1
18
0
0
0
-28
0
-4
12
0
0
0
9
0
12
-4
-11
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
19
0
-1
0
0
0
0
0
0
0
0
0
0
5
6
0
6
-29
0
0
-23
7
0
0
-2
0
0
1
-12
0
0
-9
0
0
0
-10
0
0
0
0
0
0
-9
0
30
8
0
0
0
-6
0
0
0
0
25
0
-47
2
0
0
2
0
0
-18
0
0
0
0
0
7
-31
0
7
-2
0
0
1
-69
0
0
11
0
0
-6
-26
0
7
61
0
0
0
-5
0
0
0
0
0
0
-1
0
-1
9
-2
0
0
59
0
0
0
0
0
0
-1
0
0
0
-2
0
0
-11
0
0
0
0
0
0
-13
0
0
0
0
0
0
23
0
0
-1
0
0
1
14
0
9
-2
0
0
0
54
0
0
0
0
0
0
3
0
0
2
0
0
0
-3
0
1
0
0
0
0
-3
0
0
0
0
0
0
7
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
2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
8
0
0
-2
0
0
0
3
0
0
-15
5
0
0
0
0
0
-1
0
0
0
3
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
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
-11
-6
-8
0
24
-3
0
0
0
0
0
1
-8
0
0
2
0
0
0
-8
0
0
0
0
0
0
-2
0
-2
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-54
0
0
0
0
0
0
-21
0
0
-1
0
0
0
32
0
0
-22
0
0
6
1
0
-2
0
1
0
0
-39
0
0
-1
0
0
0
12
0
3
0
0
0
0
13
0
0
0
0
0
0
-2
0
0
0
0
0
0
-18
0
0
0
0
0
0
-10
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
11
0
0
0
-1
0
0
0
0
0
0
26
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-55
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
4
-1
0
0
2
0
0
1
6
0
0
0
0
0
-2
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
0
0
0
-1
0
37
-1
0
0
0
0
0
0
0
0
0
0
0
-4
14
0
15
2
0
0
-9
-11
0
0
-7
0
0
3
-10
0
0
-3
0
0
4
-26
0
0
-4
0
0
0
0
0
10
-1
0
0
0
1
0
0
0
0
0
0
-2
-1
0
0
0
0
0
24
-2
0
0
0
0
0
-27
0
0
-3
0
0
0
-42
0
0
1
0
0
0
17
0
0
0
1
0
-4
36
0
0
1
0
0
0
5
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
1
0
0
0
-10
0
0
10
0
0
0
6
0
-7
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
-6
0
0
0
0
-11
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
39
0
0
0
0
-12
0
0
0
0
0
0
21
0
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
0
0
0
0
-27
0
0
0
0
0
0
15
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
4
0
0
0
1
0
0
0
0
0
0
49
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
9
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-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
8
0
0
0
0
25
0
0
0
0
0
-12
0
0
0
0
0
29
7
0
0
0
0
-23
0
0
0
33
17
0
-15
2
0
-1
30
0
0
36
4
0
0
-30
4
0
-14
10
0
11
-4
0
0
-10
-2
0
0
0
0
0
39
-27
0
27
3
0
0
1
-28
0
0
0
1
0
0
0
29
0
0
0
0
0
-40
11
8
1
0
0
0
0
0
0
0
0
0
24
4
0
38
33
-29
0
-6
22
0
-4
2
0
0
-19
-26
0
13
9
7
0
-23
-52
0
0
30
0
0
22
-62
0
18
-8
4
0
0
-1
0
0
0
0
0
0
31
16
-21
0
1
0
0
-1
-11
0
0
0
0
37
-31
0
6
-43
5
0
12
9
0
0
44
0
0
69
21
0
0
-16
-7
0
-53
-24
0
0
19
0
0
2
3
0
1
14
-15
0
20
-4
0
0
55
0
0
0
-8
0
0
7
9
0
0
39
13
-4
0
0
0
0
9
5
0
3
0
0
11
19
0
0
24
0
0
11
19
0
1
-29
0
0
-3
8
0
16
-21
0
0
-10
1
0
7
-27
-8
0
15
14
0
-26
7
0
0
0
1
0
4
-2
-13
0
0
29
0
-7
0
0
0
0
27
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
-40
0
0
0
0
0
-8
2
0
0
0
0
1
0
0
0
57
0
0
-27
-8
0
0
74
0
0
1
0
0
0
-10
3
0
18
0
0
0
0
0
0
-16
1
0
0
25
0
0
0
0
0
0
0
0
2
0
1
0
0
-1
-5
-2
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
0
3
21
-1
0
-13
-52
0
0
16
0
0
0
-18
0
0
-1
0
0
0
-37
0
0
6
0
0
0
-6
0
12
0
-1
0
0
-31
0
0
0
0
0
0
-30
-2
0
0
0
0
0
36
0
0
0
0
0
0
-65
0
-2
0
4
0
0
33
1
0
-11
0
0
0
39
0
-21
2
0
0
0
-20
0
0
1
-3
0
0
12
0
0
8
8
0
0
-3
0
0
0
0
0
0
-31
1
0
0
0
0
0
-2
0
0
0
0
0
0
26
0
0
0
0
0
0
-6
-6
2
0
0
0
0
-16
0
0
0
-2
0
0
-9
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
11
0
0
0
0
0
0
-29
0
2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-41
0
0
2
0
0
-85
0
0
0
0
0
7
0
3
0
0
0
5
2
0
0
1
8
1
20
0
0
1
4
0
-6
72
14
4
0
-14
2
0
11
44
0
7
14
2
-5
18
19
0
3
54
9
0
2
0
3
-6
2
0
0
0
-2
0
0
0
0
-1
0
0
-1
0
0
0
0
0
-7
-7
11
0
-3
0
0
0
0
0
0
0
0
-20
1
2
-39
8
0
0
26
46
-3
0
-27
-2
0
-2
76
4
-2
66
22
0
20
-19
0
2
44
0
0
0
0
0
9
0
0
0
0
-18
0
0
0
0
0
0
-2
17
0
0
0
0
0
2
-4
-1
0
0
0
4
-16
4
-2
77
-9
0
1
-7
3
0
-40
0
11
3
-25
0
-8
51
8
0
1
-26
0
1
-14
0
-9
2
38
1
4
-6
-9
0
0
0
0
0
-11
0
0
0
9
0
0
0
1
16
0
36
0
0
0
0
0
0
17
-3
0
-21
0
0
0
-10
1
20
-13
0
0
1
-34
1
-9
0
2
1
-6
20
0
-7
42
0
0
0
25
6
-2
-19
-9
0
0
18
-6
-9
0
3
0
0
0
0
-3
-1
0
-6
0
-32
0
57
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
-14
0
0
1
0
0
-22
0
0
0
0
0
2
0
0
0
0
0
-1
6
0
0
-2
0
0
47
-1
0
0
12
0
0
-2
0
0
0
-8
-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
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
6
29
0
0
-57
46
0
0
-18
0
0
-1
11
0
0
1
0
0
0
2
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
10
0
0
0
0
-71
0
0
0
0
0
0
-18
0
0
-14
0
0
2
-4
0
0
0
0
0
3
-2
0
0
17
0
0
0
37
0
0
9
0
0
0
-43
0
0
0
0
0
0
-11
0
0
0
0
0
0
14
0
0
-4
4
0
0
-6
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
-2
0
0
-2
-17
0
0
0
0
0
0
16
0
1
7
0
0
0
2
0
0
0
0
0
0
18
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
-6
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-8
0
0
0
3
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
27
-36
0
0
-12
11
0
0
0
0
0
0
1
0
0
-3
0
0
0
-11
0
0
0
0
0
0
0
0
-1
0
0
0
0
8
0
0
0
0
0
0
-35
0
0
0
0
0
0
-7
0
0
0
0
0
0
-44
0
0
-1
0
0
0
-33
-3
0
25
0
0
0
-21
0
0
3
0
0
0
-24
0
0
1
0
0
0
-8
0
0
0
0
0
0
45
0
0
0
0
0
0
13
0
0
0
0
0
0
10
0
0
0
0
0
0
-3
-1
0
0
0
0
0
4
0
0
0
0
0
0
17
0
0
0
0
0
0
28
0
0
0
0
0
0
-1
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
21
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
1
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
20
26
1
0
0
14
15
0
17
0
0
0
-53
1
0
29
0
0
0
0
0
0
36
0
0
0
0
-4
-2
0
1
0
0
0
-7
-3
-3
0
0
0
2
0
3
-4
0
0
0
-1
-7
18
0
0
0
0
0
0
0
0
-43
10
0
3
0
0
0
0
0
0
0
0
0
68
25
0
2
3
0
-6
-9
32
0
0
-6
0
0
-8
5
0
0
0
0
0
12
-27
0
0
0
0
0
-3
-4
0
-5
0
2
0
0
-1
0
0
0
0
0
0
-30
0
-2
0
-1
0
0
53
1
0
0
0
0
4
-18
1
0
0
0
0
0
3
0
1
5
0
8
-4
-1
0
0
1
0
0
0
-60
0
0
0
0
0
0
-8
0
-2
0
0
0
6
11
0
0
0
0
-7
0
-26
0
0
0
0
0
0
-7
0
0
0
0
1
0
-13
0
0
0
0
0
0
-34
0
0
0
0
0
0
53
0
0
0
-1
0
0
9
0
2
0
0
0
0
-1
0
0
0
0
-1
-1
9
0
-21
0
0
0
0
11
0
0
0
0
0
0
55
0
0
0
-1
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
17
0
0
-16
0
0
0
0
0
6
13
0
4
0
0
-11
1
0
0
4
0
0
-24
2
2
0
-30
0
9
7
-6
0
0
22
0
44
-86
-3
0
0
17
0
-4
0
7
0
0
0
-1
4
21
-4
0
0
0
0
5
0
0
0
0
0
0
-35
0
0
-5
0
0
0
16
0
1
-5
9
0
0
0
0
0
0
0
0
0
0
-12
-50
0
-3
-28
0
0
-35
-32
0
4
-4
0
0
-1
-8
0
0
33
22
0
18
34
0
0
-9
0
0
7
-4
0
41
7
0
0
0
5
0
0
0
0
2
0
33
-3
0
0
0
0
0
-4
4
0
1
0
0
1
-15
0
12
9
0
11
4
-18
0
0
44
0
3
1
-13
0
11
7
0
1
10
-13
0
0
40
0
-1
0
16
0
0
3
0
-7
-8
18
0
0
0
0
15
1
0
0
0
32
0
-21
0
58
0
0
0
0
0
0
28
0
0
0
0
0
2
27
0
4
8
0
0
0
-15
0
3
-35
-2
0
-4
9
0
-6
1
0
0
0
29
0
0
8
3
0
0
85
0
-30
-1
0
0
0
27
0
1
0
0
0
0
25
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
-7
0
0
0
0
0
4
0
0
0
0
0
-5
-13
0
0
0
0
-7
0
0
0
-2
-1
0
-8
0
0
0
-63
0
0
-23
2
0
0
16
18
0
-6
-10
0
0
-1
0
0
28
-2
0
0
-1
0
0
1
0
0
0
0
0
0
4
-3
0
0
0
-2
0
0
0
15
0
0
0
0
0
5
12
4
10
0
0
0
0
0
0
0
0
0
-100
33
0
26
27
16
0
25
13
0
-3
15
0
0
-7
3
0
0
7
-30
0
32
5
0
0
-8
0
0
0
11
0
-61
1
10
0
0
21
0
0
-1
0
0
0
9
-29
-8
0
-1
0
-3
18
10
0
2
0
0
48
-6
0
6
36
3
0
40
0
0
-10
74
0
0
-19
13
0
4
21
1
0
-34
19
0
0
-18
-3
0
-9
5
0
6
41
37
0
-15
-7
0
0
8
0
0
0
25
0
0
4
-2
0
0
26
0
0
0
0
0
0
28
2
0
0
0
0
13
3
0
-28
9
0
0
-4
2
0
0
2
0
0
0
16
0
8
56
0
0
15
-5
0
2
13
3
0
0
-2
0
60
-2
-1
0
0
23
0
-2
0
-13
0
0
48
0
77
-1
0
0
0
31
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-4
0
0
0
0
0
-1
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
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
-6
0
0
-13
-4
0
0
2
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
7
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-15
0
0
0
0
0
0
-13
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
-2
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
2
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
1
0
0
0
0
0
-4
0
0
0
-1
0
0
76
0
1
0
-36
0
0
-32
0
0
0
8
-4
0
-2
-4
0
0
1
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-6
0
16
10
0
0
0
0
0
0
0
0
0
0
0
0
3
0
43
-28
1
0
4
24
0
0
1
0
0
-7
10
0
0
3
0
1
1
-59
0
0
4
-3
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-53
18
0
0
0
0
0
-30
3
0
-12
-1
0
6
37
0
9
3
0
0
34
-22
0
0
13
0
0
2
-11
0
0
12
1
0
0
7
0
1
-7
0
0
2
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
-7
-8
0
0
0
0
0
32
0
0
-1
0
0
0
-24
0
0
0
0
0
0
-1
0
10
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
6
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
32
-23
0
0
8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
16
0
0
0
0
0
-1
-5
0
0
13
0
0
0
-13
0
0
0
0
0
0
-9
0
0
1
0
0
0
22
0
0
0
0
0
0
-3
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
7
4
-1
-18
-19
51
-44
4
-13
-46
-25
-31
13
22
10
-8
-5
19
24
29
-13
25
-17
2
23
35
-3
-12
15
26
-8
17
22
-37
28
25
26
23
-13
0
10
6
1
23
6
-21
-4
8
-7
25
32
30
-44
6
0
8
18
-5
0
9
-15
0
0
-40
-14
-55
-14
-6
13
16
-5
-3
0
0
0
0
0
0
0
-4
-1
41
-2
-6
2
-17
10
-5
-4
40
3
3
-1
22
-5
19
-29
12
10
-39
23
4
-13
25
13
31
-1
-4
5
-32
6
12
6
-45
-40
-9
53
-3
-9
-3
-35
2
8
-14
0
0
-33
-18
-2
-7
3
6
-46
2
-15
-1
-8
0
22
-27
2
-28
-1
-15
-13
25
-5
-43
-33
1
-1
14
14
27
13
27
-10
0
-1
-22
11
-7
3
40
-5
1
-12
-5
0
7
-13
3
-21
-6
30
-21
8
54
5
11
-41
-3
-3
6
-2
-3
-43
2
-6
-24
11
-14
10
22
-15
0
-53
14
-22
10
-20
3
-50
40
-45
-20
-13
17
13
18
23
-48
22
2
2
3
-45
1
54
19
-7
-23
43
-16
-1
13
-1
-6
4
19
-20
-1
-7
8
-8
-50
31
0
-1
11
24
4
16
6
-13
-5
39
22
-6
-57
-12
-9
33
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
3
0
0
-1
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-17
0
0
0
0
0
0
-3
0
0
-3
2
0
0
10
0
0
8
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
1
-1
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
-8
0
0
0
0
0
0
-24
0
0
0
0
0
0
-12
0
0
6
0
0
0
-33
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
-29
-23
0
0
0
0
-28
3
3
0
58
-20
0
18
0
0
5
-7
0
0
0
-2
0
0
15
-6
0
43
-35
0
0
-28
1
0
74
-2
0
-1
2
-5
0
38
-9
0
0
46
0
0
0
6
0
0
0
0
0
0
-1
43
0
0
-1
0
0
-30
-26
-23
2
0
0
0
0
0
0
0
0
0
5
21
3
-2
6
-23
0
38
5
0
0
24
6
0
-21
13
0
-1
6
30
0
-26
-21
0
-14
16
-2
0
80
-34
8
10
-28
12
0
1
10
0
0
1
0
0
0
21
40
-20
9
43
0
10
-27
51
-1
-4
-1
0
3
-40
0
15
7
-38
0
-26
41
0
19
42
0
0
32
26
0
-8
40
26
0
72
-20
0
-2
19
1
0
31
-25
0
20
18
7
0
31
12
0
0
12
0
0
-12
-8
3
-6
7
-28
0
0
-2
9
0
0
0
0
0
-26
-2
0
0
0
0
32
-11
0
-9
21
0
0
45
-5
2
-23
-24
-7
0
0
30
-8
4
16
1
0
27
-14
0
12
33
15
0
46
22
0
-48
36
0
0
0
44
0
12
-10
-47
0
-4
-4
0
-31
4
0
0
0
18
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-2
0
0
-9
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
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-6
-1
0
0
11
6
0
0
-33
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
-1
2
0
0
0
0
0
0
3
0
0
1
0
0
0
1
0
0
-1
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
-21
12
-7
15
-25
31
1
0
24
9
-20
-12
-7
3
-12
-19
-1
2
1
24
37
-2
10
27
2
-13
13
2
-8
30
12
6
-24
-6
-16
14
-9
6
-17
5
0
2
6
-14
-8
-56
6
11
-5
-30
14
-23
-21
16
3
7
-33
-37
22
-13
-10
-21
0
17
-2
11
-44
9
-9
-14
0
0
0
0
0
0
0
0
7
30
-13
-18
-20
-28
-5
-5
-6
6
-1
-4
-38
-8
-4
-57
-18
12
-2
-23
-1
-10
33
32
0
0
-12
10
-16
-22
18
-24
4
-8
35
-14
11
34
-5
-11
2
3
3
0
9
13
-12
-19
18
3
-18
-22
13
2
-27
0
-24
-35
1
1
-1
12
8
-1
4
50
0
-5
-23
-1
-4
-43
-14
-11
-4
-41
-7
-7
-19
-44
-1
-32
-9
13
4
30
3
-5
-4
-9
-1
-3
38
-43
-18
-29
4
-15
-7
22
34
-43
3
20
4
-3
-4
71
-4
-24
-27
-1
-9
-20
-36
-75
16
34
7
-6
-40
-25
28
-59
8
-10
-6
-17
19
-37
-30
-27
-40
-2
2
-29
21
-50
-1
-21
-1
-7
33
16
23
23
26
-11
31
-10
13
6
13
11
-8
37
4
-30
-7
-19
34
-4
0
-1
25
29
29
20
-3
-1
-15
-4
-33
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
35
0
0
7
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
-7
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
25
0
0
43
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
2
0
0
0
0
0
0
16
22
0
0
0
0
0
31
0
0
0
0
0
0
21
0
0
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
-24
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
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
11
0
0
0
2
0
0
0
0
0
0
-15
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
17
0
0
14
0
0
0
0
-21
0
-7
1
0
0
3
0
0
0
0
0
0
-3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
4
34
0
34
-9
-3
0
87
-13
0
0
9
0
0
4
-1
0
3
0
9
0
-6
86
0
0
-1
0
0
0
15
0
-51
7
-1
0
0
6
0
0
0
0
0
0
-13
22
0
0
0
0
0
56
2
0
0
0
0
4
24
0
0
-5
0
0
0
-6
0
0
-4
0
0
-4
-19
0
0
10
0
0
1
-38
0
0
-4
0
0
0
1
0
-11
23
0
0
0
-25
0
0
0
0
0
0
-3
0
0
0
0
0
0
11
2
0
0
0
0
0
-22
1
0
1
0
0
0
27
7
0
-1
0
0
-1
8
0
0
0
0
0
0
31
0
-1
-2
0
0
1
-12
0
0
3
0
0
0
17
0
0
0
0
0
0
25
0
0
0
-1
0
0
-15
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
55
-2
0
0
-2
1
0
-40
2
0
0
-48
0
0
12
0
0
0
0
-3
0
0
0
0
0
6
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
0
41
-2
0
0
-4
-1
0
0
13
0
0
0
-19
0
0
0
-3
0
0
-19
0
0
0
0
0
0
0
0
-7
0
-1
0
0
-2
0
0
0
0
0
0
-68
0
0
0
0
0
0
5
0
0
-1
0
0
0
55
0
0
-4
0
0
-7
-54
0
0
9
0
0
4
-44
0
0
9
0
0
0
41
0
0
-2
-2
0
0
32
0
0
-2
0
0
0
-8
0
0
0
0
0
0
52
0
0
0
0
-2
0
20
0
0
0
0
0
0
39
0
0
0
0
0
0
-12
0
-2
0
0
0
0
32
0
0
-5
0
0
0
-16
0
4
0
0
0
0
0
0
0
0
6
0
0
2
0
-11
0
0
0
0
-8
0
0
0
0
0
0
25
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
73
1
3
3
26
24
-3
62
0
8
14
41
0
0
13
9
1
7
40
3
-11
86
26
0
-6
10
0
18
-13
33
4
0
10
-3
-22
50
12
0
0
-1
0
-31
0
0
0
0
0
42
0
0
0
49
0
0
-11
17
0
0
21
14
0
0
0
0
0
0
0
0
0
0
40
25
4
-6
17
5
0
-8
56
3
0
51
0
9
-17
-44
0
-6
30
19
1
17
16
0
12
-7
0
8
12
16
0
-9
15
-24
0
0
-14
0
0
0
0
-20
0
16
-3
4
0
1
1
0
0
6
0
0
0
0
-12
-31
0
-7
-18
-1
0
-13
-15
0
0
20
0
0
1
12
-19
9
11
-27
0
4
-3
-4
3
14
3
0
17
24
0
-3
8
3
-1
1
0
0
-6
11
0
19
0
7
0
1
9
-4
-11
0
-3
0
0
0
0
0
2
0
-1
0
2
-1
0
7
-42
-7
6
8
-3
0
15
-5
-3
13
-4
0
0
-7
0
6
-30
22
1
0
4
-34
-2
29
24
-1
1
0
-43
-1
-37
-6
0
0
-15
2
0
2
-6
0
0
0
14
0
5
2
-1
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
-20
-43
-2
-38
-17
-54
17
16
43
9
-26
-6
-1
10
6
19
0
7
25
43
3
-39
62
0
1
-40
-1
-17
-41
3
0
1
-27
51
-17
-37
-25
0
0
36
0
-35
1
23
0
0
0
-7
-38
0
-1
-62
0
0
0
-83
0
-27
1
42
24
2
0
0
0
0
0
0
0
0
0
81
1
7
0
6
9
3
26
0
29
7
0
-24
-22
7
4
7
18
46
8
14
-15
0
0
-1
0
-1
-4
4
0
18
30
-13
1
0
15
0
-1
0
0
46
0
-10
2
20
0
-26
0
34
-42
0
-12
-1
7
0
0
46
-24
-41
18
-6
0
-19
33
3
3
22
-4
-2
-15
29
1
19
5
9
34
4
12
-2
-8
-19
22
-11
-24
-21
-2
-3
-26
-23
33
20
33
0
15
-29
13
16
0
-24
6
0
-1
-8
13
0
5
40
0
0
2
0
1
-15
11
13
10
0
0
-10
20
8
-6
-67
-1
0
28
9
-1
-7
-20
5
3
23
2
-7
-39
-52
0
15
-7
-2
1
9
-20
-6
-1
0
-4
1
13
9
11
2
0
-21
-2
0
-5
9
0
2
16
0
-30
0
0
0
0
7
2
6
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
4
0
39
3
0
0
-75
0
-1
-8
0
4
0
1
0
3
-1
0
0
0
9
0
0
-1
0
0
0
2
0
7
0
0
0
0
0
0
18
0
0
0
0
0
0
-3
0
0
2
0
0
0
0
0
-29
11
1
0
0
0
0
0
0
0
0
0
0
1
16
0
58
-18
0
0
8
20
0
0
57
0
0
3
36
0
0
0
0
0
6
-4
0
0
0
0
0
0
-3
0
16
0
-1
0
0
-6
0
0
0
0
0
0
-41
-1
0
0
0
0
0
-16
2
0
0
0
0
2
7
0
0
38
0
0
0
14
0
0
-6
0
0
6
34
0
0
-1
0
0
0
75
0
0
13
6
0
3
-22
0
13
0
-1
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
-55
0
0
0
0
0
0
49
0
0
15
0
0
0
-21
0
-4
0
0
0
0
-12
0
0
-1
0
0
-2
-1
0
0
-3
0
0
0
11
0
-1
0
0
0
0
15
0
0
-2
8
0
0
9
0
0
0
0
0
0
-14
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
-84
0
0
0
5
0
0
-1
0
0
0
0
2
0
-7
0
0
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
1
0
0
0
0
0
35
0
11
0
0
0
0
0
0
0
0
0
0
-6
-3
3
2
16
0
0
0
9
0
3
-15
0
0
0
-37
0
0
0
0
0
0
7
0
0
0
0
0
0
-5
0
-8
0
0
0
0
-7
0
0
0
0
0
0
-73
-1
0
0
2
0
0
-44
0
0
2
0
0
0
48
0
0
4
0
0
-1
-2
0
0
-1
0
0
0
1
0
0
-4
0
0
0
5
0
0
0
0
0
0
-2
0
0
0
0
7
0
-16
0
0
0
0
0
0
13
0
0
0
0
-4
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
1
12
0
-6
0
0
0
0
-16
0
0
0
0
0
0
-1
0
4
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-6
0
0
-1
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
0
0
0
4
0
-6
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-77
0
0
0
0
0
0
46
0
0
0
0
0
0
-71
0
0
-6
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
6
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-11
0
0
0
0
0
0
42
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
8
0
0
0
36
0
0
0
0
0
0
14
0
0
6
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
11
0
0
-7
-21
0
0
3
-1
0
0
1
-1
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
4
8
0
0
0
2
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
-40
-13
-1
0
45
30
0
0
-8
0
0
-6
-20
0
0
-10
7
0
-4
42
0
0
0
0
0
0
-6
0
-17
3
1
0
-3
6
0
0
0
0
0
0
-16
2
0
0
0
0
0
-7
0
0
0
0
0
1
-87
2
0
-4
0
0
15
6
0
0
4
0
0
11
-4
0
0
2
-3
0
1
4
0
0
-12
0
0
8
29
0
0
-2
0
0
-2
20
0
0
0
0
0
0
-23
0
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
-17
0
0
-4
0
0
0
42
0
0
48
6
0
0
36
0
25
-1
0
0
0
-22
0
0
0
0
0
0
-10
0
0
0
0
0
0
-16
0
0
0
2
0
0
-34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
41
26
18
10
18
14
-29
5
28
15
-44
-6
-38
-20
1
0
10
-3
-36
-61
26
0
0
22
-6
-15
-8
-37
0
0
27
0
1
-12
1
3
0
-7
7
42
0
1
58
0
0
0
47
0
19
95
-32
52
18
0
0
0
0
0
0
0
0
8
84
-4
17
13
42
-15
-5
15
0
-2
0
-4
-9
-1
-43
0
18
-36
-45
0
-6
-39
0
-4
-69
-1
1
0
30
0
-12
-9
-14
9
7
-7
-3
0
-1
0
7
0
-3
-20
-14
-4
-1
-3
0
32
88
0
6
0
-8
48
-12
4
75
-26
-58
1
16
18
-5
-15
35
7
0
-4
8
-9
110
-10
71
-1
-38
-8
0
18
-60
39
0
-5
-11
7
-9
4
28
1
3
8
0
-2
-12
19
-8
0
9
6
7
-9
-1
-32
0
-19
-10
0
-1
2
0
0
35
-17
-12
-3
0
3
64
-31
19
17
-7
-1
4
-20
17
6
14
5
-8
-6
8
-20
15
11
-31
10
-2
3
25
0
-57
-1
-37
0
-1
-14
-2
46
-23
6
-1
0
1
-4
-15
1
-29
-10
1
-7
-4
-35
4
12
-2
0
-16
2
0
-1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-9
0
4
-11
0
0
-4
5
0
6
17
1
-5
-27
-18
-2
0
21
1
0
0
24
0
0
9
-1
12
13
-2
0
0
-2
0
2
1
0
0
0
2
0
-50
0
0
10
0
0
0
-2
0
49
-3
-10
-1
-3
0
0
0
0
0
0
0
0
16
2
0
3
-35
-3
0
34
-13
0
0
94
0
0
-4
-22
0
-2
-60
-3
0
-20
-46
0
0
-23
0
0
0
-10
0
-4
-4
0
0
0
-2
0
0
0
0
0
0
5
-28
0
0
-13
0
0
-26
23
0
-1
3
0
-16
0
-3
13
43
9
0
-11
3
0
2
-14
0
0
-28
18
0
-4
-63
-10
18
-19
20
0
0
-45
2
0
29
15
0
-5
12
5
-6
0
14
-1
-4
23
0
0
0
5
0
0
-1
2
0
0
8
-1
0
0
-1
0
0
0
1
0
0
-2
0
13
0
2
-8
-5
1
0
15
46
0
22
-30
0
0
7
33
0
-40
13
0
-1
2
20
0
5
-11
6
0
1
-5
0
-1
8
0
0
3
5
0
0
11
-5
0
0
-3
0
8
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
28
0
0
0
-29
0
0
11
0
0
0
7
0
0
-6
1
0
0
4
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
40
1
0
1
0
0
0
0
0
0
0
0
0
1
10
0
-9
42
-13
0
18
22
0
0
21
0
0
-7
-10
0
0
6
-3
0
0
16
0
0
-2
0
0
0
63
0
-10
0
0
0
0
0
0
0
0
0
0
0
-57
-2
0
0
0
0
0
13
0
0
0
0
0
0
-22
0
1
19
-2
0
0
20
0
0
-11
0
0
0
-2
0
0
19
4
0
0
17
0
0
-39
0
0
0
44
0
0
0
0
0
0
-21
0
0
0
-1
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-23
0
1
-2
0
0
0
24
0
0
2
0
0
0
-13
0
0
9
0
0
0
-22
0
-8
7
0
0
-2
-8
0
2
-18
-1
0
0
-27
0
0
0
-2
0
0
-4
0
0
6
0
0
0
24
0
-1
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
-80
-10
2
0
2
0
0
47
22
0
0
85
-12
7
-29
8
0
0
0
0
-9
0
-1
0
0
16
0
-1
4
-5
0
0
0
0
7
0
0
0
0
0
0
-19
0
0
2
0
0
-1
-3
0
-37
3
8
-1
9
0
0
0
0
0
0
0
0
-26
15
0
37
-39
8
8
14
-18
0
0
7
0
-2
5
14
0
0
41
-6
0
-2
-3
0
0
5
0
0
0
49
0
-6
16
1
0
0
36
0
0
4
0
0
0
3
-3
0
0
0
0
0
-14
3
0
0
0
8
0
14
0
0
6
-1
0
-2
-9
0
0
-34
0
1
-24
30
0
0
37
0
-3
6
-3
0
0
-20
0
0
-5
10
0
0
-15
-11
0
0
11
0
0
-1
-2
0
0
-10
0
0
0
0
0
0
17
-3
0
0
0
0
0
22
-13
0
0
0
0
0
32
-1
-8
1
0
0
0
-27
-2
-1
1
-7
0
-6
0
0
11
-6
-1
0
0
9
0
-7
-3
0
0
0
-3
0
-4
10
0
0
0
5
0
0
2
0
0
0
-7
0
29
0
0
0
0
-22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
-25
13
-17
3
48
15
93
0
22
-1
18
-27
5
9
0
12
-15
0
12
-81
8
0
0
36
-5
-21
-30
11
0
-7
6
-8
-10
1
5
6
1
0
-33
19
0
0
4
0
0
-1
-20
0
31
9
-16
8
2
0
0
0
0
0
0
0
0
32
54
24
-13
15
1
18
-11
4
-1
2
24
27
-2
2
19
3
-10
-8
55
-6
-57
-9
-2
3
8
-3
0
-10
-7
0
5
-7
39
0
-1
-23
-9
0
0
0
-29
0
-22
22
12
1
40
7
18
32
-32
0
-1
0
2
5
-16
11
42
21
-35
-3
83
3
0
20
-14
0
-10
14
4
-2
-18
-2
35
-3
17
12
15
8
37
-6
-2
25
2
29
12
3
0
-2
0
-6
0
2
8
1
51
0
-4
0
-2
-2
36
-10
0
-22
15
2
0
4
3
-3
-14
-61
-2
29
6
-8
-38
10
-12
-12
-10
-11
2
-1
-11
-10
0
-6
29
0
-20
10
6
-6
83
3
-2
28
26
-5
-14
38
1
-3
29
-13
-11
51
42
18
0
1
46
9
-3
-32
-20
2
0
17
0
61
4
0
21
0
-3
-2
-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
40
0
0
9
-10
0
7
-5
-21
7
-3
44
2
28
-11
26
0
3
40
0
14
-49
-7
0
0
7
0
-8
-26
-10
0
-1
-6
12
34
0
-21
0
0
0
0
7
0
0
-14
-4
0
0
-30
0
9
-100
33
22
0
-4
0
0
0
0
0
0
0
-16
54
0
-10
5
9
12
14
5
0
10
23
2
-16
-7
-13
0
-2
-15
11
2
-8
-7
0
0
23
0
-8
8
-6
0
-1
-4
0
-24
1
-11
0
0
0
0
19
0
-4
5
-18
0
-1
0
0
26
-39
0
0
0
-1
10
-3
-3
-12
39
0
-7
11
-5
0
2
43
0
1
0
-27
0
1
-16
-2
9
14
-19
0
0
0
4
-15
-10
-4
-2
-9
9
7
51
2
-6
0
0
15
0
-10
4
12
-10
-3
-1
0
-12
0
4
-3
0
0
0
13
0
32
78
-1
6
0
0
2
25
-3
49
7
0
0
1
6
0
-6
17
0
0
15
-3
0
-62
-31
0
0
8
-7
0
7
-28
-1
0
8
14
-1
15
97
0
-10
11
15
0
4
50
0
10
-1
-10
0
40
-4
0
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
2
2
0
-12
0
0
-10
24
0
0
93
0
0
-39
-8
0
-2
0
0
0
-1
-4
0
0
0
0
0
2
0
0
0
0
0
0
0
4
0
0
-5
-2
0
0
0
-4
0
0
0
0
0
10
-2
0
-10
0
0
0
0
0
0
0
0
0
62
6
0
-8
-48
0
0
24
40
0
0
25
0
0
-8
42
0
0
17
4
0
23
-37
0
0
2
0
0
0
12
0
5
3
0
0
0
-43
0
0
-1
0
0
0
20
-26
0
0
-3
0
0
59
23
0
0
0
0
23
9
0
-3
-44
4
0
-42
35
0
0
-40
0
0
-14
-10
0
6
19
0
0
-2
-21
0
-4
-30
0
0
18
32
0
0
-10
1
0
0
-41
0
0
0
0
0
-2
-4
0
0
0
0
0
0
-17
0
0
0
0
0
0
-9
4
0
0
0
0
-7
-12
0
29
27
0
0
-15
69
0
0
-22
-3
0
1
18
0
5
10
0
0
0
-22
0
-3
0
0
0
0
-6
0
23
-1
0
0
0
30
0
-6
9
3
0
0
-38
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
16
-28
-22
42
3
28
-10
-18
-44
-2
36
20
16
24
0
-9
12
-10
-40
8
12
4
-26
-1
-5
-5
-16
-14
-21
-22
21
-11
-55
3
7
-2
-12
-31
-1
0
-8
-23
11
22
28
-16
23
7
-2
0
0
0
0
0
0
0
3
5
-4
-22
18
28
4
2
-12
-15
5
6
-24
8
-8
-17
57
-14
-30
-14
-13
-1
-16
61
35
-11
82
20
-23
6
-12
-3
13
1
25
-39
-10
24
-10
56
-1
8
-1
12
9
6
0
-35
65
6
16
-9
9
71
-13
-2
23
36
52
52
44
11
-8
7
32
46
-10
41
93
2
-15
15
-25
25
14
32
-38
22
-6
-5
31
1
14
31
-13
-12
28
-19
-1
-2
23
-13
-3
-5
14
-26
53
21
29
-6
63
-42
-33
6
-3
-7
23
-8
42
-33
-13
-34
7
6
-23
-18
-1
22
-1
-10
5
36
20
16
5
-8
-13
9
-38
-14
25
2
-18
-9
-9
-42
-22
1
24
-42
9
-1
22
-6
-26
36
18
-8
7
16
3
15
-8
0
-8
-6
-22
26
9
13
71
50
11
-5
7
23
-2
26
13
3
-8
-5
33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
14
8
0
-19
0
0
0
-4
0
0
6
14
0
0
30
0
7
4
-2
0
0
0
0
0
0
8
0
0
-7
0
-29
0
0
-4
0
0
0
5
-2
16
-2
-15
-3
16
0
0
0
0
0
0
0
0
-35
0
1
-3
-6
0
0
8
7
0
0
-41
0
0
25
-29
0
0
22
-2
0
-10
-53
0
0
-5
0
0
0
-43
0
21
-1
0
0
0
3
0
0
0
0
-3
0
27
-7
2
3
8
0
1
50
-9
0
-1
0
0
-1
7
0
0
52
2
0
38
0
2
-3
-12
0
0
-19
28
0
0
-21
0
0
-18
-26
0
0
-10
0
0
0
-51
0
8
2
-9
0
0
20
0
1
1
0
17
0
26
1
-4
-8
0
0
0
11
0
0
0
0
0
0
39
-4
0
2
0
0
-4
12
0
-22
18
0
0
9
0
-7
-4
30
2
0
22
-6
0
10
-1
0
0
0
-14
0
3
4
0
0
0
37
0
0
-12
0
0
-3
0
0
0
3
0
0
0
-4
0
-16
0
0
0
0
9
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
-8
-4
2
0
0
-1
0
0
0
-2
0
0
-2
1
0
-3
0
0
0
0
0
-21
0
0
0
0
1
0
-2
0
0
-2
0
0
0
5
0
4
0
-7
-4
7
0
0
0
0
0
0
0
0
-7
9
0
-9
-12
-1
0
-16
6
0
0
-16
0
0
9
-4
0
0
1
0
0
-4
-35
0
0
2
0
0
0
36
0
64
0
0
0
0
-60
0
0
-1
0
0
0
-33
2
-3
0
0
0
0
-5
-6
0
-4
0
0
0
48
0
0
16
0
0
-10
18
0
-1
5
0
0
-9
15
0
1
24
-2
0
0
-1
0
0
-18
0
0
-2
-38
0
0
-4
0
0
0
-29
0
-2
0
0
3
0
21
0
0
-3
0
0
0
-10
0
0
0
0
0
0
25
2
0
-6
0
0
7
16
0
-14
11
0
0
0
-5
15
-4
30
0
0
0
12
0
-4
0
0
0
0
-41
0
-18
0
3
0
0
3
0
-7
0
0
0
0
35
0
0
0
0
0
0
-8
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
71
5
0
0
-9
-3
0
-11
0
0
0
5
0
-4
11
2
0
0
-2
0
27
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
14
0
0
0
-13
0
-69
7
0
-1
1
0
0
0
0
0
0
0
0
29
-18
0
54
69
0
6
-1
-32
0
0
-26
0
0
-19
74
0
0
4
2
0
4
6
0
0
22
0
0
17
60
0
-72
8
0
0
0
-19
0
0
0
0
-6
0
-10
34
4
0
0
1
0
-9
-3
0
0
0
0
1
22
0
6
-13
0
0
8
9
0
7
19
0
0
49
13
1
0
-5
-7
0
10
-19
0
4
-7
8
0
-10
4
0
0
10
18
0
3
3
0
8
-3
0
8
0
-2
0
0
0
0
-2
0
-57
0
0
0
0
0
0
4
1
0
-2
0
0
0
-14
0
16
-1
0
0
3
-17
0
2
1
-7
0
13
33
0
6
-10
0
0
0
13
0
0
0
-1
0
3
-41
0
0
-1
0
0
0
1
0
0
6
2
0
-1
37
0
9
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
-10
-23
5
39
37
5
-2
-10
18
55
-45
6
2
-19
-10
14
-14
-19
-20
-17
-12
-17
-18
-1
15
-36
2
-23
-15
-23
-26
-3
-16
-22
-27
0
4
7
-3
3
12
2
-9
10
-29
5
-10
-26
0
0
0
0
0
0
0
0
2
7
-51
14
27
10
-12
18
-6
30
27
29
26
5
1
-13
17
25
-18
-26
84
-20
-7
-19
-11
7
-28
-4
-27
-19
2
-6
2
-37
-7
11
-20
1
-1
-34
0
18
0
-1
-17
2
-2
-1
-36
45
2
1
33
-27
0
-1
20
42
11
55
27
-3
-5
-1
32
49
11
8
-7
0
14
12
40
18
-16
9
1
-9
-19
21
55
1
-49
14
-30
-8
6
23
22
0
29
-44
-14
-1
-11
10
39
12
-21
-25
-2
-36
3
-6
-22
-1
8
-5
16
0
35
-14
-3
-5
28
2
63
-8
-4
47
4
-14
40
38
-7
20
-15
15
-60
31
40
6
-49
-4
-4
23
22
27
-8
17
57
-32
-6
0
8
-7
1
-3
-11
-12
12
-47
33
-52
12
-18
2
3
-36
22
24
18
-7
9
-21
-19
3
-55
0
2
-44
-7
38
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
-1
0
0
19
-1
0
-6
-2
0
0
0
0
0
0
2
0
0
-1
0
-1
0
0
0
0
2
0
2
0
0
0
0
0
0
-9
0
0
-3
0
0
0
0
0
70
-4
0
0
0
0
0
0
0
0
0
0
0
-4
18
0
-10
34
0
0
-56
15
0
0
4
0
0
-3
-22
0
0
3
3
0
-2
20
0
0
0
0
0
0
-10
0
-46
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
50
-2
0
0
0
0
0
-16
0
0
21
0
0
0
-20
0
0
-9
0
0
-9
-95
0
1
-7
0
0
0
22
0
0
1
0
0
0
-15
0
0
0
0
0
0
18
0
0
-1
0
0
0
-2
0
0
0
0
0
0
32
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
-14
0
0
0
0
0
0
35
0
0
0
0
0
2
-7
0
0
0
0
0
0
7
0
11
-4
0
0
0
7
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-8
0
-2
8
0
0
1
1
0
0
0
0
0
0
0
0
0
0
4
0
0
1
0
0
0
-1
0
0
0
-10
0
0
3
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
39
29
0
50
17
-18
0
37
5
0
-20
-27
0
0
36
-23
1
0
-9
0
0
4
-8
0
0
5
0
0
1
-4
0
13
18
16
0
0
-13
0
0
0
0
0
0
-26
-11
-6
0
0
0
1
13
2
0
0
0
0
65
-19
0
0
17
10
0
12
47
0
1
-8
0
0
60
6
0
-1
-18
2
0
16
21
0
0
58
0
0
-1
-64
0
0
52
1
0
-3
17
0
0
0
6
0
0
23
0
-2
17
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
-11
23
0
15
7
0
0
-6
-45
0
-2
32
-1
0
1
-29
0
-6
26
-1
0
-4
-20
0
1
-3
-6
0
0
38
0
62
-11
0
0
0
22
0
-2
0
0
0
0
-8
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
16
23
38
69
-28
-4
-29
-45
37
6
3
-20
22
-17
8
-31
-1
2
-7
1
-16
-2
-3
10
0
13
22
-35
0
-6
-30
0
1
-8
-28
2
7
55
49
61
5
-6
0
0
0
0
0
0
0
-30
-8
7
-13
-19
-17
18
2
14
12
55
1
48
25
3
20
-18
2
20
-30
-36
10
-20
-7
-22
21
-7
-11
-33
-17
4
17
11
2
-14
8
-6
2
-1
-42
-3
-9
0
6
2
-4
3
-15
-4
15
18
-17
18
15
3
14
-94
-9
35
17
-22
23
-39
3
7
37
-24
2
10
32
13
-3
-9
23
-2
-40
1
20
3
-29
26
23
20
25
39
-3
17
-22
11
-6
45
-21
-16
1
41
1
47
-16
-25
-9
-21
62
16
-11
19
38
3
-21
3
1
16
16
0
25
2
23
-12
-1
-7
23
10
-31
6
14
-3
14
-31
6
-19
34
28
-20
-16
-16
4
-22
44
75
-16
-1
-18
-11
8
7
9
-47
42
30
-21
-24
-18
-43
3
-32
11
-11
0
19
-76
-42
24
6
11
-2
14
7
15
-9
0
-1
-7
6
-2
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-8
12
1
-9
0
10
-35
34
0
0
-5
2
-7
-10
11
0
-6
13
0
-5
0
-4
0
0
0
12
-29
0
0
-16
0
0
10
0
-2
-32
83
1
0
1
0
0
0
0
0
0
0
0
7
24
6
-42
-25
12
0
-45
0
8
-3
-51
-13
0
-9
11
3
5
60
16
0
-13
11
0
1
-20
0
0
-6
39
0
36
33
37
0
0
-30
0
0
0
8
-15
0
20
-22
9
0
9
0
0
24
-2
1
1
0
0
32
19
0
7
12
-2
0
46
29
0
3
-16
1
0
-24
0
1
3
-34
-1
0
-2
-33
-1
0
-47
-1
7
2
-5
0
1
19
0
10
0
16
0
0
-11
0
7
0
24
0
0
10
34
23
0
0
-4
-3
0
0
0
0
7
-1
2
0
0
0
-6
21
0
-44
-5
0
0
13
13
-2
0
-5
6
6
28
0
0
11
27
2
0
-8
41
0
-14
11
-1
0
0
-10
0
-3
2
3
0
-2
-42
0
0
-2
0
10
0
11
0
43
0
0
-1
0
40
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
-3
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
-11
0
0
0
0
0
0
0
0
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
29
0
23
-1
0
0
-81
7
0
0
26
0
0
4
37
0
0
25
0
0
0
-39
0
0
0
0
0
1
-14
0
-32
0
0
0
0
35
0
0
0
0
0
0
-16
-7
2
0
0
0
0
33
0
0
0
0
0
0
-55
0
-3
40
-3
0
4
-25
0
-1
3
0
0
-13
21
0
0
-1
0
0
0
2
0
0
-4
0
0
0
-12
0
0
1
-9
0
7
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
16
0
0
8
0
0
0
-74
0
-7
0
0
0
0
29
0
0
3
0
0
0
-28
0
0
0
0
0
9
11
0
1
0
0
0
0
-9
0
1
0
0
0
0
-12
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
-3
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
1
0
0
0
0
0
-8
3
-1
0
0
0
0
0
0
0
0
0
0
8
8
2
5
6
11
0
-34
-8
0
-15
1
0
0
9
7
0
0
1
0
0
0
18
0
0
2
0
0
0
2
0
18
0
0
0
0
42
0
0
0
0
0
0
-1
-2
-6
0
0
0
0
27
28
0
3
0
0
0
45
0
0
28
2
0
-2
-37
0
10
34
0
0
0
8
0
0
-5
0
0
8
-3
0
0
2
3
0
1
49
0
0
4
0
0
0
4
0
0
0
0
6
0
26
0
0
0
0
0
0
-1
0
0
0
0
0
0
-27
-7
0
0
0
0
0
1
0
0
2
0
0
0
10
0
0
1
0
0
0
-7
0
1
0
0
0
1
21
0
0
0
0
0
2
-26
0
0
-1
0
0
0
13
0
1
1
0
0
0
-33
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
-58
37
-8
0
7
7
16
-24
29
0
-1
-43
-31
-13
28
10
0
0
-28
0
-14
0
30
0
0
1
68
-15
0
0
-26
0
0
1
-2
1
-9
15
20
22
-3
0
0
0
0
0
0
0
0
2
27
-1
-42
4
0
-3
-17
-22
17
-46
0
-11
-3
4
35
11
-17
23
5
-2
-9
-20
18
0
-33
-6
49
-25
-10
-11
-6
36
18
-13
-2
21
3
0
4
0
26
1
2
10
-5
0
-20
1
19
1
50
0
2
0
0
-21
6
20
-16
65
-34
-12
-34
9
-4
17
0
-2
2
-4
5
2
-29
-13
-16
46
-33
15
10
-15
24
-8
32
-48
18
0
-16
25
12
59
46
-6
0
16
-2
-10
-15
-12
20
1
17
19
9
-6
0
2
-11
9
-3
0
-12
0
-37
-23
-3
1
-1
0
-24
-3
-2
13
6
4
11
9
16
8
-19
-20
-13
0
-16
23
-1
31
43
6
8
11
5
-10
32
55
-3
-21
-46
9
1
6
50
-4
4
43
3
1
41
-5
49
-25
0
5
-2
-54
38
3
-22
0
16
17
-27
-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
9
6
0
0
-19
0
29
-12
-20
0
0
25
0
25
6
13
1
0
3
1
15
-19
19
1
0
7
0
-6
0
0
61
0
0
0
7
6
5
-10
-36
10
0
0
0
0
0
0
0
0
0
-35
-2
-1
-21
-4
0
-2
-1
7
0
0
-15
0
-1
-19
-9
0
0
6
0
2
35
-7
0
3
16
0
36
13
-17
0
8
1
0
6
0
20
0
-1
-8
0
7
0
-9
-7
9
-2
0
18
0
-16
-11
1
6
0
0
5
3
0
-8
-4
0
16
9
20
0
7
-17
-3
0
23
-11
-8
32
25
-3
-2
3
-13
-4
0
11
1
28
31
-15
-2
25
7
16
-5
6
-12
0
2
47
0
11
0
17
0
14
-24
0
22
0
3
-20
-1
-4
0
-9
0
15
-4
0
3
0
0
0
5
20
3
66
-9
-1
-4
2
0
4
2
0
4
0
11
0
34
13
8
0
-39
-14
0
-9
16
3
23
2
25
0
-5
-18
0
0
-7
-3
0
4
1
0
-6
0
-12
0
22
3
0
4
0
-11
19
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
-6
7
0
4
-6
0
0
-7
23
0
0
-5
20
0
6
-1
0
0
0
0
0
0
24
0
0
7
32
0
0
0
27
0
0
0
0
0
-4
15
-4
1
4
0
0
0
0
0
0
0
0
17
-17
0
31
20
29
0
-3
-10
-4
-2
6
0
0
21
36
0
0
8
42
0
-16
13
0
0
-2
0
0
-3
-3
2
18
38
12
0
0
-31
0
0
0
0
0
0
57
24
13
0
-2
0
0
-12
15
0
-1
0
0
1
-10
-1
47
10
-3
0
-16
18
0
0
13
0
0
-14
-10
0
-4
12
-15
0
17
9
0
-1
-2
3
0
-2
-10
0
-4
33
12
0
-4
-9
0
0
15
0
0
0
-20
3
0
11
-17
0
0
37
-3
6
0
-2
0
0
16
44
0
6
11
0
7
7
0
-20
43
0
0
36
19
6
-5
-38
18
0
36
0
0
-23
11
0
0
3
26
0
-19
36
4
0
0
34
0
-23
33
-2
0
-3
49
0
0
7
3
0
-12
-26
0
-8
0
0
0
0
39
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
71
24
12
19
27
37
2
-1
-6
6
40
-2
-31
0
0
-2
-6
11
0
8
-16
0
0
-21
11
7
-5
-30
-19
-28
-36
0
0
0
0
0
0
0
0
-31
-4
52
-26
-28
-23
0
-54
-7
-13
-17
2
-5
3
7
11
2
-42
19
16
34
-59
2
-5
33
18
-23
22
-19
7
2
2
16
18
31
-13
-23
3
-1
27
-1
7
0
-7
-13
46
1
-23
6
10
3
60
-9
-17
0
0
-22
7
-17
35
2
18
-7
23
-4
7
2
12
-1
22
-11
-1
62
24
-2
-3
-20
-27
13
-18
-12
12
6
20
-8
15
-21
77
28
1
38
8
-16
-23
42
27
-6
-12
0
-13
-7
-26
12
-8
9
-2
-8
-52
-1
1
2
43
-9
-2
42
2
13
-2
-1
57
-7
20
-21
-24
-23
3
-14
-13
46
25
-37
-7
-22
-8
0
-40
14
-31
-25
6
5
2
8
-14
49
-9
19
30
-8
6
2
-4
-2
44
-3
2
6
76
-31
6
26
1
6
0
41
-18
1
32
0
0
50
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
7
-41
48
36
0
0
0
4
14
-3
-3
0
0
0
3
-14
0
0
-6
0
0
0
-11
0
-39
7
27
-4
0
0
0
0
0
0
0
0
0
-8
44
0
16
36
2
0
-1
34
1
39
28
1
0
-14
0
3
-4
-18
10
1
6
-18
0
0
-7
0
-3
1
-25
0
-28
27
3
0
0
31
0
0
3
0
1
0
8
8
-12
0
-18
-1
19
-26
-28
-2
0
0
0
40
-16
4
33
29
8
3
21
0
6
-13
6
-6
-3
-27
20
0
18
11
13
0
-12
0
0
-1
-77
-6
0
14
-9
0
1
1
-37
-8
-8
-14
0
0
11
0
-3
0
13
0
2
-16
1
-20
0
-4
9
0
0
0
0
0
9
-30
0
16
2
2
28
15
-1
-43
-10
2
0
-24
25
0
-14
24
-6
-1
-17
38
0
4
9
0
10
10
0
0
-9
21
33
4
0
-9
0
-37
-23
-4
-7
0
-14
-3
1
20
-14
2
0
-7
0
10
0
2
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
53
3
-6
0
0
0
0
0
0
0
0
0
0
4
-31
0
0
-25
0
0
6
-44
0
0
29
0
0
7
-18
0
0
0
0
0
-13
10
0
0
8
0
0
0
0
0
-3
0
0
0
0
18
0
0
0
0
0
0
-69
0
0
0
0
0
0
-38
0
0
0
0
0
0
1
0
0
-11
0
0
-13
28
0
0
0
0
0
0
-35
0
0
3
0
0
0
46
0
0
-8
0
0
0
-16
0
0
0
0
0
0
-30
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
0
0
0
0
46
-10
0
0
0
0
0
9
0
1
0
0
0
1
-13
0
0
0
0
0
0
-14
0
-2
0
0
0
0
41
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-24
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
0
0
12
0
-1
3
0
0
0
0
0
0
0
0
0
-2
8
0
62
5
-2
0
-13
21
0
0
20
0
-2
0
-15
0
0
-1
0
0
2
-26
0
0
6
0
0
0
0
0
25
0
0
0
0
-22
0
0
0
0
-6
0
21
16
0
0
0
0
0
0
-6
0
0
0
0
0
-2
0
0
0
0
0
0
4
-1
0
0
0
0
-6
5
0
-9
-3
0
0
-3
-2
0
0
24
0
0
0
56
-1
0
3
6
0
0
-21
0
0
0
0
0
0
13
7
0
0
0
0
0
54
0
0
0
0
0
0
12
-4
0
0
0
0
0
-6
-8
-12
-2
0
0
0
32
0
0
1
0
0
0
16
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
-24
0
4
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
5
0
0
7
-6
-26
46
48
0
0
7
0
11
2
-17
0
0
0
57
-25
0
0
-40
0
0
0
77
0
16
-6
-40
0
11
0
0
0
0
0
0
0
0
8
-19
18
34
29
-12
0
13
16
0
1
31
-3
0
-56
38
2
1
54
-38
1
30
-22
-2
0
47
-1
7
35
-22
0
23
-1
-43
0
9
-15
0
0
0
0
-13
0
-13
48
27
0
-30
0
2
0
-21
0
0
0
0
5
-2
-21
-12
-33
-19
7
19
2
-3
1
18
0
4
20
7
-3
8
21
17
7
-25
21
0
-3
14
6
0
-8
-36
-10
-1
51
3
21
-6
-28
0
1
3
13
-14
0
4
0
1
-6
3
10
0
6
11
0
-12
0
0
0
-10
64
0
-1
1
0
-4
-49
1
-7
3
0
0
3
-3
15
-3
1
-12
0
-2
-12
0
27
26
0
3
-21
9
-22
-1
-1
11
0
5
-24
0
-29
-10
-9
0
0
10
0
1
0
-10
0
0
20
0
19
10
0
-7
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
1
0
0
3
0
0
0
-2
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
3
8
0
0
4
24
0
0
-3
0
0
0
-4
0
0
4
0
0
0
-14
0
0
0
0
0
0
-12
0
37
0
0
0
0
-5
0
0
0
0
0
0
33
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
4
-3
0
0
-6
-27
0
0
-10
0
0
-1
5
0
0
-2
0
0
-3
-17
0
0
-7
0
0
-6
40
0
0
0
0
0
0
2
0
0
0
0
0
0
18
0
0
-1
0
-8
0
7
0
0
0
0
0
0
7
0
0
0
0
0
0
-66
0
0
0
0
0
0
13
0
0
0
0
0
1
11
0
0
0
0
0
0
-21
0
0
0
0
0
-10
-5
0
-5
0
0
0
0
-9
0
0
0
0
0
0
-17
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-22
0
32
6
0
0
0
0
0
0
13
0
0
0
21
0
0
0
44
0
0
0
0
0
-26
-16
5
0
6
0
0
0
0
0
0
0
0
-8
-18
0
-6
10
44
0
-38
-28
0
0
-2
0
0
46
-22
0
0
24
6
0
-14
4
0
0
-25
-3
0
2
-28
0
23
20
9
0
0
29
0
0
0
0
0
0
6
41
13
0
0
0
0
-3
8
0
0
0
0
-36
5
0
7
41
20
0
37
8
0
3
33
0
0
-16
-25
0
-3
-6
13
0
47
-3
0
0
50
0
0
29
-2
0
2
-9
-10
0
0
0
0
0
35
0
0
-3
26
0
0
0
14
0
0
-16
0
1
0
0
0
0
-31
-8
0
6
0
0
5
26
0
12
10
0
0
5
0
0
-18
-22
7
0
29
-19
0
28
12
0
0
-55
5
0
-2
-15
24
0
-7
-9
0
-44
29
0
0
0
17
0
0
-3
1
0
0
7
0
11
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
-3
50
0
0
8
0
11
1
-3
0
0
4
-6
-30
0
0
21
0
0
-1
25
0
-16
-20
9
-6
-2
0
0
0
0
0
0
0
0
27
2
0
16
-11
0
0
-21
10
0
15
15
0
0
0
-20
0
2
4
-21
0
7
-67
0
0
-39
1
-6
0
-12
0
25
0
-2
7
0
-7
0
0
0
0
0
0
12
0
-4
1
3
-3
0
15
15
0
-1
-1
0
1
-28
-10
-6
18
6
-3
6
-46
0
-34
-22
-3
0
-9
13
3
12
3
12
0
6
-19
11
0
11
0
2
0
-8
0
-5
60
56
0
0
-26
0
0
1
0
-6
0
-44
-3
0
-18
16
3
0
-34
0
0
0
0
0
0
41
-38
0
0
0
0
9
-12
0
42
-1
0
-2
0
3
0
-1
-11
-5
0
0
19
0
13
28
4
7
0
-10
3
-2
-21
-2
1
0
43
-6
12
11
0
0
0
12
0
4
-1
14
4
0
27
0
48
-4
0
2
0
-73
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
6
0
-6
2
0
-3
0
-13
0
0
-1
0
5
0
0
-4
0
0
0
-5
-2
-9
-11
49
-2
-1
0
0
0
0
0
0
0
0
6
14
7
-22
-8
2
0
-23
-14
0
9
42
0
0
35
30
0
-16
39
12
3
58
0
3
3
-16
10
-3
7
1
0
-50
-6
-6
-4
2
-8
0
0
0
0
-8
0
7
73
4
0
0
0
7
-42
8
0
-1
0
0
-4
19
7
-8
16
4
0
10
15
0
2
3
0
1
67
-6
0
-11
45
-2
7
-22
-24
0
-5
-44
-8
4
9
0
0
-3
-4
26
1
6
-24
0
0
2
0
3
-2
13
0
0
0
43
-6
0
-17
3
0
0
0
0
0
18
4
4
3
0
0
4
4
-4
-4
-23
0
0
-10
15
0
-19
-8
-19
2
2
-42
0
31
-7
1
0
-4
-11
-3
0
-13
9
-3
-14
0
1
7
0
4
0
0
18
0
-7
0
4
0
0
-27
0
48
3
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
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
22
0
0
-4
-25
0
0
0
0
0
0
4
0
0
-8
-3
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
21
0
0
0
0
0
0
-7
0
0
0
0
0
0
54
0
0
0
0
0
0
-12
0
0
0
0
0
0
-54
0
0
0
0
0
-1
-19
0
0
8
0
0
0
-23
0
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
-8
0
0
0
0
-1
0
22
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
35
0
0
0
0
0
0
19
0
0
0
0
0
0
-9
0
0
0
0
0
0
-12
0
0
0
0
0
0
-4
0
0
-1
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
51
-15
0
0
-26
29
0
0
-3
0
0
3
-4
0
0
8
1
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
36
0
0
0
0
0
0
-47
0
0
8
0
0
1
43
0
0
0
0
0
0
-26
0
0
1
2
0
0
-17
0
0
0
0
0
0
28
0
0
8
0
0
0
-26
0
0
1
0
0
0
0
0
0
0
1
0
0
-14
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
38
0
0
0
0
0
0
22
0
0
0
-16
0
0
9
0
-10
0
0
0
0
38
0
0
0
0
0
0
13
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-4
7
-13
0
0
0
1
6
0
0
-24
0
0
0
-2
0
-27
52
-24
22
-8
0
0
0
0
0
0
0
0
-75
33
1
13
-26
-23
0
-3
-40
0
-4
3
0
0
-16
46
-3
0
44
4
0
-8
-29
0
0
-6
46
1
-4
15
0
16
-1
-3
0
4
-36
0
0
0
0
-55
0
-1
-13
31
0
-7
0
0
2
-33
0
6
0
1
3
-44
0
21
13
-15
-10
-37
-2
0
0
3
0
-13
-3
-11
9
0
40
-40
-2
-14
28
0
-2
0
0
19
-14
-17
-3
-8
0
-15
-15
26
2
0
0
0
-3
24
24
9
0
0
0
-12
-16
0
-6
-3
0
0
0
-2
0
8
-7
0
0
-3
0
11
-40
-8
-15
-12
1
0
24
-4
0
-1
13
3
12
7
-22
0
-41
-21
2
0
-12
12
0
7
-11
-34
3
-2
-22
0
20
7
0
0
0
-5
0
-2
0
-9
-6
0
9
-1
25
-1
3
2
0
28
3
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
-1
-2
-6
0
0
0
0
-16
0
0
-36
0
0
0
6
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-11
0
-1
-2
17
0
0
-18
20
0
0
-44
0
-6
-13
6
0
2
-12
0
0
16
-28
0
0
-12
0
0
-7
-22
0
-28
2
0
0
0
6
0
0
0
0
9
0
44
11
0
0
0
0
0
-47
0
0
0
0
0
0
3
1
-8
3
0
0
-8
-12
0
0
31
0
0
15
-15
0
0
43
0
0
41
6
0
0
-2
0
0
25
-11
0
0
23
0
0
0
13
0
0
0
0
11
0
58
0
0
1
0
-6
0
28
-6
0
0
0
0
0
-59
5
0
0
0
0
0
48
0
-6
-7
0
0
-1
-27
0
0
-2
0
0
-12
13
0
30
8
0
0
0
5
0
8
0
0
0
0
-49
0
49
0
0
0
0
-2
0
-3
3
0
0
0
10
0
10
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
44
0
0
-4
-2
0
0
23
0
0
6
39
0
0
0
-8
0
0
0
0
0
2
18
7
38
2
0
0
0
0
0
0
0
0
13
1
2
-3
13
-9
0
4
-9
0
0
-24
0
0
-13
-4
0
12
5
12
0
-4
-21
-3
0
-46
0
0
31
-19
0
5
-37
-10
0
18
35
0
0
0
0
0
0
11
71
-19
0
0
0
0
1
23
0
-4
0
0
-3
0
0
-2
3
18
0
-4
-4
0
0
33
0
0
-19
12
0
-1
-3
13
0
4
-22
0
-2
-19
0
0
-5
-1
0
0
43
-24
0
-2
-6
0
0
18
0
0
0
18
0
0
-8
44
0
0
-5
1
0
0
0
0
2
-4
0
-1
0
0
0
0
17
0
15
2
0
0
-14
7
0
0
41
0
0
-12
21
0
-56
54
2
0
3
-3
0
-1
-18
6
0
-16
-11
0
15
-44
0
0
0
-5
0
3
8
-6
0
-1
16
0
-8
1
0
0
0
20
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
-3
0
20
18
-12
0
4
0
0
1
0
0
0
17
34
0
1
1
0
0
0
0
0
0
0
0
12
-34
-4
-20
-56
-33
0
52
11
0
0
26
1
0
-6
-5
0
-3
-17
-21
0
-2
-32
0
1
-2
25
-3
0
-20
0
25
24
-50
0
0
-32
0
0
3
1
10
0
-21
2
-9
0
8
0
0
10
-43
0
0
0
0
-4
-30
-1
9
-14
-18
0
-43
-1
1
-1
37
0
-2
33
-18
0
15
-4
38
-1
30
0
0
0
-18
7
-28
9
12
0
15
-8
16
-42
0
4
0
11
4
0
20
0
-15
0
0
12
25
-7
0
3
-1
0
0
0
-2
0
16
-11
0
2
0
-1
2
-13
8
-49
46
0
0
-4
-31
0
0
-59
0
1
-2
16
-1
29
-50
1
0
0
4
0
2
33
6
-15
0
-11
0
-2
-7
10
7
0
-6
-2
0
4
-21
0
0
-24
0
2
4
0
-3
0
-52
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
3
0
30
0
0
3
0
0
0
0
0
-1
17
-1
4
0
0
0
0
0
0
0
0
0
-10
-24
2
-28
-12
43
1
-18
-25
0
0
-10
3
2
22
-11
0
0
11
-7
-1
-4
-7
0
-15
-2
-2
-1
20
0
0
-15
36
-6
2
0
12
0
0
15
0
-7
0
-19
-1
29
0
-2
0
0
38
-43
0
0
0
0
0
9
8
3
-13
0
0
-26
-14
0
2
-18
0
1
16
12
0
19
-58
-2
-2
-6
-14
0
0
34
1
-1
-10
33
0
0
39
-8
16
1
0
0
-3
5
3
0
0
49
0
1
-4
-4
-1
0
12
0
0
0
0
0
0
12
-2
0
-1
0
0
1
29
-7
34
4
0
0
36
6
-6
-4
24
-4
0
2
2
0
2
7
6
0
-5
0
0
27
-1
3
0
0
2
0
16
4
0
6
1
0
0
0
0
-6
0
0
-12
0
4
-1
0
0
0
-20
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
3
-6
0
0
0
0
0
-2
-3
0
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
-2
0
0
0
-24
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
1
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
10
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
0
22
0
0
0
20
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
1
0
0
0
0
3
0
0
0
0
0
0
-29
0
0
0
0
0
0
6
0
0
0
0
0
-3
1
0
0
7
0
0
0
-23
0
0
0
0
0
-2
-27
0
0
-4
0
0
0
20
0
0
3
0
0
0
0
0
0
0
0
-3
0
-27
0
0
0
0
0
0
-1
0
0
0
0
0
0
60
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
-1
0
0
6
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
22
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
0
-19
0
0
0
8
0
-19
0
4
0
0
0
0
0
0
0
0
0
0
21
-16
0
-11
6
-3
0
-9
-1
0
0
25
0
0
0
18
0
0
-1
-8
0
0
-16
0
0
8
0
0
0
40
0
1
0
0
0
0
43
0
0
0
0
0
0
-25
1
0
0
-7
0
0
-30
0
0
0
0
0
0
-56
0
0
50
0
0
37
-25
0
0
-7
0
-2
-8
4
0
5
2
0
1
-9
-8
0
0
-6
6
0
0
78
0
0
-13
-2
7
0
-30
0
3
0
0
0
0
13
0
0
0
5
1
0
12
0
0
0
0
0
0
-4
6
0
0
0
0
0
8
0
-30
20
0
0
0
-9
0
-3
4
0
0
0
12
0
-11
0
0
0
0
-19
0
0
0
-4
0
0
52
0
3
0
2
0
0
57
0
0
0
0
0
0
24
0
-2
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
50
5
0
0
-7
1
0
0
-3
0
0
0
15
0
0
0
0
0
-2
11
0
0
0
0
0
0
-4
0
2
0
0
0
0
3
0
0
0
0
0
0
23
0
0
0
0
0
0
13
0
0
0
0
0
0
-39
0
0
-3
0
0
0
-33
0
0
-2
0
0
0
-58
0
0
7
0
0
0
17
0
0
0
0
0
0
3
0
0
-2
0
0
0
-18
0
0
0
0
0
0
28
0
0
0
0
0
0
-7
0
0
0
0
0
0
12
0
0
0
0
0
0
27
0
0
0
0
0
0
27
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
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
0
0
1
0
0
0
0
6
0
0
6
0
0
-26
-88
-38
-1
0
0
0
0
0
0
0
0
0
9
0
0
10
3
10
0
24
-17
0
6
-25
0
0
22
8
0
0
11
63
0
24
-3
0
0
21
0
0
6
8
-2
2
37
20
0
0
26
0
-1
-4
0
0
0
11
29
26
0
2
0
-4
-8
20
0
-3
0
0
-32
-1
1
0
11
25
0
33
28
1
-10
37
0
0
5
13
0
26
0
26
0
23
16
0
2
17
-4
0
12
18
0
-36
22
14
0
0
5
0
-4
1
7
0
-7
-2
0
11
17
-17
0
0
9
2
0
0
0
0
-4
-23
-5
0
0
0
0
-19
14
0
-41
-15
0
0
-33
12
0
-4
47
-27
0
4
-8
-1
-13
47
0
0
-2
-13
0
-4
7
11
0
4
11
0
26
29
0
0
0
-10
15
-2
-19
80
0
0
23
0
39
-4
0
0
0
-7
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
26
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
27
-15
0
0
-2
21
0
0
-6
0
0
-2
-22
0
0
1
0
0
0
-43
0
0
-7
0
0
0
3
0
-16
0
0
0
0
-20
0
0
0
0
0
0
47
0
0
0
0
0
0
-38
0
0
0
0
0
0
-50
0
0
-16
0
0
-6
35
0
0
0
0
0
0
-22
0
1
1
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
-58
0
0
0
0
0
0
7
0
0
0
0
-3
0
-9
0
0
0
0
0
0
-17
0
0
0
0
0
0
-13
0
2
0
0
0
0
0
0
0
2
-1
0
0
-4
0
-4
0
0
0
0
2
0
0
0
0
0
0
-15
0
0
-6
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-1
0
-6
-4
9
0
0
0
0
0
0
0
0
0
0
22
-18
1
-12
29
-9
0
-26
11
0
2
-39
0
0
29
35
0
0
30
-11
0
-3
24
0
0
-13
0
2
-3
24
0
8
0
3
0
0
0
0
0
0
0
25
0
-8
5
-16
0
0
0
0
-26
-35
0
0
0
0
4
-7
0
0
-19
0
0
-27
-8
0
0
-25
0
0
11
1
-2
2
-61
5
0
20
20
0
0
16
0
0
-12
-20
0
-6
-19
7
1
0
42
0
0
9
0
0
0
0
1
0
6
0
-2
0
-15
-11
0
0
0
0
0
-4
0
0
0
-1
0
0
-16
3
0
30
0
0
-1
8
0
0
6
0
-1
4
-15
0
6
29
0
1
-8
16
0
-8
1
7
0
0
-24
0
14
7
0
-1
0
-40
0
0
0
0
0
0
0
0
11
0
0
6
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
47
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-6
0
0
0
-8
16
0
0
-6
0
0
0
7
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-17
0
0
0
0
0
0
23
0
0
3
0
0
0
-40
0
0
0
0
0
0
-5
0
0
37
0
0
0
-22
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
-23
0
0
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
2
0
0
0
0
0
0
11
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
6
1
0
0
-1
0
0
-6
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
15
0
0
0
0
0
0
23
0
0
0
0
0
0
-49
0
0
0
0
0
0
-18
0
0
0
0
0
-3
-10
0
0
1
0
0
-4
12
0
0
3
0
0
0
13
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
-38
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
4
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
-37
-9
2
3
-3
0
0
0
0
0
0
0
0
-12
-9
0
24
1
0
0
0
-13
0
0
-14
0
0
-9
-10
0
4
0
8
0
1
-68
0
0
0
0
0
0
-3
0
3
0
-2
0
-6
43
0
0
0
0
1
0
75
-5
0
0
0
0
0
18
0
0
0
0
0
0
-50
0
0
0
0
0
-6
18
0
0
12
0
0
2
-106
0
0
4
2
3
6
-26
0
0
-1
0
0
-1
53
0
-2
0
2
-6
2
-17
0
0
0
0
-2
0
12
0
0
0
16
0
0
9
0
0
0
0
0
0
4
-3
0
0
0
0
0
26
0
0
0
0
0
0
41
0
0
0
3
0
4
19
0
0
0
0
0
0
43
0
0
-2
0
0
0
45
0
3
0
4
0
0
-8
0
0
0
0
0
0
-38
0
-3
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
10
0
0
0
-2
0
-3
-24
0
-1
0
0
0
0
0
0
0
0
0
15
-9
0
21
-22
0
0
2
-60
0
0
2
0
1
-2
18
0
0
4
0
0
2
20
0
0
12
0
-2
5
-3
0
11
18
-12
0
4
50
0
0
-1
0
14
0
-5
32
-7
0
0
0
0
-9
0
0
0
0
0
5
-24
0
0
30
0
-2
41
-24
0
0
11
0
8
-9
-21
0
0
-36
0
-1
26
-8
0
0
32
0
-1
0
5
0
0
0
-2
6
-1
32
0
0
-10
0
-8
0
-4
0
0
16
0
0
0
14
0
0
0
0
0
0
-28
-6
0
3
0
0
1
23
0
-29
-1
0
0
-1
-10
7
0
35
0
0
-8
-20
0
23
-6
0
3
0
-39
0
-1
3
-2
0
0
-20
0
-33
1
0
3
0
35
0
0
-3
4
-3
0
10
0
26
0
0
0
0
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-34
0
0
20
0
2
8
-55
-20
66
1
0
0
0
0
0
0
0
0
4
-15
0
2
12
15
0
8
0
0
-2
1
1
0
41
7
2
2
5
-4
0
50
-5
1
12
5
-13
0
10
-13
-16
6
-4
-14
0
50
1
0
0
7
-2
0
1
11
-40
-38
0
1
0
1
0
37
0
29
1
0
45
-3
9
-53
-9
-38
0
23
13
-9
-26
34
-6
-3
4
12
9
-38
-1
-7
0
38
14
2
38
16
3
0
-12
-9
22
-25
32
30
0
36
8
0
-43
-2
-8
0
51
2
-9
53
9
-21
0
0
3
39
8
0
-1
0
0
8
-17
49
-7
-12
0
-18
7
9
7
-37
0
0
-39
11
-8
-67
-9
12
0
4
4
8
-53
18
4
0
29
-5
-8
-23
6
-52
-1
-13
9
-7
-47
21
3
0
11
7
0
9
9
24
0
3
11
-1
20
-46
1
0
4
12
-26
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-15
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-11
0
2
22
0
0
-38
-18
0
0
-24
0
0
0
-12
0
0
0
0
0
0
2
0
0
7
0
0
0
-1
0
-9
-6
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
1
53
0
0
1
0
0
1
30
0
0
1
0
0
8
-32
0
0
10
0
0
0
-17
0
0
-6
0
0
0
20
0
0
20
-3
0
0
9
0
0
0
0
0
0
20
0
0
1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
33
0
0
0
0
0
0
1
0
0
0
0
0
0
-13
0
0
0
0
0
0
22
0
0
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-8
12
-2
0
0
0
0
0
0
0
0
-15
2
0
-13
3
-74
-9
-1
16
0
7
-14
0
25
-47
3
6
-3
2
-14
-2
25
16
0
11
-33
4
15
18
-47
0
16
17
-1
4
0
21
-6
0
7
0
3
0
-6
0
8
-1
-4
0
0
-14
-24
0
-5
-1
0
34
-22
-1
17
-3
-15
27
-35
-6
-6
-8
38
-1
15
-3
-14
-6
-18
-31
10
34
45
18
0
-4
0
-2
-7
11
3
0
3
-20
24
-30
-2
22
0
0
-34
1
-9
0
10
7
-28
27
-14
4
0
8
0
-3
-4
0
0
8
-24
-35
0
19
2
2
-21
-18
1
-16
16
2
2
-81
-58
1
33
-63
-6
2
-5
-14
0
-3
46
-3
-2
2
-15
0
-23
-5
10
11
-1
20
0
7
-70
0
10
0
7
0
0
-12
33
-3
0
-16
-1
-55
-15
1
-23
0
-15
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
-4
0
0
0
0
0
0
30
0
0
0
0
0
0
9
0
0
0
0
0
0
27
0
0
0
0
0
0
-13
0
0
0
0
0
0
15
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-13
0
0
0
0
0
0
-18
0
0
0
0
0
0
-44
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
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
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
-3
-4
0
0
-7
1
0
1
5
0
0
0
-16
0
0
0
0
0
0
-26
0
0
-4
0
0
0
19
0
-4
0
-2
0
0
2
0
0
0
0
8
0
3
0
0
0
0
0
0
-14
-1
0
0
0
0
0
41
0
0
-55
0
0
1
-7
0
0
24
0
0
0
2
0
0
30
0
0
0
16
0
0
0
0
0
0
42
0
0
-1
0
0
0
5
0
0
0
0
0
0
-10
0
0
0
0
0
0
-26
0
0
0
0
0
0
-6
4
0
0
0
0
0
-1
0
0
0
0
0
0
-26
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
36
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
3
-25
0
17
25
-25
0
-5
-40
-2
0
27
0
0
16
-17
-2
-4
24
8
0
-2
12
0
0
-11
0
0
-3
-8
0
-20
-26
46
0
0
-17
0
0
0
0
0
0
-2
-8
-5
0
4
0
0
7
-47
0
0
0
0
35
14
0
0
-20
-9
0
25
10
0
4
47
-6
0
36
7
0
0
40
33
0
31
-27
1
2
-27
0
0
11
-3
-2
-18
33
-44
0
-1
18
0
0
3
-2
0
0
5
0
-7
16
43
0
0
-21
1
0
0
0
0
-11
20
1
0
-23
1
0
65
5
-7
9
-5
0
0
19
30
-4
7
15
0
0
130
-19
4
6
46
0
0
19
-34
0
2
15
-9
0
-8
15
0
10
19
0
0
0
42
0
8
-18
30
0
0
40
0
31
4
0
0
0
11
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
7
-3
-1
-4
5
-2
0
4
25
0
0
10
0
0
0
-6
0
0
0
0
0
-2
34
0
0
0
0
0
0
0
0
6
0
0
0
0
4
0
0
0
0
0
0
-20
0
0
0
0
0
0
-24
3
0
0
0
0
0
34
0
0
-8
0
0
0
42
0
0
-3
0
0
-8
42
0
0
0
-1
0
-2
20
0
0
-1
0
0
0
-12
0
0
0
13
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
-1
0
0
0
0
-8
0
0
2
0
0
0
-6
0
0
-2
0
0
0
-14
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
13
-3
6
-2
-9
7
-28
-43
8
21
5
-29
-22
23
11
6
-5
95
6
-2
20
-23
9
5
-4
42
-9
20
11
-13
1
19
-3
-6
-13
-22
43
-5
23
0
4
3
22
-27
15
-12
14
0
-19
-45
-10
23
2
-7
20
-27
35
15
-9
-8
11
-15
-1
7
-3
44
48
-28
-4
4
-5
2
-15
28
7
-13
24
66
36
16
1
11
-9
-13
60
-27
30
32
65
-3
-2
-11
-1
0
-28
1
-7
12
-27
8
0
13
41
-13
-48
18
0
29
-13
53
0
0
7
-7
21
-1
-25
3
4
-7
35
-24
42
5
22
3
0
-17
-18
38
-34
4
-69
-15
-5
32
24
39
-21
-10
12
-3
22
15
-23
-23
7
-13
55
62
57
-2
-5
48
-22
28
27
53
34
9
0
15
13
12
12
29
1
17
-12
7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-44
0
-16
-23
-13
-1
-20
-1
0
12
-41
3
0
-57
2
1
-3
23
6
2
28
20
0
7
-38
0
6
2
9
0
-40
-25
15
0
-6
-10
0
0
-6
0
15
0
3
-19
-6
3
3
0
0
-14
0
0
0
0
0
14
8
-1
1
47
-11
0
57
14
0
-3
-2
0
0
-41
-18
-4
-21
25
23
1
36
-52
0
0
-73
-12
-8
-1
21
-2
9
32
-27
-25
-2
4
0
0
9
0
-12
0
16
0
-2
-15
-13
-34
0
16
4
0
0
0
0
0
45
2
-2
10
0
0
18
48
0
-5
23
0
0
17
-7
0
42
-33
34
0
-33
19
0
23
43
6
-10
-2
0
7
-18
-3
-8
0
4
11
0
36
0
6
0
-2
-11
0
2
-1
3
3
3
8
0
6
4
11
0
0
25
8
0
7
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
20
-26
11
-22
43
47
-1
-33
-40
3
0
12
0
0
-81
12
7
0
-60
6
-3
-2
-13
0
0
17
0
0
-9
-49
0
-37
2
9
0
3
21
0
0
0
0
-10
0
-4
-7
2
15
-1
0
0
-33
-4
-15
0
0
0
-23
-38
2
3
25
22
0
58
31
-11
-3
1
-8
7
33
9
-3
3
-23
18
0
-28
22
0
0
-4
0
-4
-2
-7
0
0
51
-7
-6
2
25
0
-1
6
0
0
0
-2
0
-2
37
2
0
0
15
2
0
0
0
0
0
35
60
2
6
0
0
-4
-13
0
-4
15
0
0
9
-9
0
0
-15
-2
4
2
-50
0
-6
21
-3
3
0
45
0
-3
38
-3
-4
1
-52
0
-2
2
0
0
0
15
0
0
-1
1
8
0
-26
0
-45
0
0
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
19
2
-24
-9
7
-2
-48
0
0
0
-55
0
0
26
13
0
0
-40
-6
0
14
10
0
0
3
0
-1
0
63
0
-37
0
9
-2
0
41
0
0
0
0
17
0
12
-42
0
0
7
0
0
13
-4
-4
-1
0
0
0
-32
1
-3
-1
2
-3
-3
37
-1
-11
1
0
-10
4
-12
0
-9
18
0
2
8
-29
0
0
32
0
0
0
16
0
0
38
2
7
0
1
0
0
-15
0
7
0
24
1
0
0
0
1
0
2
0
0
0
0
0
0
25
-1
0
0
0
0
0
-64
0
25
0
0
0
0
12
0
0
1
0
0
0
4
0
-10
-7
0
0
0
57
0
0
-2
-1
0
0
-11
0
1
0
0
0
-3
-17
0
0
-6
-9
0
0
-32
0
11
0
0
4
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-12
0
-8
-9
0
0
-7
-12
0
8
-39
0
0
5
56
0
0
44
0
0
-1
-52
0
0
-4
0
0
0
11
0
-17
1
0
0
0
7
0
0
-1
0
-8
0
-9
1
-3
0
0
0
0
-25
0
0
0
0
0
0
-27
0
-4
10
0
0
-23
8
0
-2
48
0
0
13
-35
0
0
-36
0
0
11
-27
0
-3
7
0
-3
13
-20
0
0
-1
0
-9
0
-63
0
0
0
0
22
0
19
0
0
0
0
50
0
7
0
0
0
0
0
0
29
18
0
0
0
0
0
62
0
-1
0
0
0
6
-26
0
0
-18
0
0
19
-34
0
-10
0
0
0
0
-27
0
0
4
-3
0
0
4
0
-4
0
0
0
0
-10
0
0
0
0
0
0
34
0
0
0
0
-2
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-100
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
7
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
-11
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-50
30
-3
16
-23
14
0
24
-41
8
25
61
-4
0
-3
-24
1
-25
14
1
0
-9
16
39
13
6
-21
7
1
-4
0
-10
0
6
-48
-12
-6
37
27
-1
3
13
9
-3
1
0
57
-2
1
46
-13
-20
20
21
0
-19
36
-6
1
4
42
-4
-16
18
-19
27
-16
-16
-7
9
-3
-28
59
-10
5
33
-1
93
5
2
34
12
-5
0
-5
-13
-4
-4
-2
37
-9
64
-33
-19
27
1
-10
90
-9
0
9
-9
-9
-19
12
7
36
0
-6
12
-6
-8
-24
14
9
1
42
23
6
44
24
47
0
-2
-8
37
-31
18
-18
33
4
22
26
17
34
72
-25
21
4
-1
5
22
-9
14
30
48
8
-15
-22
-14
28
8
25
4
25
5
-15
32
3
49
13
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
4
-14
17
38
13
-11
-5
16
-32
4
-18
-18
-23
-19
15
7
3
-10
17
17
33
25
-1
10
0
58
45
28
0
12
-8
-1
-5
-7
0
0
0
-6
-45
-2
-15
2
29
27
17
1
18
0
0
29
14
0
-2
18
12
9
1
0
-25
20
-23
-38
-14
8
-13
12
-22
-7
30
71
26
24
-15
21
31
2
-2
16
-15
-30
87
54
-32
-16
-35
4
1
-14
-11
11
32
20
33
2
9
-11
7
22
-1
-1
12
-1
0
-24
5
-13
28
-25
-31
54
-15
-2
-1
-14
29
33
26
-29
10
-28
0
2
66
-27
3
-1
-16
-45
-6
-31
-7
50
-2
4
29
0
86
-6
-30
-30
-14
-8
3
-13
-31
11
-28
31
-10
-4
11
-11
32
32
-1
25
0
25
21
5
-12
0
19
1
3
-10
-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
-24
-8
0
0
28
0
0
2
40
0
0
7
-4
0
-1
-15
0
1
-4
0
0
0
0
0
-11
0
0
0
0
9
0
0
0
0
0
0
30
8
-6
0
0
0
6
3
7
0
0
0
0
0
-16
0
0
-9
0
0
-2
-30
0
0
4
0
0
0
24
0
6
3
2
0
0
-23
0
1
-3
0
-1
0
-17
0
2
11
1
0
0
-27
0
0
0
0
0
0
4
0
0
0
0
-1
0
8
0
0
0
0
0
0
22
6
-2
0
0
0
0
39
0
-2
0
0
0
0
-4
0
0
-5
-2
0
-3
-51
0
7
0
0
0
0
8
0
3
0
0
0
0
-6
0
3
1
8
0
0
-6
0
-1
0
0
0
0
-20
0
0
0
0
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
-2
33
29
-3
26
31
12
-24
-25
-5
-5
15
-18
-9
0
-3
-2
-13
44
-41
1
3
0
8
21
21
-11
2
10
0
2
-4
-3
17
-1
4
-34
-1
-7
22
-15
9
11
54
14
41
0
14
8
-8
70
29
16
-16
39
0
3
-1
1
-9
-6
-13
-42
-18
-19
-18
-6
32
-1
-10
-7
84
-25
-19
46
20
-47
3
-6
-1
5
13
-18
36
14
0
29
5
-22
-3
-2
14
14
7
-19
-11
-11
-1
13
-57
0
-1
-1
-11
11
4
21
43
83
-4
10
-34
-4
8
-4
-19
4
-1
-4
12
-34
68
32
15
-1
1
-19
17
32
-19
-5
55
-11
-13
-1
-33
4
-26
9
-30
-10
2
2
21
16
-4
-14
-10
0
-1
41
46
-6
9
5
0
12
36
44
-24
3
17
-18
7
0
16
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
16
-20
17
10
-35
33
1
-17
10
45
-13
6
17
-36
-3
15
40
1
-4
-13
-42
-23
2
7
-25
-35
14
-11
-1
-44
-11
-18
14
-1
0
-5
2
3
0
9
25
-23
12
27
1
19
-12
4
25
2
65
-36
-31
12
17
43
4
42
0
-20
38
24
10
17
-7
26
11
60
-11
-12
5
17
13
5
45
-3
5
9
44
-4
17
26
4
1
-9
-3
29
6
56
23
12
0
26
24
-17
-25
5
-4
-16
-28
6
5
-17
45
-14
0
53
50
10
8
2
24
3
-9
0
-6
59
18
-5
2
-31
-19
34
24
-12
25
12
76
33
9
-2
3
13
13
19
-21
49
30
12
-38
-11
3
-4
17
-25
42
-13
-25
2
-28
16
-6
52
-1
0
37
20
-52
-19
45
0
0
50
38
-18
46
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
2
-1
9
-9
1
0
1
-36
0
4
-15
-16
0
0
10
0
17
0
-26
0
-8
-4
0
16
6
17
0
0
0
0
-39
0
-10
-42
-4
0
0
0
0
15
46
0
0
0
0
-21
-5
0
-6
43
0
0
46
11
-1
12
13
0
0
15
-8
3
-6
-38
-5
4
-42
-20
0
0
-5
0
15
-4
-25
0
0
-10
-2
5
-7
-28
0
0
7
0
-8
0
9
0
3
9
0
13
0
11
-9
0
0
8
3
3
33
-49
-8
0
0
0
9
-13
8
-3
-5
0
0
-4
4
0
-3
5
0
0
13
9
0
-20
23
0
6
-14
-29
0
8
9
9
9
0
-1
0
9
-18
0
-1
0
4
0
0
30
0
-6
0
-28
0
27
-7
0
-1
0
9
17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
5
0
0
7
0
0
0
2
0
0
0
0
0
8
-47
0
0
0
0
0
0
11
0
-10
0
0
0
0
-63
0
0
0
0
0
0
43
0
0
0
0
0
0
-18
0
0
0
0
0
-4
-27
0
0
0
0
0
-20
-3
0
0
3
0
0
0
-4
0
4
0
0
0
0
-8
0
0
0
0
0
-3
4
0
0
0
0
0
0
-15
0
0
0
0
0
0
4
0
0
0
0
0
0
10
0
0
0
0
0
0
4
17
3
0
0
0
0
-23
0
0
0
0
0
9
28
0
0
0
0
0
12
0
0
-1
7
0
0
0
11
0
0
0
0
0
0
-10
0
0
-6
0
0
0
7
0
0
0
0
0
0
-13
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-72
-8
1
11
18
22
2
2
2
2
26
-3
21
13
25
-1
9
-4
-14
8
-2
1
12
-46
-1
0
2
-7
-11
48
0
8
-25
-7
16
18
11
31
2
6
28
21
19
-14
3
46
22
11
-17
-18
21
-13
-20
13
-4
-6
99
1
16
27
40
-9
11
-8
30
4
48
5
-3
6
18
-25
17
-1
9
21
9
-5
23
56
-39
25
-1
-12
3
14
28
8
3
-4
-1
49
-12
-7
4
30
3
12
0
-6
49
-32
-11
27
5
18
4
18
1
-49
28
11
30
14
6
52
17
-78
0
-45
10
-12
-10
-42
-34
10
-13
41
25
11
30
-8
11
40
23
-25
5
0
39
1
71
-25
25
5
56
-5
0
1
14
39
1
24
-9
6
28
-7
-36
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
-8
22
23
8
-10
43
46
-15
-8
27
22
-7
-5
10
-27
-13
8
1
35
-3
18
-42
-12
39
-6
50
-20
-3
0
-11
-18
-33
2
-4
-7
43
18
30
37
-27
-3
14
10
13
10
-48
10
-36
-73
-19
4
65
7
-12
-28
-3
4
0
-42
25
30
-8
15
-55
-10
-2
12
6
-9
27
4
-15
41
1
-9
-24
-38
47
-12
-39
49
3
13
15
0
-8
-8
9
17
13
-4
4
-5
15
-17
-2
0
15
0
7
84
-21
21
0
0
-11
12
-27
-42
17
-13
56
21
6
-39
-33
50
12
-14
17
0
-8
-6
5
-5
42
-9
-3
52
42
6
-9
0
16
-6
-26
13
34
-17
24
-24
23
-2
32
10
25
4
1
-10
2
-10
40
27
-9
5
5
-1
5
-8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-2
0
-2
-33
0
0
0
0
0
0
55
0
-6
0
0
0
0
31
0
0
0
0
0
0
2
-3
0
0
0
0
0
15
0
0
0
0
0
0
65
0
0
1
0
0
9
-16
0
0
1
0
0
0
2
0
0
3
-1
0
7
12
0
0
-17
0
0
0
19
0
0
1
0
0
0
16
0
0
0
0
0
0
10
0
0
0
0
0
0
9
0
0
0
0
0
0
50
0
0
4
0
0
0
17
0
1
-8
0
0
0
5
0
0
0
0
0
0
32
0
0
-1
0
0
0
7
0
0
0
0
0
0
-7
0
-12
0
0
0
0
-34
0
0
0
0
0
0
31
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-7
0
20
43
0
0
-4
0
0
2
-22
0
-21
0
4
0
0
-9
0
0
0
0
0
0
46
1
0
0
0
0
0
-18
0
0
0
0
0
-2
51
2
0
3
0
0
51
-57
0
0
14
0
0
6
44
0
0
-23
0
0
-1
-34
0
0
46
0
0
0
23
0
-3
-9
0
18
0
-10
0
0
0
0
0
0
-16
0
0
4
6
0
0
12
0
0
0
0
0
0
11
1
0
0
0
0
3
57
0
35
10
0
0
0
-8
0
0
13
0
0
4
14
0
-1
0
0
0
-1
-34
0
0
-3
-3
0
0
-40
0
0
0
11
0
0
-3
0
0
1
-3
0
0
-19
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-26
-2
-14
-45
-18
-6
-2
0
-2
7
-8
-27
-23
0
7
42
-3
12
-6
-24
2
-1
52
-2
-23
0
3
-40
43
-2
25
18
-21
35
-33
6
8
0
1
22
25
-4
-14
16
46
26
-50
-18
-2
17
28
-3
5
20
2
-21
-29
19
42
11
43
3
-16
-8
25
5
42
-1
4
2
62
47
14
-12
-47
6
-3
18
20
-20
2
19
-18
0
6
27
36
-8
25
-1
-31
3
1
-6
-9
15
10
20
6
-5
-1
-13
-18
-5
2
0
18
0
4
8
8
-25
-26
11
18
1
-18
-12
0
0
-12
-6
0
-7
-10
-1
93
22
6
20
-3
1
7
22
41
6
18
-27
-13
1
74
3
32
25
10
-11
0
-8
-21
17
35
0
3
-3
9
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
11
0
0
0
0
0
15
5
0
0
-1
0
0
-4
-4
0
2
0
0
0
0
44
0
0
0
0
0
0
-44
-10
0
0
0
0
0
39
1
0
0
0
0
4
-27
0
0
9
0
0
-3
21
0
0
-12
0
0
3
14
0
0
-4
-7
0
0
4
0
0
9
0
0
1
-46
0
-1
0
1
0
0
-22
0
0
-7
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-35
0
0
-2
0
0
0
24
0
4
-1
0
0
0
19
0
1
0
0
0
0
-14
0
0
0
0
0
0
0
0
7
-2
0
0
0
-1
0
0
0
0
0
0
-44
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
1
10
0
0
1
0
0
0
8
0
0
-10
0
0
-7
14
0
53
0
0
0
0
11
0
0
0
0
0
0
17
19
0
0
-1
0
0
-4
2
0
0
0
0
0
10
0
24
37
0
0
-12
-18
0
-1
2
0
0
54
29
0
0
12
9
0
8
22
0
0
11
0
0
9
-13
0
4
8
-13
0
1
21
0
0
0
0
0
0
74
0
0
0
0
0
0
83
0
0
0
0
0
0
41
2
-1
0
0
0
0
0
-1
26
17
0
0
3
-20
0
0
17
1
0
10
15
0
6
-4
0
0
12
11
0
4
0
-1
0
0
-18
0
-24
6
0
0
0
-8
0
0
0
13
0
0
71
0
21
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
13
-1
0
-2
30
0
-4
0
8
0
37
-3
-11
2
0
-28
0
0
0
-3
22
0
5
-44
-76
0
-3
-4
0
-10
-35
5
36
8
0
19
12
-8
46
21
-22
3
17
-22
-1
-10
18
0
0
-21
-2
20
26
14
-4
-4
-6
-8
0
-15
-24
-17
-12
3
-1
-6
-34
21
-17
4
1
-11
0
2
-43
0
23
0
22
0
1
-9
15
-30
-1
5
-25
0
0
0
46
0
-21
20
3
-49
1
0
11
-1
-6
47
12
0
0
-6
14
-14
29
-24
-4
2
-30
6
0
-21
5
2
0
-11
-15
-11
10
-6
7
1
0
12
0
18
-21
2
-4
0
3
0
-6
-35
6
2
-2
-32
0
-10
1
8
-1
0
26
-14
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-15
11
16
-24
8
-35
25
-21
-1
-18
16
-1
17
40
-9
1
-1
-32
-1
-11
0
-1
-2
-57
2
75
0
33
-26
-28
29
-18
-3
19
-2
-4
-47
-56
10
18
-29
20
-20
20
-11
11
3
-48
-11
21
32
-3
12
42
25
28
0
-61
2
-9
54
22
-32
3
-8
1
-6
5
31
31
3
8
-10
30
-9
-9
-1
-26
16
47
1
38
-20
3
4
10
-12
0
18
10
-6
-21
23
-9
-22
-2
5
-7
17
12
2
-6
-11
12
12
-2
90
4
1
-31
19
-25
6
-11
24
18
-21
-31
21
0
49
-59
0
-15
14
6
13
-4
13
6
57
-25
19
-26
-2
46
-23
-63
3
15
-11
17
12
2
1
22
0
7
50
-8
-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
40
0
0
-2
0
0
0
61
0
-3
0
0
0
0
76
0
0
0
0
0
0
59
0
0
0
0
0
0
-9
0
0
0
0
0
-1
75
0
0
-4
0
0
32
-46
0
0
0
0
0
0
-24
0
0
6
0
0
4
18
0
0
-1
0
0
0
-6
0
0
0
0
0
0
-36
0
0
0
0
0
0
-39
0
0
0
0
0
0
5
0
0
0
0
0
0
4
2
0
0
0
0
0
-1
0
-9
0
0
0
0
3
0
0
1
0
0
0
12
0
2
1
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
2
0
0
0
-4
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
-10
0
0
0
35
0
0
0
28
0
0
8
0
0
0
0
-1
0
-34
28
0
0
0
0
0
27
-3
0
0
0
0
-8
9
0
0
6
0
0
-11
45
0
0
0
0
0
42
-4
0
3
-18
5
0
0
-16
0
0
-4
0
0
-3
5
0
0
0
0
0
-3
45
0
0
0
0
0
0
37
0
7
6
0
0
0
-3
0
0
0
0
0
0
-13
0
1
0
0
0
0
-38
0
0
0
0
0
-2
-7
0
0
-1
0
0
3
-10
0
4
0
0
0
0
24
0
0
-2
0
0
2
-15
0
-3
0
0
0
0
-29
0
0
2
0
0
0
35
0
-4
12
0
0
0
48
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
-2
10
-12
1
-11
2
-20
0
-12
52
-35
-49
-3
-6
0
0
0
0
-28
0
1
-24
4
0
35
4
7
14
-19
0
0
0
0
24
-13
56
41
-38
-2
3
-36
-8
8
1
43
2
8
71
3
11
-11
-30
-9
5
27
13
1
47
19
3
0
14
15
-6
1
-21
44
13
59
-11
2
1
-13
1
47
-11
7
0
0
1
-35
19
0
5
4
8
0
0
4
0
0
-23
29
16
-2
0
4
4
-3
-12
66
0
0
-48
-20
5
-6
22
32
0
-22
10
-8
18
42
2
19
16
9
2
39
-3
28
0
-2
9
-11
2
-3
-3
3
10
-13
0
-3
-1
-5
23
0
7
0
-20
0
10
-9
0
0
-21
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
6
7
-2
-4
-12
-17
0
29
8
0
-6
-2
-17
0
0
6
0
14
0
8
33
1
0
0
-3
0
0
18
0
0
0
0
4
-24
1
23
-12
0
0
10
6
3
0
44
0
0
-19
-15
0
0
-15
0
0
-1
18
0
4
-13
-8
0
68
-15
0
0
-3
0
-4
6
-15
0
0
18
0
12
4
9
0
0
-7
0
41
-1
31
-14
1
0
0
9
0
-4
-1
0
-9
0
0
-9
-10
1
61
32
0
0
-3
17
0
-11
9
0
-6
-21
7
0
70
-12
0
6
15
62
0
21
49
0
0
-5
24
0
20
81
-6
-1
2
12
0
-3
41
0
29
0
-5
15
-7
0
0
-19
0
17
-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
45
0
0
1
0
0
0
-36
0
23
13
0
0
0
13
0
0
0
0
0
0
-24
-7
0
0
3
0
0
40
0
0
0
0
0
0
18
0
0
-2
0
0
-5
-13
0
0
15
0
0
3
-39
0
0
-30
-1
0
0
45
0
0
0
0
0
0
-22
0
0
-19
-1
0
0
25
0
0
1
0
0
0
13
0
0
0
0
0
0
-63
0
0
0
0
0
0
1
10
0
0
0
0
0
18
0
15
0
0
0
0
78
0
8
-3
0
0
-1
-43
0
0
1
0
0
1
26
0
0
4
0
0
0
35
0
3
2
0
0
0
-4
0
0
0
0
0
0
28
0
7
0
0
0
0
-34
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
12
0
0
-15
0
0
-2
0
5
0
-4
43
14
0
4
0
0
-8
13
0
-2
0
-7
7
-25
-2
-1
40
-3
0
-20
-9
0
-18
31
0
0
-16
0
0
13
-22
8
0
-3
-3
0
7
28
-4
1
0
39
0
-7
3
-8
13
0
-7
0
0
29
0
-3
0
12
7
0
-4
11
56
0
19
-6
0
0
0
-1
0
-10
-40
0
0
0
0
0
-13
0
22
-89
0
-1
0
-24
0
0
21
1
0
0
3
0
20
-65
0
0
0
-42
-9
2
-39
3
0
0
-35
0
-16
-7
2
0
1
2
0
3
-1
5
0
0
0
0
-34
-2
0
-7
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
-21
4
-3
-3
-1
16
25
53
-13
29
44
-48
-14
-14
0
11
21
-2
-9
-42
29
10
2
-27
-30
48
-1
3
6
2
-41
-26
14
11
8
3
-6
-27
16
27
38
-2
1
2
-4
56
-2
-28
-37
15
3
44
6
-3
-66
21
-12
0
-12
2
8
18
25
19
6
8
21
35
28
8
-19
0
-1
7
23
7
-24
-6
-2
-63
23
3
4
14
-13
-16
41
-11
60
-31
0
8
11
-10
20
9
-10
-1
-59
3
102
1
16
21
45
51
3
66
9
43
17
-40
-39
-7
-58
-13
-11
-2
-19
18
0
-32
12
9
-4
-12
-61
-23
5
-15
50
32
6
9
-5
11
0
3
-2
17
13
23
-9
42
-14
-62
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
1
0
0
-6
0
0
0
0
0
0
10
0
0
0
0
0
0
-32
0
0
0
0
0
0
11
0
0
0
0
0
0
-31
0
0
-7
0
0
0
-28
0
0
-11
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
10
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
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
37
0
9
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
4
0
4
0
0
0
0
24
0
0
0
0
0
0
-72
0
0
0
10
0
0
9
0
0
0
0
0
0
-7
0
0
24
0
0
3
-62
0
0
0
0
0
0
46
0
1
4
0
0
0
-7
0
0
3
0
0
0
-9
0
0
1
-9
0
0
-62
0
0
0
0
0
0
1
0
0
0
0
0
0
28
0
0
0
0
0
0
1
0
0
0
0
0
0
52
0
0
-1
0
0
0
46
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
0
18
0
0
0
-90
0
0
0
1
0
0
1
0
0
0
0
0
0
2
0
1
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
36
0
-10
5
35
-1
18
11
0
-3
0
0
42
0
8
8
-3
0
-38
0
0
-4
-14
0
2
0
0
-6
6
-5
12
17
23
-1
1
6
4
-19
57
0
0
9
2
-1
-19
-15
-10
-9
26
-18
0
4
-17
-7
-15
25
13
-4
10
-10
14
1
-31
10
0
12
3
0
15
-4
29
0
-3
0
5
20
0
21
-21
0
0
0
-2
0
-13
-42
-2
-5
0
0
11
-35
8
1
-16
0
-1
-20
-1
0
37
6
-10
0
-26
14
0
-20
-25
-2
-1
8
14
12
23
24
29
-4
-2
-14
0
25
-16
-1
-4
14
11
0
-2
4
38
-9
0
4
10
-67
-7
0
-8
0
10
10
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
65
0
2
0
0
0
0
1
0
0
0
0
0
0
61
0
4
0
0
0
0
27
-13
0
0
0
0
-1
-37
0
0
16
1
0
-5
17
0
0
-23
0
0
1
51
0
0
-10
0
0
-8
30
0
0
1
0
13
1
-60
0
0
1
0
0
7
-5
0
0
0
0
0
0
-6
0
0
0
0
-1
0
25
0
0
0
0
0
0
2
0
0
1
0
0
0
-13
0
0
0
0
0
0
-5
0
0
0
0
0
0
-19
0
-1
1
0
0
6
-30
0
0
0
0
0
0
-18
0
2
3
0
0
0
1
0
0
1
0
0
0
-28
0
1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
0
-5
0
-10
0
0
4
0
0
0
0
0
0
-18
2
32
0
3
0
0
8
0
0
0
0
0
4
-5
0
0
-25
0
0
6
-13
0
0
-8
0
0
16
14
0
0
-30
0
0
-4
11
0
0
-71
0
0
1
47
0
0
16
5
0
0
9
0
0
-1
0
0
0
-32
0
0
0
-1
0
0
-44
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
18
0
0
0
0
10
0
0
0
0
0
1
-12
0
-2
5
0
0
0
30
0
0
6
0
0
0
1
0
-8
-6
0
0
0
58
0
6
1
-16
0
0
26
0
-20
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
31
0
0
0
0
-7
0
-7
3
0
0
2
0
0
16
10
0
0
0
0
-11
2
0
6
6
-3
-1
-13
-15
0
0
9
0
0
0
-16
0
1
12
1
0
0
-8
0
0
-1
0
0
0
11
0
0
9
6
4
0
-6
0
-4
21
0
0
0
45
0
0
-4
0
9
0
2
10
0
0
0
0
0
21
6
-1
0
0
0
0
-58
0
-4
3
0
0
0
29
0
0
-25
0
0
0
-29
0
27
0
0
0
0
-35
0
1
22
3
0
0
10
0
11
7
0
-3
0
42
0
-3
-6
4
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
-20
6
-2
-1
3
-2
-36
1
1
-7
-23
2
0
21
0
-5
-32
-13
32
1
6
-35
-12
20
26
16
10
-50
7
-8
44
15
1
-7
17
1
1
-1
-75
-17
-13
-28
-1
-8
26
16
-3
19
17
29
-7
-7
-2
11
8
-43
-12
0
13
1
1
-1
-3
17
12
12
11
36
4
1
-1
4
29
-6
-3
0
-7
-4
-7
81
8
-12
-7
0
15
-11
20
-9
-12
33
-2
37
8
-7
29
-34
28
16
-36
19
16
0
36
-4
48
-11
2
-30
-102
-8
-27
7
32
23
7
25
-17
-7
34
-7
0
0
0
53
34
2
0
13
-3
56
-21
0
8
0
18
-31
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
3
0
0
0
0
0
0
-25
0
0
0
0
0
0
19
-3
0
0
0
0
-9
-45
0
0
17
0
0
12
-8
0
0
0
0
0
0
8
0
0
4
0
0
0
10
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
-5
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
6
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
8
-7
0
-2
29
0
-6
-41
56
-11
2
6
-3
-32
0
-3
59
15
-13
-38
-11
-4
0
-30
-28
7
-66
-49
7
11
-17
-6
21
-18
-4
12
-53
-23
-7
0
1
-6
-60
-21
2
-3
-3
-17
-12
6
17
-13
2
0
0
28
-7
32
1
10
0
2
26
-1
35
0
4
-21
-6
0
-1
-10
7
-9
-35
33
0
15
12
-10
2
15
16
-19
-2
1
-18
-15
-9
-13
-16
-31
27
-3
0
1
-25
-29
-15
1
-19
3
-8
39
4
-27
-8
7
3
3
2
-15
9
51
23
-28
0
-21
-38
2
-3
-3
6
4
21
1
0
14
4
31
2
-13
3
-39
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
2
0
0
0
-1
0
-12
-6
-14
0
0
0
0
-42
-28
0
0
0
0
-7
-6
-1
0
-14
-11
0
-19
4
0
-18
-59
-8
-1
12
10
0
17
50
20
0
-28
11
0
2
-12
7
0
0
16
0
0
-2
0
0
13
-4
0
-1
0
0
0
0
-21
0
-7
-6
-3
17
0
-24
7
0
0
-16
0
0
-48
12
0
0
4
0
3
-18
0
6
1
-1
0
7
32
0
0
46
-5
0
26
26
8
20
-1
-1
0
3
53
0
0
0
-4
0
0
8
0
6
0
0
4
0
21
0
-4
0
1
0
-10
0
0
-18
0
0
1
0
-22
-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
-1
5
0
0
0
0
-20
0
3
17
10
0
0
0
0
-14
2
0
2
0
0
1
-11
2
2
30
0
8
6
21
0
-3
-24
1
3
23
-11
0
1
-9
0
-7
12
7
0
1
36
0
24
3
17
0
0
23
0
33
0
-12
0
0
15
0
14
0
23
0
12
-55
0
19
0
16
8
0
0
0
1
0
-16
5
0
7
0
0
-3
-24
0
35
1
0
0
-37
20
0
-20
-16
0
0
22
15
10
30
-46
0
0
4
18
0
-11
-4
0
-6
11
50
0
0
-30
0
-5
0
-4
0
0
11
0
0
0
10
0
-33
0
0
-16
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
-35
0
0
0
0
0
0
38
-23
-3
0
0
0
0
32
0
0
-1
0
0
9
13
0
0
49
0
0
4
1
0
0
-14
0
0
0
-2
0
0
-28
0
0
-38
31
0
0
7
0
0
2
-44
0
0
13
7
0
0
-24
0
0
0
0
0
0
-47
0
0
0
-7
0
0
39
0
0
0
0
0
0
-6
-1
0
0
0
0
-1
31
0
-7
-2
0
0
9
63
0
0
0
0
0
-1
3
0
2
4
0
0
0
106
0
0
0
2
0
0
-26
0
-2
-6
0
0
0
61
0
0
19
-7
0
0
-18
0
-5
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
52
0
0
0
0
0
0
14
0
0
-1
-3
0
0
19
0
0
10
0
0
15
5
0
3
-22
10
0
-7
9
0
1
11
0
9
0
-16
0
0
0
0
2
0
-12
0
0
-11
0
0
0
42
0
0
0
2
-2
0
-35
0
0
0
0
0
0
-24
0
0
0
0
0
0
44
0
-2
0
0
0
0
-16
0
0
0
0
0
-1
-28
0
15
0
0
0
0
25
0
0
0
0
0
0
46
0
2
0
0
0
0
-5
0
0
0
0
0
0
-21
0
-2
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-55
1
14
3
-7
-4
-27
23
6
4
-5
39
-3
2
35
-1
-3
27
4
7
19
-5
-4
29
-1
13
6
-18
26
6
-24
44
19
-1
0
-25
-5
-23
-5
5
-6
2
61
7
0
-30
12
-5
1
-40
-25
-34
18
-13
0
1
41
37
-7
16
-1
11
29
17
0
0
-22
0
-2
14
35
-2
-2
23
32
-4
4
24
-10
-16
7
24
1
-17
15
5
16
34
7
22
-47
20
-24
65
3
58
-5
11
9
-5
10
43
49
-1
-12
-22
-11
50
9
31
2
4
7
37
27
44
-33
0
0
-1
11
37
0
0
24
46
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-20
0
0
0
0
0
0
-47
0
0
0
0
0
1
34
0
0
0
0
0
2
-59
0
0
3
0
0
0
-2
0
0
6
0
0
0
6
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
-3
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
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
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
-19
-1
0
0
0
0
0
4
0
0
0
0
0
0
-9
0
0
1
0
0
-1
26
0
0
0
0
0
-6
13
0
0
-1
0
0
0
-21
0
0
-2
0
0
0
-8
0
0
0
0
0
0
37
0
0
0
0
0
0
-2
0
0
0
0
0
0
16
0
0
0
0
0
0
-5
0
0
0
0
0
0
-30
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
-8
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
-8
1
-2
0
4
0
0
-9
0
0
0
0
0
0
-31
0
0
3
0
0
-3
24
0
0
0
0
-2
-3
10
0
0
0
0
0
0
26
0
0
0
0
0
0
29
0
0
0
0
0
0
-11
0
0
0
0
0
0
-25
0
0
0
0
0
0
-15
0
0
0
0
0
0
-78
0
0
0
0
0
0
9
0
-2
0
0
0
-1
-50
0
1
-13
0
0
-8
-18
0
11
0
-3
0
-1
5
0
0
0
0
0
0
-17
0
-2
0
0
0
0
6
0
0
0
0
0
0
-55
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
27
0
0
0
0
0
0
20
0
0
0
0
0
0
-3
0
0
-1
0
0
0
21
0
0
11
0
0
0
21
0
0
-1
-2
0
0
1
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
3
0
21
0
0
-1
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
1
6
0
0
-7
0
0
0
-1
0
0
-6
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
21
-8
0
0
0
0
-11
-30
0
0
-17
-34
0
-64
-41
2
5
-13
0
0
38
6
0
0
-8
15
0
32
-8
0
6
23
0
0
-1
-26
0
0
-29
1
0
11
-15
0
0
-17
0
0
-2
23
2
0
-34
0
0
0
29
-1
-1
0
2
0
0
17
8
0
0
0
0
0
0
0
-13
5
0
0
1
1
0
2
27
0
0
-11
22
0
28
-43
0
0
-16
-15
1
11
-13
-2
0
7
17
0
-38
55
0
0
0
24
0
0
10
2
0
0
7
0
-13
3
0
0
0
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
7
11
-5
50
15
-7
13
15
27
37
-24
13
0
6
-21
0
37
-13
9
-8
15
7
21
53
9
-28
-2
23
44
-4
-15
19
-11
-2
2
-23
5
8
40
-2
-4
-19
-18
-36
28
-20
-15
5
-38
-43
11
1
11
-27
0
-3
-44
14
23
2
-31
8
23
19
14
-85
-21
15
-27
-14
-12
22
46
3
21
-2
-57
5
12
18
14
48
0
17
-22
40
-7
-7
-12
4
5
-27
21
23
64
24
-8
-48
22
-27
9
47
16
3
-21
12
-13
-30
21
-4
-10
-14
-1
14
88
8
-6
0
-1
7
17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-5
0
0
6
0
39
-15
0
15
-3
6
4
-69
-1
0
0
3
-2
0
14
2
0
11
-5
-33
-8
-19
2
-1
0
-2
0
-11
-26
49
-1
-5
4
-16
3
27
27
0
26
-11
0
16
1
25
0
-7
19
-11
-20
0
-14
0
0
0
0
4
-10
28
16
0
-3
-4
0
4
10
0
-38
-37
2
0
10
-9
0
-1
9
34
0
55
-31
0
58
-4
0
0
3
-42
0
4
10
-4
0
1
-2
-2
63
-11
-2
6
0
12
0
1
37
-20
6
0
-10
0
-15
2
0
-5
0
-9
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
31
-16
0
0
0
0
-17
-12
4
0
3
16
-2
-40
-16
0
0
-18
0
4
46
-28
0
0
-5
26
-2
-10
-5
-2
0
35
0
4
10
26
0
0
18
-32
2
7
-4
0
0
-1
0
2
0
5
0
4
4
-6
15
0
-30
-2
0
0
0
0
1
-13
-6
-10
1
0
0
2
-40
-8
8
-10
0
0
-15
-18
0
-9
37
0
0
12
-75
-4
11
13
0
3
-22
-51
0
-10
-3
-3
0
0
-18
0
6
-2
-1
0
1
43
0
0
-4
-4
2
0
-30
0
-7
-1
0
-11
0
-28
-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
-11
0
0
0
0
0
0
9
0
0
0
0
0
0
-19
0
0
0
0
0
0
-23
0
0
12
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
32
0
-6
-3
0
0
0
0
0
0
0
0
0
0
-3
0
9
-2
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
10
-17
0
0
12
0
2
-3
7
0
2
-4
0
-1
38
-3
0
-6
22
0
0
3
11
0
0
-23
0
-4
-3
-11
0
0
-1
1
-1
0
-42
0
0
4
0
-50
0
10
0
2
0
0
3
0
-21
1
0
0
0
0
0
38
8
0
0
0
0
0
38
0
1
13
0
0
4
0
0
0
4
0
0
-2
-2
0
3
1
0
0
0
14
0
-2
-1
0
0
0
51
0
41
6
0
0
0
51
0
0
-6
0
0
0
-35
0
-2
0
0
2
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
12
0
0
-2
0
0
-8
25
0
0
2
0
0
27
11
0
-1
24
0
0
0
-48
0
0
-4
0
0
0
2
0
0
0
0
0
0
67
0
0
0
0
0
0
18
0
0
0
3
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
-1
0
0
0
-4
0
0
0
0
0
0
33
0
-2
-1
0
0
0
6
0
0
-1
0
0
0
0
0
0
1
0
0
0
27
0
0
0
0
0
0
0
0
-3
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
4
57
0
0
-2
0
0
0
-17
0
0
21
0
0
0
5
0
0
3
0
0
0
23
0
0
-2
0
0
0
17
0
0
4
0
0
0
-1
0
0
0
0
0
0
-9
0
0
0
0
0
0
-41
0
-3
10
0
0
0
-15
0
-2
0
0
0
0
-18
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
1
0
0
0
0
0
0
-31
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
-16
22
62
-9
29
19
6
-26
7
13
46
16
6
18
48
3
-36
26
16
-3
-1
11
34
-2
27
-21
6
-72
4
-9
12
15
9
7
7
11
-35
57
11
-29
3
-28
51
4
32
7
3
0
5
10
-27
-19
-15
-4
0
3
-10
-33
-30
0
-28
-14
16
5
3
22
7
13
12
41
35
8
-3
11
30
-2
18
8
42
-8
-30
24
-21
-7
6
-14
32
-19
16
-4
11
-12
17
1
2
6
15
-5
-5
21
25
2
6
5
28
15
-33
15
37
2
10
-9
-27
-27
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
7
0
3
13
23
1
0
64
-4
0
15
22
3
0
7
-24
10
-7
10
13
0
-44
-5
0
0
6
0
7
-7
-13
4
10
49
32
0
-1
7
0
0
2
0
86
0
-7
0
3
-1
-1
20
0
-9
0
0
0
0
1
0
6
-4
16
11
0
0
18
18
1
-31
18
0
0
12
25
0
-13
-5
-7
0
-1
6
1
21
-27
-7
6
9
10
-4
-7
-5
15
0
-3
-2
0
-18
7
-1
-3
-1
12
0
-3
1
17
-7
0
29
0
11
0
0
0
0
-2
6
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
59
0
0
0
69
0
0
1
0
0
0
58
0
-3
2
0
0
0
-11
0
0
27
0
0
0
-32
0
0
0
0
0
0
-47
0
0
0
0
4
0
20
0
0
0
0
-16
0
-49
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
3
0
0
0
0
-10
0
0
0
0
0
0
-3
0
1
1
0
0
0
-2
0
0
0
0
0
0
-21
0
0
0
0
0
0
7
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
14
0
-1
-8
1
0
-2
24
0
3
2
0
0
15
40
0
0
13
-1
0
0
-7
0
0
-3
0
0
0
67
0
0
-3
0
0
0
-41
0
0
0
0
-11
0
11
1
0
3
0
0
0
48
0
0
0
0
0
0
-34
17
0
0
0
0
0
25
0
3
0
0
0
0
-5
0
0
0
-3
0
0
23
0
1
0
0
0
0
26
0
0
0
0
0
0
38
0
0
0
0
0
0
15
0
-4
0
0
0
0
-31
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
-6
0
0
0
0
0
0
56
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-20
0
0
4
0
0
0
-11
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
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
4
0
0
0
21
0
0
0
0
0
0
3
0
7
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-52
-7
13
58
24
0
0
3
-26
0
-24
-6
3
3
24
6
-6
1
-5
0
13
44
-11
8
1
-12
0
0
25
0
1
0
36
3
0
-3
28
-9
0
-7
12
-1
0
0
2
0
-26
0
3
-2
0
0
0
18
0
-25
36
-1
0
6
-15
0
-5
73
-11
4
8
-17
-1
-8
67
-1
0
-4
22
0
-7
65
-14
0
-6
10
0
-22
14
2
4
-6
-22
0
0
2
14
0
0
7
0
-10
0
0
2
0
-15
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-11
-2
-14
88
18
5
17
-1
24
3
18
28
10
37
-62
25
3
-16
-15
-3
91
-12
-12
18
-6
-16
-3
6
91
15
25
-8
16
-4
4
-13
-19
-11
-5
-5
0
24
-27
-25
-12
17
-39
18
34
-49
-35
-30
-5
-56
0
-25
-33
1
-24
-18
23
-3
-40
-4
-29
-40
7
26
0
-39
21
12
-3
0
16
-7
-10
-25
-18
-21
-2
27
1
-6
-25
21
-28
-18
-22
1
48
18
-33
3
15
5
1
-23
-34
-15
-20
1
-44
8
-52
-26
-42
23
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-13
0
0
6
-13
0
1
-11
12
0
-2
-36
0
-4
33
1
0
0
-55
0
0
0
0
0
0
71
0
0
0
0
0
0
23
0
0
0
0
0
0
29
0
-1
0
0
0
0
-42
6
-4
0
0
0
-1
-26
0
1
0
0
0
0
63
0
0
11
0
0
0
43
0
-11
6
0
0
0
5
0
0
0
0
0
0
-60
0
0
0
0
0
0
8
0
0
0
-3
0
0
-6
0
6
0
0
0
0
-32
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
27
0
0
42
0
3
14
25
0
0
46
-4
18
-13
30
0
9
27
0
8
-9
-24
0
0
5
35
-9
1
28
0
0
0
0
-9
0
6
2
0
0
-12
-4
0
-14
0
0
0
0
0
0
32
5
0
-9
0
0
4
28
0
12
6
0
0
1
-10
0
0
14
-4
0
18
17
-1
2
-1
0
-1
-7
-2
0
0
0
-1
0
0
0
10
0
-8
0
0
0
24
0
1
0
-1
0
0
16
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
10
13
23
-55
9
7
5
-10
13
18
0
-22
-5
-5
-20
23
-23
-16
10
21
-37
-32
0
61
39
5
14
-7
56
1
0
-3
18
-7
41
0
-3
0
12
-15
-28
-12
49
4
-22
1
0
2
7
-1
-18
9
-2
-9
0
0
10
18
30
-12
95
0
2
49
-63
2
22
42
3
11
38
-2
6
-33
62
5
-24
7
-7
10
-5
20
-17
73
4
25
0
-15
16
21
12
22
-19
0
-14
-48
6
28
-2
19
-7
3
11
0
43
7
30
3
-2
-2
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
28
2
0
25
0
0
48
-43
0
0
-28
-1
0
-31
21
0
3
0
0
-1
-4
-7
0
0
43
0
0
-8
9
0
0
-21
0
0
0
25
0
0
8
-4
14
0
35
0
0
0
0
0
0
-9
10
1
0
0
0
12
4
0
30
-19
0
0
17
10
0
0
-26
0
0
9
2
0
-3
-12
0
0
3
12
0
4
-31
1
0
0
-1
0
51
0
0
0
0
-18
0
0
0
0
0
0
16
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
-4
60
0
0
2
0
0
0
29
0
2
0
-1
0
0
41
0
0
0
0
0
0
-8
0
0
0
0
0
0
-24
0
0
0
0
0
0
14
0
0
0
0
0
0
47
0
0
0
0
0
0
15
0
0
0
0
0
0
-34
0
10
0
0
0
0
61
0
0
1
0
0
0
30
0
0
0
0
0
-2
-5
0
0
0
0
0
0
17
0
0
0
0
0
0
50
0
0
0
0
0
0
-10
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
139
19
-13
-38
23
68
10
-64
-2
-1
0
1
10
-7
0
-17
-4
-10
61
-6
19
-18
-13
0
-3
-53
0
21
0
-14
0
-3
-20
6
-40
0
0
-16
-7
0
0
-3
-1
4
-41
-1
-27
7
0
-4
-22
7
-10
14
-1
0
4
-8
0
98
41
-3
0
0
16
26
30
-30
11
-1
-3
-9
-1
22
-37
23
3
0
-3
0
21
-39
0
0
0
19
-3
-9
20
32
0
0
20
3
11
-12
0
-11
0
31
30
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-62
-22
-37
21
28
-6
-13
38
-49
3
22
-20
-12
-2
45
-7
11
10
-19
4
3
-44
-26
-2
-1
-2
31
-5
31
2
31
10
11
-21
5
34
-22
33
0
-18
-20
23
-38
75
-2
-34
0
19
21
8
9
-11
-47
-16
-44
0
-13
-33
-41
-11
-18
-50
-16
1
3
-60
0
-24
-38
-5
52
17
-33
-32
-7
-38
14
-38
1
19
39
94
-7
11
22
-9
10
7
0
6
1
-16
4
-43
37
16
-15
9
-7
29
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
35
-2
0
0
28
0
0
0
0
0
0
44
0
-2
-1
0
0
0
29
0
0
0
0
0
0
-18
0
0
-3
0
0
0
-62
0
0
0
0
0
0
36
-1
0
0
0
0
0
83
0
0
-7
0
0
0
-60
0
0
-2
-1
0
0
16
0
-4
0
0
0
0
-45
0
1
-1
0
0
0
-28
0
-3
0
0
0
0
-7
0
0
0
0
0
0
-10
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-75
0
0
26
-39
0
-6
23
0
0
0
-7
0
0
2
-2
0
0
-3
0
4
-1
0
0
0
28
-1
0
0
0
2
0
17
0
0
0
0
0
0
-45
12
0
0
0
0
-2
-17
0
-2
-2
0
0
0
-11
-1
1
17
-1
0
0
32
0
0
22
1
0
-6
29
0
-1
0
0
0
0
-44
0
3
22
0
0
0
97
0
0
1
0
0
0
42
0
-9
0
0
0
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
3
-23
-5
35
-4
6
-6
17
-1
25
16
-9
1
-10
8
-19
-7
-35
7
0
3
42
7
-24
-6
-1
6
-8
12
38
3
-1
6
-12
9
0
6
-8
-1
-10
55
2
-2
3
0
-3
-9
4
-41
45
0
-17
-3
-15
-17
25
3
-17
-1
-23
10
6
16
30
0
11
27
-11
0
13
50
-1
11
36
13
1
32
12
23
2
-21
5
9
-24
0
14
-11
0
18
0
7
31
0
-45
0
8
-9
-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
-1
35
0
0
0
0
0
0
2
0
-6
6
0
0
0
28
0
0
0
0
0
0
-29
0
-6
0
0
0
0
-3
0
0
3
0
4
0
13
0
0
0
0
0
0
-2
-3
0
0
0
0
0
23
0
0
3
0
0
0
40
0
0
-16
0
0
1
-47
0
1
0
0
0
0
-6
0
0
0
0
0
0
0
0
10
0
0
0
0
-5
0
0
0
0
0
0
34
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
15
0
0
25
3
0
0
25
0
0
11
0
0
3
-17
0
0
10
0
0
2
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
23
0
0
0
0
0
0
-16
0
0
0
0
0
0
29
0
0
0
0
0
10
-5
0
0
0
0
0
0
56
0
3
0
0
0
1
52
0
0
1
-3
0
0
-14
0
1
6
0
0
-3
-4
0
0
0
0
0
0
21
0
-6
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
11
7
0
-9
-22
-1
-34
-2
0
4
31
63
-6
3
6
0
-2
32
7
-37
0
-19
0
28
0
-18
2
0
6
25
16
-2
0
-18
0
-7
66
0
23
-1
3
-5
7
27
36
14
0
0
2
23
14
53
18
16
-12
9
-3
0
76
-28
6
0
0
49
12
4
32
-10
0
0
25
-2
24
10
23
0
-1
-17
1
7
-42
20
-2
0
17
0
-17
-32
0
30
7
52
-7
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
10
-39
-19
-2
-23
31
1
-1
-48
25
-6
-24
19
69
3
10
-4
17
26
36
1
8
-35
-21
-4
-1
7
0
5
4
-4
-10
-11
-36
-7
13
-10
59
-2
-32
-4
20
3
-37
-29
-24
3
6
34
19
-2
0
22
-83
84
-52
0
9
-2
-33
17
-35
-14
6
-22
12
23
5
-43
5
-8
-12
10
-25
-8
-37
50
13
-8
-21
19
-5
11
15
11
-38
5
-2
11
-43
2
11
-17
-58
19
-78
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
50
0
0
-2
0
0
0
-2
0
0
0
0
0
0
-12
0
0
0
0
0
0
32
0
0
0
0
0
0
16
-1
0
1
0
0
0
9
0
-1
-5
0
0
0
39
0
0
-1
0
0
0
24
0
1
-1
0
0
0
7
0
0
0
0
0
0
-10
0
-1
0
0
0
0
76
0
0
0
0
0
0
-5
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-18
0
0
9
-19
0
0
35
2
-3
0
-20
0
1
-9
0
-1
0
13
0
-2
-1
-1
-4
0
29
0
0
0
0
1
0
13
-3
0
0
0
0
0
-3
4
38
0
0
-1
0
-19
-3
0
12
6
-2
-4
16
-1
6
4
2
12
0
-41
8
-4
7
-4
-4
-1
45
0
10
41
2
0
0
-23
0
-1
-1
0
0
0
35
0
-6
0
3
0
0
27
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
-28
3
28
-4
-1
2
-9
8
30
-2
65
38
11
1
0
25
-1
24
22
-1
9
19
34
4
0
0
7
24
-1
1
0
5
1
-15
-37
0
2
7
3
25
41
-32
2
28
1
-2
13
-18
-21
11
45
72
-8
55
18
0
48
6
-7
1
2
29
10
38
-48
29
4
-5
-3
10
20
-6
0
-6
22
-8
-8
26
37
-24
33
19
0
0
7
-4
-4
8
0
45
32
-2
8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-45
0
-6
-36
-13
22
1
-16
0
1
34
13
7
23
-22
0
0
27
0
-64
0
9
0
-13
-3
0
-3
0
27
-2
0
0
0
0
0
-18
24
0
-4
0
0
-11
-19
0
36
-8
0
0
3
-36
0
3
-50
6
0
16
11
0
16
-83
0
0
24
8
0
-4
41
0
0
0
21
0
32
8
0
0
0
37
0
6
11
0
0
0
-11
0
28
0
0
7
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
-3
0
0
-3
14
0
0
-1
-2
0
7
8
0
12
0
0
0
0
17
0
0
0
0
0
0
40
0
0
0
0
0
0
-38
0
0
0
0
0
0
-23
0
18
-13
0
0
0
26
0
0
2
-1
0
-11
41
0
-19
6
0
0
0
-29
0
0
1
11
0
0
-8
0
0
-10
0
0
0
0
0
0
0
16
0
0
15
0
1
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
-2
10
0
-14
27
-2
-1
-1
-22
0
0
1
0
35
0
27
0
-5
-7
4
8
0
3
1
0
0
0
-14
0
0
1
-3
-1
0
0
14
-9
0
-26
-16
0
0
2
-19
0
-3
11
6
0
18
-18
0
31
29
0
0
0
11
0
-27
18
-20
15
0
-2
0
-15
-8
0
0
0
-24
0
0
36
16
0
0
4
0
-27
-1
3
5
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
-23
-11
-17
-9
-21
-27
-42
-9
4
-32
10
15
-10
-20
19
0
18
-24
21
0
-29
-8
9
-4
-12
-10
-10
6
22
-10
9
36
58
-29
-51
0
3
9
10
0
-49
72
-19
5
0
5
-23
5
0
43
-1
-18
-14
27
36
99
-43
0
8
13
25
28
-12
28
3
17
5
-4
-66
13
28
4
-29
-37
14
8
21
6
4
-13
14
24
11
17
9
12
3
48
24
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
38
0
0
8
0
0
0
25
0
0
0
0
0
0
15
0
0
0
0
0
0
47
0
0
0
0
0
0
-6
0
0
0
0
0
0
38
0
-3
-3
0
0
0
-8
0
0
-6
0
0
0
19
0
-1
12
0
0
0
12
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
2
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
13
3
0
0
-3
0
0
0
0
-18
0
21
0
0
1
0
-3
0
22
0
0
0
0
0
0
-4
-4
0
0
0
0
4
-34
0
11
2
0
0
-1
-8
0
0
0
-1
0
6
30
0
-6
4
0
0
-7
14
0
0
0
0
0
0
-4
0
7
1
-6
0
0
12
0
1
-6
0
1
0
25
0
-18
0
0
9
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
6
11
1
-43
37
11
-14
-25
5
1
0
2
-8
-34
0
7
2
9
-7
19
22
3
-2
-27
0
0
6
7
-19
-3
-3
-2
33
-1
0
17
2
23
-36
25
0
-2
-35
-16
29
-12
37
10
0
51
5
0
17
-4
7
0
-12
15
1
49
-7
71
0
2
34
-3
-14
-18
0
-9
-19
13
-1
-34
-2
-17
4
1
5
0
-26
0
1
9
0
-17
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
15
0
0
1
0
0
0
6
0
2
-2
0
-8
0
13
0
0
0
0
0
0
12
0
0
-2
0
0
0
23
2
9
0
0
0
0
64
0
0
0
0
0
-1
19
-3
-1
-2
0
0
-4
42
0
0
0
6
0
0
11
0
-17
-1
0
0
0
36
0
-8
0
0
0
0
-32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
2
0
-6
8
0
0
0
0
0
0
-7
0
0
0
-4
0
0
14
0
0
0
0
0
0
2
0
0
0
0
0
0
15
0
1
-6
0
0
-7
12
0
-10
-1
4
0
0
-30
0
1
-16
0
0
0
16
0
-1
22
0
0
0
-3
0
-18
-1
0
0
0
-23
0
0
0
6
0
0
-14
0
0
3
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-9
6
0
0
19
0
0
-1
-3
36
0
-15
-8
0
0
0
0
0
22
1
0
0
0
0
0
-8
0
-14
-14
3
0
0
36
0
0
12
0
0
0
-11
0
14
4
0
0
6
16
0
-7
-18
-7
0
0
26
0
-4
7
0
0
0
-51
0
0
0
-2
0
0
46
0
-4
-6
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
27
5
25
-15
-4
49
-14
40
42
-29
5
-1
-16
-7
-4
-8
-57
-25
-14
-4
-35
19
14
-1
38
12
-26
2
15
-6
21
32
12
21
-14
-7
21
-9
43
6
24
37
41
-10
37
0
-17
26
71
28
-14
-27
54
0
27
3
53
54
0
-30
-3
-7
18
-4
55
-3
-21
15
-4
-72
38
12
-22
-2
24
-27
47
30
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
8
0
0
0
0
0
0
-41
0
0
0
0
-4
0
1
0
0
0
0
0
0
-5
-1
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
-4
0
0
0
0
12
0
0
0
0
0
0
21
0
0
-3
0
0
0
12
0
-1
0
0
0
0
-2
0
0
0
0
0
0
8
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
4
0
4
0
46
2
0
0
0
0
0
-1
0
0
1
0
0
0
-14
0
-9
-1
4
0
-1
46
0
0
-3
-4
0
3
-15
0
2
7
0
0
0
-6
0
0
4
-7
3
0
14
0
-1
-2
8
0
1
36
0
0
3
0
0
0
-17
0
19
0
0
0
0
38
-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
27
13
0
2
1
22
31
2
16
0
-3
0
-3
44
0
14
0
0
0
1
2
0
-14
-16
-3
1
-1
0
-10
-50
-1
36
24
0
0
-26
53
0
24
-8
-24
0
58
-21
-3
-28
60
0
1
-17
7
7
22
-4
5
0
-4
-6
-3
-17
20
-2
0
1
43
0
-10
65
4
-4
0
14
0
-36
1
1
11
0
15
-34
-19
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
6
0
0
-1
0
14
-6
39
2
-4
26
0
41
0
-3
3
4
0
0
-2
0
41
0
0
-5
0
0
5
33
-1
24
32
0
0
-8
27
0
3
-5
0
-1
51
-20
0
20
29
0
0
28
-7
0
1
10
1
0
-14
30
0
69
75
0
0
2
44
0
0
32
0
-12
0
-4
0
-17
4
0
49
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
-22
33
0
0
-9
0
0
0
11
0
0
-4
7
0
0
-7
0
0
0
0
0
0
-14
0
0
0
0
0
0
38
0
-6
2
0
0
-1
63
0
0
-12
0
0
13
13
0
-21
7
0
0
7
-5
0
1
-7
0
0
4
49
0
-16
7
0
0
0
-7
0
2
0
0
0
0
2
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
31
0
0
0
1
-11
0
23
7
0
0
0
0
0
-17
0
0
0
0
0
1
29
0
13
-4
0
0
2
12
0
0
24
-8
0
0
-5
0
0
-13
0
0
0
5
0
0
-12
6
0
0
-60
0
33
0
0
0
0
48
0
-8
-3
7
0
0
14
0
-36
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
13
-19
-20
-63
-9
11
15
-1
8
38
-5
1
-8
-16
-16
11
22
-65
-3
-30
39
25
-12
-68
-21
13
-51
-2
-11
-5
48
-22
6
-14
6
32
14
59
-8
-6
33
45
-2
10
32
16
-18
2
-38
50
-10
-36
3
22
21
-33
52
0
-9
1
76
-4
7
2
-2
24
-5
42
0
40
0
7
15
-36
26
-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
-2
0
0
0
0
0
0
39
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
7
0
0
18
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
1
0
0
8
0
0
0
0
0
0
15
0
0
1
0
0
0
-55
0
0
13
-1
0
0
17
0
0
-4
-1
0
0
-70
0
-3
0
0
0
0
16
0
-3
0
0
0
0
10
0
-9
29
0
0
0
-37
0
0
0
0
2
0
23
0
2
0
0
1
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
10
0
-12
17
-1
0
4
0
0
-43
-4
0
9
1
0
-6
-12
0
8
-10
0
0
-1
-11
0
5
11
12
0
12
18
0
-13
0
0
0
14
44
-1
7
-18
2
0
6
22
0
65
6
0
0
0
20
0
1
0
-8
0
0
1
-1
-6
0
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
48
-1
0
0
0
0
0
-21
0
0
0
0
0
0
8
0
0
0
0
0
0
-5
0
0
0
0
0
0
-5
0
1
0
0
0
-10
6
0
0
4
0
0
0
-8
0
0
0
0
0
3
113
0
0
0
0
0
0
-20
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
-23
0
0
0
0
0
0
23
0
0
2
0
0
-4
26
0
14
8
0
0
-6
0
0
0
-16
0
0
0
2
0
21
-11
0
0
0
18
0
0
0
0
0
11
20
0
4
10
0
0
0
1
0
0
43
11
0
0
1
0
-4
0
0
0
0
-52
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
0
0
0
0
0
0
-59
0
0
0
0
0
0
-10
0
0
-1
0
0
0
-42
0
0
0
0
0
0
18
0
0
0
0
0
0
-18
0
0
0
0
0
0
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-11
0
20
-25
-4
-6
0
5
18
-5
39
-2
8
34
-13
-7
12
13
1
-9
31
-3
34
-11
23
95
9
70
8
-16
14
-40
-31
-22
-19
-3
-6
-67
-11
3
15
-30
-11
-23
-14
-46
-29
35
-10
-20
13
56
4
28
-8
-1
0
6
-14
14
0
-2
0
2
-8
-1
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
22
0
0
0
0
0
0
6
2
0
0
0
0
0
-2
0
0
-1
0
0
0
-13
0
0
0
0
0
0
-2
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
5
-11
0
0
0
0
0
-8
0
10
15
0
0
3
36
0
0
0
0
0
0
-8
0
11
0
0
0
0
38
0
0
5
2
0
0
24
0
0
0
0
0
0
0
0
0
0
0
1
0
21
0
-4
-2
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
-19
0
0
0
0
0
0
-6
2
0
-7
0
0
48
10
0
1
-5
0
0
-1
32
0
1
9
-2
0
0
-2
0
0
0
-5
0
0
-11
-1
14
0
0
0
-6
65
0
1
0
0
0
0
-18
0
12
0
0
0
0
42
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
58
2
0
0
0
0
-6
-17
0
-3
44
0
0
3
-27
0
0
-5
0
0
-12
4
0
-10
0
0
0
-8
10
-4
2
2
0
0
2
-16
2
55
6
0
-10
0
59
0
2
-1
-1
0
0
-6
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
0
0
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
27
0
0
-6
0
0
33
36
0
4
0
0
15
-3
0
-24
-7
-3
0
-11
14
0
-2
25
5
0
-51
8
0
-13
-1
0
0
63
-34
0
-3
-2
16
0
1
22
0
-13
-26
0
0
3
-26
0
0
11
6
0
0
-4
0
-11
10
0
0
0
15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
-1
0
0
-2
0
0
0
22
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
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
67
-8
-14
40
1
-28
7
-13
-16
82
26
19
-58
19
2
10
-23
15
5
3
-24
13
11
-7
-21
25
10
1
-12
3
2
-20
20
22
43
10
-16
2
33
-36
-58
-1
20
6
-4
69
-23
-9
2
25
-2
0
8
0
11
0
4
0
-5
-60
-13
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
0
-24
4
0
0
-1
33
0
0
-2
0
0
0
-14
0
3
4
0
0
1
-45
0
0
0
0
0
0
42
0
4
0
0
0
2
-44
0
0
5
0
0
0
3
0
2
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
0
4
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
26
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
16
0
0
0
0
0
0
40
0
0
8
0
0
0
-14
0
0
10
0
0
0
-3
0
0
10
0
0
0
20
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
0
0
0
0
0
-58
0
-12
0
0
0
0
28
0
0
-8
0
0
0
-28
0
13
0
0
0
0
0
0
0
2
0
0
0
-46
0
26
0
0
0
0
1
0
0
3
-1
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
5
0
0
8
0
0
0
3
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
0
-16
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
30
0
0
-4
9
15
8
38
52
9
9
-1
-7
0
6
5
45
44
51
-17
0
-2
-42
48
-19
-20
-5
-26
8
23
-4
-15
17
27
0
3
31
29
9
-16
-1
0
45
0
-1
10
0
4
28
6
4
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
3
9
20
0
0
-10
-7
-11
24
-13
0
0
33
19
7
-48
-8
0
-1
0
-26
4
0
-14
3
0
4
-24
0
-24
0
0
0
0
28
0
0
6
8
-7
0
14
0
6
0
0
0
0
52
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
9
3
0
0
-11
0
0
0
-23
0
13
1
0
0
0
-2
0
0
0
0
0
0
6
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
3
-3
0
-7
0
-1
0
0
-47
0
0
-4
0
0
0
-24
0
3
-13
0
0
0
17
-1
0
0
-1
0
0
30
0
-1
0
0
0
0
-38
0
38
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
20
0
0
4
0
0
0
-14
0
0
0
0
0
0
39
0
-4
0
0
0
0
-4
0
0
0
0
0
0
30
0
0
0
0
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
27
0
1
-25
8
0
-2
-2
0
-46
-4
0
0
-1
-23
0
0
-33
0
3
4
54
0
34
-4
0
0
0
13
0
2
0
2
0
0
36
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
17
30
71
15
-14
-37
42
-10
8
33
53
-8
30
-59
4
14
-34
-1
-37
9
42
-11
2
-46
25
49
4
-4
-28
0
-16
-110
13
4
-2
-4
1
11
-10
-9
26
29
-2
30
-19
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
0
0
0
0
0
0
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
-4
0
0
0
-13
0
0
4
0
0
0
-32
0
0
1
0
0
0
8
0
1
0
0
0
0
41
0
0
0
0
0
0
-3
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
33
-6
-3
-4
-19
15
0
71
-2
1
4
28
-3
0
6
-9
4
-5
13
-16
2
37
12
0
8
36
-4
0
-2
-17
0
1
41
-34
3
0
-1
0
52
-6
3
-8
0
-22
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
7
24
-2
-6
-26
-2
-16
-13
8
0
-14
3
0
2
-3
-55
1
-11
16
24
-12
7
-25
0
7
40
2
-1
3
-27
0
1
9
2
3
0
29
0
-22
1
0
-3
0
39
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
11
0
0
-3
0
0
0
25
0
0
3
0
0
0
-6
0
0
0
0
0
0
21
0
0
0
0
0
0
-30
0
4
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-6
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
39
0
23
32
0
0
0
-9
0
-4
-66
-1
0
0
-63
0
20
1
0
0
0
-26
0
0
-4
-3
0
0
28
0
-7
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
-3
-18
4
71
28
11
12
-15
14
-15
31
76
-14
-1
-20
19
9
-25
1
0
3
-13
11
34
-50
-1
14
0
24
0
-4
46
23
-23
41
3
12
56
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
11
0
-8
-8
0
0
0
0
0
2
0
0
0
0
-6
0
0
0
0
0
0
41
0
0
0
0
0
0
29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
22
-5
0
0
0
2
0
0
1
-17
0
0
37
0
4
0
0
0
0
1
0
0
4
1
0
0
-23
0
3
0
0
-7
0
60
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-32
-3
7
0
14
0
10
51
-5
-7
25
6
0
6
32
0
0
-6
21
0
2
13
-4
-10
0
13
0
1
12
0
0
0
9
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
-9
-41
0
6
12
0
0
1
28
0
0
-2
0
0
0
34
0
19
-6
0
0
-3
12
0
-1
0
0
0
0
-24
0
-3
0
0
0
0
93
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
-10
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
16
6
-2
0
-35
0
34
-1
0
0
0
-37
0
0
-1
9
0
0
28
0
27
0
0
1
0
-9
6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-54
35
18
-11
30
-74
8
-3
20
18
30
39
-15
0
-8
23
39
20
7
17
-7
30
22
-29
-14
51
-1
-6
19
5
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
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
64
0
-2
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-35
0
-3
20
-3
0
-14
-13
0
27
25
-3
0
0
-3
0
0
33
22
0
0
7
0
-18
0
13
17
6
-7
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
43
0
-2
-10
-32
0
0
23
0
4
-6
2
0
2
-6
0
7
-1
3
0
7
6
0
-7
0
0
8
0
34
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
3
0
0
0
-21
0
5
0
0
0
0
49
0
0
0
0
0
0
-10
0
-5
0
0
0
0
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
4
0
0
-29
0
-11
0
0
0
0
14
0
-1
0
0
0
0
-45
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-43
14
0
1
0
25
0
0
0
6
0
0
21
0
-15
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
12
70
8
-6
0
-6
27
-15
4
-6
45
-7
19
-1
-11
-21
0
-3
7
12
-16
-21
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
8
0
0
-4
0
0
0
2
0
3
0
0
0
0
27
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
44
0
19
13
0
0
-3
-30
0
0
1
0
0
0
-20
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
18
0
-4
-1
-2
5
0
0
0
-19
0
0
6
0
-9
9
0
32
0
76
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
-6
-20
0
0
0
18
0
3
-9
0
0
0
-33
0
-7
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
5
0
-3
8
0
0
0
27
0
0
0
0
0
0
17
0
-4
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-67
0
19
1
0
-1
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
50
-3
24
-15
-16
0
-7
-6
29
1
3
-1
9
8
-23
-2
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
20
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
2
63
-3
13
0
-51
10
26
0
0
4
-1
42
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
16
0
0
7
40
-2
0
-24
0
9
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-2
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
15
0
13
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
5
-2
-26
6
8
4
-3
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-25
0
0
-2
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
-43
0
30
0
0
0
0
-51
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-4
-5
-25
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
11
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
3
0
8
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
20
0
0
0
0
0
0
-2
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
20
0
0
0
-2
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
17
24
0
0
-28
0
0
0
26
0
0
-11
0
0
-3
-13
0
0
0
0
0
0
5
0
-37
0
0
0
0
-12
0
0
0
0
-3
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
2
0
0
0
-5
0
0
12
0
0
0
-15
0
0
15
0
0
0
30
0
0
0
0
0
0
5
0
0
0
0
0
0
-10
0
0
0
0
0
0
17
0
0
0
-2
0
0
-93
0
0
0
0
0
0
0
6
0
0
0
0
0
-2
0
4
-10
0
0
0
26
0
0
3
0
0
0
50
0
0
0
0
0
0
11
0
0
1
0
0
0
-7
0
0
0
0
0
0
4
0
0
0
0
0
0
-50
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
-18
-33
-28
2
-9
-14
-4
-17
-22
56
18
2
-17
26
4
-19
19
-2
-5
3
10
6
-11
-26
65
-22
-15
1
9
-24
6
24
-5
-22
19
7
-2
-18
-76
9
2
-28
17
-27
22
-10
23
2
6
0
57
-10
-19
17
20
39
33
-22
25
14
12
-17
12
-1
-1
33
37
-7
0
21
4
-14
12
33
11
0
-19
6
22
-11
-31
10
33
-20
1
-3
42
-19
1
12
5
4
-18
74
32
-9
27
2
-25
6
13
13
26
-14
2
1
-5
13
-27
20
4
10
-20
37
-32
-29
-14
31
-7
-15
-11
10
-6
31
-6
5
-1
-6
-64
3
33
-11
-39
0
0
0
0
0
0
0
12
13
-3
-21
36
23
-33
-15
-6
-18
5
6
3
-16
-19
10
8
-16
-10
23
19
-28
-3
-7
-5
3
14
-20
23
-10
43
-28
23
-21
-35
-14
5
-19
3
-9
-7
35
-13
7
-13
-29
15
39
29
15
6
6
26
-13
0
21
-7
-1
9
24
13
26
-19
20
11
14
4
1
-8
18
1
3
-15
6
16
-35
-11
27
0
-18
53
3
3
-4
-17
6
-5
49
20
20
12
29
2
69
40
-4
-16
6
27
1
-10
-11
24
-22
-12
-35
15
-8
-36
2
-31
-17
-12
17
29
5
-35
-17
31
8
-7
-4
-21
24
-20
32
2
7
-25
15
-19
17
35
36
-10
-15
-20
5
-27
5
-15
5
-22
14
-19
17
66
20
-19
42
21
29
23
-3
-16
5
-6
-3
-2
12
-9
-28
-14
-60
-23
13
-5
-49
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
6
0
0
1
0
0
0
4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
-10
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
3
0
0
3
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-6
0
0
0
0
0
27
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
-10
-9
0
0
2
0
0
0
4
0
0
0
0
0
0
22
0
0
-7
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
-18
0
0
0
0
0
0
3
0
0
1
0
0
0
43
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
2
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
13
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
1
0
0
0
0
0
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
4
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
28
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-11
0
0
-11
0
0
0
-7
0
0
-6
0
0
0
-3
0
0
63
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
-8
0
0
0
0
0
3
-12
0
0
0
0
0
-50
0
0
8
0
0
0
0
0
0
0
0
0
67
-12
0
0
-5
0
0
-15
-17
0
0
6
0
0
-14
3
0
0
20
0
0
0
5
0
-41
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
12
0
0
0
0
0
0
21
0
0
-3
0
0
0
52
0
0
-6
0
0
-2
-13
0
0
7
0
0
0
-14
0
0
-10
0
0
0
28
0
0
-8
0
0
0
-3
0
0
0
0
0
0
-17
0
0
0
0
0
0
10
11
0
0
0
0
0
-12
0
9
0
0
0
0
4
0
0
3
0
0
0
9
0
-2
0
0
0
0
57
0
1
0
0
0
0
18
0
0
0
0
0
0
44
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-1
-1
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
0
0
0
-18
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
4
0
0
4
0
0
0
22
0
0
3
1
0
0
22
-1
0
-42
2
0
0
1
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
12
0
0
0
-3
0
7
1
0
0
0
0
0
67
0
0
-9
0
0
0
0
0
0
0
0
0
-11
25
0
0
5
0
0
0
-3
0
0
1
0
0
0
6
0
0
-2
0
0
0
40
0
0
-9
0
0
0
24
0
0
0
0
0
0
-9
0
0
0
0
0
0
20
0
0
2
0
0
0
-2
0
0
-16
0
0
0
-8
0
3
30
0
0
24
-8
0
0
6
0
0
0
46
0
0
-10
0
0
1
26
0
0
12
0
0
0
32
0
0
0
0
0
0
-43
0
0
-4
0
0
0
34
0
0
0
0
0
0
1
2
0
0
0
0
0
-2
0
21
0
0
0
0
35
0
0
0
0
0
0
41
0
-1
-9
0
0
0
1
0
-1
4
-8
0
0
-14
0
1
2
1
0
0
17
0
0
0
0
0
0
34
0
-12
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
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
-7
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
2
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
-3
-12
0
0
4
0
0
2
31
0
0
0
0
0
0
-6
0
0
0
0
0
0
13
0
3
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-19
0
0
2
0
0
0
-4
0
0
1
0
0
0
3
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
11
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
22
0
-7
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
-17
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
26
0
0
-1
0
0
-30
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
35
0
0
2
0
0
0
7
0
0
31
0
0
0
2
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
-1
0
0
0
0
0
-6
0
0
0
0
0
13
13
0
0
0
0
0
0
0
0
0
0
0
0
-15
3
0
0
36
0
0
0
-16
0
0
8
0
0
8
0
0
0
0
0
0
0
9
0
15
0
0
0
0
-12
0
0
0
0
-4
0
40
0
0
0
0
0
0
26
8
0
0
0
0
-18
18
0
18
0
0
0
0
50
0
0
0
0
0
0
34
0
0
-7
0
0
0
21
0
0
-16
0
0
0
32
0
0
-4
0
0
0
-25
0
0
-4
0
0
0
-5
0
0
0
0
1
0
13
0
0
0
0
0
0
43
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
20
0
9
0
0
0
0
33
0
0
0
1
0
0
-13
0
0
0
0
0
0
24
0
0
0
0
0
0
-32
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
14
24
24
-2
17
-29
42
25
69
8
-9
74
5
37
-13
9
48
21
18
-5
12
-16
55
25
-13
-18
13
37
-44
41
-23
-11
0
-25
38
-19
-22
51
-2
18
2
11
0
46
-4
1
2
8
-41
22
-1
11
26
16
23
-55
1
39
8
-17
-11
-27
24
-2
-9
9
-31
-9
-4
-7
-14
34
24
42
6
19
5
5
11
60
-27
21
19
-1
-1
5
44
12
-15
-76
-7
-25
-25
10
10
-56
11
20
-54
-9
12
-5
1
-4
-1
-12
16
-23
-5
-30
-50
-10
0
-1
40
20
-37
-14
-2
24
23
48
-34
-4
11
-16
0
0
0
0
0
0
0
-3
19
33
28
-3
40
-5
16
0
11
13
11
-10
-19
11
-6
17
-12
-14
-2
14
14
-10
15
6
-39
11
15
31
8
27
11
8
4
-22
12
14
8
-6
-10
33
29
-14
-4
-20
14
-5
-34
-3
30
-5
-25
23
-9
-14
-37
-3
8
7
-85
-24
-25
12
12
-11
-34
-7
1
19
-47
-6
10
6
-13
-16
-22
23
13
-12
-6
-10
2
3
-5
-8
3
1
-1
15
27
-48
46
5
12
-33
25
30
25
-11
10
-35
43
4
-26
-19
-15
9
20
25
38
-48
-8
-50
-6
40
-60
-23
-21
14
-14
17
24
11
12
-23
41
-17
-26
-8
-29
-7
-3
-19
-19
-11
30
-16
-20
-25
60
50
2
-33
20
-3
-26
-6
-4
-6
40
13
1
29
10
-23
-14
56
9
-6
-6
22
-1
-1
38
-42
72
53
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
3
0
0
0
0
0
-8
0
0
0
0
0
8
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-7
0
0
0
19
0
0
0
-2
0
0
8
1
0
0
3
-2
0
0
0
0
0
3
0
0
0
1
0
0
0
-6
0
-8
0
0
0
-2
0
0
0
0
0
0
-1
0
21
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
-9
0
0
-1
0
0
0
0
0
0
0
0
0
1
-1
0
0
3
0
0
0
17
0
0
2
0
0
0
-4
0
0
0
0
0
0
8
0
3
0
1
0
0
-29
0
0
0
0
0
0
61
0
0
0
0
0
0
9
2
0
0
0
0
3
9
0
0
0
0
0
-1
22
0
0
0
0
0
0
-4
0
-6
6
0
0
1
23
0
0
-9
0
0
0
-22
0
-3
0
10
0
-2
2
0
0
7
0
0
0
-1
0
0
7
0
8
0
18
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
0
-1
0
0
0
0
-20
0
3
0
0
0
0
9
0
-4
8
0
0
0
-2
0
-10
4
0
0
0
3
0
1
0
0
0
0
-21
0
0
0
0
0
0
-23
0
-2
0
-1
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-3
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
-10
0
0
4
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
4
0
-2
0
0
0
0
-6
0
0
0
0
0
0
0
-6
0
0
0
1
-1
0
0
0
0
1
-5
0
0
10
-3
0
0
4
0
-3
6
0
0
0
0
4
0
0
0
0
-2
0
31
0
-2
0
0
0
-3
0
0
0
0
0
-8
0
0
-1
-12
-3
0
27
0
0
0
-11
-7
0
4
-9
0
-3
22
0
0
-6
-12
0
12
8
19
0
0
-10
0
0
11
0
0
-20
2
0
0
0
20
-1
0
0
-13
0
0
0
0
0
-21
17
12
7
0
0
7
9
3
2
-7
-3
0
0
0
0
0
0
0
0
-32
-15
0
36
32
-6
0
-24
-14
0
-1
-2
42
0
36
32
2
0
23
0
0
-8
7
0
-12
-14
48
0
0
-9
0
-3
7
4
0
0
33
46
-18
0
3
0
0
29
24
5
0
11
0
-2
31
4
-15
-9
-6
0
1
-8
0
17
5
0
0
70
9
0
-3
59
-2
0
37
44
0
-13
68
0
0
-26
11
0
-3
28
24
0
0
36
0
0
-3
0
0
9
-21
0
-8
0
11
0
0
30
0
0
0
0
0
0
-30
6
0
0
0
0
-4
16
3
-48
-3
0
0
-46
3
0
2
57
0
0
6
-26
0
36
14
0
0
-7
-10
0
23
-3
8
0
-1
32
-9
-47
-4
0
0
2
22
0
2
-16
0
0
0
-28
0
0
0
0
0
0
43
-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
-15
-6
9
3
-6
0
-1
-2
45
26
6
-5
-6
6
0
2
-2
1
0
0
-4
-4
21
-2
0
0
4
-4
0
-8
0
-13
-6
0
-5
0
0
-9
0
-6
0
4
-1
2
94
-3
1
0
0
3
-25
10
0
38
-14
-4
56
2
-7
0
-1
8
-9
-23
41
13
28
36
39
21
55
4
-15
0
34
0
-12
-32
11
0
3
-17
3
17
-58
-3
0
0
8
-11
0
0
-17
0
0
0
-24
-26
0
0
22
0
0
0
8
0
-2
-14
3
0
-1
0
15
10
0
0
21
9
0
0
0
0
0
0
0
0
2
-10
-3
6
27
4
2
53
-13
10
0
14
0
-2
-50
-15
0
9
-4
0
-6
0
6
0
3
-1
24
0
7
0
0
-1
1
0
13
0
21
44
27
0
0
0
0
2
-3
0
-4
0
0
-3
-15
-12
-6
-33
2
0
-16
-7
0
8
-1
-1
0
63
-1
0
-20
-11
12
0
12
-12
-7
0
44
-6
4
-9
-21
-16
2
-16
-21
-3
2
23
-12
33
2
0
4
11
-45
0
0
18
21
-20
0
-18
0
1
0
4
4
0
6
-21
-4
11
0
0
14
46
0
29
-24
6
0
-5
55
0
1
115
5
0
28
-38
3
-11
32
20
-8
-3
3
-2
-18
27
84
11
0
13
1
-54
-13
0
1
0
-33
8
-3
0
-10
-1
0
4
0
-25
-1
1
1
0
45
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
-3
0
1
0
1
6
0
12
0
0
0
-7
8
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-32
0
0
-2
0
0
-3
0
0
0
0
0
8
20
0
0
0
0
0
0
0
0
0
9
1
30
0
0
9
-1
0
0
0
0
12
0
-2
0
0
-2
4
0
0
-10
0
0
6
9
0
0
2
2
2
6
1
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
-9
0
0
0
-10
0
32
0
6
0
0
0
0
-25
0
0
2
0
0
0
0
0
0
0
0
0
31
42
0
-11
11
2
0
-2
-10
0
2
-4
0
0
2
33
0
0
7
0
0
0
-11
0
53
0
-1
0
0
30
7
0
0
0
0
0
23
3
0
0
0
0
0
22
0
0
0
0
0
0
-34
0
0
13
-4
0
0
0
0
0
-6
0
0
28
-26
-1
0
-17
0
0
2
12
0
0
-1
0
1
0
-46
0
0
-2
0
2
-6
18
0
0
-2
2
-4
0
-3
0
0
0
0
0
0
14
0
0
0
0
0
0
13
0
0
0
0
0
0
2
0
3
-1
0
0
1
0
0
0
-19
0
0
0
52
0
3
-2
0
0
3
6
0
0
11
4
0
0
-11
0
-1
0
0
0
0
13
0
6
-1
1
0
0
-28
0
25
0
0
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
-7
0
0
0
12
0
0
8
0
0
0
2
2
0
11
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
46
0
0
-1
0
0
-12
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
12
0
0
10
-1
0
0
39
0
0
2
1
0
0
0
0
0
7
0
0
0
-1
0
13
0
1
0
0
13
0
0
0
-3
0
0
0
4
-8
0
0
0
0
0
0
0
0
13
1
3
0
0
0
2
19
0
0
-1
0
0
0
0
0
0
0
0
0
2
34
0
0
1
0
0
1
-34
0
0
3
0
0
-6
6
0
0
0
0
0
0
4
0
11
0
-7
0
-1
44
0
0
0
0
0
0
8
0
-3
0
0
0
0
65
0
0
0
0
0
0
4
0
0
4
0
0
0
-11
0
0
-7
0
0
0
7
0
3
4
0
0
-1
25
0
0
-4
0
0
0
-1
0
6
-5
-10
0
0
23
0
0
0
0
0
0
-8
0
0
2
0
0
0
-41
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
2
0
0
0
0
18
0
0
-2
0
0
0
26
0
-3
0
0
0
0
-34
0
0
0
0
0
0
-7
0
3
-1
0
0
0
-2
0
9
0
0
0
0
-5
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
0
6
-25
0
2
2
2
0
1
0
0
0
15
0
1
0
-1
0
0
2
0
0
0
-9
0
-1
0
0
0
-11
1
0
2
0
0
-14
0
0
0
0
2
-2
2
0
0
0
2
1
-3
0
-1
3
4
-2
9
-1
0
0
18
0
0
-21
11
0
-1
0
-7
-4
25
-1
-2
0
-1
0
-1
2
-7
0
-2
11
-3
7
-1
0
6
0
1
0
14
0
37
0
0
0
0
23
0
0
-5
0
0
-1
-2
4
-13
3
-2
-1
0
0
-2
-22
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-93
2
0
3
0
0
13
39
0
0
-3
0
0
7
-7
0
0
40
-1
0
0
-33
0
43
9
-6
0
0
-12
0
0
1
0
0
0
14
-8
10
0
0
0
0
-2
0
0
0
0
0
0
4
3
0
0
8
0
6
63
0
0
8
0
0
29
13
19
1
0
-4
0
6
7
0
0
-3
0
0
-3
43
0
0
-34
3
-3
2
-44
0
0
-2
6
1
0
10
0
0
3
17
0
0
30
0
0
0
0
0
-3
-22
1
0
0
0
0
0
21
6
23
19
0
0
-1
6
0
-2
9
2
0
2
8
-1
12
24
0
0
0
-2
0
0
0
1
8
0
23
0
22
6
0
0
0
50
0
0
-8
3
0
0
41
0
-3
-4
0
0
0
-36
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
10
-6
0
2
-3
-10
-20
-6
-2
-14
2
0
11
41
0
0
0
-1
-4
10
-19
0
0
4
0
-1
0
-2
0
-24
0
0
8
0
0
11
1
0
0
0
0
15
-25
0
0
0
0
13
0
0
-2
-47
-38
0
15
-4
0
5
40
1
13
17
26
13
-15
0
51
10
-42
26
0
0
23
4
-4
-26
-14
-1
0
6
2
52
-2
24
0
0
-35
0
0
-3
9
0
0
1
18
6
0
1
-29
0
0
0
-4
0
26
-2
46
-3
-11
0
28
14
0
0
-33
0
0
0
0
0
0
0
0
0
-1
-7
0
6
47
-9
-1
14
-15
-1
7
43
6
0
-9
-19
0
0
13
0
0
51
4
0
4
8
19
0
3
-19
-2
-3
1
-8
28
0
7
14
-50
0
33
0
0
-6
-11
0
0
28
0
37
12
-9
-11
15
-16
-15
-48
-6
-12
10
-2
-3
-6
45
10
3
-22
29
-10
0
52
-6
-18
19
-9
-3
-12
0
1
-3
-4
-23
-4
-13
6
-24
0
2
-1
2
-3
6
-17
0
-10
-3
-49
14
0
29
10
0
0
-10
0
0
-11
-7
1
0
-1
0
2
22
26
-13
-6
2
0
-3
8
-1
21
37
39
-15
13
-4
0
6
39
-5
0
63
-52
-8
1
-2
38
-17
27
-5
0
-55
45
5
0
16
7
-2
-2
19
36
-1
0
1
0
-66
-10
-4
-16
0
36
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
9
0
-1
0
-11
0
0
0
0
1
19
2
0
10
2
12
0
0
0
0
13
0
0
0
0
1
0
-3
0
0
0
32
0
0
-14
0
0
-26
0
0
0
-3
0
-19
0
0
0
0
0
14
-1
7
0
0
0
0
-6
0
0
0
6
0
0
18
-6
0
-1
-29
0
0
7
-5
0
0
-26
0
12
-10
-2
0
19
39
0
0
-1
0
0
0
0
0
-9
-2
6
0
0
0
0
-22
0
16
-2
0
0
2
-14
0
9
-17
-3
0
0
0
4
-22
0
0
33
0
0
0
0
0
0
0
0
0
39
27
0
0
2
0
2
9
33
0
0
15
0
-9
-1
25
0
0
7
0
0
1
6
0
20
-1
0
0
0
-18
0
0
0
0
0
0
-14
-15
9
0
0
0
1
-2
-2
0
0
0
0
0
19
6
-6
8
0
2
-32
-34
0
-3
40
0
0
-16
9
0
0
36
0
0
7
1
7
0
28
0
-3
2
-19
0
28
-6
0
0
32
12
0
-4
0
0
4
-2
21
0
0
-16
0
35
0
-7
-7
0
0
0
0
0
-2
7
0
0
0
0
2
40
0
-7
1
0
-2
2
-38
0
0
29
0
0
2
-33
0
42
26
3
0
5
26
-6
22
-16
0
-3
0
33
0
7
4
0
0
0
-37
0
3
0
0
0
0
25
0
2
-1
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
0
0
0
1
0
0
-10
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
-35
0
0
0
0
0
-46
0
0
0
0
0
0
2
0
0
0
0
7
-3
0
0
5
1
0
35
0
0
0
18
0
0
42
0
0
0
-16
-3
0
-21
0
0
-7
-2
0
0
-2
35
0
4
1
0
0
-7
0
0
0
4
0
0
0
-2
0
0
0
0
-6
0
0
-1
0
0
0
0
0
22
0
1
0
0
0
7
-11
-2
0
-5
0
0
0
0
0
0
0
0
0
28
8
0
2
42
0
0
15
-44
0
0
-11
-1
0
2
8
0
3
-15
0
0
32
20
0
-63
0
0
0
0
19
0
0
1
0
0
0
-3
-12
13
0
0
0
0
-11
0
0
0
0
0
-3
-9
-1
2
-2
0
0
49
11
0
0
-63
0
0
0
8
0
-3
33
0
0
-3
7
0
0
11
11
0
-18
10
0
15
-1
0
0
-12
17
0
0
0
0
0
0
-29
0
0
0
0
0
0
-33
0
0
0
0
0
0
40
0
0
0
0
0
0
22
0
8
6
0
0
-12
-31
0
-8
12
-4
0
-4
19
0
-12
21
9
0
-6
26
0
0
21
0
0
1
-15
0
0
0
0
0
11
-18
0
0
0
0
0
0
64
0
-1
-2
0
-1
0
23
3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
40
36
18
-44
20
18
40
-6
-40
0
9
-3
-15
-21
15
2
-9
23
30
-2
-8
-26
-5
0
3
0
83
0
4
-4
0
13
5
0
0
37
-24
0
11
-4
-17
-3
34
36
-24
0
-14
35
2
18
-1
-25
-10
2
8
29
-30
-23
18
19
-23
-35
-8
11
37
-2
1
-28
-19
12
-53
-2
43
2
21
11
22
-43
0
-1
-26
-8
-4
20
-25
0
0
38
22
11
0
2
-3
0
4
40
12
0
35
-14
-31
16
6
0
37
-1
22
-5
-17
8
2
0
0
0
0
0
0
0
23
17
-17
44
12
2
-41
19
21
-2
-49
12
3
-12
25
3
-8
-24
17
-15
-24
-7
2
0
-8
-25
13
-12
-11
-8
-1
1
-4
27
-13
0
6
-24
48
0
-2
0
0
-4
6
1
9
4
0
75
10
-5
70
4
-19
47
-19
15
29
12
27
15
-8
56
31
10
-36
8
2
38
31
-20
18
9
4
29
-6
25
7
9
5
19
-7
-29
22
1
7
-1
-12
16
10
26
-24
-6
-6
-13
19
46
0
2
-21
-1
3
14
42
8
-12
17
0
-6
11
-1
16
-6
-4
-53
-39
-11
-26
29
-23
30
4
12
-12
-6
-55
-15
-38
27
9
11
1
6
-3
11
-11
15
-17
-27
67
-5
0
-3
37
-6
36
-19
6
5
-1
-62
-30
-27
-2
-38
4
15
-14
21
16
0
-40
18
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
5
0
0
0
0
0
-46
0
0
0
0
0
-2
20
0
0
0
0
7
-1
0
0
6
-11
0
-38
-1
0
0
50
2
0
44
0
0
0
19
0
-4
-25
3
0
0
-2
0
0
0
16
0
0
0
0
0
-1
15
0
0
0
0
7
1
1
0
0
0
0
-2
0
0
2
0
0
0
0
0
-8
-15
10
0
0
0
0
12
0
0
25
0
0
0
0
0
0
0
0
0
5
0
0
4
5
0
-1
-1
3
0
0
-10
0
0
6
29
0
0
-4
0
0
0
24
0
22
5
1
0
0
-10
0
0
0
0
1
0
76
-3
0
0
1
0
0
32
0
0
0
0
0
0
23
-1
4
0
0
0
19
9
0
0
-38
0
0
49
0
1
0
79
0
0
4
1
0
0
0
1
0
0
5
0
0
0
0
0
1
25
0
-2
0
0
0
-2
8
0
0
1
4
0
0
32
1
0
0
0
0
0
-21
-6
0
0
0
0
0
15
0
3
0
0
0
0
-26
0
0
-5
4
0
33
0
0
56
11
0
0
0
-10
0
0
-3
0
0
1
24
0
-12
8
0
0
0
32
0
1
-2
6
0
0
-10
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-13
0
3
7
0
0
0
-8
0
0
14
-12
0
0
0
0
0
-7
0
0
0
1
0
0
-2
-7
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
2
0
13
0
0
0
0
0
0
28
0
0
-2
0
0
0
0
0
0
0
0
0
-18
-51
0
0
19
0
0
2
15
0
0
0
0
0
-6
12
0
0
4
0
0
0
17
0
5
0
0
0
0
-25
0
0
0
0
1
0
-35
0
0
0
0
0
0
-17
0
0
0
0
0
0
30
0
-4
3
0
0
0
14
0
0
9
0
0
-2
15
0
-1
10
0
0
2
62
0
0
7
0
0
0
-28
0
0
-1
0
0
0
8
0
0
0
0
0
0
60
0
0
0
0
0
0
50
0
0
0
0
0
0
47
3
0
0
0
0
0
1
0
-3
0
0
0
0
-20
0
0
3
0
0
0
22
0
0
0
0
0
0
-29
0
9
-1
0
0
0
2
0
-9
0
0
0
0
14
0
0
0
0
0
0
-6
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
35
0
0
27
0
0
-14
0
0
0
0
0
0
-3
0
0
0
0
4
-3
0
0
0
10
0
-51
0
0
0
0
0
0
-35
7
0
0
0
0
0
25
-6
0
0
-1
0
0
4
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
0
0
11
0
0
-3
0
0
0
0
0
-43
0
-4
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
-2
0
0
9
4
0
4
-26
0
0
2
-32
0
0
-1
0
0
0
7
0
-4
0
0
0
0
44
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
0
0
0
0
0
-53
0
0
1
0
0
-3
-14
0
0
-1
0
0
0
-54
0
0
19
0
0
-7
8
0
0
7
0
0
0
-12
0
4
0
0
0
0
-20
0
0
-6
0
0
0
-1
0
0
0
0
0
0
-30
0
0
0
0
0
0
4
0
0
0
0
0
0
23
0
-1
0
0
0
0
-22
0
0
-2
0
0
0
9
0
0
-8
0
0
0
1
0
0
0
0
0
0
27
0
10
0
0
0
0
12
0
0
0
0
0
0
52
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
11
-7
0
16
-6
2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-25
0
0
-18
0
0
-26
0
0
0
0
0
0
34
0
0
0
0
0
-1
0
2
19
-4
-1
-27
0
0
7
51
7
0
125
9
0
-9
21
-3
-8
9
19
1
0
7
0
-1
11
-2
0
1
0
0
0
3
1
0
0
3
0
-1
0
4
0
0
0
-2
-29
0
0
-33
0
0
0
-1
0
-1
10
-6
0
0
0
0
-11
0
0
27
0
0
0
0
0
0
0
0
0
-38
12
-1
0
8
0
8
35
25
-2
0
-72
58
0
-1
-9
0
0
6
0
0
5
-25
0
-55
0
-2
0
21
19
0
0
-2
0
0
0
47
1
0
0
1
0
0
-52
1
0
0
0
0
-1
-3
13
1
0
0
0
-2
-24
0
2
13
0
0
-29
43
0
0
7
0
3
2
21
0
0
-12
-4
0
-2
-18
9
0
11
-2
0
1
-69
0
0
-1
0
5
0
-33
0
0
0
-14
0
0
-25
0
0
0
-7
0
0
1
0
3
0
0
0
0
-5
1
21
0
0
0
0
-8
10
-22
0
0
0
-3
-39
-3
9
6
-3
0
1
-13
0
-3
0
0
0
-3
-44
0
27
0
0
-3
-3
16
0
0
-1
7
0
0
-25
0
11
0
0
0
0
-15
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
-10
0
0
66
0
0
0
0
0
0
6
0
0
0
0
-6
0
0
0
0
0
0
9
0
0
0
29
0
0
-2
-9
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
31
0
0
0
0
0
0
0
0
20
-1
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
-1
32
0
7
1
0
0
-1
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
16
0
0
0
0
10
0
0
0
0
-4
0
26
0
0
0
0
0
0
9
0
0
0
0
0
0
21
0
-7
0
2
0
0
5
0
0
-1
0
0
0
-32
0
0
10
0
0
1
-14
0
0
1
0
0
0
47
0
0
0
0
9
6
-20
0
0
0
0
0
0
-5
0
0
0
0
-1
0
23
0
0
0
0
0
0
-13
0
0
0
0
0
0
12
0
2
0
0
0
7
42
0
0
0
0
0
0
5
0
0
0
0
0
2
1
0
0
-1
0
0
0
9
0
-3
0
0
0
0
19
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
-3
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
24
0
0
0
0
0
11
0
0
0
0
0
-1
-4
0
0
0
0
-9
0
0
0
1
7
0
-1
1
0
0
39
0
0
-21
0
-1
0
-1
0
0
-60
0
0
1
-2
0
0
13
-3
0
-1
0
-1
0
-1
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
11
0
0
0
0
0
-27
3
3
0
0
0
0
44
0
0
-34
0
0
0
0
0
0
0
0
0
24
-19
0
0
-21
0
0
-4
41
0
0
24
-6
0
2
9
0
4
18
0
0
0
-6
0
4
6
0
0
0
4
0
0
2
0
0
0
-24
6
0
0
0
0
0
4
0
0
0
0
0
4
56
0
0
-10
-1
0
6
22
0
0
67
0
0
28
-14
0
3
-46
0
0
-17
30
0
0
5
-1
0
0
44
0
-6
-6
0
0
4
-37
0
0
2
0
0
0
-6
0
6
0
15
0
0
28
0
0
0
0
0
0
26
-4
0
0
0
0
0
-25
0
43
-10
0
0
-13
-12
0
3
23
0
0
2
-48
0
-6
9
0
0
1
-32
0
1
-4
3
0
-4
21
0
7
-1
0
0
0
8
0
0
1
0
0
0
62
0
31
0
0
0
0
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
3
13
-1
13
0
0
0
3
8
-15
0
0
0
2
0
0
0
-24
0
0
-1
0
0
-4
0
0
0
0
0
33
4
0
-10
0
0
12
4
0
0
22
5
0
2
4
0
-5
11
0
0
-19
-3
0
0
38
10
-2
-28
30
-1
0
27
0
2
11
16
0
-2
-12
17
0
4
27
-16
0
-6
0
-5
0
-3
0
0
0
-3
-67
0
-3
10
0
0
0
3
0
24
-1
-7
3
-1
0
-4
29
-6
3
-28
0
0
0
0
0
0
0
0
0
42
-13
0
-4
-22
1
0
55
-3
-1
0
17
4
-1
55
-8
0
0
0
2
0
2
-15
0
13
0
-4
0
0
-62
0
0
3
0
2
0
-10
0
11
0
0
0
0
-4
6
0
0
0
0
-3
16
19
-2
-2
1
10
7
-18
-3
-1
22
0
-1
33
13
0
31
11
-3
0
44
-12
0
-3
36
6
0
6
28
0
-4
14
-7
-4
0
23
0
0
-1
0
2
0
-18
2
0
1
0
27
0
-3
1
-1
-1
0
0
0
-58
0
0
-4
0
0
0
-25
9
9
4
0
-4
0
-26
0
-22
11
7
-6
-1
64
0
-8
11
-1
0
-13
35
0
15
39
7
0
-4
22
0
11
1
0
0
1
-16
0
1
-3
-11
-1
0
-60
0
9
0
0
15
0
55
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-1
-3
0
0
0
0
0
0
0
-46
0
0
0
0
0
8
0
0
0
0
0
0
-10
0
0
0
0
-7
1
0
-3
25
0
0
19
-2
0
-2
-47
0
0
15
10
0
17
20
-2
6
-11
0
1
-3
15
6
-4
-16
10
0
-1
42
19
1
3
19
6
0
-1
0
0
-1
13
0
0
0
0
-7
0
0
-5
0
0
0
1
0
-2
9
2
0
0
0
11
16
0
0
33
0
0
0
0
0
0
0
0
0
-2
29
0
3
-9
0
0
-11
0
-1
-7
-16
-12
0
7
19
0
-2
-14
0
2
3
-21
-2
37
2
-2
0
0
22
0
0
0
0
0
0
2
0
8
0
0
0
0
-1
7
0
0
0
0
4
-9
5
0
0
-1
0
-5
-19
0
0
-5
0
0
11
25
0
7
7
-1
0
0
0
0
0
-52
-3
0
4
23
0
7
2
-5
0
0
-2
0
0
-1
0
0
0
-3
0
0
0
3
1
0
-14
0
0
0
0
0
0
2
-4
0
4
-3
0
0
-14
0
-11
-3
0
-1
-2
28
0
-6
32
0
0
0
-16
0
-9
-8
0
0
0
0
0
24
18
-12
0
0
16
0
0
-4
0
0
0
-47
0
2
-1
-4
0
0
-7
0
11
1
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
11
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
-5
0
0
0
0
1
-2
9
0
0
0
0
0
0
0
0
1
0
0
9
0
0
0
60
0
0
-1
2
0
0
18
-35
0
-28
-1
0
3
1
0
-6
0
-2
0
0
0
10
3
2
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
14
0
0
0
-21
0
53
4
2
-1
0
0
9
-15
0
-4
15
0
0
0
0
0
0
0
0
0
39
-16
0
0
-16
0
0
28
-2
0
-3
0
-7
0
-20
38
0
0
-9
0
0
0
-20
0
-30
0
0
0
0
-19
0
0
0
0
-7
0
-13
-1
0
0
0
0
0
-15
0
0
0
0
0
0
4
0
0
8
0
0
-7
23
0
0
-1
0
0
2
-31
0
0
-3
0
0
0
-8
0
0
17
0
0
0
-2
0
0
8
12
0
0
49
0
0
0
0
0
0
-13
0
0
-8
-3
0
0
39
0
6
0
0
0
0
-18
-7
-7
0
0
0
2
-23
0
3
0
0
0
0
-12
0
-3
15
0
0
-1
19
0
1
0
0
0
0
-93
0
0
0
0
0
0
-15
0
7
-9
0
0
0
-4
0
12
-6
0
0
0
-37
0
-1
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
12
1
0
3
0
13
0
0
-3
0
0
-29
0
0
0
0
0
0
-9
0
0
0
0
7
1
0
0
0
0
0
-29
1
0
0
-28
0
0
-6
0
0
0
20
0
0
4
2
0
0
-3
0
0
0
1
0
0
0
0
0
-4
1
0
0
0
0
0
0
-2
0
0
0
0
11
0
0
-1
0
0
0
0
0
-2
-2
-6
0
0
0
29
-28
0
0
-1
0
0
0
0
0
0
0
0
0
-47
-20
0
0
-23
0
0
0
16
0
0
8
6
0
-1
18
0
0
-2
0
0
0
-22
0
-17
0
0
0
0
-33
0
0
0
0
8
0
1
0
0
0
0
0
0
-24
0
0
0
0
0
1
6
1
-2
1
0
0
0
-25
0
0
0
0
0
0
-21
0
0
-3
0
0
0
-12
0
0
0
0
0
0
-5
0
0
-3
-6
0
0
23
0
0
-2
0
0
0
52
0
0
0
2
0
0
-15
1
0
0
0
0
0
30
0
0
0
1
0
0
-15
0
2
0
0
0
0
18
2
9
0
-1
0
0
43
0
0
0
0
0
0
-24
0
0
0
-1
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
-7
0
2
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-4
0
0
1
0
0
16
0
0
0
0
0
12
2
6
0
0
0
-2
4
0
6
-8
-1
0
17
1
0
0
65
0
0
4
0
0
0
-16
52
0
5
1
0
-7
16
0
3
0
-29
0
0
-13
0
0
3
4
0
0
0
0
-1
0
-7
0
0
0
2
0
0
0
0
0
0
0
-2
0
2
24
6
0
1
0
11
59
0
0
1
0
0
0
0
0
0
0
0
0
8
-26
-4
1
9
-1
0
4
25
0
0
10
0
0
3
-1
0
0
0
0
0
0
-7
0
-5
2
0
0
0
-1
0
0
0
0
0
0
-5
1
0
0
0
0
0
-30
0
0
0
0
0
1
19
0
3
0
0
-12
-3
-31
0
0
2
0
0
33
19
0
2
62
22
0
42
6
0
-1
-18
0
0
0
-17
-9
0
0
-2
0
-1
41
0
4
3
0
0
0
5
0
6
0
0
-1
0
66
0
0
0
0
0
0
-34
0
-7
0
0
0
6
-8
0
-2
3
0
0
0
39
0
0
1
-1
0
4
42
0
-1
-6
0
0
0
6
0
0
0
0
0
3
-45
0
51
15
1
0
0
39
0
0
0
-3
0
0
-9
0
-8
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
12
0
0
0
0
0
0
-1
0
-2
0
2
0
0
0
0
0
-4
0
0
4
0
0
-12
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
3
0
7
-83
0
0
0
-18
0
0
44
3
0
0
7
0
0
7
0
0
0
3
0
3
8
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
-23
0
0
12
0
0
0
-1
0
1
0
0
0
0
0
2
-51
0
0
-21
0
0
0
0
0
0
0
0
0
-2
-34
0
0
20
0
0
63
12
0
0
-19
0
0
-10
35
0
0
-13
0
0
-1
9
0
23
0
0
0
0
-25
0
0
0
0
10
0
58
-11
8
0
0
0
0
21
0
0
0
0
0
0
-40
0
0
-4
0
0
4
-20
0
0
-22
0
0
24
23
0
0
11
0
0
-14
2
0
0
28
0
0
33
-6
0
0
9
0
0
0
39
0
0
19
0
0
0
15
0
0
0
0
-2
0
-31
0
-1
0
0
0
0
31
0
0
0
0
0
-8
9
0
-16
0
0
0
0
15
0
0
8
0
0
0
33
0
1
2
0
0
0
29
0
0
-4
0
0
0
61
0
-5
2
0
0
0
19
0
0
0
0
0
0
9
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
22
0
0
1
2
0
0
0
0
0
0
0
-1
0
0
0
0
4
0
0
1
0
0
-10
0
0
0
0
0
-12
-8
0
0
0
0
-9
3
0
0
4
-1
0
-13
0
0
1
-13
0
0
34
23
0
13
-29
-6
0
-31
4
0
0
-11
0
0
-43
60
0
0
-7
8
0
21
0
0
0
4
0
0
11
-1
0
0
0
14
3
0
0
-7
0
0
0
0
0
24
-2
1
-1
0
0
0
-1
0
0
-28
0
0
0
0
0
0
0
0
0
44
32
0
4
34
0
0
8
-8
0
-3
-8
6
0
0
39
0
0
33
0
0
0
43
0
13
-54
15
0
3
19
0
0
0
0
0
0
-24
13
1
0
-10
0
0
6
-5
0
0
0
0
16
51
0
16
-31
0
0
-8
6
0
1
10
0
0
5
49
0
-19
38
3
0
39
2
0
0
-52
0
0
11
11
0
0
0
12
0
-2
0
0
0
7
0
0
0
1
0
-2
1
-14
0
0
21
0
0
0
-1
0
0
-48
14
0
0
0
0
1
40
0
1
-12
-6
0
1
30
7
-41
-47
-2
0
12
15
0
-23
62
0
0
-1
-30
0
0
0
-10
0
0
6
0
-11
16
0
0
-7
44
0
0
10
10
0
0
46
0
21
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
9
0
0
-1
0
-8
-8
0
0
0
0
0
0
0
0
0
0
-3
9
11
0
0
0
57
-12
1
1
-30
-70
36
-11
4
10
0
-36
1
-1
51
1
0
0
21
7
22
-52
29
0
6
26
-6
41
17
-12
-1
0
32
1
-8
0
16
11
0
-4
0
1
0
8
0
0
-1
4
21
0
3
-15
0
0
0
-4
3
-25
-11
-4
0
7
0
13
5
0
1
40
0
0
0
0
0
0
0
0
0
-22
-20
3
-2
25
6
0
3
6
0
18
-39
-10
2
2
-31
0
-1
2
-3
0
0
-27
-10
-36
-9
-51
-7
0
33
0
-2
-2
0
22
0
-7
-7
0
0
0
0
0
-20
2
0
-2
2
0
4
13
30
-4
41
-4
0
-7
-3
-2
0
53
0
-10
-9
10
-6
-39
29
-20
1
-6
-1
4
-3
-5
3
-3
2
6
-4
-11
21
20
0
-1
4
4
0
6
0
19
0
-31
2
-10
-3
2
-9
0
-2
-2
0
0
-3
0
0
-30
13
1
0
16
0
0
-19
-10
-22
-5
3
-4
-9
-17
4
31
15
0
0
37
-15
-4
-56
24
-37
0
1
25
0
-2
13
27
-2
0
-8
0
1
-8
0
-2
0
-43
0
3
9
2
0
0
-20
0
23
-6
-7
2
0
15
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
-14
-2
0
0
0
0
20
0
0
0
0
0
1
16
0
0
0
0
0
0
-1
0
22
0
4
-9
-3
0
0
-5
2
0
-19
0
0
0
30
8
0
-8
-9
-1
0
61
0
0
6
0
0
0
16
0
1
9
0
0
0
-4
3
0
0
-14
0
0
0
2
-3
0
0
-2
0
0
0
0
0
-6
-2
-7
0
0
0
-8
3
-4
0
13
0
0
0
0
0
0
0
0
0
1
-13
0
3
-8
0
0
-10
5
0
-1
-2
13
0
-9
0
0
0
39
0
0
0
19
0
5
3
1
0
0
-5
0
0
0
1
3
0
28
6
0
0
-1
0
0
-7
0
0
0
0
0
0
-74
0
-3
-6
0
0
0
24
0
0
-10
0
0
2
-8
0
-3
2
0
0
4
-30
4
0
-30
-4
0
2
0
0
0
19
14
0
0
-30
0
0
1
0
0
0
15
0
0
2
0
0
0
17
0
0
0
4
0
0
34
5
6
0
0
0
-6
-30
0
-12
0
0
0
0
50
0
3
3
1
0
-1
10
0
19
5
0
0
-2
-4
-11
-11
4
-10
0
0
0
0
-15
11
-3
0
0
32
0
0
14
0
0
0
-13
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
-7
0
0
0
0
0
18
0
0
0
0
0
28
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-11
0
0
-3
0
0
0
18
0
0
-1
0
0
0
-4
0
0
8
-2
0
0
-6
0
0
8
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-1
0
58
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
12
0
0
-1
0
0
0
0
0
0
0
0
0
7
-40
0
0
12
0
0
-9
1
0
0
0
0
0
-1
-5
0
0
0
0
0
0
5
0
15
0
0
0
0
-40
0
0
0
0
0
0
-45
0
0
0
0
0
0
26
0
0
0
0
0
-1
-11
0
0
0
0
0
0
57
0
0
4
0
0
0
-70
0
0
-4
0
0
0
-25
0
0
0
0
0
0
-3
0
0
-1
6
0
0
-18
0
0
0
0
0
0
-5
0
0
0
8
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
7
0
0
0
-13
0
2
2
0
0
0
-15
0
20
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
53
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
11
0
0
3
0
0
-43
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-22
0
0
-1
0
0
0
0
0
0
30
0
-1
0
3
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
22
0
0
7
0
0
0
1
0
46
1
0
0
0
0
0
-29
0
0
1
0
0
0
0
0
0
0
0
0
-16
44
0
0
-3
0
0
0
15
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
25
2
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
-37
0
0
-2
0
0
0
1
-1
0
-3
0
0
0
44
0
1
0
0
0
0
28
0
0
0
0
0
-3
34
0
0
-2
0
0
0
18
0
0
0
0
0
0
-12
0
0
0
0
0
0
-2
0
0
0
0
0
0
57
0
0
0
0
0
0
-9
0
0
0
0
0
0
13
0
2
0
0
0
0
-9
0
0
13
0
0
-1
-28
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
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
-18
0
0
0
0
0
-82
0
0
0
0
0
-9
1
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
0
0
0
-8
0
0
0
9
0
0
-4
0
0
0
-2
0
0
0
-3
0
0
4
-3
2
0
0
0
0
0
0
0
0
6
0
0
0
0
-1
0
0
1
0
0
0
0
0
27
0
0
0
0
0
0
12
0
0
-1
0
0
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
-7
0
0
2
0
0
9
29
0
0
0
0
0
0
1
0
1
0
0
0
0
-32
0
0
0
0
0
0
14
-1
1
0
0
0
0
5
0
0
0
0
0
0
-23
0
0
1
0
0
-1
-7
0
-1
-7
0
0
0
0
0
0
-15
8
0
0
9
0
0
0
0
0
0
8
0
0
0
0
0
0
24
0
0
0
0
0
0
-11
0
0
0
0
0
0
-39
0
0
0
0
0
0
5
0
0
0
0
0
0
4
0
0
2
0
0
0
-10
0
0
0
0
0
0
24
0
-4
0
0
0
0
0
0
0
0
0
0
0
12
0
1
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
6
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
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
-2
2
0
0
-1
0
0
2
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-50
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
0
0
0
12
0
0
-9
0
0
0
19
0
0
0
0
0
0
19
0
0
0
0
0
0
-24
0
0
0
0
0
0
-2
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
-9
0
-7
0
0
0
0
0
0
6
0
0
0
0
18
0
1
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
3
-3
0
0
0
0
19
0
0
0
0
0
-15
0
0
0
0
0
4
0
9
0
0
0
28
16
0
-7
-15
0
0
-43
0
0
0
-37
0
0
-40
-20
7
-1
-14
-8
0
-34
3
0
16
40
0
0
-6
3
0
0
0
-1
0
5
-12
1
-2
7
0
0
0
8
0
0
2
1
0
0
0
4
0
8
0
0
0
9
-17
15
1
0
0
3
-11
0
0
3
0
0
0
0
0
0
0
0
0
6
26
-1
0
22
0
0
20
30
0
0
-3
5
0
15
-17
0
0
25
-4
0
-15
-28
0
9
-3
-20
0
-3
39
0
0
0
0
0
0
-2
38
2
0
6
0
0
9
-5
0
0
0
0
-11
27
0
0
19
0
0
20
9
0
0
31
0
0
17
20
18
1
22
4
0
10
11
0
-1
22
0
0
13
-9
0
-3
-20
10
0
8
-40
0
0
11
0
0
0
13
0
0
0
5
0
0
7
1
0
0
0
0
0
0
7
0
0
0
0
1
-20
2
12
-35
0
0
4
3
0
1
-44
0
0
10
47
0
2
22
7
0
1
39
0
10
1
-4
0
2
-7
0
6
0
0
0
10
7
0
8
0
0
0
0
9
0
12
-2
0
0
0
29
-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
1
0
-31
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
0
24
0
6
-21
4
0
0
-4
0
0
27
-7
0
-1
-22
4
1
-3
7
0
0
0
0
-1
-12
0
0
0
25
-1
0
0
1
0
0
3
0
2
0
41
0
0
0
0
13
0
0
1
0
0
0
0
0
-8
0
-3
0
0
0
-1
-21
-3
0
18
0
0
0
0
0
0
0
0
0
7
-18
2
0
25
8
0
0
4
0
0
3
2
0
-1
21
0
0
-3
0
0
0
44
0
4
-11
-8
0
0
-61
0
0
0
0
0
0
34
-2
0
0
0
0
0
42
0
0
0
0
0
0
-7
0
0
15
0
0
-2
18
0
0
-11
0
0
0
-21
0
-1
-1
0
-1
1
43
0
0
-9
12
0
-1
54
0
0
-2
0
0
0
20
0
0
0
0
9
0
20
0
0
0
3
0
0
-32
0
0
0
0
0
0
-21
0
0
0
0
0
0
-1
0
-8
0
0
0
0
-4
0
0
11
-4
0
0
15
0
-12
0
0
0
0
-8
0
3
0
-2
0
0
11
0
1
2
0
0
0
16
0
-4
0
0
0
0
3
0
21
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
21
0
0
0
0
0
-82
0
0
0
0
0
3
22
-3
0
0
0
1
7
0
0
13
-2
0
-11
0
0
0
-4
0
0
8
-17
-1
0
12
8
0
36
12
0
1
-5
0
0
21
-6
0
0
-2
11
10
-13
0
3
0
20
0
0
0
0
0
0
-2
1
0
0
0
-7
0
0
0
0
0
52
0
-1
0
0
0
-11
-19
-4
0
-8
0
0
0
0
0
0
0
0
0
-4
30
6
2
-17
1
0
17
-12
-3
1
-19
-10
0
-27
39
0
0
61
0
0
22
0
0
-8
3
-4
0
-16
-50
0
0
0
0
0
0
-21
25
-12
0
0
0
0
19
0
0
0
0
0
-1
32
-3
3
7
1
0
-1
-7
0
0
7
0
0
-12
18
0
-1
36
-24
0
-2
-15
-1
0
-34
0
0
0
43
0
2
8
0
0
-19
0
0
1
-6
0
0
0
-46
0
0
0
3
-1
0
8
0
0
0
0
0
0
-26
0
0
-7
0
0
-15
-21
0
1
-7
0
0
-4
-26
0
0
1
-4
0
0
17
0
-3
-19
0
0
0
-17
0
-1
0
-1
0
0
23
0
3
0
0
0
0
0
0
0
-8
1
0
0
-35
0
-18
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
-2
0
0
0
0
1
-9
0
0
0
0
0
2
0
0
0
6
0
0
12
0
0
-9
2
-6
0
7
0
0
0
-1
0
0
2
0
0
0
0
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-35
2
2
0
0
0
4
31
0
0
0
0
0
0
0
0
0
0
0
0
34
3
0
0
12
0
0
2
-21
0
0
8
0
0
0
-5
0
0
-2
0
0
0
-10
0
-12
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
9
0
0
0
0
0
0
-37
0
-7
0
0
0
2
24
0
0
-23
0
0
0
-8
0
0
-2
0
0
-1
-26
0
0
8
0
0
0
-7
0
-1
0
0
0
0
-8
0
0
3
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
11
0
0
0
0
-5
0
0
0
0
0
0
-3
0
0
-2
0
0
0
-5
0
0
2
-1
0
0
2
0
12
0
0
0
0
1
0
-1
0
0
0
0
-13
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-116
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
-2
0
0
0
10
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
2
0
0
6
0
0
0
0
0
-30
0
0
0
0
0
11
-45
0
0
2
0
0
0
0
0
0
0
0
0
14
1
0
0
4
0
0
0
4
0
0
0
0
0
0
3
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
-74
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
7
0
0
-1
-48
0
0
6
0
0
-1
26
0
0
0
0
0
0
-57
0
0
0
0
0
0
12
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
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
25
0
0
0
0
0
0
6
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
53
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-16
0
0
-39
1
0
-1
3
0
0
6
1
0
0
-10
-1
0
-5
0
0
0
41
0
-3
-2
0
0
0
1
0
0
-21
0
0
0
0
-1
-3
0
-8
0
0
-1
-7
-3
0
0
0
0
0
0
0
0
17
0
-4
0
0
0
-1
14
0
0
2
0
0
0
0
0
0
0
0
0
-5
1
2
1
13
0
0
14
11
0
0
0
0
0
6
-15
0
0
0
0
0
0
-10
0
-2
-1
0
0
0
-27
0
-2
0
0
0
0
-19
0
-1
0
0
0
0
-11
0
0
0
0
0
2
-31
0
0
3
0
-6
40
-3
0
0
6
0
0
17
-8
0
0
-18
-2
0
0
-30
0
0
-1
0
0
-3
2
4
0
-3
9
0
-3
-37
0
0
0
0
-1
0
-51
0
0
0
1
-3
0
27
0
0
0
9
0
0
14
-9
0
0
8
0
-1
9
0
-1
2
0
0
-4
18
0
0
2
0
0
7
6
0
17
0
0
0
4
13
0
0
0
0
0
0
58
0
-2
-6
0
0
0
15
0
0
1
0
0
0
-1
0
2
-2
-8
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
22
0
0
0
0
2
0
-3
0
2
0
1
2
12
0
0
-2
0
0
12
0
0
0
6
0
0
-6
13
0
0
2
0
0
9
-2
0
0
-1
0
20
0
0
0
0
0
0
-1
25
0
0
0
3
0
1
0
0
0
0
-1
0
-1
0
0
8
0
0
0
0
0
28
0
0
0
0
0
-1
-21
0
0
-11
0
0
0
0
0
0
0
0
0
10
-64
0
0
30
0
0
0
10
0
0
0
0
0
-2
-11
0
0
11
0
0
-3
-14
0
-7
5
0
0
-1
-3
0
0
1
0
0
0
-37
0
0
0
0
0
0
-21
0
0
1
0
0
0
11
0
0
-6
0
-1
-9
-53
0
0
17
0
-3
8
1
0
0
-6
0
-2
-1
26
0
0
7
0
-16
4
27
0
1
-54
0
0
0
-12
0
0
6
0
10
0
38
0
0
2
0
0
0
19
0
0
0
0
0
0
3
0
0
0
0
0
0
13
0
2
-4
0
0
-1
-17
0
-11
6
2
0
0
22
0
1
2
0
0
0
31
0
0
12
0
0
0
-24
0
0
0
0
0
0
28
0
0
0
0
0
0
5
0
-7
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
-6
0
0
0
0
0
-21
0
0
0
0
0
-2
0
0
0
0
0
-10
0
0
0
6
-1
0
-12
3
0
0
-30
0
0
9
-4
0
-1
1
-10
0
62
0
0
-1
-2
0
0
17
-12
0
-1
-26
0
0
-2
0
0
0
0
0
0
0
12
0
0
0
-1
0
0
0
3
0
0
0
0
0
20
-12
-5
-6
0
0
0
-17
0
0
20
0
0
0
0
0
0
0
0
0
61
-30
0
-15
-21
0
0
-1
-23
0
0
-14
7
0
-21
-19
0
0
18
0
0
3
1
0
-43
6
0
0
0
-9
2
0
0
0
0
0
-5
1
0
0
4
0
3
13
0
0
3
0
0
-7
11
0
0
3
8
0
32
-16
0
0
-34
0
0
13
-9
-3
11
55
-12
0
0
17
0
0
-21
0
0
0
21
0
0
30
-15
0
0
2
0
-1
6
0
0
0
24
0
0
0
11
0
0
48
0
0
0
0
0
0
-21
0
0
0
0
0
-1
-45
0
-12
12
0
0
0
30
0
-1
18
0
0
-12
-12
0
-15
-1
0
0
0
-2
0
6
-13
5
0
0
-10
0
-1
3
0
0
0
31
0
0
2
-3
0
0
39
0
37
-10
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-1
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
-1
0
0
2
0
0
17
-1
0
0
0
0
0
1
-2
0
-1
0
0
0
0
-9
0
0
0
0
0
0
11
0
0
0
0
0
0
3
0
0
0
0
0
0
43
0
0
0
0
0
0
-1
0
0
0
0
0
0
30
0
0
-7
0
0
-1
14
0
0
0
0
0
0
0
0
0
-1
0
0
0
17
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
-19
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
1
0
0
0
-4
0
0
0
0
0
0
-17
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
-1
-1
0
0
0
0
3
0
0
0
8
0
0
-45
0
0
0
-23
0
0
8
0
0
0
-7
0
0
9
6
0
0
0
0
0
-1
6
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
3
0
3
0
0
0
0
33
0
0
10
0
0
0
0
0
0
0
0
0
-21
74
0
0
11
0
0
0
-18
0
0
0
0
0
3
-6
0
0
-2
0
0
0
13
0
18
0
0
0
0
0
0
0
0
0
0
0
16
0
2
0
0
0
0
-10
0
0
0
0
0
0
-58
12
0
-1
0
0
0
-8
0
0
1
0
0
-1
-34
0
0
-29
0
0
0
-15
0
0
29
0
0
-1
21
0
-1
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
12
0
-2
0
0
0
0
-2
0
1
0
0
0
0
-14
0
2
-5
0
0
0
-28
0
0
0
0
0
-2
3
0
0
0
8
0
0
-1
0
-1
0
0
0
0
34
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
0
0
0
4
0
0
-8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-3
0
0
0
0
0
10
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
-3
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
7
0
0
0
0
-1
0
0
0
0
0
0
-30
0
0
0
0
0
0
16
0
0
0
0
0
4
8
0
0
2
0
0
0
38
0
0
0
0
0
-8
-24
0
0
0
0
0
-2
-7
0
0
0
0
0
0
6
0
0
22
-1
0
0
8
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
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
11
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
4
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
-1
-39
-41
-3
34
-22
7
0
7
-7
15
-89
29
38
-8
-13
0
13
39
-20
12
-3
-12
-12
4
3
-24
-19
-24
-15
-19
21
10
-6
23
-2
-13
0
-32
-19
-14
-13
19
14
-46
-1
11
-1
45
14
17
-41
38
0
30
37
2
0
7
2
-1
12
-16
6
55
6
-1
-16
9
-7
-3
-4
-10
9
15
-29
51
25
0
0
0
0
0
0
0
-17
18
-7
30
8
9
17
-11
-18
13
22
-14
-27
30
-13
-17
-2
-20
11
-21
22
2
0
-20
-13
-9
0
-39
23
-7
-24
-1
-1
-24
32
0
2
-17
-1
2
-23
16
43
5
24
25
24
-25
-2
-7
2
52
2
-10
15
24
11
-3
-16
16
-11
-27
19
20
-10
-5
39
12
-23
13
7
6
-2
23
-13
31
30
-26
-15
5
3
-16
-12
7
22
-20
2
-7
33
-19
-14
-5
12
-33
-31
-35
0
29
-6
-9
-24
-19
11
-15
-43
11
-7
-11
-29
38
-4
2
15
-13
-7
-25
2
-7
-43
-27
-16
16
-7
-22
-9
-19
-3
-6
-28
22
-48
-19
18
-16
2
-5
-37
-7
-42
-23
20
17
3
28
-21
-33
37
28
4
-38
39
-43
12
41
-9
-5
15
-12
6
18
30
-1
-9
-23
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
6
0
0
-6
12
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
-2
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
6
0
0
0
0
0
13
0
0
0
0
0
0
6
5
0
0
0
0
0
-3
10
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
8
0
0
0
0
0
0
3
0
-4
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
9
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
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
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-7
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
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
1
-4
44
0
0
0
0
-4
-11
0
8
-21
-1
0
6
0
0
19
26
3
0
-3
14
0
-7
17
-24
1
39
-6
2
0
-13
0
0
3
10
0
-3
6
-1
0
-44
-24
0
0
17
0
0
-3
-9
0
0
0
-10
0
0
0
13
0
0
0
0
0
21
8
18
-13
-2
0
43
-11
0
0
49
0
0
0
0
0
0
0
0
0
1
2
0
14
0
-1
0
-9
-4
0
2
-2
48
0
1
-16
0
0
-3
2
0
-9
-55
0
-6
14
-6
0
4
15
7
0
0
6
0
1
14
-26
2
-1
-3
0
0
8
-3
6
0
0
0
7
-25
0
24
-19
7
0
21
37
0
2
58
0
0
36
50
-8
5
24
15
0
-43
10
0
-15
41
5
0
29
16
0
15
15
-34
0
11
-6
0
-11
-12
0
0
0
-18
-1
3
40
-10
0
0
-2
2
0
0
0
0
2
24
3
0
0
2
0
-8
-14
-3
-6
2
0
0
-22
26
0
11
39
4
0
37
5
-3
-32
-39
0
0
-32
10
0
-29
-1
3
0
6
0
0
-11
-16
-4
0
0
11
-7
-21
6
-1
0
0
4
1
-41
0
0
0
0
13
-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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
3
0
0
0
5
0
0
1
0
0
6
2
0
0
0
0
0
0
1
0
0
-2
0
0
0
7
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
2
0
0
0
0
0
0
10
0
0
-1
0
0
0
30
0
0
1
0
0
0
12
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-31
24
-23
75
-23
-8
-18
18
-9
-2
-29
-11
10
-26
7
-9
43
-3
-13
-14
-28
23
-3
-14
5
-9
0
7
-18
-4
-2
15
2
19
-27
16
-5
-17
17
-3
-48
-4
-31
-28
13
0
-9
-3
-19
-28
-12
10
10
-24
16
-5
-18
-23
26
15
37
-12
-22
23
25
2
0
-13
-10
-21
-5
-20
26
13
0
0
0
0
0
0
0
4
-3
-18
7
-8
-31
57
21
11
-12
-26
18
21
-30
-5
-10
51
33
-10
37
-34
-36
4
-7
1
-6
-4
-33
-28
-11
31
-8
-19
-8
10
9
1
7
-11
-38
-16
-16
-9
1
27
-20
-17
-22
34
-5
-14
-63
-5
-10
-21
-19
-10
-10
18
-56
-8
23
-37
-2
2
18
-14
-3
3
-45
-3
-28
-22
-11
0
-10
14
-6
-15
30
-23
3
-29
-22
0
-4
-27
8
-31
-67
51
-30
-14
-19
16
-1
6
8
11
-4
-6
14
23
5
5
-2
2
-10
-41
7
24
71
15
0
38
-9
-43
-21
-2
1
14
-9
-27
-12
56
19
0
-19
-8
-29
0
29
-33
-35
4
-42
52
-5
8
16
4
-2
33
-6
7
-37
-1
13
7
-20
-7
-15
-15
-14
18
-1
13
-20
38
-56
6
0
-9
2
-15
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-11
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
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
-15
1
0
0
0
3
0
35
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
-1
0
0
0
0
0
-10
0
0
0
0
0
0
13
0
0
1
0
0
0
0
0
0
0
0
0
-18
-2
0
0
38
0
0
-1
45
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
6
0
0
0
0
4
0
0
0
0
0
0
30
-9
0
0
0
0
0
13
0
0
0
0
0
0
33
0
0
1
0
0
1
-5
0
0
0
0
0
-2
49
0
0
-14
0
0
0
2
0
0
-5
0
0
1
-6
0
0
6
0
0
0
-36
0
0
1
0
0
0
-29
0
0
0
0
0
0
-25
2
0
0
0
0
0
-7
0
0
0
0
0
0
21
0
0
0
0
0
0
47
0
0
0
0
0
0
3
0
0
0
0
0
4
9
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
45
0
-2
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
1
0
0
2
0
0
0
0
0
-1
-4
0
0
0
-1
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
1
0
0
0
0
-13
0
0
0
0
0
0
4
0
13
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-26
7
0
0
-1
0
0
7
4
0
0
-6
0
0
-4
-10
0
0
6
0
0
0
-6
0
3
0
3
0
0
0
0
0
0
0
0
0
5
1
0
0
0
0
0
-2
-2
0
0
0
0
0
-9
0
0
0
0
0
0
48
0
0
0
0
0
0
-13
0
0
1
9
0
0
1
0
0
1
0
0
0
14
0
0
0
0
0
0
-44
0
0
0
0
0
0
32
0
0
0
0
0
0
43
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
-2
0
0
0
0
10
0
-7
0
0
0
0
-1
0
-1
7
0
0
0
-2
0
0
0
-1
0
0
3
0
13
0
0
0
0
1
0
0
0
0
0
0
1
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
7
8
0
0
0
2
-1
-4
0
0
0
-2
0
1
41
-1
8
1
23
-14
1
28
8
0
0
26
0
8
17
-3
0
4
2
8
-1
18
-2
0
0
-5
0
-15
1
-2
0
0
0
9
-8
0
0
-25
0
0
0
-10
0
0
7
34
0
0
0
-21
21
7
-1
-68
0
0
0
0
0
0
0
0
0
24
62
-8
-3
0
6
-8
4
5
0
-2
-1
-16
0
4
-1
0
0
-7
0
0
0
-7
0
-46
-29
-2
-1
0
23
0
0
0
-1
4
0
-6
-5
-4
0
1
0
0
0
0
0
0
0
0
8
-30
7
10
19
-2
0
68
-3
0
-3
1
0
0
-25
17
-1
25
34
0
0
19
-7
0
-3
-16
-12
-6
-2
5
0
0
71
8
-6
0
1
0
3
0
0
0
1
4
0
0
9
1
17
0
24
0
0
0
0
0
0
0
11
0
-8
0
0
-7
-12
1
19
11
0
-1
-7
2
-2
5
38
0
0
5
-8
0
18
-12
0
0
15
6
-2
8
-11
0
3
10
-37
0
10
-11
0
0
0
-28
6
0
-10
0
0
0
21
0
34
0
0
0
0
31
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
22
-1
23
32
-8
-8
-40
14
-3
-2
-3
33
2
18
15
-1
2
26
-14
21
-37
-21
0
7
-4
0
-16
19
23
0
-1
-18
9
7
-9
-2
0
0
-4
0
-3
0
22
0
0
-1
1
15
0
0
-2
0
0
0
0
-5
29
0
5
5
0
0
47
-57
1
0
64
-1
0
0
0
0
0
0
0
0
-31
-6
-3
26
27
0
6
-20
22
0
-1
-28
4
1
-48
-9
0
0
-4
-4
0
-2
0
0
28
-13
29
0
0
15
0
0
0
0
-3
0
31
-39
-17
0
8
0
0
-25
0
0
10
1
0
7
-39
19
9
49
4
-2
-69
10
0
-4
-30
6
0
0
17
3
5
12
-45
-2
33
1
1
1
-65
-9
5
15
15
-4
0
-17
-15
9
2
10
0
0
2
-2
9
0
-16
-2
1
-9
20
37
0
21
2
3
0
-8
0
0
-19
-4
9
0
0
0
3
22
0
-20
11
0
-3
19
49
0
40
-61
25
-4
22
-36
0
-18
27
-11
3
0
2
3
6
32
21
-3
-12
30
0
16
3
0
0
0
35
2
-3
2
11
0
-3
1
0
46
0
0
-8
0
3
-1
4
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
-2
0
0
-12
0
-3
0
0
0
0
-2
0
0
0
0
0
15
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
-3
0
14
0
0
0
0
0
4
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
-6
0
0
-13
15
0
0
-4
0
0
0
0
0
0
10
0
0
0
0
0
-2
0
0
0
0
15
0
0
0
0
-1
0
6
0
0
0
0
0
0
24
0
0
0
0
0
0
25
0
0
-2
0
0
0
40
0
0
-2
0
0
-2
-9
0
-12
19
0
0
0
-16
0
0
-9
0
0
0
-33
0
0
-13
-2
0
0
-14
0
0
0
0
0
0
-1
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
0
0
10
0
0
0
-1
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-1
0
0
-6
-6
0
3
-9
0
0
10
0
0
0
0
1
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
15
0
0
-1
0
0
0
2
0
18
0
1
0
0
0
0
-40
3
0
-6
0
0
0
0
0
0
0
0
0
17
64
6
0
0
0
0
0
20
0
0
41
12
0
2
8
0
0
-1
0
1
0
-9
0
55
0
0
0
0
3
0
0
0
0
0
0
-5
-1
-1
0
0
0
0
11
0
0
0
0
0
0
19
0
0
0
0
0
-1
23
0
0
-1
0
0
-3
14
1
0
3
0
0
2
0
0
0
6
0
0
0
-23
0
0
11
-2
0
0
35
0
0
0
0
2
0
-1
0
0
0
0
2
0
-21
0
0
0
0
0
0
11
0
0
0
0
0
-1
-30
0
1
-1
0
0
0
11
0
0
0
0
0
0
22
0
0
0
0
0
0
8
0
0
6
0
0
0
16
0
-1
0
0
0
0
21
0
2
0
12
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
10
0
0
0
-3
0
0
1
0
0
0
2
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
9
-15
0
-1
8
0
0
0
-6
0
0
3
0
0
0
16
0
0
0
0
0
9
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-33
0
0
0
0
0
0
28
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
23
0
0
0
0
0
0
26
0
4
2
0
0
0
-7
0
1
0
0
0
0
9
0
0
0
0
2
0
2
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
1
0
-1
-2
0
0
0
0
0
2
0
0
0
0
1
0
0
7
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
9
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
8
-2
0
0
0
-2
0
0
0
0
0
-12
0
0
0
0
0
1
-40
0
0
0
0
0
0
0
0
0
0
0
0
-1
-20
0
0
-2
0
0
0
9
0
0
8
-1
0
-6
-9
0
0
0
0
0
0
-3
0
-2
0
0
0
0
-38
0
0
0
0
0
0
12
0
0
0
0
0
0
8
3
0
0
0
0
0
43
0
0
0
0
0
3
-34
0
0
0
0
0
2
20
0
0
-10
0
0
-6
27
0
0
6
0
0
0
8
0
0
4
0
0
0
9
0
0
0
0
0
0
9
0
-2
0
0
0
0
33
0
0
0
0
0
0
-8
1
0
0
0
0
0
20
0
0
0
0
0
0
29
0
0
2
2
0
0
40
0
-4
0
0
0
0
-1
0
0
2
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
29
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
63
-2
1
-6
-9
0
-8
-23
24
3
-7
-39
5
4
48
20
0
0
-16
0
2
4
40
-7
0
7
0
-15
-6
3
0
0
-3
0
5
0
12
0
0
7
-16
5
0
0
12
0
0
0
30
0
52
21
27
0
0
0
6
-12
-2
0
-21
-2
0
0
0
0
0
0
0
0
10
-8
1
41
33
1
0
-17
17
0
8
-41
-25
0
-22
-40
0
0
16
2
0
2
3
0
3
-34
4
0
-1
14
1
0
0
0
0
0
-14
9
-6
0
0
0
0
34
0
0
0
-1
0
10
48
1
8
-45
-1
0
-8
37
0
0
51
-3
0
28
-25
0
10
-56
21
0
27
51
0
-1
-16
11
11
-1
-7
0
2
6
-16
10
-14
9
0
-1
1
0
0
0
-35
0
0
4
-3
1
0
4
0
2
-1
0
0
0
79
0
0
5
0
0
0
2
-2
-62
-25
0
0
11
-7
0
7
9
-6
0
-21
15
0
16
79
2
0
16
-6
0
11
-22
29
-2
0
-6
-2
50
-26
0
0
0
-18
0
-1
-1
10
1
0
16
0
7
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-22
3
0
49
0
0
3
27
16
0
15
1
0
11
-5
-2
10
31
5
0
1
2
-3
-5
-15
9
0
0
0
0
-9
2
-13
0
0
1
-1
60
0
0
-7
0
0
0
-21
1
7
-1
2
-1
0
0
-12
0
-3
0
32
0
0
0
0
0
0
0
0
0
-11
17
0
0
42
3
0
28
5
0
7
-4
17
0
8
-8
0
0
-17
10
0
11
4
0
-55
-16
0
0
0
-35
0
0
0
0
9
0
6
0
-1
2
2
0
0
-14
0
0
0
0
0
-8
0
9
0
-2
0
0
37
-18
0
11
-48
-1
0
17
17
-6
9
2
-7
0
9
51
1
0
9
-3
0
23
-1
0
-2
-1
-12
0
-16
32
2
-1
21
0
28
0
2
1
0
0
4
-6
0
22
0
0
0
-1
0
0
2
1
0
0
0
0
-4
0
0
45
-14
0
0
4
-67
0
0
60
0
0
-2
33
0
-14
43
-7
0
2
-8
0
1
39
6
0
2
-19
0
-31
-2
0
0
-4
-13
0
1
7
0
0
0
2
0
-13
-2
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
51
0
0
0
-2
0
0
-9
0
0
0
54
0
7
41
-2
0
0
1
0
0
-3
2
0
0
7
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-14
0
0
0
0
0
0
11
0
-8
0
0
0
0
0
0
25
0
-1
10
0
0
0
0
0
0
0
0
0
42
30
0
0
-3
0
0
-2
23
0
0
26
3
0
1
-6
0
0
0
0
0
0
40
0
10
1
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
67
-2
0
0
0
0
0
20
0
0
0
0
0
-2
47
0
0
0
0
0
-3
36
0
0
-4
0
0
0
31
0
0
4
0
0
0
30
0
0
-1
0
0
0
-13
0
0
0
0
0
0
43
0
0
0
0
0
0
-25
0
0
0
0
0
0
5
0
0
0
0
0
0
-8
0
7
1
0
0
0
19
0
0
-1
-3
0
2
16
0
6
-3
0
0
0
-7
0
0
0
0
0
0
-16
0
3
0
0
0
0
-14
0
0
0
0
0
0
13
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
36
1
0
0
2
0
0
1
-9
0
0
-8
0
0
2
0
0
0
-4
0
0
0
2
0
0
-2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
-7
0
0
0
0
0
50
-1
0
0
0
0
0
28
0
0
3
0
0
0
0
0
0
0
0
0
-56
20
11
0
6
0
0
-5
0
0
0
2
0
0
-1
-24
0
0
-7
0
0
0
-6
0
5
0
-7
0
0
-30
0
0
0
0
0
0
23
-5
0
0
0
0
0
22
0
0
0
0
0
0
-10
-1
0
-3
0
0
-1
59
0
-1
0
0
0
30
16
0
0
14
0
0
0
5
0
0
-2
0
0
0
45
0
0
0
-1
0
0
-2
0
0
0
0
0
0
-13
0
0
0
0
-3
0
-33
0
0
0
0
0
0
24
-1
0
0
0
0
0
-4
0
0
0
0
0
0
25
0
0
-5
0
0
0
39
0
-3
-2
0
0
0
-3
0
0
11
0
0
0
2
0
0
0
0
0
0
2
0
0
0
-1
0
0
-8
0
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
27
-3
-8
38
6
-3
-6
33
-18
11
59
56
0
15
-9
0
-4
-8
-27
8
4
53
0
-11
38
-19
0
0
42
0
-22
2
-16
3
0
5
4
-31
0
0
-12
0
0
0
-2
0
16
14
-5
0
2
0
18
-40
-3
-3
-9
9
0
0
0
0
0
0
0
0
27
6
3
36
113
5
2
135
-16
4
2
-42
3
0
29
-20
0
2
-62
-1
0
16
6
-2
-20
8
-8
-3
-1
-30
0
0
-2
0
-6
0
16
60
-1
0
-1
0
0
19
0
-3
0
-2
-3
-4
22
-20
-2
8
17
1
62
14
0
-12
-63
2
0
-19
-16
-1
12
1
20
3
-11
-15
15
-51
14
10
-12
-15
-24
1
-10
7
-1
2
2
-15
0
2
7
0
-4
0
20
-1
0
-2
-7
13
8
15
-1
0
1
27
-12
0
-5
-13
0
0
9
0
6
-65
-12
9
22
0
0
0
32
0
-7
-30
45
9
48
19
0
32
-2
9
0
-32
-14
1
-47
14
44
-3
0
6
0
-59
2
-10
-2
0
68
0
3
-1
-6
5
0
7
1
-15
2
0
54
0
-1
-7
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-3
0
0
-31
0
12
0
30
-3
0
5
1
0
0
-8
0
10
-18
-3
0
0
-56
0
31
-5
12
0
0
-4
0
11
0
0
0
0
0
0
-32
0
0
0
0
0
0
10
0
-21
0
26
1
0
0
16
-9
0
0
-7
0
0
0
0
0
0
0
0
0
1
-3
0
-4
-13
0
0
-44
51
0
0
-15
0
7
32
-10
0
2
11
0
0
0
42
0
19
28
0
0
11
4
0
0
2
0
18
0
-26
0
-8
0
0
-8
0
15
0
0
0
0
0
-7
-7
0
3
-1
0
1
11
-9
0
0
4
0
0
9
-18
0
-1
-3
0
0
34
17
-4
0
48
2
-15
11
-17
0
-13
63
4
0
27
-49
0
0
-6
2
-6
8
-3
0
1
18
2
-5
0
37
0
0
0
0
0
0
31
0
0
-1
0
0
0
52
11
-28
6
0
3
-8
-32
0
-4
0
0
6
-15
14
0
-16
8
0
0
3
-22
0
2
-11
4
0
0
-19
0
-38
4
-2
-2
0
32
0
-1
-22
3
-1
-1
-15
0
-15
3
0
-9
0
17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
-3
0
6
0
0
-40
-1
0
-7
-7
6
0
-10
1
0
0
-12
8
0
4
-9
0
0
1
0
0
-5
3
0
0
0
0
0
-4
-7
0
0
6
8
0
0
0
-1
0
0
0
0
0
-15
-3
-1
0
0
0
0
33
0
3
3
0
0
0
0
0
0
0
0
0
47
-16
0
-1
3
0
0
3
4
0
1
-37
-4
0
35
0
0
0
42
0
0
-13
-31
0
-28
6
-8
0
14
-8
0
0
0
0
0
0
18
-9
0
0
0
0
0
-6
1
2
-1
-3
0
0
0
-2
1
13
1
0
33
26
0
0
-2
0
0
12
7
0
0
12
-2
0
-6
26
0
0
17
0
0
-4
54
0
0
45
7
0
-21
-46
0
0
-6
-1
0
-3
-9
0
7
0
1
0
0
-25
0
0
0
0
0
0
55
1
0
0
0
0
0
11
0
10
-7
0
0
5
13
3
2
-14
4
0
-11
23
0
13
1
0
0
0
5
0
6
-12
3
0
0
51
0
17
4
0
0
0
10
0
0
4
-1
0
0
-36
0
2
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
35
12
45
-39
13
18
2
8
15
-49
57
-25
56
-19
10
-11
92
-29
-5
-1
15
-5
-27
18
27
26
30
-33
-6
22
18
1
23
-42
-20
-3
-14
18
0
-2
-17
19
0
6
15
12
12
0
0
-6
16
-4
-38
14
-12
-8
0
0
0
0
0
0
0
18
11
17
25
-11
-18
26
-10
18
40
85
11
12
13
-7
-13
34
3
-12
-28
-35
-10
-4
25
-6
-6
20
13
-40
3
-9
24
-23
-12
-23
0
14
13
20
14
7
-24
-1
-5
19
-10
-26
-22
34
35
27
-9
-27
-14
30
-26
10
-1
14
-60
-8
21
-15
24
33
-9
25
22
9
74
41
-5
59
7
1
-19
-17
22
-13
14
40
4
-8
4
8
-13
-8
-3
24
-9
-9
19
6
-10
34
-3
9
5
9
-8
13
17
10
31
-33
0
-10
-12
26
11
34
22
-28
-4
-45
-14
-8
-26
-4
45
2
-21
-21
19
-15
-6
-8
-5
23
9
15
8
35
4
-16
29
24
15
29
81
20
-9
-3
11
18
41
-9
66
-15
12
-35
30
19
28
34
-4
-53
-4
-4
-17
-25
0
-34
44
12
36
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
19
2
0
0
33
0
0
-14
-15
0
0
0
0
-2
3
-1
0
-2
20
0
0
14
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
10
-3
2
-8
0
0
12
2
0
0
-3
0
0
0
0
0
0
0
0
0
45
-10
0
-4
-42
0
1
-6
17
0
0
47
0
0
3
3
0
0
0
0
0
-2
18
0
8
-1
-2
0
0
-7
0
0
0
0
0
0
17
-8
0
0
0
0
0
-48
0
0
-2
-1
0
2
0
-2
7
0
0
0
49
0
-3
-1
27
2
0
-32
3
3
14
-1
0
1
20
-25
0
1
9
1
0
0
55
0
-1
6
-2
0
0
20
0
0
-2
-4
0
2
-17
0
7
6
0
0
0
9
0
0
0
-9
0
0
45
1
1
-1
0
0
-2
52
0
7
8
0
0
-7
0
0
3
30
7
0
-14
26
0
-1
-10
4
0
0
-37
0
1
-10
0
0
0
-16
0
-1
2
0
0
0
52
0
0
-1
0
0
0
9
0
-10
0
0
0
0
-55
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-4
0
0
-1
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
32
0
0
0
0
0
0
-41
0
0
-2
0
0
0
0
0
0
0
0
0
15
24
0
0
0
0
0
0
4
0
0
0
0
0
0
46
0
0
0
0
0
0
-1
0
-11
0
0
0
0
1
0
0
0
0
0
0
29
0
-1
0
0
0
0
39
0
0
0
0
0
0
0
0
0
-7
0
0
-1
26
0
0
5
0
0
-5
-2
0
-3
-1
-1
0
0
41
0
0
0
0
0
0
45
0
0
0
0
0
0
50
0
0
0
0
-4
0
4
0
0
0
0
0
0
-21
0
0
0
0
0
0
-2
0
0
0
0
0
0
9
0
0
0
0
0
-6
30
0
1
0
0
0
0
27
0
1
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
8
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
16
50
0
0
-1
7
0
28
0
0
0
11
0
0
-2
2
0
0
0
-1
1
-5
7
0
0
0
0
0
0
0
0
0
0
0
39
0
0
-3
0
0
0
4
0
9
0
0
0
0
0
28
31
4
0
-7
0
0
0
0
0
0
0
0
0
11
10
0
-1
44
2
0
9
3
0
0
-23
-6
0
13
-23
0
0
-4
0
0
0
17
0
3
-7
0
0
0
27
0
0
0
0
0
0
10
2
0
0
0
0
0
18
0
0
0
0
0
6
0
-9
-3
9
0
0
3
-33
0
0
-15
0
0
-16
21
0
9
-4
0
1
-2
0
0
0
31
0
0
8
-4
0
0
9
0
0
1
12
0
1
6
0
-3
0
15
0
0
0
0
0
0
-21
0
0
0
0
0
0
42
0
0
0
0
0
0
8
0
-6
0
-2
0
2
21
0
0
5
1
0
0
-14
0
29
12
0
0
-2
-15
0
0
-2
1
0
0
-19
0
-7
0
0
0
0
3
0
0
0
0
0
0
-1
0
2
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
-18
-50
-17
-4
-23
-24
13
-4
-23
6
3
28
-4
5
11
8
-3
19
-23
45
-13
2
22
0
0
-7
27
-21
26
-20
0
0
-15
8
-54
1
-6
-9
0
-2
28
-15
2
17
-31
-7
32
12
0
-38
16
39
6
53
4
1
0
0
0
0
0
0
0
9
-13
-20
11
25
-8
28
31
14
30
-33
9
-6
1
51
-8
0
-10
-9
-15
33
-48
-13
0
-11
39
19
38
-10
-21
0
0
-29
0
-10
0
13
-14
17
0
18
-1
0
18
23
0
22
-3
0
-22
36
32
-3
-73
9
10
0
3
1
8
-22
30
17
19
19
44
29
46
-17
-8
-14
11
22
30
-11
47
-22
23
10
-12
-55
-8
20
66
-41
-8
7
6
-8
-2
-13
7
5
-16
-11
35
8
4
0
-2
-1
20
0
-7
0
-2
-8
-26
11
14
-3
-2
-23
5
54
9
20
32
-29
5
-5
12
-9
1
4
-1
-12
-14
5
36
17
-30
-3
3
20
-2
-7
1
24
-45
54
-8
-3
-8
-19
-12
-4
-20
16
2
-10
-74
-27
-13
-4
5
-1
-26
23
1
14
0
7
-27
-9
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
-5
7
0
0
4
0
-3
15
3
0
0
2
0
0
0
2
0
0
1
0
0
7
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
1
0
0
0
-4
0
-17
2
0
0
0
0
0
-14
0
0
1
0
0
0
0
0
0
0
0
0
-16
-2
0
0
23
0
0
0
-35
0
0
1
0
0
0
70
0
0
0
0
0
0
0
0
2
-6
0
0
0
14
0
-3
0
0
0
0
-39
2
0
0
0
0
0
-42
0
0
0
0
0
0
32
0
0
0
0
0
-7
-13
0
0
-2
0
0
20
-7
0
0
-8
0
0
0
-9
0
0
0
0
0
0
-28
0
0
9
0
0
7
29
0
0
0
0
0
0
-11
0
0
0
0
4
0
5
0
0
0
0
0
0
38
-2
8
0
0
0
0
14
0
-1
0
0
0
0
-11
0
0
-8
0
0
0
32
0
2
0
0
0
0
5
0
0
0
0
0
0
-7
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
6
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
-5
0
3
0
0
0
0
24
0
0
-41
0
0
0
0
0
0
0
0
0
20
-30
0
0
-36
0
0
-6
10
0
0
20
0
0
7
-2
0
0
8
0
0
0
19
0
13
0
8
0
0
-12
0
0
0
0
0
0
16
0
2
0
0
0
0
-26
0
0
0
0
0
0
13
0
0
2
0
0
-2
14
0
0
43
0
0
11
10
0
0
1
0
0
20
-1
0
0
7
1
0
-4
64
0
0
-6
-1
0
0
7
0
0
1
0
0
0
37
0
0
-4
-1
0
0
-43
0
0
0
0
0
0
16
0
0
0
0
0
0
18
0
-1
2
0
0
0
34
0
-2
22
0
0
-1
57
0
0
-29
9
0
1
-13
0
0
-5
1
0
0
45
0
-3
3
0
0
0
-3
0
0
-10
0
0
0
61
0
14
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
-2
24
4
24
19
-6
-5
-8
-3
19
40
-59
-3
-9
0
0
-35
-2
-1
0
-24
0
0
0
9
4
0
-2
35
0
0
-10
-3
1
31
38
2
20
26
0
18
20
0
4
41
1
0
0
0
0
0
0
0
0
5
-8
-19
46
-6
6
0
22
13
-9
12
12
3
13
1
-1
1
-27
4
0
6
-30
-60
2
22
22
34
-19
-11
-26
-3
6
22
0
-40
0
18
8
-27
0
-7
-10
2
9
-6
-1
56
12
6
20
-7
68
-18
-11
-45
16
5
10
-3
61
31
-9
-10
34
9
-6
-8
0
-17
1
19
14
7
3
1
43
-40
12
-2
0
14
40
38
12
30
7
-2
1
22
-1
4
-8
-10
10
-26
89
3
3
0
-12
-15
-15
2
22
36
0
-3
-13
-6
-1
0
0
-17
-48
-23
17
32
0
6
-13
10
-2
-12
-2
-23
0
-2
27
-5
2
-2
23
1
-19
-23
-19
-46
-16
30
-2
-31
-43
-1
-8
25
1
1
-2
-18
10
8
16
39
5
0
-26
0
-8
-15
-13
52
0
-4
2
-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
-25
-6
0
0
54
0
2
5
1
0
0
-42
0
7
-1
-11
0
0
-13
1
19
0
-5
0
0
-8
-1
21
0
0
20
0
-3
0
-4
0
45
-33
29
1
0
0
48
-13
0
0
10
0
0
0
0
0
0
0
0
0
13
0
5
2
-27
1
0
27
41
0
-10
-20
2
0
-6
26
0
0
-21
-4
0
-1
32
0
-11
21
-9
0
0
14
0
0
0
7
-8
0
23
28
20
0
-2
18
1
17
-1
0
0
-9
0
16
-22
0
-10
17
1
0
-15
56
0
-1
36
15
0
6
0
0
7
-61
-1
-8
61
-20
0
0
-31
-3
0
-3
-29
0
2
49
23
-2
6
20
0
0
-7
0
-6
-3
-31
-7
-1
-8
-12
3
0
-1
-3
1
0
0
0
0
-6
13
1
0
0
0
8
-21
0
-4
-21
-1
0
0
16
0
1
61
10
0
-20
0
1
49
6
-1
0
43
-59
0
-1
-10
1
-9
-4
-25
0
10
-12
0
0
-1
-3
0
-1
9
0
0
0
-17
0
-8
0
0
0
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
1
0
0
0
2
0
-12
0
0
3
0
0
2
4
0
0
1
0
0
0
0
0
0
0
0
0
-23
-3
0
-2
1
0
0
-7
11
0
0
7
0
0
-1
-23
0
1
2
0
0
0
26
0
13
2
0
0
0
-3
0
0
0
0
8
0
10
-1
0
0
0
0
1
-12
0
0
0
0
0
-8
10
0
3
-11
0
0
0
-56
0
0
-4
0
0
6
36
0
0
-1
2
0
0
18
0
0
1
0
0
0
-34
0
0
1
0
0
0
69
0
0
0
0
0
3
18
0
0
0
0
-2
0
36
0
0
0
0
0
0
-13
0
0
0
0
0
0
2
-1
1
0
0
0
0
4
0
0
10
0
0
0
-12
0
0
2
0
0
0
-14
0
7
0
0
0
0
7
0
-2
2
0
0
0
-9
0
0
0
0
0
0
18
0
20
0
0
0
0
-19
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
1
-1
0
0
0
0
3
5
2
0
0
0
0
-12
0
10
0
0
0
0
18
0
0
5
0
0
0
10
0
-30
-18
0
2
0
0
-11
76
0
0
-3
0
0
0
0
0
0
0
0
0
-22
26
0
2
22
1
0
-22
-41
0
0
-28
0
0
12
14
0
2
27
0
0
1
20
0
15
-2
-16
0
0
5
0
0
0
0
1
0
26
-4
0
0
0
0
0
31
-2
0
0
0
0
0
3
0
3
-5
4
0
6
-33
0
0
-38
0
0
-3
69
0
1
-3
0
0
-17
-4
-1
-6
-11
-2
0
0
-27
0
0
11
10
0
0
-1
0
0
7
0
0
0
43
0
0
0
1
6
0
-16
0
0
-4
0
0
0
30
-8
0
9
0
0
-2
23
0
-1
0
0
0
0
38
1
0
0
0
0
7
-13
0
-5
6
0
0
9
22
-6
0
-18
0
0
0
-31
0
-10
32
0
0
0
-72
0
0
6
0
0
0
26
0
-11
0
0
0
0
-5
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-2
-1
24
5
0
0
46
28
9
0
-25
37
-71
-42
24
0
0
0
1
-52
-4
5
0
2
-12
3
18
0
-1
42
0
0
8
4
7
1
-14
-56
-2
-18
0
-11
-6
9
9
46
0
3
0
0
0
0
0
0
0
-28
7
-4
18
26
4
0
-18
7
-1
10
6
49
-1
27
11
1
34
-48
-1
12
6
-14
0
-32
-8
-58
8
-4
-9
2
1
2
0
-7
0
-21
33
34
0
0
-2
-6
5
-8
1
8
7
0
-2
-12
36
-25
32
13
15
28
20
1
10
30
-2
10
-33
10
-14
3
7
10
1
38
7
-6
-4
-3
11
8
18
10
-3
9
-21
1
-8
13
19
0
6
-18
6
-10
18
24
2
12
-3
-22
8
0
-11
20
-2
0
7
1
1
6
40
-12
13
-2
-1
-8
-15
15
23
1
0
0
21
19
8
-60
26
-24
-4
-12
22
0
73
-2
18
-3
62
5
15
7
-6
40
69
-30
19
2
-5
-15
-13
-6
-12
9
1
12
53
42
1
0
-5
-3
-34
0
0
47
0
25
40
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
27
0
-7
3
34
0
0
20
0
5
-6
-30
-2
0
7
0
13
2
1
0
0
-5
0
6
0
0
4
0
0
0
-14
1
10
-8
-3
1
0
0
-3
-24
1
0
30
0
0
0
0
0
0
0
0
0
-5
10
0
10
-33
0
0
51
-49
0
-3
-17
0
0
4
-38
0
-4
-22
2
3
1
-10
0
-14
33
0
9
2
-6
0
0
0
0
35
0
4
9
-31
0
0
1
0
2
6
0
-2
0
0
14
-8
-10
-3
-3
1
0
-4
43
0
3
43
0
0
74
-13
0
0
21
-7
0
-18
16
0
7
9
0
14
15
-37
1
0
-1
0
0
-7
6
0
15
11
0
-5
7
14
6
16
42
0
-1
0
11
-3
0
0
0
-2
0
-9
-14
0
0
0
0
5
-59
1
27
-9
0
11
18
27
-3
-2
17
0
0
-18
2
3
-18
28
-1
0
20
37
0
-2
30
-8
6
-1
3
0
-6
-9
0
0
2
12
0
11
0
0
6
0
-29
0
-11
7
0
1
0
3
-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
15
0
0
0
11
2
0
-9
1
0
1
-10
-4
0
-1
0
0
0
7
0
0
0
-3
0
0
-9
1
0
0
0
-62
0
-1
0
0
0
26
12
11
-13
0
0
-4
-24
0
0
51
0
0
0
0
0
0
0
0
0
9
3
0
0
-2
0
0
8
3
0
0
2
-15
0
4
-51
0
0
-4
0
0
0
63
0
-21
-9
11
0
0
41
0
-2
0
0
0
0
22
12
0
1
1
0
0
9
-2
0
-2
0
0
7
-14
0
0
27
0
0
-11
19
0
3
38
0
0
25
-21
0
0
32
22
0
1
5
0
-6
14
1
0
-3
14
0
0
-41
-7
0
-1
43
0
2
2
0
0
0
-34
0
1
0
-9
0
0
16
0
-3
0
0
0
0
4
0
0
0
0
0
6
-18
11
23
-10
0
0
10
-16
0
14
61
1
0
11
-3
0
5
11
-3
0
-8
18
0
0
26
-17
0
-2
-7
0
29
0
0
0
0
49
0
-2
0
0
0
0
-53
0
-24
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
40
37
-11
12
-2
-11
13
-8
9
-1
-65
0
-14
-6
10
2
0
27
-18
-2
0
1
34
0
0
24
-10
1
-4
-24
-4
16
-40
1
2
14
54
1
-22
-7
1
0
0
0
0
0
0
0
-8
-18
9
-6
-11
21
-9
54
3
-39
24
1
20
-1
15
6
-21
20
1
9
-21
0
6
1
27
-33
21
-5
34
3
20
0
-11
13
9
15
13
7
45
-2
35
0
-1
-5
-20
-10
4
36
0
-16
2
31
-11
-34
-20
37
22
23
-32
26
-12
13
-6
-15
18
-8
27
-26
-9
17
40
19
2
36
-7
9
38
-16
17
10
-5
25
-31
-30
3
3
1
0
24
-5
26
14
-10
0
2
-3
7
-7
0
-3
-17
1
1
4
-29
2
-14
-33
-11
3
-4
0
-24
8
36
28
-4
22
25
0
-14
28
-59
35
7
8
9
7
-8
12
10
-14
-20
-60
16
-7
15
17
-23
-9
-10
-19
0
-23
24
30
12
18
-6
13
-25
11
34
-5
-6
-8
1
11
10
7
-20
0
22
2
30
-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
-33
-42
0
-1
15
0
-2
48
63
0
0
4
1
4
0
51
0
0
6
-1
30
0
0
-2
0
0
0
4
0
4
8
4
-8
0
0
-3
19
0
0
17
0
0
0
0
0
0
0
0
0
5
7
1
3
-15
8
0
-5
0
6
4
13
0
0
19
29
0
2
-4
0
0
18
14
-4
-41
7
13
0
-2
26
0
0
0
1
-1
0
-21
-4
-12
0
-3
0
0
-7
-13
0
0
-4
0
3
-47
1
6
34
0
0
-8
50
0
1
3
0
1
-1
19
-1
0
-2
-10
0
71
0
0
2
-26
11
-8
-8
-1
4
27
21
0
0
1
1
0
0
-18
0
6
0
74
0
0
-1
2
-15
0
-15
0
-2
0
0
0
0
21
8
0
0
1
0
-1
17
0
-12
8
0
4
-9
25
0
-28
31
4
0
1
-46
0
12
11
1
0
-28
0
0
-1
-8
4
-6
3
2
0
22
2
0
0
0
7
2
-1
7
0
0
-2
9
0
2
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
1
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-33
0
0
-1
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
-2
54
0
0
4
0
0
4
13
0
0
0
0
0
1
10
0
0
0
0
0
0
-12
0
-2
2
0
0
0
12
0
0
0
0
0
0
45
1
0
0
0
0
0
-19
0
0
0
0
0
0
27
0
0
0
0
0
3
4
0
0
3
0
0
0
-42
0
0
4
0
0
8
26
0
0
0
0
0
0
7
0
0
0
1
0
0
14
0
0
0
0
0
0
1
0
0
0
0
0
0
25
0
0
0
0
0
0
21
0
0
0
0
0
3
5
0
-4
0
0
0
0
3
0
0
-3
0
0
0
13
0
13
0
0
0
0
39
0
0
1
0
0
0
0
0
0
0
0
0
0
15
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
10
0
0
0
0
0
-21
8
3
0
0
2
0
0
2
0
0
0
0
0
12
0
0
-1
0
0
0
0
0
-14
0
0
0
0
0
1
44
0
0
10
0
0
0
0
0
0
0
0
0
-10
38
0
0
2
1
0
-10
-7
0
0
3
0
0
-10
31
0
0
1
0
0
13
-2
0
-35
0
0
0
0
-11
0
0
0
0
0
0
33
0
0
0
4
0
0
5
0
0
0
0
0
0
52
8
0
7
0
0
6
-40
0
0
6
0
0
6
32
0
0
-18
10
0
0
-13
0
0
-18
7
-1
0
-29
-6
0
0
0
0
-20
-12
0
0
0
0
0
0
8
-2
0
-1
-8
0
0
34
0
0
0
0
0
0
2
0
-3
0
0
0
3
-10
0
-2
0
0
0
2
-62
0
0
4
0
0
0
-45
0
0
-42
0
0
0
1
0
-6
3
0
0
0
19
0
1
0
0
0
0
1
0
0
0
0
0
0
21
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
-40
-7
4
1
-41
24
-4
11
-37
0
0
-2
0
-40
0
-17
0
0
0
-22
67
0
0
4
0
0
-10
-23
0
22
44
11
2
-4
0
0
-13
-1
-2
61
8
0
0
0
0
0
0
0
0
-14
-24
0
2
48
0
0
40
-9
2
-22
-34
-10
-4
2
-1
1
8
0
-3
2
-1
-26
-1
23
7
16
0
-9
-4
0
0
0
-2
0
0
16
48
-27
0
0
0
0
-19
45
0
0
1
0
32
-10
-77
-37
1
1
-1
-2
1
-7
3
-70
-6
9
40
-4
0
2
-15
-10
0
-32
4
0
0
-18
13
-1
39
-11
4
5
71
-60
11
-32
-7
0
-1
-4
-4
4
6
16
2
-2
3
4
-4
8
19
4
0
0
-6
2
0
1
26
0
0
8
0
-6
-28
0
46
-7
2
0
0
22
0
56
-3
-8
-1
26
-13
-2
15
34
-6
6
28
34
0
1
63
0
0
1
8
0
-7
14
0
-1
-2
-19
0
0
45
10
0
0
1
0
16
0
9
-12
0
28
-2
-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
-4
0
0
-1
0
0
0
-3
0
0
0
0
-9
0
0
-11
0
0
0
0
0
78
0
0
0
0
0
0
36
0
0
-6
0
0
0
0
0
0
0
0
0
1
-7
0
0
1
0
0
1
-20
0
0
-29
0
0
-10
7
0
0
0
0
0
0
-5
0
-36
0
0
0
0
-1
0
0
0
0
0
0
-25
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
-16
-7
0
0
0
8
0
0
0
0
0
-1
-7
0
0
5
0
0
-3
17
0
0
2
0
0
0
-7
0
0
6
0
0
0
37
0
0
0
0
0
0
-9
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
-6
15
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-18
0
-1
0
0
0
0
-6
0
0
-1
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
13
0
2
0
0
0
0
0
0
0
-1
0
0
0
15
0
0
0
30
0
0
0
0
0
15
-32
0
0
0
0
19
-15
0
0
-28
0
0
0
0
0
0
0
0
0
31
0
0
0
43
0
0
34
-20
0
3
4
0
0
-4
5
0
0
27
-2
0
10
-10
0
-8
39
1
0
0
6
0
0
0
0
0
0
20
-28
6
0
0
0
0
29
-1
0
-1
0
0
8
-24
0
0
4
0
0
18
-11
0
0
-16
0
0
43
14
0
1
-11
34
0
-13
1
0
2
2
0
0
36
33
0
-21
-7
-11
0
-4
13
0
0
12
0
0
0
20
0
1
0
14
0
0
26
0
-8
0
0
0
0
-12
-1
0
0
-3
0
-2
-5
0
7
0
0
0
-3
16
0
4
22
0
0
6
41
0
-35
36
0
0
0
6
0
8
2
-6
0
-7
56
0
0
-7
0
0
-2
32
-1
-7
-7
-1
0
0
34
0
25
-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
5
-11
-1
0
-43
4
8
0
-22
0
0
8
3
-88
0
0
-62
0
0
0
0
0
-6
32
-1
0
-2
0
16
2
1
-2
-19
0
-9
0
0
0
0
0
0
0
7
3
0
1
-11
-1
0
27
-27
-4
-7
7
2
0
8
-6
2
1
-3
2
0
0
37
0
35
-17
-2
-5
0
-6
0
0
-2
-1
32
0
-24
12
-9
0
-4
0
-4
-45
0
0
2
0
0
0
13
2
15
31
14
12
9
-8
0
-12
-20
0
0
14
9
0
14
7
23
-6
-6
4
7
12
-40
-21
0
28
12
-4
-25
20
-21
3
0
24
0
-2
43
0
27
0
63
-9
2
3
17
-17
0
3
4
0
0
-4
0
0
-32
12
3
0
0
0
1
-2
1
11
-9
0
3
0
-11
0
-38
12
7
0
0
-4
0
50
7
0
0
0
28
0
18
3
20
-2
-2
14
0
29
-16
-7
0
0
15
0
-11
0
-8
1
0
9
0
36
0
0
-12
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
1
0
-1
3
3
0
0
1
0
3
0
-2
-10
0
0
9
0
0
20
-4
27
-16
0
0
-8
6
3
-7
14
0
0
0
0
0
0
0
0
0
3
3
-10
0
32
0
0
51
1
0
0
10
2
-1
49
0
0
1
-17
-4
0
0
36
0
6
-2
0
0
-3
-70
0
0
2
0
3
0
-11
13
5
0
0
0
0
-12
-5
0
0
-2
0
3
31
-11
9
22
9
-13
32
4
0
1
44
0
0
-40
9
0
-10
27
8
0
4
-19
0
1
11
0
6
12
0
1
0
-15
5
-8
-1
-3
0
0
0
-3
-2
0
-29
0
0
0
8
-2
0
23
0
3
0
-2
0
0
22
3
4
3
0
0
2
-31
-4
-19
-9
0
-4
0
-17
0
14
43
-1
0
2
32
-2
-14
-15
0
0
20
-5
3
24
12
-12
-2
-3
0
0
-18
-7
0
0
0
43
0
6
-1
3
0
0
-9
0
-21
0
0
1
0
-34
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
4
0
0
0
0
0
45
0
0
0
0
0
0
32
0
0
4
0
0
0
0
0
0
0
0
0
11
18
0
1
-1
0
0
0
16
0
0
2
0
0
3
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
3
0
0
0
0
0
0
-9
0
0
0
0
0
0
13
0
0
0
0
0
0
23
0
0
0
0
0
0
3
0
0
0
0
0
0
16
0
0
0
-7
0
-1
36
0
0
-6
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
12
0
0
0
0
0
0
2
0
3
0
0
0
0
14
0
0
0
0
0
0
16
0
0
-4
0
0
0
-2
0
-1
0
0
0
0
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
18
0
0
0
-6
-7
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
13
2
0
14
15
0
0
-1
2
0
0
-10
0
0
-3
0
0
10
0
0
-3
-11
0
0
0
52
0
0
0
0
0
0
23
0
0
0
-1
0
0
14
0
0
0
0
0
0
4
0
0
1
0
0
0
5
0
8
0
0
0
21
-11
0
0
-3
1
0
19
17
0
0
33
0
0
-2
0
0
0
10
0
0
-1
37
0
0
2
0
0
0
-15
0
0
0
0
0
0
88
0
0
0
0
0
0
4
3
0
0
0
0
0
-2
0
0
0
0
0
0
8
0
0
0
2
0
-17
19
0
0
-1
0
0
0
21
0
0
0
0
0
0
2
0
2
-1
0
0
0
2
0
0
0
0
0
0
-12
0
0
6
0
16
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
1
0
0
8
0
-18
10
-33
1
0
0
-5
-14
0
0
-18
0
0
0
41
0
-33
-41
-12
-2
6
0
-52
-15
-2
0
-13
0
0
0
0
0
0
0
0
0
0
16
-2
-13
24
1
0
-12
-3
-2
-2
53
12
-2
-24
22
0
0
23
0
-3
-4
27
0
31
1
44
9
4
-39
0
0
0
0
0
0
2
-22
-10
0
17
0
0
-25
33
0
0
0
0
17
8
2
-6
0
-3
-2
8
38
0
-2
-2
-3
4
-2
15
0
-47
2
-12
-1
25
-24
2
-7
55
-4
0
-1
-23
-11
1
4
-24
-6
0
-8
0
0
-1
0
65
0
21
2
-7
0
18
-17
0
1
30
0
0
12
-2
0
40
12
0
6
0
0
1
-37
0
22
57
1
-9
-8
13
0
0
12
-12
-7
23
27
-1
-35
-26
0
3
3
0
2
8
8
34
-8
-3
16
0
-27
13
0
4
0
13
0
-5
-1
6
-1
0
5
1
7
0
0
17
0
23
-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
-60
0
0
0
0
0
-3
-3
11
0
0
0
0
-25
0
0
-6
0
0
0
1
0
-22
0
8
2
0
0
5
-45
0
2
24
0
0
0
0
0
0
0
0
0
-7
-12
0
0
-38
0
0
32
-48
0
0
43
0
0
8
14
0
0
4
0
0
0
30
0
3
-3
0
0
-2
48
0
0
0
0
0
0
33
-2
0
0
0
0
0
-9
0
0
0
0
0
1
-18
1
-2
52
0
0
2
-11
0
0
5
0
0
6
-9
0
0
-27
0
0
-18
-22
-1
0
5
0
0
14
5
1
0
-2
0
0
0
27
0
0
3
0
28
0
40
-3
0
0
0
10
0
17
0
0
0
0
0
0
54
0
0
0
0
0
0
16
0
5
3
0
0
-3
-14
0
0
-40
0
0
2
-2
0
0
1
0
0
0
-6
0
-2
-8
0
0
0
29
1
18
-7
0
0
0
-3
2
-2
0
0
0
0
-7
0
14
0
0
0
0
21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
25
0
0
-2
0
0
0
17
0
2
-8
19
0
0
0
-10
0
0
-3
0
10
9
38
2
18
0
0
21
5
0
2
-16
0
0
0
0
0
0
0
0
0
5
-2
0
-4
7
0
0
58
19
0
0
-15
-37
0
27
-31
8
0
-10
0
0
11
-34
0
4
-3
2
0
0
33
0
0
0
-1
0
0
-1
-5
2
0
11
0
0
-12
-14
0
-2
0
0
-7
-14
0
-4
-19
-12
0
16
27
0
0
-8
0
0
18
2
0
-4
-50
7
0
-37
-15
0
13
-22
0
0
-4
-6
1
0
22
39
0
4
-11
0
-1
-18
0
0
0
11
0
1
3
4
0
0
42
0
0
7
0
0
0
13
6
-2
0
0
0
2
10
0
-6
12
0
0
11
4
0
-3
27
0
0
-1
31
0
6
25
0
0
9
1
-1
0
-24
21
0
11
16
0
1
11
0
0
-8
-4
0
6
19
-1
0
8
6
0
-6
-2
3
0
0
35
0
-15
-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
11
0
0
10
23
-62
0
-1
4
0
0
-1
7
1
-13
-6
-16
0
3
0
9
-11
4
2
-49
4
2
0
0
0
0
0
0
0
16
-16
-4
0
0
0
-6
13
-10
0
0
12
-1
0
22
-22
0
-9
-2
2
0
-1
-1
0
7
-23
-29
0
-1
-12
0
0
10
0
0
0
4
17
-16
0
15
0
0
-10
-4
-1
0
-1
0
10
-28
0
-3
20
-4
0
-69
-7
0
13
-4
12
-1
43
-2
-7
-17
-36
21
0
67
8
-1
-10
6
-33
24
-2
41
1
2
45
21
-4
-3
28
0
-2
10
9
-30
0
11
-2
1
-6
6
-4
0
13
0
0
0
-1
0
0
-15
35
6
-8
0
0
4
15
0
49
-22
-1
-7
3
-25
7
29
-1
-19
0
-15
-21
0
8
7
-1
0
0
6
0
2
-6
-4
0
-1
25
0
-28
1
6
2
0
30
0
-7
-2
-41
-6
0
-4
0
26
-3
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-1
0
0
0
-3
0
14
7
-4
0
0
0
34
-2
0
0
-10
0
0
0
0
0
0
0
0
0
-10
0
4
1
7
4
1
21
-24
0
8
28
1
0
-4
63
0
0
6
0
3
8
0
2
17
4
4
0
0
7
0
0
0
0
-4
0
19
1
-9
0
0
0
0
33
0
0
0
0
0
1
49
6
6
67
1
-3
5
-22
-4
0
2
0
0
-12
29
-2
47
-12
11
0
60
-2
0
0
16
-2
0
0
26
0
0
-15
3
0
0
0
6
0
-8
4
0
0
31
0
3
0
-3
17
0
45
1
6
0
0
0
0
2
-1
0
0
1
0
-4
6
0
3
-20
4
0
4
-27
0
-6
41
0
0
-2
-5
0
33
-21
1
0
4
-25
0
8
-32
-5
0
7
-11
0
32
9
0
0
-4
0
0
0
1
7
0
0
31
0
19
7
0
0
0
-11
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
19
0
0
2
0
0
0
0
0
0
0
0
0
-5
33
0
0
0
0
0
28
20
0
0
0
0
0
0
-4
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
0
0
-9
0
0
8
0
0
0
10
0
0
0
0
0
0
-14
0
0
0
0
0
0
28
0
0
0
0
0
0
16
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
2
0
1
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
-9
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
-1
0
0
0
14
0
0
0
0
0
0
7
0
0
0
0
0
-1
-1
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-36
0
0
0
0
0
0
55
0
0
0
0
0
0
-9
0
0
0
0
0
0
-33
0
0
-1
0
0
0
-7
0
0
0
0
0
0
-17
0
0
-5
0
0
0
-1
0
0
0
2
0
0
-44
0
0
0
0
0
0
-8
0
0
0
0
0
0
55
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
-3
0
0
0
34
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
13
0
0
0
7
-31
0
0
-8
0
0
0
-2
0
15
-2
-1
4
0
0
-6
0
0
0
35
0
0
0
0
0
0
0
0
0
6
0
3
5
-32
0
0
-9
-3
0
2
-4
0
0
-1
-39
0
0
10
-2
0
10
0
0
18
4
-2
-2
0
47
0
0
0
1
0
0
-7
6
-6
0
0
0
0
35
0
0
0
3
0
0
-22
1
0
0
0
0
-10
22
0
0
-3
0
0
-1
-15
-7
1
85
7
-1
3
-15
2
4
-1
-3
-1
9
22
0
9
0
-6
-1
0
6
1
-1
1
0
15
0
-34
0
-7
0
0
41
0
-33
0
0
0
-2
0
0
-4
0
0
0
0
0
2
-6
-11
-2
0
-1
0
1
-35
2
-2
3
-2
0
0
-15
0
15
-3
1
0
0
22
-3
0
0
-6
0
9
-7
0
-26
-6
-6
-3
0
-30
0
0
0
4
0
0
20
0
0
0
0
-2
0
52
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
-2
-57
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
0
0
-5
0
0
0
16
0
0
0
0
0
6
-2
0
0
0
0
0
1
-1
0
3
0
0
-1
0
-13
0
0
0
0
0
0
10
0
0
0
0
0
0
-50
0
0
0
0
0
0
-10
0
-3
0
0
0
0
-9
0
0
13
0
0
0
8
0
6
-6
0
0
0
-7
0
0
0
0
0
-8
1
0
0
1
0
0
-1
-5
0
0
0
0
0
0
-6
0
0
0
0
12
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
21
0
0
0
0
0
0
8
0
2
0
0
0
0
-2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
-1
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
28
0
0
5
3
0
0
0
46
0
0
0
0
0
0
-8
4
-2
0
0
12
-16
0
0
-15
0
0
0
0
0
0
0
0
0
-15
-10
0
-6
15
1
0
7
22
0
1
2
-57
0
7
-14
0
-8
48
0
0
4
38
-2
-8
-1
17
0
0
-8
-10
0
9
0
0
0
0
-14
-10
0
-7
0
0
-5
1
0
-6
0
0
16
4
0
0
-14
-6
0
24
33
-1
0
18
-3
0
1
-22
0
-24
13
4
0
-35
14
0
0
25
0
0
9
-19
-4
-1
27
-31
0
17
25
0
-6
-15
0
0
-1
6
0
0
-2
0
0
0
-15
0
0
0
2
0
1
25
-7
0
0
0
0
5
0
0
49
-28
0
0
-6
35
0
1
47
18
0
9
-10
4
35
-25
0
0
-2
-3
0
26
-2
0
0
0
-14
0
-21
-5
0
0
2
20
0
-9
6
4
0
0
26
0
73
-1
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
2
0
0
0
0
0
-28
0
-4
0
0
0
0
-18
0
0
1
0
0
0
0
0
0
0
0
0
0
29
0
0
19
0
0
0
40
0
0
0
0
0
1
0
0
0
-7
0
0
0
21
0
-12
-1
3
0
0
22
0
0
0
0
0
0
41
8
0
0
0
0
0
3
0
0
0
0
0
0
10
0
0
-4
0
0
-3
-5
0
0
8
0
0
-2
57
0
0
-1
9
0
0
-49
0
0
-2
0
0
0
-8
0
0
-3
0
0
0
-7
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
2
-12
0
0
-4
0
0
0
-13
0
0
0
0
0
0
-8
0
0
0
0
0
0
-6
0
0
2
0
0
0
4
0
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
-14
0
14
-4
4
0
0
0
5
-13
-2
0
-9
0
-2
0
0
0
0
0
0
0
-14
-4
18
18
-6
0
0
-38
6
0
0
22
1
0
-1
-24
0
-2
31
0
0
0
-13
0
-32
1
-13
0
-1
0
-3
-1
-4
4
-6
0
13
-9
-20
0
0
0
0
32
-17
0
0
0
0
1
-21
10
11
26
0
13
-7
14
0
-1
-23
0
1
17
-13
4
0
-7
-7
0
-41
24
0
-19
20
4
0
17
-3
0
1
-35
4
3
1
8
0
0
0
0
-10
0
0
0
0
0
-4
0
0
16
1
0
0
-2
0
0
46
12
0
0
-1
0
-2
-7
0
-11
7
0
-10
0
24
0
-6
10
-3
0
-20
-6
0
-7
34
0
2
1
29
1
-3
13
-3
-1
0
-27
0
-15
-11
0
-2
0
-2
0
0
-1
0
0
0
0
0
2
-7
-2
7
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
-4
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
1
0
0
0
-13
0
0
3
0
0
0
-21
0
0
0
0
0
0
0
0
0
10
0
0
0
4
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
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
11
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
22
0
0
0
0
0
0
-7
0
0
0
0
0
0
7
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
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
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
2
0
0
0
0
0
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
-32
-6
0
0
34
-1
0
-6
-23
0
0
0
-9
0
2
-2
0
0
-1
0
0
0
17
0
21
0
-6
0
0
22
0
0
0
0
-8
0
29
0
0
0
0
0
0
-3
0
-2
0
1
0
0
15
0
0
0
0
0
-1
-43
0
0
20
0
0
2
-29
0
0
0
1
0
15
4
0
0
2
0
0
0
15
0
0
0
12
-11
0
-30
0
0
2
0
-6
0
1
0
0
0
-3
0
0
-1
0
0
0
9
0
0
-24
2
0
0
0
0
0
25
0
-7
0
0
0
0
-19
0
0
0
2
0
0
10
0
0
0
0
0
-1
16
0
0
0
4
0
0
49
0
2
0
0
0
0
0
0
0
0
0
0
0
18
0
-1
0
-1
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-9
4
0
0
0
3
-25
0
0
25
0
-3
0
0
0
0
0
0
0
1
37
0
4
0
0
0
60
2
0
0
22
0
-1
1
6
0
0
13
0
0
0
-2
0
-12
-3
0
-1
7
1
0
0
-1
0
5
0
4
-2
0
0
0
0
0
12
0
0
0
0
0
-1
40
0
0
9
0
-3
-9
-29
0
0
-11
0
0
-3
-10
0
-10
4
0
0
-3
-20
0
-9
34
-7
0
9
-2
-3
4
-17
0
0
0
33
0
0
8
0
9
8
-5
0
0
-7
0
32
0
12
0
0
4
0
0
0
-3
0
0
0
0
0
0
29
0
-38
2
0
-1
-3
40
1
1
-1
0
0
-3
41
0
21
-2
0
0
4
3
0
-6
6
0
0
-2
7
0
31
0
0
0
0
-15
0
0
3
0
0
0
26
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
14
-13
0
0
-6
0
7
0
-4
-50
8
-18
0
-10
5
16
-5
-2
0
0
0
0
0
0
0
0
0
-3
27
6
-27
-45
-4
0
28
-19
0
-13
-12
37
0
54
4
0
29
17
0
0
-5
26
9
4
-9
-8
0
14
6
-31
-6
-10
0
0
0
18
15
10
1
-23
0
1
-2
13
1
-2
-12
0
12
8
16
19
22
-18
0
-26
4
25
-10
7
6
0
28
31
26
-2
-7
3
0
22
7
8
41
24
7
0
20
25
33
44
3
51
0
10
13
0
-24
-41
0
0
-1
19
37
-43
-27
16
0
0
22
-3
28
-3
-1
0
2
-19
13
4
-5
-15
0
-11
0
-15
-11
-19
-11
0
-7
-5
-12
10
-1
-35
0
27
23
-1
-21
7
8
3
-51
8
7
6
12
28
0
9
20
-1
-23
49
1
0
7
45
0
-2
77
-17
0
0
-9
-15
-49
19
-4
0
0
15
-11
6
-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
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
-6
0
0
2
0
0
0
0
0
0
0
0
0
14
36
0
1
-8
0
0
0
-10
0
0
0
0
0
-8
-19
0
0
0
0
0
0
-42
0
24
0
0
0
0
-6
0
0
0
0
0
0
0
0
-3
0
0
0
0
-20
0
0
0
0
0
0
13
0
0
0
0
0
-2
11
0
0
16
0
0
-3
-27
0
0
-3
0
0
0
45
0
0
23
0
0
7
-1
0
0
2
1
0
20
12
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
33
0
0
0
0
0
0
-15
0
0
-13
0
0
0
32
0
0
0
0
0
0
-8
0
0
15
0
0
0
5
0
0
1
0
0
0
14
0
0
0
0
0
0
12
0
-1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
31
-10
-6
-1
0
13
-10
1
-4
-22
0
0
0
0
0
0
0
0
0
-10
-6
-2
-12
-9
0
-2
-45
-17
0
0
6
-37
0
36
-43
0
-10
23
0
5
-14
-3
0
-9
10
21
2
0
21
1
0
7
0
-5
0
-30
0
34
0
-4
0
0
2
9
0
1
-8
0
7
-11
7
-3
-32
-12
0
-22
-10
0
-2
-10
0
0
27
6
0
36
-35
16
0
5
-28
4
-5
32
3
15
-1
-10
-3
54
13
-21
-2
10
6
0
-7
-5
2
26
0
18
0
-1
1
34
5
0
-14
0
-1
0
16
0
0
-10
-6
0
10
0
0
0
-24
4
8
13
0
19
7
-53
0
0
25
1
0
-17
-8
0
-33
-15
-1
0
-11
-3
0
-27
6
-18
0
1
22
0
-19
27
-7
1
-4
41
0
-4
0
16
-1
0
26
0
6
-1
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
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-3
0
0
0
0
0
0
-19
0
0
0
0
0
0
-24
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-29
0
0
0
0
0
0
-13
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
24
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
8
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-12
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
15
0
-2
8
0
0
0
-13
0
0
-3
0
0
8
17
0
0
-1
0
0
0
-6
0
24
-8
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-26
0
0
0
0
0
0
-17
0
-2
0
0
0
-2
7
0
0
2
0
0
0
8
0
0
1
0
0
-8
30
0
0
8
0
0
0
-12
0
0
0
-21
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
30
0
0
0
0
0
0
37
0
0
0
0
0
0
14
0
-2
0
0
0
0
-9
0
0
-12
0
0
0
23
0
1
0
0
0
0
18
0
0
-10
0
0
0
2
0
0
3
0
0
0
-2
0
0
0
0
0
0
31
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
5
36
0
0
-4
-10
7
0
0
0
0
0
0
0
0
0
0
0
-7
4
0
2
-70
0
0
62
3
0
-4
-10
32
0
35
8
0
0
13
-3
0
0
5
0
10
-8
36
0
0
10
9
2
0
2
0
0
4
-41
19
0
1
0
0
27
46
0
10
3
0
24
-4
-4
0
-13
-1
0
-46
7
-3
0
-31
0
0
53
-6
0
0
60
2
0
85
10
-3
0
-35
0
0
-1
30
6
0
36
21
0
0
7
0
0
9
0
0
-4
19
0
22
12
16
0
0
25
-6
1
0
0
0
0
40
1
0
3
0
0
-5
1
-3
4
25
0
0
4
21
0
-12
28
6
0
-18
18
0
13
-66
6
0
-1
-48
2
-18
8
-6
0
11
-33
-7
-14
4
0
0
0
10
0
6
-21
12
0
0
5
0
-14
3
0
0
0
7
-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
-22
0
0
-2
0
0
0
0
0
0
0
0
0
-8
11
0
0
22
0
0
0
30
0
0
2
0
0
0
1
0
0
0
0
0
0
3
0
6
0
0
0
0
-6
0
0
0
0
1
0
-11
0
0
0
0
0
0
37
-6
0
0
0
0
0
-52
0
0
0
0
0
0
-6
0
0
-2
0
0
7
-9
0
0
0
0
0
0
-60
0
0
-1
0
0
0
18
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
-7
0
0
3
21
0
0
-1
0
0
0
45
0
0
0
0
0
0
-3
0
0
0
8
0
0
7
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
11
7
-19
0
0
0
0
0
0
0
27
2
0
-7
32
67
1
49
4
-2
-7
0
-34
-6
10
-9
-4
-17
-5
-38
-6
28
2
13
-3
18
-14
-7
17
-9
-10
-37
44
-9
-1
-7
-3
8
5
18
24
5
8
0
14
16
-44
54
35
8
18
28
74
-13
-3
14
0
-5
0
-7
-6
-11
4
13
4
-47
16
29
26
3
8
-2
36
-11
35
6
-53
10
0
11
-17
-37
-30
14
-46
-5
12
38
15
-3
34
30
-10
17
34
10
38
12
54
-2
-10
-30
4
33
-8
-43
0
-36
-18
14
10
-3
13
-3
8
-21
-2
10
-35
33
-16
9
29
7
-12
16
-48
-9
1
19
9
-2
16
33
-6
27
-40
13
66
27
-14
4
-29
-13
26
-14
-14
-6
17
-15
15
34
21
16
-4
-4
16
5
-5
-15
-3
-5
11
-37
21
-11
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
28
9
0
1
-34
0
0
0
0
0
0
0
0
0
6
13
1
1
-20
0
0
-37
-41
0
-1
-15
-8
-3
-28
-9
0
5
-11
-4
2
4
-30
0
-6
1
-19
0
0
-50
0
0
-2
-6
8
-1
22
20
-2
0
0
0
0
-5
0
0
0
-1
0
-7
50
-10
-1
-3
14
1
74
1
2
1
-14
0
0
43
-13
0
-1
-2
23
0
-25
-22
0
0
-2
-13
0
22
-9
0
6
13
18
-5
6
37
0
0
0
6
-2
-4
16
0
2
-1
0
34
0
28
0
2
0
0
0
0
-41
0
0
-1
0
0
14
54
-1
-32
60
0
2
0
12
0
-2
-32
2
0
-1
35
-3
23
1
-3
3
0
-36
0
20
-7
-2
0
0
-23
0
-14
1
0
0
0
-21
0
0
0
0
0
0
-18
0
20
0
0
0
0
14
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
7
21
-3
0
76
0
0
0
0
0
0
0
0
0
-16
18
0
0
29
0
0
5
-6
0
0
-3
-1
0
2
1
0
0
16
1
0
0
-58
0
6
16
-21
0
0
-14
0
0
0
0
14
0
37
29
0
0
-2
-10
3
-4
-5
0
-2
0
0
2
15
-6
10
27
1
4
-4
-14
0
0
-31
0
-1
-2
22
10
2
-20
4
0
17
48
1
0
-8
0
0
21
-60
-3
0
-16
20
6
10
-10
0
0
4
0
-1
0
-18
0
0
26
-13
-4
0
4
-1
6
0
0
-15
0
3
0
0
11
0
0
0
16
3
-23
17
0
0
2
-31
0
-4
-18
-2
0
11
29
0
-6
0
0
0
-1
47
0
-6
5
42
0
0
0
0
-13
-2
0
0
1
20
0
-3
-1
-7
0
0
-9
0
-21
-2
7
0
0
15
-13
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
16
0
0
0
0
0
0
0
0
0
0
0
0
-34
-18
0
-2
5
0
0
-3
15
0
0
-28
0
0
-2
6
0
0
4
0
0
0
60
0
-2
3
-14
-2
0
0
0
1
0
0
-11
0
-29
30
0
0
0
0
0
5
0
0
0
0
0
6
11
0
0
0
0
0
3
54
0
0
2
0
0
2
35
0
0
1
1
0
0
-16
0
0
45
0
0
0
12
0
0
0
2
0
0
-4
0
0
-2
0
-2
0
-2
0
0
0
-1
8
0
-17
0
0
0
0
0
0
-21
0
0
0
0
0
0
4
0
-3
0
0
0
0
24
0
-1
-1
0
0
9
-23
0
-1
21
0
0
0
37
0
4
0
0
0
0
39
0
-4
0
0
0
0
27
0
0
0
0
0
0
-22
0
9
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
8
0
0
0
0
0
0
0
0
0
0
-32
0
-2
44
0
0
0
32
0
0
-19
0
0
0
26
0
0
-3
0
0
1
-12
0
-3
2
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
0
11
0
0
0
0
0
0
15
0
0
0
0
0
-3
8
0
0
-40
0
0
8
-31
0
0
-19
0
0
0
-28
0
0
-3
0
0
0
47
0
0
-6
0
0
0
11
0
0
0
0
0
0
14
0
0
0
0
-3
0
-7
0
0
0
0
0
0
28
4
0
0
0
0
0
3
0
21
-2
0
0
0
-13
0
0
0
0
0
0
65
0
-3
-2
0
0
0
39
0
-1
0
0
0
0
6
0
3
0
0
0
0
-5
0
0
0
0
0
0
46
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
53
0
-9
36
6
-1
-82
-9
2
0
-12
-23
-7
-7
-14
8
-3
15
-1
7
0
17
-1
18
10
-16
-11
4
32
3
0
6
0
-6
0
17
-6
0
0
8
7
0
-7
38
0
0
0
0
0
5
0
0
-3
0
0
76
-43
0
2
9
-1
0
25
17
0
0
26
-18
-3
-10
2
0
14
-17
-28
-3
-14
-23
4
-2
27
-8
0
17
8
0
8
-2
0
-3
0
10
0
0
5
-6
-15
0
6
2
-1
0
0
0
0
1
-4
0
0
-1
0
0
23
0
60
10
0
0
1
42
0
13
6
8
0
-2
-34
0
41
9
-3
0
-6
-60
0
16
24
-8
2
-4
-36
0
18
12
0
0
-4
36
6
2
55
-9
0
0
28
0
17
0
0
-3
0
5
-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
6
5
-7
34
-5
-20
-52
10
-3
-1
34
11
-8
23
6
-9
52
9
1
-45
-24
15
-4
62
-3
3
2
44
-59
-23
8
-19
26
43
-21
-6
-2
-18
-4
17
6
37
30
8
-49
-72
29
-21
-13
-6
0
10
-5
7
-38
-39
-3
-4
-10
-21
12
12
58
-10
2
52
13
12
3
11
26
-3
-22
23
25
-15
48
-20
5
13
30
36
-14
64
-12
0
-32
-51
13
30
-8
13
-15
65
5
-22
19
-12
-3
-7
-3
-46
-29
5
47
6
1
-40
12
-62
16
10
21
0
19
55
17
-16
40
13
-5
28
-8
-11
37
-2
23
-3
17
-27
-16
-27
31
-2
-13
-56
5
-14
-4
68
-27
6
-22
-17
-1
10
9
1
-13
4
4
-34
-24
16
-15
5
-7
16
-24
7
51
2
17
-2
-19
-24
-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
18
-16
0
0
-38
0
0
-4
-20
0
0
12
0
0
2
55
0
0
3
0
0
0
-9
0
41
-13
0
0
0
-7
0
0
0
0
0
0
5
2
0
0
0
0
0
-1
2
0
0
0
0
0
68
0
-7
1
0
0
1
41
0
0
29
0
0
1
71
0
0
15
0
0
2
-3
0
0
-15
0
0
3
31
0
0
0
-6
0
0
15
0
0
7
0
0
0
37
0
0
4
0
0
0
-33
0
0
0
0
0
0
18
-16
6
-1
0
0
0
7
0
3
0
0
0
0
-10
0
0
-18
0
0
1
-51
0
-2
0
0
0
0
-4
0
-2
2
0
0
0
-21
0
-3
0
0
0
0
16
0
0
0
1
0
0
18
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
-4
0
13
0
0
-2
-5
0
0
-4
8
0
3
-44
0
0
0
0
0
0
-1
0
19
0
-1
0
0
7
0
0
0
0
0
0
-51
0
0
0
1
0
0
74
0
0
0
0
0
-3
41
0
0
0
0
0
1
37
0
0
6
0
0
2
-26
0
0
-2
0
0
0
8
0
0
-6
0
0
0
1
0
0
-1
0
0
0
-43
0
0
0
0
0
0
-15
0
0
0
0
0
0
-32
0
0
0
0
0
0
-14
0
0
0
0
0
0
-60
0
28
0
0
0
0
45
0
0
0
0
0
0
-39
0
-2
0
0
0
0
4
0
0
-9
4
0
0
35
0
-1
0
0
0
0
1
0
0
-1
-1
0
0
-2
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
-7
1
27
7
-17
0
26
16
18
-18
24
42
-25
0
-31
-2
4
-13
-6
29
20
-9
-2
0
-30
6
36
9
2
-4
-15
-2
0
2
-1
0
12
10
20
0
3
-6
-2
-2
-49
0
-6
0
0
-11
-8
-18
36
-5
-4
17
-8
-17
0
0
52
0
0
26
39
30
2
-42
-25
-1
17
22
4
9
25
2
8
23
17
5
-6
-8
5
15
-12
11
3
0
-18
1
15
0
18
7
3
-5
-11
47
0
-7
-7
3
0
4
4
0
40
-6
5
-1
-2
0
5
41
-5
51
63
0
1
37
-4
1
21
35
-17
-2
39
-20
-4
27
28
-8
0
-32
-39
3
-8
58
-34
3
-28
-11
11
-26
52
25
-1
18
29
-2
-12
64
34
-7
0
-35
0
-35
1
0
6
0
-36
-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
-8
-1
0
0
0
0
0
0
31
0
0
0
0
0
0
-15
0
0
1
0
0
0
0
0
-2
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
0
0
0
-29
0
0
2
0
0
0
23
0
0
-3
0
0
1
60
0
0
0
0
0
0
21
0
0
3
0
0
0
6
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
-10
0
0
0
0
0
0
36
0
-1
0
0
0
0
19
0
0
-11
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
7
0
0
0
33
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
2
0
0
0
-8
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
76
0
0
0
0
0
0
17
0
0
0
0
0
0
-6
0
0
0
0
0
-1
-37
0
0
-6
0
0
0
-29
0
0
0
0
0
0
-61
0
0
-2
0
0
0
-2
0
0
0
-2
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
7
0
0
0
0
0
0
9
0
2
0
0
0
0
-28
0
0
0
0
0
0
1
0
-3
0
0
0
0
3
0
0
0
0
0
0
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
46
-15
17
-6
16
17
2
-17
15
2
-21
11
12
1
-13
14
12
-33
24
14
46
-5
-16
22
-17
1
-1
-24
-4
3
7
1
-11
26
21
29
29
-9
0
-3
19
-24
-25
-10
38
11
44
-7
9
-71
33
0
27
22
-29
-6
-9
-10
44
-7
-7
6
-36
23
23
-10
37
36
-1
18
23
11
-6
30
38
-1
-5
39
-2
-6
5
9
-5
84
2
29
-16
13
0
-3
-18
46
8
-17
13
-2
12
-9
-23
-7
-42
3
12
-14
8
-16
11
6
19
7
3
-33
-20
52
32
-6
5
-12
28
2
7
-31
-19
61
18
8
43
-7
-55
-36
26
10
-40
0
26
22
-9
16
-9
-4
33
-5
30
-9
0
-18
-14
10
22
-3
-32
0
-1
9
-47
29
-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
-82
5
-50
22
-15
14
8
-29
-18
-7
37
11
-2
-20
0
-40
1
4
-32
-19
-22
-22
-16
-12
2
13
-2
18
0
3
-30
-58
-1
15
-4
32
23
27
-16
-63
11
3
17
4
52
-26
32
12
50
-6
12
11
29
20
-44
-20
7
0
18
14
-1
-2
17
-32
-13
-24
-2
-24
6
23
33
-24
-4
-34
-5
-19
33
27
-5
-5
-3
-17
-20
16
-24
-9
13
20
-31
-3
25
-2
2
-58
-20
9
-39
25
3
6
35
-22
-9
-13
-4
-3
2
6
18
36
13
-2
14
32
-16
27
28
-8
29
53
0
7
9
7
16
14
28
-13
39
-5
-16
-7
-19
-34
-7
-2
19
-29
-39
29
3
19
-25
7
-15
-6
39
-10
7
13
-32
25
-12
45
-3
12
66
36
-20
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
6
0
0
-1
-35
0
0
0
0
0
0
4
0
-6
0
0
0
0
-12
0
0
0
0
0
0
1
1
0
0
0
0
0
-36
0
0
0
0
0
4
23
1
0
3
0
0
0
25
0
2
1
0
0
1
47
0
-3
0
1
0
0
30
0
0
0
0
0
0
49
0
0
0
0
0
0
-1
0
0
2
0
0
0
1
0
0
0
0
0
0
26
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
1
6
0
0
0
20
0
0
-1
0
0
0
-2
0
6
0
0
0
2
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
-7
3
0
0
-8
0
-3
0
15
0
52
3
1
0
0
-9
0
-7
0
0
0
0
-19
6
0
0
0
0
0
6
0
0
1
0
0
-2
18
-2
0
6
-7
0
7
-13
0
12
24
0
0
-12
1
-3
6
4
0
0
2
35
1
0
39
0
0
0
25
0
0
1
0
0
0
6
0
0
-1
0
0
-4
7
0
0
0
1
17
0
13
0
0
0
0
0
0
-24
0
0
0
0
0
0
8
0
10
5
0
0
0
-20
0
0
41
-4
0
6
52
0
-6
28
0
0
-4
-20
0
9
-8
0
0
0
31
0
0
7
0
0
0
-3
0
0
17
0
0
0
66
0
-2
0
0
0
0
5
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
11
14
2
5
-8
-13
-17
-17
1
3
-4
-14
4
23
14
20
6
21
32
52
-9
23
-18
-1
-2
44
-6
63
0
-9
-16
-13
-3
24
-12
2
18
-30
-17
3
0
-1
-2
27
8
68
39
8
50
15
-46
13
25
23
-9
14
29
6
4
-47
12
45
-2
34
10
-10
-26
-13
39
-53
7
7
-16
8
6
-22
-15
50
10
0
-11
16
18
-20
4
13
-3
25
-58
38
-65
0
-11
-19
0
0
-11
-3
8
17
-18
4
26
21
0
0
-13
13
-4
23
2
14
38
-15
67
-8
-38
14
-6
0
23
0
16
10
-40
-2
52
9
5
10
11
26
16
103
24
0
19
-62
-26
23
7
-11
5
-2
-16
-29
-9
1
4
11
-8
-15
-11
-53
0
-34
3
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
17
3
0
6
7
0
0
-9
-16
0
0
-1
0
0
0
13
0
3
0
0
0
0
3
0
0
1
0
0
0
-22
-2
0
0
0
0
0
58
0
0
0
0
0
0
59
8
0
4
0
0
0
-7
0
1
2
0
0
0
-11
0
0
-12
0
0
-2
37
0
0
-1
0
0
0
29
0
1
0
0
0
0
4
0
0
0
0
0
0
16
0
0
0
0
-6
0
13
0
0
0
0
0
0
-5
0
0
0
0
0
0
28
0
0
-8
0
0
0
9
0
-2
20
0
0
0
11
0
1
0
0
0
0
-3
0
-3
0
0
0
0
18
0
3
0
0
0
0
-6
0
0
0
0
0
0
7
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
-7
1
0
0
13
0
0
0
-11
0
0
-1
0
0
0
4
0
-3
1
-2
0
0
7
0
0
0
0
0
0
6
-4
0
0
0
0
0
5
0
0
0
0
0
0
32
0
0
-4
-3
0
-1
12
0
0
6
0
0
76
-12
0
0
-2
0
0
-1
50
0
0
20
0
0
-1
5
0
0
-6
0
0
0
33
0
0
0
0
0
0
-7
0
0
0
-1
0
0
101
0
0
0
0
0
0
6
1
0
0
0
0
0
10
0
6
-11
0
0
0
12
0
0
1
0
0
0
-13
0
-1
-2
0
0
0
6
0
0
-4
0
0
0
-5
0
0
0
0
0
0
7
0
0
0
0
0
0
23
0
-1
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
15
2
33
0
4
11
17
0
33
-17
-35
2
-9
41
-2
0
15
-4
-1
0
12
5
5
0
-30
1
0
-20
9
-25
0
-1
0
-5
-12
18
-57
-34
24
-1
10
-23
0
-12
-54
0
10
14
-10
-5
-16
-34
3
1
4
-33
1
33
-28
0
-3
-21
10
-2
8
12
14
2
1
-16
0
27
-35
1
2
-6
18
-2
-4
-6
4
1
8
27
0
-4
0
-1
0
0
29
-4
27
0
7
0
-1
38
-2
-2
26
-1
-5
36
41
0
30
5
1
0
-1
2
-1
0
24
22
1
17
1
-11
49
-66
-32
3
0
11
0
-46
27
-6
0
0
-11
13
1
-11
0
-2
0
-22
2
14
-4
0
1
0
37
-2
5
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
3
2
17
-2
31
21
5
-5
4
-4
-5
0
16
-35
-15
-6
-8
1
-9
5
12
-13
33
1
-2
-2
-1
-23
-6
2
-7
-25
32
37
38
1
19
-17
6
-28
15
-4
-12
6
69
-2
17
-53
20
-1
-20
21
1
11
15
-10
0
3
10
15
-1
4
50
3
5
-22
24
17
32
-18
-9
2
5
31
-34
0
31
7
-7
8
7
-1
19
-3
2
-10
6
10
34
9
10
0
49
-8
52
16
-1
-18
13
-46
24
12
9
-42
-23
-13
-34
29
8
-71
-16
56
6
-1
27
55
-33
-2
35
0
-4
-12
-21
19
4
-4
-6
-4
-3
6
15
-22
-8
14
29
-50
17
-2
17
-1
-3
19
-13
-3
7
26
2
3
-27
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
28
0
0
2
0
0
0
70
0
5
0
0
0
0
15
0
0
0
0
0
0
16
0
0
0
0
0
0
27
0
0
0
0
0
0
-20
0
0
0
0
0
-3
-1
0
0
-4
0
0
0
25
0
0
-7
0
0
0
-15
0
0
1
0
0
0
-24
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
-14
0
0
0
0
0
0
-1
0
8
0
0
0
0
-42
0
0
-1
0
0
1
7
0
0
4
0
0
0
-14
0
0
0
0
0
0
-12
0
0
0
0
0
0
10
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
-4
22
0
0
-4
0
0
0
16
0
-12
-15
0
0
0
-41
0
0
0
0
-1
0
-17
19
0
0
0
0
0
-9
0
0
2
0
0
0
-7
0
1
2
0
0
11
-1
0
0
-19
-1
0
-38
12
0
0
29
7
0
0
14
0
0
0
0
0
0
-40
0
0
-7
0
0
0
37
0
0
-3
0
0
0
6
0
0
0
2
0
0
23
0
0
0
0
0
0
48
0
0
0
0
0
0
-42
0
12
15
0
0
0
-5
0
0
6
-2
0
3
0
0
8
7
0
0
0
-18
-2
-3
0
0
0
6
85
0
-3
3
0
0
0
9
0
0
0
-1
0
0
32
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
9
5
-7
17
-3
13
-16
4
-1
6
-7
1
1
0
8
-16
4
-17
17
54
0
9
-25
20
2
31
6
0
0
0
-22
5
-25
-27
6
23
10
12
28
-7
28
33
0
1
-19
-18
0
-7
-27
6
7
-29
-5
7
0
-2
8
-4
51
-4
0
42
-14
73
1
37
20
0
30
39
-3
27
0
30
0
-1
-4
3
41
0
12
1
1
0
2
-12
0
-10
-33
5
-16
0
0
-14
8
-12
25
40
0
0
-51
13
4
16
5
-21
7
18
12
0
57
71
7
-8
3
9
2
-38
34
-46
0
7
29
3
34
-7
-2
21
9
10
1
-3
-3
3
-12
2
2
8
-25
-6
0
39
0
0
14
3
0
13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
18
0
4
3
0
0
-1
21
0
16
19
0
-8
1
49
0
0
0
0
-15
0
-3
2
-8
0
0
0
-12
-9
0
0
1
0
0
1
9
0
0
7
0
4
23
0
0
-1
62
0
-11
15
34
0
-1
5
0
4
-43
-19
0
0
29
0
-6
-9
-34
0
0
-27
0
0
-4
-18
0
2
-31
0
13
0
39
0
5
33
0
-30
0
-9
0
-33
0
0
9
0
-72
24
0
0
0
0
11
-3
0
15
55
0
0
-6
9
0
0
8
-4
0
12
-3
0
52
31
0
3
15
48
0
0
29
0
0
0
-5
0
28
-12
0
0
0
40
0
-6
30
0
-4
0
18
0
10
-1
0
-2
0
15
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
17
0
0
0
0
-25
0
0
0
0
0
0
-51
-3
8
0
-2
0
0
15
0
0
0
0
0
0
-15
0
-3
0
10
0
11
57
0
0
-4
0
0
1
23
0
0
10
0
0
18
-53
0
0
2
0
0
0
26
0
0
2
0
0
-1
62
0
0
0
0
0
0
15
0
0
-1
0
0
0
-41
0
0
0
0
0
0
-16
0
0
0
0
0
0
-5
0
0
0
0
0
0
-16
0
-6
-8
0
0
-6
-21
0
-8
0
0
0
0
3
0
0
-8
0
0
0
-16
0
9
0
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
2
-16
3
0
0
3
0
0
-8
0
-41
0
-27
-34
-2
0
13
0
0
-30
20
0
-8
-1
0
6
2
-24
10
-36
8
-4
-14
-10
0
-13
35
2
0
4
19
4
-23
6
-17
0
2
33
-4
9
7
-9
0
12
-12
0
0
-32
52
8
-4
20
0
-8
6
-26
53
0
-14
-2
16
0
-27
9
0
-10
0
7
0
-6
0
8
54
16
-12
0
2
0
-12
74
8
64
22
0
16
0
-31
6
8
-43
-3
0
2
7
2
32
53
-1
-11
9
19
7
-8
23
20
19
0
-21
0
28
-7
0
1
0
-12
-18
4
-11
-2
0
0
-41
0
13
0
0
-24
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
25
16
3
32
38
-6
-13
-23
14
5
4
3
21
-37
1
9
7
3
7
18
12
0
-7
-32
-7
-5
6
5
26
-16
-24
-9
29
-14
70
33
-9
53
91
-3
16
-29
0
-14
-6
-12
-12
16
13
36
-6
42
-26
27
12
-36
22
0
19
-1
1
6
35
-21
13
14
60
6
10
12
-3
9
-22
21
19
-18
-30
9
4
-74
8
-3
-24
-3
0
19
-41
0
-9
-14
4
-32
-25
3
30
19
3
-12
-14
0
54
-1
-21
-12
-19
5
-17
-10
-1
6
-26
-5
38
-18
1
16
-1
-6
-17
-25
0
-3
20
27
-5
7
44
-5
11
63
39
4
20
14
2
-9
8
48
-4
3
-1
-2
26
11
11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
27
0
0
0
0
0
0
-3
0
0
0
0
0
0
-15
0
0
-10
0
0
0
47
0
0
0
0
0
0
-37
0
0
-1
0
0
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
10
0
0
0
6
0
0
12
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
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
27
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-2
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
7
0
0
0
0
0
-38
4
0
0
0
0
1
2
0
0
-30
0
0
0
55
0
0
4
0
0
2
10
0
1
10
0
0
0
-2
0
0
0
0
0
1
-14
0
0
0
0
0
0
-11
0
0
0
0
0
0
9
0
0
0
0
0
0
14
2
0
0
0
0
0
21
0
-4
1
0
0
1
25
0
0
0
0
0
0
-25
0
0
0
0
0
3
25
0
1
-13
0
0
0
-30
0
0
0
0
0
0
19
0
0
-3
0
0
0
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
14
-1
-11
8
13
-3
3
0
0
0
-34
0
-17
-47
20
0
-12
0
1
-7
-13
0
1
-4
0
-4
-9
8
-3
17
8
-33
76
25
1
9
-8
13
0
-28
15
-2
36
-3
15
3
-11
-24
0
13
11
32
-8
-21
26
0
10
-13
58
-7
-12
14
0
16
-18
0
7
-12
12
0
-7
0
-64
13
0
-6
7
-2
0
0
3
0
16
45
-3
-1
0
0
4
-40
0
6
-8
-3
-5
-19
-11
0
-48
-42
-14
0
-28
1
-4
4
4
2
-4
-15
25
-8
15
-47
-39
10
-12
-3
0
-6
1
0
0
17
-13
3
-16
0
0
32
0
-22
0
15
0
6
4
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
-50
0
3
0
0
0
0
23
0
0
0
0
0
0
39
6
0
0
0
0
0
16
0
0
16
0
0
-2
-47
0
0
7
0
0
0
29
0
0
2
0
0
-1
11
0
0
0
1
0
0
12
0
0
0
0
0
0
-16
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-12
0
0
0
0
0
0
7
0
0
-3
0
0
0
5
0
-4
2
0
0
2
0
0
0
0
-4
0
0
-13
0
4
-1
0
0
0
-16
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
17
0
6
0
0
-16
0
0
-1
0
0
0
15
-2
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
-1
-2
0
-5
40
0
0
1
0
0
0
34
0
4
7
2
0
15
-2
0
0
-16
0
0
0
34
0
0
-1
0
0
0
12
0
0
0
0
0
0
29
0
0
-1
3
0
0
19
0
0
0
0
0
0
-9
0
0
0
0
0
0
15
0
-6
0
0
0
0
18
0
0
4
0
0
0
19
0
4
7
0
0
0
2
0
0
-3
6
0
1
32
0
0
-1
0
0
0
-4
0
0
0
0
0
0
24
0
9
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-2
0
-8
0
-8
1
0
0
0
0
0
24
-1
0
0
0
0
-2
18
0
-4
0
0
9
33
-3
0
0
-6
0
0
-5
21
0
-7
9
-10
0
1
-34
0
3
-18
0
-6
0
30
0
19
-8
6
0
1
4
0
-4
-27
0
4
0
23
0
0
0
1
-10
0
-32
0
0
0
2
0
0
0
0
0
0
0
0
0
-9
0
-9
6
0
0
-2
-20
0
0
-12
0
-1
0
30
0
-3
0
0
0
1
20
0
-1
5
-22
-7
-1
25
0
0
7
7
0
0
-68
0
0
-6
0
0
0
26
0
-5
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-18
0
-4
9
-2
5
3
6
14
5
0
8
-1
-2
2
17
2
58
-8
7
2
18
24
-33
-11
7
54
-6
-17
-13
39
-9
21
3
-38
-5
23
26
-33
8
-10
10
25
-6
-48
33
-23
15
17
7
35
15
5
16
6
-20
0
0
33
-22
-26
-4
0
11
30
14
0
-10
1
-1
-9
-64
0
3
-10
-2
-2
1
66
-3
17
-38
0
6
-56
7
28
47
-2
-5
-5
14
9
-11
-11
-20
0
-42
-5
-2
-7
20
-28
2
-28
-3
6
-5
-32
14
19
-20
-10
0
15
-8
39
32
25
0
0
-9
-18
14
0
-6
6
1
23
18
0
32
0
7
67
3
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
4
0
0
-2
0
0
0
33
0
0
-1
0
0
-2
-18
0
0
-6
2
0
0
38
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
-2
0
0
0
6
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
13
0
0
0
0
0
0
7
0
0
0
0
0
0
38
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
-2
25
-9
-2
35
-4
-42
0
27
5
0
-3
4
-19
-3
-8
8
-8
40
-2
0
55
-14
-35
64
38
-23
10
15
-9
24
28
1
16
12
2
-18
-1
5
10
-17
16
38
-13
1
54
11
-43
-6
-10
-27
1
2
6
47
32
41
-17
0
39
37
27
-9
24
14
25
-18
39
-21
-6
0
-6
-3
-9
0
15
20
-8
-22
-56
-18
-15
-2
6
-43
-32
43
-6
28
-9
-8
-25
14
4
-16
10
-33
-9
-21
25
0
-39
8
-2
0
63
-38
-6
33
5
22
-25
-4
29
0
-12
23
35
5
1
-15
-19
20
29
26
10
2
9
7
45
3
1
-41
1
-17
-38
-8
28
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
-4
-30
8
0
0
0
6
0
45
-26
10
0
9
0
9
-13
0
0
0
3
0
12
7
0
7
-5
2
10
-12
19
-4
2
-31
2
-1
-13
4
0
2
-6
21
1
31
10
3
-2
-25
0
0
0
-3
7
0
0
-1
0
0
-7
0
0
1
1
-2
0
-4
0
0
0
0
-1
0
19
1
3
0
0
0
0
3
-10
0
0
0
0
0
-3
0
45
11
-3
3
13
-31
0
0
15
3
0
21
-16
0
-29
-10
0
-1
-6
-10
0
-3
6
0
-6
0
39
0
15
0
0
3
0
0
3
4
0
0
0
0
-7
-3
-11
0
0
0
0
-34
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
-4
4
-2
0
0
0
1
0
17
13
0
0
0
0
0
1
1
0
1
0
0
1
16
0
0
-16
0
0
24
-7
0
0
-13
0
-11
27
7
0
-5
-6
0
2
38
7
0
-1
52
0
13
16
-8
0
0
20
-3
-1
0
32
0
-6
27
0
0
0
28
0
1
0
0
5
0
-13
0
0
0
8
0
0
0
-1
0
0
0
0
-17
6
0
59
67
0
0
-9
15
3
50
-34
0
0
-6
-3
0
-21
-52
0
-1
0
5
0
12
79
0
-2
6
-3
0
9
42
0
0
0
23
0
0
6
0
0
0
-31
0
-69
0
0
10
0
-51
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
0
0
0
-24
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
2
0
0
15
14
0
0
-14
0
0
1
-31
0
0
-4
0
0
0
-17
0
0
17
0
0
1
36
0
0
-4
0
0
0
-44
0
0
0
0
0
0
19
0
0
0
0
0
0
21
0
0
0
0
0
0
9
0
0
3
0
0
0
9
0
0
0
0
0
-1
11
0
-6
0
0
0
0
-39
0
0
0
0
0
0
18
0
-2
0
0
0
0
20
0
0
6
0
0
0
-9
0
4
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
-22
0
0
-1
0
0
8
-5
0
0
-1
0
0
6
37
0
0
33
-1
0
-19
27
0
-6
22
0
0
0
-34
0
0
-13
4
0
0
-5
0
0
-2
0
0
0
61
0
0
0
-2
0
0
4
0
0
0
0
0
0
15
0
0
0
0
0
0
29
0
-7
0
0
0
0
-57
0
0
0
0
0
0
0
0
0
16
0
0
0
27
0
0
0
0
0
0
-21
0
-15
0
0
0
0
4
0
0
0
0
0
0
-12
0
-7
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
-5
-34
16
-17
40
0
0
-3
58
-26
3
26
9
77
2
19
60
-29
34
-33
31
-3
11
39
-17
4
6
26
10
28
46
34
-4
-12
0
23
19
-22
9
-55
-15
23
-4
11
-23
-7
-5
0
10
-8
-3
72
-23
28
55
33
0
-16
29
-32
-14
-28
0
-8
-12
-16
0
8
5
-3
-12
27
-39
18
21
2
3
-17
57
-11
-20
1
-33
-4
-2
3
8
-24
-11
-4
38
3
28
-32
-2
-11
10
-14
33
-14
-4
17
21
2
87
-15
6
10
31
-15
20
24
-8
-3
41
24
3
-11
-6
0
-2
6
-12
5
4
-1
15
-14
12
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
0
0
0
0
0
0
-32
0
0
-6
0
0
-1
-7
0
0
-1
0
0
1
4
0
0
2
0
0
0
38
0
0
13
0
0
0
2
0
0
1
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
2
0
0
-12
0
1
0
0
0
0
7
0
0
0
0
0
0
1
0
6
-6
0
0
0
-3
0
0
0
0
0
0
1
0
-13
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
10
0
0
0
0
0
-3
-3
0
0
-2
0
0
-4
-12
0
0
0
0
0
0
-39
0
0
3
0
0
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
-17
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
3
20
0
-2
0
0
0
0
1
0
0
0
-2
0
0
-3
0
-1
0
0
0
0
13
0
0
0
0
0
0
-17
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
1
0
0
0
0
0
52
4
0
0
0
0
0
-12
0
-10
0
0
0
7
-1
0
0
3
0
0
1
-24
0
3
-6
0
0
-3
-28
0
0
0
0
-2
-1
27
0
0
0
1
0
0
43
0
0
0
0
0
0
33
0
0
0
0
3
0
-3
-2
0
0
0
0
0
3
0
0
0
0
0
0
-10
0
0
-7
0
0
0
-1
0
0
1
0
0
-2
84
0
0
0
0
0
-7
18
0
0
3
0
0
0
-1
0
0
0
0
0
0
70
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
21
-3
0
0
0
0
0
28
0
0
0
0
0
0
9
1
0
0
0
0
0
45
0
0
0
0
0
0
10
0
0
0
0
0
6
-33
0
0
-7
0
0
0
-7
0
0
-8
8
0
0
3
0
0
0
0
0
0
-4
0
0
1
0
0
0
-18
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
2
0
0
0
1
0
3
0
0
0
0
1
0
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-13
-4
0
-1
0
0
-13
-1
0
0
0
0
2
20
0
0
21
0
0
13
6
0
0
5
0
0
-29
18
3
-1
45
2
0
-1
23
0
8
-3
0
0
1
-21
0
0
-11
22
0
0
-4
0
-19
24
0
0
-7
-29
0
0
3
-1
0
0
-5
0
-2
0
0
0
0
13
-3
0
0
0
0
0
-8
0
0
-2
0
0
0
-11
-1
11
37
4
0
0
-22
0
-22
17
0
0
2
-1
0
0
-3
0
0
0
57
0
-1
2
-1
0
0
31
0
0
-7
6
0
0
-14
0
-30
6
0
0
0
39
-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
26
0
0
0
0
0
0
4
0
0
0
0
0
0
23
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
4
6
5
31
10
54
2
-3
-5
5
-13
-40
16
9
14
15
5
12
-11
-52
-3
-7
32
-22
-3
-9
22
10
-8
-42
-20
-4
44
-13
-10
5
81
3
5
25
-61
17
-18
-1
4
-2
13
-18
-23
8
-40
-16
-1
-36
-30
67
0
-5
8
-5
-10
21
-55
9
24
-12
43
-33
-16
17
23
69
2
23
-26
15
44
-2
27
-16
5
-7
-5
24
7
-51
-9
13
19
-37
13
5
-51
-25
15
5
0
24
-12
-2
7
8
5
-28
-2
-28
-23
-32
26
-11
-37
16
2
-3
-30
4
-5
32
7
0
0
-11
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
5
-19
0
0
1
0
0
-9
-6
-7
39
-9
2
39
1
-3
6
-17
0
4
-7
-12
9
-9
-20
2
-1
-21
20
0
3
-25
0
-6
-9
22
3
6
7
-6
0
-6
-16
0
10
7
0
3
-2
-3
15
0
-20
2
15
0
3
0
-3
0
0
-3
0
-12
31
0
0
0
0
-7
6
0
42
30
0
0
-2
-23
0
0
43
4
-3
6
8
-1
3
-12
0
0
-7
3
0
-37
5
9
0
-3
-28
-6
17
-1
0
-3
-3
-23
0
9
-11
0
0
0
-24
0
-41
1
0
-16
0
14
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-2
0
0
0
0
1
-32
0
0
-18
-10
0
28
-39
0
0
1
0
0
5
1
0
1
-34
20
1
1
11
-2
0
23
1
0
9
9
0
0
13
-5
0
11
-2
0
0
-19
0
-2
0
37
0
-3
8
41
-8
0
-24
-1
-1
0
0
0
-1
6
-1
0
0
0
0
0
-63
3
15
2
4
0
0
-25
0
-3
29
-21
0
3
-46
0
-9
20
0
0
6
-8
0
20
-14
-7
3
1
9
0
-2
0
1
0
0
-38
0
0
0
0
0
0
-34
0
1
-3
0
9
0
24
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-12
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
0
0
0
0
1
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
16
0
0
22
0
0
-5
13
0
0
-10
0
0
11
-15
0
0
19
0
0
7
15
0
0
2
0
7
0
-39
0
0
0
0
0
0
-11
0
0
10
0
6
0
-4
0
0
0
0
1
0
-21
0
0
0
0
0
0
16
-2
0
0
0
0
0
2
0
28
2
0
0
1
-24
0
0
1
0
0
0
-30
0
7
0
0
0
0
1
0
0
-3
0
0
0
-18
0
1
-6
0
0
0
34
0
-2
0
0
0
0
5
0
-9
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-29
0
0
10
0
0
13
-61
0
0
22
0
0
8
28
0
0
9
0
0
-6
14
0
0
0
0
0
0
-13
0
0
-11
0
0
0
-34
0
0
0
0
0
0
30
0
0
-1
-6
0
0
-41
0
0
0
0
0
0
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
9
0
0
-7
0
0
10
-9
0
-1
7
0
0
0
11
0
0
4
0
0
0
-10
0
0
0
0
0
0
15
0
0
7
0
0
0
21
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-10
0
0
0
0
0
0
6
0
0
-6
0
0
-7
-16
0
0
3
0
0
0
-27
0
0
1
0
0
0
13
0
0
0
0
0
0
-7
0
0
0
0
0
0
-25
0
0
0
0
0
0
6
0
4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
8
0
0
0
0
0
0
8
0
0
0
0
0
0
1
0
0
0
0
0
0
-16
0
-7
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
6
1
-24
-9
14
7
-7
27
8
4
-7
10
6
28
20
22
-28
56
5
-1
-38
27
16
23
10
-15
14
-34
-14
4
-7
10
-37
-6
6
8
-7
-35
-3
59
8
25
-15
15
11
-4
-2
17
-44
29
35
-11
48
-4
0
-3
11
59
0
0
-24
-4
24
-2
31
37
13
-31
-5
27
4
6
-3
12
27
-14
-1
4
-30
6
-10
31
-11
14
-8
1
37
-15
-42
-4
9
-15
26
-64
44
27
-10
60
14
23
34
-58
-49
5
-43
20
36
4
3
0
20
0
32
19
-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
-17
-26
-12
-10
5
0
0
-3
-33
0
0
47
0
0
18
10
0
11
-12
1
0
-1
-34
0
-6
-51
0
0
2
28
0
2
19
-20
0
1
-12
0
0
5
0
1
0
11
0
3
-2
37
-6
0
-19
0
0
0
0
0
0
-12
-1
0
0
0
0
0
-11
0
-7
13
2
0
0
27
0
-2
-6
0
0
-2
-4
0
0
2
-1
0
0
64
0
1
-3
-1
0
0
35
0
24
0
0
0
0
-37
0
0
0
0
0
0
15
-1
19
0
0
-1
0
-25
-1
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-1
0
0
0
-22
0
0
-2
0
0
10
50
0
0
3
0
0
0
17
0
0
1
0
0
0
-7
0
0
0
0
0
0
-13
0
0
0
0
0
0
9
0
0
0
0
0
0
-25
0
0
0
0
0
0
35
0
0
0
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
-30
0
0
0
0
0
0
22
0
0
0
0
0
0
-8
0
0
0
0
0
0
-26
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
-4
-11
0
0
0
0
0
-3
14
0
0
-2
0
0
0
1
0
1
13
0
0
-3
26
0
-2
26
0
0
-1
4
0
0
2
0
0
0
-4
0
0
0
8
0
0
58
0
2
0
0
0
0
43
5
0
0
0
0
0
-5
0
-1
0
0
0
0
40
0
0
0
0
0
0
19
0
-6
0
0
0
0
-21
0
0
-8
0
0
0
40
0
0
-3
0
0
0
-12
0
0
-1
-8
0
0
36
0
0
6
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
-23
0
0
12
-6
0
-2
9
0
0
7
0
0
0
67
0
0
0
0
0
2
29
0
0
-5
0
0
0
-17
0
0
0
0
0
-1
-20
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
-9
0
-6
0
0
0
0
4
0
0
-2
1
0
0
18
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
0
-3
19
0
0
0
46
0
0
0
0
0
0
18
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
1
0
0
0
0
0
0
-29
0
0
0
0
0
1
-7
0
0
0
0
0
1
-6
0
0
0
0
0
0
-4
0
0
-3
0
0
0
6
0
0
0
0
0
0
0
0
0
1
0
0
0
-51
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
-18
0
0
2
27
0
2
30
18
0
4
-11
0
-2
3
0
0
-3
11
-6
-2
-1
15
0
0
9
0
1
1
0
0
0
4
-6
2
-10
-3
-4
0
-8
0
0
0
8
0
0
2
-2
0
0
0
0
0
-22
0
-13
-2
0
0
0
-10
0
3
-2
0
0
-2
-13
0
0
2
0
0
2
0
4
0
-13
7
0
2
-24
0
-45
4
0
-4
0
7
0
0
-3
6
0
2
-11
0
20
0
-1
0
0
76
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
36
14
-10
-6
-8
13
4
21
7
35
45
-14
8
6
59
1
-53
2
8
-1
-3
24
8
14
22
65
17
1
16
0
-23
2
-1
-24
6
45
5
-19
-55
0
1
-6
-14
-6
23
-4
5
-20
19
-6
-14
-3
1
-15
0
-6
-5
-5
-20
-2
-52
5
-15
43
-59
-3
30
67
2
-45
-8
-10
18
-13
-54
10
54
-35
15
20
-25
3
1
5
31
36
-63
10
-17
-18
21
-27
-6
-14
-44
13
4
-11
-7
13
-4
-23
0
17
18
0
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-15
0
-1
8
0
0
1
-15
0
0
35
3
0
0
30
0
0
-7
0
0
-6
-28
0
8
-7
-3
0
7
-9
0
0
3
-7
0
0
-5
0
0
0
-1
-7
0
-19
0
0
0
0
0
0
11
-3
13
0
0
0
1
4
7
7
0
0
0
1
-32
0
-25
7
0
0
-8
27
0
27
12
-11
0
0
-49
0
0
13
0
0
0
-1
0
-21
0
0
0
0
-13
0
-2
0
6
0
0
9
0
1
0
2
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
25
16
3
0
-6
0
0
-4
-7
1
7
14
0
-3
80
35
3
0
7
1
0
6
41
0
-1
0
20
0
0
-35
0
0
1
0
0
0
-1
0
0
-1
0
-15
0
-7
0
0
0
11
0
0
-20
0
0
0
3
0
0
22
0
7
7
0
0
-18
33
0
0
-6
2
0
0
34
0
5
6
0
0
0
25
0
-3
4
11
0
0
28
0
4
-2
1
0
0
-22
0
9
0
0
0
-1
-4
0
-1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
-8
-2
0
-11
17
8
-47
61
21
0
-18
58
-4
0
2
-2
-2
1
-1
0
15
-9
-66
42
6
2
-2
-14
-4
-1
8
0
22
-11
9
21
3
4
0
47
-18
5
3
-1
0
0
-8
25
0
-6
0
0
0
6
-9
-35
20
-9
-3
-16
-25
1
3
1
5
0
30
-14
-1
42
48
3
0
14
-14
0
7
0
1
4
2
1
0
-3
-18
0
0
0
-7
0
5
33
19
0
0
0
0
74
-2
0
20
0
38
-36
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
34
0
0
-20
37
0
0
-2
0
0
-10
-46
-2
0
-53
0
0
2
32
0
0
12
0
0
0
17
0
0
0
0
0
0
37
0
0
0
0
-24
0
11
0
2
0
0
0
0
-18
-2
0
0
0
0
0
29
0
2
0
0
0
29
14
0
0
2
0
0
17
20
0
-10
9
0
0
0
-1
0
3
-16
0
0
1
-1
0
-1
0
0
0
-9
10
0
0
6
0
0
0
-8
0
-2
4
0
0
0
33
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
29
0
0
-10
0
0
9
-8
0
1
14
0
0
-1
11
0
0
4
0
0
0
59
0
0
0
-1
0
0
8
0
0
0
0
0
0
42
0
0
0
0
0
0
4
0
0
0
0
0
0
-6
0
0
0
0
0
0
15
0
21
-1
0
0
0
49
0
0
8
0
0
0
4
0
1
2
0
0
0
-24
0
0
0
-2
0
0
3
0
-3
0
0
0
0
-17
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
0
0
0
0
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
12
-22
-2
0
8
10
3
24
-16
-2
-5
8
-3
0
-1
-9
11
14
20
30
0
0
16
0
9
0
4
0
15
41
24
-33
0
-1
0
0
0
3
0
0
-8
-23
0
0
-14
0
-3
33
9
-34
11
0
-4
2
11
2
3
15
-14
1
15
-30
-1
-5
17
8
0
-20
20
2
-22
1
20
3
0
-8
0
34
-39
-6
-2
1
-26
4
-12
22
9
-1
0
9
0
-14
2
0
35
0
30
-18
-2
-4
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-22
-3
23
10
2
-37
-20
13
35
28
2
-3
-3
4
-2
20
24
27
9
-23
13
-2
22
2
-12
-1
-29
0
6
-29
-1
-4
9
-31
-34
-14
35
-16
-76
20
-6
-19
-8
-36
0
48
24
32
2
-13
10
34
-11
0
1
-25
-23
-21
-21
0
-7
56
-6
-29
-4
-34
1
-1
3
-12
26
-17
36
16
7
-13
-11
-12
-14
1
-42
15
75
9
5
10
46
87
-15
-11
24
-2
24
6
0
28
16
-2
-12
29
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
0
0
0
2
0
0
10
0
0
1
0
0
0
-23
0
0
-1
0
0
0
5
0
0
0
0
0
0
7
0
0
0
0
0
0
8
0
0
0
0
0
0
37
0
0
0
0
0
0
-11
0
0
0
0
0
0
34
0
0
-7
0
0
0
-2
0
0
-1
0
0
0
-25
0
0
-1
0
0
0
-22
0
0
3
0
0
0
-3
0
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
-10
-33
0
0
-6
12
0
0
7
-6
0
3
-5
0
0
75
0
0
0
17
0
0
2
0
0
0
7
0
0
0
0
-1
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-7
0
2
7
0
0
0
-3
0
0
0
0
0
-4
49
0
1
1
0
0
-1
12
0
0
-6
0
0
0
-22
0
3
0
0
0
0
-37
0
0
0
0
0
0
51
0
12
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
13
47
-6
1
-6
23
8
-48
-18
-8
7
-43
-7
25
-19
41
6
17
-17
-46
-10
14
18
0
35
22
1
-23
24
18
1
-8
51
-33
-37
1
4
-1
-8
20
-16
15
0
19
9
-28
-6
-1
3
14
14
-1
11
-2
0
-7
15
7
0
39
17
6
12
49
27
-4
-15
102
7
0
42
-2
4
-29
-12
-26
0
0
15
-2
21
17
8
-1
-19
14
-11
29
17
41
-7
-12
-2
0
20
18
0
2
0
10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
57
0
0
1
0
0
0
-15
0
0
-2
0
0
0
18
0
0
-22
0
0
0
12
0
0
0
0
0
0
13
0
0
0
0
2
0
-4
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
1
0
0
0
0
30
0
0
-3
0
0
1
-3
0
4
0
0
0
0
-3
0
4
-5
0
0
0
-57
0
-3
0
0
0
0
-24
0
0
0
0
0
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
59
0
-1
-3
0
0
0
-53
0
0
1
0
0
0
0
0
0
0
0
0
0
14
0
-1
-1
0
0
0
8
0
0
0
1
0
0
21
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
0
-3
12
0
0
-3
0
0
0
-67
0
0
-1
0
0
0
39
0
0
-3
-2
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
24
-55
0
25
-6
14
-2
8
2
2
-19
-8
13
0
8
-28
0
-18
-9
-12
0
-18
4
-2
17
0
12
-7
6
0
10
2
0
1
35
2
15
4
0
6
21
8
50
-6
-2
-3
0
-20
0
40
56
38
-1
8
1
2
25
-18
6
0
-1
11
0
0
25
-4
-1
0
-39
7
11
38
0
-5
4
-11
0
-2
39
7
0
0
23
0
44
-4
0
12
0
-22
74
7
1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
11
-24
27
-19
5
-22
16
-33
-11
16
14
20
-1
1
5
-10
-7
-17
50
-17
29
41
-6
24
22
12
0
62
6
21
-8
3
29
5
16
-18
21
-9
0
19
-5
-5
9
11
-24
-11
-19
15
-30
37
37
18
9
-33
0
-32
-12
9
-8
-16
-12
-19
22
21
-22
22
60
-65
-29
-31
-12
-3
34
-80
-52
5
44
35
30
8
31
-42
12
-14
-41
-36
-1
-18
2
7
-6
3
18
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
18
9
0
0
-8
0
0
0
7
0
0
0
0
0
0
7
0
0
2
-3
0
0
9
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
8
4
0
0
0
-6
0
16
-2
0
0
0
-13
0
3
17
0
0
2
20
0
-2
0
7
0
0
-18
0
-5
0
0
0
0
30
0
0
-2
0
0
0
35
0
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
8
-7
-1
-11
13
0
-8
1
-17
1
1
58
0
0
-5
0
13
0
20
0
2
3
0
1
0
-22
0
0
0
0
0
0
22
0
6
0
0
0
-9
61
-15
-2
42
-2
4
-3
-11
1
-8
-3
0
-1
0
30
0
2
-61
0
0
0
-50
0
10
-15
13
0
-3
1
0
-5
0
0
0
0
58
0
0
-1
1
0
0
34
0
-4
0
1
-1
0
-23
-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
44
-10
0
-30
26
-27
16
-26
-5
-4
56
18
-3
14
70
11
0
15
-27
-8
22
-11
11
19
17
-24
1
-23
0
11
7
-1
0
-13
-6
-1
9
20
-11
14
0
4
32
21
26
12
-10
3
10
23
-1
-4
42
-2
23
0
-37
-10
2
8
-14
48
0
21
15
2
-33
9
56
2
-7
-12
0
54
5
17
-1
-1
2
0
23
-31
-13
-10
-6
35
0
-12
8
0
-20
0
25
-16
-6
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
4
-28
0
-6
6
0
0
0
-2
0
0
-13
0
0
-3
-28
0
0
-7
0
-11
0
-13
0
0
-1
0
0
0
18
0
0
0
0
0
0
-7
1
0
0
0
0
-17
0
0
12
7
0
0
0
-19
0
2
-27
0
0
-3
-5
0
18
-53
0
0
4
74
0
8
-35
0
0
0
23
0
2
-4
0
0
0
-47
0
0
-2
0
0
6
22
0
-32
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
-2
-13
0
0
0
-2
0
0
33
0
0
-2
0
0
0
-2
0
0
0
-1
0
0
22
0
0
0
0
0
0
-10
0
0
0
0
0
0
6
0
3
0
0
0
1
-19
0
0
-3
0
0
1
72
0
2
-11
0
0
0
37
0
0
-4
2
0
0
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
-36
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
-4
21
-1
13
-28
4
-2
0
-10
2
0
-13
0
-1
-1
30
0
8
-1
-31
38
0
-10
2
-3
9
-1
-3
0
0
-21
0
4
0
0
-6
-2
0
-20
5
2
-6
-3
4
0
34
23
-4
0
4
14
0
25
65
-27
0
-1
32
0
-3
15
-26
0
0
3
0
29
5
2
0
4
3
0
-2
68
-18
1
0
26
0
-69
8
0
0
0
-8
-4
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
2
-16
15
13
22
2
-2
40
8
2
-56
10
-18
73
-43
16
22
7
-6
19
14
-16
4
40
-4
48
10
-13
-14
4
2
-4
-55
2
36
-6
60
-12
-17
-22
3
29
19
0
-18
-8
37
24
26
19
1
-8
4
3
0
-60
29
-29
-3
-8
-42
2
-9
-23
-35
3
9
15
-11
14
-20
-9
33
-19
10
16
23
-30
13
15
-21
-2
4
15
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
43
0
0
0
0
0
0
6
0
0
0
0
0
0
-26
0
0
0
0
0
0
-6
-7
0
0
0
0
0
-5
0
0
0
0
0
1
9
0
0
0
0
0
7
-15
0
8
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
-9
0
0
0
0
0
0
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-16
0
3
-15
0
0
0
0
2
0
-17
0
0
0
0
-2
0
-41
0
0
0
0
0
0
-3
0
0
0
0
0
4
-35
0
5
0
0
0
0
-17
0
0
11
0
0
-12
-19
0
40
11
-1
0
0
37
0
0
0
-2
0
-10
-19
0
-11
7
0
0
0
-18
0
0
1
0
0
0
-7
0
8
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
29
-5
28
19
-12
0
8
27
-1
13
-24
16
3
25
-3
-5
9
0
-3
-22
0
0
0
-3
2
-4
-29
-9
2
3
0
5
-8
1
9
1
0
0
38
12
-2
-21
39
-11
0
13
5
-10
-37
3
30
0
63
22
-3
8
-7
19
2
-38
-1
-3
-14
-3
0
7
-25
-11
4
-8
18
8
-25
38
-10
0
30
-16
-4
-22
0
10
19
-9
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
42
0
0
61
0
0
0
-25
0
0
3
0
0
0
29
0
1
0
0
1
0
-7
0
0
0
0
0
0
-45
0
0
0
0
0
0
63
0
-1
0
0
0
0
11
0
0
0
0
0
3
-9
0
0
0
0
0
0
47
0
0
-5
0
0
0
11
0
11
3
0
0
0
34
0
0
2
0
0
0
65
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
1
-1
0
1
50
0
0
0
0
0
0
-10
0
0
2
-2
0
0
-11
0
-1
0
0
0
0
-3
0
0
0
0
0
0
-26
0
1
4
0
0
1
2
0
-1
-9
0
0
8
-15
0
2
-13
0
0
2
-8
0
-3
24
0
0
0
22
0
0
0
0
0
0
0
0
1
0
3
0
0
69
0
9
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-3
0
20
0
-8
0
32
0
0
0
-6
48
0
7
0
0
0
0
0
0
-54
11
0
0
0
0
0
23
-8
21
-15
0
0
-3
20
0
4
50
0
0
0
45
0
7
5
0
0
0
-8
0
11
2
-10
0
0
-1
0
16
6
-2
0
2
43
0
-3
-3
-2
0
0
9
0
-2
-2
0
3
0
-50
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-3
7
-2
4
30
19
31
-13
15
41
40
-18
-54
-2
10
42
13
5
1
-8
4
8
68
9
21
17
-1
23
-4
38
-14
14
28
59
29
0
-6
-12
14
48
-19
-19
-22
61
-10
2
-15
47
44
-3
-22
-34
47
-53
27
-26
0
19
-8
-1
46
2
14
13
20
-47
19
35
-7
15
6
-22
-17
4
-17
14
0
33
-11
21
7
6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
36
0
0
0
0
0
0
15
0
0
2
0
0
0
-14
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
14
0
0
0
0
-9
0
0
4
0
0
0
17
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
6
0
0
0
0
-4
0
-8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
19
0
0
0
0
-1
0
-3
0
0
0
3
0
0
-1
0
0
0
0
0
0
17
0
0
0
0
0
0
-6
-4
0
-4
0
0
0
40
0
0
-14
1
0
-12
-21
0
-2
1
0
0
-3
0
0
-2
-14
5
0
0
-5
0
2
21
0
0
0
26
0
0
0
0
-3
0
-37
0
24
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
11
-8
0
7
1
0
-21
0
5
-6
9
0
30
86
0
-6
-16
0
0
1
0
-1
6
25
3
0
0
0
10
4
6
4
48
0
7
40
15
0
-5
14
29
-2
16
-7
2
-53
21
-3
3
-3
9
1
55
-1
5
-4
0
12
-6
-2
-6
4
0
0
6
0
2
10
20
-22
20
-5
0
43
0
0
-4
0
15
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
7
-38
0
3
22
0
1
0
12
1
2
-25
0
5
0
1
4
-2
0
8
0
0
31
-6
-1
3
0
0
-2
-36
0
72
18
0
-2
-14
43
3
4
3
1
-3
15
-17
-12
2
61
0
0
-7
-12
0
2
31
4
-3
0
8
0
-13
-5
0
0
8
-54
2
25
-25
0
0
0
10
0
13
0
4
4
0
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
8
0
0
0
25
0
-3
-4
7
0
0
-24
0
1
0
0
0
0
-8
-3
0
0
0
0
0
-11
0
6
2
0
0
0
-13
0
0
1
0
0
2
-6
0
-4
0
0
0
0
64
0
1
0
0
0
0
-10
0
-11
9
0
0
0
-20
0
0
0
-1
0
0
57
0
10
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
-3
-10
0
0
0
0
0
-19
6
0
0
0
0
2
-4
0
-9
-4
0
0
0
-9
0
0
12
0
0
3
14
0
-1
19
0
0
0
-11
0
0
-17
2
0
0
-3
0
-7
-12
0
0
3
37
0
-3
3
0
0
0
25
0
18
0
0
-8
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
78
1
16
8
25
-1
7
13
4
-3
-17
41
25
12
-52
49
-10
42
23
54
-26
9
-3
19
24
26
-10
-2
-1
-28
-4
-29
18
7
18
-51
-4
-10
-20
33
-26
12
29
60
1
21
15
60
-6
22
5
24
-26
18
33
0
-17
11
-10
-20
-2
60
1
-32
52
44
-6
7
0
14
-37
38
4
19
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
8
0
0
2
0
0
0
6
0
-3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
-18
1
0
0
0
0
0
40
0
0
0
0
0
0
36
0
-1
-12
0
0
0
55
0
0
25
-1
0
0
26
0
2
0
0
0
0
9
0
0
0
0
0
0
18
0
0
1
0
0
0
1
0
0
0
1
0
0
80
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
-21
0
-2
0
-32
1
0
2
-4
0
0
-3
0
0
25
0
0
-2
0
0
-6
56
0
-72
-34
0
0
-10
-6
0
3
21
-12
0
-1
3
0
-1
-6
0
0
-1
5
0
3
4
4
0
-7
2
0
-22
-6
0
0
0
12
1
19
0
23
0
0
-4
0
45
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
-21
0
0
0
0
0
0
-33
0
2
0
0
0
0
12
-1
0
0
0
0
0
-15
0
0
6
0
0
0
-8
0
0
0
0
0
0
12
0
0
0
0
0
0
26
0
-1
0
0
0
0
16
0
0
0
0
0
0
-20
0
0
2
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
-21
0
0
0
-8
0
0
53
0
0
0
0
0
0
-8
0
0
0
0
0
0
-24
0
3
1
0
0
-3
4
0
4
-5
-18
0
0
24
0
9
1
0
0
0
12
0
0
-8
0
0
0
25
0
47
7
0
0
-1
25
0
0
-11
0
0
0
10
0
-12
0
0
0
0
35
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-38
0
0
0
0
0
0
-3
0
-2
0
0
0
0
19
0
0
-12
0
0
0
-16
0
0
-3
0
0
6
32
0
0
0
0
0
0
0
0
-3
0
0
0
0
20
0
0
3
0
0
0
30
0
-8
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
10
5
1
1
11
19
0
9
16
0
31
2
48
-17
35
-2
-1
7
10
-1
1
-15
9
-11
-35
5
32
-2
-1
31
5
3
-16
7
48
-2
-2
-2
86
0
0
-74
39
-6
12
-35
7
2
38
-36
1
25
6
0
10
1
-7
-6
-10
0
10
10
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
30
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
57
0
0
0
0
0
0
31
0
-4
1
0
0
0
47
0
0
3
0
0
0
1
0
0
0
0
0
0
20
0
0
0
0
0
0
-10
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
34
-4
0
0
0
0
1
-12
0
9
3
0
0
0
-25
0
0
19
0
0
4
30
0
0
0
0
0
0
-6
0
0
4
0
0
0
-17
0
12
12
0
0
-3
15
0
0
3
-1
0
0
11
0
-1
0
0
0
0
32
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
41
1
0
0
0
0
0
51
0
-28
24
0
2
8
-3
0
2
-5
-3
0
-24
-20
1
30
11
0
0
5
-52
0
0
0
0
0
0
-47
0
61
3
0
0
0
-4
0
10
0
0
0
0
-26
0
0
0
3
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
7
0
0
0
0
1
64
0
-46
-15
0
0
6
-27
0
6
21
0
0
9
6
0
15
17
0
0
-2
20
-8
7
16
0
0
0
-28
0
-42
17
0
0
0
44
0
0
0
-4
6
0
-15
0
-1
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
19
0
0
0
0
0
0
0
-1
0
0
7
0
11
-23
0
52
-9
0
0
-4
-10
0
-3
-3
38
0
-14
85
0
-45
57
0
0
7
27
0
-3
22
53
0
0
-29
0
-10
-22
0
0
-2
31
0
-8
-11
2
0
-1
-2
0
26
-9
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
12
34
64
-2
29
25
21
7
59
-19
22
27
-12
-2
2
12
36
10
36
42
-7
13
-12
51
21
-2
-1
4
-4
-30
-17
3
36
-70
-18
-5
34
-25
25
-30
4
34
-1
13
8
-13
29
2
19
-5
-47
-24
-10
0
64
0
0
-1
5
-45
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
0
2
0
0
0
0
9
0
0
-11
0
0
0
9
0
0
-3
0
0
3
13
0
1
-9
0
0
0
-22
0
-2
0
0
0
0
-26
0
9
0
0
0
0
46
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-1
4
0
0
0
45
0
0
-2
-2
0
-3
35
0
0
1
0
0
6
22
0
1
-9
0
0
0
-24
0
-3
0
0
0
0
3
0
-3
7
0
0
0
11
0
5
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
-1
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
0
0
-4
0
0
0
16
0
0
0
0
0
0
0
0
6
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
2
8
0
0
0
-10
0
20
0
0
0
0
-8
0
0
0
0
0
0
-24
0
4
-1
0
0
0
16
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
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
5
0
0
0
0
0
0
-7
0
0
-15
0
0
0
63
0
0
0
0
0
0
-19
0
-7
8
0
0
0
59
0
0
0
0
0
0
35
0
2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
0
0
0
-5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-19
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
20
37
0
18
-19
3
-14
33
17
21
6
-18
-10
-9
11
-9
11
-11
4
-12
13
-20
0
43
-5
12
9
6
60
37
-3
-3
4
-11
-1
-14
-2
-1
-5
3
-17
3
15
-8
2
-18
0
16
19
-15
1
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-49
-4
0
0
-16
-34
0
18
-4
5
0
15
19
0
-34
11
0
4
0
36
0
-1
-13
0
0
0
-8
0
0
2
0
0
0
-21
0
0
-2
0
0
0
6
0
-17
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
2
0
0
0
0
0
0
25
0
0
-4
0
0
0
22
0
0
0
0
0
0
10
0
1
11
0
0
0
-15
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-11
0
0
-3
0
0
0
18
0
4
0
0
0
0
23
0
0
0
0
0
0
15
0
-4
-1
0
0
0
-2
0
0
0
0
0
0
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
6
0
0
0
0
0
4
11
0
-2
0
0
0
0
4
0
-1
0
3
0
0
49
0
0
0
0
0
0
37
0
0
0
0
0
0
34
0
1
0
0
0
0
50
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
6
0
-4
58
0
48
-12
1
0
0
-7
0
0
-4
1
0
0
-4
0
-2
0
0
0
0
41
0
1
0
0
0
0
54
0
-1
0
0
0
0
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
8
26
33
0
54
-18
60
-19
-10
-20
-29
27
-3
93
11
10
33
25
38
6
9
7
-4
-20
-36
-13
20
-9
-23
0
44
-8
30
-4
-22
19
45
12
-30
0
-15
3
12
11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-26
0
3
-3
0
0
-1
14
0
-5
1
0
0
0
-6
0
0
0
0
0
0
32
0
-7
0
0
0
0
6
0
0
0
0
0
0
-16
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
51
87
22
-3
14
15
0
29
11
-7
1
9
-36
4
4
-20
11
-3
2
14
0
-6
-28
2
0
3
-6
-1
13
-15
32
1
0
13
0
92
0
-7
3
0
-17
15
0
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
-2
32
2
0
12
20
-3
52
-15
0
0
-3
45
-3
15
-17
-4
7
0
-26
0
31
-13
0
0
8
60
0
0
-4
1
0
0
7
0
-16
0
0
2
0
-12
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-26
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-40
0
-3
0
0
0
0
5
0
0
0
-2
0
0
-9
0
-8
1
0
0
0
6
0
0
0
0
0
0
-1
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
38
13
0
0
0
21
0
11
-9
6
0
0
21
0
-63
4
4
0
0
17
0
0
1
0
0
0
15
0
0
0
0
-2
0
49
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
-17
4
-1
-4
4
-29
30
11
-4
-3
39
28
-29
9
-38
-7
28
-26
-19
5
18
31
23
-7
33
-14
21
1
-9
6
-4
31
15
4
-29
0
8
-43
1
23
-28
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-2
0
0
0
-7
0
0
7
0
0
0
-26
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
-1
0
0
-11
0
0
-14
0
0
0
36
0
1
5
0
0
0
-5
0
0
-3
0
0
0
46
0
17
0
0
0
0
-41
-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
-17
11
-1
67
-6
-14
0
13
9
1
-7
-18
-7
-8
2
-11
3
51
16
1
0
8
9
-4
7
-5
1
0
0
-3
-2
-16
0
0
-5
-1
12
-15
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-40
0
4
55
0
0
0
3
0
0
2
0
0
0
25
0
2
0
0
0
0
1
0
32
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
-11
0
0
0
0
-7
0
0
3
0
0
0
-6
0
-9
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
18
10
0
0
-58
0
-93
0
-1
0
0
17
-2
6
0
-6
0
0
26
0
16
-10
0
0
0
7
-1
-10
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
-29
-3
3
74
-1
38
21
20
6
22
24
-3
4
39
14
8
-13
35
11
4
-12
-42
-8
-31
3
-17
-31
5
7
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-9
0
-4
1
0
0
0
-8
0
0
0
0
0
0
0
0
-10
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
42
-3
0
-29
12
0
-2
-16
-2
54
-18
1
0
0
-21
0
3
-23
1
0
0
27
0
-10
0
0
9
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
0
0
0
0
0
0
-28
3
1
21
6
55
-2
-1
27
0
50
-3
-1
0
-1
-4
0
8
-4
-20
0
0
52
0
-36
0
0
-3
0
29
-7
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
20
0
-6
-24
0
0
0
34
0
9
0
0
0
0
22
0
0
0
0
0
0
20
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
4
0
0
-4
0
0
0
0
0
0
-5
0
0
0
0
0
0
36
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
54
2
0
0
0
47
0
0
-2
-4
0
0
5
0
6
-2
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
11
-15
32
-7
30
-3
8
-1
25
-6
24
16
1
-11
-15
-2
-3
0
15
-39
-21
36
-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
-1
0
0
0
0
0
0
-12
0
0
0
0
0
0
38
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-18
17
0
0
-1
62
0
-9
-8
0
0
0
34
0
38
0
0
0
0
64
-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
-11
-34
0
21
-40
1
0
0
-32
0
2
6
-8
3
-2
-12
0
7
0
0
1
0
26
-11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-18
0
46
71
1
0
0
33
0
0
0
-3
0
0
-1
0
-5
1
0
2
0
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
-7
0
0
0
-35
0
17
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
-3
0
0
0
-56
0
17
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
44
12
-47
5
19
1
12
19
-7
6
-28
0
7
11
11
-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
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
-18
7
0
-27
0
-1
-11
-25
-19
0
4
-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
-41
0
0
-4
-10
0
0
-16
0
17
0
0
0
0
21
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-18
0
-12
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-15
14
32
2
3
15
0
26
30
37
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
74
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
4
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
19
13
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
-2
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-16
0
0
-4
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
2
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
25
0
0
-2
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
-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
-3
0
0
0
0
0
0
4
0
0
4
0
0
0
7
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
27
-34
-20
6
6
1
1
-56
-16
21
-4
-14
-11
47
3
23
37
-19
-6
10
-13
7
-30
7
-17
6
9
8
-20
26
-6
-28
9
31
27
26
16
-4
-56
-8
12
-11
-11
-27
-9
-4
-8
-22
30
0
-18
-6
-3
7
-17
16
-7
21
48
-24
-2
6
5
-3
1
20
5
-8
7
23
8
11
-21
-5
-7
-37
3
-6
1
-29
-3
-9
18
5
-8
-17
-10
30
-9
-1
2
18
-22
-12
-12
6
-22
12
-19
38
16
4
-5
-16
-9
-8
-34
4
-11
2
17
2
-5
-29
-8
0
-51
28
12
-11
-3
0
-11
-26
4
29
32
-9
-10
59
18
45
-27
-18
4
22
-3
0
-13
-15
0
0
0
0
0
0
0
-4
-1
-5
0
3
3
-11
-4
11
6
-33
-10
-24
3
-30
-4
-29
-7
27
-4
35
-13
-3
18
-24
-28
71
-11
13
-9
0
-5
21
-26
35
-17
-7
8
-14
-24
59
-11
16
0
-2
-24
-8
12
-7
-13
1
-19
-12
-3
-12
18
-3
-1
7
-4
-13
2
14
-1
2
14
-16
14
-20
-33
-5
17
38
-7
7
11
65
-6
2
-2
59
-13
-32
14
28
-9
-4
2
-26
-50
-8
-21
5
-22
8
11
3
-6
15
-10
-13
12
5
-22
-5
-10
-4
70
-5
4
-12
-56
-19
-10
17
-6
-45
-33
-17
-32
2
6
4
7
19
29
0
-3
13
21
4
9
24
22
4
19
-4
-28
-13
15
-22
-3
-3
-5
47
3
20
41
11
-27
-26
18
14
-22
1
12
-51
-30
40
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
16
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
-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
-3
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
-10
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-12
-1
0
0
0
0
-1
3
0
0
0
0
0
3
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
0
-8
2
0
0
0
7
0
0
0
0
0
0
-15
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
10
0
0
0
0
0
0
-6
0
0
2
0
0
0
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
8
0
2
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
16
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
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
3
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-7
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
2
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-3
0
0
0
1
0
0
-5
0
0
0
0
0
5
0
0
0
0
-17
0
0
0
0
0
0
-11
0
0
0
0
0
0
11
1
0
0
0
0
0
20
0
0
0
0
0
-8
6
0
0
0
0
0
-3
47
0
0
3
0
0
0
13
0
0
1
0
0
0
5
0
0
4
0
0
0
68
0
0
0
0
0
0
16
0
0
0
0
0
0
-9
0
0
0
0
0
0
10
-7
0
0
0
0
0
2
0
-3
0
0
0
0
-27
0
0
0
0
0
0
-47
0
2
0
0
0
0
20
0
0
-3
0
0
0
11
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
-1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
-35
0
0
0
0
0
0
3
0
0
5
0
0
0
0
0
0
0
0
0
0
5
0
2
-7
0
0
0
-21
0
0
1
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
19
0
0
0
0
0
0
7
0
0
0
0
0
0
-35
0
0
0
0
0
0
-41
0
0
2
0
0
-8
65
0
0
0
0
0
0
-16
0
0
0
0
0
0
12
0
0
-1
0
0
0
15
0
0
0
0
0
0
3
0
0
0
0
-9
0
-13
0
0
0
0
0
0
-7
0
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
0
-4
0
0
-2
0
0
0
0
0
0
-2
2
0
0
-1
0
0
0
0
0
0
2
0
0
-13
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
10
0
16
0
0
0
0
0
0
0
0
0
0
-1
14
0
0
6
0
0
0
44
0
0
-3
0
0
0
5
0
-2
-7
0
0
0
4
0
0
0
0
0
0
-29
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
1
0
0
-6
-16
0
0
0
-1
0
0
7
0
0
0
0
0
0
-20
0
0
0
0
0
0
18
0
0
0
0
0
0
9
0
0
0
0
0
0
42
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-10
0
-1
0
0
0
0
-3
0
0
0
0
0
0
-6
0
-1
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
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
0
0
0
25
-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
20
0
0
0
0
0
0
0
0
-11
-2
4
0
0
0
0
8
0
0
0
0
0
10
-3
0
-4
4
0
0
0
0
0
0
0
0
0
-8
22
0
0
2
8
0
-2
13
0
0
11
0
0
-2
6
0
14
15
0
0
0
-2
0
0
0
0
0
0
48
0
0
0
0
0
0
-3
0
0
0
0
0
0
13
0
-6
0
0
0
0
29
0
0
0
0
0
-3
-18
0
0
25
0
0
9
-15
0
0
3
0
0
0
46
0
0
-6
0
0
0
13
0
0
-3
0
0
0
16
0
0
0
0
-6
0
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
27
0
-2
0
0
0
0
0
0
0
0
0
0
0
-9
0
2
-15
0
0
0
-9
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
10
17
8
-4
15
12
-11
10
34
22
-14
23
-7
60
-22
56
44
-34
36
19
17
-29
13
17
-50
-24
1
10
-10
44
-27
75
-33
-21
12
-3
19
30
9
7
0
-6
0
-12
-4
0
-2
-6
18
1
-13
-12
-6
5
8
-23
24
30
-11
1
-27
3
-4
0
-19
-2
9
12
-21
24
-9
26
0
23
-18
39
18
-7
57
-26
-29
13
27
26
-5
-16
-2
15
-8
-28
3
-18
-46
0
9
-30
25
-49
17
30
12
0
-18
-3
10
1
-11
-16
0
-33
-13
22
0
-18
-39
0
-10
-21
24
-26
-5
15
-45
6
-4
48
42
-13
-6
2
1
5
-1
0
0
0
0
0
0
0
-15
1
23
-21
5
18
48
1
-10
40
28
40
-36
34
-28
9
10
17
-3
19
-25
40
18
11
2
-15
53
-8
-1
-9
8
38
14
29
20
7
-12
9
-8
8
-14
0
3
-10
19
38
34
9
30
21
4
-15
-33
-10
8
58
25
4
22
8
-21
23
17
9
15
47
12
-6
-46
-7
33
-2
35
4
19
36
-21
31
7
0
-4
24
-13
20
42
-35
1
-26
-1
6
-11
-2
2
23
14
14
21
-13
13
-7
10
-15
-47
17
0
5
-15
-4
-51
10
16
13
22
-4
20
26
30
-11
2
-1
3
-42
-12
-6
-13
32
22
-1
-2
-1
-17
13
-13
-41
4
19
-4
28
16
31
13
3
2
21
19
39
4
-46
0
2
-18
69
-36
-30
-13
-1
28
-16
-12
32
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
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
-1
1
0
0
-2
-2
0
2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
1
-14
0
0
0
0
0
-1
-5
0
0
-3
0
0
0
0
0
0
0
0
0
2
-5
0
-1
1
0
0
5
21
0
0
0
0
0
0
-13
0
-4
-16
0
0
0
-38
0
0
0
0
0
0
3
0
0
0
0
0
0
15
-1
0
0
0
0
0
8
0
0
0
0
0
0
15
0
0
0
0
0
0
9
0
0
0
0
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
2
0
0
0
-2
0
0
-1
0
0
0
6
0
-3
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
-4
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
-3
-2
0
0
13
0
-2
0
2
-6
0
-4
1
0
0
0
0
0
0
-28
0
-1
39
7
0
0
-2
2
-5
0
0
0
0
0
26
0
0
0
0
0
8
16
0
0
0
0
13
0
0
0
0
2
0
64
5
0
27
7
0
0
-26
-1
0
0
71
6
0
2
-14
0
10
3
0
0
-9
-5
0
-11
-30
-5
0
-6
1
1
0
-10
0
0
12
-34
3
0
8
12
0
0
-1
-84
0
0
0
0
-8
3
5
-15
0
-10
0
3
-69
-6
0
-1
0
0
19
50
0
13
67
-2
0
0
0
0
0
0
0
0
32
10
0
-4
-7
22
0
37
3
0
1
4
0
0
-1
44
0
4
-30
18
0
-22
-5
-2
0
29
0
0
0
-8
-10
-6
0
6
0
0
3
0
0
0
0
0
26
-19
-1
0
21
-2
0
10
19
2
6
-10
0
0
5
51
0
-3
-16
1
0
39
35
0
48
3
-9
0
-22
6
0
-3
-13
28
0
-23
12
0
9
-24
0
0
19
-44
1
-6
-16
-16
0
0
22
0
0
0
0
0
0
2
18
0
-2
0
0
1
-6
0
-39
-2
-1
0
6
5
1
-4
10
-7
0
0
36
10
4
4
-3
0
-11
38
0
-19
20
13
0
6
22
0
-27
-41
8
0
-4
2
0
1
-10
2
0
0
23
0
13
0
0
-1
0
6
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
18
0
0
0
0
-4
0
0
5
3
-9
-27
2
0
0
0
0
0
-1
-6
0
6
4
0
0
0
3
0
-65
0
0
-1
0
0
2
0
0
0
0
1
0
32
0
-2
0
0
0
-8
1
4
45
-8
0
46
2
0
-2
9
0
9
-20
1
0
10
22
7
3
44
19
0
0
-5
0
-1
3
-9
0
0
5
0
0
16
11
0
0
-9
0
-3
0
-10
0
-2
4
2
-5
0
0
-18
0
0
0
21
0
-20
7
0
-7
-12
0
0
60
0
0
-14
-1
-1
-8
-2
0
0
-15
-2
0
0
0
0
0
0
0
0
1
33
0
0
50
16
0
-10
7
0
0
-20
0
0
0
10
0
-13
10
0
0
0
-14
-9
0
0
0
0
0
-6
-1
-1
0
0
0
0
18
0
0
0
0
0
0
-17
-5
7
12
-1
0
0
44
0
1
11
11
0
50
-8
0
0
-15
-15
0
0
39
3
1
43
1
0
1
-4
4
1
-8
-20
-8
0
-17
0
0
-8
0
0
0
13
0
0
2
4
6
0
27
0
0
0
6
0
0
5
6
0
1
0
0
0
-20
0
8
28
0
-4
0
61
0
1
4
0
0
-2
-29
0
2
-4
-3
0
-6
48
-3
7
29
0
0
9
34
0
24
16
0
4
0
-4
0
0
10
1
0
0
13
1
-7
3
0
0
0
32
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
43
0
0
-1
0
0
-44
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
3
0
0
14
0
0
0
2
0
0
4
-3
0
0
-4
-17
2
-23
7
0
0
0
0
0
0
0
0
0
8
-4
0
19
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
9
0
0
0
0
18
0
0
9
0
0
39
0
0
3
0
-1
0
0
0
0
0
0
0
0
1
7
0
0
13
2
0
-8
29
0
0
12
0
0
0
13
0
-13
0
0
0
0
11
0
0
0
0
0
0
-8
0
0
0
0
0
0
25
0
0
0
0
0
4
4
0
0
-2
4
0
0
0
0
-1
0
0
0
0
2
0
0
1
0
0
4
29
0
-3
3
0
0
-7
-42
0
0
24
3
0
0
6
0
0
0
0
0
0
29
0
0
0
6
0
0
-23
0
0
0
0
0
0
20
0
0
0
0
0
0
18
0
2
0
0
0
-1
0
0
1
3
0
0
0
-33
0
0
8
0
0
0
-10
0
-1
9
-6
0
0
11
0
10
3
0
0
0
-16
0
0
0
2
0
0
-35
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
23
0
0
1
0
0
6
0
0
0
0
0
0
2
0
0
0
0
-6
1
0
0
2
0
1
10
0
0
0
0
0
0
-6
0
0
0
68
0
0
-2
0
0
0
0
0
0
-3
0
0
0
7
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
1
0
0
0
0
3
-7
0
0
-4
0
0
2
3
0
-29
8
0
0
0
0
0
0
0
0
0
0
6
0
0
-2
1
0
0
26
0
0
0
0
0
0
3
0
-6
-1
0
0
0
-12
0
0
0
0
0
0
-15
0
0
0
0
0
0
21
0
0
0
0
0
0
-18
0
0
0
0
0
1
2
0
0
2
0
0
0
-20
0
0
0
1
0
0
42
0
0
11
0
0
0
27
0
0
6
0
0
0
0
0
0
0
0
0
0
-17
0
0
-4
0
0
0
46
0
0
0
0
0
0
-8
0
0
0
0
0
0
2
0
0
0
0
0
0
-21
0
6
0
0
0
0
22
0
0
0
0
0
0
12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
3
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
-4
0
-4
0
0
0
0
0
0
15
-1
0
1
-1
0
0
0
-6
0
1
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
24
0
0
0
0
0
0
-6
0
15
-2
0
0
0
0
0
0
0
0
0
2
-2
0
0
27
0
0
4
-35
0
0
-4
0
0
0
5
0
8
-3
0
0
0
-5
0
0
0
0
0
0
-12
2
-2
0
0
0
0
33
0
0
0
0
0
0
0
0
0
3
0
0
3
-20
0
0
-1
0
0
-1
-16
0
0
3
1
0
-7
-25
0
0
2
0
0
0
-23
0
0
1
-2
0
0
-32
0
0
0
0
0
0
6
0
0
0
0
2
0
31
0
0
0
0
0
0
7
0
0
0
0
0
0
-16
0
-6
0
0
0
0
37
0
0
0
0
0
8
28
0
-1
0
0
0
0
33
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
1
0
0
0
19
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
3
0
0
0
0
-3
0
21
1
3
0
-11
0
51
16
5
0
0
0
0
6
2
3
0
0
-11
1
0
0
0
0
9
0
0
5
0
0
-18
0
0
0
0
0
0
-3
0
0
0
0
-4
-18
0
0
4
-27
20
-22
1
0
-3
16
0
0
34
-7
1
0
34
9
6
6
9
6
-3
-1
-1
16
-1
-22
0
0
69
0
8
27
7
0
0
18
0
3
0
27
0
0
8
6
-29
-2
2
-1
0
0
0
-7
0
14
3
-1
0
-8
0
-3
12
0
0
0
0
0
81
46
0
20
-10
5
0
0
0
0
0
0
0
0
-47
-17
2
2
4
-30
0
18
-7
0
0
-20
-1
0
-2
27
0
3
5
14
0
-1
-4
0
0
-1
0
16
0
7
3
-2
0
1
0
1
-16
0
0
0
0
1
4
19
5
-3
4
-23
-2
3
-16
0
0
-1
-1
0
-18
4
0
-2
-2
-2
21
12
-16
-5
-2
-1
5
-2
18
23
-6
1
-13
-8
7
-2
17
0
1
8
0
-2
0
-27
0
0
4
12
-20
0
8
-1
0
1
0
2
0
-4
0
3
0
-8
0
0
54
-6
33
0
0
0
0
-45
0
0
-9
0
0
-2
21
1
22
-3
7
0
-17
-35
2
-9
5
2
1
0
34
0
21
30
1
0
-1
-8
0
1
8
-1
2
0
43
0
11
4
0
-4
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
10
0
0
0
-1
0
-4
1
0
2
-3
1
0
11
-5
1
0
0
0
0
0
1
0
0
0
0
0
1
3
0
0
9
-1
0
-22
0
0
17
0
0
0
0
0
0
7
0
0
0
0
4
0
0
1
4
0
-1
21
0
0
0
-12
0
0
5
0
0
0
-25
0
-6
-17
3
0
2
9
0
0
2
0
0
1
-9
0
0
-3
-1
0
0
-3
0
-1
12
0
0
0
0
0
16
0
0
0
0
0
0
11
0
-6
1
1
0
0
0
18
16
0
0
2
0
0
-31
-21
0
8
-16
0
0
0
0
0
0
0
0
0
-15
-28
-2
1
-20
0
0
2
-61
0
0
-35
0
0
0
-4
0
37
-16
0
0
-1
-30
0
0
0
0
6
0
-10
-9
0
0
0
0
0
38
0
0
0
0
0
9
-2
0
6
10
0
0
-5
23
0
-3
13
0
0
11
-2
0
0
79
0
0
10
-14
3
0
13
0
0
-10
-25
0
-2
6
0
0
0
1
0
0
6
0
0
-6
21
0
0
0
0
8
0
14
0
0
0
0
0
0
41
0
0
0
0
0
0
-56
0
6
0
0
0
-15
22
0
-3
1
0
0
6
12
0
-12
7
0
0
1
37
0
6
-20
0
0
0
80
0
2
3
0
0
0
13
0
0
-2
0
0
0
-15
0
-5
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
1
0
0
0
0
0
0
4
0
0
1
0
0
0
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
0
0
102
1
0
-8
0
0
0
-4
0
0
-36
0
0
0
12
0
0
-8
0
0
-1
15
0
0
-2
0
0
0
6
0
0
-29
0
0
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
0
0
0
-4
16
0
0
0
0
0
2
15
0
-16
-15
0
0
0
0
0
0
0
0
0
-3
64
0
0
-7
1
0
31
-30
0
0
3
0
0
0
-24
0
26
0
0
0
0
2
0
0
2
0
0
0
-2
1
7
0
0
0
0
14
0
0
0
0
0
-3
-13
0
0
3
0
0
23
50
0
-7
4
0
0
21
59
0
0
-18
0
0
28
7
0
0
5
0
0
7
23
1
9
16
0
0
1
1
0
0
1
0
0
0
-4
0
1
-1
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
9
0
-1
3
0
0
0
-8
7
0
2
-4
0
0
46
0
-1
-1
0
0
-6
-7
0
0
3
0
0
0
68
0
-6
0
0
0
0
-30
0
0
1
0
0
0
54
0
6
1
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
53
-30
61
2
29
-10
15
57
0
7
9
3
21
1
13
6
9
-7
18
-6
0
-10
8
-22
0
0
60
0
0
6
0
0
0
1
0
-16
-19
0
-3
0
22
-5
-16
8
6
-10
-3
19
-6
1
-1
-13
-13
-8
-12
23
2
50
-9
1
-7
18
-42
12
51
122
62
1
21
13
-21
11
9
8
11
-13
-7
-3
0
0
-8
-16
-15
16
35
0
0
17
34
-5
-1
1
-45
1
0
-10
20
0
16
-33
52
-1
13
0
10
15
-12
10
23
0
24
29
-2
-16
-11
4
19
0
0
0
0
0
0
0
0
-6
9
-7
17
0
-32
0
22
1
-1
0
4
7
-1
23
24
2
-6
-10
-21
6
12
-11
-2
0
-6
-8
-19
0
-15
32
-20
15
25
1
0
21
20
-3
17
-1
0
0
14
52
3
2
10
10
12
2
28
-25
1
-1
-2
51
28
13
5
-42
-7
7
53
8
-36
-27
20
-7
-14
-2
-22
-8
21
29
12
28
22
-38
-1
-10
0
0
7
-16
-13
4
0
25
-28
15
0
-25
19
-1
23
15
4
-8
40
-12
-6
24
-21
4
7
4
47
-3
-19
6
17
-39
-13
-23
41
-35
11
6
-16
22
-8
22
-87
-7
-1
-51
11
16
22
6
-43
-8
-33
-29
-2
26
27
1
9
0
-4
8
-8
1
-17
9
0
12
1
-10
7
6
-12
0
2
1
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
2
0
0
21
0
0
0
12
0
0
0
-11
0
2
-3
0
0
26
-2
0
0
-1
1
0
3
3
0
0
0
0
0
0
10
0
0
0
0
-2
0
-1
-2
0
0
0
0
0
39
0
2
0
0
0
0
-2
0
0
1
0
0
-7
16
0
38
37
0
0
0
0
0
0
0
0
0
39
-44
0
2
35
0
0
2
-26
0
0
2
0
0
-2
-10
0
5
0
3
0
0
-28
1
0
0
0
0
0
24
-1
0
0
0
0
0
-23
0
0
0
0
0
0
2
-1
1
0
0
0
4
-4
0
0
-13
0
0
-3
0
0
-1
24
5
0
-3
-3
0
0
-9
0
0
-1
13
0
-3
0
0
0
0
-14
0
0
1
0
-2
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
-3
-4
4
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
-4
0
0
0
0
3
-7
4
0
0
4
0
0
0
2
1
0
0
-5
0
-2
0
0
0
0
-10
0
0
0
0
0
0
25
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
1
0
0
0
0
0
0
0
0
22
0
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
6
0
0
9
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
0
-30
-1
4
0
0
0
0
32
0
0
0
0
0
0
5
0
-4
-1
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
-2
-7
0
0
0
0
0
0
4
0
-7
0
0
0
0
3
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-36
0
0
-12
0
0
0
0
0
0
6
0
0
2
14
0
0
-6
0
0
0
5
0
0
0
0
0
0
-24
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
0
0
2
0
0
0
0
-4
0
0
0
0
0
0
5
0
-1
-7
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-23
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-22
0
0
-1
0
0
-75
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
3
-1
10
-21
2
0
0
-1
0
0
56
0
0
0
0
0
0
8
0
0
0
-8
0
1
1
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
30
0
-3
0
0
0
0
37
0
0
0
0
0
0
-14
0
-14
3
0
0
0
0
0
0
0
0
0
0
45
0
3
0
0
0
0
-4
0
0
-11
0
0
0
0
0
7
0
0
0
0
38
0
0
0
0
0
0
-32
0
0
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
-2
0
0
0
33
0
0
2
0
0
-4
16
0
0
-16
1
0
3
18
0
7
20
0
0
0
18
0
0
-2
0
0
1
-32
0
0
0
0
0
0
-7
0
-2
0
0
2
0
-8
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
2
0
0
0
0
-9
0
0
19
0
0
-3
36
0
7
-7
0
0
0
2
0
0
0
0
0
0
43
0
0
0
0
0
0
1
0
0
0
0
0
0
19
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
6
0
1
-8
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-22
0
0
0
0
0
2
-3
0
0
0
1
0
0
0
-1
-1
0
6
0
0
-15
0
1
0
0
59
0
0
-3
-1
1
-6
47
-22
0
0
-25
0
0
8
0
4
0
2
1
0
-9
3
0
0
7
0
0
0
-9
0
0
1
0
20
0
0
-8
0
0
0
-1
0
-24
0
0
0
0
0
2
52
0
0
0
0
0
-6
36
4
-19
-8
6
0
0
0
0
0
0
0
0
122
-26
0
-2
13
0
0
22
20
0
0
-2
0
0
0
-18
0
22
1
0
0
0
6
0
0
0
0
0
0
-13
0
6
0
0
0
0
33
0
0
0
0
0
0
26
2
0
-5
7
0
0
-28
0
0
-1
0
0
4
14
0
1
26
0
0
21
56
1
0
0
-1
0
0
1
0
0
21
4
0
-6
52
0
0
-1
0
-1
0
41
0
0
0
-1
-4
0
-12
0
0
0
0
0
0
-24
-3
0
0
0
0
-1
19
0
1
0
0
0
0
23
0
3
0
-1
0
0
-55
0
1
2
3
0
-9
2
0
0
-2
-7
0
0
-21
0
3
0
0
0
0
-55
0
0
0
0
0
0
0
0
-12
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
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-12
0
0
0
0
0
21
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
6
0
2
-1
0
0
0
6
0
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
7
0
0
0
0
0
0
0
0
29
2
0
0
0
0
0
-5
0
0
0
0
0
3
-7
0
15
-2
0
0
0
0
0
0
0
0
0
0
-4
0
0
3
0
0
1
-2
0
0
1
0
0
0
0
0
20
0
0
0
0
-2
0
0
0
0
0
0
24
0
8
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
7
24
0
0
0
0
0
0
15
0
0
1
0
0
0
33
0
0
0
0
0
0
-16
0
0
11
0
0
0
10
0
0
0
0
0
0
7
0
0
0
0
0
0
20
0
0
0
0
0
0
-8
0
0
0
0
0
0
23
0
0
0
0
0
0
19
0
0
0
0
0
0
18
0
3
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
-2
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-59
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
-12
0
20
-13
0
0
-4
0
0
-16
0
0
0
0
-1
0
-48
0
0
0
6
0
0
1
0
0
0
26
0
0
-9
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
-1
0
0
0
0
0
-16
0
0
0
1
0
0
20
0
0
0
0
0
-3
46
0
-22
19
-1
0
0
0
0
0
0
0
0
-3
-1
0
0
5
4
0
8
23
0
0
-55
0
0
0
-7
0
-1
0
-1
0
0
15
0
0
0
0
0
0
7
0
0
0
0
0
0
11
0
0
0
0
0
0
-8
0
0
0
0
0
-6
-4
0
0
5
0
0
-8
-22
0
0
-15
12
0
-10
-4
0
0
-3
0
0
-2
-61
0
0
3
0
0
0
30
0
0
7
0
0
0
38
0
0
0
0
0
0
11
0
0
0
0
0
0
-15
0
0
0
0
0
0
-15
0
-2
0
0
0
3
-8
0
-3
-4
0
0
0
-12
0
26
0
0
0
0
-27
0
3
21
0
0
0
32
0
4
3
0
0
0
13
0
0
1
0
0
0
-6
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
1
0
-7
-1
-1
0
0
0
2
0
-4
13
0
0
0
1
1
-1
0
1
-3
0
0
-11
0
0
0
0
-6
3
0
0
11
0
0
-2
7
0
0
-11
-24
-10
25
0
1
4
1
0
-10
10
-12
7
1
-23
18
-1
-16
23
0
0
23
-2
10
20
13
0
0
-1
0
0
0
-7
0
0
9
0
0
0
-46
0
0
-3
-6
-42
0
0
-1
0
0
0
1
0
1
1
3
0
-1
0
3
21
0
0
15
0
0
-6
36
-4
15
-7
-1
0
0
0
0
0
0
0
0
-5
0
0
-6
-1
13
0
-9
21
1
-4
-15
0
0
1
14
0
20
40
0
-8
0
20
0
0
-2
0
-8
0
5
0
0
0
-2
0
0
26
-1
0
-1
0
0
-1
-2
0
1
2
4
3
4
13
1
7
-18
4
-7
63
22
-1
11
6
-10
2
6
-14
1
26
3
-1
-1
-2
0
-1
-1
4
6
-12
-1
-7
0
-1
-2
0
12
0
5
-2
0
8
2
-6
0
-36
3
-2
0
1
0
0
19
0
0
0
0
2
0
-29
-3
57
0
0
-7
0
-25
-2
1
-5
-2
-4
1
16
4
-2
-8
4
4
-4
-25
0
2
-22
-2
13
11
-44
0
43
-4
-1
6
0
10
0
6
6
0
0
0
17
0
-18
0
0
7
0
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
-6
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
16
0
0
0
0
0
-4
1
0
0
0
0
-3
0
0
0
19
-3
0
-10
0
0
0
-7
0
0
-25
7
0
0
4
-28
0
8
0
0
0
-6
0
0
-1
0
0
0
25
-1
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
-1
-2
0
0
4
0
0
0
0
0
-15
0
0
0
0
0
6
-4
0
13
-16
5
0
0
0
0
0
0
0
0
-3
0
7
0
-32
3
0
-6
23
0
-1
3
0
0
2
11
0
-24
2
0
0
0
52
0
0
0
0
0
0
-6
0
-1
0
0
0
0
-28
-1
0
0
0
0
0
48
0
0
3
7
0
-2
-20
0
0
0
0
0
0
-15
0
4
-59
6
0
1
0
0
0
38
0
0
-4
49
0
0
-14
4
0
-1
-24
0
0
0
0
0
0
-4
0
0
0
-11
0
0
-29
0
0
0
0
0
0
1
0
1
0
0
0
0
-6
0
0
2
0
0
-1
14
0
-3
-6
0
0
0
-29
0
5
8
0
0
0
0
0
-1
2
0
0
-2
6
0
2
1
0
0
0
-8
0
0
0
0
0
0
-64
0
0
0
0
0
0
26
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
-2
0
0
0
0
0
-19
0
0
0
-6
0
0
11
0
0
0
13
14
-9
-26
-4
0
0
-7
0
0
-7
0
0
0
16
0
0
0
7
0
0
0
0
0
0
0
0
0
-2
0
-6
0
0
-1
0
0
0
2
0
-29
1
0
0
0
0
0
-46
0
0
0
0
0
0
33
0
-3
-24
1
0
0
0
0
0
0
0
0
0
-11
0
-3
-2
0
0
6
29
0
0
-4
0
0
0
-10
0
21
0
7
0
0
-6
0
0
0
0
0
0
-8
0
0
0
0
0
0
17
0
0
0
0
0
0
-7
0
0
3
2
0
4
-2
0
0
3
0
0
0
-23
0
0
-46
0
0
0
2
0
0
3
0
0
0
1
0
0
3
4
0
1
46
0
0
0
0
0
0
1
0
0
-6
-1
0
0
-10
1
0
0
0
0
0
-1
0
0
0
0
0
0
-19
0
10
0
0
0
0
-15
0
1
0
0
0
0
9
0
0
4
0
0
0
5
0
0
0
0
0
8
-5
0
0
0
0
0
0
-5
0
0
0
0
0
0
-8
0
10
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
-6
0
0
0
0
0
-38
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
-12
0
0
0
-11
-2
0
-5
0
0
0
6
0
0
12
0
0
0
22
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
1
0
0
2
0
0
1
1
0
10
-2
0
0
0
0
0
0
0
0
0
1
-21
0
0
5
0
0
1
6
0
0
-10
0
0
0
2
0
-24
0
0
0
0
23
0
0
0
0
0
0
26
0
0
0
0
0
0
-18
0
0
0
0
0
0
-17
0
0
2
0
0
0
-2
0
0
4
0
0
0
-21
0
0
0
0
0
0
21
0
0
0
1
0
0
8
0
0
0
0
0
0
49
0
0
0
0
0
0
17
0
0
0
0
0
0
-38
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
0
0
-4
0
0
0
-4
0
-1
-1
0
0
0
-9
0
0
0
0
0
0
-7
0
4
0
0
0
0
-1
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
20
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-30
0
0
1
0
0
-14
0
0
0
0
0
0
4
0
0
0
0
-3
0
0
1
3
4
2
-2
4
0
1
33
0
0
-5
-1
0
0
-5
10
0
29
0
0
0
16
0
0
4
2
0
0
-39
0
0
-20
8
0
0
0
0
7
0
3
0
0
0
-8
0
0
0
0
0
0
0
0
0
-10
-2
-1
0
2
0
2
-49
0
0
1
0
0
-13
13
0
9
12
0
0
0
0
0
0
0
0
0
3
42
0
0
-3
-1
0
-6
8
0
0
7
0
0
4
12
0
32
0
4
0
0
-14
0
0
0
0
0
0
2
29
0
0
0
0
0
12
0
0
0
0
0
2
51
0
0
0
1
0
8
22
0
-2
10
0
0
-5
-57
0
0
20
-2
0
1
15
0
0
1
0
0
-1
48
0
0
1
0
0
0
13
0
-8
2
0
-9
0
-40
0
0
0
0
3
-10
56
0
0
0
0
0
0
21
0
0
0
0
0
4
2
0
-3
0
0
0
0
19
0
-4
2
0
0
0
15
0
22
2
0
0
0
52
0
0
1
1
0
0
-3
0
-1
-15
0
0
0
-9
0
0
0
0
0
0
-4
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
-4
0
0
0
1
0
0
0
-1
0
0
0
0
0
22
0
0
4
0
0
-25
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
-6
0
13
-3
0
0
0
0
0
0
-18
0
0
0
2
0
0
-20
0
0
0
-5
0
0
12
0
0
0
-2
0
0
17
-2
0
0
0
0
1
0
2
0
0
0
0
-4
0
0
3
0
0
0
-4
0
17
2
1
0
0
0
-2
-5
0
0
0
0
0
-3
-39
0
-29
22
0
0
0
0
0
0
0
0
0
19
14
0
0
54
0
0
24
-20
0
0
12
0
0
5
21
0
3
9
0
0
0
-1
0
0
0
0
7
0
-46
1
-2
0
0
0
0
24
2
0
1
0
0
-2
-52
4
0
-7
0
0
55
17
0
0
9
0
-3
51
56
0
2
21
0
0
-16
-8
-1
0
24
0
0
-2
-3
0
-1
22
0
0
0
10
0
0
3
0
2
0
-3
0
0
0
0
-3
0
14
0
0
0
0
7
0
-5
-6
0
0
0
0
0
31
0
1
-1
0
0
0
-4
0
0
-8
0
0
-2
72
0
19
14
0
0
-4
-11
0
0
1
0
0
-3
-8
0
23
0
0
0
0
35
0
1
1
0
0
0
36
0
0
0
0
0
0
42
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-7
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
8
-6
0
0
-2
2
0
63
7
0
16
-16
0
0
10
2
0
1
-23
20
0
19
0
0
0
0
0
0
-15
0
0
0
-16
0
0
32
0
0
0
0
3
0
0
9
0
0
4
9
10
0
0
25
0
0
0
0
0
-5
1
-1
0
0
0
0
66
0
0
0
0
0
54
17
0
-30
70
0
0
0
0
0
0
0
0
0
21
22
0
-2
-60
-3
0
6
14
0
0
-14
0
0
1
18
0
60
26
-3
0
-2
3
-1
0
0
0
0
0
43
-2
-2
0
0
0
0
33
-1
0
-1
0
0
-5
9
0
0
9
-6
0
-4
-4
0
-1
6
0
0
-2
3
0
1
-18
-7
0
18
25
0
0
-19
0
0
-9
30
0
-1
-13
0
0
16
3
0
-7
9
0
0
0
3
0
0
0
0
0
0
16
0
0
0
0
0
0
6
-7
0
0
0
0
-4
-11
0
-2
4
0
0
0
-23
7
-1
11
0
0
-5
-12
0
30
40
0
0
-4
25
0
0
-29
0
0
0
15
0
-15
-13
0
0
1
13
0
-3
2
1
0
0
38
0
-9
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
6
-1
0
13
17
3
2
0
1
0
-8
0
0
11
0
0
-14
0
0
0
1
0
2
-1
1
0
0
0
3
6
0
0
42
-3
-3
37
60
1
-8
-9
0
36
63
-24
-2
1
13
15
-1
-30
-40
0
-1
13
0
-22
-4
17
0
0
19
2
12
0
24
0
0
-14
0
-2
0
23
0
0
1
4
-38
0
0
21
0
0
0
-11
0
17
1
-6
9
-3
0
-19
-28
0
0
1
0
0
10
-7
-1
-8
25
-15
0
0
0
0
0
0
0
0
-1
-21
0
-3
8
-11
1
1
46
0
0
-9
-15
-3
0
28
0
-19
39
42
4
0
0
0
0
1
0
6
0
8
24
-6
0
0
0
0
15
0
0
2
0
0
2
-6
3
8
-20
3
12
12
-14
-2
-1
-8
-1
-1
2
0
0
3
-28
-10
0
3
31
-8
-18
-6
2
24
0
17
-10
-18
-13
2
1
4
-18
0
2
0
0
0
0
-9
-1
2
-1
2
17
0
-1
-4
0
0
-4
-1
0
3
0
0
0
1
0
0
-11
-1
-1
26
4
0
-8
31
18
-8
6
-2
0
1
-48
0
-17
-23
3
0
10
32
-1
32
-15
30
5
0
39
0
22
-1
0
0
-10
-35
0
10
18
0
0
0
18
0
30
0
0
9
0
41
-16
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-12
0
0
0
0
0
-46
0
0
0
0
0
0
1
0
0
0
0
4
0
0
0
-4
0
0
26
0
0
0
-30
0
0
-11
-1
0
0
5
2
0
-2
0
0
0
47
0
0
26
0
0
0
13
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
7
5
-4
0
0
0
0
37
0
0
0
0
0
0
13
0
24
-1
0
0
0
0
0
0
0
0
0
16
-12
0
0
5
0
0
43
0
0
0
6
3
0
0
-1
0
25
0
0
0
0
-35
0
0
0
0
0
0
-21
-3
0
0
0
0
0
1
0
0
0
0
0
0
-29
0
0
0
0
0
0
-19
0
0
3
0
0
0
-12
0
0
-5
0
0
-6
-2
0
0
6
0
0
0
0
0
0
0
2
0
0
34
0
8
0
0
0
0
13
0
0
0
0
0
0
6
0
0
0
0
0
0
-5
0
0
0
0
0
-1
10
0
-1
0
0
0
0
14
0
0
-3
0
0
0
43
0
1
0
0
0
0
39
0
0
0
0
0
0
0
0
-1
0
0
0
0
7
0
0
0
0
0
0
-16
0
6
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
8
0
0
0
1
0
0
1
0
0
0
18
0
0
1
-1
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
17
0
0
0
0
0
1
-25
0
0
0
0
0
0
-2
0
-14
4
0
0
0
0
0
0
0
0
0
10
17
0
0
0
0
0
0
-20
0
0
-10
0
0
2
12
0
7
0
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
0
0
0
44
0
0
0
0
0
0
-20
0
0
0
0
0
1
-37
0
0
8
0
0
1
-37
0
0
-2
0
0
7
-22
0
0
-10
0
0
0
-4
0
0
-2
0
0
0
-51
0
0
0
0
0
0
-6
0
0
0
1
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
3
0
0
3
0
0
0
42
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
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
4
0
0
0
0
0
0
0
0
-4
0
0
2
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
0
0
0
7
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
18
0
4
0
0
0
0
-11
0
0
0
0
0
0
3
0
47
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-23
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-17
0
0
0
0
0
0
23
0
0
0
0
0
1
-29
0
0
0
0
0
0
-14
0
0
-1
0
0
0
-27
0
0
-2
0
0
0
7
0
0
-7
0
0
0
-9
0
2
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
-3
0
10
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
21
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
-2
0
0
1
0
0
0
21
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
-82
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
1
0
0
6
0
0
12
-1
0
0
7
0
0
9
-3
0
0
1
0
0
-3
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
1
28
0
0
0
0
0
10
12
0
-3
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
11
0
0
-3
-10
0
0
0
0
0
3
-19
0
8
0
0
0
0
21
0
0
0
0
0
0
50
-2
0
0
0
0
0
-33
0
0
0
0
0
0
-5
0
0
0
0
0
1
2
0
1
0
0
0
0
-15
0
0
-2
0
0
0
-20
0
-7
0
0
0
0
-8
0
0
0
0
0
0
16
0
0
0
0
0
0
-8
0
0
0
0
0
0
-12
0
0
0
0
0
0
9
0
0
0
0
0
0
-17
0
0
0
0
0
0
4
0
0
0
0
0
0
7
0
0
1
0
0
0
18
0
0
2
0
0
-3
-1
0
-1
0
0
0
0
4
0
0
0
0
0
0
22
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-3
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
9
0
0
0
-2
0
0
0
0
0
0
0
0
6
0
0
0
0
1
0
0
0
0
0
0
-18
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
16
0
0
-2
0
0
2
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
3
0
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
2
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
-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
37
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
0
-4
10
0
-31
1
-1
0
16
0
0
20
0
0
0
-50
-1
0
35
-2
0
0
18
0
0
-2
0
0
0
6
0
0
14
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
5
0
0
0
0
0
40
3
0
0
0
0
-2
21
0
0
0
0
0
-12
48
0
-13
4
0
0
0
0
0
0
0
0
0
-25
60
0
0
39
4
0
-14
30
0
0
15
0
0
26
-5
0
35
6
3
0
0
70
0
0
4
0
0
0
8
6
0
0
0
0
0
-6
0
0
0
0
0
6
24
0
0
21
3
0
-44
1
0
0
3
0
0
20
20
0
0
-35
0
0
1
-4
0
0
-1
-2
0
4
-10
0
0
20
-4
0
2
6
0
3
-3
0
0
0
13
0
0
-4
15
0
0
12
-1
0
0
0
0
0
11
-4
0
0
0
0
6
46
0
-16
-4
0
0
0
-4
3
0
6
0
0
0
20
0
-6
2
0
0
4
-3
0
-1
-11
2
0
-3
-13
0
-13
11
0
0
12
4
0
2
0
0
0
0
-27
0
-7
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
-1
-2
0
-80
0
0
0
0
0
-40
0
0
0
0
0
-1
0
0
0
0
1
-3
0
0
0
-1
0
0
19
8
0
0
-3
0
0
24
1
0
0
17
-1
-2
0
-1
0
0
-2
0
0
3
3
0
0
-20
-1
0
0
6
0
0
1
0
-6
0
0
0
0
7
0
9
0
0
0
0
0
-3
-1
0
7
0
0
0
0
0
-1
26
0
0
0
-1
0
9
56
0
25
10
-1
0
0
0
0
0
0
0
0
0
-34
0
0
-14
-1
0
6
17
0
-4
9
0
0
0
-2
0
18
-7
0
0
0
42
0
0
0
0
0
0
-12
9
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
3
8
0
1
-3
0
8
23
0
0
8
-1
0
0
-1
-1
0
-2
7
0
-2
37
3
2
0
54
0
0
-9
4
0
0
-34
0
0
0
0
2
0
-11
0
0
1
0
1
0
-55
0
0
0
0
0
0
40
-1
0
0
0
0
0
13
0
-4
0
0
0
-3
-10
0
0
0
4
0
0
29
0
-19
-1
0
0
0
-12
0
1
1
-1
0
0
-28
0
0
13
-9
0
0
-7
0
0
-3
3
0
0
-26
0
-1
0
0
-1
0
-39
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
-38
0
0
0
0
0
-2
-3
0
0
0
0
0
4
0
0
-1
0
-4
-24
0
0
0
4
0
0
-3
0
0
0
8
0
0
-1
0
1
0
4
0
0
-1
0
0
-3
-4
-11
0
24
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
3
0
0
0
0
-29
0
0
-4
0
0
18
-24
0
17
-3
0
0
0
0
0
0
0
0
0
8
15
1
-2
-25
0
0
-23
15
0
0
-6
0
0
-3
0
0
17
2
0
0
-1
25
0
0
0
0
0
0
19
0
4
0
0
0
0
-4
0
0
0
0
0
0
56
-1
0
0
0
2
12
-22
0
0
0
0
-4
0
-4
0
2
9
-1
0
11
-32
0
0
-11
0
0
0
-36
0
13
-4
0
0
-3
0
0
9
-16
0
0
0
-14
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
5
-1
0
0
0
21
3
0
-2
0
0
2
48
0
2
-26
0
0
0
-9
-2
6
0
16
0
0
-10
0
0
-1
0
0
-1
0
0
0
0
-4
0
0
32
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
53
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
-8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
44
0
0
6
0
0
0
18
0
0
0
0
0
0
1
0
-14
0
0
0
0
-1
0
0
0
0
0
0
-13
0
0
0
0
0
0
11
0
0
0
0
0
0
13
0
0
0
0
0
0
30
0
0
0
0
0
0
16
0
0
-1
0
0
0
-10
0
0
0
0
0
0
3
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
-3
6
0
2
-3
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
20
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-6
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
-20
0
0
0
0
0
-1
-42
0
0
6
0
0
0
-14
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
-18
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
1
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
-2
-32
49
2
0
0
21
0
0
-40
7
0
0
-1
-2
0
-2
8
0
0
0
0
1
5
-2
0
0
-1
0
0
-34
4
0
0
0
-7
0
-1
37
0
0
0
-8
10
0
0
3
0
0
0
0
0
24
2
0
0
0
0
-1
7
6
0
1
0
-6
0
23
0
-2
2
1
0
0
0
0
0
0
0
0
-12
11
0
0
12
0
0
2
2
0
0
6
0
0
-1
6
-4
-27
0
0
0
0
-46
0
0
0
0
0
0
22
4
0
0
10
0
0
44
0
0
0
0
0
0
1
0
-7
0
0
4
-1
-16
0
0
0
0
0
0
-6
0
0
-7
-5
-1
0
5
0
1
-1
0
0
0
-1
0
0
0
0
0
-2
-2
0
0
2
0
-2
0
24
0
0
0
1
-2
0
32
-1
0
0
0
0
0
13
6
0
0
0
0
0
6
0
48
0
3
0
0
1
0
2
16
0
0
0
-11
0
-42
0
3
0
0
19
0
-3
9
-4
0
0
35
0
-5
0
0
0
-1
24
0
0
0
0
0
0
-11
1
2
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
21
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
1
0
4
-2
-2
0
0
8
0
2
-9
1
0
-1
35
0
1
-18
-1
0
0
0
0
0
0
0
0
0
0
-1
0
-31
0
0
0
15
0
10
0
0
0
0
0
0
31
0
0
0
0
0
0
-1
0
34
3
0
0
0
0
0
-67
0
0
1
0
0
-2
-7
0
-10
23
0
0
0
0
0
0
0
0
0
4
-23
0
0
-30
0
0
32
-22
0
0
-14
0
0
0
19
0
3
-2
0
0
0
7
0
0
0
0
0
0
37
-2
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-3
0
0
-1
21
0
0
2
0
0
-2
6
0
0
15
0
0
0
-36
0
0
58
0
-2
3
23
0
0
-11
0
0
-1
-41
0
0
10
0
1
0
51
0
-3
4
0
-2
0
-22
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
2
0
0
0
-13
0
0
7
0
0
0
9
0
-9
-4
0
0
0
21
0
0
-6
-1
0
0
34
0
-1
-10
0
0
0
24
0
0
0
0
0
0
3
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
-5
0
0
0
0
0
8
0
0
0
0
0
1
-3
0
0
0
0
-6
0
0
0
-2
2
0
15
0
0
0
0
0
0
-11
2
0
0
52
-7
0
-5
0
0
0
0
0
0
4
0
0
0
-3
0
0
4
-8
0
0
0
0
0
7
0
0
0
0
7
0
0
0
-3
0
0
0
0
0
17
2
0
0
-1
0
2
-9
0
0
3
0
0
-6
17
0
46
-48
0
0
0
0
0
0
0
0
0
-30
71
0
0
8
-4
0
-41
18
0
0
31
0
0
-7
13
0
12
0
0
0
0
3
0
0
0
0
0
0
-17
4
3
0
0
0
0
-22
0
0
0
0
0
0
-15
0
0
-12
0
0
-4
-17
0
0
17
0
0
26
1
0
-2
-18
0
0
-21
42
0
0
-30
0
0
-2
24
-1
-2
5
1
0
13
46
0
1
0
0
0
0
39
0
8
0
0
0
0
-12
0
0
0
0
0
0
27
0
0
0
0
0
0
16
0
-5
0
0
0
0
2
0
3
-11
0
0
-1
17
0
-4
-9
0
0
0
-16
0
0
2
0
0
0
123
0
-15
0
0
0
0
-7
0
0
0
0
0
0
19
0
6
4
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
-7
1
0
0
0
0
0
0
0
0
0
2
-17
0
0
1
0
0
6
4
0
0
0
0
0
0
-8
0
1
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
0
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
-9
5
0
0
0
0
0
3
1
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
-15
0
0
0
0
0
0
-13
0
0
0
6
0
0
-3
0
0
-2
2
0
0
7
0
0
0
-5
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
14
0
0
0
0
0
-2
-75
0
0
-1
0
0
10
24
0
7
1
0
0
0
0
0
0
0
0
0
0
4
0
0
-6
0
0
-2
14
0
0
0
0
0
1
-15
0
1
0
0
0
0
0
0
0
-1
0
0
0
-28
0
0
0
0
0
0
-8
0
0
0
0
0
0
-7
0
0
0
1
0
0
8
0
0
3
0
0
0
26
0
0
0
0
0
0
12
0
0
0
0
0
0
-12
0
0
-1
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
32
0
-2
2
0
0
0
-11
0
-10
-10
-6
0
0
-16
0
0
0
0
0
1
-13
0
0
0
-1
0
0
4
0
7
0
0
0
0
-4
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
9
3
0
2
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
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-12
0
0
0
0
0
-2
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
0
0
9
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-11
0
0
0
0
0
0
25
0
0
0
0
0
2
-13
0
0
0
0
0
18
-25
0
0
2
0
0
-1
-15
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
-11
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
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
3
1
-23
15
24
3
28
-1
7
-11
-5
-8
-2
-18
32
51
-4
5
19
8
-13
17
15
-14
-43
17
12
17
33
17
-29
-5
39
-14
-37
-1
-1
13
-30
4
16
-37
4
4
-8
-6
6
-2
-25
8
51
-18
28
-5
0
-11
19
13
0
44
-16
-1
-2
-4
-9
0
-1
0
-12
50
-1
16
-18
-17
19
7
0
-3
-1
7
18
3
17
27
-30
-3
0
0
0
0
0
0
0
-28
6
-9
8
3
-81
-20
-8
-13
8
3
6
-77
2
28
-1
4
-25
-17
6
3
-3
4
-1
6
-11
-20
-13
0
13
-4
0
-8
-24
17
-4
8
-14
-1
-4
-40
-7
21
-17
17
-2
39
-26
8
18
0
-14
-12
8
10
32
-41
-1
58
-16
6
-33
-10
21
-1
-9
7
25
-16
8
-16
2
-1
-32
5
-14
-12
7
-15
-22
-4
15
3
-29
9
0
7
-41
32
6
-10
0
-7
5
-14
5
6
-37
-13
-26
-38
-3
-5
-51
2
46
-8
-6
-8
27
39
-4
14
1
-5
-26
41
-51
-11
4
-3
-7
-26
20
-33
-14
-17
-1
1
-25
-9
-36
53
15
12
-2
24
-65
-18
-7
-1
-10
-8
49
15
16
21
0
-13
16
-36
29
19
24
0
-7
-21
41
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
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
8
0
0
0
0
0
0
-2
0
0
0
0
0
-2
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
-6
0
0
0
0
0
-9
0
0
3
-2
-1
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
-1
0
0
0
0
0
0
-22
0
0
0
0
0
0
-21
0
0
0
0
0
0
-3
0
0
0
0
0
0
-34
0
0
0
0
0
-2
4
0
0
0
0
0
-2
11
0
0
0
0
0
6
-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
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-26
0
0
0
0
-1
-9
0
0
27
-40
0
25
-8
0
0
-8
0
0
-16
-8
0
-1
23
-23
0
-25
13
0
-3
-54
0
0
41
4
0
0
2
-1
0
39
-25
0
0
17
-3
0
-6
-7
0
0
0
0
0
0
0
-10
0
0
1
0
0
-7
34
8
0
10
0
7
-14
0
0
13
0
0
-36
34
-1
7
-10
4
0
0
0
0
0
0
0
0
89
-5
-1
0
42
20
0
-6
-3
0
0
35
2
0
-4
18
0
38
-19
0
0
10
26
7
1
4
-3
0
0
5
-15
4
1
-2
0
1
10
4
0
2
0
0
26
-15
0
1
0
13
-2
-22
18
0
0
5
0
0
-20
-5
0
3
29
39
0
0
41
0
11
22
0
0
-3
47
-1
15
23
-21
0
1
-4
0
5
39
0
0
0
50
0
-17
-15
4
0
0
-15
0
2
0
0
0
0
-16
4
0
0
2
0
0
1
0
-1
-1
0
0
-30
21
0
-5
34
-3
0
4
0
0
12
-3
0
0
-6
3
0
48
2
5
0
0
-12
0
-13
22
0
0
-1
-24
0
-10
3
11
0
0
-6
0
62
0
0
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
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
10
-7
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
36
0
0
0
0
0
0
1
0
0
0
0
0
0
-18
0
0
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
-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
4
0
0
0
0
0
0
3
0
0
-1
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
-23
2
-2
-16
-8
-14
0
-26
25
0
59
13
-7
-24
-24
1
37
4
0
29
-24
0
-6
4
11
-19
18
-54
-7
-1
61
-36
-6
1
-64
-36
41
47
28
-16
-22
-8
-24
-34
-8
26
-20
35
-3
-26
-40
-16
-4
2
7
10
-23
-19
0
8
-60
24
-3
38
2
-26
5
-9
-5
-14
-9
-2
-47
-16
-26
-32
-43
-2
-7
-12
-9
-11
-3
-2
0
0
0
0
0
0
0
-4
1
1
20
-16
2
18
-14
-14
9
49
15
19
34
7
19
8
-1
21
-16
6
-17
6
5
-6
-18
-9
0
-6
1
1
6
55
-33
15
12
2
3
45
67
-107
-25
4
3
-4
-32
4
-4
5
-8
-7
-63
40
5
9
-3
-17
-23
21
-13
6
-15
-37
-5
-15
19
-11
-4
38
17
-35
-1
-36
36
2
-12
7
-10
6
-7
44
4
-10
27
-40
2
41
27
18
-11
10
-26
-6
0
-16
-10
-13
52
-11
6
-23
9
9
-1
-1
9
-2
-46
14
18
13
-1
-58
-14
-1
-32
7
10
-36
27
-15
19
-22
1
25
4
29
2
13
-6
10
-4
17
21
6
11
-1
25
-35
-15
42
-2
-26
-5
-27
7
45
19
-3
16
8
-31
57
25
-2
-1
-9
11
32
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-1
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
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
-2
0
0
0
3
-18
0
10
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
-11
0
0
0
0
0
13
0
0
0
0
0
0
37
0
0
0
0
0
0
-2
0
3
4
0
0
0
0
0
0
0
0
0
0
20
0
0
-5
-1
0
-15
19
0
0
11
0
0
0
0
0
14
0
0
0
0
6
0
0
0
0
0
0
2
1
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
38
0
0
2
0
0
0
-16
0
0
0
0
0
0
25
0
0
0
0
0
0
-18
0
0
0
0
0
0
-10
0
0
0
0
0
0
34
0
0
0
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
-32
0
0
0
0
0
0
19
0
0
0
0
0
0
21
0
0
0
0
0
0
-8
0
0
0
0
0
0
11
0
0
0
0
0
0
28
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
13
0
0
0
0
0
-1
3
0
0
-2
0
0
0
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
8
0
0
2
0
0
0
-2
0
1
0
0
0
0
-2
0
0
0
0
0
0
-16
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
-2
0
0
0
18
0
0
0
0
0
0
9
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
-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
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
17
6
0
8
0
0
0
2
0
0
5
9
0
-1
0
1
0
14
0
0
-4
-8
0
0
1
-2
0
0
-4
0
0
-3
7
0
0
0
0
0
0
0
0
0
0
0
17
0
0
-8
0
0
0
5
0
0
3
3
0
0
0
-2
14
0
0
-6
0
0
-9
-9
0
-1
-51
1
0
0
0
0
0
0
0
0
24
-19
0
0
-4
-3
0
23
-30
0
0
-3
0
0
8
-34
0
15
7
-3
0
0
8
0
-1
0
0
3
0
30
-12
-2
0
0
0
0
0
0
0
0
0
0
3
-22
0
-8
0
0
0
25
16
0
0
-19
0
0
0
-11
0
0
0
0
0
6
-23
0
0
17
0
0
1
3
0
0
-42
10
0
-3
42
0
0
-6
0
-2
0
-25
0
0
0
0
-8
0
-20
0
0
0
0
0
0
0
0
0
1
0
0
0
33
0
10
0
0
0
0
16
0
8
0
0
0
0
-23
0
6
-15
7
0
0
9
0
0
5
-2
0
0
4
0
-3
2
0
0
0
-21
0
0
0
0
0
0
-17
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
1
-19
-1
0
12
-54
7
1
-5
69
0
0
3
-9
-3
-10
30
0
0
54
0
-1
26
1
0
1
-10
1
32
9
19
0
0
-1
0
-3
0
-8
0
0
0
-6
-2
0
1
7
0
0
-2
-1
0
-35
-1
0
1
-1
0
0
9
0
1
-15
0
1
-5
38
0
-6
-7
-2
0
0
0
0
0
0
0
0
-3
23
-3
1
-56
30
0
0
4
0
0
-26
0
0
23
-66
0
-31
33
9
0
0
-6
0
1
-6
0
0
0
-3
2
3
0
0
0
0
-21
-2
0
2
2
0
2
8
-4
-7
22
-2
1
-8
3
-1
0
6
0
1
10
-12
0
-4
-22
19
0
-43
-21
0
0
14
1
0
43
3
0
0
25
4
0
1
2
0
0
-12
-1
2
0
-37
0
0
27
0
14
0
23
1
0
0
0
0
0
37
2
7
0
0
0
0
19
0
54
1
0
0
-3
-43
0
-3
43
0
0
11
59
0
14
22
7
1
0
24
1
-2
-40
0
4
-1
-5
0
12
-1
-4
0
1
7
0
3
3
0
0
0
51
0
10
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
2
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-2
0
-4
0
0
0
0
0
0
-1
0
0
0
7
0
0
-4
0
0
0
3
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
-7
0
-1
0
0
0
0
-7
0
0
3
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
-4
18
0
1
6
0
0
-2
24
0
0
0
0
0
0
-1
0
-11
0
0
0
0
-1
0
0
0
0
0
0
36
-2
0
0
0
0
0
-16
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
-29
0
8
0
1
0
0
-17
0
0
0
0
0
0
-3
0
0
-15
0
0
0
-13
0
0
-4
0
2
0
0
0
0
7
0
-2
0
-8
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
35
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-34
0
0
0
0
0
0
-4
0
0
0
0
0
-2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
3
0
0
0
0
-2
0
0
0
0
0
0
-21
0
0
0
0
0
0
20
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
1
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
5
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
-2
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
-2
0
0
0
0
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-30
-1
0
0
0
0
0
28
0
0
0
0
0
-3
5
0
-20
-4
0
0
0
0
0
0
0
0
0
0
-8
0
0
-14
0
0
15
-30
0
0
6
0
0
0
-3
0
-5
0
0
0
0
-4
0
0
0
0
0
0
-41
1
0
0
0
0
0
-35
0
0
0
0
0
0
-22
0
0
0
0
0
8
0
0
0
0
0
0
-2
2
0
0
-4
0
0
0
13
0
0
11
0
0
0
-14
0
0
0
3
0
0
-31
0
0
0
0
0
0
-5
0
0
1
0
0
0
-17
0
0
0
0
0
0
-5
1
0
0
0
0
0
9
0
-3
0
0
0
0
-12
0
0
-3
0
0
-1
-24
0
0
-2
0
0
0
-21
0
0
1
-10
0
0
-19
0
0
0
0
0
0
-6
0
0
0
0
0
0
-13
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
-7
4
0
0
-2
0
2
46
-10
0
1
37
2
0
14
-17
0
0
20
0
0
2
3
2
0
57
-1
-7
-28
1
0
0
4
0
0
1
2
0
0
3
-7
-23
0
0
26
0
0
0
8
0
32
18
3
0
0
0
0
24
1
0
-5
0
0
3
-11
0
-63
24
11
0
0
0
0
0
0
0
0
33
40
0
0
35
14
0
-33
3
0
0
1
0
0
0
6
0
10
-12
2
0
0
-17
4
0
0
0
-4
0
-17
-3
2
0
0
0
0
-26
0
0
0
-1
0
0
1
0
0
-1
0
0
-1
-20
0
0
-3
0
0
3
-2
0
0
-12
21
0
2
-1
0
0
27
2
4
25
4
0
10
26
-3
0
2
12
0
0
0
0
0
0
80
0
0
2
0
34
0
2
-1
1
0
0
0
0
-60
4
0
0
0
0
0
-27
0
2
0
0
0
0
16
0
-6
-16
4
0
-3
-6
0
41
28
0
0
0
15
0
-18
-1
20
0
-6
-21
0
25
0
0
0
-2
15
0
0
0
4
0
0
10
0
40
0
0
0
0
30
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
-2
10
0
0
-43
0
0
0
9
-10
0
-3
0
0
-2
28
0
0
4
-1
0
-1
70
2
-1
52
0
0
0
4
3
0
0
0
0
0
0
0
30
0
0
-2
0
0
0
-1
0
-16
4
-3
4
2
0
-3
0
3
0
-3
0
0
14
11
0
-6
45
4
0
0
0
0
0
0
0
0
13
-3
0
0
-37
9
0
33
9
0
0
2
0
0
7
-7
0
20
-24
-9
0
0
-19
0
0
-1
0
0
0
35
0
0
0
-2
0
0
-3
0
0
-1
0
0
0
0
0
0
-9
-2
0
0
23
0
0
16
0
0
22
-40
0
10
-8
0
0
15
44
0
0
0
0
6
-3
1
0
11
-3
-7
2
-4
-37
0
0
1
0
0
0
-19
0
0
7
4
22
0
-13
0
0
0
0
-1
0
3
0
0
0
13
0
0
0
6
37
0
1
0
-6
24
1
-4
-7
-12
0
-6
14
0
12
10
0
0
-2
36
0
3
-20
3
0
3
-3
0
10
0
0
0
0
-21
0
2
-2
0
0
0
-12
0
9
4
0
-8
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
1
0
0
0
0
0
0
36
0
0
0
0
0
0
6
0
0
0
3
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
2
0
0
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
4
0
-5
-16
0
0
0
0
0
0
0
0
0
0
-10
0
0
-17
2
0
0
7
0
0
0
0
0
0
4
0
0
0
0
0
0
23
0
0
0
0
0
0
-2
0
0
0
0
0
0
-44
0
0
0
0
0
0
8
0
0
0
0
0
2
17
0
0
0
0
0
2
-32
0
0
19
0
0
0
43
0
0
9
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
-9
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-3
0
0
0
0
-7
0
0
2
0
0
-2
2
0
0
3
0
0
0
0
0
0
1
0
0
0
-14
0
1
-3
0
0
0
-1
0
0
0
0
0
0
-46
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-5
0
0
4
0
0
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
11
-1
0
0
0
0
0
-2
0
0
0
0
0
0
3
0
0
0
0
0
-1
32
0
0
0
0
0
0
2
0
0
2
0
0
0
43
0
0
-6
0
0
0
7
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
36
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-2
0
0
0
0
0
0
-9
0
0
-1
0
0
0
4
0
0
0
0
0
0
-1
0
0
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
-4
0
-8
17
10
0
-1
-9
41
35
2
-20
0
-2
36
0
-7
6
8
0
-8
27
11
27
-15
-1
4
0
-9
0
-13
7
-15
0
0
24
-11
1
0
0
8
0
0
0
-2
0
-3
4
0
0
11
0
13
-12
8
6
3
0
0
13
14
0
19
-2
1
0
0
0
0
0
0
0
0
7
2
0
-4
30
2
0
-13
2
0
0
7
-7
0
18
7
0
9
7
-4
0
0
25
3
0
-1
0
-1
0
19
19
3
0
-3
0
0
8
0
-1
0
0
0
-1
16
-4
2
1
-3
0
58
18
0
0
-7
0
-1
14
25
0
3
63
3
0
38
-4
-6
3
69
-1
-1
7
-40
6
0
2
9
0
3
4
0
-2
6
0
-5
0
0
0
-8
2
-3
13
0
9
1
0
-3
-2
-8
0
39
-8
1
0
0
0
1
51
0
-9
0
0
0
1
28
0
18
-15
0
-1
-12
29
0
-22
23
-7
0
-8
46
0
-9
11
5
0
-1
-5
0
59
-1
-12
0
-1
-20
0
-7
5
-1
0
0
25
3
-53
0
0
2
0
15
-12
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-8
-26
0
-2
-15
13
-1
0
-8
0
48
11
-11
0
-6
0
0
3
19
4
0
0
19
0
1
48
-11
0
0
-3
0
11
4
-1
0
0
0
0
-5
0
0
0
0
0
0
-21
0
6
1
1
0
0
0
-11
-12
0
0
2
0
0
-34
-44
0
-48
-15
0
0
0
0
0
0
0
0
0
-20
-1
0
2
-5
0
-6
50
-1
0
0
-5
0
1
8
-38
0
-1
-7
0
0
2
-50
0
0
0
0
4
0
0
0
-6
0
0
0
0
-12
0
0
0
0
0
-1
-15
0
6
0
0
-1
9
3
0
0
21
0
0
-33
2
0
0
32
0
-2
89
-12
0
0
-5
0
0
40
-31
0
4
26
1
0
13
-19
0
1
-5
0
1
3
14
0
-1
0
0
26
0
5
0
0
0
0
0
0
24
0
0
0
0
0
0
2
0
-7
4
0
2
4
28
0
0
32
0
0
-1
34
2
11
-16
10
0
7
-40
0
-2
-20
0
0
22
16
0
-38
79
0
0
-2
32
0
-1
2
2
0
0
1
0
2
0
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
6
9
0
0
7
0
0
55
9
0
0
-33
41
0
-5
6
0
7
6
-2
0
17
-2
0
0
-8
4
0
4
1
0
0
31
0
0
-4
5
0
0
27
-10
0
0
0
8
0
0
0
0
0
38
-4
0
0
0
0
20
29
2
-2
0
1
0
2
-12
0
-1
-11
-8
0
0
0
0
0
0
0
0
26
-2
0
-3
-19
-8
0
-33
-6
0
0
-13
0
0
-16
24
0
52
-10
-15
0
68
-24
0
0
0
0
0
0
-10
7
7
6
8
0
0
11
0
1
-2
0
0
-8
40
6
0
-30
5
6
24
36
0
-1
32
0
0
-1
1
0
0
19
-32
0
-9
5
-1
-1
-12
0
0
31
-1
-2
-4
1
0
0
-14
8
0
0
-33
0
0
-8
20
0
4
31
21
0
0
-9
0
0
0
0
0
0
13
-1
0
0
0
0
0
-5
0
39
-4
0
0
4
-2
0
0
29
1
0
12
6
0
18
13
1
0
-9
-18
0
-2
4
-1
0
7
55
0
-3
35
-1
0
1
-13
8
0
5
-2
0
0
-3
0
-23
-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
-23
9
-3
37
19
-1
15
54
-3
-2
4
-57
2
0
26
38
-1
1
1
62
38
34
56
1
0
25
3
-41
-20
37
0
0
-4
16
27
0
6
0
0
0
-1
13
0
-12
9
-15
-8
28
-1
0
-12
-6
8
6
1
-2
3
-41
-1
-32
-3
-6
0
0
0
0
0
0
0
0
-17
23
24
28
4
22
17
-16
6
0
48
30
-1
11
23
-1
0
-13
-32
27
-9
2
-24
-1
0
-2
10
33
0
-12
0
6
-3
12
-8
0
-16
-4
1
5
2
-2
4
-8
-15
-19
13
47
20
-3
7
4
14
-28
0
22
48
20
1
29
-4
23
3
25
-3
-2
15
-5
22
-14
-24
-17
2
25
15
8
48
-43
-46
0
-25
-11
-8
32
-3
18
-1
22
-16
-25
18
2
10
-4
-5
-4
-8
-9
0
-8
18
3
4
30
0
-12
-3
-4
20
-27
21
0
46
-23
-10
-28
-3
5
0
-14
9
-4
30
-43
17
4
5
24
0
31
-11
20
1
4
-3
1
0
25
-14
0
-26
4
2
12
19
-7
0
0
20
-7
16
18
0
-12
0
22
2
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
1
1
0
0
-15
0
2
50
0
0
0
7
0
-1
-5
-1
0
0
17
0
2
-20
6
0
0
-1
0
0
0
-3
0
0
2
0
-4
0
0
5
4
0
0
0
0
13
0
1
0
0
0
-2
12
0
0
0
0
0
-2
0
0
-42
11
0
0
0
0
0
0
0
0
0
35
39
0
0
-35
-2
-4
-14
-9
0
0
-10
0
0
0
8
0
13
7
12
0
0
-18
0
0
0
0
0
0
22
1
0
0
0
0
0
59
0
2
0
0
0
-2
-31
0
0
7
0
0
9
0
0
0
-30
0
0
-2
6
0
-1
-22
0
0
8
3
0
-4
-4
0
0
0
-21
0
-1
18
9
0
0
20
0
0
-2
0
0
0
13
0
0
1
-4
-7
0
-27
0
0
0
0
0
0
-50
13
0
0
0
0
0
25
0
13
-3
0
0
-4
0
0
0
13
0
0
-6
-31
0
15
3
0
0
-3
9
0
3
-6
9
0
11
-8
0
-12
-3
0
0
0
-11
0
0
1
0
0
0
-6
0
-7
0
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
-21
1
0
0
2
0
0
1
2
0
0
19
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
-30
0
0
0
0
0
0
-22
0
0
-1
0
0
0
1
0
26
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
13
0
0
2
32
0
0
0
0
0
2
9
0
22
0
0
0
0
15
0
0
0
0
0
0
49
1
-6
0
0
0
0
41
0
0
0
0
0
0
-11
0
0
4
0
0
0
-16
0
0
9
0
0
0
-1
0
0
3
0
0
1
-47
0
0
3
0
0
0
4
0
0
0
0
0
-7
-16
0
0
0
0
0
0
8
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
0
0
0
0
20
0
0
0
0
0
0
16
0
0
-8
0
0
0
-13
0
-1
-2
0
0
0
25
0
0
-1
0
0
0
-8
0
-1
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
0
34
0
0
0
-3
0
0
-3
0
0
0
2
0
0
11
0
0
0
0
0
0
0
-4
0
0
0
0
-17
0
0
0
0
0
0
-2
0
32
0
-1
0
0
0
0
-7
0
0
10
0
0
4
-7
2
35
-35
0
0
0
0
0
0
0
0
0
6
11
0
-3
-21
0
0
56
34
0
0
0
0
0
0
-3
0
-6
0
0
0
0
46
0
0
0
0
0
0
-21
-3
0
0
0
0
0
5
0
0
0
0
0
-6
-6
0
0
-6
0
0
0
-16
0
0
5
0
0
-3
-39
1
0
43
0
0
0
-23
0
0
32
0
0
-1
29
0
0
0
0
0
0
29
0
0
-1
0
-1
0
-4
0
0
1
0
2
0
52
0
0
0
0
0
0
-19
0
0
0
0
0
0
-13
0
-1
0
0
0
0
-11
0
0
4
0
0
0
41
0
-4
12
0
0
0
-1
0
0
0
0
0
0
-3
0
-12
2
0
0
-4
10
0
0
-1
0
0
0
-47
0
15
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
9
61
27
24
69
-9
-12
-27
0
-5
65
23
-2
0
-42
9
-16
-39
-14
0
0
4
2
-2
-1
-2
0
0
-9
-6
-36
-1
-1
-26
0
0
0
18
0
-15
4
48
0
10
0
8
-7
-10
1
15
0
0
11
-52
3
-28
-9
8
0
0
0
0
0
0
0
0
33
15
-1
54
-16
30
2
-13
16
3
-14
47
2
-2
17
6
0
-6
13
-1
-1
-21
-19
0
-1
1
0
1
0
30
0
3
0
-12
0
3
5
7
0
0
1
0
13
-64
-22
-1
-17
4
-2
15
19
-1
6
17
-6
0
-30
26
0
-11
13
46
-1
13
44
-3
-13
12
-5
20
-21
-6
-1
27
-30
-24
-7
9
-19
0
0
27
1
8
0
-19
0
0
-2
1
1
0
13
9
0
-3
13
0
3
7
-4
3
4
4
0
0
-12
2
15
-1
3
0
12
20
-4
-2
13
10
0
0
23
0
-24
47
-1
0
-46
-7
-1
30
39
13
-9
-20
-1
0
38
12
2
1
-2
17
-3
1
-4
33
-1
0
-37
0
15
-1
-4
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
8
0
0
0
0
0
-4
-3
0
-6
-7
0
0
0
0
0
0
0
0
0
0
-54
0
0
-5
0
0
1
-13
0
0
0
0
0
0
2
0
0
0
0
0
0
34
0
0
0
0
0
0
7
-1
-1
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
-2
0
0
0
20
0
0
0
0
0
0
2
0
0
0
0
0
1
3
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
-15
0
0
0
0
0
0
4
0
0
0
0
0
0
6
0
0
0
0
0
0
11
0
0
-3
0
0
-3
9
0
7
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
0
0
0
19
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-1
0
0
2
0
0
0
2
0
0
5
0
0
0
-7
0
0
-9
9
0
0
-3
0
0
0
-2
0
0
-4
-2
0
0
0
-1
0
0
0
0
0
10
0
-6
0
0
0
3
-28
0
0
-1
0
0
-22
8
0
1
0
0
0
0
0
0
0
0
0
0
0
-60
0
-1
64
0
0
-8
-71
0
0
-4
0
0
0
-9
0
-39
0
9
0
0
-11
0
0
0
0
0
0
21
0
0
0
0
0
0
-20
0
0
3
0
0
0
30
0
0
4
0
0
8
9
0
0
-11
0
0
3
86
0
0
48
0
0
10
19
0
0
-14
-6
0
0
-21
0
0
-13
0
0
0
-6
0
0
0
0
0
0
-3
0
-6
0
0
0
0
-4
11
0
0
0
0
0
-13
0
0
0
0
0
0
7
0
7
2
0
0
1
-54
0
1
8
0
0
0
29
0
-9
0
0
0
0
-2
0
0
-1
-7
0
-4
38
0
-2
3
0
0
0
-16
0
0
2
0
0
0
59
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-43
7
-3
-3
14
-34
1
-10
-7
8
13
-5
-38
5
-1
-9
1
3
40
27
0
0
-16
1
-7
0
3
-3
0
-1
3
-44
8
-5
33
-6
5
-5
0
-29
-7
24
-10
99
1
-4
-7
12
29
2
17
-31
11
0
0
0
0
0
0
0
1
12
58
-17
29
21
-12
-25
12
0
31
-8
-20
-8
25
-11
-1
-23
40
-9
7
-20
-14
-22
0
-15
8
-29
0
19
-3
11
-2
32
-4
0
-1
-59
4
-6
-2
8
-42
-19
49
-22
4
-2
27
-48
20
35
10
29
0
-4
-10
11
8
9
33
28
4
36
4
55
-13
13
50
-15
-1
-18
5
25
4
-14
16
-72
-32
0
24
11
-3
-2
0
12
1
21
-59
10
-18
0
4
22
0
-18
-7
-8
0
-2
40
0
0
-10
0
2
-24
7
20
-40
0
4
-8
-24
-2
7
-7
-40
0
-53
9
-17
-12
-32
9
3
-12
-4
0
-12
-15
49
0
-1
9
6
-9
33
46
-4
1
-15
0
-41
-20
-61
-4
0
27
3
12
-52
-7
8
0
35
19
9
-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
-40
30
-1
0
13
0
-8
-16
1
0
2
11
-7
-3
-8
16
0
0
8
0
0
1
5
0
0
0
-7
11
0
0
15
0
0
0
3
0
12
-6
-1
0
0
0
-41
8
0
0
-2
0
0
30
7
0
1
-18
2
0
0
0
0
0
0
0
0
1
-38
-7
7
33
-11
0
-26
35
0
0
-17
0
0
1
-2
0
-73
-3
9
0
0
-7
-1
0
0
-6
5
0
10
11
-10
0
-1
0
0
17
0
0
0
0
0
1
-18
-1
0
12
0
0
10
22
9
-1
1
0
0
-68
0
1
-16
-15
1
0
14
46
0
0
13
4
0
0
0
-1
0
34
1
0
9
21
0
0
-12
-4
-1
3
-25
0
0
1
-6
-9
0
8
0
0
0
-1
0
0
-24
0
-4
0
0
0
0
21
0
9
0
6
0
0
29
0
1
-5
0
0
22
0
0
-12
-26
-8
0
30
12
0
1
-9
-10
0
0
25
-6
-45
24
-2
-2
0
35
0
-2
-7
-1
0
0
4
0
-5
-2
0
0
0
12
1
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-21
0
0
0
0
0
-1
7
0
0
0
0
0
0
-7
0
22
4
0
0
0
0
0
0
0
0
0
-1
-1
0
0
-1
2
0
0
9
0
0
-9
0
0
0
-4
0
11
0
0
0
0
-23
0
0
0
0
0
0
-12
0
0
0
0
0
0
11
0
0
0
0
0
0
-14
0
0
0
0
0
0
40
0
0
0
0
0
0
11
0
0
1
0
0
1
8
0
0
3
0
0
0
-25
0
0
0
1
0
0
-27
0
0
0
0
0
0
4
0
0
0
0
0
0
36
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
17
0
6
0
0
0
0
35
0
0
0
0
0
-1
-8
0
0
0
0
0
-3
3
0
0
-4
0
0
0
-23
0
0
0
0
0
0
4
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-1
0
-4
0
-7
0
0
-17
-4
1
-13
1
0
0
1
0
0
0
0
0
0
6
0
-1
0
0
9
0
0
0
0
0
-10
0
1
0
0
0
6
40
0
0
1
0
0
5
-29
0
-17
-1
-1
0
0
0
0
0
0
0
0
19
-19
0
0
1
-2
0
-5
31
0
0
-2
0
0
1
-42
0
-15
1
0
0
0
12
0
0
0
0
0
0
1
0
0
0
0
0
0
-17
0
0
0
0
0
0
54
0
2
1
7
0
-3
-39
0
-2
45
0
0
-9
4
0
2
28
0
0
9
-39
0
1
13
0
0
1
12
0
0
8
0
0
0
-13
0
0
0
0
0
0
8
0
0
0
0
0
0
17
0
0
0
0
0
0
65
-4
0
0
0
0
0
-1
0
0
0
0
0
0
13
0
0
-1
0
0
0
-8
0
15
2
0
0
1
10
0
-8
4
0
2
0
3
0
0
1
0
0
0
-7
0
0
-1
0
0
0
-2
0
-2
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
1
8
-2
-75
0
-5
23
-10
-14
0
9
11
-4
-30
-49
0
6
-40
0
-29
4
-5
0
-2
-8
23
-44
2
0
-21
0
0
-4
-15
0
24
26
16
0
21
0
-49
-8
-1
9
11
-6
1
-2
15
7
7
-21
7
-1
0
0
0
0
0
0
0
38
9
0
22
48
18
4
-1
24
3
15
8
1
-6
38
20
0
-27
-23
-10
0
-14
-5
0
0
-5
-7
-14
0
-13
-26
56
0
-13
0
-2
11
-36
-1
2
-8
2
-4
-18
20
10
-38
-4
-22
13
-3
-2
0
5
2
13
-28
17
5
0
4
-8
-4
18
19
-1
-2
-17
-18
60
61
-15
-12
-11
14
-13
3
-11
24
7
7
45
-4
27
17
-11
0
-6
-4
15
-20
0
12
-9
3
0
-2
15
0
-8
-22
-2
0
0
0
15
2
20
36
3
40
-40
-9
-28
-1
37
43
-15
-7
6
4
-24
-6
55
0
-2
51
-28
-18
4
5
98
-6
3
14
-1
6
-15
10
0
4
-9
-10
-10
-2
23
4
-3
-9
0
14
7
6
-12
0
-1
7
-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
-14
2
0
0
39
0
-1
4
8
2
0
25
-4
-2
-6
-3
0
0
0
0
-8
-2
48
0
0
7
0
-23
0
0
-15
0
0
0
-10
0
-5
8
0
1
0
0
-1
-28
0
0
-26
0
0
-44
47
0
35
25
0
0
0
0
0
0
0
0
0
-20
-1
0
-1
-25
0
0
7
-20
0
1
25
0
0
-6
-14
0
23
-30
0
-9
-2
-14
0
0
0
0
20
0
14
-17
12
1
0
7
0
0
-6
0
-3
0
0
-6
-62
3
0
27
0
0
31
-8
0
0
35
0
13
1
-22
0
2
17
6
-6
4
43
15
0
-11
-1
5
-5
-29
4
0
8
0
3
0
-5
0
0
12
0
12
0
30
0
10
5
0
10
-2
35
1
0
0
0
0
0
13
27
0
0
0
0
-3
-15
0
-14
1
0
0
1
0
-1
-2
52
0
0
0
1
0
11
-4
0
0
17
41
0
1
1
0
0
12
26
0
39
20
0
0
0
2
-3
-1
14
0
0
0
21
0
18
0
0
0
0
-49
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
8
-7
0
0
-8
0
0
0
16
0
0
6
0
0
0
1
0
0
-1
3
0
0
0
-1
0
0
0
0
0
0
1
0
0
10
-3
0
0
0
0
0
16
0
0
0
0
0
-20
-9
0
44
-24
-3
0
0
0
0
0
0
0
0
14
19
-1
0
25
1
0
50
11
0
0
11
0
0
35
-9
0
15
-25
-6
0
0
-10
0
0
0
0
0
0
53
1
0
0
0
0
0
5
0
0
0
0
0
0
12
2
0
1
0
0
8
9
0
0
-10
0
0
43
14
0
0
-26
2
0
11
-35
0
0
50
0
0
17
-13
0
-1
29
1
0
-3
-4
0
0
0
0
0
0
-3
0
3
4
0
0
0
3
-7
0
0
0
0
0
-12
0
0
0
0
0
0
-13
0
-6
0
0
0
2
23
0
0
-6
9
0
1
11
0
6
8
0
0
8
-52
0
0
9
2
0
0
11
0
4
0
0
0
0
63
0
0
0
0
0
0
7
0
-4
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
13
-5
1
-7
8
-5
0
-8
27
-1
1
-1
3
11
-2
7
-1
0
-1
-11
-34
0
9
-70
0
0
0
42
8
5
7
30
1
23
0
22
13
-9
8
10
0
-3
19
16
13
17
-32
4
-11
0
0
0
0
0
0
0
23
-46
0
-17
-1
28
-13
-43
-41
3
30
-16
-3
22
3
-16
0
-6
8
-38
2
-5
-28
1
0
-4
20
7
0
-11
32
48
-1
0
0
0
8
-18
22
1
-3
2
-12
-27
-36
17
-22
13
-1
-14
10
-20
7
4
0
15
34
32
-5
-19
-16
2
11
40
16
-15
80
21
19
-9
-15
20
-1
15
-27
-4
-2
13
-1
-2
8
42
-4
15
2
23
1
0
-9
22
-6
0
2
-16
0
0
-6
-4
0
-9
22
-1
1
6
0
-7
2
40
-52
13
4
2
20
-23
6
4
-6
-7
0
-9
11
-1
40
-37
-4
-1
8
13
28
5
16
-11
0
10
-1
0
40
62
-2
-1
-40
27
-2
3
-2
28
-4
-1
-15
0
18
-11
0
-7
0
23
-2
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
2
4
1
-19
-1
0
0
-10
0
-5
2
-9
0
0
4
-1
-7
0
0
-13
0
0
9
16
0
-13
-7
7
1
-2
0
0
5
0
0
0
0
-2
1
30
0
16
62
0
0
0
0
0
0
0
0
0
-55
0
-21
-21
-7
-9
0
18
-26
0
-3
13
1
-3
1
-27
0
-29
-6
-7
-7
2
25
0
0
0
0
0
0
-17
2
-3
0
0
0
0
10
3
0
0
0
0
6
40
-1
-6
-11
7
8
-12
-7
0
2
-1
0
0
47
7
2
-8
18
6
0
12
0
0
0
-5
0
4
11
40
0
-7
-36
0
0
0
16
0
0
17
0
2
0
29
0
-1
-2
2
7
0
-4
0
-3
0
-3
0
0
-14
0
0
0
-1
0
0
-8
0
51
0
-8
-1
-1
15
0
2
26
8
1
-1
39
0
0
31
4
0
8
0
2
1
11
-9
0
5
17
0
-21
4
0
0
-1
-21
0
-10
1
4
0
0
-27
0
40
-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
4
-6
0
0
-1
0
0
-1
1
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
-1
0
0
0
13
0
-7
0
0
-1
0
0
0
-32
0
0
1
0
0
7
14
0
-1
-21
0
0
0
0
0
0
0
0
0
-1
-6
0
0
18
0
0
3
22
0
0
-6
0
0
0
0
0
-28
0
0
0
0
-12
0
0
0
0
0
0
4
0
0
0
0
0
0
-49
0
0
0
0
0
0
-25
0
0
-1
0
0
2
17
0
0
0
0
0
-3
-27
0
0
8
0
0
0
36
0
0
-3
0
0
0
2
0
0
6
-1
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
52
0
0
0
0
0
0
12
-2
0
0
0
0
0
30
0
-7
0
0
0
0
7
0
0
0
0
0
-3
-35
0
1
0
0
0
0
4
0
0
-1
0
0
0
59
0
-1
0
0
0
0
-23
0
0
0
0
0
0
23
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-18
0
0
0
4
0
0
0
0
0
0
-4
0
-8
0
0
2
0
0
0
10
0
-33
6
3
0
0
0
0
67
0
0
-1
0
0
-10
-3
0
16
76
0
0
0
0
0
0
0
0
0
-11
26
0
0
-11
0
0
105
-22
0
0
-9
0
0
-2
4
0
-30
1
0
-3
0
28
0
0
0
0
0
0
14
15
0
0
-1
0
0
19
0
0
-1
0
0
0
8
0
0
0
0
-4
4
-10
0
0
6
0
0
8
-43
0
-2
7
1
0
-1
47
0
10
19
0
0
-4
-8
0
0
17
1
0
0
2
0
-3
8
0
0
7
17
0
0
-2
0
0
0
20
0
0
-6
0
0
0
19
0
0
0
0
0
0
-22
0
3
0
0
0
0
12
0
0
10
0
0
0
21
0
-8
-4
0
0
2
7
0
0
-6
0
0
0
24
0
-3
-8
0
0
0
-6
0
0
0
0
0
0
-15
0
0
0
0
0
0
23
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
3
1
-1
0
15
-25
0
0
3
0
1
-1
15
0
0
-1
28
-62
0
0
-3
0
0
-1
-7
0
22
-2
9
0
1
0
7
26
-3
0
-19
2
0
22
51
2
41
29
1
7
0
0
0
0
0
0
0
18
-13
0
-2
-7
0
0
25
48
0
0
4
8
0
-23
57
3
-9
11
-10
0
-9
11
0
0
-1
0
9
0
-8
40
-3
0
0
0
0
15
2
0
0
0
0
23
-26
16
8
36
-4
-6
27
20
0
14
28
0
4
19
-3
0
3
10
10
0
39
30
0
-2
47
1
-2
10
-42
1
0
-15
65
0
2
-17
0
27
-2
0
2
4
21
0
16
9
-3
-3
0
18
15
0
0
-2
0
0
20
5
0
0
2
0
-5
-51
0
-25
0
0
0
-9
-36
0
-16
-24
-2
0
7
-35
0
-4
-48
0
0
19
19
0
5
1
14
0
-3
-28
0
6
33
0
0
8
-8
0
-10
-3
-4
0
0
-19
-3
-24
0
0
3
0
-1
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
76
0
0
0
0
0
11
-2
0
5
-1
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
-1
3
0
0
0
0
0
0
-13
0
-3
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
-19
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
3
0
0
0
48
0
0
-12
0
0
0
-4
0
0
0
0
0
0
-9
0
3
0
0
0
0
30
0
0
0
0
0
0
-1
0
0
0
0
0
0
27
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-1
0
0
-1
0
0
0
-3
0
2
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
5
-6
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
-5
26
0
0
0
0
-6
15
0
0
0
0
0
25
0
0
80
41
23
0
0
0
0
0
0
0
0
48
9
0
0
67
0
0
45
-10
0
0
26
0
0
0
-3
0
3
1
3
0
0
0
0
0
0
0
0
0
35
9
0
0
0
0
0
5
2
0
9
0
0
-7
11
0
1
8
0
0
0
-4
0
7
-42
0
0
10
11
0
0
-22
-6
0
36
4
0
0
-10
0
0
5
2
0
0
-25
-3
0
0
15
0
0
0
0
0
0
22
0
0
0
2
0
0
10
0
0
0
0
0
0
6
0
0
0
0
0
3
-52
0
-14
0
0
0
1
10
0
-3
6
-7
0
-2
-8
0
-10
62
0
0
2
-14
0
0
5
-15
0
-4
13
0
14
-12
0
0
-7
-16
0
7
-2
0
0
0
26
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
78
0
-6
0
20
0
0
48
-8
-18
0
1
-20
0
0
16
0
0
-6
-40
23
0
1
0
-4
-19
9
0
19
0
-1
-6
44
0
19
13
-9
2
0
0
0
0
0
0
0
-1
-29
0
17
10
-2
3
22
-1
1
0
6
9
0
34
-15
0
51
9
-23
0
0
-19
0
3
-4
0
4
0
-8
20
-4
-3
-2
0
7
-4
2
0
2
-2
0
-18
-26
-1
16
17
-26
-17
-21
-6
0
-8
5
2
-6
-22
-3
1
-1
16
52
25
-23
-4
11
-13
0
-7
8
1
19
0
21
-9
44
0
-1
-2
0
0
19
-2
-21
-9
7
0
-7
0
-3
18
0
-6
-1
0
0
0
-1
0
19
11
-6
0
-6
0
-4
7
-8
-11
-1
15
-2
1
-3
-21
-7
31
0
-2
3
-9
-6
10
44
0
0
17
27
2
-5
-20
-29
0
-8
52
-3
8
35
-2
-2
3
4
0
0
-2
4
-3
0
-17
0
-2
2
8
6
0
-45
-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
-2
-3
0
0
1
0
0
0
1
0
0
2
-7
2
0
0
0
0
0
0
3
0
19
0
1
0
0
0
-3
-16
0
1
-1
0
0
-9
-3
0
23
-13
0
0
0
0
0
0
0
0
0
-4
17
3
0
-20
-8
0
8
0
0
-2
31
0
0
7
12
0
17
4
0
0
0
7
0
0
0
0
0
0
5
15
0
0
0
0
0
20
0
0
0
0
0
0
-2
-3
0
2
0
0
-5
6
0
0
17
0
0
-9
39
0
0
-13
0
0
-43
33
0
-3
-8
0
0
4
0
0
0
-2
15
1
3
-4
0
0
2
0
-1
0
8
0
0
4
0
0
0
7
0
0
-1
0
0
0
35
4
0
0
0
0
0
-15
-2
-1
-2
0
0
0
2
0
0
7
2
0
0
-2
0
0
5
0
0
0
42
0
0
1
-3
0
1
0
0
-1
0
0
0
0
21
0
0
0
-1
0
0
-8
0
-4
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
-7
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
2
0
0
1
0
0
0
-11
0
2
0
0
0
0
-6
0
0
0
0
0
0
25
0
0
0
0
0
0
-10
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
0
0
-13
0
0
0
-28
0
0
-4
0
0
0
16
0
0
0
0
0
0
9
0
0
19
0
0
0
-48
0
0
0
0
0
0
11
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
1
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
10
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
3
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
1
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
31
0
0
0
0
0
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
1
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
0
0
0
38
0
0
0
0
0
0
10
0
0
0
0
0
0
26
0
0
0
0
0
0
-8
0
0
0
0
0
6
-11
0
0
-1
0
0
0
20
0
0
0
0
0
0
5
0
0
-2
0
0
0
8
0
0
-1
0
0
0
9
0
0
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
-8
0
0
0
0
0
0
13
0
0
0
0
0
0
21
0
0
0
0
0
0
12
0
0
0
0
0
0
-1
0
0
2
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-19
-1
0
13
-3
-6
-1
38
-2
0
0
-6
-23
0
0
-9
0
0
0
2
0
-15
0
0
-1
0
0
-13
4
0
0
-2
0
0
16
28
-1
30
51
-18
0
0
0
0
0
0
0
0
25
-8
-2
-1
-30
35
0
61
0
3
-3
-2
-4
0
1
21
0
29
-9
12
1
-1
44
0
-1
-3
3
6
0
-20
-28
-6
0
11
2
0
11
26
0
-1
1
0
-5
7
-4
-2
-11
-3
41
50
-28
0
46
7
9
-2
47
6
-4
36
27
9
8
-9
5
-4
3
55
6
-3
-47
-27
25
1
-41
11
-12
0
1
0
6
3
0
43
-4
28
1
0
2
-9
6
-7
12
-2
-1
0
-28
-4
2
-3
2
0
0
-1
0
-1
22
-9
36
2
0
0
-23
-32
0
-5
15
-2
-4
19
17
6
46
-2
6
0
17
6
16
49
5
-3
0
1
-3
8
32
7
-15
2
0
-9
0
-18
1
11
2
0
8
0
-59
0
0
13
0
-1
-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
-6
13
0
0
8
0
2
0
1
0
0
0
0
0
0
0
11
0
0
0
4
0
25
-6
-1
0
0
0
-3
9
0
0
-4
0
0
10
43
0
31
-16
0
0
0
0
0
0
0
0
0
30
-8
0
-1
58
0
0
-8
-13
0
-3
-21
0
0
-2
4
0
39
12
0
0
0
-14
0
0
0
0
0
0
29
-1
2
0
0
0
0
3
-2
0
-2
0
0
0
0
-1
-1
0
0
6
17
-2
0
0
18
0
-6
-5
45
0
0
-20
0
0
0
-25
0
0
6
0
0
0
20
0
0
13
0
-3
-7
-18
0
3
1
0
4
0
17
0
0
0
0
1
0
-10
0
0
0
0
0
0
10
0
0
1
0
0
0
23
0
2
1
0
0
0
10
0
-1
1
0
0
0
-4
0
35
47
0
0
0
7
0
10
8
0
0
0
14
0
5
-1
0
0
0
-13
0
0
-1
0
0
0
2
0
-4
0
0
0
0
17
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
-9
0
0
0
31
0
0
0
-3
0
0
0
0
0
-8
0
0
0
0
0
-11
-7
0
0
4
0
0
-28
7
3
41
47
-3
0
0
0
0
0
0
0
0
11
18
0
0
-21
4
0
1
21
0
0
-30
0
0
9
-33
0
3
31
3
0
8
11
0
0
-4
0
0
0
-6
5
0
0
3
0
0
-5
4
0
0
0
0
-7
1
6
1
25
0
0
-1
4
0
0
2
0
0
13
58
0
0
13
-4
0
7
19
-2
-3
-42
0
0
24
3
0
-1
-13
10
0
-4
-47
0
0
3
0
0
0
36
0
12
-1
2
0
0
-5
1
0
0
0
0
0
23
0
0
0
0
0
0
-17
0
-13
2
0
0
-7
16
0
6
-3
0
0
11
62
0
2
-9
0
0
-2
23
0
0
21
22
0
0
5
0
-39
35
0
0
0
21
0
0
-3
0
0
0
-27
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
14
-2
0
-30
12
-7
0
0
-13
0
0
-2
0
0
1
-13
-25
1
-12
0
-20
-18
9
1
-10
0
-40
25
9
3
8
-20
9
0
0
0
0
0
0
0
0
18
12
0
-2
-1
9
0
22
4
0
0
50
2
0
-1
16
-3
21
17
-12
0
0
0
0
0
-15
-6
2
0
15
-13
16
7
3
0
0
21
-14
4
0
-11
-2
43
7
2
2
-3
-40
-2
41
0
3
-29
4
0
-13
49
5
1
5
16
-47
-10
-16
-1
-25
45
-16
-19
-35
37
-5
10
29
3
-30
8
2
5
-1
20
-42
10
27
0
25
1
-1
-14
0
30
0
5
7
0
0
-8
25
0
-19
-24
-4
0
0
0
0
-18
0
5
-36
2
-6
-9
-22
2
44
-9
-14
0
-31
-7
0
-6
-16
17
0
37
10
3
-56
-71
-1
3
-3
6
0
-45
-8
8
0
4
-3
4
14
-21
8
2
0
0
3
-5
-10
0
2
0
-4
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
-3
0
-9
0
0
18
0
0
0
-2
0
46
0
-7
0
0
0
-3
-22
0
0
10
0
0
2
27
0
41
-33
0
0
0
0
0
0
0
0
0
0
-1
0
-2
39
0
-1
-8
31
0
0
22
0
0
11
0
-8
44
0
0
0
0
0
0
0
0
0
0
0
-4
-5
6
0
0
0
0
12
0
0
0
0
0
0
23
0
6
2
-2
2
-33
1
1
0
35
0
9
22
33
0
0
26
9
0
-9
16
0
0
2
-1
0
26
48
4
0
3
0
0
0
0
0
0
10
0
-1
0
5
0
2
-2
-2
10
0
-30
0
0
0
0
0
0
38
0
0
0
0
0
0
-2
0
7
2
0
0
3
18
0
19
37
-2
0
6
-10
-1
24
-9
3
0
-3
-59
0
9
26
2
0
0
-57
0
19
22
0
0
0
0
0
0
0
-2
0
0
27
0
-13
1
0
0
0
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
6
0
0
0
12
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
-11
0
0
0
0
0
0
-3
0
0
4
0
0
0
6
0
0
0
0
0
0
-3
0
0
-1
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
-11
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
6
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
30
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
3
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-1
6
16
0
0
4
0
0
0
0
0
7
0
-3
4
0
0
2
-2
0
4
0
0
0
-5
-21
0
15
39
1
1
0
0
0
0
0
0
0
-13
-24
0
0
-1
-9
0
-1
-2
0
0
-3
-2
0
18
13
0
38
-1
-2
0
0
41
-1
0
0
0
-2
0
15
22
0
0
0
0
0
35
1
0
-1
-1
0
0
-4
0
-6
1
0
-11
10
24
0
0
28
0
-1
-1
16
0
-10
-2
-2
0
13
14
0
0
-17
-7
-1
7
5
0
6
1
5
0
0
-15
0
0
3
0
0
2
14
0
-7
0
0
6
0
6
0
0
0
0
0
0
-8
0
0
0
0
0
0
-18
-2
23
0
2
0
0
-35
0
0
0
3
0
-1
-35
0
4
-1
-10
0
6
23
0
1
-2
2
-1
-4
-57
0
38
3
0
6
-2
17
0
3
0
2
0
0
7
1
10
0
0
2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-16
0
0
0
0
0
-3
7
0
-4
0
0
0
0
7
0
0
0
0
3
0
-14
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
7
-11
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-1
0
0
-7
-9
0
0
4
0
0
0
-19
0
0
0
0
0
0
17
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
-1
0
0
0
-3
1
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-11
0
0
0
-46
0
0
0
0
0
17
0
4
0
1
0
-12
37
0
0
1
0
0
17
-29
0
-19
98
-17
0
0
0
0
0
0
0
0
-15
16
0
0
-1
2
0
40
-35
0
0
20
0
0
0
34
0
-17
-2
-3
0
0
40
0
0
2
0
0
0
33
2
0
0
-2
0
0
-20
-3
0
0
0
0
0
-37
0
0
0
0
0
-8
-7
0
0
56
0
0
15
14
0
0
-56
7
0
5
-5
0
-2
-15
-2
0
-17
44
0
0
36
-3
0
3
6
0
0
2
0
0
0
17
0
4
2
4
0
0
-16
0
0
0
-2
0
0
9
2
0
0
0
0
-6
2
0
7
-6
0
0
-1
-91
0
-2
11
-1
0
0
-31
0
-1
-13
0
0
-1
19
0
0
17
-2
0
0
57
0
-6
-4
0
0
12
3
0
0
-4
-6
0
0
-8
0
-7
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
6
0
0
0
0
0
-11
0
0
0
0
0
0
-26
0
0
2
0
0
9
22
0
-59
-3
0
0
0
0
0
0
0
0
0
0
45
0
0
-16
2
0
0
11
0
0
8
0
0
0
-13
0
-13
0
0
0
0
19
0
0
0
0
0
0
-6
0
-3
0
0
0
0
-2
0
0
0
-1
0
0
-28
0
0
1
-6
0
-1
-53
0
0
15
0
0
9
-36
0
0
13
0
0
1
1
0
0
4
0
0
0
19
0
0
0
0
0
0
-19
0
0
15
0
0
0
16
0
0
0
0
0
0
49
0
0
0
0
4
0
-18
0
0
0
0
0
0
-19
0
0
0
0
0
0
8
0
0
0
0
0
-2
40
0
-2
9
0
0
0
6
0
1
-6
0
0
0
11
0
14
3
0
0
0
20
0
-1
0
0
0
0
1
0
8
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
19
0
-1
0
0
0
7
-3
0
0
1
0
-7
-4
14
0
16
-54
0
7
0
0
0
0
0
0
0
0
-10
0
4
8
42
0
17
52
0
0
-18
0
0
-11
3
0
0
-12
-8
0
-6
0
0
0
0
-1
0
0
8
18
0
3
0
0
0
7
-4
0
0
0
0
-7
1
0
0
10
0
0
-1
-7
0
1
9
0
0
-25
-5
0
-1
33
-1
0
-30
46
0
0
25
0
0
21
51
0
-1
23
-10
0
-7
-8
0
0
-1
0
0
0
0
0
0
-1
-2
2
0
-15
0
0
0
0
0
0
26
6
6
0
0
0
0
-36
0
22
-1
0
0
0
-22
0
-1
-3
0
0
-2
-16
0
13
9
0
0
-5
8
0
-3
-21
19
0
-1
5
0
-21
10
0
0
0
20
2
0
0
0
0
0
0
0
9
0
0
0
0
3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-9
0
0
0
32
0
0
-2
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
33
0
0
-2
0
0
0
-10
0
0
-2
0
0
0
0
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
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
0
0
0
0
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
1
-4
0
0
43
4
3
0
0
0
1
39
0
0
-1
-3
0
-4
-3
0
41
-20
-2
0
0
0
0
0
0
0
0
-9
14
0
0
9
0
0
-16
5
0
0
-1
0
0
0
-4
0
-23
2
-1
0
0
-17
0
0
0
0
0
0
-16
-6
-2
0
0
0
0
37
0
0
-1
0
0
0
-20
0
0
3
7
-5
4
-77
0
0
3
0
10
-4
-51
0
0
8
1
-11
2
22
0
-3
8
0
-6
-3
37
0
0
0
0
3
0
-21
0
0
0
0
0
0
-39
0
0
0
0
-1
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
-7
0
-35
0
0
0
0
-17
0
0
3
0
0
0
-3
0
-6
1
0
7
-6
25
0
-7
2
-2
0
0
-17
0
18
0
1
0
1
14
0
0
0
0
0
0
-18
0
1
0
8
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
-3
0
0
0
0
0
-17
-1
1
0
0
0
6
17
0
0
-12
0
0
-4
-23
0
-38
-32
0
0
0
0
0
0
0
0
0
12
-66
0
2
22
0
0
38
10
0
0
8
0
0
13
-12
0
-12
-4
0
0
5
0
0
0
0
0
0
0
32
0
0
0
0
0
0
11
0
0
0
0
0
1
-26
0
0
12
0
0
10
7
0
0
9
0
0
46
-15
0
0
-34
0
0
5
-20
0
1
31
0
-2
0
3
0
-1
26
0
-4
-1
-26
0
0
-6
0
27
0
-8
0
0
0
0
4
0
8
0
0
0
0
1
0
10
0
0
0
0
0
0
-4
0
36
-3
0
1
-1
31
0
16
0
0
0
1
-22
0
19
-7
0
0
1
-35
0
0
15
0
0
0
27
0
5
-13
0
-4
0
20
0
0
0
0
0
0
-17
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
-18
0
0
8
0
0
-3
28
-9
7
55
0
23
1
7
13
42
0
0
49
3
0
17
13
43
0
0
0
0
0
0
0
0
13
-33
-3
-1
-4
42
0
26
17
0
0
22
-3
0
-1
-22
0
7
5
26
0
19
-8
34
0
0
0
0
0
12
-23
-15
-2
25
0
0
-13
12
0
-8
0
0
-35
-19
-16
-3
-39
-8
0
29
0
0
-9
24
-2
0
0
17
1
2
-13
2
0
30
10
8
-7
14
28
0
-13
0
0
-14
41
-11
0
-31
10
0
12
38
-23
0
4
34
1
27
-16
40
0
-9
-11
8
2
0
-3
0
0
-14
21
0
-1
8
0
2
-7
-11
30
-21
0
0
-3
-7
-13
23
19
46
0
-23
12
1
11
4
-28
0
10
16
0
29
-29
-6
0
65
33
2
44
42
0
0
-19
-20
0
37
2
20
0
0
-1
1
-16
7
-1
0
0
19
9
-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
6
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
-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
-6
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
6
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
31
0
0
0
0
0
-8
1
0
-7
3
0
0
0
0
0
0
0
0
0
0
57
0
0
-8
0
0
-2
18
0
0
-1
0
0
3
-13
0
-3
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
0
0
-1
0
0
2
-1
0
0
-11
0
0
0
-2
0
0
-5
0
0
0
-44
0
0
-3
0
0
0
31
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-20
0
0
0
0
0
0
-12
0
0
0
0
0
0
24
0
0
0
0
0
0
7
0
0
-8
0
0
0
-7
0
0
0
0
0
0
14
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
11
-1
0
0
0
13
-7
0
0
33
0
0
-20
1
0
-19
-37
0
0
0
0
0
0
0
0
0
10
-3
-4
0
21
-37
0
-17
-10
0
0
35
6
-3
10
-40
0
4
1
18
-7
0
-12
0
0
0
0
21
0
-52
0
-9
0
1
2
0
55
4
0
0
0
0
-20
-9
1
1
-8
0
0
-18
-29
0
-1
-47
0
0
14
-37
0
2
-7
-3
0
35
-14
0
0
26
0
0
-15
-21
0
0
-61
-7
1
15
3
0
0
15
0
3
0
-23
0
-7
11
-9
4
0
33
0
0
0
0
6
0
46
0
0
0
0
0
0
17
0
3
6
3
0
-7
-18
0
2
17
0
0
5
1
0
26
-20
4
1
0
-36
0
15
-13
3
1
-10
22
4
-1
4
0
0
0
-27
0
0
-1
0
-3
3
-2
0
94
7
0
0
0
10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
7
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
7
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
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
-20
0
0
0
0
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-3
0
0
0
0
0
-14
0
0
0
0
0
-1
0
0
9
0
0
0
0
0
0
0
0
0
0
-4
-24
0
0
9
7
0
0
-3
0
0
-1
0
0
0
51
0
-10
-1
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
2
0
0
0
-6
-7
0
0
0
0
0
0
26
0
0
-1
0
0
0
13
0
0
6
0
0
0
34
0
0
29
0
0
-1
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
13
0
0
0
0
0
0
6
0
0
0
0
0
0
-6
0
-8
0
0
0
0
10
0
0
0
0
0
0
18
0
0
6
0
0
0
2
0
0
-4
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
3
1
0
0
29
29
0
0
1
0
0
12
10
0
14
-43
0
0
0
0
0
0
0
0
0
5
11
-1
-1
-23
4
0
17
32
0
0
-16
0
0
0
-20
0
0
-4
2
0
0
10
-4
0
0
0
0
0
9
-53
1
0
0
0
0
32
0
0
0
0
0
2
-20
0
-9
-6
0
0
-6
16
0
0
-33
0
0
-31
-1
2
0
-5
8
0
3
4
1
0
13
0
0
-4
-34
1
0
-2
-3
0
0
-8
0
0
9
0
0
-2
-8
0
0
3
0
0
0
-2
0
0
0
0
0
0
-18
-1
0
0
0
0
0
-35
-4
6
2
0
0
0
-8
0
-4
21
0
0
29
-42
0
6
-5
-2
0
4
-53
-1
-11
-5
-2
0
0
67
0
5
-13
0
0
0
35
0
0
7
0
0
0
-31
0
18
0
0
0
0
19
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
9
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
0
0
-3
0
0
-1
-16
0
0
2
0
0
0
4
0
3
1
0
0
0
2
0
0
0
0
0
0
-7
3
0
0
0
0
0
46
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
6
0
0
-1
0
0
0
17
0
0
-1
0
0
0
-1
0
0
4
0
0
0
-10
0
0
0
0
0
0
3
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
-2
0
0
0
0
0
12
0
0
0
0
0
0
7
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
2
0
0
0
0
1
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
4
2
12
0
27
-5
16
19
2
8
4
0
0
0
0
0
0
0
-14
6
-32
9
15
-16
-50
7
0
-14
0
4
4
8
0
-2
-15
17
-15
-9
0
-23
-21
-9
-8
5
4
13
0
7
-4
37
3
16
8
-7
0
-9
26
25
-26
42
27
-19
6
4
-40
-50
35
13
-6
28
47
-5
4
-15
-8
-6
3
-24
5
43
-19
-25
7
14
22
14
-9
-22
12
15
-9
6
22
-2
-12
-17
-7
-6
-20
-6
-5
-13
-8
-1
19
15
14
-6
11
14
-8
-2
-23
-1
19
13
21
0
-19
-6
-3
-38
3
21
-8
-7
12
18
59
-23
-17
-6
18
-7
48
-33
-15
32
5
10
16
-24
-12
-18
-12
-14
-19
-50
-32
-1
-21
-17
-11
38
-13
-17
48
67
-32
-16
1
0
25
-16
-11
14
-18
19
-1
36
-7
17
3
-13
-16
18
14
-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
-6
19
0
0
-10
-4
0
8
-18
0
-39
-4
-2
0
0
0
0
0
0
0
0
-16
-7
0
0
-19
-1
0
-13
2
0
-4
30
3
0
28
22
0
30
2
0
0
0
-22
0
0
-3
3
-2
0
-2
0
21
0
0
0
0
-1
0
0
-2
0
0
0
-27
7
0
0
-6
4
2
27
4
1
-4
0
0
46
-13
0
-2
8
-1
0
21
-8
1
0
6
0
0
-3
-3
0
-1
-21
6
0
-1
-20
0
0
9
0
-4
0
-5
0
0
-3
0
-2
0
-20
4
1
0
0
0
0
-26
0
0
0
0
0
0
53
0
1
0
0
1
0
41
7
0
8
0
0
6
16
0
-9
3
0
-2
0
-2
1
-1
-4
-3
0
-9
29
0
19
2
-7
0
0
8
0
0
0
2
-2
0
38
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
8
23
0
0
0
0
0
-31
-13
0
0
3
4
0
0
0
0
0
0
0
0
5
-9
0
0
-19
-6
0
-21
-13
0
0
20
13
0
0
-28
0
-12
-13
0
0
0
11
1
0
0
0
0
0
49
5
0
0
0
0
0
-20
-4
0
0
0
0
0
40
0
0
17
4
0
-7
-42
0
0
-11
0
0
-12
34
0
0
-27
3
0
-3
-26
0
0
13
0
0
0
-17
3
-1
35
-7
0
0
24
0
0
0
0
-1
0
4
0
-4
0
0
-1
0
-33
0
0
0
0
0
0
36
-2
0
0
0
0
-2
-5
0
0
4
0
0
-1
-11
0
0
-5
0
0
-2
64
0
0
-17
0
0
0
4
0
0
1
-11
0
0
4
0
3
8
0
0
0
32
0
-1
0
3
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-2
51
0
0
-5
0
0
0
-39
0
0
0
0
0
0
-14
0
6
0
0
0
0
1
0
0
0
0
0
0
-42
-1
-9
0
0
0
0
-9
0
0
0
0
0
0
7
0
2
0
0
0
-10
-29
0
0
0
0
0
1
-16
0
0
1
0
0
-2
-29
0
0
-9
0
0
3
-8
0
0
0
0
0
0
-8
0
0
0
0
3
0
-13
0
0
0
3
0
0
30
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
1
0
0
0
0
0
0
-23
0
0
0
0
0
0
17
0
0
0
0
0
0
-26
0
0
0
0
0
0
13
0
0
0
0
0
0
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
29
0
0
0
0
0
-11
0
0
-23
72
0
0
0
0
0
0
0
0
0
15
18
0
0
9
0
0
11
8
0
0
-3
0
0
2
1
0
-33
32
0
0
0
-42
0
0
0
0
1
0
12
1
0
0
0
0
0
19
0
0
0
0
0
0
-41
0
0
0
0
0
0
-14
0
0
25
0
0
-2
-17
0
0
0
0
0
6
-6
0
0
-10
0
0
-13
14
0
0
34
0
0
0
7
0
0
0
0
2
0
3
0
0
0
0
-6
0
-14
3
0
0
0
0
0
-13
-8
0
0
0
0
0
-2
0
22
0
0
0
-6
-60
0
8
11
0
0
19
66
0
10
-11
0
0
-6
-9
0
0
-7
0
0
-2
11
0
39
2
0
0
0
26
0
0
1
0
0
0
-1
0
0
0
0
7
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
23
0
1
-6
0
0
0
0
0
0
0
0
0
15
35
0
0
39
5
0
-1
0
0
1
-16
-8
0
0
-75
0
-46
11
20
6
-1
-1
0
0
-1
0
2
0
-31
-4
19
0
1
6
0
14
2
0
0
0
0
0
-36
0
-1
-1
-2
0
0
-13
0
0
-17
0
0
32
64
0
3
85
0
0
0
-44
0
0
-12
0
-2
-7
-3
-3
2
45
-9
0
-1
13
0
0
-33
0
0
0
3
0
-3
0
0
1
0
36
0
0
0
0
0
0
-65
-2
0
0
0
0
0
-2
-3
15
9
0
0
1
10
0
0
-6
2
0
3
30
0
9
-14
0
0
0
20
0
24
20
1
0
0
-4
0
-4
-3
0
0
0
-22
0
1
-1
1
0
0
-1
0
-14
0
0
0
0
43
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
23
-26
3
0
0
0
0
0
0
0
3
4
41
-43
-9
-8
83
8
-14
62
37
-7
48
-35
-13
-12
1
-19
15
30
-12
-51
-15
19
-8
-8
52
-46
-11
8
-6
-6
-18
5
18
-1
1
0
12
2
-29
-15
3
0
11
19
9
-38
2
-3
-3
57
-10
12
-8
12
-24
5
15
-12
8
-1
17
-3
-14
-29
33
-11
46
-38
10
-5
-3
-1
-11
27
-14
20
12
0
-14
-29
-6
-25
-54
-3
22
-20
61
51
-2
29
-6
51
-45
-6
29
-6
-6
-6
36
-19
10
18
-3
-19
0
11
-24
-25
23
15
-27
2
-36
-13
35
0
-15
17
9
13
-26
48
-74
21
-57
-10
17
-23
24
-12
-4
-4
4
66
0
35
-11
20
-10
17
-8
-16
-12
-18
10
0
-18
20
28
-32
23
21
1
13
-3
-1
36
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
-1
0
26
22
8
0
0
0
0
0
0
0
0
11
-11
0
0
11
0
0
6
-25
0
0
8
0
0
0
-7
0
2
3
0
0
0
16
0
0
0
0
0
0
30
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
-3
0
0
0
16
0
0
0
0
0
-1
29
0
0
-10
0
0
-2
29
0
0
0
0
0
0
42
0
0
0
0
0
0
7
0
0
0
0
0
0
-34
0
0
0
0
0
0
14
0
0
0
0
0
0
-3
0
1
0
0
0
0
38
0
0
0
0
0
0
1
0
-3
0
0
0
0
-8
0
0
-3
0
0
11
11
0
4
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-6
8
0
0
0
0
0
0
0
0
0
0
32
0
0
21
0
0
0
-9
0
0
1
0
0
0
-4
0
6
0
0
0
0
2
0
0
0
0
0
0
26
0
0
0
0
0
0
35
0
0
0
0
0
0
7
0
0
-6
0
0
0
-28
0
0
1
0
0
0
50
0
0
-11
0
0
1
-6
0
0
4
0
0
0
48
0
0
-4
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
2
0
0
0
0
9
0
-1
0
0
0
0
0
0
6
-1
0
0
0
1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-1
0
0
0
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
-19
-31
0
7
10
37
0
0
0
0
0
0
0
0
6
-26
1
-1
-22
-5
0
-16
18
0
0
14
0
0
-12
-2
0
12
-17
-1
0
1
-12
0
0
2
0
1
0
25
-25
0
0
6
0
0
62
14
0
0
0
0
0
50
1
0
-6
-1
-2
6
-4
0
0
33
0
0
-28
18
-1
-3
34
-2
0
4
-9
2
0
19
3
0
-14
11
0
-2
20
-2
0
4
-19
0
0
12
0
3
0
32
0
0
-8
0
24
0
-8
0
0
0
0
0
0
1
-1
0
0
0
0
0
-13
0
-2
1
0
0
5
57
0
4
-1
0
0
6
34
0
-13
-6
4
0
-2
9
-1
0
0
6
0
0
-5
0
-10
-1
0
0
0
-3
0
0
0
0
0
0
-26
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
-7
0
0
-7
1
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
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
21
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
-16
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
-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
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-5
0
0
0
0
0
0
0
0
0
0
0
-19
0
1
7
0
0
-11
-7
0
0
0
0
0
-2
-4
0
-4
0
0
0
0
-44
0
0
0
0
0
0
10
0
0
0
0
0
0
-28
0
0
0
0
0
0
-3
0
0
0
0
0
-12
12
0
0
0
0
0
0
-20
0
0
15
-3
0
0
2
0
0
2
0
0
1
-35
0
0
0
-4
0
0
21
0
0
0
0
0
0
-5
0
0
0
0
0
0
-12
0
0
0
0
0
0
3
0
0
0
0
0
0
13
0
0
0
0
0
0
-28
0
0
0
0
0
0
5
0
0
0
0
0
0
6
0
0
-6
0
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-6
-3
0
5
-36
0
36
2
0
-1
1
0
0
1
-12
1
38
-68
47
0
0
-10
2
-3
3
0
-1
0
23
53
-23
0
0
0
0
-2
-5
0
0
16
0
1
-39
0
-8
-17
4
0
-8
1
3
14
0
0
0
-3
-21
4
-12
7
-24
7
-1
-2
-6
-2
0
-7
-1
-34
-37
2
9
-47
9
0
-3
-28
0
17
-19
0
0
0
-4
0
-9
-37
33
-38
0
-14
13
0
1
4
6
0
-24
19
-3
0
0
0
0
-2
0
34
20
-15
0
47
13
13
2
-4
36
0
0
4
-1
-40
23
1
-1
11
-27
0
-18
-3
-45
-1
-10
8
-6
-37
-32
3
0
0
18
6
-1
-7
-2
0
0
15
0
27
0
0
0
0
40
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
21
-12
-9
8
12
-31
0
38
-1
6
9
13
3
-2
25
-34
2
33
20
-3
-2
17
-13
8
0
16
0
3
0
-7
-66
12
12
36
0
0
1
-53
0
1
13
1
17
19
48
-34
-15
-2
-3
-62
0
4
13
-9
0
-11
-40
-2
0
35
-6
35
4
54
-1
10
16
12
25
-30
-56
-18
3
-10
8
-80
-10
0
30
0
32
29
-1
-35
-8
11
0
23
14
15
64
-4
-16
20
0
1
9
24
0
-10
-1
0
0
-10
2
8
57
1
56
-7
-1
2
14
0
-2
27
-3
6
8
-20
-6
-7
-24
-13
-8
0
0
2
-6
83
4
65
-12
-39
46
3
32
-5
4
1
-6
47
11
-12
-16
3
-3
0
-17
-4
27
12
10
-3
0
24
52
-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
62
0
0
-1
0
0
0
-41
0
0
1
0
0
-1
27
0
6
0
0
0
0
27
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
27
0
0
0
0
0
0
57
0
0
0
0
0
1
-5
0
0
-1
0
0
0
-14
0
0
1
0
0
0
25
0
0
7
0
0
0
29
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
3
0
-1
0
0
0
0
-11
0
1
0
0
0
0
11
0
0
3
0
0
0
6
0
0
7
0
0
0
10
0
0
0
0
0
0
-4
0
0
0
0
0
0
43
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
9
10
31
-14
-24
-3
4
6
1
-18
17
-1
12
48
-1
0
21
46
16
-3
-14
-7
-1
1
25
-28
-41
0
-5
23
6
-9
15
0
0
16
12
-2
-9
-11
6
-21
0
7
43
-16
-24
33
12
-22
14
1
-26
-20
5
34
-9
-2
-21
9
7
12
12
14
40
43
5
51
48
48
10
6
4
-10
-2
51
23
15
2
19
-12
-13
-15
18
-16
-18
5
33
24
-6
-8
-10
-30
0
1
1
-2
-2
6
5
-2
3
-25
0
-6
-7
15
19
2
1
-17
20
1
12
41
37
0
-1
-11
-8
-1
6
42
-10
0
33
-7
-3
44
26
6
-1
16
-2
4
-24
6
12
-14
-14
1
0
6
-27
-42
-3
20
-1
-4
46
-3
9
4
0
-26
-19
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
39
6
-7
8
2
22
0
1
41
0
-6
26
-4
37
30
26
3
19
-12
45
-6
11
17
26
0
-4
0
-4
-1
-11
6
41
0
18
1
-4
-10
10
0
-4
-1
-1
0
24
75
26
1
6
-3
17
22
0
11
35
-1
0
-3
-38
12
19
16
35
0
13
19
7
19
14
1
-8
49
-20
14
7
-30
-42
1
-15
-21
0
-5
-3
-7
-14
7
-11
3
1
27
15
35
1
3
0
4
0
19
2
0
14
-9
-1
0
0
0
-1
1
-12
0
6
1
2
-42
36
-14
-51
1
-11
0
-50
-52
1
-2
-8
22
6
24
-12
5
-7
52
-44
0
11
0
3
-29
43
0
0
49
21
0
26
50
0
2
0
-9
2
-20
0
2
24
0
26
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
4
2
0
0
45
0
0
-36
-68
0
0
-12
0
0
2
12
0
-21
21
0
0
-6
-31
0
0
-1
0
-8
0
-26
5
21
0
0
0
0
-7
0
0
0
0
0
0
-19
0
0
0
13
0
-11
-3
0
0
-2
0
0
13
10
0
0
22
0
0
3
13
0
0
-18
0
0
2
14
0
-1
-19
0
0
-1
0
0
0
18
0
-1
0
50
0
0
0
0
-2
0
23
0
0
0
0
-6
0
-6
19
0
0
0
0
15
-44
0
-13
-4
0
0
13
20
0
3
-11
0
0
-3
43
0
-2
-26
0
0
-2
23
0
6
0
0
0
0
-20
0
10
-6
0
0
0
-23
0
0
0
0
0
0
2
0
34
0
0
0
0
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
11
0
0
0
0
-11
0
0
0
0
0
0
3
8
0
0
0
0
0
-16
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
15
-4
0
0
0
0
0
0
17
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
3
0
0
0
0
0
0
0
0
7
0
0
0
0
8
0
0
-10
0
0
0
27
0
0
4
0
0
0
41
0
0
-9
1
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
3
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
30
6
-7
-4
-46
0
-1
-10
5
-1
19
-28
-4
0
24
-13
6
0
26
-8
-40
-1
-6
0
0
-1
9
0
0
3
0
0
-12
0
16
44
-8
12
28
12
0
-7
12
0
-2
22
-10
0
11
2
-11
0
14
-14
0
4
30
0
13
22
-9
0
2
27
-31
-2
2
22
0
3
-16
1
-5
0
-10
0
0
26
-44
-21
0
3
-5
0
0
2
-13
0
23
4
0
0
-1
0
0
7
-6
-19
-8
0
2
3
2
-2
18
44
20
0
-12
-15
2
7
7
1
0
2
8
0
33
3
-32
0
30
-15
0
2
13
-4
0
0
-6
-2
0
-22
3
0
0
8
0
-6
8
0
8
0
25
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-17
8
12
-58
45
21
12
-32
13
-17
-4
-15
3
-55
3
10
4
23
52
-8
2
-9
54
19
0
-17
-3
1
28
-21
5
23
-24
-36
9
2
-15
-22
-7
-22
21
-14
5
45
-4
35
28
4
17
3
-13
31
26
-14
-29
-13
0
-65
12
-16
19
-5
-27
21
-2
12
-17
47
41
-5
9
-14
21
-7
-46
-19
36
-21
-20
-30
-24
36
14
-4
-15
-19
0
7
-35
22
4
10
-18
-14
13
57
0
-1
16
19
-23
33
41
-73
31
-2
10
-7
-10
-8
-2
13
-9
10
24
-6
7
8
-41
0
-16
24
-11
65
-6
27
-14
23
6
25
-18
24
-32
-15
-5
29
-26
-34
51
0
11
-1
-29
40
48
-3
-1
-2
-9
11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-11
0
-3
0
0
0
0
-12
0
0
0
0
0
0
-8
0
0
0
0
0
0
9
0
0
0
0
0
0
-11
0
-1
0
0
0
1
55
0
0
-1
0
0
0
-26
0
0
0
0
0
-1
5
0
0
0
0
0
0
12
0
0
-2
0
0
0
-22
0
0
0
0
0
0
-12
0
0
0
0
0
0
-24
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
6
0
0
-6
0
0
0
35
0
0
0
0
0
0
4
0
0
0
0
0
0
20
0
0
0
0
0
0
7
0
0
0
0
0
0
-19
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-29
0
0
0
0
-17
0
0
-4
0
0
0
9
20
0
0
0
0
0
-47
-1
0
0
0
0
0
-18
1
2
-2
0
0
6
55
0
0
6
0
0
-1
-33
0
0
37
-8
0
3
72
0
0
0
0
0
2
-32
0
0
10
-3
0
0
-27
0
0
9
0
0
0
-2
0
0
-2
-4
0
0
-25
0
0
0
2
0
0
-1
0
0
-2
0
0
0
29
0
0
-3
0
0
2
2
0
6
-7
9
0
0
-83
0
12
6
0
0
1
-6
8
9
-9
0
0
0
33
0
-10
0
0
0
0
48
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
35
11
-10
9
21
6
4
49
-1
-4
1
1
5
26
0
3
-15
13
0
9
0
-2
22
8
2
-3
0
0
16
-13
20
2
51
19
1
50
12
17
-16
33
0
20
30
-2
3
1
26
14
-4
-1
-9
-5
-23
-10
-10
0
9
8
0
-44
44
-37
-18
31
3
0
17
3
0
-11
-20
9
5
1
1
16
3
-10
4
0
1
0
0
-27
3
24
51
7
0
-12
0
-10
15
0
-9
-19
0
3
-36
-4
0
-6
-3
-5
0
-22
6
-9
-8
-3
10
0
21
10
30
-51
43
22
0
-6
-19
-1
44
-13
0
6
13
35
0
2
-8
-7
0
0
-12
1
0
7
0
-3
0
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
64
0
7
15
-12
0
25
27
1
-2
0
31
0
0
0
0
21
0
36
-5
-6
0
0
0
1
25
0
0
0
0
0
0
9
0
-7
0
0
0
26
11
0
-2
-13
0
4
-23
-6
0
4
14
0
0
30
12
0
0
28
0
0
11
13
0
0
8
0
-8
13
-8
0
0
-3
0
-2
0
77
0
2
-1
0
-15
0
0
0
4
0
0
0
0
13
-17
0
0
0
0
0
22
4
42
-6
0
0
1
-50
0
0
26
0
0
-16
0
0
20
80
0
0
-7
-9
0
-3
-15
-1
0
0
5
0
44
3
0
2
-3
2
0
4
22
0
2
0
49
0
53
1
0
1
0
29
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
28
0
0
0
0
1
0
0
0
0
0
0
-14
1
0
0
0
0
0
7
0
0
0
0
0
0
19
0
0
0
1
0
-3
-26
0
0
10
0
0
-4
5
0
0
22
0
0
1
11
0
0
0
0
0
0
19
0
0
-3
0
0
0
24
0
0
0
0
0
0
2
0
0
0
0
0
0
44
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
-1
0
0
0
0
37
0
0
-1
1
0
0
62
0
9
1
0
0
0
-50
0
0
7
2
0
0
-27
0
0
-10
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
9
-4
0
-4
17
0
-1
-3
-1
-1
0
1
3
26
-3
-26
0
0
6
1
0
0
0
0
-12
30
14
9
-7
16
22
-20
-9
0
8
-15
2
-4
59
9
3
36
-23
24
-2
-21
9
0
17
8
0
0
0
-37
-1
6
37
-19
-7
-4
6
0
1
-16
16
-2
0
10
0
2
1
33
10
0
22
2
0
0
0
0
0
61
-7
4
0
0
0
1
21
-10
21
18
0
-3
0
-42
1
25
34
1
0
-1
41
0
-31
-39
0
0
0
39
2
46
20
6
0
15
-42
0
14
32
4
3
-4
9
-3
0
42
-30
0
0
32
-3
-7
0
0
6
0
-10
4
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
20
-5
-4
-14
-7
-39
0
-4
-21
-2
-23
25
19
-3
21
10
7
4
1
19
9
-1
-15
3
-6
6
7
45
23
20
-6
-11
-16
-1
2
2
40
-5
19
15
-54
40
8
11
-35
11
-5
-14
13
-3
9
-6
20
-21
11
-22
0
-10
-83
11
-13
-18
-8
9
-5
-17
3
1
15
3
-15
-6
-14
9
-9
-16
-21
6
-29
-2
6
14
27
-15
22
9
62
39
16
2
-22
7
13
-29
18
22
-15
-5
15
4
-54
-4
14
-27
22
5
-32
-5
16
47
7
-12
-4
43
11
12
-33
-3
9
0
14
-18
-32
-9
11
22
9
8
-54
-5
6
1
9
-7
0
16
-40
-11
-11
0
-3
19
21
38
-27
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
20
0
0
0
0
0
0
19
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
-2
0
0
0
47
0
0
1
0
0
0
2
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
4
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
6
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
0
0
0
0
0
0
0
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
11
0
0
0
0
12
0
0
0
0
0
0
-30
0
0
0
0
0
0
-32
0
0
0
0
0
0
-6
0
0
0
0
0
0
-36
0
0
0
0
0
0
41
0
0
-2
0
0
4
-2
0
0
4
0
0
0
21
0
0
-2
-4
-2
1
5
0
0
-3
0
0
0
-4
0
0
0
0
8
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
-6
0
0
0
0
0
-2
-20
0
0
0
0
0
0
-14
0
0
4
0
0
0
12
0
0
-1
0
0
0
-32
0
0
0
0
0
0
-26
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
12
9
-10
-17
0
-19
-8
20
-8
11
-7
0
0
-23
0
-14
48
-1
11
-2
-1
-4
11
-10
0
-2
0
0
3
15
-6
3
17
47
-3
0
14
-3
-5
41
-2
1
-39
0
-2
32
18
17
-2
33
-8
0
17
5
0
2
6
-31
-2
37
21
33
0
-16
4
0
20
4
-2
-4
-8
20
0
-28
0
-5
-2
-6
6
-9
14
0
0
0
-1
-7
10
0
-2
0
0
15
4
-10
0
-27
0
0
38
-10
-17
6
57
-1
0
57
1
0
45
7
0
-3
32
-6
0
-29
-52
38
0
22
-41
0
20
11
-1
0
4
45
-9
7
-17
-20
2
0
36
4
-13
0
0
20
0
11
6
5
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
13
-3
0
0
0
11
0
0
0
0
0
0
-17
0
-4
0
0
0
0
-10
0
0
0
0
0
0
-26
0
0
0
0
0
-3
-61
0
0
-2
0
0
0
27
0
0
-10
0
0
0
29
0
0
13
0
0
6
-10
0
0
0
0
0
0
13
0
0
13
0
0
0
2
0
0
0
0
0
0
32
0
0
0
0
0
0
-8
0
0
0
0
0
0
-7
0
0
0
0
0
0
-5
0
0
0
0
0
0
-22
0
0
0
0
0
-1
-4
0
0
-1
-9
0
0
2
0
0
-8
0
0
0
17
0
0
0
0
0
0
51
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
13
0
0
0
0
0
0
5
1
0
0
0
0
0
37
0
0
0
0
0
0
6
0
0
0
-1
0
0
58
0
0
1
0
0
0
-16
0
0
21
7
0
7
-9
0
0
4
0
0
-9
-2
0
0
0
0
0
1
-41
0
0
7
0
0
0
12
0
0
0
-3
0
0
41
0
0
0
0
0
0
8
0
0
0
0
0
0
7
0
16
0
0
0
0
-8
0
0
-3
0
0
0
49
0
0
0
0
0
0
4
0
0
13
-1
0
0
14
0
0
-15
0
0
0
13
0
0
0
0
0
0
-10
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
11
5
0
0
-2
0
0
-22
0
0
0
0
10
6
39
1
0
2
0
-8
-7
-22
-1
-9
37
0
0
-7
9
0
-3
39
10
0
-11
-22
0
-1
29
0
1
-2
22
-2
2
7
-1
1
1
-6
0
2
-4
0
0
0
-21
0
-1
-1
2
-5
0
12
0
0
0
-1
0
0
9
0
0
0
0
0
0
10
0
5
1
0
0
0
-4
0
0
5
0
0
0
12
1
-33
11
-10
0
0
24
0
-1
-17
0
0
2
2
0
5
0
0
0
0
-9
0
0
1
0
0
0
-40
0
5
0
0
0
0
27
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
13
12
0
4
2
-28
-3
3
0
-2
-2
-12
0
3
-29
0
-60
12
-34
-2
-15
-2
2
-28
-10
-1
21
6
6
-12
-21
18
1
-3
4
4
-3
48
-45
35
0
-5
-6
-6
-11
12
3
18
6
21
-6
11
0
3
-26
-5
0
-6
-4
10
-2
-11
18
0
-18
-7
-4
-10
0
0
0
-7
-3
52
12
2
9
-20
0
16
1
-16
6
16
0
-19
4
-18
-13
4
-43
-5
0
4
-4
-6
12
-4
0
-1
23
-16
3
-11
-17
-24
-1
-50
12
-3
-26
-7
1
8
-11
0
0
-2
7
6
3
0
-40
18
11
4
8
2
0
-1
-21
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
-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
-15
0
0
0
0
0
0
14
0
0
0
0
0
-1
-14
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
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
-13
-15
-13
-9
4
17
6
0
25
4
0
-7
-17
5
6
-18
43
9
13
-6
0
-45
10
34
7
-4
-13
11
26
12
-2
46
1
3
-47
-35
14
6
27
-5
-31
-4
-25
2
-11
-8
-1
15
20
50
-11
-2
-5
5
-25
6
-2
-23
1
2
13
-21
-1
5
24
-2
35
51
-43
29
0
-5
9
10
0
-1
-6
4
8
48
1
6
34
0
10
-15
7
-28
-68
1
0
17
0
7
-18
-5
-34
3
-19
-8
7
-19
10
-10
9
30
-23
2
13
34
-2
-3
68
35
-6
9
-22
2
0
49
-23
-1
-36
46
8
-1
7
4
-6
4
30
-3
4
0
3
-46
-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
11
-36
0
0
0
0
-2
0
3
0
-4
0
-3
0
0
10
-12
0
0
0
0
0
-29
0
0
8
-8
-2
-51
6
-4
0
30
0
-3
-3
37
0
-2
-13
0
0
-48
-9
0
-9
34
-13
-3
-7
-28
0
4
12
-6
0
8
-15
0
-1
13
2
0
0
-12
2
0
0
0
-3
0
-9
0
0
0
0
10
0
-25
13
0
0
-2
0
0
9
0
43
-7
0
0
9
1
0
0
-1
6
0
14
49
0
0
0
0
0
4
27
2
-37
1
-2
0
0
-68
0
-10
0
0
0
2
-52
0
0
8
0
0
0
-9
0
-9
0
3
0
0
16
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
-1
-4
0
0
0
0
0
0
1
4
2
0
0
0
0
32
0
0
0
0
0
-6
60
0
0
28
0
0
-5
29
0
0
-31
0
0
-31
-1
0
0
-10
0
-1
-17
6
0
-1
38
0
0
-3
-15
0
0
5
0
0
0
9
0
0
-8
0
-3
0
7
0
0
-3
0
-1
0
10
2
0
0
0
0
0
-23
-1
0
0
0
0
0
-43
0
55
-1
0
0
0
24
0
0
15
0
0
-2
27
0
12
79
0
0
0
19
0
-10
7
0
0
0
20
0
0
-3
0
0
1
0
0
0
1
0
1
0
17
0
-4
0
0
0
0
-50
-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
7
0
0
0
0
0
0
29
0
1
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
-1
-18
0
0
-1
0
0
0
-12
0
0
-6
-2
0
0
7
0
0
1
0
0
0
-3
0
0
0
0
0
0
-34
0
0
0
0
0
0
25
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
3
-27
0
0
0
0
0
-1
-7
0
-6
3
0
0
0
-9
0
0
2
0
0
0
8
0
4
-1
0
0
0
6
0
0
0
0
0
0
2
0
2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
17
0
0
0
0
-43
0
0
0
0
0
0
0
3
0
8
0
0
16
0
0
0
-2
0
0
-1
26
0
0
-42
-3
0
2
4
0
0
4
0
2
0
14
0
0
8
0
0
0
16
0
0
-4
0
0
0
0
0
0
0
0
-3
0
3
0
0
0
0
0
0
32
0
0
0
0
0
0
-8
0
8
0
0
0
0
65
0
0
4
0
0
0
41
0
0
1
0
0
0
-22
0
0
0
1
0
0
5
0
8
1
0
0
0
-23
0
0
0
0
0
0
-33
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-30
-27
29
36
1
0
-28
38
14
-6
5
-8
68
-28
-6
-39
34
28
-30
2
14
-24
-15
-45
2
-21
14
11
25
-49
16
-33
-7
-15
14
-24
32
-8
2
-7
33
-20
7
8
3
-22
4
16
-1
3
7
41
47
19
-3
0
28
60
0
26
8
0
0
36
-3
0
1
17
0
16
-16
-2
21
15
0
2
3
-16
40
1
6
62
20
0
21
-11
35
-57
-1
-19
26
50
-13
-6
-16
8
18
-18
23
47
4
-35
-1
40
-24
0
-31
2
-1
7
-11
19
22
-45
-47
-20
-8
-1
0
-46
16
13
12
-6
-5
20
-45
-6
1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-6
0
0
0
0
0
15
0
0
0
0
0
0
4
0
0
-1
0
0
2
34
0
0
1
0
0
0
12
0
0
0
0
0
0
14
0
0
-10
0
0
0
-1
0
0
2
0
0
0
-74
0
0
0
0
0
0
4
0
0
0
0
0
0
50
0
0
0
0
0
0
22
-6
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
-10
0
0
0
-1
0
0
0
0
0
0
-6
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
-1
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-34
0
0
1
0
0
0
-4
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
16
0
0
0
0
0
0
1
0
0
0
0
0
0
9
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
2
0
0
-14
0
0
0
0
0
0
14
0
0
0
0
0
0
-14
0
0
-1
0
0
0
33
0
0
-6
-3
0
0
24
0
0
0
0
0
0
-9
0
0
0
0
0
0
-12
0
0
0
0
0
0
48
0
-1
0
0
7
0
6
-8
0
0
0
0
0
-19
0
0
0
0
0
0
-4
0
4
0
0
0
0
13
0
0
0
0
0
0
-8
0
0
0
0
0
0
4
0
0
-3
0
0
0
19
0
10
0
-1
0
0
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
-13
0
0
0
0
0
0
-46
0
0
0
0
0
0
42
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
-1
0
0
0
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
-41
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
37
0
0
-1
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
1
0
0
0
0
0
-28
0
7
0
-10
0
-2
-28
0
0
-4
0
0
-9
21
0
0
-72
-4
0
6
-12
0
0
45
0
0
0
-4
0
0
15
4
0
-3
38
0
-2
2
0
0
-2
-18
0
0
0
2
0
0
4
0
0
0
0
0
0
-12
-1
0
0
0
0
0
-24
0
-6
1
0
0
3
-40
0
0
16
1
0
-1
-11
0
0
-15
0
0
0
-9
0
0
11
0
0
1
-4
0
41
2
0
0
0
-19
0
0
-3
7
0
0
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
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
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
13
-4
-14
29
5
12
11
-12
13
-8
-3
-14
21
12
-24
-1
25
-10
-4
19
-18
7
-3
8
48
3
1
11
-17
-9
-48
16
8
72
10
36
-1
12
31
-10
12
-8
-28
14
0
-23
6
-18
25
-24
-11
13
15
33
3
29
4
0
-1
-9
0
-7
-39
14
-13
2
-8
3
-30
4
61
2
-11
-5
10
-69
-34
0
-11
15
12
-4
14
-15
-35
-10
14
9
25
-23
21
-8
-21
-15
-11
-10
13
-14
8
-8
-35
16
28
-18
22
55
3
0
47
-48
-18
35
21
7
42
2
43
18
38
0
0
-1
25
13
-43
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
4
17
0
0
10
-4
1
19
-6
0
0
-33
0
-9
18
-28
-3
-3
23
-12
0
2
1
2
-4
-47
0
0
-36
-11
1
2
-39
-25
0
0
32
0
2
2
0
0
4
23
0
4
23
0
-16
0
-40
0
0
0
0
3
0
12
-4
0
0
0
0
-1
9
-4
3
7
0
-2
27
-2
0
0
-2
2
-4
-6
0
0
25
-10
0
0
-1
-33
0
-3
8
4
0
-12
-31
0
-4
10
0
0
0
-25
0
0
39
0
0
0
-17
0
1
0
2
1
0
15
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
1
0
0
0
0
3
46
0
3
-3
0
7
-6
-55
0
0
3
0
0
-25
15
0
-11
21
1
-2
-16
-22
0
0
19
-11
0
-7
17
0
0
26
10
0
0
-47
0
0
1
0
-3
0
68
0
0
8
0
-1
0
16
0
0
0
0
0
0
28
0
0
0
0
0
0
-3
0
-15
1
0
0
6
-42
0
0
-4
0
0
1
-3
0
-22
21
0
0
0
-13
0
20
-8
0
0
6
-7
0
4
2
0
0
0
26
0
0
0
2
0
0
-12
0
0
-2
0
1
0
12
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
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
10
0
0
8
9
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
0
0
0
0
0
0
0
22
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
-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
-7
6
0
0
0
0
0
7
0
0
1
0
0
-9
10
0
0
0
0
0
-10
5
0
0
-16
0
0
7
-28
0
0
-16
0
0
2
-84
0
0
-4
1
0
0
-39
0
0
-4
0
-29
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
-17
0
0
0
0
0
0
24
0
8
-4
0
0
0
-5
0
0
-1
0
0
0
-14
0
8
2
0
0
0
51
0
0
0
0
0
0
-19
0
11
0
0
0
0
-10
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
3
0
0
0
0
0
0
3
0
0
1
0
0
-1
41
0
0
0
0
0
-1
-32
0
0
18
0
0
2
22
0
0
0
0
0
0
-2
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
6
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
0
0
0
0
0
0
1
0
0
0
0
0
0
11
0
0
0
0
0
0
5
0
0
0
0
0
0
2
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
4
0
0
0
0
0
0
-10
0
0
0
0
0
0
-14
0
0
2
0
0
3
9
0
0
0
0
0
0
-2
0
0
0
-1
0
0
10
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-12
-10
42
-13
-26
-34
-17
1
-33
26
-20
29
-58
18
-5
66
15
20
25
-15
2
0
32
-27
6
19
-16
45
4
-15
37
16
7
-9
-31
12
-4
20
41
-4
1
-2
-8
4
-39
24
-44
-13
-14
16
-15
41
8
1
-16
-3
0
22
-18
-2
34
0
-7
-3
-35
-13
-18
-10
-6
-28
-9
-64
47
24
-46
11
-9
-7
-6
1
14
23
16
21
7
32
-10
12
11
-7
-7
-9
-28
-3
-35
-28
-8
-26
-10
-6
-22
-31
-39
18
-39
-16
-46
20
-28
4
-9
1
-7
3
-8
16
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
-1
50
-3
0
4
-1
0
-2
27
0
0
-2
0
0
15
-22
0
0
34
0
0
14
1
0
0
-8
0
0
0
60
0
0
9
4
0
0
-19
0
0
3
0
-3
0
-9
0
-1
11
0
-2
0
26
0
0
0
0
0
0
-57
0
-1
0
0
0
-6
25
0
11
0
0
0
3
-33
0
0
-2
-2
0
-1
2
0
-2
11
0
0
0
-25
0
0
3
-2
0
0
39
0
-11
0
0
0
3
1
0
0
0
0
0
0
68
0
-3
0
0
3
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
-1
0
0
1
0
0
0
-19
0
0
0
0
0
-2
0
0
0
0
0
0
0
-44
0
0
1
0
0
0
13
0
0
18
0
0
0
-24
0
0
0
0
2
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-40
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
16
0
0
-9
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
1
0
0
0
-25
0
0
0
0
0
7
9
0
-1
0
0
0
-1
-4
0
0
-4
0
0
0
22
0
0
0
0
0
0
-1
0
0
2
0
0
0
1
0
0
0
0
-7
0
59
0
0
0
0
0
0
6
0
0
0
0
0
0
-28
0
2
0
0
0
0
0
0
0
-9
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-21
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
-4
43
0
0
0
0
0
0
20
0
0
-1
0
0
0
-14
0
0
0
0
0
0
-41
0
0
0
0
0
0
-5
0
0
0
0
0
0
-33
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-6
0
-3
0
0
0
0
13
0
0
0
0
0
0
1
0
0
20
0
0
0
23
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-41
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
10
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
25
0
0
20
3
0
18
26
-1
0
6
0
0
0
8
0
1
25
-1
0
-1
53
0
8
1
0
2
0
62
0
0
0
4
0
0
-20
0
0
0
0
0
0
52
0
0
0
0
0
0
4
0
8
0
0
0
0
19
0
0
-6
0
0
-2
-34
0
3
-28
0
0
0
-9
0
0
-33
0
0
-2
24
0
1
9
0
0
0
8
0
0
0
0
0
0
14
0
-6
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-11
-2
0
8
-10
13
-6
41
27
-31
-2
13
-2
-22
-4
3
-12
3
2
7
12
24
18
16
-7
-13
4
0
25
53
32
27
-10
2
1
48
18
6
6
-12
-20
6
0
0
2
-6
2
-11
9
-1
-9
0
0
-9
0
-10
7
43
-3
0
30
3
45
3
9
72
1
10
2
-10
-21
63
33
0
56
-16
34
25
24
71
-15
5
9
7
6
11
-2
7
-20
25
-4
66
40
-42
-2
0
-15
0
-10
28
1
-18
0
8
-19
2
-3
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
25
0
0
0
0
0
1
38
0
0
6
1
0
-2
33
0
0
-4
0
0
6
21
0
0
-20
1
0
-2
-34
0
0
0
0
0
0
59
0
0
2
0
0
0
4
0
0
0
0
0
0
4
-7
9
0
0
0
0
2
2
0
0
0
0
3
-17
0
1
-2
0
0
0
54
0
20
0
0
0
0
-12
0
0
0
0
0
0
-12
0
6
0
0
0
0
57
0
0
2
0
0
0
40
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
-1
-7
0
-2
13
0
0
5
61
0
0
-7
11
0
7
51
0
0
-13
0
0
1
-14
0
0
-7
0
0
12
30
0
0
-7
0
0
0
-12
0
0
0
0
2
0
-40
0
0
0
0
0
0
2
0
0
0
0
0
0
-17
0
3
0
0
0
-2
2
0
0
8
-1
0
1
0
0
-10
4
0
0
16
24
0
0
0
-1
0
0
38
0
0
-10
0
0
0
-25
0
0
13
0
0
0
43
0
0
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
17
2
0
1
0
-2
0
-20
9
0
-9
2
-1
1
34
-15
-1
0
-5
-3
1
-1
25
0
4
-37
-3
-9
-1
1
7
0
-1
0
3
0
15
0
-1
0
6
24
0
41
0
0
0
0
0
0
-9
7
0
0
0
0
0
-21
8
-22
-1
0
0
0
54
-2
-5
0
0
0
-2
49
0
-19
1
1
-1
0
25
0
3
23
3
0
0
30
-3
-5
0
0
-8
0
-19
-7
2
0
-4
3
0
27
0
2
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
0
0
-21
-15
0
0
10
0
0
22
30
0
0
-36
0
0
3
58
0
2
13
0
0
1
-11
0
0
-10
0
3
0
48
0
0
0
0
13
0
59
0
0
0
0
0
0
-30
1
0
0
0
0
18
-2
0
-10
0
0
0
10
-46
0
0
3
0
0
-3
9
0
5
28
0
0
0
-22
0
2
18
0
0
0
1
0
6
1
0
0
0
8
0
0
0
0
0
0
-4
0
1
0
0
3
0
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
4
14
0
0
26
13
0
-4
8
-6
0
21
-33
0
0
19
0
0
-6
6
0
0
-4
1
0
0
15
0
0
6
0
0
0
41
0
0
-1
0
0
0
10
-4
0
0
0
0
0
42
0
0
0
0
0
0
0
0
23
0
0
0
0
40
0
0
-6
0
0
-4
0
0
-1
-1
0
0
-10
-39
0
24
-2
0
0
0
15
0
-1
1
0
0
1
21
0
0
3
0
0
0
-9
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
8
-2
0
-28
51
0
-6
7
-9
-2
49
0
0
25
48
0
-1
1
-8
0
-1
-27
0
4
-26
0
0
0
22
1
0
0
7
0
-8
9
1
0
0
0
4
0
26
-7
2
0
-6
0
0
51
-4
-32
5
0
-1
1
-5
0
-1
-38
-1
0
5
-5
7
-12
-70
0
0
11
22
0
1
2
2
0
0
2
0
42
6
0
-1
0
-55
0
-12
8
0
0
0
18
0
27
0
0
6
0
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
5
17
35
49
14
16
-5
-56
18
-13
15
19
10
33
20
2
25
35
12
-14
14
39
46
36
33
-13
-28
-46
37
-7
-38
17
-4
12
-24
37
4
33
4
-4
22
11
15
34
-5
0
-10
18
15
42
-33
0
18
-27
0
-7
13
-23
-38
0
30
7
11
1
21
12
-11
5
23
89
5
10
-16
-3
-11
16
17
-1
49
-56
38
-25
-13
-6
-27
-43
-47
-12
2
8
-26
35
44
-6
55
-14
-5
5
-60
2
-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
12
0
0
0
0
0
0
42
0
0
-4
0
0
0
65
0
0
-1
0
0
0
30
0
0
0
0
0
0
12
0
0
0
1
0
0
-47
0
0
0
0
0
0
4
2
0
0
0
0
0
1
0
-12
0
0
0
0
2
0
0
1
0
0
0
12
0
3
4
0
0
0
-3
0
0
6
0
0
0
-12
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
3
0
0
2
2
0
0
-45
0
0
35
0
0
0
15
0
0
5
0
0
0
31
0
0
0
0
0
0
67
0
0
0
0
0
0
11
0
0
0
0
0
0
-29
0
0
0
0
0
0
5
0
1
0
0
0
0
12
0
0
-2
0
0
0
-4
0
0
9
0
0
0
51
0
0
0
0
0
-2
17
0
0
0
0
0
0
-4
0
0
0
0
0
0
20
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
70
30
0
0
34
4
0
-10
31
-4
12
-21
1
0
58
15
6
-7
25
8
6
3
48
0
0
22
0
2
5
-34
0
10
9
19
-31
0
7
-3
0
0
0
-12
0
27
6
0
0
0
0
-1
64
1
29
4
0
0
-13
-7
0
55
-38
5
0
10
27
0
0
3
-6
0
-6
-25
0
-2
2
24
0
0
-57
-2
9
-2
-4
0
-15
-17
1
-1
12
-2
2
0
-19
0
-19
-1
0
3
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
3
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
0
-6
0
0
-1
0
0
0
-3
0
0
0
2
-3
0
-10
0
0
0
0
0
0
-3
0
0
0
0
0
0
7
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
0
0
0
0
-1
0
0
0
0
0
0
21
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-54
0
0
1
0
0
-7
2
0
0
-7
0
0
6
13
0
0
6
-1
0
0
-42
0
0
-1
0
0
0
-7
0
0
9
0
0
0
-38
0
0
0
0
0
0
20
0
0
0
0
0
0
-14
0
3
0
0
0
0
23
0
0
0
0
0
0
-28
0
-11
0
0
0
0
12
0
-7
9
0
0
10
17
0
4
-4
0
0
0
-1
0
0
8
0
0
0
-19
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
0
0
0
0
0
0
0
-14
6
2
-11
27
-6
1
-16
-4
-1
-1
4
8
12
-8
17
0
-3
-12
0
-5
-2
25
0
7
44
-21
20
0
24
-9
0
0
-2
0
0
10
8
0
-7
0
0
0
40
0
4
0
0
0
-1
34
-2
48
-70
6
3
1
17
0
51
-9
1
8
-1
23
-1
-16
81
2
0
-2
-23
1
-36
-36
1
0
-4
-25
0
-9
-19
6
0
0
15
0
6
2
0
4
0
36
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
-55
12
-54
22
-5
54
60
-11
7
-20
29
17
-53
-25
11
17
7
39
17
4
12
-25
-19
-53
29
-42
24
-15
-12
0
-46
-21
-9
7
3
18
21
14
93
-2
65
0
-42
15
2
-2
12
-28
41
60
9
50
-25
-15
19
14
-62
0
10
-21
-26
-5
-16
16
-10
-48
39
-40
-38
9
15
-9
-17
28
-30
-1
39
-3
14
-30
43
15
1
41
9
-8
11
37
39
-26
-4
0
11
-12
22
36
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
19
0
0
-1
0
0
0
31
0
0
0
0
0
0
-4
0
0
1
0
0
0
-7
0
0
0
0
0
0
13
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
37
0
0
0
0
0
0
17
0
0
0
0
0
0
16
0
-2
0
0
0
0
8
0
0
0
0
0
0
33
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
61
0
1
8
0
0
0
4
0
0
-1
0
0
0
30
0
0
-3
0
0
0
-25
0
0
3
0
3
0
-15
-1
0
0
0
0
0
11
0
0
0
0
0
0
-35
0
0
0
0
0
1
-12
0
0
0
0
0
-1
21
0
-7
2
0
0
-2
-34
0
0
4
0
0
-1
30
0
9
0
0
0
0
14
0
0
0
0
0
0
27
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
13
-18
-5
29
19
-6
-11
-13
-55
-10
51
16
3
-10
28
-4
12
-42
11
0
29
11
32
-44
0
4
1
0
0
0
0
3
13
-17
2
0
0
0
-32
17
-2
22
-27
18
-1
-6
29
0
31
12
4
0
28
-11
-9
15
4
-11
0
47
18
2
16
44
-13
3
5
-10
2
32
21
8
0
-20
-33
-2
14
13
1
-4
0
7
-1
-11
0
-4
17
0
-8
-9
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-50
6
0
15
0
2
-4
4
0
0
39
-1
2
-8
-9
0
0
3
0
-3
1
-19
0
0
8
0
20
0
-3
-7
0
0
0
0
0
-24
-3
0
0
0
0
0
41
0
-1
3
0
0
-4
18
0
0
-22
0
0
0
-5
0
-1
-12
0
0
6
-35
0
-6
16
7
0
0
41
0
9
-4
0
0
7
-23
0
0
-9
0
0
9
0
0
-25
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-7
0
0
0
3
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
33
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
13
0
-2
0
0
0
0
32
0
0
1
0
0
-1
22
0
10
0
0
0
0
-3
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-6
0
24
28
48
-2
0
-6
0
9
-3
0
2
0
12
0
-6
-4
-1
-9
0
-11
3
0
0
0
0
0
-4
-8
2
2
0
0
0
32
0
55
-7
0
0
2
-9
6
0
3
8
0
8
-4
0
-19
-12
3
1
1
-61
0
4
-41
5
0
-2
44
0
36
-11
0
0
0
13
0
-15
6
-7
3
0
28
0
25
-4
0
-3
0
29
-8
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
-7
-9
46
35
-36
-26
-8
4
-4
26
53
18
31
-8
-21
9
42
-38
-23
49
-21
0
3
9
23
-41
24
-19
15
-36
32
-3
15
22
1
19
20
48
-37
-11
7
-42
39
7
19
-9
32
-38
12
15
19
41
-16
-32
-40
-18
-45
0
20
-26
-24
-32
-2
-4
-3
-21
-13
-16
-33
-48
31
-8
-16
10
9
25
-13
34
17
58
-42
9
-2
-10
1
25
9
-20
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
16
0
-3
7
0
0
-1
7
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
6
0
0
0
0
0
-15
0
0
0
0
0
0
1
0
1
0
0
0
0
9
0
-3
0
0
0
7
-7
0
5
0
0
0
0
9
0
0
-9
0
0
-2
-9
0
3
0
0
0
0
32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
35
-10
0
1
29
0
0
-9
0
0
-4
22
0
0
1
0
0
0
16
0
0
0
0
0
0
-14
0
0
0
0
0
0
-29
0
-6
-7
0
0
0
-34
0
0
3
0
0
16
-23
0
-2
-6
0
0
-4
39
0
0
3
0
0
0
-4
0
3
0
0
0
0
-6
0
0
0
0
0
0
-46
0
1
4
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-7
31
-21
0
36
15
0
5
17
0
21
-1
7
0
-11
-7
27
-30
0
-8
0
30
0
0
0
0
3
-33
0
0
-3
0
-3
13
0
-36
19
-2
3
-19
17
15
78
-22
34
-1
14
4
-1
-3
11
10
0
19
-32
10
7
-6
0
0
0
-18
0
40
20
0
0
-6
-7
4
0
9
-3
-1
0
14
0
-7
2
0
14
0
44
-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
15
0
0
0
-13
0
0
0
0
0
0
40
0
0
-4
0
-3
0
-25
0
0
0
0
0
0
11
0
0
0
0
0
0
24
0
-2
0
0
0
-1
-14
0
-2
0
0
0
0
-25
0
0
0
0
0
0
54
0
0
3
0
0
0
2
0
1
0
0
0
0
-7
0
0
0
0
0
0
-11
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
23
0
0
14
1
0
0
-5
0
-1
0
0
0
0
-18
0
0
0
0
0
0
-11
0
0
0
0
0
0
16
0
0
0
0
0
0
2
0
0
0
0
0
0
42
0
0
0
0
0
0
13
0
9
1
0
0
0
6
0
0
2
0
0
0
-39
0
9
0
0
0
0
0
0
0
-2
0
0
0
-14
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-37
0
2
0
17
-1
0
2
7
6
0
3
3
0
0
0
0
0
5
0
0
0
-1
0
0
2
0
-7
-6
0
0
-7
-13
0
0
4
-1
0
-2
32
2
-10
8
0
0
0
45
0
-1
-5
19
0
10
16
0
-40
3
0
0
0
-22
-1
0
28
2
0
0
-17
0
-32
4
0
-1
0
-32
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
33
9
-40
17
24
-2
-47
44
19
-37
0
5
-17
18
-6
-8
-26
1
0
17
18
-3
-16
0
18
-9
29
-25
-24
-2
14
-3
-1
-6
5
-20
2
-2
67
-5
2
-19
40
1
0
3
4
-3
43
66
43
20
-9
0
23
3
-23
-18
-2
-1
10
-8
63
28
-8
52
2
7
1
-26
5
-6
-8
0
31
-38
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
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
-23
0
0
0
0
0
0
2
0
0
1
0
0
0
3
0
0
4
0
0
0
1
0
4
0
0
0
0
-3
0
0
0
0
0
0
40
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
2
0
7
0
0
0
0
26
0
0
0
0
0
0
15
0
0
0
0
0
0
21
0
1
-2
0
0
0
-12
0
0
13
0
0
0
-13
0
0
6
-6
0
0
-6
0
0
8
0
0
-3
44
0
6
0
0
0
4
11
0
0
0
0
0
0
-12
0
-2
0
0
1
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
17
0
-8
39
-9
11
0
0
0
6
0
-18
27
0
5
6
0
0
0
-1
0
25
13
-1
0
0
0
2
-2
-1
23
6
0
0
22
5
0
6
2
-20
4
9
2
0
-29
39
14
-10
50
-12
3
11
-2
3
0
3
-6
0
-27
26
-1
0
-3
-17
0
-1
-4
-4
0
0
-6
-3
-10
0
0
-1
0
43
45
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
0
-1
-23
0
-1
0
27
0
0
-2
0
-4
0
21
0
0
0
0
0
1
13
0
0
0
0
0
0
7
-2
39
-7
0
0
-6
6
6
1
0
0
0
6
48
0
19
36
0
0
0
7
0
0
2
0
0
-4
34
0
53
3
0
0
-9
-11
2
0
2
0
1
0
-25
0
8
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
13
0
0
-6
0
0
0
9
0
0
10
0
0
0
49
0
0
0
0
0
0
13
0
0
0
0
0
0
75
0
0
0
0
0
1
5
0
0
0
0
0
0
39
0
0
0
0
0
-8
4
0
0
-8
2
0
0
8
0
-3
-7
0
0
0
3
0
0
0
0
0
0
33
0
1
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
0
-6
3
0
-22
-4
0
0
0
0
0
-1
-1
0
0
0
0
0
-18
0
-4
-7
0
0
0
-1
0
0
-2
0
0
-2
-8
0
8
7
0
0
0
63
0
0
-4
0
0
0
-7
0
-9
-8
15
0
0
36
0
-10
0
-4
0
0
27
0
7
0
0
0
0
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
-28
22
-7
-36
51
-38
10
-7
9
-36
6
15
-23
-51
31
-4
-12
35
26
25
1
38
-20
-16
31
0
-4
20
-9
10
-13
-13
-28
-20
1
35
2
-29
10
14
-15
6
-18
15
9
-10
-24
5
26
80
7
15
29
23
-22
-1
60
0
-5
-54
14
-26
-1
-1
-21
-19
-31
-33
1
31
0
-15
-18
-48
5
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
16
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
6
0
0
0
0
-10
0
0
0
0
0
0
27
0
2
0
0
0
0
65
0
0
0
1
0
0
1
0
0
-2
0
0
0
2
0
0
0
0
0
0
-22
0
1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
-2
0
1
-3
0
-7
0
0
0
0
3
0
-18
0
0
-3
-8
0
3
-75
0
17
-6
0
0
-2
18
0
-3
-1
8
0
-1
8
0
-21
-12
0
0
18
58
0
36
-4
20
0
-3
-30
0
5
-3
-3
0
0
-29
0
0
0
-3
0
0
-28
0
11
0
0
0
0
12
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-13
0
0
0
0
0
0
-10
0
0
0
0
0
0
25
0
9
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
5
0
1
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
-2
0
0
0
0
0
0
-13
0
0
0
0
0
0
38
0
-1
-1
0
0
-1
35
0
1
0
-2
0
0
5
0
6
7
-3
0
0
9
0
0
-7
0
0
0
-2
0
28
-7
0
0
2
-9
0
0
2
2
0
0
-30
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
19
0
0
0
0
0
0
58
0
0
0
0
0
0
4
0
0
-1
0
0
0
40
0
0
-1
0
0
-4
4
0
0
-4
0
0
0
-15
0
0
0
0
0
0
-2
0
0
0
0
0
0
33
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
-12
-8
0
0
-32
-10
0
-17
18
15
-2
-8
0
-18
-28
36
47
30
6
-1
26
-4
6
-44
10
-5
-3
19
17
16
28
56
25
0
2
-42
6
62
-17
-29
16
34
6
1
-28
12
-10
-10
46
13
-1
-8
-12
-8
0
10
0
24
24
-10
-2
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
14
0
0
0
0
0
0
44
0
2
0
0
0
0
-8
0
0
0
0
0
0
-27
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
0
0
0
0
-13
0
-7
1
0
0
2
0
0
0
0
0
0
-1
50
0
0
5
0
0
0
44
0
0
0
4
0
0
-7
0
0
0
0
0
-1
-8
0
0
0
0
0
0
8
0
0
-1
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-2
0
0
0
0
0
-23
0
0
0
0
0
0
9
0
2
0
0
-2
0
42
0
0
-4
-3
0
0
0
0
11
17
0
0
-2
68
0
-2
4
2
0
0
-41
0
-16
1
0
0
-6
-2
0
2
0
0
0
0
-3
1
-14
0
0
0
0
-26
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
27
0
-9
-4
0
0
0
-10
0
0
0
0
0
0
27
0
45
-1
0
0
0
53
0
0
0
0
0
0
43
0
44
-18
0
0
0
4
0
0
0
0
0
0
10
0
3
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
29
0
0
0
0
0
0
-12
0
0
1
-2
0
0
10
0
2
2
0
0
6
49
0
0
-1
0
0
0
-7
0
-26
-4
0
0
7
41
0
-7
0
0
0
0
47
0
7
31
0
0
2
19
0
0
2
0
0
0
-29
0
-4
0
0
0
0
-18
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
-1
0
0
0
-2
0
0
0
0
0
0
-2
0
1
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
19
-22
0
-7
-16
0
-15
9
9
-4
-12
74
25
4
11
19
39
37
-8
-19
-27
-2
-8
15
4
12
-14
21
-1
6
44
25
60
12
-23
-5
1
-7
-7
6
-23
5
11
29
-6
30
11
1
-10
6
-21
9
-10
7
-48
0
0
3
18
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
-1
0
0
0
0
0
0
-38
0
2
-2
0
0
0
-7
0
0
-13
0
0
9
8
0
0
0
0
0
-1
18
0
0
-9
0
0
12
0
0
-13
0
0
0
0
-25
0
0
0
0
0
0
-23
0
-2
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
-2
0
0
0
0
0
2
17
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-2
0
0
0
0
0
0
4
0
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
12
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-8
0
0
0
0
0
0
5
0
-1
-13
0
0
0
-4
0
3
0
0
0
0
-13
0
0
0
0
0
0
-20
0
0
1
0
0
0
2
0
0
-6
0
0
0
17
0
-11
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
1
0
0
0
0
0
0
4
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
14
-2
-1
-22
14
-23
8
-9
-38
-3
3
-35
2
-3
-31
-20
-1
0
69
-9
8
-9
13
26
2
-56
-24
0
14
47
-12
0
3
-26
0
2
26
14
7
-1
4
4
-9
1
2
7
0
-24
-7
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
-11
0
-7
-1
0
0
0
3
0
0
-3
0
0
0
8
0
17
1
0
0
0
0
0
10
0
-1
0
0
20
0
0
0
0
0
0
-19
0
0
0
0
0
0
-35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
-1
0
0
0
-2
4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
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
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
10
0
0
0
0
0
0
-9
0
0
0
0
0
0
17
0
0
11
0
0
0
1
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
3
-8
0
-1
15
0
-13
-1
0
0
0
-1
0
0
-6
0
0
0
19
0
0
7
0
0
0
-10
0
0
2
0
0
0
-58
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
14
0
46
-6
4
-45
68
19
0
76
17
-1
25
38
5
-2
5
1
-3
-43
-2
-3
6
51
41
0
-28
-29
-17
0
0
-16
1
55
-18
2
10
-1
-21
-21
-1
2
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
36
0
0
-4
0
0
0
-2
0
0
0
0
0
0
-25
0
0
-1
0
0
0
9
0
-16
0
0
0
0
12
0
0
-1
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
7
-17
7
7
14
2
0
0
-10
4
25
-15
2
0
-19
-56
0
6
68
-18
0
-1
-11
0
34
15
9
0
-10
37
0
-6
8
0
-3
0
15
0
11
0
0
-6
0
13
-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
74
0
0
-6
1
0
0
-30
0
17
-10
0
0
0
0
0
-8
11
4
0
0
3
0
6
1
0
0
0
30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
-10
0
0
-15
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
10
0
0
0
0
0
0
16
0
0
0
0
0
0
9
0
0
8
0
0
0
-2
0
0
0
0
0
0
19
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
3
0
0
0
-13
0
0
-1
0
0
0
4
0
2
-6
0
0
0
-9
0
0
0
0
0
0
-4
0
4
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
-7
-14
1
-16
19
1
16
10
-4
37
3
-1
5
-16
36
-6
-55
-3
15
6
15
-5
0
-15
49
20
5
8
25
-46
5
-8
1
-50
0
7
-45
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
-33
0
7
-2
0
0
0
-1
0
0
7
0
0
0
49
0
0
3
0
0
0
17
0
0
0
0
0
0
-25
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
6
33
0
6
0
8
0
0
-30
0
0
-1
8
0
0
13
0
3
0
1
0
0
9
0
0
-8
0
0
0
33
0
1
1
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-39
1
-11
10
-3
0
2
4
1
4
6
1
0
0
16
0
13
-11
-1
-3
0
41
2
0
-1
0
0
0
20
0
31
1
0
0
0
26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
5
0
0
-2
60
0
0
8
0
0
0
-8
0
-2
-2
0
0
0
-73
0
0
-2
0
0
0
36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-9
0
0
0
-1
0
0
0
0
0
0
-6
0
0
-1
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
4
8
-1
0
-12
53
0
2
-1
0
0
0
32
0
-2
1
-4
0
0
6
0
8
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-12
9
-19
-19
26
-6
6
-24
12
31
19
9
-2
-4
9
1
35
-17
42
-16
15
-2
-32
-15
-5
-4
5
-2
11
-51
-32
-13
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
6
0
0
4
0
0
0
-1
0
0
3
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
3
5
34
-16
0
0
27
0
9
-6
4
0
0
-42
0
0
-8
1
0
0
3
0
11
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
18
4
0
40
-2
35
0
0
0
6
-2
0
-14
-3
0
0
0
20
0
-5
0
0
9
0
-24
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
9
0
0
0
1
0
-1
0
0
0
0
-8
0
0
0
0
0
0
-34
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
1
0
1
0
0
0
0
-7
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-13
0
0
0
0
5
0
0
0
0
0
0
30
0
-29
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
26
15
-7
-7
35
0
0
-52
7
-6
-76
28
-1
32
0
-1
0
-8
-12
-13
-3
-3
-11
45
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
41
0
0
0
0
0
0
24
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-3
1
0
0
43
0
0
3
0
0
0
19
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
-2
-23
0
-1
0
11
0
-1
3
0
-1
8
0
3
8
27
0
23
2
0
0
0
28
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
-11
13
0
-9
-12
0
2
0
2
0
3
-1
0
0
0
39
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
3
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-4
0
0
0
-6
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-6
-9
24
3
7
-2
1
5
-6
0
32
0
-27
-15
19
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-6
3
6
0
-13
0
0
-1
0
7
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
45
0
6
0
2
0
0
17
0
2
0
0
-4
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
19
50
1
0
16
-20
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
4
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
8
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
0
2
2
0
0
-92
-25
8
-12
-4
8
-19
-9
79
-21
-12
-13
-37
28
-28
20
20
19
19
-55
8
0
30
56
-25
49
55
46
-3
27
4
-14
31
-9
5
8
-21
25
-1
2
0
14
0
7
-14
0
0
0
22
0
-2
0
-3
5
0
33
10
17
0
1
-12
-3
16
-9
-46
-2
27
-13
35
59
-59
-6
19
3
9
11
-23
1
7
12
5
32
22
7
50
6
13
-2
17
5
-12
-25
-5
22
-22
-15
16
31
8
-2
-12
-1
15
-44
-2
0
-17
-6
0
-14
-2
-53
-1
-2
0
-31
1
22
-3
-6
-10
4
-4
-5
-3
23
12
-35
0
-8
-8
17
-3
-63
5
-16
6
-10
19
16
0
0
0
0
0
0
0
-39
-9
-5
12
-7
24
13
48
23
-2
-13
-5
2
13
-52
-25
7
24
45
-3
-1
0
-9
12
-31
0
59
-20
-3
-9
0
-8
-4
-2
29
-13
0
-28
38
62
14
10
-1
-2
-11
29
-3
-24
30
50
-3
-15
31
-5
-43
4
-15
-13
29
-43
8
27
36
-8
-8
37
-4
7
25
45
22
-9
35
15
-30
-36
-24
-18
-4
-16
8
22
-35
0
5
-19
8
-24
4
-18
8
1
14
0
-7
17
4
-2
-25
-4
36
-7
59
22
42
15
-3
2
34
12
9
-8
2
-9
23
-25
12
57
10
-20
1
-15
11
-24
26
45
27
14
6
-16
-20
14
-5
52
-1
1
27
20
56
1
-10
21
0
-14
-10
38
15
0
-13
26
-15
14
52
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
94
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-7
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
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
-2
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-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
-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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-10
0
6
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
31
0
0
0
0
0
-3
-9
0
0
0
0
0
0
3
0
0
-7
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
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
7
0
-6
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-8
0
6
-4
38
64
-9
0
3
-2
2
-8
45
24
21
-1
57
17
24
3
-17
20
0
11
6
10
14
7
31
-4
12
-15
-9
15
-6
2
4
2
1
0
-8
0
6
-4
0
0
0
-3
0
44
33
-3
3
0
3
-41
15
0
-1
-8
0
24
10
0
0
19
9
0
28
-12
59
3
18
9
19
20
5
-28
-4
19
-14
-12
27
-49
46
-9
-36
21
-5
9
23
14
1
0
-23
15
59
-17
13
0
0
-29
-4
-34
0
-8
25
0
0
0
2
0
10
-15
0
9
14
0
-44
12
0
-1
4
0
0
35
-53
1
0
13
34
0
10
-2
-6
0
13
10
1
0
0
0
0
0
0
0
-11
17
7
37
18
11
-3
-2
-20
-2
5
5
-19
2
-10
8
15
0
24
0
30
0
-20
-1
18
1
2
-9
0
-17
20
-4
4
4
-4
18
-34
0
-14
-10
-28
-19
-5
-3
-3
8
32
-2
17
4
9
0
17
-26
86
-5
4
2
-3
-26
25
-33
-3
-10
-13
-10
-95
3
19
16
13
-13
23
19
18
-1
-21
9
17
-12
4
-16
-9
23
2
-33
4
-3
0
-5
22
0
35
-3
-1
1
6
-1
2
12
-2
-16
1
2
-5
-34
-6
-4
26
-12
36
-2
4
14
8
-23
34
2
4
36
8
4
-3
-4
-51
10
-4
-13
0
21
-21
2
1
35
-17
17
54
-19
-16
12
-3
28
2
13
23
25
-24
0
-20
-23
2
6
-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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
47
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
1
0
0
0
0
0
0
17
0
0
0
1
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
1
0
0
0
0
0
1
0
3
0
0
0
0
-3
0
0
-9
0
0
0
0
0
23
-2
0
0
4
4
0
0
27
0
0
0
0
0
0
0
0
0
-9
7
0
0
22
0
0
0
7
0
-40
0
0
0
0
-41
0
0
0
0
0
0
19
0
0
0
0
0
0
33
0
0
0
0
0
0
21
0
0
1
0
0
0
-11
0
0
8
0
0
0
19
0
0
17
0
0
0
11
0
0
-1
0
0
1
-32
0
0
0
0
0
0
32
0
0
-2
0
0
0
30
0
0
0
0
0
0
9
0
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
1
0
0
0
0
-13
0
0
0
0
0
0
13
0
-1
0
0
0
0
17
0
-1
0
0
0
0
12
0
7
-3
0
0
0
24
0
0
0
0
0
0
9
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
11
0
0
-4
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
4
-1
0
0
-2
0
0
3
0
0
0
0
0
1
0
0
0
0
-9
0
0
-2
0
0
0
8
0
0
5
1
0
0
7
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
6
0
-1
0
0
0
0
0
0
11
0
0
0
0
0
0
2
0
-32
-7
0
0
-3
42
0
0
2
0
0
0
0
0
0
0
0
0
-7
10
0
-1
16
0
0
0
-21
0
7
-3
0
0
3
-19
0
0
0
0
0
0
23
1
2
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
7
0
-1
1
0
0
0
0
0
2
-3
0
0
0
4
0
0
-9
0
0
1
-1
0
0
-1
2
0
0
11
0
0
0
0
0
0
24
0
0
0
-2
-4
0
-22
0
0
0
0
0
0
17
-1
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
0
0
4
0
0
0
22
-1
10
6
-1
0
0
-3
0
0
0
0
0
0
-17
0
0
-3
0
0
0
-24
0
-3
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-6
0
0
-1
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
-1
-7
0
24
0
0
0
0
0
0
0
0
0
0
4
0
0
-10
0
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-18
0
0
0
0
0
5
0
0
3
0
0
0
5
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
-7
0
0
3
15
0
-17
0
0
0
0
6
0
0
0
0
0
0
1
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
43
0
0
0
-2
0
0
38
0
0
-18
0
0
0
19
0
1
3
0
0
0
-14
0
0
0
0
0
0
-17
0
0
0
0
0
0
3
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
-7
0
-3
1
0
0
0
12
0
0
7
7
0
0
-12
0
4
0
0
0
0
0
0
-2
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
8
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
0
0
-3
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-3
0
0
0
0
0
11
0
0
0
0
0
0
11
0
0
0
0
0
0
-13
0
0
0
0
0
0
-15
0
0
0
0
0
0
-19
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
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
-10
0
0
0
0
-17
-9
12
1
0
0
-1
0
0
-16
0
0
-7
0
0
0
11
0
0
0
-18
0
-1
0
0
0
8
0
0
2
0
0
12
0
0
0
0
0
0
-1
0
0
0
0
0
-6
0
0
0
19
0
2
1
0
0
0
0
0
-1
1
0
0
7
-1
0
25
3
-1
-2
-7
0
1
2
-9
0
0
39
0
0
-26
1
0
0
-15
0
0
0
16
0
0
0
0
18
0
0
0
0
0
0
0
0
13
0
0
0
-2
0
3
12
0
0
0
0
0
2
1
-3
13
0
2
0
-5
-14
0
3
7
0
0
0
0
0
0
0
0
0
-5
17
0
0
-12
0
0
-1
-28
0
15
4
3
0
0
20
0
0
0
0
2
0
-1
0
1
0
0
0
0
-23
0
0
0
0
0
0
-3
0
0
-1
-1
-3
2
1
0
0
0
0
4
-14
-7
0
-6
0
-12
8
-1
5
4
-1
0
-6
0
26
2
0
0
8
3
-3
-1
49
0
0
-4
0
2
0
13
-1
0
0
-1
-18
0
29
0
0
0
0
0
0
-17
0
0
0
0
0
0
-35
2
11
1
0
0
0
-27
0
0
3
0
0
0
10
0
0
4
0
0
0
-13
-1
-16
10
0
0
3
1
0
-53
1
0
0
1
-14
0
-6
4
0
0
0
-50
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
-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
11
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
26
0
0
0
1
0
0
3
0
0
0
-1
0
0
16
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
6
0
0
0
0
0
14
0
0
0
0
0
0
-38
0
0
3
0
0
0
0
0
-9
6
0
0
-3
31
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
7
0
0
0
16
0
-20
0
0
0
0
2
0
0
0
0
3
0
-40
0
0
0
0
0
0
56
0
0
0
0
0
0
12
0
0
0
0
0
0
4
0
0
-3
0
-3
0
37
0
0
1
0
0
-1
8
0
0
-3
0
0
0
-13
0
0
0
0
0
0
-31
0
0
3
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
25
0
0
0
0
0
0
27
0
0
-3
0
0
0
16
0
0
-2
0
0
0
14
0
1
0
0
0
0
9
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-5
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
0
-8
0
0
0
1
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-4
0
0
-3
-9
0
-3
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
11
0
0
0
0
0
0
11
0
0
0
0
0
-9
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-6
0
0
0
-40
0
0
7
0
0
0
51
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
-2
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
-4
0
0
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
17
0
4
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-7
0
0
0
-20
0
0
-2
0
0
0
6
1
0
0
8
0
0
1
0
0
41
0
0
0
0
0
22
0
0
0
0
0
0
1
0
0
0
0
0
7
0
0
-12
20
-2
-6
-2
0
0
-59
1
-9
2
4
0
0
-31
0
43
41
-10
0
0
-1
-1
28
33
0
0
0
-14
0
2
4
2
0
0
15
3
-2
0
1
0
0
0
2
-16
0
0
0
0
0
0
2
0
-4
0
0
0
2
0
0
10
0
0
3
0
0
7
16
-12
-24
-35
0
0
3
-30
0
-1
5
2
0
0
0
0
0
0
0
0
-9
40
0
0
-19
0
0
1
11
0
43
21
0
0
0
18
0
0
2
0
0
0
-12
4
0
0
0
0
0
-6
2
0
0
0
0
3
-2
0
-2
-4
-2
0
0
25
0
0
-7
0
-7
-3
-3
-1
-7
61
6
1
-2
2
0
0
-4
-2
0
-6
-7
0
2
21
-7
-2
7
33
0
-1
2
0
0
0
22
0
0
0
1
7
0
46
0
0
0
0
0
0
17
0
1
0
-2
0
0
-15
0
7
1
0
0
3
17
0
6
10
-12
0
-2
4
0
-21
17
0
0
0
8
0
0
6
-5
0
0
19
0
-2
-6
-1
0
0
23
0
0
10
0
0
0
-9
0
-10
1
0
-11
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
5
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
0
1
0
0
3
0
0
0
-9
0
1
0
0
0
0
5
0
0
0
0
0
0
15
0
0
0
0
0
0
7
0
0
0
0
0
0
8
0
0
0
0
0
0
15
0
0
0
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
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
12
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-6
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
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
23
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
8
0
0
0
0
0
-4
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
4
0
0
0
0
0
-1
1
0
0
0
0
0
-1
6
0
0
0
0
0
7
48
0
0
-3
0
0
0
14
0
0
0
0
0
0
44
0
0
1
0
0
0
-9
0
0
0
0
0
0
13
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
2
0
0
0
0
1
0
0
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-2
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-2
-13
0
0
1
-13
0
0
-2
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
0
0
41
0
0
0
0
0
0
27
0
0
0
0
0
0
-43
0
0
1
0
0
0
-9
0
0
0
0
0
0
14
0
0
0
0
0
0
-1
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-6
0
0
0
0
-7
0
0
0
0
0
0
-1
0
-10
0
0
0
0
-9
0
0
0
0
0
0
8
0
0
0
0
0
0
-7
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
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
-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
-37
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-47
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-86
0
0
0
0
0
0
22
0
0
0
0
0
0
-21
0
0
0
0
0
0
25
0
0
0
0
0
0
2
0
0
0
0
0
0
23
0
0
0
0
0
0
6
0
0
0
0
0
0
-25
0
0
0
0
0
0
-30
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
20
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
-1
0
27
0
0
0
1
0
0
2
0
0
0
0
0
0
19
0
0
0
-15
0
0
-1
0
0
0
0
0
0
4
0
0
0
4
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
-4
0
0
15
7
0
0
-3
27
0
0
-1
0
0
0
0
0
0
0
0
0
-6
-8
0
3
-11
0
0
0
27
0
9
-1
0
0
0
7
0
0
0
0
0
0
24
0
0
0
0
0
0
23
0
0
0
0
0
0
24
0
0
-1
0
0
-1
6
0
0
0
0
0
4
-19
0
0
-2
0
0
-8
16
0
0
6
0
0
0
-16
0
0
-3
0
0
0
26
0
1
0
0
0
0
48
0
0
0
0
0
0
27
0
0
0
0
0
0
-2
0
0
0
0
0
0
18
0
2
0
0
0
0
-5
0
0
0
0
0
0
2
0
-9
0
0
0
0
-8
0
-6
-1
0
0
0
38
0
-2
0
0
0
0
3
0
0
0
0
0
0
-23
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
9
0
0
0
0
0
31
0
0
0
0
0
-3
0
0
0
0
0
1
0
0
0
-1
3
0
15
-2
0
0
7
0
0
2
1
0
0
24
3
0
14
-8
0
0
4
-10
-6
4
0
10
0
-2
0
0
11
0
0
2
11
0
0
0
1
0
0
0
0
-4
0
-1
-2
0
0
0
1
0
-5
-1
0
0
0
0
0
-4
0
0
0
0
0
1
-25
-1
19
-1
-7
0
0
-4
-2
3
27
-4
0
0
0
0
0
0
0
0
-9
35
0
2
-13
0
0
0
-3
-1
-13
-16
0
0
0
29
2
0
0
0
-8
0
-13
0
0
0
0
0
0
53
-2
0
0
0
0
0
-68
-6
0
-4
0
0
-9
-7
0
-2
2
0
0
-2
-70
-1
0
-7
0
0
0
-37
-1
0
-6
0
0
0
8
0
0
19
0
0
0
46
0
2
8
0
0
0
-27
-2
3
0
0
-1
0
-2
0
0
0
0
0
0
-7
-1
0
0
0
0
0
3
0
-13
0
0
0
0
-9
0
-2
-1
0
0
0
-37
-1
-4
-4
0
0
-4
-38
3
0
-10
-11
0
7
-32
-2
5
-7
0
0
0
-53
0
-3
0
0
0
0
-25
0
-1
0
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
1
0
0
-15
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
1
0
0
0
0
0
-23
0
0
0
-1
0
0
0
0
0
0
0
0
0
-7
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-8
17
0
0
0
0
0
2
2
0
7
-9
0
0
4
6
0
0
-2
0
0
0
0
0
0
0
0
0
-6
-18
0
0
0
0
0
3
3
0
26
1
0
0
0
-21
0
0
0
0
0
0
-18
0
0
0
0
0
0
2
0
0
0
0
0
0
12
0
0
0
1
0
-1
26
0
0
0
0
0
1
-10
0
1
-3
0
0
4
0
1
0
15
1
0
1
20
0
0
-4
-6
0
0
-60
0
0
-1
0
0
0
-3
0
0
0
4
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
-1
0
0
0
0
2
0
0
0
0
0
0
5
0
12
0
0
0
0
0
0
-2
0
1
0
4
14
0
0
-12
0
0
0
-4
0
0
1
0
0
0
-15
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-15
0
0
0
0
0
-22
0
0
0
0
0
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
-8
0
0
0
0
0
0
-7
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
24
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
3
0
0
0
2
21
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-6
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
1
0
0
0
5
0
0
0
0
0
0
3
0
0
4
0
0
0
-25
0
0
0
0
0
0
6
0
0
-2
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
-3
0
0
0
0
0
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
6
0
0
28
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
0
0
12
0
0
0
0
0
0
2
0
0
0
0
2
0
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
0
0
1
0
0
5
0
0
0
-1
21
0
0
10
0
0
0
0
0
0
0
0
0
-1
8
0
0
8
0
0
0
-22
0
-8
0
0
0
0
7
0
0
0
0
0
0
-45
0
0
0
0
0
0
3
0
0
0
0
0
0
22
0
0
0
0
0
0
-4
0
0
1
0
0
1
-8
0
0
-2
0
0
0
27
0
0
0
0
0
0
2
0
0
-2
0
0
0
-9
0
0
0
0
0
0
-3
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
9
0
0
0
0
0
0
-3
0
-6
0
0
0
0
11
0
0
0
0
0
0
11
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
5
0
0
1
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
-2
0
0
-2
0
0
0
0
0
-39
9
0
0
0
0
-3
3
0
0
0
0
0
0
-3
0
-10
10
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
0
0
0
0
0
0
4
0
4
0
-1
0
-2
2
0
0
0
0
0
0
-12
-2
0
0
0
0
0
26
0
0
0
0
0
0
-16
0
0
0
0
0
0
28
0
0
0
0
0
0
-5
0
0
0
0
0
0
-6
0
0
-1
0
0
0
30
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
0
0
-1
0
0
0
12
0
0
0
0
0
0
43
0
0
0
0
0
0
-3
0
-2
0
0
0
0
10
0
0
0
0
0
0
-32
0
1
-3
0
0
0
13
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
4
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-36
0
0
6
0
0
0
0
0
-3
0
0
0
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
13
0
0
0
18
0
5
0
0
0
0
-14
0
0
0
0
0
0
-12
0
0
0
0
0
0
-27
0
0
0
0
0
0
-3
0
0
0
0
0
0
24
0
0
0
0
0
3
-19
0
0
0
0
0
-6
-5
0
0
0
0
0
0
-8
0
0
-3
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
17
0
0
0
0
0
0
-5
0
0
9
0
0
0
4
0
0
0
0
0
0
-10
0
0
0
0
0
0
38
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-8
0
0
0
0
-3
0
25
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
13
2
0
0
0
0
0
-22
0
0
0
0
0
7
0
0
0
3
0
0
-15
-15
0
0
12
0
0
0
0
0
0
0
0
0
3
-61
0
0
27
0
0
0
-5
0
64
0
0
0
0
15
0
0
0
0
0
0
-2
0
0
0
0
0
0
33
0
0
0
0
0
0
12
0
0
0
0
0
2
3
0
0
0
0
0
0
40
0
0
-2
0
0
0
25
0
0
-2
0
0
0
23
0
-8
5
0
0
0
26
0
-1
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
9
0
0
0
0
0
0
24
0
0
0
0
0
0
31
0
0
-1
0
0
0
-29
0
0
4
0
0
0
-7
0
-8
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-1
30
2
-1
0
0
1
17
0
0
-8
0
0
-4
0
0
0
0
0
-6
-35
0
0
0
1
11
24
-2
0
23
27
-4
34
10
0
0
30
0
1
-20
13
0
-11
-30
1
-15
51
-35
-4
2
23
-2
49
0
9
-6
-2
-25
0
18
0
-2
2
3
16
-1
1
0
-3
-1
0
-7
0
10
0
-7
53
0
0
0
-3
0
4
-3
9
4
-12
0
4
34
0
0
5
0
0
-37
31
9
-10
30
-19
0
10
28
0
3
2
0
1
0
0
0
0
0
0
0
-55
15
0
-6
31
0
0
0
-3
0
-38
-3
6
0
2
5
0
0
8
-1
-2
0
23
-3
-21
0
0
0
0
-11
0
0
1
-4
2
0
15
0
1
8
3
-5
7
-7
-3
-6
-14
0
0
-44
4
0
4
37
26
1
16
-21
-1
1
15
2
-4
42
-6
-5
37
36
4
-15
-1
-21
-1
-1
3
0
-10
0
-2
-4
3
7
-2
-21
0
-6
13
4
0
4
6
0
2
0
0
0
0
0
0
-22
0
22
-7
0
0
2
-15
6
0
-9
45
2
-2
45
1
-3
19
0
1
-23
8
-2
3
7
3
3
-6
-60
-2
-32
-2
0
0
3
-42
4
-8
3
-1
0
0
-42
3
27
-1
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
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
9
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
11
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
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
1
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
3
0
0
0
0
0
0
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
17
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
-12
0
0
0
0
0
0
-6
0
0
-1
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
2
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-32
0
0
0
0
0
7
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
8
9
0
0
-1
0
0
0
0
0
-19
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
0
0
0
28
0
0
0
0
0
0
-2
0
0
0
0
0
0
13
0
0
0
0
0
0
23
0
0
-1
0
0
0
32
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
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
28
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
16
0
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
-4
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-3
0
0
0
0
0
0
0
3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
1
0
0
0
-2
-2
0
0
4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
54
0
-9
0
0
0
0
-14
0
0
0
0
0
0
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
44
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
-34
0
0
0
0
0
0
-3
0
0
0
0
0
0
30
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
6
0
0
-3
0
0
-1
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
-1
0
0
0
0
-1
0
0
0
0
0
0
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
5
0
0
0
0
0
0
3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-17
0
0
0
0
0
4
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
5
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
-7
0
0
0
0
0
0
-20
0
0
3
0
0
-1
0
0
-8
-2
0
0
-4
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
-7
0
0
5
0
0
0
3
0
3
0
0
0
0
1
0
0
0
0
0
0
7
0
0
0
0
0
0
17
0
0
0
0
0
0
-26
0
0
0
0
0
3
12
0
0
0
0
0
0
65
0
0
8
0
0
0
-30
0
0
-17
0
0
-3
7
0
0
-2
4
0
0
-8
0
0
0
0
0
0
-5
0
0
0
0
0
0
20
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
3
0
0
0
0
29
0
0
0
0
0
0
-7
0
6
0
0
0
0
23
0
3
-3
0
0
0
-9
0
1
0
0
0
0
-6
0
0
0
0
0
0
-17
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-8
0
16
0
0
0
0
0
0
0
1
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
38
0
0
-1
0
0
0
0
0
5
9
0
0
-18
30
0
0
-1
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
13
0
7
4
0
0
0
5
0
0
1
0
0
0
46
-1
0
0
0
0
0
-11
0
0
0
0
0
0
3
0
0
0
0
0
0
-25
0
0
0
0
0
0
6
0
0
-1
7
0
1
-35
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
7
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
38
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
3
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
35
0
0
0
0
0
0
-10
0
0
0
0
0
0
-9
0
0
0
0
0
0
-16
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
12
2
0
0
0
-15
0
0
0
0
0
0
16
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
5
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
1
0
0
0
0
0
0
0
0
0
0
14
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
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
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
-11
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
10
0
0
0
0
0
0
9
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
1
0
0
0
-14
-1
0
3
-4
0
0
-6
0
0
13
6
0
0
-4
0
0
3
-1
0
0
-9
0
11
6
0
0
0
0
0
0
-18
0
0
0
0
0
0
6
19
0
0
0
0
9
0
0
0
0
0
0
0
0
-18
0
0
0
-2
0
3
-21
0
0
0
0
0
-9
0
0
-14
2
-1
0
6
-14
0
0
15
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
3
14
0
27
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
28
0
0
0
0
0
0
-2
0
0
0
-1
0
0
-28
0
0
0
0
1
-4
54
-1
0
11
0
0
0
38
0
0
0
-7
0
-1
29
0
0
0
0
0
0
-22
0
0
0
0
0
0
13
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
25
0
0
0
0
0
0
28
0
0
3
0
0
0
-18
0
-8
0
0
0
0
-4
0
-1
-2
0
0
0
-6
0
0
0
0
0
0
-11
0
0
0
0
0
0
27
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-7
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
-9
0
0
0
0
0
0
-1
0
6
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
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
2
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
16
0
0
0
0
0
0
4
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
-10
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
10
0
4
0
0
0
0
0
0
0
0
0
0
0
-4
0
-28
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
1
0
0
0
0
0
0
-11
0
0
0
0
0
3
0
0
19
11
0
0
-2
-24
0
0
-12
0
0
0
0
0
0
0
0
0
0
17
0
0
-32
0
0
-6
6
0
-8
0
0
0
0
-1
0
0
0
0
0
0
-3
-3
0
0
0
0
0
4
0
0
0
0
0
0
-14
0
0
-1
0
0
12
-13
0
0
0
0
0
0
0
0
0
2
0
0
-1
-28
0
0
26
0
0
0
-5
0
1
-3
0
0
0
-8
0
4
0
0
0
0
-5
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-1
5
0
-3
-7
0
0
0
16
0
0
-6
0
0
0
-16
0
0
0
0
0
0
11
0
0
0
0
0
0
13
0
-1
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-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
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
7
0
0
0
0
0
0
-9
0
0
1
0
0
0
10
0
0
0
0
0
0
38
0
0
0
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
12
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
1
0
12
-30
9
-1
0
-21
22
-1
-12
9
0
4
-10
4
10
22
-5
0
7
-29
-48
24
-25
-3
-2
-2
-34
-20
20
-42
28
20
-4
-6
-3
-1
37
-18
0
0
23
-8
3
10
12
0
0
7
-15
49
-9
25
-15
0
-2
1
-9
0
-12
14
2
17
7
0
31
-9
0
-2
-18
2
0
-2
62
0
36
-3
4
-7
-8
3
5
-12
-37
10
6
0
0
0
0
0
0
0
-50
3
8
19
-23
13
0
-4
-4
-2
-12
34
48
1
-19
9
0
-1
-39
-2
-36
2
0
3
-3
0
-6
-2
0
1
13
0
0
14
15
23
-2
15
5
13
22
11
-54
-5
0
-15
19
3
37
-25
-7
18
-7
32
-1
2
14
-15
53
-28
-16
-5
-50
-35
-20
-16
25
37
-3
34
36
0
5
19
-9
-8
31
-3
-16
23
-23
-10
-3
-52
0
3
2
-19
-1
4
20
0
-15
-12
-2
9
1
-2
4
3
6
-10
31
-1
17
31
-7
1
-38
13
24
0
34
10
-15
12
-12
21
8
-31
-18
-16
7
41
41
0
23
1
-2
-45
-12
0
-16
-2
55
1
-5
60
-8
-11
-4
5
7
-16
-29
4
5
0
7
-14
-7
-1
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
-3
-3
-4
0
0
0
0
5
2
0
0
18
1
0
2
0
0
0
-9
0
0
-6
0
0
-4
-3
0
0
11
0
0
0
0
0
0
10
0
0
-3
18
0
0
18
0
0
-10
24
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
-25
-7
-4
0
4
0
0
-25
0
0
1
0
0
-13
-7
0
-29
21
7
0
-28
28
0
0
49
0
0
0
0
0
0
0
0
0
7
13
0
-6
7
0
0
20
-15
0
-1
0
0
0
0
0
3
0
-1
0
0
0
23
0
-11
0
1
0
0
-5
0
0
0
0
0
-12
26
0
0
-8
-3
0
43
-4
0
0
-46
0
0
0
29
0
-6
5
0
0
-1
29
0
0
-8
0
0
3
2
0
9
3
12
0
2
5
0
0
20
0
0
-7
-5
3
2
0
0
0
0
24
0
1
0
0
0
0
-17
0
0
0
0
0
0
-1
0
-13
0
0
0
-7
28
0
7
-8
0
0
-3
-11
0
32
-4
0
0
0
-15
0
29
-18
2
0
0
0
0
8
2
0
0
0
22
0
-2
-3
0
0
0
-7
0
42
0
0
0
0
-39
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
-2
7
6
53
11
-18
0
1
7
-34
-15
2
34
0
17
-17
-2
4
0
17
9
-34
-4
-16
61
15
-1
43
-7
8
9
-1
0
23
39
2
-31
-49
4
5
-87
-6
-9
-10
-7
-24
-10
-15
-4
-1
-17
0
13
-7
-13
1
0
-8
24
-18
0
-3
4
-13
46
15
1
-5
3
4
-6
28
1
-11
-28
7
-5
-10
1
7
7
-3
-2
2
16
12
-25
2
0
0
0
0
0
0
0
18
-3
11
2
-9
-19
7
5
9
-3
-28
6
-9
28
-22
-3
25
3
-3
13
-13
0
2
-2
-4
1
-8
0
-4
-4
-2
0
23
28
24
5
2
32
55
-45
-48
14
-29
13
-25
-27
27
-1
29
-12
-15
5
1
-27
-14
-14
-6
-10
17
7
-16
-1
-22
15
2
14
40
-9
2
-11
59
8
20
22
-13
-19
12
-26
-5
59
26
9
-28
38
2
-13
0
-22
0
-61
-37
0
19
-47
9
28
-11
-2
45
-26
33
-7
33
-6
54
-36
14
0
14
3
-20
1
-37
-21
-12
-27
17
25
34
28
-29
19
16
-2
55
30
-21
1
24
5
-9
24
-54
-51
-10
-37
-57
-8
69
-19
-3
-17
11
-3
-12
52
27
-1
6
0
66
-9
10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
21
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
15
0
0
0
0
0
0
11
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
-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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
-3
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
-7
14
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-16
0
20
-4
0
0
0
0
0
0
0
0
0
0
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
-46
0
0
1
0
0
0
-44
0
0
2
0
0
0
62
0
0
2
0
0
0
9
0
0
-4
0
0
0
18
0
0
0
0
0
0
-9
0
0
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
-24
0
7
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
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
-1
0
0
1
1
0
20
1
0
0
2
0
0
-1
2
0
2
0
-1
0
-2
0
0
0
4
0
0
-2
0
0
0
-2
0
0
0
0
0
0
-5
1
-3
0
2
0
0
0
0
0
0
2
12
0
0
2
0
0
-32
0
2
0
0
0
0
2
0
0
-3
0
0
1
0
0
-18
0
0
0
11
38
0
0
-30
0
0
0
0
0
0
0
0
0
1
13
0
3
-8
3
0
0
9
0
-10
6
0
0
3
-10
0
0
0
0
0
0
-7
-7
-1
0
0
0
0
-6
0
0
0
0
0
0
12
0
1
-2
-1
0
-13
-1
0
0
-1
0
0
-5
18
0
2
-1
13
0
17
-7
0
0
-5
0
0
0
-31
0
0
8
0
0
0
-40
0
0
-1
0
0
0
5
0
0
0
0
0
0
40
-1
0
0
0
0
0
21
0
0
0
0
0
0
-8
0
2
0
0
0
0
47
0
0
0
0
0
-1
-24
0
13
-3
0
0
-1
0
0
4
6
-3
0
0
16
0
0
2
6
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
4
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
11
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
0
0
0
0
0
0
-1
0
0
1
0
0
0
-1
0
0
0
0
0
0
14
0
0
0
0
0
0
-3
0
0
0
0
0
0
8
0
0
0
0
0
10
-1
0
0
0
0
0
-1
-26
0
0
0
0
0
0
-1
0
0
-7
0
0
0
19
0
0
0
0
0
0
8
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
-1
-7
0
0
2
0
0
9
4
0
0
-7
0
0
-10
2
0
0
-8
0
0
21
0
0
0
0
0
0
-6
0
0
0
-4
0
-6
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
39
0
0
3
0
0
0
0
0
59
-14
0
0
-2
-29
0
0
6
0
0
0
0
0
0
0
0
0
-5
-5
0
0
4
0
0
0
10
0
21
-6
0
0
0
0
0
0
0
0
0
0
34
1
0
0
0
0
0
37
2
0
0
0
0
0
1
0
0
1
0
0
0
-27
0
0
11
0
0
0
2
0
-1
-8
0
0
0
-17
0
0
14
0
0
0
-24
0
0
-7
0
0
0
-15
0
0
1
0
1
0
-19
0
0
0
0
1
0
-7
0
0
0
0
0
0
6
0
0
0
0
0
0
9
0
0
0
0
0
0
18
0
0
-8
0
0
0
-18
0
-1
0
0
0
0
-11
0
0
-1
0
0
0
20
0
1
3
0
0
0
-8
0
0
0
0
0
0
26
0
0
0
0
-2
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-7
0
0
0
0
0
0
5
-1
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
7
0
-7
0
-11
0
0
0
0
-6
0
0
0
0
0
0
0
0
21
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
3
-7
0
0
-18
22
0
0
1
0
0
0
0
0
0
0
0
0
-4
37
0
0
-19
0
0
0
-1
0
58
0
0
0
0
18
0
0
0
0
1
0
47
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
-33
0
0
2
0
0
0
-30
0
0
1
0
0
9
-43
0
0
-3
0
0
0
7
0
0
2
0
0
0
9
0
0
0
0
0
0
-14
6
0
0
0
1
0
-42
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-10
0
2
1
0
0
0
17
0
3
-2
0
0
0
-19
0
0
0
0
0
0
-1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
25
-1
0
0
0
0
0
-21
-3
0
6
24
0
0
-23
0
-7
0
16
0
2
59
-5
0
0
14
-2
0
0
0
0
0
2
-6
-23
0
0
8
0
0
-1
3
0
5
-3
0
0
0
0
-2
6
0
0
0
0
0
-19
1
0
31
-1
3
0
1
16
0
1
-7
1
0
0
0
0
0
0
0
0
-4
-19
0
0
-4
-2
0
-4
-21
0
2
12
-2
0
-4
-28
0
1
7
-3
3
0
3
-11
-1
0
0
0
0
-1
0
0
0
1
0
0
-14
-1
0
-2
0
0
-1
-8
0
-1
0
0
-1
1
-6
0
-5
0
-3
0
-1
8
1
-6
-8
5
4
19
12
0
4
15
0
3
0
17
2
-1
13
0
-2
0
1
0
1
-1
0
-42
0
-12
0
0
0
1
1
0
51
0
0
0
0
0
0
39
0
1
0
0
0
0
0
0
1
1
0
0
-2
21
0
39
1
-2
0
-3
-62
-1
7
-3
-4
0
0
-30
0
21
-4
0
0
0
17
0
-4
-9
1
2
0
-36
0
1
-7
0
1
0
-41
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-18
0
-11
32
1
0
0
1
0
2
-2
3
0
1
-17
0
0
-12
0
0
0
-9
0
0
0
0
0
0
-4
0
18
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
1
-1
0
0
0
0
0
4
-12
0
58
-8
0
0
-15
-19
0
0
34
0
0
0
0
0
0
0
0
0
0
-11
0
2
-8
0
0
0
13
0
-5
4
0
0
0
40
0
0
-1
0
-1
0
-18
-1
-2
0
0
0
0
21
-7
0
0
0
0
0
44
0
0
0
0
0
-3
-18
0
0
-2
0
0
3
-5
0
0
-4
0
0
0
4
0
-2
-13
0
0
6
-15
0
0
-11
0
-2
0
30
0
0
1
0
-19
0
19
0
0
-1
0
4
0
-15
0
0
0
0
0
0
-27
0
0
0
0
0
0
-6
0
0
0
0
0
0
8
0
0
6
0
0
0
-38
0
-7
0
0
0
0
-4
0
0
-3
0
0
3
28
0
-1
1
0
0
0
10
0
0
2
0
0
0
-12
0
-3
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
-4
0
0
4
0
-33
0
-3
-25
0
0
19
0
0
0
0
0
0
0
0
0
0
-27
0
0
-5
0
0
0
5
0
10
-1
0
0
0
-68
0
0
0
0
0
0
-47
1
0
0
0
0
0
25
0
0
0
0
0
0
11
0
0
0
0
0
-1
1
0
0
0
0
0
0
29
0
0
-16
0
0
0
41
0
0
-1
0
0
1
25
0
0
-2
0
0
0
-3
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
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
9
0
0
0
0
0
0
-25
0
0
0
0
0
0
17
0
-4
0
0
0
0
2
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-3
0
-11
-78
5
36
-18
-6
3
-18
-37
-1
-20
-3
13
-28
16
12
-9
16
-4
13
0
0
-32
0
-1
7
18
7
0
-18
-13
13
-8
2
0
0
0
-7
20
0
-16
4
-27
0
-2
0
0
14
0
-6
30
-6
1
1
-17
2
-7
28
28
0
-34
-21
-1
-13
15
8
0
0
0
0
0
0
0
0
-2
0
-2
-24
28
28
-1
-29
17
-2
-23
-32
13
-2
-43
-15
-2
1
8
-4
5
0
-9
7
-13
1
-2
-8
0
14
22
0
5
1
-1
0
50
-6
-1
-35
10
27
18
-5
-3
3
5
0
7
-3
-2
-7
-1
1
-8
-3
-42
-4
12
10
-9
9
33
43
-2
5
-7
6
23
-10
-3
-11
29
-59
14
-2
-42
2
1
-6
-23
61
-19
-49
0
-3
-3
-3
1
14
13
0
-1
3
0
0
-1
0
0
7
2
-8
-22
0
3
3
-14
-3
9
7
24
-3
20
11
0
-25
10
6
0
34
5
-5
-11
24
-50
21
-33
-10
-2
-12
32
5
-6
-18
1
-2
-25
-65
26
1
0
36
0
-57
-14
-3
-44
0
34
-13
-5
6
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
4
0
0
0
0
0
0
17
1
0
0
2
0
-2
-4
0
0
0
-3
0
0
2
0
0
0
-1
0
-3
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
16
0
0
0
0
0
-3
0
0
-30
0
-2
0
-7
-4
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
0
23
0
0
0
34
0
20
1
0
0
0
15
0
0
4
0
0
0
42
0
0
0
0
0
0
3
0
0
0
0
0
0
-11
0
0
4
0
0
11
0
0
0
-3
0
0
0
-7
0
0
-1
13
0
0
21
0
-2
-4
0
0
0
-9
0
0
-7
1
0
0
-3
0
0
0
0
0
0
7
-1
0
0
0
0
0
-5
0
0
0
0
0
0
6
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
1
-4
0
0
0
14
0
0
-1
1
0
0
-43
0
0
-1
0
0
0
-4
0
0
-7
0
0
0
2
0
2
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
1
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
6
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
3
0
0
8
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
0
0
14
1
0
0
-1
0
0
1
8
0
0
5
0
0
-16
3
0
0
6
-3
0
0
0
0
0
0
0
-16
0
0
4
0
0
0
-2
0
25
-6
0
0
0
0
0
-20
0
0
0
0
0
-1
0
0
-15
2
5
0
-1
-11
0
0
16
0
0
0
0
0
0
0
0
0
8
26
0
0
13
0
0
6
-46
0
16
-2
-2
0
0
-19
0
0
0
0
0
0
-25
-2
0
0
0
0
0
12
0
0
0
0
0
2
13
0
0
0
0
1
0
16
0
0
0
0
0
-3
26
0
0
-3
1
0
-1
-70
0
0
-4
0
0
0
-22
0
3
0
0
0
0
5
0
0
-1
-1
0
0
-28
0
-1
7
0
-1
0
57
0
0
0
0
0
0
4
1
0
0
0
0
0
14
0
-2
0
0
0
0
-56
0
0
0
0
0
2
24
0
2
-10
0
0
0
-31
0
0
-1
4
0
0
-12
0
5
0
0
0
0
24
0
3
0
-2
0
0
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
37
0
0
0
0
0
-1
-1
0
-6
0
0
0
5
7
0
0
-1
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
15
0
2
0
0
0
0
-7
0
0
0
0
0
0
31
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
24
0
0
0
0
0
0
38
0
0
0
0
0
-6
25
0
0
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
4
0
5
-21
0
6
4
4
-2
-2
-27
4
-6
21
0
0
0
-15
0
9
0
1
0
0
0
0
-5
0
0
0
0
0
0
6
0
8
0
-10
0
1
0
0
1
0
0
0
0
0
5
-19
0
-4
15
7
0
15
-13
-3
0
24
0
0
0
0
0
0
0
0
0
27
32
0
1
34
0
0
3
7
0
-88
0
0
0
0
-19
2
0
3
0
-3
0
3
-22
0
0
0
0
0
-37
7
0
0
0
0
1
8
0
-1
7
0
2
0
-35
0
0
8
0
0
13
11
1
0
20
-5
0
2
34
0
3
41
0
0
8
21
-2
0
-9
0
0
0
57
0
0
12
-3
0
0
2
0
-1
-1
0
-7
0
2
0
0
0
0
0
0
28
0
0
0
0
0
0
-16
-2
-8
3
0
0
0
37
0
0
2
0
0
0
52
0
45
-11
0
0
-2
-22
8
1
19
7
0
0
46
0
-12
-6
-6
0
0
33
0
2
-1
3
0
0
2
2
21
3
0
4
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
3
0
0
2
0
0
2
-1
0
-1
0
0
0
1
0
0
0
-6
0
0
-3
2
0
0
0
0
3
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
-2
0
0
0
0
0
2
3
0
-10
0
0
0
-11
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
-9
0
0
21
0
0
6
-17
0
8
-7
0
0
0
-29
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-8
0
0
2
0
0
-3
0
0
0
0
-10
0
1
3
0
0
18
0
0
0
33
0
0
-1
0
0
0
0
0
0
-1
0
0
0
8
9
0
0
0
0
0
10
0
0
0
0
0
0
0
8
0
0
0
0
0
-22
0
1
0
0
0
0
-2
0
0
0
0
0
2
0
0
-4
0
0
0
0
17
0
0
0
1
0
0
-9
0
0
0
0
0
0
33
0
0
1
0
0
0
-3
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
3
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
0
0
-5
0
-5
0
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
7
0
0
0
0
0
0
-8
0
0
0
0
0
0
9
0
0
2
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
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
58
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-4
-1
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
10
0
0
0
-19
0
21
1
0
0
0
-2
0
0
0
0
0
0
-30
0
0
0
0
0
0
-39
0
0
0
0
0
0
1
0
0
0
0
0
0
8
0
0
4
0
0
0
21
0
0
0
0
0
-2
23
0
0
-1
0
0
0
28
0
0
0
0
0
0
-4
0
0
-4
0
0
0
13
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-11
2
0
0
0
-1
0
0
0
0
0
0
21
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-7
0
0
66
-4
0
14
-13
10
0
14
0
0
0
25
0
0
0
-6
0
0
-5
-1
-1
0
0
-3
0
0
0
0
0
9
8
-1
0
0
0
0
18
0
0
0
0
0
3
41
0
20
0
1
0
-5
-25
0
0
-21
0
0
0
0
0
0
0
0
0
21
41
0
-2
-8
0
0
3
36
0
-13
1
0
0
0
21
0
0
-1
0
0
0
3
7
2
0
0
0
0
-5
3
-3
0
0
0
-3
27
-1
-3
4
-6
-2
-37
5
0
-1
9
0
0
-6
-38
-6
1
-6
0
0
3
-19
-2
0
15
0
0
-9
16
0
-2
-12
2
-1
-2
-11
0
1
1
0
0
0
-5
1
0
0
0
-3
0
-15
0
0
0
0
0
0
-2
-6
0
0
3
0
0
-13
0
-13
0
0
0
0
-16
0
0
-6
0
0
0
1
0
1
-4
1
0
-1
29
9
0
-2
-1
0
1
19
0
46
4
-2
0
3
40
2
0
-6
0
-2
0
-26
0
17
0
0
2
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
4
-1
0
0
9
0
0
3
0
0
0
0
0
4
0
0
0
0
0
0
-6
0
0
1
0
0
0
-6
0
5
0
0
0
0
0
0
-7
0
0
0
0
0
9
0
0
1
-6
0
0
-2
32
0
0
-9
0
0
0
0
0
0
0
0
0
2
-21
0
0
17
0
0
0
-4
0
9
0
0
0
0
-5
0
0
0
0
0
0
18
1
0
0
0
0
0
-30
0
0
0
0
0
0
-21
0
0
0
0
0
0
20
0
0
1
0
1
1
-31
0
0
2
0
0
0
13
0
0
4
0
0
-4
-6
0
0
4
0
0
0
53
0
0
1
0
0
0
14
0
0
0
0
0
0
-37
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
30
0
2
-1
0
0
0
40
0
0
6
0
0
0
39
0
4
-1
0
0
0
-1
0
0
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
9
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
23
9
0
0
0
0
0
37
0
0
0
0
0
0
1
0
8
0
6
0
1
-6
0
0
3
0
0
0
0
0
0
0
0
0
0
7
0
0
17
0
0
-7
-5
0
-4
-2
0
0
0
43
0
0
0
0
0
0
25
8
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
-2
20
0
0
0
0
0
3
4
0
0
-6
0
0
7
58
0
0
16
0
0
-1
-23
0
1
0
0
0
0
0
0
0
4
0
0
0
12
0
0
2
0
0
0
-37
7
0
0
0
0
0
-5
0
0
0
0
0
0
3
0
1
0
0
0
0
4
0
0
0
0
0
0
25
0
-1
0
0
0
1
28
0
0
-8
0
0
3
19
0
0
1
0
0
0
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-3
-47
0
11
43
-25
-3
1
1
4
0
0
-7
0
0
0
-1
-12
0
3
48
0
0
-2
4
0
5
-37
40
20
0
0
3
-8
0
0
-5
0
0
-5
20
-1
-3
-22
13
2
57
3
1
-3
31
0
-1
0
0
0
0
0
0
0
30
-6
-2
-16
9
3
0
-8
8
0
-15
15
12
4
0
3
9
0
-4
3
4
0
-3
-41
-3
0
-13
0
0
16
-10
0
0
0
1
-19
35
0
-5
-21
-7
-3
37
9
0
0
-13
0
10
-1
24
36
1
54
-5
1
-7
3
6
-16
31
-6
-3
-8
-5
-3
-16
1
-11
19
0
0
0
-13
26
4
0
0
20
-2
1
32
1
-5
0
-12
-2
-2
0
0
-2
0
-32
-22
0
0
0
0
0
-5
3
12
-1
0
0
-15
-18
1
-21
39
5
0
-2
-12
12
45
7
-4
0
-1
-20
-1
23
-5
8
0
5
14
-1
15
-24
3
-3
1
-15
0
-5
-1
-7
0
-6
-19
-8
52
-2
0
-22
0
38
5
3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
1
-5
0
0
0
-3
0
1
0
-1
0
0
4
0
3
0
0
3
0
0
0
-2
0
-7
0
0
0
-2
0
0
42
0
0
-1
0
0
9
-7
0
-47
-3
-3
0
30
2
0
0
10
0
0
0
0
0
0
0
0
0
1
-28
0
2
-38
-3
0
2
27
0
-5
-27
0
0
0
39
0
0
0
0
0
0
1
0
0
0
0
0
0
15
0
0
0
0
0
0
-11
0
0
0
0
0
6
-5
0
0
10
0
-4
1
-16
0
0
9
3
0
8
0
-1
0
-11
-1
0
0
5
0
0
-1
3
0
2
-9
0
-1
4
0
0
0
-37
0
0
0
0
-1
0
-11
0
3
0
0
0
0
38
0
0
0
0
0
0
5
0
9
0
0
0
0
-53
0
0
-3
0
0
1
-40
0
13
3
0
0
4
0
0
-1
5
10
0
-4
10
3
-11
5
0
0
-3
-8
0
-2
0
8
0
0
4
0
-4
0
1
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
16
0
0
0
0
0
0
-3
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
26
0
0
3
0
0
0
-5
0
7
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
6
0
0
0
0
0
2
10
0
0
0
0
0
1
-1
0
0
0
0
0
0
12
0
0
0
0
0
0
-11
0
0
2
0
0
0
4
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
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
0
0
0
-1
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
-3
0
0
0
0
0
0
10
0
0
0
0
0
6
0
0
1
1
0
0
0
6
0
0
2
0
0
0
0
0
0
0
0
0
2
5
0
0
-3
0
0
-7
0
0
11
3
0
0
0
-1
0
0
0
0
0
0
13
-2
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
8
0
0
0
16
0
0
0
0
0
0
31
0
0
0
0
0
2
26
0
0
-4
0
0
0
-3
0
0
-1
1
0
-2
16
0
0
3
0
0
0
45
0
0
0
0
0
0
46
0
0
0
0
0
0
6
0
0
0
0
0
0
10
0
0
0
0
0
0
-5
0
0
-3
0
0
0
3
0
0
0
0
0
0
10
0
0
-4
0
0
0
12
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
0
0
0
0
0
0
0
16
0
0
-1
-33
0
8
49
2
0
0
-2
0
-3
0
2
0
0
0
8
-4
0
0
2
0
0
-9
1
0
-1
11
1
0
0
0
3
10
0
0
-1
0
0
12
28
0
29
10
-1
0
-15
36
0
-1
-19
0
0
0
0
0
0
0
0
0
25
-18
-3
0
37
1
0
4
-22
0
-14
0
0
0
6
-5
4
0
0
0
-4
0
12
-4
2
0
0
0
0
6
-6
0
2
0
0
0
-21
0
0
1
0
0
27
21
0
-6
-1
0
-4
-17
57
-1
-4
-37
2
3
37
-10
0
0
-1
1
0
-13
17
0
-1
6
-2
0
-1
4
0
7
-2
0
0
0
-33
0
-1
0
1
2
0
16
-1
0
0
0
0
0
51
0
0
0
0
0
0
-9
0
13
0
0
0
0
-19
0
-3
0
-7
0
-8
-36
0
-22
-3
0
0
2
1
0
0
35
0
0
0
-12
0
23
-2
-6
0
2
38
0
0
7
4
0
-1
17
-2
-6
0
11
0
0
-8
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
11
0
0
0
6
-3
0
0
-1
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
16
0
2
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
26
0
0
0
0
0
0
6
0
0
0
0
0
0
-19
0
0
0
0
0
0
-5
0
0
0
0
0
0
9
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
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-6
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-5
0
0
0
-43
1
0
0
-7
0
0
0
0
0
0
0
0
0
-4
-37
0
0
24
0
0
0
-11
0
-16
6
0
0
0
-4
0
0
0
0
0
0
-10
0
0
0
0
0
0
-17
0
0
0
0
0
0
-17
0
0
0
0
0
-11
6
0
0
0
0
0
8
-16
0
0
10
-1
0
0
3
0
0
22
0
0
0
13
0
0
4
-2
0
0
-21
0
0
0
0
0
0
27
0
0
0
0
0
0
39
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
-15
0
0
0
0
0
1
49
0
0
0
0
0
0
-37
0
0
2
0
0
0
26
0
15
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
-3
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
-30
-1
0
0
0
0
0
4
0
0
-6
0
0
-17
14
0
15
-10
0
0
11
-3
0
1
-23
0
0
0
0
0
0
0
0
0
-8
-5
0
-3
-20
0
0
-2
1
0
9
9
-4
0
0
3
0
0
0
0
0
0
35
-1
0
0
0
0
0
26
0
-1
0
0
0
0
-3
0
1
1
-6
3
1
-10
0
0
12
0
3
0
46
3
0
16
17
-9
6
45
1
0
39
0
-1
0
18
0
0
50
3
0
0
-33
0
-1
38
2
0
0
57
-2
0
-6
7
1
0
12
0
0
0
0
0
0
-26
-6
0
0
0
0
0
21
0
24
2
0
-2
0
-22
0
0
1
0
-1
0
-35
0
27
-29
0
0
1
-20
0
0
3
10
0
11
6
0
4
59
0
0
-1
53
0
1
-1
0
0
0
-32
2
-14
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
-38
0
0
0
0
0
0
-2
0
33
1
0
0
4
23
0
0
-5
0
0
0
0
0
0
0
0
0
-8
0
0
0
-10
0
0
0
-20
0
-2
0
0
0
0
10
0
0
2
0
0
0
-11
0
0
0
0
0
0
-12
0
0
0
0
0
0
-21
0
0
2
0
0
1
-43
0
0
-10
0
0
0
-1
0
0
-4
-7
0
0
-6
0
0
4
0
0
0
0
0
0
3
0
0
0
-22
0
0
0
0
0
0
-16
0
0
3
0
0
0
12
0
0
0
0
0
0
21
3
0
0
0
0
0
7
0
0
0
0
0
0
11
0
0
0
0
0
0
29
0
0
-2
0
0
0
6
0
0
0
0
0
0
0
0
-1
4
0
0
0
-27
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
8
0
0
0
0
-2
0
0
4
0
0
0
0
0
0
0
0
0
0
6
0
0
-3
0
0
0
-1
0
1
0
0
0
0
16
0
0
0
0
0
0
-24
0
0
0
0
0
0
53
0
0
0
0
0
0
3
0
0
0
0
0
0
9
0
0
1
0
0
0
5
0
0
0
1
0
0
-7
0
0
0
0
0
0
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
1
-1
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
-3
0
0
0
0
-2
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
-13
0
0
0
0
0
0
-2
0
33
0
0
0
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
-1
-6
0
-5
4
0
0
1
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-30
0
0
0
0
0
0
12
0
0
0
0
0
0
70
0
0
6
0
0
4
0
0
0
0
3
0
0
-3
0
0
0
0
0
1
41
0
0
1
0
0
0
16
0
0
-1
0
0
0
-2
0
0
0
0
1
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
2
0
0
0
-2
0
0
0
0
0
-41
0
-2
3
0
0
0
-8
0
-4
6
0
0
-3
0
7
0
0
0
-1
0
0
1
10
-1
0
-18
-1
0
-9
23
-2
1
21
0
0
0
0
0
0
0
0
0
28
-11
0
0
2
0
0
0
35
0
-24
0
1
0
1
-3
0
0
0
0
0
0
39
-1
0
0
6
0
0
19
-1
0
0
0
0
0
-55
0
0
-1
0
0
12
16
0
0
0
0
11
16
11
0
0
-8
9
0
20
28
0
0
-10
0
0
22
73
0
-1
2
0
0
0
29
0
2
-9
0
-3
0
-10
0
0
0
0
-10
0
-14
0
0
0
0
1
0
48
0
0
0
0
0
2
23
0
5
0
0
0
0
53
0
0
-2
0
0
0
15
0
0
1
0
0
-8
-24
-3
-3
-11
-6
0
-1
-45
0
73
-11
0
-3
0
-65
0
-3
0
6
0
0
19
0
-6
0
0
-11
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
-2
0
0
0
0
0
0
0
4
0
0
0
0
2
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
3
29
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
-1
0
0
1
-6
0
22
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
-1
0
0
0
-15
0
0
0
0
0
-3
1
0
0
0
0
0
1
1
0
0
0
0
0
-1
-24
0
0
0
0
0
0
-38
0
0
0
0
0
0
-12
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
-12
0
0
0
0
0
0
-24
0
7
0
0
0
0
-3
0
0
-2
0
0
0
-7
0
-1
0
0
0
0
8
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
-1
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
18
0
0
0
0
0
0
27
0
0
0
0
0
1
0
0
38
-2
0
0
23
33
0
1
2
0
0
0
0
0
0
0
0
0
0
-31
0
0
-2
0
0
0
37
0
-3
-1
0
0
0
15
0
0
0
0
0
0
-22
-1
0
0
0
0
0
-14
0
0
0
0
0
0
-3
0
0
-7
0
0
4
30
0
0
6
0
0
0
59
0
0
-5
6
0
-21
26
0
0
7
0
0
0
-19
0
0
10
0
0
0
-12
0
0
0
0
0
0
-16
0
0
0
0
0
0
23
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
0
0
0
0
0
0
25
0
0
0
0
0
0
8
0
-8
1
0
0
0
-20
0
0
0
1
0
0
42
0
0
0
0
0
0
-8
0
0
0
0
0
0
50
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-21
0
0
-8
0
0
0
0
0
-6
3
0
0
-4
0
-1
6
0
0
14
0
0
22
-38
0
10
2
24
0
-24
-7
0
1
13
3
0
0
0
0
0
0
0
0
-2
-10
0
-1
60
-11
0
0
-20
0
-25
20
0
0
0
-5
0
0
35
1
-2
0
23
3
-6
0
0
0
0
-4
0
0
0
0
0
0
-6
0
1
7
-7
-11
3
-43
0
1
-31
0
-19
7
-43
0
-3
32
0
-1
7
-1
0
-3
-29
13
-1
0
21
0
-6
-45
0
3
-9
5
0
11
-8
0
13
0
-40
0
0
-16
1
43
0
-11
1
0
0
0
8
0
7
0
0
0
0
0
0
12
0
-19
1
0
-2
1
-24
0
0
10
0
0
-4
17
0
11
11
4
-1
0
-32
4
4
14
1
-1
0
37
0
37
3
0
0
0
23
3
-11
-46
1
0
0
-48
0
-11
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
11
14
0
0
0
-13
0
2
7
0
0
0
0
0
0
0
0
0
0
34
0
0
-8
0
0
1
0
0
7
0
0
0
0
3
0
0
0
0
0
0
-23
2
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
4
-42
0
0
0
0
0
1
-11
0
0
0
-6
0
0
-8
0
0
6
0
0
0
26
0
1
4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
-12
0
0
0
1
0
-4
0
0
0
0
9
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-6
0
0
0
6
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
2
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
-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
-13
0
0
2
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
1
1
-9
-3
-1
1
0
0
0
0
0
10
0
2
0
-7
0
-14
-35
0
0
-6
0
0
22
-4
0
44
19
-8
0
-54
9
-3
0
-9
0
0
0
0
0
0
0
0
0
10
-13
0
0
-18
0
0
-7
-18
0
-5
3
4
0
1
-11
0
0
0
-6
1
0
4
0
0
0
0
0
0
-15
0
0
1
0
0
0
33
0
1
0
0
0
7
4
0
-6
-1
0
-2
-48
46
0
3
0
13
0
7
-17
9
-1
-36
0
-4
29
24
-6
2
1
6
0
0
-19
-1
2
2
0
0
-1
1
3
-6
-1
0
-9
0
-16
3
0
0
0
1
0
-21
0
0
0
0
0
0
18
0
23
0
0
1
0
-15
0
0
0
0
0
-4
-26
0
5
3
0
2
1
-31
0
1
6
11
0
0
42
0
-12
1
0
-7
0
12
0
0
0
1
0
0
49
0
26
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
1
4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
8
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
1
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
0
1
0
8
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-8
0
0
0
0
0
-6
0
0
10
4
0
0
-4
-3
0
0
15
0
0
0
0
0
0
0
0
0
-4
67
0
0
-5
0
0
11
-7
0
-27
0
0
0
0
-16
0
0
0
0
0
0
8
1
0
0
0
0
0
11
0
0
0
0
0
0
19
0
0
0
0
0
0
9
0
0
0
0
0
-1
18
0
0
5
0
0
0
29
0
0
-6
0
0
0
43
0
0
6
0
0
2
27
0
0
0
0
0
0
35
0
0
0
0
0
0
26
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
12
0
0
1
0
0
0
-15
0
0
0
0
0
0
2
0
0
1
0
0
0
6
0
-3
0
0
0
0
26
0
0
1
0
0
0
-1
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
-1
0
0
0
0
0
-13
0
0
0
0
0
0
18
0
0
0
0
0
1
0
0
-3
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-8
0
-7
0
0
0
0
-2
0
0
0
0
0
0
-27
6
0
0
0
0
0
-17
0
0
0
0
0
0
-2
0
0
0
0
0
0
45
0
0
-6
0
0
0
-23
0
0
2
0
0
0
23
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
18
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
7
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
1
-12
0
0
0
0
0
-15
7
0
-7
-2
0
0
-1
31
0
0
9
0
0
0
0
0
0
0
0
0
0
-4
0
0
18
0
0
7
-23
0
-6
4
0
0
-1
0
0
0
1
-2
0
0
13
0
0
0
0
0
0
-16
0
0
0
0
0
0
23
0
0
0
0
3
0
-20
0
0
2
0
0
-1
-3
0
0
3
2
1
6
15
2
0
-3
6
0
-11
30
0
-1
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
1
0
0
-43
0
0
0
0
0
0
3
-2
0
0
0
0
0
4
0
12
0
0
0
0
-7
0
0
0
0
0
0
-8
0
0
0
0
0
-4
-1
0
0
0
0
0
2
-5
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
-7
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
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-4
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
3
-1
0
0
0
-5
0
0
6
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
-12
0
-2
0
0
0
0
5
0
0
0
0
0
0
19
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
-12
0
0
0
0
4
-2
-18
0
0
2
-4
0
1
14
0
0
0
0
0
0
-12
0
3
-2
0
0
0
-9
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
7
0
0
0
0
0
0
14
0
0
0
0
0
0
9
0
0
0
0
0
9
0
0
0
-6
-3
0
0
-4
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
2
2
0
0
-1
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
15
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
-20
0
0
0
0
0
0
-1
0
0
0
0
0
0
11
0
0
-2
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
2
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
14
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
18
-2
-7
-3
-8
0
28
-5
0
-2
15
1
0
-30
-3
0
5
24
-11
0
51
-9
0
-9
-33
0
0
0
0
0
0
0
0
0
8
-12
0
0
28
0
0
-16
-21
0
35
-1
26
0
-2
23
0
0
0
-3
0
0
33
0
-4
0
0
0
0
-20
0
0
0
-1
0
7
3
0
9
32
8
0
-23
-3
0
0
33
-2
0
19
-8
0
-3
8
54
0
50
-10
-3
1
15
1
0
-2
-2
0
21
13
22
0
-15
9
-2
3
7
0
0
0
13
-4
-2
-13
-8
0
0
-5
0
0
0
-3
0
0
-27
2
0
0
0
0
0
6
-1
20
8
-6
0
1
-15
0
2
23
-1
0
-5
9
0
27
3
0
0
-3
-3
-7
-3
-28
6
0
0
-42
0
34
36
0
0
7
-4
3
0
-9
8
0
0
10
0
13
1
1
0
0
43
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
-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
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
-1
0
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
-5
0
7
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
9
0
0
0
0
0
0
6
0
0
0
0
0
0
-21
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
1
0
0
0
0
0
0
4
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-3
0
0
0
0
0
-38
0
0
0
0
0
16
2
0
-15
7
-1
0
-30
13
0
-2
-4
0
0
0
0
0
0
0
0
0
-7
14
0
0
39
0
0
0
3
0
13
0
0
0
0
16
0
0
-1
0
1
0
3
0
-7
0
0
0
0
-27
0
0
0
1
0
0
19
0
0
-2
1
0
0
10
0
0
4
0
0
0
-9
0
0
-1
1
0
0
-19
2
0
-7
0
0
1
-32
0
0
2
0
0
0
54
0
0
0
0
0
0
-7
0
0
-4
0
0
0
-22
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
0
0
1
0
0
0
22
0
0
-1
0
0
0
27
0
0
-6
0
0
0
-48
0
0
-4
0
0
0
-6
0
-3
-2
0
0
0
3
0
0
0
0
0
0
11
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
4
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
-8
0
0
-1
0
0
0
-7
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
0
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
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
6
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-3
0
0
0
0
-6
0
0
0
0
0
0
6
0
3
4
0
0
0
10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
3
0
0
0
0
0
-2
0
0
-5
-8
1
0
-1
21
0
0
1
0
0
0
0
0
0
0
0
0
2
10
0
0
1
0
0
0
-17
0
-33
-3
0
0
0
32
0
0
0
0
0
0
-18
2
0
0
0
0
0
-34
0
0
0
0
0
0
-37
0
0
7
0
0
0
9
0
0
1
0
0
0
-18
0
0
9
-3
0
-8
57
0
0
0
0
0
0
-19
0
0
10
-2
0
0
15
0
0
1
0
0
0
-1
0
-1
0
1
0
0
17
0
0
0
0
0
0
7
0
0
0
0
0
0
-21
0
-4
0
0
0
0
-6
0
0
0
0
0
0
-6
0
0
0
0
0
-4
-25
0
-1
4
0
0
0
-4
0
0
-8
0
0
0
-11
0
0
0
-2
0
0
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-6
4
-4
30
-7
5
-1
1
0
-2
-15
27
0
15
0
-11
11
13
-14
1
0
0
0
0
0
0
0
7
-21
5
-26
4
24
13
15
6
0
16
49
17
0
-2
24
0
-2
2
-4
-7
0
-6
-5
-9
0
37
-4
-2
0
1
0
1
9
2
85
13
-15
30
53
5
13
3
20
-3
-1
-17
-11
-7
-35
12
-18
-31
25
31
7
34
-5
16
-25
15
-26
3
27
20
48
3
10
12
18
-4
-27
-10
-11
19
-13
34
45
27
-32
7
13
-25
6
2
19
5
2
0
14
-8
0
0
0
-4
11
13
0
-2
-16
-2
-41
-38
66
33
6
9
-2
-25
36
6
2
4
-8
12
52
0
-5
21
-3
-1
-17
24
4
11
7
28
-26
4
17
62
-8
-2
8
33
0
23
-24
2
0
-7
-26
-12
7
14
-6
-21
0
31
-6
-44
-8
-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
-9
0
0
0
0
0
-2
2
0
2
-4
1
0
12
7
0
0
6
0
0
0
0
0
0
0
0
0
-1
0
0
0
-72
0
0
0
34
0
-9
0
0
0
-1
-11
0
0
0
0
0
0
21
2
0
0
0
0
0
-15
0
0
0
0
0
0
4
0
0
0
-2
0
3
-20
0
0
3
0
0
6
-17
0
0
-1
-7
0
-3
-10
0
0
-8
0
0
0
13
0
1
-1
0
0
0
-39
0
0
2
0
0
0
12
0
0
0
0
0
0
-29
0
0
0
0
0
0
14
0
0
0
0
0
0
-3
0
1
0
0
0
0
-19
0
0
-1
0
0
-1
47
0
-1
0
0
0
1
-11
0
0
0
0
0
0
-23
0
-6
0
0
0
0
-27
0
0
0
0
0
0
-23
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
5
0
0
0
0
0
1
0
0
0
2
0
0
-6
9
0
0
29
0
0
0
0
0
0
0
0
0
-4
16
0
0
-19
0
0
0
1
0
2
0
0
0
0
6
0
0
0
0
0
0
23
3
0
0
0
0
0
-17
0
0
0
0
0
0
-12
0
0
0
0
0
0
21
0
0
-2
0
0
-3
27
0
0
0
0
0
0
-39
0
0
5
0
0
0
-18
0
-1
3
0
0
0
-13
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
1
0
0
0
0
-6
0
0
0
0
0
0
-21
0
0
0
0
0
0
3
0
0
0
0
0
0
11
0
-3
0
0
0
0
-2
0
0
0
0
0
0
12
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
-2
0
0
0
0
0
0
0
0
0
-2
19
0
0
0
0
0
0
23
0
-3
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
1
-3
0
0
0
0
0
0
22
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
1
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-38
-1
0
0
6
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
2
0
0
0
24
0
1
-11
0
0
0
9
0
0
0
0
0
0
44
0
0
0
0
0
0
24
0
0
0
0
0
0
-17
0
0
0
0
0
0
-2
0
0
0
0
9
-3
19
0
0
0
0
0
0
32
0
0
-11
0
0
0
-5
0
0
3
0
0
0
27
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
5
0
-4
0
0
0
0
35
0
0
0
0
0
0
-8
0
0
0
0
0
0
18
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
9
39
0
0
-9
0
0
0
0
0
0
0
0
0
-3
-25
0
0
-11
0
0
0
36
0
-43
2
0
0
1
18
0
0
0
0
0
0
32
0
0
0
0
0
0
-36
-18
0
0
0
0
0
2
0
0
0
0
0
0
-36
0
-6
-2
0
0
0
-28
0
0
5
7
0
-6
-27
0
0
26
0
0
0
21
0
0
1
0
1
-2
3
0
0
-3
0
-4
0
9
0
-2
0
0
0
0
50
0
0
0
0
0
0
-1
0
0
0
0
0
0
-36
0
-18
0
0
0
0
-20
0
0
-4
0
0
0
52
0
11
3
0
0
0
31
0
0
0
0
0
0
-12
0
1
0
0
0
0
-28
0
0
0
0
0
0
-45
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
-2
10
2
10
-7
21
1
-2
-10
4
0
-12
17
2
0
0
0
0
0
0
0
8
13
-5
-23
-23
21
13
1
2
-4
6
-4
8
-12
-5
0
14
26
45
13
-14
2
-13
-20
5
-1
15
-10
0
-1
12
2
-2
0
1
6
0
-4
46
-35
-5
-8
2
11
-23
-3
-10
-2
1
1
16
9
35
26
7
36
-8
-12
43
-1
13
11
-1
27
-12
-10
56
-7
-17
-62
-14
11
37
5
-8
-21
44
11
5
-30
15
-40
44
-4
0
-3
-4
-10
-16
4
9
0
-29
9
22
0
10
0
-3
0
-8
-7
61
18
4
17
-14
-1
43
-13
22
-7
-1
3
8
-11
25
-21
5
3
-13
-20
-21
0
32
12
-1
-5
0
-24
-18
47
-22
36
-32
26
12
-9
-8
15
-2
3
10
2
25
0
51
0
-14
43
5
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
0
0
30
21
0
0
9
0
0
0
0
0
0
0
0
0
2
58
0
0
32
0
0
-1
5
0
1
0
-1
0
0
0
0
0
0
0
3
0
-30
0
0
0
0
0
0
9
8
0
0
0
0
0
-5
0
0
0
0
3
0
12
0
0
0
0
-1
-2
-43
0
0
-1
0
0
0
36
0
0
0
0
0
0
-19
0
0
-12
-2
0
0
15
0
0
-1
0
0
0
2
0
0
0
0
1
0
-19
0
0
0
0
0
0
-18
4
0
0
0
0
0
59
0
0
0
0
0
0
-15
0
0
-3
0
0
0
-36
0
-6
0
0
0
0
38
0
0
0
1
0
0
1
0
13
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-7
-1
0
-35
0
0
0
0
0
0
0
0
0
15
17
0
0
18
1
0
0
8
0
57
2
0
0
0
-7
7
0
0
0
2
0
-69
-3
-1
0
0
0
0
37
-3
0
7
0
0
0
7
0
0
-6
0
0
0
42
0
-4
-21
0
0
3
14
8
-2
-51
20
1
0
-14
0
0
0
0
0
-10
2
-4
-3
23
-1
0
0
1
0
3
2
0
0
0
19
-3
5
-1
0
8
0
-15
0
0
0
0
1
0
33
0
0
0
0
0
0
10
0
-16
0
0
0
0
-35
0
-4
20
0
0
-2
14
0
7
1
0
0
7
43
0
-5
-5
3
0
0
41
0
18
-20
0
0
0
-3
0
0
0
0
0
0
-5
0
7
0
0
2
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
6
-20
0
0
8
0
0
0
0
0
0
0
0
0
12
30
0
1
-11
0
0
2
-15
0
29
0
0
0
-1
-5
0
0
-2
0
0
0
-14
2
0
0
0
0
0
3
0
0
0
0
0
0
71
0
0
-2
0
0
8
0
0
0
9
0
2
1
38
0
0
-15
3
0
9
5
0
6
1
0
0
0
25
0
0
-2
0
8
0
-1
0
2
1
0
-6
0
-40
0
0
-6
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
3
0
-7
0
0
0
-2
0
0
0
9
0
0
2
-25
0
6
2
0
0
0
19
-1
-3
-5
-1
0
0
9
0
-13
0
0
0
0
40
0
1
-4
0
0
0
70
0
9
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
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
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
3
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-6
-1
0
12
-6
0
0
0
0
0
0
0
0
-2
2
-1
-13
42
9
1
0
15
0
64
46
-6
-12
11
-2
0
0
-4
-3
0
0
12
11
24
0
1
0
0
8
-1
0
0
0
0
0
5
0
2
-24
11
30
-58
-10
0
0
2
0
-39
-20
-27
2
0
16
-13
7
53
10
6
58
11
-21
19
28
13
7
41
-53
-3
-30
33
14
-1
-2
10
-2
3
3
22
-2
-26
-10
0
-16
0
-22
0
0
0
-1
4
0
27
2
0
0
6
0
0
3
7
1
8
0
1
0
-33
0
0
10
13
0
-1
34
1
0
-30
16
0
-13
-4
-11
36
4
35
0
-1
-8
0
28
-57
0
0
5
26
0
-11
13
17
-1
-2
-2
-1
-39
-4
0
-9
0
2
7
-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
33
5
0
0
13
1
0
0
0
0
0
0
0
0
6
-3
0
0
-7
0
0
-3
7
0
35
-2
0
0
-2
13
0
0
2
0
2
0
-8
2
0
0
0
0
0
28
0
0
0
0
0
-3
1
0
-3
0
0
0
12
0
0
-1
9
1
0
12
13
0
0
0
-4
0
-1
35
-8
3
8
6
0
3
33
0
0
-11
40
0
0
2
0
0
-1
0
-12
0
15
-1
0
-1
0
35
0
-15
0
0
0
1
0
0
-22
-1
0
0
0
0
0
15
0
-15
0
0
0
-1
-24
0
6
0
3
0
0
16
0
-4
-16
0
0
0
21
0
-8
0
0
0
0
-5
0
-27
-12
0
0
-8
8
0
0
-5
0
0
0
46
1
-7
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
0
0
0
0
0
0
0
0
0
-10
-4
0
0
0
0
0
0
-9
0
-6
0
0
0
0
-9
0
0
0
0
-1
0
-16
0
0
0
0
0
0
33
0
0
0
0
0
0
-2
0
0
1
0
0
0
-30
0
0
0
0
0
6
-34
0
0
-10
0
0
0
20
0
0
-6
0
0
1
-3
0
0
7
0
0
2
35
0
0
-1
0
0
0
17
0
0
-3
0
6
0
-11
0
0
0
0
0
0
-3
0
0
0
0
0
0
-12
0
0
0
0
0
0
-14
0
0
-7
0
0
0
31
0
0
0
0
0
0
-22
0
0
4
0
0
0
-22
0
-2
0
0
0
0
1
0
0
0
0
0
0
6
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
10
0
0
-1
2
2
-2
-18
0
68
11
-12
0
-7
7
0
0
-13
0
-2
0
-2
11
-1
0
0
0
0
13
9
0
0
7
0
0
7
0
2
-3
7
0
-1
28
0
4
5
1
0
8
-15
0
0
3
2
0
-10
-2
-7
3
10
1
0
-19
-8
0
7
4
24
1
1
-3
0
-3
27
0
-1
0
10
-6
-33
31
-4
-13
0
-7
-1
0
0
0
0
0
-7
-14
0
0
0
0
0
-23
1
-10
5
0
0
7
42
0
0
25
0
0
-7
-2
1
17
45
0
0
-1
16
0
-3
-1
10
0
1
-13
0
38
46
4
0
0
-14
0
6
7
0
0
0
-32
1
-13
-2
0
-4
0
11
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
31
-3
-3
4
25
3
-3
-8
-2
-1
8
-5
7
1
-17
13
1
-1
27
-7
-21
0
-25
0
-17
2
2
-7
0
7
10
0
2
-10
0
3
-8
-7
-6
-34
-14
-22
-5
15
-18
-11
-29
10
-16
-31
0
88
-36
-52
-4
16
15
-3
-7
7
-1
-6
-8
29
-18
-13
-3
54
2
18
-31
-14
27
21
30
-6
46
3
9
3
17
62
2
18
0
4
1
0
3
-11
9
0
-2
-33
-4
1
-8
0
-6
21
-5
-14
10
0
13
32
-3
2
-17
13
23
6
15
0
17
42
25
57
-3
-22
0
19
66
32
-18
15
6
10
11
-2
38
-10
-2
-5
31
1
-39
-1
11
-3
-4
-19
0
-2
-9
-4
-40
0
-37
29
-11
3
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
-8
0
0
0
0
0
0
-15
0
-2
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
-9
0
0
0
0
0
0
-22
0
0
0
0
0
0
-12
0
0
0
0
0
0
-5
0
0
0
0
0
0
55
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
4
0
-2
0
0
0
0
-2
0
0
0
0
0
0
25
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
1
-3
0
0
0
0
0
0
41
0
0
3
0
0
0
37
0
0
-1
0
0
0
20
0
0
-1
0
0
0
26
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
-9
0
0
3
0
0
0
-5
0
0
0
0
0
0
11
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
1
20
14
0
3
39
-1
0
0
-2
0
0
13
0
-6
0
-10
6
24
0
-1
-1
0
23
10
0
0
0
0
0
-26
0
0
-2
-4
0
-1
-3
0
0
-2
0
0
-9
18
0
1
59
18
1
-3
-12
-4
0
29
0
0
11
11
-9
34
-19
11
0
10
-29
2
-19
-8
0
-2
1
18
-10
4
6
-1
10
0
26
0
0
0
0
0
0
25
0
0
1
0
0
0
8
2
-10
0
0
-1
2
34
0
0
0
3
0
4
-32
0
19
17
0
0
19
27
0
-23
2
-1
0
1
-15
0
-12
-3
-3
-1
0
8
0
-6
19
10
0
-3
40
-2
-34
-1
2
1
0
8
-3
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
2
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
33
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-11
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
16
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
50
0
-23
20
0
6
0
12
0
0
0
0
0
0
-27
-5
0
0
0
0
0
6
2
0
6
-3
0
0
10
0
-4
3
1
-1
-1
-3
0
0
-21
0
0
2
-21
0
-1
-9
5
1
0
-20
1
0
24
0
-1
0
32
0
-1
-43
0
1
0
12
0
0
0
0
0
0
16
7
0
-1
-1
4
0
13
0
0
0
-3
0
1
-12
0
0
0
0
0
0
-5
0
5
0
0
0
0
29
0
1
-2
-12
0
0
22
0
-4
-37
1
0
-1
25
-3
-8
15
0
0
-1
12
0
81
-1
0
0
3
29
-4
0
-4
6
0
0
50
0
-20
2
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
-26
-7
0
15
-14
-28
0
7
-4
0
0
-5
-3
11
0
-4
-32
-34
3
-6
-10
0
4
-21
-3
-1
-3
17
-3
5
1
0
32
16
42
-1
5
-8
-10
22
7
-23
-21
6
14
-8
6
50
-13
-11
-14
12
16
52
19
4
33
0
11
-14
-23
2
19
17
20
28
4
22
1
54
0
-12
43
-42
13
-54
-16
0
-6
-9
1
0
1
-17
0
18
8
-2
0
-16
1
5
60
2
15
27
5
-9
-21
61
0
6
-4
24
6
24
-17
-21
11
40
13
3
-8
-21
10
-5
51
0
4
-5
0
-4
21
-27
12
-10
-7
-50
-10
-5
-22
11
-7
-1
18
-1
-12
21
0
-12
0
-11
25
-1
0
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
6
4
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
4
0
0
0
0
0
0
-31
0
0
-1
0
0
0
-5
0
0
8
0
0
0
9
0
0
1
0
0
0
15
0
0
0
0
0
0
-12
0
0
0
0
1
0
12
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
10
0
0
-6
0
0
0
2
0
0
-3
0
0
0
-17
0
0
1
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
-1
33
-2
5
3
1
-1
-3
24
7
0
0
0
13
0
28
10
0
0
-1
0
0
-2
5
0
0
0
0
-1
-32
-5
-6
6
6
6
39
22
0
0
5
2
2
-4
-12
0
-3
20
-9
0
24
-6
1
1
-34
-1
0
0
-15
0
4
4
30
0
-3
8
0
10
2
-8
1
-1
-14
7
4
0
30
-12
0
10
0
-6
0
3
0
0
24
-3
0
0
0
0
1
-27
0
20
-1
0
0
-6
7
0
0
38
3
0
-19
27
3
46
-3
-1
0
2
32
-1
39
59
25
0
2
-19
0
-3
-6
-1
0
0
16
0
-8
15
1
0
0
-9
0
12
0
3
14
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
-2
0
-1
1
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-14
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
0
0
0
0
0
-11
0
0
0
0
0
0
-9
0
0
0
0
0
0
28
0
0
0
0
0
0
-15
0
0
0
0
0
0
5
0
0
0
0
1
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
4
0
-1
0
0
0
0
17
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
28
0
0
0
0
0
0
6
0
0
-2
0
0
0
2
0
0
0
0
0
0
11
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
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
1
0
0
0
0
0
-12
0
0
0
0
0
0
52
0
-13
0
0
0
0
-16
0
-2
0
0
0
1
10
0
2
-3
0
0
3
-27
0
0
-12
-3
2
0
16
0
4
0
0
0
0
-9
0
0
0
0
0
0
39
0
0
-3
0
0
0
8
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-17
0
0
0
0
0
0
27
0
0
-1
0
0
0
-17
0
2
-1
0
0
0
36
0
0
-16
0
0
0
18
0
1
0
0
0
0
-9
0
0
0
0
0
0
-3
0
2
-2
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
3
0
0
-39
-2
-5
0
6
13
7
2
0
0
0
-3
7
-1
0
3
1
-1
-5
-4
1
36
18
-3
26
-2
0
-4
-4
7
-12
-39
20
-14
-7
-22
91
25
33
-2
53
-17
1
23
-18
3
-6
3
0
-2
13
51
13
0
-2
-18
-26
-12
-6
1
-18
4
8
25
0
-3
2
-10
-2
0
0
4
-12
0
36
-1
-4
-1
0
0
0
25
0
4
32
0
-2
20
-21
0
-3
8
-7
2
17
-44
0
23
-4
4
0
-37
29
35
-10
57
26
0
-1
22
-1
-16
14
3
-7
9
0
1
1
4
-1
-2
0
-10
-7
-22
-3
0
17
0
60
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
19
1
-27
0
5
9
0
0
15
0
0
-22
-8
0
0
-3
0
-9
31
1
46
-10
-6
-8
41
-2
0
0
-27
0
-8
-19
16
3
1
45
-6
-1
49
37
4
5
-2
6
-1
10
-26
3
-21
3
6
7
54
3
0
2
-48
-12
-9
0
46
0
-12
-3
-3
19
0
17
0
0
0
0
21
0
-11
-1
0
0
-2
0
8
11
-11
-10
0
0
0
-26
-7
0
2
-11
-8
0
4
-17
0
-46
50
0
0
8
21
2
43
21
18
3
-1
21
4
-14
-33
-1
-4
4
-8
1
-37
-1
18
0
0
13
1
-1
-12
0
-1
0
-42
2
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
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
4
-9
0
0
0
0
0
12
-7
0
0
0
0
0
24
0
-1
2
0
1
-8
-9
0
-1
0
0
0
7
-7
0
0
-3
0
1
-8
69
0
-8
5
0
0
0
12
0
4
0
0
0
2
-19
-3
0
-1
0
0
0
2
-3
0
0
1
1
0
20
0
0
0
0
0
0
-46
0
0
0
0
0
0
-6
0
0
0
0
0
0
52
0
0
-2
0
0
-3
17
1
11
4
0
1
1
-45
0
0
9
4
0
0
38
0
3
-2
0
0
0
8
0
0
0
0
0
0
-16
-2
-12
0
0
8
0
-57
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-34
4
4
0
0
0
0
16
0
0
0
0
0
0
18
0
0
0
0
0
-3
-10
0
0
2
0
0
-4
53
0
0
0
0
0
0
-9
0
0
1
0
0
0
14
0
0
-1
0
0
0
7
0
0
0
0
0
0
-1
0
0
-1
0
0
0
5
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
3
0
0
0
0
24
0
0
0
0
0
0
-10
0
0
1
0
0
0
23
0
0
-7
0
0
0
-11
0
0
0
0
0
0
-33
0
0
0
0
0
0
-57
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
4
0
0
0
0
0
0
3
0
0
6
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
7
0
0
0
0
0
0
-11
0
0
0
0
0
0
6
0
0
13
0
0
-1
-1
0
0
1
4
0
-2
7
0
-1
-3
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-2
0
0
0
-7
0
0
2
-3
0
0
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
-2
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
4
-15
-1
-6
0
0
0
3
0
0
0
0
2
0
33
0
0
-3
5
-1
10
-4
0
0
-14
0
-9
-13
14
-2
1
31
49
-2
-5
-33
9
-6
7
-2
0
21
-21
-12
-12
-1
0
8
-3
-8
-1
5
-1
0
0
-1
0
-4
31
52
-10
0
0
8
0
0
0
0
0
0
-6
1
-1
0
2
0
0
22
0
31
0
0
6
4
-5
0
-7
3
16
0
11
31
13
40
38
2
0
25
14
0
-2
2
-26
0
1
7
4
24
30
-3
-7
12
51
-2
1
4
15
0
0
0
-3
-22
-8
2
0
0
-2
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
49
0
0
0
0
0
0
-4
0
0
2
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
-4
0
0
0
0
0
4
-7
0
0
0
7
0
1
29
0
0
-1
0
0
0
1
0
0
0
0
0
0
24
0
0
0
0
0
0
19
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
3
0
0
0
0
0
0
-1
0
0
1
0
0
0
18
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
38
0
0
0
0
0
0
14
0
0
-2
0
0
0
53
0
0
1
0
0
0
-19
0
2
-4
-1
0
0
-15
0
0
-3
0
0
0
-11
0
0
3
1
0
0
38
0
0
0
0
0
0
-3
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
28
0
-3
0
0
0
0
3
0
0
2
0
0
0
-17
0
0
-4
0
0
0
9
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
-10
4
54
-9
-2
2
3
-29
18
16
16
-12
-16
-29
-9
37
1
-4
-15
-75
46
41
-2
12
1
25
-30
16
-38
-33
-16
3
43
28
15
-13
-24
1
14
9
-1
25
-6
6
4
5
-6
9
8
-32
16
0
0
-3
-13
2
-35
-10
0
22
-7
-7
2
15
0
4
-17
-1
3
53
36
9
-2
-1
3
0
46
40
6
31
-1
1
46
-39
-1
1
-2
-15
30
-23
50
-34
9
9
10
-1
6
42
-5
-4
5
-29
33
-54
-46
14
-9
0
11
38
-16
-18
8
18
-1
0
0
53
-6
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
-1
19
0
0
1
0
0
2
-33
0
0
-8
0
-3
0
-64
0
0
11
0
0
0
19
0
-13
6
0
0
0
13
0
7
-1
0
0
2
17
-1
0
0
0
0
0
-16
0
0
0
0
0
0
7
0
0
0
0
0
0
7
0
-1
1
0
0
0
-5
0
0
0
0
0
0
34
0
10
1
0
0
0
16
0
0
-3
0
0
0
-32
0
-3
0
-1
0
0
15
0
0
0
2
0
0
-2
0
-2
0
0
0
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
-10
0
0
-8
0
0
9
-23
0
0
-1
0
0
0
38
0
0
0
0
0
0
61
0
0
-1
0
0
0
8
0
0
2
0
0
0
-41
0
0
0
0
0
0
-1
0
0
0
0
0
0
-28
0
0
0
0
0
0
2
0
0
0
0
0
0
-9
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
-17
0
0
0
0
0
0
-8
0
-4
0
0
0
0
9
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
4
0
0
0
0
0
1
39
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
41
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
21
0
0
0
0
0
0
4
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
6
0
0
0
0
2
0
0
0
0
0
0
18
0
2
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-8
2
-25
11
16
-4
41
1
0
9
16
2
43
4
14
-26
54
-26
22
20
24
1
2
13
15
36
4
-7
8
-1
-3
9
-5
-8
21
8
14
36
19
1
-25
-18
-17
12
-38
9
8
-37
2
14
14
-1
2
-19
3
0
0
-4
-2
0
-12
0
0
23
8
8
27
-8
2
-4
3
1
49
-3
10
-8
34
30
-4
6
-8
9
-3
0
-1
-2
27
-18
0
0
-25
-16
-1
-17
-58
5
-1
4
19
-6
8
15
-7
13
0
8
2
19
-27
24
54
0
19
26
9
0
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
20
0
0
0
0
0
1
-30
0
0
0
3
0
3
13
0
0
0
0
0
0
59
0
0
0
0
0
0
31
0
0
-1
0
0
0
23
0
0
0
0
0
0
-11
0
0
0
0
0
0
37
0
0
0
0
0
0
9
0
0
0
0
0
0
19
0
0
0
0
0
0
-42
0
1
1
0
0
-3
10
0
0
-4
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
10
0
0
0
0
0
0
6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
8
0
0
1
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
-4
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
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
12
0
0
0
0
0
0
-22
0
0
-4
0
0
0
-20
0
0
1
0
0
0
8
0
0
-3
0
0
0
-21
0
0
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-5
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
0
0
-1
0
0
0
-7
0
0
1
0
0
0
-8
0
0
0
0
0
0
-17
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-17
0
3
20
-2
-2
-34
18
0
6
58
39
3
22
4
0
12
23
-33
0
-5
-27
0
6
-35
5
4
16
-15
15
-2
14
1
-3
0
-3
-3
-1
29
10
-15
0
6
0
6
0
0
2
0
31
0
0
6
3
0
0
0
0
32
0
8
0
18
31
4
2
15
-10
3
17
48
0
2
-63
21
0
5
5
-4
-13
30
9
0
-5
-8
0
46
-34
-2
3
0
38
0
-4
4
1
-3
0
-7
-2
-10
0
0
-10
0
19
-1
-3
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-2
0
0
0
1
0
0
18
0
0
-11
0
0
0
51
0
0
0
0
0
0
-17
0
0
1
0
0
0
0
0
0
0
0
-2
0
38
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-1
0
0
0
16
0
0
1
0
0
0
0
0
0
0
0
0
0
3
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
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
-3
0
2
0
3
-1
1
0
3
0
0
3
21
0
0
0
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
10
0
-3
0
0
0
0
0
0
-7
-11
0
0
0
0
0
3
0
0
0
0
0
0
19
0
0
0
0
0
0
-8
0
0
-3
0
0
0
-32
0
0
1
0
0
0
-26
0
1
0
0
0
0
-13
0
0
0
-9
0
0
24
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
1
0
0
0
28
0
0
-6
0
0
0
15
0
0
-16
0
0
0
51
0
0
-2
0
0
0
-22
0
0
0
0
0
0
8
0
0
0
0
-2
0
32
0
0
0
0
0
0
15
0
0
0
0
0
0
-21
0
0
0
0
0
0
-5
0
0
0
0
0
0
-17
0
5
-1
0
0
0
-3
0
0
0
0
0
0
-5
0
6
1
0
0
0
6
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
7
0
0
0
-33
0
0
-1
0
0
0
-7
0
0
1
0
0
0
-1
0
0
-6
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
20
0
0
0
0
0
0
7
0
0
0
0
0
0
26
0
0
4
0
0
0
-3
0
6
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-9
0
1
0
15
0
-1
31
0
0
-1
-11
0
-1
40
0
0
0
1
0
0
1
0
-2
0
17
1
0
0
0
-13
0
49
0
0
0
0
0
0
32
0
0
0
0
0
0
21
0
-6
0
0
0
0
33
0
0
-1
0
0
0
53
0
12
0
0
0
0
45
0
-1
8
0
0
0
-9
0
17
1
0
0
0
40
0
0
0
0
0
0
-19
0
9
0
0
10
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
9
-21
8
2
-7
-8
48
2
14
-30
-16
44
39
47
7
-24
-25
-18
27
5
25
19
-17
19
-10
12
-7
-4
-6
-16
6
13
43
3
-1
0
4
-6
13
-4
14
1
0
0
-15
6
1
4
-1
0
40
24
1
27
0
26
18
0
-3
-12
5
20
0
-25
-10
14
37
-25
-11
3
-12
25
-33
-29
6
15
11
-2
1
-3
5
-4
20
-5
14
-32
-7
17
3
-4
1
0
2
1
-26
6
23
-47
0
27
19
-10
1
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
21
0
0
-10
0
0
0
15
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
-6
0
0
0
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-27
0
0
0
25
0
-1
23
0
4
-9
0
0
-1
11
2
0
3
-7
0
0
45
0
0
-3
0
0
0
16
0
0
0
0
2
0
35
0
0
0
0
2
0
33
-2
0
0
0
0
0
65
0
0
0
0
0
-2
31
0
0
0
0
0
2
17
0
0
3
0
0
-2
-42
0
0
-3
0
0
0
-36
-3
7
0
0
0
0
-3
0
0
0
0
0
0
-23
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
12
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
-2
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-13
0
0
-1
0
0
0
4
0
0
4
0
0
0
32
0
0
1
0
0
0
-10
0
0
0
0
0
0
-19
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
-34
0
0
0
0
0
0
21
0
-4
0
0
0
0
1
0
0
2
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
0
-1
-6
0
0
8
20
0
-3
1
2
0
0
4
0
0
-1
0
0
0
29
0
-1
0
-8
-2
0
12
3
0
0
0
0
0
6
-1
0
0
0
0
0
-12
0
-11
1
0
0
0
17
0
-1
2
0
0
0
23
0
-2
0
0
0
0
24
0
-2
5
-3
0
0
10
0
0
4
0
0
0
-25
0
0
2
3
0
0
-5
0
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
50
-9
38
4
32
-28
-2
13
5
1
24
-3
17
-5
-19
-6
0
26
0
-18
0
8
1
31
25
6
-1
0
2
-10
7
-6
0
25
-10
23
-1
6
0
-4
-2
0
-5
-9
-8
-7
71
-45
0
-5
-62
3
0
-50
0
7
-6
-42
-35
0
10
-2
12
-46
-2
-11
0
61
9
0
-8
22
32
-6
8
-2
7
21
7
-2
7
0
-5
9
17
0
42
38
0
14
-25
1
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
63
0
0
0
0
0
0
-27
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
36
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
-16
0
0
2
0
0
0
-21
0
0
0
0
0
0
5
0
0
0
0
4
0
97
0
0
0
0
0
0
13
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
28
0
0
-3
20
0
3
0
11
0
0
-8
0
1
-2
0
0
0
-21
1
0
-3
0
4
0
-31
0
0
0
0
0
0
48
-2
0
0
0
0
0
-23
0
11
0
0
0
0
9
0
0
6
-3
0
-3
-32
0
63
0
0
0
0
10
0
-7
1
14
0
-3
28
0
32
-12
0
0
0
23
-1
0
0
7
0
0
7
0
11
0
0
-10
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-18
0
0
0
-23
0
0
43
0
0
2
0
0
0
0
0
0
0
-14
0
0
0
0
3
0
10
0
0
0
0
0
0
-13
-1
0
0
0
0
0
-6
0
5
0
0
0
-1
15
0
0
-17
0
0
0
-15
0
0
9
0
0
0
2
0
0
-2
0
0
0
-21
0
0
0
0
0
0
51
1
0
0
0
0
0
57
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
-1
0
0
-2
0
0
0
21
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-12
0
0
28
0
0
0
5
0
0
0
0
0
0
-19
0
0
0
0
0
0
14
3
0
0
0
0
0
-10
0
0
0
0
0
0
28
0
0
-1
0
0
0
0
0
0
1
0
0
0
3
0
-12
-2
0
0
0
-17
0
-2
-17
-4
0
0
3
0
20
0
0
0
0
82
0
7
-3
-1
0
0
23
0
9
1
0
0
0
65
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-40
20
-53
11
25
-18
14
8
35
12
-2
-15
0
-10
-7
4
7
31
-51
4
12
-19
-4
4
-15
10
0
-1
20
3
0
8
0
-5
-15
-4
24
38
-9
-25
13
19
-3
11
29
-7
0
-12
35
6
17
10
31
6
-32
0
5
12
-1
-59
6
-4
23
-7
9
-24
26
-11
12
-8
25
47
0
8
4
-6
5
17
-8
0
17
20
0
-38
-1
21
6
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
-38
0
0
0
0
0
0
-1
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
15
0
0
0
0
0
0
-1
0
-7
1
0
0
0
15
0
0
3
0
0
0
1
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-56
35
-16
2
3
20
0
0
2
3
-1
0
4
7
3
-3
0
46
0
10
0
0
0
0
0
0
53
8
-4
0
3
0
0
24
0
-14
4
0
-1
0
-3
0
-3
-1
2
0
-2
-7
0
22
-4
0
0
-4
-1
4
-7
38
-6
0
9
-69
0
-12
3
8
0
11
-9
0
0
-2
0
-4
0
-15
1
54
4
-1
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
24
0
0
0
0
0
0
-8
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
-19
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
-3
0
0
0
0
0
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
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
-1
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
1
-2
0
0
0
31
0
0
0
0
0
0
-4
0
0
0
0
0
0
10
0
0
0
0
0
0
26
0
0
1
2
0
0
-2
0
6
3
0
0
0
-6
0
2
4
0
0
0
-20
0
-19
0
0
0
0
-41
0
0
0
1
0
0
-27
0
-9
1
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
18
42
-1
1
-3
16
-8
27
52
17
27
-4
10
6
-15
3
-9
-1
0
-28
-5
-3
-3
2
0
3
26
21
51
11
25
10
-7
13
0
14
49
30
3
16
-9
-16
36
6
-6
16
-55
27
24
-58
14
-32
8
-19
0
0
-54
3
6
0
-7
-13
3
1
-18
-6
7
-6
27
14
26
-6
9
-21
0
-1
-14
3
4
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
10
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
7
0
-8
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-3
1
0
0
0
-4
0
0
0
0
0
0
29
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
1
0
0
0
0
3
0
0
-2
0
0
1
17
0
-9
-1
0
0
1
-16
0
2
3
4
0
0
-26
0
4
2
0
0
0
-19
0
0
0
0
0
0
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
3
0
34
2
0
0
-4
5
0
13
-2
0
0
0
0
0
7
2
0
0
0
0
3
-20
0
-4
0
0
0
2
-13
0
0
-4
0
0
11
41
-2
-17
3
-4
0
2
-28
0
3
1
0
0
0
-7
0
3
-3
0
0
0
12
1
1
0
0
0
-1
4
1
-17
0
0
1
0
36
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
15
0
0
0
0
0
0
42
0
0
-1
0
0
0
38
0
0
0
0
0
0
13
0
0
0
0
0
0
-7
0
2
0
0
0
-1
-14
0
0
0
0
0
0
15
0
-2
3
0
0
0
-10
0
0
1
0
0
0
13
0
3
-3
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
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
-2
0
1
-3
0
0
0
-4
0
0
6
0
0
0
22
0
0
2
0
0
0
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
1
0
25
0
0
0
0
0
0
-8
0
0
0
0
0
0
-10
0
0
0
0
0
0
-10
0
0
-1
0
0
0
4
0
1
4
0
0
0
5
0
0
1
0
0
0
-2
0
0
-4
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-20
8
4
-21
37
8
-2
16
-1
0
-3
-6
15
-10
-14
-7
-2
0
1
0
4
6
19
-17
20
-2
0
-10
-3
4
24
-35
-59
0
4
-14
-7
3
-12
2
2
1
3
11
62
-16
-47
11
6
21
3
20
-4
1
-3
-12
0
0
-34
-40
25
0
-4
3
2
47
25
0
14
0
27
6
33
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
5
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
6
0
0
0
0
8
0
0
0
0
0
0
3
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
-6
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-4
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
-2
0
0
9
0
3
0
0
0
0
16
0
0
7
-1
0
0
3
0
-1
7
0
0
0
8
0
0
0
0
0
0
-1
0
9
0
0
0
0
8
0
-7
0
0
0
0
27
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
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
-32
0
0
0
0
0
0
20
0
0
0
0
0
0
8
0
6
0
0
0
0
29
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
1
0
0
0
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
6
0
0
-1
0
0
0
20
8
0
0
0
-2
0
-28
0
20
2
0
-4
9
-21
0
0
9
-9
0
-36
25
-7
-50
0
0
0
-22
7
6
11
29
25
0
3
-1
0
-55
15
6
0
0
11
0
-12
20
0
0
1
0
1
42
0
0
0
0
12
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
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
6
0
0
-1
0
0
0
2
0
1
0
0
0
0
2
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
0
0
0
0
0
0
-19
0
0
0
0
0
0
14
0
3
0
0
0
0
46
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
-10
0
0
0
-1
0
0
-7
0
2
2
0
0
0
3
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
-36
0
-1
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
4
0
6
0
0
0
0
34
0
0
-8
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
10
0
0
0
0
0
0
11
0
6
0
0
0
-1
5
0
0
-3
0
0
0
0
0
-2
-9
0
0
0
-21
0
-2
59
2
0
0
19
0
13
-1
0
0
0
15
0
3
-1
0
0
0
43
0
-12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
22
0
0
-1
10
-12
25
-2
12
0
8
10
16
-9
44
6
4
0
-21
-12
-39
-16
-11
-23
-1
-13
20
-12
6
8
72
0
9
15
0
-32
0
5
-1
-16
14
-19
26
65
9
-3
-1
-20
6
-30
-29
4
25
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
18
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
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
3
0
0
0
0
-11
0
0
0
0
0
0
9
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
3
27
21
0
-3
0
-31
0
0
8
-4
0
0
-17
0
51
15
0
0
10
28
-2
2
-30
-3
4
-7
-5
-1
64
28
9
0
-2
-18
0
-2
-1
9
0
1
-20
0
-13
0
0
6
0
46
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
46
0
0
-8
0
0
0
-1
0
0
-3
0
0
0
-5
0
1
0
1
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-37
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
-6
4
3
0
6
5
0
6
-13
0
0
4
14
2
7
-35
5
0
-3
-17
3
-9
-8
0
0
0
43
0
10
2
-2
0
0
19
0
10
5
13
5
0
31
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
-1
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
-2
0
0
0
0
4
0
0
-7
0
0
17
4
0
1
0
-3
0
0
47
0
1
0
0
0
0
29
0
0
2
-4
0
0
34
0
15
-1
0
7
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
2
0
0
3
0
0
0
12
0
0
0
0
0
0
-1
0
1
0
0
0
0
-3
0
0
0
0
0
0
-8
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
-3
0
0
0
0
-13
0
0
0
0
0
0
2
0
0
-6
0
0
0
-8
0
0
0
0
0
0
9
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
-13
-90
0
-16
-10
-4
-1
61
38
15
-3
-3
12
0
-6
9
0
-19
-2
1
-1
0
11
15
-1
-23
-1
0
0
28
0
24
0
12
1
0
-15
-3
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
4
0
0
0
0
0
0
18
0
0
-2
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
5
0
0
0
0
22
0
0
4
1
0
0
5
0
0
0
0
0
0
-4
0
0
0
0
0
0
15
0
-9
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
-2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
2
0
0
0
-35
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
5
4
-1
16
-11
0
14
6
2
59
30
-1
0
3
3
0
-14
10
9
-1
-6
3
0
-53
-6
0
4
0
-32
0
26
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
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
-20
0
0
-3
4
0
1
-30
0
56
13
0
0
0
-8
1
3
1
-4
0
0
-26
0
6
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
0
3
-2
-1
0
0
-5
-3
17
1
0
0
0
-7
0
0
-1
0
0
0
-11
0
-6
0
0
-3
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-18
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
60
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
0
11
41
-16
0
13
17
2
17
-19
-1
-1
1
8
0
-12
1
0
-2
0
-20
40
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-10
0
0
0
0
-8
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
39
0
-1
-4
0
0
0
-3
0
0
0
0
0
0
-62
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
35
-11
-1
0
0
-19
0
0
1
-3
0
0
-13
0
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-7
4
0
0
0
1
0
4
0
0
0
0
49
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
15
9
-3
-1
5
1
31
-3
0
10
0
31
25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
0
0
0
3
0
0
7
13
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
-11
-3
12
22
0
13
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
18
-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
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
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
10
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
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
-17
0
-2
0
0
-1
0
-13
-7
5
8
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
-1
-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
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
13
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
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
28
0
-2
0
0
0
0
-3
2
-10
-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
-2
0
0
0
0
0
0
17
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
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
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
22
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-3
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
1
14
-14
-10
-8
-4
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-14
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-9
0
-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
-8
0
0
0
0
7
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
3
0
0
-5
0
-1
3
-5
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
55
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
12
0
0
3
0
0
-7
0
0
-15
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
-12
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
5
-3
0
0
0
0
0
3
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-8
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-14
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
9
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
14
0
-2
-1
-3
0
-5
0
0
4
0
2
-1
-7
-1
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-9
-18
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
2
0
-13
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
-3
-9
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
-7
0
0
0
0
0
0
0
0
-6
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
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
2
-4
0
0
-14
0
0
0
0
-8
17
-9
22
-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
7
0
18
0
2
0
0
0
0
20
9
5
-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
15
0
0
0
0
1
2
-12
3
-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
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-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
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-9
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
18
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
-2
0
0
0
0
0
0
0
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
0
0
-1
10
6
-5
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-3
-10
7
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
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
-12
0
0
9
0
0
-15
0
-2
-12
0
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-2
-2
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
8
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
3
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-5
-2
0
-4
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
2
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
9
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
13
-2
-11
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-3
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
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
0
0
0
0
0
2
3
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-10
-8
0
0
-14
0
0
-5
-2
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
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
-17
0
0
2
0
0
4
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
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
9
0
0
3
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
7
0
0
0
0
0
0
0
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
4
-3
0
0
0
0
0
-2
-23
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
11
0
-34
-5
0
0
0
0
0
9
-20
-5
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
-14
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
25
0
-6
-13
0
0
0
0
0
11
10
1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
10
0
0
0
0
0
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
3
0
0
0
0
0
0
7
-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
-2
0
4
20
0
0
0
0
0
-1
-9
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
-5
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
33
0
0
19
0
0
0
0
0
-21
4
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
-1
0
0
0
0
0
2
-2
-8
-6
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
2
0
-7
0
0
0
6
2
1
3
-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
-3
1
-11
0
0
0
0
10
-5
3
5
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
2
-3
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
2
0
0
14
0
0
14
6
6
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
5
0
1
0
0
0
2
0
3
8
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
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
3
0
0
0
0
-4
-3
-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
-3
5
0
0
0
0
0
1
7
-6
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
6
0
0
0
0
0
2
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
0
0
0
2
0
0
0
0
0
0
-6
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
3
-2
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
14
2
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
0
0
0
0
0
0
-6
0
0
2
0
0
0
0
0
1
0
9
-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
-4
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
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
-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
2
0
-5
0
0
0
0
0
-2
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
5
0
0
-1
-1
3
4
-6
-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
6
9
0
-9
0
0
0
0
0
-9
5
12
-3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-10
3
-2
0
0
4
-2
-11
-9
1
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
-4
-4
0
6
0
0
0
0
6
0
-13
-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
-1
2
-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
6
0
0
0
0
8
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
-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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
4
-9
-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
-2
-5
0
4
0
0
0
0
-2
1
-2
17
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
16
0
-2
0
0
0
0
8
1
-5
-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
2
0
-1
5
0
0
0
0
-6
-3
8
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
-5
-1
6
6
0
0
0
0
-3
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
5
0
0
0
0
0
4
4
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
6
0
0
0
0
0
0
0
3
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
-3
3
9
-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
10
0
0
0
0
0
12
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
0
0
0
0
0
6
0
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
-4
0
0
0
0
0
8
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-8
-2
0
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
-11
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
12
-1
3
-4
0
0
0
0
0
2
-5
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
5
0
0
0
0
0
-1
-7
-1
9
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
3
0
0
0
0
-7
-3
6
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
-13
3
-2
-5
0
0
0
0
1
-9
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
2
0
-4
10
2
0
0
-1
-4
-10
4
2
1
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-5
0
0
0
0
2
-9
-3
4
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-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
1
3
-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
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
-8
-2
2
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-8
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
2
0
0
0
0
0
0
-5
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
2
0
0
0
0
0
-2
-6
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
-5
0
-10
0
0
0
0
-3
0
12
-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
-1
-2
-2
-4
0
0
0
0
-6
-1
-1
-16
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
-3
3
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
3
-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
-2
0
0
0
0
0
1
6
-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
3
0
0
0
0
0
4
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
-20
-8
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
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
-5
-8
-8
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
7
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
3
1
-6
-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
-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
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
9
-9
9
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
1
-7
-1
-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
0
0
0
0
0
0
0
0
0
0
4
0
0
-3
0
5
-10
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
1
0
0
4
-3
16
-2
-3
-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
-9
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
-5
-2
-1
2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
17
4
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
-2
-2
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
-3
6
-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
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
46
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
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
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
5
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-8
0
0
0
0
0
0
-2
4
-4
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-7
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
4
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-2
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
4
-1
0
0
0
0
4
1
-3
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
10
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
8
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
2
2
-2
-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
-2
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
6
6
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
-1
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
1
0
0
0
0
0
0
-2
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
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
-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
6
0
0
0
0
0
-3
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-2
-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
-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
2
9
0
-1
0
0
0
0
0
6
-18
3
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
4
0
6
-2
0
0
0
0
-2
-7
-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
-11
0
3
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
-10
0
-8
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
-5
0
0
-10
0
0
-2
-5
0
-5
2
-1
-7
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
1
0
-7
0
0
0
0
0
-1
-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
0
0
-10
-1
-5
0
0
0
0
-4
2
-8
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
1
0
-15
0
0
0
0
-1
-3
-10
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
5
0
5
7
0
0
0
-1
-3
0
2
2
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
-2
0
6
-3
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
0
0
-2
0
0
0
0
0
-8
-17
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
-4
-2
0
-6
0
0
0
0
4
-1
-1
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
-12
11
0
1
0
0
2
-1
1
-11
-1
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
-8
-1
-6
-12
0
0
0
0
1
-3
2
9
-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
14
-4
6
-6
-8
3
-3
10
0
2
-4
0
0
9
-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
-5
-2
5
-2
-5
16
0
0
0
-9
-4
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
1
2
-1
1
-10
12
-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
5
0
0
-2
0
0
0
0
8
2
6
-9
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-5
2
0
0
0
0
0
-3
0
-6
-7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-15
0
0
0
0
0
2
2
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
-10
1
-8
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
-7
0
0
0
0
0
4
18
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
-8
-10
0
0
-6
0
0
-2
0
-9
5
-8
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
2
10
12
-5
-1
0
0
0
0
12
-8
-3
-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
-2
1
-1
-9
15
0
0
-5
0
3
-4
-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
3
-4
-4
4
3
0
0
0
-5
7
-1
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
6
0
-7
0
0
2
13
3
-5
-6
-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
-1
2
0
1
0
0
0
0
-3
6
8
-8
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
11
0
0
-4
0
3
-1
-14
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
0
0
6
1
0
2
0
0
0
0
-2
-3
1
-1
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-10
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
7
0
0
3
0
0
0
0
0
4
-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
-4
0
-3
0
0
0
0
0
2
13
1
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-4
-4
-4
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-1
0
0
0
0
0
-1
1
8
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-3
0
4
-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
6
8
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-3
0
0
3
0
0
-8
2
9
-1
0
4
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-3
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
8
-2
-5
0
0
0
0
-9
0
-1
-1
-2
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
3
0
-2
0
0
0
0
3
-2
1
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
2
0
0
0
0
0
0
4
-3
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
6
0
-4
0
0
0
0
0
2
-3
5
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-1
1
0
3
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
8
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
8
-5
4
8
5
-3
10
0
0
-5
0
-4
-10
-3
-5
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-5
14
0
0
0
0
0
-3
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
-3
4
0
0
0
0
0
0
8
17
7
2
5
-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
-2
0
0
0
0
0
-1
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
-1
1
-3
0
0
0
0
0
-1
-1
6
2
8
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
4
4
6
0
0
0
0
0
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-2
-1
-3
-1
-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
7
0
0
0
0
0
-2
-12
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
-1
2
0
-2
0
0
-9
0
-1
-7
1
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
6
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-1
-2
0
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
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
-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
-2
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-5
-2
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-5
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
-7
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
6
-5
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
5
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-14
0
0
4
-2
1
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-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
-1
0
0
-4
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
-5
0
0
2
0
0
0
3
-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
2
-1
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
13
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
7
0
-11
2
0
0
-8
0
0
4
2
-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
4
0
0
0
0
0
0
3
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
8
0
0
0
-3
0
0
0
-2
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
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
3
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-5
-5
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
6
12
0
0
-15
0
0
-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
1
0
0
4
0
0
3
-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
-7
2
-4
9
0
0
-4
0
0
-2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-6
0
0
1
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
4
-8
-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
-4
-1
0
0
0
0
0
-3
2
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
15
-4
-6
-9
0
0
0
0
0
2
-14
-3
-4
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
6
-5
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
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-7
1
0
0
0
0
0
1
-12
-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
6
10
0
-6
0
0
0
0
0
-1
-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
-8
0
-10
-9
0
0
0
0
0
-2
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-12
0
0
0
1
0
-5
-7
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
13
4
-14
-5
7
0
0
0
2
7
-4
-3
-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
1
2
5
-2
0
0
0
0
0
0
11
-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
19
2
-4
-4
0
5
0
0
0
11
-2
6
-5
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
1
7
4
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
6
0
-9
-6
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
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-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
13
0
2
2
-6
0
0
0
0
4
1
-5
0
-9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-4
0
0
0
0
0
-2
-3
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
-1
5
1
12
-4
0
0
0
-2
-1
-5
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
9
0
-2
0
0
0
0
5
2
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
10
-4
1
10
0
0
0
0
2
-12
12
-4
-12
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
0
0
0
0
0
-1
-11
-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
-2
6
1
-5
0
0
0
0
6
-13
-10
-6
-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
2
0
0
0
0
0
0
0
0
-4
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
3
0
0
0
0
0
-10
6
-16
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
0
0
0
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
-9
5
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
0
0
0
0
-7
-5
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
-1
0
0
0
0
0
0
0
16
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
0
-1
1
0
0
0
0
0
-5
9
-14
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
1
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
10
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-15
0
-2
0
0
-3
0
-15
-7
1
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
9
0
0
0
0
0
0
-16
-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
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
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
25
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
2
0
-10
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
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
12
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-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
4
-5
-9
-8
-2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
3
-12
-13
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
-1
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-10
0
-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
-7
0
0
0
0
5
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-5
0
0
1
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
46
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
4
0
0
6
0
0
-5
0
0
-15
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
-4
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
-12
0
11
-6
0
0
0
0
0
1
4
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-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
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-16
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-3
0
-2
-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
12
0
0
0
-1
0
-5
0
0
4
0
7
-1
-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
1
0
0
0
0
0
-5
-9
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
2
0
-9
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
-1
-9
5
-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
-3
0
0
3
0
0
0
0
0
-2
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
-3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
-4
0
0
-13
0
0
0
0
-6
12
-8
14
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
4
0
12
0
3
0
0
0
0
13
2
4
-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
11
0
0
0
0
2
2
-12
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
12
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
-9
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
3
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
5
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
12
-11
4
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-4
0
0
0
0
0
-3
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
1
0
0
0
0
0
0
0
0
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
6
-5
-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
-10
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
9
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
4
-5
0
0
8
0
0
-13
0
-3
-16
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
6
0
0
0
0
0
0
-1
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
8
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-4
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-5
-2
0
-4
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
13
-1
-5
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-3
0
0
-1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
4
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-5
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
-4
0
0
-10
0
0
-6
-2
-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
-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
7
0
0
-2
0
0
-3
0
0
0
0
-8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
2
0
0
0
0
0
-14
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
1
-4
0
0
0
0
0
-14
-5
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
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
-9
0
0
0
0
0
0
-12
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-33
-10
0
0
0
0
0
3
-12
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
-14
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
22
0
-5
-9
0
0
0
0
0
6
1
6
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
7
0
0
0
0
0
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
3
0
0
0
0
0
0
6
-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
-1
0
1
20
0
0
0
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
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
17
0
0
0
0
0
-16
2
-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
-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
-11
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-2
0
-2
6
-1
0
-1
7
0
0
10
0
3
-1
0
-5
-1
3
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
7
0
3
0
-11
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
-30
-4
-10
-13
-21
-16
33
43
76
48
83
0
0
0
0
0
0
0
-5
-5
-14
28
-4
-19
-12
9
-6
-34
-4
3
0
0
5
6
11
4
-17
-51
-43
-5
-1
0
0
0
-1
-4
0
0
0
-4
-1
-5
0
0
2
0
-1
0
-1
-3
0
-3
-1
-1
0
0
0
1
1
-5
0
0
0
0
2
3
0
0
0
-3
0
0
0
-2
-7
-30
-1
0
-1
-18
-26
-18
0
-27
7
-6
-32
-3
-4
52
-19
-44
0
-23
-14
-12
-86
-83
-23
2
0
-3
16
5
18
-2
-15
0
29
9
-1
-2
11
14
-1
1
-5
14
13
4
2
-1
0
9
54
1
6
3
14
29
4
4
29
16
4
2
6
0
40
42
9
4
18
17
61
5
4
20
17
11
1
0
0
0
2
-1
0
0
0
-1
0
-1
0
1
0
5
0
0
0
9
0
0
0
0
0
1
0
-1
0
2
0
2
0
5
-2
3
0
3
-1
6
-1
2
2
2
4
-112
-1
0
0
-56
-68
-65
-2
0
-43
-58
-125
-94
-48
-21
-28
-44
0
-34
3
-34
-100
-83
-163
-26
-35
-13
-34
-17
2
-1
-4
0
11
8
-3
-6
3
-3
2
0
-1
5
17
10
6
9
0
4
20
8
2
12
19
10
-1
14
8
36
39
10
12
0
37
-1
27
11
21
75
56
4
15
44
44
77
-9
0
0
0
-47
7
0
0
0
5
5
0
-15
3
-6
-9
21
0
9
50
13
16
35
7
-7
7
-7
6
1
36
46
135
0
32
-1
21
32
50
69
-14
0
43
98
81
1
-26
0
0
0
-2
-5
-1
0
0
49
-24
-27
-32
-19
2
-25
-29
0
0
-15
10
-29
-7
7
-12
-4
-27
-26
-32
-1
-1
37
0
-47
24
7
6
41
-49
19
-6
-16
-17
-15
-4
-28
-12
0
4
-6
9
1
11
-47
-20
-16
0
18
-10
-5
27
29
0
21
0
5
2
-3
16
1
-11
-1
33
-22
-2
-10
-3
-2
1
3
2
4
10
12
2
6
1
0
2
-4
-1
-1
4
-13
-24
11
-11
13
-30
-18
-7
-1
0
-51
7
-8
-24
-27
-9
0
9
0
0
0
-17
-18
13
-36
6
-2
0
-319
5
1
2
-3
-1
0
13
-3
-2
-51
4
1
-40
-16
-19
-7
-3
-5
4
4
1
11
4
15
2
3
2
-5
0
0
3
18
-33
11
13
9
-5
-1
0
2
11
17
10
-1
17
-4
0
0
0
0
-16
-6
11
-6
0
27
3
4
2
-10
-3
0
3
2
-9
1
3
-11
23
-7
6
9
-20
0
-3
-16
-24
-27
-29
-10
1
-1
0
0
0
-3
-16
32
4
7
0
0
0
0
0
-19
48
10
51
1
-170
0
0
0
0
0
0
0
0
0
0
-77
-53
-38
18
62
-74
-13
-13
73
142
-31
2
-6
40
86
-80
-27
19
29
73
-66
-59
-37
-17
-18
-61
-44
-35
-42
-48
0
0
0
0
0
-110
-57
-2
0
6
-9
-6
-7
0
4
-69
-34
-20
-3
5
-66
-5
-6
11
25
-60
-30
-3
1
15
-8
-22
-15
-7
-14
-30
-11
-31
-17
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98
-57
-25
6
36
57
15
0
0
-114
-26
-13
39
62
16
0
0
0
-81
-43
-17
-9
14
25
0
0
0
-69
-38
-9
2
22
50
0
0
0
-44
-38
-38
-28
-18
-33
-44
-48
-69
-30
-34
-38
-36
-45
-53
-45
-39
-67
29
24
18
4
1
2
-1
0
0
-75
-37
-17
-4
15
-2
-3
1
-22
0
11
14
9
-1
-1
1
-8
-18
0
-51
-37
-2
-14
-10
-19
-16
-11
0
0
-31
-25
-4
3
-4
-28
-7
-45
-23
-29
-8
3
-3
0
-1
-34
-32
10
5
-21
-11
-1
-8
-17
-29
8
-24
-30
-12
-11
-15
-7
-25
-24
0
5
-23
-5
1
-1
-18
-22
-30
-34
-24
-44
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
6
-16
-36
-2
-20
-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
13
60
23
-22
-23
-14
-12
-18
-52
19
-41
-106
-57
-5
-22
-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
8
-26
18
30
-10
23
-6
-18
-10
-1
-2
16
-10
-26
38
-1
30
-19
-5
-52
-20
-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
6
2
1
21
0
2
-14
-9
6
2
5
-8
3
1
8
9
2
-8
24
-9
-4
-1
-11
39
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
-1
15
-17
20
0
-5
-6
1
-12
-4
8
8
2
-2
5
8
10
3
6
8
6
28
17
29
18
38
36
6
-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
6
9
-1
-24
-3
-5
-10
-5
-1
6
2
-2
2
1
3
5
3
13
15
7
7
13
8
0
31
28
21
28
26
-59
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
-1
-22
-28
-23
-1
-6
-3
-2
0
2
0
-1
1
3
-1
5
0
3
9
15
13
20
20
22
22
20
13
25
75
-13
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
-14
-57
-6
-11
4
-10
1
11
4
3
0
-1
-2
3
8
5
13
20
13
11
12
22
19
29
42
39
34
91
-2
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-41
0
-25
40
-2
1
1
2
5
2
3
5
5
4
7
10
12
6
10
7
13
6
-1
1
10
24
21
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-5
-27
3
5
-3
10
1
6
6
6
0
7
-4
-3
5
-1
8
-2
-15
-4
39
17
-4
16
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
32
1
-6
-26
4
1
3
3
2
1
0
-4
-4
-7
-2
-18
-10
-23
-22
-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
2
7
-19
-6
6
1
0
6
-4
-3
-1
-20
-4
-19
-25
-42
6
4
55
4
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-12
-1
1
-18
-13
-23
-65
-25
-54
-54
-76
-4
-19
-6
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
6
-1
-6
-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
-2
4
9
4
3
-1
-1
0
-2
3
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-4
11
-25
1
17
-17
-2
12
-7
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
3
11
-13
-2
1
-2
7
-1
-9
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
2
4
1
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-4
-1
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
3
2
1
9
13
1
4
2
7
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-9
21
7
-28
-15
0
-21
36
-24
0
7
-1
-6
1
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-2
9
0
-7
-18
-13
21
19
-10
-33
-1
-13
0
10
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
8
2
-2
1
-2
19
41
21
-13
4
3
2
-3
2
3
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
2
-3
-4
-3
-3
3
0
0
5
-7
-2
-3
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
6
-8
-13
8
-1
-9
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
-6
4
2
18
-9
22
6
0
-9
-9
9
-10
17
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-28
19
19
6
24
-27
3
-16
1
-3
-1
-2
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
0
6
-6
-6
15
-7
-17
3
-11
-9
11
-44
-15
12
2
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
2
-3
3
-8
-28
9
-11
9
21
10
8
4
8
-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
6
1
1
4
-3
0
1
-2
-2
2
-1
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
-3
11
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
1
0
0
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
0
2
-2
-2
0
-8
2
0
7
8
6
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
1
0
-6
-1
13
-16
0
6
4
-12
-2
-12
16
29
-1
9
3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-12
21
-3
-14
13
-22
-21
3
-9
-20
-5
-19
24
-9
-11
3
9
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
33
-17
44
47
-30
0
-18
4
33
-1
46
16
11
36
-9
3
-3
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
0
0
0
0
0
-1
-4
-6
8
-15
-9
7
-32
-12
-3
15
-3
1
-2
6
-11
-1
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
-2
7
0
-2
-1
-15
-2
-15
6
10
-2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
0
0
4
-2
0
0
0
-4
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
1
-1
-1
0
0
-1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
-3
3
7
-1
-11
0
3
4
-13
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
-8
-3
21
6
-8
10
-4
-21
9
9
7
8
-4
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
24
35
6
-35
-12
12
0
19
19
-28
3
19
-21
-3
13
-13
-21
0
2
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
4
13
-6
20
20
15
-28
2
33
0
18
25
18
16
8
2
-16
-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
7
6
1
11
7
-8
-22
-7
-1
-10
27
-11
-16
-15
-13
-24
10
33
-1
-2
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
11
-16
8
-2
0
18
27
51
-20
42
-6
-10
-25
-10
-6
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-27
6
15
-3
9
-2
22
13
-6
-1
-2
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-1
1
1
9
-2
-1
-1
1
1
13
-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
1
1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
-1
1
1
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
12
-12
7
-9
4
9
7
-16
-4
2
0
4
-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
6
-1
-3
-10
29
22
-25
-16
9
-15
-13
-9
-30
-9
18
24
7
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-26
-2
1
-22
-17
-30
-19
-24
-8
31
6
-4
11
-13
1
36
-57
12
5
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
8
24
9
1
-91
-19
49
-6
1
30
-61
-59
-64
12
-42
8
31
31
23
-21
-1
-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
-1
-2
-30
11
1
-2
55
-22
-6
-28
3
-45
-30
22
6
-22
-7
-68
32
-24
-16
-12
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
-18
3
37
-41
48
8
-36
-2
-9
20
13
-97
-7
-26
11
70
-10
-7
30
-4
35
-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
2
0
19
-20
21
18
-27
-24
-59
-38
-4
-48
17
13
-34
-25
-1
-11
59
-6
-7
3
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
17
-27
-43
8
4
73
-21
3
38
-42
10
10
-16
8
46
-29
-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
3
-10
2
-15
3
-4
13
12
28
-17
-8
17
-9
-1
-28
-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
-1
-1
1
2
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-4
8
-8
2
9
11
24
21
-23
-13
11
-2
-16
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
57
-37
28
0
-42
19
-14
-1
-31
37
20
-4
30
28
-1
23
-15
-12
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
13
13
24
-15
-2
15
-9
-1
-6
-11
-18
17
13
-29
-25
14
6
22
16
15
16
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
2
4
43
17
-25
-26
22
39
4
-26
-23
18
-27
21
21
-19
-9
26
-26
11
29
19
20
28
13
8
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-22
0
7
35
26
9
-7
39
-4
-26
24
-9
20
39
26
11
19
23
36
-10
17
5
42
0
62
40
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
5
25
31
5
8
59
16
23
7
26
53
31
18
20
8
-4
40
-18
14
23
7
-2
10
1
56
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
-22
-11
-17
-50
35
-2
32
15
23
18
19
10
1
-10
0
22
22
25
31
2
18
-28
-8
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
29
6
-7
-22
-10
-25
5
8
10
13
26
20
16
25
4
3
4
9
7
-16
19
30
-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
16
-9
-24
-27
-10
11
-16
3
-7
7
14
-7
-3
4
-12
-23
24
1
-27
15
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-12
3
-12
5
10
-5
-17
17
-44
12
0
51
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-8
8
-7
-13
-4
-4
-10
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
-1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
-24
34
-42
-12
-13
-57
-21
-19
-107
-47
2
-22
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-23
19
-21
-64
-53
-57
-28
-22
-44
-16
-7
-8
-9
-3
-41
-11
-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
-1
-38
-2
-19
-30
-43
-13
-36
-26
-79
-37
-37
-12
-6
5
13
20
5
14
18
10
-12
34
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
35
28
-16
10
-56
-39
-53
-31
-34
-20
-8
-8
-10
2
10
13
4
15
-2
13
7
-4
14
12
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
11
-55
1
11
0
13
-18
-6
1
-11
-7
1
4
6
9
5
4
14
13
14
12
35
4
6
11
29
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
3
-59
-23
-2
0
-10
-20
-10
6
-2
3
3
8
5
16
16
9
10
14
10
21
16
15
16
30
13
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
-1
-48
10
-8
4
-4
24
-5
2
7
6
13
11
8
9
10
7
0
11
13
14
10
12
10
-2
8
24
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
4
8
-31
44
-55
14
0
9
8
5
6
7
2
7
8
7
5
6
12
10
11
9
8
16
19
43
25
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-63
30
11
13
13
1
7
3
-2
-1
5
-3
8
6
0
3
-3
-5
16
22
-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
4
41
10
28
42
7
9
6
-1
-2
-5
-7
-7
-1
-7
-8
-1
-39
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-8
-8
0
2
-9
-4
-9
-15
2
-23
-8
-28
26
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-25
-4
7
-3
-9
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
6
-12
-22
-6
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
62
30
-15
-62
15
44
3
-1
47
-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
7
-26
26
53
32
-16
-30
-30
18
7
3
20
58
49
32
14
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
6
10
8
-18
2
-3
14
11
12
15
4
16
16
18
22
3
15
-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
0
0
-1
15
-6
-31
-11
-6
-8
-11
6
10
-1
-6
6
9
10
7
10
2
-6
20
-4
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
6
10
-11
2
-15
-19
-5
-5
-4
2
7
8
8
9
10
4
14
-6
-4
-5
48
-16
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
-2
-25
-11
-9
-5
6
2
6
5
1
3
9
8
11
8
10
-1
5
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-15
-23
-2
-3
-17
-7
-7
0
3
4
2
1
8
12
7
-7
21
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
65
21
-16
-12
-31
16
-52
-31
-26
-14
-17
24
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
-2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-12
-6
-5
-10
-11
-12
-32
-25
-15
-10
-4
2
-1
11
13
-30
-44
-56
-43
-35
-22
-30
-6
-7
-40
-69
-43
-34
-32
-30
-13
1
-13
-48
-39
-30
-24
-15
-8
-1
7
15
19
27
34
46
66
28
-7
0
0
-36
-56
-45
-37
-26
-23
-19
-15
-7
-7
-3
-8
-3
-37
-14
0
0
0
-5
-4
1
-5
-10
-16
-23
-14
1
0
3
-7
-7
-12
-12
-18
0
0
0
-12
8
1
4
-12
-6
-12
6
6
-1
-35
-13
36
42
1
3
-2
-2
-11
-3
3
2
-5
-7
0
-8
5
21
26
46
69
-11
19
7
-2
0
2
1
-1
-7
-12
0
0
3
4
24
-6
-10
-21
33
1
-2
1
2
0
-1
-12
-2
9
-2
20
17
-19
-18
52
-3
-3
22
-1
-8
7
-2
-7
-19
2
0
2
-6
-4
-70
-17
-12
9
25
10
3
-13
-5
-1
-6
-12
-5
0
0
3
-13
-6
-19
21
20
4
12
-5
-7
2
4
-19
-8
-2
0
0
0
9
9
17
-50
26
20
14
-10
9
6
-6
-6
-23
-6
0
0
0
-2
-1
-1
4
6
-6
45
67
-33
25
11
-6
-16
16
-3
2
-9
6
28
20
23
7
0
-108
-8
-16
-3
-5
1
3
11
-2
1
9
-15
49
22
7
28
0
-33
-15
-1
0
2
1
8
-2
0
15
5
11
-4
0
29
-4
-8
-42
-1
0
-2
-2
1
1
2
1
36
-4
-5
-27
-62
32
-12
1
58
0
4
1
5
7
1
5
2
10
5
7
-12
29
8
-22
-6
15
-7
-3
1
7
0
0
5
-2
18
-13
-2
-26
-17
-3
5
-6
-12
15
6
5
3
-5
3
-12
0
-2
-4
-16
-15
-11
14
4
23
-9
-10
1
-13
3
-13
-7
-2
0
3
-11
22
-22
9
3
-2
18
5
-28
-6
8
-1
-2
-2
-1
0
2
0
-4
4
12
7
-28
-8
-1
-20
16
9
12
0
-1
10
19
-8
6
-33
-6
-15
11
0
0
0
-30
27
11
-36
52
13
-50
18
-63
-36
-18
14
-7
22
12
10
8
11
-9
-1
-29
-1
0
19
1
38
-22
12
-96
-26
49
11
-17
-16
3
-5
10
20
-24
17
-45
27
6
12
25
-24
-36
40
3
19
14
5
-3
23
18
-3
-8
-2
-4
24
28
13
46
12
25
6
7
7
2
-27
3
-11
11
15
-6
1
18
-3
14
14
5
-17
4
4
8
-4
-11
-4
-21
28
-19
29
8
72
-15
8
5
51
14
35
-9
-21
5
8
-7
-5
-11
12
3
3
15
36
9
43
46
23
7
-3
-13
-18
0
18
-6
-7
11
18
0
0
-3
-18
-1
14
-38
0
-36
0
0
-28
-14
31
-78
40
80
46
-12
-30
-46
-1
-8
8
7
0
-16
6
-8
-10
8
-10
-12
-27
25
-16
-33
-12
-8
-31
-14
29
0
12
-10
-14
-6
-25
-11
9
14
26
19
-25
15
-46
9
-19
7
16
7
-34
-12
-7
9
17
-21
10
37
-13
-19
12
-4
-19
-5
-3
17
22
21
5
-13
15
9
-6
-41
-10
-43
14
-4
25
-13
0
9
2
2
-26
3
7
10
-15
10
-8
3
-19
20
-2
-14
-18
16
25
6
-2
-8
-39
3
-2
0
-13
40
-28
-20
-7
37
27
2
-1
-1
15
10
52
36
-4
-4
-33
-14
-31
-8
10
-35
-51
-15
10
47
17
20
1
9
-13
-19
-7
26
25
18
0
3
0
-24
-14
40
-36
-8
36
1
14
23
29
25
-7
3
22
9
15
8
2
-1
18
-5
-28
0
13
-23
-19
-35
-4
-20
-1
0
8
37
-7
4
7
-3
-1
3
7
-3
-6
14
11
-43
-25
-9
0
11
14
12
6
0
-3
-5
5
-2
12
5
-14
33
22
-2
-7
3
41
1
4
10
3
2
1
-10
-1
-2
-25
34
25
-20
-18
1
0
10
28
15
12
4
2
0
-3
-6
-10
14
-3
-3
2
3
0
0
22
21
21
12
8
5
2
-1
-4
-21
-26
-15
-14
19
1
0
0
25
32
13
5
10
0
0
-2
-10
-12
-8
-22
-16
-43
0
1
0
46
-13
7
17
26
13
-2
-3
-21
3
-20
34
-1
4
0
0
0
42
98
8
6
-30
35
2
-1
-5
-23
46
1
-7
0
1
0
0
36
6
7
-10
1
-9
-5
-3
0
-5
4
36
0
1
28
-14
0
2
2
11
-7
-10
-1
-3
-1
-2
-4
6
8
-18
15
42
-12
-1
20
1
11
24
1
7
-1
1
0
4
-8
4
29
-35
30
2
0
15
-33
3
-11
-11
-5
1
-1
0
2
-1
-14
14
15
-12
-13
-1
11
-24
16
-15
4
-1
0
2
-2
-3
-12
-16
-22
13
-6
-33
0
4
12
6
0
-19
0
7
4
1
5
-9
-22
27
19
-31
-22
0
22
-1
2
-31
-4
4
-3
1
-1
-5
-22
3
9
-19
-16
-3
0
-9
4
-28
24
4
-1
-3
-10
-3
-18
20
-11
28
-1
-8
0
0
28
-38
0
17
-3
-8
-7
-5
-14
22
-3
20
10
-12
0
0
0
11
0
-11
9
-6
37
4
-1
0
37
12
25
-2
19
2
-2
0
56
15
9
-42
-11
5
-5
2
2
1
3
-37
-16
46
4
17
-2
-36
37
26
-12
4
20
-31
-4
14
18
-21
-16
-1
16
5
-4
1
15
42
-7
-3
-9
-21
-2
5
0
-25
47
-8
-14
4
7
-4
-1
-17
-2
25
16
-21
-18
-6
4
4
-20
-19
-12
-3
-9
2
4
3
-9
17
6
15
3
-1
-24
-14
-37
29
18
24
-12
0
0
0
0
-5
24
11
-3
-15
7
-11
-30
-12
7
-14
-29
0
-1
0
0
0
8
-2
5
2
-9
-26
-10
-20
-14
-20
0
1
-3
-1
0
-1
0
-13
62
5
-14
19
19
-27
-83
15
24
12
3
-3
-3
2
0
0
32
13
14
-15
15
-6
-2
-23
0
11
36
-15
27
-2
0
2
0
-4
-17
-9
22
-31
-23
12
21
-9
-3
12
-4
56
25
-4
3
0
-9
8
-17
-13
7
22
-9
3
29
-6
-1
-8
57
1
1
6
0
-4
-16
-2
-18
15
-26
0
-17
-2
-12
2
-5
2
-7
-1
4
0
-10
-7
-12
27
-7
32
11
-9
2
2
7
18
-2
7
0
4
0
-6
4
-4
7
-28
1
17
-2
4
31
13
1
-9
11
0
2
0
3
24
-7
-21
17
-21
-13
-8
15
15
-7
20
-1
6
0
2
0
-2
-5
2
-5
20
-2
-10
2
-25
-39
14
19
0
4
-2
0
0
-18
-30
23
19
-52
-6
-7
-4
-12
-53
6
1
0
1
6
0
0
0
0
6
7
27
3
56
-31
0
34
19
18
-2
4
-4
-6
5
-3
-1
11
16
-19
-44
-33
0
-1
8
2
1
-4
0
-2
-10
-2
0
2
11
11
-32
4
-50
11
35
2
7
-3
-3
7
6
-6
-5
0
6
6
-10
-13
-24
-18
28
19
3
-4
-6
1
0
7
1
0
0
6
-9
-5
3
26
-10
-11
-10
-5
7
-4
-1
10
3
5
1
0
-6
12
-9
53
6
-36
1
2
-13
3
9
-19
0
5
-7
14
1
17
4
29
-11
40
-2
8
4
1
-10
-3
-11
-12
14
-17
0
1
1
2
-11
0
11
-8
11
-12
5
-4
-2
-7
-18
-7
-19
36
0
-1
0
-2
-3
-29
18
9
-43
0
-7
-8
-10
-5
25
10
0
0
-1
-16
42
-12
7
-74
-14
0
-4
-3
2
-5
-12
-10
-14
11
1
7
-3
30
22
14
27
35
51
0
15
-6
-5
-1
-7
-5
10
3
-12
-3
10
-25
50
10
24
41
10
1
-2
0
1
3
-7
-2
3
4
6
-7
7
18
-38
-1
-21
-6
25
6
-7
-1
-2
-7
-9
0
13
13
-1
-11
6
3
-4
-13
30
9
0
1
-3
0
-9
1
1
-1
9
7
-10
16
49
-4
-12
12
-2
2
-3
3
-1
-8
1
0
0
-2
-28
32
-20
-19
11
-8
8
-17
-1
-18
-8
-5
5
-1
0
0
0
-3
1
25
29
14
-19
9
44
-3
5
-10
-18
2
-35
0
0
0
0
1
1
37
-8
19
-3
-21
8
-25
-35
-4
2
-21
-1
-4
25
-46
23
-32
53
21
0
52
15
-2
6
9
15
-12
17
-4
32
-13
-31
-51
-21
43
0
12
-3
4
-4
8
-3
10
-15
44
9
-40
-12
-7
-28
-12
-18
38
44
-6
6
-10
-6
9
10
-7
7
9
46
-5
-67
12
57
-17
31
23
0
-3
3
-3
18
14
-12
-10
-3
-17
-6
-5
19
-30
-58
1
14
12
10
-5
-8
2
29
17
-29
4
18
-8
-56
0
42
-13
-10
6
15
14
4
16
-8
1
-15
-5
9
-17
-9
22
8
-74
-16
3
-6
5
13
-10
-3
-5
16
-22
-57
-10
-2
-15
0
44
-32
28
-8
-5
10
-1
13
-5
29
-18
27
72
-1
-13
17
-34
-2
10
43
-36
10
22
4
-36
-39
65
0
3
0
4
36
4
-12
10
47
-45
12
0
9
19
-2
5
32
26
20
31
9
4
0
-2
-75
-36
39
3
23
0
24
-22
11
-1
8
-5
4
-7
10
14
-14
-32
2
6
-5
14
11
-12
-36
7
-9
11
3
14
-10
-1
24
38
9
17
-19
17
35
38
37
-7
-6
1
5
-14
19
0
-79
14
18
-29
12
-12
8
-10
15
16
-7
8
-1
8
11
-3
0
12
-3
-8
46
18
-24
11
-9
16
-1
3
7
-5
-7
11
-11
-1
1
0
-12
15
38
-6
-24
17
-5
27
0
-16
-10
-23
-28
-4
0
-4
39
15
26
34
15
-33
2
28
19
-13
9
7
26
-20
-20
0
0
-8
10
-17
-14
24
-44
50
11
-7
-36
-9
-22
-4
-33
0
-5
14
-14
-14
-4
-9
-3
3
0
-3
3
-2
-27
1
-2
-2
0
-6
29
-2
-12
-4
-2
0
-4
5
-8
-3
-1
2
0
0
-18
0
-10
-11
16
9
-1
-1
1
11
-3
-5
11
-9
-32
21
-17
-3
0
24
-4
13
4
0
3
6
9
4
-3
5
-17
4
-12
7
0
0
10
5
14
12
-2
4
2
3
-8
-3
-20
-32
-17
3
0
-1
0
11
16
15
0
3
1
6
-8
-15
-8
4
2
-18
1
-4
0
0
2
-16
7
9
-4
-1
3
6
-16
3
32
-44
-9
-4
-1
1
0
-3
-20
-5
8
-17
-5
5
2
13
3
-85
-9
-10
-2
1
0
0
-4
1
-2
-11
1
-8
11
10
23
-21
-1
0
0
0
0
0
0
8
17
-18
-2
2
-1
5
9
0
2
4
17
20
-38
18
-1
0
-8
7
-12
-3
7
2
5
0
-1
-11
-13
-59
36
0
-7
0
1
11
-11
-21
-8
-3
4
6
2
1
-3
0
10
-50
-3
1
1
0
-20
7
4
2
-7
-7
7
6
6
-2
-11
-37
-7
-29
-9
-2
0
-15
11
-8
12
4
3
7
2
-6
5
3
-4
-10
-3
-29
10
0
-38
15
-3
21
16
2
12
11
0
1
-2
-25
38
-6
-19
-11
0
22
-28
-2
-33
-20
-2
4
-9
-2
-12
-20
-33
-21
-2
-2
-2
0
0
11
-2
-24
-3
3
-10
-12
3
-20
43
-1
-8
-9
2
0
-2
0
-42
1
44
13
-15
28
22
9
6
49
-2
0
0
0
0
0
-17
8
-3
25
-9
14
8
25
0
10
27
-14
-4
1
0
0
0
20
-11
-1
1
-13
-9
-6
0
25
14
-8
-15
4
-11
-3
-3
1
-1
-6
-2
28
5
2
-12
-4
-6
-4
30
-27
12
-18
2
3
0
13
4
-6
-3
2
-10
25
9
7
-10
-7
-36
27
0
-2
1
0
30
3
4
-4
2
10
-1
5
-8
2
-17
12
-33
-3
1
0
0
-28
9
-9
18
-18
3
10
-1
6
15
-53
-26
4
4
0
0
0
-26
2
-15
2
8
-7
7
-7
52
-50
-49
15
6
0
0
0
0
-3
-16
2
-20
-11
11
0
1
-14
-3
-10
0
0
0
0
0
0
2
-5
-12
-2
17
9
-56
10
-6
11
2
0
0
0
0
0
0
54
4
11
-10
7
2
15
7
0
-4
-1
2
-16
-4
-3
-7
0
24
14
15
11
-5
-10
-3
-4
5
-32
-26
35
43
30
5
0
0
7
-20
15
18
-2
8
9
-3
9
-5
-5
-53
32
-1
9
0
0
28
-6
7
5
-28
-15
15
16
17
4
5
-8
22
-8
2
0
0
13
1
12
20
-1
3
15
-16
5
-12
5
-78
1
6
-30
1
0
15
7
12
-3
11
22
23
-2
4
-18
-5
-7
-7
38
-5
3
0
-32
22
17
21
5
1
7
11
-11
10
-34
39
-14
-29
45
-2
-1
6
10
-8
15
-21
-13
-9
-17
5
-7
45
19
-41
-14
-18
-2
0
0
0
41
-5
-15
16
14
-16
-15
66
44
-27
2
-3
-4
-1
0
0
-28
61
44
17
-6
-1
-11
3
-9
-19
-14
-22
-6
-7
-7
5
-7
-13
-31
-9
-4
18
4
6
1
4
-28
-7
8
9
-10
4
12
2
2
-24
-20
10
5
22
-6
9
0
5
-33
-9
-13
12
-9
-7
0
-1
8
-30
0
-25
-6
11
2
-7
1
23
-46
-20
-29
12
-16
-18
6
-3
28
-29
13
-3
-19
1
22
6
2
35
-3
19
-13
-1
-9
7
-16
6
45
19
-5
20
20
28
10
2
-7
-3
7
15
-13
-6
-5
-14
-12
-6
5
-11
22
16
32
-2
3
-7
0
0
28
19
28
-8
9
10
2
1
1
-11
24
7
0
-2
10
4
2
15
49
-11
13
19
-12
-1
3
2
3
9
10
6
-14
-12
-11
8
2
14
9
-5
3
-6
-16
7
-10
4
21
11
4
30
0
-9
2
-9
-7
17
-10
-6
-25
-15
-5
-6
-15
-1
-9
48
40
39
0
0
0
0
0
0
0
2
-10
-17
-36
1
-16
-39
-58
3
-8
-56
-46
0
0
4
-13
-15
-32
-5
-91
-28
-89
-15
0
0
0
1
-2
0
0
0
1
0
0
-1
2
0
1
0
0
0
-1
1
1
0
0
1
2
1
0
0
-7
3
2
0
1
-3
2
1
0
0
-2
0
1
5
-2
-16
-29
-130
0
-20
26
-33
-149
-69
-92
20
3
10
2
13
13
-21
-65
0
-34
11
-13
-61
-46
-41
10
-2
-3
5
6
8
-1
-28
0
7
18
1
-8
2
-1
9
2
3
2
4
13
6
2
0
27
25
1
-1
8
9
19
3
11
16
5
2
11
22
0
29
19
2
7
30
25
-1
6
6
11
12
18
2
0
0
0
4
-3
0
0
0
-1
-1
-4
1
0
1
8
1
1
1
3
3
1
1
2
5
0
-1
0
1
-6
5
2
-1
3
2
3
2
3
5
13
-1
0
0
-4
4
-91
-95
0
-71
-66
-81
-295
-113
-46
27
-7
-6
-32
-47
7
-31
-93
0
-98
-7
-22
-109
-73
-101
-12
-16
-11
-22
-20
-3
8
-5
0
-15
14
6
-14
-1
-28
19
8
2
6
0
7
43
32
0
46
46
25
12
14
41
45
8
29
45
37
19
42
72
0
95
10
40
23
50
67
54
23
36
35
57
105
-18
0
0
0
-20
1
0
0
0
-6
1
-10
-15
-17
-7
-14
-3
0
-9
21
-6
7
-3
-5
-26
-12
-10
6
-12
-13
20
44
0
-1
20
-11
-10
15
-20
2
-6
-30
3
6
8
-25
-72
0
6
-59
5
-22
38
-6
11
12
-4
2
6
-3
-26
11
0
-30
-27
-5
-19
-9
-20
-7
-6
-11
-5
-18
-9
-35
18
0
10
-24
-21
-4
-2
-4
9
-12
-12
-10
-33
-6
-37
8
0
24
-61
-36
-9
-11
-28
-42
-33
-28
-44
-35
-40
-34
-56
0
28
0
-11
-11
9
8
-2
3
-26
-10
-27
-6
-5
-3
-4
0
0
2
0
7
16
-1
-1
0
0
-2
0
2
2
13
-1
1
13
6
-3
0
7
3
-2
0
-6
2
-2
-2
3
6
8
6
0
0
0
-35
14
-29
-6
1
3
2
-184
1
2
-4
-1
-19
0
15
-5
-4
-19
8
8
-9
-6
-10
4
-19
-3
8
-9
10
11
16
16
9
0
-1
-12
61
44
12
-11
-20
0
1
-5
-8
28
-1
-7
-14
-5
-13
-2
5
-2
-2
-22
-6
-25
-27
1
4
-18
12
11
7
-7
2
-8
-1
-1
4
-2
-42
1
-1
-5
7
-3
-6
16
6
-22
-36
-20
-3
-21
-16
3
3
-10
0
-36
-19
-74
-54
28
-21
-7
7
-3
35
-32
-7
-80
-14
7
2
-4
-127
0
0
0
0
0
0
0
0
0
0
-94
-92
-74
-21
16
-84
-69
-48
6
24
-65
-65
-47
-7
19
-77
-69
-52
-10
24
-70
-62
-52
-37
-34
-47
-37
-48
-40
-48
0
0
0
0
0
-67
-41
-10
-2
5
-4
-1
0
2
6
-55
-35
-34
-11
1
-46
-8
-8
0
0
-43
-26
-6
-2
6
-48
-36
-18
-11
-19
-31
-11
-28
-25
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-93
-64
-14
1
18
60
14
0
0
-87
-56
-26
-18
25
9
0
0
0
-91
-61
-20
2
35
2
0
0
0
-97
-72
-26
-9
14
-10
0
0
0
-53
-66
-43
-44
-45
-60
-98
-84
-110
-23
-26
-37
-60
-60
-59
-84
-70
-91
20
7
12
10
5
4
-1
0
0
-116
-108
-58
-39
-19
-13
-3
-6
-6
0
14
6
7
-3
-5
10
2
2
0
-80
-49
-19
-18
-13
-21
-28
-12
0
0
-69
-21
2
-13
-9
-37
-13
-101
-59
-37
-28
-4
-3
-5
-4
-42
-60
-32
-37
-41
-28
-18
-25
-38
-57
-11
-33
-15
-54
-39
-28
-41
-17
-32
0
5
-14
-14
27
10
-2
-13
-15
-7
2
-19
-35
-63
-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
-21
0
-37
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
-14
12
-11
26
-7
-65
-22
7
-26
-42
-27
-81
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
-7
-2
0
34
17
12
27
11
2
-14
-16
-21
4
-32
6
-64
-70
-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
5
10
53
16
5
21
28
19
-1
-5
6
-6
-4
-16
-13
-15
-30
-30
4
1
20
18
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
55
22
45
32
17
27
10
20
7
15
12
6
5
4
-3
-24
-19
-17
-17
-25
-41
-25
54
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
-1
13
16
40
35
29
24
17
35
9
9
7
1
5
-1
-1
11
3
-14
-7
6
-2
-10
9
32
27
22
-33
58
20
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
23
47
29
32
21
28
7
16
13
16
10
10
9
14
8
5
5
-4
0
0
10
-2
-38
23
2
61
-42
13
88
35
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
-7
21
15
53
34
32
8
31
12
13
14
15
14
15
17
7
-1
-3
7
11
-8
15
11
0
-1
33
-12
-1
15
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
3
74
49
18
38
3
8
11
6
10
2
20
14
15
21
6
18
20
17
29
-4
-4
14
31
40
35
70
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
93
29
4
55
13
44
26
25
10
24
27
20
28
14
21
12
20
-9
9
25
27
15
22
-10
34
2
-12
-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
1
-3
10
5
-14
39
-2
16
29
6
19
19
40
21
28
8
45
30
7
-16
26
28
44
-14
38
12
42
16
-5
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
7
9
19
-44
38
13
-8
21
15
28
20
21
24
31
30
-2
17
11
34
18
47
27
-22
-21
-8
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
3
37
-1
-2
48
15
31
34
31
21
46
71
67
28
25
-34
13
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
23
47
-10
-37
-12
5
34
5
-12
-15
1
19
-3
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
2
0
-32
5
-5
-10
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
7
9
-19
-62
-57
7
-22
-6
7
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
2
-11
-37
-1
42
22
-82
-83
-19
-5
43
-5
10
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
64
28
8
-19
-6
25
-12
-56
48
68
5
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
6
24
27
-13
12
-27
-4
23
-9
-22
-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
-1
3
-10
1
2
4
-15
4
10
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-4
-3
2
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-2
-78
-18
-3
20
-49
3
-10
7
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
37
3
6
-18
36
27
2
7
1
-6
47
8
9
4
1
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
24
-16
-9
-5
-1
23
53
7
-5
-13
30
54
-6
8
-12
35
-15
14
-12
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
12
-16
-8
49
21
-29
-4
-17
25
18
14
-19
-11
27
-7
62
-9
-6
2
1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-13
10
19
7
-46
3
34
42
60
6
20
48
12
35
-27
0
1
9
2
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
-3
3
1
4
-28
19
-2
14
-11
-23
-17
-6
2
-6
1
14
8
-14
-3
-6
-7
-4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
-1
0
0
11
-1
-4
3
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
1
-2
-21
0
-20
-10
-9
15
5
21
-2
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
11
3
44
34
53
-45
24
3
-45
-27
-30
-47
-20
-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
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-33
-5
-30
6
73
1
-33
21
26
6
15
-61
-35
-47
-18
-14
-32
8
11
-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
-3
1
11
-76
-5
34
3
-88
59
-80
25
-30
5
54
-41
77
16
4
15
24
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
39
30
70
1
22
0
-18
36
11
32
-25
-28
-13
66
-27
63
-19
-3
13
-1
-3
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
42
21
-51
-5
14
-42
36
-27
-35
12
8
47
19
13
-22
1
27
-13
-1
-3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
0
1
15
-17
27
-25
-55
53
-21
-17
5
-17
34
-6
6
3
0
3
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
-2
4
2
13
-1
5
4
2
-4
-2
-11
-2
-2
-4
3
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
1
2
1
1
-8
10
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
9
0
-1
-1
-18
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
3
2
3
-12
-13
49
-7
-30
-4
-28
-6
27
-15
-6
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-33
-4
6
-63
-59
-8
-13
-54
-17
-49
-11
-16
2
27
4
-6
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
-1
-54
27
-46
-1
-23
15
12
-23
-42
-15
29
-15
-17
-25
-10
17
1
-9
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-14
9
2
-68
49
40
-24
-18
-12
-5
-18
-50
3
38
45
-54
7
33
-41
-49
9
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
1
2
-2
-8
-15
-12
-29
-13
4
28
-3
31
1
3
-9
32
-18
-4
-9
49
-42
-26
20
-12
-3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-4
-25
11
1
7
43
16
-45
9
34
18
10
55
5
-7
24
27
-2
-5
1
21
-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
1
4
0
-3
13
32
-30
-23
26
-23
46
10
28
24
-5
29
27
13
18
-2
-18
18
12
-21
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
20
-2
-34
49
-37
39
-35
91
-1
0
-53
20
6
-2
11
-2
-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
4
0
4
4
-4
6
-7
-4
-1
0
-1
-3
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
13
-8
1
-1
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-13
-46
33
-1
0
1
19
-12
-12
0
-1
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
55
-20
-40
-4
-15
-14
-48
-41
-25
7
-48
-5
17
15
12
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
35
-69
-47
12
-10
44
-31
13
-40
47
-32
-39
-4
9
9
19
17
-16
-18
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
-26
18
-57
-6
-15
-1
-9
4
13
25
-24
31
-4
34
-61
48
-25
6
42
-49
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
45
-6
-21
32
18
38
5
-2
38
37
8
-7
-12
4
14
-8
19
-38
-32
43
56
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
4
-13
2
24
19
10
58
7
18
42
-36
3
-1
8
10
29
66
3
19
65
-31
-50
-47
-16
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
27
23
12
48
35
8
21
-5
19
-15
-21
-27
-20
-40
-7
-43
39
73
4
-5
-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
1
0
-2
-21
67
-23
4
25
-24
24
32
22
13
-25
19
-4
2
34
-37
30
-21
12
-4
-5
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
3
-5
8
-3
-13
-10
-40
-23
12
14
16
35
1
51
2
20
-12
21
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
1
0
8
6
-24
24
-12
0
8
11
-2
6
-7
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-37
-21
12
23
1
10
0
6
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-53
7
-61
-57
-70
-84
-113
35
23
-74
1
19
-2
-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
-68
-62
-57
10
17
-2
-91
-55
-2
-25
-2
-56
33
35
-26
-3
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
-8
26
-51
14
5
-41
13
1
-13
26
-5
-16
-12
-27
-17
-15
53
49
-39
-53
-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
-3
-26
23
2
-14
-32
-37
-24
-21
-57
-36
6
-15
14
-55
-36
16
-17
8
-20
-91
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
-18
-8
-1
3
-23
-25
10
10
2
-2
4
16
-24
9
10
-32
-5
-18
13
22
-44
-51
-35
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-25
-36
-63
6
-14
-25
-9
21
-16
-46
-14
-12
-34
16
5
-52
-7
-9
-7
33
8
-15
50
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
-6
40
-23
14
27
-23
23
28
17
-9
34
1
-14
5
-36
-20
-1
17
-10
-29
13
27
104
-49
-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
-3
-1
11
-26
-28
19
-8
-5
1
-27
5
-8
19
-17
10
-1
14
-24
12
-57
40
16
-52
9
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-32
56
29
11
3
-10
16
46
14
0
-1
31
-33
7
9
-7
-35
-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
8
-23
4
-25
16
4
19
14
-21
-23
-9
11
-30
-17
-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
2
0
0
10
4
4
-6
-6
-3
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-6
9
-14
12
20
12
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
-8
31
46
3
-10
36
-6
48
-14
26
-12
20
-11
-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
13
16
1
25
10
-22
-4
6
3
25
-18
-32
2
40
-32
31
72
15
2
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
26
-12
58
7
4
9
-10
5
-23
-29
-4
13
19
3
74
20
73
19
-19
-10
-43
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
20
-50
23
33
48
27
-14
3
5
-4
1
16
18
25
21
-6
-1
10
-21
17
-15
8
83
-8
42
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
18
61
10
27
34
10
12
2
19
8
23
9
31
12
13
16
3
-12
8
32
36
53
39
27
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
-8
-22
-28
-21
15
44
34
-14
11
23
12
26
15
3
23
10
21
19
0
3
8
14
-6
-15
33
0
15
21
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
1
0
-12
22
47
41
16
11
9
27
7
24
30
13
18
17
17
0
7
1
19
0
28
16
-7
-15
-5
26
75
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
-38
24
-32
21
12
4
11
15
27
13
24
-5
-1
22
24
6
-2
-45
12
27
50
21
-7
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
-1
-5
33
1
44
-9
0
34
15
23
0
-9
13
14
-23
21
3
10
27
-1
15
85
16
-49
20
2
-12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
-3
5
14
5
9
-12
-3
-14
19
3
0
6
11
-17
16
25
24
1
19
-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
29
20
-16
10
-49
-8
31
17
12
26
35
6
94
28
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
5
-6
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
22
-1
45
-34
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
-31
6
-12
-13
24
1
-12
-35
-40
-17
9
-13
-8
-34
-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
-13
-1
-41
-12
-9
-10
15
13
-2
-5
12
-8
-7
7
1
22
-46
-69
-89
-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
-2
-35
-37
-26
-11
-5
13
1
-4
-1
2
1
-2
-12
-9
3
-10
3
-22
12
-7
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
8
-15
-5
-17
17
10
2
7
7
5
3
-11
-3
7
6
-7
4
1
-4
-32
-13
-33
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
1
18
8
-10
9
-14
6
-5
7
4
8
2
10
-4
-4
6
3
17
4
3
4
26
39
-13
20
-31
5
-44
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-22
9
15
0
15
11
10
18
7
11
3
11
16
18
12
4
27
12
-10
13
-21
-33
27
22
12
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
5
-9
37
26
16
15
31
17
35
4
16
22
4
16
4
-5
19
-13
35
4
-4
11
27
-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
6
11
-33
4
1
-5
-13
8
11
33
15
3
18
2
21
-2
15
12
30
13
12
41
-5
10
93
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
14
0
-14
15
20
-1
14
43
20
27
8
24
9
24
-10
1
33
25
-14
44
-9
17
68
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
-1
8
-53
19
30
26
51
30
-2
3
22
23
14
46
-5
-25
54
4
54
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
-13
2
-18
45
102
14
33
16
-18
-4
2
9
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
1
-3
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
38
9
20
-4
-11
-7
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
22
27
41
-21
15
23
10
49
20
22
11
11
6
22
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
19
11
19
7
8
18
21
2
-10
25
27
9
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
15
5
-2
19
2
19
18
16
9
4
7
9
7
3
35
14
-25
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
65
22
12
25
20
20
-1
24
12
12
14
22
17
13
15
14
14
7
45
-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
61
21
29
-8
11
25
13
17
17
18
2
13
5
3
5
19
-3
-2
29
29
-3
7
-10
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-26
32
20
48
27
12
16
22
8
16
6
-6
-4
-18
8
12
21
-10
-30
15
52
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
32
54
9
22
24
21
39
-9
-1
-5
-10
7
-30
-34
33
58
-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
10
-12
33
-4
50
7
18
36
87
59
1
9
10
22
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
-34
-24
-17
-11
-3
8
17
-68
-68
-53
-36
-21
-6
0
3
13
-82
-73
-63
-56
-49
-31
-17
-12
6
-88
-93
-72
-55
-41
-22
-22
-15
-2
-153
-140
-114
-87
-72
-51
-34
-15
0
13
31
43
68
85
88
69
-4
0
-170
-146
-128
-105
-82
-63
-45
-36
-20
-10
-3
16
7
23
86
4
1
0
-6
-4
-5
-6
-2
-15
-25
-7
2
-2
-26
-23
-6
24
37
6
0
0
0
15
-9
-9
-3
-8
-28
-22
18
-9
2
-42
8
54
-11
-27
11
-31
-21
-12
-3
-16
-8
-29
-20
-4
-10
-6
-39
6
24
5
-15
12
16
-6
-4
-8
-16
-17
-18
-23
8
30
10
-8
14
-14
-10
16
27
-2
-12
3
-13
-11
-22
-15
-24
3
-16
-1
37
-61
14
-19
25
12
-11
-2
1
-2
-8
-11
-17
6
0
11
2
-17
-15
-5
-11
8
6
-9
-13
1
-9
-5
-19
-20
-20
0
-18
9
-28
-3
54
-35
-1
5
-9
-13
0
0
-17
-22
-16
-30
-1
1
-32
24
4
-29
-59
2
-9
-24
-27
-10
8
4
-6
-34
-11
0
0
-1
0
-3
-19
-26
-4
-21
-17
8
-51
-21
-38
-18
-36
-16
-13
10
-37
-3
23
1
16
-14
0
-10
-10
6
-8
1
-6
0
-8
15
-51
-38
-1
-5
-17
-30
6
0
-7
-29
-15
3
-10
-7
-17
-16
-42
29
-3
-24
-41
-16
-5
-1
25
-17
5
-2
-10
-8
-13
-15
-10
11
22
-18
-14
-1
-7
7
-1
30
7
-8
-12
-12
-1
-13
-7
-26
4
12
-12
-32
0
10
8
-20
20
-30
-11
-7
-5
-6
-7
-10
-3
-9
37
-17
-13
10
-25
-24
-17
-30
-22
-15
-24
-12
-17
-13
-24
-16
0
-44
-1
-33
-40
-54
-15
-34
-40
-10
2
-12
-6
-18
-18
-9
-32
-3
-12
-1
-4
-37
20
-9
-18
-35
-36
-20
-13
-18
-5
-12
-16
-26
0
7
7
-48
18
10
-5
-56
-32
-32
-57
-33
-20
-15
-4
-9
-15
-14
-23
-14
-31
13
22
14
0
0
0
-57
-26
-27
21
-25
-40
-33
-13
-9
-33
49
-5
17
-25
-14
-27
-46
-32
-13
0
9
5
-51
-38
0
-14
-12
2
-4
-12
18
-1
-13
2
1
-13
2
-14
-17
-30
2
6
-1
-20
-13
-19
-10
7
-6
8
0
-26
-4
-13
-11
-28
-3
-32
12
-7
35
-31
-6
3
-24
6
5
-3
-18
-9
-5
-26
-4
-22
1
8
13
-33
19
11
-19
-32
1
-8
-1
-4
-21
-5
-22
-17
-16
5
2
17
-44
3
-6
-20
-15
6
-2
-3
-17
-15
-13
-13
-16
-11
5
9
11
32
-11
21
-14
-45
3
-13
-5
-5
-9
-18
-28
-17
-16
3
0
-5
2
9
-6
-17
-15
-15
-15
-4
-5
5
-41
-12
-1
13
-37
44
-8
3
-18
16
0
-2
1
0
-16
-39
24
-6
2
23
30
-40
2
-5
-10
-9
-12
-14
-3
13
0
-1
-5
-20
-14
-18
-26
-39
-4
-29
2
-14
15
-29
6
1
7
35
-21
-21
-14
-1
-17
-19
-13
-12
24
20
-1
-12
-11
-22
4
-1
24
8
-14
-26
-16
-9
-8
-28
-28
3
5
-2
-38
-16
-27
0
-2
2
-4
16
3
-16
-3
-11
-39
-64
16
8
-2
-19
-30
-10
-10
-13
-15
-33
-18
6
-11
-18
-16
6
22
1
-37
3
-41
-12
-15
-34
-16
-18
-11
-21
13
5
-23
-11
5
-27
-7
11
-21
10
-3
-15
5
-13
-18
-18
-6
-23
-4
-5
-15
-8
59
-3
2
-2
-43
-6
2
-17
0
-28
-46
-26
-22
18
-3
16
-11
-17
3
28
-21
-19
14
-25
-16
14
0
-5
8
26
-26
3
-47
-7
0
-11
0
-1
-12
3
0
-21
-15
-13
-3
-3
-28
1
-86
-70
17
-18
-4
-7
-2
-4
-1
-5
11
-12
-17
-14
6
-3
-16
-30
-1
-17
-6
1
-2
-6
-3
-6
-3
-11
-5
-14
-20
-3
-17
22
25
-24
-25
-4
13
20
-16
-5
2
-12
-15
-7
-9
-17
-3
-26
15
-28
20
3
-7
5
-3
-7
0
-3
-12
-13
-10
-13
-16
-7
2
-32
-20
-7
28
1
-12
-10
24
6
-12
-1
-10
-12
-22
-11
-17
-11
-69
-23
-29
31
2
-6
30
3
2
7
-16
-18
-6
-19
-11
-33
2
-54
4
15
-4
-2
46
20
-48
-5
2
-2
13
-9
-25
-15
-18
18
-64
-22
-2
-2
0
0
-21
-11
5
-6
19
-7
-11
0
-18
-3
2
11
34
-36
-5
-9
-3
-11
-9
-11
-3
-13
1
-10
-3
-4
-2
-2
-10
-31
9
-40
-15
-23
2
-13
-6
-12
-1
9
-8
3
-9
-11
-13
-12
-27
-1
-8
-18
-30
-11
1
-2
-15
-9
1
-4
-3
-9
-14
-16
-5
-10
-40
-33
-49
-4
-20
-14
-1
-3
-12
-11
-5
-6
-11
-12
-14
-29
-35
-33
-57
-10
-13
-11
-13
-25
-9
-13
-29
-16
-15
-9
-19
-17
8
-20
-47
-28
-6
-13
-11
-24
0
-4
-15
-27
-15
-14
-14
-17
10
-35
-39
-10
-13
0
-8
-4
-9
-24
-12
0
-19
-32
-19
-15
-2
-16
14
-23
1
-50
0
-4
-20
2
7
-3
-34
-1
-3
-7
7
-14
-25
-1
-36
-7
1
0
16
-21
8
-3
6
-12
-21
-19
0
27
12
-28
17
59
-27
-28
-1
3
-19
-3
-7
0
22
-22
-12
-1
4
0
-44
-22
17
5
14
-2
7
6
-13
-21
-12
23
7
-19
-1
-26
14
-30
-1
-16
-5
-49
-1
-20
-6
-3
-3
-5
-6
-7
-2
-16
-1
-10
-3
-58
32
-42
11
5
-3
-9
-6
-12
-17
6
-17
-26
12
-9
-43
10
-48
19
-20
28
27
5
-14
-4
-15
-13
5
-10
-10
-25
-9
-24
-2
-11
-16
24
8
-1
-7
-10
-8
1
-6
-16
-6
-14
-17
-8
-12
-38
-5
-38
4
3
0
8
-22
4
-2
-7
-31
-15
-29
-19
6
-40
16
-19
-33
-6
-4
-3
14
8
-4
1
2
-7
-17
-23
-10
-16
1
21
7
7
7
11
0
2
-6
-11
8
11
3
-16
-18
0
17
14
27
11
-6
12
-10
-1
-11
-23
-3
-2
-14
-5
-9
9
14
5
-39
-10
24
-6
-6
-7
-4
-20
-5
-7
-7
15
4
19
-21
1
-29
-28
-22
-12
33
28
-12
-1
-1
-7
-6
-13
-8
-5
-4
10
-5
-24
-31
-4
10
52
-3
-4
-6
-15
-7
-6
-5
-4
4
-19
-9
-7
4
-27
-13
-71
-5
-11
-7
0
-4
-12
-11
-14
-3
-27
5
-14
0
-1
-23
-27
25
31
51
-10
-10
-13
-24
-4
7
-10
-14
-35
-11
-26
-52
-18
-30
-64
23
-10
-8
-6
-15
-33
-16
-14
-11
0
2
-6
-25
-16
26
-1
43
12
-14
-4
-2
-12
9
-21
3
-21
-41
-4
-12
-4
1
7
-21
-3
-4
14
0
0
0
-5
18
38
41
59
-4
41
0
-12
-2
-10
-4
-11
-8
-6
-12
-6
-17
-18
2
-63
-29
-14
0
3
-11
-20
-11
-14
-10
-21
-14
-27
1
-53
-6
-20
-26
-6
-17
18
26
2
-2
-9
-11
-2
-16
-7
-15
5
-26
22
-12
13
21
-19
-11
-2
-5
-10
-1
-6
-8
-10
-11
-34
-3
49
0
-38
33
-11
17
-17
2
-11
-10
-6
-2
-8
-26
1
2
-4
42
23
-2
-11
-1
-44
-25
-10
-17
-8
-10
12
-6
-28
-30
-43
4
39
-72
-11
4
-7
-21
-22
-21
-18
-18
-32
-24
-6
11
-11
-56
0
6
47
-15
-46
-10
9
0
-1
-9
-10
-6
-18
-23
-13
-14
-63
0
-11
13
16
15
-14
-9
24
-10
-24
3
-3
-17
5
22
13
0
-2
17
-51
-42
12
-8
0
49
0
10
1
-9
-1
-6
-6
-1
-18
22
14
-3
59
10
27
-11
36
5
0
-3
-11
-9
-20
-5
-21
-12
15
11
-12
39
-16
14
-5
0
2
6
22
8
5
-1
-4
-17
-1
8
17
31
22
49
33
-7
15
-12
6
12
7
0
-17
-14
-20
-13
1
-19
0
15
-43
-25
-18
-9
-16
12
-7
1
-10
-39
-20
-18
-20
0
-14
14
-6
-24
-44
14
-4
-11
-6
-16
-25
-18
-9
-17
-20
-5
0
-2
46
-10
34
1
-6
-30
28
-5
-14
-26
-25
-34
-17
-14
-2
0
0
-4
3
17
13
-59
-45
-9
-20
-6
-24
-22
-5
-13
-19
11
0
0
0
0
-13
18
10
-34
30
-47
-39
-27
-17
-12
-15
-4
-11
-5
-33
76
-33
30
-4
-15
3
0
4
11
-10
2
2
-19
13
-65
-12
47
-6
11
-41
-7
8
0
-1
-11
-33
-17
6
-4
-11
2
-23
-9
-37
-47
-21
-14
-8
-24
32
5
-2
-5
-28
-5
-9
3
-24
21
47
-17
8
-17
23
31
-12
-9
3
11
14
10
0
-11
-1
-19
-18
-38
-15
-24
-14
-15
-38
-9
-30
-22
11
-7
-6
9
6
-9
-22
-72
20
-19
-3
-20
11
-33
-23
-12
-22
-4
1
7
7
3
-7
19
-8
25
34
0
-17
24
-11
-6
-23
-15
-23
-12
-11
11
21
-20
-31
-7
-48
34
-17
-9
-6
-5
-2
-12
-10
-25
-2
1
21
16
23
50
34
4
11
39
-53
4
0
13
-24
-28
-35
-9
11
24
-39
-9
-2
0
51
21
9
-10
-33
-9
8
3
0
-10
-15
-6
-13
-3
-19
-20
-36
-10
0
-19
-4
-55
14
-5
7
21
0
-31
-4
-1
-2
-9
-17
-22
-40
-4
-14
-8
-19
39
10
3
8
-5
-1
19
-12
-13
-9
-22
11
7
1
-22
13
-25
-7
-5
3
-11
1
5
1
-5
-9
-14
-1
-14
-26
-20
11
-14
-36
30
-50
-20
-18
-2
-1
-7
2
-5
-3
-7
-21
-5
-35
-15
29
-19
11
-25
3
-4
-12
-2
-19
-5
-10
1
-23
-33
-4
-35
17
-31
9
13
-49
1
-20
-21
-8
-23
-16
-10
-20
-44
6
0
6
25
26
20
38
2
-16
-7
-18
-24
-19
-13
-3
-13
17
28
0
2
-20
2
-13
-23
-24
-5
14
-20
-34
-30
-4
-15
4
-15
-14
15
-6
-12
-4
0
1
2
-7
0
11
5
2
-22
-19
-40
-18
0
-23
-8
-15
-13
5
13
6
4
7
-13
13
-20
-5
-9
-39
-53
-1
20
-2
-7
-2
-1
5
-2
-8
-7
-12
8
0
-8
-5
-41
-16
-6
-18
-14
-22
-11
1
15
-4
3
-4
-17
-1
3
-42
-62
-12
-14
-10
4
2
-24
-9
-5
-6
-5
-5
-5
-13
-6
1
3
9
-22
8
-1
-10
-1
-28
-18
-28
-12
-30
-2
-22
-8
10
-29
9
-15
-72
-11
0
-15
-3
-16
-3
-18
-19
-26
-21
-38
6
51
-28
-46
3
-14
7
0
-9
-5
-8
-14
-12
-16
1
-1
-13
-1
-15
-29
-19
-18
6
-1
0
-7
-3
-1
-24
-19
9
1
-37
33
-37
-37
27
-1
0
0
0
0
-22
0
-4
-6
3
4
5
-3
0
4
-8
-11
-5
-63
2
24
-6
-7
-1
-5
-6
0
6
10
-16
3
22
-6
-7
3
-23
9
-1
2
20
-33
-15
3
2
-6
13
-19
-3
-16
9
-18
-28
4
-23
5
1
17
-18
-5
20
4
4
1
-9
-8
-14
-12
-34
49
-8
22
7
-2
-8
-22
18
6
0
-3
-3
-9
-17
-20
-3
-36
-83
2
-40
41
-7
28
10
-13
-14
3
-12
-9
-22
-17
-24
-26
-35
39
-54
-53
-14
25
-11
-18
-17
-18
-18
-13
-16
-28
-34
-24
-21
-8
-7
44
-32
-20
-1
0
-36
-24
-14
-5
-26
-18
-28
-18
-6
7
-13
-41
0
58
-10
1
0
-13
1
-20
-15
-9
-14
4
16
22
-17
5
-3
0
8
0
0
3
-8
-13
-19
-10
-8
-1
17
0
4
3
4
-54
1
-11
3
0
-8
-8
-12
-9
-22
5
-13
20
1
1
17
-16
22
-10
5
-25
1
2
-13
-17
1
-17
2
0
-12
-10
18
5
-45
39
14
-12
-17
-1
2
-15
-19
-11
1
11
7
7
-21
7
-17
-1
7
-7
-62
-5
2
-1
-15
-18
-4
-6
-19
-4
11
-37
-37
30
32
-37
37
-48
3
0
-7
-12
-15
-7
4
-13
-34
18
17
-7
-23
-23
76
12
6
2
0
-7
-18
-18
-10
-20
-13
-12
-30
-9
-10
-9
45
57
5
-2
-4
0
-12
-16
-32
-5
-13
-6
-10
-39
4
-1
12
19
-5
-4
0
0
0
-14
-9
-12
-39
-22
4
-50
2
-32
-49
-11
3
1
0
0
0
0
7
4
-8
-10
0
-1
2
9
0
0
-14
12
6
9
-13
-23
-4
-13
-13
-21
-9
-4
-9
13
-3
0
-34
24
-3
-54
-13
5
6
0
-12
-7
14
8
-8
-2
-1
-8
0
-14
24
-63
-12
-16
-36
-1
0
-27
-14
7
-10
-6
-6
-9
-15
-4
-10
-35
20
8
-51
4
-27
2
-28
1
11
-1
-4
-16
-23
-25
4
-22
-16
-18
-19
-19
-45
-38
2
12
-11
4
-20
2
-18
0
-7
-7
-22
-28
-27
-19
-16
-49
13
1
17
-14
-7
4
11
-27
-20
-35
-18
-12
-35
-12
-27
-16
-29
20
-1
31
-16
4
-1
-20
-16
12
-16
-10
-9
-11
32
-55
-14
-36
-4
-7
0
6
-1
-16
18
-18
-20
-45
-22
34
-19
44
20
20
-7
-21
0
0
-38
7
14
-5
-3
-5
0
0
-25
21
-8
-22
-8
2
6
1
-6
-16
14
7
-2
9
6
7
-1
1
-7
9
6
-10
2
-8
5
0
4
-10
-14
-3
0
23
2
12
-1
0
-43
-48
-22
-22
-21
-6
6
-1
8
-26
-33
-15
5
-6
-3
7
0
14
-35
-16
-29
3
-8
-11
6
2
15
3
17
-23
-33
-11
-2
13
4
19
14
-11
-26
-32
-25
22
1
-3
67
13
-2
5
-4
4
-1
-8
-4
-13
-1
14
-5
13
1
-5
-6
-1
-6
18
6
24
3
0
10
-3
-1
-5
29
11
6
4
-7
10
2
0
0
23
19
-8
19
5
14
-1
1
2
-19
-8
37
30
-1
22
5
1
10
9
7
13
15
14
-1
0
1
2
16
0
5
-6
-10
2
8
8
3
-4
7
6
-8
-26
-13
1
19
-2
-16
-27
-54
-36
-28
-32
-41
-44
-41
29
19
-15
0
0
0
0
0
0
0
-2
-21
-36
-67
-11
-23
-56
-78
3
-13
-56
-63
0
0
0
-18
-37
-55
-31
-118
-57
-108
-2
0
0
0
-5
0
0
0
0
2
5
-1
-1
2
2
0
-1
0
-1
-4
-1
-1
-1
0
-9
-1
-1
0
2
-2
-5
3
0
1
-14
-3
-1
1
-1
-3
-3
-3
-3
-6
-10
-36
-110
0
-37
11
-23
-79
-67
-83
7
2
12
0
9
8
-15
-67
0
-30
11
-10
-47
-37
-33
6
6
1
-1
2
2
4
-26
0
3
16
1
-23
-3
-8
12
1
2
1
4
-4
-2
-4
0
15
-4
0
-6
5
-2
-2
-1
2
1
1
-10
-8
18
0
24
7
1
0
15
14
-17
-8
-16
-24
5
15
-2
0
1
0
0
-7
0
0
0
0
-2
-8
0
-5
-2
-4
2
-1
-3
-8
0
-5
-4
2
3
-4
-7
-2
-5
-8
-3
-2
-1
5
-3
-5
0
2
3
-2
-4
-10
-12
-5
-5
-23
-89
0
-81
22
-51
-255
-84
-85
24
25
20
14
-12
23
-5
-61
0
-61
7
-2
-56
-66
-39
3
2
11
-5
5
6
13
3
0
-20
16
7
-4
-11
-14
14
7
2
-10
6
11
34
30
0
30
11
11
11
-2
22
14
-4
-4
20
6
-10
2
60
0
71
16
23
12
41
23
23
7
26
18
25
67
-10
0
0
0
-19
4
0
0
0
3
4
-6
-2
-7
-9
-12
16
0
-19
-13
2
15
-4
8
-11
2
-5
2
7
-3
22
40
0
16
8
6
-11
29
16
1
-6
-7
14
-6
23
-54
-66
0
6
-48
-6
9
37
-21
-11
-6
-14
-16
-7
-29
-29
-10
0
-32
-22
-16
-1
29
-13
1
-9
-17
-18
-16
-14
-40
7
0
9
-41
-26
-1
-9
8
0
-16
-13
-28
-38
-1
-74
-31
0
38
-51
-47
-25
-17
-27
-51
-35
-21
-55
-19
-33
-9
-24
0
20
0
-32
-56
1
-18
-3
-20
-36
0
-20
-7
-1
-2
-1
1
2
3
1
5
9
0
0
3
4
2
2
2
3
9
16
12
23
15
3
-7
1
-3
-19
0
-1
-2
-5
-8
5
8
9
-1
0
0
0
-59
17
-17
6
0
19
7
-123
0
-3
-7
-17
-2
0
7
-10
-4
-16
-9
3
-12
-6
-5
0
-15
-2
13
2
29
-22
26
31
4
-5
-2
-1
64
44
-4
-17
4
5
-5
-2
-2
21
4
-3
-37
0
3
-7
-7
-4
-8
-33
2
-13
-24
12
2
-3
14
8
9
-6
1
-5
0
0
5
0
-20
6
-15
-11
1
-18
0
17
10
-28
-32
-23
22
-10
12
3
3
-22
-4
-36
-32
-35
-28
15
-13
-6
3
1
32
-42
-5
-30
-14
10
-22
1
-122
0
0
0
0
0
0
0
0
0
0
-97
-70
-77
-59
-51
-57
-46
-51
-9
-20
-65
-60
-35
-34
-34
-90
-64
-54
-26
-41
-65
-81
-70
-50
-32
-68
-49
-65
-47
-53
0
0
0
0
-1
-59
-44
-25
-20
-23
-3
-4
-3
-1
0
-53
-70
-66
-52
-59
-55
-18
-24
-23
-37
-52
-37
-17
-24
-26
-39
-33
-31
-22
-27
-47
-18
-40
-36
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-99
-77
-35
-31
14
69
16
0
0
-84
-65
-36
-34
43
9
0
0
0
-106
-74
-30
2
38
2
0
0
0
-122
-91
-42
-13
12
-44
0
0
0
-54
-66
-46
-48
-34
-58
-78
-71
-89
-32
-49
-46
-61
-50
-60
-67
-102
-95
15
3
6
8
3
5
-3
0
0
-142
-130
-88
-66
-36
-28
-17
-13
-33
0
-7
-2
-4
-1
-3
11
1
0
0
-121
-44
-19
-15
-23
-22
-32
-26
0
0
-78
-24
-8
-32
-15
-55
-25
-93
-72
-46
-39
-24
-21
-17
-28
-54
-49
-33
-24
-31
-28
-19
-19
-29
-43
-21
-30
-15
-45
-33
-21
-47
-14
-36
0
-1
-11
-1
118
114
23
-26
-47
-46
-27
1
13
-4
-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
0
0
0
0
0
0
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
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
24
18
-23
-14
-6
-32
-5
-30
-94
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
-10
-4
25
40
48
4
-6
-15
-14
4
-7
-6
20
-19
28
-57
-70
-48
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
9
15
27
30
17
12
6
-10
-17
-21
-6
-31
-18
0
-48
-32
-32
2
24
49
17
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
16
32
12
27
0
16
-1
3
-3
-3
-3
-11
-20
-8
-12
-19
7
-12
19
-38
-44
-34
63
-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
-1
12
12
23
14
1
-5
-4
10
-13
0
4
4
-3
-7
-2
12
-2
15
-16
32
6
28
30
-3
32
12
-42
73
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
66
32
25
15
-11
14
16
2
6
-6
6
-8
13
-1
9
-4
14
7
5
18
35
19
5
-26
-1
27
76
-13
11
104
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
-9
39
-4
18
8
-10
1
-6
3
1
10
0
14
6
13
-4
21
-1
13
7
31
-4
24
13
35
-11
-43
-3
-22
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
8
-7
47
37
20
17
-8
3
8
-2
21
14
8
23
25
15
37
32
12
41
10
36
36
-4
-16
57
42
27
30
-4
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
17
100
36
61
49
44
20
5
20
8
46
33
19
30
39
44
52
19
26
30
43
65
63
0
2
11
7
-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
1
-3
3
-14
-12
63
5
17
-7
2
37
12
39
6
22
19
63
18
41
30
24
31
7
-7
13
-5
27
24
-15
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
7
3
-1
-49
35
22
37
31
19
4
69
70
27
61
32
40
50
26
78
49
0
41
-15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
4
-1
-1
8
61
59
38
39
55
25
25
57
86
75
20
24
-41
2
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
21
33
-6
-55
-20
-8
27
18
0
-17
0
19
-1
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
3
-1
-35
0
5
-15
-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
2
-4
2
4
-42
-59
-43
-7
-22
3
9
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
2
-7
-43
-9
10
52
-109
-103
-15
-11
61
-26
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
65
3
19
13
13
7
-7
-60
57
60
2
20
3
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
14
8
49
21
48
-9
-16
21
-7
-23
-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
-1
0
-12
-1
1
3
-14
2
14
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-7
3
-4
-10
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
11
-4
-70
-29
-2
28
-43
14
-9
8
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
23
0
4
1
22
12
-12
-31
-8
24
55
24
1
-10
-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
-2
-1
27
-10
7
-22
-19
5
39
9
34
-33
7
75
4
-4
-15
12
-21
6
-9
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-19
37
11
-11
32
-32
-19
13
37
17
14
27
30
41
-12
-5
7
1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-14
2
1
2
-40
-18
46
83
-2
31
29
37
31
37
-27
1
12
0
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
-3
3
1
4
-28
19
0
11
-10
-23
-14
-15
10
1
2
0
2
-11
-3
-4
-7
-4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
-1
0
0
8
-1
-2
3
1
-1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
-20
-14
-6
-10
-6
16
-1
15
-2
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
2
-6
46
24
45
-48
13
8
-49
-21
-27
-52
-17
-3
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-27
-2
71
25
-45
22
14
-6
-8
-67
-18
-40
-18
-16
-36
7
11
-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
1
5
11
-68
-20
6
17
-59
45
-82
60
-1
-24
59
-36
75
-4
14
9
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
-2
-9
30
32
47
-3
15
27
11
-6
31
32
-26
-55
-3
61
-19
49
-31
0
11
-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
4
-3
40
9
-46
2
22
-40
35
-17
-35
28
26
49
3
0
-8
-6
15
-15
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
7
-3
0
0
15
-16
17
-22
-52
42
-9
-25
1
-16
20
-15
2
-2
6
1
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
-2
4
0
15
0
3
3
-6
-4
4
-4
-2
-2
-2
-1
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
1
2
1
1
-8
10
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
15
0
2
-2
-24
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
1
-21
-8
52
-9
-32
-15
-23
-15
37
-15
-6
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-40
-16
1
-56
8
-4
-17
-36
-44
-51
-1
-17
3
33
5
-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
0
0
0
0
0
0
-1
5
7
-12
-7
-56
18
-31
9
-37
20
15
-50
-36
7
18
-6
-27
-32
-1
11
1
-8
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-25
0
11
-74
49
18
-6
-39
-23
-27
11
-20
-1
11
65
-62
21
42
-36
-54
10
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
1
3
6
-2
-28
-35
13
-2
6
23
-12
6
-2
-27
1
35
-2
25
7
43
-25
-32
27
-11
-3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-10
-22
-4
-9
7
20
27
-36
21
17
3
-20
78
-11
-6
0
-16
-6
-15
8
21
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-4
10
35
-15
-18
45
-26
25
-11
51
24
4
25
21
44
25
21
-12
32
-10
-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
3
0
1
0
22
-1
-34
38
-36
35
-42
83
1
5
-53
20
0
3
11
-2
-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
4
0
4
3
-3
4
-6
-4
0
0
-1
-3
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
15
-5
3
-1
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-17
-64
35
1
9
3
20
-13
-18
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
-3
48
-14
-39
5
7
-19
-51
-26
-27
15
-28
-4
5
25
14
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
32
-63
-45
4
-15
26
-15
11
-11
27
-42
-53
-19
-11
-2
1
10
-20
-19
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
-31
13
-54
7
-4
-17
19
10
-17
14
-6
-11
-47
57
-60
60
-9
9
57
-47
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
45
-18
-25
38
22
2
-40
8
31
39
-14
-11
-33
8
6
11
6
-37
-47
48
52
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-16
-7
-13
17
35
39
25
0
19
-15
14
9
15
-28
20
36
-22
18
54
-9
-48
-42
-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
-1
-20
24
22
4
31
49
6
23
12
8
10
-47
-22
-11
-17
9
-23
21
46
6
4
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-15
80
-22
7
10
-6
-9
30
6
12
-21
5
3
30
35
-24
25
-23
10
-2
-6
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
4
-3
10
-1
1
-10
-24
-41
14
27
10
40
1
50
10
16
-24
17
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
1
1
9
8
-19
24
-4
-2
4
4
1
4
-7
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-37
-31
16
35
-1
6
3
5
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
-23
18
-49
-42
-63
-63
-75
27
24
-91
-2
24
-1
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
-46
-57
-6
-26
-33
-64
-56
-1
-8
3
-53
3
36
-40
15
9
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
-8
37
-42
-5
24
-18
-3
3
-44
-18
2
-29
11
25
-5
-21
21
35
-33
-55
-6
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-3
-13
-15
-27
-11
-6
-31
2
-42
-7
-34
-42
6
-3
-20
0
-50
-102
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
-17
-16
-58
-9
-53
9
-20
-7
-25
-6
7
-12
-9
2
-4
-21
-16
4
-22
9
-19
-52
-33
12
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-44
-24
-57
1
-19
-19
-11
-26
15
1
-33
-8
-19
-47
10
13
-25
29
49
14
33
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
-6
37
-1
29
26
-38
31
3
20
-7
22
2
-20
16
-12
-12
4
-27
-22
-23
2
34
86
-66
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
11
-34
-12
44
-9
-7
-6
13
29
5
17
3
-5
43
0
-9
-36
-63
22
16
-53
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
-7
-37
48
21
38
13
-35
-5
34
30
-20
10
27
-53
5
9
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-33
17
25
30
-2
-8
-9
-15
15
-17
10
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
2
0
0
8
2
4
-2
-7
-3
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
22
15
74
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
89
24
-28
31
4
16
-15
14
13
26
-18
-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
12
19
14
32
16
-28
-12
16
-19
-7
2
29
22
36
-1
32
83
20
5
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
1
-12
18
4
-3
-4
1
-7
14
1
-11
49
7
56
-13
-19
-13
-21
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
25
-47
39
29
27
-8
-17
-15
8
-13
2
27
7
14
5
6
9
-7
-21
-14
-2
16
70
-17
36
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
6
54
-8
13
16
-3
1
-15
14
4
20
3
-13
0
12
-11
40
-15
22
23
34
64
36
36
7
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
-11
-11
-21
-12
12
9
8
27
27
23
17
13
16
0
12
18
9
-15
-5
-5
-15
9
19
23
44
-7
-2
-7
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
1
0
-2
-2
55
49
22
51
2
29
22
-3
21
2
13
0
11
28
5
-12
29
3
32
23
-32
-6
-11
27
67
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
88
-4
-10
50
-10
17
-27
1
4
16
16
-10
12
-2
-10
38
29
30
17
-26
17
28
50
36
-8
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
-1
-11
20
-10
15
-37
22
-6
4
0
12
-27
18
35
-13
5
6
34
24
8
9
72
17
-65
21
4
-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
4
0
1
32
-4
4
33
15
42
-9
-5
-12
-3
11
-11
13
19
4
33
41
14
21
16
-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
21
13
-17
29
-27
10
35
1
13
29
26
7
91
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
-1
-7
3
-4
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
-2
-7
18
-29
44
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-12
4
3
-29
-3
3
1
-8
-16
13
-8
-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
-5
13
-3
-1
-12
-5
8
-6
-5
-6
-10
6
-9
-29
-8
-7
-39
-55
-68
-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
-14
-38
-26
-25
-1
-25
-15
2
-14
-27
-13
-18
8
-7
8
-17
5
36
0
16
-13
-17
38
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-35
-6
-37
-18
-14
-33
-1
-11
0
-2
-9
15
-9
-20
5
-6
-1
-16
14
33
15
-39
-11
-41
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
-2
-10
-15
3
14
-5
6
6
17
11
7
-12
10
-3
17
-14
-13
29
40
-14
38
-17
34
-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
53
-13
6
-67
8
-28
-2
-13
20
0
5
2
-5
9
21
24
29
20
21
25
15
13
5
-26
-56
18
18
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
-18
50
-2
-11
5
-26
-8
18
-1
-3
18
41
11
10
38
22
16
-2
17
21
-4
46
-10
21
14
33
-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
6
19
-46
7
1
17
-38
12
37
10
7
23
60
14
34
29
31
28
31
9
6
40
-4
28
68
-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
8
0
-11
8
12
30
-31
49
26
38
26
33
-5
43
-5
25
37
73
-12
42
-48
18
61
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-57
23
18
14
32
39
59
22
66
35
33
79
-1
-17
66
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
16
35
16
103
-6
25
21
-4
-10
1
8
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
1
-2
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
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
26
23
51
45
25
27
19
-2
-7
4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
22
21
-18
20
18
11
7
11
9
-41
-19
52
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
4
8
7
9
-5
8
19
5
25
26
4
15
18
25
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
11
-3
-2
17
1
5
-2
12
-7
8
6
-5
14
0
19
-2
64
16
-45
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
-1
12
27
12
-4
13
19
26
-5
30
8
18
19
18
14
28
33
-4
75
70
107
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
66
19
11
8
1
14
15
35
8
19
30
-15
-5
-6
6
3
43
1
58
-2
-7
23
-16
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
21
50
-2
18
37
-4
4
30
15
30
18
14
-14
-10
16
1
-23
56
54
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
16
8
19
21
1
41
53
76
38
-2
-3
34
23
-14
-74
24
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
10
-12
25
0
36
10
12
13
83
46
-22
20
27
13
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
-42
-23
-15
-8
-1
13
-70
-74
-57
-47
-34
-13
-13
2
8
-69
-91
-70
-62
-49
-41
-25
-11
5
-89
-99
-88
-65
-49
-36
-21
-20
-7
-63
-89
-86
-82
-62
-48
-41
-24
-8
6
26
34
50
93
59
65
-4
0
-115
-112
-99
-95
-82
-63
-53
-36
-25
-15
-5
-13
36
5
45
4
1
0
-12
-8
-5
-1
1
-12
6
-30
1
-3
-20
-1
-5
33
91
22
0
0
0
0
4
-9
-8
-7
-26
10
0
-18
-15
-45
6
13
0
-5
23
-28
-12
-5
0
-14
-10
-21
-23
-3
-14
3
-49
-20
-11
13
17
7
16
-25
-14
4
-21
-12
-34
0
10
16
29
-22
-32
13
-16
-11
14
5
-8
0
-10
-6
-23
-8
-9
6
-21
-38
15
-46
21
-53
8
-11
-3
-9
-1
-11
-5
-14
-12
-2
0
4
-9
-13
-8
-17
-26
-23
18
-17
-14
-2
-5
-4
-15
-42
-3
0
-19
-4
-25
-12
3
-71
-2
-10
-5
1
-6
-6
-2
-33
-9
7
-1
1
-34
4
15
-42
-53
21
-22
-12
-37
-33
2
-7
20
-19
12
0
0
-1
0
-1
-13
-16
5
-85
-3
-16
-4
-6
-13
-9
-28
-17
-12
16
-32
18
10
-19
-16
-18
0
-25
-9
27
-9
-14
4
-2
-15
-1
-35
-69
-9
-22
0
-30
-12
0
-7
-3
1
7
0
-8
-21
-5
-51
6
-14
-13
-59
-7
12
8
21
-10
6
-5
-3
-9
-11
-19
-17
-10
-7
-15
7
-39
-27
-8
6
30
8
-7
1
-10
-8
-11
-7
-15
-10
21
-1
-36
13
-20
-11
-14
26
-26
-20
-20
-16
-16
-4
-4
-14
-9
18
-4
8
1
-39
-38
-21
-27
-27
-3
-17
-24
-4
-19
-16
-18
-4
-36
14
-12
-6
-22
-35
-43
-31
-13
-12
9
-6
-26
-24
-3
-12
-2
-7
9
-1
-7
-6
-7
-10
-38
-63
-43
-31
-17
-1
-3
-11
15
0
7
9
-33
13
2
-4
-52
-26
-21
-26
-13
-17
-19
-12
-32
-1
-19
-15
-3
2
10
15
-5
0
0
0
-34
-34
34
2
-19
-46
-40
-29
10
-22
19
-12
8
-7
-10
-5
-54
-56
-4
1
-7
-25
-21
-5
-22
-23
-7
0
-25
-6
20
0
-6
6
1
-28
-12
-10
5
-26
2
14
-27
13
-33
-8
-10
-19
5
16
-2
-21
-21
-10
-8
-9
-14
4
17
9
10
-19
-23
-9
-40
-14
1
-1
-4
-6
-15
-19
-25
-18
-12
12
7
-22
-20
-24
-31
-5
-17
-11
-2
-1
-10
-3
-17
-28
-16
-17
-10
16
-27
30
-3
-79
-39
-2
-14
9
-12
-25
-22
-17
-29
10
-8
6
-2
4
4
7
2
-78
-25
13
-10
-24
12
-25
-11
-3
1
14
0
3
17
29
-1
-17
-34
-27
-40
1
-7
30
1
-25
26
35
-38
13
-17
-4
-12
18
11
-1
-1
0
-5
-15
58
26
-24
0
18
-47
-54
-35
0
-29
-7
8
18
-5
0
-30
3
-18
1
-15
-41
-44
-1
-52
9
-18
-13
-34
-7
-7
19
39
-14
6
-2
-36
-14
-2
-26
-45
5
16
-10
-5
-20
-31
-4
10
14
35
-19
-23
-8
-26
-23
-22
-41
18
22
-38
-33
-27
-21
-7
-10
7
6
1
7
-49
-33
-4
-65
-82
-3
23
-1
0
-16
-14
-19
-18
-23
-28
-26
-15
13
-4
18
-12
-5
25
-43
25
-63
10
-10
-29
-35
-17
-28
-19
-33
2
-15
-63
-14
-38
5
13
-6
-10
1
2
1
-26
-28
-23
-15
-25
-10
15
-3
-6
57
1
22
-26
-52
12
-16
-43
-3
-32
-28
-29
-24
20
-8
23
48
-28
10
-7
-44
-26
21
-3
-11
23
0
-7
-11
-9
-42
-11
-13
-2
0
-3
-20
-10
-11
-10
11
-5
-3
-10
-16
-1
-42
27
-45
-40
22
-13
-5
-5
-21
-12
24
-10
5
-9
-9
-8
2
-7
8
-16
-13
-3
-6
26
-18
-7
-4
-3
-15
-12
-6
-8
0
-6
-17
-29
-1
-1
-9
-2
0
-5
-28
-14
-6
-14
-10
2
-7
-10
-17
-25
20
-21
-1
-4
-6
-13
-2
-6
-7
-23
-14
-10
-8
-14
-24
-4
-5
-47
-30
4
44
2
-10
-7
36
-10
-33
-6
-4
-4
-21
-10
-33
-8
-39
-28
-34
22
2
-11
4
-17
-10
6
-26
-13
-8
-8
1
-33
-13
-2
4
17
-5
-2
48
6
-27
13
-6
-24
-1
-23
-18
18
-52
-4
-49
-36
-1
-2
0
0
-28
3
-15
-7
10
-18
-11
0
-18
-1
8
7
35
-48
0
-9
0
-17
-17
-14
-10
-6
4
-9
7
2
-7
-14
1
-28
-15
-36
3
-12
-7
-11
3
-30
-9
0
-6
0
-14
-2
-14
-26
-13
-23
27
-17
-29
1
-12
-23
14
-10
6
-2
0
-1
-11
-12
4
-24
-51
-9
-50
5
-31
3
-8
-21
6
-23
4
-6
-8
-10
11
-29
-25
-25
-41
-13
-7
-8
-5
-5
0
-40
-3
-14
-9
-3
-15
-12
18
-1
-40
5
-4
-31
6
-11
-11
-19
5
-28
-11
-9
-20
-21
0
-33
-34
1
-5
-1
-11
-3
-8
-18
-35
2
-29
-28
-24
-15
-4
-42
21
-19
9
-28
0
-43
-5
-15
13
22
-15
-7
-10
-18
3
0
-15
10
-33
6
1
0
19
-9
17
6
-1
-6
2
-13
0
34
-16
-18
11
45
-28
-33
1
3
5
-7
-27
-2
26
-23
-12
-20
1
-7
-61
3
10
10
-7
-6
-6
-1
-20
-6
5
2
4
-21
7
-1
12
-47
8
-29
-23
-32
2
14
8
-13
-1
0
-3
-19
-15
-5
13
-21
7
-60
31
-30
12
4
-15
-6
-9
-22
-35
9
-15
0
-9
-3
-16
-21
-76
5
-46
9
16
-8
-4
-14
-14
-5
-16
-10
-9
-10
12
-30
-32
-7
-22
-3
9
-1
9
-5
-6
3
-13
-11
-15
-11
-19
-12
5
-30
-12
-35
12
5
0
4
-14
-8
15
-5
-28
-1
-18
-24
-15
-37
31
-17
-43
-14
-7
-3
46
-9
-8
0
0
-15
1
-40
-4
-50
17
17
-3
9
10
11
0
6
-15
-20
-10
6
17
-24
-22
0
43
10
24
0
-25
20
-3
-1
-15
-18
-9
-19
-22
-8
-1
0
26
-1
0
-24
-10
-5
17
-4
0
-37
-7
-23
-18
-4
-7
-17
-21
20
-35
-13
-31
-12
12
48
-5
-1
-11
-2
-8
-12
-26
-7
-15
10
35
-11
-22
-1
25
43
25
0
-2
-2
-26
-14
-9
-21
-17
-24
5
-30
33
-23
-18
-68
-4
10
-3
-1
-8
-13
-9
-21
-8
0
8
-1
13
15
2
6
24
15
60
-6
-6
-19
-17
-21
4
11
0
-50
-42
2
-36
-24
-15
-83
54
1
-5
-6
-31
-19
-1
-25
-24
-35
-3
1
13
-30
51
-5
32
15
-8
-2
-2
-24
-18
-16
-26
-23
-14
-27
-25
-10
0
5
-17
-4
-2
15
0
0
0
-10
21
21
17
44
-18
18
0
25
15
-3
1
9
-15
-11
-4
-2
5
-38
-1
-38
-8
-11
0
-3
-7
-13
1
-19
-14
-29
-14
6
0
-69
0
-15
-35
-1
23
-10
-3
10
-6
13
-10
3
-6
-3
-1
5
-20
15
-14
-5
27
-19
-6
-17
5
-12
5
-11
-5
-8
-7
-14
-4
38
-2
-38
36
-18
-13
-13
-25
-11
3
-12
6
-20
-27
7
-11
-4
36
2
11
-40
-22
-14
-20
-23
-15
-20
-24
-30
7
-37
-4
-2
5
34
-56
-11
-10
-35
9
-37
-22
-9
-24
-40
-16
-29
1
-9
-73
1
5
67
-24
-27
-29
16
10
-32
-8
-10
-15
40
-6
7
8
-60
0
-14
11
4
19
-13
8
9
-10
-29
17
-9
-19
-21
-21
-1
0
-2
32
-61
-33
24
10
-25
7
0
13
21
9
-11
-6
-21
1
-4
24
-11
-9
72
-6
-25
4
34
15
0
-5
-2
-17
-20
-9
5
9
17
11
4
35
-11
9
1
-11
9
21
31
0
-7
9
-4
-20
-27
8
25
16
46
9
14
1
30
-2
-9
4
16
-6
-28
7
-7
20
1
-16
-5
-10
-47
-13
-11
-8
-14
16
7
-10
-24
-21
-30
-41
-1
0
-6
22
-26
-44
-60
47
-16
-13
-25
-15
-21
-20
-32
-16
-14
-27
0
-3
49
-14
27
-38
12
-61
3
-16
-6
-21
-35
-22
-27
-8
-21
0
0
-4
34
31
17
-62
-53
-44
-5
-10
-11
-23
-5
19
13
-7
0
0
0
0
-14
27
-4
-35
2
-12
-21
-34
5
-24
-28
9
3
-8
-14
63
-13
4
-4
-2
19
0
5
-14
-10
-4
-23
-28
-33
28
0
24
-8
35
-11
-13
-6
0
17
-20
-21
-8
13
-4
-16
-32
-26
1
-27
-26
5
-5
2
-6
-12
35
15
-9
-18
-5
-1
-15
-28
10
33
-17
2
16
-36
-7
-2
1
-17
-3
17
13
-15
-4
-7
-30
-40
-21
1
-8
-32
-32
-45
-13
-3
-17
-8
-28
-8
7
-20
-35
-58
-42
24
19
-18
-5
17
-40
-29
-15
-34
-15
7
-21
-3
-13
-5
-12
-63
38
12
9
-40
7
-25
-11
-12
0
-13
-21
-24
15
48
-40
-44
15
-39
55
-16
13
-36
19
-21
-27
-7
-1
42
7
-38
-55
23
74
27
2
24
29
-60
1
-47
-32
8
-11
-71
-36
40
68
-54
-56
-6
0
48
28
14
-14
-18
-2
-15
6
0
0
-22
-14
15
-2
5
23
-33
-14
-17
-26
-50
1
-10
-3
14
37
0
-11
-5
18
0
-26
8
-54
-9
7
-3
25
-14
8
15
-2
14
-11
26
18
11
-7
-13
14
-31
35
-1
-14
-23
-35
13
-22
-22
-2
4
-11
-18
-9
-27
-2
-14
-15
-28
14
33
-22
-35
-13
-23
-9
-15
-13
-11
6
-19
-5
-7
-14
-66
-1
-23
-1
26
-56
38
-12
-9
11
6
-14
-8
4
-16
-36
-22
-5
-3
-37
-3
-52
-10
-18
-49
-26
1
-18
-16
-5
-11
-32
-11
-33
-5
0
7
-26
-7
13
33
17
17
0
9
-40
-16
-34
-21
-7
-18
21
0
2
-19
2
10
-33
-2
10
-10
2
-5
24
18
4
-36
-3
10
-10
-6
-12
3
-8
19
-1
9
0
-1
28
-2
-25
-11
-34
-13
0
0
-27
-12
-9
-4
12
15
9
18
3
11
5
-19
-57
-52
-45
-1
-17
-14
-14
-13
-12
5
11
-11
-7
-9
22
6
-8
-22
-26
9
-6
1
-5
-8
2
-8
1
1
-11
-7
-37
-5
-1
-51
-54
3
-11
-9
18
8
-25
-15
-12
21
-7
1
-4
-15
25
-40
40
31
-6
10
-1
6
8
-4
-28
-23
-25
-22
-5
7
9
0
-4
5
-19
-82
-3
0
31
-16
21
0
10
-10
-13
-15
-36
11
-29
-20
-55
7
-11
6
0
5
-20
-22
-9
18
-6
-40
-44
-16
-27
7
-26
-13
-21
4
-1
0
-2
14
10
14
-19
-25
-8
-34
5
-28
-21
30
-1
0
0
0
0
22
-17
-11
-3
-11
0
-5
1
0
12
26
6
-16
-47
-24
6
-4
7
-26
-22
1
11
11
0
-7
3
26
-9
-4
-17
-32
-13
-12
2
-12
-15
12
5
-9
-6
7
3
-18
-23
2
-30
11
17
-43
-4
1
-24
-7
-10
20
10
13
-7
3
9
-2
16
-35
39
17
20
0
-2
4
-10
-2
1
-3
-13
-16
-30
-17
-22
-23
-43
-50
-28
-16
44
-7
21
38
-23
5
1
-20
-10
-19
-13
-12
-26
-22
0
-41
-69
-10
18
-11
-24
-16
-16
5
-29
-24
-9
-19
-10
-10
-14
5
10
-30
-43
0
-1
-47
-30
-16
1
-25
-28
-17
-8
6
-43
-22
-22
29
37
-6
-3
0
-31
-10
-9
-35
3
-35
-1
33
-15
-21
2
-7
1
11
0
0
10
6
-8
-9
-29
20
2
19
0
16
-20
11
-68
-31
-14
3
0
7
-18
-6
-4
-8
-5
-3
10
-16
-8
17
9
12
-29
28
-22
3
9
-23
-21
-12
-9
-7
-8
-4
-10
-3
20
-25
51
18
-8
-11
-1
23
-5
-32
-8
-4
14
8
2
-26
-14
6
-10
19
-11
-47
-6
2
-15
-15
-24
0
-30
-36
-2
-5
-68
-34
14
25
-24
45
-40
2
0
16
-1
-33
-12
3
-30
-22
9
-11
-15
-20
-32
93
13
8
5
0
-11
-16
-3
-11
0
-16
-5
-58
-9
7
15
10
52
11
2
0
0
-23
-22
-31
-23
-8
-43
-17
-8
-30
33
33
14
-3
-1
0
0
0
-9
-25
23
-12
11
5
-68
-22
-37
-73
-14
3
3
0
0
0
0
-5
6
-5
-27
-21
-19
4
10
0
21
4
13
-47
-14
-16
-3
-1
8
-6
-17
-25
-13
0
3
-19
4
-16
11
-21
-27
-34
6
1
0
-19
-7
-3
-6
1
-5
23
-6
-12
-2
-6
-20
-4
-27
-30
-5
0
22
-14
-13
-30
-22
3
-23
-37
-8
27
-19
27
21
-37
19
-22
2
-12
-33
1
-24
9
-13
-22
-9
11
0
-8
-14
-46
-22
-19
-26
2
17
7
-11
-26
-6
-13
6
-21
-18
-10
-14
-7
4
-23
-67
44
-2
21
6
16
2
-24
-7
-21
-21
-8
0
-23
-26
-15
-3
-19
-10
-2
-18
-62
9
-11
-9
-20
-23
-14
-18
33
-17
9
-15
-12
-27
-11
-2
0
1
31
-17
-8
-6
-5
-24
-39
1
0
11
26
25
-14
-12
0
0
-38
-9
6
-11
-8
-3
4
-9
-41
27
-11
-11
-1
5
3
1
-7
-22
5
11
3
8
5
8
-1
3
9
-5
-3
-3
6
-8
7
0
4
-1
-21
2
-2
-3
9
13
0
5
-34
-4
-22
-27
3
-11
5
-1
4
-23
-28
7
5
-19
-5
10
0
4
-21
-5
-17
-15
4
-12
3
2
9
28
15
-3
-3
-29
-8
0
5
16
-1
-7
-24
-29
-12
4
2
12
68
26
0
2
1
-10
-4
-9
-1
-6
14
2
-5
3
0
3
-6
0
-1
18
2
15
-2
2
6
3
1
-1
29
21
15
12
-11
5
3
2
4
20
10
-18
12
16
11
-1
2
0
-53
19
36
11
16
19
-1
3
4
13
22
10
7
12
1
5
3
3
17
-1
16
-1
-12
4
14
4
7
-15
-10
-7
2
20
-36
16
0
3
-11
-33
-55
-68
-67
-55
-88
-33
-35
-57
-44
-67
-1
0
0
0
0
0
0
-20
-50
-50
-28
-45
-68
-88
-109
2
-20
-57
-21
0
0
-3
-24
-48
0
-95
-145
-140
-75
46
0
0
0
4
32
0
0
0
5
21
12
19
2
14
14
9
0
4
5
26
9
-6
8
6
3
-1
20
4
6
31
14
0
-8
12
11
2
-12
16
4
10
11
3
15
13
-14
-82
0
-2
-4
-10
-13
-28
-10
15
-33
27
21
-20
38
3
-1
0
-46
-11
-6
-9
-13
-30
1
1
4
16
5
1
15
12
0
23
31
2
1
3
-13
-1
17
7
2
-4
-3
-1
20
0
6
-41
-11
-6
6
-4
19
14
-6
-2
34
-16
-8
11
0
17
-20
9
-19
-9
-2
-18
-14
-3
-9
8
-13
10
0
1
0
4
9
0
0
0
2
-14
-18
4
-4
-8
1
2
3
3
12
4
-41
8
10
11
4
-9
-13
-8
-3
-9
11
13
3
28
14
-19
-4
-4
-19
-3
-2
-5
-45
-31
33
-7
0
-21
66
13
-15
-12
-29
17
60
47
-22
58
26
11
-1
0
17
23
-2
9
-4
19
37
19
18
7
18
-4
49
-2
0
3
-18
-2
13
11
0
-20
17
2
-10
5
1
-14
13
0
11
-2
-28
19
19
8
-30
5
-27
7
18
-42
-24
64
0
-45
-1
-8
-3
61
-18
-9
-27
19
33
14
-4
24
0
0
0
-35
42
0
0
0
5
15
15
37
18
-22
15
14
0
-4
17
52
29
-21
32
38
-15
17
27
15
-10
-7
59
0
29
-36
14
75
67
25
35
-1
97
76
-34
23
-103
-10
0
3
-21
-23
-15
2
-11
22
-6
-15
-59
0
11
-35
35
0
-2
36
-23
13
27
30
-3
-6
10
-30
-9
-4
-35
-13
0
-29
3
-5
-4
6
-10
-61
-4
-14
-30
14
14
11
-61
0
58
2
35
-22
-13
2
-4
9
0
45
-27
1
-12
-2
0
-8
0
0
-55
38
-25
-2
-6
30
7
4
-1
7
16
2
-4
1
9
8
5
12
0
8
19
11
15
4
-3
-6
6
43
19
-30
-1
48
-9
-16
41
-64
0
-13
7
45
18
-6
31
12
29
0
0
0
-25
-27
14
2
1
66
-8
-31
8
-3
-9
-5
2
1
9
0
3
2
-3
-7
-1
24
-33
3
13
-10
4
-4
-2
-44
-10
1
-6
-6
-13
-3
20
11
-21
-5
5
14
3
-14
-3
-12
11
-5
0
11
7
-4
6
-8
0
-7
-23
-9
1
12
0
33
3
4
-6
7
0
-9
7
0
4
3
6
0
-1
-6
-6
-6
-18
7
-2
-13
-6
-3
-6
7
6
5
-6
-23
5
-9
-9
1
14
-7
-7
-1
6
-1
-3
-25
-14
11
7
5
5
1
-136
0
0
0
0
0
0
0
0
0
0
-65
-58
-62
-79
-20
-42
7
-17
-11
-37
-16
-47
-67
-23
-13
47
-4
-55
-62
-35
-40
-36
-76
-32
-21
-56
-76
-64
-3
-8
1
2
-4
3
-2
-112
-106
-77
-62
-89
-11
-9
-6
0
5
-86
-80
-81
-59
-28
-143
-45
-12
-58
-112
-126
-117
-63
-87
-114
-23
-48
-27
-1
9
-48
-32
-68
-28
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-162
-89
-45
-40
3
16
0
0
0
-78
-44
-9
-23
1
0
0
0
0
1
-37
-15
-67
-20
0
0
0
0
-81
-19
-47
-17
26
-1
0
0
0
-35
-34
-45
-37
48
14
25
0
-3
-46
-46
-31
-19
0
-52
9
-7
-20
14
4
3
2
1
1
-1
1
-3
-137
-65
-49
-53
-43
-45
-48
-56
-93
0
-63
-11
3
0
14
15
-23
-54
0
-93
-44
-17
-15
-5
-64
-46
-26
0
0
-74
-15
-23
-60
-48
-39
-50
-92
-55
-68
-59
-18
-70
-67
-59
-77
-3
-4
34
-33
-8
-21
-16
-19
-5
-11
-3
-6
-39
-4
-1
-28
-42
-39
0
-5
-21
-1
69
116
68
1
-39
-85
-45
-8
33
29
-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
11
0
-29
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
17
-55
25
11
-59
9
47
-33
-19
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
51
70
-1
-4
-43
25
6
-37
23
-21
34
14
-45
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
8
-34
-31
-17
-7
-44
21
-22
-19
-35
-31
37
-25
48
-73
27
23
45
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
10
-14
-60
8
-55
-34
-46
15
21
-35
-8
5
45
30
29
9
-6
-19
-23
-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
-15
14
-14
-25
-3
-26
-22
-12
-21
-64
8
-26
27
60
52
69
-10
54
35
49
46
-22
27
25
-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
-4
-2
23
-1
-7
-8
-33
6
29
4
-27
-7
10
28
45
4
82
1
-38
23
-33
9
24
14
16
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
1
9
-2
-4
-35
-2
4
-4
-40
44
13
23
47
21
59
20
-18
67
9
57
17
0
19
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-28
6
-3
5
3
19
23
48
52
39
75
32
13
9
2
81
-1
-19
-24
-32
35
-8
-1
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-29
11
49
-22
74
-25
-21
-29
-11
-39
67
55
-12
59
-9
23
36
-3
18
17
-9
18
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
35
-4
-50
44
17
16
-11
34
-14
-7
24
28
16
2
0
3
-1
-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
-7
-1
13
1
0
33
13
-6
28
4
-1
12
-16
9
9
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
1
0
0
1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-26
0
2
3
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-10
-9
-17
9
-3
-11
3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
3
7
-1
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-1
0
-5
4
-1
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-6
-6
-7
20
-9
12
-1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
-12
6
1
11
1
-28
9
6
16
-7
2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
6
0
-7
13
13
-4
-6
2
-8
0
-2
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
-2
0
0
-21
-13
-16
1
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
-1
0
0
-1
1
1
3
-1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
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
1
2
-1
-19
-12
3
-4
-7
-2
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-5
-22
11
-10
30
-17
-6
-14
-1
-2
1
-3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
19
19
-4
-20
5
2
-2
-2
1
3
-15
-10
-3
-2
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-12
-2
5
-11
9
-1
-9
20
19
8
21
-7
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
24
-6
6
-23
-13
-2
9
-9
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-10
1
13
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
0
0
0
1
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
-1
9
0
-12
0
1
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
4
-26
-14
2
-5
1
6
-4
-9
3
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
19
-6
4
-14
-3
8
-27
7
27
3
2
3
-4
13
1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-13
20
-26
-15
-38
3
9
30
12
-4
-15
-26
7
-3
-3
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
1
7
8
-19
-22
-8
-15
-7
-5
-8
-8
28
13
-43
1
4
-14
-18
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
1
15
8
-9
-7
28
5
13
3
-20
-20
7
-37
19
8
11
10
-10
6
-1
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-11
2
-6
-7
-9
18
-20
10
20
-34
-17
6
-8
-3
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-18
25
-4
8
3
2
1
12
7
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
-4
-6
1
5
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
36
-19
-27
4
11
-16
-1
1
-3
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
12
-7
-49
16
2
3
-35
-21
-20
-14
-28
0
13
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
19
-1
5
-16
-19
33
0
-21
30
-1
-30
-30
27
10
-8
6
-1
1
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-23
-20
-20
21
24
30
-13
-9
9
-11
39
-18
5
-37
19
-2
1
6
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-28
3
-14
-32
-58
-29
1
0
-18
26
4
-11
25
-4
-6
-6
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-16
24
-21
47
-38
77
-5
43
-3
-29
28
27
-5
-12
-18
-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
-4
0
18
-15
26
-27
2
9
7
-32
40
14
-25
29
2
16
7
-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
-1
19
1
-11
43
44
16
-25
-5
-18
2
3
11
-7
-2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
-1
1
2
3
-6
24
2
-4
6
-4
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
2
16
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-7
-3
-11
-28
0
-19
6
-44
12
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
-13
21
9
-8
-47
-16
-11
-35
1
-27
-7
-14
35
6
-17
9
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-18
5
5
-29
31
-18
-35
6
0
9
-11
30
11
-11
-5
10
2
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-7
-17
19
-17
-46
51
39
14
-26
-17
-31
-9
-35
-22
26
-5
13
-16
-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
-1
-1
-40
-25
-32
2
-28
-41
-38
-17
20
-21
18
-36
14
-21
-33
-39
-15
-4
-8
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
2
4
12
-21
-20
-79
17
-4
0
-45
46
13
23
-34
10
-11
-8
-6
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
-1
1
0
-4
-9
5
2
-2
-17
11
17
-22
-17
33
8
-22
23
3
-1
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
-18
1
9
-23
-2
-3
24
5
20
6
-8
20
0
-3
8
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-4
8
7
4
-7
0
-4
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
13
20
4
-6
7
32
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
50
47
-37
-2
20
-29
22
5
-3
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
-34
-4
10
-2
42
4
36
-30
-43
-31
24
54
4
4
0
13
13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
-8
1
-5
9
-8
13
-2
-5
40
-6
-45
-40
61
-16
-5
11
8
-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
13
-27
25
2
16
-8
-30
23
-13
-8
-15
-3
59
-24
18
55
21
7
20
19
-4
11
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
5
38
14
-15
20
13
-33
10
-70
7
-9
25
27
10
2
30
-54
3
4
10
6
17
-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
1
-1
14
17
13
27
15
27
37
13
60
3
-21
11
-57
13
6
-8
43
11
20
8
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-16
97
19
20
-26
5
33
15
24
-6
-6
2
5
22
8
2
-6
-3
-4
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
18
19
12
1
-16
1
10
-10
-32
26
-19
-32
-13
-24
28
1
-2
8
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
-22
17
17
-12
6
8
8
25
4
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
-2
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
41
22
-14
13
33
-17
-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
26
-27
-32
9
-67
29
-5
-6
-10
0
0
-5
-29
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
12
7
10
-5
-9
3
9
-22
-35
19
-33
24
-66
13
12
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
15
-16
21
26
-31
-33
-3
-20
2
23
-34
1
26
-29
-26
9
8
1
-9
-21
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-38
-39
-27
-20
-20
-23
-50
-27
-54
7
36
5
15
-38
10
-37
34
12
32
-12
17
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
-7
11
30
27
-70
37
-37
-31
42
27
9
-14
8
34
72
26
52
-30
42
-38
-3
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
-2
-2
17
-19
3
-41
32
36
72
2
-42
-17
40
34
109
60
18
-6
4
6
36
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
1
1
11
-13
45
1
-67
28
98
42
15
99
-42
4
-30
19
44
28
6
-15
-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
10
-11
27
-9
0
-11
-47
4
73
28
-3
47
2
8
-9
1
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
-13
-12
15
6
-6
1
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
-35
-39
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
59
27
-15
59
5
17
0
-14
-10
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
26
-6
-12
12
23
-9
-13
-12
23
19
44
0
-41
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-4
-57
-21
-19
22
-56
29
-19
37
44
13
-26
63
38
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
-15
49
58
0
25
-36
23
31
19
13
33
-28
-21
31
16
62
-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
-9
-16
15
-10
-3
54
-17
50
11
15
-16
4
-5
9
28
24
-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
1
-1
4
8
-8
-4
-13
3
-33
15
6
16
7
-15
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
7
-8
3
11
2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-16
-30
-47
-4
9
42
2
-26
-83
-53
5
-73
-24
0
14
-4
2
-28
-69
-16
-19
-8
22
-49
-17
15
30
-81
-25
-48
-34
-5
-16
0
8
-54
96
10
-36
-18
-64
-20
-32
-20
-7
3
41
55
16
16
-8
-3
0
-39
-4
19
7
1
-37
-21
-23
20
13
0
23
19
15
29
2
0
0
-12
-22
-17
30
9
-12
-1
22
-3
0
3
10
18
-38
12
4
0
0
0
13
-26
13
-47
-9
2
61
-2
-4
-14
-16
-23
-18
6
30
4
23
-6
16
30
-9
8
18
41
0
-29
-33
-37
-42
9
-47
-31
70
28
-7
18
22
-17
8
-18
-10
1
2
0
-38
-40
4
-18
-21
32
3
33
-30
-10
15
-20
26
-13
0
-1
-9
-20
-8
25
-31
49
-24
33
14
-20
-13
-48
29
-2
-6
0
0
-10
-11
13
7
-14
-46
24
-31
21
-20
-27
38
43
52
-37
0
0
-3
-33
-26
-26
7
-11
-38
4
7
56
-36
-66
-51
67
9
0
0
0
-6
0
-33
3
2
-28
-4
-7
7
63
29
14
72
39
0
0
0
0
0
0
15
36
4
1
-5
15
12
61
-15
-7
-16
1
-21
0
11
-20
26
-61
17
0
-4
-1
17
-27
-33
7
-25
-3
1
-17
-27
-54
-21
1
-16
-49
0
29
5
67
67
8
-8
-17
0
0
-25
-2
-25
6
-45
7
-14
-8
34
-4
18
17
-26
-8
9
-48
0
-36
-35
16
26
6
32
2
15
30
-9
-4
-5
-43
-20
31
-4
1
-13
-18
9
39
10
0
-36
52
-15
24
-4
-14
-4
-25
-1
16
2
-3
-25
18
39
3
-2
6
-5
4
0
3
-51
10
-19
-17
-58
0
1
3
12
31
27
-33
11
12
5
-55
11
6
5
-1
-33
12
0
0
-4
-4
4
21
29
35
32
-45
-9
-53
15
0
26
32
58
0
0
0
0
3
49
-44
-38
-30
-65
-10
-25
-25
-7
4
-68
12
6
22
34
35
4
39
5
0
0
0
28
43
43
18
-43
-18
-5
-18
-11
-3
-35
14
-1
34
15
22
-17
-17
27
-4
29
-53
-10
-7
6
22
2
-3
20
-32
17
-16
-10
60
-6
36
-1
-5
20
18
-48
3
-34
6
-5
27
-55
-20
17
-10
-17
4
-42
14
21
-17
-61
23
6
5
-4
-1
46
-2
-43
-21
-38
-48
-18
11
-21
14
-20
11
-6
0
-24
-9
-19
-59
30
-6
-17
-18
-54
-15
-9
-12
16
28
-21
-35
-1
13
24
42
-31
-43
-49
-36
-28
-17
-12
-10
-25
-14
-25
23
-70
0
0
-29
0
-23
-11
-55
-56
48
4
-28
-8
12
-39
32
-28
-37
0
0
0
2
-11
0
3
-20
-35
-29
56
40
-20
-5
2
20
-1
-18
-37
-43
-10
-30
11
-1
9
0
112
28
21
6
-17
-4
-17
9
-28
-48
-66
-4
-62
7
34
-4
0
15
25
-21
-26
-30
8
-30
-19
-7
-53
-37
0
-27
3
-10
47
34
60
60
-24
-41
-57
14
-20
3
-8
-27
-24
-18
-20
14
7
40
32
18
-5
0
-28
-13
-24
-17
-21
0
-6
7
-42
-26
-2
-8
-45
32
-2
-31
-34
40
-26
-43
-19
-39
-8
16
61
-9
-8
7
15
-12
-21
-5
-29
-58
13
26
1
-15
-22
-1
-2
41
-23
38
-3
-12
-8
-23
6
22
11
-36
-19
3
-42
8
2
-8
3
5
16
11
-2
36
-32
-6
11
-51
-6
38
17
-43
6
0
2
-7
-3
38
-20
-34
2
63
5
-20
-10
-19
14
-2
-26
-8
-4
10
10
20
51
23
69
22
0
5
-15
-22
0
-15
16
0
0
-3
-38
6
14
27
34
38
5
35
10
17
-14
-29
-16
-1
-3
0
-26
8
-26
28
48
-25
-14
6
19
27
-58
-29
16
16
-1
-9
0
51
-3
35
103
-25
-45
-11
3
-19
0
-5
-12
-14
7
9
1
0
29
59
-19
47
27
15
0
6
19
2
-36
-3
13
-16
-3
3
-1
-25
9
48
26
22
-2
-45
6
17
2
-13
-8
34
-18
8
1
0
24
-2
38
-28
-37
8
-12
0
-18
-35
9
-6
22
19
-10
1
0
-16
-136
-49
-68
17
6
3
17
6
59
-65
-15
32
20
3
0
0
-3
7
13
-14
-16
-96
19
-18
13
27
-3
5
11
-3
0
-2
0
7
-23
20
-72
-72
-13
38
-22
0
-32
12
1
-19
-8
-28
17
0
-4
-31
-6
-24
33
-21
8
5
6
8
-49
-21
-12
6
-9
9
0
33
2
-16
-6
-1
2
-26
-19
-32
34
14
21
-17
-10
-31
22
1
-34
26
-22
-30
7
9
-9
-4
-20
21
12
-29
12
-3
-6
21
1
4
22
5
11
-9
-3
-2
7
20
-22
-20
2
-17
14
-5
8
1
-23
-10
-36
9
-6
-6
48
13
1
-20
10
-19
11
-8
-1
-4
2
-9
-48
-7
48
0
61
-90
41
-10
-49
-36
29
21
36
-15
-2
2
-11
-81
-61
6
-5
-18
0
-33
-31
-56
-26
21
35
20
1
-2
0
-30
-45
7
-12
6
0
-8
-37
37
0
42
-1
13
18
-2
0
0
30
-23
12
8
-15
-13
21
-10
0
4
-29
10
-13
9
1
0
0
-39
32
21
39
-41
7
1
17
-6
41
38
-70
-31
13
2
2
0
15
-15
-5
27
1
-37
-9
15
22
46
-3
10
-18
-10
-3
-2
1
-1
26
6
-12
48
25
-25
20
-18
-26
-14
-42
-1
-4
-2
-1
0
-27
27
-1
18
2
4
-20
9
-40
-16
-2
-15
-14
-16
0
-1
0
61
37
-31
3
30
7
-41
28
41
39
-1
2
33
-16
-1
-1
0
47
70
36
-22
-10
-4
19
10
-13
-36
-32
-33
-32
6
6
0
0
2
6
-5
2
23
32
-25
-37
-8
-1
33
-6
-10
-8
-1
-1
0
-14
-39
20
-10
-30
-25
-29
-40
-3
-24
4
-2
1
-1
-1
0
0
4
18
4
5
-5
-44
-32
37
0
52
43
-7
1
-16
1
0
0
-17
-4
12
18
1
35
46
14
-1
21
36
-8
11
-19
0
1
0
-30
-8
1
-27
12
-12
-27
-30
63
35
8
-2
-9
-10
2
1
0
15
-21
17
3
-44
29
-21
22
58
-17
-24
12
20
-2
3
1
0
19
-39
-12
-49
5
-29
-19
39
-35
-22
15
3
-3
-8
0
1
0
18
-1
-46
-13
-29
-35
53
-35
3
-3
5
20
-2
-6
0
0
0
-20
13
-69
-47
8
-3
-27
4
34
-20
-5
-15
-2
4
0
0
0
-30
-13
-8
61
14
-14
-11
26
24
24
-1
8
-1
2
0
0
0
31
-3
-33
11
42
-83
-22
-37
-21
-6
-1
-17
0
0
0
0
0
0
-4
8
3
-41
31
44
31
0
124
33
46
60
5
10
-8
-41
0
-6
-19
-10
34
57
-19
0
25
40
-14
55
55
6
-31
77
9
0
-13
-8
13
23
51
4
-12
-6
12
26
10
-35
63
-18
68
50
-2
-29
13
-23
39
-19
-77
49
-9
-6
-19
-2
-12
1
24
102
-17
1
-2
-16
-16
-20
-24
-5
-28
-16
-9
-17
3
-28
-43
-62
6
31
0
-2
-30
2
-17
-1
-1
32
0
0
-41
3
-89
55
41
51
-12
0
9
-8
-16
-4
-14
-21
8
20
58
-97
-19
-43
4
9
-17
-23
0
0
-1
12
-9
17
-30
-26
-17
5
-10
17
-41
-109
-4
-9
1
0
0
0
3
0
-9
-32
-3
0
-6
-27
23
-54
-36
-7
8
0
0
15
-17
-16
-17
77
20
-6
0
61
14
10
38
-7
35
-19
19
-1
-22
6
21
6
-21
11
-23
-16
0
36
38
-2
19
-25
3
63
0
-2
19
1
24
-2
5
5
37
-2
-8
26
-23
-75
-28
25
-40
0
-6
-12
6
43
18
12
-18
1
7
-10
-2
-48
-17
24
41
33
0
0
-3
3
20
65
-27
2
74
19
12
-23
-21
10
-6
5
-24
0
0
2
-16
-26
-17
16
-13
28
-9
-32
-41
-14
-60
23
-29
14
0
0
1
1
-10
-15
-17
-33
-36
-18
10
-33
68
-22
-10
31
-82
0
0
0
0
3
-9
5
-21
-67
-38
23
-11
35
1
51
72
-31
0
0
0
0
0
0
-10
-10
-12
1
25
-11
28
5
1
-34
-6
-1
-6
14
18
-16
17
-40
33
0
22
-10
10
39
31
-62
13
-10
0
-9
-18
27
42
3
15
0
30
-20
41
40
-26
14
37
0
25
0
-43
29
5
27
26
8
-1
39
-14
10
-18
20
-16
-77
-51
22
0
22
12
42
-19
-31
18
5
51
-32
-23
-19
-2
-25
-8
75
-25
-2
5
-4
37
21
13
-42
-25
42
47
-67
22
46
-56
-18
-14
-2
-1
-3
-34
23
-10
43
-10
-8
-3
-27
22
-31
-14
-4
-22
-12
-3
0
-31
-1
-24
42
27
-23
-46
16
-7
-1
-20
-75
14
-30
-9
-4
-1
-2
11
-5
-5
33
24
-31
27
-7
57
11
-16
9
9
-2
-1
0
-1
-2
-12
-35
-2
31
-92
-18
-8
0
27
-15
-12
0
0
0
0
-20
-6
-25
33
-12
-2
49
0
9
25
32
5
-52
26
-45
-16
-7
-27
28
-33
28
-60
13
-7
60
0
28
15
46
57
29
2
-37
3
-16
-17
24
-10
25
35
10
3
17
59
59
6
0
-31
33
6
1
17
-17
-51
18
-25
-8
-20
24
-9
-26
8
41
20
-1
-35
45
0
-3
29
-16
-31
49
24
-30
24
-28
-5
15
4
-1
-8
29
-16
0
11
-8
15
-6
6
13
23
-20
-6
-19
11
-11
-2
12
-33
-11
0
-1
3
-25
-35
23
32
-88
-45
-56
10
19
13
-15
-20
27
-5
0
0
-1
2
0
-9
17
43
-47
-34
-40
32
22
-9
-9
-44
-6
0
0
0
-1
3
-8
-16
44
-41
-19
-24
-28
33
10
-24
40
26
-26
49
51
9
-4
3
28
48
0
-85
53
-20
-10
2
0
0
0
20
-7
-28
39
-16
-34
-28
28
69
13
1
-8
-13
-25
-24
8
0
36
-13
-27
66
17
1
5
21
30
29
2
-14
-6
-20
6
0
0
-11
-23
42
14
-4
63
24
58
15
43
-31
-18
-31
-14
-6
4
0
2
22
8
-15
27
29
18
38
-22
15
10
17
26
1
-2
-3
0
-50
18
43
-45
-23
-5
-17
5
30
9
-4
-45
-18
-17
-8
0
0
0
-34
71
-25
11
23
-10
-34
-27
1
-80
6
-20
2
4
0
0
39
-6
6
65
-20
69
-26
-58
-45
-71
33
-22
12
0
0
0
0
-19
-39
-4
-33
88
-46
-11
1
4
-18
1
0
0
0
0
0
0
17
-116
-70
36
-30
2
-16
40
0
4
10
-9
13
-16
-5
-1
0
12
-30
-16
-4
24
-5
-36
41
7
-10
20
-6
34
-30
-2
3
0
65
-25
21
6
34
19
49
37
32
62
-14
-22
5
2
-5
-1
0
-50
42
-34
53
30
-19
-16
13
43
-38
-20
-17
-20
14
4
3
0
7
8
-51
13
22
-22
3
3
20
-56
65
-21
1
-3
16
1
0
-27
43
-24
-27
10
-26
22
-24
30
-25
7
-31
-2
-11
-8
7
0
-2
-25
1
-10
2
-4
-52
-6
27
-21
-14
-35
-26
3
-15
-4
0
1
-34
10
1
-12
-25
-27
-33
-38
-25
-33
-12
-3
10
0
-1
0
0
4
-27
1
5
14
-17
25
-18
35
-71
-17
8
1
2
0
0
54
50
77
3
25
24
46
-69
0
-18
23
-36
-19
-10
-1
0
0
-21
-9
-44
-7
26
-10
63
-1
-19
-30
26
-16
30
-14
33
0
-1
40
39
-48
11
33
20
-12
-4
12
-71
3
3
-15
42
1
0
0
63
-4
-27
19
-33
5
-3
1
-38
15
-15
28
29
7
0
0
0
54
18
-17
-14
8
-3
46
15
-17
15
12
13
5
4
0
-1
0
47
-32
5
-52
-26
29
-50
-43
22
-20
-34
6
9
2
2
0
0
-27
8
18
39
-20
-25
18
-13
26
-11
29
-3
1
0
0
0
0
33
-43
3
-7
1
5
-1
16
2
25
-2
-8
0
0
0
0
0
-37
68
-9
7
20
-17
-10
17
1
-11
0
0
0
0
0
0
0
41
38
21
34
-48
-28
-14
-10
0
58
17
-22
-2
24
0
-1
0
-46
-25
9
-14
47
31
-3
15
29
7
78
-18
1
-19
16
0
0
46
17
20
-13
3
-9
52
53
-46
-28
7
-25
-13
-5
-3
3
0
12
-23
31
38
-26
22
-28
5
-6
8
-47
-7
-6
17
-6
0
0
1
-17
56
21
10
22
-7
28
-19
-27
6
-33
-12
-6
2
0
0
-57
58
62
-36
-5
35
34
9
-39
-97
-58
-35
-1
-14
3
2
0
38
40
28
58
-26
-24
8
-8
-10
5
27
-3
6
-16
-21
0
0
-19
31
-24
24
-27
43
-27
-47
4
-29
20
-1
17
10
10
0
0
0
-3
12
-34
-4
-27
-7
15
-10
-7
18
-7
-16
10
2
0
0
0
20
25
20
-13
16
5
9
6
-33
0
-5
3
-3
-1
0
18
-6
4
-17
-16
-3
-3
1
0
10
14
-4
1
1
0
5
6
2
2
5
-13
-9
-5
4
0
7
9
-1
18
5
0
-10
7
1
10
12
-6
7
-22
16
19
10
10
4
-3
-6
24
12
3
-29
5
15
-17
21
3
-15
33
5
-3
19
10
9
-18
-5
22
-2
-12
-16
7
12
26
24
-12
-2
22
1
2
-2
-8
-7
-1
-3
0
43
12
6
1
-11
1
-2
-5
-6
-3
-10
6
-8
2
-5
1
3
-10
10
21
5
0
5
0
-7
-1
-6
27
2
-1
10
6
7
-8
2
-11
16
-5
-18
7
12
-4
8
-8
15
7
21
-21
11
-8
-2
-12
16
-1
-4
-20
47
-19
18
7
3
-4
-12
-2
15
18
8
30
-14
-9
-37
35
-44
0
0
0
0
0
26
-5
0
0
0
54
55
-4
-37
-13
17
1
0
0
0
0
0
43
73
0
0
2
22
30
42
-55
15
-7
-2
0
0
0
0
-3
121
120
150
86
114
18
-51
14
-36
-59
11
-1
0
0
0
0
13
76
108
107
128
80
32
-72
23
-29
30
-12
0
0
0
0
4
71
45
64
49
34
24
-19
-31
-26
-13
10
7
0
0
0
0
0
-11
14
14
-2
4
-10
-22
7
35
-19
-11
-4
0
0
0
0
0
-30
-32
-41
-20
-67
-53
-58
-60
-10
-32
-15
-3
0
0
0
0
0
0
-32
-61
-65
-98
-53
-61
41
-4
26
-10
-2
0
0
0
0
0
0
-55
-95
-111
-93
-84
-42
42
-3
2
3
0
0
0
0
0
0
0
1
12
0
0
0
10
14
36
-12
11
0
0
0
0
0
0
0
18
-59
0
0
10
41
39
-13
8
4
2
0
0
0
0
0
-1
41
18
45
99
82
2
-7
10
20
-29
-12
0
0
0
0
0
9
41
-4
72
46
25
4
-58
-20
-15
-9
-3
0
0
0
0
0
3
38
47
41
44
-5
-11
-14
-15
-3
8
4
0
0
0
0
0
0
-21
18
-7
1
-48
-88
16
-2
-4
1
2
0
0
0
0
0
0
-46
-31
1
-6
-18
-60
-7
15
-11
3
-4
0
0
0
0
0
0
-8
-8
31
-57
-34
-47
-17
10
0
2
-3
0
0
0
0
0
0
0
10
-32
58
10
-14
-17
0
0
0
1
0
0
0
0
0
0
-57
8
0
0
0
45
20
44
-28
21
2
0
0
0
0
0
-1
66
-25
0
0
15
68
23
-13
-30
-12
9
0
0
0
0
0
-3
63
62
46
86
37
-11
45
-29
-24
11
-2
0
0
0
0
0
4
19
112
122
109
55
-19
4
-7
39
-21
-2
0
0
0
0
0
-8
36
82
72
8
-19
17
0
-67
-77
1
0
0
0
0
0
0
0
21
-15
1
-29
-55
-54
10
-3
48
11
0
0
0
0
0
0
0
-70
-56
-8
-65
-53
6
-12
-39
7
10
11
0
0
0
0
0
0
-2
-38
-68
-48
-64
-68
-9
10
9
1
0
8
0
0
0
0
0
8
-94
-32
-38
-28
-6
1
-2
1
-1
11
0
0
0
0
0
3
22
-4
0
0
0
44
14
-20
-11
-7
0
0
0
0
0
0
-15
57
6
0
0
32
-16
-43
20
12
0
-1
0
0
0
0
0
23
-5
47
59
92
84
-12
38
19
-6
-2
-1
0
0
0
0
0
78
121
53
59
83
44
-14
0
-13
-41
0
0
0
0
0
0
0
35
32
17
49
72
30
-44
-14
-2
-15
-7
0
0
0
0
0
0
-43
-4
25
-4
-5
-43
-108
0
-8
29
16
0
0
0
0
0
0
2
-19
33
-40
-31
-7
15
-6
5
6
3
0
0
0
0
0
0
1
-6
-35
-21
-6
-6
9
15
-2
-6
0
-1
0
0
0
0
0
0
4
-9
-18
-89
-15
-9
35
0
0
0
0
0
15
-28
-10
-4
18
-10
-39
0
0
0
-45
13
-2
14
10
-7
0
8
-32
-25
-12
6
-21
-27
0
0
0
-18
46
26
8
11
0
-1
9
-18
42
17
14
-23
-7
23
72
9
-13
19
22
2
20
1
2
12
19
4
-1
36
37
23
29
35
54
43
14
48
-12
-18
2
-4
-28
16
25
74
52
-21
41
-13
7
50
-7
7
24
-9
5
22
0
-8
35
28
75
43
32
7
-3
-22
-9
10
18
11
7
-15
-7
0
30
25
78
18
19
37
-14
2
-36
-46
38
-22
-14
-16
-9
9
-8
4
14
37
38
77
-9
39
-51
-9
-18
-71
-42
-43
-7
11
3
6
4
114
18
-24
13
-15
-49
-64
-8
-51
-55
-2
36
11
4
0
0
-18
42
41
-1
44
-29
-1
0
0
0
18
22
25
45
11
13
-7
44
51
27
4
20
-27
-2
0
0
0
35
40
29
1
-30
-15
-3
20
7
-24
11
77
39
-13
-9
8
-15
2
29
-18
-28
25
-21
0
-5
-7
-29
7
15
1
19
16
-27
14
-13
59
-29
-19
25
18
9
-41
9
-5
-27
7
10
24
34
10
30
6
14
-20
-22
-18
21
0
-14
12
42
17
22
-41
3
24
57
9
-34
-34
-2
-15
-18
6
-1
39
23
-42
-3
16
77
5
36
29
-16
-2
-22
21
-16
3
-1
1
-1
5
22
61
15
-47
-36
5
1
-12
10
-7
19
20
13
-28
0
18
16
42
-47
-1
16
-16
-6
-38
-22
0
4
1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
2
21
18
28
0
0
0
-12
29
10
14
26
0
0
-4
-1
-5
2
10
20
-48
0
0
-10
28
-17
22
-31
-6
1
0
-4
0
1
8
12
5
49
72
39
4
43
-18
-23
-9
-6
-1
0
0
1
7
4
1
3
47
85
76
33
-29
-32
8
-32
-13
-15
0
1
0
6
1
-3
5
-10
-14
-23
-29
-87
-8
-20
15
-17
-13
0
3
-1
2
2
-8
-14
-41
-52
-78
-75
-46
-2
-24
-25
-19
-15
0
-1
29
-9
3
-23
-17
23
-48
-90
-78
-96
-4
-6
0
-17
-1
0
0
12
5
5
-42
-66
-119
-95
-42
-13
-8
2
-16
-16
4
4
0
-6
41
10
4
-58
-29
-17
-28
-34
-49
-12
1
0
-1
0
-1
1
-40
-39
-15
-2
13
20
48
0
0
15
-8
11
-7
-32
-11
0
0
-66
-34
-13
-1
7
14
24
5
-4
-6
-33
26
-8
-20
-12
9
0
-26
-15
-6
0
3
1
14
34
-30
-43
-17
11
4
-49
0
-2
0
-2
2
6
1
-3
-8
17
9
22
61
-62
-1
-15
-5
9
-6
0
-27
9
11
0
-7
-16
-5
-6
-6
-42
-17
-40
-43
24
-8
0
0
3
16
19
3
-7
-19
-27
-13
-44
-98
-14
-28
38
-27
-6
0
0
29
14
13
0
-15
-32
-29
-53
-66
-50
-61
26
-5
22
2
0
0
67
44
3
1
-7
-34
-39
-39
-55
-33
7
-12
15
8
0
0
0
0
9
26
-1
-28
-29
-47
-58
-28
-62
-6
-29
18
3
0
0
0
22
12
-1
13
1
19
33
0
0
-14
1
10
-4
1
0
0
0
-14
2
19
33
28
40
31
4
-44
-4
0
-19
-12
-2
0
0
0
-1
1
12
2
4
-4
-18
13
-6
-25
1
-18
-6
4
0
0
0
-1
-1
12
8
22
11
-16
16
28
-17
-3
-21
-12
-3
0
0
0
2
0
2
-4
0
22
-16
-32
-140
-49
-21
8
-17
-4
-3
0
0
1
0
-7
-17
-13
-1
-56
-27
-48
-21
-41
-1
-22
-4
-1
0
0
0
-6
-16
9
-24
-30
-48
-88
-37
-41
-38
8
20
-2
1
0
0
22
0
-21
-1
1
-8
-44
-79
-83
-62
3
-16
-6
12
0
0
0
-14
-21
-36
-22
-36
-50
-11
-57
-65
-3
30
-22
-17
-2
0
0
0
22
-2
4
17
64
71
26
-29
0
-19
-21
-13
2
3
0
0
0
-7
3
18
27
31
6
0
6
-26
-11
2
12
-14
-3
0
0
0
0
2
15
15
17
23
43
-39
21
-58
-8
-53
7
7
0
0
0
6
6
3
4
7
-35
10
-19
-39
-14
-19
-24
-42
-1
0
0
0
3
-1
-9
-20
-36
-31
-52
-9
-40
-34
-10
12
-31
-4
0
0
0
-3
-6
-31
-20
-47
-63
-48
-110
-71
-15
-9
1
-3
-38
0
0
0
-11
-3
-42
-34
-100
-67
-74
-76
-98
-20
-29
-52
-17
-6
0
0
0
-32
-23
-30
-54
-79
-68
-96
-52
-77
-8
-15
4
7
17
0
0
0
-23
-24
-13
-53
-96
-47
-12
-27
0
-3
41
0
2
0
0
0
0
2
-1
-9
2
8
15
15
0
0
1
46
15
-3
-1
-8
-7
0
-8
-7
-6
6
11
9
3
0
-32
0
26
-15
17
-17
-6
11
0
-4
-4
-3
3
9
19
7
36
8
2
-10
6
-10
-29
6
-4
0
-6
-4
-2
2
4
11
1
-1
49
31
-17
-1
-20
-12
-1
-8
0
-6
-2
-4
-3
0
0
-6
-6
31
47
22
7
-32
-16
-10
5
0
-14
-7
-7
-10
-13
-1
-21
-53
-21
-94
-90
-18
76
-2
2
1
0
-30
9
-5
-13
-9
-19
-26
-76
-94
-76
-79
-35
5
-17
-4
-8
0
-11
7
-27
-53
-24
-35
-23
-92
-139
-70
-77
-10
-24
-27
-8
-1
0
-6
-11
-51
-23
3
5
-29
-49
-11
-46
7
-8
-4
-7
0
0
0
-6
-19
-14
-2
-13
-20
-19
-15
0
-9
-43
3
0
0
3
-1
0
0
-13
-3
-8
6
-18
-15
0
-22
0
-76
37
27
-7
0
2
0
-10
-8
-8
-10
7
-9
-23
-4
-54
1
17
-11
3
0
10
4
0
-10
-3
-1
-2
-12
-10
-23
-3
10
11
14
-4
-3
3
-2
2
0
-10
-3
-1
-5
0
-17
-5
21
21
21
11
-13
-28
0
-2
0
0
-19
2
12
3
-3
5
19
23
-23
27
46
-25
10
23
9
-2
0
-40
1
14
-6
-15
-17
3
-51
-31
-34
-10
15
-1
-1
-2
0
0
-23
-22
-4
-22
8
40
-24
-46
-43
-40
-36
20
0
7
0
0
0
-35
-53
-21
-24
-11
26
-13
20
51
6
-3
2
0
0
0
0
0
-21
-5
2
-2
-10
-36
51
0
0
0
-26
19
26
-8
-1
0
0
-9
-2
-4
12
6
-12
-21
-27
0
39
-25
7
14
13
2
3
-2
7
-1
-2
3
-11
14
14
4
-22
-2
29
0
1
1
10
0
0
27
-1
1
4
-14
3
-18
12
62
0
40
44
12
10
-4
-4
0
14
-10
-4
-7
-6
-23
7
-18
66
18
-3
-57
-2
3
-3
8
0
-2
-3
-5
-5
11
1
19
-24
-6
7
41
-24
-1
-6
0
0
3
1
-12
-4
-4
-8
-3
3
4
-3
10
-28
5
-2
0
0
4
0
8
-3
-9
-19
2
-38
-124
-33
6
-74
-1
-24
1
-2
0
0
0
-5
-11
-41
-14
-7
-25
-44
50
-2
44
-4
0
0
0
0
0
0
0
0
0
0
0
0
-21
16
0
-14
66
44
111
63
-15
-28
38
0
0
0
0
0
2
48
2
14
19
-12
154
77
36
-1
40
40
0
0
0
0
0
0
2
51
-6
2
-11
20
67
37
18
14
20
0
0
0
0
0
0
-10
-30
58
10
21
13
81
-5
68
50
44
0
0
0
0
0
0
5
-23
-27
5
-3
16
26
15
22
45
30
0
0
0
0
0
0
-1
-4
5
35
55
-45
-14
9
32
14
11
0
0
0
0
0
0
0
0
-4
19
-6
-53
-7
-30
-19
-16
-17
0
0
0
0
0
0
0
1
2
-1
26
-54
-93
-61
-54
-20
-5
0
0
0
0
0
0
0
0
0
0
3
-4
-6
-79
-74
-64
-35
0
0
0
0
0
0
0
9
0
9
7
118
51
57
27
57
36
0
0
0
0
0
0
0
-10
-12
6
-18
70
93
57
1
27
-4
0
0
0
0
0
0
0
11
11
-11
95
7
75
24
14
60
-36
0
0
0
0
0
0
0
1
0
-30
-2
99
5
-49
35
-7
50
0
0
0
0
0
0
0
0
2
-1
-15
44
37
-14
-32
-2
55
0
0
0
0
0
0
0
0
0
1
8
3
14
2
8
34
36
0
0
0
0
0
0
0
0
1
0
-2
-38
-94
-43
2
1
-7
0
0
0
0
0
0
0
0
0
1
0
-7
-28
-67
-26
-12
-17
0
0
0
0
0
0
0
0
0
4
0
0
-9
-18
-48
-25
-17
0
0
0
0
0
0
1
15
0
2
67
95
60
15
51
1
-38
0
0
0
0
0
0
2
38
-34
-19
51
76
41
14
29
27
-4
0
0
0
0
0
0
2
-55
41
36
-30
79
26
-1
-27
-2
17
0
0
0
0
0
0
1
14
9
6
83
25
-13
4
37
37
26
0
0
0
0
0
0
0
1
-5
18
-40
47
39
-8
27
31
22
0
0
0
0
0
0
0
-1
0
1
-22
24
-13
30
-18
-60
-3
0
0
0
0
0
0
0
6
-4
0
8
-8
-8
1
-7
20
-12
0
0
0
0
0
0
0
0
0
0
0
1
-12
-38
-29
-30
-9
0
0
0
0
0
0
0
0
0
0
0
2
-1
-55
-52
-22
-67
0
0
0
0
0
0
-6
29
0
-20
99
59
36
37
5
-4
-59
0
0
0
0
0
0
3
-11
5
-17
60
72
34
35
4
13
23
0
0
0
0
0
0
8
0
-4
0
-20
109
59
52
-10
-5
25
0
0
0
0
0
0
-2
-21
-8
40
-37
20
84
34
44
25
-5
0
0
0
0
0
0
7
12
0
7
39
7
58
42
98
45
-3
0
0
0
0
0
0
1
0
0
0
-15
-29
25
-10
8
23
31
0
0
0
0
0
0
0
-1
0
0
-3
-28
-4
-20
0
4
55
0
0
0
0
0
0
0
0
2
0
0
-18
-37
19
28
-2
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-36
-15
7
0
0
0
0
1
6
-11
-8
0
-4
13
30
43
-1
23
6
-23
0
0
0
1
2
10
14
-7
-22
4
-8
-7
33
0
-19
-3
13
0
0
0
1
-3
34
35
47
-24
-23
15
19
67
24
-7
-2
19
0
0
0
0
0
-4
-11
35
13
19
14
20
-48
5
4
3
4
0
0
0
0
0
7
9
6
13
15
44
-19
1
-5
9
-24
17
0
0
0
0
0
-20
-5
14
5
17
18
7
-18
-10
-15
11
1
0
0
0
0
0
3
5
-17
68
14
24
12
25
6
-22
6
20
0
0
0
0
0
2
2
-14
-18
-66
54
49
-21
-1
4
4
-28
0
0
0
0
0
0
-1
6
27
-39
26
1
-72
-17
21
-11
24
0
0
0
0
1
-20
43
16
0
-28
10
20
8
17
28
-34
-13
0
2
0
4
11
-34
25
-29
28
-15
-33
34
-5
10
47
5
29
0
0
0
0
0
15
-13
79
-20
-14
8
5
36
-4
4
-10
-48
0
0
3
0
2
6
-19
8
21
27
16
-29
3
-20
-14
15
-9
0
0
0
0
0
-2
-29
43
-3
22
30
10
29
5
-22
3
70
0
0
0
0
0
18
-10
-8
25
28
48
39
-18
-17
9
12
10
0
0
0
0
0
4
30
19
11
44
16
20
57
-29
5
19
1
0
0
0
0
0
-1
4
-23
39
16
-18
49
59
43
-8
-23
44
0
0
0
0
0
0
0
-6
27
17
20
-11
-62
1
5
13
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-21
-26
-24
43
5
0
0
1
1
32
22
-33
-89
-58
-26
0
22
-23
46
6
20
1
-7
1
1
3
28
8
-48
-34
-33
-28
0
-8
-13
36
34
-27
-3
0
0
1
-2
11
1
-26
14
-20
5
1
-2
-32
1
-5
-10
-6
-8
1
-14
-2
12
-16
-21
61
-37
14
0
-7
-8
-40
-22
-72
-45
-11
-14
-24
-35
-13
15
-5
21
-27
-31
4
-15
3
-31
-15
25
-36
-39
-18
-84
-72
-51
-38
-73
-14
-2
-43
0
-1
-4
-3
-2
4
-71
-38
-37
-64
-58
-71
-52
-18
-24
-64
-59
0
0
-1
0
9
-3
-14
-12
-88
-59
-6
-31
-52
-19
-81
-16
-23
0
0
0
0
0
-1
2
0
-22
-41
-14
-46
-7
-7
-32
-54
-7
0
8
-23
-11
-30
-8
14
6
0
0
0
0
1
-17
-24
-39
0
0
5
-36
-3
5
43
-5
-53
-9
0
0
0
4
-3
-22
-31
0
1
-39
-31
29
19
49
32
-10
2
0
0
0
8
-6
1
-17
0
0
0
-6
18
-5
-10
21
5
7
-1
0
-1
6
14
-10
24
0
0
-4
34
-8
28
26
29
26
11
0
-2
-1
11
22
8
77
0
0
-2
-28
-5
26
34
12
47
12
-1
0
-5
1
36
8
-20
0
0
-16
9
-11
92
32
-32
5
10
0
-2
-1
-1
13
25
-12
0
0
0
9
19
-11
-13
1
10
-4
1
-1
-9
-19
20
-2
-19
0
0
0
13
21
-64
15
-40
0
-5
4
4
-9
-48
-15
2
-11
0
-1
-1
44
-22
-22
38
2
-1
0
4
17
58
8
-3
-21
-21
0
6
12
-14
-17
19
10
1
0
3
14
5
14
-3
-42
-31
-61
0
-13
-11
0
1
26
4
5
2
1
43
10
-30
28
19
7
-55
0
1
4
-9
3
-14
-8
5
0
0
-5
5
-28
6
-26
41
54
0
3
0
13
20
6
-26
-10
9
0
-5
-27
-21
2
19
-30
33
0
-1
-1
8
-21
-15
1
0
0
0
-8
-26
-1
2
21
-74
-8
0
2
-6
-16
12
-18
-17
-4
0
-1
-12
-7
5
-34
-22
-52
-49
0
16
3
-12
-19
8
-23
-2
0
-13
-24
-1
-10
-4
-25
-45
0
0
0
27
-15
-38
-16
-14
-3
-4
-5
6
-28
4
2
-63
-36
-25
0
1
-12
-20
-9
21
1
1
0
0
9
2
23
-30
-68
-27
0
0
10
-39
-9
-17
-32
-1
0
1
1
0
15
23
-19
-56
-11
0
0
-3
-4
-20
18
-30
-11
-3
0
0
17
-3
29
-22
-44
-36
0
0
0
-10
-15
-2
-10
-19
-2
-2
-1
7
2
5
-19
-17
-28
0
0
0
9
-1
-34
9
-21
-19
-1
-2
1
1
-7
6
14
-2
0
0
-2
0
4
-34
-6
-27
-7
-2
-3
-4
18
-8
-6
11
19
0
0
-2
20
-23
7
0
-20
-1
-1
-11
-19
-2
6
3
-33
-40
0
0
-9
-5
0
-17
-21
-9
-7
-2
-4
4
-37
-8
9
-44
-44
0
0
0
0
-2
-1
21
-4
-3
11
-29
-38
-28
-37
-18
-64
-114
0
0
0
2
-15
2
34
-40
-5
0
0
2
5
13
23
-7
-4
-15
-11
0
0
-8
-11
-28
-3
5
-1
0
0
11
21
19
17
4
-4
-19
0
2
-38
28
-32
-32
3
0
0
0
3
11
-1
31
1
-14
-39
0
0
-17
4
33
-58
-24
-10
-10
-11
-2
-3
15
-18
41
17
-5
0
-2
7
-13
-18
-40
-70
-21
-32
-37
-33
-15
-10
-22
15
-70
18
0
0
6
13
7
-26
-122
-26
-36
-35
-55
-50
-31
-18
-60
23
1
0
0
19
4
0
-28
-86
-94
-46
5
-39
-76
-74
-3
-66
-63
-47
0
0
3
-13
0
11
-19
-76
-82
-71
-45
2
-40
-29
-15
-65
-24
0
1
0
1
3
0
-1
-19
-42
-63
-26
-91
-11
-54
-56
-35
-22
0
1
0
0
7
43
34
-10
0
-3
-8
2
18
20
-2
-13
18
0
0
-2
-4
-31
-42
3
1
-2
-3
-2
9
5
-21
-24
48
41
0
0
-2
-12
-19
-41
14
-17
-2
0
0
-7
-18
-12
-6
14
-31
-1
0
-6
-11
11
-16
-22
-12
0
0
-4
0
-10
2
4
0
13
0
0
1
-10
-21
-14
-32
5
-5
-19
-2
8
11
3
-7
18
-14
1
0
-2
-6
-8
-1
-2
-3
1
-3
5
-4
-23
26
19
12
60
0
0
0
2
0
-20
3
-12
1
24
-27
2
-6
-38
-5
4
-15
0
0
0
-1
0
-6
-11
-25
40
-18
-5
0
-38
-6
-19
-6
11
0
0
0
0
0
9
18
-30
14
18
1
-2
21
-4
49
-75
-37
0
0
1
2
-16
4
0
15
0
0
-18
15
12
1
-19
52
-30
0
-2
0
-18
-29
10
11
6
-1
-3
-4
-4
43
19
-8
-6
-23
0
0
-6
12
-16
-34
-14
-11
-10
-3
-3
8
0
3
1
8
-11
0
-1
0
0
-27
-43
-12
-6
-6
1
-4
-1
1
5
-2
1
63
0
3
0
1
-9
20
-17
-4
-3
-5
-10
8
-6
-15
24
32
29
0
0
1
-12
3
-20
-12
-4
-4
-1
-5
-2
-10
-19
19
15
50
0
-2
-2
20
-20
13
26
0
-2
-11
-1
-44
-20
-76
1
19
-29
0
0
-3
-7
25
-10
-14
9
4
-6
-3
7
-1
1
55
39
2
0
0
0
2
8
8
-24
-12
2
29
20
52
14
-26
-43
-31
21
0
0
0
0
0
120
70
0
0
0
78
32
-2
12
-41
-16
3
0
0
0
0
2
140
52
0
0
41
23
17
-12
-34
-55
-16
-22
0
0
0
0
51
41
80
100
103
64
25
13
-48
-42
-73
13
-3
0
0
0
0
-47
-30
28
64
53
11
0
-43
-22
-60
-34
-21
3
0
0
0
7
-11
-23
-33
8
-4
-39
-48
-51
-62
-56
-49
-36
0
0
0
0
0
-28
-87
-87
-83
-85
-83
-55
-9
-6
-70
-42
-71
-5
0
0
0
0
-59
-93
-127
-119
-78
-81
-57
-27
-28
-39
-28
-14
-6
0
0
0
0
-1
-73
-189
-139
-109
-68
-49
-24
-31
30
55
3
2
0
0
0
0
0
-50
-145
-145
-80
-72
-71
-26
-14
-2
11
7
0
0
0
0
0
0
7
49
0
0
0
1
26
47
-32
14
6
0
0
0
0
0
10
49
44
0
0
18
3
35
-36
-2
9
20
0
0
0
0
0
1
67
77
86
92
58
-14
8
0
-18
-38
-17
0
0
0
0
0
8
-3
15
39
41
15
-41
-21
-71
-22
-42
-21
0
0
0
0
0
4
-46
37
23
-15
-22
31
-18
-49
19
18
-4
0
0
0
0
0
-4
-95
-67
-32
-61
-34
-56
-16
-3
63
6
9
-1
0
0
0
0
0
-5
-78
-59
-60
-30
-39
26
54
-5
-8
-14
0
0
0
0
0
0
-7
-46
-55
-82
-13
-47
-22
40
9
7
1
-6
0
0
0
0
0
0
-52
19
-48
-8
-25
-61
-1
-28
-9
9
0
0
0
0
0
0
-17
86
0
0
0
51
33
-5
22
11
-8
-4
0
0
0
0
1
88
19
0
0
37
-19
17
-16
-45
-53
-18
-1
0
0
0
0
-2
103
66
60
70
50
-7
-26
-36
-65
16
9
0
0
0
0
0
28
22
54
53
56
16
0
3
-40
-42
-57
-17
-1
0
0
0
0
-33
-64
7
34
10
-32
-39
-4
-35
-45
21
-6
2
0
0
0
0
0
-52
-90
-30
-68
-52
-3
1
-63
11
7
-5
0
0
0
0
0
1
-78
-90
-73
-46
-47
-87
8
-24
-34
74
47
-1
0
0
0
0
0
0
-120
-82
-51
-49
-4
-27
-55
18
-5
-2
15
0
0
0
0
0
3
-158
-72
-60
-21
-30
23
2
5
-7
3
0
0
0
0
0
14
0
39
0
0
0
104
30
2
-3
1
4
0
0
0
0
0
71
65
33
0
0
41
-5
31
3
-33
-10
2
0
0
0
0
0
20
36
70
76
83
39
-3
22
4
1
-13
-3
0
0
0
0
0
-11
25
51
74
38
27
-41
-23
16
-40
16
-6
0
0
0
0
0
-52
-18
-3
14
-16
-22
-21
-28
-14
42
9
0
0
0
0
0
0
-35
-42
-14
-32
-58
-53
-27
-99
-50
40
-23
-2
0
0
0
0
0
-7
-24
-56
-61
-79
-27
-34
-17
30
46
-22
-7
0
0
0
0
0
-1
-88
-31
-87
-83
-33
-16
-5
-18
10
-9
1
0
0
0
0
0
0
-17
-54
-21
-45
-6
6
-26
5
0
1
0
0
-42
-21
-42
-16
-6
-19
-77
0
0
0
18
44
-39
1
5
31
1
-9
-15
-5
-17
24
-7
-11
0
0
0
13
36
14
-15
12
-14
-2
33
-31
-10
-14
-16
-12
-29
11
26
18
8
63
-24
-9
-22
-11
-1
-34
-22
22
-25
-14
35
31
33
14
20
41
39
-17
-25
-75
-28
-9
1
-20
40
-1
24
25
-1
-15
-26
6
-29
2
-25
9
-20
18
8
-32
52
28
-6
-9
-22
-15
-36
-59
-30
-34
31
16
-24
4
-37
-6
88
39
11
15
-20
-35
-47
-65
-43
-77
-52
-11
-22
5
-49
0
1
11
12
52
3
-70
-76
-48
-107
-71
-58
-67
9
25
12
21
6
24
28
32
-73
-7
-47
-33
-50
-35
-58
-62
-88
-36
28
27
60
3
6
-12
5
44
-2
24
23
77
0
0
0
20
40
78
50
0
-4
11
27
43
32
23
0
-34
-28
0
0
0
8
42
15
18
-15
-27
-9
-7
48
-4
6
-19
-62
1
-26
-34
-19
24
7
-22
-46
4
5
-10
18
-4
-9
-31
-14
-32
-15
15
20
-6
-6
-7
-44
-21
-19
-44
-9
-47
16
-10
-6
-13
-2
14
6
14
12
-26
-36
-60
-8
-26
22
2
-11
2
-9
4
12
-8
-32
-1
13
-16
-17
-20
-23
20
-66
17
-4
-1
-19
-19
-25
-7
-6
-22
6
-3
-8
-33
-24
9
-32
-16
26
-6
33
0
-3
1
0
-18
-31
-21
-6
-16
-39
-43
2
-36
-1
-16
-1
-1
16
35
-29
-63
30
3
-6
-32
-25
-39
-10
-53
30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
32
20
0
0
0
-12
23
-19
-23
51
-24
0
3
-1
-6
-1
25
29
18
0
0
22
-3
-12
-31
-39
-10
20
-11
-2
-4
-10
-14
0
-2
34
50
54
1
-28
-6
1
-60
-11
-25
-12
-8
-14
-14
-20
-15
-24
-4
14
15
-18
-57
-44
11
-12
-55
8
9
-8
-17
-25
-25
-23
-32
-40
-26
-38
-40
-49
-36
24
32
-50
-22
-3
-11
-18
-26
-30
-44
-45
-64
-71
-60
-54
-83
-26
-43
-21
14
6
-2
-35
-30
-38
-48
-45
-62
-80
-99
-78
-52
-91
-23
-31
-28
-43
-19
-9
-15
-60
-42
-56
-63
-85
-65
-81
-51
-95
-40
-10
-27
-59
-17
-2
-5
-43
-65
-12
-32
-65
-81
-151
-76
-82
-48
-55
22
-16
-29
11
-3
0
-1
0
-7
-6
5
15
73
0
0
-1
-66
2
-62
-60
-72
-4
0
-15
0
-8
-3
4
6
14
24
16
-24
-34
-12
-32
-22
-45
17
0
1
-1
4
1
4
-6
5
4
-14
-36
-27
19
-37
-60
-9
6
0
-8
-11
3
0
-2
-1
32
18
-10
0
-14
-23
-44
10
28
-25
0
7
-5
8
6
-3
-7
-15
-35
-28
-26
-26
-32
-37
-21
-26
7
0
9
0
16
3
-5
-16
-37
-32
-36
-15
-24
-28
-7
-78
-8
0
0
27
-7
7
2
-8
-21
-46
-40
-23
-35
-47
-36
-6
22
3
0
0
-14
-12
17
3
-7
-28
-33
-25
-23
-20
-40
-24
0
9
0
0
0
10
-9
44
8
-8
-17
-35
-22
-31
-28
-11
27
11
9
0
0
0
42
49
41
62
69
70
71
0
0
-38
-29
-25
-16
-13
0
0
0
18
4
15
32
53
38
18
13
17
-13
-24
-67
-11
14
-4
0
0
1
-1
11
16
39
25
1
-7
-20
2
-41
-13
-41
5
-2
0
0
-10
-5
1
4
12
-22
-40
-5
-26
-41
-55
-9
-79
-8
0
0
0
-3
-10
-14
-17
-37
-12
-57
-55
-12
-75
-112
-34
19
-17
-4
0
0
-5
-9
-9
-14
-14
-50
-58
-73
-62
-101
-69
-64
-99
38
-8
0
0
-2
-2
-12
-12
-12
-54
-39
-40
-59
-39
3
-34
36
5
8
0
0
8
-4
-9
-12
-14
-32
-27
-55
-88
-59
-10
7
23
22
-2
0
0
-17
-27
-21
-22
-33
-38
-42
-29
-32
-10
2
2
1
-37
0
0
0
-18
-2
12
30
80
100
65
15
0
-38
-88
-80
-11
-3
2
0
0
-13
0
18
29
27
86
0
1
-32
-33
-68
-64
-65
-7
0
0
0
-12
-6
-3
3
30
53
43
-23
-50
-88
-37
-47
-42
39
-2
0
0
-6
-3
-13
-22
-39
-31
-21
-19
-63
-88
-52
-11
-76
-7
-1
0
0
2
-6
-22
-56
-41
-48
-43
-88
-46
-48
-12
-6
-10
4
-2
0
0
1
-18
-29
-60
-65
-95
-102
-115
-24
-24
30
-28
-13
-62
0
0
0
-10
-14
-36
-66
-69
-97
-104
-98
-89
-62
-49
-35
-4
-24
0
0
0
-14
-20
-33
-59
-67
-105
-106
-57
-53
-73
-50
-15
16
22
0
0
0
-56
-32
-7
-96
-81
-133
-51
-127
-9
27
2
-1
2
0
-1
0
0
0
-5
-14
-8
5
8
72
0
0
40
55
37
-28
13
-34
21
2
3
-7
-18
-9
0
12
27
0
30
0
43
-28
-56
-10
-4
11
15
-2
-12
-20
-22
-12
-1
38
28
35
42
2
-8
-49
-90
-6
-26
-2
-2
-18
-27
-36
-34
-38
-37
-19
-18
-43
-62
-42
-42
-76
-26
-60
0
-23
-25
-39
-41
-52
-48
-54
-44
-99
-71
-86
-57
-86
-45
-38
20
-1
-19
-27
-38
-38
-47
-65
-83
-83
-108
-82
-122
-65
-12
-67
-41
5
6
4
-29
-52
-56
-80
-73
-94
-94
-109
-89
-90
-65
19
15
-57
2
0
-37
-62
-73
-62
-90
-82
-117
-105
-129
-110
-126
-29
-63
-8
-13
26
0
-24
-111
-15
-106
-81
-115
-70
-115
-43
-94
-25
-87
-22
6
-5
-1
0
-20
-31
-20
-24
-14
-48
-51
-3
0
19
-25
-1
-25
15
23
0
0
-32
-28
-31
-32
-36
-30
12
0
-12
0
1
5
-37
-52
56
7
0
6
-42
-19
-16
-1
12
5
-22
-39
12
29
17
-37
-23
23
18
0
-18
-26
-28
-15
-4
30
1
1
-28
-3
46
93
-23
-20
-22
5
0
2
-17
-28
-26
-2
-7
6
16
-43
-33
-20
-5
23
1
-39
0
-2
3
-30
-43
19
-35
-18
-32
-55
-57
-57
0
-19
12
37
22
34
0
-12
0
14
-43
-28
-58
-42
-55
-84
-34
-31
-30
9
-1
-21
8
0
33
31
-16
-16
-43
-45
-85
-74
-71
-80
-125
-13
24
19
-9
0
0
3
1
-3
-50
-94
-49
-40
-15
-44
-68
-23
28
-11
-2
-2
-1
0
10
4
-11
11
-15
-6
24
0
0
0
4
75
69
-18
18
2
4
19
-11
-12
-6
-12
-15
-1
31
0
15
15
40
28
-11
36
8
-3
7
-12
-17
-10
-14
3
-19
-28
-33
-19
22
-4
30
-16
27
1
5
-22
-6
-33
-1
-11
0
-13
7
58
-4
-10
-16
-39
-16
-8
18
0
-36
-58
-48
-28
-20
17
-10
-33
41
9
-60
-7
-26
27
-22
19
0
-38
-56
-54
-16
-21
0
-8
-7
21
10
-58
-47
-68
-11
-2
-12
8
-32
-20
-43
-33
-27
-13
-15
-8
-8
-20
-80
-19
-10
2
-3
6
1
-68
-71
-30
-3
-49
-64
-10
-13
-11
-16
-53
-71
9
-11
-3
4
0
3
-9
9
-24
-11
-20
-47
-22
-4
12
-25
-2
-2
0
0
0
0
0
0
0
0
0
1
53
30
0
26
93
100
59
4
-22
-14
3
0
0
0
0
0
13
-1
32
27
27
41
87
43
-21
-8
-9
13
0
0
0
0
0
5
51
50
44
52
54
16
17
-30
-1
25
7
0
0
0
0
0
-2
44
25
-20
21
-26
-21
-10
-33
-6
-5
37
0
0
0
0
0
0
37
-38
23
-28
-29
-34
-22
-51
-34
0
2
0
0
0
0
0
0
-3
59
34
-26
-42
-121
-51
-66
-29
-26
-8
0
0
0
0
0
0
-6
37
19
23
-60
-95
-71
-67
-50
-67
-38
0
0
0
0
0
0
9
-4
13
-20
-56
-122
-67
-106
-97
-67
-29
0
0
0
0
0
0
0
6
-1
-10
-8
-78
-76
-102
-90
-53
-63
0
0
0
0
0
0
-1
36
0
-29
48
90
30
19
11
-9
13
0
0
0
0
0
0
-1
3
2
21
11
77
66
19
27
1
34
0
0
0
0
0
0
13
30
36
44
52
36
-9
23
4
28
23
0
0
0
0
0
0
-1
-18
3
6
0
-20
21
-29
2
25
7
0
0
0
0
0
0
0
9
20
34
-48
16
-16
-26
-25
-5
13
0
0
0
0
0
0
0
-2
0
26
17
-80
-63
-51
-31
-31
-7
0
0
0
0
0
0
0
0
5
8
8
-6
-43
-26
-44
-46
17
0
0
0
0
0
0
0
0
1
41
3
-43
-77
-53
-49
-17
6
0
0
0
0
0
0
0
0
-3
0
0
-40
-3
-38
-51
-47
-26
0
0
0
0
0
0
8
20
0
13
90
112
31
-2
-8
17
34
0
0
0
0
0
0
-11
27
19
26
28
84
49
8
34
-6
-24
0
0
0
0
0
0
19
31
-2
44
36
65
22
-2
6
7
-18
0
0
0
0
0
0
-10
36
30
-27
7
29
1
-16
-1
18
78
0
0
0
0
0
0
3
23
2
-7
-57
-70
-29
-5
-3
-2
63
0
0
0
0
0
0
1
-24
34
4
-84
-103
-64
-35
-31
-15
-24
0
0
0
0
0
0
-1
9
11
38
-8
-19
-65
-68
-40
-14
-39
0
0
0
0
0
0
0
0
0
11
46
-6
-84
-40
-44
-91
-9
0
0
0
0
0
0
0
0
0
0
8
-51
13
-47
-24
16
-28
0
0
0
0
0
-3
5
53
0
6
71
93
51
41
11
-1
57
0
0
0
0
0
3
5
23
28
6
-29
125
23
7
12
-2
17
0
0
0
0
0
6
50
13
52
20
68
74
7
11
20
9
27
0
0
0
0
0
2
3
16
9
10
40
-22
0
10
29
-2
4
0
0
0
0
0
-8
3
-12
27
-38
-52
8
6
-22
24
12
18
0
0
0
0
0
0
7
7
25
-17
-31
-54
-37
-46
19
23
-8
0
0
0
0
0
0
1
-8
-15
-23
-38
-45
-38
-47
-27
-27
25
0
0
0
0
0
0
0
1
7
3
19
-52
1
-2
-63
-25
-6
0
0
0
0
0
0
0
0
0
0
0
0
-14
-13
-60
-55
48
0
0
1
7
-21
-25
-1
-3
0
-17
25
33
26
23
-43
-26
14
0
0
0
2
4
34
27
12
39
0
14
38
26
4
-28
-33
11
0
0
0
-4
-11
21
58
44
12
25
4
30
33
-6
-23
-34
-11
0
0
-1
-2
-29
-32
28
40
5
13
26
9
-19
-21
-24
-3
-6
0
0
-2
9
-1
-13
-24
24
-5
35
-1
-9
-37
-26
6
-5
-4
0
0
0
0
20
8
7
-12
1
18
-32
-27
-18
-32
-19
-22
4
0
0
1
-4
-8
-10
-5
-35
-9
-21
-47
-32
-14
-32
-29
-42
-9
0
0
-3
0
2
-1
-16
-24
-5
-30
-21
-48
-13
-4
-58
-12
-8
0
0
0
0
0
-24
-1
56
6
5
-47
-103
-73
-74
-12
-26
-28
0
3
2
3
21
-51
-26
-3
0
27
-9
31
1
34
-25
-10
19
0
2
0
18
-4
-7
40
5
-6
-1
-19
32
-6
-8
-12
-22
25
0
-3
0
-7
19
10
20
-7
-10
-6
-1
25
6
-5
-39
-3
-7
0
-2
11
1
13
12
16
-1
-23
2
40
14
-18
-15
-22
-1
-21
0
0
1
4
9
-4
2
17
10
24
-28
-22
-40
-23
-8
0
14
0
0
0
2
-13
-3
-9
16
17
4
19
-19
7
-34
-6
5
13
0
0
0
-4
22
10
19
15
14
9
2
15
-13
-18
-18
0
-3
0
0
0
-6
-11
-16
31
5
50
54
1
-14
-38
19
24
-8
14
0
0
0
0
9
-1
28
78
10
19
19
-46
-50
-10
-35
-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
5
-35
-32
-31
-61
2
8
10
0
5
6
29
-24
-23
-70
-40
-24
31
43
-14
0
-34
0
-1
7
1
2
2
20
-15
-35
-40
-13
-5
-15
-83
-12
-38
-9
-35
-15
-6
0
-2
-5
-6
-40
-59
-38
-35
-22
-11
-12
-14
-57
-32
-54
-21
-24
-42
-65
-44
-67
-38
-35
-31
-66
21
-9
-50
-26
-18
-52
-114
-87
-60
-93
-115
-124
-80
-57
-60
-72
-20
-48
25
-17
-50
-93
-41
-54
-109
-119
-139
-197
-165
-103
-63
-89
-85
-79
-32
-7
-26
-2
-39
-11
-44
-152
-113
-124
-104
-148
-111
-92
-89
-63
-112
-21
0
0
4
-21
16
-39
-83
-96
-119
-46
-26
-93
-51
-97
-60
-85
-40
0
0
0
-3
-4
-3
-18
-43
-134
-176
-42
-106
-78
-52
-102
-40
-80
-1
-3
-16
15
-6
25
-6
-10
0
0
1
2
-8
-22
-26
-17
0
-16
-28
-83
-10
0
-3
5
1
4
0
1
-1
-7
-20
-22
-30
0
-15
-50
-28
-24
-12
8
5
16
8
3
0
0
5
-2
6
-4
0
0
-36
7
-4
7
7
14
7
9
-2
0
-4
3
-1
7
-15
0
6
-51
-52
-13
-7
-4
-12
-10
-9
-2
-4
-4
5
3
3
-12
0
9
-15
-23
-12
-23
12
-14
9
-1
-10
-4
-4
-12
-13
-13
19
0
-3
-10
10
-30
-11
0
-26
-8
-10
-4
0
2
-7
-20
-24
-42
0
0
16
8
-14
-23
-9
-21
-4
-6
1
0
-3
-9
-30
2
17
0
0
0
29
16
-35
-16
-3
8
-3
-3
2
-26
0
-17
-20
19
0
-4
10
1
-6
26
36
-8
3
0
1
6
13
-8
-9
-24
13
0
-25
22
2
5
7
26
3
0
2
9
-2
19
-28
-10
-53
-59
0
-48
-32
18
16
14
16
-1
1
1
16
2
-30
-17
1
-44
-40
0
9
-6
-33
-13
-12
-5
-4
0
-6
-11
13
-10
-4
-24
-10
33
0
21
-17
14
-14
-9
-19
-6
-12
-8
-17
-10
-17
-19
-11
-60
4
0
32
12
15
-40
-27
-25
-10
-7
-4
7
-2
-21
-28
-18
-71
-22
0
-6
-44
-14
-6
-8
-12
-6
-3
-6
-9
-24
-30
-43
-83
-59
-63
0
-2
-20
4
-30
-20
-18
-10
-1
-25
-33
-2
-27
-51
-64
-42
-16
0
-45
9
-29
-3
-7
-19
-14
-5
-10
-36
-23
-21
-39
-59
-30
-38
0
14
-51
5
-18
8
20
4
2
0
1
-4
1
-16
-23
-4
0
0
-11
42
-18
43
-2
15
4
1
0
0
-5
6
-4
-23
-4
0
0
-13
-100
-41
-7
-27
-1
-7
0
-2
-3
2
13
-30
-28
-25
0
0
-43
-18
4
-26
-29
-23
-9
-25
-17
-26
-16
12
-10
-29
-6
0
0
38
-4
-37
-59
-27
-26
-23
-21
-11
-39
-28
-4
-20
20
-47
0
0
-11
-45
43
-34
-31
-41
-16
-27
-36
-39
-15
-18
-11
8
5
0
0
-12
-33
-42
-50
-30
-28
-34
-25
-34
-27
-22
-24
-59
-19
17
0
0
-62
31
-38
-61
-57
-31
-20
-29
-39
-18
-29
-43
-45
-104
-80
0
0
0
0
-19
-9
-31
-57
-13
-57
-74
-20
-70
-108
-88
18
-17
0
0
-1
-1
-75
1
-53
-14
9
5
0
1
9
0
-41
-58
-45
-43
-14
0
-51
18
-88
1
-37
-4
-1
3
-2
4
5
-18
-58
-33
-45
-42
-11
71
-63
9
-49
-43
-59
-8
-8
-3
-4
-20
-33
-44
-14
-35
-10
0
-10
-50
-32
-47
-66
-31
-18
-38
-44
-59
-49
-33
-35
-19
-28
-1
0
-14
-26
-14
-67
-103
-102
-83
-103
-112
-118
-105
-42
-68
-47
-28
24
0
-15
-46
-43
-48
-91
-149
-95
-133
-131
-126
-148
-82
-76
-93
-60
-14
1
-26
-24
-28
-51
-84
-128
-88
-119
-111
-144
-110
-72
-84
-91
-75
-28
0
-21
45
-37
7
-102
-85
-95
-77
-96
-65
-88
-70
-52
-45
-113
-9
0
1
16
12
-2
-8
-45
-91
-126
-181
-107
-92
-37
-117
-70
-94
-56
0
2
6
-11
-28
11
-13
-7
0
-4
1
9
-16
-40
-20
-29
-17
-1
-7
-7
-30
-76
-20
-23
-20
0
-9
0
-5
-18
-23
-10
-37
-5
1
-1
-12
-56
-41
-1
-13
-9
-37
-18
-7
0
-21
-16
-10
-22
-13
0
-1
-6
-4
63
-34
32
-36
0
-25
5
17
8
8
-21
-10
19
-1
-4
-19
43
-24
-37
-15
20
-21
-14
-6
-25
-2
-17
-6
-15
-7
7
-3
2
-43
26
-25
-18
-8
-6
-19
-40
-49
-18
-6
0
9
20
-1
-1
-8
-4
4
3
15
-23
-62
-41
-53
-18
-21
-16
-29
26
-21
0
0
2
-12
-9
-83
6
-19
-7
-17
-45
-44
-26
-6
9
-55
2
0
0
0
0
6
17
11
-19
1
0
-64
-55
-37
-13
31
-65
-110
-1
-20
26
16
-12
-2
15
0
0
1
-43
1
10
-3
0
8
24
-1
-10
-5
-31
-13
-19
-1
-11
-2
-5
7
-9
32
2
24
-1
-5
0
27
-44
37
-8
-7
-6
-16
-19
-14
-30
6
7
12
-11
-9
-3
4
-3
-5
-7
5
-29
-3
-14
-26
-12
1
-18
-21
8
-16
12
-29
0
-4
3
17
-58
2
-18
-14
-15
-5
-15
1
-17
8
-10
5
-6
0
-17
24
-3
-65
5
5
-14
-23
-8
-9
-14
-4
-17
-6
-4
11
0
-8
-24
-55
-49
-7
-19
-4
-14
5
-3
-27
-27
-9
-15
-24
-17
0
2
-5
-46
1
-4
15
-6
-8
-25
-6
-11
-49
-25
-59
-20
10
0
0
-1
3
-24
-20
-2
9
19
-11
11
-45
-24
-17
-26
-46
5
0
0
0
0
0
78
84
0
0
0
44
34
26
28
-37
-29
3
0
0
0
0
1
139
36
0
0
45
-15
38
-8
-35
-44
-19
-5
0
0
0
0
47
-6
79
86
78
21
5
-26
-41
14
-30
5
-1
0
0
0
0
-31
-35
26
38
2
-5
-9
-20
5
-70
-80
-9
0
0
0
0
7
-20
-23
-56
-41
-42
-30
-20
-47
-52
-27
-45
-13
0
0
0
0
0
-38
-58
-103
-80
-60
-48
-41
-20
-27
-78
4
-41
-3
0
0
0
0
-57
-107
-119
-89
-52
-71
-37
-27
-29
-9
-3
-11
-6
0
0
0
0
-1
-38
-125
-109
-62
-48
-39
-17
-19
30
27
3
1
0
0
0
0
0
-44
-101
-74
-77
-15
-60
-2
-1
-3
7
2
0
0
0
0
0
0
1
64
0
0
0
22
34
46
-38
16
4
0
0
0
0
0
10
25
55
0
0
44
-31
2
-34
-24
26
18
0
0
0
0
0
1
40
90
108
79
12
-27
40
-20
0
-20
-10
0
0
0
0
0
8
11
-25
15
11
7
-10
6
-26
-23
-33
-24
0
0
0
0
0
4
-54
-22
-1
-30
-1
-17
-11
-18
29
-2
-10
0
0
0
0
0
-4
-80
-71
-77
-32
-20
-44
-25
-11
62
-10
3
-1
0
0
0
0
0
12
-35
-70
-52
-13
-32
0
44
-28
-37
-11
0
0
0
0
0
0
-7
-41
-22
-37
-35
-14
32
-4
21
-4
-3
-6
0
0
0
0
0
0
-70
22
-23
-22
-27
-28
-7
-32
-6
4
0
0
0
0
0
0
5
95
0
0
0
48
38
15
-10
-6
-12
-3
0
0
0
0
1
43
52
0
0
26
-9
-17
-49
-36
-29
-4
1
0
0
0
0
-1
97
64
84
68
19
17
-37
16
-24
5
-2
0
0
0
0
0
25
13
-5
35
42
1
-11
-20
8
-22
-36
-32
-1
0
0
0
0
-28
-32
-16
-20
-14
-37
-53
24
-34
4
-4
-2
2
0
0
0
0
0
-41
-96
-59
-48
0
-10
-6
-67
20
7
-4
0
0
0
0
0
1
-43
-104
-53
-90
-50
-88
10
-49
-47
39
44
-1
0
0
0
0
0
-3
-58
-34
-118
-72
4
-12
-30
6
3
-1
15
0
0
0
0
0
3
-102
-46
-58
15
-20
27
19
7
-7
3
0
0
0
0
0
9
42
87
0
0
0
93
36
21
-15
4
3
0
0
0
0
0
62
57
41
0
0
30
17
21
-9
-46
-7
0
0
0
0
0
0
41
15
76
102
95
26
-20
-13
21
-11
-13
-6
0
0
0
0
0
-50
-56
13
57
32
20
-6
-27
30
-22
-21
-2
0
0
0
0
0
-30
-30
-42
-44
-42
-10
-40
-9
-8
59
19
-1
0
0
0
0
0
-46
-16
-63
-36
-40
-60
4
-72
-39
13
-18
-1
0
0
0
0
0
2
0
-19
-43
-23
-15
-78
7
17
28
-21
-7
0
0
0
0
0
-1
-68
-45
-103
-48
-67
-38
2
-20
24
-14
-1
0
0
0
0
0
0
-10
-32
-10
-39
-23
44
-9
-18
-1
1
0
0
-32
2
-17
-21
-3
-1
-46
0
0
0
43
33
-3
1
-9
23
-1
-27
-20
-5
-24
33
11
13
0
0
0
28
36
-15
-25
10
-5
2
52
-45
-19
-26
-8
24
-4
28
39
50
21
74
-41
-24
-33
-4
1
-53
-18
-13
-27
11
26
33
37
17
5
31
55
-1
-23
-59
-22
-9
20
-31
11
7
4
15
-15
-26
-25
-9
-22
-33
-12
46
-8
20
9
-3
33
15
-4
-25
-40
3
-29
-57
-40
-45
16
28
-24
-8
-24
-6
94
36
25
19
-15
-34
-52
-96
-34
-58
-63
-4
-16
-9
-33
-22
-3
5
4
40
-14
-54
-58
-81
-75
-80
-57
-78
-13
36
16
14
-12
31
8
8
-42
50
-72
-100
-27
-10
-38
-20
-72
-13
0
-8
61
2
6
14
21
22
45
14
33
70
0
0
0
25
64
46
61
29
-34
15
41
29
41
-4
18
9
10
0
0
0
17
40
16
9
-7
-22
-3
-16
14
-33
23
32
-35
-6
-49
-19
-25
16
-21
-7
-19
-1
-4
-14
-5
24
8
-18
-21
-42
-31
25
45
5
-7
-40
-18
-19
-42
-46
-14
-56
13
-11
23
-27
-24
-15
-6
25
7
-24
-47
-33
-32
6
-3
-13
-16
-17
20
4
49
-25
-41
-10
0
-27
-37
0
-34
2
-94
9
-1
20
-58
-35
-63
-8
-22
-27
0
0
-5
-26
-28
15
-36
-10
35
-2
28
-32
-18
-16
-6
-27
-22
-21
6
-20
-84
-33
-1
-46
15
5
4
-6
1
24
2
-61
5
3
3
-20
-8
-51
-41
-55
35
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
-16
-16
-14
-12
22
-1
30
0
0
0
-17
-18
-25
-12
42
-42
0
-10
-19
-12
-15
10
10
32
0
0
15
0
-9
-42
-25
-26
23
-10
7
-17
-23
-21
-6
-8
38
47
49
-6
-37
-11
26
-45
-18
-27
-11
10
-19
-34
-24
-31
-48
-24
-6
-4
-44
-58
1
22
-19
-41
7
10
10
-27
-24
-28
-36
-49
-58
-58
-48
-40
-63
-70
14
-10
-35
-12
-3
6
-18
-37
-34
-36
-62
-93
-55
-58
-11
-68
-23
-71
-37
13
3
-3
-19
-17
-34
-45
-46
-66
-83
-73
-43
-62
-96
-28
-46
16
-29
-17
-10
-29
-34
-83
-4
-34
-26
-32
-48
-47
-72
-42
-42
-18
-57
-35
-9
-2
-42
-55
-29
-43
-39
-41
-126
-76
-74
-13
-64
9
-27
-22
9
-3
0
-5
-6
-2
0
9
-2
63
0
0
-13
-76
-1
-64
-52
-82
-4
0
-34
-31
-7
-3
7
3
3
19
-5
-25
-18
-43
-29
-23
-40
1
0
12
-1
0
-1
2
-1
0
-17
-40
-27
-18
-3
-78
-63
-12
17
0
9
6
14
-1
-3
0
1
1
-6
9
-7
-34
-27
-14
30
-22
0
30
3
7
-1
-7
-14
-7
-15
-21
-2
-39
-38
-46
-31
-28
9
0
13
-4
9
2
-13
-16
-24
-32
-5
-14
9
-16
-54
-56
-7
0
0
20
27
-1
1
-12
-20
-20
-10
6
0
-2
-11
-19
-11
6
0
0
-7
0
13
3
-13
-22
-21
-35
-17
-48
-11
-40
5
3
-2
0
0
3
6
42
-7
-5
-12
-10
-17
-49
-7
-29
13
47
2
0
0
0
35
32
37
37
90
80
69
0
0
-15
-37
-34
-13
-17
0
0
0
12
5
17
24
43
62
41
17
10
-21
-44
-46
0
4
-4
0
0
-5
1
6
15
33
43
-6
-39
-20
-3
-21
-9
-35
7
0
0
0
-4
-8
-6
0
-4
-3
-9
-7
14
-45
-41
-6
-77
-10
0
0
0
-4
-8
-9
-27
-45
-31
-58
-57
1
-42
-114
-38
29
-23
-7
0
0
-7
-16
-5
-19
-32
-41
-51
-76
-44
-90
-42
-57
-82
44
-8
0
0
2
1
-6
-17
-26
-42
-19
-61
-87
-45
-6
-26
2
10
8
0
0
11
-4
-15
-23
-27
-74
-61
-46
-51
-49
17
9
34
15
-2
0
0
-9
-12
-26
-19
-27
-52
-47
-22
-44
-21
0
-26
10
-37
0
0
0
-7
-2
7
27
48
98
49
11
0
-27
-83
-83
-22
-17
2
0
0
-10
-4
11
25
12
82
0
7
-19
-47
-16
-62
-66
-23
0
0
0
-6
-7
-3
1
20
38
60
-14
-50
-74
-49
-43
-52
28
-2
0
0
1
-4
-19
-14
-36
-50
-25
-24
-53
-47
-33
7
-40
-5
-1
0
0
-4
-10
-30
-43
-51
-71
-58
-79
-50
-26
5
-26
18
13
-2
0
0
-5
-24
-28
-48
-74
-74
-88
-93
-34
-42
6
-53
-19
-57
0
0
0
-26
-19
-46
-46
-61
-68
-68
-78
-47
-63
-55
-5
2
-26
0
0
0
-5
-17
-23
-51
-63
-105
-102
-86
-52
-86
-11
-20
23
12
0
0
0
-55
-28
14
-63
-67
-134
-61
-104
6
15
-28
-1
-1
-1
-1
0
0
3
-14
-23
-20
4
-11
32
0
0
20
24
42
-43
-8
-25
25
9
-20
-11
-33
-19
-4
-9
23
0
18
0
-8
-13
-19
-32
-15
6
14
-4
-8
-42
-25
-13
-21
37
24
32
29
-2
-1
-39
-39
-21
-35
-2
14
-9
-36
-37
-40
-29
-33
-11
-28
-37
-68
-29
-80
-73
-50
-51
0
9
-45
-28
-53
-55
-57
-62
-62
-69
-89
-86
-65
-97
-43
-27
20
0
-38
-24
-44
-46
-74
-50
-70
-84
-102
-70
-86
-71
-2
-64
-38
10
6
-46
-29
-63
-37
-69
-59
-88
-103
-85
-79
-65
-22
14
-6
-42
-6
0
-23
-112
-59
-53
-96
-74
-76
-68
-127
-80
-101
-46
-75
5
-15
32
0
-9
-98
3
-68
-62
-139
-47
-123
-67
-83
-18
-79
-26
7
-3
-1
0
-29
-13
-26
-28
-23
-16
-35
-4
0
35
-37
-35
13
8
32
0
0
-8
-33
-28
-27
-38
-3
0
0
9
0
17
8
-35
-47
54
3
0
-20
-33
-11
-6
26
30
25
19
-18
51
27
42
-35
-21
2
19
0
0
-9
-4
-13
11
35
27
27
-14
0
50
79
-7
-24
-36
2
0
4
-47
-21
-5
-8
8
-1
-13
-44
-49
-11
4
63
-4
-44
-2
-2
-13
-35
-30
14
-19
-21
-45
-84
-64
-90
-12
-28
-18
31
8
45
0
5
-4
-3
-38
-42
-35
-88
-40
-80
-92
-45
-35
14
20
-9
8
0
50
61
-14
3
-28
-54
-68
-67
-63
-125
-132
-3
23
11
-12
0
0
2
-29
-10
-53
-89
-58
-34
2
-27
-72
-22
30
-11
-2
-2
-1
0
-2
9
-7
12
11
25
21
0
0
0
49
88
67
-13
29
9
1
-9
-1
-13
5
0
14
5
18
0
1
36
71
8
7
35
7
2
25
-29
-13
-7
-21
-5
-4
-31
-15
1
-15
3
24
-24
25
2
2
-24
-26
-47
-9
-17
-19
-1
-4
50
7
-15
-31
-12
-27
-18
24
0
-43
-50
-53
-41
-13
-9
-15
-7
28
-8
-67
-20
-14
25
-25
7
0
-24
-73
-43
-41
-42
-10
-6
33
29
-8
-102
-67
-52
-12
-2
-10
8
-31
-9
-39
-34
-14
-30
-31
-15
-3
-43
-100
-34
-11
6
-3
5
1
-74
-60
7
11
-30
-40
24
-18
9
-11
-70
-64
-1
-10
-3
4
0
15
-1
21
-14
-13
-26
-32
-29
-32
-11
-24
-2
-2
0
0
0
0
0
0
0
0
0
1
65
24
0
36
95
96
29
-3
2
-21
-26
0
0
0
0
0
13
18
13
44
20
28
34
28
-14
-9
20
29
0
0
0
0
0
2
33
63
27
63
58
7
3
-21
-3
15
6
0
0
0
0
0
-1
82
24
4
14
-41
-15
-24
-46
-8
5
34
0
0
0
0
0
0
35
-2
29
-26
-53
-48
-31
-48
-28
-34
-9
0
0
0
0
0
0
-6
64
-1
-7
-35
-63
-43
-61
-31
-15
-7
0
0
0
0
0
0
-4
21
27
-28
-58
-88
-27
-77
-57
-46
-37
0
0
0
0
0
0
11
-2
11
19
-117
-85
-81
-73
-84
-75
-61
0
0
0
0
0
0
0
0
4
-7
-10
-62
-59
-87
-64
-39
-50
0
0
0
0
0
0
3
49
0
-36
45
80
38
24
-8
36
-15
0
0
0
0
0
0
4
38
33
14
8
10
49
43
3
46
48
0
0
0
0
0
0
7
2
33
39
9
28
30
-15
-2
-2
53
0
0
0
0
0
0
-1
-18
-10
8
5
-32
22
-20
-8
-20
9
0
0
0
0
0
0
0
10
26
51
-51
7
-35
-54
56
27
-15
0
0
0
0
0
0
0
-2
-1
23
30
-77
-53
-21
-12
-41
-18
0
0
0
0
0
0
0
0
4
8
-2
24
-44
-29
-73
-58
24
0
0
0
0
0
0
0
0
-3
40
-3
-55
-42
-31
-48
-23
3
0
0
0
0
0
0
0
0
-3
2
0
-41
-26
-21
-68
-54
-24
0
0
0
0
0
0
7
15
0
-6
83
93
12
26
22
15
53
0
0
0
0
0
0
-5
-7
24
19
40
73
-14
11
30
35
17
0
0
0
0
0
0
2
74
10
40
37
16
11
-8
15
-4
37
0
0
0
0
0
0
-12
15
5
-40
5
38
19
7
1
34
53
0
0
0
0
0
0
2
26
16
-13
-11
-63
-50
-46
5
11
48
0
0
0
0
0
0
1
-23
27
10
-71
-33
-90
-31
-31
-30
-54
0
0
0
0
0
0
-1
7
11
43
-30
-45
-26
-29
-22
-40
-45
0
0
0
0
0
0
0
0
3
15
35
-13
-64
-74
-38
-33
-13
0
0
0
0
0
0
0
0
0
0
8
-56
9
-35
-6
-7
-9
0
0
0
0
0
-3
40
44
0
-3
42
109
-11
27
29
-11
34
0
0
0
0
0
3
-5
-6
-14
45
7
95
23
16
25
3
24
0
0
0
0
0
6
41
24
44
33
72
68
1
-22
8
34
31
0
0
0
0
0
2
-6
18
28
-19
31
-19
22
-9
21
21
26
0
0
0
0
0
-8
1
-21
23
-36
-94
-33
-1
-22
-36
20
11
0
0
0
0
0
0
9
9
19
-14
-45
-46
-20
-32
-18
-31
31
0
0
0
0
0
0
1
-8
-13
-33
-69
-19
-19
-39
18
-1
5
0
0
0
0
0
0
0
1
9
2
23
-44
-41
-19
-24
4
-30
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
-48
-49
30
0
0
1
6
-23
-8
-26
27
0
8
30
56
40
-4
-17
-15
21
0
0
0
1
-3
25
16
3
34
-10
38
43
10
-21
-25
-27
-9
0
0
0
-7
-22
-44
63
34
31
14
20
44
8
0
-27
-24
11
0
0
-1
-2
-36
-13
-4
33
16
50
34
7
-12
-21
-4
-1
25
0
0
-2
6
-14
-32
-42
-29
-13
22
0
-3
-39
-8
7
4
9
0
0
0
0
28
11
26
-24
23
15
2
-19
-37
-33
-18
-28
38
0
0
1
1
0
9
19
-20
-25
-44
-53
-17
-1
-8
-21
-53
-33
0
0
0
4
6
-7
-39
-11
23
4
-38
-70
-35
-18
-14
-11
-15
0
0
0
0
0
-24
-10
61
6
-4
-57
-97
-61
-55
-26
-37
-55
0
3
2
3
-1
-60
-28
-15
0
21
6
28
14
13
-11
-24
26
0
1
3
12
5
0
-1
10
-36
15
43
41
14
-3
-17
-29
6
0
-3
-1
1
24
2
36
-20
-18
-9
27
11
17
-10
-29
5
-16
0
-2
6
3
11
8
28
-12
-24
10
5
0
-23
0
-27
2
-2
0
0
1
-6
8
4
13
28
15
0
9
-48
-18
-24
10
6
10
0
0
0
2
-19
-5
-30
12
18
15
-28
-32
22
-17
-8
-3
13
0
0
0
-4
20
21
-4
36
22
-2
-14
27
-5
-6
-29
-9
9
0
0
0
-6
-10
-11
24
-8
31
46
0
-22
-39
-9
15
-8
-19
0
0
0
0
9
3
24
74
-10
25
1
-8
-32
-20
-34
-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
2
-29
-3
-18
-39
-7
-8
12
0
8
-3
-3
-49
-28
-48
-46
-21
40
12
-8
-15
-6
-35
-8
6
0
-2
-13
0
-38
-27
-60
-25
-30
-20
-93
0
-28
-66
-37
-20
-8
-7
-16
-35
-17
-66
-37
-29
-47
-4
-5
-15
21
-34
-53
-33
-32
-29
-60
-56
-50
-68
-52
-37
-33
6
-6
-11
-48
-39
16
-13
-51
-60
-80
-100
-119
-95
-82
-64
-85
-47
-24
-43
24
-6
-56
-74
-57
-70
-73
-116
-125
-157
-101
-103
-52
-60
-57
-56
-23
-7
-11
7
-53
-15
-37
-109
-50
-108
-81
-61
-91
-36
-88
-51
-80
16
0
0
6
-22
15
-50
-83
-77
-86
-45
7
-98
-44
-87
-9
-38
-30
0
0
0
-3
-4
-3
-12
-44
-123
-128
-28
-70
-61
-47
-101
-39
-78
-1
8
-22
-3
-18
19
-10
10
0
0
2
1
-12
-5
-15
-28
0
-13
-45
-77
-23
-21
-6
2
12
6
1
1
0
-9
-10
-37
-23
0
-15
-51
-23
-40
0
4
14
3
2
4
1
0
-8
-3
-18
2
0
2
-39
18
-30
0
-1
-14
-7
-2
2
3
2
-11
-4
-10
4
0
5
-53
-35
15
6
-22
-18
-19
-15
-2
-1
-1
-1
1
16
2
0
3
14
-15
-12
-6
-17
-12
-8
-3
-2
-1
-5
3
-10
-29
0
0
-3
-11
14
-15
-12
-5
-3
-11
-5
-5
-2
-4
-10
-8
-17
-51
0
0
16
-33
-5
-1
-12
-1
-12
-11
3
2
-12
2
-28
-12
-2
0
0
0
7
29
-12
-5
12
24
-7
4
-1
-23
8
1
-30
37
0
-29
-10
1
-14
43
32
-4
1
0
2
7
-8
2
-27
-13
23
0
-19
15
-12
12
9
23
1
1
-3
10
0
5
5
19
-49
-13
0
-49
-12
-7
33
2
6
-1
0
1
-14
-12
-34
-23
5
-88
-1
0
-3
-6
-26
-22
-6
4
-4
-3
-8
-6
8
-7
-33
-59
-51
19
0
25
0
6
-16
-9
-15
-2
-14
-12
-7
-16
-23
-23
-42
-62
-14
0
14
19
9
-19
-14
-17
-9
-4
-7
-21
-39
-10
-45
-49
-52
-46
0
9
-22
-24
-18
-3
-18
-5
-3
-2
-14
-19
-11
-34
-42
-70
-60
0
-12
-38
-7
-7
-27
-8
-6
0
-25
-30
9
8
-40
-73
-35
-7
0
-16
1
-20
-32
-5
-28
-10
-2
-9
-13
-32
-58
-48
-93
-13
-37
0
-5
-45
17
7
3
23
6
1
0
2
-7
16
3
-16
-58
0
0
-34
43
-35
15
14
23
8
4
-1
-3
-10
24
-20
-30
19
0
0
-19
-92
-17
-18
-22
13
-5
7
-2
-9
5
-1
-31
-27
-37
0
0
-46
-10
23
-25
-30
-26
-20
-13
-18
-20
1
10
-1
0
-2
0
0
37
-18
-53
-42
-3
-24
-24
-7
-30
-26
-39
-11
-38
-6
-32
0
0
-17
-33
50
-36
-50
-21
-13
-23
-33
-35
-27
-12
-24
-10
19
0
0
-6
-33
-26
-31
-36
-34
-30
-19
-9
-23
-30
-32
-37
-20
1
0
0
-37
24
-18
-67
-59
-34
-17
-11
-25
-39
-25
-15
-39
-47
-54
0
0
0
0
-9
-1
-25
-36
-2
-54
-68
-8
-50
-35
-48
38
-7
0
0
-2
2
-87
-1
-47
26
15
22
0
-5
9
-15
-64
-22
-42
-43
19
0
-55
0
-69
-19
-22
-18
-7
-4
-10
-4
-14
-39
-52
-12
-33
-8
-8
51
-80
-29
-33
-31
-47
-17
-18
-14
-30
-26
-44
-41
-22
-39
-7
0
1
-69
-32
-23
-54
-39
-18
-42
-44
-67
-56
-41
-55
-38
-52
10
0
-10
-8
-9
-41
-101
-74
-87
-106
-107
-101
-80
-57
-55
-37
-41
-10
0
-13
-48
-34
-55
-51
-117
-69
-96
-110
-128
-111
-60
-52
-44
-64
-19
0
-26
-27
-44
-31
-96
-108
-55
-63
-113
-98
-44
-46
-78
-57
-51
-24
0
-20
49
-35
23
-106
-79
-38
-46
-69
-84
-52
-44
-51
-79
-81
-10
0
1
15
10
-2
-7
-48
-85
-111
-185
-121
-74
-78
-90
-47
-112
-50
0
2
3
-25
-31
20
-25
-8
0
12
12
32
5
2
-29
0
8
-1
-6
-11
-15
-44
-28
4
-49
0
5
13
14
-14
-20
-11
-49
-40
1
-1
-10
-37
-16
-8
-10
6
0
-21
8
16
-15
6
-32
-35
2
0
-1
0
1
48
-28
9
-5
12
-8
-16
22
-8
0
-22
-32
4
-1
-4
-17
44
-15
-18
-7
-5
1
-5
-16
-15
-17
8
-7
-9
6
7
-3
6
-41
17
-29
-39
6
-14
-37
-38
-44
-13
-17
4
-11
12
-1
-1
-10
0
26
-1
-25
-8
-28
-21
-43
-28
4
-45
19
15
-2
0
0
2
-11
-16
-93
-30
-43
-8
-42
-16
-66
-32
16
6
-39
-10
0
0
0
0
8
20
-20
-27
10
2
-25
-51
-54
-8
-1
-32
-82
-1
-13
23
24
-22
0
6
-19
0
-14
-10
5
-11
35
13
12
18
-3
13
-18
-26
14
-7
-11
-46
-41
-8
25
13
-3
5
23
3
9
0
23
-50
4
7
-19
-13
-21
-10
6
0
13
4
-7
-27
-1
-17
4
-7
-10
-22
-7
-19
10
-7
-1
-2
14
-18
7
14
-10
-11
-10
0
-5
6
0
-31
-6
-6
2
-20
6
6
5
-35
6
-11
1
-10
0
-23
34
1
-66
-13
8
-14
-7
-1
0
-20
15
-15
-10
-31
21
0
-1
-21
-36
-64
8
-28
-13
-15
0
-9
-3
-41
12
-13
-24
-22
0
4
0
-16
-4
0
-11
-1
-17
-8
-39
-38
-83
-33
-69
-33
-12
0
0
-2
7
-35
5
-9
3
7
-11
-25
-13
-34
-16
-28
1
12
0
0
0
0
0
-9
-9
0
0
0
54
-25
37
-2
1
1
0
0
0
0
0
0
23
15
0
0
19
-16
14
31
-1
7
11
0
0
0
0
0
3
-6
25
44
18
-22
24
-5
-42
29
8
16
-1
0
0
0
0
0
3
-6
-10
-43
11
-42
-6
54
12
-34
3
0
0
0
0
0
1
1
-22
-41
-37
-25
-10
-22
-21
-20
21
-5
0
0
0
0
0
-1
-15
-7
-15
13
-11
0
-9
-8
-11
2
0
0
0
0
0
0
-2
-15
-22
44
18
-35
-48
-11
-31
2
1
-2
0
0
0
0
0
0
1
-19
-44
58
-28
16
5
-11
-1
2
1
0
0
0
0
0
0
0
8
-18
-27
-24
-11
2
1
0
0
0
0
0
0
0
0
0
0
27
0
0
0
1
-10
-3
-1
1
-2
0
0
0
0
0
0
-6
26
0
0
23
4
-5
-21
1
-3
0
0
0
0
0
0
0
10
50
36
39
-68
9
25
15
-1
1
0
0
0
0
0
0
0
10
-84
6
8
-24
-4
34
16
-5
0
-2
1
0
0
0
0
0
-1
0
-17
-24
23
-28
15
7
6
-2
1
0
0
0
0
0
0
-3
11
-11
-54
-22
-11
16
-16
0
-6
-1
0
0
0
0
0
0
2
-20
4
21
-5
-8
-20
0
-7
1
0
0
0
0
0
0
0
0
18
-43
-27
-32
29
-9
-10
0
6
3
0
0
0
0
0
0
0
-1
-2
-32
-10
1
2
0
-1
0
0
0
0
0
0
0
0
3
91
0
0
0
-2
23
40
-21
4
0
0
0
0
0
0
0
9
38
0
0
-15
-5
30
4
16
2
-10
0
0
0
0
0
0
-24
19
-13
61
-20
34
19
25
15
0
2
0
0
0
0
0
0
-4
-23
44
15
40
-5
11
-1
-22
2
-1
0
0
0
0
0
0
2
-99
-41
-29
-15
-22
7
32
12
4
1
0
0
0
0
0
0
6
-76
34
48
-15
-16
-1
-3
12
0
0
0
0
0
0
0
0
-3
-35
-27
-34
13
-9
10
1
-8
0
0
0
0
0
0
0
0
0
0
34
-48
-36
-6
13
4
2
-4
0
0
0
0
0
0
0
0
1
15
-68
0
-5
-1
-1
0
0
0
0
0
0
0
0
0
-16
40
0
0
0
58
29
4
-4
6
0
0
0
0
0
0
0
31
6
0
0
-2
-15
-39
-29
9
-10
0
0
0
0
0
0
8
-2
79
69
66
-5
4
-18
-1
-19
0
0
0
0
0
0
0
-1
-11
-9
4
-84
-20
6
-5
34
2
-2
0
0
0
0
0
0
0
-36
-48
-59
-18
-38
-28
30
13
-4
2
0
0
0
0
0
0
0
7
-33
28
-14
26
-7
-12
13
2
0
0
0
0
0
0
0
0
2
-53
11
-23
-9
5
7
2
8
1
0
0
0
0
0
0
0
3
-9
-18
11
-29
-1
-6
2
1
0
0
0
0
0
0
0
0
0
0
9
4
-9
-6
0
-2
0
0
0
0
11
43
11
8
-24
5
44
0
0
0
22
-13
4
-6
-7
0
-1
2
-19
-31
-19
27
-31
6
0
0
0
13
17
-30
1
-24
2
0
-7
30
-4
5
-11
11
-18
27
45
120
18
40
16
12
-13
0
-1
-1
-26
-10
14
-21
55
11
30
-15
12
23
32
25
4
-3
-6
0
-3
-4
3
-13
-35
11
23
-36
-52
-30
37
-53
22
13
7
-2
0
7
-8
-18
-20
-5
7
-40
-25
-27
-2
-67
5
22
-14
-14
3
0
-6
8
43
-18
21
-8
-53
-49
-4
-18
-64
-9
8
-1
-1
-6
-1
0
0
-35
-32
-6
-3
-54
3
-36
-34
33
18
-5
2
-8
1
-1
2
4
-28
39
-3
-25
-9
12
22
16
-34
24
8
1
0
0
0
-18
-7
19
-1
-1
35
57
0
0
0
5
17
-27
25
10
0
0
15
-8
40
8
14
-6
79
0
0
0
26
47
10
7
-23
-17
3
-20
-15
-41
33
31
11
30
-38
-14
-15
-1
-1
14
5
-8
-2
-1
-15
11
-5
10
1
-11
-24
77
101
-41
-75
-14
-52
-28
3
1
0
-2
-12
32
18
-34
-21
-46
10
34
-23
-28
3
30
-1
5
-10
-1
-3
-4
-18
-65
-8
14
-7
2
-20
-12
-4
-32
-9
-11
-7
-3
0
-9
-11
-32
-3
3
-31
-72
5
60
9
-78
6
-12
-8
6
0
1
4
9
-26
-15
-9
16
2
-11
-5
-1
-60
-29
13
-12
3
0
0
0
-3
0
2
8
0
-24
-9
-6
13
-3
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
7
-25
-36
30
23
75
0
0
0
-26
23
-4
-6
-7
-21
0
0
64
-30
34
60
14
65
0
0
29
-37
-41
7
6
11
15
0
24
-53
-43
-20
30
33
43
33
10
-53
19
7
1
-22
12
0
0
2
-23
8
-13
18
36
32
33
-11
-22
-40
-22
15
6
0
-2
0
-64
-52
0
-18
-44
-36
-82
4
26
-24
-90
-30
-13
-8
6
8
0
-3
-64
0
1
-7
9
-20
-47
-60
3
-30
38
-12
-17
3
3
0
-1
41
17
7
27
-10
-39
-37
-53
-22
7
-24
-20
0
3
0
0
-24
8
-40
-9
12
16
-15
-8
-61
3
-6
-1
3
6
-1
0
0
0
1
2
-34
1
-5
-40
6
-6
1
-3
-9
-8
-3
0
0
0
20
-7
-11
-5
50
-7
22
0
0
-36
-27
5
-3
24
-4
0
0
-36
-50
3
-38
25
10
-2
20
-36
-7
39
32
-62
-23
-1
0
0
-8
24
-24
16
20
4
30
-19
-50
-24
9
-30
-24
-9
-4
1
0
-25
34
17
-5
-14
-1
6
16
37
-5
42
-12
21
-12
-10
0
0
5
30
-20
9
-7
9
9
36
29
-4
6
42
-20
-6
-2
0
0
78
-27
6
7
-9
15
0
-4
27
-24
3
-2
1
12
-2
0
0
-37
-24
20
-7
10
3
28
-9
9
25
-11
3
-39
0
2
0
0
7
26
13
30
-13
-18
16
1
10
23
13
-22
-9
-1
0
0
0
-14
1
17
-2
13
-16
-37
-10
-19
-15
15
1
1
0
0
0
0
-20
-4
29
-3
47
69
18
0
0
-13
-31
-9
-9
1
0
0
0
0
1
16
-3
16
27
-16
-29
5
-14
1
11
-2
-4
0
0
0
-5
31
-7
24
25
15
-3
-12
-19
-3
-16
-13
-3
0
0
0
0
7
6
-5
14
10
-3
0
-13
80
-11
-3
-1
2
1
0
0
0
7
-2
-1
-17
23
-4
-14
1
-6
-19
6
-1
0
0
0
0
0
6
-21
1
5
-27
-17
38
-9
4
11
18
-2
0
1
0
0
0
8
3
-7
0
-44
-19
-7
-33
-8
-33
-18
8
-1
3
0
0
0
-27
-1
-16
-19
-32
10
12
-10
-12
18
-2
-1
0
-1
0
0
0
-32
-4
-11
-41
-1
-13
-20
0
-20
12
-4
-8
7
0
0
0
0
-21
-20
41
-27
21
57
29
-26
0
36
-22
-13
9
-3
0
0
0
-21
-12
3
25
9
44
0
18
9
19
-12
-1
3
-6
0
0
0
9
4
-6
-26
19
12
45
-23
-20
-11
-13
40
-19
-1
0
0
0
20
1
-7
24
6
-17
-51
7
35
-18
-2
3
1
-1
0
0
0
0
1
-31
2
-16
3
-10
-39
-34
17
24
-12
-24
4
0
0
0
-33
-5
-22
2
-41
-14
-18
0
-10
21
0
-12
-10
-7
0
0
0
15
-6
-25
-21
-75
-2
11
3
19
-30
4
0
2
0
0
0
0
6
3
3
-17
-34
-41
-13
-37
-33
-10
5
4
1
0
0
0
0
0
-1
-39
19
-54
-9
-27
-8
9
1
-3
1
0
0
0
0
0
-8
-21
-22
-12
17
-47
69
0
0
-1
5
38
3
-20
5
4
0
-17
-22
-7
-14
38
-14
58
0
-4
0
-42
-19
13
-2
4
-8
3
-15
-23
-8
-6
12
15
5
18
38
3
9
20
-12
36
-46
-20
-1
-22
-26
-21
-10
-10
-2
27
5
-9
-37
-73
4
-7
-6
-54
3
0
33
-43
-35
-32
-21
-20
-10
-16
-24
-13
-19
6
13
2
-6
0
0
-30
2
-66
-47
-31
41
-23
-71
-41
-66
-14
-50
3
-25
-3
2
0
-5
-5
-94
-29
37
-87
22
3
-27
-21
-7
27
-29
21
0
0
0
-4
-19
62
43
-69
30
28
-64
9
-16
-24
-3
-13
10
-1
0
0
2
-19
17
-39
-18
-25
8
-19
5
3
2
-4
0
0
0
0
0
11
-34
-2
-18
39
11
10
-4
0
-22
0
15
40
10
2
0
0
7
-83
-28
18
22
59
-10
0
0
0
23
10
-3
-15
5
0
0
-16
-24
7
-5
32
49
-2
93
11
109
21
56
-18
29
-12
0
0
-47
25
-2
-38
24
-14
7
40
1
56
40
4
-10
5
1
0
0
0
19
6
2
-28
50
21
-49
-66
-59
42
2
3
-14
-11
0
0
-6
0
1
-48
5
-15
-15
-27
-33
-97
-53
-5
-2
-3
0
1
0
0
14
-74
-5
-55
-4
0
-39
-53
-23
-6
-4
1
1
0
0
0
8
12
-18
17
-34
17
-43
-18
-13
-27
-14
-3
0
0
0
0
0
12
-4
-4
-15
-46
0
2
-16
-13
-10
9
1
-1
0
0
0
0
-36
1
3
28
25
51
-9
0
0
0
10
26
15
-30
1
0
0
-50
-14
8
16
22
-21
19
-26
0
14
22
40
8
17
5
-8
1
62
-52
21
22
33
-17
-20
27
-16
62
23
-25
4
0
2
0
0
-64
7
-7
-14
17
9
31
33
36
53
-31
-28
-8
-9
-1
0
0
-19
-2
19
-20
22
-4
-5
52
17
-10
-18
14
-4
1
-1
0
0
59
-23
-54
-7
11
32
-9
37
-6
-80
-67
-13
-4
-2
0
-2
0
2
27
-58
-35
24
-13
-10
41
-16
-62
-18
-14
2
6
-6
0
0
-26
12
3
-22
-19
25
22
-19
-24
-23
-33
11
-8
0
0
0
0
-1
-33
-7
-23
9
11
-4
-29
-32
6
7
0
0
0
0
0
0
0
0
0
0
0
0
4
13
0
24
53
20
3
11
14
-37
20
0
0
0
0
0
0
18
29
59
8
0
-5
67
17
0
-15
46
0
0
0
0
0
0
18
22
-16
62
88
-29
-45
-20
22
34
-2
0
0
0
0
0
0
-1
-11
9
16
-9
-20
20
23
26
12
3
0
0
0
0
0
0
0
3
9
27
-23
-18
-50
-51
-15
-14
36
0
0
0
0
0
0
0
10
-28
-24
-40
-26
-17
-39
13
-77
-13
0
0
0
0
0
0
0
1
9
-5
-17
-65
-11
-22
-5
-23
9
0
0
0
0
0
0
0
0
0
10
-45
15
-33
-27
-19
-11
-105
0
0
0
0
0
0
0
0
0
-1
-1
-31
0
6
5
17
-61
0
0
0
0
0
0
0
8
0
6
-7
43
17
-36
20
-22
-41
0
0
0
0
0
0
0
4
40
-26
15
-26
31
49
-20
52
23
0
0
0
0
0
0
0
0
2
-1
11
-5
8
-11
-39
22
17
0
0
0
0
0
0
0
0
2
-5
5
-8
-24
-9
-36
-31
12
0
0
0
0
0
0
0
0
1
4
3
-23
-41
19
-8
27
13
0
0
0
0
0
0
0
-1
0
-1
-1
15
23
9
35
-36
-41
0
0
0
0
0
0
0
0
0
-1
-10
2
16
-64
-60
0
27
0
0
0
0
0
0
0
0
0
0
1
-20
-17
49
-64
-20
-19
0
0
0
0
0
0
0
0
0
0
0
-7
11
13
26
-26
-23
0
0
0
0
0
0
1
0
0
0
-6
14
-26
44
15
12
-13
0
0
0
0
0
0
0
-17
36
4
-28
5
-29
35
-49
-13
31
0
0
0
0
0
0
0
11
5
17
21
23
7
2
9
10
50
0
0
0
0
0
0
-1
4
0
12
-15
7
24
-29
-41
36
-35
0
0
0
0
0
0
-1
0
6
15
-3
-65
-25
-51
20
-16
23
0
0
0
0
0
0
0
-1
3
5
31
11
-12
64
47
8
-30
0
0
0
0
0
0
0
0
1
16
-19
-9
-25
-44
37
-27
-14
0
0
0
0
0
0
0
0
-2
1
0
-8
-17
-20
4
25
-3
0
0
0
0
0
0
0
0
0
0
1
-2
-4
-4
-19
-9
2
0
0
0
0
0
0
0
0
0
-25
61
25
-10
38
3
-2
-8
0
0
0
0
0
0
2
-1
9
35
17
65
10
-13
-53
17
-14
0
0
0
0
0
0
-1
39
-5
2
13
50
-35
-6
56
75
39
0
0
0
0
0
0
0
7
10
8
-38
-21
21
-41
11
-75
-47
0
0
0
0
0
0
0
-2
-1
-7
-34
-53
-8
59
-10
-62
2
0
0
0
0
0
0
0
0
1
-1
-8
-5
-6
36
38
-22
13
0
0
0
0
0
0
0
-1
0
0
-27
28
24
26
-12
35
-21
0
0
0
0
0
0
0
0
0
0
4
-16
-37
-55
7
14
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
-2
11
-17
-20
0
52
11
48
71
-16
-21
18
-20
0
0
0
-1
-18
10
-8
12
-74
-8
23
46
-17
5
22
-23
-27
0
0
0
0
3
-24
16
32
-17
-14
47
25
-30
-42
21
-3
-37
0
0
0
0
0
-1
16
-14
32
44
45
20
31
-11
30
13
12
0
0
1
0
0
-10
14
-13
-14
2
8
56
-29
20
-1
33
44
0
0
-1
0
7
6
35
20
37
14
37
0
1
24
-40
-18
8
0
0
0
2
0
0
13
-20
-35
7
58
-55
28
-16
-9
-46
14
0
0
0
0
0
-3
0
24
-42
0
-21
0
-14
-37
58
-53
27
0
0
0
0
0
0
-6
-1
3
-6
7
-5
1
15
-6
-7
-54
0
0
0
0
0
-7
0
-18
0
1
6
25
21
4
32
-55
-8
0
0
0
-8
-3
8
-8
25
11
20
56
20
-12
10
7
-9
-22
0
0
0
0
13
2
5
38
-24
17
23
-7
40
-37
1
5
-1
0
0
0
0
-7
4
15
-8
33
-11
-38
-20
-29
11
1
39
12
0
0
0
0
-1
1
-30
-13
10
-32
62
12
36
23
18
29
31
0
0
0
2
-8
-20
-25
-10
-7
17
30
-29
-18
-38
-29
17
-11
0
0
0
0
0
7
-5
24
-29
-13
4
31
19
26
-16
-9
38
0
0
0
0
-2
0
10
-15
-14
-7
3
-41
-41
-34
-15
-4
7
0
0
0
0
2
-2
2
1
-7
22
-20
20
6
-21
-39
-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
-5
-3
24
-35
47
-29
16
0
55
-19
18
41
-37
-10
-46
-47
0
2
-27
2
-24
-37
-42
10
10
-11
-8
12
-4
-21
-33
-32
2
-1
-17
-34
-20
-16
9
-21
-9
-8
4
7
1
-33
-35
-43
12
58
0
-14
24
31
7
9
-6
-24
-93
-41
-40
22
-2
-66
-33
27
-40
-1
0
-3
25
14
-42
12
-40
6
11
-44
-15
-64
-9
-28
-71
-75
1
0
-4
-19
-49
-15
-37
4
-18
14
-56
-13
-26
28
52
2
9
0
0
8
-3
-9
-26
-28
28
-49
9
3
-37
-19
5
-22
-6
-16
0
0
0
-1
0
-6
1
-6
-44
24
-22
16
26
-14
-17
9
-19
0
0
0
0
0
0
2
2
-18
-12
-9
-35
-13
-22
-16
-6
2
0
-15
3
-32
40
-19
19
31
0
-21
20
1
69
-13
-43
-27
0
3
-6
-86
-19
-14
24
8
24
12
-19
0
-11
5
7
-39
39
0
1
-6
44
28
43
-8
-13
4
-18
2
-13
16
8
-66
-22
-16
0
0
-4
18
0
-8
-38
-20
-2
22
17
27
19
11
-5
-31
-68
0
-1
1
-14
9
-2
-9
11
22
-17
10
-5
-2
39
-36
-26
8
0
0
12
-7
-6
1
7
-20
-4
2
6
-1
9
-26
19
-11
23
0
0
1
5
-35
6
-52
-5
11
19
-18
24
39
-21
22
-17
-33
0
0
6
4
-24
4
-4
16
-4
9
-6
-20
-22
-20
26
-22
31
0
0
0
1
-14
-37
-5
0
1
-9
8
-1
-3
10
-19
1
0
0
-4
-45
-2
-22
4
13
8
-5
0
7
-16
20
18
-26
-15
3
0
-11
10
8
11
4
14
-6
3
-31
1
9
20
-7
12
-46
19
0
9
12
-29
5
-8
-6
6
11
-15
-63
7
-9
36
18
-67
5
0
7
25
-14
5
2
-9
-1
-5
3
24
-14
-8
1
-53
-17
-9
0
-9
-9
6
4
15
11
16
-18
3
-28
-17
-26
19
-17
-21
-11
0
9
-12
9
7
13
-5
-4
2
11
22
-23
29
-61
-8
-28
-6
0
18
37
-14
-20
1
9
-2
-3
4
-34
-30
2
-78
12
-16
-1
0
-7
-15
-19
5
7
9
-8
10
-41
-36
13
5
-13
-14
-8
3
0
2
-11
-19
-23
3
-22
-6
-11
10
19
-15
-55
1
-6
10
0
0
-1
5
11
13
20
2
3
-2
0
7
-16
38
3
13
-39
0
0
0
-13
-20
-23
-20
19
7
-4
2
24
-4
20
17
9
16
0
0
9
-2
9
-19
-5
16
1
1
-4
-32
16
24
-10
-10
-5
0
0
-3
-13
-16
-1
-2
12
9
5
-21
-33
26
-13
45
-22
-13
0
0
-2
13
-4
17
11
-14
7
-39
-33
-27
0
5
-52
-60
-11
0
0
1
-1
28
-13
-28
-15
-12
5
-20
-2
-61
-23
-14
-34
15
0
0
4
3
-13
14
-16
-4
-12
-21
16
-15
-26
-73
-15
-11
-4
0
0
1
2
26
-53
-46
3
-3
-2
-8
17
-60
-42
-3
12
7
0
0
0
0
0
1
3
-6
0
-12
24
-21
-10
34
28
10
-3
0
0
0
-2
-21
-22
4
-8
-19
54
0
-37
59
0
-29
-38
0
-2
-7
0
-7
-16
-16
-43
-49
-49
3
-7
-5
4
-52
-14
17
-32
-25
57
0
-5
-26
-47
40
-29
6
-38
-4
-27
-28
61
-27
-22
-44
-12
-31
0
4
-21
6
2
4
21
-36
-55
10
-11
-11
-45
-30
-8
5
4
0
-1
3
-7
-5
20
8
-31
-25
-21
37
20
31
-12
24
-34
-84
0
0
-9
-16
-32
-13
8
7
-39
13
-63
4
18
0
35
-22
47
1
0
-1
-16
-8
-21
-33
-3
-20
-42
-26
-9
-43
-23
-30
-11
-24
0
0
7
13
-7
0
-30
-1
-31
-19
-47
-28
24
-41
-26
44
15
0
0
1
0
-2
-1
-7
-11
-15
-13
-72
-19
-24
-3
5
-27
2
0
0
-1
-8
-33
3
25
3
0
16
0
48
51
2
31
-34
-13
0
0
0
5
-4
22
37
26
16
11
21
48
41
-11
15
19
-30
1
0
-1
2
5
-9
-55
-22
4
1
23
47
27
18
19
18
61
0
0
0
8
7
23
-9
12
-6
7
-4
-28
7
13
-41
-62
6
0
0
0
0
-12
-3
-52
-6
-14
-4
-30
-25
-3
21
-45
-25
12
0
0
-1
0
-8
-8
-28
-33
-21
-60
9
-15
11
-6
-43
-69
11
0
0
0
-13
-3
-14
-43
6
17
-30
35
-15
17
-20
69
9
-13
0
0
0
-1
-10
-6
-27
9
-14
20
20
10
-8
-44
-59
21
1
0
0
0
0
0
15
-24
-19
-68
-5
-22
-22
-14
4
-4
1
0
0
0
1
15
-26
16
-44
57
0
-6
-16
21
20
33
-53
0
23
0
2
-27
-8
11
17
21
-1
-40
12
25
38
-16
9
-8
-5
24
0
0
2
-1
-7
-40
-29
-6
-10
28
8
8
24
40
27
4
-15
0
-1
-3
-20
-11
-3
25
34
41
38
25
-48
28
-6
105
8
42
0
0
-3
-17
15
-15
12
35
-48
18
9
-9
31
1
4
-66
-21
0
0
-1
21
-25
4
1
-17
-5
-11
33
-26
-42
2
-11
18
2
0
0
10
-6
-36
3
-39
8
8
81
20
-17
-10
-40
-17
-68
-37
0
0
-1
4
20
-29
-11
-53
-12
5
-35
15
-30
8
-46
31
-48
0
0
-1
0
-19
29
20
9
-56
-11
-66
59
-14
-9
-4
9
-1
-15
-12
-9
-4
-14
-9
3
-25
-34
-19
-26
-7
0
0
-2
13
2
2
-49
-6
-44
19
22
20
29
35
18
20
15
42
5
0
47
9
0
0
28
0
3
1
-24
-2
-10
6
-20
-21
-13
-25
-36
-26
-28
-83
-27
-10
-18
-30
0
0
-10
-15
11
-28
-43
-73
-50
-33
24
-4
2
-22
32
7
-12
7
21
6
0
-34
0
0
26
6
-33
-1
23
-31
-11
7
-16
-14
-33
-85
-45
-49
-45
-92
-53
-41
-39
-54
0
0
-9
-6
-24
-40
-67
-86
-90
-58
10
-14
16
21
28
11
-14
-1
44
22
45
-33
0
0
13
21
-33
-8
-5
-61
-15
17
-43
-10
-15
-33
-106
-49
-55
-58
-106
-24
-47
-3
0
0
7
8
-9
0
-196
-130
-165
-50
2
-53
-5
15
72
-21
1
-53
104
-4
44
-22
0
0
-20
-14
-49
2
88
-6
37
-19
-26
-7
4
10
5
27
-7
3
8
-8
-7
7
1
2
0
4
2
0
3
5
5
8
4
6
29
-14
-16
-10
-15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
1
7
0
-4
-1
7
-7
7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
6
6
4
0
13
5
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
7
14
-5
0
0
-11
-6
-25
0
0
-14
-7
-6
0
0
0
0
1
0
0
-11
3
-1
0
0
26
-5
-29
3
-1
-3
3
-20
-7
2
-1
1
3
-11
1
1
1
1
2
6
0
-3
-1
6
-7
5
9
18
10
0
2
1
1
1
-2
-6
1
-1
-1
-9
0
1
0
-3
-2
0
-2
20
-15
1
-11
9
-19
21
1
2
-2
0
-2
-1
-8
-29
0
0
0
0
0
0
-4
1
-5
-1
-2
-19
-8
1
-4
26
0
4
1
2
1
0
-16
1
1
-21
0
9
-1
-6
3
0
-9
-7
-7
-7
0
0
5
9
-4
0
0
3
-1
-8
0
0
1
2
-8
0
0
2
2
1
0
0
3
3
-1
0
0
-5
6
15
4
4
5
-2
-5
4
6
2
1
1
-12
1
1
3
1
10
0
0
-8
3
-2
-1
5
-13
7
2
5
0
1
-3
-1
-1
0
1
0
5
-3
0
1
13
-1
0
-1
0
15
-24
1
-14
3
6
-1
-5
0
1
-1
-4
1
-4
-2
0
0
0
0
0
0
3
3
-1
-5
1
15
-20
0
1
2
0
0
0
0
9
0
1
1
-1
1
0
0
0
0
0
0
-2
-4
1
-9
0
28
52
6
-12
0
0
-1
-3
-2
0
0
-2
-3
3
0
0
-2
1
-4
0
0
-14
-8
2
0
0
-3
39
-19
-11
7
-6
-10
-2
17
-32
-5
-2
0
-82
-107
-16
46
36
-7
-23
-27
15
49
53
72
13
16
2
-15
-36
-4
-19
24
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-35
-25
20
35
-5
-10
-16
4
-26
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-1
0
0
18
46
-14
-41
-19
0
12
28
9
-64
0
0
0
0
0
0
0
1
3
0
0
0
0
-4
0
0
-46
-7
59
18
0
0
-33
-15
4
0
0
-12
-19
-9
0
0
39
-2
37
0
0
30
-38
-31
0
0
-55
2
-1
0
-2
-3
4
-6
-60
-29
-11
-13
-4
-39
12
2
14
19
-28
-4
24
12
-11
20
11
15
5
-15
-2
-15
-3
4
16
-28
-30
-13
-29
-35
-2
-50
-35
9
-17
-22
-24
-76
-30
-21
-71
34
18
-20
13
-26
1
4
-16
20
-12
69
-81
-7
-27
0
0
0
0
0
33
-24
-15
-2
-13
-29
-46
25
0
32
0
4
-2
10
24
0
-29
-1
-25
35
0
-51
66
-23
-21
0
39
20
43
8
0
4
26
-34
5
0
0
3
-4
4
0
0
-22
0
-19
0
0
-14
16
-29
0
0
-1
29
3
0
0
17
5
8
-14
1
-1
7
1
30
-2
1
11
-3
-14
12
9
8
17
5
4
14
22
6
34
-10
-6
-24
23
-2
-3
-6
-1
0
-27
-7
-2
-17
-15
-15
-26
3
11
-15
22
-8
-18
-6
18
16
5
-2
4
-1
-13
4
-10
3
-4
39
-33
-17
-21
33
0
0
0
0
0
42
13
0
-3
12
12
17
-1
11
24
0
-2
-2
0
4
0
-19
-5
-14
-5
0
-7
5
14
20
0
-30
-7
6
27
0
5
18
27
-16
0
0
7
-2
19
0
0
-12
-3
-9
0
0
16
9
9
0
0
7
3
30
0
0
22
21
28
-1
5
8
11
7
-4
4
-1
3
-5
38
24
3
15
3
5
25
11
18
10
-19
40
5
-4
-23
6
7
5
4
10
6
-21
13
-8
15
21
-12
15
20
7
-23
13
10
17
29
21
5
10
11
10
-5
-1
-1
5
-5
-33
-12
-2
2
-24
0
0
0
0
0
8
29
8
43
-25
-14
33
-4
24
36
0
-5
-1
4
1
0
-1
-4
1
24
0
-7
10
6
27
0
2
13
9
23
0
-5
10
-22
14
0
0
-6
6
4
0
0
-9
0
20
0
0
26
16
9
0
0
-56
20
89
0
0
4
28
18
1
13
6
29
-6
-3
-6
-1
21
-7
16
12
16
13
67
19
0
-14
29
-28
0
-23
31
4
0
53
11
8
9
-1
19
-4
-3
-8
10
-4
-3
-5
16
-7
8
20
8
5
-11
56
-7
-12
-1
-9
-11
-4
3
-2
3
-45
0
1
1
15
0
0
0
0
0
-19
-10
10
39
32
0
55
3
-21
1
0
-9
-10
7
18
0
-5
-13
17
13
0
21
21
26
-4
0
4
-25
9
1
0
0
0
32
0
0
0
-2
0
19
0
0
-2
-11
19
0
0
2
7
-16
0
0
14
-3
73
0
0
0
0
0
-6
-4
1
1
3
4
2
-3
1
0
-13
0
-5
0
6
-2
-7
-9
-2
24
66
-2
3
6
-42
-5
-4
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
13
21
-43
-12
13
0
3
-1
0
0
0
0
0
11
-1
-3
0
-7
0
0
0
0
0
0
1
20
15
-20
0
20
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-9
5
0
0
25
-1
-3
0
0
-5
0
-18
0
0
0
4
-7
0
0
3
4
-19
0
0
3
7
49
6
4
3
-1
0
6
2
2
2
4
5
-1
4
0
5
16
5
-4
2
2
0
2
-8
-10
13
8
5
3
0
4
-2
-3
2
0
-17
-1
3
-8
-1
-1
-4
-14
7
-5
4
9
6
14
14
9
10
10
3
2
1
2
-3
2
0
2
1
0
0
1
2
6
0
3
-1
17
16
3
34
-24
10
0
2
3
0
-3
0
-5
0
2
-8
0
-4
1
-1
0
0
0
3
-5
6
0
6
7
-14
-6
0
0
1
-3
-3
0
0
0
-3
-12
0
0
2
-8
-2
0
0
-2
-6
-2
0
0
0
9
6
5
5
1
0
5
6
1
4
0
7
-1
0
3
1
-6
18
11
-14
-7
-11
13
1
-21
-32
42
14
4
5
3
5
2
1
2
2
1
7
2
3
0
-1
5
1
7
12
18
23
-16
-29
-7
12
10
8
3
2
13
-2
0
2
-2
2
8
0
2
0
-3
-1
0
0
2
7
14
12
27
19
-28
0
0
0
0
1
0
-3
-2
0
-10
0
4
-1
-2
-1
0
-5
-2
-1
14
0
33
-10
-11
56
0
0
1
2
-5
0
0
3
-3
-15
0
0
-3
-8
-21
0
0
26
-22
-3
0
0
14
-17
-20
-43
-2
-36
-45
-24
-9
-44
-3
-7
-15
-12
-37
-55
-18
26
-15
-17
45
-27
-18
10
-26
-30
2
0
-54
-29
-36
-50
10
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-22
7
-1
-17
0
-46
-36
-7
-65
-95
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-42
0
-4
0
0
-70
0
41
25
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
23
-44
37
0
0
-58
-47
38
0
0
1
-37
7
0
0
-19
-22
2
0
0
1
3
0
-23
-10
9
-9
-18
6
8
-24
-9
-3
8
-27
9
-13
-54
31
-29
-26
-33
-12
-15
-31
-8
-13
11
-29
-20
-2
-10
-19
-26
-63
-11
-3
-35
-7
48
-29
-62
-42
-30
20
-24
-24
-4
11
-11
-61
-4
9
-51
-3
-13
-14
3
13
-42
-20
-57
22
0
0
0
0
0
9
-4
-33
-7
-6
24
-27
19
18
-19
0
-12
-25
-8
-12
0
-73
-30
-19
-24
0
1
-6
-56
-28
0
-47
-42
-33
-28
0
-7
-5
-27
15
0
0
7
-5
-8
0
0
-5
9
-35
0
0
13
-2
-28
0
0
15
-7
-57
0
0
31
7
-15
15
4
5
6
-12
37
9
23
13
-4
-1
10
16
-7
-7
6
14
1
46
-19
18
-1
5
23
14
11
14
-5
3
4
1
-12
15
-15
-30
-16
-7
-8
-15
-19
-7
-8
-9
2
-40
23
10
-11
-4
16
-3
11
2
-7
6
7
9
16
-19
-21
0
0
0
0
0
-2
15
4
-41
-18
18
-8
11
11
-29
0
2
5
-10
9
0
2
6
-15
-16
0
6
-1
-15
-12
0
1
-10
-7
-48
0
23
-27
-3
20
0
0
-2
-1
10
0
0
2
4
-8
0
0
1
5
6
0
0
17
-6
-59
0
0
19
-15
5
20
10
5
-3
2
12
15
14
21
-1
21
33
14
9
28
-8
9
8
11
-4
1
18
42
-10
-6
11
18
-4
14
-14
17
6
11
8
7
11
0
9
-21
10
25
-24
1
20
-25
-18
32
23
-27
0
31
0
5
7
-3
-23
4
9
14
7
0
0
0
0
0
-33
9
-12
11
3
18
32
-19
-4
-19
0
2
9
-3
3
0
-4
14
-7
-12
0
35
2
5
-23
0
55
-21
12
-1
0
-16
-11
33
21
0
0
6
-3
-9
0
0
15
10
15
0
0
16
5
2
0
0
22
64
22
0
0
7
4
-1
6
11
-2
12
9
12
28
15
7
5
-43
-8
47
-14
29
-8
69
36
-1
-17
26
21
-4
0
0
23
34
14
2
-12
6
8
21
2
-15
32
7
5
15
33
105
-31
65
-8
27
1
12
9
-6
0
21
9
5
-7
-4
1
5
9
9
8
0
0
0
0
0
7
8
-46
37
41
0
3
-3
4
0
0
0
8
-1
-20
0
3
28
6
-14
0
33
24
3
-1
0
-28
41
-27
13
0
0
0
0
0
0
0
3
-17
44
0
0
19
-40
12
0
0
20
22
11
0
0
4
0
2
0
0
0
0
0
-18
7
24
29
4
-11
-12
33
4
23
-41
-21
32
28
-29
-49
-20
29
-6
-76
-25
4
-1
-30
27
-8
-10
-4
37
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
11
25
-27
-19
-6
7
-6
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
-15
-10
-7
0
14
17
17
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
35
-30
-12
0
0
-21
11
-7
0
0
-21
-15
-8
0
0
-5
-1
-29
0
0
10
-6
-41
0
0
10
-28
10
-11
2
18
24
3
20
14
39
12
-18
-71
26
23
75
-25
-59
29
81
66
-62
-46
9
46
28
3
-29
-26
8
3
6
35
-8
29
48
34
21
37
-9
-2
27
51
3
-6
16
11
71
-32
25
5
10
-19
-6
25
11
25
-10
2
-3
36
6
0
0
0
0
0
-4
28
-2
1
-4
1
31
10
-16
24
0
45
35
24
14
0
-2
-13
33
36
0
-39
4
36
47
0
-112
22
-9
37
0
-6
-62
15
-18
0
0
18
12
24
0
0
-10
-3
9
0
0
41
45
39
0
0
-13
17
28
0
0
-9
16
-3
-2
-5
46
74
99
144
26
81
74
-12
10
57
-9
49
-11
60
56
0
6
0
4
-4
0
1
0
14
14
27
20
-10
22
3
50
7
-15
11
5
56
59
-23
39
25
20
-23
26
-2
-6
-11
0
0
1
29
47
26
41
74
27
13
-2
46
0
0
0
0
0
-21
65
-30
52
-2
-12
13
-2
1
0
0
106
25
63
22
0
31
20
60
43
0
-19
-1
77
65
0
-34
5
11
-1
0
-10
4
-1
0
0
0
-3
62
35
0
0
-7
7
-14
0
0
21
68
62
0
0
-27
-12
3
0
0
-3
-1
0
29
-7
31
-20
4
-3
-57
18
21
18
-11
-13
-3
-10
28
-12
-2
-25
9
-25
-21
46
11
-8
-1
-39
-4
12
-5
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
7
17
0
0
23
-30
-30
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-2
2
0
0
-21
-22
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
-3
-1
0
0
11
32
-43
0
0
0
-13
-9
0
0
-51
18
-7
0
0
24
5
9
0
0
-24
0
-4
-6
-22
16
-9
42
-41
-9
24
13
-27
-6
-3
8
1
24
-79
6
26
22
8
-44
2
16
10
9
-29
-26
8
-25
15
-10
-27
-22
6
0
-1
-2
-9
1
0
-1
2
-9
1
0
21
-87
15
-17
13
10
-7
-10
-37
5
-1
7
-13
-3
1
0
0
0
0
0
0
0
0
0
0
-59
-39
5
33
12
0
-3
-4
-11
29
0
-18
6
11
18
0
7
-3
0
0
0
-1
9
1
0
0
-18
12
45
12
0
0
-5
11
24
0
0
-18
3
-5
0
0
-40
-32
16
0
0
-28
2
28
0
0
-21
9
18
-30
-13
13
-4
26
-1
-33
36
-24
-28
-32
-26
22
7
-14
-65
14
30
-5
19
-34
-17
6
23
1
-58
-31
-9
26
12
-70
0
60
7
33
8
17
-8
8
-38
-39
16
17
15
-26
19
-53
-22
24
13
9
0
-14
-10
33
7
30
-17
22
-2
0
0
0
0
0
-12
-69
-13
16
13
30
-55
21
9
18
0
36
-2
10
-8
0
-19
-41
22
16
0
4
-9
-15
40
0
-4
-26
-40
-6
0
-1
25
-8
7
0
0
-5
1
9
0
0
-23
-7
-19
0
0
-2
-58
41
0
0
-13
6
-3
0
0
25
-8
4
63
5
-12
-2
70
-4
17
24
81
-20
-47
-54
59
-14
-10
-16
93
-46
37
-41
-2
23
0
-2
0
7
-20
-18
61
10
-1
2
94
49
-3
-2
-82
-2
6
6
27
-62
37
3
7
-4
26
10
0
0
-56
-9
3
9
11
21
-78
-17
38
29
0
0
0
0
0
-11
-26
9
8
16
0
0
2
-3
0
0
59
1
47
38
0
-8
-8
-9
41
0
-18
43
42
-9
0
-16
-32
-24
7
0
-1
-8
-1
0
0
0
31
-24
16
0
0
13
19
6
0
0
-2
58
33
0
0
-2
6
-26
0
0
0
0
0
26
41
98
-81
1
-73
17
60
2
16
7
63
-4
-2
0
2
-9
1
-1
0
-3
0
0
0
0
11
62
54
9
-19
-52
4
41
-17
45
8
5
23
-13
25
8
13
18
-4
-2
0
0
0
0
0
-14
-40
37
85
-18
-1
-34
37
28
16
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
3
-32
-11
0
0
-24
16
43
63
0
-17
-30
3
1
0
0
0
0
0
0
0
0
0
0
0
0
12
-17
5
0
0
35
17
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
2
2
2
8
5
9
-4
-13
-6
1
0
10
0
1
0
5
9
-1
1
3
-2
32
-27
-3
-1
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
5
0
-8
1
-33
0
-4
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
4
8
0
-9
1
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
10
6
0
0
7
0
-13
0
0
4
0
4
0
0
4
-6
1
0
0
-7
-3
16
0
0
5
-5
-3
4
4
2
2
4
-1
7
4
-1
6
10
0
7
3
1
14
9
3
13
1
13
0
-7
1
13
12
11
9
6
1
8
-1
-4
2
-2
6
-8
0
4
-2
1
4
-2
-3
-3
3
2
1
-8
3
-1
3
0
2
8
3
-1
1
-11
-4
0
0
0
0
0
-8
5
0
-1
11
-10
2
6
-10
11
0
2
6
9
8
0
-6
12
8
1
0
0
-1
-6
0
0
3
2
-1
0
0
15
-8
7
2
0
0
0
-1
5
0
0
1
7
11
0
0
1
2
-1
0
0
0
9
6
0
0
-2
19
-6
3
11
-2
4
6
7
10
0
-1
4
6
5
0
0
11
19
1
7
10
-4
18
17
-19
-8
16
30
9
4
2
4
7
1
4
7
7
1
2
1
1
2
10
1
7
5
6
13
3
-8
-9
9
14
3
2
2
-4
15
8
2
7
12
0
0
0
0
0
4
4
3
-2
4
-21
-30
-2
-3
1
0
10
-5
6
18
0
2
8
6
3
0
0
5
2
-1
0
1
7
2
8
0
24
1
3
-12
0
0
-1
3
3
0
0
4
6
11
0
0
3
1
10
0
0
-2
3
7
0
0
-13
39
25
-44
-9
13
-3
-8
-33
-25
27
16
1
-95
7
-19
26
-9
-32
6
5
41
3
9
34
24
10
9
-83
-26
-6
8
-5
-13
-55
-54
-46
18
-21
-24
-39
-6
-9
-49
-43
19
-22
-50
-11
-12
40
4
-14
-6
-20
1
13
3
-6
-66
-25
-13
-8
0
0
0
0
0
0
4
-13
1
-1
-19
-2
-10
1
5
0
-28
8
25
-8
0
-21
-1
24
-23
0
2
-33
36
15
0
-7
35
37
-15
0
-40
-4
36
30
0
0
6
-11
-6
0
0
-18
-28
8
0
0
-9
-4
17
0
0
-15
7
-14
0
0
-8
-22
50
-8
6
11
-6
-1
-20
-10
0
5
8
-25
6
-1
16
2
-25
1
13
7
2
-2
7
11
19
18
-32
-23
-12
2
2
-112
-116
-24
-36
-21
-119
-65
-20
-21
-29
-48
-44
-31
-24
-27
8
15
9
19
28
-10
-6
5
3
14
-2
-51
-38
-31
5
0
0
0
0
0
-8
-16
-31
-29
-33
1
-2
19
26
20
0
-8
-3
-6
2
0
-34
-51
2
-32
0
-3
0
-8
-18
0
-8
24
-24
-5
0
6
9
13
5
0
0
0
-7
10
0
0
8
-15
9
0
0
-13
-6
3
0
0
-9
4
19
0
0
-17
12
5
-5
4
3
5
-5
-12
5
6
3
10
1
7
8
4
6
7
3
12
10
6
23
13
6
11
-8
6
-10
5
1
-2
-29
-49
-34
1
-16
-42
-32
-3
11
-3
-3
-4
-3
-1
10
11
4
13
11
22
17
3
-4
10
10
-47
-40
-13
-12
-19
0
0
0
0
0
16
7
-5
8
5
-8
7
-4
-3
17
0
-3
-7
-4
2
0
-21
-18
-11
-12
0
-6
2
-1
2
0
18
9
1
5
0
21
-15
3
-25
0
0
7
3
1
0
0
-2
3
7
0
0
-7
6
8
0
0
15
11
-13
0
0
17
21
18
7
7
2
1
14
14
17
6
1
9
39
6
11
-21
22
26
8
13
5
4
11
23
6
2
-39
19
5
5
2
7
3
-1
0
0
-5
11
6
19
5
5
28
6
0
16
-10
-5
1
0
-1
29
17
4
0
5
1
-9
-17
-7
3
5
0
0
0
0
0
24
11
13
15
5
-25
-19
0
13
43
0
-5
12
5
5
0
5
-7
2
-4
0
16
7
6
-5
0
-10
9
-4
-4
0
-24
1
27
-23
0
0
20
-8
-14
0
0
12
6
-7
0
0
6
16
42
0
0
1
23
-10
0
0
-14
53
-3
26
5
-11
9
-2
15
15
-5
-12
2
36
21
16
-6
-17
-20
10
-7
-22
-2
34
-43
-7
55
-32
27
18
12
14
11
39
14
11
11
0
13
5
4
10
9
38
9
17
2
1
52
38
-5
12
-13
25
6
12
8
12
-5
4
18
18
14
0
0
0
0
0
-19
9
19
37
22
25
16
-6
-11
-4
0
12
17
12
18
0
19
-12
-7
10
0
4
29
10
4
0
49
10
-8
-2
0
-35
-7
13
-12
0
0
7
-13
9
0
0
-5
36
6
0
0
23
4
-4
0
0
38
28
54
0
0
-9
3
0
-4
-6
-5
2
2
8
-13
-1
-2
1
1
-8
-14
-6
-1
-1
10
-3
9
10
13
-1
-12
-18
-4
9
-7
9
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
30
5
-4
-5
5
3
1
-2
3
0
0
0
0
0
3
-1
-2
-3
2
0
0
0
0
0
6
5
3
11
-11
0
1
0
-10
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
3
6
0
0
18
0
-9
0
0
9
-4
4
0
0
0
-3
4
0
0
2
-2
-7
0
0
1
7
19
16
6
1
-1
1
20
2
1
5
-2
17
5
-11
2
-2
22
2
2
6
-7
17
4
-2
13
23
25
10
15
11
8
3
1
4
5
0
9
-1
9
4
1
5
0
-3
17
-30
-3
19
1
-3
14
11
10
7
6
17
3
-2
1
-2
4
0
2
1
4
-5
5
2
9
-1
18
19
5
9
-13
5
0
4
10
8
9
0
-7
3
1
3
0
3
-1
-3
6
0
1
3
8
12
0
1
12
12
19
0
0
4
8
-5
0
0
5
-13
2
0
0
1
-14
-11
0
0
-3
-15
-7
0
0
-5
-9
23
21
-1
0
3
-11
22
9
-6
-17
5
14
6
-1
-6
-20
31
6
-3
18
-17
56
-18
14
-6
4
32
10
19
0
11
10
4
7
7
5
14
5
5
4
10
3
2
11
11
24
30
25
-13
9
14
18
14
3
3
-2
2
2
3
7
4
1
3
2
3
-7
11
4
11
6
-11
24
34
37
0
-61
0
2
9
8
-2
0
0
3
1
7
0
10
7
-2
9
0
4
3
1
16
0
39
-10
9
-1
0
0
3
6
7
0
0
1
-7
5
0
0
5
-7
-8
0
0
-17
7
-19
0
0
24
3
-13
-10
-5
-13
-15
21
-84
-59
-4
-2
9
-107
-107
21
-58
17
-56
-68
0
-1
-9
-47
-15
-60
31
20
-82
-17
-18
-19
27
-12
-45
-85
-37
-4
-10
-23
-22
-4
0
1
-18
-8
-1
0
7
22
4
-14
-23
-90
-66
-26
-24
9
0
-15
-2
-1
1
0
0
0
0
0
0
0
1
0
0
-6
-64
-35
-6
25
0
-47
-15
5
-9
0
-1
-9
7
-1
0
0
0
-2
0
0
0
1
0
0
0
9
0
-7
3
0
0
-24
-17
-18
0
0
0
0
30
0
0
36
5
7
0
0
-9
-10
15
0
0
8
5
33
-12
-3
-6
-13
2
-18
-24
-10
7
-6
-25
-36
-13
-16
8
-18
-3
1
-18
-4
-34
-32
15
-6
-49
12
-15
-7
-5
-6
-32
-56
-29
-42
-54
-1
-8
-70
-76
-47
-68
-63
-33
7
-26
-3
-37
-20
13
42
7
-4
-8
-14
-6
35
-33
-43
-109
-33
0
0
0
0
0
-17
-26
-69
-44
-76
28
-18
2
-12
-2
0
-7
-9
-4
-9
0
-23
-31
-52
-34
0
-70
-10
-84
-18
0
-42
8
-54
-46
0
0
12
-16
28
0
0
3
1
-10
0
0
12
-10
12
0
0
16
8
15
0
0
12
15
-29
0
0
12
11
8
18
8
1
6
11
18
-6
10
14
16
17
7
12
7
2
12
12
5
19
15
-1
-8
-11
-16
52
43
15
12
6
5
24
-19
-8
-5
-28
15
-10
-12
-19
-20
18
5
-15
5
-31
-2
-1
5
28
10
20
7
14
8
6
17
12
-7
-2
-21
0
0
0
0
0
-18
8
-9
-11
-13
41
42
2
23
-3
0
-5
6
6
-2
0
12
-1
-4
-14
0
31
-18
-19
1
0
14
-16
-21
-11
0
17
28
19
49
0
0
8
3
8
0
0
17
-6
5
0
0
18
14
28
0
0
-9
21
3
0
0
20
34
57
31
18
14
-10
27
34
8
12
35
26
35
11
14
9
-11
38
14
-8
-9
-4
-2
16
44
25
-29
51
25
20
6
24
29
1
15
26
6
33
11
19
17
7
-3
24
8
21
1
3
7
0
47
35
43
24
-5
21
6
-2
17
22
29
34
0
0
0
0
0
23
16
13
-4
11
-24
44
-2
32
22
0
-12
11
12
-30
0
2
16
9
11
0
33
19
4
45
0
-20
3
13
10
0
-62
29
7
52
0
0
8
31
-15
0
0
-4
4
11
0
0
5
15
34
0
0
10
-33
9
0
0
2
1
-40
45
-6
-15
1
49
22
15
12
32
-6
38
10
-14
-21
7
48
40
17
23
3
95
17
-6
0
0
52
25
18
-14
-4
48
22
46
30
16
37
12
15
7
31
60
8
12
11
53
17
61
20
-63
9
41
9
26
-6
6
19
38
11
13
10
0
0
0
0
0
55
31
-9
-5
-13
0
0
-18
17
0
0
-18
22
3
32
0
11
27
27
47
0
20
32
22
41
0
-11
17
4
-5
0
-4
-1
0
0
0
0
7
16
73
0
0
12
14
-2
0
0
23
-27
26
0
0
-51
1
6
0
0
3
0
0
-3
-12
9
-3
9
16
-32
1
5
26
-52
-18
-2
3
-6
-13
-27
-32
24
19
-21
-11
-8
12
9
-39
-11
-4
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-8
5
0
-39
-17
-11
8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
15
8
-9
34
0
-16
8
7
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-9
11
0
0
-17
2
13
0
0
-10
1
6
0
0
-22
0
6
0
0
18
8
27
0
0
-8
-14
15
20
9
8
-7
36
-12
-10
15
4
18
4
-25
-13
22
19
-52
-5
32
-18
-28
18
-16
9
19
17
-9
1
2
19
-34
-8
-8
-4
8
31
10
13
11
1
-42
18
-29
-23
3
-13
-15
28
15
-17
10
-10
-13
20
11
-2
-1
-22
7
8
22
0
0
0
0
0
-49
24
-10
13
22
-6
-18
11
11
17
0
26
9
26
21
0
-28
2
27
13
0
17
-3
10
-3
0
-16
-3
-19
21
0
-1
-7
21
30
0
0
15
18
25
0
0
18
5
6
0
0
-6
4
1
0
0
2
1
-23
0
0
29
-30
-9
47
22
46
-3
26
41
4
4
20
18
-1
9
-14
52
11
70
-2
-29
-19
-15
35
-10
2
-8
1
28
9
41
29
43
1
-13
-1
7
45
18
10
17
1
20
8
-12
13
10
22
19
-10
-10
36
11
40
6
43
4
22
35
-24
38
26
48
0
0
0
0
0
-16
8
10
43
-33
-1
30
-1
-12
-1
0
42
54
22
12
0
4
43
11
24
0
20
24
74
50
0
-15
-4
33
33
0
-27
11
-39
3
0
0
13
49
18
0
0
10
41
15
0
0
33
1
62
0
0
-37
-10
102
0
0
-2
14
-1
-55
4
1
17
31
-102
-37
56
27
5
-68
-30
15
-4
12
-33
-2
-11
-26
-16
-63
6
-18
34
39
-56
6
18
4
18
-4
21
9
1
-6
0
1
1
0
0
3
0
2
0
0
-27
-90
-14
52
31
-22
-10
-27
21
-27
0
-2
0
-4
0
0
0
0
0
0
0
0
0
3
0
-22
10
-18
-13
-15
0
10
20
25
2
0
-39
0
13
1
0
1
0
0
0
0
2
0
-8
-1
0
-21
38
8
26
0
0
-5
14
25
0
0
-30
-47
12
0
0
-43
28
37
0
0
-54
21
45
0
0
-1
-28
34
-26
-3
1
4
12
-28
-17
-9
14
0
-29
-9
9
-4
5
-54
-12
-6
-2
0
-47
-10
5
-9
-17
-40
-20
-14
5
15
-109
-84
-24
-25
31
-95
-33
-24
49
-4
-38
-13
0
14
20
-36
-18
-5
3
5
-20
-16
2
-14
10
-8
11
-1
9
-19
0
0
0
0
0
-3
8
-61
10
1
-25
-36
-8
19
39
0
-4
-8
-1
-2
0
4
-32
63
52
0
33
36
-25
28
0
-23
32
5
-6
0
-28
-11
23
21
0
0
-9
-15
12
0
0
-18
-12
21
0
0
-5
-16
-3
0
0
-56
11
6
0
0
20
1
43
-4
-2
-7
16
34
-27
-2
5
13
11
4
-42
-11
15
27
-18
-15
17
9
30
1
-2
22
-3
36
-48
-12
-11
15
-1
-72
-22
26
29
12
-24
17
-15
30
5
-24
-31
16
35
-58
-19
-26
-7
28
-5
-26
-24
-8
4
9
27
-10
6
-10
-20
0
0
0
0
0
-21
-27
30
51
-19
-18
-34
-24
9
15
0
-3
-4
12
8
0
12
-10
10
12
0
-14
-5
-43
10
0
-5
-33
-6
2
0
14
20
-9
24
0
0
-3
1
-10
0
0
-1
-29
4
0
0
-26
-7
27
0
0
-23
-37
18
0
0
24
-58
-3
32
1
2
44
10
-26
12
4
10
8
-32
40
6
7
-69
-52
6
-22
53
-16
2
22
-21
-46
1
-29
15
6
6
-22
17
-9
-9
35
20
30
-27
7
-22
37
2
-30
12
23
29
-63
14
16
13
-1
-37
-6
23
-30
23
64
-24
-32
33
39
0
0
0
0
0
35
-42
42
11
-6
-15
6
24
-26
-1
0
2
-4
22
15
0
-2
-23
-3
10
0
-51
22
5
-5
0
-8
-15
0
-30
0
7
8
-15
1
0
0
10
-12
28
0
0
-16
-3
20
0
0
-4
15
-41
0
0
13
25
-26
0
0
4
2
2
-3
31
-23
-54
58
-30
12
-9
16
-5
22
-21
64
-3
0
5
-13
9
-1
0
-9
1
0
0
0
23
-20
-6
4
-28
-22
-25
57
-21
30
64
-24
20
-2
16
-6
10
38
-58
-4
0
0
1
0
0
-63
39
24
-4
36
-24
-21
1
1
16
0
0
0
0
0
4
-21
-27
21
13
0
0
0
0
0
0
63
20
-26
18
0
-15
20
1
24
0
-24
-49
70
-2
0
0
20
-18
0
0
0
0
0
0
0
0
-56
63
46
0
0
-1
36
24
0
0
-4
0
4
0
0
0
0
0
0
0
0
0
0
-1
13
-8
-2
18
-27
3
7
-7
-2
-19
-5
-5
-5
2
-11
1
7
5
8
5
-3
4
3
27
-20
-10
-2
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
3
6
8
13
-29
-9
3
13
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-4
0
11
0
-13
1
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-2
8
0
0
5
9
-2
0
0
-6
13
2
0
0
-4
-2
7
0
0
5
2
9
0
0
-5
0
14
18
7
10
3
12
6
5
3
2
8
-8
1
6
14
12
-2
11
9
14
10
13
-1
-3
20
11
-3
6
4
9
3
-4
-14
-3
-5
7
-14
-17
-6
8
7
-3
-10
5
7
-5
-6
-7
-4
-4
-11
-4
1
7
4
18
-11
-5
-2
-13
12
0
0
0
0
0
-6
-2
-5
4
14
-12
-14
7
-4
15
0
2
-3
-1
25
0
-6
2
7
10
0
-2
0
-1
2
0
13
-1
6
2
0
9
3
6
10
0
0
-2
5
12
0
0
0
-2
6
0
0
0
9
14
0
0
3
8
14
0
0
0
2
4
-1
2
-4
9
18
-6
0
-6
2
13
3
1
7
-7
17
-10
6
2
21
17
-3
-10
-6
-9
29
18
16
-2
6
12
15
0
1
5
11
4
1
1
5
20
17
2
-5
5
8
-11
-1
-17
-25
11
16
8
-7
2
18
20
7
3
3
13
0
0
0
0
0
13
4
-3
8
9
-29
-5
-6
-6
5
0
11
-3
9
12
0
4
7
18
9
0
1
0
0
10
0
3
4
2
9
0
19
13
-10
26
0
0
13
-4
-5
0
0
1
3
0
0
0
1
6
16
0
0
13
8
6
0
0
-10
29
48
-43
-11
-3
5
9
-58
-1
-2
3
7
-62
2
6
3
-17
-43
-13
12
17
19
-30
10
-9
1
6
-83
-30
4
-13
-11
-15
-67
-51
-25
25
-38
-41
-33
2
-6
-36
-31
14
-40
-54
-9
-26
20
-10
1
-27
-27
-9
10
23
-6
-62
-27
2
0
0
0
0
0
0
0
3
-21
1
0
-53
-38
-9
16
17
0
-3
12
-15
-3
0
-24
3
57
-7
0
2
-28
43
17
0
-12
44
51
-21
0
-19
-6
58
30
0
0
-6
-9
1
0
0
12
-5
7
0
0
-18
-7
10
0
0
-28
15
11
0
0
19
6
25
-11
9
0
-2
-5
-9
-5
1
9
-2
-21
-8
-2
0
6
-21
3
-2
10
15
2
3
7
11
1
-20
-21
-9
5
-10
-60
-86
-42
-21
-31
-49
-39
-31
-23
-39
-40
-37
-30
-16
-13
-4
-1
-6
17
4
5
-16
7
4
-10
-72
-44
-23
-15
-5
0
0
0
0
0
-51
-3
-29
-34
-19
-18
4
13
27
-1
0
-13
0
-3
-11
0
-11
-29
-21
-48
0
-5
-31
-21
-18
0
-12
7
-19
-17
0
-13
10
30
14
0
0
-2
0
1
0
0
0
-1
0
0
0
3
5
-1
0
0
2
3
-13
0
0
0
7
3
-2
9
-4
-9
5
2
3
1
5
4
11
4
-8
6
6
8
2
10
3
-7
18
19
11
6
-16
0
-9
-1
1
10
-27
-49
-22
0
-13
-25
-13
5
-13
-19
-12
-14
-8
2
-8
10
4
-11
3
43
6
3
-9
13
14
-30
-36
-35
-16
-28
0
0
0
0
0
7
3
-4
14
-25
-4
-8
10
-3
-6
0
-4
-16
-12
-4
0
0
-15
-14
-20
0
-17
-5
-20
-22
0
26
13
8
-4
0
3
-14
8
-2
0
0
-6
-5
-11
0
0
2
-8
9
0
0
-7
-2
20
0
0
21
4
3
0
0
7
13
14
2
8
-2
-8
6
18
18
8
-1
13
18
3
1
2
19
29
-5
3
1
-18
17
9
-21
2
-44
7
13
0
-6
21
-16
-12
-3
-3
-14
-6
14
5
-12
-11
15
8
-5
8
-6
-14
-7
20
-13
14
20
-2
-4
2
9
-19
-10
-4
-4
8
0
0
0
0
0
-12
2
18
14
0
4
-53
-2
-26
42
0
5
9
8
-1
0
3
-12
-4
-2
0
11
9
-7
-10
0
6
1
-4
-12
0
-5
-7
20
-31
0
0
19
-10
-16
0
0
0
4
-1
0
0
1
7
-3
0
0
13
26
-4
0
0
6
63
5
31
1
-29
18
-36
33
-2
-10
-34
-3
35
16
-12
-15
2
39
24
-5
-44
-30
37
-40
13
52
-28
38
5
-7
10
-1
26
9
0
0
-14
25
11
-3
17
-7
36
16
-7
5
-7
38
35
5
20
-24
33
1
4
11
31
9
-5
12
18
14
0
0
0
0
0
14
44
6
26
-1
24
0
-6
-4
-8
0
23
38
-2
34
0
18
-8
-5
-13
0
-17
27
6
15
0
24
-9
-5
-13
0
-39
-11
40
-9
0
0
4
-11
7
0
0
-9
14
15
0
0
-9
15
5
0
0
20
-13
48
0
0
-3
2
0
-13
-1
2
7
6
2
-15
3
2
11
3
0
-10
5
5
-3
7
-4
24
13
12
14
14
-22
-13
-3
-4
3
-7
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
13
10
15
-18
18
2
-2
-8
20
0
0
0
0
0
2
-4
-13
-4
-1
0
0
0
0
0
6
-7
6
9
-13
0
9
-7
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
2
-13
0
0
14
3
-9
0
0
13
-4
-8
0
0
0
2
-3
0
0
0
-3
-2
0
0
3
6
-12
25
1
6
3
-3
10
-2
5
-6
0
11
-3
-10
-9
1
6
1
8
10
-16
13
12
-6
4
28
19
4
-7
11
-3
8
-11
-9
-9
4
17
-4
-4
10
-23
7
9
0
22
-11
20
31
18
-2
-1
12
14
0
-1
13
8
-9
-4
-6
-9
0
3
5
6
-4
-1
2
6
-2
4
9
12
3
-17
-4
0
2
2
1
-1
0
14
5
2
2
0
-6
1
-3
12
0
1
2
-7
-1
0
0
13
12
34
0
0
7
7
-15
0
0
11
-3
-14
0
0
0
-13
-13
0
0
-1
20
-12
0
0
4
10
18
30
-7
-12
0
-2
5
0
2
-8
11
17
-9
1
-11
-8
13
-3
-2
14
-21
55
-1
1
-2
-27
18
1
5
11
6
20
3
-8
-4
-8
23
-3
2
-3
12
21
14
-3
-6
29
27
24
-6
-4
-9
17
24
2
-7
17
13
2
0
-3
0
-5
3
0
7
-7
-8
10
7
10
7
26
7
4
-9
-29
0
7
0
9
-14
0
-7
7
-9
-4
0
10
7
-16
-7
0
5
10
-26
19
0
0
-5
22
31
0
0
8
1
22
0
0
-5
-26
3
0
0
5
-36
-17
0
0
-1
-12
-23
0
0
-17
6
-4
-31
-7
31
-23
36
-54
-33
2
4
14
-61
-56
21
-48
-11
-61
-38
3
-4
19
-49
10
-47
27
23
-77
-16
1
-45
21
-14
-44
-83
-25
-3
-15
-10
-22
-3
0
-1
-33
-17
-2
0
-2
8
21
0
-24
-42
-42
-42
-5
26
0
-15
-2
-1
1
0
0
0
0
0
0
0
2
0
0
27
-24
-20
-7
24
0
-5
-12
6
-40
0
-1
-9
10
-1
0
0
0
-2
0
0
0
1
0
0
0
-10
-1
-5
17
0
0
-47
23
-24
0
0
-11
-24
41
0
0
30
-15
-2
0
0
7
-1
6
0
0
6
-2
43
-11
7
8
-3
11
-21
-6
5
26
-8
-27
-18
2
-17
13
-35
-13
-2
20
16
15
-17
12
-11
-26
0
-5
6
6
16
-47
-103
-35
-17
-29
-31
-51
-61
-35
-37
-42
-58
-32
17
-19
-6
-26
1
-4
25
-22
12
5
-10
7
5
-44
-41
-43
-12
0
0
0
0
0
-37
-25
-14
-41
-77
8
-3
-5
23
27
0
-26
-13
-2
-1
0
-2
-40
-24
31
0
-84
-9
-47
-25
0
-38
-42
-31
2
0
12
0
8
-14
0
0
-3
0
-25
0
0
21
-4
6
0
0
13
-4
0
0
0
23
9
-12
0
0
5
7
3
4
2
-3
4
26
17
-5
4
18
10
8
-1
20
15
7
6
15
31
23
12
3
1
-7
5
6
23
15
15
13
25
-8
-38
-17
-7
-1
-23
-34
-6
-35
-7
5
-9
-16
-6
-6
10
7
6
51
-6
32
10
5
10
-3
7
-2
-9
-10
-16
0
0
0
0
0
4
-8
-24
-16
11
6
40
5
16
9
0
8
19
9
-13
0
10
22
0
-2
0
33
0
-21
17
0
10
5
-22
12
0
4
24
2
30
0
0
1
-5
28
0
0
1
-8
22
0
0
6
-6
-12
0
0
-12
9
14
0
0
4
26
45
24
5
20
1
48
13
-3
17
22
-25
20
1
-2
24
3
53
12
-25
-13
-15
-35
20
59
-4
-11
34
9
19
-2
35
22
2
22
41
19
37
5
9
19
0
8
20
16
18
-5
-30
15
-8
77
-1
42
30
-8
5
2
21
15
19
8
35
0
0
0
0
0
-5
11
9
11
12
-19
41
-7
-11
20
0
3
7
12
-18
0
13
14
9
-3
0
-3
6
22
25
0
-12
12
5
3
0
-30
24
0
20
0
0
8
14
-15
0
0
24
-17
-10
0
0
21
13
2
0
0
3
-23
-2
0
0
6
-12
-43
52
-9
-38
-5
34
12
-11
1
67
-29
62
-33
-11
-3
-8
34
21
15
21
2
65
22
-7
0
0
48
29
32
6
8
58
21
23
0
-6
31
5
18
23
32
21
8
-2
38
54
13
41
9
-52
9
26
2
8
-3
-10
51
31
10
19
35
0
0
0
0
0
3
50
10
-13
-43
0
-3
-9
11
0
0
-19
-12
-16
30
0
16
6
6
57
0
20
27
-8
15
0
21
1
1
5
0
-5
-1
0
0
0
0
-7
-3
60
0
0
12
57
-16
0
0
26
-37
32
0
0
-46
1
7
0
0
3
0
0
-23
2
6
6
-2
-16
-35
-2
17
15
-62
-22
7
-3
-3
-32
-18
-4
27
9
-7
-16
23
12
-1
-27
-19
16
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-38
3
-1
42
-29
-24
-7
11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
10
12
5
24
0
-21
-9
12
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
-4
10
0
0
12
11
13
0
0
12
-2
17
0
0
-6
8
2
0
0
22
1
26
0
0
-14
-18
22
-12
7
-5
18
15
-8
-21
14
3
11
-15
7
24
-2
-6
-14
1
-21
31
-31
12
-10
12
19
18
1
14
10
-14
-10
-27
-8
-2
14
15
27
17
19
-17
-55
-27
-25
9
1
-7
-29
9
-1
-23
-9
-16
-19
13
4
16
13
-7
22
9
28
0
0
0
0
0
-37
12
-31
14
20
1
-42
-4
27
-5
0
-1
11
25
33
0
13
8
30
6
0
4
-29
7
13
0
-9
-5
-18
23
0
8
12
20
42
0
0
15
18
27
0
0
20
1
16
0
0
0
-14
-14
0
0
-17
3
-9
0
0
11
-33
2
28
-6
31
10
20
42
21
38
4
6
40
-10
-29
45
11
72
-23
-37
-17
-6
54
-9
-7
-10
1
59
25
26
27
6
2
20
2
18
19
27
3
32
16
33
-6
8
12
10
7
2
-2
-5
36
14
9
-5
42
35
39
18
16
32
-3
40
0
0
0
0
0
-6
8
61
-13
-50
-15
29
14
-20
-1
0
37
50
39
-1
0
-10
27
35
3
0
-5
27
27
61
0
22
40
5
-15
0
-16
4
-43
3
0
0
25
44
22
0
0
46
23
-8
0
0
45
-22
64
0
0
-25
-28
100
0
0
1
12
-1
-69
-18
26
9
56
-73
-25
21
16
15
-69
-16
-10
17
-22
-59
-16
8
-15
34
-23
-13
-8
1
56
-65
-15
-23
-5
14
-3
36
16
1
-6
0
1
1
0
0
3
0
2
0
0
-12
-58
-25
41
31
-20
-54
-9
24
-18
0
-2
-1
-5
0
0
0
0
0
0
0
0
0
3
0
-16
6
-26
-16
-12
0
6
35
3
27
0
-40
0
11
0
0
1
0
0
0
0
2
0
-8
-1
0
-27
28
-20
8
0
0
6
0
15
0
0
-28
-49
-2
0
0
-47
-13
50
0
0
-64
-2
21
0
0
-12
-21
0
-35
-18
2
3
16
-47
-21
-14
26
9
-61
-13
-14
-4
17
-52
-12
0
-8
-4
-32
-14
17
-5
15
-23
-22
-3
-8
2
-98
-59
-10
-8
37
-78
-13
0
39
9
-31
-60
0
32
32
-36
-10
-3
10
35
-55
-29
-3
0
-5
0
0
-23
22
-51
0
0
0
0
0
-5
12
-84
14
5
-11
-21
-5
17
9
0
-15
16
3
-12
0
-27
-14
56
28
0
21
25
-18
36
0
-18
20
4
0
0
-20
-25
-7
21
0
0
-11
-8
4
0
0
-15
-33
7
0
0
-17
-3
12
0
0
-4
-11
3
0
0
26
-16
-7
-32
10
7
15
16
4
-18
-1
0
-14
-18
-25
-18
-1
11
-15
17
16
24
0
31
-5
16
-42
33
-15
-7
-8
-8
4
-41
-9
18
7
-5
-17
25
-27
24
29
-2
-39
19
26
-38
2
-48
13
13
-3
-26
-19
-2
22
10
39
-12
1
17
-50
0
0
0
0
0
-14
6
16
19
1
-19
9
-25
-22
4
0
-25
-4
-14
24
0
0
-23
3
21
0
-11
-22
-14
-8
0
3
-27
6
-26
0
14
-24
-4
30
0
0
10
22
-10
0
0
-3
-16
22
0
0
-39
32
25
0
0
-50
-39
31
0
0
22
-52
1
-8
15
7
-10
-25
-20
2
-34
-24
62
15
27
-10
-13
-41
-43
-4
-7
45
-28
17
20
-32
-42
1
-43
16
-2
12
-25
-10
10
-4
8
23
10
-2
-11
-24
38
-10
-32
13
9
17
-57
12
12
0
-1
-36
-23
-8
-41
34
28
-21
-7
2
9
0
0
0
0
0
42
12
9
-18
7
-9
3
16
-25
-1
0
-43
15
58
33
0
-7
-32
-3
13
0
-14
-2
10
-29
0
-12
0
39
-27
0
5
15
-16
1
0
0
30
45
26
0
0
4
-9
3
0
0
-4
-18
-45
0
0
28
21
-24
0
0
3
2
2
67
-1
-27
-59
32
10
-18
-4
0
-16
10
-28
69
-2
0
5
-20
11
-1
0
-9
1
0
0
0
41
-31
-29
15
-27
1
-41
31
3
9
46
-24
4
-8
-5
-20
44
-11
-54
-4
0
0
1
0
0
-40
57
40
-42
22
-24
-6
-29
44
23
0
0
0
0
0
4
-31
-20
19
13
0
0
0
0
0
0
42
19
-42
10
0
14
-13
-3
-15
0
0
-43
84
-6
0
1
12
-19
3
0
0
0
0
0
0
0
-47
52
34
0
0
2
36
33
0
0
-4
0
4
0
0
0
0
0
0
0
0
0
0
-29
27
9
3
9
-15
-45
9
24
1
-9
30
2
-25
27
-35
-10
26
-12
-9
16
-9
2
17
-12
34
27
30
15
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-34
5
22
13
-15
3
81
22
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
14
-13
-3
0
-17
3
32
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
-4
8
0
0
8
20
-22
0
0
35
9
9
0
0
14
24
8
0
0
18
10
31
0
0
22
13
3
27
45
7
-8
3
-35
-14
32
12
-15
-26
6
21
9
24
35
-32
7
8
-6
16
18
45
-33
1
-2
32
11
18
-3
-58
-17
28
22
-9
-19
-9
1
-13
10
2
-15
4
9
-23
-30
27
7
17
-28
16
-7
31
-2
37
-3
-3
-4
10
18
0
0
0
0
0
-8
-12
4
7
-11
-11
-8
29
4
17
0
11
30
6
43
0
-4
16
32
23
0
-2
-9
2
0
0
-1
13
21
11
0
-1
-13
16
-7
0
0
2
-9
5
0
0
22
7
36
0
0
12
11
56
0
0
-4
33
2
0
0
1
11
7
51
2
37
28
28
-21
-5
41
29
15
-6
10
18
30
-15
-4
10
14
21
20
-9
-1
-35
12
-29
11
10
-8
13
26
30
6
16
-26
38
29
19
22
8
35
9
17
-1
-2
41
-49
47
-2
-39
-26
40
23
-25
-2
14
0
14
10
21
17
0
0
0
0
0
8
-2
-4
-14
10
-2
25
-8
-19
9
0
-3
40
20
-12
0
4
30
-3
35
0
-1
3
-7
30
0
-5
16
7
-11
0
52
-16
17
34
0
0
3
-50
-7
0
0
-33
20
80
0
0
16
21
-15
0
0
-34
23
-3
0
0
41
13
28
-50
16
-17
1
-27
-44
12
-3
-20
20
-8
-34
-30
58
-1
-40
-23
10
36
-36
-6
1
23
-1
24
-51
21
3
-20
-7
-1
0
-24
-19
1
-20
-7
-16
-14
-1
-5
-39
10
-21
-6
-9
15
-14
-14
8
-73
3
-7
8
38
-3
-48
-10
0
2
0
0
0
0
0
0
1
2
-1
0
-40
-10
-34
16
10
0
19
15
-44
19
0
-3
-2
25
-14
0
0
-3
0
10
0
-2
26
14
1
0
-14
4
7
1
0
0
2
-59
24
0
0
45
-29
-4
0
0
-5
-25
24
0
0
-42
15
0
0
0
-11
18
7
-1
-5
-3
-16
17
-23
41
-1
-13
-7
33
18
-19
-8
-25
16
16
18
-10
13
-10
18
6
-48
0
11
20
-24
-24
-5
-17
-57
-53
1
-22
-27
3
-70
41
2
-42
-16
-4
3
28
-20
9
-8
9
5
-9
0
5
18
-40
-81
-34
19
1
-2
0
0
0
0
0
-89
3
45
-35
-9
-2
-18
-23
1
-1
0
-15
32
-18
-18
0
-7
30
25
-39
0
11
7
20
-49
0
-46
27
-22
-51
0
2
19
16
-15
0
0
-11
-3
12
0
0
22
-5
-17
0
0
-28
42
2
0
0
-25
15
-19
0
0
50
7
-8
41
30
4
-35
-4
12
-2
-23
-5
-26
38
28
-21
-9
-28
22
19
-12
1
-23
-11
-42
13
32
36
-15
3
27
-5
10
-37
2
16
-21
1
31
-10
-17
-5
-32
-13
-2
12
13
20
5
-25
-32
-5
9
12
-2
4
-25
-4
-1
-27
14
-5
-42
0
0
0
0
0
-13
8
-21
17
8
-2
9
-1
2
15
0
-15
2
23
-15
0
0
-15
-24
11
0
16
22
6
-22
0
-25
-45
-2
2
0
-21
4
12
-10
0
0
26
-8
-25
0
0
21
22
-4
0
0
7
-6
-27
0
0
0
-24
-15
0
0
1
10
-16
33
-29
-14
-29
3
34
52
-15
-54
16
51
-20
-12
35
12
51
-12
-29
-4
-16
9
35
-27
42
-4
17
-4
-37
13
22
5
25
11
-25
-11
-27
33
-12
-28
-4
27
-13
-9
25
-40
-34
6
40
13
-13
-4
13
5
-26
-7
-16
6
22
-7
-29
0
0
0
0
0
14
-24
30
-7
0
13
1
-45
10
-25
0
6
34
3
-99
0
13
-15
22
6
0
31
35
-9
12
0
-21
28
-19
39
0
17
-21
21
-31
0
0
19
61
2
0
0
0
16
-39
0
0
22
-40
-55
0
0
-4
39
4
0
0
-27
-9
-25
9
52
4
-8
9
69
18
-32
-2
-21
-2
4
-6
17
12
39
-8
-16
22
-19
-9
10
0
0
0
13
36
-8
-40
-3
46
24
-6
-9
-14
-4
36
21
34
4
15
11
48
-7
-9
1
-8
-11
14
-2
25
-5
1
-3
-3
14
66
-10
-10
-10
0
0
0
0
0
21
21
-14
20
-6
0
-2
1
-7
-1
0
24
27
-50
22
0
5
10
16
-56
0
-61
-38
-16
21
0
-24
21
-28
-33
0
-3
0
-2
3
0
0
-17
-21
-5
0
0
-10
-27
-16
0
0
-8
0
-7
0
0
2
-12
-1
0
0
1
0
0
-12
1
-10
0
-43
14
-9
-20
5
16
-34
-6
-5
10
0
-16
-16
0
1
14
-40
21
11
-3
-7
30
11
15
-13
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-8
-18
2
54
24
0
25
-25
-1
0
0
0
0
0
0
-7
-31
-9
8
0
0
0
0
0
2
-13
-7
14
-18
0
-22
-2
-29
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
8
-55
0
0
19
-14
39
0
0
49
-10
-12
0
0
13
25
-15
0
0
-1
13
-22
0
0
1
-3
46
0
-29
-3
-53
-1
1
-24
-10
-11
5
16
69
-14
-24
29
52
22
-30
-79
20
22
-1
-7
-21
-19
20
-33
17
-1
-16
19
-10
-18
-15
-32
24
19
18
-18
-11
14
2
37
-2
15
40
-38
11
25
-24
10
16
2
-13
-2
6
5
-12
-21
-15
17
11
-8
12
-5
-11
-1
-11
-2
68
2
2
35
6
-35
0
15
-36
26
6
0
13
12
0
-9
0
-8
-12
-7
-15
0
0
-5
-16
43
0
-22
-3
49
8
0
0
7
56
9
0
0
26
32
-72
0
0
-5
-14
13
0
0
0
19
-38
0
0
-25
29
3
40
-12
-39
62
45
-29
23
41
44
14
1
-58
67
-8
2
99
16
-37
-45
-32
22
-22
-18
15
-6
-32
49
27
28
7
20
3
-19
19
-11
58
11
-5
28
10
27
4
-36
-24
-4
9
8
-1
-32
6
20
-20
-1
-23
19
10
25
-20
48
-7
-14
13
37
4
-9
-16
9
36
14
-37
16
2
-8
-10
27
0
3
-13
-20
24
0
-12
-5
-18
13
0
0
-16
-2
-30
0
-24
-8
-11
-20
0
-23
-19
18
11
0
0
-34
-2
8
0
0
-34
-2
-12
0
0
17
-20
-5
0
0
-25
-6
12
0
0
1
-1
-4
-16
-20
55
9
-4
-36
36
49
-22
-7
-78
-32
4
63
-17
-1
-6
21
18
48
-1
4
-11
48
-15
-19
-31
63
11
-1
-2
-18
5
0
-2
-7
3
0
1
0
1
-9
0
-1
0
19
-10
5
5
-10
20
35
-14
-7
-9
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
24
29
7
-2
10
0
30
-60
-9
7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
15
14
7
-17
0
0
0
1
12
0
0
-19
44
-3
0
0
13
10
-33
0
0
21
-45
-4
0
0
10
-12
11
7
-20
-21
39
-8
-36
-1
12
13
-30
-6
53
52
-3
-11
-7
28
-12
-9
-12
31
4
-1
-15
9
11
-35
-14
-1
25
-127
-109
3
59
31
-123
-52
43
31
7
-23
-7
18
-29
19
2
38
2
-22
6
-20
-5
3
0
22
-53
-83
36
20
47
0
0
0
0
0
4
-24
23
11
-27
-21
4
24
23
8
0
-57
37
-4
18
0
-8
18
28
50
0
-28
40
0
-7
0
-4
-19
9
16
0
29
-21
0
15
0
0
22
-4
-3
0
0
19
2
7
0
0
-17
-77
-52
0
0
25
-13
-2
0
0
-6
-33
-24
13
-6
59
-21
-6
65
-1
50
-74
10
8
28
8
25
-5
31
23
42
-1
-16
-1
18
47
17
-29
3
-16
12
8
58
-58
-16
3
32
-6
-26
-51
-4
13
39
0
-26
10
7
-21
54
-7
39
-17
-38
45
7
-9
-12
-2
-35
-1
1
18
45
0
0
0
0
0
-13
-3
-9
-17
7
-10
-33
23
-13
35
0
2
-3
0
12
0
-30
75
23
7
0
22
-2
-7
46
0
5
22
7
3
0
-17
-4
-27
10
0
0
12
-11
-12
0
0
-11
-33
5
0
0
-21
-42
-20
0
0
-23
-36
9
0
0
-20
-37
9
30
62
-3
-15
5
40
14
-18
-18
-14
-18
23
7
-26
7
-37
-10
34
17
-3
-10
-28
12
3
3
48
20
-12
22
-77
49
-7
11
66
-25
41
-9
-4
6
-20
11
13
-3
8
-17
-21
-7
8
12
-8
30
32
-49
-12
-9
38
13
-24
-18
2
0
0
0
0
0
-5
-20
34
27
-25
6
1
14
-7
-3
0
4
-27
40
-7
0
12
-31
12
-46
0
15
-5
45
-15
0
-12
-32
-27
4
0
10
-22
6
-4
0
0
-24
-11
-11
0
0
-28
-16
-9
0
0
25
24
-39
0
0
-3
-1
6
0
0
-4
3
-10
9
-64
-1
-1
3
-41
-11
36
10
-1
46
2
-2
0
0
4
6
0
0
0
0
0
0
0
0
12
12
-1
-3
7
118
17
30
-14
-19
67
61
-3
35
17
-20
22
26
3
-6
0
0
0
2
0
-31
21
-15
0
9
33
39
22
8
-14
0
0
0
0
0
-15
24
-59
3
-7
1
0
0
2
0
0
-11
-15
6
2
0
18
13
-72
-51
0
33
-5
-29
-28
0
-8
-10
-22
-3
0
0
0
0
0
0
0
21
0
1
0
0
8
0
8
0
0
-3
0
-3
0
0
1
0
0
0
0
0
0
0
-5
-9
-29
20
25
-30
9
-7
8
18
-2
-22
-3
8
-27
-56
9
0
-4
-8
-22
-10
24
-45
26
23
-1
34
-17
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-27
18
31
-10
-52
6
-46
23
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
16
6
2
0
-26
-33
19
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-2
-27
7
0
0
-30
37
12
0
0
-22
-13
-1
0
0
22
8
26
0
0
55
41
-11
0
0
-20
-9
25
-33
0
1
49
-18
37
24
8
2
-3
33
-12
13
14
-33
16
33
-38
28
-12
4
-4
-21
11
8
-11
-23
-30
74
-32
-10
0
42
20
27
-27
-22
37
-12
5
6
-9
-1
-33
28
3
5
-12
12
-10
-19
-9
9
19
-6
2
-3
24
-15
16
0
0
0
0
0
-21
43
35
-9
-44
23
-12
-2
21
-9
0
0
17
12
22
0
30
-27
17
-10
0
-7
-8
-6
-1
0
13
-13
47
22
0
12
15
18
18
0
0
-14
4
-4
0
0
14
-22
-1
0
0
3
3
20
0
0
-25
17
-5
0
0
-7
-13
3
5
15
49
-26
9
49
4
18
30
-17
44
6
10
-8
4
-25
2
-10
4
3
8
13
0
0
0
-13
18
43
11
-29
-45
41
43
39
-25
26
9
39
5
8
-20
28
1
6
-11
1
-2
-10
1
3
29
-37
-6
0
11
24
-3
72
-6
-3
0
0
0
0
0
1
18
26
8
-4
-2
0
1
-25
0
0
4
-26
25
6
0
18
-9
4
28
0
-22
37
14
-5
0
30
-8
4
-14
0
8
1
-3
7
0
0
-13
-8
-15
0
0
39
-16
17
0
0
15
-4
4
0
0
-1
-13
-1
0
0
0
0
0
-56
-18
36
-4
41
-28
-29
-51
57
33
-62
-8
-17
16
-15
-19
-17
33
-8
36
48
-25
-6
10
-3
-10
-20
-30
9
-6
0
14
7
0
-2
1
2
0
0
0
0
0
0
0
0
1
29
2
-2
8
12
-68
-13
-31
-19
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
-1
-9
1
5
-22
0
6
-8
-53
-27
0
-10
1
1
0
0
0
0
0
0
0
0
0
-4
0
0
-21
15
-22
1
0
0
-24
-29
31
0
0
-36
-61
-6
0
0
-19
-12
51
0
0
-6
-11
4
0
0
3
-7
-7
-11
-12
-10
10
-15
-62
-14
3
10
28
-62
-9
22
-25
39
-56
15
-5
-8
4
-47
27
9
23
6
8
-22
-3
-10
-24
-16
-27
-15
-22
26
-26
26
5
-2
0
-9
-32
0
14
11
34
-55
-37
12
2
-50
-21
-19
21
-14
13
-27
7
47
-2
0
0
0
0
0
0
8
-22
8
0
-33
7
9
48
-11
0
-9
19
-15
17
0
19
-32
24
49
0
10
18
-28
18
0
-20
15
25
7
0
-40
23
-9
17
0
0
-7
1
1
0
0
13
13
14
0
0
-41
-2
25
0
0
17
-28
-4
0
0
-2
0
-11
-34
2
10
15
-1
-22
2
8
32
-29
-4
-25
19
20
4
-66
51
-9
36
13
7
-46
-6
-9
13
-20
38
-31
-40
33
-4
58
1
-24
2
-28
36
-14
-30
21
-39
-19
10
6
-27
-73
47
-2
-20
-6
-86
-43
74
41
-33
35
-27
-3
-27
6
0
0
0
0
0
17
46
-17
-22
-44
-4
-17
24
3
2
0
-10
-28
-7
-4
0
-49
-26
-14
-8
0
-45
-50
34
-2
0
25
-7
-5
-19
0
24
-37
-28
22
0
0
23
-16
-32
0
0
-49
47
-7
0
0
-41
-29
-2
0
0
-16
-26
5
0
0
25
15
4
-15
51
23
-39
-7
-3
-24
1
-2
27
22
-20
48
-4
-5
-8
-17
26
-12
-12
10
3
0
-6
0
-87
7
8
22
-22
34
1
-44
-28
24
21
-33
8
35
1
15
27
-53
5
-36
0
0
-6
-16
0
66
0
-23
8
-23
-50
-10
-9
21
-12
0
0
0
0
0
13
36
-11
20
-3
0
0
0
0
0
0
62
32
-1
9
0
-10
-10
-26
-22
0
1
-12
-46
-10
0
28
14
-8
-18
0
0
3
-2
0
0
0
8
17
-30
0
0
-8
27
1
0
0
14
4
-1
0
0
3
-4
0
0
0
0
0
0
-16
-3
1
0
0
-7
12
13
-2
0
2
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
21
-8
-11
15
-3
-8
-20
26
1
11
20
34
9
-2
-25
-8
8
-16
-3
1
0
0
0
0
0
-10
2
0
-2
6
0
-4
-2
0
3
0
0
0
0
0
1
-3
-1
0
-1
0
0
0
0
0
0
-6
2
0
1
0
-24
-22
-29
3
0
-22
-8
46
0
0
0
-1
0
-1
0
0
0
0
0
0
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
14
40
-11
-9
10
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
35
-15
-34
-8
30
-4
2
0
0
0
0
23
-3
45
-7
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
-11
4
25
27
24
-25
0
0
0
0
0
29
3
-13
8
2
-2
-9
0
23
-16
-3
8
-4
1
-7
3
9
-9
13
5
15
7
-10
1
-3
13
-22
7
10
1
7
-14
0
0
-13
21
46
12
46
9
-4
0
0
0
0
21
-15
25
-9
-1
0
-3
0
27
3
-22
-13
-2
0
-6
-7
0
0
0
0
0
0
0
0
0
-4
-2
-7
-39
-20
8
0
-1
0
25
2
-17
5
10
9
-9
0
0
0
0
14
7
-5
7
-4
0
0
0
21
10
7
-34
14
5
2
-1
39
-14
-27
-11
-29
-36
-11
1
-1
-26
1
15
18
43
-3
-8
1
0
27
-2
16
-30
32
-4
1
0
0
0
0
3
0
-40
11
-3
-2
-2
0
-2
11
26
-15
-12
0
0
1
2
35
-14
-49
31
-2
-3
2
-1
13
-11
-18
-3
39
0
-7
1
0
3
-31
-25
-4
10
-1
0
0
0
0
0
-12
-17
-6
23
-5
3
-1
0
30
16
17
8
4
3
-1
-1
0
0
0
0
0
0
0
0
0
9
8
7
4
9
-1
-5
0
0
-13
41
-7
17
8
11
1
0
0
0
0
-27
1
7
-10
-13
0
3
0
10
12
7
10
20
0
0
0
6
32
10
9
-15
-3
-2
0
-3
31
-14
-4
5
-5
-10
-1
0
0
-2
-61
28
0
-24
-9
-6
0
0
0
0
-8
0
37
0
-3
2
-1
0
1
6
-32
36
17
4
0
0
-20
-34
22
3
-9
-32
-5
0
0
32
-4
-12
19
24
-9
-1
-1
0
29
13
-10
-12
-18
-4
1
0
0
0
0
0
1
-3
-35
9
-17
-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
-1
0
0
0
10
7
-7
-28
-6
-2
0
0
0
0
0
-4
-27
3
4
14
-93
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
-2
-9
0
0
-3
13
-20
-3
-5
-15
38
0
0
0
0
-1
-4
39
7
-5
3
-36
0
0
7
7
13
25
9
-116
22
0
1
-10
-6
4
63
4
-2
-31
2
-15
12
17
0
-2
-8
-15
0
-22
25
14
41
18
15
-45
0
0
0
0
13
-12
-5
10
-6
3
-55
0
0
0
0
-12
3
88
-103
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
8
-24
0
-11
1
1
-24
21
-1
-8
0
0
0
0
-15
-27
-6
-3
0
-8
-61
0
0
0
-1
-19
10
-8
-74
-2
0
0
-1
6
6
-39
-38
-25
17
0
4
1
3
-24
20
-36
2
0
4
43
0
35
15
-15
-15
0
0
0
0
-31
-11
15
-6
6
-1
-20
0
45
8
-11
-17
1
1
-14
4
11
4
12
8
27
25
2
-6
24
-22
20
20
25
52
14
-9
-5
0
-1
-9
9
42
12
13
5
0
0
0
0
-30
-12
-38
27
0
1
-28
0
0
-10
10
-2
-15
6
-13
1
0
0
0
0
0
0
0
0
0
0
-4
0
6
14
-38
30
11
0
-11
-4
30
10
29
4
-13
0
0
0
0
-11
-18
-28
0
7
-2
-23
0
0
4
-4
7
4
-13
-18
13
4
4
4
10
19
-10
13
3
8
-7
-16
-4
23
-34
2
16
3
0
-24
-32
10
33
-17
4
9
0
0
0
0
35
40
14
-7
4
-2
-18
0
-17
11
29
-13
-12
1
-6
3
-13
-6
-2
-23
40
-11
4
14
22
-14
13
15
-21
-4
-13
21
6
0
-28
11
31
22
20
-31
-2
0
0
0
0
-4
9
28
23
10
0
-1
0
13
4
-8
0
-68
-3
7
10
0
0
0
0
0
0
0
0
0
7
16
-16
-1
39
6
5
-12
0
18
7
-11
-6
14
-4
50
0
0
0
0
12
16
45
13
-2
-2
5
0
4
-3
-23
5
0
5
-12
0
-8
30
-4
-2
4
25
29
24
13
2
2
10
-15
-41
-1
33
2
0
27
-7
-27
9
28
40
27
0
0
0
0
0
-34
20
1
6
-1
-1
0
34
7
12
-30
-5
-16
1
8
-17
19
18
-9
25
11
19
12
7
-11
-26
-14
-5
-10
-2
23
11
0
7
14
-4
0
12
-13
2
0
0
0
0
0
-10
21
-8
22
-4
11
0
0
1
35
44
-4
28
-3
-3
0
0
0
0
0
0
0
0
0
10
3
-15
-43
12
32
18
-39
0
0
-1
0
0
1
9
23
0
0
0
0
0
3
-36
-5
3
-1
9
0
37
14
-1
-2
-10
-5
0
20
-3
0
29
1
19
3
-5
26
0
30
37
-26
32
31
3
14
4
0
1
8
-2
0
-12
-10
42
0
0
0
0
0
24
28
10
-4
3
5
0
-1
8
4
29
-25
-5
7
33
1
-10
-9
-4
-5
24
10
19
0
6
5
30
-42
-26
-26
1
36
0
-4
1
-2
0
-18
-3
42
0
0
0
0
22
6
0
19
-14
7
1
0
0
0
0
0
0
0
0
0
-14
15
13
-23
30
6
-3
0
-1
0
0
0
0
0
0
0
0
0
-17
-31
34
49
-17
-19
3
0
0
0
0
30
-2
17
21
-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
37
-29
25
-11
-9
-1
0
0
0
0
-14
10
30
25
-1
1
1
0
-8
5
-15
12
2
-12
-1
-1
-3
24
7
16
13
15
-2
-4
0
-20
18
45
39
-8
-3
-10
1
0
-3
16
-9
-2
27
8
-4
0
0
0
0
19
-38
7
14
13
7
8
0
-14
-1
-28
35
3
-2
0
1
16
6
-20
23
-9
-10
0
0
1
0
18
4
10
-19
12
2
0
0
6
26
56
27
-4
18
1
0
0
0
0
-8
21
-4
25
7
2
0
0
54
-8
34
-29
-13
6
0
0
9
-4
-8
3
29
13
1
0
0
25
-18
-19
0
32
3
11
0
0
-5
18
-10
-67
49
37
-2
0
0
0
0
-6
-15
31
-41
0
1
0
0
-21
-19
24
-15
1
0
1
3
2
16
-26
0
-37
10
3
0
-10
-7
66
-63
-19
-12
6
-2
0
0
-25
-2
-56
-15
5
9
0
0
0
0
0
-8
60
10
50
6
7
1
0
-16
15
3
7
26
2
0
3
19
18
35
11
-9
-8
-2
-1
0
3
-9
-25
35
28
1
1
4
0
12
-18
-12
-23
10
67
12
0
0
0
0
-13
-7
39
40
-4
1
-1
0
-85
1
-11
-2
3
-3
0
-2
-6
10
15
-5
-4
8
-1
0
0
-56
12
18
-4
22
12
0
-2
0
-8
9
-17
-16
22
17
5
0
0
0
0
-1
15
-47
-40
-25
3
-2
0
24
9
8
-4
1
2
-1
5
2
18
-29
-3
-21
14
-7
1
0
17
0
-32
-53
-5
23
11
0
0
25
0
-3
-35
1
10
-8
0
0
0
0
0
0
0
-34
-43
25
-138
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
-18
0
0
0
0
0
0
0
4
-28
-19
-70
0
0
0
0
0
0
-2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
7
9
-47
0
0
0
0
0
0
-1
3
16
17
-101
0
0
0
0
0
-8
20
-33
-104
0
0
0
0
8
3
36
-122
-52
0
0
0
-3
8
-9
-7
-28
0
0
1
1
0
-1
-25
-7
0
0
0
0
0
0
-4
-39
-14
-11
-33
0
0
0
0
-1
-24
-27
20
-10
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-37
-21
13
0
1
9
-4
6
-5
-12
-7
0
0
0
0
1
1
16
-81
-16
-16
-28
0
0
0
0
0
-11
-56
-10
-59
0
0
0
0
-11
-24
-21
-18
-37
0
0
0
4
-17
-22
-78
-43
0
-1
15
-17
32
8
-37
-20
0
0
0
0
0
-2
-21
-13
-11
3
-36
0
0
0
4
28
-5
7
-32
-19
1
-3
-4
9
27
-14
-23
-7
10
1
1
-12
25
3
30
-62
-14
0
0
-7
2
-7
-1
17
-16
0
0
0
0
-2
10
-12
23
17
-2
4
0
-3
0
6
-38
-36
4
-5
3
0
0
0
0
0
0
0
0
0
-13
22
36
11
-21
-43
-21
12
0
8
-17
17
-8
-1
-19
30
0
0
0
0
13
-1
6
33
-4
-1
-4
0
4
-3
-8
21
-45
-22
-4
5
-13
16
2
-58
-31
-9
-16
-11
2
6
24
15
-12
-47
-19
4
3
0
11
21
32
38
-43
-44
1
0
0
0
0
-1
0
-20
0
-8
1
-7
0
7
0
-19
10
4
-7
-1
7
0
0
-13
40
22
29
-6
-2
8
9
2
16
34
17
-48
28
-3
0
-6
38
18
-30
-21
10
6
0
0
0
0
0
2
23
41
-1
7
-2
0
4
-17
-8
6
21
12
5
-8
0
0
0
0
0
0
0
0
0
1
-8
-16
-22
-21
-3
30
10
0
-4
7
0
-10
-9
-26
36
0
0
0
0
0
3
11
24
16
3
9
0
13
-11
27
23
-6
4
4
3
13
-18
-2
52
25
9
10
3
3
-4
25
-14
1
-4
56
8
-3
0
-14
2
-6
-2
16
14
12
0
0
0
0
0
0
6
12
1
11
7
0
0
4
1
19
-1
0
2
0
0
6
39
32
-2
20
6
9
17
-7
-14
7
0
12
-16
42
41
0
0
-2
-4
12
16
22
26
0
0
0
0
0
0
-2
0
37
33
11
0
0
0
2
-24
30
21
15
15
0
0
0
0
0
0
0
0
0
-1
9
0
2
2
3
33
-21
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
4
28
-5
1
0
-1
2
-6
-1
47
-20
4
11
0
-27
38
-1
4
12
2
5
19
3
6
39
1
37
7
17
3
0
-2
0
0
0
6
1
0
0
0
0
0
0
0
0
2
27
19
2
0
0
-1
0
0
-20
18
13
24
0
3
-3
0
0
-35
35
12
49
0
2
0
2
1
-26
35
6
0
0
0
4
0
0
-2
-1
0
0
0
0
-4
-2
-2
22
-22
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
-4
47
-2
-24
3
-60
-15
0
0
0
0
-9
4
11
17
19
-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
3
-12
35
-6
37
3
3
0
0
0
0
20
13
8
25
-3
1
-52
0
10
8
-21
-2
21
-9
-13
-9
-28
-7
21
-17
-36
1
-15
31
-6
-2
-10
1
4
17
38
-31
6
0
11
-6
9
30
21
-31
-22
0
0
0
0
7
2
21
-53
8
0
-47
0
0
0
0
15
-47
18
28
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
0
2
-35
50
0
1
3
-6
18
20
8
-3
0
0
0
0
18
9
54
47
6
3
14
0
13
12
-8
31
-1
2
-3
76
1
-2
7
-14
5
-15
-20
10
46
0
-3
-12
-18
9
35
5
2
0
0
7
5
-24
-39
-51
47
0
0
0
0
-1
20
-24
6
-11
11
11
0
3
-13
-5
17
2
-43
-1
39
0
3
-1
80
-7
-51
-15
59
-9
0
0
4
-40
7
-74
-12
35
0
0
14
2
-11
-8
-20
56
0
0
0
0
0
0
12
38
12
-6
37
0
0
0
0
2
-32
2
177
0
0
0
0
0
0
0
0
0
0
1
-8
1
7
18
5
46
-25
0
-2
0
1
0
-1
11
-12
0
0
0
0
1
0
-2
-5
30
14
30
0
36
17
25
24
-5
-11
-5
76
18
35
-10
12
-17
-14
-3
39
16
-1
0
-5
4
-3
-5
75
-23
0
0
0
1
13
-6
-27
-27
0
0
0
0
1
0
-10
17
29
0
6
0
6
3
16
-3
-22
37
-10
112
1
1
16
-6
16
16
-33
109
21
0
7
4
26
-6
18
49
-49
0
0
0
-1
0
-2
-2
1
0
0
0
0
0
0
0
-2
-11
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
1
0
2
0
0
-4
2
0
0
0
0
0
0
-11
-6
19
7
-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
2
3
-10
50
2
0
0
0
0
0
4
-31
9
-4
7
-8
0
0
2
25
-11
17
-19
-32
14
0
0
3
9
1
-1
-35
-29
18
0
-4
3
10
-1
12
-2
-60
0
1
0
-7
0
3
25
-25
0
0
0
0
0
-3
-15
1
-3
-10
20
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
-6
-8
-9
25
-48
-15
20
0
0
0
0
0
-8
-7
-16
-2
1
-1
0
0
0
0
-12
-6
4
-19
0
0
0
0
0
0
-4
1
-21
-10
0
0
0
0
0
-1
10
-3
0
10
-11
26
-19
-18
-7
-1
0
0
0
0
16
-12
11
-6
-6
2
31
0
0
-2
3
-5
42
-13
3
0
2
9
-6
-19
-11
8
6
19
-16
2
19
22
-4
-35
-6
23
-26
0
-21
14
18
-10
-15
-28
-16
0
0
0
0
-6
-18
-9
-52
13
-12
27
0
0
0
0
-4
8
-5
1
12
0
0
0
0
0
0
0
0
0
0
3
6
3
-1
10
-27
-48
0
6
-6
11
-10
6
11
-5
0
0
0
0
-1
-10
3
-2
-18
-3
29
0
1
0
-1
12
15
6
-28
-74
1
0
3
2
24
1
38
-75
49
-1
-4
8
4
7
-1
-12
-14
0
3
6
-3
-2
-15
24
-32
0
0
0
0
15
-21
26
28
-3
6
3
0
3
-8
-10
12
-16
-20
19
26
0
-13
3
-16
-3
-65
22
10
-14
0
15
13
12
4
8
-12
-27
0
36
-26
-10
-13
-11
-10
25
0
0
0
0
0
0
-4
-68
1
23
-15
0
0
0
0
-2
-2
-20
22
-4
0
0
0
0
0
0
0
0
0
0
-1
0
4
-11
-16
24
26
0
0
-1
0
0
0
-3
1
0
0
0
0
0
0
-24
5
14
17
35
0
0
0
17
26
-2
-35
-6
19
0
0
0
0
19
-27
30
-30
1
0
12
4
0
0
-25
-19
-25
0
0
-2
0
2
3
-4
-10
0
0
0
0
0
4
21
4
-9
-12
13
0
0
-1
10
29
0
-4
-14
35
0
2
0
9
25
-8
7
55
-73
-4
-2
0
-7
3
16
1
-50
0
0
-2
-3
0
0
10
9
0
0
0
0
0
0
0
-1
39
-24
32
0
0
0
0
0
1
37
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-8
-21
25
0
0
0
0
6
-1
48
-12
40
0
0
0
-2
-16
-16
-23
49
0
0
1
-1
0
-6
-4
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-15
7
0
0
0
0
0
-9
54
-4
-24
0
0
0
0
0
0
-18
49
0
0
1
0
0
0
-2
-13
0
0
0
0
0
0
1
-3
0
0
0
0
0
-33
18
0
-7
-2
7
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
5
-1
0
-5
-7
1
0
0
0
0
-2
0
3
-10
-8
-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
-23
0
4
-3
-5
2
-4
0
0
0
0
16
3
2
-10
-5
4
-2
0
-9
-2
-15
26
-5
7
1
-8
-9
12
-2
-8
-6
12
5
-6
-3
-38
32
-5
18
5
7
-4
2
0
-22
-26
11
6
-5
1
-1
0
0
0
0
26
18
30
7
4
0
2
0
14
9
2
10
7
-1
3
-12
0
0
0
0
0
0
0
0
0
-23
-2
17
-2
17
-7
-3
1
0
20
24
1
13
-14
-1
-6
0
0
0
0
5
0
8
13
1
0
4
0
33
22
15
21
20
16
-1
-16
-15
5
-17
-10
-17
12
7
-4
-3
-98
-16
-5
9
22
-1
-7
0
0
-3
-13
-16
3
22
3
-3
0
0
0
0
-2
17
1
-1
-1
0
-1
0
-8
12
20
-9
-2
0
3
0
17
9
-12
-7
9
6
7
2
-1
16
14
3
-14
3
8
-1
0
0
-19
-7
-13
3
-8
-3
1
0
0
0
0
17
24
38
15
-1
0
1
0
6
7
22
23
22
10
1
-1
0
0
0
0
0
0
0
0
0
44
29
-6
2
-3
-2
-2
1
0
-19
-22
10
10
16
7
-7
0
0
0
0
19
36
45
11
4
2
7
0
5
28
29
4
22
4
0
0
28
22
24
12
-6
12
1
0
3
15
37
24
16
17
14
0
1
0
51
16
21
2
6
-6
-8
0
0
0
0
8
22
11
5
-2
-1
0
0
24
7
30
6
7
-3
0
4
22
5
-6
5
-20
-4
-1
2
1
42
12
14
7
-18
-12
-7
-1
0
24
31
-2
2
7
-4
-10
0
0
0
0
-4
-52
-6
2
2
43
-23
0
0
0
-53
-38
-52
19
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
0
7
0
0
-40
3
10
-24
12
7
-6
0
0
0
0
-25
-71
-31
0
12
19
-35
0
0
-7
-65
-49
-14
24
-33
-16
0
0
-6
-22
11
-27
-71
68
1
-7
-1
24
12
-44
-40
9
-33
0
-88
3
-3
11
6
7
-4
0
0
0
0
-77
-30
-1
-19
-2
15
13
0
-74
-71
-13
6
10
1
4
17
-76
-62
-6
23
5
17
8
15
3
-70
-28
18
16
8
12
7
-1
0
-50
27
-9
17
10
1
2
0
0
0
0
4
-68
-27
-10
1
11
-44
0
0
9
-79
-60
-15
24
-52
-4
0
0
0
0
0
0
0
0
0
-1
-24
24
-15
-35
12
-20
19
0
-44
12
35
21
15
-7
-2
0
0
0
0
-68
-33
-34
-18
5
3
-26
0
-12
-25
-32
-36
-5
-4
-28
7
-50
-31
16
-38
2
-17
-27
30
2
-57
-23
-3
-9
-27
-19
-27
4
0
7
9
-1
-15
16
5
2
0
0
0
0
14
-17
5
-7
-1
0
2
0
-40
-20
-7
-6
5
13
4
-3
-19
23
-4
4
7
1
8
-7
-2
-39
34
18
7
14
15
5
4
0
-10
3
27
11
15
-2
7
0
0
0
0
-37
1
-26
0
3
5
-27
0
-98
-67
-70
-33
-20
-4
-29
-7
0
0
0
0
0
0
0
0
0
-73
-5
-6
7
4
-22
-8
-1
0
8
31
-27
-26
17
15
-5
0
0
0
0
-19
-36
-13
-7
-11
0
-8
0
-67
-41
-19
-31
-13
-22
-35
-11
-79
-16
-36
-24
3
-27
-7
-5
2
-53
-48
-34
-9
2
7
-8
-6
0
-25
3
1
5
22
-12
3
0
0
0
0
38
18
2
-3
-2
5
0
0
35
21
-9
2
1
5
5
5
-2
-6
23
-22
6
4
0
5
9
31
13
8
-23
2
-3
1
9
0
18
58
18
1
-4
3
2
0
0
0
0
-1
8
13
11
-1
6
1
0
48
-11
-30
-10
-27
-13
-2
5
0
0
0
0
0
0
0
0
0
14
36
-17
-20
-7
5
12
-2
0
-2
49
-19
-26
33
5
13
0
0
0
0
6
16
21
-24
-4
5
12
0
-25
-42
-22
-17
-7
-1
-8
2
-12
-16
14
-15
7
-15
-3
13
-1
16
27
-15
-17
-8
-5
10
3
0
33
45
-22
-38
-12
6
-1
0
0
0
0
8
-18
-8
1
1
1
5
0
51
52
18
-29
-3
-3
11
12
-26
10
12
-22
26
6
7
21
11
-34
14
4
-13
6
-6
13
20
0
70
65
-38
-1
-12
2
7
0
0
0
0
7
-6
67
0
-4
-3
26
0
16
-31
67
11
-13
-9
11
-3
0
0
0
0
0
0
0
0
0
-3
4
-38
8
7
19
19
16
0
-1
-3
-1
-4
1
34
27
0
0
0
0
-3
-13
26
-33
-27
-2
14
0
-39
-16
-19
-33
-8
-9
10
12
-15
63
41
-9
13
3
6
22
13
92
11
-22
-35
-34
0
6
13
0
9
66
24
-14
-59
9
-19
0
0
0
0
1
44
34
-3
-9
-4
3
0
2
-46
21
-64
-4
-6
20
39
0
38
52
-21
-10
-31
2
22
28
26
46
26
-28
-14
-33
6
31
0
0
1
-21
-28
-25
57
33
0
0
0
0
13
-16
4
12
5
2
-4
0
0
0
0
0
0
0
0
0
21
15
7
7
10
-2
-7
-2
-2
0
0
0
0
0
0
0
0
0
49
-24
19
28
-8
6
1
0
0
0
0
24
16
22
14
0
0
-7
0
0
0
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
-12
-23
-3
-12
0
0
0
0
0
3
31
14
-13
-6
-3
2
0
-18
-30
35
4
-10
-10
-6
-3
-15
52
2
16
8
-9
-8
-5
1
6
-24
-10
3
9
0
1
0
0
13
32
10
7
6
-6
-3
0
0
0
0
1
33
50
4
8
7
10
0
16
8
-21
25
14
1
-2
2
17
23
1
3
6
5
0
0
1
70
38
-5
13
16
10
3
0
0
20
10
18
31
-10
0
-6
0
0
0
0
28
52
58
2
3
3
7
0
21
33
8
4
6
0
3
1
44
41
20
10
9
8
-4
2
0
66
35
-2
5
-4
10
-2
0
0
17
0
-2
-13
-6
-8
2
0
0
0
0
36
10
20
-7
-3
0
4
0
46
-12
-4
4
11
-3
2
6
8
55
26
11
-32
6
-4
4
0
24
26
33
5
7
-3
3
0
0
-31
22
30
-14
2
2
-10
0
0
0
0
-3
38
31
36
-8
7
11
0
14
15
21
-3
11
0
2
8
7
25
4
1
-3
8
0
0
-1
36
12
25
29
-4
12
10
0
0
35
-13
5
11
-13
-2
-40
0
0
0
0
-39
59
31
20
-4
1
10
0
-10
0
5
7
-5
-1
0
10
8
11
10
15
-4
14
0
2
6
39
35
0
37
12
18
0
3
0
32
29
18
-11
-5
6
-6
0
0
0
0
13
-18
48
-27
-8
-2
-2
0
48
14
-11
26
14
-8
1
8
23
17
34
1
-13
12
0
8
17
97
61
2
-12
5
-1
2
6
0
42
22
-12
-4
4
19
-32
0
0
0
0
0
0
-12
-61
-24
24
-126
0
0
0
0
0
-7
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
3
17
-25
-60
39
-48
0
0
0
0
0
-2
-22
-57
5
13
-44
0
0
0
2
1
-53
-41
-97
-44
0
0
0
0
1
-2
-42
-41
-1
0
0
1
-1
2
-1
-8
2
0
0
0
-18
-37
33
18
-8
0
0
0
0
0
15
-67
22
-23
-6
7
0
0
1
-2
-12
23
-13
9
-34
0
-1
1
-16
6
16
-2
-87
-31
0
-1
-26
-44
34
3
13
-2
0
-1
-14
6
-24
-10
11
4
0
0
0
0
21
-4
-34
-9
-6
-2
-36
0
0
3
33
-79
-63
-16
-16
-7
0
0
0
0
0
0
0
0
0
0
0
25
-9
-22
-71
-73
-36
0
-22
30
10
2
-13
-16
-8
0
0
0
0
-7
-17
-14
-13
-15
-5
-28
0
0
0
-26
-21
-48
-11
-52
-4
0
-8
3
-27
26
3
-23
-85
-31
1
-3
7
12
13
-33
-80
-40
0
-83
-41
-42
-8
30
-2
-3
0
0
0
0
-13
-4
-35
18
-3
0
-6
0
20
22
-63
30
7
1
-8
-14
-21
-27
-31
0
40
27
-7
-16
-5
-84
-4
-11
56
30
13
-11
-25
0
-51
-21
9
-10
-8
-4
-16
0
0
0
0
16
34
17
-25
-3
8
10
0
22
-22
-34
-26
-23
1
-10
15
0
0
0
0
0
0
0
0
0
-149
-34
5
17
-9
-9
-23
10
0
51
-8
34
-10
1
-4
-4
0
0
0
0
43
28
-58
-1
-7
2
5
0
22
-18
11
51
1
-12
-39
-7
-20
8
-61
-29
-9
2
-31
-20
-11
-16
-16
-4
-47
-8
-13
-18
-10
0
84
42
16
19
-28
21
-15
0
0
0
0
-12
-38
-15
21
0
7
2
0
-6
-50
24
24
25
13
1
7
17
-27
-5
33
17
6
2
6
2
29
31
56
18
-8
-6
-1
-4
0
21
19
-10
5
-7
10
4
0
0
0
0
0
52
15
-3
-2
-4
19
0
13
27
19
38
14
24
17
25
0
0
0
0
0
0
0
0
0
88
21
0
-48
27
-3
33
2
0
7
-10
-30
-9
-3
58
4
0
0
0
0
3
73
45
-24
-12
9
25
0
5
-18
27
-6
8
8
8
15
72
17
-4
11
0
9
5
20
13
27
-5
11
-16
15
17
9
6
0
-13
28
15
10
-6
20
-16
0
0
0
0
0
2
32
3
-15
25
16
0
2
23
0
4
2
0
12
41
1
57
-17
25
28
-9
5
22
30
41
34
-12
-16
-23
0
21
29
0
11
-24
8
-2
7
22
28
0
0
0
0
0
1
1
-16
43
22
45
0
0
46
42
22
11
35
30
26
0
0
0
0
0
0
0
0
0
62
-1
20
-52
11
19
-1
-11
0
0
0
0
0
-19
28
9
0
0
0
0
0
1
-26
24
-34
22
39
0
0
13
25
25
11
9
9
28
3
-4
59
21
16
-25
4
22
23
25
41
18
-14
19
4
3
20
0
-5
1
0
0
-19
-23
38
0
0
0
0
0
-1
15
-3
9
36
8
0
0
3
-16
-3
46
3
25
43
0
13
1
0
-3
-39
-9
56
29
2
5
0
0
-16
-18
8
32
0
0
0
3
0
-4
21
-11
0
0
0
0
-53
-66
-24
3
6
3
-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
8
20
4
-21
14
-24
-9
0
0
0
0
0
-18
33
14
18
-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
24
-19
5
-10
-1
-11
-16
0
0
0
0
23
-2
-23
17
0
-6
-9
0
21
-7
-11
-2
21
-9
-13
-22
-29
7
-15
2
26
19
-2
-13
-28
35
19
3
5
23
8
-12
-4
0
-1
-8
0
14
2
-1
-7
0
0
0
0
24
-10
48
9
-5
0
-54
0
-5
0
-6
2
1
-5
33
-1
0
0
0
0
0
0
0
0
0
-19
3
-20
7
44
-21
-7
11
0
-15
3
-6
58
10
-16
-10
0
0
0
0
28
1
15
21
22
-3
-55
0
14
5
1
3
14
-3
-38
-22
-2
-42
-1
24
25
1
12
-9
-54
-5
-13
-6
-2
10
19
12
-9
0
-14
36
29
-7
-41
-49
-18
0
0
0
0
23
19
27
21
11
-2
-13
0
28
0
0
-11
23
1
-29
20
12
25
15
11
30
4
-4
6
0
-4
28
-5
-2
4
11
7
2
0
58
21
-18
29
-54
-32
-12
0
0
0
0
24
67
51
-8
9
8
-57
0
17
2
-3
32
-20
-20
56
0
0
0
0
0
0
0
0
0
0
24
10
11
25
6
-21
25
-97
0
-8
26
-4
2
0
42
-47
0
0
0
0
57
30
7
46
7
-1
-64
0
70
56
57
-8
6
13
-28
-21
28
118
-27
-2
-27
-26
0
-30
61
-2
19
0
18
-18
-1
36
-59
0
16
25
10
51
-11
-46
-47
0
0
0
0
53
20
-18
51
-8
-2
-44
0
-3
5
13
22
-1
15
-18
-19
4
3
-18
-1
13
-38
42
25
41
1
4
-11
64
-3
-9
4
-4
0
-1
-2
0
28
50
-43
-10
0
0
0
0
0
-10
-3
16
41
-4
-118
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
-11
-6
-57
-29
38
23
6
0
0
0
0
-3
-16
5
-2
27
-63
-64
0
0
0
-38
49
21
0
-10
0
0
0
2
0
3
1
0
1
0
0
-9
0
0
0
0
3
0
0
-82
14
31
4
14
28
-12
0
0
0
0
-16
-10
-8
3
0
19
14
0
-29
36
6
5
21
15
0
-12
0
-43
-4
-4
16
22
8
-38
-3
-4
-11
29
35
67
-22
-31
-48
0
-37
10
7
-9
40
-18
3
0
0
0
0
-26
-51
-44
0
0
-19
-23
0
0
0
-19
45
6
13
-18
7
0
0
0
0
0
0
0
0
0
0
3
-3
7
-51
12
20
-24
0
-26
30
17
-5
-63
-25
-6
0
0
0
0
-12
-54
8
5
16
-19
-40
0
0
-8
-8
8
-6
-19
-21
-43
0
2
-1
34
-22
-7
11
-32
15
-1
1
10
6
9
15
-23
-83
0
-2
-6
-3
7
-42
-5
-9
0
0
0
0
-9
-24
11
3
4
-6
-8
0
-69
9
-27
10
13
-2
-2
0
40
-2
-32
2
-2
-25
-9
4
1
-62
-1
21
2
-24
26
-9
4
0
-11
23
-8
34
27
-15
-19
0
0
0
0
-4
-69
3
-33
-11
-7
-32
0
0
0
42
-8
5
-18
-11
-20
0
0
0
0
0
0
0
0
0
4
7
51
5
37
-24
-8
-43
0
8
-29
-5
-52
41
-21
-26
0
0
0
0
-19
-43
11
5
-2
-18
-23
0
-5
3
-3
-1
36
-23
-30
8
10
-22
-11
-3
33
-20
-17
-2
8
-7
26
22
-44
26
-24
-23
-7
0
-2
-12
15
23
13
-17
-26
0
0
0
0
-41
-59
48
1
0
-10
-13
0
7
61
-24
-8
-8
-24
-14
13
-3
39
-5
-35
14
-32
-1
20
18
-36
16
16
10
-15
14
-6
-8
0
46
14
21
-58
-15
5
-23
0
0
0
0
1
-31
3
-3
13
-15
-10
0
0
0
-14
6
12
-9
19
-9
0
0
0
0
0
0
0
0
0
-2
-23
-20
34
-48
17
27
47
0
-2
3
0
1
0
-48
2
0
0
0
0
2
-33
21
-23
-5
-15
-17
0
22
56
20
-4
14
-20
-32
-14
19
-47
30
-10
52
-1
-4
-23
33
-3
11
13
-14
-39
-29
-9
13
0
-13
1
-21
-18
24
-56
89
0
0
0
0
-18
5
32
34
-13
-1
-24
0
26
-46
12
-14
6
-25
-11
55
0
-40
-53
21
73
-84
-6
-5
-42
-5
-11
4
-23
20
3
-10
26
0
1
-18
-2
13
-13
0
4
0
0
0
0
0
-2
-6
-11
52
-58
-8
0
0
0
-1
4
5
-20
-51
0
0
0
0
0
0
0
0
0
0
0
-3
-3
7
-32
-5
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-23
-29
45
10
0
0
0
-25
8
8
-29
3
33
-4
-3
-5
15
-7
-5
2
36
2
0
22
19
5
-45
-26
75
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
8
17
-5
1
0
0
0
3
0
-49
-45
-27
102
0
-7
0
0
8
-1
9
34
-1
0
1
0
0
0
-7
-11
0
0
0
0
0
0
0
-9
0
0
0
0
0
-7
-22
-10
-2
4
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
-49
-3
10
21
5
-1
1
0
0
0
0
9
-13
0
-12
-5
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
-19
-13
27
7
10
-2
-4
0
0
0
0
-5
-7
-2
-8
0
2
-1
0
-18
-27
2
-8
3
3
2
-4
-34
1
-14
0
4
13
0
-5
-3
-44
50
8
14
13
10
-3
3
0
-27
20
20
11
-3
-10
-2
0
0
0
0
6
29
12
21
10
3
-2
0
-13
5
-4
1
-8
5
1
-13
0
0
0
0
0
0
0
0
0
-30
8
9
-4
11
-9
-7
2
0
-1
32
21
1
2
-3
-4
0
0
0
0
-9
14
27
16
1
1
0
0
26
30
8
-1
18
13
1
-27
-30
2
3
-7
4
14
4
-1
-4
-84
-1
-3
23
22
5
-8
0
0
8
0
-24
-9
5
0
-6
0
0
0
0
20
35
28
4
0
-2
-4
0
11
-11
23
-16
-6
-3
-1
-1
-3
-15
15
-11
-1
10
2
-1
0
33
16
16
-25
-2
1
-1
3
0
-39
2
-8
-6
-1
-2
-2
0
0
0
0
23
46
36
8
6
1
8
0
12
31
15
25
19
13
6
1
0
0
0
0
0
0
0
0
0
19
17
8
2
6
-3
-1
2
0
-10
4
-12
19
-5
-7
-1
0
0
0
0
67
28
7
10
1
3
4
0
22
44
11
4
16
8
5
4
17
20
3
-9
-1
4
2
1
-1
18
52
5
17
15
11
-2
1
0
8
55
-22
0
15
-8
-7
0
0
0
0
21
28
25
-21
-7
-5
0
0
30
25
22
-11
-9
-2
-2
10
2
34
13
2
-11
-10
5
-1
-1
27
13
31
-7
-27
-6
-6
1
0
29
24
4
-8
-17
7
-3
0
0
0
0
-7
-68
-12
-11
-9
50
-26
0
0
0
-57
-41
-45
34
3
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
2
4
0
0
-33
-10
0
-3
-25
15
3
0
0
0
0
-46
-41
-26
-17
0
31
-3
0
0
-10
-82
-37
-4
38
-3
5
0
0
-4
-26
11
-23
-80
66
3
-7
0
27
15
-39
-25
-8
-29
0
-101
6
-19
20
4
4
3
0
0
0
0
-78
-50
-15
-10
-5
23
15
0
-105
-74
-18
9
13
7
7
-4
-75
-37
-32
27
25
16
3
1
6
-89
-12
15
-17
20
17
-15
-8
0
-20
17
-10
-12
10
-14
-4
0
0
0
0
-15
-32
-27
-14
-13
-6
-44
0
0
4
-74
-40
-26
-19
-53
5
0
0
0
0
0
0
0
0
0
-1
-31
23
-29
-42
23
-8
5
0
-64
26
7
15
2
1
-2
0
0
0
0
-42
-17
-11
-22
-9
6
-9
0
-15
-56
-15
-20
-7
-31
-9
-7
-64
-42
-4
-44
11
-15
-17
7
13
-60
-48
2
-35
-36
-26
-12
3
0
-7
5
-2
-4
7
-5
1
0
0
0
0
36
-11
-7
-8
1
5
-4
0
-39
1
1
20
8
-1
5
-3
-35
-2
-20
16
14
-6
-3
-2
-3
-32
21
-17
38
-6
11
5
0
0
-31
24
31
7
-4
2
5
0
0
0
0
-2
-17
-17
-2
-1
1
-17
0
-127
-68
-38
-17
-19
-14
-56
-10
0
0
0
0
0
0
0
0
0
-70
1
-29
2
7
-9
6
-3
0
9
39
-22
-26
0
3
3
0
0
0
0
-5
-9
-14
-9
-10
5
-16
0
-77
-46
-9
-20
-28
-22
-36
-18
-78
-46
-37
-8
4
-28
-17
-15
-4
-74
-42
-10
-6
-16
-15
-1
-9
0
27
-19
-6
-11
8
-8
6
0
0
0
0
-12
-22
4
2
4
-1
12
0
59
23
-2
-8
-2
-4
5
-1
41
-4
15
13
1
-9
-3
-1
5
29
6
-6
-3
-14
-5
5
4
0
35
30
14
-2
-11
-2
-5
0
0
0
0
-10
5
-2
-4
0
9
4
0
22
-12
-10
-13
-6
-9
-11
-12
0
0
0
0
0
0
0
0
0
32
10
-16
-31
-9
-6
14
-3
0
2
30
-17
-45
28
8
13
0
0
0
0
11
-16
0
-3
-2
7
4
0
-20
-26
-22
-28
2
-6
-12
-5
-52
14
-31
-13
0
-7
-3
-1
0
29
10
-21
-8
4
9
6
-4
0
15
27
7
-9
-12
-10
-8
0
0
0
0
-13
-2
-22
2
-8
2
8
0
37
15
-28
-15
-6
-8
4
-7
-45
-24
34
-24
-18
-30
21
6
26
-8
-10
-5
-43
1
-1
-1
28
0
100
57
-47
3
3
-9
-5
0
0
0
0
7
-8
53
-15
-10
7
14
0
13
-39
46
-2
-21
-9
5
1
0
0
0
0
0
0
0
0
0
16
5
-37
0
9
1
9
33
0
-2
-1
2
-3
-10
17
26
0
0
0
0
-3
-1
40
-68
-13
-13
12
0
-41
-33
-5
-13
-6
-16
4
12
-10
46
16
11
-20
-12
9
16
22
89
9
33
-28
-17
2
-4
-1
0
15
59
22
-19
-24
-3
-29
0
0
0
0
1
14
30
19
-8
-38
3
0
-2
-41
37
-53
-14
-7
5
9
-2
25
23
-12
-25
-20
-17
19
6
27
26
43
-13
2
-44
5
22
0
-1
7
-9
-35
-10
31
9
0
0
0
0
9
-17
11
-18
-6
6
-4
0
0
0
0
0
0
0
0
0
5
-5
-26
-9
-3
-9
-11
-4
1
0
0
0
0
0
0
0
0
0
100
3
4
13
-17
3
-3
0
0
0
0
-7
1
-5
6
3
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
7
9
-11
-8
-4
-2
0
0
0
0
29
31
-7
-1
-1
3
0
0
20
27
20
-22
0
-4
-7
1
-14
84
-9
19
-5
1
-6
-14
-2
-6
-9
-6
-17
23
11
-12
-1
0
-8
20
-32
-7
1
-2
-5
0
0
0
0
-9
30
41
2
-3
3
2
0
26
14
-6
-4
11
-1
-2
-1
0
6
24
12
10
9
-1
2
1
88
10
10
16
15
5
-1
1
0
40
5
13
14
-6
3
-11
0
0
0
0
29
36
23
-16
6
1
-3
0
-2
10
14
33
-5
5
6
1
30
33
17
26
-16
3
-11
2
5
44
78
7
17
-11
2
-5
0
0
39
7
-17
-15
-18
3
-2
0
0
0
0
35
29
21
25
1
-4
-2
0
69
13
9
-2
-11
-2
-7
0
48
42
32
33
20
12
-15
-9
7
19
18
41
12
-10
-2
-5
-1
0
7
4
25
3
-8
6
-18
0
0
0
0
12
21
45
18
1
-1
-1
0
36
5
7
15
11
-1
0
16
35
27
11
21
2
5
0
0
3
44
49
7
23
6
11
6
2
0
30
-22
16
19
-7
-28
-43
0
0
0
0
-16
72
46
-9
7
-7
5
0
7
9
13
-8
-7
-6
-2
12
33
23
57
20
-8
4
-3
-2
6
62
61
20
-10
3
-7
4
7
0
55
41
5
15
-20
-8
6
0
0
0
0
18
-12
25
-5
-6
-18
1
0
-13
9
-28
57
33
-6
-6
-14
30
3
65
-28
-23
-15
-7
-3
8
130
21
13
13
11
-14
-9
6
0
23
41
-14
-22
19
10
-32
0
0
0
0
0
0
-15
-42
-12
21
-52
0
0
0
0
0
-6
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
3
18
-24
-31
45
-4
0
0
0
0
0
-4
-31
-62
4
36
-22
0
0
0
2
1
-53
-27
-87
-38
0
0
0
0
1
7
-34
-39
-1
0
0
1
-1
-13
-8
-3
2
0
0
0
-12
-37
20
14
9
0
0
0
0
0
24
-73
-14
-10
12
28
0
0
1
-2
-14
13
-10
1
4
0
-1
3
-22
3
8
27
-47
-22
0
0
-25
-33
21
38
6
4
0
0
-12
5
-12
4
20
1
0
0
0
0
19
-2
-54
14
-3
3
-8
0
0
3
42
-101
-46
23
-40
6
0
0
0
0
0
0
0
0
0
0
0
20
2
-43
-39
-71
-30
0
-27
12
-11
0
0
12
-6
0
0
0
0
-7
-13
-22
20
-16
11
-8
0
0
0
-26
-52
20
3
-38
-17
0
-8
0
-36
37
-21
-21
-61
-36
0
-10
10
4
28
-22
-65
-16
0
-83
-60
-49
19
22
2
12
0
0
0
0
-18
-31
-19
17
-7
10
-4
0
18
27
-32
29
28
4
-9
11
-19
-28
-34
-10
4
1
18
-21
2
-86
14
-15
33
19
10
13
-9
0
-46
-28
10
-16
-21
19
-7
0
0
0
0
17
15
45
-1
9
4
-7
0
23
-18
-26
-6
-8
10
-21
-17
0
0
0
0
0
0
0
0
0
-174
-39
-17
10
6
-10
-19
0
0
45
22
45
-19
6
-10
-13
0
0
0
0
36
22
-24
-21
-8
11
-2
0
20
-17
14
16
6
9
-40
-21
20
-29
-72
-44
-2
3
-19
-42
-14
-30
-43
-11
-11
11
15
-26
-20
0
65
34
-23
-4
24
0
-4
0
0
0
0
-8
-37
-10
34
7
2
3
0
11
-29
54
31
4
2
6
12
22
-7
-12
9
11
0
4
11
0
6
45
21
5
-12
-5
3
4
0
1
9
9
18
2
15
-19
0
0
0
0
0
50
14
6
-1
12
5
0
6
6
-4
34
20
28
25
22
0
0
0
0
0
0
0
0
0
112
42
29
-41
21
1
-2
-6
0
6
-7
-33
-2
3
41
-10
0
0
0
0
2
47
27
-36
6
10
12
0
-10
-6
20
-3
7
13
4
14
73
80
10
3
12
5
2
17
7
21
-17
-3
-8
-11
7
5
21
0
1
26
16
-16
-1
6
-4
0
0
0
0
0
2
14
4
10
14
4
0
1
11
-17
-42
1
3
12
15
1
30
-11
16
-6
4
14
-8
34
26
24
-26
4
-23
-9
14
-1
0
1
-31
16
-18
-2
9
46
0
0
0
0
0
1
0
-16
22
29
7
0
0
39
66
39
-10
17
25
36
0
0
0
0
0
0
0
0
0
32
18
15
-32
10
3
-11
-8
0
0
0
0
0
-14
25
7
0
0
0
0
0
0
-33
22
5
-3
22
0
0
5
24
17
-16
-16
6
41
0
19
54
7
20
-9
-1
23
1
22
5
-12
-2
-16
1
-1
19
0
-6
1
0
0
-34
-27
26
0
0
0
0
0
-1
13
-2
21
19
-5
0
0
3
0
-1
44
21
16
12
0
12
-1
0
-8
-33
-8
39
13
3
6
0
1
-16
-15
4
29
0
0
0
3
0
0
5
4
0
0
0
0
-49
-65
-12
12
14
-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
11
19
31
18
-13
-9
-25
0
0
0
0
-20
-32
11
20
21
-8
-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
45
6
30
-20
-15
2
-24
0
0
0
0
-3
-19
8
11
5
-3
1
0
17
-20
-4
8
14
2
-4
-37
-1
19
-9
25
15
14
-11
-16
-16
7
20
15
6
16
3
-3
-6
0
-31
-5
4
22
-8
1
-11
0
0
0
0
25
-42
7
4
1
-4
2
0
2
1
6
4
21
6
34
-1
0
0
0
0
0
0
0
0
0
-15
33
-24
-4
33
-10
-4
-23
0
-23
-36
-3
54
12
-30
7
0
0
0
0
23
10
22
30
29
-7
-63
0
19
12
6
9
13
0
-21
-17
-10
-40
15
39
9
6
11
-14
-44
-7
-25
10
16
-11
34
36
-27
0
-21
-7
14
21
-16
-25
-21
0
0
0
0
-3
16
8
33
15
0
-15
0
30
-3
17
-6
24
11
-22
-30
32
35
17
-9
32
19
-8
-19
-9
11
25
7
4
-28
-3
36
-3
0
52
6
-20
36
-12
-28
2
0
0
0
0
25
76
23
1
21
-5
-56
0
21
2
-8
10
-12
-16
76
0
0
0
0
0
0
0
0
0
0
23
-2
-8
26
-4
-30
46
-76
0
-5
30
-7
2
-8
30
-40
0
0
0
0
53
46
22
37
24
-21
-33
0
54
28
15
-13
11
23
-31
-24
37
106
-39
14
-14
-7
12
-10
16
2
11
-22
21
-3
7
17
5
0
8
24
13
39
-11
-21
-40
0
0
0
0
51
14
33
-5
-5
-9
-41
0
-8
0
-10
55
-4
13
-34
4
4
2
1
21
4
-26
35
-9
40
1
-4
-14
31
-14
13
-7
18
0
-1
0
1
32
40
-37
6
0
0
0
0
0
-20
10
13
24
-31
-101
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
-15
7
-69
-28
38
39
-2
0
0
0
0
-9
-45
2
-8
15
-36
-67
0
0
0
-38
65
32
0
-13
0
0
0
3
0
3
2
0
1
0
0
-9
0
0
0
0
3
0
0
-73
-7
10
-4
6
39
-25
0
0
0
0
-28
1
-2
-5
-1
12
11
0
-35
3
-1
15
32
13
14
-30
0
-61
-4
-31
20
37
-22
-9
-33
-15
-14
21
5
56
-33
-3
-57
0
-31
0
-26
2
26
-27
20
0
0
0
0
-33
-42
-6
5
7
-29
-84
0
0
0
-24
42
-8
-16
2
15
0
0
0
0
0
0
0
0
0
0
3
0
13
-47
21
7
-26
0
-55
3
20
-21
-29
-16
-1
0
0
0
0
-26
-47
9
9
11
-21
-67
0
0
-12
-9
12
-1
18
-30
-32
0
2
1
23
-17
-14
12
-22
67
-1
11
19
-5
18
-2
-23
-69
0
-23
-27
18
-18
-29
15
-10
0
0
0
0
-19
-8
0
-5
0
4
-5
0
-57
8
-22
-5
12
-1
-4
1
9
-17
-32
-26
17
4
-7
-7
-12
-48
-46
2
6
16
3
-6
-15
0
-23
-8
0
29
1
0
-13
0
0
0
0
-9
-61
-6
6
-14
-20
-59
0
0
-4
26
24
-5
-14
-31
-27
0
0
0
0
0
0
0
0
0
2
-20
47
-12
15
-20
13
-9
0
3
-29
5
-58
42
0
-41
0
0
0
0
-11
-46
-5
18
19
-41
-48
0
-11
3
37
-2
10
-23
-40
5
-13
-33
-34
13
23
-28
6
25
-22
15
18
-10
-38
25
-22
-5
-8
0
-8
-14
15
-4
23
-14
-17
0
0
0
0
-11
-47
-5
5
-10
2
-2
0
-6
69
-15
-27
-7
-17
-9
-10
-11
49
-35
-27
18
12
-4
7
31
-24
37
13
4
4
2
-12
-14
0
77
33
12
-52
-17
-18
-33
0
0
0
0
1
-18
6
-10
-26
-7
-36
0
0
0
-9
6
5
-7
-41
-4
0
0
0
0
0
0
0
0
0
-3
-21
-19
35
-22
25
31
15
0
-2
3
0
1
0
-55
0
0
0
0
0
-2
-43
22
34
2
-18
-42
0
29
32
27
-9
5
-1
-28
-12
25
-48
28
-32
34
2
0
-18
54
-5
38
-14
-44
2
-21
2
-3
0
-8
-4
-22
-20
33
-54
79
0
0
0
0
-17
5
36
6
-2
-12
-19
0
23
-47
10
-7
-29
-38
-8
63
0
-43
-54
22
45
-86
18
-22
-19
0
-8
5
-21
-3
-22
25
41
0
1
-19
0
12
6
-3
4
0
0
0
0
0
-2
-6
-10
52
-22
-7
0
0
0
0
4
8
-43
-6
0
0
0
0
0
0
0
0
0
0
0
-3
-3
7
-36
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-21
-24
10
9
0
0
1
-26
-13
25
-34
-4
28
-4
-3
-4
3
-1
9
9
3
2
0
16
14
-1
-40
-24
67
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
14
15
-31
-10
0
0
0
3
3
-35
-42
-57
95
0
-7
0
0
8
-1
25
14
-1
0
1
0
0
0
-2
-19
0
0
0
0
0
0
0
-9
0
0
0
0
0
8
-16
21
19
13
-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
-10
-20
21
-17
-37
0
7
0
0
0
0
23
5
14
26
12
-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
-16
13
-7
-22
6
15
-5
0
0
0
0
4
12
4
-16
22
-11
-9
0
7
-10
16
0
0
-3
-18
6
-32
49
9
-13
37
23
-12
-22
6
-5
34
6
7
11
3
0
4
0
-2
35
12
-11
20
3
-5
0
0
0
0
21
34
37
-14
-11
1
-17
0
-24
5
9
21
-14
0
6
-14
0
0
0
0
0
0
0
0
0
-10
6
-13
-44
1
2
-13
1
0
-2
29
-2
-14
9
3
-1
0
0
0
0
2
49
19
9
9
11
2
0
-12
36
3
-1
7
50
5
-56
-25
7
18
10
23
3
-4
5
-22
-19
9
10
20
3
-3
8
-4
0
23
-39
-9
-38
5
0
9
0
0
0
0
21
52
20
9
-21
-1
-6
0
-3
4
-52
-9
-1
-10
20
-11
39
14
-5
7
5
4
-4
2
34
21
-25
10
-42
7
12
-5
-3
0
-31
8
15
37
-21
-8
-8
0
0
0
0
0
32
55
8
-3
-24
8
0
43
30
33
20
33
13
6
-15
0
0
0
0
0
0
0
0
0
10
-13
25
10
-6
7
-10
5
0
10
10
-15
-8
-12
-14
56
0
0
0
0
53
17
2
13
-10
-5
3
0
56
40
18
12
-1
17
1
4
39
8
-11
9
-1
-31
9
0
-5
84
37
37
17
-33
11
-3
-5
0
12
33
19
-17
17
-9
-1
0
0
0
0
9
23
7
-32
-11
-12
44
0
11
24
10
1
4
-11
-9
38
16
8
14
6
-14
-17
-4
11
6
17
2
22
-22
3
-26
-7
5
0
25
6
-6
1
-30
32
-8
0
0
0
0
1
-33
-63
-15
84
-9
31
0
0
0
-24
-20
-14
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
-13
11
-12
20
-22
11
2
0
0
0
0
-32
-39
-19
-31
20
41
37
0
0
-6
-24
-14
7
-12
2
17
0
0
0
-8
1
-4
-29
6
0
-1
1
11
9
-42
15
4
-6
0
7
-25
0
5
6
10
23
0
0
0
0
-26
-13
-23
17
8
-12
-11
0
-41
-18
1
6
6
11
-5
-5
-15
-21
-41
-27
-8
-1
16
3
44
-67
-12
-5
-21
1
-25
4
29
0
25
14
11
0
24
-10
13
0
0
0
0
-35
-14
17
-10
-14
5
25
0
0
0
-41
-30
-10
5
-4
15
0
0
0
0
0
0
0
0
0
2
-8
2
-25
-34
-13
10
-30
0
-47
1
-34
3
-14
-18
33
0
0
0
0
-32
8
-10
1
-24
22
28
0
-1
-39
-46
-42
-22
-55
89
-28
-20
-19
-22
12
38
-3
-24
10
-46
-18
-36
-33
-13
-16
7
22
-14
0
-25
26
-9
13
-13
-12
20
0
0
0
0
-38
-38
8
-18
-10
25
23
0
-45
16
-9
13
-31
12
-2
21
-31
-14
13
-7
-25
10
15
10
25
24
-29
-5
30
-36
14
17
-23
0
-8
0
9
-9
1
-5
9
0
0
0
0
20
7
14
33
19
-29
52
0
-39
-49
11
-20
-16
15
-16
0
0
0
0
0
0
0
0
0
0
-16
3
8
-16
1
1
9
11
0
-20
-21
0
7
-11
-32
43
0
0
0
0
-19
-20
-43
-21
-1
23
30
0
-13
-55
-31
-4
-24
-8
7
2
-32
-14
-32
1
-22
4
10
-2
10
-26
4
15
-4
1
-9
-15
-5
0
6
-10
37
-47
-28
29
4
0
0
0
0
16
-13
-14
-32
0
-3
19
0
-4
-10
-7
33
7
-12
-3
-1
33
17
-22
24
-23
-29
15
-8
-5
16
8
-45
4
6
-11
-2
22
0
3
33
0
-15
10
-2
0
0
0
0
0
18
-16
-12
-34
-6
9
-10
0
-25
15
-6
-15
-6
-13
20
41
0
0
0
0
0
0
0
0
0
-10
-19
-2
19
14
16
-11
-12
0
6
3
4
-27
-39
16
-13
0
0
0
0
49
-3
37
29
-40
-37
-10
0
0
-22
-20
13
10
-12
-12
15
-14
29
13
-42
-2
-4
7
23
-13
-32
-3
-33
-6
-4
10
5
8
0
21
2
3
32
-17
-26
16
0
0
0
0
1
-34
-25
21
6
-25
12
0
-5
15
-17
-23
-13
-33
17
9
-2
-43
0
-20
-11
-38
25
13
4
1
-7
-7
-7
6
-6
5
36
0
12
-1
3
-29
11
-3
12
0
0
0
0
0
-9
-19
3
6
42
5
0
-1
-9
7
12
-45
-42
35
8
0
0
0
0
0
0
0
0
0
28
0
1
-33
22
4
-5
24
0
0
0
0
0
-5
-9
-3
0
0
0
0
0
-15
-18
-33
13
26
3
0
-7
-1
13
45
-4
-46
3
5
0
29
-15
-19
-21
32
3
-38
46
18
-23
-2
17
-7
-7
11
23
0
-2
0
1
-4
9
-7
4
0
0
0
0
0
-11
11
-13
11
-22
19
0
0
4
25
-26
30
-39
-15
19
0
1
1
3
7
-32
24
-30
-11
0
0
0
0
0
16
19
-28
0
0
0
0
-4
-4
-1
2
0
0
0
0
41
16
6
-24
-5
-5
-4
0
0
0
0
0
0
0
0
0
-26
-28
-38
-6
9
-4
-13
-13
17
0
0
0
0
0
0
0
0
0
41
-2
15
-32
1
29
-9
0
0
0
0
-4
-18
-28
2
32
-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
-12
-4
24
33
9
7
-20
0
0
0
0
29
21
-7
-4
12
-7
-58
0
41
-2
16
-43
-2
2
-4
11
20
-13
-14
4
20
10
-7
30
-21
8
1
2
-25
4
-32
17
-14
0
6
0
-33
15
-16
22
-2
0
0
0
0
-22
1
17
4
1
0
2
0
-6
1
-5
44
9
-4
-18
12
7
36
38
11
-8
5
7
14
-26
33
48
13
15
7
-8
13
-6
0
38
-3
-20
0
6
2
-10
0
0
0
0
5
18
-8
-31
-7
8
-17
0
-27
6
-32
18
-24
5
-14
11
19
18
-20
-16
-7
2
-9
-5
-2
16
15
-4
0
34
-23
19
8
0
25
50
-32
-36
2
17
-28
0
0
0
0
21
-25
20
24
6
-4
-4
0
27
22
-25
25
-26
8
-16
-22
21
0
43
37
-6
14
-3
-27
-31
8
-3
-1
22
0
15
-44
-9
0
6
13
-17
-27
-2
-12
24
0
0
0
0
1
-17
21
-7
30
-2
-7
0
33
26
-38
-3
10
-9
12
15
37
7
27
29
11
6
4
21
-14
-9
30
-16
9
-23
22
14
6
0
0
0
0
-4
7
-14
20
0
0
0
0
0
7
75
-5
1
-2
0
0
13
14
35
-14
-17
-35
5
57
25
9
70
4
0
-7
-6
-7
16
42
37
-5
-4
-5
-27
-5
-29
0
-2
2
-15
32
4
-10
-30
0
0
0
0
1
3
-2
-3
18
5
-19
0
-1
0
-6
19
15
7
-12
-24
0
0
13
-8
-6
-24
3
8
-25
0
6
-1
1
-21
-17
-32
24
0
-1
0
-6
19
13
-8
-48
0
0
0
0
0
0
7
16
-21
25
13
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
-7
6
34
24
10
0
0
0
0
1
-1
-24
-3
-41
24
62
0
0
0
0
0
-14
3
9
-14
0
0
0
0
0
6
-12
-13
0
0
0
0
-1
2
2
-7
0
0
0
1
-6
1
14
-8
21
0
0
0
0
0
8
0
-20
-16
64
27
0
0
0
0
6
-22
-18
47
61
0
0
0
-27
-7
-17
7
34
-16
0
1
-4
-3
-18
51
58
-14
0
0
-2
-5
-13
11
32
3
0
0
0
0
0
0
-16
-71
8
-4
42
0
0
1
22
-3
-5
-5
-11
-49
0
0
0
0
0
0
0
0
0
0
0
1
-3
-2
5
-5
21
0
1
-7
7
12
14
5
-5
0
0
0
0
0
-1
20
5
10
3
3
0
0
0
-16
-37
34
13
23
-30
0
-4
3
-5
12
-7
14
-93
14
0
-8
9
-7
3
-11
-5
28
0
-11
-24
-3
18
-11
47
28
0
0
0
0
-10
12
34
12
7
-13
13
0
7
7
15
-2
6
5
-24
30
-1
-1
-1
-17
-25
12
-13
18
-7
0
7
-18
0
3
23
10
4
0
-8
-8
-13
3
-35
0
12
0
0
0
0
-1
-6
42
5
18
0
4
0
8
-19
-42
-21
-5
16
-9
7
0
0
0
0
0
0
0
0
0
-19
-36
18
-14
19
-21
-6
12
0
11
3
6
9
7
-5
-46
0
0
0
0
-11
-14
21
-17
50
3
-3
0
2
19
2
-21
15
40
10
-20
1
-17
-33
15
7
6
-5
0
-28
-17
-4
6
31
19
11
-30
-5
0
2
-5
-29
22
50
-70
-13
0
0
0
0
-6
4
41
-18
-7
12
12
0
-4
-6
51
1
-2
-1
3
25
1
-2
2
-36
19
23
-21
0
24
7
3
4
-12
-10
15
-9
0
0
0
-27
17
-15
52
-4
-6
0
0
0
0
0
2
-22
6
-12
-15
-7
0
0
11
-18
-63
12
19
34
-26
0
0
0
0
0
0
0
0
0
14
0
3
25
-9
27
-29
-26
0
0
0
0
7
-2
9
-6
0
0
0
0
0
-30
-1
0
-18
1
-4
0
-6
6
17
-37
13
-9
-15
22
12
4
39
-5
-35
0
-25
-8
26
15
10
12
-10
-34
-5
-5
0
0
0
0
1
-8
-15
-23
8
0
0
0
0
0
2
-17
6
20
1
0
0
0
1
6
0
-36
21
-1
-53
0
0
-4
1
10
12
0
-44
38
0
0
0
19
16
-39
-15
44
0
0
0
0
-34
3
-3
-9
0
0
0
0
0
0
1
-2
9
37
-41
0
0
0
21
26
-15
-27
-1
62
0
0
0
0
0
0
0
0
0
0
0
0
-8
22
-73
7
16
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
-1
0
20
-20
-10
0
0
12
-21
-2
-4
-27
6
21
0
11
12
-5
36
20
22
-37
-27
0
9
4
-23
-20
27
5
-20
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
7
-17
-17
0
0
0
0
0
-10
8
35
-15
0
0
0
0
0
-1
28
8
7
0
0
0
0
-1
17
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-27
-10
-21
15
-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
-16
-5
27
20
-2
10
-59
0
0
0
0
14
-7
-3
-17
17
-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
1
-10
-3
2
-12
-3
-2
0
0
0
0
17
-32
11
5
2
11
32
0
3
-34
51
6
3
19
3
-21
-5
-7
28
37
0
-15
-3
24
19
-12
8
11
-6
15
-2
36
-5
0
-39
-2
17
-13
-36
1
8
0
0
0
0
4
-4
-11
9
-14
-4
-13
0
6
-1
5
-25
-4
44
-8
0
0
0
0
0
0
0
0
0
0
-1
7
-18
-12
0
-6
24
-6
0
-16
-18
20
-16
5
-3
38
0
0
0
0
-12
25
17
46
28
-11
-30
0
3
19
-10
16
-3
23
-8
-21
26
-3
0
-27
-1
-17
-4
12
-2
2
-16
8
-6
6
11
35
4
0
-2
1
14
6
8
37
-20
0
0
0
0
-28
9
4
-8
-39
46
-23
0
-2
24
5
15
10
-72
4
26
4
10
11
-17
-7
11
-12
15
-11
4
21
1
-23
-29
-16
23
57
0
10
-4
-24
16
-13
-34
23
0
0
0
0
0
12
-11
-25
-25
8
14
0
6
-3
-13
-2
9
35
26
0
0
0
0
0
0
0
0
0
0
1
-3
2
17
-26
18
28
-3
0
0
0
-2
0
-6
0
-3
0
0
0
0
9
-16
0
-31
8
-7
56
0
12
-4
-29
30
23
-32
49
34
8
7
-6
7
-20
-3
42
110
-30
-1
0
-17
0
24
-19
-10
19
0
0
-1
-1
7
0
4
7
0
0
0
0
4
14
16
-21
-15
34
-21
0
2
0
-24
-2
-26
26
72
65
1
0
6
13
4
-2
-23
47
21
1
0
1
-18
-17
17
6
-21
0
0
-1
0
2
6
8
2
0
0
0
0
0
0
-6
7
-42
-68
-32
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-16
5
-3
0
0
0
0
0
-4
0
-20
-12
-15
7
17
0
0
0
-7
9
9
0
-3
0
0
0
1
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-12
-14
7
6
7
-3
39
0
0
0
0
-24
-2
-20
17
-2
6
7
0
-18
-33
-21
-36
27
22
-2
-28
0
-2
19
-16
9
7
-5
4
-102
-11
-11
-17
-5
27
-9
12
13
0
0
-26
-27
3
9
13
33
0
0
0
0
-4
-57
-9
2
-14
5
-12
0
0
0
-4
32
-35
12
13
6
0
0
0
0
0
0
0
0
0
0
-1
-4
2
10
6
-1
-1
0
11
13
-1
-2
18
16
-29
0
0
0
0
-43
-25
-1
11
-1
23
-26
0
0
-2
-1
-15
25
18
9
-4
0
2
-5
-6
-6
-12
20
11
19
0
18
0
-28
-9
13
12
1
0
-1
14
0
-48
12
-6
20
0
0
0
0
4
-1
7
-3
-14
-25
-5
0
1
-15
-33
-1
27
-3
4
-4
-19
-57
-46
11
-22
-13
9
-16
21
-40
3
4
22
43
-13
-5
-26
0
-8
-35
28
5
35
-6
-31
0
0
0
0
-14
12
-13
-26
35
-38
-29
0
0
-9
8
-7
23
10
-40
-4
0
0
0
0
0
0
0
0
0
0
-9
5
-14
-10
-9
42
-6
0
0
-7
7
-11
-3
0
10
0
0
0
0
-1
8
32
-12
8
-44
-22
0
-34
-8
55
-13
-33
6
-25
-15
-22
-17
21
17
-35
3
-11
8
-7
-22
0
-18
-27
6
-4
12
-4
0
-19
-16
6
7
-8
5
-31
0
0
0
0
-3
-11
14
10
23
-13
-19
0
0
22
25
-32
-16
26
-10
-23
-5
38
-38
18
9
-5
-34
14
-13
5
2
22
14
17
-22
-5
10
0
11
12
-3
4
5
-10
0
0
0
0
0
0
-1
6
0
23
-3
-29
0
0
0
9
12
2
-16
-85
1
0
0
0
0
0
0
0
0
0
-2
-7
-12
28
16
23
11
16
0
0
1
0
0
2
-3
0
0
0
0
0
0
-36
2
33
77
-30
-19
0
3
-1
-5
28
3
-4
-53
-6
2
-6
-28
-8
42
-21
55
-55
-6
1
3
-2
-20
30
3
-22
-12
0
0
0
-1
-1
8
-7
7
0
0
0
0
1
-12
21
-45
12
17
-10
0
0
10
-4
-32
23
43
-9
-2
0
0
0
-14
-10
19
26
8
27
0
-4
3
-7
-6
-21
18
-9
0
0
0
0
1
-4
11
-9
0
0
0
0
0
-1
-1
0
-1
11
0
0
0
0
1
2
-3
-28
12
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
-15
38
0
0
-1
-14
-51
17
-27
17
16
0
0
0
-15
1
11
24
-1
0
-1
1
0
0
-1
-19
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
12
0
-42
0
0
0
0
0
-4
0
1
9
0
0
0
0
2
-1
22
-4
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
7
0
-18
46
42
5
5
8
27
40
-1
0
0
-14
4
-37
-10
1
5
44
33
0
4
0
-30
-31
-26
-10
-17
-29
-3
0
-2
13
0
-28
-14
-26
-26
-30
-11
0
2
11
10
0
-15
-17
-11
-30
-11
0
9
4
-17
10
0
-3
-2
-18
-14
0
10
0
-14
-6
1
0
-9
-50
-7
0
16
-18
-28
-17
-28
-14
0
11
-13
0
11
-5
-16
-23
-31
-34
11
0
-10
0
-16
54
11
-4
-20
-18
18
23
-11
0
0
-16
26
-7
-14
-24
5
-11
-14
0
2
0
-24
17
-30
-11
10
-15
-25
0
64
25
0
-8
0
-31
-23
12
-27
0
3
21
34
0
5
-23
-1
-21
-29
0
12
-30
12
3
0
10
-39
-24
-33
0
-26
-54
-8
5
21
0
2
-20
-35
0
19
26
29
-6
-16
-12
0
-21
-28
0
11
-18
5
4
-23
-29
-1
0
4
0
-4
-19
-8
-9
-3
-3
-7
10
-12
0
0
-14
-7
-12
-8
-8
5
-10
-3
0
60
0
-21
-15
-20
-27
-10
-4
-27
0
-14
9
0
8
-13
-27
-39
-4
-25
0
-18
-27
-4
0
5
-32
-45
-20
-31
0
-28
-21
-39
-28
0
1
-21
-15
-32
0
-22
-29
-18
-27
-10
0
-1
-7
-22
0
-29
-31
-28
-38
-52
-29
0
1
-23
0
-15
-23
-27
-32
-50
-39
-36
0
-17
0
-25
-6
-6
-30
-22
-18
-14
-2
-14
0
0
-46
-20
-23
-20
-25
5
-26
-9
0
1
0
-5
-14
-26
-25
-23
-12
-30
0
-49
6
0
-7
-4
-15
-9
-4
-30
0
-9
6
-11
0
-2
-12
-5
-3
-34
0
15
23
7
0
0
-14
-7
-18
-29
0
0
12
-4
-21
-2
0
-11
-1
-28
0
-9
-31
-6
15
-13
-17
0
-8
-23
0
16
-18
4
-1
-22
5
-34
0
5
0
-13
-45
-23
-8
-12
-21
10
24
-7
0
0
-11
16
4
-17
-12
-1
-18
1
0
38
0
-2
5
-18
-15
3
26
-13
0
-6
-9
0
18
4
-14
-39
-15
-13
0
-48
-1
-4
0
3
-9
-42
1
-21
0
-34
0
-27
-29
0
-2
0
11
-23
0
-14
-37
-23
-25
0
0
-1
5
-18
0
-20
-9
-20
-31
-48
-8
0
-5
-24
0
-29
-23
-22
-21
-39
-43
-15
0
-19
0
-7
1
-24
-27
-26
-19
-12
-7
-11
0
0
-29
-29
-19
-29
-28
10
-11
-13
0
-30
0
-1
-6
-24
-17
-11
-5
-13
0
-30
11
0
6
-16
-25
6
-4
-22
0
13
13
-17
0
13
0
-3
-12
-23
0
-21
22
-21
-7
0
-6
12
-17
-27
0
36
10
-3
-20
-18
0
-15
17
-28
0
-16
-22
-7
-22
-9
-4
0
-2
-23
0
-11
8
14
15
-8
-20
-35
0
-11
0
17
-21
-3
-23
-5
-19
10
3
11
0
0
-35
36
5
-25
-5
-28
19
-16
0
-4
0
11
-19
-19
15
21
20
23
0
-2
12
0
0
1
-44
-26
0
17
0
-2
-34
3
0
10
10
3
-17
17
0
-19
-24
-22
-4
0
8
8
2
-19
0
7
-25
-1
-39
17
0
42
-14
-3
0
35
11
-7
10
-12
-10
0
1
-9
0
-42
-21
10
27
9
-23
-20
0
-7
0
16
9
-53
11
-16
-14
18
-8
-21
0
0
37
10
-26
-2
-21
30
2
-33
0
-9
0
55
-1
-8
-7
-6
-9
-12
0
4
1
0
34
-24
-29
11
-6
5
0
12
-10
46
0
2
-24
-3
-7
16
0
-1
-7
-24
17
0
-32
-28
20
12
0
4
2
4
1
-16
0
7
-6
-17
0
-7
4
-4
19
-10
11
0
2
-5
0
-7
0
-1
-11
32
-11
-6
0
0
-1
37
45
26
44
-8
-70
0
-4
-10
7
-8
-10
-1
82
0
0
-1
46
23
46
-17
7
-2
-4
-1
0
-8
-1
-7
-18
0
-2
-3
8
20
17
3
-23
0
-2
-11
-8
-9
-8
-6
32
0
0
-6
-11
8
15
-14
-2
-5
-9
0
-14
-13
-21
-6
-8
0
-7
-24
14
19
13
19
-21
0
-8
-38
-28
-27
-13
18
29
0
0
-53
-63
-37
-21
-27
-26
-9
-43
-23
-38
-43
-43
-27
10
0
-75
-26
-8
4
7
11
-61
0
-43
-132
-59
-3
-27
-1
66
0
0
-96
-47
-106
-46
-11
-91
-11
-78
-121
-117
-85
-112
-40
-10
0
-3
36
43
34
-12
-10
7
0
11
-10
9
-15
5
15
14
0
0
-28
9
15
30
-17
-3
-3
-2
-3
-10
-2
-10
-15
-11
0
-6
5
19
25
18
-29
17
0
21
-11
-11
-21
-9
46
37
0
0
-21
-4
-12
-11
10
-16
-10
-22
-3
-16
-23
-23
-13
-24
0
-9
-16
18
22
19
-16
-8
0
-9
-32
-29
-40
-17
35
18
0
0
-41
-23
-39
-28
0
-17
-6
-51
-23
-36
-48
-39
-27
-35
0
-51
-65
-20
-9
70
16
46
0
-5
-70
-69
-31
6
-11
-11
0
0
-77
-99
-66
24
-54
-35
-1
-57
-94
-62
-59
-41
5
-58
0
-12
-13
-23
-19
-24
-57
-50
-101
-4
0
0
0
0
0
0
0
0
-4
2
-10
0
-5
3
-3
27
-1
-32
-15
-4
0
0
10
-21
21
-1
-4
-26
-27
32
-1
-11
-18
-23
-19
-22
-50
-99
-51
3
2
0
0
0
0
0
0
0
-1
17
-8
8
-2
-16
24
-3
5
-3
29
0
0
0
2
-5
-25
0
0
-28
-22
6
6
-10
-13
-13
-24
-16
-22
-5
-22
4
0
0
0
0
0
0
0
0
4
-3
4
-4
6
4
-36
-19
9
51
-2
0
0
0
28
-2
3
0
-1
-8
-4
62
1
10
-23
19
-19
4
43
15
45
-6
0
0
0
0
0
0
0
0
-13
3
-18
0
5
-10
37
0
1
25
18
0
0
0
-15
53
18
0
8
8
48
2
-4
9
16
46
10
9
48
17
0
0
0
0
0
0
0
0
0
0
-48
19
16
0
-4
4
13
0
16
18
1
0
0
0
-11
8
2
0
49
25
11
-4
-4
19
2
60
65
52
47
-5
1
0
0
0
0
0
0
0
0
0
11
-38
8
0
-41
-12
4
0
-55
2
1
0
0
0
14
-2
2
0
-15
4
18
0
-6
26
13
28
36
26
25
6
6
0
0
0
0
0
0
0
0
0
-15
4
0
0
33
11
3
0
-2
-18
0
0
0
0
-41
53
0
0
32
-2
15
0
-7
68
133
52
51
46
23
-5
1
0
0
0
0
0
0
0
0
0
10
45
0
0
-4
4
1
0
4
-29
2
0
0
0
4
25
-11
0
52
0
3
0
-8
21
11
32
23
25
14
2
0
0
0
0
0
0
0
0
0
0
-28
-19
5
0
-14
50
0
0
-19
17
0
0
0
0
51
40
0
0
21
0
32
0
19
56
64
74
60
78
29
3
2
0
0
0
0
0
0
0
0
0
12
26
3
0
46
-14
0
0
-27
11
3
0
0
0
73
9
-4
0
12
11
61
-2
37
49
58
83
77
84
67
12
4
0
0
0
0
0
0
0
0
0
24
-17
1
0
3
7
7
0
8
-2
0
0
0
0
53
53
0
0
72
-6
3
0
25
59
56
43
84
17
28
52
5
2
0
0
0
0
0
0
0
0
-12
-4
-13
0
-24
27
4
0
16
21
2
0
0
0
24
29
2
0
54
17
-35
-1
9
26
43
33
-10
42
52
31
3
0
0
0
0
0
0
0
0
0
-7
24
13
0
27
3
15
0
42
19
-1
0
0
0
50
25
0
0
23
35
13
11
15
10
-6
4
7
4
5
18
9
3
0
0
0
0
0
0
0
0
8
13
-6
0
-17
-9
8
0
6
20
-2
0
0
0
11
22
7
0
35
9
1
-2
10
2
-12
-1
-30
-29
11
-34
-9
1
0
0
0
0
0
0
0
0
-13
3
19
-4
10
-34
6
0
6
-7
-24
0
0
0
-8
42
30
0
7
-10
-19
26
2
-2
-9
-11
-19
-40
-56
-74
-12
-41
-4
0
0
0
0
0
0
0
22
2
-11
0
4
-3
33
11
8
48
-8
0
0
0
17
-10
-2
0
19
40
7
44
-2
-8
-15
-14
-12
-11
-25
-29
-42
-61
2
0
0
0
0
0
0
0
-1
-15
-19
-25
-5
-2
-50
-19
-8
-8
61
-2
0
0
3
-4
47
0
-1
-30
-28
6
-2
-12
-16
-18
-25
-6
-30
-83
-61
68
-1
0
0
0
0
0
0
0
11
-8
-10
38
1
-10
-35
8
-7
-7
-32
0
0
0
8
-2
-29
0
5
-11
-10
25
1
0
-13
-10
-9
-13
-14
-35
-76
-45
-16
0
0
0
0
0
0
0
-1
-22
-30
13
-1
-10
-11
48
13
11
21
-61
0
0
-9
-17
-57
-1
-12
-47
-21
-73
0
0
-9
-15
-14
-10
-17
-13
-59
-79
3
0
0
0
0
0
0
0
-1
-19
-21
-21
0
-8
-15
3
-1
-2
-14
-53
0
0
-3
-14
-62
-14
-3
-51
-10
-59
0
2
-17
-14
-16
-23
-12
-17
-118
-39
-4
0
0
0
0
0
0
0
2
-13
-31
-22
-7
-12
-45
-61
2
-15
-20
-15
0
0
11
-15
-57
1
-27
-36
-21
-20
-5
-5
-15
-29
-14
-15
-8
-39
-34
2
9
0
0
0
0
0
0
0
-14
-40
-30
-3
1
-26
1
-17
-5
-17
0
5
0
0
7
3
10
0
-44
7
-41
17
-2
10
11
-9
4
31
32
14
-6
-5
0
0
0
0
0
0
0
0
-12
21
-11
-4
-5
-5
9
-3
12
-29
-35
18
0
0
24
13
31
0
-42
56
-42
44
-9
7
7
20
23
68
44
-26
1
0
0
0
0
0
0
0
0
0
15
17
27
0
24
-1
30
-3
18
26
-11
-2
0
0
23
8
42
0
-36
42
-7
44
-18
27
27
27
65
52
20
8
14
-6
0
0
0
0
0
0
0
0
4
12
-2
0
3
-15
60
0
9
-11
-17
0
0
0
7
38
10
0
-1
-6
-7
57
-4
50
68
23
13
46
33
79
2
4
0
0
0
0
0
0
0
0
-8
48
37
0
11
26
7
0
25
-23
-6
0
0
0
-4
27
-1
0
12
59
-6
24
-10
14
16
-8
61
34
73
11
17
0
0
0
0
0
0
0
0
0
16
-1
5
0
23
33
4
0
20
32
-2
0
0
0
35
68
0
0
-10
-2
-23
2
20
25
69
44
90
59
50
52
4
0
0
0
0
0
0
0
0
0
-1
41
4
0
7
37
-1
0
47
66
22
0
0
0
71
48
-4
0
52
68
76
-21
21
31
36
22
34
24
19
80
20
10
0
0
0
0
0
0
0
0
58
25
45
0
2
15
14
0
65
54
107
7
0
0
62
69
6
0
97
-5
64
28
5
28
21
27
54
21
16
29
52
-2
0
0
0
0
0
0
0
0
33
23
25
0
8
25
16
-4
37
46
36
0
0
0
52
64
-8
0
57
11
54
25
3
19
13
17
-6
37
41
26
15
1
0
0
0
0
0
0
0
0
28
-3
-42
-1
11
31
47
-3
37
5
-35
-1
0
0
42
43
1
0
23
39
43
74
8
3
-1
1
-11
-9
-9
9
-25
18
0
0
0
0
0
0
0
0
20
-8
9
-12
-6
-13
-5
-9
5
10
-14
-20
0
0
11
12
109
0
24
-11
12
32
4
6
-14
-12
-14
-14
11
-19
21
22
-1
0
0
0
0
0
0
0
6
-8
-6
-3
3
-13
-4
-16
-9
5
-16
27
0
0
7
-2
25
2
-13
-17
-20
-3
0
-4
-13
-25
-16
-8
-12
6
-32
-42
-17
0
0
0
0
0
0
0
5
-9
-11
-7
-2
-18
-4
-27
-1
-4
-12
2
0
0
1
-8
-13
-23
-9
-14
-20
-19
0
0
-5
-16
-16
-9
-14
-17
-39
-46
-13
0
0
0
0
0
0
0
-1
-17
-28
-34
-1
-7
2
-17
0
-19
-1
-64
0
0
-2
0
-3
6
-5
-39
-13
-20
0
-1
-20
-20
-20
-10
-25
-15
-29
-36
-11
0
0
0
0
0
0
0
1
-14
-8
-47
-1
-5
-21
-29
1
-11
23
-10
0
0
-1
3
-10
0
-14
-44
-7
3
-1
-5
-17
-14
-16
-1
-6
-20
-75
-53
-17
0
0
0
0
0
0
0
-3
-27
-38
4
-17
-12
9
25
7
-3
-29
-51
0
0
-2
-6
-45
-1
-27
-36
-38
-69
-1
-2
-9
-16
-13
-20
-14
-20
-31
-68
-19
0
0
0
0
0
0
0
-6
-24
-27
-17
-2
-14
-15
22
2
-7
-19
-61
0
0
-9
-25
-59
-12
-15
-67
-27
-44
1
1
-16
-12
-15
-8
-2
-34
-86
-46
-3
0
0
0
0
0
0
0
-3
-17
-29
-28
-1
-16
-2
-54
5
-7
-14
-25
0
0
17
-10
-90
1
-30
-35
-26
-22
-6
-11
-9
-26
1
-31
-25
-60
-53
-6
9
0
0
0
0
0
0
0
-18
-17
-18
-5
5
-28
-6
-6
0
-16
6
2
0
0
16
15
5
0
-57
-2
-46
6
-1
4
-3
2
-12
-1
19
-2
-14
-5
0
0
0
0
0
0
0
0
4
19
10
-4
5
-26
-33
-3
29
-24
-32
16
0
0
31
6
27
0
-56
20
-56
38
-8
0
-4
-14
-39
29
38
-3
3
-1
0
0
0
0
0
0
0
0
21
23
21
0
26
-2
4
-3
44
4
3
-2
0
0
25
3
29
0
-35
40
-9
36
-19
1
10
21
49
48
22
26
16
-6
0
0
0
0
0
0
0
0
9
44
1
0
26
9
34
0
43
-2
7
0
0
0
1
18
8
0
11
2
-15
62
-8
30
44
10
27
38
32
55
-1
0
0
0
0
0
0
0
0
0
19
16
33
0
41
9
27
0
65
-5
-13
0
0
0
-10
59
1
0
5
66
4
26
-7
-15
14
-2
73
38
85
4
18
0
0
0
0
0
0
0
0
0
26
29
1
0
53
21
0
0
26
49
-2
0
0
0
30
72
-2
0
-36
3
-26
2
27
24
40
23
66
21
1
12
1
0
0
0
0
0
0
0
0
0
9
37
8
0
-12
24
-2
0
48
55
6
0
0
0
30
61
-2
0
50
61
51
-34
-8
9
-2
6
37
30
15
97
12
4
0
0
0
0
0
0
0
0
60
21
52
0
22
17
11
0
49
51
63
7
0
0
55
58
0
0
66
-5
55
25
-4
17
6
12
33
-4
6
2
59
0
0
0
0
0
0
0
0
0
29
42
11
0
17
26
11
-4
30
36
34
0
0
0
47
50
-14
0
29
0
45
2
-4
15
6
-6
4
-3
24
24
-20
-8
0
0
0
0
0
0
0
0
29
24
-37
0
-2
25
1
-2
17
11
-2
-6
0
0
48
50
7
0
-6
-13
-3
61
1
-2
-2
-12
-16
-6
16
-13
-29
5
2
0
0
0
0
0
0
0
22
-4
-4
-11
3
-27
-15
-15
12
18
-4
-22
0
0
1
16
90
0
-15
-24
-23
-13
3
4
-3
-7
-4
-6
-2
-20
-8
4
-1
0
0
0
0
0
0
0
2
1
-25
0
2
-20
-3
-20
7
-4
1
32
0
0
18
-10
2
2
-25
-44
-32
-36
0
-7
-10
-13
-18
-7
-13
1
-16
-55
-21
0
0
0
0
0
0
0
-3
-23
-12
2
-6
-15
-5
-81
6
-11
-13
1
0
0
-4
-7
-5
-23
-20
-32
-30
-7
0
-1
-5
-20
-15
-13
2
14
-10
-22
-54
0
0
0
0
0
0
0
-4
-22
-20
-68
-4
-16
5
5
3
-4
-8
-51
0
0
-3
-7
-7
6
-19
-20
-33
8
0
-7
-17
-21
-19
-9
-19
-6
-10
-25
-8
0
0
0
0
0
0
0
-9
-7
-26
-53
-9
-9
-7
-20
4
-16
8
-17
0
0
-1
-7
-28
0
-26
-22
-18
-5
3
-1
2
-24
-3
23
25
-17
5
-12
0
0
0
0
0
0
0
0
-12
-36
10
0
-28
-9
-14
-27
-6
4
-19
29
0
0
-17
2
-5
0
-31
-35
-36
-43
-2
-5
-5
-9
5
-8
-26
18
-5
7
1
0
0
0
0
0
0
0
5
-14
-74
1
-4
-10
11
-5
0
-28
2
-20
0
0
-4
12
-64
1
-24
-43
-44
-97
2
4
4
4
-7
-18
-1
-35
-17
-22
-1
0
0
0
0
0
0
0
-9
-31
7
-8
0
-11
-22
-29
0
13
-21
-30
0
0
27
13
-13
0
-8
-10
-27
-13
-1
4
4
1
0
-15
3
8
24
1
1
0
0
0
0
0
0
0
-1
7
-27
1
-25
-31
18
-3
-7
14
-29
-2
0
0
8
-5
22
0
-41
-7
-24
-22
2
-7
-19
17
-23
-1
-20
-36
-44
0
0
0
0
0
0
0
0
0
-1
-16
-13
0
0
-25
-27
-1
-1
-6
21
8
0
0
27
-35
5
0
-51
-2
-34
19
2
-1
0
6
-40
25
11
1
1
-1
0
0
0
0
0
0
0
0
14
50
5
0
-20
-35
-21
-1
15
-35
-12
0
0
0
14
0
-2
0
-42
-36
-38
46
-3
-6
-10
-11
-14
12
-4
11
0
0
0
0
0
0
0
0
0
0
-17
-6
18
0
2
-11
-21
0
-2
-35
22
0
0
0
-51
-18
0
0
-5
3
10
22
-9
-14
-19
-3
0
-31
3
1
-1
0
0
0
0
0
0
0
0
0
-22
3
0
0
-8
41
-2
0
5
1
0
0
0
0
-31
9
2
0
5
7
35
0
-14
-10
-14
41
4
-11
2
1
0
0
0
0
0
0
0
0
0
0
27
-2
-4
0
10
9
0
0
2
26
3
0
0
0
-66
-2
0
0
-5
0
2
0
10
17
-4
-1
10
-32
-25
1
0
0
0
0
0
0
0
0
0
0
-51
-71
-3
0
-8
-17
0
0
16
19
-6
0
0
0
-10
-2
0
0
-17
-8
5
2
-9
-2
-27
-2
-6
-22
-24
0
0
0
0
0
0
0
0
0
0
0
-19
12
1
0
9
-20
-3
0
-3
21
-4
0
0
0
23
-11
0
0
22
-26
24
8
6
9
0
-11
25
12
7
-20
-2
0
0
0
0
0
0
0
0
0
40
27
36
0
3
-1
-32
-2
20
-3
-9
3
0
0
-25
9
-3
0
24
-13
35
21
-2
0
-9
-11
19
0
23
-38
-7
0
0
0
0
0
0
0
0
0
-2
-15
-2
0
-4
-39
-35
1
-8
-44
10
-1
0
0
-9
-52
-6
0
-30
-22
-7
22
0
0
-11
-5
-7
-17
-19
-27
-2
0
-1
0
0
0
0
0
0
0
-23
-19
-8
-3
12
-22
10
-21
12
9
15
-19
0
0
-25
19
11
0
-21
-41
-41
-20
2
-9
2
3
-29
-9
-3
8
-26
-14
0
0
0
0
0
0
0
0
-8
-9
-5
0
-9
-24
-25
-22
5
-31
10
-4
0
0
3
-15
-54
0
-13
-56
-20
-17
4
-7
0
-3
-3
-27
-25
3
-4
-14
-4
0
0
0
0
0
0
0
-11
-5
-23
-8
-5
8
-5
-29
10
-11
-57
-8
0
0
9
0
23
-1
-26
-11
-43
-33
-1
0
0
-13
-8
14
5
11
-1
12
0
0
0
0
0
0
0
0
2
6
-16
0
-2
-14
-9
-31
-14
-7
4
36
0
0
-3
41
-1
3
-42
-21
-52
-20
-6
-2
-6
2
-8
-5
0
4
-15
3
0
0
0
0
0
0
0
0
-6
-39
20
6
-26
-11
6
-8
0
11
-18
-6
0
0
1
-20
9
0
-45
16
-34
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
72
3
-23
16
-4
0
0
0
0
0
0
0
0
0
0
-9
-83
-2
-45
-18
45
-10
0
0
2
0
0
0
0
0
0
0
-52
-13
-77
58
-35
-13
-2
0
1
0
0
0
0
0
0
0
0
28
-45
-80
14
-41
4
2
0
0
0
0
0
0
0
0
0
0
13
-15
7
3
45
-18
0
0
0
0
0
0
0
0
0
0
0
3
50
-23
-16
30
25
-1
0
0
0
0
0
0
0
0
0
0
18
-45
-18
-13
16
0
0
0
0
0
0
0
0
0
0
0
0
6
20
-12
4
-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
5
-3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-27
-20
-2
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
12
-40
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
28
8
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-28
-46
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
47
-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
-11
-33
-27
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
79
-79
-16
-11
0
-1
4
0
0
0
0
0
0
0
0
0
-17
1
-49
42
18
4
0
0
0
0
0
0
0
0
0
0
0
0
10
26
-31
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-17
3
6
0
0
0
0
0
0
0
0
0
0
0
6
3
1
32
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-33
-40
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-7
-2
-40
-43
-2
0
0
0
0
0
0
0
0
0
0
6
1
-10
27
-17
-27
-3
-2
0
0
0
0
0
0
0
0
0
-13
-4
8
15
19
3
0
0
0
0
0
0
0
0
0
0
0
1
-4
40
-24
-48
-1
0
0
0
0
0
0
0
0
0
0
0
6
8
21
-113
-63
3
0
0
0
0
0
0
0
0
0
0
0
0
7
17
11
75
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
32
10
45
-98
-53
-4
0
0
0
0
0
0
0
0
0
-10
-46
69
31
-48
35
-8
-3
-11
0
0
0
0
0
0
0
0
3
-44
-2
3
-9
-57
32
23
-37
0
0
0
0
0
0
0
0
4
-30
49
51
56
-12
-22
-55
6
0
0
0
0
0
0
0
0
0
16
-27
2
-2
1
-14
11
2
0
0
0
0
0
0
0
0
-1
16
0
99
6
1
12
37
7
0
0
0
0
0
0
0
0
8
-22
44
-27
39
-56
41
18
0
0
0
0
0
0
0
0
0
-1
24
-11
-23
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-1
0
1
1
-1
1
0
0
0
0
0
0
0
0
0
0
-4
4
1
-3
2
4
0
0
0
0
0
0
0
0
0
0
-11
0
-16
11
0
0
0
-2
-3
-8
0
0
0
0
0
0
0
0
-20
11
-22
22
-2
-1
-3
-3
0
0
0
0
0
0
0
0
-11
12
5
15
1
1
-6
-3
-3
-8
0
0
0
0
0
0
0
0
-37
-1
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
64
64
-15
-43
3
0
-16
0
0
0
0
0
0
0
0
15
-6
-67
8
21
-8
-3
10
-15
-14
0
0
0
0
0
0
-1
-21
-15
-28
3
17
-8
15
6
0
-59
0
0
0
0
0
0
0
25
-15
19
-33
25
23
37
15
28
-44
1
0
0
0
0
0
0
13
9
-34
70
52
50
48
33
11
3
0
0
0
0
0
0
0
10
-39
-18
15
29
38
86
37
50
0
0
0
0
0
0
0
0
-8
-19
-30
50
36
29
33
-31
36
0
0
0
0
0
0
0
0
0
0
1
-18
-8
-15
29
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
53
23
2
-9
-39
0
0
-37
-20
0
0
0
0
0
0
0
71
43
12
-18
-24
-12
9
48
50
-22
-4
0
1
0
0
0
0
192
13
-1
1
-22
-18
-1
22
40
6
-1
0
0
0
0
0
0
185
89
16
-2
-16
-19
-12
-12
-6
-16
-9
0
0
0
0
0
0
64
32
32
3
-29
-10
-3
-14
35
-38
-1
0
0
0
0
0
0
39
33
21
-7
-15
-4
-2
-8
60
-32
0
0
0
0
0
0
0
83
22
13
8
-22
-3
11
-29
36
9
0
0
0
0
0
0
0
28
32
4
-28
-3
-9
9
13
-45
-10
0
0
0
0
0
0
0
0
12
-15
-79
-22
66
-17
8
0
0
0
0
0
0
0
0
0
0
2
17
29
14
-5
-37
0
-10
0
0
0
0
0
0
0
0
1
-35
21
-64
-75
8
71
47
33
1
0
0
0
0
0
0
0
0
7
-54
-52
8
-40
42
-64
29
-1
1
0
0
0
0
0
0
0
-33
-26
16
66
64
19
23
-1
1
0
0
0
0
0
0
0
1
9
-40
42
-38
43
39
64
56
6
0
0
0
0
0
0
0
0
-4
13
-19
19
-12
2
30
-22
0
0
0
0
0
0
0
0
0
0
42
21
-44
-11
74
20
0
0
0
0
0
0
0
0
0
25
2
-3
17
-11
45
19
110
24
0
0
0
0
0
0
0
0
0
0
0
20
-4
-44
54
7
0
0
0
0
0
0
0
0
0
0
-26
-77
9
-46
2
55
0
-29
-1
-3
0
1
0
0
0
0
0
64
-50
-33
-4
20
39
18
17
-16
-18
7
0
0
0
0
0
0
32
-74
-33
24
9
23
-109
-64
-37
-1
0
0
0
0
0
0
0
-51
-33
40
22
62
89
-46
-72
36
3
-2
0
0
0
0
0
0
-29
65
-1
12
52
30
-1
-35
-30
0
0
0
0
0
0
0
0
0
8
3
18
50
50
46
43
-40
13
0
0
0
0
0
0
0
2
61
-8
19
7
82
113
63
55
32
0
0
0
0
0
0
0
3
55
-2
51
-8
-10
76
20
-8
2
0
0
0
0
0
0
0
0
0
0
0
20
-4
0
0
0
0
0
0
0
0
0
-47
55
42
-80
-18
7
21
15
0
6
12
0
0
0
0
0
0
91
128
30
-50
-7
7
16
45
34
35
8
0
0
0
0
0
0
53
35
-46
67
-17
-9
8
19
35
-35
29
0
0
0
0
0
0
-5
-19
-80
-26
-23
3
14
45
31
48
0
11
0
0
0
0
0
8
-17
-53
-1
57
7
21
26
28
39
-1
-1
0
0
0
0
0
1
-78
-16
9
52
27
25
47
59
-30
1
0
0
0
0
0
0
19
15
-42
-14
38
76
18
45
38
7
-2
0
0
0
0
0
0
-9
3
-1
-12
-13
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
63
-73
111
-29
-66
-6
-1
-39
0
18
0
0
0
0
0
0
0
144
34
-12
-69
78
-20
-18
2
39
-8
0
0
0
0
0
0
0
27
51
-22
-20
12
-3
1
3
38
15
0
0
0
0
0
0
0
30
-17
30
107
-26
-39
12
15
56
0
0
0
0
0
0
0
0
20
-5
30
10
26
10
40
30
24
-47
-1
0
0
0
0
0
0
2
-9
-51
16
-4
23
-13
71
16
14
-32
0
0
0
0
0
0
13
-56
57
-18
28
-17
9
29
-26
3
0
0
0
0
0
0
0
0
2
6
-36
-4
72
90
41
-61
1
0
0
0
0
0
0
0
0
0
0
0
17
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
12
26
41
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
6
-46
28
12
-3
1
0
0
0
0
0
0
0
0
0
-2
-27
53
97
63
-19
-11
0
0
0
0
0
0
0
0
-4
0
0
-25
17
45
6
29
-16
0
0
0
0
0
0
0
0
11
1
8
-1
42
19
53
-41
-127
0
0
0
0
0
0
0
0
3
-3
0
62
51
43
100
-5
-24
-4
0
0
0
0
0
0
0
16
-6
-1
-45
27
43
46
53
-103
0
0
0
0
0
0
0
0
0
0
3
-7
68
-1
-59
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
19
-38
0
0
8
13
0
0
0
0
0
0
0
0
0
0
0
0
33
35
71
-16
35
7
0
0
0
0
0
0
0
0
0
0
30
97
24
108
84
-36
2
0
0
0
0
0
0
0
0
0
6
79
1
33
13
-33
6
-7
0
0
0
0
0
0
0
0
0
0
-16
49
75
41
-18
-9
1
0
0
0
0
0
0
0
0
0
0
47
29
22
31
59
-35
0
0
0
0
0
0
0
0
0
0
0
-6
4
45
52
49
18
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
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
19
2
0
0
0
0
0
0
0
0
0
0
0
1
43
9
37
-42
15
0
0
0
0
0
0
0
0
0
0
0
-4
32
77
70
13
-7
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
-2
-59
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
17
32
2
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-4
48
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-23
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
37
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
-64
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
15
61
-35
6
-11
2
0
0
0
0
0
0
0
0
0
0
0
1
89
-11
18
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
32
58
-39
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
27
-41
7
0
0
0
0
0
0
0
0
0
0
0
0
8
4
-59
-20
-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
3
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
9
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
39
79
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
58
-5
83
67
-4
1
0
0
0
0
0
0
0
0
0
0
0
88
-13
28
22
24
0
0
0
0
0
0
0
0
0
0
0
0
23
52
-9
18
7
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-61
75
34
21
0
0
0
0
0
0
0
0
0
0
0
0
18
42
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
-3
12
39
18
41
10
0
0
0
0
0
0
0
0
0
0
0
9
10
-21
1
-9
15
0
0
0
0
1
0
0
0
0
0
0
-5
3
34
24
41
119
-35
52
6
0
1
0
0
0
0
0
0
-8
-45
4
41
78
115
103
55
27
8
-1
0
0
0
0
0
0
-12
-13
-16
-103
36
38
93
-34
84
7
0
0
0
0
0
0
0
2
26
28
38
64
12
45
32
8
-11
6
0
0
0
0
0
0
-1
6
-24
98
7
4
-17
0
-39
7
0
0
0
0
0
0
0
0
13
17
19
56
34
32
-17
-51
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
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
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-12
-9
10
0
2
-3
0
0
0
0
0
0
0
0
3
-3
57
-11
40
6
38
8
2
1
0
0
0
0
0
0
0
1
-37
-27
15
-18
5
35
-2
16
0
0
0
0
0
0
0
-2
8
-8
-1
10
-21
-15
48
-60
-1
0
0
0
0
0
0
0
0
15
-35
-13
26
47
14
0
-29
0
0
0
0
0
0
0
0
0
-1
0
-6
8
0
13
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
35
-4
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
25
15
-10
23
11
0
0
0
0
0
0
0
0
0
0
0
0
19
27
-21
-81
55
1
0
0
0
0
0
0
0
0
0
0
0
5
17
12
-9
-21
-4
0
0
0
0
0
0
0
0
0
0
0
-34
3
-8
47
-20
26
-2
0
0
0
0
0
0
0
0
0
0
16
6
5
43
-2
10
-24
0
0
-1
0
0
0
0
0
0
0
-2
-19
-11
47
9
37
0
6
0
0
0
0
0
0
0
0
0
0
-16
-20
45
2
-3
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-15
-5
5
8
59
-12
0
0
0
0
0
0
0
0
0
0
-24
-17
-3
3
7
-7
63
0
0
0
6
-2
0
0
0
0
0
-6
-21
-28
-9
0
50
7
111
10
4
1
0
0
0
0
0
0
-13
-17
-22
1
9
61
33
5
-4
9
4
0
0
0
0
0
0
-15
-22
-20
-13
9
15
-6
32
31
12
-7
0
0
0
0
0
0
2
-26
-29
-24
15
-13
58
18
6
3
-10
0
0
0
0
0
0
-2
-40
-29
-24
8
-4
-67
68
-20
5
0
0
0
0
0
0
0
0
-58
6
15
18
5
-6
2
0
0
-1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-49
17
21
6
3
22
0
0
0
0
0
0
0
0
0
0
-84
-50
2
-5
-7
-3
14
-2
-60
-8
-6
0
0
0
0
0
0
-63
-47
-12
-6
0
4
10
13
-37
-32
3
1
0
0
0
0
0
-18
-46
-20
-1
4
16
22
9
-10
-6
0
-6
0
0
0
0
0
34
-55
-5
7
6
13
36
18
-26
-33
0
0
0
0
0
0
0
-17
-21
5
8
7
15
35
40
-2
24
-3
0
1
0
0
0
0
-59
-17
-19
11
17
12
17
61
-4
1
-3
-2
0
0
0
0
0
18
-66
-20
-8
-1
19
25
-35
5
-2
0
0
0
0
0
0
0
0
0
-40
-22
-14
-5
-4
0
0
0
0
0
0
0
0
0
0
-22
61
96
86
114
23
-45
0
0
0
0
0
0
0
0
0
0
26
35
42
26
2
22
53
-82
-3
0
0
0
0
0
0
0
0
8
22
42
34
10
-2
8
-22
-1
0
0
0
0
0
0
0
0
3
-2
25
40
-10
36
34
-19
-6
0
0
0
0
0
0
0
0
8
-13
7
53
50
-48
-35
60
-8
0
0
0
0
0
0
0
0
-26
3
-4
-18
12
75
27
-6
-1
0
0
0
0
0
0
0
0
48
-46
-10
-25
-8
15
65
-2
15
-6
0
0
0
0
0
0
0
-59
-6
4
-8
45
29
68
-8
0
0
0
0
0
0
0
0
0
-23
-48
7
8
-29
39
-2
0
0
0
0
0
0
0
0
0
0
-34
4
33
13
52
-8
-51
-8
0
0
0
0
0
0
0
0
0
-12
0
11
14
-1
-16
0
46
4
0
0
0
0
0
0
0
0
-5
2
9
19
-4
-30
28
-23
-4
0
0
0
0
0
0
0
0
1
-8
24
12
35
30
95
86
9
0
0
0
0
0
0
0
0
1
2
5
2
12
20
56
9
2
0
0
0
0
0
0
0
0
5
-7
10
-1
13
37
35
25
6
0
0
0
0
0
0
0
0
-26
-13
-16
-4
-2
11
8
-39
-8
0
0
0
0
0
0
0
0
-8
-28
-2
-35
-25
22
-36
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-35
-6
-5
16
43
-11
0
0
3
2
0
0
0
0
0
0
-15
-29
-10
-8
8
5
-21
0
75
0
1
0
0
0
0
0
0
-31
-25
-5
-2
9
6
51
129
78
-9
7
0
0
0
0
0
0
-23
-29
-13
4
15
27
51
-32
6
-11
0
-3
0
0
0
0
0
-33
-29
-20
3
18
20
62
28
112
80
-11
0
0
0
0
0
0
-5
-22
-20
3
1
33
33
102
-47
-42
3
0
0
0
0
0
0
-86
-24
-17
6
-8
0
21
70
26
-2
0
0
0
0
0
0
0
0
-19
-34
24
64
57
8
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
-8
-6
12
37
10
-11
8
81
0
0
0
0
0
0
0
0
0
-14
-16
24
5
-6
-20
57
0
16
0
1
0
0
0
0
0
0
-5
6
13
35
26
33
0
35
102
24
1
0
0
0
0
0
0
30
13
14
14
33
10
113
-46
47
33
0
0
0
0
0
0
0
7
-26
-4
17
19
67
68
23
39
91
0
0
0
0
0
0
0
49
-21
-2
-2
5
37
3
78
47
10
0
0
0
0
0
0
0
-38
-57
0
-39
-19
-14
-6
-26
91
34
0
0
0
0
0
0
0
30
-35
-5
15
24
-36
-2
0
-3
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
25
-6
85
130
36
0
0
0
0
0
0
0
0
0
0
0
15
12
-58
72
16
32
0
0
0
1
0
0
0
0
0
0
0
-18
21
1
9
-33
-16
-1
-1
-1
2
0
0
0
0
0
0
0
-3
39
-7
-11
-36
-15
10
0
-26
-8
0
0
0
0
0
0
0
-1
55
35
-7
38
-26
40
-3
-9
12
-1
0
0
0
0
0
0
-3
-47
-13
-5
-28
-2
-8
0
-18
-33
0
0
0
0
0
0
0
-1
-6
-58
-55
-39
-28
-16
-1
-11
-10
3
0
0
0
0
0
0
1
8
-1
3
0
-4
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
60
11
-46
-42
-2
-1
0
0
0
0
0
0
0
0
0
0
11
-25
12
11
4
-44
4
0
0
0
0
0
0
0
0
0
0
-36
-4
13
1
-2
22
2
0
0
0
0
0
0
0
0
0
0
69
16
-6
16
6
4
0
0
0
0
0
0
0
0
0
0
0
45
-16
23
26
-31
0
0
0
0
0
0
0
0
0
0
0
0
7
-36
-27
29
-45
8
0
0
0
0
0
0
0
0
0
0
0
-38
-45
30
-59
-56
0
0
0
0
0
0
0
0
0
0
0
0
-6
-11
1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-28
-25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
2
4
0
0
0
0
0
0
0
0
0
0
0
0
1
24
37
-9
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
16
32
29
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-37
66
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
13
15
-45
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
51
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
2
6
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
2
1
49
28
11
-8
0
0
0
0
0
0
0
0
0
0
0
0
-20
-24
59
-26
0
-1
-1
0
0
0
0
0
0
0
0
0
-7
30
-21
29
11
1
0
0
0
0
0
0
0
0
0
0
0
-26
30
94
54
-1
-6
0
0
0
0
0
0
0
0
0
0
0
4
76
14
132
-1
0
0
0
0
0
0
0
0
0
0
0
0
-18
-71
-36
20
-4
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
37
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
-8
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
19
-51
-5
0
-2
0
0
0
0
0
0
0
0
0
0
-1
82
-6
-6
-42
8
9
0
0
0
0
0
0
0
0
0
0
-4
-37
2
48
-18
-4
0
0
0
0
0
0
0
0
0
0
0
-2
32
8
46
26
-9
0
0
0
0
0
0
0
0
0
0
0
1
51
69
5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-111
65
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
27
19
26
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
-55
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
25
-22
33
64
-23
25
0
0
0
0
0
0
0
0
0
0
-27
-113
-61
-16
-28
-20
-62
-47
1
0
0
0
0
0
0
0
0
7
8
-31
13
13
8
-14
13
97
1
0
0
0
0
0
0
0
-8
-24
-63
61
9
45
-40
-9
3
4
0
0
0
0
0
0
0
25
20
21
20
-24
-25
-19
0
-1
0
0
0
0
0
0
0
0
-25
17
20
51
-13
-18
1
0
1
0
0
0
0
0
0
0
0
-41
-16
-49
24
-10
-1
-8
0
2
1
0
0
0
0
0
0
0
-43
71
-22
13
-4
0
0
0
-7
0
0
0
0
0
0
0
0
-43
-2
0
0
0
0
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
-2
-15
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
32
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
41
-12
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-18
-28
3
-10
-21
0
-2
0
6
0
0
0
0
0
0
0
0
1
12
-2
-1
1
-4
4
0
0
0
0
0
0
0
0
0
0
-25
-18
-8
25
4
-9
0
0
0
0
0
0
0
0
0
0
0
-15
-42
-21
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
-59
4
74
63
-9
-3
0
-36
33
9
1
0
0
0
0
20
42
71
24
35
35
28
-11
18
9
5
8
0
0
0
0
0
10
28
51
92
82
28
-13
2
-21
-7
8
-37
-1
0
0
0
0
1
21
29
78
-5
51
37
31
4
21
43
30
0
0
0
0
0
1
41
98
32
87
70
142
29
52
25
13
0
0
0
0
0
0
3
-10
41
42
47
-39
63
7
135
-68
0
0
0
0
0
0
0
8
-22
2
34
40
2
2
-5
31
10
-6
0
0
0
0
0
0
0
-10
1
-13
0
-4
-1
0
-4
1
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
45
54
13
4
8
-26
40
0
-44
-2
2
0
0
0
0
0
0
81
31
39
16
8
-24
14
-24
-96
4
-7
0
0
0
0
0
0
21
13
34
8
5
9
81
-123
-50
-43
9
0
0
0
0
0
0
33
31
43
19
2
-1
9
-69
-55
-88
11
-1
0
0
0
0
0
53
54
46
21
8
13
71
-37
-82
9
0
0
1
0
0
0
0
78
4
35
16
3
20
-4
-38
-119
-28
6
0
0
0
0
0
0
-75
-8
27
12
5
-14
-1
7
-38
0
0
0
0
0
0
0
0
32
-15
29
16
-4
-20
-68
-9
10
1
0
-1
0
0
0
0
0
-11
2
5
-23
0
-20
-1
-11
6
2
0
0
0
0
0
0
0
-15
-40
33
51
-33
-59
32
0
20
-17
2
0
0
0
0
0
0
27
26
36
16
-30
34
-7
-55
-61
14
36
-2
0
0
0
0
0
12
-5
15
-38
100
-9
26
-32
15
-26
13
1
3
0
0
0
0
1
38
-4
63
26
8
-7
5
28
-18
-11
0
0
0
0
0
0
0
4
-13
76
106
88
9
10
36
-26
4
0
0
0
0
0
0
0
0
-42
74
26
-27
-21
-28
61
17
18
0
0
0
0
0
0
0
17
-48
31
9
-10
-25
-20
-6
15
-3
2
-1
0
0
0
0
0
0
1
-32
12
-22
-22
4
1
-27
18
3
-1
0
0
0
0
0
0
10
-5
25
-4
18
-39
35
-16
-9
0
0
0
0
0
0
0
1
16
47
-1
12
-3
0
22
-40
0
0
1
0
0
0
0
0
4
3
20
7
24
-7
20
22
13
25
4
-1
2
0
0
0
0
7
25
35
-23
-5
-29
-47
-22
-12
-8
1
0
0
0
0
0
0
-1
8
-23
51
17
-11
42
-6
-27
13
0
0
0
0
0
0
0
7
52
62
48
22
-26
118
98
-1
-1
1
0
0
0
0
0
0
3
92
27
83
90
4
-4
38
-18
18
0
0
0
0
0
0
0
0
-36
87
50
68
4
25
41
-8
9
0
0
0
0
0
0
0
0
2
41
52
11
-3
30
17
29
1
0
0
0
0
0
0
0
0
0
0
0
15
2
0
0
0
0
0
0
0
0
0
12
-30
-29
32
-48
-13
43
11
0
37
-3
0
0
0
0
0
0
43
18
66
54
16
13
20
16
22
-33
36
26
0
0
0
0
0
52
-38
65
31
2
0
12
-13
24
63
8
-2
1
0
0
0
0
78
-37
46
93
24
11
5
26
-25
-46
-38
-1
0
0
0
0
0
28
-8
-67
69
59
18
35
69
-58
28
9
0
0
0
0
0
0
-29
41
55
60
62
40
46
10
2
34
28
0
0
0
0
0
0
-1
-20
-56
65
40
73
8
-13
7
-25
0
0
0
0
0
0
0
0
35
-22
-69
22
-51
1
-3
3
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
95
-56
16
17
37
-2
4
0
-29
-11
0
0
0
0
0
0
39
-7
151
52
51
36
67
-96
50
-30
-1
6
0
0
0
0
0
16
-21
28
38
29
-12
-17
-9
7
48
4
-1
0
0
0
0
0
10
-29
89
52
101
27
-10
-19
80
-3
8
0
0
0
0
0
0
-17
-19
44
63
12
11
33
58
76
69
3
0
0
0
0
0
0
-40
67
-33
22
46
32
71
-25
-16
92
1
-1
0
0
0
0
0
-8
-7
38
8
50
40
61
-21
-14
-1
0
0
0
0
0
0
0
0
11
9
-16
0
31
-37
22
2
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
6
0
0
-2
-4
0
7
1
0
2
0
0
0
0
0
0
0
3
4
7
0
19
1
27
-1
-55
-11
0
0
0
0
0
0
0
0
1
3
14
30
-29
-31
1
-13
-6
-1
0
0
0
0
0
0
2
27
0
8
31
52
-75
0
0
0
0
0
0
0
0
0
0
1
16
0
5
2
-14
9
0
-3
0
0
0
0
0
0
0
0
0
4
3
4
81
-11
4
0
-6
0
0
0
0
0
0
0
0
0
1
-3
0
-13
10
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
27
-8
-2
0
0
0
0
0
0
0
0
0
0
-2
40
74
33
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
55
68
98
29
2
1
0
0
0
0
0
0
0
0
0
-1
10
81
117
69
-9
0
0
0
0
0
0
0
0
0
0
0
-1
-30
30
32
-20
8
0
0
0
0
0
0
0
0
0
0
0
0
-18
-62
23
-93
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
15
36
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-31
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
41
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
120
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
37
27
2
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-61
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
11
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
22
55
82
-24
0
0
0
0
0
0
0
0
0
0
0
0
7
6
87
54
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
-35
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
66
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-13
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
36
-12
0
0
0
0
0
0
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
1
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
24
40
24
-1
0
0
0
0
0
0
0
0
0
0
0
-3
4
39
8
-9
6
-1
0
0
0
0
0
0
0
0
0
-2
9
8
0
47
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
28
-1
16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
-1
0
0
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
0
8
0
0
0
0
0
0
0
0
0
51
8
46
20
-13
0
0
0
0
0
0
0
0
0
0
0
-10
-32
23
29
14
-8
8
0
0
0
3
0
0
0
0
0
0
6
-56
-22
-21
20
13
25
1
28
17
-11
0
0
0
0
0
0
0
42
-13
-2
-41
-24
-64
21
31
48
-16
0
0
0
0
0
0
1
6
4
-52
-28
-63
60
9
35
-9
19
2
0
0
0
0
0
0
44
-11
50
39
-17
42
28
43
3
-13
0
0
0
0
0
0
0
-2
-27
-23
-28
6
2
0
3
-12
2
0
0
0
0
0
0
0
0
43
-2
14
-3
0
19
1
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
-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
4
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
-4
0
0
-1
-7
8
-4
2
0
0
0
0
0
0
-3
-15
-20
18
19
0
0
22
36
0
0
0
0
0
0
0
0
-2
5
0
-7
-4
0
6
-9
33
-4
0
0
0
0
0
0
0
-1
10
-1
-12
13
-10
1
-68
-27
12
0
0
0
0
0
0
0
8
15
8
-4
1
-1
36
40
-8
35
1
0
0
0
0
0
0
-1
0
0
0
0
0
-8
24
-2
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-6
0
0
0
0
0
0
0
7
-6
-9
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
13
-2
-11
-3
29
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-8
-11
-21
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-9
3
-4
2
0
0
0
0
0
0
0
0
0
0
0
-2
10
-1
-53
8
-4
-1
0
0
0
0
0
0
0
0
0
0
-9
10
3
19
-12
30
-1
0
0
0
0
0
0
0
0
0
0
0
3
13
-17
9
2
8
0
0
0
0
0
0
0
0
0
0
27
12
9
-14
-51
0
1
0
0
0
0
0
0
0
0
0
0
0
11
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-6
-5
-9
-51
2
0
0
0
3
1
0
0
0
0
0
3
0
-9
10
16
-36
-4
0
0
76
3
0
0
0
0
0
0
-4
-1
-9
2
-11
-6
49
-6
92
16
19
1
0
0
0
0
0
-8
1
-2
2
-2
-47
-2
-16
46
60
0
-2
0
0
0
0
0
-25
8
-3
11
-14
-33
16
-15
29
53
0
0
0
0
0
0
0
3
0
-2
5
-55
-55
40
-2
-21
-5
0
0
0
0
0
0
0
-87
-1
15
-5
-26
15
37
-5
-7
-37
-2
0
0
0
0
0
0
-6
11
-17
-23
-11
0
0
0
-1
46
-4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-3
4
9
-2
-3
-39
0
0
0
-1
0
0
0
0
0
0
5
8
2
10
1
-11
12
-11
2
0
-1
0
0
0
0
0
0
-61
-16
10
5
5
0
-13
6
53
10
-4
0
0
0
0
0
0
23
-18
-3
7
5
2
2
32
62
1
0
0
0
0
0
0
0
-16
-7
-4
13
1
-2
9
-32
9
11
2
0
0
0
0
0
0
40
-15
-14
10
4
-18
26
-49
-23
-6
-1
0
0
0
0
0
0
35
2
-20
5
-4
6
46
6
-60
-7
0
0
0
0
0
0
0
7
-11
6
4
12
-2
-49
10
5
-1
0
0
0
0
0
0
0
0
83
12
16
20
22
2
3
0
0
0
0
0
0
0
0
0
-5
3
5
13
-48
6
-13
0
0
0
0
0
0
0
0
0
0
15
-1
1
13
0
37
-10
0
0
0
0
0
0
0
0
0
0
-13
-7
-11
46
-55
2
-18
-3
6
0
0
0
0
0
0
0
0
-18
-10
-1
-47
-14
-28
24
0
0
0
0
0
0
0
0
0
0
-4
6
-7
-3
-35
55
-7
0
0
0
0
0
0
0
0
0
0
-12
-10
1
18
24
32
24
0
0
0
0
0
0
0
0
0
0
9
1
13
-20
-10
-30
-2
0
0
0
0
0
0
0
0
0
0
-3
5
14
-4
-36
-7
18
-2
0
0
0
0
0
0
0
0
0
25
6
21
51
63
-7
0
-1
0
0
0
0
0
0
0
0
0
18
0
5
33
22
-17
-3
3
0
0
0
0
0
0
0
0
0
-13
-4
4
34
22
55
0
-2
2
0
0
0
0
0
0
0
0
-11
-11
-14
22
27
18
-38
-7
0
0
0
0
0
0
0
0
0
-12
-14
13
12
21
16
53
2
-2
0
0
0
0
0
0
0
0
10
-5
11
8
-28
35
-47
0
0
0
0
0
0
0
0
0
0
-9
6
-9
-11
-11
5
-5
-10
0
0
0
0
0
0
0
0
0
-12
-7
-26
-11
-26
31
-5
-12
-2
0
0
0
0
0
0
0
0
5
20
31
8
22
-5
-14
0
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
-6
-2
-9
-1
3
0
-37
0
0
81
1
-1
0
0
0
0
0
-19
8
-8
-1
1
-6
37
0
-1
0
28
2
0
0
0
0
0
-3
0
-12
-1
-1
31
66
41
55
50
32
-1
0
0
0
0
0
-11
2
1
3
-2
32
8
-35
55
-72
10
-1
0
0
0
0
0
-15
-4
-2
6
0
-46
41
-15
115
-11
0
0
0
0
0
0
0
-31
3
-15
9
-5
-36
41
15
30
1
8
0
0
0
0
0
0
-103
-12
-19
1
-12
-35
-4
-9
-16
-7
0
0
0
0
0
0
0
-2
-35
-35
34
-19
-27
-2
0
3
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
15
1
14
20
-18
-6
-79
0
0
20
1
0
0
0
0
0
0
2
19
9
16
7
-1
-8
0
0
0
-6
0
0
0
0
0
0
22
14
7
21
9
-3
39
9
-9
36
-11
2
0
0
0
0
0
47
14
0
30
-7
11
22
0
47
38
0
0
0
0
0
0
0
12
18
0
14
-16
-22
43
0
36
98
0
0
0
0
0
0
0
32
25
6
-21
-5
-15
-28
0
18
-24
0
0
0
0
0
0
0
-16
-10
20
34
19
-40
13
-9
-4
-6
0
0
0
0
0
0
0
2
43
58
21
22
23
3
-2
-9
-4
0
0
0
0
0
0
0
0
-1
2
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-39
-29
16
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-30
-35
-7
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-36
-106
3
-13
-2
0
0
0
2
0
0
0
0
0
0
0
0
5
-18
21
70
-3
0
0
2
-6
0
0
0
0
0
0
0
-1
33
54
9
14
1
0
-1
4
2
0
0
0
0
0
0
0
-16
14
-21
-1
-32
1
-1
0
42
15
0
0
0
0
0
0
0
-1
-15
-51
0
-19
-2
0
-2
8
8
1
0
0
0
0
0
0
0
-4
-33
0
-3
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
-2
0
1
-2
2
16
3
1
0
0
0
0
0
0
-6
17
9
-10
7
2
0
2
-1
0
0
0
0
0
0
0
0
-10
-21
-3
33
3
0
2
-1
0
0
0
0
0
0
0
0
0
26
11
-28
23
-21
2
0
0
0
0
0
0
0
0
0
0
0
14
13
-21
41
-8
1
0
0
0
0
0
0
0
0
0
0
0
-17
-42
0
56
38
-2
0
0
0
0
0
0
0
0
0
0
0
-40
-24
40
-3
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
11
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-66
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
20
8
24
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-46
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-19
-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
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
-6
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-4
-73
-12
0
0
0
0
0
0
0
0
0
0
0
0
2
3
8
41
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
26
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
27
8
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
2
1
-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
2
0
0
0
12
0
0
0
0
0
0
0
0
-2
-2
-9
2
-1
3
-4
9
-3
0
0
0
0
0
0
0
0
1
1
-1
21
11
-66
-5
-27
-8
0
0
0
0
0
0
0
-3
28
19
-33
-5
28
-67
0
-10
1
0
0
0
0
0
0
0
12
12
-23
13
-30
-17
4
-17
7
1
0
0
0
0
0
0
0
20
13
-48
-71
-15
34
24
22
-4
-1
0
0
0
0
0
0
0
-8
-8
42
66
23
24
-24
-3
6
-1
0
0
0
0
0
0
0
0
8
-10
-15
-11
1
0
3
-2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
12
-3
4
3
6
-1
0
0
0
0
0
0
0
0
0
0
0
-24
-6
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
27
2
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
0
68
-20
1
-1
2
0
0
0
0
0
0
0
4
8
-20
-73
-9
43
2
9
0
1
-1
0
0
0
0
2
0
23
7
-19
-66
12
-43
0
13
0
-7
0
0
0
0
6
1
-19
13
5
44
8
-42
-110
-9
10
0
0
0
0
0
0
-1
-36
7
13
37
4
-3
25
-83
10
0
0
0
0
0
0
0
-1
3
3
29
63
-9
41
81
112
7
0
0
0
0
0
0
0
0
6
0
25
-43
-34
66
7
-42
0
0
0
0
0
0
0
0
0
0
2
12
-8
-10
14
0
0
2
0
0
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
-48
14
-72
51
0
29
-4
-22
-13
6
0
0
0
0
0
41
19
-44
-9
11
-40
94
-15
-23
25
-2
3
1
0
0
0
13
133
24
13
15
-20
-23
17
-54
-3
-10
-10
-2
0
0
0
0
34
84
-63
-38
-3
-24
-23
-22
19
-1
-11
-32
2
0
0
0
0
4
46
18
6
-11
13
5
-18
-7
11
15
0
0
0
0
0
0
42
30
79
-10
-22
-34
10
-28
-10
-4
-2
1
15
0
0
0
0
5
21
23
23
-1
6
21
37
-56
-42
18
9
-1
0
0
0
0
-6
82
2
26
30
17
22
3
26
3
-18
1
0
0
0
0
0
0
-2
-17
23
21
11
19
22
41
-2
-6
0
-2
0
0
0
0
0
0
0
1
0
15
-1
0
9
-2
0
0
0
0
0
0
0
0
0
3
-7
22
0
22
28
-24
16
0
1
0
0
0
0
0
0
0
-3
0
-38
65
19
48
-17
-3
-1
0
0
0
0
0
0
0
-1
-10
2
-48
-20
-13
-28
5
4
-1
0
0
0
0
0
0
0
0
26
39
42
19
75
39
21
1
-4
0
0
0
0
0
0
0
0
-2
41
17
53
1
-10
32
0
0
0
0
0
0
0
0
0
0
0
57
9
50
13
77
-8
0
0
0
0
0
0
0
0
0
1
0
-15
-21
-9
18
-27
-2
0
0
0
0
0
0
0
0
1
0
0
13
6
-7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-7
-41
-49
0
-36
12
16
2
0
0
0
0
0
0
-3
0
51
-27
17
-46
-25
-116
-27
28
9
-8
4
0
0
0
0
0
-8
61
-15
50
5
38
-13
9
0
0
0
0
0
0
0
0
0
11
-24
-10
59
48
4
96
20
6
0
0
0
0
0
0
0
-2
22
-119
33
91
9
34
-10
7
17
0
0
0
0
0
0
0
-1
-15
24
-17
74
-11
-14
37
-36
-10
0
0
0
0
0
0
0
0
1
-13
27
1
57
48
61
5
-2
0
0
0
0
0
0
0
0
0
-37
17
40
-21
-16
18
11
-3
0
0
0
0
0
0
0
0
0
0
0
61
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-56
22
-19
0
-6
23
-7
0
0
0
0
0
0
0
0
0
0
-22
32
28
-47
5
2
2
-1
0
4
0
0
-2
-3
4
36
45
26
-38
-1
21
0
46
4
-3
0
0
0
0
3
-2
12
22
-36
-1
36
43
-8
-13
-17
2
4
0
0
0
0
-1
24
-28
23
14
43
1
-7
44
27
-1
0
0
0
0
0
0
0
-6
30
79
28
13
-5
51
-48
43
0
-1
0
0
0
0
0
0
0
-9
30
-11
-6
1
-7
2
-4
-3
0
0
0
0
0
0
0
1
10
3
49
17
102
5
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
-2
-25
-5
6
4
0
15
-3
0
0
0
0
0
0
0
0
0
-1
21
0
-10
18
0
-13
-11
0
0
0
2
0
0
-1
1
0
-4
25
36
-40
-30
-76
5
-3
0
0
0
0
0
0
0
-2
-15
-3
-28
27
26
41
72
19
-9
0
0
0
0
0
0
0
2
25
34
36
76
27
10
18
66
-1
0
0
0
0
0
0
0
-41
17
51
20
96
-42
65
10
7
0
0
0
0
0
0
0
3
-2
-8
2
21
5
42
-3
-6
-2
0
0
0
0
0
0
0
0
-2
4
65
12
58
-9
84
-13
11
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
13
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
41
-13
0
0
0
0
0
0
0
0
0
9
0
2
1
-6
6
-8
-49
0
0
0
0
0
0
0
0
-3
-11
-4
0
-4
-4
1
18
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
7
11
-28
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-6
4
-4
0
0
0
0
0
0
0
0
1
77
40
14
-1
33
-12
27
-1
0
0
0
0
0
0
0
0
0
10
83
48
47
-2
-11
0
-1
1
0
0
0
0
0
0
0
6
-16
83
51
-68
-14
-7
-3
0
-1
0
0
0
0
0
0
0
-8
19
29
47
-1
-105
3
0
0
0
0
0
0
0
0
0
0
-3
-91
61
-11
27
-81
-4
-2
0
0
0
0
0
0
0
0
0
0
44
-66
1
3
-43
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
19
1
18
-11
-3
0
0
0
0
0
0
0
0
0
0
0
14
32
-9
15
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
42
18
4
11
0
0
0
0
0
0
0
0
0
0
0
0
10
36
13
-33
-25
0
0
0
0
0
0
0
0
0
0
0
0
-4
26
3
-11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
64
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
23
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
-12
0
0
0
-2
1
-2
-1
-4
0
0
0
0
0
0
0
0
10
-7
9
-8
3
0
0
-1
0
0
0
0
0
0
0
0
0
-13
18
120
-9
-3
0
0
0
0
0
0
0
0
0
0
0
-8
-32
-1
19
-6
-10
0
0
0
0
0
0
0
0
0
0
0
0
-9
66
105
-28
0
0
-1
0
0
0
0
0
0
0
0
0
0
47
-57
-37
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
32
-22
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-9
-27
-8
4
-1
0
0
0
0
0
0
0
0
0
0
1
-7
-51
-25
-36
24
0
2
-1
0
0
0
0
0
0
0
0
0
-30
94
99
19
-1
0
0
0
0
0
0
0
0
0
0
0
-25
43
49
-24
-12
-2
0
0
0
0
0
0
0
0
0
0
0
-3
-41
-20
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
3
0
0
0
0
0
0
0
-1
7
-4
20
19
2
18
0
1
0
0
0
0
0
0
0
0
-13
-47
24
18
33
85
-14
1
-4
3
-2
1
0
0
0
0
-9
22
14
9
-17
-34
36
-3
-4
-1
0
-2
2
0
0
0
0
-9
-15
24
-42
31
18
20
-17
-17
-2
0
1
0
0
0
0
0
7
0
-17
1
30
74
11
25
5
0
3
2
0
0
0
0
0
0
1
-2
13
38
-9
-19
3
-3
1
-1
0
0
0
0
0
0
0
0
0
2
13
-25
-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
2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
27
0
0
0
0
0
0
0
0
0
-1
6
-2
-7
-8
-3
-22
-43
-1
-13
0
0
0
0
0
0
0
0
1
2
19
25
45
-13
24
27
-6
0
0
0
0
0
0
0
0
-3
-4
-4
-3
-8
-22
55
22
-1
0
0
0
0
0
0
0
-1
0
0
0
0
-3
9
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
3
9
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
26
81
-57
9
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-11
-14
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
19
-10
-34
8
-4
0
0
0
0
0
0
0
0
0
0
0
-5
-97
-1
29
15
12
-1
0
0
0
0
0
0
0
0
0
0
0
46
-11
7
-8
-19
13
2
0
0
0
0
0
0
0
0
0
0
-12
-13
-37
-15
0
3
-2
2
-6
-2
7
-2
0
0
0
0
0
-1
3
27
22
7
30
16
-1
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
-12
60
-27
7
-4
4
0
0
0
0
-1
-2
-1
0
0
0
0
-14
-7
21
-33
9
19
0
0
0
24
20
11
4
1
0
0
0
-12
-22
-17
-10
-66
44
18
-9
-1
-7
-28
13
0
0
0
0
0
-14
6
-16
22
44
-67
34
-7
-35
-4
7
1
0
0
0
0
0
-66
29
35
-43
-4
78
45
57
8
7
0
0
0
0
0
0
0
-27
57
60
-31
-41
-25
21
-18
-20
9
-6
30
0
0
0
0
0
3
-11
0
-19
-28
-50
-44
-51
-14
-6
-6
-1
0
0
0
0
0
0
21
6
-17
-12
-3
-14
11
11
-7
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
-1
3
9
-22
70
92
0
0
-13
-2
0
0
0
0
0
0
-5
-11
-44
8
4
50
25
95
-8
-7
11
4
-2
0
0
0
0
-3
1
-21
-47
-16
26
44
19
-25
21
0
-2
0
0
0
0
0
11
-22
-26
18
38
35
14
37
24
56
-26
-2
-1
0
-1
0
0
-23
46
43
-2
25
2
28
1
40
-26
14
0
0
0
-1
0
0
-35
39
-16
-9
8
-25
25
-45
-9
10
17
-4
3
0
0
0
0
108
28
25
13
-31
11
-27
-49
-6
-5
-5
-1
-1
0
0
0
0
-54
7
13
0
-5
23
-18
-25
-29
26
10
1
0
0
0
0
0
0
0
36
44
-41
-53
-23
4
-1
0
-1
2
0
0
0
0
0
-4
0
0
25
-4
0
0
0
0
0
0
0
0
0
0
0
0
68
56
-12
100
63
2
4
0
0
0
0
0
0
0
0
0
0
8
35
-48
-17
-3
-9
34
-7
-11
0
0
0
0
0
0
0
0
-3
-26
-6
8
22
-10
13
12
1
0
0
0
0
0
0
0
0
-3
28
-16
15
-38
-11
1
-2
0
0
0
0
0
0
0
0
0
22
-42
-37
12
4
-10
-37
-17
0
0
0
0
0
0
0
0
0
0
-7
-33
-55
1
-60
-5
-8
-28
0
0
0
0
-1
0
0
0
0
14
-10
-22
-13
-8
3
9
-23
-1
0
0
0
0
0
0
0
-21
-8
0
2
-1
16
0
3
0
0
0
0
0
0
0
0
0
14
2
12
4
2
0
15
-1
0
0
0
0
0
0
0
0
0
36
-17
131
54
53
34
0
-33
0
0
1
0
0
0
0
0
0
10
-9
-2
-1
53
65
65
10
19
0
0
0
0
0
0
0
0
6
22
-54
20
-6
25
23
4
-1
0
0
0
0
0
0
0
0
25
5
-16
20
48
11
-6
47
3
0
0
0
0
0
0
0
0
-2
26
-60
-28
-23
44
83
-46
-1
0
0
0
0
0
0
0
0
-13
9
19
58
-37
40
12
-39
0
0
0
0
0
0
0
0
0
2
46
-48
-7
-17
-31
-10
-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
1
-6
27
58
8
0
0
0
-1
-2
-3
1
1
0
0
0
-1
-40
-45
-16
15
11
3
0
-4
0
0
15
-1
0
0
0
0
26
51
0
-10
48
-72
52
19
24
-19
13
2
0
0
0
0
0
15
-36
1
-16
-17
23
94
-72
-20
51
10
3
0
0
0
0
0
15
-49
-5
7
12
-1
-50
43
-12
18
-3
-1
0
0
0
0
0
0
45
17
5
-40
-19
11
5
12
-26
24
-1
0
0
0
0
0
0
-17
-6
-36
-1
36
59
-4
-10
-6
-2
0
2
0
0
0
0
0
-1
-3
-7
18
9
16
-16
-7
-10
8
2
3
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-18
-16
14
19
2
0
-2
0
0
0
1
0
0
0
0
0
40
27
2
43
1
6
38
38
-13
18
0
0
0
0
0
0
12
28
1
13
32
-42
42
21
45
-25
0
0
0
0
0
0
0
35
36
45
8
-10
29
6
15
19
78
6
0
0
0
0
0
0
1
-30
36
9
-30
-72
-11
-12
6
48
2
0
0
0
0
0
0
0
-6
7
129
62
52
48
-40
3
-108
0
0
0
0
0
0
0
0
-23
-6
-17
-46
-10
-19
-24
-2
-3
0
0
0
0
0
0
0
0
0
0
0
7
0
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
1
0
0
0
0
0
0
-3
-1
-1
1
-4
0
0
2
0
0
0
0
0
0
0
0
0
25
76
8
13
-2
2
0
27
21
4
0
0
0
0
0
0
0
-3
30
-22
38
-25
14
-7
0
39
-2
-1
0
0
0
0
0
0
36
-69
-11
21
10
-23
0
-62
14
4
0
0
0
0
0
0
0
0
-49
0
8
12
5
-12
-11
37
0
0
0
0
0
0
0
-1
3
-2
2
0
-1
18
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
-4
-8
1
0
0
0
0
0
0
0
0
0
0
0
6
-8
1
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
-4
40
43
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
54
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
4
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-61
0
8
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
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
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
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
-1
1
-8
7
17
-9
2
0
25
1
-1
0
0
0
0
0
0
7
-2
-6
42
-8
3
10
20
-20
4
-3
0
0
0
0
0
0
1
1
18
-9
-3
-19
-21
-1
14
0
-1
0
0
0
0
0
0
28
0
24
21
23
68
-14
-26
-8
0
0
0
0
0
0
0
3
0
16
15
45
13
-19
11
7
-9
0
0
0
0
0
0
0
0
15
-33
-10
-16
-15
-18
3
-3
0
0
0
0
0
0
0
0
0
11
-15
-7
8
-8
-2
-32
-6
0
0
0
0
0
0
0
0
6
24
10
-4
0
0
7
-3
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
-17
0
-57
0
58
-29
12
-4
1
0
0
0
0
0
3
0
17
50
41
25
5
32
19
-38
-12
-1
7
0
0
0
2
18
12
20
-9
9
40
-1
19
1
-3
-7
7
3
0
0
3
0
13
-6
-38
-23
66
28
4
5
53
7
10
0
2
0
0
0
-17
21
-1
22
6
61
53
59
33
17
-3
3
2
0
0
0
0
0
2
18
0
11
49
105
83
3
2
0
0
4
0
0
0
0
0
-1
0
9
1
0
-48
-46
-2
-1
-1
0
0
1
0
0
0
0
0
0
0
-3
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
33
67
-18
88
0
-11
-24
18
-22
-6
0
0
0
0
0
-11
-5
9
-30
-9
5
-6
-30
-33
6
16
2
10
0
0
0
1
-1
-8
14
12
26
18
20
-9
-31
20
2
9
1
1
0
0
0
-23
5
14
-5
-6
16
-95
-55
-130
-21
-3
-19
1
0
0
0
22
-32
-3
86
-22
-12
-5
-56
-14
-47
-2
-1
2
-2
-1
0
0
9
39
-3
-31
28
-19
21
-92
-23
-9
11
20
4
-3
0
0
0
-12
6
56
25
28
55
16
-57
-53
1
29
12
3
1
0
0
0
1
-2
1
-2
-1
16
-15
7
-18
-11
-21
16
-1
0
0
0
0
0
0
0
-13
3
-3
2
61
-8
8
-1
-2
1
0
0
0
0
0
0
0
-1
19
-83
25
0
53
-9
1
0
22
-6
3
0
0
0
-3
-3
18
12
-64
18
7
-80
24
15
-3
3
14
0
2
0
0
0
2
-13
21
53
-104
-32
-40
-20
-17
15
-1
1
0
0
0
0
4
-8
30
61
-1
83
53
-3
-3
7
1
4
0
0
0
0
0
0
0
-12
-9
-44
13
8
11
68
2
-1
2
1
-3
0
0
0
0
0
26
1
35
1
46
32
17
-19
4
0
0
0
0
0
0
0
0
-10
10
60
-22
3
-14
4
35
7
1
1
1
0
0
0
0
0
-15
8
21
10
-20
-8
4
-20
-4
-1
-4
-1
6
0
0
0
0
0
0
-76
-83
-22
50
22
-10
2
-2
0
1
0
0
0
0
-4
22
-36
32
21
0
-22
-11
1
15
-15
0
1
0
0
0
-1
-16
0
61
15
32
-16
-10
-3
45
11
11
-4
-1
0
0
0
0
30
-65
7
31
14
-34
14
-41
-3
4
1
1
0
0
0
0
0
15
55
18
40
24
-15
46
12
6
1
0
0
0
0
0
0
7
1
-62
15
22
56
-44
6
-33
-6
1
-1
0
0
0
0
0
0
-6
2
34
59
56
75
45
-11
25
-8
0
-1
0
0
0
0
0
0
-1
21
50
15
-19
40
70
45
8
-2
4
0
0
0
0
0
0
34
8
2
42
42
60
35
4
1
-2
0
2
0
0
0
0
0
0
1
54
7
3
-1
0
0
0
0
0
0
0
0
0
0
0
21
-4
50
53
0
43
-37
-2
0
0
0
0
0
4
7
3
1
-6
70
48
-14
39
34
-13
-9
11
-1
0
0
0
0
16
1
26
11
19
9
12
32
35
-3
41
18
0
0
0
0
0
19
-3
24
75
-37
-3
22
28
-12
-68
22
-1
0
2
0
0
0
9
-1
36
40
37
6
38
-16
-29
0
-1
-4
0
0
0
0
0
2
0
6
-33
42
17
37
0
71
11
0
0
0
0
0
0
0
0
4
-13
45
38
27
93
-26
-43
3
0
0
0
0
0
0
0
1
-5
0
-5
-1
4
-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
6
-21
25
-48
-34
0
59
21
-8
0
0
0
0
0
0
-2
0
7
-26
28
-11
15
-20
-12
12
20
-6
0
0
0
0
0
7
-3
2
-26
61
-4
-23
25
14
32
7
0
1
0
0
0
3
-3
6
12
-27
65
-9
15
-3
27
71
1
0
0
0
0
0
0
0
-3
0
50
18
22
4
58
34
45
3
0
0
0
0
0
0
0
-2
0
-8
86
-17
43
21
-15
11
2
0
0
0
0
0
0
24
6
0
66
-8
2
64
78
31
0
0
0
0
0
0
0
0
-1
0
15
3
17
-24
-41
34
7
1
0
0
0
0
0
0
0
0
0
0
0
0
8
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
100
34
1
0
0
0
0
0
0
0
0
0
0
0
11
-8
28
-8
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
9
5
-20
26
0
0
0
0
0
0
0
0
0
0
0
0
0
12
38
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
2
-3
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
-8
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
-1
0
0
0
0
0
0
0
0
8
0
0
38
3
-14
7
-12
-1
0
0
0
0
0
0
0
0
10
-22
86
31
46
2
0
4
1
0
0
0
0
0
0
0
1
6
35
84
110
63
1
-18
9
0
0
0
0
0
0
0
0
0
40
67
84
94
-56
-8
-10
1
-4
0
0
0
0
0
0
0
0
19
79
78
85
-8
6
1
0
0
-2
0
0
0
0
0
0
0
86
-11
10
-65
39
-19
-2
3
0
0
0
0
0
0
0
0
0
3
-62
1
0
-30
0
0
-1
1
0
0
0
0
0
0
0
0
7
-1
21
-42
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
-10
0
0
11
-7
8
0
-2
0
0
0
0
0
0
0
0
0
4
18
40
72
-22
-8
0
0
-7
0
0
0
0
0
0
0
0
11
18
86
50
58
2
0
-1
0
0
0
0
0
0
0
0
0
13
44
60
-29
4
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-52
-13
-26
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
-56
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
7
29
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
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
-11
0
1
0
0
0
0
0
0
0
0
0
0
4
-10
-4
40
10
9
0
1
0
0
0
0
0
0
0
0
0
-16
40
51
44
0
30
1
-1
0
0
0
0
0
0
0
0
0
7
14
62
40
19
2
-1
-4
-1
0
0
0
0
0
0
0
0
-5
-40
-43
-11
-9
-3
0
0
1
0
0
0
0
0
0
0
0
-3
14
3
-30
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
28
-24
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
36
-12
4
4
0
0
0
0
0
0
0
0
0
0
4
15
114
51
33
-7
1
0
0
0
0
0
0
0
0
0
1
6
-108
94
55
-1
3
-1
0
-1
0
0
0
0
0
0
0
0
-16
-23
22
12
-10
-8
0
0
-1
0
0
0
0
0
0
0
0
0
-6
-24
-24
-6
0
0
0
0
0
0
0
0
0
0
0
0
-16
-28
-36
-7
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
4
16
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
1
0
-5
-1
28
0
0
0
0
2
13
2
0
0
0
0
0
0
-6
17
-1
-13
-24
3
58
41
-9
7
0
0
-3
0
0
0
0
-3
-3
4
-15
-29
52
112
53
26
-11
3
-1
0
0
0
0
3
3
2
12
-10
31
8
48
5
4
13
-4
0
0
0
0
0
0
0
-2
0
8
-49
32
67
14
-13
0
3
0
0
-1
0
0
0
0
0
7
13
-3
-3
-13
60
-5
-2
-1
0
0
-2
0
0
0
0
0
0
17
-9
-29
9
11
1
-24
-3
0
2
0
0
0
0
0
0
0
0
-10
-43
64
-38
0
1
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
32
-11
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-19
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
8
44
61
-9
0
0
0
0
0
0
0
0
0
0
0
-1
1
9
16
-23
29
10
0
0
0
0
0
0
0
0
0
0
0
-15
-39
-7
90
-4
6
0
0
0
0
0
0
0
0
0
0
0
-1
2
-34
-39
-10
0
0
-1
0
0
0
0
0
0
0
0
0
1
12
73
71
4
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
4
12
0
0
0
0
0
0
-1
-61
27
-29
3
0
0
0
0
0
0
0
0
0
0
0
0
4
33
1
4
16
0
0
0
0
0
0
0
0
0
0
0
0
-19
-17
-41
1
24
0
0
0
0
0
0
0
0
0
0
0
0
21
-56
-11
2
16
0
0
0
0
0
0
0
0
0
0
0
0
11
5
-15
33
3
2
0
0
0
0
0
0
0
0
0
0
0
1
98
-16
18
-1
-10
0
0
0
1
-1
0
2
0
0
0
0
0
6
37
-1
-4
7
0
1
2
2
0
-2
0
-1
0
0
0
0
0
8
1
-1
-2
-1
0
0
3
-2
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
52
3
-18
41
-22
11
0
0
0
-11
15
-2
7
-1
0
0
-34
-2
-12
-24
-7
-30
7
0
0
96
5
8
3
6
2
0
0
15
26
-14
-14
74
18
26
43
34
-8
-19
-8
7
0
1
0
0
-18
5
6
12
46
13
-63
120
83
69
-44
4
-2
0
0
0
0
20
16
-32
9
28
7
16
9
77
-20
9
0
8
3
0
0
0
6
-21
26
36
46
-41
-41
27
30
-14
13
-2
-2
3
0
1
0
0
11
15
58
14
2
42
6
-22
8
-1
-3
0
0
0
0
0
0
0
0
-2
-2
0
3
1
23
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
2
-5
23
-16
1
-5
0
0
0
2
-3
0
0
0
0
0
0
-26
-69
17
-4
12
78
-11
9
3
-2
45
0
0
0
0
0
0
28
-26
-43
-26
27
46
13
34
2
3
-1
0
0
0
0
0
-3
-16
-68
-1
-13
29
33
-5
-52
22
0
0
1
0
0
0
0
11
31
67
-39
23
-36
39
71
68
-6
-19
-8
0
0
0
0
0
-9
58
51
-28
32
-23
6
-20
-20
-28
2
6
0
0
0
0
0
-1
15
-53
-14
-8
34
-89
-15
3
15
1
4
-1
0
0
0
0
0
0
43
-11
-4
-45
-14
-42
-15
-2
0
0
0
0
0
0
0
0
0
70
21
-15
8
18
0
-2
0
0
0
0
0
0
0
0
44
60
-6
-3
3
26
-19
0
0
0
0
0
0
0
0
0
0
-33
6
18
2
-2
-18
-7
3
0
0
0
0
0
0
0
0
0
43
33
-83
-24
19
-2
43
-22
-54
0
0
0
0
0
0
0
0
39
19
3
15
6
10
-45
9
0
0
0
0
0
0
0
0
0
-30
-23
-73
23
59
9
9
-1
0
0
0
0
0
0
0
0
0
0
1
34
6
0
-4
-22
0
6
0
0
0
0
0
0
0
0
61
-4
11
7
-52
-11
-16
0
6
0
0
0
0
0
0
0
0
-11
22
58
0
-13
1
-15
0
0
0
0
0
0
0
0
0
0
-15
-16
14
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
10
3
31
-20
23
-39
-2
2
0
0
-1
0
0
0
0
0
0
19
-6
-6
-19
-5
17
0
-11
0
0
0
-2
0
0
0
0
0
-9
-4
21
-35
-2
58
-39
-24
21
0
0
0
0
0
0
0
0
2
4
66
-3
26
-36
-43
-58
10
0
2
0
0
0
0
0
0
7
70
-54
69
-56
-66
6
34
0
0
0
0
0
0
0
0
0
-18
-19
40
20
18
-40
-10
-14
0
0
0
0
0
0
0
0
0
-6
-18
67
-24
0
-2
11
-16
-16
0
0
0
0
0
0
0
0
44
27
10
-5
-11
-1
-1
4
-3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-28
3
-2
7
33
0
0
6
0
8
0
0
0
0
0
16
-31
-47
26
22
-47
29
0
12
0
-6
18
1
-7
1
3
0
15
-13
11
-35
57
-12
43
-10
20
113
-3
42
24
-3
0
0
0
1
-9
6
29
3
28
0
87
11
70
-6
-2
0
1
0
0
0
1
-16
43
-7
21
16
38
-35
-10
13
41
-8
12
1
0
0
0
0
-14
-23
-8
41
-24
-22
1
30
-3
-32
4
16
-2
0
0
0
7
-9
10
-49
6
-50
15
4
10
-35
0
8
4
0
0
0
0
0
0
7
0
-2
-1
3
-1
-7
-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
-8
39
-11
-72
-14
0
0
0
18
7
0
0
0
0
0
0
0
33
-13
-16
10
-3
0
0
1
0
-9
-16
0
0
0
0
0
-2
6
1
1
-18
29
-8
8
-1
170
3
-18
1
0
0
0
0
0
52
5
-14
-6
-92
9
7
63
74
41
-3
0
1
0
1
0
0
-1
2
-6
-72
-41
56
33
33
-25
-8
0
0
0
0
0
0
-2
29
2
46
-18
9
29
-22
44
27
0
0
-1
1
-1
0
0
-1
0
44
-47
-74
-1
-77
-7
-42
36
-1
1
0
-1
0
0
0
0
0
0
-26
3
42
28
-11
-23
3
0
0
0
0
0
0
0
0
8
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
-15
4
-7
-3
0
0
0
0
-1
0
0
0
0
0
0
0
-2
10
-6
-6
-13
0
0
0
-1
10
1
0
0
0
0
0
0
-1
16
-1
10
12
0
0
3
27
7
0
0
0
0
0
0
0
8
1
8
-7
3
-7
0
30
-22
1
0
-1
0
0
0
0
0
0
3
0
-11
3
-1
10
-5
48
27
-1
0
0
0
0
0
0
0
-1
3
-1
41
0
2
19
19
40
1
0
0
0
0
0
0
0
0
0
0
-7
-9
-15
-13
-9
8
0
0
0
0
0
0
0
0
13
1
0
0
0
9
24
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-8
10
-15
22
0
0
0
0
0
0
0
0
0
0
0
0
-3
47
39
52
-104
0
0
0
0
0
0
0
0
0
0
0
-1
-9
25
41
-3
-57
47
0
0
0
0
0
0
0
0
0
0
0
-10
-22
-54
6
-25
26
0
0
0
0
0
0
0
0
0
0
0
-30
-71
-93
33
11
13
0
0
0
0
0
0
0
0
0
0
0
1
-36
-94
-14
29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-22
-7
16
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
39
-20
12
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
41
3
0
0
0
0
0
0
0
0
0
0
0
0
3
4
25
60
8
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-91
17
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
17
9
-29
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-4
45
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-55
-64
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
21
39
-3
0
0
0
0
0
0
0
0
0
0
0
0
-39
-8
8
-44
7
0
0
0
0
0
0
0
0
0
0
0
1
-31
-37
-48
-18
-2
0
0
0
0
0
0
0
0
0
0
0
9
0
1
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
1
26
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
2
12
-22
-91
-50
3
0
0
0
0
0
0
0
0
0
0
0
0
3
38
22
-45
-10
0
0
0
0
0
0
0
0
0
0
0
0
3
27
-29
-40
-28
0
0
0
0
0
0
0
0
0
0
0
-1
18
-13
0
70
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-10
8
1
3
0
0
0
0
0
0
0
0
0
0
0
0
46
-10
-9
72
27
-7
0
0
0
0
0
0
0
2
-4
-25
36
-29
-25
5
-16
-49
0
0
0
0
0
0
0
0
-1
25
48
-21
28
-30
4
-78
24
-10
0
0
0
0
0
0
0
0
-49
31
-40
17
-86
14
40
0
0
0
0
0
0
0
0
0
2
-12
-3
61
0
69
-70
-1
-12
0
0
0
0
0
0
0
0
0
-19
56
16
42
-109
8
-35
1
0
0
0
0
0
0
0
0
6
46
3
26
21
-22
-4
21
11
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
-12
-1
-1
4
0
3
0
0
0
0
0
0
0
0
-2
0
0
-4
0
0
0
-6
0
0
0
0
0
0
0
0
0
-26
-16
3
-3
-1
1
0
0
-3
0
0
0
0
0
0
0
-2
49
5
0
13
0
-8
-3
0
4
0
0
0
0
0
0
0
0
8
-17
8
4
15
-3
-2
-3
0
0
0
0
0
0
0
0
0
-22
-12
35
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-13
6
32
-15
25
0
0
0
0
0
0
0
-1
0
0
13
-31
11
37
43
4
40
0
0
0
0
0
0
1
37
-8
-36
31
-20
-21
23
40
24
-13
0
0
0
0
0
0
1
-22
-27
38
-25
10
21
20
18
26
30
0
0
0
0
0
0
0
0
-48
-48
-49
13
3
21
22
43
25
0
0
0
0
0
0
0
1
-3
-82
-49
-29
-8
11
26
-10
7
0
0
0
0
0
1
0
-9
-6
-9
-10
-4
-38
-55
-45
-34
3
0
0
0
0
0
0
0
0
-4
1
3
5
-26
-8
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
44
21
-17
-27
-38
-9
1
0
0
0
0
0
0
-7
-1
114
4
-2
-16
-20
-23
-29
-9
7
0
0
0
0
0
1
2
66
20
43
-4
-17
-14
-6
-17
-56
6
0
0
0
0
0
0
-12
36
75
50
5
-9
-24
-16
-10
-18
20
0
0
0
0
0
0
1
0
31
0
-3
-24
-22
-6
1
19
44
0
0
0
0
0
0
6
47
38
15
-10
-4
-5
1
9
13
21
0
0
0
0
0
2
-4
47
7
19
-6
-16
-14
-3
-6
34
7
0
0
0
0
0
0
0
0
20
54
-41
-27
-24
-24
-31
-14
8
0
0
0
0
0
0
0
0
1
-4
42
-5
-85
-19
-30
-20
0
0
0
0
0
0
0
0
0
0
0
-24
-49
44
-35
33
-9
0
0
0
0
0
0
0
0
0
0
-57
-18
32
-14
22
-15
-29
-7
0
0
0
0
0
0
0
0
0
6
53
-43
-4
-45
-15
116
-2
0
0
0
0
0
0
0
0
11
3
-41
-37
-45
49
44
24
-1
0
0
0
0
0
0
0
-8
-6
-13
4
-28
-7
30
22
-27
-6
0
0
0
0
0
0
0
0
19
32
5
-17
14
36
88
6
21
0
0
0
0
0
0
0
-1
38
-30
20
14
-25
69
59
16
43
0
0
0
0
0
0
0
0
7
27
3
58
72
95
2
-32
0
0
0
0
0
0
0
0
0
0
0
6
-18
-5
21
65
49
0
0
0
0
0
0
0
0
0
0
3
8
-60
27
16
18
-57
4
0
0
0
0
0
0
0
0
-6
44
0
-20
7
12
-9
34
5
0
0
0
0
0
0
0
0
-20
61
4
40
-26
18
13
22
2
0
0
0
0
0
0
0
0
33
-67
-34
-11
-27
41
27
8
17
0
0
0
0
0
0
0
0
8
26
-73
15
32
50
46
-40
-8
0
0
0
0
0
0
0
0
25
-6
40
-9
8
75
74
-16
-40
0
0
0
0
0
0
0
6
7
-17
6
29
-14
52
64
5
26
0
0
0
0
0
0
0
0
0
39
-46
-64
19
110
49
-7
-13
0
0
0
0
0
0
0
0
0
2
0
-2
-3
4
96
0
0
0
0
0
0
0
0
3
0
0
0
9
12
-28
-23
18
62
-13
0
0
0
0
0
0
-18
0
55
0
11
-27
13
8
40
22
0
0
0
0
0
0
0
19
-90
29
4
-40
-18
2
37
34
0
18
0
0
0
0
0
0
6
-11
62
-68
-64
19
-8
9
31
53
10
0
0
0
0
0
0
2
69
-16
4
1
5
-1
-5
29
24
-3
0
0
0
0
0
0
2
44
59
-63
-67
-18
-16
37
-5
1
-46
0
0
0
0
0
0
-2
2
0
-91
-8
-5
29
-22
27
-2
17
0
0
0
0
0
0
0
9
3
-4
-58
-20
-21
-30
-32
13
0
0
0
0
0
0
0
0
0
0
0
-6
0
-10
-2
-9
0
0
0
0
0
0
0
0
-1
0
0
0
16
-21
34
15
27
-8
-1
0
0
0
0
0
-1
0
0
9
0
12
-44
14
23
20
-31
1
0
0
0
0
0
-1
6
61
33
68
15
-3
-27
14
22
36
15
0
0
0
0
0
0
11
55
60
-40
41
-10
-32
15
43
16
15
0
0
0
0
0
0
10
-16
33
-67
29
-5
-24
26
51
45
-23
0
0
0
0
0
1
7
19
32
69
85
-43
-36
9
51
46
1
0
0
0
0
0
0
0
7
-1
33
4
-27
27
22
50
50
-4
0
0
0
0
0
0
0
4
-2
4
6
45
25
19
44
5
0
0
0
0
0
0
0
0
0
0
0
0
-27
47
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-10
-8
-8
66
0
0
0
0
0
0
0
0
0
0
0
2
1
23
13
35
-25
-2
0
0
0
0
0
0
0
0
0
-1
11
-43
31
77
-72
-24
0
0
0
0
0
0
0
0
0
0
0
-1
28
103
-14
18
-78
-1
0
0
0
0
0
0
0
18
-6
0
36
-3
-29
33
0
-53
-1
0
0
0
0
0
0
0
0
4
-1
-8
-19
-13
56
-54
2
-15
0
0
0
0
0
0
0
18
-9
1
-3
76
76
-56
-15
-85
-1
0
0
0
0
0
0
0
0
0
-1
0
7
13
23
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-56
100
21
-7
0
0
0
0
0
0
0
4
1
-1
21
18
29
-7
-17
10
6
0
0
0
0
0
0
0
-7
1
0
3
-24
53
17
80
-13
41
0
0
0
0
0
0
0
0
0
0
-1
-1
17
27
81
13
-33
0
0
0
0
0
0
0
0
0
0
0
3
65
-10
12
28
43
0
0
0
0
0
0
0
0
0
0
1
58
111
30
16
24
-49
0
0
0
0
0
0
0
0
0
0
0
8
30
58
58
5
31
0
0
0
0
0
0
0
0
0
0
0
1
16
38
75
0
96
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
-15
37
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
1
2
-39
-13
-61
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-55
-22
28
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
52
-5
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
37
-33
65
-10
0
0
0
0
0
0
0
0
0
0
0
0
-9
51
2
95
78
0
0
0
0
0
0
0
0
0
0
0
0
-9
24
72
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
24
-42
57
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-32
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
23
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-17
18
-75
15
-21
-9
0
0
0
0
0
0
0
0
0
0
0
9
18
22
-15
6
9
0
0
0
0
0
0
0
0
0
0
0
0
-7
-8
6
37
4
0
0
0
0
0
0
0
0
0
0
0
3
34
-20
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
58
-19
-26
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
10
59
12
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
2
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
9
13
-29
0
0
0
0
0
0
0
0
0
0
0
-2
10
-16
34
119
32
0
0
0
0
0
0
0
0
0
0
0
0
37
66
21
1
18
-4
0
0
0
0
0
0
0
0
0
0
0
0
-6
38
21
28
0
0
0
0
0
0
0
0
0
0
0
0
1
-51
15
-48
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
59
81
56
70
-6
0
0
0
0
0
0
0
0
0
0
0
0
21
75
55
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
57
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
27
15
41
48
32
13
-1
0
0
0
0
0
0
0
-2
-36
24
4
-63
-5
101
14
-15
1
0
0
0
0
0
0
0
-8
3
7
6
0
-1
124
-5
8
9
0
0
0
0
0
0
0
0
-21
-25
-75
17
35
71
33
47
26
0
0
0
0
0
0
0
-10
-53
-38
-10
-8
32
13
77
51
-4
0
0
0
0
0
0
0
4
14
32
14
29
55
31
33
15
5
0
0
0
0
0
0
0
-11
-3
14
-5
55
32
67
51
13
-1
0
0
0
0
0
0
0
0
-1
0
-29
15
33
40
52
60
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
-8
-1
3
-2
0
0
0
0
0
0
0
0
0
0
3
-8
8
-2
-11
25
2
0
0
0
0
0
0
0
0
-2
-2
-8
0
0
-3
4
-3
0
-3
0
0
0
0
0
0
0
0
-4
1
35
14
30
-27
14
-12
1
0
0
0
0
0
0
0
3
1
-17
51
0
65
-8
59
-7
0
0
0
0
0
0
0
0
0
6
7
22
-17
20
31
20
-42
-29
0
0
0
0
0
0
0
0
-1
-1
-9
12
22
5
-13
48
-15
0
0
0
0
0
0
0
0
2
0
0
0
1
14
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
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
4
-40
17
37
19
6
6
0
0
0
0
0
3
-26
18
-6
-9
-3
2
23
23
92
77
-18
0
0
0
0
0
7
-1
-27
2
-3
-5
5
7
51
-63
-60
-7
2
0
0
0
0
0
30
27
-3
-16
-18
11
10
25
21
-6
-16
3
0
0
0
0
0
24
-14
-17
-2
1
4
4
27
45
14
-1
-2
0
0
0
0
0
-1
-18
-34
-13
-9
30
44
53
31
15
-14
0
0
0
0
0
0
0
-1
-27
-40
16
25
-12
71
-30
-5
-13
0
0
0
0
0
0
0
0
-22
23
-32
9
1
-2
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
-8
-3
-5
0
26
8
13
1
13
-79
-1
0
0
0
0
0
1
-22
-12
-50
6
5
8
5
6
12
28
-28
0
0
0
0
0
0
-4
7
-30
16
5
8
6
10
5
55
-30
0
0
0
0
0
0
2
5
1
-19
1
5
0
3
16
23
115
0
0
0
0
0
-4
24
18
-29
-27
-11
-4
-5
9
24
18
-52
0
0
0
0
0
0
1
6
-69
-27
-9
-2
4
12
36
44
40
0
0
0
0
0
0
-20
20
6
-15
-11
-7
1
22
5
72
30
0
0
0
0
0
0
15
-6
-9
-59
-35
-23
-2
6
12
-6
-49
0
0
0
0
0
0
0
2
3
29
12
-18
-28
-26
-31
-6
4
0
0
0
0
0
0
-13
1
0
0
-44
47
-43
9
32
0
0
0
0
0
0
0
3
12
17
19
-24
13
47
4
21
-26
0
0
0
0
0
0
0
0
18
-32
9
-7
30
70
49
-15
9
0
0
0
0
0
0
0
0
-20
-39
6
-22
20
41
56
39
-18
-6
0
0
0
0
0
0
0
4
11
-9
12
7
2
-42
45
-23
12
0
0
0
0
0
0
0
-6
-11
-15
-4
38
79
41
14
0
-1
0
0
0
0
0
-1
7
-51
-14
-10
-2
10
44
33
21
-2
0
0
0
0
0
0
3
19
-29
-2
23
-15
9
22
9
-24
-34
0
0
0
0
0
0
0
12
-27
13
-5
27
-4
-2
29
6
3
2
0
0
0
0
0
0
-4
-10
-30
-21
0
-4
-16
29
-35
-11
2
0
0
0
0
0
0
-3
55
30
-15
-28
2
-9
21
10
63
17
0
0
0
0
0
0
-1
-51
5
-5
17
-13
19
17
-4
-3
-2
0
0
0
0
0
0
-6
7
-19
-12
0
3
-4
10
-18
107
-12
0
0
0
0
0
0
6
-11
9
2
1
13
-2
9
22
-60
-2
0
0
0
0
0
-1
20
14
0
3
0
0
-14
30
10
-27
2
0
0
0
0
0
-4
1
-17
15
3
13
-30
-7
28
25
10
0
0
0
0
0
0
0
-6
22
-3
9
6
-10
-66
35
54
-10
0
0
0
0
0
0
0
0
0
0
0
2
-17
-16
0
0
0
0
0
0
0
0
0
0
0
-1
50
26
0
4
-53
12
11
48
-62
-1
-18
0
0
0
0
0
-10
6
-31
-23
-3
2
22
29
20
-42
68
-10
0
0
0
0
0
-1
3
-40
-20
-16
11
12
19
-61
83
5
-3
0
0
0
0
0
-3
20
13
-14
-37
1
4
28
2
-38
-13
6
0
0
0
0
0
2
4
0
-3
-20
2
9
-4
53
45
-7
-4
0
0
0
0
0
-1
17
-14
-68
-28
10
27
30
12
120
91
0
0
0
0
0
0
0
-10
25
19
-34
1
17
40
47
57
16
3
0
0
0
0
0
0
-1
-8
22
-25
-5
35
88
54
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
12
-22
0
3
-13
41
22
-3
-4
4
-2
0
0
0
0
0
0
-35
15
-14
25
-6
-2
16
111
67
8
7
0
0
0
0
0
1
-9
4
-52
-18
7
11
23
10
15
46
20
0
0
0
0
0
0
12
22
-39
-20
-4
0
-32
41
10
-21
0
0
0
0
0
0
0
2
-14
-35
3
-9
7
-8
53
60
23
4
0
0
0
0
0
3
19
-21
-8
7
-9
14
62
53
14
75
11
0
0
0
0
0
-3
-12
2
-12
-17
33
32
0
71
78
10
4
0
0
0
0
0
0
0
3
-14
-45
-42
27
-11
62
13
26
0
0
0
0
0
0
0
0
0
9
0
-24
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
26
26
0
-1
-1
-2
0
0
0
0
0
0
0
4
1
9
6
11
81
1
0
1
-55
0
0
0
0
0
0
1
0
-24
-30
-39
-6
29
25
2
4
-3
-4
0
0
0
0
0
0
-9
-6
36
-30
-9
-14
20
8
9
-22
-2
0
0
0
0
0
0
2
46
-43
-9
-8
4
-22
-6
-7
13
-2
0
0
0
0
0
0
0
-14
-25
-22
-39
-42
-24
11
-16
7
-19
0
0
0
0
0
0
-1
11
-17
30
6
-1
-17
1
-7
1
6
0
0
0
0
0
0
0
9
1
3
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-27
-2
-3
0
0
8
0
0
0
0
0
0
0
0
0
0
4
-14
-24
-21
12
66
15
0
0
0
0
0
0
0
0
0
0
0
17
-8
32
26
24
-23
3
0
0
0
0
0
0
0
0
0
-1
25
23
0
16
21
5
28
0
0
0
0
0
0
0
0
0
0
9
-36
3
-49
-20
53
-12
0
0
0
0
0
0
0
0
0
0
0
-9
-29
-56
10
15
-9
0
0
0
0
0
0
0
0
0
0
0
12
-39
-24
-9
-7
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
-40
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
1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
37
2
83
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
6
-21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
42
55
6
0
0
0
0
0
0
0
0
0
0
0
0
-10
-20
-24
-40
6
0
0
0
0
0
0
0
0
0
0
0
0
11
30
2
-21
8
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
15
-1
0
0
8
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
-4
-49
26
38
-2
0
0
0
0
0
0
0
0
0
0
0
-18
16
137
-21
-10
0
0
0
0
0
0
0
0
0
0
0
0
1
34
-26
-64
-19
-6
0
0
0
0
0
0
0
0
0
0
2
3
-5
25
134
-25
-7
0
0
0
0
0
0
0
0
0
0
1
21
53
4
-50
10
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
-18
3
0
0
0
0
0
0
0
0
0
0
0
-6
0
40
-13
-4
6
0
0
0
0
0
0
0
0
0
0
0
2
15
6
63
-15
35
0
0
0
0
0
0
0
0
0
0
0
4
-20
-28
43
18
-10
0
0
0
0
0
0
0
0
0
0
0
-4
10
34
4
32
3
0
0
0
0
0
0
0
0
0
0
0
1
3
19
40
6
7
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
3
-18
9
6
3
4
0
0
0
0
0
0
3
25
0
0
0
-10
-2
-16
-46
5
7
0
0
0
0
0
0
0
21
21
22
17
-12
9
53
-12
-15
28
-1
0
0
0
0
0
-1
8
28
18
-48
43
29
25
-4
-9
9
0
0
0
0
0
0
-8
-6
16
-88
-14
33
64
-5
0
22
0
0
0
0
0
0
0
0
-32
31
-56
-22
53
-60
-4
-4
-10
0
0
0
0
0
0
0
-1
-4
46
34
-57
80
-28
-28
0
0
-2
0
0
0
0
0
0
-1
-15
-47
-78
-36
-32
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
-4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
17
-21
-19
0
-8
-17
0
0
0
0
0
0
0
0
0
0
-2
1
11
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
29
23
-20
9
0
0
0
0
0
0
0
0
0
0
0
-2
-52
17
-2
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
-42
-68
-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
1
2
0
0
0
5
59
31
78
20
50
21
0
0
0
0
-1
4
26
68
0
0
46
-2
51
51
20
2
37
0
0
0
0
0
0
3
110
15
-14
12
67
43
68
33
17
23
0
0
0
0
0
0
3
26
104
83
26
57
46
28
8
18
-4
0
0
0
0
0
0
7
19
-22
-41
71
95
15
-17
27
0
-40
0
0
0
0
0
-2
2
23
19
29
28
73
81
10
14
-16
-63
0
0
0
0
0
0
0
6
-61
0
9
9
-11
51
57
20
-9
0
0
0
0
0
0
0
-9
0
0
0
0
1
2
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
17
0
0
-18
13
-8
0
-24
-15
-39
0
0
0
0
0
-2
1
5
70
31
-32
0
-5
10
-37
-120
-23
0
0
0
0
0
-1
9
48
-60
-14
-5
16
-2
31
12
5
-13
0
0
0
0
0
4
-10
6
-19
18
6
12
-12
13
47
-86
-58
0
0
0
0
0
2
2
-10
-22
-7
20
13
-4
0
3
-68
-54
0
0
0
0
0
0
-20
-84
-65
37
23
12
0
2
25
-26
-41
0
0
0
0
0
0
0
19
25
-9
5
25
10
-12
-9
-36
6
0
0
0
0
0
0
1
-8
33
-8
14
12
23
70
46
8
13
0
0
0
0
0
0
0
0
0
-4
-3
-23
32
31
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
-22
13
-5
-3
-42
51
0
0
0
0
0
0
0
0
-3
36
45
3
-41
-43
40
-24
10
0
0
0
0
0
0
0
0
29
-67
-15
11
49
4
28
42
-15
0
0
0
0
0
0
0
-4
64
16
17
28
60
18
-13
1
2
0
0
0
0
0
0
0
0
0
-20
61
1
-10
30
1
38
-42
0
0
0
0
0
0
0
0
19
-61
-15
76
-13
80
26
-14
-41
0
0
0
0
0
0
0
0
18
0
67
70
-6
5
-43
-4
6
0
0
0
0
0
0
0
0
16
3
22
12
106
-14
36
-12
46
0
0
0
0
0
0
0
0
-7
0
-1
0
22
-17
16
10
-51
0
0
0
0
0
0
0
0
0
-16
26
77
18
-3
-84
8
47
0
0
0
0
0
0
0
0
3
8
0
63
24
-41
-10
83
30
0
0
0
0
0
0
0
0
0
16
78
35
64
19
-16
6
7
0
0
0
0
0
0
0
0
-2
73
70
15
53
17
-23
-3
-56
0
0
0
0
0
0
0
0
-8
21
22
66
49
-44
57
22
23
0
0
0
0
0
0
0
0
1
48
24
34
-32
9
28
14
18
0
0
0
0
0
0
0
0
-10
19
-17
77
51
7
41
43
-57
0
0
0
0
0
0
0
0
9
8
36
-6
23
54
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
-1
17
34
0
0
14
66
5
22
78
-4
72
0
0
0
0
-3
-2
9
0
6
0
0
87
24
6
1
39
-4
0
0
0
0
0
-2
84
-61
41
-37
44
66
24
50
14
12
-31
0
0
0
0
0
0
32
-16
40
38
-10
66
29
32
-9
60
65
0
0
0
0
0
0
-22
40
43
18
21
46
22
-6
25
-61
-73
0
0
0
0
0
0
0
-23
-18
8
33
38
4
30
-19
25
26
0
0
0
0
0
0
9
-22
-43
33
12
38
63
46
-52
-14
-7
0
0
0
0
0
0
0
42
9
-29
0
-8
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-16
0
0
0
0
0
0
0
0
0
0
1
-3
0
2
23
81
-40
54
22
-2
9
0
0
0
0
0
0
25
0
-2
0
17
50
-11
15
5
-24
-1
0
0
0
0
0
0
10
-58
-1
-46
-2
8
-66
-23
-33
-11
30
0
0
0
0
0
0
8
78
33
21
-15
66
-30
96
14
5
-17
0
0
0
0
0
0
-11
0
81
106
62
24
-15
36
22
59
63
0
0
0
0
0
0
12
25
53
106
105
36
-25
5
101
16
-6
0
0
0
0
0
0
0
71
54
1
74
-8
72
-11
-30
-27
7
0
0
0
0
0
0
0
3
4
2
-8
6
-33
32
-8
-16
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
2
1
-4
2
0
-3
0
0
0
0
0
0
1
0
0
0
-7
10
-28
4
-7
-15
-6
0
0
0
0
0
0
-1
16
26
0
16
38
11
8
-1
-38
2
0
0
0
0
0
0
0
22
36
0
24
5
-34
-9
-1
-8
-8
0
0
0
0
0
0
0
6
57
0
10
-6
-19
1
-1
-4
7
0
0
0
0
0
0
0
2
24
0
-10
41
20
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
27
0
-34
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
2
8
-10
-4
2
0
0
0
0
0
0
0
1
0
0
3
0
0
-7
31
20
-9
0
0
0
0
0
0
0
0
0
0
-2
0
-6
14
58
31
13
0
0
0
0
0
0
0
0
0
1
0
6
0
59
34
34
-58
0
0
0
0
0
0
0
0
0
0
4
0
-29
11
87
-10
4
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-31
56
63
24
0
0
0
0
0
0
0
0
0
0
0
0
6
-28
34
-24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
60
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
17
20
15
0
0
0
0
0
0
0
0
0
0
0
0
0
7
25
89
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
41
6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
28
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
0
-3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-48
26
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-19
-3
-36
0
0
0
0
0
0
0
0
0
0
0
0
7
6
49
30
6
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-39
77
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-24
0
0
0
0
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
-6
12
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
32
-8
13
65
18
0
0
0
0
0
0
0
0
0
0
-2
4
-6
13
-23
77
0
0
0
0
0
0
0
0
0
0
0
0
-1
28
-21
-9
17
-2
0
0
0
0
0
0
0
0
0
0
0
1
-13
3
76
9
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-6
21
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-4
0
11
27
70
-20
28
16
22
-36
0
0
0
0
0
0
4
-2
-12
-39
-3
10
2
-8
-11
-34
-6
0
0
0
0
0
0
0
-78
-16
-10
20
-14
-40
-63
-17
56
2
0
0
0
0
0
0
-1
69
-44
9
22
-17
5
13
7
75
59
0
0
0
0
0
0
0
-7
66
13
10
3
-9
-15
44
8
13
0
0
0
0
0
0
0
10
-1
4
-39
-55
-40
21
-28
51
-18
0
0
0
0
0
0
0
-21
4
-3
8
27
-10
30
55
-4
-3
0
0
0
0
0
0
0
0
1
2
0
-11
7
-16
-1
39
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
15
0
0
0
0
0
0
0
0
0
4
0
0
0
4
-1
-18
0
0
0
0
0
0
0
0
-1
-1
-11
0
15
0
-3
2
74
11
0
0
0
0
0
0
0
18
0
-26
-3
-2
2
0
8
50
-20
0
0
0
0
0
0
0
-7
3
0
35
2
0
1
7
-1
7
0
0
0
0
0
0
0
-2
0
17
14
0
-11
-4
7
-12
-6
0
0
0
0
0
0
0
0
1
0
-23
4
8
-2
-2
42
4
0
0
0
0
0
0
0
0
0
0
-4
1
10
0
17
18
-36
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-8
-50
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
-14
0
4
8
42
-19
0
-6
8
8
0
0
0
0
6
1
-4
2
-1
3
16
40
63
0
-39
25
0
0
0
0
-1
-28
4
-4
3
0
-4
36
19
33
1
40
101
18
0
0
0
0
0
22
-14
3
2
8
27
32
-26
-15
34
-4
44
0
0
0
0
0
-15
3
7
8
16
21
59
25
-21
17
37
30
0
0
0
0
0
3
-35
-21
-4
12
9
52
38
-10
17
12
0
0
0
0
0
0
0
0
-38
-13
-39
10
-3
15
0
10
5
2
0
0
0
0
0
0
0
0
-24
16
-12
-33
0
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
-9
-34
-23
0
-4
-15
9
29
35
-27
0
0
0
0
0
0
1
18
-16
-29
11
-12
-7
9
-1
47
-12
28
0
0
0
0
0
0
-18
-3
-57
-34
-23
3
8
-7
34
-2
4
0
0
0
0
0
-2
23
-50
-12
1
0
3
-4
-6
-31
106
9
0
0
0
0
1
0
12
51
-28
-6
-13
5
2
-8
19
0
0
0
0
0
0
0
0
-9
15
-38
-7
-7
8
12
-12
16
-56
1
0
0
0
0
0
0
0
-21
1
-28
4
-7
11
3
15
-15
-4
0
0
0
0
0
0
1
2
0
9
-17
-7
10
5
19
-13
9
0
0
0
0
0
0
0
1
-11
21
-4
11
-18
-5
16
0
0
0
0
0
0
1
-9
-7
-10
53
0
3
-41
70
14
0
-1
0
0
0
0
0
-3
6
6
-1
0
-21
-36
-16
30
-16
-11
2
0
0
0
0
0
0
-7
26
-17
-11
-17
-53
-47
15
55
-11
-2
0
0
0
0
0
1
-9
23
-7
12
-26
-67
-29
36
62
-1
0
0
0
0
0
0
0
-2
-10
-11
14
1
-4
-31
-14
-59
2
0
0
0
0
0
0
0
10
8
-5
3
-3
9
30
-39
-75
-8
0
0
0
0
0
1
3
-4
17
-1
-2
-2
35
-3
-28
-37
3
0
0
0
0
0
0
0
-2
-12
6
4
-16
0
-14
-15
1
0
0
0
0
0
0
-3
3
10
-30
-5
8
-19
-29
3
-30
0
0
0
0
0
0
0
0
0
-7
-32
29
-6
0
-55
5
-31
-31
0
0
0
0
0
0
0
-22
2
-22
-7
2
-21
-10
-3
17
-7
48
0
0
0
0
0
0
0
0
3
6
32
-36
7
18
-19
-11
9
0
0
0
0
0
0
0
0
14
2
14
-13
13
-5
-18
1
-25
0
0
0
0
0
0
0
8
-9
-21
-11
14
34
29
-5
-4
2
0
0
0
0
0
0
0
4
2
5
-5
12
10
65
42
19
0
0
0
0
0
0
0
0
-6
11
-5
0
-21
61
33
76
-62
1
0
0
0
0
0
0
0
-1
12
-27
-41
-20
-26
-47
33
-54
-1
0
0
0
0
0
0
0
0
0
0
0
3
-54
-34
-1
0
0
0
0
0
0
0
0
0
0
-15
-29
-16
0
-1
20
4
-18
-77
9
3
19
0
0
0
0
-1
-30
35
3
-2
-4
5
24
5
14
63
115
21
0
0
0
0
0
9
-10
-14
-2
7
15
20
25
-5
4
49
-13
0
0
0
0
-1
-2
31
16
11
-4
8
22
17
48
6
-38
18
0
0
0
0
0
7
17
6
15
2
12
13
-28
-26
56
66
-1
0
0
0
0
0
19
-48
15
-3
-3
11
28
37
55
3
-25
8
0
0
0
0
0
0
-11
-39
8
-34
-27
-8
36
-19
12
14
-1
0
0
0
0
0
0
0
-1
-24
-34
11
12
0
-6
-1
-6
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
-4
0
0
0
0
0
0
-4
-45
1
0
-8
34
26
10
18
4
9
6
0
0
0
0
0
1
-30
-35
-8
-6
10
32
25
-19
3
6
19
0
0
0
0
-2
25
-34
9
1
-27
29
-2
-6
3
-4
25
59
0
0
0
0
0
-15
-6
20
-8
0
3
34
-35
-36
-7
22
-21
0
0
0
0
0
0
-35
1
-9
30
13
-37
-2
14
-6
3
-2
0
0
0
0
0
6
-39
17
-26
6
-4
21
13
0
-2
-55
4
0
0
0
0
0
1
0
-17
-15
25
-15
7
-13
0
0
-10
-1
0
0
0
0
0
0
20
-5
15
-9
-3
5
0
13
0
-2
0
0
0
0
0
0
0
0
-15
34
-19
29
0
11
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
-7
-3
0
0
0
-2
0
0
0
0
0
0
0
-14
-34
-33
-36
-51
-6
0
0
0
2
0
0
0
0
0
0
0
0
-27
-61
52
7
0
-2
-2
0
-1
0
0
0
0
0
0
0
0
-2
-52
-2
17
-3
0
0
-1
6
0
0
0
0
0
0
0
0
14
19
-38
12
7
-3
0
-3
-42
0
0
0
0
0
0
0
4
-20
10
-46
21
14
-2
0
-11
0
2
0
0
0
0
0
0
0
-5
-5
-16
-2
-2
0
0
-4
35
0
0
0
0
0
0
0
0
1
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
4
-3
0
0
-7
0
0
0
0
0
0
0
0
0
0
-1
0
6
26
36
16
18
0
0
0
0
0
0
0
0
0
0
1
1
1
29
40
-32
0
0
0
0
0
0
0
0
0
0
0
1
-1
13
-37
17
69
39
6
0
0
0
0
0
0
0
0
0
0
0
-3
47
-21
-14
14
-4
0
0
0
0
0
0
0
0
0
0
0
-25
1
0
61
11
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-117
-32
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
12
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-38
28
2
0
0
0
0
0
0
0
0
0
0
0
0
0
44
34
-24
-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
-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
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
-9
4
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
-16
-8
-4
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
9
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
1
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
27
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-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
-1
6
35
1
-3
0
0
0
0
-1
0
2
0
0
0
0
-11
-12
-8
19
-10
0
0
0
0
0
0
0
0
0
-16
4
2
-11
-6
-76
-23
20
0
0
0
0
0
0
0
0
0
45
23
-25
47
18
-4
-45
1
6
0
0
0
0
0
0
1
0
73
-54
-3
-7
20
29
-10
-7
-2
0
0
0
0
0
0
0
1
-30
-8
38
-55
27
34
-8
13
0
0
0
0
0
0
0
0
3
27
-16
-12
-28
42
6
2
6
0
0
0
0
0
0
0
0
0
-2
-41
4
1
0
-23
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-6
-11
-7
2
1
0
0
0
0
0
0
0
0
0
0
0
0
18
9
7
10
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
3
-5
-18
-94
-37
0
0
0
0
0
-1
-3
0
0
0
-7
-12
-33
77
40
-60
74
0
0
0
0
0
0
0
1
-32
9
3
-15
81
-10
81
9
1
0
0
0
0
0
-1
1
52
-2
-10
35
37
39
33
41
-14
4
0
0
0
0
0
0
2
-1
-15
5
-39
1
51
35
18
-65
6
0
0
0
0
0
0
-3
-1
29
-1
16
6
10
6
1
0
8
0
0
0
0
0
0
-3
3
8
12
6
45
-33
-25
10
-30
-6
0
0
0
0
0
0
-3
6
0
1
0
0
-1
4
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-36
44
-19
-24
35
1
0
0
0
0
0
19
-1
4
14
-25
-26
-44
-12
-3
-54
-31
18
0
0
0
0
0
16
-12
-7
74
86
49
-1
17
17
5
27
16
0
0
0
1
0
0
-9
26
21
28
18
-13
-48
-31
-2
-12
-6
0
0
0
0
0
-1
2
7
0
39
-15
12
2
-26
4
-14
11
0
0
0
0
0
-1
-1
-21
24
32
63
24
1
-2
23
28
15
0
0
0
0
-1
7
6
26
-19
26
49
-19
-22
11
-3
-3
-20
0
0
0
0
0
0
0
16
-39
48
54
-5
20
19
49
27
-11
0
0
0
0
0
3
2
1
0
6
-29
-2
48
8
34
-3
0
0
0
0
0
0
0
0
0
0
0
24
-41
-22
-21
38
-55
-1
0
0
0
0
0
0
0
0
1
0
41
-8
64
-32
-5
44
3
0
0
0
0
0
0
0
0
0
-8
12
18
10
54
21
0
-2
0
0
0
0
0
0
0
0
0
-6
4
-5
-4
51
27
-16
0
0
0
0
0
0
0
0
0
0
6
27
10
8
45
20
-6
11
0
0
0
0
0
0
-1
0
2
6
-14
42
6
57
57
33
4
0
0
0
0
0
0
0
0
0
0
24
7
4
47
-5
-1
2
0
0
0
0
0
0
0
0
1
0
-39
17
26
-11
-16
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
-1
7
5
0
0
0
0
0
0
0
0
0
0
6
30
1
-1
39
-110
-44
-1
0
0
0
0
0
0
0
0
0
4
0
1
37
20
-30
-1
-13
0
0
0
0
0
0
0
0
-3
-11
-75
-29
-30
-3
24
88
-48
0
0
0
0
0
0
0
0
3
1
-18
19
81
-13
50
-12
-12
0
0
0
0
0
0
0
0
0
-27
-59
15
35
66
12
-15
33
0
0
0
0
0
0
0
0
3
25
-55
28
26
29
59
18
-20
0
0
0
0
0
0
0
0
-7
24
26
44
14
-16
35
12
59
0
0
0
0
0
0
0
0
0
0
0
12
-13
-15
19
8
44
0
0
0
0
0
0
0
0
0
0
0
9
0
7
-11
0
0
0
0
0
0
0
0
0
0
0
0
10
-6
-19
15
12
25
-7
0
0
0
0
-1
2
0
0
1
0
-7
35
114
-5
12
-33
9
0
0
0
0
0
0
0
-15
-19
0
-23
-56
-47
48
63
-34
-31
0
0
0
0
0
1
2
-27
0
10
54
26
-139
63
39
-2
-13
0
0
0
0
0
0
0
39
19
31
121
80
34
22
32
-19
-6
0
0
0
0
0
1
0
3
10
23
37
75
-3
65
-22
-63
-1
0
0
0
0
0
0
-1
1
15
20
9
28
17
42
-32
60
44
0
0
0
0
0
0
-1
-2
-1
-3
37
-33
3
25
11
-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
1
-37
19
-42
39
-1
0
0
0
0
0
0
0
0
-1
0
2
9
5
28
-5
65
3
0
0
0
0
0
0
0
-1
1
0
11
56
-53
57
44
38
-36
0
0
0
0
0
0
1
6
0
-15
-15
-19
13
-31
-46
17
-2
0
0
0
0
0
0
-1
-1
1
5
-8
39
-24
16
32
25
-8
0
0
0
0
0
0
0
1
14
21
62
-4
21
20
33
15
0
0
0
0
0
0
0
0
-13
35
16
-12
28
66
-13
29
31
0
0
0
0
0
0
0
0
0
1
0
-1
83
28
118
-6
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
21
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-27
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
3
20
-40
47
0
0
0
0
0
0
0
0
-10
1
-2
0
4
20
-20
7
3
0
0
0
0
0
0
0
0
4
6
0
6
6
-2
2
29
40
0
0
0
0
0
0
0
0
-4
1
-2
0
-7
13
3
-16
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-6
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-1
-10
31
12
0
0
0
0
0
0
0
0
-2
15
-15
-22
1
-3
-40
26
70
-3
0
0
0
0
0
0
0
3
-1
-2
0
13
-13
2
19
27
-16
0
0
0
0
0
0
0
-3
0
-1
0
-6
-16
-2
-55
-25
-76
0
0
0
0
0
0
0
-2
0
0
2
3
22
18
89
-33
-38
0
0
0
0
0
0
0
0
0
0
1
-4
31
16
32
3
-65
0
0
0
0
0
0
0
0
0
0
0
12
-3
-38
52
54
5
0
0
0
0
0
0
0
0
0
0
0
0
3
-89
81
33
10
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
-1
-13
27
15
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
-41
-65
0
0
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
0
7
77
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
3
35
-58
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
41
-25
1
21
0
0
0
0
0
0
0
0
0
0
0
0
-1
52
-58
77
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-65
76
62
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
6
0
0
0
0
0
0
0
0
0
-2
0
3
-1
16
-9
1
0
0
0
0
0
0
0
0
1
1
1
0
1
9
-28
26
-40
-8
0
0
0
0
0
0
0
0
-1
-2
-1
0
0
-50
-12
24
3
0
0
0
0
0
0
0
0
0
0
0
0
-18
17
19
-3
0
0
0
0
0
0
0
0
0
0
0
0
7
7
-11
61
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
15
48
-4
14
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
77
1
38
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-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
1
2
41
-19
-4
0
0
0
0
0
0
0
-2
0
1
0
-1
2
4
62
22
15
0
0
0
0
0
0
0
0
4
0
-1
0
0
18
42
-4
0
3
0
0
0
0
0
0
0
0
0
0
-2
-7
-35
-4
-58
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
10
79
59
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
8
-26
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-43
0
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-10
-39
7
-10
54
9
0
0
0
0
0
0
-1
0
1
0
24
-15
11
23
2
23
-1
0
0
0
0
0
0
0
2
19
19
-24
-3
-6
15
-53
24
16
0
0
0
0
0
0
0
1
-2
-8
31
-17
-6
45
71
-35
25
0
0
0
0
0
0
0
0
-4
-5
-7
13
-31
-7
33
-65
8
0
0
0
0
0
0
0
0
0
0
6
-24
47
22
-60
-13
-9
0
0
0
0
0
0
0
0
-2
7
-26
-4
28
24
12
-18
-15
0
0
0
0
0
0
0
0
0
0
2
35
-31
-54
-21
-13
29
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-7
42
-2
-1
0
0
0
0
0
0
0
0
0
0
1
2
3
2
1
4
0
0
0
0
0
0
0
0
0
0
0
1
1
9
-3
-16
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
-12
0
0
0
0
0
0
0
0
-1
0
0
0
1
1
28
-26
27
-1
0
0
0
0
0
0
0
6
1
0
8
2
0
25
-2
12
28
0
0
0
0
0
0
0
0
-1
-1
-6
-6
0
-16
-68
-6
2
0
0
0
0
0
0
0
-3
0
0
-2
0
1
0
-36
4
2
0
0
0
0
0
0
0
0
4
4
0
-1
-2
-5
-5
51
11
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
3
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
49
-79
-42
-6
4
-8
2
0
0
0
0
0
0
8
-16
-26
-21
-5
-20
30
-1
1
59
8
-2
0
0
0
0
1
1
-18
-42
-7
1
4
71
-17
37
-13
-37
0
0
0
0
0
0
1
67
-17
-79
26
-24
49
-30
-24
53
22
0
0
0
0
0
0
0
10
-53
-14
-6
55
-43
1
68
-64
-39
-4
0
0
0
0
0
0
-1
-51
79
20
45
-55
25
-24
24
18
17
0
0
0
0
0
-1
0
24
34
-51
0
-52
-12
-15
-1
-11
0
0
0
0
0
0
0
2
60
0
-1
7
0
-13
-3
-6
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
3
0
0
34
6
-48
57
-9
1
0
0
0
0
0
8
14
6
18
26
-56
-18
-21
-35
-57
9
33
-1
0
0
0
0
-1
0
-20
-3
5
7
-6
-15
-34
6
-44
6
-2
0
0
0
0
0
-1
2
-30
-67
-40
5
-24
13
43
18
-27
27
0
0
0
0
0
0
-1
17
6
11
-20
17
-2
22
64
57
-20
0
0
0
0
0
0
0
24
-49
17
31
7
-11
29
63
74
17
0
0
0
0
0
0
0
-1
-6
-29
-21
-14
-10
-13
28
6
-12
0
0
0
0
0
0
0
-6
-25
80
21
27
18
-6
-3
-39
93
0
0
0
0
0
0
0
0
0
-11
1
-25
-19
4
-30
0
0
0
0
0
0
0
0
0
0
0
0
-15
-11
-4
12
-4
0
0
0
0
0
0
0
0
-1
18
-19
-45
35
24
-10
50
-3
3
0
0
0
0
0
0
0
0
2
33
27
-12
-10
-44
-7
15
0
0
0
0
0
0
0
0
0
0
-21
10
26
-1
-13
9
9
0
0
0
0
0
0
0
0
0
2
-19
20
-23
24
-29
8
-1
0
0
0
0
0
0
0
0
0
-3
5
71
-27
-25
-32
-4
-5
0
0
0
0
0
0
0
0
0
2
-35
-2
45
-30
-14
-8
-2
0
0
0
0
0
0
0
0
0
29
-22
42
6
-27
6
37
-12
-7
0
0
0
0
0
0
0
0
-1
-24
-21
4
-8
0
0
3
0
0
0
0
0
0
0
0
2
1
0
0
-3
-27
-43
28
2
-1
0
0
0
0
0
0
-6
8
13
-22
23
3
14
-42
49
23
0
0
0
0
0
0
0
0
-3
4
35
2
-13
38
-4
-45
17
4
0
0
0
0
0
0
0
0
13
-20
9
-9
46
19
-4
46
3
0
0
0
0
0
0
0
-4
-13
-30
7
27
22
85
-7
-1
39
0
0
0
0
0
0
0
0
25
50
8
9
38
50
-3
48
8
0
0
0
0
0
0
0
17
46
-12
-43
9
13
50
-60
45
0
0
0
0
0
0
0
0
0
-28
9
16
4
-10
-31
9
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
40
35
-8
61
9
41
-4
-8
0
0
0
0
0
10
1
15
-6
6
-50
80
-52
51
-20
21
-10
0
0
0
8
-2
0
-7
-59
-11
-35
31
54
-64
-9
43
-3
-12
0
0
0
0
0
-3
4
37
-55
-15
11
13
65
-17
67
6
-53
0
0
0
0
0
0
-1
12
-6
31
0
-21
-23
25
53
-11
10
0
0
0
0
0
0
2
-10
-12
-64
-18
13
-6
28
-59
-19
1
0
0
0
0
0
0
0
28
10
1
-15
15
-28
35
-28
28
-8
0
0
0
0
0
0
-1
0
-3
0
2
3
-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
12
47
-30
-48
15
6
3
-7
0
0
0
0
0
0
-1
25
2
-40
50
-26
17
36
18
-9
4
0
0
0
0
0
0
0
-22
30
66
55
-7
31
73
-26
-10
0
0
0
0
0
0
0
0
6
3
34
-24
44
8
36
34
-12
2
0
0
0
0
0
-1
0
7
49
40
19
51
48
9
58
22
-4
0
0
0
0
0
0
0
-74
-39
36
18
-17
-29
64
31
-19
1
0
0
0
0
0
0
0
-27
-11
-10
-32
21
-18
-54
-51
30
0
0
0
0
0
0
0
0
10
-23
4
-60
50
39
57
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-2
-4
0
0
0
0
0
0
-1
0
6
3
0
9
-1
-2
3
13
6
-1
0
0
0
0
0
0
-3
-12
10
-7
10
-1
-2
2
-3
11
0
0
0
0
0
0
0
0
-24
52
9
35
10
-11
0
-1
-18
2
0
0
0
0
0
0
0
5
10
12
50
-26
6
-1
-34
98
1
0
0
0
0
0
0
0
14
6
1
-7
-1
1
-7
-40
32
1
0
0
0
0
0
0
0
4
-1
-4
-1
18
-6
13
8
-8
2
0
0
0
0
0
0
0
-4
-1
-20
0
-1
-2
-9
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-3
1
0
0
0
0
0
0
0
0
0
0
0
1
0
41
20
57
45
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-45
33
52
0
0
0
0
0
0
0
0
0
0
0
0
1
-33
14
-27
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-41
7
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
97
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
1
0
0
0
0
0
0
0
0
0
0
0
0
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
38
34
-27
1
0
0
0
0
0
0
0
0
0
0
4
-7
-56
-117
20
48
-4
0
0
0
0
0
0
0
10
3
11
-1
-56
-45
-4
-31
1
3
0
0
0
0
0
0
4
32
-8
3
1
33
45
22
-44
5
-8
0
0
0
0
0
0
0
4
21
-20
50
17
11
-13
11
2
0
0
0
0
0
0
0
0
-7
-2
67
-5
4
21
24
16
37
-1
0
0
0
0
0
0
0
-13
-25
-20
-18
0
5
-2
2
-13
0
0
0
0
0
0
0
0
39
-8
-7
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
18
29
82
0
0
0
0
0
0
0
0
0
0
36
40
-14
16
36
-3
7
0
0
0
0
0
-1
2
9
45
-2
-7
13
-34
4
31
25
17
0
0
0
0
0
0
1
15
3
20
-2
63
39
3
24
6
39
0
0
0
0
0
-1
-4
0
39
103
55
31
40
-33
25
45
38
0
0
0
0
0
0
0
15
-3
17
28
38
28
-18
7
17
47
0
0
0
0
0
0
0
-15
9
-12
1
-17
-1
9
15
4
22
0
0
0
0
0
0
0
0
0
1
0
-4
0
-1
17
-24
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
6
-18
-6
4
60
-35
0
0
0
0
0
0
0
3
3
-2
19
-24
-4
-9
19
-29
-65
-127
0
0
0
0
0
0
9
-9
33
-24
10
-11
-6
5
15
-30
-98
0
0
0
0
0
0
9
4
44
-5
12
37
24
3
49
-33
-8
0
0
0
0
0
0
-2
-5
-5
21
-27
-26
37
32
3
-30
-42
0
0
0
0
0
0
-7
13
54
-1
6
-24
-4
29
-25
-39
-61
0
0
0
0
0
-1
-1
0
12
53
73
19
-19
1
-11
-44
-48
0
0
0
0
0
-1
1
0
1
-44
59
-8
23
-14
20
30
-48
0
0
0
0
0
0
0
0
0
0
-18
54
10
28
12
10
0
0
0
0
0
0
0
0
0
0
0
-6
56
-9
-17
-67
-20
18
0
0
0
0
0
0
0
0
-3
-2
1
-24
-52
-56
-16
3
12
0
0
0
0
0
0
0
0
0
-13
59
0
34
-39
-34
12
12
0
0
0
0
0
0
0
0
0
7
14
20
-35
-14
33
-15
47
0
0
0
0
0
0
0
0
-1
4
2
21
-27
-42
47
65
-22
0
0
0
0
0
0
0
0
2
2
-2
-4
-6
-50
-20
70
2
0
0
0
0
0
0
0
0
-5
3
-6
17
16
3
4
3
-3
0
0
0
0
0
0
0
0
6
14
2
13
10
67
12
4
8
0
0
0
0
0
0
0
0
-2
7
9
-10
12
-21
9
-49
22
0
0
0
0
0
0
0
0
0
3
-35
62
36
3
1
-2
-4
0
0
0
0
0
0
0
0
0
-27
0
-5
68
15
12
-7
25
0
0
0
0
0
0
0
0
0
23
53
53
41
76
67
-9
-40
0
0
0
0
0
0
0
0
1
11
-26
6
0
60
27
8
-45
0
0
0
0
0
0
0
0
-3
7
134
84
39
2
-9
16
33
0
0
0
0
0
0
-3
-1
0
4
-2
27
-51
42
100
78
17
0
0
0
0
0
0
0
1
6
-22
28
-52
-4
43
100
32
5
0
0
0
0
0
0
0
0
2
0
-3
10
-14
15
28
-7
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
33
1
31
11
46
-25
34
0
0
0
0
0
0
1
0
1
0
25
65
10
26
55
40
-11
0
0
0
0
0
1
2
11
-7
21
-33
19
-62
87
43
-6
19
0
0
0
0
0
0
-3
3
38
33
142
92
33
11
51
21
16
0
0
0
0
0
0
0
3
-1
16
9
-7
2
25
37
19
41
0
0
0
0
0
0
1
9
15
18
-12
22
69
-8
11
74
-40
0
0
0
0
0
0
0
15
-53
-7
-1
-12
102
19
9
24
-33
0
0
0
0
0
0
0
0
0
0
-2
0
6
4
16
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
1
-30
-32
2
103
-6
0
0
0
0
0
0
1
0
0
0
0
75
8
39
40
-2
46
0
0
0
0
0
0
0
4
0
1
-36
47
34
10
28
55
32
0
0
0
0
0
0
2
-6
0
-4
4
33
57
-28
24
-34
102
0
0
0
0
0
0
0
-10
-3
-14
34
20
39
39
49
37
76
0
0
0
0
0
0
0
-1
29
0
52
113
-35
23
-6
56
6
0
0
0
0
0
0
0
0
6
6
-22
22
-40
57
7
-55
35
0
0
0
0
0
0
0
0
0
-2
1
8
29
-47
-58
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
48
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
-9
-29
37
0
0
0
0
0
0
0
0
0
0
2
4
-9
56
-11
28
-18
0
0
0
0
0
0
0
0
0
0
0
0
13
14
8
50
13
0
0
0
0
0
0
0
0
1
0
0
13
1
0
8
60
32
0
0
0
0
0
0
0
0
0
0
-1
3
0
15
21
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
10
-26
3
8
23
-4
82
0
0
0
0
0
0
2
8
3
-27
-1
4
15
-8
31
26
14
0
0
0
0
0
0
0
0
-7
12
27
-36
-25
-9
144
127
20
0
0
0
0
0
0
0
-1
3
2
0
-7
-43
36
-37
87
50
0
0
0
0
0
0
0
0
-1
1
0
-28
11
31
84
39
90
0
0
0
0
0
0
0
0
0
0
1
9
2
-12
27
100
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
-84
27
55
106
0
0
0
0
0
0
0
0
0
0
0
0
-8
38
15
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-41
-39
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
4
2
22
0
0
0
0
0
0
0
0
0
-1
-2
3
1
-19
38
33
32
0
0
0
0
0
0
0
0
0
0
11
0
9
18
19
44
6
0
0
0
0
0
0
0
0
0
0
-4
-3
0
-17
36
144
49
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-23
13
37
37
0
0
0
0
0
0
0
0
0
0
0
0
-1
-35
-41
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-46
16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
5
-44
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-1
0
0
0
0
0
0
0
0
0
4
0
0
-7
-16
-37
-24
-9
0
0
0
0
0
0
0
0
0
0
1
2
13
-21
-13
16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
68
22
56
0
0
0
0
0
0
0
0
0
0
1
0
-19
3
20
-29
44
0
0
0
0
0
0
0
0
0
0
0
0
-12
12
12
74
10
0
0
0
0
0
0
0
0
0
0
0
0
-2
-28
-16
-14
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-20
-11
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
16
26
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
-13
19
-6
-15
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
38
37
18
0
0
0
0
0
0
0
0
0
0
-2
-6
36
-28
41
29
25
0
0
0
0
0
0
0
0
0
0
0
0
4
-21
-28
-6
4
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
-22
-25
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-25
-26
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-35
32
-10
21
1
11
-3
10
0
0
0
0
0
0
0
0
0
24
57
0
12
-4
-34
27
29
0
0
0
0
0
0
0
-1
0
64
-11
24
68
-36
50
25
7
0
0
0
0
0
0
0
0
-12
-49
-23
-4
-30
8
32
29
33
0
0
0
0
0
0
0
0
1
-2
21
6
6
76
22
10
-5
0
0
0
0
0
0
0
0
1
0
-4
-7
47
-8
26
-18
29
0
0
0
0
0
0
0
0
-2
0
0
2
-7
-28
3
24
37
0
0
0
0
0
0
0
0
-1
0
0
-2
-4
0
7
-51
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-17
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
1
25
-15
27
0
0
0
0
0
0
0
0
0
0
1
4
0
3
30
68
55
0
0
0
0
0
0
0
0
0
0
0
8
4
-10
19
10
-42
0
0
0
0
0
0
0
0
0
0
-1
0
10
-4
54
-27
3
0
0
0
0
0
0
0
0
1
0
0
0
-10
-8
-41
40
-8
0
0
0
0
0
0
0
0
2
-1
0
1
-10
12
16
26
-26
0
0
0
0
0
0
0
0
0
0
0
-2
0
13
-10
8
31
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-25
39
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-27
45
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
-12
3
0
52
-5
7
-3
28
-15
13
42
0
0
0
0
0
-3
-29
18
-5
43
15
42
24
-23
-17
48
-4
0
0
0
0
0
3
26
-16
26
-17
16
-17
43
7
27
-19
32
0
0
0
0
0
0
-24
1
-4
16
46
10
-45
-29
38
38
-24
0
0
0
0
0
0
-4
-18
73
6
44
-27
1
14
44
47
9
0
0
0
0
0
0
-1
-6
-9
7
-43
1
1
0
15
24
-12
0
0
0
0
0
0
-1
0
18
-19
-28
-1
40
6
51
-9
4
0
0
0
0
0
0
0
3
0
4
0
0
6
13
-17
-6
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-27
0
23
-8
-25
-58
-33
-44
7
0
0
0
0
1
0
0
11
-31
54
28
-4
14
-16
-23
-7
46
0
0
0
0
0
0
2
-18
-62
-4
24
9
15
11
-18
-20
50
0
0
0
0
0
0
2
-12
15
19
-10
2
-25
50
31
-27
-11
0
0
0
0
0
0
0
-11
15
52
-4
-13
14
28
32
99
41
0
0
0
0
0
0
0
-6
39
-59
49
-13
3
42
23
32
-26
0
0
0
0
0
0
0
2
-37
-10
4
-28
-30
58
-31
-37
-12
0
0
0
0
0
0
-1
0
3
-31
-9
18
0
-5
-21
-16
-3
0
0
0
0
0
0
0
0
0
-10
1
39
-55
13
1
0
0
0
0
0
0
0
0
0
8
-17
0
-41
43
0
8
-3
7
0
0
0
0
0
0
0
0
2
6
2
75
0
-33
-29
-9
-42
0
0
0
0
0
0
0
0
22
-4
-9
-10
-9
14
30
-8
-9
0
0
0
0
0
0
0
1
-2
6
5
37
30
65
65
-10
-3
0
0
0
0
0
0
0
0
0
-11
3
27
-9
-14
16
3
-1
1
0
0
0
0
0
0
1
14
35
-18
6
12
21
9
-2
0
0
0
0
0
0
0
0
0
-22
-5
62
-19
-33
-4
-73
-2
-3
0
0
0
0
0
0
0
0
-7
-2
-20
-20
-6
-28
-1
0
0
0
0
0
0
0
0
0
0
-28
-19
-10
39
0
-4
3
0
0
0
0
0
0
0
0
0
-1
-11
28
0
35
-40
-15
-13
27
0
0
0
0
0
0
0
0
-2
-19
24
-22
-4
-57
-40
23
40
-6
0
0
0
0
0
0
0
1
-3
16
60
52
50
40
-57
-36
-3
0
0
0
0
0
0
0
-3
7
-23
29
-20
21
-16
-67
35
-2
0
0
0
0
0
0
0
1
1
17
52
-29
-31
-3
-6
27
-16
0
0
0
0
0
0
0
-3
15
57
-2
-40
-35
-17
-26
-18
-1
0
0
0
0
0
0
0
0
-25
18
6
8
25
-51
0
16
0
0
0
0
0
0
0
0
0
2
-18
11
13
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
-2
-9
98
0
-20
11
-46
1
12
53
50
-30
0
0
0
0
0
1
10
-1
0
9
11
-48
2
5
89
15
-21
0
0
0
0
0
0
-12
-23
-36
19
33
24
58
40
22
35
-21
0
0
0
0
0
0
13
-60
-12
-26
21
-47
33
2
11
114
21
0
0
0
0
0
0
0
24
-3
-61
20
24
-49
23
25
20
-23
0
0
0
0
0
0
0
-4
21
-39
16
13
25
11
48
-25
12
0
0
0
0
0
0
0
10
0
0
14
4
-22
-11
-11
-33
-8
0
0
0
0
0
0
0
0
-1
-2
2
18
0
6
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
29
0
5
16
2
-1
10
-7
-25
3
0
0
0
0
0
0
1
2
14
30
8
-32
-29
89
27
33
40
0
0
0
0
0
0
0
11
-5
-10
-28
-32
4
-4
37
93
-18
0
0
0
0
0
0
0
4
-38
29
1
-6
-28
-3
-13
29
-4
0
0
0
0
0
0
0
35
5
-44
-5
-82
-48
40
-3
-3
-21
0
0
0
0
0
0
0
-1
1
42
-65
-2
15
-4
120
4
129
0
0
0
0
0
0
0
0
25
-2
13
-15
25
23
-63
-23
-24
0
0
0
0
0
0
0
0
21
23
0
18
-1
-19
-8
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
-4
-3
-1
0
0
0
0
0
0
1
6
2
-2
10
-7
1
-6
-2
25
9
0
0
0
0
0
0
0
-1
-3
-1
1
1
-7
0
-11
15
17
0
0
0
0
0
0
0
0
1
-1
-13
2
6
1
20
19
33
0
0
0
0
0
0
0
-4
0
-4
-4
28
7
4
20
13
-24
0
0
0
0
0
0
0
0
0
2
2
-3
-7
0
-4
22
-19
0
0
0
0
0
0
0
0
1
0
-10
12
0
-6
10
-3
-3
0
0
0
0
0
0
0
0
-1
0
0
-1
-3
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-44
21
37
20
-28
7
0
2
0
0
0
0
0
0
0
21
-39
-35
-28
-34
25
10
65
36
10
0
0
0
0
0
0
0
42
-6
-14
2
13
8
-14
2
8
1
0
0
0
0
0
0
0
-5
36
13
0
16
29
-1
-1
0
0
0
0
0
0
0
0
0
-2
-3
-26
5
15
-1
3
0
0
0
0
0
0
0
0
0
0
-37
2
10
-35
-14
24
-4
0
0
0
0
0
0
0
0
0
0
-17
-4
-58
11
-14
-20
0
0
0
0
0
0
0
0
0
0
0
-14
26
-29
57
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
5
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
-9
-47
0
-17
-9
1
0
0
0
0
0
0
0
0
0
0
8
-35
-27
-27
2
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
31
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-4
56
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
32
41
-37
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
64
13
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-28
-14
38
-22
4
0
0
0
0
0
0
0
0
0
0
0
-2
30
-14
21
-58
-3
-1
4
2
0
0
0
0
0
0
0
0
-20
31
-119
26
48
12
4
-3
2
1
0
0
0
0
0
0
0
1
29
58
-52
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
13
6
-49
0
-1
0
0
0
0
0
0
0
0
0
0
-7
-43
58
15
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-35
73
18
0
0
0
0
0
0
0
0
0
0
0
0
-11
-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
6
19
-60
-31
-13
2
-7
0
0
0
0
0
0
0
0
0
34
42
-1
12
-51
-48
-3
15
0
0
0
0
0
0
0
0
0
9
10
-32
57
20
3
3
-3
0
0
0
0
0
0
0
0
0
-1
0
-72
-94
-17
-12
0
0
0
0
0
0
0
0
0
0
0
4
-10
79
79
-36
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-16
-24
57
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-34
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-19
7
84
85
-40
-96
-68
0
-1
0
0
0
0
0
0
0
-27
-60
40
8
-12
-4
-2
5
-68
0
0
0
0
0
0
0
0
-1
4
-11
30
-30
-115
-73
41
-7
-7
0
0
0
0
0
0
0
34
-10
10
84
75
67
-25
18
51
0
0
0
0
0
0
0
0
-4
15
-11
22
-6
46
-42
-41
1
-9
0
0
0
0
0
0
0
5
-41
-57
38
24
1
25
25
0
0
0
0
0
0
0
0
0
24
7
70
-24
57
-10
103
-16
2
0
0
0
0
0
0
0
0
-24
11
-4
-30
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
2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
17
-10
-13
-7
0
-2
0
-2
0
0
0
0
0
0
0
0
-10
41
17
23
-2
3
0
-7
-3
0
0
0
0
0
0
0
0
-9
-24
-16
37
6
-1
3
1
0
-8
0
0
0
0
0
0
0
0
-17
31
-3
8
-6
1
11
1
-1
0
0
0
0
0
0
0
-1
14
3
26
-1
-4
2
-1
0
-15
0
0
0
0
0
0
0
0
-64
-13
-2
-4
-2
0
0
-1
-1
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
33
-23
-35
-64
-2
-63
-32
0
57
0
0
0
0
0
0
0
4
77
81
94
90
25
-35
40
43
13
-133
-38
3
0
0
0
0
-2
-6
62
-33
64
25
-8
-8
-41
-67
7
-5
0
-1
0
0
0
2
36
-6
11
19
17
36
41
25
-6
-16
-15
4
-1
0
0
0
-45
43
10
31
-16
23
34
78
33
77
-52
12
0
0
0
0
0
0
73
-43
-58
-9
63
3
11
66
26
4
0
0
0
0
0
0
0
10
-89
29
46
11
16
13
44
21
0
0
0
0
0
0
0
0
0
-3
7
-1
5
-27
33
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
22
10
14
-24
-20
-82
-7
0
-127
-104
-1
16
8
0
0
0
0
54
-8
-23
-16
-33
-52
-12
29
-3
34
29
-16
31
-1
0
0
0
38
-4
14
-14
-15
-26
-11
3
-2
-36
-30
-9
58
-1
0
0
0
8
35
2
-9
-17
-13
10
10
-9
-10
-29
25
8
2
0
0
0
25
20
-14
-2
-20
-17
-18
-24
58
-29
21
-11
-4
7
0
0
0
34
6
-13
-16
-12
-21
-17
-16
-41
-53
40
-9
1
0
0
0
0
-8
10
-11
9
8
-18
-6
-15
-34
8
-9
9
3
0
0
0
0
-4
59
-44
5
-5
-13
-9
-35
27
-36
0
0
0
0
0
0
0
0
1
4
-24
26
-15
-73
11
8
-1
0
0
-3
0
0
0
0
0
24
15
-2
5
-5
18
0
-52
4
-1
0
0
0
0
0
0
0
-27
-17
-47
42
-6
70
71
26
39
-18
0
0
0
0
0
0
0
-5
-35
-4
-5
-26
9
-8
-39
-37
2
0
0
0
0
0
0
0
28
-100
-13
19
30
66
44
29
-8
-3
1
0
0
0
0
0
3
0
-14
38
76
89
39
21
11
9
0
0
0
0
0
0
0
0
4
20
-28
132
35
-22
5
-21
-3
1
0
0
0
0
0
0
0
1
68
41
-23
16
97
-29
-7
-1
0
0
0
0
0
0
0
33
0
-16
58
56
19
17
-1
-6
0
0
0
0
0
0
0
0
0
0
3
-7
32
-53
79
2
4
0
0
0
0
0
0
0
0
0
-89
-61
-12
-14
-9
65
0
-1
-13
12
6
3
0
0
0
0
0
28
-19
-18
14
-12
33
27
-16
-34
-40
-22
-7
0
0
0
0
0
34
19
25
2
26
39
-4
5
18
38
40
1
0
0
0
0
0
13
17
-24
17
1
26
74
49
20
-2
-29
-3
0
0
0
0
0
-21
18
8
12
5
22
102
43
-31
-2
7
0
3
0
0
0
0
-22
-27
10
3
8
34
106
80
22
50
-10
-1
0
0
0
0
0
-1
-5
-29
3
27
60
78
74
-5
20
26
-1
0
0
0
0
0
1
-7
15
-24
-48
47
55
79
14
0
-3
0
0
0
0
0
0
0
0
0
-3
20
-3
0
0
0
0
0
0
0
0
0
41
20
3
31
7
-14
-43
15
0
-5
37
9
0
0
0
0
0
93
39
-37
0
-9
30
-9
12
26
18
-10
-14
1
1
0
0
0
-39
58
0
15
19
17
-2
-11
-12
-96
31
-5
0
0
0
0
0
41
69
-14
38
41
17
30
24
22
20
22
36
0
0
0
0
0
-9
41
19
17
2
54
23
19
73
-24
25
-12
0
0
0
0
0
1
1
48
29
30
41
29
45
-12
-23
11
-1
0
0
0
0
0
13
19
0
-38
5
26
62
38
-59
1
3
-4
0
0
0
0
0
-4
1
-12
-68
16
11
76
-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
34
33
12
-4
22
29
10
30
0
33
11
0
0
0
0
0
0
24
-11
85
31
-19
18
64
27
12
-6
9
4
0
0
0
0
0
33
28
47
41
6
12
4
47
-22
8
1
8
0
0
0
0
0
26
26
-37
61
13
6
-43
24
53
59
-13
-1
0
0
0
0
0
13
-87
94
27
4
-16
3
50
-3
-15
-26
0
0
0
0
0
0
26
28
3
81
23
23
41
26
47
9
-18
0
0
0
0
0
0
-14
-11
29
5
42
26
38
14
5
28
0
0
0
0
0
0
0
0
-1
3
53
10
-38
-8
20
-5
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
4
28
24
26
0
0
0
0
0
0
0
0
0
6
0
1
-1
2
3
-53
140
24
-33
2
0
0
0
0
0
0
0
4
0
-9
43
-40
27
24
1
13
0
0
0
0
0
0
0
0
0
-1
10
-16
-29
13
-15
54
-17
-3
0
0
0
0
0
0
0
12
-12
14
62
36
-87
-33
-66
-22
0
0
0
0
0
0
0
0
7
-11
-14
3
35
-40
-2
-40
0
-7
0
0
0
0
0
0
0
7
-1
-1
25
-32
-29
-34
15
2
-1
0
0
0
0
0
0
0
6
0
3
-1
1
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
37
0
0
0
4
8
0
0
0
0
0
0
0
0
0
0
50
48
0
0
73
25
-11
-6
0
0
0
0
0
0
0
0
0
1
42
42
62
40
63
4
3
-4
0
0
0
0
0
0
0
0
33
2
24
27
-17
-36
58
0
0
0
0
0
0
0
0
0
0
32
48
-21
4
34
-5
4
1
0
0
0
0
0
0
0
0
0
-49
-17
-13
-18
25
45
41
-3
4
0
0
0
0
0
0
0
0
-24
-21
-18
-24
3
-25
1
-1
0
0
0
0
0
0
0
0
0
-11
-9
-56
-39
33
20
-1
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
0
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-72
0
0
-6
-1
0
8
0
0
0
0
0
0
0
0
0
2
86
69
70
33
-43
-1
0
0
0
0
0
0
0
0
0
0
0
-10
60
45
16
-39
-2
0
0
0
0
0
0
0
0
0
0
0
-60
22
22
31
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
43
-31
53
5
-7
0
0
0
0
0
0
0
0
0
0
0
2
-31
-65
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-20
-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
-1
30
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
66
78
26
0
0
0
0
0
0
0
0
0
0
20
31
60
54
-18
6
9
2
0
0
0
0
0
0
0
0
0
-3
18
26
2
-6
5
-1
-1
0
0
0
0
0
0
0
0
0
-5
17
25
21
36
11
0
0
0
0
0
0
0
0
0
0
0
1
-33
-24
14
34
1
0
0
0
0
0
0
0
0
0
0
0
0
-29
-19
11
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-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
1
-49
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
47
72
0
0
8
-4
0
0
0
0
0
0
0
0
0
0
0
14
49
61
38
14
22
0
1
0
0
0
0
0
0
0
0
-1
24
61
-5
33
12
-10
4
2
0
0
0
0
0
0
0
0
0
69
-37
29
-19
54
9
0
0
0
0
0
0
0
0
0
0
0
12
-40
-21
-2
-20
0
0
0
0
0
0
0
0
0
0
0
0
7
5
19
5
90
-2
0
0
0
0
0
0
0
0
0
0
0
0
9
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
-3
-25
5
59
94
100
0
0
0
67
-2
0
0
0
0
0
0
14
-26
28
-18
125
84
0
0
0
26
14
-1
0
0
0
0
0
-12
-24
-10
30
76
88
108
68
29
-1
1
-1
0
0
0
0
0
0
12
-5
21
2
30
50
18
67
-42
0
0
0
0
0
0
0
0
5
30
48
8
-34
-11
9
49
15
0
0
0
0
0
0
0
-14
-6
-1
43
-18
10
-2
10
34
-40
8
0
0
0
0
0
0
0
6
23
4
-33
-1
-38
28
23
-4
-2
-2
0
0
0
0
0
0
0
-32
19
37
-24
-37
5
-5
-5
6
0
0
0
0
0
0
0
0
0
-3
-2
-6
5
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
1
-2
-2
24
0
0
0
16
21
10
-2
0
0
0
0
0
0
-2
-3
4
40
30
45
25
-15
0
-3
-2
-2
0
0
0
-1
2
-6
-4
-7
64
18
20
-33
8
-4
-1
0
0
0
0
0
-1
-4
-22
-56
39
-31
13
24
14
-35
-6
0
0
0
0
0
0
-3
10
-15
-1
15
-107
-58
-10
-20
-11
0
0
0
0
0
0
0
0
16
-31
-13
41
-39
12
-8
-18
18
0
0
0
0
0
0
0
0
-3
-2
-3
3
-17
11
-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
34
18
-10
5
37
32
0
0
0
0
0
0
0
0
0
0
0
10
-16
19
17
11
28
13
0
0
0
0
0
0
0
0
0
0
25
8
-11
-20
48
49
-9
-1
0
0
0
0
0
0
0
0
0
5
20
3
38
-59
-4
-44
0
1
0
0
0
0
0
0
0
0
27
57
4
21
-34
-2
-1
-41
11
-6
0
0
0
0
0
0
0
-4
27
57
3
23
49
-65
-27
17
3
-6
0
0
0
0
0
0
39
3
-13
6
-3
54
-18
44
-5
0
-6
12
0
0
0
0
0
1
-32
13
24
-17
2
29
14
-11
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
-2
-37
-47
14
28
75
113
0
0
0
0
1
0
0
0
0
0
-29
-36
-33
-18
-2
93
97
0
0
26
10
-13
-2
0
0
0
0
-14
-34
-16
-19
8
19
50
88
107
-1
-6
28
0
2
0
0
0
-20
-8
-24
-25
-28
26
59
-14
102
-34
-46
6
0
0
0
0
0
-54
-6
6
-4
-10
-20
32
32
49
14
7
16
22
-1
0
0
0
10
-21
-8
-16
-33
-35
16
29
-9
-31
13
2
0
0
0
0
0
18
13
-19
-22
49
-22
8
-14
-19
37
-6
4
0
0
0
0
0
0
12
10
38
-8
-34
-34
1
0
-2
-1
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-50
-18
-15
5
50
134
0
0
6
0
0
-1
0
0
0
0
-45
-14
-6
-2
6
34
58
54
2
-14
-77
-10
5
0
0
0
0
-5
-3
-21
-21
-8
13
36
28
2
-50
18
-32
-6
0
0
0
0
19
-4
-13
-22
-14
-8
-1
21
25
19
16
-37
2
0
0
0
0
-25
23
-18
-12
-32
3
-15
13
-4
2
-57
2
2
0
0
0
0
13
-39
-25
-24
-13
-32
-15
-16
40
19
-21
21
1
0
0
0
0
-6
6
-20
-20
-26
-25
-8
-38
-47
6
28
-10
0
0
0
0
0
-15
-44
-6
-7
-2
-56
-41
-12
-27
6
-1
11
0
0
0
0
0
0
0
7
39
11
-64
-12
1
-4
0
1
0
0
0
0
0
0
-6
56
91
134
175
147
46
0
0
0
0
0
0
0
0
0
0
64
27
19
37
85
85
84
-5
-17
0
0
0
0
0
0
0
0
31
7
-2
-9
44
28
12
-28
1
0
0
0
0
0
0
0
0
-3
-43
-40
-16
50
44
26
-33
-15
0
1
0
0
0
0
0
0
11
-40
-12
-49
17
-45
-14
34
-15
1
0
2
0
0
0
0
0
-42
-20
-46
-27
-12
-17
-7
-16
-1
0
0
0
0
0
0
0
0
-14
-9
-34
-57
-80
-47
-8
-25
27
-13
0
0
0
0
0
0
0
-10
-36
-11
54
1
-58
-47
10
-38
0
0
0
0
0
0
0
0
-13
-48
-11
-5
-50
-14
-1
19
0
0
0
0
0
0
0
0
0
-18
-19
-23
8
33
62
82
57
0
-1
0
0
0
0
0
0
0
-2
-16
12
3
13
77
0
67
39
8
0
-4
0
0
0
0
0
-5
6
-7
10
38
51
33
48
-57
8
0
0
0
0
0
0
0
-10
1
-3
15
1
23
56
43
16
11
-6
0
0
0
0
0
0
-9
-13
4
22
-17
17
4
-24
26
1
-3
0
0
0
0
0
0
-8
12
-10
-3
-10
-35
-5
0
-5
-1
0
0
0
0
0
0
0
-50
-22
-32
9
-25
-16
14
-71
-26
0
0
0
0
0
0
0
0
-7
-38
-7
49
-38
17
-58
-8
0
0
0
0
0
0
0
0
0
0
0
-19
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
-21
4
-43
-9
35
131
92
0
0
49
5
0
0
0
0
0
0
-13
-12
-7
-20
7
80
142
0
152
0
80
-32
3
-7
0
0
0
-37
-32
-27
-15
13
37
64
83
95
46
63
-13
0
0
0
0
0
38
-11
-21
-13
12
19
18
-15
42
-12
7
-32
-1
0
0
0
0
-20
21
16
-5
-2
-16
5
-4
-2
14
12
0
0
0
0
0
0
-20
-20
-1
-17
-8
-24
-21
-20
-75
81
8
1
0
0
0
0
0
2
-59
-51
-38
24
-14
7
-16
-73
-51
1
1
0
0
0
0
0
-1
21
18
-30
-2
-91
20
-11
-2
-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
40
-22
-21
10
49
78
82
214
0
0
0
0
0
0
0
0
0
21
-26
-62
-10
-8
37
66
0
7
0
25
-2
0
0
0
0
0
16
17
12
-20
-20
64
35
60
140
43
19
0
0
0
0
0
0
51
10
-16
-21
0
31
36
-3
63
68
-17
6
11
0
0
0
0
-26
7
-1
-13
18
-1
11
-51
15
49
27
0
0
0
0
0
0
8
-18
17
-37
-35
43
33
-66
31
-28
0
0
0
0
0
0
0
3
10
-20
-29
-2
-16
-58
-18
9
6
1
0
0
0
0
0
0
32
-31
31
34
-63
18
-23
-19
0
0
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
65
-11
59
116
38
0
0
0
0
0
0
0
0
0
0
0
5
29
58
62
51
75
44
8
0
46
11
0
0
0
0
0
0
-2
44
1
34
10
-5
7
29
36
-21
0
0
0
0
0
0
0
8
-21
-36
47
-33
-34
16
19
0
-41
-11
0
0
0
0
0
0
-3
-3
-5
-52
17
-46
20
1
-41
-5
2
0
0
0
0
0
0
-53
-58
-29
-5
-54
-42
-22
-13
26
-35
3
0
0
0
0
0
0
-4
-83
-30
-65
-49
-55
-40
20
-14
-13
2
0
0
0
0
0
0
0
21
12
-27
-1
-12
3
-4
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
52
-25
-1
-35
-3
-47
-14
0
0
0
0
0
0
0
0
0
1
-5
27
-5
11
-25
8
31
-12
1
0
0
0
0
0
0
0
11
49
23
34
-47
13
19
1
-7
0
0
0
0
0
0
0
0
46
35
16
31
5
-4
3
0
1
0
0
0
0
0
0
0
0
45
2
44
-19
44
-25
0
0
0
0
0
0
0
0
0
0
0
33
15
29
-3
-74
-6
0
0
0
0
0
0
0
0
0
0
0
30
-7
6
-19
13
14
0
0
0
0
0
0
0
0
0
0
0
0
16
-2
54
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
17
34
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
34
-14
25
-28
0
0
0
0
0
0
0
0
0
0
0
0
8
73
14
-1
-30
5
0
0
0
0
0
0
0
0
0
0
0
7
34
13
20
-7
1
-1
0
0
0
0
0
0
0
0
0
0
-27
76
90
-32
-15
0
0
0
0
0
0
0
0
0
0
0
0
-22
42
-64
18
-4
4
0
0
0
0
0
0
0
0
0
0
0
20
36
13
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
-9
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
10
-6
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
1
-32
-12
-35
-7
1
0
0
0
0
0
0
0
0
0
-24
40
44
1
35
11
-24
1
0
0
0
0
0
0
0
0
0
36
-13
-21
21
14
-25
-2
0
0
0
0
0
0
0
0
0
0
-39
29
-1
71
12
1
0
0
0
0
0
0
0
0
0
0
0
-30
122
28
54
20
0
0
0
0
0
0
0
0
0
0
0
0
-8
-15
31
52
-11
0
0
0
0
0
0
0
0
0
0
0
0
3
-44
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-55
7
-8
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
-47
-24
6
18
-13
-12
2
0
0
0
0
0
0
0
0
0
-9
64
11
25
17
-21
-13
8
1
0
0
0
0
0
0
0
0
4
5
39
-16
40
-27
0
-2
0
0
0
0
0
0
0
0
0
-3
49
47
45
18
-12
0
0
0
0
0
0
0
0
0
0
0
-2
56
63
22
14
15
2
0
0
0
0
0
0
0
0
0
0
-4
6
-15
3
-26
1
0
0
0
0
0
0
0
0
0
0
0
-3
27
-22
-2
-8
-4
0
0
0
0
0
0
0
0
0
0
0
4
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-13
31
37
66
22
-4
-21
0
7
1
0
0
0
0
0
0
-82
10
-24
-31
1
-10
7
-95
7
-6
0
0
0
0
0
0
0
-6
34
39
-7
-5
50
-13
51
47
-2
0
0
0
0
0
0
0
-8
28
74
76
-31
-5
8
-12
-25
11
-1
0
0
0
0
0
0
29
33
12
48
7
-28
-20
0
-1
2
0
0
0
0
0
0
0
-3
27
-5
43
17
-11
4
-4
1
-3
0
0
0
0
0
0
0
-7
16
-34
13
8
1
3
0
-3
6
0
0
0
0
0
0
0
-14
9
-9
23
-2
-1
0
0
-30
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-23
6
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-24
7
-11
-1
0
-1
7
0
0
0
0
0
0
0
0
1
78
19
-2
-1
0
0
0
1
0
0
0
0
0
0
0
0
43
59
-32
47
0
1
-16
0
0
0
0
0
0
0
0
0
0
-26
-32
9
40
-25
-1
0
0
3
-3
0
0
0
0
0
0
0
-3
20
36
-5
-3
0
2
0
0
0
0
0
0
0
0
0
0
18
-29
87
-4
4
-4
0
0
0
0
0
0
0
0
0
0
0
-37
-20
13
-32
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
89
4
49
3
31
6
-5
0
-12
-7
53
6
0
0
0
0
67
124
57
33
99
42
-5
3
-3
26
19
56
20
0
0
0
0
57
82
90
98
43
87
-26
-30
-30
0
53
-33
14
-1
0
0
0
-16
61
50
31
26
-24
58
49
9
37
23
38
5
2
0
0
0
9
65
77
37
60
58
25
-21
26
-48
-10
11
-3
0
0
0
0
1
-23
49
69
10
0
71
5
-46
16
-18
0
0
0
0
0
0
14
3
2
32
-6
-26
8
24
31
-16
-8
0
0
0
0
0
0
20
-6
-15
-1
1
-2
0
6
-27
6
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
7
11
-2
1
22
-15
15
0
-59
-39
47
-11
0
0
0
0
0
-28
-8
7
-6
-9
-33
-7
-30
-41
18
10
33
-8
7
0
0
0
-40
26
13
13
13
-7
-71
-78
-63
-21
53
-6
3
0
0
0
0
-23
-36
-1
-5
1
10
-14
-77
-60
-50
40
-6
-6
0
0
0
0
-30
-10
-22
-8
-11
-19
-37
-50
-47
27
18
-15
20
0
0
0
0
-16
-51
-26
-20
-21
-5
-33
-31
8
-21
50
-8
0
6
0
0
0
-33
-44
-9
15
-2
0
-22
-59
-5
4
13
-2
0
0
0
0
0
-38
2
28
-3
-44
-16
-33
-43
12
-29
4
-2
0
0
0
0
0
0
1
-12
10
-16
-40
12
-35
70
8
0
0
0
0
0
0
0
-11
-47
16
94
31
-52
74
0
34
37
-7
-1
1
7
2
0
0
30
50
24
67
11
-44
-19
-15
27
-46
57
13
-4
10
3
3
0
36
-55
84
17
21
51
-30
-43
7
-22
-11
-48
1
-2
-3
0
0
10
64
57
-21
-2
-6
14
30
32
-14
-1
-25
-8
0
0
0
0
-3
17
17
28
50
60
50
13
8
-30
-39
6
-1
-2
0
0
0
-2
-29
29
43
24
-36
34
-51
-7
-6
17
-48
-8
0
0
0
0
0
-24
28
42
6
-3
29
-42
-13
-14
21
-38
-8
-4
-4
0
0
0
0
0
25
-41
-11
10
-19
3
-1
47
22
-1
0
-2
3
0
0
0
7
45
12
21
-1
-13
-3
-5
-35
-13
4
-4
1
0
0
0
14
54
66
33
15
-1
0
35
14
-4
-11
0
0
0
0
0
0
7
84
72
26
10
-23
3
50
17
36
24
-7
2
0
0
0
0
-24
4
37
25
-5
-66
-42
15
12
-20
-19
0
0
0
0
0
0
0
10
-5
44
-75
-28
16
24
4
8
-34
0
1
0
0
0
0
3
6
-6
20
18
-3
21
19
-48
13
17
1
0
0
0
0
0
1
39
43
13
10
32
-29
4
-11
-3
34
3
-2
0
0
0
0
0
14
46
-6
7
-6
-13
-22
-24
-26
-18
3
-1
0
0
0
0
-1
0
29
-15
30
-22
-68
-24
-60
-19
-4
2
0
0
0
0
0
0
0
0
0
28
1
0
0
0
0
0
0
0
0
0
19
62
64
12
0
18
6
47
0
-8
40
47
0
0
0
0
0
-13
39
63
38
3
1
2
-2
-1
-6
29
39
18
2
0
0
0
32
36
3
44
-11
12
28
-48
-16
48
10
-12
15
-2
2
0
0
106
30
53
35
49
35
16
29
62
-5
-23
-45
3
0
0
0
0
11
-11
28
11
44
60
24
57
62
24
7
20
-1
0
0
0
0
41
3
69
43
18
11
26
47
42
63
-18
-3
0
0
0
0
0
-4
-53
105
50
92
11
4
-23
-11
26
-1
0
0
0
0
0
0
0
44
-52
-4
3
-39
-2
-19
27
14
2
0
0
0
0
0
0
0
8
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
53
-18
-2
32
35
65
-13
62
0
-27
-6
1
0
0
0
0
0
59
41
79
90
19
24
64
-48
24
-26
28
1
1
0
0
0
0
8
89
51
30
7
56
13
-68
-44
44
-4
-2
0
0
0
0
0
30
32
93
44
-58
32
-1
34
2
14
9
-4
0
0
0
0
0
2
43
84
4
-37
-14
12
-4
18
29
19
0
1
0
0
0
0
-53
-3
100
17
49
-4
52
12
-53
-6
-3
-4
0
0
0
0
0
9
-4
22
-32
13
3
37
-50
-59
11
0
3
0
0
0
0
0
0
7
2
4
2
-31
-7
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
6
0
8
-2
-10
0
11
4
0
12
0
0
0
0
0
0
0
12
-8
29
0
10
-1
8
-1
-61
-64
10
0
0
0
0
0
0
-1
11
9
-38
30
-34
-5
3
-8
-18
-10
0
0
0
0
0
0
7
19
-13
15
58
-9
-36
0
-2
0
0
0
0
0
0
0
0
-1
13
13
22
0
-12
4
2
-19
0
0
0
0
0
0
0
0
0
3
4
-1
24
-7
10
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
8
-9
1
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-30
22
0
0
0
0
0
0
0
0
0
0
0
7
0
0
70
13
16
21
-1
2
0
0
0
0
0
0
0
1
20
199
163
85
17
-51
1
2
0
0
0
0
0
0
0
0
0
-43
64
179
75
17
8
8
0
0
0
0
0
0
0
0
0
-1
-9
40
48
10
-19
-51
-2
-1
0
0
0
0
0
0
0
0
-10
-37
-4
-35
8
13
-22
3
0
0
0
0
0
0
0
0
0
2
-16
16
-14
-18
-46
28
0
0
0
0
0
0
0
0
0
0
0
0
-17
10
14
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
17
15
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-37
-7
-1
0
0
0
0
0
0
0
0
0
0
0
118
130
75
5
9
0
0
0
0
0
0
0
0
0
0
0
0
26
117
-111
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
28
-16
-5
1
0
0
0
0
0
0
0
0
0
0
0
4
6
-36
38
0
1
0
0
0
0
0
0
0
0
0
0
0
4
-2
-81
1
-11
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
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
34
-3
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
21
54
6
0
0
0
0
0
0
0
0
0
0
0
13
148
132
82
-15
42
0
2
0
0
0
0
0
0
0
0
0
6
-2
127
8
-11
4
8
0
0
0
0
0
0
0
0
0
0
2
-15
19
-25
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
61
51
7
0
0
0
0
0
0
0
0
0
0
0
0
2
7
7
-10
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
30
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
4
6
0
0
0
18
-2
2
0
0
0
0
0
0
0
0
0
-4
-1
0
0
20
-8
0
4
0
0
0
0
0
0
0
0
0
-2
63
135
130
78
-26
1
1
0
0
0
0
0
0
0
0
0
3
0
31
98
-5
-10
6
0
0
0
0
0
0
0
0
0
0
8
-24
-51
40
-19
33
-2
0
0
0
0
0
0
0
0
0
0
0
38
-23
-31
-36
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
-49
-75
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-41
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
17
-20
7
-7
-19
28
0
0
0
-5
-6
0
0
0
0
0
-4
-47
4
-19
-37
13
-3
0
0
0
53
0
-4
-7
0
0
0
2
-18
84
47
28
37
35
98
120
35
-30
12
-6
0
0
0
0
0
21
17
17
-26
4
-47
51
124
69
-40
26
0
0
0
0
0
0
-51
56
32
-28
-75
-22
35
90
2
41
10
0
2
0
0
0
0
-23
63
38
8
-12
33
-10
19
0
36
-18
0
0
0
0
0
0
32
17
-6
-32
-17
-9
-35
-41
-26
-70
-16
0
0
0
0
0
0
0
35
-6
-9
54
0
-16
-20
7
-60
0
3
0
0
0
0
0
0
0
0
0
0
7
-1
-62
-7
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-1
0
0
0
0
0
2
0
0
3
13
2
0
0
0
-11
-16
-1
8
0
0
0
0
4
0
3
-8
-4
0
-15
-24
37
-16
19
-1
0
0
0
0
0
-3
-10
20
3
-2
9
33
76
128
-51
-1
-3
0
0
0
0
0
-2
77
-1
9
-26
8
66
9
63
-16
-6
-1
0
0
0
0
0
0
-12
2
-11
-10
16
39
-25
86
-34
3
0
0
0
0
0
0
0
16
2
3
11
-10
123
34
45
-7
6
0
0
0
0
0
0
-1
-1
0
0
0
-4
7
71
34
48
2
0
0
0
0
0
0
0
0
0
0
0
0
2
47
3
4
0
0
0
0
0
0
-1
9
-5
-20
-9
-36
-2
0
0
0
0
0
0
0
0
0
0
-10
-15
4
3
58
30
9
0
0
0
0
0
0
0
0
0
0
-7
0
17
-32
1
-29
-12
3
0
1
0
0
0
0
0
0
0
22
-5
11
-11
3
51
24
9
0
0
0
0
0
0
0
0
0
23
5
16
11
-13
-48
-2
28
-9
4
0
0
0
0
0
0
0
0
1
-9
4
5
68
-3
3
-7
0
0
0
0
0
0
0
0
-37
4
-15
11
23
14
64
-12
2
3
-4
0
0
0
0
0
0
-25
-5
-9
4
33
27
-1
-6
7
2
8
0
0
0
0
0
0
0
28
-3
-7
-5
4
4
0
0
0
0
0
0
0
0
0
0
9
-8
1
-3
6
2
60
0
0
0
48
-21
-2
0
0
0
0
-17
-8
7
9
19
48
90
0
0
132
-17
4
0
0
-2
0
0
0
-5
3
1
38
7
81
53
92
50
-8
57
0
0
-9
0
0
-11
7
1
13
16
1
52
-30
117
64
20
-5
0
0
0
0
0
-39
1
0
-14
5
4
31
-86
8
-25
-22
-18
-2
0
0
0
0
-31
-10
-15
-11
8
-4
8
-3
-44
-22
0
0
0
0
0
0
0
-17
2
-13
-12
36
76
-2
-21
-48
-19
-30
1
0
0
0
0
0
-4
-28
18
27
-26
-17
0
7
-45
-5
-16
0
0
0
0
0
0
0
19
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-86
-2
13
10
19
33
53
0
0
35
-40
-9
0
0
0
0
0
16
-34
12
-6
15
4
33
49
-13
-4
30
20
0
0
0
0
0
-48
-19
3
9
4
6
-14
-15
15
87
13
8
0
0
0
0
0
-30
17
-13
7
-5
-24
-28
-25
0
56
-42
-11
0
0
0
0
0
19
-15
-5
-21
-1
-7
2
-54
20
-16
-1
5
-1
0
0
0
0
-21
-17
-8
-5
-5
-9
-26
-8
-14
-62
1
1
0
0
0
0
0
-38
-21
9
-22
-2
-14
-9
-2
-74
18
13
0
0
0
0
0
0
-27
0
-9
-1
0
-23
29
-28
-60
-53
0
0
0
0
0
0
0
-3
-22
-10
15
12
9
26
20
-9
2
7
0
0
0
0
0
0
12
25
43
52
69
91
-13
0
0
0
0
0
0
0
0
0
0
26
10
7
28
58
10
-5
-4
0
0
0
0
0
0
0
0
0
-12
1
-11
1
3
5
-16
-34
9
0
0
0
0
0
0
0
0
-15
2
14
-10
32
51
25
-36
1
0
1
0
0
0
0
0
0
-10
-8
-4
-5
37
16
24
-26
-2
0
0
0
0
0
0
0
0
1
-8
-11
-27
39
40
69
-24
-18
-3
-1
0
0
0
0
0
0
5
-1
-5
-11
17
64
-4
28
-10
12
0
0
0
0
0
0
0
-7
-2
-6
-12
50
-22
45
-6
-8
0
0
0
0
0
0
0
0
4
-4
-7
8
22
-24
-14
34
-2
0
0
0
0
0
0
0
0
-16
12
19
28
46
48
70
24
0
0
0
0
0
0
0
0
0
-16
-13
-17
-2
31
50
0
-29
87
-8
-1
0
0
0
0
0
0
-9
10
11
-1
24
-9
29
-19
0
0
0
0
0
0
0
0
0
-16
17
4
-5
3
-20
-25
13
-23
-5
-2
0
0
0
0
0
0
-6
-6
10
-10
0
6
5
-6
64
0
0
0
0
0
0
0
0
-16
-12
-12
-23
-20
-44
-61
-69
-22
2
0
0
0
0
0
0
0
-12
-6
-14
-31
33
25
-95
-43
-36
0
0
0
0
0
0
0
0
-4
14
2
27
-11
14
-30
21
1
0
0
0
0
0
0
0
0
0
2
-32
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-11
21
13
37
49
90
0
0
19
1
44
2
0
0
0
0
-44
4
10
-2
52
55
92
0
114
0
66
23
3
0
0
0
0
-7
-6
-2
0
24
-14
24
36
86
10
1
-2
1
0
0
0
0
33
13
7
11
14
6
33
-43
106
-51
-55
27
2
0
0
0
0
28
3
0
-5
26
-19
-3
47
35
6
-47
0
0
1
0
0
0
-57
-6
15
-4
0
2
-16
-24
-35
-74
0
-14
0
0
0
0
0
14
-5
-6
-22
46
-16
-24
15
-67
-51
-3
0
0
0
0
0
0
-4
-16
-81
-43
18
-38
-30
0
5
0
9
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
9
0
0
0
0
0
0
0
5
-31
41
26
43
-41
-65
-2
0
78
14
1
-8
0
0
0
0
8
18
28
8
15
44
18
0
70
0
-7
9
0
0
0
0
0
-31
19
-15
-6
27
-37
22
65
127
42
32
18
-2
0
0
0
0
-6
2
-9
-19
17
1
64
56
67
80
21
4
-3
0
0
0
0
-28
4
34
-10
28
23
5
-46
84
93
0
-1
1
0
0
0
0
17
-23
-2
-54
9
-45
12
-1
15
-79
-12
0
0
0
0
0
0
25
13
-23
-45
22
50
-9
-11
-35
-32
-2
0
0
0
0
0
0
0
-48
9
31
-42
-10
11
-11
-2
-13
0
0
0
0
0
0
0
0
-4
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-63
11
-22
7
0
0
0
0
0
0
0
0
0
0
0
-6
-10
-23
-31
9
0
1
0
0
0
0
0
0
0
0
0
0
1
28
-8
0
-30
-1
-4
0
-1
35
-2
0
0
0
0
0
0
0
-21
-2
20
25
-3
-1
0
27
50
0
0
0
0
0
0
0
-1
52
-69
7
17
-2
0
-25
32
17
0
0
0
0
0
0
0
-10
-29
-35
13
-9
0
-1
-3
39
80
2
0
0
0
0
0
0
-1
-5
1
-1
9
-1
0
-7
-32
70
1
0
0
0
0
0
0
-1
-13
-25
0
-2
0
0
-2
51
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-6
2
0
0
0
0
0
32
2
0
0
0
0
0
0
0
-15
9
-30
24
4
-20
23
71
-10
13
0
0
0
0
0
0
-12
3
-15
12
59
8
-2
4
3
-4
3
0
0
0
0
0
0
41
-15
33
35
23
-43
22
2
1
6
1
0
0
0
0
0
0
-22
-35
-22
-4
-6
0
0
-3
0
0
0
0
0
0
0
0
0
-4
94
54
12
34
-20
0
7
0
0
0
0
0
0
0
0
0
-53
-12
37
11
15
-7
2
0
0
0
0
0
0
0
0
0
0
7
37
2
-58
-16
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
1
-4
2
1
0
0
0
0
0
0
0
0
0
-1
-29
-38
3
0
0
0
-2
0
0
0
0
0
0
0
0
-3
-14
-8
-21
-9
0
0
0
-1
0
0
0
0
0
0
0
0
1
19
-25
1
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
9
31
41
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
20
26
2
0
0
0
0
0
0
0
0
0
0
0
0
4
14
-67
-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
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
7
-3
0
11
1
28
-1
10
4
0
0
0
0
0
0
9
-24
14
0
-4
-2
1
-2
-3
-3
0
0
0
0
0
0
0
-3
13
-32
-44
-34
4
-7
0
3
0
0
0
0
0
0
0
0
0
8
-23
-5
-21
-7
0
0
0
0
0
0
0
0
0
0
0
0
-2
47
58
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-30
7
-9
-3
0
0
0
0
0
0
0
-4
82
-3
10
-9
-2
-1
2
-2
0
0
0
0
0
0
0
0
7
0
41
-29
-21
0
0
0
0
0
0
0
0
0
0
0
0
-57
42
26
39
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-1
-7
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
-2
0
85
-2
0
0
0
0
0
0
0
-8
-16
-26
-42
-60
-40
-4
8
72
1
0
0
0
0
0
0
-1
-5
-23
13
16
53
-64
-33
-48
-60
1
-1
0
0
0
0
0
-64
17
35
6
4
33
20
69
24
-30
0
0
0
0
0
0
0
20
67
-2
6
7
23
-41
-47
14
7
0
0
0
0
0
0
0
10
13
23
-14
-12
5
5
-6
11
-1
0
0
0
0
0
0
0
-7
33
-8
31
36
-21
7
-5
-11
-9
0
0
0
0
0
0
0
0
-14
0
23
0
10
0
4
0
-3
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
3
-2
0
0
0
0
0
0
0
0
-8
-1
0
1
0
0
7
0
0
0
0
0
0
0
0
0
0
14
8
-2
0
-1
0
2
1
0
0
0
0
0
0
0
0
0
39
-58
30
-3
2
-4
0
0
0
0
0
0
0
0
0
0
-5
2
-1
25
-2
-7
0
0
0
0
0
0
0
0
0
0
0
1
29
1
15
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
7
0
44
-2
24
-7
9
0
0
0
0
0
8
-9
29
42
-24
-12
-52
43
6
57
-8
18
-4
0
0
2
3
-50
-2
64
-5
29
-16
-65
-38
-83
38
11
-8
0
0
0
-2
7
36
-27
-11
13
11
6
48
26
-33
-1
3
0
0
0
0
-9
24
-61
-4
13
39
46
21
45
47
-21
-51
0
0
-3
0
0
-19
3
23
91
28
31
-5
52
-15
-28
20
0
0
0
0
0
0
0
-14
-1
-52
64
16
-20
43
10
33
0
0
0
0
0
0
0
0
0
2
-2
-47
-56
-13
30
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
-30
-33
-14
-41
-19
14
0
-41
-83
-87
-69
-6
0
0
0
0
1
63
21
22
9
-48
-48
-3
-45
-101
-28
-10
63
-34
6
0
0
104
80
10
39
-24
-10
15
17
-6
5
-22
-24
-16
7
0
0
0
17
63
0
33
-6
-11
-5
4
-2
-12
-51
-58
-20
11
0
0
0
24
0
-17
-6
-21
-20
-10
17
-32
-22
-22
-12
-32
-1
0
0
0
38
-11
-11
-11
-8
-15
-18
-34
-19
1
-25
-2
23
0
0
0
0
8
10
-7
0
-16
-33
-20
-35
-10
2
73
77
-13
0
0
0
0
52
53
-16
-40
-25
-9
-9
8
6
-16
-14
-32
-2
-4
0
0
0
0
-7
-17
17
-2
39
18
10
21
-21
-22
-4
-3
0
0
0
0
0
0
0
-1
2
11
61
0
-35
8
11
4
0
0
0
0
0
0
0
11
-8
13
50
94
24
-18
8
37
24
5
0
0
0
0
0
0
-15
-8
43
46
32
15
-9
10
-20
0
-3
-2
0
0
0
0
8
10
43
4
26
-2
-11
60
-17
6
3
0
0
0
0
0
0
1
46
61
22
91
1
32
10
2
-10
0
-1
0
0
0
0
0
0
-13
2
-5
27
-49
-6
54
0
0
0
0
0
0
0
0
0
0
3
-9
27
-34
-13
-3
-8
-3
0
0
0
0
0
0
0
0
-17
0
-11
-32
-18
5
12
11
-11
0
0
0
0
0
0
0
1
0
0
2
-26
1
-47
2
0
-2
0
0
0
0
0
0
0
0
0
-2
28
-15
-71
-35
0
-16
15
-17
33
1
0
1
0
0
0
-6
35
130
-5
-6
28
-27
-1
-44
81
66
-3
29
-3
0
0
0
-5
88
-2
18
17
8
12
-10
22
46
56
9
-2
1
0
0
0
1
18
67
-30
8
8
71
32
9
24
10
-3
-1
4
0
0
0
-9
76
77
-14
23
9
73
19
-8
7
-4
0
0
0
0
0
0
0
2
40
32
5
31
28
16
-69
32
51
0
0
0
0
0
0
0
5
36
-29
-12
53
35
31
-1
-71
-22
-1
0
0
0
0
0
0
-2
-40
17
68
26
26
-5
-60
15
0
0
0
0
0
0
0
0
-5
0
-1
15
-12
26
-1
0
0
0
0
0
0
0
-4
0
0
0
0
-6
-47
36
0
-19
11
-22
9
3
0
0
0
9
-1
29
-2
16
29
-109
-20
13
-13
52
37
-20
-5
10
0
0
-2
29
48
-30
4
8
-20
13
-33
-32
-25
32
11
3
0
0
0
0
83
60
66
23
-16
15
32
4
0
38
18
10
0
0
0
0
-5
-3
-21
-9
30
44
32
33
7
54
-29
2
0
-2
0
0
0
0
13
11
16
52
19
79
46
41
23
0
0
-2
0
-2
0
0
0
-1
16
3
38
52
4
3
24
-4
5
0
3
0
0
0
0
0
4
-5
-5
115
-9
49
64
45
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
21
-23
-3
-8
0
2
-43
5
0
6
-1
0
0
4
2
0
-38
24
29
-13
3
10
1
-33
26
6
-1
2
0
0
-3
-1
-12
-44
26
33
-64
6
-14
16
23
-15
-6
0
0
0
0
0
-56
-27
18
46
33
-67
50
78
60
4
-3
0
0
0
0
0
2
36
120
-63
10
-37
-13
66
66
55
10
0
0
0
0
0
0
0
12
31
54
65
-34
8
56
35
59
16
0
0
0
0
0
0
0
0
-7
13
0
40
-24
-13
35
-3
1
0
0
0
0
0
0
0
-8
2
38
35
40
-13
-13
-56
-5
0
0
0
0
0
0
0
0
0
0
0
0
-11
-13
-8
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
38
0
0
0
0
0
0
0
0
0
0
-1
0
18
0
35
4
54
-1
0
0
0
0
0
0
0
0
2
0
0
-3
-7
-3
-59
4
-6
0
0
0
0
0
0
0
0
0
2
2
3
23
109
-18
-2
3
0
0
0
0
0
0
0
45
-2
0
-9
13
-1
-7
-31
0
0
0
0
0
0
0
0
-4
-4
9
-3
-2
4
-1
-15
-2
-3
0
0
0
0
0
0
0
1
6
11
-1
-1
0
-1
1
-51
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
25
-39
1
6
2
0
0
0
0
0
0
0
0
43
0
0
67
72
17
7
-30
-5
6
0
0
0
0
0
0
10
95
45
61
36
3
69
69
-18
5
0
0
0
0
0
0
0
-12
-30
35
16
14
17
8
22
-16
2
-1
0
0
0
0
0
0
28
7
30
-10
35
-28
-43
-8
-1
-4
0
0
0
0
0
0
0
-42
30
1
-9
29
-31
-4
0
-5
0
0
0
0
0
0
0
0
18
-40
-10
-22
20
-20
-14
-4
0
0
0
0
0
0
0
0
0
4
-43
-13
-40
24
-35
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
6
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
2
0
0
0
0
0
0
0
0
0
0
44
81
32
23
14
-12
-1
-2
-1
0
0
0
0
0
0
0
0
-4
-13
34
28
25
-6
0
0
0
0
0
0
0
0
0
0
0
41
24
-50
4
-21
2
0
0
0
0
0
0
0
0
0
0
0
-21
-60
-39
-4
-54
2
0
0
0
0
0
0
0
0
0
0
0
-24
-2
10
37
-51
-1
0
0
0
0
0
0
0
0
0
0
0
4
-54
2
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
29
48
3
7
0
0
0
0
0
0
0
0
0
-28
0
0
6
31
-4
0
-7
-7
0
0
0
0
0
0
0
0
11
4
84
86
60
-2
-3
0
2
0
0
0
0
0
0
0
11
31
24
59
15
-37
7
2
0
0
0
0
0
0
0
0
0
-15
-6
-10
-12
6
-53
8
0
0
0
0
0
0
0
0
0
0
0
-52
20
-19
-45
-10
-2
-1
0
0
0
0
0
0
0
0
0
0
19
-41
-12
-14
0
-3
-1
0
0
0
0
0
0
0
0
0
0
6
-46
-6
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
1
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
28
10
6
8
-1
0
0
0
0
0
0
0
0
3
102
37
60
43
43
1
-2
0
0
0
0
0
0
0
0
0
2
-48
-42
-19
-6
46
-8
2
-1
6
0
0
0
0
0
0
0
-1
-32
49
70
43
8
1
0
0
0
0
0
0
0
0
0
0
-13
-47
17
-65
-28
9
0
0
0
0
0
0
0
0
0
0
0
-4
-1
12
-44
24
-11
1
-1
0
0
0
0
0
0
0
0
0
0
-23
52
-7
-35
2
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
-1
0
6
0
0
0
48
11
0
2
0
0
0
0
0
0
0
-8
-4
6
0
0
0
82
16
0
-4
0
0
0
0
0
-1
-8
85
9
66
104
74
123
27
10
3
5
0
0
0
0
0
4
-37
-74
27
24
29
89
32
40
-6
26
-7
0
0
0
0
0
-17
5
34
39
-4
-13
30
-14
45
-23
0
-2
6
0
0
0
19
-23
-25
30
15
17
46
6
11
-13
6
1
-1
0
0
0
0
0
2
28
-53
43
-7
20
-27
-14
-40
0
6
4
0
0
0
0
0
0
11
4
8
37
49
52
51
-32
2
-2
0
0
0
0
0
0
0
0
0
12
-6
11
-44
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
7
-1
6
0
0
0
0
0
0
0
1
-4
59
59
-21
28
2
0
-1
0
0
0
0
1
0
0
0
-3
10
31
41
30
11
-9
0
2
0
0
0
0
2
30
53
-4
2
-20
-30
-79
-15
-5
0
-6
0
0
0
0
0
0
14
2
-34
42
39
-21
-10
63
-33
0
0
0
0
0
0
0
0
-14
-4
0
0
-18
-60
17
-44
-2
0
0
0
0
0
0
0
4
0
0
-2
0
9
-49
43
15
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
7
2
25
-31
2
0
0
0
0
0
0
0
0
0
0
0
0
29
-12
23
24
3
21
0
0
0
0
0
0
0
0
0
0
0
26
-38
-1
-10
-28
-40
16
0
0
0
0
0
0
0
0
0
0
-10
15
29
-116
-18
25
-1
6
-7
-1
1
0
0
0
0
0
0
19
-30
29
3
13
-15
-4
10
23
-1
0
0
0
0
0
0
0
2
66
-11
20
27
0
16
27
29
23
0
-3
0
-3
0
0
0
-2
-61
43
20
38
35
9
-25
-27
21
-10
17
1
-2
1
0
0
0
28
-11
47
34
-8
28
20
-64
-13
6
5
0
3
-1
0
0
0
0
0
0
11
1
10
-9
4
-10
-1
0
0
0
0
0
0
1
-24
-65
-18
-18
16
1
0
0
0
100
0
-3
4
0
0
0
-81
-68
-36
-10
-40
10
7
0
0
173
72
-12
56
-11
-2
1
0
61
-20
-30
-17
-4
-13
75
106
57
94
0
29
10
-1
-5
0
0
-56
-19
-22
-9
-4
39
27
26
24
25
16
14
0
-1
3
0
0
-65
-23
-13
-5
-15
7
58
17
36
-41
-24
13
21
0
0
0
0
15
17
-40
-2
32
1
-13
-48
-8
-26
-29
63
-1
0
0
0
0
10
13
50
6
-17
-42
-45
-50
-66
-21
-17
-9
0
0
0
0
0
0
-18
28
14
-10
18
-35
-2
18
-20
0
-6
0
0
0
0
0
0
0
0
0
0
2
-1
0
-5
10
0
8
0
0
0
0
0
0
-10
30
-48
-10
70
125
0
0
-1
-27
19
0
-6
0
0
0
-12
-19
-60
-22
-15
30
81
76
16
-43
-7
1
-19
0
0
0
0
-22
7
5
0
-32
8
42
25
-3
47
-31
-45
63
-1
0
0
0
56
-11
11
34
16
1
16
-2
50
29
-59
2
-8
6
7
0
0
11
0
-11
-16
0
-11
4
19
-9
35
-10
9
-24
-1
0
0
0
14
11
-11
-6
-4
-2
-26
-12
-48
-5
64
-56
27
0
0
0
0
-15
39
-8
-4
12
-40
10
-3
1
-6
-13
-22
-4
6
0
0
0
31
25
-7
3
-17
-5
-8
45
-62
-35
-8
-1
-2
0
0
0
0
0
9
-6
25
16
-34
-104
-40
-46
0
-11
1
0
0
0
0
0
-49
82
26
33
36
0
-6
0
0
-1
2
0
0
0
0
0
0
111
38
-3
155
104
118
33
18
-40
1
1
0
0
0
0
0
0
3
59
-35
24
-25
-41
-28
5
-26
-2
0
-1
0
0
0
0
0
31
-49
3
-7
27
-12
15
43
-6
-11
0
-2
0
0
0
0
0
-39
-45
-41
-35
33
60
-58
-12
-11
2
0
0
0
0
0
0
0
-23
-22
-45
-22
11
-72
-21
-54
-4
0
0
0
0
0
-1
0
0
29
-18
-70
-50
10
-54
-4
-63
-25
0
0
0
0
-4
0
0
0
0
45
-18
-3
-41
23
-29
1
-44
-1
11
0
0
0
0
0
0
4
-25
-7
2
2
9
-12
5
-1
0
-1
0
0
0
0
0
0
-4
21
-28
35
-27
25
60
7
0
1
-2
2
0
0
0
0
0
25
8
58
-16
26
105
0
-22
-19
-12
4
-15
3
0
0
0
0
3
-32
19
54
0
17
95
18
4
-32
-2
0
0
0
0
0
0
-4
-22
24
22
14
27
41
58
-28
-4
0
0
0
0
0
0
0
-17
-6
16
29
2
12
-22
54
42
-3
5
0
0
0
0
0
0
-45
-44
-9
1
-9
15
10
-72
-3
-1
26
0
0
0
0
0
0
-69
-1
5
62
-1
-12
-60
-45
11
11
7
0
0
0
0
0
0
-25
1
0
52
8
-1
-30
-42
-1
0
0
0
-4
0
0
0
0
0
0
-3
-6
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-3
11
20
56
32
0
0
0
141
4
-41
8
32
0
0
0
-5
-17
1
-21
-5
19
58
0
31
0
18
27
-2
-4
4
0
0
-77
8
-13
-10
-13
-18
36
39
85
-19
58
-6
6
1
0
0
0
-12
42
14
20
-7
1
15
6
49
50
32
-4
-9
2
0
0
0
-23
51
6
-9
43
10
-14
32
50
24
-62
-8
16
0
0
0
0
-32
-44
-3
-14
42
-40
-11
-13
-5
-17
-1
4
-9
-1
0
0
0
1
-43
-13
19
-9
7
-22
-18
-24
-50
-5
21
7
0
0
0
0
0
1
-4
-20
-46
-58
-7
-74
-5
-21
9
5
8
0
0
0
0
0
0
0
0
-1
0
-1
-1
18
0
0
0
0
0
0
0
0
0
-7
-3
11
-3
0
6
0
0
2
16
2
0
0
0
0
0
0
8
-24
-29
51
33
37
0
-7
0
-1
14
6
0
0
0
0
-3
33
-1
9
65
6
29
23
63
-1
52
38
1
1
-3
0
0
9
-24
-21
46
8
30
51
22
45
-26
12
22
11
-1
0
0
0
50
15
-14
8
25
0
22
-21
14
-26
1
50
-1
3
0
0
0
7
-19
40
-9
-1
-21
11
-5
-16
-31
27
0
1
0
0
0
0
-1
6
6
40
-13
3
-19
-67
-1
-44
-3
-1
0
-2
0
0
0
0
-81
1
-29
-73
28
-40
22
-57
-13
0
0
0
0
0
0
0
0
0
0
0
1
0
6
5
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
7
-1
11
0
0
0
0
18
15
28
0
0
0
0
0
0
33
12
22
-2
-23
-10
2
101
-21
-7
1
0
0
0
0
0
0
38
27
-21
-23
-44
-3
-32
45
-22
46
-2
0
0
0
0
0
0
-75
-15
-23
101
34
-52
-29
9
-2
-1
-1
-2
0
0
0
0
3
9
-60
-10
-75
-36
-39
-65
-43
-2
11
0
0
0
0
0
0
8
22
-31
1
-37
11
8
-13
-12
14
-1
0
0
0
0
0
0
-3
44
45
6
-16
-7
68
-14
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
-25
-14
-3
3
0
1
0
0
0
0
0
0
0
0
45
-1
38
20
6
1
7
18
3
0
0
0
0
0
0
0
0
-30
-52
-1
-11
-9
6
0
0
0
0
0
0
0
0
0
0
0
23
6
39
-5
-8
0
0
0
0
0
0
0
0
0
0
0
1
11
26
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-45
-7
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
50
10
2
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
15
-17
-6
0
-4
1
6
-8
0
0
0
0
0
0
0
-1
1
0
42
-7
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
5
-52
-2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
3
-9
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-2
-1
0
11
0
0
0
0
0
0
0
0
0
9
7
37
8
-9
-1
0
0
2
0
0
0
0
0
0
0
0
0
-6
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
11
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
7
17
33
-25
-32
0
-12
-21
8
0
0
0
0
0
0
24
16
71
61
-2
-60
6
-31
-23
-10
-6
4
0
0
0
0
-1
32
-3
30
15
42
-27
-27
5
-67
-6
12
0
0
0
0
0
0
55
1
8
24
20
28
10
-15
29
11
0
0
0
0
0
0
10
6
15
5
10
-34
-45
9
35
15
6
8
0
0
0
0
0
0
-5
12
19
-10
-26
-53
-20
21
2
0
0
0
0
0
0
0
-1
-7
2
-13
27
-13
-8
-52
-16
6
0
0
0
0
0
0
0
8
11
6
-6
0
0
6
-16
-70
3
0
0
0
0
0
0
0
3
-4
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
2
-3
3
0
12
9
0
0
0
0
0
0
0
0
0
-2
-2
0
7
0
0
-3
6
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-10
4
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
-19
4
-4
0
18
-20
29
-35
-1
-2
0
0
0
36
46
23
33
18
-12
9
4
44
20
-27
-4
8
39
0
0
-4
26
-47
84
54
74
-42
-17
-2
16
1
5
-9
37
20
0
0
37
130
84
24
-8
5
13
36
28
35
12
-29
19
12
5
0
0
0
-12
22
-38
9
-19
-6
40
37
40
-36
29
19
0
-2
0
0
0
0
-43
25
12
-21
59
-24
-15
-69
-69
-9
-2
22
1
1
0
0
0
-9
0
10
6
16
-66
-44
-65
28
-1
0
0
-1
0
0
0
0
0
0
-2
-3
-17
-27
16
-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
8
-20
-2
19
-34
27
0
-7
21
26
9
-15
21
0
0
0
-3
-17
-16
14
19
-33
-1
18
11
-28
-5
-10
-16
53
0
0
0
-68
-46
19
14
-17
-25
-28
-37
-23
-34
25
-7
16
-37
9
0
0
4
-16
-45
-5
6
-9
-11
-32
-40
-53
-22
-43
-84
25
1
0
0
-26
-118
-33
-35
23
5
-21
-48
-59
-11
20
44
-36
-5
2
0
0
-3
-75
-27
20
1
-21
-29
-36
-40
1
15
8
12
8
3
0
0
-3
-11
-15
22
13
-18
-24
-30
-33
-21
14
-4
-14
5
0
0
0
3
0
32
-8
-21
-13
-18
-65
-11
-16
-60
53
3
-8
0
0
0
0
1
0
61
-7
-18
2
-7
-29
-3
4
22
-3
1
0
0
0
0
0
-6
1
46
-33
81
0
45
-4
1
41
-34
-27
16
-3
0
0
-12
-19
6
37
-12
49
11
22
5
25
38
34
48
4
6
0
0
0
1
-70
149
62
-26
-38
12
-31
0
-3
-10
31
3
-1
0
0
8
-4
57
59
60
-17
39
31
-6
19
22
-28
2
0
-1
0
0
0
0
33
-38
-50
17
18
5
27
-7
-8
-17
22
0
-1
0
0
0
0
1
-20
39
-30
17
-24
-1
2
-18
-44
-1
16
0
0
0
0
0
-1
37
93
-14
-18
-23
-2
5
-11
16
-21
23
-3
0
0
0
0
-16
47
-64
1
7
0
13
34
-39
-11
29
11
9
0
0
0
0
9
-15
-51
5
-16
11
-6
24
-29
57
-10
3
-1
0
0
0
-9
26
44
14
63
0
41
7
65
43
1
-4
0
-1
0
0
-1
-33
-2
13
8
1
3
35
27
28
49
28
-20
5
1
0
0
0
39
19
-32
-22
-25
-39
5
39
57
1
5
19
1
0
0
0
0
4
28
-40
-3
13
19
19
1
-2
4
-3
-4
-4
0
0
0
-2
16
-1
-34
6
-37
19
16
21
-1
-19
14
3
-2
0
0
0
0
-4
-47
35
49
-17
-7
-25
9
61
-39
-8
-25
1
0
0
0
0
8
-14
2
6
-17
-21
-11
15
-18
65
19
9
4
0
0
0
0
0
30
-5
-3
-16
-36
-9
69
67
-23
-18
-1
5
0
0
0
0
0
0
7
10
44
2
-4
0
0
0
0
0
0
0
0
1
8
-1
41
18
-61
42
0
16
-5
-8
0
-17
0
0
0
-2
43
46
23
61
-4
-30
11
14
31
-12
-19
40
-1
-9
0
0
21
40
43
2
21
21
7
-44
-5
7
13
17
-6
-3
-1
0
0
13
49
44
66
0
28
19
15
0
48
4
53
-15
-8
10
2
0
0
22
5
78
51
0
60
11
17
-18
2
1
-14
-3
2
0
0
0
7
-3
40
-2
65
-4
31
-1
18
-15
29
0
0
0
0
0
0
0
6
-2
-6
4
25
19
-4
-13
72
-6
-6
0
0
-1
0
0
0
13
0
-58
1
54
-58
-11
-48
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-3
0
0
11
38
-1
-55
1
0
0
15
-11
0
2
0
0
0
3
-4
11
36
50
19
-32
-63
9
-4
7
24
-8
0
0
0
0
0
22
-7
33
-2
11
-5
-24
39
35
9
50
6
3
0
0
0
10
-25
35
5
-45
6
-1
51
5
42
59
58
0
0
0
0
0
0
4
-7
8
20
63
20
11
29
35
111
4
0
0
0
0
0
0
0
-12
51
-30
-24
9
-42
10
50
99
2
3
0
0
0
0
0
4
4
4
59
-18
-31
9
-33
-40
-8
0
0
0
0
0
0
0
0
0
9
4
5
0
5
-9
-6
-9
0
0
0
0
0
0
0
0
0
0
0
0
-22
-41
-5
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
25
0
14
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
14
77
74
-33
0
0
0
0
0
0
0
0
0
11
0
2
-5
21
-20
-21
0
0
0
0
0
0
0
0
1
3
0
0
1
7
-41
40
-11
0
0
0
0
0
0
0
0
0
6
0
0
0
1
30
-20
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-15
11
2
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-54
69
-24
29
-4
0
0
0
0
0
0
0
0
50
0
0
81
-20
16
24
-59
-33
3
0
0
0
0
0
0
0
20
135
148
132
27
-12
-28
41
-10
3
0
0
0
0
0
0
10
6
60
128
117
5
12
16
7
13
0
0
0
0
0
0
0
2
17
20
91
35
-5
-3
0
46
-16
0
0
0
0
0
0
0
0
6
-22
-8
-25
-20
28
27
6
-1
-4
0
0
0
0
0
0
0
-33
-29
-28
-17
2
-43
-71
2
-7
6
0
0
0
0
0
0
0
-29
-9
-15
-8
-13
-18
1
-3
4
0
0
0
0
0
0
0
0
8
-15
0
-29
-24
-1
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
54
24
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
62
8
4
-3
-6
3
0
0
0
0
0
0
0
0
45
95
113
113
-2
-46
-7
-3
-9
0
0
0
0
0
0
0
0
1
102
121
-3
79
-38
-6
-6
0
0
0
0
0
0
0
0
0
78
-38
-6
48
-45
-1
0
0
-2
0
0
0
0
0
0
0
0
28
53
-10
0
-16
-7
1
0
0
0
0
0
0
0
0
0
0
-4
-11
-51
0
2
25
-1
0
0
0
0
0
0
0
0
0
0
0
40
15
-62
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
69
-36
0
0
1
0
0
0
0
0
0
0
0
19
0
0
-10
12
9
20
-11
-1
-2
0
0
0
0
0
0
0
16
50
131
31
12
-5
5
-5
-1
2
0
0
0
0
0
0
0
-70
15
94
37
-18
68
0
-3
0
0
0
0
0
0
0
0
0
41
-33
-22
24
6
15
-10
-4
-2
-1
0
0
0
0
0
0
0
35
-69
-33
26
-22
10
1
0
2
0
0
0
0
0
0
0
0
-46
-21
10
-26
38
13
-2
0
0
0
0
0
0
0
0
0
0
5
-15
-7
-21
-22
4
2
0
3
0
0
0
0
0
0
0
0
2
-6
40
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
28
-29
39
2
0
0
0
0
0
0
0
0
-4
26
0
0
91
37
-11
13
-3
0
0
0
0
0
0
0
0
0
43
104
80
69
9
-34
-2
0
-3
0
0
0
0
0
0
0
2
-56
-51
141
65
8
0
3
0
-10
0
0
0
0
0
0
0
0
19
-11
28
-13
-37
-49
4
7
-2
0
0
0
0
0
0
0
0
-1
-1
-41
4
23
-9
1
0
0
0
0
0
0
0
0
0
0
-17
-68
-86
46
-30
14
0
0
0
0
0
0
0
0
0
0
0
0
3
-50
-8
-35
-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
3
6
2
0
-4
0
0
0
11
8
7
0
0
-2
0
0
4
0
-21
-12
-16
23
0
0
0
52
14
-9
-34
0
1
0
0
0
-3
16
31
-12
-55
126
92
48
-25
16
6
11
1
0
0
0
4
-1
-30
33
-23
28
105
141
92
38
-6
-28
5
-6
0
0
0
10
8
-1
3
-14
-11
-41
46
15
-4
-5
20
18
3
-2
0
0
0
0
-2
6
7
-10
-10
8
17
-54
-35
9
3
-4
-4
0
0
0
0
0
10
3
-9
-17
-2
-27
7
60
9
-21
-3
-8
0
0
0
0
0
0
45
-13
-30
-26
-19
16
-32
-15
-2
-2
0
0
0
0
0
0
0
0
-37
14
-38
6
-39
17
6
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
-2
0
0
0
-53
-23
2
-4
0
-11
0
0
0
0
0
0
0
2
23
-39
10
-17
-4
-1
-1
-2
0
0
0
0
0
0
0
0
0
23
74
66
32
-24
-8
2
-4
0
0
0
0
0
0
0
0
32
75
47
47
4
3
-2
1
0
0
0
0
0
0
0
0
12
-20
11
12
56
-72
22
0
-7
0
0
0
0
0
0
0
0
10
-8
25
73
51
-7
43
-8
-2
0
0
0
0
0
0
0
0
0
1
93
34
82
-99
8
0
0
0
0
0
0
0
0
0
0
0
0
4
26
-14
-24
-1
0
0
0
0
0
-34
-7
-5
-39
49
-1
0
0
0
0
0
0
0
0
0
0
0
11
-22
-40
2
68
1
1
0
0
0
0
0
0
0
0
0
0
18
-17
-25
0
-24
4
-2
0
0
0
0
0
0
0
0
0
0
-25
-9
-6
74
55
-17
0
0
0
0
0
0
0
0
0
0
0
45
-2
-4
41
59
-7
-18
-30
3
1
0
3
0
0
0
0
0
1
61
21
22
-4
-19
-14
-23
-13
-17
-1
4
8
1
2
0
0
0
9
7
-29
-21
30
3
6
7
-30
8
-7
9
-4
3
0
0
0
0
46
21
-13
-9
-17
2
-20
5
-9
-1
7
-2
0
0
0
0
0
0
2
0
0
0
7
3
-2
0
0
0
-3
0
0
0
-15
-5
-32
-18
-33
-4
2
0
0
0
21
28
2
0
-17
0
0
-57
-41
-19
-59
-22
-64
17
0
0
153
25
17
-2
-3
-6
-1
0
-31
-70
-11
-47
-1
61
101
88
160
144
-17
-23
48
28
13
0
0
-61
-5
5
-14
-1
-19
-30
89
159
60
-24
-12
18
3
-1
0
0
21
21
4
-18
22
2
-23
-75
86
-43
35
-18
20
-6
0
0
0
1
43
-25
29
48
21
-8
-35
-39
-55
3
34
26
-27
-6
-1
0
0
-16
1
20
78
44
-14
-22
-43
-66
-58
-13
-7
5
-3
0
0
0
0
-2
-15
-8
-2
12
-13
1
-67
3
-7
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
3
-18
13
27
76
52
0
0
30
-11
-13
-10
9
0
0
0
-1
32
18
-34
-4
32
60
38
89
-13
54
41
-8
22
0
0
0
-1
3
-34
7
0
4
-14
14
72
4
49
48
-17
-4
1
0
0
-16
-21
-54
-26
-2
-9
-1
18
32
17
-18
36
0
0
-2
0
0
30
-29
-27
4
-13
48
-47
-53
-74
-25
21
-12
33
3
0
0
0
-8
16
-33
-13
-5
19
0
-44
-2
30
34
9
-24
0
0
0
0
-1
-32
12
11
-1
2
7
8
-22
11
15
26
1
0
0
0
0
0
6
11
43
0
-37
-42
-5
-37
27
0
-1
0
0
0
0
0
0
0
24
5
25
-37
67
-41
-7
-21
1
0
0
0
0
0
0
60
30
-30
20
58
42
-95
0
0
0
0
0
0
0
0
0
0
-7
11
29
5
-23
16
88
38
24
-1
0
0
3
0
0
0
0
17
-6
-69
-11
-3
45
16
23
24
0
-9
3
0
0
0
0
0
-25
4
-16
-1
28
15
-38
22
-4
1
0
0
0
0
0
0
0
0
1
-21
-2
-9
-13
9
42
-10
-4
0
0
0
0
1
0
0
-9
-30
-1
8
-6
45
24
19
21
-1
-2
0
-2
7
0
0
0
8
80
-32
-25
3
-51
-26
-2
18
-3
-1
0
0
2
0
0
0
-38
-24
24
12
-2
-18
-48
-2
3
0
0
0
0
0
0
0
0
26
-40
20
-34
23
1
4
-9
0
0
0
0
0
0
0
0
0
0
-9
18
16
8
67
-2
30
0
0
1
4
0
0
0
0
0
21
-50
51
1
18
-1
0
46
-6
-7
-4
-6
0
0
0
0
0
-12
-26
-20
-42
23
24
-32
-32
18
0
0
-2
-2
0
0
0
0
-7
-24
3
43
-10
6
29
-15
-3
0
0
-3
0
0
0
0
0
13
78
-25
23
-34
40
14
42
-30
-6
0
25
0
0
0
0
0
10
29
22
52
57
-2
-13
-44
-11
-1
-1
-1
0
0
0
0
0
4
11
57
19
34
33
-9
-24
-46
5
-8
0
0
0
0
0
0
10
-16
-16
-10
-6
43
-10
-7
-14
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-7
0
1
19
26
143
0
0
-13
33
34
0
18
-2
0
0
8
-44
-31
16
17
-17
82
0
148
0
26
35
-26
-43
-6
6
0
4
1
3
37
-25
57
62
25
73
102
-40
41
30
-16
2
-1
0
23
35
12
-8
38
-4
51
24
107
58
-46
-20
-6
12
0
0
0
2
-30
3
27
14
12
28
11
58
-63
11
-30
25
18
-4
0
0
0
-73
49
8
7
-22
6
-24
21
-17
-42
10
36
-8
0
0
0
3
-8
28
44
-4
-32
11
3
-35
-80
12
11
41
-8
0
0
0
0
0
37
-6
-17
-23
-29
-10
-25
17
-24
-2
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
-22
0
0
0
0
0
0
0
0
-3
18
-2
-34
-10
33
3
0
55
-29
3
-3
-1
3
0
0
0
34
-14
-59
-130
-18
79
0
49
0
2
-19
1
-1
0
1
0
1
15
56
-50
10
32
-20
100
117
93
-26
-34
-21
0
4
0
0
0
8
-6
-34
44
51
-1
65
37
45
30
-36
1
2
0
3
0
0
-2
-13
-6
4
-25
45
-10
-5
-38
-44
-12
31
6
-2
0
0
-3
37
25
-32
49
-16
-1
-1
-47
26
-58
-2
2
8
-2
0
0
-3
0
-44
-40
-41
-25
-68
-63
24
3
12
2
0
-2
0
0
0
0
-3
0
-16
14
10
-17
-27
-16
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-13
0
0
0
0
0
0
0
0
0
1
-19
12
-6
8
0
0
0
0
-15
-3
-2
0
0
0
0
0
-2
22
-12
13
-13
14
8
0
1
-20
-27
1
0
0
0
0
0
0
23
-10
8
-6
9
0
25
57
11
-1
-2
0
0
0
0
0
0
2
5
-15
4
5
-7
73
104
-86
0
-1
0
0
0
0
0
0
7
-2
-12
-1
-2
6
62
91
19
-13
0
4
0
0
0
0
0
-1
2
-1
16
-4
60
18
76
-36
7
-1
-2
0
0
0
0
0
0
0
6
-19
-6
32
-2
28
7
1
-6
0
0
0
0
0
0
2
4
6
0
0
56
26
13
4
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
0
0
0
0
0
0
0
0
2
0
-1
7
3
-19
0
0
47
0
0
0
0
0
0
0
0
0
0
0
0
8
27
2
63
82
-1
0
0
0
0
0
0
0
0
-1
-1
6
-23
-20
-7
63
45
7
0
0
0
0
0
0
0
0
0
4
1
25
-6
44
19
49
-2
0
0
0
0
0
0
0
0
0
6
-2
-24
-34
-32
17
-48
46
0
0
0
0
0
0
0
0
0
0
6
-21
-65
-16
-19
-11
-17
0
0
0
0
0
0
0
0
0
0
-3
7
54
13
-42
26
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-41
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
2
-14
-17
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
7
-4
-45
7
16
0
0
0
0
0
0
0
0
0
0
0
0
10
20
98
-22
30
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
30
-2
-26
0
0
0
0
0
0
0
0
0
0
0
0
3
-31
-25
80
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-72
-21
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-18
-62
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
16
0
0
0
0
0
0
0
0
0
0
0
0
-9
25
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
4
-5
-10
-61
37
103
0
0
0
0
0
0
0
0
0
0
0
-1
0
-15
-20
-17
-25
0
0
0
0
0
0
0
0
0
0
0
0
3
6
-10
43
9
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-19
-45
53
115
3
0
0
0
0
0
0
0
0
0
0
-1
1
-49
-22
-72
-38
0
0
0
0
0
0
0
0
0
0
0
0
7
13
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
2
0
0
0
12
-25
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
15
58
0
0
0
0
0
0
0
0
0
0
0
-1
-9
61
-15
65
-5
0
0
0
0
0
0
0
0
0
0
0
7
0
-42
-2
2
-38
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
-29
-30
1
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-27
-15
6
0
0
0
0
0
0
0
0
0
0
0
-4
32
-14
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
-1
-3
1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
67
0
27
-13
-11
0
0
0
0
0
0
-2
-1
30
0
0
0
31
25
-48
42
12
-12
0
0
0
0
0
-2
-7
-2
29
-37
-1
-10
-1
12
-48
-52
0
0
0
0
0
0
0
12
13
-17
11
8
26
-56
-29
-71
91
1
0
0
0
0
0
0
3
3
36
-4
47
9
-36
43
24
2
-1
0
0
0
0
0
0
0
8
-47
-19
57
-43
-40
14
-16
-15
0
0
0
0
0
0
0
0
0
-15
1
39
44
-44
28
-42
9
0
0
0
0
0
0
0
0
2
36
25
-19
0
-13
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-22
0
0
0
28
-1
2
0
0
0
0
0
0
0
0
0
-9
-6
0
0
0
-69
-8
-10
3
0
2
0
0
0
0
0
0
9
0
71
49
0
-41
0
0
0
0
0
0
0
0
0
0
0
-2
0
-78
15
22
-27
1
-6
0
-4
0
0
0
0
0
0
0
0
0
5
-8
4
35
0
-6
-9
-11
2
0
0
0
0
0
0
0
0
20
42
19
2
13
0
-9
-1
0
0
0
0
0
0
0
0
0
-3
-19
2
0
-3
0
1
3
0
0
0
0
0
0
0
0
0
2
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
94
-2
9
-16
-15
-25
23
0
0
0
0
0
17
-17
-24
0
0
1
23
-17
-4
-7
11
4
0
0
0
0
-1
0
-6
10
33
12
28
52
25
18
6
-26
-36
0
0
0
0
0
0
27
24
-26
57
31
32
44
18
34
33
33
0
0
0
-1
0
0
-6
-11
60
-3
55
19
45
-2
6
29
34
0
0
0
0
0
-6
0
2
8
24
4
-6
6
30
-4
5
29
0
0
0
0
0
1
0
0
34
11
31
10
-5
34
21
-28
14
0
0
0
0
0
0
24
-1
-53
-13
38
7
-7
81
53
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
-9
-7
0
0
-3
-15
0
-16
-10
-25
4
0
0
0
1
-1
-15
-63
-17
18
16
17
-3
-26
-14
3
0
20
0
0
0
0
4
-8
-7
8
41
28
-9
-18
-29
-20
-5
13
28
0
0
0
0
1
-7
27
25
-16
-23
-21
-16
-21
-18
-1
2
97
0
0
0
0
-11
-4
43
-31
-37
-51
-31
-14
-1
-1
4
0
30
0
0
0
0
0
0
15
33
-14
-48
-23
-29
-22
-13
-2
22
67
0
0
0
0
0
12
52
6
-44
13
-46
-33
-25
-8
0
-16
-24
0
0
0
0
0
2
36
-7
13
-20
-14
-44
-14
-12
28
-19
14
0
0
0
0
0
0
0
8
6
12
-60
-26
-64
-56
-45
-4
0
0
0
0
0
0
0
0
0
0
0
-31
-35
-54
7
-4
-21
0
0
0
0
0
0
0
0
1
18
-4
46
44
13
14
63
-24
-6
0
0
0
0
0
0
3
0
16
65
-32
17
32
-22
2
-6
0
0
0
0
0
0
0
-2
-3
11
-1
5
6
-53
6
46
25
1
0
0
0
0
0
0
0
-8
-17
-29
65
20
17
2
-43
11
-3
0
0
0
0
0
0
0
0
0
39
-28
-27
25
-20
33
86
-36
0
0
0
0
0
0
0
-1
38
25
27
-68
17
12
75
17
2
0
0
0
0
0
0
0
1
-1
39
5
-18
13
78
104
-6
0
0
0
0
0
0
0
0
0
2
0
18
-5
21
10
86
65
0
0
0
0
0
0
0
0
0
0
20
27
32
1
10
11
20
67
0
0
0
0
0
0
0
-2
-12
33
0
15
26
-25
18
-16
22
0
0
0
0
-4
0
-4
8
63
34
6
-13
22
10
27
-7
19
0
0
0
0
0
-1
0
1
40
20
8
19
-2
24
43
4
14
0
0
0
0
0
0
2
5
-10
29
25
-5
31
3
18
54
38
0
0
0
0
0
0
13
-10
33
-20
-15
-4
11
9
13
37
34
0
0
0
0
-1
0
-2
16
32
-59
-39
-5
13
27
39
3
24
0
0
0
0
0
0
0
0
-16
39
-20
9
13
1
31
32
39
0
0
0
0
0
0
0
0
-9
17
-1
-7
-6
-15
-5
0
0
0
0
0
0
0
0
13
3
0
0
24
39
-5
-13
5
6
-27
0
0
0
0
-1
-17
1
0
53
0
48
8
16
3
-2
-31
-24
0
0
0
0
-4
-8
23
13
15
-1
14
41
3
3
6
-5
-45
0
0
0
0
0
-2
7
47
42
-4
9
7
1
34
5
29
39
0
0
0
0
2
-2
14
18
47
38
-10
7
22
33
41
44
56
0
0
0
0
0
1
15
40
52
2
-2
4
6
40
29
12
-41
0
0
0
0
0
0
-1
51
-30
-19
-12
-4
3
6
-7
60
-5
0
0
0
0
0
-9
0
28
13
-10
-5
21
14
-2
-9
-36
0
0
0
0
0
0
0
0
0
0
1
0
1
-19
-12
-6
0
0
0
0
0
0
0
0
-1
0
0
17
44
15
47
-7
-28
18
-33
0
0
0
0
0
0
27
0
43
0
44
1
3
33
11
-19
-1
0
0
0
0
0
-6
42
-15
12
28
4
34
28
11
18
11
4
0
0
0
0
4
-5
47
42
-22
-5
58
54
21
-11
-25
31
0
0
0
0
0
0
-2
42
25
23
14
16
0
-5
26
-10
-16
-58
0
0
0
0
0
1
-3
6
54
15
-13
-4
4
-26
-30
8
-6
0
0
0
0
0
0
-2
8
13
66
0
6
14
-19
-10
27
10
0
0
0
0
0
0
0
0
2
7
-33
27
-58
48
-13
83
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
3
-9
2
-22
-29
30
0
0
0
0
0
0
12
-7
0
0
0
44
-43
-35
-96
-107
33
-5
0
0
0
0
0
0
0
9
0
1
14
-72
26
4
-31
-18
0
0
0
0
0
0
0
-6
-4
8
0
-19
6
24
-13
24
-32
2
0
0
0
0
0
0
0
36
-7
-2
0
39
-37
1
1
17
3
0
0
0
0
0
0
0
-2
17
-1
10
11
1
-55
70
18
-1
0
0
0
0
0
0
0
2
-2
0
24
10
38
21
-4
-14
-1
0
0
0
0
0
0
0
0
0
0
-6
1
-3
1
1
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
64
30
78
9
20
-4
29
0
0
0
0
0
0
0
15
-26
-11
15
18
23
21
22
44
42
0
0
0
0
0
0
1
-10
11
12
-7
20
13
11
-17
-35
14
0
0
0
0
0
0
0
0
3
0
-37
-47
26
29
21
6
-24
0
0
0
0
0
0
0
0
0
0
0
-33
45
50
10
24
20
0
0
0
0
0
0
0
0
0
0
6
-11
2
9
22
-13
45
0
0
0
0
0
0
0
0
0
-3
-8
9
-25
-3
49
-3
-15
0
0
0
0
0
0
0
0
0
0
0
10
-5
0
37
33
-20
0
0
0
0
0
0
0
0
0
0
0
-2
1
9
-46
-3
17
0
0
0
0
0
0
0
0
0
0
-1
-7
13
-45
-69
-40
-2
0
0
0
0
0
0
0
0
1
0
2
8
-59
-69
51
-30
-7
0
0
0
0
0
0
0
0
0
0
0
0
-32
5
19
-75
14
0
0
0
0
0
0
0
0
0
0
0
0
1
23
-6
-38
0
0
0
0
0
0
0
0
0
0
0
0
3
39
9
23
30
-8
0
0
0
0
0
0
0
0
0
0
0
0
-45
81
-35
31
21
0
0
0
0
0
0
0
0
0
0
0
-11
14
50
40
32
28
0
0
0
0
0
0
0
0
0
0
0
0
-23
32
2
-14
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
-3
-3
0
0
0
0
0
0
0
0
0
0
0
3
13
53
2
40
0
0
0
0
0
0
0
0
0
-3
2
6
11
31
-27
25
10
-10
0
0
0
0
0
0
0
-3
-3
2
-1
-33
38
40
19
-26
-3
0
0
0
0
0
0
0
0
0
0
-7
-24
42
-10
-17
-21
8
0
0
0
0
0
0
0
0
0
0
-18
7
50
6
29
63
9
0
0
0
0
0
0
0
0
0
0
0
-2
7
47
56
-2
-7
0
0
0
0
0
0
0
0
0
0
0
-1
42
45
-14
22
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
-40
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
4
21
16
-33
27
-31
0
0
0
0
0
0
0
0
0
-1
9
10
37
70
7
24
104
-9
0
0
0
0
0
0
0
0
-1
-1
-7
105
17
8
19
30
0
0
0
0
0
0
0
0
0
0
0
-1
26
-7
10
35
66
-1
0
0
0
0
0
0
0
0
0
0
-2
-22
-55
50
67
49
2
0
0
0
0
0
0
0
0
0
0
0
-25
3
15
22
-23
-3
0
0
0
0
0
0
0
0
0
0
-2
-1
1
51
14
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-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
47
29
-67
21
8
39
-9
22
0
0
0
0
0
0
0
7
13
18
8
-40
40
41
-15
7
2
0
0
0
0
0
0
0
-10
-48
-10
-1
38
48
24
65
6
46
0
0
0
0
0
0
0
3
20
9
30
-26
57
37
40
-5
-2
0
0
0
0
0
0
-2
-4
52
30
13
5
-7
35
18
47
7
0
0
0
0
0
0
0
3
72
-9
26
-8
26
63
30
66
15
0
0
0
0
0
0
0
22
-45
-19
-45
35
26
79
-15
53
9
0
0
0
0
0
0
0
0
0
-47
19
-2
53
27
13
34
52
0
0
0
0
0
0
0
0
0
0
-7
-3
0
-1
28
17
3
0
0
0
0
0
0
0
0
0
-1
-4
6
-11
-20
54
15
-1
0
0
0
0
0
0
0
0
-3
-8
-19
5
-11
-17
94
28
50
0
0
0
0
0
0
0
-3
-6
-3
5
11
-34
-27
20
-41
-10
0
0
0
0
0
0
0
3
-24
18
-4
25
1
-44
64
6
22
0
0
0
0
0
0
0
0
1
-26
14
-29
52
2
-13
14
-28
0
0
0
0
0
0
0
0
-1
6
-18
22
35
11
-61
13
-40
0
0
0
0
0
0
0
0
-3
-27
7
-9
59
-53
8
-49
-21
0
0
0
0
0
0
0
0
9
0
1
0
44
-25
6
26
-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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
3
0
33
29
17
71
-28
21
18
-4
0
0
0
10
22
9
-18
26
14
25
23
33
51
-1
19
-14
9
0
0
-1
-1
-33
-6
-39
-6
3
0
19
17
74
75
14
-85
7
0
0
0
-7
10
64
-9
-11
-28
10
10
40
11
-2
-6
-18
28
0
0
0
0
0
5
-66
-16
-4
-5
-11
-50
33
-27
21
-20
1
0
0
0
0
0
-1
-18
-25
-5
-42
-35
-5
66
24
57
7
0
0
0
0
0
0
0
-13
-101
-21
-51
-48
13
24
3
11
-29
0
0
0
0
0
0
0
0
-46
-18
9
-47
19
-22
57
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-26
-39
-10
0
-18
9
-4
30
21
-3
-6
0
0
0
0
-7
-58
-107
12
-32
-7
-4
-3
20
-16
0
15
17
0
0
0
0
0
0
-18
-6
-45
-3
-15
13
-3
17
29
-17
-26
0
0
0
-1
2
-7
17
-18
-22
31
-8
-15
13
44
42
19
12
0
0
0
0
-1
8
-21
-40
23
11
-15
-9
-6
21
20
5
70
0
0
0
0
-2
-1
37
62
-40
-18
-12
-5
-7
11
42
6
27
0
0
0
0
0
-9
-43
-30
-8
0
-17
-12
-5
4
34
43
-5
0
0
0
0
2
-12
12
-68
2
1
-1
-4
18
36
47
13
-29
0
0
0
0
0
2
-19
37
33
9
4
24
14
-13
-25
-7
2
0
0
0
0
8
57
-30
-18
-49
0
-11
-1
11
14
62
0
0
0
0
0
0
0
9
-25
40
12
-27
-15
41
-14
-8
37
0
0
0
0
0
0
0
2
35
12
-3
28
11
20
11
39
1
0
0
0
0
0
0
0
3
-46
-1
2
21
15
37
-10
27
-54
-3
0
0
0
0
0
2
0
26
30
-28
-11
18
7
60
49
9
0
0
0
0
0
4
4
-36
-13
21
-16
24
-7
24
1
-12
39
-2
0
0
0
0
4
-16
5
8
3
-12
2
-62
-1
16
-18
62
-1
0
0
0
1
2
28
7
4
-20
4
-34
-63
-8
-33
54
16
0
0
0
0
0
2
-6
51
-64
-29
-33
-21
-35
17
5
-50
-38
6
0
0
0
0
0
-3
10
20
23
-15
0
23
40
-9
15
16
17
0
0
0
0
0
5
50
-46
-9
64
9
30
8
7
-6
-2
48
0
0
0
0
0
19
-8
24
25
11
13
-8
11
23
43
69
-48
0
0
0
0
0
0
-1
-34
-2
-18
-11
18
31
34
22
14
-16
0
0
0
0
-3
5
-5
-28
6
-9
-12
14
0
16
48
34
0
0
0
0
1
2
-33
33
8
5
-4
-19
-9
-24
6
12
11
-2
0
0
0
0
-3
-34
-6
-23
-1
-20
-15
-24
-6
16
-18
-16
9
0
0
0
0
-2
-7
-35
-32
-2
-19
-13
18
-10
-10
63
17
0
0
0
0
0
0
0
0
0
0
-16
14
8
57
1
0
0
0
0
0
0
0
0
0
0
0
-13
-24
0
35
46
-6
25
-6
-18
37
-10
0
0
0
0
-3
-20
-40
-25
24
38
36
20
45
2
24
20
-25
0
0
0
-1
14
7
-10
8
2
23
55
43
54
26
54
26
11
0
0
0
0
-4
8
6
-34
21
0
18
17
24
-7
23
10
8
0
0
0
2
0
11
2
33
-1
17
8
5
23
63
9
2
1
0
0
0
0
0
2
6
-39
-5
-13
-14
11
11
9
68
26
8
0
0
0
0
0
0
6
-53
-36
-27
-1
29
-1
-20
86
55
6
0
0
0
0
0
0
-7
-15
3
-10
-24
-17
64
-87
45
-2
0
0
0
0
0
1
0
0
-2
0
-30
-1
0
0
0
17
-3
0
0
0
0
0
0
-1
23
12
0
42
7
-26
23
-34
-54
22
-3
0
0
0
0
0
0
9
-41
22
11
-15
31
31
25
55
-29
-20
0
0
0
0
1
0
4
-37
16
50
53
-6
50
51
31
22
19
0
0
0
0
0
0
37
-25
64
42
63
-2
8
72
63
67
-14
0
0
0
0
0
-25
-53
-57
-30
9
-7
25
63
58
62
41
45
0
0
0
0
1
2
-4
-34
-14
-33
4
26
23
26
49
31
38
0
0
0
0
0
-27
-6
25
-38
15
38
37
52
41
-2
41
1
0
0
0
0
0
0
0
-37
-26
-23
-61
27
98
-17
31
4
0
0
0
0
0
0
0
0
0
7
0
-28
0
2
-1
6
0
0
0
0
0
0
0
0
0
0
0
23
12
-41
0
-3
1
0
-1
0
0
0
0
0
0
-1
19
58
25
11
126
32
24
33
16
-21
0
0
0
0
0
3
0
12
4
-7
76
11
2
35
35
30
7
0
0
0
0
0
0
-10
-28
52
-38
-10
19
40
-2
38
18
14
0
0
0
0
0
0
6
23
-55
-52
-5
5
-19
-3
-1
38
-16
0
0
0
0
0
0
2
-18
-22
-56
-30
-59
-5
5
2
-42
-56
0
0
0
0
0
0
3
-2
-13
-2
-9
18
43
-8
-7
41
0
0
0
0
0
0
0
36
-22
-36
49
39
-26
-3
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
65
0
0
0
18
0
0
0
0
0
0
0
0
0
-3
47
-28
35
-24
0
0
-3
0
0
0
0
0
0
0
0
0
0
-13
-19
-9
-29
17
21
100
-5
0
0
0
0
0
0
0
0
2
-13
-2
-46
9
28
66
24
16
0
0
0
0
0
0
0
0
-1
-12
23
4
2
-5
38
38
19
0
0
0
0
0
0
0
0
0
-24
22
-19
-3
19
-2
1
-2
0
0
0
0
0
0
0
0
0
1
-4
-6
-29
-1
-2
-20
0
0
0
0
0
0
0
0
0
0
0
27
-53
9
-3
10
41
0
0
0
0
0
0
0
0
0
0
0
-6
18
28
6
1
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
26
0
0
4
0
0
0
0
0
0
0
0
0
0
0
8
-25
57
-14
17
1
0
0
0
0
0
0
0
0
0
0
1
-28
-8
35
-33
31
29
0
0
0
0
0
0
0
0
0
0
-1
0
-11
36
72
27
28
0
0
0
0
0
0
0
0
0
0
0
-7
-11
-42
-12
-52
3
0
0
0
0
0
0
0
0
0
0
0
0
15
-12
13
-54
2
0
0
0
0
0
0
0
0
0
0
0
3
3
12
30
17
-1
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
-3
-39
14
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
7
16
36
0
0
45
0
0
0
0
0
0
0
0
0
-1
1
15
-80
-17
-71
12
26
-17
0
0
0
0
0
0
0
0
0
-1
0
7
49
25
-13
12
4
0
0
0
0
0
0
0
0
0
0
0
60
-2
53
19
5
-3
0
0
0
0
0
0
0
0
0
0
24
-1
-16
31
19
-6
-1
0
0
0
0
0
0
0
0
0
0
-2
43
25
8
-23
1
-8
0
0
0
0
0
0
0
0
0
0
0
-11
22
19
-22
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
-7
4
-11
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
18
-9
-32
0
0
40
31
0
0
0
0
0
0
0
0
0
0
-1
-13
35
49
24
8
1
0
0
0
0
0
0
0
0
0
0
1
34
25
21
35
-30
17
0
0
0
0
0
0
0
0
0
0
0
8
-6
14
11
14
-20
0
0
0
0
0
0
0
0
0
0
1
-5
58
52
15
-3
-3
0
0
0
0
0
0
0
0
0
0
-11
-31
-19
19
-18
-28
12
0
0
0
0
0
0
0
0
0
0
0
1
-25
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
0
0
46
-3
9
1
-2
-16
0
0
0
0
0
0
-23
19
0
0
0
16
-18
-17
-9
52
20
0
0
0
0
0
0
6
36
-11
72
35
-11
35
-10
-71
6
88
-1
0
0
0
0
-1
-1
47
17
43
-46
33
-8
37
20
-17
2
0
0
0
0
0
0
-10
19
32
-42
66
-11
70
5
-15
40
6
0
0
0
0
0
0
0
-32
30
32
12
-27
-52
13
7
0
-5
0
0
0
0
0
0
-18
24
-6
32
27
39
-4
-48
0
0
1
0
0
0
0
0
0
-2
-32
-3
-12
-34
-16
-1
6
0
-17
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
1
-2
-9
62
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
80
-5
-6
0
0
-3
-11
-4
-11
0
0
0
0
0
0
0
-1
23
23
-44
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-54
101
-1
11
1
0
0
0
0
0
0
0
0
0
0
-4
-92
-4
40
4
0
0
3
-2
0
0
0
0
0
0
0
0
-1
-12
-45
-27
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
32
52
0
0
0
19
59
2
70
16
-4
38
0
0
0
0
-13
43
15
75
0
0
73
59
16
12
11
15
27
0
0
0
-2
-4
-3
-1
65
33
59
107
32
48
33
27
5
3
0
0
0
0
0
4
-37
42
18
37
34
-7
4
57
42
34
35
0
0
0
-4
2
4
-36
65
74
3
55
42
26
-4
23
28
2
0
0
0
0
-1
-7
21
-22
-6
27
23
48
-4
-6
-7
34
-33
0
0
0
0
0
0
-4
48
-25
41
-43
17
24
2
4
30
-7
0
0
0
0
0
0
0
-12
25
16
8
-1
1
-8
17
-23
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
13
13
19
50
0
0
44
14
4
24
12
-61
-19
0
0
0
1
-12
2
-16
22
-25
2
-10
17
5
-5
0
-33
-1
0
0
0
0
-7
26
33
62
7
-13
20
-6
-12
-16
-37
-31
-29
0
0
0
0
-3
-39
-56
-42
-29
-40
-7
4
-21
-19
-29
-30
-49
0
0
0
0
0
-10
40
-40
-44
-36
-24
-19
-7
4
-44
-49
-39
0
0
0
0
0
6
10
-75
-37
-48
-46
-19
3
-12
-21
6
-47
0
0
0
0
6
0
-49
61
0
-30
-3
-6
-10
3
14
-23
-33
0
0
0
0
0
0
19
-16
-8
-36
24
-2
-23
8
15
-19
37
0
0
0
0
0
0
-1
0
0
-7
-3
23
31
13
-16
0
0
0
0
0
0
0
0
0
0
0
0
-27
5
29
3
17
15
-10
0
0
0
0
0
0
0
-1
10
7
69
15
9
-24
-3
18
2
0
0
0
0
0
0
0
-8
22
4
72
38
24
-22
-3
1
-18
0
0
0
0
0
0
1
5
64
-5
11
13
46
-62
10
-20
-5
0
0
0
0
0
0
1
0
11
-50
45
-10
12
40
-7
4
5
0
0
0
0
0
0
0
4
28
17
-46
37
21
-21
2
-12
14
0
0
0
0
0
0
0
1
7
15
4
48
-36
-3
-21
8
29
0
0
0
0
0
0
0
1
15
51
24
9
-14
4
30
7
15
0
0
0
0
0
0
0
1
-26
8
-3
37
20
18
9
-6
0
0
0
0
0
0
0
0
0
0
-6
-5
0
21
9
-28
-8
24
0
0
0
0
0
-2
0
3
6
78
0
13
-11
-20
-27
-8
1
0
0
0
0
0
0
0
1
2
118
13
32
-14
45
12
-42
-12
0
0
0
0
0
0
0
-6
13
29
9
4
41
28
-5
-13
21
0
0
0
0
0
0
0
0
36
-12
41
-19
18
43
-15
-26
13
0
0
0
0
0
0
7
3
0
32
-17
34
12
-16
24
12
2
0
0
0
0
0
0
0
0
-27
21
69
11
-50
-11
6
-13
20
0
0
0
0
0
0
0
0
33
41
55
38
0
38
-19
-28
14
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
1
0
0
0
0
0
0
-21
38
11
0
0
26
42
33
21
4
22
12
0
0
0
0
-18
12
34
0
20
0
105
22
45
29
8
1
-4
0
0
1
-1
-1
10
84
-13
48
61
74
46
50
-4
19
22
-32
0
0
0
-1
-3
-48
-14
24
5
73
45
33
30
28
24
-37
-23
0
0
0
0
0
-16
-32
92
21
77
36
17
-3
29
18
18
19
0
0
0
0
-17
-3
-22
75
43
10
7
12
17
50
33
49
26
0
0
0
0
0
0
14
26
70
76
19
50
16
15
-44
30
37
0
0
0
0
0
0
0
42
52
35
-29
23
1
-22
37
10
9
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
-2
2
2
-27
0
-1
-12
69
-22
3
13
-65
-5
0
0
0
0
-1
10
4
0
0
0
-8
-19
-4
-19
-24
-18
22
0
0
0
0
0
18
75
-9
100
8
51
55
50
5
-13
51
-29
0
0
0
0
-1
2
25
53
12
23
-10
20
1
32
15
-21
-31
0
0
0
0
0
0
-4
125
76
44
28
-13
-17
-43
45
-9
50
0
0
0
0
0
0
11
102
75
80
56
-13
-53
-64
38
-24
-29
0
0
0
-1
0
0
1
66
75
37
37
42
-9
-78
-3
-57
14
0
0
0
0
0
0
0
1
3
7
-12
7
20
43
-36
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-1
3
0
0
0
0
0
0
0
0
0
0
2
2
1
-10
-8
-2
-12
0
0
0
0
0
0
0
0
0
-1
0
61
-6
36
-7
-26
-6
0
0
0
0
0
0
-3
9
18
3
-42
18
8
28
9
-15
1
0
0
0
0
0
0
-8
79
4
-3
2
-20
-49
-4
-17
51
-12
0
0
0
0
0
0
11
16
0
-9
0
1
-2
0
-2
-2
10
0
0
0
0
0
0
0
-1
39
0
-1
11
1
0
-10
-6
0
0
0
0
0
0
0
0
0
1
-2
10
1
-11
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
19
1
-3
8
17
59
36
0
0
0
0
0
0
0
2
1
26
3
-19
-17
-15
20
-3
-37
0
0
0
0
0
0
0
0
2
3
-2
-54
29
-21
-3
6
-39
0
0
0
0
0
0
0
0
0
7
-2
-7
54
43
9
5
3
0
0
0
0
0
0
0
0
0
-3
4
43
-1
20
48
21
19
0
0
0
0
0
0
0
0
0
-1
6
-2
28
-37
-15
-14
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-7
-9
19
67
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
47
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
22
-73
19
0
0
0
0
0
0
0
0
0
0
8
-2
-11
-3
51
-51
-7
0
0
0
0
0
0
0
0
0
0
-6
0
7
-7
57
-22
-12
0
0
0
0
0
0
0
0
0
0
0
-1
3
75
55
96
-10
0
0
0
0
0
0
0
0
0
0
0
10
7
-17
37
58
9
0
0
0
0
0
0
0
0
0
0
0
0
2
-22
-45
7
26
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
28
22
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
28
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
11
0
0
0
0
0
0
0
0
0
0
1
0
-9
67
-18
-16
65
0
0
0
0
0
0
0
0
0
-1
-3
0
-16
57
16
-89
63
0
0
0
0
0
0
0
0
0
0
0
0
-15
90
-19
53
31
0
0
0
0
0
0
0
0
0
0
-2
0
0
10
-15
36
12
0
0
0
0
0
0
0
0
0
0
-2
0
7
-4
-6
-11
38
0
0
0
0
0
0
0
0
0
0
0
0
0
12
27
41
46
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-45
0
0
0
0
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
11
-2
-3
27
-37
4
0
0
0
0
0
0
0
0
0
1
-1
13
31
4
-24
-13
36
0
0
0
0
0
0
0
0
0
1
0
24
-29
3
51
72
-49
0
0
0
0
0
0
0
0
0
0
10
-3
-5
22
10
38
7
0
0
0
0
0
0
0
0
0
0
0
0
-18
28
18
79
20
0
0
0
0
0
0
0
0
0
0
0
4
8
-42
1
30
0
0
0
0
0
0
0
0
0
0
0
0
-2
-28
40
-17
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
-31
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
-11
0
27
28
41
-33
37
-21
-28
-10
0
0
0
0
0
0
-29
21
-26
38
32
3
-40
40
34
-23
22
0
0
0
0
0
0
1
3
4
29
-27
22
-26
11
26
55
32
0
0
0
0
0
0
-5
61
39
38
37
-39
-21
28
15
-23
17
0
0
0
0
0
0
-2
-8
53
0
24
99
-37
-41
44
18
-22
0
0
0
0
0
0
5
-10
-28
4
-25
-10
10
17
55
13
-14
0
0
0
0
0
0
0
32
-20
-17
-41
-17
45
62
4
45
21
0
0
0
0
0
0
0
0
45
-5
1
-21
-2
-17
24
4
16
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
-41
12
0
0
0
0
0
0
0
0
0
-16
11
-3
1
53
-28
-45
-2
0
0
0
0
0
0
0
-3
0
-21
-2
-3
0
4
61
37
19
0
0
0
0
0
0
0
-4
0
1
29
-11
11
-27
59
28
-21
0
0
0
0
0
0
0
-2
3
26
48
-2
-18
24
10
11
46
0
0
0
0
0
0
0
-1
1
1
10
0
-19
-43
27
-38
-40
0
0
0
0
0
0
0
1
6
0
-18
-4
30
48
-51
1
42
0
0
0
0
0
0
0
0
0
7
-7
-8
7
5
29
28
57
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
55
37
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
2
0
29
32
21
2
59
14
-10
-27
0
0
1
29
-42
15
-44
-7
-1
20
31
1
0
59
-18
-34
51
0
0
-2
-9
0
-19
-19
7
12
12
12
21
11
-36
46
74
-17
0
0
-1
-7
-6
27
-7
-25
4
5
12
13
48
-1
63
-2
14
0
0
0
1
-3
-67
-34
-20
2
-27
15
16
77
-24
-14
37
41
0
0
0
0
-1
-4
-73
-20
-22
14
-6
24
83
66
-56
20
-41
0
0
0
0
0
3
-27
-85
-26
-76
-51
-41
12
17
50
23
0
0
0
0
0
0
0
-1
-21
-53
-16
6
22
-6
0
0
-31
0
0
0
0
0
0
0
0
-1
0
-10
0
0
0
0
0
0
0
0
0
0
8
-19
-58
1
-1
0
-1
1
9
5
17
-36
8
0
0
0
-1
19
-34
27
-11
-6
-20
11
14
7
27
18
38
12
0
0
0
0
-12
-16
-21
14
1
4
16
19
3
29
19
-40
23
0
0
0
0
-6
0
-44
-43
-41
-10
-9
-4
-3
-34
37
14
39
0
0
0
0
15
-32
3
-44
-35
2
-34
5
0
16
20
-23
0
0
0
0
3
-3
-25
-35
-20
-30
-17
-10
-10
-11
-16
41
3
15
0
0
0
0
0
2
-16
-36
-19
3
-19
-22
-14
-12
-10
-29
4
0
0
0
0
0
-3
25
-47
19
14
-11
4
-7
-9
9
-6
-3
0
0
0
0
0
0
-6
24
-16
25
23
7
-41
4
8
0
0
0
0
0
0
21
2
6
-32
-3
0
19
20
-40
37
-16
1
0
0
0
6
1
20
6
7
3
-3
8
10
-4
-4
-23
-17
0
0
0
0
0
-2
-16
3
-13
1
22
18
-3
19
-8
-65
19
-2
0
0
0
0
-6
8
28
19
-12
-7
-34
10
-4
20
-85
0
0
0
0
0
0
1
-20
12
-28
-13
-2
-13
35
-5
11
18
16
0
0
0
0
1
-6
2
16
-22
-31
11
1
-57
-49
-25
-32
12
0
0
0
0
0
2
32
9
3
5
-3
-1
-5
3
41
31
-5
0
0
0
0
2
-3
-3
28
34
12
-3
-9
-37
-14
7
-46
-16
0
0
0
0
-3
-4
16
36
-6
11
7
3
-16
-5
16
10
0
0
0
0
0
0
2
-7
-38
27
32
13
0
19
-7
28
30
-17
0
0
0
0
1
-1
-22
15
32
15
30
8
7
-15
21
6
-19
0
0
0
0
0
1
-25
5
-52
4
1
40
-20
23
10
4
17
0
0
0
0
0
1
0
-9
20
-16
11
33
0
4
3
-15
14
0
0
0
0
0
-1
11
56
-4
-51
-12
-26
-11
4
9
-19
-4
0
0
0
0
0
0
-17
2
-2
-2
-29
-7
-22
-35
-23
40
1
0
0
0
0
0
-1
3
-3
0
-37
-23
-12
-19
-18
-22
20
10
0
0
0
0
0
0
7
-58
-28
4
-17
-16
-47
-19
-51
10
0
0
0
0
0
0
0
0
0
0
0
-1
-2
3
44
-8
0
0
0
0
0
0
0
0
0
11
-6
9
-2
0
0
26
45
41
-74
54
7
-1
0
0
0
-3
-3
-36
-1
23
9
26
19
28
-1
70
-17
59
5
0
0
-1
0
-8
-41
5
-2
16
9
40
22
17
2
11
-8
-27
0
0
-1
0
-13
-21
-4
-21
22
-41
5
16
29
36
-10
50
-19
0
0
0
0
0
30
-10
-25
-23
-18
-7
-14
52
28
77
39
-27
0
0
0
0
0
-29
-49
-11
-19
-21
-34
-14
-21
17
7
-22
57
0
0
0
0
0
0
-13
-35
-61
-5
4
19
-23
-29
15
41
-54
0
0
0
0
0
0
8
-18
-30
-22
2
-35
-13
-11
2
15
6
0
0
0
0
0
0
0
0
0
-4
0
0
-2
3
-3
-1
1
0
0
0
0
-1
32
-16
5
0
-13
11
-2
-32
-20
55
10
58
0
0
0
0
-2
-29
19
8
5
33
-7
39
-25
-50
53
-7
25
0
0
0
0
8
8
6
-2
20
6
-3
-18
46
-10
-22
8
83
0
0
0
0
2
-31
40
21
3
40
13
13
-23
-5
41
-9
59
0
0
0
0
2
-22
49
-16
30
-11
-31
-55
20
8
66
-2
-31
0
0
0
0
3
7
-52
-19
6
-15
-24
-33
34
-54
-51
4
75
0
0
0
0
1
16
25
-4
36
-4
-18
-27
-28
7
-3
-37
-2
0
0
0
0
0
0
48
-11
-28
-21
-9
24
0
62
0
-21
0
0
0
0
0
0
0
0
24
21
-15
5
-3
7
0
0
0
0
0
0
0
0
0
0
2
-13
0
7
-5
-4
0
0
0
39
0
0
0
0
0
0
0
-23
0
-13
-34
-72
-30
2
19
-9
43
0
0
0
0
0
0
0
-3
33
21
-36
8
3
-2
16
-3
-8
0
0
0
0
0
0
0
0
-15
24
23
17
10
0
2
18
-13
-7
0
0
0
0
0
0
0
5
-35
-30
-33
-38
-3
0
17
54
21
0
0
0
0
0
0
-5
-86
58
-42
16
-47
-3
0
2
-24
-5
0
0
0
0
0
0
-1
-20
13
-16
2
-1
-2
-2
2
48
-1
0
0
0
0
0
0
0
-17
-36
10
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
1
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-7
6
48
-9
0
0
29
0
0
0
0
0
0
0
0
1
-7
-3
24
1
59
55
37
-31
0
0
0
0
0
0
0
0
2
-3
0
3
2
8
-9
15
50
-2
0
0
0
0
0
0
0
0
0
0
-2
59
-6
10
29
40
6
0
0
0
0
0
0
0
0
0
2
18
34
-32
1
-3
-22
0
0
0
0
0
0
0
0
0
-6
9
4
23
-24
-37
-18
-3
3
0
0
0
0
0
0
0
0
10
-9
1
4
10
-3
-51
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-7
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
48
-48
8
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
36
-24
12
0
0
0
0
0
0
0
0
0
0
0
0
0
31
2
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
43
35
0
0
0
0
0
0
0
0
0
0
0
0
1
62
-3
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-26
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
8
-33
-29
-52
66
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
-29
-31
30
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-30
51
39
-1
0
0
0
0
0
0
0
0
0
3
0
1
-38
-15
10
49
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
9
41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
-3
-11
6
0
0
30
0
0
0
0
0
0
0
0
0
0
0
2
0
21
-3
-8
-1
-1
0
0
0
0
0
0
0
0
0
0
1
-3
-39
4
-15
57
-2
0
0
0
0
0
0
0
0
0
0
0
3
-3
30
50
17
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-29
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-4
-23
-26
0
0
0
0
-10
-1
0
-6
0
0
0
13
-14
-31
-46
-54
6
-1
0
0
0
-1
3
0
13
-58
29
37
-4
4
-44
1
101
8
0
0
0
0
0
0
0
25
-17
6
-87
28
9
-38
-34
-15
2
0
0
0
1
0
0
6
-19
30
30
18
43
-8
-12
36
82
-6
0
0
0
0
0
-1
0
1
-57
-21
-42
-41
31
32
16
2
0
0
0
0
0
0
0
-4
-1
35
-83
13
6
-80
60
-3
6
0
0
0
0
0
0
0
0
4
0
-47
26
6
13
17
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-10
-5
-7
0
-8
-4
1
0
0
0
0
0
0
0
0
0
0
22
-27
-3
4
-9
-2
-1
0
0
0
0
0
0
0
0
0
2
36
16
8
12
3
-1
0
0
0
0
0
0
0
0
0
0
0
19
-5
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-32
28
15
56
-20
-20
-57
0
0
0
0
0
-8
-79
17
0
0
-7
11
-51
34
-19
7
-70
0
0
0
0
0
0
-7
30
-32
3
4
14
22
-3
-1
-17
-22
0
0
6
0
0
7
7
62
3
75
52
18
84
18
1
70
79
0
0
0
0
-6
-1
15
-10
60
12
21
64
22
0
22
9
-57
0
0
0
0
0
1
1
-12
41
35
65
23
61
26
3
-27
-32
0
0
0
1
1
0
-6
-27
34
22
49
39
-20
-29
-51
-33
20
0
0
0
0
-1
-2
-1
23
-16
-2
8
-7
23
-13
54
1
0
0
0
0
0
0
0
0
-11
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
2
-1
0
0
-9
-44
-35
-24
45
32
40
0
0
3
0
-22
60
-34
-32
24
8
-23
-37
-20
-27
7
-5
35
0
0
0
2
-4
18
-19
8
31
29
-11
1
-9
-18
-8
37
92
0
0
0
3
2
3
0
21
-19
-21
-54
-26
-6
0
5
16
-44
0
0
0
2
1
22
40
6
-12
7
-11
-18
-18
0
8
52
27
0
0
0
0
2
-36
-17
-42
36
-13
-41
-19
6
13
14
-9
17
0
0
0
-3
-7
-17
1
59
4
-10
10
-3
-15
-8
5
4
85
0
0
0
-2
2
-21
-6
-22
-32
-2
-5
-31
-24
-7
-4
-50
1
0
0
0
0
0
1
4
5
-10
-1
8
1
10
-1
11
4
0
0
0
0
0
0
0
0
0
0
0
15
-6
-111
28
-15
-58
-3
0
0
0
0
0
0
0
-12
0
6
20
46
8
-19
-21
-29
10
0
0
0
0
-2
0
0
1
1
15
26
38
35
-20
-20
-15
8
0
0
0
0
-1
2
0
0
-13
32
-21
-12
40
31
34
10
3
0
0
0
0
0
0
0
-2
3
-13
25
-8
18
-4
36
55
13
0
0
0
0
0
0
-3
3
-17
37
49
23
13
-5
45
60
3
0
0
0
0
0
0
0
2
2
8
-1
-21
14
18
28
-20
7
0
0
0
0
0
0
2
-2
18
9
-73
-20
17
-19
-39
4
0
0
0
0
0
0
0
0
-7
0
6
3
3
3
-10
4
14
2
0
0
0
0
0
0
0
0
0
19
39
30
-38
-55
23
-30
-24
0
0
0
0
2
1
0
1
-18
6
0
21
47
-20
17
35
24
0
0
0
0
0
1
0
-10
3
-15
-41
7
2
43
-38
8
30
0
0
0
0
2
0
-1
2
11
-13
27
-2
40
35
15
15
22
0
0
0
0
0
0
1
-1
3
-19
-5
47
16
-11
54
72
-28
0
0
0
0
0
1
0
4
-16
76
25
32
26
3
-10
14
14
0
0
0
0
0
0
0
-5
5
21
10
27
49
-47
-5
19
8
0
0
0
0
0
0
8
0
-2
12
8
24
23
31
34
20
12
0
0
0
0
0
0
0
0
0
0
0
-1
2
5
18
0
0
0
0
0
0
0
0
0
0
0
0
-1
42
18
7
28
36
-10
0
0
0
0
-8
11
4
0
-1
0
-55
26
61
42
7
22
-5
0
0
0
8
3
-5
2
15
14
30
37
51
31
-16
10
20
-38
0
0
0
0
0
4
50
-33
-2
65
34
40
53
8
20
23
-36
0
0
0
0
-1
0
11
66
58
17
83
47
50
11
5
17
22
0
0
0
0
1
15
2
21
1
12
48
0
-12
13
-23
56
0
0
0
0
0
1
1
41
29
0
28
-8
11
20
9
-8
12
6
0
0
0
0
0
0
-1
-36
-2
-9
58
49
-3
-3
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-22
0
0
0
0
0
0
0
0
0
0
0
-13
-22
7
35
94
-2
52
-4
0
0
0
0
0
1
2
0
-2
0
42
-16
-16
14
4
17
10
0
0
0
0
0
0
0
-6
22
11
66
64
7
64
7
-8
-2
0
0
0
0
0
0
-4
-5
27
18
16
-7
-5
2
-19
29
36
0
0
0
0
0
0
-7
26
60
-59
-11
10
-17
-19
28
-6
-7
0
0
0
0
0
-1
6
-7
18
45
-32
8
75
-4
-11
4
-1
0
0
0
0
0
0
0
-3
36
75
16
-29
26
9
16
36
1
0
0
0
0
0
0
0
0
7
0
-1
43
17
-28
-30
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-15
-12
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
2
2
-11
0
0
0
0
0
0
0
1
3
0
0
3
4
8
22
26
4
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-18
-19
2
0
0
0
0
0
0
0
0
33
-1
-1
0
-3
7
-3
-16
-18
0
0
0
0
0
0
0
0
6
-43
0
1
3
12
-20
-9
3
0
0
0
0
0
0
0
0
10
28
-6
4
0
-13
17
-19
20
0
0
0
0
0
0
0
0
2
33
0
3
-4
-3
-1
4
1
0
0
0
0
0
0
0
0
0
-1
1
0
0
-8
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
-13
-37
14
28
29
65
-34
-24
0
0
0
0
0
0
1
7
34
-26
-69
6
30
-4
10
14
-16
0
0
0
0
0
0
-3
10
-18
19
27
-13
-20
37
-19
69
3
0
0
0
0
0
0
0
-7
10
-5
52
-60
36
-12
-17
3
-22
0
0
0
0
0
0
0
0
-1
-2
3
47
21
12
5
-1
8
0
0
0
0
0
0
0
0
-1
1
24
3
56
0
8
34
11
0
0
0
0
0
0
0
0
0
3
0
47
-22
-36
32
-46
1
0
0
0
0
0
0
0
0
0
0
0
13
-7
-7
-56
-42
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
-32
38
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-56
-15
49
0
0
0
0
0
0
0
0
0
-5
-3
-19
-8
35
20
28
-59
-14
0
0
0
0
0
0
0
0
-1
0
0
4
22
-7
35
-24
9
0
0
0
0
0
0
0
0
0
0
0
0
-4
39
-1
-20
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
36
-39
-55
-26
0
0
0
0
0
0
0
0
0
0
0
-1
-15
-20
-49
-61
29
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
-25
108
42
0
0
0
0
0
0
0
0
0
0
0
0
1
23
7
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
2
-1
0
0
0
0
0
0
0
0
0
1
2
20
3
3
-2
51
-2
0
0
0
0
0
0
0
3
-1
0
-21
-32
60
-28
34
-22
0
0
0
0
0
0
0
0
2
-7
0
0
-7
33
-75
-26
12
-8
0
0
0
0
0
0
0
0
-1
0
0
3
-33
39
55
26
2
0
0
0
0
0
0
0
0
0
0
0
-14
28
-45
52
47
39
0
0
0
0
0
0
0
0
0
0
-3
0
-36
-16
7
62
-2
0
0
0
0
0
0
0
0
0
0
0
0
24
68
35
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
-22
-23
1
-13
-2
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
6
10
40
12
8
-36
-11
-1
0
0
0
0
0
0
-4
2
5
-11
14
13
31
60
-6
-53
-4
0
0
0
0
0
0
0
3
-1
-3
2
-19
64
-5
70
41
2
0
0
0
0
0
0
0
11
-1
0
-8
-11
-72
3
57
18
-8
0
0
0
0
0
0
0
0
0
0
0
-10
28
63
45
12
21
0
0
0
0
0
0
0
0
0
0
0
54
1
9
-14
43
0
0
0
0
0
0
0
0
0
0
0
0
1
-57
21
13
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
37
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
-3
19
45
-36
72
12
93
20
0
0
0
0
0
0
-1
5
-6
-7
81
21
-7
-17
35
22
50
0
0
0
0
0
0
0
9
37
61
-1
27
10
20
-56
111
57
0
0
0
0
0
0
0
2
11
85
21
-26
-8
22
-10
-5
31
0
0
0
0
0
0
-2
6
-32
-42
16
-6
-24
9
18
33
26
0
0
0
0
0
0
-3
1
9
-48
43
-12
26
6
26
-12
-7
0
0
0
0
0
0
0
0
-14
11
-6
25
5
55
6
1
-76
0
0
0
0
0
0
0
0
0
0
-5
12
3
-35
-49
-61
39
0
0
0
0
0
0
0
0
0
0
7
-2
6
7
-3
-6
-2
0
0
0
0
0
0
0
0
0
-3
-15
9
-15
25
30
-11
0
0
0
0
0
0
0
0
0
0
-2
13
27
45
44
-23
36
-24
0
0
0
0
0
0
0
0
-1
-2
0
-7
19
30
1
-32
20
0
0
0
0
0
0
0
-6
1
28
29
4
2
-19
-3
39
-2
0
0
0
0
0
0
0
10
7
12
6
-2
-8
8
-5
26
51
0
0
0
0
0
0
0
-1
4
0
-4
18
-2
-47
-32
18
1
0
0
0
0
0
0
0
-8
-3
-4
9
29
30
-49
-22
-8
3
0
0
0
0
0
0
0
0
10
15
0
1
46
3
62
-28
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
11
5
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
44
42
66
2
-20
-38
4
-25
0
0
0
0
24
-21
-41
4
43
10
-1
-33
-9
20
105
-25
12
0
0
0
2
2
18
-2
-15
-13
3
17
28
30
9
-30
-27
-25
0
0
0
0
-1
-10
-44
-37
-12
4
5
14
-17
-15
27
58
10
0
0
0
0
0
-15
17
-57
-7
34
-63
-58
-1
26
35
-48
19
0
0
0
0
0
3
-10
14
-25
-10
15
-37
43
0
-21
25
42
0
0
0
0
6
-7
-8
12
-56
9
-4
37
-45
-51
9
34
-1
0
0
0
0
0
0
6
77
6
12
20
-5
-7
15
-51
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
2
14
-5
0
-17
-25
-43
-13
-85
-18
39
0
0
0
1
21
-16
34
-31
-12
2
-21
-22
-10
-1
-25
43
38
0
0
-3
0
-12
-18
-36
8
-20
22
5
14
-3
20
25
73
-30
0
0
0
0
0
-8
-14
-5
-9
1
-20
-12
-18
15
19
22
47
0
0
0
0
0
-33
-14
4
22
14
5
-8
21
-3
5
12
20
0
0
0
0
-3
-3
-64
11
-6
-20
-5
-12
21
23
10
-11
60
0
0
0
0
2
1
2
48
-30
16
0
-23
-27
-7
14
2
46
0
0
0
0
0
0
-8
-9
-74
32
8
-29
-14
-29
-22
-20
-5
0
0
0
0
0
0
-11
11
33
29
4
-17
2
13
36
0
0
0
0
0
0
0
0
0
0
0
0
-19
40
-12
49
-9
17
0
0
0
0
-2
0
2
-7
13
-17
9
15
21
10
50
3
37
0
0
0
0
0
-2
0
-6
55
50
26
-27
16
6
-11
42
-25
0
0
0
0
0
0
0
-6
5
-77
29
58
3
1
3
15
1
0
0
0
0
0
0
-2
-7
10
-24
-36
1
2
-43
45
1
-2
0
0
0
0
0
0
0
0
-40
-3
26
-59
-1
-19
-1
-38
0
0
0
0
0
0
0
0
-1
17
-9
15
-30
-29
-53
30
-41
-7
0
0
0
0
0
0
0
-2
8
-6
2
13
47
-41
-53
-22
-8
0
0
0
0
0
0
0
0
36
-48
29
2
-3
-1
-3
9
0
0
0
0
0
0
0
0
1
10
0
0
10
-9
-33
-23
-50
-18
0
0
0
-1
1
-1
-1
31
5
-10
-26
4
-10
20
42
84
16
0
0
0
0
0
-1
-7
-73
34
3
39
49
6
4
14
54
9
0
0
0
0
0
-1
0
-20
4
-3
27
5
-21
-13
14
68
56
0
0
0
0
0
-2
2
-5
2
2
-26
-3
-38
19
38
19
17
0
0
0
0
0
-1
-5
-27
11
-1
-56
0
8
-35
17
5
-20
0
0
0
0
0
-4
26
-18
-10
-4
-7
-9
20
-18
38
34
1
0
0
0
0
0
0
1
-17
6
-34
16
-18
-27
-5
-29
-49
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-2
0
1
0
0
0
0
0
0
0
0
-11
4
0
8
0
30
22
13
42
41
-3
0
0
-1
0
0
50
21
51
17
29
34
21
0
-3
33
-9
-12
0
0
0
19
-3
-5
103
-1
-13
23
34
2
27
-47
20
19
-40
0
0
0
0
-1
-38
-10
20
-5
23
11
44
17
-26
36
19
-76
0
0
0
0
20
-7
-23
-130
-28
11
34
18
-6
-24
58
-14
8
0
0
0
0
1
0
-29
-4
-27
-20
12
20
-1
-5
13
31
-2
0
0
0
0
0
0
-4
53
-11
-78
-38
4
-24
-55
-4
5
29
0
0
0
0
0
0
-6
-5
-2
13
2
37
-9
60
-7
-27
-1
0
0
0
0
0
0
0
0
0
0
3
-1
2
0
-3
8
0
0
0
0
0
0
0
0
0
0
43
-1
-17
-23
-12
71
34
-7
0
0
0
0
0
-7
-30
-3
34
-3
-14
41
15
3
41
6
-18
0
0
0
0
0
3
8
-26
27
-15
43
22
25
31
-49
-24
-9
0
0
0
0
0
0
4
19
25
33
26
37
18
8
52
-61
-28
0
0
0
0
0
-6
-21
18
35
42
20
21
48
-14
61
21
28
0
0
0
0
0
0
-4
10
-26
24
2
51
25
-15
17
60
-40
0
0
0
0
0
0
7
-15
-4
-24
21
13
25
-12
67
33
16
0
0
0
0
0
0
0
9
-29
-19
-49
-32
12
24
2
17
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
6
6
-1
-1
0
0
0
0
0
0
0
0
0
17
-2
6
-2
-7
-17
1
0
0
0
0
0
0
-4
-1
-32
-7
29
52
18
-30
17
73
7
1
0
0
0
0
0
0
-4
-10
-10
-11
54
-82
-22
-24
11
29
23
0
0
0
0
0
0
0
6
24
4
74
18
32
-9
7
-45
-9
0
0
0
0
0
0
0
-16
-21
-10
43
-38
-13
-36
-25
53
-9
0
0
0
0
0
0
-1
15
29
-12
-12
-2
68
-49
7
12
-20
0
0
0
0
0
0
4
-41
56
27
-22
-34
-24
37
-58
-38
9
0
0
0
0
0
0
8
3
1
-11
-4
0
14
-24
-6
11
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-2
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
6
-28
-1
11
11
0
0
0
0
0
0
0
0
0
0
0
3
-4
41
-18
97
33
0
0
0
0
0
0
0
0
0
0
0
-3
-9
30
-46
19
41
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-2
20
-24
0
0
0
0
0
0
0
0
0
0
0
0
-4
-42
-40
1
-1
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
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
1
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
13
6
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
14
-18
-13
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
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
1
9
10
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
21
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
50
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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
1
4
16
23
28
42
8
0
0
0
0
-1
-3
-19
0
0
0
6
54
-57
-61
-23
27
-39
0
0
0
0
0
-2
6
-3
20
13
87
-40
-15
46
-27
-93
30
0
0
0
0
11
0
14
102
-20
10
9
-37
2
8
-1
-11
0
0
0
0
0
0
0
1
0
17
25
46
-18
24
59
20
-24
-5
0
0
0
0
0
0
0
8
-8
6
-9
-66
-20
-24
77
-36
0
0
0
0
0
0
0
0
22
6
28
-28
4
-17
-1
-36
5
4
0
0
0
0
0
0
1
67
8
-15
0
1
2
2
19
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
-6
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
1
-7
1
3
-4
-8
0
1
0
-6
0
0
0
0
0
0
0
0
0
-3
0
3
2
-1
0
-3
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
-7
-6
0
0
0
0
0
0
0
0
4
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-10
28
1
23
10
-11
53
0
0
0
0
0
-1
10
-26
0
0
92
86
8
5
14
5
22
0
0
0
0
0
-2
-1
112
172
28
-13
128
50
9
10
25
-12
0
0
0
4
0
-6
15
33
55
96
61
32
-1
46
12
26
48
0
0
0
0
0
-2
-2
-23
25
49
60
37
26
9
9
1
12
0
0
0
0
1
0
2
10
13
-44
4
-18
-4
38
-1
-3
13
0
0
0
0
0
1
0
-2
15
-31
-22
-26
-26
10
-12
7
1
0
0
0
0
0
0
0
-6
-10
-8
-13
-42
34
26
-41
-50
-4
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
-9
1
0
0
0
0
0
-2
14
18
0
0
12
27
-2
-34
-11
-59
-27
0
0
0
0
0
0
15
-62
10
22
39
8
8
-1
-21
-34
-24
0
0
0
0
0
-1
-17
5
-4
-42
12
-5
36
-7
-5
-9
-31
0
0
0
0
3
0
42
-30
18
46
-51
-35
-3
1
-19
-30
-6
0
0
0
0
0
6
-14
14
-17
-31
-15
-18
-27
2
-20
-20
-33
0
0
0
0
0
0
-34
29
-16
-24
-36
-5
15
-3
-11
-66
0
0
0
0
0
3
1
-41
12
-26
-44
-32
-11
-1
8
-25
-11
-39
0
0
0
0
0
-8
8
-25
-14
20
-5
-14
-7
-2
5
7
-145
0
0
0
0
0
0
0
0
0
47
-38
27
-29
-9
-22
27
0
0
0
0
0
0
0
0
0
0
0
28
81
6
-23
-8
13
11
0
0
0
0
0
0
0
0
-21
34
-17
-13
-46
-5
-6
3
14
0
0
0
0
0
0
0
0
-7
-15
52
1
12
-31
-21
-9
-13
0
0
0
0
0
0
0
0
3
49
-5
-14
12
-14
6
3
28
0
0
0
0
0
0
0
3
-16
30
11
-9
4
-14
17
9
24
0
0
0
0
0
0
0
0
42
3
-20
-14
25
43
-10
29
38
0
0
0
0
0
0
0
0
4
4
-6
20
27
26
3
11
22
0
0
0
0
0
0
0
6
-23
-33
38
-44
24
40
7
-11
5
0
0
0
0
0
0
0
0
3
7
15
10
89
2
-5
-11
23
0
0
0
0
0
0
0
0
0
22
38
10
43
-22
30
20
37
0
0
0
0
0
0
0
1
0
6
0
-6
34
4
44
0
4
0
0
0
0
0
0
0
0
-10
55
50
27
7
1
4
6
42
0
0
0
0
0
0
0
1
6
-16
42
85
70
17
18
9
20
0
0
0
0
0
0
-7
-6
8
33
8
0
59
-5
15
33
47
0
0
0
0
0
0
-4
1
2
-30
22
15
10
25
-7
11
19
0
0
0
0
0
0
0
2
10
2
85
36
29
-9
13
7
-5
0
0
0
0
0
0
0
0
25
-6
-8
17
7
10
19
-62
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
-39
9
-2
0
0
0
0
0
4
1
0
-2
0
0
29
54
6
-5
17
19
20
0
0
0
0
0
0
8
0
89
0
60
24
47
37
18
-10
56
0
0
0
0
0
3
23
124
24
52
-30
70
66
15
36
17
2
0
0
0
0
0
0
-5
-3
91
5
88
9
62
33
24
24
4
0
0
0
0
0
-1
-1
-1
31
34
-29
40
12
34
41
24
14
0
0
0
0
0
0
9
34
38
24
2
65
2
18
66
-6
-4
0
0
0
0
0
0
-9
42
-47
-11
-13
-6
113
20
38
-4
1
0
0
0
0
0
0
0
-3
0
-1
11
-12
-13
-8
-56
15
-15
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-1
14
0
0
0
0
0
0
0
0
-1
0
0
73
77
-29
50
16
-8
8
0
0
0
0
0
2
0
0
0
0
65
6
30
6
30
32
7
0
0
0
0
0
0
4
40
-15
42
63
-1
92
-1
12
40
24
0
0
0
0
0
0
8
-1
21
-24
77
4
-12
8
18
26
2
0
0
0
0
0
0
0
-43
4
0
7
10
13
25
15
38
54
0
0
0
0
0
0
0
-6
13
-6
103
5
-1
-14
4
-31
21
0
0
0
0
0
0
0
0
4
2
-3
13
-37
-33
-29
-43
16
0
0
0
0
0
0
0
0
0
0
10
25
33
-7
-9
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
-30
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-50
-44
-10
0
0
0
0
0
0
0
0
0
1
0
2
20
-55
-37
-10
26
0
0
0
0
0
0
0
0
0
0
13
8
4
52
-67
60
-16
0
0
0
0
0
0
0
3
0
-6
2
0
13
50
31
89
7
0
0
0
0
0
0
0
0
4
7
0
0
4
-7
33
75
35
0
0
0
0
0
0
0
0
0
1
0
0
2
-24
19
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-17
-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
1
29
-30
25
16
-3
-19
60
0
0
0
0
0
0
4
12
36
33
30
34
77
7
20
4
-54
0
0
0
0
0
0
0
-8
-7
43
67
25
-46
18
-6
20
25
0
0
0
0
0
0
0
-2
-13
-29
-23
62
-11
12
5
38
33
0
0
0
0
0
0
0
0
-12
7
22
-56
7
31
-2
10
69
0
0
0
0
0
0
0
0
5
0
-4
0
21
8
-21
15
-5
0
0
0
0
0
0
0
0
0
0
0
-21
-7
21
3
13
39
0
0
0
0
0
0
0
0
0
0
-6
-1
-25
2
21
14
7
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
-1
-50
35
0
0
0
0
0
0
0
0
0
1
2
-20
-11
-96
6
28
36
0
0
0
0
0
0
0
0
-2
-3
5
71
-27
11
28
-45
35
0
0
0
0
0
0
0
0
0
2
13
-1
54
36
36
69
47
0
0
0
0
0
0
0
0
0
0
-9
-20
-4
-13
12
56
76
0
0
0
0
0
0
0
0
0
0
0
-13
5
16
28
24
129
0
0
0
0
0
0
0
0
0
0
0
-1
-12
-48
3
58
-16
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-10
20
29
41
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
3
-47
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
27
2
0
0
0
0
0
0
0
0
0
14
-10
-2
-18
-51
-43
17
25
0
0
0
0
0
0
0
2
0
-9
45
14
49
-40
26
-35
18
0
0
0
0
0
0
0
0
0
1
6
11
18
-12
2
74
106
0
0
0
0
0
0
0
0
-1
-1
-4
13
-33
8
10
48
67
0
0
0
0
0
0
0
0
0
0
0
1
-7
-45
9
56
39
0
0
0
0
0
0
0
0
0
0
-1
0
14
13
-32
25
-61
0
0
0
0
0
0
0
0
0
0
0
0
-15
-3
26
-20
-53
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
-14
12
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-1
0
0
0
0
0
0
0
0
0
3
2
-3
14
56
-30
-24
17
0
0
0
0
0
0
0
0
1
17
-24
11
36
-9
52
11
16
0
0
0
0
0
0
0
0
-1
0
-1
10
13
6
55
22
9
0
0
0
0
0
0
0
0
0
-1
-7
-24
33
-28
5
31
-9
0
0
0
0
0
0
0
0
0
0
0
9
58
-52
-11
10
-25
0
0
0
0
0
0
0
0
0
0
0
-1
-26
-14
-67
-21
2
0
0
0
0
0
0
0
0
0
0
0
-7
4
-61
-25
-24
38
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
8
0
0
0
0
0
0
0
8
0
53
27
10
40
12
37
3
7
0
0
0
0
0
0
0
0
2
-6
12
11
-35
27
15
-30
45
0
0
0
0
0
0
0
-3
4
48
-48
-97
70
18
47
7
-8
0
0
0
0
0
0
0
1
-2
-17
-52
46
13
-1
17
28
24
0
0
0
0
0
0
0
15
9
-3
15
76
10
-23
-54
5
29
0
0
0
0
0
0
0
1
0
2
26
-35
34
55
-14
-1
6
0
0
0
0
0
0
0
0
-2
1
-11
-58
-10
-9
26
19
57
0
0
0
0
0
0
0
0
-2
0
0
25
-39
-69
-18
-24
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-27
-29
0
0
0
0
0
0
0
0
0
6
1
-13
0
52
44
-22
71
0
0
0
0
0
0
0
0
0
1
7
-12
-1
38
3
-9
32
0
0
0
0
0
0
0
0
0
2
5
-2
36
19
3
-1
-11
0
0
0
0
0
0
0
0
0
-1
-3
7
24
-5
39
0
45
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-12
-49
8
18
0
0
0
0
0
0
0
3
0
6
2
10
-6
42
5
24
-1
0
0
0
0
0
0
0
0
0
0
0
-3
6
-11
-17
16
28
0
0
0
0
0
0
0
0
0
0
-1
0
4
2
-34
50
36
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-28
-16
28
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
23
51
11
-42
9
28
36
73
0
0
0
-6
-2
-4
-33
-36
-3
61
48
2
56
6
14
-5
24
0
0
0
0
2
18
8
-29
-16
-12
30
51
52
18
9
4
-60
0
0
0
1
3
0
-47
-93
-28
-24
-14
33
-73
-4
44
-11
30
0
0
0
0
0
3
-7
32
-27
-30
-20
-16
8
-19
62
-10
26
0
0
0
0
0
0
5
9
53
-9
6
16
-34
24
-66
-30
-13
0
0
0
0
0
2
1
0
39
10
-11
-29
-38
21
-36
-8
-10
0
0
0
0
0
0
0
8
-2
-11
-12
-12
-19
43
30
-19
14
0
0
0
0
0
0
0
0
4
3
0
0
0
0
4
-1
-1
0
0
0
-1
4
-20
-73
-40
0
28
5
37
21
32
-14
35
0
0
0
0
-4
7
28
35
-54
-26
23
19
25
30
22
0
93
0
0
0
0
4
-3
18
-70
-54
-12
0
12
7
6
40
20
103
0
0
0
0
0
0
-14
-32
7
19
11
-4
21
-8
19
65
34
0
0
0
0
0
2
-13
-6
20
-2
-28
-26
-6
-27
15
18
20
0
0
0
0
0
0
0
-46
24
-6
1
-19
-25
-9
-19
1
-41
0
0
0
0
0
0
-1
26
14
-64
-31
-31
-2
26
14
19
-8
0
0
0
0
0
-2
-1
15
-30
2
-30
-13
0
-13
43
-44
-37
0
0
0
0
0
0
0
4
24
-30
-27
-49
3
-9
-1
6
0
0
0
0
0
-1
0
-7
-15
-28
0
8
-38
85
4
-11
39
-3
0
0
0
0
0
6
-23
5
-26
-8
50
-34
46
-54
-8
26
0
0
0
0
0
-1
0
15
29
-15
17
69
-20
6
4
-10
-48
6
0
0
0
0
0
0
3
32
29
-28
49
-1
-2
40
6
4
0
0
0
0
0
0
0
-3
11
-6
-2
4
-11
-9
36
0
-13
1
0
0
0
0
-2
0
40
68
5
48
14
8
9
17
-1
2
0
0
0
0
0
0
2
-13
12
-16
-44
14
-36
48
-38
-2
-13
1
0
0
0
0
0
1
6
1
-24
-54
-7
2
-18
-4
0
0
0
0
0
0
0
0
0
6
-49
-52
1
51
-1
-2
16
0
0
0
0
0
0
0
0
0
21
-21
0
0
-4
12
32
-6
67
-2
0
0
0
0
0
0
0
-4
8
-9
44
6
43
-29
49
7
-4
0
0
0
0
0
0
0
21
46
-3
9
-6
47
14
29
73
3
0
0
0
0
0
0
0
2
3
20
73
0
-51
-3
-8
40
1
0
0
0
0
0
0
2
-9
-5
-17
-72
59
-45
-40
3
-28
-28
0
0
0
0
0
0
1
-17
7
15
-5
-41
11
-46
-1
-37
-12
0
0
0
0
0
0
0
-1
9
-53
2
89
-28
-52
-5
21
0
0
0
0
0
0
0
0
0
4
-11
48
14
-12
-33
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
8
21
0
13
65
33
6
11
21
31
-2
0
0
0
0
0
19
47
51
5
9
35
14
-17
-7
-13
22
-7
0
0
0
8
10
12
-27
32
1
-13
13
-24
-9
31
1
-7
-31
0
0
0
0
0
0
36
22
-5
28
23
46
-7
6
78
26
24
0
0
0
0
0
-3
4
23
0
-14
40
-1
30
30
28
18
2
0
0
0
0
0
-3
4
27
-7
-11
21
-26
11
11
25
34
9
0
0
0
0
0
0
1
8
1
17
2
-35
6
-8
-27
10
-37
0
0
0
0
0
0
0
-7
-1
34
2
-43
-18
12
-8
-9
4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
11
0
-41
0
-14
5
-66
-56
-19
10
0
0
0
0
0
0
13
13
-40
31
-3
16
31
57
76
55
86
0
0
0
0
0
0
13
-2
29
9
23
0
42
-10
63
24
18
0
0
0
0
0
0
0
-3
-46
-7
-6
7
-45
25
12
4
16
0
0
0
0
0
0
4
37
13
-35
45
43
-49
-24
-40
8
37
0
0
0
0
0
0
1
-1
8
-56
-90
-5
-13
-4
-11
-55
78
0
0
0
0
0
0
0
0
-17
11
10
-17
-26
65
-44
-68
-58
0
0
0
0
0
0
0
0
109
-21
-10
-17
-12
-6
-44
-48
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
-8
0
0
0
0
0
0
0
0
0
12
22
0
-8
-3
24
-50
9
0
0
0
0
0
0
1
0
3
19
10
-41
19
7
25
5
37
0
0
0
0
0
0
0
-7
-3
-5
-27
0
5
8
16
10
14
0
0
0
0
0
0
0
1
1
-17
-6
-8
-6
64
60
63
62
0
0
0
0
0
0
0
-1
7
1
38
33
-1
19
-18
-20
-19
0
0
0
0
0
0
0
-1
0
-15
1
-9
4
1
-9
25
70
0
0
0
0
0
0
0
-1
3
-1
-3
9
-9
-9
3
-15
-32
0
0
0
0
0
0
0
0
-1
0
0
7
-2
11
0
36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
15
-29
2
35
9
-24
7
0
2
0
0
0
0
0
0
0
36
-4
-7
-54
-71
7
13
59
49
10
0
0
0
0
0
0
0
58
-12
31
18
7
25
-19
3
8
1
0
0
0
0
0
0
0
-7
25
8
-36
10
35
-1
-1
0
0
0
0
0
0
0
0
0
-53
29
-45
-17
5
14
3
0
0
0
0
0
0
0
0
0
0
-20
-25
19
-21
-34
10
-4
0
0
0
0
0
0
0
0
0
0
-24
17
-23
-41
-24
-19
0
0
0
0
0
0
0
0
0
0
0
-19
53
17
54
-9
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
6
-3
6
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
-13
-34
1
-10
-6
1
0
0
0
0
0
0
0
0
0
0
7
-37
-23
-44
2
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
44
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
19
-37
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
17
53
27
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-27
-52
30
-17
4
0
0
0
0
0
0
0
0
0
0
0
-6
20
-18
28
-30
1
-1
4
2
0
0
0
0
0
0
0
0
-16
12
-121
18
69
10
4
-3
2
1
0
0
0
0
0
0
0
1
22
78
-38
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
22
28
-39
-52
0
-1
0
0
0
0
0
0
0
0
0
0
-11
-43
42
-12
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-28
87
18
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
20
-67
-35
-8
2
-7
0
0
0
0
0
0
0
0
0
22
45
-7
23
-36
-45
1
14
0
0
0
0
0
0
0
0
0
6
15
-41
65
-13
0
3
-3
0
0
0
0
0
0
0
0
0
-1
-2
-76
-73
0
-13
0
0
0
0
0
0
0
0
0
0
0
4
-7
83
85
-25
-8
0
0
0
0
0
0
0
0
0
0
0
1
2
6
-17
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-53
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-19
-6
77
74
-8
-98
-56
0
-1
0
0
0
0
0
0
0
-28
-51
45
33
1
33
-20
4
-63
0
0
0
0
0
0
0
0
-1
-8
-7
22
-29
-94
-54
2
-5
-5
0
0
0
0
0
0
0
26
11
-23
46
73
76
6
35
42
0
0
0
0
0
0
0
0
-8
-6
-19
26
-28
45
-31
-1
1
-9
0
0
0
0
0
0
0
7
-51
-37
48
30
-42
23
42
1
0
0
0
0
0
0
0
0
21
8
40
-25
44
-33
83
-17
2
0
0
0
0
0
0
0
0
-18
6
-4
-30
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
2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
23
-11
-5
-7
0
-2
0
-2
0
0
0
0
0
0
0
0
-16
46
16
20
-2
3
0
-7
-3
0
0
0
0
0
0
0
0
-2
-23
-9
7
6
-1
3
1
0
-8
0
0
0
0
0
0
0
0
6
34
1
7
-6
1
10
1
-1
0
0
0
0
0
0
0
-1
25
-2
25
-1
-4
2
-1
0
-15
0
0
0
0
0
0
0
0
-55
-11
0
-4
-2
0
0
-1
-1
0
0
0
0
0
0
0
-1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
29
-24
-34
-35
-2
-37
13
0
53
-1
0
0
0
0
0
0
7
57
77
82
64
8
-22
24
-14
25
-100
-39
7
0
0
0
0
-4
-1
68
-21
82
-7
-15
-28
-22
-55
0
0
0
-1
0
0
0
3
20
27
5
18
-6
32
77
80
-15
-16
-21
4
-1
0
0
0
-43
40
30
-15
1
71
43
49
1
47
-51
12
0
0
0
0
0
0
48
-14
-61
-36
43
37
7
104
14
4
0
0
0
0
0
0
0
16
-81
12
47
25
18
31
16
10
0
0
0
0
0
0
0
0
0
-3
7
2
4
-12
28
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
9
3
29
-20
-28
-48
-7
0
-90
-85
-1
16
8
0
0
0
0
48
16
-41
-18
8
-33
5
23
20
-8
21
-19
27
-2
0
0
0
47
-1
-1
-27
16
-20
23
29
1
-4
-51
-10
56
-1
0
0
0
9
-8
-6
-15
23
-7
-12
38
-37
28
-11
17
9
2
0
0
0
1
46
30
-3
-13
-16
-18
-29
-18
-47
24
-12
-4
7
0
0
0
54
-3
11
-4
-3
-30
-49
-29
-61
-11
42
-10
1
0
0
0
0
-4
29
10
-8
-9
-13
-21
-64
-42
5
-8
7
3
0
0
0
0
8
56
4
32
-20
-5
-44
-21
9
-26
0
0
0
0
0
0
0
0
1
8
-19
3
-5
-80
25
8
-1
0
0
-3
0
0
0
0
0
19
15
33
-32
-1
13
0
-26
6
-1
0
0
0
0
0
0
0
-23
-26
-56
54
-39
70
82
17
31
-18
0
0
0
0
0
0
0
0
-24
30
-15
-4
5
-34
-46
-49
2
0
0
0
0
0
0
0
15
-92
-51
31
42
66
23
27
-8
-3
1
0
0
0
0
0
3
0
-16
46
85
97
33
11
16
9
0
0
0
0
0
0
0
0
3
17
-25
132
42
-24
-12
-8
-3
1
0
0
0
0
0
0
0
1
79
50
18
16
55
-44
-2
-1
0
0
0
0
0
0
0
25
0
-9
30
3
0
31
17
-25
0
0
0
0
0
0
0
0
0
0
3
-6
46
-48
75
-3
1
0
0
0
0
0
0
0
0
0
-80
-61
-6
10
-66
21
0
1
-15
2
9
3
0
0
0
0
0
28
-52
4
46
-33
13
20
5
-16
-41
-39
-6
0
0
0
0
0
39
6
13
12
-37
-6
34
21
26
27
37
1
0
0
0
0
0
10
10
-7
43
-1
36
66
42
-7
-22
-28
-3
0
0
0
0
0
-20
38
3
18
15
47
72
56
-10
10
9
0
3
0
0
0
0
-18
-37
18
-4
41
15
61
58
-6
52
-8
-1
0
0
0
0
0
-4
-7
7
-1
33
49
89
37
-13
44
28
-1
0
0
0
0
0
1
-6
111
-1
-57
64
58
86
-28
-3
-3
0
0
0
0
0
0
0
0
0
-3
15
-3
0
0
0
0
0
0
0
0
0
32
2
9
41
17
-12
-73
2
0
31
36
9
0
0
0
0
0
56
-14
8
6
-78
-19
-36
-8
16
29
-7
-7
1
1
0
0
0
-54
46
30
-29
19
31
-13
18
-20
-33
45
-3
0
0
0
0
0
-9
57
1
45
47
30
58
27
27
59
23
32
0
0
0
0
0
-22
13
7
11
26
14
79
32
64
-16
22
-13
0
0
0
0
0
1
4
53
63
-7
61
55
21
-15
12
9
-1
0
0
0
0
0
12
9
8
-48
8
56
51
34
-80
-2
3
-4
0
0
0
0
0
-4
1
-10
-70
4
13
42
-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
37
44
11
23
32
50
-29
15
0
20
12
0
0
0
0
0
0
16
36
98
18
-20
-1
73
20
27
4
3
10
0
0
0
0
0
-3
58
27
82
26
-23
-39
61
-28
-17
3
8
0
0
0
0
0
20
-4
-43
51
31
-2
-41
52
34
42
-23
-1
0
0
0
0
0
0
-85
52
30
36
-50
-6
54
-15
-27
-27
0
0
0
0
0
0
19
0
31
44
-1
-18
6
43
54
-1
-11
0
0
0
0
0
0
-9
-10
30
9
16
32
33
-12
-8
38
0
0
0
0
0
0
0
0
-1
3
58
3
-38
-2
9
-2
-4
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
3
27
33
27
0
0
0
0
0
0
0
0
0
6
0
1
-1
-3
14
-49
138
12
-29
2
0
0
0
0
0
0
0
3
0
-9
21
-32
24
21
15
12
0
0
0
0
0
0
0
0
1
-1
10
-9
-37
26
-42
32
-15
-3
0
0
0
0
0
0
0
12
-12
18
55
30
-64
-26
-68
-15
0
0
0
0
0
0
0
0
7
-11
-13
-7
44
-44
7
-19
3
-7
0
0
0
0
0
0
0
7
-1
-1
10
-30
-30
-33
12
0
-1
0
0
0
0
0
0
0
6
0
3
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
8
0
0
0
0
0
0
0
0
0
0
40
85
0
0
93
27
1
-6
1
-1
0
0
0
0
0
0
0
0
45
93
61
-1
43
-8
8
-4
0
0
0
0
0
0
0
0
23
-15
55
37
1
-20
54
-1
0
0
0
0
0
0
0
0
0
-2
5
-4
21
26
4
8
6
0
0
0
0
0
0
0
0
0
-40
-8
-69
-60
61
3
32
-3
4
0
0
0
0
0
0
0
0
-26
-1
-39
-45
-13
-8
2
-1
0
0
0
0
0
0
0
0
0
-7
-61
-58
-56
15
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
-4
36
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-20
0
0
5
-10
8
8
0
0
0
0
0
0
0
0
0
2
110
98
66
43
-26
-1
0
0
0
0
0
0
0
0
0
0
0
-16
46
33
2
-40
-2
0
0
0
0
0
0
0
0
0
0
0
-59
-31
14
25
1
0
0
0
0
0
0
0
0
0
0
0
0
17
35
-39
46
2
-7
0
0
0
0
0
0
0
0
0
0
0
-9
-66
-65
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-15
-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
-1
11
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
69
0
0
66
89
31
0
0
0
0
0
0
0
0
0
0
19
19
79
42
10
12
12
2
0
0
0
0
0
0
0
0
0
0
41
39
46
-4
8
-1
-1
0
0
0
0
0
0
0
0
0
-1
60
-5
2
28
11
0
0
0
0
0
0
0
0
0
0
0
1
-36
-43
45
24
1
0
0
0
0
0
0
0
0
0
0
0
0
-22
-21
25
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-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
1
-57
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
35
61
0
0
11
-6
-1
0
0
0
0
0
0
0
0
0
0
6
69
68
54
5
24
0
1
0
0
0
0
0
0
0
0
-1
4
45
13
44
0
-16
4
2
0
0
0
0
0
0
0
0
0
46
-58
6
-36
60
6
0
0
0
0
0
0
0
0
0
0
0
11
-58
-34
16
-25
0
0
0
0
0
0
0
0
0
0
0
0
7
6
10
0
101
-2
0
0
0
0
0
0
0
0
0
0
0
0
15
7
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
-26
76
119
99
0
0
0
72
-2
0
0
0
0
0
0
10
-34
-10
-48
163
75
0
0
0
34
23
-3
0
0
0
0
0
-3
-35
-23
51
92
102
98
86
5
5
0
-1
0
0
0
0
0
1
0
-31
-3
3
-13
0
-19
34
-38
-1
-1
0
0
0
0
0
0
2
19
46
12
-8
-14
0
5
-8
0
0
0
0
0
0
0
-8
-21
-28
16
-2
-30
-51
-2
13
-25
8
0
0
0
0
0
0
-1
19
20
11
-26
2
-20
-6
-32
6
-2
-2
0
0
0
0
0
0
0
-27
14
48
-7
-23
14
-11
-2
6
0
0
0
0
0
0
0
0
0
-3
-2
-6
6
40
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
28
0
0
0
25
22
12
-2
0
0
0
0
0
0
-2
-3
3
44
3
49
39
-10
0
-3
-2
-2
0
0
0
-2
1
-11
-3
-3
37
21
-24
-87
-11
-6
-1
0
0
0
0
0
0
-3
-25
-54
32
-19
16
-23
36
-24
-6
0
0
0
0
0
0
-4
8
-10
-4
2
-92
-42
-6
19
-4
0
0
0
0
0
0
0
0
25
-36
-13
26
-26
-21
2
-49
17
0
0
0
0
0
0
0
0
-3
-2
-4
1
-11
-3
-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
92
27
-24
-18
35
19
0
0
0
0
0
0
0
0
0
0
0
-14
-27
-9
-2
-35
24
17
0
0
0
0
0
0
0
0
0
0
16
-2
11
-9
7
45
-1
-1
0
0
0
0
0
0
0
0
0
-6
58
-4
51
-6
12
-50
-3
6
0
0
0
0
0
0
0
0
31
-5
19
69
-15
-7
0
-42
10
-5
0
0
0
0
0
0
0
-15
16
29
-51
22
35
-52
-19
31
2
-6
0
0
0
0
0
0
42
-10
-34
-1
-19
-2
-5
35
-8
0
-6
12
0
0
0
0
0
1
-14
-4
42
-4
28
29
17
-8
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
-5
-35
-26
6
18
143
125
0
0
0
0
1
0
0
0
0
0
7
10
-12
-28
-16
42
103
0
0
46
12
-12
-1
0
0
0
0
-22
2
-7
29
-8
-16
40
86
98
23
-21
32
0
2
0
0
0
24
-55
-23
-17
21
54
41
1
60
-57
-42
7
0
0
0
0
0
-36
15
-1
-20
9
-15
32
51
-1
9
8
19
22
-1
0
0
0
45
28
-2
0
17
-17
-9
19
-21
-25
12
2
0
0
0
0
0
23
4
6
11
19
-14
53
-40
-16
51
-8
4
0
0
0
0
0
0
12
3
-1
-12
-27
-30
1
0
-3
-1
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-90
23
1
0
29
122
0
0
6
0
0
-1
0
0
0
0
-16
-42
-10
-23
-7
53
57
87
45
26
-44
-5
9
0
0
0
0
-32
34
-24
-9
8
21
23
-14
33
-37
20
-37
-7
0
0
0
0
-12
0
-16
-10
-14
-16
3
31
31
-2
12
-42
2
0
0
0
0
14
-43
-5
-9
8
-4
-2
-29
9
20
-62
5
2
0
0
0
0
-38
-39
-61
-20
-18
10
-25
-1
-9
-3
0
32
1
0
0
0
0
11
-55
-43
-28
-17
21
-41
-49
-56
27
27
-11
0
0
0
0
0
0
-29
-20
-17
-29
-18
-33
6
-44
8
-2
11
0
0
0
0
0
0
0
-53
32
32
-43
33
-7
-4
0
1
0
0
0
0
0
0
8
99
86
101
142
165
108
0
0
0
0
0
0
0
0
0
0
97
17
38
48
105
89
22
1
-28
0
0
0
0
0
0
0
0
29
-7
1
13
20
31
-6
-52
1
-2
0
0
0
0
0
0
0
-13
-82
-28
-22
22
46
10
-37
-8
0
2
0
0
0
0
0
0
3
-7
8
-66
-27
-20
4
39
-9
2
0
2
0
0
0
0
0
-35
-21
-49
-7
-26
-25
-16
-15
-2
0
0
0
0
0
0
0
0
-33
-15
-27
-17
-43
-55
-16
-19
21
-13
0
0
0
0
0
0
0
-12
-15
-14
43
25
-19
-45
7
-39
0
0
0
0
0
0
0
0
7
-31
12
-9
-28
-31
-3
16
0
0
0
0
0
0
0
0
0
-26
-15
-18
3
34
69
153
57
0
-1
0
0
0
0
0
0
0
-10
-28
-5
30
25
113
0
4
39
9
0
-4
0
0
0
0
0
29
-6
-9
27
56
60
50
49
-36
12
0
0
0
0
0
0
0
-34
-9
-25
-11
-17
11
62
7
11
12
-6
0
0
0
0
0
0
6
-20
-33
36
-14
6
2
-14
20
1
-4
0
0
0
0
0
0
-7
-8
-14
0
-12
-38
-27
-17
-1
-1
0
0
0
0
0
0
0
-29
-28
-28
-5
-4
-17
-18
-42
-26
0
0
0
0
0
0
0
0
14
-21
-15
55
-37
-19
-44
-8
0
0
0
0
0
0
0
0
0
0
0
-13
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
-32
-16
-18
-21
7
48
133
0
0
47
5
0
0
0
0
0
0
-12
-23
43
-18
-2
94
121
0
158
0
48
-34
5
-7
0
0
0
-31
-21
-35
-61
27
47
101
73
78
40
83
-16
0
0
0
0
0
57
-11
-16
1
12
-2
33
4
49
-20
6
-38
-1
0
0
0
0
-3
76
-9
0
22
-8
2
5
-14
6
7
0
0
0
0
0
0
-19
9
20
46
11
-33
-36
-72
-42
74
7
1
0
0
0
0
0
3
-48
-31
-50
28
15
21
-4
-85
-44
1
1
0
0
0
0
0
-1
7
15
-9
-14
-110
24
-15
-2
-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
35
-20
-57
71
42
108
164
180
0
0
0
0
0
0
0
0
0
4
-46
-33
9
-2
-1
74
0
-28
0
28
-2
0
0
0
0
0
44
19
-2
-32
-62
42
21
27
91
24
13
0
0
0
0
0
0
83
-34
-31
-15
5
51
29
8
49
41
-19
8
11
0
0
0
0
-28
17
17
-7
54
26
-3
-75
16
10
30
0
0
0
0
0
0
15
-15
37
-10
6
20
12
-87
-36
-28
0
0
0
0
0
0
0
2
9
0
-63
-11
-54
12
-8
0
4
1
0
0
0
0
0
0
33
-13
10
68
-62
8
-12
-19
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
51
-14
64
94
36
0
0
0
0
0
0
0
0
0
0
0
3
36
57
72
55
79
55
9
0
45
11
0
0
0
0
0
0
-1
27
-12
35
11
-6
9
34
56
-28
0
0
0
0
0
0
0
10
-10
-28
63
-25
-3
21
34
19
2
-11
0
0
0
0
0
0
-3
-13
-24
-80
13
-37
6
2
-39
-15
2
0
0
0
0
0
0
-57
-64
-44
-10
-47
-50
-25
-19
-3
-37
3
0
0
0
0
0
0
-4
-60
-20
-42
-54
-40
-39
28
15
-14
2
0
0
0
0
0
0
0
24
17
-23
-1
-9
3
-4
-25
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
31
-9
-9
-47
-17
0
0
0
0
0
0
0
0
0
-10
40
22
0
3
-15
-14
37
-9
1
0
0
0
0
0
0
0
9
19
31
-31
7
-2
16
2
-7
0
0
0
0
0
0
0
0
70
40
6
23
-10
-4
3
0
1
0
0
0
0
0
0
0
0
38
23
9
-42
84
-10
0
0
0
0
0
0
0
0
0
0
0
-2
44
9
2
-60
-3
0
0
0
0
0
0
0
0
0
0
0
4
-43
17
-62
-8
17
0
0
0
0
0
0
0
0
0
0
0
-24
40
-2
33
-1
0
0
0
0
0
0
0
0
0
0
0
0
-12
13
49
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
-15
23
-33
1
0
0
0
0
0
0
0
0
0
0
0
6
91
-28
13
-25
4
0
0
0
0
0
0
0
0
0
0
0
7
45
5
7
1
1
-1
0
0
0
0
0
0
0
0
0
0
-29
68
98
-26
-17
0
0
0
0
0
0
0
0
0
0
0
0
-15
26
-42
8
-4
4
0
0
0
0
0
0
0
0
0
0
0
5
11
17
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-11
-32
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
15
-5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
-21
-16
-1
-44
-7
1
0
0
0
0
0
0
0
0
0
-24
22
30
-18
24
6
-18
0
0
0
0
0
0
0
0
0
0
37
-38
-16
32
3
-27
-2
0
0
0
0
0
0
0
0
0
0
-29
-15
-26
80
17
1
0
0
0
0
0
0
0
0
0
0
0
-26
114
12
55
19
0
0
0
0
0
0
0
0
0
0
0
0
-7
20
43
47
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-81
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-55
9
-8
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
-31
-2
12
10
-12
-13
0
0
0
0
0
0
0
0
0
0
-9
26
43
27
2
-19
-13
9
1
0
0
0
0
0
0
0
0
29
46
47
2
62
-22
0
-2
0
0
0
0
0
0
0
0
0
-3
14
66
47
29
-14
0
0
0
0
0
0
0
0
0
0
0
0
47
10
22
18
15
2
0
0
0
0
0
0
0
0
0
0
-1
14
-8
-18
-28
1
0
0
0
0
0
0
0
0
0
0
0
-2
26
-20
-1
-8
-4
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
2
-37
40
23
61
30
-9
-24
0
6
1
0
0
0
0
0
0
-59
24
9
-26
15
-13
27
-64
28
-6
0
0
0
0
0
0
0
-7
54
-18
-19
9
55
2
48
16
4
0
0
0
0
0
0
0
-9
47
94
86
-57
-18
28
-11
7
8
-1
0
0
0
0
0
0
25
24
6
86
2
-24
-2
0
-1
2
0
0
0
0
0
0
0
-1
19
1
34
20
-4
4
-2
1
-3
0
0
0
0
0
0
0
-2
30
-21
3
7
2
-1
0
-3
6
0
0
0
0
0
0
0
-6
-9
2
22
-2
0
0
0
-30
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
-22
6
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
-47
-16
1
-14
-1
0
-1
6
0
0
0
0
0
0
0
0
1
83
11
4
-1
0
0
0
1
0
0
0
0
0
0
0
0
47
48
-40
58
0
1
-16
0
0
0
0
0
0
0
0
0
0
-32
-23
4
39
-25
-1
0
0
3
-3
0
0
0
0
0
0
0
0
43
8
-15
-3
1
2
0
0
0
0
0
0
0
0
0
0
18
-55
86
-5
2
-4
0
0
0
0
0
0
0
0
0
0
0
-33
-23
12
-21
0
-1
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
19
109
46
60
-37
59
22
-16
0
15
18
60
6
0
0
0
0
76
97
27
31
100
5
-12
31
-25
104
19
39
23
0
0
0
0
41
31
48
94
56
87
-44
-18
-20
37
-11
-38
2
1
0
0
0
-33
54
42
54
28
-13
95
56
44
51
10
37
9
2
0
0
0
18
42
16
-9
66
37
37
-71
57
-28
-32
15
-3
0
0
0
0
3
-13
-3
89
5
-6
57
-2
-60
15
-11
0
0
0
0
0
0
11
31
-23
17
-17
-27
7
27
52
-26
-8
0
0
0
0
0
0
24
-1
-24
0
1
-2
0
6
-29
6
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
-43
-25
0
58
11
22
21
0
-76
-47
35
-19
0
0
0
0
0
-32
-37
-17
21
-6
-1
-15
-23
-24
41
0
31
-9
6
0
0
0
-38
-24
9
27
27
-10
-45
-82
-48
-4
74
1
0
0
0
0
0
-85
-24
-5
-21
-17
3
-24
-61
-56
20
45
-7
-7
0
0
0
0
-37
6
-26
-17
-39
0
-70
-38
-4
28
30
-16
20
0
0
0
0
-18
-75
-19
4
-2
-18
-27
-21
-2
-26
57
-11
0
6
0
0
0
-27
-28
-32
2
21
-12
-23
-35
-12
5
0
-4
0
0
0
0
0
-33
-29
22
-15
-64
-43
-22
-35
13
-30
6
-2
0
0
0
0
0
0
1
-17
20
-43
-31
17
10
57
10
0
0
0
0
0
0
0
-13
-42
-17
83
31
-58
99
0
8
56
6
3
1
8
-2
0
0
23
28
14
96
22
-16
-9
-6
15
4
50
15
0
10
3
3
0
34
-44
73
52
-3
42
-64
-52
-11
-15
3
-46
5
-2
-3
0
0
6
51
73
-71
-36
-8
3
-18
54
-7
14
-30
-8
0
0
0
0
-3
18
21
14
1
37
42
9
-10
-16
-41
3
0
-2
0
0
0
-2
-34
23
35
18
-21
42
16
-26
13
24
-46
-6
0
0
0
0
0
-27
25
37
3
3
31
-9
-24
-47
-2
-49
-8
-4
-4
0
0
0
0
0
22
-29
-17
-4
22
-2
-16
34
28
1
0
-2
3
0
0
0
3
45
9
24
25
-30
-6
-9
0
-16
2
-4
1
0
0
0
15
48
59
55
33
18
0
20
1
13
-2
0
0
0
0
0
0
4
71
79
56
-10
10
-7
62
21
67
22
-8
2
0
0
0
0
-28
63
6
64
1
-67
-38
-2
10
-16
-16
0
0
0
0
0
0
0
22
12
27
-44
-57
3
1
-2
-3
-31
0
1
0
0
0
0
3
8
25
34
28
-10
16
6
-41
2
15
1
0
0
0
0
0
1
22
56
-25
-3
-5
-34
-4
-12
-22
31
3
-2
0
0
0
0
0
17
31
-4
22
-6
-22
-23
-7
-38
-14
3
-1
0
0
0
0
-1
0
23
-20
29
-13
-60
-30
-53
-15
-5
2
0
0
0
0
0
0
0
0
0
20
1
0
0
0
0
0
0
0
0
0
7
59
53
51
45
12
27
42
0
3
44
44
6
0
0
0
0
10
15
71
3
21
29
-4
-27
-13
71
15
48
20
2
0
0
0
24
37
55
74
14
16
26
-5
1
15
0
-24
16
-1
2
0
0
111
41
26
25
69
-1
46
85
37
6
-21
-47
5
0
0
0
0
8
30
35
42
12
25
-22
53
80
14
-14
17
-1
0
0
0
0
29
1
32
22
4
-15
-53
15
26
30
-29
-3
0
0
0
0
0
1
-53
107
50
85
20
-21
-27
-10
39
-1
1
0
0
0
0
0
0
41
-48
16
1
-36
-3
-15
31
14
2
0
0
0
0
0
0
0
8
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
59
-53
11
41
4
50
0
74
0
-26
11
1
0
0
0
0
0
49
8
100
92
21
49
63
-32
-31
-25
-5
3
1
0
0
0
0
28
107
84
27
-36
61
8
-49
-51
58
1
-2
0
0
0
0
0
32
37
94
48
-52
5
28
78
1
-4
14
-4
0
0
0
0
0
5
21
95
28
-29
-21
40
-7
17
-2
17
0
1
0
0
0
0
-34
12
73
-3
41
-10
42
10
-21
-8
-1
-4
0
0
0
0
0
4
2
21
-29
-1
11
44
-28
-40
17
0
3
0
0
0
0
0
0
6
2
2
2
-22
2
-10
3
-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
6
0
8
-2
-10
0
11
4
0
12
0
0
0
0
0
0
0
12
-8
28
0
19
0
8
0
-61
-56
10
0
0
0
0
0
0
-1
12
8
-37
35
-36
-6
3
-10
-19
-10
0
0
0
0
0
0
7
19
-15
12
37
-7
-29
0
-1
0
0
0
0
0
0
0
0
-2
13
13
19
9
-8
7
2
-19
0
0
0
0
0
0
0
0
0
3
4
-1
4
-7
11
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
9
-3
1
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-41
29
0
0
0
0
0
0
0
0
0
0
0
3
0
0
32
-19
34
17
-1
2
0
0
0
0
0
0
0
1
17
150
174
53
24
-55
1
2
0
0
0
0
0
0
0
0
0
-47
23
133
77
9
-9
8
0
0
0
0
0
0
0
0
0
-4
-13
7
60
39
-9
-49
-3
-1
0
0
0
0
0
0
0
0
-4
-32
56
-29
-10
21
-25
3
0
0
0
0
0
0
0
0
0
2
-15
52
-2
-6
-19
37
0
0
0
0
0
0
0
0
0
0
0
0
-26
-8
19
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
40
36
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-35
-7
-1
0
0
0
0
0
0
0
0
0
0
0
128
103
4
3
8
0
0
0
0
0
0
0
0
0
0
0
0
22
93
-107
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
11
-22
-6
1
0
0
0
0
0
0
0
0
0
0
0
4
2
-6
32
0
1
0
0
0
0
0
0
0
0
0
0
0
4
2
-67
6
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-29
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
-2
0
0
0
22
-3
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
20
26
6
0
0
0
0
0
0
0
0
0
0
0
15
143
99
42
-22
42
0
2
0
0
0
0
0
0
0
0
0
4
-22
83
21
-23
5
8
0
0
0
0
0
0
0
0
0
0
3
-6
35
-60
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
48
43
7
0
0
0
0
0
0
0
0
0
0
0
0
1
7
19
21
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
17
-2
2
0
0
0
0
0
0
0
0
0
-6
2
0
0
16
-4
0
4
0
0
0
0
0
0
0
0
0
0
67
127
150
26
-30
2
1
0
0
0
0
0
0
0
0
0
3
-1
22
97
-30
-11
6
0
0
0
0
0
0
0
0
0
0
7
-25
-52
14
-17
34
-2
0
0
0
0
0
0
0
0
0
0
0
28
-21
-34
-49
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-24
-12
-93
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-52
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
22
-18
9
8
-26
35
0
0
0
-7
-6
0
0
0
0
0
-4
-45
-2
22
-15
18
2
0
0
0
36
-5
-7
-7
0
0
0
4
-36
83
53
-7
29
16
105
78
84
-2
8
-6
0
0
0
0
0
18
8
36
3
12
-20
50
146
95
-32
33
0
0
0
0
0
0
-44
50
24
-34
-66
-24
27
104
0
29
15
0
2
0
0
0
0
-12
75
13
17
-6
27
-2
-5
-2
21
-18
0
0
0
0
0
0
33
12
-7
-8
-29
0
-45
-62
-66
-74
-17
0
0
0
0
0
0
0
23
-2
-8
53
0
-5
-72
-17
-44
0
3
0
0
0
0
0
0
0
0
0
0
7
-1
-35
13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
-1
0
0
0
0
0
2
0
0
3
15
2
0
0
0
-4
-9
-1
8
0
0
0
0
4
0
3
-8
-3
0
-10
-11
13
-13
15
-1
0
0
0
0
0
-2
-10
22
6
-17
9
30
34
123
-52
-1
-3
0
0
0
0
0
-2
41
-1
12
-18
8
55
75
75
-22
-6
-1
0
0
0
0
0
0
-11
1
-9
-12
12
29
32
113
-48
3
0
0
0
0
0
0
0
16
2
3
8
-10
137
29
46
-29
5
0
0
0
0
0
0
-1
-1
0
0
0
-4
20
71
52
23
2
0
0
0
0
0
0
0
0
0
0
0
0
2
54
-14
1
0
0
0
0
0
0
61
43
17
-19
8
-31
-4
0
0
0
0
0
0
0
0
0
0
-62
-9
-1
15
24
31
9
0
0
0
0
0
0
0
0
0
0
-24
13
38
4
44
-33
-7
5
0
1
0
0
0
0
0
0
0
-34
25
9
4
4
54
6
7
0
0
0
0
0
0
0
0
0
27
-18
-11
8
-17
-41
8
24
-7
6
0
0
0
0
0
0
0
-14
-40
5
-20
-16
41
-3
9
-16
1
0
0
0
0
0
0
0
-43
-37
-11
-58
27
41
61
-17
5
-2
-4
0
0
0
0
0
0
-9
-41
11
15
44
28
-1
-6
7
1
8
0
0
0
0
0
0
0
30
12
-18
-11
4
4
0
0
0
0
0
0
0
0
0
0
-38
18
26
30
50
27
54
0
0
0
53
-15
-1
0
0
0
0
-24
-3
-2
5
18
49
52
0
0
118
-5
-6
1
0
-2
0
0
3
19
28
29
2
33
12
74
124
27
-2
61
0
0
-9
0
0
-11
-10
33
-21
37
34
38
7
142
46
27
-7
0
0
0
0
0
-14
40
20
-8
-11
-2
-9
-85
-11
-33
-23
-19
-2
0
0
0
0
-17
20
-31
-18
-20
-23
-5
12
-32
-27
0
0
0
0
0
0
0
-16
-23
3
-4
39
53
-30
-15
-29
-10
-21
1
0
0
0
0
0
0
-5
28
26
-33
-17
0
3
-41
-6
-13
0
0
0
0
0
0
0
14
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
9
-2
-11
20
12
56
0
0
44
-44
-11
0
0
0
0
0
25
23
8
-11
0
32
31
45
-2
-3
42
29
0
0
0
0
0
-75
11
-12
21
15
1
7
25
-9
117
20
7
0
0
0
0
0
-39
-13
-4
17
7
-16
-26
-5
-3
46
-29
-12
0
0
0
0
0
22
-45
11
5
-19
-44
11
-37
63
-37
-2
6
-1
0
0
0
0
-2
-52
-38
-10
-25
16
-28
6
60
-65
-7
3
0
0
0
0
0
-13
7
-33
-18
-47
-15
-12
11
-77
19
16
0
0
0
0
0
0
-19
30
-27
1
2
-24
-20
-23
-52
-68
0
0
0
0
0
0
0
-3
-12
15
-15
11
28
34
18
-7
0
7
0
0
0
0
0
0
6
-14
15
24
68
90
-7
0
0
0
0
0
0
0
0
0
0
-4
7
-13
26
25
64
-11
-6
0
0
0
0
0
0
0
0
0
-15
0
-3
13
19
18
0
-29
-4
0
0
0
0
0
0
0
0
-11
16
5
25
4
17
7
-24
0
0
1
0
0
0
0
0
0
-1
15
-17
15
51
14
16
-25
-2
0
0
0
0
0
0
0
0
-19
11
7
-45
23
38
55
-23
-16
-3
-1
0
0
0
0
0
0
-17
2
10
-4
24
80
-5
33
-10
12
0
0
0
0
0
0
0
57
-1
14
26
20
-27
51
1
-8
0
0
0
0
0
0
0
0
7
-10
1
10
6
-48
-15
29
2
0
0
0
0
0
0
0
0
-3
2
32
-4
34
52
74
39
0
0
0
0
0
0
0
0
0
6
-24
24
25
52
43
0
-18
86
-7
-1
0
0
0
0
0
0
10
35
-10
-9
67
11
61
-16
0
0
0
0
0
0
0
0
0
1
-6
5
-2
1
34
36
1
-20
-2
-2
0
0
0
0
0
0
-2
-1
51
-8
12
-19
9
-19
65
0
0
0
0
0
0
0
0
-14
-18
14
9
18
-27
-54
-55
-22
2
0
0
0
0
0
0
0
-20
11
13
-19
50
25
-98
-31
-32
0
0
0
0
0
0
0
0
-33
-1
0
-58
-36
19
-23
22
4
0
0
0
0
0
0
0
0
0
3
-24
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-12
38
19
32
85
110
0
0
-23
-4
49
2
0
0
0
0
-43
-30
4
13
6
-2
79
0
139
0
32
32
2
0
0
0
0
19
6
14
27
84
17
-8
11
84
25
-21
0
1
0
0
0
0
24
25
-26
54
13
-16
27
-56
97
-5
-43
27
2
0
0
0
0
45
-13
-5
20
5
0
4
58
37
22
-48
0
0
1
0
0
0
-44
22
30
-22
8
13
-19
-28
11
-72
12
-12
0
0
0
0
0
23
-45
-16
-93
43
-43
-13
5
-51
-51
-2
0
0
0
0
0
0
-4
-17
-82
-33
15
-20
-27
1
-7
0
7
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
9
0
0
0
0
0
0
0
-22
-50
-4
39
23
-47
-45
-1
0
63
28
0
-8
0
0
0
0
31
-18
25
33
6
-2
18
0
71
0
-5
11
0
0
0
0
0
-30
2
-7
-34
51
23
-23
63
147
61
35
1
-2
0
0
0
0
-42
-22
-36
9
70
-3
88
87
94
64
34
7
-3
0
0
0
0
-24
-12
46
-49
-17
21
-5
-41
72
45
-1
-1
1
0
0
0
0
4
-22
-10
-39
-22
-13
-5
3
29
-29
-15
0
0
0
0
0
0
25
27
-66
-54
44
48
-7
-12
-21
-29
-2
0
0
0
0
0
0
0
-16
1
5
-49
-9
10
-11
2
-16
0
0
0
0
0
0
0
0
-11
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-48
9
-20
6
0
0
0
0
0
0
0
0
0
0
0
-4
0
-6
-41
2
1
-3
0
0
0
4
0
0
0
0
0
0
0
29
2
3
-33
0
-4
0
-4
32
-2
0
0
0
0
0
0
0
-16
8
11
2
-3
-1
0
16
57
0
0
0
0
0
0
0
-1
44
-64
8
22
-2
0
-20
10
-1
0
0
0
0
0
0
0
-7
-9
-32
12
-8
0
-1
-3
22
93
1
0
0
0
0
0
0
-1
0
-2
-1
9
-2
0
-7
-26
108
1
0
0
0
0
0
0
-1
-10
-22
0
-3
0
0
-2
52
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
2
0
0
0
0
0
27
2
0
0
0
0
0
0
0
-17
22
-39
23
8
-26
-2
63
21
4
0
0
0
0
0
0
-18
14
-33
4
69
0
-5
-2
-10
-3
3
0
0
0
0
0
0
28
-31
40
18
51
-55
32
1
1
7
1
0
0
0
0
0
0
-24
-27
-14
-18
16
-4
0
-3
0
0
0
0
0
0
0
0
0
-39
52
37
1
28
-19
0
7
0
0
0
0
0
0
0
0
0
-50
-15
28
12
34
-8
2
0
0
0
0
0
0
0
0
0
0
45
39
20
-70
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
-2
0
-1
0
0
1
-6
-4
-2
-3
0
0
0
0
0
0
0
0
-7
-10
-23
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
-9
-18
-25
-8
0
0
0
-1
0
0
0
0
0
0
0
0
-2
10
11
19
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
9
41
34
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
26
20
11
2
0
0
0
0
0
0
0
0
0
0
0
0
4
27
-56
-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
-8
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
14
-3
0
11
1
29
-5
11
4
0
0
0
0
0
0
4
-19
18
3
-5
-5
1
0
-3
-1
0
0
0
0
0
0
0
-3
7
-18
-41
-30
3
-7
0
3
0
0
0
0
0
0
0
0
0
7
-30
30
-12
-7
0
0
0
0
0
0
0
0
0
0
0
1
-3
24
41
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-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
7
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-31
8
-11
-3
0
0
0
0
0
0
0
-4
81
2
0
-11
-2
-1
2
0
0
0
0
0
0
0
0
0
10
-12
-1
-31
-21
0
0
0
0
0
0
0
0
0
0
0
0
-44
41
38
33
0
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
24
0
-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
-1
2
-2
0
0
77
-6
0
0
0
0
0
0
0
-7
-25
-24
-41
-58
-43
37
20
84
0
0
0
0
0
0
0
-1
-6
-16
24
-8
33
-72
-15
-30
-73
1
-1
0
0
0
0
0
-64
-21
34
14
18
21
38
71
23
-28
0
0
0
0
0
0
0
15
40
34
4
48
37
-28
-36
16
7
0
0
0
0
0
0
0
17
33
-5
1
-22
9
9
-26
4
-1
0
0
0
0
0
0
0
-7
8
-3
-6
12
-37
14
0
-11
-1
0
0
0
0
0
0
0
0
-19
-7
10
4
10
0
4
0
-3
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
2
-1
-2
0
0
0
0
0
0
0
0
-7
-1
0
1
0
0
7
0
0
0
0
0
0
0
0
0
0
14
8
-2
0
-1
0
2
1
0
0
0
0
0
0
0
0
0
27
-45
24
-3
1
-4
0
0
0
0
0
0
0
0
0
0
-4
6
-2
16
-2
-7
0
0
0
0
0
0
0
0
0
0
0
1
28
0
18
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
17
0
-5
28
23
-5
9
0
0
0
0
0
5
-6
21
48
21
-11
-36
80
3
49
-8
30
-4
0
0
2
2
-53
1
39
-10
-45
20
-62
-27
-71
37
8
-8
0
0
0
-2
7
29
-11
-16
6
-33
61
48
25
-14
-8
6
0
0
0
0
-9
21
-75
23
45
49
42
36
31
66
-36
-57
0
0
-3
0
0
-30
7
16
83
-6
39
25
71
-50
-17
17
0
0
0
0
0
0
0
-20
-2
-51
62
44
-5
26
4
25
0
0
0
0
0
0
0
0
0
2
-2
-47
-50
-8
35
0
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-17
-9
-14
-36
1
0
-41
-75
-81
-69
-1
0
0
0
0
1
36
-10
19
-11
-42
-1
-26
1
-86
-39
19
50
-36
6
0
0
97
65
29
24
-15
9
6
13
25
8
-9
-29
-21
7
0
0
0
15
76
7
-16
16
2
-25
9
8
16
-40
-44
-13
11
0
0
0
29
-17
-22
-19
4
-24
5
7
-67
-35
-21
7
-28
-1
0
0
0
40
33
12
18
-39
4
-2
-27
-17
-17
-46
-9
28
0
0
0
0
19
36
-7
17
-9
-47
-26
-9
-25
34
50
81
-17
0
0
0
0
55
43
-35
-37
-11
7
2
-2
19
5
-11
-16
-1
-4
0
0
0
0
-8
3
8
-22
45
36
4
-3
-21
-22
0
-4
0
0
0
0
0
0
0
-1
2
7
58
0
-48
5
10
7
0
0
0
0
0
0
0
11
-8
7
35
100
31
7
-6
41
19
7
0
0
0
0
0
0
-13
1
8
3
74
14
-10
14
-22
0
-3
-2
0
0
0
0
8
4
61
25
13
40
-38
64
-21
19
3
0
0
0
0
0
0
1
35
72
23
90
-24
25
7
1
-10
0
-1
0
0
0
0
0
0
-17
-12
18
17
-16
-5
49
2
0
0
0
0
0
0
0
0
0
-2
-17
15
-49
-33
-2
-21
-4
0
0
0
0
0
0
0
0
-18
0
-15
-39
-15
13
23
10
-11
0
0
0
0
0
0
0
1
0
0
-4
-24
6
-43
1
0
-2
0
0
0
0
0
0
0
0
0
-2
24
0
-40
-7
0
11
17
-24
30
-1
0
1
0
0
0
-6
51
114
9
-9
52
-17
37
-26
82
39
28
23
-1
0
0
0
-7
91
28
15
-9
64
24
36
31
61
66
14
-4
1
0
0
0
1
1
39
28
-8
15
60
28
-30
3
10
-1
-1
4
0
0
0
-12
70
112
-32
-8
37
51
0
7
-20
-2
1
0
0
0
0
0
0
44
9
35
33
25
38
-19
-56
62
53
0
0
0
0
0
0
0
0
23
13
-38
-9
48
18
3
-47
-19
-1
0
0
0
0
0
0
-2
-34
45
36
41
18
-41
-54
13
0
0
0
0
0
0
0
0
-1
0
-1
37
-16
25
-1
0
0
0
0
0
0
0
-4
0
0
0
-7
-8
-17
45
0
-25
2
-29
11
5
0
0
0
15
-1
18
-2
25
13
-58
-50
3
38
11
50
-23
-4
12
0
0
-2
24
48
-27
0
-38
-30
-5
15
8
-37
28
11
3
0
0
0
-7
65
36
29
-4
-15
19
17
-2
10
56
20
10
0
0
0
0
-5
9
5
-34
37
-5
18
72
43
59
-14
3
-2
-2
0
0
0
0
12
-8
7
59
19
110
80
61
18
0
0
-2
0
-2
0
0
0
0
15
-3
39
48
-4
-15
58
0
5
0
3
0
0
0
0
0
4
-3
-3
121
2
41
57
32
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
-18
7
-34
0
-1
-30
7
0
6
-1
0
0
4
2
0
-34
25
3
23
-6
45
7
-14
34
6
-1
2
0
0
-3
-1
-20
-36
-20
2
-42
-32
45
43
37
-26
-6
0
0
0
0
0
-71
-19
48
82
19
-47
53
104
33
1
-9
0
0
0
0
0
4
32
103
-61
34
-60
10
51
32
74
9
0
0
0
0
0
0
0
27
18
46
73
-42
11
37
-3
35
8
0
0
0
0
0
0
0
0
-7
0
-6
45
-41
16
20
16
1
0
0
0
0
0
0
0
-8
2
24
39
10
-33
-5
-72
-4
0
0
0
0
0
0
0
0
0
0
0
0
-9
-17
-7
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
26
0
0
0
0
0
0
0
0
0
0
-1
0
18
-1
38
4
55
-1
0
0
0
0
0
0
0
0
2
0
0
-6
-1
-17
-45
5
-6
0
0
0
0
0
0
0
1
0
2
2
2
24
76
-28
-1
3
0
0
0
0
0
0
0
45
-2
0
-9
9
1
-7
-8
0
0
0
0
0
0
0
0
-4
-4
9
-3
-2
3
-1
-25
-3
-3
0
0
0
0
0
0
0
1
6
9
-1
-1
-1
-3
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
32
-33
9
4
2
0
0
0
0
0
0
0
0
41
0
0
51
57
28
8
-33
2
6
0
0
0
0
0
0
10
44
14
27
44
-21
87
49
-12
2
0
0
0
0
0
0
0
-6
4
6
19
0
73
5
17
-7
4
-1
0
0
0
0
0
0
21
-7
-27
-50
15
-36
-41
-19
-3
-4
0
0
0
0
0
0
0
-29
36
-4
-10
38
-8
0
4
-3
0
0
0
0
0
0
0
0
18
11
-4
15
-7
-26
-18
-3
0
0
0
0
0
0
0
0
0
4
-61
-13
-29
25
-13
7
0
0
0
0
0
0
0
0
0
0
0
-3
3
5
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
1
2
0
0
0
0
0
0
0
0
0
0
33
139
39
30
26
-8
-1
-2
-1
0
0
0
0
0
0
0
0
-31
15
61
39
53
-6
0
0
0
0
0
0
0
0
0
0
0
56
-5
-95
-16
-31
1
0
0
0
0
0
0
0
0
0
0
0
-24
-59
-36
-6
-58
1
0
0
0
0
0
0
0
0
0
0
0
-15
-26
5
40
-46
-1
0
0
0
0
0
0
0
0
0
0
0
6
-53
6
-20
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
34
45
3
7
0
0
0
0
0
0
0
0
0
-29
0
0
-2
48
-2
3
-5
-7
0
0
0
0
0
0
0
0
10
28
80
117
58
1
-1
-3
2
0
0
0
0
0
0
0
11
13
13
4
19
-41
6
2
0
0
0
0
0
0
0
0
0
-15
-17
15
-6
3
-48
7
0
0
0
0
0
0
0
0
0
0
0
-43
29
-12
-46
-13
-2
-1
0
0
0
0
0
0
0
0
0
0
-5
-6
-6
-16
0
-3
-1
0
0
0
0
0
0
0
0
0
0
8
-1
-6
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
29
9
10
6
-1
0
0
0
0
0
0
0
0
3
80
12
120
50
43
2
-2
0
0
0
0
0
0
0
0
0
1
0
7
13
30
32
-6
2
-1
6
0
0
0
0
0
0
0
-4
-29
14
75
48
11
2
0
0
0
0
0
0
0
0
0
0
-8
-70
18
-5
-32
7
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-4
-40
11
-11
1
-1
0
0
0
0
0
0
0
0
0
0
-35
42
-4
-30
2
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
-1
0
6
0
0
0
46
14
0
2
0
0
0
0
0
0
0
-8
-4
7
0
0
0
95
20
1
-6
0
0
0
0
0
0
-8
79
15
54
64
88
96
21
13
3
4
0
0
0
0
0
14
-47
-74
11
32
24
100
24
27
-3
27
-7
0
0
0
0
0
-9
9
40
1
15
-43
20
8
51
-19
0
-3
6
0
0
0
9
-24
5
-1
26
-16
65
17
-16
-6
2
1
-1
0
0
0
0
0
1
32
-25
64
-22
-18
-20
9
-28
0
8
4
0
0
0
0
0
0
16
-1
10
26
48
41
63
-27
1
-2
0
0
0
0
0
0
0
0
0
7
6
17
-41
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
7
-1
6
0
0
0
0
0
0
0
1
0
53
81
-5
37
1
0
-1
0
0
0
0
1
0
0
0
-5
5
4
45
1
-1
-9
0
2
0
0
0
0
2
22
51
-4
1
-24
-14
-54
-13
-4
4
-6
0
0
0
0
0
0
12
1
-36
35
19
-16
-41
35
-24
0
0
0
0
0
0
0
0
-11
-2
1
0
-12
-42
12
-54
-3
0
0
0
0
0
0
0
4
0
0
-2
0
0
-56
36
15
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
6
-6
43
-29
2
0
0
0
0
0
0
0
0
0
0
0
0
28
-42
60
-5
18
30
0
0
0
0
0
0
0
0
0
0
0
-12
-31
0
1
-52
-56
28
-4
0
0
0
0
0
0
0
0
0
15
18
19
-63
24
32
-16
6
-8
-1
1
0
0
0
0
0
0
27
-13
16
2
0
-42
-22
4
24
-1
0
0
0
0
0
0
0
-1
115
29
29
35
-25
20
10
26
14
1
-3
-2
-3
0
0
0
-2
-25
50
49
-3
50
44
-6
-36
47
-5
15
-7
2
1
0
0
0
24
-11
27
1
-23
18
26
-56
-4
5
3
-1
1
-1
0
0
0
0
0
0
12
1
10
-9
0
-11
0
0
0
0
0
0
0
6
-38
-56
0
-12
11
1
0
0
0
94
-4
-2
4
0
0
0
-67
-49
-35
-8
9
0
18
0
0
167
48
14
47
-8
-2
1
0
86
-42
8
-38
26
-32
74
105
24
68
37
26
12
-1
-7
0
0
-47
9
3
-21
18
42
21
44
52
26
3
19
0
-1
3
0
0
-25
-17
-15
-44
2
1
31
-5
34
-39
-16
15
18
0
0
0
0
41
-22
-43
48
30
22
-5
-24
11
-46
-34
51
-1
0
0
0
0
11
7
44
20
-19
-39
-9
-56
-74
-35
-13
-8
0
0
0
0
0
0
-12
22
4
-12
21
-29
-8
10
-8
0
-3
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
10
0
8
0
0
0
0
0
0
-9
-7
-6
-2
65
69
0
0
17
-26
18
0
-6
0
0
0
-16
1
-34
46
18
45
94
4
25
-32
-16
-17
-18
-2
0
0
0
-43
27
-20
28
23
0
28
33
6
38
-46
-38
55
-1
0
0
0
27
-6
-2
6
19
40
-23
2
43
16
-66
4
-6
6
7
0
0
-26
-25
9
6
-7
28
5
29
29
51
-17
-1
-28
-1
0
0
0
5
-36
-5
-3
-1
-1
18
-16
-26
1
60
-44
18
0
0
0
0
-26
-15
1
23
2
-39
-36
-7
-8
-16
4
-28
-1
6
0
0
0
26
25
70
9
-37
-33
3
30
-69
-38
-34
-1
-2
0
0
0
0
0
9
-16
3
61
-5
-99
-37
-46
-2
-7
2
0
0
0
0
0
-38
77
23
24
40
0
-6
0
0
-1
2
0
0
0
0
0
0
75
34
-6
160
100
109
37
19
-40
4
1
0
0
0
0
0
0
2
37
-12
4
3
-7
-30
-7
-19
-5
0
-1
0
0
0
0
0
47
-18
-29
-27
-10
-15
13
39
-11
-8
0
-2
0
0
0
0
0
-29
-47
-77
-45
58
48
-63
-10
-23
2
0
0
0
0
0
0
0
-28
-22
-18
-28
25
-79
-13
-64
-4
0
0
0
0
0
-1
0
0
20
7
-59
-54
-2
-39
-3
-64
-20
0
0
0
0
-4
0
0
0
0
54
-36
-14
-38
-2
-38
-2
-29
-1
10
0
0
0
0
0
0
-10
-21
-6
3
0
8
-10
3
-1
0
-1
0
0
0
0
0
0
2
-2
-41
22
-18
43
57
7
0
1
-2
0
0
0
0
0
0
16
7
30
14
-18
91
0
-1
-49
-19
2
-19
3
0
0
0
0
23
7
62
10
16
23
45
-7
-13
-37
-2
0
0
0
0
0
0
9
13
5
39
25
12
24
36
-29
-7
0
0
0
0
0
0
0
2
-39
7
41
-9
13
-18
31
35
-10
4
0
0
0
0
0
0
-12
-9
-26
-17
31
-56
-7
-80
-3
-1
20
0
0
0
0
0
0
-77
-3
14
21
-7
-20
-4
-53
14
4
15
0
0
0
0
0
0
-26
-31
-14
23
72
8
-27
-42
-1
0
0
0
-4
0
0
0
0
0
0
-1
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
48
33
41
32
0
0
0
156
8
-34
9
31
0
0
0
-4
-29
-8
-41
18
33
60
0
52
0
37
30
-5
-1
5
0
0
-74
-43
-18
-22
1
5
69
27
77
6
67
-12
12
2
0
0
0
-21
65
-9
62
25
-12
22
65
93
28
15
-4
-12
2
0
0
0
-14
3
19
-21
51
-33
31
46
36
14
-83
-7
13
0
0
0
0
-22
-35
-41
-3
41
-53
-4
-8
-24
-19
-16
5
-12
-1
0
0
0
-1
-44
-15
28
-16
-25
6
-65
-33
-42
-2
22
6
0
0
0
0
0
1
-8
-24
-48
-56
-17
-61
-7
-14
8
4
8
0
0
0
0
0
0
0
0
-1
0
-1
-1
14
0
0
0
0
0
0
0
0
0
-7
-3
6
0
0
6
0
0
2
11
3
0
0
0
0
0
0
7
-22
-38
30
19
33
0
13
0
-2
19
7
0
0
0
0
-3
15
-33
28
-3
19
14
23
44
0
27
39
1
1
-3
0
0
5
-19
-2
41
-1
69
43
60
34
-24
4
30
15
-1
0
0
0
42
15
-12
-22
3
37
31
-29
13
-21
-21
44
0
3
0
0
0
2
10
37
-6
-23
-35
14
3
9
-42
28
0
1
0
0
0
0
-1
-5
37
12
-10
-41
-14
-71
-16
-33
-3
-1
0
-2
0
0
0
0
-43
-2
-26
-79
26
-58
41
-51
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
6
2
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
7
-1
11
0
0
-1
0
20
13
33
0
0
0
0
0
0
37
10
21
-12
-18
-3
-2
61
-24
-8
1
0
0
0
0
0
0
36
1
-15
-19
-52
-20
-45
13
-36
34
-2
0
0
0
0
0
0
-77
0
-19
81
28
-55
-18
32
-70
3
-1
-2
0
0
0
0
3
2
-39
-13
-74
-34
-41
-66
-21
-16
12
0
0
0
0
0
0
8
11
-35
-1
-28
5
-4
-4
-39
22
-1
0
0
0
0
0
0
-7
37
38
10
-18
-7
61
-13
-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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-28
-14
-3
6
0
1
0
0
0
0
0
0
0
0
43
2
33
19
3
2
8
21
3
0
0
0
0
0
0
0
0
-34
-56
0
-4
-9
6
0
0
0
0
0
0
0
0
0
0
0
33
4
30
-6
-8
0
0
0
0
0
0
0
0
0
0
0
1
4
-3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-40
-7
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
27
22
3
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
14
-17
-4
0
-4
1
6
-8
0
0
0
0
0
0
0
-1
1
0
32
-7
0
1
-1
0
0
0
0
0
0
0
0
0
0
1
1
-44
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
3
-9
0
0
0
0
0
0
0
0
0
0
0
1
12
1
-2
-1
0
11
0
0
0
0
0
0
0
0
0
9
9
39
8
-15
-1
0
0
2
0
0
0
0
0
0
0
0
0
-4
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
26
-13
-27
0
1
-24
8
0
0
0
0
0
0
29
18
66
72
11
-21
23
-21
5
-6
-6
4
0
0
0
0
-1
24
-5
28
3
40
-20
-60
40
-67
-6
12
0
0
0
0
0
0
40
11
1
24
9
-12
29
-3
11
15
0
0
0
0
0
0
11
3
18
10
6
-47
-49
9
26
7
6
8
0
0
0
0
0
0
-6
17
11
10
-24
-60
-17
33
2
0
0
0
0
0
0
0
-1
-6
-11
-9
18
-9
-2
-48
-10
6
0
0
0
0
0
0
0
8
9
6
-6
0
0
6
-16
-74
3
0
0
0
0
0
0
0
3
-4
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
2
-3
3
0
12
12
0
0
0
0
0
0
0
0
0
-2
-2
0
7
0
0
-3
6
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-10
4
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
0
-2
-39
-8
54
0
26
-9
22
-21
0
-2
0
0
0
42
45
22
21
35
-93
11
8
73
-7
5
-13
17
33
0
0
-4
41
-67
71
37
33
-20
-16
-6
59
2
22
11
41
15
0
0
19
133
89
18
-6
-9
23
43
104
51
-16
4
8
-1
6
0
0
0
-14
25
-42
0
-16
-44
-5
74
6
-3
30
19
-1
-2
0
0
0
0
-41
26
12
-20
25
-64
-50
-59
-32
-12
-3
25
1
1
0
0
0
-8
0
4
6
22
-46
-34
-68
31
-1
0
0
-1
0
0
0
0
0
0
-2
-3
-15
-23
11
-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
7
-7
-16
15
-15
23
0
-10
31
44
33
12
24
0
0
0
-2
-16
7
15
57
-20
23
30
29
14
16
-15
-3
53
1
0
0
-56
-40
-22
23
36
-26
-68
-18
-9
-28
0
-13
17
-29
11
0
0
4
-29
-48
20
-48
16
-1
-6
-49
10
1
-14
-59
29
2
0
0
-23
-132
-4
16
20
-19
-14
-3
-48
-8
19
26
-71
-12
2
0
0
-6
-74
-10
-4
-3
-19
-43
-54
-17
-25
-32
23
31
-3
1
0
0
-3
-19
29
80
-44
-14
2
-48
-24
-35
5
13
9
6
0
0
0
3
1
38
25
-67
-13
5
-45
-31
-12
-34
45
1
-9
0
0
0
0
1
0
84
19
-35
-6
-42
-10
13
27
9
-8
1
0
0
0
0
0
-6
0
31
-28
83
0
45
12
0
58
-54
-26
31
-3
0
0
-12
-26
0
20
23
19
15
60
-4
36
31
32
56
2
3
0
0
0
-1
-81
141
25
-9
-25
19
-8
30
3
-37
15
-8
-1
0
0
8
-4
50
42
74
-42
47
9
-8
24
-16
-32
16
4
-1
0
0
0
0
37
-38
-36
-21
7
-8
3
22
-37
-9
28
0
-1
0
0
0
0
-6
-23
43
-31
-11
-9
-18
-10
-27
-68
3
14
0
0
0
0
0
7
40
87
16
-34
-14
4
6
9
19
-9
25
-3
0
0
0
0
-18
42
-56
-18
-1
4
-5
35
-34
-15
40
8
12
0
0
0
0
3
-15
-65
-23
-8
40
30
20
-36
73
6
-4
2
0
0
0
-11
35
80
1
54
0
31
31
50
49
18
-9
0
-1
0
0
-1
-42
51
-2
22
21
-30
42
26
4
43
46
-8
7
1
0
0
0
40
-5
-73
-25
-22
-39
9
36
51
-4
5
16
1
0
0
0
0
9
17
-30
11
54
-7
5
30
-10
4
-5
-3
-4
0
0
0
-2
17
27
-3
29
-38
31
-4
22
17
-41
15
1
-2
0
0
0
0
-4
-87
-10
18
-62
-37
19
-17
15
14
-3
-27
0
0
0
0
0
9
-12
-17
-23
-23
-3
-32
-24
-10
42
26
6
1
0
0
0
0
0
39
-5
-16
-25
-33
-8
43
42
-17
-1
-2
3
0
0
0
0
0
0
7
4
48
-7
-6
0
0
0
0
0
0
0
0
1
6
-1
27
36
-44
19
0
-1
14
-5
14
-21
0
0
0
-2
21
39
30
77
17
-12
-36
12
26
-19
-13
13
6
-9
0
0
20
38
53
8
50
23
-18
-24
21
42
-4
2
-22
-1
0
0
0
14
36
50
79
-27
30
22
50
22
-18
24
38
-3
-12
10
2
0
0
25
0
69
32
12
39
24
12
16
-4
3
-17
-3
2
0
0
0
7
-3
36
-2
78
-20
28
-39
36
-63
34
0
0
0
0
0
0
0
6
8
-11
4
6
-52
-5
-13
70
-8
-4
0
0
-1
0
0
0
9
0
-63
1
45
-39
-18
-56
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-3
0
0
11
23
5
-23
8
0
-22
-4
-13
0
2
0
0
0
3
-7
10
26
64
40
-48
-36
38
12
49
27
-16
0
0
0
0
0
32
-6
30
-29
3
-54
-35
17
29
29
39
5
3
0
0
0
10
-26
28
13
-35
-28
37
88
55
43
45
57
0
0
0
0
0
0
4
-7
11
8
71
41
72
58
20
89
3
0
0
0
0
0
0
0
-6
38
-32
-28
2
-52
6
92
104
2
2
0
0
0
0
0
4
4
4
33
5
-37
19
-32
-36
-7
0
0
0
0
0
0
0
0
0
9
4
13
3
-31
-12
-14
-11
0
0
0
0
0
0
0
0
0
0
0
0
-19
-39
-10
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
34
0
37
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
68
96
-35
0
0
0
0
0
0
0
0
0
11
0
2
-4
8
-44
-18
-6
0
0
0
0
0
0
0
1
3
0
0
1
7
-39
2
-8
0
0
0
0
0
0
0
0
0
6
0
0
0
1
15
-19
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-19
11
1
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-44
71
-28
28
-4
0
0
0
0
0
0
0
0
59
0
0
100
-32
8
13
-33
-30
0
0
0
0
0
0
0
0
28
161
131
50
15
-47
-25
31
-12
0
0
0
0
0
0
0
10
-3
69
146
30
-43
-21
25
6
4
0
0
0
0
0
0
0
2
35
70
15
15
13
19
3
51
-10
0
0
0
0
0
0
0
0
26
-19
18
14
0
23
22
0
1
-4
0
0
0
0
0
0
0
-25
-44
-32
-19
-38
-54
-72
10
-4
6
0
0
0
0
0
0
0
-11
23
2
20
11
-16
1
-3
4
0
0
0
0
0
0
0
0
4
-26
-24
-2
-11
-1
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
62
37
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
50
11
7
-3
-10
3
0
0
0
0
0
0
0
0
40
111
125
85
-11
-36
-3
-3
-9
0
0
0
0
0
0
0
0
5
92
60
-33
37
-43
-7
-6
0
0
0
0
0
0
0
0
0
66
-26
-44
48
-38
4
0
0
-2
0
0
0
0
0
0
0
0
19
26
-9
-5
-24
-5
2
0
0
0
0
0
0
0
0
0
0
-3
-14
-47
71
4
27
-1
0
0
0
0
0
0
0
0
0
0
0
33
-24
28
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
52
-40
-4
0
1
0
0
0
0
0
0
0
0
11
0
0
-6
12
10
18
-10
0
-2
0
0
0
0
0
0
0
4
77
98
34
-9
-31
14
-4
-1
2
0
0
0
0
0
0
0
-71
8
94
4
-24
56
2
-9
0
0
0
0
0
0
0
0
0
36
-79
-49
4
1
17
-10
-7
-2
-1
0
0
0
0
0
0
0
51
-74
15
25
-17
8
2
0
2
0
0
0
0
0
0
0
0
-39
-27
-24
-19
29
14
-2
0
0
0
0
0
0
0
0
0
0
4
-8
-13
-4
-22
5
2
0
3
0
0
0
0
0
0
0
0
2
-6
16
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
26
-32
39
2
0
0
0
0
0
0
0
0
-4
30
0
0
83
37
-13
9
-3
0
0
0
0
0
0
0
0
0
53
80
92
56
-17
-36
-2
0
-3
0
0
0
0
0
0
0
2
-62
-21
144
50
21
1
8
0
-10
0
0
0
0
0
0
0
0
14
-27
16
-15
-34
-49
4
4
-2
0
0
0
0
0
0
0
0
-5
43
-36
-13
32
-11
1
0
0
0
0
0
0
0
0
0
0
-12
-59
-45
70
-36
13
0
0
0
0
0
0
0
0
0
0
0
0
5
-44
-12
-30
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
0
0
0
0
0
0
0
0
3
7
-1
0
-3
0
0
0
5
9
10
0
0
-2
0
0
4
0
-12
-17
-33
14
0
0
0
12
18
1
-30
0
1
0
0
0
-3
10
21
1
-34
139
86
57
-1
41
5
8
1
0
0
0
4
-1
-24
15
-27
7
82
167
74
33
-22
-12
8
-7
0
0
0
10
8
-2
3
12
-38
-30
70
22
14
-32
24
22
6
-2
0
0
0
0
-1
6
-5
-19
-18
-21
42
-39
-25
4
8
-4
-4
0
0
0
0
0
17
-10
-27
-22
14
-60
-22
70
8
-21
-1
-8
0
0
0
0
0
0
35
-6
-37
-49
-55
13
-22
-12
-1
-2
0
0
0
0
0
0
0
0
-29
21
-80
16
-39
13
6
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
-2
0
0
0
-33
-22
0
-4
0
-11
0
0
0
0
0
0
0
6
24
-50
8
0
8
-1
-1
-2
0
0
0
0
0
0
0
0
0
10
72
87
27
-27
-8
2
-4
0
0
0
0
0
0
0
0
29
76
102
56
-24
14
-2
1
0
0
0
0
0
0
0
0
10
-5
13
79
108
-65
38
0
-7
0
0
0
0
0
0
0
0
10
2
-1
73
108
-37
47
-8
-2
0
0
0
0
0
0
0
0
0
0
83
31
78
-111
7
0
0
0
0
0
0
0
0
0
0
0
0
4
45
-12
-22
-1
0
0
0
0
0
-37
-6
-12
-8
48
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-25
-21
18
74
0
1
0
0
0
0
0
0
0
0
0
0
39
9
31
-1
-17
2
-2
0
0
0
0
0
0
0
0
0
0
-35
-2
27
82
54
-17
-3
0
0
0
0
0
0
0
0
0
0
32
14
-1
21
42
-15
-18
-35
6
1
0
3
0
0
0
0
0
0
33
26
15
-5
-40
-18
-20
11
-11
-1
4
4
1
0
0
0
0
-5
-1
-32
-25
18
6
-1
4
-33
2
-7
4
0
1
0
0
0
0
38
21
-12
-10
-17
0
-24
16
-10
2
4
-1
0
0
0
0
0
0
2
0
0
0
7
3
-2
0
0
0
-3
0
0
0
-1
-10
-12
-15
-32
0
4
0
0
0
39
-4
-2
-5
-14
0
0
-51
-54
-24
-71
-25
-86
12
0
0
104
15
19
-32
-10
-8
-1
0
-17
-82
-33
11
-58
-5
75
126
193
124
-6
-27
53
28
17
0
0
-61
21
44
35
10
-12
42
66
158
23
25
5
18
3
-1
0
0
24
8
36
-13
44
-32
-10
-52
90
-67
8
-25
30
-4
0
0
0
1
41
-31
4
38
23
9
-31
-55
-34
2
32
8
-24
-4
-1
0
0
-2
-2
14
66
46
-10
-11
-26
-53
-57
-13
-11
0
-3
0
0
0
0
-2
-9
-4
-2
12
-15
-8
-79
2
-7
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
-22
-1
34
37
5
0
0
29
-1
-9
-8
4
0
0
0
-1
39
-26
-9
-40
31
15
55
93
-25
52
-1
-5
18
0
0
0
-1
2
-6
-18
46
13
6
-15
28
23
47
19
-26
-2
1
0
0
-14
10
-54
-26
-29
-11
20
35
15
33
-42
12
4
0
-2
0
0
18
3
-34
-14
-31
14
17
-50
-62
-17
13
-10
37
3
0
0
0
-8
13
-88
23
19
23
-15
-3
-10
25
51
10
-25
0
0
0
0
-1
-27
25
3
-13
-3
4
4
-32
31
-7
13
1
0
0
0
0
0
6
42
-8
6
42
-13
1
-34
13
0
-1
0
0
0
0
0
0
0
-23
-27
30
-48
67
-29
8
-17
1
0
0
0
0
0
0
89
36
-36
41
62
47
-103
0
0
0
0
0
0
0
0
0
0
-6
-35
-11
-1
-30
29
101
28
29
-1
0
0
3
0
0
0
0
44
-25
-2
6
-25
49
-2
52
33
0
-8
3
0
0
0
0
0
-37
18
-17
-29
24
-20
-41
11
-6
1
0
0
1
0
0
0
0
19
13
-6
-9
1
-6
11
46
-10
-4
0
0
0
0
1
0
0
-14
-35
-3
-3
-12
50
24
18
22
-1
-2
0
-2
7
0
0
0
12
53
-3
-24
2
-51
-16
-9
14
-3
-1
0
0
2
0
0
0
-31
22
-13
-50
14
-19
-44
-2
0
0
0
0
0
0
0
0
0
24
1
7
-37
23
4
3
-8
0
0
0
0
0
0
0
0
0
-3
20
47
-32
16
74
-43
36
0
1
2
4
0
0
0
0
0
-55
20
21
25
2
65
0
37
1
-4
-4
-10
0
0
0
0
0
-17
-17
-52
-45
98
26
2
-26
11
0
0
-2
-2
0
0
0
0
-12
-58
-31
21
7
67
41
30
1
-1
6
-3
0
0
0
0
0
16
72
8
5
-23
79
19
47
-30
-6
0
15
0
0
0
0
0
0
56
20
3
56
4
-16
-30
-9
-1
-2
-1
0
0
0
0
0
-4
-3
82
25
18
51
-23
-26
-36
3
-9
0
0
0
0
0
0
-1
-24
-26
-24
6
41
-4
-6
-14
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
11
-56
14
10
31
34
113
0
0
17
3
51
-7
13
-2
0
0
6
-1
-27
49
-18
17
97
0
139
0
39
13
-27
-35
-4
6
0
-18
38
7
53
5
38
80
40
150
66
-33
43
40
-15
6
-1
0
26
25
14
-20
38
-8
72
11
127
28
-35
-39
-37
6
0
0
0
2
-29
34
9
-46
-19
43
2
23
-78
-6
-21
8
13
-4
0
0
0
-75
50
7
-33
-55
-16
-10
-19
-14
-39
-9
38
-8
0
0
0
3
-11
55
43
4
-31
1
0
-68
-42
-8
17
27
-7
0
0
0
0
0
30
-6
-13
-23
-20
-15
-17
3
-25
-1
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
-22
0
0
0
0
0
0
0
0
-3
13
-1
-22
1
35
5
0
27
-32
-6
-3
-1
3
0
0
0
9
4
-46
-141
-24
89
0
54
0
22
-11
2
-1
0
1
0
1
25
69
-57
-4
35
-20
125
185
97
13
-26
-31
0
4
0
0
0
-9
-4
-42
44
88
26
59
66
10
4
15
15
2
0
3
0
0
-2
-19
-17
35
-6
-23
-13
-45
-20
-44
-16
44
5
-2
0
0
-3
19
11
-63
73
-9
-30
28
-33
-14
-67
-2
2
8
-2
0
0
-3
0
-35
-37
-69
-30
-56
-70
26
14
14
2
2
-2
0
0
0
0
-2
0
-5
21
10
-17
-21
-13
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-13
0
0
0
0
0
0
0
0
0
1
-13
10
-4
8
0
0
0
0
-13
5
-2
0
0
0
0
0
0
27
-9
16
-7
14
10
0
-3
-19
-28
1
0
0
0
0
0
0
17
-16
8
-7
9
-1
37
79
14
-1
-2
0
0
0
0
0
6
0
4
-13
1
9
-7
84
117
-76
0
-1
0
0
0
0
0
0
7
-2
-12
-4
-2
16
56
91
-9
-11
0
4
0
0
0
0
0
-1
2
-1
11
-4
50
54
98
-64
4
-1
-2
0
0
0
0
0
0
0
6
-16
-6
33
12
26
-2
1
-6
0
0
0
0
0
0
2
4
6
0
0
50
53
7
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
2
0
-1
3
9
8
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
3
-2
59
-28
67
107
0
0
0
0
0
0
0
0
0
-1
-1
6
-34
-40
55
33
71
10
0
0
0
0
0
0
0
0
0
4
1
21
31
-45
4
50
0
0
0
0
0
0
0
0
0
0
6
0
-20
-9
-24
41
-66
42
0
0
0
0
0
0
0
0
0
0
2
-3
-28
-41
2
-3
0
0
0
0
0
0
0
0
0
0
0
-3
7
72
27
-35
30
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-43
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
2
-15
-17
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
10
12
-26
10
14
0
0
0
0
0
0
0
0
0
0
0
0
10
34
62
-6
25
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
22
-17
-18
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
-29
60
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-56
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-24
-49
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
21
0
0
0
0
0
0
0
0
0
0
0
0
-7
12
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
4
-10
-6
-58
56
94
0
0
0
0
0
0
0
0
0
0
0
-1
0
-20
-33
24
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-22
11
22
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-15
-33
62
95
3
0
0
0
0
0
0
0
0
0
0
-1
1
-34
-19
-45
-29
0
0
0
0
0
0
0
0
0
0
0
0
7
3
8
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
16
-26
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-8
57
0
0
0
0
0
0
0
0
0
0
0
-1
-15
55
-35
65
-2
0
0
0
0
0
0
0
0
0
0
0
7
-14
-48
37
-19
-28
0
0
0
0
0
0
0
0
0
0
0
0
-30
16
-22
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
3
-16
-17
-18
1
0
0
0
0
0
0
0
0
0
0
0
-4
30
-24
-3
-21
-2
0
0
0
0
0
0
0
0
0
0
0
-1
12
1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
68
22
10
-12
-7
0
0
0
0
0
0
-2
-2
29
0
0
0
-15
58
-57
54
2
-12
0
0
0
0
0
-2
-8
-2
4
-46
11
3
13
27
-11
-60
0
0
0
0
0
0
0
12
17
-24
9
44
6
-64
-44
-20
64
1
0
0
0
0
0
0
3
-2
25
-30
21
17
-14
59
38
-2
-1
0
0
0
0
0
0
0
9
-33
-35
19
-57
-76
2
-21
-13
0
0
0
0
0
0
0
0
0
13
-12
27
35
8
35
-38
7
0
0
0
0
0
0
0
0
2
15
15
-33
3
1
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
0
0
0
29
-1
2
0
0
0
0
0
0
0
0
0
-9
-13
0
0
0
-66
-8
-10
3
0
2
0
0
0
0
0
0
9
0
76
41
0
-36
0
0
0
0
0
0
0
0
0
0
0
-2
0
-66
8
30
-25
1
-6
0
-4
0
0
0
0
0
0
0
0
0
-20
-8
4
33
0
-6
-9
-11
2
0
0
0
0
0
0
0
0
28
58
18
2
13
0
-9
-1
0
0
0
0
0
0
0
0
0
9
-16
-7
0
-3
0
1
3
0
0
0
0
0
0
0
0
0
2
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
87
-16
42
-35
4
-35
21
0
0
0
0
0
14
-8
0
0
0
21
23
16
-2
-13
-12
-46
0
0
0
0
-1
0
-13
-7
11
-3
24
58
39
-41
11
-14
-39
0
0
0
0
0
0
28
26
3
63
65
45
32
-7
15
64
46
0
0
0
-1
0
0
-9
-21
63
-25
54
-20
61
29
25
15
25
0
0
0
0
0
-6
0
7
-12
-22
-24
4
39
33
3
9
33
0
0
0
0
0
1
0
6
30
-4
4
29
2
55
30
-4
13
0
0
0
0
0
0
24
-1
-51
-12
38
20
-15
55
40
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
-9
-7
0
0
11
-22
9
-60
-10
-30
4
0
0
0
1
-1
-13
-45
-52
-18
45
8
15
2
-34
-6
-41
33
0
0
0
0
4
1
-22
28
12
23
16
5
-10
-25
-56
-13
37
0
0
0
0
1
-7
22
20
-36
-4
-16
-24
-4
-15
-43
-3
92
0
0
0
0
-11
-3
68
-29
-24
-27
-9
-7
-19
-23
10
-1
-4
0
0
0
0
0
0
25
34
7
-43
-38
-14
-6
-8
1
-4
63
0
0
0
0
0
11
63
7
-30
-45
-27
-32
-32
0
38
16
-20
0
0
0
0
0
0
37
-2
51
-21
-24
-32
-12
-10
40
-13
8
0
0
0
0
0
0
0
8
4
-18
-44
-39
-39
-104
-51
-4
0
0
0
0
0
0
0
0
0
0
0
-9
-11
-27
25
0
-51
0
0
0
0
0
0
0
0
1
19
0
60
6
-13
-5
12
-10
-6
0
0
0
0
0
0
3
0
4
58
-27
37
8
-5
29
-16
-1
0
0
0
0
0
0
-1
-3
11
-20
-13
-4
-68
5
66
27
1
0
0
0
0
0
0
0
-8
-18
-13
44
17
40
-12
-65
2
-4
0
0
0
0
0
0
0
0
-1
38
4
-2
6
-44
33
68
-30
0
0
0
0
0
0
0
-1
35
44
40
-56
11
25
54
13
2
0
0
0
0
0
0
0
1
0
26
-9
-12
-16
115
87
-16
0
0
0
0
0
0
0
0
0
3
0
21
-8
16
11
71
76
0
0
0
0
0
0
0
0
0
0
30
31
25
38
22
-8
27
46
0
0
0
0
0
0
0
-4
-14
44
0
23
67
-15
30
-14
35
0
0
0
0
-4
0
-4
7
77
46
7
-3
-23
-55
4
-21
19
0
0
0
0
0
-1
0
0
41
7
-2
-14
29
22
40
6
50
0
0
0
0
0
0
2
8
-3
5
40
6
3
15
19
13
40
0
0
0
0
0
0
15
-9
38
-5
8
-12
8
21
45
14
37
0
0
0
0
-1
0
-2
10
26
-82
-31
14
11
-9
29
17
-5
0
0
0
0
0
0
0
0
-2
40
-33
7
13
-19
32
4
61
0
0
0
0
0
0
0
0
-9
18
-2
-6
-4
-16
-11
0
0
0
0
0
0
0
0
4
3
0
0
22
34
15
-26
3
13
-24
0
0
0
0
-1
-15
0
0
6
0
35
33
16
36
11
-43
-8
0
0
0
0
-4
-12
12
-4
20
-7
35
28
9
52
36
-42
-36
0
0
0
0
0
-2
6
56
48
28
17
55
2
50
60
-9
39
0
0
0
0
2
-2
3
-6
60
31
-11
-22
3
18
7
38
71
0
0
0
0
0
1
12
50
61
-1
-29
30
-1
18
25
12
-42
0
0
0
0
0
0
0
37
-53
-16
29
-29
-3
-28
-22
63
-9
0
0
0
0
0
-9
0
30
2
-26
4
-5
-19
16
-13
-39
0
0
0
0
0
0
0
0
0
0
1
3
1
-19
-12
-3
0
0
0
0
0
0
0
0
-1
0
0
20
53
1
26
-26
-1
22
-33
0
0
0
0
0
2
22
0
34
0
30
-24
15
-4
19
-32
-4
0
0
0
0
0
-5
36
2
11
-29
-9
21
-1
14
-14
16
-3
0
0
0
0
4
-6
48
6
2
-4
49
1
17
-24
-2
23
-1
0
0
0
0
0
-2
40
-6
16
33
20
-44
-10
-4
-1
12
-13
0
0
0
0
0
1
-1
7
45
-9
36
-5
11
5
-21
35
-6
0
0
0
0
0
0
-2
6
7
34
5
-13
34
-12
6
27
10
0
0
0
0
0
0
0
0
2
7
-29
21
-51
46
11
66
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
3
-11
-3
-21
-32
30
0
0
0
0
0
0
12
-7
0
0
0
43
-46
-32
-100
-99
39
-2
0
0
0
0
0
0
0
9
0
1
11
-58
9
26
-22
-9
0
0
0
0
0
0
0
-6
-6
9
0
-13
12
17
-6
24
-20
2
0
0
0
0
0
0
0
36
-4
-2
0
39
-49
-6
18
15
3
0
0
0
0
0
0
0
-2
16
-1
-1
16
-16
-45
51
27
-1
0
0
0
0
0
0
0
2
-2
0
24
-1
28
20
11
0
-1
0
0
0
0
0
0
0
0
0
0
-6
1
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
47
8
31
-1
34
0
0
0
0
0
0
0
14
-21
-4
10
0
-5
25
-7
5
43
0
0
0
0
0
0
1
-10
15
10
-9
21
-23
7
13
-25
-17
0
0
0
0
0
0
0
0
3
0
-35
-47
53
19
17
-25
-10
0
0
0
0
0
0
0
0
0
0
0
-34
77
49
-13
63
21
0
0
0
0
0
0
0
0
0
0
7
-33
-11
-21
-3
-19
71
0
0
0
0
0
0
0
0
0
-3
-5
5
36
51
-5
27
-5
0
0
0
0
0
0
0
0
0
0
0
10
-1
-26
4
-31
-35
0
0
0
0
0
0
0
0
0
0
0
-2
-1
8
-33
24
14
0
0
0
0
0
0
0
0
0
0
-1
-7
9
-20
-46
-41
-2
0
0
0
0
0
0
0
0
1
0
0
-5
-32
-38
86
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
-23
24
15
-75
19
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-12
-32
-4
0
0
0
0
0
0
0
0
0
0
0
3
36
18
39
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
-53
42
-19
43
18
0
0
0
0
0
0
0
0
0
0
0
-11
23
47
54
-10
36
0
0
0
0
0
0
0
0
0
0
0
0
-18
-2
10
-19
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
-6
-4
0
0
0
0
0
0
0
0
0
0
0
3
14
75
-6
43
0
0
0
0
0
0
0
0
0
-2
2
5
21
12
40
20
8
-10
0
0
0
0
0
0
0
-3
-3
2
-1
-25
12
62
68
22
-3
0
0
0
0
0
0
0
0
0
0
-7
-20
53
43
-15
-38
6
0
0
0
0
0
0
0
0
0
0
-18
6
25
3
26
48
7
0
0
0
0
0
0
0
0
0
0
0
-2
3
75
31
-2
-8
0
0
0
0
0
0
0
0
0
0
0
-1
38
33
-29
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
-54
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
4
21
7
-18
12
-13
0
0
0
0
0
0
0
0
0
-1
10
0
42
84
-17
18
85
-10
0
0
0
0
0
0
0
0
-1
-1
-7
74
43
-7
15
23
0
0
0
0
0
0
0
0
0
0
0
-1
8
-23
3
-11
70
-1
0
0
0
0
0
0
0
0
0
0
-2
-17
-51
51
10
39
3
0
0
0
0
0
0
0
0
0
0
0
-24
3
1
3
-18
-3
0
0
0
0
0
0
0
0
0
0
-2
-1
10
49
10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
-26
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
9
-107
37
46
24
-35
25
0
0
0
0
0
0
0
4
48
-27
-13
-3
45
37
-32
34
-5
0
0
0
0
0
0
0
-21
-58
-56
11
2
35
37
62
-8
39
0
0
0
0
0
0
0
1
44
11
35
-17
44
27
35
-50
-41
0
0
0
0
0
0
-2
-4
40
39
59
5
23
51
42
29
2
0
0
0
0
0
0
0
-1
69
17
-10
-38
15
77
11
43
19
0
0
0
0
0
0
0
41
-35
-51
-71
-6
-7
36
-4
-18
2
0
0
0
0
0
0
0
0
0
-42
37
-24
36
-5
14
31
36
0
0
0
0
0
0
0
0
0
0
-7
-3
0
-1
36
15
0
0
0
0
0
0
0
0
0
0
-1
-6
6
-17
-16
59
12
-1
0
0
0
0
0
0
0
0
-3
-8
-18
13
-9
-7
50
2
47
0
0
0
0
0
0
0
-3
-7
0
3
4
-35
-11
20
-21
-10
0
0
0
0
0
0
0
0
-8
9
-16
41
-24
-25
32
6
24
0
0
0
0
0
0
0
0
2
-19
2
-33
44
-14
-51
25
-27
0
0
0
0
0
0
0
0
4
6
-11
30
43
10
-74
5
-39
0
0
0
0
0
0
0
0
-2
-21
6
-21
57
-59
-1
-72
-22
0
0
0
0
0
0
0
0
9
0
0
0
37
-25
-6
52
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-1
0
50
-6
-15
63
-21
9
14
-4
0
0
0
8
18
38
2
15
34
31
4
29
12
31
-4
14
9
0
0
-1
-2
-51
21
26
31
-3
29
29
-24
59
86
23
-84
5
0
0
0
-7
15
52
-15
-9
30
15
49
23
28
61
-22
8
30
0
0
0
0
0
0
-59
15
13
1
26
-19
54
-36
19
-13
1
0
0
0
0
0
-1
-15
-33
-30
-24
-2
-11
38
23
51
-1
0
0
0
0
0
0
0
-11
-114
-24
-36
-33
10
32
-8
1
-26
0
0
0
0
0
0
0
0
-45
-23
5
-28
10
-28
46
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-14
-59
-27
0
-15
-15
-8
15
21
-24
-2
0
0
0
0
-9
-64
-118
-14
16
21
4
23
5
1
25
-30
12
0
0
0
0
0
-11
-19
1
4
-5
-21
6
36
26
42
-33
-8
0
0
0
-1
0
-6
-12
-5
12
-32
-24
-14
-9
24
32
-24
7
0
0
0
0
-3
7
-23
-57
5
9
6
-11
-10
-20
35
38
81
0
0
0
0
-4
-1
32
49
-4
-49
-12
-7
0
22
53
20
49
0
0
0
0
0
-8
-22
-23
-6
-22
-27
-25
-35
10
49
4
1
0
0
0
0
2
-6
-2
-61
-8
-9
-16
-26
-8
11
53
47
-29
0
0
0
0
0
2
-12
0
36
-18
-9
10
8
-7
-16
0
2
0
0
0
0
8
58
-38
-33
-70
0
1
-7
39
0
51
0
0
0
0
0
0
0
-11
-43
40
14
10
37
-2
-1
-4
44
0
0
0
0
0
0
0
5
59
11
28
28
16
49
-26
33
14
0
0
0
0
0
0
0
4
-56
10
6
63
9
47
-36
87
-50
-3
0
0
0
0
0
1
-3
26
15
-25
16
4
10
41
7
22
0
0
0
0
0
4
10
-36
-17
25
1
30
-34
30
-19
33
35
-1
0
0
0
0
4
-21
10
9
-9
-6
1
-63
-9
-5
6
54
-1
0
0
0
1
1
34
14
-20
-36
-4
-72
-29
0
-13
54
2
0
0
0
0
0
2
-13
19
-54
-15
-41
-30
-7
-2
2
-53
-40
6
0
0
0
0
0
-3
4
35
27
3
0
4
33
-32
65
19
12
0
0
0
0
0
8
45
-31
0
16
3
32
-16
52
2
8
47
0
0
0
0
0
26
5
31
24
-12
5
-9
16
44
40
84
-38
0
0
0
0
0
-8
-3
-41
-8
-10
-9
-12
17
20
38
1
-19
0
0
0
0
-1
7
-4
-31
11
-4
-6
39
28
9
47
31
3
0
0
0
0
2
-26
10
-1
9
-3
2
-2
41
3
19
29
-2
0
0
0
0
-2
-33
-16
-19
-17
-15
3
-33
-53
3
-5
-26
8
0
0
0
0
-2
-9
-27
-48
-3
-6
-20
-34
13
-45
-8
10
0
0
0
0
0
0
0
0
0
0
-16
12
16
60
1
0
0
0
0
0
0
0
0
0
0
4
-15
-35
0
35
5
40
-4
3
23
48
-8
0
0
0
0
-3
-24
-74
29
46
40
53
3
8
4
11
8
-24
0
0
0
-1
12
11
-20
17
31
65
43
14
24
-7
42
-13
18
0
0
0
0
-4
9
16
-35
-27
-7
1
25
25
3
15
10
17
0
0
0
2
0
11
26
49
-11
5
7
33
24
51
13
2
-1
0
0
0
0
0
1
1
-39
6
-1
3
56
-34
-21
66
0
8
0
0
0
0
0
-1
5
-37
-50
-28
34
-10
-3
-7
58
45
6
0
0
0
0
0
0
-8
-15
17
15
-42
0
22
-80
51
2
0
0
0
0
0
1
0
0
-2
0
-30
-1
0
0
0
17
-3
0
0
0
0
0
0
-1
17
22
0
55
27
19
17
-41
-51
16
-3
0
0
0
0
0
0
20
-57
22
23
36
-2
62
21
20
-55
-25
0
0
0
0
1
0
-3
-31
28
63
106
24
43
97
22
5
1
0
0
0
0
0
0
57
-23
22
88
57
24
43
44
24
76
-12
0
0
0
0
0
-22
-54
-48
-47
-17
-36
8
42
67
50
7
41
0
0
0
0
1
2
-12
9
-41
-30
-21
-1
62
23
47
11
28
0
0
0
0
0
-29
-9
44
-5
6
14
34
41
53
-8
18
1
0
0
0
0
0
0
0
-40
-39
-90
-97
34
102
-3
22
3
0
0
0
0
0
0
0
0
0
9
0
-25
0
2
-1
6
0
0
0
0
0
0
0
0
0
0
0
19
12
-27
0
-3
1
2
-1
0
0
0
0
0
0
-3
11
53
34
11
91
28
22
34
50
-21
0
0
0
0
0
3
-1
10
16
3
44
5
3
41
23
18
7
0
0
0
0
0
0
-13
-26
49
-37
-2
19
47
4
40
25
12
0
0
0
0
0
0
6
9
-55
-58
2
6
-17
0
11
29
-17
0
0
0
0
0
0
1
-2
-4
-49
-14
-61
-2
-3
-7
-43
-58
0
0
0
0
0
0
3
-16
-20
-21
-3
29
49
-6
-12
23
0
0
0
0
0
0
0
37
-14
-24
49
45
-25
-3
0
1
0
-1
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
55
0
0
0
21
0
0
0
0
0
0
0
0
0
1
47
-8
32
-31
0
0
-4
0
0
0
0
0
0
0
0
0
0
-15
-6
17
32
41
4
108
-1
0
0
0
0
0
0
0
0
2
-14
-17
-46
34
-8
18
47
15
0
0
0
0
0
0
0
0
-1
-15
-2
18
-26
-14
25
-3
29
0
0
0
0
0
0
0
0
0
-27
46
-13
-34
-3
9
-4
1
0
0
0
0
0
0
0
0
0
1
11
-20
-9
6
10
14
0
0
0
0
0
0
0
0
0
0
0
38
-58
6
16
-7
30
0
0
0
0
0
0
0
0
0
0
0
-6
17
24
14
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
21
0
0
3
0
0
0
0
0
0
0
0
0
0
0
3
-36
55
-41
13
2
0
0
0
0
0
0
0
0
0
0
1
-22
-18
23
-39
30
32
0
0
0
0
0
0
0
0
0
0
-1
0
-8
20
60
13
28
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-10
5
-53
-2
0
0
0
0
0
0
0
0
0
0
0
0
17
-14
22
-33
2
0
0
0
0
0
0
0
0
0
0
0
3
4
-5
8
19
-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
-3
-39
23
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
7
0
51
0
0
37
0
0
0
0
0
0
0
0
0
-1
1
13
-73
-47
-39
-29
17
-16
0
0
0
0
0
0
0
0
0
-1
1
-10
50
15
-2
20
4
0
0
0
0
0
0
0
0
0
0
0
57
-4
54
29
-1
-3
0
0
0
0
0
0
0
0
0
0
22
0
-15
29
3
-7
-1
0
0
0
0
0
0
0
0
0
0
-2
38
28
13
-18
-12
-8
0
0
0
0
0
0
0
0
0
0
0
-18
27
28
-24
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
-7
2
-7
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
15
-9
-29
0
0
54
45
0
0
0
0
0
0
0
0
0
0
-1
-12
41
52
35
-3
1
0
0
0
0
0
0
0
0
0
0
1
33
-11
48
21
22
10
0
0
0
0
0
0
0
0
0
0
0
8
10
32
-21
2
-20
0
0
0
0
0
0
0
0
0
0
1
-3
45
44
21
19
-3
0
0
0
0
0
0
0
0
0
0
-11
-23
-8
-6
-18
-22
12
0
0
0
0
0
0
0
0
0
0
0
1
-28
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
0
0
0
44
-5
8
-1
-1
-17
0
0
0
0
0
0
-25
31
0
0
0
1
-8
-4
7
41
21
0
0
0
0
0
0
4
26
31
60
47
-20
25
3
-69
33
97
-1
0
0
0
0
-1
-1
41
11
68
-6
26
35
47
15
-7
-7
0
0
0
0
0
0
-10
19
29
-55
45
-15
59
15
-13
38
4
0
0
0
0
0
0
0
-24
26
27
25
-20
-63
14
8
0
-2
0
0
0
0
0
0
-18
24
-18
52
23
36
-4
-37
0
0
1
0
0
0
0
0
0
-2
-30
-10
-11
-45
-13
-1
0
0
-17
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
0
0
0
0
0
0
0
0
0
0
0
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
69
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
34
21
-3
-1
0
-3
-11
-4
-11
0
0
0
0
0
0
0
-2
28
27
-43
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-38
-68
98
-2
9
1
0
0
0
0
0
0
0
0
0
0
-4
-71
-5
46
4
0
0
3
-2
0
0
0
0
0
0
0
0
-1
-12
-30
-18
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
30
59
0
0
0
38
67
39
87
72
-5
33
0
0
0
0
-16
28
-3
5
0
0
98
84
18
49
8
24
47
0
0
0
-2
-3
-18
2
23
29
32
116
22
31
43
12
35
12
0
0
0
0
0
3
-45
-6
12
126
15
21
23
27
30
7
55
0
0
0
-4
2
9
-44
57
58
-12
-10
36
38
30
-10
11
38
0
0
0
0
-1
-4
15
-33
-1
34
23
33
-44
-33
11
49
-29
0
0
0
0
0
0
-1
73
-34
29
-56
0
16
11
-22
48
-20
0
0
0
0
0
0
-2
-19
27
12
2
-2
1
-15
-1
-28
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
17
13
36
30
0
0
-5
28
-3
-16
36
-33
-51
0
0
0
1
-11
7
4
31
-63
38
18
5
3
-9
-37
-15
-8
0
0
0
0
-2
23
49
53
-38
1
-8
16
13
27
-23
-25
-72
0
0
0
0
-4
-49
-22
-30
-60
-74
27
-22
13
11
0
-69
-44
0
0
0
0
0
0
8
-26
-41
-44
0
0
4
14
-6
-22
-35
0
0
0
0
0
9
11
-43
-104
-28
-36
-24
25
-7
28
-36
-25
0
0
0
0
6
0
-50
62
-39
-59
-31
24
-19
1
-51
-11
-10
0
0
0
0
0
0
13
-21
-17
-51
29
20
-17
-16
1
-18
39
0
0
0
0
0
0
-1
0
0
-14
-17
14
35
38
13
0
0
0
0
0
0
0
0
0
0
0
0
-45
32
41
-2
23
6
-3
0
0
0
0
0
0
0
-1
9
13
109
22
20
21
-46
3
-9
0
0
0
0
0
0
0
-9
15
18
50
44
8
-26
-37
-23
-5
0
0
0
0
0
0
1
8
43
14
-18
-20
20
-45
33
9
-8
0
0
0
0
0
0
1
0
9
-46
33
-13
-3
1
-26
10
32
0
0
0
0
0
0
0
3
25
18
-44
14
-8
-21
-20
-1
35
0
0
0
0
0
0
0
1
6
16
-17
42
-21
-39
4
2
42
0
0
0
0
0
0
0
1
11
43
31
-7
-7
-16
22
5
23
0
0
0
0
0
0
0
1
-26
9
-1
29
45
-3
-3
15
30
0
0
0
0
0
0
0
0
0
-63
20
17
-20
0
-17
-28
16
0
0
0
0
0
-2
0
6
6
93
0
41
22
-5
22
-29
14
0
0
0
0
0
0
0
1
-2
144
42
21
-12
25
7
-36
-9
0
0
0
0
0
0
0
-6
6
32
50
-21
15
-13
23
10
-23
0
0
0
0
0
0
0
-1
44
-11
31
-21
-8
7
1
-16
-5
0
0
0
0
0
0
7
3
-6
21
7
75
-9
4
12
6
-24
0
0
0
0
0
0
0
0
-22
13
80
14
-84
22
-27
-3
-10
0
0
0
0
0
0
0
0
38
43
64
47
-1
1
4
-37
-37
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
1
0
0
0
0
0
0
-25
15
3
0
0
33
48
1
14
-11
35
-29
0
0
0
0
-19
24
58
0
7
0
68
38
5
5
22
-1
15
0
0
1
-1
4
3
50
100
62
56
84
30
25
44
22
35
1
0
0
0
-1
-3
-49
-10
13
48
78
52
42
2
20
30
16
-33
0
0
0
0
0
-17
-38
73
15
64
105
22
2
57
0
13
12
0
0
0
0
-12
-6
-17
28
15
13
37
22
-43
17
1
4
21
0
0
0
0
0
0
6
30
49
38
-20
27
-8
-32
45
44
53
0
0
0
0
0
0
0
35
45
42
-27
24
-3
-27
44
11
8
0
0
0
0
0
0
0
0
0
0
-2
6
-1
0
0
0
0
0
0
0
0
-2
2
8
-27
0
12
-17
70
-42
0
-32
-70
-5
0
0
0
0
-1
10
2
0
5
0
-17
35
7
-12
-40
-9
23
0
0
0
0
0
15
78
32
106
57
13
65
53
31
-6
33
-26
0
0
0
0
-1
2
33
42
16
19
-27
50
42
15
2
-42
-26
0
0
0
0
0
0
1
130
87
16
-9
-4
-1
-22
61
-5
54
0
0
0
0
0
0
9
92
52
82
22
-6
11
-106
28
11
-28
0
0
0
-1
0
0
1
65
59
36
27
30
15
-80
12
-42
13
0
0
0
0
0
0
0
1
1
7
-12
-3
15
29
-23
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
-1
3
0
0
0
0
0
0
0
0
0
0
2
4
1
-10
-7
-2
-12
0
0
0
0
0
0
0
0
0
-1
1
56
-20
37
-6
-27
-6
0
0
0
0
0
0
-3
8
20
4
-30
17
11
28
9
-13
1
0
0
0
0
0
0
-8
73
-8
-3
-1
-16
-37
-4
-15
54
-12
0
0
0
0
0
0
11
16
-2
-9
-4
1
-2
0
-2
-2
10
0
0
0
0
0
0
0
-1
37
0
0
8
-2
0
-10
-6
0
0
0
0
0
0
0
0
0
1
-2
1
1
-8
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
29
7
-9
8
35
87
49
0
0
0
0
0
0
0
2
1
27
4
-15
-13
-7
-11
-18
-42
0
0
0
0
0
0
0
0
2
-1
-2
-58
34
-44
-51
5
3
0
0
0
0
0
0
0
0
0
9
-2
-7
24
17
-29
-11
32
0
0
0
0
0
0
0
0
0
-3
4
39
0
22
24
44
24
0
0
0
0
0
0
0
0
0
-1
6
3
28
-9
-40
41
12
0
0
0
0
0
0
0
0
0
0
0
-2
-9
7
1
-5
122
0
0
0
0
0
0
0
0
0
0
0
0
-2
31
17
9
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
2
31
-101
-1
0
0
0
0
0
0
0
0
0
0
8
-2
-11
1
46
-62
-4
0
0
0
0
0
0
0
0
0
0
-6
0
6
-4
15
-9
-20
0
0
0
0
0
0
0
0
0
0
0
-1
3
71
48
15
4
0
0
0
0
0
0
0
0
0
0
0
10
7
-12
41
51
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
-25
-17
7
16
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
30
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-8
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
11
0
0
0
0
0
0
0
0
0
0
1
0
-7
83
-27
-16
63
0
0
0
0
0
0
0
0
0
-1
-3
0
-16
52
-3
-46
56
0
0
0
0
0
0
0
0
0
0
0
0
-24
55
-13
59
43
0
0
0
0
0
0
0
0
0
0
-2
0
0
16
-29
23
20
0
0
0
0
0
0
0
0
0
0
-2
0
7
-4
-16
-45
40
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
12
23
38
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
6
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
-1
11
-2
9
3
-61
4
0
0
0
0
0
0
0
0
0
1
-1
20
8
0
-49
-34
14
0
0
0
0
0
0
0
0
0
1
0
24
-25
-19
88
91
-57
0
0
0
0
0
0
0
0
0
0
10
-1
-10
20
16
33
13
0
0
0
0
0
0
0
0
0
0
0
0
-20
23
-8
42
13
0
0
0
0
0
0
0
0
0
0
0
4
6
-40
1
27
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-28
40
-17
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
2
0
-7
-15
40
-36
14
-7
-21
-13
0
0
0
0
0
0
-30
16
-36
40
54
-9
-23
64
58
-4
2
0
0
0
0
0
0
1
22
0
11
-16
19
-24
14
45
21
37
0
0
0
0
0
0
-3
12
60
62
52
-76
-1
23
21
-36
16
0
0
0
0
0
0
-2
-7
60
7
25
128
-28
-31
-14
25
-17
0
0
0
0
0
0
1
-19
3
-7
-5
-8
-14
34
47
27
-9
0
0
0
0
0
0
0
42
-13
-16
-25
-18
36
51
-40
34
29
0
0
0
0
0
0
0
0
38
-2
0
-18
0
-11
41
21
25
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-38
5
0
0
0
0
0
0
0
0
0
-16
13
-3
1
44
-36
-76
-1
0
0
0
0
0
0
0
-3
0
-18
1
-1
-15
0
66
-1
13
0
0
0
0
0
0
0
-2
0
-15
32
-16
5
-35
63
-3
0
0
0
0
0
0
0
0
-2
3
24
45
7
-21
34
2
5
45
0
0
0
0
0
0
0
-1
1
1
9
0
-18
-36
48
10
-50
0
0
0
0
0
0
0
1
3
0
-19
-5
17
56
-30
-2
46
0
0
0
0
0
0
0
0
0
7
-6
-13
6
-1
28
13
38
0
0
0
0
0
0
0
0
0
0
0
2
0
-7
54
98
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-26
78
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
-3
6
0
50
25
-31
-19
64
29
-21
-27
0
0
1
25
-57
-31
-7
-18
19
65
31
17
9
58
13
1
29
0
0
-2
-8
-28
-26
-55
2
65
5
38
2
17
-45
19
37
-27
0
0
-1
-14
-6
33
-28
-50
-6
7
38
19
2
19
40
13
49
0
0
0
1
-3
-62
-30
21
-2
-16
13
-11
45
-28
-10
0
34
0
0
0
0
-1
-6
-63
3
-56
18
-11
10
67
60
-32
22
-34
0
0
0
0
0
3
-19
-71
-31
-93
-55
-29
2
24
38
17
0
0
0
0
0
0
0
-1
-18
-58
-20
8
36
-6
0
-1
-25
0
0
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
10
-20
-76
-9
-5
0
3
-16
3
44
19
-35
9
0
0
0
-1
18
-33
18
-39
-26
14
-8
15
28
11
38
45
7
0
0
0
0
-16
-19
-15
-83
19
0
3
8
20
19
43
-28
50
0
0
0
0
-6
-6
-49
-19
-39
-37
-25
9
8
7
68
-8
37
0
0
0
0
15
-33
30
-60
-25
-12
-20
-2
8
1
0
-13
1
0
0
0
3
-3
-9
-31
-10
-29
-31
-17
-9
-11
1
37
52
12
0
0
0
0
0
-3
-14
-12
-44
-20
-22
-18
16
14
-20
-2
-2
0
0
0
0
0
-5
34
-36
15
28
-19
-17
-4
-13
-11
2
-8
0
0
0
0
0
0
-5
9
-45
50
27
-53
-32
16
16
0
0
0
0
0
0
8
13
8
-17
27
0
2
7
-46
26
-17
1
0
0
0
6
-2
32
-10
8
27
-13
-2
28
-23
-14
-24
-16
0
0
0
0
0
-2
-14
0
-16
-8
3
-44
-23
34
10
-63
13
-2
0
0
0
0
-6
12
19
-1
-2
-22
-14
21
46
-8
-106
-2
0
0
0
0
0
1
-13
5
-10
20
-34
-3
23
9
19
26
12
0
0
0
0
1
-6
-5
29
1
-18
-15
17
-59
-39
-14
-34
14
0
0
0
0
0
2
33
6
-13
8
-27
-5
-17
41
13
36
-7
0
0
0
0
3
-2
1
31
20
0
8
-18
-37
-34
26
-48
-11
0
0
0
0
-3
-1
22
24
10
28
17
11
-28
-21
12
8
0
0
0
0
0
0
2
-9
-23
10
45
-5
0
36
56
51
34
-23
0
0
0
0
1
-1
-18
8
7
9
27
-6
9
27
22
8
-14
0
0
0
0
0
1
-31
9
-42
26
13
23
19
-10
40
70
-2
0
0
0
0
0
1
-1
-10
4
-54
27
-2
6
23
1
11
54
0
0
0
0
0
-1
8
17
-16
-71
-9
-7
-21
-1
-34
1
-3
0
0
0
0
0
0
-14
0
11
-1
3
-15
-6
0
-13
37
3
0
0
0
0
0
-1
10
4
-7
-42
-35
37
-38
-34
-56
55
10
0
0
0
0
0
0
6
-38
-32
9
15
5
-84
-29
-23
33
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
28
-8
0
0
0
0
0
0
0
0
0
11
16
-7
28
0
45
38
50
38
-27
4
53
2
0
0
0
-3
-10
28
-29
8
-14
40
22
47
7
40
-33
6
3
0
0
-1
0
-3
-41
-7
9
14
25
45
38
6
3
29
-56
-9
0
0
-1
0
-13
-3
-33
-31
17
-25
-6
12
4
16
34
62
-16
0
0
0
0
-8
35
-18
-74
-4
-8
-24
-28
34
47
78
43
-4
0
0
0
0
0
-27
-14
-66
-38
1
-40
25
-37
19
2
6
65
0
0
0
0
0
0
-9
-39
-70
-13
28
4
-48
-39
17
32
-48
0
0
0
0
0
0
7
-16
-15
-23
-3
-32
-11
-11
2
22
6
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
-3
1
1
0
0
0
0
0
13
-45
9
0
8
-6
28
-2
-34
52
53
56
0
0
0
0
-1
2
29
-28
-4
39
22
-6
-43
-54
46
7
-7
0
0
0
0
15
1
17
-11
-8
31
-30
-74
11
2
-34
-12
76
0
0
0
0
-3
-3
-19
10
12
-5
41
21
10
17
55
-49
80
0
0
0
0
2
-16
51
8
61
1
-2
-71
-3
10
89
33
-46
0
0
0
0
6
-3
-53
-21
-5
-25
-37
-62
-12
-27
-54
43
54
0
0
0
0
1
19
5
11
28
-29
-22
-33
-1
4
-1
-35
-3
0
0
0
0
0
0
21
-8
-30
-30
-30
38
0
45
0
-17
0
0
0
0
0
0
0
-1
30
1
-11
10
-3
7
0
0
0
0
0
0
0
0
0
0
1
-15
0
6
-6
-4
0
0
0
37
0
0
0
0
0
0
0
-28
11
-9
-47
-65
-27
0
20
-8
41
0
0
0
0
0
0
0
-1
44
19
-33
14
2
-2
16
-3
-13
1
0
0
0
0
0
0
0
-13
28
19
18
7
0
2
23
-14
-7
0
0
0
0
0
0
0
17
-30
-19
-25
-35
-3
0
19
87
15
0
0
0
0
0
0
-10
-89
61
-35
21
-46
-3
0
5
-16
-6
0
0
0
0
0
0
-1
-8
11
-13
1
-1
-2
-2
13
55
-1
0
0
0
0
0
0
0
-16
-32
8
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
1
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-7
-7
11
51
-14
0
0
57
0
0
0
0
0
0
0
0
1
-7
-3
16
-7
2
24
58
-40
0
0
0
0
0
0
0
0
2
-1
0
2
-3
-14
-16
-37
71
-2
0
0
0
0
0
0
0
0
0
0
2
48
-22
-13
-11
49
4
0
0
0
0
0
0
0
0
0
2
18
32
-9
-9
-9
27
0
0
0
0
0
0
0
0
0
-7
9
3
47
-89
-8
12
6
0
0
0
0
0
0
0
0
0
10
-9
1
0
0
-15
-41
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
52
-43
28
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
30
-17
13
0
0
0
0
0
0
0
0
0
0
0
0
0
16
22
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
13
33
33
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-28
-5
-3
0
0
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
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
-1
2
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
9
-38
-47
-61
86
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-34
-19
43
0
0
0
0
0
0
0
0
0
0
0
0
0
10
6
41
38
-1
0
0
0
0
0
0
0
0
0
3
0
2
-38
-27
22
46
0
0
0
0
0
0
0
0
0
0
0
-2
6
3
8
41
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
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
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
-3
-11
6
0
0
30
0
0
0
0
0
0
0
0
0
0
0
2
0
16
-6
-18
-6
-1
0
0
0
0
0
0
0
0
0
0
1
-3
-34
6
-31
49
-2
0
0
0
0
0
0
0
0
0
0
0
3
3
21
38
16
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-47
-19
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
13
3
-1
-2
-19
-26
0
0
0
0
-10
-1
3
0
0
0
0
18
5
-27
-64
-34
7
-1
0
0
0
-1
3
0
10
-57
42
25
-5
-18
-19
2
86
8
0
0
0
0
0
0
0
22
-47
-12
-61
5
8
-7
-23
-13
-1
0
0
0
1
0
0
6
-19
20
77
19
8
-27
-27
41
98
-6
0
0
0
0
0
-1
0
-4
-68
-50
-1
-74
65
37
23
0
0
0
0
0
0
0
0
-4
-1
22
-73
-2
-2
-66
61
-6
6
0
0
0
0
0
0
0
0
4
1
-42
6
8
11
18
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-7
-7
-7
0
-8
-4
1
0
0
0
0
0
0
0
0
0
0
23
-25
-3
4
-9
-2
-1
0
0
0
0
0
0
0
0
0
2
28
25
3
9
1
-1
0
0
0
0
0
0
0
0
0
0
0
9
-4
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
9
74
8
-5
-69
0
0
0
0
0
-6
-76
-2
0
0
14
21
-18
15
-17
29
-96
0
0
0
0
0
-3
-16
24
-11
15
13
71
-5
-1
-9
39
-16
0
0
6
0
0
10
7
41
-17
53
26
-16
32
-22
66
19
99
0
0
0
0
-6
-1
12
-3
80
-2
11
64
-6
51
21
60
-60
0
0
0
0
0
1
0
-5
25
57
57
29
46
36
5
-23
-39
0
0
0
1
1
0
0
-35
28
17
67
44
-8
38
-53
-23
18
0
0
0
0
-1
-2
-4
13
-19
-6
8
-9
16
-38
39
1
0
0
0
0
0
0
0
0
-11
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
2
-1
0
0
21
-36
-22
-8
1
43
43
0
0
3
0
-19
54
-35
-8
-1
3
-6
-21
-15
1
34
39
22
0
0
0
2
-3
30
3
44
39
-44
-17
-42
-31
-6
-4
23
86
0
0
0
2
2
0
10
14
-23
2
-35
-10
18
31
-8
60
-68
0
0
0
2
5
14
29
-10
-6
-7
11
5
-18
-22
36
-24
53
0
0
0
0
1
-28
-5
-33
31
-20
18
4
-14
-5
-21
-2
29
0
0
0
-3
-7
-25
0
60
52
9
-12
-15
-4
-19
-23
-3
101
0
0
0
-2
2
-16
17
-10
-7
-7
42
-19
7
-18
-8
-57
4
0
0
0
0
0
1
6
-6
0
5
-13
13
-15
-3
11
-6
0
0
0
0
0
0
0
0
0
0
0
7
22
-83
27
-24
-42
-4
0
0
0
0
0
0
0
-14
1
-1
2
41
-47
-11
15
-11
9
0
0
0
0
-2
0
0
1
3
14
15
4
17
-51
-5
30
8
0
0
0
0
-1
2
0
0
-12
32
-26
-24
47
29
21
24
1
0
0
0
0
0
0
0
-2
1
-9
42
-18
25
24
-8
70
13
0
0
0
0
0
0
-3
3
-11
27
23
5
17
4
17
29
3
0
0
0
0
0
0
0
2
2
6
11
-4
11
37
8
-8
8
0
0
0
0
0
0
2
-2
17
8
-50
-22
4
-22
-51
2
0
0
0
0
0
0
0
0
-7
0
6
4
0
4
-10
11
12
2
0
0
0
0
0
0
0
0
0
23
77
57
-48
-19
38
19
-11
0
0
0
0
2
1
0
2
-14
27
0
19
11
8
54
24
44
0
0
0
0
0
1
0
-6
0
-23
2
59
-1
52
8
-13
33
0
0
0
0
2
0
-1
4
-8
7
45
5
53
25
7
-4
23
0
0
0
0
0
0
1
1
4
-26
-1
50
39
39
13
98
-7
0
0
0
0
0
1
0
4
-18
65
42
24
-40
16
-20
34
14
0
0
0
0
0
0
0
1
6
0
9
46
14
-33
13
23
9
0
0
0
0
0
0
8
0
-2
8
13
-4
30
0
-3
18
-9
0
0
0
0
0
0
0
0
0
0
0
-4
1
11
8
-1
0
0
0
0
0
0
0
0
0
0
0
-42
16
-17
16
5
-5
-21
0
0
0
0
-10
8
-2
0
-16
0
-42
14
29
43
40
13
-16
0
0
0
8
3
-6
3
44
-9
48
-11
41
65
34
35
9
-36
0
0
0
0
0
4
48
-8
-7
68
-3
64
53
52
9
43
-28
0
0
0
0
-1
0
14
41
56
74
10
23
-10
68
43
12
19
0
0
0
0
1
15
3
22
0
2
41
41
4
-16
16
65
0
0
0
0
0
1
1
34
29
-5
16
2
-5
63
-24
15
28
8
0
0
0
0
0
0
0
-34
-1
-7
44
59
-2
-34
31
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-18
0
0
0
0
0
0
0
0
0
0
0
-12
-26
17
16
97
38
60
-5
0
0
0
0
0
1
4
0
-1
0
29
-33
25
19
11
2
5
0
0
0
0
0
0
0
-4
26
21
37
52
48
64
23
-1
3
0
0
0
0
0
0
-4
-4
19
56
19
-45
-41
31
3
-7
51
0
0
0
0
0
0
-7
7
54
-72
13
49
-18
-41
2
-26
-8
0
0
0
0
0
-1
6
-8
8
39
-17
50
79
-45
-16
-1
0
0
0
0
0
0
0
0
0
30
53
15
-32
15
6
9
45
1
0
0
0
0
0
0
0
0
7
0
-1
27
46
-39
-72
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-12
-9
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
2
2
-11
0
0
0
0
0
0
0
1
3
0
0
4
6
8
25
11
2
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-19
-12
13
0
0
0
0
0
0
0
0
36
-1
-1
0
-3
3
2
-16
-21
0
0
0
0
0
0
0
0
5
-41
0
1
0
9
-21
-13
3
0
0
0
0
0
0
0
0
9
27
-6
7
0
-13
17
-1
10
0
0
0
0
0
0
0
0
0
28
0
3
-4
-3
-1
-1
1
0
0
0
0
0
0
0
0
0
-1
1
0
0
-8
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
-16
-30
13
1
11
96
-48
-43
0
0
0
0
0
0
1
27
1
13
-67
-19
30
33
-12
-25
21
0
0
0
0
0
0
-3
5
-33
21
12
-35
-43
28
-14
21
8
0
0
0
0
0
0
0
-6
6
-7
33
-58
19
0
13
10
12
0
0
0
0
0
0
0
0
-1
-2
4
48
17
18
-45
12
35
0
0
0
0
0
0
0
0
-1
1
26
25
30
-30
7
9
27
0
0
0
0
0
0
0
0
0
3
1
45
2
-17
41
-22
-10
0
0
0
0
0
0
0
0
0
0
0
13
-16
10
-119
-52
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
-16
51
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-53
-27
63
0
0
0
0
0
0
0
0
0
-4
-6
-14
-16
26
37
43
-44
-11
0
0
0
0
0
0
0
0
-1
0
0
4
29
-23
33
-10
10
0
0
0
0
0
0
0
0
0
0
0
0
-8
44
-10
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
19
28
-64
-27
0
0
0
0
0
0
0
0
0
0
0
-1
-18
-19
-41
-60
13
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-11
85
33
0
0
0
0
0
0
0
0
0
0
0
0
1
34
-10
4
4
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
2
1
19
7
-3
16
48
-1
0
0
0
0
0
0
0
-1
-9
3
-26
-25
58
31
27
-6
1
0
0
0
0
0
0
0
2
-7
0
-1
0
20
-32
1
40
-8
0
0
0
0
0
0
0
0
-1
0
0
0
-21
42
29
-14
3
0
0
0
0
0
0
0
0
0
0
0
-16
49
-29
39
46
32
0
0
0
0
0
0
0
0
0
0
-3
0
-8
-97
-9
29
-7
0
0
0
0
0
0
0
0
0
0
0
0
28
76
50
-27
-1
0
0
0
0
0
0
0
0
0
0
0
0
-14
5
-10
-21
-2
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
6
-1
41
4
-7
-2
4
-1
0
0
0
0
0
0
-4
-1
5
-9
26
12
14
69
23
-51
-1
0
0
0
0
0
0
0
3
-1
-3
10
-4
54
-22
19
57
11
0
0
0
0
0
0
0
11
-1
0
-8
-19
-53
43
82
76
-7
0
0
0
0
0
0
0
0
0
0
0
-10
45
66
10
8
18
0
0
0
0
0
0
0
0
0
0
0
63
-8
35
-11
50
0
0
0
0
0
0
0
0
0
0
0
0
1
-48
8
22
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
30
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
-3
-19
27
-27
29
-9
80
21
0
0
0
0
0
0
-1
-3
2
-5
87
71
3
9
9
13
62
0
0
0
0
0
0
0
4
17
46
7
1
25
-35
-58
85
45
0
0
0
0
0
0
0
2
10
68
8
12
-11
12
34
-27
27
0
0
0
0
0
0
-2
6
-34
-40
28
9
20
7
-4
79
41
0
0
0
0
0
0
-3
1
13
-49
38
-9
-15
-13
50
25
-7
0
0
0
0
0
0
0
0
-8
10
41
50
14
45
-13
-15
-88
0
0
0
0
0
0
0
0
0
0
-3
34
-5
-16
-29
3
20
0
0
0
0
0
0
0
0
0
0
7
-2
6
15
0
-6
-4
0
0
0
0
0
0
0
0
0
-3
-16
8
-13
20
32
-12
0
0
0
0
0
0
0
0
0
0
-1
7
30
43
54
-29
10
-30
0
0
0
0
0
0
0
0
-1
-3
0
-7
19
53
23
-9
20
0
0
0
0
0
0
0
-6
1
25
21
1
7
-27
15
44
-1
0
0
0
0
0
0
0
10
3
8
8
-3
-12
-15
-14
16
43
0
0
0
0
0
0
0
-1
3
0
-4
10
-2
-22
11
6
3
0
0
0
0
0
0
0
-8
-1
-4
6
35
36
-38
-33
-42
8
0
0
0
0
0
0
0
0
10
15
0
2
39
-4
38
-38
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
8
8
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
51
28
36
18
1
-34
19
-25
0
0
0
0
15
-26
-28
-11
41
86
-3
-39
-31
45
6
-20
15
0
0
0
2
-4
16
8
29
15
70
-17
-27
57
0
-49
-9
-10
0
0
0
0
-1
-7
-48
-7
58
47
-6
-25
3
9
29
34
17
0
0
0
0
0
-18
16
-39
16
21
-9
-40
19
19
63
-43
21
0
0
0
0
0
2
-12
52
-12
36
21
-7
41
-4
-17
11
33
0
0
0
0
6
-7
-8
34
-72
7
-20
45
-46
-53
20
59
-1
0
0
0
0
0
0
4
73
6
9
24
-6
-3
17
-37
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
3
10
-7
0
-37
-20
-25
-29
-81
-28
41
0
0
0
1
30
-8
14
-35
20
3
-33
-8
6
10
-35
66
33
0
0
-3
0
-9
-24
-16
24
-6
33
-8
15
0
20
17
32
-29
0
0
0
0
0
5
-18
-23
13
21
-36
-17
-26
-13
-17
10
58
0
0
0
0
0
-28
-15
1
12
52
-33
-39
38
9
-25
-18
44
0
0
0
0
-3
4
-65
6
-16
-8
-32
-11
4
-37
3
8
70
0
0
0
0
2
1
0
40
-31
17
2
-45
-7
-44
67
59
28
0
0
0
0
0
0
-7
3
-42
-7
-5
-34
-6
-43
-24
-2
-21
0
0
0
0
0
0
-11
11
26
32
-1
-4
-11
51
49
0
0
0
0
0
0
0
0
0
0
0
0
1
22
-3
39
-7
18
0
0
0
0
-2
0
2
6
-1
2
36
9
14
36
27
6
27
0
0
0
0
0
-2
0
-6
45
16
14
-33
-19
79
-14
36
-32
0
0
0
0
0
0
0
-4
7
-72
29
34
5
10
-16
1
1
0
0
0
0
0
0
-2
-7
13
-19
-36
31
-20
-15
53
-5
-2
0
0
0
0
0
0
0
0
-39
-9
10
-48
-5
-27
3
-44
0
0
0
0
0
0
0
0
-1
6
4
6
-10
-5
-52
41
-35
-7
0
0
0
0
0
0
0
-2
-6
-13
11
10
35
-41
-67
-21
-8
0
0
0
0
0
0
0
0
22
-62
10
2
-3
-1
-3
9
0
0
0
0
0
0
0
0
1
9
0
0
27
6
-34
8
-51
-18
0
0
0
-1
0
0
5
16
-39
-7
15
30
-14
-3
41
18
10
0
0
0
0
0
-1
-7
-66
20
5
68
46
19
19
31
42
6
0
0
0
0
0
-1
1
-18
7
23
39
-4
23
10
32
72
56
0
0
0
0
0
-2
1
-14
9
-22
-19
7
-45
-41
-16
5
6
0
0
0
0
0
-1
-1
-15
0
-4
-25
-3
20
-13
4
-2
-9
0
0
0
0
0
-4
24
-44
-7
-23
-31
-27
-4
-8
12
-2
1
0
0
0
0
0
0
1
5
-14
-44
-10
-4
-47
-4
-7
-40
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-2
0
1
0
0
0
0
0
0
0
0
-11
4
0
20
-52
54
30
-1
40
27
17
0
0
-1
0
0
56
30
-14
47
28
-9
59
15
-60
37
14
-2
0
0
0
19
-3
-2
91
38
15
52
5
28
-3
-35
4
27
-29
0
0
0
0
-1
-34
-34
34
4
-46
10
10
37
-34
44
22
-41
0
0
0
0
20
-10
-25
-119
-46
34
51
63
22
54
30
9
-11
0
0
0
0
1
0
-22
10
-32
7
-30
54
25
-7
69
-5
5
0
0
0
0
0
0
-5
47
22
-67
-35
8
-36
-62
-3
-6
30
0
0
0
0
0
0
-6
-5
-3
12
6
23
-2
41
-6
-23
-1
0
0
0
0
0
0
0
0
0
0
3
-1
2
0
-3
8
0
0
0
0
0
0
0
0
0
0
20
8
7
9
-14
65
26
-7
0
0
0
0
0
-6
-29
-1
38
13
-55
36
24
-23
34
34
-26
0
0
0
0
0
3
11
-20
17
3
19
16
-2
32
-46
-57
-4
0
0
0
0
0
0
8
29
-7
-15
55
-19
-4
-33
107
-69
-39
0
0
0
0
0
-7
-23
10
10
25
-3
54
37
28
38
38
24
0
0
0
0
0
0
-4
25
-66
3
-18
53
42
2
4
24
-38
0
0
0
0
0
0
7
-14
-12
-15
-1
-18
24
-2
59
16
10
0
0
0
0
0
0
0
-2
-13
-36
-38
-43
-3
26
9
21
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
6
2
-1
-1
0
0
0
0
0
0
0
0
0
17
-2
0
-1
-4
-11
2
3
0
0
0
0
0
-4
-1
-36
-5
38
57
22
-22
-14
79
-24
-3
0
0
0
0
0
0
-4
-7
-14
-15
45
-86
-18
-23
21
33
24
0
0
0
0
0
0
-3
-1
1
-7
51
25
34
-12
18
-32
-6
0
0
0
0
0
0
0
-10
-9
-12
39
-41
-9
-35
17
-8
-20
0
0
0
0
0
0
-3
-2
34
-15
-9
-2
72
-50
32
1
-23
0
0
0
0
0
0
3
-48
46
24
-18
-35
-28
26
-61
-50
2
0
0
0
0
0
0
8
0
3
-11
-4
-1
16
-23
-3
11
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
1
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
8
-48
15
17
10
0
0
0
0
0
0
0
0
0
0
0
3
-2
27
-65
94
32
0
0
0
0
0
0
0
0
0
0
0
-3
-9
34
-36
-23
35
0
0
0
0
0
0
0
0
0
0
0
0
2
7
-6
49
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-38
1
-1
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
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
-8
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
9
6
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
13
-20
-13
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
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
1
9
14
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
8
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
36
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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
1
-9
1
38
27
48
4
0
0
0
0
-1
-3
-18
0
0
0
-1
45
-42
-3
-2
12
-33
0
0
0
0
0
-2
6
-16
16
17
73
-17
23
27
-48
-113
32
0
0
0
0
11
0
15
86
-2
5
-1
-51
-23
-14
3
9
0
0
0
0
0
0
0
1
-1
14
21
33
-2
15
44
17
-37
-6
0
0
0
0
0
0
0
4
-18
4
5
-48
-15
-18
84
-37
0
0
0
0
0
0
0
0
19
4
30
-33
20
-15
0
-26
4
4
0
0
0
0
0
0
1
57
7
-15
0
1
2
2
3
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
-6
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
1
-7
1
3
-4
-8
0
1
0
-6
0
0
0
0
0
0
0
0
0
-3
0
3
2
-1
0
-3
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
-7
-6
0
0
0
0
0
0
0
0
4
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-23
55
20
-5
18
10
31
0
0
0
0
0
-1
7
-26
0
0
56
43
7
64
35
7
27
0
0
0
0
0
-1
-4
115
171
27
6
53
51
19
33
19
32
0
0
0
4
0
-6
-4
35
41
93
46
-9
41
39
39
54
63
0
0
0
0
0
-2
0
-28
8
30
38
-31
-26
79
21
8
27
0
0
0
0
1
0
-3
6
9
-78
-51
-32
24
30
5
-3
37
0
0
0
0
0
1
0
-1
13
-21
-27
-28
-2
-11
9
-10
-6
0
0
0
0
0
0
0
-8
-5
-6
-13
-37
46
33
-47
-38
-4
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
-9
1
0
0
0
0
0
-2
12
24
0
0
-2
-13
17
14
-20
-29
-28
0
0
0
0
0
0
9
-65
3
27
40
56
13
1
-13
-34
-2
0
0
0
0
0
0
-11
-14
-11
-32
10
-9
12
-29
-3
-3
7
0
0
0
0
3
-2
37
-36
-26
-6
-3
13
-21
-16
11
-23
-23
0
0
0
0
0
6
1
-10
-33
-2
-6
8
-13
-15
-13
-35
-42
0
0
0
0
0
0
-35
44
-34
-38
13
-26
7
-12
-11
-28
-59
0
0
0
0
3
1
-41
20
-38
-76
-51
-1
19
4
16
-55
-7
0
0
0
0
0
-8
7
-23
-13
13
-34
-13
-26
-30
4
0
-144
0
0
0
0
0
0
0
0
0
64
-8
17
-79
19
19
23
0
0
0
0
0
0
0
0
0
0
0
33
60
4
32
8
4
40
0
0
0
0
0
0
0
0
-21
33
4
49
3
-13
-12
-17
-6
0
0
0
0
0
0
0
0
-8
-49
30
13
48
7
22
-3
11
0
0
0
0
0
0
0
0
3
37
-17
-5
19
-20
3
8
20
0
0
0
0
0
0
0
0
-18
31
5
-13
6
-15
-3
7
17
0
0
0
0
0
0
0
0
38
6
-24
-54
31
27
5
5
28
0
0
0
0
0
0
0
0
-1
-17
-19
1
16
-2
0
13
-2
0
0
0
0
0
0
0
6
-37
-36
56
-43
26
12
21
5
-8
0
0
0
0
0
0
0
0
14
10
-5
2
42
-17
-23
-5
17
0
0
0
0
0
0
0
0
0
39
73
80
-2
24
26
18
21
0
0
0
0
0
0
0
1
0
33
0
-3
21
-5
19
0
-5
0
0
0
0
0
0
0
0
-5
48
71
-8
1
18
9
-6
15
0
0
0
0
0
0
0
1
6
31
51
20
82
18
29
11
38
0
0
0
0
0
0
-7
-6
8
41
-54
13
31
-24
1
2
22
0
0
0
0
0
0
-4
1
-2
-49
18
-18
-11
18
11
-6
30
0
0
0
0
0
0
0
2
11
25
67
43
33
-4
-10
-11
-31
0
0
0
0
0
0
0
0
17
-15
10
6
-37
-2
-16
-31
-28
0
0
0
0
0
0
0
0
0
0
0
0
-11
-35
10
-2
0
0
0
0
0
4
1
-1
-2
0
0
-22
31
9
14
2
29
-9
0
0
0
0
0
0
10
0
96
0
48
37
19
-3
32
16
82
0
0
0
0
0
3
19
130
53
27
-9
67
41
7
34
6
-24
0
0
0
0
0
0
-2
1
37
-44
21
6
44
40
13
8
31
0
0
0
0
0
-1
-1
1
28
40
33
29
-11
-2
43
37
12
0
0
0
0
0
0
10
2
32
26
13
68
9
-22
1
-2
-8
0
0
0
0
0
0
-9
33
-58
15
12
10
71
51
-2
34
29
0
0
0
0
0
0
0
-3
0
0
9
-8
-17
2
-53
11
-17
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-1
15
0
0
0
0
0
0
0
0
-1
0
0
63
74
7
52
-13
-36
-9
0
0
0
0
0
2
0
0
0
0
76
8
60
-12
27
46
63
0
0
0
0
0
0
4
42
-15
40
57
-13
74
-6
-16
85
23
0
0
0
0
0
0
8
6
22
-16
83
11
2
25
56
34
-17
0
0
0
0
0
0
0
-50
-2
16
-28
5
10
41
53
14
74
0
0
0
0
0
0
0
-6
13
-9
75
38
8
-12
44
-10
25
0
0
0
0
0
0
0
0
4
2
1
5
-49
-45
-46
-29
15
0
0
0
0
0
0
0
0
0
0
10
19
16
9
-17
39
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
2
-33
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-41
-24
-10
0
0
0
0
0
0
0
0
0
1
0
2
20
-44
-41
-15
23
0
0
0
0
0
0
0
0
0
0
13
8
6
51
-43
7
-16
0
0
0
0
0
0
0
3
0
-6
2
0
15
53
19
86
9
0
0
0
0
0
0
0
0
4
7
0
0
4
-14
16
77
35
0
0
0
0
0
0
0
0
0
1
0
0
2
-37
18
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-11
-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
3
0
16
34
-40
56
9
21
40
43
0
0
0
0
0
0
4
18
47
42
17
34
26
-13
8
-73
-29
0
0
0
0
0
0
0
-8
-7
49
57
10
-46
12
-4
-37
11
0
0
0
0
0
0
0
-2
-13
-50
-20
84
27
17
86
37
19
0
0
0
0
0
0
0
0
-12
-8
25
-73
15
-16
37
-7
39
0
0
0
0
0
0
0
0
3
4
0
2
34
44
6
-34
-58
0
0
0
0
0
0
0
0
0
0
1
-27
-13
17
20
27
8
0
0
0
0
0
0
0
0
0
0
-6
-1
8
6
64
-21
36
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
-12
-21
21
0
0
0
0
0
0
0
0
0
1
-1
-19
-13
-102
4
65
15
0
0
0
0
0
0
0
0
-2
-2
5
52
-23
-4
62
-52
-6
0
0
0
0
0
0
0
0
0
2
12
-1
46
14
53
98
71
0
0
0
0
0
0
0
0
0
0
-9
-20
-7
-21
-30
-15
29
0
0
0
0
0
0
0
0
0
0
0
-15
12
15
47
48
102
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-10
-7
89
-16
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-18
33
37
51
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-29
-5
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
26
1
0
0
0
0
0
0
0
0
0
14
-4
2
-27
-36
-48
17
24
0
0
0
0
0
0
0
2
1
-12
43
6
24
-68
18
-36
21
0
0
0
0
0
0
0
0
0
1
8
21
16
-22
44
30
142
0
0
0
0
0
0
0
0
-1
-1
-3
11
-30
36
44
42
30
0
0
0
0
0
0
0
0
0
0
0
-2
-12
-63
13
63
20
0
0
0
0
0
0
0
0
0
0
-1
0
12
-17
-32
-19
-59
0
0
0
0
0
0
0
0
0
0
0
0
-15
7
10
-27
-51
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
-21
16
-16
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
3
2
-3
21
61
-27
-25
10
0
0
0
0
0
0
0
0
1
26
-17
8
39
-5
33
31
19
0
0
0
0
0
0
0
0
-1
-1
0
18
8
40
97
-13
-38
0
0
0
0
0
0
0
0
0
-1
-7
-24
20
-60
42
36
3
0
0
0
0
0
0
0
0
0
0
0
10
55
-42
-41
-10
-13
0
0
0
0
0
0
0
0
0
0
0
-1
-21
1
-66
20
2
0
0
0
0
0
0
0
0
0
0
0
-7
7
-70
-8
15
25
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-28
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
3
0
0
0
0
0
0
0
8
0
53
51
13
22
-6
4
22
-2
0
0
0
0
0
0
0
0
1
-16
25
15
-35
52
48
-61
42
0
0
0
0
0
0
0
-2
2
44
-19
-110
59
51
51
10
11
0
0
0
0
0
0
0
1
-1
-5
-54
35
13
1
-1
37
-4
0
0
0
0
0
0
0
15
9
-5
18
45
0
-23
-53
22
18
0
0
0
0
0
0
0
1
2
2
27
-53
21
67
-5
17
14
0
0
0
0
0
0
0
0
-2
1
-11
-54
10
45
23
35
3
0
0
0
0
0
0
0
0
-2
0
0
29
-41
-40
-5
-38
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-32
-21
-43
0
0
0
0
0
0
0
0
0
6
0
-11
-4
50
54
-16
37
0
0
0
0
0
0
0
0
0
1
0
-8
-9
65
-3
-11
24
0
0
0
0
0
0
0
0
0
1
6
-12
44
17
23
7
15
0
0
0
0
0
0
0
0
0
-1
-2
19
22
10
55
29
52
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-3
-19
41
34
0
0
0
0
0
0
0
3
0
6
2
8
-1
40
6
28
28
0
0
0
0
0
0
0
0
0
0
0
-3
6
-35
16
26
24
0
0
0
0
0
0
0
0
0
0
-1
0
4
-5
-25
13
64
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-35
-12
18
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
41
27
-14
-26
37
21
-16
42
0
0
0
-6
-2
-6
-75
-28
28
110
-11
-8
40
2
23
-7
42
0
0
0
0
2
26
0
-57
-12
18
61
66
44
-9
17
40
-41
0
0
0
1
3
0
-27
-78
-3
-39
-72
16
-55
30
22
37
63
0
0
0
0
0
3
-3
70
-25
-53
0
0
48
-21
27
-2
2
0
0
0
0
0
0
4
3
65
-3
2
11
-30
23
-74
-41
-35
0
0
0
0
0
2
1
0
40
-5
-1
-33
-46
27
-53
-13
-19
0
0
0
0
0
0
0
8
-2
-10
-12
-10
-19
40
43
3
3
0
0
0
0
0
0
0
0
4
3
0
0
0
0
5
0
-1
0
0
0
-1
4
-14
-61
-40
0
8
-16
25
74
6
10
10
0
0
0
0
-4
14
27
57
-25
-56
27
19
-16
-5
27
38
108
0
0
0
0
4
-2
11
-67
-49
-1
-56
8
42
-23
0
44
74
0
0
0
0
0
0
-18
-31
-2
-12
18
12
-10
-2
17
30
4
0
0
0
0
0
2
-16
-13
6
1
-34
-6
-16
-20
-17
14
4
0
0
0
0
0
0
0
-44
48
-48
14
-49
-15
20
-7
4
-80
0
0
0
0
0
0
-1
20
17
-65
15
-29
-13
-51
42
25
7
0
0
0
0
0
-2
-1
12
-16
-12
-47
10
-70
21
77
-56
-8
0
0
0
0
0
0
0
4
13
-20
-56
-44
1
-1
-1
7
0
0
0
0
0
-1
0
-10
-12
-45
0
3
-36
74
-10
-7
39
-3
0
0
0
0
0
6
-18
2
-14
-13
-7
-32
74
-51
-2
29
0
0
0
0
0
-1
0
15
7
14
51
76
-49
-14
1
-11
-48
5
0
0
0
0
0
0
4
23
69
-16
54
5
-35
-11
-2
-3
0
0
0
0
0
0
0
-5
-5
-15
22
4
0
8
33
3
-3
1
0
0
0
0
-2
0
38
43
2
35
24
9
7
15
-2
2
0
0
0
0
0
0
2
-13
30
-36
-104
12
-34
53
-30
1
-10
1
0
0
0
0
0
1
4
-20
53
-64
-20
2
-22
-7
0
0
0
0
0
0
0
0
0
2
-21
-59
0
32
-1
-2
13
0
0
0
0
0
0
0
0
0
17
-17
-28
0
-8
88
65
6
41
-2
0
0
0
0
0
0
0
-11
28
2
28
3
49
-17
54
31
-3
0
0
0
0
0
0
0
20
40
-12
-33
-16
62
36
27
106
12
0
0
0
0
0
0
0
3
-6
34
58
7
-29
8
-29
50
11
0
0
0
0
0
0
2
-9
-8
3
-83
30
-47
-40
-13
-24
-25
0
0
0
0
0
0
1
-19
6
3
-37
-32
20
-26
25
-33
-4
0
0
0
0
0
0
0
-2
27
-87
7
90
-14
0
-5
21
0
0
0
0
0
0
0
0
0
-2
-14
52
4
-28
-37
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-4
-2
17
0
12
21
74
-10
-19
18
3
-4
0
0
0
0
0
17
25
18
-42
23
23
47
7
-41
-47
70
1
0
0
0
8
10
11
-41
3
12
36
5
-27
-2
32
-8
9
-30
0
0
0
0
0
0
46
43
14
26
10
6
-18
-8
60
23
-42
0
0
0
0
0
-3
6
30
14
-40
40
2
59
38
57
-19
-22
0
0
0
0
0
-3
4
38
2
-13
28
-30
-4
16
10
28
21
0
0
0
0
0
0
1
11
0
17
2
-30
7
-19
12
-13
-40
0
0
0
0
0
0
0
-5
-1
33
2
-30
-18
7
-15
3
8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
11
0
-7
1
-8
1
-58
-53
-5
34
0
0
0
0
0
0
10
24
-17
8
23
48
24
36
58
2
112
0
0
0
0
0
0
2
-4
10
29
25
-39
20
8
28
37
9
0
0
0
0
0
0
0
-8
-46
-8
1
40
-41
26
-6
-3
24
0
0
0
0
0
0
0
24
21
-18
48
44
-14
-28
-39
63
69
0
0
0
0
0
0
1
-1
2
-49
-109
11
-2
-21
-23
-66
96
0
0
0
0
0
0
0
0
-33
15
18
-26
-21
40
-1
-59
-48
0
0
0
0
0
0
0
0
107
-14
-8
-19
-12
-15
-43
-41
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
-8
0
0
0
0
0
0
0
0
0
15
14
0
-8
4
29
-45
12
0
0
0
0
0
0
1
0
3
8
10
-46
7
13
40
15
29
0
0
0
0
0
0
0
-6
-3
-3
-27
0
-1
32
27
-53
20
0
0
0
0
0
0
0
1
1
-19
9
-1
-6
58
50
34
63
0
0
0
0
0
0
0
0
3
0
48
27
0
-7
-51
35
-17
0
0
0
0
0
0
0
-1
0
-6
1
-5
2
0
18
47
52
0
0
0
0
0
0
0
-1
3
-10
-3
7
-9
-11
28
6
-1
0
0
0
0
0
0
0
0
-1
0
0
7
-4
12
-12
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
9
7
0
0
1
0
0
0
0
0
0
0
0
0
0
2
-11
-33
6
1
9
6
2
0
0
0
0
0
0
0
0
0
-2
-29
1
-8
4
-4
0
1
0
0
0
0
0
0
0
0
-3
8
16
-57
-7
21
0
0
0
0
0
0
0
0
0
0
0
-1
15
-21
-18
-12
1
0
0
0
0
0
0
0
0
0
0
0
2
15
6
1
-1
-17
0
0
0
0
0
0
0
0
0
0
0
0
4
16
8
-3
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
24
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
8
4
-11
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-19
19
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
42
2
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
1
10
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
6
-11
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-8
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
-6
-3
8
8
0
0
0
0
0
0
0
0
0
0
2
2
10
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-12
-25
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-6
-11
-7
-13
0
0
0
0
0
0
0
0
0
0
0
8
6
-9
3
-9
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-16
1
-24
-8
37
0
10
0
0
0
0
0
0
0
0
-2
9
25
-23
-40
20
7
-23
3
-1
-4
-3
0
0
0
0
-1
1
-15
-19
17
-3
-9
-62
74
16
2
-17
0
0
0
0
0
0
-2
29
8
-12
-27
14
33
6
-18
-8
-1
3
0
0
0
0
-9
0
17
1
-6
13
13
-15
-8
-4
1
-1
0
0
0
0
0
0
0
7
-9
-2
-30
26
-7
-7
-1
1
0
0
0
0
0
0
0
1
2
2
3
2
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-83
23
7
-29
0
-11
-4
-1
0
1
0
0
0
0
-3
21
5
-35
35
44
68
73
-17
-20
5
1
-1
0
0
0
0
2
11
24
34
21
30
32
3
19
9
1
-4
0
0
0
0
0
2
3
49
12
22
8
-38
-5
-5
21
-11
4
3
0
0
0
0
-1
0
28
41
-29
-8
-4
30
-3
-8
0
-1
0
0
0
0
0
8
13
-55
28
3
-30
-33
-41
21
11
1
-1
0
0
0
0
0
0
18
18
-104
-39
22
-38
-53
-9
-1
11
-1
0
0
0
0
0
0
2
-7
0
-48
18
15
0
9
-19
0
0
0
0
0
0
0
0
0
0
-3
-29
10
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
8
-13
9
0
4
1
-1
0
0
0
0
0
0
0
0
-7
7
16
22
-16
-9
7
-4
-3
0
0
0
0
0
0
0
0
1
10
-10
24
0
-29
5
-7
0
0
0
0
0
0
0
0
0
0
3
-9
-10
21
-10
-1
-1
0
1
0
0
0
0
0
0
0
0
1
20
9
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-20
14
0
3
1
4
-2
0
0
0
0
0
0
0
0
0
0
8
8
2
-2
-19
0
0
0
0
0
0
0
0
0
0
0
0
9
9
4
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
-3
-20
15
-4
-18
0
21
-1
1
0
0
0
0
0
0
0
0
-18
2
29
-23
-11
41
-18
13
-16
8
1
0
0
0
0
0
3
7
-2
-24
-19
-7
11
32
9
7
7
0
0
0
0
0
0
3
14
-19
16
37
-3
-23
-5
-10
-18
3
0
0
0
0
0
0
0
0
5
-10
11
4
-2
-3
-8
-4
1
0
0
0
0
0
0
0
0
-12
25
-7
-44
-10
-7
7
0
0
0
0
0
0
0
0
0
-3
-6
34
-9
25
9
2
16
13
0
0
0
0
0
0
0
0
1
19
2
-5
25
4
-47
-23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
1
-6
4
21
-74
-4
0
-2
1
2
0
0
0
0
0
-1
11
12
-13
-14
22
-33
20
26
26
-3
12
-1
0
0
0
0
-1
0
11
4
26
-19
-23
-30
0
33
5
0
0
0
0
0
0
0
-30
-17
-20
6
-34
29
37
17
4
13
2
0
0
0
0
0
0
0
15
-10
26
-9
42
22
-14
-18
1
-1
0
0
0
0
0
0
-1
-4
11
-6
3
-27
16
-7
0
3
0
0
0
0
0
0
0
0
4
0
11
12
-8
-15
-1
-1
0
0
0
0
0
0
0
0
0
0
10
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
1
9
10
46
13
0
-9
0
0
0
0
0
0
0
1
2
8
-15
-35
-14
-9
14
7
3
-2
0
0
0
0
0
0
-1
2
-6
3
1
-16
7
26
0
-11
2
1
0
0
0
0
0
0
0
-2
-10
10
-42
9
-16
-8
-8
-1
0
0
0
0
0
0
0
0
-2
-6
-1
-5
9
-4
-2
-1
-3
0
0
0
0
0
0
0
0
-1
-7
-3
-6
-1
12
-2
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
18
6
-10
0
0
0
0
0
0
0
0
0
0
0
9
52
1
-12
24
-4
0
-1
0
0
0
0
0
0
0
0
-2
-40
26
-17
52
25
-6
0
0
0
0
0
0
0
0
0
0
0
10
-61
21
11
17
8
0
0
0
0
0
0
0
0
0
0
0
23
-24
-14
8
10
0
0
0
0
0
0
0
0
0
0
0
0
24
-19
19
-14
-4
0
0
0
0
0
0
0
0
0
0
0
0
-12
3
0
-3
-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
-11
2
0
0
0
0
0
0
0
0
0
0
0
0
24
24
10
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
-6
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
-8
22
1
0
0
0
0
0
0
0
0
0
0
0
1
18
0
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
28
25
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-1
-13
-13
1
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
-1
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
-1
9
12
-9
1
1
0
0
0
0
0
0
0
0
0
0
0
2
9
-2
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-21
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
2
0
0
0
0
0
0
0
0
2
0
-3
17
28
0
0
0
19
1
0
0
0
0
0
0
0
0
3
4
6
-5
29
19
11
0
0
0
0
0
0
0
0
0
0
0
4
7
-2
-10
-10
8
-8
2
0
0
0
0
0
0
0
0
0
-4
54
32
25
0
8
-7
0
0
0
0
0
0
0
0
0
0
0
13
-2
18
-1
-22
7
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-13
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-2
-1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
10
6
-1
0
0
0
0
0
0
0
0
0
2
3
-39
11
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
27
-26
-10
-2
-1
0
0
0
0
0
0
0
0
0
0
-1
-2
13
4
-4
1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
7
-15
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
33
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
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
-6
8
19
22
0
0
0
0
0
0
0
0
0
0
0
29
-70
10
-4
-35
5
5
0
0
0
0
0
0
0
0
0
0
19
-16
3
17
2
1
9
-1
0
0
0
0
0
0
0
0
0
3
15
2
-7
26
10
2
1
0
0
0
0
0
0
0
0
0
1
-27
23
25
-5
5
-22
-13
6
-1
0
0
0
0
0
0
0
7
-6
9
-27
-3
2
-12
3
1
0
0
0
0
0
0
0
0
2
-47
3
-16
26
-25
7
-2
0
0
0
0
0
0
0
0
0
0
8
-3
9
4
28
0
1
-1
0
0
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
24
-11
41
1
0
0
0
0
0
0
0
0
0
0
16
48
-47
-14
-19
-63
-19
0
0
16
-7
-11
3
0
0
0
0
-11
42
-34
18
25
-18
11
-3
19
20
-4
-2
0
0
0
0
0
21
-29
-3
28
-9
71
-36
-5
-2
-17
2
1
0
0
0
0
0
1
2
9
-33
-41
61
14
-28
-7
1
6
0
0
0
0
0
0
2
-7
-11
-7
38
33
10
-6
-2
1
0
0
0
0
0
0
0
-2
1
23
-8
-16
-15
33
-1
-9
0
0
0
0
0
0
0
0
0
0
2
-4
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-27
5
-4
-73
-43
-13
0
0
0
0
0
0
0
0
0
0
1
-10
-18
1
53
31
13
25
26
29
11
1
-2
0
0
0
0
-1
37
0
-41
8
51
-4
-30
8
6
6
-1
0
0
0
0
0
-8
27
-55
87
66
-22
4
28
-19
21
5
1
0
0
0
0
0
0
-24
-31
43
45
17
-73
15
50
11
-21
3
0
0
0
0
0
-1
15
-30
13
68
-36
17
19
-30
13
2
0
0
0
0
0
0
0
-73
-22
25
-8
-4
12
-10
-16
10
-3
0
0
0
0
0
0
0
8
4
2
-63
6
-43
13
-14
-6
0
0
0
0
0
0
0
0
0
-42
-38
13
-3
19
-1
-3
0
0
0
0
0
0
0
0
-47
-18
-23
43
19
2
36
0
0
0
0
0
0
0
0
0
0
17
36
52
41
20
-9
-13
12
-8
0
0
0
0
0
0
0
0
-11
15
1
14
-8
22
-11
13
-1
0
0
0
0
0
0
0
0
-47
6
32
36
-8
-17
-3
-7
3
0
0
0
0
0
0
0
0
9
22
-24
3
0
8
-6
1
1
2
0
0
0
0
0
0
0
5
2
-22
-5
-8
-26
-1
0
0
2
0
0
0
0
0
0
0
-5
-11
0
28
9
0
0
0
0
0
0
0
0
0
0
0
0
-29
-32
-13
-8
3
0
1
0
0
0
0
0
0
0
0
0
0
-40
-3
-4
3
-7
-2
0
0
0
0
0
0
0
0
0
0
0
2
-2
-24
-18
-4
23
2
25
0
-1
0
0
0
0
0
0
0
-26
21
-24
22
-53
6
0
-14
11
1
0
-1
0
0
0
0
0
-20
54
-13
11
-48
2
54
-17
-19
1
0
0
0
0
0
0
0
-39
1
16
-11
19
45
2
-6
21
2
0
0
0
0
0
0
0
33
24
-1
24
25
-20
5
3
0
0
-1
0
0
0
0
0
0
5
-9
0
7
-37
58
-20
-16
7
1
0
0
0
0
0
0
0
30
11
21
-41
-4
5
6
4
0
0
0
0
0
0
0
0
0
12
-22
16
-20
-8
-12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-10
12
-24
-40
57
0
0
-1
0
-1
0
0
0
0
0
-2
-3
5
-3
1
-23
28
0
11
0
-16
-10
0
0
0
0
0
0
17
-27
-24
-26
-1
64
-13
13
-11
40
-4
0
0
0
0
0
2
1
-29
-7
51
45
2
-37
12
-10
-2
-1
-1
0
0
0
0
0
7
-9
2
41
20
16
-8
-3
4
-2
0
0
0
0
0
0
0
0
-11
13
-9
5
-16
-15
16
7
-1
0
0
0
0
0
0
0
-6
28
-39
-7
-14
-4
9
-6
1
0
0
0
0
0
0
0
0
1
0
8
2
-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
3
1
-8
1
-2
-7
58
8
0
0
1
0
0
0
0
0
0
-4
-8
6
4
-25
0
-22
0
-18
0
8
-1
0
0
0
0
0
0
10
0
2
-26
-12
-6
-1
-5
-1
-3
-1
0
0
0
0
0
-1
-21
1
-3
9
-6
19
3
0
0
-4
0
7
0
0
0
0
-1
1
3
-9
-22
23
14
0
4
2
1
0
0
0
0
0
0
0
-4
-2
16
28
-2
-28
10
-6
0
0
0
0
0
0
0
0
0
-2
-8
-9
2
-12
19
-2
0
0
0
0
0
0
0
0
0
0
10
0
18
3
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
10
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
2
0
0
-1
2
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
-1
-1
2
-8
-1
0
0
0
0
0
0
0
-1
0
0
1
1
0
0
2
4
0
0
0
0
0
0
0
-1
2
0
0
-3
-3
0
0
-3
-1
0
0
0
0
0
0
0
0
7
3
12
0
7
0
1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
2
0
-2
0
0
0
0
0
0
0
0
0
0
1
52
2
1
-30
2
4
1
-2
0
0
0
0
0
0
0
0
4
8
-24
-36
-1
2
-1
0
0
0
0
0
0
0
0
0
0
2
21
-44
-25
14
0
0
0
0
0
0
0
0
0
0
0
0
7
-31
-6
14
8
-1
0
0
0
0
0
0
0
0
0
0
0
-12
-29
-4
-25
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
-33
45
-14
4
0
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
-2
-1
-1
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
-10
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
1
2
1
0
1
0
0
0
0
0
0
0
0
0
0
-17
4
-17
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
-15
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-29
-4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
1
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-6
10
-6
-7
0
1
0
1
0
0
0
0
0
0
0
0
2
8
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
11
15
16
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
11
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-2
0
-1
0
4
0
0
0
0
0
0
0
0
0
-3
4
27
-4
-21
6
3
7
-4
1
0
0
0
0
0
0
0
-1
0
-11
4
-7
-9
-2
0
-1
0
0
0
0
0
0
0
0
0
-6
7
12
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
2
13
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
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
0
-1
-10
1
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
-8
-2
2
27
0
21
32
12
0
0
0
0
0
0
13
4
-14
-7
-1
-4
0
-2
135
-4
-28
9
0
0
0
0
0
21
-1
13
-3
-10
-6
31
28
62
-38
-7
-17
0
0
0
0
1
9
16
8
10
0
-11
1
45
3
-1
3
1
1
0
0
0
0
-11
-27
-7
0
-4
-1
-18
2
-7
-27
0
0
0
0
0
0
0
0
-3
18
-2
0
-3
-3
9
-3
6
0
0
0
0
0
0
0
1
18
7
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
-35
-2
57
-59
83
-4
0
-2
-5
0
-3
0
0
0
0
0
6
-15
-30
14
-18
-28
-44
-68
3
14
5
13
2
0
0
0
0
-39
-61
-12
24
29
33
-3
-112
36
56
46
16
0
0
0
0
0
-33
-14
-4
47
13
11
-24
-2
-26
44
-3
3
0
0
0
0
0
-13
8
24
22
20
12
0
25
4
14
10
0
0
0
0
0
0
-41
3
-55
35
45
-20
-6
-1
12
20
8
-1
0
0
0
0
0
12
14
-7
9
-8
-21
30
9
-2
-8
0
1
0
0
0
0
0
0
-6
8
30
25
-30
27
-15
-20
-2
0
0
0
0
0
0
0
0
0
0
-2
-48
-14
-23
22
5
-2
0
0
0
0
0
0
0
0
0
1
-1
2
-2
33
0
-10
29
10
0
-1
0
0
0
0
1
-10
2
-1
-4
-6
9
6
20
-1
-7
0
-2
3
0
0
0
0
0
3
0
2
1
-19
-34
46
20
29
-5
0
0
-1
0
0
0
0
9
-11
-6
8
-3
-16
22
-15
34
-6
-3
1
0
0
0
0
0
0
1
-1
0
0
-13
-12
-7
-4
8
2
-2
0
0
0
0
-1
0
0
-2
0
8
7
-22
-27
2
-14
-1
1
0
0
0
0
0
0
1
0
0
-2
11
-43
-37
10
3
2
0
0
0
0
0
0
0
-3
3
1
4
18
-31
-30
12
1
6
0
0
0
0
0
0
-1
0
0
0
65
-6
-50
14
4
-1
0
0
0
0
0
0
0
1
-4
-2
19
-1
0
-25
35
-26
0
0
0
0
0
0
0
0
20
9
-13
-28
31
-36
-28
-22
51
19
1
0
0
0
0
0
0
24
14
-5
11
-13
84
59
-28
-20
-1
2
0
0
0
0
0
0
-15
-9
8
-9
7
20
-29
-19
-5
-8
0
0
0
0
0
0
0
1
3
-6
-4
10
-15
20
0
7
-3
0
0
0
0
0
0
0
0
2
-9
3
4
-28
-18
23
-6
2
1
0
0
0
0
0
0
0
1
12
1
0
-9
22
0
8
-4
0
0
0
0
0
0
0
0
-2
0
6
25
85
36
-23
-7
-1
2
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-1
9
11
12
24
2
0
25
0
17
34
-19
0
0
0
0
0
1
-36
24
-1
0
14
-65
29
8
44
5
9
0
2
0
0
0
6
-36
35
-6
-4
4
10
46
51
-54
-15
9
-7
0
0
0
0
7
10
-8
-5
11
-33
4
0
4
-8
-11
3
0
0
0
0
0
-1
15
5
15
10
-12
-11
-23
17
14
-3
0
0
0
0
0
0
1
-7
-30
-3
-24
0
-32
-10
4
5
-7
0
0
0
0
0
0
0
1
3
0
0
2
9
-1
-9
7
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
1
-7
0
2
4
0
0
0
0
0
0
1
11
8
6
10
-18
12
15
-16
35
-3
1
0
0
0
0
0
1
7
4
0
-6
0
-2
15
26
21
2
-1
0
0
0
0
0
2
-2
7
-1
-27
8
20
-19
10
4
3
1
0
0
0
0
0
-6
3
2
6
1
1
21
-2
-6
-7
-2
0
0
0
0
0
0
0
0
0
-1
0
-1
7
7
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-38
-12
-33
2
-12
0
0
0
0
0
0
0
0
0
0
0
4
13
-13
-30
-4
-15
-1
0
0
0
0
0
0
0
0
0
0
0
-9
-10
5
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
60
-25
15
-6
2
1
0
0
0
0
0
0
0
0
0
0
0
38
39
-8
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
44
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
-27
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
47
-29
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
9
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
23
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-6
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-13
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
-2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
7
4
1
0
-2
0
0
0
-2
0
0
0
0
0
0
0
1
-4
-4
-1
-3
-2
0
0
0
-2
8
0
-1
0
0
0
0
0
-1
0
-2
0
1
15
-29
60
-9
0
0
0
0
0
0
0
-2
0
0
1
8
8
12
21
-2
4
2
0
0
0
0
0
0
0
0
-2
1
4
3
-19
11
15
-6
-1
0
0
0
0
0
0
0
-1
0
0
0
10
-2
-28
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
-24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-39
0
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
-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
-4
20
-6
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-29
-2
1
0
0
0
0
0
0
0
0
0
0
0
1
-2
22
-30
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
22
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
12
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
-4
0
2
0
0
0
0
0
0
-5
36
35
-47
1
-29
1
0
0
0
0
0
0
0
0
0
0
20
-71
37
4
21
1
6
0
0
0
0
0
0
0
0
0
0
-13
-25
18
-6
28
-5
-8
5
0
1
0
0
0
0
0
0
0
-8
-12
71
5
-6
-21
19
4
0
0
0
0
0
0
0
0
0
-19
11
-16
0
-5
-5
13
-6
-1
0
0
0
0
0
0
0
0
-16
20
60
-22
13
8
8
4
0
-2
0
0
0
0
0
0
0
-11
12
-45
-29
10
2
6
-1
0
0
0
0
0
0
0
0
0
1
-7
-14
-8
8
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-53
-11
1
2
0
0
0
0
0
0
0
0
0
0
0
1
76
-11
40
25
25
8
0
0
0
3
-1
4
0
0
0
0
16
-1
-58
15
6
-20
-12
0
0
-32
0
-20
0
0
0
0
0
-9
-34
-13
17
-20
-5
-12
48
29
8
14
10
0
0
0
0
0
-15
-41
58
4
-5
13
-3
-2
18
7
-4
-2
0
0
0
0
0
-4
-13
44
-5
18
7
25
-1
-6
-23
-6
0
0
0
0
0
0
0
-19
-17
-4
0
21
-18
15
1
-6
0
0
0
0
0
0
0
0
-9
26
0
24
-8
-1
1
-1
-2
0
0
0
0
0
0
0
0
0
11
-17
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
4
-22
-33
-3
-15
0
0
-14
-4
0
0
0
0
0
0
-7
11
-37
-46
-28
10
-34
31
15
1
8
10
0
0
0
0
0
-13
41
-38
-57
46
22
-20
-21
-13
36
7
2
0
0
0
0
0
-12
-16
-16
32
22
-9
23
3
-15
-7
-16
1
0
0
0
0
0
-10
-20
9
24
-16
-3
-19
43
24
-21
0
1
0
0
0
0
0
6
-1
-37
-23
37
-4
29
-5
-20
-11
0
0
0
0
0
0
0
-2
29
-1
96
-39
-13
38
9
17
0
2
0
0
0
0
0
0
0
8
-58
10
-14
-25
-47
10
1
-9
-1
0
0
0
0
0
0
0
0
35
-1
45
2
10
8
0
-3
0
0
0
0
0
0
0
16
-25
-20
39
-9
13
13
0
0
0
0
0
0
0
0
0
0
-67
-30
22
5
-25
11
-13
2
0
0
0
0
0
0
0
0
0
11
-21
-25
42
5
-2
-9
1
0
0
0
0
0
0
0
0
0
-4
23
-20
-28
14
17
-4
0
0
0
2
0
0
0
0
0
0
9
6
-16
25
5
-1
4
3
6
0
0
0
0
0
0
0
0
-8
29
20
-23
7
-12
-4
0
-2
-1
0
0
0
0
0
0
0
-33
-57
-14
24
-4
-6
-6
2
0
1
0
0
0
0
0
0
0
-11
-46
3
55
1
-13
7
1
-1
0
0
0
0
0
0
0
0
25
-5
-5
25
-4
0
0
0
0
0
0
0
0
0
0
0
0
17
-57
34
9
18
7
19
-7
0
0
1
0
0
0
0
0
0
40
40
15
-5
-51
-44
0
28
18
0
-1
0
0
0
0
0
0
19
49
-28
37
-12
1
-1
-20
0
0
0
0
0
0
0
0
0
36
-8
43
2
51
11
23
-6
0
0
0
0
0
0
0
0
0
-6
-37
7
-9
3
25
-9
9
4
0
0
0
0
0
0
0
0
10
-1
23
8
-7
4
3
1
0
0
0
0
0
0
0
0
0
-36
30
12
-43
-1
10
-8
7
0
0
0
0
0
0
0
0
0
-34
10
-11
-4
-6
8
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
-4
6
12
3
21
11
23
0
0
-8
-12
2
0
0
0
0
0
-3
28
32
31
43
2
18
0
25
0
-14
1
0
0
0
0
0
-4
-8
24
44
-37
-8
-3
-7
35
67
-26
6
-1
0
0
0
0
-7
-17
-8
32
-15
-10
14
21
-30
-13
-15
4
-1
0
-1
0
0
1
-9
13
-7
-21
25
-10
27
-12
22
-1
0
0
0
0
0
0
1
-7
26
-12
-32
-22
-4
0
7
-8
3
0
0
0
0
0
0
0
-8
10
-38
6
7
4
-15
-4
-8
0
0
0
0
0
0
0
0
2
-9
0
-6
1
0
0
3
-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
-8
6
-8
-12
0
0
-1
0
7
0
0
0
0
0
0
0
-1
-30
23
3
-3
-11
-4
0
4
0
11
0
0
0
0
0
0
0
-28
-8
-4
41
30
9
-1
6
13
-9
0
0
0
0
0
0
-12
-14
-6
24
53
-14
12
12
12
-8
-7
-1
0
0
0
0
0
-22
15
-18
-6
15
3
-3
-1
0
29
-1
0
0
0
0
0
0
0
-10
-5
15
9
6
-2
-1
13
-6
-3
0
0
0
0
0
0
0
-1
-16
15
-7
0
0
0
-2
-1
0
0
0
0
0
0
0
0
-1
-10
0
-8
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-9
-6
0
23
15
0
0
0
0
0
0
0
0
0
-12
-37
-13
11
-24
-4
0
0
0
0
0
0
0
0
0
0
0
26
50
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
11
-21
31
0
33
-1
0
0
0
0
0
0
0
0
0
0
0
-1
17
6
-9
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
34
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
0
2
-1
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
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
9
-13
-6
0
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-39
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
7
-1
-8
-11
18
33
2
0
0
0
0
0
0
0
0
-1
-4
-15
-21
7
2
-1
7
-2
0
0
0
0
0
0
0
-2
-29
-26
-6
8
2
7
-1
-3
0
0
0
0
0
0
0
0
0
-2
0
17
36
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-3
8
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
49
0
-63
6
2
0
0
0
0
0
0
0
1
0
0
0
12
43
72
46
12
0
1
0
0
0
0
0
0
-3
11
-1
-14
-22
13
-66
-57
-5
-12
-4
0
0
0
0
0
-6
-3
-22
-22
-13
-41
18
3
-1
1
0
2
0
0
0
0
0
-1
-10
44
1
-9
-2
0
0
-1
-15
-2
0
0
0
0
0
0
0
0
8
-9
6
2
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
11
8
-1
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
-1
-2
7
34
7
25
0
58
-13
-11
-8
3
0
0
0
0
0
0
0
2
12
-9
5
-39
27
-40
-9
-5
-1
0
0
0
0
2
-6
-1
-23
12
-21
78
-7
1
-16
18
-34
-3
0
0
0
0
-2
6
-3
-70
-2
44
-38
-45
0
-1
-18
-6
-2
0
0
0
0
2
-8
7
4
-8
3
66
10
-18
-7
-11
5
3
0
0
0
0
1
4
0
-35
-6
-41
57
-3
6
-2
0
2
0
0
0
0
0
0
0
-21
16
-55
63
51
-16
-37
16
-11
2
-1
0
0
0
0
0
-1
24
12
32
34
25
-17
-5
24
0
1
0
0
0
0
0
0
0
0
4
14
-15
12
14
-8
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-14
7
-1
1
0
0
0
0
0
0
0
0
0
-6
-8
30
6
16
7
-2
0
0
0
0
0
0
0
0
0
11
2
-11
54
16
-10
0
0
0
0
0
0
0
0
0
3
0
10
55
-27
0
-3
8
-10
16
1
0
0
0
0
0
0
0
1
7
7
6
2
-10
6
4
0
0
0
0
0
0
0
0
0
2
-1
-3
1
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
6
-4
-3
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
4
0
-12
8
9
8
2
0
0
0
0
0
0
17
20
2
-34
36
-20
93
4
5
-7
21
-3
0
0
0
0
0
30
-16
9
37
20
0
45
1
19
12
4
0
0
0
0
0
0
18
2
-18
64
24
19
-7
-26
-13
-3
1
-1
0
0
0
0
0
0
28
-20
0
21
29
7
-3
0
-1
0
0
0
0
0
0
0
-4
10
-15
37
8
11
-55
-1
0
19
0
0
0
0
0
0
0
0
-1
12
-15
-10
8
-7
11
-3
0
1
0
0
0
0
0
0
0
1
-1
7
3
-53
3
-4
-4
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
6
0
-3
10
6
0
0
0
0
0
-1
0
0
1
7
-1
18
-24
-30
8
-38
3
-1
1
0
0
0
0
-2
7
3
21
-48
-6
4
129
14
9
8
0
1
0
0
0
-1
-3
-22
6
-21
58
-46
38
52
-48
-2
1
0
0
0
0
0
1
-1
4
-19
2
-74
4
5
11
3
7
0
0
0
0
0
0
0
2
-14
-7
-8
-22
-7
28
3
5
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-2
11
0
0
0
0
0
0
0
0
0
0
1
1
2
-4
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-8
0
-15
2
1
0
0
0
0
0
0
0
0
-1
-3
-1
6
-6
1
26
3
0
0
0
0
0
0
0
0
0
4
7
-3
8
-48
34
24
9
1
0
0
0
0
0
0
-1
0
4
8
0
18
1
16
-24
-4
-3
0
0
0
0
0
0
0
0
1
24
-6
-12
6
-2
2
1
0
0
0
0
0
0
0
0
0
1
-1
-20
-16
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
2
-2
7
-11
-1
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-6
0
1
0
0
0
0
0
0
0
0
0
3
0
0
2
-1
12
4
0
-1
0
0
0
0
0
0
0
1
0
13
-2
-13
-23
0
-1
0
0
0
0
0
0
0
0
0
0
19
36
15
22
6
-4
1
0
0
0
0
0
0
0
0
0
-1
25
-50
-42
-11
3
1
0
0
0
0
0
0
0
0
0
0
0
10
14
-10
0
16
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
7
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
18
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
59
12
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
17
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-13
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
11
9
1
-1
0
0
0
0
0
0
0
0
0
-3
0
33
23
-10
0
0
1
0
0
0
0
0
0
0
0
0
-3
-4
-39
-9
0
3
0
0
0
0
0
0
0
0
0
0
0
-4
10
18
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
9
34
91
25
3
0
0
0
0
0
0
0
0
0
0
0
0
11
22
-20
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-18
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
44
25
-3
0
0
0
0
0
0
0
0
-1
-2
-9
-6
42
26
-3
0
0
0
0
0
0
0
0
0
1
4
-11
-28
12
-9
21
3
-2
2
0
0
0
0
0
0
0
0
-3
-32
-20
-29
-15
-4
3
1
0
0
0
0
0
0
0
0
0
1
-15
-22
18
-15
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-11
-3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-10
-9
26
-11
-7
7
0
0
0
0
0
0
0
0
0
0
0
3
35
22
-30
-27
-9
6
0
2
0
0
0
0
0
0
0
0
9
0
7
0
-5
8
-10
-2
-2
0
0
0
0
0
0
0
0
-2
-1
17
6
-1
-32
-3
3
6
0
0
0
0
0
0
0
0
0
-2
-8
18
-5
-11
-8
0
2
0
0
0
0
0
0
0
0
2
9
-12
13
20
-4
9
7
-1
0
1
0
0
0
0
0
0
0
3
-3
-21
-1
-18
-4
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
-2
-1
1
0
0
0
0
7
13
14
15
-11
-17
0
0
28
-18
12
-2
-7
0
0
0
-1
-30
40
-55
40
-4
11
50
-20
-3
19
11
0
0
0
0
0
-1
2
-12
6
29
-2
48
41
-9
-9
-7
-17
0
0
1
0
0
0
-6
-7
-36
20
-36
26
-30
-25
-7
-3
1
0
0
0
0
0
0
6
13
9
27
-4
3
-7
0
-8
1
0
0
0
0
0
0
0
2
11
-6
-22
3
-9
-4
-2
-3
0
0
0
0
0
0
0
0
0
0
7
-11
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
11
11
27
-8
-3
0
0
3
-2
1
1
0
0
0
0
-1
-4
25
-1
23
31
37
-7
33
-23
0
-1
6
0
0
0
0
2
-23
34
12
-13
-9
55
28
-17
39
2
3
-3
0
0
0
0
-18
-21
63
-19
8
70
40
-5
11
1
-2
2
1
0
0
0
0
11
-6
-12
-62
-102
96
-6
64
35
2
0
0
-1
0
0
0
0
3
-25
-26
-21
-45
-6
-5
-12
1
-12
-4
-3
0
0
0
0
0
-17
-5
-23
-9
-17
-21
-55
33
-16
2
11
-1
0
0
0
0
0
0
10
-1
50
-57
16
12
-15
-11
0
0
0
0
0
0
0
0
0
0
2
-15
46
0
-22
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
2
7
-2
1
7
7
-4
0
0
0
0
0
0
0
1
-13
12
15
16
6
-4
-16
-1
0
0
0
0
0
0
0
0
4
-8
-7
-2
-2
12
-6
8
-7
-7
0
0
0
0
0
0
0
3
7
-6
12
26
0
-7
6
0
0
0
0
0
0
0
0
0
0
0
-15
-1
-1
-6
1
-1
0
0
0
0
0
0
0
0
0
-6
2
0
-2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
-8
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-6
0
0
1
0
0
0
2
0
0
0
0
0
0
0
-30
0
-9
8
-21
37
0
10
-3
-7
-1
0
0
0
0
0
0
39
8
28
10
35
10
-70
-12
-9
-9
-1
0
0
0
0
0
0
10
14
-37
26
2
5
-47
11
-27
-2
-1
0
0
0
0
0
0
7
-2
-5
2
-32
27
6
-2
-6
0
0
0
0
0
0
0
0
9
37
-61
-22
14
-21
-15
-9
-1
0
0
0
0
0
0
0
0
8
-40
1
-20
0
-2
-8
0
0
0
0
0
0
0
0
0
0
20
3
-8
16
-1
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
36
8
4
0
0
0
0
0
0
10
8
-13
7
7
6
0
9
0
7
4
0
3
0
0
0
-8
0
17
-6
40
4
-6
-18
44
27
45
2
3
2
0
0
0
1
21
-6
19
2
-71
2
-5
-42
-2
-16
28
-7
0
0
0
0
-2
-15
2
-34
22
-36
-1
-7
-23
0
-10
0
0
0
0
0
0
0
-2
-7
10
1
-9
-8
22
-18
11
4
-1
0
0
0
0
0
0
1
13
-7
-19
-29
1
0
-2
-1
1
0
1
0
0
0
0
0
0
0
0
0
-17
-4
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-7
-7
3
0
13
0
0
7
2
0
0
0
0
0
-4
0
-1
-17
17
9
-21
-20
15
-7
5
0
0
0
0
0
0
7
22
0
33
60
13
40
2
-8
1
10
0
0
0
0
0
4
0
13
-10
-20
-15
-5
-38
-3
-21
-2
6
0
0
0
0
0
0
15
-8
7
-12
0
13
-3
4
-3
1
0
0
0
0
0
0
0
0
6
-2
-18
-12
19
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
-10
-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
0
0
0
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
-1
0
0
0
0
0
0
0
0
1
-3
-7
7
-1
-13
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-19
8
-4
-1
0
0
0
0
0
0
0
-1
0
0
1
-2
6
-2
-10
-4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-6
21
-15
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
20
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
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
4
-1
0
0
0
0
0
0
0
0
1
3
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-11
0
-7
0
1
0
0
0
0
0
0
-4
0
2
0
4
13
25
10
24
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
10
9
1
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-2
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
2
-7
6
0
-17
6
19
1
-1
0
0
0
0
0
-3
-1
1
0
-54
72
2
99
-62
5
-14
6
0
0
0
0
4
1
0
0
1
2
6
32
36
-17
28
-6
-1
0
0
0
0
1
-1
0
2
1
-1
5
46
-10
-20
19
4
-6
0
0
0
0
-1
0
-4
-3
2
10
-47
19
-14
-2
-10
-1
0
0
0
0
0
0
0
0
0
-1
-1
-14
-20
-15
-17
-2
2
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
16
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-41
-10
1
0
48
-27
7
20
-4
-1
0
0
0
0
0
-9
8
38
10
3
63
17
18
10
17
13
4
0
0
0
-2
-3
-15
3
45
0
-44
87
-15
41
42
-5
-7
-3
0
0
0
0
-3
-9
-7
-8
14
19
52
54
-41
40
25
1
1
0
0
0
1
-6
-7
33
1
-23
41
-63
28
33
-13
14
-13
0
0
0
0
0
0
-2
11
10
3
-10
-35
-11
-22
-10
0
3
0
0
0
0
0
0
-8
9
-74
40
1
39
7
6
-13
-8
0
-1
0
0
0
0
0
0
15
-15
39
3
3
28
-14
11
0
0
2
0
0
0
0
0
0
1
38
-7
53
-26
-41
-3
2
0
0
0
0
0
0
0
0
0
0
0
-2
-25
0
-8
48
21
15
-3
0
0
0
0
0
0
0
0
9
23
-29
-12
-16
-14
30
-17
-10
-3
0
1
0
0
0
0
-16
-7
-4
43
5
-42
-10
12
3
-26
1
1
0
0
0
0
0
0
0
39
-15
31
45
17
-6
-13
-7
1
0
0
0
0
0
0
0
1
-8
18
30
-68
-11
-1
-18
14
-1
1
0
0
0
0
0
1
0
1
3
-22
4
16
-11
-21
-38
1
0
0
0
0
0
0
0
3
0
-5
-32
-10
41
-16
-7
-9
-2
1
0
0
0
0
0
0
2
-4
15
-68
32
-23
11
0
-10
-3
0
0
0
0
0
0
0
-2
-3
-9
-3
33
19
-3
20
2
3
0
0
0
0
0
-1
3
32
-40
-41
0
-22
7
11
8
1
0
0
0
0
0
0
0
0
24
6
21
21
81
-52
52
33
10
0
0
0
0
0
0
1
-7
-7
47
6
-33
3
0
-1
-24
-18
0
0
0
0
0
0
0
0
-16
-17
-26
15
32
2
12
4
-5
-1
0
0
0
0
0
0
0
7
24
-2
16
12
-20
15
-22
-4
0
0
0
0
0
0
0
-4
-2
-15
-34
1
4
-21
7
23
10
0
0
0
0
0
0
0
0
24
0
0
-38
-37
4
19
-2
2
1
0
0
0
0
0
0
1
0
-13
-12
-7
-24
-7
3
10
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
-2
-44
107
-56
0
-55
39
7
2
-2
0
0
0
-1
-2
0
0
1
1
-38
-13
15
87
1
-3
-2
2
-2
0
0
0
3
3
4
4
9
-2
39
33
18
-30
-6
-17
0
-1
0
0
0
-3
2
1
-6
12
39
26
0
-31
16
-12
-9
-1
0
0
0
0
1
-1
0
-1
1
-6
56
-16
19
-16
-26
-2
-3
0
0
0
0
0
0
1
1
1
33
22
15
17
-38
7
0
0
0
0
0
0
0
0
0
0
1
1
-27
10
1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
8
0
8
13
4
0
0
0
0
0
0
0
0
0
0
7
-28
33
-8
16
-7
-4
-9
0
0
0
0
0
0
0
1
-1
-1
-26
-7
-11
-4
-15
-3
0
0
0
0
0
0
-2
0
0
0
-3
-8
16
2
-5
-1
0
0
0
0
0
0
0
0
0
0
-3
2
-19
3
28
4
0
-2
0
0
0
0
0
0
0
0
0
0
4
7
-1
-1
-14
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-16
-9
0
-1
0
0
0
0
0
0
0
0
0
0
-1
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
12
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-8
1
0
0
0
0
0
0
0
0
0
33
0
0
25
-10
-7
-7
3
-2
0
0
0
0
0
0
0
0
-11
0
50
-127
8
-8
-17
-1
0
0
0
0
0
0
0
0
0
12
9
17
-37
-25
0
11
1
0
0
0
0
0
0
0
0
0
-3
-12
42
-20
31
4
8
0
0
0
0
0
0
0
0
0
0
2
-28
14
5
9
15
0
0
0
0
0
0
0
0
0
0
0
-8
0
30
32
-15
-6
0
0
1
0
0
0
0
0
0
0
0
-3
32
-10
-37
6
3
-1
0
0
0
0
0
0
0
0
0
0
0
6
33
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
-6
2
0
0
0
0
0
0
0
0
0
0
0
4
-11
24
1
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
14
0
-22
-13
-13
1
0
0
0
0
0
0
0
0
0
0
0
-29
-4
27
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
8
22
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
30
-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
10
-7
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
-2
23
12
-1
0
0
0
0
0
0
0
0
0
0
3
8
12
5
19
-20
0
0
0
0
0
0
0
0
0
0
0
-6
5
-30
-14
-10
0
0
0
0
0
0
0
0
0
0
0
0
-3
-28
-16
-38
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
13
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
29
0
0
6
-1
-9
0
0
0
0
0
0
0
0
0
0
0
-9
-16
38
-18
-13
0
0
0
0
0
0
0
0
0
0
0
0
-4
18
-16
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
1
20
0
1
0
0
0
0
0
0
0
0
0
0
0
-10
16
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
-2
0
0
0
20
3
0
0
0
0
0
0
0
0
0
1
0
6
0
0
0
-6
4
0
0
0
0
0
0
0
0
0
0
-1
-3
6
-29
63
16
12
0
-1
0
0
0
0
0
0
0
0
0
-6
28
21
20
-11
-38
7
0
0
0
0
0
0
0
0
0
1
-6
6
-22
19
1
0
0
2
0
0
0
0
0
0
0
0
2
-3
-4
26
17
-29
-1
-1
0
0
0
0
0
0
0
0
0
0
-2
-6
12
6
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-2
6
10
-29
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-33
-6
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
18
-23
1
0
0
0
0
0
0
0
0
0
0
0
-3
-14
-1
17
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
-20
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
26
28
11
-18
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
18
3
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
11
30
4
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
16
3
32
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
0
0
0
0
0
0
1
1
-2
7
4
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
10
1
9
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
1
-4
-2
-6
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
2
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
-1
0
-1
0
0
0
0
0
0
0
0
0
-1
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
0
5
43
0
0
0
56
-2
8
-2
0
0
0
2
0
16
-11
2
-16
10
0
0
8
-18
-32
-4
0
1
0
0
0
-10
13
12
0
-4
3
74
68
-39
-5
-20
1
-1
4
0
0
0
13
41
-2
13
-3
18
4
-65
-59
27
-8
1
3
0
0
0
0
0
-1
0
6
-1
-1
3
9
16
-3
-3
3
7
0
0
0
0
0
-3
-3
-1
-3
0
1
-12
11
-23
-1
-3
0
0
0
0
0
2
-1
1
0
7
1
4
0
6
1
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
1
55
-21
-20
-32
0
0
16
2
-1
0
0
0
0
0
0
-4
-10
15
-37
0
-36
-7
39
-36
8
-8
0
0
0
0
0
0
9
33
1
32
-4
21
-27
-19
-12
4
-2
0
0
0
0
0
-1
3
-18
-16
14
-11
36
-6
-3
7
3
4
0
1
0
0
0
0
0
-3
-14
-21
-7
51
-12
-10
-21
1
2
2
2
0
0
0
0
0
-2
40
-12
20
12
-19
30
13
25
8
-2
0
0
0
0
0
0
-1
8
20
13
-23
49
26
2
5
0
0
0
0
0
0
0
0
21
-15
10
7
-9
-29
17
-7
2
0
0
0
0
0
0
0
0
-13
1
10
0
7
-6
3
-2
0
0
0
0
0
0
0
2
8
6
0
0
-7
-3
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
2
-5
6
2
0
1
0
0
0
0
0
0
0
-10
7
0
1
1
0
-49
0
0
0
0
0
0
0
0
0
0
4
-9
-7
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
1
3
1
0
0
0
0
0
0
0
0
-1
-4
-1
-1
1
0
0
-1
0
0
-1
0
0
0
0
0
0
0
3
8
1
0
-2
4
-3
1
-1
0
0
0
0
0
0
0
-1
19
-10
-3
0
1
-9
0
0
0
0
0
0
0
0
0
0
2
6
-13
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
1
13
0
-7
-1
-28
-22
45
0
7
3
6
0
0
0
0
0
3
18
-24
1
-1
25
0
-10
-3
-2
1
-16
0
0
0
0
0
0
0
-45
-2
23
23
-11
-11
0
1
0
0
0
0
0
0
0
0
-2
0
-1
-15
40
-4
0
1
-1
0
0
0
0
0
0
0
1
-6
-1
-3
0
22
11
7
-4
0
0
0
0
0
0
0
0
0
1
-1
-19
0
-4
-12
-1
0
0
0
0
0
0
0
0
0
-1
-4
0
0
-2
1
0
-2
0
0
0
0
0
0
0
0
0
0
-9
-2
-3
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
3
-3
2
3
0
0
34
-2
22
2
0
0
0
0
0
-2
7
7
-21
24
43
0
33
0
-26
0
6
-5
0
0
0
0
0
2
16
10
0
-16
33
36
35
11
-27
7
-1
0
0
0
1
-3
-6
2
24
-6
-14
-12
-39
-25
-35
-3
-1
2
0
0
0
0
0
1
-19
-35
0
10
1
-27
-18
-12
0
-2
1
0
0
0
0
0
3
9
-19
-1
-8
11
3
-4
-1
0
-1
0
0
0
0
0
0
0
3
7
3
0
0
3
-17
1
1
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
2
0
0
-32
27
5
0
0
0
0
0
0
0
0
0
-18
0
7
0
1
0
10
15
-1
0
0
0
0
0
0
2
0
1
3
6
23
10
43
62
21
-2
0
0
0
0
0
0
0
0
1
-4
13
-3
13
-7
-6
14
-1
0
0
0
0
0
0
0
0
2
4
-16
18
-6
-7
10
7
0
0
0
0
0
0
0
0
0
1
-4
-10
4
2
-1
2
1
0
0
0
0
0
0
0
0
0
-1
0
-2
-4
-1
0
2
0
0
0
0
0
0
0
0
0
0
3
0
1
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-16
11
-4
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
-2
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
38
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
39
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
9
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
2
-29
-4
0
0
0
0
0
0
0
0
0
0
0
0
-8
-10
-25
-40
40
0
0
0
0
0
0
0
0
0
0
0
0
2
30
-17
0
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
22
24
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
7
-12
12
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
-6
19
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
-22
16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
2
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
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
-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
15
3
-2
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-11
7
-3
0
0
0
0
0
0
0
0
0
-3
0
-16
0
-22
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
-11
-6
10
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
17
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
-8
10
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-11
-10
19
-2
-24
-1
0
0
0
0
0
0
13
-3
0
0
1
-15
-37
-11
23
-4
2
0
0
0
0
0
0
-1
-15
-25
-10
-5
-3
-23
-34
7
-15
10
0
0
0
0
0
0
1
-18
14
-7
20
27
4
-7
8
23
-3
0
0
0
0
0
0
0
-17
17
-20
-9
-11
-8
33
22
13
0
0
0
0
0
0
0
0
0
-8
-4
-1
3
7
14
-5
-1
0
0
0
0
0
0
1
0
0
3
-3
-24
-18
13
19
24
1
0
0
0
0
0
0
0
0
0
2
0
3
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
-1
-2
0
0
2
-40
-2
-111
8
-6
0
0
0
0
0
0
0
26
-33
9
44
14
-19
23
-48
-34
-25
2
0
0
0
0
0
1
-11
1
53
0
43
62
-9
7
25
3
0
0
0
0
0
0
-1
-1
21
36
14
-13
2
-21
40
-21
5
-1
0
0
0
0
0
0
15
-10
27
37
41
73
18
-6
-5
-36
0
0
0
0
0
0
0
1
-13
-4
9
23
-40
36
-3
-19
-13
1
0
0
0
0
0
0
10
11
-23
-38
1
-1
54
-18
1
24
0
0
0
0
0
0
0
4
0
0
-12
-42
-34
-11
42
8
1
0
0
0
0
0
0
0
-1
2
1
-15
-1
0
-17
2
-28
0
0
0
0
0
0
0
0
0
0
0
0
29
14
8
-11
10
-6
0
0
0
0
0
0
0
0
1
-1
9
2
3
32
-2
-44
-22
0
0
0
0
0
0
0
1
0
-1
0
17
25
-8
-10
4
-4
0
0
0
0
0
0
0
-1
0
0
3
10
0
-8
-1
4
0
0
0
0
0
0
0
0
0
0
0
6
0
-9
19
-13
-7
0
0
0
0
0
0
0
0
0
1
-2
0
0
9
2
-3
2
0
0
0
0
0
0
0
0
0
0
0
1
1
0
6
2
10
0
0
0
0
0
0
0
0
0
0
-1
0
-20
10
0
-15
-3
4
0
0
0
0
0
0
0
0
0
0
0
7
0
3
0
-8
2
0
0
0
0
0
0
0
0
0
0
-2
-18
9
-3
11
6
19
-16
0
0
0
0
0
0
0
0
-9
-1
0
58
59
-15
0
-1
-34
0
0
0
0
0
0
0
2
6
19
-8
-2
-24
-43
-20
-1
-8
0
0
0
0
0
-1
0
4
-2
8
-28
-57
20
-10
4
4
30
0
0
0
0
0
0
0
3
0
-8
12
34
13
-10
-23
-30
11
0
0
0
0
0
0
0
-2
7
-23
-4
-15
-18
29
-3
5
52
0
0
0
0
0
0
0
0
-3
-26
0
68
-15
-44
2
11
-4
0
0
0
0
0
0
0
0
1
-9
11
-15
-21
-12
15
4
19
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
-8
-2
-26
-18
16
-15
0
0
0
0
0
0
6
-8
0
-17
0
38
-14
27
-31
21
-10
1
0
0
0
0
0
0
-12
-17
-5
-28
33
20
-40
104
33
-7
2
0
0
0
0
0
0
1
15
9
17
58
50
-11
42
6
-4
0
0
0
0
0
0
0
-1
7
12
2
0
-3
-11
-46
6
-24
0
0
0
0
0
0
0
0
0
10
14
-36
25
-8
-4
7
-6
0
0
0
0
0
0
0
0
0
-2
-9
36
-5
-23
-64
-12
1
0
0
0
0
0
0
-1
0
2
-2
8
-9
-19
14
7
-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
6
0
0
-1
4
9
0
3
0
0
0
0
0
0
1
0
-1
0
28
-1
18
9
28
-4
0
0
0
0
0
0
0
-1
-18
0
-12
-13
-33
3
-8
-26
-1
0
0
0
0
0
0
0
4
-7
-3
1
-20
25
0
-21
6
12
0
0
0
0
0
0
0
1
2
17
-2
3
-11
-15
-33
0
2
0
0
0
0
0
0
0
0
1
1
-11
-18
-7
-28
38
4
0
-1
0
0
0
0
0
0
1
0
0
-2
-1
4
-16
21
-3
-2
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-27
13
17
0
1
0
0
0
0
0
0
0
0
1
6
-4
0
-10
0
-1
23
3
0
0
0
0
0
0
0
0
0
0
-1
1
-1
18
4
38
3
0
0
0
0
0
0
0
0
0
0
2
-8
8
-24
36
2
8
0
0
0
0
0
0
0
0
0
0
0
-12
23
-29
-10
24
-8
0
0
0
0
0
0
0
0
0
0
1
-10
25
-5
-8
28
1
0
0
0
0
0
0
0
0
0
0
-2
-10
18
7
-39
10
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-35
0
-7
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
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-10
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
10
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-13
23
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
15
-7
15
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
21
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
41
18
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
9
3
0
0
0
0
0
0
0
0
0
0
0
0
6
0
2
-16
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
19
-22
13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
11
-4
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
-7
-4
7
0
0
0
0
0
0
0
0
9
-9
-6
5
22
0
-10
24
-2
0
0
0
0
0
0
0
0
-2
-1
2
-11
-4
14
53
-16
2
0
0
0
0
0
0
0
0
2
6
18
-4
21
34
6
-16
-1
0
0
0
0
0
0
0
0
0
-3
3
-8
18
11
24
-1
1
0
0
0
0
0
0
0
0
0
1
18
7
-7
27
-3
-6
0
0
0
0
0
0
0
0
0
3
0
-2
-18
7
4
-6
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-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
-1
-2
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-21
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-1
13
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
1
1
6
-1
-3
-2
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
-6
0
3
-15
-12
12
-2
6
6
0
0
0
0
0
3
6
-3
-22
133
55
-12
14
-20
26
-5
-21
0
0
0
0
0
-9
-13
13
52
-12
-17
39
6
-9
4
-7
8
1
0
0
0
0
0
-4
-10
-14
28
-7
0
-6
10
30
-7
0
0
0
0
0
0
0
0
-8
-3
27
-19
-26
13
-4
-6
0
1
2
0
0
0
0
0
0
19
-15
-25
4
-3
-11
-6
-3
0
1
0
0
0
0
0
0
0
-2
10
9
-6
-3
7
-7
-18
-1
0
0
0
0
0
0
0
0
0
0
-2
4
1
-1
-3
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
17
-18
-4
-2
-8
0
0
0
0
0
0
-1
-7
-30
15
-3
-33
26
-3
12
5
8
-1
0
0
0
0
0
-3
-12
-22
-25
-4
33
70
-20
-19
-5
-18
1
0
0
0
0
0
0
-15
25
-23
11
-22
-40
43
66
37
5
0
0
0
0
0
0
1
5
-12
-25
2
25
-18
11
25
4
17
-3
0
0
0
0
0
1
9
34
-7
11
-32
31
-97
19
59
11
0
0
0
0
0
0
-1
-21
-7
15
-55
-18
71
-15
5
58
-24
0
0
0
0
0
0
0
13
5
-7
-3
-38
34
28
-56
27
-6
0
0
0
0
0
0
-1
1
-13
11
-11
-1
-10
1
-2
-1
0
0
0
0
0
0
0
0
1
-2
-4
0
7
-13
49
1
6
0
0
0
0
0
0
0
-7
-37
-20
9
41
68
-28
-11
-28
0
0
0
0
0
0
0
0
2
6
10
-6
18
28
9
8
-7
-1
0
0
0
0
0
0
0
3
-2
-3
0
53
20
-22
-2
2
0
0
0
0
0
0
0
2
0
27
-26
-26
37
4
-1
-3
-16
3
0
0
0
0
0
0
0
-1
4
12
-24
24
-8
3
-2
22
-1
0
0
0
0
0
0
-7
3
-12
11
28
17
5
7
-12
-17
0
0
0
0
0
0
0
7
0
-8
-9
-62
-10
9
2
21
8
1
0
0
0
0
0
0
0
3
-13
35
-42
-1
-11
-7
-2
1
0
0
0
0
0
0
0
-1
1
-13
33
-4
0
-6
-17
-3
-6
3
1
0
0
0
0
0
0
15
14
-22
1
-44
-50
-33
22
0
61
1
0
0
0
0
0
3
-9
12
35
-3
-3
-32
-3
34
11
9
0
0
0
0
0
-1
-1
-3
-12
-39
-18
21
-3
58
10
0
6
3
0
0
0
0
0
0
11
-10
17
12
-16
23
-11
17
11
-13
0
0
0
0
0
0
4
-10
-19
35
52
-52
27
33
-56
46
0
0
0
0
0
0
0
-10
1
-14
-28
-8
20
13
17
4
-9
-1
-1
0
0
0
0
-2
1
-3
4
12
-37
-12
-16
-7
-33
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
-1
-2
-12
0
6
-5
-10
-33
-6
6
-1
0
0
0
0
0
0
0
-33
45
86
24
-12
13
-6
5
-8
-16
-3
0
0
0
0
-1
1
21
-26
3
-14
41
2
-26
1
-10
-10
4
0
0
0
0
0
0
2
15
-10
22
-5
-20
-15
9
11
-7
1
0
0
0
0
0
0
13
1
-34
-7
-7
34
28
-3
1
-2
-1
0
0
0
0
0
0
-3
-19
16
-7
-9
29
-61
10
-2
-6
4
0
0
0
0
0
0
0
1
3
-19
4
12
4
12
0
0
0
0
0
0
0
0
0
0
0
-6
0
-24
3
2
3
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
2
-2
-1
0
3
0
0
0
0
0
0
0
-1
1
1
7
9
-7
7
7
15
-6
0
0
0
0
0
0
0
-4
-4
8
21
0
41
28
21
3
-3
-1
0
0
0
0
0
0
6
6
-6
15
-19
4
24
-2
-4
0
-1
0
0
0
0
0
-3
-3
-12
-13
-46
20
-41
-26
-7
-9
1
6
0
0
0
0
0
0
9
0
-11
-7
-4
-11
-2
7
2
0
0
0
0
0
0
0
0
2
-15
4
9
2
7
7
1
0
0
0
0
0
0
0
0
0
0
0
11
-16
-3
1
4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
8
-2
-2
4
0
10
19
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
3
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
0
4
0
0
1
0
0
0
0
0
0
0
0
1
10
0
-4
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
2
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
1
-9
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
-19
0
-16
-1
0
0
0
0
0
0
0
0
0
0
0
-11
-19
-15
-55
40
15
0
0
0
0
0
0
0
0
0
-1
0
-1
11
9
17
-16
-8
0
0
0
0
0
0
0
0
0
0
0
-3
9
2
-12
-9
-1
0
0
0
0
0
0
0
0
0
0
0
4
7
-4
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
1
-6
-10
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
6
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
8
-11
-5
-42
-2
0
0
0
0
0
0
0
0
0
0
3
0
-3
15
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
7
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
15
15
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
16
14
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
-3
-4
0
6
2
0
0
0
0
0
0
0
1
1
9
6
-18
0
-4
0
-1
0
0
0
0
0
0
0
0
0
-1
-1
8
10
-1
1
1
0
-1
0
0
0
0
0
0
0
0
1
1
4
-8
0
-1
1
-2
-1
1
0
0
0
0
0
0
0
0
6
1
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
12
-18
36
21
-15
12
-7
0
0
0
0
2
3
12
-14
0
0
-40
-2
-1
61
-14
19
66
0
0
0
0
0
-4
9
9
33
80
21
-21
7
-34
14
51
14
0
0
0
0
0
1
-16
-10
-10
47
3
11
12
6
-7
20
-10
0
0
0
0
0
1
0
13
-9
-29
-13
1
-4
22
30
42
25
0
0
0
0
0
0
0
0
3
13
-6
10
-38
-20
-11
42
6
0
0
0
0
0
0
0
1
-1
0
-1
-17
0
38
-56
3
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-11
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
23
20
0
0
-27
2
14
-12
-21
20
-10
0
0
0
0
0
7
6
6
-81
-10
63
-32
-9
54
-9
11
-10
0
0
0
0
-1
4
10
19
-23
-40
-48
-24
-6
-37
38
-18
-46
0
0
0
0
0
-25
7
12
-17
-42
-3
-9
37
71
-6
-79
5
0
0
0
0
0
8
3
-18
-22
19
44
80
21
23
0
74
1
0
0
0
0
0
2
-6
-15
-84
16
-45
-13
90
51
0
-35
-4
0
0
0
0
0
0
0
32
2
-24
23
9
43
-45
13
1
9
0
0
0
0
0
0
0
2
-8
8
6
37
-30
9
-24
-2
0
0
0
0
0
0
0
0
0
0
0
-10
-5
-25
19
7
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
23
10
38
-61
28
0
0
0
0
0
0
0
0
0
7
1
5
-36
-30
-59
24
42
0
0
0
0
0
0
0
0
0
6
13
-11
-3
12
10
-40
-54
0
0
0
0
0
0
0
0
0
12
-8
-14
20
-4
24
-5
21
0
0
0
0
0
0
0
0
0
-3
-4
-11
6
-14
-26
-26
-59
0
0
0
0
0
0
0
-2
0
0
1
7
8
-11
11
-17
9
0
0
0
0
0
0
0
0
0
1
1
-6
-4
-7
23
27
-12
0
0
0
0
0
0
0
0
0
1
-2
4
2
-46
-35
22
19
0
0
0
0
0
0
0
0
0
0
0
-1
2
45
4
7
26
0
0
0
0
0
0
0
0
0
-15
7
-9
0
4
8
0
-27
0
0
0
0
0
0
-2
0
6
10
0
-52
13
35
94
-20
32
0
0
0
0
0
0
0
-1
-1
24
38
46
-5
-60
12
22
53
0
0
0
0
0
0
0
0
1
17
22
-17
-3
9
-5
27
-74
0
0
0
0
0
0
0
0
7
6
-7
9
1
-13
-2
-16
15
0
0
0
0
0
0
0
0
1
7
-1
5
20
42
23
-75
-31
0
0
0
0
0
0
0
0
0
0
-2
6
-80
-4
-8
-17
8
0
0
0
0
0
0
0
0
0
2
1
25
1
-3
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
-2
-12
-7
0
0
-5
-11
42
-5
-13
19
11
0
0
0
0
0
29
22
0
-16
0
-11
17
-43
-20
-25
37
2
0
0
0
-2
18
8
17
20
22
-19
37
-3
10
20
43
-31
-9
0
0
0
0
0
-4
-11
20
31
36
-7
8
-17
-7
2
-14
-5
0
0
0
0
0
-1
-9
-9
-26
-7
30
0
-26
-7
6
52
7
0
0
0
0
0
-1
-3
0
-19
-4
10
-6
-24
6
0
-36
-6
0
0
0
0
0
0
0
4
-1
0
-7
-13
0
-12
23
20
9
0
0
0
0
0
0
0
0
0
0
-1
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
1
0
0
0
2
0
8
-13
12
9
11
-2
0
0
0
0
0
2
0
0
2
0
12
-10
15
-1
36
2
0
0
0
0
0
0
3
3
11
6
4
15
1
20
36
-15
0
0
0
0
0
0
-1
0
0
3
8
11
-19
27
28
-13
17
-8
4
0
0
0
0
0
0
1
1
-3
-1
-8
4
8
4
16
2
6
0
0
0
0
0
0
-1
0
0
0
1
-15
0
-1
16
0
-3
0
0
0
0
0
0
-1
0
0
0
-2
0
2
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
6
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
1
0
-2
-4
0
0
0
0
0
0
0
0
0
-7
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-4
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-4
4
-9
-5
9
0
0
0
0
0
0
0
0
0
-1
0
6
-9
-26
-33
35
-8
0
0
0
0
0
0
0
0
0
0
0
-6
-9
-63
-4
-19
-9
0
0
0
0
0
0
0
0
0
0
0
0
21
-17
8
8
4
0
0
0
0
0
0
0
0
0
0
0
-4
2
-2
10
-18
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-17
-16
29
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
6
12
16
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
41
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
12
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
2
-19
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
9
20
-1
0
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
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-4
11
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
11
6
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
13
11
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
3
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
2
-15
-13
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-12
10
-13
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
22
28
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
9
2
-2
-7
-4
8
0
0
0
0
0
0
-1
0
0
4
3
6
-1
1
-14
9
2
0
0
0
0
0
0
0
2
3
0
-3
7
0
14
53
-5
-8
0
0
0
0
0
0
0
0
0
0
0
-4
-6
4
-32
-14
-13
0
0
0
0
0
0
0
0
-1
0
1
4
-12
-4
-27
10
2
0
0
0
0
0
0
0
0
4
0
0
-2
8
18
-8
0
2
0
0
0
0
0
0
0
-1
-4
0
0
0
0
-6
-2
17
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-16
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
2
5
-13
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
9
-8
6
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-9
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
29
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-42
21
0
72
-17
-2
6
10
-1
-29
-2
0
0
0
0
-15
-30
-26
25
44
24
16
0
-21
10
64
-19
-4
0
0
0
0
-14
-10
-39
-6
131
61
-15
-23
9
-17
-1
35
-3
0
0
0
-1
7
3
-28
-4
-11
-12
10
0
12
-4
-3
-6
13
0
0
0
0
0
3
-12
13
4
0
1
-12
4
-17
2
-25
0
0
0
0
0
0
0
-6
13
-11
9
-10
-2
-3
-16
-13
-8
1
0
0
0
0
0
0
2
2
-19
-10
-3
1
-1
-1
25
1
1
0
0
0
0
0
0
0
0
2
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
-14
-28
-4
0
56
-34
-29
47
-6
0
0
0
0
0
0
-2
-2
2
-17
-3
11
-16
35
-26
58
-11
8
0
0
0
0
0
0
-3
5
-45
7
15
-18
18
42
-48
-17
-2
-6
0
0
0
0
0
-17
-9
20
-77
4
19
57
13
-1
-3
-7
2
0
0
0
0
0
-1
16
-26
42
-63
41
8
18
11
9
11
1
0
0
0
0
0
-6
-13
25
-14
-18
-93
9
8
-7
-21
19
0
0
0
0
0
0
0
-7
0
20
-35
14
-2
50
-27
-4
4
0
0
0
0
0
0
0
3
-5
22
18
114
-72
7
18
6
0
2
0
0
0
0
0
0
0
4
-33
-3
-49
-43
15
-2
0
0
0
0
0
0
0
1
-2
19
27
25
0
-31
12
-3
4
1
0
0
0
0
0
0
-4
-14
17
59
-24
-5
-24
-12
4
0
-1
0
0
0
0
0
0
3
-15
-23
-22
-6
-19
8
1
-3
0
0
0
0
0
0
0
-1
-1
5
22
22
-46
-20
-22
10
0
-4
0
0
0
0
0
0
1
0
11
-8
33
-17
21
-3
13
0
0
0
0
0
0
0
0
-1
2
20
7
-13
-3
-18
-21
6
0
1
0
0
0
0
0
0
1
-4
-10
-30
24
-9
-3
-3
-1
0
0
1
0
0
0
0
0
0
-11
-10
5
-31
20
-54
41
-6
-2
0
0
0
0
0
0
0
0
0
12
12
-14
30
-41
23
0
0
0
0
0
0
0
0
0
2
-2
-1
-4
25
41
0
-7
20
37
25
-1
0
0
0
0
0
-1
11
-3
-37
23
13
16
57
-3
-11
-22
0
0
0
0
0
0
1
-4
3
12
21
37
1
5
-20
5
40
-7
0
0
0
0
0
0
1
-19
4
-45
16
-19
-6
5
-9
-12
3
0
0
0
0
0
-1
-1
2
-25
-6
-4
23
3
-9
-7
4
0
0
0
0
0
0
0
-3
-6
15
-13
12
-29
18
-12
2
0
0
0
0
0
0
0
0
0
10
-8
-14
13
-16
-3
-1
13
9
3
0
0
0
0
0
0
2
-8
-1
7
32
13
-11
-2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
3
26
5
0
127
51
11
2
0
-14
6
0
0
0
0
0
2
0
1
-14
-60
85
-80
18
-6
3
-57
-32
-10
0
0
0
0
-2
9
25
2
-29
35
22
14
-7
11
-5
-29
3
0
0
0
0
0
4
-16
-23
-19
-36
-22
-5
-11
9
20
16
4
0
0
0
0
0
-1
-14
-26
-10
-13
33
-14
-13
33
5
-11
11
0
0
0
0
0
-1
1
8
-7
-20
6
61
-19
-2
13
0
1
0
0
0
0
0
0
2
2
-15
-2
32
0
-2
9
0
-4
-3
0
0
0
0
0
0
0
3
-2
0
0
0
0
-7
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
-9
2
0
2
-2
1
0
-2
-3
0
0
0
0
0
0
0
-1
-21
-11
-1
35
11
-10
15
-6
-1
23
-2
0
0
0
0
0
-8
-7
0
-6
6
-3
-32
13
9
8
-9
-10
0
0
0
0
0
3
-29
7
11
-23
21
46
4
2
3
-15
18
0
0
0
0
0
0
-2
2
1
-6
-18
6
-2
1
6
6
-9
0
0
0
0
0
1
6
-11
-2
-2
-7
-2
1
-1
-3
10
0
0
0
0
0
0
0
0
21
11
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
-1
1
-2
1
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
-1
-38
15
52
-23
0
0
0
0
0
0
0
0
0
0
1
-2
12
5
22
5
-2
0
0
0
0
0
0
0
0
0
0
0
1
11
1
24
-4
20
0
0
0
0
0
0
0
0
0
0
0
-1
22
-4
-6
-9
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
-24
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
12
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-1
-3
0
0
0
0
0
0
0
0
-1
0
0
0
3
-11
-2
-13
-1
0
0
0
0
0
0
0
0
0
-4
26
-1
0
-6
27
0
1
0
0
0
0
0
0
0
0
0
-15
-6
22
-11
0
1
1
-1
0
0
0
0
0
0
0
0
0
-7
16
-13
19
-10
-8
0
1
0
0
0
0
0
0
0
0
2
-15
0
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-2
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-2
23
-14
-17
1
0
0
0
0
0
0
-1
-8
0
0
-16
-47
14
-47
-17
1
8
0
0
0
0
0
0
-4
-10
14
-10
-5
52
-27
-20
-16
-6
10
0
0
0
0
0
0
0
-2
-7
26
8
10
-35
-35
39
-10
16
0
0
0
0
-1
0
0
-1
2
-8
4
2
40
53
15
0
-4
0
0
0
0
0
0
0
0
-6
28
37
-20
-41
5
30
-15
0
0
0
0
0
0
0
0
0
3
0
6
3
21
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-16
-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
39
-27
65
59
8
-25
1
0
0
0
0
0
-2
21
10
25
-16
-19
-8
81
84
48
-16
4
0
0
0
0
0
4
7
25
-19
-45
-35
-4
24
-13
6
-5
15
0
0
0
0
0
-3
-7
7
-13
-100
-13
45
-23
-28
1
11
-18
0
0
0
0
0
0
9
-4
-43
19
24
12
-4
20
-27
-21
12
0
0
0
0
0
-1
1
-9
-3
-5
7
-5
3
14
-17
20
3
0
0
0
0
0
0
-4
1
7
15
-46
-41
-31
25
-3
1
-1
0
0
0
0
0
0
1
12
-10
-18
35
37
-13
-4
69
1
0
0
0
0
0
0
0
0
-1
2
-25
10
23
19
16
-43
0
0
0
0
0
0
0
0
0
0
0
0
10
11
-6
24
0
7
0
0
0
0
0
0
0
0
0
-2
-7
-14
-2
-29
-9
34
6
0
0
0
0
0
0
0
0
0
0
10
-9
39
-17
-22
-14
8
1
0
0
0
0
0
0
0
0
0
2
3
9
25
-16
20
8
0
0
0
0
0
0
0
0
-1
0
0
6
8
4
-3
-8
11
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
4
-7
3
0
0
0
0
0
0
0
0
0
-1
0
1
-2
22
-1
4
7
1
0
0
0
0
0
0
0
0
0
6
11
-6
-3
1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
19
-15
20
-23
-20
29
35
3
0
0
0
0
0
0
0
0
-30
-2
0
9
12
62
39
-24
-20
0
0
0
0
0
0
0
1
-4
17
96
24
33
7
15
27
12
0
0
0
0
0
0
0
0
-6
10
0
16
20
-14
27
37
56
0
0
0
0
0
0
0
0
-1
-11
2
-17
1
21
-16
17
13
0
0
0
0
0
0
0
0
1
-3
10
-5
-1
-11
2
-27
28
0
0
0
0
0
0
0
0
1
0
3
-2
-17
-9
-9
-14
-6
0
0
0
0
0
0
0
0
-1
0
0
3
7
-5
-12
-17
-12
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
-19
1
-1
11
-11
5
0
0
0
0
0
1
-1
-1
0
-12
0
0
22
52
-15
15
-16
1
0
0
0
0
1
0
6
1
-27
24
5
-6
27
29
20
32
-8
0
0
0
0
0
0
-2
6
10
-6
-17
1
-16
-8
-36
69
1
0
0
0
0
0
0
3
-6
13
40
-23
-4
4
22
23
12
0
0
0
0
0
0
0
0
0
-13
2
9
11
-1
-44
-20
-18
0
0
0
0
0
0
0
0
1
-4
-1
5
14
3
-8
28
-2
0
0
0
0
0
0
0
0
0
0
-1
4
-4
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
-3
0
0
-3
15
-4
16
0
0
0
0
0
0
0
0
0
-1
0
-18
-29
23
6
22
1
-1
0
0
0
0
0
0
-1
0
-3
-18
22
5
0
-42
7
19
7
0
0
0
0
0
0
0
0
0
1
4
7
-7
58
19
-13
0
0
0
0
0
0
0
0
-3
-2
8
-13
78
20
10
-11
8
0
0
0
0
0
0
0
0
0
1
0
0
-7
45
-42
18
-28
0
0
0
0
0
0
0
0
0
0
0
-2
0
-11
11
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
2
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
3
-16
-2
2
-8
-4
0
0
0
0
0
0
0
0
0
15
6
-3
42
41
23
-2
-4
0
0
0
0
0
0
0
0
0
1
0
-1
-69
5
1
-21
-18
0
0
0
0
0
0
0
0
0
0
0
2
25
13
23
-33
13
0
0
0
0
0
0
0
0
0
0
2
6
-7
-6
33
-26
6
0
0
0
0
0
0
0
0
0
0
0
15
-28
-16
-3
-4
4
0
0
0
0
0
0
0
0
0
0
-1
6
1
-25
25
9
2
0
0
0
0
0
0
0
0
0
0
0
1
4
-30
-20
17
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
57
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-12
-9
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-7
11
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
13
-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
-1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
-11
-16
0
0
0
0
0
0
0
0
0
-1
0
0
1
12
52
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-15
39
12
-1
0
0
0
0
0
0
0
0
0
0
0
-1
16
30
-42
-15
1
0
0
0
0
0
0
0
0
0
0
0
-2
9
-12
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-6
-1
2
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
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
2
4
-13
30
-2
49
0
0
0
0
0
0
0
0
0
0
0
0
1
0
9
6
8
0
0
0
0
0
0
0
0
0
0
0
-1
-1
11
-4
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
17
-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
1
0
0
0
0
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
-2
-2
-3
-36
2
-1
0
0
0
0
0
0
0
0
0
-1
13
20
-11
-26
-3
0
2
0
0
0
0
0
0
0
0
0
-3
5
-1
10
-41
-7
28
1
0
0
0
0
0
0
0
0
0
0
7
23
-11
3
-19
4
-1
0
0
0
0
0
0
0
0
0
0
-6
-2
9
12
-35
18
2
0
0
0
0
0
0
0
0
1
0
3
9
-21
-15
-4
-18
0
0
0
0
0
0
0
0
0
0
0
36
0
4
8
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
3
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
18
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-13
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
30
12
16
-17
12
-3
-7
0
0
0
0
0
10
-4
-13
80
33
-49
-20
15
18
-38
2
4
0
0
0
0
0
1
6
-8
45
5
-32
-16
-30
16
-21
-24
2
0
0
0
0
0
-1
-13
13
1
9
24
-41
-19
16
15
23
0
0
0
0
0
0
-2
-2
16
-14
-30
39
-1
-12
8
12
-16
-4
0
0
0
0
0
0
0
22
-35
4
12
7
9
21
24
-15
0
0
0
0
0
0
0
0
-1
-1
0
-10
-1
0
-18
-9
3
0
0
0
0
0
0
0
0
0
0
-3
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
37
16
25
20
3
-6
3
0
0
0
0
-1
-6
7
0
3
-22
2
-1
-30
6
-10
-6
0
0
0
0
0
0
3
3
32
19
52
11
-57
25
-2
72
-17
2
0
0
0
0
0
1
-23
0
24
8
29
29
44
-14
-23
6
9
0
0
0
0
0
-1
-1
-38
14
9
-8
-2
-51
35
24
-23
17
0
0
0
0
-1
0
1
-9
-1
-2
-13
1
15
-31
18
28
1
0
0
0
0
0
0
0
-10
1
43
-35
8
17
9
34
7
6
0
0
0
0
0
0
0
-15
-34
2
30
-26
10
-23
-5
8
-1
0
0
0
0
0
0
0
-2
1
14
2
18
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
4
1
1
3
0
0
0
0
0
0
0
3
1
10
15
-1
16
-9
6
-16
-1
0
0
0
0
0
0
0
0
11
-2
9
12
-12
13
-19
-1
-7
0
0
0
0
0
0
0
1
2
-12
11
-8
-2
9
-11
0
0
0
0
0
0
0
0
0
0
1
-29
12
7
-4
3
0
1
0
0
0
0
0
0
0
0
0
1
1
10
0
3
-1
-7
0
0
0
0
0
0
0
0
0
0
6
-13
12
1
1
0
1
0
0
0
0
0
0
0
0
0
0
-4
-10
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-26
-7
-10
-2
-1
0
0
0
0
0
0
-1
0
-27
8
14
66
29
10
14
-9
-1
0
0
0
0
0
0
-2
-18
12
10
9
-8
2
15
-53
-7
-2
0
0
0
0
0
0
0
6
0
14
-29
0
3
-39
3
-6
1
0
0
0
0
0
0
1
0
-12
-1
-10
30
0
0
-32
-8
-7
0
0
0
0
0
1
-2
2
1
-20
86
-62
-8
-5
-16
-2
0
0
0
0
0
0
0
2
-14
-2
-10
30
-18
-7
-20
16
-1
0
0
0
0
0
0
0
0
14
-18
18
-46
7
-7
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
-26
-37
-33
20
0
-19
-2
15
0
0
0
0
0
0
0
-20
8
-1
6
-7
-26
-35
24
34
-12
0
0
0
0
0
1
0
8
39
-39
-6
22
-25
-13
31
7
-3
0
0
0
0
0
0
1
-2
-27
-29
13
-30
24
-7
3
12
36
0
0
0
0
4
1
4
-1
19
38
27
15
44
-21
-28
1
15
0
0
0
0
0
0
2
0
9
-11
-15
32
8
4
28
-19
2
0
0
0
0
0
0
0
0
7
8
-6
-3
6
-2
-10
-10
0
0
0
0
0
0
0
0
-1
-1
0
3
-1
1
-13
7
-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
-10
0
5
-9
-3
-8
5
0
0
0
0
0
0
2
-1
0
8
14
22
5
6
-3
6
39
0
0
0
0
0
0
0
1
-1
6
-15
15
0
43
-9
-7
-35
-13
0
0
0
0
0
0
0
-6
0
17
39
-40
-3
-7
30
-16
7
0
0
0
0
0
0
-2
22
18
12
-19
13
8
-9
-9
10
1
0
0
0
0
0
0
1
0
3
-1
-19
-26
36
-10
-2
-9
0
0
0
0
0
0
0
0
1
-3
6
-28
3
1
-1
0
4
4
0
0
0
0
0
0
0
-1
2
-2
0
-10
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
2
4
1
-3
-2
0
0
-6
0
0
0
0
0
0
0
0
-1
3
3
0
0
-1
-2
-1
7
0
0
0
0
0
0
0
0
0
-4
0
0
6
-7
10
30
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
-3
6
-13
-2
0
0
0
0
0
0
0
0
0
-4
0
0
7
-1
9
0
0
0
0
0
0
0
0
2
1
-3
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
1
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
-7
-2
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
9
8
1
0
0
0
0
0
0
0
-1
0
0
0
-1
7
0
11
12
2
-1
0
0
0
0
0
0
0
-2
-1
1
-1
1
9
-3
7
-13
0
0
0
0
0
0
0
0
1
0
-8
0
-1
4
0
0
6
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-6
35
9
55
49
-16
-40
0
0
0
0
0
0
1
3
0
0
-28
-33
13
9
70
33
-5
0
0
0
0
0
0
0
3
1
-10
-11
-4
-73
81
3
3
59
0
0
0
0
0
-1
-1
0
0
-7
25
6
9
-9
8
42
24
0
0
0
0
0
0
2
0
-2
-6
-11
-28
-13
0
10
28
-13
0
0
0
0
0
0
0
-2
1
-3
0
-7
19
0
-11
4
-2
0
0
0
0
0
0
0
0
2
-3
-2
-22
42
-95
-20
25
7
0
0
0
0
0
0
0
0
0
0
-1
-2
9
1
-9
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
21
75
54
-19
6
14
-2
0
0
0
0
0
0
0
-3
-15
-9
3
-27
26
45
7
-34
22
0
0
0
0
0
0
0
-2
8
1
33
21
21
12
26
24
24
0
0
0
0
0
-1
0
2
-41
-9
35
4
-13
10
22
-83
-43
0
0
0
0
0
0
2
4
-9
-2
35
-52
24
14
-47
-58
46
0
0
0
0
0
0
0
-1
-6
-27
-33
9
-12
5
24
26
-34
0
0
0
0
0
0
0
0
-9
-2
-16
55
10
70
30
33
15
0
0
0
0
0
0
0
0
6
9
-19
22
35
-19
5
9
-2
0
0
0
0
0
0
0
0
1
9
10
-18
-26
47
27
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-26
68
-8
25
45
0
0
0
0
0
0
0
0
0
13
13
1
7
5
26
-64
18
0
0
0
0
0
0
0
0
0
-6
-5
11
-14
15
11
0
41
0
0
0
0
0
0
0
0
0
-11
-6
15
0
-46
4
-35
33
0
0
0
0
0
0
0
0
0
8
2
17
-25
17
-3
-7
-52
0
0
0
0
0
0
0
0
0
3
4
-9
15
-44
70
-56
19
0
0
0
0
0
0
0
0
0
-4
0
-19
-24
18
-36
-24
17
0
0
0
0
0
0
0
0
0
-6
-2
-17
-4
-10
38
33
-18
0
0
0
0
0
0
0
0
3
4
-2
-40
1
-33
24
32
-22
0
0
0
0
0
0
0
0
0
2
9
4
-66
7
8
10
-3
0
0
0
0
0
0
0
0
0
8
0
-8
-22
-11
34
-33
3
0
0
0
0
0
0
0
-1
2
10
17
-5
-9
77
33
0
-30
0
0
0
0
0
0
0
0
0
4
27
-59
25
-32
41
14
-10
0
0
0
0
0
0
0
-1
3
12
-66
46
35
-33
-36
-40
38
0
0
0
0
0
0
0
0
1
8
18
7
-5
-27
26
-11
-11
0
0
0
0
0
0
0
0
1
-4
47
20
7
-10
-33
-41
-24
0
0
0
0
0
0
0
0
0
-6
18
16
-45
19
-45
-13
10
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
-8
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-40
11
47
-23
-41
0
0
0
0
0
0
1
0
6
0
6
85
-14
2
71
26
25
0
0
0
0
0
0
0
-3
20
-60
9
-15
3
-6
113
-4
-19
0
0
0
0
0
0
0
1
2
3
18
25
-6
-3
-64
-41
-3
0
0
0
0
0
0
0
0
4
-3
12
16
-5
12
-17
25
-24
0
0
0
0
0
0
0
-2
1
-11
-13
-13
7
-33
-24
78
0
0
0
0
0
0
0
0
0
-1
8
20
6
31
-10
-16
11
2
0
0
0
0
0
0
0
1
0
0
9
2
4
2
-6
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-3
-32
-7
3
2
0
0
0
0
0
0
0
0
0
0
12
-9
8
-24
-1
-24
-9
0
0
0
0
0
0
0
0
0
1
7
3
1
10
-18
24
-11
0
0
0
0
0
0
0
0
0
-1
18
37
14
-18
29
3
15
0
0
0
0
0
0
0
0
0
-2
0
-9
-28
0
21
-25
0
0
0
0
0
0
0
0
0
0
0
4
7
-10
4
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
9
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-6
3
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-1
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-22
6
-38
-13
1
7
0
0
0
0
0
0
0
0
0
-9
-15
-2
-5
-22
-2
-63
15
0
0
0
0
0
0
0
0
1
0
11
13
-9
-33
33
-25
8
0
0
0
0
0
0
0
0
0
0
-6
-8
50
-27
-33
22
-41
0
0
0
0
0
0
0
0
0
0
10
-32
-16
27
57
5
-4
0
0
0
0
0
0
0
0
0
0
0
13
3
33
-8
21
-35
0
0
0
0
0
0
0
0
0
0
0
-3
-11
15
13
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
8
27
16
15
20
0
0
0
0
0
0
0
0
0
0
0
0
3
3
15
6
15
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
-1
-11
-5
11
-2
-9
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-13
-24
39
3
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-6
22
-13
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
34
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
29
-3
8
-3
0
0
0
0
0
0
0
0
0
-1
0
-8
-28
-47
-10
-21
22
0
0
0
0
0
0
0
0
0
0
0
18
-3
3
39
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
-21
-17
-14
-12
0
0
0
0
0
0
0
0
0
0
0
-1
-7
6
-17
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
-9
-6
11
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
0
33
10
3
1
0
0
0
0
0
0
0
0
0
1
3
0
10
2
-21
2
-6
0
0
0
0
0
0
0
0
0
0
-2
10
7
21
-1
-42
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-29
0
-18
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-12
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
7
30
-2
0
0
0
0
0
0
0
0
0
0
0
0
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
6
6
3
-2
1
36
-17
0
0
0
0
0
0
0
0
0
0
9
9
21
11
41
-35
-12
0
0
0
0
0
0
0
0
0
0
0
-21
-11
52
0
-9
-5
0
0
0
0
0
0
0
0
0
0
-2
-1
-3
-12
-2
10
21
0
0
0
0
0
0
0
0
0
0
2
9
-14
-22
3
4
26
0
0
0
0
0
0
0
0
0
-1
2
-1
-6
19
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
12
1
-5
3
0
0
0
0
0
0
0
0
0
0
0
3
-1
2
-21
3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-11
-9
0
0
0
0
0
0
0
0
0
0
0
-2
1
7
30
-4
-13
0
0
0
0
0
0
0
0
0
0
0
-1
-1
16
-17
0
-10
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
4
28
1
9
0
0
0
0
0
0
0
0
0
0
0
-1
0
15
2
-34
38
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-18
-9
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
-17
41
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
36
-7
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
6
2
-8
-4
-14
-5
0
0
0
0
-1
2
0
40
29
6
-8
-3
24
5
-48
60
-6
0
0
0
0
0
-1
-3
4
0
26
29
1
-9
9
17
-31
21
0
0
0
0
0
0
0
12
2
11
10
2
24
-13
-29
30
-17
0
0
0
0
0
0
0
3
0
4
-2
49
23
8
14
0
-17
0
0
0
0
0
0
1
0
-1
1
1
-1
10
-9
-40
17
0
0
0
0
0
0
0
0
-3
8
1
0
-1
-4
6
2
15
-3
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-1
-7
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
4
0
-29
23
-56
33
-4
37
-4
0
0
0
0
0
3
0
1
-3
33
69
-37
20
-31
45
57
18
0
0
0
0
0
0
0
-16
6
19
-12
-11
71
18
-21
14
10
0
0
0
0
0
0
0
2
1
-51
19
51
40
-38
-22
-5
-9
0
0
0
0
0
0
0
0
-8
-13
3
30
-28
-23
-24
27
6
0
0
0
0
0
0
0
-4
21
-14
0
-8
-6
24
-20
-29
-7
0
0
0
0
0
0
1
1
-1
3
27
6
-44
-61
-23
-8
4
0
0
0
0
0
0
0
0
-6
-9
18
10
-41
25
4
9
3
0
0
0
0
0
0
0
0
-1
19
-22
-24
8
-3
0
0
0
0
0
0
0
0
0
-1
0
-9
0
-26
1
-3
0
0
0
0
0
0
0
0
0
1
1
-2
0
0
-1
10
16
2
1
-1
0
0
0
0
0
0
0
0
-8
0
-8
-2
-18
0
-11
7
0
0
0
0
0
0
0
0
1
-1
11
0
2
4
0
-6
-2
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
0
-6
0
0
0
3
0
0
0
0
0
0
0
0
0
-1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
11
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
8
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
1
4
19
-3
0
0
0
0
0
0
0
0
0
0
1
6
4
-23
-11
-35
23
24
-1
0
0
0
0
0
0
0
0
3
-1
-7
6
4
-11
0
15
0
0
0
0
0
0
0
0
0
-1
3
0
-13
21
0
-25
-14
0
0
0
0
0
0
0
0
0
0
0
-6
-17
-1
8
-9
-3
0
0
0
0
0
0
0
0
0
-1
3
-8
4
-6
6
18
-2
0
0
0
0
0
0
0
0
0
-2
-3
-8
0
-8
2
1
0
0
0
0
0
0
0
0
0
0
-4
-10
-4
-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
0
0
0
-2
0
-7
-10
3
-3
1
15
-13
12
0
0
0
0
0
0
-1
-10
-7
0
-14
20
-27
-30
5
59
-11
0
0
0
0
0
0
-1
-7
-6
38
9
-4
-2
6
-10
-2
28
0
0
0
0
0
0
0
0
6
29
33
4
40
-16
-60
0
-39
0
0
0
0
0
-1
0
0
8
-4
-13
-10
-15
23
0
-23
17
0
0
0
0
0
0
0
0
0
-1
-25
-26
3
11
-3
-3
36
0
0
0
0
0
0
0
0
-1
-3
2
1
2
-8
3
-8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
0
4
0
1
0
-8
-3
13
20
0
0
0
0
0
0
0
0
0
-3
9
-2
26
0
2
-19
-16
0
0
0
0
0
0
0
0
0
1
-4
-10
-29
-19
24
8
13
0
0
0
0
0
0
0
0
0
0
-2
9
18
-1
19
5
-7
0
0
0
0
0
0
0
0
0
-3
-2
6
22
5
0
10
18
0
0
0
0
0
0
0
0
0
0
2
-1
6
12
-10
-15
21
0
0
0
0
0
0
0
0
0
0
1
-4
8
0
1
-12
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
-13
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-11
-6
12
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
-12
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-15
9
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
21
-7
9
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-19
-18
-9
0
0
0
0
0
0
0
0
0
0
0
-21
-12
41
-48
-10
11
0
1
1
0
0
0
0
0
0
0
0
-3
-81
11
-47
-11
1
0
0
0
0
0
0
0
0
0
0
0
26
18
-83
-34
-4
-6
0
0
0
0
0
0
0
0
0
0
0
28
-3
35
95
43
-1
0
0
0
0
0
0
0
0
0
0
0
-117
-27
-43
45
-9
4
0
0
0
0
0
0
0
0
0
0
0
32
21
-22
8
-28
-3
0
0
0
0
0
0
0
0
0
0
0
-87
-98
-10
-59
-13
0
0
0
0
0
0
0
0
0
0
0
0
-19
-47
29
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
-2
9
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
-15
10
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
-63
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
-13
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
25
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-47
-3
-17
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
3
-6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-54
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
76
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-13
33
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-44
6
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
59
-131
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-33
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
16
4
1
0
0
0
0
0
0
0
0
0
0
0
0
3
16
-52
-30
24
13
-1
0
0
0
0
0
0
0
0
0
0
-1
6
0
-10
-33
0
0
0
0
0
0
0
0
0
0
0
0
3
-38
4
40
35
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-57
-5
49
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
-21
-12
2
16
-4
0
0
0
0
0
0
0
0
0
0
0
-19
45
-32
51
7
-15
-2
0
0
0
0
0
0
0
0
0
-3
-23
-2
40
-24
6
45
4
11
0
0
0
0
0
0
0
0
-13
-31
18
-14
13
16
0
-20
0
0
0
0
0
0
0
0
0
8
-29
-19
-8
-13
0
-7
0
0
0
0
0
0
0
0
0
0
-11
-44
10
17
4
0
0
0
0
0
0
0
0
0
0
0
0
-17
9
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
10
-16
2
0
1
3
-2
0
0
0
0
0
0
0
0
0
-8
-4
33
-1
0
28
6
8
0
0
0
0
0
0
0
0
0
-1
-5
44
-11
0
-4
16
-2
-17
0
0
0
0
0
0
0
0
20
0
-7
80
0
3
0
2
-16
6
0
0
0
0
0
0
0
-25
28
11
-66
-1
0
-24
24
-3
0
0
0
0
0
0
0
0
11
-47
52
-97
-16
3
16
6
0
0
0
0
0
0
0
0
0
-6
27
1
46
-49
-7
1
6
0
0
0
0
0
0
0
0
0
-9
39
-6
19
0
1
0
0
0
0
0
0
0
0
0
0
0
-19
-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
1
2
8
32
-4
36
5
-21
0
-17
-16
0
0
0
0
0
0
0
-21
-10
-9
6
58
-4
-6
1
19
-14
0
0
0
0
0
0
-8
12
-15
-13
15
38
27
27
48
13
-28
28
0
0
0
0
0
-16
-19
-38
35
4
-10
56
63
9
23
5
-2
0
0
0
0
0
2
14
8
-15
43
85
77
51
38
26
0
1
0
0
0
0
0
-11
-7
-25
23
5
2
67
90
47
-4
1
0
0
0
0
0
0
1
3
14
0
42
60
-17
13
-10
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
18
17
-28
-21
9
-5
-7
0
-37
-1
0
0
0
0
0
0
0
30
-48
12
-27
-20
-2
-10
-5
38
-7
0
-3
0
0
0
0
0
45
10
24
-13
-13
-5
1
26
135
22
0
-2
1
0
0
0
0
16
-7
-19
2
-19
-20
-8
-53
15
-2
3
0
1
0
0
0
0
58
-33
-55
-18
2
-1
-16
3
95
42
8
2
0
0
0
0
0
7
-3
21
-10
0
17
-8
35
84
9
0
0
1
0
0
0
0
-2
16
-91
0
4
-23
17
5
-34
1
1
-1
0
0
0
0
0
8
30
8
-2
-6
19
24
-25
-10
-1
1
-1
0
0
0
0
0
0
15
-11
-15
-5
52
-11
28
0
0
0
0
0
0
0
0
0
0
11
-3
-34
-13
21
11
0
-4
3
1
0
0
0
0
0
0
3
17
-3
29
9
2
16
18
-15
6
0
0
0
0
0
0
0
0
-23
8
36
23
-13
9
-11
32
1
2
0
0
0
0
0
0
4
0
-14
-24
32
0
58
11
44
0
0
0
0
0
0
0
0
0
10
55
15
40
-2
-13
98
6
0
0
0
0
0
0
0
0
0
-1
81
29
27
73
-96
20
9
0
0
0
0
0
0
0
0
0
-3
-58
32
14
115
2
23
0
0
0
0
0
0
0
0
0
0
0
-4
-4
22
53
79
21
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-7
45
0
10
0
0
0
0
0
0
0
0
0
8
41
8
71
18
24
0
26
1
-2
0
0
0
0
0
0
0
30
-33
-30
5
7
-3
23
42
4
-6
0
0
0
0
0
0
0
-86
21
-5
46
1
26
-15
11
24
1
0
0
0
0
0
0
0
18
82
60
36
19
71
25
73
36
0
0
0
0
0
0
0
0
21
59
-11
-12
14
33
78
46
0
0
0
0
0
0
0
0
0
-3
43
76
-23
39
28
42
45
0
0
0
0
0
0
0
0
0
6
-33
4
1
35
116
8
-46
0
0
0
0
0
0
0
0
0
0
6
32
-13
-6
45
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
29
-47
9
82
3
18
15
31
0
23
2
0
0
0
0
0
0
-15
7
-23
-94
-19
3
5
-7
0
74
66
0
0
0
0
0
0
-1
29
12
57
-1
0
6
-5
56
45
-29
-1
0
0
0
0
0
-33
14
-20
75
-11
-13
6
10
39
48
17
0
0
0
0
0
0
1
8
-35
0
22
10
15
27
47
17
0
0
0
0
0
0
0
0
-24
32
52
0
20
18
50
-37
0
0
0
0
0
0
0
0
0
-35
-35
72
13
-61
9
56
0
0
0
0
0
0
0
0
0
0
-18
1
-10
0
11
-3
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
3
-30
-7
19
3
48
85
0
3
0
0
0
0
0
0
0
0
28
24
6
65
-13
33
-3
-23
73
-15
0
0
0
0
0
0
0
-7
36
-15
62
9
4
8
8
-1
0
0
0
0
0
0
0
0
13
10
43
5
-3
27
-93
6
4
0
0
0
0
0
0
0
0
3
6
0
8
-25
-4
17
-52
0
0
0
0
0
0
0
0
0
3
0
-29
-4
2
22
31
1
0
0
0
0
0
0
0
0
0
-2
21
6
-11
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
-1
4
4
8
-25
31
82
0
15
2
0
0
0
0
0
0
1
4
3
10
88
8
69
-6
-26
60
-4
0
0
0
0
0
0
1
0
3
62
102
28
29
44
38
-42
-46
1
0
0
0
0
0
-3
4
3
176
77
9
54
-12
74
-43
1
0
0
0
0
0
0
1
-16
-3
85
23
54
61
75
-19
-56
-35
0
0
0
0
0
0
0
-14
24
66
19
12
27
52
-26
-1
6
0
0
0
0
0
0
0
3
18
0
73
43
-15
37
34
-49
9
0
0
0
0
0
0
0
-17
0
17
-39
-33
-19
-6
24
-3
0
0
0
0
0
0
0
0
0
0
0
0
-25
13
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
-12
50
23
-50
18
0
0
0
0
0
0
0
0
0
0
0
66
55
46
97
62
-5
0
0
0
0
0
0
0
0
0
0
0
8
88
32
2
5
-9
0
0
0
0
0
0
0
0
0
0
0
11
86
16
-32
38
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
23
-23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
1
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-21
20
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
11
-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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
45
43
-21
-2
0
0
0
0
0
0
0
0
0
0
0
1
17
5
18
11
0
0
0
0
0
0
0
0
0
0
0
0
-8
35
72
21
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
21
38
-7
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
10
0
0
-6
-3
0
0
0
0
0
0
0
0
0
0
0
12
7
30
24
-6
0
0
0
0
0
0
0
0
0
0
0
3
29
72
84
-25
37
0
0
0
0
0
0
0
0
0
0
0
1
0
18
41
-36
-3
0
0
0
0
0
0
0
0
0
0
0
0
11
-44
40
-17
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
30
20
2
0
0
0
0
0
0
0
0
0
0
0
6
0
-26
5
4
32
0
0
0
-2
0
0
0
0
0
0
0
0
3
33
13
47
-5
22
-8
-44
0
0
0
0
0
0
0
0
-2
7
24
-28
22
25
45
44
9
0
0
0
0
0
0
0
0
0
-2
8
10
9
85
-29
-14
-1
0
0
0
0
0
0
0
0
0
0
-10
-28
31
0
-7
-11
-14
0
0
0
0
0
0
0
0
0
0
0
-28
1
-6
-18
-3
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
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
3
2
-1
0
0
0
0
2
-2
0
0
0
0
0
0
0
-37
-8
-15
27
41
-2
-16
4
0
-1
0
0
0
0
0
0
38
1
-2
14
57
12
42
-7
-48
-11
0
0
0
0
0
0
0
0
4
-34
42
-19
26
-17
-12
34
0
0
0
0
0
0
0
0
39
-19
57
-20
12
10
-43
-55
1
0
0
0
0
0
0
0
1
7
65
0
-7
-42
56
2
-18
1
0
0
0
0
0
0
0
0
6
1
1
6
-7
3
30
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
10
4
9
6
-38
0
0
0
0
0
0
0
0
0
0
0
0
2
7
1
21
11
0
0
0
0
0
0
0
0
0
0
0
0
2
2
19
11
-10
-2
0
0
0
0
0
0
0
0
0
0
0
-3
4
-1
39
-12
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-3
-35
22
-2
0
0
0
0
0
0
0
0
0
0
0
-18
-12
-9
18
-38
-7
0
0
0
0
0
0
0
0
0
0
0
19
-6
-15
17
-1
21
8
0
0
0
0
0
0
0
0
0
0
0
9
-53
-66
-22
2
0
4
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-6
-25
-43
13
57
36
0
0
0
2
0
0
0
0
0
0
-16
-13
-19
-17
-11
24
67
0
0
-23
-1
0
0
0
0
0
0
4
-12
-3
-17
23
26
-33
15
-9
-27
-2
0
0
0
0
0
0
-24
0
-20
-24
-5
95
31
44
36
-22
-4
0
0
0
0
0
0
7
2
-17
-17
-4
-6
81
37
24
6
0
0
0
0
0
0
0
-39
-26
-34
-14
-2
8
17
-28
45
0
0
0
0
0
0
0
0
-90
-34
-24
-55
-45
-10
-25
-18
2
1
0
0
0
0
0
0
0
0
-33
-26
-5
-17
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
-22
24
2
2
-1
22
0
0
0
-1
0
0
0
0
0
0
0
-66
-29
-3
-1
-5
4
33
-18
-39
-4
-1
0
0
0
0
0
0
-30
-42
5
1
-6
0
31
-13
-50
2
-1
0
0
0
0
0
0
-17
-62
-3
-5
-3
7
-3
21
-64
-11
6
1
0
0
0
0
0
24
-41
-11
-16
-11
-7
4
24
-31
4
2
0
0
0
0
0
0
-54
-37
-23
-8
-3
-2
7
14
97
11
0
0
0
0
0
0
0
-68
15
-11
-23
-12
-13
12
14
-26
-6
0
0
1
0
0
0
0
-2
-26
-53
-11
-3
0
57
-32
-10
-2
0
-3
0
0
0
0
0
0
0
4
-23
29
-85
4
32
0
0
0
0
0
0
0
0
0
-1
23
-66
24
-80
10
-45
0
0
0
0
0
0
0
0
0
0
40
3
2
-21
-31
31
-18
1
0
0
0
0
0
0
0
0
0
5
0
-28
-31
23
-6
66
-1
0
0
0
0
0
0
0
0
0
12
-3
27
-5
-3
-18
-15
-8
0
0
0
0
0
0
0
0
0
5
7
33
57
14
-17
38
1
0
0
0
0
0
0
0
0
0
-2
2
5
1
-44
-42
16
-2
0
0
0
0
0
0
0
0
0
-5
-19
20
-23
25
-29
3
-7
0
0
0
0
0
0
0
0
0
-36
-8
-9
-15
1
-13
-15
0
0
0
0
0
0
0
0
0
0
-19
-26
61
-15
38
21
1
1
0
0
0
0
0
0
0
0
0
47
-21
0
5
-9
16
-77
2
0
0
0
0
0
0
0
0
0
16
-32
-6
-3
-3
33
0
-26
1
0
0
0
0
0
0
0
0
-10
-6
4
5
-3
-2
-62
-24
0
0
0
0
0
0
0
0
0
3
-9
0
-7
-2
-16
49
-62
15
0
0
0
0
0
0
0
0
8
10
-4
5
5
-10
93
32
-1
0
0
0
0
0
0
0
0
7
12
-33
1
-15
-41
92
57
0
0
0
0
0
0
0
0
0
-37
-10
-18
-24
22
-22
10
-7
0
0
0
0
0
0
0
0
0
-1
40
-6
15
-41
22
0
0
0
0
0
0
0
0
0
0
0
0
0
49
22
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
15
-5
5
13
3
0
0
7
-2
0
0
0
0
0
0
17
8
-6
2
7
-13
53
0
-21
0
-6
0
0
0
0
0
0
-5
0
11
7
3
8
61
41
-12
11
-4
-3
0
0
0
0
0
-4
7
4
0
0
27
41
56
-19
-14
1
0
0
0
0
0
0
13
-2
4
3
2
-10
46
21
-13
4
0
0
0
0
0
0
0
-17
-5
-1
-4
7
-13
44
-27
7
10
-2
0
0
0
0
0
0
-87
-50
-1
-7
-29
-35
-5
-8
-15
0
0
0
0
0
0
0
0
0
-45
20
-6
20
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-44
-24
27
-7
-37
0
0
0
0
0
0
0
0
0
0
19
-21
-61
-14
-19
26
-21
0
-7
0
-3
0
0
0
0
0
0
0
-52
-77
40
85
54
52
43
-18
59
0
0
0
0
0
0
0
3
42
-34
-13
45
17
58
-16
35
6
4
0
0
0
0
0
0
-13
69
-13
49
-22
83
22
4
40
-3
0
0
0
0
0
0
0
0
32
-12
9
33
61
26
17
-1
-3
0
0
0
0
0
0
0
5
89
-26
27
83
57
9
0
-3
0
0
0
0
0
0
0
0
0
59
97
21
27
-1
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
-21
27
-10
-7
32
51
-3
0
0
0
0
0
0
0
0
0
0
27
2
0
0
-9
21
-52
-1
0
-1
1
0
0
0
0
0
0
-2
7
2
-24
-13
7
76
2
0
-28
0
0
0
0
0
0
0
62
13
15
0
1
8
-42
1
21
2
0
0
0
0
0
0
0
14
24
9
7
0
2
31
0
7
30
0
0
0
0
0
0
0
-21
22
2
-8
-21
45
44
14
-25
-25
0
0
0
0
0
0
0
20
17
-1
-19
-10
4
-7
-3
-12
0
0
0
0
0
0
0
0
-9
1
-1
15
-17
34
0
0
-1
0
0
0
0
0
0
0
0
-3
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
57
-50
3
-1
0
0
0
0
0
0
0
0
0
0
0
-49
-46
0
-5
-9
1
-1
0
-1
-1
0
0
0
0
0
0
0
33
18
-37
-35
3
1
0
0
0
3
0
0
0
0
0
0
0
7
28
34
61
64
0
-2
0
0
0
0
0
0
0
0
0
0
2
45
38
-10
-15
0
0
0
0
0
0
0
0
0
0
0
0
-1
-43
-73
-32
-65
-7
8
0
0
0
0
0
0
0
0
0
0
0
2
6
-55
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-39
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-9
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
9
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
-11
0
0
0
0
0
0
0
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
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
12
-10
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
117
-32
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
23
-43
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-17
-22
26
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
29
-44
49
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
65
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
24
-56
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
6
33
1
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
20
-12
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-16
74
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-13
20
-71
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-26
-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
0
3
0
-3
-11
13
12
0
0
0
0
0
0
0
0
0
-18
6
12
28
-1
51
73
2
-2
0
0
0
0
0
0
0
0
7
0
-1
30
26
-7
-9
6
0
0
0
0
0
0
0
0
0
0
2
-15
-13
27
28
24
11
0
0
0
0
0
0
0
0
0
0
2
-15
25
-15
-10
16
2
0
0
0
0
0
0
0
0
0
0
8
0
-7
-33
5
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
-6
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-8
-25
-10
-2
-10
1
0
0
0
0
0
0
0
0
0
-7
-30
2
6
6
-28
-22
-1
2
0
0
0
0
0
0
0
0
16
-2
0
-7
13
-21
-18
1
3
0
0
0
0
0
0
0
0
-13
27
19
-6
16
-15
8
-7
6
0
0
0
0
0
0
0
0
42
-21
-14
2
2
1
-16
-11
0
0
0
0
0
0
0
0
0
1
-7
-17
30
6
2
-23
-104
-21
6
0
0
0
0
0
0
0
0
-1
-1
8
6
-7
6
0
2
1
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
25
-21
-18
0
34
11
-1
0
0
0
0
0
13
15
0
54
33
35
1
-20
-56
-14
-18
-1
0
0
0
0
0
0
29
55
53
22
10
28
35
7
57
3
0
0
0
0
0
0
0
17
-10
79
24
23
28
33
8
-76
24
0
0
0
0
0
0
0
-9
10
53
-21
55
37
7
55
91
0
0
0
0
0
0
0
0
1
4
22
11
17
17
28
65
-7
8
0
0
0
0
0
0
0
0
3
0
-68
-1
14
80
75
-10
0
0
0
0
0
0
0
0
0
0
0
0
13
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
1
-21
-24
-3
-6
-14
-11
0
13
-1
0
0
0
0
0
0
0
-89
34
18
-25
0
-8
3
13
-47
3
0
0
0
0
0
0
0
86
15
9
-7
-9
6
3
-17
87
-3
8
0
0
0
0
0
0
-17
30
3
4
-2
-11
-15
-45
-20
-19
1
1
0
0
0
0
0
25
-24
-11
7
-7
1
-20
-23
-50
-8
24
-1
-1
0
0
0
0
-41
60
-22
-25
-2
-16
-22
7
73
0
-2
0
0
0
0
0
0
1
-14
1
-17
-18
-16
-17
17
56
0
1
0
0
0
0
0
0
8
-12
-52
-40
-30
-21
-12
-27
80
10
0
0
0
0
0
0
0
0
0
2
-39
-27
-14
2
-31
46
0
0
0
0
0
0
0
0
0
11
-4
8
-17
-42
15
0
15
5
0
0
1
0
0
0
0
0
3
63
16
-18
8
13
-29
-14
-41
3
-2
0
0
0
0
0
0
-12
0
6
0
-4
10
-21
24
6
32
1
0
0
0
0
0
0
-32
82
55
36
13
66
60
40
-12
3
0
0
0
0
0
0
0
29
7
62
27
21
25
0
35
-5
1
0
0
0
0
0
0
0
0
54
28
1
37
54
14
-12
39
-10
0
0
0
0
0
0
0
1
1
-3
23
21
11
-15
-16
20
-6
0
0
0
0
0
0
0
0
-11
-13
38
-47
23
15
-6
14
-17
0
0
0
0
0
0
0
0
0
-53
19
43
42
-24
31
27
-6
-1
0
0
0
0
0
0
3
-17
74
11
0
-6
0
29
-24
6
0
0
0
0
0
0
0
12
-8
-75
11
7
-8
-60
-25
-30
1
-1
0
0
0
0
0
0
15
18
3
0
14
11
8
-23
3
-4
0
0
0
0
0
0
0
16
-4
-10
7
18
25
41
9
10
0
0
0
0
0
0
0
0
14
50
7
38
2
11
2
-49
-9
0
0
0
0
0
0
0
0
8
28
-49
57
48
6
8
30
31
-1
0
0
0
0
0
0
0
0
1
16
22
1
45
22
-9
-54
1
0
0
0
0
0
0
0
0
8
16
62
5
74
31
-17
1
-1
0
0
0
0
0
0
0
0
0
2
0
53
-16
6
0
0
0
0
0
0
0
0
0
-21
-12
-69
-43
0
-8
-17
0
-23
25
0
0
0
0
0
0
-6
-26
-59
-44
17
6
-8
6
8
25
-36
-2
0
0
0
0
0
-10
42
-1
-1
-1
-9
10
-5
26
19
0
-2
0
0
0
0
0
2
17
-11
-17
40
14
11
8
32
26
-2
0
0
0
0
0
0
-2
-8
0
22
46
10
21
46
-22
-18
0
0
0
0
0
0
0
0
-4
-2
-22
6
11
1
15
36
2
2
0
0
0
0
0
0
0
0
0
-32
25
50
-31
11
-6
-3
0
0
0
0
0
0
0
0
0
0
-40
-1
50
-2
-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
3
13
18
178
18
34
11
0
-48
0
0
0
0
0
0
0
6
2
-4
43
-3
8
-40
-22
43
9
0
0
0
0
0
0
0
0
0
2
35
24
42
-6
15
1
1
0
0
0
0
0
0
0
0
0
-7
17
7
-30
12
15
50
0
0
0
0
0
0
0
0
0
-3
0
-63
-30
-66
37
-16
0
2
0
0
0
0
0
0
0
0
-12
0
60
-4
5
-6
1
-31
-14
0
0
0
0
0
0
0
0
0
0
-15
-73
-48
16
-21
-73
-1
0
0
0
0
0
0
0
0
0
0
-22
-53
-111
16
20
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
-2
3
19
9
3
18
0
-27
-4
0
0
0
0
0
0
-7
-1
-6
0
60
56
99
88
96
16
2
0
0
0
0
0
0
0
-1
3
26
146
44
58
43
8
-12
1
0
0
0
0
0
0
0
44
2
124
118
23
52
-23
40
-40
-8
0
0
0
0
0
0
-2
-16
10
95
42
56
-9
9
-9
-24
1
0
0
0
0
0
0
0
0
-1
-9
36
47
-1
15
-34
-5
11
0
0
0
0
0
0
3
-3
0
0
34
-6
-19
16
-18
-16
-13
3
0
0
0
0
0
0
0
0
-24
9
6
-119
-50
-76
48
6
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
78
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
8
46
-16
7
0
1
0
0
0
0
0
0
0
0
0
0
11
72
11
109
-15
-4
0
0
0
0
0
0
0
0
0
0
0
1
34
-6
32
26
0
-1
0
0
0
0
0
0
0
0
0
0
3
35
26
-15
57
-1
-1
0
0
0
0
0
0
0
0
0
0
0
28
-13
64
-27
11
2
0
0
0
0
0
0
0
0
0
0
-1
22
16
-42
60
45
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
-15
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
14
21
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
20
30
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
3
-22
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-19
2
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
13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-19
-14
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
5
-40
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
48
-9
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
17
-21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
41
41
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
3
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
51
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
27
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
0
0
0
-4
71
-7
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
14
69
-20
49
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-8
-35
48
-2
0
0
0
0
0
0
0
0
0
0
0
0
7
4
26
-22
18
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-52
-20
-10
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-37
16
34
2
1
0
0
0
0
0
0
0
0
0
0
0
-7
43
-41
-27
-4
-23
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
23
17
-12
9
7
3
0
0
0
0
0
0
0
0
0
-12
-7
-36
-46
-5
-13
21
-19
0
0
0
0
0
0
0
0
0
20
-1
-22
-7
-52
-13
79
-4
-1
1
0
0
0
0
0
0
-1
0
6
-7
-6
-27
10
36
-8
2
0
0
0
0
0
0
0
0
0
-4
-15
15
-18
-30
-46
-28
-3
0
0
0
0
0
0
0
0
0
0
0
41
-6
-39
14
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
-19
-4
0
0
0
0
0
0
0
0
0
-2
0
-3
0
-4
0
0
0
0
-1
0
0
0
0
0
0
6
13
-6
17
-8
30
0
0
0
0
0
0
0
0
0
0
0
-29
23
-1
-1
-35
15
17
0
0
0
0
0
0
0
0
0
0
18
10
-42
55
0
6
15
24
-1
1
0
0
0
0
0
0
0
-7
-14
-33
-59
-21
6
96
-3
34
0
0
0
0
0
0
0
0
29
7
-7
29
12
28
-3
54
35
-10
0
0
0
0
0
0
0
0
27
0
-4
18
9
-44
-40
-54
9
0
0
0
0
0
0
0
0
0
0
0
-7
-14
-34
-22
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
1
16
19
-1
0
0
0
0
0
0
9
-12
5
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
5
26
3
0
0
0
0
0
0
0
0
0
0
0
0
2
2
19
-10
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
10
-19
8
-21
0
0
0
0
0
0
0
0
0
0
0
0
24
5
7
-23
-2
-1
0
0
0
0
0
0
0
0
0
0
0
19
3
10
16
-27
7
0
0
0
0
0
0
0
0
0
0
0
28
-10
-2
-53
-6
3
-1
0
0
0
0
0
0
0
0
0
0
0
-35
-4
-13
13
-17
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
-16
-29
-11
21
98
0
0
0
-1
0
0
0
0
0
0
-13
-21
-6
-25
6
27
-52
0
0
3
2
1
0
0
0
0
0
-8
-16
-4
-2
-3
35
16
68
0
-2
0
0
0
0
0
0
0
-16
-15
0
5
14
34
31
65
-24
1
10
0
0
0
0
0
0
13
-5
-8
6
7
5
69
9
11
1
-1
0
0
0
0
0
0
-43
-32
-23
-8
-2
1
9
-15
-2
15
0
0
0
0
0
0
0
7
3
3
-18
30
-4
-2
-9
-5
-1
0
0
0
0
0
0
0
0
-1
0
15
15
-66
-29
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
19
-17
-6
-14
-2
-11
-5
0
0
0
1
0
0
0
0
0
0
-36
49
17
2
-4
5
-5
74
1
1
3
0
0
0
0
0
0
-27
-40
3
8
-1
0
-6
44
31
-1
0
0
0
0
0
0
0
-47
-21
0
2
5
2
-5
0
-25
2
-2
0
0
0
0
0
0
-23
-20
2
5
5
1
10
17
-38
-12
0
0
0
0
0
0
0
22
-17
-3
-8
-27
5
-5
-9
71
-19
0
0
-3
0
0
0
0
28
48
3
-8
-8
-1
-1
12
23
-26
0
1
0
0
0
0
0
0
16
-28
-18
-11
3
3
-17
-18
-4
0
0
0
0
0
0
0
0
0
13
-22
7
32
33
16
0
0
0
0
0
0
0
0
0
-1
34
-48
-44
-5
42
90
0
0
0
0
0
0
0
0
0
0
24
-7
-8
-17
20
-1
-45
1
10
0
0
0
0
0
0
0
0
16
-16
-33
15
29
15
50
27
9
0
0
0
0
0
0
0
0
-4
43
-75
-32
3
54
49
-7
-2
0
0
0
0
0
0
0
0
20
25
-9
-3
-15
-5
-37
0
0
0
0
0
0
0
0
0
0
0
-16
20
23
-94
9
-34
27
1
0
0
0
0
0
0
0
0
0
-1
18
-64
-8
3
-7
-1
-8
0
0
0
0
0
0
0
0
0
0
24
-29
12
-13
-11
-19
1
0
0
0
0
0
0
0
0
0
10
-48
-3
-27
10
1
0
0
0
0
0
0
0
0
0
0
1
-3
-3
-15
-6
43
18
-45
0
-2
0
0
0
0
0
0
0
0
-19
0
-6
11
41
0
44
-6
0
0
0
0
0
0
0
0
-39
-53
0
-10
-11
7
61
-17
1
0
0
0
0
0
0
0
0
-72
-18
2
9
20
43
24
18
-6
0
0
0
0
0
0
0
0
-20
-4
1
19
11
12
-7
23
0
0
0
0
0
0
0
0
0
-14
22
1
7
-1
13
-18
-76
-1
0
0
0
0
0
0
0
0
28
-14
7
-24
-22
2
16
-14
0
-6
0
0
0
0
0
0
0
-39
6
22
-83
7
27
-15
16
0
0
0
0
0
0
0
0
0
0
0
-77
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
29
-1
-5
-11
-15
-1
61
0
0
-8
1
0
0
0
0
0
0
19
5
10
-1
-1
22
12
0
2
0
11
0
0
0
0
0
0
-7
-7
14
15
-1
9
52
52
14
-4
0
0
0
0
0
0
0
2
-5
11
4
11
14
60
114
0
0
0
0
0
0
0
0
0
5
7
5
7
7
11
58
10
10
27
0
0
0
0
0
0
0
3
-6
-3
2
-8
18
-10
29
-79
5
0
0
0
0
0
0
0
-19
-46
7
22
-8
-34
14
15
-23
12
1
0
0
0
0
0
0
0
-4
-1
8
19
44
-7
-37
0
-14
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
13
44
20
51
0
-36
-1
0
-6
0
0
0
0
0
0
0
32
-23
-64
8
-21
-32
-22
0
1
0
0
0
0
0
0
0
0
8
-34
-49
36
-20
-18
-37
2
-10
0
0
0
0
0
0
0
0
-4
-22
-41
-29
-19
-58
6
45
3
0
0
0
0
0
0
0
0
-12
-13
4
8
-1
-100
-24
-12
-9
24
0
0
0
0
0
0
0
0
-44
56
-31
-85
-31
-14
0
-4
17
2
0
0
0
0
0
0
0
0
-30
51
8
-46
-46
0
-10
-30
0
0
0
0
0
0
0
0
0
0
-4
-17
-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
44
36
14
-39
4
35
-82
0
0
0
0
0
0
0
0
0
0
7
3
4
-2
-16
43
25
6
0
0
0
0
0
0
0
0
0
12
-1
0
15
20
-31
48
7
1
-4
0
0
0
0
0
0
0
-14
14
17
15
35
21
-35
0
42
0
3
0
0
0
0
0
0
23
6
6
10
3
1
25
-24
-16
-12
1
0
0
0
0
0
0
40
-23
10
4
-13
23
-42
-24
22
-11
0
0
0
0
0
0
0
35
-5
4
-16
-2
-36
1
-14
105
60
0
0
0
0
0
0
0
0
-5
23
-71
-69
24
11
21
19
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
7
-1
-2
-1
0
0
0
0
0
0
0
0
0
1
34
8
-7
19
-2
0
0
1
-1
0
0
0
0
0
0
0
6
3
7
-50
21
1
0
0
0
0
0
0
0
0
0
0
0
1
-8
12
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
-13
-29
-37
59
14
0
0
0
0
0
0
0
0
0
0
0
0
10
30
-6
-10
-5
0
0
0
0
0
0
0
0
0
0
0
0
32
-45
-39
-73
-27
0
0
0
0
0
0
0
0
0
0
0
0
9
63
46
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-23
19
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
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
-12
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-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
0
0
0
0
0
0
-1
-10
2
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
-62
12
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
23
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
18
-4
-39
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
86
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-16
2
4
0
0
0
-3
0
0
0
0
0
0
0
-2
-5
-11
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
44
9
0
0
0
0
0
0
0
0
0
0
0
0
0
6
23
8
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
6
7
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
0
0
4
3
-8
0
0
0
0
0
0
0
0
0
-2
1
1
0
0
-1
8
2
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
6
-8
0
0
0
0
0
0
0
0
0
0
3
2
-1
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-11
-12
0
0
2
1
0
0
0
0
0
0
0
0
0
-11
-32
19
4
1
-4
6
0
-19
0
0
0
0
0
0
0
0
0
16
13
-3
0
0
6
3
-8
-8
0
0
0
0
0
0
0
4
-33
19
0
0
-3
-7
1
-17
-3
0
0
0
0
0
0
0
-32
11
50
10
-3
1
0
6
-28
0
0
0
0
0
0
0
0
20
-13
8
72
0
0
4
0
0
0
0
0
0
0
0
0
0
-42
4
-14
-11
-8
-26
3
-2
0
0
0
0
0
0
0
0
0
2
13
-3
-44
16
0
0
0
0
0
0
0
0
0
0
0
0
-25
-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
1
-2
22
22
-45
-42
2
0
7
9
2
0
1
0
0
0
4
-8
19
0
26
-26
23
37
-11
-25
32
-1
1
0
0
0
0
0
8
-41
19
-11
-15
-45
-3
-2
-16
60
-3
4
1
0
0
0
0
-3
21
18
-19
61
47
-65
-30
23
36
12
3
-3
0
0
0
0
0
19
-18
-10
84
40
12
46
80
-3
-1
0
0
0
0
0
0
13
-1
-11
75
70
45
74
-4
5
1
0
0
0
0
0
0
0
-18
9
4
18
47
6
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
95
9
42
-28
-4
17
0
20
-37
15
0
1
0
0
0
0
37
0
18
7
-28
32
-1
69
1
-5
-4
-7
-4
0
0
0
0
-20
-47
48
-30
2
7
10
23
-37
-27
1
7
0
0
0
0
0
0
57
-4
-12
11
15
-36
-5
46
-42
2
24
1
0
0
0
0
-43
3
-39
14
-14
-22
3
9
51
-2
28
16
0
0
0
0
0
-6
-70
54
-5
6
7
25
-50
-16
-8
-6
0
2
1
0
0
0
14
-10
-61
65
7
16
-12
35
-9
-20
-4
13
0
0
0
0
0
11
-82
17
-31
-10
0
-9
34
22
4
-7
-4
0
0
0
0
0
0
-6
-4
5
-4
12
-33
12
17
0
1
2
0
0
0
0
0
0
0
0
-4
-24
-46
-45
0
-24
-9
0
0
0
0
0
0
0
0
0
8
-47
-20
-27
-6
6
-39
8
1
0
2
0
0
0
0
0
-2
11
33
-8
63
-51
-21
-7
10
0
0
0
0
0
0
0
0
-1
40
78
14
-18
-29
82
58
-12
0
0
0
0
0
0
0
0
1
-1
25
-76
-41
-2
-18
-17
19
0
0
0
0
0
0
0
0
0
0
9
15
-5
-17
120
-20
0
0
0
0
0
0
0
0
0
0
3
-14
-9
54
-17
9
-2
0
0
0
0
0
0
0
0
0
0
0
42
7
35
57
3
11
0
0
0
0
0
0
0
0
0
0
0
0
37
74
13
-40
-1
0
0
0
0
0
0
0
0
0
0
-4
22
0
-40
66
0
-31
10
0
0
0
0
0
0
0
0
0
-6
30
-27
-29
4
-22
8
41
0
10
0
0
0
0
0
0
-2
14
-17
-25
26
61
41
35
18
-1
0
0
-1
0
0
0
0
0
23
-43
92
-10
40
30
104
11
-1
0
-1
0
0
0
0
0
2
6
31
72
-1
40
78
16
-1
3
0
-1
0
0
0
0
0
0
2
5
-59
25
37
-44
-24
5
0
0
0
0
0
0
0
0
3
-3
9
49
66
5
13
57
-39
0
1
0
0
0
0
0
0
0
0
54
-68
37
34
17
6
-1
0
0
0
0
0
0
0
0
0
0
1
0
54
0
-2
0
0
0
0
0
0
0
0
0
0
24
24
23
32
105
37
0
-18
-7
0
0
0
0
0
0
0
1
60
22
-13
-32
12
11
13
19
9
6
0
0
0
0
0
-1
-22
20
1
-59
-4
42
19
34
-6
-20
0
0
2
0
0
0
0
10
0
23
98
20
10
27
36
69
-6
-2
2
0
0
0
0
0
4
6
24
18
49
21
14
-9
-13
0
1
0
0
0
0
0
0
-1
0
44
-123
11
-10
49
45
0
0
0
0
0
0
0
0
-2
-1
-7
-22
77
44
95
18
0
2
0
0
0
0
0
0
0
0
0
0
2
5
22
4
10
-6
0
0
0
0
0
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
-7
18
-2
0
0
0
0
0
0
0
0
0
0
0
2
-6
13
-28
-18
-7
-17
0
0
0
0
0
0
0
0
0
0
0
-2
3
10
17
18
8
-4
0
0
0
0
0
0
0
0
0
-3
0
0
33
-15
81
0
-15
0
0
0
0
0
0
0
0
0
0
11
11
-3
64
14
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-33
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-3
0
0
0
0
0
0
0
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
6
0
-8
-1
0
0
0
0
0
0
0
0
0
1
11
33
70
-27
-24
91
-8
0
0
0
0
0
0
0
-1
0
19
6
44
39
-47
23
-14
-7
-2
0
0
0
0
0
0
0
0
-6
50
97
6
25
26
6
9
1
0
0
0
0
0
0
-13
-2
8
54
-2
51
78
-41
-22
-7
0
0
0
0
0
0
0
1
0
15
-5
23
14
-5
-1
12
23
0
0
0
0
0
0
0
4
-33
-27
43
24
10
26
20
-32
2
1
0
0
0
0
0
0
0
0
2
-41
4
39
3
4
17
-2
0
0
0
0
0
0
0
0
0
0
-3
-2
6
-18
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
21
-4
6
-1
-1
0
0
0
0
0
0
0
0
0
6
38
-29
57
25
-19
0
-3
-3
0
0
0
0
0
0
0
0
4
45
57
19
-9
-6
0
0
0
0
0
0
0
0
0
0
0
112
-12
23
12
-14
-2
-2
-9
0
0
0
0
0
0
0
0
4
45
20
33
22
11
2
0
-3
0
0
0
0
0
0
0
0
-1
56
13
60
18
3
0
0
0
0
0
0
0
0
0
0
0
0
-9
-14
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-20
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
10
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-28
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
19
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
31
-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
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
25
-33
-10
3
1
0
-7
0
0
0
0
0
0
0
0
0
25
74
-10
-18
0
0
0
6
0
0
0
0
0
0
0
0
0
2
37
18
25
2
-4
-2
0
2
0
0
0
0
0
0
0
0
-7
3
18
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-18
26
10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
-11
14
-28
21
0
0
0
0
0
0
0
0
0
0
0
0
7
0
86
-13
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-32
44
-6
0
0
0
0
0
0
0
0
0
0
0
0
-9
19
-55
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
7
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-12
-1
-9
1
0
0
0
-1
0
0
0
0
0
0
0
0
-1
1
-15
-1
0
1
2
-13
0
0
0
0
0
0
0
0
0
6
-9
0
4
9
12
-21
4
0
0
0
0
0
0
0
0
0
-15
0
0
13
28
23
-16
16
0
-6
0
0
0
0
0
0
0
7
1
0
-1
38
-5
17
0
0
0
0
1
0
0
0
0
0
0
0
4
3
-10
15
-1
-4
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
4
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-2
-1
0
4
0
0
7
4
12
6
2
0
0
-2
0
0
0
0
0
2
-1
3
27
12
3
9
-16
2
0
0
0
1
0
0
-6
0
-18
-13
-2
54
-10
28
-24
-3
-1
0
0
0
0
0
0
0
-12
-6
-24
-19
1
-11
49
75
17
0
0
0
0
0
0
0
-3
12
-1
-11
44
45
28
4
-28
0
0
0
0
0
0
0
0
6
0
0
-3
-1
-47
35
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
1
21
29
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
20
-1
-31
-32
0
0
0
0
0
0
0
0
0
0
0
0
22
-18
59
-5
11
0
0
0
0
0
0
0
0
0
0
0
0
110
-14
24
56
-8
0
0
0
0
0
0
0
0
0
0
0
0
-27
-13
52
27
-18
-1
0
0
0
0
0
0
0
0
0
0
0
20
62
5
-22
-51
-8
19
2
0
0
0
-1
-1
0
0
0
0
1
-59
29
34
-17
20
18
11
1
2
-2
0
-1
0
0
0
0
0
8
4
42
-15
9
-2
1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
0
30
37
46
10
-1
-32
-16
0
0
0
-11
1
0
0
0
0
0
-23
36
-9
-17
12
56
37
0
0
16
-20
11
-1
0
0
0
0
53
-8
-10
-18
4
62
131
15
37
46
13
3
0
0
0
0
0
-19
-22
13
10
5
84
45
34
-88
-5
-3
4
-1
0
0
0
0
-19
0
3
-46
67
66
47
89
26
16
2
-11
-1
-2
0
0
0
-11
21
-25
-19
38
-11
-5
-17
9
33
-2
3
-4
2
0
0
0
0
16
-21
15
-28
-50
19
10
9
6
-7
-2
0
0
0
0
0
0
-3
-1
17
9
27
19
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
-16
-38
6
26
1
-15
54
0
0
4
1
0
0
0
0
0
0
-11
32
20
15
30
-9
39
-42
36
-15
-2
4
2
0
0
0
0
-11
91
0
9
12
42
17
11
-11
6
-8
-3
-1
0
0
0
0
25
-57
29
9
-25
-12
-15
23
-46
-28
4
1
-2
1
-1
0
0
57
-29
20
-15
-14
-26
18
65
60
6
2
-9
2
0
0
0
0
10
21
-27
-29
-6
-9
31
-46
-21
-22
31
10
0
0
0
0
0
31
20
1
-7
-29
-16
5
17
-30
-39
-1
7
-3
0
0
0
0
0
-5
-37
3
-14
-33
-4
-4
-33
-1
4
0
0
0
0
0
0
0
0
-15
-40
29
-44
3
-16
-3
1
0
-2
0
0
0
0
0
-47
-16
-139
15
-19
14
-5
0
0
0
0
0
0
0
0
0
0
29
-10
31
-62
68
7
29
0
-3
0
0
0
0
0
0
0
0
26
-23
-21
66
102
12
11
16
1
0
0
0
0
0
0
0
0
-10
-29
0
-81
-26
10
9
26
-1
0
0
0
0
0
0
0
0
1
23
-14
49
1
55
49
-1
3
2
0
0
0
0
0
0
0
-47
-4
-10
-32
-64
-16
10
-22
-12
0
-1
0
0
0
0
0
0
3
-18
9
-31
-11
45
-55
-23
-7
0
0
0
0
0
0
0
0
6
21
53
-14
51
13
-24
-6
-1
0
1
1
0
0
0
0
0
34
19
48
65
-11
1
-2
0
0
0
0
0
0
0
0
0
0
-39
-19
23
18
19
29
-48
38
0
0
0
0
0
0
0
0
0
-23
35
67
-13
-26
60
0
6
2
0
0
0
0
0
0
0
0
14
41
-27
-24
45
-10
37
-47
0
0
0
0
0
0
0
0
0
-29
8
-69
32
-96
-80
94
17
-3
0
0
0
0
0
0
0
0
3
-7
12
-59
-14
-23
-36
-4
0
0
-1
-1
0
0
0
0
0
-39
34
-10
-15
38
28
26
68
3
0
0
0
0
0
0
0
0
-53
-28
-22
-31
-1
9
44
-40
-4
0
-1
0
0
0
0
0
0
27
-7
-11
-33
-42
-15
-1
-8
19
3
0
0
0
0
0
0
0
0
0
54
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-19
23
27
-8
-1
-13
0
0
8
-13
0
0
0
0
0
0
18
1
20
-3
24
5
-28
0
17
0
4
1
0
0
0
0
0
-12
29
20
8
25
27
25
58
-28
-119
-9
-2
0
0
0
0
0
-4
9
12
-6
-4
37
118
-5
53
-37
6
-1
0
0
0
0
0
-6
8
13
-33
18
39
-5
47
-46
-49
1
0
-1
1
0
0
0
-1
16
36
-20
-37
8
-15
-42
8
-12
-28
-2
0
0
0
0
0
0
19
-9
-22
-41
17
-29
13
5
-12
-3
0
0
0
0
0
0
0
0
-4
47
43
23
34
0
1
0
-3
0
0
0
0
0
0
0
0
-2
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
7
0
34
-20
3
1
0
0
0
0
0
0
0
0
0
0
1
-16
-32
19
9
-13
0
0
-2
0
16
0
0
0
0
0
0
8
1
61
25
37
12
2
0
-28
-30
-2
0
0
0
0
0
0
0
-22
30
16
9
-23
16
11
-33
8
0
0
0
0
0
0
0
0
24
-30
41
-10
17
-13
11
18
-12
0
0
0
0
0
0
0
0
16
31
16
99
30
-10
-4
-8
-4
0
0
0
0
0
0
0
0
4
18
-49
67
-20
2
-6
-21
0
0
0
0
0
0
0
0
0
0
7
49
-4
0
-4
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
-18
-46
-23
35
-47
4
3
0
0
0
0
0
0
0
0
0
0
8
-48
-19
-29
44
22
0
0
0
-15
-17
0
0
0
0
0
0
9
-3
18
9
31
-8
1
0
0
-11
0
0
0
0
0
0
0
47
-17
-26
6
-41
17
3
-6
-29
-16
9
0
0
0
0
0
0
13
-34
30
-38
1
13
-10
-8
-43
-5
0
0
0
0
0
0
0
38
20
-52
29
-7
9
-12
54
56
40
0
0
0
0
0
0
0
8
-21
18
40
-3
30
-13
-16
22
19
0
0
0
0
0
0
0
-4
11
10
-19
18
21
4
0
4
0
0
0
0
0
0
0
0
4
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-81
9
33
-13
-30
0
0
-3
0
0
0
0
0
0
0
0
-16
-56
-38
3
10
1
0
-1
-2
0
0
0
0
0
0
0
0
16
40
58
13
-8
0
0
-4
1
0
0
0
0
0
0
0
0
5
-12
49
44
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
3
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
35
-57
10
0
0
0
3
0
0
0
0
0
0
0
0
0
-3
1
21
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
-2
34
5
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
36
0
0
0
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
1
7
-20
10
0
4
1
2
-2
1
0
0
0
0
0
0
0
0
2
-38
20
3
-1
-2
-2
4
0
0
0
0
0
0
0
0
2
2
25
27
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
3
-3
2
-10
0
0
0
0
0
0
0
0
0
0
-4
0
0
-10
-2
2
4
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-13
28
-1
0
0
0
0
0
0
0
0
0
0
0
1
2
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
3
-4
-8
13
-3
0
-2
0
0
0
0
0
0
0
0
0
-6
0
-4
0
13
-3
-16
0
7
0
0
0
0
0
0
0
0
0
6
0
3
1
-17
-10
-6
0
0
0
0
0
0
0
0
0
-8
-4
2
4
29
7
-7
-1
0
0
0
0
0
0
0
0
-2
0
1
-1
-12
7
-6
1
7
-18
0
0
0
0
0
0
0
0
0
0
-10
-3
0
-8
-3
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
2
-7
-14
20
-6
0
-22
22
0
0
0
0
0
0
0
10
8
-15
95
31
8
-55
6
34
20
-25
0
0
0
0
0
0
9
-9
11
23
76
23
-9
16
-51
-16
21
3
-1
0
0
0
0
-3
13
23
28
111
39
27
-16
-10
-10
0
0
0
0
0
0
0
0
25
-18
62
68
60
4
22
14
-7
0
0
0
0
0
0
0
0
0
-9
6
5
-35
60
74
-5
1
-3
0
0
0
0
0
0
0
0
0
0
15
55
-13
43
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
26
15
15
-8
-10
18
0
-55
12
1
1
0
0
0
0
0
13
-26
8
-4
-1
9
-25
-37
9
6
1
-1
1
1
0
0
0
0
94
14
-13
-25
-7
16
2
5
13
11
-8
0
0
0
0
0
-6
12
-17
-21
0
-3
-17
-20
-52
1
32
3
7
1
0
0
0
0
-11
14
24
-15
3
-2
2
62
26
8
2
-1
0
0
0
0
0
11
0
23
41
3
-6
-19
-26
8
11
2
-2
-4
0
0
0
-7
-4
41
24
-3
-7
3
-21
-45
-16
-2
0
1
0
0
0
0
0
0
11
48
44
-11
-15
25
25
-2
0
2
0
0
0
0
0
0
0
0
-44
-10
22
-18
12
10
0
0
0
0
0
0
0
0
0
0
0
4
25
-78
-15
0
-32
-11
-6
1
0
-1
-1
0
0
0
7
22
-2
21
72
42
-24
-18
24
17
-1
-3
0
-1
-1
0
0
2
-26
5
5
-33
22
74
38
10
-16
4
0
0
0
0
0
0
1
35
46
8
24
42
31
-14
33
-4
0
0
0
0
0
0
0
0
11
-2
17
44
11
61
78
18
3
0
0
0
1
0
0
0
0
1
1
35
91
121
36
-36
45
-12
0
0
0
0
0
0
0
0
0
-3
-4
70
-8
-35
-22
2
-44
1
-2
-1
-1
0
0
0
0
0
-1
24
15
42
-37
-39
-5
37
-11
0
0
-1
0
0
0
0
0
0
-2
22
64
-34
-37
0
-24
-10
0
10
0
0
0
0
0
21
50
62
-17
9
0
68
-1
8
-2
0
0
0
0
0
0
-1
-6
6
-22
-54
-59
-10
-31
13
-6
3
0
0
0
0
0
0
-6
-8
60
-13
1
-21
28
27
20
1
0
1
0
0
0
0
0
-3
29
60
-22
33
22
56
13
13
1
0
0
0
0
0
0
0
-7
1
18
29
29
43
-28
-57
34
9
1
0
0
0
0
0
0
0
2
6
35
86
19
-26
-36
-23
-24
1
2
0
0
0
0
0
0
0
14
82
59
-12
48
-3
-25
5
0
-1
0
0
0
0
0
0
0
-4
10
2
29
-25
10
11
-4
2
2
-2
-1
0
0
0
0
0
0
0
49
-10
1
0
0
0
0
0
0
0
0
0
0
-2
-1
66
17
33
31
0
31
-9
-2
0
0
0
0
0
0
17
1
48
24
-2
9
-26
-66
-5
12
0
0
0
0
0
0
0
-29
4
15
14
-2
2
55
45
4
11
1
3
0
0
0
0
0
0
-4
12
117
-12
-15
17
75
0
-2
0
0
0
0
0
0
0
-1
8
-1
97
24
34
41
53
18
0
-1
0
0
0
0
0
0
0
0
-1
37
28
4
47
1
-48
-2
0
0
0
0
0
0
0
0
0
0
1
-69
-83
-52
-53
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
36
1
-1
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
27
-13
-26
44
-15
0
0
0
0
0
0
0
0
0
2
-11
45
54
64
2
19
-2
0
0
0
0
0
0
0
0
0
0
-8
15
12
49
40
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-15
-18
15
-25
0
0
0
0
0
0
0
0
0
0
0
16
-1
20
15
-31
11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
-9
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
-13
30
7
14
0
-24
-8
0
0
0
0
0
0
0
0
-4
1
43
-23
8
106
34
6
0
0
1
0
0
0
0
0
-1
-3
-1
-8
46
105
30
47
22
1
4
0
0
0
0
0
0
0
0
11
36
97
24
-42
34
-47
-3
-2
0
0
0
0
0
0
1
0
7
78
67
69
59
15
-43
-24
0
0
0
0
0
0
0
0
0
10
32
62
46
-23
12
-3
0
-1
-1
0
0
0
0
0
0
0
0
-1
17
28
-16
-72
-16
2
0
0
0
0
0
0
0
0
0
0
1
-21
-30
42
-51
19
12
0
0
0
0
0
0
0
0
0
0
0
0
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
7
0
0
0
2
-1
0
-1
0
0
0
0
0
0
0
0
0
19
13
20
25
-4
0
0
-1
0
0
0
0
0
0
0
0
0
54
15
-31
28
-2
2
0
0
-3
0
0
0
0
0
0
0
4
22
56
-12
22
0
11
-4
1
-3
0
0
0
0
0
0
0
-3
62
96
-31
13
-10
-7
-9
-1
0
0
0
0
0
0
0
0
-6
18
15
-37
-37
32
0
3
3
-1
0
0
0
0
0
0
0
0
5
14
-49
34
-19
0
0
-1
0
0
0
0
0
0
0
0
0
-8
0
-21
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-63
34
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-15
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-73
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-17
-2
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
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
47
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
38
19
7
-1
0
0
2
0
0
0
0
0
0
0
0
2
-18
26
-12
16
9
0
-4
0
0
0
0
0
0
0
0
0
10
8
16
-23
-21
-2
0
-1
0
0
0
0
0
0
0
0
0
0
33
-23
29
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-8
13
-4
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
53
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
-7
4
-29
1
0
0
-3
0
0
0
0
0
0
0
0
0
-2
5
-10
34
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
23
-55
17
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
-30
-30
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
3
0
41
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
8
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
15
41
-43
4
41
0
4
0
0
0
0
0
0
0
0
0
0
0
-8
5
3
22
8
3
-1
3
0
0
0
0
0
0
0
0
0
8
-6
-12
-27
26
-15
8
0
4
0
10
0
0
0
0
0
0
0
2
-19
-36
1
-38
-12
-1
3
2
0
0
0
0
0
0
0
0
0
1
-8
-10
-6
-50
2
0
0
0
0
0
0
0
0
0
0
0
0
4
7
-13
13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
22
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
8
59
0
11
1
2
0
0
11
7
0
0
0
0
0
0
-1
11
-22
0
-1
-3
9
-8
0
0
0
0
0
0
0
0
0
0
-8
-51
4
38
34
-1
-9
0
0
0
-1
0
0
0
0
0
0
0
48
-4
-53
-35
-61
-10
-10
0
0
-1
4
0
0
0
0
0
0
7
52
-29
-23
10
-37
12
-1
-1
0
-2
0
0
0
0
0
0
0
-1
-15
-1
-19
-15
17
1
0
0
0
0
0
0
0
0
0
0
0
0
43
1
18
-3
1
0
0
0
0
0
26
34
31
16
-17
0
0
0
0
0
0
0
0
0
0
0
0
-6
-6
17
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
11
35
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-15
51
-17
4
19
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
50
-5
18
1
0
0
0
0
0
0
0
0
0
0
0
0
31
18
-4
-10
-3
4
0
1
0
0
0
-1
0
0
0
0
0
3
32
3
0
4
0
0
2
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
42
19
-45
30
40
1
0
0
0
0
0
0
0
0
0
0
25
-24
13
18
-44
-12
-16
0
0
1
1
4
1
0
0
0
0
22
-12
-20
-9
24
-2
17
60
41
16
-1
0
0
0
0
0
0
55
-27
-1
1
-26
-30
-25
49
-5
0
1
1
0
0
0
0
0
45
-17
18
-5
-3
12
-10
11
-39
-13
3
-4
-2
0
0
0
0
0
-4
35
6
1
-46
-42
-27
21
1
0
-4
-1
0
0
0
0
0
0
-3
-55
76
2
-7
-35
-24
-21
0
-1
0
0
-1
0
0
0
0
0
1
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
3
12
29
-4
10
0
0
8
-2
0
0
0
0
0
0
-12
0
27
5
6
-4
-15
55
-13
2
-3
0
0
0
0
0
0
-13
29
-7
20
-13
-13
14
9
10
-10
0
-2
-4
0
0
0
0
-6
24
21
9
1
18
45
21
58
-3
-29
4
0
0
0
0
0
4
-71
7
-26
-16
-1
-6
17
17
-36
6
-15
0
0
0
0
0
0
4
22
-16
-9
11
32
-8
28
-5
22
-3
-1
0
0
0
0
0
-1
21
-6
17
-25
-6
-54
23
-24
-2
0
0
0
0
0
0
0
0
101
11
11
-24
12
3
-58
0
0
0
0
0
0
0
0
0
0
11
94
2
-25
0
0
0
0
0
0
0
0
0
0
0
-9
80
-12
1
63
52
-26
0
0
0
0
0
0
0
0
0
0
1
37
21
21
13
-8
34
45
5
0
0
0
0
0
0
0
0
-1
10
52
33
14
-20
72
20
2
0
0
0
0
0
0
0
0
7
-29
9
11
9
7
15
14
48
1
0
0
0
0
0
0
0
0
-2
13
-4
-44
29
-3
3
-18
0
0
0
0
0
0
0
0
0
4
-1
28
-2
30
44
-44
-11
0
0
0
0
0
0
0
0
0
0
0
0
4
-24
47
10
23
4
0
0
1
0
0
0
0
0
0
0
8
0
-16
-16
-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
-10
9
13
22
84
-48
-52
-4
0
0
0
0
0
0
0
0
0
-33
58
46
19
18
12
0
22
0
0
0
0
0
0
0
0
0
35
-3
-8
12
5
62
-4
16
-2
0
0
0
0
0
0
0
0
55
-56
-6
25
63
33
24
12
-2
0
-7
0
0
0
0
0
0
0
0
9
35
-28
26
56
-47
12
0
0
0
-1
0
0
0
0
4
-9
6
15
20
2
12
54
0
0
0
0
0
0
0
0
0
0
20
36
-1
-26
14
-30
-7
0
0
0
0
0
1
0
0
0
-3
0
0
7
-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
14
6
23
45
-34
67
84
0
0
-11
1
-1
0
0
0
0
0
9
-3
-16
7
6
83
14
0
29
0
0
-3
0
0
0
0
0
-27
37
20
26
-21
18
4
-19
18
-3
8
1
0
0
0
0
0
98
2
33
19
-13
-6
10
46
12
22
0
-4
0
0
0
0
0
0
-11
27
-12
-39
-7
3
4
11
-33
23
1
-1
0
0
0
0
0
20
-2
-15
6
-19
29
85
-35
13
0
-1
0
0
0
0
0
0
0
-4
36
-17
37
29
-77
-64
-33
-3
0
-1
0
0
0
0
0
0
0
0
-11
-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
70
-16
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
-29
-48
-54
-23
20
-26
0
0
0
0
0
0
0
0
0
0
-4
9
20
22
-68
10
-37
-1
4
0
0
0
0
0
0
0
0
0
-8
-10
-27
8
-58
6
39
22
-2
0
0
0
0
0
0
0
0
0
13
-13
-22
-60
-29
35
26
17
0
0
0
0
0
0
0
0
0
-2
26
2
-4
-4
-38
-15
1
0
0
0
0
0
0
0
0
0
0
0
18
-4
-12
38
10
4
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
0
0
0
0
0
0
0
0
0
0
-3
10
33
-23
-14
-1
0
0
0
0
0
0
0
0
0
0
0
-15
26
28
-38
-10
43
1
0
0
0
0
0
0
0
0
0
0
-16
-10
43
-33
69
61
-3
4
3
0
0
0
0
0
0
0
0
-7
46
50
48
51
18
-13
-2
36
-1
0
0
0
0
0
0
0
0
24
-5
25
-27
-20
60
11
-18
32
0
1
0
0
0
0
0
0
-15
54
-9
-18
-22
1
-59
-8
33
7
0
0
0
0
0
0
0
0
3
26
77
51
13
-21
-1
21
4
0
0
0
0
0
0
0
-2
-4
2
-7
-33
-2
-47
52
-40
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-9
3
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
4
0
-59
-1
56
-19
0
0
0
0
0
0
0
0
0
0
0
0
-32
-8
29
14
-48
15
0
0
0
0
0
0
0
0
0
0
0
-37
-32
-17
-15
31
7
0
0
0
0
0
0
0
0
0
0
0
-39
-5
-21
-44
3
-2
0
0
0
0
0
0
0
0
0
0
0
17
-13
-2
7
-140
0
0
0
0
0
0
0
0
0
0
0
0
27
-44
-46
-42
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
11
-108
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-61
13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
11
52
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-13
-13
20
0
0
0
0
0
0
0
0
0
0
0
0
3
5
59
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-7
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
78
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
-24
-19
-42
-7
2
0
0
0
0
0
0
0
0
0
0
0
-1
-18
-29
11
-3
0
0
0
0
0
0
0
0
0
0
0
8
-4
13
-77
-56
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
81
-35
21
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
35
11
18
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-10
-122
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
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-27
-15
68
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-21
-5
82
72
0
0
0
0
0
0
0
0
0
0
0
0
6
-18
17
-7
15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-13
0
3
0
0
0
0
0
0
0
0
0
0
0
1
-19
8
1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
-18
-18
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
6
43
-4
0
0
0
0
0
0
0
0
24
-35
-49
0
3
0
12
8
9
0
0
0
0
0
0
0
0
3
-77
-8
26
25
7
-8
-2
0
0
0
0
0
0
0
0
-3
0
-28
20
22
22
-10
8
3
0
0
0
0
0
0
0
0
0
8
-25
-33
-21
16
-6
0
0
0
0
0
0
0
0
0
0
0
1
-71
-6
-11
-19
0
-6
0
0
0
0
0
0
0
0
0
0
-12
-84
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
2
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
1
6
-26
7
-2
1
0
0
0
0
0
0
-1
0
-4
39
44
-1
22
-11
2
-21
1
0
0
0
0
0
0
-3
10
-25
5
27
-56
8
4
9
0
0
0
0
0
0
0
0
0
-8
-103
37
34
1
-18
7
-1
4
0
0
0
0
0
0
0
0
-12
-39
-57
-18
-19
-18
19
8
0
0
0
0
0
0
0
0
0
-7
19
32
-10
-41
1
2
8
1
0
0
0
0
0
0
0
0
0
-15
2
6
-4
0
-6
0
0
0
0
0
0
0
0
0
0
-3
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-11
-7
42
-14
0
0
0
0
0
0
2
0
0
0
49
45
40
20
11
6
84
0
0
0
0
0
0
-4
18
-22
25
144
51
20
18
11
3
-9
0
0
0
0
0
0
0
-19
-4
70
10
-4
22
9
-17
44
20
0
0
0
0
0
0
-3
-4
-15
77
43
-3
51
15
18
47
5
0
0
0
0
0
0
1
-30
13
-44
33
-6
-3
51
-20
-18
4
0
0
0
0
0
0
0
-15
15
-4
-7
33
-9
-25
30
90
0
0
0
0
0
0
0
-2
-7
0
0
-2
29
-6
-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
-2
3
3
0
0
6
-5
-13
-24
-27
31
8
0
0
0
0
0
0
0
2
-44
-17
-38
-12
-7
-6
-18
11
7
0
0
0
0
0
0
0
25
-70
-59
10
-14
-6
-11
-27
-25
8
0
0
0
0
0
0
1
22
-1
-3
13
-22
-19
-5
-4
39
6
0
0
0
0
0
-1
20
-46
-15
-5
8
-38
-14
-15
-25
25
50
0
0
0
0
0
-2
-7
7
-2
-69
-62
-38
-9
-8
-1
-14
13
0
0
0
0
0
0
0
-4
-52
-57
-27
-72
-52
-42
-35
51
0
0
0
0
0
0
0
0
1
7
-16
-41
-36
-26
-39
35
15
0
0
0
0
0
0
0
0
0
0
0
46
-13
6
56
-60
0
0
0
0
0
0
0
0
0
0
0
0
5
68
-92
-38
12
54
-36
0
0
0
0
0
0
0
0
54
-50
-15
30
2
-28
8
8
-3
0
0
0
0
0
0
0
0
-27
-24
2
69
19
-7
-35
77
10
0
0
0
0
0
0
0
0
-10
13
16
77
41
-15
18
46
9
0
0
0
0
0
0
0
0
0
-4
79
48
14
-14
10
35
-9
0
0
0
0
0
0
0
0
0
-3
-30
-10
10
55
-6
-32
0
0
0
0
0
0
0
0
0
-3
0
-19
-23
-19
-48
49
32
0
0
0
0
0
0
0
0
0
0
-3
-2
10
-10
-37
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
17
48
0
0
0
0
0
0
0
0
1
0
83
73
17
67
0
0
40
-20
0
0
0
0
0
0
0
0
15
128
0
-25
32
20
-4
-40
40
0
0
0
0
0
0
0
0
3
5
28
-2
-13
5
11
-52
13
0
0
0
0
0
0
0
0
3
-36
24
-23
-34
41
13
34
80
0
0
0
0
0
0
0
0
10
-1
-37
8
-82
38
2
44
81
0
0
0
0
0
0
0
0
0
-27
-71
-48
38
10
17
19
-45
0
0
0
0
0
0
0
0
0
-49
-22
57
23
32
-7
22
0
0
0
0
0
0
0
0
0
0
0
9
-4
9
23
-2
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
9
7
0
0
-5
23
0
-23
-12
-12
-10
0
0
0
0
-2
-6
-7
0
-63
0
69
23
9
2
-21
10
3
0
0
0
0
0
0
-1
-16
59
105
35
15
-1
3
-15
-15
8
0
0
0
0
0
0
0
12
19
-19
28
19
-15
-2
2
39
-39
0
0
0
0
0
0
-6
-58
9
10
47
14
9
-16
5
-1
-3
0
0
0
0
0
0
-1
22
34
-13
-10
32
13
41
-16
100
0
0
0
0
0
0
0
0
1
15
1
44
-54
56
11
17
0
0
0
0
0
0
0
0
0
-16
1
-4
1
-11
-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
-8
-23
-51
24
-56
2
7
0
0
0
0
0
0
0
0
-2
0
-12
-30
-6
-4
16
15
4
0
0
0
0
0
0
-4
2
18
6
15
9
-5
11
-15
36
-2
0
0
0
0
0
0
0
2
24
158
116
13
-15
-20
11
5
-2
0
0
0
0
0
0
0
-11
0
35
5
-2
-3
70
36
10
-20
0
0
0
0
0
0
0
2
-6
-15
-9
-59
25
14
37
5
0
0
0
0
0
0
0
0
0
16
6
2
-12
65
-9
41
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
1
12
4
48
-12
8
17
0
0
0
0
0
0
0
0
0
0
16
80
92
24
24
20
27
0
0
0
0
0
0
0
2
-2
-1
96
133
70
84
-19
-62
8
0
0
0
0
0
0
-1
30
1
0
115
107
-11
49
10
41
68
0
0
0
0
0
0
0
0
-11
4
60
-32
-18
46
-9
-22
-34
0
0
0
0
0
0
0
24
-9
-1
-1
28
58
77
-14
14
25
0
0
0
0
0
0
0
3
53
-1
19
90
30
38
9
-74
0
0
0
0
0
0
0
0
0
6
1
0
32
-73
-95
33
-30
8
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
39
13
-28
1
0
0
0
0
0
0
0
-1
-1
-6
7
40
40
25
69
148
4
0
0
0
0
0
0
0
0
0
0
3
-2
30
58
-45
94
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-25
74
49
-1
0
0
0
0
0
0
0
0
0
0
0
1
57
14
78
-41
23
0
0
0
0
0
0
0
0
0
0
0
-1
17
9
5
89
3
0
0
0
0
0
0
0
0
0
0
0
0
32
47
6
41
0
0
0
0
0
0
0
0
0
0
0
0
0
2
22
0
-8
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-17
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
19
6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
3
-4
24
-15
0
0
0
0
0
0
0
0
0
0
0
1
0
6
15
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
16
-10
25
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-47
67
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
70
4
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-43
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-52
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
58
-73
26
1
-2
0
0
0
0
0
0
0
0
0
0
0
-8
53
122
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
16
1
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
66
96
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
64
2
6
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-13
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
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
16
9
51
-29
29
-11
0
0
0
0
0
0
0
0
0
37
-37
13
56
-18
-31
5
-27
1
0
0
0
0
0
0
0
0
-7
32
17
3
19
24
2
-2
0
0
0
0
0
0
0
0
0
-2
-24
-29
-46
52
-11
-9
7
0
0
0
0
0
0
0
0
0
25
-4
-3
14
-17
16
4
-9
0
0
0
0
0
0
0
0
0
6
22
0
-22
0
28
30
7
-2
0
0
0
0
0
0
0
0
8
2
3
-1
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
16
-1
-3
29
27
0
0
0
0
0
0
0
0
0
0
35
-30
0
-3
0
-12
2
1
0
0
0
0
0
0
0
0
-27
8
-4
6
-12
49
0
20
0
0
0
0
0
0
0
-2
-3
-13
-25
-9
-9
-9
2
-35
-29
0
0
0
0
0
0
0
0
89
80
16
-45
-56
63
-13
16
-19
7
0
0
0
0
0
0
0
-15
51
-58
13
24
38
38
15
20
10
0
0
0
0
0
0
0
1
-17
9
-25
-19
9
28
47
-15
-1
0
0
0
0
0
0
0
-2
0
4
0
0
30
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
5
-24
33
40
-18
-16
8
0
0
0
0
0
0
-8
-24
2
-15
-26
-13
2
38
47
0
4
0
0
0
0
0
0
-53
-41
-35
-13
6
-1
-9
1
29
47
-7
0
0
0
0
0
0
-3
15
-5
-4
-23
-1
-28
-7
14
-42
7
3
0
0
0
0
0
-2
-39
-10
9
16
-21
-54
31
-1
44
-3
0
0
0
0
0
0
0
9
5
-1
-13
57
-6
-42
58
-2
0
0
0
0
0
0
0
0
-1
-3
-3
-41
4
15
8
2
1
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
-2
3
-20
0
-17
-28
-3
7
-43
10
13
0
0
0
0
0
-3
-1
-54
-9
-31
-3
5
-3
-17
-6
38
-30
0
0
0
0
0
0
9
-1
34
-6
-2
-3
7
4
-14
-71
10
0
0
0
0
0
0
7
-5
-17
8
-14
0
-3
0
-9
55
-19
0
0
0
0
0
0
9
69
-10
2
-2
7
-3
13
54
7
-7
0
0
0
0
0
3
1
-6
-8
-13
-9
9
-1
19
36
9
8
0
0
0
0
0
0
-1
-27
34
2
-21
6
-3
10
20
28
0
0
0
0
0
0
0
0
0
-39
-4
-8
-26
-11
1
-34
-22
0
0
0
0
0
0
0
0
0
-6
-16
-16
11
-27
11
0
0
0
0
0
0
0
0
0
0
2
-20
0
-53
1
11
42
3
0
0
0
0
0
0
0
25
-26
8
0
-7
29
17
41
-50
11
13
0
0
0
0
0
1
-36
-26
17
5
-1
-39
-39
-22
34
-22
2
0
0
0
0
0
0
-3
27
19
-2
3
6
-37
-36
41
-24
-4
0
0
0
0
0
0
3
-3
-12
7
1
26
-68
-7
-5
1
0
0
0
0
0
0
0
8
32
-33
-2
-8
-27
-29
-44
35
28
0
0
0
0
0
0
-7
8
6
-1
6
-3
-68
-42
-16
-111
0
0
0
0
0
0
-2
-1
3
26
17
-4
-13
-31
-35
29
35
0
0
0
0
0
0
0
-1
-2
24
7
1
1
1
-65
-3
6
0
0
0
0
0
0
0
0
0
-15
-12
-37
0
0
-28
17
-16
65
0
0
0
0
0
0
0
0
-3
-29
45
-1
-5
-9
5
-26
-73
25
0
0
0
0
0
0
0
-1
-5
32
23
-23
3
-23
-12
-19
3
0
0
0
0
0
0
2
6
-27
10
-2
-13
11
-14
-15
12
7
0
0
0
0
0
0
0
-14
22
13
-15
-13
13
70
4
-9
12
0
0
0
0
0
0
0
-9
14
-4
5
26
-5
45
-64
-4
24
0
0
0
0
0
0
0
-7
-53
10
-14
5
-35
-16
4
7
0
0
0
0
0
0
0
0
-1
-43
-16
-12
-23
5
-6
-48
-1
0
0
0
0
0
0
0
0
0
0
0
2
-9
-5
0
0
0
0
0
0
0
0
0
0
0
-39
-9
-18
0
0
3
9
20
72
-11
-25
0
0
0
0
0
0
-16
-8
-19
-1
-7
-7
-1
53
24
-9
-85
10
0
0
0
1
0
-15
-4
-22
-5
-11
2
14
16
24
96
24
25
0
0
0
0
0
-1
-18
-30
-2
-12
3
2
9
11
12
-19
-6
0
0
0
0
0
0
2
-41
-33
-11
6
-9
28
-20
86
1
-3
0
0
0
0
0
-2
8
-58
-61
-26
31
-4
31
17
3
0
0
0
0
0
0
0
-1
2
-23
-48
-26
-39
-22
74
53
-21
-4
0
0
0
0
0
0
0
0
-10
2
-36
-3
14
-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
-23
0
2
-41
-1
-43
-4
-4
1
3
0
0
0
0
0
0
-14
0
-4
-32
30
5
-15
14
11
-25
1
0
0
0
0
0
0
0
1
-51
41
-90
65
43
10
-3
7
-2
0
0
0
0
0
0
0
-53
51
34
32
-54
47
35
0
-2
0
0
0
0
0
0
0
0
-55
15
16
-17
89
8
-26
0
0
0
0
0
0
0
0
0
25
-6
38
31
18
78
-4
-25
2
0
0
0
0
0
0
0
0
0
18
27
45
-15
29
-14
2
0
0
0
0
0
0
0
0
0
0
1
-3
27
9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
3
-1
-6
0
21
-46
-39
-13
3
-15
-16
0
0
0
0
0
0
-6
-8
0
-9
-18
-14
12
-18
-45
0
-9
-1
0
0
0
0
0
-6
-15
-15
2
0
-28
17
-6
15
3
28
0
0
0
0
0
0
-1
11
-29
-18
6
25
-8
-27
33
10
8
0
0
0
0
0
0
1
26
-34
-9
3
1
5
56
4
18
8
6
0
0
0
0
0
-6
-43
8
-2
17
30
8
0
50
-17
-4
0
0
0
0
0
0
6
37
11
-2
-5
-22
30
-12
7
6
-1
0
0
0
0
0
0
0
-3
-7
12
-1
22
25
2
4
0
0
0
0
0
0
0
0
0
1
0
-12
-2
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-16
0
0
33
0
0
0
0
0
0
0
0
0
0
0
-1
-4
31
22
-2
-26
0
0
0
0
0
0
0
0
0
0
0
0
-7
-39
-69
50
8
-3
0
0
0
0
0
0
0
0
0
0
0
-4
53
-17
34
25
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-36
-2
-27
29
0
0
0
0
0
0
0
0
0
0
0
0
1
24
-37
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-48
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-3
37
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
10
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
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
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
6
4
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-33
-10
82
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
21
97
28
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-52
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
39
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
-22
-25
13
-20
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
-9
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-87
-10
-29
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
-1
24
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
15
-3
1
0
0
0
0
0
0
0
0
0
-6
3
28
25
16
-8
-18
0
0
0
0
0
0
0
0
0
0
6
4
11
-19
-35
-73
11
-1
0
0
0
0
0
0
0
0
0
3
24
14
-70
23
-27
0
-1
0
0
0
0
0
0
0
0
0
3
0
-47
3
-38
2
-12
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-8
8
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
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
9
-6
0
0
0
0
0
0
0
0
0
3
19
54
6
19
-34
-21
3
-13
0
0
0
0
0
0
0
0
1
17
17
2
15
19
74
-36
6
1
0
0
0
0
0
0
0
0
5
38
-18
27
-10
14
-12
7
1
0
0
0
0
0
0
0
0
-7
-37
42
3
-17
-18
-30
-29
-2
0
0
0
0
0
0
0
0
1
3
-27
4
-1
-22
-8
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
22
54
8
-12
60
91
0
0
0
0
0
0
42
12
0
0
34
90
69
41
22
12
31
0
0
0
0
0
0
0
7
99
-20
-30
53
45
38
27
30
56
0
0
0
0
0
0
0
-24
32
-4
11
-20
30
47
16
-11
11
0
0
0
0
0
0
0
1
-35
1
65
24
44
38
18
58
18
0
0
0
0
0
0
0
-4
1
18
-9
4
16
52
73
-20
5
0
0
0
0
0
0
0
0
3
3
40
51
-31
-11
-5
-72
1
0
0
0
0
0
0
0
0
0
0
4
-19
-53
38
-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
-3
0
0
0
-16
-18
-6
-27
-17
30
-1
0
0
0
0
0
0
0
-43
-49
34
-32
-5
2
-8
-18
-46
47
0
0
0
0
0
0
-1
8
28
-48
-32
0
3
8
5
-84
-30
0
0
0
0
0
0
12
-1
-44
-6
9
-13
14
6
-2
14
25
0
0
0
0
0
1
0
-18
8
-31
-26
-11
-3
33
-7
64
13
0
0
0
0
0
0
-1
-2
61
27
-20
-18
2
0
6
-43
9
0
0
0
0
0
0
0
-65
-16
5
-32
-1
-2
-8
-2
-17
-8
0
0
0
0
0
0
0
0
8
63
-5
-17
-7
2
6
-21
0
0
0
0
0
0
0
0
0
0
-28
36
2
-20
-1
-2
0
0
0
0
0
0
0
0
0
1
0
0
39
56
3
74
50
33
26
0
0
0
0
0
0
0
0
1
9
6
-46
10
-25
24
6
-17
0
0
0
0
0
0
0
0
15
-34
51
4
40
50
20
-17
-20
0
0
0
0
0
0
0
0
0
25
59
81
5
-2
35
16
15
0
0
0
0
0
0
0
-2
-2
0
51
14
26
113
59
13
-2
0
0
0
0
0
0
0
0
-1
-6
9
-5
48
73
33
40
16
0
0
0
0
0
0
0
0
0
0
76
4
37
58
24
7
25
0
0
0
0
0
0
0
0
0
0
9
23
102
34
21
-15
-10
0
0
0
0
0
0
0
0
0
0
0
-2
7
-3
23
-25
0
0
0
0
0
0
0
0
0
0
31
28
91
60
-9
0
26
1
0
0
0
0
0
0
0
0
-6
53
0
23
41
8
-10
23
5
0
0
0
0
0
0
0
0
27
41
-17
13
-16
40
22
28
21
0
0
0
0
0
0
0
1
-23
-6
-9
37
75
30
18
-24
35
0
0
0
0
0
0
0
-1
-6
3
-77
-12
20
54
15
-18
23
0
0
0
0
0
0
0
0
0
55
-35
-33
14
21
33
10
-35
0
0
0
0
0
0
0
0
1
7
53
11
-9
38
34
-2
-61
0
0
0
0
0
0
0
0
0
1
0
54
82
7
16
-22
11
0
0
0
0
0
0
0
0
0
0
0
0
1
35
24
0
0
0
0
0
0
0
-2
0
1
0
0
60
28
3
-1
3
43
41
0
0
0
0
0
0
9
0
18
0
60
4
23
10
1
-6
-1
0
0
0
0
0
0
-7
11
-35
45
-53
6
29
35
7
-10
7
0
0
0
0
0
0
0
15
19
-5
39
-5
22
22
18
14
13
0
0
0
0
0
0
0
-12
2
9
16
16
7
-1
11
12
78
0
0
0
0
0
0
0
0
-4
84
-21
-8
8
3
-2
-8
0
0
0
0
0
0
0
0
0
-3
-3
13
-78
12
-34
0
-11
12
0
0
0
0
0
0
0
0
0
0
4
22
-46
14
-47
-14
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
24
27
-6
0
0
0
0
0
0
0
0
0
0
-1
-21
31
124
-13
19
-24
0
0
0
0
0
0
0
0
0
2
0
-60
78
-63
-38
-21
3
0
0
0
0
0
0
0
0
0
-2
-12
-9
61
-1
-15
-26
-58
-1
0
0
0
0
0
0
0
0
-3
5
45
-2
21
-5
12
-60
-8
0
0
0
0
0
0
0
0
0
0
-2
3
-34
-13
0
-17
-3
0
0
0
0
0
0
0
0
0
-2
13
31
-41
8
-44
48
0
0
0
0
0
0
0
0
0
0
-9
-42
33
68
-6
7
10
0
0
0
0
0
0
0
0
0
0
0
0
7
2
50
30
-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
1
162
22
57
-69
1
35
0
0
0
0
0
0
0
0
0
0
34
55
74
-68
-21
-26
-57
0
0
0
0
0
0
0
4
0
-1
0
82
49
-28
40
-79
11
0
0
0
0
0
0
0
28
-4
3
92
62
77
41
48
-15
-19
0
0
0
0
0
0
0
-7
68
2
22
25
22
55
10
110
45
0
0
0
0
0
0
0
10
-4
-2
34
68
47
46
18
22
-8
0
0
0
0
0
0
0
0
3
0
-40
-19
8
57
21
58
10
0
0
0
0
0
0
0
0
0
0
0
18
54
-40
5
80
52
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-22
-45
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-12
60
-27
0
0
0
0
0
0
0
0
-1
1
0
-3
-35
-67
41
63
-7
7
0
0
0
0
0
0
0
0
0
0
0
-15
30
11
85
77
-20
0
0
0
0
0
0
0
0
-1
0
-2
12
0
49
7
-81
-1
0
0
0
0
0
0
0
0
0
0
0
-3
37
17
31
5
-13
0
0
0
0
0
0
0
0
0
0
0
29
-14
20
-1
13
-24
0
0
0
0
0
0
0
0
0
0
0
1
44
39
13
6
41
0
0
0
0
0
0
0
0
0
0
0
0
-3
69
-49
19
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-24
4
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-3
-1
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
1
46
45
-1
-4
0
0
0
0
0
0
0
0
0
0
0
7
3
-10
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
62
75
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
12
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-65
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-21
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
2
4
7
0
0
0
0
0
0
0
0
0
0
0
-1
0
29
9
-2
5
0
0
0
0
0
0
0
0
0
0
0
2
16
19
70
34
3
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
9
29
-47
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
26
11
13
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-13
-53
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
3
-74
30
-16
0
0
0
0
0
0
0
0
0
0
0
16
3
-9
-7
39
-25
2
0
0
0
0
0
0
0
0
0
0
0
1
15
-12
-22
-3
27
0
0
0
0
0
0
0
0
0
0
0
0
15
39
-35
-1
1
0
0
0
0
0
0
0
0
0
0
0
-15
1
73
88
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-60
57
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
2
54
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-4
35
2
2
-11
0
0
0
0
0
0
0
0
0
0
-9
8
-96
4
-34
8
-45
-5
0
0
0
0
0
0
0
0
0
-76
-15
6
-10
51
32
2
11
-24
0
0
0
0
0
0
0
0
-30
-53
0
-20
28
4
-54
-15
-3
0
0
0
0
0
0
0
0
4
-11
-62
-2
-37
-14
1
-54
-1
0
0
0
0
0
0
0
0
-3
20
1
68
23
-68
23
-9
25
0
0
0
0
0
0
0
0
0
22
17
-6
14
-11
97
19
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
-9
-20
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-15
1
7
0
0
0
0
0
0
0
0
0
-9
8
-1
19
15
-10
0
-7
0
0
0
0
0
0
1
-1
4
0
18
-16
-2
24
4
23
3
0
0
0
0
0
0
0
-11
41
36
30
13
46
-30
18
-24
-10
0
0
0
0
0
0
0
-34
5
-42
-50
-4
45
-38
3
12
-2
0
0
0
0
0
0
0
0
78
34
-40
-57
-37
-26
45
15
58
0
0
0
0
0
0
0
-2
0
-20
37
-21
-38
2
-25
21
-14
0
0
0
0
0
0
0
0
4
-1
30
-16
6
-15
8
79
16
0
0
0
0
0
0
0
0
0
0
0
-12
3
-49
-41
8
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
-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
-11
-35
-3
0
-4
-38
-6
8
-55
19
2
0
0
0
0
0
0
17
-46
-22
-7
-7
-8
-26
57
-55
5
10
0
0
0
0
0
1
-8
-20
-7
-8
-14
-7
34
53
-18
30
-15
0
0
0
0
0
0
-2
7
-7
-16
-28
0
7
31
49
6
-16
-4
0
0
0
0
0
-3
-1
-38
8
-13
-22
-23
-15
13
46
-4
0
0
0
0
0
0
0
-1
-30
-27
-35
-21
18
-25
13
44
37
0
0
0
0
0
0
0
0
52
-137
-21
-58
-21
-54
6
3
-1
0
0
0
0
0
0
0
0
0
0
1
0
-1
-5
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-25
-31
0
-13
-7
0
-8
-4
11
45
0
0
0
0
0
1
8
23
-49
1
-5
-6
-3
12
8
62
-3
0
0
0
0
0
0
7
-15
-23
-15
2
0
17
11
29
-13
0
0
0
0
0
0
0
2
-42
-51
-36
0
9
4
22
5
-2
-1
0
0
0
0
0
0
0
-2
-52
1
4
10
0
10
24
14
11
0
0
0
0
0
0
-1
-1
-64
-11
-1
7
5
-3
9
58
-57
0
0
0
0
0
0
0
1
-68
27
-2
14
-15
10
40
12
-16
0
0
0
0
0
1
0
13
-36
5
0
7
-18
-14
14
23
-46
0
0
0
0
0
0
0
0
3
-32
-13
-28
-18
-10
42
45
0
0
0
0
0
0
6
13
5
-6
0
-30
-20
52
-36
1
-2
0
0
0
0
0
0
0
0
12
-80
35
23
7
-25
24
-1
-2
0
0
0
0
0
0
0
0
9
25
24
-4
-38
30
34
15
10
0
0
0
0
0
0
0
0
-11
29
18
13
13
30
15
11
7
0
0
0
0
0
0
0
0
0
-54
-1
-19
-19
16
-1
-15
-1
0
0
0
0
0
0
0
0
0
-20
35
-39
42
-26
-18
-26
0
0
0
0
0
0
0
0
0
0
0
-34
-25
-22
-28
8
-2
16
0
0
0
0
0
0
0
0
0
1
-1
16
44
-2
-28
-24
0
0
0
0
0
0
0
0
0
0
0
6
-4
-59
3
1
-1
0
0
0
0
0
0
0
0
-27
-5
-22
0
8
-23
12
69
57
-1
0
0
0
0
0
0
-3
5
10
-23
-15
12
-5
24
-79
-4
-3
0
0
0
0
0
0
0
1
11
-20
33
15
20
6
-9
50
-3
0
0
0
0
0
0
0
0
2
-49
-4
10
3
14
10
5
24
0
0
0
0
0
0
0
0
-24
-21
-22
-12
9
-20
9
-21
46
0
0
0
0
0
0
0
0
-20
38
-25
-14
19
-8
-2
-71
-4
0
0
0
0
0
0
0
-2
-25
-14
-22
2
8
-15
-6
-24
-1
0
0
0
0
0
0
0
0
-2
-6
-72
-19
-53
25
-15
106
0
0
0
0
0
0
0
0
0
0
0
1
-1
-26
0
-1
0
-1
0
0
0
0
0
0
0
-1
3
8
0
-4
-19
7
31
-78
29
3
0
0
0
0
0
0
13
-44
5
-6
-12
12
-6
11
42
-4
62
0
0
0
0
0
0
15
36
4
1
13
-4
36
14
64
10
-41
2
0
0
0
0
0
0
-10
5
0
-15
18
20
32
-17
5
81
11
0
0
0
0
0
0
0
-8
-1
15
20
-8
18
2
69
21
11
0
0
0
0
0
1
2
2
-11
-32
-2
-5
3
28
-11
-41
-2
0
0
0
0
0
-2
0
-10
-23
-39
-10
-34
-12
50
-4
-1
0
0
0
0
0
0
0
0
0
0
25
31
-2
-10
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
8
-1
0
0
0
0
0
0
0
0
11
0
4
-10
23
22
0
35
-1
0
0
0
0
0
0
0
0
-42
-30
-6
61
37
110
-18
2
-2
-1
0
0
0
0
0
0
1
47
-51
-54
49
16
39
-8
25
-2
-1
0
0
0
0
0
0
10
-53
-32
-2
-62
15
9
-12
11
-7
0
0
0
0
0
0
0
0
-4
17
-61
67
-41
21
-36
-2
15
0
0
0
0
0
0
0
0
-17
36
-30
-17
-8
-38
-3
-1
-7
0
0
0
0
0
0
0
0
0
12
23
-28
-8
-7
-2
0
0
10
0
0
0
0
0
0
0
0
0
-2
-6
-30
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
2
-8
-34
0
-47
12
42
-35
16
12
3
0
0
0
0
0
0
-10
-26
6
-26
-19
-42
21
-22
42
4
0
-4
0
0
0
0
0
9
21
0
-12
12
-16
43
24
34
21
40
-3
0
0
0
0
0
2
6
-15
-30
0
18
24
17
21
28
-21
0
0
0
0
0
0
7
-5
-3
-10
10
15
-15
14
6
-6
64
-1
0
0
0
0
0
-4
28
-12
-21
-1
-15
-22
16
2
5
19
0
0
0
0
0
0
0
-5
-10
-2
-21
-9
2
3
54
38
-35
-3
0
0
0
0
0
0
-3
-8
24
20
2
25
23
60
3
43
4
0
0
0
0
0
0
0
0
0
0
45
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-40
17
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
40
46
-17
-34
0
0
0
0
0
0
0
0
0
-1
0
-1
-10
72
-83
52
-54
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-26
-26
-63
0
0
0
0
0
0
0
0
0
-6
0
0
6
26
33
-24
3
0
0
0
0
0
0
0
0
0
0
0
0
8
-19
75
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
2
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
2
-1
-7
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
30
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-25
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
19
-25
9
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
-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
-9
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
18
16
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
41
79
-24
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
11
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-47
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
-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
-6
0
0
0
0
0
0
0
0
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
-3
1
0
0
0
0
0
0
0
0
0
-1
0
0
-3
16
79
-3
-2
0
0
0
0
0
0
0
0
0
0
-2
-4
12
29
14
44
1
0
0
0
0
0
0
0
0
0
-2
-2
0
-6
-49
19
8
-1
0
0
0
0
0
0
0
0
0
1
0
1
7
-45
-29
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
0
7
4
0
0
0
0
0
0
0
0
0
-1
-11
-7
4
6
0
1
2
0
0
0
0
0
0
0
0
0
-4
24
-13
-2
9
1
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
3
1
-6
6
0
0
2
0
0
0
0
0
0
0
0
4
3
-10
18
-2
10
7
4
-13
1
0
0
0
0
0
0
0
1
-32
-52
-24
-18
-28
-8
-2
-2
0
0
0
0
0
0
0
0
-9
10
101
-24
36
1
-6
0
3
0
0
0
0
0
0
0
0
0
0
-13
-13
-2
-10
15
-2
0
0
0
0
0
0
0
0
0
3
-12
-23
-19
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-2
7
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
10
7
-85
19
-14
-42
51
0
0
0
0
0
1
-1
0
0
0
-12
-7
-8
36
38
-24
1
0
0
0
0
0
1
-1
3
41
-21
59
35
19
58
39
59
-24
0
0
0
0
-1
-1
7
-7
19
-2
-1
-54
3
48
36
32
70
0
0
0
0
1
-24
-4
1
21
-14
54
24
24
45
-9
50
41
0
0
0
0
7
-16
-5
19
33
3
4
87
-3
-23
34
1
0
0
0
0
-2
0
-6
-4
35
0
3
6
39
-1
-41
4
4
0
0
0
0
0
0
0
0
0
0
1
-10
18
0
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
7
0
0
5
0
9
11
-17
22
4
0
0
0
0
0
-1
6
0
28
-4
-9
-21
-15
-10
-4
25
0
0
0
0
0
1
0
0
-41
50
53
31
0
-4
53
25
-36
-3
0
0
0
0
1
-6
4
20
98
-22
3
-41
-20
9
-12
-61
1
0
0
0
0
-1
1
-16
2
49
-18
9
-21
-2
3
28
11
53
0
0
0
0
5
-2
-7
22
-51
35
39
8
5
17
34
-1
3
0
0
0
0
2
3
-4
29
66
30
43
-5
3
23
34
-38
-36
0
0
0
0
0
0
0
4
-35
-11
24
26
-9
-12
31
-11
0
0
0
0
0
0
0
0
0
0
0
-2
29
-16
11
8
0
0
0
0
0
0
0
0
0
0
0
0
22
-48
34
-59
-21
-14
-38
0
0
0
0
0
0
0
0
1
4
-8
14
-35
-60
-27
15
18
0
0
0
0
0
0
0
0
9
-11
26
33
-63
7
-48
1
-1
0
0
0
0
0
0
0
0
0
4
-48
43
-17
47
82
14
9
0
0
0
0
0
0
0
7
7
35
8
71
63
-4
-8
-83
3
0
0
0
0
0
1
0
0
0
9
12
5
29
3
-19
53
0
0
0
0
0
0
0
0
0
0
-1
2
51
-14
38
19
13
0
0
0
0
0
0
0
0
0
0
0
6
4
23
-16
47
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-5
-12
13
0
0
0
0
0
0
0
0
0
0
-22
67
28
25
-28
13
-7
24
0
0
0
0
0
0
0
0
-12
-17
0
-19
18
8
17
21
-27
0
0
0
0
0
0
0
-2
-7
51
17
7
22
49
32
-55
-16
0
0
0
0
0
0
-1
0
-18
-48
95
9
-33
-22
44
18
-52
0
0
0
0
0
1
-1
-4
1
9
-66
12
-2
45
26
7
16
0
0
0
0
0
0
0
1
0
45
1
-34
49
44
37
45
21
0
0
0
0
0
0
0
-1
0
0
29
10
8
84
28
51
0
0
0
0
0
0
0
0
0
0
6
0
42
41
43
29
21
69
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
6
-10
60
9
-37
45
-1
0
0
0
0
0
-3
1
0
12
0
-11
27
44
24
-1
-11
-8
0
0
0
0
0
-1
0
41
2
4
-47
9
6
81
18
55
-22
0
0
0
0
0
0
0
8
39
96
-16
86
26
45
16
65
-43
0
0
0
0
0
-4
29
42
42
1
-19
-12
24
33
20
-44
1
0
0
0
0
0
-6
-13
6
-24
-7
63
-48
-7
0
45
-1
0
0
0
0
0
0
0
0
7
17
11
30
40
-85
-30
20
0
0
0
0
0
0
0
0
0
-2
5
-2
-1
-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
1
1
-2
0
29
1
-1
0
0
0
0
0
0
0
0
0
0
0
-10
1
-79
-24
60
11
0
0
0
0
0
0
0
0
0
0
-3
-1
37
-19
-6
38
40
0
0
0
0
0
0
0
0
1
6
-7
2
13
-18
59
-1
-12
-1
0
0
0
0
0
0
0
0
-2
-1
7
6
80
42
1
0
0
0
0
0
0
0
0
0
0
-1
-2
4
0
2
33
1
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
-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
23
8
2
16
50
31
0
0
0
0
0
0
0
0
0
0
54
14
-8
19
-19
11
31
0
0
0
0
0
0
0
1
0
2
-58
34
53
77
73
55
39
0
0
0
0
0
0
0
-2
8
-6
24
57
72
101
36
34
55
0
0
0
0
0
0
0
-16
3
-3
-11
-27
-6
44
86
50
3
0
0
0
0
0
0
-3
18
-7
2
-25
47
52
26
23
26
-10
0
0
0
0
0
0
0
0
1
3
-45
-39
31
46
-6
16
4
0
0
0
0
0
0
0
0
0
0
1
-10
-13
-58
28
16
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-10
7
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
35
10
-21
-10
72
11
3
0
0
0
0
0
0
2
3
29
2
-13
67
3
27
18
-14
0
0
0
0
0
0
0
0
1
-3
4
-6
-7
-18
-2
92
6
0
0
0
0
0
0
0
1
-1
-1
1
1
0
10
52
78
10
47
0
0
0
0
0
0
0
0
-1
-2
2
-2
12
66
-10
-40
10
0
0
0
0
0
0
0
0
0
0
0
0
-13
55
-3
10
1
0
0
0
0
0
0
0
0
0
0
0
-1
38
-33
122
51
18
0
0
0
0
0
0
0
0
0
0
0
0
-3
-21
-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
-11
-16
-42
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
20
27
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
29
-23
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
15
48
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
-13
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
21
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
1
4
22
10
-34
-6
0
0
0
0
0
0
0
0
0
-3
-2
9
6
-1
-20
-32
-14
0
0
0
0
0
0
0
0
0
1
0
1
0
-6
50
86
4
0
0
0
0
0
0
0
0
0
-1
0
-2
0
43
97
17
10
6
0
0
0
0
0
0
0
0
0
0
0
0
9
31
44
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
100
-12
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
0
0
0
0
0
0
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
-8
-9
3
0
0
0
0
0
0
0
0
-1
0
-1
0
42
-59
-4
37
0
0
0
0
0
0
0
0
-1
0
2
1
0
6
-6
17
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
26
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
8
10
-13
-2
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
-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
4
-10
0
19
-8
10
0
0
0
0
0
0
0
0
0
-7
10
1
-1
1
7
-8
0
0
0
0
0
0
0
0
0
0
0
-5
-22
-12
-11
-7
-1
19
0
0
0
0
0
0
0
0
-1
0
-19
-12
2
9
13
-1
-1
0
0
0
0
0
0
0
0
0
-3
28
-3
1
-4
-1
29
4
0
0
0
0
0
0
0
0
0
10
0
-2
-8
18
-2
-5
2
0
0
0
0
0
0
0
0
0
0
-1
0
-3
7
-1
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
7
-6
-19
25
-4
0
0
0
0
0
0
0
0
0
0
11
0
9
27
8
-1
-1
0
0
0
0
0
0
0
0
0
-7
-1
-9
49
-3
9
15
-2
6
0
0
0
0
0
0
0
3
36
-34
-5
-1
-5
38
3
-11
0
0
0
0
0
0
0
0
-6
6
9
-10
-11
-20
6
12
16
-5
0
0
0
0
0
0
0
0
6
-3
4
7
-4
-15
113
20
6
0
0
0
0
0
0
0
0
15
-4
0
20
28
5
28
40
39
0
0
0
0
0
0
0
0
0
0
-3
-2
-30
38
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
16
0
12
10
42
-29
5
-2
7
-1
0
0
0
0
2
1
-1
0
-19
-38
-17
75
-16
9
22
-27
0
0
0
0
0
0
-8
0
-70
-27
-17
2
-7
-39
-4
26
16
-10
0
0
0
0
-1
4
-13
27
7
26
16
-77
-2
29
8
-41
37
0
0
0
0
0
-6
-1
-18
-14
-21
17
-50
68
37
-9
-7
0
0
0
0
0
2
-3
2
-45
23
-64
-28
9
-6
6
13
-1
0
0
0
0
0
0
0
-3
-1
-14
27
-8
6
8
-3
3
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
0
6
3
28
7
-9
-28
22
0
0
0
0
0
-1
-28
-22
0
-29
-10
-22
-2
-4
14
42
-3
0
0
0
0
-1
1
6
11
5
-11
-13
-8
-8
5
65
-77
25
0
0
0
0
-1
1
-2
19
-2
20
5
4
-22
8
32
1
-40
0
0
0
0
0
0
33
-70
-8
29
-4
10
-8
26
0
9
102
0
0
0
0
2
9
26
-16
-5
19
-15
36
63
25
-34
74
-2
0
0
0
0
0
0
-2
-1
0
47
20
-7
-13
48
24
24
-48
0
0
0
0
0
0
-3
16
-22
50
-28
5
-4
-3
-47
-59
-2
0
0
0
0
0
0
0
0
0
3
-50
21
42
-5
-5
0
0
0
0
0
0
0
0
0
-24
39
0
55
48
65
49
66
0
0
0
0
0
0
0
1
7
-2
0
-3
54
15
26
50
-19
10
-2
0
0
0
0
0
0
16
0
4
-9
-20
32
2
64
-27
-3
0
0
0
0
0
0
-1
0
17
20
9
-63
-52
-38
11
-6
0
1
0
0
0
0
0
0
-15
34
-7
-4
-2
-40
52
-11
-3
16
0
0
0
0
0
0
-6
-59
16
31
10
-3
0
-30
-1
-21
0
0
0
0
0
0
-1
-12
12
-22
27
-13
-3
-54
-48
-16
0
0
0
0
0
0
0
3
-4
11
-4
-3
18
63
-60
3
21
0
0
-4
0
0
0
-1
0
6
-3
10
-88
-81
-81
43
8
-4
0
0
0
0
0
0
0
0
0
3
11
8
0
12
-5
-59
39
26
0
0
0
0
0
0
0
1
-10
14
0
11
-13
-31
-73
-54
83
0
0
0
0
0
0
0
0
6
0
-12
44
35
28
-2
-54
58
0
0
0
0
0
0
0
0
2
-24
3
-56
-19
4
0
17
38
-1
0
0
0
0
0
0
0
7
-7
0
-13
-11
-2
-52
58
-36
-3
0
0
0
0
0
0
-2
1
65
-30
2
-17
35
92
-65
0
-2
0
0
0
0
0
11
3
-1
25
16
-4
13
-13
-55
37
1
-2
0
0
0
0
0
0
0
0
-4
2
-18
18
6
-30
7
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
24
-14
0
21
14
35
9
-29
8
7
-4
0
0
0
0
0
-6
9
0
-14
7
19
12
-48
38
2
-18
0
0
0
0
0
0
0
6
-55
-12
-13
33
36
53
72
17
16
0
0
0
0
0
0
1
-21
7
11
26
12
17
26
33
69
-11
-21
0
0
0
0
0
4
16
-9
-26
-8
-4
59
-44
-12
-2
38
-9
0
0
0
0
3
-1
-1
49
4
12
0
-9
-20
24
-1
16
0
0
0
0
0
-1
-1
13
-2
18
-51
-10
-20
-16
9
27
0
0
0
0
0
0
0
0
0
0
-8
-7
-3
9
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
-4
0
-1
30
2
12
-1
2
-9
2
0
0
0
0
0
0
2
0
-62
28
1
40
-3
13
-4
-37
0
0
0
0
0
0
0
0
5
-44
111
11
-30
18
45
10
2
1
0
0
0
0
0
0
-1
-28
2
0
-37
34
44
-29
-3
11
7
0
0
0
0
0
0
0
19
42
56
-3
-26
-28
-1
12
0
2
0
0
0
0
0
0
0
18
-5
35
-21
-31
21
13
-8
-1
0
0
0
0
0
0
0
0
-14
3
9
79
16
12
1
0
-7
0
0
0
0
0
0
0
0
0
-1
-8
0
1
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
9
34
30
46
7
-65
11
0
0
0
0
0
0
0
64
0
16
23
-3
47
-10
6
24
38
-9
0
0
0
0
0
0
0
-48
62
53
4
13
6
51
-27
26
-4
0
0
0
0
0
0
1
6
28
-1
10
72
-30
4
-3
36
-1
0
0
0
0
0
0
-28
-29
35
-27
-15
19
41
3
43
-81
44
0
0
0
0
0
0
47
8
-29
18
27
15
64
-1
27
33
-3
0
0
0
0
0
0
-29
-15
-10
-3
-19
-28
-25
1
20
3
-4
0
0
0
0
0
0
-32
-85
8
-24
-30
3
-11
-8
8
3
0
0
0
0
0
0
0
0
-1
-6
11
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
-26
3
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
70
16
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
56
-54
45
9
0
0
0
0
0
0
0
0
0
0
0
0
3
-29
14
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
32
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
28
12
-36
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
27
48
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
8
2
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
3
-6
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-8
0
0
0
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
2
1
8
-10
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
6
2
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-7
0
0
1
0
-1
2
-8
0
0
0
0
0
0
0
0
0
7
-7
0
7
3
11
-3
11
0
0
0
0
0
0
0
0
0
-2
1
14
11
-14
-9
-25
-6
0
0
0
0
0
0
0
0
0
0
-4
-3
2
-15
28
3
0
4
0
0
0
0
0
0
0
0
0
0
0
-13
-4
-7
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
4
31
45
-14
-32
-12
22
0
0
0
0
0
0
-1
2
0
0
37
77
97
45
43
-57
-27
0
0
0
0
0
0
0
11
25
42
33
117
18
29
58
-2
-16
0
0
0
0
0
0
0
1
10
42
67
87
50
49
2
-2
6
0
0
0
0
0
0
0
-1
3
-10
14
65
7
27
-12
58
3
0
0
0
0
0
0
0
0
0
-39
38
-34
59
-19
66
2
-6
0
0
0
0
0
0
0
0
0
-3
-6
33
7
22
34
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
41
-30
-4
-31
4
45
2
0
0
0
0
0
0
3
-16
16
-12
-33
-15
19
-1
-49
-27
17
0
0
0
0
0
0
0
-17
-25
45
50
14
-3
14
-6
18
-15
0
0
0
0
1
-4
3
-11
23
39
34
1
15
11
-12
12
7
0
0
0
0
0
3
0
7
27
-21
-10
13
-10
16
6
41
-21
0
0
0
0
0
1
0
0
-1
-25
17
-11
10
10
24
74
44
0
0
0
0
0
0
0
1
-12
-1
-20
-10
3
-12
-18
-45
11
0
0
0
0
0
0
0
0
-1
4
21
-13
23
4
22
-79
20
0
0
0
0
0
0
0
0
0
0
2
16
6
-1
11
0
0
0
0
0
0
0
-1
0
0
0
0
-2
-37
-12
51
-34
36
-6
0
0
0
0
0
0
0
0
2
-2
27
32
-29
-4
-6
12
-6
0
0
0
0
0
0
-1
0
0
-10
27
26
79
13
-6
5
14
0
0
0
0
0
0
0
0
2
2
-26
85
58
-45
-9
0
28
0
0
0
0
0
0
0
0
0
0
-1
64
83
-18
-28
12
46
0
0
0
0
0
0
0
0
0
0
7
-11
26
29
52
5
-6
0
0
0
0
0
0
0
0
0
0
-8
9
29
49
9
37
48
0
0
0
0
0
0
0
0
0
0
0
9
25
31
19
-4
14
0
0
0
0
0
0
0
0
0
0
0
-2
-9
76
-33
0
17
0
0
0
0
0
0
0
0
0
-34
-80
-3
15
-26
-27
10
7
0
0
0
0
0
0
0
0
0
42
0
43
45
15
-2
-2
-20
0
0
0
0
0
0
0
0
1
3
73
27
4
65
34
28
6
0
0
0
0
0
0
0
0
-8
4
18
19
45
45
13
24
25
0
0
0
0
0
0
0
0
2
-6
-42
10
44
14
2
-3
2
0
0
0
0
0
0
0
0
-4
-8
43
-8
35
19
22
4
-19
0
0
0
0
0
0
0
0
-1
0
-4
31
27
-46
9
33
24
0
0
0
0
0
0
0
0
0
0
3
-2
-10
-20
22
-25
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
1
1
0
0
-5
85
43
9
-20
30
2
0
0
0
0
0
0
1
0
2
0
2
54
17
29
21
-4
52
0
0
0
0
0
0
-6
-1
19
15
12
35
30
60
20
48
26
0
0
0
0
0
0
-1
4
9
58
-149
86
43
-6
30
82
-20
0
0
0
0
0
0
0
0
-2
25
134
70
23
39
-9
71
12
0
0
0
0
0
0
0
1
0
0
7
5
31
17
16
-17
0
0
0
0
0
0
0
0
0
1
1
-27
-42
32
18
20
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-43
9
0
0
0
0
0
0
0
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
12
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
22
-105
-33
5
-3
0
0
0
0
0
0
0
0
0
0
0
-1
3
-61
-46
51
7
-1
0
0
0
0
0
0
0
0
0
7
1
59
-11
53
-25
-21
0
0
0
0
0
0
0
0
0
0
-1
-16
10
-11
-9
10
-2
0
0
0
0
0
0
0
0
0
0
0
0
13
-16
58
-6
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
74
-13
18
1
-7
-1
0
0
0
0
0
0
0
0
0
0
41
-56
15
22
53
-2
56
0
0
0
0
0
0
0
-2
0
0
-24
50
4
82
22
-40
46
0
0
0
0
0
0
0
0
0
3
55
33
32
-24
26
-40
-6
0
0
0
0
0
0
0
-1
2
-3
32
24
24
86
-15
-12
16
0
0
0
0
0
0
0
0
1
0
16
41
32
46
-55
62
24
0
0
0
0
0
0
0
0
0
0
-6
15
1
55
-69
20
-10
0
0
0
0
0
0
0
0
0
0
9
-3
-15
-32
-4
-27
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-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
-2
0
3
9
-1
18
57
-42
-18
-2
0
0
0
0
0
0
0
-3
-1
0
17
44
10
81
5
23
-14
0
0
0
0
0
0
0
-2
0
-1
1
-1
33
54
-82
30
-10
0
0
0
0
0
0
0
-1
1
3
-2
12
16
29
8
-13
-20
0
0
0
0
0
0
0
0
-3
-1
-1
-4
94
-34
16
-16
11
0
0
0
0
0
0
0
0
0
-1
0
-3
-20
49
-15
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
-16
-12
33
18
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-10
18
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
20
-65
0
0
0
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
5
-20
17
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
44
38
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-31
-38
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-39
4
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
24
-50
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-10
-3
1
0
0
0
0
0
0
0
0
-3
-2
0
4
-4
47
4
20
-14
1
0
0
0
0
0
0
0
0
-1
6
-1
0
3
-7
-25
16
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
26
19
15
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-17
-53
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-32
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
-28
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
47
-24
57
-21
0
0
0
0
0
0
0
0
0
1
0
4
1
5
-15
49
19
16
0
0
0
0
0
0
0
0
-1
0
0
0
-10
-85
5
13
8
0
0
0
0
0
0
0
0
0
0
0
9
48
-1
-34
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
17
-71
17
-21
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-10
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
3
-18
-1
-6
-7
0
0
0
0
0
0
0
0
0
7
19
-9
-13
23
28
14
10
9
0
0
0
0
0
0
0
0
0
-10
35
-23
5
-12
16
16
2
1
0
0
0
0
0
0
0
0
12
30
28
10
-18
7
8
4
-1
0
0
0
0
0
0
0
0
0
6
2
19
21
49
-1
-18
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-17
-72
2
-1
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
-6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
65
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
0
0
0
0
1
0
16
0
3
-17
3
-1
0
0
0
0
0
0
0
0
-12
0
-22
3
-9
-15
-19
-3
19
0
0
0
0
0
0
0
-1
18
26
-23
11
-1
19
0
20
-14
0
0
0
0
0
0
0
0
4
-9
-2
45
3
-6
24
57
-8
0
0
0
0
0
0
0
0
1
-10
-10
-2
46
-12
-27
-34
-45
0
0
0
0
0
0
0
0
0
0
-34
1
-81
36
-26
-10
13
0
0
0
0
0
0
0
0
0
0
0
-7
4
-14
-44
13
13
0
0
0
0
0
0
0
0
0
0
0
3
-6
-70
83
-43
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
18
80
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
-6
-38
36
43
24
19
-7
0
0
0
0
0
0
-3
-9
34
3
23
-21
-11
127
24
34
-20
0
0
0
0
0
4
-2
-16
-5
11
0
33
0
-13
29
19
11
0
0
0
0
0
0
2
24
37
-14
37
48
34
10
23
-22
-25
-3
0
0
0
0
0
0
6
-10
-45
-13
5
26
10
29
-14
-1
2
0
0
0
0
0
0
0
1
-20
24
55
-25
1
-2
-10
-29
6
0
0
0
0
0
0
0
0
0
0
20
-13
-3
-10
-11
9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
37
-1
0
5
3
20
54
48
40
6
0
0
0
0
0
0
-1
7
8
20
2
-13
1
18
39
-12
-81
0
0
0
0
0
0
-2
2
-45
-25
15
-5
-5
28
19
-40
-5
0
0
0
0
0
0
0
7
-58
-29
-28
-7
8
50
20
-14
-2
0
0
0
0
0
0
0
-7
-79
-6
32
-7
17
14
66
29
8
0
0
0
0
0
0
0
3
20
-61
-12
-13
15
31
31
-23
-11
0
0
0
0
0
0
0
0
-1
-12
26
9
-6
30
17
10
-12
0
0
0
0
0
0
0
0
-4
13
16
-27
7
-27
63
-62
-49
0
0
0
0
0
0
0
0
0
0
0
-51
-49
0
6
0
0
0
0
0
0
1
1
-1
-15
-11
0
26
-8
13
9
11
17
0
0
0
0
0
0
0
0
-47
43
-8
49
43
19
87
57
24
0
0
0
0
0
0
0
0
10
47
51
-21
62
25
45
-22
12
-1
0
0
0
0
0
0
0
0
64
-24
43
-13
25
63
30
23
0
0
0
0
0
0
0
0
0
33
12
10
-26
-63
-24
-22
-1
0
0
0
0
0
0
0
0
0
4
0
4
-7
42
18
-53
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
22
27
1
-12
0
0
0
0
0
0
0
0
0
0
-3
13
-11
-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
4
43
-28
0
31
62
-9
26
38
15
0
0
0
0
0
0
0
8
-17
-26
-12
32
-28
-47
-21
17
-12
0
0
0
0
0
0
0
0
-2
54
9
-13
19
13
-82
77
-8
0
0
0
0
0
0
0
0
-1
-17
8
-35
7
14
-39
0
12
0
0
0
0
0
0
0
0
0
2
-2
28
25
-7
-50
-23
0
0
0
0
0
0
0
0
0
0
21
-7
21
8
-51
21
2
-4
0
0
0
0
0
0
0
0
0
1
-5
2
-26
16
18
-3
2
0
0
0
0
0
0
0
0
0
15
0
-19
-2
19
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
1
0
0
0
0
0
0
0
0
1
-28
-2
0
-4
31
-4
64
29
-2
-50
8
0
0
0
0
-4
4
31
-24
14
9
34
0
72
-25
-30
-42
15
0
0
0
0
0
0
9
12
1
-2
20
38
-20
-12
-3
-26
-10
0
0
0
0
0
0
4
20
-19
6
17
34
65
116
-30
-22
-21
0
0
0
0
0
0
0
-1
-18
21
14
50
18
-28
-18
-114
-1
0
0
0
0
0
0
0
0
10
-13
30
-6
-14
14
-37
-8
1
0
0
0
0
0
0
0
0
6
-4
-23
2
13
-35
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-64
20
-9
25
-2
-1
-3
0
0
0
0
0
0
0
-4
-33
-45
35
69
-5
-5
-29
1
-29
0
0
0
0
0
0
0
0
0
-6
-14
9
55
41
-9
-6
-21
0
0
0
0
0
0
0
0
15
-18
-35
36
5
0
8
-12
16
-1
0
0
0
0
0
0
0
1
12
-9
3
4
-62
10
-6
-7
2
0
0
0
0
0
0
0
0
10
-8
-6
-34
-11
-21
14
13
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-40
21
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
63
13
6
-1
-3
10
-1
3
0
0
0
0
0
0
18
-52
35
47
-15
-16
-41
15
27
55
-6
0
0
0
0
0
0
8
-31
-42
29
1
51
-25
-9
45
-6
10
0
0
0
0
0
0
0
26
-7
0
36
-27
-8
3
-24
-15
36
0
0
0
0
0
0
1
48
13
47
9
-16
-31
32
20
-23
21
0
0
0
0
0
0
0
-2
14
20
-21
-4
9
15
6
-28
56
0
0
0
0
0
0
0
4
32
54
30
35
20
-4
-62
-29
47
0
0
0
0
0
0
0
0
0
0
-4
-1
-4
-41
0
-16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
63
-32
9
5
25
0
-3
0
0
0
0
0
0
0
-32
9
-9
-5
-6
17
7
23
-3
0
0
0
0
0
0
0
0
-53
-21
-20
-43
-9
35
6
-1
0
1
0
0
0
0
0
0
0
3
-27
-11
7
-16
-27
0
0
-1
0
0
0
0
0
0
0
0
8
-58
-55
-96
74
14
-1
0
0
0
0
0
0
0
0
0
0
7
16
-10
-14
2
-13
2
0
0
0
0
0
0
0
0
0
0
-8
-33
31
-7
24
8
0
0
0
0
0
0
0
0
0
0
0
1
-6
28
-27
2
-6
0
0
0
0
0
0
0
0
0
0
0
10
-6
-14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-37
41
3
0
0
-1
0
0
0
0
0
0
0
0
0
4
-77
46
-10
39
-2
2
0
0
0
0
0
0
0
0
0
0
-9
24
1
42
1
0
0
0
0
0
0
0
0
0
0
0
0
7
-26
-24
-36
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
2
15
11
0
0
0
0
0
0
0
0
0
0
0
0
4
16
1
-15
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-27
12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-84
3
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-37
-32
-29
6
0
-1
0
0
0
0
0
0
0
0
0
1
17
-97
15
-18
-5
0
0
0
2
0
0
0
0
0
0
0
-3
37
27
17
1
-2
0
0
0
0
0
0
0
0
0
0
0
6
6
-101
22
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
11
27
-8
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-53
36
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
31
-58
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
-15
-19
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-44
3
21
0
-1
-1
0
0
0
0
0
0
0
0
0
-37
-20
-21
-52
33
21
0
-3
-1
0
0
0
0
0
0
0
0
3
23
17
71
-5
-3
0
0
0
0
0
0
0
0
0
0
0
2
-87
30
-9
49
-5
0
0
0
0
0
0
0
0
0
0
0
1
7
-94
18
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-54
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
-9
0
0
0
0
0
0
0
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
6
0
2
5
-1
-2
0
0
0
0
0
0
0
0
0
3
-21
52
-38
36
44
67
-5
2
0
0
0
0
0
0
0
0
-4
-1
-81
-6
-29
-1
66
-8
4
0
0
0
0
0
0
0
0
-12
14
-20
22
17
48
16
17
0
0
0
0
0
0
0
0
0
-16
-14
-27
-111
24
0
0
0
-4
0
0
0
0
0
0
0
0
-10
-58
26
-47
21
3
0
1
0
0
0
0
0
0
0
0
0
-15
-26
-92
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-66
-21
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
-48
11
21
1
-35
-15
0
0
0
0
0
0
0
0
0
-26
-6
13
-46
35
34
6
-19
0
3
0
0
0
0
0
0
0
-6
0
33
-56
-37
36
67
20
-21
-3
0
0
0
0
0
0
0
14
-75
15
129
-24
37
-25
-6
9
3
0
0
0
0
0
0
0
-41
51
-3
0
15
-13
-49
2
1
0
0
0
0
0
0
0
0
-34
-49
-23
-97
4
45
7
3
-10
0
0
0
0
0
0
0
0
-24
-26
-38
17
-34
-30
1
6
0
0
0
0
0
0
0
0
0
-16
-50
31
53
-2
0
-2
0
1
0
0
0
0
0
0
0
0
-41
-54
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
56
4
42
-5
-3
0
-5
5
-25
0
0
0
0
0
-3
-33
-37
17
-6
8
-5
8
0
32
40
-54
-6
0
-1
0
0
-23
-17
9
-27
45
-2
10
34
23
17
26
33
19
0
0
0
0
13
-92
7
-12
-7
43
39
15
46
23
31
1
0
8
0
0
0
-1
13
-13
-25
4
35
45
93
51
26
13
11
3
0
0
0
0
-2
34
30
-9
20
-47
72
6
-5
-27
12
0
0
0
0
0
0
-1
2
20
24
29
-30
-67
32
0
-1
0
0
0
0
0
0
0
-2
39
0
-26
3
4
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-18
-26
-31
-29
-43
-9
0
-88
6
-19
-2
-4
0
0
0
0
-92
-6
-38
-37
-17
-56
15
-1
49
0
-7
34
8
0
0
0
0
8
-57
-22
-13
-28
-20
-26
-16
7
-23
32
-33
4
0
0
0
0
-73
-45
-74
-40
-17
-12
-21
-6
41
25
16
13
-4
0
0
0
0
-4
-41
-38
-17
-37
-47
4
-17
-1
-15
16
14
6
0
0
0
0
21
-31
-29
-26
-38
-27
7
-10
36
-16
12
8
3
0
0
0
0
-11
-10
-33
-28
-23
-1
7
3
-36
21
-20
18
12
0
0
0
0
22
21
37
38
-9
-19
-25
-6
-3
-8
4
0
0
0
0
0
0
0
9
1
11
19
-9
20
-23
1
26
5
0
0
0
0
0
0
0
12
22
-52
-22
-23
9
0
21
-1
-4
0
0
0
0
0
0
3
10
-28
3
28
-31
-12
-16
83
9
-3
1
0
0
0
0
0
1
-81
11
-27
-27
15
-7
14
65
24
6
0
0
0
0
0
0
3
-1
-29
46
35
-28
-30
65
83
0
0
1
0
0
0
0
0
0
-12
1
69
45
39
96
78
68
19
6
0
0
0
0
0
0
0
-12
62
24
59
59
-8
-4
6
0
0
0
0
0
0
0
0
0
-2
-84
-4
8
-7
28
12
14
0
0
0
0
0
0
0
0
0
0
-8
-22
-10
1
42
-19
10
1
3
0
0
0
0
0
0
0
0
0
1
-1
17
-13
0
12
0
0
0
0
0
0
0
0
0
3
31
11
-49
-34
6
0
25
-11
-13
-1
0
0
0
0
0
0
-53
-18
32
17
-39
0
16
80
-14
-34
15
0
-1
0
0
0
0
-18
9
7
20
13
-18
30
20
72
10
0
0
0
0
0
0
0
71
16
22
58
58
26
58
-2
24
-2
1
0
0
0
0
0
0
-3
44
20
49
3
40
26
44
4
0
0
0
0
0
0
0
0
-3
25
-8
-31
-42
39
19
71
0
2
0
0
0
0
0
0
0
-11
-23
-21
7
46
-26
-33
48
-1
0
0
0
0
0
0
0
0
0
0
12
20
-9
43
-5
0
0
0
0
0
0
0
0
0
0
-13
0
2
0
-11
0
0
0
0
0
0
0
0
0
0
33
-56
11
36
-27
-13
-16
15
0
-29
31
9
1
0
0
0
0
11
43
-19
8
-27
14
17
-19
22
79
3
40
1
0
1
0
0
82
-5
15
50
-3
62
26
20
47
25
28
1
0
2
0
0
0
-6
-11
-41
3
-40
66
44
17
51
9
-20
0
0
0
0
0
0
50
13
-59
27
15
48
45
45
30
-33
0
-1
0
0
0
0
0
-3
-69
32
36
54
9
13
45
-13
-10
2
0
0
0
0
0
0
2
-42
6
-45
24
-42
12
56
1
0
-4
0
0
0
0
0
0
0
-34
4
-30
-35
10
-1
15
0
0
0
0
0
0
0
0
0
0
6
0
-7
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-3
-4
-23
-15
9
61
0
16
-1
0
0
0
0
0
0
0
14
11
3
-1
46
16
-6
45
48
0
0
0
0
0
0
0
0
-10
24
-4
65
94
1
10
16
43
0
0
0
0
0
0
0
0
-8
20
-17
109
23
39
39
-42
3
0
0
0
0
0
0
0
1
3
-12
-56
108
32
-16
28
-7
0
0
0
0
0
0
0
0
0
2
10
-62
4
1
2
48
0
0
0
0
0
0
0
0
0
0
-7
-1
4
-23
-1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
3
20
-14
-33
25
0
22
-66
2
0
0
0
0
0
4
42
8
19
16
-38
22
36
51
99
23
24
6
0
0
0
0
7
30
-6
-1
9
82
52
17
6
-42
14
4
-8
0
0
0
0
-1
15
-8
-4
83
76
7
24
-15
42
3
0
0
0
0
0
0
0
-25
3
20
115
63
-11
-14
-43
38
-25
6
0
0
0
0
0
0
0
12
43
-22
60
-66
3
20
-27
42
-1
0
0
0
0
0
0
12
26
-4
-17
-20
32
18
4
7
17
0
0
0
0
0
0
4
15
-7
-37
-23
-5
-17
20
-5
7
-4
0
0
0
0
0
0
0
0
0
0
0
6
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
1
88
0
0
51
-56
9
3
0
0
0
0
0
0
0
0
0
0
94
82
51
-3
3
0
4
-2
0
0
0
0
0
0
0
0
68
80
67
19
38
3
-3
0
0
0
0
0
0
0
0
0
0
2
24
2
-11
-81
-10
-1
-2
0
0
0
0
0
0
0
0
0
10
-45
-15
6
28
2
0
0
1
0
0
0
0
0
0
0
0
1
-63
26
-35
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
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
-30
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
2
-19
-3
-4
0
0
0
0
0
0
0
0
0
0
55
-30
41
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
-50
95
49
-54
-1
1
0
0
0
0
0
0
0
0
0
0
0
-12
-11
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
0
0
8
6
0
0
0
0
0
0
0
0
0
0
6
145
0
0
7
-23
11
0
0
0
0
0
0
0
0
0
0
0
102
115
43
7
20
-1
0
0
0
0
0
0
0
0
0
0
2
-9
41
56
4
-8
-1
0
0
0
0
0
0
0
0
0
0
-6
38
38
-28
-47
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
7
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
77
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
35
123
0
0
-20
-4
0
0
0
0
0
0
0
0
0
0
0
26
99
112
109
-11
13
0
0
0
0
0
0
0
0
0
0
2
100
12
36
1
99
-3
0
0
0
0
0
0
0
0
0
0
0
57
36
15
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-32
11
-38
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
-8
8
0
0
0
6
2
0
0
0
0
0
0
0
9
-60
1
-14
59
0
0
0
10
-3
0
0
0
0
0
0
0
31
-39
123
68
40
95
-46
-66
-7
1
0
0
0
0
0
0
0
7
10
27
101
41
46
13
-15
-7
0
0
0
0
0
0
0
-1
-11
24
97
0
59
35
-33
0
0
0
0
0
0
0
0
0
0
0
-13
-3
82
-38
-22
-53
-18
0
0
0
0
0
0
0
0
0
0
0
11
16
-42
-43
-16
-4
0
0
0
0
0
0
0
0
0
0
4
-2
-3
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
2
0
0
0
0
15
-2
0
0
0
0
0
0
12
29
3
0
-16
67
0
0
0
9
21
-15
0
0
0
0
0
-29
-12
-27
-26
84
108
-16
62
-46
-28
12
-1
0
0
0
0
0
-65
-9
5
73
117
8
87
-32
2
12
6
0
0
0
0
0
0
4
-18
-20
96
25
56
-23
-43
17
1
-8
1
0
0
0
0
0
13
-3
81
-44
98
38
-25
-26
-58
0
0
0
0
0
0
0
-2
-8
44
-9
-28
-34
76
44
6
6
0
0
0
0
0
0
0
0
20
-8
-1
1
10
-3
-18
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
39
4
-9
9
-27
-58
0
0
0
0
0
0
0
0
0
0
0
5
8
1
1
2
31
9
0
0
0
0
0
0
0
0
0
0
-13
-21
5
-11
-29
-9
0
3
0
0
0
0
0
0
0
0
0
-14
-30
13
9
-49
24
3
20
-1
-1
0
0
0
0
0
0
0
3
-24
-4
-24
-2
28
4
-9
-8
1
0
0
0
0
0
0
0
23
-7
-36
10
18
-9
33
-36
20
0
0
0
0
0
0
0
0
0
-9
-11
-15
-61
5
24
19
0
0
0
0
0
0
0
0
0
0
23
41
59
29
4
24
1
7
0
0
0
0
0
0
0
0
2
1
-14
-39
1
-3
-3
0
0
0
0
0
0
0
0
0
0
20
-3
-16
-6
44
15
15
0
0
0
-33
-7
0
0
0
0
0
11
-4
0
-11
-9
61
116
0
0
19
33
17
1
0
0
0
0
21
-32
5
7
31
65
108
96
30
36
-42
-1
0
0
0
0
0
22
17
3
-8
40
82
59
89
59
-33
-5
0
0
0
0
0
0
7
2
0
-2
-12
20
38
-12
13
-4
3
0
-1
0
0
0
0
-27
2
5
12
-11
-5
7
-137
22
8
-10
0
0
-1
0
0
0
-4
-27
14
15
-15
-25
-45
-53
5
30
0
0
0
0
0
0
0
0
26
-14
14
-15
-11
10
-2
2
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-25
5
-11
13
0
49
0
0
-63
-11
19
0
0
0
0
0
4
-11
-20
-22
-13
4
44
33
58
-2
-25
0
6
0
0
0
0
-7
20
-12
-1
-16
15
65
37
70
-33
1
7
1
0
0
0
0
-27
-14
-27
-27
-21
-1
38
45
20
-4
25
3
0
0
0
0
0
-26
-44
-26
-33
-29
-2
-5
20
-31
27
72
3
-1
0
0
0
0
-3
18
-20
-11
-28
-33
-32
-7
-8
-15
-18
-1
0
0
0
0
0
-27
-33
-14
-16
5
-34
-3
-9
-3
9
-32
2
-6
0
0
0
0
0
-31
13
10
-11
-13
-3
-21
-74
-11
-3
-6
0
0
0
0
0
0
0
0
18
14
4
-1
32
-21
-1
0
0
0
0
0
0
0
11
-11
27
-27
-3
3
-22
0
0
1
0
0
0
0
0
0
0
-22
-13
2
9
-6
13
36
49
0
0
3
0
0
0
0
0
0
-8
-18
9
32
-11
-53
71
-13
-15
0
0
0
0
0
0
0
0
-11
-16
1
4
36
61
48
-42
2
0
-1
0
0
0
0
0
0
-7
-4
19
-51
30
-79
15
1
-21
1
0
0
0
0
0
0
0
8
-10
-11
-20
-47
-11
58
-26
-1
0
0
0
0
0
0
0
0
6
1
5
9
-26
11
-20
-4
6
-1
0
0
0
0
0
0
0
33
5
14
11
7
20
18
0
7
0
-2
0
0
0
0
0
0
17
12
-1
2
32
2
8
2
0
0
0
0
0
0
0
0
0
64
-25
-20
-1
4
19
54
-33
0
-3
0
0
0
0
0
0
0
3
0
-20
-12
2
16
0
-36
-15
6
0
0
0
0
0
0
0
42
5
-6
-3
10
42
16
11
-20
19
1
0
0
0
0
0
0
-17
-3
20
-1
-43
70
65
70
45
1
0
0
0
0
0
0
0
-11
-11
5
-27
-36
67
21
48
-11
-2
0
0
0
0
0
0
0
-38
4
-49
-30
-10
-34
-2
11
13
-2
0
0
0
0
0
0
0
47
-25
9
-20
8
19
-14
-21
1
-3
0
0
0
0
0
0
0
-13
-32
30
-33
-35
17
14
3
1
0
0
0
0
0
0
0
0
0
0
-32
13
0
0
0
0
0
0
0
0
0
0
0
0
0
34
2
-12
12
34
47
66
0
0
11
-22
7
0
0
0
0
0
9
-13
-5
15
19
59
82
0
45
0
-27
-3
-1
1
0
0
0
-28
17
18
7
21
81
91
60
68
34
-55
81
-8
0
0
0
0
40
6
-9
23
14
78
91
46
25
21
-11
-4
-1
0
0
0
0
8
16
6
-23
25
9
37
-9
-7
-6
1
0
-4
0
0
0
0
19
4
-23
-13
-28
-20
-14
-8
-22
20
1
0
0
0
0
0
0
-30
17
32
7
-34
-33
-54
-31
5
-2
0
0
0
0
0
0
0
0
-43
74
28
48
-30
-18
6
0
-7
0
0
0
0
0
0
0
0
2
3
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-61
-9
-32
-11
-27
6
0
-4
-1
0
0
0
0
0
0
9
-12
-26
-35
16
5
-34
0
41
0
16
7
0
0
0
0
0
2
-9
-77
-6
40
75
73
89
-65
59
-10
8
0
0
0
0
0
16
28
65
36
110
46
116
18
-28
-12
8
0
0
0
0
0
0
-18
26
17
52
56
47
60
-2
-3
-5
0
-3
0
0
0
0
0
-7
118
39
56
63
40
-43
17
-3
-10
-3
0
0
0
0
0
0
37
37
72
48
80
-10
-6
0
-12
0
0
0
0
0
0
0
0
0
75
144
97
-7
-9
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
32
6
-3
-39
20
17
-25
0
0
0
-1
0
0
0
0
0
0
31
11
3
11
21
32
24
111
0
-17
-16
-8
0
0
0
0
0
-8
15
-8
15
45
78
104
46
66
-88
1
0
0
0
0
0
0
3
-18
-2
5
2
80
43
104
-26
11
0
0
0
0
0
0
0
-7
-7
-15
-26
26
42
95
15
-31
55
-1
0
0
0
0
0
0
40
9
-32
-15
6
57
37
106
1
3
0
0
0
0
0
0
0
-59
-4
-18
30
11
-28
-29
9
-2
-1
0
0
0
0
0
0
0
51
5
-6
26
-17
-17
0
0
9
0
0
0
0
0
0
0
0
7
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
9
9
-12
0
-8
0
0
0
0
0
0
0
0
0
-52
-29
-47
-11
11
7
62
28
-39
-3
0
0
0
0
0
0
0
4
-11
9
4
-16
3
2
0
3
6
0
0
0
0
0
0
0
3
-7
45
-33
76
-15
-1
0
0
0
0
0
0
0
0
0
0
31
-27
-11
-1
65
-7
0
1
0
0
0
0
0
0
0
0
0
-7
84
-35
-10
37
19
2
0
0
0
0
0
0
0
0
0
0
0
-8
2
-45
13
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
2
-24
0
0
0
0
0
0
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
-8
-3
6
7
0
0
0
0
0
0
0
0
0
0
0
0
-7
-58
-9
44
-3
-7
0
0
0
0
0
0
0
0
0
0
6
21
31
-17
-12
0
0
0
0
0
0
0
0
0
0
0
0
-2
37
26
60
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
9
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-33
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
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
-30
57
-11
3
0
0
0
0
0
0
0
0
0
0
0
-13
-16
95
-13
48
-4
5
0
-1
-6
0
0
0
0
0
0
0
-12
39
31
50
45
18
1
0
0
0
0
0
0
0
0
0
0
-3
-5
4
-15
34
-1
0
0
0
0
0
0
0
0
0
0
0
0
-40
43
72
30
1
0
0
0
0
0
0
0
0
0
0
0
0
7
-12
-34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-4
17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
57
30
-48
-6
2
0
0
0
0
0
0
0
0
0
0
-4
11
37
-36
17
-23
-25
4
3
1
0
0
0
0
0
0
0
2
-7
22
-4
-7
20
-2
0
0
0
0
0
0
0
0
0
0
-6
46
46
65
-16
14
0
0
0
0
0
0
0
0
0
0
0
0
-8
11
-24
23
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
37
-2
5
-3
-1
0
0
0
0
0
0
0
0
0
-8
-25
34
12
15
27
33
0
-1
0
0
0
0
0
0
0
0
4
4
-49
42
-9
41
46
-5
0
0
0
0
0
0
0
0
0
-2
-17
-46
14
-1
53
-19
0
0
0
0
0
0
0
0
0
0
-1
12
-38
14
21
52
24
10
-1
0
0
0
0
0
0
0
0
0
8
-2
-42
-2
55
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
11
-1
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-10
-16
5
-13
-11
0
0
0
0
0
0
0
0
0
-15
-22
54
40
-12
-38
-23
-11
8
0
0
0
0
0
0
0
0
28
45
-8
7
41
24
36
17
17
-1
0
0
0
0
0
0
0
-28
54
21
19
-11
-15
-25
-16
-11
0
0
0
0
0
0
0
0
91
21
2
-9
14
-13
13
-39
3
0
0
0
0
0
0
0
0
-12
-1
22
-34
-21
-29
-7
-26
-18
7
0
0
0
0
0
0
0
1
0
-16
4
-2
-2
-15
1
1
1
0
0
0
0
0
0
0
0
0
0
2
0
-4
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
-13
-59
28
92
14
6
-10
0
53
18
13
4
0
0
0
0
35
0
34
2
15
27
6
-20
-45
20
6
11
-23
0
0
0
0
8
27
33
65
-1
28
-4
36
16
19
35
17
-11
-2
0
0
0
-4
71
36
17
35
45
11
70
23
-46
-18
-8
-6
0
0
0
0
0
-41
93
56
15
91
35
55
14
-30
0
1
0
0
0
0
0
0
20
19
-2
3
-22
53
-21
-1
-30
-1
0
0
0
0
0
0
0
0
1
22
-38
35
-12
-6
-12
-26
-3
2
0
0
0
0
0
0
0
0
0
-4
38
2
-42
15
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
7
-55
-7
-6
-21
-41
-10
0
-6
-53
-18
2
-4
0
0
0
0
-42
-13
-46
-29
-14
-38
-2
-33
-64
-24
9
1
-3
7
0
0
0
24
3
-11
-18
-7
-18
-4
-23
-30
-63
-25
7
-6
0
0
0
0
-7
34
-42
-11
5
-21
-14
-28
-6
-82
59
20
-15
-3
0
0
0
30
10
-6
-4
-4
-9
-1
-9
-21
-45
55
63
-7
1
0
0
0
-23
-82
-2
-20
-4
-10
-1
-4
-8
3
-16
-10
-2
0
0
0
0
1
-24
-40
-7
-24
-6
-18
-1
-38
-9
-38
-2
-6
0
0
0
0
3
1
43
-7
-7
-16
-8
-41
-6
-25
-26
1
3
2
0
0
0
0
0
2
63
-7
-5
-11
-30
42
-57
0
0
-1
0
0
0
0
0
9
-2
42
13
-49
-12
0
22
-7
34
3
1
-9
-3
0
0
0
7
4
29
-11
-21
35
-2
-40
-4
7
13
1
2
0
0
0
-8
-2
62
6
4
32
-12
-12
3
5
24
26
-7
0
3
0
0
0
-21
47
40
7
1
23
13
52
10
6
7
-7
0
0
0
0
0
30
28
52
48
16
-22
14
4
-35
11
18
-2
0
0
0
0
0
1
78
3
46
5
-4
-11
-20
-9
6
-39
0
8
-3
0
0
0
1
-2
-13
-48
-12
31
-6
-6
3
7
55
-28
4
0
0
0
0
0
-7
19
-26
-1
36
-8
4
4
-4
15
-17
-8
0
0
0
0
0
0
14
-16
2
-45
-2
5
-49
3
-5
6
3
-2
0
0
0
17
25
23
50
-13
40
0
23
-42
6
7
3
0
0
0
0
0
36
60
26
-8
-1
31
-25
-25
-30
-18
-21
-1
0
0
0
0
0
40
-26
6
-1
22
53
8
7
31
34
1
-4
0
0
0
0
0
41
12
4
52
43
66
11
50
34
10
0
0
0
0
0
0
0
20
47
21
16
18
9
-2
22
9
12
0
-4
0
0
0
0
0
7
17
31
17
16
28
-15
-37
13
-12
-2
0
-3
0
0
0
0
3
-12
-25
20
13
-2
68
-17
-67
21
-35
-2
0
0
0
0
0
0
4
31
42
37
-1
-14
-24
-14
-7
0
9
0
0
0
0
0
0
0
1
-3
19
-10
-4
0
0
0
0
0
0
0
0
-2
42
-24
-22
25
-24
-22
26
0
9
-35
-13
-1
0
0
0
0
5
53
-8
1
-32
9
-6
-9
-14
31
-54
26
-1
3
0
0
0
40
7
47
13
0
18
29
6
35
30
35
-9
0
1
0
0
0
0
22
15
11
27
15
-3
50
29
-7
-36
0
1
0
0
0
0
5
-45
-32
46
15
48
36
37
56
19
-1
4
0
0
0
0
0
-1
-1
-22
90
3
73
34
46
34
96
-1
0
0
0
0
0
0
0
2
9
21
0
17
-5
-63
-7
-1
4
0
-1
0
0
0
0
0
0
0
-4
11
-8
-24
6
-21
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
-1
0
0
0
0
0
0
0
0
2
-8
20
-7
-40
6
-50
0
-18
0
0
0
0
0
0
0
3
7
-4
15
52
71
70
-15
-24
23
1
0
0
0
0
0
0
0
-10
16
49
10
-7
-89
28
67
33
0
0
0
0
0
0
0
0
9
-12
-36
30
56
36
27
-16
0
-1
0
0
0
0
0
0
0
0
6
23
26
84
-11
28
21
4
0
0
0
0
0
0
0
0
-4
0
-46
10
-111
-40
-43
33
-68
0
0
0
0
0
0
0
0
0
0
1
-9
36
-94
-31
16
-2
0
0
0
0
0
0
0
0
0
0
-18
-5
-28
20
1
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
1
-2
8
2
-3
-6
47
0
-7
-1
0
0
0
0
0
0
-1
3
-9
64
50
10
3
18
34
24
-5
10
0
0
0
0
0
-2
22
-11
-7
-8
22
8
47
11
-68
16
1
-2
0
0
0
0
-1
50
10
-16
40
32
25
8
-14
-11
0
0
-1
0
0
0
0
-3
-54
9
20
45
-27
-34
59
-41
21
-31
0
3
0
0
0
0
-1
-8
-1
31
41
-5
-48
-5
0
-42
-68
4
2
0
0
0
0
1
-6
0
0
26
-14
25
-57
-32
28
-23
3
0
0
0
0
0
0
0
0
-6
2
-44
-25
-28
-43
-48
-17
1
0
0
0
0
0
0
0
0
0
0
0
-16
-94
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-11
-2
0
1
0
0
0
0
0
0
0
0
2
62
0
0
39
-32
-4
1
0
0
0
0
0
0
0
0
0
-48
13
49
61
3
6
6
6
2
0
0
0
0
0
0
0
0
10
-30
3
-3
-67
7
0
0
2
0
0
0
0
0
0
0
0
7
-32
1
9
-65
20
-4
1
0
0
0
0
0
0
0
0
0
-2
-18
-31
52
32
-35
0
0
0
0
0
0
0
0
0
0
0
6
-60
-40
-4
60
54
8
-1
0
0
0
0
0
0
0
0
0
4
-3
-13
20
-21
49
1
0
0
0
0
0
0
0
0
0
0
0
-5
-8
34
-73
1
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
35
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
11
22
-17
-2
10
1
-7
0
0
0
0
0
0
0
0
0
0
0
-22
10
46
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
18
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-11
-36
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
59
12
11
8
0
0
0
0
0
0
0
0
0
0
0
0
0
89
-12
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
0
8
0
0
1
0
0
0
0
0
0
0
0
1
78
0
0
8
-22
-2
0
-1
0
0
0
0
0
0
0
0
3
30
51
9
63
-22
-1
0
0
0
0
0
0
0
0
0
0
4
-36
9
-18
14
-18
0
-3
0
0
0
0
0
0
0
0
0
-3
-26
-36
-15
-88
1
-2
0
0
0
0
0
0
0
0
0
0
0
-18
-11
-51
20
0
0
-2
0
0
0
0
0
0
0
0
0
0
14
-22
12
30
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-34
-6
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
-39
45
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
32
-20
0
0
-27
7
7
0
0
0
0
0
0
0
0
0
2
10
3
73
53
-17
10
0
0
0
0
0
0
0
0
0
0
0
-24
-25
66
57
1
-9
0
0
0
0
0
0
0
0
0
0
0
-33
-13
-24
13
-3
6
0
0
0
0
0
0
0
0
0
0
0
-37
-26
-82
-38
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
-58
-16
-8
-56
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-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
-24
76
11
31
-12
0
0
0
1
0
0
0
0
0
0
0
-8
73
-30
-39
-78
-36
0
0
0
15
1
0
0
0
0
0
0
-1
59
39
-34
-31
-34
-35
16
51
-11
6
-3
0
0
0
0
0
-2
-19
-50
-19
-17
-4
30
-12
50
-16
2
0
0
0
0
0
0
0
23
21
-12
-31
-56
-99
-14
-28
0
3
0
8
0
0
0
0
0
0
25
-1
-26
-20
10
-15
4
-7
0
0
0
0
0
0
0
0
0
-6
-22
-30
-29
14
-81
-10
-7
-3
0
0
0
0
0
0
0
0
0
0
-1
-1
-28
-30
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
-57
-16
-1
0
0
0
0
0
0
0
0
8
6
-3
1
-7
0
0
0
-1
-12
-1
7
0
0
0
0
21
17
-7
-10
12
56
0
0
0
55
17
4
3
0
0
0
0
-28
36
-5
-69
-62
42
35
64
86
40
-6
20
0
0
0
0
0
23
12
21
36
21
46
-36
65
-16
-30
-8
0
0
0
0
0
0
2
-10
-7
-30
16
-16
-20
-41
-56
-19
-8
0
0
0
0
0
0
44
2
14
-58
-37
-11
4
6
32
-2
0
0
0
0
0
0
0
0
-3
-3
18
-18
15
-32
-49
16
-27
2
-1
0
0
0
0
0
0
0
-1
0
11
8
-17
-11
23
-59
-1
0
0
0
0
0
0
0
0
0
0
0
1
-12
-1
15
-10
-1
0
0
0
0
0
0
-18
12
25
4
-36
1
0
0
0
0
0
0
0
0
0
0
-7
2
7
15
47
27
0
0
0
0
0
0
0
0
0
0
0
48
21
27
39
14
-30
-24
-3
0
0
0
0
0
0
0
0
0
13
6
5
4
13
-1
3
6
-1
1
0
0
0
0
0
0
0
49
12
-19
42
-15
-16
-12
34
2
1
0
0
0
0
0
0
0
-11
24
29
5
31
26
117
-2
0
11
1
0
0
0
0
0
0
47
-9
35
46
11
-67
-39
24
-6
2
4
0
0
0
0
0
0
0
-14
6
34
-22
-17
-29
-3
-1
-1
0
0
0
0
0
0
0
0
0
-2
-1
1
3
1
0
0
0
0
0
0
0
0
0
0
7
16
-27
10
54
25
69
0
0
0
15
-4
0
0
0
0
0
-24
-5
-4
21
-34
39
13
0
0
80
-38
28
-2
6
0
0
0
12
-4
8
20
-1
23
3
2
61
-3
-24
-2
4
0
0
0
0
34
9
15
10
-26
26
16
49
-18
14
0
2
0
0
0
0
0
62
6
17
5
-4
-1
-51
-4
-9
-30
6
9
-3
0
0
0
0
2
2
3
14
-6
-38
15
1
-45
23
1
10
0
0
0
0
0
9
-19
31
6
-26
-63
-11
-58
-77
-35
-1
-1
0
0
0
0
0
0
5
7
-26
38
-111
-49
-36
-4
-3
0
0
0
0
0
0
0
0
0
-3
0
0
-20
0
1
0
0
0
0
0
0
0
0
0
-2
-58
-24
-11
-1
13
3
0
0
-46
9
-8
0
0
0
0
0
-20
-5
-31
-12
-17
1
11
-24
31
35
-12
-8
0
0
0
0
0
-36
32
-6
-3
-24
-8
2
10
14
7
-3
30
-2
0
0
0
0
31
-23
4
-10
2
-5
-13
5
2
31
-17
7
0
0
0
0
0
51
43
-41
-10
-20
-14
-26
-9
-35
-21
-20
-24
1
0
0
0
0
-7
-8
-35
-13
-11
-33
-14
-63
-15
-13
57
-22
-4
0
0
0
0
-50
-13
-8
-7
-2
-19
-24
-32
-74
-11
69
4
0
0
0
0
0
0
17
-12
0
13
-8
22
-17
2
13
0
0
0
0
0
0
0
0
0
18
-6
-7
25
64
-3
-1
0
7
0
0
0
0
0
0
-5
-8
-16
41
-31
-1
83
0
0
-2
0
0
0
0
0
0
0
11
26
8
27
14
5
22
18
69
-2
0
1
0
0
0
0
0
5
54
-16
-29
12
-17
-2
27
9
0
0
0
0
0
0
0
0
62
66
8
-43
14
10
39
-25
4
9
-1
0
0
0
0
0
0
49
48
11
6
-31
-10
-10
34
-7
-5
0
0
0
0
0
0
0
0
-40
-15
-6
-19
-23
-58
-2
-4
0
0
0
0
0
0
0
0
0
-1
-56
51
19
44
-12
-1
0
0
0
0
0
0
0
0
0
0
0
15
57
-3
-23
14
-13
4
0
0
0
0
0
0
0
0
0
4
-8
-22
17
3
0
4
-3
0
0
0
0
0
0
0
0
20
43
0
11
28
31
33
14
0
4
0
0
0
0
0
0
0
7
27
-31
0
-8
15
0
39
-63
2
-2
0
0
0
0
0
0
-11
5
-9
20
17
25
-18
1
15
-13
0
4
0
0
0
0
0
-26
-24
-3
-7
25
-21
-11
7
-6
0
0
0
0
0
0
0
0
-33
31
4
37
-12
-55
26
-29
33
12
3
11
0
0
0
0
0
-35
-20
10
11
-1
-13
1
-10
-6
0
0
0
0
0
0
0
0
65
13
12
-14
50
-12
1
24
2
-6
0
0
0
0
0
0
0
31
38
2
5
32
-5
37
15
0
0
0
0
0
0
0
0
0
0
0
50
7
5
9
-2
0
0
0
0
0
0
0
0
0
0
-44
23
5
-6
72
60
48
0
0
-8
15
12
2
0
0
0
0
10
1
-5
4
14
45
-1
0
73
0
63
-23
-4
0
0
0
0
45
15
-10
16
14
14
-9
57
37
90
34
-8
0
0
0
0
0
8
9
12
13
-24
30
10
3
31
-29
32
-2
-8
0
0
0
0
28
-6
-6
-1
-5
14
-42
1
-28
42
2
0
0
0
0
0
0
8
27
6
-5
6
-14
-51
-62
-85
18
-6
0
0
0
0
0
0
-5
-2
6
-18
12
-10
12
-40
-36
-17
72
0
0
0
0
0
0
0
-1
13
4
32
5
-8
-43
-4
-47
0
0
0
0
0
0
0
0
0
21
2
-10
0
9
0
0
0
0
0
0
0
0
0
0
0
-42
-33
-58
-34
-49
5
20
0
-64
0
-1
0
0
0
0
0
37
6
-14
-51
-17
-23
-5
0
17
0
-12
0
0
0
0
0
0
26
-52
-61
22
-2
1
-64
-19
26
-3
0
-3
0
0
0
0
0
-12
40
32
20
-26
23
-56
31
12
6
-3
0
0
0
0
0
0
27
-30
-20
-58
-15
-55
-8
-49
-7
10
0
0
0
0
0
0
0
0
-70
-14
6
-56
-66
-7
-55
-11
10
4
0
0
0
0
0
0
0
0
19
36
8
-14
-18
12
-8
-7
0
0
0
0
0
0
0
0
0
0
1
6
-24
0
20
-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
-38
-13
14
28
40
1
-45
0
0
0
-1
0
0
0
0
0
0
-2
22
9
-42
-7
33
23
40
0
0
41
6
0
0
0
0
0
20
4
37
52
-3
12
58
41
61
-12
0
-1
0
0
0
0
0
-7
-61
17
21
17
69
28
-20
49
-50
16
0
0
0
0
0
0
3
-45
1
-7
13
-6
11
-86
-64
3
2
3
0
0
0
0
0
-27
-1
-31
0
-20
-1
42
43
16
32
1
0
0
0
0
0
0
29
-38
33
19
5
-25
16
-8
-23
-7
0
0
0
0
0
0
0
-7
-23
12
30
9
9
-18
-50
18
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-89
9
35
94
-21
38
0
35
0
0
0
0
0
0
0
18
14
-4
21
24
32
49
0
7
-1
-1
0
0
0
0
0
0
-15
11
-18
25
47
4
0
1
0
-3
0
0
0
0
0
0
0
-2
-4
13
2
-40
0
-1
0
0
-3
0
0
0
0
0
0
0
20
22
31
6
21
39
1
-1
0
0
0
0
0
0
0
0
0
-21
-29
-16
5
10
-6
1
0
0
0
0
0
0
0
0
0
0
-7
20
-31
-27
-73
10
0
0
0
0
0
0
0
0
0
0
0
-44
35
-7
-6
-24
0
0
0
0
0
0
0
0
0
0
0
0
-26
3
-20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-10
0
6
7
0
4
0
-4
0
0
0
0
0
0
0
2
14
-48
64
18
2
0
0
0
0
0
0
0
0
0
0
0
-7
16
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
20
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-4
-47
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
34
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-2
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
-49
0
0
0
0
0
0
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
-18
52
-22
9
-2
2
-1
0
3
0
0
0
0
0
0
0
0
-56
-21
-51
10
0
1
0
1
8
0
0
0
0
0
0
0
1
-28
46
13
-10
0
0
0
0
3
0
0
0
0
0
0
0
13
-24
-13
-50
-46
0
1
0
0
0
0
0
0
0
0
0
0
-7
7
16
32
-10
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
26
-6
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-27
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
17
7
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
6
-18
0
-46
21
-7
1
-22
0
-3
0
0
0
0
0
0
0
-2
-21
-13
21
-33
16
-7
0
7
0
0
0
0
0
0
0
0
5
-7
-80
31
-12
-4
0
-2
0
-3
0
0
0
0
0
0
0
0
-21
-41
30
22
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-13
25
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-14
-26
37
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-1
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
2
9
2
4
4
0
0
0
0
0
0
0
0
0
0
-32
-9
-10
1
11
-2
4
1
0
0
0
0
0
0
0
0
0
-10
9
6
-2
-7
6
8
0
2
0
0
0
0
0
0
0
0
15
1
-7
1
-8
0
-2
-6
-1
0
0
0
0
0
0
0
0
-4
4
-5
-7
-2
-11
2
0
0
0
0
0
0
0
0
0
0
-7
2
-8
-20
6
4
0
0
0
0
0
0
0
0
0
0
0
-6
8
-4
7
6
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
-43
23
23
-1
7
-77
-38
0
0
0
0
0
0
0
0
0
-8
-3
84
-7
0
-9
-18
12
-26
24
0
0
0
0
0
0
0
-51
1
18
-25
7
1
1
4
-43
-24
0
0
0
0
0
0
0
15
24
91
5
7
-22
4
1
-27
-6
0
0
0
0
0
0
0
-62
54
32
-5
8
2
17
11
-16
-6
0
0
0
0
0
0
0
9
-5
8
66
-17
-48
16
0
0
1
0
0
0
0
0
0
0
10
-23
16
-33
-34
-32
2
-3
0
0
0
0
0
0
0
0
0
4
28
8
-23
38
-1
0
-2
0
0
0
0
0
0
0
0
0
-52
22
-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
27
26
79
88
-35
-35
3
0
2
-14
10
-13
-3
0
0
0
0
51
43
-26
97
56
-33
-6
4
12
-18
-30
26
1
0
0
0
-1
17
12
58
-38
25
10
14
-7
-11
-2
-1
10
-5
0
0
0
-1
38
93
33
-9
28
48
43
41
44
13
16
-14
-1
0
0
0
0
19
-7
32
-18
-9
32
57
28
10
-37
1
-3
-1
0
0
0
-9
0
-19
-21
99
-10
61
-40
67
48
22
0
0
-9
0
0
0
0
-4
14
-10
-5
19
4
-19
25
0
1
2
0
0
0
0
0
0
0
1
1
-1
-80
3
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
89
-22
2
-27
-20
19
0
-26
-63
32
41
15
0
0
0
0
5
38
1
25
-19
-48
14
21
9
33
12
11
-42
-3
3
0
0
-43
18
-2
8
-3
-14
-32
-9
13
-6
-6
51
11
0
0
0
0
-3
13
-24
-3
-33
-15
-4
-23
20
2
59
27
2
1
0
0
0
-48
-20
3
-5
-9
-14
-9
-10
19
-52
16
44
6
0
0
0
0
-24
-29
15
-14
-6
-6
2
-35
44
-19
-18
64
23
1
0
0
0
8
-35
-29
-8
-21
-6
-19
-8
21
-10
10
11
-9
-2
0
0
0
3
-26
-49
-21
-33
-23
-1
-11
3
37
-18
-5
-1
4
0
0
0
0
-10
-1
15
-21
-35
-53
-34
53
5
42
1
0
0
0
0
0
0
4
12
-50
11
-76
23
0
48
28
15
-9
0
0
0
0
0
0
-1
81
42
-31
30
-16
3
35
-30
-2
-1
2
0
0
0
0
0
1
41
33
-7
36
-16
2
0
27
3
4
1
0
0
0
0
0
-21
18
75
50
14
6
57
80
26
10
0
0
1
0
0
0
0
0
13
31
2
-41
78
61
44
42
6
0
0
-2
0
0
0
0
0
0
13
50
46
7
49
54
-10
-6
17
0
0
0
0
0
0
0
39
52
42
-24
38
-33
-46
-9
-1
0
0
0
0
0
0
0
0
0
92
0
6
0
19
-67
4
0
-1
0
0
0
0
0
0
0
0
-2
4
64
13
-3
20
-4
0
0
0
0
0
0
0
0
1
104
80
-11
-45
72
0
19
-22
9
2
-1
0
0
0
0
0
3
53
6
2
-24
-42
23
13
30
-28
18
14
0
1
0
0
0
28
0
11
21
-21
-56
22
77
22
-2
2
2
0
0
0
0
0
3
15
44
36
50
61
51
64
35
-17
-16
0
0
0
0
0
0
-103
4
-3
55
20
32
39
56
16
2
3
-1
0
0
0
0
0
1
25
7
-39
12
49
25
4
18
-1
-6
0
0
0
0
0
0
2
-22
59
-33
6
5
52
39
-28
1
4
0
0
0
0
0
0
0
10
51
53
-43
-26
30
50
-6
-1
0
0
0
0
0
0
0
0
0
0
0
11
1
-2
0
0
0
0
0
0
0
0
-4
39
27
35
58
23
-8
-17
0
-29
-26
9
-1
0
0
0
0
-3
23
78
21
68
8
-22
-6
30
41
21
-1
-20
0
0
0
0
-2
-40
10
41
-43
4
-8
4
11
9
46
-8
2
-3
0
0
0
0
47
13
-1
70
40
1
13
41
51
-22
-6
0
0
-1
0
0
0
41
-14
28
17
36
35
8
38
34
3
-3
0
0
0
0
0
4
14
-10
59
-11
-23
21
78
4
6
0
0
0
0
0
0
0
9
-7
-7
-11
65
5
-23
-17
0
19
-7
1
6
0
0
0
0
0
0
-9
28
-38
1
-24
35
-1
0
0
0
0
0
0
0
0
0
0
2
0
-2
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
9
48
18
-50
0
7
0
0
0
0
0
0
0
0
0
3
0
35
-22
13
-17
-1
-21
4
0
0
0
0
0
0
0
0
1
-2
-16
9
21
28
20
-3
1
0
0
0
0
0
0
0
0
-19
-4
0
49
-28
51
-2
-3
0
0
0
0
0
0
0
0
0
0
-1
-5
-8
-4
2
-2
1
0
0
0
0
0
0
0
0
0
3
0
4
-77
-18
15
-11
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
43
1
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
3
-2
-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
-6
4
7
-14
-16
41
0
-33
-17
7
0
0
0
0
0
0
2
19
11
60
0
-24
10
-24
80
-11
1
0
6
0
0
0
0
1
6
20
14
21
-2
25
41
-16
2
0
0
-6
0
0
0
0
25
-22
1
31
52
-11
5
30
44
6
-6
0
0
0
0
0
0
-23
-28
9
14
83
14
3
-5
13
22
5
-6
0
0
0
0
0
-12
1
27
-46
-32
17
3
7
-29
0
0
-1
0
0
0
0
0
8
-38
7
-10
-4
39
-34
39
-13
-1
3
0
0
0
0
0
0
1
0
2
-38
53
-21
1
14
37
0
6
0
0
0
0
0
0
0
0
0
-4
3
11
10
1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
-8
0
10
0
0
0
0
0
0
0
0
0
121
0
0
136
86
9
-23
3
3
0
0
0
0
0
0
0
3
55
71
85
45
36
-37
-1
-3
0
0
0
0
0
0
0
0
0
21
21
20
45
-12
-18
7
-14
-1
0
0
0
0
0
0
0
-3
80
16
-2
44
-12
-23
-3
-8
0
0
0
0
0
0
0
0
-5
34
43
41
-10
40
2
0
-8
0
0
0
0
0
0
0
0
2
-4
-26
18
-1
1
2
7
0
0
0
0
0
0
0
0
0
1
-7
-51
-40
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
23
-13
56
-1
3
0
0
0
0
0
0
0
0
0
0
0
34
-19
24
-18
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-86
35
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
61
0
0
72
-14
21
1
-3
0
0
0
0
0
0
0
0
0
52
61
-5
46
79
1
0
-7
0
0
0
0
0
0
0
0
0
62
5
-45
47
-14
-4
0
7
0
-2
0
0
0
0
0
0
11
-17
2
-13
-44
1
4
-7
0
1
0
0
0
0
0
0
0
1
-7
-21
-3
22
-3
3
0
-2
0
0
0
0
0
0
0
0
0
-4
17
-10
8
-2
0
-1
0
0
0
0
0
0
0
0
0
0
7
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
-13
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
2
33
0
0
82
18
-7
0
0
0
0
0
0
0
0
0
0
0
20
40
55
8
-52
7
0
0
0
0
0
0
0
0
0
0
-4
9
31
49
-1
-2
0
0
0
0
0
0
0
0
0
0
0
22
40
33
-88
24
0
0
0
0
0
0
0
0
0
0
0
0
-3
-29
30
-8
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-44
0
3
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
-1
0
-2
16
-2
-19
0
0
0
-1
6
0
0
0
0
0
0
0
-11
8
-18
0
16
0
0
0
4
0
0
0
0
0
0
0
0
2
1
28
3
-17
17
-18
-43
0
-6
0
0
0
0
0
0
0
1
42
-6
18
62
58
8
23
0
0
0
0
0
0
0
0
3
-3
-1
-1
54
34
4
-7
75
6
-8
0
-2
2
0
0
0
0
0
6
6
-6
-22
-7
21
3
3
0
0
7
0
0
0
0
0
0
4
-1
13
-41
36
37
-13
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
2
3
0
1
0
0
0
0
-1
13
2
0
-3
2
0
0
0
-9
-27
27
0
0
-1
0
0
0
9
-5
7
-38
18
59
9
16
66
23
-5
3
-7
0
0
0
0
-10
4
0
-7
87
48
-11
24
-37
10
-1
0
0
0
0
0
-1
-2
-17
17
-30
21
31
-45
8
-25
3
-2
0
0
-1
0
0
3
15
-13
-18
-106
-1
-26
2
-33
14
1
0
0
0
0
0
0
-6
5
30
-3
61
38
25
-16
15
0
0
0
0
0
0
0
0
-2
0
0
-7
1
-21
13
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
1
-1
-2
0
0
0
0
0
0
0
13
55
9
43
-43
3
-1
0
0
0
0
0
0
0
0
0
0
-11
32
49
-8
1
22
-3
0
0
0
0
0
0
0
0
0
0
10
52
14
21
16
36
0
0
0
1
0
0
0
0
0
0
0
17
10
49
40
-5
-35
19
-4
12
-1
-1
0
0
0
0
0
0
-4
5
20
-54
-11
56
-3
-38
9
-12
2
-1
1
0
0
0
0
20
11
2
-33
-28
-17
-19
18
2
1
3
-3
-3
0
0
0
0
34
-30
26
33
-42
22
16
45
13
23
-1
-2
-1
-1
0
0
0
0
43
8
-50
-18
38
-11
45
-30
-6
0
0
-6
0
0
0
0
0
0
3
-22
-2
0
-7
0
2
-1
0
0
0
0
0
0
0
-30
12
-4
-22
19
0
0
0
0
0
-61
16
0
0
0
0
0
17
26
33
34
42
53
167
0
0
52
12
13
-12
1
1
0
0
14
5
19
-14
5
96
111
121
17
3
-7
-28
0
0
0
0
0
-13
-4
-8
-3
-32
74
106
40
26
17
-19
25
-2
0
0
0
0
21
-15
0
-15
-40
53
21
60
23
35
-11
-11
36
-4
0
0
0
-26
-20
-29
-42
44
0
-10
-33
21
27
46
-10
-19
9
0
0
0
-1
-35
-3
-26
23
-61
47
-22
-77
-12
-13
-5
-1
2
0
0
0
0
-13
-50
22
-46
24
76
-6
42
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-17
-10
-2
8
28
79
0
0
7
27
-62
-1
1
0
0
0
5
-51
-26
-14
-8
14
53
8
79
16
15
8
18
-1
0
0
0
-7
-12
-5
-11
-17
29
22
4
37
-4
6
-6
0
0
0
0
0
67
10
-13
-5
5
-8
37
34
2
-37
-23
-19
4
3
-1
0
0
13
34
-14
-6
-3
-5
12
0
-23
13
27
-13
21
-1
0
0
0
-28
10
4
2
-21
-12
-8
-12
16
-18
49
59
-9
0
0
0
0
-3
-26
3
-19
4
-20
-33
6
-48
15
-36
46
-2
0
0
0
0
12
-32
-27
3
-3
-3
17
-27
71
3
5
19
-1
0
0
0
0
0
-7
4
-14
8
47
-11
-9
-31
-16
11
-1
0
0
0
0
0
-36
-15
-4
-11
38
44
34
0
0
0
0
0
0
0
0
0
0
-31
15
21
25
42
21
43
48
-10
0
0
0
0
0
0
0
0
-4
-9
2
57
25
-8
-12
-2
82
0
0
0
0
0
0
0
0
1
-9
2
0
-22
16
34
16
-53
0
0
0
0
0
0
0
0
-7
14
-27
19
-50
11
35
-39
-12
-4
0
0
0
0
0
0
0
7
-51
-9
-38
-11
-10
-15
-56
-11
3
-6
0
0
0
0
0
0
-18
-19
28
-16
26
26
-11
-55
-20
-22
0
0
0
0
0
0
0
18
16
5
5
48
2
-29
-6
-33
19
1
2
0
0
0
0
0
12
-14
-35
33
7
-12
-11
-17
14
0
3
0
0
0
0
0
0
10
14
0
20
9
67
-27
55
0
-5
0
0
0
0
0
0
0
-29
27
-31
-1
69
40
0
102
19
24
0
0
0
0
0
0
0
22
-13
-12
44
26
48
56
-50
22
0
-2
-1
0
0
0
0
0
-29
-3
19
6
8
-41
34
52
21
3
-5
0
0
0
0
0
0
23
-15
-4
-14
28
19
-12
-19
-8
-3
3
0
1
0
0
0
0
-27
-17
-42
-33
-29
13
42
14
18
-4
-28
0
0
0
0
0
0
-65
-25
-1
-90
13
-10
-5
5
-46
5
-1
0
0
0
0
0
0
23
-25
-62
-6
-22
-61
-60
-3
65
6
0
0
0
0
0
0
0
0
0
-40
-8
-21
0
0
0
0
0
0
0
0
0
0
0
0
-25
25
-10
-2
5
39
67
0
0
114
42
-12
-8
0
0
0
0
-14
10
-14
46
2
14
59
0
80
0
26
-39
14
0
0
0
0
-15
-38
-14
-17
-19
77
120
75
53
22
-34
-14
2
0
0
0
0
-52
-17
7
-10
-34
10
73
-9
-38
-44
31
-17
0
0
0
0
0
-31
-19
39
-1
2
29
-3
-40
-39
12
-1
27
-3
2
0
0
0
1
-38
-36
-31
-61
-30
-1
18
-21
-64
-78
-22
0
0
0
0
0
-1
-10
33
37
-17
2
-27
-27
14
-38
-47
-1
-2
0
0
0
0
0
2
-30
5
66
58
27
19
24
2
11
0
0
0
0
0
0
0
0
-13
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-11
5
-71
-18
-13
9
0
25
-13
3
0
0
0
0
0
19
-3
3
-42
9
-1
6
0
-15
0
17
0
3
0
0
0
0
8
16
43
-26
6
19
9
20
-23
-25
-19
10
0
0
0
0
0
0
-40
21
42
44
53
54
79
-30
-52
-15
-9
0
0
0
0
0
-1
-14
7
2
61
138
24
-19
-35
-34
0
0
0
0
0
0
0
0
36
129
68
104
24
10
-35
-8
-14
-3
0
0
0
0
0
0
0
13
60
34
34
3
2
-18
-22
6
0
0
0
0
0
0
0
0
0
7
117
-20
-17
-6
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
-60
52
7
18
5
37
37
0
0
0
1
1
2
0
0
0
0
-26
42
-11
0
-3
52
76
1
0
9
3
0
-1
0
0
0
0
1
-38
27
-14
51
-9
7
17
12
-14
-17
-1
0
3
0
0
0
31
74
35
22
8
20
22
9
-58
-62
38
0
0
1
0
0
0
3
-68
-4
18
31
54
-21
4
4
-14
0
0
0
0
0
0
0
19
-13
8
-21
5
-39
-120
29
-39
59
-1
0
0
0
0
0
0
13
-40
3
-19
6
12
21
-42
26
-35
-2
0
0
0
0
0
0
-6
97
-8
10
18
42
17
0
37
0
0
0
0
0
0
0
0
0
5
0
-10
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
4
1
0
1
0
0
0
0
0
0
0
0
31
-69
46
23
-12
-4
-39
-12
41
0
0
0
0
0
0
0
-8
-62
-32
55
23
44
-12
-32
13
-5
-1
0
0
0
0
0
0
-2
41
-39
43
-51
-12
0
0
-4
6
0
0
0
0
0
0
0
0
12
28
47
-5
-1
8
0
0
0
0
0
0
0
0
0
0
0
19
-52
-13
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
34
-16
0
1
2
2
-3
0
0
0
0
0
0
0
0
0
19
21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-56
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
-11
8
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
58
-53
24
45
-23
-1
6
5
0
0
0
0
0
0
0
0
51
35
-16
-13
-17
-1
-2
2
4
0
0
0
0
0
0
0
0
5
25
13
15
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
47
45
8
10
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
-9
-4
0
3
2
0
0
0
0
0
0
0
0
0
0
0
-8
35
17
18
-33
10
-18
-15
4
3
0
0
0
0
0
0
0
0
-4
-53
35
38
0
-6
-3
6
0
0
0
0
0
0
0
0
23
-16
39
107
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
7
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
-1
4
-1
0
0
0
0
0
0
0
0
0
0
2
9
14
-12
-12
-62
-34
12
4
0
0
0
0
0
0
0
0
0
0
-11
-10
17
-37
-7
0
0
1
0
0
0
0
0
0
0
0
0
1
-9
57
39
-6
0
0
0
0
0
0
0
0
0
0
-4
7
7
-6
3
-9
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
11
-23
0
0
1
0
0
0
0
0
0
4
24
39
-20
18
72
-10
5
-6
0
0
0
0
0
0
0
0
3
-25
-1
45
2
-19
-61
-42
-16
6
0
0
0
0
0
0
0
0
19
61
-15
28
-14
9
-25
-6
0
0
0
0
0
0
0
0
0
-1
10
-16
16
41
-9
-18
-3
1
0
0
0
0
0
0
0
0
2
-1
-5
-24
5
7
-5
7
-24
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-2
3
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
7
0
-13
23
0
-3
-34
6
2
0
0
0
0
-4
20
44
-58
51
51
-10
-8
-19
18
28
57
-4
7
0
0
0
0
85
-4
19
32
14
3
47
-4
3
9
26
-22
-7
0
0
0
0
9
79
96
-7
23
69
72
60
16
-11
-22
-6
4
-1
0
0
2
0
-9
-41
18
88
80
71
37
-56
-14
-2
4
0
0
0
0
0
0
-9
12
-10
-8
-4
28
-49
-15
22
7
0
0
0
0
0
0
0
-1
-7
0
4
19
35
38
-7
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
10
24
-14
-45
31
0
-12
19
-21
-33
-18
0
0
0
0
0
17
42
1
-4
-30
7
5
21
-60
-16
18
59
9
0
0
0
0
7
-35
-14
4
3
0
-22
-3
-37
26
-52
-14
-1
0
0
0
-3
-17
-9
-22
7
19
-20
-21
-32
15
9
-12
24
7
0
0
0
-7
37
-7
13
-4
-22
-16
-46
-56
-16
-22
-4
30
21
0
0
0
0
12
-21
-40
-25
-4
-50
-48
-9
2
16
35
20
-10
0
0
0
-9
-24
-10
-7
-6
-2
-34
-56
-6
-45
9
9
-3
3
0
0
0
0
0
14
-6
8
1
-11
-71
-34
-24
-1
-3
0
0
0
0
0
0
0
0
2
72
-31
-63
3
14
-33
1
0
0
0
0
0
0
0
0
16
34
-18
-47
-6
0
-27
-51
-31
-46
53
3
-6
0
0
0
3
-13
-84
3
27
26
16
-15
-4
58
-26
56
-39
0
-11
0
0
3
18
41
37
15
51
-6
28
-2
-4
8
0
9
-1
0
0
0
12
57
68
93
12
24
-18
9
70
-19
-2
16
-4
0
0
0
0
0
-9
-29
11
60
-6
31
-18
23
-20
-28
-6
0
6
0
0
0
0
2
10
-4
65
2
-4
-19
-29
15
5
-18
-9
0
0
0
0
0
0
-10
-10
-22
-20
-11
-4
16
-28
22
-52
-9
2
3
0
0
0
0
-5
26
-4
40
16
-6
-11
4
33
36
9
-5
-21
0
0
0
0
0
-7
18
-38
4
-7
-9
-6
6
10
39
3
-1
0
0
0
57
-53
42
-25
20
0
-6
-11
4
25
40
-2
0
0
0
0
8
17
20
50
-19
18
9
8
-5
77
51
0
6
-1
0
0
0
3
81
36
1
26
15
19
35
21
-37
46
32
-1
0
0
0
0
12
39
40
22
26
44
57
13
42
9
0
10
0
0
0
0
0
-1
30
13
-4
15
15
9
13
71
20
-2
-7
-2
0
0
0
0
0
10
38
17
27
31
14
4
1
-60
42
37
-1
0
0
0
0
0
0
-5
-10
-6
6
-10
-1
-37
-43
-9
31
-3
0
0
0
0
0
0
32
16
37
15
-24
-23
7
4
-20
13
-2
-13
0
0
0
0
0
0
0
47
-51
10
0
0
0
0
0
0
0
0
0
-21
-66
42
17
-30
-23
-20
0
-19
-9
-44
0
1
0
0
0
-3
21
8
24
32
-22
-21
-26
-67
21
-9
-4
-7
0
0
0
0
-7
50
27
60
25
11
41
-15
81
-5
14
13
33
-3
0
0
0
0
-4
-7
71
21
79
37
42
-22
36
45
-11
1
-2
7
0
0
0
2
11
37
47
24
24
32
31
42
13
-9
0
0
0
0
0
0
0
11
23
22
-17
75
62
38
-16
-46
-2
0
0
4
0
0
0
0
0
0
0
-63
-41
-14
-16
21
-1
0
0
0
0
0
0
0
0
0
6
0
3
2
-25
5
10
0
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
26
-10
-49
0
-2
0
0
0
0
0
0
0
0
0
-1
-6
9
4
17
64
40
-9
0
0
0
0
0
0
0
0
0
4
-14
60
33
-5
3
-28
-4
-2
0
0
0
0
0
0
0
0
-6
3
45
3
81
69
1
0
0
0
0
0
0
0
0
0
0
0
8
77
29
4
1
-9
3
0
1
0
0
0
0
0
0
0
0
17
2
38
9
76
13
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
12
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
40
22
9
0
-34
-29
1
0
0
0
0
0
-2
0
-11
60
46
97
10
-8
19
-39
-33
3
21
1
0
0
0
0
-7
-11
12
21
71
16
-7
-22
-11
6
11
1
0
0
0
0
0
0
0
17
9
36
58
58
67
-35
12
-3
-7
0
0
0
0
0
0
0
16
104
-14
0
-20
-63
-43
26
0
0
0
0
0
0
0
0
0
3
11
-12
-58
-6
-50
1
7
-7
-1
0
0
0
0
0
0
0
0
12
19
17
-17
-60
-26
24
-15
0
3
0
0
0
0
0
0
0
0
-19
-47
26
-46
-16
-22
-5
1
0
0
0
0
0
0
0
0
0
-3
-6
-5
-71
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
-10
-6
-3
-8
0
0
0
0
0
0
0
0
0
2
0
0
-3
64
-11
21
-4
-6
0
0
0
0
0
0
0
-6
13
38
34
16
18
53
9
-2
-1
0
0
0
0
0
0
0
11
20
33
29
14
-21
-14
-7
2
-6
0
0
0
0
0
0
0
0
7
3
-12
59
1
31
0
-1
-12
0
0
0
0
0
0
0
-7
23
1
23
36
-3
-24
1
2
-1
0
0
0
0
0
0
0
-4
-48
16
-45
25
42
-43
11
-5
0
1
0
0
0
0
0
0
0
-28
-56
4
11
-13
-9
1
-2
1
0
0
0
0
0
0
0
0
-11
4
21
-13
-39
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
50
0
0
0
4
-1
0
1
0
0
0
0
0
0
0
0
0
-36
32
15
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
-4
31
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
7
-13
31
11
0
0
0
0
0
0
0
0
0
0
0
0
0
34
10
44
-47
-1
3
0
0
-1
0
0
0
0
0
0
0
0
-1
-57
-59
-3
-2
-6
0
-2
0
0
0
0
0
0
0
0
0
0
35
-18
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
28
0
0
-20
6
-1
0
0
0
0
0
0
0
0
0
0
0
48
2
77
38
1
6
4
0
0
0
0
0
0
0
0
0
0
28
82
44
7
10
-2
0
9
-1
0
0
0
0
0
0
0
3
-39
-13
-3
43
21
-1
-4
-3
-1
0
0
0
0
0
0
0
3
-28
11
-25
-31
-30
2
-4
2
1
0
0
0
0
0
0
0
0
-7
-9
-6
105
-42
2
2
-1
4
0
0
0
0
0
0
0
0
0
-9
8
30
1
0
-10
15
0
0
0
0
0
0
0
0
0
0
0
21
6
0
0
0
0
0
0
0
0
0
0
0
0
4
29
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
4
-3
-4
-2
0
0
0
0
0
0
0
0
0
0
-76
76
76
8
1
0
1
0
0
0
0
0
0
0
0
0
-13
-15
-11
-56
36
18
0
8
0
0
0
0
0
0
0
0
0
-2
7
68
-27
43
-4
2
-3
0
0
0
0
0
0
0
0
0
0
-57
-15
-4
4
8
0
7
-3
0
0
0
0
0
0
0
0
0
44
-66
17
-46
11
0
0
0
1
0
0
0
0
0
0
0
0
0
2
-3
-17
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
-7
34
13
-5
0
0
0
-13
1
0
0
0
0
0
0
-7
11
54
5
-13
-44
0
0
0
0
2
0
0
0
0
0
0
-6
3
36
-16
-2
84
-51
36
7
1
0
3
0
0
0
0
0
0
-4
-12
-7
-30
36
-14
0
44
49
-6
-7
1
0
0
0
0
0
0
10
11
-36
-70
-1
8
33
1
13
0
11
0
0
0
0
0
0
0
-4
-35
-39
19
-51
23
-4
3
2
7
2
0
0
0
0
0
0
-1
1
24
-22
-41
16
-11
18
0
0
0
0
0
0
0
0
0
0
0
8
3
-17
-21
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
11
33
-1
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
8
55
3
0
2
0
0
0
0
0
4
7
3
41
0
0
0
27
27
7
10
0
0
0
0
-1
0
9
85
21
38
-15
53
44
1
17
7
-1
0
-1
0
0
0
0
23
15
62
25
86
49
-23
18
7
-9
-4
0
0
0
0
0
0
-2
-18
11
28
-44
8
11
-4
20
-1
0
0
0
0
0
0
0
0
-8
7
-84
-85
-7
16
-51
7
-1
-6
-1
0
0
0
0
0
0
13
51
91
-10
-41
-19
-20
-7
-5
1
-9
0
0
0
0
0
0
0
3
-5
-38
0
-20
-1
-11
0
-2
0
0
0
0
0
0
0
0
0
-5
63
25
13
25
8
-4
0
0
0
0
36
-3
37
18
-41
-4
1
0
0
0
0
0
0
0
0
0
0
8
29
63
32
51
11
2
0
0
0
0
0
0
0
0
0
0
18
35
61
53
68
38
-7
-1
0
0
0
0
0
0
0
0
0
-5
-79
37
0
40
23
1
-2
2
0
0
-1
0
0
0
0
0
-41
-3
28
4
51
26
12
-3
19
0
0
0
1
-3
0
0
0
0
-9
37
12
-30
26
37
20
-4
0
-7
0
-3
1
0
0
0
0
-9
59
-39
-2
-4
10
-1
13
-1
-1
8
-2
0
0
0
0
0
1
3
-9
0
0
1
29
6
0
2
-1
4
-1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
30
-11
-31
-6
49
7
103
0
0
0
25
-24
9
20
0
0
0
-14
-9
17
-13
37
-41
-13
0
0
26
87
-7
35
6
0
0
0
6
34
15
34
22
40
-29
21
69
113
86
27
12
-6
-2
0
0
-59
3
1
3
30
11
12
19
46
-6
-27
6
-2
-1
-7
1
0
2
-24
20
18
12
-14
12
27
-11
-63
6
-26
6
0
0
-1
0
0
1
-38
42
-13
-59
-6
-38
-57
-18
0
-7
-3
1
-2
0
0
0
0
-9
-20
4
-4
-1
-81
-28
-13
4
-7
-2
0
-2
0
0
0
0
0
-6
2
0
-1
11
-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
-2
-6
23
-7
9
1
70
0
0
63
-4
-28
24
0
0
0
0
12
34
-14
21
3
-15
14
28
71
-27
-52
15
-1
0
0
0
0
30
-10
-17
-9
1
16
5
-19
43
-15
-25
-2
-18
1
0
0
0
18
-11
-8
-2
8
15
-13
5
-6
-62
-39
22
9
-2
0
0
0
38
-4
-12
14
-13
-21
-11
-6
-57
-53
5
-1
-1
2
0
0
0
0
21
-9
25
13
-7
13
-29
-42
-28
29
3
-12
0
0
0
0
0
0
-11
37
18
-7
7
11
-4
44
-58
-9
1
0
0
0
0
0
0
27
39
7
-1
-1
-25
-51
1
15
0
0
0
0
0
0
0
0
56
28
37
-37
-2
-14
0
0
0
0
0
0
0
0
0
24
9
38
0
-24
11
-5
0
0
4
0
0
0
0
0
0
0
-4
39
54
10
-21
69
66
68
9
0
0
0
0
0
0
0
0
-11
-40
-19
5
18
24
-6
-17
-22
0
0
0
0
0
0
0
0
2
27
-15
62
-24
0
33
2
27
0
0
-3
0
0
0
0
0
0
16
14
15
-16
22
-31
-23
-23
-6
0
2
0
0
0
0
0
0
2
-1
11
-9
8
21
-47
-54
1
0
8
0
0
0
0
0
0
0
1
0
-14
-12
-17
-38
-2
1
0
0
1
1
0
0
0
0
0
0
6
0
-7
-37
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
47
24
12
17
8
24
-5
6
0
0
0
0
0
0
0
0
0
5
4
6
22
23
4
0
-4
0
1
0
0
0
1
0
0
0
71
-44
25
32
33
-1
-2
-24
-11
-7
0
-1
0
0
0
0
0
34
-38
48
8
32
28
-10
-82
-14
-11
-8
-1
-2
0
0
0
0
7
11
-22
-7
2
11
-31
-8
11
-6
0
7
0
0
0
0
0
-9
-17
7
36
34
89
-24
-81
0
4
-2
0
0
0
0
0
0
0
15
40
-28
2
-33
-45
-23
6
-15
0
0
0
0
0
0
0
-1
0
1
-5
-22
0
-4
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
18
48
1
-13
-11
40
85
0
0
45
-39
-8
-9
-2
0
0
0
-10
6
13
29
37
6
67
0
136
0
16
5
-5
0
0
0
0
37
25
2
27
14
-1
15
33
110
112
30
-8
-9
0
0
0
0
76
17
25
14
22
13
32
57
23
54
1
-15
2
2
0
0
0
-1
29
-24
18
-1
9
-10
-34
-34
-33
34
18
1
0
-1
0
0
0
-16
2
11
2
70
-8
-67
-17
26
-8
-4
0
0
0
0
0
0
0
-5
4
1
48
-37
-41
-83
-6
9
0
0
-1
0
0
0
0
0
0
0
-24
-1
27
-9
-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
-4
-22
9
-45
-48
8
6
0
-6
-2
3
-1
0
0
0
0
0
-11
50
-16
-79
-44
-33
0
-18
0
0
1
1
0
0
0
0
0
-6
1
-25
-75
-1
-20
-15
24
-1
0
0
0
0
0
0
0
0
-19
17
-14
6
-8
0
20
6
-34
12
-7
4
0
0
0
0
0
1
-9
-23
-5
-62
-39
9
36
17
49
1
0
0
0
0
0
0
0
-3
-8
-29
5
-75
-48
-37
29
-1
0
3
0
0
0
0
0
0
0
0
33
20
-10
64
-18
20
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
-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
-33
15
-24
-1
-24
0
0
0
0
-3
-18
-8
0
0
0
0
9
14
11
64
27
32
61
-18
0
-3
6
6
0
0
0
0
0
-38
22
-42
1
-3
14
-5
20
35
24
0
0
0
0
0
0
0
-1
-95
28
39
18
91
-77
-40
46
-1
-13
12
0
0
0
0
0
0
8
55
83
59
47
44
1
-46
-23
6
6
0
0
0
0
0
0
5
44
1
-7
45
1
-59
-29
-27
42
1
0
0
0
0
0
0
5
3
6
-35
1
-16
-25
6
15
5
0
0
0
0
0
0
0
0
-1
-1
-2
-26
-1
-12
-3
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
0
0
0
0
0
0
0
0
0
0
3
10
-10
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
-50
-7
-61
-1
21
-5
0
0
0
0
0
0
0
0
0
0
0
1
28
24
23
2
-10
39
0
0
0
0
0
0
0
0
0
0
-15
-18
29
36
-7
-6
0
0
0
0
0
0
0
0
0
0
2
7
30
-12
-5
-14
-16
-1
0
0
0
0
0
0
0
0
0
0
-1
10
20
-25
9
60
0
0
0
0
0
0
0
0
0
0
0
-16
17
18
-14
-7
-8
6
0
0
0
0
0
0
0
0
0
0
0
13
-7
-23
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
4
7
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
-7
29
43
-67
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-18
36
18
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
8
17
42
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
17
-106
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
-20
-15
66
7
0
0
0
0
0
0
0
0
0
0
0
-3
1
-95
0
40
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
-2
-2
0
0
0
62
0
0
0
0
0
0
0
0
0
0
-7
0
26
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
8
0
61
51
-32
-26
2
0
0
0
0
0
0
0
0
0
-1
0
-27
2
-43
-28
5
0
0
0
0
0
0
0
0
0
0
0
9
-37
4
-52
10
21
0
0
0
0
0
0
0
0
0
0
0
0
-1
61
-31
-17
-34
0
0
0
0
0
0
0
0
0
0
0
-1
0
19
-40
-18
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-45
-6
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
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
-4
-5
0
0
0
62
2
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-15
32
-19
-19
0
0
0
0
0
0
0
0
0
0
0
6
-7
-5
56
83
4
0
0
0
0
0
0
0
0
0
0
0
21
-51
-57
-36
4
23
0
0
0
0
0
0
0
0
0
0
0
3
7
-7
-26
-32
2
0
0
0
0
0
0
0
0
0
0
0
0
-69
36
-18
4
1
0
0
0
0
0
0
0
0
0
0
0
0
-84
6
13
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
-2
0
0
0
-8
-4
-3
-16
0
0
0
0
0
0
0
0
-2
-1
0
0
0
30
15
2
27
-8
0
0
0
0
0
0
0
-6
29
-8
-54
-40
2
32
74
7
0
0
0
0
0
0
0
0
-11
40
-27
-24
28
14
-2
-1
10
1
0
0
0
0
0
0
0
-6
0
-65
-69
21
39
5
3
15
0
0
0
0
0
0
0
-1
8
8
-33
-37
-53
23
-3
0
1
0
0
0
0
0
0
0
0
0
0
-97
-84
-58
-113
0
-12
0
0
0
0
0
0
0
0
0
0
-13
-104
-14
-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
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
22
-77
0
0
0
46
-7
-35
24
-2
0
0
0
0
0
-3
1
-11
-20
-51
29
87
89
30
-24
18
-39
-3
0
0
0
0
0
0
-3
1
-11
-35
12
-83
5
24
-15
-35
-1
-4
0
0
0
0
0
-2
-32
-19
-47
80
2
-90
30
16
-27
0
7
0
0
0
0
0
-10
-22
-16
-10
-63
-46
-63
75
20
-1
0
0
0
0
0
0
2
2
-51
-5
-12
-4
-52
-5
4
3
1
0
0
0
0
0
0
0
-1
-23
-16
88
65
-1
-10
-9
0
0
0
0
0
0
0
0
0
0
0
-4
52
-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
-19
0
0
0
55
56
35
37
35
9
11
0
0
0
0
7
-22
88
2
0
0
103
29
46
14
49
10
-7
0
0
0
0
-2
7
-35
-6
-12
40
86
76
25
28
7
21
10
0
0
0
3
0
1
-14
36
-2
68
28
17
24
29
30
25
81
0
0
0
0
0
6
-45
36
-62
0
-9
-21
-3
6
15
30
64
0
0
0
0
0
-8
11
52
-26
4
-62
-21
-28
-28
14
72
1
0
0
0
0
0
0
4
-49
-2
-12
-20
36
-29
1
35
-26
0
0
0
0
0
0
-2
-2
-6
-36
-6
39
40
-34
-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
9
-41
0
0
-22
-3
-21
-3
-7
-71
74
0
0
0
0
0
-17
-17
-55
24
-9
-21
-6
-7
-21
-19
19
44
0
0
0
0
1
-41
-2
28
-30
-10
4
-17
-23
-22
-16
-15
73
0
0
0
0
0
8
-23
-7
-31
-55
17
-19
-19
1
-5
-36
-33
0
0
0
1
0
-1
19
-16
-66
-36
-48
-8
-26
-6
-2
23
52
0
0
0
0
-1
-20
-46
8
-34
-8
-53
-60
-27
-51
-6
12
13
0
0
0
0
0
-2
-9
10
12
-17
-59
-23
-35
-13
-49
21
0
0
0
0
0
0
1
0
35
-58
-23
-25
-51
-8
-35
-28
3
0
0
0
0
0
0
0
0
0
0
17
9
-15
-38
-39
21
0
0
0
0
0
0
0
0
0
0
0
0
3
122
39
12
-3
-41
12
0
0
0
0
0
0
0
0
26
-7
76
22
25
-22
-4
57
45
0
0
0
0
0
0
0
-2
-34
81
85
-5
-25
-39
-34
58
45
0
0
0
0
0
0
1
9
-53
-44
44
9
2
-52
-49
-10
14
0
0
0
0
0
0
0
9
6
3
-5
80
-52
30
-3
31
-12
0
0
0
0
0
0
0
0
1
-70
-23
32
14
-58
-24
-39
0
0
0
0
0
0
0
0
0
-8
16
-66
-9
2
42
47
37
0
0
0
0
0
0
0
0
0
-1
25
7
-26
-34
-32
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-3
2
19
1
0
0
0
0
0
0
0
0
14
0
79
56
23
31
0
8
18
-71
0
0
0
0
0
0
7
8
17
30
0
25
0
22
30
1
59
0
0
0
0
0
0
0
5
12
36
18
37
42
22
28
0
-3
0
0
0
0
0
0
-1
-1
22
20
-31
32
-21
39
23
-27
-17
0
0
0
0
0
0
-3
9
14
-10
10
29
53
-2
-10
52
53
0
0
0
0
0
0
0
0
13
-3
-49
39
-23
-1
9
88
-19
0
0
0
0
0
0
0
-47
0
-81
-24
28
4
-17
23
5
0
0
0
0
0
0
0
0
0
2
-29
53
23
66
-11
2
6
15
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-2
0
0
0
0
0
0
0
0
44
85
0
0
86
54
20
50
6
27
0
0
0
0
0
0
-24
51
0
-49
0
72
64
49
20
15
2
-11
0
0
-4
0
1
-3
-18
37
62
35
52
60
15
48
23
4
-46
0
0
0
0
-2
2
22
-10
26
-15
22
40
39
29
-53
14
163
0
0
0
-7
0
14
-16
-31
29
-5
8
22
26
30
-8
4
-3
0
0
0
0
1
3
-1
0
37
-27
-68
-1
-25
-17
16
70
0
0
0
0
0
0
-6
-14
-4
-2
11
68
-39
-52
-1
1
0
0
0
0
0
0
0
0
3
-32
-1
5
-19
-35
-18
11
-3
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
60
0
-33
-58
30
11
3
0
0
0
0
0
0
4
0
-37
0
-29
9
-28
-21
-20
36
6
0
0
0
0
0
0
-5
25
-24
-16
49
40
16
46
93
63
-1
0
0
0
0
0
1
2
10
48
18
77
-63
-6
-59
-17
0
0
0
0
0
0
-2
0
4
-3
12
10
22
-37
83
-4
5
2
2
0
0
0
0
0
0
0
4
-10
-9
-23
-6
-15
46
5
2
0
0
0
0
0
0
0
0
0
0
10
0
-20
11
-3
27
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
15
57
-37
-35
-52
-21
-21
0
0
0
0
0
2
3
0
0
2
-69
42
3
-21
-28
-17
-1
0
0
0
0
0
0
0
-43
5
26
47
49
11
21
21
65
-31
0
0
0
0
0
0
0
-19
-28
-17
15
77
28
73
10
-54
-17
0
0
0
0
0
-6
-3
15
39
14
61
13
-23
8
19
0
-17
0
0
0
0
0
0
0
28
-26
-7
1
-26
18
13
32
31
-12
0
0
0
0
0
0
0
18
93
1
-26
28
7
-28
-27
-3
-2
0
0
0
0
0
0
0
1
41
0
2
-2
3
-53
22
53
7
0
0
0
0
0
0
0
0
0
0
1
-2
-4
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-13
28
15
-22
-9
49
55
-4
0
0
0
0
0
0
-1
2
-4
-9
58
17
44
-11
4
-24
3
0
0
0
0
0
0
0
0
0
-2
3
-31
25
48
17
10
3
0
0
0
0
0
0
0
0
0
0
25
47
72
56
9
32
-12
0
0
0
0
0
0
0
0
0
0
0
-8
47
5
20
21
86
0
0
0
0
0
0
0
0
0
0
-1
-15
37
-9
-8
57
-3
0
0
0
0
0
0
0
0
0
0
6
-24
27
-74
12
62
0
0
0
0
0
0
0
0
0
0
0
0
0
4
38
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
-6
1
1
55
4
-13
-1
0
0
0
0
0
0
0
0
0
0
0
1
34
0
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
7
10
19
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
103
17
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-21
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
5
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
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
-27
13
-8
-14
-8
7
0
0
0
0
0
0
0
0
3
0
0
-11
26
18
-2
51
0
0
0
0
0
0
0
0
-1
0
0
-2
-4
44
25
1
51
-13
0
0
0
0
0
0
0
0
0
0
-2
15
42
83
21
41
6
0
0
0
0
0
0
0
0
0
0
2
3
-38
40
4
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
40
-9
77
9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
39
-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
-4
-35
24
-6
43
-5
0
0
0
0
0
0
0
0
0
-1
2
5
-63
62
31
34
-33
0
0
0
0
0
0
0
0
0
9
0
0
21
68
8
29
60
-11
0
0
0
0
0
0
0
0
0
0
3
-15
-43
58
51
-9
0
0
0
0
0
0
0
0
0
0
0
0
22
48
50
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-12
70
65
0
0
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
0
0
0
7
0
0
0
0
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
58
68
-55
26
-13
-43
0
0
0
0
0
0
0
1
0
49
17
-11
-37
-44
-46
13
-35
4
0
0
0
0
0
0
0
0
-14
-26
56
-29
-10
25
31
-2
-6
0
0
0
0
0
0
0
-1
-6
28
-13
47
27
-6
-15
-12
2
0
0
0
0
0
0
0
1
26
-21
-21
18
18
-13
-21
-41
0
0
0
0
0
0
0
0
9
-14
0
9
12
-44
46
-23
18
-2
0
0
0
0
0
0
0
0
9
1
5
0
-5
28
-28
0
0
0
0
0
0
0
0
0
0
0
25
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
-22
19
34
-12
12
3
-13
-2
0
0
0
0
0
0
-7
0
-21
63
23
39
-16
63
-7
49
11
0
0
0
0
0
0
0
-1
-29
-36
-11
-28
-18
49
-42
4
11
0
0
0
0
0
0
-1
-5
-2
17
31
3
25
92
1
22
0
0
0
0
0
0
0
-6
-8
-11
-25
-2
-28
49
28
63
-57
15
0
0
0
0
0
0
0
-1
13
24
-10
44
-34
18
76
-63
4
0
0
0
0
0
0
0
14
-52
18
-12
33
-7
28
-10
24
14
0
0
0
0
0
0
2
1
4
-1
0
1
9
9
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
29
-6
57
50
-22
-32
23
-2
0
0
-9
3
20
-15
28
-11
3
16
-9
4
38
38
13
23
-10
0
0
0
0
0
-61
28
0
-31
23
17
34
21
93
42
17
-47
0
0
0
0
3
-16
-46
-12
-8
-15
-26
37
51
48
54
52
-3
0
0
0
1
-3
-3
-49
30
-34
9
6
32
33
14
37
83
0
0
0
0
0
0
0
22
-26
19
-10
-42
11
4
-74
-38
0
0
0
0
0
0
0
0
-11
2
-1
-17
67
-78
-25
6
-18
0
0
0
0
0
0
0
3
0
-9
-11
38
-2
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
19
-12
0
-4
-10
10
21
43
-19
-23
0
0
0
0
-6
38
-27
-33
-11
8
-13
9
-6
25
22
-29
16
0
0
0
0
-10
-46
34
7
-13
3
-7
6
7
6
25
-4
46
0
0
0
0
-1
22
24
-37
-10
-10
-8
-11
1
35
33
-14
57
0
0
0
0
-7
-11
11
3
-47
-10
-23
-19
-7
17
-26
45
-41
0
0
0
-1
-6
-42
9
31
-7
25
-14
-9
-16
-17
25
38
2
0
0
0
0
-1
2
-16
-28
15
2
-38
-1
-26
-11
10
-52
0
0
0
0
0
0
0
6
-5
17
29
-12
-14
-62
11
37
-36
-3
0
0
0
0
0
0
0
-3
13
36
-42
-7
7
-28
0
0
0
0
0
0
0
0
-6
-24
-6
12
0
33
16
9
-55
24
-2
0
0
0
0
1
9
33
0
-3
-2
-15
39
43
41
62
-26
-1
0
0
0
0
0
32
-8
10
-32
-1
30
41
18
-24
-2
54
0
0
0
0
0
-1
7
36
27
4
-3
-12
13
-46
36
55
19
-7
0
0
0
0
0
-9
68
-21
8
-28
-8
16
-24
56
18
8
0
0
0
0
-1
2
-9
49
15
0
-27
-26
-50
-66
4
-28
-23
0
0
0
0
-1
0
7
6
-5
-13
-2
-36
-43
-9
-1
-106
0
0
0
0
0
1
8
11
-14
15
-13
5
-5
-8
-44
-21
90
1
0
0
0
0
0
-1
43
1
10
-28
-18
7
-29
-23
-2
4
0
0
0
0
0
0
0
0
4
-22
20
54
0
16
0
15
-38
129
1
0
0
0
0
0
0
-26
13
-8
17
-4
6
-4
11
26
0
13
0
0
0
0
0
0
-10
8
13
0
53
19
14
4
37
42
6
0
0
0
0
0
-1
-4
-23
-25
20
5
-46
33
17
23
53
2
0
0
0
0
0
1
-6
-30
-8
-1
-12
-2
2
-30
31
31
10
0
0
0
0
0
0
-11
-1
-24
-24
-11
-10
-27
-27
7
-28
26
0
0
0
0
0
0
-11
-1
-27
-25
-15
-45
2
-2
-53
-23
0
0
0
0
0
0
0
-3
-20
21
-24
47
19
-1
-13
-45
-7
0
0
0
0
0
0
0
0
0
0
0
15
4
-59
0
-3
0
0
0
0
0
0
0
0
3
-26
18
7
0
8
49
18
9
67
-83
55
1
0
0
0
0
14
-29
-3
-35
13
6
9
0
47
18
-2
8
39
0
0
0
3
-6
54
29
-9
-12
-10
13
33
64
57
34
1
68
0
0
0
0
1
-27
-31
-3
5
-11
-21
7
21
46
41
29
46
0
0
0
2
-2
-1
80
-23
12
-31
-27
6
58
61
-15
-43
21
0
0
0
0
-8
-15
-1
-22
-51
-50
-20
-8
35
1
-16
-5
0
0
0
0
0
0
-6
17
-3
-6
-26
-40
-33
-48
82
-30
1
0
0
0
0
0
0
0
-3
-9
0
-73
-17
-34
16
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
-32
0
-37
4
39
1
-23
-10
50
24
0
0
0
0
0
0
4
-6
-21
-44
7
80
19
21
34
-21
-34
0
0
0
0
0
3
-6
-41
-34
-6
-7
0
-52
-8
50
76
-41
0
0
0
0
0
0
-8
22
4
-29
-4
34
57
-38
93
10
0
0
0
0
0
0
0
-7
-24
-10
33
10
-10
57
10
-1
3
0
0
0
0
0
0
0
15
-48
22
-7
0
-19
9
-26
23
0
0
0
0
0
0
0
0
-2
45
0
5
21
-8
-66
11
0
0
0
0
0
0
0
0
0
1
-3
30
111
11
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
2
1
0
0
0
0
0
0
0
0
0
0
0
-36
-26
39
0
-30
9
33
12
75
-3
-47
3
0
0
0
0
-8
-26
13
-15
-29
49
-8
47
-5
41
20
-2
-1
0
0
0
0
-2
-16
-23
13
31
5
42
33
45
52
-26
47
1
0
0
0
0
-6
1
-66
-5
-1
7
14
14
48
-18
51
60
12
0
0
0
0
0
17
-21
-30
-43
-36
39
13
-16
92
53
26
11
0
0
0
0
0
16
3
-22
-12
-29
27
27
-19
41
-46
50
3
0
0
0
0
-3
49
70
-1
-30
30
-5
-12
0
75
4
-1
0
0
0
0
0
-2
3
19
-3
4
4
8
29
0
2
0
0
0
0
0
0
0
0
3
3
15
13
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
0
0
0
0
0
0
-2
4
8
-32
0
0
41
0
0
0
0
0
0
0
0
0
0
0
-15
-3
4
5
12
121
0
0
0
0
0
0
0
0
0
0
0
-1
-19
-45
11
51
37
14
0
0
0
0
0
0
0
0
0
0
-1
7
-26
-31
14
59
2
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
33
-3
-24
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-15
-50
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-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
21
0
0
0
0
0
0
0
0
0
0
0
0
-6
-10
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-9
-15
27
0
0
0
0
0
0
0
0
0
0
0
-3
1
7
-7
47
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-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
26
0
0
0
0
0
0
0
0
0
0
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
12
-5
0
0
63
0
0
0
0
0
0
0
0
0
0
0
0
18
44
-1
-25
11
0
0
0
0
0
0
0
0
0
0
0
-1
9
16
14
-24
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-97
12
48
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
10
0
0
0
0
0
0
0
0
0
0
-1
1
36
0
0
-2
-6
0
0
0
0
0
0
0
0
0
0
0
-1
-3
13
93
98
36
0
0
0
0
0
0
0
0
0
0
0
-3
-53
-12
35
9
-36
3
0
0
0
0
0
0
0
0
0
0
0
18
5
-8
-32
4
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-27
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
4
0
0
0
0
0
0
0
0
-10
0
0
0
59
25
2
-8
0
0
0
0
0
0
0
0
0
0
6
18
43
32
41
11
6
0
0
0
0
0
0
0
0
0
-1
-3
-17
27
26
52
-5
-21
-3
3
0
0
0
0
0
0
0
0
10
-10
50
-10
21
-43
-1
4
0
0
0
0
0
0
0
0
0
8
0
-18
2
64
-1
-12
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
2
11
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
0
0
0
-3
3
0
0
0
0
0
0
0
1
4
-47
-2
0
0
0
36
13
5
-1
1
0
0
0
0
0
0
0
-1
25
12
59
66
101
-89
-67
0
-6
0
0
0
0
0
0
0
-2
-17
45
7
43
28
-11
35
-33
27
2
0
0
0
0
0
0
0
0
50
36
-30
-17
-23
22
25
-6
1
0
0
0
0
0
0
0
0
-9
21
-23
36
-12
-36
-16
-32
4
0
0
0
0
0
0
0
0
2
8
-25
6
-9
0
-29
12
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-6
-4
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
29
0
0
0
29
45
6
22
15
22
34
0
0
0
0
3
-2
77
9
0
0
28
12
48
10
20
27
57
0
0
0
0
0
0
1
68
64
38
87
32
13
29
22
17
31
0
0
0
0
0
1
2
-116
57
11
81
52
37
-26
27
55
13
0
0
0
0
3
0
8
36
-13
-16
-29
41
-11
-31
-9
-26
27
0
0
0
0
0
0
1
-19
4
34
27
3
24
-15
30
47
16
0
0
0
0
0
0
0
0
-4
19
100
77
24
-10
5
6
0
0
0
0
0
0
0
0
0
-1
11
1
9
-33
41
20
-21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-18
0
0
36
-3
-24
6
-17
-4
17
0
0
0
0
3
11
7
-60
-16
4
19
7
-9
-14
-23
-4
103
0
0
0
0
0
-17
10
-47
-6
-12
-13
-13
-31
-14
-4
32
63
0
0
0
0
0
-2
-30
-23
-20
-71
-28
-27
-17
-15
-20
-34
75
0
0
0
0
0
25
7
-39
-64
-63
-37
-24
-24
-20
-13
16
74
0
0
0
0
0
-1
-16
20
-21
-24
-49
-28
-36
-39
-29
-26
-7
0
0
0
0
0
3
4
-26
-18
-13
-16
8
-15
-12
-32
20
-2
0
0
0
0
0
0
-8
-2
24
107
-17
-13
1
-7
-11
8
0
0
0
0
0
0
0
0
2
-4
-13
16
-14
-13
-15
5
0
0
0
0
0
0
0
0
0
-7
0
0
41
32
-15
45
56
15
47
0
0
0
0
0
0
0
3
-11
73
44
2
10
0
19
-11
-7
0
0
0
0
0
0
-3
-6
-17
12
-4
15
-18
17
-5
0
14
0
0
0
0
0
0
0
0
9
22
-21
19
5
-9
-8
4
4
0
0
0
0
0
0
0
-7
4
-2
16
38
62
25
-2
0
22
0
0
0
0
0
0
0
0
-26
44
-7
27
-27
-14
-30
19
-9
0
0
0
0
0
0
0
0
0
3
-35
60
20
-3
10
5
9
0
0
0
0
0
0
0
0
0
0
40
-7
56
18
23
9
33
0
0
0
0
0
0
0
0
-1
-3
11
4
27
16
0
28
16
0
0
0
0
0
-1
0
2
0
67
43
37
16
33
45
42
-16
0
0
0
0
0
0
-3
18
-16
2
0
21
42
19
15
21
45
0
0
0
0
0
0
7
-11
20
57
48
9
-29
10
15
-47
47
0
0
0
0
0
0
-2
-9
-67
14
-2
26
-4
22
-4
0
-19
0
0
0
0
0
0
0
-8
-81
-2
-37
24
34
-16
8
37
22
0
0
0
0
0
0
-2
0
-7
-30
1
-20
-10
-9
7
47
20
0
0
0
0
0
0
0
0
5
18
8
56
29
38
31
15
-40
0
0
0
0
0
0
0
-1
10
0
0
-22
21
15
4
7
25
0
0
0
0
0
0
0
0
0
0
0
0
-6
22
-26
0
0
0
0
0
0
0
1
5
13
0
0
63
35
54
14
15
40
-56
0
0
0
3
-2
-5
92
0
0
0
90
58
52
12
4
33
28
0
0
0
-1
-4
-3
-22
38
19
85
32
60
26
8
21
11
7
0
0
0
0
0
0
-1
-5
70
46
9
30
0
12
15
13
-16
0
0
0
0
0
-1
1
-50
-14
-20
25
-21
14
-1
-16
8
18
0
0
0
0
0
0
0
-14
-11
23
1
10
-23
-20
-7
17
2
0
0
0
0
-1
0
2
0
2
-68
8
-2
2
40
-15
-26
79
0
0
0
0
0
0
0
0
-2
-2
2
47
-20
31
-5
19
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
36
30
-3
0
0
0
0
0
0
0
-1
-1
0
-7
51
35
-33
42
43
-1
7
0
0
0
0
0
0
-3
0
-3
0
14
-18
26
-16
-15
-1
0
0
0
0
0
0
0
0
0
-4
-7
26
-69
-8
62
36
-20
0
0
0
0
0
0
0
0
-1
-8
34
27
54
52
17
-71
38
-4
0
0
0
0
0
0
0
0
4
5
22
-35
-40
-86
-6
-7
-3
0
0
0
0
0
0
0
0
0
-1
47
-2
-19
-91
17
0
0
0
0
0
0
0
0
0
0
0
-2
-38
-16
-48
-44
94
20
0
0
0
0
0
0
0
0
0
0
0
0
-40
-3
34
18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
-6
0
0
0
-1
40
-1
45
-4
2
-6
0
0
0
0
0
-7
4
12
0
-1
-5
27
-8
5
22
-27
-33
0
0
0
0
0
0
0
-15
3
-6
99
-23
18
8
-9
54
-7
0
0
0
0
0
-1
0
43
20
-44
-44
-11
-55
30
-26
7
0
0
0
0
0
0
0
0
28
90
29
-11
14
-39
23
9
7
9
0
0
0
0
0
0
0
42
-1
8
49
-30
19
-39
-16
12
32
0
0
0
0
0
0
-1
0
0
2
39
13
-5
-32
-42
30
42
0
0
0
0
0
0
0
0
0
0
0
-13
81
26
-70
-44
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-2
-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
43
20
24
40
-10
6
-9
0
0
0
0
0
0
0
0
1
-19
1
-61
-7
16
13
8
-32
-6
0
0
0
0
0
0
0
0
-2
-9
1
8
17
-11
18
58
-18
0
0
0
0
0
0
0
0
-3
0
-10
-34
13
5
29
17
-19
0
0
0
0
0
0
0
0
0
10
-3
0
-22
-5
-5
-12
-20
0
0
0
0
0
0
0
0
0
-1
-7
57
-12
4
24
-11
-1
0
0
0
0
0
0
0
0
0
0
0
3
38
-18
-39
8
38
0
0
0
0
0
0
0
0
0
0
0
-1
1
-20
-22
-10
-14
0
0
0
0
0
0
0
0
0
0
0
0
6
-20
69
-25
45
0
0
0
0
0
0
0
0
0
3
0
0
-7
81
2
15
0
0
0
0
0
0
0
0
0
0
0
-3
6
42
40
0
2
0
0
0
0
0
0
0
0
0
0
0
1
-2
21
69
38
19
0
0
0
0
0
0
0
0
0
0
0
0
19
38
-62
-26
-20
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-91
16
14
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-65
-57
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
-49
-57
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-5
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
13
24
6
73
-22
0
0
0
0
0
0
0
0
0
-6
0
-6
-37
18
-4
-20
-58
0
0
0
0
0
0
0
0
0
2
-3
-1
28
2
12
60
37
-25
0
0
0
0
0
0
0
0
0
0
-7
0
5
23
46
-2
-3
0
0
0
0
0
0
0
0
0
1
-12
-2
27
33
45
-11
-10
0
0
0
0
0
0
0
0
0
0
0
-2
4
-8
-12
-30
3
0
0
0
0
0
0
0
0
0
0
0
0
27
-45
-17
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
0
0
25
-12
-11
-20
-34
15
0
0
0
0
0
0
0
0
0
-1
1
42
16
11
-13
-2
30
4
0
0
0
0
0
0
0
0
-1
-3
4
29
60
18
16
-41
16
0
0
0
0
0
0
0
0
0
0
3
1
6
-3
6
-12
1
0
0
0
0
0
0
0
0
0
0
0
-7
61
63
69
-19
0
0
0
0
0
0
0
0
0
0
0
0
-10
-50
-32
48
9
2
0
0
0
0
0
0
0
0
0
0
0
0
-56
-19
-12
26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
-1
0
62
-33
-21
49
25
-12
-12
0
0
0
0
0
0
0
0
3
-2
19
-74
1
-5
28
-46
-116
-2
0
0
0
0
0
0
0
0
-44
1
11
24
37
-14
66
1
-83
0
0
0
0
0
0
0
0
-7
12
36
-15
65
-10
-27
-2
-19
0
0
0
0
0
0
0
0
-10
-21
40
19
-23
-22
-58
-57
13
0
0
0
0
0
0
0
0
-5
-12
15
56
0
-25
-30
13
26
0
0
0
0
0
0
0
0
0
32
-28
4
2
-57
55
-8
21
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-24
-15
23
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
16
0
4
0
0
0
0
0
0
0
1
0
37
12
44
72
69
-100
-9
-10
0
0
0
0
0
0
6
0
-21
-33
-7
-10
20
21
5
32
42
0
0
0
0
0
0
0
-7
28
5
104
23
22
18
22
21
-42
0
0
0
0
0
0
7
-13
2
-32
46
77
-6
-93
-45
21
-35
0
0
0
0
0
0
0
-19
63
-4
-32
-4
-60
-67
-21
-2
78
0
0
0
0
0
0
0
1
-2
14
23
24
-7
15
-21
8
14
0
0
0
0
0
0
0
1
6
-2
-79
48
-64
22
27
-42
35
0
0
0
0
0
0
0
0
4
0
0
4
-69
3
-19
-27
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
41
4
-9
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
12
0
30
24
34
19
52
-36
-8
-11
0
0
1
6
22
-31
-13
-2
29
4
1
7
41
44
36
-1
-8
0
0
0
-1
26
5
4
-8
12
-4
32
9
32
-38
27
-6
-7
0
0
0
-1
2
-12
-28
9
-9
28
40
18
-23
59
44
-55
1
0
0
0
0
-3
-13
45
-9
-8
-56
1
45
17
-32
40
6
0
0
0
0
0
0
0
-18
-25
-10
23
-2
1
28
-25
13
119
3
0
0
0
0
0
0
0
-27
-12
-22
-58
38
-16
-54
-7
28
-4
0
0
0
0
0
0
0
-2
-1
0
9
-22
26
-29
11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-59
-29
21
0
-7
7
8
7
48
45
53
0
0
0
-1
0
1
12
-20
-23
5
-7
9
2
16
-4
54
-17
0
0
0
0
0
11
-39
33
-19
3
-8
-7
-15
10
0
17
-8
0
0
0
-1
-1
2
28
-11
-43
-48
-22
-12
0
6
12
-6
-21
0
0
0
-1
-2
15
-15
-3
-10
-7
2
-16
-8
2
-19
-11
14
0
0
0
0
1
-6
-57
-35
37
-46
-6
-33
-23
-26
20
16
8
0
0
0
0
-1
-3
8
-11
-33
-38
-16
-12
0
-3
12
6
34
0
0
0
0
0
0
-6
6
-59
0
3
-19
-31
4
14
120
30
0
0
0
0
0
-1
0
-21
-17
6
8
-32
27
5
24
-38
0
0
0
-1
0
0
17
-6
0
-1
0
39
-3
18
60
-36
-3
0
0
0
0
0
0
0
3
46
7
29
-15
13
21
26
81
20
0
0
0
0
0
0
0
1
50
21
15
44
-24
33
12
35
32
4
0
0
0
0
0
0
0
28
-12
-32
8
5
53
38
38
17
0
0
0
0
0
0
0
0
0
-25
-89
-60
20
8
65
-26
-3
0
0
0
0
0
0
0
0
1
-82
-5
17
-83
48
20
39
1
0
0
0
0
0
0
0
0
-3
-2
-39
-26
20
27
30
3
14
0
0
0
0
0
0
-1
0
0
1
19
-34
4
19
22
11
0
0
0
0
0
0
0
0
0
0
0
-2
20
4
39
-23
-1
0
0
0
0
0
0
0
0
-12
6
-29
0
20
3
21
-38
45
-2
0
0
0
0
0
0
11
55
46
-21
36
11
30
3
4
-68
-22
0
0
0
0
0
0
0
51
16
12
42
10
7
12
15
20
-2
0
0
0
0
0
0
0
-25
25
35
23
-11
-6
21
-3
17
53
0
0
0
0
0
0
0
4
44
20
29
-9
17
-16
35
-4
43
0
0
0
0
0
0
6
9
8
21
15
-22
34
-9
-41
-10
1
0
0
0
0
0
0
0
-34
-64
-29
9
-17
-12
20
-1
4
-2
0
0
0
0
0
0
0
2
-6
-28
43
82
-42
-19
-5
62
2
0
0
0
0
0
0
0
0
0
4
0
-6
15
1
-11
0
-1
0
0
0
0
0
0
0
-48
17
-3
0
20
15
38
4
25
13
-35
-3
0
0
0
1
20
-51
-33
20
31
4
22
19
27
-6
25
-35
-3
0
0
0
-1
-6
-11
27
-3
22
30
16
-1
20
49
16
33
6
0
0
0
3
-1
-1
39
-39
-34
23
-12
-2
15
78
-10
61
83
0
0
0
0
4
2
-22
-26
29
-7
-5
-3
14
9
29
-33
10
0
0
0
0
0
1
-42
-11
-8
-19
17
15
-37
31
19
-57
19
0
0
0
0
0
3
2
27
2
-7
-12
-5
1
28
37
8
-1
0
0
0
0
0
0
0
0
1
8
48
7
-15
-53
-26
45
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
27
0
-31
23
46
38
-10
36
-39
-2
0
0
0
0
0
0
17
-1
70
63
18
22
32
-25
16
48
-11
0
0
0
0
0
0
4
46
-12
65
33
9
46
3
-17
-17
4
0
0
0
0
0
0
14
29
-39
13
-52
-19
-35
-6
65
2
4
0
0
0
0
0
0
0
-17
-34
8
-47
-18
-9
-11
-33
-5
2
0
0
0
0
0
0
0
-23
-20
-53
-12
8
20
-82
27
-75
0
0
0
0
0
0
0
0
0
-22
-21
41
-55
-4
15
-7
0
2
0
0
0
0
0
0
0
0
0
-35
-3
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
24
37
-6
0
-3
28
16
-16
-5
-15
-22
-3
0
0
0
0
0
-30
53
-27
43
49
15
35
18
61
11
-17
-26
0
0
0
0
0
18
30
15
-9
-21
23
8
32
-24
32
29
4
0
0
0
0
0
1
51
-28
-33
-16
28
36
46
41
-4
14
2
0
0
0
2
-3
26
9
8
-47
7
10
-6
18
-20
16
50
27
0
0
0
0
-3
18
-5
15
-16
-6
-56
8
12
3
16
56
6
0
0
0
0
0
5
-31
47
17
36
4
-2
17
-20
-24
-62
8
0
0
0
0
0
3
6
5
-38
-56
-40
36
-6
2
3
-53
4
0
0
0
0
0
0
0
0
0
0
22
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-9
2
-18
-48
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-47
62
-24
33
38
-1
0
0
0
0
0
0
0
0
-1
-4
-40
-46
57
24
47
36
-1
0
0
0
0
0
0
0
3
-2
-4
19
38
-32
-8
-4
3
-2
0
0
0
0
0
0
0
-1
-5
3
-7
12
-19
26
-30
-34
-1
0
0
0
0
0
0
0
2
3
1
-2
41
-42
39
4
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
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
0
0
0
11
-35
-3
-42
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
71
-69
-17
0
0
0
0
0
0
0
0
0
0
0
0
6
12
-10
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
4
-17
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
81
40
-21
6
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-14
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
22
-44
-18
0
0
0
0
0
0
0
0
0
0
0
0
7
33
61
21
-2
-7
0
0
0
0
0
0
0
0
0
0
-4
-1
-38
25
2
-21
0
0
0
0
0
0
0
0
0
0
1
2
-2
-7
3
-20
-18
0
0
0
0
0
0
0
0
0
0
1
0
-2
-3
9
-32
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
2
1
-1
0
0
0
25
9
0
0
0
0
0
0
0
0
0
-2
-3
0
21
-55
3
-30
16
0
0
0
0
0
0
0
0
0
2
0
0
-43
21
61
-18
15
0
0
0
0
0
0
0
0
0
0
1
-40
6
-12
-14
75
12
0
0
0
0
0
0
0
0
0
0
0
19
-48
13
-3
54
-2
0
0
0
0
0
0
0
0
0
1
-1
12
-15
-57
-37
11
0
0
0
0
0
0
0
0
0
0
0
1
0
43
-41
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
1
0
0
0
0
0
0
0
0
-3
0
0
0
-2
-6
-1
0
0
0
0
0
0
0
0
0
-3
-3
-44
-10
73
4
2
3
0
1
0
0
0
0
0
0
0
0
-4
26
14
2
4
0
39
8
0
0
0
0
0
0
0
0
0
-2
-8
15
-9
2
11
-1
0
0
0
0
0
0
0
0
1
0
-6
17
0
-36
38
-13
-4
0
7
0
0
0
0
0
0
3
0
0
-7
11
-25
-1
-1
0
0
0
0
0
0
0
0
0
0
2
-3
-8
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
-1
-1
0
1
0
0
0
0
0
-2
-4
0
-10
0
0
0
-1
3
2
2
0
0
0
0
0
0
0
0
1
-8
-56
43
106
62
-13
-3
2
33
0
0
0
0
0
-2
0
-1
5
-55
-63
-26
-39
48
0
12
-15
-1
0
0
0
0
0
0
7
-20
-48
-21
-36
-8
-43
-50
-2
-8
0
0
0
0
0
0
0
0
47
-7
48
-24
8
-41
-40
1
8
1
0
0
0
0
2
0
0
-1
54
55
-19
-17
20
53
-1
0
0
0
0
0
0
-1
0
-3
21
-54
35
-18
7
2
0
0
0
0
0
0
0
0
0
0
-11
-9
0
-19
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
62
34
24
16
17
-8
51
0
0
0
0
0
7
-18
0
0
0
60
-4
43
27
11
-6
18
0
0
0
0
0
7
-12
59
141
33
14
18
20
32
51
14
37
0
0
0
0
-1
-4
2
1
-35
41
50
16
11
7
48
50
57
0
0
0
1
-2
-77
14
-14
92
7
18
31
43
2
48
26
52
0
0
0
0
22
-41
-16
8
51
-16
5
8
33
-13
16
39
9
0
0
0
-2
9
-25
-59
-33
-6
39
-36
48
-12
11
-4
144
-1
0
0
0
0
-7
-15
-1
12
-8
4
-42
-12
7
-3
11
8
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
6
0
47
0
0
49
-28
-18
-3
-7
42
24
0
0
0
0
0
-11
13
0
63
-3
38
-2
-15
-7
-14
-7
38
0
0
0
0
4
-12
11
12
-10
-18
28
-9
-9
4
-21
-19
-23
0
0
0
0
1
-30
-36
8
-41
-14
-41
-28
-1
1
2
23
102
0
0
0
0
-6
-7
-56
-13
34
-12
-19
-9
-17
-1
-28
-4
34
0
0
0
-1
21
-32
-21
-16
56
-31
-40
-53
-21
-23
37
27
29
0
0
0
1
6
28
54
25
-21
-44
15
-17
16
-6
5
23
-33
0
0
0
0
0
4
-6
22
16
16
13
0
-18
2
-10
-13
0
0
0
0
0
0
0
1
-1
-1
16
34
-9
-17
-15
-15
0
0
0
0
0
0
0
0
0
0
0
0
60
14
6
63
5
29
45
0
0
0
0
0
0
0
0
-5
33
-9
34
14
27
4
38
88
0
0
0
0
0
0
0
11
55
34
40
14
50
0
9
22
-10
0
0
0
0
0
2
-7
-4
15
99
9
47
31
-12
5
-12
26
0
0
0
0
0
-8
0
23
10
45
37
-1
-22
51
-25
-78
-8
0
0
0
0
0
1
-21
0
-19
-13
-21
17
33
-25
34
45
0
0
0
0
0
0
4
0
-1
7
-50
25
28
-22
33
2
-41
0
0
0
0
0
0
0
0
0
3
-16
24
55
74
13
24
-4
0
0
0
0
0
0
0
0
0
0
0
10
-17
-45
59
3
-12
0
0
0
0
0
0
0
0
-2
0
57
35
12
-13
18
32
-2
20
0
0
0
0
0
0
1
0
-23
18
0
31
1
30
42
25
27
0
0
0
0
0
0
-1
18
-16
46
49
35
-38
20
24
11
26
0
0
0
0
-1
0
1
-36
-31
27
13
-19
1
39
49
24
57
0
0
0
0
0
-6
-9
-16
5
-77
-47
41
22
33
66
-24
66
0
0
0
0
0
0
-17
8
-8
32
2
6
-40
34
53
66
-36
0
0
0
0
0
2
0
-11
0
3
-22
-27
108
60
42
-1
2
0
0
0
0
0
0
-2
0
0
52
-19
11
21
0
20
7
85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
4
13
10
0
0
52
7
-21
46
13
7
5
0
0
0
0
4
2
-32
0
-9
0
67
12
-4
26
18
-5
31
0
0
0
0
6
19
4
-5
89
59
63
45
7
39
42
40
13
0
0
0
0
12
0
48
-1
21
40
-5
19
-7
20
26
23
-4
0
0
0
0
0
-7
-52
4
-17
-26
-5
21
3
29
61
55
6
0
0
0
1
27
-8
-77
2
14
2
29
37
11
31
48
22
0
0
0
0
0
0
-5
6
15
10
63
33
17
-12
-18
39
11
0
0
0
0
0
1
0
-2
-9
-1
29
-9
-5
40
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
1
-45
-5
0
0
0
0
0
0
0
0
0
0
0
0
-6
33
-65
-27
63
20
-1
0
0
0
0
0
0
0
6
3
-3
7
2
-10
0
34
17
-2
0
0
0
0
0
0
-1
4
4
-4
-14
55
-28
86
-16
5
-6
0
0
0
0
0
0
0
0
0
-2
35
10
34
7
49
9
0
0
0
0
0
0
0
0
0
-2
-3
2
-39
-1
20
-3
0
0
0
0
0
0
0
0
0
0
1
-26
0
1
13
-9
-7
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
6
37
-12
-9
-36
-3
39
0
0
0
0
0
0
0
0
0
-15
-18
60
43
-17
-5
60
0
0
0
0
0
0
0
0
8
19
56
1
40
29
47
13
30
-5
0
0
0
0
0
0
-3
23
-17
-61
25
18
-81
54
-10
30
73
0
0
0
0
0
0
0
-59
16
8
-21
17
-15
45
-10
41
65
0
0
0
0
0
0
-8
19
-19
-14
-81
26
46
-36
44
5
7
0
0
0
0
0
0
0
7
-8
43
-45
-85
-32
-21
10
36
8
0
0
0
0
0
0
0
0
4
-1
2
-39
-49
40
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
41
96
43
64
8
27
-30
-1
0
0
0
0
0
0
10
5
-17
64
-20
36
14
-18
-36
16
4
0
0
0
0
0
0
0
12
-22
22
6
87
35
44
38
-7
-2
0
0
0
0
0
0
10
-2
-4
2
22
10
-34
28
-8
-50
-38
0
0
0
0
0
0
0
7
-1
-4
9
-9
48
18
-26
23
-37
0
0
0
0
0
0
0
0
-2
-2
3
2
-21
33
4
-21
10
0
0
0
0
0
0
0
0
0
0
0
-6
8
2
-90
25
10
0
0
0
0
0
0
0
0
0
0
0
2
-18
-11
-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
-1
-13
-20
16
-40
13
0
0
0
0
0
0
0
0
0
-2
-2
0
-2
-2
34
30
-8
0
0
0
0
0
0
0
0
0
1
0
-1
1
20
16
-43
60
-10
0
0
0
0
0
0
0
0
0
0
0
-1
8
62
26
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-29
42
33
25
-6
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
15
-57
8
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
2
0
0
0
0
0
0
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
24
-3
57
23
65
0
0
0
0
0
0
0
0
0
-4
16
2
14
-10
-6
-53
-68
4
0
0
0
0
0
0
0
11
-15
10
19
6
-40
30
84
-75
3
0
0
0
0
0
0
0
0
-3
-1
1
0
16
47
55
55
15
0
0
0
0
0
0
0
0
0
0
0
8
38
61
10
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
26
42
-10
7
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-1
2
-15
-6
64
54
-8
1
0
0
0
0
0
0
-2
0
6
15
-22
39
-43
-12
-29
86
-3
0
0
0
0
0
0
0
0
1
1
2
18
7
38
32
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
56
42
26
15
0
0
0
0
0
0
0
0
0
0
0
0
1
17
60
-2
-62
1
0
0
0
0
0
0
0
0
0
0
0
-7
-11
-12
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-13
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-18
-37
-5
74
-44
5
1
0
0
0
0
0
0
0
0
33
54
20
4
15
21
56
44
4
0
0
0
0
0
0
0
2
-6
-26
50
29
-3
-74
43
17
-1
0
0
0
0
0
0
0
2
1
0
19
6
14
10
20
4
0
0
0
0
0
0
0
0
0
-7
26
15
5
-4
42
114
14
0
0
0
0
0
0
0
0
0
-6
0
0
-28
37
8
6
-6
0
0
0
0
0
0
0
0
-1
0
0
0
-18
85
-6
11
0
1
0
0
0
0
0
0
0
0
-7
-2
2
2
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
2
48
-24
52
-20
-3
0
0
0
0
0
0
0
0
3
58
28
83
102
15
-5
-19
-16
0
0
0
0
0
0
0
0
21
-7
-12
60
-46
27
19
74
21
0
0
0
0
0
0
0
3
4
0
65
-22
-26
106
28
-19
-27
0
0
0
0
0
0
0
-7
20
23
-39
-1
-20
9
28
1
-9
0
0
0
0
0
0
0
0
21
1
-49
47
-1
-35
8
-8
-16
0
0
0
0
0
0
1
4
11
-5
12
45
30
-7
-13
21
28
0
0
0
0
0
0
0
0
0
0
-2
-6
4
43
-4
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
39
63
-13
22
20
7
-3
11
0
0
0
0
-1
-33
-24
-8
15
50
63
-32
12
6
57
-4
25
0
0
0
0
4
0
-6
-21
-13
35
24
60
78
36
42
64
-23
0
0
0
0
-2
13
-76
-44
-8
37
-25
-59
3
19
5
19
30
0
0
0
0
8
-5
-15
-26
3
1
-16
6
54
22
52
-27
-8
0
0
0
0
0
-10
31
-8
-5
-11
6
34
-21
7
-15
-4
0
0
0
0
0
0
0
-13
-5
-51
13
52
-16
-19
6
-3
0
0
0
0
0
0
0
-1
0
7
26
4
-7
-27
19
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
6
0
0
0
0
0
0
0
0
0
0
-2
-7
7
-34
0
-2
1
20
11
0
40
-42
0
0
0
0
2
39
-69
-23
48
19
-6
31
-4
-5
29
16
35
0
0
0
0
1
26
-48
36
4
-1
-5
21
-3
24
15
40
59
0
0
0
0
-1
26
-11
-16
-20
-15
-3
-21
-3
6
41
11
-33
0
0
0
-15
9
-8
23
6
-30
-2
-44
-17
22
14
44
-4
30
0
0
0
3
1
-3
37
-7
9
-13
-3
1
-6
9
-23
9
-12
0
0
0
0
3
36
36
-6
7
3
3
-8
-29
-3
8
3
5
0
0
0
0
-3
0
-4
28
25
32
13
12
-15
-14
3
-27
-3
0
0
0
0
0
-2
7
10
-59
23
16
2
20
62
-20
0
0
0
0
0
0
0
0
-15
37
59
0
51
-25
9
20
-67
33
0
0
0
0
0
-2
11
1
11
0
14
10
64
-15
37
-56
26
-1
0
0
0
0
6
1
-18
2
10
36
36
87
21
6
-38
-2
3
0
0
0
0
0
-41
-5
-10
-17
1
46
73
27
-4
-14
2
1
0
0
0
0
-3
0
-9
2
-6
23
-28
-10
47
15
-4
10
0
0
0
1
0
0
-16
-63
-21
-45
-12
-44
65
-107
-46
39
0
0
0
0
-4
0
-31
-40
6
-17
-12
-14
-35
-9
-30
-27
12
-20
0
0
0
0
1
-16
-62
-14
-32
-12
-4
4
-8
7
10
0
0
1
0
0
1
-2
-9
-23
-3
-11
-5
14
-40
20
2
-11
0
0
0
0
0
0
0
0
2
25
66
32
0
20
25
24
-42
13
1
0
0
0
0
0
0
-23
-66
48
0
12
12
55
-15
41
-17
-50
0
0
0
0
0
2
0
18
14
26
32
8
55
34
31
-12
-10
0
0
0
0
0
2
-9
1
-5
30
4
14
20
-24
-21
34
-4
0
0
0
0
0
-2
0
-17
-27
7
18
-4
-17
-7
49
-13
-3
0
0
0
0
0
0
-7
-24
-21
-5
4
3
14
-61
-27
-3
-1
0
0
0
0
0
9
1
16
-17
-9
-19
-37
9
-6
-6
1
-3
0
0
0
0
-1
0
-1
-47
11
-5
-7
48
-75
6
26
2
0
0
0
0
0
0
0
0
0
0
0
-25
-4
-12
2
0
0
0
0
0
0
0
0
0
0
2
67
69
0
45
35
10
49
41
-20
42
-42
0
0
0
0
-7
-6
41
5
35
27
84
19
27
-38
-10
-30
-25
0
0
0
0
-2
13
35
-25
17
21
46
-1
20
51
5
50
-11
0
0
0
0
0
4
45
15
-29
9
-39
22
-13
11
15
39
-15
0
0
0
-2
0
7
20
16
-54
-10
15
-38
-33
26
-96
45
18
0
0
0
0
2
17
-3
6
-2
-33
0
-10
37
17
-15
30
0
0
0
0
-3
-7
-3
17
-30
-60
-98
-63
-27
-15
-24
46
-4
0
0
0
0
0
0
0
0
-7
1
-12
-16
7
-27
-16
0
0
0
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
1
26
-44
63
-10
-26
-16
6
0
0
0
0
0
0
-3
0
-35
-14
7
66
-20
-32
11
15
3
0
0
0
0
0
0
0
-29
-24
27
12
26
-26
13
59
-60
23
0
0
0
0
0
0
0
-34
-3
6
24
-5
-14
12
-68
-19
-15
0
0
0
0
0
0
-1
17
96
66
15
31
-42
28
17
5
0
0
0
0
0
0
-2
1
-20
-2
-17
32
38
42
-1
-13
-6
0
0
0
0
0
0
0
0
-7
64
9
25
69
-40
0
-2
-6
0
0
0
0
0
0
0
0
0
-6
36
2
-6
-37
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
22
52
0
86
45
85
-7
-42
-2
-3
40
0
0
0
0
0
-2
28
0
37
69
-10
43
36
5
-2
57
54
0
0
0
0
0
0
0
-57
51
6
35
14
23
89
-10
22
22
0
0
0
0
0
0
6
-56
4
48
-8
36
-56
-5
32
-29
-22
0
0
0
0
0
-17
-41
23
35
9
-43
51
-53
45
-43
-38
41
0
0
0
0
0
19
47
-16
13
-23
18
25
55
-17
27
30
-15
0
0
0
0
-2
-36
38
-13
-3
-33
27
-21
35
-1
27
-10
-1
0
0
0
0
1
1
-55
-12
-8
24
-50
31
-9
-20
2
1
0
0
0
0
0
0
0
0
0
-9
14
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
2
-1
-36
0
0
31
0
0
0
0
0
0
0
0
0
-3
0
1
16
-39
-40
47
33
1
0
0
0
0
0
0
0
0
0
3
0
-3
22
65
24
46
0
0
0
0
0
0
0
0
0
0
-1
0
9
44
12
19
17
8
0
0
0
0
0
0
0
0
0
0
0
-2
25
-39
-11
9
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
89
-21
14
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
3
-43
-2
181
22
0
0
0
0
0
0
0
0
0
0
0
0
0
32
50
-11
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
71
19
12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
29
-9
0
0
0
0
0
0
0
0
0
0
0
-4
-9
78
4
-1
10
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
15
-28
4
19
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
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
-7
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
8
0
-39
3
0
0
0
0
0
0
0
0
0
1
1
-7
2
41
-17
0
-7
0
0
0
0
0
0
0
0
0
0
0
16
36
27
0
-4
0
-2
0
0
0
0
0
0
0
0
0
-1
-1
-4
10
-15
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
3
6
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-6
26
2
-10
1
1
0
0
0
0
0
0
-3
13
-25
-2
19
-2
4
-21
14
-15
1
3
0
0
0
0
0
0
-1
6
26
-7
75
-27
28
-15
-7
3
0
0
0
0
0
0
0
0
2
1
19
6
-42
6
-15
-10
-8
0
0
0
0
0
0
0
0
1
7
-6
3
-58
6
7
13
13
0
0
0
0
0
0
0
0
0
0
3
6
-5
-25
-2
1
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
0
0
0
40
102
29
24
15
21
27
0
0
0
-1
0
0
22
22
0
0
44
32
-5
-2
19
1
48
0
0
0
0
0
0
-11
-45
95
92
174
32
7
26
3
34
7
0
0
0
0
0
-1
0
47
35
99
103
43
17
7
10
29
66
0
0
0
0
0
0
-1
2
-56
34
49
-11
46
2
13
-5
-21
0
0
0
0
0
0
0
-5
-10
-49
10
75
8
-32
-26
51
-5
0
0
0
0
0
0
0
-2
-8
-10
34
25
-14
22
-12
71
-4
0
0
0
0
0
0
0
0
0
0
0
-4
1
34
-8
23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
9
6
0
0
2
-23
1
-26
19
20
-12
0
0
0
1
3
0
-41
-14
9
28
39
11
-28
-33
-32
33
87
0
0
0
0
-1
3
18
2
-8
57
48
2
-28
-5
-35
-8
40
0
0
0
0
2
-11
30
-24
-65
-7
-28
5
-11
-15
-4
3
69
0
0
0
0
0
-3
10
52
-3
-7
-47
-23
-18
-29
-26
12
24
0
0
0
0
0
3
2
8
6
20
-45
-41
-31
-52
-36
-14
17
0
0
0
0
0
-1
3
1
-61
-26
7
-61
-49
-17
-16
-33
56
0
0
0
0
0
0
8
-3
-10
38
3
-39
-16
20
-42
-59
26
0
0
0
0
0
0
1
0
-4
0
4
34
6
-14
20
4
0
0
0
0
0
0
-1
0
0
0
0
58
-18
-10
17
23
43
-12
0
0
0
0
0
0
0
0
26
-5
74
45
2
-9
-12
-1
25
0
0
0
0
0
0
-1
-1
3
-36
1
24
2
-28
18
-19
16
0
0
0
0
0
0
0
0
2
30
-33
-3
19
-10
1
-35
9
0
0
0
0
0
0
1
0
-41
-12
58
-57
4
35
-7
-17
-12
0
0
0
0
0
0
0
0
4
7
3
29
43
-23
23
-12
41
0
0
0
0
0
0
0
-1
0
6
-26
-9
-11
12
-13
-10
11
0
0
0
0
0
0
0
0
0
3
0
53
23
-19
25
-7
50
0
0
0
0
0
0
0
0
0
-1
-2
0
-34
39
-35
0
22
0
0
0
0
0
0
0
3
0
34
20
5
-23
13
44
14
39
0
0
0
0
0
0
0
-4
62
105
0
39
5
11
-27
50
26
0
0
0
0
0
0
0
0
37
20
17
-14
18
2
21
3
44
0
0
0
0
0
0
-12
0
8
-34
13
15
42
-14
-22
-14
21
0
0
0
0
0
0
0
0
33
-6
34
35
16
-11
-14
-10
4
0
0
0
0
0
0
0
0
-7
-15
32
-19
-5
-28
29
20
-4
0
0
0
0
0
0
0
0
-3
4
-27
8
37
25
-13
-24
-62
0
0
0
0
0
0
0
0
0
0
12
27
28
-6
7
22
8
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
63
0
0
0
0
0
0
0
8
30
-10
0
0
19
21
24
31
13
28
-11
0
0
0
3
-2
-9
-14
0
61
0
65
64
31
-2
8
16
18
0
0
0
0
-2
4
-48
-29
90
-14
83
66
25
20
19
12
-21
0
0
0
0
0
1
-4
0
60
111
-2
9
41
48
-22
-4
-19
0
0
0
0
0
0
-2
-4
14
10
56
-11
48
25
7
-18
-26
0
0
0
0
0
0
1
7
-28
24
35
4
4
16
2
12
-1
0
0
0
0
0
0
1
0
-8
-2
-69
-43
-23
42
-28
8
-13
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-7
46
6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
-7
1
24
-4
0
0
0
0
0
0
0
0
0
0
0
-10
39
-14
43
5
-23
0
0
0
0
0
0
0
0
0
-3
0
3
-4
-29
26
-11
10
-1
0
0
0
0
0
0
0
0
0
9
-38
78
23
23
-16
4
0
0
0
0
0
0
0
0
0
0
-3
7
51
39
32
3
14
-2
0
0
0
0
0
0
0
0
0
2
-1
10
-42
42
-23
1
0
0
0
0
0
0
0
0
0
0
0
6
1
-3
-2
16
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
35
2
50
-36
5
43
0
0
0
0
0
0
-1
2
0
3
29
-17
67
-30
-4
15
-27
0
0
0
0
0
0
0
-2
0
10
58
-5
7
28
-23
24
49
0
0
0
0
0
0
4
-2
-8
-12
78
53
-26
0
-23
16
2
0
0
0
0
0
0
0
2
25
-10
102
16
3
-14
-22
12
79
0
0
0
0
0
0
0
-1
0
0
35
-7
22
21
-16
-11
25
0
0
0
0
0
0
0
0
0
13
15
-31
25
65
7
-39
-32
0
0
0
0
0
0
0
0
0
4
-2
-2
-4
-28
-7
-22
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
68
0
50
19
-35
8
-1
2
0
0
0
0
0
0
0
3
-12
0
24
32
-31
40
26
17
14
0
0
0
0
0
0
0
-3
20
42
50
48
42
34
-10
-23
-23
0
0
0
0
0
0
0
-6
-9
2
-47
-9
30
-17
-59
34
18
0
0
0
0
0
0
0
-1
5
0
11
-25
26
25
-15
13
72
0
0
0
0
0
0
0
0
1
0
-1
19
-46
-3
-42
4
-36
0
0
0
0
0
0
0
0
0
-2
0
-1
-8
-20
25
9
49
0
0
0
0
0
0
0
0
0
0
0
-6
-13
12
-16
-36
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
52
-3
0
0
0
0
0
0
0
0
0
0
0
6
15
77
-94
-5
0
0
0
0
0
0
0
0
-2
0
0
-22
0
16
-8
-40
-29
4
0
0
0
0
0
0
0
0
0
-1
0
-1
8
50
40
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
47
-6
-54
2
0
0
0
0
0
0
0
0
0
0
0
-2
32
-6
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-37
-21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
51
-16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
16
-21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
2
-2
3
-1
-30
2
0
0
0
0
0
0
0
0
-4
0
0
13
5
81
38
-17
-23
3
0
0
0
0
0
0
0
1
-6
2
-2
3
-20
-12
-18
82
2
0
0
0
0
0
0
0
0
-4
0
-7
11
61
11
3
-28
4
0
0
0
0
0
0
0
0
0
0
0
6
52
0
10
39
3
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
-8
8
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
-50
32
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
29
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
69
7
73
-19
0
0
0
0
0
0
0
0
0
0
0
39
-46
20
9
10
-59
51
0
0
0
0
0
0
0
0
0
0
0
0
-21
-18
-53
34
13
0
0
0
0
0
0
0
0
0
0
2
4
81
-50
7
-47
13
0
0
0
0
0
0
0
0
0
0
0
0
4
18
65
9
11
0
0
0
0
0
0
0
0
0
0
0
0
12
-63
13
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-4
-13
19
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
-7
0
0
0
0
0
0
0
-3
0
58
-7
-72
28
-17
-10
28
0
0
0
0
0
0
0
-3
32
65
2
-25
2
19
6
56
-1
-8
0
0
0
0
0
0
0
-2
29
-27
27
43
-11
16
40
-2
9
0
0
0
0
0
0
0
-2
-2
92
19
16
24
42
-55
-11
2
0
0
0
0
0
0
0
0
-2
-2
-2
74
48
27
28
-24
24
0
0
0
0
0
0
0
0
0
-1
-7
-14
49
38
-37
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
-18
6
36
-32
7
0
0
0
0
0
0
0
0
0
0
0
0
-6
11
35
-46
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
-2
0
0
0
0
0
0
0
1
0
8
-7
-22
15
14
-31
2
30
0
0
0
0
0
0
0
0
41
5
-39
45
30
4
10
-3
49
0
0
0
0
0
0
0
-4
10
57
-3
40
71
38
8
-6
-49
0
0
0
0
0
0
0
0
1
-16
5
100
3
-16
13
16
7
0
0
0
0
0
0
0
0
4
-2
-44
-5
41
31
-4
2
19
0
0
0
0
0
0
0
0
0
0
3
19
-89
26
-7
-22
72
0
0
0
0
0
0
0
0
0
0
0
-5
-38
-6
16
-27
-13
0
0
0
0
0
0
0
0
0
0
0
9
-5
-44
-46
-2
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
2
45
-26
17
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
24
0
33
21
49
19
-31
2
-79
42
0
0
0
2
1
11
-23
0
36
53
54
27
27
-45
19
0
-14
0
0
0
0
8
-4
-7
25
14
22
53
7
46
13
31
-54
-1
0
0
0
0
0
3
-5
-41
-7
6
27
48
84
13
5
-33
-2
0
0
0
0
0
7
-1
-4
-3
-20
-9
38
19
60
-31
0
3
0
0
0
0
0
0
0
7
23
-13
17
-8
-61
-38
34
-27
10
0
0
0
0
0
0
0
-2
0
13
7
8
-33
27
-33
-1
-5
0
0
0
0
0
0
0
0
0
0
0
-1
6
10
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
-13
24
-4
-1
0
2
-1
25
17
10
-17
-35
0
0
0
0
-8
-26
49
22
-38
12
4
21
-1
3
15
18
11
0
0
0
0
0
0
-54
-18
-26
-8
-15
16
-4
10
42
-3
-8
0
0
0
0
0
-1
-33
48
-58
40
8
-32
-20
1
11
-6
3
0
0
0
0
0
4
3
31
16
45
-56
-9
-32
-6
23
1
-94
0
0
0
0
0
-1
0
16
-21
-7
4
-52
-28
-21
17
25
-11
0
0
0
0
0
0
0
-2
-34
-72
-30
-21
-34
-11
-8
10
4
0
0
0
0
0
1
0
0
-32
22
-65
8
-35
18
-33
-16
-88
0
0
0
0
0
0
0
0
0
6
10
-45
-32
-30
0
0
0
0
0
0
-1
-2
16
58
-4
33
0
78
21
5
103
-32
35
0
0
0
0
0
0
0
-2
8
-4
41
5
39
37
-1
88
10
3
0
0
0
0
0
0
0
30
77
2
-22
68
-3
31
-20
-38
-2
0
0
0
0
0
0
-4
0
27
34
-14
-46
-1
26
8
-36
0
0
0
0
0
0
0
0
-1
-9
-4
10
-30
-19
-51
-44
21
1
0
0
0
0
0
0
0
0
0
0
-3
-10
14
-18
-37
-1
0
0
0
0
0
0
0
0
0
0
0
13
0
3
25
-1
-65
0
0
0
0
0
0
0
0
0
0
15
15
7
12
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-2
-5
26
13
0
23
38
-5
26
1
55
0
0
0
0
0
0
1
17
-18
29
62
24
13
12
-8
15
-36
0
0
0
0
0
0
2
-4
5
49
6
-9
8
8
34
54
-20
0
0
0
0
0
0
0
0
-2
-20
14
-3
-32
7
27
55
46
0
0
0
0
0
0
0
0
-6
2
6
2
12
-14
34
60
11
0
0
0
0
0
0
0
0
0
-23
-44
-36
-15
-22
-22
-36
-8
0
0
0
0
0
0
0
0
0
-39
-15
-19
5
-19
-37
-3
1
0
0
0
0
0
0
0
0
0
1
-2
-17
0
-32
-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
1
22
2
-23
0
30
44
58
12
62
-28
-40
27
0
0
0
0
1
93
36
49
23
55
40
-9
-19
31
-29
0
48
0
0
0
0
0
16
16
6
40
24
50
-8
21
-5
41
6
-68
0
0
0
0
0
1
3
13
-47
31
-17
-2
22
-10
-12
-14
-55
0
0
0
0
0
0
0
-50
59
7
-12
-37
20
14
4
-63
14
0
0
0
0
0
0
0
-3
-23
52
-23
-35
28
-24
-56
75
3
0
0
0
0
0
0
0
0
5
-6
1
-18
-34
-64
-27
-15
-1
0
0
0
0
0
0
0
0
0
-1
-1
-3
-1
-2
15
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-3
0
0
0
0
0
0
-2
-46
0
31
5
-9
42
-28
-21
-21
0
0
0
0
0
0
0
3
-12
-55
20
38
16
20
-5
-6
5
2
0
0
0
0
0
0
0
4
45
11
80
16
72
-27
9
-53
-19
0
0
0
0
0
0
4
-15
-48
46
39
-2
-13
14
3
-23
12
0
0
0
0
0
0
0
4
0
0
6
-17
2
20
-35
9
2
0
0
0
0
0
0
0
0
2
-30
10
-4
14
-63
47
22
1
0
0
0
0
0
0
0
0
0
-1
-7
34
-14
3
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
0
45
-2
-46
21
-23
-6
19
60
0
0
0
0
0
0
52
-11
50
111
32
19
33
-22
62
45
0
0
0
0
0
0
0
24
-16
35
-23
75
62
-47
28
-51
-20
12
0
0
0
0
0
0
-1
-10
-52
4
42
44
22
14
-24
6
-10
0
0
0
0
0
0
-1
52
17
40
43
-42
7
25
11
-35
23
0
0
0
0
0
0
0
-17
103
28
38
30
-79
-25
-5
-20
83
0
0
0
0
0
0
0
5
16
60
-49
11
39
-33
-32
-22
72
0
0
0
0
0
0
0
0
-4
0
-1
-2
-7
12
-34
-52
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-19
26
20
-24
16
12
28
0
-3
0
0
0
0
0
0
0
-8
-6
-31
-6
-1
-3
9
25
-5
0
0
0
0
0
0
0
0
-32
22
-51
-5
-3
32
3
-1
0
1
0
0
0
0
0
0
0
-40
-78
11
15
-29
-24
1
0
-1
0
0
0
0
0
0
0
0
1
-110
-95
-67
64
3
-1
0
0
0
0
0
0
0
0
0
0
7
41
12
22
10
-13
2
0
0
0
0
0
0
0
0
0
0
-4
-31
-14
-16
9
7
0
0
0
0
0
0
0
0
0
0
0
-1
31
17
-39
0
-6
0
0
0
0
0
0
0
0
0
0
0
-20
28
-23
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-36
51
3
0
0
-1
0
0
0
0
0
0
0
0
0
3
-71
40
5
31
-2
2
0
0
0
0
0
0
0
0
0
0
-14
23
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
10
4
-19
-38
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
4
13
11
0
0
0
0
0
0
0
0
0
0
0
0
4
14
-1
-13
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-26
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-109
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-40
-41
-26
10
0
-1
0
0
0
0
0
0
0
0
0
1
35
-88
-15
-17
-7
0
0
0
2
0
0
0
0
0
0
0
-3
52
32
-7
-5
-2
0
0
0
0
0
0
0
0
0
0
0
4
-3
-80
25
28
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
5
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
3
5
-35
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
10
-39
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
-16
-19
-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
-11
-45
2
17
0
-1
2
0
0
0
0
0
0
0
0
0
-40
-4
-13
-40
35
17
0
-3
-1
0
0
0
0
0
0
0
0
2
2
26
65
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
-81
22
-18
49
-1
0
0
0
0
0
0
0
0
0
0
0
1
9
-57
20
-16
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-42
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-6
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
-10
0
0
0
0
0
0
0
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
2
-4
4
-3
0
-2
0
0
0
0
0
0
0
0
0
3
-24
44
-25
32
42
47
5
2
0
0
0
0
0
0
0
0
-1
-1
-88
-17
-26
-2
57
-3
4
0
0
0
0
0
0
0
0
-12
16
-16
24
11
36
16
17
0
0
0
0
0
0
0
0
0
-12
-6
-21
-118
22
0
0
0
-4
0
0
0
0
0
0
0
0
-10
-44
33
-56
21
3
0
1
0
0
0
0
0
0
0
0
0
-16
-46
-87
-2
3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-65
-21
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-30
17
21
1
-42
-19
0
0
0
0
0
0
0
0
0
-33
-16
-8
-46
38
29
5
-21
0
3
0
0
0
0
0
0
0
-2
12
-8
-50
-36
20
66
38
-11
-3
0
0
0
0
0
0
0
21
-56
17
110
-22
28
-25
-8
8
3
0
0
0
0
0
0
0
-40
14
-8
37
12
-13
-51
-6
1
0
0
0
0
0
0
0
0
-39
-49
-27
-47
22
32
10
3
-10
0
0
0
0
0
0
0
0
-26
21
-35
8
-25
-28
1
6
0
0
0
0
0
0
0
0
0
-12
-101
29
47
3
0
-1
0
1
0
0
0
0
0
0
0
0
-39
-59
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
9
-17
58
-58
11
-12
25
0
44
27
-26
0
0
0
0
0
-1
-20
-16
-12
2
21
-10
13
33
118
16
-40
-7
0
-1
0
0
-9
-17
22
7
34
-12
20
-1
-18
12
62
24
7
0
0
0
0
4
-76
35
-34
-14
28
41
52
33
26
17
2
2
8
0
0
0
-1
12
14
-3
-30
15
34
28
47
37
4
11
3
0
0
0
0
3
36
23
-29
24
-78
26
-9
-23
-20
12
0
0
0
0
0
0
-1
1
20
22
31
-61
-82
12
0
-1
0
0
0
0
0
0
0
-2
27
-1
-24
3
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
28
-11
-23
8
47
-49
-13
0
-24
16
-14
-8
-4
0
0
0
0
-102
-36
10
-23
1
-32
22
30
67
28
20
35
8
0
0
0
0
-4
-31
19
-12
-36
-43
-11
-24
-18
-7
19
-35
3
0
0
0
0
-74
-12
-23
18
-24
-9
-20
26
21
29
21
18
-8
0
0
0
0
4
6
-80
-18
-30
14
11
17
-9
-8
8
12
6
0
0
0
0
20
21
-38
5
-10
-23
7
-9
5
-4
18
10
3
0
0
0
0
-8
-18
37
-3
-8
-18
10
7
-16
23
-23
16
8
0
0
0
0
47
1
80
54
0
1
-46
-45
18
-8
3
6
0
0
0
0
0
0
7
4
-13
36
-8
14
-29
1
26
2
1
0
0
0
0
0
0
6
15
-59
20
-93
-52
0
9
-9
3
0
0
0
0
0
0
3
5
-10
31
-16
9
-20
16
115
-3
-3
1
0
0
0
0
0
1
-67
54
-58
-6
-20
-62
12
46
28
6
0
0
0
0
0
0
3
-7
-57
63
34
-49
-47
55
21
0
0
1
0
0
0
0
0
0
-11
5
22
30
-2
108
75
58
20
6
0
0
0
0
0
0
0
-9
87
28
71
39
2
-2
2
0
0
0
0
0
0
0
0
0
-2
-84
23
-1
-13
-1
4
18
0
0
0
0
0
0
0
0
0
0
-8
9
-2
-9
34
-8
10
1
3
0
0
0
0
0
0
0
0
0
0
-1
9
-7
0
12
0
0
0
0
0
0
0
0
0
10
-9
16
-89
-62
-12
0
55
-6
-15
-1
0
0
0
0
0
0
-41
25
15
55
-32
-2
29
50
-18
-34
13
0
-1
0
0
0
0
10
-18
21
-2
7
-27
-12
1
62
13
0
0
0
0
0
0
0
49
-9
12
45
-3
87
32
-29
30
-2
1
0
0
0
0
0
0
-6
19
0
10
-6
25
25
60
6
0
0
0
0
0
0
0
0
-7
19
-38
-63
-20
7
8
60
1
2
0
0
0
0
0
0
0
-7
-20
-6
-47
21
-28
-36
20
-1
0
0
0
0
0
0
0
0
0
-9
10
82
0
31
-8
0
0
0
0
0
0
0
0
0
0
-11
0
2
-1
-11
0
0
0
0
0
0
0
0
0
0
25
-49
4
8
-81
-18
-28
30
0
4
38
10
1
0
0
0
0
17
46
-12
-14
0
-11
-4
6
19
87
-6
42
1
0
1
0
0
90
15
40
13
7
-1
40
44
-16
45
50
2
0
2
0
0
0
-8
-14
-14
-27
-80
62
68
18
75
-29
-27
1
0
0
0
0
0
55
35
-70
52
31
53
51
45
35
-30
0
-1
0
0
0
0
0
-3
-63
32
20
75
-3
31
13
-11
-8
2
0
0
0
0
0
0
4
-32
8
-38
24
-52
48
43
-2
0
-4
0
0
0
0
0
0
0
-33
4
-5
-37
0
-1
13
0
0
0
0
0
0
0
0
0
0
6
0
-7
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-4
-4
-27
-19
16
62
0
20
-1
0
0
0
0
0
0
0
13
10
-8
-20
15
14
-21
43
37
0
0
0
0
0
0
0
0
-10
22
-2
38
80
-8
24
19
39
0
0
0
0
0
0
0
0
-8
22
-22
93
24
34
43
-40
4
0
0
0
0
0
0
0
1
3
-10
-51
101
37
-4
28
1
0
0
0
0
0
0
0
0
0
2
10
-50
2
-4
1
46
0
0
0
0
0
0
0
0
0
0
-7
-1
4
-20
-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
15
3
13
2
-37
5
0
22
-60
6
0
0
0
0
0
4
41
8
8
3
-22
12
64
62
78
17
27
6
0
0
0
0
7
38
-6
-5
9
61
106
20
11
-53
30
4
-8
0
0
0
0
-1
8
-9
2
85
83
29
48
11
49
-7
0
0
0
0
0
0
0
-22
-1
24
127
42
-29
-22
-9
35
-18
6
0
0
0
0
0
0
21
9
46
14
38
-70
-25
26
-29
40
-1
0
0
0
0
0
0
12
19
-3
-21
-16
49
20
20
10
20
0
0
0
0
0
0
4
15
-7
-37
-19
6
-33
40
-14
6
-4
0
0
0
0
0
0
0
0
0
0
0
6
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
2
125
0
0
50
-58
9
4
0
0
0
0
0
0
0
0
0
0
90
129
89
-10
0
-2
4
-2
0
0
0
0
0
0
0
0
46
85
61
27
16
19
-3
0
0
0
0
0
0
0
0
0
0
1
5
20
-31
-81
-4
0
-2
0
0
0
0
0
0
0
0
0
3
-57
1
24
-15
1
0
0
1
0
0
0
0
0
0
0
0
1
-69
47
-29
5
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-34
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
-1
-20
-3
-4
0
0
0
0
0
0
0
0
0
0
48
-34
23
-26
9
0
0
0
0
0
0
0
0
0
0
0
0
-30
106
48
-53
-2
1
0
0
0
0
0
0
0
0
0
0
0
-15
9
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
9
6
0
0
0
0
0
0
0
0
0
0
6
132
0
0
17
-44
11
0
0
0
0
0
0
0
0
0
0
0
111
116
3
4
26
-1
0
0
0
0
0
0
0
0
0
0
2
-38
48
67
-13
-5
-1
0
0
0
0
0
0
0
0
0
0
-6
2
-34
-47
-28
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
8
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
91
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
45
83
0
0
-3
-7
0
0
0
0
0
0
0
0
0
0
0
16
78
108
59
-26
10
0
0
0
0
0
0
0
0
0
0
2
112
18
26
-28
84
-3
0
0
0
0
0
0
0
0
0
0
0
40
30
21
-60
1
0
0
0
0
0
0
0
0
0
0
0
0
54
-34
-3
-43
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-60
-15
4
0
0
0
7
2
0
0
0
0
0
0
0
10
-41
-24
-43
73
0
0
0
13
-3
0
0
0
0
0
0
0
25
-39
120
52
55
114
-13
-31
-7
1
0
0
0
0
0
0
0
4
23
45
87
19
30
19
-29
-6
0
0
0
0
0
0
0
-1
-12
19
106
19
87
63
-50
0
0
0
0
0
0
0
0
0
0
0
-12
-3
68
-22
-24
-53
-13
0
0
0
0
0
0
0
0
0
0
0
26
-29
-50
-32
-18
-4
0
0
0
0
0
0
0
0
0
0
4
-2
-3
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
19
-3
0
0
0
0
0
0
13
18
-2
-1
-17
77
0
0
0
6
24
-18
0
0
0
0
0
-19
-6
-15
-16
63
106
-4
59
-56
-46
22
-1
0
0
0
0
0
-57
-8
4
42
121
-4
80
-36
4
9
6
0
0
0
0
0
0
6
-37
-15
100
46
26
13
-19
-5
3
-8
1
0
0
0
0
0
16
4
44
-41
101
-8
-26
11
-60
0
0
0
0
0
0
0
-2
-6
22
-9
-16
-45
45
30
14
9
0
0
0
0
0
0
0
0
16
-6
-2
1
7
-2
-4
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
28
30
-7
-20
19
-46
0
0
0
0
0
0
0
0
0
0
0
57
1
5
-8
-4
42
10
0
0
0
0
0
0
0
0
0
0
-24
-2
-22
5
-28
-13
5
5
0
0
0
0
0
0
0
0
0
-1
39
-24
-26
-47
36
8
37
2
-1
0
0
0
0
0
0
0
10
-23
44
-11
-3
30
7
7
-9
1
0
0
0
0
0
0
0
2
-1
12
-55
-7
-11
16
-45
18
0
0
0
0
0
0
0
0
-14
-19
-28
53
-41
4
10
17
0
0
0
0
0
0
0
0
0
0
83
19
41
-15
19
16
-3
7
0
0
0
0
0
0
0
0
2
1
-20
-20
1
-3
-3
0
0
0
0
0
0
0
0
0
0
55
48
1
52
39
9
34
0
0
0
-34
-7
0
0
0
0
0
16
32
-16
7
25
28
77
0
0
30
15
25
1
0
0
0
0
12
17
14
7
-3
42
128
72
22
10
-38
0
0
0
0
0
0
30
21
9
-28
17
65
46
75
23
-19
2
0
0
0
0
0
0
25
-33
-33
13
-25
-1
25
-17
-8
-20
3
0
-1
0
0
0
0
-33
41
12
-33
-18
-13
1
-101
16
12
-10
0
0
-1
0
0
0
-4
-24
-31
29
6
-28
-30
-51
-8
33
0
0
0
0
0
0
0
0
10
-10
9
-5
-10
10
-2
2
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
8
-66
-36
-3
-12
-9
55
0
0
-51
-11
23
0
0
0
0
0
-25
-31
-37
-14
5
-7
29
21
63
6
-22
2
6
0
0
0
0
-30
20
-34
-20
-6
9
9
37
88
10
11
-1
1
0
0
0
0
-21
-3
4
-15
-6
9
28
19
30
7
32
3
0
0
0
0
0
-46
-84
-36
2
-15
-4
-15
21
-50
37
52
8
-1
0
0
0
0
39
42
-1
-30
3
-42
-2
-6
7
7
-20
-3
0
0
0
0
0
-14
-22
-36
-23
-36
-27
-4
34
18
8
-41
-2
-6
0
0
0
0
0
-61
1
-5
22
-5
-9
3
-59
-13
-3
-6
0
0
0
0
0
0
0
-35
11
8
-1
-8
17
-21
-1
0
0
0
0
0
0
0
5
-11
-7
-31
10
8
-8
0
0
1
0
0
0
0
0
0
0
-24
1
-4
-18
-43
23
12
51
3
0
3
0
0
0
0
0
0
-19
-5
17
-6
-31
-80
26
2
-20
0
0
0
0
0
0
0
0
10
7
-17
40
-8
17
26
-59
-1
-1
-1
0
0
0
0
0
0
-21
-25
37
-20
43
-107
-18
18
-32
1
0
0
0
0
0
0
0
-7
-7
-5
18
-22
-22
60
-22
-4
0
0
0
0
0
0
0
0
10
27
0
17
-50
24
-21
-3
6
-1
0
0
0
0
0
0
0
29
1
65
44
0
-1
6
0
7
0
-2
0
0
0
0
0
0
26
21
21
13
22
0
8
2
0
0
0
0
0
0
0
0
0
58
37
-33
-52
-8
25
73
-22
0
-3
0
0
0
0
0
0
0
-4
-11
-28
-1
-15
59
0
-23
-23
5
0
0
0
0
0
0
0
55
-28
-7
8
1
60
27
10
-26
24
6
0
0
0
0
0
0
37
-12
-26
17
-10
92
18
43
17
-1
0
0
0
0
0
0
0
9
-29
8
34
-15
13
29
20
-15
-2
0
0
0
0
0
0
0
-37
22
-39
9
-13
-42
21
16
15
-2
0
0
0
0
0
0
0
63
-2
26
12
-4
-3
-32
-12
0
-3
0
0
0
0
0
0
0
-44
-13
31
-43
-27
24
6
3
1
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
11
7
-13
31
-18
41
69
0
0
2
-32
3
0
0
0
0
0
28
37
10
6
35
30
104
0
107
0
6
-9
-1
1
0
0
0
-47
8
17
64
19
106
155
94
67
10
-61
102
-8
0
0
0
0
10
4
22
-2
14
31
22
100
49
11
-9
-4
-1
0
0
0
0
15
-26
14
-22
-24
42
34
-29
6
-30
1
0
-4
0
0
0
0
15
2
55
-24
32
-4
-48
-21
-34
37
1
0
0
0
0
0
0
-24
9
-16
20
5
-49
-31
-54
16
-2
0
0
0
0
0
0
0
0
-43
39
35
6
-28
-12
7
0
-7
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
14
-56
-7
-41
-12
-27
8
0
-7
-3
0
0
0
0
0
0
4
-8
-52
-38
25
45
-10
0
44
0
16
9
0
0
0
0
0
0
-21
-75
19
49
137
57
93
-48
6
-18
7
0
0
0
0
0
10
8
96
52
110
58
146
51
-31
-27
8
0
0
0
0
0
0
-16
33
17
89
77
-22
56
-26
-9
-4
0
-3
0
0
0
0
0
-7
86
42
38
66
19
-41
2
-4
-10
-3
0
0
0
0
0
0
29
51
68
97
61
-18
-3
0
-11
0
0
0
0
0
0
0
0
0
49
118
75
-40
-10
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
20
-28
-17
14
26
36
-10
0
0
0
-1
0
0
0
0
0
0
23
-18
-5
3
23
28
6
102
0
-10
-4
-8
0
0
0
0
0
18
-6
23
31
37
91
96
54
87
-70
1
0
0
0
0
0
0
-10
-77
7
46
-8
101
42
114
-30
10
0
0
0
0
0
0
0
-59
-26
2
-11
39
49
59
-6
-65
14
-1
0
0
0
0
0
0
59
45
-72
8
-4
76
41
46
15
4
0
0
0
0
0
0
0
-29
-28
-18
5
15
-55
-5
19
25
0
0
0
0
0
0
0
0
48
5
0
65
-17
-12
0
0
10
0
0
0
0
0
0
0
0
6
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
13
1
-9
1
-7
0
0
0
0
0
0
0
0
0
-38
-36
-44
63
8
1
63
34
-40
-3
0
0
0
0
0
0
0
-2
-50
15
5
-16
-3
-6
-3
3
6
0
0
0
0
0
0
0
0
-4
67
21
34
-18
-1
0
0
0
0
0
0
0
0
0
0
10
-51
-26
8
43
-7
0
1
0
0
0
0
0
0
0
0
0
-6
71
-39
19
21
16
2
0
0
0
0
0
0
0
0
0
0
0
-12
-20
-43
11
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
15
-19
0
0
0
0
0
0
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
-9
-1
8
7
0
0
0
0
0
0
0
0
0
0
0
0
-20
-46
-15
43
-3
-7
0
0
0
0
0
0
0
0
0
0
6
23
29
-13
-12
0
0
0
0
0
0
0
0
0
0
0
0
-2
34
25
37
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
3
0
9
0
0
0
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
15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
-31
22
-9
3
0
0
0
0
0
0
0
0
0
0
0
-13
-27
78
13
47
-6
-2
0
0
-6
0
0
0
0
0
0
0
-9
29
36
66
52
18
1
0
0
0
0
0
0
0
0
0
0
-2
14
36
-46
35
-1
0
0
0
0
0
0
0
0
0
0
0
0
-32
30
78
22
1
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
-22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
48
19
-21
0
2
0
0
0
0
0
0
0
0
0
0
-4
31
24
-76
23
-36
-18
6
3
1
0
0
0
0
0
0
0
1
-19
16
2
-31
15
-2
0
0
0
0
0
0
0
0
0
0
-6
44
33
45
-21
11
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
-3
18
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
17
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
37
-2
0
-1
1
0
0
0
0
0
0
0
0
0
-8
-26
27
14
17
8
23
0
-1
0
0
0
0
0
0
0
0
4
6
-39
37
-11
25
45
-11
0
0
0
0
0
0
0
0
0
-2
-17
-41
15
-4
49
-14
0
0
0
0
0
0
0
0
0
0
-1
11
-30
9
24
53
28
10
-1
0
0
0
0
0
0
0
0
0
8
-2
-33
-2
55
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
11
-1
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
3
-7
-16
8
-24
-13
0
0
0
0
0
0
0
0
0
-16
-44
50
36
-16
-37
-19
-4
8
0
0
0
0
0
0
0
0
27
41
-6
13
40
17
26
11
17
-1
0
0
0
0
0
0
0
-30
50
1
6
-10
-8
-18
-4
-11
0
0
0
0
0
0
0
0
80
18
6
-21
8
-18
20
-32
2
0
0
0
0
0
0
0
0
-12
7
30
-32
-18
-22
8
-13
-17
7
0
0
0
0
0
0
0
1
-1
-15
7
-2
-2
-8
1
2
1
0
0
0
0
0
0
0
0
0
0
2
0
-4
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
-17
-78
31
82
23
-9
67
0
3
1
19
7
0
0
0
0
40
-4
24
-16
65
6
-30
37
-8
47
-14
13
-19
0
0
0
0
12
-23
-22
43
37
22
49
6
4
12
40
4
-16
-2
0
0
0
-3
57
24
38
98
92
67
-7
-1
-18
-40
-8
-6
0
0
0
0
0
-44
85
54
28
84
20
86
28
-65
-2
0
0
0
0
0
0
0
19
20
-25
6
-16
49
-13
-59
-38
-1
0
0
0
0
0
0
0
0
1
18
-33
42
-22
-17
-72
-26
-3
2
0
0
0
0
0
0
0
0
0
-4
40
4
-29
13
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
8
-25
52
-24
2
-33
-3
0
-11
-63
-10
5
-4
0
0
0
0
-9
-27
2
10
-6
-39
-16
-27
-58
-46
-7
35
-4
10
0
0
0
13
17
15
-6
-4
23
-13
-17
-63
-76
-28
10
-5
0
0
0
0
4
40
-14
-30
2
0
-37
0
-2
-54
58
22
-6
-3
0
0
0
4
19
28
-6
-30
-24
-4
-21
23
-16
48
75
-2
1
0
0
0
4
-105
-14
0
-23
6
-13
-21
25
16
-12
-10
-2
0
0
0
0
1
-51
-60
0
3
28
-22
-32
-46
-11
-44
-3
-7
0
0
0
0
3
1
27
2
-11
13
-4
-38
41
-32
-22
1
3
2
0
0
0
0
0
2
34
-38
-48
-5
-10
30
-60
0
0
-1
0
0
0
0
0
3
-4
27
30
-33
21
0
7
-9
21
4
1
-9
-3
0
0
0
1
-10
34
12
-21
20
-17
-16
20
-3
20
3
2
0
0
0
-9
3
65
50
1
-4
26
-5
-35
-1
17
26
-1
0
3
0
0
0
-22
50
18
49
30
15
13
21
-8
11
12
-4
0
0
0
0
0
22
4
75
-5
-3
-17
30
7
-9
-5
21
-5
0
-1
0
0
0
1
69
38
23
6
-30
21
-17
-32
-11
-48
-1
12
0
0
0
0
1
-2
-32
-41
-64
27
7
-11
7
-2
58
-30
4
0
0
0
0
0
-7
21
-49
9
17
-17
15
-35
-7
21
-16
-8
0
0
0
0
0
0
26
-7
-40
-52
-11
-12
-19
-6
0
11
3
0
0
0
0
16
22
6
66
20
27
0
21
-57
22
6
3
0
0
0
0
0
42
46
46
39
-56
27
-10
-28
-11
-10
-17
-1
0
0
0
0
0
60
17
23
-16
47
19
-25
40
22
46
3
-3
0
0
0
0
0
42
55
29
36
0
13
7
79
3
13
0
0
0
0
0
0
0
12
39
-8
96
7
29
38
26
-2
-4
0
-4
0
0
0
0
0
3
0
90
-26
17
52
23
-31
-25
-4
-7
0
-3
0
0
0
0
3
-15
-39
1
-18
7
17
-18
-33
41
-37
1
0
0
0
0
0
0
4
10
34
40
-1
-18
-18
-15
-1
1
9
0
0
0
0
0
0
0
1
-5
-2
1
-3
0
0
0
0
0
0
0
0
-2
49
-19
-5
32
-34
-32
-11
0
-7
-13
-20
-1
0
0
0
0
6
75
2
3
11
21
-4
10
-26
16
-15
40
-1
3
0
0
0
23
39
22
-16
-10
-4
75
7
-32
50
39
-5
0
1
0
0
0
-3
6
10
14
56
67
-26
33
-14
8
-35
0
1
0
0
0
0
1
-63
-29
32
27
21
39
-3
70
34
-4
1
0
0
0
0
0
-1
3
-24
93
-29
49
-32
77
11
86
-10
0
0
0
0
0
0
0
2
9
36
44
0
-25
-60
43
-3
6
0
-1
0
0
0
0
0
0
0
-3
10
-14
-16
8
-10
-3
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
-8
18
8
-29
1
-64
0
5
0
0
0
0
0
0
0
3
3
-7
10
51
60
84
-25
-4
22
1
0
0
0
0
0
0
0
-9
16
49
8
10
-65
18
84
23
0
0
0
0
0
0
0
0
8
-12
-21
29
37
47
7
-4
0
-1
0
0
0
0
0
0
0
0
6
32
6
91
-51
37
21
8
0
0
0
0
0
0
0
0
-4
0
-37
7
-102
-53
-72
30
-55
0
0
0
0
0
0
0
0
0
0
1
-7
28
-101
-33
33
-2
0
0
0
0
0
0
0
0
0
0
-32
-4
-19
19
6
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
1
-2
8
6
14
1
37
0
7
4
0
0
0
0
0
0
-1
6
-14
50
78
20
-46
45
43
-3
4
14
0
0
0
0
0
-3
45
-9
8
-14
11
9
36
18
-60
19
2
-2
0
0
0
0
-1
61
3
-8
44
-8
30
-44
-46
-9
-6
0
-1
0
0
0
0
-3
-44
11
11
49
-52
0
-7
-6
-9
-36
0
3
0
0
0
0
-1
-3
-1
25
33
-14
-93
12
-81
-4
-68
4
2
0
0
0
0
1
-6
0
0
29
-15
10
-74
-74
18
-29
1
0
0
0
0
0
0
0
0
-6
2
-27
-32
-70
-40
-62
-18
1
0
0
0
0
0
0
0
0
0
0
0
-16
-81
11
-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
26
0
0
0
-14
-2
0
1
0
0
0
0
0
0
0
0
2
51
0
0
21
-28
-3
3
0
0
0
0
0
0
0
0
0
-49
-16
32
100
12
0
5
6
2
0
0
0
0
0
0
0
0
9
-26
-7
18
-60
9
0
0
2
0
0
0
0
0
0
0
0
8
-12
-6
-60
-65
15
-1
1
0
0
0
0
0
0
0
0
0
1
-27
-23
24
-19
-35
0
0
0
0
0
0
0
0
0
0
0
6
-52
-9
-39
31
48
10
-1
0
0
0
0
0
0
0
0
0
4
-7
-16
22
-6
10
1
0
0
0
0
0
0
0
0
0
0
0
-2
-8
28
-59
1
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
40
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
11
18
-34
-15
7
1
-7
0
0
0
0
0
0
0
0
0
0
0
-23
28
47
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
-11
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-32
-36
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
22
14
-12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
119
-9
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
8
0
0
1
0
0
0
0
0
0
0
0
1
48
0
0
21
-25
-2
0
-1
0
0
0
0
0
0
0
0
3
-22
43
10
64
-22
-1
0
0
0
0
0
0
0
0
0
0
4
-31
52
-28
6
-17
0
-3
0
0
0
0
0
0
0
0
0
-3
-7
-12
-1
-72
1
-2
0
0
0
0
0
0
0
0
0
0
0
-14
-68
-23
26
0
0
-2
0
0
0
0
0
0
0
0
0
0
-10
-31
3
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-31
-7
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
-40
32
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
24
46
0
0
-29
5
7
0
0
0
0
0
0
0
0
0
2
-5
3
49
55
-14
10
0
0
0
0
0
0
0
0
0
0
0
-22
-48
23
84
6
-9
0
0
0
0
0
0
0
0
0
0
0
-28
-21
-44
9
-4
7
0
0
0
0
0
0
0
0
0
0
0
-35
-18
-37
-29
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
-22
-55
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-21
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
83
8
8
-23
0
0
0
1
0
0
0
0
0
0
0
-7
53
-27
-56
-33
-42
0
0
0
16
2
0
0
0
0
0
0
-1
63
24
-55
-32
-32
-50
75
50
-11
6
-3
0
0
0
0
0
0
-22
-49
-13
-13
18
18
-26
56
-17
2
0
0
0
0
0
0
0
16
20
-11
-59
-26
-103
-25
-14
0
3
0
8
0
0
0
0
0
0
41
0
-51
-15
63
1
-19
-11
0
0
0
0
0
0
0
0
0
-6
-14
-17
-32
22
-87
-30
-7
-3
0
0
0
0
0
0
0
0
0
0
5
-1
-12
-44
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-51
-15
-1
0
0
0
0
0
0
0
0
8
0
-3
1
-7
0
0
0
9
-16
-1
7
0
0
0
0
12
13
-10
-10
16
45
0
0
0
76
28
6
3
0
0
0
0
-19
32
-6
-59
-44
49
64
78
82
45
2
22
0
0
0
0
0
18
10
18
-17
-6
39
-10
56
15
-33
-8
0
0
0
0
0
0
2
-1
1
-22
20
0
-10
-30
-53
-13
-8
0
0
0
0
0
0
29
-1
13
-50
-17
-27
-2
-4
1
8
0
0
0
0
0
0
0
0
0
-3
32
-15
-29
-74
14
11
-5
2
-1
0
0
0
0
0
0
0
-1
0
15
15
-14
-4
-14
-64
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-17
-10
28
-4
-1
0
0
0
0
0
16
-7
15
-20
18
-27
1
0
0
0
0
0
0
0
0
0
0
13
3
32
-27
26
25
-2
0
0
0
0
0
0
0
0
0
0
-16
14
15
18
9
-19
-26
-2
0
0
0
0
0
0
0
0
0
19
23
38
-11
1
-9
10
8
0
1
0
0
0
0
0
0
0
43
-9
-25
27
10
-17
-4
34
3
1
0
0
0
0
0
0
0
11
-24
-3
2
47
24
122
-3
1
13
1
0
0
0
0
0
0
41
-22
18
66
-4
-63
-42
21
-4
2
4
0
0
0
0
0
0
0
-10
5
54
-39
4
-28
-1
-2
-1
0
0
0
0
0
0
0
0
0
-2
-1
2
3
1
0
0
0
0
0
0
0
0
0
0
37
-21
39
34
43
99
66
0
0
0
23
-3
0
0
0
0
0
0
-30
-8
11
-6
26
9
0
0
74
-31
32
-2
6
0
0
0
40
21
23
26
3
18
19
19
76
4
-12
-2
4
0
0
0
0
-17
3
-13
31
-3
-26
19
69
-22
15
-1
2
0
0
0
0
0
70
42
25
-27
-8
-20
-38
-18
-5
-23
7
10
-3
0
0
0
0
8
-6
5
-15
8
-18
12
-38
-46
33
1
10
0
0
0
0
0
6
5
7
29
-36
-61
-13
-66
-61
-24
-1
0
0
0
0
0
0
0
-2
7
-15
14
-105
-42
-28
-4
-2
0
0
0
0
0
0
0
0
0
-3
0
0
-17
0
1
0
0
0
0
0
0
0
0
0
1
-41
-56
-30
17
10
53
0
0
-37
5
-8
0
0
0
0
0
-38
-9
-28
-21
-5
22
4
14
35
36
-2
-8
2
0
0
0
0
-37
12
1
-2
-19
-34
-7
-6
-3
16
-8
40
-2
0
0
0
0
-2
-26
9
-2
-15
-26
25
17
2
50
-4
7
0
0
0
0
0
29
48
-34
-13
-12
-30
-6
-7
9
-41
-9
-24
1
0
0
0
0
-11
-51
-48
-29
7
-12
-9
-61
-38
-2
56
-20
-4
0
0
0
0
-29
-10
24
15
-13
-24
-24
-38
-49
0
63
6
0
0
0
0
0
0
11
-19
1
42
38
8
17
-12
21
0
0
0
0
0
0
0
0
0
48
-20
8
-16
48
0
-1
0
7
0
0
0
0
0
0
-20
45
10
45
-3
-31
77
0
0
-2
0
0
0
0
0
0
0
3
57
11
-2
-11
33
23
3
56
-2
0
1
0
0
0
0
0
92
47
-11
-8
-38
-28
-30
26
8
0
0
0
0
0
0
0
0
48
61
-4
10
35
11
37
-30
6
7
-1
0
0
0
0
0
0
37
46
42
47
-21
-36
-1
30
-7
-6
0
0
0
0
0
0
0
0
-38
15
-4
-14
-46
-41
-2
-1
0
0
0
0
0
0
0
0
0
-1
-39
35
35
36
2
0
-1
0
0
0
0
0
0
0
0
0
0
17
63
18
-37
15
-14
4
0
0
0
0
0
0
0
0
0
12
-8
-19
-1
1
-8
8
-3
0
0
0
0
0
0
0
0
33
-30
6
-15
32
3
18
43
0
13
0
0
0
0
0
0
0
6
-25
-40
-6
-11
25
0
28
-46
3
-3
0
0
0
0
0
0
-1
39
-16
2
28
45
-50
-1
40
-12
0
4
0
0
0
0
0
-11
-22
-23
-14
9
15
-40
-1
-10
0
1
0
0
0
0
0
0
-42
26
-23
51
15
-51
48
-46
37
12
3
11
0
0
0
0
0
-36
-14
-26
33
6
13
3
14
-5
0
0
0
0
0
0
0
0
43
13
24
11
54
16
-26
14
2
-4
0
0
0
0
0
0
0
22
42
6
16
34
-9
30
15
0
0
0
0
0
0
0
0
0
0
0
55
7
1
9
-2
0
0
0
0
0
0
0
0
0
0
-56
48
5
20
55
8
42
0
0
17
1
15
5
0
0
0
0
32
12
21
14
11
-14
26
0
93
0
71
-19
-6
0
0
0
0
31
27
10
28
57
-4
5
-6
43
65
45
-13
0
0
0
0
0
-29
15
26
55
12
-6
32
-58
19
-49
10
-2
-9
0
0
0
0
-37
18
-3
41
1
-21
-42
-31
-31
23
2
1
0
0
0
0
0
-2
26
12
-11
20
-53
-34
-32
-70
9
-6
0
0
0
0
0
0
-3
-10
13
-37
-9
-12
29
-18
-16
-25
73
0
0
0
0
0
0
0
-1
22
-8
39
-19
4
-42
-3
-32
0
0
0
0
0
0
0
0
0
21
2
-15
0
10
0
0
0
0
0
0
0
0
0
0
0
-40
-12
-56
-18
-58
17
19
0
-57
0
-1
0
0
0
0
0
35
-17
-16
-96
-53
-19
3
0
28
0
-12
0
0
0
0
0
0
21
-56
-79
-2
32
-26
-97
-37
47
5
0
-3
0
0
0
0
0
-11
36
9
11
24
-1
-30
9
12
11
-3
0
0
0
0
0
0
27
-21
-10
-90
-41
-23
-53
-15
-4
7
0
0
0
0
0
0
0
0
-63
-15
21
-65
-40
5
-69
-9
-19
4
0
0
0
0
0
0
0
0
-3
23
41
-4
17
19
-8
-4
0
0
0
0
0
0
0
0
0
0
-2
5
-25
0
15
-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
-53
-15
49
21
25
-14
-41
0
0
0
-1
0
0
0
0
0
0
-6
-4
-19
-27
7
61
42
44
0
0
48
6
0
0
0
0
0
12
34
12
-4
30
40
60
22
76
0
0
-1
0
0
0
0
0
18
-56
20
-8
27
25
2
-20
54
-53
16
0
0
0
0
0
0
3
-47
8
22
31
-32
24
-78
-47
-4
2
3
0
0
0
0
0
-27
-5
-4
14
-56
-1
50
23
2
32
1
0
0
0
0
0
0
28
-37
19
20
5
-26
0
-13
-36
-57
0
0
0
0
0
0
0
-7
-3
5
18
4
19
-16
-53
-16
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-50
11
27
91
-24
35
0
17
-2
0
0
0
0
0
0
18
33
-8
10
27
29
46
0
0
1
-1
0
0
0
0
0
0
-8
36
-3
40
33
4
0
1
0
-2
0
0
0
0
0
0
0
-3
-44
25
22
-36
0
-1
0
0
-1
0
0
0
0
0
0
0
44
21
12
14
8
46
1
-1
0
0
0
0
0
0
0
0
0
-37
-36
-33
1
-9
-4
1
0
0
0
0
0
0
0
0
0
0
-35
22
-15
1
-51
10
0
0
0
0
0
0
0
0
0
0
0
-57
26
-10
-14
-22
0
0
0
0
0
0
0
0
0
0
0
0
-30
-9
-16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-14
-1
0
7
0
4
0
-4
0
0
0
0
0
0
0
2
12
-62
55
14
2
0
0
0
0
0
0
0
0
0
0
0
-7
13
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
21
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-41
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
12
33
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-3
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
-46
0
0
0
0
0
0
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
-17
48
-25
8
-2
2
-3
0
3
0
0
0
0
0
0
0
0
-54
15
-44
9
0
1
0
1
8
0
0
0
0
0
0
0
1
-12
42
7
-15
0
0
0
0
3
0
0
0
0
0
0
0
7
-15
-21
-46
-47
0
1
0
0
0
0
0
0
0
0
0
0
-7
7
8
25
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
27
7
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-39
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
19
7
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
6
-27
-4
-31
22
-10
-2
-17
0
-3
0
0
0
0
0
0
0
-2
-25
-10
15
-35
14
-7
0
6
0
0
0
0
0
0
0
0
7
-4
-72
37
-15
-4
0
-2
0
-3
0
0
0
0
0
0
0
0
-21
-44
18
21
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
30
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-16
-35
36
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-1
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
2
10
2
4
2
0
0
0
0
0
0
0
0
0
0
-25
-7
-8
1
7
-2
11
1
0
0
0
0
0
0
0
0
0
-9
6
4
-2
-7
6
8
0
2
0
0
0
0
0
0
0
0
15
1
-6
1
-8
0
-2
-6
-1
0
0
0
0
0
0
0
0
-4
6
-3
-7
-2
-11
2
0
0
0
0
0
0
0
0
0
0
-7
2
-8
-18
6
4
0
0
0
0
0
0
0
0
0
0
0
-6
8
-4
7
6
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
-37
28
26
1
13
-75
-55
0
0
0
0
0
0
0
0
0
-9
4
60
-6
-2
-7
-18
6
-25
26
0
0
0
0
0
0
0
-55
7
13
-25
10
1
2
0
-42
-21
0
0
0
0
0
0
0
12
-8
102
-8
8
-22
3
1
-12
-3
0
0
0
0
0
0
0
-53
46
10
-3
8
2
22
11
-13
-4
0
0
0
0
0
0
0
17
-11
-16
64
-8
-50
12
0
0
1
0
0
0
0
0
0
0
15
-3
42
-31
-29
-21
1
-3
0
0
0
0
0
0
0
0
0
12
39
2
-6
33
-1
0
-2
0
0
0
0
0
0
0
0
0
-39
33
-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
27
35
53
76
-18
-56
-2
0
-17
-36
12
-13
-3
0
0
0
0
24
30
-7
95
42
-17
9
-19
69
15
-25
29
1
0
0
0
-1
37
-17
43
-44
3
48
-4
-14
0
-8
15
10
0
0
0
0
-1
47
88
25
4
-5
71
20
25
69
-5
1
-8
2
0
0
0
0
6
-15
41
-22
-45
43
71
40
11
-38
0
-3
-1
0
0
0
-9
-3
-11
-21
56
-27
64
21
63
56
22
0
0
-9
0
0
0
0
0
7
-6
-8
10
-8
16
13
0
1
2
0
0
0
0
0
0
0
1
1
-1
-86
7
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
89
1
29
21
-16
11
0
-7
-55
46
36
14
0
0
0
0
1
6
20
9
26
-42
28
18
17
9
-4
20
-46
-2
3
0
0
-38
26
17
-26
26
-48
-62
-10
-2
28
12
36
-6
0
0
0
0
-4
16
25
25
-25
-1
7
-22
43
31
73
22
5
0
0
0
0
-44
-22
-4
-23
24
-27
-2
-6
-16
-59
7
34
15
0
0
0
0
-19
36
4
-33
7
-5
-16
39
26
20
-18
55
23
1
0
0
0
19
-13
7
-32
-28
-23
-31
-24
33
-11
16
12
-6
-2
0
0
0
0
-10
6
-36
-29
-41
7
-15
-14
55
-13
-9
2
4
0
0
0
0
-10
0
73
62
24
-26
-45
36
8
34
0
0
0
0
0
0
0
4
10
-35
41
-66
49
0
82
4
2
-11
0
0
0
0
0
0
1
77
52
-11
-30
12
51
79
-56
-1
-1
2
0
0
0
0
0
1
34
15
17
23
-53
2
10
35
-1
5
1
0
0
0
0
0
-20
13
64
37
-26
-6
45
102
26
12
0
0
1
0
0
0
0
0
12
14
22
-18
72
53
29
35
8
0
0
-2
0
0
0
0
0
0
9
31
89
38
36
57
-9
-7
17
0
0
0
0
0
0
0
35
44
57
-4
79
-50
-47
-7
-1
0
0
0
0
0
0
0
0
0
92
-17
7
14
-8
-79
7
0
-1
0
0
0
0
0
0
0
0
6
-1
50
-26
0
26
-4
0
0
0
0
0
0
0
0
1
89
59
-6
-44
85
0
18
7
22
6
-1
0
0
0
0
0
2
11
18
80
-52
-23
40
50
15
-45
0
13
0
1
0
0
0
20
-38
36
39
-42
-55
-11
23
1
0
2
2
0
0
0
0
0
4
14
76
75
75
55
39
50
35
-13
-12
0
0
0
0
0
0
-104
33
-38
60
8
12
2
35
14
-3
3
-1
0
0
0
0
0
1
24
-12
-14
31
27
15
1
11
-1
-6
0
0
0
0
0
0
2
-15
77
-6
-13
5
29
5
-26
1
4
0
0
0
0
0
0
0
9
71
44
-67
-13
49
37
-3
-1
0
0
0
0
0
0
0
0
0
0
-2
8
1
-2
0
0
0
0
0
0
0
0
-4
30
19
51
36
17
-31
-2
0
-6
-10
7
-1
0
0
0
0
-3
33
75
5
27
28
-23
-17
34
32
27
-9
-19
0
0
0
0
-2
-43
-8
64
-4
5
-4
-17
14
25
54
-5
2
-3
0
0
0
0
32
18
-21
74
13
23
74
45
50
-17
-3
0
0
-1
0
0
0
29
-26
-8
13
-2
35
28
43
24
6
-3
0
0
0
0
0
4
22
-10
48
18
12
28
35
17
6
0
0
0
0
0
0
0
1
-8
-18
-9
49
-13
-16
-18
0
19
-7
1
6
0
0
0
0
0
0
-8
34
4
9
-45
29
-1
0
0
0
0
0
0
0
0
0
0
2
0
-2
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
13
40
12
-52
0
10
0
0
0
0
0
0
0
0
0
3
-1
26
-14
12
-22
7
-20
4
0
0
0
0
0
0
0
0
0
-2
-8
0
16
28
28
2
1
0
0
0
0
0
0
0
0
-19
-4
0
40
-22
26
-2
-3
0
0
0
0
0
0
0
0
0
0
-1
-6
-8
-10
4
-2
1
0
0
0
0
0
0
0
0
0
3
0
4
-75
-21
11
-11
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
37
1
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
3
-2
-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
-6
4
13
-17
-10
60
0
-29
-16
3
0
0
0
0
0
0
2
17
4
49
-25
-35
-11
32
93
-11
1
0
6
0
0
0
0
3
6
13
11
48
5
32
-1
19
-6
3
0
-6
0
0
0
0
26
-20
-7
20
53
-29
34
11
-5
-9
-4
0
0
0
0
0
0
-24
-25
9
17
85
-8
13
-31
23
14
7
-6
0
0
0
0
0
-13
2
20
-55
-10
6
-8
60
-27
-10
0
-1
0
0
0
0
0
4
-40
2
-22
13
64
-56
-7
5
-1
3
0
0
0
0
0
0
1
0
3
-18
19
-25
62
-53
43
0
6
0
0
0
0
0
0
0
0
0
-3
4
9
9
7
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
27
-7
0
10
0
0
0
0
0
0
0
0
0
101
0
0
101
91
1
-23
3
3
0
0
0
0
0
0
0
3
63
106
37
53
38
-17
-4
-3
0
0
0
0
0
0
0
0
0
53
68
54
36
-14
-13
3
-12
0
0
0
0
0
0
0
0
-2
54
39
-34
2
-2
-15
-3
-10
0
0
0
0
0
0
0
0
-4
23
3
-31
6
26
5
0
-6
0
0
0
0
0
0
0
0
2
-39
21
25
-39
4
0
7
0
0
0
0
0
0
0
0
0
1
-7
-23
-32
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
2
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
28
48
-2
3
0
0
0
0
0
0
0
0
0
0
0
29
-21
45
-53
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-62
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
8
-19
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
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
79
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
67
0
0
71
-17
21
1
-3
0
0
0
0
0
0
0
0
0
43
48
36
81
68
2
0
-7
0
0
0
0
0
0
0
0
0
46
23
-3
81
-9
-6
0
7
0
-2
0
0
0
0
0
0
11
0
36
-33
-58
3
2
-7
0
1
0
0
0
0
0
0
0
1
-11
-15
9
42
-3
3
0
-2
0
0
0
0
0
0
0
0
0
-10
16
-29
7
-2
0
-1
0
0
0
0
0
0
0
0
0
0
7
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
-11
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
2
18
0
0
93
14
-7
0
0
0
0
0
0
0
0
0
0
0
6
53
63
40
-42
12
0
0
0
0
0
0
0
0
0
0
-6
16
54
50
-21
-3
0
0
0
0
0
0
0
0
0
0
0
18
18
13
-86
28
0
0
0
0
0
0
0
0
0
0
0
0
-4
-11
44
-21
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
14
-6
1
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
-1
0
-2
22
-3
-28
0
0
0
0
6
0
0
0
0
0
0
0
-10
12
-18
15
17
0
0
0
14
0
0
0
0
0
0
0
0
2
1
24
6
-15
21
-12
-14
2
-7
0
0
0
0
0
0
0
1
45
-6
16
60
51
46
-4
-2
0
0
0
0
0
0
0
3
-3
0
-2
31
37
10
-15
57
3
-8
0
-2
2
0
0
0
0
0
6
7
14
-14
-8
12
3
3
0
0
7
0
0
0
0
0
0
4
0
-5
-12
41
21
-10
0
0
0
0
0
0
0
0
0
0
0
-7
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
4
0
4
0
0
0
0
0
4
3
0
1
0
0
0
0
-1
13
1
0
-3
2
0
0
0
-7
-43
29
1
0
-1
0
0
0
4
-2
8
-36
16
29
0
-19
72
37
-2
3
-7
0
0
0
0
-9
4
0
-6
82
23
-4
53
-29
9
0
0
0
0
0
0
-1
-2
-12
13
-54
-18
59
-51
27
-17
3
-2
0
0
-1
0
0
3
13
-8
6
-76
17
-47
-65
-72
14
0
0
0
0
0
0
0
-6
7
26
-9
31
12
18
-4
33
0
0
0
0
0
0
0
0
-2
0
0
3
0
-20
17
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
1
-1
-2
0
0
0
0
0
0
0
17
24
46
66
-43
12
-1
0
0
0
0
0
0
0
0
0
0
-37
29
27
39
3
46
-2
0
0
0
0
0
0
0
0
0
0
15
25
17
14
13
46
0
0
0
1
0
0
0
0
0
0
0
25
15
4
34
-4
-35
20
-10
19
-1
-1
0
0
0
0
0
0
10
32
12
-53
-14
43
-19
-29
7
-11
2
-1
1
0
0
0
0
11
-29
15
-20
-19
-16
-53
8
6
1
0
-3
-3
0
0
0
0
35
19
-11
40
-22
1
15
33
22
8
0
0
-1
-1
0
0
0
0
36
12
-66
7
37
4
51
-19
-5
-1
0
-6
0
0
0
0
0
0
2
-25
-3
0
-7
0
2
-1
0
0
0
0
0
0
0
-42
6
-10
-1
-16
27
49
0
0
0
-42
10
0
0
0
0
0
43
50
-10
37
62
15
161
0
0
35
38
6
-14
0
1
0
0
-2
-20
-23
44
41
115
122
108
22
-37
10
-33
0
0
0
0
0
-11
26
31
64
-65
48
85
21
53
27
-18
21
-2
0
0
0
0
-1
56
54
-31
-29
-7
2
19
-4
37
-15
-6
30
-4
0
0
0
-23
-67
13
-40
7
-14
22
4
19
15
38
-13
-18
9
0
0
0
0
-34
-5
-43
-3
9
35
-9
-76
-22
-9
0
-1
2
0
0
0
0
-12
-52
10
-26
12
72
-7
46
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-50
-39
-8
-16
3
0
0
22
32
-68
-1
1
0
0
0
20
-10
-27
10
-5
6
19
10
36
38
2
7
22
-1
0
0
0
26
-36
14
-6
14
39
-22
-11
3
-16
0
-5
0
0
0
0
0
73
38
-39
17
6
-32
9
-6
4
-70
-40
-8
2
3
-1
0
0
19
77
-33
-12
9
24
-21
-17
-27
36
37
7
21
-1
0
0
0
-15
6
-36
-21
-13
11
20
-13
19
-3
10
52
0
0
0
0
0
-4
-40
6
-31
-15
-23
-5
3
-51
31
-50
44
-2
0
0
0
0
12
-29
-8
-14
-35
25
6
-44
63
6
-19
17
-1
0
0
0
0
0
-7
28
18
-24
10
-2
-28
-7
0
4
-3
0
0
0
0
0
-17
26
65
6
45
46
28
0
0
0
0
0
0
0
0
0
0
-21
18
-30
24
37
13
50
42
-11
0
0
0
0
0
0
0
0
7
3
14
46
9
25
-2
-12
89
0
0
0
0
0
0
0
0
11
12
-6
11
9
11
44
25
-53
0
0
0
0
0
0
0
0
5
-21
-6
2
-47
20
10
-57
-15
-6
0
0
0
0
0
0
0
8
-28
12
-11
-8
-6
-45
-55
-8
3
-6
0
0
0
0
0
0
-3
-22
-2
10
47
47
-17
-49
-14
-21
0
0
0
0
0
0
0
10
-10
4
20
-37
55
-51
9
-34
23
1
2
0
0
0
0
0
22
3
-47
17
-8
-13
-10
-23
3
0
3
0
0
0
0
0
0
32
2
5
13
34
58
-45
44
0
-5
0
0
0
0
0
0
0
-12
-6
-67
10
40
56
0
91
16
19
-2
0
0
0
0
0
0
0
-16
3
3
31
48
33
-42
35
-1
-1
-1
0
0
0
0
0
-29
-3
-14
7
23
-55
0
67
0
7
-5
0
0
0
0
0
0
17
-15
-1
2
14
25
7
-25
-26
1
3
0
1
0
0
0
0
-44
-40
-64
4
4
-21
43
-9
13
-1
-29
0
0
0
0
0
0
-48
-58
40
-17
16
-26
-31
-8
-39
11
-1
0
0
0
0
0
0
18
-60
-59
19
13
-74
-59
-3
52
4
0
0
0
0
0
0
0
0
0
-24
28
-36
0
0
0
0
0
0
0
0
0
0
0
0
-34
-11
38
31
40
44
18
0
0
83
58
-12
-8
0
0
0
0
-4
6
31
9
48
-12
94
0
35
0
9
-40
15
0
0
0
0
-13
-48
12
24
-6
33
103
15
26
55
-12
-14
2
0
0
0
0
-35
11
17
0
21
18
51
-49
-49
-31
37
-17
-1
0
0
0
0
-9
17
54
2
7
48
-40
-7
-27
16
-3
33
-3
2
0
0
0
1
-23
-30
-32
-4
32
8
14
-23
-72
-64
-26
0
0
0
0
0
-1
-6
73
37
27
-25
-31
-12
31
-23
-38
2
-2
0
0
0
0
0
3
-69
-48
47
16
17
21
17
2
12
0
0
0
0
0
0
0
0
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-27
-5
-50
-38
-12
9
0
29
-15
3
0
0
0
0
0
13
14
3
-42
41
12
9
0
-7
0
12
0
3
0
0
0
0
7
7
43
-55
-18
7
9
23
-18
-19
-44
6
0
0
0
0
0
0
-37
24
72
22
35
48
95
-18
-57
-15
-9
0
0
0
0
0
-1
-51
-12
23
93
151
40
-29
-49
-26
0
0
0
0
0
0
0
0
18
126
95
88
23
17
-27
-7
-12
-3
0
0
0
0
0
0
0
12
29
10
50
43
-5
-20
-16
6
0
0
0
0
0
0
0
0
0
4
127
-21
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
-75
38
-23
6
13
24
45
0
0
0
1
1
2
0
0
0
0
-10
-10
13
8
9
52
82
1
0
8
13
0
-1
0
0
0
0
10
-23
1
-44
-6
19
4
19
26
-3
-18
-1
0
3
0
0
0
16
70
74
18
-23
16
16
6
-49
-44
39
0
0
1
0
0
0
6
-76
-52
2
28
64
-6
5
-9
-6
0
0
0
0
0
0
0
12
-3
29
5
11
-60
-99
37
-45
53
-1
0
0
0
0
0
0
14
-74
16
15
-20
2
60
-18
12
-45
-2
0
0
0
0
0
0
-6
74
-1
5
8
59
15
1
45
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-2
9
5
1
0
1
0
0
0
0
0
0
0
0
31
-83
64
-23
-6
-2
-34
26
44
0
0
0
0
0
0
0
-8
-72
-31
24
18
50
-6
-34
4
0
0
0
0
0
0
0
0
0
29
-25
72
-63
-10
0
0
-4
6
0
0
0
0
0
0
0
0
18
-5
70
-24
-1
8
0
0
0
0
0
0
0
0
0
0
0
19
-53
-12
14
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
27
-11
0
1
2
1
-2
0
0
0
0
0
0
0
0
0
12
21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-51
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-12
7
7
0
0
0
0
0
0
0
0
0
0
0
0
5
52
-59
20
33
-20
-4
11
3
0
0
0
0
0
0
0
0
87
35
-5
3
-19
-1
-2
2
2
0
0
0
0
0
0
0
0
-6
7
-17
13
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
42
44
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
2
0
0
0
0
0
0
0
0
0
0
0
-8
36
27
-2
-23
10
-10
-15
3
3
0
0
0
0
0
0
0
0
12
-45
32
46
-3
-7
-3
6
0
0
0
0
0
0
0
0
24
-4
25
171
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
-1
3
-1
0
0
0
0
0
0
0
0
0
0
2
9
8
-8
-13
-55
-32
13
4
0
0
0
0
0
0
0
0
0
0
-17
5
15
-20
-7
0
0
1
0
0
0
0
0
0
0
0
0
-1
-7
67
33
-6
0
0
0
0
0
0
0
0
0
0
-4
7
7
-4
0
-8
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
50
12
-29
0
0
1
0
0
0
0
0
0
4
19
24
-13
17
61
-15
4
-7
0
0
0
0
0
0
0
0
3
-39
-1
71
-1
-27
-61
-39
-12
6
0
0
0
0
0
0
0
0
16
66
-17
22
-24
0
-24
-6
0
0
0
0
0
0
0
0
0
-1
13
-21
8
37
-7
-15
0
1
0
0
0
0
0
0
0
0
2
-1
-6
-24
4
4
-3
9
-24
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-7
3
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
12
27
9
24
0
6
-79
27
0
0
0
0
0
-8
5
46
-43
26
16
12
37
3
0
2
53
0
6
0
0
0
0
86
1
29
58
41
32
26
17
18
22
25
-16
-7
0
0
0
0
13
66
92
-35
56
77
64
49
-31
-8
-14
-4
6
-1
0
0
2
0
-17
-36
7
107
62
123
4
-36
-18
0
4
0
0
0
0
0
0
-10
15
-9
-11
-12
26
-58
-38
17
8
0
0
0
0
0
0
0
-1
-7
0
6
13
19
20
-5
6
-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
59
4
-10
13
-41
21
0
35
17
-24
-47
-15
0
0
0
0
0
12
30
-13
-11
1
14
7
1
-42
-9
26
71
7
0
0
0
0
-12
-28
25
-19
13
22
-9
-30
-19
21
-43
-24
-1
0
0
0
-2
-2
-14
-29
-9
12
-7
-7
42
4
-24
16
7
7
0
0
0
-7
41
-36
-24
-29
-37
-43
-100
-52
-7
-29
33
42
20
0
0
0
0
3
11
8
2
-10
-27
4
-32
-8
1
41
6
-8
0
0
0
-9
-22
-28
45
45
-20
-1
-30
13
-16
25
9
-2
3
0
0
0
0
0
16
1
15
6
-30
-32
-17
-31
-3
0
0
0
0
0
0
0
0
0
-4
35
-12
-37
-25
-2
-33
0
0
0
0
0
0
0
0
0
14
28
10
9
16
0
-2
-63
0
-64
51
7
-4
0
0
0
2
-35
-75
1
-42
-1
29
5
-41
56
-18
56
-37
0
-11
0
0
2
6
45
20
12
36
6
30
7
-17
-8
4
14
-1
0
0
0
11
60
30
147
30
29
5
44
59
-3
-10
12
-6
0
0
0
0
0
-6
-46
3
65
25
-5
-6
17
-29
-24
-11
0
6
0
0
0
0
2
10
-11
64
-42
1
-3
-39
26
0
-19
-8
0
0
0
0
0
0
-7
-10
-16
-25
5
-29
-13
12
17
-39
-8
3
3
0
0
0
0
-2
29
-7
18
-7
-1
1
33
16
53
10
0
-16
0
0
0
0
0
-7
23
-9
-27
-3
-11
11
11
19
34
0
-1
0
0
0
71
-19
24
15
42
0
-27
2
0
42
53
-2
0
0
0
0
8
34
41
42
24
60
-6
49
-27
41
54
-3
6
-1
0
0
0
7
74
22
27
4
14
49
13
16
-48
54
38
0
0
0
0
0
5
60
10
61
46
1
52
-11
32
6
1
12
0
0
0
0
0
-1
35
42
-2
-12
-5
-50
10
83
21
-5
-13
0
0
0
0
0
0
7
27
1
60
-18
9
2
36
-68
28
34
-1
0
0
0
0
0
0
-15
-18
3
-3
4
-21
-34
-42
-4
34
-4
0
0
0
0
0
0
15
17
33
-34
5
-17
10
13
-18
15
-1
-13
0
0
0
0
0
0
0
41
-45
7
0
0
0
0
0
0
0
0
0
-21
-66
36
-4
-27
-33
12
0
2
2
-48
0
1
0
0
0
-3
16
-14
0
1
52
-48
-3
-18
24
-12
-11
-5
0
0
0
0
-6
50
25
71
38
6
57
76
6
21
3
18
25
-3
0
0
0
0
-15
-15
89
14
62
42
88
7
39
42
-9
1
-1
7
0
0
0
2
6
22
57
41
-5
2
24
27
18
-10
0
0
0
0
0
0
0
11
9
16
-29
60
15
54
-33
-40
-2
0
0
4
0
0
0
0
0
0
0
-55
-39
2
-4
22
-1
0
0
0
0
0
0
0
0
0
6
0
3
2
-21
10
15
0
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
13
-11
-38
0
-2
0
0
0
0
0
0
0
0
0
-1
-6
-3
21
-2
56
42
-5
0
0
0
0
0
0
0
0
0
4
-7
63
35
13
-2
-33
-4
-2
0
0
0
0
0
0
0
0
-6
3
44
23
59
67
-1
0
0
0
0
0
0
0
0
0
0
0
8
77
29
33
-11
-11
3
0
1
0
0
0
0
0
0
0
0
17
2
39
9
80
13
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
12
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
45
13
14
0
-30
-33
-2
0
0
0
0
0
-2
0
-11
56
59
95
6
6
43
-24
-27
3
19
1
0
0
0
0
-7
-11
8
27
117
16
-39
-18
-9
3
11
2
0
0
0
0
0
0
1
11
-3
29
21
88
45
-28
16
-3
-7
0
0
0
0
0
0
0
10
79
4
0
-14
-67
-18
14
0
0
0
0
0
0
0
0
0
3
18
1
-40
-62
-65
-48
-5
-21
-2
0
0
0
0
0
0
0
0
15
12
42
-1
-16
-46
29
-14
0
3
0
0
0
0
0
0
0
0
-15
-41
-1
-29
30
-25
-4
1
0
0
0
0
0
0
0
0
0
-3
-6
3
-58
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
-8
-8
0
-6
0
0
0
0
0
0
0
0
0
9
0
0
3
59
-23
22
-4
-6
0
0
0
0
0
0
0
-6
30
-11
60
7
25
51
11
-2
-2
0
0
0
0
0
0
0
11
11
42
32
20
-26
-11
-3
-1
-6
0
0
0
0
0
0
0
0
42
10
-15
75
1
26
5
-2
-13
0
0
0
0
0
0
0
-7
-72
7
-56
13
8
-26
9
0
-2
0
0
0
0
0
0
0
-4
-51
-17
-71
39
39
-44
9
0
-2
1
0
0
0
0
0
0
0
-14
-46
-15
28
-9
-4
0
-2
1
0
0
0
0
0
0
0
0
-11
2
15
-10
-32
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
50
0
0
0
4
-2
0
1
0
0
0
0
0
0
0
0
0
-34
51
44
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
-7
-2
8
-1
-1
0
0
0
0
0
0
0
0
0
0
0
11
-21
30
12
0
0
0
0
0
0
0
0
0
0
0
0
0
19
4
54
-29
-1
3
0
0
-1
0
0
0
0
0
0
0
0
0
-36
-59
-2
-2
-6
0
-2
0
0
0
0
0
0
0
0
0
0
28
-12
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
50
0
0
-22
7
-8
0
0
0
0
0
0
0
0
0
0
0
86
33
51
27
1
5
4
0
0
0
0
0
0
0
0
0
0
30
35
-18
-1
16
-2
0
9
-1
0
0
0
0
0
0
0
3
-17
4
42
25
26
2
-4
-3
-1
0
0
0
0
0
0
0
3
-16
-29
-8
-30
-22
0
-4
2
1
0
0
0
0
0
0
0
0
-3
1
-1
96
-42
1
2
-1
4
0
0
0
0
0
0
0
0
0
2
-7
32
-2
0
-10
15
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
4
35
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
-1
-48
0
0
5
-3
-4
-2
0
0
0
0
0
0
0
0
0
0
-45
49
80
9
1
0
1
0
0
0
0
0
0
0
0
0
-11
-21
-24
-51
22
17
0
8
0
0
0
0
0
0
0
0
0
-2
-25
84
-56
39
-4
2
-3
0
0
0
0
0
0
0
0
0
0
-39
-2
5
2
8
0
7
-3
0
0
0
0
0
0
0
0
0
37
-62
40
-35
11
0
0
0
1
0
0
0
0
0
0
0
0
0
2
-3
-22
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
-9
16
12
-5
0
0
0
-13
1
0
0
0
0
0
0
-7
1
54
-8
-22
-46
0
0
0
0
2
0
0
0
0
0
0
-6
4
25
2
-16
52
-45
13
12
1
0
3
0
0
0
0
0
0
-4
-2
-3
-7
9
-33
11
57
38
-6
-7
1
0
0
0
0
0
0
10
0
-14
-60
-22
15
40
-4
9
0
11
0
0
0
0
0
0
0
-1
-24
1
25
-28
34
-10
3
2
7
2
0
0
0
0
0
0
-1
-6
21
-36
-13
24
-9
18
0
0
0
0
0
0
0
0
0
0
0
8
-5
-22
-20
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
11
18
-1
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
13
49
3
0
2
0
0
0
0
0
2
3
3
46
0
0
0
17
14
-7
5
0
0
0
0
-1
0
8
67
20
30
-23
45
46
1
13
5
-1
0
-1
0
0
0
0
7
28
33
17
85
54
-64
20
4
-9
-4
0
0
0
0
0
0
-7
-14
6
49
-42
16
-1
3
13
-1
0
0
0
0
0
0
0
0
-32
8
-54
-62
6
58
-46
22
-1
-6
-1
0
0
0
0
0
0
13
45
73
20
-23
-35
-34
-2
-3
1
-9
0
0
0
0
0
0
0
3
1
-14
0
-35
-27
-16
0
-2
0
0
0
0
0
0
0
0
0
-3
66
28
18
36
8
-4
0
0
0
0
-7
25
-25
33
-51
-5
1
0
0
0
0
0
0
0
0
0
0
-4
29
58
37
39
26
9
0
0
0
0
0
0
0
0
0
0
14
39
89
-3
50
41
-9
-2
0
0
0
0
0
0
0
0
0
-13
-99
54
-17
25
45
5
-5
2
0
0
-1
0
0
0
0
0
-27
-6
4
-4
41
20
13
5
19
0
0
0
0
-3
0
0
0
0
-10
35
9
-11
28
47
32
-7
1
-6
0
-3
1
0
0
0
0
-6
38
-40
-4
-13
19
-15
8
-3
-1
12
-1
0
0
0
0
0
1
3
-9
0
0
1
27
3
-2
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
20
26
-17
48
43
-5
107
0
0
0
25
-27
10
14
0
0
0
-38
9
-9
-7
92
-14
0
0
0
29
70
4
36
7
0
0
0
17
-42
-39
11
46
19
-17
29
54
123
80
28
12
-4
-2
0
0
-40
-31
38
-25
42
-9
3
-42
67
-3
-36
6
-2
-1
-7
1
0
1
-2
46
16
-20
-29
-6
26
29
-69
6
-22
7
0
0
-1
0
0
-4
-51
46
-48
-106
15
-52
-63
8
-3
-6
-4
1
-2
0
0
0
0
-8
-14
-16
-8
3
-65
-29
-21
-4
-7
-2
0
-2
0
0
0
0
0
-6
2
0
-1
10
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
10
10
57
42
0
0
67
-4
-33
25
0
0
0
0
11
60
-18
19
10
-5
-1
-18
58
-23
-51
7
-1
0
0
0
0
39
-22
47
-26
-33
-35
6
-33
19
-22
-27
-2
-21
1
0
0
0
9
28
-54
-1
-11
-7
-9
-40
2
-49
-23
37
7
-2
0
0
0
27
-12
-9
-9
6
8
10
-35
-52
-56
15
3
-2
2
0
0
0
0
41
4
-13
-18
-8
-24
4
-77
-28
48
1
-13
0
0
0
0
0
0
-23
22
22
-46
57
-20
-2
78
-51
-10
1
0
0
0
0
0
0
26
108
-20
49
15
-56
-63
9
12
0
0
0
0
0
0
0
0
87
16
45
-27
-3
-11
0
0
0
0
0
0
0
0
0
3
-24
40
-3
-31
3
0
0
0
4
0
0
0
0
0
0
0
-4
-70
37
18
56
41
23
40
16
0
0
0
0
0
0
0
0
-8
-19
-22
-1
-5
21
-14
-22
-26
0
0
0
0
0
0
0
0
4
12
-21
54
-25
-16
20
2
24
0
0
-3
0
0
0
0
0
0
16
-6
10
-23
17
-47
-29
-16
-6
0
2
0
0
0
0
0
0
2
-1
-4
-6
8
16
-41
-52
1
0
8
0
0
0
0
0
0
0
1
0
-8
-14
-6
-27
5
1
0
0
1
1
0
0
0
0
0
0
3
0
0
-30
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
34
25
-7
6
31
11
-2
36
0
0
0
0
0
0
0
0
0
47
-48
-23
20
27
38
0
-15
-10
1
0
2
0
1
0
0
0
66
-40
-6
55
-5
26
-28
-33
-17
0
0
-1
0
0
0
0
0
51
-42
16
48
22
21
-46
-47
-5
-8
-2
-1
-2
0
0
0
0
6
11
-19
-20
-11
9
-80
-4
7
-6
0
8
0
0
0
0
0
-3
-13
4
-29
18
97
-27
-76
0
4
-2
0
0
0
0
0
0
0
12
32
-21
9
-1
-38
-40
6
-12
0
0
0
0
0
0
0
3
0
1
-4
-19
0
-3
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
11
65
-44
-62
40
29
80
0
0
56
-41
-10
-9
-2
0
0
0
-12
13
32
18
16
-4
2
0
172
0
23
17
-7
0
0
0
0
41
19
7
-20
-5
15
23
30
158
133
20
-13
-6
0
0
0
0
68
12
-58
12
49
-37
32
11
13
61
7
-3
2
2
0
0
0
-1
26
-12
102
-13
-73
-20
-50
-19
-22
25
18
1
0
-1
0
0
0
-11
13
17
-27
69
10
-44
-12
6
-12
-4
0
0
0
0
0
0
0
-7
-1
-6
42
-69
-34
-67
9
2
0
0
-1
0
0
0
0
0
0
0
-30
-1
21
-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
-6
-28
5
-55
-37
8
6
0
-5
1
3
-1
0
0
0
0
0
-19
48
4
-72
-55
-48
0
-17
0
0
1
1
0
0
0
0
0
-15
-20
-47
-66
-19
-8
-24
27
-2
0
0
0
0
0
0
0
0
-10
17
-30
-30
3
10
15
4
-35
11
-7
4
0
0
0
0
0
0
10
-11
8
-49
-46
-8
42
-18
62
1
0
0
0
0
0
0
0
-3
-9
-29
0
-62
-48
-27
23
-1
0
3
0
0
0
0
0
0
0
0
24
18
-2
58
-9
26
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
-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
-19
17
-48
-1
-11
0
0
0
0
0
-20
-8
0
0
0
0
7
14
23
13
44
-13
47
-9
0
-3
10
6
0
0
0
0
0
-32
59
-58
32
0
38
9
24
31
28
0
0
0
0
0
0
0
-1
-84
35
16
25
83
-68
-37
18
-4
-8
12
0
0
0
0
0
0
-1
33
73
37
50
20
-1
-45
-34
6
6
0
0
0
0
0
0
-2
39
1
-6
49
-5
-20
-34
-56
37
1
0
0
0
0
0
0
6
2
2
0
0
-35
-18
-13
-14
0
0
0
0
0
0
0
0
0
-1
-1
-2
-12
-1
-7
-44
33
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-57
0
0
0
0
0
0
0
0
0
0
3
10
-13
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-41
-9
-31
22
36
25
0
0
0
0
0
0
0
0
0
0
0
1
36
34
48
10
43
38
0
0
0
0
0
0
0
0
0
0
-22
-21
15
13
1
2
0
0
0
0
0
0
0
0
0
0
2
6
38
0
-28
-1
-59
-1
0
0
0
0
0
0
0
0
0
0
-1
5
-18
11
66
66
0
0
0
0
0
0
0
0
0
0
0
-17
19
40
-40
-6
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
-23
-25
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
4
6
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-8
30
36
-64
-2
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-1
34
15
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
12
14
39
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
14
-91
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
5
56
4
0
0
0
0
0
0
0
0
0
0
0
-3
1
-96
0
28
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
-2
0
0
0
43
0
0
0
0
0
0
0
0
0
0
-7
0
20
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
8
0
35
59
-27
-6
2
0
0
0
0
0
0
0
0
0
-1
0
-34
0
1
-7
-16
0
0
0
0
0
0
0
0
0
0
0
9
-39
-3
-16
-4
25
0
0
0
0
0
0
0
0
0
0
0
0
-3
35
-18
-13
-39
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
-49
-18
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-39
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
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
68
1
0
0
0
0
0
0
0
0
0
0
0
-2
3
-2
38
-37
-11
0
0
0
0
0
0
0
0
0
0
0
6
-7
-9
45
44
7
0
0
0
0
0
0
0
0
0
0
0
9
-51
-34
-27
-3
17
0
0
0
0
0
0
0
0
0
0
0
3
14
-13
-17
-40
1
0
0
0
0
0
0
0
0
0
0
0
0
-54
29
-21
6
1
0
0
0
0
0
0
0
0
0
0
0
0
-64
8
8
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
-2
0
0
0
-8
-4
-3
-13
0
0
0
0
0
0
0
0
-2
-1
0
0
0
39
6
6
25
-8
0
0
0
0
0
0
0
-6
30
9
-22
-36
3
32
47
3
0
0
0
0
0
0
0
0
-11
28
-11
-6
5
19
0
-1
10
1
0
0
0
0
0
0
0
-6
0
-77
-53
24
16
-3
3
15
0
0
0
0
0
0
0
-1
8
8
-33
-21
-35
11
-6
0
1
0
0
0
0
0
0
0
0
0
0
-85
-84
-59
-106
0
-12
0
0
0
0
0
0
0
0
0
0
-13
-107
-14
-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
0
0
0
0
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
20
-81
0
0
0
42
-8
-33
24
-2
0
0
0
0
0
-3
1
-11
-19
-83
8
64
75
21
-26
16
-39
-2
0
0
0
0
0
0
-3
2
-13
-39
-9
-67
6
36
-13
-36
-1
-4
0
0
0
0
0
-2
-35
-36
-50
75
15
-104
21
12
-30
0
7
0
0
0
0
0
-10
-21
-6
20
-36
-57
-56
86
16
-1
0
0
0
0
0
0
2
2
-51
-42
-69
-11
-59
-8
4
0
1
0
0
0
0
0
0
0
-1
-28
-14
102
46
-1
-9
-2
0
0
0
0
0
0
0
0
0
0
0
-4
77
-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
-20
0
0
0
57
52
14
10
-6
-8
9
0
0
0
0
9
-21
99
3
0
0
57
46
70
9
-22
11
19
0
0
0
0
-2
8
-34
-22
43
40
57
37
-2
2
51
28
-27
0
0
0
3
0
1
-20
74
-24
78
23
-7
41
27
43
32
90
0
0
0
0
0
8
-48
31
-27
-24
-34
2
5
13
28
44
54
0
0
0
0
0
-8
11
35
-19
23
-52
-51
-24
-18
14
36
-1
0
0
0
0
0
0
2
-41
-9
-9
-22
31
-31
-30
25
-32
0
0
0
0
0
0
-2
-1
-6
-40
-7
41
40
-33
-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
-6
9
-49
0
0
47
7
-14
1
36
-69
81
0
0
0
0
0
-18
-22
-55
8
0
23
20
3
-6
6
42
40
0
0
0
0
1
-42
-2
-14
-6
-14
-4
7
0
11
-8
-40
85
0
0
0
0
0
7
-16
-41
-26
-20
-10
-16
-28
6
-21
2
-20
0
0
0
1
0
8
12
-4
-33
-3
-15
-13
-31
-10
-21
14
52
0
0
0
0
-1
-21
-31
11
-21
-32
-20
-49
-25
-22
6
11
11
0
0
0
0
0
-2
-4
20
41
5
-18
-35
-11
-21
-88
11
0
0
0
0
0
0
1
1
36
-39
-11
-35
-3
-30
-13
-43
4
0
0
0
0
0
0
0
0
0
0
9
-42
21
-44
-29
26
0
0
0
0
0
0
0
0
0
0
0
0
-4
139
60
40
-19
-44
23
0
0
0
0
0
0
0
0
17
-5
73
32
-14
7
26
81
41
0
0
0
0
0
0
0
-2
-20
49
22
-3
36
-67
-10
12
27
0
0
0
0
0
0
1
9
-58
-54
34
71
0
-79
-70
-39
6
0
0
0
0
0
0
0
9
4
11
10
59
-19
18
-5
-5
-12
0
0
0
0
0
0
0
0
1
-77
14
10
26
-63
-15
-23
0
0
0
0
0
0
0
0
0
-8
19
-61
1
-3
25
54
37
0
0
0
0
0
0
0
0
0
-1
24
9
-33
-44
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-2
2
16
0
0
0
0
0
0
0
0
0
13
0
89
27
18
8
23
-6
-31
-56
0
0
0
0
0
0
8
8
18
-7
0
20
19
11
-30
5
36
0
0
0
0
0
0
0
4
28
24
18
-10
19
-8
-12
32
-9
0
0
0
0
0
0
0
-2
28
6
45
9
42
30
23
-18
-27
0
0
0
0
0
0
-3
9
23
-1
-29
33
39
-7
-2
51
25
0
0
0
0
0
0
0
0
5
-9
-38
-42
3
-20
17
67
-24
0
0
0
0
0
0
0
-48
0
-78
2
-29
-36
-49
-13
13
0
0
0
0
0
0
0
0
0
2
-27
57
10
54
-9
2
6
13
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-2
0
0
0
0
0
0
0
0
19
78
0
0
51
66
5
69
-16
47
-2
0
0
0
0
1
-15
43
0
-29
0
60
45
28
43
53
16
-7
0
0
-4
0
1
1
-19
38
41
49
88
69
75
50
49
-42
-23
0
0
0
0
-2
2
12
-12
44
64
50
42
26
72
36
18
166
0
0
0
-7
0
13
-15
-22
-13
-18
-26
24
41
18
27
7
-4
0
0
0
0
1
1
-4
20
46
-34
-81
-47
-25
-29
-12
29
0
0
0
0
0
0
-7
-11
1
0
14
85
-60
9
-7
14
0
0
0
0
0
0
0
0
3
-32
-1
9
-20
-39
1
-3
-3
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
-6
50
3
-28
-50
38
15
3
0
0
0
0
0
0
4
0
-36
0
-16
-5
-51
-38
-18
42
6
0
0
0
0
0
0
-6
22
-28
-15
48
47
4
34
130
49
-1
0
0
0
0
0
1
2
10
36
6
76
-31
5
-35
-22
4
0
0
0
0
0
-2
0
4
-3
13
2
16
-19
62
-4
23
2
2
0
0
0
0
0
0
0
4
-10
-3
-22
-34
-8
22
2
2
0
0
0
0
0
0
0
0
0
0
10
0
-17
7
-3
33
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
21
27
-37
-59
-66
-44
-17
0
0
0
0
0
2
4
0
0
2
-90
1
29
-44
-10
10
-32
0
0
0
0
0
0
0
-43
6
24
38
28
22
47
66
65
-29
0
0
0
0
0
0
-1
-20
-32
-17
10
70
17
96
34
-63
-21
0
0
0
0
0
-6
-3
27
45
11
53
21
-30
-4
29
23
-21
0
0
0
0
0
0
0
38
-17
-5
17
-12
23
2
7
48
-7
0
0
0
0
0
0
0
16
44
1
-8
32
-8
-31
19
13
-2
0
0
0
0
0
0
0
1
42
0
2
-5
9
-58
25
39
7
0
0
0
0
0
0
0
0
0
0
1
-2
-4
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-7
18
-7
-40
-27
49
57
-4
0
0
0
0
0
0
-1
2
3
-4
39
26
42
-17
-7
-41
3
0
0
0
0
0
0
0
0
0
-2
8
-27
2
27
28
-11
2
0
0
0
0
0
0
0
0
0
0
29
68
50
85
18
29
-12
0
0
0
0
0
0
0
0
0
0
-2
-10
27
1
11
13
76
0
0
0
0
0
0
0
0
0
0
-1
-10
4
-15
-7
45
-3
0
0
0
0
0
0
0
0
0
0
6
-24
19
-81
15
44
0
0
0
0
0
0
0
0
0
0
0
0
0
1
36
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
-6
-1
0
60
-6
-10
-1
0
0
0
0
0
0
0
0
0
0
0
1
35
-2
19
8
0
0
0
0
0
0
0
0
0
0
0
0
1
7
10
18
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
83
23
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
-2
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
10
-7
-1
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
-2
9
-22
-3
-15
-7
-16
7
0
0
0
0
0
0
0
0
3
0
0
-8
18
13
-31
23
0
0
0
0
0
0
0
0
-1
0
0
-2
-5
49
37
-23
41
-15
0
0
0
0
0
0
0
0
0
0
-2
16
27
73
-31
47
7
0
0
0
0
0
0
0
0
0
0
2
3
-46
99
-49
15
0
0
0
0
0
0
0
0
0
0
0
0
-2
35
12
59
9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
30
-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
-4
-30
20
10
26
-16
0
0
0
0
0
0
0
0
0
-1
1
6
-63
66
-5
35
-30
0
0
0
0
0
0
0
0
0
9
0
-2
24
81
28
26
43
-11
0
0
0
0
0
0
0
0
0
0
3
-3
-55
59
10
-8
0
0
0
0
0
0
0
0
0
0
0
0
24
57
41
15
-12
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
93
72
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
17
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
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
33
70
-54
17
-20
-30
0
0
0
0
0
0
0
1
0
47
13
-13
-41
-57
-15
-32
-36
3
0
0
0
0
0
0
0
0
-13
-24
82
2
-14
8
17
-5
-6
0
0
0
0
0
0
0
-1
-2
13
6
55
15
27
-36
-16
2
0
0
0
0
0
0
0
1
14
-9
-26
19
44
-8
-14
-35
0
0
0
0
0
0
0
0
9
-8
7
0
25
-33
37
-7
22
-2
0
0
0
0
0
0
0
0
6
3
3
8
-3
5
-26
0
0
0
0
0
0
0
0
0
0
0
25
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
-22
11
34
1
-16
-8
-7
-2
0
0
0
0
0
0
-7
0
-16
21
30
38
-18
86
0
46
12
0
0
0
0
0
0
0
-2
-27
-32
-10
-5
-21
20
-48
5
11
0
0
0
0
0
0
-1
-2
-2
14
26
0
32
120
1
10
0
0
0
0
0
0
0
-6
-2
-2
-36
4
-38
32
37
110
-47
11
0
0
0
0
0
0
0
6
0
18
0
37
-48
32
44
-73
-1
0
0
0
0
0
0
0
9
-29
14
-6
37
-14
-5
-31
32
4
0
0
0
0
0
0
2
1
3
-2
0
0
8
7
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-5
0
-2
-3
56
57
32
-18
7
-2
0
0
-9
3
17
-8
-11
11
-8
39
36
39
46
36
12
33
-10
0
0
0
0
-2
-36
32
-34
13
49
6
6
45
74
62
20
-61
0
0
0
0
4
-10
-51
15
-8
-42
12
32
32
74
105
47
-16
0
0
0
1
-3
-1
-44
31
-19
-28
-42
60
34
31
13
72
0
0
0
0
0
0
0
29
-68
19
-52
-27
-44
19
-76
-45
2
0
0
0
0
0
0
0
-11
7
-24
-14
23
-80
-25
16
-20
0
0
0
0
0
0
0
3
0
-9
-11
33
-2
1
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
55
4
0
38
1
22
-25
46
-11
-7
0
0
0
0
-6
40
-12
-6
-2
5
-1
18
-20
41
36
-24
34
0
0
0
0
-9
-50
18
-4
9
-20
38
18
-26
1
54
62
60
0
0
0
0
0
13
36
-23
-8
-22
-41
-46
29
16
23
-30
59
0
0
0
0
-9
-15
21
-15
-48
-41
19
-8
-24
-4
-4
22
-49
0
0
0
-1
-6
-51
4
14
-9
4
-8
-25
-5
35
-14
14
3
0
0
0
0
-1
1
-15
-7
-20
29
10
-12
-32
-13
30
-46
-1
0
0
0
0
0
0
7
20
42
24
-17
-22
-41
-59
33
-44
0
0
0
0
0
0
0
0
-7
23
21
-2
5
-17
-1
0
0
0
0
0
0
0
0
-6
-34
-26
24
0
12
-42
18
-32
19
-3
0
0
0
0
0
11
38
-13
-25
-2
16
23
28
13
93
-38
-4
0
0
0
0
0
34
-7
9
-45
7
40
37
26
-26
-32
24
0
0
0
0
0
-1
10
51
11
18
-17
4
60
-81
21
39
5
-4
0
0
0
0
0
-20
80
-31
7
-7
-2
-12
-29
54
-7
10
0
0
0
0
-1
4
-9
46
-2
31
-40
-24
-12
-75
5
-40
-30
0
0
0
0
-1
0
34
44
6
1
10
-14
-50
-3
5
-111
0
0
0
0
0
1
6
13
-29
-9
13
-4
-4
6
-30
-3
79
1
0
0
0
0
0
-1
52
16
4
-11
-3
-18
-4
-57
-1
6
0
0
0
0
0
0
0
0
4
-5
16
27
0
33
30
50
6
126
1
0
0
0
0
0
0
-21
-2
25
-7
-10
57
30
32
-18
-35
4
0
0
0
0
0
0
-13
4
27
13
30
12
-11
-18
25
71
3
0
0
0
0
0
-1
-5
-26
-33
-10
-32
-35
-30
-28
21
49
1
0
0
0
0
0
1
-6
-32
-11
-8
-32
-17
-30
-30
-43
67
12
0
0
0
0
0
0
-17
-16
-33
8
-31
-18
-28
-14
-33
-49
22
0
0
0
0
0
0
-10
23
-17
-23
-12
-51
-56
-26
-41
-18
0
0
0
0
0
0
0
-4
-24
33
-41
7
16
-15
-12
-36
-3
0
0
0
0
0
0
0
0
0
0
0
13
0
-47
0
-3
0
0
0
0
0
0
0
0
3
-15
1
9
0
52
26
-4
32
31
-53
70
1
0
0
0
0
22
-35
-56
-26
41
14
24
10
11
30
-23
33
32
0
0
0
3
-6
70
17
-35
10
16
38
45
41
104
-31
29
41
0
0
0
0
3
-28
-22
-80
-9
37
20
29
42
78
23
24
39
0
0
0
2
-2
-6
83
-49
-16
20
5
13
49
77
-15
-32
26
0
0
0
0
-8
-13
-3
-43
-61
-52
4
44
-48
20
-8
-3
0
0
0
0
0
0
-6
11
2
16
2
-34
-23
-40
32
-21
1
0
0
0
0
0
0
0
-3
-8
-2
-71
-17
-25
16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-30
0
-45
13
31
19
-24
-10
36
32
0
0
0
0
0
0
-1
-6
-16
-44
39
30
-22
20
40
-17
-41
0
0
0
0
0
4
-6
-47
-12
-31
15
7
1
23
32
61
-39
0
0
0
0
0
0
-9
43
-28
-98
-25
79
64
-92
92
10
0
0
0
0
0
0
0
-7
-14
3
25
50
5
47
28
0
3
0
0
0
0
0
0
0
13
-49
23
30
10
-20
9
-28
21
0
0
0
0
0
0
0
0
-2
35
27
-23
22
-16
-58
10
0
0
0
0
0
0
0
0
0
1
-9
24
112
9
16
-1
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
-36
-26
44
0
-18
28
18
11
66
-1
-43
3
0
0
0
0
-8
-19
10
-16
-48
76
23
71
2
23
15
12
-1
0
0
0
0
-2
-13
-23
49
52
-51
61
37
72
57
-14
27
1
0
0
0
0
-6
8
-73
-13
12
-2
54
-8
36
-35
56
68
13
0
0
0
0
0
18
-21
-20
-47
-56
59
9
-7
69
59
46
-6
0
0
0
0
0
23
3
-21
-12
-78
52
30
-16
22
-48
42
3
0
0
0
0
-3
26
68
-13
-28
-16
-29
14
-16
67
2
-1
0
0
0
0
0
-2
3
23
6
-38
-12
18
20
0
0
0
0
0
0
0
0
0
0
3
3
9
10
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
0
0
0
0
0
0
0
0
0
0
-2
8
1
-22
0
0
49
0
0
0
0
0
0
0
0
0
0
0
-15
2
-40
-20
-5
99
0
0
0
0
0
0
0
0
0
0
0
-1
-23
-37
38
39
21
9
0
0
0
0
0
0
0
0
0
0
-1
1
-43
-37
-6
52
2
0
0
0
0
0
0
0
0
0
0
0
0
6
23
10
6
-30
0
0
0
0
0
0
0
0
0
0
0
-1
-19
8
-16
55
0
0
0
0
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
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
-6
-10
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
24
21
-48
35
0
0
0
0
0
0
0
0
0
0
0
-3
1
12
-16
31
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
2
1
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-11
0
0
53
0
0
0
0
0
0
0
0
0
0
0
0
24
65
13
-15
-18
0
0
0
0
0
0
0
0
0
0
0
-1
9
7
57
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-104
22
71
14
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
10
0
0
0
0
0
0
0
0
0
0
-1
1
38
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-23
18
48
80
33
0
0
0
0
0
0
0
0
0
0
0
-3
-50
-8
-19
3
-19
3
0
0
0
0
0
0
0
0
0
0
0
15
0
-11
-37
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-21
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
0
10
0
4
0
0
0
0
0
0
0
0
-10
0
0
0
77
18
27
-8
0
0
0
0
0
0
0
0
0
0
8
28
19
37
25
3
6
0
0
0
0
0
0
0
0
0
-1
-2
-23
28
19
45
-9
-17
-3
3
0
0
0
0
0
0
0
0
10
-3
41
19
22
-35
-1
4
0
0
0
0
0
0
0
0
0
8
0
-13
0
73
-1
-10
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
2
11
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-2
0
0
0
0
-3
3
0
0
0
0
0
0
0
1
4
-49
-6
0
0
0
32
13
3
0
0
0
0
0
0
0
0
0
-1
30
-25
54
73
96
-84
-54
0
-6
0
0
0
0
0
0
0
-2
-12
18
1
38
21
-11
29
-25
28
2
0
0
0
0
0
0
0
0
41
28
-32
-27
-19
26
36
-8
1
0
0
0
0
0
0
0
0
-1
22
-36
26
-9
-37
-14
-27
4
0
0
0
0
0
0
0
0
2
7
-18
4
-7
7
-28
15
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-6
-4
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
27
0
0
0
-9
47
-8
23
1
-26
13
0
0
0
0
3
-1
66
-21
0
0
49
44
-6
-12
17
18
60
0
0
0
0
0
0
6
85
-7
31
99
79
-46
-12
38
9
45
0
0
0
0
0
0
-5
-111
49
26
51
13
9
-13
27
8
-13
0
0
0
0
3
0
8
39
17
-25
27
49
9
3
9
27
61
0
0
0
0
0
0
1
-14
3
10
12
6
19
0
22
64
26
0
0
0
0
0
0
0
0
-4
18
100
56
15
2
-16
1
-1
0
0
0
0
0
0
0
0
-1
10
1
15
-32
26
42
-21
-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
-48
0
0
26
-14
6
-13
48
-14
37
0
0
0
0
3
3
2
-14
8
-17
22
-5
-17
-18
-15
-14
90
0
0
0
0
0
-18
20
-50
-38
-13
-10
-44
-2
-12
-6
9
81
0
0
0
0
0
-3
-24
-27
8
-3
5
-6
-8
-29
-30
-22
67
0
0
0
0
0
25
11
-11
-81
-63
-31
-17
-19
-9
-1
77
68
0
0
0
0
0
-1
-15
22
-23
-83
10
-4
-9
-37
-32
-19
-5
0
0
0
0
0
3
6
-22
-44
-37
-28
5
-8
1
22
10
0
0
0
0
0
0
0
-8
-2
25
72
-13
-3
8
-12
-73
21
0
0
0
0
0
0
0
0
2
-6
13
7
6
19
-30
-8
0
0
0
0
0
0
0
0
0
-7
0
0
29
30
-12
-47
49
19
26
0
0
0
0
0
0
0
4
-13
70
27
12
-10
-27
0
0
25
0
0
0
0
0
0
-3
-6
-11
-11
-11
40
16
-46
-17
-17
2
0
0
0
0
0
0
0
0
10
26
6
-14
-29
-28
-13
6
35
0
0
0
0
0
0
0
-5
9
0
9
52
72
-2
-52
20
16
0
0
0
0
0
0
0
0
-23
37
-6
14
-66
-47
-21
8
-49
0
0
0
0
0
0
0
0
0
7
-30
49
-10
-4
14
34
25
0
0
0
0
0
0
0
0
0
0
38
23
54
29
21
-9
8
0
0
0
0
0
0
0
0
-1
-3
17
3
44
42
8
-16
41
0
0
0
0
0
-1
0
2
0
46
44
0
-8
58
29
-10
-12
0
0
0
0
0
0
-3
19
-20
-8
0
14
49
4
45
-12
61
0
0
0
0
0
0
7
-14
4
70
51
30
29
14
42
-1
28
0
0
0
0
0
0
-1
-10
-38
8
-46
27
19
4
15
-3
-51
0
0
0
0
0
0
0
-9
-92
29
-40
19
8
-20
49
33
42
0
0
0
0
0
0
-2
0
-6
-38
6
-25
0
2
1
-19
47
0
0
0
0
0
0
0
0
7
7
16
25
26
4
74
10
1
0
0
0
0
0
0
0
-1
9
0
0
-17
37
14
-8
-13
51
0
0
0
0
0
0
0
0
0
0
0
0
-6
19
-34
0
0
0
0
0
0
0
1
0
12
0
0
38
62
-21
-4
7
20
-114
0
0
0
3
-2
-4
77
0
-11
0
49
76
32
7
34
14
10
0
0
0
-1
-4
-3
-14
29
54
79
84
40
56
-23
17
-51
-16
0
0
0
0
0
0
12
-25
69
5
1
67
-41
45
-5
7
-7
0
0
0
0
0
-1
1
-51
-19
-35
56
-48
-13
-6
48
24
-5
0
0
0
0
0
0
0
-11
-12
5
-6
-66
-40
27
4
13
2
0
0
0
0
-1
0
2
0
1
-59
-26
3
-44
42
-17
-24
69
0
0
0
0
0
0
0
0
-2
-2
0
24
-3
50
11
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-20
17
27
-3
0
0
0
0
0
0
0
-1
-1
0
-7
49
38
-49
27
88
-1
8
0
0
0
0
0
0
-3
0
-3
0
16
16
35
-9
-9
8
0
0
0
0
0
0
0
0
0
-1
-28
33
-72
-2
33
63
-9
0
0
0
0
0
0
0
0
-1
-8
25
3
62
33
23
-38
56
0
0
0
0
0
0
0
0
0
4
2
35
-13
-54
-76
11
-29
-3
0
0
0
0
0
0
0
0
0
-1
48
-9
-41
-110
24
-15
0
0
0
0
0
0
0
0
0
0
-2
-42
-15
-57
-60
107
20
0
0
0
0
0
0
0
0
0
0
0
0
-36
-2
19
18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
-6
0
0
0
-1
26
17
39
-3
-9
-4
0
0
0
0
0
-7
4
12
0
-1
2
42
-12
-20
46
-56
-40
0
0
0
0
0
0
0
-8
4
-15
86
-34
44
-36
-28
19
-32
0
0
0
0
0
-1
0
49
23
-43
-56
-37
-44
-16
9
-26
-4
0
0
0
0
0
0
0
33
85
27
-10
29
-28
19
-7
-17
-7
0
0
0
0
0
0
0
33
3
9
55
-22
28
-67
-3
32
25
0
0
0
0
0
0
-1
0
7
2
30
16
-9
-55
-121
36
36
0
0
0
0
0
0
0
0
0
0
0
-18
76
35
-34
-31
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
5
-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
29
17
13
28
17
-48
-19
0
0
0
0
0
0
0
0
1
1
1
-66
5
-24
54
20
-16
-4
0
0
0
0
0
0
0
0
-2
-8
1
-15
6
36
14
-5
-15
0
0
0
0
0
0
0
0
-3
0
-11
-44
9
10
8
35
-14
0
0
0
0
0
0
0
0
0
10
-4
10
-78
-16
24
31
-21
0
0
0
0
0
0
0
0
0
-1
-7
70
-15
-21
-16
4
1
0
0
0
0
0
0
0
0
0
0
0
-2
26
-8
-34
30
18
0
0
0
0
0
0
0
0
0
0
0
-1
4
-29
22
-26
-42
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
41
-10
50
0
0
0
0
0
0
0
0
0
3
0
0
0
62
12
18
0
0
0
0
0
0
0
0
0
0
0
-3
6
15
17
-14
-18
0
0
0
0
0
0
0
0
0
0
0
1
-2
28
51
67
18
0
0
0
0
0
0
0
0
0
0
0
0
19
38
-50
-17
-20
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-123
4
16
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-38
-40
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-48
-74
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-6
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
9
12
14
68
-25
0
0
0
0
0
0
0
0
0
-6
0
0
-50
0
-13
-34
-35
0
0
0
0
0
0
0
0
0
2
-3
-1
24
-25
6
14
24
-19
0
0
0
0
0
0
0
0
0
0
-7
-15
4
37
23
6
-4
0
0
0
0
0
0
0
0
0
1
-12
0
34
20
73
-14
-8
0
0
0
0
0
0
0
0
0
0
0
-2
-18
8
-5
-20
3
0
0
0
0
0
0
0
0
0
0
0
0
20
-36
-39
23
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
2
-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
18
-10
-28
-34
-70
2
0
0
0
0
0
0
0
0
0
-1
1
47
17
36
-1
31
15
-1
0
0
0
0
0
0
0
0
-1
-4
6
10
34
-13
8
-46
12
0
0
0
0
0
0
0
0
0
0
3
0
18
-2
12
-11
1
0
0
0
0
0
0
0
0
0
0
0
-6
25
30
58
-27
0
0
0
0
0
0
0
0
0
0
0
0
-9
-44
-34
31
9
2
0
0
0
0
0
0
0
0
0
0
0
0
-35
-23
-25
18
-1
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
-4
-1
0
49
-30
-41
37
63
-4
-12
0
0
0
0
0
0
0
0
3
-1
27
-45
15
-8
29
-53
-120
-3
0
0
0
0
0
0
0
-2
10
-16
-9
32
59
-3
73
8
-71
0
0
0
0
0
0
0
0
-3
13
25
-24
97
47
-35
25
-10
0
0
0
0
0
0
0
0
-19
-34
72
20
-19
-30
-80
-52
15
0
0
0
0
0
0
0
0
-7
-12
1
31
-8
2
-42
21
9
0
0
0
0
0
0
0
0
0
29
-28
7
-3
-67
23
-33
13
0
0
0
0
0
0
0
0
0
0
-1
-3
-3
-14
-7
56
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
15
1
-2
0
0
0
0
0
0
0
1
0
53
27
25
57
51
-82
-20
-9
0
0
0
0
0
0
6
1
-26
-33
-72
-7
6
33
27
13
33
0
0
0
0
0
0
0
-5
29
6
96
31
12
45
38
44
-35
0
0
0
0
0
0
7
-3
0
-40
61
65
10
-110
-30
-16
-15
0
0
0
0
0
0
0
-15
53
-3
-10
6
-57
-84
-49
-14
62
0
0
0
0
0
0
0
0
-2
25
1
17
-10
61
-9
-14
20
0
0
0
0
0
0
0
1
6
-2
-58
61
-40
33
-23
-49
53
0
0
0
0
0
0
0
0
4
0
-2
2
-84
-4
-3
17
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
47
20
-20
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
34
0
29
51
72
36
61
-30
-12
-11
0
0
1
6
12
-44
-5
-13
34
2
73
5
67
35
53
-9
-8
0
0
0
-1
30
2
6
46
-2
15
-1
-51
-16
18
31
-5
-7
0
0
0
-1
2
-16
-39
-51
-21
-26
58
8
10
18
49
-42
-6
0
0
0
0
-3
-16
29
8
-13
-72
-20
74
-2
-45
24
8
-1
0
0
0
0
0
0
-17
-27
16
19
0
14
23
-18
-2
86
3
0
0
0
0
0
0
0
-26
-20
-6
-46
47
-21
-54
-25
45
-4
0
0
0
0
0
0
0
-2
-1
2
13
-19
16
-37
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-81
-23
14
0
-14
10
-20
13
-2
37
27
0
0
0
-1
0
-4
11
-20
-8
7
-19
0
-3
22
15
26
-39
0
0
0
0
0
12
-52
36
-46
-8
-8
-8
-7
-6
5
-14
8
0
0
0
-1
-1
4
28
26
-62
6
6
-2
0
-1
15
-19
-27
0
0
0
-1
-2
24
-10
-2
-28
-36
-18
-39
-62
15
-12
-21
6
0
0
0
0
1
-3
-60
-44
-20
28
-15
-21
8
12
-3
-2
-7
0
0
0
0
-1
-3
6
-15
-37
-21
-37
-28
-16
0
15
31
20
0
0
0
0
0
-1
-6
6
-36
-2
-6
-25
-13
-17
34
100
25
0
0
0
0
0
-1
0
-20
-14
6
-11
-49
-21
16
18
-39
0
0
0
-1
0
0
15
2
-25
62
0
7
-26
-5
58
-35
-4
0
0
0
0
0
0
0
1
72
21
-9
10
-26
-23
56
34
21
0
0
0
0
0
0
0
1
34
-8
18
32
33
2
8
20
23
4
0
0
0
0
0
0
0
27
1
-36
34
11
56
66
60
16
0
0
0
0
0
0
0
0
0
-12
-71
-27
44
-24
28
-24
-3
0
0
0
0
0
0
0
0
1
-67
-7
13
-93
37
-8
45
1
0
0
0
0
0
0
0
0
-3
-2
-39
-9
12
53
50
1
15
0
0
0
0
0
0
-1
0
0
1
5
-27
5
19
26
6
0
0
0
0
0
0
0
0
0
0
0
-2
21
-1
29
-17
-1
0
0
0
0
0
0
0
1
10
-20
27
0
54
26
50
-13
70
-2
0
0
0
0
0
0
16
26
45
39
48
41
7
3
23
-26
-22
0
0
0
0
0
0
0
68
6
11
15
22
-8
22
36
2
-14
0
0
0
0
0
0
0
-24
34
78
42
39
37
26
9
-14
50
0
0
0
0
0
0
0
6
41
13
50
1
32
-30
83
-26
29
0
0
0
0
0
0
5
5
31
32
1
-2
-13
21
-40
-18
1
0
0
0
0
0
0
0
-34
-68
-43
17
-61
3
72
3
10
-2
0
0
0
0
0
0
0
2
-8
-20
50
97
-34
-12
-4
58
2
0
0
0
0
0
0
0
0
0
4
0
-6
34
1
-11
0
-1
0
0
0
0
0
0
0
-45
-39
2
0
35
10
21
-8
72
-2
-16
-11
0
0
0
1
17
-39
-39
20
18
23
21
-19
5
24
24
-82
1
0
0
0
-1
-1
-45
7
-6
27
40
49
12
40
53
31
73
16
0
0
0
3
-1
3
68
-2
-24
-5
50
-12
70
39
-37
68
92
0
0
0
0
4
2
-42
-60
62
-17
-22
19
19
0
-9
-31
-6
0
0
0
0
0
1
-32
-21
-67
24
13
12
-50
-7
10
-34
24
0
0
0
0
0
3
2
24
-8
8
-47
23
24
-14
17
14
-1
0
0
0
0
0
0
0
0
0
6
37
30
-7
-56
-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
14
0
-34
-6
15
33
-14
39
-22
-2
0
0
0
0
0
0
8
-31
76
71
-17
19
42
-18
7
51
-12
0
0
0
0
0
0
0
-6
4
60
22
-19
90
-7
-17
-15
3
0
0
0
0
0
0
13
37
-29
12
-46
2
-21
14
64
4
4
0
0
0
0
0
0
0
-15
-9
8
-88
-24
-8
-5
-24
-14
0
0
0
0
0
0
0
0
-17
-16
-68
3
11
56
-98
20
-78
0
0
0
0
0
0
0
0
0
-42
-20
19
-57
20
14
5
0
2
0
0
0
0
0
0
0
0
0
-45
-3
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
19
32
-5
0
23
19
-3
-15
-1
-9
-29
-4
0
0
0
0
0
-35
67
-8
11
13
38
71
37
84
13
5
-32
0
0
0
0
0
11
22
4
-6
-11
49
31
-8
-20
37
-26
5
0
0
0
0
0
4
87
12
-46
-5
-6
41
27
61
-20
-16
4
0
0
0
2
-3
22
10
20
-48
12
15
11
50
8
-10
53
28
0
0
0
0
-3
23
0
26
-26
6
-35
37
-44
29
17
-5
6
0
0
0
0
0
6
-32
34
-9
26
2
-1
-33
-15
10
-54
12
0
0
0
0
0
3
7
4
-42
-11
-30
19
-5
-12
5
-58
4
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
3
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
-7
2
-20
-1
-11
-63
0
0
0
0
0
0
0
0
0
0
0
0
-65
54
-30
70
36
-5
0
0
0
0
0
0
0
0
-1
0
-43
-52
42
16
-1
61
0
0
0
0
0
0
0
0
3
-2
-3
20
30
-18
-6
4
20
-2
0
0
0
0
0
0
0
-1
-2
3
-6
8
-11
21
-27
18
-1
0
0
0
0
0
0
0
2
3
1
-1
26
-3
35
18
6
-2
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
4
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
-1
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-28
-11
-50
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
55
-59
-9
0
0
0
0
0
0
0
0
0
0
0
0
4
34
-10
-6
10
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
-3
-17
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
97
29
-21
8
0
0
0
0
0
0
0
0
0
0
0
0
0
71
-27
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
50
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
36
-45
-15
0
0
0
0
0
0
0
0
0
0
0
0
11
9
25
52
25
-7
0
0
0
0
0
0
0
0
0
0
-4
5
-35
31
14
-9
0
0
0
0
0
0
0
0
0
0
1
6
0
-2
-13
-67
-11
0
0
0
0
0
0
0
0
0
0
1
0
-3
-7
-12
-12
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
11
-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
1
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
2
1
-1
0
0
0
27
9
0
0
0
0
0
0
0
0
0
-2
-3
0
28
-54
-4
-10
15
0
0
0
0
0
0
0
0
0
2
0
0
-50
19
56
0
14
0
0
0
0
0
0
0
0
0
0
1
-37
7
-35
-12
87
13
0
0
0
0
0
0
0
0
0
0
0
18
-52
34
6
59
-3
0
0
0
0
0
0
0
0
0
1
-1
9
-13
-37
-25
2
0
0
0
0
0
0
0
0
0
0
0
1
0
29
-48
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
1
0
0
0
0
0
0
0
0
-3
0
0
0
-2
-6
-1
0
0
0
0
0
0
0
0
0
-3
-3
-46
-5
81
4
2
2
0
1
0
0
0
0
0
0
0
0
-2
28
8
1
0
0
37
8
0
0
0
0
0
0
0
0
0
-2
-8
18
-2
5
10
-1
0
0
0
0
0
0
0
0
1
0
-6
13
-4
-47
42
-13
-4
0
7
0
0
0
0
0
0
3
0
0
-8
4
-29
-1
-1
0
0
0
0
0
0
0
0
0
0
2
-3
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
-1
-1
0
1
0
0
0
0
0
-2
-4
0
-11
0
0
0
-1
3
2
2
0
0
0
0
0
0
0
0
0
-8
-54
24
94
64
-15
1
1
28
0
0
0
0
0
-2
0
-1
2
-68
-44
-13
-27
49
0
7
-10
0
0
0
0
0
0
0
7
-26
-42
-9
-11
-6
-53
-52
-1
-7
3
0
0
0
0
0
0
1
46
9
47
-22
15
-47
-28
1
8
1
0
0
0
0
2
0
0
-6
102
74
-32
-15
24
53
-1
0
0
0
0
0
0
-1
0
-3
16
-29
11
-1
3
1
0
0
0
0
0
0
0
0
0
0
-11
-9
0
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
89
34
26
18
-35
-2
76
0
0
0
0
0
10
-23
0
0
0
74
27
25
22
-16
22
50
0
0
0
0
0
7
-12
61
135
36
43
29
37
6
-5
14
-4
0
0
0
0
-1
-4
4
5
-31
40
36
11
15
57
45
58
41
0
0
0
1
-2
-72
17
-5
118
1
33
21
4
15
33
41
50
0
0
0
0
19
-44
-11
3
38
-36
21
13
18
-35
56
21
9
0
0
0
0
0
-21
-62
-44
-16
42
-16
47
2
34
22
142
-1
0
0
0
0
-7
-15
-1
13
-9
5
-20
-11
20
-5
9
4
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
41
0
0
18
15
-11
5
-1
18
15
0
0
0
0
0
-7
16
0
68
14
13
-18
-1
-1
-15
-46
54
0
0
0
0
4
-10
15
10
-14
14
29
-2
-7
4
19
-18
-6
0
0
0
0
1
-31
-19
32
-42
-6
8
10
-12
-8
13
30
139
0
0
0
0
-4
-1
-58
6
24
-2
3
1
-18
20
9
-28
26
0
0
0
-1
26
-27
-29
-14
75
18
-3
3
-3
3
35
67
28
0
0
0
1
5
26
57
16
-40
32
-9
24
-30
-26
-8
24
-22
0
0
0
0
0
3
-5
16
31
19
22
26
3
-3
-33
-16
0
0
0
0
0
0
0
1
-1
-1
18
38
-23
5
24
25
0
0
0
0
0
0
0
0
0
0
0
0
41
22
-24
39
-10
17
1
0
0
0
0
0
0
0
0
-1
23
-27
54
51
-14
42
-7
97
0
0
0
0
0
0
0
14
44
27
31
12
-5
57
-7
56
8
0
0
0
0
0
2
-5
-4
13
91
0
58
52
2
8
-9
29
0
0
0
0
0
-6
0
14
7
34
45
-20
-56
20
8
-34
-11
0
0
0
0
0
1
-22
0
-50
-17
-29
20
11
-6
27
36
0
0
0
0
0
0
4
0
3
13
-50
39
-8
33
39
29
-42
0
0
0
0
0
0
0
0
0
3
-26
26
30
76
45
16
-1
0
0
0
0
0
0
0
0
0
0
0
12
-27
-32
55
-10
-7
0
0
0
0
0
0
0
0
-7
0
4
15
36
27
-17
26
16
35
0
0
0
0
0
0
1
0
-15
20
0
42
11
-12
33
-11
-3
0
0
0
0
0
0
-1
26
-6
24
22
10
-6
-7
23
-10
20
0
0
0
0
-1
0
-1
-34
-40
38
0
-6
21
48
40
14
53
0
0
0
0
0
-5
-11
-11
11
-63
-15
12
32
53
56
-13
55
0
0
0
0
0
0
-18
7
-9
32
-23
93
8
-47
34
46
-39
0
0
0
0
0
2
0
-9
0
13
-59
-8
89
59
16
21
0
0
0
0
0
0
0
-2
0
0
44
-16
-8
12
-37
20
8
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
4
12
16
0
0
39
30
-48
44
34
-16
5
0
0
0
0
4
2
-38
0
-17
0
101
-1
5
30
15
25
43
0
0
0
0
6
17
4
-31
87
64
44
73
39
15
19
25
28
0
0
0
0
12
0
41
-46
36
13
-5
18
5
30
43
-12
-3
0
0
0
0
0
-5
-23
-2
-23
-5
5
-4
5
22
46
45
6
0
0
0
1
19
-7
-65
-15
19
-1
5
43
-18
14
28
33
0
0
0
0
0
-1
-4
-2
14
5
87
28
1
52
19
8
7
0
0
0
0
0
1
0
-2
-4
-2
24
-11
-7
33
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-2
0
-37
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
34
-28
-10
53
20
-1
0
0
0
0
0
0
0
6
3
3
7
11
-28
-4
8
11
-2
0
0
0
0
0
0
-1
4
4
0
-5
66
-6
75
-11
-1
-6
0
0
0
0
0
0
0
0
0
-3
39
8
21
5
47
9
0
0
0
0
0
0
0
0
0
-2
-3
2
-42
0
25
-3
0
0
0
0
0
0
0
0
0
0
1
-26
0
1
13
-9
-7
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
6
32
-45
-21
-35
1
38
0
0
0
0
0
0
0
0
0
-12
-23
102
23
-26
-11
22
-18
0
0
0
0
0
0
0
5
20
53
5
59
44
32
12
26
-15
0
0
0
0
0
0
-3
10
-27
-63
15
2
-81
71
-16
14
75
0
0
0
0
0
0
0
-45
18
6
0
-22
7
36
-7
35
56
0
0
0
0
0
0
-8
7
-22
-15
-67
4
-13
-30
18
-32
3
0
0
0
0
0
0
0
7
-3
42
-22
-75
-61
-50
16
37
3
0
0
0
0
0
0
0
0
4
-1
2
-19
-54
68
-40
8
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-8
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
-4
0
39
77
71
133
25
3
-11
-6
0
0
0
0
0
0
10
3
-20
50
-6
10
38
-27
-4
24
5
0
0
0
0
0
0
0
10
-15
17
17
109
50
34
12
17
-2
0
0
0
0
0
0
10
-2
-1
5
22
12
-35
4
-23
2
-46
0
0
0
0
0
0
0
7
-1
-4
9
-10
6
-6
-16
-22
-39
0
0
0
0
0
0
0
0
-2
-2
3
2
-11
24
38
-24
8
0
0
0
0
0
0
0
0
0
0
0
-6
-17
44
-69
12
10
0
0
0
0
0
0
0
0
0
0
0
2
-12
-7
5
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-21
34
-16
14
0
0
0
0
0
0
0
0
0
-2
-2
0
-1
2
65
5
1
0
0
0
0
0
0
0
0
0
1
0
-1
1
18
9
-51
46
-10
0
0
0
0
0
0
0
0
0
0
0
-1
9
34
29
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
-34
28
40
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
13
-51
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
8
39
-21
56
20
55
0
0
0
0
0
0
0
0
0
3
16
-3
21
-27
32
-25
-43
4
0
0
0
0
0
0
0
11
-13
10
16
-7
-32
22
55
-62
3
0
0
0
0
0
0
0
0
-3
-1
1
2
18
27
45
28
15
0
0
0
0
0
0
0
0
0
0
0
8
29
69
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
32
47
1
6
1
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-16
-3
64
63
-8
1
0
0
0
0
0
0
-2
0
6
10
-16
54
-61
3
-5
85
-3
0
0
0
0
0
0
0
0
1
0
1
-1
-7
23
6
-17
0
0
0
0
0
0
0
0
0
0
0
0
-1
50
14
1
17
0
0
0
0
0
0
0
0
0
0
0
0
1
12
58
20
-60
1
0
0
0
0
0
0
0
0
0
0
0
-7
-14
15
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-1
63
-39
-5
1
0
0
0
0
0
0
0
0
29
50
10
-5
-6
6
86
33
4
0
0
0
0
0
0
0
1
-1
-17
38
28
-14
-61
30
15
-1
0
0
0
0
0
0
0
2
-1
16
5
-10
-8
23
16
0
0
0
0
0
0
0
0
0
0
-3
19
16
3
38
28
79
9
0
0
0
0
0
0
0
0
0
-6
0
-2
-13
39
-2
0
-11
0
0
0
0
0
0
0
0
-1
0
0
0
-23
97
-1
15
0
1
0
0
0
0
0
0
0
0
-7
-2
2
2
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
8
19
0
42
-21
16
-40
-4
0
0
0
0
0
0
0
0
5
53
23
57
97
-42
-2
5
-27
0
0
0
0
0
0
0
-1
4
-1
-13
83
-39
33
26
79
17
0
0
0
0
0
0
0
2
1
6
61
-20
-19
139
-3
-31
-34
0
0
0
0
0
0
0
-7
20
25
-37
-10
-29
20
16
6
-18
0
0
0
0
0
0
0
0
16
10
-58
29
-11
-24
-17
4
-56
0
0
0
0
0
0
1
4
19
-4
8
33
9
-2
27
35
23
0
0
0
0
0
0
0
0
0
0
-2
-2
1
50
-1
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
40
19
0
53
42
-53
46
17
-1
-29
14
0
0
0
0
0
-28
-9
-5
96
41
49
-23
49
8
57
6
30
0
0
0
0
7
1
-3
-28
59
36
27
16
55
35
8
62
-22
0
0
0
0
-2
12
-59
-8
-17
74
-24
-24
29
5
-3
95
19
0
0
0
0
8
-5
-28
27
-43
-32
-13
1
38
35
43
-29
-8
0
0
0
0
0
-11
30
-5
-2
21
-37
58
-11
0
-21
-5
0
0
0
0
0
0
0
-11
-2
-57
14
39
-26
-8
10
-1
0
0
0
0
0
0
0
-1
0
1
20
4
-5
-31
26
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
6
0
0
0
0
0
0
0
0
0
0
-2
6
5
18
0
7
37
16
10
-13
88
-58
0
0
0
0
2
33
-70
-13
45
28
-12
15
-1
-11
44
-2
25
0
0
0
0
-3
27
-75
29
19
29
13
-4
15
-7
18
22
58
0
0
0
0
-1
7
-22
-34
22
1
-26
-23
-6
-26
-3
74
-36
0
0
0
-15
4
-3
16
34
-13
20
-6
16
-4
-21
0
7
29
0
0
0
3
2
-7
1
0
1
19
-16
-3
-10
20
-32
21
-10
0
0
0
0
-7
24
34
23
16
-19
-24
-19
-8
-27
15
9
6
0
0
0
0
-3
0
1
4
73
2
10
-7
11
0
-24
-43
-7
0
0
0
0
0
-2
7
6
-70
33
11
23
0
47
-11
0
0
0
0
0
0
0
0
-12
16
46
0
58
-6
-2
26
-44
34
0
0
0
0
0
-2
7
15
27
0
-34
-22
47
-11
1
-50
15
-1
0
0
0
0
5
-11
-48
1
10
24
47
90
66
-11
-47
-7
3
0
0
0
0
-1
-39
-2
-42
34
-10
15
74
20
15
-23
2
1
0
0
0
0
-2
0
-1
15
-8
8
-12
-6
10
5
-2
10
0
0
0
1
0
0
14
-28
-15
-27
-15
-35
69
-108
-46
39
0
0
0
0
-4
0
-37
-74
-20
-20
-19
-27
-11
8
-10
-36
12
-21
0
0
0
0
0
-12
-46
-14
8
9
-27
26
49
-34
6
0
0
1
0
0
3
-1
-4
-36
17
-12
29
34
-14
6
3
-7
0
0
0
0
0
0
0
0
2
19
63
-32
0
11
36
10
-18
-2
1
0
0
0
0
0
0
-25
-63
48
0
13
21
27
44
36
-68
-42
0
0
0
0
0
2
0
12
11
16
13
-18
68
-14
75
7
-2
0
0
0
0
0
2
-5
1
21
16
45
-6
-5
42
-1
-5
-4
0
0
0
0
0
-2
0
-16
-49
-3
26
8
-10
30
17
4
-3
0
0
0
0
0
0
-3
-20
-12
18
-11
13
-31
-105
-11
-8
-1
0
0
0
0
0
10
-3
-5
-22
11
2
-41
2
-2
-12
-2
-3
0
0
0
0
-1
0
-1
-46
-18
0
20
66
-74
16
7
3
0
0
0
0
0
0
0
0
0
0
0
-35
-2
6
2
0
0
0
0
0
0
0
0
0
0
0
64
35
0
1
53
-10
52
-4
-40
17
-32
0
0
0
0
-7
12
67
0
49
76
58
30
-43
-6
44
-30
-13
0
0
0
0
-2
5
22
29
28
24
-14
21
63
32
-12
54
3
0
0
0
0
0
2
41
64
-44
-4
-5
-12
-49
5
37
20
-4
0
0
0
-2
0
5
16
43
-27
20
15
-34
0
82
-59
16
28
0
0
0
0
2
12
5
12
27
-69
-32
3
38
16
-1
19
0
0
0
0
-3
-7
-3
19
-22
-55
-74
-66
-37
14
-26
29
-4
0
0
0
0
0
0
0
0
-6
4
-15
-13
5
-24
-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
1
0
0
0
40
-37
62
-7
-26
-10
6
0
0
0
0
0
0
-3
0
-52
-27
-3
80
-5
-34
16
12
2
0
0
0
0
0
0
0
-22
-32
1
21
43
-52
-10
60
-61
31
0
0
0
0
0
0
0
-24
-10
-4
91
-6
-28
26
-61
-24
-29
0
0
0
0
0
0
-1
12
73
53
7
19
-43
41
6
10
0
0
0
0
0
0
-2
1
-25
-2
-8
32
74
48
5
-9
-6
0
0
0
0
0
0
0
0
-14
67
9
0
61
-48
2
-2
-6
0
0
0
0
0
0
0
0
0
-4
34
5
-7
-32
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
17
28
0
86
30
62
-12
-44
0
4
39
0
0
0
0
0
-2
7
0
45
64
-45
4
18
-3
-1
24
42
0
0
0
0
0
0
0
-83
34
20
18
31
22
84
8
23
14
0
0
0
0
0
0
8
-62
38
38
-1
52
-47
19
30
-5
-32
0
0
0
0
0
-18
-41
-15
27
-23
-75
29
-28
46
-70
26
10
0
0
0
0
0
17
31
-63
31
-14
27
-9
61
-7
73
34
-12
0
0
0
0
-2
-21
12
-30
4
-11
48
-28
54
-4
10
-18
-1
0
0
0
0
1
1
-71
8
77
37
-49
35
-4
-10
1
1
0
0
0
0
0
0
0
0
-3
-9
10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
0
0
0
0
0
2
2
-36
0
0
35
0
0
0
0
0
0
0
0
0
-3
0
1
15
-42
-24
55
44
1
0
0
0
0
0
0
0
0
0
3
0
-4
30
-2
2
83
0
0
0
0
0
0
0
0
0
0
-1
0
9
48
-26
5
12
9
0
0
0
0
0
0
0
0
0
0
0
-2
25
-41
-7
30
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
83
-24
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-22
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
3
-46
-11
167
28
0
0
0
0
0
0
0
0
0
0
0
0
0
18
29
60
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
51
10
12
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
-2
-3
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
21
-9
0
0
0
0
0
0
0
0
0
0
0
-4
-9
74
6
17
11
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
20
22
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
-40
11
22
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
8
0
-35
3
0
0
0
0
0
0
0
0
0
1
1
-7
0
36
-16
0
-7
0
0
0
0
0
0
0
0
0
0
0
16
36
27
-3
-3
0
-2
0
0
0
0
0
0
0
0
0
-1
-1
-6
10
-3
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
3
6
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
-6
36
1
-10
1
1
0
0
0
0
0
0
-3
13
-36
5
32
-3
0
-24
14
-20
1
3
0
0
0
0
0
0
-1
6
15
-6
68
-30
24
-16
-9
3
0
0
0
0
0
0
0
0
6
1
27
1
-30
-1
4
-6
-3
0
0
0
0
0
0
0
0
1
7
-6
3
-51
3
4
13
12
0
0
0
0
0
0
0
0
0
0
3
6
-6
-21
-2
1
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
0
0
0
63
36
26
33
9
27
32
0
0
0
-1
0
0
18
22
0
0
44
7
-1
18
26
-1
41
0
0
0
0
0
-1
-6
-66
45
52
131
44
-25
2
2
-7
4
0
0
0
0
0
-1
0
49
55
119
90
46
-8
3
19
31
64
0
0
0
0
0
0
-1
1
-60
3
33
-20
-8
18
2
-20
-11
0
0
0
0
0
0
0
-5
-5
-54
14
43
-16
23
-25
57
-11
0
0
0
0
0
0
0
-2
-7
-9
64
25
-61
37
4
41
-6
0
0
0
0
0
0
0
0
0
0
0
-4
1
32
-10
27
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
6
-6
0
0
5
-15
-60
-4
4
33
-14
0
0
0
1
3
0
-40
0
29
23
-1
-15
-19
-28
20
74
87
0
0
0
0
-1
4
19
3
-7
17
-11
-17
-22
-31
-19
20
55
0
0
0
0
2
-12
38
-33
-59
-9
-35
-26
0
-6
-31
33
69
0
0
0
0
0
-3
13
58
-40
-20
-32
-45
-28
-5
-51
1
46
0
0
0
0
0
3
-6
4
-1
40
-69
-70
-2
-22
-26
-14
16
0
0
0
0
0
-1
0
-12
-38
0
-42
4
-36
-14
-38
-19
37
0
0
0
0
0
0
8
-3
-9
43
-1
-29
-31
-16
-63
-36
27
0
0
0
0
0
0
1
0
-4
0
4
6
-2
25
56
6
0
0
0
0
0
0
-1
0
0
0
0
56
0
-7
27
35
30
-10
0
0
0
0
0
0
0
0
30
-21
39
6
14
-34
22
-6
18
0
0
0
0
0
0
-1
-1
4
-26
16
12
22
-8
21
-15
49
0
0
0
0
0
0
0
0
1
27
-4
31
-11
10
12
-2
-4
0
0
0
0
0
0
1
0
-31
-11
55
-34
-2
6
-10
-15
-3
0
0
0
0
0
0
0
0
2
7
-5
49
51
-28
30
31
27
0
0
0
0
0
0
0
-1
0
6
-20
-8
9
19
16
2
4
0
0
0
0
0
0
0
0
0
3
0
42
37
17
5
13
9
0
0
0
0
0
0
0
0
0
-3
-2
13
-36
12
-25
13
32
0
0
0
0
0
0
0
3
0
72
109
49
-4
-19
50
15
26
0
0
0
0
0
0
0
-1
54
115
0
44
13
17
-15
41
-22
0
0
0
0
0
0
0
-2
46
39
-17
-23
-7
2
-16
10
43
0
0
0
0
0
0
-12
0
20
-24
17
65
14
9
-6
22
6
0
0
0
0
0
0
0
0
33
6
26
23
52
-1
-17
-13
-2
0
0
0
0
0
0
0
0
-8
-18
10
7
3
-22
-2
24
10
0
0
0
0
0
0
0
0
-3
4
-25
-29
49
62
-27
-3
-16
0
0
0
0
0
0
0
0
0
0
10
33
25
-6
25
13
66
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
47
0
0
0
0
0
0
0
5
34
-10
0
0
21
63
-32
36
-25
30
-12
0
0
0
3
-2
-8
-10
0
61
0
28
17
49
26
28
64
10
0
0
0
0
-2
4
-55
-24
93
-52
46
39
16
31
16
15
-21
0
0
0
0
0
1
0
-10
53
99
5
61
49
46
11
3
-17
0
0
0
0
0
0
-2
-4
15
8
36
-13
36
40
-17
-44
-10
0
0
0
0
0
0
1
8
-23
36
12
35
10
38
34
2
-7
0
0
0
0
0
0
1
0
-8
-2
-46
-11
14
30
-68
-16
-15
0
0
0
0
0
0
0
0
0
0
0
-3
-6
10
34
1
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
6
-4
-11
0
18
-4
0
0
0
0
0
0
0
0
0
0
0
-12
33
5
49
2
-22
0
0
0
0
0
0
0
0
0
-3
0
4
30
-10
27
-6
9
-1
0
0
0
0
0
0
0
0
0
9
-38
64
18
12
-12
6
0
0
0
0
0
0
0
0
0
0
-3
6
47
49
32
1
10
-2
0
0
0
0
0
0
0
0
0
2
-1
6
-35
51
-16
1
0
0
0
0
0
0
0
0
0
0
0
6
1
-3
-2
11
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
32
36
29
-14
53
36
0
0
0
0
0
0
-1
2
0
3
11
8
53
-55
-18
25
-10
0
0
0
0
0
0
0
-2
0
11
50
34
-15
48
-16
1
39
0
0
0
0
0
0
4
-2
-8
-13
84
30
-37
-1
33
55
-5
0
0
0
0
0
0
0
6
27
-10
95
8
21
-32
1
69
61
0
0
0
0
0
0
0
-1
0
0
38
3
57
-8
-25
-16
18
0
0
0
0
0
0
0
0
0
13
9
-37
25
71
-6
-60
-28
0
0
0
0
0
0
0
0
0
4
-2
-2
-5
-21
-9
-6
29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
40
44
-72
26
12
4
0
0
0
0
0
0
0
-3
1
-1
26
14
-38
-38
54
-37
11
0
0
0
0
0
0
0
-1
8
49
39
50
52
24
-3
9
-31
0
0
0
0
0
0
0
0
0
11
-52
-21
55
-21
-55
-11
62
0
0
0
0
0
0
0
0
4
1
-3
-37
37
39
-17
27
76
0
0
0
0
0
0
0
0
1
0
-1
18
-60
-18
-11
31
-21
0
0
0
0
0
0
0
0
0
-2
0
-1
-5
-40
-32
-40
45
0
0
0
0
0
0
0
0
0
0
0
-6
-10
18
6
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
35
9
0
0
0
0
0
0
0
0
0
0
0
6
11
62
-75
-4
0
0
0
0
0
0
0
0
-2
1
0
-22
4
17
7
-42
-12
4
0
0
0
0
0
0
0
0
0
-1
0
2
1
49
48
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
39
32
-47
0
0
0
0
0
0
0
0
0
0
0
0
-2
34
-14
37
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-21
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
29
-22
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
1
6
5
-1
2
-21
2
0
0
0
0
0
0
0
0
-4
1
0
16
8
58
41
-33
-15
3
0
0
0
0
0
0
0
1
-2
2
-1
-7
-18
-10
17
59
2
0
0
0
0
0
0
0
0
-4
0
-7
7
71
-16
32
-25
4
0
0
0
0
0
0
0
0
0
0
0
7
41
42
11
32
3
0
0
0
0
0
0
0
0
0
0
0
-1
9
-10
-22
19
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-34
27
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
67
2
61
-17
0
0
0
0
0
0
0
0
0
0
0
40
-42
11
6
29
-68
45
0
0
0
0
0
0
0
0
0
0
0
2
-15
-7
-64
6
11
0
0
0
0
0
0
0
0
0
0
2
4
75
-21
41
-48
24
0
0
0
0
0
0
0
0
0
0
0
0
-10
23
88
51
10
0
0
0
0
0
0
0
0
0
0
0
0
8
-61
16
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-5
-15
20
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
-7
0
0
0
0
0
0
0
-3
0
76
-8
-37
25
-12
-3
28
0
0
0
0
0
0
0
-3
32
55
-2
-21
-10
46
-16
48
6
-8
0
0
0
0
0
0
0
-1
29
-29
-23
24
-14
27
20
-13
3
0
0
0
0
0
0
0
-2
2
83
21
23
35
18
-45
-10
2
0
0
0
0
0
0
0
0
-2
-2
-3
92
54
23
58
3
25
0
0
0
0
0
0
0
0
0
-1
-7
-15
43
50
-42
-26
3
0
0
0
0
0
0
0
0
0
0
0
0
-21
16
48
-19
7
0
0
0
0
0
0
0
0
0
0
0
0
-6
13
14
-55
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
1
0
6
-1
-15
12
12
-23
8
33
0
0
0
0
0
0
0
0
50
1
-18
41
67
34
-3
-17
41
0
0
0
0
0
0
0
-4
7
9
9
26
45
13
-11
-38
-49
0
0
0
0
0
0
0
0
2
-20
15
57
18
-29
-3
-5
19
0
0
0
0
0
0
0
0
4
-13
-41
-13
39
1
-16
24
48
0
0
0
0
0
0
0
0
0
0
1
-4
-58
-4
15
34
56
0
0
0
0
0
0
0
0
0
0
0
-4
-43
30
-14
24
-25
0
0
0
0
0
0
0
0
0
0
0
9
-2
40
-26
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
2
32
-38
-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
-6
-50
-28
3
0
57
66
24
48
-34
1
-77
26
0
0
0
2
2
21
-57
29
24
105
58
59
0
-61
34
8
-13
0
0
0
0
8
-2
-33
-35
14
18
21
19
45
-25
15
-94
0
0
0
0
0
0
3
-35
-30
-3
-22
8
-22
20
18
23
-42
-2
0
0
0
0
0
7
-3
-9
-6
4
-44
27
32
43
-5
13
9
0
0
0
0
0
0
0
8
18
-14
-3
-14
-46
-29
56
-28
6
0
0
0
0
0
0
0
-2
0
11
9
2
-29
11
-37
-5
-7
0
0
0
0
0
0
0
0
0
0
0
-1
6
9
-1
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
7
8
14
-40
-28
0
2
-3
27
8
4
-57
-19
0
0
0
0
-8
-21
57
21
-40
-9
12
-3
-20
-5
8
-31
37
0
0
0
0
0
0
-38
-24
13
-18
-46
-22
-27
-34
17
-11
-42
0
0
0
0
0
-2
-32
40
-27
-52
-47
-26
20
6
5
-25
20
0
0
0
0
0
4
3
42
35
24
-38
-10
-21
-32
-34
19
-109
0
0
0
0
0
-1
0
16
-8
3
16
-24
-46
-32
-15
-3
-2
0
0
0
0
0
0
0
-2
-28
-58
-53
-51
-32
-46
16
2
8
0
0
0
0
0
1
0
0
-24
11
-52
42
-4
26
-23
-19
-88
0
0
0
0
0
0
0
0
0
23
11
-27
-31
-39
0
0
0
0
0
0
-1
-1
22
25
27
28
0
46
15
13
85
-29
32
0
0
0
0
0
0
0
-3
9
-23
53
4
17
56
-12
57
-3
3
0
0
0
0
0
0
0
24
32
6
4
34
-27
49
-4
-43
-2
0
0
0
0
0
0
-4
0
49
71
-12
-29
7
29
-25
-30
0
0
0
0
0
0
0
0
-1
-10
-7
8
-23
-30
-51
-39
25
1
0
0
0
0
0
0
0
0
0
0
1
-13
7
-16
-38
0
0
0
0
0
0
0
0
0
0
0
0
7
8
0
1
-1
-61
0
0
0
0
0
0
0
0
0
0
12
-2
7
23
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-2
-14
7
-29
0
12
-4
20
-3
11
35
0
0
0
0
0
0
1
15
-18
25
44
21
-9
8
47
30
-47
0
0
0
0
0
0
2
-4
24
72
3
-50
0
18
-15
83
-19
0
0
0
0
0
0
0
0
-6
-37
48
8
-47
44
11
75
48
0
0
0
0
0
0
0
0
-6
11
26
-33
-42
3
37
51
9
0
0
0
0
0
0
0
0
1
-10
-28
-65
-38
-11
-59
-56
-8
0
0
0
0
0
0
0
0
0
-25
-18
-22
-8
35
-27
-3
1
0
0
0
0
0
0
0
0
0
3
-2
-8
0
-29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
26
-18
-6
0
33
15
40
-46
34
-11
-34
24
0
0
0
0
0
91
43
29
68
72
65
37
-9
3
-8
31
61
0
0
0
0
0
13
6
-21
-15
64
85
35
-29
-27
-22
23
-101
0
0
0
0
0
0
5
-3
-10
-18
-35
51
-3
-42
1
-66
-48
0
0
0
0
0
0
0
-43
52
34
29
-9
-13
-3
-55
-30
18
0
0
0
0
0
0
0
-1
-27
49
-14
-75
10
-62
-31
65
9
0
0
0
0
0
0
0
0
6
-6
5
-24
-11
-45
-24
-13
-1
0
0
0
0
0
0
0
0
0
-1
-1
-3
-1
-2
14
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
-2
-34
0
29
-15
-21
28
-28
-29
-21
0
0
0
0
0
0
0
-5
0
-50
-13
5
19
32
24
-14
17
4
0
0
0
0
0
0
-5
15
56
0
50
13
119
-27
16
-52
-23
0
0
0
0
0
0
4
-13
-50
83
39
-30
-5
13
13
-22
13
0
0
0
0
0
0
0
4
0
-8
6
-10
7
11
-7
-8
-3
0
0
0
0
0
0
0
0
2
-22
8
5
20
-57
43
6
0
0
0
0
0
0
0
0
0
0
-1
-6
16
-15
-3
17
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
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
-4
37
0
-2
-13
-42
18
-19
-7
29
50
0
0
0
0
0
0
44
8
51
88
-15
52
33
-13
46
24
-5
0
0
0
0
0
0
28
-14
30
13
66
60
-37
13
-70
-30
0
0
0
0
0
0
0
-1
-28
-36
68
37
91
1
15
3
10
-15
0
0
0
0
0
0
-1
21
-1
45
67
-29
15
-3
2
-4
24
0
0
0
0
0
0
0
-15
60
21
46
18
-73
-23
18
-32
72
0
0
0
0
0
0
0
2
13
35
18
-1
33
-19
-47
6
35
0
0
0
0
0
0
0
0
-4
0
0
-2
-5
14
-27
-48
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
10
11
2
8
2
-1
0
0
0
0
0
0
0
0
0
0
9
10
-20
-7
-4
0
0
2
0
0
0
0
0
0
0
0
1
25
-50
-9
-11
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
20
8
-8
-2
0
0
0
0
0
0
0
0
0
0
0
2
-24
-56
40
3
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
-1
-22
-38
-9
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-4
-1
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
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
4
-2
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
-10
10
0
0
0
0
0
0
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
12
-1
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
-1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-1
1
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-16
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
2
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
4
0
-2
10
0
0
0
0
0
0
0
0
0
-1
-3
-8
1
-1
0
2
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
-4
0
-2
2
2
0
-1
0
0
0
0
0
0
0
0
0
0
1
6
-7
0
12
1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-11
-2
0
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-11
-29
-23
55
0
13
11
-2
0
0
0
0
0
0
-3
-38
-30
-21
-26
-17
50
96
135
10
0
0
0
1
0
0
0
3
-1
-26
0
-58
24
-39
-118
32
11
7
0
0
0
0
0
0
22
-2
12
11
-3
22
-6
-38
-20
3
1
0
0
0
0
0
-1
2
0
-18
-8
-6
18
-12
-3
10
0
0
0
0
0
0
0
0
2
-21
-33
-2
-19
25
12
-2
1
0
0
0
0
0
0
0
0
-1
1
2
-8
-28
-2
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-27
7
50
-6
-21
0
20
2
-3
0
0
0
0
0
0
-2
-29
29
-8
-73
78
-87
36
-43
48
41
17
2
0
0
0
0
-7
-8
-25
-41
-70
-58
0
44
41
33
19
-3
-1
0
0
0
0
-15
1
66
113
-37
38
-13
26
-47
-4
-1
2
0
0
0
0
0
2
-4
-1
-76
0
59
41
17
4
11
-17
-1
0
0
0
0
0
0
18
-15
128
52
20
-3
-22
0
9
18
0
0
0
0
0
0
0
13
27
-70
-12
-88
-13
13
0
16
-2
0
0
0
0
0
0
0
-3
6
102
33
-29
-29
-7
6
-3
0
0
0
0
0
0
0
0
0
-1
-1
-13
0
-21
-15
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-7
-18
0
0
-19
-6
0
0
0
0
0
0
0
-1
0
12
-27
13
-25
-21
15
0
-3
0
0
0
0
0
0
0
0
8
-11
13
-9
-1
10
5
0
-1
1
0
0
0
0
0
0
1
0
3
6
5
-4
-1
-19
0
0
0
0
0
0
0
0
0
0
-1
1
0
-9
7
10
0
0
2
0
0
0
0
0
0
0
0
2
1
1
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
-1
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
-7
-14
-29
-29
0
33
12
18
-1
0
0
0
0
0
0
-1
4
-35
7
-22
10
46
40
-46
7
-2
0
0
0
0
0
0
1
8
50
-9
-26
-58
-1
-14
0
1
0
0
0
0
0
0
0
4
-8
-4
14
-54
-7
-12
2
2
0
0
0
0
0
0
0
0
-8
1
-44
13
13
11
6
3
0
0
0
0
0
0
0
0
0
0
-1
29
-36
-25
-3
3
8
0
1
0
0
0
0
0
0
0
0
0
13
0
0
10
4
0
0
0
0
0
0
0
0
0
0
0
0
1
46
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
-21
-22
-2
-4
38
0
49
-2
0
0
0
0
0
0
0
7
1
16
1
-2
-55
-15
20
65
-4
0
0
0
0
0
0
9
2
18
-12
16
-3
31
21
-4
-39
41
1
0
0
0
0
0
-6
-9
25
-8
-26
-12
-20
-6
-32
-1
-2
0
0
0
0
0
0
0
3
-4
10
43
11
9
-9
7
3
0
0
0
0
0
0
0
0
0
8
-3
-8
3
7
26
0
4
1
0
0
0
0
0
0
3
-1
3
1
-16
12
-2
13
0
1
-1
0
0
0
0
0
0
0
0
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
-4
-1
-1
3
-1
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
18
0
2
0
0
0
0
0
0
0
0
0
0
1
2
-1
7
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-8
0
-1
-2
-1
0
0
0
0
0
0
-1
0
0
-1
11
0
8
-3
22
-15
3
0
0
0
0
0
0
1
0
-1
-1
-3
2
4
1
1
0
-1
0
0
0
0
0
0
0
0
-6
-1
-4
16
-24
29
-1
0
0
0
0
0
0
0
0
0
0
1
0
-2
-4
-4
9
20
-1
4
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-12
-11
1
0
0
0
0
0
0
0
0
2
0
0
0
-3
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
13
41
-19
25
-4
-1
0
0
0
0
0
0
0
0
0
0
-1
6
-42
14
14
8
0
0
0
0
0
0
0
0
0
0
0
0
2
21
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
-6
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
21
11
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
9
-7
0
0
0
0
0
0
0
0
0
0
0
0
19
-28
-6
0
18
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
12
6
-10
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
6
-4
-4
3
-28
-2
0
0
0
0
0
0
0
0
0
0
0
1
1
-28
-10
-2
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-9
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
3
40
-7
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
37
1
1
-4
-1
0
0
0
0
0
0
0
0
0
0
4
8
46
26
-28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
-3
1
0
0
0
0
0
0
0
0
0
-1
10
0
0
0
-35
1
0
0
0
0
0
0
0
1
1
0
0
10
21
7
-47
1
4
0
0
0
0
0
0
0
0
0
0
0
10
22
6
-25
0
0
0
0
0
0
0
0
0
0
0
-1
4
-11
22
-6
15
0
0
0
0
0
0
0
0
0
0
0
-2
25
-3
24
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
26
1
23
15
-16
0
0
0
0
0
0
0
0
0
0
0
-6
-10
17
-30
31
41
10
0
0
0
0
0
0
0
0
0
0
-19
-41
31
-3
-38
-10
-2
4
0
0
0
0
0
0
0
0
0
28
5
-24
12
11
-1
-26
32
1
0
0
0
0
0
0
0
0
45
-16
-27
11
14
-20
6
16
1
-1
0
0
0
0
0
0
0
24
-8
16
10
-21
-9
13
2
2
0
0
0
0
0
0
0
0
8
-3
35
11
0
17
-3
2
0
0
0
0
0
0
0
0
0
-1
8
-30
6
0
7
-1
0
2
0
0
0
0
0
0
0
0
0
0
-1
9
-1
-1
-2
0
0
0
0
0
0
0
0
0
0
-1
21
16
35
-19
2
40
0
0
0
-4
2
0
0
0
0
0
-4
-1
-48
107
25
-3
-22
0
0
63
15
3
0
0
0
0
0
16
35
24
36
-20
22
18
19
10
-2
-12
-1
0
0
0
0
0
-8
-40
-50
-8
-28
10
-8
-22
65
0
10
0
0
0
0
0
0
3
-39
-7
-2
24
4
-21
-3
-13
-8
0
0
0
0
0
0
0
1
18
-8
-38
-14
27
-4
10
8
-2
0
0
0
0
0
0
0
0
11
-12
9
46
25
0
-3
-6
0
0
0
0
0
0
0
0
0
0
-2
1
-2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
40
-51
34
15
-2
0
0
-9
-6
2
0
0
0
0
0
-2
-3
-22
-62
10
11
29
-19
57
11
22
-1
0
0
0
0
0
8
-14
-54
-5
66
18
-52
-45
-12
29
10
-1
0
0
0
0
0
-6
-18
14
27
43
-3
-22
10
-7
24
24
0
0
0
0
0
0
-4
-21
46
-82
21
52
-13
-11
4
-6
8
0
0
0
0
0
0
4
9
12
-61
-5
-3
39
9
-4
7
1
0
0
0
0
0
0
10
-17
-33
-3
-10
37
-46
11
-34
9
0
0
0
0
0
0
0
0
-24
36
18
-37
12
58
12
4
1
0
0
0
0
0
0
0
0
0
-35
-14
17
19
-3
-3
1
0
0
0
0
0
0
0
0
8
-4
-2
-28
5
-8
-6
0
0
-1
0
0
0
0
0
0
0
3
37
-13
-30
-9
10
19
9
-1
0
0
0
0
0
0
0
0
-1
8
-16
-13
6
20
-4
-6
0
0
0
0
0
0
0
0
0
33
48
-40
11
6
6
-14
-12
8
0
0
0
0
0
0
0
0
19
25
0
-13
15
-18
-13
4
-8
-1
0
0
0
0
0
0
0
-55
14
-30
7
-16
-9
-1
-3
6
0
0
0
0
0
0
0
0
-4
14
4
-14
-42
24
0
1
0
0
0
0
0
0
0
0
0
21
-6
24
14
-19
24
-1
0
0
0
0
0
0
0
0
0
0
-14
38
31
25
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
-25
-39
42
30
0
46
-47
0
0
0
0
0
0
0
0
0
-8
-3
-30
-17
48
-6
0
20
-10
6
0
0
0
0
0
0
0
8
-8
-3
-7
-11
27
64
21
-13
1
0
0
0
0
0
0
0
0
8
16
-5
-16
49
26
-25
-9
0
0
0
0
0
0
0
0
-18
-11
1
32
-2
-19
29
-10
0
0
0
0
0
0
0
0
0
-6
-13
-40
24
13
0
9
0
-1
0
0
0
0
0
0
0
0
32
-1
51
-3
-2
-6
11
2
-1
0
0
0
0
0
0
0
0
41
-15
10
1
16
4
-1
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
1
3
-19
-3
-11
-9
12
0
0
0
-8
0
0
0
0
0
0
9
32
-15
-20
-14
-48
31
0
10
0
5
2
0
0
0
0
0
-4
-30
-6
69
-31
-12
24
40
42
-42
-7
24
-1
0
0
0
0
-12
-46
-10
-29
-7
-61
-41
36
25
-12
25
0
0
0
0
0
0
-3
-22
-14
-3
-13
-8
-5
12
33
-3
7
0
0
0
0
0
0
3
9
32
40
65
6
1
1
0
0
0
1
0
0
0
0
0
0
-4
-18
0
-2
2
13
0
4
0
0
0
0
0
0
0
0
0
-7
1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-1
0
0
-10
0
0
0
0
0
0
0
0
0
0
-2
-12
6
10
0
-25
0
1
2
0
0
0
0
0
0
0
-1
-1
2
-3
-1
6
9
-29
-2
0
0
0
0
0
0
0
0
0
1
16
-12
75
19
-2
4
0
0
0
0
0
0
0
-1
-1
2
-1
-9
-1
-1
7
0
0
0
0
0
0
0
0
0
0
-1
6
0
16
12
10
0
0
0
0
0
0
0
0
0
0
0
0
-2
29
0
4
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-22
-83
15
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
40
-1
5
12
13
7
0
37
3
0
0
0
0
0
0
0
-4
-18
7
-15
0
-2
11
0
-10
-1
0
0
0
0
0
0
0
3
1
22
19
0
1
4
1
21
0
0
0
0
0
0
0
0
-25
2
10
17
3
-1
-14
-36
-3
0
0
0
0
0
0
0
0
10
-15
-2
-8
-1
6
-10
16
0
0
0
0
0
0
0
0
0
-27
-22
20
3
-11
6
0
16
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
9
-6
-10
1
0
-1
0
0
0
0
0
0
0
0
0
1
-11
11
11
4
8
11
0
-1
0
0
0
0
0
0
0
0
-1
-15
13
25
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-40
-2
11
-6
1
0
0
0
0
0
0
0
0
0
0
0
-6
49
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-27
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-22
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
22
0
9
0
1
1
0
0
0
0
0
0
0
0
0
-2
0
38
-3
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
21
-11
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-9
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
-7
-9
1
-3
4
-4
1
2
0
0
0
0
0
0
0
0
0
4
16
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
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
-7
3
18
26
4
-22
102
0
-34
-24
9
0
0
0
0
0
-1
-25
-5
-41
30
1
33
62
13
13
-34
1
-8
0
0
0
0
-1
0
3
-7
5
14
67
-9
-34
-47
37
3
1
-2
0
0
0
3
3
-7
12
15
28
-2
-18
-6
-19
-13
-1
-1
0
0
0
0
0
0
1
-3
-12
1
-10
-15
6
-27
-1
0
0
0
0
0
0
0
0
0
-16
-2
0
2
-17
1
-13
0
0
0
0
0
0
0
0
0
0
1
0
0
3
-3
-21
6
-2
2
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
-24
-11
82
20
0
-12
-22
-2
0
0
0
0
0
0
0
-29
82
6
-24
3
-6
46
-33
-13
-35
12
-1
0
0
0
0
-1
8
-38
-52
15
84
-15
26
-47
-8
-3
4
-2
0
0
0
0
18
-24
-58
8
-84
28
-34
3
12
18
20
2
-4
0
0
0
0
0
-3
10
-30
8
-27
-8
24
20
4
-10
10
4
0
0
0
0
0
0
-24
9
11
-21
-12
-25
22
3
1
4
-2
0
0
0
0
0
8
-9
11
-53
-4
-47
-10
-29
9
3
-1
2
0
0
0
0
0
0
0
34
-30
27
-18
3
36
-3
8
0
0
0
0
0
0
0
0
0
9
-28
28
5
50
-6
-4
0
0
0
0
0
0
0
0
-1
0
-3
7
21
-25
0
54
-29
9
0
0
0
0
0
0
0
0
3
16
-8
13
-39
28
17
38
-9
-5
0
0
0
0
0
0
0
2
2
15
-13
-24
16
6
-4
-36
10
3
0
0
0
0
0
0
4
0
12
0
-9
-23
11
-22
2
-9
2
0
0
0
0
0
0
0
-2
2
-6
2
-11
23
-10
-8
2
-7
0
-1
0
0
0
0
0
0
-1
4
-4
40
-16
22
-32
-8
0
0
0
0
0
0
0
0
-2
-2
1
6
5
39
4
-22
19
-10
1
0
0
0
0
0
0
0
-24
-1
-13
21
33
0
11
5
0
-1
0
0
0
0
0
0
0
0
2
-10
-25
-7
-4
4
-2
0
0
0
0
0
0
1
-2
-2
13
-5
-22
0
-20
0
-4
0
0
0
0
0
0
0
2
9
15
-17
-30
-2
-20
-2
82
-3
7
0
0
0
0
0
0
0
-2
19
-3
-14
-7
-40
8
-4
20
1
0
0
0
0
0
0
-1
6
29
3
-17
-3
13
22
-6
7
3
0
1
0
0
0
0
0
0
28
7
-1
-25
19
39
9
0
0
0
0
0
0
0
0
0
6
15
-29
-20
25
-6
-20
3
-3
0
0
0
0
0
0
0
0
3
-3
-9
9
-5
0
-31
7
11
-1
0
0
0
0
0
0
0
0
2
0
2
-13
6
1
-4
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
-1
0
0
0
0
0
0
0
0
0
-4
1
16
-2
7
-34
-39
0
-9
-11
-1
0
0
0
0
0
-3
39
18
23
7
-7
-63
20
25
20
-10
25
0
0
0
0
0
8
8
-7
-37
-1
38
4
-57
-12
-30
3
4
1
-1
0
0
0
0
0
1
1
0
28
-15
-16
-29
7
-15
0
2
0
0
0
0
0
-1
-3
-7
-2
-16
-36
-2
20
-6
8
-1
0
-2
0
0
0
0
-1
3
2
0
-4
-18
37
-12
0
-9
0
0
0
0
0
0
0
0
0
-1
0
-7
-13
-8
27
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
-7
-1
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-15
9
-2
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
-2
-1
0
0
0
0
0
0
0
0
0
-2
-4
2
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
0
18
0
3
9
6
0
0
0
0
0
0
2
0
3
-3
1
10
4
5
-10
0
1
0
0
0
0
0
0
1
0
0
1
2
7
-2
21
-12
0
0
0
0
0
0
0
0
0
-2
0
0
-4
7
-25
-9
-13
4
0
0
0
0
0
0
0
0
-1
0
0
-7
2
-18
2
-7
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
11
-20
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
9
-19
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
20
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
-15
12
2
-1
0
0
0
0
0
0
0
0
0
0
-19
12
35
11
0
-2
0
0
0
0
0
0
0
0
0
0
0
-7
-11
44
-13
4
0
0
0
0
0
0
0
0
0
0
0
1
-4
-16
-28
8
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-27
-40
-19
-1
-1
0
0
0
0
0
0
0
0
0
0
0
8
-2
3
-27
2
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
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
20
3
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
-37
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-15
28
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
60
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
23
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-15
7
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
1
0
-9
-27
33
-2
0
1
0
0
0
0
0
0
0
0
0
4
-2
-1
-8
-20
16
-2
0
0
0
0
0
0
0
0
0
1
0
-1
1
-4
-18
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
6
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-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
-7
0
1
0
0
0
0
0
0
0
0
0
1
8
0
0
0
0
13
0
-1
0
0
0
0
0
0
0
0
-1
8
17
8
5
0
6
1
-1
0
0
0
0
0
0
0
-1
0
-13
8
-20
-15
-3
0
0
0
0
0
0
0
0
0
0
1
0
-8
-4
32
-41
-3
-1
0
0
0
0
0
0
0
0
0
0
0
3
-10
6
-2
8
2
0
0
0
0
0
0
0
0
0
0
0
-4
-1
33
9
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
6
1
-28
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
1
0
0
0
0
0
0
0
-2
-1
-40
18
-13
-14
1
0
0
0
0
0
0
0
0
0
0
-8
-49
-10
0
14
-23
19
0
0
0
0
0
0
0
0
0
0
-7
14
-18
-18
-10
-7
-6
-3
0
0
0
0
0
0
0
0
0
20
-10
-9
-10
28
-4
17
1
0
1
0
0
0
0
0
0
0
9
14
3
10
11
-10
7
8
0
1
0
0
0
0
0
0
0
1
-24
13
-15
2
0
19
-2
0
0
0
0
0
0
0
0
0
0
-18
-4
27
-10
3
-4
-1
1
0
0
0
0
0
0
0
0
0
2
-4
10
1
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
-2
12
-6
-55
-8
8
4
0
0
0
-11
2
0
0
0
0
0
-1
16
-19
-27
7
18
1
0
0
39
-8
0
-1
1
0
0
0
-5
-5
13
6
-28
-43
21
5
35
24
0
0
2
0
0
0
0
11
-50
-48
0
-28
-12
-2
56
-1
7
10
0
0
0
0
0
0
-3
-40
-6
-6
-24
7
-2
1
-27
6
-1
0
0
0
0
0
0
0
-13
-9
10
24
-10
0
-3
-4
1
4
3
0
0
0
0
0
0
6
1
6
1
10
10
-13
-10
0
0
0
0
0
0
0
0
0
0
0
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
1
-53
-1
-27
-45
70
0
0
-29
1
0
0
0
0
0
0
-22
4
6
25
-40
22
45
45
-13
0
11
-3
0
0
0
0
0
2
-9
-49
25
-14
70
99
36
17
12
-6
3
-1
0
0
0
0
-7
-55
-3
0
-43
0
-58
-8
1
34
18
0
0
0
0
0
0
-1
-3
36
8
-27
-10
32
-5
47
-28
2
2
0
0
0
0
0
0
-10
3
-33
-16
-15
48
-34
8
-8
1
1
-1
0
0
0
0
0
0
-11
-40
-57
22
30
-7
2
22
11
0
0
0
0
0
0
0
0
-11
26
7
-29
10
11
2
8
0
0
0
0
0
0
0
0
0
-10
24
-3
-47
1
1
1
0
0
0
0
0
0
0
0
-11
27
21
-6
16
-1
16
0
0
0
0
0
0
0
0
0
0
-1
-19
33
15
-25
26
30
-4
3
-1
0
0
0
0
0
0
0
18
1
-2
-6
27
-44
4
4
-1
0
0
0
0
0
0
0
0
0
-19
-4
9
12
4
-5
-2
1
0
0
0
0
0
0
0
0
0
0
15
2
-7
7
3
0
-1
0
0
0
0
0
0
0
0
0
0
6
-3
-10
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
1
-10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
6
42
10
-10
3
-42
15
14
0
2
0
0
0
0
0
0
0
45
-55
-53
-28
-54
2
0
7
15
0
-2
0
0
0
0
0
0
16
0
39
-24
14
55
41
13
12
4
0
0
0
0
0
0
0
7
-24
-32
-9
8
8
-16
15
0
1
1
0
0
0
0
0
0
-21
-10
-10
0
-26
7
4
-20
-1
1
0
0
0
0
0
0
0
0
-4
-23
25
-3
6
-11
9
0
0
0
0
0
0
0
0
0
-1
-16
-10
6
15
7
-1
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
4
36
-40
-26
62
0
0
3
4
6
0
0
0
0
0
11
-14
42
-9
10
-32
49
0
17
0
-6
0
-1
0
0
0
0
21
-46
-65
-17
-11
76
-11
-3
-16
-13
1
0
0
0
0
0
0
-12
-50
23
14
19
-42
25
-37
34
-30
-16
0
-2
0
0
0
0
3
-25
36
24
-35
4
-1
-45
4
10
3
2
0
0
0
0
0
0
-6
-8
-26
5
-53
6
-3
-10
-8
-1
0
0
0
0
0
0
0
0
29
8
20
-10
22
9
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-6
7
3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
-1
0
-1
0
0
0
0
0
0
0
-1
0
0
-18
-12
11
-7
0
2
0
-7
0
0
0
0
0
0
0
-2
0
-10
11
1
-18
-4
9
-6
0
-4
0
0
0
0
0
0
-2
-2
4
-8
-24
2
6
3
-1
0
0
0
0
0
0
0
0
0
2
-2
24
-11
-37
2
1
-1
0
0
0
0
0
0
0
0
0
2
4
-2
21
0
-8
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
7
4
2
10
2
0
0
0
0
0
0
0
0
0
0
0
16
-12
2
12
7
8
27
0
0
6
0
0
0
0
0
0
0
-9
10
-3
-12
-5
3
12
11
12
0
0
0
0
0
0
0
0
11
-4
-7
15
-7
-10
0
12
-3
-1
0
0
0
0
0
0
1
-6
24
0
1
2
1
1
9
11
-1
1
0
0
0
0
0
0
-7
1
-7
-3
8
0
-19
-18
4
0
0
0
0
0
0
0
0
0
1
-4
-6
-2
-3
0
-36
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
-9
7
2
-9
-2
-1
0
-1
0
0
0
0
0
0
0
0
10
8
6
0
11
0
0
0
1
0
0
0
0
0
0
0
0
8
1
-8
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
14
50
1
1
0
0
0
0
0
0
0
0
0
0
0
1
2
-27
-29
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
9
13
1
0
0
0
0
0
0
0
0
0
0
0
-1
7
1
-2
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
-4
-2
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
-8
-2
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
1
0
0
0
1
0
0
0
0
0
0
0
0
0
7
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-25
29
-29
-43
0
8
-14
3
0
0
0
0
0
0
8
11
6
3
37
19
24
23
31
2
9
0
0
0
0
0
0
17
7
-2
11
-8
28
-41
3
-6
16
-3
0
0
0
0
0
0
3
-4
2
11
12
8
-19
-32
-21
-25
-6
1
0
0
0
0
0
0
-2
9
-2
-6
18
42
21
-15
-6
0
0
0
0
0
0
0
0
0
-2
6
-9
-4
37
9
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-14
29
-40
47
0
31
11
12
11
1
0
0
0
0
0
2
10
-14
70
-44
2
11
33
12
20
-7
0
0
0
0
0
0
-3
-12
26
-42
49
-46
24
-74
-22
9
5
-4
0
0
0
0
0
6
36
9
-17
66
53
26
40
25
40
-2
-1
0
0
0
0
0
-11
-38
7
-62
12
-19
-25
16
-17
0
3
0
0
0
0
0
0
0
-38
-39
-23
13
29
23
17
-3
1
0
-1
0
0
0
0
0
0
43
-18
-24
-19
2
26
4
-3
2
0
0
0
0
0
0
0
11
9
-26
2
17
117
-20
-3
12
0
1
0
0
0
0
0
0
0
0
4
47
7
6
-33
14
-1
0
0
0
0
0
0
0
0
0
-2
-2
10
-13
-9
0
48
-20
-20
0
0
0
0
0
0
0
0
-2
33
-8
-8
-43
8
50
2
0
0
0
0
0
0
0
0
0
3
-15
-13
7
-28
-33
-5
3
-1
0
0
0
0
0
0
0
-7
0
30
9
0
-5
-13
28
-3
0
0
0
0
0
0
0
0
0
1
0
4
0
4
-6
0
-2
1
0
0
0
0
0
0
0
0
0
19
6
-10
-3
17
4
0
0
1
0
0
0
0
0
0
0
0
10
8
9
0
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
-28
-3
-28
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-9
1
0
0
0
0
0
0
0
0
0
0
0
1
14
22
39
-3
0
23
-33
53
6
0
0
0
0
0
0
0
16
-18
0
-30
-2
32
-17
13
-17
-3
1
0
0
0
0
0
0
-46
15
4
-37
-14
-14
0
-9
1
0
0
0
0
0
0
0
0
2
14
-3
31
37
-19
-3
0
1
0
0
0
0
0
0
0
-4
8
9
-7
-9
44
-22
-11
0
0
0
0
0
0
0
0
0
0
1
5
38
12
-35
-21
-2
0
0
0
0
0
0
0
0
0
0
2
16
23
8
-9
9
-2
0
0
0
0
0
0
0
0
0
0
-2
6
12
0
-12
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
-1
0
-1
-4
3
-56
2
40
0
-22
17
-3
0
0
0
0
0
-4
0
-16
10
-9
8
22
17
72
49
-8
-6
-1
0
0
0
0
0
-2
-7
-6
21
9
21
23
44
-16
1
0
-1
0
0
0
0
0
0
23
-8
1
-15
18
-28
10
12
0
0
0
0
0
0
0
0
0
-4
3
-15
11
-9
21
-2
0
0
-1
0
0
0
0
0
0
8
0
1
37
12
-7
10
7
0
0
0
0
0
0
0
0
0
0
0
10
0
-27
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
13
1
2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
19
0
8
-5
-1
0
0
0
0
0
0
0
0
-1
0
-26
-1
-6
16
67
-8
0
0
0
0
0
0
0
1
0
0
2
1
0
6
30
19
9
0
0
0
0
0
0
0
0
0
0
-3
0
-15
15
11
-2
-11
0
0
0
0
0
0
0
0
0
0
0
-4
-18
-1
-16
-25
0
0
0
0
0
0
0
0
0
0
0
-12
-4
-6
-7
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
1
-1
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
2
14
0
-1
0
0
0
0
0
0
0
0
0
0
19
41
-5
24
-9
8
0
0
0
0
0
0
0
0
0
0
0
-3
47
16
-11
6
-1
0
0
0
0
0
0
0
0
0
0
0
-4
29
-20
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-14
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
21
6
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-17
8
9
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
21
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
32
41
1
7
0
0
0
0
0
0
0
0
0
0
0
-8
34
-10
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
6
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
-10
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
-1
-2
1
-8
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-6
15
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-19
-1
-9
0
1
0
0
0
0
0
0
0
0
0
-3
17
13
13
-21
-2
0
0
0
0
0
0
0
0
0
4
1
0
0
22
30
0
0
0
0
0
0
0
0
0
0
0
1
9
0
-1
-40
-13
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
-4
30
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
-2
-5
50
7
-33
-6
-1
0
0
0
0
0
0
0
0
0
0
-13
5
-25
14
5
18
-4
0
0
0
0
0
0
0
0
0
0
-2
-4
-23
57
0
7
0
0
0
0
0
0
0
0
0
0
0
4
2
-15
11
-8
-1
11
4
10
-1
0
0
0
0
0
0
0
0
43
-5
-18
-1
-22
18
-1
2
0
0
0
0
0
0
0
0
-1
-25
-11
-4
20
21
-21
-10
0
0
-1
0
0
0
0
0
0
0
24
-7
-22
4
-11
7
-3
1
1
0
0
0
0
0
0
0
0
0
5
22
-10
2
4
-4
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
-19
3
-26
-7
7
23
0
0
0
8
-2
0
0
0
0
0
1
-10
-23
10
18
-2
15
0
0
29
20
3
-2
0
0
0
0
2
36
-2
22
30
19
35
0
-20
-12
-4
-8
0
0
0
0
0
2
-13
5
4
23
9
-2
-26
6
-3
3
0
0
0
0
0
0
0
15
39
-8
12
-16
-23
-19
-30
13
1
1
0
0
0
0
0
0
-29
0
23
7
-17
42
2
-10
9
-13
0
0
0
0
0
0
0
3
1
21
-9
26
-28
-1
0
0
0
0
0
0
0
0
0
0
0
-11
-1
-15
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-51
24
-9
-18
-2
0
0
20
8
1
0
0
0
0
0
0
4
2
7
5
-7
-2
13
-9
19
2
2
0
0
0
0
0
0
-17
-17
-25
36
-32
-35
15
-46
-7
-1
0
0
0
0
0
0
0
0
-35
51
6
-22
-54
-23
52
-29
-5
0
0
0
0
0
0
0
-9
16
38
-52
-51
-30
31
35
7
4
1
0
0
0
0
0
-1
-5
-23
-4
93
-82
-39
39
13
9
-6
0
0
0
0
0
0
0
-18
-15
-10
42
-42
22
14
-9
0
-10
-2
0
0
0
0
0
0
0
-13
68
48
9
1
-21
-7
-4
0
0
0
0
0
0
0
0
0
35
-5
-60
4
23
-32
3
0
0
0
0
0
0
0
0
-18
-19
-9
-25
22
27
28
0
0
0
0
0
0
0
0
0
0
-23
-40
-8
24
12
26
0
0
4
0
0
0
0
0
0
0
0
31
-12
34
38
-30
24
0
0
11
0
0
0
0
0
0
0
0
0
-18
-18
2
7
2
28
2
-3
0
0
0
0
0
0
0
0
-9
-21
-9
-19
0
6
-8
-1
-7
0
0
0
0
0
0
0
0
9
17
23
0
-1
-22
-7
1
0
0
0
0
0
0
0
0
0
16
-34
-11
2
-8
27
-1
0
0
0
0
0
0
0
0
0
0
26
14
20
10
-52
14
1
8
0
4
0
0
0
0
0
0
0
0
-8
-20
-27
-12
13
1
0
0
0
0
0
0
0
0
0
0
4
13
26
0
41
-6
-17
-8
0
-1
0
0
0
0
0
0
0
-17
-7
1
-16
27
-12
0
6
5
7
-1
0
0
0
0
0
0
2
13
-1
-10
1
-32
-11
-3
1
1
0
0
0
0
0
0
0
6
-13
-36
-1
24
-1
-3
-1
-15
-2
0
0
0
0
0
0
0
-1
-14
26
-4
7
27
-1
26
1
0
0
0
0
0
0
0
0
-10
-24
3
42
-13
-33
2
-8
-1
0
0
0
0
0
0
0
0
2
3
38
71
-8
2
-4
-10
-1
0
0
0
0
0
0
0
0
27
0
-14
-5
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
15
-35
1
-2
8
0
0
7
16
-8
0
0
0
0
0
-1
12
-14
1
51
9
43
0
18
0
27
-6
0
0
0
0
0
1
-2
-8
74
-5
-41
-10
17
6
-14
-33
3
0
0
0
0
0
-1
-3
22
2
-5
-18
1
-4
-16
18
-8
0
0
0
0
0
0
0
-7
4
9
19
9
-2
-18
-35
0
0
4
0
0
0
0
0
0
9
-9
-9
29
75
14
-10
-1
-1
0
0
0
0
0
0
0
0
-3
6
30
39
-6
25
-3
0
1
0
0
0
0
0
0
0
0
0
0
-10
25
-3
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
0
1
0
2
-4
0
0
0
0
0
0
0
0
0
0
1
10
1
0
0
0
-3
-2
0
0
0
0
0
0
-1
2
-16
1
-1
0
6
-3
34
-4
-1
0
0
0
0
0
0
0
2
-1
-16
8
12
8
3
-18
-1
0
0
0
0
0
0
0
-3
0
3
21
58
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
6
4
20
10
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
-1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
16
-7
1
-6
1
0
0
0
1
1
0
0
0
0
0
0
-6
16
-8
-9
2
0
0
0
-16
-12
1
-1
0
0
0
0
0
-15
10
9
6
-3
0
1
-3
-16
-1
0
0
0
0
0
0
0
-1
6
2
-2
0
0
-4
18
-6
-1
0
0
0
0
0
0
0
-6
-7
11
0
0
3
19
3
3
0
0
0
0
0
0
0
0
4
3
0
16
-16
6
21
-20
-13
0
0
0
0
0
0
0
0
2
3
-2
-4
0
9
-2
18
2
0
0
0
0
0
0
0
0
0
-2
18
6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
-3
-13
29
-13
-4
21
3
0
1
0
0
0
0
0
0
0
-2
-3
-9
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
13
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
9
-19
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
1
2
3
6
1
0
0
0
1
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
2
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-1
0
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
8
2
55
0
32
-28
21
0
0
0
0
0
-2
1
-8
6
-8
6
-17
83
19
19
-1
4
-3
0
0
0
0
0
9
-3
20
-2
-9
26
8
-32
-2
11
8
4
0
0
0
0
0
-3
11
0
-20
-13
6
-46
-23
-19
6
0
-1
0
0
0
0
0
0
0
9
-1
15
3
-9
-18
4
-1
3
0
0
0
0
0
0
0
0
4
0
0
2
-13
-8
15
-1
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-20
64
52
-35
0
8
3
3
-9
-1
0
0
0
0
0
2
22
-5
-61
11
74
9
35
-9
23
25
4
-2
0
0
0
0
3
0
-17
38
106
92
58
-18
-24
6
-8
8
0
0
0
0
0
-1
-26
-56
-24
30
8
1
32
-15
0
-11
4
0
0
0
0
0
-10
-11
-60
29
-38
8
-35
40
10
13
1
8
2
0
0
0
0
0
0
-19
-32
-20
24
-1
20
-18
-20
-10
-1
0
0
0
0
0
0
-2
13
-6
7
-14
5
11
6
13
-1
-1
0
0
0
0
0
0
0
-6
-19
10
-11
29
-6
-4
-2
0
0
0
0
0
0
0
0
0
0
-9
29
50
2
-11
0
0
0
0
0
0
0
0
0
0
2
1
3
0
4
0
-13
19
19
-26
0
-1
0
0
0
0
-2
0
6
-6
9
-29
-8
-25
17
11
15
-2
0
0
0
0
0
0
-7
-11
-3
-26
0
26
-7
0
6
-5
5
0
0
0
0
0
1
-2
-5
-1
17
-17
3
40
-18
-1
-5
-25
0
0
0
0
0
0
-2
3
2
1
-2
-28
-17
25
-9
-7
-14
0
0
0
0
0
0
0
0
1
-2
-3
21
-34
29
-26
4
1
6
0
0
0
0
0
0
0
0
0
-6
-7
2
-34
11
-8
0
0
-1
0
0
0
0
0
0
0
1
2
16
25
22
-7
18
9
0
0
-1
0
0
0
0
0
0
1
25
1
23
-26
11
14
0
1
-1
0
0
0
0
6
-2
-24
21
55
0
20
-5
21
9
3
0
0
0
0
0
0
-13
9
-50
79
12
75
1
12
5
-12
-7
1
0
0
0
0
0
27
0
46
-3
-27
20
-5
-3
-42
13
8
0
0
0
0
0
0
12
-1
30
2
-25
-14
-53
-16
0
0
1
0
0
0
0
0
0
1
13
-9
-6
-21
-69
22
-4
6
0
0
1
0
0
0
0
0
4
-1
-1
-1
-14
2
12
29
9
20
0
0
0
0
0
0
0
0
0
-4
56
0
-25
-1
-25
-28
-2
7
0
0
0
0
0
0
0
0
0
0
-4
-7
1
11
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
2
-4
-9
-36
-14
0
13
3
-3
0
0
0
0
0
0
-10
2
-11
-13
28
40
-39
23
13
-3
0
-10
0
0
0
0
0
8
-1
3
-10
-19
10
74
-22
3
-7
1
-1
-1
0
0
0
0
0
-27
0
16
36
6
-18
6
-9
1
0
0
0
0
0
0
0
0
-2
4
-9
-3
1
7
2
-1
6
0
0
0
0
0
0
0
0
1
0
0
4
-3
-7
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-3
-19
3
-1
2
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
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
-23
0
-14
1
-3
0
0
0
0
0
0
0
0
0
0
-2
-12
22
32
12
11
-1
-2
0
0
0
0
0
0
0
0
0
-3
-10
5
15
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-18
5
-4
0
1
0
0
0
0
0
0
0
0
1
-1
6
-12
-18
21
3
1
0
0
0
0
0
0
0
0
0
-1
-1
0
-2
-26
-13
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-1
12
4
0
0
0
0
0
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
-28
0
0
-1
6
-3
0
0
0
0
0
0
0
0
0
0
0
14
-8
35
-1
0
-3
2
0
0
0
0
0
0
0
0
0
0
13
-10
-25
28
7
0
0
0
0
0
0
0
0
0
0
0
0
9
-13
-11
16
-11
0
0
0
0
0
0
0
0
0
0
0
0
-16
3
5
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
-43
15
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
28
21
-7
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-16
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
16
-29
11
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
4
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-9
-1
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
-2
-6
6
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
3
-2
3
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-17
12
12
1
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
0
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
-1
1
8
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
-1
-2
12
15
0
1
0
0
0
0
0
0
0
0
0
0
0
4
26
14
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
12
-17
-6
2
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-12
2
-5
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
10
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
29
7
21
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
-7
1
0
0
0
0
0
0
-24
81
17
32
30
-3
1
0
0
0
0
0
0
0
0
0
0
1
-1
52
-26
-2
5
2
0
0
0
0
0
0
0
0
0
0
-1
-8
-11
-17
5
3
-8
-2
0
0
0
0
0
0
0
0
0
0
-4
0
6
-1
7
-7
-3
3
0
0
0
0
0
0
0
0
0
-1
-2
-9
1
-7
-6
-1
4
1
0
0
0
0
0
0
0
0
0
0
-7
-3
-1
2
0
-1
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
-14
24
0
0
14
0
0
0
-1
-2
1
0
0
0
0
-4
-20
8
-7
29
18
61
0
0
4
-3
8
-1
0
0
0
0
-1
-1
-6
-21
-3
-28
16
-63
-15
0
6
-4
-1
0
0
0
0
2
-6
-10
-25
28
-36
19
-22
4
-9
-9
1
0
0
0
0
0
0
1
-1
6
-24
2
-8
6
4
-8
4
0
1
0
0
0
0
0
0
-4
1
-12
0
0
-1
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
28
1
44
13
0
0
3
-2
-1
0
0
0
0
0
0
-3
-90
23
29
-24
63
38
-13
-6
-3
1
0
0
0
0
0
0
-12
25
26
-60
-31
-17
-70
-6
-7
2
0
-1
0
0
0
0
0
3
-19
-44
36
-45
11
-64
-23
-8
-4
1
-1
0
0
0
0
0
2
-17
43
31
-8
29
13
8
1
18
-3
0
0
0
0
0
0
0
-1
-25
-23
35
-21
12
0
-9
7
-1
0
0
0
0
0
0
0
-9
-23
82
16
33
-9
-3
13
-1
0
0
0
0
0
0
0
0
-3
42
1
2
-6
-5
0
2
3
0
0
0
0
0
0
0
0
0
-3
3
-1
0
0
0
0
0
0
0
0
0
0
0
33
-1
-4
-7
13
3
1
0
0
0
0
0
0
0
0
0
0
0
-12
0
22
7
-33
-28
-23
0
0
0
0
0
0
0
0
0
7
-2
4
1
11
5
-21
2
0
0
0
0
0
0
0
0
0
0
-1
1
11
-2
2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
3
-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
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-22
10
10
0
0
0
0
0
0
0
0
0
23
-45
-28
-58
-36
33
0
11
-1
2
0
0
0
0
0
0
0
0
0
8
-24
0
-30
13
-18
-5
1
0
0
0
0
0
0
0
0
0
0
3
-19
52
-1
-7
1
-3
0
0
0
0
0
0
0
0
0
6
2
-21
-24
21
1
-2
0
0
0
0
0
0
0
0
0
0
0
-10
-6
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-19
-27
28
3
-22
0
0
11
-15
3
-4
0
0
0
0
0
26
22
1
-39
42
-39
0
23
0
-1
17
-7
0
0
0
0
0
-11
41
20
61
24
19
-5
30
21
18
-4
0
0
0
0
0
0
1
19
15
26
-35
-7
-18
21
29
10
0
0
0
0
0
0
0
0
-15
6
-9
-29
-27
1
-14
-7
-4
-2
2
0
0
0
0
0
0
1
-20
1
-10
0
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
0
0
-1
0
2
-1
0
0
0
0
0
0
0
-1
-3
2
-7
-10
-10
0
-4
0
0
0
0
0
0
0
0
0
0
0
4
-6
0
-18
-9
11
0
0
0
0
0
0
0
0
0
0
1
4
1
6
8
3
7
0
0
0
1
0
0
0
0
0
0
0
0
8
-12
-7
0
0
-3
2
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
-2
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
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
12
-1
7
-4
-18
3
0
0
0
0
0
0
0
0
0
0
-1
4
0
2
1
1
3
0
3
0
0
0
0
0
0
0
0
0
0
3
0
4
1
-3
-17
2
2
-1
0
0
0
0
0
0
0
0
-1
0
2
0
3
-3
3
-1
0
0
0
0
0
0
0
0
1
1
0
0
2
2
28
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-41
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
-2
-11
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
-2
18
-21
24
9
0
0
0
0
0
0
0
0
0
0
0
0
6
11
41
-33
41
0
0
0
0
0
0
0
0
0
0
0
-2
3
-11
33
-13
9
0
0
0
0
0
0
0
0
0
0
0
3
3
15
-26
-14
-11
0
0
0
0
0
0
0
0
0
0
0
0
-28
-8
8
37
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
32
-13
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-7
-4
-1
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
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
30
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-6
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
6
8
26
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
4
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
0
1
3
0
0
0
0
0
0
0
0
0
-3
4
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-41
-9
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-27
-8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
-6
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
4
6
-6
-2
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
-3
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
13
-14
-23
-16
-15
-5
2
0
0
0
0
0
-2
18
1
0
0
6
-27
1
-39
-5
58
21
0
0
0
0
0
0
0
-18
2
-19
-49
7
1
4
37
-6
-71
0
0
0
0
0
0
-3
19
-30
36
-14
-10
-35
38
-56
-40
7
0
0
0
0
0
-2
0
0
1
-10
-9
20
23
16
-43
12
0
0
0
0
0
0
0
0
6
-12
7
13
-13
-21
-12
-39
12
0
0
0
0
0
0
0
0
0
1
-3
-7
9
13
30
-9
-1
0
0
0
0
0
0
0
0
0
0
-1
0
-12
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
1
2
-5
0
0
62
-26
-42
-74
-22
-6
3
0
0
0
0
0
0
-3
-12
-7
-37
-38
36
19
31
18
3
2
0
0
0
0
0
-1
-1
-20
-18
-46
21
33
28
13
-19
33
2
0
0
0
0
0
0
13
-35
-26
-31
-30
100
-22
-9
31
-6
1
0
0
0
0
0
6
-4
-5
-16
85
4
38
11
-1
18
-27
0
0
0
0
0
0
0
3
7
-9
8
-20
25
104
-4
22
2
0
0
0
0
0
0
0
-3
3
-12
27
7
-34
-6
-21
-16
0
0
0
0
0
0
0
0
0
6
10
-2
-15
25
-58
42
-26
0
0
0
0
0
0
0
0
0
0
0
-4
-20
-2
11
-25
23
0
0
0
0
0
0
0
0
0
0
0
0
3
27
2
32
19
-35
16
0
0
0
0
0
0
0
0
9
9
21
0
-27
11
16
9
1
0
0
0
0
0
0
0
0
6
2
-36
-38
14
-38
-16
-7
0
0
0
0
0
0
0
-1
0
-9
3
-3
44
6
-30
-2
-15
-3
0
0
0
0
0
0
0
0
2
4
32
-1
5
-9
8
-4
0
0
0
0
0
0
0
0
0
1
-1
15
-4
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
4
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-28
19
11
73
-26
9
-1
0
0
0
0
0
0
2
1
4
2
0
42
11
-8
-36
10
-23
0
0
0
0
0
0
0
7
9
-9
53
-5
3
-1
30
9
0
0
0
0
0
0
0
0
0
1
9
28
-7
-13
-4
-1
-4
1
0
0
0
0
0
0
0
0
-2
2
-8
20
-3
-28
-14
-1
0
0
0
0
0
0
0
0
0
0
1
2
-12
17
-10
-7
6
0
0
0
0
0
0
0
0
-1
0
1
-8
-25
-30
-36
-5
0
0
0
0
0
0
0
0
0
0
2
-2
3
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
-7
2
13
-20
16
33
0
0
0
0
0
-1
2
15
0
24
0
24
-33
-14
-5
28
-14
-1
0
0
0
0
0
4
4
0
35
25
31
-26
3
-2
-50
-27
0
0
0
0
0
-1
1
-2
-28
8
8
16
51
-25
-26
61
-15
0
0
0
0
0
0
1
-1
3
2
-16
-23
0
4
-45
-40
1
0
0
0
0
0
0
1
-3
0
6
3
-38
1
-8
2
-15
1
0
0
0
0
0
0
0
-2
-2
12
1
-8
-2
38
-20
3
0
0
0
0
0
0
0
0
0
0
-2
0
-1
-1
8
-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
-1
2
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
1
0
6
1
1
0
1
0
0
0
0
0
0
-11
-6
-1
0
6
0
0
0
3
2
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-12
9
1
0
0
0
0
0
0
0
0
0
0
-1
-8
-11
-13
11
1
0
0
0
0
0
0
0
0
0
0
0
-3
-25
37
20
-17
10
0
0
0
0
0
0
0
0
-1
-3
-3
-2
-4
11
40
-2
0
0
0
0
0
0
0
0
-1
0
0
1
0
-11
-8
3
0
16
0
0
0
0
0
0
0
0
1
1
-2
0
0
1
13
6
0
0
0
0
0
0
0
0
0
0
-7
0
-1
1
-8
-2
-9
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-4
8
-11
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
4
4
17
-9
-11
0
0
0
0
0
0
0
0
0
0
0
0
7
-14
-28
22
0
-1
0
0
0
0
0
0
0
0
0
0
0
15
-6
-3
-21
24
2
0
0
0
0
0
0
0
0
0
0
0
-6
21
-16
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-16
3
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-16
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
-3
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
9
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
-3
-1
0
0
0
0
0
0
0
0
0
-1
0
0
8
7
46
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
2
-12
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
-6
-6
17
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-7
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
18
-13
0
-7
-9
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-12
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
7
15
-1
0
0
0
0
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
-1
0
2
1
0
0
0
0
0
0
0
0
0
0
-1
4
2
-13
-12
-10
-35
-4
0
0
0
0
0
0
0
0
0
0
0
2
10
-7
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
36
8
3
0
0
0
0
0
0
0
0
0
0
0
0
12
41
18
30
-1
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
-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
3
-12
3
-4
-1
0
0
0
0
0
0
0
0
-1
-2
-6
0
4
-12
-20
-6
-9
0
0
0
0
0
0
0
0
0
1
1
4
-19
4
-27
-9
-2
0
0
0
0
0
0
0
0
0
2
0
-2
7
18
-21
-4
1
0
0
0
0
0
0
0
0
0
-7
0
3
7
8
37
3
0
0
0
0
0
0
0
0
0
-1
0
3
11
0
10
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
2
6
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
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
-35
3
15
16
19
-16
0
-3
0
0
0
2
-4
8
-21
16
-18
61
15
-9
12
14
1
-1
2
0
0
0
0
1
0
18
11
13
6
-4
-1
-10
4
28
19
-10
0
0
0
0
0
0
7
-26
2
-42
6
9
18
15
104
19
-1
0
0
0
0
0
2
-15
7
10
-24
-30
16
39
3
18
8
0
0
0
0
0
0
0
-2
4
10
-24
9
7
3
-36
-15
0
0
0
0
0
0
0
0
0
0
-6
2
-21
-15
1
4
-1
0
0
0
0
0
0
0
0
0
0
1
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
21
34
0
-15
22
44
5
34
3
0
0
0
0
0
-2
-4
2
36
-11
69
1
-11
43
-13
35
8
4
0
0
0
0
-1
-2
-10
3
1
27
-4
6
5
-43
21
6
1
0
0
0
0
-1
-1
7
-12
-31
-31
-31
-18
23
30
-27
-2
4
0
0
0
0
0
0
6
-28
-33
-82
-7
81
-50
35
-1
2
0
0
0
0
0
0
-8
-3
-36
1
2
4
-77
15
-23
-10
-2
0
0
0
0
0
0
0
-2
32
17
13
-2
-6
34
-14
-19
-4
0
0
0
0
0
0
0
0
15
5
18
2
-35
31
-4
7
0
0
0
0
0
0
0
0
0
-10
14
-49
27
19
-7
-11
0
0
0
0
0
0
0
0
-1
-3
-3
-14
0
-23
-28
-1
16
8
-1
0
0
0
0
0
1
-1
-27
-15
0
81
-13
-1
-12
10
0
0
0
0
0
0
0
0
17
-1
34
-6
48
16
-10
4
-10
0
0
0
0
0
0
0
15
11
-12
14
-7
-6
6
-8
2
4
7
-2
0
0
0
0
0
-12
12
6
25
-23
-22
-2
-7
1
4
0
0
0
0
0
0
1
-1
5
-24
-4
36
43
1
-13
0
-1
0
0
0
0
0
0
0
30
15
1
8
-4
42
-19
-6
0
0
0
0
0
0
0
0
0
-7
-5
-8
-11
-3
16
-19
0
2
0
0
0
0
0
0
0
0
1
-3
26
25
10
-13
8
-1
0
0
0
0
0
0
0
0
0
0
0
18
3
-37
0
15
-11
22
34
0
0
0
0
0
0
0
0
-2
-2
16
-21
-16
32
-24
63
12
-27
0
0
0
0
0
0
0
0
-13
2
-55
-47
-16
-44
19
12
26
0
0
0
0
0
0
-1
-1
-2
2
1
-4
30
-40
-28
11
10
0
0
0
0
0
0
0
0
9
-2
-7
21
1
-38
-21
32
24
-2
0
0
0
0
0
0
-1
-2
-10
-4
-26
16
-20
10
-22
2
0
0
0
0
0
0
0
-1
27
2
16
-10
-33
-23
10
-1
0
0
0
0
0
0
0
0
0
-2
22
1
18
-16
-9
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-2
4
0
26
-9
13
33
3
21
13
0
0
0
0
0
0
-15
-47
-2
-30
-13
26
36
37
1
-28
24
6
0
0
0
0
0
1
-1
-44
-13
21
33
-32
-40
-10
-47
-5
0
0
0
0
0
-2
0
18
-46
16
6
10
-28
12
47
29
-18
1
0
0
0
0
-1
-2
-7
-29
0
-14
6
20
-42
4
13
-6
0
0
0
0
0
-1
1
0
0
16
25
-2
29
-10
1
13
0
0
0
0
0
0
0
0
0
-8
-9
2
6
-2
7
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
2
0
0
1
0
-1
0
0
0
0
0
0
1
0
-3
1
7
-6
-24
3
0
7
0
0
0
0
0
0
0
0
1
1
-4
11
-7
3
1
-12
3
0
0
0
0
0
0
0
0
2
2
-4
0
14
16
-15
2
1
0
0
0
0
0
0
0
0
0
8
2
8
9
12
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
1
13
-16
4
0
0
0
0
0
0
0
0
0
0
3
8
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-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
-3
-2
4
0
2
8
3
0
0
2
-2
0
0
0
0
0
-4
0
-7
-2
-7
-4
-3
9
0
7
-19
-2
0
0
0
0
0
0
2
0
-19
-16
-29
-7
13
-9
4
15
2
0
0
0
0
0
0
1
2
11
7
-7
28
11
-4
-2
3
-3
1
0
0
0
0
0
-1
-10
29
-9
5
0
16
1
0
19
8
0
0
0
0
0
0
6
1
-37
-1
5
12
6
0
-2
7
0
0
0
0
0
0
1
0
11
-23
-64
-1
-16
6
0
0
0
0
0
0
0
0
0
0
0
4
-8
-34
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
-9
-29
-2
-53
18
0
0
0
0
0
0
0
0
0
0
0
0
-7
-17
5
19
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-12
-7
55
1
0
0
0
0
0
0
0
0
0
0
0
0
0
19
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
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
4
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
2
13
4
21
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
7
0
4
0
1
-1
0
0
0
0
0
0
0
0
0
0
-1
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-1
-3
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
22
3
38
-12
-15
3
0
0
0
0
2
-2
4
-35
0
0
47
42
17
69
3
22
2
0
0
0
0
0
0
0
-26
-61
25
6
41
-13
-27
7
-22
10
0
0
0
0
0
0
0
-8
48
-54
-22
9
-42
-60
8
-4
-2
0
0
0
0
0
0
0
-1
7
-13
10
0
15
1
-26
36
2
0
0
0
0
0
0
0
-1
0
-3
-1
4
19
19
54
5
1
0
0
0
0
0
0
0
0
0
2
0
-1
-12
30
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
-2
-30
-4
-26
57
-4
1
0
0
0
0
0
0
-6
37
49
18
12
11
1
-53
-6
6
0
0
0
0
0
0
0
9
7
31
-62
-10
-54
78
-59
3
-7
15
0
0
0
0
0
1
0
-39
1
-52
33
13
-19
32
-23
8
3
0
0
0
0
0
3
1
-4
26
-5
-52
22
27
-17
-5
47
1
0
0
0
0
0
0
0
2
4
-20
1
20
-32
-8
-15
-26
0
0
0
0
0
0
0
0
-1
-2
11
-13
-14
13
13
4
-6
0
0
0
0
0
0
0
0
0
-2
-2
2
0
56
-12
-17
-1
0
0
0
0
0
0
0
0
0
0
1
-14
12
-14
-4
-18
0
0
0
0
0
0
0
0
0
0
0
0
12
-12
32
-35
-12
8
1
0
0
0
0
0
0
0
0
-4
9
-17
-7
27
-24
-45
29
-26
0
0
0
0
0
0
0
0
-6
-46
6
-5
-7
-46
-12
8
1
0
0
0
0
0
0
0
0
0
2
-18
-7
10
-4
-8
-19
22
0
0
0
0
0
0
0
0
-3
1
15
5
-9
7
-2
-23
17
0
0
0
0
0
0
0
0
-3
6
-8
11
-12
-4
24
44
-40
0
0
0
0
0
0
0
0
0
0
-3
15
11
-4
6
13
15
0
0
0
0
0
0
0
0
0
3
-2
-26
-6
-18
46
18
3
0
0
0
0
0
0
0
0
0
0
1
1
11
-4
16
-34
45
0
0
0
0
0
0
0
-1
0
-3
7
-8
-48
-59
1
23
2
0
0
0
0
0
0
-2
6
15
-8
0
0
-49
-27
15
-21
54
0
0
0
0
0
0
6
-8
0
16
-26
17
2
41
-37
12
0
0
0
0
0
0
0
2
1
3
-12
-26
15
21
-6
5
-22
7
0
0
0
0
0
0
0
0
2
3
-4
17
2
40
10
14
-18
0
0
0
0
0
0
0
0
0
3
12
-2
-16
7
-24
-3
30
0
0
0
0
0
0
0
0
0
-1
-3
6
-8
-4
-21
10
19
0
0
0
0
0
0
0
0
0
0
0
0
4
-19
30
-16
25
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
0
0
0
2
11
-8
0
0
20
-4
-29
9
-24
-4
-10
0
0
0
0
0
0
0
0
-19
0
32
24
15
24
11
51
-9
0
0
0
-1
0
0
16
0
44
51
52
-38
-13
-26
38
-53
-1
0
0
0
0
0
0
4
2
-5
3
-6
-1
-26
15
20
-2
0
0
0
0
0
0
0
0
0
-8
-19
-21
-26
-6
4
32
-4
0
0
0
0
0
0
0
0
0
-1
8
1
-2
13
36
30
-18
0
0
0
0
0
0
0
0
0
0
0
-7
1
-29
20
-24
-4
0
0
0
0
0
0
0
0
0
0
0
1
2
9
-6
-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
3
0
1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-9
-7
10
-4
-4
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
27
-1
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
-33
1
-4
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
0
-1
-1
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
7
0
0
0
0
0
0
0
0
0
3
0
0
8
-6
18
4
4
-40
7
0
0
0
0
0
0
0
0
0
2
6
-21
-7
-16
-24
-21
-2
0
0
0
0
0
0
0
0
2
0
-3
-8
0
-7
21
8
2
0
0
0
0
0
0
0
1
0
0
-1
2
-8
6
-15
4
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
13
-6
-1
0
0
0
0
0
0
0
0
0
0
2
-1
0
-10
-7
8
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
-14
8
6
3
0
0
0
0
0
0
0
0
0
0
0
1
-16
-25
-2
-16
-7
0
0
0
0
0
0
0
0
0
-1
0
1
-10
-21
7
26
1
-8
0
0
0
0
0
0
0
0
0
0
-1
-2
35
-39
17
38
1
0
0
0
0
0
0
0
0
0
0
0
8
-1
-4
7
7
0
0
0
0
0
0
0
0
0
0
0
-3
2
-9
-7
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
9
-9
6
-24
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-13
1
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-4
6
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-7
29
4
-1
0
0
0
0
0
0
0
0
0
0
0
1
-3
-4
-27
-28
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
0
21
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
-5
-3
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
-3
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
-15
3
0
0
0
0
0
0
0
0
0
4
1
2
2
1
37
13
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-1
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
4
-5
7
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
-1
-2
10
-15
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
0
0
0
0
0
0
0
0
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
3
13
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
1
20
-1
-3
2
0
0
0
0
0
0
0
0
0
0
2
11
8
-1
17
-1
0
0
0
0
0
0
0
0
0
0
2
1
0
-10
2
0
6
0
0
0
0
0
0
0
0
0
0
0
7
-8
-16
-13
-15
11
4
0
0
0
0
0
0
0
0
0
0
-1
13
-6
-11
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
9
-3
-4
0
0
0
0
0
0
0
0
0
0
0
-4
4
-9
-2
-7
-9
2
0
0
0
0
0
0
0
0
-1
1
0
-20
-2
27
25
24
1
0
0
0
0
0
0
0
0
0
-1
3
5
-16
0
-11
6
1
0
0
0
0
0
0
0
0
0
1
0
0
-24
-36
10
-22
2
0
0
0
0
0
0
0
0
0
0
0
6
3
24
-10
16
-11
0
0
0
0
0
0
0
0
0
0
0
2
2
1
-27
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
18
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
32
39
0
-56
27
3
19
7
-6
-7
-1
0
0
0
1
8
-39
-3
26
9
51
-7
13
-1
28
17
-15
2
0
0
0
-1
1
-1
-12
48
-35
-23
17
20
-20
-2
11
6
0
0
0
0
0
1
0
0
-5
12
-11
-25
-49
32
0
14
-1
-1
0
0
0
0
-2
-1
3
-8
-16
-3
-29
6
-20
-10
5
2
0
0
0
0
0
0
0
-1
13
-4
-14
9
6
43
-15
-12
12
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-14
2
12
0
0
0
0
0
0
0
0
1
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-24
-17
0
20
45
9
52
6
0
-1
0
0
0
0
0
2
7
4
-2
-4
-45
59
-29
6
15
3
-6
0
0
0
0
0
0
-4
1
3
35
-5
3
4
52
7
4
-3
0
0
0
-1
0
0
-4
41
-27
-9
16
-31
-11
-1
-68
-9
0
0
0
0
0
0
-3
9
27
-78
-3
70
-10
-53
-17
12
1
8
0
0
0
0
1
1
-12
-15
4
1
27
-20
21
38
-30
5
-7
0
0
0
0
0
0
0
11
-18
-5
6
17
-32
23
33
9
1
0
0
0
0
0
0
0
-4
-5
-8
39
-10
3
14
7
1
0
0
0
0
0
0
0
0
0
4
0
-45
28
-28
5
0
0
0
0
0
0
0
0
6
-16
-12
-12
0
-10
-19
4
1
2
0
0
0
0
0
0
0
0
0
8
-4
32
8
-11
-1
5
-3
1
0
0
0
0
0
0
0
0
-1
-13
2
9
-15
6
8
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-9
-4
-18
11
0
0
0
0
0
0
0
0
0
0
0
0
-4
16
6
-12
1
10
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
8
-7
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
11
0
-1
0
0
0
0
0
0
0
0
1
7
-28
94
0
62
14
37
9
8
1
0
0
0
0
0
0
-2
-16
-12
22
11
26
12
20
48
11
2
0
0
0
0
0
0
-1
6
-1
20
21
-26
23
18
19
-35
0
0
0
0
0
0
0
0
-7
-8
-21
-11
14
27
0
12
-12
0
0
0
0
0
0
0
0
0
-1
-7
9
-7
3
-27
-2
6
0
0
0
0
0
0
0
0
0
19
24
-17
-10
-20
15
-3
0
0
0
0
0
0
0
0
0
0
1
-23
-13
26
22
-4
6
0
0
0
0
0
0
0
0
0
0
-2
-2
7
-7
-2
17
7
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
2
-8
8
0
-14
-9
-9
-26
48
-35
12
2
0
0
0
-2
-2
2
-5
41
-39
-1
26
-14
-65
-1
-26
-36
8
0
0
0
0
2
0
3
11
-15
86
26
-4
1
-23
14
43
2
0
0
0
0
0
3
-7
-13
-6
-70
31
-20
7
-14
7
33
9
0
0
0
0
0
0
-7
3
7
4
29
26
37
-3
-25
-12
-2
0
0
0
0
0
0
0
-2
-18
-1
-1
-44
-20
5
32
-4
0
0
0
0
0
0
0
1
0
1
-11
-4
13
1
-12
-5
3
-1
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
2
0
-10
3
-1
2
0
0
0
-1
0
0
0
0
0
0
1
-3
10
-2
-3
-12
15
-4
-1
2
-1
0
0
0
0
0
0
0
-12
0
19
-16
-1
22
12
0
0
1
0
0
0
0
0
0
0
0
4
-25
2
0
-6
6
0
1
0
0
0
0
0
0
0
0
0
0
2
2
6
0
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
-8
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
-4
1
1
0
0
0
-4
0
0
0
0
0
0
1
8
6
4
-12
-8
-2
12
0
-13
0
0
0
0
0
0
0
0
1
7
-26
12
6
-12
-5
0
10
-4
0
0
0
0
0
0
-2
9
1
2
7
18
22
1
21
-8
-1
1
0
0
0
0
0
0
4
-3
-21
-30
-8
13
-2
10
-1
10
0
0
0
0
0
0
1
0
0
13
4
4
-3
0
1
-3
0
0
0
0
0
0
0
0
0
-4
-7
9
2
0
0
-6
7
-4
1
0
0
0
0
0
-1
0
1
-6
1
0
-4
-2
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
-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
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
1
0
-10
-5
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
37
30
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
18
8
-13
0
0
0
0
0
0
0
0
0
0
-1
0
1
-2
-4
4
3
0
0
0
0
0
0
0
0
0
0
0
1
0
-17
-14
8
16
0
0
0
0
0
0
0
0
0
0
0
-1
-1
40
-4
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
-10
10
8
0
0
1
0
0
0
0
0
0
0
0
0
-1
-3
0
6
-1
3
0
0
0
0
0
0
0
0
0
0
1
2
1
0
0
-6
-6
0
0
0
0
0
0
0
0
0
0
0
4
-1
4
0
2
-1
3
0
0
0
0
0
0
0
0
0
0
0
7
4
-2
0
3
1
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-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
10
11
-15
0
-30
-16
13
0
0
0
0
0
1
-9
0
0
0
49
43
-4
-27
-36
13
11
0
0
0
0
0
0
0
8
15
30
30
-4
-53
-36
1
-18
-30
0
0
0
0
0
0
0
-10
6
-3
-16
13
65
33
-13
11
9
0
0
0
0
0
-1
0
0
16
-11
28
-22
9
-11
-54
0
1
0
0
0
0
0
0
1
4
6
-1
-40
-8
-32
13
1
9
0
0
0
0
0
0
0
0
0
-4
21
7
-8
24
-8
33
6
0
0
0
0
0
0
0
0
0
-1
0
0
-4
2
-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
-2
0
0
4
83
38
96
-17
8
0
0
0
0
0
0
0
2
-1
16
-7
-33
14
86
-35
-29
-11
1
0
0
0
0
0
2
0
16
26
45
39
92
21
24
-31
1
-1
0
0
0
0
0
0
20
-6
-18
-28
47
7
-32
-4
2
14
6
0
0
0
0
0
0
-16
-10
21
43
-20
30
20
54
56
4
0
0
0
0
0
0
0
-8
-2
5
6
-24
49
-2
49
-68
-1
2
0
0
0
0
0
0
1
-7
-9
45
-19
25
-45
22
-6
3
0
0
0
0
0
0
0
0
-4
4
-14
7
16
9
48
-29
0
0
0
0
0
0
0
0
0
0
0
-8
-11
42
27
17
4
0
0
0
0
0
0
0
0
0
0
0
0
-21
-3
-2
-40
-3
-41
-1
0
0
0
0
0
0
0
0
-6
4
22
5
39
-17
-35
-5
11
0
0
0
0
0
0
0
-1
-3
2
7
25
-10
-18
-41
-10
0
0
0
0
0
0
0
0
0
-1
11
6
2
19
-8
-12
-1
0
0
0
0
0
0
0
0
0
0
0
33
-3
-29
32
15
4
0
0
0
0
0
0
0
0
0
0
-4
-10
-2
0
9
1
0
0
0
0
0
0
0
0
0
0
8
0
15
-12
-2
-8
-17
0
0
0
0
0
0
0
0
0
0
0
-2
0
-40
13
10
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-2
8
0
-1
0
0
0
0
0
0
0
0
-1
0
-16
-22
33
15
-38
20
-31
10
0
0
0
0
0
0
0
0
-6
-3
0
-4
54
17
-19
33
9
0
0
0
0
0
0
0
-9
-13
-11
-14
-5
68
58
-28
-7
6
0
0
0
0
0
0
0
0
-18
18
3
-20
-7
21
-11
0
-7
0
0
0
0
0
0
0
-1
19
-8
-15
-28
26
0
34
-6
0
0
0
0
0
0
0
0
0
0
1
-1
11
16
0
10
3
0
0
0
0
0
0
0
0
0
0
13
6
8
13
33
-7
-2
0
0
0
0
0
0
0
0
0
0
-2
-3
-17
9
-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
6
0
0
1
-16
8
55
-6
8
0
0
0
0
0
1
0
-1
0
9
0
40
20
-47
-20
-8
41
10
0
0
0
0
1
0
0
-54
35
7
10
7
-26
8
27
24
3
0
0
0
0
0
0
1
-9
35
-24
14
-21
27
-14
18
-11
0
0
0
0
0
0
-1
2
9
-11
-9
5
-40
10
29
10
19
0
0
0
0
0
0
0
4
0
-3
8
-9
-1
5
-42
-8
1
0
0
0
0
0
0
0
-2
0
1
6
6
15
12
30
0
-1
0
0
0
0
0
0
0
0
0
4
1
2
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
2
-3
-12
9
0
0
0
0
0
0
0
0
0
0
-2
4
7
-10
12
14
-2
0
0
0
0
0
0
0
0
1
0
11
1
-42
-1
16
20
0
0
0
0
0
0
0
0
1
-4
-3
1
2
-28
-15
1
6
0
0
0
0
0
0
0
0
0
1
0
1
0
9
2
-4
1
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-9
-2
-2
0
0
0
0
0
0
0
0
0
1
0
2
1
-3
-18
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
10
18
0
-28
0
0
0
0
0
0
0
0
0
0
1
4
2
5
-6
14
24
-29
-1
0
0
0
0
0
0
0
0
0
-2
2
3
12
26
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
27
18
-37
7
1
0
0
0
0
0
0
0
0
0
0
1
4
-17
12
-14
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
26
1
-13
0
0
0
0
0
0
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
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
10
-9
4
0
0
0
0
0
0
0
0
0
3
1
1
9
-3
21
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-40
19
-6
-4
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
-9
15
0
0
0
0
0
0
0
0
0
0
0
0
1
0
9
-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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
3
10
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
1
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-6
11
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-22
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-17
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-27
11
0
0
0
0
0
0
0
0
0
0
0
1
4
-9
-30
1
14
-1
0
0
0
0
0
0
0
0
0
0
0
2
-4
-2
-30
8
0
0
0
0
0
0
0
0
0
0
3
1
-1
21
7
-1
12
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-3
1
-9
0
0
0
0
0
0
0
0
0
0
0
3
-10
1
10
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
21
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
-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
-1
0
-13
0
6
-33
1
2
-3
-11
-6
1
0
0
0
0
0
-7
1
0
25
12
-4
-6
35
-10
27
11
2
0
0
0
0
0
0
0
20
41
10
14
-12
14
5
-29
37
-1
0
0
0
0
0
0
-11
-1
-17
1
28
9
7
-48
-6
19
-2
0
0
0
0
0
0
0
21
-16
-20
-22
-6
-11
-3
-18
-9
0
0
0
0
0
0
0
0
0
6
20
-5
-16
0
-5
-1
0
0
0
0
0
0
0
0
0
0
-10
3
15
-13
1
0
0
0
0
0
0
0
0
0
1
0
0
-1
2
1
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
48
0
68
-49
-8
-1
-7
21
-1
0
0
0
0
0
3
-8
1
0
3
-79
-25
9
-9
-11
-11
-7
0
0
0
0
0
-1
11
0
-6
25
-46
75
52
38
-41
16
19
0
0
0
0
0
2
0
-59
0
3
12
58
-54
-48
-18
11
-1
0
0
0
0
0
1
-2
-1
12
-28
34
54
63
-13
-38
8
0
0
0
0
0
0
-6
13
-16
-16
47
31
-1
-32
48
37
4
0
0
0
0
0
0
-2
11
-22
43
-77
6
-15
32
-34
18
2
0
0
0
0
0
0
0
2
-3
41
11
78
-23
-71
20
2
0
0
0
0
0
0
0
0
2
-1
-28
-27
-4
-62
-8
0
1
0
0
0
0
0
0
0
0
-1
5
-52
0
-9
-12
25
9
0
0
0
0
0
0
0
1
-19
-1
-49
0
-21
-16
0
13
-7
-3
0
0
0
0
0
0
0
-3
11
0
-15
-38
-3
-8
28
6
15
-1
0
0
0
0
0
0
-6
0
-1
71
34
3
-6
-18
11
-7
0
0
0
0
0
0
-1
0
1
-12
19
3
15
0
-15
-1
0
0
0
0
0
0
0
0
1
26
-20
-5
6
-10
7
3
1
4
0
0
0
0
0
0
2
-29
-19
13
-38
14
-9
2
4
0
0
0
0
0
0
0
0
-3
-4
27
14
-19
-31
-9
7
-1
0
0
0
0
0
0
0
0
0
0
-8
20
15
17
24
-3
0
0
0
0
0
0
0
0
0
0
0
-3
3
-38
0
-6
1
-43
-16
1
0
0
0
0
0
0
0
0
-19
6
0
24
9
61
49
-34
-8
0
0
0
0
0
0
0
0
8
0
20
-25
-26
46
-8
13
14
0
0
0
0
0
0
0
0
0
9
-9
18
33
-43
-4
-1
-15
0
0
0
0
0
0
0
0
4
-7
18
9
-29
3
21
-13
12
0
0
0
0
0
0
0
0
1
-19
6
19
-23
38
-21
-19
0
0
0
0
0
0
0
0
-1
-24
-30
37
34
6
-15
-2
-4
0
0
0
0
0
0
0
0
1
0
-10
-7
27
32
-17
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
-16
-1
-11
0
0
0
0
0
0
0
0
0
0
0
1
0
-12
0
-4
76
-14
-8
-4
-12
-3
-1
0
0
0
0
0
1
-1
-2
38
41
-7
-17
-32
47
28
-25
-1
0
0
0
0
0
0
0
1
60
27
-61
22
12
-4
-4
6
21
0
0
0
0
0
0
2
6
10
7
-28
27
-26
-3
18
6
0
0
0
0
0
0
0
-1
-6
16
-1
16
-34
8
32
-19
-11
0
0
0
0
0
0
1
1
-3
11
-20
28
0
25
-9
4
4
0
0
0
0
0
0
0
1
2
10
-7
4
0
44
1
0
0
0
0
0
0
0
0
0
1
-2
6
0
-2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
1
0
0
2
0
0
0
0
0
0
0
0
0
-4
-1
2
16
7
-7
7
-1
-2
0
0
0
0
0
0
0
-2
-12
6
-7
19
-4
-3
11
-19
10
0
0
0
0
0
0
0
0
1
2
7
-6
0
-2
4
0
-1
0
0
0
0
0
0
0
-4
1
2
2
-16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
54
13
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-2
-9
0
-1
0
0
0
0
0
0
0
0
7
10
0
4
-8
-18
-6
-21
-2
0
0
0
0
0
0
0
-9
7
0
25
19
11
27
0
-13
4
0
0
0
0
0
0
0
-2
-7
0
-7
6
-4
-3
30
-2
4
0
0
0
0
0
-1
4
-2
-2
-4
-21
7
-4
13
-1
0
0
0
0
0
0
0
0
11
2
-18
8
10
-4
-4
4
3
0
0
0
0
0
0
0
0
4
-1
17
-8
-9
-1
0
1
0
0
0
0
0
0
0
0
0
-1
35
32
20
-2
-1
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-38
-11
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
-20
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
1
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
1
1
-1
-9
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
-4
-16
81
39
-10
0
0
0
0
0
-1
-6
-9
0
0
15
14
-21
49
43
-32
-6
0
0
0
0
0
0
2
-19
-14
-25
19
-10
38
17
29
51
-4
0
0
0
0
0
0
-1
14
26
45
0
-16
50
58
-73
-1
-9
0
0
0
0
0
0
0
4
0
-6
44
2
-22
11
42
9
4
0
0
0
0
0
0
0
-2
-1
-9
-11
-1
22
7
10
-16
6
0
0
0
0
0
0
0
0
0
0
6
6
-19
-19
27
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
14
0
0
-49
-41
32
-78
-23
9
-2
0
0
0
0
0
0
-6
3
40
-13
1
-19
22
43
29
32
3
0
0
0
0
0
1
2
3
-45
-12
-81
11
-43
39
77
-4
10
0
0
0
0
0
0
1
-20
0
40
-14
14
87
-48
8
16
-14
0
0
0
0
0
0
0
0
7
-11
-32
-52
39
85
-37
-4
24
0
0
0
0
0
0
0
-1
-10
13
-6
-47
24
1
-24
-3
7
0
0
0
0
0
0
0
0
11
26
-32
47
3
73
-2
35
-1
0
0
0
0
0
0
0
0
0
11
-9
-5
-37
-1
6
7
0
0
0
0
0
0
0
0
0
0
0
0
8
-17
32
-22
0
0
0
0
0
0
0
0
0
0
0
0
13
11
10
6
35
29
-8
0
0
0
0
0
0
0
0
2
0
-30
30
34
7
-29
1
-53
0
0
0
0
0
0
0
0
0
-1
-32
-23
23
-22
10
-54
65
0
0
0
0
0
0
0
0
0
0
-1
11
-1
9
-13
60
23
0
0
0
0
0
0
0
0
0
0
0
-25
13
-9
-35
21
6
0
0
0
0
0
0
0
0
0
0
-3
13
9
17
11
9
0
0
0
0
0
0
0
0
0
0
1
0
-6
8
5
13
-18
-23
0
0
0
0
0
0
0
0
0
0
-1
7
-16
-32
-62
21
-45
0
0
0
0
0
0
0
0
0
0
-2
-2
-30
-4
45
45
7
0
0
0
0
0
0
0
2
0
11
-19
22
44
-18
-2
-16
10
0
0
0
0
0
0
0
0
2
37
0
-45
-10
25
43
2
-1
0
0
0
0
0
0
0
0
7
14
16
-29
-4
-20
-24
21
10
0
0
0
0
0
0
-2
0
18
-22
10
10
5
41
15
-14
-16
0
0
0
0
0
0
0
0
0
6
2
-3
27
-1
-11
-54
-1
0
0
0
0
0
0
0
0
0
-1
-2
3
0
-12
13
36
-3
0
0
0
0
0
0
0
0
0
0
0
7
12
3
26
34
-1
0
0
0
0
0
0
0
0
0
0
0
1
2
5
13
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
0
0
26
24
-37
-36
-42
-4
8
0
0
0
0
0
0
0
0
7
0
-14
-23
19
-12
-20
1
6
0
0
0
0
0
1
1
10
10
-27
3
74
1
22
8
10
2
0
0
0
0
0
0
0
-2
0
-1
1
14
28
33
7
19
-3
0
0
0
0
0
0
0
0
0
-1
-29
12
-25
-1
-15
-19
0
0
0
0
0
0
0
0
0
-2
18
-2
8
22
-19
6
-19
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-27
-16
-2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
1
0
11
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-30
-18
1
24
0
0
0
0
0
0
0
0
0
0
0
-22
18
0
38
-30
-1
10
0
0
0
0
0
0
0
0
0
3
1
6
-20
10
12
-22
-7
0
0
0
0
0
0
0
0
0
0
8
-1
-4
-7
14
8
-6
0
0
0
0
0
0
0
0
0
0
0
2
4
-8
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-7
15
4
3
0
0
0
0
0
0
0
0
0
3
0
2
0
6
2
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
9
-7
0
0
0
0
0
0
0
0
0
0
0
-10
-19
-8
4
-24
-4
-7
0
0
0
0
0
0
0
0
0
3
2
12
11
-39
21
37
-1
0
0
0
0
0
0
0
0
0
0
0
-2
5
11
12
0
38
0
0
0
0
0
0
0
0
0
0
0
13
12
13
-17
-22
6
0
0
0
0
0
0
0
0
0
0
0
6
-11
-28
-28
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
13
-19
7
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
-8
-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
1
-1
-1
-15
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
1
13
1
2
1
0
0
0
0
0
0
0
0
0
0
0
2
-6
4
7
16
1
0
0
0
0
0
0
0
0
0
0
-1
0
2
3
6
13
3
-1
0
0
0
0
0
0
0
0
0
0
1
0
-6
8
-9
-11
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
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
24
1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
11
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
8
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-18
6
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
1
4
1
0
0
0
0
0
0
0
0
2
0
0
9
6
26
-9
-3
2
-2
0
0
0
0
0
0
0
0
0
0
-10
4
-3
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-4
2
7
0
0
0
0
0
0
0
0
0
-1
0
10
9
30
2
-4
16
0
0
0
0
0
0
0
0
0
0
0
13
3
24
-19
2
-35
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-6
-9
1
0
0
0
0
0
0
0
0
0
0
1
3
-1
24
19
2
4
0
0
0
0
0
0
0
0
0
0
0
0
-10
-4
17
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
9
36
2
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
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
2
-27
3
-16
2
-6
-2
0
0
0
0
0
13
-25
28
0
123
10
91
-6
-16
10
10
0
0
0
0
0
0
0
-8
1
1
-14
0
-5
-11
0
50
-39
-1
0
0
0
0
0
-1
-18
0
-37
-9
3
-1
-28
8
-2
-18
1
0
0
0
0
0
0
0
0
0
0
-13
-8
-17
-36
15
-4
-1
0
0
0
0
0
0
0
0
0
-2
-4
-1
3
-17
48
-11
-2
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-16
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-4
-8
0
28
62
20
-5
9
-6
0
0
0
0
0
0
-3
1
18
-59
-19
1
-41
31
-8
9
-20
6
0
0
0
0
0
0
0
-13
35
7
40
-88
-52
46
-21
0
-15
0
0
0
0
0
-1
7
-7
-12
-13
-22
43
7
-21
-46
9
3
0
0
0
0
0
-1
1
3
-2
-14
-21
-41
12
-18
-15
16
2
0
0
0
0
0
0
0
0
15
10
22
14
-11
-6
-5
-26
0
0
0
0
0
0
0
0
0
-1
-4
19
-20
3
-3
21
-16
0
0
0
0
0
0
0
0
0
1
-24
-9
25
28
9
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-2
0
0
0
0
0
0
0
0
-1
0
46
60
0
20
-3
-4
-7
-2
0
0
0
0
0
0
0
0
-1
1
-25
-19
9
17
2
-10
-7
-4
0
0
0
0
0
0
0
0
0
15
24
-2
0
-2
-8
3
0
0
0
0
0
0
0
0
0
0
2
9
1
1
3
10
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-28
0
6
5
6
-11
7
-3
0
0
0
0
0
0
0
0
-1
10
-38
-57
7
-7
35
35
0
0
0
0
0
0
0
0
-1
10
-8
25
-7
16
0
-12
3
3
0
0
0
0
0
0
0
0
0
0
-3
12
0
-29
-18
4
0
0
0
0
0
0
0
0
0
0
0
4
2
-16
2
-18
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-15
0
19
10
3
-41
1
-3
-9
0
0
0
0
0
0
0
7
2
72
56
32
-4
-6
26
34
9
1
0
0
0
0
0
3
4
-12
112
1
104
37
3
-16
1
12
-33
0
0
0
0
0
0
0
-13
7
-28
-3
-13
-30
-59
-26
18
7
0
0
0
0
0
0
0
-1
0
-6
29
8
-8
6
-26
-49
-3
0
0
0
0
0
0
0
0
0
-6
0
-13
8
-15
16
7
-2
0
0
0
0
0
0
0
0
0
0
-3
-3
8
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
1
0
0
0
0
0
0
0
0
0
-7
-19
-3
-6
1
6
-1
1
0
0
0
0
0
0
0
0
0
3
2
-19
1
13
-1
10
-2
1
0
0
0
0
0
0
0
0
-3
6
0
-28
-9
-4
16
-1
0
0
0
0
0
0
0
0
0
0
-1
2
-1
19
-2
-1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-10
0
-19
0
4
-1
0
0
0
0
0
0
0
4
2
-2
7
-1
-4
-3
-21
-2
4
0
0
0
0
0
0
0
0
1
3
0
0
-3
0
-13
-16
3
0
0
0
0
0
0
0
0
0
-1
-1
25
7
8
25
4
-1
0
0
0
0
0
0
0
0
0
0
0
8
-8
-9
-6
-5
-6
0
0
0
0
0
0
0
0
2
0
0
-1
0
-8
-9
21
3
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
-1
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
4
-3
23
1
0
-3
0
0
0
0
0
0
-1
0
0
-12
0
0
0
0
0
0
0
0
0
-2
0
0
-11
0
-116
-108
-58
-26
-7
17
0
0
3
22
0
-112
-31
47
-21
7
0
8
36
26
7
0
-44
-60
-9
18
0
0
-11
36
3
-35
0
-40
-13
2
0
21
-38
35
10
-9
-26
0
-95
18
0
-13
29
49
16
7
-26
12
0
0
0
9
-2
11
8
2
42
-3
-16
-6
0
0
-1
0
1
16
-14
-2
1
29
0
0
0
33
0
-2
-26
0
0
-7
0
36
67
0
-68
-61
-13
-50
-26
-27
0
99
31
-2
0
-69
-31
-56
-24
-23
0
-30
10
19
-25
0
-23
-61
-7
-18
0
-54
-8
-31
-35
-50
0
24
-49
-7
0
-61
32
33
3
-4
-10
0
-26
-1
0
-18
10
24
4
-6
-19
-44
0
21
0
18
43
4
-34
7
0
4
-20
-33
0
0
24
53
-39
14
22
-12
-22
82
0
0
0
0
-1
48
-4
7
0
-15
0
-2
40
0
-33
-26
-19
-39
0
-8
0
-40
-9
31
0
-46
-5
-21
15
-3
0
-36
-33
19
-12
0
3
-33
-78
-16
0
-46
2
11
-22
-36
0
-45
3
-3
0
11
8
31
2
-6
0
0
-23
-2
0
-36
-14
2
-2
-7
-26
-62
0
42
0
-40
61
119
15
16
-3
12
2
37
0
0
21
33
10
-15
-38
-10
-28
55
0
0
0
-1
12
39
9
7
10
6
0
-80
25
0
-10
-20
41
26
13
8
0
-17
10
46
0
-37
13
-68
10
4
0
-12
-40
19
4
0
21
3
-22
-9
0
-22
-51
14
-36
-21
0
-29
45
-9
0
-49
-52
20
-12
-17
-1
0
5
-13
0
-35
-35
-7
-24
-28
-24
-78
0
45
0
-27
34
35
31
45
56
20
16
-12
0
0
-21
35
-80
4
-6
71
32
-14
0
4
0
-2
0
-39
64
10
17
27
0
20
60
0
-5
45
-15
73
9
13
0
53
31
5
0
11
5
-6
-23
19
0
38
6
35
8
0
4
-13
-54
5
0
15
-12
-4
-34
-20
0
-1
-42
3
0
-33
0
16
-3
-12
-3
0
-19
-12
0
-23
-37
-2
-15
-26
-24
-46
0
23
0
-3
-9
-32
14
19
-31
19
50
41
0
0
-8
-7
28
-28
54
-48
51
29
0
0
0
3
4
-13
-6
-8
0
43
0
66
3
0
33
45
23
-3
45
-1
0
17
-32
-16
0
-6
4
-30
19
3
0
-9
-5
30
-1
0
14
-45
-17
8
0
29
16
-1
-19
-28
0
-15
-20
7
0
-29
12
24
-3
-15
-13
0
-34
6
0
-22
-19
7
-6
-23
-6
-58
0
28
0
72
-36
-50
-21
17
11
23
-37
17
0
0
-11
-55
-8
15
-15
43
14
-6
0
12
0
-3
-1
-14
19
-7
-1
36
0
28
-57
0
28
85
19
3
-11
5
0
-79
-95
-22
0
-19
12
38
-43
-6
0
-32
-26
11
-9
0
-2
-30
-63
1
0
-28
-10
-17
-47
-35
0
22
-14
-2
0
-23
5
11
-5
-30
-18
0
11
5
0
-10
-45
-4
-20
-17
-10
3
0
-5
0
0
-1
-16
20
38
71
-10
37
-11
0
0
12
-41
38
7
13
3
-3
-13
0
0
0
0
6
1
-38
-8
0
23
0
-42
-78
0
-7
46
-14
-12
0
8
0
-29
14
-31
0
30
6
-6
0
-4
0
-11
-43
-1
0
0
26
-22
12
12
0
11
19
-12
-1
0
0
-8
0
-17
0
16
-9
6
6
-3
3
0
-15
-14
0
-34
-4
-38
-8
-5
3
37
0
24
0
0
0
0
-11
23
14
0
0
20
0
0
0
0
-1
3
65
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-21
6
-2
0
-37
0
0
0
5
0
6
-50
4
0
-16
0
6
0
-2
31
0
-16
0
0
9
0
0
0
-6
45
-34
0
0
0
3
0
0
0
11
2
-15
30
0
0
25
0
0
0
-2
-15
6
6
0
0
22
0
0
0
0
38
38
27
16
2
31
0
0
0
0
0
11
1
0
0
28
0
0
0
0
0
-18
18
2
0
-61
0
0
0
0
-3
-7
25
0
0
14
0
0
0
10
0
-39
3
-1
0
37
0
0
0
4
5
0
26
0
0
-48
0
0
0
-2
9
-36
0
0
0
-1
0
0
0
7
46
40
-26
0
0
23
0
0
0
3
10
1
21
0
0
-10
0
0
-3
30
24
-28
37
7
1
-1
0
0
0
11
4
6
3
0
0
-25
0
7
0
-16
-13
-22
-22
6
0
42
0
0
19
0
-16
-31
14
4
-25
47
0
3
4
-12
0
-23
54
3
-7
59
0
-6
9
-21
-5
0
-10
3
2
111
0
0
-3
41
8
13
0
4
0
20
0
2
-9
16
24
-12
22
0
0
29
0
0
3
39
3
-5
-58
-7
0
19
0
-11
18
63
-16
5
6
1
9
15
0
0
2
22
43
-6
-13
-8
12
56
0
-25
0
20
-80
-12
-4
32
3
23
0
-8
36
0
-62
54
-6
15
-22
-10
0
-1
14
39
0
6
32
25
-7
-11
0
6
19
-53
26
0
11
5
-17
57
0
0
-15
17
-2
18
0
-13
-4
56
0
0
-6
26
41
79
-5
0
-8
11
0
-1
7
-11
-1
-48
-12
-19
0
21
0
-25
78
54
-19
5
-6
-15
-34
31
0
0
0
81
75
-1
-15
-7
31
10
0
-6
0
5
29
32
13
-29
27
10
0
13
-6
0
19
-40
8
-34
50
21
0
26
-44
-29
0
41
13
21
7
-10
0
9
-15
46
-17
0
-39
12
62
1
0
0
-43
-39
4
3
0
-14
-17
12
0
-25
19
5
25
-22
-8
0
15
39
0
-8
-2
-3
36
28
-16
1
0
25
0
7
76
-15
16
-6
10
-10
1
5
0
0
-6
30
24
18
49
37
35
2
0
-32
0
-19
9
57
58
7
17
55
0
17
0
0
22
41
12
37
5
24
0
-14
19
-55
0
31
18
-16
108
61
0
25
-17
10
13
0
59
31
-5
23
0
19
83
-19
-10
-36
0
-12
-4
-3
0
15
-9
-19
-68
-20
-6
0
-7
23
0
10
-4
-18
-33
-23
-28
12
0
19
0
59
-64
-57
-6
49
45
21
27
20
0
0
2
-63
-18
-7
37
22
-51
40
0
-4
0
-49
15
72
35
61
1
49
0
22
-36
0
-23
-6
13
19
-45
29
0
12
38
-6
0
36
-26
2
-46
28
0
16
14
31
-10
0
28
35
-12
11
0
1
6
-28
-33
-3
0
-18
-38
-3
0
-3
39
22
-46
-10
24
0
-10
14
0
6
14
21
-16
-50
46
-1
0
9
0
-24
-45
-51
1
1
23
-11
-5
-2
0
0
4
-9
-52
30
8
-32
-18
10
0
-15
0
39
41
-18
-37
-38
-14
45
0
28
24
0
-37
-36
8
-28
49
45
0
-1
-9
23
0
-43
-15
-8
9
14
0
-6
6
17
1
0
43
-14
-13
30
0
-50
-25
1
-25
37
0
17
101
41
0
37
-15
0
-30
-3
16
0
-1
6
0
0
0
-6
26
62
4
0
0
33
0
-13
-48
-47
-8
29
4
11
9
2
0
0
22
-66
-21
21
19
-35
-8
36
0
47
0
7
10
16
23
7
-22
-10
0
0
0
0
50
27
-29
-8
-1
39
0
0
0
-2
0
37
25
-22
0
36
0
0
-6
1
26
0
16
-42
0
2
0
3
0
1
22
11
0
8
2
14
0
0
0
0
10
36
-41
0
0
37
0
0
1
0
1
24
25
0
0
-3
0
0
0
2
11
-31
-5
3
0
6
0
0
0
-3
18
23
43
0
0
-51
0
0
0
0
-13
-13
-11
0
0
2
0
0
0
0
2
3
14
0
0
-25
0
0
0
0
0
-4
-32
0
0
25
0
0
0
0
0
0
-8
0
0
18
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
-2
12
0
0
12
0
0
0
0
0
0
3
0
0
43
0
-1
0
-3
-36
49
-10
-33
-3
31
0
0
0
8
-27
17
16
-2
0
-1
0
0
0
0
2
-33
-17
0
0
18
0
-3
24
0
51
8
1
-24
0
15
0
8
-2
31
0
26
19
-7
0
0
0
7
39
34
21
0
-8
9
0
-54
0
19
13
-51
-31
-76
0
1
0
34
0
22
49
27
14
6
-46
0
0
-14
0
71
5
51
-33
0
-18
0
0
2
0
-3
42
-10
51
80
26
-56
56
23
0
0
12
-21
-33
3
-3
32
-22
-19
0
0
0
1
6
-5
-6
-4
8
-11
0
-27
-119
0
-10
-16
6
-18
-3
0
0
-6
5
-21
0
-2
16
-4
-20
27
0
-5
29
39
14
0
-12
-101
-24
-13
0
24
34
19
-54
-31
0
-43
31
26
0
14
2
31
1
-8
-4
0
-25
-1
0
-21
-27
-23
-2
-26
-35
1
0
47
0
22
24
3
-12
25
12
-1
-48
-27
0
0
-11
34
7
0
1
-38
4
41
0
0
0
13
16
13
-7
-1
-20
16
0
-37
18
0
-33
4
-3
-16
6
-11
0
15
33
-48
0
-47
-10
-35
-11
-2
0
17
-27
-5
2
0
-7
-33
-4
-19
0
29
-9
-18
-11
-43
0
-118
-30
1
0
-17
0
9
-9
-33
-42
0
-79
-13
0
-24
-19
-9
-16
-43
-45
-56
0
33
0
3
9
-41
51
11
15
-15
9
15
0
0
-10
65
22
-5
-11
13
29
55
0
4
0
-1
-3
18
30
12
10
19
0
11
0
0
-70
-12
-47
-6
-50
6
0
-51
-39
-3
0
-26
8
22
28
5
0
1
-47
5
-2
0
-6
-49
-41
-6
0
-67
-16
-3
7
-45
0
-45
-39
5
0
-3
6
8
3
-11
-18
0
-36
10
0
-49
-20
3
5
2
-38
-20
0
13
0
-20
90
39
-26
-12
-21
10
10
-9
0
0
28
-1
-37
23
5
-14
-15
-18
0
0
0
2
29
8
-27
9
16
0
0
-25
-12
0
-69
-8
-30
12
2
-6
0
-47
-36
19
0
-21
-38
-70
-35
0
0
-75
-34
2
11
0
-26
1
-43
-7
0
-35
-21
5
5
-17
0
-24
-9
-8
0
-46
-22
2
-2
-4
-2
0
-28
-9
0
-100
-41
-8
-4
1
-17
-14
0
-10
0
57
-18
42
41
12
12
58
1
53
0
0
-26
28
23
-24
100
-35
44
44
0
2
0
-2
3
4
-64
7
-7
0
0
53
8
0
0
-43
-10
27
-4
-10
0
5
-59
10
0
-78
-37
19
-17
-13
0
-24
-27
-18
-1
0
-28
-9
10
-11
0
-18
-26
-21
-21
-17
0
-9
-22
-7
0
-31
-4
-7
0
-5
15
0
-15
-17
0
-30
-25
-21
-2
-17
4
-54
0
16
0
2
-7
21
-19
0
51
59
29
-11
0
0
32
-19
14
-1
26
33
8
30
0
0
0
-2
-10
-31
63
-7
0
-10
0
-15
52
0
-53
-22
1
32
-6
-28
0
-22
-15
10
0
-62
-60
20
-3
4
0
-24
6
9
4
0
-14
-29
-21
-12
0
24
-45
16
3
12
0
18
-14
-6
0
-40
-14
13
-4
1
20
0
-31
3
0
-47
26
-17
-2
3
-2
11
0
22
0
0
-11
3
-39
13
7
9
-2
67
0
0
-2
-62
-26
-25
38
22
-2
20
0
0
0
0
12
20
22
0
0
-4
0
36
98
0
-8
-75
-6
-46
1
-19
0
37
86
34
0
-54
-67
6
0
1
0
42
-19
-3
4
0
5
-6
-12
1
0
-56
19
37
-16
3
0
78
3
-7
0
-28
10
25
-8
11
44
0
19
-34
0
-77
-1
-12
2
6
-1
-33
0
59
0
0
0
0
-4
-22
12
0
0
28
0
0
0
0
0
40
-10
0
0
-1
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
1
2
0
0
29
0
0
6
-5
0
-4
-16
0
0
-9
0
3
10
10
-14
0
21
0
0
76
0
0
-1
-26
-47
4
0
0
0
36
0
0
-56
10
-6
14
44
0
0
-17
0
4
-4
-3
-16
10
-6
0
0
38
0
0
-10
17
52
52
10
35
0
-37
0
0
0
36
-47
36
17
12
-8
74
0
-2
0
5
95
126
-14
0
1
-43
0
0
0
0
-5
3
-31
-2
0
-53
0
-1
1
41
0
-56
-27
13
0
35
0
-1
2
22
-3
0
-11
6
0
-81
0
0
0
-11
-26
24
0
0
1
-25
0
0
0
0
12
44
-4
0
0
10
0
0
0
2
9
3
-1
0
0
53
0
17
64
2
3
15
1
-12
50
25
0
0
0
13
7
37
44
2
0
46
0
-2
0
17
22
40
44
6
-3
20
0
5
27
0
-17
29
4
-3
8
4
0
-3
-38
20
0
-1
-14
-14
-39
19
0
-5
-53
-36
82
0
62
-9
-23
-19
0
-3
-4
-6
-45
21
0
0
-25
-59
0
1
-4
62
16
-22
3
0
7
34
0
0
15
48
-43
9
-24
0
0
24
0
1
-1
-28
-36
20
11
4
38
47
0
0
8
-32
-19
3
31
6
-21
-3
0
-20
0
4
72
21
-12
43
35
-2
0
15
-6
0
-8
-121
27
6
-5
18
0
4
-23
-16
0
13
-3
-4
-12
1
0
11
6
5
-4
0
15
-54
40
53
0
4
-8
19
13
-21
0
-21
13
51
0
-3
9
37
-50
45
32
0
-10
-33
0
-1
9
3
20
-17
44
-21
0
14
0
-12
36
-55
4
3
14
32
-10
46
0
0
17
10
59
12
41
28
3
-44
0
-41
0
7
9
-18
-45
3
-15
12
0
18
-9
0
-45
-47
12
-12
-51
48
0
-2
-36
-6
0
46
16
58
10
57
0
-7
39
5
8
0
44
14
27
86
0
-9
-19
9
6
2
0
28
-64
-5
0
-9
49
31
-6
-38
-29
0
11
10
0
28
-3
-3
44
-20
-10
12
0
-4
0
-4
8
60
-5
-21
60
6
22
28
0
0
-15
-52
17
-24
53
18
39
41
0
-21
0
-39
18
25
17
-15
42
29
0
-6
18
0
11
-17
52
59
18
52
0
7
-11
-18
0
-3
10
37
-20
29
0
-4
7
-8
11
0
9
29
40
38
0
-4
26
-27
43
-61
0
-19
-29
47
0
3
11
-9
48
-17
45
0
-30
24
0
7
11
30
-29
32
-11
8
0
22
0
-24
-81
6
11
-15
0
-4
-38
-17
0
0
22
5
-9
25
-4
-11
40
37
0
-27
0
8
-31
-15
1
6
-34
42
0
26
14
0
37
39
15
-6
-4
21
0
17
42
-33
0
29
-16
-27
40
45
0
19
-1
-4
8
0
3
-9
-107
48
0
18
-2
35
57
-17
0
15
23
16
0
50
13
-48
9
2
-1
0
10
6
0
3
-29
-46
-2
0
-8
8
0
39
0
26
52
-37
-3
28
33
40
-40
3
0
0
17
-48
44
-5
-10
-6
-12
21
0
61
0
-8
-71
-4
46
10
-9
20
0
-4
-22
0
12
-12
18
-6
39
3
0
7
4
23
0
25
58
-11
13
41
0
9
-1
-52
-13
0
26
-9
37
9
0
-42
0
-1
-24
49
0
-4
52
72
0
3
-6
-30
-1
42
-43
0
0
24
0
-4
6
-11
10
0
17
0
0
26
0
-25
-27
38
13
23
30
-37
37
63
0
0
-2
41
-21
3
32
-45
-29
8
0
37
0
-6
-93
0
-6
-3
-5
50
0
10
-2
0
-3
44
26
-7
8
3
0
0
-2
14
0
2
30
-11
0
-1
0
0
0
13
-13
0
48
-3
0
26
0
0
0
0
-1
23
0
0
0
28
0
9
-1
-2
-24
-35
10
0
0
60
0
0
0
0
-1
-9
6
0
0
0
0
0
0
-23
-37
47
10
0
0
100
0
0
0
-6
11
13
-36
0
0
-24
0
0
0
0
-7
-34
36
0
0
76
0
0
0
0
0
51
-22
0
0
20
0
0
0
0
0
0
-39
0
0
6
0
0
0
0
0
0
-10
0
0
8
0
0
0
0
0
-1
0
0
0
33
0
0
0
0
0
0
-10
0
0
22
0
0
0
0
0
-3
0
0
0
60
0
0
0
0
10
13
50
12
4
-38
0
0
6
0
0
-2
7
-3
0
12
0
0
0
-2
2
7
-6
0
0
-37
0
0
40
0
-65
-6
12
-2
-17
-21
0
0
26
64
0
-27
-8
3
-9
-10
0
6
55
40
-30
0
17
28
-13
19
0
1
35
15
3
-12
0
-33
21
-7
0
21
21
10
-7
-16
-19
0
-3
-4
0
-4
-19
27
-9
-7
-28
45
0
11
0
41
81
17
87
36
18
0
-4
13
0
0
-25
22
65
16
-35
-1
22
56
0
-1
0
46
6
19
19
0
-19
-15
0
-16
100
0
-48
-13
-13
-21
29
-6
0
8
27
57
0
-53
-1
-8
-25
-2
0
24
-16
61
9
0
-5
-29
34
20
0
-31
6
18
-18
-31
0
-12
-89
-14
0
-16
29
27
-1
-24
-28
0
-17
1
0
2
14
32
-6
-7
-23
-58
0
9
0
-24
45
12
-78
21
10
-3
-40
5
0
0
13
93
-17
-9
34
24
-48
72
0
0
0
56
22
95
75
20
11
19
0
-54
5
0
-8
-7
11
73
3
-13
0
-9
-9
0
0
-46
6
6
60
-2
0
34
-3
25
-2
0
3
1
-16
19
0
-17
-11
3
-23
-14
0
-14
-26
-20
0
2
5
-7
-6
-5
5
0
-34
-13
0
-29
27
-12
-23
-5
-37
-30
0
24
0
3
21
49
11
-3
36
45
5
32
0
0
41
-33
-43
13
28
-27
14
30
0
1
0
-5
18
41
28
47
21
17
0
25
-21
0
64
25
14
-43
4
-6
0
-11
-37
-20
0
19
-9
35
-31
-16
0
18
-18
19
-7
0
10
-19
-7
-9
0
-5
69
1
-16
5
0
-16
-13
-30
0
-38
-25
4
-18
-7
-18
0
-20
-21
0
-2
15
-28
-30
0
23
-23
0
17
0
-30
24
32
39
18
22
31
-1
15
0
0
-17
-11
-59
8
0
27
15
-31
0
22
0
-16
-13
-5
22
-36
8
-11
0
22
-7
0
6
28
28
74
-31
-25
0
29
-47
-26
0
-29
8
-68
-49
-24
0
-44
-35
-32
-9
0
22
-6
-45
1
0
38
7
0
-21
-14
0
-18
20
-21
0
-39
-49
-18
-31
3
3
0
16
-7
0
2
-36
-37
-29
9
18
10
0
-8
0
23
-99
-42
-13
1
-7
-22
-17
14
0
0
-80
-6
-1
2
8
0
-11
-55
0
0
0
14
-2
-83
-49
-37
-7
13
0
34
-39
0
21
-5
-6
-63
46
-17
0
-26
-54
-25
0
24
-29
30
-28
-1
0
-42
22
-21
34
0
16
-41
-10
6
0
-7
-32
-12
3
47
0
-24
35
-22
0
-32
-17
-45
-33
24
-7
0
-12
-11
0
-21
-37
-35
-10
10
20
-31
0
-20
0
4
-60
-70
-6
-7
-11
-17
13
5
0
0
30
-63
-12
4
0
11
10
-45
0
6
0
-2
-13
-59
-52
3
7
18
0
-35
-22
0
-37
-9
20
-10
-20
2
0
-15
25
-34
0
-1
25
-38
47
-3
0
-69
-64
-39
5
0
-10
-3
-33
-5
0
-14
-63
-22
-10
48
0
16
37
-24
0
-47
-55
-54
-15
30
20
0
9
-36
0
-16
-8
-26
-1
7
-4
-10
0
-23
0
-1
-4
-28
-49
-15
-76
-3
65
3
0
0
25
-3
7
-18
0
24
-10
-41
0
0
0
0
-2
-52
-60
-6
0
22
0
-37
-17
0
14
17
-28
0
0
3
0
-6
-9
-2
0
-8
-37
-9
0
-20
0
-36
-17
-29
29
0
33
-3
8
-77
0
-8
-47
-36
9
16
0
23
0
-43
0
-35
-84
-88
1
32
17
0
-11
13
0
3
-13
2
26
54
-9
-76
0
-21
0
0
0
0
-7
8
-79
0
0
45
0
0
0
0
16
14
16
-2
0
-4
0
0
0
0
0
-2
0
0
0
8
0
0
0
0
0
-22
5
-7
0
-50
0
0
0
-12
0
4
-18
6
0
-1
0
2
0
-1
24
0
-12
0
0
-31
0
0
0
-6
60
-6
0
0
0
-16
0
0
0
-21
-23
19
18
0
0
87
0
0
0
-1
30
-36
-30
0
0
36
0
3
15
1
42
14
-3
25
24
56
0
0
7
-7
3
82
4
38
0
2
0
0
0
-9
-2
1
-27
-2
-7
9
0
0
0
0
6
22
-62
22
-4
121
0
1
0
23
0
88
53
-4
0
90
0
0
0
47
0
0
5
0
-6
41
0
0
0
-49
-34
14
0
3
0
51
0
0
0
-1
12
-35
-11
0
0
58
0
0
0
11
-1
-16
-3
0
0
12
0
-10
-2
74
-7
-8
41
8
57
16
0
0
0
38
53
51
25
4
-22
-8
0
-16
0
17
-44
-20
-47
-11
-17
56
0
-1
43
0
-4
41
67
20
-16
49
0
-2
45
35
0
-8
28
43
8
49
0
-2
51
76
20
0
27
7
0
14
0
0
-1
71
21
-29
0
17
26
20
0
0
35
-5
7
-8
-33
0
-2
16
0
-1
8
-3
-18
8
7
-3
0
-1
0
-21
-14
13
0
-10
-17
16
-29
24
0
0
14
28
22
5
31
-7
-8
40
0
28
0
30
-21
35
28
-28
-6
49
0
-31
25
0
-30
10
4
-3
14
25
0
3
22
-10
0
45
3
44
-33
30
0
3
-24
32
-19
0
13
51
-5
-2
0
11
13
63
50
28
0
-13
-12
21
0
-2
17
18
-39
37
12
0
26
30
0
44
1
4
3
17
-53
-17
0
18
0
-42
51
3
17
7
10
23
-17
25
0
0
1
30
18
-16
16
44
-4
26
0
16
0
0
16
38
29
43
21
34
0
10
-19
0
-16
-13
12
6
27
50
0
37
-84
6
0
-17
6
25
46
26
0
74
18
6
13
0
34
17
59
18
0
7
-8
-43
8
13
0
-29
0
61
0
-19
-1
45
-28
-3
41
0
-25
52
0
-4
-15
-13
-51
-39
3
-20
0
17
0
-11
-11
17
16
15
13
-7
3
15
0
0
-35
5
14
22
21
-31
30
9
0
-11
0
-57
11
28
15
-1
8
46
0
35
7
0
-7
2
25
-4
32
11
0
-54
16
25
0
-10
-9
12
-4
23
0
-22
-3
-19
-1
0
-31
-1
80
8
0
-38
35
-25
-9
-13
0
18
37
23
0
16
-30
-23
-27
-7
24
0
-5
12
0
9
-14
-12
28
-65
-6
-2
0
12
0
34
-3
18
14
14
-2
-5
12
10
0
0
-65
13
26
3
14
-48
22
6
0
-5
0
-60
25
-10
14
0
24
22
0
-66
-5
0
-38
13
2
-25
-58
11
0
28
19
-15
0
15
20
-26
11
6
0
-6
-6
-37
-8
0
-12
-12
-2
-4
0
8
1
13
-28
63
0
-50
-55
35
0
-2
2
15
54
53
-24
0
25
33
0
-13
4
14
-3
40
27
-1
0
-4
0
42
-51
-36
22
4
14
-41
-48
6
0
0
-29
-16
1
-21
7
-43
8
-26
0
2
0
-7
-8
10
-15
27
17
-28
0
11
9
0
-9
-14
25
-46
-33
1
0
-9
-7
-21
0
-21
24
-13
34
5
0
0
1
-40
65
0
17
7
-48
14
0
-28
-6
-4
-54
9
0
-7
2
-4
0
7
-2
-13
53
11
22
0
1
35
0
-2
9
-20
15
31
5
0
0
-14
0
-25
-87
2
24
3
-5
-53
-17
4
0
0
26
-92
-17
29
15
-3
44
-12
0
-18
0
15
-54
23
7
-10
-14
-20
0
0
-1
0
47
9
44
2
2
-7
0
0
1
-61
0
-49
-11
-38
-7
3
0
0
-3
0
0
0
-15
-28
-4
0
0
3
0
-1
25
-21
0
4
11
0
0
0
0
-1
-22
53
-11
0
0
-30
0
0
-2
-2
6
16
24
0
0
-55
0
0
0
-65
3
-2
-17
13
0
-44
0
0
0
-17
-36
-2
10
1
0
-82
0
0
0
0
53
-56
3
0
0
-23
0
0
0
0
21
-12
30
3
0
-56
0
0
0
0
0
-17
-70
-1
0
1
0
0
0
0
-1
0
-1
0
0
49
0
0
0
0
0
-3
0
0
0
33
0
0
0
0
0
-13
22
0
0
-1
0
0
0
0
0
2
-5
0
0
31
0
-6
-61
-52
9
36
21
11
-25
38
0
0
-7
14
25
25
7
-19
-8
6
0
0
0
11
80
-44
28
-13
0
28
0
-1
66
0
-36
44
13
-7
4
44
0
-1
-32
59
0
1
11
-9
-2
12
0
71
8
-2
19
0
-6
10
0
-55
0
48
-7
-11
-15
-29
0
1
0
12
0
52
48
-8
1
4
-2
0
1
-12
0
20
3
-14
-21
12
-19
0
0
38
0
0
19
10
3
-12
28
14
25
21
0
0
33
-9
-50
18
19
14
5
-1
0
1
0
27
78
10
29
-16
6
17
0
-26
24
0
-50
7
-13
27
6
33
0
-5
21
47
0
-9
26
-49
-6
17
0
-27
37
18
31
0
-3
13
-13
-12
0
-23
5
-13
-16
-40
0
-33
29
-11
0
-76
30
4
-4
-7
-4
0
-25
-6
0
23
-34
7
-19
-11
8
10
0
11
0
-48
31
2
0
19
29
16
11
17
0
0
41
-11
5
-3
27
-30
24
-16
0
0
0
40
10
-23
-52
-77
-24
7
0
71
-33
0
34
-26
13
12
45
-3
0
38
-1
-7
0
-62
26
22
-70
24
0
37
37
36
11
0
27
-44
27
-1
0
-19
-12
16
2
12
0
-26
13
-13
0
-32
-43
-3
-25
2
-5
0
-21
-13
0
-14
-56
-10
-7
-12
-20
-8
0
-5
0
20
53
2
14
13
19
10
12
37
0
0
-38
30
3
-5
-17
26
-27
-1
0
19
0
-65
-14
-9
31
35
45
-7
0
9
54
0
-33
8
-4
3
-57
6
0
-67
19
-7
0
-16
-8
41
-8
7
0
-19
-73
-22
25
0
27
-13
-25
4
0
-36
-1
1
2
36
0
7
-48
-19
0
-26
-16
-6
-26
-15
19
0
-11
1
0
-8
-6
-2
2
6
10
-23
0
8
0
61
38
-7
-18
-9
-2
10
37
-7
0
0
-81
-5
-56
0
-13
-53
32
-12
0
13
0
33
-8
29
-54
26
35
-3
0
60
-3
0
25
-31
56
-41
-12
-11
0
-34
-11
7
0
-19
-43
17
-26
-12
0
-13
2
-2
-2
0
0
20
36
13
0
-30
-17
12
16
-2
0
-50
-21
-22
0
-46
-22
-18
-16
-18
12
0
0
-4
0
-42
-20
-4
7
9
-27
-28
0
8
0
-9
-27
3
30
10
9
31
-22
0
0
0
-38
-4
27
-14
-4
-22
26
1
0
-6
0
0
-63
-60
4
21
-2
-5
0
-57
-24
0
16
-8
22
-22
16
-8
0
17
-30
-25
0
0
-9
-23
24
-6
0
-62
14
-13
21
0
-12
-22
-15
1
0
-12
-19
-9
30
8
0
29
-15
-19
0
-27
-23
4
-11
-17
-6
0
25
7
0
-42
6
2
2
-6
-2
-22
0
11
0
3
-28
13
21
4
19
-24
13
3
0
0
57
-17
-21
-18
4
8
-18
14
0
-3
0
-9
-29
-28
36
7
1
-3
0
-84
-22
0
40
-30
4
-22
-37
-20
0
-33
-57
-25
0
21
-31
-20
12
-14
0
-60
-51
11
-9
0
-8
20
-6
10
0
-55
-5
5
-16
5
0
33
57
-18
0
-15
-26
-5
-17
-2
-3
0
4
5
0
-41
3
19
5
9
-9
-56
0
-1
0
0
-8
-45
-13
-13
-47
-42
15
14
0
0
7
-20
-79
13
4
68
-3
-1
0
0
0
0
33
52
-45
9
0
16
0
-20
31
0
-25
4
-51
-2
0
-9
0
40
12
-26
0
-54
-6
-2
0
-9
0
-37
-8
8
-3
0
5
-26
-27
-2
0
1
1
-18
-39
-29
0
9
8
-20
0
39
-22
-6
-14
-32
0
0
-44
-17
0
-17
-20
-15
-4
-4
18
-23
0
-5
0
0
0
0
-7
12
-12
1
0
-45
0
0
-1
0
47
-1
25
0
0
18
0
0
0
0
0
0
-7
0
0
2
0
-1
0
0
0
7
8
0
0
-38
0
0
0
17
0
-10
-22
0
0
-8
0
2
0
-62
-20
0
17
0
0
-26
0
0
-1
-15
-22
5
0
0
0
16
0
0
-61
42
-35
5
36
0
0
18
0
7
0
0
12
-17
12
0
0
28
0
7
-24
45
18
1
3
32
-33
4
0
0
-24
14
7
26
29
36
-82
-4
0
-18
0
11
10
29
19
0
-4
-6
0
0
-4
0
68
12
20
77
9
21
0
-2
43
32
0
20
4
62
-3
-3
0
-1
-6
50
44
0
-3
36
16
-6
0
2
-1
-10
-14
-7
0
9
6
-18
0
0
0
8
25
-23
-9
0
0
47
0
0
2
6
11
-10
3
0
0
2
0
-4
-10
33
-8
-5
4
-4
20
2
0
0
-11
2
35
47
21
-25
21
20
0
1
0
-24
-5
16
12
-22
-20
35
0
59
71
0
-6
7
16
16
17
41
0
-20
-45
27
0
14
20
-2
83
32
0
-3
21
0
65
0
37
-3
1
39
0
-16
17
1
-10
28
0
-72
-3
-24
0
-2
10
16
62
-8
32
0
-8
19
0
-1
-6
37
16
47
-4
28
0
28
0
14
-28
0
13
12
6
19
1
35
0
0
41
0
6
45
33
28
2
34
0
-59
0
5
-7
34
-7
77
25
31
0
-10
66
0
-60
2
20
14
3
65
0
6
-40
6
0
-2
36
9
-22
56
0
1
-26
19
8
0
75
-40
17
20
0
24
4
2
10
12
0
-32
-14
44
0
16
-6
20
13
20
41
0
27
5
0
20
9
25
-26
-38
-22
-29
0
4
0
-72
-8
-6
27
22
20
16
5
11
0
0
3
25
33
37
48
7
33
0
0
43
0
-38
-34
11
14
8
-3
7
0
-1
-8
0
1
-6
3
4
-39
39
0
13
-52
33
0
2
17
66
-42
32
0
10
-6
54
21
0
53
-37
5
36
0
-8
-13
-24
84
-11
0
25
-16
33
0
0
5
-41
-25
24
8
0
-9
18
0
50
9
-10
41
2
-27
4
0
-1
0
-22
1
-22
0
3
-11
-13
-26
22
0
0
-50
16
15
24
21
10
29
16
0
-6
0
-39
16
28
30
-20
30
35
0
-30
-2
0
-4
-3
-15
-19
29
34
0
1
22
-21
0
11
-5
-42
17
43
0
-9
29
-9
-11
0
45
58
25
60
0
-1
39
80
23
-18
0
5
0
41
0
-3
1
-19
-33
20
-12
0
26
22
0
40
-5
-30
15
-3
-8
-32
0
-11
0
15
-11
-40
2
14
-10
1
-12
6
0
0
18
-19
2
9
20
-42
16
2
0
11
0
-53
9
36
48
27
34
16
0
-30
-49
0
-8
13
0
-23
31
6
0
-20
39
-9
0
-14
-28
-31
-70
28
0
9
42
-19
22
0
-39
-40
-15
45
0
7
5
-6
-68
0
0
8
32
65
0
-3
0
20
28
-11
-43
0
13
45
0
2
1
-41
28
48
13
34
0
-9
0
32
-12
-9
-1
10
-4
-11
-7
26
0
0
9
-20
30
29
15
50
25
20
0
-3
0
55
-26
16
4
8
-4
16
0
-11
-27
0
17
-20
-27
-20
5
28
0
23
13
-14
0
-48
-49
-57
71
12
0
0
-3
-39
-21
0
-30
7
-30
44
0
-15
0
-9
-51
6
0
0
-3
22
0
0
3
1
17
-44
17
0
2
25
0
-13
-6
36
-22
-1
3
-1
0
-12
0
-65
28
-1
3
1
5
-9
58
-2
0
0
-2
3
24
3
15
4
-34
19
0
16
0
18
39
37
-4
-27
-4
39
0
7
-4
0
-11
-11
-10
12
-18
38
0
0
-8
-36
0
10
-17
-7
-3
-5
0
0
0
-5
-28
0
-14
-7
0
11
0
0
0
-2
7
33
0
-10
0
20
0
-1
-3
-11
-27
31
2
0
-9
22
0
0
0
-3
-1
0
-12
0
0
9
0
0
0
33
18
-9
-2
-3
0
24
0
0
0
-27
53
-10
8
0
0
32
0
0
0
0
-28
13
-17
0
0
48
0
0
0
0
-2
24
32
0
0
-26
0
0
0
0
0
3
-24
0
0
-30
0
0
0
0
0
0
-30
0
0
26
0
0
0
0
0
-12
0
0
0
8
0
0
0
0
0
0
20
0
0
19
0
0
0
0
0
-8
16
0
0
44
0
0
0
0
8
25
61
14
9
-4
0
0
6
0
0
-2
18
-3
0
25
0
0
0
-2
2
6
-7
0
0
-4
0
0
34
0
-78
36
-23
0
-11
-4
0
0
17
57
0
-29
29
-5
-3
17
0
2
41
12
-26
0
19
18
-13
15
0
1
23
-5
-11
-9
0
4
12
-14
0
25
9
41
-8
-30
-7
0
2
4
0
-6
-8
64
-24
-31
-42
-17
0
21
0
41
85
22
57
18
37
-4
13
8
0
0
-42
18
91
25
-12
-6
19
15
0
-1
0
16
12
28
33
-1
-19
4
0
-10
78
0
-23
-35
19
-4
28
22
0
14
64
29
0
-35
13
-3
-15
25
0
34
2
53
-39
0
-3
8
5
16
0
-58
35
23
-35
-26
0
-27
-80
-10
0
-37
18
56
-31
6
7
0
7
9
0
-12
45
46
-17
9
-28
-21
0
0
0
-30
66
15
-3
45
28
1
-47
12
0
0
8
84
-13
14
-10
0
-52
13
0
0
0
108
43
80
68
3
15
36
0
-33
16
0
-11
19
25
93
1
13
0
1
-41
0
0
11
-5
21
42
16
0
22
-21
33
1
0
29
-12
10
34
0
-12
-41
-23
-31
-13
0
-30
-37
-13
0
-8
7
4
-7
8
-18
0
1
-8
0
-16
39
-10
-41
13
2
8
0
33
0
-5
-8
17
27
35
35
38
15
18
0
0
53
-30
-9
-5
31
9
57
-17
0
1
0
-12
14
36
20
64
14
1
0
45
-66
0
104
-25
35
-46
-9
-14
0
-20
-58
-6
0
25
2
51
-38
-9
0
14
-22
-1
12
0
34
21
-18
7
0
11
33
-33
-11
-19
0
-15
3
-15
0
-15
4
-13
24
21
2
0
-11
-28
0
17
6
-46
-23
2
-8
-17
0
18
0
-1
14
23
0
-5
1
30
2
21
0
0
-11
2
-56
9
20
22
30
1
0
21
0
-13
-18
-27
-19
-25
6
-30
0
24
-40
0
6
-17
64
54
-29
-50
0
-9
-15
-65
0
-42
39
-82
-15
-30
0
-50
-33
-58
66
0
-10
-36
-21
-17
0
50
31
-8
-12
-3
0
-32
51
-23
0
-13
-14
4
-12
38
-5
0
-26
-25
0
-44
-51
-36
41
-9
-10
-12
0
-14
0
12
-114
-37
11
-28
-12
8
-43
-12
0
0
-71
-32
-74
-10
-18
28
8
-2
0
0
0
15
0
-53
-13
-30
-6
-2
0
22
-6
0
-3
21
-33
-79
33
-12
0
-28
-27
-5
0
-18
-63
22
-19
-11
0
-25
55
-15
7
0
-14
-8
4
0
0
11
-31
-8
13
29
0
-26
23
-1
0
-49
-31
-64
-17
45
10
0
-19
-9
0
-4
-45
-62
1
24
26
17
0
-44
0
-5
-73
-65
-26
-29
-28
-23
10
2
0
0
22
-38
0
2
15
-53
-27
9
0
3
0
-2
-16
-53
-69
-2
7
16
0
-62
-21
0
-15
-16
16
-20
-20
-25
0
-11
33
-36
0
6
0
-26
46
-18
0
-59
-48
-43
-30
0
-5
-5
-33
-5
0
-8
-55
-5
3
22
0
34
35
-44
0
18
-40
-92
-35
31
15
0
7
-41
0
-18
-7
-70
-22
24
7
-9
0
-46
0
-1
-4
-30
-17
-21
-100
-3
62
22
0
0
19
16
9
-29
-8
39
-7
-6
0
0
0
0
-2
-50
-41
-8
0
24
0
-22
-22
0
13
29
-94
-1
0
12
0
-6
-4
3
0
-12
-19
-9
0
-27
0
-28
-19
-21
51
0
31
-18
8
-47
0
-8
-46
-23
29
19
0
22
0
-46
0
-23
-68
-91
21
20
12
0
-1
-35
0
10
-14
-28
41
50
23
-53
0
-15
0
0
0
0
-8
-2
-97
0
0
41
0
0
0
0
22
11
-2
-2
0
-4
0
0
0
0
0
-2
0
0
0
-10
0
0
0
0
0
-21
8
-7
0
-38
0
0
0
-6
0
2
-27
6
0
-11
0
2
0
2
4
0
-22
0
0
-29
0
0
0
-6
62
30
0
0
0
13
0
0
0
-19
-15
-10
13
0
0
96
0
0
0
-1
37
-33
-37
0
0
12
0
1
14
0
57
0
14
6
29
47
0
0
6
-8
3
48
7
55
0
10
0
0
0
-10
-5
20
-4
-5
-13
25
0
0
0
0
14
-13
-73
21
-8
71
0
1
0
25
0
128
39
-7
0
109
0
0
0
34
-2
0
43
0
-6
43
0
0
0
-50
-14
21
0
3
0
67
0
0
0
4
11
-34
-22
0
0
46
0
0
0
11
8
16
-1
0
0
16
0
-12
18
33
13
45
32
-8
57
5
0
0
0
7
25
14
31
20
-23
-6
0
-25
0
20
-21
5
2
4
-5
45
0
0
23
0
8
75
54
21
-4
59
0
-2
34
38
0
30
11
36
24
52
0
-1
53
72
28
0
38
2
-12
22
0
0
-7
73
6
-55
0
24
19
23
0
-1
41
7
14
-30
-46
0
-4
18
0
-1
12
25
10
-12
22
-2
0
0
0
-18
-1
-5
-7
-11
10
-3
-39
25
0
0
55
3
49
22
51
-2
-40
13
0
47
0
16
22
47
14
-40
0
22
0
-21
17
0
-31
-5
38
42
34
82
0
2
20
-6
0
3
18
14
-41
6
0
-4
-42
63
-4
0
-4
52
2
4
0
10
6
44
52
31
0
-13
-2
-6
0
-4
11
8
-58
114
-17
0
28
27
0
26
1
-5
-1
32
-66
-22
0
14
0
-45
33
8
21
19
32
-11
14
5
0
0
24
29
-8
18
38
9
-6
28
0
35
0
33
25
22
37
53
28
58
0
5
-5
0
-51
33
11
-24
36
39
0
33
-59
1
0
-26
-9
8
26
63
0
61
25
-17
14
0
-9
51
48
-3
0
6
2
-40
18
16
0
-28
36
41
0
-12
-21
44
-42
18
78
0
-27
8
0
-1
-8
-7
-50
-18
29
-21
0
20
0
0
-53
21
31
-5
-6
5
7
14
0
0
-34
38
16
10
37
-33
43
35
0
-15
0
-58
-7
-1
17
2
2
37
0
26
18
0
-11
-25
-16
-30
29
-5
0
-44
9
5
0
3
-22
22
-4
9
0
-24
3
-47
-44
0
-1
-3
67
13
0
-32
35
-22
-43
23
0
16
22
71
0
15
-23
-47
0
-24
17
0
22
-6
0
-2
-11
-11
31
-49
-4
-1
0
2
0
16
10
-13
25
-6
-6
-14
2
-9
0
0
-73
48
2
-16
5
-50
-2
7
0
14
0
-52
15
21
29
5
-23
16
0
-62
-12
0
-21
-20
24
-10
-48
21
0
21
12
-10
0
-2
37
-8
-15
4
0
-6
-19
-15
-20
0
-1
-19
-6
44
0
10
8
32
-34
54
0
-53
-35
46
0
-2
2
0
15
32
-34
0
28
29
0
-10
1
24
18
12
-2
-1
0
6
0
49
-22
7
20
-1
-6
-5
-52
2
0
0
-55
-47
-37
19
-32
-58
27
-9
0
-45
0
-14
-21
0
-11
25
52
-19
0
32
0
0
40
-34
-21
-9
-59
34
0
6
8
-22
0
-42
17
-9
36
-15
0
0
1
-73
75
0
1
-17
-32
-22
0
-15
1
-3
-23
-21
0
-15
-8
18
0
11
-2
-5
64
-15
31
0
0
66
0
-2
9
-28
-12
28
10
0
0
-23
0
-20
-84
52
9
-24
-1
-20
-28
-3
0
0
24
-84
57
-10
-2
44
34
-33
0
-40
0
38
-64
15
-1
-4
-12
-25
0
0
-1
0
35
25
41
-19
2
-50
0
0
0
-48
0
-29
4
-39
-2
-6
0
0
-3
0
-13
0
-43
-27
-3
-16
0
3
0
0
18
-7
0
-2
11
-4
0
0
0
0
-32
34
8
0
0
-18
0
0
-2
-2
6
16
5
0
0
-16
0
0
0
-79
-30
17
-27
17
0
-23
0
0
0
-17
-42
1
-7
3
0
-79
0
0
0
0
73
-74
-13
0
0
-15
0
0
0
0
16
-54
43
3
0
-51
0
0
0
0
0
-10
-67
-1
0
12
0
0
0
0
-1
0
11
0
0
50
0
0
0
0
0
-6
0
0
0
11
0
0
0
0
0
-13
22
0
0
-7
0
0
0
0
0
2
-3
0
0
48
0
-3
-56
-40
46
31
35
23
-40
25
0
0
-11
12
-2
2
25
10
-6
21
0
0
0
10
102
-23
28
-14
0
14
0
-1
26
0
-13
-24
57
-1
4
35
0
0
-59
80
0
-18
12
-12
-2
48
0
63
-17
25
-3
0
28
-9
0
-6
0
47
-30
-7
-12
-53
0
1
0
15
0
20
45
5
-17
16
21
0
1
7
0
1
22
-48
-5
-24
-23
0
0
9
0
-2
18
-10
-19
-1
2
19
14
12
0
0
16
19
-15
6
14
2
48
28
0
1
0
29
72
40
35
-8
5
4
0
-39
21
0
-34
1
-3
37
20
21
0
-3
56
31
0
-17
-5
-108
13
51
0
-34
33
57
14
0
-49
67
41
-22
0
-40
25
-15
-9
-3
0
-12
62
-10
0
-76
-9
-1
-16
-10
20
0
0
1
0
47
-32
41
-14
-9
7
-37
0
10
0
-49
32
-14
20
-21
17
32
14
17
0
0
60
-25
42
14
-25
-22
30
-8
0
0
0
19
-9
-27
-56
-67
-16
17
0
108
-48
0
21
26
28
15
26
1
0
39
5
16
0
-22
15
65
-67
26
0
2
-10
7
15
0
15
-37
26
34
0
-3
-41
7
46
19
0
-15
0
-25
0
-2
-24
-36
-22
-5
10
0
20
-6
0
-35
-65
-18
-25
54
29
-7
0
18
0
8
1
43
22
1
-8
-17
9
5
0
0
-21
29
-6
8
0
-7
-56
1
0
18
0
-49
-11
-28
8
41
46
17
0
-2
20
0
-39
-19
25
22
-61
20
0
-97
1
-27
0
-12
28
84
-6
-4
0
-28
52
7
35
0
17
-6
-40
1
0
-37
-24
37
14
39
0
14
-42
10
0
33
-1
7
-5
26
10
0
-10
-33
0
-1
-32
-7
-9
15
16
22
0
7
0
54
46
-7
1
48
-2
-3
10
-12
0
0
-87
-10
-13
10
-30
-66
25
-3
0
11
0
49
-26
41
-40
12
33
3
0
38
-9
0
15
-4
-5
-47
4
-9
0
-24
0
-30
0
-14
-17
-7
-30
-17
0
40
-16
-18
-9
0
38
9
48
25
0
-31
-46
-17
3
17
0
-60
-38
-10
0
2
-37
-6
8
12
-7
0
-11
10
0
-17
-25
-12
-15
-26
-17
16
0
13
0
8
-38
-36
-2
-26
38
-24
-15
-12
0
0
-39
22
-2
6
18
-15
12
-4
0
0
0
1
-65
-61
47
20
1
20
0
-42
-2
0
-1
54
25
-41
5
1
0
12
-24
-15
0
-11
6
-33
47
9
0
-51
-1
-12
11
0
17
-10
-20
20
0
25
2
6
-30
29
0
54
-16
-10
0
-35
-6
-20
-13
-4
19
0
5
17
0
4
12
-28
-18
-8
23
-10
0
-2
0
1
-27
21
5
8
-5
21
34
37
0
0
42
-20
-18
17
11
27
-25
17
0
-2
0
-9
-28
-8
36
9
1
-4
0
-62
-18
0
73
-42
-55
-28
-39
11
0
-36
-21
-69
0
40
-24
-27
8
-26
0
-53
-33
-36
-15
0
-27
14
-8
1
0
-59
27
24
-21
-16
0
21
58
-25
0
15
15
-6
-20
-14
13
0
17
25
0
-57
1
-23
14
17
-35
-48
0
1
0
0
-9
-42
-28
-44
-18
-32
27
4
0
0
2
-14
-88
0
-35
61
-3
-28
0
0
0
0
30
34
-57
9
0
-17
0
-24
45
0
-22
-6
-52
2
0
6
0
45
0
23
0
-45
-14
4
0
15
0
-38
-9
-16
2
0
13
-16
-21
-28
0
14
11
-100
-19
-26
0
-15
3
-21
0
-44
-28
-12
-25
-14
8
0
-55
-1
0
-15
2
4
23
-27
-15
-22
0
-18
0
0
0
0
-7
43
-19
1
0
-52
0
0
-1
0
47
-12
46
0
0
16
0
0
0
0
0
0
-4
0
0
16
0
-1
0
0
0
16
4
0
0
-44
0
0
0
9
0
-13
-20
0
0
-19
0
2
0
-82
-1
0
20
0
0
-11
0
0
-1
-15
-21
-25
0
0
0
7
0
0
-59
48
-37
8
7
0
0
-1
0
7
0
11
13
-7
-23
0
0
10
0
8
-11
24
40
2
-18
15
-33
35
0
0
-23
8
40
43
42
27
-82
-10
0
-17
0
18
1
-8
4
15
-1
14
0
0
-12
0
66
-12
10
84
11
42
0
11
41
17
0
9
43
52
-3
19
0
-4
-2
55
37
0
14
48
15
22
0
2
-1
-6
-9
-18
0
9
6
-8
0
0
0
8
12
-28
-14
0
0
34
0
0
2
6
28
-31
2
0
0
26
0
-17
-51
-21
-4
10
7
-14
3
31
0
0
-17
46
6
30
11
-16
29
26
0
-3
0
-57
-1
34
4
-5
-45
56
0
56
75
0
-48
-8
39
-27
-14
62
0
-4
-44
51
0
23
35
-9
97
82
0
-1
17
47
56
0
39
-27
6
26
0
-10
24
2
-21
25
0
-54
13
33
0
-7
14
21
28
1
15
0
-8
18
0
0
2
22
14
31
4
27
0
13
0
19
10
-3
18
36
33
55
-16
15
0
0
74
-10
14
69
21
-8
-12
16
0
-77
0
13
27
5
54
90
21
36
0
-17
39
0
-32
26
55
8
18
41
0
2
-32
15
0
-9
-10
5
-7
63
0
0
-21
-20
15
0
62
-18
5
34
0
19
-2
-29
22
5
0
-20
-1
19
0
16
-5
27
11
4
-18
0
32
5
0
17
8
49
5
-21
-23
-29
0
10
0
-77
0
36
18
45
12
-14
20
19
0
0
20
23
1
15
16
-45
23
20
0
64
0
-38
-51
42
26
3
10
14
0
-10
13
0
-35
8
16
3
-10
24
0
12
-48
16
0
-38
-16
114
-12
55
0
-3
-4
24
5
0
93
-11
-27
40
0
-9
-6
-36
91
16
0
19
18
59
0
0
-4
-83
-11
52
25
0
2
70
0
28
3
-7
-9
21
-45
1
0
2
0
-19
-20
-17
13
45
3
-8
1
24
0
0
-7
-6
17
57
16
38
20
7
0
7
0
-20
-10
49
14
-6
45
47
0
-15
-18
0
28
-4
-10
-13
46
39
0
2
22
-23
0
6
9
-79
-25
21
0
-6
19
-22
-58
0
32
39
26
84
0
0
38
83
-19
-36
0
-19
-21
36
0
-2
-14
9
-30
46
-3
0
37
-24
0
39
3
-22
40
20
-7
-29
0
-3
0
54
14
-21
-12
-18
27
-20
-30
0
0
0
-19
-19
14
59
8
35
72
13
0
-11
0
-31
-8
40
31
-2
35
-16
0
-28
-35
0
23
-40
-21
7
17
48
0
-17
40
-28
0
32
-10
-46
-77
8
0
8
21
-11
15
0
-57
-39
1
36
0
6
9
-11
-51
20
0
15
13
33
0
-3
6
-3
38
-33
-36
0
-8
66
0
-6
-10
-18
8
41
8
28
0
-7
0
31
-17
4
15
9
-12
9
-12
15
0
0
-3
14
40
-5
17
32
-7
11
0
-2
0
52
25
40
14
-19
-7
24
0
4
-16
0
39
-29
-20
-5
-9
3
0
21
11
-2
0
-49
-94
-45
62
27
0
0
-4
-46
-9
0
-35
33
-20
7
0
-9
0
3
-29
-1
0
-2
-11
-3
0
-6
6
17
12
-52
35
0
3
-4
0
-9
-2
18
-14
-10
5
0
0
-20
0
-72
37
9
-13
-32
-1
7
68
12
0
0
-2
-33
13
-32
37
11
-29
17
0
-2
0
17
63
19
27
-25
-2
41
0
5
-8
0
-9
-38
-52
11
-20
5
0
0
-8
-36
0
9
8
-2
0
1
0
0
0
-4
-25
0
-19
-7
0
-28
0
0
0
-1
7
33
0
-10
0
-13
0
2
-3
-8
-24
18
3
0
-9
9
0
0
0
-3
-1
1
-11
0
0
-4
0
0
0
24
21
-6
-1
-3
0
-6
0
0
0
-28
33
-39
26
0
0
9
0
0
0
0
-34
44
-9
0
0
40
0
0
0
0
-2
72
7
0
0
-30
0
0
0
0
0
4
-23
0
0
-40
0
0
0
0
0
0
-29
0
0
16
0
0
0
0
0
-10
0
0
0
5
0
0
0
0
0
0
22
0
0
11
0
0
0
0
0
-8
9
0
0
-9
0
0
0
0
0
9
3
2
-2
7
0
0
0
0
0
0
-7
0
0
1
0
0
0
0
0
1
-1
0
0
4
0
0
-1
0
0
3
-17
1
0
47
0
0
0
-27
0
-2
28
6
0
-13
0
0
-1
-19
61
0
18
0
0
33
0
1
0
-25
42
12
0
25
-6
12
0
-2
3
-6
-29
-36
-41
0
-24
44
0
0
3
45
-42
3
7
-18
0
-24
0
1
1
5
25
33
8
-20
40
-3
0
0
-5
-1
6
-13
-25
1
-1
-14
0
0
0
-11
0
4
22
4
-1
93
0
-1
11
0
-3
1
0
6
-5
17
0
2
8
-26
0
7
14
-10
10
27
0
-12
1
66
-48
0
-69
18
-7
-42
0
0
-14
2
2
46
0
-2
-6
32
0
11
-26
48
-36
-35
16
0
0
9
0
-41
-10
-18
20
-24
31
6
0
8
0
0
10
4
15
13
-21
-10
2
31
0
0
-7
46
27
7
37
3
-10
-11
0
0
0
28
12
6
0
-6
2
-35
0
3
-8
0
-11
3
-1
-9
4
0
0
3
-6
9
0
-5
-28
-7
-1
46
0
-4
-12
-12
4
0
3
21
8
12
0
3
-4
-8
-42
-33
0
-3
-9
27
0
24
52
-65
40
51
17
0
28
15
0
4
2
-14
-20
40
5
24
0
5
0
1
-2
-10
31
4
-9
-6
12
-17
0
0
-19
-1
42
47
19
8
17
-15
0
0
0
0
-5
-64
13
2
-1
-19
0
0
16
0
13
-21
15
-24
-3
-9
0
-1
0
23
0
15
6
9
-7
36
0
0
-10
-43
-21
0
67
-21
-2
-1
0
-1
-1
-13
-15
28
0
2
4
37
0
-3
-21
42
27
19
-25
0
9
17
0
1
7
7
9
1
-20
-28
0
24
0
18
-10
1
-49
40
17
-3
-12
19
0
0
10
-2
-19
27
41
-27
19
43
0
1
0
0
4
-1
-37
11
-4
9
0
0
-1
0
-2
-6
-27
2
1
-1
0
0
-2
-6
0
-28
-15
-9
0
0
0
0
-4
5
43
0
-21
0
0
34
0
2
-1
10
-6
9
0
-7
-3
-28
0
0
1
3
55
15
9
0
-24
3
0
-16
0
5
68
-20
-62
3
0
10
0
-1
-1
-10
-37
-90
7
35
-20
-22
0
0
0
4
-37
-34
-23
-3
18
6
0
0
0
0
-1
13
0
-4
0
4
0
-6
1
0
-4
19
0
0
-2
12
0
0
-3
17
0
6
-19
0
-4
-11
0
0
-2
5
48
0
16
-6
-1
-89
0
0
1
27
-22
-9
0
4
1
44
0
4
2
9
11
-67
-4
0
8
27
0
3
0
-2
-2
6
-10
-1
0
7
0
-1
0
3
-3
-13
-51
6
-29
-1
0
0
0
-6
4
-24
-42
2
-27
24
0
0
0
-1
0
0
24
-1
0
-37
0
-3
-9
0
0
1
0
10
1
-50
0
1
0
3
0
6
3
4
0
16
0
0
0
-18
-85
0
22
0
0
8
0
0
-3
19
-20
-35
0
0
0
21
0
0
29
-21
23
53
50
0
0
-39
0
0
-18
-11
-22
37
29
0
0
-5
0
0
0
0
11
-6
-1
1
4
30
0
0
-1
0
-9
-16
-13
4
0
-32
0
0
0
0
0
0
7
0
0
-11
0
2
0
0
2
3
-8
0
0
29
0
0
-1
1
0
0
12
0
0
-12
0
0
3
-2
-8
0
-11
0
0
48
0
0
0
0
0
-12
0
0
0
2
0
2
-2
-3
-57
-8
18
0
0
-47
0
1
0
2
46
-17
-8
1
0
-2
0
0
0
0
0
-13
-3
0
0
-5
0
0
0
0
1
1
7
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
1
0
0
0
-2
3
0
-21
0
0
1
0
0
0
0
8
-10
0
0
0
-7
0
0
0
0
0
-10
-44
0
0
-1
0
0
0
0
0
-7
0
0
0
26
0
0
3
2
-5
14
1
-7
-11
13
0
0
0
-1
0
-9
-8
6
-2
12
0
0
0
2
-6
15
57
-1
-3
37
0
0
0
0
3
4
20
0
-1
-12
0
0
0
0
0
22
-24
0
0
33
0
0
0
0
-9
0
10
0
0
10
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
0
0
21
0
0
15
-23
35
33
9
22
0
69
0
0
2
-9
-8
5
-13
-12
1
33
0
0
0
7
5
10
44
-8
-10
57
0
0
-8
0
27
-1
-28
-5
-6
62
0
-2
0
3
0
24
-9
8
1
60
0
0
0
-4
13
0
-5
-2
-1
28
0
0
1
3
-1
1
0
0
0
-46
0
0
0
0
8
1
0
0
0
26
0
0
0
2
1
1
2
0
0
-10
0
2
26
35
-116
2
42
-43
-3
-32
0
0
3
-25
29
4
62
4
28
53
0
12
0
17
25
-11
-9
5
5
14
0
-1
-10
0
-15
-9
37
5
19
49
0
0
0
-1
0
-42
12
4
-8
7
0
0
-2
15
19
0
23
0
10
6
0
0
2
-1
-4
-7
0
3
-2
-6
0
-1
0
-1
3
18
0
0
0
-5
0
-1
0
-1
-1
3
-3
0
0
-28
0
2
-14
-37
-69
-8
18
10
-5
33
0
0
21
15
-31
26
64
32
-7
-7
0
21
0
6
-2
-40
-15
-5
6
-11
0
-1
12
0
-10
16
43
19
2
-40
0
0
0
17
0
25
-38
-4
1
7
0
-1
0
-3
9
0
-34
17
1
14
0
0
0
0
8
0
0
-1
0
-22
0
0
0
0
0
3
7
0
-2
18
0
0
0
0
-1
7
-2
0
0
22
0
7
-10
3
78
5
-50
34
51
-39
0
0
1
47
-37
-68
12
13
-24
-16
0
3
0
-8
38
25
-80
-6
-13
-7
0
0
0
0
27
22
-55
-9
-11
20
0
0
0
3
0
-7
21
-10
0
-14
0
0
0
1
3
0
6
-24
0
2
0
0
0
0
-6
16
0
-7
1
49
0
0
0
0
-1
1
0
0
0
-42
0
0
0
0
-1
-1
-1
0
0
-32
0
4
-37
-11
69
-16
-83
-10
-3
2
0
0
0
32
-1
10
-25
-31
-11
-18
0
-4
0
13
-20
52
-4
-22
-3
-10
0
0
0
0
10
-7
-6
0
-2
-18
0
0
0
8
0
8
-30
6
-4
-20
0
0
0
-7
-1
0
-6
-7
3
-1
0
0
0
0
-1
-7
0
0
-2
0
0
0
0
0
0
7
-7
0
0
-9
0
0
0
0
-1
1
2
0
0
30
0
8
16
-40
73
-21
15
-4
-8
-18
0
0
0
-16
-36
37
-30
3
14
-7
0
-22
0
-2
-29
38
15
7
0
-4
0
0
0
0
-13
-24
-27
-1
-1
-1
0
0
0
0
0
-21
0
0
1
-11
0
0
0
0
-6
0
-3
-2
-2
-22
0
1
-1
0
0
-6
0
2
0
19
0
0
0
0
0
-13
4
0
0
-11
0
0
0
0
0
0
0
0
0
-43
0
0
1
11
16
26
-6
23
-24
2
0
0
0
-1
58
-13
-49
8
15
-42
0
1
0
0
-11
-39
45
4
0
-17
0
0
0
0
2
-10
4
0
0
-4
0
0
0
0
0
0
21
0
0
-10
0
0
0
0
0
0
-10
0
0
6
0
0
0
0
0
2
0
0
0
-5
0
0
0
0
0
-1
-1
0
0
27
0
0
0
0
0
0
1
0
0
8
0
0
0
-2
0
-15
14
-2
0
-15
0
0
0
0
0
34
6
0
0
21
0
0
0
0
0
-33
-52
0
0
0
0
0
0
0
0
-10
2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-2
-3
33
11
51
6
0
-25
0
0
-7
13
-27
0
54
18
-2
-1
0
0
0
11
6
-4
25
-3
0
-20
0
0
-4
0
5
-37
6
0
1
6
0
0
0
-6
0
16
0
0
0
44
0
0
-1
-1
11
0
-6
-1
0
-9
0
1
0
7
-2
0
0
0
0
-33
0
0
10
-34
-53
29
-15
0
0
78
0
0
1
-1
19
-10
-1
0
0
-11
0
3
-6
33
-32
18
-6
17
-24
-6
0
0
-9
17
16
-50
9
-39
18
49
0
0
0
-9
5
4
4
3
0
33
0
0
-6
0
-7
39
2
-6
-4
26
0
2
-2
-4
0
3
-29
-16
0
-1
0
3
11
5
-21
0
6
0
35
-10
0
-8
2
8
2
-4
0
15
9
5
0
-12
-30
8
63
5
-53
0
16
-52
0
4
10
-33
3
25
69
1
0
93
0
0
2
-36
-35
15
-9
5
18
0
0
0
1
20
45
13
-38
-2
-8
-17
0
0
0
-4
2
-2
-22
12
3
50
0
0
2
0
0
-20
-4
11
-1
34
0
0
-1
-26
0
0
10
4
4
18
0
-1
-6
9
-25
0
65
0
-11
61
0
2
1
11
-11
11
0
4
-24
-13
0
6
0
-18
-6
-33
4
0
13
32
0
-24
-10
27
-71
50
6
-29
0
39
0
-2
2
22
36
-36
-8
1
29
37
0
0
18
0
-9
-11
-6
-11
-2
-5
0
0
0
-2
11
2
-27
7
-2
-16
0
2
15
0
3
-7
-4
-3
8
39
0
0
-8
6
0
-17
2
2
-7
3
0
-7
24
-3
19
0
-26
19
-6
-13
0
-1
-11
-4
35
18
0
6
0
105
0
11
34
-1
56
-11
2
0
-6
-36
0
-7
-7
7
46
40
-43
20
0
10
0
-8
-1
-11
-38
11
-40
-37
1
24
0
0
-8
3
33
41
-16
-12
9
20
0
1
0
4
-15
-6
27
-7
0
37
0
0
6
0
2
-13
-25
-10
0
-42
0
0
6
17
0
-17
20
6
-6
-38
0
4
-19
-1
30
0
15
-3
0
4
0
-1
-13
-13
-40
47
0
0
-1
29
0
7
37
43
2
39
-31
0
-8
-5
0
-10
21
-1
7
-41
-7
-3
0
-12
0
22
-1
-9
18
8
35
-8
-13
-23
0
0
2
12
-13
-18
-42
9
1
18
0
0
0
1
-8
-10
26
0
1
20
0
0
-4
0
-9
14
11
0
0
-38
0
0
6
0
0
1
2
-6
0
1
0
-11
-3
24
-32
0
12
2
-1
42
0
10
1
24
-68
2
0
8
0
25
0
-15
11
-21
-36
-48
58
0
1
-4
0
18
-2
6
6
-38
-11
-4
0
-87
0
0
0
-1
18
-40
-23
22
-13
30
0
0
-3
-22
-17
6
-5
8
0
-18
0
0
0
-2
0
2
1
0
0
-22
0
0
1
0
12
-10
-10
7
0
10
0
0
4
-10
0
27
-6
2
0
35
0
-2
-2
-22
-5
0
-9
2
0
-20
0
0
-6
-2
19
2
0
2
0
-27
0
36
23
21
31
33
-2
0
-7
80
0
-3
-36
-9
14
-16
-25
-1
0
-14
0
0
0
0
-1
-10
-49
0
1
2
0
0
0
2
-10
-1
-13
0
-1
-33
0
0
0
0
0
2
0
0
0
-6
0
1
0
0
0
1
0
0
0
35
0
0
-1
16
0
3
-1
3
0
39
0
0
-10
-28
46
0
-34
0
0
-58
0
0
4
-35
14
-17
0
0
0
20
0
1
-49
11
-55
-31
79
0
-2
-47
0
0
1
12
-2
29
-13
1
0
-10
0
0
0
0
0
2
2
0
0
-13
0
0
0
0
0
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
18
0
0
0
15
0
0
0
-2
0
0
0
0
0
-10
0
0
0
0
-4
0
-7
0
0
-9
0
0
0
0
2
-33
0
0
0
19
0
0
0
-2
14
6
-33
0
0
-21
0
0
0
0
10
-17
2
0
0
34
0
-4
4
-17
34
3
18
-27
-2
-3
0
0
-2
3
34
-4
28
19
1
52
0
0
0
0
51
0
-18
-8
-4
-36
0
0
0
0
11
-49
-6
13
0
48
0
1
0
6
0
41
-48
0
-1
8
0
0
0
0
0
0
3
2
0
-29
0
0
0
1
0
-7
0
0
0
24
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
0
0
0
26
0
7
-48
-20
-17
36
-69
22
0
100
0
0
1
4
46
42
0
-16
29
15
0
-2
0
-18
-17
-39
5
14
-12
57
0
0
3
0
-2
37
29
-17
-25
21
0
0
0
4
0
14
-14
-10
8
17
0
1
0
2
-2
0
-3
-6
-7
28
0
0
1
-2
-1
-6
0
13
-3
-11
0
0
0
-1
0
-2
4
0
1
28
0
0
0
0
-2
1
-7
0
0
12
0
6
12
39
-70
-32
-33
2
-16
35
0
0
30
-35
-16
44
39
25
-4
-7
0
-18
0
0
3
47
19
11
-4
27
0
0
-1
0
33
-14
45
17
13
16
0
0
0
15
0
16
-17
11
-2
27
0
-2
0
0
-1
0
-15
-8
1
-20
0
0
0
1
-1
0
0
-2
-3
-39
0
0
0
0
8
15
-6
0
0
21
0
0
0
1
0
18
2
0
0
-33
0
-2
-1
-9
23
-24
41
5
26
54
0
0
7
56
-27
32
-53
-28
31
16
0
10
0
-3
24
13
37
-17
2
-49
0
-6
4
0
-9
22
-34
18
13
39
0
0
0
-8
0
-41
17
6
2
-20
0
0
0
-15
12
0
7
-2
-1
64
0
0
0
0
0
1
0
1
0
20
0
0
0
-3
1
1
1
0
0
-5
0
0
0
1
1
4
0
0
0
31
0
-6
26
-2
90
21
-17
42
14
25
0
0
14
-14
16
22
-12
29
-30
23
0
7
0
0
-31
-17
5
-16
9
61
0
-1
-3
0
-6
-19
-6
-37
-8
38
0
-1
0
19
0
12
-8
-7
-6
13
0
0
-1
3
-3
0
-2
-2
0
14
0
0
-1
0
0
-3
0
-7
0
38
0
0
0
0
0
0
0
0
0
-17
0
0
0
-2
1
2
-1
0
0
1
0
19
-29
-5
28
-5
63
-50
2
-50
0
0
-3
-11
-65
-12
-42
8
10
0
0
-3
0
45
19
87
-6
-4
-10
17
0
-1
4
0
-33
-8
-27
18
-3
-31
0
0
0
-8
0
-20
2
-7
0
6
0
0
0
1
7
0
2
-1
2
6
0
0
0
0
0
0
0
1
0
-16
0
0
0
0
0
4
0
0
0
-32
0
0
0
0
-3
-2
0
0
0
29
0
9
20
8
25
-40
3
16
-11
11
0
0
-4
20
1
-40
29
3
-25
12
0
-6
0
22
-9
-2
-12
3
1
44
0
1
1
0
21
-2
16
-7
0
-4
0
0
0
0
0
-13
19
1
0
-15
0
0
0
-2
0
0
-10
0
0
-46
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
-1
0
0
0
-47
0
-3
3
-45
13
18
-1
21
0
-23
0
0
0
1
20
-30
33
-3
0
15
0
9
0
-1
-28
-33
11
0
0
-33
0
0
0
0
0
28
-46
0
0
-43
0
0
0
0
0
0
10
0
0
10
0
0
0
0
0
0
2
0
0
23
0
0
0
0
0
0
0
1
0
-30
0
0
0
0
3
1
0
0
0
17
0
0
0
0
0
0
-1
0
0
-45
0
0
0
-7
-25
72
13
0
0
-19
0
0
0
2
-11
-16
10
0
0
-25
0
0
0
0
-2
-12
-16
0
0
-3
0
0
0
0
0
-4
1
0
0
3
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
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-6
4
-1
2
14
1
1
4
21
0
-4
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
1
0
0
0
0
0
73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
2
0
20
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
81
0
-11
0
3
1
48
0
0
0
0
0
0
0
0
0
0
0
24
-3
0
0
0
3
1
0
0
0
0
0
16
-34
31
11
-8
52
-2
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
0
-10
-1
0
9
0
-4
0
-1
-6
16
3
-24
-1
-1
0
-10
0
0
0
0
0
0
0
0
0
0
0
6
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
25
9
-18
69
46
11
4
65
75
85
-26
0
0
0
0
0
0
0
0
0
0
3
4
10
0
0
0
97
-4
-15
-3
-7
29
76
77
5
0
-13
30
19
50
9
-8
0
-49
12
-26
2
10
-29
0
-7
0
-57
-48
-1
-30
46
0
-15
0
0
0
0
17
0
-1
131
18
-24
25
75
109
10
3
0
0
0
3
0
16
-2
3
-3
0
-21
-32
-39
-28
22
0
23
0
0
0
0
79
26
106
77
7
128
115
106
84
55
4
0
-12
0
0
-36
13
21
0
-38
0
-18
20
3
-14
9
0
18
0
0
0
0
16
3
25
-21
-1
13
12
48
122
10
14
0
0
0
8
3
30
61
0
13
0
4
94
-22
104
42
0
25
0
0
0
0
0
1
-37
-12
-8
53
69
7
24
18
27
0
0
0
0
0
1
19
0
0
0
0
27
47
-2
-3
0
-3
0
0
0
0
0
0
-50
69
33
72
-21
95
20
-8
-31
0
0
0
0
0
0
0
0
0
0
2
2
10
-9
0
0
-15
-17
-9
-24
33
15
55
13
0
0
32
2
2
9
5
-9
0
-34
4
-3
6
-20
-14
0
-8
0
-101
-13
-19
-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
-24
0
0
0
0
0
0
0
4
-8
46
-2
14
0
-11
-32
0
-4
0
0
-3
56
32
-2
12
0
0
0
3
10
-4
0
-27
0
0
0
0
0
0
0
-1
-1
0
1
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
28
4
1
0
-4
2
1
8
0
-21
0
0
-1
20
0
0
-2
0
0
0
0
9
0
0
-6
0
0
0
0
0
0
0
41
-76
0
36
-6
2
0
2
0
43
0
19
2
-21
2
1
0
0
0
1
-1
-3
0
0
13
0
0
0
0
-2
-33
0
-32
-20
57
3
-10
68
-3
15
0
39
0
-37
15
-44
-15
10
-39
0
-36
3
25
-2
10
0
-16
0
0
0
0
-1
0
0
26
-11
3
-38
110
15
5
-29
0
-2
0
-1
0
0
0
0
-5
0
67
-3
-7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
2
0
-22
0
9
0
-2
-6
42
9
0
-33
0
27
-21
-21
-11
15
0
-20
-16
-10
-20
16
29
22
0
83
-22
83
-1
43
49
5
-12
0
2
0
0
-54
-8
1
15
-28
0
16
-38
2
-41
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
4
0
81
7
110
17
131
113
56
-7
0
1
0
-1
1
-91
-28
-22
-34
0
-3
7
-23
24
-61
0
0
2
7
0
68
46
89
24
4
2
116
-6
28
-17
-4
-10
0
-1
0
5
48
-11
-8
-24
-14
0
-74
-11
16
-35
-45
0
-34
-7
15
1
0
13
1
0
60
7
183
2
-11
85
106
-1
0
46
-1
37
-27
-8
18
-19
15
0
32
-6
-4
4
-23
0
9
-3
0
0
3
28
68
36
-28
17
83
9
-66
6
24
-1
0
15
-4
-37
21
-9
30
-6
-31
0
-18
-45
-1
8
-22
0
-18
-12
0
0
0
-42
1
0
-20
-19
56
5
-88
-5
-2
-11
0
84
0
0
-6
-63
0
0
25
0
5
-50
2
-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
22
-8
1
0
-165
-29
18
32
11
3
1
73
-8
-2
4
0
0
0
0
0
0
0
0
1
0
-1
-41
-12
-1
0
0
0
0
0
0
0
-2
1
0
0
-4
0
-1
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
-4
0
3
4
9
0
-8
1
11
0
-1
0
0
0
0
0
0
0
0
1
0
3
13
-8
0
0
0
0
-1
0
0
0
-4
0
4
0
31
0
-92
0
2
4
38
0
0
0
0
0
0
0
0
0
0
0
-10
-19
0
0
0
0
0
0
-1
0
0
0
102
55
33
2
-7
0
-17
12
11
0
0
0
0
0
0
0
0
0
0
-4
-23
38
6
0
0
-15
-6
0
7
1
2
0
63
1
-15
1
-4
61
-7
0
26
0
0
0
0
0
0
0
0
0
0
0
2
-62
-19
0
0
0
0
0
0
0
0
0
0
0
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
0
13
52
30
37
24
16
39
5
36
43
73
-31
0
3
-10
0
0
-2
0
0
7
0
7
-37
23
-6
0
0
21
0
3
-9
11
39
71
58
32
0
62
12
9
29
14
-2
0
1
13
9
101
6
17
2
-20
0
6
-15
-2
-10
-11
0
12
0
0
6
0
53
-3
26
33
4
-11
23
43
62
21
13
0
8
0
3
2
39
-7
-15
10
0
-23
-29
-29
-47
-41
0
1
0
0
0
0
119
50
52
61
7
63
-13
53
61
65
-24
0
19
0
-3
-74
-10
-65
1
45
0
-2
-23
-39
-28
-19
0
-4
0
0
1
0
111
-11
78
54
16
9
-11
68
83
51
4
0
-21
0
8
-5
-23
41
0
-42
0
-31
55
-5
-30
-26
0
7
-2
0
0
0
1
6
80
31
36
70
10
50
34
8
-10
0
-1
0
0
-2
3
1
0
0
0
-1
1
-41
-1
-8
0
2
0
0
0
0
11
-1
14
42
16
147
-5
38
11
-4
9
0
0
0
-2
0
0
0
0
0
0
1
4
7
-35
0
0
-34
4
-54
-70
-9
32
60
10
-2
0
26
-3
3
3
2
-1
0
-7
-13
7
-8
-18
-15
14
-19
0
-41
-12
-8
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
-50
0
0
0
0
0
0
0
-7
-6
97
-39
8
0
-6
-13
0
-23
0
-21
-2
39
21
-23
-5
0
0
0
20
40
-2
0
-22
0
0
0
0
0
0
0
0
4
8
8
12
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
-22
-8
-1
0
-9
0
0
-27
0
4
0
0
8
32
-24
6
-3
0
0
8
1
0
-4
0
3
0
0
0
0
0
0
0
-10
-26
0
1
42
10
-2
36
0
36
0
-20
1
-7
-1
4
0
0
0
-2
-18
-8
0
0
-15
0
0
0
0
-8
-40
0
-50
-21
115
26
40
-14
-12
-5
0
-18
-10
12
18
49
6
63
-9
0
-20
-22
-19
10
16
0
-25
0
0
0
0
-11
0
0
66
18
112
-40
28
-15
-25
12
0
-4
1
7
0
0
0
-3
-63
0
47
41
9
-81
4
0
-2
0
0
0
0
0
0
0
0
0
0
-11
0
17
0
-7
0
12
1
-12
6
6
-14
0
-13
0
-4
0
17
0
18
0
-8
18
10
-14
-35
29
6
0
-2
9
169
-3
45
-66
25
-10
0
-11
0
-18
-36
-42
-48
58
1
0
-25
-2
-18
26
-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
41
10
4
-8
-28
16
0
-13
7
51
-8
26
-11
-9
-12
0
-34
0
-1
4
-22
11
-9
-5
0
35
-46
-28
16
19
0
0
-15
-7
8
-15
-6
27
-47
7
6
74
1
16
-23
5
-4
0
-30
41
-50
-17
-43
-12
-11
-63
0
3
-4
-39
-2
-44
0
-5
13
-16
5
-2
29
91
0
33
6
79
-14
29
16
30
-2
0
-76
1
-30
9
-58
-3
-11
-36
0
5
-2
-12
-6
15
0
-12
-16
0
22
3
46
43
-7
17
2
135
7
0
16
65
-2
0
21
-25
10
-19
16
2
-11
-32
0
-31
-12
-16
0
-16
0
-4
-13
0
-4
0
-47
4
0
-16
6
100
-30
9
-7
2
-6
0
47
1
-5
-3
-79
-2
-12
-6
0
-48
-20
-34
-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
28
-8
1
0
-169
-23
18
27
36
3
0
74
-7
8
-1
0
0
0
0
0
0
0
0
1
0
-1
-40
-11
-1
0
0
0
0
0
0
0
-2
1
0
0
-10
0
-1
0
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
4
1
0
-8
0
11
1
-63
0
0
0
0
0
0
0
0
1
0
3
16
-7
0
0
0
0
-1
0
0
0
-9
0
4
0
17
0
-91
0
2
4
-1
0
0
0
0
0
0
0
0
0
0
0
-9
-23
0
0
0
0
0
0
-1
0
0
0
103
84
18
4
-11
-4
-13
16
-19
0
0
0
0
0
0
0
0
0
0
-4
-21
26
6
0
0
-10
-6
0
7
1
2
0
70
33
-28
1
19
61
-6
0
3
0
0
0
0
0
0
0
0
0
0
0
2
-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
-53
-2
3
0
13
49
24
57
36
-13
71
-25
-15
7
82
-35
0
3
-10
0
0
-2
0
0
7
0
7
-41
18
-6
0
0
36
-2
3
-9
12
20
81
19
4
0
2
6
11
-1
21
21
0
37
2
26
72
-8
24
11
16
0
37
12
-2
8
17
0
2
0
0
6
0
33
-2
20
16
-1
-9
-4
15
60
25
-4
0
7
0
3
2
6
-1
-19
12
0
-8
-70
4
-42
-49
0
-43
0
0
0
0
99
37
25
-20
-19
30
-23
4
28
22
-20
0
13
0
-3
-57
15
-44
0
85
0
9
-23
-18
-42
-18
0
-15
0
0
1
0
80
-7
107
28
2
-3
-3
58
34
57
-2
0
-22
0
7
-11
-66
52
-1
-52
0
-25
8
-52
-45
-23
0
-36
-2
0
0
0
1
6
63
38
-18
74
34
56
33
-8
-22
0
-1
0
0
-2
3
-3
0
0
0
-1
-12
-48
-1
-8
0
14
0
0
0
0
11
-1
59
47
11
134
33
20
-4
-4
-6
0
0
0
-2
0
0
0
0
0
0
1
0
-3
-18
0
0
-15
-24
-30
-50
-16
43
74
27
7
0
4
0
10
-1
5
4
0
-14
-9
-1
-16
-8
-11
-6
-2
0
-24
-4
-12
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
-8
-31
81
-30
17
0
-6
23
0
-16
0
-24
-2
21
-8
-14
-4
0
0
0
26
41
-6
0
-12
0
0
0
0
0
0
0
0
10
8
8
12
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
-39
2
1
0
-4
0
0
-20
0
9
0
0
6
29
-24
4
-3
0
0
8
0
-1
-2
0
10
0
0
0
0
0
0
0
-11
-12
0
-13
46
9
-2
10
0
22
0
-19
1
1
-2
0
0
0
0
-2
-18
-7
0
0
-20
0
0
0
0
-8
-37
0
-72
-8
62
-6
69
8
2
15
0
-34
0
-5
1
50
13
47
-44
0
-10
-7
18
21
16
0
-7
0
0
0
0
-11
0
0
41
32
111
-24
20
-23
-16
13
0
-4
1
4
0
6
0
-3
-69
0
36
90
0
-78
4
0
1
0
0
0
0
0
0
0
0
0
0
4
0
25
0
-2
0
15
-2
3
22
5
-6
0
-2
0
14
1
8
10
5
0
4
24
16
-16
-42
10
10
0
-41
36
114
-28
14
-104
51
-10
0
-8
-5
-18
-10
-33
-25
37
24
0
-37
-12
-34
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
38
7
1
-6
13
36
0
14
11
54
-26
6
26
-56
-20
0
-28
0
0
7
-5
19
40
-4
0
19
-33
-57
22
32
0
0
-18
-7
10
-44
5
-13
-102
7
31
53
-24
-6
-9
36
-2
0
-45
39
-58
-11
-10
16
26
-91
0
-15
-31
1
10
-9
0
-1
46
-15
8
-1
54
99
0
-29
18
22
-8
-62
9
75
2
0
-61
-1
-52
7
-37
-4
-6
-31
0
-21
-1
-20
7
38
0
-13
-16
0
21
2
27
66
-3
25
50
133
5
-33
5
79
12
0
-6
-25
48
-53
-35
-32
-4
-10
0
-27
-18
6
-22
-7
0
-13
-17
0
-4
0
-30
4
0
-6
7
55
-1
37
-72
0
17
0
70
1
3
-6
-71
-1
-14
-56
0
-48
37
-45
-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
-1
6
0
0
12
0
0
0
6
0
-25
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
-12
0
0
0
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
-42
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
1
-26
0
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
0
3
-1
0
-1
-29
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
9
4
-3
0
1
8
0
0
-55
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
-79
-1
0
0
0
0
0
-12
-14
-18
8
-24
18
17
-8
-36
0
0
-3
0
0
0
0
0
0
0
0
3
7
0
0
0
9
0
0
0
0
19
2
-14
-58
0
-38
15
-74
-46
4
36
0
18
0
18
2
31
35
-13
4
0
-23
36
9
-5
20
0
-21
0
0
0
0
0
0
-4
44
-13
-2
7
-9
3
2
3
0
-1
0
-1
0
-4
12
-1
5
0
0
-10
1
-12
-1
0
-81
0
0
0
0
4
0
22
-124
37
3
-29
-21
-12
-40
9
0
-1
0
0
6
9
-2
0
38
0
12
4
-28
1
1
0
-14
2
0
0
0
0
-1
7
-56
5
-6
-52
-20
-34
0
1
0
0
0
0
0
1
-1
1
-27
0
10
-11
-28
-22
-8
0
-24
0
0
0
0
0
0
-7
3
-14
2
11
-3
0
0
-68
0
0
0
0
0
0
0
0
0
0
0
-12
-12
0
0
0
-34
0
0
0
0
0
0
9
-10
-4
0
10
4
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-32
71
8
-26
53
8
10
20
0
-10
-13
20
108
5
0
0
-7
21
4
-34
12
-25
23
-15
0
-1
-18
-7
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
-5
0
0
0
0
0
0
0
7
-12
-3
0
0
0
0
23
0
1
0
0
0
-4
-8
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
1
0
0
1
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
3
0
0
1
0
0
17
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
0
0
-66
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
45
0
-19
6
6
0
1
0
-9
1
4
0
10
8
2
-6
0
-2
-1
0
2
-1
0
16
0
0
0
0
0
0
0
1
4
0
-6
7
-1
0
16
0
0
0
0
0
2
0
0
-2
0
-2
19
0
8
4
0
1
0
0
0
0
0
0
0
0
0
0
-25
0
19
0
11
0
17
0
12
9
-12
1
0
24
0
17
-23
-32
27
8
0
-6
-38
18
0
2
-6
1
0
-40
24
19
-58
2
-26
9
8
0
6
0
8
-11
5
-6
8
-24
0
10
5
25
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
-1
0
0
24
20
-22
-15
-21
-3
-20
2
0
-1
0
0
0
13
-16
19
19
0
13
21
7
-7
6
0
0
1
0
0
-6
59
-23
-8
-3
-32
5
-49
-34
-11
29
-11
0
-19
2
-12
9
8
-9
36
-9
0
13
-31
-24
49
29
0
-10
2
-2
0
0
-3
1
0
-47
7
24
55
-74
17
-3
7
0
-1
4
-15
0
-21
18
-13
9
0
-46
-14
23
-37
-7
0
-15
0
0
0
0
-12
-11
-6
50
15
11
-11
8
12
25
-21
0
-3
-4
1
10
-7
-21
-4
8
0
-19
-11
15
-27
-9
0
17
1
0
0
0
0
0
0
1
4
0
-14
12
-4
0
10
0
8
0
-2
-1
-3
0
0
-16
0
1
10
9
3
0
-35
-60
-26
-55
-12
-44
-72
-26
-27
-104
-71
-67
-50
-39
-43
-31
-32
-21
-58
-31
-67
-60
-37
-34
-28
-34
-37
19
4
23
-7
18
-66
-32
-35
-28
0
0
0
0
0
2
17
0
0
0
50
37
-26
-23
-1
2
1
0
0
0
0
0
8
31
0
0
-8
4
44
53
-1
24
8
-2
0
0
0
0
6
73
3
81
31
39
16
-1
25
-16
-13
-4
0
0
0
0
0
40
-31
16
-1
-19
-35
-34
-29
-1
-16
47
1
0
0
0
0
0
-33
-8
-28
-14
14
-9
-21
1
12
17
8
7
0
0
0
0
0
-11
-12
-11
-16
-33
-4
15
28
5
8
-6
2
0
0
0
0
0
-6
-32
-28
-30
33
7
-8
-55
27
4
3
0
0
0
0
0
0
0
-74
-45
0
5
-11
8
30
-13
0
-2
0
0
0
0
0
0
0
0
-21
11
16
-13
-16
15
-2
3
0
0
0
0
0
0
0
0
2
31
0
0
0
28
14
60
6
3
0
0
0
0
0
0
0
5
-36
0
0
40
90
22
0
25
0
2
0
0
0
0
0
-1
10
23
47
-11
17
-53
15
7
16
-1
0
0
0
0
0
0
0
18
19
32
60
-30
-65
-45
-7
-7
0
0
0
0
0
0
0
0
22
52
-24
-34
-41
-58
2
2
1
-1
0
0
0
0
0
0
0
-16
-26
36
10
6
-16
-8
1
-7
0
1
0
0
0
0
0
0
-4
8
-5
-16
17
-21
26
3
1
-1
0
0
0
0
0
0
0
-6
-65
-20
40
57
-10
-27
0
-2
0
1
0
0
0
0
0
0
0
8
25
54
-1
-1
-4
0
0
0
0
0
0
0
0
0
0
-51
-69
0
0
0
2
0
21
-15
2
2
0
0
0
0
0
1
6
87
0
0
27
70
-10
10
-16
-2
7
0
0
0
0
0
-6
-23
2
82
28
54
-8
-1
1
-29
19
0
0
0
0
0
0
1
7
-57
25
3
32
7
-11
-7
-2
0
8
0
0
0
0
0
-3
24
-43
37
25
-5
19
17
-3
4
-1
0
0
0
0
0
0
0
-12
50
-8
2
22
-36
9
15
-3
0
0
0
0
0
0
0
0
-27
-68
-3
-61
15
13
18
9
0
-1
15
0
0
0
0
0
0
0
-30
30
5
43
-57
3
0
1
0
0
0
0
0
0
0
0
10
-67
-31
-50
-19
9
11
-3
1
0
7
0
0
0
0
0
0
43
-4
0
0
0
14
-1
4
0
-2
0
0
0
0
0
0
11
-20
-1
0
0
-17
31
-21
28
26
0
0
0
0
0
0
0
30
71
37
53
69
61
-20
43
10
3
-2
0
0
0
0
0
0
33
-60
-41
28
34
0
-22
22
2
-1
2
0
0
0
0
0
0
-47
-23
24
-2
-45
-16
-12
-6
-3
-3
9
0
0
0
0
0
0
21
20
-29
-4
-31
-10
-25
12
7
1
0
0
0
0
0
0
0
0
31
-30
28
0
-35
7
-27
-1
2
0
0
0
0
0
0
0
0
-13
37
-16
-28
-21
2
24
10
-2
0
0
0
0
0
0
0
0
0
0
0
-35
28
-37
10
-2
0
0
0
0
5
18
24
36
24
-22
31
0
0
0
-18
6
14
26
7
-1
0
10
-28
4
14
-5
-7
3
0
0
0
-7
24
-19
10
15
-7
-1
-40
29
26
0
13
-22
21
9
-2
9
-14
32
3
-40
39
-1
1
7
-25
6
20
-34
-21
16
-20
32
1
6
55
23
20
-8
4
-1
-13
2
-13
16
-13
-16
-23
-21
-25
7
19
42
19
-25
23
9
0
-6
-72
7
11
-21
-21
3
-13
-25
-5
-12
-31
-9
7
5
0
-1
18
28
-21
24
25
-47
-2
2
-16
-15
26
32
-15
-2
-1
0
0
5
22
1
29
-76
32
3
20
-47
-9
40
15
-20
-4
6
6
3
-3
79
-30
-24
-13
-20
4
22
-7
17
-19
-21
4
10
0
-1
0
-11
63
39
-18
10
14
17
0
0
0
-11
32
-43
-7
1
15
-2
11
20
32
12
35
-35
-16
0
0
0
17
-15
-11
5
-2
-23
-1
20
11
42
20
-24
45
-3
-58
55
8
42
13
-37
-15
29
21
0
-39
-9
15
32
-2
-16
12
2
35
-6
-11
-8
-41
-16
48
27
7
-39
13
47
43
-14
3
-59
-42
12
-10
22
2
-3
-8
-6
11
0
5
-3
42
5
37
42
-48
-14
-10
9
27
-13
14
22
24
1
3
-44
-14
-10
42
-4
9
37
-47
-10
8
-17
-17
-13
-14
-6
0
-1
30
27
16
-35
28
12
21
-28
5
13
16
14
28
21
17
-11
1
19
9
28
-8
44
10
21
10
55
0
-34
11
9
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-8
2
0
0
-8
-70
0
0
0
16
-29
19
15
27
-4
0
-10
-11
-5
6
17
-3
15
0
0
-34
1
-14
5
-21
1
-2
0
-8
-5
3
3
10
11
10
0
-36
-12
13
-12
-19
-1
10
0
0
-3
-2
-3
2
-1
9
36
-4
-3
60
-10
-21
-2
-12
0
-1
0
-5
4
-1
-4
-1
-11
-8
4
4
-24
4
-12
-2
21
4
0
0
11
-2
-3
-16
-2
6
33
0
10
31
4
25
-7
-2
6
-2
0
-8
-2
-8
-27
5
12
-44
0
-50
7
-35
-5
-5
1
-3
0
0
-24
3
6
-18
31
-12
-23
-62
-49
-6
33
24
-7
12
32
1
0
0
-7
-16
9
-25
-25
-4
-11
-18
-45
2
-2
0
0
0
0
1
-33
-3
-1
-3
0
4
26
0
0
-40
-29
-55
-11
-15
-2
0
0
-12
-29
-6
-4
3
0
13
42
20
-8
15
-30
-53
-24
6
-1
0
-30
-7
-3
-3
-1
-1
28
32
62
20
-25
18
17
7
-4
0
0
-43
-10
-4
-3
-1
1
-16
-20
-60
-74
-27
-5
-8
-10
0
0
0
27
-4
-5
-1
-5
-4
0
-19
-41
-56
-19
-5
24
9
-1
0
0
-14
-1
0
-1
-5
-6
3
-28
-15
-32
37
7
-1
-8
0
0
0
-17
-7
-8
0
-6
-4
-15
1
3
-29
-27
10
31
0
0
0
0
21
-29
12
-4
-4
-21
-4
-40
-47
-18
56
-19
2
-1
0
0
0
23
-55
12
7
-27
-15
-24
-9
0
-18
-14
8
2
0
0
0
0
-4
-5
35
-5
24
-54
-12
0
0
-3
11
12
0
1
0
0
0
13
3
-5
13
-18
-23
-40
-52
-69
-6
6
-1
-2
0
0
0
0
-7
1
2
12
-7
-11
-26
35
-63
-22
7
-3
-3
0
0
0
0
0
-2
9
0
-22
13
24
-70
-49
1
0
2
7
0
0
0
0
1
7
4
-7
3
-18
-16
-43
-59
-18
0
-1
1
0
0
0
0
3
1
-1
11
9
-10
-7
-30
-32
-2
11
-4
0
3
0
0
0
3
-3
14
-12
2
33
17
33
-69
-12
-10
1
16
0
0
0
0
-4
1
14
-3
1
-2
11
31
15
-4
9
-1
0
7
0
0
0
-2
-5
-6
-8
-1
49
-12
4
49
2
-3
-2
10
0
0
0
0
-14
-4
1
2
-13
-12
-11
-30
0
-6
0
0
0
0
0
0
0
-11
-5
0
-5
-1
3
0
-41
4
-2
-4
-12
-10
12
0
0
0
-5
-3
8
4
17
-2
5
51
65
-19
-8
-19
0
0
0
0
0
-3
-4
-11
1
8
11
30
-28
-29
-18
0
0
-3
0
0
0
0
-3
2
2
0
16
1
-9
-46
-21
-8
-19
0
7
0
0
0
0
-6
-1
-5
-3
-4
33
4
14
-46
-4
-1
-7
0
0
0
0
0
-20
-12
-2
-10
13
5
-24
-1
-9
-2
-2
4
0
0
0
0
0
-12
-6
-26
4
-18
-11
-20
-21
-67
-19
4
12
6
0
0
0
0
-13
-8
16
-31
-44
-30
9
-2
13
3
-2
0
0
0
0
0
0
-21
-7
-7
-8
9
0
11
0
0
-18
33
8
6
2
-3
-1
0
-8
-5
-12
-5
8
-3
1
0
33
0
-1
-1
7
13
-1
25
0
-20
-11
-4
-6
-1
-8
30
33
43
63
8
39
-8
-1
13
-1
0
-27
-3
-3
-5
-1
-1
25
70
-12
23
-35
32
-17
1
0
0
0
-9
-18
-3
-8
-11
-8
-1
42
-30
-76
2
-12
6
-19
0
0
0
9
-6
-7
-11
-3
-9
9
28
-14
21
-41
-3
-37
12
0
0
1
-20
-8
-7
-24
-16
-2
37
44
-42
-17
-21
-20
1
-11
0
0
0
3
-42
-2
28
-14
34
-11
-23
-39
-24
10
-32
-15
-8
0
0
0
0
-2
-25
69
-6
-5
-13
-33
0
-6
1
0
-4
-2
0
0
0
18
-14
3
-25
-1
-7
27
-54
0
30
-56
-26
0
0
0
0
0
-18
-2
-15
-1
-2
-9
27
0
-95
0
-75
33
1
-1
0
1
0
-9
-12
0
3
1
3
29
-50
14
-7
-30
-6
-7
10
0
2
0
-14
-12
-4
2
-2
-7
13
-12
-1
-14
-3
-8
-1
1
0
0
0
-3
-13
-8
11
-19
-4
26
8
-40
-51
14
-16
-18
1
0
0
0
-6
-5
-3
-5
-15
-3
-42
22
26
-22
-7
7
-6
-3
0
0
0
22
-16
-6
-4
-3
19
9
22
-5
9
-3
12
2
-1
0
0
0
-56
1
6
-7
-26
-9
8
48
66
66
-13
4
0
1
0
0
0
9
-64
-41
-10
6
-125
-12
73
104
-1
0
0
0
0
0
0
0
-10
-3
-5
-7
7
29
48
0
0
0
-13
4
9
-2
1
0
0
-5
-4
-2
-4
2
21
28
-54
0
2
-13
0
29
1
1
-1
0
-3
-1
0
-3
12
5
15
-30
-8
-12
71
-3
0
4
0
2
0
-7
-4
5
1
10
-2
3
-40
-28
-13
43
19
16
0
-1
0
0
11
1
-8
5
3
6
-5
47
-24
-29
-10
-15
0
0
-2
0
0
-2
-7
-1
-1
0
-8
-18
22
15
17
-5
-1
0
1
0
0
0
-2
9
0
8
7
7
5
25
33
41
22
13
1
0
0
4
0
3
13
17
-9
9
56
47
-6
19
52
-29
-10
2
-1
0
0
0
0
9
77
-13
-27
-15
-32
27
-23
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
49
3
-23
11
66
-48
0
0
0
0
0
0
7
0
0
0
-27
-22
26
-9
26
-41
-29
0
0
0
0
0
0
0
54
34
2
-4
94
-10
-27
8
-44
-7
0
0
0
0
0
0
0
1
-4
24
47
-13
2
9
7
-9
-36
0
0
0
0
0
0
0
-1
-4
-8
-18
65
-2
33
18
-46
-23
0
0
0
0
0
0
0
0
11
19
44
-2
21
-1
-3
31
1
0
0
0
0
0
0
0
-1
1
1
13
-94
-31
29
14
14
34
0
0
0
0
0
0
0
0
1
3
9
-3
26
35
41
9
18
0
0
0
0
0
0
0
0
0
-2
2
-1
2
-15
32
-17
36
0
0
0
0
0
0
0
0
0
0
-1
39
6
20
-42
-32
46
0
0
0
0
0
0
1
0
0
0
-24
-5
55
15
-8
30
-18
0
0
0
0
0
0
0
-2
-2
-18
-7
43
-17
1
-8
-53
-33
0
0
0
0
0
0
0
0
0
3
0
48
-36
26
-10
21
-17
0
0
0
0
0
0
0
1
0
1
0
42
11
1
54
97
57
0
0
0
0
0
0
0
0
0
1
1
33
59
-6
13
-33
-6
0
0
0
0
0
0
0
0
0
0
-2
0
-30
23
18
4
52
0
0
0
0
0
0
0
0
1
2
0
-3
-22
37
18
37
35
0
0
0
0
0
0
0
0
0
3
0
0
-3
-3
6
20
15
0
0
0
0
0
0
1
0
0
0
17
64
12
49
-7
20
-22
0
0
0
0
0
0
0
0
0
0
10
24
-6
-14
-35
-19
38
0
0
0
0
0
0
-2
4
-11
18
-33
38
30
8
13
-6
-35
0
0
0
0
0
0
1
10
8
-6
15
-8
-13
-15
-9
-25
-49
0
0
0
0
0
0
0
0
-1
-1
-6
42
2
27
3
4
-72
0
0
0
0
0
0
0
0
0
0
-2
18
26
-18
1
42
16
0
0
0
0
0
0
0
0
-2
2
8
0
56
36
20
-31
24
0
0
0
0
0
0
0
0
0
0
0
-1
64
-3
24
5
-13
0
0
0
0
0
0
0
0
0
0
0
1
-1
-40
-67
-5
14
0
0
0
0
0
0
0
0
0
0
10
97
34
28
30
14
-27
0
0
0
0
0
0
-1
0
0
0
9
61
16
-26
27
-6
27
0
0
0
0
0
0
-2
1
-3
-27
-19
28
-19
-6
60
-3
-12
0
0
0
0
0
0
0
-1
2
0
-9
36
-21
-7
18
20
5
0
0
0
0
0
0
-3
6
0
0
49
62
-23
-10
-37
-1
22
0
0
0
0
0
0
0
0
2
0
-1
70
-6
50
40
15
45
0
0
0
0
0
0
0
0
2
0
-1
-26
2
37
1
20
19
0
0
0
0
0
0
0
0
0
0
0
0
23
6
2
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-27
-34
-28
0
0
0
0
0
12
17
0
0
0
1
-16
-17
13
4
-31
17
0
0
0
2
3
-21
42
0
0
0
-42
-5
-22
3
26
-19
40
0
0
0
0
-1
39
-30
7
22
-24
1
10
1
-17
19
-8
11
0
0
0
0
0
-3
41
20
-1
-4
-8
8
13
-12
-11
-13
-30
0
0
0
0
0
15
-3
12
27
-37
10
5
-14
-13
-14
17
16
0
0
0
0
0
-18
-27
-31
-1
32
10
15
10
4
15
-27
4
0
0
0
0
1
-1
20
65
13
1
19
-21
48
3
17
-8
-30
0
0
0
0
0
1
22
-19
-43
-18
-11
-3
-4
-10
1
-9
27
0
0
0
0
0
0
0
8
18
2
14
15
-35
41
25
52
-15
0
0
0
0
1
-12
16
0
0
0
103
35
68
13
-35
64
-9
0
2
0
3
0
-18
1
0
0
0
2
26
11
-1
8
1
19
0
0
0
1
1
15
-11
31
-4
37
25
46
-25
-4
31
-7
7
0
0
3
0
1
2
-7
10
-3
-16
5
0
-14
60
-9
-5
27
0
0
0
0
0
6
20
-64
3
-2
1
38
-4
-10
12
-17
-47
0
0
0
0
0
19
3
43
-3
-15
-25
-8
-24
2
-3
-18
-2
0
0
0
0
0
-1
29
7
-12
-4
48
-22
4
21
27
0
6
0
0
0
0
0
-1
-1
7
-14
2
68
25
29
8
28
6
-5
0
0
0
0
0
0
0
-11
41
67
-7
29
-55
6
-25
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
-30
-5
-40
23
-10
0
0
0
0
-21
-10
16
19
-37
-51
0
12
-11
4
-34
-33
-3
0
0
0
-8
-16
4
18
-42
-14
-43
0
2
21
-10
-22
20
8
-3
1
-3
-3
-11
-3
-13
-40
-30
49
1
-1
-25
10
-14
35
-8
-4
-11
8
-3
1
23
-26
-68
-12
-12
0
-13
-3
-12
-19
-27
-17
-11
0
0
8
-7
-4
10
-13
-11
-30
4
-8
0
3
0
17
-46
-3
-4
-10
9
-19
18
5
-18
-35
-10
0
0
0
-1
0
11
-5
-73
-18
-11
-31
-16
-46
23
-25
-29
-46
0
0
0
0
0
-4
-9
-41
-56
47
-73
61
26
-42
1
4
16
0
0
0
0
0
0
8
-1
-6
-3
0
-12
-13
3
-10
-39
7
0
-3
-25
31
-16
-52
-21
0
0
0
1
-2
-3
-13
-21
-29
0
-3
-13
-37
-7
14
9
6
0
0
0
2
-5
-11
-15
-31
-40
0
1
-16
-53
-8
-21
29
3
-30
-6
-2
7
-2
-11
-4
-39
-23
0
0
10
-17
-4
-9
-61
-46
-28
-11
5
-1
-6
-7
-28
-21
-29
0
0
-5
5
-37
-46
-99
-55
-35
-4
1
1
2
-5
-10
-5
-61
0
1
-35
-27
-39
35
-24
31
-43
-2
4
4
4
-8
-12
9
-11
0
0
-10
25
5
51
48
-29
-52
-6
6
6
1
1
-18
-30
15
0
0
0
22
21
18
-8
-15
2
25
11
-4
13
-5
-10
22
-31
0
0
0
2
12
-41
28
-2
-17
16
16
9
10
40
-7
-93
-39
0
2
-8
45
-12
-4
62
1
0
0
0
37
-10
57
-39
26
-37
0
8
26
-29
6
16
8
1
0
0
0
-8
-6
0
14
-94
-55
0
-8
-13
2
-30
35
-5
2
2
0
-23
-8
-20
7
-30
-62
-67
0
0
-2
-7
0
6
4
8
0
-3
-30
-41
-26
-31
-27
-27
7
0
3
7
-8
8
-2
-50
0
-6
0
-18
-25
-14
18
-5
-6
18
0
-3
-4
3
-9
-27
-17
3
0
1
-10
6
-25
-5
-15
-45
-19
0
0
3
-9
13
-23
-12
1
0
-1
23
-22
-11
24
-8
-75
-34
0
24
14
7
-36
-21
-16
-2
-1
-10
-6
-17
-3
-18
-36
-38
-6
0
7
19
-19
-7
-35
-4
2
-2
-14
-11
-30
-13
-33
-70
-26
-2
0
0
-10
-29
13
28
-57
1
0
0
0
-3
1
-4
12
-60
0
0
9
-11
22
9
3
-29
-2
0
0
0
-40
-8
1
-36
-74
0
0
0
-3
-15
38
-40
-23
8
2
4
17
2
-28
1
13
-109
0
0
0
-4
-3
0
-15
-60
13
-2
-12
-13
0
-4
-15
34
-82
0
0
0
7
10
-13
-25
-3
2
-21
-18
-4
-5
-18
-17
-50
-68
0
0
-2
9
9
-4
-5
-18
0
-8
-9
-4
-8
-7
-15
-101
3
0
0
-4
13
-25
15
16
-34
-8
-9
-7
11
3
-24
-22
-30
-74
0
0
-1
-11
10
-1
1
-28
17
-11
-2
-10
46
20
-10
-39
-63
0
0
0
0
0
0
-1
-1
-1
-2
-18
7
12
-36
-27
-84
-77
0
0
0
1
0
-22
14
-38
-45
0
0
0
0
-16
-7
15
-9
-75
-66
0
0
-17
-9
-2
-20
9
0
0
0
7
-7
-17
-17
-18
-54
-61
0
10
-19
-5
-17
-64
7
-7
-1
-3
6
1
13
-26
-47
-9
-48
0
0
-9
0
-51
-18
51
-7
3
-5
-7
-1
2
21
-35
-32
24
0
0
8
-15
27
-6
-10
-9
4
-3
-7
-6
-1
40
-7
40
13
0
0
2
-4
-18
-15
3
-30
-17
1
0
3
1
-27
29
-45
-58
0
0
7
0
18
-10
-35
-52
-4
-29
-3
-9
25
0
25
-28
-20
0
0
-1
-15
8
0
11
-10
-82
14
31
-14
-9
-39
-79
85
14
0
0
0
0
0
0
0
-2
-17
-4
-17
-5
-62
-60
-45
-4
-5
0
1
0
0
0
59
-12
0
0
0
3
-15
-2
-25
-5
19
-35
0
0
0
0
-16
-83
18
0
0
0
4
1
9
42
-20
-5
-4
0
0
0
0
0
12
43
-14
-5
9
7
29
13
26
-19
-3
-23
0
0
-6
0
7
-15
1
6
1
0
3
-1
-9
22
-12
-6
-8
0
0
3
-24
-18
-5
-2
6
1
7
-3
-3
-3
12
1
-6
8
1
0
0
0
2
0
30
-15
-5
7
3
2
16
28
-27
-34
-112
0
0
0
0
0
-38
27
8
-10
-32
4
13
3
16
-8
-22
-47
0
0
0
0
0
-1
-8
20
-24
-7
-41
2
22
15
24
-7
21
0
0
0
0
0
0
10
-10
-36
-4
15
21
-30
6
17
-7
-3
0
0
-1
-7
-17
-38
11
0
0
0
7
-42
-26
-23
29
7
-8
0
-1
0
-11
-7
-3
-11
0
0
0
7
-28
-25
-69
-8
37
43
0
0
-8
8
-24
-30
19
-1
5
-5
-8
9
-14
-14
-4
-2
14
0
-1
0
4
-22
-37
36
-2
-11
-3
-3
-3
-18
-1
67
7
-1
0
0
0
4
-3
-53
-5
-5
-10
-2
3
0
2
-33
14
5
40
0
0
2
-9
-8
5
9
-6
-4
2
-8
6
-13
14
6
6
-49
0
-2
0
28
9
10
14
-2
4
-2
5
-6
7
10
26
21
9
0
0
-3
13
8
-37
6
20
-2
1
7
-7
-25
-1
-46
-21
0
0
0
0
0
0
-8
-11
-35
-36
47
9
11
-72
-26
23
-27
-12
0
0
0
0
0
59
58
0
0
0
17
-17
-30
-28
-37
25
6
0
0
0
0
0
-19
30
0
0
10
9
1
-22
15
17
46
-7
0
0
0
0
45
36
24
28
19
34
5
-5
12
-15
-7
-4
-3
0
0
0
0
39
19
6
-1
2
6
-27
12
-57
15
53
46
0
0
0
0
0
-56
-10
1
-20
-27
-5
-2
-27
-13
38
-21
15
0
0
0
0
0
-47
-11
-21
-10
-14
9
-22
-4
37
12
-20
3
0
0
0
0
0
21
-7
-42
-20
-33
14
-23
-20
17
33
-30
-8
0
0
0
0
0
0
-53
-28
-20
-12
6
7
2
23
-22
-1
-4
0
0
0
0
0
0
-17
-30
-69
-26
25
-13
-35
18
7
-1
0
0
0
0
0
0
0
18
28
0
0
0
3
-53
17
-9
20
-3
0
0
0
0
0
6
28
7
0
0
8
39
24
4
21
-5
39
0
0
0
0
0
3
37
9
45
26
17
8
35
2
1
9
-14
0
0
0
0
0
0
-7
24
50
1
7
-4
17
-31
10
-26
-15
0
0
0
0
0
0
-56
-3
-21
9
-4
-38
-7
-7
-12
-3
-7
0
0
0
0
0
0
-12
-24
-22
13
-26
-60
-36
23
-10
-25
-3
0
0
0
0
0
0
3
-7
-44
35
-14
19
22
1
4
-9
-2
0
0
0
0
0
0
-7
10
12
37
9
-25
-21
-1
40
7
11
0
0
0
0
0
0
0
21
-28
-1
1
-3
-27
19
-2
-6
2
0
0
0
0
0
0
14
-4
0
0
0
27
32
2
13
-48
1
0
0
0
0
0
2
14
27
0
0
18
19
16
24
-15
20
24
1
0
0
0
0
-4
-30
5
42
30
17
4
29
-33
-42
21
-3
1
0
0
0
0
4
-14
-3
15
-4
8
18
-27
-14
22
-19
10
-1
0
0
0
0
-13
18
-10
-26
-8
1
-3
0
20
20
-7
-6
-2
0
0
0
0
0
6
-24
-25
-3
-26
-41
3
38
-37
-15
1
0
0
0
0
0
0
-36
-1
-45
21
-9
27
-28
32
6
-9
21
-1
0
0
0
0
0
2
-12
14
15
14
-39
-6
-24
2
2
-1
-1
0
0
0
0
0
7
-108
-34
-16
22
-20
33
0
6
-3
3
0
0
0
0
0
0
39
46
0
0
0
2
-4
-6
-15
-17
0
0
0
0
0
0
40
26
19
0
0
-3
49
13
-7
1
-13
0
0
0
0
0
0
49
-10
-4
38
16
41
20
32
23
-6
5
-4
0
0
0
0
0
-12
39
13
-10
24
-36
-23
74
-4
15
5
0
0
0
0
0
0
-63
21
12
8
12
16
-25
5
25
19
10
0
0
0
0
0
0
-1
-28
-22
-7
21
19
-49
6
16
-46
1
-1
0
0
0
0
0
0
-1
-42
-3
-2
-2
17
-10
-31
6
-8
-6
0
0
0
0
0
0
-15
-41
-26
-17
13
11
8
12
-35
2
0
0
0
0
0
0
0
-12
-18
-23
7
31
-9
-17
-4
0
0
0
0
1
17
-12
-24
8
26
-28
0
0
0
-31
10
34
25
31
8
3
-22
1
-45
-10
-6
-22
-17
0
0
0
21
2
-36
41
11
-30
-2
10
-35
-3
-13
12
23
13
-14
2
-5
5
13
13
-10
14
23
4
-64
-34
-24
-4
-15
-10
7
7
26
2
13
18
0
7
34
-17
-3
-21
48
-22
6
-15
-5
-2
7
-15
-17
12
45
-25
31
-36
1
5
-1
12
13
13
41
11
16
-6
11
4
5
-3
7
-12
68
32
-13
-13
-60
-66
2
-5
-4
17
-2
-26
16
9
-2
-76
-15
-2
-6
1
11
21
25
-8
-41
-6
20
7
24
-6
13
0
-32
2
32
38
18
-5
-16
-58
-62
-21
-62
34
-50
13
-22
8
-43
-23
49
18
-4
3
12
29
38
60
-27
16
-16
0
0
0
-21
-13
0
0
17
58
25
5
-19
-9
5
29
-41
-32
0
0
0
7
-16
28
29
18
-47
-1
-12
-25
36
-32
0
0
-9
-48
-13
-6
-2
-2
-15
37
49
50
-8
-20
-12
-10
15
-15
-6
-11
1
-23
1
-7
-11
-7
-53
15
42
-4
-16
-26
-7
-13
4
1
-1
14
-1
-7
-23
-20
-30
-28
-13
35
-1
29
40
-26
-1
0
-20
26
-13
-7
2
-1
-14
-25
3
48
-31
3
-46
49
-15
9
0
1
2
14
9
4
9
27
-19
16
-2
-26
-1
56
-1
-34
0
-36
19
15
8
11
6
13
28
-13
52
48
-24
2
3
17
19
-6
-63
-20
-1
21
-5
32
-46
0
1
29
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
-24
-20
-25
-29
21
25
25
0
0
0
22
-22
7
39
59
-7
0
-20
-26
-15
-19
-8
16
28
0
0
-20
11
9
7
23
-9
14
0
-23
-22
-21
-19
-8
5
12
50
29
24
-10
-44
-48
-2
17
-8
-5
-21
-9
-14
-12
-11
5
26
10
24
-4
-22
-57
-36
-18
-16
-6
18
-16
-27
-22
-12
-4
-13
9
-9
-11
-3
-5
-16
-24
92
23
8
2
-8
-22
-19
-7
-11
-31
-16
-37
-10
-18
-38
11
4
-43
-22
27
0
21
-7
-1
18
6
0
-24
-13
-24
-16
7
31
0
-9
-11
-3
1
-41
-11
-9
3
31
-56
-7
-34
30
24
7
46
-2
34
26
20
0
-23
-46
-75
-43
-10
-43
-84
-4
-48
-13
20
-23
-9
-9
4
0
1
-31
-31
4
5
7
14
44
0
0
-5
63
5
8
-54
-24
0
0
-39
-49
-1
-3
5
6
46
35
47
24
9
-21
-73
-54
3
-10
0
-39
-19
-6
-2
0
4
24
28
42
33
-14
-1
1
-20
-5
-1
0
-17
-19
-1
-4
-5
-2
-10
-4
12
-26
-36
16
18
-71
-19
2
0
-33
-9
-1
-5
0
-2
-4
12
-9
-12
-39
-54
18
40
-17
0
0
-45
-45
-16
-6
8
-7
-2
-11
0
-24
-22
-50
-25
-61
0
0
0
-37
-32
-2
1
2
-2
-4
12
-18
-24
22
-51
27
41
1
0
0
-19
4
-3
9
7
7
6
-15
-50
-8
7
15
-27
-15
0
0
0
12
-7
3
8
0
-2
12
1
45
2
-35
35
5
0
0
0
0
-4
-1
14
6
-8
-27
-4
0
0
46
-8
-2
8
11
0
0
0
-8
5
-2
-13
-14
-4
1
-12
-30
4
39
-56
0
-2
0
0
0
-11
-4
-9
-4
-25
-5
15
23
57
-13
15
-3
-4
-1
0
0
0
-9
-16
-11
-17
-15
9
1
-4
-82
32
18
6
-28
18
0
0
0
-12
-13
-6
4
27
17
1
10
-29
-17
-16
-55
-5
8
0
0
0
-5
-8
-1
-4
22
17
13
19
7
-17
-41
-45
-3
30
0
0
0
-7
-7
2
17
-5
23
2
-1
-3
-11
-33
10
22
-7
0
0
0
-3
-4
2
16
12
20
19
33
22
24
27
-10
13
29
0
0
0
-7
-10
6
29
9
7
26
3
34
2
-18
20
42
-3
0
0
0
-14
-19
-15
20
11
-10
29
-7
0
-11
-8
-72
9
-11
1
0
0
-14
-24
-15
-1
11
9
0
-8
4
-40
23
-34
-70
9
0
0
0
-14
-5
-12
-7
11
2
35
39
30
9
-39
-30
6
-9
0
0
0
-32
-20
2
-7
2
11
36
17
-18
4
29
-10
-20
2
0
0
0
-22
-20
-5
15
-1
13
-22
-22
-16
-14
-39
-48
10
20
0
0
0
-26
-7
-11
9
-3
0
15
13
-64
-2
38
-35
-58
-12
0
0
0
-44
-26
-3
13
-13
2
-31
-62
-45
-93
-9
11
1
-30
0
0
0
-45
-22
-19
13
3
2
20
-37
-73
-70
-4
7
-16
0
0
0
0
-42
-37
-42
0
-38
-43
-45
-30
15
-11
-1
0
0
1
0
0
0
-22
-22
-19
-15
-6
11
9
0
0
-8
43
-42
-7
-67
-7
11
3
-1
-19
-21
-19
-11
19
40
0
7
0
-13
15
-10
34
28
46
0
-2
-20
-26
-22
-1
5
20
39
25
15
-13
-30
13
-57
11
-2
1
-4
-19
-29
-10
-15
1
22
25
7
36
-13
0
-84
-16
17
-41
3
-6
-8
-21
-6
-5
5
3
-24
-1
-22
-39
-51
12
-37
12
-4
0
-28
-27
-7
-14
-18
-17
-22
-17
-8
-48
-25
-27
-83
-14
-3
-1
7
-37
-32
4
21
-4
2
-7
-28
-46
-40
-76
-62
-96
11
-8
-13
0
17
16
10
-27
-26
-33
-21
-30
-14
-10
47
-54
-40
-17
-3
0
0
-16
-78
-10
-47
-43
8
-33
-55
-26
-52
-24
-38
9
-8
0
0
0
-25
-5
-11
10
-9
0
13
-34
0
23
-15
23
-8
21
-4
0
0
-40
-24
-17
8
-11
-22
-18
0
-45
0
-5
15
-54
-4
32
2
0
-9
4
-2
0
-8
-5
-18
30
14
11
-17
4
-56
24
8
1
0
-25
-13
-28
-1
4
-24
0
-1
23
-7
-14
-19
-27
-47
6
-4
0
-18
-17
-35
-12
-16
-1
-10
4
7
20
-33
17
6
-15
19
4
-1
16
-16
-13
-6
-5
-5
7
1
19
13
-28
30
23
-25
2
5
0
-14
-2
-22
-4
-6
-8
-12
17
12
-13
-60
-6
-6
-37
-2
0
0
-11
-33
-11
-3
-10
1
-10
4
-47
6
-35
-15
2
-9
0
0
0
-16
-28
-11
5
23
-1
-41
31
31
-50
13
0
0
0
0
0
0
11
-5
-3
-8
-6
-7
0
0
0
0
-19
-35
26
-17
15
0
0
-7
2
0
-13
-14
-31
-41
-27
0
-1
0
22
97
-13
-14
-2
-3
12
3
-10
-15
-4
-5
-10
24
18
21
68
28
-3
-10
2
10
-2
13
-6
-12
-5
-34
2
-4
-16
-4
-4
-1
13
25
15
18
17
0
-13
2
-4
-8
-10
7
5
12
-29
-14
-33
4
2
-6
-4
-1
0
-19
-13
-2
-23
-27
-9
-12
-3
-8
1
-18
8
0
16
-1
0
7
-25
-27
-22
0
-6
-19
17
-18
-6
1
7
16
12
0
-3
3
0
8
-27
-32
-14
-17
9
-44
-12
17
64
-42
-12
21
-6
0
0
0
6
-54
32
-13
-9
-49
-16
-29
-2
-19
-11
0
0
-1
-1
0
0
0
0
0
0
0
2
0
0
0
0
47
7
9
0
24
36
9
0
0
0
0
0
8
-27
0
0
0
42
18
-2
-2
-13
17
-11
0
0
0
0
0
3
16
44
8
0
-26
35
-34
6
-15
0
28
0
0
0
0
0
0
-12
-11
29
-16
51
-18
10
13
-3
6
8
0
0
0
0
0
0
-4
50
-22
-32
15
-30
-8
-6
23
4
12
0
0
0
0
0
0
-12
45
1
15
-28
1
-11
-3
0
1
-17
0
0
0
0
0
0
-1
-8
9
17
-16
-28
-19
-17
-4
13
25
0
0
0
0
0
0
6
0
-7
-56
-8
-1
7
-19
-11
-3
-2
0
0
0
0
0
0
0
1
2
2
11
-63
-8
-20
-27
-9
21
0
0
0
0
0
0
0
0
0
0
-2
27
-17
-9
38
19
9
0
0
0
0
0
0
1
0
0
0
-5
15
14
4
23
4
-32
0
0
0
0
0
0
3
2
4
-31
-27
-4
-1
-37
7
13
-18
0
0
0
0
0
0
-1
-1
2
28
16
-25
-17
-3
-1
-26
8
0
0
0
0
0
0
0
12
17
14
-32
-18
-4
16
-2
-10
12
0
0
0
0
0
0
0
-1
-4
0
26
9
39
34
18
14
28
0
0
0
0
0
0
0
0
4
24
-5
-21
-11
2
15
19
15
0
0
0
0
0
0
0
0
1
4
9
-8
-3
-27
15
-6
-4
0
0
0
0
0
0
0
0
-2
-3
0
-16
-22
-51
-11
-6
-17
0
0
0
0
0
0
1
0
0
0
67
-3
-13
4
0
-37
-21
0
0
0
0
0
0
-1
0
0
0
29
-26
20
20
-7
19
19
0
0
0
0
0
0
-6
6
-27
3
-43
20
11
21
22
24
-1
0
0
0
0
0
0
-8
1
26
-49
-3
-35
-1
9
25
4
-50
0
0
0
0
0
0
2
-14
-7
-5
-14
21
42
2
16
2
-34
0
0
0
0
0
0
1
-6
15
-5
51
11
50
0
20
19
10
0
0
0
0
0
0
3
10
-7
4
11
-23
-52
15
-17
17
43
0
0
0
0
0
0
0
0
3
3
-2
-3
44
31
-1
24
-6
0
0
0
0
0
0
0
0
0
0
8
-24
20
-32
6
7
26
0
0
0
0
0
-2
-4
0
0
0
23
22
5
-9
4
6
28
0
0
0
0
0
3
-17
0
0
0
51
-29
21
10
24
7
2
0
0
0
0
0
0
4
24
-55
19
25
-13
17
-12
-12
-14
32
0
0
0
0
0
1
7
48
29
10
-60
-13
-8
2
9
23
18
0
0
0
0
0
0
-13
13
8
-25
51
-17
-29
21
-14
7
54
0
0
0
0
0
0
-2
6
-12
22
30
-7
34
42
26
3
2
0
0
0
0
0
0
1
0
2
-11
-8
-24
36
34
15
23
-19
0
0
0
0
0
0
0
2
-8
-3
9
-19
29
-2
40
21
51
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
-35
-52
49
0
0
1
7
-17
73
44
0
0
0
6
9
3
-20
19
-7
-23
0
0
0
3
-11
22
25
0
0
0
4
3
-4
3
-7
-18
-11
0
0
0
-7
-18
19
22
17
-9
28
0
-16
-9
16
17
6
7
0
0
-1
0
3
-53
5
-3
-23
-10
-5
-17
3
28
3
-10
3
0
0
-2
7
-5
-9
12
0
-7
-3
-5
-21
10
6
-2
-20
-9
0
0
2
4
0
33
-51
-17
14
-7
5
1
26
-25
1
14
-7
0
0
0
3
14
-36
36
24
-3
-51
-8
0
-15
2
4
-1
38
0
0
0
0
0
-13
9
9
-41
-38
-21
-15
-1
-36
24
-17
23
0
0
0
0
0
-24
12
43
11
11
-40
-11
-17
53
6
10
10
0
3
4
-1
41
-53
-4
0
0
0
10
-21
7
0
22
-1
-4
0
3
-2
-12
-24
16
1
0
0
0
24
-18
-12
9
9
12
-21
0
-3
-7
5
30
7
15
29
0
-3
7
-29
-18
-18
-1
5
-8
0
-2
9
-3
23
3
23
28
17
14
-10
8
0
-4
3
-7
16
0
0
1
-8
-8
6
40
40
22
-12
17
13
-14
-2
-1
8
-16
0
0
0
2
-4
4
2
6
-35
-25
-7
0
-22
11
4
0
-1
0
0
0
-4
12
10
36
-6
-11
13
-16
-27
4
16
-8
4
-3
0
0
0
-2
-6
-2
14
16
-6
0
30
-22
-1
-35
1
6
33
0
0
0
0
3
-4
24
-10
6
20
-13
9
0
-17
-1
29
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
-34
-9
-10
0
0
0
-5
-1
18
-34
30
-24
-21
-7
27
-22
-41
-62
-6
13
0
0
0
8
-1
10
-8
-4
-17
-7
0
-33
18
-26
-23
21
-7
6
5
-1
-13
-9
-14
-4
-34
1
-16
-6
-33
-67
-30
-17
-46
7
3
5
-1
-6
6
-10
16
-23
21
-4
-8
-39
-5
-70
-63
-29
-30
-33
-9
-14
-17
-7
-23
-29
16
-22
16
30
-51
-38
-16
1
-22
-68
-12
8
0
-29
-16
-6
-4
19
-27
-25
-7
23
-19
-11
16
-53
-2
-42
-24
-57
-19
-40
14
25
-16
-8
11
0
0
7
-9
-16
-77
-75
-52
-66
-16
-45
-61
8
-25
-33
-6
-22
0
0
0
-2
-2
0
23
-42
-22
0
7
-52
-18
12
-42
-31
-57
0
-12
-55
-14
-4
-22
25
0
0
0
15
-2
-5
-7
12
-1
0
-44
-88
3
-4
4
-4
14
0
0
0
25
-4
-1
1
-1
13
0
-5
-23
0
7
-1
-12
36
2
14
16
16
-2
-7
5
-7
-15
0
-1
-27
-36
-12
-25
-11
-21
-8
-1
-3
-6
-1
-4
13
3
11
0
-1
-24
-20
-25
-19
-57
-9
-6
-8
-13
2
-7
-10
6
-13
9
0
6
29
-22
22
6
-12
6
-21
-26
2
0
-3
-1
15
3
16
0
0
17
-2
22
27
0
1
-3
-16
-3
0
-6
-12
11
4
45
0
0
16
41
18
70
11
32
7
-2
4
8
14
-1
16
0
-6
0
0
0
16
38
-20
46
8
-8
29
12
11
21
23
14
4
-28
0
8
9
21
-16
-9
14
1
0
0
0
8
9
1
-25
-48
-16
0
-17
13
14
-15
4
11
-1
0
0
0
15
-29
4
-8
-7
-38
0
-19
-40
24
-22
5
12
-4
1
0
3
-10
-5
-3
-40
-46
-35
0
11
0
-7
-15
-9
-6
-8
-7
-5
-3
-4
4
-28
-18
-58
-30
0
35
0
-36
-15
-36
-15
-7
-8
-6
-14
-43
7
-55
3
-87
-1
0
12
26
-6
-9
-31
-21
-10
-14
-4
-33
3
-40
23
-4
-65
-18
0
-1
-9
13
-20
-17
-17
-11
-3
-7
-2
-1
44
-11
18
-74
-39
0
37
-4
16
-45
-19
-9
-3
0
-10
1
17
32
-11
-11
-43
-21
0
26
22
-41
6
-21
-1
3
6
3
-10
-9
26
-2
-3
-30
-19
0
29
-48
-36
-4
11
-3
-2
0
0
0
4
1
-5
10
6
0
0
-3
42
19
18
38
16
8
0
0
0
18
-3
-13
4
-7
0
0
1
-40
-21
7
5
15
0
4
-13
-18
3
2
-1
17
-6
0
0
-27
-7
-8
15
-8
-5
-2
-13
-24
-7
7
4
1
14
17
0
0
4
-12
32
-46
-84
-38
-4
-16
-27
-14
-1
-4
-1
-16
-6
0
0
9
-41
9
-11
-18
-18
-18
-23
-24
1
25
-17
-21
-26
-20
0
0
-24
10
-43
-19
-24
-27
-19
-24
-19
-17
14
-5
15
-13
-54
0
0
-11
-28
-17
-24
15
-16
-3
-28
2
6
-5
6
11
-32
-47
0
0
0
0
0
-4
-8
-8
-1
-29
-43
3
-2
-28
8
-50
-22
0
0
0
-10
5
-64
-23
-37
14
0
0
0
15
-8
4
13
4
8
8
0
-36
-10
23
-21
8
15
0
0
0
18
-10
-14
7
-9
-3
-41
-2
33
-29
-27
15
0
9
9
-11
13
-2
-19
-14
5
-23
-4
-6
0
-17
-38
-27
-63
4
0
-19
-8
-8
-12
-16
-1
-2
-2
-3
-4
0
-11
5
-103
-39
2
-24
-27
-13
-7
-13
-17
-6
17
13
-36
-35
0
0
2
-42
-80
-63
43
-6
-8
-10
-17
23
-5
-24
35
-26
-24
0
-29
-34
-17
-25
-23
-48
-63
-36
-37
12
-43
-12
-5
35
-10
9
0
-5
24
-24
-2
-54
-14
-66
-68
-29
30
9
-29
-52
-29
-5
-5
0
1
11
0
-7
-4
-13
-27
-17
-28
-51
30
9
-57
-60
-73
-56
0
3
0
-4
-12
-17
8
0
0
0
1
-16
-20
-35
-20
-18
-24
-1
-2
0
-43
-40
-17
27
0
0
0
-5
9
-3
-28
-39
3
-13
1
0
-4
-8
-38
13
15
-2
22
4
20
-13
-1
12
-7
-13
2
0
-1
-12
29
23
-10
-18
-6
14
9
0
-27
-11
-27
-21
-15
-19
-1
-3
-1
12
27
-24
15
-37
-4
-10
-7
13
10
-13
19
-24
-16
7
-3
7
2
-23
32
0
-20
-28
3
-13
-2
28
-32
-17
-3
-8
0
-1
-7
15
10
-40
15
26
-16
20
15
13
10
5
-16
-35
4
0
0
1
0
9
-68
-17
-15
-59
6
-5
12
-12
-44
-17
-37
-14
0
0
0
0
0
-2
-12
-31
-1
1
41
13
51
30
5
9
-44
-1
-11
-1
-49
14
-9
-16
0
0
0
-30
-12
11
-6
-31
-5
-8
-1
10
-22
-27
-5
-4
5
0
0
0
-27
2
11
-9
20
-13
17
0
24
-39
22
-39
-49
-11
-14
-17
-21
0
6
-18
7
21
10
1
4
0
4
4
-19
18
7
-13
-3
3
-14
-16
20
-21
17
-15
-2
0
-7
3
-46
-11
-48
15
-12
2
1
-17
-9
0
-12
-6
-6
-11
0
-10
14
-17
9
-28
14
-2
5
0
-5
2
13
11
9
-20
1
0
-10
-12
-39
-18
-10
5
2
2
-13
27
6
-13
1
-10
-23
14
0
7
-18
0
5
-16
-16
5
-9
5
7
30
8
-33
-7
-24
-14
0
0
-1
-1
-11
-44
27
3
-9
3
-13
-8
-22
32
8
-45
-74
0
0
0
0
0
42
73
0
0
0
-14
-22
-8
2
-28
16
6
0
0
0
0
0
-15
20
0
0
9
12
6
-38
6
-10
29
-7
0
0
0
0
29
20
6
9
17
6
-14
0
7
3
23
-8
-2
0
0
0
0
39
40
-24
-15
19
15
-8
-1
-12
24
2
38
0
0
0
0
0
-50
4
-19
0
9
5
8
-14
-3
23
-1
27
0
0
0
0
0
-55
20
-19
-11
-3
8
19
-7
2
22
20
12
-1
0
0
0
0
11
-58
-19
5
-7
11
0
-13
3
19
-45
-2
0
0
0
0
0
0
-9
0
16
-17
-28
0
20
28
-11
-4
-4
0
0
0
0
0
0
-17
1
-57
-43
-26
-10
-24
40
5
0
0
0
0
0
0
0
0
13
12
0
0
0
13
-22
16
-8
20
-3
0
0
0
0
0
6
16
12
0
0
8
25
31
-5
-4
1
21
0
0
0
0
0
3
35
7
20
4
-1
11
27
-28
-4
13
-18
0
0
0
0
0
0
-13
22
8
18
44
53
17
-2
3
-21
-13
0
0
0
0
0
0
-87
-31
-62
41
33
-53
-7
-11
-3
-9
-10
0
0
0
0
0
0
-6
-38
-2
-9
-21
-23
-11
14
-10
-19
-4
0
0
0
0
0
0
2
-1
36
20
-16
37
-9
-2
-17
-7
-2
0
0
0
0
0
0
-7
-15
7
7
25
-37
-25
-29
43
4
9
0
0
0
0
0
0
0
-15
-39
-16
-2
-3
-24
17
-2
-6
2
0
0
0
0
0
0
23
10
0
0
0
50
19
13
-8
-57
3
0
0
0
0
0
2
2
21
0
0
15
17
11
10
-10
25
37
1
0
0
0
0
-4
-6
-7
10
15
-1
25
57
9
-16
4
-4
1
0
0
0
0
4
-23
3
8
18
-16
29
1
2
23
-16
13
-1
0
0
0
0
-13
21
-35
4
-12
19
6
3
31
21
-9
-5
-2
0
0
0
0
0
-4
5
-12
-13
-11
-36
-1
32
-27
-19
4
0
0
0
0
0
0
-28
-1
-40
15
-19
22
-13
1
8
3
22
-1
0
0
0
0
0
2
-8
-23
-3
-21
-53
2
-18
3
3
-1
-1
0
0
0
0
0
7
-75
-36
-26
30
-23
32
2
4
-3
3
0
0
0
0
0
0
76
51
0
0
0
0
4
21
-23
-9
0
0
0
0
0
0
38
26
29
0
0
12
36
24
-30
-7
-12
0
0
0
0
0
0
71
57
-7
19
31
40
17
0
23
-19
4
-4
0
0
0
0
0
-24
27
24
-10
37
2
18
48
-8
28
-8
3
0
0
0
0
0
-55
-22
-24
20
9
-15
-28
39
37
9
10
0
0
0
0
0
0
-1
-30
-43
-17
15
4
-22
7
19
-39
4
-1
0
0
0
0
0
0
5
-18
-19
-25
-43
-6
41
-35
13
-9
-6
0
0
0
0
0
0
-8
-64
38
-7
23
1
0
0
-29
1
0
0
0
0
0
0
0
-13
-15
-28
15
3
42
2
-8
0
0
0
0
2
19
9
-43
10
0
-16
0
0
0
-5
14
35
24
36
-2
-1
-59
6
9
-32
-5
-2
-31
0
0
0
9
15
-33
13
11
-3
-2
40
-14
17
14
22
-14
-5
-5
1
-21
-27
-14
10
13
3
35
3
-57
-61
10
-14
2
2
-19
3
-13
8
27
-25
-39
6
34
-22
-3
-1
9
0
-56
13
-4
-5
19
5
-4
-5
19
-29
58
-26
-5
7
19
-28
-15
7
19
4
-17
19
-1
9
16
-10
22
-6
62
33
-13
17
-71
-57
-4
-2
2
3
3
-31
-6
12
-5
-72
-30
0
-31
0
5
23
-6
-13
18
5
-15
18
26
-10
1
-6
-7
-7
7
25
21
-14
-32
-38
-42
-39
-115
14
-42
14
-22
30
-21
-41
15
14
-4
3
18
37
65
38
-64
-2
-5
0
0
0
-26
-9
39
-1
32
52
16
4
-42
63
-6
26
-28
-47
0
0
0
-14
-4
11
52
15
-41
24
-34
-6
-17
-28
25
-29
-40
-39
-9
-9
-6
3
-4
75
48
42
0
-32
-57
-16
7
11
19
-5
1
-32
8
-4
8
16
-59
-31
52
-1
-12
-27
0
7
-2
12
28
-4
-21
-15
-22
-9
1
-30
23
22
-2
40
27
-14
36
-36
-37
5
-34
-5
7
-28
-7
-14
18
41
-18
-2
-24
-15
-35
6
-15
-36
11
24
5
6
3
18
-27
35
0
-13
-1
35
-1
-46
15
-65
1
33
-7
12
28
15
20
-20
9
55
-16
11
-2
9
10
10
-66
-18
-5
28
7
9
-32
-9
9
41
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
-19
-3
0
-3
-5
2
53
0
0
0
20
3
-4
43
42
-18
0
-30
-20
-16
-7
18
25
4
0
0
-38
-2
-7
-2
10
-10
17
0
-28
-16
-6
-9
14
1
31
55
38
21
-2
-28
-1
6
19
-7
-2
-36
-7
-2
2
23
26
28
21
21
8
-7
-32
-37
-27
-18
-11
20
-38
24
-7
6
-2
16
15
13
1
-13
17
-21
-29
69
24
14
2
-62
-6
-17
4
5
-6
27
-23
-21
-48
-16
-11
-27
-54
-23
25
0
-12
-19
-6
-2
2
1
1
21
46
-6
-14
26
-5
7
-17
-3
1
-41
-9
40
-24
-15
-13
-4
-20
0
39
-5
11
-16
23
18
17
0
-23
-49
-71
-44
-2
-34
-84
-17
-54
-5
33
-33
-19
-7
-5
0
1
-80
-13
-7
-12
7
5
39
0
0
13
56
39
0
-47
-23
0
0
-34
-11
-7
10
4
0
52
23
39
35
34
-11
-52
-27
4
-10
0
-52
-8
2
-10
-2
-3
18
30
38
17
15
-22
-9
-24
-2
1
0
-1
-19
-6
-6
0
-1
-7
6
4
0
8
13
5
-70
-16
2
0
-34
-29
-5
-6
-8
-3
-14
-13
4
1
11
-42
-11
13
-12
0
0
-31
9
-12
-18
-14
-1
-7
8
-26
13
-9
-33
-34
-40
0
0
0
-29
-12
0
-16
-3
-8
9
-17
-15
-32
-6
-25
20
27
1
0
0
-30
9
-3
-9
8
1
-12
6
7
17
-47
42
-17
-17
0
0
0
-3
-15
18
6
-27
-7
24
-2
1
-4
-4
2
9
0
0
0
0
-6
1
-4
4
-8
-19
14
0
0
53
-10
-12
7
11
0
0
0
0
3
-3
7
-15
-15
18
-8
-28
2
51
-55
8
-1
0
0
0
-12
-12
5
-7
-16
-20
40
44
41
-28
35
0
-2
-1
0
0
0
-9
-12
-8
-10
6
30
55
12
-48
-8
34
-2
-32
21
0
0
0
-15
-12
-9
5
16
0
7
25
-30
9
-16
-54
-8
9
0
0
0
10
-5
-15
4
9
22
21
17
13
-22
-67
-39
1
30
0
0
0
-5
-8
4
4
-7
7
22
-27
-7
-6
-31
1
3
-7
0
0
0
-5
-3
-6
15
16
1
20
28
-13
-8
26
-8
11
20
0
0
0
8
-13
1
0
-1
-3
22
1
11
8
-37
17
34
-3
0
0
0
-1
-10
1
-15
25
17
26
-14
0
-2
-13
-63
6
-15
1
0
0
-7
-12
-20
-10
11
18
0
5
18
-19
30
-23
-72
8
0
0
0
-4
-13
0
14
-5
21
26
31
21
25
-24
-28
8
-6
0
0
0
-17
-14
8
10
8
6
21
3
-1
20
16
-2
-19
1
0
0
0
-16
-10
0
-14
7
4
21
2
-11
-13
-37
-42
10
21
0
0
0
-23
-9
-21
17
16
9
5
15
-70
-27
22
-33
-59
-15
0
0
0
-22
-12
3
-24
14
-2
7
-16
-39
-65
-9
13
2
-28
0
0
0
-52
-25
-9
47
0
-2
35
-10
-20
-57
-12
1
-19
0
0
0
0
-42
-42
-20
-2
-7
-43
-49
-34
19
-7
1
0
0
1
0
0
0
-27
-33
-15
5
21
35
41
0
0
-18
37
-38
-25
-98
-7
14
3
-6
4
-4
3
6
10
13
0
-43
0
21
11
0
-3
17
34
1
-34
-20
10
-14
-4
22
1
53
45
37
13
4
29
-49
-2
-5
2
-13
-31
-11
7
14
-1
3
5
-20
-15
17
-34
-86
-1
16
-37
3
-40
-20
-7
11
-2
7
1
-20
-30
-8
-50
-35
11
-18
17
-6
0
-16
-2
7
-3
12
-7
-27
-11
-23
-21
-50
-58
-74
-23
-4
1
7
-59
-9
-36
-19
-16
-16
15
-23
-41
-6
-94
-62
-81
-1
-10
-11
0
43
20
12
-9
35
0
-20
-20
-5
-2
14
-45
-39
-10
-3
0
0
-2
-65
14
-48
-38
-4
-37
-59
-15
-47
-23
-36
13
-8
0
0
0
-13
-15
-12
-1
9
18
40
-41
0
30
3
20
1
3
-4
0
0
-13
-30
11
-21
23
9
-14
0
-13
0
20
1
-59
-3
24
2
0
-13
9
4
42
-13
5
-21
12
20
20
-6
26
-42
24
3
-1
0
20
-3
-8
4
21
-3
-21
-14
-26
26
-8
-43
-34
-49
6
-3
0
2
12
-17
6
4
-22
4
-15
-12
43
-42
51
39
-11
12
1
-1
-11
0
18
-25
4
-31
-14
2
-33
-7
6
32
-1
-15
-1
3
0
5
-16
-8
-16
-2
-32
-31
-27
40
-37
-64
-18
-8
-37
0
0
0
10
-18
16
-20
-10
-17
0
-4
-36
-10
-40
-6
2
-9
0
0
0
-9
-49
-10
15
-14
-9
-44
23
27
-57
9
0
0
0
0
0
0
7
-2
14
15
-1
-23
-46
0
0
0
-1
-6
14
-28
28
0
0
19
7
3
1
-20
-43
-55
-25
0
-14
-18
39
85
5
-9
-6
1
-6
-1
-22
-3
12
13
-13
16
18
21
24
41
-11
-11
3
11
-3
-15
-1
-11
-14
-19
23
8
11
-19
16
16
-14
54
1
15
18
0
25
4
-1
-14
0
-32
15
17
3
9
-14
3
11
-6
-4
-1
0
9
-13
6
-13
13
-17
-3
-11
9
-3
27
8
9
21
-1
0
7
-42
1
-7
-5
-5
25
13
11
7
-12
31
-7
10
0
-3
3
0
-2
-12
-26
-18
-17
-14
-56
-14
-8
52
-18
3
11
-3
0
0
0
21
-67
45
-3
3
-66
-1
-38
-18
-31
-12
0
0
-1
-1
0
0
0
0
0
0
0
2
-3
0
0
0
2
9
-5
-9
18
29
12
0
0
0
0
0
8
-18
0
0
0
61
-8
1
1
9
-30
-16
0
0
0
0
0
3
-12
40
2
30
-16
9
21
-12
-8
-19
-4
0
0
0
0
0
0
3
-7
29
-35
41
-11
-1
26
20
11
3
0
0
0
0
0
0
-3
68
-30
-17
32
-47
39
22
-1
21
5
0
0
0
0
0
0
-14
32
11
5
-24
-4
-5
22
-9
38
-6
0
0
0
0
0
0
-1
-6
27
0
-27
17
-14
-6
-5
-13
-6
0
0
0
0
0
0
6
-1
-7
-41
-35
35
-10
-36
26
-5
26
0
0
0
0
0
0
0
1
0
2
10
-70
-9
-28
14
9
17
0
0
0
0
0
0
1
0
0
0
9
13
10
-19
24
1
-20
0
0
0
0
0
0
1
0
0
0
-2
12
-8
8
8
1
16
0
0
0
0
0
0
3
-1
-7
-33
-26
-29
3
-18
17
-5
-4
0
0
0
0
0
0
-1
-1
4
21
21
-8
8
-26
4
5
45
0
0
0
0
0
0
0
12
16
28
-35
-40
28
33
-41
-35
16
0
0
0
0
0
0
0
-1
-5
-5
20
8
-1
16
45
4
25
0
0
0
0
0
0
0
0
3
24
-13
-6
-16
-2
23
54
1
0
0
0
0
0
0
0
0
1
2
1
-8
15
-54
13
14
-2
0
0
0
0
0
0
0
0
-2
-3
0
-16
-25
-50
-9
-7
-15
0
0
0
0
0
0
0
0
0
0
81
-41
11
-48
-2
16
-38
0
0
0
0
0
0
-1
0
0
0
19
-22
15
10
-4
-13
36
0
0
0
0
0
0
-3
23
-26
4
-73
-8
6
4
-2
30
-14
0
0
0
0
0
0
-6
14
2
-63
-5
-29
-14
14
30
43
-44
0
0
0
0
0
0
1
-16
2
-12
-11
15
28
42
31
20
4
0
0
0
0
0
0
1
-5
13
-9
59
39
34
28
25
20
41
0
0
0
0
0
0
3
8
-10
-5
8
-39
-9
40
-28
26
10
0
0
0
0
0
0
0
0
3
7
-11
-8
27
26
35
51
7
0
0
0
0
0
0
0
0
0
0
8
-22
26
-34
10
-23
18
0
0
0
0
0
-2
4
0
0
0
58
-26
26
-32
20
9
5
0
0
0
0
0
3
-5
0
0
0
62
-56
-9
3
9
37
16
0
0
0
0
0
0
0
31
-52
37
42
-22
4
16
-3
-19
83
0
0
0
0
0
1
8
32
23
-7
-65
-20
6
18
3
1
38
0
0
0
0
0
0
-12
13
12
-21
16
-35
-29
31
51
7
56
0
0
0
0
0
0
-1
6
-12
23
10
-14
33
16
16
-61
33
0
0
0
0
0
0
1
0
2
-11
-20
23
14
45
19
13
-33
0
0
0
0
0
0
0
2
-8
-3
9
-16
11
-22
57
47
31
0
0
0
0
0
0
0
0
0
0
0
0
-9
5
-17
-65
51
0
0
1
7
-21
52
7
0
0
0
25
4
-17
-11
-8
-9
-12
0
0
0
3
-24
34
-5
0
0
0
14
-19
-16
11
-21
-13
-25
0
0
0
-7
-19
-14
56
-10
-23
23
1
-12
-12
-3
9
2
-9
0
0
-1
0
2
-54
4
0
-1
-7
0
18
-7
-3
-3
-24
30
0
0
-2
3
-5
-26
3
-24
22
-24
9
-28
4
-7
6
-48
-34
0
0
2
4
11
36
-21
21
-23
1
-12
27
32
-15
10
16
-2
0
0
0
2
11
-26
48
-42
7
-82
-18
-3
-8
16
-16
-3
58
0
0
0
0
0
-10
-12
17
-30
3
-16
-35
-21
-45
24
-27
26
0
0
0
0
0
-24
9
46
1
-11
-43
4
-28
52
5
-7
21
0
3
4
-1
27
-46
-14
0
0
0
15
-38
18
4
11
-14
16
0
2
0
-6
-10
22
-20
0
0
0
-4
-17
-22
-21
-3
8
-19
0
-3
-7
10
27
26
36
-8
10
-19
-5
-6
-18
6
-9
7
1
0
-2
7
-1
31
12
18
15
-3
65
2
-16
-15
-24
-3
-13
-9
0
0
1
-12
-7
11
33
69
-22
26
-7
-26
-9
8
-8
-12
2
0
0
0
2
-6
2
-22
18
-11
4
42
15
-30
12
-17
8
7
0
0
0
-4
13
20
11
16
-35
29
10
-35
-26
-9
-5
0
3
0
0
0
-2
-6
3
18
4
-34
63
55
-39
26
-18
-8
-1
36
0
0
0
0
3
-4
24
13
-29
33
-10
18
6
-22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-14
11
0
0
0
-3
30
0
-8
29
11
11
-2
25
-13
-64
-33
7
11
0
0
0
-12
-11
-9
-28
1
-29
3
1
-26
-9
6
-26
-8
-18
-3
-16
-8
12
-15
-3
5
0
-6
-19
-4
-34
-54
-18
-3
-52
-7
-26
15
-12
-36
-22
-16
7
15
7
-13
-8
-42
-8
-40
-47
-14
-43
-28
6
15
-8
-1
13
21
44
-13
14
22
-38
-37
-10
18
-5
-47
-10
14
-12
-15
22
-46
22
10
35
-24
-7
25
-9
-16
24
-47
7
-23
12
-52
-7
-37
21
2
0
1
24
0
0
7
-9
-16
-86
-89
-44
-19
-46
-16
-11
-36
-13
-64
-3
-33
0
0
0
-2
-2
0
20
-40
-16
15
4
-44
-18
4
-48
-38
-71
-1
-5
-56
3
-15
-24
11
0
0
0
8
-2
9
-14
2
7
0
-29
-66
-18
10
-10
16
8
0
0
0
19
2
7
-10
13
24
0
-5
-37
13
19
6
12
10
1
-1
12
4
-6
3
11
19
-15
0
1
-34
-36
20
-48
-25
11
-14
-13
-8
-4
-1
13
20
13
6
0
-1
-35
-15
-16
-36
-3
8
5
-1
-11
-1
-6
2
4
17
-48
0
4
55
-51
46
1
-1
2
-6
-4
1
-2
-3
-13
-10
42
-25
0
0
15
42
11
-16
-25
-4
-9
-21
2
3
-5
6
19
-1
31
0
0
16
21
-6
71
20
2
4
17
8
9
10
0
8
3
-9
0
0
0
0
51
-10
61
16
-3
10
14
7
14
-26
12
-35
-11
0
-16
-16
27
-21
0
9
3
0
0
0
7
18
-4
-32
-49
-11
0
-16
-8
2
-15
0
14
-2
0
0
0
35
-4
6
-1
20
-15
0
-18
-36
10
-10
-9
11
1
1
-1
37
40
46
21
-8
-18
3
0
8
6
-11
-20
-11
3
-12
-1
-11
10
-7
37
4
-20
-91
-28
0
34
2
-19
-36
-28
-8
-6
-3
-14
-23
2
36
-26
10
-112
-8
0
6
37
-17
3
-24
-15
-12
-6
-14
-15
19
7
25
-47
-59
-22
0
10
11
2
-28
-19
-6
-10
-2
-1
-34
-2
-17
-39
25
-59
-39
0
30
-38
4
-24
-16
0
2
1
-10
-13
-20
-7
-35
18
-41
-20
0
55
2
-52
-24
-10
-9
-7
-3
1
-11
47
-2
-16
-29
-25
-18
0
16
-40
-26
9
1
15
2
0
0
0
27
5
8
-7
42
0
0
-13
41
6
-4
15
28
9
0
0
0
20
8
13
3
22
0
0
-5
-23
-11
-10
4
14
10
16
-11
-3
-13
7
10
16
-6
0
0
-26
7
24
23
-11
-1
-6
-16
-10
-8
-23
-8
-16
-31
32
0
0
9
-21
22
-41
-8
-24
-6
-12
-20
-1
8
-24
-14
-24
34
0
0
12
-45
20
-25
-22
-29
-13
-9
-24
9
12
6
10
-41
-21
0
0
-27
4
-26
-33
-47
-13
-15
-11
-25
-17
25
-18
-8
9
-28
0
0
3
-29
-19
-33
-17
-16
-3
-24
-2
-7
27
9
-9
-8
-42
0
0
0
0
0
4
-5
-5
-1
-13
-13
-3
8
5
31
-31
-8
0
0
0
-10
2
-58
-25
-7
-26
0
0
0
4
-4
16
-10
13
-21
6
0
-41
-7
19
-22
-15
11
0
0
0
17
12
3
9
15
12
-3
0
16
-47
-10
-4
-1
23
2
0
3
8
17
0
-11
8
-18
-8
0
-15
-57
-15
-21
-12
-35
-33
11
-3
13
26
-15
15
10
12
8
0
-7
13
-90
-46
8
-15
-36
-10
10
4
3
-5
-3
1
12
-33
0
0
-2
-26
-55
-81
6
-6
2
23
0
14
3
-13
7
19
-31
0
-30
-30
-36
-15
-28
-41
-35
-9
-3
-3
-5
-34
0
1
-23
20
0
-4
28
-13
0
-54
-20
-44
-50
-51
5
-38
-47
-31
-69
-57
-35
0
1
11
0
-7
-6
-12
-22
-18
-29
-49
28
-4
-53
-18
-92
-52
0
3
0
-6
-17
-15
18
0
0
0
15
-15
-52
-31
3
-45
-32
-1
-1
0
-49
-16
2
32
0
0
0
-4
10
8
-10
-24
2
26
1
0
-4
-7
-20
51
36
-3
-2
-24
35
9
-13
-2
-1
-4
27
0
-1
-7
29
20
-31
13
3
-49
6
16
-18
5
-34
23
-7
10
-1
-3
-1
16
37
-27
7
-74
-9
9
-4
4
6
-56
18
-50
-14
7
-3
6
3
-33
21
37
-2
-15
13
-38
5
-6
-31
-14
18
-32
0
-1
-9
15
7
-31
11
11
1
-19
-2
38
-3
15
-10
-49
-14
0
0
1
-1
6
-63
-18
-3
-22
-27
24
47
-37
-41
-3
-28
-4
0
0
0
0
0
-1
-40
-36
-18
27
32
12
24
27
-3
24
-33
-1
-8
-2
-45
7
-3
-13
0
0
0
7
8
16
4
1
-19
-25
-1
26
-35
-35
-2
-4
16
0
0
0
-9
29
24
7
-12
7
14
0
20
-40
1
-34
-12
-30
-9
-11
-25
6
7
16
-3
-7
18
-11
4
-1
-7
-12
-22
22
11
13
-18
-2
-13
-18
9
-33
-7
-3
16
0
-8
4
-74
9
-37
11
-16
12
2
-5
31
8
-7
3
-29
10
0
-11
23
8
-1
-55
34
-8
10
14
-29
-4
-3
-13
1
16
14
0
-4
-9
-21
-33
-5
3
12
13
9
12
-31
9
-35
-15
-4
-5
0
10
-10
12
-24
-8
-11
6
13
7
25
17
6
-39
39
-16
-29
0
0
-1
-1
-20
-6
29
-7
-33
-32
-3
32
-4
38
1
7
-66
0
0
0
0
0
-11
58
0
0
0
11
-25
31
-1
3
1
0
0
0
0
0
0
-15
-69
0
0
-59
-26
-3
-3
-14
7
12
0
0
0
0
0
0
-8
-40
-40
15
4
0
-10
17
2
8
7
0
0
0
0
0
0
0
12
-1
30
-39
21
-12
38
7
-41
0
0
0
0
0
0
-1
12
-41
8
39
71
25
-10
-5
-14
16
0
0
0
0
0
0
-2
-5
14
-5
107
44
-12
-12
23
-7
0
0
0
0
0
0
0
0
-25
46
4
4
12
-11
-9
-25
-5
0
0
0
0
0
0
0
0
0
-5
7
-7
-6
3
0
-20
0
1
0
0
0
0
0
0
0
0
-3
20
-59
-59
0
2
-1
0
0
0
0
0
0
0
0
0
0
18
0
0
0
13
11
-13
3
0
-2
0
0
0
0
0
0
0
4
0
0
19
-28
15
-12
0
-1
0
0
0
0
0
0
0
4
4
-64
18
-56
8
39
14
1
1
0
0
0
0
0
0
0
2
-7
-13
4
0
31
25
13
1
0
-1
0
0
0
0
0
0
-1
-10
10
56
9
-14
21
0
-2
0
0
0
0
0
0
0
0
-2
5
-1
-52
0
22
34
2
2
-3
-1
0
0
0
0
0
0
1
-26
22
-6
-20
-22
-3
3
-2
1
0
0
0
0
0
0
0
0
15
-47
-69
-35
14
-6
-11
0
6
3
0
0
0
0
0
0
0
1
-12
-1
11
-2
2
0
0
0
0
0
0
0
0
0
0
2
38
0
0
0
3
16
39
-6
-3
0
0
0
0
0
0
0
0
12
0
0
-33
30
14
18
27
9
-1
0
0
0
0
0
0
-24
-7
8
-42
32
31
38
1
1
4
2
0
0
0
0
0
0
-7
-35
22
36
40
34
20
6
-4
0
0
0
0
0
0
0
0
3
-29
-29
48
25
25
3
19
4
0
0
0
0
0
0
0
0
0
-45
-16
7
3
-15
6
-5
7
0
0
0
0
0
0
0
0
0
-16
-12
-17
-1
-14
15
-4
0
0
0
0
0
0
0
0
0
0
-1
11
-23
5
-19
6
1
0
0
0
0
0
0
0
0
0
0
-1
11
-43
-6
-13
-1
-1
0
0
0
0
0
0
0
0
0
4
14
0
0
0
43
17
1
-7
2
0
0
0
0
0
0
0
12
-14
0
0
4
-9
-7
-4
8
-3
0
0
0
0
0
0
0
-1
55
40
29
10
9
-3
-9
-17
0
0
0
0
0
0
0
0
-4
30
-57
3
39
-11
-19
12
2
0
0
0
0
0
0
0
0
-32
-5
-45
-2
-17
-30
34
25
-2
-1
0
0
0
0
0
0
0
4
-36
38
-15
40
-9
-3
-6
6
0
0
0
0
0
0
0
0
1
-20
-10
-19
-27
18
8
-1
2
0
0
0
0
0
0
0
0
1
-8
29
5
-37
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
-1
6
-6
-3
0
-2
0
0
0
0
0
10
10
-2
19
-8
7
0
0
0
8
-34
-7
-2
-1
0
0
-6
10
1
-60
77
-19
-12
0
0
0
-44
-35
12
8
-8
0
0
6
20
-11
0
55
-39
-15
-51
-11
-26
6
33
12
25
-18
0
0
17
-8
10
-10
-24
-20
-11
-28
6
-13
28
9
10
9
1
-1
0
-6
0
24
-25
2
0
-10
37
71
9
19
-22
10
0
3
0
0
0
-10
-16
6
20
-21
19
-92
25
29
9
0
43
-13
-7
9
0
0
4
41
-14
16
-24
-7
12
0
-8
-66
4
10
-2
0
-2
0
0
-3
-18
-26
10
0
-55
-26
4
6
25
18
-5
-2
0
1
-1
2
1
4
2
0
-17
-1
8
3
16
15
16
7
1
0
0
0
-11
-8
11
-11
-9
2
43
0
0
0
-39
18
-4
13
4
6
1
12
3
29
-2
27
30
-26
0
0
0
-4
25
0
42
-22
-10
3
-27
-22
-44
10
27
25
38
5
11
6
-8
-21
26
3
7
7
1
-7
6
-14
40
17
6
33
6
-24
-2
-6
40
-42
-16
-13
0
0
0
-41
17
-10
-38
4
10
-48
-23
-34
6
31
47
-8
7
-4
0
3
-1
-18
-19
-10
-19
51
-2
-41
25
-49
-20
6
-11
-1
0
0
-8
-9
-36
5
25
-18
-39
23
-1
16
-58
7
13
2
1
1
1
2
20
-10
-2
-9
2
8
-34
-1
34
-28
-16
11
-9
2
0
0
0
-2
0
0
1
8
-30
11
27
22
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
9
-45
20
-34
19
1
86
0
0
0
20
25
-30
1
1
-16
0
-34
25
9
-7
5
37
55
0
0
3
-13
8
-9
15
4
10
0
-20
16
3
-20
26
19
20
33
8
-51
-22
52
33
-3
-4
-1
0
-29
22
-18
63
12
-46
4
-15
-43
71
-32
-20
8
4
-10
-3
0
-7
40
22
28
-42
-33
-27
22
46
19
-45
-6
-6
-16
8
0
0
-33
-7
49
14
12
20
2
35
-32
-27
23
36
-5
-17
1
4
0
-37
-14
46
-39
5
-70
-39
-5
16
-5
10
0
-12
0
0
0
0
-12
-7
-9
-18
-10
11
-12
-12
-41
-9
-14
13
-4
6
0
0
0
0
-6
6
-11
2
8
-32
-4
-7
13
4
-7
-3
0
0
0
0
-18
22
-50
9
2
20
30
0
0
-19
-3
-19
28
7
-1
0
0
-18
-80
-43
18
-10
20
58
-32
39
48
1
8
-41
-17
0
0
0
23
-78
-29
0
-12
10
22
16
41
27
3
-16
2
-6
0
0
0
-30
-41
-46
-7
16
-25
2
19
10
-14
15
-33
9
-8
0
0
0
-19
5
41
50
7
2
29
1
-20
45
14
23
-29
2
0
0
0
32
-92
-18
22
1
-49
-10
-21
62
-5
-18
12
-4
1
0
0
0
-7
40
-51
-28
9
-15
-8
2
45
-18
-25
22
-24
-3
0
0
0
2
49
-18
26
13
-18
51
-14
98
46
-38
26
-9
0
0
0
0
-23
-14
37
-11
-34
-86
-26
-2
-12
-6
8
1
0
0
0
0
0
-9
-5
5
21
92
-5
-13
0
0
-2
5
-4
0
1
0
0
0
36
3
-7
20
34
1
23
-9
24
-9
20
-12
-1
0
0
0
0
-42
2
28
-5
2
9
39
-5
-6
-8
21
-2
0
0
0
0
0
31
-14
13
15
21
20
-16
0
30
-4
-6
0
1
1
0
0
0
-2
-11
-4
-12
10
-45
-10
42
3
2
3
-1
-1
0
0
0
0
15
10
2
2
5
15
15
-27
11
1
-6
1
1
0
0
0
0
-5
-6
-3
-5
18
-33
6
-56
4
-3
-7
-2
-1
0
0
0
0
-17
1
-23
-10
7
23
43
-45
-7
-7
0
-1
0
0
0
0
0
-22
-28
2
-27
5
-13
-45
6
-18
2
0
0
2
0
0
0
0
-12
-11
-62
41
-36
40
-4
-19
0
37
2
-9
4
0
0
0
0
-6
17
14
-26
39
21
0
5
-1
-1
-12
28
7
-4
0
0
0
1
-40
-1
-16
32
32
-14
20
28
23
21
11
-1
0
0
0
0
-10
25
23
33
-58
-31
23
-40
11
-2
-8
1
1
-2
0
0
0
18
-3
11
5
21
40
2
52
-4
-12
1
-5
-1
1
0
0
0
-11
-15
-24
20
-4
45
1
-28
-8
12
-2
-3
-7
0
0
0
0
24
-11
23
9
-19
-11
74
-15
-28
-1
0
-3
0
0
0
0
0
-34
31
-16
62
0
2
-4
-32
12
-8
0
0
0
0
0
0
0
0
0
-38
13
-10
20
-11
-1
1
0
0
0
0
0
0
0
0
-1
-9
-32
31
28
92
44
0
0
-30
9
-17
-2
-45
-2
4
0
2
8
57
24
49
24
8
0
-66
0
45
3
0
3
-9
-7
3
-16
-13
-29
22
-22
7
-7
-33
-45
46
3
5
7
0
-21
-12
-1
9
-52
60
33
16
18
-66
16
-1
-22
-17
-48
-27
4
-21
-1
0
0
18
11
59
11
-1
-53
11
-41
-16
-2
0
1
4
2
0
0
-15
23
-74
-60
9
-36
8
25
-20
-19
-33
-14
7
-5
0
0
0
-2
-15
-100
-35
-54
-74
-49
38
15
54
-11
24
-20
3
-1
0
0
12
-2
22
30
-28
14
-1
-67
0
-5
-19
0
-8
7
0
0
0
2
-12
15
-21
6
3
22
-15
0
-4
1
-10
2
0
0
0
0
-10
-16
11
-14
10
75
-17
-27
0
4
-20
6
21
0
1
0
0
-9
-15
9
-52
75
27
57
0
7
0
19
12
-22
-12
0
0
0
7
-43
-24
3
-13
-41
33
62
35
10
38
40
-4
24
3
0
0
8
3
23
77
-44
-23
53
-41
-74
-11
11
-20
-14
-11
3
0
0
-11
28
5
21
42
20
-26
-15
-38
-46
8
38
-7
-7
1
0
0
-14
8
49
12
11
-78
-55
8
-5
-38
-16
-5
-2
-3
0
1
0
2
4
0
32
29
3
-12
-36
-11
-25
-12
-1
0
0
0
0
0
8
-2
17
43
-49
5
-34
22
-22
-1
3
0
0
0
0
0
0
-1
1
11
6
-7
0
1
0
1
-8
8
0
0
0
0
0
0
-25
26
111
38
-20
16
-75
0
0
0
10
20
12
-11
1
0
0
-35
16
7
21
35
-32
-9
-29
0
-3
13
-11
25
29
-7
-1
1
-12
-56
7
-11
45
-11
-15
21
-61
42
13
11
-6
0
2
0
0
-40
48
4
17
69
-1
64
29
-81
60
8
3
3
-2
0
0
0
10
-10
20
31
12
-42
-38
35
-4
-8
31
20
0
0
0
0
0
35
-1
14
-7
-16
55
-1
-43
12
-56
5
0
10
3
0
0
0
-8
-1
47
-11
11
-10
-16
24
22
-32
12
-18
1
0
-6
0
0
-18
35
-5
-8
19
29
18
-13
-16
0
-26
14
-2
0
0
0
0
2
-22
-7
-2
2
1
-1
-8
-15
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
39
61
5
-15
13
15
35
0
0
0
0
0
0
-2
0
0
0
-7
-12
25
1
-1
-47
34
0
0
0
0
0
0
0
-4
-19
34
-9
27
28
1
-27
-15
-25
0
0
0
0
0
0
0
-11
12
1
-4
-19
5
6
-22
27
14
0
0
0
0
0
0
0
0
0
10
1
-18
-18
1
-19
-3
34
0
0
0
0
0
0
0
1
3
-26
7
-44
3
-2
11
-16
33
0
0
0
0
0
0
0
0
2
-9
-7
-9
6
-6
20
-52
18
0
0
0
0
0
0
0
0
0
0
-15
7
-28
-38
18
44
-8
0
0
0
0
0
0
0
0
0
-1
0
-19
-2
16
11
-19
-60
0
0
0
0
0
0
0
0
0
0
-19
-24
2
-2
43
-12
-38
0
0
0
0
0
0
0
0
0
0
20
10
67
-19
-22
-4
6
0
0
0
0
0
0
0
0
-1
-3
11
-43
0
-7
-16
49
1
0
0
0
0
0
0
0
0
1
2
23
-14
4
9
24
-84
58
0
0
0
0
0
0
0
0
1
-1
2
-23
-7
-14
-61
14
-2
0
0
0
0
0
0
0
-1
0
-3
-10
23
-2
58
49
-30
-14
0
0
0
0
0
0
0
0
0
0
-9
-7
5
-72
-11
3
28
0
0
0
0
0
0
0
0
0
0
0
-7
-16
12
-22
8
-10
0
0
0
0
0
0
0
0
0
0
0
-4
7
-4
13
43
-37
0
0
0
0
0
0
1
0
0
0
-10
-16
-25
-37
29
13
6
0
0
0
0
0
0
0
0
0
0
-22
-10
-19
15
73
-21
44
0
0
0
0
0
0
0
1
-2
10
-28
-49
-1
8
-13
48
20
0
0
0
0
0
0
0
0
-1
13
-17
13
20
56
33
10
-22
0
0
0
0
0
0
0
0
3
1
3
-3
35
-60
2
-18
12
0
0
0
0
0
0
0
0
0
2
13
23
12
-29
74
64
3
0
0
0
0
0
0
0
0
1
0
0
-4
-25
-22
4
4
-18
0
0
0
0
0
0
0
0
-1
1
0
-9
2
4
31
23
-11
0
0
0
0
0
0
0
0
0
0
1
-3
-4
-7
-19
-9
-1
0
0
0
0
0
0
0
0
0
0
30
-34
26
5
-36
0
-18
0
0
0
0
0
0
2
0
0
0
-14
22
-27
-47
13
45
17
0
0
0
0
0
0
0
19
-22
1
9
17
-5
107
4
30
43
0
0
0
0
0
0
0
0
2
7
-35
-23
26
-33
-15
-61
-11
0
0
0
0
0
0
0
0
-1
-4
1
-64
14
32
4
-1
40
0
0
0
0
0
0
0
0
1
1
11
-26
-22
9
-21
-29
5
0
0
0
0
0
0
0
0
0
-2
-17
45
9
45
18
-7
-15
0
0
0
0
0
0
0
0
0
0
0
-6
-1
6
9
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-1
6
0
0
0
0
-2
8
-1
0
0
0
51
-49
41
12
-5
4
2
0
0
0
-1
-16
15
6
0
0
0
-15
53
33
-10
-46
83
22
0
0
0
0
1
-9
6
29
-51
24
34
-7
-9
-5
-9
-12
-22
0
0
0
0
1
-2
11
-16
10
-22
24
35
-40
-1
-50
6
38
0
0
1
1
0
-22
24
-23
11
34
-11
-20
-4
-3
53
-28
4
0
0
0
1
0
10
29
24
25
-14
52
-57
-30
-19
37
61
-9
0
0
0
2
0
0
9
-19
-30
-31
44
-37
-43
19
15
1
-2
0
0
0
0
0
0
1
34
-2
-1
-7
-3
-29
5
28
-26
16
0
0
0
0
0
0
0
0
0
0
6
8
-16
22
-2
5
-7
0
0
0
0
0
-2
6
0
0
0
-2
-16
40
33
21
0
11
0
0
0
-1
1
3
0
0
0
0
16
4
14
6
-26
19
-28
0
0
0
0
15
3
5
20
-12
18
-15
49
11
86
-27
9
-13
0
0
0
0
-1
-4
24
4
22
-4
-45
-11
-39
3
-1
-1
6
0
0
0
-1
3
2
-26
-13
18
16
40
-37
5
-39
-22
-39
43
0
0
0
3
-7
-22
-25
13
-36
19
24
-33
6
27
0
-1
-35
0
0
0
0
0
6
-11
26
-41
5
-5
36
5
12
-4
6
50
0
0
0
0
-2
-1
5
-17
-33
-1
11
7
12
50
-22
-21
-24
0
0
0
0
3
-2
1
-1
-2
10
-5
13
2
-18
2
-21
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-1
3
0
0
0
-5
35
38
36
-3
40
-11
0
10
-24
-35
-7
24
-6
0
0
0
-62
-31
-33
-63
-64
18
24
0
-1
-19
-1
7
-9
-5
-52
-14
50
16
-7
23
45
38
-23
6
0
-3
29
3
19
-59
-39
-28
14
2
35
-15
-12
-18
0
-45
-9
0
3
2
-6
-2
5
-39
-63
-25
-90
-3
-23
2
28
25
23
-29
1
-2
0
-6
-17
-9
-47
-3
-5
-28
80
48
-71
59
-20
6
-8
0
0
0
-5
-1
-35
-1
2
50
15
-30
-16
-1
11
-7
-7
14
0
0
1
-2
0
0
3
-5
12
26
15
34
10
2
-8
19
-15
0
0
0
0
0
0
-2
3
1
2
0
-18
-10
-5
-13
-4
0
0
-4
3
-14
43
28
3
0
0
0
6
16
-20
-8
-19
1
0
0
-6
-47
-15
-34
-26
18
0
0
0
-12
18
-9
12
4
67
0
1
-1
21
20
38
-36
5
-34
-21
-1
1
9
-21
45
3
-11
0
1
-1
0
5
3
-1
-16
-6
-27
-5
-20
24
4
4
-23
-75
0
0
-3
-5
24
-45
70
19
8
-14
-12
-33
18
-17
-27
-24
-9
0
0
7
-3
-28
31
-33
17
-17
2
-34
-9
39
-48
-46
3
-2
0
0
1
3
-25
-11
-30
-4
-8
-1
39
18
-11
-10
-4
10
-40
0
0
6
1
-11
6
36
1
-2
34
-10
1
27
-30
-24
-34
11
0
0
0
0
-1
-18
38
-14
-21
48
-27
-16
39
-21
-15
3
3
0
-7
-36
10
-16
6
12
5
0
0
0
16
23
-7
-16
4
1
0
-5
6
0
-2
18
5
1
0
0
0
10
50
12
16
2
15
0
10
-8
-24
4
3
-11
-1
10
-1
-18
46
-6
51
84
-44
6
0
11
28
-11
-18
-7
-7
-15
4
-6
13
-21
-2
101
-20
-3
0
0
-14
-11
8
-9
-5
1
10
-5
-31
-52
72
15
52
-36
-19
0
0
1
-4
-3
6
-6
-21
-1
1
5
39
-55
0
-74
-19
-12
0
0
23
48
-14
-4
6
21
1
11
-5
11
37
-20
-23
29
-9
0
0
-2
-6
-21
27
20
1
8
8
-30
-9
20
1
-73
-5
-2
0
0
8
-23
-34
1
-8
-19
-6
-4
20
13
-12
-47
-5
0
4
0
0
-1
17
-1
20
8
14
0
0
0
0
18
49
6
-12
0
0
0
2
-3
-13
-36
20
1
4
0
0
0
31
21
4
3
27
0
0
3
4
1
-19
21
23
6
-13
9
-17
-12
-66
40
54
80
0
0
-3
-11
5
15
16
6
37
-12
17
-32
-28
24
-43
10
23
0
0
0
4
32
9
5
-30
-8
-46
-14
-25
-18
-87
-27
-19
23
0
0
1
-6
37
-15
-4
-29
-24
-11
15
1
15
-13
-56
-8
20
0
0
0
5
-3
18
-13
14
13
-26
8
16
2
-31
-25
12
-6
0
0
1
-12
7
-64
-16
-25
7
-3
24
39
-10
-13
-21
6
0
0
0
0
0
0
1
0
0
-1
-4
20
8
32
44
3
6
-1
0
0
0
0
-1
-16
-18
-23
-5
0
0
0
16
3
51
7
33
-10
-32
0
-2
10
7
32
-24
-4
0
0
0
55
46
15
-36
36
-10
2
0
-6
-6
-6
-7
-36
-23
21
6
11
-8
33
18
2
-18
-59
-72
0
0
-16
15
0
12
18
-75
83
-32
100
30
5
-16
7
3
-47
0
0
6
-5
-36
23
16
7
-46
8
-4
3
40
-32
-1
-5
-66
0
0
-4
-8
-2
-22
-1
34
-9
9
53
-32
15
-65
-99
20
21
1
0
3
-6
-10
4
-6
-2
-42
54
-26
12
-44
-18
-55
0
-27
0
0
4
11
-9
1
-14
-16
-2
-27
-23
-28
-16
-15
-28
9
-4
0
0
0
0
0
-1
0
-3
-7
-10
-9
-19
-12
-2
-7
-13
-1
0
0
0
-1
-20
-11
24
0
0
0
-15
-2
-11
-27
51
-15
-16
0
0
0
-8
3
-16
85
0
0
0
88
13
-25
-25
3
-49
23
1
0
-1
0
0
27
-6
14
12
-22
74
77
-40
-73
-8
-9
16
0
0
0
6
21
13
3
19
-24
24
45
20
23
-14
31
-49
18
0
0
0
8
2
-10
-15
-20
47
-49
10
-29
41
-34
16
-49
-33
0
0
0
1
3
-4
-23
5
12
11
3
-8
23
-17
-12
-52
4
0
0
0
-8
-6
0
-17
5
68
-48
33
21
-40
-25
49
-12
-30
0
0
0
-1
0
-5
1
15
-12
-11
20
-29
0
-37
-15
28
-6
0
0
0
0
0
0
-8
-8
-11
18
-4
-10
12
4
0
3
0
0
0
1
6
-10
21
-19
0
0
0
14
54
13
-8
14
0
41
0
1
-21
-17
0
35
49
0
0
0
-21
38
-23
11
17
37
45
0
0
1
-1
-13
-18
-23
47
28
70
-3
-20
71
26
-13
40
-31
0
-1
-3
-25
-15
-27
28
30
-2
21
-25
-12
2
16
11
-42
20
0
1
-4
-35
5
-18
-12
-4
70
-31
45
0
30
4
-13
-18
-36
0
0
-3
33
1
-2
-3
-21
14
-21
9
-15
5
30
-67
1
24
0
0
8
-9
-17
-6
-31
7
24
45
79
-73
6
-37
-5
15
-25
0
0
0
10
5
-24
-6
-56
48
-29
29
3
15
23
-17
-32
-29
0
0
0
0
-1
13
17
-14
-45
-3
-1
43
13
1
-2
15
0
0
0
44
-8
10
-23
-106
-104
0
11
0
-19
1
3
-10
-54
0
0
18
36
39
42
-81
-110
0
13
0
26
-2
-8
-1
-54
0
0
-15
-22
-30
-47
-160
-117
0
-43
0
-29
-21
-45
-80
-90
0
0
14
-2
36
-90
-184
-179
0
-34
0
23
34
-13
-120
-112
0
0
21
-30
21
-15
-106
-131
0
-15
0
-27
-8
-2
-71
-140
0
0
44
78
66
51
-28
-124
0
-8
0
34
-1
-3
-22
-77
0
0
46
-29
-42
-83
-132
-163
0
-67
0
-14
-26
-72
-128
-168
0
0
35
13
41
2
-134
-147
0
-6
0
3
5
13
-77
-117
0
0
-2
-21
15
-3
-43
-114
0
-13
0
-12
-10
-4
-23
-74
0
0
45
84
80
37
-22
-102
0
-5
0
43
13
10
5
-21
0
0
35
2
5
-27
-62
-98
0
-29
0
-2
7
-24
-63
-67
0
0
21
37
27
4
-56
-71
0
24
0
7
19
42
23
6
0
0
-13
-57
-46
-31
40
49
0
20
0
17
2
1
98
101
0
0
14
38
83
-18
-4
42
0
9
0
46
13
23
16
21
0
0
-4
-5
-22
-6
95
70
0
44
0
3
17
75
118
201
0
0
15
43
35
-72
1
-21
0
32
0
36
54
21
41
93
0
0
0
0
0
0
0
0
27
-6
20
26
69
-19
-1
-2
0
0
61
0
1
-2
4
-9
29
-6
0
0
0
-40
-9
13
0
0
0
0
0
0
0
-4
59
-16
-1
10
22
59
-3
3
0
0
-56
-5
-3
-10
11
0
0
52
5
0
0
13
1
2
0
0
0
0
0
0
-1
0
-32
39
114
31
-13
3
-9
0
0
0
37
7
20
1
11
19
0
38
1
0
-6
-9
0
2
0
0
0
0
0
0
17
-16
-3
3
-44
30
56
0
12
1
0
0
1
0
0
0
3
-4
0
3
61
-17
-10
12
0
0
0
0
1
0
0
0
-7
-9
0
11
-16
26
45
24
-7
0
0
0
0
0
0
0
-1
1
0
-21
47
-25
21
1
4
0
0
0
0
0
-1
0
-1
-21
2
46
-34
9
72
31
0
0
0
0
0
0
0
0
0
1
0
-5
56
3
1
-8
-2
0
0
0
7
2
-83
-14
1
-19
1
14
8
6
13
40
-4
-3
0
0
0
0
0
0
0
0
0
-7
33
24
-24
-11
-2
-1
0
0
2
7
-56
3
51
-11
-1
18
35
1
0
27
0
-9
0
0
0
0
0
0
0
1
0
0
-12
1
1
-9
0
-1
0
0
23
13
-16
1
32
-3
0
11
0
0
0
7
2
0
0
0
0
0
0
0
0
0
0
18
-38
6
-36
-3
0
0
0
0
0
0
0
0
0
-1
57
12
8
30
-16
25
13
36
0
0
1
-3
3
5
6
22
0
-10
0
0
0
-44
5
25
0
0
0
0
0
0
1
2
41
41
40
70
20
61
-2
-11
0
0
-6
7
23
2
21
21
24
-27
11
0
0
-2
6
9
0
0
0
0
0
0
10
-9
-17
20
75
-13
57
68
8
-4
0
0
-18
31
30
17
69
12
0
41
60
-7
-6
-11
-9
0
0
0
1
0
0
0
30
1
-12
-30
55
-8
32
-28
39
-2
0
0
13
0
2
37
-20
-8
0
32
76
-12
20
93
16
2
0
0
-1
0
0
0
-29
-8
-7
-12
53
-9
23
-41
-9
1
0
0
0
0
0
0
11
-3
0
28
90
-33
-10
-8
-3
2
0
0
12
-1
3
-21
-64
-30
-8
34
-15
44
33
-31
17
-1
0
0
0
0
0
0
3
0
0
-14
35
-23
8
-13
-10
1
0
0
-7
31
19
19
3
-5
-1
27
40
2
-24
58
-1
1
0
0
0
0
0
0
0
2
0
23
-24
-22
-42
-27
2
-2
0
0
36
-25
32
27
15
32
0
35
45
18
0
39
-7
3
0
0
0
0
0
0
0
-1
0
-60
-33
17
-24
-30
-7
2
0
0
3
0
7
11
-32
62
1
50
0
0
0
27
-3
-8
0
0
0
0
0
0
0
6
0
-47
-58
-2
-17
-6
-2
-12
0
0
0
0
0
0
1
-3
10
58
27
5
17
16
-3
12
0
0
6
7
15
-1
43
4
0
-13
0
0
0
-11
-13
-12
0
0
0
0
0
0
-3
0
22
2
7
7
37
57
2
10
0
0
2
-7
6
2
-24
-6
0
-4
21
6
0
-25
0
8
0
0
0
0
0
0
0
-7
6
-40
65
37
45
23
3
-10
0
0
5
3
17
18
10
0
18
-4
11
12
15
44
7
0
0
0
0
0
0
0
-28
-11
11
-13
22
39
2
-4
24
2
0
0
3
-2
-3
21
30
20
0
-2
83
-7
-34
-9
-24
-2
0
0
-4
0
0
0
2
12
-25
25
2
10
33
13
2
13
0
0
0
0
0
0
-2
-8
0
11
39
-7
-7
22
-22
-2
0
0
-13
0
2
-8
31
-17
-1
-5
25
41
36
26
-24
8
0
0
0
0
0
0
11
-4
0
32
17
-18
-43
14
4
15
0
0
14
-19
14
7
-3
21
0
-12
-3
12
13
6
-28
2
0
0
0
0
0
0
-6
2
0
35
-5
-33
-5
-31
1
1
0
0
44
5
7
1
-1
16
1
0
9
4
0
34
-7
8
0
0
0
0
0
0
1
1
0
-12
-14
-42
-19
-10
-13
-7
0
0
34
-6
39
3
-11
15
-1
30
0
0
0
15
24
9
0
0
0
0
0
0
0
-1
0
-41
-24
-11
-24
0
7
-8
0
0
0
0
0
0
1
6
-8
11
12
19
30
25
-9
-21
0
0
0
-3
-4
-4
45
16
0
4
0
0
0
-37
-7
11
0
0
0
0
0
0
3
-9
40
4
59
0
10
25
32
7
0
0
47
42
4
2
-20
-23
0
9
11
-9
0
-52
16
18
0
0
0
0
0
0
-6
-7
-31
2
27
16
24
-42
-34
15
0
0
33
-15
56
4
19
26
0
-34
-12
-13
-1
-24
33
-3
0
0
0
0
0
0
2
3
-8
99
31
10
39
13
-13
-11
0
0
8
0
-8
6
-30
54
4
-5
82
-18
16
7
12
-2
0
0
4
0
0
0
25
-12
1
-11
11
40
-1
53
-3
-10
0
0
2
0
0
0
-5
7
0
32
3
12
7
11
-40
-11
0
0
-13
1
15
-19
18
5
0
-5
17
-6
-3
-23
13
-6
0
0
0
0
0
0
-18
4
0
13
10
-26
-25
-23
18
24
0
0
13
38
-11
2
-16
-12
1
1
-27
4
11
25
-20
3
0
0
0
0
0
0
10
0
0
-32
9
-9
-52
-50
-13
-20
0
0
-10
-14
55
-5
11
-17
8
0
22
6
0
16
-4
-8
0
0
0
0
0
0
4
1
0
-21
-52
-3
-35
31
-11
-25
0
0
35
-2
-15
0
-6
9
-2
-1
0
0
0
13
-6
-1
0
0
0
0
0
0
0
0
0
-13
5
-16
-31
13
-36
0
0
0
0
0
0
0
-6
-11
-7
-64
23
-17
9
27
18
8
0
0
-35
8
-5
17
53
20
0
11
0
0
0
-17
27
21
0
0
0
0
0
0
9
7
10
10
-55
84
10
3
18
21
0
0
-20
4
72
16
17
-7
0
12
5
-2
0
-15
-25
1
0
0
0
0
0
0
-4
-2
-6
40
-2
9
-33
24
29
64
0
0
3
-24
-8
65
19
7
0
17
92
-12
39
45
22
12
0
0
0
0
0
0
-10
19
-2
31
31
17
12
-1
23
-11
0
0
-29
-1
-27
-22
28
4
0
26
-4
30
22
-16
-13
-2
0
0
0
0
0
0
2
33
0
-4
-11
12
11
10
-7
11
0
0
1
0
0
0
-34
8
1
11
35
0
-4
32
17
9
0
0
20
1
-28
-9
46
-45
-1
-1
0
10
1
-23
3
-7
0
0
0
0
0
0
6
0
0
4
-14
15
-11
-3
24
-22
0
0
-16
10
22
33
40
-9
25
-53
-4
2
3
8
-4
7
0
0
0
0
0
0
3
-10
0
16
14
-16
-3
-11
-4
39
0
0
86
-10
-4
43
-44
21
7
40
-8
9
0
24
5
-2
0
0
0
0
0
0
-13
-9
0
-17
-34
-2
6
1
-44
15
0
0
16
13
21
-18
-48
-1
0
20
0
0
0
-71
8
-22
0
0
0
0
0
0
2
0
0
-20
3
-6
-22
10
-40
-45
0
0
0
0
0
0
27
6
-15
-20
-33
-8
0
-4
1
19
0
0
-22
-85
-40
-5
39
-5
0
-28
0
0
0
-41
3
34
0
0
0
0
0
0
-30
-41
7
10
-1
56
-45
-12
-6
9
0
0
10
-2
21
48
18
-5
0
51
9
-46
0
68
26
-12
0
0
0
0
0
0
1
-39
-10
24
-4
49
28
1
18
-14
0
0
37
37
46
-22
19
-18
0
0
-14
-23
-37
-7
52
-42
0
0
0
0
0
0
40
59
0
16
27
14
43
35
46
-5
0
0
30
-7
16
-10
-40
-1
0
5
2
6
3
4
0
-33
0
0
-1
0
0
-8
-43
-60
2
-28
14
22
8
30
12
11
0
0
16
0
0
-2
11
-1
0
-11
11
55
33
40
-38
12
0
0
37
6
23
38
-2
-2
8
-7
-16
6
-26
-36
33
-9
0
0
0
0
0
0
-28
-7
2
31
6
13
17
17
-39
52
0
0
41
17
31
-12
-8
25
-11
42
-20
32
57
-21
-13
32
0
0
0
0
0
0
-18
-23
0
4
13
-8
-22
-32
-18
-39
0
0
1
61
-26
16
-2
43
12
29
-34
21
0
31
-35
6
0
0
0
0
0
0
6
45
0
-6
-23
-8
-30
-28
5
-14
0
0
41
29
-54
-32
19
-15
3
10
0
0
0
22
14
-2
0
0
0
0
0
0
-13
15
0
4
-28
-8
-10
-68
-37
-5
0
0
0
0
0
0
-18
60
-5
3
15
-3
-4
1
18
-2
0
0
-44
-60
-32
2
-38
5
0
24
0
0
0
-6
20
19
0
0
0
0
0
0
40
29
-4
1
-3
15
31
1
-9
22
0
0
16
-12
-10
28
-15
-8
0
-54
-27
-22
0
13
21
0
0
0
0
0
0
0
11
72
0
4
-4
6
5
3
11
8
0
0
24
22
1
43
18
-9
0
36
18
-5
5
27
64
-15
0
0
0
0
0
0
18
-16
8
-2
-5
-14
4
5
9
-8
0
0
24
92
65
6
8
-28
0
18
17
43
11
4
21
1
0
0
30
0
18
22
30
8
9
5
6
-5
14
6
36
31
0
0
5
15
-14
-9
-1
-9
0
5
-6
2
-21
-3
-28
-16
0
0
-53
-9
-24
31
25
2
31
2
-15
-6
7
6
37
19
0
0
-7
0
0
0
11
7
0
-4
-4
-1
-9
-2
-20
6
0
0
0
-18
-17
8
-1
19
-6
32
-22
18
55
-24
1
-28
0
0
0
0
0
0
4
-8
-1
0
-6
-32
-15
-5
-24
-6
0
0
17
49
24
-56
-18
32
18
-8
-6
42
0
-5
-32
30
0
0
0
0
0
0
-22
-6
0
-4
-26
-32
-3
-16
-6
-6
0
0
21
50
-7
66
9
-1
32
39
0
0
0
16
19
-5
0
0
0
0
0
0
22
-25
0
-10
-43
-1
-5
-29
-8
-5
0
0
0
0
0
0
58
18
0
1
10
0
0
7
18
18
0
0
-45
-16
-18
-22
-30
-19
0
-31
0
0
0
-21
-30
-20
0
0
0
0
0
0
37
31
0
0
2
13
25
0
2
0
0
0
-31
-42
-55
-46
-27
-13
0
-54
9
-30
0
-20
-36
-13
0
0
0
0
0
0
41
43
5
0
1
8
0
0
4
19
0
0
-19
-16
-41
-18
-28
-25
0
-44
9
-34
-51
-20
-33
17
0
0
-11
0
0
-46
12
22
-5
7
2
3
-2
-1
6
4
0
0
-8
-13
-41
0
-31
-39
0
-38
15
-8
-22
-24
-16
-17
0
0
-22
86
48
-15
26
30
-8
-8
2
17
-1
-1
13
18
0
0
-39
20
41
6
-11
-18
0
21
-1
16
8
4
4
-10
0
0
-27
74
-18
22
18
60
-39
15
-2
13
13
20
31
14
0
0
-22
6
22
-21
-9
-26
0
7
0
0
20
2
-1
-1
0
0
6
8
8
10
18
30
-17
-6
3
5
17
2
16
50
0
0
15
0
0
0
-22
-27
0
0
0
4
0
0
-3
1
0
0
20
22
-2
-1
22
11
-41
-31
10
37
0
12
25
26
0
0
0
0
0
0
-10
-28
0
0
28
-3
31
-2
-5
-2
0
0
26
23
47
33
30
24
-59
15
0
0
0
29
12
17
0
0
0
0
0
0
-35
-38
0
-2
44
0
0
-8
-11
-3
0
0
0
0
0
0
31
25
0
6
-20
0
0
10
18
6
0
0
-34
-18
-18
-31
-21
-17
0
-41
0
0
0
16
21
-5
0
0
0
0
0
0
36
14
0
0
-22
1
22
5
5
3
0
0
-16
-30
2
-27
-17
9
0
-18
31
-34
0
1
32
15
0
0
0
0
0
0
12
39
7
0
0
-9
0
0
2
-15
0
0
-12
-37
-12
-40
-28
-13
0
16
27
-20
-61
17
16
23
0
0
2
0
0
1
13
44
16
5
0
-2
-13
-2
-6
-8
0
0
-14
-32
-16
5
5
15
0
-13
11
18
10
-13
-19
-2
0
0
-44
-25
-50
-24
14
27
9
-12
-5
-18
-3
-9
0
-1
0
0
-23
-13
-27
29
-3
8
0
-26
-1
-19
-4
4
-6
0
0
0
14
-28
6
10
22
49
8
14
-19
18
11
31
1
5
0
0
0
0
0
10
11
10
0
2
-1
-35
-21
0
-2
2
0
0
18
23
26
6
23
12
-10
33
-6
11
28
18
6
-31
0
0
0
0
0
0
16
-6
0
-1
-1
-1
-1
1
-4
3
0
0
19
2
50
46
22
-6
-57
3
-6
10
0
22
15
-3
0
0
0
0
0
0
-15
-29
0
0
7
-16
7
-1
-1
1
0
0
35
54
89
35
31
9
-27
35
0
0
0
60
23
-21
0
0
0
0
0
0
20
-4
0
-1
14
0
0
-4
-9
-4
0
0
0
0
0
0
-2
8
39
-47
68
-7
51
-17
-2
-7
0
0
89
-19
40
-56
-2
-5
20
104
0
0
0
16
20
70
0
0
0
0
0
0
3
-35
38
-41
22
17
51
-47
-4
-5
0
0
43
38
32
68
60
24
0
75
77
3
0
4
43
-11
0
0
0
0
0
0
-20
24
-2
-34
42
45
25
-8
-46
-14
0
0
26
5
36
35
33
63
0
29
64
-8
3
66
36
16
0
0
0
0
0
0
7
-55
0
-17
23
84
61
19
-12
10
0
0
35
0
8
10
26
19
0
54
102
36
-20
61
53
4
0
0
0
0
0
0
-6
-45
-27
3
17
43
66
53
15
2
0
0
0
0
0
0
-47
19
0
-14
88
11
36
-5
9
17
0
0
26
0
-3
-20
-1
-58
-15
-8
-7
9
130
49
5
17
0
0
0
0
0
0
-16
8
0
-41
19
16
3
3
-62
-1
0
0
25
-32
-57
14
0
-9
1
46
80
50
88
123
-23
-18
0
0
0
0
0
0
-1
0
0
-1
7
-11
-62
-4
-29
-11
0
0
71
28
-39
18
42
5
-4
30
48
17
0
14
-11
10
0
0
0
0
0
0
-1
-2
0
-64
-73
-22
-23
-78
-37
-48
0
0
62
16
4
17
-11
8
0
87
0
0
0
37
-1
-15
0
0
0
0
0
0
0
-4
0
19
-74
-23
-74
-82
-23
-58
0
0
0
0
0
0
-12
-13
57
-3
15
64
-20
26
27
15
0
0
-1
9
61
-19
68
56
0
41
0
0
0
32
54
50
0
0
0
0
0
0
-20
-1
45
-16
32
69
12
-6
0
-87
0
0
24
47
29
25
39
30
7
26
62
-15
0
39
15
-23
0
0
0
0
0
0
59
-71
13
-2
37
-14
24
-3
8
9
0
0
32
8
29
28
50
42
0
66
84
-3
3
25
-8
-9
0
0
-14
0
0
0
29
-7
-35
-2
36
-9
12
-6
13
0
0
0
31
4
10
37
15
28
0
58
70
-6
78
58
-1
2
0
0
1
0
-1
-3
-30
-7
2
-16
-2
-20
35
9
27
6
0
0
2
0
0
-1
39
0
0
46
37
-3
11
36
-21
-9
0
0
-12
2
0
-45
-21
7
15
-25
11
32
62
-2
37
38
0
0
0
0
0
0
-14
17
0
31
5
-5
9
1
-53
32
0
0
28
20
21
16
17
-39
-21
29
55
5
5
33
-36
37
0
0
0
0
0
0
-21
3
0
-29
-21
1
-44
-25
0
-23
0
0
46
29
89
18
6
-33
0
19
52
50
0
69
-20
28
0
0
0
0
0
0
-6
9
0
-60
-65
-13
2
-53
-41
-27
0
0
73
-38
24
37
-28
7
4
51
0
0
0
43
-7
3
0
0
0
0
0
0
-7
-4
0
-94
-55
-29
-69
-69
-54
-25
0
0
0
0
0
0
26
-37
2
26
5
7
-1
10
-14
-29
0
0
23
5
-35
1
46
42
0
6
0
0
0
-15
65
8
0
0
0
0
0
0
-45
-12
12
18
44
2
79
14
-50
-31
0
0
52
16
-1
30
11
16
0
2
52
28
0
51
11
4
0
0
0
0
0
0
15
-51
4
-17
38
30
34
-10
21
4
0
0
8
-19
13
24
-12
18
12
-26
38
11
17
43
-10
45
0
0
-4
0
0
0
-15
-83
-37
28
16
18
-32
-9
37
-12
0
0
-31
1
-13
24
17
30
0
7
63
-4
-1
18
-8
-25
0
0
-10
0
-5
2
2
-32
-45
-4
12
10
42
20
-21
1
0
0
7
0
0
0
3
-31
0
49
43
-21
0
-14
-17
14
0
0
-19
4
64
-29
-14
8
-2
-7
31
16
79
16
21
-3
0
0
0
0
0
0
-3
9
0
46
23
-29
-33
-12
-57
-13
0
0
31
-41
33
19
16
-3
0
-24
40
30
54
29
-1
-22
0
0
0
0
0
0
-4
18
0
-2
-11
-55
-29
-14
-25
-92
0
0
55
16
45
-15
-9
26
21
15
26
23
0
42
-2
13
0
0
0
0
0
0
12
15
0
-76
-49
14
-20
-51
-32
-28
0
0
33
-1
-15
12
-17
22
-2
42
0
0
0
51
44
23
0
0
0
0
0
0
1
-8
0
-74
-44
-12
-51
-64
-29
-18
0
0
0
0
0
0
-36
-69
-8
-16
-2
17
-1
11
-42
-51
0
0
22
13
-6
-27
28
53
0
20
0
0
0
-9
-6
77
0
0
0
0
0
0
-5
-24
17
3
46
51
34
5
10
-7
0
0
52
34
16
28
28
-23
0
52
38
-11
0
-13
27
-7
0
0
0
0
0
0
-54
-46
23
0
34
11
20
8
-38
2
0
0
13
44
2
0
-28
33
0
46
4
20
12
20
31
18
0
0
0
0
0
0
-22
-16
-18
19
12
31
21
-28
11
-51
0
0
8
9
2
14
-17
7
10
-19
44
-15
-19
11
7
-57
0
0
11
0
3
0
-21
-14
-17
4
-2
21
24
9
22
-9
0
0
2
0
0
-3
2
1
0
16
11
7
-5
0
-49
-4
0
0
7
-21
24
-23
-5
11
0
0
24
14
51
-17
74
47
0
0
0
0
0
0
-42
-41
0
25
13
4
-12
17
-32
22
0
0
15
16
18
54
-23
-14
2
13
10
40
41
79
-59
21
0
0
0
0
0
0
8
-53
0
-16
4
-17
-18
-29
-6
-37
0
0
48
5
45
47
-25
-9
-15
82
28
33
0
31
-8
-24
0
0
0
0
0
0
33
8
0
-51
-46
-7
17
-49
-14
-37
0
0
15
26
11
7
10
12
15
54
0
0
0
57
33
34
0
0
0
0
0
0
8
-11
0
-77
-36
-27
-32
-44
-54
-4
0
0
0
0
0
0
-23
-18
3
-5
-21
-15
0
31
16
-2
0
0
-11
17
2
30
44
35
0
-15
0
0
0
-5
8
23
0
0
0
0
0
0
47
-23
-3
-12
-25
54
18
-18
19
1
0
0
-2
-16
34
29
23
-1
0
24
6
-3
0
10
-13
-17
0
0
0
0
0
0
-12
50
10
-1
19
39
15
-24
6
29
0
0
3
-6
-14
-6
14
-6
0
63
25
-5
0
52
-41
-32
0
0
0
0
0
0
-27
-1
0
37
12
14
-1
-9
8
-6
0
0
-19
-41
13
-30
-13
-33
0
-12
28
-14
-13
-6
-6
27
0
0
14
0
5
4
4
22
0
46
18
0
23
13
19
18
0
0
-44
0
-1
11
-23
-20
5
25
13
-15
-17
34
-15
-4
0
0
-4
-5
-49
50
-30
-38
17
25
0
43
63
41
-21
1
0
0
0
0
0
0
-16
13
0
9
13
5
2
-2
-10
-14
0
0
15
14
31
13
16
-9
45
-6
14
59
61
22
0
-2
0
0
0
0
0
0
-31
-5
0
4
-4
9
-20
-22
16
-16
0
0
28
47
19
51
7
13
-2
35
6
73
0
17
-10
-38
0
0
0
0
0
0
-74
14
0
-18
-27
-6
38
-46
-19
-16
0
0
35
35
21
21
16
14
27
30
0
0
0
41
-4
17
0
0
0
0
0
0
0
12
0
-24
-58
-12
-34
-57
-25
-27
0
0
0
0
0
0
35
3
3
15
23
4
3
20
15
-8
0
0
-26
-33
-8
4
-23
-13
0
12
0
0
0
-13
-25
0
0
0
0
0
0
0
-26
20
1
8
10
28
-28
5
10
5
0
0
-30
-4
10
8
-10
4
0
20
-9
-80
0
25
12
11
0
0
0
0
0
0
1
19
7
13
4
29
8
16
6
2
0
0
17
9
-4
4
-23
-8
0
21
7
1
-66
19
4
-27
0
0
0
0
0
0
-13
29
0
-12
21
5
18
-5
-5
-3
0
0
45
-12
49
2
-28
-9
0
41
13
17
-9
0
-10
-26
0
0
-9
1
16
14
-7
33
0
4
9
14
17
19
26
-17
0
0
-4
-2
-1
-19
2
-35
0
27
18
-15
-1
1
-15
-11
0
0
-3
-12
-4
14
-1
-5
18
35
22
6
21
13
30
-22
0
0
4
0
0
0
6
-14
4
-2
9
14
-2
13
0
-10
0
0
32
25
26
11
13
14
37
34
55
46
82
37
-17
-23
0
0
0
0
0
0
-33
-20
0
-24
-1
-2
-17
-25
-19
-35
0
0
12
28
-16
-7
25
11
35
20
43
110
0
6
-13
25
0
0
0
0
0
0
3
-30
0
-19
-10
-13
13
-26
-16
-13
0
0
32
50
5
13
10
14
0
49
0
0
0
33
-1
26
0
0
0
0
0
0
-56
-12
0
-35
-22
-5
-30
-33
-3
4
0
0
0
0
0
0
61
64
1
9
11
-2
2
13
23
3
0
0
-33
-15
-46
-8
-25
-15
0
3
0
0
0
-25
0
-13
0
0
0
0
0
0
32
54
-1
-1
4
6
3
3
25
12
0
0
-2
1
-15
-17
-18
-16
0
-9
-7
-47
0
-23
-5
-14
0
0
0
0
0
0
25
67
0
10
-8
18
-3
2
37
32
0
0
-14
-20
-2
5
-8
-22
0
-19
-11
-35
-33
-17
16
-6
0
0
1
0
0
0
6
30
-6
6
-5
-6
11
9
25
5
0
0
-4
13
-19
-4
-1
2
0
-5
5
-25
-13
-9
-6
-7
0
0
7
-4
-14
13
29
22
-10
0
6
-1
8
5
-2
21
0
0
-4
17
35
25
-10
-17
0
-4
-3
8
-17
3
-16
-34
0
0
-5
1
18
19
15
28
-23
15
-4
2
22
28
20
-10
0
0
-1
0
0
-1
-7
-31
0
-15
-2
-10
-12
-7
-13
-11
0
0
16
19
8
19
11
-2
-4
9
9
77
76
0
23
-2
0
0
0
0
0
0
-12
-10
-1
-15
-4
-5
-15
-17
-8
-25
0
0
23
12
8
10
1
25
-12
16
7
-2
0
34
2
-4
0
0
0
0
0
0
-5
-9
0
-11
-24
-11
-8
-20
-11
-7
0
0
16
21
22
-1
15
5
2
10
0
0
0
5
5
-7
0
0
0
0
0
0
-3
21
0
-19
-34
-2
-13
-22
-14
-3
0
0
0
0
0
0
84
72
1
3
0
0
0
15
43
25
0
0
-44
-27
-39
-19
-36
-13
0
-66
0
0
0
-30
-16
-10
0
0
0
0
0
0
74
37
0
0
5
-2
20
1
31
8
0
0
-35
-30
-25
-49
-43
-27
0
-70
-9
-29
0
-57
-43
-21
0
0
0
0
0
0
29
67
3
1
0
12
5
2
29
23
0
0
-19
-11
-15
-19
-29
-37
0
-51
1
-29
-30
-46
-22
-31
0
0
29
0
15
-29
36
66
1
14
1
13
-2
3
16
20
0
0
-53
-26
-28
-30
-26
-37
0
-61
7
0
-14
-51
-22
-27
0
0
48
37
11
-3
35
68
3
4
3
12
-6
7
26
33
0
0
-58
-3
-66
-29
-19
-21
0
-7
-1
8
8
-1
-5
-20
0
0
9
21
17
7
35
45
-17
18
-6
5
0
12
29
43
0
0
-40
3
4
-16
2
-27
0
-4
0
-1
8
-3
-2
-6
0
0
6
8
3
14
33
26
-12
10
-3
-18
11
12
40
43
0
0
16
0
0
0
-19
-38
0
0
1
-3
-4
0
-8
-6
0
0
10
10
2
7
50
28
-44
-3
-1
-18
0
3
47
5
0
0
0
0
0
0
-33
-41
0
0
16
-2
14
-2
-11
-5
0
0
24
11
5
21
40
11
-36
-14
0
0
0
12
30
3
0
0
0
0
0
0
-17
-6
0
-1
24
0
0
-5
-15
-12
0
0
0
0
0
0
42
56
0
5
-7
0
1
28
59
26
0
0
-52
-23
-33
-15
-49
-22
0
-53
0
0
0
-54
-29
-9
0
0
0
0
0
0
30
33
-1
-1
-8
-5
15
11
26
10
0
0
-39
-35
-22
-19
-35
-6
0
-49
-16
-62
0
-51
-27
14
0
0
0
0
0
0
44
54
3
4
-1
-1
17
2
21
16
0
0
-34
-1
-30
-24
-38
-24
0
-37
10
-17
-37
-35
-32
6
0
0
28
0
0
3
18
41
-3
13
-1
-6
-21
6
10
29
0
0
-24
10
-19
-10
-11
-11
0
-27
-2
-4
-7
-39
-27
-39
0
0
70
0
-3
28
30
91
-2
6
-5
4
15
-1
7
40
0
0
-38
-14
-23
22
-1
-14
0
-49
-5
-8
4
-38
-40
-41
0
0
47
31
61
28
41
69
8
8
-21
-8
-19
15
15
37
0
0
2
0
0
13
16
-13
0
-46
-2
-3
-15
-18
-20
-32
0
0
-7
5
-11
-5
45
38
-2
-1
-12
-18
7
1
32
109
0
0
0
0
0
0
11
-24
0
-18
0
-23
-14
-9
-24
-16
0
0
-1
12
10
-20
22
-6
-58
-23
-8
0
0
4
47
24
0
0
0
0
0
0
-22
-47
0
-1
5
-7
-26
1
-37
-10
0
0
31
21
27
41
29
-5
-39
16
0
0
0
24
8
-8
0
0
0
0
0
0
4
-6
0
-1
8
-1
-2
-8
-18
-43
0
0
0
0
0
0
0
1
18
-80
67
-9
26
-58
4
-34
0
0
75
-2
19
-36
35
17
15
127
0
0
0
29
38
32
0
0
0
0
0
0
6
-32
27
-24
26
1
28
-34
-5
-20
0
0
28
51
44
63
46
30
0
35
64
13
0
-15
46
-7
0
0
0
0
0
0
-59
15
23
-47
4
20
10
-30
-52
-37
0
0
46
8
11
36
25
52
0
9
85
-11
16
49
43
17
0
0
0
0
0
0
0
-34
-29
-20
5
83
27
17
-13
10
0
0
30
0
4
7
13
4
0
52
136
64
14
38
43
13
0
0
0
0
0
0
1
-68
-34
-10
48
9
41
66
13
-2
0
0
0
0
0
0
-28
8
0
30
51
32
16
24
-11
17
0
0
1
0
-4
-26
25
-32
-9
-38
2
23
126
60
-3
37
0
0
0
0
0
0
-7
2
0
5
8
14
11
34
-57
8
0
0
40
-17
4
0
-42
-20
6
79
102
47
84
126
-22
-8
0
0
0
0
0
0
-1
-3
0
28
2
-25
-25
-35
-30
-7
0
0
94
50
-19
20
26
39
-1
38
71
15
0
20
-18
5
0
0
0
0
0
0
-1
2
0
-70
-62
-24
-22
-48
-34
-31
0
0
82
19
-5
15
8
27
0
77
0
0
0
27
4
13
0
0
0
0
0
0
0
-3
0
16
-87
-44
-82
-74
-19
-58
0
0
0
0
0
0
-17
-47
42
11
33
42
-5
26
2
-11
0
0
24
5
40
-16
87
40
0
35
0
0
0
28
64
42
0
0
0
0
0
0
-37
29
31
-4
29
76
17
-20
17
-107
0
0
52
57
67
7
-17
45
3
28
41
-3
0
39
27
-23
0
0
0
0
0
0
28
-43
25
-32
10
1
20
-28
-9
25
0
0
28
0
10
9
40
-2
0
68
67
3
39
59
-8
-12
0
0
-14
0
0
0
-17
15
-8
18
18
9
14
-37
30
2
0
0
21
0
-2
56
23
51
0
47
46
-19
45
53
-24
3
0
0
1
0
-2
-3
-19
-21
-7
-1
25
-16
29
-15
65
-2
0
0
1
0
0
-1
47
65
0
43
8
11
36
60
-33
-2
0
0
-22
3
26
-35
36
-9
16
-33
28
7
39
24
43
22
0
0
0
0
0
0
-28
21
0
25
9
5
-22
13
-40
34
0
0
37
39
-15
11
2
-37
1
41
69
-12
20
59
-46
9
0
0
0
0
0
0
-8
-2
0
-18
-16
14
-48
-51
9
-15
0
0
43
47
-4
48
-2
-17
0
32
39
50
0
50
-30
16
0
0
0
0
0
0
-7
6
0
-39
-73
-61
6
-56
-36
-48
0
0
31
-14
49
41
-4
25
1
54
0
0
0
28
1
18
0
0
0
0
0
0
-3
-1
0
-74
-13
-46
-59
-71
-59
1
0
0
0
0
0
0
23
-19
7
-10
-4
-12
-10
-8
-8
-57
0
0
6
0
-45
29
28
33
0
33
0
0
0
-30
52
20
0
0
0
0
0
0
-46
5
6
6
36
-5
54
-10
-74
-26
0
0
58
37
11
4
10
19
0
5
60
18
0
65
34
0
0
0
0
0
0
0
11
-70
1
7
12
36
7
-9
23
30
0
0
29
-11
10
24
-6
12
6
-13
26
14
-7
5
-11
37
0
0
1
0
0
0
-13
-93
-14
25
14
-12
-11
-5
12
-9
0
0
-40
-1
-16
14
37
-5
0
19
56
-28
-12
-3
-13
-33
0
0
-17
0
-6
2
17
-12
-22
23
13
-5
32
25
-19
-5
0
0
10
0
0
0
-13
-18
0
62
20
-23
5
2
29
2
0
0
0
3
84
-30
-16
7
7
23
20
-18
93
29
27
28
0
0
0
0
0
0
-25
-1
0
34
10
-6
25
11
-57
-21
0
0
31
-10
10
20
-6
-12
0
12
53
26
58
8
-26
-32
0
0
0
0
0
0
-7
11
0
-35
-17
-28
-17
-6
-30
-86
0
0
31
8
25
-7
13
23
-1
15
59
22
0
17
-3
-10
0
0
0
0
0
0
19
5
0
-60
-23
1
-32
-46
-22
-28
0
0
14
1
-2
0
6
39
-6
9
0
0
0
73
66
10
0
0
0
0
0
0
1
-2
0
-64
-34
-19
-10
-68
-28
-17
0
0
0
0
0
0
-33
-80
-3
-33
-10
16
-8
3
-16
-64
0
0
21
21
5
-36
22
36
0
15
0
0
0
30
28
30
0
0
0
0
0
0
-15
-38
-2
-5
31
15
21
-11
-13
22
0
0
-14
-13
-7
18
22
1
0
51
40
-4
0
12
-1
-36
0
0
0
0
0
0
-71
-13
20
9
24
8
29
27
-11
-25
0
0
19
46
-7
29
-5
22
0
20
21
36
-1
7
22
47
0
0
0
0
0
0
-37
-36
-3
0
14
14
-1
-13
35
-24
0
0
-10
-5
9
12
-15
12
8
-18
42
3
-39
-17
-12
-28
0
0
2
0
-2
0
-25
-15
-4
5
23
6
28
-12
21
4
0
0
1
0
0
-3
-20
1
0
16
17
-20
-2
13
-53
-52
0
0
-9
-12
-10
-7
-29
1
0
10
17
21
47
14
58
44
0
0
0
0
0
0
-17
-44
0
18
18
18
14
8
-52
19
0
0
-1
2
23
42
-15
-9
-7
36
30
58
43
66
-69
7
0
0
0
0
0
0
-40
-55
0
-12
-4
1
0
-13
25
-30
0
0
40
1
27
30
-20
15
-16
43
50
31
0
19
-15
-10
0
0
0
0
0
0
31
4
0
-31
-2
-13
0
-33
2
-39
0
0
3
10
19
37
29
11
9
52
0
0
0
78
50
33
0
0
0
0
0
0
11
-17
0
-59
-67
-18
-25
-61
-34
-4
0
0
0
0
0
0
-31
-45
0
5
2
7
-6
13
-1
19
0
0
-17
17
-8
38
38
24
0
5
0
0
0
17
-13
16
0
0
0
0
0
0
12
8
-9
0
0
14
-6
-20
15
-12
0
0
15
-16
3
7
43
-6
0
50
-13
-15
0
-11
17
-3
0
0
0
0
0
0
-25
43
2
-1
8
23
35
-13
2
-18
0
0
9
22
-5
-8
17
-9
0
24
1
-22
-15
4
3
-31
0
0
0
0
0
0
-26
-21
6
10
9
14
-1
-4
19
13
0
0
-19
-47
14
-4
-23
-17
0
-20
10
-51
-8
6
-21
41
0
0
27
0
3
2
-12
29
0
0
9
16
28
5
18
-3
0
0
-23
0
-1
12
-14
-30
3
33
8
-5
-9
30
-25
4
0
0
2
2
8
3
-22
-16
4
25
20
22
71
36
32
21
0
0
0
0
0
0
-18
26
0
-5
7
12
2
-17
-19
-1
0
0
13
12
14
26
-6
25
22
37
25
47
68
20
26
-3
0
0
0
0
0
0
-59
-15
0
-2
-5
1
-7
-16
-11
-56
0
0
16
62
21
31
25
7
7
31
46
73
0
24
-24
-28
0
0
0
0
0
0
-44
16
0
-21
0
-25
30
-41
-17
-15
0
0
25
28
-3
32
10
23
34
81
0
0
0
26
-16
24
0
0
0
0
0
0
-15
13
0
-54
-22
-8
-22
-53
11
-8
0
0
0
0
0
0
11
-3
2
5
36
12
-7
13
2
-9
0
0
-13
-3
-20
-20
-26
-8
0
-35
0
0
0
-2
17
-8
0
0
0
0
0
0
-20
19
4
13
12
40
6
3
4
5
0
0
-33
-32
-13
-43
0
-1
0
-3
-18
-73
0
-17
13
14
0
0
0
0
0
0
0
4
4
8
6
6
26
9
6
-22
0
0
2
2
-6
28
-10
-7
0
3
10
-2
-14
-5
-16
-8
0
0
0
0
0
0
-15
16
0
-13
12
4
13
-15
7
-6
0
0
-16
-4
61
-31
-23
-18
0
10
3
-8
-9
17
6
-26
0
0
11
1
11
14
8
22
-6
2
18
20
18
17
22
-3
0
0
-11
-3
-1
-21
-22
-30
0
19
13
-20
-18
-3
-14
6
0
0
9
-22
6
13
27
10
3
31
11
9
41
12
3
-38
0
0
4
0
0
0
-4
-46
5
2
18
7
-9
-1
-11
-44
0
0
17
-2
12
26
27
14
14
28
29
34
41
56
10
-20
0
0
0
0
0
0
-37
-21
0
-22
-1
-19
-7
-16
-19
-23
0
0
16
25
24
-8
16
28
8
9
25
104
0
-5
-18
40
0
0
0
0
0
0
1
-60
0
-29
-1
-32
-32
-22
-19
-10
0
0
15
2
13
33
9
19
29
32
0
0
0
37
-11
21
0
0
0
0
0
0
-33
-32
0
-34
-33
0
-26
-26
11
4
0
0
0
0
0
0
61
71
0
15
16
-3
6
22
24
13
0
0
-34
-12
-41
-21
-20
-6
0
-46
0
0
0
-35
-10
-4
0
0
0
0
0
0
33
10
-2
5
2
8
14
10
31
11
0
0
-11
5
-8
-12
-26
-12
0
-28
-21
-82
0
-20
-7
-3
0
0
0
0
0
0
17
31
0
9
-10
13
3
12
22
25
0
0
-26
-17
-8
-11
-7
-22
0
-28
-1
-48
-28
-12
0
-25
0
0
1
0
0
0
19
39
-4
14
-7
7
11
18
15
18
0
0
6
-32
-10
-8
-1
-3
0
-28
3
4
-14
0
6
-11
0
0
-19
-4
-22
-6
-6
34
-2
-1
1
11
0
4
12
22
0
0
6
13
49
27
21
-11
0
-5
-6
4
-25
-12
-6
-24
0
0
3
11
-2
12
15
13
-19
27
-2
17
24
9
35
-14
0
0
-7
0
0
0
-13
-20
0
-14
-4
-7
-25
-13
-13
-16
0
0
22
9
10
17
12
4
-1
22
14
54
41
14
7
-23
0
0
0
0
0
0
19
6
-1
-14
-1
-18
-24
-18
-8
-32
0
0
14
15
21
40
0
21
-24
20
4
28
0
40
5
6
0
0
0
0
0
0
20
-2
0
-14
-23
-4
-15
-18
-12
-19
0
0
19
25
19
1
22
7
-23
0
0
0
0
16
-5
8
0
0
0
0
0
0
-27
4
0
-20
-31
-2
-10
-24
-15
-12
0
0
0
0
0
0
81
103
0
9
2
2
1
23
40
27
0
0
-39
-18
-46
-22
-35
-24
0
-47
0
0
0
-35
-20
-16
0
0
0
0
0
0
76
45
0
6
9
6
6
10
39
8
0
0
-34
-35
-27
-44
-33
-32
0
-45
-18
-104
0
-66
-64
-20
0
0
0
0
0
0
33
32
3
9
0
19
9
11
27
35
0
0
-24
-14
-12
-31
-28
-22
0
-49
0
-27
-56
-24
-14
-17
0
0
24
0
15
-20
54
50
-3
27
1
3
8
14
23
15
0
0
-67
16
-53
-26
-23
-19
0
-52
0
3
-11
-45
-6
-38
0
0
56
18
1
18
31
48
9
12
3
10
-6
21
3
28
0
0
-30
14
-69
-27
-5
-10
0
-24
1
5
2
-13
-7
-20
0
0
14
20
1
6
21
33
2
29
1
19
24
13
18
31
0
0
19
3
4
-31
-3
-21
0
-12
1
2
1
-8
-4
-4
0
0
20
22
7
6
31
25
-6
7
5
10
18
25
18
49
0
0
16
0
0
0
-8
-42
0
-4
1
-13
-7
-1
-6
-11
0
0
16
15
16
-3
42
19
-30
25
13
5
0
12
36
10
0
0
0
0
0
0
-44
-45
0
0
8
-7
9
-7
-11
3
0
0
33
16
6
27
28
11
-24
25
0
0
0
7
14
13
0
0
0
0
0
0
-14
7
0
-10
14
0
0
-20
-10
-11
0
0
0
0
0
0
38
66
0
20
-14
1
3
33
32
29
0
0
-47
-41
-12
-27
-43
-20
0
-58
0
0
0
-37
-15
-11
0
0
0
0
0
0
36
60
0
6
0
-2
21
24
24
20
0
0
-44
-29
-17
-18
-39
-8
0
-48
-12
-32
0
-36
-27
7
0
0
0
0
0
0
41
52
3
15
0
19
27
2
30
26
0
0
-35
-14
-8
-16
-22
-16
0
-26
-5
-15
-42
-18
-7
-21
0
0
4
0
0
10
31
47
-2
14
0
-9
-1
19
6
15
0
0
0
10
-10
-7
2
-18
0
-30
0
-5
-1
-41
-11
-18
0
0
53
-9
4
39
33
91
1
20
-4
12
18
2
14
32
0
0
-52
-7
-23
10
-4
-8
0
-54
-3
-12
8
-38
-22
-22
0
0
34
26
18
14
30
54
3
4
-8
-16
-35
8
-10
16
0
0
0
0
0
7
30
-18
0
-58
0
-20
-19
-23
-11
-17
0
0
-2
-1
-7
-9
38
34
-7
-5
-16
-35
12
-12
32
108
0
0
0
0
0
0
-6
12
0
-26
-3
-11
-15
-22
-16
18
0
0
2
4
23
5
30
-4
-43
-16
-13
-2
0
5
22
-3
0
0
0
0
0
0
-18
-11
0
-3
-11
-9
1
-6
-26
-10
0
0
11
11
35
28
14
-10
-18
10
0
0
0
-2
-4
-10
0
0
0
0
0
0
6
-23
0
-5
0
-2
-6
-5
-2
-25
0
0
0
0
0
0
0
-1
-13
-8
6
0
14
-10
0
1
0
0
24
0
3
1
21
-4
14
34
0
0
0
-6
11
-4
0
0
0
0
0
0
-1
-2
0
-26
34
-33
0
-49
-4
-1
0
0
42
2
5
28
13
7
0
-10
18
0
0
18
2
-1
0
0
0
0
0
0
-59
-14
12
13
33
9
-7
-32
-25
-1
0
0
40
-1
0
-2
0
1
0
11
-2
-1
15
11
0
0
0
0
0
0
0
0
-1
1
6
-9
11
4
1
15
17
6
0
0
1
0
0
0
0
-1
0
22
28
-6
24
5
12
0
0
0
0
0
0
0
-3
-14
-3
0
45
0
1
-17
8
0
0
0
0
0
0
0
-4
2
0
21
11
10
-30
33
-2
0
0
0
0
0
1
1
15
-6
0
7
11
-1
5
20
-6
1
0
0
0
0
0
0
0
-1
0
10
-25
-7
0
-20
-4
-2
0
0
-32
0
10
2
17
-4
1
-1
6
0
0
13
1
1
0
0
0
0
0
0
0
0
0
-5
7
-24
7
-30
0
-1
0
0
-9
1
11
0
-7
10
0
7
8
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-17
-12
-25
-1
-14
0
3
0
0
16
3
4
1
19
17
0
4
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
5
8
0
11
0
0
1
0
0
0
0
0
0
-1
-6
14
11
-1
-9
-12
-13
-15
-27
0
0
34
-5
-1
13
25
37
0
18
0
0
0
-1
8
18
0
0
0
0
0
0
-8
-7
-1
8
18
-23
-5
3
-1
-9
0
0
0
18
28
8
0
-4
4
26
-29
3
0
-3
0
-3
0
0
0
0
0
0
-14
-14
4
9
8
-12
-24
25
1
-1
0
0
42
34
6
27
-1
-11
0
-14
27
0
1
32
18
0
0
0
0
0
0
0
-16
-15
-19
-10
-15
0
15
-11
-14
10
0
0
-2
0
0
2
4
-9
0
5
7
2
-11
10
2
0
0
0
0
0
0
0
-20
21
-10
23
22
-6
-42
-26
22
-7
0
0
0
0
0
0
1
7
0
-5
-7
16
3
1
6
4
0
0
7
0
0
-9
18
8
0
-3
6
-4
12
-7
8
-12
0
0
0
0
0
0
4
0
0
3
10
-7
-3
-26
1
-12
0
0
18
17
3
5
-15
-1
-1
9
5
-2
11
7
-7
1
0
0
0
0
0
0
0
0
0
3
-3
4
-29
-29
4
0
0
0
-4
14
0
19
14
26
0
-11
35
0
0
10
7
0
0
0
0
0
0
0
1
0
0
-42
-24
-28
11
-36
-4
-5
0
0
-15
-22
17
-8
20
14
0
1
0
0
0
12
3
8
0
0
0
0
0
0
0
0
0
-19
-5
21
2
-9
-1
-3
0
0
0
0
0
0
0
-3
-39
-10
8
-13
-2
-20
-1
-8
0
0
25
5
-8
17
11
-7
0
-20
0
0
0
-22
22
19
0
0
0
0
0
0
2
-1
-22
-18
18
10
8
6
-33
-47
0
0
22
2
39
-7
17
18
0
-9
1
0
0
1
-3
25
0
0
0
0
0
0
7
-19
61
26
-18
12
12
-19
-25
8
0
0
49
22
11
-7
1
26
3
0
-11
1
-20
5
-3
7
0
0
0
0
0
0
-2
-20
17
20
-7
-10
-26
-15
5
7
0
0
-8
0
0
-2
10
-6
0
31
25
-16
-17
-8
-18
8
0
0
-1
0
0
0
2
-13
10
20
16
-16
-22
22
-5
-4
0
0
-1
0
0
0
29
4
0
17
-15
11
-30
-17
-12
1
0
0
18
1
-1
7
1
17
-8
-17
-16
-20
21
19
21
10
0
0
0
0
0
0
-13
-2
0
-7
5
9
32
-5
3
-2
0
0
9
22
-22
0
-45
12
0
-1
23
1
11
23
-27
-4
0
0
0
0
0
0
8
0
0
-31
-7
10
-4
-12
-4
-26
0
0
3
-9
-9
-20
-18
-6
1
-13
27
0
0
-31
0
-16
0
0
0
0
0
0
2
0
0
18
13
-2
-36
14
-18
8
0
0
16
-14
-10
-15
31
-25
-1
-16
0
0
0
73
-8
38
0
0
0
0
0
0
0
0
0
7
12
-12
3
-2
-4
-4
0
0
0
0
0
0
3
-14
-5
-68
-8
-3
-16
-67
-16
-18
0
0
-6
-16
34
16
18
-3
0
1
0
0
0
20
13
-15
0
0
0
0
0
0
-15
-1
-29
-20
50
-16
-2
-4
-8
2
0
0
-27
7
-7
3
41
-6
0
-8
4
4
0
58
21
-12
0
0
0
0
0
0
-9
19
32
13
4
37
12
12
-24
-57
0
0
27
-17
14
-2
-14
-30
0
17
47
10
-12
-3
-11
13
0
0
0
0
0
0
-9
-22
44
-30
28
-21
8
13
14
-7
0
0
-23
0
-7
-11
-22
-9
2
50
12
17
-2
-69
-25
28
0
0
0
0
0
0
-24
-6
-10
-21
34
-7
44
-19
-2
-4
0
0
0
0
0
-2
-26
-6
0
25
31
14
34
28
-31
-8
0
0
-8
-2
14
-23
-19
20
0
-3
-31
11
15
16
-10
27
0
0
0
0
0
0
21
-20
0
31
-4
49
12
29
-20
-15
0
0
-1
22
-3
10
26
-23
8
20
2
12
19
14
-27
-16
0
0
0
0
0
0
-1
-6
0
2
9
6
-31
-42
47
1
0
0
8
-21
-41
-33
3
-3
0
7
33
6
0
14
-9
13
0
0
0
0
0
0
1
-3
0
-51
12
-2
-6
-20
-22
5
0
0
-7
12
1
8
10
20
0
33
0
0
0
-4
15
6
0
0
0
0
0
0
0
-3
0
28
-68
-12
-8
-29
8
-14
0
0
0
0
0
0
-9
-4
8
-7
2
3
10
10
24
2
0
0
-38
5
-53
-13
-2
-3
0
-3
0
0
0
-3
11
-13
0
0
0
0
0
0
-10
-20
-18
-16
-39
34
26
-5
9
-34
0
0
2
11
12
5
-11
-11
0
4
-25
0
0
38
43
0
0
0
0
0
0
0
14
-8
20
-10
-9
-1
27
-29
12
-7
0
0
7
5
2
-15
51
42
0
-23
4
-9
-14
-48
14
-11
0
0
0
0
0
0
-40
-26
38
-14
18
35
8
1
28
-8
0
0
1
-9
6
-28
9
5
0
-4
-9
25
-4
15
-4
4
0
0
0
0
0
0
-35
-33
0
-2
-1
-16
0
-18
-28
14
0
0
0
0
0
1
-15
-21
1
-30
6
-20
-18
1
12
24
0
0
10
12
24
-4
-13
20
10
-43
13
32
-2
48
9
31
0
0
0
0
0
0
-22
17
0
23
-5
-35
6
-13
3
-7
0
0
-31
-26
29
44
-7
40
-10
19
-17
14
34
-9
-54
-16
0
0
0
0
0
0
-10
5
0
-18
10
-2
-22
10
-52
-29
0
0
3
4
-10
28
-15
46
10
15
-4
13
0
18
-20
34
0
0
0
0
0
0
-5
-1
0
-14
18
-6
5
-6
-25
7
0
0
15
15
1
13
4
14
3
37
0
0
0
-5
28
22
0
0
0
0
0
0
-9
-8
0
-9
2
5
-4
4
-11
-17
0
0
0
0
0
0
2
10
12
30
2
10
11
37
-14
-14
0
0
9
28
-32
-19
-16
26
0
0
0
0
0
-18
10
-3
0
0
0
0
0
0
24
-25
7
4
25
19
1
8
-23
20
0
0
-38
-40
-22
-9
-22
-11
0
-1
-4
10
0
-16
10
17
0
0
0
0
0
0
7
15
12
4
0
-13
22
3
-11
17
0
0
-27
3
29
-7
10
-11
0
0
-9
9
-27
-29
-18
31
0
0
0
0
0
0
-7
-18
0
-20
12
-69
-10
-11
-22
-28
0
0
-24
1
-22
-6
-1
-19
0
-58
17
-20
-13
4
7
-47
0
0
4
0
0
-13
-4
-27
-38
1
-8
14
19
20
32
1
0
0
-4
0
0
7
-9
-39
0
23
-4
6
10
-29
-26
-8
0
0
-1
-2
-8
9
-10
-18
-44
20
-3
-9
1
-23
9
-12
0
0
0
0
0
0
-14
-27
1
-12
2
-23
25
4
3
-42
0
0
2
9
-6
32
-12
20
-17
7
33
29
-11
62
31
-6
0
0
0
0
0
0
12
-23
0
0
4
-31
-2
-8
-13
-4
0
0
34
21
12
-11
27
22
19
15
-23
11
0
16
-30
26
0
0
0
0
0
0
-7
-23
0
-17
9
-58
8
-6
13
0
0
0
17
-26
-4
11
-9
11
-6
21
0
0
0
-26
-31
-17
0
0
0
0
0
0
11
-9
0
-18
-36
5
5
30
-15
6
0
0
0
0
0
0
19
57
-2
38
9
-1
-5
12
-26
24
0
0
-11
-56
18
12
7
-4
0
-49
0
0
0
24
-9
11
0
0
0
0
0
0
23
2
4
22
23
-3
13
4
30
4
0
0
-9
-5
-7
-15
-14
-31
0
12
2
-42
0
-39
-24
-17
0
0
0
0
0
0
20
25
0
12
-8
-13
-7
18
22
26
0
0
-9
15
-35
-13
-9
-23
0
-7
-37
-40
-29
-27
-9
-41
0
0
0
0
0
0
18
16
-13
12
-7
45
-1
36
1
27
0
0
0
-6
-45
12
-20
30
0
-24
-11
26
-7
-29
17
-22
0
0
-3
0
-2
5
-7
42
-21
-1
5
6
8
-17
29
27
0
0
3
0
0
1
25
38
0
-18
-11
-53
-13
-8
-5
-2
0
0
-20
17
37
-14
62
44
-30
19
-15
-8
8
5
9
3
0
0
1
0
0
0
7
-17
0
-7
-7
3
-19
-42
-13
39
0
0
8
-25
-1
24
9
17
-59
8
3
2
14
12
7
8
0
0
0
0
0
0
6
10
-1
-31
5
0
-11
7
1
-53
0
0
16
48
42
17
0
5
-4
23
13
22
0
9
8
-7
0
0
0
0
0
0
23
7
0
-12
-19
-5
-32
-9
17
-28
0
0
23
31
13
7
2
11
-12
1
0
0
0
28
5
10
0
0
0
0
0
0
12
7
0
-40
-31
-6
-2
-39
-27
-3
0
0
0
0
0
0
-10
-39
3
38
-14
4
6
18
29
19
0
0
-54
-29
-19
-40
-20
-16
0
-33
0
0
0
-19
-19
-18
0
0
0
0
0
0
66
-26
0
2
-5
23
31
21
51
7
0
0
-29
-35
-51
-55
-10
-28
0
-51
-54
-99
0
-51
-17
-27
0
0
0
0
0
0
15
-40
-1
6
5
14
-1
37
23
-2
0
0
-3
-23
-21
-17
-30
-23
0
-30
-17
32
-49
-2
29
22
0
0
0
0
0
0
27
37
-7
37
5
-30
14
0
14
-3
0
0
24
-7
-16
-33
-21
4
0
-32
-18
-43
-5
-10
25
-2
0
0
-12
-1
2
-4
31
43
16
12
-9
1
-8
26
-35
29
0
0
36
0
-37
14
38
-29
0
3
10
-29
-5
3
-28
-20
0
0
16
1
20
42
22
24
30
13
14
60
1
-1
18
11
0
0
2
0
0
0
-28
-4
0
0
7
3
4
-3
-19
-26
0
0
5
-1
11
-2
-6
-4
22
19
23
15
22
-6
-8
14
0
0
0
0
0
0
3
-13
0
-7
-4
-31
2
1
-11
-5
0
0
13
15
5
-11
29
18
1
40
17
45
0
32
31
7
0
0
0
0
0
0
-50
33
1
9
-5
-6
6
-18
-50
-8
0
0
30
22
3
47
20
11
0
45
0
0
0
12
-26
17
0
0
0
0
0
0
1
13
0
-15
10
-2
-18
-22
10
7
0
0
0
0
0
0
-4
63
0
20
7
9
10
34
19
20
0
0
-44
-45
-13
-57
-61
-17
0
-74
0
0
0
-25
9
-21
0
0
0
0
0
0
-27
106
-3
26
-52
0
36
17
-9
49
0
0
-31
-10
-19
-9
-5
-9
0
-17
-41
4
0
-23
-14
-5
0
0
0
0
0
0
3
8
3
23
-9
20
21
15
30
60
0
0
-33
-35
-7
-12
-34
-6
0
-10
4
-65
-34
-10
33
-13
0
0
0
0
0
0
21
89
-13
1
-9
14
45
15
3
28
0
0
-4
-10
10
33
10
-42
0
-53
-26
0
1
-32
-32
-18
0
0
-6
1
2
-2
17
10
-5
67
-4
33
23
17
25
-20
0
0
-8
-1
-1
1
7
15
0
-70
-24
23
-13
-17
23
20
0
0
34
7
14
25
7
-42
5
41
4
-39
-27
2
-18
-35
0
0
0
0
0
0
48
4
0
-7
-12
-23
-59
24
12
19
0
0
18
-12
-7
-30
79
-8
39
1
-56
7
39
12
0
91
0
0
0
0
0
0
-1
29
0
-12
-9
18
-24
-37
-7
68
0
0
23
-12
8
29
-32
-18
-14
-21
-27
9
0
-14
30
-17
0
0
0
0
0
0
18
-14
0
-25
-12
-25
-13
-12
50
-13
0
0
21
21
65
20
7
-15
13
-9
0
0
0
-25
33
-24
0
0
0
0
0
0
-23
-32
-2
-10
0
-11
-14
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
2
-15
26
-35
-86
49
-117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-37
0
20
8
62
0
25
34
0
1
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-112
-8
6
0
-25
1
0
1
85
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
-36
2
1
0
3
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
5
-16
-14
6
107
0
-11
-1
40
0
0
0
0
0
0
2
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
-11
9
-1
11
37
6
0
0
72
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-15
-116
-17
-7
-68
7
-13
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
69
-25
-74
-46
-4
-24
-66
3
69
-17
0
-9
35
28
46
2
-58
0
34
0
0
0
29
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
-1
-31
16
1
0
0
-11
-4
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
10
0
0
0
0
0
0
0
0
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
-1
0
0
12
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
1
0
0
-8
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
-3
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
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
-2
15
2
0
0
-58
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
-2
-13
0
1
-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
49
-15
78
-17
0
0
46
-55
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
-4
0
0
0
2
0
0
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
-33
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
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
-2
0
0
0
-7
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
-1
0
16
5
1
-21
-36
-13
31
-21
18
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
13
-34
-22
0
-79
76
-9
143
14
44
0
-41
11
-45
15
-4
-61
0
9
0
0
0
42
19
6
0
0
0
0
0
0
0
0
90
44
91
1
0
14
1
4
29
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
95
35
32
56
9
19
117
20
104
0
0
0
0
-24
-13
3
0
0
0
0
0
-1
6
-1
0
0
0
0
0
0
-16
0
10
-19
-34
72
-1
26
32
-21
-13
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-18
-34
-33
-34
0
-75
0
-77
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
24
11
12
0
60
13
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
59
18
1
-29
21
0
14
45
20
38
0
54
49
62
50
47
45
28
13
0
-37
0
-4
47
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
52
20
-1
11
0
0
-81
0
2
0
0
-1
22
9
-2
0
0
0
0
4
-3
-3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-1
0
0
-1
2
0
-10
0
-2
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-4
-1
0
-23
0
0
7
0
7
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-22
3
-18
7
0
-16
21
0
8
0
0
0
1
-1
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
7
-4
0
0
0
1
2
-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
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
24
-61
24
-11
20
59
-6
-58
0
7
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
17
113
15
-2
77
1
-100
-88
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
1
44
5
-14
65
4
-33
-24
-51
-75
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-4
0
0
11
3
53
0
-48
118
-13
-2
0
-15
0
-8
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
30
65
1
0
1
-30
0
-16
-27
0
0
0
0
-1
0
0
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-49
0
-21
18
0
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
20
0
0
2
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
130
24
12
91
67
25
-20
8
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
69
28
121
40
0
-43
40
34
26
-41
4
0
-21
-6
15
-16
-87
10
0
-10
0
-12
-67
-32
29
-5
0
0
0
0
0
0
7
0
2
77
62
0
15
61
1
-2
-34
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
10
0
7
166
81
8
27
176
2
3
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
25
25
-9
-57
13
10
-8
-8
9
0
0
0
7
0
-1
0
0
-3
0
0
0
-10
-2
0
0
0
0
0
0
0
0
0
2
0
7
0
25
7
0
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
-2
58
-25
0
25
-77
-18
0
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-23
-2
20
-5
21
17
13
28
31
3
0
-66
-19
18
12
-31
-18
23
0
0
-134
-1
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
-4
0
0
0
0
0
13
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-24
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
18
9
-1
0
0
0
4
0
10
1
3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
0
-36
16
-1
0
-26
0
20
0
-22
2
0
4
0
0
0
0
2
25
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-3
-7
-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
37
0
-1
0
-1
0
1
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
-1
0
0
46
-46
0
-7
13
16
3
-27
0
-20
0
4
-1
16
0
0
1
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
-12
-4
0
22
-74
-16
-54
78
45
11
-13
0
0
0
0
0
1
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-42
0
-9
31
-2
29
59
-8
-66
-27
-22
0
25
0
-2
-20
48
0
0
2
0
0
-2
16
0
0
0
0
0
0
0
0
-4
1
0
91
-60
-16
44
65
41
-8
12
0
-12
0
0
11
14
15
-1
-28
0
-1
-18
-67
34
3
0
0
0
0
0
0
0
-2
10
-42
-96
60
16
-37
10
37
-6
0
-14
-1
-20
51
0
4
0
21
0
0
-2
2
-7
0
0
0
0
0
0
0
0
0
0
6
-69
-4
7
-36
-13
0
-20
0
85
0
0
0
4
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
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
-6
2
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
1
-1
0
-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
1
0
3
-2
4
-2
-2
51
56
28
18
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-45
-24
37
20
0
-21
-29
16
-5
-6
-21
0
-2
-1
9
8
15
13
1
-17
0
-22
-36
20
-40
-22
0
0
0
0
0
0
-2
0
0
22
80
-28
11
33
4
-1
-60
0
0
0
0
0
29
0
0
0
0
0
7
-8
1
0
0
0
0
0
0
0
-23
0
-1
-32
27
-12
37
-21
-23
-19
-28
0
0
0
0
4
24
1
0
-1
0
-15
-3
5
-45
-1
0
0
0
0
0
0
7
1
-1
40
30
-2
-71
-20
26
-3
-9
0
0
0
0
2
-1
2
0
0
0
-1
-2
-17
34
0
0
0
0
0
0
0
0
0
0
-22
63
-1
6
-11
1
21
22
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
9
14
0
-1
50
-19
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
9
11
-50
-8
24
0
45
32
20
15
-4
-2
0
-27
-14
-50
-1
-8
-22
-34
-49
0
22
-46
4
8
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
19
20
45
6
11
2
3
0
-1
0
0
0
0
-3
0
-34
0
3
32
13
-1
0
0
0
0
0
0
0
0
0
0
1
21
-4
4
8
47
0
-30
0
0
0
0
0
0
0
0
-1
0
0
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-5
0
1
0
0
0
8
0
0
-8
0
0
-1
8
0
0
0
0
0
0
0
0
19
0
0
-21
8
11
70
-92
-54
3
-21
0
1
0
0
4
14
0
3
-16
0
58
17
-4
-8
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
0
0
-4
-68
-6
38
1
35
8
-74
0
0
0
0
0
-37
0
0
40
0
4
62
-16
30
6
0
0
0
0
0
0
23
3
9
28
-3
11
1
26
-1
-44
-6
0
-20
-1
-6
53
-3
-14
-2
73
0
-69
58
63
11
4
0
0
0
0
0
0
-55
-11
0
21
-8
34
14
-41
5
5
-13
0
25
0
7
-11
31
19
27
108
0
20
-5
21
-17
29
0
0
0
0
0
0
62
-33
-4
-61
-37
-38
51
38
-11
-5
-1
0
7
0
-6
-20
35
52
-1
37
0
-3
42
-25
38
-15
0
0
0
0
0
0
0
0
0
2
2
13
73
-96
13
0
-1
0
-2
0
0
0
-6
0
0
-4
0
-2
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
27
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-13
0
0
0
15
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
-19
2
-24
-9
0
-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
-9
0
0
0
-3
0
-34
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
2
2
0
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-11
0
-11
0
38
-49
-5
16
75
-13
0
0
0
0
0
93
30
0
8
0
2
131
-1
-22
119
0
0
0
0
0
0
-4
0
0
-1
92
0
24
-13
10
1
-39
0
0
0
0
0
-9
0
0
-1
0
-3
9
9
-26
0
0
0
0
0
0
0
1
1
0
-7
21
35
-24
32
-9
18
-56
0
0
0
0
0
0
0
0
0
0
0
16
1
-3
-2
0
0
0
0
0
0
0
0
0
9
86
1
12
-30
68
4
62
0
0
0
0
0
0
0
0
0
0
0
88
14
2
0
0
0
0
0
0
0
0
0
0
0
117
0
-17
0
0
0
122
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
79
0
-46
6
-12
0
-69
0
0
0
0
0
0
0
0
0
0
1
2
2
-1
0
0
0
-14
-4
22
29
-2
-38
-6
-6
5
16
-32
-3
-9
-11
-6
0
8
0
-34
-19
-7
6
4
-17
0
-16
-12
-14
-7
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
62
56
76
-20
32
-1
0
0
0
0
0
0
-3
0
0
4
0
-44
-51
-4
0
3
0
0
0
0
0
0
-1
0
0
10
-17
0
-30
9
-36
0
6
0
0
0
0
0
2
0
0
-2
0
4
22
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
3
0
-5
0
0
0
0
0
19
-9
0
3
0
28
-17
1
12
6
0
0
0
0
0
0
-17
-4
0
-13
6
93
14
-31
33
-80
13
0
0
0
0
0
52
-10
0
-38
0
-37
32
19
25
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
92
-50
28
75
-25
17
77
5
0
0
0
0
0
-18
-16
-3
-45
0
42
-21
0
-82
-66
0
0
0
0
0
0
33
42
22
-69
-66
108
-56
-60
-60
-11
-8
0
0
0
0
0
-18
-21
0
9
0
-11
-28
20
-24
-63
0
0
0
0
0
0
-31
-21
0
-34
18
42
-1
-11
4
77
0
0
9
0
0
0
-11
15
-27
-8
0
-88
-8
5
-1
6
0
0
0
0
0
0
-29
-24
0
-47
9
28
-16
-69
-6
-5
4
0
0
0
0
0
-25
7
1
55
0
12
-22
-1
44
15
0
0
0
0
0
0
-15
0
0
-27
41
68
-42
48
5
-5
-7
0
0
0
0
0
-37
0
0
-4
0
38
14
-6
-27
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-47
1
0
2
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
2
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
0
0
0
4
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
26
0
8
7
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
4
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
63
0
0
-4
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-4
7
0
0
-8
0
3
0
-51
0
-24
-50
0
0
0
0
0
0
0
0
3
0
-37
-17
12
-1
6
0
0
0
0
0
0
0
0
0
0
-110
0
0
0
0
0
242
0
0
0
0
0
0
0
0
1
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
-2
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
-1
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
24
-48
-18
-52
-86
0
-47
44
-5
-36
-9
-77
-45
-60
0
0
0
0
0
35
-21
-19
-6
0
5
-15
-37
-23
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
1
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-23
0
0
0
0
0
-1
0
0
-6
0
-3
8
4
-3
0
0
0
0
0
0
0
0
0
0
26
20
11
-26
2
2
32
-65
0
0
0
0
0
-37
25
-12
0
0
4
-45
-48
16
-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
-2
2
0
-4
-86
0
-1
18
1
41
-22
0
0
0
0
0
-4
0
0
-34
0
-2
0
14
19
0
0
0
0
0
0
37
20
17
0
18
-17
-55
13
59
28
56
-1
0
0
0
0
0
-22
18
0
-82
0
-3
14
-75
-43
11
0
0
0
0
0
0
2
2
0
2
43
0
-19
-6
-28
8
-29
0
0
0
0
0
-7
-3
-13
-7
0
47
44
8
-21
-4
0
0
0
0
0
0
3
12
0
-2
40
10
24
20
0
-49
-1
0
0
0
0
0
0
0
0
-51
0
-4
0
-41
-1
3
0
0
0
0
0
0
0
0
0
0
-11
0
4
1
0
0
-45
0
0
0
0
0
0
0
0
47
0
3
0
-19
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
34
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
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
2
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
12
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
3
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
1
0
0
0
-30
0
-4
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
-2
-54
-102
-60
-29
-9
-93
74
-15
33
23
-114
-89
-77
0
0
0
0
0
-22
11
-32
-56
0
-14
-76
-64
-78
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
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
-1
0
0
0
-53
0
0
0
0
0
0
1
0
-28
0
15
-13
-25
-3
0
0
0
-14
-10
-15
9
-2
0
0
-10
0
-62
-26
60
0
0
-25
0
0
0
0
0
-32
-8
5
39
0
-9
-30
-8
-36
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
-3
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
50
0
-8
-9
-10
-3
0
0
0
1
0
0
0
1
0
0
-4
36
0
-1
4
0
0
-35
0
0
0
0
0
0
0
0
-8
0
0
0
-46
11
2
0
0
-4
4
0
0
0
2
0
-2
15
0
-1
0
0
0
-20
0
0
0
0
0
-4
-2
-7
-61
0
50
-8
6
16
-2
0
0
-3
0
0
1
3
51
0
0
1
0
0
-8
0
0
-23
0
0
0
0
0
0
0
0
-50
0
0
-6
0
0
0
0
0
-12
0
0
0
0
1
0
0
18
-3
0
-1
0
0
-43
0
0
0
0
0
0
0
0
-9
0
-1
43
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
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
-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
-22
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
4
-23
-74
-18
69
22
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
-17
58
0
44
-9
15
0
11
47
0
4
0
0
0
1
20
0
1
0
0
0
-37
1
0
0
0
0
0
0
0
0
0
-39
-24
47
0
30
-13
0
2
58
0
0
0
0
0
0
-19
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
-6
-17
2
39
-3
3
1
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-71
21
-8
-41
0
-11
-1
19
0
0
0
0
0
0
8
0
-4
0
0
0
1
4
-3
0
0
0
0
0
0
0
0
-11
-3
0
3
-34
12
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-17
-52
-1
35
32
9
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
-48
-49
-41
-41
-4
-56
34
44
-27
0
-29
-16
24
-6
-11
-32
3
-7
0
0
0
21
-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
-1
-8
18
18
0
0
-4
-34
0
0
0
0
0
0
-7
0
0
0
0
0
0
27
0
0
0
0
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
-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
-6
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-18
1
0
0
-10
0
0
0
0
0
0
3
0
10
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
5
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-11
-19
12
35
0
30
8
0
-1
0
0
0
-19
31
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
-20
35
48
-11
-19
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
41
-9
-3
-43
21
-2
38
-50
0
0
0
0
0
8
-2
0
-17
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
37
-10
-1
0
15
0
0
3
-8
0
0
0
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
0
0
0
23
0
4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
45
3
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
7
8
0
0
4
-6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
14
24
37
-20
1
45
18
-33
45
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
73
12
55
33
0
-21
101
48
42
21
-5
0
-57
-7
-23
49
-42
-52
0
6
0
0
0
-24
3
-43
0
0
0
0
0
0
0
0
84
7
60
11
0
-16
9
-13
32
0
0
0
0
0
1
7
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
9
-2
28
25
10
1
44
21
46
-6
53
0
8
0
0
-43
-18
-36
0
12
0
0
0
-22
0
-21
0
0
0
0
0
0
0
0
18
5
20
-3
12
36
13
-40
37
0
1
0
3
-7
-4
-12
0
1
0
0
0
16
0
7
0
0
0
0
0
0
0
0
22
-4
23
-37
0
-44
0
9
-11
0
-1
0
0
-1
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
2
24
-17
19
0
24
3
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-10
25
-9
-32
-16
-7
-10
74
24
4
0
17
19
18
20
61
33
43
25
0
-73
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
2
25
44
-17
14
0
0
-40
0
3
0
-12
-2
26
-11
-22
-1
0
0
0
22
6
7
0
0
0
0
0
0
0
0
0
0
15
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
0
0
0
-13
-5
-1
0
3
1
0
3
0
16
0
0
7
4
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-35
27
-2
-16
1
0
0
-31
0
18
0
-3
0
0
-1
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-11
-11
3
14
53
0
18
-47
0
6
0
-22
2
3
26
1
-15
0
0
0
-34
0
-3
0
0
0
0
0
0
0
0
0
25
-6
6
0
0
5
-7
-11
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
-13
0
1
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
-56
-25
114
-26
-36
40
-46
-23
0
8
0
10
-2
-34
-1
-6
-2
0
2
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
-24
14
45
-9
-8
5
-24
-47
0
-1
0
0
0
0
0
0
-3
0
0
0
-12
-8
0
0
0
0
0
0
0
0
2
18
-10
-21
38
-1
-4
-38
-16
-56
0
-1
0
0
-6
18
12
0
0
0
0
0
-9
0
1
0
0
0
0
0
0
-9
-3
0
55
45
73
-1
44
73
-14
-19
0
-15
0
-15
-6
-16
-2
13
-53
0
0
0
-1
-16
11
0
0
0
0
0
0
0
0
37
-17
10
0
2
-25
0
22
-12
0
-7
0
0
-10
0
0
0
-1
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-1
0
13
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-21
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
-1
51
0
9
14
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
70
44
15
29
50
28
52
9
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
82
65
63
62
0
-11
25
64
36
25
2
0
22
13
25
-7
-20
-18
-11
-42
0
-11
-82
10
1
-13
0
0
0
0
0
0
6
0
-11
53
48
0
32
46
4
11
24
0
-2
0
0
2
6
-1
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
9
0
30
94
30
15
-33
21
-2
1
16
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
27
1
56
79
46
0
94
18
58
55
9
0
0
0
2
-1
18
1
0
1
0
13
-2
-30
-10
-1
0
0
0
0
0
0
0
0
39
58
9
1
-8
48
0
3
18
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
13
10
-8
4
-13
5
-14
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
-22
37
-13
-1
14
16
39
11
-10
0
-2
-32
4
-10
-10
3
-20
17
0
-129
-41
-3
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
1
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
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
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
7
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-38
0
32
9
0
0
53
0
0
0
-6
1
-2
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
10
28
0
7
-60
-10
0
-2
0
10
1
53
-2
2
4
-1
-7
0
0
10
10
0
0
0
0
0
0
0
0
0
0
0
0
13
0
8
-11
-4
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
16
0
0
0
10
0
5
1
-10
2
4
-2
0
-1
0
-6
-1
-2
1
0
0
0
0
0
0
0
-1
-8
0
52
-16
0
25
0
-33
-1
8
0
-35
1
-20
-33
20
-4
2
32
0
1
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
-22
0
0
54
-16
-38
-28
53
12
-2
4
0
-1
0
-2
0
-3
2
0
5
0
0
2
-19
-2
0
0
0
0
0
0
0
-16
-3
-53
4
-13
-2
15
-5
-9
-2
-23
0
3
6
-44
40
-17
5
4
-38
0
10
-30
-4
30
0
0
0
0
0
0
0
-11
3
0
29
-8
-6
-14
4
41
17
-16
0
-36
-2
12
42
42
5
-5
-14
0
3
21
-23
18
15
0
0
0
0
0
0
0
0
30
-42
-29
33
17
-27
17
18
-25
0
-10
-1
-17
51
29
27
0
-15
0
0
-4
-7
12
0
0
0
0
0
0
0
0
0
0
-36
2
-3
-50
46
42
0
-34
0
37
0
-1
0
1
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
7
8
1
3
1
-22
0
-2
15
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
0
-22
0
0
0
1
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
11
-2
7
-8
-29
4
10
8
19
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
-16
-10
-41
-7
0
0
-32
-7
8
-45
15
0
25
-1
18
-22
22
48
15
1
0
17
8
30
22
40
0
0
0
0
0
0
29
0
43
-23
11
3
2
38
18
2
-26
0
-1
0
0
0
14
0
-6
8
0
17
65
-14
-17
0
0
0
0
0
0
0
16
0
15
58
8
54
7
-8
29
44
-4
0
8
0
0
-4
-2
-1
0
-11
0
7
-40
-17
-42
10
0
0
0
0
0
0
20
-3
54
-18
-9
9
-59
56
18
3
-20
0
0
0
0
2
-3
2
0
-10
0
-6
25
-26
-29
-1
0
0
0
0
0
0
0
0
0
-12
27
4
13
-12
3
20
6
0
0
0
0
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
0
0
0
-3
9
-1
0
3
-18
9
0
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-5
-25
-12
24
0
24
18
16
18
9
-3
0
-9
26
7
39
-4
31
-13
-4
0
-14
6
8
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-47
8
58
45
56
-12
0
15
0
-4
0
0
-3
26
7
-5
-34
0
32
-25
9
19
-4
0
0
0
0
0
0
0
0
0
-3
23
21
-14
18
-24
0
-28
0
0
0
0
0
2
0
0
-10
0
0
-17
15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
16
0
-11
0
-7
0
-1
8
17
5
0
1
0
19
-9
13
0
-1
0
0
0
0
0
0
23
0
0
-54
12
7
-35
-51
-3
-28
-34
0
29
0
-2
29
-28
-36
11
3
0
26
-35
-38
-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
32
0
0
1
5
-11
51
-18
10
-17
-37
0
0
0
0
4
8
3
-2
27
0
3
41
-69
25
5
0
0
0
0
0
0
-19
39
16
-9
6
-3
20
11
18
-1
1
0
-18
-3
-14
-16
-1
-26
-20
43
0
-39
-22
-5
-9
-47
0
0
0
0
0
0
-67
-23
0
-3
51
19
8
-1
8
-46
-7
0
42
0
-12
-20
-48
6
39
23
0
-55
5
13
5
17
0
0
0
0
0
0
7
-5
-55
-11
7
58
-8
-13
27
-23
0
0
57
-4
-11
12
26
43
24
-2
0
-16
10
-31
10
-29
0
0
0
0
0
0
0
0
0
14
10
-5
11
43
-17
0
-10
0
-1
0
0
-1
-5
0
0
-4
0
-1
-52
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
0
0
0
0
0
0
0
0
0
0
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
3
0
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
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
1
0
39
0
-36
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
2
1
-23
2
-62
-9
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-6
0
-13
0
-1
0
-6
0
-39
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
2
25
1
8
13
-6
-3
-12
0
0
0
0
0
0
0
0
0
0
0
14
25
0
0
0
0
0
0
0
0
-37
-77
-78
-33
0
53
0
-70
20
3
7
0
0
0
0
0
30
60
-13
2
0
26
74
-4
39
17
0
0
0
0
0
0
-1
-2
4
-3
20
-38
10
13
-24
1
-32
0
0
0
0
0
-11
0
-2
-39
0
-6
1
21
-18
-13
0
0
0
0
0
0
1
2
-3
-46
29
59
-73
-6
25
-1
-3
0
0
0
0
0
6
3
0
39
0
1
15
20
8
1
0
0
0
0
0
0
0
0
-18
4
28
-11
-4
-12
0
7
11
0
0
0
0
0
0
0
0
9
0
-33
32
4
7
-14
0
0
0
0
0
0
0
0
0
6
40
-1
31
-10
1
0
27
0
0
0
0
0
0
0
0
0
0
0
6
-22
0
0
0
0
0
0
0
0
0
0
0
2
4
0
-49
-14
-3
0
-23
0
0
0
0
0
0
0
0
0
0
0
-1
8
-2
0
0
0
38
-15
-64
-35
-15
-18
-10
44
13
19
5
16
-4
8
7
0
-13
1
-18
-13
18
19
-2
-27
0
13
1
-9
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-3
-39
-11
12
-1
29
0
0
0
0
0
-10
-7
0
15
0
-30
7
37
18
-8
0
0
0
0
0
0
-2
0
0
4
-48
17
-14
3
-12
0
25
0
0
0
0
0
0
0
0
-1
0
3
50
-44
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-20
0
-4
0
0
0
0
0
5
-25
0
-3
0
-17
-8
2
2
4
0
0
0
0
0
0
86
14
0
8
-13
61
1
-21
-23
-47
-8
0
0
0
0
0
42
-29
23
-37
0
-72
-40
-42
-46
-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
24
-14
0
26
-27
-18
8
24
-26
91
2
0
0
0
0
0
-42
18
18
-64
0
48
-11
52
-74
3
0
0
0
0
0
0
-11
-30
-21
5
-13
78
-3
-11
-41
-19
8
0
0
0
0
3
-63
-15
6
29
0
-11
-12
24
30
3
0
0
0
0
0
0
13
-28
0
40
-7
53
11
1
5
-22
-2
0
2
0
0
0
13
-15
-27
9
0
12
-7
-26
-13
9
0
0
0
0
0
0
-26
12
-67
57
26
23
-21
38
-5
-14
12
0
0
0
0
0
2
-15
2
-32
0
15
-2
-13
5
4
0
0
0
0
0
0
-15
0
0
38
22
83
34
-57
-19
1
-9
0
0
0
0
0
-7
-1
0
-21
0
20
-14
-17
-37
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
2
2
-21
2
6
26
-26
-10
14
0
0
0
0
0
0
0
0
1
0
0
-10
0
0
0
0
0
0
0
0
0
-1
0
0
0
-15
0
0
0
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
-2
8
0
-8
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
-9
0
0
0
0
0
0
0
0
7
0
1
0
-26
0
0
-3
3
7
-42
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
13
0
-2
-1
0
-1
4
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
6
0
0
9
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
28
0
0
-6
0
0
-52
0
0
0
0
0
0
0
0
8
0
0
0
15
2
0
0
0
0
0
0
1
-3
0
-4
-16
0
-27
-3
-81
-1
30
-6
0
0
0
0
0
15
0
0
-13
0
-11
-35
67
-10
7
0
0
0
0
0
0
0
0
0
0
-5
0
-15
0
0
0
62
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
37
0
0
-1
0
-1
-36
0
0
0
0
0
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-1
0
-26
0
0
-11
0
0
-25
0
0
0
0
0
0
0
0
0
0
-10
2
-13
0
1
0
0
0
0
0
0
0
0
0
0
-10
-1
-7
0
0
0
17
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
77
29
23
-23
-46
5
-7
43
4
-32
-6
-23
-8
-10
0
0
0
0
0
3
-8
5
-16
0
17
0
-24
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
0
-1
0
0
-11
0
0
0
0
0
0
0
0
14
0
0
-8
-7
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
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
17
0
0
0
0
0
-16
-1
0
16
0
10
17
-5
19
6
0
0
0
0
0
0
-8
0
0
52
-20
-3
2
58
-26
32
-7
0
0
0
0
0
-7
56
19
-8
0
-28
16
-23
3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
0
-15
-56
0
2
5
-1
-22
4
0
0
0
0
0
0
0
0
-6
0
-11
0
28
53
0
0
0
-1
-1
0
32
25
22
-2
-38
10
-66
21
-14
-13
21
8
0
0
0
0
0
-3
-15
20
23
0
22
17
10
-10
-14
0
0
0
0
0
0
18
10
0
-12
-15
5
-21
-11
-37
49
-13
0
0
0
0
0
17
4
-20
31
0
4
25
-9
27
-17
0
0
0
0
0
0
19
36
0
18
-19
9
2
20
0
24
-12
0
0
0
0
0
0
-4
-2
-30
0
3
9
3
2
4
0
0
0
0
0
0
0
0
0
0
17
0
-5
0
0
0
-10
0
0
0
0
0
0
0
0
5
0
3
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
10
-9
1
0
1
-19
-1
0
12
0
1
0
4
0
-28
0
0
0
0
0
0
0
0
0
0
0
-31
-19
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
1
0
2
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
7
1
1
0
0
0
7
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
0
0
0
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
12
7
0
0
0
11
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
-1
0
0
1
4
0
0
0
0
1
0
-2
0
-19
2
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
2
0
3
0
-1
-2
-17
0
3
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
13
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-4
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
-14
0
0
0
0
0
0
0
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
-31
-35
-6
-26
-66
-68
18
-73
59
-16
10
-50
-47
-105
-16
0
0
0
0
0
-37
-18
11
-17
0
-30
3
-12
-27
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
-19
0
0
0
0
0
0
6
0
1
0
-14
-13
6
-15
0
0
0
22
14
1
-15
19
-11
0
-11
-9
-64
51
19
10
0
10
0
0
0
0
0
45
-25
-16
-5
0
49
31
20
34
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
1
0
-2
-11
-2
0
-3
-44
0
0
-4
0
0
17
0
0
0
0
0
0
0
-6
23
0
0
-45
-28
-11
0
0
0
6
0
6
-5
-4
-21
0
10
17
-4
1
-19
0
0
30
0
0
0
0
0
3
0
-1
-63
0
0
20
-16
-7
6
0
0
9
-16
9
-1
2
-9
0
-56
-19
5
12
-5
4
0
3
0
0
0
0
0
-6
1
29
29
0
40
-18
11
22
1
0
0
-16
0
0
0
10
1
0
-13
0
0
0
-4
0
0
11
0
0
0
0
0
0
0
1
40
0
0
-35
41
0
0
0
0
-13
0
-4
0
0
6
0
0
3
-3
-33
0
0
0
10
0
0
0
0
0
0
0
2
5
0
-2
66
25
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-62
16
26
-48
-73
-12
51
46
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-37
70
0
24
4
-1
0
10
26
0
4
0
0
0
0
20
0
1
0
0
0
-39
1
0
0
0
0
0
0
0
0
0
-57
-9
55
0
33
-15
0
2
48
0
0
0
0
0
0
-15
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
13
-6
0
3
32
-3
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
-33
-59
36
-13
-39
0
-8
-1
22
0
0
0
0
0
0
8
0
-4
0
0
0
1
4
-2
0
0
0
0
0
0
0
0
-1
-3
0
3
-21
12
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-2
-38
13
42
29
8
-6
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
18
-2
-65
-23
-64
-5
-36
35
-12
-34
0
-23
-40
15
-22
-13
-23
9
5
0
0
0
-4
-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
-1
-11
12
21
0
0
-4
11
0
0
0
0
0
0
-16
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
-17
1
0
0
5
0
0
0
0
0
0
3
0
10
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
10
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-30
-4
-2
29
0
30
15
0
-1
0
0
0
-22
42
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
-18
30
42
-2
-19
0
1
-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
39
-24
-27
-40
18
-2
37
-14
0
0
0
0
0
8
-2
0
-17
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
39
-8
-1
0
8
0
0
4
-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
0
0
22
0
0
0
-3
0
8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
47
3
0
0
18
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
7
8
0
0
4
-6
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
21
57
23
-4
-1
68
17
9
29
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
57
12
77
-3
0
-63
78
30
-23
6
-10
0
-50
-15
-12
37
-20
-2
0
-21
0
0
0
-35
-5
-18
0
0
0
0
0
0
0
0
74
9
21
10
0
-31
9
-22
46
0
0
0
0
0
1
7
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
-4
13
-26
20
-41
39
37
42
-19
37
0
7
0
0
-35
-1
-30
0
13
0
0
0
-21
0
-19
0
0
0
0
0
0
2
0
-2
34
31
-8
10
48
-12
-41
69
0
1
0
3
-7
-4
-3
0
1
0
0
0
16
0
6
0
0
0
0
0
0
0
0
15
13
-1
-35
0
-25
0
9
-33
0
-1
0
0
-1
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
4
34
-17
19
0
28
3
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-22
19
7
-4
-10
-4
-8
23
7
0
0
11
21
14
10
6
13
2
29
0
-63
0
2
-36
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
-17
21
0
0
-37
0
9
0
-13
-2
20
-19
-16
3
0
0
0
23
11
1
0
0
0
0
0
0
0
0
0
0
16
0
0
11
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-5
0
0
2
1
0
13
0
9
0
0
7
4
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-24
28
-2
-16
17
0
0
-38
0
8
0
-3
0
-1
-1
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-24
-6
3
18
55
0
24
-25
0
8
0
-20
2
3
17
1
-18
0
0
0
-30
0
-3
0
0
0
0
0
0
0
0
0
25
-6
6
0
0
2
-4
-13
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
-9
0
3
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
-78
-25
114
-5
-55
5
-47
-23
0
15
0
14
-2
-35
-5
-6
-2
0
2
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
29
-11
37
-6
-4
10
-17
-55
0
-1
0
0
0
0
0
0
-2
0
0
0
-12
-8
0
0
0
0
0
0
0
0
2
-13
10
-17
59
-2
27
-33
-4
-76
0
0
0
0
-3
19
4
0
0
0
0
0
-9
0
1
0
0
0
0
0
0
-9
-3
0
-33
56
83
8
-21
77
-51
-6
0
-15
0
-21
-6
-19
3
13
-28
0
0
0
2
-8
15
0
0
0
0
0
0
0
0
38
-8
8
0
2
-21
0
21
-31
0
-5
0
0
-10
0
0
0
-1
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-1
0
30
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
12
-19
0
1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
33
0
9
16
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
63
-32
16
17
-9
22
50
-43
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
26
62
25
-28
0
3
-18
2
51
48
-1
0
42
9
29
3
-2
-23
-12
-37
0
10
-33
38
15
-3
0
0
0
0
0
0
6
0
-2
49
-6
0
4
50
4
11
-2
0
-2
0
0
2
14
-5
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
9
0
25
79
0
11
0
-41
0
1
26
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
28
1
60
29
-26
-6
75
19
57
66
-11
0
0
0
2
-1
-6
1
0
1
0
15
-2
-28
-10
-1
0
0
0
0
0
0
0
0
30
18
0
1
3
79
0
0
4
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
15
10
5
6
-6
-3
-7
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-32
-16
9
-6
26
17
0
33
-9
4
0
-6
-27
12
20
-8
36
-31
-17
0
-100
-12
-30
-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
1
0
0
0
0
0
9
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-35
0
0
0
0
0
7
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-28
0
16
10
0
0
45
0
0
0
-7
1
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-42
-49
0
0
36
0
29
1
31
-1
1
4
-1
-8
0
0
7
-14
0
0
0
0
0
0
0
0
0
0
0
0
14
0
5
-11
-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
2
0
0
0
-8
0
7
1
-13
1
11
0
0
-1
0
-6
-1
9
1
0
0
0
0
0
0
0
-1
-8
0
58
-43
0
14
29
-8
2
0
0
-42
1
-20
-32
16
-4
-1
28
0
-1
3
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
-22
1
0
38
-15
-33
-46
36
13
-19
29
0
-1
0
-2
0
-1
2
0
6
0
0
2
-12
-2
0
0
0
0
0
0
0
-17
1
-38
15
-2
1
-14
-34
-16
26
-4
0
-18
5
-45
43
-15
-2
4
-45
0
6
-36
-14
28
0
0
0
0
0
0
0
-7
3
0
37
-19
-9
-41
-37
48
50
-17
0
-35
-1
14
38
36
-3
-5
2
0
13
20
29
-6
12
0
0
0
0
0
0
0
0
42
-30
-3
25
10
-26
24
35
-13
0
-43
-1
-1
19
-1
28
0
-10
0
0
-4
-3
5
0
0
0
0
0
0
0
0
0
0
-28
22
-3
-17
44
21
0
-15
0
43
0
6
0
1
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
7
8
-20
3
1
-9
0
-2
19
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
0
-20
0
0
0
1
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-8
-29
-16
-9
7
-40
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
41
14
-30
13
0
44
38
9
9
4
12
0
26
-1
17
-33
0
51
25
36
0
-18
15
37
18
56
0
0
0
0
0
0
27
0
48
-37
25
2
1
24
13
8
-13
0
1
0
0
0
2
0
-8
5
0
26
61
-10
-15
0
0
0
0
0
0
0
34
0
-8
47
-1
36
-23
19
-18
25
-3
0
3
0
0
-4
2
-2
0
-8
0
9
-17
-5
-52
10
0
0
0
0
0
0
10
-3
82
-24
-12
9
-47
23
-2
0
-55
0
0
0
0
2
-11
2
0
-11
0
-6
24
-42
-40
0
0
0
0
0
0
0
0
0
-1
10
-15
4
7
-14
3
18
21
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
-3
9
-16
0
3
-17
10
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-41
-25
-6
18
0
12
-9
3
30
59
2
0
4
51
-7
25
22
24
-11
-2
0
28
-11
3
-7
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-44
28
54
25
42
-20
0
-12
0
-4
0
0
-3
17
-1
-6
-8
0
41
9
16
19
-4
0
0
0
0
0
0
0
0
0
-1
20
21
1
18
-22
0
-26
0
0
0
0
0
2
0
0
-10
0
0
-3
13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
17
0
-9
0
-7
0
-1
20
18
3
0
2
0
26
-10
29
-1
-1
0
0
0
0
0
0
12
0
0
-42
35
7
-29
-27
2
1
-29
0
27
0
-1
34
-5
-35
1
8
0
22
-10
-70
-29
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
1
0
7
-10
2
51
-26
12
-26
-9
0
0
0
0
4
18
3
-5
14
0
0
29
-79
36
3
0
0
0
0
0
0
-2
7
3
-7
14
-14
-20
-4
-26
76
2
0
-7
-3
-24
-18
1
14
2
43
0
-38
-29
44
17
-25
0
0
0
0
0
0
-43
-16
0
19
53
17
29
-6
-11
-20
-5
0
26
0
-22
-15
-21
3
32
-41
0
-56
3
29
53
0
0
0
0
0
0
0
-34
12
-60
-7
44
64
-3
-7
-2
-35
10
0
57
-4
-15
16
-12
18
25
15
0
-26
25
-36
8
-26
0
0
0
0
0
0
0
0
0
7
25
-2
15
42
-56
0
0
0
-1
0
0
-1
-2
0
0
-6
0
-1
-37
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
0
0
0
0
0
0
0
0
0
0
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
3
0
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
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
-1
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
1
0
29
0
-29
0
0
-1
-58
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
2
1
-20
2
-63
-9
0
-2
-29
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-6
0
-14
0
-1
0
-6
0
-45
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
2
53
1
20
15
-4
-3
-21
0
0
0
0
0
0
0
0
0
0
0
14
33
0
0
0
0
0
0
0
0
-37
-69
-63
-28
0
11
-14
-9
-2
-30
28
0
0
0
0
0
12
28
-12
0
0
71
43
12
59
-7
0
0
0
0
0
0
0
-2
4
-1
20
-33
-1
-4
-14
-2
-19
0
0
0
0
0
-19
0
-2
-37
0
-7
-42
39
-10
-13
0
0
0
0
0
0
3
2
5
-41
14
86
-99
-69
37
-8
9
0
0
0
0
0
6
3
0
42
0
0
-1
14
3
1
0
0
0
0
0
0
0
0
-15
6
39
-10
23
-2
11
2
-9
0
0
0
0
0
0
0
0
9
0
-25
-9
6
2
-14
0
0
0
0
0
0
0
0
0
6
14
-1
34
-11
1
0
37
0
0
0
0
0
0
0
0
0
0
0
1
-27
0
0
0
0
0
0
0
0
0
0
0
2
-18
0
-17
-10
-3
0
-28
0
0
0
0
0
0
0
0
0
0
0
-1
8
-2
0
0
0
26
-15
-55
-37
30
-8
-7
13
6
33
2
10
37
44
7
0
-40
-1
-31
-37
24
32
-1
-9
0
24
16
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-4
-11
2
-2
27
-1
18
0
0
0
0
0
-10
0
0
-6
0
-28
-11
56
18
-9
0
0
0
0
0
0
-2
0
0
4
-30
17
-6
1
-12
0
6
0
0
0
0
0
0
0
0
-1
0
8
60
-43
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-21
0
0
0
0
0
0
0
-14
-17
0
-12
0
-15
-4
-18
-12
7
0
0
0
0
0
0
59
12
0
8
54
17
-16
-15
-33
-38
-21
0
0
0
0
0
21
-32
23
-12
0
-45
-55
-36
-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
27
-7
0
-17
24
-27
-4
30
-4
54
-24
0
0
0
0
0
-40
34
26
-31
0
23
-11
45
-40
13
0
0
0
0
0
0
9
-34
-46
-25
19
28
-25
17
13
-73
8
0
0
0
0
3
-21
-2
12
29
0
-26
-4
27
4
20
0
0
0
0
0
0
35
-16
0
45
60
35
3
33
10
-16
-8
0
2
0
0
0
-10
-20
-40
-55
0
-30
3
-54
-28
10
0
0
0
0
0
0
33
23
-74
62
31
48
-13
3
-5
2
-8
0
0
0
0
0
15
-36
5
-53
0
21
-24
-8
-13
33
0
0
0
0
0
0
-7
0
0
46
9
63
-1
-36
-14
1
11
0
0
0
0
0
-12
-1
0
-37
0
21
6
-66
-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
-49
0
2
2
-9
2
6
25
-27
-1
3
0
0
0
0
0
0
0
0
1
0
0
-10
1
0
0
0
0
0
0
0
0
-1
0
0
0
-16
0
0
0
0
0
-17
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
6
0
-8
-2
2
0
-38
0
0
0
0
0
0
0
0
0
0
0
6
-9
0
0
0
0
0
0
0
0
7
0
1
0
-27
0
0
-3
3
7
-47
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
-7
9
0
-2
-1
0
-1
-23
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
6
0
0
9
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
-3
0
0
30
0
0
0
0
0
0
0
0
8
0
0
0
17
2
0
0
0
0
0
0
1
-3
0
-4
-12
0
-28
-3
-78
-1
11
37
0
0
0
0
0
12
0
0
-2
0
-10
-35
79
-17
7
0
0
0
0
0
0
0
0
0
0
21
0
-13
0
0
0
9
0
0
0
0
0
0
0
0
1
0
0
-4
-9
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
-1
0
-1
-2
0
0
0
0
0
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-1
0
-39
0
0
-11
0
0
-1
0
0
0
0
0
0
0
0
0
0
-10
2
-12
0
1
0
0
0
0
0
0
0
0
0
0
-8
-1
-7
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
47
1
21
-13
-45
2
40
13
11
-6
-28
-25
-7
-14
0
0
0
0
0
37
1
3
-29
0
-25
-1
33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
0
-1
0
0
10
0
0
0
0
0
0
0
0
16
0
0
-8
-6
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
1
0
14
0
0
0
0
0
-18
-1
0
18
0
11
-2
-6
28
2
0
0
0
0
0
0
-2
0
0
53
-6
-18
-8
41
-24
17
-22
0
0
0
0
0
-7
59
-15
23
0
-60
3
-5
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
-9
2
0
-6
-18
0
4
10
-1
-24
-33
0
0
0
0
0
0
0
0
4
0
-9
0
5
44
0
0
0
-1
-1
0
4
3
43
-2
-42
2
-35
88
-31
4
5
10
0
0
0
0
0
-1
-18
18
16
0
22
7
-28
-15
-10
0
0
0
0
0
0
11
11
0
-9
-25
4
-13
-15
-36
36
-10
0
0
0
0
0
25
1
-17
37
0
14
8
-35
16
-4
0
0
0
0
0
0
15
42
0
6
6
10
-19
8
0
51
17
0
0
0
0
0
0
-4
-2
-21
0
3
6
7
2
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-6
0
3
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
1
-13
-1
0
16
0
1
0
4
0
-20
0
0
0
0
0
0
0
0
0
0
0
-34
-20
0
0
0
0
0
0
0
0
0
1
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
8
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
7
1
1
0
0
0
7
0
0
0
0
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
12
7
0
0
0
30
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
-1
0
0
1
6
0
0
0
0
1
0
-2
0
-19
2
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
2
0
3
0
-1
-2
-50
0
3
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
27
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-4
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
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
-12
-12
28
-27
-54
-39
17
2
38
-38
-37
-59
-21
-103
-24
0
0
0
0
0
-35
-43
1
-29
0
-32
-3
-25
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
11
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
9
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
-20
0
0
0
9
0
0
0
0
0
0
6
0
10
0
2
3
-8
-8
0
0
0
27
23
-5
-24
17
-13
0
-17
-14
-50
53
-20
9
0
41
0
0
0
0
0
69
-6
4
-17
0
57
24
29
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
30
0
0
-2
-11
-2
0
-3
-51
0
0
-4
0
0
-1
0
0
0
0
0
0
0
-6
-10
0
-1
-20
-19
-8
0
0
0
1
0
8
-9
-1
-31
0
11
0
-4
1
-16
0
0
39
0
0
0
0
0
3
0
-1
-76
0
0
19
24
-9
6
0
0
43
-15
14
-1
2
-7
0
-68
-34
0
26
-18
4
0
6
0
0
0
0
0
-6
8
24
112
0
23
-43
-15
25
2
0
0
-16
0
0
0
6
-5
0
-13
0
0
0
-6
0
0
-5
0
0
0
0
0
0
0
1
59
0
0
-35
51
0
0
0
0
-17
0
-4
0
0
6
0
0
-11
-3
-28
0
0
0
-11
0
0
0
0
0
0
0
2
-5
0
-3
74
44
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
1
0
1
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
3
0
3
3
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
-4
0
-6
0
1
0
0
0
-37
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
4
1
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
-7
-12
-30
31
-39
-5
-5
-38
-70
25
0
-31
-30
-13
-9
11
-9
0
13
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
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
1
0
0
-12
0
0
0
0
0
-3
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
19
-2
0
-1
63
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
6
1
9
4
-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
26
-56
0
-59
-27
-50
-7
-1
20
0
-11
0
12
0
25
41
0
-21
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-2
0
-11
0
0
0
1
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-57
18
20
-1
-36
0
-7
-58
0
0
0
0
3
0
-1
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
-57
9
12
0
0
1
-10
0
48
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
1
4
-1
2
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
4
-21
17
-78
-7
14
-6
-64
29
0
19
61
-28
-27
-8
-13
-12
1
0
-6
0
15
-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
3
-10
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
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
2
0
0
1
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
1
0
0
-8
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
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
2
0
-10
-7
3
-28
0
-2
0
3
-1
-8
-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
22
9
3
0
10
0
0
-16
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-6
-23
14
7
0
0
0
-7
-49
0
0
0
0
-1
-1
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-9
7
25
0
-22
27
2
-52
0
0
0
-4
0
0
1
0
6
0
0
0
1
1
1
0
0
0
0
0
0
0
0
25
15
0
0
2
2
0
0
11
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
-35
4
0
0
-122
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
1
-39
-65
0
-12
11
-38
-4
-4
20
0
48
-1
0
-10
35
-4
-6
-2
0
8
0
-8
-8
-1
0
0
0
0
0
0
0
0
0
19
-3
-1
-4
-2
0
0
5
0
-1
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
21
-2
-21
0
-2
-9
0
0
31
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-65
-57
0
-16
-16
9
0
-75
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
-18
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-1
3
0
6
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
-4
-2
-9
-3
-8
-6
24
19
70
-10
-10
0
-17
-13
86
23
7
9
15
5
0
-8
-22
-40
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-25
0
0
0
0
0
0
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
-11
0
3
1
3
-2
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-17
0
16
0
1
0
-9
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-14
6
-8
0
-26
0
0
0
4
0
7
0
0
-2
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
-6
-33
-3
-13
-11
0
0
61
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
1
0
16
-5
-19
0
-2
28
33
2
-41
0
-15
1
-4
13
5
-7
0
-1
0
0
0
-6
7
0
0
0
0
0
0
0
0
0
0
-9
-28
-1
1
-11
8
0
-7
0
3
0
-2
1
0
-1
0
1
0
1
1
24
2
0
0
0
0
0
0
0
0
0
13
2
-1
0
-23
-1
0
0
-3
0
-2
0
-3
4
-1
0
0
4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-19
0
0
0
0
0
-3
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-16
0
2
0
4
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
34
0
27
37
-14
-22
1
-18
0
-3
0
2
-5
-27
0
2
34
0
-46
33
14
13
28
0
0
0
0
0
0
0
0
8
1
-1
2
-4
-12
1
0
-28
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-18
-16
59
-24
-2
22
-20
-22
8
0
0
0
0
0
-4
2
0
0
0
7
-2
-15
-2
0
0
0
0
0
0
0
0
0
34
-7
3
0
-7
4
-12
0
-71
0
0
0
0
0
0
0
0
-1
0
-6
4
-23
-2
0
0
0
0
0
0
0
0
0
0
2
-10
0
0
-1
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
8
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
20
21
12
4
0
32
-36
-30
52
25
-5
0
14
1
-45
-19
13
26
-4
-35
0
50
-16
-12
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
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
-30
0
0
0
9
0
0
0
0
0
1
0
1
1
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
-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
11
0
18
0
-1
0
0
0
0
4
5
0
0
3
0
-2
-6
-2
7
0
0
0
0
0
0
0
-1
0
0
-4
18
0
-13
-15
0
0
1
0
-1
0
0
-2
1
0
-6
0
0
-7
10
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
3
0
-10
-12
0
-2
0
0
0
0
0
1
1
0
-2
21
0
3
-1
0
-3
1
0
0
0
0
0
0
-3
0
-15
-6
-57
-13
10
-12
-25
42
-12
0
0
0
0
-3
-11
-9
0
17
0
1
14
22
22
-2
0
0
0
0
0
0
0
0
0
8
2
0
26
-7
-10
-4
-15
0
-1
0
0
0
6
-1
1
-1
0
-12
-14
37
8
-1
0
0
0
0
0
0
0
0
-21
25
10
0
5
15
-4
10
33
0
1
0
0
2
-6
-4
0
-9
0
-3
-21
-7
0
-3
0
0
0
0
0
0
0
0
0
0
-8
0
-6
0
-7
0
21
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
2
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
23
0
2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
0
2
0
12
13
0
0
-17
47
-3
0
51
0
0
0
0
0
-4
-3
-1
-16
0
12
7
0
-7
0
0
0
0
0
0
0
0
0
1
0
38
-3
10
0
0
0
60
0
0
0
0
0
1
0
-1
-4
0
-1
-4
17
-7
-2
0
0
0
0
0
0
0
0
4
-21
21
3
-19
1
13
0
48
0
0
0
0
0
0
2
0
2
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
-6
0
30
0
-13
0
-1
1
38
0
0
0
0
0
-1
0
0
0
0
2
-18
0
-7
0
0
0
0
0
0
0
0
0
0
-1
1
-1
9
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
20
33
-19
-4
13
16
-13
1
50
92
16
0
-10
0
0
-2
10
-12
26
-30
0
-25
-4
7
47
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
20
0
0
0
4
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
-1
0
-4
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-12
0
4
0
0
0
0
0
-5
-4
0
14
0
17
-14
-34
2
9
0
0
0
0
0
0
-3
1
0
-1
26
-1
-36
1
1
0
15
0
0
0
0
0
2
-2
16
25
0
24
-13
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-9
14
3
-3
-6
-9
0
0
0
0
0
1
-4
4
-18
0
13
15
-11
0
0
0
0
0
0
0
0
41
-2
-6
22
23
11
-37
-32
-14
-12
-59
0
0
0
0
0
8
9
9
-1
0
11
-25
-20
10
11
0
0
0
0
0
0
-1
0
0
25
59
4
-16
19
-10
0
31
0
0
0
0
0
-21
3
-11
-25
0
-25
13
-50
-23
0
0
0
0
0
0
0
-2
0
-30
3
19
3
42
-7
19
7
-46
0
0
0
0
0
1
0
0
8
0
-1
17
5
-7
3
0
0
0
0
0
0
0
0
0
0
-3
0
-12
0
-4
0
20
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
-1
0
1
0
10
0
0
0
4
0
11
0
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
-21
0
0
0
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
-32
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
33
0
0
0
0
0
0
0
0
1
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
1
0
0
0
0
0
0
0
0
11
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
12
3
-18
9
0
9
27
-11
-5
11
5
-30
-7
-33
0
0
0
0
0
3
-32
-10
9
0
-6
-23
7
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
-3
0
0
0
0
0
-1
0
0
-3
0
-4
-3
4
11
0
0
0
0
0
0
0
2
0
0
0
28
0
-13
-1
0
0
-3
0
0
0
0
0
0
-2
-15
7
0
-10
-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
12
0
0
0
0
0
-7
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
-1
-5
-16
-6
-11
-17
-2
25
56
0
0
0
0
0
1
0
1
-13
0
0
-8
-2
3
0
0
0
0
0
0
0
0
0
0
-15
-11
-1
11
-1
-1
1
-6
0
0
0
0
0
0
0
0
4
0
-8
1
18
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
-16
0
0
4
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
-3
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
13
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
38
3
-2
-31
-39
14
25
-25
7
-6
19
2
-16
-66
0
0
0
0
0
19
-22
-25
0
0
-3
-5
-21
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
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
7
-12
7
0
0
0
-38
17
0
1
0
0
0
-1
-11
0
14
-7
0
0
23
0
0
0
0
0
-1
1
24
-44
0
19
-10
-11
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-1
0
0
-9
0
0
0
0
0
0
0
0
0
0
-1
4
11
0
0
0
0
1
0
0
-1
0
0
0
2
3
0
0
0
0
0
20
0
0
0
0
0
0
0
1
-4
0
0
-2
3
0
0
0
0
1
-2
0
0
0
0
0
-4
0
0
1
0
0
0
-20
0
0
0
0
0
0
0
-1
30
0
-1
-9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-21
-22
-6
11
33
-1
4
12
12
-9
6
7
2
1
17
6
-1
-5
-8
-2
-6
-3
-7
-1
0
4
-1
0
-3
13
23
3
-3
3
14
-1
-3
-15
-17
4
5
6
4
14
39
5
-25
-13
-29
0
-21
-12
3
0
12
-3
-4
-16
-5
-4
-2
0
-9
4
-17
-15
-3
-7
0
-1
-1
1
3
11
-12
1
3
10
11
10
0
2
2
4
11
12
1
5
13
-21
2
-15
9
13
5
-1
4
4
3
4
0
3
1
0
3
-10
-5
0
-3
5
8
-1
1
6
3
4
0
3
-8
-5
7
1
2
3
8
-1
-1
4
3
14
12
8
14
20
16
-2
0
-4
8
4
-18
-17
-19
2
12
-9
0
-6
-4
5
-9
-2
-8
-3
-6
-3
0
0
-4
-3
7
1
-2
10
-9
8
3
5
7
-1
7
3
2
4
3
16
7
15
0
-14
2
-12
9
12
15
-3
4
8
5
3
1
-2
0
5
15
-7
-1
-3
-1
3
8
3
0
-6
-8
-4
1
7
0
2
8
3
0
3
16
7
-2
3
1
11
9
8
16
14
9
0
2
1
0
-10
-17
-16
-21
7
5
-11
-1
-1
3
8
1
-1
-9
-8
-17
2
0
1
7
3
6
3
3
6
2
4
5
2
13
4
3
3
2
9
1
10
10
10
-3
-18
-3
0
-7
20
-2
-8
3
-2
-17
8
17
-8
1
19
5
8
-13
0
1
26
-3
-3
8
-1
-13
-16
1
-5
-1
9
-2
0
1
-11
-1
5
-5
17
17
17
6
1
-4
5
-4
-25
1
-28
1
36
-26
20
6
-10
26
-27
-18
13
29
0
19
15
2
-12
-3
10
-8
3
17
16
-7
-7
1
0
-1
12
8
4
2
8
-7
-5
-2
14
1
12
24
-1
-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
13
-3
0
-6
-1
0
5
0
-44
-4
-3
-5
12
9
0
16
-17
-5
2
9
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
-25
0
0
0
1
0
7
0
0
11
3
8
14
51
76
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-1
0
0
0
4
0
0
5
-17
0
2
2
0
0
0
-11
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
4
2
0
0
8
-3
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
-20
2
-25
1
-43
7
7
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
17
0
-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
4
0
0
0
0
0
0
0
0
11
51
-38
22
56
0
0
0
14
1
-12
-17
23
-6
0
2
-1
16
10
2
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
1
0
-1
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
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
4
0
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
0
0
0
0
0
3
0
2
0
0
0
0
0
0
-12
-11
3
0
-87
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
25
-2
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
-5
0
0
0
0
0
0
0
0
26
-3
9
35
36
0
3
0
0
0
0
0
63
-11
0
-1
7
20
4
19
-15
-9
0
-14
0
0
0
0
0
0
0
0
-78
1
36
-10
-8
0
-2
0
-1
0
0
0
-50
-4
0
5
-10
46
3
14
-9
16
0
-7
0
0
0
0
0
0
0
0
1
0
0
11
1
0
-6
0
0
0
0
0
-9
-6
0
2
-36
-43
-11
4
3
-6
0
14
0
0
0
0
0
0
0
0
-33
-2
0
7
-30
0
0
0
0
0
0
0
2
43
0
-1
5
-25
-50
12
-3
3
0
3
0
0
0
0
0
0
0
0
30
27
0
7
1
0
1
0
0
0
0
0
-22
-3
0
6
-4
-2
46
4
2
-13
0
-11
0
0
0
0
0
0
0
0
76
-2
0
35
0
0
-2
0
0
0
0
0
0
0
0
-2
-30
-34
4
-1
-28
-18
0
19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-6
-11
24
-40
-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
7
0
-5
-1
0
0
2
2
0
8
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
1
0
0
0
0
0
14
0
0
0
0
0
-8
0
0
66
-35
69
-37
13
-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
-2
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
-11
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
-10
9
12
-24
37
0
-1
0
9
-1
10
28
49
41
0
0
-22
-5
-2
-1
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
2
0
0
0
0
0
-18
0
3
0
0
0
0
0
0
2
9
-1
1
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
8
0
1
0
0
0
-23
0
0
0
0
0
0
0
0
5
42
21
26
8
-3
6
0
27
0
0
0
0
0
0
0
0
-8
0
0
-2
0
0
-30
0
-1
0
0
0
-1
0
0
1
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
0
0
1
0
0
0
0
0
0
0
0
30
0
0
-4
-3
0
1
0
0
0
0
0
-16
0
0
5
-33
10
10
2
11
8
0
-4
0
0
0
0
0
0
0
0
-7
1
0
38
-34
0
-1
0
0
0
0
0
-3
-4
0
-1
0
10
1
1
3
-18
0
5
0
0
0
0
0
0
0
0
-3
0
0
-12
0
0
-3
0
0
0
0
0
0
0
0
62
27
-5
14
-17
-16
42
0
-5
0
0
0
0
0
0
0
0
0
0
0
-15
19
0
5
0
0
0
0
0
-1
0
0
-16
-21
-17
19
10
-3
-51
0
3
0
0
0
0
0
0
0
0
-12
2
1
50
-2
0
1
0
0
0
0
0
-20
-1
0
1
-21
-43
9
-25
-6
-27
0
0
0
0
0
0
0
0
0
0
-3
0
0
4
0
0
-3
0
0
0
0
0
0
0
0
-16
-11
-20
8
3
1
-25
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
-23
15
-1
-1
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
40
-9
2
0
0
0
-21
49
-4
1
0
0
-8
5
0
12
-6
5
1
23
1
0
6
-35
-52
5
-20
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
-1
0
0
0
7
-3
0
1
0
0
0
5
0
1
0
0
0
0
-6
0
14
-43
12
17
13
-32
5
0
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
23
8
-19
-64
-11
3
-1
0
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
-24
16
132
39
20
-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
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
16
-1
-1
-6
0
0
2
0
0
-1
-57
32
6
0
0
0
-22
-4
9
-3
0
0
-35
0
0
-12
2
7
-7
-8
6
0
-5
-10
0
0
2
-4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
4
10
0
2
-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
1
0
0
1
0
0
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
1
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
-2
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
1
8
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
32
36
-13
-7
14
0
41
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
0
0
0
0
0
0
-32
11
-18
-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
-29
47
-16
4
0
0
0
-3
12
0
0
0
0
-7
5
0
0
0
0
0
0
0
0
-47
-59
0
0
7
-28
18
0
8
-39
-2
-3
-56
0
0
0
-1
1
3
1
0
0
-35
0
0
0
0
0
0
1
14
0
-8
-32
6
3
0
7
17
0
11
3
0
0
1
0
0
0
4
2
0
0
0
0
0
6
0
0
0
0
0
0
0
0
16
-23
29
-14
-2
13
-37
0
1
-11
-11
-16
0
0
0
0
40
8
0
0
0
0
25
-3
0
0
0
0
0
2
0
0
25
-23
0
-29
4
-42
2
0
0
39
-13
3
0
0
0
0
0
-1
0
0
0
0
-18
-3
0
0
0
0
0
-9
-16
0
-11
-50
2
-1
12
-40
-3
0
0
-6
-6
-6
0
0
0
0
0
15
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
-53
-22
-2
-15
-12
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-25
29
-26
5
-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
0
0
0
0
1
-59
30
-40
-3
0
-7
0
9
5
-5
19
-11
28
0
10
17
7
1
5
-9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
36
7
21
-29
-16
0
2
0
4
0
2
-3
4
0
0
16
-8
-41
-56
7
38
24
0
66
0
0
0
0
0
0
0
0
12
0
-1
0
0
0
27
0
-4
0
0
0
2
0
0
66
-16
-3
-13
23
-1
2
0
20
0
0
0
0
0
0
0
0
-13
0
-1
0
0
0
-26
0
0
0
0
0
0
0
0
37
3
-3
11
-3
9
1
0
4
0
0
0
0
0
0
0
0
-8
0
-6
-1
0
0
-2
0
0
0
0
0
-15
0
0
16
26
-36
1
38
-32
-7
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
31
-13
-10
38
-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
-11
0
0
0
0
0
0
0
0
10
9
-10
-10
42
0
0
0
-39
-20
4
3
-32
3
0
0
9
0
-9
7
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
26
0
0
-3
0
0
-48
0
3
-1
-6
-3
6
0
0
3
25
0
0
-7
0
0
0
0
0
0
0
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
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-33
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
22
4
-1
0
0
0
4
0
1
0
0
0
0
0
0
2
9
-10
15
-41
0
2
0
-14
0
0
0
0
0
0
0
0
13
0
-2
0
0
0
9
0
0
0
0
0
0
0
0
-7
-23
2
-14
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
53
-42
-10
2
8
0
-4
0
1
0
0
1
-6
-10
0
-9
41
-5
7
10
3
21
0
-9
0
0
0
0
0
0
0
0
-16
51
-16
-15
52
0
-1
0
-4
0
1
0
0
-62
0
27
4
22
9
10
-11
49
0
33
0
0
0
0
0
0
0
0
1
4
5
18
-20
0
1
0
0
0
0
0
62
-22
0
0
-17
3
5
47
22
31
0
-11
0
0
0
0
0
0
0
0
-62
-7
26
-45
3
0
0
0
0
0
0
0
31
29
0
25
12
-5
-6
-2
-13
-2
0
9
0
0
0
0
0
0
0
0
2
46
-9
33
9
0
-1
0
0
0
0
0
-26
11
0
15
26
14
20
5
-23
28
0
44
0
0
0
0
0
0
0
0
2
-4
4
21
0
0
-6
0
0
0
0
0
12
0
0
15
32
65
30
16
-29
22
0
-27
0
0
0
0
0
0
0
0
2
0
0
-49
0
0
15
0
0
0
0
0
0
0
0
19
27
7
29
-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
-21
4
0
-26
0
0
-10
0
22
-4
2
-4
8
-5
0
44
-2
1
0
27
-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
33
7
-3
-26
12
0
-13
0
0
0
0
0
-8
-8
0
9
-11
10
5
1
-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
-52
0
0
0
0
0
0
0
0
3
0
4
0
0
0
45
0
0
0
0
0
0
0
0
-19
17
-12
-38
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
-7
0
0
0
0
0
0
0
0
-17
15
16
-24
21
0
-2
0
16
12
13
14
-9
10
0
-11
-7
2
-7
0
-30
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
2
0
5
0
0
0
-2
0
0
20
12
0
39
-35
9
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
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
0
0
36
0
-2
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-2
0
0
19
0
0
0
0
0
0
0
0
-11
6
11
0
-6
-2
0
0
20
0
0
0
0
0
0
0
0
51
0
-1
-10
0
0
0
0
0
0
0
0
0
0
0
16
6
48
3
9
-6
-39
0
-17
0
0
0
0
0
0
0
0
-21
0
0
-9
0
0
-35
0
-2
0
2
0
-3
0
0
26
-14
2
25
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
5
0
0
0
0
0
0
0
0
36
0
2
-15
-10
0
10
0
0
0
0
0
-21
0
0
5
-13
1
8
19
20
38
0
8
0
0
0
0
0
0
0
0
11
-6
4
-10
-50
0
0
0
0
0
0
0
52
4
0
15
0
-1
2
15
5
-8
0
-3
0
0
0
0
0
0
0
0
33
0
0
-2
-38
0
3
0
0
0
0
0
4
0
0
13
-4
13
11
13
36
35
0
13
0
0
0
0
0
0
0
0
23
-1
0
-46
4
0
10
0
0
0
0
0
-11
0
0
-1
0
-6
17
-9
27
-26
0
3
0
0
0
0
0
0
0
0
23
6
4
53
35
0
6
0
0
0
0
0
109
55
0
19
17
-19
5
10
7
-6
0
5
0
0
0
0
0
0
0
0
17
0
1
39
-2
0
-8
0
0
0
0
0
0
0
0
32
0
-14
0
-15
26
-1
0
-2
0
0
0
0
0
0
0
0
-2
0
0
6
0
0
-9
0
0
0
0
0
0
0
0
-4
18
-14
-16
-27
-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
-1
-32
9
-30
18
0
0
0
-28
18
40
4
0
0
-3
3
0
15
-4
17
54
4
-20
0
-1
-14
2
8
18
5
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
3
6
0
0
0
-11
26
3
-12
0
0
-22
0
0
1
0
0
0
24
-11
0
-22
-23
-12
19
-26
-4
-30
0
-21
-4
0
0
0
0
0
0
4
18
-1
2
0
0
-1
-16
0
-2
0
0
0
0
4
0
-19
20
-22
-71
7
9
15
0
-22
-4
-3
3
-6
0
0
0
7
61
0
-2
0
0
30
-2
0
-2
0
0
0
8
0
0
-16
13
19
26
8
-144
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
6
-16
0
3
0
0
0
-5
0
7
0
0
0
0
0
0
-4
5
2
21
-72
-10
3
0
-1
4
26
24
-6
0
0
0
6
6
17
-6
0
0
-15
0
0
11
11
3
6
-26
-58
0
-3
-1
-1
-2
-2
5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
7
-24
1
-2
0
0
-2
13
0
1
0
1
0
1
-1
0
14
-27
-1
-4
15
0
8
0
13
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
7
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
12
1
-2
-7
0
0
0
21
0
0
0
0
0
0
0
-9
-2
0
1
0
0
0
-30
0
0
0
0
0
0
0
0
-1
-27
3
0
0
1
0
0
-10
-9
0
0
0
0
0
0
-3
3
0
11
0
0
0
10
0
-10
0
0
0
0
0
0
50
5
-9
3
38
0
23
0
-12
2
0
0
0
0
0
0
-2
10
0
1
0
0
0
-19
0
-3
0
0
0
0
0
0
-9
42
6
-13
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
2
14
15
-18
-13
0
0
0
-2
5
0
7
0
0
-23
-7
0
0
0
0
0
-1
-17
0
5
6
6
-3
9
27
4
0
10
-41
-12
-26
-24
0
0
0
-14
-11
-15
-27
0
0
-20
0
0
0
0
0
0
-4
28
0
2
7
5
8
3
-21
8
0
11
-31
-29
-10
-1
0
0
0
-80
9
0
0
0
0
1
12
0
0
0
0
0
9
0
0
12
5
-2
14
-12
29
-11
0
21
-15
-13
-51
-7
0
0
0
-33
45
2
0
0
0
-3
-1
0
0
0
0
0
14
39
0
-20
-36
2
1
-26
-18
12
0
-6
-12
-37
-18
-56
0
0
0
16
-16
0
1
0
0
-43
0
0
0
0
0
0
-27
5
0
-10
14
8
3
-14
23
-2
0
-4
-19
-3
-14
0
0
0
0
-4
105
0
3
0
0
0
-7
0
0
0
0
0
0
2
0
-3
-2
1
47
-7
2
-22
0
-8
-1
0
2
0
0
0
0
-7
-12
0
-1
0
0
0
-33
0
0
0
0
0
0
0
0
-34
16
-26
3
14
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-47
15
-23
-11
0
3
0
24
3
14
20
-32
11
0
5
17
31
6
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
20
5
3
-45
-19
0
1
0
8
0
2
-3
-18
1
0
-17
21
-20
-29
14
28
23
0
47
0
0
0
0
0
0
0
0
17
0
-1
0
0
0
-5
0
-4
0
0
0
3
0
0
79
-1
-3
-9
39
-1
2
0
60
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-37
0
0
0
0
0
1
0
0
31
-16
-3
9
7
11
1
0
12
0
0
0
0
0
0
0
0
-17
0
-10
-1
0
0
-7
0
0
0
0
0
-25
0
0
-6
41
-3
-21
43
-9
-3
0
-6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
51
-1
-5
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
-8
0
0
0
0
0
0
0
0
23
16
-7
3
-2
0
-1
0
-41
-32
-9
-20
-17
38
0
-1
6
6
2
-1
-17
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
-3
0
0
-35
0
2
-1
-3
-2
6
0
0
3
27
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
14
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-39
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
27
4
-1
0
0
0
-4
0
2
0
0
0
0
0
0
10
12
-11
10
-22
0
2
0
-21
0
0
0
0
0
0
0
0
12
0
-2
0
0
0
-14
0
0
0
0
0
0
0
0
-21
-30
0
-12
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
-19
0
0
0
0
0
0
0
0
43
-52
-10
1
17
0
-7
0
1
0
0
1
3
-10
0
-7
53
-24
-2
11
5
-6
0
6
0
0
0
0
0
0
0
0
6
51
-9
-1
55
0
6
0
-3
0
1
0
1
-76
0
32
3
29
6
12
14
24
0
39
0
0
0
0
0
0
0
0
-13
4
6
-3
-65
0
3
0
0
0
0
0
56
-20
0
20
-4
6
5
53
11
35
0
-15
0
0
0
0
0
0
0
0
-22
-7
24
-59
-25
0
-6
0
0
0
0
0
26
14
0
14
6
-12
6
-9
-10
7
0
-2
0
0
0
0
0
0
0
0
8
29
-8
27
7
0
-8
0
1
0
0
0
-14
8
0
2
35
-11
4
40
-7
6
0
15
0
0
0
0
0
0
0
0
-24
-4
4
-3
0
0
6
0
0
0
0
0
8
0
0
46
3
16
6
48
-22
54
0
-11
0
0
0
0
0
0
0
0
2
0
0
-51
0
0
-7
0
0
0
0
0
0
0
0
-8
49
-32
38
-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
-20
4
0
-36
0
0
-6
0
24
-6
2
18
-5
-2
0
30
1
1
0
33
-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
30
7
-3
-25
12
0
-14
0
0
0
0
0
-7
-8
0
-9
4
17
11
15
-80
2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
4
0
0
0
10
0
0
0
0
0
0
0
0
-25
25
-9
-32
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
-3
0
0
0
0
0
0
0
0
-3
-18
-5
-13
12
0
1
0
3
14
9
-16
3
-23
0
-6
-2
10
-10
2
-36
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
3
-2
0
13
0
3
0
0
0
-2
0
0
44
15
0
14
-24
12
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
15
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
-3
0
0
2
0
0
28
0
-2
0
0
0
0
0
0
2
3
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
-8
22
11
0
-6
-2
0
0
12
0
0
0
0
0
0
0
0
48
0
-5
-9
0
0
22
0
0
0
0
0
0
0
0
31
5
33
-4
6
-7
-29
0
-26
0
0
0
0
0
0
0
0
-20
0
0
-9
0
0
-52
0
-1
0
2
0
-3
0
0
24
-6
2
37
90
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
17
0
2
-9
-28
0
-4
0
0
0
0
0
-13
0
0
-22
-2
-3
5
3
25
-11
0
13
0
0
0
0
0
0
0
0
18
-2
5
-11
-55
0
-1
0
0
0
0
0
71
6
0
13
0
0
-1
19
0
9
0
-1
0
0
0
0
0
0
0
0
38
0
0
10
-42
0
-4
0
0
0
0
0
4
0
0
16
14
18
21
9
42
34
0
7
0
0
0
0
0
0
0
0
20
-1
0
-13
-16
0
10
0
0
0
0
0
-7
0
0
16
1
0
2
16
10
5
0
-6
0
0
0
0
0
0
0
0
37
6
-2
2
55
0
2
0
0
0
0
0
75
50
0
30
8
-1
2
5
22
5
0
-3
0
0
0
0
0
0
0
0
17
0
2
37
-2
0
0
0
0
0
0
0
0
0
0
50
10
-8
14
10
22
-32
0
7
0
0
0
0
0
0
0
0
-3
0
0
6
0
0
-12
0
0
0
0
0
0
0
0
-13
5
-18
-31
-14
-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
1
-45
-6
-53
2
0
0
0
-6
27
47
1
0
0
-13
0
0
16
18
-21
36
-34
7
0
6
9
39
2
3
7
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
-3
14
0
0
0
2
34
0
0
0
0
-24
-7
0
1
0
0
0
27
-7
0
-15
-14
-10
4
-2
-41
-51
0
-43
-4
0
0
0
0
0
0
8
23
-1
6
0
0
-1
1
0
3
0
0
0
0
4
0
-39
-11
-14
9
-46
7
14
0
32
-6
-3
3
-6
0
0
0
6
28
0
0
0
0
37
1
0
-2
0
0
0
11
0
0
-19
-4
42
-11
-5
-125
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
3
0
0
0
-8
0
7
0
0
0
0
0
0
-19
8
5
32
-76
-10
3
0
-1
6
25
27
4
0
0
0
14
9
39
16
0
0
7
0
0
0
8
14
-13
-12
-61
0
7
0
2
5
6
8
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
2
2
0
0
-2
11
0
1
0
1
0
1
-2
0
7
-9
-2
-7
0
0
8
0
21
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
5
0
0
2
0
0
0
12
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
15
1
-2
-7
0
0
0
15
0
0
0
0
0
0
0
-9
-6
0
1
0
0
0
27
0
0
0
0
0
0
0
0
-1
-18
3
0
0
1
0
0
-38
-9
0
0
0
0
0
0
-3
-2
0
12
0
0
0
-11
0
-10
0
0
0
0
0
0
48
-2
-5
19
42
0
4
0
-14
2
0
0
0
0
0
0
-2
12
0
1
0
0
0
11
0
-2
0
0
0
0
0
0
-7
63
5
-34
61
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
13
-14
-9
0
0
0
16
6
1
7
0
0
-17
-10
0
0
0
0
0
-1
-9
0
26
0
6
6
5
13
-10
0
12
-18
-37
2
-5
0
0
0
-6
-26
-19
-29
0
0
1
-5
0
0
0
0
0
13
-14
0
-4
4
-2
8
0
-10
1
0
10
-31
-29
-2
-2
0
0
0
-87
9
0
0
0
0
2
7
0
0
0
0
0
9
0
0
12
28
-12
-4
21
26
-30
0
5
26
-17
-65
-14
0
0
0
-54
49
2
0
0
0
-18
-7
0
0
0
0
0
8
28
0
-20
-10
2
29
-1
-34
27
0
-4
-13
-63
-31
-53
0
0
0
-1
-3
0
2
0
0
-41
2
0
0
0
0
0
-30
11
0
-5
-12
5
-21
15
45
-9
0
-3
-23
-3
-10
0
0
0
0
-7
101
0
3
0
0
0
0
0
0
0
0
0
0
2
0
-6
6
9
59
5
2
-22
0
-1
-1
2
1
0
0
0
0
-10
-12
0
-1
0
0
0
-24
0
0
0
0
0
0
0
0
-17
14
-32
1
14
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
-34
23
1
-1
12
0
2
0
22
2
3
3
-14
-15
0
6
-10
-55
29
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-43
-2
1
-12
-6
0
-3
0
7
0
1
0
-19
0
0
39
-17
11
24
0
13
2
0
-22
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
6
-13
0
-13
-6
1
0
0
11
0
0
0
0
0
0
0
0
14
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
-40
-1
-2
-6
0
0
0
11
0
0
0
0
0
0
0
0
7
0
7
0
0
0
-46
0
0
0
0
0
-2
0
0
-36
-16
9
18
-26
7
-6
0
-4
0
0
0
0
0
0
0
0
11
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
11
-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
-28
0
0
0
0
0
0
0
0
-9
9
-20
1
16
0
13
0
-2
1
25
6
46
44
0
0
-17
-27
-24
23
30
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
-1
-1
0
0
22
0
0
0
0
-1
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
9
-1
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
-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
39
0
0
0
0
0
0
0
0
49
-2
-2
-13
-10
0
13
0
0
0
0
0
1
0
0
7
-8
16
-17
-34
-27
-16
0
28
0
0
0
0
0
0
0
0
8
-13
18
-1
29
0
18
0
0
0
0
0
-12
0
0
44
-9
45
23
10
6
-12
0
16
0
0
0
0
0
0
0
0
14
0
0
5
-8
0
10
0
0
0
0
0
-7
0
0
35
-7
-24
-13
10
12
-7
0
-37
0
0
0
0
0
0
0
0
11
0
0
3
-34
0
-6
0
0
0
0
0
0
-1
0
25
60
12
25
-24
-32
-4
0
6
0
0
0
0
0
0
0
0
22
15
-2
11
4
0
3
0
0
0
0
0
13
0
0
47
-6
-69
38
6
-17
-7
0
-2
0
0
0
0
0
0
0
0
-2
0
1
-2
0
0
-48
0
0
0
0
0
0
0
0
55
-23
-10
-7
35
0
1
0
50
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-24
0
0
0
0
0
0
0
0
-8
-11
-7
-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
-3
0
0
-3
0
0
13
0
-1
0
1
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
23
1
-6
4
3
0
0
0
0
0
0
0
1
0
0
7
-25
15
5
43
-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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-17
19
1
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-41
-1
-12
41
8
0
1
0
10
6
0
2
-11
1
0
1
11
1
-2
8
-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
-6
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
10
17
0
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
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
9
0
0
-1
0
0
0
17
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
-5
0
0
0
0
0
0
0
0
36
-12
16
7
12
0
0
0
14
0
0
0
0
0
0
0
0
12
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
-19
-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
29
0
0
0
0
0
0
0
0
0
0
0
-19
-9
0
21
0
0
0
0
0
1
0
0
1
24
12
-14
22
8
0
0
-13
0
0
0
0
0
0
0
0
8
-1
-8
-38
22
0
-4
0
0
0
0
0
-5
1
0
3
0
-9
-18
14
1
9
0
-2
0
0
0
0
0
0
0
0
2
0
0
19
1
0
-11
0
0
0
0
0
0
0
0
17
17
1
-4
-11
6
-1
0
9
0
0
0
0
0
0
0
0
11
-1
0
-7
-8
0
6
0
0
0
0
0
1
0
0
-23
-23
-45
4
42
-19
8
0
-25
0
0
0
0
0
0
0
0
33
0
-4
-40
3
0
22
0
0
0
0
0
0
0
0
-16
-32
20
51
-40
8
-2
0
-3
0
0
0
0
0
0
0
0
0
0
1
12
0
0
-36
0
0
0
0
0
0
0
0
10
27
-6
-20
32
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
35
8
0
-10
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
5
-24
-10
-28
-28
0
0
0
-11
24
11
-15
0
0
14
15
0
23
1
-3
0
16
1
0
-39
19
16
-4
22
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
-2
0
27
-12
20
0
0
0
2
5
6
7
0
0
-3
-8
0
-1
0
0
0
0
0
0
-7
3
15
-47
16
-8
18
0
-14
-2
0
0
0
0
0
0
9
5
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-13
-8
-19
52
-23
0
-4
0
2
-7
0
1
0
0
0
0
3
-29
0
2
0
0
0
-11
0
0
0
0
0
0
0
0
-6
-1
48
-26
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
13
0
0
0
0
0
0
0
0
2
0
2
0
0
0
-4
0
0
0
0
0
0
0
0
-21
-2
-4
12
-7
-1
0
0
-6
-7
-17
-31
4
0
0
0
-6
-42
16
6
0
0
-14
13
0
11
0
-2
-1
-33
0
0
42
-15
-7
38
30
3
-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
0
0
0
0
1
-5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
-1
-8
0
0
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
46
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-9
-1
0
1
0
0
0
25
0
0
0
0
0
0
0
0
-2
-10
12
1
-8
0
0
0
-27
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
41
0
0
0
0
0
0
0
0
2
6
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
6
-35
0
-3
0
0
0
0
10
13
0
-1
0
0
12
-3
0
0
0
0
0
0
0
0
25
-35
-16
-4
-6
3
11
0
16
0
-39
76
19
0
0
0
11
6
-13
-24
0
0
-2
-11
0
0
0
0
0
18
2
0
12
-3
0
-20
-16
8
23
0
10
12
0
0
-2
0
0
0
-12
-2
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
-37
24
8
26
6
-4
0
4
28
9
-11
0
0
0
0
1
0
0
0
0
0
-25
13
0
0
0
0
0
0
0
0
16
8
-5
38
-2
2
5
0
9
14
-4
7
-4
0
0
0
1
43
0
-1
0
0
-1
11
0
0
0
0
0
0
0
0
38
-13
12
-34
-3
7
1
0
16
0
0
0
0
0
0
0
-7
0
0
2
0
0
0
19
0
0
0
0
0
0
0
0
-8
2
6
0
4
0
-8
0
-34
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
12
21
23
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
-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
23
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-15
11
2
-20
8
0
11
0
-1
0
3
0
-1
-8
0
-67
61
2
-23
-31
-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
2
0
0
0
0
0
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
1
14
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
-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
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
27
0
0
2
-1
0
6
0
0
0
0
0
0
0
0
42
0
15
-65
-19
-3
0
0
5
0
0
0
0
0
0
0
0
-2
0
0
-8
0
0
-27
0
0
0
0
0
0
0
0
12
-2
-15
-13
0
1
30
0
-58
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-36
0
0
0
0
0
0
0
0
0
0
-28
13
0
-2
0
0
-62
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-8
-1
3
2
2
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
-1
-4
1
0
0
0
0
-16
0
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
3
8
40
-9
2
0
0
0
-15
49
0
4
0
0
-8
6
0
26
-6
-1
6
5
2
0
6
-29
-52
5
-15
-13
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-7
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
14
2
2
-6
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
-3
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
34
2
40
-1
0
-2
0
2
-7
0
0
-14
39
0
-30
-12
-2
-17
-21
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
4
0
0
0
0
23
0
0
0
0
0
0
0
0
0
-73
0
0
-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
-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
-5
-14
1
-36
38
0
0
0
0
0
0
0
-10
1
0
-35
-17
-3
54
40
-19
20
0
0
0
0
0
0
0
0
0
0
-37
-24
-10
0
0
0
-60
0
0
0
0
0
0
0
0
8
-10
-8
-20
-21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-22
0
0
0
0
0
0
0
0
0
-4
-22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
10
0
0
0
0
0
0
0
0
-3
0
-8
-1
-11
-9
-1
0
0
0
0
0
0
0
0
0
0
6
33
1
-30
-3
0
2
0
0
0
0
0
3
-1
0
-25
-1
7
-49
-30
-47
-25
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
10
-22
19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-44
-2
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-2
-2
0
-48
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
9
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
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
-2
0
0
0
0
0
0
0
0
-30
1
2
3
18
0
15
0
0
0
0
1
-5
-1
0
7
-48
-60
-1
-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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
2
22
0
6
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
2
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
10
0
0
-1
0
0
28
0
0
0
0
0
0
0
0
47
-9
3
-7
19
8
25
0
-26
0
0
0
0
0
0
0
0
-53
0
0
34
-53
0
-6
0
0
0
0
0
25
0
0
-44
0
-38
1
-14
-1
-13
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
6
28
0
37
-3
0
1
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
26
-2
6
-8
42
12
2
0
10
0
0
0
0
0
0
0
0
3
2
0
4
1
0
7
0
0
0
0
0
-19
0
0
21
-18
-20
1
-58
-15
-52
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-11
3
0
-6
-9
0
-6
0
41
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
32
0
-1
-1
2
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-42
-50
-1
-22
-15
-32
41
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
15
10
-19
-32
-15
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
-14
27
137
0
-41
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-10
-30
-39
6
-16
0
0
0
-97
-34
4
3
0
0
-108
0
0
-46
0
1
0
-7
14
0
3
-22
0
-37
-22
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
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
12
0
0
0
0
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
-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
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
5
0
0
0
0
0
0
0
0
65
25
-10
1
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-2
0
0
0
0
0
0
-1
30
-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
2
-34
30
1
0
0
0
0
0
11
0
0
0
0
1
29
0
0
0
0
0
0
2
0
-30
9
4
-41
14
-4
-22
0
18
-25
50
5
1
0
0
0
1
3
2
0
0
0
-10
2
0
0
0
0
0
-23
33
0
20
-46
6
-22
11
1
27
0
19
1
0
0
0
0
0
0
2
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-26
-27
18
-41
-33
-10
-2
0
15
5
2
-12
0
0
0
0
3
0
0
0
0
0
20
1
0
0
0
0
0
1
0
0
12
-42
0
-46
-20
-45
-20
0
-10
17
5
-3
0
0
0
0
-6
8
0
0
0
0
0
6
0
0
0
0
0
0
0
0
12
-18
1
-4
-34
-2
26
0
-2
-1
-6
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-25
9
-1
2
-11
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-56
0
0
16
33
0
0
0
0
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
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
5
0
0
0
0
0
0
0
0
-10
4
0
14
6
8
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-27
-52
34
0
0
0
1
0
0
0
14
-25
0
40
-9
1
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
8
35
0
-6
-13
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
4
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
5
6
0
-32
-17
0
-1
0
0
0
0
0
55
6
0
-26
4
32
3
-10
-5
-20
0
0
0
0
0
0
0
0
0
0
12
0
-7
12
0
0
-3
0
0
0
0
0
0
0
0
22
9
36
-45
24
-52
25
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
-8
1
-3
-12
13
-17
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
12
-33
-1
-12
5
-25
11
0
0
0
0
0
0
0
0
0
0
-28
-1
0
-6
9
0
17
0
0
0
0
0
-24
0
0
13
2
29
0
4
2
13
0
0
0
0
0
0
0
0
0
0
44
0
0
-8
0
0
12
0
0
0
0
0
0
0
0
43
-30
-17
-19
9
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-18
61
13
-9
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-9
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
4
0
0
0
0
0
0
0
0
6
0
0
-29
-22
0
-1
0
-3
0
0
0
33
37
0
6
4
-44
1
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
13
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-14
0
0
0
0
0
0
0
0
-35
15
0
23
11
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
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
1
0
0
0
0
0
0
0
0
3
0
0
-4
8
0
-15
0
0
0
0
0
0
0
0
5
-4
12
39
-6
-11
-12
0
-39
0
0
0
0
0
0
0
0
-35
0
0
-12
4
0
-2
0
0
0
0
0
-1
4
0
-8
0
-26
-14
3
-48
19
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
31
2
0
-11
-21
0
-1
0
47
0
0
0
0
0
0
0
0
0
0
0
-24
10
0
6
0
0
0
0
0
-1
0
0
-7
-3
-19
-7
-2
15
-36
0
2
0
0
0
0
0
0
0
0
-1
0
0
38
6
0
2
0
0
0
0
0
0
-1
0
-25
10
-13
-12
27
-8
66
0
-33
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
-37
-4
0
29
2
0
33
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-12
0
0
0
-12
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
-1
0
0
0
0
0
6
0
0
0
0
0
18
0
0
0
0
0
0
0
0
14
-36
15
20
51
-2
-32
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
11
-2
0
-10
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
36
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-8
-3
0
0
2
0
0
0
0
34
4
14
21
0
0
0
19
-7
6
0
0
0
28
0
0
28
0
0
-3
3
30
0
8
-12
-4
-1
18
5
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
3
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
0
-3
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
-3
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
8
-16
8
-7
6
0
0
0
-6
-1
0
0
0
0
-4
12
0
0
0
0
0
0
-4
0
-8
-33
9
0
36
-14
6
0
-3
-58
-40
-8
-28
0
0
0
39
27
-1
0
0
0
8
-4
0
0
0
0
0
11
-32
0
7
9
-6
1
-30
20
-25
0
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
40
-13
6
-10
-13
27
-15
0
-3
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
30
-1
-2
54
-3
-1
1
0
1
24
-15
6
0
0
0
0
-10
4
0
0
0
0
-4
9
0
0
0
0
0
0
0
0
-21
-42
-6
-2
28
-23
-7
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
-32
-10
-1
9
2
0
45
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-21
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-27
0
11
28
2
-7
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
44
1
0
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-4
8
34
39
0
0
0
0
0
0
0
-11
18
0
3
-7
-14
5
0
-3
-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
1
0
0
0
0
0
0
0
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
27
-2
0
6
-3
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
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
63
0
0
22
2
0
0
0
0
0
0
0
-10
1
0
0
-26
14
35
1
-47
-8
0
0
0
0
0
0
0
0
0
0
23
0
3
-1
0
0
6
0
0
0
0
0
1
0
0
-12
-56
2
30
-20
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
0
-59
0
0
0
18
55
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
-22
9
-2
-3
-14
9
2
0
0
0
0
0
0
0
0
0
0
-32
0
-1
3
0
0
-19
0
0
0
0
0
10
-1
0
3
-6
1
9
-1
-60
-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
-32
14
-1
0
-30
-1
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-24
0
0
-21
-12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
20
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
30
0
0
18
16
0
-5
0
0
0
0
0
0
16
0
-4
-40
-7
18
-18
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
0
0
0
0
0
25
1
0
0
-4
-4
-1
0
-30
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
0
0
0
0
0
0
0
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
-1
-1
0
11
0
0
0
0
0
-3
0
0
6
-21
0
1
5
11
-10
0
19
0
0
0
0
0
0
0
0
1
0
0
-4
14
0
0
0
0
0
0
0
-2
0
0
0
0
-18
-24
-43
-10
4
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-17
3
0
0
7
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-36
3
0
0
-2
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
-1
-10
-20
-9
-7
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
28
-2
0
-1
10
0
-11
0
40
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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
36
0
0
0
0
0
0
0
0
-13
1
6
-20
-5
7
27
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
0
0
0
0
0
0
0
0
21
3
0
0
-16
0
1
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
-6
-1
0
0
60
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
7
0
0
-4
0
0
3
0
-3
-30
-10
11
-18
0
0
0
29
61
0
-2
0
0
7
0
0
0
0
0
0
10
-17
0
-27
-21
-24
-33
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
-1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
12
0
-1
-1
26
0
0
0
-2
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
1
0
0
1
0
0
0
0
0
-10
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
4
-35
-11
-16
-1
24
31
0
14
-2
-1
-1
-12
0
0
0
-29
-46
0
0
0
0
-25
4
0
0
0
0
0
-1
-10
0
-9
-23
-113
29
-3
-32
33
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
27
16
0
-6
42
0
0
0
-51
-8
0
0
0
0
0
0
15
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-29
20
-9
-42
20
2
27
0
-19
7
0
1
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
43
60
-5
11
7
0
-29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
31
-8
7
-15
-5
0
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
46
22
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
-11
0
0
0
0
0
0
0
0
-25
7
0
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-20
0
0
0
0
0
0
0
0
28
-2
0
0
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
49
0
8
0
0
0
0
0
25
-8
0
-4
4
-4
-12
0
27
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
-33
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
2
0
-17
0
0
0
0
0
0
0
0
0
10
19
30
-38
-2
28
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
34
0
0
0
0
0
0
0
0
3
-11
3
-1
22
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
31
4
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-20
-7
0
0
-20
2
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
19
0
0
0
0
0
0
0
0
-9
-16
-3
21
14
0
-39
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
-22
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
13
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
64
0
0
0
0
0
0
0
0
54
-30
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
2
0
0
5
0
0
0
0
0
-2
-1
0
-17
-26
-48
12
7
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
0
0
0
0
0
0
0
0
-3
-1
0
0
-2
0
0
0
11
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
-1
0
0
-5
0
0
0
0
0
0
0
0
41
9
1
27
-3
10
12
0
14
0
0
0
0
0
0
0
0
8
0
0
4
7
0
-1
0
0
0
0
0
-2
0
0
-13
0
-24
4
-90
22
-29
0
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-12
-3
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
18
-14
0
51
11
7
7
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
-6
-1
0
-1
41
0
-6
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
55
27
0
9
-4
0
1
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
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
34
0
0
0
0
0
0
0
0
13
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-2
0
9
0
0
0
13
-12
-1
0
0
0
22
15
0
0
0
0
0
0
-9
0
-32
-2
-41
-1
-69
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
36
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
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
-23
-8
-26
-19
-31
13
0
0
19
27
0
-1
0
0
0
0
-6
2
0
0
0
0
-7
25
0
0
0
0
0
0
0
0
-44
0
-16
-7
-51
-40
-17
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-11
0
0
0
2
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
-8
-3
0
-1
7
0
0
0
-2
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-43
4
25
-42
-3
-3
-28
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-7
0
0
-1
2
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-9
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
2
2
0
8
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
-1
-3
-1
0
0
0
0
28
0
8
-1
3
-1
-3
1
0
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-2
0
-1
-7
1
0
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
5
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
9
12
0
-3
0
-13
3
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-2
-1
2
3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
11
0
-6
2
3
-8
5
-1
0
9
-27
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
-1
1
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
6
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
-1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
3
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
2
-2
0
0
0
0
0
-3
0
0
0
0
-1
0
-12
22
3
-3
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-21
0
0
0
0
-1
0
0
0
-3
2
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
1
0
0
29
0
6
0
0
0
2
0
0
4
13
-3
1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-1
0
0
0
5
0
0
0
0
0
0
0
0
11
37
-6
3
8
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
20
-3
1
0
0
0
-1
0
0
0
0
0
2
1
0
-1
-14
4
1
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-8
0
-1
0
0
0
-23
0
0
0
0
0
6
1
0
-1
-20
-1
-7
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
7
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
61
0
0
0
0
0
0
0
0
-4
29
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
0
-3
-5
0
1
13
10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
8
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
17
0
3
13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
1
0
0
0
0
0
37
0
0
0
0
0
0
0
0
2
2
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
2
-10
-7
-3
0
0
0
8
0
0
0
0
0
0
-1
0
-5
28
11
-6
12
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
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
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
-21
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
8
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-4
0
0
0
-9
0
0
0
0
0
0
0
0
13
-11
28
-7
-29
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
2
5
0
-1
26
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
-1
0
0
-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
-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
1
0
0
0
0
0
0
0
0
-7
13
-16
7
0
0
14
0
0
0
0
0
15
11
0
1
-19
-14
13
14
-64
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
3
0
0
0
-52
0
0
0
0
0
0
0
0
-3
-15
0
0
-29
-2
0
0
-36
0
0
0
0
0
0
0
0
9
0
2
-7
0
0
-11
0
0
0
0
0
1
0
0
1
6
19
26
-2
-9
21
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
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
1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
16
0
0
-1
3
0
0
28
0
0
0
0
0
0
0
0
-22
0
0
-1
0
0
10
0
0
0
0
0
0
0
0
-17
-6
1
3
-5
-2
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
1
-15
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-20
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
-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
-13
0
1
-1
1
0
-6
0
0
0
0
0
0
1
0
-16
-5
5
19
31
13
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
3
0
3
-7
-1
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
1
0
0
17
0
0
0
0
0
0
0
0
24
0
5
-36
-51
6
-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
28
0
-1
0
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
9
-17
0
-28
-7
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
2
1
0
7
14
-27
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
6
12
0
-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
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
18
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-36
-33
1
18
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
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
-12
0
0
0
0
0
0
0
0
27
8
4
-3
20
10
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
-3
0
-17
-3
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
3
4
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
1
0
0
0
-18
-4
-19
-1
7
0
0
0
10
3
1
1
0
0
0
9
0
0
0
0
0
-9
-1
0
21
2
-41
4
36
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-2
-2
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-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
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
-21
7
4
35
-3
0
-3
0
39
-4
-2
-3
0
0
0
0
-2
-14
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
24
2
-27
-31
-1
-7
10
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
0
0
0
0
0
0
0
2
11
0
-9
-12
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
29
17
7
0
7
0
0
0
-17
-1
0
0
0
0
0
0
-1
1
0
0
0
0
0
35
0
0
0
0
0
0
0
0
-23
8
-3
9
10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
10
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
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
-7
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
27
-9
-20
51
8
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
20
19
0
7
15
12
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-25
0
0
1
-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
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
26
3
-21
4
-3
0
-6
0
0
0
0
0
-44
0
0
-6
29
9
8
-1
18
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
-8
1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
1
0
0
-7
23
4
31
-4
-3
3
0
5
0
0
0
0
0
0
0
0
-52
0
11
0
0
0
-5
0
0
0
0
0
-20
0
0
2
1
-6
7
-2
38
0
0
28
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
-15
-5
0
-13
-36
17
0
0
9
0
0
0
0
0
0
0
0
3
-2
0
-2
0
0
8
0
0
0
0
0
3
0
0
-6
6
-1
-21
32
32
-10
0
-36
0
0
0
0
0
0
0
0
26
0
0
0
0
0
-3
0
0
0
0
0
-3
0
0
33
7
-5
-22
-1
-54
-1
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
13
0
0
0
0
0
0
0
0
25
4
0
0
28
0
1
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
-12
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
-27
-7
3
0
-2
-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
-3
0
0
0
0
0
0
0
0
9
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
2
0
-26
1
0
1
0
0
0
0
0
1
1
0
-2
-23
-28
22
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
26
-1
0
0
26
-3
-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
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
19
0
0
0
0
0
-9
0
0
0
0
0
-3
0
0
42
-6
13
-30
-5
42
13
0
0
0
0
0
0
0
0
0
0
4
-1
0
17
-7
0
-3
0
0
0
0
0
53
0
0
17
0
-20
7
9
-6
1
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
52
-3
-1
4
10
10
-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
-41
8
1
4
27
32
-2
0
0
0
0
0
0
0
0
0
0
-12
2
0
2
0
0
7
0
0
0
0
0
3
-1
0
39
4
-3
-2
5
17
4
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
-11
-3
0
0
2
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
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
-1
0
7
-1
0
0
0
0
10
-1
0
0
0
2
0
0
0
0
0
0
-3
0
0
19
-8
-30
-19
1
-1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-12
-31
-4
33
-5
-29
4
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-3
3
2
0
-2
0
-1
0
-22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-13
11
-29
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
25
0
0
0
1
0
2
0
1
26
-2
22
-10
0
0
0
-22
-18
9
0
0
0
3
-1
0
0
0
0
0
15
3
0
3
4
22
-14
-3
19
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
45
0
-7
0
-9
0
0
0
17
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
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
-23
-2
0
1
0
0
0
0
0
4
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
9
34
-29
-41
-24
-4
18
0
6
-50
10
-33
-2
0
0
0
24
-1
-2
0
0
0
-6
-2
0
0
0
0
0
-7
18
0
4
-24
-3
-15
2
-10
-9
0
26
0
0
0
0
0
0
0
1
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
41
2
3
-8
-7
-6
-2
0
-22
-2
0
0
0
0
0
0
0
6
0
0
0
0
0
33
0
0
0
0
0
0
0
0
25
-2
4
1
-3
0
9
0
-25
15
4
6
0
0
0
0
8
-13
0
0
0
0
0
5
0
0
0
0
0
0
0
0
11
-23
36
61
-21
-13
-13
0
-9
0
0
0
0
0
0
0
0
8
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-7
-12
1
-9
-5
1
-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
39
-1
-3
0
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
26
1
0
-4
-1
0
6
0
0
0
0
0
39
-3
0
9
-75
-26
30
8
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
17
-59
1
3
2
32
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
-15
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
8
2
-3
0
-27
-7
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
0
0
0
0
0
0
0
15
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
26
0
-24
15
0
0
0
0
0
0
0
57
6
0
0
-43
3
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
30
0
4
0
-56
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
16
-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
19
0
0
0
0
0
0
0
0
13
-19
0
35
15
0
5
0
0
0
0
0
52
0
0
0
16
21
-25
17
26
5
0
15
0
0
0
0
0
0
0
0
-10
-3
0
1
0
0
-50
0
0
0
0
0
-16
0
0
-21
-83
25
-57
0
-22
-21
0
-9
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-4
0
0
0
0
0
1
-1
0
6
21
-16
20
13
38
-17
0
14
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
22
-20
-4
0
-35
0
0
0
71
0
0
0
0
0
0
0
0
22
25
0
12
-2
0
0
0
0
0
0
0
7
-2
0
0
10
-26
12
11
24
18
0
17
0
0
0
0
0
0
0
0
32
0
0
19
0
0
-1
0
0
0
0
0
0
0
0
-4
-9
-32
-14
-3
-3
-4
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
13
22
-6
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
70
0
0
0
0
0
0
0
0
126
-1
19
-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
-3
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-3
20
0
-1
0
0
0
0
0
39
35
0
-1
-53
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
33
0
0
0
0
0
0
0
0
-27
0
14
39
-29
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
-1
1
-2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
0
5
0
0
0
0
0
0
0
0
4
-28
-11
9
0
-16
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-25
0
0
0
0
0
0
0
-46
-1
0
-2
0
8
1
1
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-12
0
0
0
0
0
0
0
0
-3
15
-1
21
-9
-11
41
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
13
0
6
0
0
0
0
0
-1
0
0
15
-13
-31
27
1
-2
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-2
0
2
0
0
0
0
0
-13
0
0
-1
-25
-40
10
-17
-5
-21
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
-19
-3
-34
18
3
0
-9
0
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
0
0
3
-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
10
40
-17
1
0
0
0
-16
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-13
-9
-5
5
-47
1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
5
-36
-1
-11
-14
-15
1
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
130
0
0
0
0
0
0
0
0
28
0
-34
-22
-3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
93
0
0
0
0
0
0
0
0
-20
-1
168
35
18
-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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-1
-48
11
7
0
0
0
-27
0
0
0
0
0
-38
0
0
0
0
0
0
-55
28
0
-25
-47
0
-3
1
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
15
-1
-2
-2
21
0
41
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-7
0
-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
27
-15
43
-17
6
0
0
0
-4
0
0
0
0
0
-7
13
0
0
0
0
0
0
4
0
-37
-73
2
0
23
-14
19
0
-4
16
-6
33
-44
0
0
0
-29
0
0
0
0
0
-25
0
0
0
0
0
0
19
7
0
-12
-16
7
3
0
14
23
0
14
1
0
0
0
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-48
-38
-1
10
35
29
-38
0
-5
-4
-7
-16
0
0
0
0
27
0
0
0
0
0
24
-4
0
0
0
0
0
1
-1
0
-19
-24
-1
-25
-11
-31
3
0
5
32
-26
4
1
0
0
0
-17
0
0
0
0
0
-13
-3
0
0
0
0
0
-2
-7
0
7
-51
2
-4
0
4
-2
0
11
-4
-6
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-37
11
-1
-6
1
0
49
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-48
9
-20
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
3
0
0
0
0
0
0
0
0
9
12
10
0
-30
-56
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
-10
-9
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
3
0
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
40
44
0
0
0
0
0
0
0
3
2
0
0
-78
21
6
-28
-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
-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
7
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
-33
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
-2
0
0
0
0
0
0
0
0
-2
-39
36
4
-42
-59
-48
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
-4
8
30
-34
-41
3
1
0
8
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
9
0
0
0
0
0
0
0
0
15
-19
-14
-18
22
-18
12
0
12
0
0
0
0
0
0
0
0
0
0
0
22
-38
0
0
0
0
0
0
0
5
12
0
-6
-13
-11
-10
-30
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
30
-46
55
3
-27
-10
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
-4
-21
10
16
-1
0
-16
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
-29
0
29
-34
-26
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
0
0
0
0
0
0
0
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
2
0
0
0
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
10
0
0
0
0
0
0
0
0
0
48
1
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
-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
-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
-14
0
0
0
0
0
0
0
0
18
74
-6
-20
-54
0
-5
0
-1
3
0
5
10
12
0
-43
-28
4
14
10
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
3
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
-1
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
6
23
45
-8
0
0
0
0
12
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
1
10
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
26
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
-88
0
-2
2
3
0
0
38
0
0
0
0
0
0
0
0
28
0
-9
16
-15
0
9
0
0
0
0
0
-1
1
0
29
0
-9
-2
38
2
19
0
-4
0
0
0
0
0
0
0
0
15
0
0
17
-7
0
0
0
0
0
0
0
0
0
0
23
-31
-48
-11
-20
11
30
0
52
0
0
0
0
0
0
0
0
0
-1
0
9
0
0
6
0
0
0
0
0
0
0
0
3
-18
-1
9
0
-4
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
-3
-1
0
15
0
0
0
0
0
0
0
0
-25
-15
23
-5
-15
-6
25
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
-2
-2
15
1
0
0
0
0
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
-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
-1
-32
9
-30
18
0
0
0
5
3
29
-4
0
0
-18
2
0
39
-12
1
-2
-28
-16
0
30
-12
-9
8
21
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
-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
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-59
0
1
0
0
0
0
0
0
0
-40
-68
-10
-4
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
4
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
37
8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-29
16
0
21
8
-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
4
45
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-13
33
-11
0
-3
0
-18
-28
1
-3
-20
26
0
-45
6
-14
-8
-61
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
-8
-3
0
0
0
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
4
0
0
0
0
58
0
0
0
0
0
0
0
0
0
-9
-4
0
10
3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
15
0
0
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
0
0
0
0
1
48
11
-48
4
0
3
0
0
0
0
0
7
8
0
-38
-9
-7
-35
-9
12
-9
0
0
0
0
0
0
0
0
0
0
-11
6
-36
8
2
0
5
0
0
0
0
0
-14
-3
0
28
11
-16
40
9
-7
7
0
0
0
0
0
0
0
0
0
0
46
0
0
10
0
0
28
0
0
0
0
0
0
0
0
1
-77
19
6
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-8
6
3
26
9
0
4
0
0
0
0
0
0
0
0
10
7
-5
-7
1
-18
-8
0
0
0
0
0
0
0
0
0
0
-57
-32
-34
-15
-12
0
3
0
0
0
0
0
6
0
0
11
28
-11
-8
-22
-54
-49
0
0
0
0
0
0
0
0
0
0
38
0
0
2
0
0
-15
0
0
0
0
0
0
0
0
-2
15
23
32
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
20
8
-4
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
2
-4
4
6
0
-1
0
-7
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
1
1
0
22
0
0
0
0
0
-4
0
0
-23
-28
-2
33
43
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-13
11
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
-11
0
0
0
0
0
0
0
0
-6
-10
-24
14
9
0
16
0
-2
6
7
-8
33
-7
0
49
1
-3
-7
41
-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
1
0
0
0
0
0
70
0
0
0
0
0
0
0
0
-3
-6
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-9
12
1
35
-58
0
-2
0
54
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-19
0
-3
0
0
0
0
0
0
0
-8
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
-3
0
0
0
0
0
0
0
0
-12
0
0
-1
0
0
12
0
0
0
0
0
0
0
0
9
22
-2
9
29
-15
15
0
8
0
0
0
0
0
0
0
0
-67
-8
2
11
-66
0
-14
0
0
0
0
0
12
1
0
-4
0
11
2
31
37
-49
0
16
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-8
52
2
9
-1
15
11
0
11
0
0
0
0
0
0
0
0
1
0
0
2
-8
0
-2
0
0
0
0
0
0
0
0
16
12
7
-28
28
-5
-3
0
-9
0
0
0
0
0
0
0
0
0
6
0
49
-16
0
3
0
0
0
0
0
4
0
0
-6
2
-23
5
-14
2
-20
0
46
0
0
0
0
0
0
0
0
3
0
0
1
0
0
1
0
0
0
0
0
0
0
0
20
-41
-3
27
-49
0
32
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
4
25
0
4
-11
-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
-5
8
0
0
0
0
0
20
0
17
2
10
-3
-6
1
0
-1
-4
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
21
-6
-35
4
0
0
0
-57
-22
3
16
0
0
-19
-11
0
0
0
0
0
4
-9
0
-10
1
-31
2
-4
-59
-14
0
-17
-3
0
0
0
0
0
0
1
2
-1
4
0
0
0
-19
0
-1
0
0
0
0
0
0
-24
-8
-22
-42
-34
2
-1
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-28
45
3
-24
-51
-104
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-9
20
9
1
1
0
0
0
-5
-18
-3
35
-14
0
0
0
-25
-5
-14
-16
0
0
-35
1
0
12
-6
-3
-1
-17
20
0
4
-4
-1
12
-6
-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
32
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-40
-2
1
19
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
7
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
47
0
0
0
0
0
0
0
-9
8
0
0
0
0
0
14
0
0
0
0
0
0
0
0
58
7
-21
12
8
0
0
0
28
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-1
60
9
-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
2
16
19
-9
0
0
0
0
2
15
0
0
0
0
7
27
0
0
0
0
0
0
2
0
-5
45
10
47
-33
-13
10
0
-7
-17
44
33
20
0
0
0
-35
-46
-3
-11
0
0
15
-1
0
0
0
0
0
11
22
0
12
9
1
15
-1
2
13
0
4
-12
-6
-1
-2
0
0
0
-1
-4
0
0
0
0
6
19
0
0
0
0
0
6
0
0
16
-38
9
7
4
-24
24
0
8
-48
-7
3
0
0
0
0
-93
0
0
0
0
0
57
11
0
0
0
0
0
1
1
0
-37
-13
3
-12
8
21
50
0
2
17
-45
19
1
0
0
0
-30
1
0
0
0
0
-49
5
0
0
0
0
0
-4
-1
0
22
8
6
-17
-5
54
19
0
-22
-1
5
-8
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
19
39
11
-5
-11
0
-21
0
29
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
-27
-37
-24
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
-2
0
12
6
0
0
-7
0
1
0
0
0
-2
0
0
-33
-12
-6
2
44
2
4
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
28
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
0
0
-1
0
-53
0
0
0
0
0
0
0
0
1
-11
0
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
0
0
-14
0
0
0
0
0
0
0
0
48
40
0
0
81
48
-5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-53
0
0
0
0
0
0
0
0
0
-16
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
26
24
29
17
17
0
-1
0
-6
0
7
-8
-29
-22
0
2
-2
7
-3
-6
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
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
0
0
0
0
0
10
5
0
-3
40
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
5
0
24
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-54
9
-6
-53
0
-1
0
0
0
0
0
44
-26
0
2
0
-18
14
31
8
22
0
0
0
0
0
0
0
0
0
0
-3
-3
-43
37
27
0
12
0
0
0
0
0
4
-3
0
18
-3
78
12
1
-3
-19
0
0
0
0
0
0
0
0
0
0
-1
0
1
-8
0
0
28
0
0
0
0
0
0
0
0
1
-19
-7
-6
78
28
-9
0
0
0
0
0
0
0
0
0
0
-28
0
4
-2
0
0
1
0
0
0
0
0
0
0
0
-29
24
-2
18
-40
20
48
0
0
0
0
0
0
0
0
0
0
23
27
-6
71
21
0
-12
0
0
0
0
0
-17
4
0
12
6
4
29
16
-8
-26
0
0
0
0
0
0
0
0
0
0
5
0
0
-39
0
0
-25
0
0
0
0
0
0
0
0
-44
-30
6
-28
17
-8
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
-23
0
0
0
0
0
0
0
0
-18
15
11
10
46
-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
-1
0
0
-2
0
0
0
2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
10
-55
-1
-16
-29
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
14
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
26
15
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-61
-14
13
-21
40
0
-1
0
23
0
-1
-1
-46
-42
0
1
16
24
2
-6
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
1
0
0
4
0
0
18
0
0
0
0
0
0
0
0
-9
17
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
2
9
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
-20
0
0
34
0
0
0
0
0
0
0
0
-25
0
-2
14
29
0
-4
0
-14
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
69
0
0
0
0
0
0
0
0
-33
-2
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
3
0
0
0
0
0
0
0
0
16
0
0
-1
7
0
13
0
0
0
0
0
0
0
0
3
12
0
-13
27
-12
-3
0
1
0
0
0
0
0
0
0
0
0
0
-3
-27
-47
0
3
0
0
0
0
0
9
1
0
18
0
30
20
-17
-11
13
0
35
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
1
-26
-2
12
15
1
-1
0
-26
0
0
0
0
0
0
0
0
2
0
0
-55
-10
0
7
0
0
0
0
0
-6
0
0
-21
-12
-24
-4
-2
18
-8
0
1
0
0
0
0
0
0
0
0
9
0
0
42
62
0
6
0
0
0
0
0
12
0
0
21
-18
13
33
-12
17
-13
0
-12
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-13
0
0
0
0
0
0
0
0
25
4
-1
-57
12
-2
-40
0
19
0
0
0
0
0
0
0
0
0
0
0
4
0
0
18
0
0
0
0
0
0
0
0
-23
1
0
0
18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
-1
0
0
0
10
0
1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
1
-13
0
0
0
9
1
-8
-7
0
0
30
-4
0
-1
0
0
0
0
-2
0
-12
-31
7
-10
3
3
25
0
36
0
0
0
0
0
0
0
0
4
0
0
0
0
0
17
0
0
0
0
0
0
0
0
3
-5
-1
-38
24
2
9
0
0
0
-2
0
-4
0
0
0
0
1
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
20
-18
6
53
51
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
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
-10
22
-1
24
-41
-8
0
0
-3
25
45
-8
-22
0
0
0
9
10
-19
-8
0
0
17
1
0
19
11
-3
-1
-22
1
0
0
-3
0
-1
-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
1
-26
0
3
0
0
0
-21
0
0
0
0
0
0
0
0
-1
1
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-9
-3
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-49
-8
0
0
0
0
0
0
3
3
0
4
0
0
0
53
0
0
0
0
0
0
0
0
49
-15
0
1
7
0
-9
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
30
-20
0
20
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-28
-23
-43
4
0
0
0
-58
-4
0
1
0
0
-58
1
0
0
0
0
0
0
-11
0
-37
2
-17
0
9
-4
-12
0
-10
-27
45
-16
-3
0
0
0
-20
23
-2
-11
0
0
22
5
0
0
0
0
0
7
-27
0
-1
24
14
2
15
-19
20
0
-7
3
0
0
1
0
0
0
-20
3
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-30
-56
2
16
-21
25
13
0
-7
-6
5
0
1
0
0
0
6
26
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-14
-58
7
-20
-22
-10
-27
0
-8
-63
-9
-2
-21
0
0
0
-25
28
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-18
-32
31
6
-4
40
3
0
-18
-6
0
0
0
0
0
0
-3
43
0
2
0
0
0
1
0
0
0
0
0
0
0
0
57
0
-1
31
36
0
10
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-12
-18
0
-15
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
14
0
15
9
0
0
0
0
-2
0
0
0
-1
0
0
1
-29
0
33
-13
-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
1
-7
0
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
82
0
0
0
0
0
0
0
0
1
-27
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
10
0
-1
0
0
0
0
0
0
2
0
0
-20
-18
-14
-2
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
-37
-9
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-4
-19
-11
73
0
-1
0
-25
0
4
13
-16
4
0
3
10
-32
8
-21
-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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
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
-23
0
0
8
-12
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
-1
4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-5
0
21
29
0
5
0
0
0
0
0
-3
4
0
4
1
50
19
2
33
85
0
0
0
0
0
0
0
0
0
0
4
-1
3
-6
9
0
12
0
0
0
0
0
9
-5
0
1
15
52
4
-20
5
21
0
0
0
0
0
0
0
0
0
0
-6
0
-4
-8
0
0
43
0
0
0
0
0
0
0
0
27
12
0
30
-7
-37
1
0
0
0
0
0
0
0
0
0
0
-40
-1
0
-2
0
0
-7
0
0
0
0
0
0
0
0
8
-8
-6
20
19
38
35
0
0
0
0
0
0
0
0
0
0
-39
2
21
-51
19
0
10
0
0
0
0
0
-15
0
0
8
-7
27
12
-11
16
-13
0
0
0
0
0
0
0
0
0
0
13
0
0
7
0
0
-52
0
0
0
0
0
0
0
0
-2
21
29
-33
25
-1
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-3
0
0
-3
0
0
0
0
0
0
0
0
13
24
1
-58
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
4
0
0
-3
0
0
0
0
0
1
0
0
-16
-30
2
-19
-6
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
-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
-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
-1
0
0
0
0
0
0
0
0
2
-19
28
66
26
0
-4
0
-1
0
0
0
-22
19
0
-8
-3
18
5
2
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
1
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
5
-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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
16
0
0
0
0
0
0
0
0
12
22
0
0
37
1
-1
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
31
-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
26
0
0
0
0
0
0
0
0
5
0
-1
-9
-24
0
-13
0
0
0
0
0
-1
0
0
-28
-30
-23
6
-21
-37
-2
0
7
0
0
0
0
0
0
0
0
20
0
0
-12
15
0
4
0
0
0
0
0
7
1
0
-2
0
15
31
10
-9
8
0
-31
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-39
0
0
0
0
0
0
0
0
3
27
0
0
12
0
0
0
24
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
-11
0
0
0
0
0
0
0
0
23
-52
0
5
-11
43
5
0
-9
0
0
0
0
0
0
0
0
29
0
0
-15
-1
0
2
0
0
0
0
0
8
0
0
-36
18
-28
67
34
-4
26
0
-20
0
0
0
0
0
0
0
0
-4
0
0
-7
0
0
13
0
0
0
0
0
0
0
0
-42
25
0
-12
12
6
1
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
29
-3
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
2
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
53
9
0
2
11
0
0
0
3
-1
0
-11
0
0
-1
-1
0
0
0
0
0
1
0
0
-9
33
38
-44
13
35
-20
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
30
-3
0
-5
5
0
10
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
-2
27
-1
-10
14
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
79
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-5
-5
0
-4
2
0
3
0
-1
-26
2
-9
43
0
0
0
31
1
36
9
0
0
-17
3
0
-3
0
1
0
-8
-14
0
4
-11
-32
9
10
41
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
16
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
-1
-7
1
-11
45
0
0
0
21
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
-6
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
2
16
-7
0
0
0
3
1
0
0
0
0
-16
22
0
0
0
0
0
0
11
0
10
-29
40
40
13
59
-23
0
5
13
-16
-17
-46
0
0
0
-22
-1
8
3
0
0
-19
3
0
0
0
0
0
-32
-16
0
14
-13
-18
21
-5
28
-11
0
71
2
0
0
0
0
0
0
2
-2
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
8
54
-3
-11
11
-2
-4
0
20
-3
0
-19
0
0
0
0
27
-7
0
0
0
0
-54
-3
0
0
0
0
0
0
-3
0
1
6
38
10
-28
-4
7
0
6
59
7
-16
-4
0
0
0
-32
-62
0
-1
0
0
12
2
0
0
0
0
0
0
0
0
37
8
70
9
-12
-50
2
0
12
0
0
0
0
0
0
0
6
10
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-61
-13
10
12
-15
1
-20
0
6
-6
0
0
0
0
0
0
7
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
19
49
4
-4
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
-7
0
0
50
0
0
0
0
0
0
0
0
-15
1
0
2
55
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
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
-1
24
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
36
-31
1
0
-38
0
-9
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
33
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-8
4
11
-35
0
-3
0
0
0
0
0
54
14
0
-1
-5
-15
14
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
2
-4
22
0
-7
0
0
0
0
0
2
0
0
-7
-45
-34
42
-16
49
-16
0
0
0
0
0
0
0
0
0
0
77
0
19
-38
-18
0
28
0
0
0
0
0
15
0
0
-16
19
-7
-24
43
-17
9
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
6
38
0
-1
14
0
-1
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
-12
-5
2
0
2
1
0
0
0
0
0
0
0
0
0
0
0
27
3
-2
-17
0
0
8
0
0
0
0
0
0
0
0
41
21
11
-31
11
-56
16
0
0
0
0
0
0
0
0
0
0
-18
0
0
-2
0
0
28
0
0
0
0
0
0
0
0
-9
-15
3
-3
-6
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-27
-32
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
33
0
0
0
0
0
0
0
0
15
-5
0
-6
-12
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
58
0
-2
-70
-32
0
2
0
0
0
0
0
6
-3
0
25
12
-30
-24
-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
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-9
-42
0
0
-2
0
0
0
-29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
0
0
9
0
0
0
0
0
0
0
0
36
48
25
-17
-10
24
32
0
-16
0
0
0
0
0
0
0
0
45
0
0
-3
21
0
2
0
0
0
0
0
-4
0
0
-3
0
-7
-19
33
-19
3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
7
-31
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
1
0
0
15
0
0
0
0
0
0
0
0
8
31
0
1
11
0
-2
0
5
0
0
0
0
0
0
0
0
4
0
0
-8
0
0
2
0
0
0
0
0
0
0
0
-21
-3
11
-11
32
6
-13
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
32
3
0
23
11
3
8
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
1
1
0
0
0
0
7
33
0
-2
0
0
-1
-2
0
0
0
0
0
0
0
0
37
-32
-2
18
22
0
-2
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-14
8
0
0
0
0
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
21
-38
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
-1
-30
-45
11
-17
0
0
0
35
3
11
15
0
0
6
-3
0
5
0
0
0
1
-50
0
-6
-10
38
40
-29
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-32
19
0
0
1
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
3
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
10
0
-4
0
0
0
0
0
0
0
1
0
0
7
-16
0
0
0
0
0
0
0
0
12
12
-41
-34
18
-3
4
0
-24
-47
-68
-21
-9
0
0
0
40
-5
-1
0
0
0
-63
15
0
0
0
0
0
0
47
0
-17
-15
42
21
21
-19
-16
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
30
0
0
10
3
0
0
-32
-1
0
0
0
0
0
0
1
-2
0
0
0
0
0
31
0
0
0
0
0
0
0
0
22
-16
1
0
35
1
0
0
3
-19
0
-3
0
0
0
0
49
3
0
0
0
0
13
3
0
0
0
0
0
0
0
0
5
15
4
-36
20
-18
-20
0
8
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-31
-25
6
6
-4
1
17
0
-21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
-13
12
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-1
0
0
13
0
1
0
0
1
-1
-3
0
1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
-10
0
22
-4
2
-4
8
-5
0
44
-2
1
0
27
-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
11
0
0
0
0
0
0
0
-45
13
-2
0
0
0
6
-10
0
15
3
8
18
-4
-10
0
12
54
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
0
-1
0
0
1
0
3
0
-4
1
-2
5
0
-4
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
20
1
2
2
0
0
-4
0
11
-2
-2
-13
-17
8
0
14
7
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
29
-36
-50
-1
0
-1
0
25
0
21
12
-37
5
0
17
-39
-1
8
-30
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
-4
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
1
0
0
0
6
0
-24
-4
1
4
8
0
0
-5
-5
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
79
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-16
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-5
10
7
-17
0
0
-1
2
0
16
12
-20
24
-43
-16
0
35
4
0
8
-28
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
49
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
2
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
10
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-15
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
-5
0
4
-1
6
7
-2
-2
0
-8
-4
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
29
0
3
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
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
-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
2
0
0
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
2
1
-19
-12
1
0
5
0
-4
1
-35
31
-10
0
0
4
25
16
1
-16
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
8
0
0
-3
0
0
-16
0
4
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-16
15
27
-9
0
-15
0
-3
0
0
-3
6
2
0
-41
-13
30
-6
-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
2
0
0
0
0
0
7
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
2
9
1
0
6
68
-10
-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
13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
1
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
23
27
-1
0
0
-7
1
0
13
0
-1
0
-3
-4
0
-11
-16
-6
-33
21
-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
9
0
0
0
0
0
0
0
0
22
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
-5
0
0
0
0
0
0
10
0
0
0
0
0
0
0
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
0
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
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
-16
0
0
0
0
0
0
0
0
1
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
-22
0
-3
0
0
2
-12
1
0
2
22
-1
-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
-4
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
7
0
0
0
0
-1
4
0
0
-19
53
0
0
8
-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
-1
0
0
0
0
0
0
0
0
22
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-26
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-15
-20
0
-49
39
0
8
0
-7
0
-7
0
-22
-6
0
16
15
14
11
3
-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
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
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
-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
-2
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
-15
0
1
-4
0
0
40
0
0
0
0
0
0
0
0
1
-24
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-15
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
1
0
0
0
0
4
0
0
0
0
0
0
0
0
3
23
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
16
-2
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
4
11
0
-7
0
0
0
0
0
6
-3
0
17
10
-30
8
-44
-32
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
0
3
0
0
0
0
0
0
0
0
-16
5
0
2
-11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
1
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
-10
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
-3
2
0
0
-3
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
-2
4
0
-1
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
-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
-3
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
7
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
15
0
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
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
-1
0
0
0
0
0
44
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
13
0
0
0
0
0
0
-1
0
35
12
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-6
25
1
2
0
0
-6
-7
0
0
0
0
0
2
-1
0
-2
-16
4
-12
17
3
0
0
-2
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
-9
0
0
0
0
0
0
0
0
0
-9
0
2
0
0
0
0
13
0
0
0
0
0
0
0
0
-7
0
-1
0
0
0
-49
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-2
0
0
0
0
0
0
53
0
-17
4
0
0
-8
3
0
0
0
0
0
-20
-27
0
-11
20
-17
-12
-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
4
-8
0
-3
0
0
0
-4
0
0
0
0
0
1
0
0
-22
-5
-1
4
19
0
7
0
9
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
-7
0
-2
0
0
0
0
-43
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
18
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
1
11
0
7
-4
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
-10
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
7
0
3
0
0
0
-18
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-3
2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
5
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
-2
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
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
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
7
-11
0
0
-10
0
0
0
0
0
0
-6
0
-1
17
-25
-1
21
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
-19
-10
0
0
-27
0
0
0
0
0
0
0
0
-4
-6
27
9
19
-7
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
-18
0
0
0
0
0
0
0
0
0
-39
0
0
-8
0
0
0
13
0
0
0
0
0
0
0
0
2
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
34
0
1
13
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
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-7
-3
-18
58
0
-4
0
0
0
0
0
26
49
0
-32
5
-10
34
-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
-7
0
0
0
0
0
31
0
0
0
0
0
0
0
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
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
20
0
0
0
0
0
0
0
0
0
27
0
3
-2
-3
0
0
56
0
0
0
0
0
0
0
0
14
-1
6
-59
0
0
0
0
0
0
0
0
-11
0
0
11
23
27
-16
-37
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
19
0
0
0
0
0
0
0
0
1
24
2
0
0
0
0
0
26
0
0
0
0
0
0
0
0
-11
0
0
-2
-3
0
20
0
0
0
0
0
1
0
0
5
-1
6
4
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
-18
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
61
-3
0
-3
-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
67
0
0
0
0
0
0
0
0
0
16
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
4
-13
37
12
0
-10
0
0
0
0
0
18
-7
0
-9
-11
51
15
43
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
1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-2
17
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-3
0
12
10
0
0
0
0
0
0
0
0
0
0
0
8
0
-36
4
0
0
15
0
0
0
0
0
0
0
0
-81
0
23
36
39
-16
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-4
19
2
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
-1
-9
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-1
0
0
0
26
0
0
0
0
0
0
0
0
8
13
2
-1
-50
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-33
0
0
0
0
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
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
-8
0
0
1
0
0
0
54
20
3
-7
0
0
0
-9
0
0
0
0
0
0
0
0
40
-7
14
28
-11
-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
83
0
0
0
1
0
0
0
-5
6
1
-2
0
0
-26
16
0
0
0
0
0
2
0
0
41
-2
4
-1
1
17
-10
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
-16
-1
1
3
0
0
0
-7
0
0
0
0
0
0
0
0
19
0
0
0
0
0
23
0
0
0
0
0
0
0
0
6
-36
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
15
0
0
0
0
0
0
0
0
0
-29
0
1
0
0
0
0
-20
-39
3
10
4
0
0
0
0
-19
-32
-7
0
0
-7
-5
0
0
0
0
0
9
0
0
22
4
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
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-1
-33
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-17
0
0
3
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
-22
0
0
0
0
0
0
0
0
0
-3
0
1
4
0
0
0
14
0
0
0
0
0
0
0
19
32
0
-6
0
0
0
-3
0
0
0
0
0
0
0
0
5
-9
-16
-30
44
0
5
0
30
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
2
-7
0
0
-1
0
0
0
-11
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-35
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
13
-6
0
-2
14
0
0
0
17
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-24
0
0
0
0
0
0
0
0
-3
-17
0
0
-3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-3
-24
-22
0
0
3
0
0
0
0
0
-1
8
0
26
-24
-6
-81
-11
3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
7
0
27
-7
0
0
-19
0
0
0
0
0
0
0
0
47
6
6
-26
6
0
3
0
21
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
13
0
0
0
0
0
0
0
0
2
10
0
1
-14
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
-34
0
0
0
0
0
0
0
0
8
36
-6
2
11
6
0
0
-2
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-16
-32
-2
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-17
18
4
11
21
0
5
0
0
0
0
0
21
-34
0
14
2
-40
-15
9
-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
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-15
2
0
1
0
0
7
0
0
0
0
0
0
0
0
-44
-9
-3
-1
0
-20
0
0
-11
0
0
0
0
0
0
0
0
10
23
-29
-7
-19
0
-6
0
0
0
0
0
11
-7
0
6
7
-7
0
4
-1
-26
0
-41
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
10
0
0
0
0
0
0
0
0
29
-1
0
0
18
2
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
0
-28
0
0
-2
3
0
0
22
0
0
0
0
0
0
0
0
-10
18
-10
-6
0
0
12
0
0
0
0
0
11
0
0
-44
-28
-23
-23
13
-3
0
0
-6
0
0
0
0
0
0
0
0
-6
0
0
4
0
0
-1
0
0
0
0
0
0
0
0
6
14
0
0
17
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
-19
0
10
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
-13
-5
6
9
-38
-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
1
0
0
0
0
0
26
0
0
0
0
0
0
0
0
-2
-20
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
0
0
0
23
-38
8
-41
2
0
5
0
0
0
0
0
-4
-16
0
-6
-4
-62
24
15
-7
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-33
0
0
0
0
0
0
0
0
-13
5
0
-1
-13
0
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
-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
-7
0
0
2
0
0
-39
0
0
0
0
0
0
0
0
-3
-3
0
37
5
32
2
0
0
0
0
0
0
0
0
0
0
-9
-2
0
1
3
0
-1
0
0
0
0
0
-9
1
0
-6
0
34
35
0
-9
-16
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
-4
0
0
0
0
0
0
0
0
-4
-17
0
-17
-1
1
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
-1
-8
6
3
-47
0
1
0
0
0
0
0
0
0
0
0
0
34
0
2
0
0
0
-9
0
0
0
0
0
0
0
0
-43
2
-14
28
5
32
9
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
39
2
-1
-43
8
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
-1
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
-22
2
-26
0
0
0
0
26
17
2
4
0
0
2
-10
0
0
0
0
0
0
-3
0
2
-17
51
58
-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
28
0
4
25
2
0
0
0
-15
-5
0
-6
0
0
0
14
0
0
0
0
0
-2
-1
0
49
12
41
13
22
-33
14
0
39
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
15
13
0
1
8
-1
0
0
-29
0
-2
1
-3
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-61
-39
-10
-22
-52
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-7
11
0
-7
-4
0
0
0
5
-21
-4
-31
-2
0
0
0
-14
19
19
26
0
0
-78
2
0
0
0
0
0
-17
2
0
-10
-6
-24
11
1
32
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
42
-1
0
-11
-3
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
0
-14
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
13
3
0
-1
0
0
0
0
6
1
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-34
-22
-4
0
-33
0
-10
0
15
17
-34
39
-6
0
0
0
-12
-53
-2
2
0
0
-12
10
0
0
0
0
0
-6
0
0
22
-38
-9
6
-22
-11
28
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-40
-7
0
-1
34
-2
0
0
-9
19
4
-6
0
0
0
0
12
-23
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-46
12
18
1
11
-7
0
0
7
10
3
-9
0
0
0
0
17
14
0
0
0
0
-8
-15
0
0
0
0
0
0
0
0
-48
-29
13
54
-23
-8
1
0
-29
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
-21
16
1
29
8
0
-3
0
16
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-8
-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
-17
23
6
-36
-2
0
3
0
0
0
0
0
31
20
0
10
-9
-58
12
11
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
42
0
0
0
0
0
0
0
0
-6
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
-28
29
2
6
-43
19
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
2
8
0
2
11
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
37
0
0
0
0
0
0
0
0
3
-44
0
1
-25
0
0
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
-41
-10
1
11
53
4
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
4
-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
-4
0
0
0
0
0
0
0
0
4
8
-2
14
-33
0
-1
0
0
0
0
0
4
-1
0
7
-9
4
0
13
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-2
37
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
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
20
0
0
0
0
0
0
0
0
12
9
-1
42
-19
0
38
0
0
0
0
0
0
0
0
37
19
-40
53
5
20
17
0
-6
0
0
0
0
0
0
0
0
-3
2
59
-18
27
0
0
0
0
0
0
0
26
-29
0
6
-7
-8
13
13
-31
-4
0
30
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
1
0
0
0
0
0
7
0
0
49
-10
-5
29
26
-14
0
0
-7
0
0
0
0
0
0
0
0
-5
-6
4
-18
-1
0
-4
0
0
0
0
0
-2
0
0
3
-9
23
17
13
17
11
0
15
0
0
0
0
0
0
0
0
-11
-1
0
1
-2
0
21
0
0
0
0
0
0
0
0
-8
1
62
12
-6
13
37
0
63
0
0
0
0
0
0
0
0
7
0
0
-1
0
0
8
0
0
0
0
0
0
0
0
3
-19
4
-21
10
0
2
0
-13
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-11
32
0
-2
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
3
0
0
0
0
0
-6
-2
0
-26
-1
-16
-49
-3
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
-28
0
0
0
0
0
0
0
0
0
1
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
14
0
4
-2
0
-2
0
0
0
0
0
-8
16
0
1
17
-23
-8
-7
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
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
-16
8
5
-8
3
-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
12
-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
29
0
0
6
0
0
8
0
0
0
0
0
-1
0
0
10
16
5
-14
38
-27
39
0
0
0
0
0
0
0
0
0
0
-2
-10
0
36
-32
0
2
0
0
0
0
0
22
-1
0
10
0
29
22
6
2
35
0
0
0
0
0
0
0
0
0
0
-16
0
0
3
0
0
-2
0
0
0
0
0
0
0
0
25
10
0
36
20
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
-16
0
0
0
0
0
0
0
0
32
17
6
11
39
11
-11
0
0
0
0
0
0
0
0
0
0
-17
4
0
45
-1
0
-5
0
0
0
0
0
5
6
0
-7
-5
30
74
24
14
-8
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
-18
0
0
0
0
0
0
0
0
-26
19
-10
-14
-1
16
20
0
0
0
0
0
0
0
0
0
0
1
0
0
7
0
0
23
0
0
0
0
0
0
0
0
-16
6
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
28
16
-8
-57
0
0
0
44
-40
-14
0
0
0
-32
1
0
0
0
0
0
-12
-1
0
-24
38
-37
4
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
3
0
0
0
23
-13
0
0
0
0
3
-19
0
0
0
0
0
0
0
0
-36
-6
-46
-2
-48
-29
-10
0
72
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-7
25
0
-12
-2
1
8
0
-11
-1
0
0
0
0
0
0
0
2
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
-1
15
-11
11
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
0
0
0
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
6
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
8
1
-3
0
-49
-8
3
0
-1
9
24
28
8
0
0
0
2
-36
34
0
0
0
20
-2
0
0
0
0
0
20
15
0
-5
0
37
6
14
19
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
-2
-6
0
18
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-18
0
1
9
16
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
2
37
-8
0
0
0
2
-6
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
13
35
30
39
3
27
23
0
-8
-37
47
-40
17
0
0
0
13
-2
-5
0
0
0
45
2
0
0
0
0
0
-18
3
0
-1
30
-3
22
-4
19
-39
0
-5
0
0
1
0
0
0
0
2
8
0
0
0
0
-1
-14
0
0
0
0
0
6
0
0
7
30
-8
-19
7
17
-17
0
-11
0
0
0
1
0
0
0
-1
4
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
12
-2
4
-4
23
-1
5
0
25
16
9
29
2
0
0
0
-21
-1
0
0
0
0
14
6
0
0
0
0
0
0
1
0
-13
10
-18
-29
13
27
-18
0
14
0
0
-3
0
0
0
0
2
51
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
23
12
10
38
3
1
13
0
9
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
5
1
5
4
42
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
-60
-86
0
42
-23
0
-3
0
0
0
0
0
10
-20
0
19
71
39
6
-7
-33
-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
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
18
0
0
0
0
0
0
0
0
22
-10
-75
-21
13
23
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
1
-1
2
8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
-2
0
0
45
45
15
-3
-42
-31
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
21
-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
2
0
0
0
0
0
0
0
0
3
27
0
50
24
0
-2
0
0
0
0
0
6
-14
0
2
19
1
14
12
23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
25
2
-5
0
-13
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
33
12
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
10
0
0
0
0
0
0
0
0
-9
-34
0
-20
51
0
1
0
0
0
0
0
-6
7
0
4
31
2
26
21
-3
4
0
56
0
0
0
0
0
0
0
0
-9
-6
0
97
0
0
9
0
0
0
0
0
-18
0
0
25
28
15
-5
39
11
-8
0
52
0
0
0
0
0
0
0
0
13
0
0
64
0
0
-2
0
0
0
0
0
6
-1
0
-5
76
38
-17
-21
-31
-5
0
-21
0
0
0
0
0
0
0
0
-16
0
0
3
0
0
-6
0
0
0
0
0
0
0
0
-13
28
-5
-12
-18
-14
0
0
-37
0
0
0
0
0
0
0
0
24
-14
0
73
-16
0
-2
0
0
0
0
0
6
0
0
-6
28
20
13
-24
-12
-13
0
-33
0
0
0
0
0
0
0
0
12
0
0
31
0
0
-3
0
0
0
0
0
0
0
0
2
39
9
62
-5
-3
-18
0
31
0
0
0
0
0
0
0
0
4
0
0
-10
0
0
14
0
0
0
0
0
0
0
0
-10
40
-20
10
-27
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
16
-18
23
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
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
4
0
-8
-51
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-12
0
-1
0
0
0
0
0
14
-15
0
-14
-19
4
-10
3
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
18
0
0
0
0
0
0
0
0
2
0
28
-2
4
0
-10
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
6
6
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
-60
12
0
7
0
0
0
0
0
0
0
0
-7
1
29
10
-24
-20
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-23
0
0
0
0
0
0
0
39
-7
0
18
0
-2
2
6
-20
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-23
0
-9
0
0
0
0
0
0
0
0
-1
-14
10
-7
35
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
2
0
0
0
0
0
-2
0
0
-8
-13
-8
-1
8
6
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
17
19
0
6
0
0
0
0
0
52
1
0
6
6
-25
-2
53
-26
-16
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
18
-15
29
40
-57
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-21
0
0
0
0
0
0
0
0
-24
0
9
0
-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
42
8
-1
69
0
0
0
-84
0
0
0
0
0
35
-6
0
0
0
0
0
-12
2
0
-5
-64
-25
7
42
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
-2
0
0
0
0
0
3
-26
0
0
0
0
0
0
0
0
-26
-69
-18
-35
-61
10
-23
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-15
0
-38
-69
-10
0
0
0
27
2
0
1
0
0
0
0
0
0
0
0
0
0
10
6
0
0
0
0
0
0
0
0
33
21
43
22
20
-79
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
10
0
1
6
0
0
0
0
-8
32
4
0
3
0
0
0
4
0
0
0
0
0
31
0
0
0
0
0
0
-7
-6
0
-8
-7
0
0
-12
-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
-5
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
-9
-10
10
-13
34
0
-1
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
3
-2
2
-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
29
-11
-31
0
0
0
0
-1
0
0
0
0
0
-16
8
0
0
0
0
0
0
1
0
40
25
7
-5
-12
-13
20
0
7
5
-19
-5
-30
0
0
0
-37
0
0
0
0
0
-64
-1
0
0
0
0
0
27
24
0
0
-1
7
6
5
2
-9
0
-51
-34
-20
0
1
0
0
0
-34
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
27
28
34
34
-23
-6
10
0
32
-45
-14
-30
0
0
0
0
-39
0
0
0
0
0
11
4
0
0
0
0
0
6
30
0
30
-4
2
-10
-31
44
9
0
-6
-18
-52
-25
-36
0
0
0
-10
0
0
0
0
0
-33
-6
0
0
0
0
0
-8
6
0
-8
4
5
5
-23
-14
-14
0
-83
-13
-2
-9
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
47
-14
8
-38
-38
0
-30
0
18
1
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-26
3
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
25
-1
0
-8
0
0
0
0
0
7
0
0
2
31
14
-4
32
55
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
33
0
-22
-1
16
3
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
9
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
-7
0
0
0
0
0
0
0
0
0
0
0
9
-17
0
-1
0
0
0
0
0
-22
43
0
4
-22
-6
-5
2
-17
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
-1
1
0
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
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
5
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
-10
0
0
0
0
0
0
0
0
3
-51
43
3
-20
24
-12
0
-15
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
15
0
0
0
0
0
0
0
0
41
18
-10
21
28
13
54
0
-15
0
0
0
0
0
0
0
0
0
0
0
-38
-7
0
-2
0
0
0
0
0
7
0
0
10
-3
0
-6
-6
7
35
0
-8
0
0
0
0
0
0
0
0
0
0
0
6
3
0
0
0
0
0
0
0
-4
17
0
-1
13
-20
22
40
41
2
0
-7
0
0
0
0
0
0
0
0
0
0
0
-14
-7
0
-3
0
0
0
0
0
0
0
0
8
35
61
-14
22
-10
8
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
20
-5
29
4
21
0
21
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
69
-2
4
-16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
2
0
0
-2
0
0
10
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
-2
0
0
0
0
0
0
0
0
-3
21
14
1
15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
21
56
-13
-26
-57
0
-14
0
-3
1
0
-1
24
18
0
-44
-18
6
-26
-10
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
3
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-1
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
6
20
34
-8
0
0
0
0
10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
1
16
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
31
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-30
0
0
0
0
0
0
0
0
0
-74
2
-2
2
3
0
0
40
0
0
0
0
0
0
0
0
33
0
-10
35
-11
0
5
0
0
0
0
0
-1
1
0
24
0
-19
0
47
29
27
0
0
0
0
0
0
0
0
0
0
15
0
0
9
-13
0
-10
0
0
0
0
0
0
0
0
13
-1
-33
1
-8
21
15
0
48
0
0
0
0
0
0
0
0
0
-1
0
9
0
0
34
0
0
0
0
0
0
0
0
3
-27
6
1
0
-3
0
0
12
0
0
0
0
0
0
0
0
14
0
0
-4
-1
0
5
0
0
0
0
0
0
0
0
-22
-20
-9
12
-9
-4
21
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
-2
-4
3
1
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-45
-6
-53
2
0
0
0
13
4
30
-4
0
0
-19
0
0
36
-4
-5
-2
-60
3
0
34
5
25
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
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
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
-21
0
1
0
0
0
0
0
0
0
-58
-53
-10
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
-4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
32
8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-4
26
0
21
4
-10
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
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
0
0
0
0
0
0
0
0
0
0
0
15
19
-9
45
0
0
-1
0
-6
-3
-1
-5
-22
23
0
-46
3
-23
-39
10
-15
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
-36
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-15
0
0
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
42
0
0
0
0
0
0
0
0
0
6
6
0
13
3
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
0
-49
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
39
13
-55
15
0
-5
0
0
0
0
0
6
8
0
-31
25
-19
-68
-8
27
-7
0
0
0
0
0
0
0
0
0
0
0
25
-65
6
3
0
9
0
0
0
0
0
-14
-3
0
52
30
-13
48
4
8
0
0
0
0
0
0
0
0
0
0
0
48
0
0
10
0
0
52
0
0
0
0
0
0
0
0
-4
-66
16
6
-10
-1
0
0
0
0
0
0
0
0
0
0
0
1
6
3
20
8
0
8
0
0
0
0
0
0
0
0
8
7
-10
4
0
-21
-8
0
0
0
0
0
0
0
0
0
0
-51
-32
-35
2
-15
0
-5
0
0
0
0
0
19
0
0
16
14
-10
22
-52
-20
-39
0
0
0
0
0
0
0
0
0
0
44
0
0
2
0
0
18
0
0
0
0
0
0
0
0
-2
7
-3
10
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
29
-24
-4
-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
1
0
0
4
0
-1
-4
0
7
-2
-1
0
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
28
0
0
0
0
0
-4
0
0
-13
-11
-2
54
28
-42
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-13
11
0
-42
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-5
-8
-42
30
19
0
8
0
-2
4
7
-3
31
-4
0
-1
5
24
-6
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
1
0
0
0
0
0
46
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
31
0
0
0
0
0
0
0
0
2
-17
1
28
-67
0
-2
0
48
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
-25
0
-3
0
0
0
0
0
0
0
-7
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
39
0
0
0
0
0
0
0
0
-13
0
0
-16
0
0
7
0
0
0
0
0
0
0
0
18
26
-2
10
14
-17
-7
0
5
0
0
0
0
0
0
0
0
-38
-4
2
-47
-23
0
-9
0
0
0
0
0
-7
1
0
-14
0
42
-1
26
-6
-11
0
-18
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
-23
0
0
0
0
0
0
0
0
-4
30
2
-2
6
15
18
0
26
0
0
0
0
0
0
0
0
4
0
0
4
-8
0
-37
0
0
0
0
0
0
0
0
15
5
6
-13
25
-1
-3
0
-28
0
0
0
0
0
0
0
0
9
6
0
65
-19
0
-7
0
0
0
0
0
11
0
0
14
30
-13
13
14
25
7
0
33
0
0
0
0
0
0
0
0
2
0
0
1
0
0
25
0
0
0
0
0
0
0
0
36
-56
-3
20
-46
0
23
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
1
20
0
-14
-11
-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
-1
8
0
0
0
0
1
8
0
-5
0
11
-3
-2
1
0
-2
-3
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
19
-14
-36
6
0
0
0
-62
-13
4
26
0
0
-23
-8
0
0
0
0
0
-2
-8
0
-28
10
-27
-1
-14
-72
-63
0
-18
-3
0
0
0
0
0
0
2
6
-1
4
0
0
0
1
0
1
0
0
0
0
0
0
-41
-15
-8
-17
-51
2
-1
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
38
16
-24
-26
-102
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-17
20
8
1
1
0
0
0
2
-27
27
34
-25
0
0
0
14
24
-5
-12
0
0
-16
4
0
15
-8
1
1
-34
21
0
2
5
0
27
5
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
28
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-27
-2
1
17
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
41
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
64
-3
-9
13
0
0
0
0
22
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
33
0
1
0
0
0
0
0
0
-1
47
-7
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
16
4
-9
0
0
0
0
2
7
0
0
0
0
7
19
0
0
0
0
0
0
2
0
10
44
10
57
-18
-8
37
0
-11
-18
11
28
25
0
0
0
-20
-23
-5
-11
0
0
16
-2
0
0
0
0
0
0
6
0
7
-7
-3
13
15
1
22
0
-20
-12
-6
2
-2
0
0
0
-3
-1
0
0
0
0
6
10
0
0
0
0
0
6
0
0
28
-17
10
-10
25
-24
8
0
29
-40
-13
4
0
0
0
0
-98
0
0
0
0
0
48
-9
0
0
0
0
0
1
0
0
-43
31
4
22
18
19
63
0
-22
0
-56
42
1
0
0
0
-38
0
0
0
0
0
-52
1
0
0
0
0
0
-4
-1
0
18
-27
6
-38
5
72
-15
0
12
-1
6
-4
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
18
42
16
-3
1
0
-18
0
11
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-22
-44
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
15
6
1
0
-42
0
1
0
0
0
-2
0
0
-36
25
-6
1
78
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
22
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
-1
0
-38
0
0
0
0
0
0
0
0
1
-25
0
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
0
0
0
-26
0
0
0
0
0
0
0
0
42
46
0
-19
74
38
-7
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
-24
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
10
-3
41
14
0
0
0
0
6
0
6
-9
-23
-20
0
27
3
-8
-4
-15
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
0
0
-21
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
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
-28
0
0
0
0
0
0
0
0
10
-14
0
7
22
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
-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
6
-40
1
2
-36
0
-10
0
0
0
0
0
49
-29
0
51
17
-14
15
-14
25
-12
0
0
0
0
0
0
0
0
0
0
-5
8
-33
55
35
0
21
0
0
0
0
0
7
-4
0
0
11
77
33
46
-8
17
0
0
0
0
0
0
0
0
0
0
-10
0
1
-8
0
0
51
0
0
0
0
0
0
0
0
-17
-10
-8
-5
75
16
-10
0
0
0
0
0
0
0
0
0
0
-14
0
6
-2
0
0
10
0
0
0
0
0
0
0
0
-39
30
-3
3
-71
37
35
0
0
0
0
0
0
0
0
0
0
20
32
-5
60
21
0
-10
0
0
0
0
0
-26
4
0
12
13
29
13
36
-12
-54
0
0
0
0
0
0
0
0
0
0
-6
0
0
-40
0
0
-17
0
0
0
0
0
0
0
0
-52
-13
-8
6
16
-8
-8
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
-38
-11
12
44
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
-1
0
0
14
0
-1
0
2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
2
0
0
0
6
0
0
0
0
0
0
0
0
6
-22
-1
-36
-13
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
15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
29
16
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-20
-15
5
32
28
0
-2
0
22
0
1
-1
-31
-45
0
-8
-10
38
-10
1
-13
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
40
0
0
0
0
0
0
0
0
-2
18
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
3
0
0
1
0
0
0
-20
0
0
0
0
0
0
0
0
-3
0
0
-23
0
0
29
0
0
0
0
0
0
0
0
-31
-2
-2
3
52
0
-6
0
-11
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
65
0
0
0
0
0
0
0
0
-25
-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
6
0
0
0
0
0
0
0
0
5
0
0
9
1
0
12
0
0
0
0
0
0
0
0
-17
27
-4
-35
40
21
-15
0
40
0
0
0
0
0
0
0
0
-5
0
-4
-14
-49
0
5
0
0
0
0
0
16
-3
0
14
0
42
8
-4
24
-16
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
-2
-23
-2
24
-17
1
-1
0
-46
0
0
0
0
0
0
0
0
2
0
0
-48
-30
0
5
0
0
0
0
0
-6
0
0
-14
-14
-6
-14
8
-6
8
0
-15
0
0
0
0
0
0
0
0
-6
0
0
-6
68
0
1
0
0
0
0
0
7
0
0
37
-48
23
3
-22
24
-11
0
4
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
12
0
0
0
0
0
0
0
0
10
15
0
-46
17
-2
-33
0
20
0
0
0
0
0
0
0
0
0
0
0
4
0
0
16
0
0
0
0
0
0
0
0
-1
1
0
0
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
-2
2
0
-1
0
0
0
14
0
-1
1
0
0
0
0
0
-3
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
-10
-8
-7
2
-9
0
0
0
29
7
-8
-4
0
0
37
1
0
-1
0
0
0
0
-2
0
-12
-17
4
1
-12
-17
23
0
49
0
0
0
0
0
0
0
0
3
0
0
0
0
0
49
0
0
0
0
0
0
0
0
-7
-19
-1
2
12
2
9
0
0
0
-2
0
-4
0
0
0
0
-9
0
1
0
0
0
10
0
0
0
0
0
0
0
0
25
-27
10
7
41
-4
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-13
29
-1
36
-35
-8
0
0
-4
26
16
-5
7
0
0
0
11
16
-17
2
0
0
-7
4
0
9
10
-1
-2
-6
-19
0
-12
-7
9
10
17
-10
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-26
0
3
0
0
0
-36
0
0
0
0
0
0
0
0
0
3
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-9
-3
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-39
-8
0
0
0
0
0
0
3
2
0
4
0
0
0
33
0
0
0
0
0
0
0
0
18
-10
0
9
-5
0
-10
0
26
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
32
-5
0
-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
16
-59
-16
-37
5
0
0
0
-53
-7
0
1
0
0
-43
-1
0
0
0
0
0
0
-11
0
-27
-10
-18
3
-20
8
-5
0
4
-5
54
-1
-3
0
0
0
-29
-16
-1
-13
0
0
30
-2
0
0
0
0
0
10
-26
0
1
1
-7
9
20
-3
41
0
33
4
0
0
1
0
0
0
-13
1
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-34
-46
-1
17
-8
27
22
0
-45
2
5
0
1
0
0
0
15
23
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
-11
-68
10
-47
-23
-11
-10
0
-3
-61
-18
-25
-24
0
0
0
-15
31
0
0
0
0
4
-2
0
0
0
0
0
0
1
0
1
-10
-5
-1
-11
37
20
0
-4
-7
0
0
0
0
0
0
-3
44
0
2
0
0
0
19
0
0
0
0
0
0
0
0
47
14
-1
35
47
0
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
-10
-11
0
-13
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
22
0
-2
0
0
0
-1
0
0
11
-34
0
35
-30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
-13
0
-2
-6
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
1
-28
0
4
6
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-9
0
-1
0
0
0
0
0
0
-28
9
0
-14
-10
-18
-2
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
-32
-12
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
7
9
-9
-13
57
0
-1
0
-34
0
4
17
-23
14
0
19
-13
-39
12
-12
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
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-7
-13
0
7
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
40
30
0
17
0
0
0
0
0
0
4
0
-7
-43
28
18
6
31
88
0
0
0
0
0
0
0
0
0
0
20
-1
16
-15
10
0
17
0
0
0
0
0
14
-4
0
3
14
55
-17
1
-25
21
0
0
0
0
0
0
0
0
0
0
-6
0
-4
-8
0
0
50
0
0
0
0
0
0
0
0
51
40
0
35
-64
-15
1
0
0
0
0
0
0
0
0
0
0
-43
-1
0
-4
0
0
-3
0
0
0
0
0
0
0
0
15
-1
-6
25
18
19
32
0
0
0
0
0
0
0
0
0
0
-22
0
25
-60
20
0
14
0
0
0
0
0
-7
0
0
31
12
38
6
28
32
-24
0
0
0
0
0
0
0
0
0
0
16
0
0
7
0
0
-62
0
0
0
0
0
0
0
0
20
28
29
-41
51
-1
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-8
0
0
-18
0
0
0
0
0
0
0
0
20
16
1
-40
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
1
0
0
-13
-44
2
-22
29
-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
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-7
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
43
5
19
0
7
0
1
0
0
0
-25
9
0
7
-11
4
-7
9
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-6
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
41
0
0
30
1
-1
0
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
28
-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
25
0
0
0
0
0
0
0
0
7
0
-1
-14
-27
0
-13
0
0
0
0
0
-1
0
0
-2
-41
-17
11
-27
-45
-15
0
-13
0
0
0
0
0
0
0
0
8
0
3
27
6
0
-2
0
0
0
0
0
25
0
0
-11
0
-11
23
21
-3
10
0
20
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-56
0
0
0
0
0
0
0
0
26
37
0
0
20
0
0
0
-4
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
-5
0
0
0
0
0
0
0
0
45
-25
0
3
-11
39
4
0
15
0
0
0
0
0
0
0
0
26
0
0
-19
-1
0
1
0
0
0
0
0
8
0
0
-44
2
-9
51
15
-11
10
0
-29
0
0
0
0
0
0
0
0
-4
0
0
-6
0
0
-24
0
0
0
0
0
0
0
0
-39
27
0
-11
24
6
-3
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
21
-6
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
0
0
-25
0
4
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
71
-2
1
2
11
0
0
0
9
-3
0
-15
0
0
-1
-1
0
0
0
0
0
1
0
0
28
4
43
-30
22
46
-2
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-2
0
-1
-6
0
10
0
0
-2
0
0
0
0
0
0
0
-4
0
0
0
0
1
-16
0
0
0
0
0
0
0
0
-20
12
-1
-14
-10
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
54
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
-11
0
-4
1
0
3
0
0
4
-8
-23
43
0
0
0
6
-20
40
13
0
0
-6
4
0
-11
0
1
0
21
-21
0
20
-3
-5
28
0
-13
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
9
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
3
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
39
0
0
0
0
0
0
0
0
-1
-9
1
-11
64
0
0
0
22
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
2
16
-7
0
0
0
5
11
0
0
0
0
-20
20
0
0
0
0
0
0
11
0
17
-1
38
38
12
33
-47
0
22
-4
-32
3
-56
0
0
0
-17
-17
7
3
0
0
7
1
0
0
0
0
0
-24
-27
0
8
2
5
-6
-13
20
-58
0
53
2
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
51
-3
-15
3
-2
-4
0
4
4
0
-23
0
0
0
0
14
-6
0
0
0
0
-61
3
0
0
0
0
0
0
-3
0
8
-16
33
38
-21
-17
-6
0
-6
59
7
-22
-4
0
0
0
-50
-40
0
-1
0
0
14
-9
0
0
0
0
0
0
0
0
0
12
53
23
1
-42
4
0
-38
0
0
0
0
0
0
0
6
10
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-36
-24
9
6
-22
1
-22
0
-1
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
22
38
0
3
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
-7
0
0
35
0
0
0
0
0
0
0
0
-5
8
0
3
59
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
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
-1
24
0
0
1
3
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
26
-38
1
0
-35
0
-9
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
28
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
-5
-1
1
25
-56
0
-6
0
0
0
0
0
46
24
0
-1
-21
-10
-14
12
-67
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
2
-15
22
0
14
0
0
0
0
0
0
0
0
2
-37
-23
24
19
22
-28
0
0
0
0
0
0
0
0
0
0
81
0
22
-35
-18
0
-2
0
0
0
0
0
16
0
0
20
4
-1
-16
18
-14
6
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-5
30
0
-1
9
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-76
0
0
0
0
0
0
0
0
-14
-6
0
0
20
1
0
0
0
0
0
0
0
0
0
0
0
6
3
-2
-26
0
0
26
0
0
0
0
0
0
0
0
31
5
28
-24
26
-55
26
0
0
0
0
0
0
0
0
0
0
-18
0
0
-2
0
0
16
0
0
0
0
0
0
0
0
3
-18
3
-5
4
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-33
-17
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
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
-16
5
0
-6
-29
-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
-2
0
0
0
0
0
0
0
0
9
-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
-13
0
0
0
0
0
0
0
0
33
0
0
-46
-35
0
13
0
0
0
0
0
5
-5
0
21
-2
-7
-5
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-36
0
0
-2
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-21
0
0
7
0
0
0
0
0
0
0
0
-6
41
18
-30
-20
10
39
0
-24
0
0
0
0
0
0
0
0
42
0
0
-1
18
0
2
0
0
0
0
0
-4
0
0
11
0
26
-20
23
-35
9
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
7
-28
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-22
0
0
0
0
0
0
0
0
3
23
0
1
11
0
-2
0
12
0
0
0
0
0
0
0
0
4
0
0
-10
0
0
8
0
0
0
0
0
0
0
0
-6
13
7
-9
7
10
-12
0
31
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-24
0
0
0
0
0
0
0
0
34
13
0
20
11
3
4
0
61
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
0
0
0
0
9
40
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
12
-27
-2
7
51
0
-2
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-5
8
0
0
-1
0
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
1
-40
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-1
-2
0
0
-3
0
0
0
-9
-25
-42
17
-23
0
0
0
-12
-31
15
11
0
0
0
2
0
9
0
0
0
3
-33
0
-7
-8
15
18
-12
26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-27
27
0
0
1
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
-2
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
11
0
-4
0
0
0
0
-4
0
0
1
0
0
10
-17
0
0
0
0
0
0
0
0
-1
-10
-33
-30
27
-3
-9
0
-21
-35
-65
-23
-1
0
0
0
46
4
-1
0
0
0
-65
6
0
0
0
0
0
0
40
0
1
3
44
17
-18
-21
-10
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
6
30
0
0
5
3
0
0
-41
-1
0
0
0
0
0
0
1
-2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
24
17
0
0
33
1
0
0
13
-15
0
-5
0
0
0
0
55
1
0
0
0
0
13
-6
0
0
0
0
0
0
0
0
19
15
9
-44
29
-16
-13
0
-32
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
-26
-17
6
4
-13
1
19
0
42
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
-10
12
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
-2
1
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
2
-1
0
0
-13
0
0
0
0
1
-1
-4
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
0
0
-6
0
24
-6
2
18
-5
-2
0
30
1
1
0
33
-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
8
0
0
0
0
0
0
0
-19
23
-3
0
0
0
2
-21
0
8
1
-4
17
-8
3
0
36
49
1
0
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
0
-1
0
0
-20
0
9
1
-2
3
-4
5
0
-5
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
24
3
2
0
0
0
-18
0
13
2
11
-12
-18
9
0
16
10
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
31
-38
-55
-1
0
-21
0
19
0
19
-15
-25
6
0
23
-40
0
11
5
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
-40
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
35
0
0
0
0
0
4
0
-10
-2
0
2
7
0
0
1
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
51
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
7
5
-13
0
0
1
1
0
0
9
2
7
-34
-15
0
1
27
0
9
-3
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
52
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
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
-4
0
7
2
2
2
0
-2
0
-7
-4
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
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
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
-3
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
10
1
-27
-20
-2
0
-5
0
2
2
-35
37
2
5
0
-16
30
12
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
-1
0
0
0
0
0
0
0
0
7
0
0
-3
0
0
-9
0
3
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
32
-19
0
-13
0
-1
0
0
-3
3
2
0
-24
-9
28
-5
-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
-5
0
0
0
0
0
0
0
0
2
3
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
0
0
0
0
0
-9
0
0
0
0
2
4
1
0
12
65
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
22
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
16
28
14
0
0
-12
-4
0
9
0
0
2
4
-9
0
2
-46
0
-30
23
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
14
0
0
0
0
0
0
0
0
20
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-4
-13
0
0
0
0
0
0
9
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
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
18
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-19
0
0
0
0
0
0
0
0
1
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
5
-21
0
0
-7
0
-3
0
0
1
-8
2
0
15
-9
-10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-6
0
0
0
-1
0
23
0
0
0
0
-1
4
0
0
-27
50
0
0
3
-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
-1
0
0
0
0
0
0
0
0
34
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
-9
0
0
0
0
0
-22
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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-6
-39
47
0
-3
0
-20
0
-4
-7
-14
-2
0
6
12
25
11
33
-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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-2
0
0
0
0
0
8
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
-21
0
1
-4
0
0
30
0
0
0
0
0
0
0
0
-1
-17
0
0
-8
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
1
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
-34
1
0
0
0
0
-9
0
0
0
0
0
0
0
0
3
23
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
2
-2
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
-5
13
0
-7
0
0
0
0
0
10
-4
0
0
-8
-23
38
-5
-22
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
4
0
0
-14
0
0
0
0
0
0
0
0
-23
7
0
0
-7
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
1
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
-3
1
0
0
-3
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
11
0
-1
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
10
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
11
0
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
14
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-2
9
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
-2
-50
0
8
0
0
0
23
0
0
0
0
0
0
-1
0
19
23
4
-7
-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
41
0
0
0
0
0
0
0
-5
10
1
-1
0
0
-6
-8
0
0
0
0
0
2
-1
0
-3
-15
2
-8
21
3
0
0
-3
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
-13
0
0
0
0
0
0
0
0
0
-8
0
2
0
0
0
0
11
0
0
0
0
0
0
0
0
-18
0
-1
0
0
0
-33
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-2
0
0
0
0
0
0
27
7
-5
-18
0
0
-1
1
0
0
0
0
0
-28
-28
0
-26
14
2
15
-1
-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
17
0
0
0
0
0
0
0
4
12
0
1
0
0
0
1
0
0
0
0
0
1
0
0
-24
8
-1
8
11
0
7
0
6
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
-37
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
53
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-11
0
0
0
0
0
0
0
0
1
13
0
7
-4
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-13
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
-3
0
0
0
0
0
0
0
0
6
0
3
0
0
0
-16
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-3
1
0
-8
0
0
0
12
0
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
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
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-24
0
0
10
0
0
0
0
0
-2
-6
0
7
20
-18
-34
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
-76
0
0
0
0
0
0
0
0
0
1
-20
-13
0
0
-29
0
0
0
0
0
0
0
0
1
11
32
12
-8
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
-15
0
0
0
0
0
0
0
0
0
-43
0
0
-8
0
0
0
22
0
0
0
0
0
0
0
0
10
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
1
15
0
1
10
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-2
2
8
-15
66
0
-10
0
0
0
0
0
31
52
0
-54
25
-16
33
-20
-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
-7
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
21
1
0
0
0
0
16
0
0
0
0
0
0
0
0
0
31
0
3
-2
-3
0
0
63
0
0
0
0
0
0
0
0
-1
-1
7
-60
0
0
14
0
0
0
0
0
-11
0
0
4
-24
37
-22
-20
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
-25
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-7
0
0
-1
0
0
13
0
0
0
0
0
0
0
0
1
20
2
0
0
0
0
0
33
0
0
0
0
0
0
0
0
-1
0
0
-2
-3
0
25
0
0
0
0
0
1
0
0
7
21
6
5
7
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
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
68
1
0
-3
-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
71
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
0
0
0
0
0
0
0
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
7
-24
44
20
0
-3
0
0
0
0
0
15
1
0
-12
-9
34
6
34
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
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
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-2
18
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
11
10
0
0
0
0
0
0
0
0
0
0
0
-4
0
-38
3
0
0
7
0
0
0
0
0
0
0
0
-68
0
4
44
45
-13
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-4
26
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
-2
-10
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-1
0
0
0
20
0
0
0
0
0
0
0
0
3
29
2
-3
-47
-4
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
-11
-1
0
0
2
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
1
0
0
0
57
15
5
-6
0
0
0
4
0
0
0
0
0
0
0
0
5
-4
15
18
2
-30
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
1
0
0
0
-9
13
1
13
0
0
-27
18
0
0
0
0
0
2
0
0
39
-18
-3
-5
-13
28
-15
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-42
-1
1
3
0
0
0
10
0
0
0
0
0
0
0
0
19
0
0
0
0
0
41
0
0
0
0
0
0
0
0
4
-48
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
2
0
2
0
0
0
15
0
0
0
0
0
0
0
0
0
-21
0
1
0
0
0
0
-12
-17
3
11
3
0
0
0
-5
1
-25
-10
0
0
-7
3
0
0
0
0
0
7
0
0
-5
-7
10
-2
-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
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-1
-32
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
-20
0
0
3
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
-44
0
0
0
0
0
0
0
0
0
42
0
1
-1
0
0
0
3
0
0
0
0
0
0
0
18
24
0
-5
0
0
0
2
0
0
0
0
0
0
0
0
1
-15
-29
-27
26
0
4
0
27
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
2
1
0
0
-1
0
0
0
-8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-18
0
0
3
0
0
0
22
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
11
-6
0
-2
11
0
0
0
12
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-41
0
0
0
0
0
0
0
0
-3
-27
0
0
-3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
-31
0
0
4
0
0
0
0
0
-1
11
0
9
-19
-38
-68
17
3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
15
0
17
-6
0
0
-37
0
0
0
0
0
0
0
0
26
-12
10
-28
16
1
3
0
20
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
31
0
1
-16
0
0
0
6
0
0
0
0
0
0
0
0
-14
0
-1
0
0
0
-6
0
0
0
0
0
0
0
0
5
58
-6
2
10
6
0
0
-6
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
22
0
0
0
0
0
0
0
0
-10
-37
-2
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
5
-12
4
0
1
0
0
0
0
0
13
-63
0
15
-5
-35
-13
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
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-44
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-12
2
-1
2
0
0
7
0
0
0
0
0
0
0
0
-42
-15
-5
-1
12
-16
0
0
-13
0
0
0
0
0
0
0
0
7
31
-51
16
-14
0
4
0
0
0
0
0
-5
-9
0
18
13
-15
-21
-1
2
-50
0
-17
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
17
29
0
0
7
2
0
0
-11
0
0
0
0
0
0
0
0
26
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
0
-60
0
0
-2
3
0
0
10
0
0
0
0
0
0
0
0
11
16
-10
-6
0
0
22
0
0
0
0
0
11
0
0
-57
-35
-24
-25
-2
-9
0
0
-12
0
0
0
0
0
0
0
0
-8
0
0
4
0
0
1
0
0
0
0
0
0
0
0
5
4
0
0
25
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
-4
0
10
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
-10
3
6
-12
-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
1
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-3
-21
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
0
0
0
49
-33
8
-26
-8
0
0
0
0
0
0
0
-4
-19
0
-12
0
-54
-17
-19
-12
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-31
0
0
0
0
0
0
0
0
-9
-14
0
-4
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
-2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
2
0
0
-74
0
0
0
0
0
0
0
0
-10
-12
0
23
14
27
2
0
0
0
0
0
0
0
0
0
0
8
1
0
14
-1
0
-10
0
0
0
0
0
4
1
0
-18
0
47
24
19
4
-14
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
-6
-15
0
-2
-1
1
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
0
-10
-4
6
18
-41
1
1
0
0
0
0
0
0
0
0
0
0
37
0
2
-5
0
0
-6
0
0
0
0
0
0
0
0
-30
-18
-8
25
13
28
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
31
-12
-1
-26
7
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
-1
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
-32
0
-29
7
0
0
0
12
22
2
4
0
0
2
-9
0
0
0
0
0
0
-3
0
-11
-4
29
52
14
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
-9
3
30
2
0
0
0
-10
-1
0
-6
0
0
0
12
0
0
0
0
0
-2
-1
0
29
2
27
3
31
-52
4
0
27
-4
0
0
0
0
0
0
2
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
10
0
0
7
3
-1
0
0
-4
0
-2
2
-3
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-38
-41
-8
-22
-67
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
-7
2
0
-7
-4
0
0
0
10
-4
-21
-22
-10
0
0
0
-10
-18
13
42
0
0
-75
5
0
0
0
0
0
-16
7
0
3
-5
-35
-15
-6
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
34
-8
0
-9
-1
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
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
-11
3
0
-1
0
0
0
0
9
7
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-16
-43
-6
-5
-7
0
-10
0
2
2
-31
44
-4
0
0
0
-7
-70
-3
3
0
0
-17
19
0
0
0
0
0
0
0
0
-8
-41
13
18
-32
-2
11
0
-3
1
0
0
-2
0
0
0
0
-1
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-36
-11
0
-23
45
-2
0
0
-11
24
4
-6
0
0
0
0
4
-21
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-51
-6
13
-3
14
-8
0
0
-17
4
3
-8
0
0
0
0
25
20
0
0
0
0
-8
-25
0
0
0
0
0
0
0
0
-4
-50
15
43
-33
-15
1
0
-26
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-22
16
1
23
7
0
-3
0
19
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
-6
-2
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
28
4
-29
-3
0
0
0
0
0
0
0
14
15
0
-5
-4
-20
-21
27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
1
0
0
0
9
0
0
0
0
0
0
0
0
-52
33
2
9
-34
23
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
10
0
2
11
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
36
0
0
0
0
0
0
0
0
3
-56
0
1
-23
0
0
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-34
12
1
16
52
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
4
-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
15
2
-4
32
-56
0
4
0
0
0
0
0
47
7
0
-5
-10
-5
4
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-2
33
0
0
-5
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
-1
36
-17
0
31
0
0
0
0
0
0
0
0
32
23
-34
29
36
13
20
0
-8
0
0
0
0
0
0
0
0
27
2
67
-30
27
0
-6
0
0
0
0
0
17
-30
0
8
-9
-3
-3
7
-7
-9
0
39
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
25
0
0
0
0
0
7
0
0
49
-26
1
33
8
-13
0
0
-35
0
0
0
0
0
0
0
0
8
-6
4
-25
-1
0
-9
0
0
0
0
0
-2
0
0
10
-6
14
38
5
-35
13
0
12
0
0
0
0
0
0
0
0
-6
0
1
-6
-2
0
23
0
0
0
0
0
0
0
0
18
-14
35
31
-11
37
24
0
68
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
-6
-26
0
-15
26
0
2
0
-9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-9
47
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
6
0
0
0
0
0
16
0
0
0
0
0
-6
-2
0
-23
22
-15
-53
-9
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
-22
0
0
0
0
0
0
0
0
-12
1
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
13
0
9
1
0
-2
0
0
0
0
0
-41
1
0
2
14
-27
6
4
12
-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
-1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
3
-18
7
1
-32
3
-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
13
-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
20
0
0
14
0
0
-12
0
0
0
0
0
-1
0
0
-3
18
-6
4
27
-30
13
0
0
0
0
0
0
0
0
0
0
-8
-11
0
20
-49
0
3
0
0
0
0
0
4
-3
0
2
0
21
1
10
5
35
0
0
0
0
0
0
0
0
0
0
-16
0
0
4
0
0
4
0
0
0
0
0
0
0
0
-12
11
-2
24
12
-2
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
17
0
0
0
0
0
0
0
0
56
-2
0
10
39
12
-6
0
0
0
0
0
0
0
0
0
0
-4
4
0
42
-1
0
8
0
0
0
0
0
4
6
0
8
-6
22
67
34
25
-1
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
-15
28
-8
-22
13
15
10
0
0
0
0
0
0
0
0
0
0
1
0
0
7
0
0
-15
0
0
0
0
0
0
0
0
1
2
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
40
20
-13
-65
0
0
0
43
-10
-15
0
0
0
-21
1
0
0
0
0
0
-23
0
0
-15
37
0
-3
-7
13
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
7
-5
9
0
0
0
27
1
0
0
0
0
3
-8
0
0
0
0
0
0
0
0
-20
13
-6
-20
-47
-51
12
0
60
0
0
0
0
0
0
0
1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
29
-1
-9
-69
1
4
0
10
-1
0
0
0
0
0
0
0
2
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-16
10
-5
6
34
-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
47
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
1
-3
0
-42
-8
3
0
-6
-21
24
17
35
0
0
0
-11
-11
34
0
0
0
26
-2
0
0
0
0
0
28
19
0
4
0
22
16
8
1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
3
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-6
-2
-7
0
11
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
-26
0
1
9
19
0
3
0
0
0
0
0
0
0
0
0
0
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
36
-7
0
0
0
0
-6
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
10
14
5
62
13
32
37
0
-3
-17
41
-23
20
0
0
0
-24
-14
-4
0
0
0
32
-1
0
0
0
0
0
-39
-12
0
3
7
9
15
8
18
-47
0
-9
3
0
2
0
0
0
0
-1
6
0
0
0
0
-1
-5
0
0
0
0
0
6
0
0
-17
47
-10
-11
13
12
-18
0
5
4
0
0
1
0
0
0
0
5
0
0
0
0
0
-38
0
0
0
0
0
0
0
0
4
13
16
0
34
-2
8
0
17
34
7
35
2
0
0
0
-18
6
0
0
0
0
-1
4
0
0
0
0
0
0
1
0
-23
13
-31
-38
1
15
-15
0
-8
2
0
-3
0
0
0
0
0
51
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
22
26
14
35
0
1
17
0
-38
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-2
3
0
4
27
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
-43
-93
0
53
-22
0
-2
0
0
0
0
0
-3
-25
0
17
59
46
40
-24
-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
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
29
0
0
0
0
0
0
0
0
29
15
-67
-21
33
16
4
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
27
1
-1
2
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
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-2
0
0
14
44
20
-3
-43
-16
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
36
-8
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-9
16
0
40
1
0
-1
0
0
0
0
0
-30
33
0
-5
18
-6
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
2
-5
0
-15
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
26
12
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
-2
0
0
0
0
0
0
0
0
-3
-38
0
-29
48
0
-6
0
0
0
0
0
11
6
0
3
41
14
15
3
-10
-12
0
51
0
0
0
0
0
0
0
0
-4
-6
0
103
0
0
32
0
0
0
0
0
-16
0
0
12
75
9
1
59
-4
18
0
42
0
0
0
0
0
0
0
0
-6
0
0
57
0
0
10
0
0
0
0
0
3
-1
0
3
31
48
-33
7
-38
6
0
-7
0
0
0
0
0
0
0
0
-16
0
0
3
0
0
-25
0
0
0
0
0
0
0
0
-56
36
2
-11
10
-12
0
0
-53
0
0
0
0
0
0
0
0
-1
-15
0
74
-11
0
-2
0
0
0
0
0
16
1
0
-4
20
25
-6
4
12
-25
0
-33
0
0
0
0
0
0
0
0
5
0
0
9
0
0
-6
0
0
0
0
0
0
0
0
36
36
-21
61
-19
-4
16
0
39
0
0
0
0
0
0
0
0
4
0
0
-10
0
0
-11
0
0
0
0
0
0
0
0
-33
23
-37
8
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-17
0
0
0
0
0
0
0
0
-30
-20
27
47
74
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
4
0
-6
-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
24
-17
0
2
0
0
0
0
0
35
-24
0
-2
9
22
-8
8
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
14
0
5
-2
42
0
-11
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
8
6
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
-48
-1
0
18
0
0
0
0
0
0
0
0
-9
10
48
2
-29
-5
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-3
0
1
0
0
0
0
0
66
-8
0
14
0
-2
0
-8
-24
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-24
0
-17
0
0
0
0
0
0
0
0
34
2
1
-3
24
12
29
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-18
0
-1
0
0
0
0
0
-2
0
0
-1
3
11
-11
7
-17
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
41
0
3
0
0
0
0
0
44
-2
0
1
-8
-11
-3
34
-23
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
-9
0
0
0
0
0
0
0
0
36
-8
21
27
-52
-1
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
27
0
0
0
0
0
0
0
0
-44
0
3
-17
-3
-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
32
-14
-15
50
0
0
0
-65
0
0
0
0
0
36
-8
0
0
0
0
0
-14
2
0
-11
-50
-13
3
43
40
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
0
0
0
0
-4
0
0
0
0
0
3
-25
0
0
0
0
0
0
0
0
-69
-60
-23
-28
-27
20
-57
0
-46
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
-14
-23
-11
0
1
0
25
2
0
1
0
0
0
0
0
0
0
0
0
0
10
-3
0
0
0
0
0
0
0
0
44
23
56
-21
31
-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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
12
0
0
8
0
0
0
0
0
29
2
16
-15
0
0
0
24
0
0
0
0
0
38
1
0
0
0
0
0
-6
-4
0
-15
-7
2
9
0
-20
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-10
12
-6
38
0
-7
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-3
-2
-8
-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
20
11
2
-25
0
0
0
0
-7
0
0
0
0
0
-17
0
0
0
0
0
0
0
1
0
40
26
10
-2
-18
-29
-9
0
11
11
-34
-2
-16
0
0
0
13
0
0
0
0
0
-10
-3
0
0
0
0
0
37
-4
0
-2
6
-3
2
-3
-9
15
0
-29
-33
-22
0
1
0
0
0
-25
0
0
0
0
0
4
6
0
0
0
0
0
0
0
0
44
24
29
23
-21
-1
-14
0
13
-21
-24
-36
0
0
0
0
-53
0
0
0
0
0
-9
6
0
0
0
0
0
6
23
0
28
7
2
3
-27
29
11
0
-8
-42
-69
-36
-40
0
0
0
-37
0
0
0
0
0
-20
-8
0
0
0
0
0
-8
4
0
-32
-31
6
-1
35
36
-30
0
-68
-12
-3
-7
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
59
-3
12
-9
-19
0
-26
0
16
2
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-15
-4
-10
-18
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-1
0
-8
0
0
0
0
0
2
0
0
21
20
19
-1
50
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
-6
-11
18
3
-6
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
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
-23
0
0
0
0
0
0
0
0
0
0
0
22
-8
0
-3
0
0
0
0
0
-33
27
0
2
-11
2
-9
-15
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
-1
1
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
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
33
0
0
0
0
0
0
0
0
0
0
0
-35
-1
0
-5
0
0
0
0
0
0
0
0
15
-43
16
3
-44
28
-18
0
23
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-27
0
0
0
0
0
0
0
0
51
11
-7
49
20
11
40
0
-36
0
0
0
0
0
0
0
0
0
0
0
-37
-44
0
-5
0
0
0
0
0
4
0
0
17
27
-7
2
-13
24
27
0
-13
0
0
0
0
0
0
0
0
0
0
0
-13
-15
0
-5
0
0
0
0
0
4
11
0
19
22
-25
3
15
88
8
0
-17
0
0
0
0
0
0
0
0
0
0
0
-13
-6
0
-25
0
0
0
0
0
0
0
0
-20
55
44
-17
53
-13
6
0
-21
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
23
20
34
-18
22
0
18
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
49
-2
-4
16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
7
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-17
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
10
3
-11
19
-4
0
-5
0
0
0
0
0
0
0
0
-7
12
11
-19
-45
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-40
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
2
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
2
7
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-24
0
-7
-8
0
0
20
0
0
0
0
0
0
0
0
-10
0
-2
3
9
-13
1
0
-3
0
0
0
0
0
0
0
0
4
0
0
6
0
0
-54
0
0
0
0
0
0
0
0
2
11
1
3
3
0
-2
0
-7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
48
0
0
0
0
0
0
0
0
1
-19
-23
3
0
0
0
0
29
0
0
0
0
0
0
0
0
10
0
0
1
0
0
36
0
0
0
0
0
0
0
0
-4
-5
1
-7
1
0
0
0
10
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
-14
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-24
-10
-28
-28
0
0
0
-5
6
13
-18
0
0
14
2
0
7
1
0
-1
9
-9
0
-30
29
21
-4
21
8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
0
0
0
0
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
25
0
0
0
0
0
0
0
0
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
-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
-33
0
-2
0
0
0
13
0
0
0
0
0
0
0
0
0
-55
15
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
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
0
0
-1
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
-5
36
0
-3
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
-11
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-31
10
11
5
0
18
0
4
0
-1
0
-9
-13
0
-5
19
-30
-18
50
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
-1
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-4
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
7
0
0
-17
0
0
0
0
0
0
0
0
3
-7
22
12
0
-24
0
0
0
0
0
0
0
0
0
0
0
4
-11
-20
3
0
0
12
0
0
0
0
0
0
0
0
14
11
12
16
0
-2
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
-30
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
16
0
0
0
0
0
0
0
0
0
43
8
0
-17
1
0
0
0
0
0
0
0
0
0
0
0
20
-2
-9
3
0
0
-12
0
0
0
0
0
2
0
0
4
31
-38
3
-6
16
-2
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
8
-3
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
0
-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
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-16
0
0
0
0
0
0
0
0
-13
-13
0
21
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-4
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
14
0
0
0
0
0
0
0
0
-32
0
-3
25
3
0
-2
0
0
0
-1
-2
4
1
0
-47
22
-10
-13
-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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-6
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
-21
0
0
0
0
0
0
0
0
11
13
0
-8
16
0
11
0
-1
0
0
0
0
0
0
0
0
24
0
0
3
34
0
-28
0
0
0
0
0
-1
1
0
68
0
-4
-18
-26
0
26
0
-31
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
-2
-6
0
-7
0
0
0
0
-16
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
-11
12
0
10
3
-2
0
0
9
0
0
0
0
0
0
0
0
29
0
0
12
-4
0
22
0
0
0
0
0
0
0
0
-8
23
0
58
36
-2
16
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
3
-8
0
-12
1
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
6
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
9
-2
-3
2
0
0
0
-28
4
1
5
0
0
-2
-19
0
0
0
0
0
0
0
0
9
0
2
-7
18
-2
4
0
8
-2
0
0
0
0
0
0
2
-3
0
1
0
0
0
-19
0
0
0
0
0
0
0
0
-11
2
-15
21
-13
-1
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
26
10
46
-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
23
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
5
-9
18
32
-20
0
0
0
18
26
10
21
0
0
15
7
0
0
0
1
0
-22
7
0
-42
19
-8
1
-18
-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
-8
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
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
0
0
-11
12
3
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
-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
-14
-2
-2
0
0
0
0
0
0
4
0
0
0
0
0
4
0
0
0
0
0
0
0
0
12
0
-19
4
3
0
6
0
-35
7
-28
63
13
0
0
0
6
3
-3
-6
0
0
8
-18
0
0
0
0
0
20
-1
0
44
-46
22
-93
-2
23
11
0
-7
1
0
0
-2
0
0
0
-6
0
0
0
0
0
1
-40
0
0
0
0
0
0
0
0
28
-20
29
30
14
3
-4
0
14
4
6
0
0
0
0
0
-18
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
-38
43
-7
1
1
3
10
0
25
-16
0
9
0
0
0
0
1
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
10
-46
12
0
-2
0
3
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
1
3
12
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
-1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
1
0
0
24
0
0
0
0
0
0
0
0
-2
64
0
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
-1
0
-13
0
0
0
0
0
0
0
0
0
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
-7
0
0
0
0
0
0
0
0
6
11
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
-7
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
-38
12
-6
-37
-2
0
10
0
0
0
-1
1
-3
2
0
58
-27
-5
-17
29
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
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-7
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-23
-3
0
43
0
0
0
0
0
0
0
0
21
43
21
14
-9
30
-1
0
0
0
0
0
0
0
0
0
0
8
3
6
-6
4
0
-9
0
0
0
0
0
0
2
0
-24
-11
24
36
29
-16
-1
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
-1
3
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
-7
0
0
0
0
0
0
0
0
-8
15
0
11
-1
-3
0
0
0
0
0
0
0
0
0
0
0
5
2
3
3
0
0
-12
0
0
0
0
0
0
0
0
17
-47
11
15
12
7
-15
0
0
0
0
0
0
0
0
0
0
-1
1
0
-2
0
0
2
0
0
0
0
0
0
0
0
-1
13
0
-19
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-22
0
0
0
0
0
0
0
0
0
-4
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
30
-2
0
-14
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
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
-6
0
0
0
0
0
0
0
0
35
0
-1
47
43
0
18
0
1
0
0
-2
-1
0
0
-25
-49
-7
-6
66
-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
5
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
-3
-3
0
1
2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-4
0
0
0
0
0
0
0
0
0
0
17
16
-1
-10
3
7
0
0
7
0
0
0
0
0
0
0
0
24
0
-2
-27
0
0
-3
0
0
0
0
0
-1
0
0
16
0
-19
-23
15
24
-11
0
-15
0
0
0
0
0
0
0
0
0
0
0
1
0
0
27
0
0
0
0
0
0
0
0
7
-1
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
-1
0
0
-17
-11
0
-3
0
0
0
0
0
0
0
0
-10
10
-4
-3
53
-21
0
0
7
0
0
0
0
0
0
0
0
-7
0
0
-22
-2
0
-27
0
0
0
0
0
0
0
0
-1
-75
8
-11
-19
7
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
15
0
-11
10
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
7
-2
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
2
0
0
0
0
18
-2
1
-2
0
0
11
-1
0
0
0
0
0
0
0
0
-39
-14
0
-45
-48
0
4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
-3
-6
0
25
-2
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-26
2
0
-27
-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
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-2
16
-1
3
-1
0
0
0
-1
-23
-19
-35
21
0
0
0
-11
-30
0
-18
0
0
-17
7
0
0
0
-1
0
-11
0
0
27
-21
12
16
16
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
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
13
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
-15
0
0
0
0
0
0
0
0
-2
8
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
-3
1
0
0
0
0
6
21
0
0
0
0
0
0
0
0
35
-7
-3
-11
0
9
10
0
16
8
-7
-6
-3
0
0
0
10
13
0
-2
0
0
-10
-23
0
0
0
0
0
0
1
0
11
18
-18
32
-21
-12
-1
0
34
0
0
0
0
0
0
0
3
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
-6
0
-14
0
1
0
0
-60
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
41
0
0
0
0
0
0
0
0
17
-30
1
39
0
0
0
0
-4
27
-4
-3
-1
0
0
0
-8
4
0
0
0
0
-3
-28
0
0
0
0
0
0
0
0
23
11
-12
-30
19
-1
8
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
1
6
0
-4
6
0
-2
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
51
0
-1
0
0
0
-1
0
0
32
-58
0
35
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
-3
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
-15
1
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
1
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
-43
49
7
0
-4
0
1
0
1
1
0
0
0
34
-18
12
-25
-9
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
-3
-4
0
-20
0
0
0
0
0
1
0
0
-9
-3
7
-7
22
15
1
0
0
0
0
0
0
0
0
0
0
-14
0
-11
-4
9
0
7
0
0
0
0
0
4
0
0
-4
-3
9
-25
7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
8
0
0
0
0
0
0
0
0
-5
15
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
2
0
0
40
0
0
0
0
0
0
0
0
2
-4
0
8
15
0
0
0
0
0
0
0
0
0
0
0
0
-16
3
3
-1
0
0
12
0
0
0
0
0
1
0
0
-37
5
6
1
16
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
38
0
0
0
0
0
0
0
0
4
-17
0
-6
-3
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
-11
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
-24
1
-10
37
-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
9
0
0
0
0
0
0
0
0
-3
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-24
0
14
-35
-4
0
-18
0
-1
0
0
0
-10
0
0
42
8
-23
2
57
21
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
-5
0
0
-2
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-2
0
0
0
0
0
0
0
0
0
0
-30
4
1
0
9
-2
3
0
-4
0
0
0
0
0
0
0
0
-18
0
7
12
1
0
-7
0
0
0
0
0
1
0
0
-22
0
-1
-12
-1
14
-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
2
10
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
0
-3
-16
0
0
-4
0
0
0
-26
0
0
0
0
0
0
0
0
15
0
0
3
0
0
-23
0
0
0
0
0
0
0
0
-4
-4
0
6
-39
-1
-6
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
-1
20
0
0
3
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-7
-1
-3
8
0
0
0
6
8
0
-1
0
0
-1
-9
0
0
0
0
0
0
0
0
-3
-6
22
9
35
-6
11
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
3
-11
0
2
-2
0
2
0
0
-1
0
0
0
0
0
0
0
-10
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-17
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
6
43
-9
-23
6
0
0
0
-29
-24
7
12
0
0
2
4
0
1
0
0
-1
2
2
0
38
11
12
-35
8
-11
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
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
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
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
-1
0
0
0
0
0
21
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
2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-2
0
-3
0
0
0
0
4
3
0
0
0
0
-6
-18
0
0
0
0
0
0
0
0
1
-17
6
9
-2
0
0
0
34
-19
-1
29
1
0
0
0
3
-6
-3
0
0
0
4
18
0
0
0
0
0
0
0
0
-22
9
-17
-7
1
4
6
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-12
-2
0
0
17
0
0
0
-6
3
1
-1
0
0
0
0
-1
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
0
38
-17
-4
4
-15
-3
-2
0
-42
7
1
3
0
0
0
0
0
26
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
5
12
7
9
-8
1
-11
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-6
7
0
4
-4
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-3
0
0
-23
0
0
0
0
0
0
0
0
1
13
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
0
0
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
-4
0
0
-1
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
-17
0
-4
-1
-1
0
19
0
0
0
0
1
9
11
0
-18
-9
39
-27
4
-43
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
-30
0
0
0
0
0
0
0
0
1
-6
2
-6
24
4
1
0
0
0
0
0
0
0
0
0
0
35
0
-8
-13
-1
0
12
0
0
0
0
0
0
0
0
11
2
8
-9
16
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
6
0
0
0
0
0
0
0
0
4
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
12
0
0
0
0
0
0
0
0
6
21
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
10
0
0
0
0
0
0
0
0
-2
-24
-4
1
-17
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
-1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-23
0
-12
-10
-21
0
-2
0
0
0
0
0
-1
0
0
28
-1
9
25
-55
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-1
0
0
-11
0
0
26
0
0
0
0
0
0
0
0
-1
-12
0
0
-9
1
1
0
1
0
0
0
0
0
0
0
0
1
0
0
-12
0
0
26
0
0
0
0
0
0
0
0
-37
0
16
-3
1
-17
2
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
2
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
0
0
0
0
0
0
0
0
12
0
6
-6
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
0
0
0
0
0
0
0
4
0
0
2
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
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
8
0
-1
0
0
1
6
0
0
0
0
0
0
0
0
21
18
-1
-10
13
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
1
-2
0
0
-3
0
0
0
-15
-11
-12
1
-10
0
0
0
15
-6
1
-5
0
0
-5
12
0
1
0
0
0
1
-1
0
29
-9
-34
-6
30
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
-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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
-11
-10
-1
2
-4
0
1
0
-9
3
-3
-7
4
0
0
0
-2
0
0
0
0
0
-6
-36
0
0
0
0
0
0
1
0
4
27
-18
-8
-3
-2
9
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
0
0
0
0
0
0
0
13
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
4
12
0
0
6
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
34
0
0
0
0
0
0
0
0
-2
0
0
-8
-3
0
1
0
4
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
47
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
-1
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-1
0
0
0
-2
0
0
6
1
-4
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-6
0
0
6
0
0
0
0
0
0
0
0
-3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-1
0
-18
0
9
4
0
-2
0
0
0
4
2
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
11
0
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
13
-2
1
-1
0
0
0
-27
0
12
0
0
0
0
0
0
7
3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
8
0
-9
8
1
0
-6
0
13
0
2
1
2
2
0
-16
3
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
0
4
0
0
0
0
-1
0
0
0
0
5
10
-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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
8
-12
11
-12
0
0
1
-5
0
0
0
0
-1
0
0
0
25
-39
1
14
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
5
0
0
0
0
0
1
0
0
0
-10
-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
-1
0
0
0
0
0
0
0
0
-18
-4
0
0
-2
0
8
0
0
0
0
0
0
0
0
0
-9
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
8
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-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
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
-12
0
0
0
0
0
0
0
0
5
-6
-2
-2
21
0
-3
0
0
0
0
2
0
2
0
-7
29
4
-14
12
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
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
-27
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
-6
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
3
0
-18
0
0
0
0
0
-1
0
0
-8
-17
6
41
11
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
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
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
14
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
1
0
0
0
5
0
0
0
0
0
0
0
0
1
-16
1
7
11
2
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
0
-1
0
1
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
7
-5
-1
16
0
0
-11
-1
0
0
0
0
0
-1
0
0
-6
5
-4
11
-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
17
0
0
0
0
0
0
0
1
-3
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
-2
-5
0
0
-3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
-1
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
-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
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
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
7
-21
-1
0
2
0
0
0
0
0
-1
0
0
7
19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-3
0
0
0
-4
0
0
0
0
0
-2
0
0
2
-42
0
17
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-13
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
16
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
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
5
1
16
4
20
0
-1
0
0
0
0
0
13
0
0
-19
9
-19
11
-26
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
9
0
1
-2
0
0
0
24
0
0
0
0
0
0
0
0
3
1
-2
-12
0
0
30
0
0
0
0
0
0
0
0
3
-37
3
0
-6
1
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
3
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-1
0
-23
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
0
0
0
0
0
0
0
0
13
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
24
0
0
0
0
0
0
0
0
0
18
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
4
1
-10
7
0
11
0
0
0
0
0
-1
0
0
-11
-1
-16
4
4
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
-7
0
-3
0
0
0
20
0
0
0
0
0
0
0
0
-8
0
-12
-4
-12
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
-1
0
0
0
9
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-12
1
6
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
-25
0
0
0
1
0
0
0
-3
37
0
6
0
0
-1
18
0
0
0
0
0
0
0
0
17
0
-7
8
-20
10
2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
-20
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
9
-1
0
2
3
0
0
0
-20
9
1
-19
0
0
3
-3
0
0
0
0
0
-2
1
0
8
2
-1
-3
9
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
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
-2
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-38
0
0
0
0
0
0
0
0
0
30
0
0
-1
0
0
0
-15
0
0
0
0
0
0
0
2
-4
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
-1
-10
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-35
0
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
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-1
-3
0
0
3
0
0
0
0
0
-1
1
0
-38
-14
-19
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-1
0
0
-83
0
0
0
0
0
0
0
0
1
17
0
0
-8
-2
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
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
0
0
0
0
-1
-23
0
4
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
0
-46
2
-1
-13
9
0
9
0
0
0
0
0
1
-7
0
-1
-17
-5
-21
26
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
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
9
0
0
0
0
0
0
0
0
15
0
-1
0
0
0
11
0
0
0
0
0
0
0
0
-1
-4
1
0
-15
0
0
0
-3
0
0
0
0
0
0
0
0
-14
4
-11
47
-2
0
13
0
0
0
0
0
-1
0
0
10
3
-6
-3
16
8
-7
0
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
-11
0
0
-15
0
0
0
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-46
0
0
0
0
0
0
0
0
0
-9
0
0
0
1
0
0
11
0
0
0
0
0
0
0
0
19
2
-2
-2
0
0
3
0
0
0
0
0
0
0
0
15
28
-3
0
-6
-1
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
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-6
1
0
-15
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
13
0
-6
-3
-4
0
-14
0
0
0
0
0
-6
0
0
-2
4
-35
11
-29
-33
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
1
14
0
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
-1
0
0
-4
0
0
0
0
0
2
0
0
-22
0
-9
-53
8
-9
2
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
17
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-16
-14
0
3
1
-2
0
0
0
0
0
0
0
0
0
0
0
9
0
1
0
0
0
33
0
0
0
0
0
0
0
0
9
-34
-1
0
2
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
1
2
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-2
0
0
0
-5
6
1
0
0
0
0
-4
0
0
0
0
0
0
1
0
-17
24
-9
-36
-1
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
0
8
2
0
0
0
3
6
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
8
6
3
-26
27
-10
0
0
-13
-2
0
0
0
0
0
0
8
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
-1
0
20
-3
0
0
0
13
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
0
0
0
0
0
0
-8
13
-3
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
21
2
-19
-17
-3
0
0
0
-4
-17
-3
13
0
0
-25
11
0
0
0
0
0
-7
-1
0
17
-12
11
-43
-27
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
-2
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
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
2
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
2
-19
-2
0
0
0
0
0
-19
-1
-11
4
0
0
0
0
12
-1
-1
0
0
0
-1
-29
0
0
0
0
0
-1
0
0
-6
-17
14
-26
-4
10
4
0
-11
1
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
-2
7
0
0
0
-35
2
2
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
12
-5
0
-10
4
3
0
0
-3
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
-10
1
16
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
-6
1
-6
0
0
0
0
-9
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
19
0
0
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
-46
17
0
3
0
0
11
0
0
0
0
0
0
0
0
24
4
-9
-10
11
-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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
7
18
0
4
15
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
-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
-1
-3
0
0
-1
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-3
11
0
2
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
25
0
-24
4
-15
0
4
0
0
0
0
0
41
2
0
1
-5
33
21
-6
-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
-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
-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
-22
0
0
0
0
0
0
0
0
1
1
0
10
0
0
-5
0
0
0
0
0
0
0
0
10
5
-6
-8
-5
-1
0
0
16
0
0
0
0
0
0
0
0
24
-3
20
-29
0
0
-9
0
0
0
0
0
-2
0
0
22
19
-2
-8
-13
15
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
36
0
0
0
0
0
0
0
0
0
-1
0
0
1
-6
0
0
-16
0
0
0
0
0
0
0
0
11
0
0
4
-1
0
-19
0
0
0
0
0
0
0
0
18
6
-2
16
-13
-15
0
0
12
0
0
0
0
0
0
0
0
2
0
0
-1
-1
0
9
0
0
0
0
0
0
0
0
4
-6
-13
11
-10
-1
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
7
0
0
0
0
0
0
0
0
1
-11
0
11
10
0
0
0
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-25
1
0
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
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
27
13
0
-3
0
0
0
0
0
1
0
0
10
-3
-14
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
17
-1
4
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
3
0
0
6
0
0
-13
0
0
0
0
0
0
0
0
3
-3
0
-8
-6
-6
2
0
0
0
0
0
0
0
0
0
0
4
-1
0
-15
-4
0
-1
0
0
0
0
0
-19
0
0
18
0
17
-10
-9
11
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
6
-4
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
2
-3
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
1
-1
0
14
0
0
0
0
0
0
0
0
-2
4
12
0
-8
-2
-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
-3
11
0
0
12
0
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
20
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-24
0
0
0
14
25
0
0
0
0
17
3
0
0
0
0
0
3
0
0
18
-26
0
-9
-3
23
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-1
0
8
0
0
0
10
4
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-31
18
9
-18
-18
0
24
0
20
0
0
0
0
0
0
0
1
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-6
2
-1
0
-15
0
2
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-14
0
5
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
2
-13
-30
-3
22
0
0
0
-39
-12
2
0
0
0
3
3
0
0
0
0
0
11
-2
0
1
4
13
34
-3
25
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-1
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
-3
0
0
0
0
1
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
23
-22
4
7
3
12
2
0
-5
-6
0
41
12
0
0
0
-18
16
-3
0
0
0
4
0
0
0
0
0
0
0
1
0
58
-37
0
-27
6
-13
5
0
-19
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
0
-16
-3
-2
0
10
0
-1
0
62
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
9
13
17
0
18
0
0
0
-14
7
0
4
0
0
0
0
8
8
0
0
0
0
0
36
0
0
0
0
0
0
0
0
7
-13
-5
-22
0
-1
-7
0
-5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
-2
0
0
0
6
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
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
37
-2
0
26
-3
0
-13
0
0
0
0
0
-1
0
0
4
-42
-30
20
-56
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
2
-1
6
1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-5
0
3
0
-13
6
-3
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
0
0
0
0
0
0
0
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
9
0
4
-6
0
2
0
0
0
0
0
-4
6
0
13
-6
-39
-17
-13
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
13
1
0
-19
1
0
-26
0
0
0
0
0
0
0
0
-27
-15
37
-10
-30
-12
-13
0
-10
0
0
0
0
0
0
0
0
6
0
0
4
0
0
5
0
0
0
0
0
0
0
0
9
-7
9
13
14
-19
-1
0
-1
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
2
0
0
0
0
0
0
0
0
33
-17
-6
-7
19
8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-3
18
7
0
13
0
0
0
-5
0
0
0
0
0
0
0
0
2
0
0
17
1
0
13
0
0
0
0
0
3
0
0
6
-35
-7
0
25
3
-6
0
-21
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-35
0
0
0
0
0
0
0
0
39
-7
-1
-4
0
0
-1
0
30
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
18
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-64
0
0
0
0
0
0
0
0
-24
-1
21
12
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
-35
0
0
0
0
0
0
0
0
2
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
4
0
-2
0
0
0
0
0
3
0
0
-26
11
14
-15
22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
0
0
0
0
0
0
0
0
5
0
13
-9
17
9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
25
0
-12
0
0
0
0
0
0
0
0
6
0
5
-12
17
-2
-3
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
15
0
0
-8
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-13
0
28
0
0
0
0
0
0
0
0
-17
7
-39
4
30
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-3
0
13
0
0
0
0
0
0
0
0
-25
-12
0
32
-37
6
13
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
4
7
-12
-33
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
1
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
4
0
-12
10
0
0
0
-28
0
0
0
0
0
11
-3
0
0
0
0
0
1
2
0
-42
19
19
12
-4
-7
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
-22
0
0
0
0
0
0
0
0
-1
-10
11
-28
12
-10
2
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
-13
22
-1
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
2
0
50
-28
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
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
3
0
0
0
0
-12
9
35
-4
-20
0
0
0
25
0
0
0
0
0
17
-5
0
0
0
0
0
-12
3
0
-4
25
-5
35
67
13
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
22
-3
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
-1
0
0
0
0
0
11
13
0
0
0
0
0
0
0
0
11
13
-9
-7
-4
0
2
0
21
17
-17
23
8
0
0
0
27
0
0
0
0
0
-3
4
0
0
0
0
0
13
0
0
-37
38
1
13
-22
7
14
0
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
21
-10
29
5
-3
3
-1
0
-16
9
0
-2
0
0
0
0
-11
0
0
0
0
0
-11
-4
0
0
0
0
0
0
0
0
5
-17
-17
50
-27
-2
1
0
-6
6
2
1
-1
0
0
0
-29
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
19
3
16
-36
-3
0
3
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-4
4
5
8
-1
0
-2
0
-33
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
7
-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
8
0
0
11
0
0
0
0
0
-3
0
0
-20
-5
7
33
49
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
3
0
6
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
-3
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
-11
0
0
0
0
0
0
18
0
10
5
-4
-22
67
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
17
0
0
0
0
0
0
0
0
32
-10
-31
10
3
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-10
0
0
0
0
0
0
0
0
-1
13
20
26
1
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
12
0
0
16
0
0
0
0
0
0
0
0
-4
26
-20
14
-2
15
-16
0
-29
0
0
0
0
0
0
0
0
0
0
0
-8
-30
0
0
0
0
0
0
0
0
0
0
5
22
1
14
-17
-7
-2
0
-24
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-16
0
0
0
0
0
0
0
0
6
-11
-16
24
3
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-4
1
-7
-7
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
1
0
0
14
27
0
0
-24
7
7
0
3
9
-20
-43
-12
4
6
15
44
16
5
-32
-8
-6
-4
-13
1
-48
-18
11
16
0
0
0
0
0
8
1
0
0
0
6
13
-19
-2
0
-2
13
-11
0
0
19
-7
18
4
0
-26
27
-61
-11
-15
30
18
9
40
54
31
-5
-30
-2
-14
-38
-29
4
-9
-22
11
6
-1
0
0
-3
-10
-18
0
0
0
4
7
1
0
13
-2
-2
0
0
3
9
-13
-21
0
-10
2
11
19
-23
9
-16
-42
9
38
-7
5
0
-21
-21
10
0
6
3
-3
-1
4
0
0
0
-3
-2
-3
0
0
4
-8
1
0
0
10
0
1
1
0
-9
4
-6
3
-2
3
35
-5
36
2
-38
0
0
-7
2
9
1
9
3
17
0
0
0
0
0
-1
-4
2
0
0
6
6
6
0
0
2
12
1
0
0
-18
25
-6
2
0
-4
-10
12
29
0
-25
-10
14
-23
-12
47
4
1
7
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
11
-12
-1
0
-3
-7
0
-6
0
-11
17
2
3
10
-50
11
-35
-49
19
-3
48
23
-48
38
2
-30
-7
22
-36
-57
1
-38
-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
-2
-1
0
0
0
12
-2
9
0
0
0
-19
6
0
0
12
-7
0
1
0
-11
2
19
25
-2
-15
-23
-5
-7
-7
0
9
3
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
21
0
0
1
-5
20
0
0
11
1
-7
-7
-2
-34
10
-14
-38
-9
8
23
13
32
-9
-2
11
-12
-7
-17
45
-20
-41
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
1
0
0
0
-15
-14
1
0
0
-16
-7
1
0
0
0
-9
10
0
0
-5
25
-3
4
-2
7
14
-26
6
-4
0
-6
11
1
5
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
33
-3
-2
0
0
1
26
-7
0
0
-17
5
-7
6
0
-10
5
20
-28
0
13
-11
-1
21
0
72
-33
-82
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
11
-3
0
0
0
-3
15
-6
0
0
14
-2
25
-1
0
-3
-1
-16
-14
0
-22
-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
2
3
0
0
0
-5
-6
0
0
0
-6
-18
-3
0
0
36
-33
-12
0
0
-8
9
-42
0
0
6
20
16
0
0
45
8
-25
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
4
-28
1
0
0
-13
14
10
0
0
-9
-1
10
0
0
-13
7
28
0
0
-14
-4
-43
0
0
0
0
0
0
0
8
0
0
0
0
-5
0
0
0
0
-26
7
0
0
0
25
10
3
0
0
-2
-3
-54
0
0
5
-10
74
0
0
17
2
-20
0
0
-19
4
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
-10
-1
0
0
0
-6
12
2
0
0
0
-48
-32
0
0
-6
8
-12
0
0
5
-2
-3
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
0
13
0
0
0
0
-7
1
0
0
0
3
-2
3
0
0
37
40
-40
0
0
2
-17
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-18
28
0
0
-12
7
10
1
0
18
-35
10
0
-2
-2
-11
43
19
-11
5
7
6
-10
10
-7
-1
4
4
27
-21
1
8
6
-8
0
0
0
0
0
12
7
-14
0
0
-5
8
17
1
0
-6
-11
2
-1
0
-19
13
-19
-7
-3
-44
-26
48
19
-12
15
13
4
13
21
10
4
1
3
-7
1
7
3
-2
2
-10
10
6
0
0
2
28
19
0
0
3
-10
9
0
0
-12
-7
-30
1
0
4
-27
46
7
12
-22
-5
-23
-38
15
0
0
-10
0
4
-12
-3
-1
-3
-10
4
-18
1
10
-6
-1
-6
2
0
0
0
-21
1
0
0
-31
15
3
1
0
13
-16
3
0
0
-16
-9
13
-19
-1
-17
-12
20
-13
-6
-9
0
3
22
-22
3
6
1
-1
2
0
0
0
0
0
0
14
0
0
0
-32
1
0
0
0
-25
-16
-2
0
0
-14
-27
13
-2
0
3
1
-29
-1
6
27
-29
-14
-8
3
11
2
2
9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
9
21
0
0
51
11
1
0
0
-1
12
-12
6
-11
-36
-22
-5
-36
-7
15
-3
11
34
-6
-12
1
0
0
-6
3
-7
-14
-3
1
0
0
0
0
0
2
3
-6
2
0
8
8
-6
2
0
2
6
8
0
0
18
1
-10
2
0
1
-5
24
-24
-7
-42
-1
6
-26
34
-19
-9
-3
-12
20
-21
18
21
2
-22
2
21
-1
0
0
-6
2
-3
0
0
0
0
0
-4
0
-12
6
10
0
0
7
11
-22
7
6
-17
13
-52
3
7
-26
-26
-19
11
51
4
-11
-19
5
9
9
5
0
-5
0
-1
0
-1
0
0
16
1
1
0
0
12
-6
-6
3
0
-29
-2
10
3
0
4
2
7
-1
2
-2
-4
-27
-13
-3
20
-11
-15
-7
-9
-7
0
2
0
20
0
0
0
0
0
11
-11
-1
0
0
-5
11
-9
0
0
1
-5
16
1
0
8
-13
-7
4
0
19
6
-38
-7
10
-46
21
17
-41
26
0
4
-12
10
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-6
0
1
0
24
14
-40
-1
0
-5
6
14
-1
16
11
-3
-4
-60
13
-42
7
1
-9
11
11
3
3
0
-7
-19
-30
-11
-1
-10
0
0
0
0
0
28
-18
6
0
0
-1
11
-2
-1
0
-17
9
-4
-1
0
-13
-15
19
8
3
-7
9
4
10
-22
1
-1
14
-8
-13
-5
2
-20
0
-9
8
-14
-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
1
-1
0
0
-18
-1
-2
0
0
-3
1
2
-1
0
-5
-12
-11
0
0
-17
-1
-8
17
0
9
9
-39
-6
6
0
8
-4
-15
-16
14
1
2
-1
0
0
0
0
0
0
8
17
0
0
0
-41
17
1
0
0
0
-9
1
1
0
8
-16
-7
-1
0
35
-21
14
0
-4
-20
1
23
-10
4
4
-2
-1
-2
11
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
-29
-18
16
0
0
-8
41
-18
-4
0
21
20
34
-52
0
1
11
-14
7
0
2
0
2
11
0
9
6
5
7
0
0
0
0
0
0
-2
0
0
0
0
-3
14
0
0
0
3
-7
-1
0
0
-47
-9
10
-1
0
-5
-8
17
-3
0
32
22
14
16
0
9
-3
-16
6
0
-2
-1
8
20
0
3
0
-2
0
0
8
0
0
0
0
0
-17
0
0
0
-14
20
-3
0
0
-27
-11
-18
-1
0
-19
4
-13
-24
0
25
-6
36
11
0
9
-3
-7
2
0
-22
-2
16
5
0
-3
0
0
0
0
-10
2
0
0
0
-20
7
0
0
0
-18
17
3
0
0
18
20
7
2
0
-4
11
-2
-13
0
0
1
-11
-50
0
-7
-1
7
-2
0
0
0
0
0
0
33
0
0
0
0
17
28
0
0
0
6
0
-7
0
0
-18
-4
10
0
0
42
18
25
4
0
4
-1
-18
-15
0
-27
-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
-5
-8
0
0
0
-2
-1
0
0
0
-20
-4
-1
0
0
0
4
-33
0
0
7
7
25
0
0
4
-2
17
0
0
-1
1
-15
0
0
0
0
0
0
0
-2
0
0
0
0
2
-2
0
0
0
27
7
0
0
0
19
11
-13
0
0
20
-6
-20
0
0
2
13
16
0
0
-13
-2
13
0
0
3
0
-17
0
0
-2
1
0
0
0
-8
0
0
0
0
-1
2
0
0
0
6
1
0
0
0
-10
1
2
0
0
19
5
-7
0
0
7
21
38
0
0
3
2
-12
0
0
-58
-5
1
0
0
-2
0
0
0
0
-5
0
0
0
0
-6
2
0
0
0
1
-1
0
0
0
24
40
1
0
0
29
26
-25
0
0
1
1
-2
0
0
-19
-11
2
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
30
0
0
0
0
23
-7
0
0
0
-10
22
-8
0
0
-4
-19
2
0
0
-7
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
15
-5
0
0
-2
-6
-13
0
0
-1
5
6
0
0
-6
-7
-10
6
-4
9
4
-5
-2
34
-6
2
4
2
5
-6
-31
5
13
-5
0
0
0
0
0
-9
-8
-3
0
0
-6
1
5
0
0
17
-19
6
0
0
29
17
15
9
-1
8
35
-47
-11
-13
-10
20
6
-21
8
-2
1
7
8
-22
0
4
-2
3
9
6
10
-1
0
0
-12
-36
4
0
0
7
10
0
0
0
-43
-22
29
0
0
16
-28
2
8
-3
-46
-2
36
1
-29
7
-9
14
-24
-5
-10
1
-1
2
7
13
-35
-1
10
1
16
16
0
0
0
-7
15
7
0
0
23
-24
1
0
0
24
-7
-12
-1
0
74
-16
13
-13
0
-24
-2
-11
-9
0
-48
4
4
-6
-29
1
18
2
-4
5
0
0
0
0
0
10
-9
0
0
0
15
4
2
0
0
10
12
-1
0
0
-2
-8
-8
0
0
-27
5
-8
0
2
12
1
-1
-24
19
2
5
2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-9
12
0
0
12
-17
17
8
0
7
-36
24
19
0
15
-34
-36
2
-5
4
-12
25
-7
20
3
7
6
1
4
30
9
2
1
4
0
0
0
0
0
-30
-37
14
-4
0
7
-15
27
-8
0
-5
-14
-16
-8
0
7
-4
18
-6
12
-13
4
-41
19
25
3
10
6
8
6
9
-2
1
-1
-6
-3
-25
0
1
0
42
-24
-2
0
0
52
29
11
0
0
-8
5
10
4
0
10
9
-20
0
0
-23
-10
15
27
-12
-20
6
1
-23
-29
2
0
6
7
0
4
-3
0
-2
5
20
6
3
0
4
24
4
-2
0
0
0
0
-10
0
0
12
-18
10
4
0
11
-7
14
2
0
-47
38
-37
-5
10
-5
-22
-9
31
10
-3
0
4
-4
3
-9
0
5
0
6
0
0
0
0
0
-10
0
0
0
0
-51
8
-7
0
0
20
19
-3
0
0
-14
3
-8
0
0
-6
-34
16
-8
0
15
-34
8
-4
-13
-1
0
-7
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-1
0
-35
-20
13
3
0
-17
27
-14
-6
0
6
13
33
-26
-12
-11
5
5
-3
-1
14
-8
9
1
0
-3
20
-4
4
-1
0
0
0
0
0
4
43
4
-6
0
3
0
8
0
0
2
0
10
1
0
12
6
-8
2
10
6
-23
34
-17
-6
-4
2
0
10
21
1
6
-2
-3
10
9
-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
4
13
-3
0
0
12
-5
-12
0
0
-24
5
9
-2
0
14
2
-12
9
-1
18
3
2
-7
4
16
-16
0
-33
26
5
-8
1
2
-5
3
2
-1
0
0
0
0
0
0
0
1
2
0
0
0
26
-22
2
0
0
-6
1
-10
0
0
-6
10
4
7
0
-15
1
-3
13
1
11
16
2
-10
12
7
-21
-1
-9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-18
-7
0
0
-24
24
-17
0
0
8
12
3
0
0
18
-20
-18
38
0
-8
1
21
18
0
2
-2
-12
-1
0
8
14
1
3
0
0
0
0
0
0
10
33
-15
0
0
11
1
-6
0
0
-8
18
15
0
0
-8
17
7
8
0
-22
21
7
-28
0
4
6
31
-24
0
1
12
-2
-1
0
0
1
15
1
0
10
-6
0
0
0
-13
-17
-1
0
0
9
23
-12
0
0
-17
27
11
1
0
-7
-34
19
6
0
16
18
-17
-28
0
0
1
-12
3
0
0
1
0
-2
0
-11
4
1
-1
0
26
-6
-1
0
0
1
-3
-2
0
0
0
15
9
0
0
5
-6
0
0
0
12
-2
39
-3
0
3
2
-28
-14
0
-4
3
2
-1
0
4
3
2
-10
0
0
0
0
0
0
-5
-1
0
0
0
0
1
0
0
0
-2
7
-2
0
0
12
2
2
0
0
11
7
-9
-2
0
-22
31
-5
26
0
24
5
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-4
7
0
0
0
6
13
-1
0
0
-28
40
15
0
0
-19
45
22
0
0
-11
1
14
0
0
1
-7
1
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
-7
-2
0
0
0
-13
2
-1
0
0
-45
32
-8
0
0
39
17
48
0
0
0
14
11
0
0
13
-3
3
0
0
0
0
0
0
0
9
0
0
0
0
1
0
0
0
0
22
0
0
0
0
-9
-15
0
0
0
-65
-14
13
0
0
6
17
0
0
0
-4
1
2
0
0
-21
-39
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
9
0
0
0
0
-29
0
0
0
0
-21
-13
-9
0
0
6
10
9
0
0
-15
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
1
0
0
0
4
1
0
0
0
18
-7
-2
0
0
-2
5
-18
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
-2
13
1
0
-13
28
15
-18
-11
17
-23
40
-26
17
9
16
-15
-12
-51
24
-42
-23
7
-44
1
0
-113
4
105
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
-1
9
1
0
0
-8
28
6
0
4
19
-7
3
-19
19
17
-10
33
-7
7
-88
22
-26
6
-32
0
-45
-15
17
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
1
-8
0
0
1
4
-8
0
0
7
6
18
19
-4
-9
5
-9
-5
-25
-41
-23
-6
-25
43
-30
-111
14
32
32
0
0
0
0
0
-1
0
-6
0
0
3
8
-1
0
0
0
8
-1
1
0
-2
-12
-4
7
0
6
-10
21
-9
0
-17
37
-33
10
14
4
-62
-12
10
47
0
0
0
0
0
0
3
-1
0
0
0
1
0
0
0
8
8
10
0
0
12
11
1
1
0
-7
41
2
-8
3
-19
18
16
28
-11
18
-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
-22
-3
-6
2
-29
-12
-12
-3
5
-6
22
20
-24
-2
5
-22
-11
19
-22
-1
-12
-28
-17
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
-2
0
0
0
0
0
2
0
0
0
1
-10
0
0
0
-3
-6
0
0
0
-2
6
1
-1
0
-26
15
-8
39
-13
-3
-25
44
-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
-3
7
-3
-1
-17
-40
5
-11
2
16
-25
36
-33
-4
-29
35
-113
21
28
0
2
-10
-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
6
1
0
0
0
-1
3
0
0
0
0
4
-1
0
0
0
-1
-10
0
0
-13
-3
2
11
-6
3
20
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
11
-4
16
-3
0
15
-13
20
-49
0
-2
29
30
2
0
11
-10
-38
16
0
-36
11
-23
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
-10
-4
0
0
0
-32
-40
9
1
0
-14
16
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
-6
0
0
0
0
10
3
2
0
0
-10
-4
4
0
0
12
-12
1
0
0
-63
31
-1
0
0
-29
-40
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-8
-1
0
0
0
14
3
-9
0
0
-16
-8
29
0
0
-8
-59
-74
0
0
-9
12
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
-1
-9
0
0
45
-3
1
0
0
-23
-12
24
0
0
0
-7
12
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
8
-21
-2
0
0
3
7
-3
0
0
10
-30
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-9
17
-16
0
0
-34
-5
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-4
-7
0
0
8
24
-33
-2
-1
-10
5
-8
47
0
-12
-8
-2
-8
-24
16
4
14
15
17
-34
-13
-8
2
-3
19
-4
-13
-51
45
0
0
0
0
0
-3
0
7
0
0
2
7
-2
0
0
-6
-1
-2
-7
0
-19
10
-15
-16
0
-28
-2
-25
15
-11
22
-13
32
36
-7
-27
-17
-18
-5
6
-26
-3
-6
-6
-2
-1
0
0
0
0
-1
3
-2
0
0
7
6
-2
0
0
-6
4
7
-2
0
-6
11
-1
-4
6
1
13
-3
18
-9
11
1
10
13
-12
-60
-19
-25
3
17
-9
-2
-6
8
30
-1
1
-2
0
0
-3
-6
6
1
0
-24
12
9
0
0
8
12
9
1
0
17
30
-1
-4
6
12
-24
-3
-24
-24
19
7
-4
39
-45
-66
-11
-6
-1
51
0
0
0
0
0
11
-8
-1
0
0
33
-9
0
0
0
3
-21
4
-3
0
-11
20
31
3
0
-4
-11
22
12
1
-28
21
-11
14
2
24
-13
-1
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
1
-6
-10
-1
0
-4
-20
16
-21
-6
16
-42
20
-11
17
-2
22
-8
-22
-5
-70
-5
1
27
1
-60
-42
-56
30
-48
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
-6
2
13
-2
-6
-1
-13
-9
-4
1
0
-15
-27
-13
-34
0
-1
7
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
-3
-4
1
4
-2
-15
-7
-4
-16
-48
1
-18
38
0
0
-10
47
-60
0
0
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
8
-2
-1
-3
-19
-24
13
-6
-10
-33
-44
-41
-16
0
0
0
0
0
-2
1
0
1
0
-19
-2
15
0
0
-17
37
2
-1
0
-8
4
9
7
0
4
8
-6
-27
-8
15
-9
2
1
-2
-32
-4
2
-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
-6
0
-6
0
0
0
-30
9
12
12
50
-14
7
-24
7
-38
1
18
-13
13
-11
8
-25
21
-17
-44
-21
30
-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
-1
0
0
8
-25
8
3
6
40
0
1
7
-7
12
-49
-22
-44
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-26
0
4
0
0
6
0
-11
0
0
0
0
0
0
-3
-2
0
0
0
-21
10
15
0
0
7
-24
8
0
0
3
-21
-16
1
0
-6
6
28
-6
1
-17
-31
32
-23
-10
-10
7
-4
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
-4
1
0
0
0
12
-1
28
6
0
-37
-10
13
12
0
13
7
5
26
0
-5
8
-1
-4
0
-8
-28
-20
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
0
0
-16
-7
10
2
0
-3
-11
9
8
0
10
-37
-42
43
0
0
61
-9
-21
0
0
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
-35
4
0
0
-19
18
-25
1
0
-17
45
-53
-21
0
3
35
27
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-2
0
0
-1
-3
6
0
0
26
-30
-23
18
0
6
49
73
-20
0
0
0
0
0
0
1
0
0
0
0
5
-15
0
0
0
-11
-1
0
0
0
21
-1
-1
0
0
21
15
-1
2
0
-38
-9
-3
-19
0
-16
11
-39
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
6
-35
3
0
0
-16
21
3
0
0
-4
20
-1
0
0
15
12
1
0
0
-14
-78
9
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
3
1
0
0
0
10
11
0
0
0
13
7
-5
0
0
-30
7
30
0
0
-11
-24
-30
0
0
-18
11
-39
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
1
0
0
0
0
9
-1
0
0
0
-20
-9
1
0
0
-15
22
-3
0
0
5
7
-31
0
0
-56
-1
14
0
0
0
0
0
0
0
8
0
0
0
0
10
1
0
0
0
-7
-4
0
0
0
10
4
1
0
0
-13
-8
28
0
0
5
-14
10
0
0
-24
40
-11
0
0
0
0
0
0
0
1
0
0
0
0
-19
0
0
0
0
18
0
0
0
0
-2
3
0
0
0
-7
6
8
0
0
4
-29
-7
0
0
18
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
16
0
0
32
-21
-6
0
0
-8
40
-28
-2
0
-19
4
22
-34
-19
-10
4
5
17
1
-22
-6
-1
10
6
-11
-3
4
15
-5
0
0
0
0
0
-4
10
-6
0
0
-21
22
0
0
0
-6
31
-5
0
0
2
-21
19
-2
-2
4
-43
16
-2
24
46
-18
10
5
-37
-51
2
-4
-14
-12
15
-3
-6
-12
41
0
-2
0
0
0
0
-2
0
0
0
-19
6
3
0
0
-7
-14
8
3
0
-2
24
-2
-13
1
-25
-58
64
-57
-3
35
8
3
14
17
-17
10
-6
28
13
4
22
-1
37
-35
-8
-4
0
0
0
21
26
-13
0
0
-11
22
13
0
0
-6
-13
-18
1
0
-15
7
-7
29
1
-27
-2
-41
23
23
23
-19
3
8
51
-16
11
9
-9
-26
0
0
0
0
0
-16
3
-1
0
0
-13
-5
11
0
0
-5
9
6
-1
0
48
-5
3
-2
0
7
-34
15
10
-10
-5
-15
-43
-11
-11
1
0
20
-22
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-10
4
0
0
-26
15
-13
-2
0
-11
4
9
-11
-3
13
-74
-2
6
-2
-6
7
-4
14
11
-9
-5
-1
-1
5
-22
-28
-19
13
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
-1
10
-2
0
-4
-21
25
0
7
4
53
36
21
-36
71
-20
41
-14
-15
-42
-64
-47
-19
55
-66
-9
-42
-1
6
0
0
0
0
0
0
0
0
0
0
0
8
-1
2
0
2
3
-2
0
0
-4
6
8
0
0
-2
-81
12
22
-11
-25
21
-11
9
12
-6
-8
14
17
-51
52
25
-2
32
17
-1
0
0
0
0
0
-1
-1
0
0
0
1
0
-1
0
-2
6
3
0
0
1
-24
-3
3
0
-14
-8
34
-35
8
0
13
28
17
-16
39
-16
-29
23
5
0
0
0
0
0
-6
-7
0
0
0
21
-20
-5
0
0
1
-3
4
0
0
3
32
2
0
0
-11
-14
18
9
-2
35
-26
-16
-27
-13
-2
27
-1
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-9
-3
0
0
-6
-4
0
0
0
-39
-17
-6
-1
4
-26
19
29
13
-21
-17
9
4
-17
8
6
1
-6
-7
-2
-28
-7
-7
21
-17
0
0
0
0
0
-1
0
1
0
0
-1
0
0
0
0
1
4
2
0
0
-8
4
-1
0
-2
20
-55
6
-32
25
51
-1
-12
-46
6
-7
-6
-14
-7
-16
-80
-29
-30
113
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-2
-1
0
0
0
7
6
0
0
-4
6
9
2
3
-19
-10
-34
1
-16
10
17
4
27
29
29
-18
-2
-19
0
0
0
0
0
0
3
-4
1
0
0
9
0
0
0
0
22
11
-8
1
0
-1
2
7
8
0
7
45
4
-27
3
-32
-3
5
17
9
47
-32
-9
8
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
-8
-9
0
0
0
-18
-7
-10
0
0
-3
-4
-10
4
0
0
5
4
26
0
-2
-2
-2
-3
0
-6
3
-38
18
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
-4
2
0
0
0
-16
-3
3
3
0
-21
-29
-18
-35
0
-8
-12
-18
-11
0
-10
4
5
-2
0
12
2
21
51
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
13
-13
0
0
0
-6
9
10
0
0
-46
3
30
-8
0
29
-6
-10
13
0
0
4
29
30
0
-42
-10
-17
-15
0
1
0
0
0
0
1
1
0
0
0
-11
0
0
0
0
25
-3
0
0
0
-8
10
-15
-4
0
-9
-20
-6
30
0
19
-11
18
-8
0
-30
-25
10
8
0
0
0
0
0
0
-5
0
0
0
0
-4
3
0
0
0
3
8
0
0
0
-7
8
-3
0
0
-18
1
-7
0
0
-2
-25
38
-5
0
32
18
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
19
0
0
0
0
-6
35
1
0
0
0
22
26
0
0
6
8
24
0
0
3
-3
3
0
0
6
1
-2
0
0
0
0
0
0
0
-1
0
0
0
0
12
0
0
0
0
13
0
0
0
0
-22
-3
0
0
0
2
-18
-15
0
0
13
14
-42
0
0
-19
-1
15
0
0
-5
-13
11
0
0
0
0
0
0
0
2
0
0
0
0
8
0
0
0
0
-11
-1
0
0
0
7
16
-10
0
0
22
-4
18
0
0
1
12
31
0
0
18
5
-4
0
0
-20
5
-14
0
0
0
0
0
0
0
-4
0
0
0
0
-6
0
0
0
0
10
6
-1
0
0
-9
-22
4
0
0
12
-15
-14
0
0
4
21
13
0
0
0
-8
22
0
0
0
0
0
0
0
-1
0
0
0
0
17
0
0
0
0
2
0
0
0
0
-28
-2
0
0
0
33
-12
2
0
0
-18
-25
41
0
0
33
40
-13
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
-46
-6
8
0
0
12
13
7
0
0
-37
29
3
-9
7
1
8
-1
24
17
-4
3
1
7
21
0
-2
11
1
-2
0
0
0
0
0
6
0
2
0
0
-17
-2
0
0
0
8
-10
9
0
0
10
-44
-13
-1
0
-38
29
1
-11
20
3
6
3
8
-1
-17
2
-1
6
-8
13
15
8
-17
16
-2
-6
0
0
0
37
0
1
0
0
3
15
2
0
0
25
-35
2
0
0
-10
14
14
3
0
35
20
-31
-13
-8
9
-2
19
-23
36
21
17
-11
15
25
-43
-49
24
49
-16
7
3
0
0
0
-25
-8
6
0
0
-13
-8
-1
0
0
3
2
-18
0
0
-2
-14
-1
0
0
1
8
37
-35
7
0
-9
-2
-3
12
-19
56
5
44
3
0
0
0
0
0
11
-3
1
0
0
-8
0
0
0
0
2
-7
0
0
0
0
19
0
0
0
-9
2
4
3
0
-22
-27
-7
3
-6
-4
57
18
-6
-24
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
-2
7
0
0
43
-9
-8
9
0
17
-51
18
-28
-5
3
3
24
9
7
-7
9
5
1
-5
6
-19
-2
-1
7
0
0
0
0
0
8
0
-3
0
0
-18
4
3
2
0
1
8
0
1
0
-22
-1
7
-6
-4
23
19
2
-33
-5
24
5
10
-16
4
-10
-13
-20
-38
16
-67
-29
15
7
-5
1
0
0
0
0
-3
-1
-6
0
0
8
-11
0
1
0
-22
0
3
8
0
20
19
-18
10
1
13
-23
-1
28
7
9
-34
-38
1
-48
17
21
19
6
29
-72
5
12
13
30
4
-2
0
0
0
-9
1
2
0
0
-16
19
1
0
0
4
-7
-4
-3
0
0
-4
-10
-6
2
13
-27
25
27
2
4
14
-6
35
0
-77
9
12
-11
35
0
0
0
0
0
0
3
0
0
0
10
-7
0
0
0
0
4
0
-1
0
12
-6
3
0
0
-1
-16
21
9
0
-17
37
-28
21
-3
9
14
-5
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-10
6
0
0
7
18
4
2
-1
20
-21
-30
18
6
17
12
19
12
20
21
-2
0
5
3
-22
-40
8
30
-2
0
0
0
0
0
3
1
1
0
0
4
-1
-3
0
0
4
-1
-11
0
0
4
-24
3
20
-2
-24
-9
-27
2
-20
-2
11
1
1
-3
-16
-4
4
44
-8
-67
-22
29
-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
2
0
0
0
0
-7
0
8
0
0
-11
1
4
0
0
-12
-7
25
0
0
2
17
19
1
0
0
4
-12
18
-38
20
10
7
-4
-16
10
-21
-18
17
16
0
0
0
0
0
0
4
0
0
0
-1
-2
0
0
0
3
-1
0
0
0
-2
-13
1
1
0
-2
7
-4
7
0
7
-22
-30
21
18
-3
59
16
-22
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
8
10
0
0
0
-1
20
-6
-1
0
26
29
-6
0
0
-24
10
-1
20
0
2
-3
3
5
0
1
11
13
11
0
0
0
0
0
0
1
2
0
0
0
2
1
0
0
0
-12
-33
0
0
0
38
-13
-6
-11
0
4
-1
5
26
0
9
-11
-9
5
0
2
4
6
-27
0
-42
6
14
17
0
0
0
0
0
0
12
-3
0
0
0
-12
7
0
0
0
9
-6
0
0
0
-1
-7
-12
0
0
25
-9
-32
5
0
4
49
13
58
0
8
7
13
-20
0
-58
-50
8
7
0
-7
0
0
0
0
24
-13
0
0
0
7
8
1
0
0
-13
10
-1
0
0
-18
-21
6
4
0
-62
-13
0
-38
0
13
6
28
20
0
28
-31
-23
22
0
0
0
0
0
0
1
0
0
0
0
3
-2
0
0
0
0
-1
0
0
0
0
-4
0
0
0
-2
1
-4
0
0
12
5
-29
22
0
-1
19
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
2
0
0
0
0
2
-2
0
0
0
-13
-28
-2
0
0
38
22
-13
0
0
11
2
12
0
0
-4
12
22
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
6
0
0
0
0
2
-4
0
0
0
-9
-9
-18
0
0
-11
-20
-11
0
0
2
9
10
0
0
16
-13
23
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
6
9
3
0
0
6
-3
35
0
0
13
-15
-2
0
0
9
20
5
0
0
0
26
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
-1
0
0
0
-12
-6
16
0
0
35
47
7
0
0
-72
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
-1
1
0
0
0
16
12
-1
0
0
0
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
2
-2
0
0
0
1
0
0
0
0
3
24
-6
-6
0
0
23
13
31
-19
-33
10
4
14
10
-6
10
9
16
-4
0
0
0
0
0
-1
0
0
0
0
-2
-2
0
0
0
0
0
1
0
0
0
22
0
0
0
-17
-7
1
-2
6
25
18
18
8
0
-5
19
5
9
13
6
-65
3
-18
12
0
0
0
0
0
-1
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-2
9
-4
-1
0
-1
13
14
-11
0
5
-5
39
13
-7
3
10
11
6
22
-28
-1
14
0
23
0
2
0
0
0
2
0
0
0
0
12
0
0
0
0
-3
0
-2
0
0
0
-4
-4
-2
0
0
-55
6
2
1
-1
-22
43
-3
17
27
115
-27
15
-70
0
0
0
0
0
-3
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
1
6
2
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
2
0
0
-3
-30
2
0
0
-6
34
15
-19
0
76
-9
27
23
3
-41
22
2
7
2
20
-18
13
-9
25
0
0
0
0
0
1
-1
0
0
0
9
-1
1
0
0
-10
17
-20
0
0
-9
13
-28
2
-1
-60
36
-16
5
-23
5
25
6
9
4
31
-2
7
-6
50
-15
-10
-3
18
-21
-1
0
0
0
0
-2
4
0
0
0
7
-2
1
0
0
0
8
-4
0
0
-13
-26
19
-2
-3
-7
32
34
-11
-10
2
-6
11
12
12
-10
13
-8
9
22
11
-4
30
-1
-59
0
1
0
0
0
0
8
0
0
0
-22
-9
0
0
0
9
10
0
0
0
2
10
38
0
0
-10
1
-8
5
-6
-25
24
9
-9
2
49
-13
15
-5
2
0
0
0
0
0
2
-6
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
-1
0
0
4
4
-3
-7
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
-1
0
0
0
0
0
0
4
0
0
0
-2
9
-12
0
2
-5
43
-2
33
-28
4
-7
8
31
12
74
-1
20
-35
0
0
0
0
0
0
1
0
0
0
-2
6
-1
0
0
2
12
7
0
0
0
13
21
0
-1
-12
-28
-6
24
4
-6
48
-7
-8
21
-41
19
-3
37
1
-4
-73
-1
-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
2
1
0
0
0
1
0
2
0
0
0
-6
2
0
0
0
-6
-24
0
0
1
-2
19
0
0
-13
16
32
-5
4
-8
-34
18
24
44
0
46
-55
6
-28
0
0
0
0
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
1
-13
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
1
0
0
0
0
-1
0
0
0
0
1
0
2
0
14
-24
-32
-3
0
44
14
-12
-2
0
-39
-18
10
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-1
0
0
1
10
4
0
0
23
1
1
16
0
11
25
-3
44
0
-6
11
7
-14
0
63
-12
-9
-11
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
36
13
8
0
0
-18
11
12
0
0
-18
-4
27
-55
0
120
-29
47
-14
0
0
13
-20
57
0
2
0
0
0
0
-4
-1
0
0
0
4
0
0
0
0
-3
-1
0
0
0
4
-3
-2
-2
0
18
-44
26
8
0
-18
26
15
-29
0
0
-1
-3
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
18
-10
0
0
3
-3
8
0
0
-4
-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
-8
-11
1
0
0
-13
-25
-30
0
0
-4
9
-6
0
0
0
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
-1
0
0
0
-4
-16
3
0
0
0
33
-13
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
3
0
0
0
9
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-10
3
0
0
12
1
-4
0
0
15
-11
-26
-7
-19
14
-10
-20
-33
-12
-4
-12
4
-11
-8
-71
30
-11
6
0
0
0
0
0
0
0
6
0
0
0
6
-7
4
0
0
-18
0
-2
0
0
-28
-3
11
-1
0
9
-17
4
-7
-6
-4
1
-20
-37
-24
-20
3
-5
2
-31
6
-7
1
4
0
-1
-1
0
0
0
3
0
1
0
0
-3
3
0
0
0
23
-9
13
0
0
23
-32
11
-8
-6
-13
41
-22
-19
35
42
9
-12
-10
1
-13
1
0
-9
0
-10
10
0
-2
-17
-6
-1
0
0
0
21
4
0
0
0
35
-15
0
0
0
-22
15
3
0
0
6
-19
5
-8
8
-14
-8
6
-32
3
-6
29
-1
-9
6
-21
-5
-7
-1
-14
0
0
0
0
0
2
3
0
0
0
11
2
-1
0
0
12
-11
0
0
0
8
-21
7
0
0
33
-8
10
-12
-1
-27
-7
0
49
-15
-4
-3
0
-5
-25
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
6
-9
-3
0
0
20
45
-13
3
0
-24
2
5
56
5
6
5
-2
-49
6
-10
-6
-7
0
-20
-6
-50
-1
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-7
3
0
0
0
-26
6
0
0
0
-4
-9
11
0
0
2
12
9
21
0
22
-36
-40
-21
-3
-2
3
12
11
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
-3
0
0
-9
1
0
0
0
11
-11
-6
4
0
-7
27
16
-14
6
-14
-3
-22
-12
19
-8
12
7
-10
-12
-8
-3
-16
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
-29
15
0
0
0
13
0
2
0
0
8
-8
2
11
0
-10
-33
12
-3
-1
11
-23
22
18
2
-18
4
9
-7
-18
-19
3
1
-5
9
-4
0
-5
11
-10
10
-5
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
-11
2
0
0
0
-2
30
-2
-2
0
13
6
8
-1
0
11
-10
-4
-1
-2
-11
1
-7
10
-32
5
0
17
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
9
0
0
0
7
-4
0
0
0
-25
1
1
0
0
10
16
-20
-7
0
27
-21
10
29
0
6
10
3
-12
0
-69
-7
-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
1
-1
0
0
0
3
-1
0
0
0
-4
0
0
0
0
7
9
3
0
0
-34
-11
-2
0
0
-11
6
-12
26
0
-1
2
1
-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
13
-6
0
0
0
13
17
12
0
0
89
-9
15
0
0
-1
7
-7
0
0
-17
-10
-27
0
0
0
0
0
0
0
-7
0
0
0
0
-1
0
0
0
0
11
0
0
0
0
0
6
9
0
0
22
-24
17
0
0
26
19
-8
0
0
-35
4
-13
0
0
-13
0
-12
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
13
22
1
0
0
7
-14
-6
0
0
8
-7
15
0
0
26
-2
0
0
0
1
5
24
0
0
0
0
0
0
0
-1
0
0
0
0
7
0
0
0
0
15
0
0
0
0
-2
-8
-2
0
0
-25
38
-28
0
0
11
11
14
0
0
3
5
8
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-11
0
0
0
0
2
0
0
0
0
3
13
-8
0
0
-2
-7
4
0
0
2
7
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-8
2
0
0
-3
-22
-4
0
0
26
-12
1
0
0
64
-15
-34
0
-3
31
-1
6
-11
9
2
4
7
4
1
-1
13
2
-4
3
0
0
0
0
0
-12
4
0
0
0
-3
6
-3
0
0
-7
0
4
0
0
14
-13
-9
6
0
12
-32
14
-51
-5
-3
7
-1
6
18
3
3
1
0
-5
8
0
-2
1
3
1
0
0
0
0
-17
9
-3
0
0
10
-25
-1
0
0
6
12
-27
0
0
-31
5
-25
3
0
34
8
-10
24
-3
21
8
-3
1
34
9
-1
4
1
-1
21
8
-2
21
-14
-1
12
0
0
0
37
10
1
0
0
-31
-31
-2
0
0
7
1
9
0
0
-31
13
34
11
-6
-28
-10
-10
-39
29
3
5
-18
-10
3
6
8
-9
6
4
0
0
0
0
0
-13
7
0
0
0
5
1
0
0
0
16
-45
2
0
0
-28
26
-8
0
0
35
14
-3
11
-4
18
-40
-28
-10
10
-1
7
19
-21
-11
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
-7
11
-3
0
0
8
47
-26
-15
0
26
-7
-28
18
-11
-42
2
-5
11
11
3
6
7
1
5
15
-12
4
0
2
0
0
0
0
0
40
-4
6
0
0
-13
-2
8
0
0
8
13
17
0
0
11
-29
17
-4
-1
-9
-41
36
-9
-18
8
3
-20
15
-3
0
2
0
1
14
4
15
-13
-3
-9
6
-3
0
0
0
-11
-1
-1
0
0
10
10
4
0
0
-9
6
6
0
0
11
5
14
6
-1
-9
-8
-5
18
14
-16
-14
12
16
-20
13
2
6
-10
-21
-1
0
-11
-18
0
3
-2
2
0
0
2
-2
0
0
0
1
-12
-3
-1
0
1
0
-10
0
0
25
-14
35
-7
-1
-25
-16
35
-25
-3
-27
1
-20
18
-19
-4
9
8
-18
18
0
0
0
0
0
7
4
0
0
0
27
5
0
0
0
-18
0
-6
0
0
17
-4
5
0
0
0
7
0
7
4
29
11
23
5
-26
-8
1
-3
-8
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
22
1
1
0
16
-23
-19
0
0
13
-20
14
6
0
2
9
19
-20
-20
13
-16
7
10
34
7
11
3
1
0
-5
10
-14
0
0
0
0
0
0
0
-2
0
-1
0
0
0
1
3
0
0
-20
7
-15
0
0
4
20
24
-9
3
13
-4
5
15
8
13
0
-1
-23
-6
-6
-3
4
0
-19
4
15
3
20
-11
53
-16
-1
-1
0
6
19
-19
-1
0
-22
9
15
-27
0
10
36
-9
4
0
-1
19
-22
2
-4
21
-7
-1
3
-7
11
1
-10
2
-2
1
-1
2
0
2
-3
-1
-1
11
-5
1
-1
0
0
0
-11
18
-6
0
0
-17
18
3
2
0
8
11
-4
6
0
1
-29
1
17
1
-2
14
-12
9
0
10
3
-19
23
38
6
0
10
-1
4
0
0
0
0
0
1
1
-1
0
0
-2
-6
5
0
0
12
20
2
4
0
-5
45
-1
-2
0
16
3
-29
10
11
-8
-17
23
3
-18
-10
1
5
-14
23
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
2
3
2
0
0
19
-10
-1
0
0
-27
3
5
4
0
17
-2
31
0
0
1
10
1
5
0
20
3
-8
-4
0
0
0
0
0
0
14
-2
0
0
0
1
-1
0
0
0
0
25
-1
0
0
1
5
-11
-4
0
-4
-7
-4
23
0
8
-6
1
2
0
21
1
-14
-19
0
-17
-20
1
5
0
1
0
0
0
0
0
4
0
0
0
-16
-12
0
0
0
0
-11
0
0
0
10
37
12
-11
0
-21
-11
-9
-12
0
53
8
10
36
0
-6
9
-1
5
0
7
0
2
-1
0
1
0
0
0
0
0
-1
0
0
0
4
-1
0
0
0
2
8
0
0
0
-36
-5
16
9
0
-5
-11
33
24
0
9
2
-11
38
0
0
3
-22
1
0
0
0
0
0
0
-1
-2
0
0
0
-3
-1
0
0
0
11
-2
0
0
0
-32
-39
0
0
0
40
19
-15
-1
0
0
32
-8
-3
0
7
10
-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
2
0
0
0
0
20
8
0
0
0
-12
-38
-7
0
0
-15
0
-17
0
0
1
16
4
0
0
12
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
9
-4
0
0
0
24
-12
5
0
0
-1
-19
-1
0
0
9
-5
-3
0
0
-5
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-6
-12
-1
0
0
-23
34
-21
0
0
8
6
2
0
0
7
-3
-10
0
0
-1
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
-9
-21
-7
0
0
28
-10
17
0
0
14
15
34
0
0
-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
-23
1
0
0
0
-34
15
8
0
0
4
-6
24
0
0
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
-2
0
0
-20
-8
0
0
0
-43
-1
3
0
-1
8
0
-10
-34
4
2
7
4
2
-28
7
-1
3
0
4
0
0
0
0
0
4
-3
0
0
0
20
0
0
0
0
30
-2
-6
0
0
-15
-1
0
0
0
5
-42
3
-6
0
9
5
-13
9
39
-10
2
7
1
3
11
-2
-3
9
10
2
0
0
0
0
14
-3
0
0
0
-21
3
-2
0
0
-4
17
-1
0
0
9
6
-8
1
0
-39
27
-31
-5
2
-1
-7
5
-17
-16
19
0
6
0
-7
11
-9
-18
18
-5
2
-3
0
0
0
12
-8
0
0
0
-4
-2
0
0
0
-11
7
1
0
0
-1
-10
-24
-1
-2
35
33
-47
6
-8
23
1
2
-2
-9
6
17
11
-3
-5
0
0
0
0
0
9
-1
0
0
0
0
-1
0
0
0
-1
0
0
0
0
6
-15
-8
0
0
-13
10
-1
-12
0
-35
1
13
-35
2
-29
10
-16
5
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-10
-6
0
0
0
2
-20
-4
0
0
-7
20
11
-13
1
-44
7
19
18
-8
-4
3
5
-5
-10
14
6
4
-2
4
0
0
0
0
0
-32
7
-1
0
0
2
22
-9
1
0
-17
-2
7
0
0
10
17
-13
7
-4
-25
-2
22
-21
10
-3
1
-2
5
47
5
1
2
1
6
5
5
1
-2
-7
-4
5
0
0
0
7
-11
10
0
0
-8
-9
-2
0
0
14
-6
-1
6
-1
37
1
-22
-3
7
-41
18
22
4
-1
10
-1
0
2
35
5
2
0
1
2
21
0
9
3
0
-1
8
-3
0
0
0
-10
15
0
0
-17
10
8
0
0
-5
-15
2
0
0
46
-19
-3
21
-4
-59
27
8
-33
-18
-44
4
2
24
10
18
-2
-8
-13
48
0
0
0
0
0
-1
-1
0
0
0
3
-1
0
0
0
4
0
0
0
0
-2
-20
-8
0
0
22
37
2
-1
-3
-26
-14
-17
37
14
19
3
34
-20
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
19
22
0
0
4
-6
-4
1
0
-2
-19
23
33
9
16
26
6
17
-30
35
7
11
7
22
10
32
4
0
5
0
0
0
0
0
0
-8
1
0
0
8
-15
4
0
0
2
-15
0
-3
0
-9
20
-8
5
0
1
2
-10
7
-3
-8
6
-10
14
18
4
0
1
0
-1
9
-4
1
0
4
-7
18
0
0
0
-7
-16
37
-2
0
33
-2
13
2
0
-11
3
7
2
1
-11
-8
12
-16
6
-19
-15
7
2
23
2
-12
4
3
8
3
1
-1
0
26
-37
15
5
15
-1
7
6
0
0
0
15
-14
6
0
0
-4
-18
-5
0
0
0
3
19
-6
0
-17
36
12
-5
1
-24
24
3
13
-27
24
-4
17
-11
23
3
0
-1
3
-18
0
0
0
0
0
1
-3
0
0
0
-3
9
0
0
0
1
-1
2
0
0
4
3
-13
0
0
-14
0
39
1
-1
21
13
13
-4
18
-17
4
21
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
1
-6
0
0
0
0
7
2
0
0
6
10
-6
0
0
25
-28
15
-37
0
-4
15
-14
-5
0
40
1
-1
-6
0
0
0
0
0
0
-1
0
0
0
0
-4
1
0
0
0
-9
-10
-2
0
0
6
-25
-10
2
0
-18
12
-30
-10
0
-2
-24
-22
5
0
-3
0
1
-13
0
1
0
6
-3
0
2
0
0
0
0
1
1
0
0
0
1
3
-2
0
0
-9
-9
2
0
0
-11
-1
4
16
0
-4
25
33
23
0
1
4
-3
-17
0
3
-4
1
2
0
5
4
-7
3
0
-4
0
0
0
0
-2
-1
0
0
0
3
-2
0
0
0
4
4
3
0
0
22
8
1
-3
0
8
15
-14
19
0
-11
-9
4
11
0
-10
-3
0
16
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
1
0
0
0
0
33
-7
0
0
0
-12
-10
6
0
0
-24
19
10
13
0
-6
-14
-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
1
0
0
0
-45
2
-9
0
0
-26
-1
6
0
0
1
-8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
16
3
3
0
0
2
5
-1
0
0
4
0
8
0
0
42
2
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-2
2
0
0
0
21
20
-15
0
0
-1
19
3
0
0
-60
-11
13
0
0
-59
-84
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
12
10
0
0
0
-6
13
-7
0
0
37
14
3
0
0
-32
-24
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
16
-8
3
0
0
-13
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
16
-3
0
0
8
13
30
15
6
-36
-34
9
33
13
-4
1
-84
-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
-8
-6
0
0
1
-8
-6
21
-7
1
-19
10
-3
-15
-19
0
-8
-20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-3
4
1
-1
0
7
-7
10
3
-2
-49
-35
-19
0
0
0
-37
-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
-6
2
0
0
0
-2
6
0
0
0
-2
22
-9
-15
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
-12
-1
0
0
2
-10
-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
2
-1
0
0
-27
-21
12
-2
-51
-18
-26
-4
13
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-15
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
-20
-6
-20
-19
26
-26
6
-1
-18
3
-9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
-37
22
-7
-1
0
-10
13
62
-43
0
-10
-39
-27
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-27
-10
-3
0
0
-3
-32
5
0
0
60
-4
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-16
15
1
0
0
-35
-26
25
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
-8
0
0
0
6
13
3
0
0
0
-4
0
0
0
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
3
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-9
-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
-2
0
0
0
0
0
0
0
0
-1
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-29
-4
19
-7
7
-48
14
-2
19
-9
0
-2
4
3
3
-3
-35
-22
-27
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
2
1
0
0
-42
31
-45
-6
0
4
8
-19
39
6
-19
-22
45
-9
-4
45
-35
-16
-74
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
15
18
1
0
0
-19
-19
11
30
3
-11
13
36
5
-23
-6
-10
1
-50
-19
9
-54
-37
1
-62
-1
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
45
-11
-17
0
0
0
-6
2
-4
0
33
-13
30
11
8
-32
-10
-24
33
-17
22
-13
-31
-74
-9
0
0
0
0
0
0
-1
0
0
0
3
-1
0
0
0
1
-13
0
0
0
-22
7
-7
0
0
-1
-10
0
-7
0
0
4
3
4
-15
-5
-21
-11
-7
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
-17
-45
-12
-6
-30
-18
19
-33
-10
33
-43
-14
10
3
24
5
4
-5
-5
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-12
7
0
-14
-40
-8
24
27
-29
-56
66
-13
-25
18
25
-55
-29
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
1
-1
0
0
1
9
2
-17
0
15
32
-19
-18
-10
-3
0
-23
-32
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
4
0
-1
0
0
-35
-35
-3
-2
-6
56
4
-7
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-1
9
0
0
0
6
-1
-1
0
0
-15
15
15
1
0
-7
-9
-20
-16
0
8
-19
-54
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
-6
4
0
0
21
-76
-38
43
-2
-22
25
-14
-47
14
-52
1
1
-8
-50
-17
-27
-39
-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
-4
11
-24
0
0
30
-28
21
-68
6
-14
-47
-20
43
28
6
2
18
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
-8
2
0
-1
11
2
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-2
4
1
0
9
-21
6
0
0
-8
12
-24
18
-12
17
-29
35
-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
-1
0
0
0
0
12
-1
0
-3
0
25
-43
-33
-3
0
-31
7
-6
1
0
-19
-49
-32
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
0
0
0
-12
13
-35
-3
0
-55
-28
-6
-2
0
0
-15
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
-1
1
0
0
1
6
3
-2
0
0
-55
-39
4
0
0
46
-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
3
9
-2
0
0
0
9
-3
1
0
-1
-64
-15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
-4
-4
-6
0
0
-2
13
-10
-1
0
-2
-14
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
-2
0
0
0
0
0
0
0
0
0
6
-24
-4
0
0
40
-3
-4
0
0
6
27
-2
0
0
19
-37
-11
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
-4
32
6
0
0
-18
25
11
0
0
-10
-27
-52
0
0
25
-20
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-6
-14
-7
0
0
5
-18
-37
0
0
11
-51
-6
0
0
8
12
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
2
0
0
0
-15
-23
-1
0
0
-7
-7
-32
0
0
17
-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
20
1
0
0
0
-2
7
3
0
0
11
-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
2
-1
0
0
0
-30
10
1
2
0
13
-33
-33
-8
1
32
-2
13
13
26
-9
4
-1
6
25
-11
-42
20
-1
12
0
0
0
0
0
2
0
0
0
0
3
0
0
0
0
-25
11
-6
0
0
2
13
-8
2
0
6
-11
20
28
0
37
11
14
5
-17
17
12
5
-7
12
-2
28
2
6
33
1
0
0
0
0
2
-1
0
0
0
-4
-2
0
0
0
-1
21
1
0
0
4
18
9
8
0
27
14
-19
9
-20
-4
15
-5
-9
-24
-84
3
4
-27
38
5
-84
42
2
-6
2
-4
0
0
0
-17
0
-1
0
0
9
0
0
0
0
-32
6
27
0
0
13
36
-1
-1
0
10
-2
-38
6
-72
-8
4
51
18
52
-35
12
-16
10
-3
0
0
0
0
0
-1
0
0
0
0
7
-1
0
0
0
-7
27
0
0
0
22
-48
7
0
0
-21
34
-2
-15
0
12
-27
4
1
2
7
-17
-2
33
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
-1
2
-2
0
0
3
16
4
0
0
4
76
-32
41
0
-17
-15
1
30
9
-26
0
4
-14
0
29
-14
-8
-11
-12
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
-3
3
0
0
-2
3
-11
-3
0
-10
9
-24
0
10
-25
-1
-25
-9
-33
7
-4
-3
6
2
34
16
69
-36
4
0
2
0
0
0
1
0
0
0
0
0
-1
0
0
0
-10
-10
-6
0
0
-20
-8
0
-4
2
2
2
-34
-6
1
-15
-38
6
15
-28
5
22
14
-2
-64
10
-72
-26
-24
4
0
0
0
0
0
0
2
0
0
0
1
-3
1
0
0
16
-4
-11
0
0
-11
-3
-6
-15
0
-4
16
-11
-9
-8
8
-1
-6
27
-43
-22
14
3
16
15
0
0
0
0
0
0
-2
0
0
0
1
6
-7
0
0
0
2
1
0
0
-4
9
-4
0
0
9
-36
-3
-7
-1
-36
1
21
-10
-11
17
10
-5
11
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
1
0
-1
0
0
-10
12
-21
0
0
6
-25
24
6
9
13
13
38
-7
-29
5
10
1
2
-8
-10
-4
-33
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-6
-11
-16
-2
-1
-70
17
-26
-9
-6
-16
9
22
18
-40
56
0
-11
3
11
65
73
7
-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
1
0
0
0
0
-2
6
4
0
0
4
4
0
0
0
3
7
-8
0
0
-6
-7
2
1
0
-15
-68
28
-24
7
-5
40
15
-35
-46
2
6
-59
3
36
0
0
0
0
0
1
0
0
0
0
-2
1
-2
0
0
-4
-4
8
0
0
11
-13
-6
1
0
1
-5
-1
2
2
-4
8
-34
-16
-9
15
2
26
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
1
-3
0
0
0
-4
-1
-10
0
0
-6
-42
-12
11
0
4
14
8
2
0
4
5
1
-6
0
-35
4
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
12
17
0
0
0
8
-45
-25
-47
0
-23
1
62
-4
0
-14
5
-31
16
0
-26
18
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-1
-4
-1
0
0
15
-11
4
0
0
12
-18
-20
8
0
-10
-10
-6
12
0
-53
34
-1
-59
0
35
-25
-4
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
-1
2
-37
3
0
14
-20
-22
-19
0
-25
-12
30
-3
0
-5
1
-4
-20
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
-8
11
0
0
0
16
-9
-1
0
0
13
-11
-19
-19
0
4
-29
7
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
-3
0
0
0
0
-4
19
13
0
0
-38
3
-33
0
0
11
16
1
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
-3
0
0
0
-59
21
-18
0
0
12
-23
-20
0
0
13
8
17
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
-1
-7
0
0
0
2
22
-13
0
0
-13
35
20
0
0
32
-11
-21
0
0
22
8
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
3
-10
0
0
0
17
-17
-12
0
0
22
15
-32
0
0
-30
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-11
-3
-1
0
0
-12
-2
-3
0
0
29
-16
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
1
-15
-2
0
0
11
27
-28
23
17
11
11
5
7
4
3
29
23
27
4
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
-2
0
0
0
0
11
0
0
0
-20
-19
9
-8
0
-36
10
5
10
-7
32
16
10
-12
10
20
12
82
-9
18
0
0
0
0
0
1
0
0
0
0
7
3
0
0
0
0
-1
0
0
0
-8
16
1
0
0
-29
-3
2
9
0
36
30
24
37
3
59
0
3
-14
-9
-27
45
8
-15
38
-1
2
0
0
0
-8
-2
0
0
0
4
-1
0
0
0
0
1
0
0
0
1
4
7
-1
0
-22
13
-1
-39
1
28
28
-33
-7
15
15
0
11
77
-32
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
0
0
0
0
-1
-1
0
0
18
36
-1
-1
-7
7
-36
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
1
-6
0
0
0
-6
-1
11
40
1
5
-13
-12
48
-9
-15
13
5
-23
-11
34
45
21
-13
10
0
0
0
0
0
0
1
0
0
0
-1
-1
0
0
0
11
6
3
0
0
-4
33
3
2
0
41
9
-9
10
4
31
3
23
19
5
-20
-6
13
-3
7
17
-18
-14
-42
-7
0
0
0
0
0
-1
1
0
0
0
-6
-2
0
0
0
9
-6
18
0
0
9
13
18
-8
1
36
-59
-31
-19
8
-14
22
37
-6
36
-20
-4
8
3
-18
9
1
7
-2
-11
0
0
0
0
0
27
1
-1
0
0
-2
0
1
0
0
-4
13
3
0
0
-2
4
3
1
0
17
-93
-11
22
13
12
-13
22
-1
10
-10
49
15
-9
-66
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
1
-1
0
0
0
0
1
0
0
0
0
22
0
0
0
-1
-5
4
-16
6
6
15
-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
2
1
-1
0
0
-6
20
1
27
1
9
10
25
47
-1
41
2
5
-6
31
13
29
12
-6
26
0
0
0
0
0
3
0
0
0
0
-4
-1
0
0
0
1
-9
-7
0
0
-4
1
-9
12
1
-8
1
51
-51
7
-53
19
29
39
31
7
6
7
12
4
56
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
2
1
0
0
0
4
-6
6
0
0
0
-3
0
-1
0
2
8
-32
0
0
3
-1
-15
-9
0
-18
-3
19
-2
-11
-16
25
1
-1
-4
-42
-9
16
22
16
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
-2
0
0
-13
-15
-3
2
22
2
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
2
0
0
0
0
0
0
0
0
-8
6
-11
-4
0
-24
83
36
1
0
-4
-14
21
-7
0
61
-7
10
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-9
-11
4
0
0
-24
-9
-32
-6
0
23
-15
-2
-35
0
4
13
7
11
0
-2
16
7
-18
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
7
-3
0
0
0
4
9
-2
-1
0
-2
52
4
-29
0
-15
-10
-6
15
0
74
21
-16
25
0
-3
-63
-8
-37
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-4
0
0
0
0
22
0
1
0
0
20
3
54
0
0
70
-24
-13
15
0
-46
-4
-9
-16
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
-18
0
-1
0
0
4
-2
1
-1
0
0
-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
-1
0
0
-4
-13
1
0
0
11
23
32
0
0
8
-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
-6
8
6
0
0
44
11
0
0
0
19
1
10
0
0
-57
-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
-1
0
0
0
2
-8
0
0
0
-22
-37
-14
0
0
2
7
-1
0
0
0
3
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-6
0
0
0
-3
-6
28
0
0
1
57
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
30
-22
48
0
16
10
30
-11
-10
21
31
53
-31
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-22
-3
0
0
-38
-2
24
39
6
15
8
21
2
-3
54
-9
-6
-58
-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
-11
3
2
0
-27
25
31
2
32
-34
16
-36
8
0
4
-3
13
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-62
1
1
0
0
-1
-3
2
-3
0
20
30
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
1
9
13
0
0
5
24
-8
-1
0
10
-6
22
24
15
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
-8
1
0
0
0
7
0
0
0
36
-24
7
26
-9
-57
7
38
-12
3
-10
12
-7
17
7
15
-12
-15
4
-12
0
0
0
0
0
-3
1
0
0
0
2
-3
0
0
0
0
1
-1
0
0
1
0
3
-1
0
2
-6
-13
-10
-4
58
6
13
-10
-18
-30
-16
12
13
38
8
-34
16
-15
23
3
-1
0
0
0
7
0
0
0
0
0
1
-1
0
0
2
0
0
0
0
0
8
4
1
1
22
-22
-7
6
1
18
-54
43
-15
18
-6
1
-2
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
36
-6
-6
1
7
13
6
17
-4
4
-23
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
-2
0
-2
0
3
3
9
11
11
8
-4
-9
32
-7
-34
-1
19
-4
-10
50
11
-22
-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
-2
0
0
0
-1
1
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
-1
0
1
0
9
-27
-3
-4
18
1
42
2
16
-1
0
1
-53
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
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
1
4
0
25
-11
-40
4
0
-11
30
-1
-59
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
-20
15
6
0
-14
41
44
-14
0
4
-4
2
9
0
6
1
-37
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-3
-1
0
33
10
-6
3
0
19
-6
7
-2
0
-1
47
-32
2
0
0
-11
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
-8
1
-10
-3
0
0
8
22
-11
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
1
0
0
0
-3
-2
38
0
0
6
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
-3
0
0
0
7
-30
8
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
12
1
-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
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
8
0
0
9
-2
-3
-8
1
-39
16
38
36
15
-29
-5
14
4
-10
11
-3
15
-1
-9
16
17
28
-7
27
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
1
-4
-8
0
0
-10
0
0
11
-3
16
1
-2
-15
10
-43
30
3
15
68
28
-13
1
-22
23
-12
-28
3
27
-88
-2
-1
0
0
0
0
0
-1
0
0
0
4
0
0
0
-6
-7
18
0
0
0
-29
-6
0
0
10
-51
27
10
10
-1
51
36
-25
-14
29
25
-29
77
0
-72
-3
-1
-11
-28
0
-1
0
0
0
0
0
0
0
0
-7
0
0
1
0
-2
9
1
0
0
4
12
-3
-4
0
-17
21
-8
20
12
24
-74
49
31
-18
-38
-18
-22
-23
-38
0
0
0
0
0
0
1
0
0
0
-12
2
2
0
0
-9
24
0
0
0
11
6
-2
0
0
-1
11
10
-11
0
13
-22
5
-18
15
-25
-16
-22
-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
-3
1
0
0
-19
0
3
0
1
26
16
29
26
-41
34
-56
-22
-33
-26
-35
-18
0
-5
34
-97
29
-18
66
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
10
1
0
0
-6
9
2
0
0
-9
12
1
1
0
2
-3
8
-7
-8
9
-34
-3
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
-1
0
0
-2
-8
4
6
0
-23
15
-19
26
28
-33
-13
30
10
-3
7
2
-4
-14
-25
13
-40
21
-67
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
24
0
0
0
0
1
-6
0
0
0
-22
8
3
0
0
11
-19
1
1
0
-11
-52
6
-25
1
-5
14
-31
8
-18
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
-3
0
0
0
0
4
9
1
-1
0
-11
-2
-13
-2
0
8
39
58
17
0
-5
-8
-4
17
0
-18
24
31
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
-6
0
0
0
0
0
4
0
0
0
3
18
-2
2
0
11
-21
7
-10
0
1
31
-41
-8
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
-2
0
0
0
0
-7
-4
-1
0
0
-53
-25
2
0
0
20
10
56
0
0
3
33
-8
0
0
-33
-43
-40
0
0
0
0
0
0
0
6
0
0
0
0
1
0
0
0
0
-8
0
0
0
0
-4
-3
1
0
0
-13
-37
24
0
0
18
43
-31
0
0
-50
-25
-53
0
0
-20
-24
48
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
-13
-1
0
0
0
9
3
-4
0
0
-3
-28
16
0
0
24
-1
-22
0
0
-41
2
-40
0
0
-18
1
35
0
0
0
0
0
0
0
1
0
0
0
0
6
0
0
0
0
0
0
0
0
0
7
1
0
0
0
-7
-8
-19
0
0
-16
-15
-7
0
0
11
18
-15
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
6
1
0
0
0
-20
1
-6
0
0
4
-30
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
4
0
0
0
0
-11
15
-12
0
0
26
9
-39
-40
-18
-31
29
28
35
-1
24
-11
17
-7
19
-30
0
43
6
2
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
0
3
-3
0
0
-3
-2
10
-3
6
17
12
-25
15
-4
-14
-3
63
-30
14
-9
6
17
-15
-16
22
9
-22
68
-12
0
0
0
0
0
1
1
0
0
0
2
2
0
0
0
9
19
8
0
0
1
2
-15
0
0
-4
-14
-12
2
9
-58
-67
-7
48
5
-16
48
40
29
26
-8
45
30
9
-72
0
0
0
0
0
0
-6
0
0
0
2
1
0
0
0
0
-4
-2
0
0
1
2
1
-1
0
-10
-62
0
-6
-1
15
-41
27
-16
16
-91
86
64
81
-63
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
1
1
0
0
0
-3
0
-4
0
0
0
-2
1
0
0
-21
-15
-2
4
1
-12
21
36
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
0
0
-1
3
1
0
0
1
16
7
3
0
-1
-11
2
-26
2
-12
-17
-21
58
37
29
-10
-9
-4
-2
-32
1
33
-30
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
0
0
0
20
8
-19
1
16
-14
21
-5
2
38
10
-1
-29
-2
-17
-56
3
25
21
-9
2
0
105
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
10
0
1
-2
1
2
-7
-16
0
2
6
0
-2
-3
-1
-3
62
-31
49
6
0
-1
39
-21
2
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
1
-3
0
0
0
0
2
0
0
11
-1
11
-1
1
25
18
-7
-14
8
-12
-30
9
38
-1
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
0
1
-2
0
0
0
-4
0
0
0
1
-2
2
0
0
-7
26
3
-27
0
55
-46
11
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
-2
0
0
0
2
3
0
0
-46
-21
-6
30
-17
42
1
-22
11
17
2
5
25
-26
7
-86
-31
29
19
25
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
-20
-25
0
-3
-1
15
8
46
-13
-26
20
4
-7
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
0
0
0
-2
0
0
0
0
-1
4
0
0
0
-1
4
0
0
0
4
-18
18
-2
-2
3
54
-20
10
3
0
0
0
0
0
7
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
0
-2
7
0
0
0
-1
4
-10
8
1
-21
26
-16
-22
16
0
0
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
11
0
-1
1
0
-2
57
13
1
0
19
28
4
-32
0
26
7
-4
-36
0
-21
-10
41
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
-3
18
-3
0
0
-15
26
11
-12
0
-16
1
3
25
0
76
-29
-11
5
0
-36
-18
45
1
0
0
0
0
0
0
-1
0
0
0
0
2
1
0
0
0
2
-1
0
0
0
-10
1
1
0
0
28
-14
-7
0
0
28
-6
-28
-8
0
-37
-37
42
16
0
-49
93
11
41
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
-2
0
0
-13
10
-1
-1
0
-29
4
30
0
0
-21
10
-36
34
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
-1
-1
0
0
0
-3
0
0
0
0
-2
-9
-2
0
0
-3
-35
-7
0
0
3
26
28
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
-12
9
0
0
0
34
6
1
0
0
21
-24
-5
0
0
14
38
3
0
0
-27
-5
32
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
-7
-1
0
0
0
2
9
-1
0
0
-5
-26
-2
0
0
-63
80
3
0
0
0
-42
81
0
0
53
36
-49
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
22
0
0
0
0
18
-3
-1
0
0
-28
12
4
0
0
48
6
0
0
0
69
32
-32
0
0
-89
38
105
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
-9
11
-3
0
0
21
-10
16
0
0
12
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-6
-3
0
0
-38
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
-1
0
0
0
0
0
10
0
0
0
-15
9
19
1
0
24
-37
38
63
11
-47
27
3
-15
11
47
-48
40
28
68
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
1
-1
0
-1
0
3
-16
-4
-3
0
-27
9
-23
55
-1
69
68
35
-24
5
78
1
156
62
3
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
4
2
0
0
0
0
2
-1
0
0
0
27
-8
2
0
-1
-6
-56
-2
12
-36
37
46
47
0
17
0
13
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-1
0
0
0
0
-8
3
0
-1
1
60
-13
-2
0
4
-11
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
13
-8
7
0
11
19
0
40
2
-40
-1
60
-80
-23
33
1
32
72
20
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
21
-11
-7
-2
0
4
-13
-61
-5
4
49
-35
-46
19
-4
-44
70
38
7
15
9
-1
170
48
-30
0
0
0
0
0
1
0
0
0
0
-4
-1
1
0
0
0
-13
0
0
0
-13
16
7
-3
0
15
-17
38
20
-19
-8
20
-8
-56
12
28
9
69
131
-21
0
0
-41
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
-1
0
0
0
-12
-8
0
1
-13
57
23
-24
6
29
-4
7
-8
15
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
24
10
8
0
-6
-5
23
19
6
-28
12
26
9
27
27
9
40
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
3
-12
-8
-6
0
17
29
-34
1
-2
16
14
85
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
1
0
0
0
0
3
0
0
0
0
-3
2
0
0
0
0
1
1
2
0
0
-2
-2
2
-2
3
23
0
28
-11
0
-8
-26
0
2
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
-3
0
0
0
-9
-2
10
0
0
11
-12
-8
7
0
101
83
33
19
0
-7
-35
56
-20
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
29
8
0
0
0
19
9
-2
0
0
6
-5
20
-1
0
32
25
-41
15
0
-9
103
29
-12
0
10
-63
95
37
0
3
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
7
0
0
0
0
-4
-9
-7
0
0
-8
-10
-2
1
0
-5
51
35
0
0
-5
-37
36
55
0
0
3
17
0
0
-1
0
0
0
0
0
0
0
0
0
7
0
0
0
0
2
-6
0
0
0
-3
0
0
0
0
0
8
3
0
0
6
8
3
8
0
-40
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
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
-8
0
0
0
-13
17
-9
0
0
31
126
17
0
0
-15
-13
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
-3
1
-1
0
0
13
24
-9
0
0
3
27
19
0
0
-13
-51
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
-38
13
4
0
0
28
28
34
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
3
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-1
-12
0
-11
-1
34
10
2
32
2
17
-23
10
18
-17
-10
41
-16
0
6
-16
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
0
0
-1
-4
-6
0
1
-26
3
0
0
2
1
-22
-9
-1
0
-20
-1
12
27
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
-2
0
2
0
0
-1
2
-11
-1
0
-11
1
-18
24
0
3
-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
-1
0
0
0
11
-2
0
0
-8
-2
-10
8
1
11
-25
-21
-9
-10
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
19
9
0
0
-11
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
-1
-2
-6
-32
-26
9
-2
11
21
27
26
-4
-7
-25
10
-73
-7
-5
0
-1
4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
8
0
0
0
0
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-13
0
0
0
2
12
-3
-15
53
-28
-44
-15
8
-36
-5
25
14
11
0
0
-4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
11
1
-3
0
-22
-15
6
7
0
21
-59
-14
8
0
9
34
33
-9
0
0
-3
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-2
0
0
-12
8
-4
0
0
3
-33
7
0
0
26
7
10
0
0
-3
50
-32
0
0
0
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
-2
0
0
0
17
-10
-2
0
0
-38
1
-26
0
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
-2
0
0
0
0
0
0
0
0
0
2
-21
0
0
0
-10
33
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
2
-1
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
0
-4
-36
32
-6
-1
10
-2
-7
-53
14
11
-7
31
0
65
-36
-9
13
35
-46
-16
-4
34
30
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
4
0
-6
-7
-11
6
0
-9
32
11
-4
-12
6
-61
16
-27
33
-28
10
15
7
-24
-15
10
-15
37
-43
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
6
-3
-23
1
0
0
2
-1
4
0
-22
5
4
-30
-6
-4
27
48
26
9
-8
-77
5
52
21
19
25
-54
-35
5
0
1
0
0
0
0
1
-2
0
0
2
6
3
-1
0
-7
1
12
0
0
-4
1
-4
-2
0
-10
22
3
22
3
24
-14
9
-4
24
-89
17
10
21
-11
0
0
0
0
0
-2
0
0
0
0
-1
-2
-3
0
0
7
3
-1
0
0
-30
18
-10
1
0
-2
-13
3
4
0
-9
2
1
-4
-8
6
-8
11
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
6
8
2
-46
45
12
-49
-24
8
-32
14
-8
34
-40
-11
-31
3
-43
-69
18
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
-1
0
-1
-2
-30
-16
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-9
0
0
0
1
-1
-1
0
0
-4
-1
-1
0
0
2
-1
-6
-2
0
-16
-39
10
2
7
11
-39
13
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-7
-11
22
-4
-23
-15
-9
78
-57
-41
33
-15
-60
3
35
-20
17
-6
22
-7
-52
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
-2
-2
1
0
0
0
3
7
0
0
-6
-11
-1
0
0
9
-33
-3
3
-3
-11
3
-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
0
0
0
0
0
0
0
0
0
-7
-46
-1
-1
0
-5
-25
-42
10
0
14
-2
3
54
0
-13
4
-8
-2
0
-73
-16
95
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
0
0
0
0
8
41
19
0
0
-1
-16
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
2
0
0
0
0
1
0
0
0
0
-3
1
0
0
0
-12
14
12
1
0
-27
-1
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
15
21
0
0
0
15
-46
-9
0
0
-18
2
39
0
0
-5
21
0
0
0
-30
-36
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-7
7
0
0
0
2
20
11
0
0
10
3
4
0
0
19
-18
-48
0
0
-71
53
41
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-3
-15
0
0
0
4
14
-3
0
0
-11
-46
-15
0
0
-61
35
12
0
0
-13
-5
-9
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
-1
-1
0
0
0
-60
12
-11
0
0
13
-5
1
0
0
2
9
36
0
0
0
0
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
-23
-20
1
0
0
-34
25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
17
-2
-7
3
0
-37
9
-43
48
13
-2
2
14
0
-17
26
6
22
-2
-4
-60
-40
37
-64
59
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
1
2
3
0
0
2
13
-10
-6
1
11
-33
45
-19
-6
0
8
-10
-63
-27
-10
-41
-2
-8
2
-16
40
73
58
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
-9
0
0
-1
-4
10
-1
0
-3
-64
6
-25
-6
26
20
-13
28
-5
-24
59
2
-7
-2
-29
-45
-3
5
-2
0
1
0
0
0
2
4
1
0
0
1
-2
0
0
0
0
8
0
-1
0
-2
6
0
2
0
19
-7
-18
-11
-2
1
-24
24
-4
10
-90
18
-4
6
17
0
0
0
0
0
0
1
0
0
0
-1
1
2
0
0
2
-1
0
0
0
0
-8
-2
0
0
0
0
-1
1
0
-6
-3
-2
9
0
-21
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
-2
0
0
0
-1
-1
4
0
-2
-2
0
11
-27
-2
-37
-21
-21
33
-24
25
-1
-24
-52
10
-60
-45
26
77
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-15
16
-1
-59
-26
-14
-17
24
-12
33
-22
8
-3
12
-4
88
-3
8
0
0
19
-3
1
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
4
-2
-1
-7
3
-2
-6
10
3
-1
7
17
15
5
2
0
-7
-9
9
-41
0
0
0
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
13
0
-28
39
10
-23
6
-10
-29
-9
26
-30
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
-1
0
0
0
0
1
-6
-3
0
0
0
0
-8
2
0
-6
-24
1
21
0
18
-50
-17
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-6
0
13
0
-2
-10
-10
-44
12
-10
50
28
-25
-25
25
-25
-13
25
-28
-6
-28
-36
-6
34
40
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
9
21
-3
-3
-4
-7
-18
-10
29
18
-10
3
7
-2
-1
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
1
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
8
0
0
0
2
-67
22
4
4
-1
-34
-37
6
8
0
0
0
0
0
3
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
-15
15
8
-1
2
-35
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
20
1
0
0
0
-21
8
-10
-9
0
15
-32
73
-53
0
22
5
-14
37
0
-14
-10
1
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
9
2
0
0
0
59
4
-4
8
0
-25
27
46
27
0
-40
-103
6
-18
0
-10
-48
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
11
9
-1
0
0
20
-1
-17
0
0
7
22
-10
2
0
-76
-65
-15
6
0
18
28
23
18
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
1
0
0
0
-8
-17
6
6
0
2
-25
14
-3
0
-18
31
-62
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
1
0
0
0
0
-2
0
0
0
0
-3
21
9
-6
0
20
-15
-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
4
-7
0
0
0
15
34
-39
0
0
29
0
-9
0
0
-3
-8
24
0
0
-39
-5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
2
0
0
0
0
-25
-29
13
0
0
45
9
27
0
0
-9
12
22
0
0
-72
30
-84
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-10
2
0
0
0
69
-59
0
0
0
-27
29
13
0
0
-115
-16
5
0
0
62
-43
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
29
-18
11
0
0
-2
-4
18
0
0
-65
39
-41
0
0
0
0
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
2
0
0
30
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
28
7
-44
-3
0
16
10
-38
13
-11
-73
30
82
-15
15
80
4
21
30
38
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
12
0
0
0
28
17
3
-1
0
2
-9
-15
-3
11
1
-5
57
32
-52
-17
-1
-30
53
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
1
0
0
0
1
0
4
-3
0
-16
2
35
-12
1
-16
-57
26
16
-2
-29
0
-7
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
1
3
0
-12
60
-25
1
-1
3
14
-35
0
-18
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
-1
1
0
1
41
-39
1
0
-6
-22
36
45
-7
35
22
-4
-40
-11
-34
-58
47
6
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
3
-1
1
-7
-26
2
-25
-10
-23
-37
0
32
3
14
50
24
27
6
0
2
49
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
-42
-3
0
-15
-2
7
-4
-28
15
15
20
-65
13
2
-24
0
-6
-2
0
6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
-1
-4
2
-4
2
38
4
0
3
-73
-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
7
0
-1
0
0
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-2
-1
-16
-4
16
33
-18
-15
2
15
-32
48
14
48
-41
4
10
46
-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
2
15
1
7
-1
-2
-44
22
5
-1
16
-26
-36
20
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
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
-7
0
0
1
-3
-3
7
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
48
20
-54
1
0
18
3
90
-25
0
3
-18
23
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
28
-1
1
0
0
23
-2
-8
7
0
-6
45
39
-15
0
-49
-80
5
8
0
-7
16
-85
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
8
6
0
0
0
53
-1
-11
-3
0
54
-27
22
-3
0
-149
90
28
1
0
0
-1
4
-1
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
-9
-2
0
0
-19
-6
1
2
0
1
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
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
4
0
0
65
1
1
0
0
-2
-22
20
0
0
-34
-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
-6
2
-1
0
0
13
18
1
0
0
-23
-51
42
0
0
-6
29
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-5
3
0
0
0
-1
52
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
-16
0
16
-20
53
-35
-4
18
2
31
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
29
24
0
0
-53
39
46
-10
14
2
-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
-4
3
0
0
2
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
-1
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
8
10
0
0
73
-13
-46
-6
-19
-1
35
56
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-7
7
3
-15
-1
7
48
-21
-13
10
-30
-47
28
68
13
-1
2
66
-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
4
1
4
-1
0
-7
3
-6
-2
1
2
-16
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
0
0
0
1
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
57
-10
-16
-14
0
-19
77
-4
0
0
0
0
0
0
0
0
0
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
1
0
-25
-15
32
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
10
-8
1
0
2
-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
12
-8
0
0
0
5
28
-26
-1
0
-38
1
59
-3
0
-2
-16
2
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
-2
2
6
1
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
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-7
0
0
15
-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
4
0
0
0
48
-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
-21
6
-16
23
19
-9
22
-13
4
-2
20
-21
-29
0
-18
-24
-34
25
-19
21
13
6
18
3
15
-19
6
-1
0
14
-35
-10
7
6
5
0
0
0
0
0
0
63
-17
14
0
10
23
-38
-2
-16
-23
19
12
2
5
10
5
6
15
35
-34
3
-24
6
-2
44
-3
12
13
3
16
-10
0
5
19
-46
7
16
0
5
17
27
-5
-26
0
-3
-45
-16
21
4
-9
33
0
18
-15
13
-33
-27
15
52
8
-24
6
-3
84
-25
12
-23
-17
6
-8
-4
1
22
3
-27
-30
3
-5
4
9
24
6
-6
-11
-49
19
17
4
2
15
-30
-9
20
6
50
-15
-27
33
-12
33
-13
-13
40
-2
16
-8
27
-12
21
-39
3
-3
16
27
-2
13
12
12
4
23
3
0
1
-3
0
0
0
0
0
18
-40
-8
0
1
7
1
-27
12
3
-21
6
-31
4
-12
-29
12
-2
7
36
-30
-2
-4
4
8
-35
-12
0
-22
-3
13
4
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-43
-12
-17
30
3
4
23
-13
-26
-24
-5
39
-34
-10
-26
26
24
13
14
-11
8
15
-1
-4
-15
-27
-14
11
14
-20
3
-14
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
-36
-9
37
4
2
26
-27
-5
16
1
33
-50
44
-48
26
35
-13
-39
-28
-14
9
-4
4
-34
-4
-18
-16
22
14
-7
8
9
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
9
-12
-21
-24
-8
23
13
13
-4
-22
20
0
-14
-24
-50
-10
25
-23
50
-27
0
-12
21
5
7
-2
-9
21
25
-8
-28
-27
-28
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
5
3
18
-2
12
7
-12
-30
-10
-9
2
5
-25
3
16
-23
5
-21
21
-18
18
-6
6
-21
-2
-3
14
0
-1
3
9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
26
-11
5
0
14
-11
9
-5
0
24
24
5
26
0
-52
-26
-21
1
0
-3
2
0
-3
0
0
9
14
7
0
38
11
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
-20
0
-1
0
-16
-4
-28
4
0
26
17
-38
-7
0
14
8
10
-1
0
23
-10
-6
42
0
-7
9
5
19
0
-7
-4
6
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
-25
0
0
12
-12
-9
0
0
-13
10
7
0
0
17
4
-5
0
0
1
2
18
0
0
5
10
16
0
0
25
-2
7
0
0
0
0
0
0
0
-55
-17
10
0
0
15
-13
-4
0
0
20
5
-16
0
0
-24
-13
13
0
0
12
-14
16
0
0
4
-6
-13
0
0
22
5
8
0
0
13
5
2
0
0
3
2
-9
0
0
13
17
6
0
0
-22
24
-1
0
0
-14
-26
-19
0
0
9
-4
43
0
0
-51
8
-19
0
0
18
0
3
0
0
8
7
-4
0
0
17
1
6
0
0
-9
-2
-1
0
0
-13
-5
2
0
0
-3
7
-9
0
0
-9
-10
6
0
0
-42
33
19
0
0
-7
-6
0
0
0
-22
-7
-6
0
0
20
7
11
0
0
0
0
0
0
0
-11
-4
0
0
0
31
-43
-3
0
0
8
8
26
0
0
-42
2
16
0
0
-22
16
22
0
0
-8
-2
-4
0
0
5
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-9
-32
13
-5
-21
-17
-3
10
25
-6
-1
-9
-6
-6
-7
10
-9
-18
2
19
-7
10
4
-15
-7
12
6
-1
9
-16
26
9
5
20
0
0
0
0
0
7
9
-27
-46
26
16
-23
9
12
31
-16
-9
0
-28
-21
-51
-20
0
25
53
-44
-17
-4
-8
5
7
7
3
5
24
5
9
3
7
11
19
4
11
-5
-19
18
-23
-5
12
0
-17
10
1
-19
9
-24
23
16
-31
10
-12
17
-48
-21
0
-2
-14
26
14
-22
-37
-18
12
4
16
12
15
5
-4
11
17
1
7
-3
-4
14
17
-1
-1
11
3
-2
-4
-5
-2
3
-8
13
18
0
-1
-11
27
40
6
1
10
-11
-28
-30
-9
-23
45
-30
-8
30
-15
-9
4
-12
6
-3
0
3
-18
16
15
2
8
10
0
0
0
0
0
7
-23
-2
0
0
0
28
7
1
-6
-10
-14
46
-21
-15
5
-17
-4
15
6
9
5
-25
-10
18
-17
-3
7
-23
3
13
7
-3
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
30
4
45
-39
-27
19
-29
-19
-1
53
-13
-8
52
8
8
-13
-4
-25
-10
19
-4
-1
-8
6
22
6
6
5
11
27
32
6
12
-6
0
0
0
0
0
29
4
20
10
14
18
-7
-74
17
2
-7
-11
-9
1
4
24
-6
19
-19
-44
-20
13
15
0
-4
0
10
-2
10
13
13
-34
-1
3
-14
-12
11
-1
6
8
-31
48
-21
-30
1
-23
-19
-3
4
3
-20
11
5
-5
7
2
18
13
-7
-4
5
-15
17
-10
-2
15
-20
8
10
29
11
48
5
12
9
0
-9
-4
1
-4
-9
-10
1
2
-11
-43
-22
-36
-3
0
8
-6
31
19
-2
33
27
-23
19
-25
-31
-1
31
-17
1
24
-11
-6
10
-15
-2
-14
7
-10
5
-4
-6
2
10
-1
-4
2
0
-6
-3
0
0
0
0
0
47
0
-21
-3
0
8
-10
28
36
-3
5
21
-16
15
-29
-5
0
28
-2
-3
21
19
-4
15
41
22
-1
-16
-21
5
-8
11
3
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-15
26
-5
32
12
-4
-3
-27
10
-43
53
12
29
37
-11
-6
-2
-11
4
-7
5
8
-2
-1
11
4
-2
9
-1
38
6
-12
-4
13
0
0
0
0
0
-27
0
-5
-7
-5
10
13
-19
14
16
-27
29
-12
-2
-3
2
23
1
10
-27
19
12
5
13
-10
-3
-9
10
9
5
16
6
-7
-1
-8
17
12
-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
-28
19
-17
0
-3
5
-26
5
14
2
33
10
-14
-32
-8
6
41
-19
22
-7
5
8
17
50
5
3
2
-26
-13
21
-12
8
-1
-10
7
6
5
3
5
8
0
0
0
0
0
-18
39
28
-7
0
14
-19
-8
-18
1
22
3
-21
-12
-18
-3
11
-13
5
10
43
-4
3
-32
-24
-32
0
6
-7
1
24
1
7
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-2
11
2
0
9
-24
37
19
0
3
18
-18
-12
0
15
3
9
-39
0
-9
0
0
2
0
1
4
11
12
0
31
16
8
8
0
0
0
0
0
0
-9
8
5
-26
0
-32
50
34
-11
0
-12
2
62
-14
0
24
-14
39
21
0
21
9
16
7
0
3
21
-1
36
0
0
7
5
-4
0
3
-3
16
18
0
7
-2
-4
0
0
-10
27
16
0
0
-24
-4
2
-10
0
-71
-3
-13
31
0
-18
16
-10
16
0
-12
7
22
11
0
-1
-6
7
13
0
-7
1
3
-7
0
27
-4
-13
-4
0
10
12
18
-2
0
-26
-36
-10
-4
0
-48
-2
-21
6
0
14
-20
9
-5
0
-14
-8
15
36
0
10
-8
-26
5
0
0
4
-7
-18
0
1
-1
2
8
0
0
0
0
0
0
1
-7
1
0
0
5
-10
19
-5
0
12
22
12
-2
0
3
-8
5
-3
0
14
19
-26
4
0
5
-10
0
8
0
11
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
-20
-8
18
0
0
5
1
-1
0
0
-11
14
28
0
0
-12
12
-7
0
0
12
15
20
0
0
1
4
2
0
0
7
23
-10
0
0
0
0
0
0
0
11
36
0
0
0
-13
-25
5
0
0
12
-18
7
0
0
5
37
-11
0
0
14
-10
-15
0
0
1
1
5
0
0
8
6
15
0
0
1
5
-3
0
0
-3
-5
3
0
0
2
34
-6
0
0
-5
14
3
0
0
3
12
18
0
0
-11
7
-33
0
0
-4
1
4
0
0
-4
-1
21
0
0
1
8
11
0
0
8
12
10
0
0
10
9
0
0
0
-16
27
-3
0
0
-11
5
0
0
0
27
14
-14
0
0
-2
-4
8
0
0
1
-6
-1
0
0
-4
-2
17
0
0
6
8
10
0
0
0
0
0
0
0
8
-2
0
0
0
-9
11
1
0
0
37
-12
-11
0
0
-23
21
16
0
0
-3
7
-53
0
0
-2
-14
11
0
0
8
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
8
-25
-26
3
11
-7
-8
1
-15
-42
-5
-7
10
34
-28
-10
-5
12
-2
-6
6
1
20
11
19
8
7
-4
21
19
8
0
2
-9
0
0
0
0
0
37
-20
-33
-5
2
1
-17
26
8
-2
5
-19
-12
18
27
-6
-11
2
-26
19
15
-23
-23
-6
10
16
3
-4
-2
-10
5
15
7
8
-1
44
13
-1
-8
-16
29
-37
9
-1
0
1
-38
17
-2
2
12
10
-27
34
1
-25
-31
-11
6
23
14
-44
-25
-35
50
-14
-5
-7
20
-49
9
19
3
-1
5
25
6
5
2
15
25
-20
2
5
-14
61
-24
-1
-1
0
-13
40
-42
7
-3
22
7
-1
-16
0
-6
-70
4
-3
5
34
-9
33
-22
-47
-3
-31
-10
10
1
20
4
-4
-4
15
17
39
4
21
6
0
0
0
0
0
-9
-37
-3
0
0
1
43
4
0
0
21
40
-15
3
0
-14
-30
-19
-13
-1
38
-18
4
-40
2
1
-9
-3
11
4
16
-10
3
15
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
-1
-18
1
38
-30
13
26
17
0
15
-21
40
-6
3
-12
-12
-27
7
9
12
12
4
21
12
16
16
10
1
51
15
6
4
-4
0
0
0
0
0
10
7
11
-12
-25
17
-5
16
-25
-28
-3
-8
-11
-29
39
-15
10
18
-4
42
1
2
-24
20
30
5
19
6
12
-7
26
1
8
-5
4
5
12
4
11
5
26
17
-39
-1
2
40
18
-13
-4
2
3
-29
15
3
5
-4
24
-20
12
31
-2
-17
-7
38
-1
9
-1
5
22
-13
13
-2
4
13
10
2
0
-1
1
6
7
8
15
2
-6
12
12
-41
0
0
24
5
-22
-33
19
-6
-8
24
57
16
23
-32
28
7
28
-37
14
-12
7
35
3
-8
-1
-18
7
4
14
-3
0
-6
-5
1
8
7
3
0
0
0
0
0
19
11
3
-2
0
-4
12
-71
-2
6
-13
10
41
30
0
44
-3
-18
-52
-5
-21
4
-2
-23
-24
23
9
-4
4
-17
-17
-1
0
19
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-3
13
1
-7
-3
24
-15
-25
33
31
33
-37
-8
26
21
17
-11
-6
24
3
15
0
7
-5
-4
1
13
4
30
19
2
17
-5
0
0
0
0
0
8
-5
9
6
-9
27
-5
-9
11
-4
-7
0
2
19
17
5
-1
21
7
37
-5
9
40
-6
4
9
8
15
4
11
-1
9
-2
4
6
16
11
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
36
-3
0
-3
0
-13
-1
23
-8
16
-39
-6
36
12
-3
-12
-3
-9
6
12
23
6
-1
-10
-1
-5
1
-1
2
11
0
2
1
-2
-13
10
5
2
6
2
0
0
0
0
0
-6
52
-5
1
0
28
-53
-24
19
-2
11
-7
-28
23
2
-4
-26
38
-20
1
-7
35
5
-4
-40
-32
16
28
16
1
45
-10
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
-5
0
0
-10
11
5
2
0
18
54
27
34
0
22
45
-16
16
0
9
3
-4
16
0
-3
7
2
11
0
33
24
-3
11
0
0
0
0
0
0
14
11
2
12
0
27
20
16
-25
0
-3
4
21
-3
0
0
13
35
26
0
-12
4
0
-20
0
-11
1
11
-7
0
3
23
2
20
0
0
2
6
-1
0
26
6
-11
-1
0
-10
-31
-8
-4
0
17
8
-5
26
0
6
8
1
-26
0
-6
-18
16
34
0
-2
0
-5
15
0
-11
6
9
14
0
1
15
2
8
0
2
-2
2
3
0
33
25
-10
1
0
25
21
-14
0
0
-13
1
-9
21
0
-26
0
39
2
0
-9
15
28
-16
0
7
0
2
2
0
0
1
1
3
0
22
2
4
4
0
0
0
0
0
0
7
4
0
0
0
27
20
3
0
0
-14
16
-19
0
0
4
-21
23
4
0
14
60
21
-9
0
-18
-50
18
7
0
3
-12
-8
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
2
0
0
-7
36
22
0
0
58
9
-19
0
0
-25
34
12
0
0
-7
10
7
0
0
-1
2
-2
0
0
0
4
-12
0
0
0
0
0
0
0
27
1
-3
0
0
11
51
2
0
0
1
11
13
0
0
17
13
22
0
0
-15
-3
32
0
0
-1
1
8
0
0
5
14
-12
0
0
14
4
10
0
0
0
1
0
0
0
45
-8
1
0
0
-36
-5
0
0
0
51
10
-3
0
0
-27
-14
13
0
0
47
-12
-23
0
0
2
-11
-15
0
0
0
-5
8
0
0
28
58
-11
0
0
-3
-5
0
0
0
0
-1
0
0
0
29
-1
-2
0
0
-29
29
13
0
0
-1
-3
23
0
0
4
15
12
0
0
4
8
15
0
0
5
31
3
0
0
0
0
0
0
0
3
6
0
0
0
-17
1
0
0
0
-8
14
1
0
0
41
14
-2
0
0
43
1
-17
0
0
-4
-34
5
0
0
3
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-27
0
-17
0
-41
-32
-1
0
-22
-18
38
18
-23
-31
-27
-9
-27
-19
11
11
18
-14
12
14
-11
13
29
1
-5
-46
3
14
6
32
0
0
0
0
0
-4
0
-7
0
0
-2
-14
8
6
1
-4
-29
35
-1
1
-23
-20
63
1
1
32
1
-20
-1
7
19
0
-16
18
-12
-26
-18
-8
18
6
-97
-28
4
-8
5
-2
0
-1
0
0
2
-28
26
11
0
-3
-7
10
22
-2
-13
36
-3
40
-24
-13
53
-37
23
-33
19
21
5
-60
-7
8
10
7
1
78
-55
-12
-6
-14
-4
-44
-35
24
11
22
-23
9
5
-3
-2
-13
-29
-7
66
-3
69
-23
16
-24
-3
18
26
44
18
-21
28
8
-22
29
55
-5
28
-3
3
-15
-4
21
2
18
25
-26
-29
21
-18
39
0
0
0
0
0
-2
17
-55
-1
0
-1
1
-3
-8
2
-20
-24
18
38
0
9
-1
-1
-28
6
1
-11
31
15
1
-3
-24
17
15
-26
4
2
7
-15
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
7
-6
0
-28
-34
-26
-22
14
-17
-59
-27
39
2
23
-42
13
-13
-20
2
3
5
15
17
-36
-12
10
14
5
-110
-11
-34
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
-10
0
1
2
-7
10
10
0
0
1
3
0
0
0
-6
-15
0
0
-1
0
-4
-27
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
3
-6
-2
0
0
-6
12
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-2
2
0
0
-1
-3
-15
6
-1
1
-46
-10
49
-11
-9
8
-6
-18
-2
1
0
0
0
0
0
2
-4
-3
3
-2
35
1
-3
-2
-3
13
-47
27
-18
-3
-30
6
-10
32
10
-15
7
48
18
21
13
17
-37
2
-36
-7
-14
16
14
15
0
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
-24
-1
-18
-7
-23
-32
-6
18
35
22
-13
-28
8
0
-10
39
11
5
0
0
-38
-19
-13
25
21
-25
-10
-9
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-1
0
0
-4
2
-36
0
0
-18
-6
8
-3
0
-1
0
4
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-1
1
11
5
-34
8
0
3
-18
4
15
-6
-2
-20
14
-29
6
-44
1
19
9
12
-7
-34
-21
3
10
6
70
12
-15
-39
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
-46
10
13
8
0
10
21
-15
13
0
-30
-12
3
12
0
-9
-9
18
-3
0
-4
-56
13
4
0
8
-12
23
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-13
-1
0
0
0
3
1
0
0
-4
0
2
0
-1
0
1
-4
0
0
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
1
0
0
2
1
0
0
0
1
0
0
0
0
0
-3
0
0
0
-21
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
1
0
0
0
0
0
6
0
0
0
0
5
0
0
0
2
4
-3
0
0
0
0
0
0
1
-1
8
0
0
-24
-27
46
-1
0
-2
15
10
0
0
-11
-5
12
16
0
-42
-30
-38
25
0
37
22
5
-28
0
21
31
-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
-2
0
0
-5
-11
4
0
0
9
-3
-9
0
0
2
-14
3
0
0
-28
-2
16
0
0
12
3
6
0
0
2
17
6
0
0
0
0
0
0
0
0
-1
-2
0
0
-45
-27
-4
0
0
-45
-42
4
0
0
-15
1
5
0
0
-13
7
-52
0
0
4
-15
0
0
0
2
13
39
0
0
15
22
27
0
0
0
0
0
0
0
-2
-2
0
0
0
-26
-20
6
0
0
-32
-1
2
0
0
-22
17
20
0
0
-1
-16
-8
0
0
17
12
7
0
0
16
16
4
0
0
7
11
-14
0
0
-3
6
-1
0
0
-24
7
6
0
0
-28
26
-9
0
0
-50
-24
19
0
0
14
10
-28
0
0
19
8
-18
0
0
23
-7
33
0
0
17
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
-18
-6
0
0
0
19
-35
1
0
0
-3
-46
21
0
0
-30
17
-6
0
0
18
13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
11
-6
14
-17
-31
-12
15
-29
-27
-45
-7
29
15
-19
-25
-6
10
18
-19
-9
-5
5
13
7
-5
7
9
21
-1
-16
6
4
4
5
0
0
0
0
0
-57
6
54
-7
-11
22
8
-27
-35
2
-10
-12
-9
18
-25
-19
16
-8
4
-5
9
-5
14
22
-9
11
18
4
16
-15
-21
-5
-10
-1
12
-37
-30
7
-5
3
-49
13
-18
46
-4
-39
8
13
29
13
-18
40
-9
6
-6
-19
23
-6
12
15
-10
16
3
7
30
-39
-9
8
-29
-26
-6
1
-2
5
10
-30
-22
-16
2
-18
-5
-7
17
2
-1
-1
-34
16
-2
-1
11
39
-25
-9
-8
-32
60
7
3
-32
7
-1
-10
-18
13
-4
29
-15
20
27
19
-41
3
-5
-7
-3
11
-1
22
3
-10
-3
10
3
11
0
0
0
0
0
-2
-27
34
-1
-3
36
-12
6
12
-21
4
18
-35
-10
31
-24
29
21
-2
25
-30
37
10
41
-21
-10
7
-3
13
12
20
0
17
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-28
-30
21
7
4
-1
-28
27
-50
-20
-25
-1
-9
15
-32
-12
3
-9
-5
-6
0
6
0
-1
-39
-9
7
0
-3
-89
1
-14
5
-8
0
0
0
0
0
0
0
0
0
0
4
2
-3
-3
0
-8
-29
-5
-39
12
-58
-50
-10
21
-30
-2
-8
45
-31
-13
-11
38
11
30
12
-88
-30
-63
-28
-16
26
-65
-46
-31
-8
0
-2
0
0
0
-1
0
0
0
-2
1
15
1
17
0
4
-7
3
43
-12
26
43
-40
5
37
32
1
-14
-77
-8
-48
-27
8
2
-41
-82
-54
26
-25
17
-90
-24
-6
5
-29
7
0
0
-3
0
3
-2
-7
-6
0
-9
6
-33
2
0
-3
19
-38
-5
-2
43
26
21
-60
5
-21
-20
27
7
-14
-20
-29
-25
28
-8
-42
-62
-21
-22
-7
0
0
0
0
0
-44
44
-15
47
-2
25
4
47
37
-1
23
24
-73
-1
27
50
-20
39
-6
-11
-14
-10
26
-13
24
-15
-2
29
10
30
-4
-8
7
-12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-6
16
6
17
-65
-41
30
-5
-22
0
-61
-15
36
0
3
-7
-4
-8
-19
10
9
10
32
-2
-1
22
-6
15
20
-56
7
-32
-42
41
0
0
0
0
0
0
0
0
0
0
0
-2
2
10
-1
-46
-19
-8
-22
10
-35
-64
-13
15
-11
0
16
-33
11
-18
35
11
22
-46
22
49
-41
-55
-10
-24
-16
-9
-3
-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
-3
0
0
0
-1
0
2
0
0
-2
8
-4
-2
0
0
7
-10
-16
0
6
-21
-4
18
-4
16
6
-22
-26
-17
-13
-2
13
0
-14
-8
-40
-9
-1
29
0
0
0
0
0
10
-2
-7
-5
-8
-20
2
18
5
27
-28
-7
65
2
19
19
-13
-14
5
-13
18
-9
18
36
-15
-15
-3
2
-19
-6
-5
23
4
5
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-38
4
10
0
14
-5
-34
-32
0
-57
2
27
-10
0
-11
-10
-16
8
0
1
-1
-1
3
0
5
12
1
0
0
7
-12
9
-10
0
0
0
0
0
0
0
0
0
0
0
-4
1
-21
-4
0
5
1
-1
6
0
27
1
3
-38
0
-35
-6
-30
-20
0
-5
-46
2
-16
0
-37
-34
4
4
0
26
9
-36
3
0
0
0
-3
0
0
-4
2
0
-1
0
-10
1
9
9
0
-60
21
-6
8
0
-40
-23
-32
-6
0
43
-86
-13
-5
0
40
41
-4
5
0
5
18
-19
0
0
12
1
11
-19
0
-4
0
3
1
0
-1
-8
7
0
0
17
8
-10
-3
0
-23
10
-2
-3
0
-47
-10
-36
25
0
-77
-10
-4
-18
0
34
-19
0
-6
0
78
28
15
-5
0
0
0
0
0
0
11
4
-27
-2
0
-3
12
28
-37
0
-3
-3
-7
38
0
4
24
-18
-44
0
18
13
-8
28
0
-9
-8
7
3
0
0
6
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
9
39
0
0
35
-1
16
0
0
-8
-25
-40
0
0
-8
-10
10
0
0
-9
14
-6
0
0
1
9
9
0
0
27
9
-4
0
0
0
0
0
0
0
-14
2
7
0
0
5
-14
18
0
0
14
6
2
0
0
18
-13
-44
0
0
5
-26
16
0
0
-1
28
1
0
0
-4
-8
9
0
0
-4
13
-8
0
0
-1
-3
-2
0
0
-4
7
-10
0
0
-10
18
4
0
0
30
-24
37
0
0
7
-21
-16
0
0
-9
3
-8
0
0
32
-3
19
0
0
4
6
-5
0
0
-3
1
-17
0
0
-5
13
0
0
0
-2
26
2
0
0
-8
-1
-32
0
0
-8
-17
-22
0
0
2
-10
17
0
0
14
13
30
0
0
-1
12
23
0
0
-2
-16
0
0
0
0
0
0
0
0
-1
24
-7
0
0
-12
27
1
0
0
21
26
15
0
0
-1
-23
-14
0
0
2
17
52
0
0
15
-11
-12
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
-2
8
40
14
-2
3
-5
19
-25
10
-1
8
-1
2
-16
-10
1
4
10
-46
5
13
1
-3
3
12
1
1
3
2
-1
2
8
-18
10
0
0
0
0
0
-34
17
55
-10
1
-16
33
-40
9
12
-9
2
32
-16
2
11
-20
-11
-8
28
-6
-5
-12
-1
18
34
12
20
17
-9
-11
-1
4
18
-5
-1
-4
2
14
4
-16
29
-10
1
-1
4
11
59
-28
-11
-23
19
8
5
3
6
4
-7
-10
-8
-28
-6
20
-12
33
14
-30
-1
-12
-36
2
6
3
11
12
12
9
4
-7
7
-4
-5
5
17
6
-10
-32
-18
11
2
38
0
-51
-18
11
-21
32
2
8
-11
-45
-69
17
15
18
-38
7
-2
25
-10
-16
-17
2
-17
34
1
3
5
5
27
9
13
-3
2
-4
0
0
0
0
0
7
-19
-9
1
-1
0
-5
-23
15
15
56
-11
0
-27
-12
-1
-1
56
40
-25
-1
14
12
5
-22
-5
-5
-9
-33
16
-7
11
-4
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-11
14
0
-3
-16
-30
-5
-42
-46
-8
41
36
45
-50
23
-10
-11
-31
-25
24
-2
-1
-4
33
-14
7
-2
13
-6
-15
-9
5
0
16
0
0
0
0
0
-39
19
32
10
-10
-72
0
24
7
-19
-20
-3
49
25
-23
-14
14
-21
30
31
-27
12
19
-2
2
18
13
7
-7
-20
-40
-55
-20
13
0
8
-68
-21
-6
12
-14
-18
-6
8
-6
-36
-30
25
6
0
-75
65
-35
13
-12
-2
6
-16
31
1
-31
56
14
-2
-5
-9
-42
9
-13
18
-25
-24
-6
6
16
-2
-28
10
21
7
0
45
1
24
20
-104
29
-10
-1
1
-44
-55
3
42
10
-5
11
-13
-47
-13
-30
19
-4
-12
9
1
6
23
-13
-3
-34
19
3
-9
7
-2
2
-8
4
22
6
-5
0
14
9
0
0
0
0
0
-2
-48
17
-14
0
0
18
-3
3
-3
45
5
-6
-7
21
17
-1
-10
40
-4
-1
-38
19
16
15
-16
21
-1
-4
-25
24
-12
16
-12
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
7
-7
13
9
-41
-8
4
17
23
5
-92
22
-16
48
16
-27
0
-8
-5
21
2
11
8
6
-6
10
-3
0
16
-42
-24
-8
-8
-5
0
0
0
0
0
-60
-9
0
-33
4
-80
-17
-14
-2
-3
-11
7
-70
-13
-12
-18
-13
-19
-9
7
3
-19
-13
-12
4
-22
13
-3
2
-1
14
-8
5
4
-3
-15
-7
-1
-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
-14
8
-15
-12
-3
66
-21
-24
1
0
-48
16
-9
26
13
32
10
-47
12
-7
-34
-6
-8
4
4
-39
-67
-2
28
-28
-2
1
3
13
24
-22
3
-1
-12
2
0
0
0
0
0
-4
10
11
1
0
-12
13
40
-33
1
7
41
-42
-9
-20
3
-43
-18
26
-35
-5
39
15
16
14
7
1
-10
9
14
43
-4
-6
9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
9
3
-7
0
-18
-31
31
7
0
-30
29
-35
-19
0
-18
5
11
-11
0
1
-4
-3
8
0
-2
14
5
-1
0
1
15
28
6
0
0
0
0
0
0
-3
-45
-2
-2
0
23
9
-38
2
0
-44
-17
-55
27
0
-7
-30
-3
-18
0
-1
-2
-3
-19
0
1
9
-20
1
0
-17
-7
17
2
0
-3
10
12
22
0
0
11
0
1
0
6
3
27
-10
0
7
-13
-16
-27
0
-1
-6
-19
-12
0
30
-11
-2
-4
0
-24
-1
-10
13
0
27
-8
-7
9
0
-7
3
4
-5
0
5
11
6
-2
0
29
-8
-8
6
0
-34
-2
9
-6
0
-10
-12
35
-16
0
62
-22
-43
-30
0
-14
14
-24
-12
0
-20
5
-16
46
0
-9
-2
4
19
0
-11
5
11
-16
0
0
0
0
0
0
3
1
-6
-1
0
15
-3
-5
-6
0
-4
-8
18
-54
0
-27
-33
-5
-43
0
12
-1
-15
16
0
3
16
21
34
0
-17
2
9
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
4
0
0
45
25
-13
0
0
14
32
9
0
0
1
-24
6
0
0
-4
-11
-1
0
0
1
11
7
0
0
19
-10
-5
0
0
0
0
0
0
0
-9
1
-4
0
0
7
39
6
0
0
11
-14
-28
0
0
11
18
-34
0
0
-4
-12
0
0
0
5
2
-11
0
0
3
-7
-9
0
0
-6
12
12
0
0
-1
-1
0
0
0
4
-3
2
0
0
21
2
-17
0
0
26
-32
-36
0
0
-16
9
-2
0
0
-9
-2
31
0
0
4
9
21
0
0
17
0
2
0
0
3
39
-4
0
0
-10
29
0
0
0
23
1
-4
0
0
9
-15
-3
0
0
3
16
-32
0
0
10
3
-1
0
0
-7
-15
-5
0
0
-4
14
15
0
0
-13
2
1
0
0
0
0
0
0
0
8
2
1
0
0
45
-3
-1
0
0
-4
19
6
0
0
-25
-25
-36
0
0
19
38
-20
0
0
-19
-1
30
0
0
36
16
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
23
0
-1
0
-91
-44
31
49
6
-32
-7
43
-16
-7
7
18
7
-34
9
28
16
-3
22
13
34
9
0
6
-2
17
6
12
-17
-17
0
0
0
0
0
-22
10
1
0
0
-17
19
46
-21
0
43
-20
-3
-50
-12
6
-1
-4
12
11
-22
-16
-6
-1
0
15
-2
-3
10
22
-13
9
3
28
-1
25
5
7
7
44
-3
-4
0
0
0
29
-3
-5
-9
4
37
35
-30
1
0
61
-87
-1
-8
12
-20
-33
30
-5
-54
4
-20
-12
-24
32
-16
12
4
19
-25
-5
11
3
15
12
14
-15
11
41
31
23
-18
-2
-2
0
-25
-50
47
-3
-3
-74
28
52
3
1
-34
-11
-19
11
-16
10
-10
-10
19
24
1
-25
-14
16
34
-1
2
14
-11
18
9
20
-5
-1
16
0
0
0
0
0
-5
21
3
0
0
-22
9
6
0
0
42
-19
-47
-7
-1
-21
45
-12
21
1
33
11
36
14
-21
-31
-16
5
-16
0
0
22
5
-1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-100
42
1
-4
1
-7
-7
9
-9
11
40
-5
-38
6
24
25
-22
-22
-20
-8
26
-19
-16
19
-5
-1
12
11
15
4
31
27
24
1
6
0
0
0
0
0
-5
-29
-34
-3
3
-12
12
2
8
21
-33
2
-3
8
-8
-18
-17
-4
17
-25
-4
-13
-5
8
-11
6
16
9
-11
9
-1
-15
3
11
5
4
30
-4
-9
-7
21
-2
6
0
1
26
-27
24
9
-2
31
-33
24
-45
13
-25
-7
53
-42
-27
-10
-10
19
-7
-18
-20
-4
27
-12
11
15
-6
-4
-7
1
13
7
-10
11
-1
-66
25
13
3
18
70
-45
21
8
-4
74
-25
-31
25
-4
-35
56
18
-26
-29
4
-19
-13
15
-6
-18
4
12
-22
18
-17
5
-11
18
-1
19
11
4
-19
18
-1
2
6
-3
4
0
0
0
0
0
13
-10
1
-1
0
-13
-16
34
0
-2
24
-20
-17
-23
-1
-17
-24
-34
-8
11
2
38
-4
29
-7
-48
15
-28
-13
17
-8
27
25
42
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-8
3
0
15
-35
-24
3
25
12
10
5
9
-27
51
-16
-11
-5
-32
-4
10
8
2
18
7
4
-16
6
22
44
20
11
15
-15
0
0
0
0
0
18
21
-17
-1
1
-11
-8
57
-64
-2
-8
-31
13
-50
7
-38
-48
-25
49
29
-24
-41
-36
5
-9
-59
2
-9
6
-14
-15
-18
14
3
5
-63
7
-1
8
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
7
2
1
-23
7
34
30
-1
-24
5
-47
9
-3
-35
-43
37
-28
-10
6
28
-6
-7
-38
16
-40
8
-10
1
16
-15
-11
14
2
-41
18
13
0
0
0
0
0
0
0
3
-7
0
0
1
9
17
12
-5
0
-19
-10
17
-14
0
-15
4
-15
-19
12
39
16
-26
22
0
-24
-7
-4
-4
19
-7
41
10
19
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
10
13
13
4
0
38
24
-7
-52
0
-3
19
5
14
0
6
-1
-10
15
0
8
0
0
-7
0
31
11
12
14
0
0
0
0
0
0
6
-11
25
9
0
20
-79
-11
8
0
-71
-49
51
60
0
13
21
-25
-16
0
-9
-5
-20
-5
0
6
10
-10
-17
0
3
7
0
-5
0
11
20
12
16
0
4
1
1
0
0
50
5
-59
-20
0
-24
28
-16
9
0
20
-27
41
-49
0
1
1
-4
7
0
-15
7
-21
-20
0
0
-2
18
25
0
4
8
14
14
0
-14
19
12
21
0
-33
-14
9
0
0
39
26
-13
-17
0
0
1
16
10
0
-11
-13
-7
13
0
-25
-4
6
1
0
12
-9
-28
14
0
-9
6
20
18
0
-1
19
-6
-1
0
0
0
0
0
0
2
1
0
0
0
6
-4
0
-3
0
-1
-1
11
-1
0
1
-13
6
-4
0
-15
-13
25
-14
0
17
19
1
8
0
-13
-28
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
-4
0
0
-6
-16
-1
0
0
31
14
-8
0
0
7
-18
-23
0
0
6
0
-17
0
0
-28
10
4
0
0
18
20
27
0
0
0
0
0
0
0
2
2
0
0
0
50
-6
-3
0
0
16
-5
10
0
0
-16
-47
-8
0
0
-15
-19
-32
0
0
15
-3
2
0
0
13
-25
1
0
0
-29
17
14
0
0
0
0
0
0
0
-2
-2
0
0
0
-3
3
2
0
0
-25
-4
-6
0
0
22
31
-7
0
0
-7
-11
41
0
0
24
26
25
0
0
-35
-5
22
0
0
0
13
-19
0
0
-1
-1
0
0
0
2
1
0
0
0
1
-16
0
0
0
0
43
6
0
0
-10
26
-10
0
0
-28
-29
-36
0
0
32
9
1
0
0
-15
-17
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
-20
31
-2
0
0
-15
-3
-22
0
0
11
45
6
0
0
1
37
27
0
0
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
-2
-1
0
51
26
-32
1
0
30
-47
-3
-34
-2
7
9
10
42
-13
38
1
4
7
9
11
-1
14
-26
7
0
0
0
0
0
0
0
0
0
0
-9
-4
0
0
0
-8
-20
1
0
-1
-11
-30
7
6
1
52
8
11
-44
-6
22
7
-2
28
7
-4
25
21
-24
-12
45
27
-17
14
84
0
0
0
0
0
26
1
0
0
0
29
4
0
0
0
1
-24
-1
0
0
-18
50
-73
33
0
-15
38
18
-39
0
13
61
-2
-31
7
32
16
32
-11
-33
43
-4
-1
2
2
-3
6
0
0
0
14
-1
-1
0
0
10
-1
0
0
0
12
18
-17
0
-1
0
-20
0
8
0
14
-38
9
-21
50
14
-5
53
-2
0
-52
46
5
3
-54
0
0
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
2
0
0
0
0
1
-2
0
0
-8
11
-12
1
2
-8
29
21
15
0
9
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
-3
-8
-1
0
0
-13
-3
41
-8
6
22
8
14
-90
-19
-1
7
16
31
2
-18
18
16
6
1
68
16
34
-3
23
0
0
0
0
0
-23
5
-3
0
0
-4
7
10
-1
-2
-22
35
15
16
-21
-27
7
-26
2
11
-4
-14
-13
-11
-48
-7
-7
-11
-1
0
20
7
10
13
-3
12
21
10
-8
15
-3
-11
0
0
0
26
-1
-5
-1
-3
20
-30
25
13
-2
4
-13
-40
8
3
-17
-40
63
-2
43
-34
3
0
-20
38
19
7
17
26
-4
28
17
-5
-7
2
60
16
37
-1
4
-6
28
5
1
0
21
61
4
0
0
-16
-39
-1
10
-1
12
-39
-20
-25
-15
-12
14
3
25
-43
8
0
-42
10
24
7
36
14
10
-3
70
9
7
4
-1
0
0
0
0
0
6
-13
0
0
0
15
0
0
0
0
0
5
0
1
0
0
0
6
1
0
0
-8
-7
-20
0
4
8
26
21
-23
-2
13
-16
-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
4
-3
0
-1
0
0
-2
22
11
27
7
-47
22
-11
3
18
-7
32
-11
4
-36
-1
-21
-5
-2
51
48
3
14
14
0
0
0
0
0
0
9
2
0
0
6
-25
-44
12
2
60
-25
8
19
6
15
30
53
-22
-38
12
-25
-13
-1
17
-11
3
-35
-13
22
-41
3
10
16
3
-18
7
2
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
7
-5
4
0
0
2
20
-14
1
-1
1
-32
5
2
0
-19
-13
-3
24
20
-28
-27
46
-17
44
5
47
-11
21
11
4
-28
46
3
-1
0
104
-20
2
-29
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-6
11
1
0
4
-6
8
9
0
0
0
-18
-13
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-2
0
0
0
-4
22
1
0
-4
-7
39
-5
0
41
-33
4
21
0
0
23
-32
-5
0
-8
69
13
-5
0
0
0
0
0
0
0
0
-3
0
0
-6
-3
-1
6
0
1
-3
-21
-54
0
2
13
9
10
0
-23
14
-1
16
0
33
3
14
-20
0
11
7
19
-3
0
27
15
18
1
0
0
4
0
0
0
-25
-6
0
10
0
3
-11
33
0
0
18
9
30
-1
0
5
5
0
-26
0
-55
-32
-25
-22
0
-5
0
6
-32
0
30
1
-12
-4
0
0
37
-28
17
0
4
-3
1
0
0
-12
45
-21
-2
0
29
-5
-16
0
0
-20
34
-7
16
0
14
-22
-26
-11
0
11
-45
19
-46
0
-3
-28
11
3
0
0
-1
6
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
-10
0
-2
0
0
-4
0
-4
-3
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
11
12
-41
0
0
10
30
21
0
0
16
30
-3
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
-41
3
2
0
0
-19
-31
17
0
0
35
10
-22
0
0
-17
45
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-3
-1
0
0
29
12
-18
0
0
0
6
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
-11
0
0
0
26
0
-28
0
0
0
33
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
12
-4
-11
12
-1
57
-12
-8
13
13
70
-23
-22
21
19
11
-5
53
-21
-24
8
9
3
-6
-13
-22
5
9
-24
15
3
1
-5
13
-27
0
0
0
0
0
-45
-67
23
11
-1
68
-18
-5
-3
-3
21
-6
-31
-33
7
-49
36
-19
-11
-15
-7
-7
-13
-25
-28
3
11
7
6
-16
-9
-2
3
-7
34
4
14
20
25
-4
-3
-20
1
0
0
35
-10
20
1
0
14
-57
2
17
0
2
44
-31
-18
-15
-28
15
-19
-21
-22
-8
-7
-6
-14
5
4
2
-13
-3
2
10
-4
4
2
7
14
1
6
25
18
3
-21
0
0
1
58
65
-30
-11
-4
40
-27
-12
-28
1
19
2
-53
33
-25
21
14
8
3
0
-22
-8
9
-8
-22
17
17
-6
4
1
-13
-8
13
5
17
0
0
0
0
0
23
12
-1
0
0
44
7
-17
0
-1
30
-25
-1
20
0
-12
-54
57
-14
-35
8
-9
3
-21
32
-2
-30
10
22
-10
12
-10
6
-6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-13
-63
9
1
14
19
39
18
43
14
-17
-5
-19
-11
-43
-26
41
24
-6
-2
16
-3
13
6
-3
-3
2
4
-13
-9
4
30
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
19
-1
0
0
-7
36
-24
-1
1
-17
30
11
10
2
-32
-12
7
-15
14
1
-3
6
-9
-26
-5
-8
13
-28
17
15
4
5
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
6
25
25
-10
27
-20
-30
1
-13
-22
46
-7
-20
18
7
0
8
-27
-2
11
11
9
7
6
3
3
8
-15
-4
-31
20
-22
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
24
-33
22
-25
10
-34
-7
-9
20
19
13
3
-14
4
-16
-21
10
-3
21
22
-3
-7
19
18
-24
10
1
-1
-1
3
1
-15
-3
-4
-3
-2
4
13
4
7
-1
4
-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
13
-5
0
-2
0
-38
45
18
1
-3
-2
-1
5
31
-4
26
37
-45
18
15
34
-25
-13
-8
-4
19
24
-3
-18
-27
-2
1
22
3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
35
12
6
0
20
-14
-54
8
0
-25
8
-4
4
0
14
-3
-12
-14
0
8
-2
13
-9
0
-5
-3
0
-2
0
7
-10
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
-3
-3
0
0
0
-5
23
-1
-4
0
-45
-11
2
1
0
13
-25
16
-36
0
-7
-8
-9
-25
0
-1
7
-13
30
0
-4
-3
16
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
20
-2
0
0
-45
4
-3
0
0
51
10
-2
0
0
5
5
-36
0
0
-4
-1
42
0
0
9
11
-8
0
0
17
1
42
0
0
0
0
0
0
0
25
3
0
0
0
-5
-33
1
0
0
20
45
-3
0
0
25
44
7
0
0
11
-20
18
0
0
-3
15
4
0
0
2
-2
17
0
0
2
-5
35
0
0
-4
0
0
0
0
2
0
0
0
0
2
-10
0
0
0
-11
3
38
0
0
31
16
-26
0
0
12
-6
-6
0
0
11
2
1
0
0
-2
-15
-12
0
0
0
-5
17
0
0
0
0
0
0
0
-18
0
0
0
0
-3
10
-1
0
0
13
14
-8
0
0
-20
2
-31
0
0
42
17
-29
0
0
0
1
10
0
0
3
0
44
0
0
0
0
0
0
0
-1
0
0
0
0
10
2
0
0
0
-15
6
0
0
0
-4
-5
0
0
0
-7
0
-15
0
0
0
-5
-12
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
25
-20
20
0
0
-17
-3
-35
11
-1
3
21
-5
16
-30
8
-3
-43
-37
-7
12
1
-1
4
4
3
2
15
3
6
18
14
4
19
9
0
0
0
0
0
45
43
-5
4
0
21
3
-9
0
3
-26
15
-21
21
13
42
19
-16
24
-38
24
-2
-8
-20
18
6
8
-2
5
15
4
3
3
-5
-1
16
14
3
28
7
3
15
6
1
0
2
32
-32
1
0
10
10
-19
0
0
-6
22
12
-20
9
28
26
-2
-31
-39
-7
-4
-16
4
28
20
-7
1
3
-15
22
12
14
-3
-16
7
-8
4
20
20
-13
31
4
0
-1
25
-51
9
0
0
-15
3
-3
8
0
-1
-10
21
-31
39
-2
-37
-1
27
3
-14
9
-2
-19
7
22
-3
-1
5
-4
-28
-1
8
17
-13
0
0
0
0
0
-34
16
1
0
0
-19
4
4
-1
0
-3
13
0
7
-1
-4
-32
-30
-4
16
33
15
18
-14
-18
33
-6
-22
2
22
6
-7
-7
23
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
10
14
0
24
-20
9
28
28
47
49
15
2
38
8
-10
-2
4
-16
-8
-8
18
-9
19
20
9
13
1
13
28
6
14
17
15
0
0
0
0
0
29
-43
-7
-7
8
-17
-3
51
14
0
34
5
58
-15
24
11
-8
34
16
22
39
16
2
7
-28
10
1
10
13
9
-4
-19
-8
4
-25
-8
1
7
29
7
-28
-3
-3
7
1
-10
51
-16
10
0
23
-13
35
3
-10
2
20
3
-8
16
12
-12
-11
46
23
2
5
-7
-11
-9
5
2
-10
-6
12
-17
-4
8
9
5
12
-9
-2
7
-7
17
-5
4
4
0
-5
11
6
10
0
-6
-6
7
-10
-1
9
-57
29
-8
-13
44
-1
26
3
-38
-16
7
-16
-11
-10
12
2
4
-2
30
-15
13
-5
11
4
0
0
0
0
0
6
9
-2
0
0
30
15
-10
6
1
1
-8
20
-55
0
-31
-10
-3
33
6
0
-1
-21
32
37
15
21
14
-7
-18
-3
-19
4
8
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
9
9
3
0
55
2
-10
19
-3
16
28
23
21
4
30
23
-1
-19
-13
15
11
8
2
11
10
7
9
-3
7
-6
17
4
-3
0
0
0
0
0
0
13
-31
15
-1
0
20
0
-5
6
0
17
2
-15
-6
-31
12
7
-20
31
18
23
14
7
-11
-8
9
5
1
-3
-12
37
-11
-16
5
6
-6
7
4
-3
-5
17
-11
46
-23
-1
6
31
8
-16
19
-15
6
-13
25
-27
12
25
-36
9
-23
-14
21
3
-5
-16
14
-2
-20
6
12
-4
2
-1
-5
6
8
1
2
6
9
-5
-4
-3
1
-5
-8
-16
-1
-3
1
7
17
-12
11
0
-50
-12
9
26
1
7
1
-4
-7
25
36
6
7
14
28
13
3
-7
10
-29
8
-7
-8
17
7
0
2
2
-3
26
0
0
0
0
0
-1
-19
-1
3
0
34
-17
5
1
8
43
21
-23
2
-1
2
35
4
-7
1
-5
5
23
-42
-13
5
7
6
-11
-30
3
4
-6
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-16
4
-2
0
4
16
16
1
0
7
-39
64
11
0
41
26
-3
13
0
16
4
6
9
0
5
0
-8
7
0
13
12
17
18
0
0
0
0
0
0
32
-24
1
-7
0
9
-2
-1
2
0
-49
-2
-48
-16
0
14
-36
-2
4
0
-16
-8
-5
5
0
20
5
5
20
0
13
5
-2
6
0
-22
-21
0
20
0
36
9
3
-1
0
16
-16
7
0
0
11
8
4
7
0
10
-10
7
9
0
-39
26
1
-44
0
-7
-3
-2
-7
0
21
9
2
5
0
7
-24
0
-3
0
-1
0
10
0
0
4
-3
0
0
0
-17
13
0
2
0
33
-15
21
0
0
32
23
-11
15
0
3
23
-18
-10
0
40
-2
-4
15
0
5
-23
-9
-18
0
1
3
15
6
0
0
0
0
0
0
-4
-10
-9
0
0
-12
1
0
1
0
1
15
63
1
0
0
-27
-9
-2
0
17
-28
1
-31
0
-28
0
-12
13
0
0
-4
3
25
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
18
13
0
0
0
30
7
22
0
0
7
-31
-18
0
0
11
-1
-6
0
0
3
16
-5
0
0
-5
7
25
0
0
0
0
0
0
0
-17
0
0
0
0
-2
30
0
0
0
17
-1
-9
0
0
20
30
-70
0
0
8
4
-7
0
0
8
-4
18
0
0
-11
-8
20
0
0
-1
7
14
0
0
3
0
0
0
0
13
7
0
0
0
28
9
0
0
0
-25
14
-6
0
0
8
35
-19
0
0
2
-4
-27
0
0
5
-7
6
0
0
-5
-21
6
0
0
-16
17
33
0
0
0
0
0
0
0
7
-3
0
0
0
1
4
-1
0
0
-11
-29
8
0
0
40
-8
-69
0
0
12
0
4
0
0
15
3
-5
0
0
-13
5
4
0
0
0
0
0
0
0
-2
-8
0
0
0
-3
1
0
0
0
-16
-2
0
0
0
-4
33
1
0
0
-17
16
13
0
0
-12
9
-16
0
0
1
-4
28
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
34
6
-45
-1
0
-11
-20
6
15
2
-2
16
-29
-16
-19
23
2
6
7
10
10
6
18
-16
22
33
30
-2
17
0
0
0
0
0
0
7
0
-3
0
0
21
-21
6
0
0
26
29
-34
1
-1
36
-2
-26
-1
2
-48
-29
-7
39
33
-1
-1
-25
6
16
31
6
6
19
3
22
25
24
50
8
9
2
0
0
0
6
-6
7
0
0
16
15
-1
0
0
-36
42
-8
1
0
50
-26
31
-41
0
-5
0
3
-4
23
17
-9
-20
-2
-18
21
11
3
6
39
-5
42
-32
14
40
5
5
0
0
0
34
7
3
0
0
-2
-6
0
0
0
-20
-36
-41
12
2
15
12
-19
-13
8
-14
-22
18
-7
9
26
9
-4
-44
4
-19
11
16
43
-14
0
0
0
0
0
20
-9
0
0
0
13
-2
0
0
0
-5
-10
1
0
0
9
-9
3
-5
0
-30
-23
20
11
7
-11
23
-21
-63
13
-38
49
-2
26
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
5
1
-2
0
20
-14
20
1
1
26
-16
-38
-37
6
-7
-10
1
37
75
-13
3
-13
6
22
31
12
8
9
4
30
17
12
11
-4
0
0
0
0
0
3
6
-11
2
-1
19
33
-24
13
0
-20
-13
-9
-21
43
2
-15
2
-27
13
-33
20
-1
-11
-22
6
2
-1
-7
-4
14
3
10
1
3
1
4
18
13
10
2
3
2
0
1
23
13
-14
1
2
35
23
-18
-24
1
23
-22
-13
40
-14
44
-27
-28
-13
-44
-8
-4
-12
-2
10
4
6
-6
-11
8
4
5
21
2
7
4
19
-11
0
25
-6
36
-3
-2
0
40
0
7
0
8
15
10
24
-52
1
25
-21
-8
0
31
-29
-22
15
-6
30
11
5
-3
9
-15
30
-1
3
-7
14
-14
11
-3
27
-13
0
0
0
0
0
-5
6
1
0
0
-2
-9
2
0
0
5
0
1
0
0
-12
-35
8
-4
-1
37
2
11
15
-18
33
1
13
-6
28
-11
4
7
25
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
-1
-1
0
-2
27
20
-1
0
30
23
-19
0
10
-14
4
8
-14
-8
25
33
21
-9
12
4
8
11
0
9
7
13
15
18
12
0
0
0
0
0
-35
3
30
0
-1
-36
-3
48
-8
1
-59
5
4
35
47
-38
27
16
15
13
0
-2
18
-30
-19
27
4
-6
-9
7
0
2
8
6
0
-10
3
1
24
19
8
-9
-27
-9
0
9
21
-3
9
-12
-1
15
-8
11
18
-13
6
6
-6
28
-3
4
-6
-1
10
13
-7
14
8
17
5
-11
2
3
-2
-6
4
2
3
7
28
4
0
4
-20
4
22
-4
-1
-1
13
-11
35
-10
-5
30
-42
28
16
0
-16
3
28
12
-32
0
6
12
-4
8
33
2
5
-15
17
-3
-3
5
10
2
2
5
-4
-9
-17
0
0
0
0
0
0
7
4
0
0
6
6
2
-2
0
-3
-1
-2
0
0
9
0
26
-16
-3
-44
0
24
32
0
-21
-2
-16
11
-7
19
9
0
-43
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
2
-1
-9
1
0
40
7
33
4
0
-1
-2
-39
8
0
25
-2
-7
24
0
0
5
14
-5
0
-14
4
11
34
0
0
0
0
0
0
-26
2
0
9
0
-28
14
-3
0
0
4
7
17
19
0
-22
9
27
36
0
16
-14
-21
2
0
6
1
-3
-15
0
-2
14
4
12
0
-10
-23
-5
28
0
-15
0
1
0
0
10
-10
7
-2
0
8
33
10
0
0
-7
-38
0
45
0
8
38
-9
9
0
13
-7
5
-3
0
2
13
21
-3
0
-5
-17
-1
20
0
12
11
0
17
0
-8
5
0
0
0
21
-8
-3
0
0
-11
7
1
2
0
-11
40
-36
21
0
14
-3
30
-16
0
-8
9
-13
-1
0
17
7
21
-8
0
-6
-8
1
21
0
0
0
0
0
0
-6
3
9
0
0
8
-6
0
0
0
5
1
-7
0
0
21
-35
-2
3
0
0
-5
17
-17
0
-47
-5
-21
-25
0
-36
11
-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
2
0
0
0
0
0
-1
-1
0
0
0
-5
11
0
0
23
33
-4
0
0
1
27
-15
0
0
0
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
-6
0
0
0
0
1
1
2
0
0
14
-23
49
0
0
6
47
-1
0
0
-1
4
-8
0
0
-5
-13
-17
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
5
-19
0
0
0
31
12
-37
0
0
3
12
-20
0
0
-8
-24
1
0
0
0
-3
64
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
2
6
0
0
0
15
28
-23
0
0
-22
-1
-11
0
0
20
2
0
0
0
-22
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-8
1
0
0
0
-8
-10
8
0
0
21
32
3
0
0
-11
-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
-2
-1
2
0
-26
18
33
-20
3
25
-2
14
10
12
-20
-44
-12
17
-38
-8
20
-33
-21
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-2
0
3
1
7
-2
0
17
-12
16
-16
10
30
-6
9
26
-20
-11
-44
-62
-29
4
-168
-5
-13
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
9
-35
52
-8
-1
13
20
47
-31
-23
-117
-50
-16
54
58
-15
-76
-31
-37
9
-37
36
-50
-43
-50
0
0
0
0
0
0
0
0
0
0
-6
-3
0
-2
0
-1
0
-8
0
0
-5
-10
40
10
-3
20
-33
33
-2
-17
20
13
4
-7
5
-70
-2
-46
7
21
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-7
20
0
-1
0
-37
-2
-6
-2
2
6
-43
-15
22
1
16
-13
-49
1
12
0
24
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
-2
-1
-2
-1
7
17
2
-85
4
14
5
-6
4
11
-8
-22
-2
21
6
-129
-47
-4
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
-11
0
0
0
0
0
-2
0
0
-7
1
0
5
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
0
-7
-1
-3
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
4
4
12
-2
-4
-3
25
3
17
-25
1
-20
20
8
9
-3
17
-20
-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
-3
-1
0
0
-27
-53
-12
-16
26
-25
-11
43
-14
-32
6
-14
20
-22
-4
-74
-34
-71
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
-2
-1
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
3
0
0
0
-11
27
-12
0
-6
-30
-27
0
0
2
15
-7
0
0
-9
-4
-30
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
-2
0
-3
-1
0
-11
-38
-2
-5
0
-1
53
-2
-51
0
13
-56
-33
14
0
-25
-33
18
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
12
-2
8
0
-4
-3
13
-2
0
17
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
-4
0
0
0
0
-26
16
-18
0
0
-24
-4
1
0
0
6
-28
11
0
0
8
12
-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
-1
0
0
2
-21
-11
0
0
-18
-11
-1
0
0
-27
32
29
0
0
45
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
3
1
0
0
-1
-35
12
0
0
-2
24
46
0
0
0
-3
-41
0
0
7
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
0
0
-27
10
13
0
0
7
-40
2
0
0
13
-4
-9
0
0
16
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
2
2
0
0
1
-26
3
0
0
1
17
0
0
0
-4
-23
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
9
1
0
-2
0
29
-13
-6
-10
3
-32
-26
59
-20
22
38
18
-2
7
8
-19
1
3
14
19
-27
-22
3
12
20
0
0
0
0
0
0
0
0
0
0
-4
18
2
0
-1
-13
5
-16
-1
-1
37
6
31
16
-45
-74
17
-16
-43
25
33
-1
17
6
32
-59
-16
6
-4
14
-1
-20
-11
14
-16
7
-1
0
0
0
3
4
1
1
0
-12
-7
-3
-3
0
-17
-38
17
3
-1
12
12
17
9
10
26
5
-10
9
19
-28
-23
19
26
-49
-31
3
-24
-13
27
25
-16
-23
16
-10
-13
3
0
0
0
-5
0
1
0
0
-11
15
2
-8
0
4
26
17
-23
-6
18
36
-31
7
-29
9
-15
23
-4
10
-14
-9
30
10
14
-16
-37
-34
-3
11
0
0
0
0
0
1
-4
0
0
0
10
-6
-1
11
0
-47
-5
20
-2
0
28
-9
-41
2
-3
-42
11
12
-58
-41
12
-11
-5
17
-14
-18
-21
10
-4
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
-12
3
24
-4
1
37
-21
-6
-14
-1
-1
-52
-38
1
-16
19
-39
-6
-33
-10
16
-3
-6
1
8
-8
-12
9
24
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
-2
17
-2
-2
0
-51
-83
-28
-30
-10
-7
-51
5
-5
15
-51
-23
8
32
-44
45
-11
-93
-55
-32
0
0
0
0
0
-7
0
0
0
0
0
2
0
0
0
-1
1
-1
0
0
-45
47
-9
24
0
-20
-54
-33
-10
25
-15
-26
6
10
14
34
-33
-30
-76
-63
20
8
-58
-62
-99
1
0
0
0
0
-3
0
0
0
0
-3
0
0
0
0
-3
3
-11
4
0
-34
-2
-6
9
0
-34
-72
5
10
14
-20
-39
-52
-33
-25
-7
-29
0
-44
-11
0
0
0
0
0
0
-5
0
1
0
-1
-25
3
-1
0
-15
27
9
-2
0
-58
-1
-8
-36
2
19
38
57
15
61
7
-28
-2
36
-8
13
5
-37
-15
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
26
4
-3
2
-2
-33
-81
42
18
-2
-25
-18
-83
-11
29
-26
-1
1
4
4
-7
-5
7
-3
23
-6
-14
-12
-18
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
1
0
0
-3
1
-33
-8
0
-63
17
-44
-7
-16
60
-59
-25
-23
39
-24
-8
-17
-16
-61
30
-33
-9
-64
-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
1
1
-3
0
0
-1
7
4
0
0
-1
0
1
0
1
-6
21
-13
6
3
-32
-27
17
8
-63
-34
-8
-37
-36
7
39
-49
3
-69
-1
0
0
0
0
0
-3
1
-2
0
0
11
-10
6
0
-1
-10
18
0
0
4
-35
-37
4
36
16
20
-10
14
-9
-17
-38
10
-56
-19
-5
14
-23
25
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
1
4
0
3
0
9
13
-19
7
0
45
28
-56
-23
0
-5
17
-12
-23
0
-30
-7
-1
-5
0
33
-14
2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
5
-3
-18
64
0
7
8
-7
5
0
-30
-56
-43
-62
0
0
0
-5
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
-12
2
0
-47
17
27
8
0
-38
-2
-26
-20
0
4
-44
-72
-31
0
0
-20
-34
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
0
-2
0
-1
1
37
1
0
-38
18
-35
-15
0
-2
20
35
0
0
38
-32
-113
6
0
0
0
0
0
0
-4
0
0
0
0
-4
-1
-1
-2
0
-4
-30
14
0
0
15
27
16
8
0
-32
0
-31
11
0
-14
7
-3
-7
0
21
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
-1
-1
0
0
0
-1
0
0
0
0
-9
2
-3
0
0
-42
-1
-11
0
0
11
3
36
0
0
19
3
10
0
0
16
0
26
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-9
-3
1
0
0
1
-8
11
0
0
31
-7
-15
0
0
-10
12
-7
0
0
-5
-18
23
0
0
1
1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
29
-10
-19
0
0
-32
13
26
0
0
-16
-41
-39
0
0
33
-4
19
0
0
-23
33
-6
0
0
-3
15
80
0
0
0
0
0
0
0
0
2
0
0
0
-3
-8
3
0
0
40
9
-3
0
0
54
-13
31
0
0
-25
-32
-44
0
0
-8
-4
23
0
0
-4
20
-37
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
14
0
0
0
0
28
-22
-10
0
0
49
34
20
0
0
-66
-28
3
0
0
1
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-10
-11
-24
0
3
-22
5
20
-5
3
-18
4
-67
-17
-25
23
18
11
21
33
1
1
7
-5
1
3
-2
-5
-7
3
0
0
0
0
0
14
-4
-1
0
0
-10
-21
-6
0
0
-6
-7
21
2
0
60
-4
35
8
-20
7
8
3
-40
-43
-14
18
18
7
46
-15
9
4
20
16
43
13
-14
25
21
18
-9
0
0
0
10
-2
-1
-1
0
-25
36
-11
-3
0
6
31
47
7
-6
19
6
25
40
-9
-16
9
-26
-38
-9
17
17
10
4
23
-2
2
0
24
28
5
-26
30
70
54
14
-1
1
0
0
31
-4
3
-3
-1
-6
5
-9
0
0
-66
-2
20
34
9
22
37
4
-3
-15
5
2
-7
8
-22
1
9
18
-9
27
-8
-14
10
31
34
0
0
0
0
0
-7
12
-1
0
0
32
-9
5
-2
0
-8
7
-8
-2
0
13
-40
-18
-11
3
-10
47
-11
12
24
14
-22
22
2
15
-3
-24
10
26
21
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
22
-12
-15
16
11
12
-26
0
-45
54
-50
3
-35
65
-59
23
-5
2
-1
13
-11
11
4
1
-1
36
11
8
-3
7
0
0
0
0
0
26
-1
-1
1
0
-15
43
-28
-30
1
-33
-45
-14
22
-8
-26
4
-5
30
21
-30
12
19
-18
2
24
18
1
19
2
-9
-30
-2
13
-4
23
-26
-19
-5
-39
-9
17
0
0
0
80
-4
21
0
0
-19
10
5
-8
1
-6
17
-8
-45
4
10
13
30
-31
9
-13
-5
-41
10
19
1
-11
-16
19
-24
64
0
-14
8
-26
-5
-23
3
20
31
-1
3
-2
0
0
13
13
-1
-11
-1
24
-39
11
9
-1
13
-33
-33
-19
10
-1
-26
27
25
9
-31
2
26
22
-33
-8
-1
4
-2
8
14
17
-25
-20
-36
0
0
0
0
0
16
-9
0
1
0
-11
6
-1
8
0
-7
-3
-17
24
-1
-20
24
25
-7
6
20
-22
29
-49
-31
-26
2
-14
-3
26
-17
-24
-4
-4
7
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
-14
21
38
0
36
-7
-11
10
27
19
2
-47
-50
24
-18
20
1
-31
22
-18
-3
19
-3
13
10
16
-8
12
9
0
0
0
0
0
3
-6
0
0
0
28
21
-5
3
-3
-35
8
14
-19
-7
-30
-57
-9
52
11
-34
9
-12
30
23
2
3
17
16
32
-4
4
-5
24
29
43
9
2
-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
2
-36
-1
3
0
-46
27
12
-30
1
-1
38
-52
0
0
22
-7
-2
25
-3
-18
0
5
16
13
28
-13
7
-8
-23
-19
4
-8
-18
2
5
7
-10
-1
1
0
0
0
0
0
1
18
1
6
0
-7
26
-6
-7
-1
-27
2
33
-5
2
-35
-10
-5
54
14
36
-41
-1
60
18
1
40
9
-17
-18
-15
-28
-10
4
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
15
-11
-11
1
0
-4
-14
-22
-2
0
-17
-28
12
29
0
-3
8
7
6
0
-5
9
-13
-4
0
13
10
10
8
0
0
0
0
0
0
-11
6
-1
-1
0
-14
-1
-8
0
0
56
50
16
-27
0
62
0
-1
-41
0
-13
7
-4
-65
0
-6
-2
20
18
0
-40
-12
-18
2
0
37
-25
0
-1
0
-4
0
0
0
0
1
-16
-9
-4
0
21
-41
-30
1
0
-14
15
9
-33
0
69
-54
0
-18
0
3
5
4
-27
0
-18
12
-18
-1
0
-13
4
5
-30
0
-5
-4
20
6
0
-1
0
-1
0
0
2
-5
4
-1
0
13
15
-49
1
0
22
-22
24
-4
0
-8
2
-29
10
0
-15
-37
21
32
0
71
-14
-14
10
0
3
-1
51
-42
0
0
0
0
0
0
-2
2
1
0
0
1
7
-2
0
0
-5
14
-22
1
0
-54
23
28
11
0
6
-3
4
1
0
-12
-15
14
-5
0
8
-12
12
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
16
-10
0
0
19
22
25
0
0
8
18
1
0
0
4
14
-16
0
0
14
13
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
1
0
0
11
-9
5
0
0
1
21
7
0
0
8
8
16
0
0
-3
12
7
0
0
14
31
22
0
0
0
0
0
0
0
-3
0
0
0
0
-3
4
0
0
0
-16
-8
-3
0
0
8
12
-18
0
0
23
-17
27
0
0
-11
15
40
0
0
69
14
34
0
0
-17
30
5
0
0
0
0
0
0
0
6
0
0
0
0
-2
2
-1
0
0
37
-6
0
0
0
5
-33
16
0
0
2
-7
-43
0
0
9
3
36
0
0
-38
-22
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-17
4
0
0
0
64
-21
-2
0
0
-16
-13
23
0
0
-43
5
-15
0
0
20
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
-2
0
2
0
0
42
-5
-3
1
0
-30
-25
-3
-14
0
-28
18
4
28
21
12
0
2
0
-16
42
-4
-6
20
12
0
0
0
0
0
2
0
0
0
0
15
-6
0
0
0
-25
9
9
0
1
-6
14
0
0
0
16
-29
8
-46
-9
5
21
-3
-3
37
4
18
5
2
-1
44
-24
12
17
20
0
0
0
0
0
5
0
0
0
0
0
-5
0
0
0
-5
9
0
-1
0
1
5
6
-10
0
-37
-7
-46
-23
0
18
29
-24
-20
10
2
14
35
-5
30
-5
-70
43
68
-13
1
-11
0
0
0
12
3
3
0
0
0
3
0
0
0
-5
12
-13
-2
0
-54
-9
16
5
-1
-33
46
-27
-42
9
30
11
0
7
21
-7
1
28
43
-47
0
0
0
0
0
1
-10
0
0
0
4
0
0
0
0
-7
4
1
0
0
-23
3
14
0
0
15
0
-10
-16
1
-7
35
-24
39
-4
16
-4
21
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
2
-2
0
31
29
19
-11
1
8
-22
14
17
1
10
11
-5
4
32
-16
12
1
9
8
63
20
8
6
1
0
0
0
0
0
-14
2
0
0
0
-32
-14
1
-3
0
10
-29
30
29
-12
44
27
10
8
-24
33
5
5
3
39
-10
15
0
2
19
32
-2
21
-10
-1
31
9
13
22
-6
2
-3
0
0
0
-39
-9
-3
0
0
20
1
-5
36
-2
-18
-27
28
9
0
-29
-8
10
-7
4
-13
-19
1
-40
-12
10
16
6
13
35
37
16
17
11
-12
-4
-4
11
23
51
-18
13
12
0
0
44
20
-16
1
1
-20
-50
35
0
0
-43
11
0
20
-37
-17
15
0
-6
31
-1
-10
-27
1
-14
65
2
-15
26
-9
-28
13
2
5
-1
0
0
0
0
0
-8
5
0
0
0
-1
-1
4
0
0
6
-5
0
-1
0
-1
47
12
-11
-1
-9
-22
-36
55
0
32
-15
-22
-34
26
-10
-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
12
0
-4
0
16
19
-38
19
-4
-22
18
-69
76
-1
-8
15
13
18
34
-39
0
37
-12
-7
48
18
15
16
11
0
0
0
0
0
-7
3
0
0
0
4
18
2
-9
1
61
-40
24
-13
-17
4
29
4
17
-9
-19
-12
-23
-1
10
-28
17
26
31
38
-4
7
24
23
4
12
44
-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
1
-11
-1
-2
0
2
-20
2
2
3
10
-43
4
-27
0
-23
-13
-12
-28
8
12
-22
17
-12
24
-25
15
-29
12
-26
-6
17
19
-11
20
-23
-10
2
10
2
0
0
0
0
0
0
-2
6
0
0
0
-6
-5
0
0
-2
0
-1
-3
0
0
6
-5
-7
0
22
28
-2
-45
-3
4
-3
29
-16
5
7
3
-4
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
10
0
0
0
-9
3
-3
1
0
-21
-27
26
-74
0
6
13
-4
-1
0
7
-10
-28
17
0
-5
24
21
51
0
0
0
0
0
0
-1
0
0
0
0
-1
3
0
-1
0
32
-6
-20
-15
0
-77
10
36
-48
0
-28
-13
-20
16
0
-13
4
50
27
0
-7
10
7
6
0
85
18
-1
17
0
1
0
0
0
0
-1
0
-1
19
0
-21
13
1
0
0
-17
-25
-7
21
0
-22
38
-4
36
0
8
49
-13
-46
0
16
13
27
-10
0
-17
27
17
-11
0
-1
-33
20
73
0
0
0
0
0
0
0
-2
0
0
0
-12
5
34
-3
0
20
-32
36
-6
0
62
29
-52
-19
0
25
-7
10
-4
0
-5
23
-20
42
0
-50
-78
-22
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-19
-1
-1
0
0
-40
16
53
0
0
54
-12
-26
-15
0
-4
24
55
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
3
-8
0
0
22
37
-30
0
0
-18
16
-3
0
0
18
7
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
-1
0
0
36
47
11
0
0
-7
25
32
0
0
-1
0
-6
0
0
-54
16
15
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
13
-1
6
0
0
-7
6
-19
0
0
0
-37
40
0
0
0
43
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
-2
12
0
0
0
2
-11
-34
0
0
-7
16
30
0
0
3
-62
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
16
0
-23
0
0
0
-4
-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
2
0
0
16
-30
6
-8
0
-12
13
22
-16
-6
45
36
-11
0
34
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
-1
-32
17
13
0
1
40
-17
11
3
46
16
16
-7
-32
53
3
-19
-18
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
-1
-6
3
0
0
14
33
-38
0
-4
49
34
21
6
0
29
-4
5
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
7
3
0
0
-18
23
0
0
4
4
-12
10
-7
0
54
-4
-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
8
-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
-3
-4
0
0
0
2
2
0
0
-4
24
-6
3
6
13
8
0
-11
-4
80
17
-5
-4
13
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
34
-14
-23
1
0
-4
-1
26
-6
-2
-16
-18
23
12
-37
10
5
18
26
39
40
28
0
15
13
5
11
10
13
37
0
-1
0
0
0
-45
-1
-2
0
0
1
13
0
0
0
2
18
7
6
-9
20
-56
-36
3
0
-5
2
-36
23
-11
-5
-1
34
9
13
2
25
12
-7
-10
3
7
29
15
48
9
-14
0
0
0
-7
6
4
0
0
8
11
-2
0
0
-2
3
-42
-7
0
2
-12
20
0
3
-45
18
18
1
14
-11
32
30
2
17
-40
30
-43
32
-3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-6
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-2
-3
1
0
7
-6
30
-1
3
0
-8
0
12
-21
42
38
32
5
31
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
6
0
-28
-2
0
0
3
24
-10
0
27
-16
-1
-38
-7
20
-1
10
62
25
-32
-9
15
24
21
57
-4
33
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
4
0
0
0
3
0
0
0
0
0
-4
0
0
0
0
-6
-13
2
0
8
1
-2
16
-1
-52
-43
16
-33
48
28
24
11
23
-24
0
4
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
1
0
-3
0
0
0
0
0
17
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-17
21
0
28
-29
-39
23
0
-7
36
31
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
0
0
-7
-4
0
0
-23
-10
29
-25
0
-37
22
33
7
0
17
43
18
-20
0
-4
-4
39
54
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
1
0
0
0
-3
47
5
10
0
-20
-24
-41
-18
0
-9
-13
19
16
0
40
-13
12
14
0
0
-26
5
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
4
1
0
6
-16
4
1
0
-19
-4
-29
-14
0
3
8
60
-33
0
0
-7
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
9
47
0
0
8
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
-1
-6
0
0
0
18
-7
-7
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
8
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
-56
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
23
6
-10
-4
-13
-12
2
0
1
-4
-9
53
-13
-9
3
-13
14
-2
22
4
5
24
28
20
-20
-11
-20
17
21
-49
-15
-7
-5
28
0
0
0
0
0
0
-2
23
-9
-1
-7
-1
-26
24
-1
-30
-38
-15
51
40
20
3
10
-9
9
-30
18
-14
22
-19
32
3
-1
28
12
-72
-28
-12
-5
15
-30
6
-14
-1
-12
-9
-12
4
-2
0
18
20
-4
-4
1
7
-13
-17
9
3
-1
-13
29
34
-10
-21
34
-9
11
7
-23
26
31
6
-24
40
-8
14
25
18
-29
-34
-20
-18
22
-48
-6
4
18
-4
-3
9
7
1
-1
-15
-10
0
6
1
-1
11
-41
6
16
10
25
-28
35
-9
12
-9
11
-39
-24
-11
1
0
-9
43
1
16
16
32
27
-51
-22
18
-14
-5
0
0
0
0
0
-5
-9
2
2
1
-21
10
11
3
0
-33
39
7
20
-1
5
-19
-2
2
21
58
-2
-1
28
-9
-56
1
0
-39
21
5
6
-18
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-6
32
42
-13
-50
-13
-2
27
3
-41
10
42
-33
20
6
26
19
9
49
47
28
28
18
27
-13
-23
-22
-13
0
-79
2
-50
-32
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-8
2
-1
0
-2
-5
-14
0
-8
-13
31
34
8
0
-16
-27
17
20
-16
-22
-66
-14
40
19
-37
9
-25
-25
18
-16
-37
-19
16
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
-34
-6
-10
-69
29
-20
-3
2
-41
1
-14
6
-5
-39
8
-8
15
-4
1
-1
11
-3
28
-9
-11
9
11
18
-30
-56
-40
-43
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-1
11
18
-5
-13
-4
4
-17
11
19
0
-73
10
7
21
-16
35
-33
12
-48
29
-37
-47
36
-22
-10
-6
9
-9
-3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-32
-39
2
0
5
-38
0
28
0
18
46
-27
-40
0
5
37
-10
4
0
10
43
15
19
0
-22
6
25
17
0
-20
-16
-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
33
0
0
0
0
29
-14
9
2
0
2
-44
-2
11
0
8
27
-33
-38
0
24
41
5
-5
0
-43
-13
25
5
0
-20
9
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
14
3
0
0
-29
14
15
0
0
-44
-54
7
0
0
-2
-2
4
0
0
10
4
-1
0
0
1
-2
24
0
0
-12
14
-49
0
0
0
0
0
0
0
20
6
-6
0
0
21
0
6
0
0
-22
33
-18
0
0
31
-18
-5
0
0
25
8
19
0
0
6
18
44
0
0
7
14
-4
0
0
-37
12
-2
0
0
11
0
0
0
0
-16
1
-1
0
0
23
-13
0
0
0
-4
3
-23
0
0
-30
-6
-2
0
0
-44
-15
28
0
0
15
-3
10
0
0
9
7
25
0
0
-35
13
0
0
0
7
-3
-2
0
0
4
-4
3
0
0
22
-11
7
0
0
26
-45
5
0
0
7
12
33
0
0
-16
-39
13
0
0
5
5
2
0
0
-8
34
3
0
0
0
0
0
0
0
-7
0
-3
0
0
-23
1
4
0
0
15
13
2
0
0
14
4
11
0
0
-20
-23
-34
0
0
47
12
1
0
0
1
-30
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
36
-7
-10
1
36
7
1
5
0
12
5
-37
28
7
35
-19
11
-19
4
-1
11
18
5
6
4
3
-8
-16
8
-48
34
18
-2
42
0
0
0
0
0
26
-5
3
-2
0
-11
7
1
0
1
5
-6
6
-64
9
-17
3
21
-9
-21
13
-18
-35
12
27
-9
-14
20
3
45
-39
-4
-21
-8
-5
13
54
16
51
-9
-4
6
-2
0
0
-8
2
4
2
0
39
-13
14
-2
-3
-6
-18
30
-22
2
-1
9
-18
5
-5
-12
-27
10
-6
11
-13
12
34
14
23
27
-13
-25
-1
1
-19
29
25
29
-5
-8
-1
0
0
0
-7
-13
-1
0
0
-10
19
-20
-10
0
18
26
-7
-25
-1
-41
24
-38
10
11
10
-26
10
30
-32
49
-16
32
-50
4
-70
12
7
12
-12
0
0
0
0
0
2
7
0
0
0
12
6
3
1
0
12
-28
11
-9
0
-5
5
6
1
0
-26
-1
-4
-20
-7
35
-46
-50
32
-4
14
22
20
20
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
11
-4
-1
2
-7
-51
7
-23
-17
18
-3
25
0
-45
-36
16
19
17
19
29
16
9
-5
7
-28
-4
-20
-11
8
-31
-10
-9
17
-17
0
0
0
0
0
-7
1
0
0
0
3
-9
0
1
1
-14
51
4
0
-21
-7
36
-6
-16
31
-16
-23
40
-3
1
27
-24
7
-6
6
-39
-81
-21
-14
8
-50
29
14
27
-26
-1
0
0
0
0
0
4
6
0
0
-17
17
-30
15
0
-5
-36
-8
47
12
-2
23
26
-32
4
29
-41
-2
5
12
-30
18
2
5
-24
21
30
-6
42
-6
13
20
31
-60
-37
0
0
2
0
0
-1
0
4
-2
0
1
-6
-34
-2
-1
-3
8
13
11
6
-30
48
42
-18
-11
30
-16
-10
6
-16
15
-24
-21
54
12
41
-62
-16
-31
-24
0
0
0
0
0
-10
8
-1
0
0
-11
35
9
4
1
-2
3
2
0
0
-2
-50
-3
0
1
-26
-6
20
0
-7
-16
2
10
-49
5
73
-61
-9
27
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
6
-10
12
-3
44
-2
-27
-10
0
46
-17
13
-38
9
-52
-12
21
50
-20
24
-9
14
25
-3
-34
-1
-1
14
-10
-64
-14
21
-54
39
0
0
0
0
0
0
1
-1
0
0
-2
0
0
0
0
-4
6
10
1
-6
-19
18
9
-28
4
24
-17
-35
8
13
19
41
-10
32
1
-23
-64
43
22
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
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
5
-8
-1
9
0
8
21
8
-42
-12
-10
17
26
2
0
15
16
-5
-13
10
-21
21
-22
9
2
-24
-5
1
27
29
-23
19
17
-16
-3
0
0
0
0
0
18
-3
-3
0
0
-22
-2
10
-1
0
-5
0
-1
-2
0
-5
10
29
-1
1
-3
-20
33
5
9
-3
-38
-29
12
8
20
-3
-46
13
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-9
12
2
0
32
8
38
-7
0
55
-13
-27
21
0
5
-10
3
8
0
20
35
6
-4
0
-2
-48
16
-5
0
-17
-18
2
41
0
0
0
0
0
0
28
2
6
0
0
-10
-23
1
0
0
-33
29
-9
-8
0
-7
47
-16
12
0
-21
19
11
-1
0
-2
0
-11
36
0
-3
-13
7
9
0
-27
-13
83
-13
0
-12
1
-3
0
0
-3
0
0
0
0
-7
-15
13
0
0
14
30
-2
-9
0
41
-17
12
-1
0
-15
-35
23
15
0
59
72
9
-27
0
-15
-37
-10
-3
0
-46
37
-47
0
0
0
-2
0
0
0
-10
-2
1
0
0
23
4
-1
0
0
-34
-4
12
4
0
16
-9
-43
6
0
-24
14
15
-5
0
15
5
23
13
0
-1
5
-30
1
0
0
0
0
0
0
-1
0
1
0
0
-27
11
0
0
0
28
-6
15
0
0
-12
-11
10
1
0
26
-12
-15
0
0
-9
-28
10
18
0
-30
27
5
-14
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
-11
-22
-7
0
0
1
-40
14
0
0
5
34
-35
0
0
33
11
17
0
0
-5
-13
19
0
0
-13
-21
1
0
0
0
0
0
0
0
-2
3
1
0
0
-13
10
0
0
0
6
24
0
0
0
17
1
19
0
0
17
-11
-9
0
0
14
21
14
0
0
-34
20
-11
0
0
45
-43
-9
0
0
1
-4
0
0
0
-1
0
0
0
0
-23
2
0
0
0
-5
-9
26
0
0
66
-5
-19
0
0
-70
-30
41
0
0
43
-39
20
0
0
12
-24
4
0
0
21
71
-3
0
0
0
0
0
0
0
2
-1
0
0
0
10
0
0
0
0
-39
0
-7
0
0
17
-21
13
0
0
-54
20
-6
0
0
41
40
28
0
0
22
-26
-26
0
0
0
0
0
0
0
3
-1
0
0
0
4
-1
0
0
0
6
-6
2
0
0
8
4
-3
0
0
1
0
10
0
0
3
-7
-41
0
0
-12
-19
-5
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
-16
2
2
0
0
15
-30
17
-7
0
-13
63
11
-12
-12
54
30
22
13
-13
32
-3
9
-47
15
-7
9
27
34
29
0
0
0
0
0
3
0
0
0
0
-1
4
0
-4
0
-27
25
7
1
0
1
-3
-1
-2
-11
7
-18
37
-1
5
-13
-11
30
43
29
17
7
22
47
-6
84
5
-44
-11
19
1
6
0
0
0
4
0
0
0
0
-9
-13
0
0
0
-3
-13
26
1
0
4
20
14
3
2
-2
38
-34
-25
-2
-99
-21
37
15
27
15
8
18
22
4
69
36
-64
-1
7
0
4
0
0
0
4
-8
0
0
0
1
0
0
0
0
27
19
1
-1
0
-5
-2
0
1
0
-51
-2
4
6
-2
-7
25
1
-38
-3
43
-17
17
-5
-2
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
1
-1
0
0
0
0
4
0
0
0
7
1
0
0
0
0
-54
2
1
0
-9
-5
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
0
-1
0
-15
26
4
-21
45
15
10
-18
3
5
34
30
40
12
-31
22
-5
11
35
17
44
19
-10
9
0
0
0
0
0
38
3
1
2
1
-24
-16
7
-3
0
23
-4
17
16
-2
39
43
-41
30
-24
20
19
-31
-19
17
5
3
-21
-24
5
-11
-17
10
28
25
-44
2
62
29
48
4
-13
0
0
0
6
0
4
0
0
-10
-10
-16
-9
0
9
-23
32
-39
2
15
44
19
-50
42
-46
0
-34
48
-27
11
41
15
-6
53
-27
3
20
21
-39
1
20
-33
53
-12
1
3
2
0
0
-12
9
28
-2
0
-2
-20
-6
23
0
-5
31
-15
-9
-6
19
-13
-56
4
0
-16
4
-20
15
-1
-1
27
57
-15
38
46
-133
-2
-4
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
11
0
-3
0
0
0
8
-4
0
0
0
0
-4
3
0
0
-17
1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-8
-11
29
-1
0
32
-29
4
0
2
9
-1
31
2
-51
29
51
-23
18
20
-28
33
-13
4
10
-27
-21
13
-2
51
0
0
0
0
0
0
1
-2
0
0
2
0
0
0
0
-10
0
12
0
0
-6
-20
37
7
0
43
-52
41
-37
-26
-8
-13
-45
79
23
-11
19
41
-34
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
4
0
0
0
0
4
0
-3
0
8
-3
0
10
3
-8
1
16
17
1
-7
30
18
-3
-1
-22
-18
5
-2
-1
34
-18
5
61
-13
5
-31
-24
-20
3
0
0
0
0
0
-4
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-12
0
2
-2
0
0
7
10
1
0
0
-4
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
-3
-8
0
0
0
-16
18
0
0
0
-10
-29
13
27
0
0
47
-2
-6
0
24
-7
56
-20
0
18
-18
-24
16
0
0
0
0
0
0
-12
1
0
0
0
16
7
9
0
0
19
-5
-3
0
0
11
14
21
-12
0
10
-10
30
6
0
41
18
-10
25
0
-10
38
-43
-2
0
-8
5
47
15
0
10
0
0
0
0
4
7
0
0
0
20
0
-2
0
0
-2
14
25
-3
0
-27
-13
10
-6
0
-17
33
-15
-2
0
10
14
31
2
0
20
-17
-10
82
0
-6
-3
34
-12
0
-2
0
0
0
0
-14
1
-1
0
0
41
-12
1
0
0
-13
-1
-9
1
0
0
4
35
-14
0
-31
24
2
-15
0
42
-22
-13
42
0
-13
-19
9
18
0
0
0
0
0
0
1
0
0
0
0
-3
1
0
0
0
0
0
-2
0
0
1
0
0
2
0
-25
0
0
0
0
-2
-25
-4
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
0
0
0
0
-5
10
0
0
0
14
-9
0
0
0
-18
48
-3
0
0
9
-12
40
0
0
17
-4
-28
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
20
-2
0
0
0
5
19
10
0
0
6
19
-41
0
0
47
17
-2
0
0
-30
-6
10
0
0
-5
-13
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
-6
1
0
0
-7
-6
0
0
0
-15
41
25
0
0
56
-58
11
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-1
-1
0
0
-2
0
-2
0
0
-4
2
-1
0
0
1
8
-1
0
0
-6
-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
-3
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
-1
0
0
0
4
12
-8
-29
17
-41
-6
-20
35
6
-9
0
11
-13
0
31
4
0
36
62
-25
-18
-39
-14
-32
-38
21
33
-49
18
0
0
0
0
0
0
0
0
-1
0
1
2
16
35
0
20
-29
21
-10
1
41
-33
-5
3
37
-5
14
4
15
2
20
7
11
-39
3
-63
-16
25
-27
-14
-159
18
25
54
-2
0
0
0
0
0
0
0
-6
11
0
-1
2
-10
-13
4
-7
17
-7
-4
1
12
-23
-19
5
-1
28
-56
23
1
-11
10
59
23
-21
-20
-96
15
44
-40
24
-38
-56
-18
45
9
0
0
-3
0
0
-2
2
-3
-20
4
-2
8
24
12
4
7
-18
52
-17
0
20
48
-16
-11
0
-46
-20
-35
-26
-14
2
45
-36
28
-21
-9
-42
-3
-16
0
0
0
0
0
0
3
4
-7
-4
0
-7
-7
18
-2
-2
7
-2
0
2
2
14
-33
-17
1
0
16
-29
30
24
0
-52
24
10
27
7
-25
-3
-16
-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
1
25
-3
-30
-4
12
30
-34
35
-22
-67
-1
34
10
18
28
17
7
40
18
-42
-41
15
-51
-48
-35
-85
-37
-21
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
3
-2
15
-1
0
-1
0
0
0
0
0
9
-9
0
0
6
24
-23
-2
1
35
-50
-34
8
3
-28
-14
39
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
1
13
-38
0
18
30
-30
32
-51
-25
-2
58
-3
-24
40
14
-53
34
25
-59
-40
58
-35
14
0
-57
-85
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
-1
0
0
0
0
-2
0
-1
0
-1
0
-2
-3
0
0
2
12
23
9
-4
0
-2
31
2
3
9
8
-17
-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
2
-9
1
0
25
-26
26
-17
0
-6
14
29
-20
0
2
20
19
-3
0
22
-29
-15
-7
0
3
-20
-20
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
9
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
3
1
1
0
9
0
1
-2
0
0
0
-4
2
0
-1
1
19
-10
0
4
21
7
3
0
-11
-9
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
6
0
0
3
-8
32
0
0
7
31
11
0
0
-48
-12
-18
0
0
14
20
46
0
0
41
22
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-57
7
9
0
0
-31
-30
-7
0
0
-32
-39
-11
0
0
75
-3
28
0
0
15
2
-25
0
0
0
45
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
24
0
0
22
4
-15
0
0
-10
-1
6
0
0
6
-2
1
0
0
43
-31
-8
0
0
-46
39
-44
0
0
0
-19
8
0
0
0
0
3
0
0
8
0
3
0
0
2
0
1
0
0
-12
18
-3
0
0
-1
0
2
0
0
33
6
4
0
0
-9
-16
3
0
0
-79
14
-27
0
0
0
0
0
0
0
4
1
-1
0
0
-1
1
-3
0
0
1
-1
-1
0
0
0
0
0
0
0
-4
2
1
0
0
-16
-44
-7
0
0
9
25
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
34
27
2
-54
3
23
42
7
63
41
42
19
-32
10
-9
4
8
0
-18
-11
-9
3
47
-27
-11
-8
-24
4
-131
-19
38
-9
59
0
0
0
0
0
12
-10
-27
1
0
1
14
47
-6
2
-35
23
-6
24
-75
14
1
6
39
-3
46
-19
-21
-9
1
-25
2
-11
-1
26
-61
-31
-1
-10
7
-74
-12
5
0
18
2
-2
-2
-1
0
-7
6
-19
-12
0
-21
-28
21
-29
-41
12
-7
-5
-19
18
64
43
-1
9
26
-28
-11
-28
13
-62
22
-19
13
2
12
-52
-42
-6
-40
-25
-65
-20
2
22
32
0
6
-13
1
-1
-25
0
21
-28
-6
26
-14
8
-6
15
2
40
17
-9
11
1
17
9
12
-41
-10
-9
1
33
0
-21
-1
-6
19
3
-40
-43
-15
9
18
0
0
0
0
0
-14
0
2
-3
-2
-35
23
-20
43
2
-41
22
2
-27
0
-23
20
-1
8
-24
-10
-31
3
22
45
-28
14
20
-27
-21
5
-43
7
-1
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-12
-4
0
-4
-26
5
5
23
0
8
-19
-27
2
-40
19
25
15
-4
36
-1
3
10
14
-59
-31
-27
7
21
-172
-18
-20
-4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
-44
9
0
25
-5
38
18
0
10
67
-17
-29
8
-25
-41
-16
6
-7
-41
-51
5
0
3
0
2
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
2
6
10
7
0
0
-5
-41
12
0
1
7
-9
0
0
15
-13
-11
41
-1
-116
-39
30
-8
7
0
-10
16
0
0
0
0
0
0
0
0
1
2
0
0
0
3
0
0
0
4
2
-1
1
0
0
-1
-3
0
0
0
-21
19
15
0
4
13
14
-12
0
-15
-44
-28
-1
0
0
0
0
0
0
-17
18
-4
-2
0
13
-2
18
-21
1
-8
-6
-21
29
4
-11
16
9
-8
18
23
19
10
-6
-41
-38
-18
-50
30
43
23
-39
-2
-15
-45
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
-50
-6
-19
-1
15
29
9
-4
-29
-65
-62
-33
-28
20
9
42
-14
15
-5
-15
-9
-23
15
24
60
-52
-7
-12
-68
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-9
0
0
1
44
-22
-7
-4
-40
15
-3
-13
19
2
-13
23
14
-10
-3
-4
0
4
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
-1
0
0
0
-1
0
0
0
-10
2
0
0
0
-16
0
0
0
0
0
0
0
1
2
0
2
0
21
-18
0
7
-1
-7
8
-1
0
0
-1
-3
2
4
-12
-28
-24
-43
30
12
-26
-19
5
-42
-11
5
20
-2
10
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
7
-1
0
-46
11
-54
-18
0
46
-43
-10
0
0
-12
3
1
-6
0
24
21
4
13
0
-25
-10
1
1
0
-20
-4
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-12
-17
22
0
19
-22
4
-2
0
-19
-11
-5
-1
0
11
0
66
4
0
-1
11
21
6
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
6
0
-1
0
0
3
11
-2
0
0
-4
0
2
9
0
-2
-2
2
1
0
4
49
0
-2
0
0
-3
19
-3
0
0
0
0
0
0
2
0
0
-1
0
-1
0
0
0
0
-1
1
-2
0
0
0
-1
0
0
0
3
-2
-8
0
0
-2
3
-24
0
0
2
6
1
0
0
0
0
0
0
0
-4
1
4
0
0
37
-14
-55
-1
0
40
-6
25
-6
0
25
-42
-16
15
0
-34
-13
3
12
0
-45
22
10
-26
0
-62
45
-6
-10
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
0
0
-61
-28
-15
0
0
13
-10
-33
0
0
1
-24
17
0
0
2
21
3
0
0
-7
12
11
0
0
-6
31
30
0
0
0
0
0
0
0
-16
4
-1
0
0
-10
-37
1
0
0
13
-36
-10
0
0
-17
18
12
0
0
-31
-12
10
0
0
-11
19
-15
0
0
18
10
32
0
0
-13
32
-36
0
0
-1
2
0
0
0
2
4
26
0
0
22
10
6
0
0
-17
-6
14
0
0
-60
-19
2
0
0
1
-8
-16
0
0
-18
8
-32
0
0
27
-24
23
0
0
-4
-2
-44
0
0
1
-1
-3
0
0
6
-7
-1
0
0
-7
-18
18
0
0
-51
-22
0
0
0
-38
-25
6
0
0
-23
-2
-7
0
0
1
17
24
0
0
16
36
-37
0
0
0
0
0
0
0
31
2
1
0
0
-21
-15
5
0
0
16
15
-8
0
0
22
-22
27
0
0
-37
53
7
0
0
-62
-24
0
0
0
12
2
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
2
-2
0
6
2
29
34
-21
-27
17
11
-13
39
21
13
-4
16
-39
33
12
-6
-10
35
-19
-13
-23
-10
-24
-61
-31
8
-1
46
0
0
0
0
0
1
-6
-6
0
0
14
1
9
18
0
-7
30
-60
19
-13
-27
72
-28
-21
-9
-31
15
-7
-12
-13
14
-12
-12
9
23
9
-26
2
5
-3
-14
8
-8
-30
48
2
1
2
0
0
6
-2
2
4
0
-24
1
7
-18
0
22
-37
-6
-5
-28
-16
10
0
13
-5
8
-32
9
-4
-38
6
-12
-37
10
-11
-39
-3
17
-1
-28
7
3
-20
5
27
4
0
0
-1
0
44
-8
5
1
2
-17
-11
35
-5
1
-18
-3
7
-22
0
-4
-38
53
33
6
46
-13
-25
-65
-28
-4
4
-4
-22
22
-53
11
7
56
21
0
0
0
0
0
-2
-4
3
3
0
13
-7
38
-8
-3
31
-4
8
-12
0
28
-8
-64
-18
-3
-11
36
-1
9
-23
-40
-3
-18
15
54
-37
-18
24
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
-4
0
-33
-18
-17
4
-15
-20
-5
48
0
15
23
-39
9
19
-54
-8
21
6
30
25
-2
-7
-12
2
-4
-32
-15
-24
-9
44
0
0
0
0
0
0
0
-2
0
0
1
0
-1
1
0
-15
-7
10
-11
8
39
15
-17
0
-9
-30
-6
15
21
-3
19
-1
-35
1
13
-49
-51
18
16
20
-67
6
18
4
-22
3
0
0
0
0
-2
1
-4
0
0
-2
4
-11
26
1
-3
4
17
-16
4
-22
63
-28
35
-34
19
-40
17
1
5
2
-15
-11
21
10
-36
-43
46
-43
9
0
36
-19
-54
2
0
0
0
0
0
3
-10
0
0
-2
-9
44
15
13
3
-44
-15
34
8
2
81
-51
-11
22
-3
25
-35
-36
8
2
-26
22
-2
-10
-21
-33
-64
-12
-2
-22
0
0
0
0
0
2
-4
-1
0
0
-2
8
-18
-1
2
11
-3
26
8
2
24
-7
-45
2
-1
41
8
-13
17
-3
-1
4
4
2
-63
-43
-44
4
5
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-2
-3
3
0
-12
-4
-62
21
13
-48
8
22
-24
-9
3
-32
-20
10
-39
22
-6
10
1
0
-26
-16
23
11
27
-37
-22
-69
-28
18
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
36
-1
26
1
1
38
-37
21
-54
8
14
6
-7
-17
-17
-27
13
-38
49
23
-23
6
1
4
-5
-5
46
0
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
0
0
-1
15
-7
-4
0
10
18
7
6
-2
10
18
-14
-16
1
7
12
12
18
1
-12
-50
51
52
-51
14
-36
25
-5
32
-73
-40
-27
21
0
0
0
0
0
0
6
1
-1
0
0
3
0
-4
-3
0
4
-4
0
-4
1
1
-4
-29
-18
-1
-27
65
-25
20
12
6
-22
5
4
-1
-21
-73
14
42
-9
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
13
34
-19
8
0
2
12
39
3
0
28
-29
-18
29
0
5
11
-1
20
0
-22
3
20
-38
0
-31
-27
2
-19
0
0
0
0
0
0
0
-3
0
0
0
0
1
2
-2
0
30
-24
0
18
0
7
19
-31
47
0
20
5
-12
-44
0
-22
20
-18
14
0
-27
-5
29
-37
0
5
-3
9
33
0
7
-1
0
0
0
0
4
-4
0
0
7
6
-16
-2
0
-7
6
-1
-10
0
-1
34
-9
-16
0
-14
21
-43
3
0
0
1
20
14
0
-55
-34
-8
37
0
9
24
39
5
0
-2
-1
-2
-2
0
28
0
1
3
0
0
-2
-10
-2
0
-34
4
18
-6
0
5
-40
25
19
0
-63
-20
-8
3
0
-28
44
17
16
0
56
36
-47
-6
0
0
0
0
0
0
-3
1
0
0
0
3
3
0
0
0
-36
4
4
-6
0
1
15
6
8
0
-7
-13
-24
0
0
47
-22
-14
-32
0
44
12
-4
20
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
0
0
-26
-10
-25
0
0
-1
42
15
0
0
-16
-8
-7
0
0
22
-21
5
0
0
-34
-11
30
0
0
11
5
1
0
0
0
0
0
0
0
-4
6
0
0
0
2
3
7
0
0
-36
-5
17
0
0
1
-46
28
0
0
19
-41
-18
0
0
-6
39
-27
0
0
7
-10
-9
0
0
22
10
-9
0
0
0
0
0
0
0
0
-3
2
0
0
20
-18
0
0
0
-21
22
10
0
0
-30
20
1
0
0
10
-85
-1
0
0
-10
17
10
0
0
-5
-18
3
0
0
-5
23
-9
0
0
-1
0
1
0
0
-23
0
0
0
0
19
-2
1
0
0
27
-33
8
0
0
-27
-32
-3
0
0
1
-16
22
0
0
-1
35
9
0
0
-60
19
-53
0
0
0
0
0
0
0
-1
0
0
0
0
-8
6
-3
0
0
0
0
1
0
0
7
2
0
0
0
6
-46
3
0
0
10
-25
8
0
0
14
-33
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
-2
2
-3
0
34
41
14
-1
-1
16
0
-15
0
16
54
-21
13
67
-9
-37
-2
-14
-13
-6
-27
43
60
-14
4
0
0
0
0
0
-1
0
0
0
0
-8
0
0
0
0
-7
37
-30
-4
1
-22
4
-25
0
0
19
18
19
-83
0
24
-14
-8
-6
-35
-13
-28
30
7
-39
6
-12
-13
83
117
0
0
0
0
0
-1
3
0
0
0
-16
1
0
0
0
4
16
2
-7
0
40
2
4
5
0
-24
-29
-9
-1
0
27
-37
3
43
6
0
27
54
14
-39
20
1
0
0
0
0
-6
0
0
0
-10
4
0
0
0
2
-1
3
-1
0
-9
-1
-1
-2
0
3
-25
1
2
0
-25
41
-9
10
-8
-10
10
1
-3
1
56
-34
-20
0
-11
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
-1
-1
0
0
0
0
1
0
0
0
3
-1
0
-2
0
11
-62
7
0
0
-11
19
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
-1
-40
26
-3
15
-2
15
1
-37
-20
-42
-6
23
21
-4
7
10
-18
-10
26
0
21
-21
30
-1
64
0
0
0
0
0
0
0
0
0
0
1
0
2
-1
0
13
12
9
1
-3
-12
-48
23
37
-23
-29
27
-22
9
4
-8
12
-6
-24
27
10
-43
12
34
-7
-79
40
18
34
55
0
1
0
0
0
2
0
-2
0
0
-3
-3
4
-4
0
18
-42
-32
-6
-6
11
1
-18
2
-27
-33
-7
-23
-3
-14
-46
60
-22
23
-14
-13
47
39
9
19
0
-51
3
-19
11
0
0
-4
0
0
3
1
-2
0
0
-1
-7
0
2
0
-1
15
-8
2
1
-51
-8
-10
16
-7
25
30
7
-46
1
-38
33
41
-16
19
53
-94
-57
41
-2
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
-7
2
-3
0
0
0
1
3
0
0
-2
7
-3
-1
3
-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
2
-2
0
-1
0
-2
-2
-12
-3
4
3
-32
18
9
-17
47
-5
75
-32
-11
-3
-4
5
34
2
-89
86
-27
27
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
4
0
1
26
9
-1
-9
-12
-17
9
-5
17
16
5
-5
15
-14
45
-22
-50
-29
61
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
-4
-1
1
1
0
0
0
1
0
0
1
-11
8
-12
0
0
-8
9
-8
-4
-1
5
-24
10
12
9
-12
-19
38
3
0
14
23
-13
7
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-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
2
0
-3
0
16
-23
18
6
0
31
42
-38
15
0
8
25
42
7
0
19
8
-22
-76
0
-34
1
-3
46
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
19
-8
0
-10
0
51
-37
-10
2
0
-16
-2
-2
42
0
3
3
1
18
0
-72
2
43
-8
0
30
-10
-38
-36
0
-1
0
0
0
0
0
-7
0
0
0
29
-3
-2
0
0
43
23
-2
-1
0
-3
-11
32
14
0
-25
7
-18
37
0
8
38
-11
15
0
-95
-25
3
-65
0
-6
-1
7
3
0
0
0
0
0
0
-1
1
0
1
0
-9
0
0
0
0
22
-8
-9
10
0
0
-3
34
0
0
15
-65
11
-29
0
-17
30
-12
3
0
4
23
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
-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
-16
8
1
0
0
10
17
4
0
0
19
-24
20
0
0
45
41
-17
0
0
-12
-16
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
18
6
0
0
0
-51
14
33
0
0
12
-8
-1
0
0
-16
-32
-8
0
0
-20
-19
1
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
-10
-9
0
0
0
6
25
12
0
0
7
-11
-3
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
1
0
0
0
0
0
-4
0
0
0
2
4
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
-1
80
-65
3
42
28
-37
-17
-6
-68
7
-43
3
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
4
-4
0
-32
-6
14
-4
0
-13
20
-45
-10
-6
28
-10
13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
-1
0
0
0
35
2
9
0
0
8
14
24
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
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
-2
-1
1
0
8
-43
15
10
-3
-6
11
-9
25
-26
-18
74
-3
-57
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
13
-20
29
-27
0
-3
23
-15
-23
19
34
67
1
-45
-26
18
-31
-18
54
39
-47
11
18
19
21
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
2
0
0
-1
-1
7
-8
-6
18
-23
21
-15
1
78
-51
-9
5
-4
-7
6
15
-2
30
0
0
-1
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
3
0
0
0
4
0
0
0
0
-4
0
0
0
-45
12
-1
0
13
18
-19
-1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-1
-1
3
-6
27
-25
38
0
24
29
-38
-54
-89
-2
6
81
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-18
-7
0
-9
2
-10
4
-19
-13
-19
50
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
4
0
-24
1
0
0
-3
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-17
0
3
-3
0
60
-1
0
4
0
3
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
23
-10
0
-1
0
53
-28
-17
-17
0
43
17
-17
-9
0
-64
23
23
27
0
-20
-9
50
68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
0
0
0
-8
-2
3
-7
0
37
-22
4
-1
0
-16
25
-4
4
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
-1
0
-2
0
0
-1
0
-2
0
0
6
-7
1
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
56
0
0
0
0
1
0
0
0
-32
-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
2
0
0
0
9
-9
30
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
22
1
1
13
-40
22
-11
-33
-24
-46
10
-11
-13
8
15
-7
25
-9
-15
20
8
-3
-3
8
8
-4
24
-15
34
4
2
44
0
0
0
0
0
-25
49
-9
-8
7
-3
9
-8
-2
-20
-27
2
24
-8
8
-9
-14
-5
6
31
-22
-12
-8
-9
21
11
-11
-11
24
-2
-10
-2
-1
-8
-19
-20
17
7
-4
12
17
21
10
-46
0
-12
-43
-11
14
0
1
6
-1
22
-11
-8
-27
-31
25
34
-1
9
11
14
79
-39
1
-8
-3
-6
36
1
6
-5
-2
-47
-24
-8
-10
10
-2
7
-6
0
-16
-51
9
17
5
2
12
-47
7
25
6
53
4
-35
32
-8
22
-30
-8
26
-7
-4
0
55
0
14
-14
8
-16
10
12
6
-3
2
11
6
3
5
3
-2
-12
0
0
0
0
0
31
-45
-6
6
1
36
-3
-12
3
4
-42
19
-42
14
-13
-18
-31
19
-11
46
-30
-7
-18
-3
-8
-29
-33
-2
-12
7
6
8
-1
4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-38
1
-18
27
5
3
5
28
-25
1
7
16
-47
-4
-20
4
26
4
-8
3
11
8
8
-10
5
-22
6
10
-6
27
0
-30
23
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-8
30
5
2
12
-26
-13
12
0
18
-1
28
-38
37
10
-11
-15
-30
-11
43
-9
-4
-16
0
-20
-10
7
11
5
2
2
3
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
17
-4
1
-49
-9
4
-4
12
-18
-9
11
3
-5
-8
-51
-20
2
-17
48
-29
2
-4
4
19
21
-5
-1
-14
16
-14
-35
-19
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
0
0
0
0
0
0
0
0
-18
-4
9
3
20
8
24
-25
-13
-7
-24
-22
14
14
-13
21
17
-36
-3
22
3
-22
-10
6
4
17
-24
-15
15
-1
-7
0
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
28
-27
-1
0
-24
-11
4
-7
0
4
20
9
24
0
-33
-13
-19
-15
0
-4
-5
4
-6
0
-5
-16
5
16
0
42
27
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
-11
-30
-1
-1
0
-26
-5
-27
11
0
23
6
-29
-16
0
25
16
20
-9
0
18
13
-16
31
0
-3
-8
3
23
0
4
-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
-10
-9
-30
0
0
4
-1
-3
0
0
-26
36
20
0
0
18
-21
21
0
0
10
6
32
0
0
4
-11
21
0
0
-20
11
-21
0
0
0
0
0
0
0
-26
-5
18
0
0
-7
-20
-4
0
0
56
2
-33
0
0
-31
-23
-2
0
0
4
-9
14
0
0
-9
20
7
0
0
-3
5
9
0
0
10
-12
-2
0
0
3
2
-10
0
0
7
32
11
0
0
-46
30
-2
0
0
-1
-34
-17
0
0
9
-17
44
0
0
-32
1
17
0
0
2
11
0
0
0
13
6
-3
0
0
7
-1
4
0
0
-10
-4
-1
0
0
-14
8
4
0
0
3
-8
-11
0
0
6
-14
8
0
0
-60
11
26
0
0
-3
13
2
0
0
7
-1
5
0
0
18
-6
-9
0
0
0
0
0
0
0
-15
-15
0
0
0
10
-15
-3
0
0
-3
16
27
0
0
-56
13
35
0
0
-12
23
14
0
0
16
-23
6
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
24
-2
-72
7
-7
-11
5
11
11
19
-1
8
-31
3
0
-12
-11
-18
-19
-17
11
7
11
6
-11
-14
13
17
2
21
-23
18
10
5
15
0
0
0
0
0
33
4
-26
-57
24
6
-21
2
20
21
27
-3
-8
0
-22
-31
-14
0
32
38
33
-11
23
-17
14
2
-1
2
6
-6
-9
9
9
4
12
16
14
-2
2
9
3
1
-21
21
0
-29
-13
-12
-27
27
-12
29
-3
-31
11
6
-4
-40
-29
4
-7
-1
6
10
-45
-24
-4
12
-8
10
-2
20
13
11
7
8
2
5
5
1
29
-1
16
-5
8
-3
25
-2
-7
-1
29
1
-29
13
3
31
-1
19
36
3
-2
-4
-9
-19
-31
-8
-18
13
-1
10
25
-19
-5
-6
11
2
15
4
9
-1
6
5
9
2
3
0
0
0
0
0
-9
-17
-7
-1
0
-5
31
15
-3
-6
32
-20
40
-26
-26
-6
-10
16
11
5
-1
6
-16
1
6
-18
-2
-4
-9
-3
10
2
2
-1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
37
14
43
-40
-17
20
11
-25
7
34
-6
-14
48
-6
1
8
-9
-12
18
19
5
0
-2
33
6
0
-1
12
-1
34
10
-10
27
-4
0
0
0
0
0
19
24
17
-13
22
26
-30
-33
16
6
-15
-17
0
1
2
1
-16
-2
-16
-38
-5
12
1
25
14
20
-1
4
20
-7
-12
-23
1
-9
13
6
-18
8
12
11
-40
47
-24
-42
1
-26
-4
-27
8
8
-12
13
8
22
7
4
19
-5
-5
14
-12
-1
26
15
1
31
-9
11
19
15
14
16
11
12
19
-22
-18
6
2
-20
-7
-22
-2
0
2
-40
-25
-32
-3
0
-3
-8
28
21
-2
9
14
-22
24
-25
0
-16
23
-9
5
35
24
2
-4
-12
-10
-14
12
6
2
-12
2
-2
3
4
-15
-11
2
-2
0
0
0
0
0
0
35
-9
-21
-1
0
32
-31
40
43
-4
-10
14
-17
12
-27
4
11
22
-5
-21
16
8
9
7
27
-4
-5
-15
-13
-1
-10
5
1
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-10
3
-32
48
-5
-4
24
-18
5
-34
19
24
28
19
15
-1
9
7
-8
-8
-10
1
15
19
9
6
3
3
11
16
6
-3
5
-3
0
0
0
0
0
-53
29
-12
-15
-9
-2
6
-9
-2
17
-45
4
-3
-6
15
23
7
-12
-9
-26
-15
-10
-12
13
11
-4
9
10
-9
3
16
-7
5
8
-20
22
7
3
-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
-32
16
-26
5
-3
-17
-10
6
26
2
10
-1
-10
-24
2
2
30
-13
5
-4
10
19
1
31
-4
-4
-5
-1
4
4
-7
-3
9
-3
-10
10
3
-5
11
15
0
0
0
0
0
-13
20
31
-14
0
3
-13
-27
-4
8
11
21
-16
1
-17
-36
-24
30
-11
10
25
11
-2
-8
-14
-14
-9
12
4
15
33
-2
2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-20
-7
15
0
6
-16
-8
34
0
26
1
0
3
0
3
-1
-14
-8
0
1
-6
-17
7
0
4
12
10
-1
0
28
27
0
-9
0
0
0
0
0
0
0
1
-8
-22
0
-19
29
24
-14
0
-12
12
49
-13
0
12
5
-13
29
0
10
-2
27
3
0
13
-1
11
11
0
3
13
-28
8
0
-4
-8
19
44
0
4
-3
8
0
0
-17
31
31
5
0
-29
20
-5
-11
0
-60
-7
17
25
0
-19
-2
-19
-5
0
1
7
24
28
0
-8
7
1
23
0
2
4
1
4
0
6
-2
-2
-6
0
-1
16
19
-2
0
-9
-21
-19
-3
0
-41
10
13
-8
0
30
-29
-8
8
0
-15
-2
-5
19
0
0
0
-3
18
0
8
3
-4
1
0
13
-1
5
4
0
0
0
0
0
0
-4
-1
0
0
0
10
-20
5
-1
0
16
22
18
-8
0
2
20
-21
4
0
11
-2
4
-15
0
6
15
-12
6
0
8
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
-8
31
25
0
0
18
-8
-10
0
0
7
-5
33
0
0
1
37
5
0
0
9
17
20
0
0
3
-1
-3
0
0
13
6
-8
0
0
0
0
0
0
0
-4
35
-4
0
0
-12
-37
15
0
0
-22
-40
27
0
0
-17
20
21
0
0
3
-30
-30
0
0
7
21
3
0
0
11
1
8
0
0
1
13
-4
0
0
2
-18
3
0
0
-8
29
-5
0
0
23
5
6
0
0
-5
18
22
0
0
22
6
-31
0
0
-6
5
-9
0
0
6
-2
15
0
0
1
21
20
0
0
24
-7
5
0
0
21
5
0
0
0
-7
19
-1
0
0
-10
1
-3
0
0
28
33
-18
0
0
-13
-5
25
0
0
5
-10
-8
0
0
-3
5
0
0
0
17
14
17
0
0
0
0
0
0
0
5
0
0
0
0
3
5
2
0
0
21
-12
-18
0
0
-28
8
14
0
0
6
1
-38
0
0
-4
17
19
0
0
27
-21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
6
-16
-21
3
-14
-8
9
3
-11
-4
-16
7
5
35
-27
16
20
14
17
8
19
18
14
24
15
0
9
3
-17
16
13
-10
-11
-4
0
0
0
0
0
57
0
-58
-6
3
25
-6
-12
4
-2
7
-30
-17
15
33
-40
-9
2
-6
45
3
-26
-20
-9
-14
8
1
0
13
-41
10
7
7
12
2
29
30
-5
0
0
13
-50
1
-1
0
19
-27
19
1
-1
12
33
-38
37
1
-13
-23
-12
-5
22
5
-16
8
-31
51
-13
2
-14
20
-43
-1
11
-9
-3
30
13
-6
11
1
31
20
6
0
19
-7
48
-45
2
-1
0
-2
44
-13
4
-3
2
10
5
-16
0
-20
-75
19
3
7
-10
15
-15
-13
-46
2
-10
16
-2
-1
28
7
3
0
7
10
36
1
12
27
0
0
0
0
0
0
-49
-3
0
0
-30
51
-1
-1
0
26
5
-11
1
0
-43
-5
-29
-10
-1
4
-33
25
-36
-2
24
-5
13
14
-1
17
-13
8
6
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
12
2
-9
4
27
-34
5
23
9
-4
7
-29
49
-13
-6
11
8
-6
21
9
5
4
-1
46
13
22
13
21
-2
46
-10
4
-3
5
0
0
0
0
0
38
15
0
-10
-30
35
25
4
-11
-42
-15
-11
-32
-22
21
-9
-6
1
2
29
2
1
-9
-4
15
10
18
6
17
8
13
-1
14
1
2
22
19
8
7
0
20
8
-34
7
4
37
15
-17
-8
7
11
-30
1
-10
0
-9
-13
-4
40
41
-5
-15
-17
29
-9
-12
8
22
4
-1
12
-3
8
12
13
3
3
1
10
23
11
6
15
-2
-4
1
-2
-50
0
-1
14
6
-5
-21
13
6
-1
18
34
11
17
-34
7
14
22
-4
-9
2
0
14
22
-19
5
-18
13
-3
7
0
3
0
8
2
2
13
9
0
0
0
0
0
18
10
-1
0
0
19
18
-51
-1
8
-19
10
31
17
0
32
11
-7
-45
3
-17
37
-36
-36
-12
0
-8
-11
-10
-9
-25
-7
25
31
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-5
9
4
18
23
10
-13
-16
40
30
67
-32
-45
-18
23
-5
2
34
-10
12
7
9
-1
-11
-3
3
17
6
41
40
4
5
0
0
0
0
0
0
31
-19
20
5
-14
42
-9
4
4
6
14
-11
8
26
-23
1
-11
21
9
21
11
-9
29
2
4
2
3
20
10
12
5
14
-7
12
13
29
14
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
7
-3
-15
2
0
16
-14
5
-28
30
-18
-1
41
15
-13
-14
6
0
-3
8
-1
-1
17
-6
20
4
1
-9
12
10
2
4
-2
1
-4
20
0
7
-6
4
0
0
0
0
0
-1
54
-5
1
0
7
-44
-2
25
-2
-9
-20
-27
22
2
-8
0
11
-23
14
-16
39
1
-2
-45
-5
-7
8
6
-11
60
3
-13
7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
11
-1
0
16
4
21
4
0
8
44
20
19
0
26
37
-7
-41
0
-15
15
-19
26
0
-6
9
-7
7
0
31
37
9
22
0
0
0
0
0
0
-6
21
11
25
0
-2
39
19
-23
0
7
-14
16
7
0
34
-6
39
15
0
0
-16
18
4
0
-19
7
5
5
0
8
32
15
10
0
-1
4
5
5
0
-1
9
-33
-1
0
1
-21
13
0
0
14
-38
26
31
0
-4
-11
-21
-31
0
18
-13
-1
46
0
-6
0
-7
-15
0
-3
9
8
41
0
2
13
21
10
0
40
4
0
9
0
20
38
-2
-1
0
40
-8
-6
13
0
-9
-6
-17
26
0
-25
22
28
-6
0
-15
12
13
-21
0
5
-3
8
3
0
0
-10
5
13
0
31
5
10
7
0
0
0
0
0
0
-11
7
0
0
0
30
21
9
0
0
-36
19
-16
0
0
4
-32
13
3
0
12
44
7
6
0
4
1
21
17
0
-17
-19
-13
-4
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
0
0
13
27
20
0
0
29
7
-4
0
0
5
-35
-27
0
0
13
-11
-20
0
0
-8
7
6
0
0
3
14
16
0
0
0
0
0
0
0
14
2
0
0
0
12
52
2
0
0
14
-6
16
0
0
-19
20
8
0
0
-5
-5
15
0
0
-18
0
-10
0
0
11
14
-4
0
0
13
7
-24
0
0
0
0
0
0
0
39
-11
0
0
0
-28
4
0
0
0
25
9
-4
0
0
-64
-12
10
0
0
51
-18
-27
0
0
14
3
16
0
0
-4
5
14
0
0
19
83
-11
0
0
-2
-4
0
0
0
0
0
0
0
0
25
0
-2
0
0
-36
18
17
0
0
17
11
17
0
0
-13
42
-18
0
0
19
-4
4
0
0
11
33
10
0
0
0
0
0
0
0
3
6
0
0
0
-10
0
0
0
0
-7
12
1
0
0
53
-1
-2
0
0
28
6
-19
0
0
8
-55
3
0
0
-4
10
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-26
0
-26
4
-39
-20
-20
-15
-22
-10
39
16
-32
-29
-60
-23
3
-5
16
5
16
-9
5
15
3
22
-17
-13
18
-30
-3
23
13
24
0
0
0
0
0
-4
0
-16
5
0
3
-26
12
18
-1
-29
-25
25
-4
4
5
-29
22
-17
8
16
1
-6
13
-6
-25
30
13
-13
14
-5
-19
-26
25
4
-73
-26
-8
-4
-15
-2
0
-1
0
0
1
-37
27
16
0
-1
-5
17
14
-3
-40
32
12
54
-30
4
48
-15
7
-25
-14
-7
10
-59
25
0
-3
7
5
56
-3
-27
-19
-9
-8
-39
-16
34
-7
-31
-35
10
10
0
-2
-13
-27
17
54
3
73
-24
25
-13
-2
-4
7
41
4
-21
28
-10
15
15
52
-6
-25
-40
-3
2
-6
8
-3
-16
46
-12
-4
3
-13
1
0
0
0
0
0
17
10
-53
-3
1
-17
21
-11
-8
8
-28
-37
1
42
1
-15
5
19
-8
7
4
-17
20
46
-21
-46
-20
7
-27
-35
-10
-9
10
-19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
-5
0
-39
-44
-16
-29
25
-22
-33
-46
20
15
11
3
11
-1
-34
-15
-3
-28
18
14
-1
-41
-1
11
-6
-105
18
9
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-10
1
-18
3
1
2
-8
26
11
0
0
1
3
0
0
0
-6
-13
0
1
-1
2
-7
-22
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-7
0
0
0
6
-6
-1
0
-6
-17
19
15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-2
2
4
0
-1
-3
-17
5
3
1
-39
-10
53
-20
-10
8
0
-35
-2
1
0
0
0
0
0
-5
-8
0
3
-2
40
-2
-4
-5
-3
6
-25
1
-30
-7
-11
5
-24
30
0
-7
9
34
13
24
-7
-2
-35
-21
-28
-4
-1
1
24
46
0
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
-26
8
-22
-15
-29
-25
-29
37
33
15
-6
-15
-4
-9
-22
16
34
12
0
-1
-12
-57
-25
46
26
-19
-21
-31
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-1
0
0
-5
2
-37
0
0
-16
-6
13
-3
0
-1
0
7
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-4
-1
-1
1
-3
6
-28
9
0
5
-30
-6
26
-9
3
-44
38
-17
11
-47
-27
20
19
1
-3
-6
-18
-23
8
12
67
10
-3
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
-53
18
20
15
0
9
19
-17
24
0
-40
6
-25
12
0
-15
-4
4
-2
0
19
-20
-9
33
0
25
-59
42
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-17
-1
0
0
2
5
2
0
0
-7
0
3
0
-1
0
1
-4
0
0
0
-3
0
0
0
3
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
1
0
0
0
1
0
0
0
0
0
-3
0
0
0
-18
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
1
0
0
0
0
0
6
0
0
0
1
3
0
0
0
2
4
-3
0
0
0
0
0
0
1
-3
9
0
0
-36
-29
55
-1
0
7
8
7
1
0
-23
8
13
32
0
-33
-46
-35
21
0
72
18
-11
-18
0
8
28
-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
-2
0
0
-5
-17
22
0
0
6
14
-1
0
0
-6
16
10
0
0
-58
23
7
0
0
15
3
24
0
0
29
-15
-11
0
0
0
0
0
0
0
0
-1
-2
0
0
-47
-24
-5
0
0
-43
-51
3
0
0
16
14
8
0
0
-43
-3
-20
0
0
28
7
6
0
0
5
12
20
0
0
6
20
28
0
0
0
0
0
0
0
-2
-2
0
0
0
-29
-23
6
0
0
-32
0
3
0
0
4
16
5
0
0
-1
-12
4
0
0
19
0
-13
0
0
-19
-9
-5
0
0
7
18
27
0
0
-3
4
-1
0
0
-28
-1
6
0
0
-32
24
-9
0
0
-50
-16
32
0
0
12
11
-31
0
0
57
8
-2
0
0
10
-4
18
0
0
11
-18
-7
0
0
0
0
0
0
0
2
-1
2
0
0
6
-10
1
0
0
-7
10
-2
0
0
14
-60
-7
0
0
-13
-29
31
0
0
-6
9
7
0
0
37
28
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
12
5
21
-23
-28
-52
14
-31
-11
-28
-24
24
-3
-21
3
-4
1
-11
-14
-1
3
-2
3
15
-4
4
-7
18
0
-67
-10
6
-3
13
0
0
0
0
0
-54
28
64
-4
-21
-9
12
-10
-22
9
25
19
11
39
-48
26
14
8
0
-9
-13
11
-1
3
13
-1
7
0
13
-4
-24
-8
-5
3
17
-49
-23
1
-1
-12
-48
-10
-17
45
-5
-36
16
-8
49
10
-40
30
-9
-11
-11
18
-1
0
7
20
-20
7
-27
-12
32
-16
-1
-9
-16
-11
-1
3
11
2
37
-21
-32
-10
-1
-19
-19
-10
14
3
-12
17
-28
19
-15
-1
17
61
-24
-17
-14
-30
52
5
-9
-33
43
-5
7
-8
16
-16
13
1
-1
2
15
-31
-4
21
6
-21
18
11
15
12
-6
-1
-9
5
4
0
0
0
0
0
-19
-24
45
-7
-3
12
-11
17
34
-20
27
8
-33
-14
31
11
9
34
7
9
-26
26
7
5
-2
-2
-11
2
10
-2
-4
3
13
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-35
-38
39
10
-20
-2
9
2
-45
-12
-29
10
13
15
-46
-8
15
4
-46
-19
-6
-13
-10
-5
-16
6
4
-11
-2
-66
-3
-4
0
11
0
0
0
0
0
0
0
0
0
0
4
1
-9
-6
-1
-16
-33
-4
-50
14
-66
-43
-2
-2
-24
1
13
20
-11
-25
-1
35
7
4
0
-70
-2
-27
-1
-30
58
-73
-73
-30
-17
0
-2
0
0
0
-1
0
0
0
-2
1
15
0
19
0
1
-6
-1
39
-15
38
45
-43
-17
37
35
-21
-36
-38
-42
-35
-27
-12
8
-24
-42
-26
3
-9
3
-78
-12
21
-30
-7
7
0
0
-3
0
2
-3
-9
-6
0
-5
7
-28
3
-1
-9
15
-32
-7
9
35
19
9
-59
1
-27
3
18
36
-34
-3
-35
-1
10
5
-31
-43
-27
-13
-11
0
0
0
0
0
-40
43
-10
47
-3
-4
11
35
60
0
29
-7
-69
10
44
53
-7
11
-4
-18
-11
-4
28
-13
13
-14
-25
-6
-6
15
19
5
7
-7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-8
24
-1
18
-73
-34
60
-7
-25
-22
-40
-20
33
2
0
4
-28
7
0
25
-6
-1
13
6
-12
9
2
7
6
-23
1
-28
-19
1
0
0
0
0
0
0
0
0
0
0
0
-2
1
11
-1
-51
-11
1
-33
11
-40
-34
-13
10
-13
2
24
-38
-23
-11
25
3
1
-45
20
48
-81
-23
-6
-25
-26
-14
-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
-3
0
0
0
-1
0
3
0
0
-2
9
-5
-2
0
0
6
-10
-25
0
5
-19
-7
18
-3
17
-1
-13
-35
-17
-30
0
13
-1
-2
-15
-45
-37
12
29
0
0
0
0
0
11
-1
-11
-9
-8
-3
2
35
-11
28
-65
11
66
3
16
33
6
-35
3
-8
-3
-24
3
32
-15
-16
12
-4
-6
-13
11
12
6
-8
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-42
6
-1
0
0
-30
-19
-24
0
-43
32
11
-20
0
-20
-12
-2
0
0
7
5
-2
-11
0
-2
-15
15
3
0
-7
-20
6
2
0
0
0
0
0
0
0
0
0
0
0
-9
4
-24
-5
0
3
6
7
6
0
19
8
26
-28
0
-32
-8
-49
-2
0
11
-22
-3
-46
0
-22
-47
-16
-42
0
18
-4
-28
16
0
0
0
-3
0
0
-4
2
0
-2
0
-12
1
-9
4
0
-73
32
-10
11
0
-39
-19
-29
-11
0
50
-55
-16
2
0
71
56
-7
10
0
-14
-38
-32
-3
0
12
-24
34
-16
0
-4
0
3
1
0
-3
-8
12
0
0
18
6
-16
-8
0
-31
16
-13
-6
0
-58
-10
-35
25
0
-91
-8
-28
-25
0
22
-22
10
9
0
96
-3
11
-12
0
0
0
0
0
0
6
2
-23
-3
0
-4
18
2
-32
0
-14
-2
-15
45
0
-12
22
-13
-51
0
-7
2
2
21
0
9
-3
8
-7
0
22
6
20
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
11
34
0
0
24
7
22
0
0
-4
-10
-59
0
0
-5
-3
-5
0
0
-8
-11
-4
0
0
0
13
12
0
0
23
24
-23
0
0
0
0
0
0
0
-22
-7
-2
0
0
13
-12
26
0
0
-32
-2
-14
0
0
16
-8
-8
0
0
-5
-11
21
0
0
1
3
-12
0
0
-28
2
-10
0
0
2
14
14
0
0
-1
-3
-2
0
0
-11
-2
-12
0
0
-24
31
7
0
0
25
-3
39
0
0
4
-4
-16
0
0
9
-4
-22
0
0
-4
-4
-11
0
0
9
-6
-20
0
0
29
8
-15
0
0
-11
8
-1
0
0
-23
45
-8
0
0
1
-5
-37
0
0
11
-23
-22
0
0
8
3
3
0
0
-19
-18
14
0
0
13
-1
5
0
0
20
-14
5
0
0
0
0
0
0
0
1
26
-7
0
0
13
11
4
0
0
13
13
1
0
0
-4
-32
-9
0
0
17
-6
43
0
0
3
5
10
0
0
19
12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-7
34
11
-2
-14
-12
23
-36
0
29
-1
38
-20
-29
26
3
-1
4
-46
5
-7
-6
-3
-2
9
11
11
5
1
-18
2
12
-3
29
0
0
0
0
0
-15
1
76
-6
1
1
35
-48
27
13
-31
-36
36
-15
5
-10
-14
-32
-10
34
19
6
-8
4
-33
12
6
22
8
-16
-2
-1
5
7
12
7
6
-3
1
3
-5
50
-13
3
-1
30
-10
48
-45
-11
-31
-4
18
15
3
23
21
-29
-12
10
-8
0
6
-22
17
-17
-8
-18
4
-26
-5
7
6
7
16
15
-11
-2
4
-1
13
4
11
-5
14
-2
-48
-17
14
0
-5
-19
-20
-14
10
-2
17
3
-10
-13
-17
-27
14
-6
14
-27
-18
-1
10
0
-2
-10
-1
-13
12
-9
-2
6
12
2
1
2
-15
21
2
0
0
0
0
0
-3
-13
-2
5
-1
2
-11
-24
10
15
10
-8
2
-10
-10
-46
-21
10
23
-12
11
10
16
-19
-10
-15
-7
2
-10
19
13
14
-1
-7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-25
6
6
-4
-18
-41
8
-25
-32
16
0
40
37
-17
7
-1
7
-5
-35
5
6
-6
5
32
8
-3
3
-2
4
-5
-3
4
5
-2
0
0
0
0
0
-50
7
27
16
-12
-72
-23
18
34
-9
-32
9
49
-3
-4
4
-17
-16
47
8
0
9
13
-22
5
-26
7
5
-2
4
-32
-31
-5
6
-6
11
-16
-21
-19
0
-13
-18
-3
12
-6
-32
-44
36
22
2
-75
33
-29
18
-15
-7
1
-1
1
-1
-26
44
15
0
12
12
-4
-9
-11
5
-11
9
-7
-3
6
8
4
1
-11
4
-21
-12
2
15
16
-100
21
-14
-2
3
-45
-65
7
51
11
-8
18
10
-41
-19
-16
34
-27
-10
-3
19
-5
26
-12
-22
-16
-14
-20
19
-12
-4
11
1
9
5
-15
-15
0
4
23
0
0
0
0
0
12
-45
20
-18
-1
-13
9
-21
-13
7
27
25
13
-20
20
12
-20
-18
43
-8
3
-10
13
-31
0
7
0
14
26
-5
-4
-3
6
1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
7
8
19
9
-53
-8
-4
14
34
11
-58
24
-12
55
15
-3
-7
-21
-16
20
18
-1
12
-11
-17
2
16
-5
-3
-11
-23
-2
-5
19
0
0
0
0
0
-58
-13
-3
-35
3
-72
-13
-1
-18
-11
-5
-7
-54
-6
-4
1
-24
-42
-7
27
-6
-7
-18
-7
-22
-7
-13
-11
10
9
10
-8
8
-15
-15
-12
1
-11
-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
-8
15
-10
-20
-4
56
-24
7
-8
-1
-26
-7
-14
15
15
13
13
-31
-2
-10
-15
6
-5
1
-27
-49
-1
-7
21
-19
-2
-3
10
21
30
-43
-2
0
2
-30
0
0
0
0
0
-21
15
20
4
1
15
8
33
-24
-8
25
22
-29
-7
-23
-2
-25
-29
26
-43
21
10
12
19
-11
-11
3
-2
3
-5
35
1
2
6
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
11
16
-6
0
-4
-40
34
20
0
-21
26
-3
-26
0
-6
-7
-3
-2
0
-2
12
-3
-4
0
-4
8
10
1
0
-12
7
10
18
0
0
0
0
0
0
2
-48
5
1
0
23
11
-55
-3
0
-73
-2
-46
42
0
-8
11
-18
-19
0
-6
-6
2
-22
0
23
8
-2
-11
0
-13
-36
0
-1
0
-15
12
7
-9
0
-6
12
-1
1
0
-7
3
10
-11
0
7
-21
3
-28
0
11
-8
-7
-12
0
23
-16
12
5
0
-21
5
-49
28
0
0
-8
9
-31
0
-11
-7
-14
-4
0
13
-7
11
-4
0
39
-9
-13
9
0
-39
-4
4
-12
0
-11
-4
44
-13
0
53
-23
-19
-27
0
-27
19
-20
-18
0
-2
-23
2
1
0
-8
12
-8
4
0
1
4
2
-2
0
0
0
0
0
0
39
8
-17
-1
0
2
-2
12
-4
0
-20
-2
18
-53
0
-20
-31
12
-34
0
10
4
-21
28
0
-13
-7
16
33
0
-21
-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
1
-14
1
0
0
13
18
-7
0
0
30
14
18
0
0
-7
-19
-13
0
0
1
13
2
0
0
-19
-6
1
0
0
11
1
-8
0
0
0
0
0
0
0
-3
1
-6
0
0
1
33
-1
0
0
35
-6
-12
0
0
23
17
-29
0
0
0
-4
-14
0
0
10
-12
12
0
0
10
-12
-19
0
0
-5
20
19
0
0
-1
-1
-2
0
0
20
-8
4
0
0
18
9
-20
0
0
22
-35
-45
0
0
11
9
4
0
0
-9
-5
4
0
0
13
24
22
0
0
17
12
21
0
0
-31
-10
-12
0
0
-10
31
0
0
0
19
10
-5
0
0
3
-27
-3
0
0
8
15
-41
0
0
30
-5
-8
0
0
-14
9
-15
0
0
0
6
33
0
0
-7
-21
15
0
0
0
0
0
0
0
7
-2
1
0
0
43
-4
1
0
0
-12
31
12
0
0
22
-7
-33
0
0
6
34
-27
0
0
-25
-1
-6
0
0
-7
-3
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
15
0
-1
0
-77
-39
-2
53
7
-44
-28
54
1
-20
22
8
19
-37
16
30
7
-15
30
18
13
2
17
-19
-19
12
17
-6
-14
-21
0
0
0
0
0
-33
9
2
0
0
-23
18
48
-30
0
8
-31
-11
-58
-17
-18
11
-11
30
18
2
-35
-8
28
26
18
19
-6
1
39
-10
5
9
-33
-18
30
-16
2
24
14
-7
-3
0
0
0
4
8
7
-9
4
35
36
-31
0
0
61
-77
-1
4
11
-10
-30
22
-10
-48
-50
-29
-18
-3
34
-20
18
14
25
-20
26
8
1
13
-3
19
14
5
35
42
17
-1
0
-2
0
-28
-41
21
-3
-3
-69
24
28
3
1
-56
-5
-26
7
-13
-26
-3
-24
-15
19
-5
-30
-23
35
10
10
7
8
-12
13
42
-12
3
1
-8
0
0
0
0
0
7
19
1
0
0
-2
3
3
0
0
10
-12
-43
-9
-1
1
42
-26
13
1
12
15
44
8
-16
-14
-9
-5
6
-18
-16
-7
6
-11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-98
47
1
0
1
-8
-24
7
-20
1
-8
-7
-16
10
27
0
3
-14
-7
-6
29
-45
-15
16
32
12
25
-1
-7
-8
46
17
19
-5
19
0
0
0
0
0
-30
-18
-25
-5
3
-11
2
5
7
19
-30
-28
18
26
-21
-10
-10
-12
11
0
-22
-3
-11
-1
-22
5
7
7
-7
-3
-13
-13
-4
6
2
14
1
-6
-3
1
11
-8
8
-1
1
10
-11
40
11
0
14
-35
14
-53
7
-23
11
40
-41
-29
18
-19
21
-18
0
-29
-13
2
5
16
0
25
-5
1
-20
13
9
1
-16
7
-25
5
6
8
0
39
-25
44
9
-4
62
-36
-17
23
-6
-31
57
-2
-37
-26
-1
-24
-5
19
-4
-48
-8
15
-18
23
9
-1
1
18
6
23
20
-4
4
10
4
1
5
-6
3
0
0
0
0
0
-2
-11
0
-1
0
-6
-17
34
4
-1
23
-1
-13
-18
-1
-25
-37
-18
-7
17
-17
7
-33
25
7
-29
16
-7
-15
9
-5
38
29
24
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-10
3
0
21
-39
-40
10
26
35
-16
-22
15
-6
28
-15
-1
0
-31
-1
10
10
13
7
0
8
-11
-5
9
39
8
22
-5
16
0
0
0
0
0
5
15
-12
-5
1
-28
1
32
-35
-5
-28
-13
5
-29
14
-33
-44
-7
31
23
-10
-9
-15
-11
-13
-28
-7
5
16
-2
-15
-26
22
6
1
-33
18
-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
9
-16
21
-5
1
-31
-9
28
22
-1
-20
16
-58
2
-2
-32
-44
20
-17
-19
39
13
-29
-14
-26
-5
-14
6
0
-22
-5
-5
-3
10
15
-17
4
18
-20
5
0
0
0
0
0
0
-2
4
0
1
11
12
6
-7
0
-5
-14
16
-20
0
-21
6
-10
-36
16
45
10
-27
9
-10
-5
-6
1
-1
6
-7
30
22
15
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-2
16
21
1
0
31
44
-10
-55
0
26
14
10
-3
0
-11
3
-18
23
0
7
4
3
7
0
26
13
20
-27
0
0
0
0
0
0
6
-11
30
9
0
21
-94
1
12
0
-71
-44
26
55
0
15
5
-33
-23
0
-1
6
-8
-20
0
12
2
-27
-19
0
0
14
-3
10
0
3
0
9
-1
0
2
1
2
-1
0
61
14
-65
-22
0
-24
16
-12
11
0
-2
-11
31
-22
0
-9
-10
2
25
0
-9
13
-12
-14
0
-20
-16
24
-21
0
-16
-13
-12
14
0
-5
35
3
24
0
-18
-13
1
0
0
32
18
-14
-20
0
11
10
0
13
0
-14
-7
-13
8
0
-1
-6
-5
13
0
-1
8
-12
37
0
-1
-6
20
-12
0
-17
33
-5
-12
0
0
0
0
0
0
2
2
-1
0
0
6
-4
0
-1
0
8
-2
12
-1
0
8
-4
8
-6
0
27
-12
25
-6
0
-16
7
-4
-4
0
-13
-31
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
-4
0
0
0
-16
-1
0
0
33
19
2
0
0
2
-38
-9
0
0
-4
-5
-2
0
0
-47
17
16
0
0
16
2
5
0
0
0
0
0
0
0
1
2
0
0
0
41
-3
-3
0
0
39
-5
14
0
0
-24
-50
-11
0
0
-31
9
-24
0
0
-23
-28
11
0
0
25
-13
-1
0
0
-12
2
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
9
2
0
0
-29
-7
-6
0
0
-18
19
-21
0
0
-8
-9
16
0
0
39
-12
18
0
0
-13
-11
1
0
0
0
13
-13
0
0
-1
-1
0
0
0
3
1
0
0
0
2
-15
0
0
0
-13
39
-4
0
0
18
50
-5
0
0
-8
-17
-41
0
0
-30
-19
15
0
0
7
-5
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
-17
26
-1
0
0
0
-14
-20
0
0
10
43
-10
0
0
1
39
28
0
0
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
-2
-1
0
49
22
-33
1
0
52
-52
1
-36
-2
-12
38
11
25
-4
28
-2
30
-6
7
9
-16
3
15
-34
0
0
0
0
0
0
0
0
0
0
-13
-4
0
0
0
-11
-18
-3
0
-1
-6
-31
0
6
1
46
-2
3
-40
-20
27
19
-17
29
13
0
36
25
-38
-22
56
4
17
-27
94
0
0
0
0
0
28
1
0
0
0
11
0
0
0
0
1
-12
-1
0
0
-26
46
-80
32
0
-9
16
41
-40
0
19
53
-2
-39
32
0
16
10
-15
-32
62
-6
-48
2
-1
1
6
0
0
0
16
-1
-1
0
0
9
0
0
0
0
9
17
-18
0
-1
0
-11
11
14
0
35
-10
-22
-23
35
53
-14
23
-29
6
-43
34
32
0
-79
0
0
0
0
0
-3
-1
0
0
0
8
0
0
0
0
0
2
0
0
0
0
1
-2
0
0
2
7
-4
1
1
-7
17
18
22
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
6
-8
3
0
0
-19
14
24
-9
6
15
-9
-15
-89
-22
-12
-9
20
11
-15
2
28
18
6
6
74
23
41
36
0
0
0
0
0
0
-4
6
-4
0
0
-18
-14
4
2
-1
-8
22
48
10
-25
-9
-4
5
2
3
-31
-23
-9
-13
-8
-1
6
-30
-5
0
27
9
-8
-8
-11
0
41
-1
6
9
-6
-6
0
0
0
15
-12
-4
0
-3
25
-33
13
12
-2
13
-11
-37
3
4
-19
-36
54
-1
43
-45
-5
17
0
31
-1
2
1
10
7
64
18
7
-9
-25
55
35
24
-17
-2
19
29
2
1
0
42
52
6
-5
0
-3
-44
4
20
-2
-5
-56
-10
-26
-23
-24
0
-15
46
-27
0
10
-24
-6
23
11
41
-1
11
-7
9
26
27
-25
-8
0
0
0
0
0
6
-9
0
0
0
16
0
0
0
0
0
6
0
1
0
0
0
4
1
0
0
1
-7
-21
0
4
2
4
25
-17
-2
2
-8
-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
4
0
-6
-4
0
0
-5
18
6
29
6
-45
8
-27
4
-7
-13
-6
15
7
-26
-7
-7
-3
-21
51
46
0
13
21
0
0
0
0
0
0
9
2
0
0
9
-37
-36
14
2
61
-25
-11
13
9
3
13
48
4
-49
19
-14
9
-22
4
8
8
-33
-15
19
-33
-4
12
-10
29
-26
7
7
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
6
-2
4
0
0
1
24
-16
2
-1
1
-28
2
2
0
-20
-12
9
1
19
-18
-24
29
-20
44
26
22
-9
7
0
7
-25
35
9
-20
0
118
-18
2
-38
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-6
-5
1
0
4
-6
4
8
0
0
0
-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
-1
-2
-2
0
0
0
-4
21
1
0
4
-6
37
-1
0
36
5
37
27
0
-15
21
-71
-3
0
11
57
-3
6
0
0
0
0
0
0
0
0
-3
0
0
-6
-3
8
6
0
-5
4
-13
-54
0
8
3
2
15
0
-45
11
-21
19
0
9
12
9
-33
0
21
-23
21
-8
0
39
17
18
6
0
0
4
0
0
0
-25
8
-6
10
0
1
-13
29
0
0
12
22
23
2
0
-41
3
-23
-42
0
-75
-19
-34
-11
0
11
-2
15
-31
0
59
-7
0
-17
0
0
39
-39
41
0
-1
-4
1
0
0
-13
47
-28
-2
0
25
-4
-9
0
0
-31
35
3
13
0
18
-35
-4
-9
0
14
-15
9
-40
0
-21
-43
21
11
0
0
8
-7
-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
-10
0
8
0
0
-4
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
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
9
-9
-32
0
0
-17
27
-6
0
0
28
45
4
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
-33
8
6
0
0
-17
-34
4
0
0
14
13
-17
0
0
-12
28
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-11
-1
0
0
-4
11
-5
0
0
0
28
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
-25
0
0
0
-3
0
-28
0
0
5
33
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
-3
0
0
0
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
16
-1
46
0
-20
20
7
73
2
-19
25
5
-26
11
20
-17
-14
35
24
-2
-1
0
-19
7
0
11
5
-11
-2
12
6
15
0
0
0
0
0
-34
-63
21
16
2
77
-11
-4
1
-3
25
22
-22
-40
-1
-32
17
7
-12
-31
-15
-19
-13
-13
-4
12
-9
4
13
4
-8
-6
-11
3
16
-17
48
27
32
14
0
-17
1
0
0
52
-1
13
1
0
27
-72
-2
27
0
-10
57
-40
-6
-14
-44
29
-33
-16
-12
2
-47
16
5
2
17
-6
-13
-9
-16
-8
13
7
13
-1
18
-1
12
-2
26
-1
-17
0
0
1
68
48
-25
-11
-4
22
-35
-20
-22
1
18
21
-47
15
-27
3
13
-5
-2
13
-6
8
15
11
-28
24
0
5
-7
4
-14
1
-3
15
28
0
0
0
0
0
1
7
-1
0
0
33
13
-18
0
-1
18
-54
12
8
0
-9
-51
30
-14
-43
7
-40
7
-21
29
-9
-6
7
-9
-3
15
9
15
7
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-15
-32
-68
11
6
17
-8
45
15
47
-17
-9
3
-2
-41
-3
17
11
31
-23
-21
14
16
18
-11
2
-3
14
-14
10
5
-5
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
-13
9
-1
0
0
20
44
-29
-3
1
0
11
4
23
0
-32
1
6
-6
27
-16
-11
12
6
-20
-17
-12
12
-23
3
14
17
8
1
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
4
36
22
-9
53
-4
-41
-9
-19
-2
28
-10
-17
11
-14
-20
-12
11
-6
26
3
-13
-12
0
-1
4
3
-7
1
-5
-8
-24
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
20
-1
-30
21
-29
11
-42
-1
7
6
3
-4
0
-14
-7
-12
-11
7
8
23
-11
8
-7
17
12
5
-4
6
-6
-13
-6
-3
-19
4
10
23
-2
-5
-7
0
4
-1
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
13
7
1
-2
0
-12
46
21
5
-3
2
-5
-1
21
-9
-7
44
-50
22
15
-2
-10
-10
-28
23
5
1
-2
-11
-7
4
-3
17
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
40
19
4
0
23
-32
-45
13
0
-6
-18
-31
2
0
20
-13
-8
-2
0
-4
6
34
-37
0
5
12
5
-3
0
3
-8
-22
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
23
-5
-4
0
-40
-3
-10
1
0
46
-42
2
-42
0
-21
-17
-3
-16
0
-17
38
12
-2
0
-4
-1
9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
16
-2
0
0
-53
3
-1
0
0
39
-4
-6
0
0
-11
37
-56
0
0
-32
-2
44
0
0
27
0
3
0
0
12
13
6
0
0
0
0
0
0
0
45
1
0
0
0
-5
-14
1
0
0
9
37
-3
0
0
24
23
-5
0
0
41
-7
11
0
0
0
11
-1
0
0
12
-19
-6
0
0
-7
14
46
0
0
-5
-1
0
0
0
3
5
0
0
0
-8
-10
0
0
0
4
-9
51
0
0
-22
-16
2
0
0
4
7
-14
0
0
0
6
-18
0
0
-9
-29
-13
0
0
-1
2
39
0
0
-2
0
0
0
0
-15
0
0
0
0
-5
21
0
0
0
-18
3
-3
0
0
8
-3
-18
0
0
42
16
-28
0
0
-20
0
5
0
0
3
-4
31
0
0
0
0
0
0
0
-1
0
0
0
0
8
4
0
0
0
-11
-1
0
0
0
23
-18
-1
0
0
13
3
-8
0
0
16
-32
-31
0
0
-1
3
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-9
17
-6
0
-10
4
-23
10
-1
20
9
7
15
-14
-4
2
-13
-34
0
12
14
5
-1
7
2
4
13
1
0
1
3
17
24
8
0
0
0
0
0
21
61
3
3
0
16
18
-8
-1
3
-28
12
-13
16
16
30
51
-16
22
-38
-15
15
-23
-17
20
1
-6
0
16
20
-12
1
-1
-2
-2
36
29
20
16
2
8
9
4
1
0
17
15
-25
1
0
-2
29
-12
1
0
2
6
-3
-16
12
52
25
31
-4
-29
-7
-17
6
-6
25
9
-17
-13
-3
-9
16
11
17
-20
3
6
28
5
9
-25
5
12
0
0
-1
21
-32
14
0
0
-8
10
3
4
0
-2
-12
-9
-37
50
1
-48
-14
2
8
-34
-26
21
-18
9
14
-12
-6
19
-27
-5
23
5
22
-33
0
0
0
0
0
-7
19
1
0
0
-36
-4
3
-1
0
-8
34
-3
4
-1
18
-27
-18
-10
17
51
-6
-21
1
17
12
28
-1
-24
-15
-12
-12
-11
39
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
10
23
13
0
24
-31
-4
45
23
46
-28
35
-8
-5
-13
-12
34
23
-5
19
5
0
-4
40
3
4
8
-16
2
21
14
19
29
6
0
0
0
0
0
6
-35
-5
-9
9
-8
1
41
7
-1
41
-12
68
-15
24
10
27
57
25
-8
-3
30
7
1
-20
-16
-13
16
6
9
9
-16
-21
-8
7
10
-18
16
25
2
-40
-16
-1
7
1
16
32
-11
0
0
-3
-18
40
3
-14
2
-1
12
1
10
18
-1
-15
42
3
-3
5
-13
-9
-1
-6
6
-4
7
7
-2
-5
3
-5
19
10
13
13
-2
-16
6
1
4
4
0
7
35
-2
4
0
6
2
10
0
-1
5
-35
45
-14
-11
16
-13
-6
5
-46
-11
-32
3
-15
20
-3
5
-4
2
46
0
22
13
9
-22
0
0
0
0
0
17
11
-2
0
0
35
29
0
5
1
4
-11
28
-53
-4
-16
-15
-15
14
0
-21
10
-20
19
37
63
4
0
18
19
6
14
6
-2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-15
-7
6
0
29
16
-3
12
-17
-11
43
23
16
-9
35
45
-19
-3
-19
5
20
10
-19
13
22
12
9
11
1
12
-1
3
5
9
0
0
0
0
0
-9
-33
19
10
0
29
-15
-17
13
0
30
14
-24
-15
-29
0
-22
-8
30
7
1
13
9
-10
3
5
0
0
-8
-29
-10
-15
2
5
8
10
27
-7
-30
32
-1
9
51
-36
-3
-25
40
3
0
3
5
22
-28
26
-37
27
0
-5
-17
-38
6
6
14
-6
-8
0
-1
-15
-2
14
-1
0
-3
1
1
4
4
7
10
6
0
7
4
-10
-1
-13
14
0
-3
1
-15
16
-1
11
0
-16
-12
-12
37
0
5
14
-2
-5
15
53
-15
12
25
27
28
2
-6
-19
17
-14
-2
-5
9
5
0
3
-1
-7
-14
0
0
0
0
0
7
-4
2
-1
0
0
7
-4
0
8
44
33
-29
3
-2
19
-12
11
6
-21
-33
9
22
-4
-7
10
-10
13
-8
-24
7
8
-8
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-19
15
-2
0
5
26
-3
3
0
15
-6
67
7
0
-4
16
-7
7
0
25
11
18
-4
0
5
-4
2
-8
0
3
3
10
26
0
0
0
0
0
0
33
-23
-2
-8
0
9
-4
4
3
0
-48
6
-51
-9
0
12
-21
-27
-15
0
-6
-33
-5
-7
0
32
-1
1
22
0
-24
7
-14
7
0
-15
-22
-4
14
0
35
7
4
-1
0
-5
-20
8
1
0
8
19
13
7
0
39
-30
2
10
0
-16
-13
-8
-60
0
2
20
-1
-7
0
-19
5
5
4
0
0
-8
-3
0
0
-10
2
20
4
0
4
-3
0
0
0
-7
11
1
4
0
23
-30
18
0
0
34
-13
-18
-1
0
6
23
-7
-13
0
21
8
-32
-25
0
8
-2
-10
-13
0
1
2
18
-2
0
0
0
0
0
0
0
-9
-7
0
0
-6
0
0
1
0
-17
8
68
1
0
-33
-4
4
13
0
5
-8
-7
-16
0
-30
-21
8
13
0
2
-10
-15
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
7
0
0
0
21
2
0
0
0
14
14
14
0
0
24
-11
-21
0
0
6
-5
25
0
0
7
-1
-30
0
0
2
6
19
0
0
0
0
0
0
0
-16
0
0
0
0
1
25
0
0
0
22
6
-11
0
0
23
29
-73
0
0
25
3
-6
0
0
20
12
16
0
0
-14
-7
20
0
0
-22
-4
12
0
0
3
0
0
0
0
10
7
0
0
0
29
-6
0
0
0
-6
13
-5
0
0
-1
46
-22
0
0
21
-4
-17
0
0
6
12
10
0
0
-16
-13
-12
0
0
-7
20
68
0
0
0
0
0
0
0
8
-1
0
0
0
4
1
-1
0
0
15
-27
7
0
0
21
22
-80
0
0
-5
2
8
0
0
1
10
-2
0
0
-8
22
-8
0
0
0
0
0
0
0
-2
-8
0
0
0
-1
3
0
0
0
-14
3
0
0
0
-2
37
6
0
0
-11
21
-11
0
0
-30
6
-14
0
0
3
-1
40
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
40
8
-49
-1
0
-27
-21
6
12
2
7
28
-30
-23
-22
25
-23
7
16
17
15
-7
-7
-23
33
18
-3
23
21
-2
0
0
0
0
0
2
-6
-3
0
0
-7
-10
6
0
0
0
-4
-23
1
-1
29
23
-29
2
2
-19
-51
-24
26
35
8
15
-7
-5
2
13
1
12
16
2
53
2
25
46
28
7
2
0
0
0
-5
-8
7
0
0
27
15
3
0
0
-26
18
-10
1
0
29
-57
42
-41
-2
21
-21
-53
14
10
8
-6
4
7
-22
28
10
-4
-8
33
-3
2
-13
-18
89
1
11
0
0
0
27
-6
1
0
0
5
8
0
0
0
5
-32
-36
10
2
20
15
1
-2
2
-23
-4
6
-3
-4
9
-2
-11
-48
11
-24
6
23
60
-4
0
0
0
0
0
15
-8
0
0
0
15
-1
0
0
0
-8
-3
2
0
0
13
5
-2
-11
0
-17
4
4
16
-3
-18
24
-30
-62
2
-13
-4
27
23
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
1
-2
0
48
-6
23
1
1
11
28
-45
-22
6
-7
-35
-9
49
78
-3
9
11
24
-18
22
4
-11
-2
-9
21
20
10
14
16
0
0
0
0
0
8
-26
-1
0
-1
27
14
-17
16
0
-14
-38
-24
-30
60
-31
-30
-3
-22
21
-16
-34
34
-13
0
12
-2
-16
-11
-23
11
0
7
-4
-1
18
25
21
27
14
36
-9
-2
1
1
22
51
-22
1
2
50
48
-27
-13
3
22
-21
5
29
-22
26
-31
-20
-21
-21
2
-17
-35
-7
2
4
2
-10
-12
0
1
0
20
8
-1
16
15
4
0
48
7
38
-3
-2
0
73
-7
-10
5
7
8
2
25
-40
1
5
-25
4
-7
47
-23
-14
-4
-11
37
31
-12
-17
-12
-6
42
2
2
-5
-3
-18
28
9
19
-40
0
0
0
0
0
-2
7
0
0
0
-7
0
-1
0
0
6
-10
2
2
0
-2
-36
24
-1
-7
27
-28
7
27
-25
38
18
18
-15
28
-18
13
-14
31
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-1
-1
0
18
7
21
-6
0
31
51
-4
-13
7
-23
-20
56
-40
-12
52
25
-18
5
21
-13
11
11
0
-9
10
5
16
10
13
0
0
0
0
0
-7
5
13
0
-1
-54
6
29
2
2
-54
-9
3
34
39
-16
29
-9
17
16
26
-21
29
-13
-12
13
14
4
-11
8
13
-2
-4
0
1
1
17
11
22
21
9
-9
-29
0
-1
13
12
1
-20
1
-3
2
-2
19
24
-27
15
-6
19
38
16
5
-14
-2
8
-15
13
-11
19
9
6
-13
8
2
-17
-18
1
8
2
13
69
-16
1
16
-32
5
-10
-2
-1
-1
1
-5
35
8
-1
7
-32
37
8
0
-15
7
15
25
-26
-8
-9
25
-17
10
22
-27
12
-14
8
-3
10
3
0
-13
-13
8
3
3
0
0
0
0
0
0
2
-4
2
0
0
9
5
0
0
0
-7
3
2
0
0
17
13
26
-19
-3
-17
-31
36
11
1
-43
-7
-19
30
-8
25
26
-20
-67
-24
0
0
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
3
-13
1
0
42
-12
25
9
0
6
-1
-52
4
0
26
18
5
5
0
3
-7
1
-15
0
-19
16
8
43
0
0
0
0
0
0
-20
14
1
9
0
-18
8
-1
0
0
2
5
36
14
0
-24
15
38
16
0
35
-7
-14
-28
0
2
0
11
14
0
-8
9
-3
20
0
-14
-22
-21
-22
0
-18
0
1
0
0
19
-37
6
-4
0
6
34
24
0
0
-1
-21
3
37
0
11
50
-7
-1
0
18
-5
12
-2
0
3
5
14
4
0
-4
-11
7
19
0
17
25
-48
-5
0
-6
5
0
0
0
22
4
-6
0
0
1
-4
10
2
0
-42
45
-64
10
0
7
3
43
13
0
-15
-15
1
14
0
20
5
-5
-4
0
1
3
-4
7
0
0
0
0
0
0
-8
1
9
0
0
9
-6
0
0
0
9
1
-8
0
0
16
-39
-6
6
0
-3
8
27
-14
0
-63
-15
-25
-10
0
-38
33
-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
2
0
0
0
0
0
-1
-1
0
0
0
-6
18
0
0
49
-13
-17
0
0
19
36
-9
0
0
-3
3
11
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
-6
0
0
0
0
2
1
2
0
0
3
-13
55
0
0
5
16
-1
0
0
-9
32
-8
0
0
23
-44
-43
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
7
-9
0
0
0
0
-15
-16
0
0
3
-12
-4
0
0
-5
-38
-26
0
0
-15
8
43
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
3
3
0
0
0
1
16
-20
0
0
-1
-14
-24
0
0
29
-4
13
0
0
-56
11
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-19
1
0
0
0
-29
0
22
0
0
17
35
3
0
0
-16
-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
-2
-2
2
0
-33
-13
47
-6
1
5
4
29
5
11
-27
-13
-20
-4
2
1
5
-18
-27
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-2
0
0
0
12
-2
0
10
-14
6
-17
16
34
19
-9
18
-32
-20
-42
-37
-6
12
-121
3
-7
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
14
-40
39
-11
-1
7
19
56
-30
-18
-64
-27
-13
54
39
-15
-32
-35
-50
10
-61
22
-50
2
-69
0
0
0
0
0
0
0
0
0
0
-6
-3
0
-2
0
-2
1
-7
1
0
-5
-32
44
12
-3
7
15
24
15
-20
15
12
-14
-11
13
-64
11
-17
-25
32
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-7
18
0
-1
0
-39
3
1
-2
2
6
-47
-26
30
1
23
-23
-35
2
11
-20
38
22
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-2
-1
10
10
5
-91
3
-9
14
-19
3
12
-14
-29
-2
37
0
-95
-54
23
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
-11
0
0
0
0
0
-2
0
0
-7
3
-2
9
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
-7
-1
-3
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
2
4
21
0
-4
-8
26
14
20
-24
2
-19
20
7
9
1
18
-17
-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
3
-3
-1
0
0
-20
-58
-6
-15
30
-3
-5
38
-28
-41
14
-10
-6
3
-17
-69
-4
-54
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
-2
-1
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
3
0
0
0
-11
31
-14
0
-3
-23
-27
3
0
2
18
0
1
0
13
19
-27
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-1
0
-11
-43
6
-5
0
-5
45
5
-55
0
39
-71
-33
49
0
-27
4
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
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
-2
0
0
0
-8
-4
8
0
-8
-2
12
-3
0
20
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
-3
0
0
0
0
-22
7
-18
0
0
-4
-12
-8
0
0
-5
-12
0
0
0
-7
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
-1
0
0
-3
-25
-12
0
0
-11
-21
0
0
0
-37
-3
36
0
0
44
31
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
-1
-31
16
0
0
-1
0
46
0
0
0
-3
-39
0
0
7
34
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
2
0
0
0
-27
12
16
0
0
13
-34
5
0
0
23
-1
-17
0
0
17
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
2
-26
6
0
0
1
18
0
0
0
-13
-33
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
6
-1
-3
-1
0
38
-4
-11
-5
3
-21
-11
42
-2
-10
26
31
-9
-2
21
1
-6
11
8
21
-22
-28
13
18
59
0
0
0
0
0
0
0
0
0
0
-4
19
2
0
-1
-17
5
0
5
-1
47
2
33
3
-49
-31
5
-17
-46
29
8
13
24
-5
13
-6
-13
-22
-15
4
-70
12
-1
45
11
7
-1
0
0
0
3
4
1
1
0
-10
-7
-3
-3
0
-17
-37
13
-1
-1
21
8
2
-2
17
38
41
-28
-28
4
-16
3
13
9
-69
-24
-30
-2
-11
20
-31
-11
32
56
54
-13
3
0
0
0
-2
0
2
0
0
-21
14
2
-5
0
-20
29
12
-30
-7
14
20
-14
5
-17
2
-11
-7
-32
19
21
-24
20
28
13
-51
-45
-5
40
6
0
0
0
0
0
-1
-2
0
0
0
26
-12
-6
10
0
-45
8
19
4
0
21
-5
-56
-11
2
-59
22
34
-36
-49
21
-21
1
29
-1
3
-23
9
-38
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
-14
1
34
-4
0
33
-18
-6
-5
-2
32
-28
-13
-26
4
16
-8
23
-13
-44
0
-4
8
12
8
-4
-20
-19
26
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
-7
14
-5
-1
0
-65
-57
-7
-38
3
-21
-56
-5
-7
14
-29
-63
-26
37
-31
29
-46
-56
-28
-30
0
0
0
0
0
-7
0
0
0
0
0
2
0
0
0
-1
1
-1
0
0
-40
46
-11
19
0
-14
-52
-52
-5
24
1
-53
0
20
16
21
-52
-20
-75
-21
-11
6
-39
-22
-123
1
0
0
0
0
-3
0
0
0
0
-3
0
0
0
0
-7
6
-14
4
0
-30
-14
-12
8
0
-39
-26
5
2
16
-9
-50
-25
-31
-28
16
-35
-14
-43
-14
0
0
0
0
0
-1
-2
0
1
0
-1
-30
5
-1
0
-20
14
4
-2
1
-35
17
4
-42
3
-2
6
57
6
77
-3
27
1
27
-35
13
-1
-16
-20
6
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
35
4
-3
1
-2
-38
-87
38
12
-1
-39
5
-56
-22
30
-32
22
12
4
14
2
-8
-9
19
-3
-31
20
-20
-28
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
1
0
0
-1
-1
-31
-12
0
-73
15
-30
-1
-10
39
-22
-40
0
52
-6
-40
4
-9
-85
-2
-33
-21
-29
-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
1
1
-3
0
0
-1
7
4
0
0
-1
0
1
0
1
-6
22
-15
2
3
-28
-12
27
27
-57
-39
-37
-5
-41
15
46
-34
12
-81
-12
0
0
0
0
0
0
1
-2
0
0
8
-9
3
0
-1
-17
21
-4
-5
8
-36
-26
7
31
18
28
3
-9
2
-34
-40
-19
-14
-11
8
7
-9
7
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
13
0
4
0
-3
11
-26
13
0
26
15
-37
-35
0
-21
-1
-10
-17
0
-13
14
-12
-9
0
-1
-12
7
22
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
3
4
-11
65
0
14
1
14
20
0
-8
-45
-31
-57
0
-2
-32
-10
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
10
-16
2
0
-51
21
37
3
0
-40
-5
-26
-1
0
4
-13
-42
-50
0
0
-30
-20
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
0
-2
0
-2
2
37
0
0
-36
-20
-35
-12
0
-1
0
32
4
0
42
-34
-91
21
0
0
0
0
0
0
-4
0
0
0
0
-4
0
-1
-2
0
0
-32
20
0
0
27
1
12
7
0
-2
24
-41
-3
0
-2
-4
-36
-19
0
12
2
49
36
0
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
-9
3
-7
0
0
-49
15
-20
0
0
-1
-2
23
0
0
49
-15
4
0
0
-19
16
35
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-10
-5
1
0
0
12
-3
4
0
0
12
-6
-9
0
0
-23
0
12
0
0
-7
-25
11
0
0
49
25
15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
25
-9
-19
0
0
-48
13
21
0
0
-20
-6
-62
0
0
3
14
44
0
0
0
-19
10
0
0
4
-11
66
0
0
0
0
0
0
0
0
2
0
0
0
-4
-8
3
0
0
41
7
0
0
0
35
-22
25
0
0
-11
-25
-25
0
0
-5
11
10
0
0
7
-3
-34
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
13
-10
0
0
0
21
-12
-20
0
0
12
33
20
0
0
-62
-32
-15
0
0
5
3
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-12
-10
-22
2
3
-32
27
21
2
6
-34
27
-76
-5
-21
38
5
27
-16
12
10
-1
10
13
-22
8
-29
-15
-20
40
0
0
0
0
0
15
-4
-1
0
0
-8
-20
-6
0
0
24
11
16
4
0
93
-16
46
3
-24
-19
21
9
-45
-57
-16
23
-2
-16
28
-5
-5
13
25
20
6
-7
18
52
10
16
-9
0
0
0
20
-2
-1
-1
0
-16
21
-11
-6
0
-22
30
62
3
-4
22
25
-2
12
1
-29
2
-8
-63
6
32
-7
-13
29
9
0
6
29
-25
-7
3
-7
31
117
59
0
0
1
0
0
29
13
2
-3
-1
-19
4
-5
-1
0
-58
-25
16
46
14
43
29
0
-5
-41
6
-9
-2
1
-13
14
-5
21
-9
19
9
-5
20
19
47
0
0
0
0
0
-3
10
-1
0
0
11
5
0
-2
0
-2
19
-7
-3
0
-4
7
-21
16
5
-8
37
-1
16
23
10
-3
23
12
-11
14
-48
18
13
21
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
17
-15
-13
12
12
-14
-11
-7
-35
62
-27
-67
-46
30
-43
0
26
10
-10
-4
-20
8
14
6
3
16
-23
7
10
5
0
0
0
0
0
30
-3
-1
1
0
-18
52
-35
-37
1
-46
-40
-28
24
-8
-8
30
4
2
32
8
-18
13
-6
20
15
-1
1
25
31
5
-45
9
9
-27
-15
-5
-41
-19
-15
-14
18
3
0
0
88
-5
15
-3
0
-8
19
5
-7
1
-5
28
4
-40
1
4
5
38
-25
-2
-2
0
-14
13
0
14
-10
-8
7
19
-2
-26
-48
-4
-16
-14
-27
16
-5
11
-10
6
-2
0
0
0
1
15
-16
-1
27
-22
8
4
0
-2
-13
-7
-1
15
-4
0
42
23
28
-13
11
-23
15
-8
-15
-9
-17
8
-6
22
-21
-25
-1
-33
0
0
0
0
0
15
-1
0
-1
0
-8
-17
-7
7
0
-9
-20
-9
16
-1
-49
17
23
-13
4
6
16
36
-13
-18
-16
-21
-6
6
6
21
1
-9
-3
-12
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
-20
-15
27
47
0
48
-21
11
17
23
33
-16
-34
-24
14
22
-8
-5
-26
16
-52
14
8
10
1
24
7
-14
-16
9
0
0
0
0
0
5
-6
0
0
0
25
25
-9
5
-3
-22
-4
23
-39
5
-41
-32
-22
57
25
-22
9
-2
48
22
6
-2
18
22
57
-6
-12
-4
25
17
17
-15
3
-22
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-40
-2
3
0
-40
29
12
-29
1
-26
30
-59
11
1
51
-50
-9
36
-3
-11
24
-9
24
20
8
0
21
-13
-39
5
-40
-3
-13
40
7
1
-7
-48
-10
0
0
0
0
0
3
13
1
6
0
-2
28
-1
-7
-1
-10
4
23
-12
2
-43
6
-20
39
30
10
-40
19
42
31
8
6
11
-25
-12
-32
-27
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
2
0
0
0
22
-9
-13
-6
0
-8
-3
-26
-5
0
-28
7
17
26
0
0
38
-13
-7
0
-5
4
4
-11
0
53
-15
22
43
0
0
0
0
0
0
-8
6
-1
-1
0
-13
1
-6
0
0
65
66
21
-32
0
46
-21
-20
-33
0
-18
-21
-4
-34
0
-18
8
17
5
0
-70
-17
-36
-5
0
31
0
9
1
0
1
0
0
0
0
0
-16
-11
-4
0
14
-45
-45
3
0
-28
-5
20
-40
0
41
-25
-5
0
0
2
6
-6
-54
0
-26
11
-27
-14
0
48
6
7
-5
0
-14
2
28
22
0
-4
0
-1
0
0
4
-5
2
-1
0
3
15
-44
3
0
14
-43
25
-6
0
-10
2
-19
0
0
-1
0
43
35
0
44
1
20
7
0
-1
-5
-2
-22
0
0
0
0
0
0
2
2
1
0
0
1
4
-2
0
0
-18
16
-25
1
0
-40
13
33
6
0
4
2
1
-7
0
-3
-47
17
11
0
1
-3
-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
-1
0
0
-7
15
-16
0
0
34
10
20
0
0
15
10
-9
0
0
-8
3
-7
0
0
6
4
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
-1
5
6
0
0
17
15
14
0
0
5
17
1
0
0
-17
5
20
0
0
15
27
53
0
0
0
0
0
0
0
-3
0
0
0
0
-3
5
0
0
0
-16
-6
-7
0
0
18
15
-24
0
0
15
-21
14
0
0
-8
23
12
0
0
71
-9
53
0
0
-50
6
4
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
-1
0
0
28
-12
0
0
0
0
-18
11
0
0
0
1
-25
0
0
7
9
40
0
0
-37
-29
30
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-18
4
0
0
0
40
-25
0
0
0
-2
4
12
0
0
-49
23
-7
0
0
7
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
-2
0
2
0
0
36
-3
-5
1
0
-34
-14
6
-23
0
-5
32
48
21
8
17
-25
2
28
18
25
6
-21
16
21
0
0
0
0
0
4
0
0
0
0
10
-7
0
0
0
-29
8
10
0
1
-19
-1
0
0
0
-6
-14
9
-50
-10
17
-23
-1
25
23
1
12
37
-1
2
50
31
-14
6
-31
0
0
0
0
0
-4
0
0
0
0
-4
3
0
0
0
-7
6
0
-1
0
-3
-25
13
-8
0
-28
-10
-27
-19
0
-11
61
-33
12
9
21
12
5
-12
47
31
-85
33
66
-20
1
-11
0
0
0
9
3
3
0
0
0
-1
0
0
0
0
12
-18
-2
0
-52
12
7
4
-1
-3
-3
10
-56
2
13
12
-21
17
1
-8
24
13
27
-25
0
0
0
0
0
3
-10
0
0
0
0
0
0
0
0
1
2
1
0
0
-24
-7
16
-1
0
28
5
-15
-16
3
-31
24
-8
37
-1
4
20
35
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
9
1
-2
0
38
16
17
-15
1
17
-14
1
10
-2
-11
43
16
10
38
7
9
-5
-30
73
18
-2
15
45
-43
0
0
0
0
0
-18
2
0
0
0
-34
-11
1
-5
0
5
0
26
26
-16
66
12
-4
13
-31
0
45
-1
-15
66
21
16
9
16
42
-1
-6
11
11
-3
18
7
5
16
12
-2
-3
0
0
0
-25
-2
4
0
0
6
-8
2
37
0
-23
1
24
5
-1
-12
4
-6
-5
-3
-3
-6
13
-31
6
7
-9
8
5
24
69
6
2
1
-19
13
29
3
27
49
-19
6
12
0
0
28
19
-22
-1
1
-15
-32
31
-15
0
-28
-20
34
24
-41
9
28
-6
-11
41
-6
18
4
-1
-42
56
1
-12
-6
-2
-10
-2
-14
18
14
0
0
0
0
0
-3
3
0
0
0
-1
-1
4
0
0
6
-6
0
-1
0
0
41
15
-15
-1
-14
-52
-31
54
0
35
1
-52
-25
14
-16
1
19
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
8
-1
-4
0
20
15
-25
13
-4
-25
12
-46
57
2
-8
14
18
27
29
-15
8
21
-10
-1
18
31
10
0
7
0
0
0
0
0
-8
3
0
0
0
4
18
2
-19
1
52
-30
24
-21
-18
-7
52
10
-3
-3
28
-19
-19
14
-12
-15
24
21
16
60
-9
19
27
5
3
22
-9
-8
13
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
0
-4
0
12
0
5
0
3
12
-28
8
-27
0
-39
-26
13
-19
9
-3
-6
9
-9
19
-13
-15
-14
4
-18
-14
8
-6
6
7
-43
-22
5
25
-1
0
0
0
0
0
0
-2
6
0
0
0
-6
-2
0
0
-2
0
-4
-3
0
0
3
1
-2
0
35
18
5
-46
-3
4
-7
46
-29
-5
7
29
-45
58
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-10
3
-7
1
0
-16
-42
37
-77
0
41
-9
-39
-1
0
-30
-9
3
31
0
-1
36
29
56
0
0
0
0
0
0
-1
0
0
0
0
-1
3
0
-1
0
40
-10
-24
-19
0
-50
-6
42
-49
0
-9
-7
0
-6
0
-45
23
27
35
0
4
35
17
-1
0
61
-17
-10
20
0
1
0
0
0
0
-1
2
-2
19
0
-28
21
-2
0
0
-29
-18
-12
20
0
-11
43
-6
38
0
-19
-16
19
-40
0
20
20
29
-31
0
0
23
18
5
0
-12
-19
1
34
0
0
0
0
0
0
-2
-2
0
0
0
-13
8
37
-3
0
20
-33
34
2
0
49
18
-72
-22
0
-13
-31
-39
10
0
15
37
7
52
0
-21
-48
-7
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-19
-1
-1
0
0
-15
12
46
0
0
49
-15
-11
-19
0
-2
37
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
10
2
-8
0
0
35
18
-27
0
0
-11
3
-20
0
0
4
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
-1
0
0
24
52
13
0
0
14
8
30
0
0
22
-34
4
0
0
-62
59
-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
0
0
0
15
-9
6
0
0
-3
33
-6
0
0
0
-43
9
0
0
0
35
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
-6
11
0
0
0
-2
-5
-50
0
0
-8
17
33
0
0
3
-57
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
16
1
-24
0
0
0
-2
-1
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
16
-40
18
-1
0
12
17
5
-19
-6
46
49
-44
3
34
0
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
-17
20
11
0
5
51
-46
18
2
16
7
19
24
-53
68
-50
-17
-19
10
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
2
0
0
47
2
-37
3
-13
40
15
45
13
0
26
-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
7
3
0
0
-6
15
0
0
5
2
-9
6
-5
0
35
-10
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
2
2
0
0
8
27
21
-4
-1
5
0
-19
-15
6
66
16
27
21
22
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
31
-3
-30
0
0
7
-3
18
-6
-2
-72
26
11
20
-60
8
46
2
13
22
59
17
29
14
-3
6
37
34
31
42
0
-1
0
0
0
-22
-1
0
0
0
-9
6
0
0
0
-2
4
6
4
-9
-10
-56
-9
-7
-8
15
-20
8
35
-21
-30
11
26
17
34
21
22
29
6
-13
-35
28
-27
21
47
12
-21
0
0
0
-8
0
-1
0
0
6
2
-3
0
0
8
4
-47
-6
0
-12
-35
29
-4
2
-54
32
25
9
12
-26
30
26
8
17
-38
34
-49
30
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
7
1
-6
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-2
-3
1
0
6
0
22
-20
0
-3
-12
6
20
-22
30
11
14
11
19
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
6
1
-18
1
0
0
4
20
-28
0
28
-17
-22
-38
3
7
-2
-14
63
42
5
1
23
3
-1
36
-51
84
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
3
0
0
0
3
0
1
0
0
0
-4
0
0
0
0
-6
-10
0
0
8
4
5
13
-3
-73
-5
-3
-29
27
7
9
18
25
-10
0
15
22
-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
1
0
-3
0
0
0
0
0
16
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-5
-3
-7
8
0
10
-4
-24
10
0
-13
-9
10
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
1
0
0
-7
-4
0
0
-25
-3
21
-38
0
-50
11
15
-17
0
27
58
24
-32
0
-11
-30
6
103
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
1
0
0
0
-6
49
30
16
0
-14
-6
-70
-5
0
4
-43
13
26
0
37
19
-43
-13
0
0
-20
34
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
4
1
0
7
-20
5
2
0
-14
-14
-25
-20
0
2
1
56
-15
0
0
0
-32
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
1
33
0
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
-1
-6
0
0
0
18
30
-22
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
16
1
10
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
10
-10
-5
-24
-29
5
3
3
-34
8
49
3
-13
32
0
-35
4
13
-9
4
19
22
41
-21
-4
-1
4
10
-35
-16
-8
-4
26
0
0
0
0
0
3
-1
16
-10
0
-7
-6
-31
24
-3
-38
-21
-1
43
40
5
0
16
5
16
-35
16
-14
27
-7
18
4
-3
41
7
-92
-35
-1
-7
-16
-31
-4
-21
4
-3
-9
-10
6
-1
0
15
24
0
-8
1
-2
-8
-14
24
4
7
4
24
55
-16
-24
20
8
8
1
-30
40
0
9
-1
40
-11
15
11
-4
-42
-35
-16
-39
6
-17
12
-11
21
8
-5
5
8
1
-1
-7
1
2
3
1
-6
8
-52
-4
19
4
17
-11
33
-15
25
-21
16
-9
-23
21
3
-2
19
27
-10
53
16
4
30
-50
-24
33
-10
-10
0
0
0
0
0
-17
-12
4
2
1
20
-1
22
-9
0
-38
65
-5
19
1
1
-29
22
-3
15
19
20
7
23
-3
-9
-20
-8
-39
20
-8
-3
-7
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-3
39
42
-17
-58
-6
-1
9
2
-36
11
25
-30
-9
16
13
6
-25
57
50
7
34
11
33
-30
-9
-26
3
16
-70
-38
-36
-22
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
22
4
-7
-1
-9
-19
-1
38
17
-1
-14
-30
27
33
-13
-16
-60
-15
32
24
-45
4
-11
-22
29
-19
-18
-14
-8
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
14
-42
0
-16
-66
31
-33
11
9
-18
-3
-20
-12
10
5
-21
18
45
-26
-1
4
6
9
5
-31
-27
14
1
8
-38
-52
-46
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-1
4
9
-1
-13
-3
-6
2
20
23
1
-37
8
-15
44
-16
18
-12
3
-57
-3
-40
-30
32
1
-24
-13
-13
-13
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-29
-38
0
0
-2
-36
-2
29
0
12
36
-29
-34
0
-21
37
0
51
0
24
17
11
20
0
-39
38
4
-31
0
-11
-28
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
31
0
0
0
0
27
-21
15
2
0
21
-42
0
15
0
5
20
-41
-36
0
15
14
-10
4
0
-40
-25
5
-7
0
-19
33
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
19
1
0
0
-22
13
21
0
0
-31
-59
14
0
0
28
-5
9
0
0
14
18
-7
0
0
9
8
17
0
0
5
13
-37
0
0
0
0
0
0
0
14
5
-6
0
0
24
4
12
0
0
-30
28
-14
0
0
24
-18
23
0
0
42
16
-1
0
0
29
8
19
0
0
-16
10
4
0
0
-16
-12
-23
0
0
15
3
0
0
0
-14
3
-3
0
0
21
-23
-1
0
0
17
-7
-18
0
0
-33
16
-2
0
0
-49
-20
20
0
0
17
-14
20
0
0
14
17
17
0
0
-8
2
-43
0
0
7
-2
-2
0
0
6
-17
3
0
0
35
6
12
0
0
29
-50
4
0
0
-1
8
23
0
0
-58
-36
32
0
0
-1
26
8
0
0
3
16
-11
0
0
0
0
0
0
0
-4
5
-3
0
0
-27
-3
7
0
0
18
-8
0
0
0
6
21
7
0
0
-25
-34
-28
0
0
32
-27
23
0
0
-6
-4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
28
-9
-11
1
44
7
5
11
0
2
-22
-31
34
8
31
0
-24
4
13
-6
13
30
7
-21
-35
10
-1
3
-2
-30
10
13
2
21
0
0
0
0
0
8
-1
3
-2
0
-11
1
0
0
1
3
-3
0
-64
14
-5
23
28
-1
-25
-13
4
-49
3
13
-1
7
36
-25
58
-16
-12
-27
27
-35
46
0
3
54
-17
-4
3
-2
0
0
-17
1
5
2
0
39
-1
19
-8
-3
9
-47
44
-27
3
-4
19
-13
2
-4
1
8
-19
21
-19
-1
9
15
-7
33
26
5
2
-39
-20
-44
-2
44
48
-6
-7
-1
0
0
0
-11
-17
0
0
0
-12
15
-17
-4
0
7
25
-4
-19
-1
-39
32
-49
2
13
3
-45
19
42
-30
60
19
0
-44
-3
-44
-5
-29
34
11
0
0
0
0
0
2
7
0
0
0
-9
2
2
1
0
8
-31
11
-6
0
-11
7
15
1
0
-23
8
-9
-26
-6
45
-6
-59
18
-2
21
-13
23
2
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
8
-8
-1
2
-5
-53
-1
-30
-17
14
33
37
-13
-56
-14
27
4
3
39
11
34
25
1
3
-46
-38
-11
-33
49
-4
4
-34
24
-21
0
0
0
0
0
-8
3
1
0
0
3
-10
0
0
1
-18
52
26
-10
-21
-2
1
-9
-25
37
6
-24
-9
-7
-32
18
-15
-11
15
26
-36
-91
-21
-6
41
-45
27
17
4
-31
-1
-1
0
0
0
0
4
6
0
0
-19
9
-23
23
0
-11
-29
-10
59
13
-10
20
32
-28
-1
36
-43
24
-15
11
-29
22
-21
13
-26
34
34
-18
-15
-23
15
22
34
-44
-39
0
0
2
0
0
-1
0
2
-3
0
0
2
-28
-4
-1
-3
16
21
13
6
-34
31
41
-24
-8
36
-20
-11
3
-18
20
-26
-1
61
16
-1
-53
-12
-48
-27
0
0
0
0
0
-10
8
-1
0
0
-14
37
7
4
1
-10
10
-5
0
0
1
-49
0
-1
1
-26
-14
12
7
-10
-11
11
0
-30
-9
69
-52
-15
-6
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-1
-13
17
-3
25
-20
-15
-13
-2
8
-10
-5
-39
4
-37
21
-13
11
0
-5
26
6
3
-1
7
-44
20
13
17
-27
32
11
-25
22
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
-8
6
21
2
-6
-3
-2
15
-28
9
20
7
-22
12
22
25
23
-15
29
-5
-11
-75
46
13
19
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
29
-11
0
14
0
11
10
13
-34
-13
-40
-1
37
12
3
12
18
-12
-13
8
-12
38
-9
-2
-6
-22
40
-35
28
33
-22
-9
12
-28
-2
0
0
0
0
0
9
-2
-3
0
0
-39
0
11
-1
0
-4
1
-1
-2
0
-5
9
23
-2
1
-2
-17
30
-1
8
-3
-60
-27
17
4
36
-10
-39
27
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-7
14
2
0
37
7
48
-8
0
41
-11
-36
23
0
-27
-20
18
10
0
1
31
-2
38
0
3
-53
-4
7
0
-28
1
-2
10
0
0
0
0
0
0
37
-2
5
0
0
-7
-28
1
0
0
-31
28
-11
-11
0
8
35
8
10
0
9
33
3
20
0
0
4
-21
-13
0
-20
-8
19
35
0
-9
-20
81
-1
0
-12
1
-3
0
0
-3
0
0
0
0
-8
-10
16
0
0
-4
23
10
-14
0
26
6
-9
4
0
-48
-28
40
10
0
36
79
26
-19
0
59
-43
-28
2
0
-43
-3
-52
2
0
0
-2
0
0
0
-17
3
1
0
0
32
-1
-5
0
0
-33
-11
4
6
0
23
-24
-37
1
0
-16
18
37
4
0
6
39
-1
7
0
8
-16
-29
10
0
0
0
0
0
0
0
0
1
0
0
-28
11
0
0
0
35
-9
13
0
0
-13
5
6
-2
0
27
-3
-6
0
0
-12
-6
5
19
0
-23
19
2
-7
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
-31
-15
-7
0
0
15
-53
19
0
0
2
34
-19
0
0
11
12
0
0
0
2
-10
23
0
0
-17
17
-29
0
0
0
0
0
0
0
7
6
1
0
0
-12
12
0
0
0
17
25
0
0
0
4
9
-3
0
0
41
-18
-13
0
0
7
22
15
0
0
-5
11
7
0
0
-22
-29
-19
0
0
-1
-4
0
0
0
1
0
0
0
0
-18
-6
0
0
0
-21
-5
23
0
0
43
-6
-16
0
0
-53
-49
49
0
0
21
-9
27
0
0
35
-44
-10
0
0
36
67
-48
0
0
0
0
0
0
0
2
-1
0
0
0
4
-1
0
0
0
-25
-3
-7
0
0
16
-30
21
0
0
-43
31
-17
0
0
38
50
35
0
0
1
-27
-19
0
0
0
0
0
0
0
3
-1
0
0
0
1
-1
0
0
0
6
-9
2
0
0
3
3
-3
0
0
3
11
12
0
0
-19
-6
-47
0
0
13
-19
-2
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
-14
2
1
0
0
29
-33
24
-4
0
-24
39
18
-14
-17
58
15
32
2
-8
0
25
-19
-39
17
-29
-3
28
45
28
0
0
0
0
0
0
0
0
0
0
-1
4
0
-4
0
-28
25
8
1
0
8
1
3
-4
-3
3
-6
54
13
10
6
5
18
22
24
-21
-14
36
19
10
86
3
-23
-2
-2
1
6
0
0
0
4
0
0
0
0
-7
-14
0
0
0
-2
-9
23
2
0
6
16
6
2
2
6
30
-34
-29
-2
-81
-34
47
21
26
21
-10
-12
14
6
77
32
-66
-1
7
0
4
0
0
0
4
-7
0
0
0
1
0
0
0
0
26
21
1
-1
0
-3
0
0
1
0
-37
4
10
4
-1
-13
1
-3
-33
-1
42
-18
18
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
1
-1
0
0
0
0
4
0
0
0
8
1
0
0
0
0
-47
2
1
0
-7
3
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
-1
-5
-12
38
3
-26
42
9
-7
-13
-2
-11
81
37
31
-23
14
-13
-1
24
58
6
71
-16
-26
17
0
0
0
0
0
41
4
1
2
1
-28
-15
7
-8
0
32
-7
2
22
0
16
53
-52
18
-32
36
17
-67
5
11
9
22
24
-31
-22
0
-14
40
35
56
-55
9
75
35
11
6
-11
0
0
0
4
0
4
0
0
-9
-10
-15
-10
0
-1
-14
37
-40
5
3
13
21
-45
44
-63
-21
-27
21
15
29
32
11
27
36
4
24
45
2
-66
1
18
-54
51
-17
1
3
2
0
0
-14
5
25
-2
0
-5
-21
-6
30
0
-7
35
-28
-9
-6
19
-1
-57
12
0
-21
0
-18
11
-5
20
-12
55
-13
38
26
-106
27
-13
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
11
0
-3
0
0
0
8
-4
0
0
0
6
6
3
0
0
-18
2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-8
-14
30
1
0
36
-37
5
-4
2
9
14
28
-6
-55
29
40
-20
39
16
-33
16
-38
-14
40
-58
-13
35
23
31
0
0
0
0
0
0
1
-2
0
0
2
0
0
0
0
-17
0
11
0
0
-8
-22
39
4
0
46
-44
40
-36
-25
-6
-12
-29
48
16
-19
56
13
-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
4
0
0
0
7
3
0
-5
0
-5
-3
0
13
3
2
9
16
8
1
-5
24
5
-12
0
-16
-20
22
-5
-12
38
-6
8
49
-5
4
-37
13
-27
1
0
0
0
0
0
-4
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-19
0
2
-2
0
0
7
10
-8
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
-3
-7
0
0
0
-7
17
3
0
0
6
-36
19
24
0
-3
30
-6
-14
0
-4
-6
32
-13
0
24
-4
8
7
0
0
0
0
0
0
-16
3
0
0
0
15
7
12
0
0
-20
-9
-20
7
0
-1
50
20
-1
0
10
9
20
2
0
56
-7
36
29
0
-21
-22
-37
-22
0
4
0
46
-3
0
10
0
0
0
0
2
9
0
0
0
15
0
-4
0
0
-7
35
19
-9
0
-12
-11
15
-1
0
24
13
0
-1
0
9
9
-2
9
0
-19
-3
-12
67
0
-6
-10
33
-12
0
-2
0
0
0
0
-17
2
-1
0
0
16
-12
1
0
0
-8
3
-7
-4
0
-7
8
25
-15
0
-6
24
-6
-18
0
41
-29
-14
19
0
-3
-9
17
20
0
0
0
0
0
0
1
0
0
0
0
-3
1
0
0
0
0
0
-2
0
0
1
0
0
2
0
-24
0
0
0
0
-2
-25
-4
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
7
0
0
0
-6
-7
-1
0
0
-18
62
2
0
0
3
-15
64
0
0
26
1
-46
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
8
-2
0
0
0
8
18
10
0
0
-1
-7
-41
0
0
56
8
1
0
0
4
-7
8
0
0
7
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
-4
-6
1
0
0
2
-13
0
0
0
-2
32
22
0
0
49
-42
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-1
-1
0
0
-2
-1
-2
0
0
-4
2
-1
0
0
1
6
-1
0
0
-4
-51
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
-1
0
0
0
0
17
3
-24
6
-3
3
-37
18
11
10
-15
27
-20
13
-13
5
9
10
68
-31
-3
-36
-40
-26
-52
-22
11
14
33
0
0
0
0
0
0
0
0
-1
0
1
6
17
10
0
15
-32
13
-32
11
44
-19
4
21
37
5
9
3
18
2
36
-12
21
-45
2
-54
-10
-7
-15
-29
-165
16
-9
48
25
0
0
0
0
0
0
0
-6
8
0
-3
0
-12
-8
7
-1
20
-30
-29
1
10
-20
-17
5
-1
38
-49
29
-9
-11
5
29
21
-25
-30
-74
34
6
8
21
-61
-34
-15
43
0
0
0
-3
0
0
-3
3
-10
-16
3
0
9
25
16
4
5
-28
42
-16
0
27
29
-15
-17
0
-34
-36
-33
-15
-14
-1
61
3
42
0
-51
-28
7
-25
4
0
0
0
0
0
5
4
-6
-7
0
-7
-6
7
-4
-2
6
-5
0
-3
2
14
-39
-14
0
0
21
-34
23
11
0
-45
11
17
14
21
-11
19
-14
-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
7
39
-20
-32
-4
16
32
-21
38
-24
-30
-10
10
18
2
4
-4
15
33
8
-54
-63
13
-35
-24
-41
-78
-23
-48
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
3
-2
15
-1
0
-1
-1
0
0
0
0
3
-10
0
0
8
34
-25
-5
1
44
-27
-31
1
0
-23
-16
32
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
5
8
-46
0
43
23
-20
25
-50
-33
-20
66
8
-24
3
-2
-20
37
23
-52
-35
11
-27
19
0
-58
-74
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
-1
0
0
0
0
-2
0
-1
0
-1
0
-2
1
0
0
2
12
22
11
-2
0
-3
40
1
4
9
8
-34
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
-11
-2
0
34
-41
15
-7
0
-6
23
-2
-27
0
46
35
-6
15
0
-10
8
0
8
0
2
-18
14
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
10
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
3
1
1
0
9
1
0
-2
0
0
0
-5
2
0
-1
0
21
-10
0
1
35
1
3
0
-15
-19
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
7
8
0
0
9
-13
8
0
0
-10
7
-25
0
0
-24
-9
23
0
0
25
52
25
0
0
47
16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-24
0
1
0
0
-35
-40
-24
0
0
-38
-41
-12
0
0
48
21
32
0
0
37
2
-18
0
0
-13
47
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
23
0
0
23
10
-18
0
0
-10
-1
11
0
0
6
-5
1
0
0
50
-24
-5
0
0
-40
21
-42
0
0
0
-31
8
0
0
0
0
3
0
0
10
0
-4
0
0
4
-3
-2
0
0
-17
24
-3
0
0
-2
-2
1
0
0
34
3
3
0
0
-19
-38
1
0
0
-79
21
-29
0
0
0
0
0
0
0
4
1
-2
0
0
-1
1
-3
0
0
1
1
-1
0
0
0
0
0
0
0
-4
3
3
0
0
-14
-55
-12
0
0
0
21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-18
35
31
1
-67
13
14
28
16
49
20
14
20
-26
-7
-18
13
-13
-13
-24
-13
-4
-12
31
-36
2
19
-14
6
-62
2
6
4
50
0
0
0
0
0
15
-6
-28
2
0
9
-2
46
13
4
-37
36
-19
8
-54
26
10
5
2
-24
-2
18
-37
-12
-11
2
-3
0
-3
20
-66
-39
-5
-13
4
-122
-39
3
16
31
7
-2
-1
-3
0
-16
4
-15
-17
0
-13
-27
14
-33
-52
-8
7
3
-24
14
77
32
14
25
18
16
-9
-35
5
-60
-9
-23
-13
9
25
-62
-27
-15
-26
-24
-49
-39
29
7
20
4
4
-14
0
-1
-41
-4
28
-25
-7
5
-23
-3
-7
19
25
21
1
-24
10
17
17
0
19
-43
4
-20
-4
-12
1
-45
3
-2
39
-12
-46
-53
26
22
33
0
0
0
0
0
-10
-8
5
-7
-2
-39
16
2
46
4
-47
6
10
-17
0
-14
-14
4
-3
-12
-5
-28
-10
37
58
-7
8
15
-1
-23
6
-14
4
-18
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-16
-8
0
-4
-25
20
-15
23
21
5
-28
-32
-8
-28
-11
22
38
8
19
22
1
2
18
-42
-39
3
23
-15
-169
-10
-36
-34
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-18
-50
7
-1
42
-17
16
35
0
12
89
-15
-42
9
-31
-35
26
-2
-8
-43
-54
8
9
3
0
2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
3
8
13
6
0
2
-3
-41
17
0
1
3
-7
-4
1
27
-12
-15
30
-1
-112
-34
38
-11
7
0
-2
15
0
0
0
0
0
0
0
0
1
2
0
0
0
3
0
0
0
4
2
-3
1
0
0
-5
-4
0
0
0
-31
23
14
0
9
16
-1
-15
0
-10
-48
-24
-1
0
0
0
0
0
0
-8
12
-5
-2
0
-3
-11
21
-14
1
-3
8
-18
26
6
-4
6
3
-38
25
42
22
12
-1
-55
-42
-3
-12
31
45
-9
-42
-16
2
-32
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
-59
-2
-14
-9
20
-4
24
15
-24
-71
-44
-16
3
-1
-21
15
-8
20
8
14
-9
-38
9
19
66
-48
-39
-73
-37
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-9
0
0
1
37
-26
-4
-3
-35
0
-8
-10
16
4
-15
20
11
-11
-3
-5
-1
4
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-1
0
0
0
-1
0
0
-3
-12
2
0
0
0
-15
0
0
0
0
0
0
0
-1
-10
1
2
0
11
-22
-5
15
-4
5
14
-7
0
-1
-12
-6
-23
11
-12
-14
2
-46
-6
6
-14
-22
20
-27
-40
-4
12
6
13
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
6
-1
0
-31
13
-60
-19
0
35
-22
-12
8
0
-1
-5
6
-17
0
-14
4
6
-2
0
-38
-15
7
17
0
-32
-18
-21
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-9
-17
19
0
21
-32
7
-2
0
-43
9
-6
-1
0
1
17
61
4
0
-1
17
16
6
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
0
0
8
-3
1
0
0
-1
15
-4
2
0
-4
0
0
9
0
-2
-2
1
1
0
4
47
1
-2
0
0
-3
19
-3
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
-1
1
-2
0
0
0
-1
0
0
0
3
-2
-7
0
0
-5
6
-36
0
0
2
6
1
0
0
0
0
0
0
0
-6
2
5
0
0
34
-16
-68
0
0
37
-4
23
-18
0
21
-53
-16
15
0
-45
-11
-3
2
0
-53
38
-15
-22
0
-6
32
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-48
-2
0
0
-49
-27
-16
0
0
-14
-17
-21
0
0
4
26
11
0
0
7
22
0
0
0
-22
2
29
0
0
24
16
-9
0
0
0
0
0
0
0
-17
-1
-1
0
0
-15
-42
-5
0
0
-13
-28
-6
0
0
7
-12
-5
0
0
-35
12
6
0
0
13
3
-31
0
0
3
25
32
0
0
7
0
0
0
0
-2
-1
0
0
0
-7
4
21
0
0
27
14
6
0
0
-15
-18
5
0
0
-19
-28
-27
0
0
-28
14
-7
0
0
13
-9
3
0
0
-3
-9
21
0
0
-33
9
-32
0
0
4
-2
-3
0
0
22
-14
-2
0
0
1
-9
21
0
0
-35
-19
12
0
0
-45
-1
-1
0
0
8
-8
10
0
0
-4
9
5
0
0
-3
8
-50
0
0
0
0
0
0
0
26
-1
2
0
0
-23
-21
9
0
0
15
20
-4
0
0
24
-14
20
0
0
-45
39
-6
0
0
-28
-31
-4
0
0
23
3
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
1
-6
0
4
6
38
18
-20
-47
9
-15
-5
40
36
-13
13
2
-30
19
-14
-6
13
39
-30
-1
25
-11
-5
-52
17
11
-17
15
0
0
0
0
0
8
-8
-8
-1
0
14
0
11
11
0
0
18
-60
26
-28
-2
28
-27
-12
1
0
12
-20
-9
-25
28
-17
0
-22
36
-14
-32
3
9
2
-13
24
-31
-16
29
3
1
2
0
0
5
2
2
2
0
-17
-9
6
-16
0
3
-38
-11
2
-24
-24
-10
1
41
-5
-6
4
6
-16
-41
20
0
-18
-14
-18
-35
0
-3
-22
-53
-13
4
-10
7
31
2
0
0
-1
0
52
-21
7
9
2
-8
-20
35
3
1
-27
-2
13
-24
1
0
-22
39
43
6
7
-3
3
-55
-14
12
17
-35
-24
18
-50
18
20
46
-12
0
0
0
0
0
2
-7
3
3
0
15
-6
40
-8
-3
34
-6
8
-17
0
22
15
-68
-17
-3
-6
47
0
5
-33
-57
-22
-17
-17
60
-14
-7
27
-8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
-4
0
-36
-27
-25
7
-20
-2
-8
38
-6
35
34
-20
-26
15
-41
26
5
2
-2
33
-53
-13
28
9
13
-22
-4
-15
-14
5
0
0
0
0
0
0
0
-2
0
0
1
0
-1
4
0
-22
12
9
-32
21
14
9
11
-9
5
5
-28
-13
36
-38
19
-24
14
3
-1
-65
10
-13
12
0
-61
8
-22
-32
7
3
0
0
0
0
-2
-1
-10
0
0
-2
-2
-17
20
-2
10
11
9
-32
7
-14
64
-32
44
-42
28
-59
12
-1
7
-33
1
13
5
18
-35
-22
29
-31
18
11
24
-23
-56
6
0
0
0
0
0
5
-11
9
-1
-2
-14
38
4
20
0
-45
-19
14
-7
5
85
-32
6
7
-14
11
-22
-53
14
-1
2
-1
12
5
3
-35
-47
-24
-8
0
0
0
0
0
0
1
-4
-1
0
0
0
15
-21
-2
2
17
-1
34
8
2
21
-8
-59
2
-1
47
4
0
11
-1
-22
-2
7
-9
-71
-39
-50
25
12
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-2
-3
3
0
-11
-9
-65
22
17
-54
24
3
-20
4
26
1
-8
22
-45
13
-29
9
25
-11
21
-15
-9
-4
50
-80
-4
-30
-26
-16
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
32
-11
22
2
1
38
-41
32
-34
4
13
-5
-29
4
-23
-33
34
-3
52
-12
-1
3
-31
1
-11
-5
30
-6
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
0
0
-6
15
-2
-7
0
13
12
7
-4
-4
14
20
-28
-16
1
5
15
15
4
-9
-4
-42
39
43
-38
17
-9
10
-11
40
-79
-40
9
17
12
0
0
0
0
0
6
0
-1
0
0
6
0
-4
-3
0
1
-5
0
-9
1
3
-5
-25
-28
-1
-36
61
-38
22
16
10
-24
26
3
-1
-24
-38
3
25
-27
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
16
31
-15
6
0
-4
2
14
-8
0
-1
14
-5
29
0
33
31
0
40
0
-13
-29
11
-45
0
-38
-28
-11
-24
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
22
-22
16
28
0
-1
-13
-7
42
0
14
-15
12
-20
0
-18
9
-21
11
0
-33
11
-6
-13
0
3
25
8
31
0
9
-1
0
0
0
0
4
-4
0
0
6
11
-28
-1
0
-17
-10
-15
-9
0
6
-11
-6
-18
0
-21
19
-19
1
0
-7
38
40
-5
0
-24
-28
-14
42
0
-4
3
23
-13
0
1
-1
-2
-2
0
22
3
4
2
0
-14
0
-8
-4
0
-21
12
20
-1
0
-18
-41
24
16
0
-53
1
-2
1
0
-22
20
-4
3
0
57
39
-26
-17
0
0
0
0
0
0
-5
1
0
0
0
7
3
0
0
0
-36
4
5
-6
0
1
13
5
9
0
-5
-12
-24
0
0
46
-14
-10
-13
0
37
-32
5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
2
0
0
-13
-11
-40
0
0
-13
24
19
0
0
-44
-5
33
0
0
26
-8
-22
0
0
-27
-20
-1
0
0
-28
25
14
0
0
0
0
0
0
0
-4
7
0
0
0
2
1
7
0
0
-13
-10
23
0
0
-2
-44
32
0
0
45
-4
-28
0
0
-20
7
-20
0
0
-21
15
-38
0
0
26
-11
25
0
0
0
0
0
0
0
0
-3
2
0
0
19
-15
1
0
0
2
21
14
0
0
-45
12
0
0
0
-22
-34
9
0
0
-29
4
12
0
0
14
-20
-4
0
0
-6
57
-5
0
0
-1
0
1
0
0
-22
-1
0
0
0
8
-1
1
0
0
19
-31
9
0
0
-20
-29
-4
0
0
-20
-24
19
0
0
-2
33
17
0
0
-50
22
-44
0
0
0
0
0
0
0
-1
0
0
0
0
-6
6
-3
0
0
0
0
1
0
0
5
2
0
0
0
6
-38
3
0
0
24
1
3
0
0
-12
-58
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
2
-1
2
-3
0
19
45
1
-2
-1
-6
-21
-11
-8
15
62
-5
23
61
-25
-29
-24
-20
-30
-48
-71
42
39
-21
19
0
0
0
0
0
-1
0
0
0
0
-8
0
0
0
0
6
36
-31
-3
1
-21
-1
-27
3
0
-3
7
7
-74
8
22
-8
-29
-21
-33
12
-15
32
-13
14
5
-16
-19
76
91
0
0
0
0
0
-1
3
0
0
0
-16
1
0
0
0
4
17
14
-4
0
41
-8
5
2
0
-27
-17
-18
0
0
43
-5
-35
54
12
19
4
64
1
-34
26
3
-3
0
0
0
-6
0
0
0
-10
4
0
0
0
2
-1
3
-1
0
-9
-1
-1
-2
0
1
-27
-3
4
0
-41
50
-21
8
-12
-3
2
14
-1
1
55
-54
7
0
-8
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
-1
-1
0
0
0
0
1
0
0
0
3
-1
0
-2
0
11
-64
6
0
0
-11
9
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
1
-1
-37
37
0
8
-1
8
-9
26
-11
-50
-1
-1
1
-12
21
50
-32
-3
28
13
-2
3
-21
1
46
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
27
9
11
-3
-1
-38
-28
39
30
-16
-29
9
13
26
4
7
28
-21
-33
30
-27
-23
11
16
-1
-76
33
33
31
23
0
1
0
0
0
2
0
-2
0
0
-3
-8
6
-9
0
14
-36
-48
-6
1
-3
5
-23
21
-36
-12
4
-16
-19
-16
-30
48
-24
11
-10
-34
58
41
42
40
0
-50
1
-20
11
0
0
-4
0
0
3
1
-1
0
0
-1
-11
0
-8
0
-1
10
-11
4
1
-55
8
0
14
-8
23
25
24
-50
0
-40
9
33
-7
23
43
-87
-73
31
-2
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
-7
2
-3
0
0
0
1
3
1
0
-2
0
0
-1
3
-2
-2
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
2
-2
0
-1
0
-2
-3
-20
-5
7
20
-55
22
19
-17
27
8
50
-71
15
-3
-18
12
32
15
-99
74
-59
43
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
4
0
-2
22
10
-3
-8
-15
-23
4
6
16
35
1
8
6
-17
16
-26
-38
-57
38
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
-3
-1
1
1
0
0
0
1
0
0
4
-13
8
-14
0
-1
5
4
-6
-4
-1
4
-21
7
5
7
-1
-30
29
1
0
14
12
-23
7
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-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
2
0
-3
0
11
-29
23
4
0
45
42
-30
17
0
-6
-5
90
0
0
3
9
-14
-61
0
-44
44
-28
37
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
7
-17
17
-12
0
15
-49
-9
-4
0
-16
1
-49
39
0
13
-18
-22
64
0
-30
11
45
-18
0
7
2
-18
-50
0
-1
0
0
0
0
0
-7
0
0
0
36
-1
-7
0
0
49
17
-7
-3
0
5
-24
37
4
0
-26
2
-3
36
0
21
-1
-16
14
0
-83
-30
-16
-76
0
-6
-1
12
3
0
0
0
0
0
0
0
1
0
1
0
-1
0
-1
0
0
17
-9
-15
15
0
4
-4
38
1
0
24
-65
2
-30
0
-22
45
0
-4
0
4
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
-2
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
9
1
0
0
11
19
4
0
0
-1
-23
22
0
0
76
79
-35
0
0
-19
0
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
0
0
0
0
18
5
0
0
0
-57
10
30
0
0
20
1
-3
0
0
-6
-51
-30
0
0
-19
10
13
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
-10
-6
0
0
0
9
21
12
0
0
7
-27
-3
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
1
0
0
0
0
2
-6
-2
0
0
2
4
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
-25
80
-67
3
57
-4
-51
-25
-6
-46
13
-40
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
-2
4
-4
0
-27
2
12
-4
0
-16
-26
-46
-8
-13
34
-10
15
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
-1
0
0
0
33
0
10
0
0
8
-12
29
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
-4
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
8
-42
9
-5
-4
-9
-9
12
32
-25
-12
79
-32
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
15
-22
42
-33
0
4
19
-5
-15
14
42
36
-20
-36
-19
18
-32
-26
48
14
-54
19
18
42
39
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
2
0
0
-4
0
7
-4
-6
4
-13
15
-17
1
79
-16
-12
-18
-3
-4
-4
15
-2
32
0
0
-1
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
3
0
0
0
4
0
0
0
0
-6
0
0
0
-33
6
0
0
13
20
-34
-3
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-2
-1
2
-8
30
-21
40
0
48
37
-48
-56
-76
-2
7
52
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-17
-7
0
-17
-34
2
4
-19
0
-16
63
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
4
0
-24
0
0
0
-3
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-8
0
6
-3
0
38
-1
3
4
0
4
4
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
0
21
-10
-1
-1
0
34
-13
-19
-14
0
54
-8
-8
-9
0
-37
8
37
18
0
-15
-24
41
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
0
0
0
-7
-4
3
-8
0
58
-19
7
-1
0
-23
20
10
4
0
0
-9
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
-1
0
-2
0
0
6
-7
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
53
0
0
0
0
1
0
0
0
-16
-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
2
0
0
0
13
-9
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-16
25
1
4
-37
14
12
-19
12
-22
-18
-2
-11
3
-10
38
20
13
29
61
-7
-9
9
-21
-30
-15
11
-71
49
20
0
-26
0
0
0
0
0
-24
1
-9
7
-1
-3
-3
24
-18
-2
0
-6
2
-26
12
-6
-9
-2
-3
28
0
-8
11
12
-39
-35
5
-19
44
0
8
-7
-35
-11
35
71
-2
21
2
-33
0
10
-2
-7
0
0
-3
10
3
1
-22
-6
10
-9
1
-4
15
-32
-5
10
-1
32
9
35
40
-31
-23
18
8
26
5
-12
21
-33
-5
-28
-29
6
-37
2
46
16
-5
5
-30
0
1
6
1
0
0
-1
4
1
0
18
8
-5
-2
-5
-15
-30
8
29
-4
-7
5
27
-22
10
-4
-46
12
-9
-31
26
-76
-38
7
28
-27
13
18
-14
-24
0
0
0
0
0
1
0
-1
-1
0
-7
9
11
3
-1
2
0
-8
6
-2
11
-7
17
-31
7
-4
42
4
-1
-18
-4
-53
-5
9
-6
6
-3
-6
10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-2
2
-16
19
-16
18
8
29
2
36
-6
18
-38
-19
6
-12
11
14
22
7
-6
27
32
34
-7
56
-18
-10
-34
2
-10
3
-4
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
-13
2
-2
-3
-1
-2
-2
10
-4
5
-3
0
1
-18
-2
-9
-34
15
31
-31
10
4
15
-1
29
19
-32
-4
11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
13
11
-15
-9
-15
7
-2
-7
-3
-10
-14
39
12
18
-25
4
11
-4
-17
25
-26
12
13
29
-18
27
6
-15
-20
-7
30
47
-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
3
0
0
-1
0
-9
14
5
-34
-1
2
-14
9
28
-1
8
3
6
-68
-2
-11
-35
3
-13
10
-28
28
2
-18
13
19
-5
8
4
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
10
6
0
0
9
-25
3
-8
0
-18
14
31
15
0
0
-18
11
4
0
-23
-5
21
-6
0
-28
12
-24
-12
0
18
45
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
-2
-1
0
-1
0
-5
4
11
1
0
1
-3
1
-6
0
-17
-15
9
-4
0
-15
26
-9
16
0
4
-13
-26
6
0
6
2
-8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-7
-12
0
0
-4
11
3
0
0
22
19
5
0
0
-49
-13
0
0
0
26
-13
-8
0
0
31
-21
15
0
0
-40
82
-21
0
0
0
0
0
0
0
8
13
1
0
0
-18
-10
-6
0
0
10
14
4
0
0
12
2
-13
0
0
-1
3
-4
0
0
15
-3
31
0
0
-11
18
-14
0
0
38
-16
7
0
0
-1
-3
-9
0
0
-6
23
2
0
0
-4
22
6
0
0
2
1
-12
0
0
5
-22
5
0
0
24
-17
11
0
0
9
12
-15
0
0
-13
6
4
0
0
7
21
8
0
0
-2
-7
0
0
0
-2
23
0
0
0
9
-4
2
0
0
14
20
-14
0
0
4
9
1
0
0
11
-21
16
0
0
26
0
18
0
0
-42
-6
8
0
0
0
0
0
0
0
0
-3
0
0
0
-3
10
-2
0
0
-12
12
27
0
0
-15
-7
3
0
0
39
9
-8
0
0
37
1
-9
0
0
-8
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
10
-25
-23
0
18
12
31
4
10
-3
-10
-12
38
14
-53
1
27
25
-14
10
48
-34
4
8
-21
6
16
-45
1
32
7
30
14
-17
0
0
0
0
0
24
2
-4
-17
-3
-4
-9
-7
-9
7
8
-21
-8
-7
-7
-11
6
9
1
-9
6
-25
7
3
22
-15
31
-18
18
-3
-20
16
41
6
-32
11
-9
62
1
-2
-1
2
1
3
0
11
-11
-8
-9
0
13
3
-17
-3
-3
29
-5
27
-20
-12
3
13
8
-9
-6
-20
15
23
-18
-34
15
-42
-14
9
-4
-45
26
5
23
25
-22
-14
23
4
48
2
4
-2
0
0
1
-3
-11
-1
3
0
-5
23
7
1
13
7
-27
-38
-14
32
-29
-12
20
20
-2
18
-5
-20
39
-22
0
19
23
-13
23
-20
21
35
-43
0
0
0
0
0
0
-1
0
0
-1
15
2
3
-1
1
27
15
-1
-10
-7
-2
-5
17
29
-10
-17
-26
5
-27
1
-2
1
-14
-6
-3
23
16
43
-16
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
14
14
-25
-16
4
1
12
21
-16
-3
-5
-21
8
8
-5
11
-22
-3
2
-4
14
41
16
-3
-26
-2
-26
12
4
-2
41
-3
-41
34
0
0
0
0
0
-15
1
-10
-9
0
-7
2
6
-8
17
-35
11
-3
-10
20
11
-23
1
11
-22
29
-10
45
18
16
25
24
14
2
-7
-17
20
-8
-44
8
-56
-32
-46
33
-45
0
-4
-8
-6
1
8
-10
-16
-8
1
-15
5
8
25
13
0
14
2
-21
12
-8
8
37
9
33
10
12
0
-16
-40
-33
19
2
15
-10
16
-17
-9
-28
-24
-21
-11
4
1
20
2
-7
0
0
0
2
-7
9
6
-1
-9
-1
5
2
-17
-2
4
6
-13
-4
48
13
-5
-9
4
-23
32
-8
30
29
3
26
-9
-17
-38
-5
-34
3
7
-9
0
0
0
0
0
0
0
0
1
0
-35
-12
11
3
1
3
-13
-24
5
1
-7
30
-20
11
-12
17
-5
-4
-2
-7
-23
4
7
-13
-15
4
9
43
4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
9
-8
-42
37
-13
8
19
16
6
14
0
37
10
18
-23
4
18
-23
-23
-2
9
-13
8
18
3
-9
6
-15
24
-28
-36
10
54
-27
0
0
0
0
0
-22
12
-1
-6
-20
-17
14
4
-22
19
-32
36
-15
-20
16
22
-28
-8
17
7
-36
-32
-3
14
19
-9
16
13
-9
44
-21
-12
26
43
-48
73
-2
-13
-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
-11
0
-4
-1
0
-9
-8
11
18
-2
-1
-24
-2
6
-10
-10
-23
4
-21
-10
7
-39
12
5
-8
-16
-13
-1
5
16
0
5
-4
-6
-5
12
0
-9
0
-3
0
0
0
0
0
0
-3
1
1
1
8
1
-8
21
1
-8
5
-11
0
7
-23
-51
38
4
7
10
37
-18
-1
-8
6
-31
14
15
1
13
-2
-6
-19
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-9
-19
9
0
-14
21
-9
32
0
34
-8
42
26
0
-29
-9
-54
29
0
6
-18
1
11
0
26
7
2
-48
0
-1
53
4
2
0
0
0
0
0
0
-14
5
-3
-3
0
7
24
7
-2
0
-14
-4
9
-2
0
8
19
-7
10
0
-37
1
-8
-11
0
31
-12
31
12
0
22
-21
-10
12
0
23
21
-3
-39
0
-16
2
4
-2
0
-11
20
20
3
0
-12
4
-5
-9
0
-31
-28
40
20
0
21
-16
3
-8
0
4
15
-3
32
0
-28
6
-29
16
0
22
10
5
6
0
6
-1
-26
-18
0
-9
2
-3
-1
0
-19
5
1
0
0
-9
12
21
0
0
-7
27
5
6
0
-13
38
-37
-1
0
-72
-10
21
1
0
10
-4
29
10
0
20
3
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-10
2
-8
2
0
25
0
5
-1
0
-18
-8
-11
-8
0
-19
1
26
2
0
-3
19
-13
-7
0
18
-25
10
-2
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
0
0
5
-8
-2
0
0
-8
3
5
0
0
12
2
18
0
0
-14
-32
26
0
0
-1
3
-25
0
0
-2
11
-19
0
0
0
0
0
0
0
-6
-2
2
0
0
-9
12
6
0
0
-21
-24
8
0
0
4
15
-1
0
0
2
-16
5
0
0
15
2
2
0
0
21
19
8
0
0
-14
-14
19
0
0
-1
0
3
0
0
28
7
-1
0
0
11
1
0
0
0
0
1
-1
0
0
9
11
-19
0
0
10
-41
-5
0
0
-5
29
54
0
0
-1
-5
24
0
0
12
40
-1
0
0
2
1
0
0
0
-3
-4
1
0
0
-2
-8
-2
0
0
-1
9
1
0
0
-4
-13
-2
0
0
5
2
-31
0
0
1
28
-21
0
0
11
-8
18
0
0
0
0
0
0
0
-2
-1
0
0
0
-1
-7
0
0
0
-1
15
-9
0
0
-14
29
0
0
0
-3
21
3
0
0
6
-15
12
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
-10
-8
-1
3
-1
15
-40
35
13
3
-2
29
2
-13
0
3
-22
-1
10
15
-5
47
-2
-10
21
1
-42
2
50
-45
44
68
-4
-16
12
0
0
0
0
0
4
-1
0
0
0
4
-1
-2
2
-1
-3
8
5
-1
4
-21
7
12
-3
3
-35
7
48
20
-3
1
7
3
-19
-28
-28
-13
-21
41
12
79
36
24
-16
40
-1
0
0
0
0
0
3
1
0
0
2
19
-3
0
0
10
11
16
1
-2
-3
0
-2
-15
19
3
-18
-5
36
-3
-28
-10
-15
25
1
15
3
-4
-9
-25
-1
-30
33
-8
13
-2
1
0
0
0
0
1
-1
0
0
2
2
0
4
0
-1
-4
2
2
-2
7
26
-17
-1
-6
-45
-7
0
41
-35
-29
27
26
-3
-13
31
-48
-2
-45
74
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
1
-1
2
0
-2
-2
20
-25
1
-1
-14
-37
-5
-4
-23
19
27
-14
2
-10
11
-17
-7
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
34
-4
17
-10
-4
23
-6
-25
14
-41
0
3
-28
1
48
20
7
5
38
29
-26
3
46
11
-21
16
9
35
10
6
-16
18
0
0
0
0
0
31
-8
6
7
-8
32
25
-5
0
1
3
9
-11
9
6
-16
6
-3
5
25
3
-6
-35
-3
12
7
7
17
4
6
-19
-24
26
-47
0
55
10
5
-18
-1
0
9
-7
3
-1
-9
25
-10
7
-3
9
-14
2
-18
7
-4
-16
2
12
18
35
-20
6
-27
16
-12
-8
-3
-8
-2
29
-1
5
-2
-3
-28
28
36
37
21
47
2
-12
11
-42
-1
10
6
6
0
4
6
1
-26
0
14
22
-1
20
14
19
4
-9
-2
17
20
9
-30
-39
-5
29
-11
34
-17
-15
-65
-21
3
14
18
-4
23
-9
11
7
0
0
0
0
0
-2
1
1
0
0
0
-1
0
0
0
0
6
1
4
0
-18
0
-5
1
-11
35
2
0
-23
8
-54
9
2
-22
-27
-15
16
-1
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-11
-4
3
0
6
-8
31
-2
-4
35
30
-14
3
14
-7
3
-11
12
17
-28
-13
8
6
1
-38
38
-46
-5
0
54
23
-9
-3
13
0
0
0
0
0
34
-22
10
19
4
26
3
16
-3
8
24
-22
7
34
-13
-7
14
30
-24
34
22
-2
15
23
-8
6
10
-15
10
-8
-5
18
-2
-11
-14
-43
-1
-5
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
12
-4
-2
6
-3
-6
-3
-3
-20
6
10
11
-6
1
5
0
8
10
10
-14
11
14
16
-31
28
19
-7
-15
0
23
-1
-22
0
13
-52
-16
20
16
-15
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
-1
-8
-3
0
0
-8
14
-4
-10
-2
-19
14
23
-17
-15
6
-9
-17
-22
-2
16
12
-3
29
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
13
0
0
0
6
5
6
0
31
25
1
-4
0
-3
4
18
-41
0
9
-47
13
-14
0
-21
12
-13
30
0
25
37
10
-4
0
0
0
0
0
0
-6
11
30
4
0
3
6
2
-2
0
-4
10
15
-17
0
15
-17
1
26
0
-41
3
8
-4
0
2
6
-33
32
0
9
28
-1
-4
0
9
15
8
4
0
-6
16
-2
0
0
2
-2
-4
4
0
-8
-6
5
7
0
-11
22
-11
-7
0
24
-3
15
-28
0
-7
-28
-2
-22
0
29
7
-22
9
0
-5
1
28
22
0
15
48
-6
10
0
15
10
6
-1
0
12
2
1
2
0
7
-4
-30
-1
0
-16
6
-2
10
0
-3
-29
23
12
0
2
-11
-21
17
0
6
6
23
-29
0
-65
54
-14
-37
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
8
-4
0
29
-11
2
1
0
17
-1
2
-12
0
-12
-7
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
3
0
0
3
-4
-8
0
0
-13
13
-9
0
0
9
-41
-14
0
0
7
-10
-18
0
0
-35
16
1
0
0
25
-21
13
0
0
0
0
0
0
0
0
0
0
0
0
4
40
0
0
0
-2
-10
4
0
0
-18
2
21
0
0
-16
-13
-4
0
0
47
1
-3
0
0
-8
36
41
0
0
-32
-6
31
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
-1
0
0
-8
-8
0
0
0
-24
-8
4
0
0
-28
-21
-10
0
0
26
14
6
0
0
30
39
-8
0
0
0
20
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-12
-2
2
0
0
-11
28
-3
0
0
2
-8
-13
0
0
-2
10
2
0
0
6
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
14
-4
-1
0
0
15
4
-1
0
0
14
3
-4
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
1
-6
-1
-4
0
17
-4
13
-30
-11
11
-9
-42
17
-8
-50
1
2
21
-25
6
35
-9
23
21
-11
18
-25
-10
-8
-14
-30
35
-26
-1
0
0
0
0
0
-2
0
-1
0
0
-7
-19
10
17
2
-15
0
3
4
-3
-7
13
-13
-20
16
-6
-3
6
12
7
23
10
5
14
-2
-23
45
-28
-50
-27
-32
0
16
-6
27
0
0
0
0
0
0
-7
0
-27
0
-1
-8
8
-17
1
10
-10
-43
3
-9
-13
23
-1
-2
-5
8
-36
-33
-12
24
-9
-8
19
63
-31
3
-22
-10
26
14
-16
34
2
-1
0
-3
0
-1
-1
-2
1
1
16
-10
0
0
-7
17
6
-3
-12
-21
15
-34
-12
1
-16
11
11
6
-48
-14
-17
-16
4
5
1
-11
2
-34
-4
-26
6
58
23
0
0
0
0
0
1
-1
0
0
2
3
4
1
0
2
-7
2
-21
27
0
-1
28
-23
12
18
45
-28
5
32
-16
-57
-6
5
-57
9
-6
-6
34
-13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
-39
7
-4
-19
3
0
-47
-13
9
-9
21
10
4
-23
-17
-11
27
-42
12
1
-17
-8
26
-20
-7
-16
11
16
7
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-3
-2
1
0
1
1
-3
2
0
0
0
2
0
0
0
2
-1
-2
0
0
-2
1
-2
-6
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
-1
0
0
-1
0
0
0
-3
0
0
-1
4
-1
-1
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-1
0
0
0
0
-2
3
8
-1
0
13
-14
9
-9
-2
3
-3
0
-1
1
0
0
0
0
0
2
-1
1
0
-1
1
3
-12
-4
-1
11
11
-15
-14
-1
1
0
-14
15
7
14
5
33
-22
0
7
-25
4
2
-14
-38
26
-14
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
1
-15
-2
-11
-1
-59
-47
-12
4
6
-3
9
-2
-15
-25
11
44
20
-5
26
-32
35
-29
1
4
5
-32
18
10
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-2
1
0
0
-8
3
-2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-3
0
0
-20
-4
19
-3
-2
-16
24
6
0
-18
-16
7
-3
1
-4
38
-5
-18
-23
-12
5
-36
11
35
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
-25
1
7
-4
0
-4
16
-20
9
0
-31
-28
-51
4
0
11
37
15
8
0
36
-4
19
-8
0
6
-20
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-10
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-4
0
0
-1
0
0
0
0
1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
-1
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
4
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
3
-2
0
-8
2
-4
0
0
9
0
-3
1
0
-8
7
6
-3
0
-10
-20
6
14
0
11
7
-30
1
0
-2
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
-13
-20
-3
0
0
9
-12
-23
0
0
6
18
24
0
0
-25
-14
-34
0
0
-27
-17
21
0
0
20
-59
48
0
0
0
0
0
0
0
0
-1
-1
0
0
-6
10
0
0
0
6
-11
-8
0
0
-4
10
15
0
0
6
-14
-9
0
0
6
21
3
0
0
2
-6
31
0
0
26
-35
-30
0
0
0
0
0
0
0
1
3
0
0
0
-1
-11
0
0
0
2
-1
8
0
0
-6
-8
-2
0
0
0
0
7
0
0
0
2
3
0
0
-13
-20
-10
0
0
-2
12
20
0
0
0
0
-1
0
0
1
1
-5
0
0
-6
19
-2
0
0
-8
6
21
0
0
-2
-7
10
0
0
10
40
-11
0
0
-25
2
36
0
0
2
-20
-36
0
0
0
0
0
0
0
0
0
1
0
0
6
-1
-1
0
0
1
6
-4
0
0
-9
-45
-4
0
0
9
-1
13
0
0
11
-22
5
0
0
-8
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
-13
7
-7
-44
-25
-17
-15
-36
5
10
59
-4
-7
-17
-16
-3
-23
-21
-4
-19
-1
57
-10
-21
36
-13
-15
57
36
45
-1
-46
37
0
0
0
0
0
6
7
17
-27
0
-12
13
-20
1
4
41
42
-13
9
-36
8
-5
7
-20
-8
-40
-36
-17
-13
-7
-68
28
7
19
16
11
12
8
-22
-31
14
-10
6
12
35
0
-10
-7
0
-3
3
9
-21
19
3
-4
3
-16
18
-14
-2
-55
10
-4
-5
7
18
-11
-40
-15
-6
-9
-7
-10
-16
-8
31
18
-1
34
25
11
-15
9
-15
9
9
-38
13
21
18
-11
7
-6
-1
1
14
1
-11
-12
-2
17
-7
13
-5
20
-2
-7
27
-2
-58
29
-19
9
-5
11
-18
10
13
24
3
3
41
-6
26
13
-11
-31
7
-19
0
0
0
0
0
-2
12
-1
5
-4
-12
-4
-11
11
0
13
35
6
1
7
-41
-17
25
-10
-12
-4
13
-25
-43
14
-17
-11
10
-27
-2
6
-2
5
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-30
-13
11
-1
-16
8
10
-16
2
-18
-36
21
5
1
-9
5
28
4
-50
6
4
-43
-19
32
6
40
22
-34
-17
23
59
-32
-8
23
0
0
0
0
0
0
0
0
0
0
2
-8
-23
-2
-1
-5
-35
-2
-16
-2
-9
-18
3
-8
-14
-27
-22
-19
25
-32
-4
0
21
-56
-3
5
52
10
35
-26
3
-44
-71
0
26
0
0
0
0
0
0
0
0
0
-1
3
-2
-2
7
0
7
-2
-11
22
-8
18
8
22
5
3
6
-37
-22
17
-23
-43
-9
-3
-15
-9
-38
28
-62
52
10
-14
-23
-12
-44
43
0
0
0
0
0
0
-2
0
0
0
0
-7
-8
0
0
10
-22
-10
-6
3
-9
-11
-9
-5
-2
-32
16
-2
21
-20
-29
-21
18
22
32
27
7
6
-33
29
0
0
0
0
0
-10
7
6
7
0
-10
12
4
6
-10
-11
-14
-11
17
10
4
-18
9
-12
-8
-71
18
-4
-2
16
-39
5
-4
-7
18
36
14
-6
1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-14
-14
9
0
-5
-9
8
-7
-12
-7
43
-6
-4
-5
-18
-3
15
-25
9
46
-25
-6
25
-32
17
-32
-5
-17
31
-45
30
-12
103
-37
0
0
0
0
0
0
0
0
0
0
0
1
5
3
0
-17
2
-4
-30
9
0
-29
-6
13
-8
-17
-29
12
-2
-20
4
-11
7
13
-9
-7
-10
23
-26
6
-18
24
-25
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
-1
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
7
3
-34
0
2
-12
-10
8
1
4
-5
1
-10
-4
-72
6
50
18
-3
-2
-4
-9
-22
2
0
0
0
0
0
-2
11
-1
-9
-6
17
-24
11
-15
0
-18
-18
0
-12
0
3
26
-29
-7
4
29
-25
-34
25
10
4
-34
-41
15
4
-36
30
12
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-12
11
0
11
-30
5
-2
0
11
5
-5
-5
0
9
-3
7
3
0
-12
7
-4
10
0
-19
34
10
-20
0
8
22
-17
-22
0
0
0
0
0
0
0
0
0
0
0
-2
1
-11
-2
0
10
16
-23
-3
0
-17
10
9
-8
0
-32
22
-16
30
0
-8
10
-12
-14
0
41
-15
21
-62
0
-17
-37
19
13
0
0
0
-2
0
0
-3
1
-2
-1
0
0
0
-10
-1
0
-15
2
6
12
0
-11
18
-7
-11
0
14
17
-6
-2
0
-7
28
20
2
0
30
-40
4
-5
0
0
-3
24
-30
0
0
0
1
0
0
-2
1
-2
0
0
2
0
0
-3
0
-1
25
-9
-9
0
-18
18
-3
-10
0
-51
-1
5
1
0
-1
0
28
3
0
15
-31
-31
-30
0
0
0
0
0
0
7
1
-11
-2
0
15
11
10
-10
0
-9
-15
9
0
0
-15
23
4
-17
0
-32
1
-9
-10
0
-15
-25
22
-23
0
24
22
-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
-3
6
0
0
23
15
7
0
0
-3
26
-23
0
0
-23
28
-30
0
0
-17
-19
-14
0
0
5
-17
49
0
0
-6
-30
1
0
0
0
0
0
0
0
0
-20
-1
0
0
25
-11
-2
0
0
-69
-16
6
0
0
6
-2
17
0
0
-4
-18
13
0
0
-15
23
-11
0
0
27
22
-22
0
0
4
6
3
0
0
0
0
-1
0
0
-13
-6
-4
0
0
10
16
0
0
0
40
-26
7
0
0
-8
8
1
0
0
-14
65
1
0
0
-24
5
-37
0
0
-30
-1
-20
0
0
1
5
43
0
0
6
10
1
0
0
-26
25
1
0
0
-10
-11
-16
0
0
9
-9
3
0
0
-11
-18
-20
0
0
2
10
-3
0
0
19
-8
1
0
0
-34
27
5
0
0
0
0
0
0
0
0
7
-3
0
0
28
1
-1
0
0
-12
-15
4
0
0
30
-1
-21
0
0
17
16
-18
0
0
-11
-1
13
0
0
10
18
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
56
0
-7
-33
-12
13
-6
5
15
-14
0
-9
38
-3
16
-70
-9
-12
2
1
1
41
-15
10
-8
5
-43
37
18
10
-3
-13
0
0
0
0
0
-6
-2
4
-13
1
9
15
-12
15
4
-28
-22
-10
7
19
6
-11
11
8
12
3
15
-9
-2
-7
36
-43
12
-36
0
-17
-1
11
27
-3
14
46
6
21
-1
0
-1
-1
-1
0
10
14
1
11
-2
-3
-3
-1
15
-2
6
46
-13
14
-2
-1
1
-34
5
-1
51
29
-68
-27
-21
-17
42
28
10
31
8
0
25
-38
-13
39
-5
0
14
-10
-1
-6
3
-2
0
-1
-17
-7
3
2
13
-41
-8
14
-3
-26
9
30
-35
15
-9
-23
26
0
11
-25
-22
9
-8
-25
22
72
-26
-5
-30
38
17
-44
13
-1
0
0
0
0
0
-3
-2
2
0
0
6
12
0
-3
3
-15
-3
18
0
12
-3
-34
10
-1
-5
8
3
-8
-16
46
-10
-12
-14
19
-4
9
-20
13
-10
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
-7
-14
-3
3
-48
26
-2
-16
-17
-2
-11
-8
22
4
9
2
-9
-64
-10
-17
12
-15
11
-10
-11
28
-21
38
-19
63
-1
64
4
0
0
0
0
0
-19
14
1
6
0
-26
-14
25
-15
-13
-28
-4
-9
-8
-1
-2
-4
-6
3
1
-14
-23
14
-39
-5
-11
-5
-16
-3
-2
0
14
24
5
2
-29
-1
15
0
31
1
-6
-3
0
-4
-18
-19
13
-6
-3
-32
1
-9
8
-9
-22
-7
-9
2
0
21
-15
-16
-3
-19
24
-1
-23
-6
-4
13
4
-6
-15
-13
3
4
6
-14
20
4
-35
-1
9
-40
-6
1
-22
-7
1
-23
5
3
22
10
-6
-12
47
-16
-9
-34
33
-17
26
13
3
-9
28
-15
19
16
-30
-2
3
1
-8
26
13
-17
2
-14
-16
4
6
2
0
0
0
0
0
0
-13
0
-4
0
-4
-11
-4
10
-1
25
14
16
2
4
-5
-25
-31
-10
9
26
14
-11
-32
-17
13
-34
2
29
1
-25
45
-14
-2
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
1
18
2
-6
-3
5
1
-4
43
-34
8
-25
2
-3
65
-16
-4
10
2
19
-13
1
12
-32
-14
10
15
-47
27
-26
60
-22
34
0
0
0
0
0
-2
-13
-8
-14
1
-2
-10
-16
-19
-3
10
-23
-5
-5
17
-4
-1
-10
15
-16
23
34
-18
-59
-33
31
-19
7
3
12
-12
-23
13
-28
-22
-53
-23
13
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
-3
10
-3
-8
-5
2
1
-3
6
0
-13
-1
-1
22
-2
14
-6
-37
4
-6
6
-4
24
-25
-20
-15
-7
-12
16
-21
-20
0
-6
-18
56
10
1
-18
7
-10
0
0
0
0
0
0
-9
-2
2
0
-9
4
2
-5
-1
1
5
10
-16
-1
10
11
-16
16
-20
0
2
-19
-2
7
-16
0
-48
3
-7
15
-8
36
8
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-10
-2
0
-15
4
20
-35
0
-41
-2
-4
-11
0
13
-22
11
-32
0
37
18
-7
-24
0
-24
5
5
52
0
-51
-8
8
-1
0
0
0
0
0
0
0
-14
-7
0
0
-14
-3
-25
-4
0
-4
-15
-8
52
0
-13
23
-14
-17
0
-8
17
9
-7
0
12
15
14
-6
0
18
-40
-13
7
0
1
0
-13
1
0
0
0
4
0
0
2
-3
10
-10
0
-11
-9
7
-5
0
25
17
2
-31
0
-27
-17
24
20
0
3
-6
-60
11
0
-6
8
5
-4
0
17
6
-24
-27
0
18
22
15
41
0
4
-6
-3
2
0
4
-16
5
-15
0
1
-2
7
-9
0
23
-47
-20
-18
0
-51
-18
7
17
0
11
-34
-6
-12
0
-9
11
-2
-14
0
-30
-19
8
13
0
0
0
0
0
0
1
0
0
-1
0
1
1
-7
-1
0
-5
1
-5
-13
0
29
-13
-6
-16
0
-21
-29
-16
20
0
-18
2
19
-6
0
-1
18
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
-25
-3
0
0
-9
37
-5
0
0
2
-38
16
0
0
23
-3
-5
0
0
5
24
8
0
0
7
-37
-49
0
0
-1
56
15
0
0
0
0
0
0
0
0
8
0
0
0
-7
-14
-7
0
0
3
2
4
0
0
14
15
15
0
0
2
-60
-3
0
0
11
-3
-10
0
0
5
23
-26
0
0
-9
25
13
0
0
0
0
1
0
0
0
-4
0
0
0
-8
1
-6
0
0
-15
20
-36
0
0
14
-4
1
0
0
5
9
-27
0
0
-18
-31
0
0
0
-9
1
14
0
0
-3
-16
-13
0
0
-1
-3
0
0
0
2
9
-1
0
0
9
-1
-2
0
0
6
-1
-22
0
0
-14
-6
26
0
0
-9
1
-7
0
0
-4
-24
-15
0
0
-5
-2
28
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
-1
5
-5
0
0
3
-8
-2
0
0
-7
-4
11
0
0
-9
1
-15
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
1
0
0
0
-3
9
-46
17
0
-26
-33
8
-8
1
1
18
-15
-3
-2
12
-45
-38
16
-6
0
-36
56
-8
-35
25
36
-15
-7
41
0
0
0
0
0
-2
1
0
0
0
-3
2
13
-4
0
-15
-11
21
-29
-3
-13
5
5
-3
6
35
5
-22
10
-5
27
13
-32
12
8
31
-10
36
-67
-10
24
57
-36
-5
21
0
0
0
0
0
-8
-3
0
-2
0
-2
4
-2
0
0
8
-16
-10
9
0
-16
-21
-7
10
4
-25
-61
-11
15
22
27
29
11
19
-20
60
25
0
7
-1
53
0
17
-20
-8
1
0
0
0
0
-2
0
0
-3
0
-2
0
3
-4
1
18
-21
-10
-10
1
-23
12
-5
-2
1
-3
13
-57
1
-7
30
3
-3
15
6
20
-8
50
6
-18
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
-2
1
-2
-1
0
0
1
4
-2
0
0
-15
22
4
14
-4
23
-1
3
1
-3
6
20
-10
3
17
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
-10
-13
1
-5
-8
-4
4
13
19
13
-36
33
-8
-6
30
26
-39
-12
7
-9
-6
89
-40
3
-1
35
-34
25
15
11
0
0
0
0
0
1
13
-1
-3
2
13
-13
11
-29
-4
-15
-42
15
-1
-19
46
8
5
-26
34
21
63
-39
3
-1
-8
-55
27
27
8
6
-7
-13
-25
8
-10
4
2
19
-65
-1
1
0
0
1
0
10
3
25
0
-1
21
-4
-27
-5
-1
-13
-3
-26
-16
-24
-3
-15
-26
4
-26
-40
-3
-29
-6
-7
32
4
29
17
12
13
44
-69
-16
-36
24
-46
39
-17
-3
-10
27
-4
-2
24
-13
-1
-7
-4
-2
-19
-32
-4
-8
-15
5
-10
22
-7
-2
8
-12
-12
11
-10
-1
17
-33
-3
41
-3
3
41
-8
-23
0
18
16
-23
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
3
1
-15
0
-2
0
28
0
-8
-34
2
-17
24
22
9
-6
-18
-13
-16
-17
-12
50
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
-8
0
-23
14
0
-11
26
-31
30
-13
16
-39
0
-37
-1
-5
24
5
1
14
-22
2
27
-7
17
-4
39
21
1
-51
0
0
0
0
0
0
3
-1
0
0
4
-14
1
19
9
-12
-8
27
10
-26
4
-16
15
-20
-19
-19
-5
0
2
3
-27
11
-3
3
9
7
-4
5
4
-10
-2
15
18
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
-6
3
-2
2
1
-6
-11
2
0
12
13
-14
-7
-7
-14
-5
2
7
14
-6
-5
-20
47
12
-1
-35
11
14
10
16
30
-19
1
-30
-16
-29
37
-75
27
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
-3
0
-6
10
-3
-24
2
7
-8
-47
9
-13
25
-4
0
21
-38
-1
-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
2
0
0
11
-8
35
-10
0
-3
-5
8
1
0
28
-6
-20
-4
0
7
13
-22
-14
0
-18
30
-23
-19
0
-15
10
20
-39
0
0
0
0
0
0
0
0
4
1
0
6
-17
-10
8
0
-3
25
0
-3
0
3
-32
-5
-28
0
13
9
-30
-29
0
-14
-4
-11
33
0
-17
-18
46
-18
0
6
12
39
24
0
0
0
0
0
0
18
8
-25
-6
0
6
7
8
18
0
-25
16
13
-39
0
15
-8
-8
25
0
-8
-10
32
4
0
1
-1
10
-15
0
14
15
-37
-7
0
-12
17
12
41
0
0
-3
3
2
0
-2
6
-6
-7
0
0
-7
13
7
0
16
-15
-26
-3
0
0
25
6
-14
0
4
30
31
17
0
-11
16
-41
9
0
-27
-50
22
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
6
4
0
0
0
6
-34
5
-17
0
-3
-1
-9
-9
0
0
-3
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
2
0
0
4
7
5
0
0
0
16
5
0
0
34
30
23
0
0
7
-10
2
0
0
-4
12
-25
0
0
0
0
0
0
0
0
0
0
0
0
1
16
-1
0
0
1
-3
2
0
0
-13
-13
-2
0
0
-41
11
-21
0
0
-4
-5
-7
0
0
51
-21
16
0
0
6
33
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-14
23
-8
0
0
-5
1
-30
0
0
17
1
0
0
0
15
-41
-5
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
2
0
0
7
27
-2
0
0
8
15
5
0
0
-8
-11
0
0
0
-1
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
2
1
0
0
3
-4
-10
0
0
-2
-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
-1
0
0
0
-1
4
1
0
0
-9
3
-8
0
-18
27
36
-8
10
11
42
-19
-6
0
9
-13
-18
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
3
0
13
5
19
-7
-6
2
-21
0
-7
0
47
35
-54
-11
-9
15
21
2
-22
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
-4
-3
0
4
7
10
1
11
-33
-16
-11
10
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
41
0
-8
0
-11
16
-4
-6
11
0
-3
-13
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
2
0
0
0
0
0
-1
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-1
-3
1
-4
-13
-35
0
0
20
31
-10
-29
-9
-4
13
-14
-6
6
2
17
47
23
-10
0
0
0
0
0
1
0
0
0
0
-11
-4
-3
10
-1
-1
10
36
-1
-9
24
9
-3
4
7
-9
-62
30
25
-3
26
18
-87
-19
5
-25
28
-32
-29
-39
31
-5
68
-11
28
0
-2
0
0
0
7
0
0
0
-2
-8
-4
-7
11
0
13
-15
10
-19
-9
-37
17
16
-5
5
-42
13
29
44
1
1
-10
-13
5
23
43
33
-45
-35
0
9
13
53
17
0
0
0
-1
1
0
6
-2
0
0
0
0
-2
0
1
0
13
-19
6
3
-8
-33
-26
5
26
14
10
-3
-18
4
-11
7
27
35
-3
-11
-2
69
36
-27
-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
4
0
2
0
0
0
-3
1
-2
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-1
0
-7
-11
6
-1
7
-2
1
-3
-3
4
-1
11
0
8
4
11
23
-7
33
-16
11
-1
-8
0
0
0
0
0
0
0
0
0
0
0
-2
-1
6
3
7
-20
0
6
1
-4
18
-2
7
-7
-1
-46
32
-24
-20
7
8
-38
23
-21
-1
46
9
-37
57
4
73
-14
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
1
0
0
0
0
0
0
2
0
0
-1
3
-2
-19
-18
-2
7
17
18
-3
4
-6
8
-3
33
-1
-11
-19
13
0
10
-4
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
-6
0
0
0
-2
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
2
0
1
0
0
2
0
-1
-8
33
4
0
13
52
-26
-12
0
8
-10
-46
6
0
0
0
0
0
0
0
0
-2
0
0
0
0
9
1
0
2
9
4
-23
0
6
5
7
11
0
-18
-9
-5
8
0
2
-1
-5
-6
0
-3
-8
16
3
0
-10
3
20
-41
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-10
0
0
2
0
-19
8
-27
1
0
-8
1
-6
-8
0
-5
-15
41
5
0
-16
-26
-33
21
0
0
0
-48
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
-4
15
5
10
0
13
1
5
1
0
-5
5
4
-26
0
-23
11
2
-6
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
2
0
2
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
0
0
-9
-18
0
0
0
11
0
8
0
0
0
0
0
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
-16
4
0
0
-16
1
-27
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-7
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
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
18
2
-1
-1
-16
26
5
16
-4
0
-5
-14
15
-9
4
-28
-56
32
-23
-18
21
65
-41
17
-13
-25
6
-1
-10
7
37
-18
13
-30
0
0
0
0
0
0
2
0
7
1
0
3
-6
-7
-2
24
5
0
-10
1
-13
-7
-8
15
-1
-6
8
-14
-14
6
19
-35
12
-32
-5
-24
15
-26
28
-13
19
15
-21
28
12
0
0
1
0
0
1
1
0
0
0
-11
-12
-4
3
0
-39
6
4
6
-6
-43
-6
-15
42
6
9
1
5
3
4
9
-12
17
6
8
28
78
2
-19
-9
-11
-13
-5
-32
-17
0
1
0
0
0
1
0
0
-2
-3
0
6
-2
-6
0
4
16
-2
-2
-25
0
-2
-4
11
27
-30
-10
-7
14
-15
3
-8
44
-2
22
-18
-7
-28
-25
6
0
0
0
0
0
0
0
0
0
0
-2
1
-1
0
0
-4
-19
10
-4
0
9
2
-1
-14
4
-11
-6
3
17
-3
-2
14
17
-8
-1
-27
3
7
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
4
-4
-9
3
-15
6
-24
9
10
-17
11
16
29
2
-27
-11
-1
-27
-2
-5
18
-5
49
10
15
6
-7
-39
3
45
-1
26
34
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
2
0
-4
0
2
-1
-7
12
1
18
4
11
0
14
-2
4
-19
5
21
7
-5
-13
-11
-3
-9
-7
-10
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-4
19
16
-2
40
-8
13
-6
-25
-6
-8
11
25
-4
35
-59
-15
2
-11
11
38
-26
-57
12
-3
-7
14
-7
4
-3
-5
-10
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
12
-26
-11
9
-10
-14
-22
-4
15
-19
-24
-17
-3
-27
8
2
-25
-1
-6
19
-15
-1
7
9
0
46
-15
0
-11
0
-21
-7
-13
-7
13
14
2
-16
-15
-2
10
12
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
-1
-1
0
-1
1
14
2
10
-2
-10
-12
11
-10
-11
-20
5
-11
12
16
7
-4
3
17
-5
8
-15
-2
-15
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
-4
1
0
7
-28
1
5
0
11
2
-35
-42
0
19
-19
-9
22
0
-6
15
8
4
0
-15
-30
9
-66
0
-6
21
-31
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
3
-1
0
0
-4
-1
0
1
0
24
-18
-12
-21
0
7
41
-2
-20
0
-20
-1
21
-36
0
-2
-4
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
0
0
-1
-3
0
0
0
0
1
-2
0
0
0
28
-6
0
0
8
20
9
0
0
49
-10
33
0
0
-48
-38
-12
0
0
0
0
0
0
0
11
1
0
0
0
2
-3
1
0
0
10
-1
-3
0
0
3
-1
-37
0
0
18
-14
-8
0
0
38
-14
20
0
0
-5
-4
4
0
0
-61
47
-4
0
0
2
0
0
0
0
0
0
0
0
0
1
3
0
0
0
-11
5
32
0
0
2
8
15
0
0
36
-4
-16
0
0
1
-26
-25
0
0
-19
53
-25
0
0
1
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
0
0
-12
0
-2
0
0
2
3
11
0
0
11
-1
-13
0
0
-24
2
-3
0
0
5
-13
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
7
-17
6
0
0
-17
-12
18
0
0
-23
12
-4
0
0
2
-9
21
0
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
-5
-8
-2
0
-14
-4
30
5
6
-29
30
26
3
5
34
-18
-19
-49
-11
-45
2
-13
13
18
99
-76
10
-12
-2
0
0
0
0
0
0
-1
-1
3
0
7
8
0
0
1
-2
-12
-17
30
1
15
8
-10
14
8
-15
1
5
-25
13
6
-8
31
30
4
25
-4
-35
-76
-46
-8
13
19
14
-8
0
0
0
0
0
0
0
-1
1
0
3
-2
3
1
0
28
9
5
7
3
-1
-6
6
7
4
-38
9
8
-4
-12
10
54
-40
-30
10
4
14
0
-6
23
21
6
-3
-10
-11
0
0
-1
0
0
-1
-1
0
0
0
1
7
1
1
0
4
17
3
5
33
-4
-49
3
3
-12
74
12
17
-44
6
-28
13
-28
-12
8
21
-1
-29
-20
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
-3
-1
-12
0
-12
-6
1
23
-12
-9
2
17
-15
20
7
-8
-28
29
-17
0
8
-1
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
12
6
15
0
2
2
-28
32
-34
-1
-18
21
-9
-12
14
29
-28
-29
8
-4
-7
-17
14
13
-7
16
33
-5
11
-26
0
0
0
0
0
-4
-2
0
0
-1
0
-1
-4
10
-3
0
-34
-3
-1
4
24
26
16
-25
-9
-33
3
-32
3
-19
-4
5
31
-25
-29
-22
1
-26
26
0
89
-23
-2
12
49
0
0
-1
0
0
6
0
1
-4
0
4
5
0
-9
-9
-4
-19
-1
-10
-5
16
-14
-18
-4
-8
8
6
6
8
17
-5
28
8
-28
-6
51
-6
-1
33
-28
5
30
7
27
32
0
1
0
1
0
-1
0
0
1
0
1
1
4
5
0
7
2
2
-3
-3
5
-5
7
21
-11
-44
-39
-29
5
18
44
5
2
-7
26
20
39
62
-11
-20
0
0
0
0
0
0
1
0
0
0
2
2
0
0
0
-1
2
4
0
-2
-15
-13
25
5
-7
-39
18
5
1
13
40
-33
-46
22
12
25
-37
-1
-29
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-4
0
11
0
9
5
-27
8
-1
-14
40
13
-7
-2
-5
-12
8
24
-15
47
-8
5
11
5
-8
17
0
-17
-18
-15
32
1
-37
30
0
0
0
0
0
-19
-1
2
3
1
-1
2
-9
-3
0
41
10
2
-23
-43
25
33
-4
25
11
-14
14
-18
-10
-7
-11
28
9
-4
-46
-42
3
-19
-9
17
65
-14
-43
-6
-4
-13
25
16
-23
3
18
16
-7
-15
26
25
34
-6
34
-30
-8
28
13
-9
-31
-35
19
-17
7
9
-22
13
1
-7
-4
21
2
0
3
-9
20
-5
16
26
-21
-10
-27
1
-15
26
-2
1
1
0
0
0
18
6
2
0
-1
1
-3
7
1
-7
7
-7
14
33
24
14
-7
-19
19
-32
-9
5
-25
3
10
14
2
-11
38
-8
-7
5
7
-15
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
2
-6
0
-14
0
9
-29
0
9
-5
1
20
36
-14
-9
4
-4
-34
19
-9
-6
3
10
-4
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
7
-1
0
4
11
-15
-1
0
20
-14
15
15
0
-9
-22
-26
3
0
28
7
4
30
0
20
30
23
-9
0
-12
-51
12
-14
0
0
0
0
0
0
0
-3
1
0
0
2
0
3
1
0
-7
-1
-9
-4
0
1
2
7
-8
0
7
6
-8
-24
0
18
28
31
-24
0
-3
-7
-16
7
0
3
18
-48
18
0
0
0
1
0
0
-1
0
4
0
0
0
-4
-5
0
0
36
-16
-3
11
0
22
6
-14
-5
0
-11
9
-17
-43
0
2
-11
-6
-16
0
-22
29
33
-1
0
-4
1
22
33
0
0
0
0
0
0
0
0
2
1
0
1
-8
0
0
0
-6
0
-4
2
0
33
39
13
0
0
-15
11
-29
-23
0
34
0
-24
2
0
-2
5
23
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-9
0
0
-29
0
-12
10
0
-5
-5
14
-25
0
5
-1
1
8
0
-3
17
36
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
-7
0
0
0
-7
-2
6
0
0
0
0
-12
0
0
39
3
15
0
0
-1
23
-4
0
0
20
25
6
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
3
9
-1
0
0
2
-1
-7
0
0
-40
7
8
0
0
3
-11
-5
0
0
30
0
-21
0
0
-2
22
-19
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
-6
-3
0
0
2
-1
3
0
0
4
10
18
0
0
-4
25
8
0
0
-9
-20
-10
0
0
42
-29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-17
0
0
0
20
18
-11
0
0
-1
-22
-2
0
0
-15
22
7
0
0
-5
14
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-8
10
-1
0
0
-27
21
11
0
0
-8
1
-15
0
0
7
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
2
0
1
0
-6
-7
2
1
0
9
-11
-7
-7
1
0
-21
18
27
-6
59
10
-51
16
25
-24
7
5
23
20
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
3
0
1
0
0
0
12
-1
0
0
11
-34
-21
10
1
3
39
57
-4
-13
-18
8
-1
27
41
-20
-4
-2
18
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
-28
13
-13
3
-1
-39
-2
4
4
-22
1
46
-1
-5
11
20
-6
-2
3
37
-18
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
1
0
3
1
4
-23
-8
10
-10
-15
-10
-20
18
9
-2
-24
2
54
17
-41
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
1
8
2
-1
17
-10
2
10
1
-1
17
-20
-9
0
-3
-33
-10
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
8
-4
-6
0
0
3
34
2
9
4
-10
3
11
19
3
10
44
-2
8
-21
-33
-19
-17
11
12
-16
31
34
-12
-11
0
0
0
0
0
0
0
0
0
0
4
-10
0
20
0
10
5
-3
1
26
-9
-11
-9
2
3
-29
21
27
14
-28
-12
-5
-44
-2
-5
22
2
-15
9
-11
3
46
76
-5
10
0
0
-1
0
0
0
-1
0
2
0
32
-2
6
6
1
13
-14
20
13
-16
-1
9
-4
-23
4
15
5
-46
-33
1
6
24
-19
20
-32
-16
0
50
7
32
50
-7
5
11
1
0
-2
0
0
0
-1
0
-1
0
2
0
-13
-1
-2
0
13
-14
5
-3
1
7
9
-16
-32
11
-8
-20
-2
-5
-24
56
7
9
1
-1
-19
63
-38
13
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-3
10
2
-1
-8
2
0
-7
2
3
27
2
-17
2
-2
-20
-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
0
0
0
1
-4
-13
0
0
10
13
12
-13
-2
-7
2
10
-34
10
22
27
-9
12
7
7
-41
17
22
20
7
12
12
-4
-22
0
0
0
0
0
2
1
0
0
0
-1
10
-1
28
0
-24
-12
-29
4
16
19
-7
-15
-1
-19
-11
-8
1
44
-19
-19
3
-4
-13
6
26
11
-36
-7
18
-2
19
58
14
-12
0
0
1
0
2
-3
10
20
-2
-1
4
9
-9
11
15
-1
-8
1
33
2
44
-26
3
-15
25
6
-15
-47
14
4
-17
12
10
-7
-27
-49
30
44
-32
24
21
-1
4
13
-39
0
-1
0
0
0
1
-1
0
-1
-1
0
-2
0
-15
1
-1
-27
20
3
-2
6
-30
-4
1
1
-24
37
-5
59
-28
35
17
26
-48
3
-14
-4
8
18
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
-6
0
16
-16
-9
23
3
-7
-10
6
-8
3
15
32
-13
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-4
1
0
7
-9
-13
-13
0
-13
-6
-3
10
0
19
-27
25
49
0
-8
35
-26
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
-16
-9
18
6
0
-5
-3
12
-8
0
10
5
-4
-36
0
18
-19
-4
3
0
-22
0
-37
24
0
-5
36
-22
9
0
0
0
0
0
0
0
0
2
0
0
3
-1
9
0
0
-10
0
-13
13
0
-14
18
-11
15
0
-3
10
-42
11
0
4
-8
-5
-12
0
-17
24
-31
-23
0
26
-7
38
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-13
12
-17
-3
0
18
-48
47
9
0
-8
-7
-31
-11
0
-8
0
21
-6
0
6
7
-24
-12
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
16
0
0
-10
-4
-11
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
-1
-3
2
0
0
3
-3
3
0
0
-21
-2
-5
0
0
-29
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
2
6
12
0
0
-9
-34
4
0
0
-36
15
-17
0
0
-18
18
-6
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
-15
-12
19
0
0
20
-7
-9
0
0
-13
9
-2
0
0
-1
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-5
3
0
0
0
7
-12
6
0
0
-19
-7
6
0
0
9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
11
-6
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
2
0
-15
-21
18
-2
0
5
11
1
-18
-2
-23
7
17
3
24
10
-28
12
22
-10
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
-14
12
9
-35
0
-12
23
-13
3
-15
9
3
10
-10
15
-16
5
30
17
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
3
-1
0
-2
-1
0
-26
21
-8
-6
-34
-20
9
24
0
-16
22
-18
25
7
-55
3
-11
24
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-1
0
3
-28
17
0
1
9
49
-7
23
-2
2
0
1
8
12
-23
-25
21
-11
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
9
0
1
0
2
1
-14
11
0
9
-5
1
23
2
-15
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
-1
6
4
6
-12
0
-30
4
6
-5
4
5
-33
26
-2
-5
-6
-10
31
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
-2
0
0
0
0
0
-1
0
0
-2
-2
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
9
-9
0
3
3
-7
6
-6
3
-9
3
2
4
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
2
-1
0
0
0
3
1
-2
4
4
-14
24
-7
-7
-2
13
3
16
5
-8
-1
24
-12
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
7
1
0
8
3
-4
2
6
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
-1
1
-6
-1
0
2
-13
0
-1
0
9
-27
5
-7
0
7
-8
-29
38
0
6
-27
35
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
8
3
0
-1
1
9
-2
0
16
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
-4
-2
0
0
-2
2
-3
0
0
-1
8
11
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
-1
1
0
0
0
0
-5
-6
0
0
-7
26
-10
0
0
-9
4
7
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
-6
-6
0
0
0
2
1
0
0
0
0
1
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-6
3
7
0
0
4
-49
3
0
0
8
0
-3
0
0
8
-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
-1
-11
0
0
0
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
-1
0
0
0
-1
0
0
2
0
0
10
6
18
-7
2
0
16
8
-26
-7
-15
27
-20
60
-6
-17
-39
-16
34
-11
37
-22
-21
1
34
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
9
1
1
11
-7
21
-4
-16
33
-21
-13
12
-10
-42
22
4
-3
20
-29
7
-4
7
-13
17
-6
15
10
-7
0
0
0
0
0
0
-2
1
0
0
2
-2
0
-1
0
-12
2
-2
0
-1
5
-13
-10
-21
-10
-9
40
-21
1
11
67
15
6
-15
-8
4
-9
15
21
-13
-55
7
62
45
21
0
0
0
0
0
0
-1
0
0
0
1
0
1
-6
0
-18
17
13
-7
1
-24
22
-20
-22
-9
17
-13
10
-18
2
8
23
5
16
-20
13
-17
-28
19
17
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
0
11
-1
-7
-6
1
45
-13
-30
-4
23
-33
-17
5
7
-11
21
-23
16
-15
14
11
61
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
-2
1
1
0
-1
-2
-2
20
16
0
34
-14
-14
-41
24
10
6
30
11
-27
-33
-8
-14
11
27
36
-59
-49
9
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-22
7
0
0
0
-17
-2
17
-36
0
-40
0
-2
20
3
-7
-102
0
22
15
-64
-57
-6
36
9
0
0
0
0
0
-3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
12
-1
7
0
-21
5
-6
-2
-7
3
-16
0
14
-2
-64
-108
8
1
22
-69
24
49
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
0
1
8
-8
2
-1
-21
-10
5
-24
3
-20
-3
12
-9
2
1
-22
41
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
3
-2
4
0
-7
3
10
-8
-4
-24
-13
-26
-12
21
11
31
20
-8
-15
19
44
11
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
-1
-1
0
-1
-16
0
-1
-5
4
-46
1
-9
-47
25
9
-18
10
43
0
-17
27
-3
6
-50
10
-12
23
1
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
6
4
0
0
1
-44
-3
9
10
3
-15
16
-19
-2
12
-1
-100
38
0
21
-24
-32
7
-2
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-1
0
1
0
-3
10
11
-1
-15
-9
-22
1
16
0
22
-9
3
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
3
-1
1
1
-4
-8
-10
36
0
20
2
27
13
-10
-29
5
19
-13
14
-7
-4
-14
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
0
0
0
0
13
-2
2
0
-8
-1
-9
2
0
-28
11
3
-24
0
-5
-6
42
-15
0
-67
19
-34
51
0
78
2
-3
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
7
6
13
0
12
-6
-6
2
0
-1
37
5
-3
0
0
-39
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
-1
2
0
-32
-2
28
-1
0
0
6
2
16
0
0
7
-24
-5
0
0
26
-7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
9
1
0
-1
-14
7
14
0
0
-8
0
-1
0
8
0
-1
9
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
14
-1
0
-7
14
1
17
0
28
15
-6
16
0
20
7
-28
6
0
1
-26
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
-4
0
0
0
23
-10
8
0
0
-29
4
12
0
0
10
1
-2
0
0
17
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
0
0
-6
0
8
0
0
-7
-10
11
0
0
18
7
6
0
0
14
-29
-13
0
0
29
41
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-12
0
0
-10
-4
1
0
0
-8
14
-44
0
0
-36
-13
9
0
0
2
-38
20
0
0
9
-60
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
-5
2
0
0
29
3
7
0
0
5
6
-20
0
0
-6
2
10
0
0
14
-29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
-2
0
0
6
-13
-10
0
0
-8
1
-3
0
0
-5
-25
-10
0
0
-9
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
4
6
2
23
36
18
-5
0
-12
-23
-29
12
-8
13
-32
-15
-9
0
-11
9
32
-8
14
22
-19
44
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
12
0
0
0
10
0
3
-33
-3
8
-22
-3
-11
-3
19
9
-12
-3
0
11
0
22
-30
37
30
-6
49
-6
-21
0
0
0
0
0
0
0
-1
0
0
1
-1
0
-2
0
-7
7
5
2
-1
27
-2
8
-3
-7
-3
-24
24
-18
-1
12
29
-46
19
-1
-11
10
48
-25
-3
15
41
6
39
8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
3
-20
18
-7
12
2
5
-16
-8
-18
-3
15
18
8
1
-16
18
-9
16
43
29
17
-3
-26
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
7
2
-1
0
-11
5
-19
18
-3
7
5
30
0
5
0
-21
34
4
-27
4
8
7
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
3
-8
-10
-4
6
8
0
-5
2
11
-16
-67
2
12
13
37
33
15
23
-22
-9
-13
-5
8
5
-17
14
21
-11
29
0
0
0
0
0
-1
0
0
0
0
-2
16
-3
-8
1
3
-16
-13
14
-4
-9
-6
21
2
-1
-17
-21
24
-6
41
54
29
16
22
-7
-42
-44
28
-3
0
-82
-6
-82
12
-18
0
0
1
0
0
9
-2
-3
2
0
-1
-18
-1
-4
0
32
4
18
-12
3
27
3
6
38
-7
7
0
-13
15
26
-10
-12
-11
-31
89
-73
-26
-7
32
6
-16
-36
8
-43
-35
0
0
0
0
0
2
-3
1
-1
0
1
6
-6
-6
-1
26
-26
37
4
-1
13
-9
24
43
10
-5
11
-23
-18
-13
-65
31
-12
-1
4
18
-33
-9
22
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-4
0
-3
-1
0
10
2
-11
0
17
19
14
3
-3
-13
-47
8
9
-21
31
19
13
-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
4
0
4
0
27
3
26
15
-3
21
13
-55
12
-9
39
23
2
-33
-10
-11
-18
6
-12
2
-4
-13
5
-14
20
0
0
0
0
0
0
0
0
1
0
3
4
1
-3
-4
-30
-9
-11
-7
20
-36
-17
-5
7
19
-43
40
-26
20
-8
28
-22
3
25
15
-37
7
36
12
4
1
-13
11
-27
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-2
0
-4
0
1
4
-1
7
0
3
-18
-18
10
8
-34
30
-11
26
8
13
-9
-11
-24
-19
18
-38
6
4
-2
-5
17
-24
-12
14
0
0
0
0
0
0
0
1
0
0
1
0
0
-2
0
0
1
0
0
-1
-6
4
-12
-2
1
0
-26
25
6
8
21
-23
-16
-16
6
-34
-13
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
1
0
-2
1
0
1
-7
12
-7
0
-20
35
23
-9
0
-9
29
-16
6
0
37
-41
-32
-18
0
-5
-25
34
73
0
0
0
0
0
0
0
0
-1
-1
0
-2
0
-2
1
0
12
33
10
-18
0
-10
11
-27
1
0
28
-51
-22
-6
0
-45
9
0
15
0
-35
44
-26
22
0
-2
34
84
-1
0
0
0
0
0
0
0
0
-1
-1
0
1
-6
-7
0
0
-3
-6
4
-30
0
6
-40
-41
9
0
24
-31
-45
-5
0
-82
55
38
41
0
74
-26
15
7
0
4
-1
0
45
0
0
0
-3
0
0
0
0
1
0
0
0
1
-10
0
0
-4
-5
14
-3
0
-3
-9
-32
-5
0
14
-3
38
4
0
10
7
32
-18
0
-15
14
-19
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-10
0
0
8
3
18
4
0
14
2
-21
5
0
-10
-34
-7
7
0
-24
10
-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
0
0
0
2
-10
0
0
34
-3
-12
0
0
0
33
14
0
0
-33
-25
-40
0
0
-6
-7
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
9
6
9
0
0
31
-11
8
0
0
-38
13
12
0
0
-38
-26
-7
0
0
35
-21
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
-9
19
0
0
0
14
-2
10
0
0
-15
-6
0
0
0
-8
-30
-7
0
0
-9
-28
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
-1
0
0
-18
12
-4
0
0
-17
-21
15
0
0
12
4
-19
0
0
15
-66
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-11
0
-2
0
0
5
-5
11
0
0
-18
-3
10
0
0
-12
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
-1
16
7
-2
0
-29
19
26
-1
0
26
37
-55
-20
-1
43
-1
46
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-1
0
-6
-18
9
-21
0
39
-3
2
9
2
13
44
-22
4
-33
-5
-8
-33
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
1
-3
3
-1
0
23
8
1
-8
0
-24
12
20
1
26
12
-27
-11
-8
0
-2
33
-9
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
-1
2
0
-27
-11
7
-2
4
-8
-25
7
9
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
-6
-1
-1
0
0
22
-4
-1
-3
0
0
-4
-2
0
0
-8
-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
-3
0
4
4
-3
1
0
-1
-18
-10
4
0
-23
-18
-6
3
4
31
38
39
-25
-19
17
-10
-20
49
-49
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
-4
-6
27
11
-2
-3
13
-18
21
-6
-8
3
-22
-28
-23
-4
-17
18
10
16
-22
-16
-53
48
-4
62
48
54
5
-14
0
0
0
0
0
7
-2
0
0
0
7
12
0
8
-1
-6
1
-7
2
1
3
-32
-19
0
11
-18
-48
-4
14
-4
45
-20
39
17
-16
-6
13
-43
-7
-12
32
59
56
-2
-1
0
0
1
0
0
-2
0
0
0
-1
1
2
7
0
0
-23
1
9
7
-9
-27
33
-1
-1
-4
58
-13
8
18
11
14
-24
20
19
-7
5
24
-36
-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
-2
0
0
-18
2
-3
0
-1
-12
0
-1
-1
-2
13
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
1
0
-12
1
0
0
-10
0
7
0
1
-27
6
3
12
-10
25
-50
22
-10
36
35
1
-34
-17
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
3
-3
2
-19
-7
-15
8
-14
-35
-15
44
-11
23
-37
-8
8
-6
11
14
18
9
59
0
-15
-7
-29
-18
-47
49
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-1
0
0
0
-1
3
10
-1
4
2
0
-22
-1
-2
18
-14
41
-27
36
-40
-15
16
22
-38
-4
-15
-17
23
-22
0
0
0
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
0
0
0
3
-2
0
-1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
4
0
13
-3
0
14
20
-1
1
0
-7
-66
-4
7
0
10
20
25
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
8
-38
1
-3
0
-12
-13
7
-11
0
48
24
0
25
0
0
3
10
-18
0
-12
-1
9
-10
0
-33
-30
-34
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
11
7
0
-28
0
38
19
0
-1
-1
35
13
0
13
-11
-7
-18
0
10
0
-16
-5
0
18
-40
-18
-29
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
-8
-8
9
0
0
-3
0
-35
-7
0
-21
-41
-28
18
0
29
-15
-1
6
0
-7
36
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
0
0
0
10
-2
1
0
0
0
0
3
-3
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-18
0
0
0
25
-2
13
0
0
-62
22
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-7
3
0
0
0
-12
13
-2
0
0
-4
-37
13
0
0
-3
-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
2
0
0
0
4
1
0
0
0
8
3
-13
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
-1
-13
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
3
-37
3
0
0
2
-25
-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
-1
0
0
0
0
3
0
1
0
-16
6
35
1
0
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
0
0
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
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-1
-13
0
1
19
4
0
-11
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
-3
1
0
2
-6
0
1
0
-3
-33
17
6
0
-21
25
-6
-4
-1
44
20
60
21
-11
88
8
-8
-16
-3
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
1
-1
-1
-1
-8
0
15
11
0
2
21
21
-11
3
28
33
10
28
10
41
40
-37
-8
-9
-6
-33
3
3
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
-1
-3
0
0
-21
6
2
0
-15
34
10
-3
2
3
-1
11
4
3
-19
17
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
-1
0
0
-1
0
0
-2
0
0
13
1
6
0
-28
-6
-18
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
0
0
0
0
1
0
10
-8
-27
-25
8
-21
7
-18
21
-15
8
28
-2
-13
-9
18
-9
41
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
-1
1
0
0
1
1
0
0
-2
-9
-7
-45
-20
-1
-4
21
-1
3
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
-1
0
0
0
-18
-6
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
6
3
1
-10
0
-2
-13
-1
9
0
9
11
-51
-57
0
-1
3
-11
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
21
-3
0
17
7
-15
-3
0
9
-21
-14
0
0
2
-1
-22
-18
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
-4
-12
1
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-1
-4
6
-28
-13
-1
-11
5
-13
2
22
-9
-14
27
-7
-1
24
-5
-25
0
32
-19
-21
18
36
-14
18
-11
-8
-43
-11
61
0
0
0
0
0
4
5
0
-6
0
4
-10
-18
2
-1
-11
19
-14
-3
10
28
28
0
1
-19
-13
-37
13
32
11
13
72
11
0
12
-5
4
-14
8
-7
-54
-59
-15
-10
46
2
-2
0
0
0
-1
6
2
-2
1
-1
12
1
2
2
1
-1
-5
37
10
13
-18
-1
-14
-6
-15
-22
-43
-3
-8
4
33
18
-36
20
-16
5
15
4
-48
6
-7
-1
37
-2
-1
0
2
0
-2
-2
6
-1
-1
0
-21
0
-7
2
15
-9
-11
-2
14
-12
29
15
3
4
-10
22
21
-72
-9
-20
-34
20
22
23
18
-36
-13
35
-36
0
0
0
0
0
0
0
-3
0
1
0
18
2
-1
-4
0
0
-6
-3
5
0
0
-27
0
-1
-8
-4
35
-19
3
14
-21
1
-7
-23
23
-3
-11
16
-9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
16
8
-6
-5
-14
0
-5
-10
-17
12
9
-5
3
-2
11
-47
-32
27
42
23
9
1
1
-1
-30
19
-7
-18
0
-23
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
-1
0
2
-1
-1
3
1
-13
-8
4
11
0
16
-8
8
21
-8
13
-34
-1
24
17
7
-3
6
-9
6
-24
1
13
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-16
-9
-6
-30
1
-13
15
21
-37
-10
-35
36
-4
29
-3
-33
25
6
-4
-4
35
-7
-26
20
0
-17
-46
13
-65
0
-4
22
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
-7
-1
-2
8
2
2
0
3
-1
-24
37
2
-2
12
-1
-18
5
2
-5
29
-13
-24
-52
-8
2
8
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
4
-2
0
-7
-23
8
14
0
-21
4
21
-15
0
-39
16
2
23
0
20
-12
-12
4
0
-38
10
6
-6
0
23
-39
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
-2
1
0
-1
0
-4
-3
11
0
0
5
-17
-1
2
0
-4
-10
-7
-7
0
-20
-21
2
-10
0
-1
-3
-24
4
0
3
27
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
45
2
0
0
-1
-5
18
0
0
-7
6
11
0
0
-15
-44
-2
0
0
-21
44
-8
0
0
-11
-6
-31
0
0
18
26
52
0
0
0
0
0
0
0
0
4
0
0
0
0
-10
7
0
0
23
24
-1
0
0
-21
-5
9
0
0
-11
29
-25
0
0
-28
6
-12
0
0
-42
-9
-14
0
0
93
-15
9
0
0
9
0
0
0
0
-1
-3
0
0
0
-3
20
-1
0
0
-2
-5
10
0
0
13
1
11
0
0
-21
-2
32
0
0
4
-18
-15
0
0
33
-4
24
0
0
-6
45
-27
0
0
0
0
0
0
0
16
-15
1
0
0
4
11
3
0
0
8
-21
2
0
0
-4
4
-24
0
0
-38
42
34
0
0
31
3
-20
0
0
37
2
-15
0
0
0
0
0
0
0
0
-1
-1
0
0
1
0
1
0
0
4
9
0
0
0
-11
26
-2
0
0
-38
-33
7
0
0
-24
3
41
0
0
32
-31
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
4
4
1
7
0
-14
-14
0
-3
30
-19
14
11
-7
-18
15
-1
-13
18
-5
11
-4
19
5
-18
-44
32
-11
49
-27
0
0
0
0
0
0
-2
1
0
0
0
2
0
2
1
11
-6
-2
-17
4
17
13
15
2
7
10
10
-8
-29
0
-17
-44
-1
5
0
-9
30
-14
30
-2
32
41
10
5
-45
0
0
-1
0
0
-1
-1
0
2
0
8
1
0
-6
0
-4
-27
20
-2
3
-24
13
31
0
-1
-15
34
-11
22
-9
25
-28
-16
36
2
-5
2
-46
3
-1
62
-28
23
-29
-29
0
-2
0
0
0
0
0
0
0
0
0
0
-4
-1
0
1
1
-8
-2
-1
-13
6
-21
1
3
-24
-34
22
14
1
41
42
-15
-13
-19
4
41
-20
11
9
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
-1
0
-2
2
2
0
0
1
1
-7
-12
-1
8
-1
-27
4
3
18
-13
6
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
-10
0
8
-1
-14
15
-1
8
-28
6
-12
26
-5
3
-2
4
10
54
18
-2
-5
-75
2
-7
10
-35
-12
16
-23
0
0
0
0
0
0
-2
-1
0
0
1
-1
1
2
0
-26
20
25
-1
-20
-11
12
1
21
4
-43
2
-11
0
-1
40
-24
2
34
29
30
-19
21
-44
-4
9
9
7
9
-6
1
0
0
0
0
0
1
0
0
0
-7
-2
8
-1
-3
1
7
-25
27
8
-20
5
24
8
-7
6
-35
26
-34
11
-7
-11
-1
7
0
-11
27
7
-23
-10
0
15
3
19
3
0
0
0
0
0
-2
0
-3
0
0
0
2
-7
1
0
-1
-3
8
2
5
5
12
1
-20
3
10
-15
7
-7
-11
-13
-14
-1
4
7
13
-15
3
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
0
0
0
0
-6
8
-3
0
-3
-13
-3
7
-1
12
-1
-1
-1
-8
-11
29
-23
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-3
4
-26
5
0
-3
18
8
-11
-13
-21
-33
30
-8
-19
30
-58
53
18
29
-9
38
-122
40
-1
9
16
23
-20
23
-28
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
17
0
-2
-10
-8
-6
-2
0
-45
0
37
-5
0
47
29
-11
-2
1
9
-13
-12
19
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
3
3
1
3
0
-6
12
1
-7
-3
-24
-15
22
14
-10
2
-12
9
-15
0
6
3
7
-2
-22
-8
24
-11
20
7
-2
15
-14
-21
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
0
-2
-3
-4
1
-1
-2
1
0
3
3
-1
-15
-9
8
-1
46
-1
16
-4
-10
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
14
2
-3
-1
0
2
11
0
29
0
-17
9
-1
8
0
-24
21
5
-1
0
43
-26
7
11
0
33
13
-17
-21
0
0
0
0
0
0
15
-1
1
0
0
-2
-3
0
0
0
2
-20
1
-6
0
-3
-13
29
-4
0
52
-13
-14
-2
0
7
23
-17
-1
0
-32
23
-4
7
0
4
-30
-4
0
0
0
1
-2
0
0
0
1
0
0
0
2
-8
16
0
0
-8
-11
-20
-7
0
-8
53
-21
-4
0
-17
-42
30
1
0
3
36
-5
-5
0
38
-11
3
10
0
-7
-8
-21
0
0
0
0
0
0
0
-1
-1
1
0
0
11
-1
8
1
0
-2
-10
-1
1
0
-8
0
-1
0
0
6
22
6
1
0
-5
16
6
23
0
14
-34
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
-3
0
0
2
10
-2
1
0
11
6
16
0
0
-9
-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
-6
-9
0
0
0
-3
-2
-4
0
0
16
-24
4
0
0
-22
-3
7
0
0
-16
14
1
0
0
18
22
13
0
0
8
7
-23
0
0
0
0
0
0
0
-1
0
0
0
0
0
7
0
0
0
10
3
-1
0
0
-20
-3
-9
0
0
19
12
3
0
0
-6
2
19
0
0
-4
-41
-11
0
0
10
-24
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
0
0
-16
-2
1
0
0
-4
-4
-6
0
0
12
-13
0
0
0
-17
5
22
0
0
46
9
8
0
0
-6
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
9
-5
-2
0
0
-4
-12
8
0
0
-9
8
-5
0
0
-5
5
7
0
0
-9
24
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
4
-2
0
0
1
2
2
0
0
-9
-3
-10
0
0
2
7
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
13
-18
4
-3
0
19
-25
-5
-19
0
4
-19
17
0
-4
-5
61
-1
2
11
-26
5
33
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
1
0
-1
0
-2
-4
0
-11
-12
2
20
-7
28
3
9
0
2
-14
45
8
1
-13
40
-11
9
20
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
-1
0
2
0
0
-7
0
0
1
2
0
-1
-10
-1
-3
-12
0
0
2
3
35
9
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
-1
0
0
0
0
0
0
-3
2
2
0
0
-14
22
-3
0
0
-2
-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
1
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
6
-1
0
-21
-3
0
-6
-2
-10
0
27
10
-8
15
5
28
-27
-1
10
8
-5
34
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-19
23
0
-16
8
-5
11
-5
28
-8
10
9
-22
-42
40
15
-14
-13
14
14
25
7
28
-33
9
27
20
-6
0
0
0
0
0
1
0
1
0
0
0
0
1
0
1
-9
-2
8
-9
-3
-9
4
10
-15
7
-24
-6
-8
8
0
34
-17
26
30
12
26
46
22
-7
-7
0
0
-9
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
-3
-8
0
-1
-1
13
-17
10
0
-13
18
-5
-12
0
-1
-10
3
-10
-1
-3
14
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
1
-6
0
0
0
-1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
2
-9
0
-1
0
-9
0
-21
10
-4
0
-15
8
-1
-6
10
-7
4
-15
22
19
0
-9
22
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
-6
0
9
12
9
-47
-6
1
-13
32
32
2
8
4
1
9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
3
0
2
2
-3
3
11
-3
0
-7
-7
-6
-1
-1
-3
8
6
10
4
4
11
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
0
0
-4
-1
7
-1
0
14
-20
23
-2
0
-23
-4
-4
18
0
23
4
17
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
-4
-29
0
0
3
22
5
33
0
23
-6
5
-3
0
-20
-24
23
0
0
11
-5
-10
-8
0
2
4
10
6
0
0
1
0
0
0
-1
0
0
0
0
2
1
-1
0
0
-13
28
8
-3
0
-17
-12
7
-6
0
8
9
12
-10
0
0
-11
-12
7
0
8
36
22
4
0
-1
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
2
0
2
-1
0
10
2
-1
4
0
3
1
2
2
0
10
0
6
-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
2
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-1
0
0
-2
7
-4
0
0
-15
-24
1
0
0
8
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
4
-15
0
0
0
2
0
-1
0
0
40
4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
2
-2
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-2
0
-1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
-7
-3
9
-3
-23
-14
7
18
29
5
15
-20
11
-53
7
19
-5
21
-4
9
-10
-21
-11
-48
-45
16
63
-3
0
0
0
0
0
-1
0
0
0
0
-1
-6
-2
-6
0
-18
-43
6
-9
9
-6
-1
-22
36
-4
24
12
2
0
6
16
-10
3
-4
7
4
5
-13
19
-18
-56
-7
-21
25
39
0
0
0
0
0
0
0
0
1
0
0
0
0
7
3
4
-1
-10
-28
1
-11
-17
9
20
-1
2
10
0
1
-1
-7
-4
-16
-1
-1
-30
12
-11
24
4
-65
-35
-3
-9
2
0
0
0
0
0
0
1
-1
1
6
1
1
1
-7
2
-1
-4
-11
4
0
13
8
0
3
0
-13
5
18
-2
4
42
-11
4
-4
-3
-64
8
43
-6
7
0
0
0
0
0
0
0
-1
0
0
0
-2
1
0
-2
3
-2
0
-3
-1
-1
-6
-2
1
0
12
-16
-2
3
0
-9
21
-3
6
13
29
8
18
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-17
-4
-3
9
-4
-12
24
1
-37
-17
-18
-5
-7
7
-26
38
-12
0
22
5
-25
12
-7
-30
-21
4
7
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
1
-4
-4
2
0
-8
6
-4
-11
-2
0
11
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
7
2
-21
0
31
-16
-14
-2
-7
-3
-30
5
28
-4
-28
-28
11
6
-3
-23
5
-40
-7
-15
12
-12
-8
-32
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
-1
0
0
0
0
0
1
3
7
-6
-1
0
-16
13
4
-2
0
7
-10
-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
1
-21
-1
0
6
-28
-23
-16
0
-2
61
-25
-12
0
4
-3
-6
-6
0
13
-26
4
3
0
-7
-16
27
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
-1
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
2
-2
0
0
4
-7
-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
-4
-10
12
0
0
-25
-16
6
0
0
2
-19
-14
0
0
-3
-8
34
0
0
3
30
-1
0
0
7
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-1
0
0
-27
-24
-12
0
0
-34
12
3
0
0
10
16
6
0
0
3
-40
5
0
0
7
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
-10
2
1
0
0
0
0
9
0
0
1
-2
1
0
0
3
7
7
0
0
1
-19
-1
0
0
0
3
0
0
0
0
0
2
0
0
0
0
1
0
0
5
0
0
0
0
0
13
-1
0
0
0
1
1
0
0
2
-13
-4
0
0
-4
-6
-8
0
0
-2
2
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
4
0
0
0
0
-10
-2
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
-1
-16
3
24
0
-30
28
5
-5
11
-13
16
5
-11
-29
6
-30
-23
-3
24
-8
-9
12
-34
0
-26
27
3
-13
-72
15
-45
-14
42
11
0
0
0
0
0
6
0
0
1
0
11
3
6
-28
-1
-33
18
-6
0
-32
-6
-26
-9
16
-7
-39
53
-25
-20
4
27
-11
21
4
-4
-41
-36
18
-3
45
-60
-23
-5
14
1
1
-1
-1
0
0
-8
-2
1
-10
0
12
-4
1
-5
-34
-57
-13
15
-14
17
12
9
0
-3
7
27
-8
4
-25
5
-5
-23
4
16
-19
-25
5
-5
-15
29
-40
1
18
47
45
-1
-1
0
2
1
-7
11
0
5
-3
-24
18
-18
-21
16
21
-9
11
-6
24
2
1
12
8
-2
-17
-17
14
-33
4
-18
-8
27
10
4
-52
3
-44
16
-20
0
0
0
0
0
1
-3
0
0
0
-16
-3
1
11
0
-28
12
2
5
0
-3
-27
19
-13
5
2
13
17
20
-2
-13
-11
0
3
-7
-10
40
-18
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
-2
0
-8
2
-4
-10
10
16
12
-24
1
3
33
-72
-10
30
3
-40
-2
17
-17
2
30
40
20
8
-32
-20
-11
4
-22
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-15
2
0
-2
-19
-11
2
0
11
7
-10
-3
0
-3
-10
15
-9
0
-12
1
6
3
1
0
2
-1
-4
0
0
0
0
0
0
2
0
0
0
0
0
1
-1
0
0
2
3
2
4
0
-3
-1
-10
1
0
0
-11
13
0
0
18
-6
0
4
0
-17
35
5
-4
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
0
0
0
0
-1
0
0
0
-8
9
6
0
15
6
-1
1
0
1
-6
3
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
9
0
2
-2
-4
1
1
0
-21
-1
-20
1
40
-1
3
18
-9
-18
-21
-30
0
-11
15
-14
0
18
7
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
-39
-13
4
-11
0
-47
3
-6
4
-3
13
11
5
4
-17
-31
-5
-21
8
3
-5
-29
5
20
-2
54
-33
-75
-11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-11
0
0
-2
23
-3
13
0
-3
-51
-15
10
6
0
-16
26
6
-2
0
2
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
1
0
0
0
0
-2
0
0
-2
-3
1
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
1
-4
1
4
-1
0
10
-15
2
-1
-2
4
0
7
-1
10
4
14
-17
-1
2
-3
35
3
-18
-53
10
-23
6
3
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
-4
8
-41
6
0
-19
11
27
15
0
22
13
6
-8
0
-15
22
32
16
0
9
4
-10
-37
0
-18
1
-18
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-28
4
6
0
16
-15
3
-4
0
-10
-1
-3
23
0
7
9
8
2
0
0
-3
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
-1
0
0
-6
15
0
0
0
-1
0
-1
2
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-7
0
0
0
1
0
0
0
0
0
0
0
0
-1
-1
0
3
0
24
0
-14
0
0
-10
14
19
-4
0
1
-11
-17
-5
0
-15
13
-12
-13
0
-7
14
8
16
0
-24
12
29
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
0
0
-9
-5
-11
0
0
-12
19
27
0
0
-10
-23
11
0
0
9
15
0
0
0
-4
9
-27
0
0
10
-6
-1
0
0
0
0
0
0
0
-6
0
-1
0
0
-1
-29
7
0
0
-2
-8
-7
0
0
19
32
-17
0
0
14
16
13
0
0
-33
1
-2
0
0
4
-4
3
0
0
17
23
36
0
0
0
1
0
0
0
-3
2
2
0
0
-12
-25
16
0
0
4
-5
17
0
0
1
-15
-28
0
0
-29
14
-21
0
0
25
30
26
0
0
-3
-20
-3
0
0
-24
-16
19
0
0
0
0
-2
0
0
4
-8
-2
0
0
-6
-5
17
0
0
18
-25
-4
0
0
5
18
13
0
0
7
-49
7
0
0
-5
18
-20
0
0
-9
15
-3
0
0
0
0
0
0
0
3
2
0
0
0
-23
-4
3
0
0
4
12
-1
0
0
2
-8
12
0
0
-10
18
0
0
0
6
9
-23
0
0
1
-25
-7
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
7
-1
16
16
-10
9
-7
0
-18
21
25
-16
-19
-40
-24
33
-35
8
29
-1
-44
30
20
27
24
-87
78
-21
-6
6
0
0
0
0
0
0
-1
-2
0
0
-4
-1
0
25
0
10
-4
-8
5
-10
-26
-24
18
19
3
-30
-16
-27
10
-8
-14
11
41
3
-3
-31
18
42
0
9
79
-7
-55
-22
-37
0
0
0
0
0
0
0
0
3
0
0
1
1
-8
1
17
-9
-4
-1
-2
8
7
-1
14
1
0
-7
20
-4
2
-4
-43
-4
11
8
-19
-14
-9
13
-5
-14
6
-1
-9
4
0
0
-1
-1
0
0
-2
0
0
0
1
0
4
17
-1
-12
11
8
0
-1
2
7
-13
17
-1
8
-23
-22
-6
10
-8
20
-4
-18
7
-75
60
4
-1
8
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
-7
0
0
0
0
3
-2
-6
-1
0
-2
0
7
-10
-9
-10
-11
-9
18
14
-15
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
-10
-9
2
-19
27
26
-12
-14
28
27
28
-36
-5
-9
26
8
-27
1
-9
-88
2
19
-8
27
-26
26
3
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
9
32
-13
27
5
7
-17
-6
-16
-8
-13
-11
-9
-16
7
13
9
15
1
-26
28
-29
-11
-6
2
9
-20
-32
9
0
0
0
0
0
-2
0
-3
0
0
6
-6
6
18
0
1
14
1
-11
4
-20
14
-26
10
-11
5
3
4
12
3
-43
9
-4
2
7
15
-35
6
3
-9
-3
17
13
-65
21
0
0
0
0
0
0
-1
4
0
-1
0
8
3
-6
0
2
9
5
-23
3
-7
4
3
-5
-10
3
-3
-17
35
-14
3
-16
21
1
6
-42
-7
-36
21
15
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
1
0
1
0
0
0
6
-8
-1
0
1
-10
9
-13
1
-13
32
10
-12
-16
-43
8
-20
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
2
-1
1
3
-18
5
3
-30
3
16
-20
4
10
-18
10
9
-41
-9
7
29
34
-13
-10
-7
-9
-18
8
-78
-26
30
22
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
7
3
1
-11
-6
-4
-3
3
78
-12
-35
-7
8
-26
21
35
5
-1
-1
5
-24
-26
-1
0
-19
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
1
0
0
0
-1
0
-1
0
0
-3
3
8
-7
-2
2
8
-22
0
-1
-1
3
13
-19
-8
0
1
-6
-4
-15
2
29
-20
17
13
-2
12
9
-6
-28
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
2
1
0
0
2
-12
0
0
0
-4
7
-1
3
-17
13
3
1
0
3
14
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
7
3
-1
0
12
-13
-1
12
0
-21
-16
10
4
0
22
14
-7
18
0
-43
-23
-22
-11
0
2
-2
7
-39
0
0
0
0
0
0
-3
-1
0
0
0
-1
0
2
-1
0
-3
-1
-5
3
0
-3
-23
39
30
0
-22
-20
-12
-15
0
-34
30
-9
-7
0
24
17
-36
-7
0
17
-13
11
-1
0
1
0
0
0
0
0
0
-2
0
0
-2
-5
5
-1
0
11
-32
8
22
0
-5
-5
-2
-14
0
-41
-4
3
-4
0
-20
38
28
-14
0
18
-21
7
8
0
0
-20
26
-4
0
0
0
0
-4
0
1
1
1
0
0
-1
0
-12
-1
0
-8
-7
-2
-2
0
-5
-26
19
8
0
10
16
-39
-4
0
4
-17
17
17
0
18
15
-3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
-2
0
2
0
4
-2
-6
0
0
3
0
-18
2
0
1
-12
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
1
0
0
0
2
-1
-28
0
0
5
10
3
0
0
11
18
24
0
0
4
8
6
0
0
-32
-23
-26
0
0
21
9
-12
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
3
0
0
11
-5
16
0
0
-5
-26
16
0
0
-4
27
-9
0
0
-6
30
-6
0
0
-42
3
-33
0
0
-27
25
8
0
0
0
0
0
0
0
0
-1
2
0
0
2
-14
0
0
0
-4
18
7
0
0
-22
-18
12
0
0
-14
-28
6
0
0
1
3
-10
0
0
9
1
2
0
0
-2
8
-11
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-3
0
0
-10
-1
4
0
0
27
-17
-4
0
0
-9
-4
0
0
0
-10
6
7
0
0
-1
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
1
0
0
0
1
0
0
0
0
3
0
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
2
28
-7
4
0
-1
-43
1
0
0
32
39
7
-13
-2
-28
16
16
-10
0
-12
7
-4
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-2
0
0
1
-12
-11
-1
0
4
5
7
2
0
20
10
1
-21
0
-53
-25
11
25
21
-8
-3
1
-6
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
-2
0
0
0
0
-4
0
-1
3
8
3
0
-3
6
6
4
2
4
-34
35
2
-3
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
-3
0
0
0
-6
-3
7
0
-9
2
4
-1
1
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
7
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
-18
10
-2
3
0
0
1
30
-16
-6
-9
16
1
20
4
-26
-16
-25
8
-6
1
-10
5
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
12
-1
-36
1
0
17
-4
0
16
13
9
-30
4
-1
13
-5
3
24
-17
7
11
26
-44
-32
-2
-10
1
14
16
-8
0
0
0
0
0
0
0
0
0
0
-1
-4
0
-3
0
-2
-7
-4
20
-3
-8
0
6
13
-7
2
-14
15
-19
-1
3
4
18
23
7
18
-24
-22
22
-6
0
0
-19
-2
0
0
0
-1
0
0
0
1
-1
0
0
0
0
0
-1
0
0
-1
8
0
1
-8
3
2
0
1
13
-10
-3
-11
-6
26
14
-34
2
-6
1
10
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
-1
0
0
0
-2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
3
2
13
-29
8
-6
1
17
37
0
-28
9
9
-15
-11
11
1
-3
9
-19
15
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
-2
0
19
0
-10
-3
8
3
8
-2
-7
-5
9
-6
-3
-11
-16
-12
-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
1
7
-2
0
0
1
2
0
9
0
0
2
12
0
-3
1
13
-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
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
6
0
0
8
4
-1
9
0
30
17
7
-1
0
23
7
-3
-2
0
8
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
6
6
15
-6
0
-19
4
-1
7
0
31
-38
1
-20
0
18
-18
-19
8
0
-40
6
-4
-2
0
-2
12
-30
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-15
0
0
-2
11
0
-4
0
17
-16
15
0
0
-32
-4
-4
-1
0
15
-2
5
8
0
-2
-12
-16
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
7
-3
-1
3
0
3
2
2
-1
0
4
2
-8
1
0
1
9
-6
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
2
-2
0
0
-3
-20
-1
0
0
3
18
0
0
0
6
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-11
2
1
0
0
10
3
0
0
0
-2
1
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
2
0
0
0
8
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-1
0
2
0
1
-1
1
0
0
-32
0
0
1
0
0
0
0
0
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
-19
8
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
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
-1
0
0
-6
-1
0
0
0
0
-3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-4
9
-4
0
-6
35
8
9
0
9
-21
-2
2
0
-4
-14
2
3
0
0
1
1
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-2
0
3
0
0
0
23
0
3
-1
7
21
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
-6
-1
1
0
-4
6
-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
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
6
0
-2
0
-13
0
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
2
0
0
0
0
-1
0
0
0
-1
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
-30
-2
0
0
0
-13
-3
0
0
0
25
0
3
0
0
1
-7
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
-1
-2
1
-1
0
6
0
1
0
0
-8
-1
9
1
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
-62
-100
-28
45
-18
-15
2
27
-67
-13
-16
-22
9
-3
0
33
12
31
6
-9
-3
1
-6
-3
-17
4
-12
4
-6
0
0
3
-26
-31
-31
25
-13
-3
-22
-24
-1
-17
-40
2
14
-7
0
7
7
-12
-24
-20
-7
-7
-25
-12
46
-22
-29
-17
-17
0
0
-11
-6
-24
-18
29
-23
-4
-31
6
25
-18
-36
8
30
1
0
1
-6
22
17
3
30
12
-23
0
12
-34
-16
23
8
0
0
0
29
-23
22
-66
3
-4
36
60
5
44
-33
-4
64
-2
0
-9
-57
2
45
17
12
26
-13
9
-81
2
-28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-10
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-185
-24
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-20
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
30
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-10
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-29
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
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
13
-7
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-26
60
0
0
0
0
0
0
0
0
0
0
0
0
0
11
13
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-18
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-24
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
0
0
0
0
0
42
-9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-31
-3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
30
17
-73
-13
-4
3
-2
0
0
0
0
0
0
0
0
0
-1
-4
104
-63
-6
0
-4
0
0
0
0
0
0
0
0
0
0
0
2
-1
-14
-44
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
11
-2
16
0
2
0
0
0
0
0
0
0
0
0
0
0
-20
22
-3
-13
-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
28
1
22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-35
-1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
15
-35
-20
1
1
0
0
0
0
0
0
0
0
0
0
-2
1
0
-4
-19
-22
0
0
0
0
0
0
0
0
0
-1
0
8
4
2
-6
-29
-22
0
0
0
0
0
0
0
0
0
0
-1
0
-10
-8
-33
-23
10
1
0
0
0
0
0
0
0
0
0
0
-6
-1
46
-5
28
15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-28
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
-10
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-11
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-2
-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
10
0
0
0
0
0
0
0
0
0
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
-59
39
-47
-34
0
0
0
0
0
0
0
0
0
0
0
-7
-30
-62
-25
2
72
0
0
0
0
0
0
0
0
0
0
0
-6
-37
-11
-24
-6
-63
13
21
0
0
0
0
0
0
0
0
1
17
35
25
21
-37
-2
-50
-6
0
0
0
0
0
0
0
0
0
0
77
6
-7
55
14
-34
0
0
0
0
0
0
0
0
0
0
-4
8
8
110
0
-58
-35
0
0
0
0
0
0
0
0
0
0
0
-11
86
-2
177
-19
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
-39
16
-10
-4
0
0
0
0
0
0
0
0
0
0
0
-1
-165
8
-4
48
-22
0
0
0
0
0
0
0
0
0
0
0
0
-59
-23
25
-38
-12
-1
1
1
0
0
0
0
0
0
0
0
-1
22
-49
2
4
-5
-36
13
0
0
0
0
0
0
0
0
0
0
-8
48
-22
-43
-81
89
13
-1
0
0
0
0
0
0
0
0
0
40
-3
11
-33
-72
60
-25
0
0
0
0
0
0
0
0
0
0
2
-55
5
-46
-48
139
0
0
0
0
0
0
0
0
0
0
0
-56
-6
-36
13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
2
35
37
11
-44
0
0
0
0
0
0
0
0
0
0
0
-9
4
21
14
-28
27
0
0
0
0
0
0
0
0
0
0
0
7
-1
-19
52
12
-66
-11
0
0
0
0
0
0
0
0
0
0
4
-9
25
-16
-64
-7
-3
1
0
0
0
0
0
0
0
0
-1
0
0
33
9
-6
-10
-10
0
0
0
0
0
0
0
0
0
0
0
6
-3
-28
-9
-4
0
0
0
0
0
0
0
0
0
0
-2
0
1
24
20
10
-1
-2
0
0
0
0
0
0
0
0
0
0
-3
-1
3
-11
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
-6
69
-25
-44
-27
-21
-1
0
0
0
0
0
0
0
0
0
0
30
67
-27
-22
-15
-15
0
0
0
0
0
0
0
0
0
0
0
132
74
-12
-20
10
21
75
-60
-4
0
0
0
0
0
0
0
0
41
65
-20
15
10
25
69
-18
-3
0
0
0
0
0
0
0
0
52
22
18
-6
0
21
11
-22
0
0
0
0
0
0
0
0
0
36
77
52
1
11
8
12
1
0
0
0
0
0
0
0
0
0
-65
95
41
35
63
14
-8
3
0
0
0
0
0
0
0
0
0
74
2
0
-32
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
1
11
-50
24
-7
51
0
0
0
0
0
0
0
0
0
0
0
-1
26
-29
-28
45
67
0
0
0
0
0
0
0
0
0
0
0
7
8
-2
13
100
96
-49
30
6
0
0
0
0
0
0
0
0
0
-3
-36
9
56
-30
-153
30
0
0
0
0
0
0
0
0
0
0
8
-32
-15
52
-66
-161
0
0
0
0
0
0
0
0
0
0
0
22
46
-68
46
-80
-33
-77
0
0
0
0
0
0
0
0
0
0
-1
8
-2
-30
29
-146
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
2
34
53
43
0
0
0
0
0
0
0
0
0
0
0
-4
-30
-26
-21
-43
23
0
0
0
0
0
0
0
0
0
0
0
6
13
27
-20
37
51
0
0
0
0
0
0
0
0
0
0
0
0
18
-44
-3
10
8
0
0
0
0
0
0
0
0
0
0
0
1
13
-2
27
7
103
-6
-1
0
0
0
0
0
0
0
0
0
9
1
-74
-36
55
27
-8
0
0
0
0
0
0
0
0
0
0
0
6
-24
2
15
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
2
-29
4
-59
-8
-40
33
0
0
0
0
0
0
0
0
0
0
17
24
12
62
-14
13
42
0
0
0
0
0
0
0
0
0
0
-1
-1
115
36
1
4
-17
-2
-1
0
0
0
0
0
0
0
0
0
68
7
2
35
19
103
3
-56
0
0
0
0
0
0
0
0
0
21
-20
5
-19
64
-18
-21
-9
0
0
0
0
0
0
0
0
11
-5
-28
-32
-21
-68
36
-7
-16
1
0
0
0
0
0
0
0
10
-2
-71
13
-16
10
-18
-73
30
0
0
0
0
0
0
0
0
-6
1
29
-16
25
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
69
-32
-1
-31
-10
-1
-35
0
0
0
-10
0
0
0
1
0
0
34
-2
-1
0
0
3
3
0
0
0
-4
13
0
0
0
0
0
6
25
-9
6
14
-6
-13
-39
-25
14
-3
2
0
0
0
0
0
-11
39
7
6
6
4
-16
-30
-2
15
-8
0
-10
0
0
-1
0
19
-9
1
1
-9
14
-17
-9
-32
-16
-6
-13
-4
1
0
0
0
-9
18
-12
-16
-8
-21
-7
-5
8
-49
2
3
-2
0
0
1
0
12
36
27
-5
12
-6
-1
-12
9
-7
9
0
0
0
0
0
0
46
16
35
71
2
22
-13
-31
13
21
-1
0
0
0
0
0
0
-3
-7
6
42
37
-57
-13
13
-24
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
-22
35
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
95
8
19
-2
0
0
0
0
0
0
0
0
0
0
0
2
1
-6
44
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
13
5
38
-21
-1
0
0
0
0
0
0
0
0
0
0
0
-6
-22
62
-41
63
0
0
0
0
0
0
0
0
0
0
0
0
2
-28
-46
-11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-17
-28
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
69
-39
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
32
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
8
24
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
-22
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
2
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-18
25
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-11
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-38
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
35
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-34
-1
6
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
22
-9
5
28
21
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-3
-15
11
8
-2
0
0
0
0
0
0
0
0
0
3
0
0
2
13
6
32
0
3
0
0
0
0
0
0
0
0
0
-1
2
-40
14
-63
-1
0
0
0
0
0
0
0
0
0
0
0
27
7
-8
-16
1
-7
0
-10
0
0
0
0
0
0
0
0
0
-7
-15
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
17
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
-1
-17
-11
-4
0
0
0
0
0
0
0
0
0
0
7
30
0
7
12
-2
-4
0
0
0
0
0
0
0
0
0
0
-37
-7
29
-6
-12
3
-1
0
0
0
0
0
0
0
0
0
0
0
28
25
-16
-3
9
-7
-1
0
0
0
0
0
0
0
0
0
25
-22
-8
2
-2
0
-16
0
0
0
0
0
0
0
0
0
0
3
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
-30
0
0
0
-1
0
0
0
0
0
0
0
1
17
24
8
41
19
0
0
0
10
3
0
0
0
0
0
0
0
-13
4
-25
-27
-12
-9
-3
35
-3
0
0
0
0
0
0
0
0
-7
23
24
-12
-8
-41
1
19
0
0
0
0
0
0
0
0
1
-3
-25
28
26
21
6
-15
-15
-6
0
0
0
0
0
0
0
0
-1
2
5
-36
25
21
9
-11
0
0
0
0
0
0
0
0
0
0
4
0
32
-1
49
-28
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-81
-44
12
-12
0
0
0
12
0
0
0
0
0
0
0
-1
3
27
3
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
-29
-38
26
0
-7
8
7
9
0
0
0
0
0
0
0
0
0
-17
-6
5
16
8
2
-62
4
0
0
0
0
0
0
0
0
1
66
-45
-30
8
-2
3
-24
-12
4
0
0
0
0
0
0
0
8
-41
-29
-13
-8
-6
13
-63
33
0
-2
0
0
0
0
0
0
0
-3
2
-25
-8
6
21
12
4
1
0
0
0
0
0
0
0
0
81
-2
-6
-7
21
11
15
9
0
0
0
0
0
0
0
0
0
0
13
-34
-2
-18
-33
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
41
39
-13
-16
0
0
0
0
0
0
0
0
0
0
0
0
1
12
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
0
12
15
0
0
0
0
0
0
0
0
0
0
0
0
7
-6
-8
-6
24
0
0
0
0
0
0
0
0
0
0
0
6
-1
-6
-15
57
5
0
0
0
0
0
0
0
0
0
0
0
0
67
-3
50
-64
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-61
6
0
0
0
0
0
0
0
0
0
0
0
3
65
-34
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
11
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-39
-59
-33
58
-22
0
0
0
0
0
0
0
0
0
0
0
11
-26
45
3
42
47
0
0
0
0
0
0
0
0
0
0
0
22
-23
-83
25
20
7
0
0
0
0
0
0
0
0
0
0
0
0
-18
37
-31
6
0
0
0
0
0
0
0
0
0
0
0
0
13
-25
12
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
1
-27
-2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-11
13
4
34
16
0
0
0
0
0
0
0
0
0
0
0
-2
24
48
37
6
15
0
0
0
3
0
0
0
0
0
0
0
2
2
23
-22
13
10
-10
-37
7
0
0
0
0
0
0
0
0
0
-3
0
-8
-8
5
-20
-5
8
0
0
0
0
0
0
0
0
-6
0
-42
-72
8
11
12
19
3
0
0
0
0
0
0
0
0
0
-7
1
19
-39
3
4
-5
-1
0
0
0
0
0
0
0
0
0
-4
32
3
8
30
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
9
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
66
11
50
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
11
83
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-21
4
-30
15
0
0
0
0
0
0
0
0
0
0
0
4
-9
-35
12
-11
-21
-2
0
0
0
0
0
0
0
0
0
0
0
0
40
-30
19
-1
10
0
0
0
0
0
0
0
0
0
0
-1
0
-21
17
2
-3
7
0
0
0
0
0
0
0
0
0
0
0
6
0
18
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
46
15
-9
0
0
0
0
0
0
0
0
0
0
0
3
0
16
-78
40
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
7
-27
40
-1
11
2
0
0
0
0
0
0
0
0
4
12
4
-15
12
-22
34
12
-28
0
0
0
0
0
0
0
0
4
0
1
51
18
3
-25
-52
-8
0
0
0
0
0
0
0
0
-4
0
1
24
-3
3
-16
6
10
3
0
0
0
0
0
0
0
-12
0
1
-1
14
24
37
-13
-8
0
0
0
0
0
0
0
0
0
-12
0
1
-1
61
-37
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-16
16
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-36
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-42
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
71
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-28
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-31
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-29
18
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
4
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
9
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-16
23
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-33
-54
-6
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
-1
10
-1
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
17
40
-27
0
0
0
0
0
0
0
0
0
0
0
0
-4
23
-41
40
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-18
12
-43
-89
43
-7
0
0
0
0
0
0
0
0
0
-1
16
31
-81
-3
62
-53
-4
-3
0
0
0
0
0
0
0
0
0
-1
9
32
-7
-32
1
0
0
0
0
0
0
0
0
0
0
0
0
40
9
-5
14
-2
2
0
0
0
0
0
0
0
0
0
0
0
-11
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-19
-2
0
0
0
-6
0
0
0
0
0
0
0
0
0
12
-23
20
-23
0
0
0
1
0
0
0
0
0
0
0
0
0
9
-21
-8
-9
-4
16
-59
1
0
0
0
0
0
0
0
0
0
-9
-1
-2
-9
24
-66
16
2
0
0
0
0
0
0
0
-1
0
21
-6
41
-15
0
-35
2
0
0
0
0
0
0
0
0
0
1
0
27
13
20
13
-3
1
0
0
0
0
0
0
0
0
0
0
-1
1
-3
-10
-41
-5
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
-8
12
-15
-11
-28
13
0
0
0
0
0
0
0
0
0
0
-24
-85
23
-4
-45
-4
10
0
0
0
0
0
0
0
0
0
0
8
27
-4
26
40
6
-2
0
0
0
0
0
0
0
0
0
0
0
-33
29
-35
6
-30
2
2
0
0
0
0
0
0
0
0
0
0
36
51
17
-23
-14
-1
2
0
0
0
0
0
0
0
0
0
0
17
-2
-8
13
4
-4
0
0
0
0
0
0
0
0
0
0
0
-3
-17
48
9
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
37
2
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-26
-7
10
2
-35
0
0
0
-2
0
0
0
0
0
0
-1
-19
15
-2
-14
-25
12
0
0
0
0
-10
0
0
0
0
0
-2
13
-20
-37
-32
-27
44
52
85
5
0
0
0
0
0
0
0
-7
26
30
29
14
-9
-23
-15
-18
-2
0
0
0
0
0
0
0
0
-16
11
39
47
-5
29
3
3
0
0
0
0
0
0
0
0
0
-6
46
-46
-52
-38
11
-30
0
0
0
0
0
0
0
0
0
0
0
-4
20
10
39
-8
0
1
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-8
-14
-18
-73
0
0
0
-4
-4
0
0
0
0
0
0
-2
-92
55
-32
12
-76
0
0
0
0
0
0
0
0
0
0
0
0
-37
-44
35
-13
-18
45
10
1
0
0
0
0
0
0
0
0
-15
43
-2
20
22
31
33
21
0
0
0
0
0
0
0
0
0
-1
33
-55
-30
52
55
-15
-20
-3
0
0
0
0
0
0
0
0
0
13
7
-8
3
27
-35
3
0
0
0
0
0
0
0
0
0
0
13
-63
-88
62
20
-39
0
0
0
0
0
0
0
0
0
0
0
-16
1
-2
20
6
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
18
1
0
0
0
0
0
0
0
0
0
0
-1
-4
-9
38
-9
-18
-63
0
0
0
0
0
0
0
0
0
0
0
-1
5
44
23
45
57
0
0
0
0
0
0
0
0
0
0
-1
-8
-3
26
19
6
-95
-34
0
0
0
0
0
0
0
0
0
0
-1
-2
49
2
-44
-28
2
0
0
0
0
0
0
0
0
0
-2
0
-1
29
26
9
32
-14
0
0
0
0
0
0
0
0
0
0
0
2
1
5
-15
21
0
0
0
0
0
0
0
0
0
0
-1
0
1
4
2
-11
-1
2
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
0
0
3
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
88
-6
40
6
7
89
0
0
0
0
0
0
0
0
0
0
16
10
-34
25
14
45
0
0
0
0
0
0
0
0
0
0
0
-38
15
12
9
9
42
48
-61
-50
0
0
0
0
0
0
0
0
32
8
-8
-8
15
-38
-21
57
-6
0
0
0
0
0
0
0
0
38
-61
54
31
-17
-16
62
-22
6
-6
0
0
0
0
0
0
0
1
-21
-15
-13
10
-7
72
-25
0
0
0
0
0
0
0
0
0
29
61
35
6
26
4
-8
21
0
0
0
0
0
0
0
0
0
22
-10
-6
-5
-30
-2
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
4
6
-9
-14
-21
-14
0
0
0
8
0
0
0
0
0
0
0
1
-49
-2
-34
-27
-12
0
0
0
-8
0
0
0
0
0
0
0
6
46
-3
-31
-46
1
12
37
-3
0
0
0
0
0
0
0
0
-1
34
-53
64
-80
-10
-60
-51
-6
0
0
0
0
0
0
0
0
0
16
61
68
67
9
-69
0
0
0
0
0
0
0
0
0
0
0
24
9
-22
11
19
19
-45
0
0
0
0
0
0
0
0
0
0
1
-64
24
-29
2
-35
0
0
0
0
0
0
0
0
0
0
0
0
2
-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
-35
-28
46
-69
-17
0
0
0
0
0
0
0
0
0
0
0
-7
-7
-2
14
7
21
0
0
0
0
0
0
0
0
0
0
6
1
29
48
-41
8
6
-1
-3
0
0
0
0
0
0
0
0
0
0
0
86
55
-16
39
7
0
0
0
0
0
0
0
0
0
0
0
1
12
-16
-17
-19
-1
0
0
0
0
0
0
0
0
0
0
10
0
5
-38
-31
19
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
22
3
21
41
-1
25
0
0
0
0
0
0
0
0
0
0
6
-47
-3
14
0
58
-40
0
0
0
-1
0
0
0
0
0
0
-4
-74
-11
-39
25
29
12
20
-7
-2
0
0
0
0
0
0
0
0
56
21
10
61
25
21
16
-46
12
0
0
0
0
0
0
0
0
-8
0
-16
30
19
3
-17
-40
0
0
0
0
0
0
0
0
3
-11
-50
8
34
49
3
-11
-31
0
0
0
0
0
0
0
0
1
2
0
34
43
-6
35
-27
35
0
0
0
0
0
0
0
0
-1
0
4
-7
26
2
-37
0
6
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
-8
5
35
-4
-14
-8
-68
0
0
0
-2
-24
7
0
3
0
0
-33
27
12
8
13
0
4
0
0
0
-10
25
-20
-1
-3
-1
0
-9
-5
17
13
-10
3
-17
-28
-15
17
-22
-21
-11
-13
0
1
0
5
-3
1
-6
16
19
3
12
26
35
38
1
-25
-2
0
0
0
1
22
29
-2
1
8
7
19
38
36
-39
-42
27
0
-2
-1
0
-27
26
30
1
18
20
28
17
13
-34
-21
3
-28
9
-3
7
0
-18
33
19
20
8
9
9
-10
-33
-4
7
49
6
-6
3
0
0
11
28
28
55
24
17
-31
-24
-33
22
-56
-6
-11
0
0
0
0
5
-2
-17
0
7
15
-30
-15
24
-34
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
20
13
-46
52
-31
14
0
0
0
0
0
0
0
0
0
0
0
7
-13
25
0
17
29
0
0
0
0
0
0
0
0
0
0
0
19
50
15
7
-8
0
0
1
0
0
0
0
0
0
0
0
4
2
12
-1
38
5
0
0
0
0
0
0
0
0
0
0
0
-10
-56
37
-25
96
43
0
0
0
0
0
0
0
0
0
0
0
9
-22
14
-23
59
0
1
0
0
0
0
0
0
0
0
0
0
-1
-57
-74
-77
10
-3
0
0
0
0
0
0
0
0
0
0
0
-3
84
-57
-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
9
3
-8
0
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
0
-9
-6
26
0
0
0
0
0
0
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
18
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
9
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
0
0
0
0
2
3
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
51
0
-24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
20
41
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
-31
65
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
57
-27
62
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
44
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-37
-3
11
8
0
0
0
0
0
0
0
0
0
0
4
-6
-51
4
-7
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
24
50
-40
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
54
47
18
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
-31
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
25
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
12
-11
30
-1
10
0
0
0
0
0
0
0
0
0
0
-1
-4
36
12
5
35
53
0
0
0
0
0
0
0
0
0
0
-6
-1
45
-36
-26
-30
8
9
0
0
0
0
0
0
0
0
0
13
0
6
-107
-2
-10
-38
7
0
0
0
0
0
0
0
0
0
-2
3
-1
43
42
41
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-22
17
-6
0
-2
0
0
0
0
0
0
0
0
0
8
-4
10
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
7
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
1
0
-3
3
-1
6
9
0
0
0
0
0
0
0
0
0
0
0
-1
47
-39
37
-35
48
0
0
0
0
0
0
0
0
0
0
0
-20
4
-2
-18
-12
-18
17
0
0
0
0
0
0
0
0
0
-1
2
38
15
-3
35
13
-9
0
0
0
0
0
0
0
0
0
0
27
-11
10
-8
30
3
-22
1
0
0
0
0
0
0
0
0
35
6
40
3
-4
-22
24
4
1
0
0
0
0
0
0
0
0
0
8
6
14
-10
9
3
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
4
-28
0
0
0
-5
-2
-1
0
0
0
0
0
19
68
20
49
24
-40
0
0
0
-17
12
0
0
0
0
0
7
9
1
10
8
27
-23
23
-24
-28
24
1
0
0
0
0
0
0
-10
-30
15
-1
-29
7
-27
40
13
5
0
0
0
0
0
0
0
8
-23
-2
-40
-48
8
-10
30
-11
-2
3
0
0
0
0
0
0
-3
25
82
-2
-56
38
3
44
59
4
0
0
0
0
0
0
0
0
0
-73
10
35
-1
15
11
-2
0
0
0
0
0
0
0
0
-6
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
35
11
-4
42
18
0
0
0
58
4
0
0
0
0
0
0
0
15
12
26
34
17
0
0
0
-23
-18
0
0
0
0
0
0
-2
25
4
39
22
8
25
-37
-21
14
26
0
0
0
0
0
0
-1
-19
-8
27
32
16
21
36
4
2
18
0
1
0
0
0
0
1
7
8
17
15
20
13
1
-16
-11
-3
0
0
0
0
0
0
12
-75
8
-6
-2
23
27
-30
31
13
8
0
0
0
0
0
0
0
-1
23
11
-5
11
-10
-10
22
33
-4
0
0
0
0
0
0
0
-8
34
39
-11
-44
-24
-4
19
0
-1
0
0
0
0
0
0
0
0
22
-25
-21
-34
-3
-61
8
4
0
0
0
0
0
0
0
0
0
0
-3
57
61
0
0
0
4
0
0
0
0
0
0
0
0
0
-4
13
-81
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
-10
-3
33
-28
46
18
20
0
0
0
0
0
0
0
0
0
0
1
-9
17
-4
-4
-1
-6
0
0
0
0
0
0
0
0
0
0
0
-1
11
-9
29
27
0
0
0
0
0
0
0
0
0
0
0
-3
18
7
-19
8
1
0
0
0
0
0
0
0
0
0
0
0
-9
8
-7
-34
10
1
0
0
0
0
0
0
0
0
0
0
0
9
-13
22
-15
-31
1
16
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-29
24
0
0
0
0
0
0
0
0
0
0
0
16
50
56
-9
0
0
0
1
0
0
0
0
0
0
0
0
-2
-45
-20
54
-26
0
0
0
0
0
0
0
0
0
0
0
0
-2
-21
70
35
11
12
-58
18
-3
0
0
0
0
0
0
0
0
2
4
35
-37
10
6
19
2
0
0
0
0
0
0
0
0
0
0
4
-24
24
-5
-7
0
1
0
0
0
0
0
0
0
0
0
0
11
64
-25
-47
-56
2
0
0
0
0
0
0
0
0
0
0
0
23
-9
53
-12
-51
8
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
12
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
-4
-16
-31
33
8
52
1
0
0
0
12
0
0
0
0
0
0
7
-4
14
52
32
7
2
0
0
0
24
0
0
0
0
0
0
10
24
49
-18
7
16
20
2
-9
39
-1
0
0
0
0
0
0
0
4
-44
8
-43
20
19
-22
22
38
0
0
0
0
0
0
0
0
0
-13
-42
20
19
-17
16
32
8
1
0
0
0
0
0
0
0
14
-15
40
28
-3
3
54
41
4
0
0
0
0
0
0
0
0
0
-10
17
15
39
-60
33
4
0
0
0
0
0
0
0
0
0
0
2
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
1
0
0
-11
15
23
-6
0
0
0
0
0
0
0
0
0
0
1
0
-18
-40
-25
135
6
0
0
0
0
0
0
0
0
0
0
0
-11
1
30
23
-21
23
44
6
4
0
0
0
0
0
0
0
0
0
22
-25
-41
42
31
8
-3
0
0
0
0
0
0
0
0
0
0
11
-13
30
18
-54
-3
-2
0
0
0
0
0
0
0
0
0
0
10
-2
-72
21
10
-2
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
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
-1
0
32
122
-24
0
0
0
0
0
0
0
0
0
0
1
11
-2
34
2
6
-21
0
0
0
-2
0
0
0
0
0
0
0
-3
-2
-13
41
36
-14
3
19
0
0
0
0
0
0
0
0
-4
27
19
71
13
-3
-22
-39
42
18
0
0
0
0
0
0
0
0
10
4
1
-24
30
-55
59
-7
-1
-5
0
0
0
0
0
0
0
-7
-4
0
-49
1
-18
-50
9
-13
3
0
0
0
0
0
0
0
-1
0
-9
-2
-20
13
12
26
-5
0
0
0
0
0
0
0
0
0
-3
0
9
-21
17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
16
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-32
-22
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-41
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
77
-7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-22
18
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-15
11
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-9
-57
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
33
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-3
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
15
63
-37
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
-51
28
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
12
-27
-70
41
-7
0
0
0
0
0
0
0
0
0
-1
17
32
-74
1
70
-45
-3
-3
0
0
0
0
0
0
0
0
0
-1
1
39
-19
-28
2
0
0
0
0
0
0
0
0
0
0
0
0
45
9
4
9
-2
2
0
0
0
0
0
0
0
0
0
0
0
-6
6
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
4
4
-32
27
0
0
0
-6
0
0
0
0
0
0
0
0
0
6
-19
6
-9
0
0
0
4
0
0
0
0
0
0
0
0
0
8
-18
-21
-16
3
6
-57
4
0
0
0
0
0
0
0
0
0
-11
-8
-7
-16
17
-26
22
4
0
0
0
0
0
0
0
-1
0
20
4
30
2
-8
-48
1
0
0
0
0
0
0
0
0
0
1
0
21
7
29
20
-17
1
0
0
0
0
0
0
0
0
0
0
-1
1
-6
-12
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
16
6
-12
-35
15
0
0
0
0
0
0
0
0
0
0
-16
-83
12
-35
-32
-4
14
0
0
0
0
0
0
0
0
0
0
3
28
-12
11
52
8
-3
0
0
0
0
0
0
0
0
0
0
0
-33
32
-7
11
-30
5
2
0
0
0
0
0
0
0
0
0
0
43
54
15
-20
-19
-1
2
0
0
0
0
0
0
0
0
0
0
20
1
-15
13
2
-2
0
0
0
0
0
0
0
0
0
0
0
-3
-15
46
8
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-1
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-32
-4
11
12
-23
0
0
0
-2
0
0
0
0
0
0
-1
-29
17
-10
6
-4
-15
0
0
0
0
-10
0
0
0
0
0
-2
18
31
-73
-57
-62
44
39
63
1
0
0
0
0
0
0
0
-7
30
51
70
-6
-18
13
3
-40
3
0
0
0
0
0
0
0
0
-11
34
49
35
-2
19
1
3
0
0
0
0
0
0
0
0
0
-6
34
-64
-84
-36
26
-21
0
0
0
0
0
0
0
0
0
0
0
-3
6
7
41
-7
4
1
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-22
-59
-36
-45
0
0
0
-4
-4
0
0
0
0
0
0
-2
-79
66
16
-9
-54
0
0
0
0
0
0
0
0
0
0
0
0
-43
-64
22
-38
-27
41
10
1
0
0
0
0
0
0
0
0
-15
52
15
-9
0
49
56
22
0
0
0
0
0
0
0
0
0
-1
29
-76
5
2
42
-11
-13
-3
0
0
0
0
0
0
0
0
0
10
40
-12
2
32
-45
3
0
0
0
0
0
0
0
0
0
0
10
-76
-71
76
18
-36
0
0
0
0
0
0
0
0
0
0
0
-9
15
33
22
15
2
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
-4
-9
30
-17
-16
-48
0
0
0
0
0
0
0
0
0
0
0
-2
2
15
-2
60
64
0
0
0
0
0
0
0
0
0
0
-1
-4
-3
43
33
29
-75
-30
0
0
0
0
0
0
0
0
0
0
-1
-3
48
2
-28
-23
2
0
0
0
0
0
0
0
0
0
-2
0
-1
28
24
-1
28
-16
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
-13
16
0
0
0
0
0
0
0
0
0
0
-1
0
1
-2
2
-10
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
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
60
1
39
64
3
75
0
0
0
0
0
0
0
0
0
0
26
62
3
32
0
3
0
0
0
0
0
0
0
0
0
0
0
-41
-39
16
52
23
26
19
-36
-46
0
0
0
0
0
0
0
0
-23
-8
-21
-35
36
-41
-3
66
-14
0
0
0
0
0
0
0
0
11
-91
18
30
-30
1
53
-19
6
-6
0
0
0
0
0
0
0
11
-6
-30
-39
31
19
46
-23
0
0
0
0
0
0
0
0
0
26
109
-4
5
31
11
3
17
0
0
0
0
0
0
0
0
0
30
-12
0
-1
-42
-8
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
11
4
-37
31
-46
0
0
0
14
0
0
0
0
0
0
0
1
-37
13
-15
-22
-6
0
0
0
-7
0
0
0
0
0
0
0
6
63
7
-50
-22
-46
-4
35
-3
-3
0
0
0
0
0
0
0
-1
38
-50
50
-93
6
-40
-74
-6
0
0
0
0
0
0
0
0
0
0
54
49
61
8
-73
1
0
0
0
0
0
0
0
0
0
0
25
18
-38
-8
54
18
-41
0
0
0
0
0
0
0
0
0
0
1
-74
10
-29
2
-27
0
0
0
0
0
0
0
0
0
0
0
0
2
-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
-30
-18
54
-85
-6
0
0
0
0
0
0
0
0
0
0
0
-7
-8
-4
16
-8
33
0
0
0
0
0
0
0
0
0
0
6
1
25
77
10
23
3
-1
-3
0
0
0
0
0
0
0
0
0
0
0
95
22
-47
28
7
0
0
0
0
0
0
0
0
0
0
0
1
-29
1
-19
-37
-1
0
0
0
0
0
0
0
0
0
0
10
0
16
-35
-35
24
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
-6
27
-14
17
-19
17
50
0
0
0
0
0
0
0
0
0
0
7
-64
-22
29
5
53
-38
0
0
0
-1
0
0
0
0
0
0
-3
-50
-18
-53
46
30
24
14
-5
-2
0
0
0
0
0
0
0
0
45
9
-14
50
19
55
24
-17
16
0
0
0
0
0
0
0
0
-2
-4
-24
42
38
0
7
-32
0
0
0
0
0
0
0
0
3
0
-35
16
-2
50
-43
-21
-32
0
0
0
0
0
0
0
0
1
2
-3
22
22
-31
28
-7
33
0
0
0
0
0
0
0
0
-1
0
4
-7
9
1
-30
0
6
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
-24
1
-2
28
12
7
-19
0
0
0
-18
-25
7
0
3
0
0
-40
-8
20
-10
7
23
15
0
0
0
-6
24
-20
-1
-4
-1
0
9
19
19
-4
29
-9
24
28
18
35
-7
-12
-3
-7
0
1
0
-7
-21
20
21
10
35
56
33
59
20
21
-8
-10
-1
0
0
0
9
-25
10
8
20
-7
-13
-5
11
25
-12
-30
26
0
-2
-1
0
-35
19
-7
-21
12
2
19
16
-17
-19
-30
-6
-28
11
-3
7
0
-53
37
60
32
-10
-12
-5
-27
-19
-31
7
45
6
-6
3
0
0
7
12
-15
23
20
32
-33
-9
11
-11
-46
-8
-9
0
0
0
0
16
0
-11
-8
0
44
-47
-14
31
-53
55
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
19
-56
49
-32
18
0
0
0
0
0
0
0
0
0
0
0
14
-42
26
-4
36
32
0
0
0
0
0
0
0
0
0
0
0
21
88
-47
17
-9
0
0
1
0
0
0
0
0
0
0
0
4
-9
-2
8
27
0
0
0
0
0
0
0
0
0
0
0
0
-10
-65
48
4
51
37
0
0
0
0
0
0
0
0
0
0
0
9
-11
7
10
73
0
1
0
0
0
0
0
0
0
0
0
0
-1
-54
-76
-82
14
-3
0
0
0
0
0
0
0
0
0
0
0
-3
79
-45
-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
9
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
16
-11
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
-22
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
2
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
29
13
-37
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-14
40
-4
0
0
0
0
0
0
0
0
0
0
0
0
-6
-20
55
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
74
-19
49
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
36
-15
0
0
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
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-14
-21
-13
2
8
0
0
0
0
0
0
0
0
0
0
4
-6
-53
20
-15
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
32
23
-33
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
45
32
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-42
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
28
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
4
10
0
0
0
0
0
0
0
0
0
0
-1
3
30
-7
4
27
34
0
0
0
0
0
0
0
0
0
0
-6
-1
40
9
-41
-31
7
16
0
0
0
0
0
0
0
0
0
10
0
8
-125
-11
-16
-29
2
0
0
0
0
0
0
0
0
0
-2
1
0
20
36
59
-9
0
0
0
0
0
0
0
0
0
0
0
1
2
12
-17
14
-7
0
-2
0
0
0
0
0
0
0
0
0
6
-3
8
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
3
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
1
0
-3
2
-2
15
17
0
0
0
0
0
0
0
0
0
0
0
0
51
-33
45
-48
31
0
0
0
0
0
0
0
0
0
0
0
-21
3
3
-23
-8
-11
21
0
0
0
0
0
0
0
0
0
-1
20
17
8
-12
37
7
-9
0
0
0
0
0
0
0
0
0
0
39
-1
-17
-8
22
14
-25
0
0
0
0
0
0
0
0
0
32
1
36
-5
-28
-25
27
-1
1
0
0
0
0
0
0
0
0
0
4
8
12
-18
4
0
-6
0
0
0
0
0
0
0
0
0
0
-2
4
2
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-5
0
0
0
2
-2
-1
0
0
0
0
0
17
35
5
4
44
-11
0
0
0
-27
11
0
0
0
0
0
7
3
7
13
15
11
10
0
15
-47
11
1
0
0
0
0
0
0
-11
-2
-4
8
-37
-7
4
49
18
5
0
0
0
0
0
0
0
8
-34
38
-44
-14
2
-89
2
-13
0
3
0
0
0
0
0
0
-2
10
78
-19
-22
51
20
96
39
4
0
0
0
0
0
0
0
0
0
-77
19
24
-1
25
9
0
0
0
0
0
0
0
0
0
-6
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
46
4
19
-7
1
0
0
0
57
4
0
0
0
0
0
0
0
-12
-15
9
30
23
0
0
0
-28
-18
0
0
0
0
0
0
-2
26
-44
-21
3
17
-27
-30
-11
16
27
0
0
0
0
0
0
-1
-4
-26
28
21
30
24
19
-21
15
21
0
1
0
0
0
0
1
-14
-29
-1
2
24
42
24
15
-7
-2
0
0
0
0
0
0
12
-50
10
-5
-20
51
58
9
15
22
8
0
0
0
0
0
0
0
2
51
32
11
-6
-58
-25
32
34
-4
0
0
0
0
0
0
0
-11
18
48
17
-50
-22
10
15
0
-1
0
0
0
0
0
0
0
0
30
-22
-2
0
-7
-50
8
4
0
0
0
0
0
0
0
0
0
0
-3
35
69
0
0
0
4
0
0
0
0
0
0
0
0
0
-4
0
-83
11
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
2
23
-42
45
32
24
0
0
0
0
0
0
0
0
0
0
1
-6
9
-7
-4
-1
-5
0
0
0
0
0
0
0
0
0
0
0
-1
10
-9
36
19
0
0
0
0
0
0
0
0
0
0
0
-3
17
4
-19
6
-1
0
0
0
0
0
0
0
0
0
0
0
-9
10
-4
-22
6
-2
0
0
0
0
0
0
0
0
0
0
0
9
-7
23
-28
-24
-13
18
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-17
24
0
0
0
0
0
0
0
0
0
0
0
15
24
48
-14
0
0
0
1
0
0
0
0
0
0
0
0
-2
-49
2
82
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
55
64
24
17
-63
18
-3
0
0
0
0
0
0
0
0
2
16
22
-51
3
11
18
0
0
0
0
0
0
0
0
0
0
0
2
-49
33
-1
-2
0
1
0
0
0
0
0
0
0
0
0
0
6
19
-11
-43
-43
2
0
0
0
0
0
0
0
0
0
0
0
21
-9
44
-16
-37
8
0
0
0
0
0
0
0
0
0
0
0
0
-10
-7
15
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
-4
-17
-38
62
-1
65
35
0
0
0
9
0
0
0
0
0
0
7
-2
22
26
20
5
12
0
0
0
26
0
0
0
0
0
0
10
12
56
-13
11
22
32
26
-41
41
-1
0
0
0
0
0
0
0
4
-39
-1
-69
21
9
-74
43
26
0
0
0
0
0
0
0
0
12
-15
1
35
-4
-7
17
6
5
1
0
0
0
0
0
0
0
21
-7
49
-9
-10
-36
38
36
5
0
0
0
0
0
0
0
0
0
-10
-1
17
-2
-66
34
4
0
0
0
0
0
0
0
0
0
0
2
0
4
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-11
11
19
-1
0
0
0
0
0
0
0
0
0
0
1
0
-18
-21
-39
97
-6
0
0
0
0
0
0
0
0
0
0
0
-11
1
33
15
18
2
37
7
4
0
0
0
0
0
0
0
0
0
12
-25
-44
45
30
13
-2
0
0
0
0
0
0
0
0
0
0
7
-14
22
2
-59
-3
0
0
0
0
0
0
0
0
0
0
0
10
0
-59
26
18
-4
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
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
0
0
0
0
0
0
0
0
0
0
0
-1
0
42
100
-17
0
0
0
0
0
0
0
0
0
0
1
9
-2
42
13
7
-9
0
0
0
-2
0
0
0
0
0
0
0
-3
-2
-8
39
67
8
18
18
0
0
0
0
0
0
0
0
-2
16
12
52
0
3
1
-55
49
12
0
0
0
0
0
0
0
0
10
-2
1
-22
46
-79
72
-7
-1
-2
0
0
0
0
0
0
0
-7
-4
0
-61
-10
-4
-44
10
-22
3
0
0
0
0
0
0
0
-1
0
-10
-1
-5
2
-4
39
0
0
0
0
0
0
0
0
0
0
-3
0
6
-21
-6
8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
12
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
8
-9
-21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-8
22
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
11
-22
-9
2
0
0
0
0
0
0
0
0
0
0
1
-6
-21
0
-2
2
8
0
0
0
0
0
0
0
0
0
0
-1
-1
16
3
9
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
11
1
-13
-7
0
2
0
0
0
0
0
0
0
0
0
0
1
19
9
-8
3
0
2
0
0
0
0
0
0
0
0
0
0
-1
3
-6
2
-6
3
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
16
18
0
0
0
0
0
0
0
0
0
0
-1
0
1
3
23
-7
-56
0
0
0
0
0
0
0
0
0
0
0
0
13
-9
-9
-3
7
1
-7
0
0
0
0
0
0
0
0
0
0
-2
35
8
0
-1
2
-2
4
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
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
3
17
0
0
0
0
0
0
0
0
0
0
0
0
2
15
16
-25
12
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-1
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
-8
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
4
12
3
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
1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-32
-17
-13
27
10
0
0
0
0
0
0
0
0
0
0
0
12
34
0
20
46
-47
0
0
0
0
0
0
0
0
0
0
0
0
1
21
19
-35
0
-58
17
-1
0
0
0
0
0
0
0
0
-1
2
-2
2
14
17
28
7
0
0
0
0
0
0
0
0
0
-11
0
-28
-14
-6
2
0
6
0
0
0
0
0
0
0
0
0
0
-3
-2
20
17
17
-1
-3
0
0
0
0
0
0
0
0
0
0
12
0
12
22
-1
-1
3
0
0
0
0
0
0
0
0
0
2
-2
0
2
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
-1
-10
-38
19
-7
-2
0
0
0
0
0
0
0
0
0
-4
-2
-2
-4
-8
-4
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-1
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
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
11
8
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-3
6
0
0
-1
0
0
0
0
0
0
0
0
0
3
-1
1
2
-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
2
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
40
-10
-16
34
45
47
0
0
0
-9
-29
1
0
0
0
0
12
-63
6
53
-16
-12
28
0
0
0
-9
-1
-1
0
0
0
0
21
57
-25
-36
90
25
88
33
-10
17
8
0
5
-1
0
1
0
-26
18
33
-6
-4
16
-41
13
6
0
6
6
-4
0
0
0
0
-28
-58
-12
13
-13
-31
-32
-12
-18
-27
20
-6
1
0
0
0
0
-28
11
-22
-11
-26
30
3
-5
-43
-19
-15
0
1
0
0
0
0
-9
6
-8
25
-31
14
-14
48
17
-42
-2
2
-3
0
0
0
0
0
-35
-11
11
8
-7
7
-15
35
-2
-8
-1
-1
0
0
0
0
1
0
3
9
-21
-8
6
-41
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
1
1
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-19
4
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-9
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
66
28
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
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
-1
1
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-28
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
1
8
2
-4
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
-2
-2
-9
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
-11
7
29
0
0
0
0
0
0
0
0
0
0
0
-1
3
27
12
-16
-1
6
0
-26
0
0
0
0
0
0
0
0
-1
6
-6
-13
2
4
-15
7
-2
-1
0
0
0
0
0
0
0
0
-1
16
11
-9
8
-6
0
2
0
0
0
0
0
0
0
0
0
0
6
-13
-1
4
0
3
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
38
-16
-26
0
0
0
4
0
0
0
0
0
0
0
0
-7
-13
-13
-56
-8
0
0
0
2
0
0
0
0
0
0
0
0
8
5
-26
-23
7
7
-11
-3
6
6
0
0
0
0
0
0
0
-7
28
4
6
2
12
0
-43
6
-2
0
0
0
0
0
0
0
0
-21
-48
69
38
20
42
18
-7
0
0
0
0
0
0
0
0
-3
-2
9
-20
-29
0
14
11
8
1
0
0
0
0
0
0
0
0
11
10
45
-25
-13
4
12
6
0
0
0
0
0
0
0
0
0
-1
-18
10
18
48
-14
-2
1
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-6
-2
0
1
0
0
0
0
0
0
0
0
0
0
-1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-13
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
21
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
-8
5
4
0
1
0
0
0
0
0
0
0
0
0
0
1
-7
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
-16
-20
0
0
0
0
0
0
0
0
0
0
0
2
-6
-13
1
-16
-12
0
0
0
0
0
0
0
0
0
0
2
0
0
7
-3
-8
-17
16
-15
17
0
0
0
0
0
0
0
0
1
1
0
-3
7
-15
-2
4
1
0
0
0
0
0
0
0
0
0
3
13
16
8
6
-1
-1
0
1
0
0
0
0
0
0
0
0
0
13
0
-6
-2
-4
3
0
0
0
0
0
0
0
0
0
1
0
0
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
-4
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
15
57
18
-5
-15
34
0
0
66
2
-10
-15
-21
-16
39
0
0
35
6
13
-15
-24
-14
20
0
0
2
9
17
-5
-13
-28
-61
0
0
18
-6
40
10
8
-11
4
0
0
-20
-33
-3
-11
0
-10
-5
0
0
-35
-6
-15
-5
-1
-27
-4
0
0
24
-6
7
31
-13
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
-12
-1
7
-57
-51
-49
0
-47
-7
-18
39
-41
-54
14
0
0
0
0
0
0
-21
0
0
0
0
0
0
-4
6
-2
0
0
-59
0
7
17
-21
69
0
9
-18
0
0
-129
11
50
0
0
-13
0
0
0
-42
0
0
-2
-34
-3
-1
-33
20
14
0
0
-6
-3
0
0
-6
-6
-35
-24
-47
-16
-42
-10
24
-32
0
0
0
0
0
0
2
0
0
-19
-8
0
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
7
21
64
-4
3
-9
29
47
31
32
10
0
0
-93
-78
-38
-49
-12
-35
-9
-6
0
-43
8
7
22
26
0
0
-6
6
3
2
-50
-34
-4
0
-27
-62
99
-8
-62
126
0
0
-10
-2
-2
-42
55
97
-8
20
-20
11
0
73
68
45
0
0
29
7
13
-19
64
12
6
25
-26
-34
34
38
50
36
0
0
126
0
-13
-48
83
1
-24
18
-12
-56
12
37
62
7
0
0
0
0
0
0
50
0
-17
74
58
-4
-46
51
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
-41
-8
-26
-68
6
33
2
28
20
-38
-45
9
-16
-9
0
0
1
0
0
0
-19
1
0
-26
0
0
0
-15
1
-2
0
0
22
-16
1
34
12
59
-1
27
15
0
0
-66
-43
4
0
0
-6
0
-2
10
-39
-25
-13
6
1
-18
7
13
-22
-61
0
0
-22
-2
-2
0
-64
-30
-40
29
-3
-17
22
2
56
-40
0
0
0
0
0
0
0
0
-2
-6
29
0
1
-1
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
-2
19
61
20
-28
46
1
1
22
37
67
31
0
0
-44
-18
-54
-45
-32
-53
-2
-12
0
-35
-28
-33
-24
-22
0
0
-11
8
1
2
-19
-4
65
-15
-20
0
-60
29
-16
-109
0
0
3
-3
-9
-95
25
21
-25
2
-42
-106
-18
21
-8
8
0
0
-6
-8
50
58
46
36
-3
23
-26
6
-5
21
18
50
0
0
96
0
-18
-13
14
90
48
44
-14
-65
10
71
37
15
0
0
0
0
0
0
74
0
76
35
59
4
46
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
-14
-3
20
-68
14
35
3
33
20
-76
-79
11
16
-32
0
0
3
0
0
0
-21
1
0
-25
0
0
2
-11
1
-2
0
0
35
-16
1
36
7
53
-1
26
9
0
0
-46
-32
6
0
0
-12
0
-2
8
-42
-20
-14
2
29
-13
7
8
-22
-38
0
0
-18
-2
-2
0
-58
-28
-35
10
6
-19
20
6
42
-15
0
0
0
0
0
0
0
0
-2
-6
20
0
1
1
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-2
20
97
25
22
71
23
40
38
20
36
9
0
0
-6
-15
-59
-74
19
-10
-2
8
0
17
7
-12
-22
-4
0
0
-11
8
1
2
7
0
81
-25
8
7
-82
22
-10
-136
0
0
8
-3
-9
-82
0
-10
-3
-16
-15
-75
-30
-19
-62
-18
0
0
30
-8
45
54
33
6
11
22
1
23
31
38
27
7
0
0
83
0
-10
-1
9
75
89
36
17
-34
14
15
11
24
0
0
0
0
0
0
53
0
89
35
56
4
46
60
-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
4
0
2
-1
0
18
0
2
-1
-2
-7
1
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
-3
0
0
0
0
1
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
1
52
-77
8
2
-3
-16
-32
-4
0
0
8
0
3
-3
73
38
-19
-6
0
67
24
-64
7
49
0
0
0
0
0
0
1
0
11
-16
40
0
3
-4
3
0
0
0
0
0
0
0
23
6
32
28
10
-7
-10
-4
-34
8
0
0
10
0
2
0
2
-1
49
-44
-48
-6
48
6
-4
-10
0
0
1
0
0
0
7
3
30
8
-20
2
11
-41
1
-10
0
0
0
0
0
0
1
0
12
-2
0
0
0
2
0
0
2
1
0
0
-2
-2
-1
-10
-2
0
0
-1
-1
0
4
3
6
7
9
4
3
-2
0
-6
-4
-5
-6
2
0
0
0
2
1
-1
-4
-9
6
3
1
-2
0
-3
-5
-5
-6
1
2
-1
-1
1
1
-2
4
-3
13
-6
-14
-24
4
-10
14
6
10
-2
-15
-18
-7
8
8
2
19
25
16
8
13
-5
-18
25
5
8
14
16
16
1
0
5
-3
-2
2
1
0
-5
1
1
3
-2
2
-4
-7
-9
-5
-22
-17
-1
1
-4
-13
0
-2
5
13
10
-2
-2
4
-11
-20
25
42
27
11
3
26
15
10
9
5
2
7
0
-1
1
-8
2
-1
-14
7
5
1
7
0
13
3
-1
-8
-3
-7
1
-1
-6
-2
-13
12
4
7
5
9
7
-12
-6
-23
12
2
8
-7
1
9
23
8
3
-4
1
2
11
6
1
-1
3
4
5
-4
9
-2
-1
5
8
15
-5
1
3
3
5
-5
-2
2
2
-9
-7
-2
0
-4
-2
-6
7
5
6
2
10
11
5
-5
-5
14
12
18
3
2
12
-1
-5
4
4
0
3
0
1
9
-1
2
4
4
4
-1
4
4
6
-1
0
4
5
7
1
0
2
-2
0
8
-9
-1
-6
6
11
10
4
3
2
18
3
3
-1
-2
5
1
-2
4
4
2
-1
0
5
-4
3
1
6
2
5
0
9
0
3
1
7
-2
1
4
-5
-8
-11
1
4
0
-10
-6
12
1
15
3
0
4
0
13
7
15
9
11
1
-2
2
4
4
-2
7
0
0
3
0
8
-1
3
7
7
5
0
3
7
-1
1
1
3
6
3
2
-6
2
-3
1
0
-3
5
-10
2
25
11
15
-22
14
-13
-31
14
-5
-5
-8
-4
9
7
18
5
17
-8
9
1
13
-6
7
-2
7
-20
-6
11
-12
-3
-18
8
19
13
-17
-16
10
-2
7
13
-10
10
1
-4
13
-26
-20
-18
-43
15
26
-7
11
8
-9
-8
-4
-24
8
15
-4
-12
0
7
-10
9
1
-5
31
-6
11
-4
-13
15
-12
-17
10
0
23
16
-8
8
-6
-11
11
-4
25
15
-6
9
-19
-1
-27
-9
-18
-7
0
3
1
3
-11
6
12
16
21
3
0
3
-6
-33
4
24
8
-31
-6
4
1
-2
-29
21
24
0
-10
1
3
0
9
-27
-19
0
8
-8
-17
1
0
4
-25
4
-2
-13
13
-14
12
0
-1
-36
-29
0
3
-14
-35
-8
0
-8
-27
4
15
-17
11
-19
-11
4
-5
-2
15
-3
2
-6
-20
-35
11
11
-12
-1
22
19
43
-17
-7
8
-4
10
27
-2
-1
10
-8
-4
0
-4
-30
35
13
36
10
-1
-11
2
-3
0
33
26
-10
15
11
-4
1
4
6
27
23
-3
14
10
7
1
1
47
3
18
16
11
-15
7
2
4
22
16
13
-2
0
9
3
2
-3
-17
6
12
0
-11
-7
8
2
-7
9
9
30
-6
5
-7
5
1
-39
-5
3
-14
-16
3
3
6
6
5
10
9
22
4
1
3
-1
3
2
2
24
-12
15
-1
-1
-2
1
4
10
20
-3
-6
1
-2
1
0
4
-22
-60
-16
-25
-22
-1
-6
-1
0
-21
-16
14
5
0
-6
-4
0
-1
-26
-10
6
10
-3
-11
-9
0
3
6
-13
-3
-44
-1
-11
2
0
2
16
-2
-25
-17
-30
-13
-4
7
-6
-14
3
5
-6
-4
-4
1
-2
0
-1
27
-2
4
-12
3
-8
0
1
4
25
-5
-8
1
-1
-5
0
1
5
17
-3
-4
3
3
1
0
1
26
11
1
-9
4
-2
4
1
0
6
14
25
18
2
-4
2
0
-2
0
13
-10
12
13
6
3
1
1
33
13
1
19
-8
-5
-5
-2
8
-15
-10
-1
-5
-22
17
-9
-2
-4
-18
9
-26
-4
2
0
3
0
8
9
0
0
-1
-4
4
-3
-2
-1
9
10
-24
-5
4
0
4
-1
2
20
15
11
-13
-5
4
1
-1
4
-24
-20
-16
-10
-15
1
-2
0
-1
-18
-16
30
7
8
-2
4
0
2
-6
11
-3
-5
8
7
-5
2
7
34
-5
2
-11
-9
-27
0
-8
0
-3
5
-43
-14
-15
-19
-6
9
9
-5
4
-4
2
-12
-1
-4
1
0
15
-26
9
-23
-10
16
-4
2
3
10
6
-8
-8
-6
3
-4
1
1
-2
11
15
-8
4
6
2
0
1
34
-15
7
-25
10
1
-2
2
1
-16
25
23
5
11
6
-4
1
1
-2
20
-9
0
11
4
4
0
6
50
7
18
12
-5
-2
2
-4
2
-21
-27
-14
12
4
16
2
-4
9
-32
-6
-5
15
7
0
-4
13
-2
0
-31
4
-2
10
1
0
5
4
-4
-17
35
2
21
9
-11
-11
12
-22
-17
12
-2
20
3
0
-7
-4
0
-4
-5
19
-1
11
9
-11
11
-19
18
36
1
18
-5
-1
0
13
15
-3
-23
-9
39
-13
16
7
-10
28
3
-19
18
23
-11
4
-16
24
-2
-10
-24
9
7
19
28
-2
0
10
-2
-5
1
-12
-13
-2
-14
13
41
-1
2
-8
-11
0
-10
-9
-8
-4
-20
10
-2
-11
-9
0
5
-11
-1
9
8
-8
6
-6
0
2
-5
14
-12
0
-7
-1
4
-1
-1
5
-3
-19
-17
0
11
-2
22
-9
-6
-11
11
-18
-3
-12
0
-1
19
-10
-5
-11
52
-18
17
4
7
17
8
-2
12
19
11
18
-9
-17
-12
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
63
24
36
0
0
0
0
0
0
1
-9
28
0
0
0
0
0
0
2
-17
-39
0
0
0
0
0
0
-60
55
-55
0
0
-2
-22
36
-32
13
36
3
0
0
4
-17
41
-62
-21
17
16
0
0
-118
3
17
0
-8
0
1
0
0
-77
-3
45
45
58
35
57
0
0
20
12
40
-9
78
-43
47
0
0
-52
-86
-4
-73
86
-18
-133
0
0
-34
-7
42
-22
45
42
0
0
0
-24
25
4
7
14
16
32
0
0
-63
15
10
27
5
-11
-2
0
0
-32
8
15
-23
16
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
-1
-19
10
10
0
0
0
0
0
0
-6
-4
10
0
0
0
0
0
0
-3
-36
19
0
0
0
0
0
-1
-42
-69
-24
0
0
4
-3
-11
29
-15
2
11
0
0
27
17
3
8
-20
46
-5
0
0
9
21
11
-3
-32
5
-12
0
0
-16
13
3
58
40
24
29
0
0
26
20
25
26
0
-68
-10
0
0
-19
-50
-3
11
-17
59
-55
0
0
5
16
-13
-18
-1
18
0
0
0
-42
-19
-12
21
17
23
32
0
0
-42
29
2
14
14
-5
2
0
0
-43
14
3
2
-16
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
-1
-30
4
3
0
0
0
0
0
0
-6
3
-25
0
0
0
0
0
0
1
-67
42
0
0
0
0
0
-1
-35
-71
-5
0
0
0
-22
-37
9
12
51
8
0
0
26
21
6
-19
-10
7
11
0
0
34
-5
-11
-7
-37
13
-27
0
0
28
21
27
48
38
10
3
0
0
-11
-10
-3
34
-4
-57
-15
0
0
15
-33
-13
69
24
78
-37
0
0
11
22
-6
22
2
14
0
0
0
-75
11
-2
10
-12
25
36
0
0
26
-12
-16
15
-5
12
4
0
0
-50
-8
-19
90
13
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
1
-33
-33
0
0
0
0
0
0
0
15
-12
0
0
0
0
0
0
0
-34
-11
0
0
0
0
0
0
50
-21
-52
0
0
0
39
-14
50
-23
15
-33
0
0
4
-6
9
-14
19
-1
-33
0
0
59
-16
2
9
1
21
-16
0
0
-32
68
-13
30
-22
2
0
0
0
-14
0
30
11
53
18
60
0
0
-2
7
-29
58
61
28
24
0
0
9
31
54
3
-58
0
0
0
0
-70
62
35
-14
34
-2
18
0
0
28
-3
-7
-2
-32
-7
8
0
0
-13
-8
53
-6
68
0
-2
5
-8
3
23
-1
1
0
-17
-2
-14
-1
-17
-17
4
-4
8
-6
0
-25
-7
4
0
0
0
0
1
0
0
0
0
-40
0
0
0
0
-16
1
1
0
0
-19
3
-8
16
0
-7
-23
15
-29
-2
-3
20
-9
16
21
-5
-12
9
36
-25
4
1
-1
4
1
8
-23
3
0
3
8
-1
0
0
-1
-9
-46
-1
-11
-16
-6
8
18
-29
-17
-10
17
-7
0
-4
4
-9
-55
-33
-43
-19
-2
7
12
3
-3
27
17
-4
-2
7
-19
4
-3
18
-9
-16
6
-2
2
3
-1
0
0
-1
-12
-65
4
-14
-19
-6
22
17
-20
-8
-5
10
-5
-23
2
0
-1
-28
-27
-17
-15
-37
2
-19
-7
-2
15
18
25
12
12
0
-13
-5
21
-3
0
0
0
2
-7
0
0
0
-1
-1
-25
-2
1
-20
24
-6
-5
26
-7
-33
19
-16
12
4
3
-21
0
-27
-16
13
-41
-41
-32
4
-10
50
7
-2
10
4
8
42
-38
15
0
-2
59
42
-13
2
0
0
0
0
0
0
0
0
0
0
0
-23
21
-46
20
-51
-23
0
0
0
0
0
0
0
0
0
0
0
-14
-4
-42
10
35
3
-7
0
-71
0
0
0
0
0
0
0
0
-5
15
-6
44
51
81
7
1
-25
0
0
0
0
0
0
0
0
12
21
-44
-10
-8
4
24
0
20
0
0
0
0
0
0
0
0
-23
-7
30
-7
-8
-48
-1
-9
8
0
0
0
0
0
0
0
0
0
9
15
10
20
4
-7
2
1
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
33
37
0
16
3
0
0
0
0
0
0
0
0
0
0
54
27
26
14
25
22
-63
0
3
0
0
0
0
0
0
0
0
-14
14
22
48
13
38
-27
-13
-6
25
0
0
0
0
0
0
0
28
4
4
15
34
8
-22
-25
95
61
0
0
0
0
0
0
0
13
31
15
10
14
80
-5
-6
-14
51
0
0
0
0
0
0
0
-23
33
6
-3
10
14
-8
-39
-63
82
0
0
0
0
0
0
0
-1
0
10
3
-2
13
32
-17
10
18
0
0
0
0
0
0
0
0
-97
34
2
-16
18
0
0
-21
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
57
5
32
-74
-4
0
0
1
0
0
0
0
0
0
24
50
19
21
10
27
-23
0
-3
0
8
0
0
0
0
0
0
3
0
9
16
11
65
-45
-13
47
4
-29
0
0
0
0
0
0
3
22
8
26
24
-7
20
-5
-6
26
4
0
0
0
0
0
0
9
27
10
6
1
4
-5
-38
-70
-10
-2
0
0
0
0
0
0
-8
30
15
0
37
-6
6
-28
-44
82
13
0
0
0
0
0
0
0
1
12
22
1
9
30
-21
-14
81
0
0
0
0
0
0
0
0
-10
-30
14
37
25
-1
-8
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
-3
-23
38
0
40
-17
-82
6
0
0
1
0
0
0
0
0
0
18
15
69
37
47
-10
-6
0
3
0
0
0
0
0
0
0
0
32
-12
17
31
33
-30
-72
-18
-12
8
37
0
0
0
0
0
0
30
12
7
27
36
-43
67
37
-22
-63
-3
0
0
0
0
0
0
64
35
4
21
68
25
-21
2
63
32
2
0
0
0
0
0
0
1
18
17
-11
2
57
-6
46
-20
-10
-62
0
0
0
0
0
0
0
-13
15
21
30
-34
-59
24
-47
0
0
0
0
0
0
0
0
0
0
1
-11
-6
28
9
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
22
35
0
24
-61
-2
0
1
0
0
0
0
0
0
0
16
37
39
49
37
61
37
0
0
0
0
0
0
0
0
0
0
-13
23
14
36
27
53
27
-9
5
47
1
0
0
0
0
0
0
45
1
12
26
33
20
-33
42
-63
81
3
0
0
0
0
0
0
-9
20
19
21
-27
29
50
33
-2
86
0
0
0
0
0
0
0
0
20
6
15
31
-37
-3
-27
-30
23
0
0
0
0
0
0
0
0
-39
15
-5
18
30
10
-43
22
3
0
0
0
0
0
0
0
0
21
13
23
-16
4
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
-6
-4
-44
-3
18
0
-3
-12
0
0
0
0
0
0
0
0
0
0
22
35
-33
33
0
25
0
0
0
0
0
0
0
0
0
0
0
12
5
-32
-37
-12
-22
-6
1
1
-2
0
0
0
0
0
0
0
60
29
-25
42
16
-14
7
-6
29
1
0
0
0
0
0
0
-36
24
-24
-6
-3
20
47
5
13
71
3
0
0
0
0
0
0
0
-2
6
10
28
36
-43
0
1
15
0
0
0
0
0
0
0
0
1
18
16
-50
0
-3
-15
-8
0
0
0
0
0
0
0
0
0
0
6
-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
10
-23
-35
3
1
0
0
0
0
0
0
0
0
0
0
0
0
10
-7
-20
-9
7
-3
0
0
0
0
0
0
0
0
0
0
0
-21
-4
-8
1
-49
-1
0
-3
-21
1
0
0
0
0
0
0
0
-8
22
34
39
-29
-9
-1
0
0
0
0
0
0
0
0
0
0
0
29
31
-40
-1
12
20
0
-12
0
0
0
0
0
0
0
0
-27
3
25
34
-20
0
0
0
5
0
0
0
0
0
0
0
0
-1
-2
-36
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
71
-27
19
13
-1
0
0
0
0
0
0
0
0
0
0
0
104
11
19
9
88
-53
-8
0
-18
0
0
0
0
0
0
0
0
9
2
7
27
6
77
12
38
-81
0
0
0
0
0
0
0
0
41
9
39
16
41
11
-21
19
86
0
0
0
0
0
0
0
0
7
17
21
21
18
5
-69
-22
76
0
0
0
0
0
0
0
0
15
28
17
-1
25
37
-1
-7
15
0
0
0
0
0
0
0
0
-12
22
8
-25
-42
0
-4
1
26
0
0
0
0
0
0
0
0
0
-19
-1
26
0
-39
10
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-12
2
2
26
-1
-31
0
0
0
0
0
0
0
0
0
0
4
9
28
7
13
1
41
0
-10
0
0
0
0
0
0
0
0
-8
14
7
25
15
47
-49
-20
11
35
0
0
0
0
0
0
0
-2
2
30
-5
0
-43
-21
-16
-22
27
0
0
0
0
0
0
0
11
23
1
23
16
32
-19
-1
36
-18
0
0
0
0
0
0
0
28
14
34
26
20
23
28
-1
40
51
0
0
0
0
0
0
0
5
-7
6
6
-46
69
92
-15
-3
-27
0
0
0
0
0
0
0
0
47
21
-11
-31
-4
25
0
-2
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
17
22
31
13
18
20
32
-2
0
6
4
0
0
0
0
0
0
-18
8
8
35
11
22
5
0
3
0
9
0
0
0
0
0
0
-9
31
1
23
-3
46
-2
-3
7
66
25
0
0
0
0
0
0
12
5
20
23
5
11
21
-59
13
8
0
0
0
0
0
0
0
-12
40
2
22
-19
75
4
-75
55
-1
1
0
0
0
0
0
0
0
18
34
1
22
-9
-11
-48
-63
59
0
0
0
0
0
0
0
-11
-53
24
4
10
89
31
-27
17
-52
0
0
0
0
0
0
0
0
-1
14
24
52
2
24
38
1
-4
0
0
0
0
0
0
0
0
0
0
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
15
49
16
43
-8
-9
-56
3
0
0
-2
0
0
0
0
0
0
-11
-12
30
38
53
-36
72
0
38
0
0
0
0
0
0
0
0
-45
13
14
5
0
60
-15
50
28
-17
9
-2
0
0
0
0
0
19
5
24
15
4
61
-21
-41
11
-54
11
0
0
0
0
0
0
11
22
-6
38
-41
-2
-46
28
65
21
-9
0
0
0
0
0
0
0
1
29
-8
42
1
24
-32
-77
32
-1
0
0
0
0
0
0
-13
-60
3
32
1
69
-4
-62
-64
39
0
0
0
0
0
0
0
0
-25
-10
5
0
11
11
-1
1
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
-16
26
36
-9
3
41
28
3
0
0
0
0
0
0
0
0
0
18
20
9
25
34
20
40
0
0
0
-2
-1
0
0
0
0
0
-36
-2
-7
-3
34
39
-15
47
3
-45
1
0
0
0
0
0
0
-41
1
21
20
12
-29
32
110
-8
44
7
0
0
0
0
0
0
4
17
-2
-20
4
24
-31
-29
-77
7
0
0
0
0
0
0
0
2
28
3
-5
26
117
11
-38
-74
28
-2
0
0
0
0
0
0
0
39
-13
41
2
23
12
-7
9
6
0
0
0
0
0
0
0
0
0
-52
35
-8
-10
2
0
-2
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
2
35
13
5
61
9
12
-2
0
0
0
0
0
0
0
0
0
58
-24
41
62
36
-13
50
0
-30
0
-12
0
0
0
0
0
0
41
-23
46
50
19
41
-29
-4
28
-9
1
0
0
0
0
0
0
63
47
52
26
-32
-12
-51
68
-72
-34
-10
0
0
0
0
0
0
40
38
10
-26
-36
23
-39
55
-119
-6
6
0
0
0
0
0
0
0
39
14
-2
28
-32
-18
-21
3
0
0
0
0
0
0
0
0
0
-24
-60
-20
40
-20
8
6
2
2
0
0
0
0
0
0
0
0
0
7
-1
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
2
-9
-31
97
15
18
1
0
0
1
0
0
0
0
0
0
0
-19
5
-11
-11
26
-9
0
0
0
2
0
0
0
0
0
0
0
2
-56
17
30
76
-74
0
-1
-15
9
0
0
0
0
0
0
0
-9
5
37
28
-60
0
1
28
9
-1
0
0
0
0
0
0
0
-2
23
1
48
40
21
7
0
-7
-3
0
0
0
0
0
0
0
62
-47
0
-24
-20
0
-1
2
9
0
0
0
0
0
0
0
0
0
3
44
4
0
0
8
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
-1
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
1
1
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
4
0
0
0
0
0
0
0
0
0
0
0
-2
3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
10
53
62
0
0
0
0
0
0
0
0
0
0
0
-7
1
-10
21
3
-62
10
0
7
0
0
0
0
0
0
0
0
36
6
12
14
7
34
4
13
17
0
0
0
0
0
0
0
0
32
9
18
41
-15
-13
-28
38
-15
0
0
0
0
0
0
0
0
16
19
22
11
-33
20
27
-25
48
0
0
0
0
0
0
0
0
-13
37
21
-27
62
-89
45
2
21
0
0
0
0
0
0
0
0
-11
45
10
-1
-18
0
0
0
-12
0
0
0
0
0
0
0
0
0
-36
0
7
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
-20
6
11
7
24
24
63
8
0
1
0
0
0
0
0
0
0
1
12
10
8
14
1
-60
0
18
0
0
0
0
0
0
0
0
9
4
9
32
24
24
48
-28
-2
67
0
0
0
0
0
0
0
0
4
10
14
15
-7
10
-39
40
-33
0
0
0
0
0
0
0
-1
17
9
5
7
20
-20
-4
14
39
0
0
0
0
0
0
0
1
19
18
3
37
30
46
-34
12
-29
0
0
0
0
0
0
0
3
-38
13
13
-14
-10
28
5
8
25
0
0
0
0
0
0
0
0
-20
-31
-25
-24
-19
-1
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
2
-6
8
20
13
-20
33
-6
0
2
0
0
0
0
0
0
0
1
6
15
3
12
27
-16
0
-1
0
0
0
0
0
0
0
0
-11
7
10
39
13
51
-14
44
72
-53
4
0
0
0
0
0
0
24
3
-2
34
15
17
5
-64
-16
-5
2
0
0
0
0
0
0
-16
18
20
19
-19
7
14
-2
-25
5
-1
0
0
0
0
0
0
0
18
22
-2
35
43
45
-66
0
47
0
0
0
0
0
0
0
0
11
24
43
-6
17
16
-6
0
0
0
0
0
0
0
0
0
0
23
4
17
8
89
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
-15
43
34
34
22
-89
-22
4
0
0
0
0
0
0
0
0
0
-19
14
44
40
4
16
-60
0
-12
0
-7
0
0
0
0
0
0
0
27
27
42
58
62
-69
11
-55
34
2
0
0
0
0
0
0
-9
14
6
28
72
18
5
1
-2
48
-17
-1
0
0
0
0
0
20
7
19
13
-20
45
43
6
-25
-73
27
0
0
0
0
0
0
-8
1
12
-15
52
11
-69
31
-73
-25
6
0
0
0
0
0
0
-4
24
31
107
27
34
1
-30
-2
0
0
0
0
0
0
0
0
0
0
-9
-3
21
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
-11
18
38
8
44
24
-3
3
0
0
0
0
0
0
0
0
0
8
-7
21
14
29
-11
-90
0
1
0
0
0
0
0
0
0
0
43
34
9
32
1
43
-13
72
-4
-51
1
0
0
0
0
0
0
52
30
12
8
-7
-14
-1
-5
-59
62
0
2
0
0
0
0
0
15
34
-13
13
-47
-8
-51
16
-18
-8
0
0
0
0
0
0
0
1
59
35
13
-22
32
-47
-46
-21
-78
0
0
0
0
0
0
0
0
14
13
39
26
81
-18
88
2
18
0
0
0
0
0
0
0
0
19
4
42
19
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
85
24
20
42
46
-14
0
0
-1
0
0
0
0
0
0
0
64
3
26
24
-1
84
10
0
0
0
0
0
0
0
0
0
0
0
-6
-22
34
39
9
67
-10
-157
60
-7
0
0
0
0
0
0
-12
-14
18
14
-11
11
-8
6
-15
45
6
0
0
0
0
0
0
64
23
-13
-12
16
-17
45
19
-44
-43
0
0
0
0
0
0
0
0
15
24
-10
52
2
20
7
-2
9
-1
0
0
0
0
0
0
0
1
-44
10
30
7
1
-1
-6
12
0
0
0
0
0
0
0
0
3
3
-21
-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
-39
-65
-23
4
36
0
0
0
0
0
0
0
0
0
0
0
0
56
-3
9
2
-15
-5
0
0
0
-1
0
0
0
0
0
0
0
47
14
36
2
68
1
-24
-1
-9
-9
4
0
0
0
0
0
0
2
29
57
-15
-12
60
-36
0
-18
0
0
0
0
0
0
0
0
-15
31
-15
-18
76
35
-1
-60
4
0
0
0
0
0
0
0
0
0
88
25
3
-19
-4
1
0
2
0
0
0
0
0
0
0
0
0
-3
40
-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
-1
-1
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
6
-1
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
4
-21
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-18
7
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-13
12
12
4
9
-1
0
0
0
0
0
0
0
0
0
0
-7
3
12
2
1
22
-3
0
0
0
0
0
0
0
0
0
0
0
10
4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
30
42
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
22
8
0
24
0
0
0
0
0
0
0
0
0
0
0
-9
59
-2
20
-3
-4
-1
-7
0
0
0
0
0
0
0
0
0
0
11
8
6
-16
6
0
0
0
0
0
0
0
0
0
0
0
1
54
21
-44
-2
1
0
-2
1
0
0
0
0
0
0
0
0
-6
0
-12
9
-8
4
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
72
26
15
19
27
0
0
0
0
0
0
0
0
0
0
0
7
4
14
25
-23
-12
0
0
-12
0
0
0
0
0
0
0
0
-4
22
31
20
71
17
0
0
-18
0
0
0
0
0
0
0
0
2
36
-21
14
52
31
-14
39
-8
0
0
0
0
0
0
0
0
45
-19
47
21
-37
-10
4
-15
47
0
0
0
0
0
0
0
0
7
37
40
26
-4
6
16
-9
20
0
0
0
0
0
0
0
0
0
10
15
-8
11
-2
9
0
7
0
0
0
0
0
0
0
0
0
-9
-7
-44
0
3
-6
-6
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
-4
23
7
14
33
32
-17
0
0
0
0
0
0
0
0
0
0
13
-10
-2
5
15
14
-4
0
66
0
0
0
0
0
0
0
0
0
-3
12
13
6
1
18
-36
144
-37
0
0
0
0
0
0
0
0
11
16
-9
-6
9
25
-36
11
20
0
0
0
0
0
0
0
21
25
4
11
11
-31
-22
-28
29
36
0
0
0
0
0
0
0
55
14
37
14
45
40
-14
39
-63
68
0
0
0
0
0
0
0
12
18
14
53
21
32
42
-36
-17
6
0
0
0
0
0
0
0
0
30
66
-3
12
29
-2
-10
-1
-3
0
0
0
0
0
0
0
0
-22
-56
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
1
3
16
2
25
-19
68
1
0
3
0
0
0
0
0
0
0
3
19
1
11
13
30
38
0
3
0
-1
0
0
0
0
0
0
42
-6
0
1
12
23
-72
16
28
48
0
0
0
0
0
0
0
4
27
9
28
1
-18
-23
-78
49
4
-3
0
0
0
0
0
0
4
76
13
-2
3
35
-2
16
-13
38
0
0
0
0
0
0
0
0
3
7
11
20
9
14
12
-66
-33
-3
0
0
0
0
0
0
-35
-9
22
22
-7
64
-14
-71
-15
-8
0
0
0
0
0
0
0
0
-18
21
-19
20
-18
16
-11
1
0
0
0
0
0
0
0
0
0
0
-4
-12
-1
1
0
0
0
0
0
0
0
0
0
0
0
35
16
-8
33
30
-15
14
2
0
0
0
0
0
0
0
0
0
-25
27
15
32
20
-23
17
0
2
0
8
0
0
0
0
0
0
0
22
17
25
38
-11
-28
32
19
51
-27
0
0
0
0
0
0
4
11
54
-10
22
42
34
-51
-40
35
-3
2
0
0
0
0
0
57
38
16
7
10
2
-30
39
22
0
-11
0
0
0
0
0
0
2
33
33
1
43
-51
38
-9
-9
15
0
0
0
0
0
0
0
1
-31
11
30
11
33
30
-4
-35
1
0
0
0
0
0
0
0
0
-8
-15
5
44
6
-28
-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
-11
-11
-1
-3
-7
-46
-29
0
0
-1
0
0
0
0
0
0
0
2
32
49
-1
16
30
-41
0
0
0
0
0
0
0
0
0
0
-36
-4
18
28
11
1
-24
0
53
14
-1
0
0
0
0
0
0
-6
26
13
50
-18
4
11
-67
-58
8
8
0
0
0
0
0
0
-6
19
16
-1
42
55
54
21
-101
-41
-1
0
0
0
0
0
0
0
48
-3
22
-2
-17
-29
-52
50
-15
0
0
0
0
0
0
0
0
14
25
9
24
-13
45
-21
-18
9
0
0
0
0
0
0
0
0
-12
13
40
-12
3
0
-1
1
-6
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
27
43
-10
52
18
6
0
0
0
0
0
0
0
0
0
0
6
-7
28
32
10
23
-17
0
-9
0
0
0
0
0
0
0
0
20
1
19
18
22
6
-61
28
27
-2
-1
0
0
0
0
0
0
-10
20
18
50
8
-12
30
-58
-105
-11
0
0
0
0
0
0
0
-8
10
15
23
37
36
-66
-6
4
34
-3
0
0
0
0
0
0
0
34
-10
19
65
21
-18
-63
-20
4
-10
0
0
0
0
0
0
0
-2
48
53
46
65
2
0
9
0
0
0
0
0
0
0
0
0
0
1
42
-11
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
-2
16
11
66
37
3
0
0
0
0
0
0
0
0
0
0
0
31
-47
-12
9
136
14
0
0
0
0
0
0
0
0
0
0
0
-46
-7
-16
-34
133
22
3
0
7
3
0
0
0
0
0
0
0
1
-17
96
-27
15
2
-3
0
-28
0
0
0
0
0
0
0
0
-4
23
-21
93
79
-82
2
-3
-11
0
0
0
0
0
0
0
0
25
49
63
-10
23
-1
-3
0
0
1
0
0
0
0
0
0
0
0
27
20
24
21
-4
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
-4
-56
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
9
2
7
0
-2
-2
0
-1
0
0
0
0
0
0
0
0
-1
-1
11
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-6
-19
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
30
-13
-10
2
-1
0
0
0
0
0
0
0
0
0
0
8
20
26
-16
-32
-38
-19
0
0
0
0
0
0
0
0
0
0
-1
36
11
-9
-70
7
8
-19
1
-9
0
0
0
0
0
0
0
-9
41
2
69
-22
91
7
0
0
0
0
0
0
0
0
0
0
16
-12
5
-9
-27
12
3
3
-16
0
0
0
0
0
0
0
0
0
-7
-42
-62
-8
8
0
0
1
0
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
-9
0
0
0
0
0
0
0
0
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
4
-15
-10
-3
0
0
2
0
0
0
0
0
0
0
0
28
42
-89
-73
22
-2
0
1
0
0
0
0
0
0
0
0
0
31
-14
70
23
36
-82
2
0
-42
0
0
0
0
0
0
0
0
27
-14
22
-6
16
86
-8
-10
0
0
0
0
0
0
0
0
0
-8
83
-4
-2
-17
-3
4
4
0
0
0
0
0
0
0
0
0
6
27
21
24
-15
-42
1
0
0
0
0
0
0
0
0
0
0
6
-15
-19
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-10
-6
0
0
0
0
0
0
0
0
0
0
0
0
-26
53
-21
21
26
-12
0
0
-10
0
0
0
0
0
0
0
0
16
-17
13
8
36
7
2
-1
-16
0
0
0
0
0
0
0
0
-9
-16
-9
21
18
-22
1
3
-24
0
0
0
0
0
0
0
0
0
-13
-45
-8
33
6
22
-3
12
0
0
0
0
0
0
0
0
-24
15
39
4
-16
0
33
-14
2
0
0
0
0
0
0
0
0
-7
-5
26
7
12
0
0
-2
-8
0
0
0
0
0
0
0
0
0
9
2
15
0
-8
-2
-6
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
73
10
6
0
22
13
121
0
0
0
0
0
0
0
0
0
0
0
18
-8
4
29
11
-23
0
1
0
0
0
0
0
0
0
0
-6
-24
7
32
10
22
33
3
39
-6
0
0
0
0
0
0
0
-17
-7
31
-4
9
10
-43
-56
55
-18
0
0
0
0
0
0
0
-1
0
-7
-7
20
-8
-55
-38
21
85
0
0
0
0
0
0
0
-18
32
18
11
42
37
9
4
6
12
0
0
0
0
0
0
0
22
-1
27
32
15
-23
-10
-68
-20
-24
0
0
0
0
0
0
0
0
52
-4
30
9
36
-3
-4
-1
9
0
0
0
0
0
0
0
0
3
-60
-6
29
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
5
16
9
-12
46
0
0
-2
0
0
0
0
0
0
0
10
10
15
4
10
31
-28
0
0
0
-7
0
0
0
0
0
0
12
-12
11
10
10
39
-16
41
45
66
1
0
0
0
0
0
0
26
15
-4
51
6
9
-20
-34
-26
9
1
0
0
0
0
0
0
-71
15
0
-4
10
1
24
44
-45
14
-4
0
0
0
0
0
0
0
39
27
-1
8
11
4
32
14
25
6
0
0
0
0
0
0
0
12
30
28
-7
-35
-31
-28
-33
-13
0
0
0
0
0
0
0
0
17
-1
-2
22
28
25
-22
-1
-4
0
0
0
0
0
0
0
0
0
9
24
0
-24
0
0
0
0
0
0
0
0
0
0
0
3
-13
60
0
6
2
22
0
0
0
0
0
0
0
0
0
0
-7
23
9
43
-26
-5
5
0
0
0
2
0
0
0
0
0
0
-52
28
0
2
24
-39
10
-8
-60
14
4
0
0
0
0
0
0
26
3
23
31
10
26
-14
38
-42
22
1
0
0
0
0
0
0
19
6
15
0
63
10
27
-10
-19
-20
1
0
0
0
0
0
0
0
9
49
0
1
-24
2
20
71
26
-4
0
0
0
0
0
0
8
40
0
19
15
6
25
20
-29
-8
0
0
0
0
0
0
0
0
-20
12
39
-5
-18
94
-1
0
0
0
0
0
0
0
0
0
2
-10
-12
0
-17
0
2
0
0
0
0
0
0
0
0
0
0
0
17
24
9
5
0
17
1
0
-2
0
0
0
0
0
0
0
3
8
-1
7
9
-16
-52
0
0
0
0
0
0
0
0
0
0
3
-10
16
-2
23
-15
-55
27
2
-8
2
0
0
0
0
0
0
18
2
23
16
3
61
-48
17
-41
79
-1
0
0
0
0
0
0
-68
4
-15
58
3
29
-1
-29
-12
-1
0
0
0
0
0
0
0
0
58
25
16
32
-32
-94
-65
20
-6
0
0
0
0
0
0
0
0
6
0
16
76
7
-44
-25
-4
4
0
0
0
0
0
0
0
0
15
1
-12
5
22
0
13
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
21
3
35
-14
12
-4
-4
0
0
0
0
0
0
0
0
0
-3
-21
19
-6
15
-10
-17
0
0
0
1
0
0
0
0
0
0
16
-26
6
-15
14
10
19
-3
15
2
0
0
0
0
0
0
0
-6
8
-20
13
4
87
59
10
7
11
0
0
0
0
0
0
0
23
-49
-27
45
40
-1
-33
0
-21
19
0
0
0
0
0
0
0
0
83
35
16
-18
4
-4
-7
-25
-53
0
0
0
0
0
0
0
0
12
51
6
-20
-43
31
2
11
2
0
0
0
0
0
0
0
0
6
7
27
32
-19
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
6
65
-21
32
-1
0
0
0
0
0
0
0
0
0
0
0
0
51
45
50
5
51
10
0
0
0
0
0
0
0
0
0
0
0
9
36
64
66
20
17
0
-8
4
0
0
0
0
0
0
0
0
26
0
28
12
-3
-17
-2
-1
-50
0
0
0
0
0
0
0
0
15
50
60
-50
-39
0
4
-30
-8
0
0
0
0
0
0
0
0
-22
58
-28
27
14
-8
-4
0
-3
0
0
0
0
0
0
0
0
0
18
53
-5
10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-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
-1
-22
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
16
32
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
16
13
8
-4
-1
-3
0
0
0
0
0
0
0
0
0
7
9
16
-7
-4
2
0
0
-2
0
0
0
0
0
0
0
0
6
-36
-19
-46
6
36
-6
0
0
-1
0
0
0
0
0
0
0
0
2
-11
-8
-16
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
2
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
29
-103
8
-22
0
0
0
0
0
0
0
0
0
0
0
15
-32
39
20
38
-7
1
0
0
0
0
0
0
0
0
0
0
-17
9
-38
-20
32
-6
-2
0
9
-30
0
0
0
0
0
0
0
-7
3
10
0
-11
-11
-9
4
-6
-1
0
0
0
0
0
0
0
30
14
36
79
54
85
35
-6
0
-12
0
0
0
0
0
0
0
0
-22
23
42
-35
-16
4
1
0
4
0
0
0
0
0
0
0
-3
1
17
16
-16
-1
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-2
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
1
-9
-20
-17
-13
7
0
0
3
0
0
0
0
0
0
0
0
-12
39
-27
69
-17
-18
0
0
0
0
0
0
0
0
0
0
0
29
-12
72
-18
-16
-22
0
-9
-33
0
0
0
0
0
0
0
0
9
54
-42
-63
10
-9
0
-4
-8
0
0
0
0
0
0
0
0
-13
-15
38
31
37
-11
32
-6
0
0
0
0
0
0
0
0
0
-16
75
-19
-1
49
44
9
0
25
0
0
0
0
0
0
0
0
-2
45
38
19
20
32
-9
49
0
0
0
0
0
0
0
0
0
-4
-12
1
0
3
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
-1
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
28
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
22
-1
19
-5
20
4
0
0
0
0
0
0
0
0
0
0
7
-20
-5
5
-44
4
0
-7
3
0
0
0
0
0
0
0
0
-4
25
2
16
6
-14
5
0
-84
0
0
0
0
0
0
0
0
-14
-1
52
-17
-17
0
1
13
-2
0
0
0
0
0
0
0
0
0
53
8
1
-19
-38
0
32
-72
0
0
0
0
0
0
0
0
10
-13
13
-18
-18
7
20
-2
3
0
0
0
0
0
0
0
0
0
18
-2
56
0
14
-6
3
0
0
0
0
0
0
0
0
0
0
0
50
0
4
0
0
0
7
0
0
0
0
0
0
0
0
24
7
0
4
34
78
42
2
0
0
0
0
0
0
0
0
0
-22
15
4
12
30
86
-3
0
0
0
0
0
0
0
0
0
0
-3
4
-6
11
35
51
69
-10
10
8
0
0
0
0
0
0
0
-12
20
10
41
13
32
-49
25
70
16
0
0
0
0
0
0
0
-23
38
25
17
37
53
27
-3
52
-19
0
0
0
0
0
0
0
-38
0
34
-9
66
19
0
-30
14
-5
0
0
0
0
0
0
0
5
13
8
36
-2
20
41
-38
-30
4
0
0
0
0
0
0
0
0
46
52
-26
11
15
26
50
6
0
0
0
0
0
0
0
0
9
8
-9
-3
29
2
0
0
0
0
0
0
0
0
0
0
0
-34
8
21
-11
23
4
11
18
0
0
0
0
0
0
0
0
0
0
19
3
10
7
53
4
0
1
0
0
0
0
0
0
0
0
-35
15
26
2
24
3
-8
14
12
-12
3
0
0
0
0
0
0
1
12
-3
59
0
3
-16
-28
-2
38
0
0
0
0
0
0
0
24
-3
3
0
13
2
-2
-7
38
43
-9
0
0
0
0
0
0
-6
32
0
3
-3
32
14
19
47
-23
0
0
0
0
0
0
0
-8
14
61
18
1
36
25
-49
10
38
0
0
0
0
0
0
0
0
-3
9
1
37
42
-11
0
0
-4
0
0
0
0
0
0
0
0
0
7
-4
15
-17
0
0
0
0
0
0
0
0
0
0
0
-32
26
22
1
25
42
0
1
0
0
0
0
0
0
0
0
0
0
13
18
8
41
-9
80
0
0
0
2
0
0
0
0
0
0
-5
23
3
19
18
15
-24
-10
0
-39
2
0
0
0
0
0
0
22
22
7
53
8
2
10
-4
49
6
-1
0
0
0
0
0
0
8
7
23
15
46
-5
-39
-115
-14
-59
3
0
0
0
0
0
0
43
-11
51
0
2
47
22
-46
34
-5
1
0
0
0
0
0
0
1
-21
12
35
-2
9
14
-42
3
-3
0
0
0
0
0
0
0
0
-13
14
-1
35
2
-12
-8
0
3
0
0
0
0
0
0
0
0
0
17
0
10
0
0
0
0
0
0
0
0
0
0
0
0
14
4
16
1
32
18
27
0
0
0
0
0
0
0
0
0
0
0
54
9
19
16
47
85
0
0
0
0
0
0
0
0
0
0
13
2
6
32
16
53
17
1
-9
9
0
0
0
0
0
0
0
0
16
8
24
33
7
60
46
-15
-69
0
0
0
0
0
0
0
14
1
15
24
1
43
47
-41
-39
-11
0
0
0
0
0
0
0
0
15
35
27
0
41
-2
-37
-14
32
0
0
0
0
0
0
0
0
32
24
0
47
16
6
16
40
39
0
0
0
0
0
0
0
0
6
5
3
-2
43
3
1
0
-4
0
0
0
0
0
0
0
0
0
6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-38
16
-23
14
24
-11
0
0
0
0
0
0
0
0
0
0
0
83
21
34
-21
11
-15
0
0
0
3
0
0
0
0
0
0
11
-110
18
-21
1
-45
15
0
0
7
-1
0
0
0
0
0
0
-3
-10
-18
38
3
7
45
-2
6
1
1
0
0
0
0
0
0
17
-4
-22
20
48
7
10
9
-4
40
-1
0
0
0
0
0
0
0
73
-16
19
36
0
17
-28
3
-26
0
0
0
0
0
0
0
-9
1
10
14
38
-19
6
46
-29
-8
0
0
0
0
0
0
0
0
10
-7
12
20
-45
-15
0
-2
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
45
27
15
-30
-21
-3
0
0
0
0
0
0
0
0
0
0
0
4
64
-36
20
0
3
0
0
0
0
0
0
0
0
0
0
0
9
-5
11
-25
-21
37
0
0
0
0
0
0
0
0
0
0
0
19
-23
15
43
-5
8
3
0
-24
0
0
0
0
0
0
0
0
18
7
22
8
0
29
3
-7
-12
0
0
0
0
0
0
0
0
-22
-10
9
29
-2
0
7
0
-45
0
0
0
0
0
0
0
0
0
68
-74
4
-12
-22
0
-16
0
0
0
0
0
0
0
0
0
1
18
31
1
-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
-3
10
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-11
-58
-17
2
0
0
0
0
0
0
0
0
0
0
0
2
3
-39
14
0
8
1
0
0
0
0
0
0
0
0
0
0
0
1
-25
-2
-13
-7
3
-2
0
0
0
0
0
0
0
0
0
-2
1
6
-10
-2
-30
2
0
-29
0
0
0
0
0
0
0
0
0
-3
7
-4
9
-21
9
0
-4
0
0
0
0
0
0
0
0
0
0
-1
10
8
6
0
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
3
-36
15
15
21
2
0
0
0
0
0
0
0
0
0
0
0
-1
21
58
-14
-9
12
0
0
0
0
0
0
0
0
0
0
-7
4
-34
-7
-12
18
8
0
4
-21
0
0
0
0
0
0
0
0
-60
-17
49
-16
28
-35
-21
-7
12
0
0
0
0
0
0
0
5
-43
-20
-11
-34
-23
-34
17
0
9
0
0
0
0
0
0
0
-2
14
10
1
41
72
19
-1
0
-7
0
0
0
0
0
0
0
0
-12
16
7
20
-18
-6
17
3
0
0
0
0
0
0
0
0
0
-6
3
0
-25
-41
-3
0
9
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
57
4
-16
4
0
0
0
0
0
0
0
0
0
0
0
0
58
-54
-10
-74
7
-2
0
0
0
0
0
0
0
0
0
0
0
17
-61
-13
48
-3
4
2
0
18
0
0
0
0
0
0
0
0
-7
-4
25
13
-36
3
-19
0
1
0
0
0
0
0
0
0
0
-35
-1
0
-19
36
6
3
13
-10
0
0
0
0
0
0
0
0
43
12
-2
119
94
67
-2
7
0
0
0
0
0
0
0
0
0
0
-24
-1
-58
2
-46
0
8
0
0
0
0
0
0
0
0
0
-1
16
-10
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
-9
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
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
62
5
0
0
0
0
0
0
0
0
0
0
0
0
17
-17
-10
12
2
2
0
0
0
0
0
0
0
0
0
0
0
4
17
17
5
-4
18
0
0
3
0
0
0
0
0
0
0
0
37
9
24
30
26
3
0
-6
1
0
0
0
0
0
0
0
0
0
-7
-34
-11
22
18
-4
1
2
0
0
0
0
0
0
0
0
0
0
26
0
11
-11
0
0
-1
0
0
0
0
0
0
0
0
0
33
-2
37
0
-6
1
-3
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
2
-79
30
48
29
20
53
0
0
0
0
0
0
0
0
0
0
30
10
-9
19
6
4
26
0
0
0
0
0
0
0
0
0
0
16
27
15
4
13
20
12
-1
0
68
0
0
0
0
0
0
0
-10
19
24
37
-4
41
-15
22
21
-18
0
0
0
0
0
0
0
5
-9
37
7
43
-61
11
-43
-43
1
0
0
0
0
0
0
0
-19
19
29
10
-24
45
-36
78
-12
69
0
0
0
0
0
0
0
21
0
9
-15
-14
4
53
-10
16
0
0
0
0
0
0
0
0
0
55
5
24
-1
57
12
-8
48
4
0
0
0
0
0
0
0
0
-3
-1
6
19
0
0
0
0
0
0
0
0
0
0
0
0
0
31
17
-6
22
64
-37
-3
0
0
0
0
0
0
0
0
0
0
38
4
-4
10
33
33
0
1
0
0
0
0
0
0
0
0
1
-5
11
39
20
17
41
-12
2
55
-13
0
0
0
0
0
0
0
18
16
25
38
-4
-1
4
-36
25
0
0
0
0
0
0
0
6
12
-2
53
26
37
27
9
51
42
0
0
0
0
0
0
0
0
17
36
10
26
22
4
37
-4
69
0
0
0
0
0
0
0
-35
59
0
-27
-21
-31
34
-22
30
6
0
0
0
0
0
0
0
0
-35
24
25
40
-4
7
-4
6
-5
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
-49
28
-3
25
26
-9
1
0
0
0
0
0
0
0
0
0
0
-20
7
-12
-17
47
-7
0
2
0
3
0
0
0
0
0
0
21
-23
1
34
17
23
-8
-3
-3
-13
-8
0
0
0
0
0
0
-3
1
23
19
6
-4
-4
56
-1
-8
2
0
0
0
0
0
0
0
5
20
5
-3
-7
0
-41
19
-50
12
0
0
0
0
0
0
-4
21
12
-42
2
39
-1
-29
5
65
32
0
0
0
0
0
0
-20
4
17
0
-53
-9
-10
42
-16
13
0
0
0
0
0
0
0
-1
6
-14
6
1
66
33
1
-1
0
0
0
0
0
0
0
0
0
0
-27
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
14
13
26
-13
14
23
0
0
0
0
0
0
0
0
0
0
-3
15
-26
10
-29
-11
0
0
0
0
0
0
0
0
0
0
0
-31
-3
1
40
13
37
-40
0
-3
-25
0
0
0
0
0
0
0
0
0
-26
22
32
-2
-33
-17
8
53
0
0
0
0
0
0
0
-23
3
9
30
21
13
25
1
-22
40
0
0
0
0
0
0
0
0
3
20
22
28
6
27
10
-89
37
0
0
0
0
0
0
0
4
13
6
24
0
-8
26
40
-14
4
0
0
0
0
0
0
0
0
33
56
-18
40
-22
17
0
-32
-67
0
0
0
0
0
0
0
0
0
-22
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
35
-20
20
0
0
0
0
0
0
0
0
0
0
4
-35
-69
6
-8
7
11
0
0
0
0
0
0
0
0
0
0
-21
7
-15
0
-16
-25
-21
0
0
4
0
0
0
0
0
0
0
-7
-13
-21
-38
2
-25
12
7
-10
-37
0
0
0
0
0
0
0
9
-14
-40
-22
-29
34
45
-25
0
-27
2
0
0
0
0
0
0
1
34
28
-29
28
5
14
-20
-8
-11
-1
0
0
0
0
0
0
0
2
35
33
-14
0
73
12
-13
-29
0
0
0
0
0
0
0
0
24
-2
-46
14
-28
-11
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
-30
-7
-4
0
0
0
0
0
0
0
0
0
0
0
-20
64
7
74
52
0
0
0
0
0
0
0
0
0
0
0
0
11
13
49
-3
8
45
0
0
-7
0
0
0
0
0
0
0
0
-28
15
-3
26
21
3
0
0
1
0
0
0
0
0
0
0
0
4
-21
17
9
0
24
-20
0
0
0
0
0
0
0
0
0
0
-32
16
-29
1
-65
-8
24
2
-30
0
0
0
0
0
0
0
0
-1
11
-8
-36
4
0
5
-65
-43
0
0
0
0
0
0
0
0
0
12
-40
-59
-3
0
0
-15
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-46
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
37
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
5
-8
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
37
1
-29
15
4
1
0
0
0
0
0
0
0
0
0
0
0
0
16
3
13
-18
3
0
-4
0
0
0
0
0
0
0
0
0
3
-6
15
-9
-37
0
0
-1
-3
0
0
0
0
0
0
0
0
0
-24
0
19
0
-1
0
-15
0
0
0
0
0
0
0
0
0
1
0
-29
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
30
4
-15
-9
0
0
0
0
0
0
0
0
0
0
0
0
-22
1
53
-10
-21
0
0
0
0
0
0
0
0
0
0
0
-7
-16
-12
-24
-63
0
8
2
1
-40
0
0
0
0
0
0
0
0
-98
-25
-65
-83
-36
-26
2
7
-1
0
0
0
0
0
0
0
-3
-4
-28
24
18
2
-37
1
2
-2
0
0
0
0
0
0
0
0
-6
0
-4
-14
-64
-6
1
-8
13
0
0
0
0
0
0
0
0
1
2
9
-42
9
-35
0
0
0
0
0
0
0
0
0
0
0
39
-12
20
-19
-29
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-3
17
-28
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-23
22
-20
4
0
0
2
0
0
0
0
0
0
0
0
-2
9
-5
20
-18
0
-2
0
0
0
0
0
0
0
0
0
0
0
38
7
10
-8
-49
-7
0
-28
0
0
0
0
0
0
0
0
0
-12
0
-11
-8
-61
0
-8
-4
0
0
0
0
0
0
0
0
1
-59
15
41
-1
91
-7
-1
0
0
0
0
0
0
0
0
0
0
1
6
3
6
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
38
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
5
12
0
0
0
0
0
0
0
0
0
0
0
-7
32
2
29
-1
26
0
0
-8
0
0
0
0
0
0
0
0
-32
19
9
-3
37
-42
-9
0
5
0
0
0
0
0
0
0
0
2
31
12
16
1
5
-21
-10
16
0
0
0
0
0
0
0
0
16
4
-6
-38
35
0
-13
-18
31
0
0
0
0
0
0
0
0
0
1
1
-17
-9
38
0
10
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
28
-10
18
-1
0
0
0
0
0
0
0
0
0
0
0
1
20
41
12
2
-43
0
0
0
0
0
0
0
0
0
0
0
54
2
-7
-12
46
14
-2
2
-2
0
0
0
0
0
0
0
0
11
30
-6
20
-40
46
25
1
65
-7
0
0
0
0
0
0
0
25
-5
29
23
47
-11
-41
42
84
-2
0
0
0
0
0
0
0
22
23
37
3
55
14
-34
-3
136
-18
0
0
0
0
0
0
0
-44
42
11
21
39
1
39
-5
40
0
0
0
0
0
0
0
0
2
0
6
18
15
35
-9
14
-18
-8
0
0
0
0
0
0
0
0
-34
11
-8
79
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
6
-28
0
0
0
0
0
0
0
0
0
0
0
0
42
-6
18
-58
2
6
0
0
0
0
0
0
0
0
0
0
36
29
27
-57
-21
33
18
0
0
-18
0
0
0
0
0
0
0
0
8
-17
57
-10
43
48
16
0
-2
0
0
0
0
0
0
0
14
17
29
42
42
-33
-3
7
7
9
0
0
0
0
0
0
0
0
17
25
61
4
87
-94
-2
-20
14
0
0
0
0
0
0
0
-13
-5
45
19
9
22
31
-25
-21
19
0
0
0
0
0
0
0
0
-22
0
26
6
21
-56
-26
8
3
0
0
0
0
0
0
0
0
-4
2
4
19
6
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-3
40
0
-25
0
0
0
0
0
0
0
0
0
0
0
6
-1
-17
-4
34
0
0
0
0
0
0
0
0
0
0
0
8
-11
-17
-23
-5
9
0
2
0
0
0
0
0
0
0
0
0
0
-12
24
12
49
-18
0
0
4
0
0
0
0
0
0
0
0
5
-18
8
33
17
1
53
-4
4
0
0
0
0
0
0
0
0
0
1
-13
-16
75
-10
-19
3
6
0
0
0
0
0
0
0
0
5
-1
-3
-6
27
-2
-10
-42
-3
0
0
0
0
0
0
0
0
0
-30
-8
0
-45
33
-28
34
0
2
0
0
0
0
0
0
0
0
0
-9
11
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
18
0
-33
-12
-6
0
0
0
0
0
0
0
0
0
0
0
13
-4
10
10
15
0
0
0
0
0
0
0
0
0
0
0
6
-11
9
-83
-38
-6
3
0
0
0
0
0
0
0
0
0
0
0
-13
-59
19
-7
-8
11
2
0
0
0
0
0
0
0
0
0
45
-4
-17
30
21
32
-57
19
8
-8
0
0
0
0
0
0
0
0
-35
24
11
43
-10
-7
-2
4
-3
0
0
0
0
0
0
0
-4
2
6
1
-16
-8
14
-12
-1
-24
0
0
0
0
0
0
0
0
16
4
33
0
-16
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
-16
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
62
-9
8
14
4
0
0
0
0
0
0
0
0
0
0
0
-62
0
4
-18
-3
-16
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
17
8
18
-8
0
0
0
0
0
0
0
0
0
0
-19
0
-45
-27
-36
6
26
-6
-1
2
0
0
0
0
0
0
0
0
-10
2
1
2
13
11
-1
4
0
0
0
0
0
0
0
0
3
0
-36
8
7
0
1
0
-6
0
0
0
0
0
0
0
0
0
-2
-4
-3
-2
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
0
-14
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-4
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-25
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-16
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
-15
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
-1
-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
-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
8
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
44
0
-3
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
12
-2
16
3
1
0
0
0
0
0
0
0
0
0
0
0
3
11
-26
0
-44
-22
3
0
-7
0
0
0
0
0
0
0
0
0
10
7
27
4
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-15
10
0
0
0
1
0
0
0
0
0
0
0
0
3
0
-6
-1
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
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
8
-6
17
0
0
0
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
-4
0
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-24
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
109
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
20
-13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-3
19
-7
-19
1
0
-2
0
0
0
0
0
0
0
0
23
0
15
0
2
3
-4
0
0
0
0
0
0
0
0
0
0
0
40
0
53
1
16
9
0
0
0
0
0
0
0
0
0
0
0
0
107
0
-28
0
1
0
-16
0
0
0
0
0
0
0
0
0
8
0
-13
0
-2
0
-24
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
-1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
54
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-65
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
15
0
-10
0
-30
0
0
-1
0
0
0
0
0
0
0
0
2
0
-28
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
32
1
-21
-2
-9
0
0
0
0
0
0
0
0
0
1
64
-79
24
-24
21
-57
16
6
0
0
0
0
0
0
0
0
1
-23
2
-15
9
-7
11
-31
15
0
0
0
0
0
0
0
0
-3
0
6
-1
41
16
-35
9
9
0
0
0
0
0
0
0
0
1
2
-1
43
-42
-31
5
-9
19
0
0
0
0
0
0
0
0
0
0
0
-16
-9
49
-8
37
-1
0
0
0
0
0
0
0
0
0
-3
-7
-38
7
12
20
21
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-20
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
-31
16
-26
-62
0
-9
0
-7
0
0
0
0
0
0
0
31
35
71
-3
-33
-12
-1
6
12
-65
0
0
0
0
0
0
0
-20
1
-9
29
-11
-36
17
-18
0
-10
0
0
0
0
0
0
0
-31
-42
76
-72
-19
5
-12
9
4
29
0
0
0
0
0
0
0
-29
-17
-50
-7
15
-26
-4
14
13
-27
0
0
0
0
0
0
0
0
-10
5
16
29
1
6
6
13
-3
0
0
0
0
0
0
0
0
40
1
23
19
34
25
-19
9
-21
0
0
0
0
0
0
0
0
28
0
-15
15
-66
0
6
26
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-3
0
0
0
0
0
0
0
0
0
27
0
25
-35
-37
-28
-49
0
-6
9
0
0
0
0
0
0
-20
23
-68
80
-46
-4
-2
-10
-1
5
-8
0
0
0
0
0
0
7
-10
14
-15
72
-43
9
1
4
-23
1
0
0
0
0
0
0
0
4
10
47
-71
5
-3
10
23
-7
-17
0
0
0
0
0
0
0
74
0
-8
24
-42
25
22
1
17
0
0
0
0
0
0
0
0
-23
11
-25
66
25
5
38
16
-8
-47
0
0
0
0
0
0
0
-12
5
21
5
50
23
-23
30
12
0
0
0
0
0
0
0
0
-30
-18
-53
-14
-31
-42
-18
13
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
-7
0
-52
-4
2
40
0
-27
1
0
0
0
0
0
0
28
-46
80
-37
35
-8
-14
-2
-7
-10
-5
0
0
0
0
0
0
4
17
-23
-11
-4
35
6
32
21
12
-13
0
0
0
0
0
0
-41
52
-1
-20
-18
15
36
11
-12
8
-5
0
0
0
0
0
0
-24
57
-53
-1
29
-10
0
91
-21
13
1
0
0
0
0
0
0
0
-3
0
-2
4
-18
10
16
-7
26
6
-2
0
0
0
0
0
0
2
-1
0
13
-29
40
-19
21
60
-1
0
0
0
0
0
0
0
0
2
0
6
-12
-34
33
-26
-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
-7
0
-7
-1
-26
0
-14
-2
-1
0
0
0
0
0
-4
-13
-24
87
10
61
-27
5
-11
-52
14
0
0
0
0
0
0
-2
-48
30
35
3
25
25
-29
12
-68
-21
1
0
0
0
0
0
0
-61
10
43
-9
-10
-13
20
-38
13
-1
0
0
0
0
0
0
0
98
-28
-16
-18
-10
-12
-7
31
-34
-1
0
0
0
0
0
0
0
6
-25
7
-20
-16
-53
8
-32
31
-8
0
0
0
0
0
0
0
-8
26
1
30
7
8
-49
-32
-19
0
0
0
0
0
0
0
0
0
3
0
1
32
-60
-21
15
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-6
0
23
-85
0
0
11
0
0
0
0
0
0
0
-5
-72
48
56
48
-11
32
-16
23
-7
0
0
0
0
0
0
0
-13
-46
15
-58
19
0
68
2
-26
-2
0
0
0
0
0
0
4
4
48
-6
-3
-25
28
19
-29
25
46
0
0
0
0
0
0
1
33
-10
1
-56
40
20
-41
15
63
-16
0
0
0
0
0
0
0
-4
0
-10
7
61
39
27
38
-42
7
0
0
0
0
0
0
0
0
3
-1
20
-55
-5
57
-7
-2
0
0
0
0
0
0
0
0
0
0
0
4
-40
-2
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
-25
0
-5
0
0
0
0
0
0
0
0
113
30
8
0
0
-30
-1
-35
-37
1
0
0
0
0
0
0
0
40
0
53
0
-30
59
26
-105
2
3
0
0
0
0
0
0
0
0
7
0
20
73
-94
40
-53
-13
0
0
0
0
0
0
0
0
9
-1
0
-2
1
-32
-26
-1
-75
2
0
0
0
0
0
0
0
11
1
-1
0
-10
-47
0
5
26
3
0
0
0
0
0
0
0
0
15
0
3
-13
-6
-109
-24
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-109
58
-111
49
-23
-9
-18
1
0
0
0
0
0
0
0
0
0
-1
-82
-88
34
-44
-5
-33
8
5
0
0
0
0
0
0
0
0
-15
-7
3
65
14
1
-8
-20
25
0
0
0
0
0
0
0
0
-22
-14
1
20
61
-21
-5
15
26
0
0
0
0
0
0
0
0
-9
-3
18
5
41
17
-23
24
52
0
0
0
0
0
0
0
0
-1
42
2
21
-15
-7
19
-7
-3
0
0
0
0
0
0
0
0
-12
-28
7
-10
-32
-5
5
-26
-8
0
0
0
0
0
0
0
0
0
10
0
9
0
-17
42
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-33
15
0
0
0
0
0
0
0
0
0
-27
-41
129
-34
0
-28
-4
-20
0
-18
0
0
0
0
0
0
0
-27
10
16
-1
-2
-18
-16
9
0
-75
0
0
0
0
0
0
0
-16
59
49
-70
-16
-19
6
-17
21
-25
0
0
0
0
0
0
0
-4
44
-68
-16
-20
19
-8
9
-24
22
0
0
0
0
0
0
0
-13
40
-18
14
27
-21
3
8
12
44
0
0
0
0
0
0
0
-18
48
-22
-3
27
2
8
11
-26
-13
0
0
0
0
0
0
0
31
-13
10
-60
-20
-3
11
-7
-1
-16
0
0
0
0
0
0
0
-1
2
0
-16
18
-17
-20
24
35
56
0
0
0
0
0
0
0
0
0
-2
0
27
0
-20
-4
7
0
0
0
0
0
0
0
0
19
30
19
64
-26
-14
-4
-35
0
-7
3
0
0
0
0
0
0
81
-44
-7
-32
-33
-12
-30
7
-4
-24
38
0
0
0
0
0
0
-7
-43
-27
7
-34
-12
-16
-25
-2
-22
-6
0
0
0
0
0
0
1
-25
66
-65
25
-19
-4
6
-15
-4
-11
0
0
0
0
0
0
-2
1
-27
22
-44
-18
-8
-6
-2
-37
-16
0
0
0
0
0
0
0
23
24
111
-25
-22
-9
-2
-8
18
1
0
0
0
0
0
0
0
3
8
-2
2
-24
9
-28
6
-10
-2
0
0
0
0
0
0
0
4
0
-1
10
13
-46
-17
20
30
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
3
1
0
0
0
0
0
0
0
7
-91
73
4
24
-26
9
1
0
-9
-39
0
0
0
0
0
0
-55
93
-25
23
-20
36
-6
26
-1
-75
-29
0
0
0
0
0
0
79
-38
82
-31
-5
-36
17
-8
12
-22
17
-3
0
0
0
0
0
19
-4
-62
-27
-43
-14
-12
40
-23
-5
-15
0
0
0
0
0
0
37
-90
65
9
62
-65
10
4
22
-27
17
-6
0
0
0
0
0
-1
0
-14
-22
-34
12
-9
2
-30
88
31
0
0
0
0
0
0
-1
6
-11
-1
15
-21
16
-5
-61
-41
6
0
0
0
0
0
0
3
-1
4
-9
-26
-84
-63
-11
-42
-9
0
0
0
0
0
0
0
0
0
0
0
0
-4
-45
-25
0
0
0
0
0
0
0
0
0
60
-65
-65
71
23
32
-17
-5
0
7
-4
0
0
0
0
0
0
39
29
15
-15
-142
40
6
7
22
-97
16
-2
0
0
0
0
0
16
-27
10
34
-57
16
-17
5
18
-32
19
0
0
0
0
0
0
12
0
77
1
32
22
-10
11
17
-4
14
-3
0
0
0
0
0
22
46
10
-6
-1
21
-15
6
-16
10
1
15
0
0
0
0
0
-3
10
39
78
10
26
-8
-10
-11
18
-7
0
0
0
0
0
0
0
-4
-6
1
-37
-2
-20
-8
-6
30
0
0
0
0
0
0
0
0
0
0
0
0
7
-5
13
-22
19
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-3
0
0
0
0
0
0
0
0
18
13
-8
10
18
16
-17
-6
0
-29
-17
0
0
0
0
0
0
0
-1
39
-6
17
30
-14
22
37
60
12
0
0
0
0
0
0
4
4
8
42
-67
-3
-5
-1
25
47
7
-1
0
0
0
0
0
18
-29
-33
78
-24
-12
3
12
25
31
11
-1
0
0
0
0
0
3
-27
66
40
2
-44
-12
-25
16
-5
10
4
-1
0
0
0
0
0
45
49
7
-38
-38
-21
-7
3
-23
14
1
0
0
0
0
0
-4
0
0
2
11
-39
12
-8
20
3
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
2
11
11
0
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
-9
-4
24
-4
2
-3
0
0
-4
0
0
0
0
0
0
0
-2
-12
-6
38
-22
2
-27
9
18
19
0
0
0
0
0
0
0
77
-1
-38
-55
34
30
71
7
13
-30
0
0
0
0
0
0
0
2
0
-11
10
38
-23
28
19
1
1
0
0
0
0
0
0
0
3
0
-1
11
15
-47
27
39
-49
-4
-2
0
0
0
0
0
0
0
-9
0
-2
36
-10
-12
-20
-43
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-8
-6
52
-29
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-23
-22
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
-1
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
-1
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
2
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
30
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-15
-3
-13
-11
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
9
-3
0
17
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
0
7
-3
0
0
0
0
0
0
0
0
-1
0
0
0
-1
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
68
-1
-19
6
13
17
6
0
0
0
0
0
0
0
0
0
11
-92
-25
6
-13
-6
-13
14
35
0
0
0
0
0
0
0
0
8
-27
16
-2
79
-29
-8
4
-35
0
0
0
0
0
0
0
0
-4
15
18
-41
-8
-23
-7
-11
15
0
0
0
0
0
0
0
0
7
-8
11
61
14
5
-33
-17
34
0
0
0
0
0
0
0
0
-3
-3
7
-50
-25
-10
-1
2
0
0
0
0
0
0
0
0
0
0
-18
0
0
2
52
23
15
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
3
0
0
0
0
0
0
0
0
0
0
13
0
15
51
11
-5
9
6
0
46
0
0
0
0
0
0
0
-21
-5
61
2
9
16
10
23
26
-15
0
0
0
0
0
0
0
-52
-21
21
18
14
10
26
15
12
-31
0
0
0
0
0
0
0
51
73
64
16
4
1
11
17
-4
-22
0
0
0
0
0
0
0
-9
-1
18
31
19
16
-1
21
22
-17
0
0
0
0
0
0
0
19
68
-46
-9
13
12
-2
4
32
-14
0
0
0
0
0
0
0
21
0
-79
-2
-10
20
21
-1
12
-13
0
0
0
0
0
0
0
0
0
-6
11
-74
11
19
5
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-2
-16
3
-20
5
-16
4
2
0
2
-3
0
0
0
0
0
0
-49
-19
-11
48
-7
10
1
13
15
-1
-43
0
0
0
0
0
0
-3
-7
7
-42
15
-41
7
-3
-3
0
-1
0
0
0
0
0
0
-26
32
33
32
-4
17
-16
2
-4
-14
0
0
0
0
0
0
0
-1
4
119
-19
52
-18
-1
-8
13
-3
6
0
0
0
0
0
0
0
7
-82
-18
14
-44
17
8
-8
-22
2
0
0
0
0
0
0
0
-48
-9
20
-44
-62
42
-2
-16
2
0
0
0
0
0
0
0
0
-1
-4
0
24
2
-61
32
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
2
0
0
0
0
0
0
0
0
0
-55
26
54
18
-55
61
12
11
0
5
16
0
0
0
0
0
0
-16
-52
39
84
-16
-4
8
18
18
-77
5
1
0
0
0
0
0
20
-20
16
41
-7
4
8
4
-2
-9
-14
0
0
0
0
0
0
30
8
50
-70
24
-37
-12
3
-13
-10
-30
0
0
0
0
0
0
-53
37
20
10
-41
3
-3
-5
-16
63
0
1
0
0
0
0
0
0
39
-15
8
-37
-60
-69
-2
19
33
-13
0
0
0
0
0
0
0
-2
22
1
-69
14
-11
14
18
21
-2
0
0
0
0
0
0
0
0
0
0
6
-3
-15
5
-8
27
0
0
0
0
0
0
0
0
0
0
0
7
-4
1
0
0
0
0
0
0
0
0
0
0
-7
-122
16
132
-12
10
6
2
0
-10
22
20
0
0
0
0
0
-13
-80
31
-9
-30
10
-9
1
14
-56
-15
-9
0
0
0
0
0
2
21
11
-86
-8
-25
-24
-6
12
-13
7
0
0
0
0
0
0
10
-26
-8
42
12
-28
-28
-3
-40
-32
-15
4
0
0
0
0
0
15
-95
58
-28
-48
10
6
-12
-28
-8
-22
0
0
0
0
0
0
1
-33
63
61
-1
-4
-40
9
-39
-51
3
0
0
0
0
0
0
0
0
4
45
1
0
-9
-26
17
39
2
0
0
0
0
0
0
0
0
0
0
0
-6
9
-7
2
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
4
-18
52
39
28
-21
41
-30
0
4
23
0
0
0
0
0
0
26
61
25
38
-20
22
40
41
43
-27
-28
0
0
0
0
0
0
-2
12
21
12
1
17
61
27
40
-25
-8
0
0
0
0
0
0
-9
31
40
12
48
65
12
51
-7
29
-2
0
0
0
0
0
0
-29
-9
37
43
28
17
7
-46
33
-26
-9
0
0
0
0
0
0
0
-1
9
3
32
-92
-31
1
16
-26
-1
0
0
0
0
0
0
0
0
1
-2
-4
-10
10
1
29
27
-2
0
0
0
0
0
0
0
0
1
0
0
-16
0
57
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
-1
-4
0
-1
-69
46
20
0
22
7
2
0
0
0
0
0
0
2
0
-2
-32
78
51
44
60
-34
13
0
0
0
0
0
0
0
3
-1
15
-25
52
50
-2
16
-5
2
0
0
0
0
0
0
0
-21
47
-22
-62
49
11
-15
-28
28
-4
0
0
0
0
0
0
0
1
2
0
-6
-49
-12
-37
14
25
4
0
0
0
0
0
0
0
0
4
0
13
-11
9
-8
-24
0
-2
0
0
0
0
0
0
0
0
-4
3
0
0
-38
38
12
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
3
0
-1
-3
0
0
0
0
0
0
0
0
-1
6
0
9
-1
4
-2
-5
-1
0
0
0
0
0
0
0
0
0
0
-4
0
19
2
15
17
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
8
0
1
2
0
0
0
0
0
0
0
0
0
0
1
0
0
10
-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
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
9
-10
0
4
0
0
0
0
0
0
0
0
0
-1
0
0
-1
12
-34
33
-7
-6
0
0
0
0
0
0
0
0
0
-1
2
0
-1
41
0
-17
-6
0
0
0
0
0
0
0
0
0
-1
-1
3
-12
10
16
-4
-24
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-7
27
11
33
0
10
0
0
0
0
0
0
0
0
-1
2
-7
-3
-18
-16
14
19
83
0
0
0
0
0
0
0
0
-28
7
-9
57
-11
57
-1
51
-10
0
0
0
0
0
0
0
0
-7
3
-6
-1
-29
0
-43
-22
11
0
0
0
0
0
0
0
0
4
-3
-1
-11
9
0
-1
12
13
0
0
0
0
0
0
0
0
-3
4
10
0
-6
0
47
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-4
-24
-47
-5
-22
0
0
0
0
0
0
0
0
0
1
-9
24
-34
60
-2
-45
4
4
0
0
0
0
0
0
0
0
-1
28
1
91
19
-30
-1
45
-30
0
0
0
0
0
0
0
0
0
0
3
1
4
30
-50
-20
-15
0
0
0
0
0
0
0
0
0
6
-1
-19
11
63
7
61
-19
0
0
0
0
0
0
0
0
0
-3
10
-7
27
-19
6
24
-2
0
0
0
0
0
0
0
0
0
0
4
68
25
67
-17
-19
3
0
0
0
0
0
0
0
0
0
0
0
15
0
-22
-3
-42
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
-17
-6
20
-47
-7
14
1
8
0
33
0
0
0
0
0
0
0
-29
75
32
21
-36
6
11
25
15
-26
0
0
0
0
0
0
0
63
123
52
-8
16
-24
7
-11
15
-20
0
0
0
0
0
0
0
-1
28
73
46
-42
7
-3
6
-23
21
0
0
0
0
0
0
0
18
24
-16
-43
-19
17
1
-2
37
0
0
0
0
0
0
0
0
-22
4
18
42
-8
10
-8
12
1
12
0
0
0
0
0
0
0
7
32
80
47
13
-40
24
-23
-16
5
0
0
0
0
0
0
0
0
4
-10
-40
-13
59
19
33
-19
-4
0
0
0
0
0
0
0
0
0
0
-7
6
-1
0
7
0
0
0
0
0
0
0
0
0
0
-109
30
104
-1
1
-7
7
0
-10
10
0
0
0
0
0
0
42
-7
33
55
-4
-22
20
17
19
-27
39
0
0
0
0
0
0
-16
36
37
-71
-45
20
7
17
-4
-7
-1
0
0
0
0
0
0
0
75
3
-21
-67
-70
-28
-9
-9
-10
-7
0
0
0
0
0
0
37
-8
9
-99
-11
24
-11
-5
-22
20
0
0
0
0
0
0
0
-4
46
66
-10
29
-3
3
-4
-35
0
-4
0
0
0
0
0
0
0
-40
38
59
-23
15
37
-6
-7
33
-2
0
0
0
0
0
0
0
-14
0
-5
1
-2
16
-4
55
14
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
11
4
0
0
0
0
0
0
0
0
35
8
3
36
-21
11
62
27
0
-10
14
0
0
0
0
0
0
-49
-18
-34
7
-21
25
-8
31
28
-29
-7
0
0
0
0
0
0
-54
-8
85
-8
-34
-4
14
5
-1
-25
4
0
0
0
0
0
0
29
23
-11
-5
-89
-12
-14
2
-17
0
-7
0
0
0
0
0
0
59
37
-18
-37
-99
-43
1
-10
-13
-5
1
0
0
0
0
0
0
2
64
81
-15
6
55
-9
18
16
26
15
-1
0
0
0
0
0
0
18
-34
3
30
-14
73
34
2
-29
0
0
0
0
0
0
0
0
2
-6
3
12
23
-36
15
-44
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-1
-4
0
0
0
0
0
0
0
0
18
48
3
-69
14
-16
41
0
2
3
-4
0
0
0
0
0
22
-76
21
-51
-27
13
5
18
42
13
-8
0
0
0
0
0
0
-6
53
-25
32
-15
14
9
6
0
-49
0
0
0
0
0
0
0
-2
23
2
-31
-16
-61
-16
-17
-20
-36
-14
2
0
0
0
0
0
1
-99
-5
-39
-74
13
-2
6
-31
-65
0
-2
0
0
0
0
0
0
-42
58
2
-28
28
60
20
16
55
0
0
0
0
0
0
0
0
5
-7
-13
0
-18
10
64
-10
-1
0
0
0
0
0
0
0
0
-1
0
-2
0
-3
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
3
0
-2
-52
-37
-8
-28
0
38
-32
0
0
0
0
0
0
10
30
-32
16
-52
53
38
20
32
27
89
0
0
0
0
0
0
0
-20
-29
34
28
-7
44
36
1
9
18
0
0
0
0
0
0
0
-7
0
-18
28
-31
-19
-2
-18
-3
10
0
0
0
0
0
0
51
17
16
-32
-36
2
-1
-28
11
-30
11
-9
0
0
0
0
0
0
2
-4
13
-52
6
-29
67
34
58
3
0
0
0
0
0
0
0
1
-10
-4
-3
-35
32
-10
-49
18
2
0
0
0
0
0
0
0
0
9
0
0
13
-12
3
35
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-25
1
-30
0
72
8
0
0
0
0
0
0
0
-9
0
-2
-10
8
27
36
18
-28
70
2
0
0
0
0
0
0
-10
1
-9
-44
41
-90
95
43
4
15
0
0
0
0
0
0
0
4
0
-12
-1
-7
3
-42
20
10
6
0
0
0
0
0
0
0
-1
-4
-7
18
4
-95
75
60
-57
0
0
0
0
0
0
0
0
-12
-1
-1
-3
71
-11
71
2
-3
-2
0
0
0
0
0
0
0
0
0
0
-19
2
-4
-4
25
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
20
4
-13
0
47
0
0
0
0
0
0
0
0
1
0
0
0
38
-35
75
-25
1
7
0
0
0
0
0
0
0
0
0
-1
11
15
1
10
7
20
0
0
0
0
0
0
0
-1
1
0
0
-1
-50
0
7
-45
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-13
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
-10
9
1
7
-29
-7
6
-48
0
-9
0
0
0
0
0
0
0
-6
-28
-15
19
0
2
-1
29
-22
-15
0
0
0
0
0
0
0
0
-1
-6
1
-29
-34
120
-13
3
-1
0
0
0
0
0
0
0
-47
4
0
2
11
-84
-45
48
-3
-65
0
0
0
0
0
0
0
1
-16
-3
6
7
14
31
-6
31
0
0
0
0
0
0
0
0
0
0
-1
9
16
-38
0
-13
-1
0
0
0
0
0
0
0
0
0
6
-4
1
3
0
21
-4
-3
0
0
0
0
0
0
0
0
0
3
0
-3
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
0
-3
35
-35
-46
0
6
0
0
0
0
0
0
0
0
-63
-3
-11
-41
-15
-49
13
12
-18
0
0
0
0
0
0
0
0
-21
1
-22
13
-66
5
42
62
-2
0
0
0
0
0
0
0
0
11
-6
-3
-38
-5
-106
45
52
0
0
0
0
0
0
0
0
0
12
0
-10
5
-35
-22
26
0
-8
0
0
0
0
0
0
0
0
-4
-9
1
8
-2
0
20
17
-3
0
0
0
0
0
0
0
0
0
11
-3
-7
1
0
10
36
6
0
0
0
0
0
0
0
0
0
1
0
0
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
-1
0
0
-4
-6
0
0
0
0
0
0
0
0
0
0
-1
-4
-4
6
-3
1
-6
0
0
0
0
0
0
0
0
2
0
0
0
0
1
13
-2
1
0
0
0
0
0
0
0
0
1
0
0
0
-1
7
4
6
0
0
0
0
0
0
0
0
0
2
0
0
-1
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
42
-47
10
27
0
0
0
0
0
0
0
0
0
0
-8
6
0
-46
-13
-8
18
37
0
0
0
0
0
0
0
0
0
1
0
-80
-81
-29
-2
4
-8
0
0
0
0
0
0
0
0
0
49
0
-11
36
-25
61
-6
-7
0
0
0
0
0
0
0
0
0
0
0
-17
29
1
-24
-50
5
0
0
0
0
0
0
0
0
-1
-8
-55
13
38
1
-20
5
-1
0
0
0
0
0
0
0
0
0
11
0
2
20
-22
14
1
38
0
0
0
0
0
0
0
0
0
-2
-1
-12
0
-3
-21
8
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
44
2
0
0
0
0
0
0
0
0
0
-10
-18
-133
-2
-29
32
11
-22
0
39
0
0
0
0
0
0
0
33
1
-34
33
-36
7
15
19
10
22
0
0
0
0
0
0
0
15
29
44
-13
6
10
15
-9
0
-13
0
0
0
0
0
0
0
3
25
6
-44
-25
-1
0
-7
-8
8
0
0
0
0
0
0
0
-12
0
13
29
-10
14
-8
24
-8
-20
0
0
0
0
0
0
0
54
-35
-1
-6
47
6
8
-8
-17
1
0
0
0
0
0
0
0
-31
0
36
10
-56
2
11
-11
-9
-1
0
0
0
0
0
0
0
0
0
1
-18
21
17
1
7
9
-17
0
0
0
0
0
0
0
0
0
0
0
-8
0
19
-6
-16
0
0
0
0
0
0
0
0
0
-22
-20
-61
55
-18
27
2
0
3
0
0
0
0
0
0
0
0
10
-8
27
-24
28
1
13
22
-33
31
0
0
0
0
0
0
0
-31
42
7
43
-16
13
1
10
-6
-2
0
0
0
0
0
0
-8
54
-8
-77
11
-20
-19
4
-29
3
-35
0
0
0
0
0
0
0
39
0
-23
-52
1
0
-20
0
-38
0
0
0
0
0
0
0
12
45
-10
14
-32
26
20
-6
-12
10
-10
0
0
0
0
0
0
3
34
-20
14
-6
-20
16
-31
-25
-46
0
0
0
0
0
0
0
0
-17
24
-11
3
45
13
0
-20
-20
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-1
-4
-4
-16
14
39
0
15
8
0
0
0
0
0
0
-6
-2
23
19
-42
5
19
21
16
-27
31
0
0
0
0
0
0
-1
55
37
-28
-12
-40
39
5
-27
32
14
0
0
0
0
0
0
24
-42
20
28
-42
39
37
24
26
6
29
0
0
0
0
0
0
-11
6
-1
0
-21
-21
10
-21
-14
-35
-3
0
0
0
0
0
0
-8
9
3
14
-50
18
43
-1
-5
-55
7
0
0
0
0
0
0
-2
69
87
0
1
12
47
19
-5
-5
11
0
0
0
0
0
0
2
-6
0
12
-39
-34
8
-22
48
17
0
0
0
0
0
0
0
0
0
0
0
-10
0
-81
-1
-20
1
0
0
0
0
0
0
0
0
10
2
-8
-31
6
4
-4
0
11
0
0
0
0
0
0
0
0
54
59
-3
-60
27
11
18
17
11
27
5
0
0
0
0
0
1
41
-53
27
-12
3
75
10
18
-1
13
0
0
0
0
0
0
0
-79
-5
-24
-53
-54
29
46
-17
-37
-2
0
0
0
0
0
0
0
22
-6
-2
0
-7
8
25
-17
-53
1
2
0
0
0
0
0
-8
-6
-6
56
-26
7
36
0
15
-34
-25
0
0
0
0
0
0
11
27
79
-3
-18
-15
56
5
-4
-6
0
0
0
0
0
0
0
0
-3
-7
-6
-2
22
94
31
14
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
2
0
2
2
-41
-16
-25
12
0
46
3
0
0
0
0
0
0
0
-2
-15
15
62
-52
3
-4
21
-14
25
0
0
0
0
0
0
0
23
-3
32
0
-42
-10
-6
41
-19
-8
0
0
0
0
0
0
-4
34
-25
6
-62
76
0
18
45
-25
4
0
0
0
0
0
0
0
-30
9
-1
-39
0
-5
-12
13
10
0
0
0
0
0
0
0
6
10
-43
-58
-7
-2
6
34
-1
-41
2
0
0
0
0
0
0
7
4
13
38
12
-7
61
-11
67
1
0
0
0
0
0
0
0
0
-6
0
-44
0
-59
16
-8
-1
-10
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
-7
-19
0
-2
15
-20
-55
0
26
-6
0
0
0
0
0
0
0
-7
-2
0
-5
-10
34
26
29
-9
-9
0
0
0
0
0
0
0
75
6
0
12
62
-31
-3
109
-70
-1
0
0
0
0
0
0
0
7
-15
-1
-69
-33
28
-13
-3
-66
-3
0
0
0
0
0
0
0
0
0
-6
-2
2
0
17
15
-11
1
-4
0
0
0
0
0
0
1
-2
3
12
-8
-59
63
55
-6
-2
0
0
0
0
0
0
0
0
-19
2
0
-6
31
5
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
-30
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
6
-7
14
25
-3
0
-10
0
0
0
0
0
0
0
0
2
0
9
2
12
40
-43
-11
6
0
0
0
0
0
0
0
-2
0
-2
7
10
2
-12
39
-1
12
0
0
0
0
0
0
0
3
0
1
-36
-6
-27
2
-41
1
-4
0
0
0
0
0
0
0
1
0
0
1
8
-8
6
0
-18
-6
0
0
0
0
0
0
0
-1
2
-1
-6
1
-11
2
-46
1
0
9
0
0
0
0
0
0
0
0
8
0
34
1
-8
8
3
0
0
0
0
0
0
0
0
0
0
0
1
0
-48
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-18
15
32
13
-31
-72
11
0
-5
0
0
0
0
0
0
0
-8
-1
-4
55
-29
27
6
-1
-6
-18
1
0
0
0
0
0
0
1
-15
1
-8
1
-9
23
53
-31
5
0
0
0
0
0
0
0
26
6
-6
-8
-65
-19
-94
-23
7
0
0
0
0
0
0
0
0
-7
3
2
-24
34
-73
-40
-36
0
-6
0
0
0
0
0
0
0
0
-12
-8
-3
-12
45
8
25
13
8
0
0
0
0
0
0
0
2
-3
0
0
37
-19
25
7
9
-2
0
0
0
0
0
0
0
0
-6
-1
6
-7
6
-1
11
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
-2
7
-9
8
-36
2
0
-7
0
0
0
0
0
0
0
0
34
-6
-20
-54
59
86
10
42
-53
0
0
0
0
0
0
0
0
-15
10
-21
69
12
90
11
-52
-2
0
0
0
0
0
0
0
0
12
13
-20
13
58
58
17
-2
-35
0
0
0
0
0
0
0
0
7
0
24
-31
15
32
80
48
0
0
0
0
0
0
0
0
0
-40
12
1
-74
41
-5
-46
0
-43
0
0
0
0
0
0
0
0
9
12
-6
1
7
-45
0
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
-44
-12
20
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
-36
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
24
0
-51
0
0
0
0
0
0
0
0
-3
-1
0
0
1
-4
0
13
2
0
0
0
0
0
0
0
0
0
0
0
-1
11
-13
-16
0
-2
0
0
0
0
0
0
0
0
0
0
1
1
1
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-2
-6
-30
3
25
0
0
0
0
0
0
0
0
0
0
3
-1
-4
13
16
28
-7
-6
0
0
0
0
0
0
0
0
0
-6
0
-1
12
-9
27
-60
-10
0
0
0
0
0
0
0
0
0
-2
-2
-15
-11
-4
-11
-3
2
0
0
0
0
0
0
0
0
0
-10
-16
24
-6
12
9
36
13
0
0
0
0
0
0
0
0
0
10
4
21
-7
-35
-10
3
0
0
0
0
0
0
0
0
0
0
18
13
-7
-44
-9
13
0
16
0
0
0
0
0
0
0
0
0
-41
-3
11
0
-2
-4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
16
-11
-1
0
0
0
0
0
0
0
0
1
0
30
54
-3
7
14
-12
0
17
0
0
0
0
0
0
0
-38
32
-34
-13
-30
7
-11
11
18
26
0
0
0
0
0
0
0
-14
6
2
-3
14
3
4
11
-4
0
0
0
0
0
0
0
0
-13
-3
-1
74
31
-17
0
1
15
5
0
0
0
0
0
0
0
95
106
-9
-7
25
-30
-4
9
-2
13
0
0
0
0
0
0
0
0
0
-24
32
-32
-4
-18
1
9
0
0
0
0
0
0
0
0
-17
-3
-49
-12
-22
33
10
-49
28
-4
0
0
0
0
0
0
0
-2
10
36
-59
8
-6
-25
-1
-1
17
0
0
0
0
0
0
0
0
0
0
0
75
-1
-15
-2
0
0
0
0
0
0
0
0
0
0
10
4
-2
19
13
6
29
0
-13
-7
0
0
0
0
0
0
0
3
59
6
-20
-19
19
16
35
4
-10
0
0
0
0
0
0
0
3
12
21
-12
24
8
0
7
1
-7
0
0
0
0
0
0
2
39
-2
13
14
-8
5
6
1
-14
15
0
0
0
0
0
0
21
-5
-19
23
-1
-21
-10
8
-40
5
-1
0
0
0
0
0
0
0
-31
0
-8
6
-17
0
-8
-4
-56
0
0
0
0
0
0
0
-1
45
0
2
-27
2
13
-9
-19
-6
0
0
0
0
0
0
0
0
2
0
-51
-51
-15
1
-3
-65
30
0
0
0
0
0
0
0
0
0
0
0
4
0
-15
21
0
0
0
0
0
0
0
0
0
0
-7
0
-36
9
-55
-2
14
0
8
-3
0
0
0
0
0
0
0
-6
2
39
-6
11
-3
3
31
2
13
0
0
0
0
0
0
4
4
10
-1
-24
-12
18
1
-1
47
21
0
0
0
0
0
0
-26
-12
28
-32
19
24
-4
14
-3
-8
-6
0
0
0
0
0
0
-11
-62
4
7
-65
18
21
3
-25
28
1
0
0
0
0
0
0
-4
1
22
0
-48
-35
-44
15
-30
-11
7
0
0
0
0
0
0
0
16
33
-7
-124
-44
15
-16
-18
-31
0
0
0
0
0
0
0
0
-12
6
18
12
44
-48
39
-27
-11
0
0
0
0
0
0
0
0
0
0
0
9
-27
23
-6
0
0
0
0
0
0
0
0
0
1
-3
11
-28
11
12
-9
16
0
7
9
0
0
0
0
0
0
0
13
-21
12
5
36
14
11
24
24
9
0
0
0
0
0
0
0
-46
2
20
-34
-49
16
44
26
9
0
0
0
0
0
0
0
13
32
20
-72
4
3
14
23
22
-13
0
0
0
0
0
0
0
-6
-27
7
-39
3
-70
35
4
-16
-19
0
0
0
0
0
0
0
0
-15
58
0
0
-22
3
5
-4
-32
6
0
0
0
0
0
0
0
9
-7
-16
-39
102
35
-6
-4
-42
0
0
0
0
0
0
0
0
-9
37
-8
0
2
29
11
-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
-1
8
-7
-28
-4
-19
12
0
3
0
0
0
0
0
0
0
0
45
-1
-26
2
-15
-67
24
-8
39
18
0
0
0
0
0
0
2
6
21
-3
30
1
16
-6
55
5
22
0
0
0
0
0
0
-2
-1
1
7
23
46
39
70
-20
-18
40
0
0
0
0
0
0
4
-79
-7
8
-16
-5
-28
51
10
-16
2
0
0
0
0
0
0
0
0
7
0
1
0
10
-15
14
17
-6
0
0
0
0
0
0
0
1
15
20
-17
-18
-34
4
-13
34
0
0
0
0
0
0
0
0
0
-3
0
2
-23
23
15
-1
-2
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
1
2
-34
8
-13
0
-11
-4
0
0
0
0
0
0
0
-6
-1
-1
18
28
-32
-10
-67
27
1
0
0
0
0
0
0
0
-9
-1
0
7
-7
22
-30
27
-1
2
0
0
0
0
0
0
0
-59
2
0
-29
44
-59
13
55
-25
-4
0
0
0
0
0
0
0
-30
-1
7
46
-1
-17
-30
-1
-6
0
0
0
0
0
0
0
0
2
0
-8
-25
-61
0
-35
3
22
1
0
0
0
0
0
0
0
0
23
23
-35
-3
28
3
18
-15
0
0
0
0
0
0
0
0
0
0
1
0
1
-12
-49
-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
1
0
0
1
2
-2
-27
6
0
-13
0
0
0
0
0
0
0
0
-6
0
0
0
0
22
-9
20
-11
-4
0
0
0
0
0
0
0
-1
0
0
0
9
-1
-18
-76
-10
0
0
0
0
0
0
0
0
0
0
0
13
1
8
12
-45
0
0
0
0
0
0
0
0
0
0
7
0
-12
1
0
-21
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-2
-2
0
4
8
-3
0
0
0
0
0
0
0
0
0
1
-3
28
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
-15
0
28
-35
1
-21
0
-14
-1
0
0
0
0
0
0
2
-21
-9
3
38
3
-12
-19
-37
-24
2
0
0
0
0
0
0
-2
18
-1
8
-32
10
-18
-142
-71
-8
0
0
0
0
0
0
0
27
-42
2
11
-4
-21
105
-76
-67
-57
0
0
0
0
0
0
0
-13
38
-25
-21
37
-3
15
1
29
0
0
0
0
0
0
0
0
18
-37
-45
-27
-27
-42
22
-4
0
-12
0
0
0
0
0
0
0
4
-9
-9
15
16
-2
-27
6
18
0
0
0
0
0
0
0
0
0
6
-1
-12
22
-14
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
7
-2
0
0
0
0
0
0
0
0
0
0
2
6
7
-1
-2
-15
7
0
36
-6
0
0
0
0
0
0
0
-7
15
10
-26
8
-16
7
-27
26
-3
0
0
0
0
0
0
0
-44
1
-11
-83
14
39
-40
-16
32
0
0
0
0
0
0
0
0
21
-2
-53
-1
-34
-22
25
35
-74
0
0
0
0
0
0
0
0
-37
-2
87
-13
-10
-15
33
2
-22
0
0
0
0
0
0
0
0
-26
-8
-3
-14
-55
-59
19
27
0
1
0
0
0
0
0
0
0
0
19
6
-61
-8
-4
-34
2
-1
0
0
0
0
0
0
0
0
3
0
0
1
-3
10
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
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
-42
0
0
0
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
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
-4
2
0
1
-11
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-39
-18
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
12
1
-6
-2
0
0
0
0
0
0
0
0
7
0
0
1
8
23
3
13
-4
0
0
0
0
0
0
0
0
0
0
1
0
1
-17
-14
-4
-12
0
0
0
0
0
0
0
0
0
6
-41
6
-15
37
-9
8
0
0
0
0
0
0
0
0
0
0
10
0
0
-3
-11
44
-8
4
0
0
0
0
0
0
0
0
0
0
27
-8
3
18
11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
27
0
0
0
0
0
0
0
0
0
0
0
-1
-54
-2
0
-53
33
48
0
28
0
0
0
0
0
0
0
-2
0
-10
-53
36
5
-19
11
11
1
0
0
0
0
0
0
0
8
1
13
11
-25
11
21
-12
4
-32
0
0
0
0
0
0
0
-11
0
-18
82
-25
12
-7
4
-14
30
0
0
0
0
0
0
0
-20
-2
-33
2
-10
-5
-3
6
-1
38
0
0
0
0
0
0
0
-10
-25
0
-44
-3
-2
12
6
-4
-5
0
0
0
0
0
0
0
-4
0
-3
92
-43
-13
4
2
14
11
0
0
0
0
0
0
0
-6
0
-27
-57
-2
9
-55
-3
-69
-28
0
0
0
0
0
0
0
0
0
0
0
-4
0
15
1
-3
0
0
0
0
0
0
0
0
0
4
18
0
24
-54
44
34
0
35
0
0
0
0
0
0
0
0
13
-7
11
-17
22
-16
36
32
-2
1
0
0
0
0
0
0
0
39
-3
22
11
-29
24
21
11
-1
0
0
0
0
0
0
0
0
2
6
58
-17
22
17
1
-2
15
35
0
0
0
0
0
0
-8
3
7
78
41
11
11
5
-1
16
0
0
0
0
0
0
0
0
-4
-14
67
-18
18
5
23
-23
5
-7
0
0
0
0
0
0
0
6
0
-94
-21
9
13
-45
12
8
0
0
0
0
0
0
0
0
140
-8
2
-64
9
-11
17
11
24
0
0
0
0
0
0
0
0
0
0
0
2
3
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
-4
-53
-36
22
-7
0
15
0
0
0
0
0
0
0
0
0
0
-22
-34
-16
-37
22
43
-14
-21
0
0
0
0
0
0
4
30
13
8
-23
-68
-10
42
-1
-18
0
0
0
0
0
0
0
-4
3
3
-33
-62
17
20
-7
-29
16
3
0
0
0
0
0
0
3
57
16
-1
2
-56
26
-18
-22
-11
-1
0
0
0
0
0
0
-32
-24
6
-36
-57
12
23
30
18
-20
-56
0
0
0
0
0
0
7
8
-1
0
-32
-21
10
-14
-18
-26
-7
0
0
0
0
0
0
1
-50
-16
4
1
-70
-8
5
-12
5
0
0
0
0
0
0
0
0
0
2
0
-35
0
-6
6
18
0
0
0
0
0
0
0
0
0
0
-22
-6
7
-24
37
-9
0
3
0
0
0
0
0
0
0
1
-10
7
-1
-91
-4
-12
30
15
30
69
0
0
0
0
0
0
0
-20
10
-3
-23
-34
17
-19
72
-31
-2
0
0
0
0
0
0
8
33
36
46
-11
-12
-24
63
-32
16
-11
0
0
0
0
0
0
0
-24
34
1
-51
-15
42
-37
14
-46
0
0
0
0
0
0
0
0
10
-30
-68
-6
59
-18
19
-67
13
-3
0
0
0
0
0
0
0
0
-3
1
0
-9
-5
-99
-12
9
0
0
0
0
0
0
0
0
-10
4
-2
0
11
-12
-3
-98
-24
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
-1
0
-14
1
-42
-15
0
-3
0
0
0
0
0
0
0
0
0
0
-9
-6
-15
-114
15
20
15
51
0
0
0
0
0
0
0
11
0
-8
2
-7
4
-41
-16
15
4
0
0
0
0
0
0
-1
0
-4
-10
55
4
-8
24
27
20
29
0
0
0
0
0
0
0
-17
12
6
26
-6
-1
19
-10
25
0
0
0
0
0
0
0
0
6
-51
-3
-13
-39
-2
48
-14
-56
14
0
0
0
0
0
0
0
0
-3
9
-7
0
35
-61
59
-7
-2
0
0
0
0
0
0
18
0
6
16
0
31
3
42
2
-6
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-7
0
-34
7
0
-8
0
0
0
0
0
0
0
0
-2
0
0
-82
1
0
-12
5
-6
5
0
0
0
0
0
0
0
6
0
0
110
4
32
-25
8
7
0
0
0
0
0
0
0
0
15
0
7
24
48
-44
-41
21
65
1
0
0
0
0
0
0
0
15
41
-23
25
-10
18
-36
77
0
0
0
0
0
0
0
0
0
-6
13
13
-43
-26
10
16
34
24
0
0
0
0
0
0
0
0
0
12
-1
-7
-1
0
26
43
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
12
7
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-3
0
1
0
0
0
0
0
0
0
0
0
-12
-1
0
-9
-1
-50
4
8
7
0
0
0
0
0
0
-2
0
0
0
-13
-2
30
-6
-44
0
0
0
0
0
0
0
0
6
0
0
4
-2
-52
10
-50
-11
-26
0
0
0
0
0
0
0
1
0
2
6
16
-7
6
-53
10
0
0
0
0
0
0
0
0
0
0
0
-1
-2
43
0
12
0
-1
0
0
0
0
0
0
0
0
0
1
0
-71
-1
5
0
-62
4
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
-2
0
0
0
0
0
0
0
0
0
0
-1
0
9
0
2
4
-48
-34
0
-42
0
0
0
0
0
0
0
0
-8
6
1
20
13
109
-9
-118
-2
0
0
0
0
0
0
0
0
-16
-11
-1
1
25
0
-28
43
-2
0
0
0
0
0
0
0
-3
-10
-6
-15
2
8
14
-96
-87
-39
0
0
0
0
0
0
0
-7
3
12
15
-24
-32
55
-21
-71
-8
0
0
0
0
0
0
0
-4
14
15
2
96
29
120
-6
-25
0
0
0
0
0
0
0
0
-8
-28
1
22
-45
-45
-24
-18
0
29
0
0
0
0
0
0
0
0
-10
0
-15
-9
21
35
0
15
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-11
-4
-9
24
0
7
0
0
0
0
0
0
0
0
3
-8
0
0
22
0
50
-42
-16
-12
0
0
0
0
0
0
0
15
0
15
-21
-2
-5
17
36
-2
0
0
0
0
0
0
0
0
-30
0
10
16
-7
-3
-68
-24
62
0
0
0
0
0
0
0
0
-1
0
-28
-39
-11
-1
2
-24
-13
0
0
0
0
0
0
0
0
11
0
0
0
10
-30
10
0
2
0
0
0
0
0
0
0
0
0
-1
-1
-17
-4
-76
8
39
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-95
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
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
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
11
0
30
-6
-2
-1
0
0
0
0
0
0
0
0
0
-1
0
0
5
0
-5
16
-63
0
0
0
0
0
0
0
0
0
0
0
-3
4
14
1
11
-1
0
0
0
0
0
0
0
0
-2
-12
2
-2
-33
12
-18
2
28
0
0
0
0
0
0
0
0
0
-29
3
4
-3
-5
-3
-6
-1
0
0
0
0
0
0
0
0
0
13
-8
-28
-39
-8
25
0
25
0
0
0
0
0
0
0
0
0
-9
0
21
-1
0
-1
30
-1
0
0
0
0
0
0
0
0
0
8
0
0
-10
9
-22
10
0
0
0
0
0
0
0
0
0
0
0
-11
0
-5
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
-36
45
-1
47
2
-4
0
0
0
0
0
0
0
-13
0
-3
-18
-3
-48
22
9
-5
-1
0
0
0
0
0
0
0
15
0
0
63
-28
7
-19
-7
8
-36
0
0
0
0
0
0
0
-44
7
74
-10
1
8
-17
-6
15
9
0
0
0
0
0
0
0
-7
0
69
38
-15
0
-40
24
8
0
0
0
0
0
0
0
0
-32
-1
-33
2
-5
-33
27
-13
14
0
0
0
0
0
0
0
0
0
0
0
-37
-12
12
-2
14
-7
0
0
0
0
0
0
0
0
25
0
0
0
-46
-8
16
39
32
0
0
0
0
0
0
0
0
0
0
0
4
-6
-4
35
21
0
-2
0
0
0
0
0
0
0
0
-1
7
0
-48
51
3
16
52
50
0
0
0
0
0
0
0
0
50
0
0
-8
-13
29
1
35
-36
0
0
0
0
0
0
0
10
0
0
26
9
-20
18
-1
-12
42
0
0
0
0
0
0
0
1
-12
0
17
-34
44
-27
-47
16
-13
0
0
0
0
0
0
0
-4
-104
0
-32
-27
-24
6
6
28
47
0
0
0
0
0
0
0
5
5
4
-11
-13
-16
36
9
20
-5
0
0
0
0
0
0
0
0
3
0
-7
22
1
-8
-29
8
-18
0
0
0
0
0
0
0
0
0
0
0
0
16
-25
35
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-27
9
0
-38
0
0
0
0
0
0
0
0
0
0
-17
0
-2
-39
-5
-33
1
11
0
0
0
0
0
0
0
0
0
0
10
-1
6
-30
41
-10
-6
0
0
0
0
0
0
33
0
-19
-16
-5
-17
30
63
-11
28
0
0
0
0
0
0
0
12
58
-7
-2
-47
13
66
4
-1
7
29
0
0
0
0
0
0
-18
-2
35
11
28
39
37
18
7
41
4
0
0
0
0
0
0
41
3
-25
0
-49
-45
17
-10
0
-2
4
0
0
0
0
0
0
0
-2
0
0
-16
11
0
-6
4
-17
0
0
0
0
0
0
0
0
0
0
0
-27
-6
-25
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
-2
0
0
-13
0
0
0
0
0
0
0
0
0
-3
0
-11
-15
18
16
2
0
0
0
0
0
0
0
0
6
0
0
1
3
-7
-18
18
-6
0
-1
0
0
0
0
0
0
-1
2
53
-12
49
3
7
-3
47
0
0
0
0
0
0
0
0
6
-4
12
5
21
15
-5
13
28
-2
0
0
0
0
0
0
0
1
57
7
-1
4
25
4
-2
-71
0
0
0
0
0
0
0
0
1
1
-40
-4
19
6
-26
21
-11
0
0
0
0
0
0
0
0
0
0
-11
0
24
0
42
-8
0
1
0
0
0
0
0
0
0
1
0
0
0
0
-9
-24
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
2
1
-22
0
-22
1
9
2
0
0
0
0
0
0
0
0
0
0
39
0
-6
-1
-8
0
0
0
0
0
0
0
0
-26
0
0
-3
0
36
0
5
0
17
0
0
0
0
0
0
0
0
-13
4
0
-3
-17
-76
-10
-3
-1
-1
0
0
0
0
0
0
0
-3
2
-20
0
-31
0
-8
2
5
0
0
0
0
0
0
0
8
-15
0
19
-12
-6
19
5
-22
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
-34
-45
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
10
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
-6
27
0
0
0
0
0
0
0
0
0
-3
0
0
4
-29
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-9
1
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
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
-3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
41
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
9
1
0
0
0
0
0
0
0
0
-1
0
1
0
0
3
4
-1
0
0
0
0
0
0
0
0
0
0
0
6
-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
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
0
0
0
0
0
0
-12
0
4
6
11
0
-50
-1
-1
0
0
0
0
0
0
0
0
2
0
0
-1
0
-57
54
-39
0
0
0
0
0
0
0
0
0
0
0
2
0
13
11
-81
1
-24
0
0
0
0
0
0
0
0
-17
3
0
16
-3
51
0
-14
1
0
0
0
0
0
0
0
0
1
-2
-11
6
9
0
51
0
4
0
0
0
0
0
0
0
0
-2
0
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
-19
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
-2
-9
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
6
-48
-34
1
2
0
0
0
0
0
0
0
0
0
-1
0
0
7
34
-28
0
0
0
0
0
0
0
0
0
-2
0
0
6
-1
0
-1
-25
0
0
0
0
0
0
0
0
0
-10
6
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
0
10
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
9
0
0
18
0
-37
0
24
0
0
0
0
0
0
0
0
0
12
0
-1
0
-13
0
-7
0
86
0
0
0
0
0
0
0
0
-6
0
7
-30
0
4
0
8
0
0
0
0
0
0
0
0
0
-26
0
0
-2
-49
0
44
0
10
0
0
0
0
0
0
0
0
6
0
2
6
0
9
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
39
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
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
8
-3
-1
19
-3
0
0
0
0
0
0
0
0
0
0
0
1
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
72
11
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-10
0
4
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-46
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
27
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-19
-7
3
1
0
0
0
0
0
0
0
0
0
0
0
10
7
0
15
19
-4
0
0
24
0
0
0
0
0
0
0
0
-1
-11
-7
0
-13
0
-1
0
10
0
0
0
0
0
0
0
0
0
15
1
-1
0
-6
0
0
-3
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
27
34
-18
0
0
0
0
0
0
0
0
0
0
0
0
13
0
2
35
19
1
0
0
0
0
0
0
0
0
0
0
0
-41
-9
2
66
10
-1
0
0
-17
0
0
0
0
0
0
0
0
50
4
21
3
-21
-3
-12
18
42
0
0
0
0
0
0
0
-1
0
95
-3
-36
-4
-42
-6
12
19
0
0
0
0
0
0
0
0
11
2
20
-6
9
0
-2
0
3
0
0
0
0
0
0
0
0
0
-7
-1
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
-1
0
7
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
2
36
1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-9
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
26
11
1
-11
2
10
3
3
0
0
0
0
0
0
0
0
-1
23
19
-43
20
0
0
0
-4
0
0
0
0
0
0
0
0
6
0
-13
-2
-6
1
-1
-6
20
0
0
0
0
0
0
0
0
1
11
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-9
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
105
-1
4
-8
24
0
0
0
0
0
0
0
0
0
0
0
25
-1
-3
-43
6
3
-1
0
0
0
2
0
0
0
0
0
0
0
45
-12
17
3
-2
0
-1
0
0
0
0
0
0
0
0
0
-9
-70
13
6
-3
36
0
0
0
0
0
0
0
0
0
0
0
0
38
21
2
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
21
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
27
8
-19
0
0
0
0
0
0
0
0
0
0
0
0
-37
-22
7
18
2
62
0
0
-3
0
0
-1
0
0
0
0
0
-10
-4
39
13
109
-1
23
-1
-4
-7
0
0
0
0
0
0
0
0
-77
40
18
-22
21
-26
45
0
4
0
0
0
0
0
0
0
0
-4
17
-7
10
3
0
7
0
-1
0
0
0
0
0
0
0
0
0
-2
-3
0
2
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
5
6
-10
-14
0
0
0
0
0
0
0
0
0
0
0
0
34
28
3
-14
15
35
-4
0
0
0
0
0
0
0
0
0
0
30
27
-25
-50
0
-17
-3
19
3
-24
0
0
0
0
0
0
0
-24
-54
5
-19
41
51
-25
-16
54
-2
0
0
0
0
0
0
0
-13
-12
27
16
30
8
-2
2
25
-1
0
0
0
0
0
0
0
0
57
-49
33
-6
19
-18
-46
2
2
0
0
0
0
0
0
0
0
-1
28
29
0
-12
-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
21
-13
33
-15
-25
0
0
0
0
0
0
0
0
0
0
0
8
-2
2
-10
17
5
-9
0
0
0
0
0
0
0
0
0
0
-1
-19
-29
2
-44
25
55
22
-21
41
-1
0
0
0
0
0
0
1
-25
-5
-22
-16
33
0
29
44
56
0
0
0
0
0
0
0
0
-74
-14
15
-7
36
39
-12
31
-44
0
0
0
0
0
0
0
0
-39
26
-40
-40
46
-18
-28
1
9
0
0
0
0
0
0
0
0
0
-59
-3
-46
11
7
0
-20
-6
0
0
0
0
0
0
0
0
0
-7
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
8
10
-1
-18
6
-7
2
0
0
0
0
0
0
0
0
0
0
-9
41
-23
-13
10
-63
-29
0
2
0
0
0
0
0
0
0
0
0
-67
-1
9
13
-66
24
0
65
4
2
0
0
0
0
0
0
-57
0
0
-15
-29
-58
45
24
-1
0
0
0
0
0
0
0
0
6
-72
8
-68
81
39
-54
-10
45
-4
0
0
0
0
0
0
0
0
-11
14
12
10
1
-1
-1
-2
-2
0
0
0
0
0
0
0
0
0
-29
-18
-10
0
-3
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-22
-11
-3
-4
1
0
0
0
-1
0
0
0
0
0
0
0
62
-65
-7
-27
-8
8
0
0
0
6
0
0
0
0
0
0
0
2
-33
-43
50
-60
-9
-11
4
0
1
0
0
0
0
0
0
0
-13
-59
-4
-54
35
62
16
9
-2
22
0
0
0
0
0
0
0
0
-45
-2
-38
64
-13
-6
12
0
1
0
0
0
0
0
0
0
-16
-43
37
-24
37
27
1
-2
0
0
0
0
0
0
0
0
0
-12
4
-26
-27
0
38
19
-35
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
-1
-2
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
12
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-55
3
-1
3
0
-1
8
0
3
0
0
0
0
0
0
0
-2
2
43
29
12
-6
-1
-15
0
-1
0
0
0
0
0
0
0
1
23
-11
-6
4
-8
-6
-9
0
0
0
0
0
0
0
0
0
2
0
-24
-4
16
-2
-6
-2
0
0
0
0
0
0
0
0
0
0
1
-3
-50
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
21
-1
0
0
0
0
0
0
0
0
0
0
0
-7
20
28
7
-22
-24
-1
0
0
0
0
0
0
0
0
0
0
7
23
10
-19
-22
-18
2
1
-29
0
0
0
0
0
0
0
0
-4
10
29
50
-19
7
-22
-2
-16
0
0
0
0
0
0
0
0
3
0
-37
0
1
-8
-4
1
-20
0
0
0
0
0
0
0
0
0
20
0
1
2
-15
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
40
51
29
4
0
0
0
0
0
0
0
0
0
0
0
-3
21
78
18
-30
-13
0
-2
0
0
0
0
0
0
0
0
0
-41
-12
-1
2
-24
8
9
-1
-9
0
0
0
0
0
0
0
-6
59
68
-43
-25
0
-18
27
-13
18
0
0
0
0
0
0
0
9
38
-70
-34
26
19
-8
-12
9
19
0
0
0
0
0
0
0
0
4
37
30
50
-15
-1
3
0
10
0
0
0
0
0
0
0
0
0
-18
-2
0
1
0
-1
0
1
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-19
3
2
-2
0
0
0
0
0
0
0
0
0
0
26
-4
-47
13
-24
0
0
0
0
1
0
0
0
0
0
0
0
-9
4
6
13
20
-18
0
1
1
7
0
0
0
0
0
0
0
0
-75
3
6
6
-3
4
-4
-8
3
0
0
0
0
0
0
0
8
43
17
-43
-18
10
0
13
7
1
0
0
0
0
0
0
0
22
-13
-11
-33
0
3
7
8
-1
-4
0
0
0
0
0
0
0
0
-10
0
0
2
-1
11
18
0
0
0
0
0
0
0
0
0
0
-1
3
-2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-14
-3
-23
-1
0
1
0
0
0
0
0
0
0
0
0
0
-23
-56
-108
-74
6
2
-2
0
0
0
0
0
0
0
0
0
0
0
42
-21
-5
21
20
-4
0
0
0
0
0
0
0
0
0
0
-23
-28
37
-14
-10
-10
2
1
6
0
0
0
0
0
0
0
0
-11
79
-19
22
2
24
18
-7
0
0
1
0
0
0
0
0
0
0
18
15
10
9
4
-3
0
2
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
-1
0
0
0
0
0
0
0
0
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
7
14
-13
-13
4
0
0
0
0
0
0
0
0
0
0
-8
69
44
8
19
-24
6
0
-2
0
0
0
0
0
0
0
0
-18
15
21
-36
59
27
3
1
11
7
0
0
0
0
0
0
0
-12
-33
20
-3
-17
30
71
35
7
2
0
0
0
0
0
0
0
-22
-18
73
9
-50
18
-25
-32
-39
-8
0
0
0
0
0
0
0
0
23
-9
-39
39
6
-22
-25
0
6
0
0
0
0
0
0
0
2
0
6
-2
3
7
-1
0
1
-2
0
0
0
0
0
0
0
0
0
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
35
-22
10
-1
-4
0
0
0
0
0
0
0
0
0
0
0
3
4
-1
9
22
50
16
0
2
0
0
0
0
0
0
0
0
-2
11
-25
9
-33
44
-22
-30
-48
4
0
0
0
0
0
0
0
-3
-15
15
-54
27
15
55
6
27
-7
0
0
0
0
0
0
0
26
8
34
14
51
36
-77
-8
8
4
0
0
0
0
0
0
0
0
3
20
41
52
12
13
15
6
-2
0
0
0
0
0
0
0
-1
0
49
22
40
8
9
3
-9
0
0
0
0
0
0
0
0
0
4
1
-6
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
10
24
19
39
1
40
-8
0
0
0
0
0
0
0
0
0
0
-1
6
24
17
25
44
0
0
1
0
-1
0
0
0
0
0
0
26
1
29
-47
18
-12
90
-4
54
-10
6
0
0
0
0
0
0
-25
16
-1
22
-20
64
26
87
-6
-34
0
0
0
0
0
0
0
9
27
26
26
15
-17
-27
-26
-6
20
0
0
0
0
0
0
0
0
24
-14
0
63
6
48
6
-43
-21
0
0
0
0
0
0
0
0
0
44
-4
28
-42
15
16
-2
21
0
0
0
0
0
0
0
0
0
-1
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
11
52
12
15
-23
30
74
0
0
0
0
0
0
0
0
0
0
18
15
19
14
29
50
36
0
0
0
-4
0
0
0
0
0
0
-3
19
5
9
24
61
53
-15
-13
-33
2
0
0
0
0
0
0
26
20
21
19
32
-3
16
-167
84
1
0
0
0
0
0
0
0
15
20
10
-17
-11
34
110
-10
14
20
0
0
0
0
0
0
0
1
44
14
29
52
7
106
21
58
-11
-1
0
0
0
0
0
0
-3
7
-29
-2
42
10
2
1
40
0
0
0
0
0
0
0
0
0
-1
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
-10
39
-2
-9
-28
-27
-96
0
0
0
1
0
0
0
0
0
0
-62
6
10
6
6
85
7
0
0
0
-1
0
0
0
0
0
0
-9
-11
11
-53
4
66
12
-1
38
41
4
0
0
0
0
0
0
18
-27
8
-30
31
74
31
-87
9
-117
-7
0
0
0
0
0
0
6
-19
14
42
-44
-47
-9
112
-63
12
-3
0
0
0
0
0
0
0
-30
27
-28
35
33
31
47
11
-61
0
0
0
0
0
0
0
2
-10
-91
0
-74
-64
-70
-1
-43
6
0
0
0
0
0
0
0
0
0
7
-30
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
38
-18
6
-24
16
-2
2
0
-2
-1
0
0
0
0
0
0
0
-12
5
-25
4
23
21
0
4
0
36
0
0
0
0
0
0
0
12
-8
-2
2
33
-13
58
5
-33
-30
0
0
0
0
0
0
0
-57
-14
-31
19
-30
-19
-95
-6
63
2
0
0
0
0
0
0
0
-4
-14
20
-5
3
34
22
-1
-3
-2
0
0
0
0
0
0
0
23
15
-15
20
-7
-8
80
24
-52
2
0
0
0
0
0
0
0
-7
-84
42
41
1
31
9
-9
0
0
0
0
0
0
0
0
0
0
18
4
2
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-18
53
-11
-2
-1
0
0
0
0
0
0
0
0
0
0
0
4
-11
30
-68
3
0
0
0
0
-2
0
0
0
0
0
0
0
36
68
-23
26
-30
1
7
7
0
-1
0
0
0
0
0
0
0
-48
13
3
2
-28
0
-8
-24
0
0
0
0
0
0
0
0
0
-4
-20
-3
30
26
-17
6
27
0
0
0
0
0
0
0
0
0
-1
15
-21
12
13
-22
0
4
0
0
0
0
0
0
0
0
0
-1
16
-16
-55
0
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
7
-1
0
1
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
-1
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
13
0
2
-27
-19
2
3
0
0
0
0
0
0
0
0
0
0
0
-42
-29
8
-6
10
0
0
4
0
0
0
0
0
0
0
0
13
13
-21
-42
28
-10
-1
0
-3
0
0
0
0
0
0
0
0
-1
7
-2
-1
-9
-2
0
-2
1
0
0
0
0
0
0
0
0
0
3
-1
-1
2
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-25
-1
-17
-2
-10
0
0
0
0
0
0
0
0
0
0
0
5
15
-60
-24
31
-1
0
0
0
0
0
0
0
0
0
0
0
-33
-130
-27
44
-1
-16
2
1
17
0
0
0
0
0
0
0
-29
-1
22
63
-17
87
2
-2
7
11
0
0
0
0
0
0
0
4
-15
16
-13
-17
-4
15
16
40
27
0
0
0
0
0
0
0
0
2
47
14
73
0
-30
7
-3
2
0
0
0
0
0
0
0
0
0
-22
-3
3
1
-7
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-19
2
9
0
0
0
0
0
0
0
0
0
0
0
0
1
-74
4
-52
-8
-22
0
-1
0
0
0
0
0
0
0
0
0
19
-1
8
-34
19
-10
3
1
21
2
0
0
0
0
0
0
1
1
33
3
-57
15
8
-12
-2
-2
0
0
0
0
0
0
0
0
4
2
2
-2
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
6
-13
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
20
71
-30
0
1
0
0
0
0
0
0
0
0
0
0
-1
-16
7
-8
-50
-41
12
0
0
0
0
0
0
0
0
0
0
-7
72
14
34
30
33
0
0
7
0
-7
0
0
0
0
0
0
17
41
24
38
-36
12
84
129
-5
0
0
0
0
0
0
0
0
-6
33
-44
1
18
4
-3
-21
16
0
0
0
0
0
0
0
0
0
-20
9
6
8
9
0
8
6
0
0
0
0
0
0
0
0
0
0
-28
0
-3
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
51
-6
-6
13
20
0
0
0
0
0
0
0
0
0
0
0
-29
5
-22
-14
-17
-33
8
0
-1
0
0
0
0
0
0
0
0
-55
20
-1
-6
-86
-29
13
0
-3
20
0
0
0
0
0
0
0
-23
35
33
24
47
-5
16
11
19
1
0
0
0
0
0
0
0
-28
36
-41
57
86
94
39
-22
-18
7
0
0
0
0
0
0
0
0
1
-36
30
12
-44
-8
-12
-6
2
0
0
0
0
0
0
0
0
13
27
9
19
-9
2
6
19
0
0
0
0
0
0
0
0
0
-15
0
-3
-7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
14
-7
-37
12
66
26
0
0
0
0
0
0
0
0
0
0
-31
16
-24
15
6
49
-18
0
4
0
0
0
0
0
0
0
0
28
-35
27
9
44
29
18
0
-96
7
0
0
0
0
0
0
0
-90
32
25
37
8
85
-40
38
-15
-53
0
0
0
0
0
0
0
12
-20
22
-45
33
-18
-14
9
26
22
0
0
0
0
0
0
0
0
42
30
5
-59
54
-11
-89
4
15
0
0
0
0
0
0
0
-24
0
46
3
21
0
-7
4
-30
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
56
-7
14
-71
59
21
0
0
0
0
0
0
0
0
0
0
19
-14
21
-5
27
-1
2
0
0
0
-6
0
0
0
0
0
0
-17
30
-37
36
15
33
-20
28
12
121
0
0
0
0
0
0
0
-12
17
46
17
37
78
2
-36
6
-89
0
0
0
0
0
0
0
16
31
-5
27
-29
78
-16
24
-56
47
0
0
0
0
0
0
0
0
41
18
-67
-40
4
63
0
-11
-14
0
0
0
0
0
0
0
0
-9
2
-20
28
19
15
-7
2
-32
0
0
0
0
0
0
0
0
18
7
-38
-13
3
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
26
6
10
10
13
-11
1
0
0
0
0
0
0
0
0
0
4
20
5
-4
21
7
-58
0
-3
0
-3
0
0
0
0
0
0
21
12
12
19
73
23
2
-34
55
4
0
0
0
0
0
0
0
28
22
21
39
18
-53
9
-13
-4
-55
0
0
0
0
0
0
0
16
2
4
6
-15
31
-12
46
16
-44
-1
0
0
0
0
0
0
34
28
21
-2
-42
-38
0
3
-40
-59
0
0
0
0
0
0
0
39
33
3
3
55
-43
-26
1
37
2
0
0
0
0
0
0
0
0
29
-4
-31
7
15
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
-1
0
0
0
4
0
0
0
0
0
0
0
0
4
23
-25
10
11
36
3
-1
0
0
0
0
0
0
0
0
0
22
4
12
1
35
16
-37
0
-2
0
1
0
0
0
0
0
0
6
-8
13
20
7
77
74
-24
12
-6
0
0
0
0
0
0
0
29
9
23
-8
39
13
4
-29
-50
-7
0
0
0
0
0
0
0
-21
8
-1
7
7
-24
-19
26
-40
-44
3
0
0
0
0
0
0
2
5
26
2
10
-16
-14
-14
107
-4
0
0
0
0
0
0
0
0
17
-58
-4
17
22
-13
22
0
35
0
0
0
0
0
0
0
0
-4
33
9
-28
41
1
8
6
-4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-6
4
40
1
149
-3
0
0
8
0
0
0
0
0
0
0
25
16
15
41
28
81
0
0
0
-3
0
0
0
0
0
0
0
17
5
-8
19
35
31
71
15
-9
20
0
0
0
0
0
0
0
31
19
18
11
21
44
34
-59
-38
-21
0
0
0
0
0
0
0
47
6
10
-3
26
8
12
63
-9
-32
0
0
0
0
0
0
0
27
22
0
16
-8
9
51
103
38
-20
0
0
0
0
0
0
0
-39
-31
36
-3
-6
1
24
133
0
0
0
0
0
0
0
0
0
0
59
5
-21
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
-23
-56
-5
0
-4
0
0
0
0
0
0
0
0
0
0
0
-26
5
-2
-4
0
0
0
0
2
0
0
0
0
0
0
0
0
0
52
21
42
-18
-29
0
2
0
-3
0
0
0
0
0
0
0
17
-34
-39
-6
45
-33
1
-29
0
-1
0
0
0
0
0
0
0
-6
40
-21
88
-3
-50
2
-8
0
0
0
0
0
0
0
0
0
0
23
1
-13
1
11
2
0
0
1
0
0
0
0
0
0
0
0
34
7
1
-7
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
35
4
8
0
0
0
0
0
0
0
0
0
0
0
0
6
55
-12
100
0
3
0
0
1
0
0
0
0
0
0
0
0
-9
3
-35
24
-18
0
0
0
12
0
0
0
0
0
0
0
0
0
-85
0
39
1
-3
-1
-2
35
0
0
0
0
0
0
0
0
-4
0
-46
6
19
2
0
0
0
0
0
0
0
0
0
0
0
0
7
2
-28
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
-1
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
0
0
33
12
-25
12
26
-6
0
0
0
0
0
0
0
0
0
0
0
-22
-52
-11
-88
22
-27
0
2
0
0
0
0
0
0
0
0
2
46
2
-41
7
31
35
-2
25
1
0
0
0
0
0
0
0
0
4
-26
27
29
41
68
22
-7
2
0
0
0
0
0
0
0
0
1
3
-2
14
12
57
58
11
85
0
0
0
0
0
0
0
0
-17
-45
-24
16
-28
-56
-8
16
9
0
0
0
0
0
0
0
0
0
-50
-51
-3
53
2
7
1
1
0
0
0
0
0
0
0
0
0
2
-1
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
21
4
-1
-6
0
0
0
0
0
0
0
0
0
0
0
3
-24
56
-16
-28
1
0
0
0
-1
0
0
0
0
0
0
0
0
-35
-1
-9
2
-7
2
-2
0
-9
0
0
0
0
0
0
0
35
1
-16
26
-4
-16
-1
-7
27
0
0
0
0
0
0
0
0
0
31
0
30
-24
8
-8
2
0
0
0
0
0
0
0
0
0
0
51
-19
-3
-13
1
3
-1
2
0
0
0
0
0
0
0
0
0
6
-3
29
0
0
0
0
-12
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
-2
6
63
-23
-3
2
0
-1
0
0
0
0
0
0
0
0
0
20
61
-32
-6
66
1
-2
0
0
0
0
0
0
0
0
0
0
-12
43
-7
-96
-73
-16
2
-3
4
0
0
0
0
0
0
0
0
-58
-26
-61
4
18
29
13
-6
25
0
0
0
0
0
0
0
0
28
-35
-2
35
48
-3
35
12
-32
0
0
0
0
0
0
0
0
0
15
-2
7
23
0
9
3
0
0
0
0
0
0
0
0
0
0
0
24
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
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
-11
29
-6
33
15
18
0
0
0
0
0
0
0
0
0
0
42
32
-11
-3
-15
26
-27
0
2
0
0
0
0
0
0
0
0
-11
24
38
35
78
-20
-24
9
21
9
0
0
0
0
0
0
0
-10
46
-7
8
11
82
18
-35
-18
27
0
0
0
0
0
0
0
10
-10
23
-18
-20
-16
-32
-38
17
16
0
0
0
0
0
0
0
-12
-42
-7
103
9
-28
0
-26
8
2
0
0
0
0
0
0
0
2
0
36
13
-26
1
16
-1
-7
-1
0
0
0
0
0
0
0
0
-6
1
-25
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
28
-16
7
20
10
22
0
0
0
0
0
0
0
0
0
0
39
-11
38
-21
55
44
39
0
10
0
0
0
0
0
0
0
0
-44
26
-2
3
21
9
-15
30
9
-53
1
0
0
0
0
0
0
51
-11
35
-7
38
16
-4
-35
57
29
0
0
0
0
0
0
0
93
26
0
16
5
82
96
32
-110
3
0
0
0
0
0
0
0
0
-9
28
-61
10
-36
-3
12
7
7
0
0
0
0
0
0
0
-10
50
-37
24
-12
33
-17
-39
-10
0
0
0
0
0
0
0
0
0
6
-74
-1
-4
11
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
65
22
26
-13
4
78
-7
0
0
-1
0
0
0
0
0
0
0
-3
23
5
15
52
72
47
0
-3
0
-9
0
0
0
0
0
0
33
-40
24
23
41
82
19
-54
80
55
16
0
0
0
0
0
0
10
22
33
41
47
7
20
38
-38
85
0
0
0
0
0
0
0
40
-7
25
14
-9
67
-4
23
9
-3
0
0
0
0
0
0
0
3
33
-9
-2
-23
55
-5
-75
-31
51
0
0
0
0
0
0
0
3
-24
-38
-58
14
-26
2
-8
3
3
0
0
0
0
0
0
0
0
-19
-4
-35
20
15
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
-29
57
-18
7
-3
2
-78
7
0
0
1
0
0
0
0
0
0
45
-4
34
-5
44
26
-17
0
9
0
0
0
0
0
0
0
0
1
8
-9
34
21
35
-2
-107
-29
118
1
1
0
0
0
0
0
8
11
23
20
51
62
-38
-1
6
9
0
0
0
0
0
0
0
-1
20
-6
26
-5
13
43
34
-63
29
0
0
0
0
0
0
0
38
3
28
-9
54
16
115
-64
19
0
0
0
0
0
0
0
0
13
23
-4
29
-27
6
60
1
-23
-15
0
0
0
0
0
0
0
0
-31
16
-38
7
-87
63
-1
-16
7
0
0
0
0
0
0
0
0
-37
-12
1
1
0
0
0
0
0
0
0
0
0
0
0
0
10
18
7
-2
21
3
57
1
0
0
0
0
0
0
0
0
0
43
13
5
9
27
29
-71
0
-3
0
0
0
0
0
0
0
0
0
-3
14
-2
17
40
10
-39
-43
-1
0
-2
0
0
0
0
0
30
23
25
33
35
44
-13
-47
-30
20
0
0
0
0
0
0
0
-13
19
17
16
29
21
11
46
12
-13
1
0
0
0
0
0
0
-1
26
29
13
31
4
17
45
2
30
0
0
0
0
0
0
0
22
26
-5
14
-4
55
32
-78
-32
17
0
0
0
0
0
0
0
0
-6
17
-29
-32
0
18
10
0
-9
0
0
0
0
0
0
0
0
0
-49
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-12
-18
-21
59
11
25
0
0
0
0
0
0
0
0
0
0
26
13
-6
17
6
50
0
-8
0
0
0
0
0
0
0
0
0
14
8
15
23
48
6
14
29
21
-6
0
0
0
0
0
0
0
9
37
12
50
39
24
-31
43
4
17
0
0
0
0
0
0
0
9
20
17
7
24
-26
32
-24
-34
-6
0
0
0
0
0
0
0
25
3
-2
23
22
-15
-20
80
-44
-66
0
0
0
0
0
0
0
83
-24
28
26
-21
32
-38
57
-48
0
0
0
0
0
0
0
0
0
-36
-13
-2
66
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
1
10
16
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
43
14
-32
22
44
0
0
0
0
-1
0
0
0
0
0
0
0
1
48
-3
37
1
-2
0
3
-1
3
0
0
0
0
0
0
0
48
18
-20
-34
-13
11
0
4
0
0
0
0
0
0
0
0
0
-1
-3
1
-27
69
10
4
-4
-2
0
0
0
0
0
0
0
0
-15
6
-19
8
20
-31
1
-1
2
0
0
0
0
0
0
0
0
0
2
0
-11
-1
-1
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
0
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
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
28
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-3
-37
1
0
0
0
0
0
0
0
0
0
0
0
0
4
8
4
18
-22
9
0
0
0
0
0
0
0
0
0
0
0
-15
-3
-11
20
-17
-2
0
0
-7
0
0
0
0
0
0
0
0
0
14
2
0
6
15
-1
2
-4
0
0
0
0
0
0
0
0
0
0
18
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-31
13
2
0
0
0
0
0
0
0
0
0
0
0
-2
56
56
24
57
15
41
0
0
0
0
0
0
0
0
0
0
3
41
3
-2
-15
84
7
0
1
54
0
0
0
0
0
0
0
0
-6
-3
-1
-70
-19
6
74
7
41
0
0
0
0
0
0
0
0
0
-53
-74
48
-24
26
-50
-23
34
0
0
0
0
0
0
0
0
-12
8
17
-11
24
7
1
-20
-29
0
0
0
0
0
0
0
0
0
-12
-15
18
8
-60
22
-1
-16
0
0
0
0
0
0
0
0
0
-47
6
9
-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
2
0
-48
4
7
0
0
0
0
0
0
0
0
0
0
0
0
15
85
45
-23
46
-1
0
0
0
0
0
0
0
0
0
0
0
25
-51
27
-22
-8
11
0
4
16
-3
0
0
0
0
0
0
0
-1
30
2
-69
-22
13
0
0
0
0
0
0
0
0
0
0
0
1
0
-34
-8
24
29
16
0
-2
-1
0
0
0
0
0
0
0
0
26
0
-2
-34
5
0
0
2
0
0
0
0
0
0
0
0
0
-20
68
0
11
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-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
-22
3
37
17
-17
6
0
0
0
0
0
0
0
0
0
0
0
-46
79
-31
86
85
28
-11
0
-1
0
-2
0
0
0
0
0
0
48
-22
10
17
40
-41
-3
-7
-32
0
0
0
0
0
0
0
0
9
4
-40
-8
-9
-33
0
-11
-28
0
0
0
0
0
0
0
0
21
5
62
0
-37
0
7
-11
-7
0
0
0
0
0
0
0
0
0
116
-27
6
-3
-10
7
-4
8
0
0
0
0
0
0
0
0
-2
0
46
1
-46
0
3
0
0
0
0
0
0
0
0
0
0
0
36
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
-15
116
25
-7
-3
5
-18
0
0
0
0
0
0
0
0
0
0
-45
22
43
-11
40
58
5
0
1
0
0
0
0
0
0
0
0
15
-9
10
-9
-2
23
-4
2
49
9
0
0
0
0
0
0
0
34
11
28
15
57
107
-6
51
-6
21
0
0
0
0
0
0
0
-11
24
-39
8
0
86
11
-46
1
-4
0
0
0
0
0
0
0
-6
13
24
-84
21
-30
44
-56
-77
2
0
0
0
0
0
0
0
4
13
-18
-10
11
-11
-8
-3
35
1
0
0
0
0
0
0
0
0
0
11
-2
-12
65
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-10
-75
-9
-6
5
93
22
0
0
0
0
0
0
0
0
0
0
-23
13
-3
-8
10
-3
42
0
-22
0
0
0
0
0
0
0
0
22
-15
15
15
16
7
-59
8
117
-80
10
0
0
0
0
0
0
-23
11
-12
18
62
-11
95
48
32
0
0
0
0
0
0
0
0
19
9
-3
25
16
0
65
-57
3
0
0
0
0
0
0
0
0
7
27
27
-27
-74
121
-83
-103
-44
6
0
0
0
0
0
0
0
-29
6
5
-57
9
-22
43
-202
-73
-6
0
0
0
0
0
0
0
0
-56
0
-12
16
11
-2
18
0
0
0
0
0
0
0
0
0
-1
0
-19
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-10
36
-10
11
-1
52
22
0
0
0
0
0
0
0
0
0
0
-3
7
27
6
45
10
27
0
-1
0
0
0
0
0
0
0
0
53
-12
-1
22
-19
42
39
6
22
4
0
0
0
0
0
0
0
16
0
15
4
51
15
33
-40
48
156
0
0
0
0
0
0
0
3
-6
-2
44
27
45
0
-6
9
92
0
0
0
0
0
0
0
-17
-2
39
-21
55
50
-39
-27
-14
56
0
0
0
0
0
0
0
-2
19
-32
24
-50
51
-31
0
-11
9
0
0
0
0
0
0
0
0
1
-4
-50
15
13
0
0
-10
-7
0
0
0
0
0
0
0
0
0
4
-1
11
0
0
0
0
0
0
0
0
0
0
0
0
20
25
18
-17
31
21
1
3
0
0
0
0
0
0
0
0
0
-6
23
1
28
15
55
4
0
25
0
-3
0
0
0
0
0
0
38
-10
27
-1
38
3
16
-12
49
-53
9
0
0
0
0
0
0
7
27
2
23
25
-4
-15
3
5
-3
-12
0
0
0
0
0
0
16
20
29
18
45
25
0
0
56
-3
0
0
0
0
0
0
0
0
31
30
20
-1
40
-48
7
23
-5
0
0
0
0
0
0
0
-53
-51
32
13
56
-33
48
6
48
-3
0
0
0
0
0
0
0
0
8
27
21
-4
71
3
0
-14
-6
0
0
0
0
0
0
0
0
0
24
-2
-80
0
0
0
0
0
0
0
0
0
0
0
0
-51
62
-8
16
-7
2
63
-11
0
1
0
0
0
0
0
0
0
4
-11
24
-5
42
-8
33
0
0
0
0
0
0
0
0
0
0
-12
21
-14
20
6
10
-15
-15
-48
47
-1
0
0
0
0
0
0
41
-4
9
0
41
10
9
-69
25
-22
0
0
0
0
0
0
0
14
23
5
26
36
14
7
32
0
-25
0
0
0
0
0
0
0
-1
12
23
0
31
-13
11
35
-3
-11
0
0
0
0
0
0
0
4
55
-14
31
20
9
54
54
-57
3
0
0
0
0
0
0
0
0
-13
33
-19
21
13
-28
-7
-1
11
0
0
0
0
0
0
0
0
1
-5
21
-7
26
0
0
0
0
0
0
0
0
0
0
0
0
6
10
-17
28
61
8
1
0
0
2
0
0
0
0
0
0
0
23
-1
17
6
46
107
0
0
0
45
0
0
0
0
0
0
0
12
10
4
17
25
19
-10
89
-75
7
0
0
0
0
0
0
0
45
23
23
26
-6
-4
113
28
57
19
0
0
0
0
0
0
0
-16
-1
20
30
62
-33
-40
-38
0
10
0
0
0
0
0
0
0
10
34
25
43
20
45
67
30
63
3
0
0
0
0
0
0
0
7
-25
33
34
29
8
-5
56
4
0
0
0
0
0
0
0
0
-8
59
16
20
5
-6
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
17
11
-3
1
0
0
0
0
0
0
0
0
0
0
0
-27
32
76
-10
16
0
0
0
-2
2
0
0
0
0
0
0
0
1
-19
0
36
-12
25
1
0
0
-1
0
0
0
0
0
0
0
32
-2
13
-41
-13
11
1
6
0
0
0
0
0
0
0
0
0
-1
-5
-11
61
0
3
0
0
0
0
0
0
0
0
0
0
0
7
0
20
-13
-10
-8
6
0
0
0
0
0
0
0
0
0
0
0
22
16
-14
0
-1
3
-1
0
0
0
0
0
0
0
0
0
0
29
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
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
35
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
6
-26
0
2
3
0
0
0
0
0
0
0
0
0
0
0
-4
-68
-3
3
37
6
0
0
-21
0
0
0
0
0
0
0
0
40
0
21
-56
-26
-3
-10
0
-9
0
0
0
0
0
0
0
0
0
9
-40
59
10
2
-3
0
-3
0
0
0
0
0
0
0
0
3
0
2
26
-32
-1
0
0
0
0
0
0
0
0
0
0
0
0
36
0
1
-1
-10
0
-4
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
23
6
48
-4
0
0
0
0
0
0
0
0
0
0
0
0
114
2
8
106
-24
-4
0
0
0
0
0
0
0
0
0
0
0
-11
58
-15
-51
-33
26
-3
0
3
0
0
0
0
0
0
0
0
35
62
-22
41
58
-7
32
-6
1
0
0
0
0
0
0
0
0
-6
3
2
12
35
12
10
32
6
0
0
0
0
0
0
0
0
0
-13
48
51
70
-4
1
4
-18
0
0
0
0
0
0
0
0
-2
1
20
45
6
-3
1
-11
-6
0
0
0
0
0
0
0
0
0
-3
-21
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
37
28
-26
-1
0
0
0
0
0
0
0
0
0
0
0
26
121
61
29
4
7
0
0
0
0
0
0
0
0
0
0
0
54
21
49
39
-42
21
0
0
-13
0
0
0
0
0
0
0
0
44
27
15
-34
-34
-77
-10
-3
1
-2
0
0
0
0
0
0
0
1
-13
0
-16
68
8
-1
-32
6
0
0
0
0
0
0
0
0
0
0
21
-5
41
47
-2
1
36
0
0
0
0
0
0
0
0
-7
-12
0
24
16
-2
1
1
41
0
0
0
0
0
0
0
0
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
15
-6
-6
22
-12
0
0
0
0
0
-2
0
0
0
0
0
0
1
19
32
-19
11
-15
1
0
0
0
0
0
0
0
0
0
0
33
10
-40
42
-12
22
3
4
7
0
2
0
0
0
0
0
0
23
-47
19
58
36
-62
-12
1
-107
0
0
0
0
0
0
0
0
25
-95
3
28
-2
41
-8
18
-55
0
0
0
0
0
0
0
0
0
-23
-73
0
-32
2
11
0
0
0
0
0
0
0
0
0
0
-6
-17
-2
-16
0
7
-1
-4
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
32
7
11
-17
4
1
0
0
0
0
0
0
0
0
0
0
46
-3
4
21
56
-41
0
0
0
0
0
0
0
0
0
0
0
10
7
16
34
-18
10
24
-29
-51
0
0
0
0
0
0
0
1
-3
23
3
24
-2
73
-18
-17
87
0
0
0
0
0
0
0
8
14
45
-47
44
47
28
10
-14
6
0
0
0
0
0
0
0
0
10
-3
49
0
10
-2
2
-8
0
0
0
0
0
0
0
0
1
102
-26
-21
-60
10
28
-40
40
-1
0
0
0
0
0
0
0
0
-46
0
-24
0
1
0
10
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
71
8
-27
18
0
-21
-1
0
0
0
0
0
0
0
0
0
45
20
43
11
0
69
9
0
33
0
0
0
0
0
0
0
0
9
-48
24
1
32
145
69
11
-28
-9
0
0
0
0
0
0
0
62
11
-13
12
43
-35
55
-46
18
40
0
0
0
0
0
0
0
-3
17
16
23
81
75
94
-22
98
21
0
0
0
0
0
0
0
3
37
16
65
43
0
11
4
3
0
0
0
0
0
0
0
0
49
86
22
31
-18
-34
-12
1
-18
0
0
0
0
0
0
0
0
0
-55
52
-26
18
-34
-9
-13
0
0
0
0
0
0
0
0
0
0
12
-3
1
8
0
0
0
0
0
0
0
0
0
0
0
0
13
-5
33
5
14
-1
58
-3
0
0
0
0
0
0
0
0
0
13
18
11
23
34
34
17
0
3
0
0
0
0
0
0
0
0
8
3
10
12
25
21
33
-27
38
-10
0
0
0
0
0
0
0
31
25
32
14
-11
35
33
52
-81
-1
0
0
0
0
0
0
0
-6
3
24
2
38
82
-49
14
-30
130
0
0
0
0
0
0
0
0
12
31
57
47
80
0
16
-58
-42
0
0
0
0
0
0
0
36
2
25
18
51
45
-57
-61
-63
45
0
0
0
0
0
0
0
0
33
51
54
-32
56
-11
-38
-32
-1
0
0
0
0
0
0
0
0
0
54
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-11
34
-13
33
3
26
-47
1
0
0
0
0
0
0
0
0
0
53
1
45
-10
49
-7
-23
0
6
0
17
0
0
0
0
0
0
-19
26
-7
36
5
39
31
-9
-6
55
17
0
0
0
0
0
0
19
-5
30
15
30
-15
-49
-13
43
-62
6
0
0
0
0
0
0
-2
14
2
13
10
18
40
2
38
48
7
0
0
0
0
0
0
12
25
32
22
60
86
9
0
-37
0
0
0
0
0
0
0
0
9
25
8
70
34
-18
-46
1
-1
8
0
0
0
0
0
0
0
-13
-1
25
33
63
36
51
13
-3
-4
0
0
0
0
0
0
0
0
0
-9
-16
-20
0
0
0
0
0
0
0
0
0
0
0
0
60
9
16
-19
30
-18
-1
0
0
10
0
0
0
0
0
0
0
18
20
0
22
3
28
-10
0
-87
0
-4
0
0
0
0
0
0
1
-24
18
-13
35
-21
18
-54
-3
137
-1
0
0
0
0
0
0
36
13
-4
31
18
21
-19
35
-2
26
-1
0
0
0
0
0
0
24
1
12
4
13
25
22
18
66
41
0
0
0
0
0
0
0
-22
28
26
24
46
81
-27
-19
0
6
0
0
0
0
0
0
0
32
-36
16
21
24
17
50
39
6
-133
0
0
0
0
0
0
0
0
10
53
12
4
25
-16
4
0
38
0
0
0
0
0
0
0
0
10
-23
-5
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-11
20
-62
53
67
-7
0
0
1
0
0
0
0
0
0
0
11
7
-5
21
-21
73
0
-4
0
-42
0
0
0
0
0
0
0
13
2
22
3
17
-50
-15
-35
42
-29
0
0
0
0
0
0
0
-8
7
9
17
9
28
-11
49
-12
14
0
0
0
0
0
0
0
18
6
-6
0
19
14
48
-8
28
-11
0
0
0
0
0
0
0
-11
1
28
15
65
19
-10
-49
0
3
0
0
0
0
0
0
0
17
9
39
21
24
-56
85
15
4
0
0
0
0
0
0
0
0
0
13
-23
34
-42
6
8
-1
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-32
-1
-2
-3
0
2
1
0
0
0
0
0
0
0
0
-7
-1
9
-18
-22
0
-1
0
-1
-24
0
0
0
0
0
0
0
-9
51
-45
69
8
-8
7
0
-6
8
0
0
0
0
0
0
0
18
3
41
-9
-34
-2
0
-19
0
-7
0
0
0
0
0
0
0
-4
18
65
50
-5
12
0
2
-3
1
0
0
0
0
0
0
0
-51
2
-11
58
-64
0
0
0
0
1
0
0
0
0
0
0
0
0
-9
-4
59
8
6
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-44
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
12
1
3
0
2
0
0
12
0
0
0
0
0
0
0
0
28
0
0
3
-4
-4
0
9
9
0
0
0
0
0
0
0
0
-2
0
-8
1
2
-10
6
0
3
0
0
0
0
0
0
0
0
0
0
-39
0
-9
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
-13
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
-22
2
40
-1
0
0
0
0
0
0
0
0
0
0
0
0
11
-8
-8
38
26
-3
0
0
0
0
0
0
0
0
0
0
-6
-4
40
-8
-53
0
11
0
0
11
0
0
0
0
0
0
0
0
-25
41
35
-4
-85
7
24
-8
10
0
0
0
0
0
0
0
6
3
33
1
-21
-14
-2
38
-3
28
0
0
0
0
0
0
0
0
0
0
-48
-3
-17
10
0
-9
-13
0
0
0
0
0
0
0
1
0
19
6
97
6
1
7
9
0
0
0
0
0
0
0
0
0
0
0
22
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
19
63
0
-2
0
0
0
0
0
0
0
0
0
0
0
60
55
33
25
13
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
40
91
10
-1
0
0
2
0
0
0
0
0
0
0
0
28
-33
99
7
9
-2
-1
-1
-1
0
0
0
0
0
0
0
0
-7
17
34
-38
12
48
12
0
1
0
0
0
0
0
0
0
0
0
36
0
-35
0
-61
0
-1
-2
0
0
0
0
0
0
0
0
15
0
24
81
11
-11
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
-14
1
0
0
0
0
0
0
0
0
0
0
0
-22
33
1
9
-1
2
3
0
0
0
0
0
0
0
0
0
0
-32
1
-25
-7
-8
-4
-1
0
0
0
0
0
0
0
0
0
0
0
32
4
18
0
9
-4
0
-4
0
0
0
0
0
0
0
0
17
0
-39
-5
-21
-1
-3
-7
36
0
0
0
0
0
0
0
0
-1
83
0
14
0
-52
0
6
-1
3
0
0
0
0
0
0
0
7
10
-33
0
7
0
-3
-1
1
0
0
0
0
0
0
0
0
0
35
0
11
0
-3
0
0
-18
0
0
0
0
0
0
0
0
0
0
-6
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
26
10
2
-1
0
0
0
0
0
0
0
0
0
0
0
75
-8
8
12
5
-3
0
0
0
0
0
0
0
0
0
0
0
-24
11
-9
31
-37
15
0
-9
-13
0
0
0
0
0
0
0
0
34
1
46
54
23
28
-9
1
-27
0
0
0
0
0
0
0
-19
13
23
61
49
9
-87
-15
34
-42
0
0
0
0
0
0
0
0
24
-67
-26
36
-24
11
-32
-30
19
0
0
0
0
0
0
0
-29
7
-7
-25
0
-1
4
-3
-2
0
0
0
0
0
0
0
0
0
38
32
3
-16
-3
0
8
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
6
41
-55
-14
13
4
0
0
0
0
0
0
0
0
0
0
-5
32
27
24
24
60
23
0
0
0
0
0
0
0
0
0
0
0
67
17
21
27
7
-7
1
-3
24
4
0
0
0
0
0
0
-83
-1
-1
13
-17
37
-15
7
-92
25
0
0
0
0
0
0
0
16
-7
9
-18
14
44
-1
-29
-21
44
0
0
0
0
0
0
0
-8
22
14
30
-26
-30
20
36
-13
-15
-7
0
0
0
0
0
0
42
28
28
48
48
0
-1
-4
-4
0
0
0
0
0
0
0
0
0
85
50
4
20
18
0
4
-1
-1
0
0
0
0
0
0
0
-4
0
-12
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-7
49
21
11
19
38
-10
0
0
0
0
0
0
0
0
0
0
-2
-11
42
23
-4
7
6
0
1
0
0
0
0
0
0
0
0
5
0
22
15
30
36
-21
-7
4
15
0
0
0
0
0
0
0
-5
22
-1
5
53
-18
34
-18
18
-59
0
0
0
0
0
0
0
-10
8
31
-28
0
59
48
11
-114
19
0
0
0
0
0
0
0
-3
-17
13
9
59
56
25
191
49
19
1
0
0
0
0
0
0
0
44
41
75
40
13
0
1
4
0
0
0
0
0
0
0
0
0
46
56
25
83
-86
1
-2
29
-5
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
3
34
-17
23
42
-28
-1
0
0
0
0
0
0
0
0
0
-14
15
20
33
22
30
-76
0
-1
0
1
0
0
0
0
0
0
3
-21
20
5
23
63
47
2
26
-62
6
0
0
0
0
0
0
-18
25
9
11
0
61
-1
-1
-28
-48
0
0
0
0
0
0
0
18
14
13
22
18
30
32
3
10
8
14
0
0
0
0
0
0
47
9
26
9
8
8
-22
7
-21
8
0
0
0
0
0
0
0
-7
35
7
62
84
69
137
0
-84
-3
0
0
0
0
0
0
0
0
-7
36
19
32
28
49
-9
0
17
0
0
0
0
0
0
0
0
2
34
18
21
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-17
28
4
-7
46
3
0
1
-1
0
0
0
0
0
0
40
-10
21
-14
39
28
74
0
0
0
2
0
0
0
0
0
0
61
29
8
4
4
24
-28
-27
-8
48
0
-2
0
0
0
0
0
-18
6
12
-1
48
-17
-2
-19
90
82
-4
0
0
0
0
0
0
-16
10
4
12
13
29
15
15
-37
26
0
0
0
0
0
0
0
14
23
15
13
11
3
33
5
-25
32
4
0
0
0
0
0
0
11
31
17
32
49
63
57
35
0
14
0
0
0
0
0
0
0
0
-60
5
11
62
30
59
-82
4
-153
0
0
0
0
0
0
0
0
0
-21
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
4
12
16
-4
71
5
0
0
-1
0
0
0
0
0
0
0
19
23
-4
-33
18
31
0
0
0
38
0
0
0
0
0
0
0
27
5
-25
3
15
-26
8
15
14
10
0
0
0
0
0
0
0
7
-24
21
-8
12
39
84
13
-12
12
0
0
0
0
0
0
0
-16
4
-10
0
-2
8
-23
25
27
48
0
0
0
0
0
0
0
15
23
5
17
8
10
54
54
76
-12
0
0
0
0
0
0
0
24
-4
34
40
25
36
-33
40
0
0
0
0
0
0
0
0
0
1
0
-18
23
56
79
-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
-16
0
34
0
-7
0
0
1
0
0
0
0
0
0
0
0
8
1
2
-46
3
0
0
0
3
-2
0
0
0
0
0
0
0
0
7
-9
2
6
8
0
0
0
6
0
0
0
0
0
0
0
-13
17
25
-10
41
2
0
3
7
0
0
0
0
0
0
0
0
0
-97
-91
48
28
10
-2
0
0
27
0
0
0
0
0
0
0
10
-2
4
31
44
-12
3
-10
0
-8
0
0
0
0
0
0
0
-2
-2
3
100
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-19
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
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-8
0
13
0
-1
0
0
0
0
0
0
0
0
0
0
0
6
0
-19
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
9
6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-17
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
2
-21
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-1
81
-20
3
-6
0
1
0
0
0
0
0
0
0
0
14
0
15
8
-11
-8
-3
1
0
0
0
0
0
0
0
0
0
0
12
-2
0
1
12
2
0
-7
0
0
0
0
0
0
0
0
0
0
13
-7
55
0
1
7
0
-3
0
0
0
0
0
0
0
0
0
2
-10
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
66
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-21
38
22
-2
0
0
0
2
0
0
0
0
0
0
0
0
-2
-1
6
-1
33
2
0
0
2
0
0
0
0
0
0
0
0
0
9
-15
-39
7
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
-57
0
1
0
0
0
6
0
0
0
0
0
0
0
0
0
-1
0
4
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-4
0
9
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
9
-1
4
22
0
0
0
0
0
0
0
0
0
0
0
0
25
4
-46
1
-69
0
0
20
0
0
0
0
0
0
0
0
8
15
-69
-1
-41
1
1
0
11
0
0
0
0
0
0
0
0
0
10
0
-64
0
-11
-2
-12
-18
0
0
0
0
0
0
0
0
-3
-11
3
0
-3
0
0
0
-38
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
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
-6
-1
-40
0
0
0
0
0
0
0
0
0
0
0
0
8
5
-17
-1
1
-2
0
0
3
0
0
0
0
0
0
0
0
-39
-1
22
-7
-14
-1
0
-8
-15
0
0
0
0
0
0
0
17
0
-36
-7
-11
-93
-37
0
0
0
0
0
0
0
0
0
0
-2
-63
3
11
-18
6
12
0
0
0
0
0
0
0
0
0
0
-9
-10
16
-4
7
6
25
-9
1
0
0
0
0
0
0
0
0
0
11
-46
28
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
9
13
7
-8
0
0
0
0
0
0
0
0
0
0
0
76
3
3
11
46
-7
0
0
0
0
0
0
0
0
0
0
40
0
28
2
-23
41
2
0
0
-12
0
0
0
0
0
0
0
-13
9
-5
6
-1
8
1
4
-28
-3
0
0
0
0
0
0
0
3
-24
-9
31
-7
-23
2
-41
-28
0
0
0
0
0
0
0
0
0
41
13
-10
11
-30
10
-45
7
0
0
0
0
0
0
0
0
12
39
11
-51
65
3
47
21
12
0
0
0
0
0
0
0
0
0
60
38
27
-27
0
0
-9
0
0
0
0
0
0
0
0
0
-6
0
46
-28
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
15
-21
0
9
0
0
0
0
0
0
0
0
0
0
0
15
-7
3
-3
-9
0
0
0
0
0
0
0
0
0
0
0
18
-2
1
-8
13
8
2
0
0
-24
0
0
0
0
0
0
0
0
28
-5
12
54
21
21
-9
-11
-59
0
0
0
0
0
0
0
-12
21
0
-27
-36
-63
49
-20
17
3
0
0
0
0
0
0
0
0
-34
12
18
37
-1
1
82
-65
-10
0
0
0
0
0
0
0
0
7
-19
54
46
10
2
27
7
-6
0
0
0
0
0
0
0
0
-8
33
48
32
59
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
47
0
0
0
0
0
0
0
0
0
0
0
0
0
63
3
2
-70
10
11
0
0
0
0
0
0
0
0
0
0
30
0
97
1
31
38
-2
0
0
0
0
0
0
0
0
0
0
-12
50
-23
63
24
41
-4
2
16
4
0
0
0
0
0
0
0
-19
18
29
-26
-5
57
-9
0
67
1
0
0
0
0
0
0
0
-10
-10
9
-5
20
-6
-42
1
115
-24
1
0
0
0
0
0
0
-23
6
-37
22
-7
7
11
0
46
-57
0
0
0
0
0
0
0
10
-26
7
-23
33
-20
100
-1
89
5
0
0
0
0
0
0
0
2
17
5
54
83
-4
-16
0
0
0
0
0
0
0
0
0
0
9
20
33
10
-4
7
0
0
-21
0
0
0
0
0
0
0
0
0
3
19
41
3
13
-15
-8
0
0
0
0
0
0
0
0
0
0
40
6
26
-30
41
-9
0
0
0
0
0
0
0
0
0
0
8
-43
4
-57
43
81
1
6
2
-44
0
0
0
0
0
0
0
-1
10
-45
13
-10
51
1
1
-4
-31
0
0
0
0
0
0
0
6
-1
11
-62
-1
5
34
-28
15
-77
0
0
0
0
0
0
0
1
13
-16
2
26
-33
0
37
0
35
0
0
0
0
0
0
0
-2
-66
-1
9
20
54
-17
-35
11
6
0
0
0
0
0
0
0
0
4
13
96
8
-14
2
2
0
4
0
0
0
0
0
0
0
0
8
10
31
80
38
0
-19
0
0
0
0
0
0
0
0
0
0
0
-51
4
-16
-24
9
0
0
0
0
0
0
0
0
0
0
0
-33
-24
-14
53
6
18
0
0
0
1
0
0
0
0
0
0
0
-28
-22
18
-20
124
-8
-6
0
1
-10
0
0
0
0
0
0
0
-39
30
-7
23
13
-10
0
7
0
-14
0
0
0
0
0
0
0
1
19
1
2
40
-26
22
-36
-6
27
0
0
0
0
0
0
0
2
-4
5
-33
60
-39
-29
-47
-2
-23
0
0
0
0
0
0
0
6
-53
9
7
39
-43
90
22
0
1
0
0
0
0
0
0
0
0
10
-44
-12
-32
-24
-1
-3
0
0
0
0
0
0
0
0
0
0
0
4
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
2
-8
3
0
0
-1
0
0
0
0
0
0
0
0
-2
-5
0
-3
4
-1
0
0
0
0
0
0
0
0
0
0
0
11
-19
-8
8
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-9
10
4
-1
9
-2
0
0
0
0
0
0
0
0
0
0
0
3
20
-16
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-22
1
0
-7
12
0
0
0
0
0
0
0
0
0
0
0
0
-11
6
34
2
-2
0
0
0
0
0
0
0
0
0
0
0
-8
0
-2
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
19
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
7
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
7
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-1
10
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
41
0
-68
0
2
0
0
0
0
0
0
0
0
0
0
0
-13
0
19
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
26
0
-8
1
0
0
0
0
0
0
0
0
0
0
-58
0
16
0
43
-16
13
0
0
0
0
0
0
0
0
0
0
0
1
0
-18
3
12
-19
0
-44
0
0
0
0
0
0
0
0
1
0
-19
0
-9
41
0
0
-16
0
0
0
0
0
0
0
0
0
-44
0
9
0
-2
-19
0
-10
0
0
0
0
0
0
0
0
0
0
40
0
-10
0
0
0
0
0
0
0
0
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
19
0
3
0
0
0
0
0
0
0
0
0
0
-7
-1
-13
40
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
27
-1
3
0
0
3
0
0
0
0
0
0
0
0
22
24
3
-2
41
-4
0
0
0
0
0
0
0
0
0
0
0
26
-64
14
-42
3
41
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-36
-29
-6
1
0
0
-42
0
0
0
0
0
0
0
0
-27
45
7
16
-8
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-6
-27
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
-1
-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
3
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-6
0
0
0
0
0
0
0
0
0
0
-1
-1
-7
4
0
-32
25
-57
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
16
-15
34
-1
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
-27
-1
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
32
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
4
15
0
-1
0
0
0
0
0
0
0
0
2
0
0
12
0
-8
-3
11
-1
0
0
0
0
0
0
0
0
0
0
3
0
1
10
4
11
-2
0
0
0
0
0
0
0
0
0
0
0
0
9
7
-10
-6
-3
-1
0
0
0
0
0
0
0
-2
0
0
0
0
-28
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-6
-9
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-4
19
-8
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
8
-14
-43
1
3
0
0
0
0
0
0
0
0
0
0
22
0
8
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
24
1
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
55
0
0
-21
0
0
0
0
0
0
0
0
0
0
10
-16
-23
-11
-20
32
7
-1
0
0
0
0
0
0
0
0
-3
6
-3
52
37
34
-27
3
0
0
0
0
0
0
0
0
0
0
1
0
27
48
16
-43
1
0
0
0
0
0
0
0
0
0
0
0
0
-13
24
36
-26
-2
0
0
0
0
0
0
0
0
0
0
0
6
-8
2
-7
-12
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
22
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
-3
2
0
29
31
0
-24
0
0
18
0
0
0
0
0
0
0
-9
3
1
26
-9
-2
-11
-26
-19
27
0
0
0
0
0
0
0
10
58
-19
32
-46
-38
15
38
-25
-27
0
0
0
0
0
0
0
-16
13
1
-4
-32
-16
-40
23
14
-79
0
0
0
0
0
0
0
3
0
4
1
-3
11
18
39
46
50
0
0
0
0
0
0
0
0
0
0
1
-2
9
21
14
-19
0
0
0
0
0
0
0
0
0
0
8
0
-6
0
30
-13
-33
6
0
0
0
0
0
0
0
0
0
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
2
0
12
71
-5
0
-33
0
23
0
0
0
0
0
0
0
10
8
-3
0
6
7
-30
24
-29
17
0
0
0
0
0
0
0
-1
98
3
3
11
3
-9
25
-76
-49
0
0
0
0
0
0
0
0
-7
69
-21
95
-5
18
8
-23
20
0
0
0
0
0
0
0
0
-2
-4
-7
19
-2
30
-2
-16
10
-2
0
0
0
0
0
0
0
-13
7
0
-1
-3
25
-47
-44
-3
0
0
0
0
0
0
0
0
-22
0
0
0
-3
-5
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
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
-1
-3
-3
36
-39
-53
-29
0
0
0
0
0
0
0
0
0
0
8
-2
26
-26
-27
2
54
17
-80
0
0
0
0
0
0
0
0
66
-3
12
-77
10
-25
7
-39
-50
15
0
0
0
0
0
0
0
14
-24
42
-18
-43
12
-72
-2
-36
-16
0
0
0
0
0
0
0
2
4
0
-16
-22
-7
34
9
34
0
-1
0
0
0
0
0
0
0
-2
0
0
-1
43
-15
-39
7
-2
6
0
0
0
0
0
0
0
0
0
-4
-3
0
-11
7
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
12
-18
-25
0
0
10
0
0
0
0
0
0
0
13
-10
0
-1
21
-7
-7
20
42
3
0
0
0
0
0
0
0
-7
13
0
-10
-14
-57
-39
-13
-3
1
0
0
0
0
0
0
0
58
-2
0
23
24
-56
-42
-62
-47
9
0
0
0
0
0
0
0
43
9
8
11
23
-2
-53
-30
10
0
0
0
0
0
0
0
0
15
2
-5
-22
4
-6
-11
-17
1
0
0
0
0
0
0
0
0
-3
0
0
-5
12
-38
-2
-46
20
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
0
0
0
0
0
0
0
0
0
0
0
9
0
0
3
-18
-19
0
-16
0
-1
0
0
0
0
0
0
0
0
1
0
13
19
-10
-21
-10
25
0
0
0
0
0
0
0
0
3
0
0
0
-2
16
6
-23
-1
0
0
0
0
0
0
0
0
1
0
0
4
-4
-7
-25
-6
-8
0
0
0
0
0
0
0
0
6
0
0
11
7
-2
-21
-30
3
0
0
0
0
0
0
0
0
-1
0
0
0
4
1
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-16
-11
-1
-9
0
0
0
0
0
0
0
0
0
-1
0
0
-12
-1
-33
0
45
-13
0
0
0
0
0
0
0
0
1
0
0
-18
3
-10
-7
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-20
0
-11
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
-9
0
7
0
0
0
0
0
0
0
3
0
2
1
25
6
-16
-11
-36
-12
0
0
0
0
0
0
0
0
-1
-1
-4
17
38
41
-10
27
-9
0
0
0
0
0
0
0
1
-2
0
4
-3
27
-26
50
-41
-10
0
0
0
0
0
0
0
0
0
0
0
0
7
1
15
-3
3
0
0
0
0
0
0
0
0
1
0
0
0
-8
-14
11
4
0
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
0
0
0
0
0
0
0
0
0
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
8
0
-3
0
0
0
0
0
0
0
0
2
0
0
11
39
3
30
1
-6
0
0
0
0
0
0
0
0
4
0
-3
-9
25
3
-47
20
-12
0
0
0
0
0
0
0
0
-2
0
0
-3
2
-25
-2
16
-6
0
0
0
0
0
0
0
0
4
0
0
-2
-1
17
13
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
33
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
1
0
-1
-6
-39
0
2
0
0
0
0
0
0
0
-19
0
0
-10
8
52
-12
60
-13
2
-1
0
0
0
0
0
0
0
0
0
-15
-1
41
68
4
10
11
0
0
0
0
0
0
0
0
0
0
0
1
49
5
102
-8
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
-16
0
-9
0
0
0
0
0
0
0
0
0
0
0
-1
0
14
0
3
0
0
7
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
-2
-1
7
1
-22
12
34
-12
0
-7
0
0
0
0
0
0
0
15
0
-1
7
1
-17
-3
-44
-10
9
2
0
0
0
0
0
0
-2
0
1
6
-20
-31
1
33
11
19
0
0
0
0
0
0
0
0
0
11
6
-4
28
20
-6
-7
-23
0
0
0
0
0
0
0
-1
-18
0
-3
-22
12
31
-20
28
0
0
0
0
0
0
0
0
0
0
-1
-15
-2
-38
-1
26
-43
-16
0
0
0
0
0
0
0
0
0
0
3
-2
3
-13
18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-7
-1
9
-40
47
27
-6
4
0
-16
0
0
0
0
0
0
0
40
59
15
19
22
-12
4
-28
14
4
0
0
0
0
0
0
0
36
15
17
-58
-9
1
37
16
20
-93
0
0
0
0
0
0
0
3
-11
-8
-23
35
-23
40
17
13
-8
0
0
0
0
0
0
0
10
9
9
-15
76
23
27
-14
29
-16
0
0
0
0
0
0
0
-2
-16
0
7
4
-23
16
-11
9
-21
0
0
0
0
0
0
0
0
-4
0
-6
-12
13
22
-34
-24
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
79
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-45
-3
4
11
64
42
20
0
-80
-2
0
0
0
0
0
0
18
12
5
46
4
31
7
12
-34
-14
-2
0
0
0
0
0
0
19
110
-8
39
28
47
-24
19
-11
-27
0
0
0
0
0
0
0
4
54
-77
101
42
5
12
4
20
-16
0
0
0
0
0
0
0
0
-26
24
29
1
8
-6
-22
16
-46
-1
0
0
0
0
0
0
0
-6
0
11
1
31
8
3
-42
15
0
0
0
0
0
0
0
0
-1
0
6
-43
1
33
6
-7
1
0
0
0
0
0
0
0
0
2
0
0
0
66
18
26
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
-21
-27
57
17
15
-21
42
8
0
20
2
0
0
0
0
0
0
23
-16
-74
55
-55
-15
-14
27
-15
13
10
0
0
0
0
0
0
-72
11
1
37
34
-23
8
3
-13
20
1
0
0
0
0
0
0
101
0
57
-28
-15
11
-8
-12
7
-21
-3
0
0
0
0
0
0
-40
8
-9
37
-24
-27
-31
-60
10
26
0
0
0
0
0
0
0
0
-7
8
-10
-58
29
0
16
-10
102
9
0
0
0
0
0
0
0
0
0
0
-47
42
-14
-17
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
57
8
34
9
-22
6
-19
0
43
4
-1
0
0
0
0
0
19
42
-43
22
34
5
-41
12
16
6
8
0
0
0
0
0
0
-3
-45
-102
-26
-15
-16
-15
5
-1
-55
-2
0
0
0
0
0
0
-2
27
34
-54
-29
15
-37
-2
-8
22
2
0
0
0
0
0
0
1
31
28
1
-22
17
-24
-10
12
2
0
0
0
0
0
0
0
0
20
42
48
-11
-20
-64
-16
13
9
1
0
0
0
0
0
0
9
-1
4
-10
7
-5
-1
15
9
-13
0
0
0
0
0
0
0
0
0
-8
0
0
15
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
-4
30
17
99
-45
5
21
0
-15
2
0
0
0
0
0
0
0
-7
-37
75
-54
-21
-9
-22
-32
-7
-2
0
0
0
0
0
0
0
37
31
-79
-5
-44
-13
9
-30
-30
10
0
0
0
0
0
0
0
-22
74
-22
37
-22
-21
-6
5
-66
-10
0
0
0
0
0
0
0
-74
-1
-25
-33
29
-36
-10
-3
-9
-3
0
0
0
0
0
0
0
-22
4
22
-97
-9
20
26
5
34
2
0
0
0
0
0
0
0
36
-11
-7
-39
37
26
-25
-93
6
0
0
0
0
0
0
0
0
0
0
-10
2
-52
1
-35
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
-10
2
0
7
-11
-57
0
16
-3
-1
0
0
0
0
0
0
0
0
-3
0
3
-18
9
-18
-21
25
-1
0
0
0
0
0
0
0
0
7
1
2
18
-10
-1
-27
12
0
0
0
0
0
0
0
0
33
0
-2
12
-2
-18
-47
16
38
0
0
0
0
0
0
0
0
-7
10
-1
-4
-1
32
57
54
1
0
0
0
0
0
0
0
0
-1
1
-10
27
0
18
12
3
-17
-2
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
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
1
-11
0
0
0
0
0
0
0
0
0
9
3
0
13
30
12
12
30
9
0
0
0
0
0
0
0
0
0
0
-2
2
0
-3
4
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-10
-17
-6
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-12
0
-10
0
-1
0
0
0
0
0
0
0
0
21
0
1
-13
1
21
-11
-9
0
0
0
0
0
0
0
0
0
0
0
2
-28
7
26
-18
-53
7
0
0
0
0
0
0
0
0
2
-1
3
2
27
19
-47
-11
-7
0
0
0
0
0
0
0
0
-6
0
0
3
11
-15
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
12
1
-3
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
-4
6
0
0
14
0
0
2
0
0
0
0
0
0
0
0
0
2
0
-17
6
13
-29
-6
-2
0
0
0
0
0
0
0
15
0
0
6
-10
22
10
-16
0
2
0
0
0
0
0
0
0
-1
0
1
-2
2
-18
-26
-16
0
0
0
0
0
0
0
0
0
-3
-1
0
6
0
4
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
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
-10
-11
-8
34
0
-8
0
0
0
0
0
0
0
0
0
1
-6
106
35
43
-21
29
0
3
0
0
0
0
0
0
0
-2
0
2
16
-23
37
20
-27
0
2
0
0
0
0
0
0
-25
0
-10
-28
6
27
50
44
0
2
0
0
0
0
0
0
0
0
0
0
0
-41
7
70
-1
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-26
0
-6
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
7
0
0
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
-8
0
0
14
9
11
11
0
-32
0
0
0
0
0
0
0
-1
6
-3
3
62
38
7
44
-8
19
0
0
0
0
0
0
0
0
-8
16
35
51
-12
-19
82
6
15
0
0
0
0
0
0
0
-3
24
0
2
-7
-33
22
-9
39
6
0
0
0
0
0
0
0
0
4
1
4
0
51
18
78
-5
0
0
0
0
0
0
0
0
0
-3
0
3
0
53
-1
-50
-9
6
0
0
0
0
0
0
0
0
0
-8
0
-9
0
-7
56
9
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
23
-3
-7
-8
3
-24
38
-8
0
-2
0
0
0
0
0
0
0
11
40
32
79
-20
-34
9
-20
5
32
0
0
0
0
0
0
0
13
38
2
-25
22
-17
11
12
10
-35
0
0
0
0
0
0
0
34
-98
-33
-27
33
-41
-69
-5
44
5
0
0
0
0
0
0
0
-67
-1
-24
40
-20
-26
62
-19
27
-4
0
0
0
0
0
0
0
-1
18
21
-9
-4
3
35
11
38
25
0
0
0
0
0
0
0
3
0
3
0
-8
-38
-2
-30
40
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-1
13
-15
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
3
-21
-15
1
50
-12
-12
-17
0
-14
0
0
0
0
0
0
0
19
-48
-2
37
19
-30
-29
-4
-6
-17
0
0
0
0
0
0
0
0
-81
19
8
-41
-28
30
-10
-13
-17
0
0
0
0
0
0
0
0
-22
-17
17
-54
-48
-16
-43
-13
9
0
0
0
0
0
0
0
-1
-7
-6
-91
-45
28
-62
21
10
-16
-1
0
0
0
0
0
0
0
-43
-23
29
35
-18
27
-4
36
-13
0
0
0
0
0
0
0
0
0
47
14
15
-25
-48
13
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
-16
-12
-17
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
11
33
-10
-6
-38
7
33
7
0
32
-8
0
0
0
0
0
0
-67
58
0
44
6
5
10
20
34
-22
1
0
0
0
0
0
0
-45
-27
76
-29
-15
-13
-2
-7
64
23
10
0
0
0
0
0
0
-10
25
-13
-38
-15
21
6
7
-44
17
2
0
0
0
0
0
0
-16
-14
18
-57
34
20
43
-22
10
-30
-11
0
0
0
0
0
0
-7
57
51
13
-4
4
10
16
22
23
0
0
0
0
0
0
0
22
22
-4
-2
-3
29
2
54
38
0
0
0
0
0
0
0
0
0
-9
-1
-24
-1
13
11
-15
8
-1
0
0
0
0
0
0
0
0
0
0
0
-25
0
1
0
1
0
0
0
0
0
0
0
0
-37
11
67
-8
-4
-2
22
44
0
16
0
0
0
0
0
0
0
-52
-24
-34
33
21
-25
-12
3
4
-33
52
0
0
0
0
0
0
-29
-12
41
36
4
-10
-24
-3
1
46
0
2
0
0
0
0
0
28
-39
-6
34
2
-28
-4
-6
-15
-14
0
0
0
0
0
0
0
3
15
-24
43
-18
-15
28
15
-13
11
0
0
0
0
0
0
0
-2
20
-40
43
8
-19
6
-22
17
-3
0
0
0
0
0
0
0
3
-4
-34
-12
4
-51
-29
-13
5
30
0
0
0
0
0
0
0
0
1
0
1
0
27
-36
-12
29
-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
-9
-10
6
27
-13
11
6
0
-21
8
0
0
0
0
0
0
0
25
58
40
13
-49
-11
50
-22
-17
-43
0
0
0
0
0
0
0
19
104
-52
5
-41
-10
-33
-39
-1
-6
0
0
0
0
0
0
0
-48
0
-59
5
-37
-13
8
-19
-36
-7
0
0
0
0
0
0
0
-19
14
26
-58
75
18
-19
2
1
27
0
0
0
0
0
0
0
38
-21
19
-31
31
28
9
9
-14
25
0
0
0
0
0
0
0
6
13
10
28
-42
64
-3
10
11
0
0
0
0
0
0
0
0
0
-13
0
0
-38
-20
23
-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
-2
0
0
1
-13
6
0
-62
-8
0
0
0
0
0
0
0
0
11
28
38
-7
1
14
-14
-17
-77
0
0
0
0
0
0
0
0
-11
0
0
-1
0
-13
-8
2
0
0
0
0
0
0
0
0
0
-1
-2
0
0
2
9
7
5
-6
0
0
0
0
0
0
0
0
1
0
-2
0
0
-27
20
40
4
3
0
0
0
0
0
0
0
-1
-4
10
21
-10
8
0
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
38
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
4
-24
-8
1
0
0
0
0
0
0
0
0
0
0
0
2
-9
6
-1
-10
-7
0
0
0
0
0
0
0
0
0
0
0
2
-6
27
7
-49
-8
0
0
0
0
0
0
0
0
0
0
0
0
28
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-10
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
54
1
0
35
0
0
0
0
0
0
0
0
9
0
-3
64
3
16
-21
-84
-18
0
0
0
0
0
0
0
2
1
1
-2
-21
-50
23
-26
32
39
0
0
0
0
0
0
0
0
0
4
-24
-100
-13
68
-31
-30
-12
0
0
0
0
0
0
0
0
1
8
0
-2
48
14
39
55
2
0
0
0
0
0
0
0
0
-6
0
0
-18
-15
0
2
-15
-4
0
0
0
0
0
0
0
0
-1
-1
1
-8
0
-25
18
25
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
-10
-2
0
0
0
0
0
0
0
1
0
0
4
-29
0
1
18
-35
1
0
0
0
0
0
0
0
0
0
2
-1
-2
25
52
-19
2
0
0
0
0
0
0
0
0
0
0
24
-1
-19
6
-18
-8
-33
0
0
0
0
0
0
0
0
0
1
-1
0
0
34
3
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
15
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
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
14
3
-49
0
0
0
0
0
0
0
0
0
7
0
1
-7
53
11
34
18
-42
0
0
0
0
0
0
0
0
1
0
0
17
-36
-71
26
21
51
0
-3
0
0
0
0
0
0
-2
-1
0
0
-26
-84
-55
13
-15
-1
0
0
0
0
0
0
0
2
6
2
1
39
13
-44
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
0
11
0
0
0
0
0
0
0
0
0
0
-3
0
4
-3
-2
-25
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
-4
18
-9
10
-23
0
15
0
0
0
0
0
0
0
83
2
7
-13
-55
3
34
-6
30
19
0
0
0
0
0
0
0
-6
2
6
13
-14
15
-31
17
-2
-18
0
0
0
0
0
0
0
-2
-19
-18
43
3
-8
-92
-27
-24
2
0
0
0
0
0
0
0
3
4
0
-11
-46
-52
-11
21
26
0
0
0
0
0
0
0
0
3
2
65
21
41
-46
14
-47
52
-10
0
0
0
0
0
0
0
-4
0
0
0
-28
-3
-17
0
-16
0
0
0
0
0
0
0
0
0
-1
0
-1
0
51
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
3
-1
-1
-38
49
-58
40
-21
0
-24
0
0
0
0
0
0
0
-27
-13
-97
34
-12
-9
0
-28
-41
8
-15
0
0
0
0
0
0
-24
28
34
6
17
-35
-10
-11
10
14
0
0
0
0
0
0
0
-67
17
19
56
12
15
0
3
-10
-17
0
0
0
0
0
0
0
-7
-47
29
15
-29
48
24
14
43
17
0
0
0
0
0
0
0
2
-16
-13
36
8
72
9
-10
-15
-17
3
0
0
0
0
0
0
-1
-10
-11
-8
25
23
-46
29
-22
-1
0
0
0
0
0
0
0
0
0
0
1
-8
29
53
19
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
0
0
0
0
0
0
0
0
0
-1
0
2
-1
40
-2
-5
27
0
7
0
0
0
0
0
0
0
-9
-30
6
18
-13
7
-18
-9
25
-13
0
0
0
0
0
0
0
1
-28
11
49
37
-19
-26
-17
-14
22
0
0
0
0
0
0
0
-9
34
59
94
-50
-26
-9
-6
3
-4
0
0
0
0
0
0
0
-8
-2
73
11
19
-24
10
-35
-2
12
0
0
0
0
0
0
0
1
67
84
28
2
31
-19
2
7
8
-1
0
0
0
0
0
0
6
-22
0
-14
-13
36
11
45
14
-3
0
0
0
0
0
0
0
0
-2
0
-1
4
8
-20
7
44
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
14
40
77
-49
17
-1
19
16
0
-2
0
0
0
0
0
0
0
-57
-44
33
37
-53
-5
1
0
6
-30
1
0
0
0
0
0
0
-31
-3
-7
51
17
-9
-10
4
0
-15
0
0
0
0
0
0
0
-38
10
-3
43
-17
-28
-11
-3
11
-6
-4
0
0
0
0
0
0
-8
-35
-36
-15
21
-10
8
-22
-17
15
3
0
0
0
0
0
0
-25
66
45
-33
0
34
3
26
25
-45
-6
0
0
0
0
0
0
81
12
66
-6
33
48
20
-14
16
-8
0
0
0
0
0
0
0
0
6
8
24
0
-4
1
-16
18
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
6
0
0
0
0
0
0
0
0
-153
-26
-17
-12
42
11
13
6
0
-7
-1
0
0
0
0
0
0
39
-63
-47
-29
-7
-17
14
-6
13
-13
-30
1
0
0
0
0
0
-32
58
6
4
13
-3
3
-3
-4
46
4
3
0
0
0
0
0
-11
-4
-17
20
18
13
-16
-6
1
-19
0
0
0
0
0
0
0
-17
29
7
-7
-15
-20
7
17
0
-71
0
0
0
0
0
0
0
-7
-29
14
-94
-28
17
20
18
9
6
0
0
0
0
0
0
0
12
-8
15
6
-24
-14
20
20
15
-4
0
0
0
0
0
0
0
0
-3
-24
19
-7
-28
-4
20
20
13
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
-14
14
-36
-59
-65
42
4
0
16
-1
0
0
0
0
0
0
0
68
98
13
-1
-2
-16
-21
14
4
24
0
0
0
0
0
0
0
23
88
25
22
-38
18
-8
-2
-9
-25
0
0
0
0
0
0
0
-31
-27
19
-37
-24
-29
-19
-15
-3
27
0
0
0
0
0
0
0
-47
47
-29
5
-7
-7
19
14
-18
-6
0
0
0
0
0
0
0
-44
-45
-71
-23
0
30
32
31
-12
-6
0
0
0
0
0
0
0
-18
66
30
15
-58
40
21
17
31
0
0
0
0
0
0
0
0
-2
3
2
0
-36
-6
15
-26
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
4
2
0
3
-4
50
0
17
7
-4
0
0
0
0
0
0
0
4
3
-2
0
17
19
-60
23
0
2
0
0
0
0
0
0
0
-20
0
1
9
3
15
11
-1
-9
-1
0
0
0
0
0
0
0
-3
-1
10
2
33
-17
35
-10
3
0
0
0
0
0
0
0
0
58
0
7
1
-1
-18
35
50
-10
0
0
0
0
0
0
0
0
0
0
-3
3
0
-30
-14
5
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
-19
-1
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-4
0
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
-1
-1
-24
0
0
0
0
0
0
0
0
0
0
0
-6
0
-30
-8
32
2
0
0
0
0
0
0
0
0
0
0
0
12
17
1
-2
19
1
0
0
0
0
0
0
0
0
0
0
0
1
8
-21
-6
8
1
0
0
0
0
0
0
0
0
-1
0
0
1
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
16
-14
31
-25
0
-37
0
0
0
0
0
0
0
0
1
0
4
37
-19
45
-12
-33
69
0
0
0
0
0
0
0
0
13
3
13
43
-19
29
6
-29
8
0
0
0
0
0
0
0
0
9
-8
16
-3
86
35
11
-17
4
0
0
0
0
0
0
0
3
0
6
-12
-56
26
19
-14
22
15
0
0
0
0
0
0
0
0
0
-9
0
3
-42
36
4
-30
4
0
0
0
0
0
0
0
0
0
-8
3
43
-3
35
-5
-6
10
0
0
0
0
0
0
0
0
0
0
-1
0
-41
11
-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
22
15
19
0
32
7
0
0
0
0
0
0
0
0
0
0
0
-10
-33
-1
24
-3
30
0
0
0
0
0
0
0
-6
1
0
7
-8
-13
28
-1
14
6
0
0
0
0
0
0
0
0
0
-1
-2
29
18
-13
-9
-21
2
0
0
0
0
0
0
0
3
0
1
-8
-30
12
-3
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
11
-16
7
6
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-10
15
-1
7
-67
-55
-20
0
13
-1
0
0
0
0
0
0
-8
0
11
-6
-59
28
12
-24
55
-30
0
0
0
0
0
0
0
4
0
0
-17
-75
-20
34
2
10
0
-3
0
0
0
0
0
0
9
0
0
23
-56
-54
-13
-37
11
-1
0
0
0
0
0
0
0
16
0
0
0
1
-19
1
0
-20
0
0
0
0
0
0
0
0
0
-2
0
6
3
24
-4
22
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
1
35
1
0
0
0
0
0
0
0
0
0
0
0
0
2
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
11
-3
0
-20
49
0
38
28
0
8
0
0
0
0
0
0
0
-11
0
55
14
-19
-7
-4
13
1
-68
0
0
0
0
0
0
0
15
-13
49
30
-29
-30
5
10
-12
-20
0
0
0
0
0
0
0
0
-6
0
49
-11
-12
12
-3
-28
4
0
0
0
0
0
0
0
-4
80
13
30
0
18
-35
23
-6
1
0
0
0
0
0
0
0
0
28
-4
1
37
-34
24
2
4
112
0
0
0
0
0
0
0
2
10
0
-1
-37
34
6
11
49
0
0
0
0
0
0
0
0
0
-7
0
-1
0
-46
-1
4
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
-49
-10
-23
27
-3
-24
7
11
0
34
0
0
0
0
0
0
0
-19
37
-50
42
-77
-55
6
13
14
9
1
0
0
0
0
0
0
-47
61
47
8
3
1
1
17
7
-19
3
0
0
0
0
0
0
30
-22
33
21
-12
-20
11
-5
-17
-6
0
0
0
0
0
0
0
13
22
-3
-14
-57
0
-20
-8
8
2
-3
0
0
0
0
0
0
38
1
47
46
-45
7
-28
12
35
-19
0
0
0
0
0
0
0
6
-8
8
-1
12
53
4
23
21
0
0
0
0
0
0
0
0
0
0
-10
-32
0
-13
16
8
-1
12
0
0
0
0
0
0
0
0
0
0
0
4
0
24
10
-2
0
0
0
0
0
0
0
0
-30
18
-62
-66
-27
-40
10
1
0
-18
0
0
0
0
0
0
0
51
-19
-89
-30
-73
-15
0
5
-1
-28
2
0
0
0
0
0
0
-8
-57
-23
17
5
-40
-10
-23
-11
-40
0
0
0
0
0
0
0
-7
31
83
6
-12
24
-39
-2
-15
-15
0
0
0
0
0
0
0
-35
62
-45
124
60
-27
0
-6
-7
-25
0
0
0
0
0
0
0
0
-22
-56
23
13
-9
-12
-9
2
-41
0
0
0
0
0
0
0
2
26
-20
4
-38
-5
51
2
11
17
0
0
0
0
0
0
0
0
0
-2
0
0
-33
-22
-13
-24
12
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
18
0
0
0
0
0
0
0
0
0
-14
-77
26
-16
11
-18
0
2
0
26
-5
0
0
0
0
0
0
-26
1
-2
14
4
11
-1
11
13
-16
-24
0
0
0
0
0
0
17
-42
-8
66
-4
1
7
7
-24
16
25
0
0
0
0
0
0
27
11
-43
18
5
18
2
-11
-27
21
12
0
0
0
0
0
0
44
69
53
-9
11
7
-9
0
62
24
2
0
0
0
0
0
0
6
-7
-23
-20
21
20
30
12
-13
39
1
0
0
0
0
0
0
-27
42
-12
-50
-2
1
33
49
-6
3
1
0
0
0
0
0
0
0
-4
-7
6
2
28
-6
19
-35
35
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
-4
-22
0
0
0
0
0
0
0
0
14
21
4
73
8
-23
16
-16
0
-17
1
0
0
0
0
0
0
41
-44
51
13
-27
-10
-7
6
14
-14
19
0
0
0
0
0
0
20
-21
-4
25
24
7
10
4
0
10
0
-1
0
0
0
0
0
20
-51
-12
-10
8
15
-13
1
-2
-29
1
0
0
0
0
0
0
2
15
30
-26
6
-2
-6
0
0
6
0
0
0
0
0
0
0
19
-26
19
23
-31
1
-3
11
19
-21
-3
0
0
0
0
0
0
52
49
-17
23
5
33
18
42
19
-43
0
0
0
0
0
0
0
0
19
36
-37
0
-2
26
8
-1
10
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-36
32
-4
0
0
0
0
0
0
0
0
0
-6
-47
10
-11
-31
24
16
0
9
9
0
0
0
0
0
0
0
16
89
45
-35
32
9
29
-19
-4
-35
0
0
0
0
0
0
0
10
-56
18
1
17
-25
-26
-8
-6
10
0
0
0
0
0
0
0
-14
-16
49
-44
-28
-6
21
-18
-4
-22
0
0
0
0
0
0
0
19
81
3
28
-64
-26
-17
29
0
9
0
0
0
0
0
0
0
-8
40
-28
43
-42
-37
9
1
-12
3
0
0
0
0
0
0
0
-10
-58
19
-49
6
27
-3
10
-29
0
0
0
0
0
0
0
0
3
4
0
0
6
58
21
-9
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
2
0
0
21
0
59
0
-49
22
16
0
0
0
0
0
0
0
-3
-4
6
37
-18
-7
-30
-40
-22
-6
0
0
0
0
0
0
0
1
-7
3
-7
-4
-18
-27
4
-9
0
0
0
0
0
0
0
0
-6
2
0
2
-4
-20
16
44
-67
2
0
0
0
0
0
0
0
0
0
-1
4
1
-22
31
-27
0
0
0
0
0
0
0
0
0
0
-6
0
0
-10
-1
23
12
8
0
0
0
0
0
0
0
0
0
0
0
2
0
34
-18
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-7
0
26
4
2
0
0
0
0
0
0
0
0
-4
0
0
-10
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
29
3
29
1
8
0
0
0
0
0
0
0
0
0
0
2
0
-2
-47
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-1
19
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
8
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
-2
0
0
0
8
6
-6
0
8
0
0
0
0
0
0
0
0
-17
0
0
-12
24
-54
34
-46
-6
0
0
0
0
0
0
0
0
0
1
2
4
0
-43
21
8
0
0
0
0
0
0
0
0
1
-15
0
7
-16
38
-17
29
28
60
0
0
0
0
0
0
0
0
21
0
-9
57
-11
-15
52
38
8
0
0
0
0
0
0
0
0
0
-6
26
-77
1
-34
16
24
-21
0
0
0
0
0
0
0
0
-4
-1
-1
-3
-6
-38
-1
-44
0
0
0
0
0
0
0
0
0
0
0
0
1
-45
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
29
24
1
0
34
0
0
0
0
0
0
0
0
0
0
0
-3
-1
35
0
3
-9
-2
0
0
0
0
0
0
0
0
0
0
0
8
42
49
43
-2
0
0
0
0
0
0
0
0
3
0
6
16
-1
10
-69
1
36
0
0
0
0
0
0
0
0
2
-3
-18
11
-26
-15
55
15
0
0
0
0
0
0
0
0
0
3
0
-1
24
9
-8
-65
6
0
0
0
0
0
0
0
0
0
-4
0
-7
-22
46
7
-1
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
7
0
-15
-47
0
6
1
0
0
0
0
0
0
28
0
-12
-55
-2
-66
-82
11
-76
4
4
0
0
0
0
0
0
1
0
0
3
-3
2
-41
-67
-22
15
0
0
0
0
0
0
0
-3
0
0
-24
2
-8
-1
-86
0
0
0
0
0
0
0
0
0
0
0
8
2
-10
43
-18
21
-38
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
4
18
-1
-3
0
0
0
0
0
0
0
-2
-4
0
3
1
1
42
6
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
-15
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
34
2
2
0
-59
-23
15
0
0
-6
0
0
0
0
0
0
0
7
23
-1
29
-63
49
-47
-47
-3
1
0
0
0
0
0
0
0
0
-12
0
-9
15
-30
-23
-36
-41
-35
0
0
0
0
0
0
0
-6
119
4
-14
-19
-61
-12
-21
-3
0
0
0
0
0
0
0
0
1
15
-7
-26
16
22
-23
-36
11
-6
0
0
0
0
0
0
0
1
26
13
14
0
16
54
-50
-22
-16
0
0
0
0
0
0
0
4
29
20
0
59
-3
-28
26
2
0
0
0
0
0
0
0
0
0
0
0
2
0
17
10
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-35
37
-66
-39
-23
-30
10
36
0
-33
0
0
0
0
0
0
0
18
-13
23
-3
-13
-16
7
-1
9
-4
9
0
0
0
0
0
0
-7
1
0
21
-34
-9
-18
-21
-22
-5
0
0
0
0
0
0
0
34
-33
0
-17
40
-36
2
-1
2
-17
0
0
0
0
0
0
0
26
-12
0
38
10
-35
20
-16
-2
-19
0
0
0
0
0
0
0
0
12
55
15
44
0
-30
-5
-11
-61
0
0
0
0
0
0
0
0
43
-1
-5
-6
41
6
-6
18
-1
0
0
0
0
0
0
0
0
8
0
-7
0
50
-14
-23
-3
-11
0
0
0
0
0
0
0
0
0
0
0
6
0
24
0
0
0
0
0
0
0
0
0
0
-20
37
-4
15
-13
-23
-65
4
0
3
23
0
0
0
0
0
0
-23
-64
53
9
13
-12
-17
-12
5
-14
24
0
0
0
0
0
0
1
-45
4
2
24
5
-15
3
-7
-55
0
0
0
0
0
0
0
29
16
58
-65
-4
16
17
10
-28
10
0
0
0
0
0
0
0
7
73
-30
80
9
-52
-29
-1
-19
40
0
0
0
0
0
0
0
8
22
23
49
12
-43
0
-8
-33
-4
0
0
0
0
0
0
0
-6
79
36
-10
8
20
19
-26
-2
-53
0
0
0
0
0
0
0
0
-3
0
-10
2
19
16
10
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
25
1
0
0
0
0
0
0
0
0
0
-68
26
88
9
1
-27
-11
-17
0
6
49
0
0
0
0
0
0
-70
-13
23
2
0
-13
-5
2
6
-45
43
0
0
0
0
0
0
-56
-28
40
11
-16
10
-6
-32
2
-47
7
0
0
0
0
0
0
-17
-24
12
38
3
8
-2
-12
-28
12
-8
0
0
0
0
0
0
20
-26
22
-6
-3
-18
2
3
-1
-28
0
0
0
0
0
0
0
-80
-1
32
31
-36
17
-32
0
-26
34
3
0
0
0
0
0
0
-24
-3
-45
102
-9
-2
8
-34
0
-4
0
0
0
0
0
0
0
0
5
-9
-6
67
-2
42
7
19
-2
0
0
0
0
0
0
0
0
0
0
0
-14
0
-13
12
-4
0
0
0
0
0
0
0
0
-20
0
7
34
17
13
14
-1
0
6
-4
0
0
0
0
0
0
-67
14
55
1
-7
-19
-4
3
11
10
43
0
0
0
0
0
0
-14
7
26
15
36
-1
-8
-8
18
15
23
0
0
0
0
0
0
16
-15
81
6
22
15
14
11
-31
6
0
0
0
0
0
0
0
60
50
38
19
7
16
6
6
2
-28
-6
-3
0
0
0
0
0
29
-50
30
54
-6
-15
-2
3
0
-8
-1
0
0
0
0
0
0
14
21
23
67
-20
4
37
-18
11
-4
0
0
0
0
0
0
0
0
1
-3
-20
6
30
17
2
-23
-7
0
0
0
0
0
0
0
0
0
0
0
-13
0
11
-1
0
0
0
0
0
0
0
0
0
0
-37
62
17
9
39
22
2
0
4
29
0
0
0
0
0
0
0
0
10
0
-32
-12
-13
-16
3
1
-3
0
0
0
0
0
0
0
29
-86
-10
10
-30
-38
-38
-3
12
0
0
0
0
0
0
0
0
-47
-39
-4
-27
-27
26
9
-17
-9
14
0
0
0
0
0
0
0
-6
55
9
33
6
21
14
20
-26
-2
0
0
0
0
0
0
0
-9
62
-53
-50
27
1
-21
-93
0
8
0
0
0
0
0
0
0
-4
14
51
-54
-31
22
25
-3
-39
0
0
0
0
0
0
0
0
0
-1
-4
0
20
31
-2
64
18
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
-1
-1
0
-44
-11
0
0
0
0
0
0
0
0
15
8
19
11
-4
48
-7
-9
27
-2
0
0
0
0
0
0
0
-1
0
0
-7
7
24
53
-1
-6
-8
0
0
0
0
0
0
0
-2
0
6
0
29
-7
-25
-5
-7
0
0
0
0
0
0
0
0
0
0
-7
10
-8
12
-54
-10
-7
11
0
0
0
0
0
0
0
-2
1
0
3
-8
-8
-1
-6
0
3
0
0
0
0
0
0
0
0
0
0
1
4
0
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
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
6
0
69
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
44
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
-22
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
-46
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
16
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
3
0
0
0
47
-22
0
1
0
0
0
0
0
0
0
0
0
0
0
0
6
-57
7
26
-7
0
0
0
0
0
0
0
0
3
0
0
1
0
-2
-3
41
30
0
0
0
0
0
0
0
0
9
0
-1
0
-5
-12
44
-15
-38
0
0
0
0
0
0
0
0
0
0
3
-18
7
-3
-6
-30
0
0
0
0
0
0
0
0
0
0
10
10
-8
-28
9
15
9
0
0
0
0
0
0
0
0
0
0
-12
-13
-38
-37
-24
-2
-8
0
0
0
0
0
0
0
0
0
-2
0
3
-12
28
-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
-8
0
8
-4
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
-24
-38
-9
-3
0
0
0
0
0
0
0
6
0
0
2
0
20
7
-13
-2
0
0
0
0
0
0
0
0
1
0
0
0
18
-10
-51
-1
16
0
0
0
0
0
0
0
0
-1
-1
0
-7
-11
-31
-1
-9
9
0
0
0
0
0
0
0
0
6
0
0
-1
-7
21
-39
-7
1
0
0
0
0
0
0
0
0
-1
0
0
59
-2
-13
-3
-46
1
0
0
0
0
0
0
0
0
0
0
0
0
63
26
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-28
-24
-6
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
36
0
-43
26
0
-4
0
0
0
0
0
0
0
0
0
0
1
0
25
29
6
1
0
0
0
0
0
0
0
0
0
0
0
12
-36
-16
32
-3
-1
0
0
0
0
0
0
0
-1
0
0
0
-10
19
41
-3
87
0
0
0
0
0
0
0
0
0
2
0
-10
0
9
39
55
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
19
-6
42
-2
0
0
0
0
0
0
0
0
0
0
1
0
-11
-10
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
17
24
-43
0
17
0
0
0
0
0
0
0
0
-9
0
-11
1
-31
0
-20
57
-19
0
0
0
0
0
0
0
0
-9
1
-9
-16
11
21
15
-7
18
0
0
0
0
0
0
0
-15
4
0
-3
-4
21
-22
11
-54
-40
0
0
0
0
0
0
0
2
-37
0
14
-24
-25
0
29
-52
-3
0
0
0
0
0
0
0
0
-17
24
11
-13
24
8
-33
-58
33
0
0
0
0
0
0
0
0
72
17
4
0
12
-17
-22
-29
1
0
0
0
0
0
0
0
0
1
0
0
0
1
28
-30
-1
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
0
-4
-1
-19
33
-26
35
0
78
0
0
0
0
0
0
0
0
20
-1
-25
-7
-43
7
1
1
-12
11
0
0
0
0
0
0
0
-18
0
1
30
24
4
-13
12
24
0
0
0
0
0
0
0
2
28
-9
15
33
5
29
13
29
-30
6
0
0
0
0
0
0
-13
-61
-4
8
11
-28
-8
9
18
-8
0
0
0
0
0
0
0
6
12
40
12
-6
-47
-43
-2
-14
-32
0
0
0
0
0
0
0
19
29
16
5
22
0
-2
-9
-18
-4
0
0
0
0
0
0
0
0
-6
0
59
0
-2
-8
15
-21
0
0
0
0
0
0
0
0
0
0
0
0
11
0
15
6
3
0
0
0
0
0
0
0
0
9
4
22
38
21
3
-5
6
0
6
6
0
0
0
0
0
0
6
-61
-18
-51
-37
-28
-39
-5
-11
-16
-27
0
0
0
0
0
0
2
22
15
34
-15
18
5
-35
-6
38
0
0
0
0
0
0
0
37
2
-54
-10
47
10
34
24
-5
-22
0
0
0
0
0
0
0
0
-77
-32
-27
41
-9
-10
28
10
30
0
0
0
0
0
0
0
2
-11
38
79
43
-19
6
14
-23
-26
0
0
0
0
0
0
0
0
7
10
-14
49
-16
0
-27
-14
-18
0
0
0
0
0
0
0
0
22
-11
-16
-28
-11
1
-7
-18
29
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-10
0
0
0
0
0
0
0
0
0
-99
-6
-36
-48
-8
2
-31
-52
0
20
4
0
0
0
0
0
0
55
68
-65
70
-21
-43
-54
7
20
-17
18
0
0
0
0
0
0
-20
17
-35
5
-15
-30
12
-16
7
13
0
0
0
0
0
0
0
-39
39
-5
32
-1
19
8
25
-23
11
8
0
0
0
0
0
0
-19
13
-28
39
63
-8
16
-51
0
36
-3
0
0
0
0
0
0
-39
9
37
36
-7
5
-16
-21
21
50
-8
0
0
0
0
0
0
-15
4
13
34
53
8
-26
0
-16
7
1
0
0
0
0
0
0
0
-6
-27
2
-39
-10
-71
-22
40
26
0
0
0
0
0
0
0
0
0
0
0
14
0
-27
12
8
0
0
0
0
0
0
0
0
0
40
5
-10
-28
-3
-1
-12
0
23
-9
0
0
0
0
0
0
6
-42
71
34
-19
10
18
-6
-6
13
-22
0
0
0
0
0
0
-10
-15
-60
-12
14
-13
5
0
1
-4
1
1
0
0
0
0
0
-8
30
29
15
-86
-10
-4
-1
26
10
-10
0
0
0
0
0
0
4
4
-25
35
-30
0
13
3
35
1
0
0
0
0
0
0
0
0
14
25
34
57
7
26
10
-1
3
-2
0
0
0
0
0
0
3
-15
26
22
53
0
1
-33
0
-18
0
0
0
0
0
0
0
0
-58
3
-10
36
9
-17
-14
-39
-8
0
0
0
0
0
0
0
0
-3
0
0
0
-8
5
18
-4
0
0
0
0
0
0
0
0
0
-3
-6
-51
20
-38
-3
20
0
8
1
0
0
0
0
0
0
0
-12
-29
-15
-41
-30
-32
-16
-23
-22
22
0
0
0
0
0
0
0
40
77
21
62
-103
11
-23
-21
-7
-34
0
0
0
0
0
0
0
19
-7
21
30
-39
20
20
-8
3
27
0
0
0
0
0
0
0
-71
-40
-9
-44
40
18
7
-26
-2
-22
0
0
0
0
0
0
0
19
11
64
14
4
-20
1
-21
-17
-19
0
0
0
0
0
0
0
-33
82
19
-2
2
-1
-6
-22
0
-8
0
0
0
0
0
0
0
36
-22
-8
8
-1
26
-19
-6
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
0
0
0
0
13
-2
10
0
-38
51
0
0
0
0
0
0
0
0
0
6
-2
2
-1
-2
-4
-3
-10
-12
0
0
0
0
0
0
0
0
2
-10
3
-3
14
-28
11
15
0
0
0
0
0
0
0
0
0
4
4
0
-8
2
-6
-6
66
-1
0
0
0
0
0
0
0
0
0
2
3
0
-3
-5
37
-16
-1
0
0
0
0
0
0
0
0
-1
0
0
-9
-18
9
23
4
1
0
0
0
0
0
0
0
0
-2
-3
3
0
-32
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
36
-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
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
16
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
23
0
0
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
2
0
-14
0
0
0
0
0
0
0
0
0
0
-7
0
0
36
0
3
0
19
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
0
0
13
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
-10
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-24
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
3
2
-16
0
0
0
0
0
0
0
0
0
0
0
-3
2
4
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
26
0
4
0
0
0
0
0
0
0
0
0
0
0
10
0
-13
-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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-3
-3
1
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-66
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
-33
6
-16
0
-14
0
0
0
0
0
0
0
0
0
0
-18
0
0
16
0
29
0
0
0
0
0
0
0
0
0
22
1
0
0
37
0
-5
7
4
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
-48
0
0
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
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
33
34
-16
-113
0
0
0
0
0
0
0
0
0
0
0
6
0
-14
28
21
4
0
0
0
0
0
0
0
0
0
-1
2
-2
-1
8
46
8
8
0
0
0
0
0
0
0
0
0
0
0
-18
-3
53
-10
-25
0
0
0
0
0
0
0
0
-2
-3
0
-7
0
-11
0
-33
1
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
41
-12
-5
0
0
0
0
0
0
0
0
0
1
0
-23
0
-3
0
41
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
-2
22
-1
33
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-1
-11
2
62
-2
13
0
0
0
0
0
0
0
0
2
3
0
-24
6
6
-51
4
-18
0
0
0
0
0
0
0
-2
0
2
-59
0
-12
11
6
3
-32
0
0
0
0
0
0
0
-28
51
-2
0
21
-22
16
-6
-47
-2
0
0
0
0
0
0
0
0
9
-27
73
11
2
-17
-5
27
17
0
0
0
0
0
0
0
-30
-12
-21
7
-21
0
-8
-20
-34
2
0
0
0
0
0
0
0
4
-11
6
46
1
0
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-7
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-44
4
0
0
0
0
0
0
0
0
0
0
6
-2
6
24
-37
-35
4
-12
-30
0
0
0
0
0
0
0
0
-2
-9
-3
2
-11
-23
-21
-23
-24
-2
0
0
0
0
0
0
1
-9
4
1
3
-15
-8
14
-14
9
0
0
0
0
0
0
0
0
40
-1
-8
82
4
18
-34
-7
-7
0
0
0
0
0
0
0
27
8
-7
86
0
-28
20
-14
-3
14
0
0
0
0
0
0
0
-6
11
18
-4
6
8
40
32
-3
-2
0
0
0
0
0
0
0
0
-8
0
-3
-7
-11
0
-7
23
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
32
2
0
0
0
0
0
0
0
0
0
0
-11
0
3
-12
-44
-32
-15
0
-6
0
0
0
0
0
0
0
-1
31
-18
-33
12
-5
-20
5
1
-45
4
0
0
0
0
0
0
4
-4
65
-13
4
-2
-7
6
19
-38
0
0
0
0
0
0
0
-16
0
-2
25
-27
-14
21
11
11
-19
0
0
0
0
0
0
0
37
-11
61
35
-60
-9
27
-81
4
-9
0
0
0
0
0
0
0
-2
-14
-1
12
-39
3
-11
-1
-115
63
-1
0
0
0
0
0
0
-51
14
-14
20
35
-1
8
-4
-41
-3
0
0
0
0
0
0
0
15
57
-11
29
8
-4
34
0
-8
11
0
0
0
0
0
0
0
21
0
18
0
14
-30
-16
-27
12
0
0
0
0
0
0
0
0
0
1
-13
50
13
0
-46
6
0
-11
0
0
0
0
0
0
0
0
-48
-29
-2
-133
14
9
-25
14
7
2
0
0
0
0
0
0
0
20
-35
-20
-72
6
-39
-20
4
22
0
0
0
0
0
0
0
0
-67
62
-53
-64
22
11
-13
3
16
0
0
0
0
0
0
0
-2
-23
-7
17
28
40
4
35
-11
-7
4
0
0
0
0
0
0
58
9
-2
100
58
10
16
1
10
-6
0
0
0
0
0
0
0
-32
-23
9
39
52
0
-20
14
3
25
0
0
0
0
0
0
0
0
0
26
-26
-8
37
-3
-9
0
-4
0
0
0
0
0
0
0
0
-9
0
-1
9
10
12
-1
13
0
0
0
0
0
0
0
0
0
0
4
9
40
-3
-40
-20
0
-2
0
0
0
0
0
0
0
0
-38
1
15
44
1
80
-29
-14
1
-12
0
0
0
0
0
0
0
63
-13
-8
59
-8
2
-28
-1
-43
-21
0
0
0
0
0
0
0
33
8
-3
-1
-23
-46
8
5
4
17
0
0
0
0
0
0
0
-6
0
0
-18
-49
39
-12
-7
-2
6
0
0
0
0
0
0
0
-7
-18
0
3
-8
39
26
9
-21
12
0
0
0
0
0
0
0
-2
0
-6
-26
19
-23
14
3
1
-6
0
0
0
0
0
0
0
-2
-4
0
6
-18
8
-48
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-29
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
1
0
0
0
-6
-14
0
0
0
0
0
0
0
0
-4
0
0
-2
0
-3
0
-9
18
0
0
0
0
0
0
0
0
0
1
0
0
3
32
0
-17
9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
-10
4
-11
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
-1
0
0
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
0
18
0
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
19
0
1
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-19
0
-8
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
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-6
-3
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
2
7
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-22
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
23
0
9
0
0
0
0
0
0
0
0
0
0
0
8
0
4
0
19
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
0
6
0
-3
0
0
0
0
0
0
0
0
-2
0
4
18
-3
21
0
-10
0
0
0
0
0
0
0
0
0
-2
-10
0
10
12
0
-4
0
-6
0
0
0
0
0
0
0
0
1
-8
-3
-24
0
-29
0
23
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
-15
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-12
-3
-19
0
0
0
0
0
0
0
0
0
0
0
1
-1
-9
15
-40
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
-7
12
6
-25
0
0
0
0
0
0
0
0
2
0
0
-8
6
4
9
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
51
0
6
0
0
0
0
0
0
0
0
0
0
-1
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
28
6
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
-10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
-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
3
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
-1
0
-3
-1
0
0
0
-6
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
-8
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
-8
9
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
1
1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
12
-3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
19
0
3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
12
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
1
-18
0
0
-1
0
0
0
0
0
0
0
0
0
-2
4
4
1
-1
0
0
0
1
0
0
0
0
0
0
0
0
-16
-3
-1
0
-6
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
-13
1
-7
0
4
-1
0
0
0
0
0
0
0
0
0
1
-4
-3
2
12
0
0
0
-3
0
0
0
0
0
0
0
0
0
-16
0
-2
-1
-1
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
15
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
4
0
0
0
-6
0
0
0
0
0
0
0
0
0
16
-2
-4
6
3
0
0
0
2
0
0
0
0
0
0
0
1
-1
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
27
-10
4
0
0
0
0
0
0
0
0
0
0
0
1
-21
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
-1
-42
-1
-10
2
9
0
0
0
0
0
0
0
0
0
0
0
0
-37
-24
10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
29
7
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
-2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
12
15
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
-10
-6
0
0
0
0
9
0
0
0
0
0
0
0
0
1
-13
7
4
1
0
0
0
-1
0
0
0
0
0
0
0
0
-3
1
0
-12
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
-1
-2
1
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
6
27
-6
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
1
1
-12
0
0
0
0
0
0
0
0
0
0
0
17
1
0
2
11
-2
0
0
2
0
0
0
0
0
0
0
-18
0
0
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
0
0
-16
-3
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
16
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
1
-32
-1
0
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
1
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-39
-2
2
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-4
8
1
0
6
0
0
0
0
0
0
0
0
0
0
2
-16
-11
0
1
0
0
0
-11
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
4
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
7
2
1
0
0
0
0
0
0
0
0
0
0
0
3
-12
14
2
36
0
-15
0
0
0
0
0
0
0
0
0
0
0
13
-1
17
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
13
30
17
3
0
-1
28
0
0
0
0
0
0
0
0
0
0
0
1
-7
-21
7
2
0
6
0
0
0
0
0
0
0
0
0
0
-2
2
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
7
-1
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-17
11
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
1
-36
-20
0
-6
0
-7
-1
0
0
0
0
0
0
0
0
-18
-11
-40
-3
2
0
2
-1
0
0
0
0
0
0
0
0
0
2
6
4
-10
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
12
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
3
-27
3
42
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
-26
-8
-32
4
0
1
2
1
0
0
0
0
0
0
0
15
-8
-22
0
20
-3
2
0
-1
0
0
0
0
0
0
0
0
3
30
-1
-11
-2
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
-39
-1
9
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-6
4
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
2
-15
-4
0
0
-4
0
0
0
0
0
0
0
0
3
-21
-14
4
-11
-1
0
2
-4
2
0
0
0
0
0
0
0
0
26
-13
21
0
3
0
0
-4
0
0
0
0
0
0
0
0
1
-1
0
-28
-3
3
0
0
-1
0
0
0
0
0
0
0
0
0
-11
2
1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
3
-5
16
2
-1
0
0
0
0
0
0
0
0
0
0
15
-4
5
-12
-2
10
37
0
0
2
0
0
0
0
0
0
0
-24
0
-22
-66
-24
-4
2
0
18
0
0
0
0
0
0
0
0
0
19
-15
-25
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
-13
1
1
9
0
-9
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
-29
-8
-9
-2
0
0
0
-10
0
0
0
0
0
0
0
0
-16
-36
41
5
-3
2
0
0
0
0
0
0
0
0
0
0
0
9
-58
-30
52
12
8
-3
0
11
-2
0
0
0
0
0
0
0
-16
13
50
28
-13
2
13
1
6
-3
0
0
0
0
0
0
0
-2
28
48
6
10
0
6
0
0
0
0
0
0
0
0
0
0
0
-10
-30
11
-21
16
0
0
6
0
0
0
0
0
0
0
0
-2
0
0
-2
-1
7
0
0
-6
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-26
3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
8
-7
0
-8
0
0
0
4
0
0
0
0
0
0
0
0
2
-21
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
4
2
1
11
-2
0
0
1
0
0
0
0
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
0
13
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
2
1
2
-2
0
0
0
0
0
0
0
0
0
0
0
-1
21
2
-9
0
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
28
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
1
9
-13
1
0
0
0
0
0
0
0
0
0
0
-2
13
0
-4
7
-10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
5
-1
-37
24
0
15
0
0
0
0
0
0
0
0
-6
0
-13
0
-8
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
-6
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-49
14
5
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
13
-16
-19
-10
-2
0
3
0
0
0
0
0
0
0
0
-4
12
-2
0
1
16
0
25
1
0
0
0
0
0
0
0
0
-4
12
2
2
-8
13
-9
-2
-3
0
0
0
0
0
0
0
0
0
0
3
0
0
2
-4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
25
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
-4
62
27
6
0
0
0
0
0
0
0
0
0
0
0
-8
-4
36
-46
2
-28
1
0
1
0
0
0
0
0
0
0
0
1
40
-4
-1
0
18
3
0
1
4
0
0
0
0
0
0
0
0
-1
-23
2
9
0
-1
-23
8
0
0
0
0
0
0
0
0
0
-2
1
2
3
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
-3
0
7
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
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
-46
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-40
21
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
40
-29
-13
-12
-28
0
0
0
2
0
0
0
0
0
0
0
-1
-24
9
-9
17
0
2
0
4
0
0
0
0
0
0
0
0
1
2
-8
-7
-13
10
8
-1
0
0
0
0
0
0
0
0
0
0
-3
6
-11
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-11
-29
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
26
-86
-26
20
0
0
0
0
0
0
0
0
0
0
0
21
-1
12
-47
20
-24
8
-2
1
-2
0
0
0
0
0
0
0
1
-38
25
-6
-64
6
-1
0
3
0
0
0
0
0
0
0
0
32
-29
20
-26
-22
-1
-6
-7
1
0
0
0
0
0
0
0
0
0
-12
2
15
9
-3
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
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-29
-54
-14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
8
37
-2
-12
0
0
0
0
-1
0
0
0
0
0
0
1
69
16
-11
62
-1
-10
0
3
-35
0
0
0
0
0
0
0
72
41
0
-26
-61
3
13
0
-3
0
0
0
0
0
0
0
0
0
-1
-36
20
-14
-37
8
2
0
-6
0
0
0
0
0
0
0
0
12
36
-18
8
4
-3
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-47
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-55
9
0
0
0
0
0
0
0
0
0
0
0
4
62
-56
-57
-13
4
2
0
0
0
0
0
0
0
0
0
0
-17
4
-52
-58
-56
4
0
-3
6
-16
-2
0
0
0
0
0
0
-67
4
3
-42
-47
-3
-20
26
0
7
1
0
0
0
0
0
0
-1
20
-18
-41
51
4
53
4
-2
-4
0
0
0
0
0
0
0
0
4
-16
46
-3
-36
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-16
-32
-4
-1
-10
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
-29
-27
-1
-18
20
-2
0
0
-16
0
0
0
0
0
0
0
0
74
-27
18
-85
-41
-2
0
0
0
-3
0
0
0
0
0
0
0
28
-23
18
-24
21
-24
-8
-1
15
25
0
0
0
0
0
0
0
28
22
-30
-15
-1
-13
-25
4
1
0
0
0
0
0
0
0
0
-6
22
29
2
-38
2
-18
4
24
0
0
0
0
0
0
0
0
11
-7
13
-22
20
-34
3
0
4
0
0
0
0
0
0
0
0
8
-8
-25
18
17
-6
0
7
0
0
0
0
0
0
0
0
0
0
0
2
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
6
9
-7
1
2
0
0
0
7
0
0
0
0
0
0
0
0
1
28
6
-2
0
0
-1
0
-7
0
0
0
0
0
0
0
0
0
16
7
3
2
-4
0
0
-1
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
-4
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
21
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
15
7
0
-19
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
37
10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
18
-23
-11
0
0
0
0
0
0
0
0
0
0
0
-27
0
15
-22
0
3
0
0
0
0
0
0
0
0
0
0
0
-6
0
11
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
30
14
-11
-3
7
0
0
0
0
0
0
0
0
0
0
6
0
-17
-17
-47
3
0
0
0
-1
0
0
0
0
0
0
0
1
56
4
-31
16
3
0
0
0
12
0
0
0
0
0
0
0
-7
30
-2
0
24
-16
16
-22
8
0
0
0
0
0
0
0
0
0
0
0
-10
-15
-16
3
0
1
0
0
0
0
0
0
0
0
0
0
4
7
-45
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
24
21
-59
0
0
0
0
0
0
0
0
0
0
0
0
-10
-7
-15
18
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
63
41
17
-76
9
-8
0
-4
3
0
0
0
0
0
0
0
9
-18
48
17
-34
-8
1
0
0
0
0
0
0
0
0
0
0
-3
-11
-39
7
0
2
-20
1
-9
0
0
0
0
0
0
0
0
0
1
-2
-55
9
-1
-47
22
-7
-1
0
0
0
0
0
0
0
0
0
-2
-25
3
0
0
22
3
-1
0
0
0
0
0
0
0
0
0
-8
-12
0
0
0
0
1
1
0
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
22
0
-61
0
4
0
0
0
0
0
0
0
0
0
0
-3
8
-19
-2
5
-8
0
0
-3
0
0
0
0
0
0
0
0
-4
29
-34
44
2
-26
4
0
0
2
0
0
0
0
0
0
0
0
-23
66
0
-30
24
6
7
-1
0
0
0
0
0
0
0
0
2
-9
-25
3
-35
0
-18
-2
0
0
0
0
0
0
0
0
0
0
-12
4
-30
-27
11
-6
0
0
0
0
0
0
0
0
0
0
0
-4
17
7
-16
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
-10
-6
1
0
-1
0
0
0
0
0
0
0
0
0
0
-1
16
-19
50
6
30
0
0
0
0
0
0
0
0
0
0
0
2
1
-40
21
-1
-10
-3
1
-2
-3
0
0
0
0
0
0
0
0
68
-8
-50
5
1
-11
0
-2
0
0
0
0
0
0
0
0
-10
-29
6
-32
-19
9
0
-1
16
1
0
0
0
0
0
0
0
0
-2
-6
-44
-27
9
15
0
0
6
0
0
0
0
0
0
0
0
0
-36
-17
-36
0
13
-1
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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-22
-32
-56
-4
0
0
0
0
0
0
0
0
0
0
0
1
-6
-31
-41
91
-36
0
0
0
0
0
0
0
0
0
0
0
-29
1
-42
28
-48
-9
-13
0
21
8
-1
0
0
0
0
0
0
0
-96
1
16
10
6
16
18
7
-1
0
0
0
0
0
0
0
-20
-10
-11
11
-36
17
4
0
-25
-36
0
0
0
0
0
0
0
0
-18
-19
-55
-13
-17
-1
-27
-4
-33
0
0
0
0
0
0
0
1
1
-89
-35
-25
0
7
1
1
0
0
0
0
0
0
0
0
0
0
-1
7
-11
-1
0
8
0
0
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
-27
6
8
41
-7
7
0
0
0
0
0
0
0
0
0
0
0
-57
10
2
0
-5
-3
0
0
0
1
0
0
0
0
0
0
-40
-31
-50
-78
-37
46
-8
2
-24
-8
0
0
0
0
0
0
0
24
-58
-22
34
-31
-41
50
-6
-24
-28
-1
0
0
0
0
0
0
5
17
-34
-17
21
-27
-12
21
0
-67
0
0
0
0
0
0
0
0
0
-38
-29
3
-64
-53
-6
8
-1
0
0
0
0
0
0
0
1
-7
-37
1
-11
-17
13
-1
-1
0
0
0
0
0
0
0
0
0
0
7
9
-1
1
-11
0
0
0
0
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
27
30
42
38
-4
0
0
3
0
0
0
0
0
0
0
0
7
22
-23
-60
-88
-22
0
0
0
2
0
0
0
0
0
0
0
9
51
3
4
-9
0
-4
7
-42
0
0
0
0
0
0
0
0
-30
-42
5
-46
32
32
8
-15
35
0
0
0
0
0
0
0
0
-7
-32
-40
-45
6
0
-19
18
0
-1
0
0
0
0
0
0
0
-32
41
10
-42
-55
4
-19
-33
12
0
0
0
0
0
0
0
0
1
9
-31
-93
15
17
21
10
0
0
0
0
0
0
0
0
0
0
2
24
-6
4
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-12
3
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
10
-57
8
0
0
0
0
-8
0
0
0
0
0
0
0
0
-3
4
-3
2
0
0
0
0
-13
0
0
0
0
0
0
0
0
9
25
6
1
18
0
0
0
-19
0
0
0
0
0
0
0
0
0
6
19
14
-4
-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
-1
0
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
-1
-14
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
7
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
21
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
-12
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
-4
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-24
-29
-3
-1
-4
0
0
0
3
0
0
0
0
0
0
0
0
-68
2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-16
-10
-41
0
0
-9
0
0
0
0
0
0
0
0
0
0
-1
-3
0
2
0
-2
-2
0
0
0
0
0
0
0
0
0
-20
-1
-2
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
54
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
9
-10
-8
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
18
-2
-3
0
1
0
0
0
0
0
0
0
0
0
2
-11
-36
2
-23
0
0
-1
0
0
0
0
0
0
0
0
-9
9
7
-8
6
13
0
0
0
0
0
0
0
0
0
0
0
0
35
40
0
4
0
0
10
0
1
0
0
0
0
0
0
0
0
9
-35
17
1
-7
1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
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
28
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-18
-9
1
0
0
0
0
0
0
0
0
0
0
0
-6
-8
6
5
39
2
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
28
7
-15
0
0
-1
-42
0
0
0
0
0
0
0
-2
-34
-1
-4
59
-7
-1
-7
0
2
0
0
0
0
0
0
0
0
16
9
-25
0
15
7
0
-2
0
0
0
0
0
0
0
0
0
3
-28
9
47
-8
-3
-2
-2
0
0
0
0
0
0
0
0
0
-3
1
0
-3
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
27
-5
0
3
0
0
0
0
0
0
0
0
0
0
0
-48
31
11
25
7
0
0
0
0
0
0
0
0
0
0
0
-2
-54
-30
16
-26
-8
0
0
1
-8
0
0
0
0
0
0
0
0
-15
-36
-18
35
21
-2
-2
1
0
0
0
0
0
0
0
0
-9
4
-3
37
12
22
44
-4
0
-9
0
0
0
0
0
0
0
0
-8
-64
16
-8
0
12
1
0
-7
0
0
0
0
0
0
0
-1
0
-1
41
-19
-3
0
8
0
0
0
0
0
0
0
0
0
0
0
4
0
2
-43
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
27
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-40
11
7
0
0
0
0
0
0
0
0
0
0
0
28
-55
-12
26
2
29
-7
0
-3
3
0
0
0
0
0
0
0
-19
16
-45
-54
7
46
0
-7
-11
2
0
0
0
0
0
0
0
41
-18
5
10
39
7
-10
2
3
0
0
0
0
0
0
0
0
0
6
-7
-38
26
-34
0
0
7
-33
0
0
0
0
0
0
0
-1
-18
-90
-13
11
4
6
0
0
11
0
0
0
0
0
0
0
0
19
4
-14
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
27
-10
3
20
4
-9
1
0
0
0
0
0
0
0
0
0
0
13
41
29
-76
-53
9
0
0
0
0
0
0
0
0
0
0
-5
35
46
-7
22
35
38
0
1
9
0
0
0
0
0
0
0
0
-35
-38
-9
-41
-18
-40
1
11
3
0
0
0
0
0
0
0
-33
-21
-77
19
-2
-12
24
15
3
16
0
0
0
0
0
0
0
-2
-10
6
16
8
6
-43
0
25
14
0
0
0
0
0
0
0
1
-18
-56
-4
-56
-2
6
1
2
-42
0
0
0
0
0
0
0
0
2
-19
13
-15
13
0
0
-9
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
-65
16
8
-33
-12
36
0
0
0
0
0
0
0
0
0
0
-16
-14
49
-8
0
82
-1
0
0
0
0
0
0
0
0
0
0
4
-37
-43
-93
-3
-21
16
0
44
-6
0
0
0
0
0
0
0
-32
5
9
22
-4
25
49
37
13
12
0
0
0
0
0
0
0
-14
40
49
-21
-10
-8
16
-113
-4
-5
0
0
0
0
0
0
0
1
-30
49
14
-54
-16
-42
-7
0
7
0
0
0
0
0
0
0
0
-19
-137
31
-31
-14
-111
41
7
0
0
0
0
0
0
0
0
0
-6
-3
17
7
-73
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
35
41
30
-23
-24
0
0
9
1
0
0
0
0
0
0
0
48
18
-46
26
-21
41
0
11
0
0
0
0
0
0
0
0
0
-12
59
-5
67
27
68
-6
24
-59
-1
0
0
0
0
0
0
0
39
47
0
-34
19
-14
-57
2
11
0
0
0
0
0
0
0
0
-3
80
9
12
13
27
47
-1
-37
0
0
0
0
0
0
0
0
19
-20
45
-3
25
-1
-40
-19
0
0
0
0
0
0
0
0
0
-7
-40
-30
35
-54
19
30
10
3
0
0
0
0
0
0
0
0
0
1
-1
-25
-4
-25
0
0
2
0
0
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
-6
7
0
0
0
0
-21
0
0
0
0
0
0
0
0
2
-4
-23
4
7
0
0
0
4
0
0
0
0
0
0
0
0
8
-27
7
35
3
0
0
0
8
0
0
0
0
0
0
0
0
-21
11
10
28
4
-16
2
0
0
0
0
0
0
0
0
0
0
-2
-6
4
-13
1
-10
1
0
1
0
0
0
0
0
0
0
0
0
0
6
9
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
4
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
20
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
-1
-11
0
-2
1
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
7
0
0
0
0
0
0
0
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
10
0
-34
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-9
-13
3
0
0
0
2
0
0
0
0
0
0
0
0
21
2
4
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
6
1
0
0
0
3
0
0
0
0
0
0
0
0
-18
1
-3
9
0
3
0
0
0
0
0
0
0
0
0
0
0
-8
0
-2
0
-2
0
0
1
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
-1
0
0
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
0
0
0
0
-44
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
25
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-8
2
0
0
-3
0
0
0
0
0
0
0
0
-2
32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
35
2
11
-30
2
1
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
9
2
-37
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
19
-37
1
1
-2
0
0
0
0
0
0
0
0
0
-27
2
-6
0
0
2
-4
1
0
0
0
0
0
0
0
0
0
0
2
-9
0
0
8
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
18
-2
3
-3
0
0
0
0
0
0
0
0
0
0
-2
0
-21
-21
0
2
0
0
0
0
0
0
0
0
0
0
0
0
38
28
-52
6
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
-19
-19
-3
-1
-2
10
0
0
0
0
0
0
0
0
0
0
-7
-11
7
9
-28
16
0
0
0
0
0
0
0
0
0
0
0
0
-85
7
-28
0
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
4
4
-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
12
26
0
-27
0
3
0
0
0
0
0
0
0
0
0
0
0
56
-10
-36
-27
8
4
0
0
0
0
0
0
0
0
0
0
-17
-15
-10
55
-6
6
2
0
0
-1
0
0
0
0
0
0
0
0
52
7
-24
10
21
0
0
0
0
0
0
0
0
0
0
0
34
-2
-7
-54
-1
-87
6
4
-3
6
0
0
0
0
0
0
0
0
73
32
12
-8
-83
-29
3
2
-2
0
0
0
0
0
0
0
6
0
12
-25
-65
-11
0
0
-15
0
0
0
0
0
0
0
0
0
0
-1
16
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-37
-9
18
0
0
0
0
0
0
0
0
0
0
0
-13
22
-20
20
-17
-2
0
0
0
0
0
0
0
0
0
0
7
7
-29
71
6
-34
26
3
0
-40
0
0
0
0
0
0
0
1
14
-33
-3
-7
-23
-22
0
15
3
0
0
0
0
0
0
0
-39
19
-27
-12
27
-7
9
-50
0
33
0
0
0
0
0
0
0
-7
11
5
-26
-50
-62
-15
-1
-2
5
0
0
0
0
0
0
0
0
1
8
-48
21
-17
-28
0
-6
2
0
0
0
0
0
0
0
0
-3
4
-33
0
7
-9
0
0
-7
0
0
0
0
0
0
0
0
12
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-6
0
59
6
-10
-1
0
0
0
0
0
0
0
0
0
0
2
36
30
19
-50
-6
0
0
0
0
0
0
0
0
0
0
45
-7
7
30
-26
62
-39
1
0
-6
0
0
0
0
0
0
0
15
38
13
-29
8
31
25
21
-35
21
0
0
0
0
0
0
0
-55
39
-9
17
-22
-95
-86
18
-15
-3
0
0
0
0
0
0
0
-4
-84
-58
-25
-12
-23
-33
15
-24
11
0
0
0
0
0
0
0
0
-15
-44
19
39
0
14
1
0
35
0
0
0
0
0
0
0
0
-12
32
-42
-25
8
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
24
-6
26
-27
-35
25
0
0
6
0
0
0
0
0
0
0
0
49
-8
-38
-59
0
-24
0
0
0
0
0
0
0
0
0
0
0
70
-17
-2
24
-15
2
-2
2
-4
2
0
0
0
0
0
0
0
-42
7
43
24
6
-17
26
4
-55
-6
0
0
0
0
0
0
0
39
15
26
11
-38
49
22
-43
35
0
0
0
0
0
0
0
0
-49
-57
-8
-25
48
-81
-47
-11
-6
0
0
0
0
0
0
0
0
-28
9
17
28
-20
42
-2
-7
0
0
0
0
0
0
0
0
0
0
32
46
9
-21
-8
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
1
0
-16
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-5
28
2
2
0
0
0
15
0
0
0
0
0
0
0
0
-11
66
2
-16
3
0
0
0
8
0
0
0
0
0
0
0
0
-22
-2
43
19
-20
0
-1
0
0
0
0
0
0
0
0
0
0
-9
-22
12
6
1
-11
-2
0
4
0
0
0
0
0
0
0
0
10
-1
3
6
-3
0
6
-4
0
0
0
0
0
0
0
0
0
1
-7
1
30
8
-2
3
0
0
0
0
0
0
0
0
0
0
-3
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
1
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
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-13
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
35
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
-1
-16
-4
-1
-4
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
11
0
3
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
0
0
0
0
0
0
0
0
0
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
-65
0
1
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
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-9
-10
22
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
7
0
4
0
0
0
0
0
0
0
0
0
0
0
26
0
38
-12
12
2
-3
0
0
0
0
0
0
0
0
0
0
-3
-10
0
-13
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
37
1
13
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-10
20
-4
-4
-3
0
0
0
0
0
0
0
0
0
0
-15
4
-9
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-40
0
4
-8
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
6
0
24
0
0
0
0
0
0
0
0
0
0
0
2
0
-7
-7
-16
-8
-15
0
0
-3
0
0
0
0
0
0
0
0
58
4
-34
-13
32
-4
-1
-4
0
0
0
0
0
0
0
0
32
-1
23
-25
-6
-52
-55
-1
0
4
0
0
0
0
0
0
0
0
-21
0
37
5
5
18
0
0
-3
0
0
0
0
0
0
0
-3
1
2
2
2
13
-43
4
-7
0
0
0
0
0
0
0
0
0
-10
1
9
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
-2
21
4
1
9
0
0
0
0
0
0
0
0
0
0
0
-2
-33
-20
-5
-82
-10
-6
0
-2
0
0
0
0
0
0
0
0
-17
2
-5
34
-51
-27
-1
0
-1
-16
0
0
0
0
0
0
0
0
-16
13
-37
37
14
-11
6
-30
0
0
0
0
0
0
0
0
-36
-5
17
-27
-12
-77
-63
-42
-28
0
0
0
0
0
0
0
0
1
47
53
-41
41
16
20
-47
36
-50
0
0
0
0
0
0
0
-7
19
-49
12
-68
-58
-16
-2
26
0
0
0
0
0
0
0
0
0
-43
5
1
-23
-3
-10
0
0
1
0
0
0
0
0
0
0
0
1
1
2
-14
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
30
-34
20
-4
0
0
0
0
0
0
0
0
0
0
0
0
45
-2
-12
-22
22
-54
0
0
0
0
0
0
0
0
0
0
0
15
1
-33
-5
-27
-32
0
0
-17
0
0
0
0
0
0
0
0
12
17
-32
-71
21
-4
-1
12
-33
-2
0
0
0
0
0
0
0
3
17
-49
-26
17
30
35
-4
-48
0
0
0
0
0
0
0
0
-36
-47
77
12
19
23
-50
26
-26
0
0
0
0
0
0
0
0
-3
-17
25
-28
-14
-25
-11
-18
5
0
0
0
0
0
0
0
0
0
15
41
-31
-13
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
-1
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
6
-10
2
0
0
0
-24
0
0
0
0
0
0
0
0
-2
21
11
16
0
8
0
0
-2
0
0
0
0
0
0
0
0
36
-1
-47
-13
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
55
0
-20
1
2
1
2
-13
0
0
0
0
0
0
0
0
1
6
40
0
6
-25
3
0
-1
0
0
0
0
0
0
0
0
0
-4
-1
6
-6
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
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
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
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
-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
-11
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
-1
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-2
2
0
7
-10
0
0
0
0
0
0
0
0
0
0
-2
2
15
-7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-1
0
11
-4
0
-6
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
-10
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
-5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-6
92
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-1
-27
-13
-73
-1
0
0
0
0
0
0
0
0
0
0
0
6
9
21
-40
32
12
-1
0
-3
0
0
0
0
0
0
0
0
-4
-3
54
12
-26
-33
44
-2
10
0
0
0
0
0
0
0
0
0
34
-7
-43
-4
-83
-10
-2
-5
0
0
0
0
0
0
0
0
-8
0
38
-11
-33
11
-6
0
-5
0
0
0
0
0
0
0
0
0
4
-3
17
-4
50
-21
2
0
0
0
0
0
0
0
0
0
-2
0
6
-13
-42
0
-2
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
-1
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
-1
0
0
0
-15
0
0
0
0
0
0
0
0
0
12
-4
-6
-6
-4
0
0
-1
0
0
0
0
0
0
0
0
-6
0
8
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-60
1
-12
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
2
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-11
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
44
2
14
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
13
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
-1
0
-20
33
0
0
0
0
0
0
0
0
0
0
0
0
10
1
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
9
0
6
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
-7
0
-20
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
4
11
0
-6
0
0
0
0
0
0
0
0
0
-2
-1
0
-1
-7
-3
9
1
3
0
0
0
0
0
0
0
0
3
7
7
2
9
8
4
10
1
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
-6
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
18
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-43
4
11
0
0
0
0
0
0
0
0
0
0
0
1
9
7
-7
9
-17
0
0
0
0
0
0
0
0
0
0
0
8
-1
54
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-18
1
2
0
0
0
0
0
0
0
0
0
0
0
-4
2
7
2
-3
25
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
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
7
-4
54
-36
6
0
0
0
0
0
0
0
0
-1
0
2
-1
-19
-21
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
-7
18
15
-2
4
0
0
0
0
0
0
0
0
0
0
0
1
7
-1
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
43
7
9
0
0
0
0
0
0
0
0
0
0
0
0
-13
-4
-30
4
-3
-8
0
0
0
0
0
0
0
0
0
0
3
-12
-9
-2
58
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-20
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
4
9
0
-101
-4
26
0
0
0
0
0
0
0
0
0
0
1
0
0
-7
-9
4
-2
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
-11
41
13
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
16
4
-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
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
17
0
38
-6
0
0
0
0
0
0
0
0
0
2
0
0
-10
1
-9
0
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-16
26
-14
-9
0
0
0
0
0
0
0
0
-1
0
0
-1
49
3
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
28
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-1
10
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
24
-33
0
0
-9
0
0
0
0
0
0
0
0
1
1
-8
-2
-17
17
6
27
3
0
0
0
0
0
0
0
0
-6
0
11
1
0
0
-4
-16
3
0
0
0
0
0
0
0
0
0
0
0
6
13
19
-2
-36
0
0
0
0
0
0
0
0
0
0
2
0
-2
-6
-10
-1
-3
0
0
0
0
0
0
0
0
0
-1
0
0
1
2
12
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-4
0
-22
-1
0
0
0
0
0
0
0
0
0
0
0
1
6
1
33
1
4
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
30
7
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
5
14
-34
11
0
0
0
0
0
0
0
0
0
0
0
-1
19
19
-35
19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-1
2
13
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
36
2
1
22
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-6
39
-19
0
0
0
0
0
0
0
0
0
0
0
-1
6
13
1
-12
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
12
1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
2
0
-6
-3
2
-7
-30
0
-10
0
0
0
0
0
0
0
-2
0
0
-27
2
49
62
-50
41
-1
0
0
0
0
0
0
0
0
1
0
0
9
12
2
22
-36
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
-40
17
4
0
0
0
0
0
0
0
0
0
0
-10
0
-3
2
-17
-2
-24
6
0
0
0
0
0
0
0
0
0
0
2
0
-25
0
46
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
-7
-47
15
10
0
3
0
0
0
0
0
0
0
0
-42
3
-2
28
-28
-25
6
-43
-7
0
0
0
0
0
0
0
-3
0
-2
0
0
10
-1
-23
-5
-2
0
0
0
0
0
0
0
0
0
-1
0
8
-5
-52
35
9
0
0
0
0
0
0
0
0
0
0
-3
-1
2
1
-1
-40
26
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
6
-18
-18
0
0
3
0
0
0
0
0
0
0
-1
0
0
0
1
-23
28
3
48
3
0
0
0
0
0
0
0
-1
-1
-16
2
-6
0
-7
43
-3
0
1
0
0
0
0
0
0
-3
0
1
0
-7
-51
12
18
-15
0
1
0
0
0
0
0
0
0
0
0
1
1
7
34
15
-13
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
64
-11
-6
0
24
0
0
0
0
0
0
0
0
-1
0
7
0
25
-64
55
-32
42
-1
0
0
0
0
0
0
0
6
0
6
-8
-30
1
10
53
1
0
0
0
0
0
0
0
-1
0
0
-3
-4
-8
5
-36
-29
-3
0
0
0
0
0
0
0
3
-6
0
-1
-3
-22
14
-17
9
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-21
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-9
30
18
-10
0
1
0
0
0
0
0
0
0
-1
0
0
-6
-2
-2
-8
31
-79
12
0
0
0
0
0
0
0
1
0
0
0
-27
-29
35
-37
-22
-18
0
0
0
0
0
0
0
0
0
0
2
-22
46
-7
-34
13
4
0
0
0
0
0
0
0
1
0
6
2
-1
1
10
6
40
0
0
0
0
0
0
0
0
0
0
0
-3
1
6
-2
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
-10
69
4
-33
0
11
0
-2
0
0
0
0
0
2
13
8
6
5
-2
-6
28
78
1
-6
0
0
0
0
0
0
1
1
0
4
-10
2
30
-51
-3
-4
0
0
0
0
0
0
0
0
2
4
10
37
25
-48
-56
-36
4
0
0
0
0
0
0
0
0
0
-4
-10
-7
0
35
10
-60
-2
0
0
0
0
0
0
0
2
0
-4
-2
1
3
-6
-22
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-1
48
9
17
9
0
-32
-3
0
0
0
0
0
0
0
-26
-1
-7
-18
-22
-20
-52
31
10
0
1
0
0
0
0
0
0
10
-1
-10
-9
3
-22
43
92
-7
-3
0
0
0
0
0
0
0
0
-10
-4
-6
18
-47
4
-30
-9
0
0
0
0
0
0
0
0
-9
0
-1
8
-1
21
16
18
2
-1
0
0
0
0
0
0
0
6
1
0
2
13
0
10
35
9
0
0
0
0
0
0
0
0
0
1
0
-9
-1
-2
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
1
2
26
0
16
-2
0
0
0
0
0
0
0
0
-4
-3
0
-4
-17
3
-37
44
-20
0
0
0
0
0
0
0
0
-12
0
-2
-2
-13
24
23
-14
-4
0
0
0
0
0
0
0
0
0
-1
-20
-11
-36
37
-13
-2
-4
0
0
0
0
0
0
0
0
0
0
4
-2
0
4
2
8
-3
0
0
0
0
0
0
0
0
0
0
0
3
-3
8
0
-7
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
1
0
0
0
0
0
0
0
0
0
0
-1
0
2
-19
-9
-2
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
4
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-10
2
-20
0
-3
0
0
0
0
0
0
0
10
3
0
4
-44
-29
-8
-53
2
-2
0
0
0
0
0
0
0
0
1
0
2
-17
-3
88
12
8
4
0
0
0
0
0
0
0
0
0
0
6
-1
0
-32
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
3
0
1
0
0
0
0
0
0
0
0
0
0
8
-1
0
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-23
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
3
-19
-3
42
-11
9
0
0
0
0
0
0
0
0
0
0
0
-1
39
24
27
34
-4
0
0
0
0
0
0
0
0
0
0
0
-2
4
28
-15
-9
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
9
1
11
0
0
0
0
0
0
0
0
0
0
0
-1
-7
12
-12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
4
-21
29
14
0
-7
0
0
0
0
0
0
0
0
8
-1
6
-30
-35
12
125
-12
4
0
0
0
0
0
0
0
0
1
0
0
10
50
-11
20
-43
-6
0
0
0
0
0
0
0
0
-1
0
0
-2
50
2
-46
0
0
0
0
0
0
0
0
0
0
2
0
0
0
6
13
-20
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
-10
-6
93
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
1
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-22
-14
20
0
13
0
0
0
0
0
0
0
0
-3
-1
-47
-47
-9
37
19
25
1
0
0
0
0
0
0
0
0
-11
0
-2
1
20
-35
-13
-28
2
0
0
0
0
0
0
0
0
0
-2
-1
-1
12
-9
-7
8
0
0
0
0
0
0
0
0
1
0
-1
1
1
0
68
-9
-6
-15
0
0
0
0
0
0
0
0
0
8
0
0
-39
7
31
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-7
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
29
35
-47
-8
0
0
0
0
0
0
0
0
0
2
1
-1
-1
45
-56
3
18
34
8
1
0
0
0
0
0
0
0
-27
-11
-24
-2
-7
-9
-1
-40
-3
2
0
0
0
0
0
0
0
1
-8
-1
-8
0
31
9
-5
0
0
0
0
0
0
0
0
0
-1
-2
-3
0
-8
21
-14
16
-7
0
0
0
0
0
0
0
0
0
1
3
-1
29
-9
27
1
-1
0
0
0
0
0
0
0
0
0
3
17
-4
-9
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-16
-34
-3
-4
0
15
1
0
0
0
0
0
0
0
-20
-9
-8
-14
-10
2
33
-60
1
-2
0
0
0
0
0
0
1
-3
-1
7
2
-19
20
-29
125
12
0
0
0
0
0
0
0
1
19
1
-3
-18
-33
-108
-12
-1
3
0
0
0
0
0
0
0
-1
0
0
-7
53
8
-10
-1
18
0
2
0
0
0
0
0
0
0
0
0
2
1
1
-8
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
24
-33
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-4
11
-1
32
0
6
1
0
0
0
0
0
0
-3
-4
-8
22
-10
-16
-7
-1
-32
-1
0
0
0
0
0
0
0
-2
-2
-4
-37
-6
56
-29
60
-16
-50
1
0
0
0
0
0
0
0
2
0
6
57
-14
-65
3
-16
-15
0
0
0
0
0
0
0
2
-7
0
17
-16
-5
-3
41
12
0
0
0
0
0
0
0
0
0
0
0
-1
10
3
14
93
-16
6
0
0
0
0
0
0
0
0
0
-6
-1
1
0
24
6
-20
4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-10
-6
36
-37
84
-40
41
0
26
-4
0
0
0
0
0
0
6
41
0
-11
-45
20
-46
-26
-8
-16
-8
1
0
0
0
0
0
3
20
-19
-46
44
1
-47
-35
80
-2
0
0
0
0
0
0
0
20
9
-20
-6
-59
-5
-8
79
-49
15
0
0
0
0
0
0
0
7
-3
3
-9
-16
-64
84
-13
79
0
0
0
0
0
0
0
0
0
12
-6
0
-34
47
9
12
11
-1
0
0
0
0
0
0
0
0
0
10
0
-8
0
-35
11
-27
-1
0
0
0
0
0
0
0
0
0
0
1
0
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
0
0
0
0
0
-8
19
-4
54
2
-26
-17
0
-26
-37
0
0
0
0
0
0
0
-12
45
20
23
-16
-17
-18
35
-1
35
0
0
0
0
0
0
0
47
-6
-10
-51
-55
46
39
-7
57
-1
0
0
0
0
0
0
0
-1
12
-4
56
-30
110
38
-54
-2
2
0
0
0
0
0
0
0
-11
-4
8
20
-9
31
-19
-36
-24
0
0
0
0
0
0
0
0
-3
-2
0
47
-4
-25
144
36
-26
-3
0
0
0
0
0
0
0
0
0
-8
6
-13
98
27
26
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
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
-3
2
0
-19
-6
19
0
24
7
0
0
0
0
0
0
0
0
-8
0
0
-16
-6
-16
1
-12
30
0
0
0
0
0
0
0
0
-1
-2
-4
3
25
29
0
9
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
9
-11
35
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
-2
0
0
-9
-3
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-4
2
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-33
0
-35
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
13
-83
37
0
0
0
0
0
0
0
0
0
0
0
2
-4
-29
0
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
0
-2
0
-1
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-4
0
0
0
0
0
0
0
0
0
0
8
-2
0
26
-1
-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
14
-6
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
20
-35
20
4
35
-21
0
0
0
0
0
0
0
0
0
-1
-3
2
-56
1
-21
28
-27
0
0
0
0
0
0
0
0
0
-3
0
24
61
35
-26
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
5
38
0
-9
0
0
0
0
0
0
0
0
0
0
1
0
-1
-12
4
-4
0
-7
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
-13
-1
-20
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-7
-14
15
19
30
-4
36
0
0
0
0
0
0
0
2
-9
1
0
24
5
-28
26
-14
16
0
0
0
0
0
0
0
9
0
0
0
6
-23
-5
16
-4
-1
0
0
0
0
0
0
0
0
-3
0
0
9
-3
-16
4
-12
0
0
0
0
0
0
0
0
0
-7
0
1
0
-45
74
-75
-9
0
0
0
0
0
0
0
0
0
0
0
-2
-46
2
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
17
27
12
0
-8
0
0
0
0
0
0
0
0
49
2
22
27
35
-45
27
-39
6
0
0
0
0
0
0
0
0
-3
1
-3
12
-19
-33
-3
-34
0
0
0
0
0
0
0
0
0
6
6
0
4
1
-41
-51
-6
26
0
0
0
0
0
0
0
0
0
-4
8
0
1
5
-25
-6
0
0
0
0
0
0
0
0
0
10
-57
0
2
0
1
-18
0
-3
0
0
0
0
0
0
0
0
-1
-10
0
-14
-49
16
53
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
-2
-1
1
2
33
1
17
-28
0
19
0
0
0
0
0
0
0
0
-28
0
-4
-34
5
-3
95
29
24
-2
0
0
0
0
0
0
0
4
0
0
-8
60
-14
18
5
0
0
0
0
0
0
0
0
25
0
-6
3
0
-9
-8
2
-43
-22
0
0
0
0
0
0
0
0
-4
0
-1
-51
0
-27
-3
-55
-9
0
0
0
0
0
0
0
0
-17
-14
19
0
-68
0
14
-45
1
0
0
0
0
0
0
0
0
9
0
-6
-36
3
-16
1
18
2
0
0
0
0
0
0
0
0
0
0
0
0
24
8
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-18
32
1
-24
13
0
-34
0
0
0
0
0
0
0
-1
16
-1
-10
-9
-2
-17
-70
20
6
0
0
0
0
0
0
0
2
-8
0
1
14
-26
-10
-1
20
13
-3
0
0
0
0
0
0
3
-2
1
-17
9
0
63
8
30
9
0
0
0
0
0
0
0
0
0
-2
-2
-36
-46
0
-4
41
3
0
0
0
0
0
0
0
0
0
2
-9
7
-2
23
-4
15
0
0
0
0
0
0
0
0
0
4
2
-4
3
-35
37
-21
0
-1
0
0
0
0
0
0
0
0
-1
-4
0
1
-2
3
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
4
99
-12
-14
11
0
-16
-1
0
0
0
0
0
0
-1
-33
-12
4
92
20
-42
15
-65
6
-2
0
0
0
0
0
0
0
-17
9
7
42
52
65
-109
30
-1
0
0
0
0
0
0
0
-24
-9
-15
34
2
-65
-15
-60
1
-47
0
0
0
0
0
0
0
0
1
-21
11
102
-33
-46
0
-6
3
0
0
0
0
0
0
0
0
5
-8
-18
34
-97
-11
-71
0
-4
0
0
0
0
0
0
0
0
-6
22
32
41
15
-15
-76
-15
0
0
0
0
0
0
0
0
0
-1
-1
-3
24
119
-12
6
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
2
9
-3
93
-6
75
16
0
-71
8
0
0
0
0
0
0
42
-13
-25
38
49
33
-13
-11
-14
-2
-22
0
0
0
0
0
0
-8
-7
-2
-38
32
-32
-8
-28
-11
8
0
0
0
0
0
0
0
-3
61
-21
-3
1
11
-16
-24
-73
1
6
0
0
0
0
0
0
-10
-9
10
40
24
-37
-6
42
0
-9
0
0
0
0
0
0
0
22
18
-21
-25
-19
34
28
-2
-49
0
-1
0
0
0
0
0
0
-2
-2
9
-13
-51
-26
-25
0
99
1
0
0
0
0
0
0
0
0
-3
1
42
-1
-12
1
17
-3
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
-20
-9
-3
12
18
-23
-91
0
17
2
-1
0
0
0
0
0
0
77
15
10
84
-5
76
-21
34
-45
-2
0
0
0
0
0
0
0
-43
-9
-4
-53
25
6
-28
-7
1
2
0
0
0
0
0
0
0
-38
1
9
-32
40
45
-49
19
-66
0
0
0
0
0
0
0
0
35
-2
-4
-45
18
-64
55
99
0
0
0
0
0
0
0
0
0
64
-34
14
20
-10
33
65
1
44
0
0
0
0
0
0
0
0
-3
-8
12
-20
-13
-67
28
62
7
0
0
0
0
0
0
0
0
0
0
0
-1
-26
83
0
-18
0
0
0
0
0
0
0
0
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
14
3
-2
0
0
0
0
0
0
0
-3
0
0
22
-23
8
31
26
-31
0
0
0
0
0
0
0
0
8
3
0
9
6
-13
1
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-16
4
-19
0
8
0
0
0
0
0
0
0
0
0
0
0
-9
16
-8
-4
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
3
4
26
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-2
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
33
-14
13
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-48
17
27
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
0
13
35
0
0
0
0
0
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
-40
-20
-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
-2
-9
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
9
-5
27
-1
0
0
0
0
0
0
0
0
4
0
0
2
0
-32
31
-22
0
0
0
0
0
0
0
0
-1
0
0
1
-1
27
3
-1
24
3
0
0
0
0
0
0
0
0
0
0
0
0
-21
-39
14
4
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
-18
-1
-7
-11
-23
1
0
0
0
0
0
0
0
0
0
0
6
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
2
4
-25
2
0
-1
0
0
0
0
0
0
0
8
1
0
9
2
-29
-28
3
15
-6
0
0
0
0
0
0
0
0
-2
0
0
-16
-74
61
13
-30
0
0
0
0
0
0
0
0
2
1
-1
-1
-14
-36
-9
-59
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-4
-1
36
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-11
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
9
-26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
10
-10
-74
-35
0
0
1
0
0
0
0
0
0
0
0
0
-7
-68
-48
2
-39
-22
71
-12
0
0
0
0
0
0
0
36
3
3
13
-61
30
15
59
-4
1
0
0
0
0
0
0
1
2
13
7
17
-18
1
1
-43
-2
0
0
0
0
0
0
0
1
1
8
0
-9
-11
5
45
-39
-4
0
0
0
0
0
0
0
0
2
1
0
0
-24
40
-35
0
0
0
0
0
0
0
0
0
0
0
-1
0
-21
0
45
-11
-16
1
0
0
0
0
0
0
0
0
0
0
-9
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
1
14
-27
12
-41
0
-27
0
0
0
0
0
0
0
0
0
4
1
-23
-25
-72
-81
45
-21
0
0
0
0
0
0
0
0
12
0
0
-9
11
28
25
-14
40
0
0
0
0
0
0
0
-2
0
-2
-2
5
-35
40
-7
9
-14
0
0
0
0
0
0
0
0
-10
-15
15
-1
13
0
12
-12
0
0
0
0
0
0
0
0
0
1
-47
2
2
0
-1
10
-2
-4
0
0
0
0
0
0
0
0
0
3
-1
0
24
0
-47
-5
0
0
0
0
0
0
0
0
0
0
7
0
0
3
3
2
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-3
-3
-18
0
-78
2
0
0
0
0
0
0
0
29
0
0
41
-60
7
-63
-52
-2
0
0
0
0
0
0
0
6
1
-2
0
55
-5
5
-78
14
-1
0
0
0
0
0
0
0
0
13
-19
54
-1
-77
65
-18
56
-19
0
0
0
0
0
0
0
-1
-15
-18
2
-41
-2
42
0
28
0
0
0
0
0
0
0
0
-2
4
-18
1
-16
-58
0
-40
1
18
0
0
0
0
0
0
0
-1
10
1
12
-70
10
49
0
-95
-6
0
0
0
0
0
0
0
0
-6
0
-31
-7
-25
10
-25
-2
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
-9
49
-81
19
0
-79
1
0
0
0
0
0
0
8
-6
0
-1
-2
28
36
-26
18
-40
-1
0
0
0
0
0
0
4
44
-1
6
18
-21
18
-14
-59
-7
0
0
0
0
0
0
0
-21
-27
-1
-27
-4
-39
-57
16
-42
24
0
0
0
0
0
0
0
1
-10
-11
-13
-12
-53
-19
-28
2
-10
0
0
0
0
0
0
0
0
57
0
0
-18
-81
-36
0
-27
22
0
0
0
0
0
0
0
0
-3
7
-4
52
12
1
-53
0
0
0
0
0
0
0
0
0
0
-1
0
5
-3
6
18
-53
-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
12
0
-27
-4
-10
-49
2
-5
0
-33
0
0
0
0
0
0
0
2
29
12
19
64
31
-48
56
7
21
7
0
0
0
0
0
0
1
-4
-35
-63
15
4
34
-21
-15
3
10
0
0
0
0
0
0
6
-38
-39
23
-9
-14
41
-33
-20
-37
0
0
0
0
0
0
0
45
-17
-8
-35
-48
39
-41
-12
22
0
0
0
0
0
0
0
0
1
11
-20
-29
-71
-33
11
29
0
18
0
0
0
0
0
0
0
-11
4
-60
7
13
30
94
2
13
0
0
0
0
0
0
0
0
-6
8
6
-20
4
-19
-22
5
15
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
17
0
0
0
0
0
0
0
0
0
0
12
17
10
24
93
-9
-27
0
-20
3
0
0
0
0
0
0
0
-5
-8
-1
51
53
38
-10
-7
35
-36
0
0
0
0
0
0
0
-77
24
17
-13
-60
71
-10
21
-97
1
0
0
0
0
0
0
0
-9
32
26
-31
-71
-15
53
-7
14
-2
0
0
0
0
0
0
0
40
15
16
2
-23
-4
-33
-22
-6
0
0
0
0
0
0
0
0
-24
-30
50
-37
14
69
-10
17
0
1
0
0
0
0
0
0
0
-12
-7
-29
-10
4
-142
-13
4
-10
0
0
0
0
0
0
0
0
0
-9
-17
2
-38
-106
8
-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
1
-6
13
1
0
5
3
0
0
0
0
0
0
0
0
13
4
11
36
19
0
-3
36
0
0
0
0
0
0
0
0
0
0
-1
0
-15
-6
-15
3
72
-5
0
0
0
0
0
0
0
0
-1
0
0
-8
-1
7
-19
33
-4
0
0
0
0
0
0
0
0
-8
0
0
0
2
-43
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
14
1
38
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
-6
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
27
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
20
19
0
0
0
0
0
0
0
0
0
0
0
0
3
1
25
-13
-6
0
0
0
0
0
0
0
0
0
0
0
-2
-4
2
2
27
19
-21
0
0
0
0
0
0
0
0
10
1
-2
0
-20
-35
-8
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
79
0
4
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
-8
0
0
0
0
0
0
0
0
0
0
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
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
20
0
32
1
6
0
0
0
0
0
0
0
0
0
0
0
4
-8
39
-18
-21
0
0
0
0
0
0
0
0
0
0
-11
-2
4
-20
-8
27
16
-27
0
0
0
0
0
0
0
0
0
0
0
-35
4
-64
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-36
0
0
0
0
0
0
0
0
0
4
0
-12
0
-27
-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
-9
2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
3
-53
1
-1
0
0
0
0
0
0
0
0
-1
0
0
3
-32
-57
1
29
1
0
0
0
0
0
0
0
2
0
0
-1
0
63
1
57
-3
-1
0
0
0
0
0
0
0
0
-2
0
-20
-2
16
29
-3
-8
-1
0
0
0
0
0
0
0
0
-22
6
0
-1
0
-13
39
-44
-7
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
0
0
0
0
0
0
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
-7
16
0
0
0
0
0
0
0
0
0
0
-18
0
0
17
24
-14
-77
-8
21
0
0
0
0
0
0
0
0
2
0
1
2
-1
0
1
-29
0
0
0
0
0
0
0
0
-8
0
1
-2
1
-10
27
10
1
-36
0
0
0
0
0
0
0
0
-6
0
4
-21
-17
-3
19
8
0
0
0
0
0
0
0
0
0
1
-1
0
0
-23
0
-24
3
-3
0
0
0
0
0
0
0
0
0
4
0
4
0
49
4
1
0
0
0
0
0
0
0
0
0
-3
0
4
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
9
2
-45
65
0
-20
0
0
0
0
0
0
0
0
16
0
-11
50
0
44
47
-42
13
0
0
0
0
0
0
0
-1
2
0
-2
-33
-12
-65
-2
-8
-10
0
0
0
0
0
0
0
0
0
3
49
-29
27
-54
7
-3
1
0
0
0
0
0
0
0
0
8
0
56
-53
-20
32
-4
7
0
0
0
0
0
0
0
0
-1
3
9
-50
16
1
-5
0
7
1
0
0
0
0
0
0
0
0
-18
-1
0
-7
-3
0
-4
10
0
0
0
0
0
0
0
0
0
6
3
-23
13
0
10
0
3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
-1
24
-6
15
-49
0
5
0
0
0
0
0
0
0
-1
12
10
1
-34
44
-6
-4
34
2
1
0
0
0
0
0
0
-3
-4
0
-7
-22
-52
-21
-36
29
6
0
0
0
0
0
0
0
19
-3
1
7
26
70
34
3
69
-2
0
0
0
0
0
0
0
-6
0
-49
30
-15
33
1
-20
-43
0
0
0
0
0
0
0
0
0
6
20
4
-8
8
1
-37
0
10
0
0
0
0
0
0
0
0
1
-19
13
-19
0
11
0
-26
0
0
0
0
0
0
0
0
0
4
-1
-5
-8
-93
9
38
0
6
0
0
0
0
0
0
0
0
0
0
0
3
0
-16
12
0
0
0
0
0
0
0
0
0
2
0
-17
17
-1
-31
28
-17
0
6
0
0
0
0
0
0
0
-32
22
-40
-8
43
44
-8
14
-59
-27
-3
0
0
0
0
0
0
0
-15
7
-30
-1
-47
9
23
35
-32
3
0
0
0
0
0
0
0
-42
-15
6
18
42
36
-36
20
52
-3
0
0
0
0
0
0
19
-17
-60
73
-7
-49
81
-26
6
-22
0
0
0
0
0
0
0
-22
-15
-62
4
-22
18
52
0
7
0
0
0
0
0
0
0
0
2
3
-9
0
-3
-11
-28
-50
0
0
0
0
0
0
0
0
0
0
8
-2
11
-2
2
-25
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-4
2
-1
0
0
0
0
0
0
0
0
0
-8
12
-12
29
-13
29
18
0
-19
-2
0
0
0
0
0
0
0
23
41
-24
36
42
-12
35
46
12
-13
0
0
0
0
0
0
0
7
10
1
-15
28
66
9
-7
13
-22
0
0
0
0
0
0
0
-85
-17
-5
6
17
15
19
-21
3
2
0
0
0
0
0
0
0
50
-67
-6
25
29
-26
-20
-48
-15
0
0
0
0
0
0
0
0
70
55
-6
82
-39
-13
13
0
-49
0
0
0
0
0
0
0
0
-3
1
-17
45
56
-12
74
106
0
0
0
0
0
0
0
0
0
0
24
-1
0
-20
44
73
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
29
-2
4
0
17
-16
0
0
0
0
0
0
0
0
-1
1
1
1
11
-1
-7
2
-6
0
0
0
0
0
0
0
0
-8
0
0
-4
3
-6
43
3
29
0
0
0
0
0
0
0
0
-1
0
9
-2
6
28
-25
4
-11
0
0
0
0
0
0
0
0
1
-2
7
8
25
12
0
20
1
0
0
0
0
0
0
0
0
3
1
0
7
-10
-3
-13
0
9
0
0
0
0
0
0
0
0
0
0
3
-3
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
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
-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
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
-9
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-32
0
-13
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
49
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
-52
0
0
0
0
0
0
0
0
0
0
3
0
0
6
2
-1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
3
-10
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
9
25
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-30
-3
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
-2
-18
-2
95
1
-3
0
0
0
0
0
0
0
0
-10
0
0
3
-1
-8
-21
33
22
0
0
0
0
0
0
0
-4
0
0
-10
0
-6
3
-95
8
-2
0
0
0
0
0
0
0
0
0
4
0
9
12
-9
-37
23
0
0
0
0
0
0
0
0
8
2
11
-3
-11
16
-3
8
8
0
0
0
0
0
0
0
0
0
8
1
0
21
0
-8
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
-32
6
0
0
0
0
0
0
0
0
0
0
6
0
0
27
-66
7
-72
5
-14
0
0
0
0
0
0
0
2
4
0
0
-35
18
-60
30
-13
-2
0
0
0
0
0
0
0
-9
0
0
-13
3
-59
11
-15
-7
-59
0
0
0
0
0
0
0
0
-13
4
-6
4
44
-23
33
-35
0
0
0
0
0
0
0
0
0
11
-4
1
-11
38
-40
11
-2
1
0
0
0
0
0
0
0
0
0
16
22
33
-14
0
9
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
-24
15
0
16
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
-6
0
0
0
-28
-31
-8
0
36
0
0
0
0
0
0
0
0
-11
-2
28
-7
28
1
-6
20
-56
2
0
0
0
0
0
0
6
27
-4
7
23
-22
-24
-35
13
-15
0
0
0
0
0
0
0
21
39
-6
-25
-21
12
68
-35
55
-59
-1
0
0
0
0
0
0
4
41
35
34
-3
11
-7
15
-54
-8
0
0
0
0
0
0
0
27
-3
6
-18
-17
-78
-26
-40
22
1
0
0
0
0
0
0
0
7
-11
27
-28
18
11
-35
0
-178
0
0
0
0
0
0
0
0
21
-7
-7
-17
-7
-5
-21
-14
0
-9
0
0
0
0
0
0
0
0
0
0
0
-10
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-1
-21
-13
-4
0
-3
0
0
0
0
0
0
0
0
-2
-19
0
9
-88
-15
13
98
-54
1
0
0
0
0
0
0
0
-71
-13
0
-10
65
8
-45
-33
3
0
0
0
0
0
0
0
0
-82
-35
6
81
58
14
-23
-37
-31
0
0
0
0
0
0
0
0
58
-17
-40
-49
-71
33
-21
10
1
1
0
0
0
0
0
0
0
-1
-24
-19
37
6
-26
1
50
40
0
0
0
0
0
0
0
0
-9
-58
-48
23
-71
-35
14
-16
-8
0
0
0
0
0
0
0
0
0
-11
10
16
24
-54
-1
-22
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
1
0
0
0
0
6
0
12
0
0
0
0
0
0
0
0
0
0
0
0
2
7
-4
-31
2
-26
0
0
0
0
0
0
0
0
-6
4
0
4
20
6
5
-15
-1
0
0
0
0
0
0
0
0
0
2
0
4
-6
7
-25
-13
-21
0
0
0
0
0
0
0
0
0
0
-1
21
-6
-7
-2
3
-1
0
0
0
0
0
0
0
0
-3
0
0
-2
11
20
0
-2
0
0
0
0
0
0
0
0
0
0
-3
0
-10
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
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
1
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
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
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
8
3
41
3
0
0
0
0
0
0
0
0
16
-6
8
4
18
-27
-25
0
-2
0
0
0
0
0
0
0
0
3
-2
-2
-7
0
12
0
-1
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
-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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-15
-15
-2
6
0
0
0
0
0
0
0
0
2
0
0
-3
27
0
29
-9
-7
-1
0
0
0
0
0
0
0
12
0
0
35
0
41
38
29
-40
0
0
0
0
0
0
0
0
0
15
22
6
-43
18
15
4
-14
0
0
0
0
0
0
0
0
74
-16
-1
36
28
12
12
17
0
0
0
0
0
0
0
0
0
14
0
0
8
-35
0
-12
1
0
0
0
0
0
0
0
0
0
0
-8
-4
12
9
-32
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
23
-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
1
0
29
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
4
-25
8
-16
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
16
1
-65
6
0
0
0
0
0
0
0
0
2
0
-4
3
-1
12
-1
4
-2
0
0
0
0
0
0
0
0
0
0
-6
-1
0
2
-6
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-9
0
-8
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
22
15
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
-33
-1
21
-7
0
0
0
8
0
0
0
0
0
0
0
0
10
1
-33
3
0
7
0
0
-8
0
0
0
0
0
0
0
0
0
48
-7
-12
-1
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
2
-16
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-11
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
11
18
4
0
0
0
0
0
0
0
0
0
0
0
0
0
60
1
19
16
24
-3
0
-1
0
0
0
0
0
0
0
0
-4
-6
31
-11
-47
17
15
0
0
-55
0
0
0
0
0
0
0
0
-6
30
49
10
51
-1
9
4
-10
0
0
0
0
0
0
0
0
-6
-25
0
-18
-22
30
13
-27
-25
0
0
0
0
0
0
0
0
19
2
-54
51
-35
-12
1
-1
6
0
0
0
0
0
0
0
0
0
2
-13
9
-16
-26
-1
-9
0
0
0
0
0
0
0
0
0
0
2
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
14
0
6
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
39
0
-44
-3
3
0
0
0
0
0
0
0
0
0
0
0
-34
-25
8
-35
-17
-1
6
0
-1
-12
0
0
0
0
0
0
1
2
16
-8
55
-64
-10
-11
1
8
0
0
0
0
0
0
0
0
-9
50
37
41
48
2
-6
2
2
1
0
0
0
0
0
0
0
7
-40
24
-26
45
-6
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-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
-3
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
38
0
22
-4
0
0
0
0
0
0
0
0
0
0
0
2
-21
-22
37
-4
0
0
1
0
0
0
0
0
0
0
0
-8
-6
35
-13
-2
38
-3
1
-1
0
0
0
0
0
0
0
0
-8
6
56
-18
15
9
2
0
-2
4
0
0
0
0
0
0
0
-1
0
-22
13
-2
-4
2
13
-13
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
48
3
10
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-3
39
8
-1
0
1
-2
-10
0
0
0
0
0
0
0
3
11
-12
29
13
4
-2
0
-1
0
0
0
0
0
0
0
0
0
17
6
21
0
1
-11
3
0
-1
0
0
0
0
0
0
0
0
-10
-4
-8
16
35
-2
6
0
-17
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-40
-1
-32
0
0
0
0
0
0
0
0
0
0
0
-10
9
11
-36
-56
-16
-3
0
0
3
0
0
0
0
0
0
0
3
-61
0
-14
-24
7
4
3
-1
7
0
0
0
0
0
0
0
0
1
-35
28
9
7
35
4
2
1
0
0
0
0
0
0
0
0
0
9
-9
-7
30
0
-17
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
2
-7
6
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-4
-11
-46
29
4
0
0
-18
0
0
0
0
0
0
0
0
-19
-42
-9
-16
1
-8
0
7
-3
-2
0
0
0
0
0
0
0
2
-8
9
3
18
18
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
0
-1
-1
0
0
0
0
0
0
0
0
0
0
8
-7
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-12
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
2
0
2
-3
6
1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
16
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
82
-15
31
8
-3
0
0
-1
0
0
0
0
0
0
0
0
-7
69
20
21
-1
-29
-1
0
12
0
0
0
0
0
0
0
0
-2
6
26
-1
-29
0
9
0
-17
0
0
0
0
0
0
0
0
-19
-39
-40
-30
26
-28
-4
0
-39
0
0
0
0
0
0
0
0
0
-3
0
-35
2
-4
-9
1
0
0
0
0
0
0
0
0
0
0
7
13
-8
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
-16
0
7
80
-1
-3
0
0
0
0
0
0
0
0
0
0
7
4
42
-79
-21
14
16
0
0
0
0
0
0
0
0
0
0
-4
-42
1
38
-55
49
15
1
-11
-4
0
0
0
0
0
0
0
0
10
1
57
4
-59
-18
36
29
-11
0
0
0
0
0
0
0
1
79
10
22
-43
31
-6
3
-8
-10
0
0
0
0
0
0
0
-1
-8
-20
-33
-31
-9
15
2
6
7
0
0
0
0
0
0
0
0
6
-3
34
27
-23
2
15
-29
16
0
0
0
0
0
0
0
0
-6
-2
-1
-20
-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
-51
0
49
-7
0
0
0
0
0
0
0
0
0
0
0
-3
23
-72
15
-10
-24
0
0
1
0
2
0
0
0
0
0
0
-8
10
30
2
84
-26
8
1
3
-19
3
0
0
0
0
0
0
2
26
29
-29
5
25
6
-4
-2
-11
0
0
0
0
0
0
0
1
46
8
1
19
-21
-16
-37
12
-44
-10
0
0
0
0
0
0
0
10
17
18
22
-80
-9
5
-18
20
0
0
0
0
0
0
0
0
1
-19
-6
11
-3
21
11
0
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-19
0
-25
0
0
0
0
0
0
0
0
0
0
0
2
7
28
37
17
3
0
0
0
0
0
0
0
0
0
0
0
0
-6
12
-8
49
7
11
3
18
-1
7
0
0
0
0
0
0
1
-15
116
-12
1
29
12
16
-4
8
0
0
0
0
0
0
0
-3
23
5
25
37
36
-18
2
28
2
-2
0
0
0
0
0
0
0
-31
-27
14
10
-10
-21
-1
-6
-1
0
0
0
0
0
0
0
0
0
2
-2
-3
-13
4
2
-1
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-51
0
-18
0
-10
1
0
0
0
0
0
0
0
0
0
-1
12
-19
30
0
20
0
0
0
0
0
0
0
0
0
0
0
10
-19
-11
-16
-21
-3
10
1
7
2
1
0
0
0
0
0
0
-2
18
-30
4
5
13
8
4
-6
2
3
0
0
0
0
0
0
-2
-35
78
27
4
43
-35
-32
1
30
0
0
0
0
0
0
0
0
12
-6
7
-14
10
-12
8
0
8
0
0
0
0
0
0
0
0
0
0
7
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
29
42
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
-4
-37
6
-31
2
3
0
0
0
0
0
0
0
0
0
0
8
35
-29
46
4
39
1
16
11
-11
0
1
0
0
0
0
0
1
23
-36
18
20
-56
-24
-3
-4
6
1
0
0
0
0
0
0
0
36
-12
10
44
19
-3
-8
-35
-2
0
0
0
0
0
0
0
0
-11
-51
-33
-3
10
11
-3
-2
0
0
0
0
0
0
0
0
0
0
6
-4
-16
0
1
-18
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
7
-17
-7
19
1
0
0
0
0
0
0
0
0
0
0
0
0
45
-5
19
-2
11
16
0
0
0
0
1
0
0
0
0
0
0
3
-29
21
0
22
16
3
3
2
1
0
0
0
0
0
0
0
11
33
-13
3
52
6
1
-15
-10
0
0
0
0
0
0
0
0
-2
24
-45
-29
19
47
4
3
3
-2
0
0
0
0
0
0
0
7
4
12
-1
6
6
-7
0
-18
0
0
0
0
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
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
11
-25
0
0
0
0
0
2
0
0
0
0
0
0
0
-7
15
11
2
2
0
-1
-1
7
0
0
0
0
0
0
0
0
2
-23
-15
-1
4
-2
1
-2
1
1
0
0
0
0
0
0
0
0
29
5
11
-1
29
3
0
1
0
0
0
0
0
0
0
0
6
8
-9
0
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-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
1
0
3
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
5
-2
3
1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
8
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
-47
-19
18
22
33
0
0
-1
0
0
0
0
0
0
0
0
-1
33
-18
-34
-16
-12
0
0
-7
0
0
0
0
0
0
0
0
1
42
49
-5
-56
-11
25
0
13
0
0
0
0
0
0
0
0
-7
-74
22
12
6
-21
25
-1
60
0
0
0
0
0
0
0
0
0
25
10
-24
-6
-7
-13
-8
0
0
0
0
0
0
0
0
0
0
0
9
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
23
13
-44
-3
32
-13
0
0
0
0
0
0
0
0
0
0
-2
21
8
28
-55
59
28
0
0
0
0
0
0
0
0
0
0
-9
-18
-4
-16
40
17
28
1
-35
6
0
0
0
0
0
0
0
0
-56
-6
124
13
-39
-29
74
3
-10
0
0
0
0
0
0
0
2
18
3
-3
-12
-36
43
18
-8
-22
0
0
0
0
0
0
0
0
77
-54
-25
-63
7
-35
11
-1
10
0
0
0
0
0
0
0
0
0
9
-7
1
3
10
8
0
-8
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
5
-12
-47
11
55
-1
2
0
0
0
0
0
0
0
0
0
-6
1
9
22
-16
-44
19
0
0
0
1
0
0
0
0
0
0
1
0
-3
3
-57
-24
25
-8
1
-33
-6
0
0
0
0
0
0
1
9
-11
-11
19
57
11
9
-4
-6
-1
0
0
0
0
0
0
2
-4
29
22
38
-29
23
6
-7
-2
0
0
0
0
0
0
0
0
-2
30
-16
-15
-21
-9
-22
-1
-2
0
0
0
0
0
0
0
0
0
4
-6
17
-4
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
33
21
46
1
6
0
0
0
-1
0
0
0
0
0
0
0
57
30
50
48
-24
0
0
-2
0
0
0
0
0
0
0
0
0
-15
74
4
5
-7
6
0
1
-8
1
0
0
0
0
0
0
0
22
11
-76
49
48
-3
16
-7
2
0
0
0
0
0
0
0
0
5
6
-15
-2
2
10
7
11
3
0
0
0
0
0
0
0
0
-17
-10
29
8
-10
-1
16
0
0
0
0
0
0
0
0
0
0
0
-28
-4
-11
0
-28
4
1
0
0
0
0
0
0
0
0
0
0
-3
1
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
-21
-8
0
0
0
0
0
0
0
0
0
0
0
0
18
-72
-46
-2
5
7
0
0
0
0
0
0
0
0
0
0
0
4
11
-58
6
3
11
2
-1
0
2
0
0
0
0
0
0
-1
17
38
0
20
-9
-8
9
1
0
0
0
0
0
0
0
0
4
-18
33
11
-36
-24
7
3
2
-4
0
0
0
0
0
0
0
0
0
-44
28
3
7
10
-2
0
0
0
0
0
0
0
0
0
0
0
1
-1
21
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
2
3
34
9
4
0
0
0
0
0
0
0
0
0
0
2
-28
-11
67
-1
33
1
0
3
0
0
0
0
0
0
0
0
-1
0
7
-16
40
0
24
1
9
-6
0
0
0
0
0
0
0
0
-4
12
-30
-3
17
0
-3
-1
-21
0
0
0
0
0
0
0
0
-4
23
19
3
23
29
0
1
1
0
0
0
0
0
0
0
0
-5
14
10
15
-11
-7
1
-1
0
0
0
0
0
0
0
0
0
0
-16
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
23
38
-15
0
0
0
0
0
0
0
0
0
0
0
-2
37
11
-7
30
10
-1
0
-2
0
0
0
0
0
0
0
0
0
9
-33
28
15
66
-16
0
0
13
1
0
0
0
0
0
0
0
16
1
5
-10
0
26
-2
0
4
0
0
0
0
0
0
0
-4
15
7
3
-36
-16
-4
-2
0
1
0
0
0
0
0
0
0
0
-1
18
-6
-4
-1
3
-3
0
-1
0
0
0
0
0
0
0
0
0
9
-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
9
45
8
-1
1
0
0
0
0
0
0
0
0
0
0
0
-2
20
48
-7
-18
0
0
0
0
0
0
0
0
0
0
0
-1
-3
12
6
25
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-6
-17
-6
28
17
-1
-1
0
0
1
0
0
0
0
0
0
0
-3
-23
-43
-7
-8
-1
0
-17
-1
0
0
0
0
0
0
0
0
-3
2
29
-1
17
-15
0
0
7
0
0
0
0
0
0
0
0
0
3
1
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
11
42
-2
1
0
0
0
0
0
0
0
0
0
0
0
3
18
30
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
0
-17
1
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-9
-25
3
13
-7
-7
12
0
0
0
0
0
0
0
0
0
47
-8
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
8
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
21
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
-4
-6
3
0
-1
0
0
0
0
0
0
0
0
0
-2
-4
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-25
-59
-11
0
0
0
0
0
0
0
0
0
0
0
0
27
-91
6
-21
19
29
-1
0
-6
0
0
0
0
0
0
0
0
-2
3
52
30
-21
24
0
0
-5
0
0
0
0
0
0
0
0
3
-34
-23
-27
26
-16
6
9
29
0
0
0
0
0
0
0
0
7
-38
-176
6
-8
-59
8
0
11
0
0
0
0
0
0
0
0
-1
-8
0
35
-6
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-44
1
-30
0
0
0
2
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
45
-6
-5
41
-21
0
0
0
0
0
0
0
0
0
0
46
-46
-63
-34
-34
-44
-3
0
-2
0
0
0
0
0
0
0
0
-1
-51
21
26
-2
9
13
3
-55
13
0
0
0
0
0
0
0
-1
13
8
-27
-50
52
87
-23
-22
21
0
0
0
0
0
0
0
0
46
-19
5
-95
66
-26
0
-1
8
0
0
0
0
0
0
0
0
55
-7
-24
84
9
-71
-15
18
-2
0
0
0
0
0
0
0
0
1
-46
-27
-35
40
11
1
-2
0
0
0
0
0
0
0
0
0
0
-3
21
0
1
-1
0
0
0
0
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
-17
9
-40
11
0
0
0
0
0
0
0
0
0
0
-6
-21
16
5
-10
-20
1
0
0
0
3
0
0
0
0
0
0
0
-2
58
46
-30
22
18
-4
4
9
4
0
0
0
0
0
0
0
98
13
0
98
-56
8
-2
4
2
0
0
0
0
0
0
0
0
-6
17
15
-63
27
-8
-24
-4
8
0
0
0
0
0
0
0
0
7
-3
8
-9
19
64
-47
4
-1
0
0
0
0
0
0
0
0
0
4
1
-6
-33
50
-2
0
0
0
0
0
0
0
0
0
0
0
3
2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-27
43
3
22
0
0
0
-1
0
0
0
0
0
0
0
2
-26
-7
17
-53
3
-9
0
0
0
0
0
0
0
0
0
0
0
-11
3
15
22
-6
18
-9
0
21
2
0
0
0
0
0
0
2
16
-55
1
58
4
-4
2
0
-2
0
0
0
0
0
0
0
0
47
-8
7
11
-49
55
-6
2
-2
0
0
0
0
0
0
0
0
-7
-22
17
75
-1
-25
-22
1
0
0
0
0
0
0
0
0
0
0
14
-9
25
-105
0
2
1
0
0
0
0
0
0
0
0
0
0
-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
20
53
-14
40
1
0
0
0
0
0
0
0
0
0
0
0
16
-27
59
51
9
-3
0
0
0
0
0
0
0
0
0
0
0
-14
-30
-5
-1
12
-37
0
2
-4
0
0
0
0
0
0
0
0
-14
-6
-64
0
-9
-4
0
-2
0
0
0
0
0
0
0
0
0
-6
-13
0
20
1
20
0
2
6
0
0
0
0
0
0
0
0
-15
0
40
-36
1
-10
0
-3
3
0
0
0
0
0
0
0
0
0
6
-37
-18
3
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
-1
11
-36
-4
3
2
0
0
0
0
0
0
0
0
0
0
0
-101
-17
25
32
-6
3
0
0
0
0
0
0
0
0
0
0
0
11
-2
19
-15
4
-8
-1
-3
9
-4
0
0
0
0
0
0
0
24
49
1
44
0
-22
2
0
1
0
0
0
0
0
0
0
0
3
150
39
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-1
-6
12
18
0
-8
0
0
0
0
0
0
0
0
0
-1
-32
12
-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
-1
-41
10
22
7
7
0
0
0
0
0
0
0
0
0
0
0
11
4
-29
-8
-32
1
0
0
0
0
0
0
0
0
0
0
0
-10
37
-52
-40
-19
0
2
0
-4
0
0
0
0
0
0
0
0
1
36
-1
-9
7
0
-3
-1
1
0
0
0
0
0
0
0
0
1
-20
1
-28
0
7
-3
0
-1
0
0
0
0
0
0
0
0
1
-24
-11
-2
45
9
0
-9
3
0
0
0
0
0
0
0
0
0
17
8
34
0
2
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
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
-3
-36
2
-13
0
0
0
0
0
0
0
0
0
0
-4
20
37
9
-14
-34
11
0
0
0
0
0
0
0
0
0
0
0
22
-10
-3
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
-4
29
-10
-3
-5
-3
0
0
0
0
0
0
0
0
0
0
0
-34
0
-9
15
41
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
7
-6
0
4
2
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
14
8
3
6
-8
4
0
0
0
0
0
0
0
0
0
0
0
9
-22
-10
-23
1
-1
0
0
0
0
0
0
0
0
0
0
0
5
26
45
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
18
13
-14
8
4
-16
0
0
0
0
0
0
0
0
0
0
-2
2
4
-21
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-10
-12
20
-7
10
2
0
2
0
0
0
0
0
0
0
0
0
-3
0
-41
7
8
-8
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
23
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-21
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
9
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
6
5
10
13
0
0
0
0
0
0
0
0
0
0
0
-6
26
-1
-4
1
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-29
42
-13
6
0
0
0
0
0
0
0
0
0
0
0
1
-15
16
17
-51
45
3
0
0
0
0
0
0
0
0
0
0
46
-35
-19
-1
-12
-5
1
-9
4
0
0
0
0
0
0
0
0
63
-26
26
48
-18
34
25
-3
15
0
0
0
0
0
0
0
0
0
-8
28
45
-5
-30
-2
0
-15
0
0
0
0
0
0
0
0
0
-1
-80
-58
-8
18
0
0
-17
0
0
0
0
0
0
0
0
0
-29
-16
19
4
1
1
0
0
0
0
0
0
0
0
0
0
0
3
-1
6
0
-13
-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
50
-32
-2
-53
27
-44
0
0
0
0
0
0
0
0
0
0
3
-7
32
34
14
36
-1
0
0
0
0
0
0
0
0
0
0
24
75
15
-47
-13
-15
-93
-17
-20
-1
0
0
0
0
0
0
0
0
2
53
-28
48
-17
-8
0
9
-33
0
0
0
0
0
0
0
0
0
-114
-19
24
-22
62
-3
0
-12
0
0
0
0
0
0
0
0
-41
-1
19
-18
-1
-18
48
6
-7
0
0
0
0
0
0
0
0
1
-22
12
55
46
-42
-15
-4
0
0
0
0
0
0
0
0
0
1
-20
6
-15
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
30
64
53
5
-6
0
0
0
0
0
0
0
0
0
0
0
-8
60
32
38
56
-117
-13
0
2
0
0
0
0
0
0
0
0
0
55
68
5
-40
14
3
10
18
-7
3
0
0
0
0
0
0
-28
2
-8
-61
77
-40
38
20
0
13
6
0
0
0
0
0
0
-1
13
0
-30
-5
20
25
7
-13
-48
-1
0
0
0
0
0
0
0
0
4
8
37
-23
75
-40
24
0
0
0
0
0
0
0
0
0
3
-1
-18
-36
-37
-30
20
-12
-2
0
0
0
0
0
0
0
0
1
1
-23
16
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
35
77
-9
-17
-12
11
0
0
1
0
0
0
0
0
0
0
0
18
-12
-16
-6
15
-1
0
0
0
2
0
0
0
0
0
0
1
7
102
-9
2
40
8
-11
10
28
7
0
0
0
0
0
0
0
-42
7
59
7
35
1
12
9
25
0
0
0
0
0
0
0
-7
1
29
0
-27
12
-24
-1
1
0
0
0
0
0
0
0
0
0
22
0
-17
-10
68
-42
7
-18
2
0
0
0
0
0
0
0
0
0
26
26
-38
-1
-4
1
0
3
0
0
0
0
0
0
0
0
0
-1
1
-33
0
0
-13
0
0
0
0
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
86
61
-4
1
-1
0
0
0
0
0
0
0
0
0
-1
-9
28
99
-5
-44
-2
0
-1
0
0
0
0
0
0
0
0
0
1
-31
-19
-48
35
2
0
0
1
0
0
0
0
0
0
0
0
14
-9
-1
71
-1
1
1
2
8
-3
0
0
0
0
0
0
0
-9
22
47
0
0
18
1
0
-17
0
0
0
0
0
0
0
0
9
-53
0
-65
-3
2
7
-1
2
0
0
0
0
0
0
0
0
-3
0
-13
-11
25
7
2
9
0
0
0
0
0
0
0
0
0
-3
1
-2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-62
24
3
-9
0
0
0
0
0
0
0
0
0
0
0
-28
-14
62
-48
-11
-4
0
0
0
0
0
0
0
0
0
0
0
-7
59
-24
-31
30
-17
0
-7
0
0
0
0
0
0
0
0
0
16
4
27
0
10
0
9
6
2
0
0
0
0
0
0
0
0
18
12
-9
3
0
16
0
0
-6
0
0
0
0
0
0
0
0
4
3
49
0
92
2
13
-7
0
0
0
0
0
0
0
0
0
0
57
-15
6
-1
-15
0
-2
0
0
0
0
0
0
0
0
0
0
0
25
-4
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-37
-30
-88
44
11
0
0
0
0
0
0
0
0
0
0
0
-10
56
-11
13
-22
19
0
0
0
0
0
0
0
0
0
0
-1
58
-3
-17
57
40
-11
1
2
-3
0
0
0
0
0
0
0
0
17
-24
-14
28
0
7
0
-8
0
0
0
0
0
0
0
0
0
-7
-17
25
-16
18
0
0
0
4
0
0
0
0
0
0
0
0
0
-12
-57
89
1
0
0
29
-11
0
0
0
0
0
0
0
0
0
-4
61
0
51
1
-1
9
1
0
0
0
0
0
0
0
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
-10
-36
8
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
46
48
-22
9
1
0
0
0
0
0
0
0
0
0
0
0
50
7
-14
3
-16
14
1
-1
2
0
0
0
0
0
0
0
0
56
-58
28
48
51
0
-1
0
0
-10
0
0
0
0
0
0
0
1
3
-14
2
2
0
0
0
17
0
0
0
0
0
0
0
0
0
-31
58
-4
4
0
0
0
6
0
0
0
0
0
0
0
0
0
-21
-4
-15
0
-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
-5
1
-7
19
1
0
0
0
0
0
0
0
0
0
0
0
-20
18
-24
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-17
28
27
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
-1
12
59
-21
2
0
0
0
0
0
0
0
0
0
0
0
-2
27
0
59
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
-19
2
0
1
-11
3
0
0
0
0
0
0
0
0
0
0
0
1
8
-9
-2
9
-1
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
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
32
-17
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
35
-8
3
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-9
-24
22
37
0
6
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-1
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
10
2
10
-2
-12
0
0
0
0
0
0
0
0
0
0
4
-2
11
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
31
-3
26
-4
0
0
0
0
0
0
0
0
0
0
0
36
63
3
7
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
-62
-4
36
-43
2
10
1
1
-15
0
0
0
0
0
0
0
0
14
3
1
40
50
12
28
-7
-56
0
0
0
0
0
0
0
0
-57
-1
-42
-20
52
41
-1
-27
-47
0
0
0
0
0
0
0
0
0
34
24
-58
16
-7
12
-10
7
0
0
0
0
0
0
0
0
2
0
62
6
-30
-1
0
2
-7
0
0
0
0
0
0
0
0
0
3
0
9
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-35
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
24
62
36
-33
-15
0
0
0
0
0
0
0
0
0
0
-2
19
-2
14
12
-3
1
0
24
0
0
0
0
0
0
0
0
-11
40
-19
47
44
9
46
24
-15
58
0
0
0
0
0
0
0
19
41
-53
54
-17
31
9
-66
50
30
0
0
0
0
0
0
0
0
-44
4
15
-10
4
14
1
-36
32
0
0
0
0
0
0
0
0
0
-7
37
57
-57
-11
6
4
-11
0
0
0
0
0
0
0
0
-8
0
-6
-15
48
-18
-8
-1
6
0
0
0
0
0
0
0
0
-2
-1
-18
6
-11
0
-5
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
2
-2
14
4
1
0
0
0
0
0
0
0
0
0
0
-1
73
73
69
10
30
13
0
0
0
-1
0
0
0
0
0
0
-59
-14
27
-53
19
61
-27
7
-26
22
3
0
0
0
0
0
0
-1
-17
27
10
-69
49
-44
60
4
2
2
0
0
0
0
0
0
4
1
20
-21
63
6
-38
-72
8
0
1
0
0
0
0
0
0
0
-33
0
-71
-31
32
25
25
-40
-19
0
0
0
0
0
0
0
0
0
56
4
33
-67
-16
22
-30
-2
0
0
0
0
0
0
0
0
3
-79
78
-9
8
-1
-4
2
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
18
-8
-40
11
9
58
0
0
0
0
0
0
0
0
0
0
0
-33
59
-33
40
40
-12
0
0
0
4
0
0
0
0
0
0
-2
53
45
1
-1
7
-53
-11
9
30
-16
0
0
0
0
0
0
2
4
2
-8
-3
56
9
16
-2
-38
0
0
0
0
0
0
0
-2
-6
-2
35
0
-66
51
0
41
-9
0
0
0
0
0
0
0
0
21
-15
0
-7
7
27
0
22
-3
0
0
0
0
0
0
0
0
-4
0
-59
6
29
56
-1
12
1
0
0
0
0
0
0
0
0
0
-2
-19
33
-2
-7
-1
-1
0
0
0
0
0
0
0
0
0
13
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-38
1
5
6
-12
0
0
0
0
0
0
0
0
0
0
0
4
67
5
31
33
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
24
-5
-7
25
0
0
-2
0
0
0
0
0
0
0
0
-33
-7
67
17
3
3
6
0
-2
0
0
0
0
0
0
0
0
-4
-81
-2
-27
4
94
69
-19
-13
0
0
0
0
0
0
0
0
3
-66
58
0
44
20
9
4
2
0
0
0
0
0
0
0
0
4
20
0
-39
0
10
-9
-5
0
0
0
0
0
0
0
0
0
-3
0
41
-8
15
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
-7
26
-20
12
6
0
0
0
0
0
0
0
0
0
0
0
0
4
52
11
-74
0
3
0
0
0
2
0
0
0
0
0
0
0
16
-15
78
-6
47
-30
0
-1
3
0
0
0
0
0
0
0
0
3
10
10
9
32
33
0
2
-3
1
0
0
0
0
0
0
0
-3
-17
26
0
-22
-1
-3
0
17
0
0
0
0
0
0
0
0
-2
1
14
-1
0
3
0
36
0
0
0
0
0
0
0
0
0
0
60
12
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
-6
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
62
17
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-24
40
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
10
9
-17
17
13
0
1
2
4
0
0
0
0
0
0
0
0
13
10
73
53
-56
-4
12
1
0
0
0
0
0
0
0
0
0
-18
59
-31
-52
0
-4
0
-7
0
0
0
0
0
0
0
0
0
-2
10
52
-36
13
0
0
0
0
0
0
0
0
0
0
0
0
0
11
18
-11
0
2
0
-7
6
0
0
0
0
0
0
0
0
0
10
8
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
-13
5
0
13
3
3
0
0
0
0
0
0
0
0
0
0
0
19
59
-12
12
60
0
0
0
0
0
0
0
0
0
0
0
0
15
-66
-9
6
-13
-1
0
0
3
0
0
0
0
0
0
0
0
16
-11
1
-18
22
36
-2
0
-6
0
0
0
0
0
0
0
0
-2
-16
-39
-10
-1
-6
0
0
0
0
0
0
0
0
0
0
0
23
48
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
4
-28
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
-16
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-23
12
-1
8
-3
0
0
0
0
0
0
0
0
0
0
0
-10
16
34
2
-6
-4
0
0
-1
0
0
0
0
0
0
0
0
28
73
-7
19
7
0
1
0
0
0
0
0
0
0
0
0
0
-3
-9
-14
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
36
7
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
9
3
-2
12
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
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
-1
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-2
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
19
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
1
0
0
0
0
0
0
0
0
0
0
0
-1
45
-30
-38
19
4
0
0
-1
0
0
0
0
0
0
0
0
4
-40
-18
7
-20
-11
1
2
-12
0
0
0
0
0
0
0
0
0
-14
-23
-20
-6
11
-13
0
13
0
0
0
0
0
0
0
0
-8
2
-1
-28
-56
-13
-9
7
-32
0
0
0
0
0
0
0
0
0
8
3
43
0
28
0
2
-28
0
0
0
0
0
0
0
0
0
-1
-22
-7
54
-4
1
0
2
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
-8
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
34
4
-15
61
38
55
0
0
0
0
0
0
0
0
0
0
0
41
76
13
8
-55
9
0
0
0
0
0
0
0
0
0
0
4
-46
-16
40
54
-50
-8
-1
1
55
0
0
0
0
0
0
0
0
7
1
-1
-68
-36
-71
-18
-42
32
0
0
0
0
0
0
0
46
53
-39
-82
-9
-6
63
44
-1
39
0
0
0
0
0
0
0
0
76
0
56
7
22
-10
60
7
-4
0
0
0
0
0
0
0
0
0
-68
25
36
-13
23
-20
39
-14
0
0
0
0
0
0
0
0
-20
1
91
10
1
0
-15
-8
2
0
0
0
0
0
0
0
0
-17
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
8
8
9
3
12
0
0
0
-3
0
0
0
0
0
0
-1
41
-16
-19
4
-45
11
0
0
0
-11
0
0
0
0
0
0
-5
-13
33
14
8
7
11
-4
0
-11
8
0
0
0
0
0
0
0
24
-24
56
28
-15
14
-16
-21
-9
0
0
0
0
0
0
0
0
14
0
-3
-9
-89
29
26
-8
60
-8
0
0
0
0
0
0
0
0
19
6
-30
-48
20
7
38
-20
0
0
0
0
0
0
0
-6
21
0
29
-27
32
2
-4
32
-2
0
0
0
0
0
0
0
4
0
38
0
-11
7
-6
-3
0
0
0
0
0
0
0
0
0
0
9
-4
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
44
18
-6
42
2
-8
0
0
0
0
0
0
0
0
0
0
0
31
2
48
46
16
-4
0
0
0
0
-2
0
0
0
0
0
0
16
-7
-8
3
2
22
0
0
0
2
0
0
0
0
0
0
0
-23
5
-6
12
-19
0
-2
7
28
0
0
0
0
0
0
0
0
-1
22
27
53
-23
-19
4
-11
-19
0
0
0
0
0
0
0
0
45
1
54
-3
-16
-4
-21
-16
29
0
0
0
0
0
0
0
0
0
19
0
-9
-4
3
2
2
0
0
0
0
0
0
0
0
0
0
0
-6
0
46
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
-1
-1
-12
0
6
0
0
0
0
0
0
0
0
0
0
0
41
44
5
-4
1
-7
0
0
0
0
0
0
0
0
0
0
6
2
-4
-36
25
8
-1
-2
0
-22
-1
0
0
0
0
0
0
0
16
33
85
-20
-20
0
0
-6
0
0
0
0
0
0
0
0
-10
-9
-13
0
27
-14
25
-23
15
0
0
0
0
0
0
0
0
0
3
-3
-2
49
6
11
0
-11
-1
-2
0
0
0
0
0
0
0
0
0
-19
0
4
0
1
1
0
0
0
0
0
0
0
0
0
0
7
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-7
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-31
10
15
-44
0
-1
28
0
0
0
0
0
0
0
0
11
0
-26
-18
56
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-3
-23
1
4
0
0
0
0
0
0
0
0
0
0
0
13
-2
7
0
24
0
0
1
-9
0
0
0
0
0
0
0
0
0
1
0
10
0
1
0
11
0
0
0
0
0
0
0
0
0
0
6
49
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
0
20
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
43
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
11
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
2
12
6
-3
0
0
0
0
0
0
0
0
0
0
1
8
-1
-19
-17
9
-4
7
0
0
0
0
0
0
0
0
0
8
31
6
-4
0
1
0
0
16
0
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
9
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
23
9
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
53
0
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
28
-10
2
0
21
-1
0
2
0
0
0
0
0
0
0
0
0
2
-2
8
33
1
-3
3
0
-6
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
-2
0
1
0
0
4
0
0
0
0
0
0
0
0
0
-8
-1
-5
1
4
2
0
0
0
0
0
0
0
0
0
0
0
11
18
22
4
0
24
0
-17
0
0
0
0
0
0
0
0
-2
0
-113
-3
-11
-1
0
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
11
0
54
0
-3
0
0
-1
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
1
0
19
0
3
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
1
53
-1
55
1
1
0
0
0
0
0
0
0
0
0
0
0
6
-8
24
4
-55
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
8
61
-10
52
0
-1
-13
0
0
0
0
0
0
0
0
59
0
0
-5
40
-35
19
9
13
0
0
0
0
0
0
0
0
2
2
0
-12
-3
0
17
14
-26
0
0
0
0
0
0
0
0
4
0
30
-18
-9
-11
7
-17
9
0
0
0
0
0
0
0
0
0
5
0
-1
0
-28
1
25
0
0
0
0
0
0
0
0
0
0
0
-32
9
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
1
79
-3
82
3
-11
0
0
0
0
0
0
0
0
0
0
0
56
14
43
-13
-10
-44
0
1
0
0
0
0
0
0
0
0
4
-31
24
-50
30
49
-50
1
-1
71
0
0
0
0
0
0
0
0
105
37
25
37
0
-9
-29
21
25
0
0
0
0
0
0
0
-46
52
5
-28
-33
-2
16
9
31
-76
0
0
0
0
0
0
0
0
-4
22
-24
0
65
-56
35
14
1
0
0
0
0
0
0
0
0
-10
7
-37
45
50
-17
79
-27
-26
0
0
0
0
0
0
0
0
0
7
14
-13
-21
0
-9
1
0
0
0
0
0
0
0
0
0
-2
0
-8
4
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
22
13
-12
6
4
0
0
0
0
0
0
0
0
0
0
0
-16
-13
-11
25
-2
6
0
0
0
-28
0
0
0
0
0
0
24
-2
57
10
64
11
-73
1
-6
-45
-13
0
0
0
0
0
0
2
-4
16
2
-40
-30
-8
-20
2
-12
2
0
0
0
0
0
0
-32
5
17
25
-29
59
-20
-13
19
-29
7
0
0
0
0
0
0
0
44
-22
61
29
-12
-56
37
-5
49
0
0
0
0
0
0
0
0
0
29
0
2
46
45
38
-17
3
0
0
0
0
0
0
0
0
39
0
26
-6
4
2
0
0
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
-6
1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
29
15
27
-9
0
0
0
0
0
0
0
0
0
0
0
41
11
26
85
-6
-30
0
0
4
0
0
0
0
0
0
0
0
47
-7
16
-11
13
-9
3
4
10
0
0
0
0
0
0
0
0
0
9
-34
37
-63
7
-12
-2
6
0
0
0
0
0
0
0
0
-3
-10
-59
45
-3
-6
-11
-3
0
0
0
0
0
0
0
0
0
0
0
54
0
-11
-27
-1
4
-3
0
0
0
0
0
0
0
0
0
4
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
16
1
0
1
0
0
0
0
0
0
0
0
0
0
-7
0
-47
-12
49
0
-2
0
0
11
0
0
0
0
0
0
0
0
28
4
6
1
10
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
43
-2
-11
-9
3
0
0
0
0
0
0
0
0
0
0
-12
0
-32
2
-11
2
-8
0
0
0
0
0
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
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-27
0
-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
0
0
0
0
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
47
0
7
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
-24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-28
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
2
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
13
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
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
3
3
6
4
0
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
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
6
33
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-13
14
7
49
-11
0
0
-2
0
0
0
0
0
0
0
0
0
-1
9
41
-69
19
2
0
-4
0
0
0
0
0
0
0
0
33
11
-31
-36
-23
-20
-13
-11
2
0
0
0
0
0
0
0
0
1
2
23
23
-50
-43
6
1
-27
0
0
0
0
0
0
0
0
0
-45
49
-12
7
-7
-8
-4
3
0
0
0
0
0
0
0
0
0
0
-11
-38
-1
16
0
19
0
0
0
0
0
0
0
0
0
0
1
-28
1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
11
4
0
0
0
0
0
0
0
0
0
0
0
0
23
1
50
7
-10
0
0
0
0
-4
0
0
0
0
0
0
0
0
-19
-11
-10
8
-3
-1
0
4
1
0
0
0
0
0
0
0
-10
-20
36
-9
-25
0
-30
0
-15
0
0
0
0
0
0
0
0
0
-18
-7
-57
-4
11
24
3
6
0
0
0
0
0
0
0
0
0
0
5
3
43
6
0
3
3
0
0
0
0
0
0
0
0
0
0
0
-10
2
-1
8
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
1
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
0
0
0
0
-1
1
4
6
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
-26
0
-11
-1
0
0
0
0
0
0
0
0
0
0
19
0
23
8
13
5
-15
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
-20
0
-6
-9
-15
-6
0
0
0
0
0
0
0
0
0
-6
10
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
-10
-17
3
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
-2
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
10
-19
-6
8
-9
0
-3
0
0
0
0
0
0
0
0
-18
13
-1
1
21
4
-19
-7
33
0
0
0
0
0
0
0
0
19
0
3
0
3
-56
-62
8
0
0
0
0
0
0
0
0
0
2
0
1
-13
28
-4
16
-8
32
0
0
0
0
0
0
0
0
-10
0
0
0
-4
15
2
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
-40
-2
10
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-1
6
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
11
2
0
12
0
0
0
0
0
0
0
0
0
3
-1
-6
0
40
-22
1
30
0
0
0
0
0
0
0
0
-4
0
1
-9
27
-20
-25
-19
6
0
0
0
0
0
0
0
0
-1
0
0
-2
22
26
39
-11
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
27
16
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
6
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
3
0
11
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
-4
0
-1
0
0
-1
0
0
0
0
0
0
0
0
1
-1
0
0
-21
-35
-40
-24
-2
0
0
0
0
0
0
0
0
0
0
0
0
7
-16
-28
-9
1
0
0
0
0
0
0
0
0
1
0
0
0
-6
4
1
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-32
6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
47
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
4
0
0
0
0
0
0
0
0
6
-9
0
-4
-1
19
1
4
0
-1
0
0
0
0
0
0
0
0
0
4
3
-8
2
10
-19
-1
0
0
0
0
0
0
0
0
-1
0
0
2
0
3
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
3
2
1
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
14
9
0
-1
0
0
0
0
0
0
0
0
-1
1
3
0
4
-7
-7
-11
-2
0
0
0
0
0
0
0
0
0
10
-1
3
-10
-1
14
-11
3
0
0
0
0
0
0
0
0
0
0
7
0
-10
-1
-1
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
-9
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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
0
-11
6
-41
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
6
12
-18
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
3
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
-2
-1
-23
11
0
0
0
0
0
0
0
0
0
13
0
4
-13
6
10
3
-16
40
0
0
0
0
0
0
0
0
-4
0
0
6
-21
16
-45
33
7
0
0
0
0
0
0
0
0
-2
0
0
-1
-2
-1
-6
-48
-1
0
0
0
0
0
0
0
0
-2
0
0
0
17
-1
9
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
18
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
2
-2
-18
34
39
-1
4
0
14
0
0
0
0
0
0
0
-1
3
-1
60
11
65
-10
-87
0
26
0
0
0
0
0
0
0
0
12
-7
0
-4
80
32
53
25
4
0
0
0
0
0
0
0
0
12
-1
-10
-16
3
2
11
-6
20
0
0
0
0
0
0
0
0
41
0
4
4
-1
-9
-3
15
-2
0
0
0
0
0
0
0
0
-7
1
0
-3
-27
6
-6
-5
13
0
0
0
0
0
0
0
0
0
0
1
-4
0
-12
6
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
1
1
-2
2
-2
-18
18
-19
0
-13
6
0
0
0
0
0
0
2
17
0
41
39
54
60
-15
-13
19
0
0
0
0
0
0
0
0
0
-3
1
0
-34
49
57
14
-10
0
0
0
0
0
0
0
0
0
-4
-1
0
1
2
31
9
-6
-1
0
0
0
0
0
0
0
-10
0
0
0
-1
23
35
-16
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
2
-26
12
1
1
0
0
0
0
0
0
0
0
0
0
4
-7
1
1
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
80
8
-1
-4
0
-18
-2
0
0
0
0
0
0
0
-1
-10
0
-7
1
54
-28
-48
1
8
0
0
0
0
0
0
0
1
0
4
-3
38
-40
9
-14
-16
-1
0
0
0
0
0
0
0
0
-4
-3
-6
-2
10
-36
-11
3
0
0
0
0
0
0
0
0
-9
0
1
1
-4
3
-9
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-3
-7
6
-1
0
0
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
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-11
0
0
0
-4
-2
-7
0
-7
0
0
0
0
0
0
0
7
0
-4
-6
-1
14
-22
18
13
18
-2
1
0
0
0
0
0
0
0
0
1
8
16
16
10
54
-1
0
0
0
0
0
0
0
0
-1
0
1
0
-2
1
32
-7
16
0
0
0
0
0
0
0
0
0
0
0
-2
-6
3
-7
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
-4
12
8
9
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
-9
2
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
-3
0
1
12
7
-19
0
3
-2
0
0
0
0
0
0
0
6
0
-6
10
-10
25
-25
69
10
-4
0
0
0
0
0
0
-2
-1
-19
41
-2
-13
-3
-43
7
-2
0
0
0
0
0
0
0
0
2
0
-1
0
-30
7
-14
12
9
0
0
0
0
0
0
0
0
1
1
2
0
0
12
3
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
1
7
2
-11
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
0
0
0
0
0
0
0
0
0
0
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
-7
4
7
0
-12
0
0
0
0
0
0
0
0
0
3
-1
18
21
18
9
64
6
-1
0
0
0
0
0
0
0
1
6
-6
6
11
15
-20
-58
-2
0
0
0
0
0
0
0
0
2
0
2
0
-28
45
35
2
30
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
-2
1
-1
0
0
0
0
0
0
0
-1
0
0
0
0
30
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
0
-6
1
0
0
0
0
0
0
0
0
1
-10
-9
-3
-11
0
40
1
-4
0
0
0
0
0
0
0
1
0
0
0
0
8
-35
0
1
-1
0
0
0
0
0
0
0
0
2
0
-1
-1
-1
-1
-3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-33
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-2
7
1
0
0
-1
0
0
0
0
0
0
-1
0
0
2
-4
47
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
11
0
0
0
0
0
0
0
0
0
0
1
0
11
0
0
2
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
16
17
17
1
0
0
0
0
0
0
0
0
0
-2
0
-6
-19
33
0
42
-49
-36
0
0
0
0
0
0
0
0
0
0
0
1
-6
14
65
12
-4
0
0
0
0
0
0
0
0
-3
0
2
1
0
0
-5
4
0
0
0
0
0
0
0
0
0
-1
0
0
-4
-1
-10
-18
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-1
13
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
0
0
0
0
0
0
0
0
0
-3
1
0
64
44
-34
-16
0
-24
0
0
0
0
0
0
0
-9
12
-1
-8
-47
-22
24
-50
31
8
0
0
0
0
0
0
0
0
-2
-4
32
-5
-25
0
25
-12
0
0
0
0
0
0
0
0
0
25
18
4
10
11
-7
30
21
11
0
0
0
0
0
0
0
0
7
0
4
-3
-9
-24
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
-67
-4
7
4
0
0
0
0
0
0
0
0
0
0
0
-2
6
-30
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-7
-4
26
40
0
-1
-1
0
0
0
0
0
0
0
-6
-1
-2
28
62
-20
22
-24
-1
-11
0
0
0
0
0
0
0
9
0
1
-21
-9
2
-26
-47
36
-3
0
0
0
0
0
0
-1
0
0
-3
-15
-60
5
-12
37
-8
-1
0
0
0
0
0
0
0
0
0
-1
0
0
7
15
5
4
0
0
0
0
0
0
0
0
0
0
1
0
22
-7
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
12
7
0
-10
-1
0
0
0
0
0
0
-2
0
11
4
-12
-21
-16
1
5
-46
-2
0
0
0
0
0
0
0
0
-6
0
0
-13
-11
26
69
4
0
0
0
0
0
0
0
0
3
7
-2
18
-6
6
-18
17
-13
0
0
0
0
0
0
0
0
1
0
0
4
0
29
27
15
10
0
0
0
0
0
0
0
0
0
0
0
0
1
1
55
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
-1
3
0
-9
0
0
0
0
0
0
0
0
3
0
0
0
32
-14
-10
-4
-4
-1
0
0
0
0
0
0
0
-1
-4
-1
0
-7
25
29
47
-2
0
0
0
0
0
0
0
0
0
-1
0
2
-12
8
9
-4
-1
-1
0
0
0
0
0
0
0
-4
0
0
0
11
6
-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
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-35
10
0
36
0
0
0
0
0
0
0
2
0
0
3
0
-10
11
42
35
36
0
0
0
0
0
0
0
0
10
0
2
28
0
10
-28
69
-22
0
0
0
0
0
0
0
0
0
0
1
13
38
-16
-4
3
-9
0
0
0
0
0
0
0
0
0
2
0
-1
-2
-13
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-17
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
-6
1
-1
-1
0
12
20
8
0
0
0
0
0
0
0
0
0
-28
-1
0
-6
-1
25
-14
-9
0
0
0
0
0
0
0
0
17
3
0
1
-11
53
7
17
8
0
0
0
0
0
0
0
0
7
-4
0
0
-1
10
-10
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
18
0
1
0
0
0
0
0
0
0
0
1
0
6
-18
5
5
-13
4
1
0
0
0
0
0
0
0
0
0
0
1
-30
-1
36
0
-20
-9
0
0
0
0
0
0
0
0
0
0
25
-3
17
19
-2
18
5
0
0
0
0
0
0
0
0
-1
-2
-2
0
0
-21
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
1
0
0
0
0
0
0
0
0
0
3
2
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
28
0
28
0
0
0
0
0
0
0
0
0
0
-2
3
-10
-56
-7
12
0
0
0
0
0
0
0
0
0
0
0
0
2
0
36
61
0
0
0
0
0
0
0
0
0
0
0
0
-21
10
8
-1
-11
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
0
0
1
0
2
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
7
-13
0
0
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
0
-15
3
0
2
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
9
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
49
41
-48
5
0
0
0
0
0
0
0
0
0
-1
2
-2
-2
75
40
-7
-8
-15
0
0
0
0
0
0
0
0
-2
-2
-1
-24
1
3
23
19
-60
0
0
0
0
0
0
0
0
0
0
-13
6
2
-35
12
-34
0
0
0
0
0
0
0
0
0
-6
0
0
-8
24
-5
-14
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
6
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-1
0
-1
0
38
-20
0
-39
0
0
0
0
0
0
0
0
22
1
-20
28
34
44
73
-5
82
0
0
0
0
0
0
0
2
10
21
0
-9
-13
-15
22
-10
-5
0
0
0
0
0
0
0
0
0
37
28
89
-3
26
16
-42
2
0
0
0
0
0
0
0
-2
-29
-2
7
6
-1
42
54
1
0
0
0
0
0
0
0
0
0
-3
4
-12
0
-9
10
-9
-29
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-15
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
3
-6
42
-40
0
-22
0
0
0
0
0
0
0
0
17
7
0
-3
79
51
20
51
-2
3
0
0
0
0
0
0
0
3
0
6
-14
-22
18
72
32
-24
0
0
0
0
0
0
0
0
9
0
26
14
30
-13
182
-14
-6
2
0
0
0
0
0
0
0
0
-4
-4
-12
21
58
38
28
0
0
0
0
0
0
0
0
0
25
-3
-2
-1
0
-10
58
-13
0
0
0
0
0
0
0
0
0
0
0
0
11
0
9
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
10
0
-3
-62
14
0
-59
-3
0
0
0
0
0
0
0
-2
0
2
-30
35
42
47
18
-7
2
0
0
0
0
0
0
0
16
0
1
-12
-33
28
-27
9
1
0
0
0
0
0
0
0
0
-3
10
0
3
19
25
19
31
15
1
0
0
0
0
0
0
0
0
0
0
-4
-6
71
28
15
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
49
-13
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
1
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
1
0
0
-2
-14
1
0
-6
-1
0
0
0
0
0
0
0
0
0
3
1
25
20
31
9
6
-9
0
0
0
0
0
0
0
-4
1
-20
-3
-20
-67
30
67
27
0
0
0
0
0
0
0
0
0
-3
4
0
6
-26
-50
-9
28
0
0
0
0
0
0
0
0
-3
0
0
-9
0
0
-39
1
1
0
0
0
0
0
0
0
0
0
0
0
1
-19
1
-3
1
0
0
0
0
0
0
0
0
0
0
1
10
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
-6
-8
28
0
0
0
0
0
0
0
0
0
0
-2
0
0
-8
13
-31
-3
-7
4
0
0
0
0
0
0
0
0
0
0
0
-4
1
-7
4
31
-2
0
0
0
0
0
0
0
0
0
-4
0
-4
0
9
6
3
23
0
0
0
0
0
0
0
0
0
0
7
4
-13
-4
-10
-4
1
0
0
0
0
0
0
0
0
0
0
0
1
2
10
0
1
6
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
6
-18
19
0
1
-2
0
0
0
0
0
0
0
0
0
4
-18
-4
-4
-10
7
-4
0
0
0
0
0
0
0
0
0
1
7
0
5
-40
-52
-39
11
0
0
0
0
0
0
0
0
0
-8
-1
-1
6
0
-14
60
-5
0
0
0
0
0
0
0
0
0
-10
-3
2
2
-39
2
7
-2
0
0
0
0
0
0
0
0
3
7
0
0
6
-13
35
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
0
6
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
-12
1
-4
0
16
0
0
0
0
0
0
0
0
4
-2
0
0
0
-3
38
-28
-6
0
0
0
0
0
0
0
0
-15
1
0
1
-39
-4
79
-4
-13
0
0
0
0
0
0
0
0
0
0
0
2
-34
-8
0
11
-37
0
0
0
0
0
0
0
0
0
0
2
-22
-6
-7
6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
7
0
0
0
0
0
0
0
0
1
0
0
2
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
17
-10
-1
2
0
0
0
0
0
0
0
0
-15
0
-2
0
0
-27
-16
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
11
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
-2
0
2
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
3
0
0
0
-2
6
-7
1
-11
0
0
0
0
0
0
0
0
0
6
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
18
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
-1
10
0
-18
0
0
0
0
0
0
0
0
0
-3
-2
0
10
47
18
-18
18
-21
0
0
0
0
0
0
0
0
12
-1
63
-19
113
99
-41
-16
-1
0
0
0
0
0
0
0
0
8
0
-19
-1
-12
47
-37
7
-1
0
0
0
0
0
0
0
0
0
-2
-3
16
14
0
-47
7
1
0
0
0
0
0
0
0
0
3
0
0
-16
12
-22
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
54
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
-1
0
0
4
7
65
-66
0
0
0
0
0
0
0
0
0
2
-22
0
-6
14
61
1
28
-17
10
0
0
0
0
0
0
0
-2
-30
-2
-35
74
-60
19
16
-9
-29
0
0
0
0
0
0
0
1
3
-10
16
-25
-19
-19
-4
-9
41
0
0
0
0
0
0
0
4
0
7
54
-33
56
46
40
-16
-22
0
0
0
0
0
0
0
0
-43
-7
17
-39
43
-16
24
3
0
0
0
0
0
0
0
0
0
1
-2
0
50
-12
43
-1
-9
0
0
0
0
0
0
0
0
0
0
-1
4
0
9
53
8
-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
9
0
-2
0
-2
18
-47
-52
0
20
-10
0
0
0
0
0
0
0
-2
-1
-3
-4
9
42
-27
66
3
17
0
0
0
0
0
0
0
-3
12
10
14
-4
31
90
-34
-17
-16
0
0
0
0
0
0
0
4
-10
26
-55
10
-36
33
85
120
6
0
0
0
0
0
0
1
2
0
-1
38
25
77
-17
3
11
0
0
0
0
0
0
0
0
0
15
7
3
18
-24
29
11
0
0
0
0
0
0
0
0
0
0
0
2
3
23
19
-3
11
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
12
26
9
0
9
3
0
0
0
0
0
0
0
1
8
4
-19
35
14
-81
9
26
11
0
0
0
0
0
0
0
0
0
0
4
-8
29
-19
79
28
7
0
0
0
0
0
0
0
-1
0
0
-15
0
-3
30
-14
-10
0
0
0
0
0
0
0
1
7
21
0
15
9
23
-1
-4
2
0
0
0
0
0
0
0
0
-1
0
2
-6
-10
15
49
6
18
0
0
0
0
0
0
0
0
0
0
0
-9
1
120
0
44
0
0
0
0
0
0
0
0
0
0
0
-9
0
-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
0
0
0
1
0
24
-34
0
5
0
0
0
0
0
0
0
0
0
0
0
1
-14
-35
-10
-16
-21
7
0
0
0
0
0
0
0
0
0
1
-2
-27
-18
0
30
20
0
0
0
0
0
0
0
0
0
0
0
-2
8
-7
5
-22
-2
0
0
0
0
0
0
0
0
0
0
-2
0
-7
36
27
15
-1
0
0
0
0
0
0
0
0
0
1
0
1
16
-4
7
-1
46
0
0
0
0
0
0
0
0
0
0
0
45
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-37
-1
0
-1
10
0
0
0
0
0
0
0
0
0
0
13
82
8
40
14
2
-8
0
0
0
0
0
0
0
0
0
0
10
-13
18
6
-33
3
0
0
0
0
0
0
0
0
-11
0
0
-7
-19
-4
33
18
-21
0
0
0
0
0
0
0
-4
20
4
0
2
0
-9
-9
17
0
0
0
0
0
0
0
0
0
0
0
3
-1
18
-19
10
0
-9
0
0
0
0
0
0
0
0
0
0
0
7
-16
-13
-1
8
0
0
0
0
0
0
0
0
0
0
2
9
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
-40
37
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-14
-49
36
18
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
39
-41
-22
7
0
0
0
0
0
0
0
0
0
1
0
-1
-47
1
15
-3
16
0
0
0
0
0
0
0
0
8
0
0
4
-3
0
0
19
0
0
0
0
0
0
0
0
0
6
8
15
9
11
-2
13
26
-3
0
0
0
0
0
0
0
0
0
0
0
-2
7
16
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
4
0
0
0
0
0
0
0
0
0
0
10
-3
11
-42
-26
-51
0
0
0
0
0
0
0
0
0
0
1
0
1
19
9
27
12
0
0
0
0
0
0
0
0
0
0
0
0
10
-27
0
19
28
46
0
0
0
0
0
0
0
0
3
0
0
0
0
36
0
-5
0
0
0
0
0
0
0
0
0
0
0
4
-4
18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
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
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
-6
21
-8
16
33
60
0
0
0
0
0
0
0
0
0
0
1
0
0
-12
-13
2
6
0
0
0
0
0
0
0
0
3
0
0
21
32
25
-7
4
22
0
0
0
0
0
0
0
0
3
0
-9
-7
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
11
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
0
33
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
38
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
18
43
29
0
0
0
0
0
0
0
0
0
-29
0
0
-8
22
-67
-7
10
54
0
0
0
0
0
0
0
0
4
0
0
-4
8
-30
16
-4
0
0
0
0
0
0
0
0
0
6
0
6
42
-8
9
64
86
-15
0
0
0
0
0
0
0
0
-4
0
-1
28
-30
4
-59
0
6
0
0
0
0
0
0
0
0
0
2
1
80
-26
7
-1
49
0
0
0
0
0
0
0
0
0
-8
9
3
0
40
1
56
21
30
0
0
0
0
0
0
0
0
0
0
0
13
3
15
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-43
-4
-31
0
-34
0
0
0
0
0
0
0
-4
15
-6
6
-42
-39
53
19
-30
-31
0
0
0
0
0
0
0
7
80
-10
-16
36
33
24
58
26
65
0
0
0
0
0
0
0
-2
8
10
18
-27
24
-15
17
-99
33
0
0
0
0
0
0
0
2
16
44
73
35
68
41
16
8
14
0
0
0
0
0
0
0
0
0
-7
-51
33
-1
24
-12
-40
-23
0
0
0
0
0
0
0
1
0
6
-1
24
-4
-6
4
-43
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-9
18
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
-1
0
-10
22
-42
25
0
1
-7
0
0
0
0
0
0
1
-1
2
-4
-12
65
9
-33
-33
73
-39
0
0
0
0
0
0
0
-7
-2
-3
21
47
17
90
-5
-16
-3
0
0
0
0
0
0
-1
0
0
5
-31
42
-14
-24
24
-42
1
0
0
0
0
0
0
0
-8
-15
25
-24
36
-43
37
73
63
0
0
0
0
0
0
0
9
-33
0
11
-43
25
41
-28
-2
77
0
0
0
0
0
0
0
0
2
-22
0
56
-43
44
51
24
-3
0
0
0
0
0
0
0
0
0
0
0
0
48
29
-17
-3
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
1
0
0
0
53
-17
-29
0
11
0
-1
0
0
0
0
0
0
2
0
0
23
29
22
28
3
-37
-45
0
0
0
0
0
0
0
6
0
-1
-30
-3
40
-26
38
35
0
0
0
0
0
0
0
0
4
-3
3
19
16
58
15
8
-4
0
0
0
0
0
0
0
0
-15
1
-14
1
6
53
47
7
1
1
0
0
0
0
0
0
0
-4
2
0
28
-7
54
-24
34
9
2
0
0
0
0
0
0
0
25
6
-4
30
-7
-21
24
14
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
-2
20
17
0
-6
-1
0
0
0
0
0
0
0
0
0
0
-3
-60
-22
-28
-2
-6
-15
0
0
0
0
0
0
0
0
0
-1
7
-33
43
29
37
-11
0
0
0
0
0
0
0
0
0
0
0
-6
18
44
5
-6
-8
0
0
0
0
0
0
0
0
0
0
4
-4
-47
15
4
-2
0
0
0
0
0
0
0
0
0
37
36
-8
0
16
-25
71
13
0
0
0
0
0
0
0
0
-2
0
0
0
10
1
19
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-14
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
16
-22
6
32
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
25
28
-15
2
0
0
0
0
0
0
0
0
0
0
10
1
6
-21
13
-6
-8
0
0
0
0
0
0
0
2
10
6
6
-1
-1
18
6
47
0
0
0
0
0
0
0
0
0
0
-8
0
2
0
-15
-14
7
-1
0
0
0
0
0
0
0
-1
0
-7
0
0
-7
15
0
-6
3
0
0
0
0
0
0
0
0
-12
-13
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-13
0
-13
0
0
0
0
0
0
0
0
-1
0
0
0
-9
11
11
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
-45
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
43
-3
-25
0
0
0
0
0
0
0
0
-7
-1
0
-3
0
16
1
30
0
0
0
0
0
0
0
0
0
0
21
0
0
4
0
15
-2
2
0
0
0
0
0
0
0
0
0
0
-1
3
0
-6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-3
7
30
4
0
0
0
0
0
0
0
0
0
0
0
3
33
-12
-2
-13
13
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-2
34
15
0
0
0
0
0
0
0
0
0
3
0
0
0
-19
-35
-12
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
10
4
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
0
-14
-2
0
0
0
0
0
0
0
0
0
0
0
-4
32
-9
12
-2
0
0
0
0
0
0
0
0
-1
0
0
0
7
-27
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-2
3
-1
16
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
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
7
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
0
0
0
0
0
0
0
0
25
0
0
2
16
-70
9
-14
-15
0
0
0
0
0
0
0
0
1
0
0
-1
-6
0
48
-22
30
0
0
0
0
0
0
0
0
-7
0
-3
28
1
-8
9
2
16
0
0
0
0
0
0
0
0
0
-9
1
-7
-10
-10
16
0
98
0
0
0
0
0
0
0
0
11
1
-7
2
10
9
-6
38
-3
0
0
0
0
0
0
0
0
0
0
-2
2
-42
0
-63
4
-7
0
0
0
0
0
0
0
0
0
-1
1
13
4
-3
-1
55
0
0
0
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
6
2
23
55
28
0
-5
0
0
0
0
0
0
0
0
-13
-1
-2
45
-31
61
-66
-4
28
0
0
0
0
0
0
0
0
22
2
-3
7
55
40
-3
-67
-18
0
0
0
0
0
0
0
-3
-10
19
1
19
36
-42
14
53
52
0
0
0
0
0
0
0
0
-4
-26
13
-114
38
-13
-28
73
3
0
0
0
0
0
0
0
7
41
-22
11
10
18
37
8
-15
54
0
0
0
0
0
0
0
-3
0
28
19
24
50
34
-47
2
-12
0
0
0
0
0
0
0
0
0
-15
19
1
81
-21
-15
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
0
0
0
0
0
0
0
0
0
0
0
4
-12
6
3
-7
89
0
4
7
0
0
0
0
0
0
-2
-3
-6
-2
-21
6
15
-45
-25
53
28
0
0
0
0
0
0
0
20
2
-1
6
-35
-30
-11
-39
55
-1
0
0
0
0
0
0
0
3
2
37
-1
21
18
-15
30
-26
2
0
0
0
0
0
0
0
-3
0
20
1
70
-88
-19
2
-1
0
0
0
0
0
0
0
-6
10
0
50
46
6
15
-3
41
18
-3
0
0
0
0
0
0
2
11
0
-24
-8
-59
3
-15
12
6
0
0
0
0
0
0
0
0
0
0
3
0
4
47
-35
11
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-15
30
0
63
0
0
0
0
0
0
0
0
2
0
-1
35
-28
3
-5
2
17
-21
0
0
0
0
0
0
0
0
0
-2
0
-45
29
-26
10
0
0
0
0
0
0
0
0
0
-9
0
0
12
-30
-2
71
67
-24
0
0
0
0
0
0
0
0
4
0
50
16
4
35
-16
36
17
0
0
0
0
0
0
0
0
-2
6
21
8
-6
64
0
-2
5
0
0
0
0
0
0
0
0
-3
-19
0
-15
-1
-43
2
4
-3
0
0
0
0
0
0
0
0
6
0
0
0
-8
1
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
1
1
0
22
-1
0
0
0
0
0
0
0
0
0
0
0
10
25
-36
-1
5
-23
0
0
0
0
0
0
0
0
0
0
6
-3
35
-4
36
-27
1
0
0
0
0
0
0
0
-4
0
0
-3
3
-12
96
-15
61
1
0
0
0
0
0
0
0
0
0
0
-3
-3
21
-15
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
8
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-11
-18
-24
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-1
-20
0
0
0
0
0
0
0
0
0
0
-2
0
0
19
4
3
10
-64
0
0
0
0
0
0
0
0
0
0
0
2
10
9
8
73
0
0
0
0
0
0
0
0
0
0
0
0
-10
-6
0
47
0
4
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
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
-8
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
2
29
3
20
0
0
0
0
0
0
0
0
0
0
1
0
0
36
-8
-17
0
0
0
0
0
0
0
0
0
0
0
3
0
4
-2
33
2
6
0
0
0
0
0
0
0
0
38
-1
2
-4
7
-2
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
8
0
0
0
0
0
0
0
0
3
0
0
0
-4
-7
-18
-45
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
18
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
9
1
-9
2
-1
0
0
0
0
0
0
0
0
1
0
0
-1
0
20
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
19
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-5
0
0
0
0
0
0
0
0
0
0
0
19
-4
7
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
8
30
0
-4
0
0
0
0
0
0
0
0
-11
0
0
0
-2
-9
0
9
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
-17
0
0
0
0
0
0
0
0
0
-9
0
0
-1
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-7
10
28
0
0
0
0
0
0
0
0
-10
0
0
0
74
9
-31
-10
-33
0
0
0
0
0
0
0
0
1
-1
-1
25
-19
-48
11
-24
-3
0
0
0
0
0
0
0
0
19
-1
0
-6
-79
37
6
-3
-28
0
0
0
0
0
0
0
0
20
8
-6
-28
-8
-18
-8
-11
-7
0
0
0
0
0
0
0
0
0
8
-30
-10
59
-10
-40
3
12
0
0
0
0
0
0
0
0
0
0
0
-64
7
18
-2
19
0
0
0
0
0
0
0
0
0
-3
-1
0
0
28
0
-10
0
3
0
0
0
0
0
0
0
0
0
0
-6
6
-13
-15
-16
33
0
1
0
0
0
0
0
0
0
0
28
3
3
33
40
-19
-19
27
6
0
0
0
0
0
0
0
0
-55
0
0
52
-5
-18
-36
-27
-1
0
0
0
0
0
0
0
0
2
0
-54
-6
34
101
10
-24
0
0
0
0
0
0
0
0
0
31
1
-26
-46
18
-18
-33
-36
-46
0
0
0
0
0
0
0
2
-24
-27
25
20
34
-18
31
9
20
0
0
0
0
0
0
0
-2
1
21
42
53
14
-27
-8
28
0
0
0
0
0
0
0
0
0
0
3
6
-3
37
-31
35
-5
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
1
0
-28
0
0
0
0
0
0
0
0
0
-3
0
-4
-1
39
-56
2
-1
4
0
0
0
0
0
0
0
0
3
0
12
46
-12
-18
14
-14
1
0
0
0
0
0
0
0
2
0
-1
36
-18
-27
0
45
40
-7
0
0
0
0
0
0
0
0
3
-8
20
5
5
34
44
-6
9
0
0
0
0
0
0
0
16
30
35
45
-54
-9
-33
3
5
0
0
0
0
0
0
0
0
0
-2
0
55
-21
67
1
3
1
0
0
0
0
0
0
0
0
0
0
17
-3
38
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
33
0
0
0
0
0
0
0
0
0
-1
0
0
38
-8
-44
-20
14
8
0
0
0
0
0
0
0
0
0
0
-1
7
-48
-14
-5
44
0
0
0
0
0
0
0
0
-3
0
0
0
4
12
-67
-23
-39
0
0
0
0
0
0
0
0
-3
0
-2
6
0
2
4
-35
4
0
0
0
0
0
0
0
0
0
-2
0
6
-2
33
3
8
8
0
0
0
0
0
0
0
0
0
2
16
-26
-12
29
-2
1
0
0
0
0
0
0
0
0
0
-2
-3
0
4
20
-7
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
-6
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
17
0
14
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
47
1
-82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
1
5
-1
0
0
0
0
0
0
0
0
0
1
-2
-8
18
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
0
6
2
22
7
0
0
0
0
0
0
0
0
0
-2
0
7
6
0
-16
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
-27
25
-12
0
0
0
0
0
0
0
0
7
0
0
11
0
38
-15
-27
-12
0
0
0
0
0
0
0
0
2
2
2
0
12
-8
-9
8
-43
0
0
0
0
0
0
0
0
26
11
-24
15
-2
13
2
49
0
0
0
0
0
0
0
0
0
-6
0
0
4
3
29
-25
-7
7
0
0
0
0
0
0
0
0
0
0
28
40
-6
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
12
19
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-5
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-27
-25
2
1
0
0
0
0
0
0
0
0
0
0
-7
1
-7
4
24
9
2
0
0
0
0
0
0
0
-2
0
-1
0
0
4
-3
0
-11
0
0
0
0
0
0
0
0
0
0
2
-29
-2
37
-18
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-26
-11
-17
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
18
1
-23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
7
4
-4
-4
-3
-27
-7
0
0
0
0
0
0
0
0
0
-9
0
27
9
2
-15
-46
-2
0
0
0
0
0
0
0
0
0
0
0
-12
-22
-55
13
56
31
0
0
0
0
0
0
0
0
0
0
0
0
-12
-39
-54
-27
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-67
-9
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
4
-19
7
-15
0
0
0
0
0
0
0
0
0
0
0
62
-5
24
-69
-6
78
0
0
0
0
0
0
0
0
0
0
0
9
-33
-52
-21
-44
88
-43
-37
30
0
0
0
0
0
0
0
0
-49
-7
-106
-69
-27
-37
-10
33
-50
0
0
0
0
0
0
0
0
-21
-21
-22
24
-54
25
-33
-36
-21
0
0
0
0
0
0
0
0
-1
0
-6
29
1
-19
-34
-20
-25
0
0
0
0
0
0
0
0
0
0
24
31
-15
-41
-24
-1
22
0
0
0
0
0
0
0
0
0
0
4
38
-4
56
61
-58
-51
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
28
-23
47
39
0
0
0
0
0
0
0
0
0
0
0
-6
-6
-56
9
-45
-71
0
0
0
7
0
0
0
0
0
0
0
-27
2
-7
-37
55
23
-72
-12
-21
8
0
0
0
0
0
0
0
-26
-42
3
-55
-1
-33
-12
16
-18
12
0
0
0
0
0
0
0
-1
-44
-35
-17
7
-18
-28
-17
17
-45
0
0
0
0
0
0
0
-25
11
6
-26
3
-16
-70
-25
-37
-2
0
0
0
0
0
0
0
0
-12
64
-21
26
-34
-37
26
-40
10
0
0
0
0
0
0
0
0
-3
-41
49
-33
35
42
-53
-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
-39
4
14
0
0
0
-1
0
0
0
0
0
0
0
0
-22
-16
36
19
-1
0
0
0
9
-1
0
0
0
0
0
0
0
-28
2
-7
-39
-4
-12
-49
47
12
0
0
0
0
0
0
0
-7
0
-61
53
54
-13
-12
-9
29
-13
0
0
0
0
0
0
0
0
-13
-9
-7
35
-36
16
-58
-32
-10
0
0
0
0
0
0
0
0
0
-17
-72
60
-10
-35
-13
-30
28
0
0
0
0
0
0
0
0
0
-1
10
-1
-27
-71
-18
-11
-4
0
0
0
0
0
0
0
0
0
4
16
10
-11
-1
17
-23
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
7
-27
0
-10
-25
0
0
0
0
0
0
0
0
0
0
0
-18
-42
24
14
-53
2
0
0
0
-3
-2
0
0
0
0
0
0
0
-7
-2
-48
15
12
-63
27
-73
0
0
0
0
0
0
0
0
0
4
80
-33
-4
18
-31
12
-80
0
0
0
0
0
0
0
0
0
6
-3
-54
-35
-2
-74
-20
-39
-3
0
0
0
0
0
0
0
0
0
-3
-24
-49
65
75
-29
-30
-2
0
0
0
0
0
0
0
0
6
-1
23
-16
-45
-54
-11
-50
-17
0
0
0
0
0
0
0
0
0
-9
-15
-4
2
-45
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
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
16
3
-2
11
0
0
0
3
0
0
0
0
0
0
0
0
4
1
1
0
0
16
-12
-18
1
0
0
0
0
0
0
0
0
0
0
24
-4
-19
-46
-14
53
2
0
0
0
0
0
0
0
0
0
-4
10
10
8
-8
-2
-23
-3
0
0
0
0
0
0
0
0
0
1
0
6
-58
10
-7
-110
-2
0
0
0
0
0
0
0
0
0
0
0
-1
3
-4
43
-28
2
0
0
0
0
0
0
0
0
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
3
1
6
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-19
10
-1
0
-1
-3
-3
0
0
0
0
0
0
0
0
0
0
-4
0
-2
11
9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
-4
-10
-2
0
0
0
0
0
0
0
0
0
0
2
0
8
11
2
-12
0
0
0
0
0
0
0
0
0
0
0
-4
-12
0
-2
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
90
36
15
8
2
0
0
0
0
0
0
0
0
0
0
0
2
-41
24
-22
36
7
0
0
0
0
0
0
0
0
0
0
0
-15
67
-28
33
13
38
14
-88
0
0
0
0
0
0
0
0
0
2
-3
-20
-64
-49
19
-28
-47
0
0
0
0
0
0
0
0
0
0
13
-13
-1
-42
-66
10
-54
0
0
0
0
0
0
0
0
0
0
0
0
43
-18
-14
-29
39
0
0
0
0
0
0
0
0
0
0
0
-6
-10
35
39
23
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-22
-10
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-23
0
0
0
0
0
0
0
0
2
-2
-27
37
-34
-82
9
0
0
0
0
0
0
0
0
0
0
-13
-3
-58
-36
-6
-82
-13
0
0
0
0
0
0
0
0
0
0
6
12
29
-24
20
-20
-10
39
26
18
0
0
0
0
0
0
0
0
15
15
-13
17
13
20
7
10
21
0
0
0
0
0
0
0
0
-7
31
10
6
51
-11
-68
-26
9
0
0
0
0
0
0
0
0
4
-31
-23
-4
-22
-19
-61
-48
-48
0
0
0
0
0
0
0
0
0
8
-6
37
61
26
8
-63
14
0
0
0
0
0
0
0
0
0
0
0
15
-4
-49
18
-8
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-86
-1
0
0
0
0
0
0
0
0
0
-4
5
-8
-62
11
0
0
0
7
0
0
0
0
0
0
0
-8
1
-18
-18
-40
-106
0
0
0
-4
0
0
0
0
0
0
0
10
13
3
-18
21
35
-16
7
-65
-4
0
0
0
0
0
0
0
1
-13
-13
38
45
-3
71
-21
9
-7
0
0
0
0
0
0
0
-7
-34
3
-60
-10
-38
-63
28
8
2
0
0
0
0
0
0
0
-6
-31
-2
-42
-21
-2
-36
12
4
-39
0
0
0
0
0
0
0
0
-13
26
35
-33
-40
-35
-38
-23
10
0
0
0
0
0
0
0
0
0
6
50
-107
-2
-12
5
18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-4
-27
0
0
0
0
0
0
0
0
0
-3
-33
-43
8
50
0
0
0
4
0
0
0
0
0
0
0
1
-7
12
7
-59
-25
0
0
0
80
-1
0
0
0
0
0
0
-35
-34
11
-21
-25
20
27
-30
1
-65
-2
0
0
0
0
0
0
-12
-6
-32
-4
-9
-15
-19
-44
55
-14
0
0
0
0
0
0
0
-6
19
9
-57
-18
65
-35
-21
-48
1
-4
0
0
0
0
0
0
0
33
-2
-2
-3
36
-54
6
56
6
-3
0
0
0
0
0
0
0
0
6
7
-4
46
-44
-67
-33
12
0
0
0
0
0
0
0
0
0
0
1
4
2
-35
-43
-42
-16
0
0
0
0
0
0
0
0
0
0
0
-10
0
6
-14
12
1
0
0
0
0
0
0
0
0
6
9
11
14
9
0
0
0
0
0
0
0
0
0
0
0
0
4
-61
54
-7
-43
0
0
0
-8
6
0
0
0
0
0
0
6
-8
17
74
52
69
-41
-28
1
-2
-4
0
0
0
0
0
0
0
27
7
37
17
35
-34
-36
-9
-1
-1
0
0
0
0
0
0
0
20
-73
38
1
-51
-17
-49
8
6
-1
0
0
0
0
0
0
0
0
-2
-22
0
-31
-80
43
-48
3
-1
0
0
0
0
0
0
0
0
0
4
10
45
15
-117
0
-15
-3
0
0
0
0
0
0
0
0
0
0
0
1
-36
37
49
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
6
4
-34
0
0
0
-18
0
0
0
0
0
0
0
0
-8
-27
-12
-28
1
13
-70
23
-4
0
0
0
0
0
0
0
0
1
-2
36
-11
-95
8
-7
-12
15
0
0
0
0
0
0
0
0
0
2
-15
-3
-19
-23
-1
-111
-8
0
0
0
0
0
0
0
0
0
-9
-20
1
26
1
24
-20
0
0
0
0
0
0
0
0
0
0
1
-2
18
2
11
6
-18
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
28
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
15
0
-9
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
18
0
-11
-2
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
-2
7
6
0
0
0
0
0
0
0
0
0
1
-1
8
12
-20
24
15
0
0
0
0
0
0
0
0
0
0
0
6
2
10
-3
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
21
2
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-22
-49
9
-8
-4
0
0
0
0
0
0
0
0
0
0
0
-1
29
17
-20
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-2
72
-121
82
-15
-10
28
-79
0
0
0
0
0
0
0
0
0
0
2
-42
33
35
35
15
-140
0
0
0
0
0
0
0
0
0
-7
2
2
-8
-2
-15
48
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-24
-23
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
15
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-7
-40
-25
31
-19
41
-13
0
0
0
0
0
0
0
0
0
0
-1
-66
1
-51
-7
-30
-52
0
0
0
0
0
0
0
0
0
0
0
1
-1
27
-40
-32
-76
-19
21
21
0
0
0
0
0
0
0
-1
-6
30
1
8
-30
19
-21
-26
-3
0
0
0
0
0
0
0
0
10
-18
56
19
10
-27
-60
-63
12
0
0
0
0
0
0
0
-3
-2
10
-16
-5
21
9
-33
-25
-31
0
0
0
0
0
0
0
0
0
0
-22
-8
-7
-4
-31
23
1
0
0
0
0
0
0
0
0
0
0
1
-12
56
11
-28
-50
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-8
0
0
0
0
0
0
0
0
-15
10
0
2
-33
16
0
0
0
-2
0
0
0
0
0
0
0
8
-25
-25
-3
-24
8
0
0
0
0
0
0
0
0
0
0
0
-2
3
40
14
-20
33
-14
-2
5
1
0
0
0
0
0
0
0
-1
10
-12
36
-16
-2
49
-46
-44
-26
0
0
0
0
0
0
0
-1
-10
-38
-40
-34
-28
-39
-6
46
-4
0
0
0
0
0
0
0
0
3
42
-37
-2
15
-12
-11
-11
-1
0
0
0
0
0
0
0
0
0
8
-13
-11
-10
-15
-25
-46
28
0
0
0
0
0
0
0
0
0
-2
15
8
6
-5
-66
-35
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
12
0
0
0
0
0
0
0
0
0
-33
-12
-62
13
21
0
0
0
3
-1
0
0
0
0
0
0
-9
-20
-9
-33
-35
3
0
0
0
21
-11
0
0
0
0
0
0
10
-5
-1
-27
48
2
-69
16
-29
21
0
0
0
0
0
0
0
-7
45
27
6
2
-38
6
-63
-32
10
0
0
0
0
0
0
0
1
-29
3
31
0
20
2
21
-23
-14
0
0
0
0
0
0
0
0
-26
-35
-5
-91
-1
-41
-41
-57
-8
0
0
0
0
0
0
0
0
0
0
-3
-12
1
0
-55
13
-2
0
0
0
0
0
0
0
0
0
0
0
-6
2
-9
39
28
-52
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
-7
-26
-21
-36
-27
0
0
0
0
4
0
0
0
0
0
0
0
6
-14
-71
34
-10
0
0
0
-1
2
0
0
0
0
0
0
2
7
-38
14
5
27
8
-17
-39
-3
3
0
0
0
0
0
0
3
3
-26
13
17
-43
1
-13
-55
-3
0
0
0
0
0
0
0
0
1
-4
-13
-19
-132
4
44
-10
0
-1
0
0
0
0
0
0
0
0
-28
-11
-66
17
26
31
-38
0
9
0
0
0
0
0
0
0
0
-1
-8
0
-4
84
-11
-29
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
-2
-16
0
1
0
0
0
3
0
0
0
0
0
0
0
0
-16
15
43
-4
11
0
0
0
-11
1
0
0
0
0
0
0
0
0
-9
-1
10
-23
-27
8
-50
-7
0
0
0
0
0
0
0
0
-6
-2
16
22
16
-15
-18
-9
-10
0
0
0
0
0
0
0
0
0
2
-8
-17
-77
-6
15
17
-4
0
0
0
0
0
0
0
0
0
-3
3
0
-22
-10
-3
7
-25
1
0
0
0
0
0
0
0
0
0
0
0
-2
-30
-4
16
-1
-1
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
-2
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
10
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
13
2
1
0
-12
-15
1
1
0
0
0
0
0
0
0
3
0
0
-1
3
6
-12
-7
-1
0
0
0
0
0
0
0
0
0
0
0
4
-2
48
3
13
-1
0
0
0
0
0
0
0
0
0
0
1
-11
3
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
2
-10
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-9
12
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
18
-4
1
0
0
0
0
0
0
0
0
-2
0
0
2
-9
7
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
25
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-35
1
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
-4
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
-18
35
-20
-10
15
0
0
0
0
0
0
0
0
0
0
0
8
-4
39
28
-18
-6
0
-16
0
0
0
0
0
0
0
0
0
-2
0
38
48
-8
32
-3
-11
0
0
0
0
0
0
0
0
0
0
0
2
-3
26
-15
1
-40
0
0
0
0
0
0
0
0
0
0
0
0
-14
7
25
-16
57
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-53
-43
-23
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
15
7
-21
0
0
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
21
7
-10
-87
46
0
0
0
0
0
0
0
0
0
0
-4
24
8
-8
-58
-25
18
0
0
0
0
0
0
0
0
0
0
0
18
-5
4
19
-43
-19
20
8
-12
0
0
0
0
0
0
0
0
-19
7
-24
-15
-29
-18
53
-5
-19
0
0
0
0
0
0
0
0
-5
39
8
-32
0
-28
-1
-9
-1
0
0
0
0
0
0
0
0
0
16
9
28
-25
-49
-19
-17
-22
0
0
0
0
0
0
0
0
0
13
-2
5
-10
-57
-2
7
-32
0
0
0
0
0
0
0
0
0
0
0
2
-13
-52
-2
-53
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
20
0
0
0
0
0
0
0
0
0
0
-48
-34
1
-63
-19
0
0
0
0
0
0
0
0
0
0
0
-7
-9
-16
-15
-36
3
0
0
0
-12
0
0
0
0
0
0
0
-8
22
37
-8
7
-65
-22
35
50
-8
0
0
0
0
0
0
0
0
0
16
15
-4
-2
-23
47
10
28
0
0
0
0
0
0
0
0
-19
30
27
-14
4
-93
-8
27
5
0
0
0
0
0
0
0
4
2
-8
-22
-37
-16
-11
-19
5
-8
0
0
0
0
0
0
0
0
1
2
-59
23
-17
-45
-14
-27
-8
0
0
0
0
0
0
0
0
0
0
1
-7
-34
-42
36
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
-1
0
0
0
0
0
0
0
0
-6
3
33
-116
-74
-9
0
0
0
2
0
0
0
0
0
0
0
-24
-1
90
9
37
-22
0
0
0
22
2
0
0
0
0
0
-8
0
-1
-43
27
-43
18
-25
-22
12
3
0
0
0
0
0
0
2
13
0
0
-8
34
7
-11
-16
-17
-11
0
0
0
0
0
0
0
0
2
3
-22
-24
-23
-24
-6
14
3
-1
0
0
0
0
0
0
0
0
2
20
-9
4
-28
25
-3
-14
0
0
0
0
0
0
0
0
0
0
0
15
0
27
30
-27
-4
0
0
0
0
0
0
0
0
0
0
0
0
7
2
63
15
-4
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
11
6
-40
40
13
0
0
0
0
1
0
0
0
0
0
0
0
-27
-59
33
-25
63
0
0
0
-2
1
0
0
0
0
0
0
2
-8
-37
7
22
4
33
28
11
-3
-7
0
0
0
0
0
0
1
-6
12
-12
52
7
45
-21
10
0
1
0
0
0
0
0
0
0
1
9
-19
25
38
16
-15
-18
0
0
0
0
0
0
0
0
0
7
1
11
-16
10
-4
10
18
-4
0
0
0
0
0
0
0
0
0
-8
0
0
42
8
7
16
1
0
0
0
0
0
0
0
0
0
0
0
7
7
27
-60
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
-6
-17
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-27
-63
46
12
0
0
0
-27
0
0
0
0
0
0
0
0
16
3
29
50
2
-36
15
23
0
0
0
0
0
0
0
0
0
0
-12
0
0
-123
-49
54
-57
12
0
0
0
0
0
0
0
0
-3
0
-2
-24
-53
0
-34
-44
5
0
0
0
0
0
0
0
0
0
0
0
0
-29
39
17
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-6
-8
2
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-8
0
1
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
0
-2
0
-3
10
0
-3
0
0
0
0
0
0
0
1
0
6
0
0
-15
-48
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-16
11
-13
-3
0
0
0
0
0
0
0
0
0
0
-4
-8
0
-29
-4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
-11
2
11
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-4
-1
4
1
0
0
0
0
0
0
0
0
0
-1
-4
2
-22
12
-1
1
8
0
0
0
0
0
0
0
0
0
0
1
-10
4
3
0
-87
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
2
-18
-28
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-13
11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
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
-7
-2
18
-1
-2
0
0
0
-1
0
0
0
0
0
0
0
0
1
-12
12
3
-4
1
-8
-11
0
0
0
0
0
0
0
0
0
-2
0
-32
-9
-35
-9
-25
-1
-3
0
0
0
0
0
0
0
0
3
0
6
0
0
17
-9
98
0
0
0
0
0
0
0
0
0
0
-8
3
1
47
9
-53
46
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
-22
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
6
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-6
0
18
-2
-10
-1
0
22
0
0
0
0
0
0
0
0
0
0
0
7
18
36
-30
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
21
-32
20
-62
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
31
-19
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
11
25
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
22
20
20
-29
0
0
0
0
0
0
0
0
0
0
0
-22
3
-2
-52
31
-26
0
0
0
0
0
0
0
0
0
0
0
-22
-11
-1
-2
-63
-28
-27
15
-52
0
0
0
0
0
0
0
0
8
-10
51
-18
-54
53
-25
-50
4
0
0
0
0
0
0
0
0
0
8
-8
8
0
12
46
-44
-75
0
0
0
0
0
0
0
0
0
-4
-143
35
2
-20
-40
57
-12
0
0
0
0
0
0
0
0
0
-13
-15
15
-21
-43
-43
-24
-28
0
0
0
0
0
0
0
0
0
-8
9
-12
-22
2
72
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
56
-3
0
0
0
0
0
0
0
0
7
-9
-25
-8
17
1
0
0
0
4
0
0
0
0
0
0
0
-11
18
-50
-9
64
16
0
0
0
11
0
0
0
0
0
0
0
-12
-46
40
-23
12
-75
11
13
-17
2
0
0
0
0
0
0
0
0
-15
24
9
-8
-8
9
27
44
-4
0
0
0
0
0
0
0
0
0
-49
-74
-27
18
42
-14
-22
0
0
0
0
0
0
0
0
1
45
28
23
-56
-11
-66
-65
5
-11
0
0
0
0
0
0
0
1
0
4
-84
16
-78
-49
14
-24
22
0
0
0
0
0
0
0
0
0
0
-17
-50
-3
25
6
-12
10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-74
-27
0
0
0
0
0
0
0
0
0
-3
3
-58
44
6
0
0
0
3
0
0
0
0
0
0
0
0
12
33
-29
10
4
0
0
0
7
0
0
0
0
0
0
0
0
8
14
26
-23
29
2
15
2
1
0
0
0
0
0
0
0
0
17
39
8
-24
-70
0
-16
-72
-12
0
0
0
0
0
0
0
-16
0
0
-26
-74
-60
-50
-5
8
-11
0
0
0
0
0
0
0
-1
6
-3
29
-24
-43
-28
-11
25
-46
9
0
0
0
0
0
0
0
0
0
6
-121
-76
-19
-16
-12
-17
0
0
0
0
0
0
0
0
0
0
-9
15
-6
21
-5
19
82
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
3
-11
-3
0
0
0
0
0
0
0
0
1
15
-29
-8
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
-1
-41
-52
-17
0
0
0
0
0
0
0
0
0
0
0
3
16
30
-19
28
28
41
-7
-39
3
-1
0
0
0
0
0
0
0
10
14
0
-14
-53
34
-47
65
-2
0
0
0
0
0
0
0
0
0
6
0
37
-47
-58
-49
-87
2
0
0
0
0
0
0
0
0
4
0
1
-24
68
2
-40
40
0
0
0
0
0
0
0
0
0
0
0
6
30
-42
34
-4
-20
-18
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-5
1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
10
3
-1
0
0
0
0
0
0
0
0
0
0
7
6
-3
2
0
0
0
-3
0
0
0
0
0
0
0
-11
0
33
6
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
7
4
3
-4
14
-18
2
0
0
0
0
0
0
0
0
-3
4
0
-21
-8
-16
27
2
7
0
0
0
0
0
0
0
0
-13
1
0
0
38
-21
-40
32
-12
-1
0
0
0
0
0
0
0
1
0
-13
-16
9
-62
-14
4
-13
0
0
0
0
0
0
0
0
0
-1
2
0
-38
-17
-18
-63
-7
0
0
0
0
0
0
0
0
0
0
10
3
-6
37
3
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
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
12
-10
7
-1
-3
-4
16
0
-1
0
0
0
0
0
0
0
0
0
3
6
6
7
-8
-1
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
54
-15
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-45
26
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-11
-17
17
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-11
-3
-44
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
15
1
2
1
-8
-16
0
0
0
0
0
0
0
0
0
-1
-30
-6
-2
45
-33
9
-21
0
0
0
0
0
0
0
0
0
1
-2
2
15
-35
66
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
-64
-19
42
-20
1
0
0
0
0
0
0
0
0
0
0
0
8
9
-7
-27
-13
11
0
0
0
0
0
0
0
0
0
0
-2
0
3
3
1
-21
35
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
-4
4
-40
-6
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
13
-6
-28
4
0
0
0
-2
0
0
0
0
0
0
0
0
8
-9
51
-16
-4
0
0
2
1
0
0
0
0
0
0
0
0
2
-2
-8
-42
5
-7
-37
-13
0
0
0
0
0
0
0
0
0
-7
-10
46
20
25
-18
15
0
-2
0
0
0
0
0
0
0
0
0
-1
-8
-35
-19
-31
24
-58
0
0
0
0
0
0
0
0
0
0
1
1
-16
15
-8
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-72
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-20
-7
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
-1
2
-7
-33
22
-16
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
42
13
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
-70
-48
-11
36
0
0
0
0
0
0
0
0
0
0
-1
0
0
-23
30
-11
8
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
3
1
12
0
0
0
0
0
0
0
0
0
0
-8
4
14
10
2
0
0
0
0
0
0
0
0
0
0
0
-11
6
30
-20
51
-8
0
0
0
0
0
0
0
0
0
0
0
0
67
-10
33
-36
27
-4
15
-23
0
0
0
0
0
0
0
0
-5
-50
-56
-35
-17
-61
-26
19
34
0
0
0
0
0
0
0
0
0
-1
2
-42
-10
-52
38
-27
-36
0
0
0
0
0
0
0
0
0
7
-12
6
-32
22
-14
2
-20
0
0
0
0
0
0
0
0
-7
-2
-39
0
-76
-14
-22
-50
-4
0
0
0
0
0
0
0
0
0
-1
0
-26
-27
45
26
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-28
2
0
0
0
0
0
0
0
0
0
27
-37
-15
-16
17
0
0
0
1
0
0
0
0
0
0
0
0
-3
-1
-13
-39
-1
0
0
0
-3
0
0
0
0
0
0
0
-11
-10
14
57
-30
-80
7
15
55
2
0
0
0
0
0
0
0
-29
-7
-19
-40
3
-12
35
18
-45
0
0
0
0
0
0
0
0
6
-12
-114
-23
-32
-3
-12
50
26
1
0
0
0
0
0
0
0
8
0
-12
7
19
-30
-17
-28
-25
8
0
0
0
0
0
0
0
0
-12
-27
29
16
-12
21
-49
-57
-19
0
0
0
0
0
0
0
0
0
0
6
33
-3
-111
-4
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
34
37
0
0
0
0
0
0
0
0
0
-2
10
-8
-2
-4
0
0
0
24
0
0
0
0
0
0
0
0
4
-25
4
33
2
0
0
0
-3
0
0
0
0
0
0
0
-11
-6
11
8
-7
-15
9
18
21
0
0
0
0
0
0
0
0
0
-10
6
-46
31
-51
38
-68
-13
10
0
0
0
0
0
0
0
0
6
10
-18
25
-40
69
-50
-5
16
0
0
0
0
0
0
0
-3
-1
0
21
-97
9
-26
17
-44
-25
-2
0
0
0
0
0
0
0
0
0
2
-35
14
106
-26
-31
-32
-4
0
0
0
0
0
0
0
0
0
0
-1
10
-42
4
-24
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
-13
38
1
-9
0
0
0
0
0
0
0
0
-29
13
-17
42
12
0
0
0
0
0
0
0
0
0
0
0
0
28
-20
19
64
25
0
0
0
1
0
0
0
0
0
0
0
-1
0
-12
-101
-6
-3
-11
37
-31
0
2
0
0
0
0
0
0
0
0
25
3
6
62
18
11
-19
1
0
0
0
0
0
0
0
0
6
-1
25
32
-87
66
21
-68
0
1
0
0
0
0
0
0
0
4
18
0
8
39
-4
22
-33
0
-1
0
0
0
0
0
0
0
-7
-9
-6
30
26
-86
-52
-36
0
0
0
0
0
0
0
0
0
0
0
-9
0
-23
24
36
5
-2
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
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
4
2
57
7
1
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
10
-14
-8
20
-1
0
9
-1
0
0
0
0
0
0
0
0
0
0
-2
-6
-1
-6
27
16
0
0
0
0
0
0
0
0
0
-1
9
12
15
-22
-16
-81
-10
0
0
0
0
0
0
0
0
0
-7
-13
-6
0
34
-7
52
-8
-7
0
0
0
0
0
0
0
0
0
-3
0
0
-7
-9
15
-41
6
0
0
0
0
0
0
0
0
0
0
0
0
0
30
43
-6
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-30
-4
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
-5
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
7
0
-16
1
0
-1
0
0
0
0
0
0
0
0
0
-6
0
0
8
-11
-6
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
43
2
-43
18
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
21
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-11
1
-7
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
-28
1
-9
-1
0
-1
0
0
0
0
0
0
0
0
0
0
2
-1
-7
2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
2
0
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
4
22
9
6
-3
0
0
0
0
0
0
0
0
0
0
0
-9
-33
48
5
-22
18
11
-4
1
0
0
0
0
0
0
0
0
4
0
-11
19
-40
11
-95
-12
-19
0
0
0
0
0
0
0
0
0
-10
-58
-61
-3
-34
-64
30
-29
0
0
0
0
0
0
0
0
0
8
0
17
24
8
-10
0
-56
0
0
0
0
0
0
0
0
0
0
-1
22
-2
-56
-30
-46
41
0
0
0
0
0
0
0
0
0
0
0
2
4
16
-21
-15
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
54
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
10
-8
-22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-14
-20
-11
-1
0
-1
0
0
0
0
0
0
0
0
0
9
18
16
-8
-18
-13
-29
4
-4
0
0
0
0
0
0
0
0
0
-3
12
-1
-57
-12
-53
-30
0
0
0
0
0
0
0
0
0
0
0
-8
-7
64
-26
-5
0
10
0
0
0
0
0
0
0
0
0
0
1
0
8
-9
-30
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-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
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-20
6
-1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-19
0
13
-41
-17
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-7
-50
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-15
36
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
9
43
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
-4
15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
70
-9
-10
3
25
0
0
0
0
0
0
0
0
0
0
0
-1
-48
39
23
-10
39
7
-17
45
0
0
0
0
0
0
0
0
7
12
8
-8
-109
0
28
92
25
0
0
0
0
0
0
0
0
0
13
21
62
-8
-8
20
-57
-74
0
0
0
0
0
0
0
0
-7
0
-2
-16
12
-34
-28
-4
33
0
0
0
0
0
0
0
0
0
10
4
10
-20
-52
-10
18
8
0
0
0
0
0
0
0
0
0
0
-1
0
12
-35
-22
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
-27
6
0
0
0
0
0
0
0
0
0
-14
-7
-7
-11
21
0
0
0
0
0
0
0
0
0
0
0
22
-26
-4
11
41
19
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
44
-8
3
27
7
16
1
0
0
0
0
0
0
0
21
9
19
3
21
20
86
-45
-70
2
0
0
0
0
0
0
0
6
-6
-16
6
23
4
1
-22
-59
6
0
0
0
0
0
0
0
4
-41
38
-18
-38
12
30
15
23
0
0
0
0
0
0
0
0
0
0
-23
62
5
8
26
1
-20
-19
0
0
0
0
0
0
0
0
-1
5
-14
-1
18
16
8
6
-12
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
-8
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
4
12
24
1
0
0
0
-13
0
0
0
0
0
0
0
0
0
4
27
-2
-39
0
1
7
-2
0
0
0
0
0
0
0
0
-9
40
-10
-28
-50
1
4
-8
0
0
0
0
0
0
0
0
-6
13
10
-27
43
-75
-6
46
-7
-1
1
0
0
0
0
0
0
0
0
6
-4
-26
11
23
-33
-41
-8
0
0
0
0
0
0
0
0
0
0
-49
-2
-28
-48
-57
-3
-15
0
0
0
0
0
0
0
0
0
0
0
-24
-3
-23
-58
35
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
46
-25
0
0
0
0
0
0
0
0
0
-4
0
-1
1
16
0
0
0
-1
0
0
0
0
0
0
0
3
0
-67
19
29
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-5
26
1
-1
-7
-3
4
0
0
0
0
0
0
0
0
3
-1
-35
8
17
43
-45
-3
1
0
0
0
0
0
0
0
0
0
0
42
41
-2
-122
-35
5
-16
0
0
0
0
0
0
0
0
0
13
-27
-12
61
-31
10
-49
-11
0
0
0
0
0
0
0
0
0
0
0
0
1
-76
46
-10
6
1
0
0
0
0
0
0
0
0
0
0
0
0
-28
38
-22
-94
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-1
0
0
0
0
0
0
0
0
0
4
-9
1
15
0
0
0
0
0
0
0
0
0
0
0
0
-4
18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
-3
-6
24
4
-17
0
0
0
0
0
0
0
0
0
-6
0
44
16
-46
-1
10
0
0
0
0
0
0
0
0
0
0
-2
-2
-10
1
-5
-19
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
-23
-37
-28
-16
0
0
0
0
0
0
0
0
0
1
-1
7
-2
-28
-13
30
-10
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
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
17
21
8
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-26
-16
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
4
-6
-19
1
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-38
7
4
9
1
0
0
0
0
0
0
0
0
0
-1
0
-25
4
-50
-3
36
41
0
0
0
0
0
0
0
0
0
0
0
0
3
0
8
20
37
0
2
0
0
0
0
0
0
0
0
0
0
0
0
8
14
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
-8
0
7
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-8
-36
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
24
0
-34
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
4
0
0
0
0
0
0
0
0
0
0
-8
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
21
-29
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
13
-30
38
-7
0
0
6
0
0
0
0
0
0
0
0
0
0
18
50
-29
-40
-22
-7
-17
0
0
0
0
0
0
0
0
-3
-1
-6
6
-14
1
3
-4
-10
0
0
0
0
0
0
0
0
0
0
0
29
-40
-35
4
66
-6
0
0
0
0
0
0
0
0
0
0
-1
-6
-1
41
-49
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
18
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
21
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
1
-15
10
-29
-7
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
-13
-2
-6
-8
0
0
0
0
0
0
0
0
0
0
-6
0
-2
19
7
-27
3
0
0
0
0
0
0
0
0
0
0
0
-10
4
8
33
34
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
25
6
2
-7
0
-1
0
0
0
0
0
0
0
0
0
0
10
-7
-2
31
5
-24
0
0
0
0
0
0
0
0
0
0
0
0
-22
-4
17
-3
21
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
-5
-66
18
34
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
1
16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
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
-18
6
8
10
0
0
0
0
0
0
0
0
0
0
0
0
-16
1
3
7
-4
0
0
0
0
0
0
0
0
0
0
0
2
-1
-6
-46
-42
2
-28
2
-1
0
0
0
0
0
0
0
0
0
-48
-39
-45
14
12
23
36
-1
0
0
0
0
0
0
0
0
0
0
21
22
10
-31
4
-54
3
0
0
0
0
0
0
0
0
0
0
-10
-8
28
32
-19
-3
3
0
0
0
0
0
0
0
0
0
-17
-22
0
-56
30
6
-70
-14
0
0
0
0
0
0
0
0
0
0
0
0
2
9
0
-30
16
0
0
0
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
-17
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-38
1
12
0
0
-2
0
0
0
0
0
0
0
0
0
-25
-6
49
-41
73
-11
-8
-13
0
0
0
0
0
0
0
0
0
-19
2
29
-38
-2
-57
-22
-4
-3
0
0
0
0
0
0
0
0
-6
2
30
5
-17
-27
-17
-57
0
0
0
0
0
0
0
0
0
0
-10
-35
26
-38
17
-58
-57
-1
0
0
0
0
0
0
0
0
0
0
0
-10
17
-47
-31
32
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-13
-42
-15
-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
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-6
28
0
0
2
0
0
0
0
0
0
0
0
0
0
1
-38
-1
12
-4
0
8
2
0
0
0
0
0
0
0
0
0
0
-2
0
-26
34
-15
7
-6
0
0
0
0
0
0
0
0
0
0
0
15
-14
75
26
-74
-38
0
0
0
0
0
0
0
0
0
0
7
-2
13
-107
-82
-5
-35
1
0
0
0
0
0
0
0
0
0
0
-1
-7
-32
7
-62
-58
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-85
-7
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
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
7
-17
-22
1
15
0
0
0
0
0
0
0
0
0
0
1
-2
-2
8
4
-13
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
30
-70
-12
28
0
0
0
0
0
0
0
0
0
0
6
0
-9
-17
18
3
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
3
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
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
2
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
59
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
-22
11
-17
-8
0
0
0
0
0
0
0
0
0
0
8
0
0
-1
-18
-46
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
2
-44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
11
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-22
-2
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
4
1
-40
-19
2
-1
0
0
0
0
0
0
0
0
0
0
0
22
-9
-16
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-10
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
1
-1
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
8
-8
-21
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
2
37
27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
2
3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
7
1
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-34
-26
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-32
-37
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-10
4
26
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
12
6
0
0
0
0
0
0
0
0
0
0
2
90
41
-4
27
-7
-28
0
0
0
0
0
0
0
0
0
0
20
15
-36
29
-1
-37
-9
-18
0
0
0
0
0
0
0
0
0
4
10
0
-1
-2
22
11
0
0
0
0
0
0
0
0
0
0
1
11
0
-4
0
0
7
0
0
0
0
0
0
0
0
0
0
-10
-34
9
-2
-2
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
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
1
10
35
-12
2
35
0
0
0
0
0
0
0
0
0
34
-4
58
29
37
-4
-8
-8
4
0
0
0
0
0
0
0
0
63
-1
24
17
-12
-13
1
-9
-10
0
0
0
0
0
0
0
0
18
26
-53
73
13
-3
38
45
-20
-1
0
0
0
0
0
0
0
62
-42
13
-10
-43
10
53
-21
9
0
0
0
0
0
0
0
0
-7
4
55
26
11
11
14
9
-31
-11
0
0
0
0
0
0
0
-16
7
42
-47
45
-9
2
0
-28
0
0
0
0
0
0
0
0
21
44
-23
10
2
-43
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
-6
-150
-37
-66
0
-8
0
0
0
0
0
0
0
18
72
-3
70
6
6
-45
11
4
-7
0
0
0
0
0
0
0
14
109
90
-14
-11
24
45
15
19
-10
0
0
0
0
0
0
0
25
20
-19
24
-38
102
55
-1
17
-27
0
0
0
0
0
0
0
-4
-29
26
7
-15
-103
74
-37
-6
-7
0
0
0
0
0
0
0
1
-16
-45
-19
-34
61
-4
-3
18
3
0
0
0
0
0
0
0
0
19
-48
13
46
-7
16
-16
4
27
0
0
0
0
0
0
0
-2
67
19
-55
9
4
-25
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
-18
-105
-29
0
0
0
0
0
0
0
0
0
33
-8
105
-10
-10
31
-19
1
-9
0
0
0
0
0
0
0
0
83
8
47
42
-48
-22
-18
-38
-24
0
0
0
0
0
0
0
0
52
33
42
20
12
-39
-20
42
-4
1
0
0
0
0
0
0
0
60
15
-4
2
-34
-11
41
31
16
4
0
0
0
0
0
0
0
-29
51
16
-16
-8
-5
3
-32
0
-1
0
0
0
0
0
0
0
7
26
26
9
-10
-6
-38
-1
-8
0
0
0
0
0
0
0
0
-9
-82
-26
-29
-1
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-32
1
0
0
55
-43
0
0
0
0
0
0
0
0
0
0
-4
14
-16
2
44
9
-11
-18
0
0
0
0
0
0
0
0
18
20
75
59
-48
-8
5
-1
15
1
0
0
0
0
0
0
0
6
-49
-35
37
-10
-17
-31
-52
21
6
0
0
0
0
0
0
0
8
7
7
-34
2
8
-6
2
-16
12
0
0
0
0
0
0
0
10
6
-7
16
-22
-2
-37
0
13
18
0
0
0
0
0
0
0
2
15
-5
-2
0
4
-8
-15
-6
0
0
0
0
0
0
0
0
1
28
9
-7
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
-3
2
0
0
0
-9
0
0
0
0
0
0
0
0
0
10
101
86
43
62
0
4
12
2
0
0
0
0
0
0
0
0
-74
66
3
5
4
65
17
-11
10
0
0
0
0
0
0
0
0
0
27
17
-64
-4
-9
-14
-16
0
0
0
0
0
0
0
0
0
-2
1
36
-8
-14
27
48
16
-2
0
0
0
0
0
0
0
0
0
8
-6
0
6
-3
-1
15
-1
-2
0
0
0
0
0
0
0
9
-27
12
4
0
2
0
19
10
0
0
0
0
0
0
0
0
0
14
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
77
25
25
25
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-1
3
11
4
21
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-7
0
-6
-1
0
0
0
0
0
0
0
0
0
-10
0
1
3
6
-3
0
13
0
0
0
0
0
0
0
0
0
9
0
0
1
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
8
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
30
17
33
27
18
-2
0
0
0
0
0
0
0
0
0
15
44
72
58
5
54
-27
14
0
0
0
0
0
0
0
0
0
-1
72
12
19
-55
42
-21
9
16
0
0
0
0
0
0
0
0
24
83
10
-5
-10
9
-34
3
0
0
0
0
0
0
0
0
0
-4
1
9
16
-12
15
25
2
0
0
0
0
0
0
0
0
0
-41
-3
4
-42
-3
53
1
-1
0
0
0
0
0
0
0
0
0
-118
37
-4
-1
-2
0
2
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
11
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
18
49
8
9
9
-20
0
0
0
0
0
0
0
0
0
10
80
3
5
-18
26
0
-35
36
0
0
0
0
0
0
0
0
0
39
22
-20
27
-49
35
-8
39
2
0
0
0
0
0
0
0
83
61
22
36
59
27
13
-2
-10
0
0
0
0
0
0
0
0
2
-26
41
-12
-4
-8
29
-77
-41
1
0
0
0
0
0
0
0
-63
52
2
7
18
7
0
54
22
0
0
0
0
0
0
0
0
-8
-70
-39
43
25
1
0
-21
-8
0
0
0
0
0
0
0
0
8
-57
-10
50
10
2
0
1
0
0
0
0
0
0
0
0
0
-8
-2
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
44
144
2
10
27
-7
-25
39
0
2
0
0
0
0
0
0
0
59
35
27
33
-45
-27
55
19
88
2
0
0
0
0
0
0
0
0
84
-99
-38
-52
81
-25
-26
-55
-8
0
0
0
0
0
0
0
34
47
92
15
-31
-24
37
-19
-20
-28
0
0
0
0
0
0
0
30
-11
-30
-13
44
3
29
18
-1
-14
0
0
0
0
0
0
0
-15
-1
16
63
-18
-67
13
-46
35
12
0
0
0
0
0
0
0
-44
49
23
-44
-24
19
-40
15
-24
0
0
0
0
0
0
0
0
0
0
-16
-52
41
48
-1
-27
-7
0
0
0
0
0
0
0
0
0
7
0
0
12
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
28
-4
80
12
2
39
0
-1
0
0
0
0
0
0
0
-5
-10
63
10
-12
-5
-22
64
20
0
-1
0
0
0
0
0
0
35
-33
133
-115
9
-4
24
-19
-5
-6
0
0
0
0
0
0
0
16
-40
52
-31
-20
-12
64
25
33
-2
0
0
0
0
0
0
0
48
-7
19
-26
-16
-53
-7
-40
-1
-1
0
0
0
0
0
0
0
-145
-22
66
24
-36
-6
-2
75
-12
0
0
0
0
0
0
0
0
14
59
75
-33
10
-24
-17
11
-6
0
0
0
0
0
0
0
0
6
-13
-46
-12
-2
3
-6
-1
0
0
0
0
0
0
0
0
0
-8
0
-27
0
3
1
0
0
0
0
0
0
0
0
0
0
0
-4
5
3
-3
-4
7
16
-19
0
0
0
0
0
0
0
0
0
32
50
-11
54
63
24
46
-36
-60
0
0
0
0
0
0
0
0
55
-10
25
83
21
15
-11
54
13
7
0
0
0
0
0
0
0
-40
62
22
-3
27
-43
-64
26
18
12
0
0
0
0
0
0
0
14
-17
-72
2
-53
-49
-6
-42
56
-12
0
0
0
0
0
0
0
-14
31
14
13
-19
-18
-32
-66
1
0
0
0
0
0
0
0
0
12
-18
30
-35
1
-7
-14
-1
7
-4
0
0
0
0
0
0
0
0
-47
13
20
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
72
-3
56
-42
-12
2
-65
33
0
2
0
0
0
0
0
0
0
22
33
55
44
63
21
37
70
-9
0
0
0
0
0
0
0
0
14
69
39
20
79
-37
20
-33
17
0
0
0
0
0
0
0
0
55
39
13
-24
-49
54
-23
23
-27
0
0
0
0
0
0
0
0
59
-13
31
-21
52
6
-25
20
-6
1
0
0
0
0
0
0
0
7
13
55
32
13
28
28
-19
-1
0
0
0
0
0
0
0
0
-12
49
7
41
20
2
-11
-4
-2
0
0
0
0
0
0
0
0
0
22
-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
-35
-35
7
33
28
0
-3
0
-10
0
0
0
0
0
0
0
0
38
-23
0
106
14
28
-3
8
0
0
0
0
0
0
0
0
0
28
17
-25
87
18
9
2
0
0
0
0
0
0
0
0
0
0
58
16
11
16
11
3
28
-1
0
0
0
0
0
0
0
0
0
29
4
52
0
13
-3
17
6
0
0
0
0
0
0
0
0
0
18
-5
-45
7
7
-7
-1
0
-2
0
0
0
0
0
0
0
0
0
16
1
1
0
0
4
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
4
0
4
0
0
0
0
0
0
0
0
0
0
1
0
13
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
42
43
9
37
-32
0
-3
0
0
0
0
0
0
0
0
0
-3
51
39
-36
-54
75
-22
-4
6
0
0
0
0
0
0
0
0
-32
-20
10
-2
19
3
13
35
-13
0
0
0
0
0
0
0
0
-20
22
68
-17
10
20
23
-5
13
0
0
0
0
0
0
0
0
-16
38
-4
78
-1
29
-1
0
0
0
0
0
0
0
0
0
0
24
21
32
8
-4
-7
0
-2
0
0
0
0
0
0
0
0
0
-2
5
-29
-11
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
7
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
28
18
86
80
46
5
26
0
0
0
0
0
0
0
0
0
38
56
30
43
-16
23
34
-39
40
0
0
0
0
0
0
0
0
-2
69
9
76
24
-10
-5
7
-58
2
0
0
0
0
0
0
0
43
-35
-12
-11
54
29
40
12
5
0
0
0
0
0
0
0
0
48
1
40
4
-5
22
21
77
22
1
0
0
0
0
0
0
0
71
-19
24
47
-48
60
36
28
9
0
0
0
0
0
0
0
0
67
41
-5
-9
-7
29
32
-11
11
0
0
0
0
0
0
0
0
15
-3
-11
19
17
-1
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
27
56
36
18
-8
-13
-35
8
0
1
0
0
0
0
0
0
0
-24
4
-16
64
-2
-38
9
-34
-6
0
0
0
0
0
0
0
0
-31
66
26
63
6
0
-29
-38
7
-3
0
0
0
0
0
0
0
30
7
-20
38
11
-4
-40
18
32
-3
0
0
0
0
0
0
0
16
-10
71
-34
37
-43
16
-23
-11
11
0
0
0
0
0
0
0
40
18
-13
41
20
33
-21
-33
27
-12
0
0
0
0
0
0
0
2
20
-1
-9
-40
-42
-6
64
-35
0
0
0
0
0
0
0
0
1
38
75
24
-13
-2
3
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
-14
35
25
30
-23
0
13
0
0
0
0
0
0
0
0
0
-58
-20
7
129
16
-4
-19
-60
-3
0
0
0
0
0
0
0
0
30
4
-1
14
-50
4
-50
70
5
1
0
0
0
0
0
0
0
12
-77
-12
8
-39
84
11
20
11
-1
0
0
0
0
0
0
0
-11
36
35
36
9
37
20
-19
9
0
0
0
0
0
0
0
0
131
41
5
-34
-83
41
55
-24
1
0
0
0
0
0
0
0
0
23
4
24
25
-26
-40
4
0
10
0
0
0
0
0
0
0
0
42
-48
-7
-4
-6
0
0
-7
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
-3
68
67
-12
-10
29
19
44
0
0
0
0
0
0
0
0
0
-150
-18
-12
76
22
58
-20
-43
43
-28
0
0
0
0
0
0
0
-15
-3
32
0
27
39
2
24
-11
1
0
0
0
0
0
0
0
-14
71
25
-54
-7
-1
-11
4
4
0
0
0
0
0
0
0
0
37
16
56
5
35
22
8
-21
0
-4
0
0
0
0
0
0
0
29
72
12
17
6
18
-73
-24
7
0
0
0
0
0
0
0
0
-3
-14
18
-11
-1
19
9
0
1
0
0
0
0
0
0
0
0
8
58
3
-15
0
0
12
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
-16
-37
-14
15
79
147
9
0
0
0
0
0
0
0
0
0
24
-30
-49
54
64
17
94
10
-16
0
0
0
0
0
0
0
0
-91
-8
22
-12
19
-9
-3
-53
1
0
0
0
0
0
0
0
0
-25
69
50
17
50
-9
-36
35
-4
0
0
0
0
0
0
0
0
45
-20
30
0
-47
-4
-39
0
27
0
0
0
0
0
0
0
0
-8
-52
0
-23
8
8
25
0
0
0
0
0
0
0
0
0
0
2
60
41
2
-23
0
0
2
0
0
0
0
0
0
0
0
0
0
-70
5
4
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
12
14
-1
-28
66
3
-3
0
0
0
0
0
0
0
0
0
0
24
59
-27
-32
25
-2
-4
-1
0
0
0
0
0
0
0
0
0
-17
-7
37
6
-6
1
7
-4
0
0
0
0
0
0
0
0
0
55
12
5
23
2
1
0
-1
0
0
0
0
0
0
0
0
0
-93
9
0
-1
-2
26
6
0
0
0
0
0
0
0
0
0
0
-47
-33
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-1
9
-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
-2
-7
2
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
19
-1
4
-4
-1
0
0
0
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
-1
1
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
7
-1
0
1
0
0
0
0
0
0
0
0
0
1
-1
3
4
0
-4
21
0
-1
0
0
0
0
0
0
0
0
6
3
3
0
1
-6
0
-1
0
0
0
0
0
0
0
0
0
-7
-7
-2
-1
-2
-10
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
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
17
-1
10
10
3
0
0
0
0
0
0
0
0
0
0
26
-3
25
12
-13
-21
10
-3
0
0
0
0
0
0
0
0
0
30
4
36
15
12
43
-25
1
0
0
0
0
0
0
0
0
0
-77
12
15
-4
-4
-18
2
-2
0
0
0
0
0
0
0
0
0
7
13
24
-2
0
-2
0
11
0
0
0
0
0
0
0
0
0
3
1
-21
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
18
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
5
20
-6
41
1
4
0
0
0
0
0
0
0
0
0
-9
-2
-12
-5
16
-7
0
11
0
0
0
0
0
0
0
0
0
23
6
29
-18
-12
-13
0
11
2
0
0
0
0
0
0
0
0
-7
2
22
6
12
28
0
-1
0
0
0
0
0
0
0
0
0
0
22
47
-20
44
-19
2
3
0
0
0
0
0
0
0
0
0
29
13
27
-17
6
3
0
0
0
0
0
0
0
0
0
0
0
10
-58
56
-7
12
-15
0
0
0
0
0
0
0
0
0
0
0
9
20
34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-55
33
72
46
74
39
27
0
0
0
0
0
0
0
0
0
47
39
31
40
14
-10
1
23
10
-1
0
0
0
0
0
0
0
59
-10
95
60
-1
12
17
20
-13
-2
0
0
0
0
0
0
0
123
16
38
63
94
0
43
48
27
0
0
0
0
0
0
0
0
-19
-34
34
102
34
-18
36
52
31
0
0
0
0
0
0
0
0
6
-69
35
19
1
3
0
-12
-19
-4
0
0
0
0
0
0
0
-53
29
59
-4
-41
-15
-5
10
28
0
0
0
0
0
0
0
0
-26
-23
-22
27
-38
15
6
-6
0
0
0
0
0
0
0
0
0
12
-10
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-24
46
137
-29
-45
-21
-12
0
-1
0
0
0
0
0
0
0
-2
54
-28
33
40
62
11
-13
9
-3
0
0
0
0
0
0
0
-4
81
9
-36
12
-17
-11
7
-18
-2
0
0
0
0
0
0
0
-8
76
-3
10
-26
-25
-41
-9
25
0
0
0
0
0
0
0
0
-27
40
0
8
41
-21
-5
5
46
7
0
0
0
0
0
0
0
3
28
12
93
-32
16
14
-39
6
0
0
0
0
0
0
0
0
0
67
82
-2
-14
-33
3
1
26
0
0
0
0
0
0
0
0
-40
66
-62
-63
33
3
0
1
0
0
0
0
0
0
0
0
0
-52
-11
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
44
55
3
69
-12
110
19
0
0
0
0
0
0
0
0
0
-41
-28
-17
25
78
74
38
-27
-1
0
0
0
0
0
0
0
0
23
-23
11
0
19
-14
27
39
-7
1
0
0
0
0
0
0
0
-16
59
12
-2
9
55
-43
62
-30
1
0
0
0
0
0
0
0
-124
-66
-38
21
-10
12
4
41
-8
-1
0
0
0
0
0
0
0
-13
78
17
-35
23
22
8
23
0
0
0
0
0
0
0
0
0
10
43
26
-14
1
1
0
0
-1
0
0
0
0
0
0
0
0
-7
82
6
7
13
3
0
0
-1
0
0
0
0
0
0
0
0
40
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
55
30
11
15
47
7
33
0
0
0
0
0
0
0
0
0
-13
8
-26
-29
-7
39
-12
28
-13
10
0
0
0
0
0
0
0
-11
30
15
95
-12
102
12
-53
-58
-6
0
0
0
0
0
0
0
32
89
-18
-27
6
32
27
-23
-21
-30
0
0
0
0
0
0
0
-1
64
28
52
27
42
57
-17
11
2
0
0
0
0
0
0
0
10
11
0
105
-4
-29
4
25
1
0
0
0
0
0
0
0
0
17
44
58
49
-13
1
-27
0
3
0
0
0
0
0
0
0
0
-2
19
36
3
-6
-3
1
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
-1
-11
0
24
-12
54
21
7
0
0
0
0
0
0
0
0
0
-14
21
32
-27
15
-44
9
18
38
0
0
0
0
0
0
0
0
-3
-19
-6
-1
9
-7
-65
12
22
7
0
0
0
0
0
0
0
-14
-23
-14
-32
-7
13
6
-2
-20
0
0
0
0
0
0
0
0
79
6
-34
34
-10
10
1
15
45
0
0
0
0
0
0
0
0
-9
19
12
27
82
1
-2
1
0
0
0
0
0
0
0
0
0
-8
-8
29
-7
12
0
-4
7
0
0
0
0
0
0
0
0
0
1
-43
3
4
-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
10
3
-3
6
18
-23
25
0
0
0
0
0
0
0
0
0
0
16
-10
11
43
-16
57
-16
0
0
0
0
0
0
0
0
0
0
36
-27
37
-12
13
-3
-4
0
0
0
0
0
0
0
0
0
0
-18
2
-60
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
33
65
-68
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
78
-9
39
0
0
1
0
0
0
0
0
0
0
0
0
0
0
19
25
-2
2
0
1
0
-3
0
0
0
0
0
0
0
0
0
37
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
2
11
-1
2
0
0
0
0
0
0
0
0
0
0
0
2
-4
7
-3
-4
0
0
0
0
0
0
0
0
0
0
0
1
4
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
0
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
2
-8
0
9
0
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
-2
0
9
12
1
-18
6
0
0
0
0
0
0
0
0
0
-4
-8
-26
-36
9
18
-39
15
-10
0
0
0
0
0
0
0
0
2
21
-17
21
-13
4
1
11
0
0
0
0
0
0
0
0
0
-39
-5
6
1
8
26
6
0
0
0
0
0
0
0
0
0
0
-42
2
-41
25
13
3
0
0
0
0
0
0
0
0
0
0
0
-12
-9
10
8
-21
0
0
0
0
0
0
0
0
0
0
0
0
-11
3
12
-1
2
-3
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-13
56
-16
-5
8
44
0
0
0
0
0
0
0
0
0
0
-1
33
-1
58
-16
16
-2
9
0
0
0
0
0
0
0
0
0
-3
-7
-27
-33
33
18
20
0
0
0
0
0
0
0
0
0
0
20
10
-61
27
-16
-19
48
0
0
0
0
0
0
0
0
0
0
-2
-58
21
-46
-40
-3
-9
0
0
0
0
0
0
0
0
0
0
-44
62
-9
-2
1
-2
1
2
0
0
0
0
0
0
0
0
0
8
4
4
2
0
1
-1
16
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
-1
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
1
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-4
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
-7
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
68
-15
3
-59
11
1
0
0
0
0
0
0
0
0
0
-3
30
-32
2
8
7
6
-8
0
0
0
0
0
0
0
0
0
-12
25
-43
6
13
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
10
-4
-15
-8
-8
0
0
0
0
0
0
0
0
0
0
-1
13
52
15
-8
0
-13
-6
0
0
0
0
0
0
0
0
0
11
29
1
8
-13
0
0
0
0
0
0
0
0
0
0
0
0
-13
13
15
3
18
-1
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
-48
-26
24
46
46
0
-13
20
0
0
0
0
0
0
0
0
0
-8
-22
-30
-13
-11
54
12
-37
-10
0
0
0
0
0
0
0
0
82
24
-21
85
27
15
-26
2
-1
0
0
0
0
0
0
0
0
-13
-19
-21
-30
91
28
15
36
20
0
0
0
0
0
0
0
0
4
-7
0
8
27
4
12
-32
-1
0
0
0
0
0
0
0
0
20
-8
19
61
13
-19
-1
2
-20
0
0
0
0
0
0
0
0
46
11
44
-10
-17
54
22
5
9
0
0
0
0
0
0
0
0
-10
33
1
-27
-6
-27
1
-11
0
0
0
0
0
0
0
0
0
37
-3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
-6
34
26
-9
64
1
0
-1
0
0
0
0
0
0
0
0
-2
-50
54
11
45
30
34
-60
0
0
0
0
0
0
0
0
0
-36
44
-13
21
-44
58
-34
-8
2
0
0
0
0
0
0
0
21
-38
-7
75
13
9
2
-41
-5
-8
0
0
0
0
0
0
0
0
-6
0
-1
4
60
-14
22
-27
2
0
0
0
0
0
0
0
-32
18
-16
25
17
-61
9
20
-10
0
0
0
0
0
0
0
0
6
15
29
-31
8
37
-60
-3
28
0
0
0
0
0
0
0
0
15
31
-38
4
-5
41
-7
-12
-3
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
-1
22
25
-3
-30
-28
30
10
0
0
0
0
0
0
0
0
0
-2
41
28
11
-14
6
25
74
-1
0
0
0
0
0
0
0
0
25
17
20
43
11
28
-12
30
-1
0
0
0
0
0
0
0
0
18
14
-15
-10
7
26
9
7
-6
-1
0
0
0
0
0
0
0
-25
43
1
0
7
-29
11
10
-9
0
0
0
0
0
0
0
0
-28
43
53
-4
83
-6
42
-9
-6
0
0
0
0
0
0
0
0
61
6
50
36
28
-1
-9
0
1
0
0
0
0
0
0
0
0
23
66
62
-22
1
-6
-2
0
-2
0
0
0
0
0
0
0
0
-17
-9
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
4
-2
3
3
4
0
2
0
0
0
0
0
0
0
2
55
19
-33
-57
-15
-21
41
19
-11
0
0
0
0
0
0
0
-1
-27
-37
70
23
-57
-31
6
29
-4
0
0
0
0
0
0
0
12
-17
-26
-70
-3
-6
38
38
-2
-1
0
0
0
0
0
0
0
-6
-37
11
-1
0
4
37
-1
-41
0
0
0
0
0
0
0
0
0
4
48
-61
4
5
0
-3
55
-1
0
0
0
0
0
0
0
-28
71
15
2
2
14
-6
10
2
0
0
0
0
0
0
0
0
-2
58
2
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-16
46
-12
-14
16
10
0
0
0
0
0
0
0
0
0
0
-60
-17
-39
-17
-77
59
-9
-41
0
0
0
0
0
0
0
0
7
12
8
2
12
51
-25
3
8
-2
0
0
0
0
0
0
0
14
5
76
102
-45
0
3
19
-8
0
0
0
0
0
0
0
0
-7
-28
-8
24
-2
0
0
4
3
0
0
0
0
0
0
0
0
2
17
-20
35
43
0
0
1
2
0
0
0
0
0
0
0
0
-17
47
-36
24
9
2
-6
0
0
0
0
0
0
0
0
0
0
-12
29
-16
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-13
0
-28
2
-4
0
-1
0
0
0
0
0
0
0
0
-46
33
19
-16
-30
-57
24
-3
0
0
0
0
0
0
0
0
0
-5
3
28
3
57
71
4
8
0
0
0
0
0
0
0
0
0
-35
-21
-20
-16
-13
0
1
0
0
0
0
0
0
0
0
0
0
-17
32
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-8
18
13
-2
0
0
-1
0
0
0
0
0
0
0
0
0
44
0
-16
0
4
0
0
0
0
0
0
0
0
0
0
0
-6
90
41
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-9
0
-6
-3
4
0
0
0
0
0
0
0
0
0
1
0
4
0
-13
-3
20
-1
2
0
0
0
0
0
0
0
0
0
-24
-2
11
-1
-35
-3
0
-1
0
0
0
0
0
0
0
0
3
-3
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-45
8
48
0
-13
-8
8
0
0
0
0
0
0
0
0
0
-9
-6
10
16
-2
-12
-18
-2
-1
0
0
0
0
0
0
0
0
38
2
-19
46
-26
63
21
-42
-17
0
0
0
0
0
0
0
0
-10
-58
10
39
-41
15
-38
1
0
0
0
0
0
0
0
0
0
6
-36
-71
-12
-28
-2
0
0
0
0
0
0
0
0
0
0
0
-15
-44
-25
-12
-8
29
-2
0
0
0
0
0
0
0
0
0
0
-37
-50
-29
-15
11
-3
0
0
-28
0
0
0
0
0
0
0
0
-6
-19
4
-9
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
3
-2
-33
9
10
24
21
0
0
0
0
0
0
0
0
0
0
-67
14
-41
-77
30
23
14
-32
0
0
0
0
0
0
0
0
0
6
2
19
-11
5
-19
16
16
0
0
0
0
0
0
0
0
0
32
-1
-3
-14
-40
-14
55
-2
0
0
0
0
0
0
0
0
0
-17
6
6
35
-70
-57
3
0
0
0
0
0
0
0
0
0
0
-43
-27
-46
2
61
-28
13
-2
0
0
0
0
0
0
0
0
0
14
-97
-13
8
-4
1
0
-7
0
0
0
0
0
0
0
0
0
-27
27
13
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
3
-6
-2
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
6
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-3
0
0
11
0
0
0
0
0
0
0
0
0
0
-2
-18
-9
-5
-7
11
0
6
0
0
0
0
0
0
0
0
0
2
-2
1
17
-3
0
3
0
0
0
0
0
0
0
0
0
0
-1
-2
8
-3
-22
5
0
-1
0
0
0
0
0
0
0
0
0
0
-16
81
-8
3
6
5
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
-11
64
-32
9
0
-1
0
0
0
0
0
0
0
0
0
0
19
33
1
-21
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
-4
-8
-1
-21
90
-12
47
27
0
0
0
0
0
0
0
0
0
-2
-17
-33
-3
-49
37
15
-22
-11
-4
0
0
0
0
0
0
0
54
-1
-17
35
-11
9
59
-8
-5
0
0
0
0
0
0
0
0
71
11
100
17
33
22
1
36
7
8
0
0
0
0
0
0
0
-17
2
-16
6
37
3
-21
-22
-4
0
0
0
0
0
0
0
0
0
0
0
-23
-105
21
-11
-46
-67
0
0
0
0
0
0
0
0
11
-6
41
1
-84
0
14
-3
-12
0
0
0
0
0
0
0
0
-5
19
-21
14
27
20
0
0
0
0
0
0
0
0
0
0
0
16
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
58
39
13
-32
40
-13
10
0
0
0
0
0
0
0
0
0
-4
48
12
112
14
14
37
-1
-17
6
0
0
0
0
0
0
0
-7
-38
16
10
-5
21
33
9
-3
10
0
0
0
0
0
0
0
0
-18
32
60
24
-38
-15
13
-36
-1
0
0
0
0
0
0
0
15
21
-1
-28
3
0
53
-3
-10
-3
0
0
0
0
0
0
0
-3
4
0
-13
10
-34
-17
13
-39
0
0
0
0
0
0
0
0
-7
114
-7
2
-16
-19
13
12
-4
0
0
0
0
0
0
0
0
20
33
18
4
2
1
0
1
0
0
0
0
0
0
0
0
0
7
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-29
-28
3
33
48
4
0
0
0
0
0
0
0
0
0
3
19
32
46
-19
23
-12
22
0
0
0
0
0
0
0
0
0
21
13
20
-64
40
6
16
-3
7
2
0
0
0
0
0
0
0
9
38
-8
-6
-13
-28
17
14
-6
1
0
0
0
0
0
0
0
-24
-76
1
-1
-7
-12
-13
1
8
0
0
0
0
0
0
0
0
-6
4
2
0
0
-4
6
-6
0
0
0
0
0
0
0
0
0
20
67
57
0
8
-20
33
0
1
0
0
0
0
0
0
0
0
10
38
-30
0
8
0
-4
0
2
0
0
0
0
0
0
0
0
-17
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-7
-2
28
0
-10
14
54
0
0
0
0
0
0
0
0
0
1
-58
4
-43
-11
-40
39
63
-4
0
0
0
0
0
0
0
0
27
6
-1
37
-3
21
27
-22
22
-1
0
0
0
0
0
0
0
2
18
-8
40
-8
-37
-35
1
8
0
0
0
0
0
0
0
0
-1
30
-21
-8
-4
15
-52
-28
-31
0
0
0
0
0
0
0
0
-1
45
88
-2
0
2
15
16
-20
0
0
0
0
0
0
0
0
-30
46
27
-10
11
7
3
2
-12
0
0
0
0
0
0
0
0
27
18
89
29
0
-1
0
7
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
-7
6
-22
-13
-1
-57
-63
-11
0
0
0
0
0
0
0
0
0
6
22
53
2
5
-29
-43
-47
-1
0
0
0
0
0
0
0
0
0
3
-43
-44
40
-8
43
-17
1
0
0
0
0
0
0
0
0
-8
-23
5
40
25
4
-32
-13
26
-4
0
0
0
0
0
0
0
1
49
-21
10
17
4
3
35
29
0
0
0
0
0
0
0
0
0
-43
-9
-21
4
0
0
-17
0
0
0
0
0
0
0
0
0
30
-27
28
-2
7
-2
0
0
9
0
0
0
0
0
0
0
0
-20
35
-18
15
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-6
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
4
-1
2
58
-16
0
0
0
0
0
0
0
0
0
0
-21
-8
4
-58
-18
14
-12
-3
0
0
0
0
0
0
0
0
0
1
-2
-9
18
-13
42
0
10
0
0
0
0
0
0
0
0
0
-24
-25
61
19
-24
49
-9
-4
0
0
0
0
0
0
0
0
0
-17
54
15
-36
-12
0
0
-8
0
0
0
0
0
0
0
0
0
-11
10
-41
7
0
0
0
4
0
0
0
0
0
0
0
0
8
53
-26
-21
33
3
0
0
-2
0
0
0
0
0
0
0
0
2
43
-35
17
0
-1
0
-13
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
2
-1
0
-2
0
-16
0
0
0
0
0
0
0
0
0
0
1
1
3
3
0
-4
16
-8
2
0
0
0
0
0
0
0
0
-3
2
-12
-12
-21
13
0
0
6
0
0
0
0
0
0
0
0
-1
0
0
6
2
6
3
3
0
0
0
0
0
0
0
0
0
0
-12
1
-6
-3
0
1
0
0
0
0
0
0
0
0
0
0
2
-1
-10
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
22
3
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
8
-1
-18
1
18
-28
0
0
0
0
0
0
0
0
0
8
14
42
-39
-28
-43
-53
-26
6
0
0
0
0
0
0
0
0
9
-37
-3
42
2
4
30
3
2
0
0
0
0
0
0
0
0
28
14
7
-52
-24
19
47
26
11
0
0
0
0
0
0
0
0
2
23
13
21
4
-9
26
0
0
0
0
0
0
0
0
0
0
-2
35
7
-33
-66
-49
-3
0
0
0
0
0
0
0
0
0
0
19
4
-15
3
11
-12
0
0
0
0
0
0
0
0
0
0
0
66
-36
41
38
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
35
-26
-15
36
-10
-3
0
-2
0
0
0
0
0
0
0
0
44
-6
-2
-60
52
-26
-2
-6
0
0
0
0
0
0
0
0
0
21
16
47
-12
-25
41
1
30
1
0
0
0
0
0
0
0
0
112
-63
42
30
-17
52
-3
33
0
0
0
0
0
0
0
0
0
40
-33
-7
18
41
-5
-8
0
0
0
0
0
0
0
0
0
0
-45
-57
8
20
-6
-49
-20
0
0
0
0
0
0
0
0
0
0
-39
-48
33
-19
-9
0
0
0
0
0
0
0
0
0
0
0
0
17
50
11
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-6
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
10
0
-2
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
-22
-2
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-14
-11
-13
3
0
0
0
0
0
0
0
0
0
0
0
2
42
-21
-44
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
21
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
3
-9
4
0
0
0
0
0
0
0
0
0
0
0
34
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
4
-18
-56
3
-8
69
0
0
0
0
0
0
0
0
0
0
2
-35
37
-9
-24
50
-16
-10
17
0
0
0
0
0
0
0
0
-17
8
-29
5
12
-93
18
-16
19
6
0
0
0
0
0
0
0
-7
-1
38
-30
31
37
9
25
-6
0
0
0
0
0
0
0
0
64
-16
83
48
-7
8
21
13
10
0
0
0
0
0
0
0
0
-9
0
16
103
-23
-17
12
21
0
0
0
0
0
0
0
0
0
0
0
0
8
11
1
24
1
0
0
0
0
0
0
0
0
0
23
0
5
-16
10
13
-4
2
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
37
-11
1
-39
13
6
12
0
0
0
0
0
0
0
0
0
0
22
-40
-4
38
41
-4
12
-2
0
0
0
0
0
0
0
0
0
-31
-29
40
11
-9
29
-7
-5
0
0
0
0
0
0
0
0
1
12
48
17
21
11
62
34
32
16
0
0
0
0
0
0
0
0
59
62
-13
36
-71
-40
1
27
11
0
0
0
0
0
0
0
2
29
4
23
-19
22
-12
21
15
6
0
0
0
0
0
0
0
0
0
0
0
3
24
-5
-18
6
-1
0
0
0
0
0
0
0
22
-19
0
-28
-44
15
13
22
9
0
0
0
0
0
0
0
0
-1
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
9
-8
-7
0
-14
6
0
0
0
0
0
0
0
0
0
3
3
-15
-13
-39
16
0
42
0
0
0
0
0
0
0
0
0
0
-8
21
0
16
-7
28
11
0
4
0
0
0
0
0
0
0
0
41
58
-28
14
-6
28
-24
2
0
0
0
0
0
0
0
0
-6
3
32
-3
20
-2
84
0
12
-2
0
0
0
0
0
0
0
-8
-14
30
1
21
12
-4
0
9
9
0
0
0
0
0
0
0
-20
-5
6
0
-2
6
0
17
0
0
0
0
0
0
0
0
0
55
-54
34
1
0
2
0
8
0
0
0
0
0
0
0
0
0
63
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
0
-5
-20
-61
20
-7
0
0
0
0
0
0
0
0
0
0
3
-12
-1
-45
42
11
1
-13
0
0
0
0
0
0
0
0
1
4
37
-10
23
-1
-25
34
-10
-25
0
0
0
0
0
0
0
4
-27
59
54
17
-10
47
4
3
0
0
0
0
0
0
0
0
0
13
17
2
-24
1
0
-41
-16
0
0
0
0
0
0
0
0
-11
29
17
14
0
-9
-3
12
19
11
0
0
0
0
0
0
0
0
-32
-25
0
0
9
-4
1
-7
0
0
0
0
0
0
0
0
-4
8
60
21
0
2
28
10
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
9
-3
2
0
0
-33
2
0
0
0
0
0
0
0
0
0
0
-34
-15
5
-20
3
-47
-21
-4
0
0
0
0
0
0
0
0
0
0
2
-7
-5
10
-13
-7
-9
0
0
0
0
0
0
0
0
-1
-6
9
15
-28
-14
-18
1
-8
0
0
0
0
0
0
0
0
0
32
-7
-32
59
-7
29
0
4
0
0
0
0
0
0
0
0
0
-36
11
25
-17
0
-3
-2
-21
0
0
0
0
0
0
0
0
9
53
18
-1
0
0
0
-12
0
0
0
0
0
0
0
0
0
-27
-41
-17
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
55
-9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-3
-9
0
0
0
0
0
0
0
0
0
0
0
67
14
0
-36
0
5
-4
0
0
0
0
0
0
0
0
0
0
-1
0
4
13
3
11
-1
0
0
0
0
0
0
0
0
0
0
-2
-1
38
28
-11
-50
13
0
0
0
0
0
0
0
0
0
0
0
-60
2
-43
82
2
-2
-3
-7
0
0
0
0
0
0
0
0
29
31
-1
49
-6
0
-6
16
0
0
0
0
0
0
0
0
0
10
24
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
11
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
15
0
0
6
-9
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
11
-16
7
0
0
0
0
0
0
0
0
0
-2
-3
0
-10
1
20
-4
0
0
0
0
0
0
0
0
0
0
0
0
8
4
11
0
0
0
0
0
0
0
0
0
0
0
0
-3
16
4
37
3
1
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-7
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
-15
-25
30
27
1
21
1
0
0
0
0
0
0
0
0
0
-6
-17
7
37
55
32
50
20
-7
0
0
0
0
0
0
0
0
0
-30
3
34
-42
-10
51
-8
-28
0
0
0
0
0
0
0
0
0
21
30
-20
-8
-17
-3
28
6
0
0
0
0
0
0
0
0
11
4
12
2
11
40
16
86
1
0
0
0
0
0
0
0
0
-6
-10
61
-10
-52
17
-9
0
0
0
0
0
0
0
0
0
0
16
56
-29
-37
25
-15
4
0
0
0
0
0
0
0
0
0
0
-49
-21
4
12
2
0
0
0
0
0
0
0
0
0
0
0
0
50
10
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
2
2
11
0
0
0
0
0
0
0
0
0
0
0
0
-17
9
7
-3
2
-21
11
2
0
0
0
0
0
0
0
0
0
-4
-10
-9
-2
13
36
-61
-3
-13
0
0
0
0
0
0
0
0
2
6
21
11
8
39
37
-7
0
0
0
0
0
0
0
0
0
-33
24
-17
15
-17
-8
0
3
0
0
0
0
0
0
0
0
0
34
8
5
-21
21
0
-11
0
0
0
0
0
0
0
0
0
0
-43
-7
26
-8
-1
1
0
0
0
0
0
0
0
0
0
0
0
41
69
-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
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
8
-6
-2
2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
8
0
3
0
0
0
0
0
0
0
0
0
0
0
56
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
28
3
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
-7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
0
-29
29
-66
21
0
0
0
0
0
0
0
0
0
0
0
0
2
38
4
43
-10
0
0
0
0
0
0
0
0
0
0
-27
-6
0
0
5
1
6
-4
0
0
0
0
0
0
0
0
0
71
0
92
46
0
8
-2
2
-4
0
0
0
0
0
0
0
0
85
15
43
34
2
0
-6
-1
0
0
0
0
0
0
0
0
0
4
0
0
-18
-11
-11
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
-2
9
9
2
-9
10
6
0
0
0
0
0
0
0
0
0
0
0
1
9
-4
-43
1
-26
20
0
0
0
0
0
0
0
0
0
0
-3
0
-9
62
-28
-2
4
0
0
0
0
0
0
0
0
0
0
10
-21
-54
-14
74
-11
3
4
0
0
0
0
0
0
0
0
0
3
-28
40
5
9
-6
-2
2
0
0
0
0
0
0
0
0
-2
25
2
-19
19
-15
9
11
-6
0
0
0
0
0
0
0
0
24
49
11
51
17
-5
-19
-18
0
0
0
0
0
0
0
0
0
1
-11
0
0
3
2
10
1
0
0
0
0
0
0
0
0
0
87
-2
0
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
6
0
0
-6
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
-9
-44
19
-2
0
0
0
0
0
0
0
0
0
0
0
1
10
-2
5
-6
2
7
0
0
0
0
0
0
0
0
0
0
-24
12
70
3
8
1
-15
0
0
0
0
0
0
0
0
0
0
-25
2
16
-60
13
18
8
1
-1
0
0
0
0
0
0
0
5
-19
-56
0
-20
7
-16
3
-8
0
0
0
0
0
0
0
0
8
10
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
45
22
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
6
11
-3
0
0
0
0
0
0
0
0
0
0
-12
3
1
-11
-14
-40
3
0
0
0
0
0
0
0
0
0
-1
0
0
25
-4
15
3
4
0
0
0
0
0
0
0
0
0
0
-11
1
85
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
15
25
56
0
8
1
-10
7
0
0
0
0
0
0
0
0
-4
28
-38
3
0
1
-3
0
0
0
0
0
0
0
0
0
0
7
-54
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-24
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-11
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
62
1
0
0
0
0
0
0
0
0
0
0
-2
1
1
-2
-3
2
0
0
0
0
0
0
0
0
0
0
-2
0
3
26
-8
1
7
0
-1
0
0
0
0
0
0
0
0
0
0
3
-12
10
1
7
0
0
0
0
0
0
0
0
0
0
-3
0
22
11
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
-86
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-17
0
0
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
3
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
-4
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-24
29
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-6
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
9
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
2
4
-7
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
16
-8
18
3
1
0
0
0
0
0
0
0
0
-3
1
1
2
-1
-15
16
-2
0
0
0
0
0
0
0
0
0
0
0
-22
-15
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
20
7
-10
11
-3
0
6
0
0
0
0
0
0
0
0
0
0
30
-9
-3
-27
0
0
0
0
0
0
0
0
0
0
0
0
11
24
-3
8
3
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
-8
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
-6
-3
1
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
-2
2
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
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
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
18
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-14
-28
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
-44
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-2
1
1
-9
0
0
0
0
0
0
0
0
0
0
-4
2
0
4
10
7
-4
0
0
0
0
0
0
0
0
0
0
4
0
0
13
9
24
-7
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
-5
-10
8
0
0
0
0
0
0
0
0
0
0
0
3
-6
-7
-2
-21
-20
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
6
-10
-3
27
-3
0
0
0
0
0
0
0
0
0
-1
0
3
0
8
-2
7
-1
0
0
0
0
0
0
0
0
0
0
1
-2
-3
1
9
10
1
0
0
0
0
0
0
0
0
0
0
0
-1
-15
-27
0
-18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
28
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
2
-1
-9
-3
2
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-3
0
-11
-3
0
0
0
0
0
0
0
0
0
0
0
0
6
12
-10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
8
13
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-11
0
0
-1
-3
0
-1
0
0
0
0
0
0
0
4
-4
2
-6
-28
-2
10
6
0
0
0
0
0
0
0
0
2
0
1
1
-4
-6
38
0
1
0
0
0
0
0
0
0
0
0
0
0
11
1
0
-18
-5
-5
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
0
14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
33
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-9
31
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
3
0
-10
-6
-38
0
0
0
0
0
0
0
0
0
0
0
9
4
-24
-12
86
-40
4
1
0
0
0
0
0
0
0
-2
0
0
3
2
-56
38
60
-10
0
0
0
0
0
0
0
0
0
0
0
3
0
-38
-47
9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
15
6
35
22
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
8
0
0
0
0
0
0
0
0
0
-2
22
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-23
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
57
-57
10
30
33
-19
0
-3
0
0
0
0
0
0
0
-1
-6
23
30
-21
-37
-1
10
7
0
0
0
0
0
0
0
0
0
-3
19
-1
-23
-43
-41
5
0
1
0
0
0
0
0
0
0
0
0
-24
25
30
17
-24
-91
0
0
0
0
0
0
0
0
0
0
7
3
0
-4
5
-84
-114
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
-94
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
37
-72
29
-26
0
0
0
1
0
0
0
0
0
0
0
0
-17
23
-98
-1
10
-3
22
1
0
0
0
0
0
0
0
0
0
-1
-32
-22
-5
41
13
-51
-1
-11
0
0
0
0
0
0
0
0
1
-4
-10
29
94
-30
-70
3
0
-2
0
0
0
0
0
0
0
0
0
3
2
-19
15
5
-40
0
0
0
0
0
0
0
0
0
0
0
12
0
4
-2
9
12
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
32
-70
9
7
0
0
0
21
0
0
0
0
0
0
0
0
0
-9
-13
-23
63
-45
3
15
0
0
0
0
0
0
0
0
0
0
3
31
-18
-9
-24
23
-6
-2
0
0
0
0
0
0
0
0
0
0
26
12
28
9
5
6
0
0
0
0
0
0
0
0
0
0
0
-8
-64
78
27
3
36
9
0
0
0
0
0
0
0
0
0
0
0
20
27
55
27
28
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
2
18
0
0
0
0
0
0
0
0
0
0
0
0
4
32
7
-66
20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
46
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
20
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-7
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
57
3
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
-4
11
-7
-3
0
0
0
0
0
0
0
0
0
0
1
1
0
-11
11
-3
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
13
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
27
25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
15
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-11
-12
-33
-19
15
0
0
0
0
0
0
0
0
0
1
0
-3
13
-12
-4
-1
-6
0
0
0
0
0
0
0
0
0
-3
-1
0
45
-1
4
-42
-28
0
0
0
0
0
0
0
0
0
0
0
-1
4
-55
-7
56
2
0
0
0
0
0
0
0
0
0
0
0
10
1
0
-8
36
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
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
0
-29
10
0
0
0
0
0
0
0
0
0
-8
6
0
-16
-15
10
-9
-15
2
0
0
0
0
0
0
0
0
-2
0
-4
18
42
59
-4
11
0
0
0
0
0
0
0
0
0
0
0
1
7
21
18
-2
53
0
0
0
0
0
0
0
0
0
0
0
-7
0
4
-16
3
-10
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-9
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
0
0
-1
4
1
7
0
-2
0
0
0
0
0
0
0
0
0
8
-1
-12
7
0
-36
3
-2
0
0
0
0
0
0
0
1
0
0
3
4
-6
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
15
79
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-28
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-7
1
-20
-1
3
-1
0
0
0
2
0
0
0
0
0
0
0
0
4
-6
1
-33
-41
-7
-40
-4
0
1
0
0
0
0
0
0
0
0
2
-11
0
17
-19
-29
43
1
0
0
0
0
0
0
0
0
-2
8
-8
35
-16
-43
-14
3
0
0
0
0
0
0
0
0
0
0
0
-1
13
11
-87
-55
25
1
0
0
0
0
0
0
0
0
0
0
0
1
8
-2
4
-70
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-3
-53
25
0
-7
0
0
0
0
0
0
0
0
0
0
0
-2
-14
-23
11
18
44
0
0
0
0
0
0
0
0
0
0
0
-3
-6
52
-66
-2
0
-8
-8
16
0
0
0
0
0
0
0
0
0
0
19
9
8
-19
95
24
14
1
0
0
0
0
0
0
0
-16
3
0
0
21
56
45
-8
32
-1
0
0
0
0
0
0
0
0
0
0
-10
4
25
21
85
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
-26
30
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
-24
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
-19
10
-36
42
0
0
0
0
0
0
0
0
0
0
0
0
21
54
33
-8
-37
3
0
0
0
1
0
0
0
0
0
0
0
2
-4
-47
-14
24
-9
-17
-9
-22
0
0
0
0
0
0
0
0
-17
-4
21
-21
59
-40
-109
63
17
-8
0
0
0
0
0
0
0
0
0
77
26
71
65
8
-28
11
2
-2
0
0
0
0
0
0
0
0
-8
11
4
101
13
-33
-11
-1
0
0
0
0
0
0
0
0
0
0
9
-7
42
-4
35
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
37
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
17
0
8
20
-23
-39
0
0
0
0
0
0
0
0
0
0
7
1
5
-29
-29
-35
1
0
0
0
1
-2
0
0
0
0
0
0
-3
-41
37
26
-80
30
-38
9
5
0
0
0
0
0
0
0
0
-3
11
-59
15
-22
-42
-2
-22
18
-7
0
0
0
0
0
0
0
-19
15
7
-30
41
-1
3
-31
-47
-1
-1
0
0
0
0
0
0
-6
4
5
-22
9
40
-13
36
43
8
0
0
0
0
0
0
0
0
0
0
1
7
-71
36
45
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
9
41
-24
34
76
0
0
0
6
0
0
0
0
0
0
0
0
12
-20
36
-89
-15
0
0
0
-3
-7
0
0
0
0
0
0
36
-14
-4
8
22
57
16
-21
18
-1
0
0
0
0
0
0
0
3
20
-23
-14
15
2
-29
-82
-9
-1
0
0
0
0
0
0
0
1
13
49
-55
13
-42
-3
7
-58
-2
-1
0
0
0
0
0
0
-3
3
-50
14
-27
-55
-28
4
12
-3
0
0
0
0
0
0
0
0
0
0
33
-13
-24
-37
11
7
7
0
0
0
0
0
0
0
0
0
0
2
1
0
1
13
-4
-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
-26
-25
-42
-7
4
0
0
0
0
0
0
0
0
0
0
0
-5
-14
-47
-55
49
0
0
0
0
-25
-1
0
0
0
0
0
0
-7
-12
-64
22
49
-8
-13
2
-40
-36
0
0
0
0
0
0
0
-9
37
5
-5
-15
-45
2
-11
-4
15
0
0
0
0
0
0
0
0
-34
2
26
-11
-52
-94
66
96
-3
0
0
0
0
0
0
0
4
1
18
-34
-27
-40
-13
44
53
-6
0
0
0
0
0
0
0
-3
0
0
-14
34
73
69
-16
-13
-33
0
0
0
0
0
0
0
0
0
0
0
-53
-1
71
11
-32
-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
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
19
-2
0
0
0
6
-12
0
0
0
0
0
0
0
0
0
-4
-7
0
9
29
24
0
-16
0
0
0
0
0
0
0
0
0
20
2
6
3
-23
-1
21
4
0
0
0
0
0
0
0
0
0
1
-1
18
10
26
73
-24
2
0
0
0
0
0
0
0
0
0
0
-1
12
-2
-28
44
13
10
0
0
0
0
0
0
0
0
0
2
0
0
-10
37
-9
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
1
12
-35
0
0
0
0
0
0
0
0
0
0
3
1
-2
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-7
8
12
0
0
0
0
0
0
0
0
0
0
0
0
0
6
12
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-13
0
-18
-8
0
0
0
0
0
0
0
0
0
0
0
0
4
-33
-21
9
-2
25
-2
22
0
0
0
0
0
0
0
0
0
1
0
7
35
9
-33
-20
-1
0
0
0
0
0
0
0
0
-1
-2
0
-4
-20
44
-34
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-34
10
3
0
0
0
0
0
0
0
0
0
0
0
3
-2
-3
13
15
-53
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
3
1
-1
1
0
3
0
0
0
0
0
0
0
0
0
0
4
3
9
16
16
39
-10
-4
0
0
0
0
0
0
0
0
7
0
0
-2
4
-27
-5
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
-3
-29
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-38
-6
-8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
4
0
0
0
0
0
0
0
0
-1
1
0
1
16
-6
-4
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-27
25
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
-8
3
28
3
1
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-1
26
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
2
0
-34
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
18
-4
-29
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-4
2
30
-10
-6
-25
-8
-1
0
0
0
0
0
0
0
0
12
0
1
-9
9
93
-49
2
0
0
0
0
0
0
0
0
4
0
-15
6
-22
-35
31
6
23
0
0
0
0
0
0
0
0
0
0
0
-3
-6
49
-7
-22
79
0
0
0
0
0
0
0
0
0
0
4
-1
0
-3
-19
28
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
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
6
-13
-25
3
3
106
0
0
0
-1
0
0
0
0
0
0
0
-13
3
-4
1
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
8
-24
59
2
2
-33
57
7
0
0
0
0
0
0
0
0
2
48
40
-18
-17
-17
38
42
-12
1
0
0
0
0
0
0
0
9
-6
-4
55
-37
30
-29
58
-17
9
0
0
0
0
0
0
0
0
-2
19
-6
11
-68
33
-3
22
0
0
0
0
0
0
0
0
0
-1
-2
4
-7
-16
-7
-1
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
-91
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-12
33
33
-54
8
0
0
0
0
0
0
0
0
0
0
0
-2
48
31
35
-30
1
0
0
0
-2
0
0
0
0
0
0
0
0
4
-36
-2
34
-7
39
-19
3
0
0
0
0
0
0
0
0
1
-3
-8
-53
-20
37
-19
-35
-27
-6
0
0
0
0
0
0
0
0
-8
-9
-31
5
53
38
-7
52
0
0
0
0
0
0
0
0
1
0
16
47
5
9
9
-28
-44
1
0
0
0
0
0
0
0
0
0
1
-34
-12
30
-11
-12
-14
0
0
0
0
0
0
0
0
0
0
0
-8
0
24
44
-34
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
-9
38
13
-13
15
26
0
0
0
0
0
0
0
0
0
0
2
8
15
-22
-78
37
-64
0
0
0
0
0
0
0
0
0
0
0
2
15
64
29
-6
-7
-1
39
-6
0
0
0
0
0
0
0
0
50
0
33
-8
-70
25
37
-14
1
-20
0
0
0
0
0
0
0
0
-41
-6
-65
-35
-54
-22
-78
-12
7
-1
0
0
0
0
0
0
0
-1
-10
43
59
5
34
-70
-28
-4
2
0
0
0
0
0
0
0
0
-1
-16
-30
51
15
51
-2
-9
0
0
0
0
0
0
0
0
0
-4
-8
8
4
48
-33
-24
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-1
42
0
0
0
0
0
0
0
0
0
0
30
-20
-3
-52
-10
0
0
0
0
0
0
0
0
0
0
0
-12
-21
10
-10
42
-22
0
0
0
2
0
0
0
0
0
0
0
-3
69
-15
3
30
31
31
-32
-9
0
0
0
0
0
0
0
0
13
26
5
1
52
-55
35
9
29
-1
-1
0
0
0
0
0
0
-3
-2
75
-28
-9
-7
-20
-37
-10
-1
2
0
0
0
0
0
0
0
-21
21
26
-62
10
2
9
-4
-2
0
0
0
0
0
0
0
0
-8
-28
1
11
-17
18
-17
14
8
0
0
0
0
0
0
0
0
0
-1
-13
-34
-50
8
13
-50
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
6
0
0
0
0
0
0
0
0
0
-27
-44
10
-19
60
0
0
0
38
0
0
0
0
0
0
0
-8
20
-20
-12
13
18
0
0
0
-1
1
0
0
0
0
0
0
0
24
20
22
62
50
4
27
-8
-1
0
0
0
0
0
0
0
4
58
-10
45
-9
17
-83
-3
58
-37
0
0
0
0
0
0
0
-8
-42
-9
40
-11
-40
17
-17
-28
23
0
0
0
0
0
0
0
-9
-2
-14
-27
-61
4
-17
-7
-8
20
0
0
0
0
0
0
0
0
0
18
-6
-59
-10
-99
6
26
10
0
0
0
0
0
0
0
0
0
-6
-11
0
-21
34
25
-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
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
-8
-7
0
0
0
1
-2
0
0
0
0
0
0
0
0
1
1
9
2
-21
8
11
2
-2
0
0
0
0
0
0
0
0
0
3
-7
27
18
-10
26
0
-1
0
0
0
0
0
0
0
0
0
4
8
-2
-11
-17
12
7
-10
0
0
0
0
0
0
0
0
0
0
-2
-2
-8
20
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-35
17
20
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
1
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
29
-12
8
-1
3
0
0
0
0
0
0
0
0
0
0
4
7
0
-4
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
-6
-1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-9
3
-15
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
-19
-11
24
-34
25
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-34
33
-22
29
2
15
0
0
0
0
0
0
0
0
0
0
-4
6
7
-19
10
46
-30
0
0
0
0
0
0
0
0
0
1
0
26
3
35
-49
33
50
0
0
0
0
0
0
0
0
0
0
0
-10
-3
-30
49
-8
66
0
0
0
0
0
0
0
0
0
0
0
0
-6
-16
-39
-39
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-8
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
9
1
24
-11
-3
15
0
0
0
0
0
0
0
0
0
0
0
-2
-1
15
15
13
-4
11
0
0
0
0
0
0
0
0
0
0
0
0
19
6
35
30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
16
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-1
25
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-3
-12
1
11
0
0
0
-2
1
0
0
0
0
0
0
0
3
12
3
0
4
20
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
3
13
18
0
0
0
0
0
0
0
0
0
0
1
0
-2
13
37
13
4
10
0
0
0
0
0
0
0
0
0
1
-3
0
0
-1
0
-54
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
1
-2
6
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-6
0
0
0
0
0
0
0
0
0
0
35
27
9
-6
-2
0
0
0
0
0
0
0
0
0
0
0
6
-10
-34
-18
3
18
0
0
0
0
0
0
0
0
0
0
0
0
-82
-1
0
24
24
-65
-30
-16
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
-9
-18
-15
0
0
0
0
0
0
0
0
4
27
-8
0
21
-11
36
-70
16
0
0
0
0
0
0
0
0
0
0
38
-9
15
-63
-25
-6
15
0
0
0
0
0
0
0
0
0
3
6
12
3
26
2
-8
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-33
-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
-3
-1
-57
-26
12
1
0
0
0
0
0
0
0
0
0
0
0
15
4
-55
119
2
32
0
0
0
0
0
0
0
0
0
0
0
1
-55
55
24
32
8
-30
70
19
0
0
0
0
0
0
0
0
2
54
60
13
-2
32
88
-6
-17
-1
0
0
0
0
0
0
0
2
3
55
-32
-3
-34
-39
2
-48
6
0
0
0
0
0
0
0
-1
0
-7
37
0
-3
30
-29
40
-1
0
0
0
0
0
0
0
0
0
-10
-2
-13
34
-53
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
-24
-97
1
0
0
0
0
0
0
0
0
0
0
0
0
8
-12
-62
1
0
0
0
0
0
0
0
0
0
2
15
-12
33
23
0
0
0
0
0
0
0
0
0
0
0
17
-41
-19
32
-27
58
0
0
0
0
0
0
0
0
0
0
0
-11
42
-16
49
-14
23
-24
25
-13
6
0
0
0
0
0
0
0
7
8
-19
-5
-82
29
-61
67
27
1
0
0
0
0
0
0
0
-3
53
28
15
-39
-61
-59
-55
47
10
1
0
0
0
0
0
0
-12
2
-26
-40
-39
6
0
-54
-28
-3
0
0
0
0
0
0
0
2
7
-9
-9
2
32
-34
-48
12
0
0
0
0
0
0
0
0
0
0
0
10
17
0
-14
-59
-34
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
3
-4
-22
-26
-12
53
-43
0
0
0
0
0
0
0
0
0
0
1
7
-69
30
-31
-13
-13
0
0
0
1
0
0
0
0
0
0
-18
52
32
15
-6
53
-52
-44
-51
59
0
-1
0
0
0
0
0
0
-20
-7
-20
61
97
49
39
-74
29
8
0
0
0
0
0
0
0
-17
-32
-4
71
55
46
-73
-66
-32
19
1
0
0
0
0
0
0
0
1
-10
30
-47
-63
-13
-50
-47
13
0
0
0
0
0
0
0
0
0
8
-13
26
18
42
23
-51
-16
0
0
0
0
0
0
0
0
0
0
19
39
-31
34
90
-49
2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-45
3
0
0
0
0
0
0
0
0
19
58
-6
-38
-45
28
0
0
0
0
0
0
0
0
0
0
0
-7
10
-15
9
-21
32
0
0
0
-7
0
0
0
0
0
0
0
7
8
12
-16
4
-40
-15
24
-3
0
0
0
0
0
0
0
0
-24
20
-6
-23
62
13
-38
-5
-54
0
0
0
0
0
0
0
0
-1
39
11
-14
31
65
1
-40
44
0
0
0
0
0
0
0
-3
0
18
6
41
-1
15
-45
8
-45
-6
0
0
0
0
0
0
0
0
6
18
88
31
-26
-79
17
-30
13
0
0
0
0
0
0
0
0
3
-8
-11
-14
-9
73
35
5
13
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-34
13
0
0
0
0
0
0
0
0
-6
30
46
-37
59
15
0
0
0
-1
0
0
0
0
0
0
0
0
15
6
7
45
42
0
0
0
-8
0
0
0
0
0
0
0
2
-15
-21
-11
59
-16
46
14
-17
1
1
0
0
0
0
0
0
12
-10
-31
-19
3
99
-16
-31
-45
-17
0
0
0
0
0
0
0
0
42
6
11
21
-10
-31
-6
19
21
-1
0
0
0
0
0
0
0
27
-30
48
15
-2
-10
-83
-45
24
0
0
0
0
0
0
0
0
2
-18
55
-55
-35
-60
-9
-3
-38
0
0
0
0
0
0
0
0
-1
0
-6
-9
39
5
-2
3
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
4
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
3
29
2
-1
16
-15
1
-3
0
0
0
0
0
0
0
0
0
-1
1
-13
-19
-15
0
3
0
0
0
0
0
0
0
0
0
0
-2
-3
20
18
-6
-21
-6
8
0
0
0
0
0
0
0
0
0
0
0
-1
4
12
-33
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-7
-29
6
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-3
0
15
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-35
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
64
8
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
36
0
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
2
-1
0
26
1
-12
0
0
0
0
0
0
0
0
0
0
0
6
56
10
-35
34
1
0
0
0
0
0
0
0
0
0
0
0
0
-85
-4
-99
13
11
0
-6
-43
0
0
0
0
0
0
0
0
0
0
9
14
-58
16
-4
21
-25
0
0
0
0
0
0
0
0
0
0
-4
-8
47
17
-3
4
9
0
0
0
0
0
0
0
0
0
0
-9
-6
-43
-2
-13
84
58
0
0
0
0
0
0
0
0
0
1
0
-1
1
-3
8
59
18
0
0
0
0
0
0
0
0
0
0
-4
1
0
2
12
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
-1
11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
15
-12
-2
-6
0
0
0
11
0
0
0
0
0
0
0
0
0
2
-7
21
21
-2
-13
-13
1
0
0
0
0
0
0
0
0
0
0
2
-10
5
-33
25
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-17
16
7
0
0
0
0
0
0
0
0
0
0
0
-2
7
12
-8
22
24
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-3
-30
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
2
-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
-1
0
4
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
2
-2
-1
-11
0
0
0
-1
0
0
0
0
0
0
0
0
0
-18
11
0
-6
11
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-1
-15
-19
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
2
-6
-32
4
0
0
0
0
0
0
0
0
0
0
0
0
10
2
28
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-3
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-3
10
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
11
0
4
-8
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
61
-14
-27
-17
-77
0
0
0
0
0
0
0
0
0
0
0
0
10
1
-101
14
-6
-21
-24
-5
0
0
0
0
0
0
0
0
2
0
-3
2
-21
-29
-21
46
-60
0
0
0
0
0
0
0
0
-9
-4
0
0
0
-4
40
71
-12
0
0
0
0
0
0
0
0
-10
0
0
-7
-3
-28
-17
-71
-82
0
0
0
0
0
0
0
0
0
0
9
4
-14
-29
-6
-21
-42
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-47
63
0
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
-33
15
-2
-56
8
0
0
0
0
0
0
0
0
0
0
0
1
-22
-35
0
-61
-10
0
0
0
0
0
0
0
0
0
0
0
0
20
-91
-29
-49
-117
-42
-9
-31
0
0
0
0
0
0
0
0
-22
-3
19
48
-19
-65
3
5
4
0
0
0
0
0
0
0
0
13
51
4
-8
0
0
15
3
-28
0
0
0
0
0
0
0
0
-2
-1
9
0
0
35
-62
-58
-25
0
0
0
0
0
0
0
0
0
0
0
-8
-33
-64
-24
-29
0
2
0
0
0
0
0
0
0
0
0
-7
0
0
14
-5
-6
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
-54
0
0
0
0
0
0
0
0
0
-10
0
-13
-14
-12
11
0
0
0
0
0
0
0
0
0
0
0
0
-20
-45
16
-4
51
0
0
0
2
0
0
0
0
0
0
0
0
0
-17
46
3
-45
0
-2
62
-4
0
0
0
0
0
0
0
0
-5
-18
-44
10
4
77
45
-41
0
0
0
0
0
0
0
0
6
0
3
11
2
0
6
58
50
0
0
0
0
0
0
0
0
27
-49
-14
-23
-56
13
3
-15
-5
1
0
0
0
0
0
0
0
-8
-3
-12
-9
-23
-97
-65
-72
-48
-7
0
0
0
0
0
0
0
0
0
0
-22
0
-5
-20
-34
-63
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-56
24
0
0
0
0
0
0
0
0
-15
-60
-23
-6
32
37
0
0
0
-2
0
0
0
0
0
0
-10
36
-11
-15
-46
20
15
0
0
0
0
0
0
0
0
0
0
0
18
10
4
34
-10
-9
29
-94
21
0
-1
0
0
0
0
0
29
4
43
-18
-100
13
-12
8
2
48
20
0
0
0
0
0
0
0
-10
-1
-18
62
26
6
0
0
-40
-10
0
0
0
0
0
0
0
26
15
-31
18
48
27
-21
-22
1
6
0
0
0
0
0
0
0
0
3
-2
61
34
21
-34
7
-49
-42
0
0
0
0
0
0
0
0
0
0
0
-37
14
29
6
34
2
0
0
0
0
0
0
0
0
0
0
0
0
-25
2
-29
0
0
0
0
0
0
0
0
0
-6
43
-15
12
13
-14
0
0
0
0
0
0
0
0
0
0
0
7
-4
2
22
-62
3
0
0
0
-4
0
0
0
0
0
0
0
2
29
13
-5
65
9
-53
-20
-54
0
0
0
0
0
0
0
0
-19
5
-13
-39
-26
-35
1
-14
-24
7
0
0
0
0
0
0
0
37
32
82
28
55
-55
-21
0
-1
1
0
0
0
0
0
0
0
3
71
13
-21
2
41
-4
4
38
4
0
0
0
0
0
0
0
0
-30
16
-30
-21
-5
29
-95
-70
0
0
0
0
0
0
0
0
0
0
43
17
-40
-17
-43
-28
-10
4
0
0
0
0
0
0
0
0
0
0
0
2
-2
24
-55
-38
0
0
0
0
0
0
0
0
6
-12
10
-39
13
0
0
0
0
-24
0
0
0
0
0
0
0
1
11
-10
6
90
68
0
0
0
-13
0
0
0
0
0
0
0
4
-66
53
12
39
-9
-18
-63
-18
-47
0
0
0
0
0
0
0
0
-59
9
24
67
26
-33
-1
41
-13
0
0
0
0
0
0
0
0
-12
68
58
63
58
-44
0
0
-2
0
0
0
0
0
0
0
0
9
-43
95
0
-33
8
-23
1
-2
0
0
0
0
0
0
0
0
-1
30
22
-21
41
43
-42
-53
2
0
0
0
0
0
0
0
3
0
4
7
14
27
13
-23
2
40
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
1
0
-13
2
22
0
0
0
12
4
0
0
0
0
0
0
0
0
0
0
9
-2
2
8
-16
0
-12
0
0
0
0
0
0
0
0
0
6
-8
8
-2
-40
28
6
0
0
0
0
0
0
0
0
0
0
0
-10
1
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
-36
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-17
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-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
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-1
-4
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-8
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
26
-30
-8
-18
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
-15
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
46
60
3
29
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-11
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-58
0
0
0
0
0
0
0
0
0
1
6
-4
14
-3
2
0
0
0
0
0
0
0
0
0
0
0
7
12
-21
-25
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-64
-23
9
38
1
7
1
0
0
0
0
0
0
0
0
0
-7
0
9
27
-13
-55
-28
-2
0
0
0
0
0
0
0
0
0
-1
13
27
-16
27
11
3
-55
0
0
0
0
0
0
0
0
0
0
-3
-4
-2
8
43
35
56
0
0
0
0
0
0
0
0
0
0
0
-6
-18
38
-6
-53
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-12
-64
69
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
3
15
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-18
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
27
7
6
0
-6
-8
-2
0
0
0
0
0
0
0
0
0
4
-22
-4
-33
-21
-15
-18
-3
0
0
0
0
0
0
0
0
0
0
10
-33
4
-3
-37
23
0
0
0
0
0
0
0
0
0
0
0
2
0
12
4
30
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
29
26
10
17
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
28
54
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-20
38
9
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
11
-7
-3
4
-30
37
-2
2
0
0
0
0
0
0
0
0
0
-6
3
-7
32
15
-3
1
-1
0
0
0
0
0
0
0
-15
0
0
-1
-1
-9
-18
-75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-3
10
-32
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-9
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
-24
-5
-5
3
33
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-11
41
17
7
0
0
0
0
0
0
0
0
0
0
0
0
3
15
79
-10
14
3
-80
-8
0
0
0
0
0
0
0
0
-13
0
34
-45
-59
5
-121
48
31
0
0
0
0
0
0
0
0
11
19
6
0
-44
27
-15
-48
3
0
0
0
0
0
0
0
0
0
2
0
0
1
-22
67
65
23
0
0
0
0
0
0
0
0
0
0
0
0
-14
15
-7
5
-68
0
0
0
0
0
0
0
0
0
0
0
0
-13
2
-41
-17
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
4
15
40
26
1
0
0
0
0
0
0
0
0
0
0
22
-1
13
-1
16
-32
61
0
0
0
0
0
0
0
0
0
0
-6
1
2
-76
1
29
-45
17
4
-9
0
0
0
0
0
0
0
0
13
20
13
3
-8
-23
-30
-1
-3
0
0
0
0
0
0
0
0
-7
-7
-22
-4
-1
-27
-16
-40
49
0
0
0
0
0
0
0
0
-2
2
-1
-1
0
0
-19
22
9
-1
0
0
0
0
0
0
0
0
-1
-30
0
-6
11
-21
-46
16
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-34
-38
24
-21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-21
0
0
0
0
0
0
0
0
0
-3
35
-23
-21
-10
-4
0
0
0
0
0
0
0
0
0
0
0
-15
-11
22
47
24
-2
0
0
0
0
0
0
0
0
0
0
0
1
-12
51
12
-37
7
-32
34
8
0
0
0
0
0
0
0
0
2
-5
3
-7
-62
32
19
121
92
0
0
0
0
0
0
0
0
-16
23
-7
11
26
-1
26
-12
-25
4
0
0
0
0
0
0
0
0
57
-25
-39
1
0
-4
1
-10
-4
0
0
0
0
0
0
0
0
0
-28
-5
-9
2
-61
-45
26
1
0
0
0
0
0
0
0
0
0
-2
0
-31
-6
-90
-100
-55
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
7
-1
23
-34
-29
-59
5
0
0
0
0
0
0
0
0
0
0
1
-43
-38
-31
76
21
62
0
0
0
4
0
0
0
0
0
0
7
2
17
-18
14
-86
-17
28
-11
-15
-4
-1
0
0
0
0
0
0
18
-23
8
-7
15
-8
-24
-46
0
0
0
0
0
0
0
0
2
34
-44
9
33
-53
-1
29
-34
-9
0
0
0
0
0
0
0
1
12
-20
26
55
31
0
0
-2
-5
0
0
0
0
0
0
0
0
0
-7
-14
-32
3
5
2
6
-31
1
0
0
0
0
0
0
0
0
0
0
8
9
-36
-20
-65
-137
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-26
8
0
0
0
0
0
0
0
0
11
-19
25
3
37
2
0
0
0
0
0
0
0
0
0
0
-8
20
63
-24
15
28
-69
0
0
0
0
0
0
0
0
0
0
0
-18
30
26
-9
10
14
-29
94
-10
-2
-3
0
0
0
0
0
0
-1
19
-41
-10
13
-59
-9
-15
-59
-2
0
0
0
0
0
0
0
-19
4
55
3
-51
-21
-59
27
-53
10
0
0
0
0
0
0
0
1
44
74
32
38
2
63
0
0
-2
0
0
0
0
0
0
0
0
9
-17
-12
19
-23
-3
80
-91
-9
0
0
0
0
0
0
0
0
0
26
2
23
35
-56
0
-92
0
0
0
0
0
0
0
0
0
0
0
2
-8
-8
12
47
9
0
0
0
0
0
0
0
0
0
-3
-22
-43
50
-6
0
0
0
-27
0
0
0
0
0
0
0
0
7
-65
5
2
-19
0
0
0
15
0
0
0
0
0
0
0
2
54
-10
5
47
50
19
18
48
0
0
0
0
0
0
0
0
-1
4
47
38
21
-35
-39
-65
-4
-40
0
0
0
0
0
0
0
-2
51
26
18
-4
3
-38
-30
0
-6
0
0
0
0
0
0
0
0
-5
11
18
22
34
-28
-2
0
0
0
0
0
0
0
0
0
0
0
39
31
11
-81
10
6
21
2
0
0
0
0
0
0
0
0
0
0
-31
-69
42
15
-38
-25
-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
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
-18
3
0
0
0
0
0
0
0
0
0
2
-7
2
0
-10
-6
8
-12
0
0
0
0
0
0
0
0
0
-1
21
37
-3
4
-33
1
1
0
0
0
0
0
0
0
0
0
0
-2
8
3
-47
6
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-9
18
-4
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
-1
-9
-3
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-75
0
0
0
0
0
0
0
0
0
0
6
-9
7
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-8
-1
-11
-2
0
0
0
0
0
0
0
0
0
0
0
1
7
28
-33
8
16
4
0
11
0
0
0
0
0
0
0
0
0
0
45
-4
-6
-58
-12
-2
-10
0
0
0
0
0
0
0
0
0
-15
0
-9
35
-3
-15
-29
-30
0
0
0
0
0
0
0
0
0
0
0
-1
8
-5
-45
-12
-37
0
0
0
0
0
0
0
0
0
0
0
8
-6
62
-21
73
-21
0
0
0
0
0
0
0
0
0
0
0
0
2
11
10
-28
9
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-21
4
-1
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
-10
3
66
1
0
0
9
0
0
0
0
0
0
0
0
0
0
21
-1
9
-18
-29
12
8
0
0
0
0
0
0
0
0
0
0
-40
-1
-8
-1
-8
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
-7
44
-15
-1
16
-1
0
0
0
0
0
0
0
0
0
0
0
-11
0
-8
81
-17
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-16
19
-7
4
-7
-1
0
0
0
0
0
0
0
0
0
-1
-2
0
53
15
-12
0
0
0
0
0
0
0
0
0
0
0
0
2
42
-9
8
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-6
7
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
8
15
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
32
25
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-14
44
8
0
0
12
0
0
0
0
0
0
0
0
0
0
18
80
-53
-62
-7
-22
-61
0
0
0
0
0
0
0
0
0
7
0
-28
-52
-78
-14
-21
2
0
0
0
0
0
0
0
0
0
-10
-4
0
-9
79
69
-56
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-15
22
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-64
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-27
0
0
0
0
0
0
0
0
0
0
4
4
42
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
-24
32
-16
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
-42
-20
-38
37
0
-7
0
0
0
0
0
0
0
0
0
6
46
-32
55
-34
33
-12
-24
0
0
0
0
0
0
0
0
7
-32
11
-24
-25
-31
-78
-13
-25
0
0
0
0
0
0
0
0
0
0
2
9
0
50
-49
-75
23
0
0
0
0
0
0
0
0
0
10
-2
2
0
-1
18
-16
-12
0
0
0
0
0
0
0
0
4
1
-6
0
3
-15
-65
-23
-38
-11
0
0
0
0
0
0
0
0
0
0
0
0
-20
-2
60
2
0
0
0
0
0
0
0
0
0
-7
13
13
11
-9
0
0
0
0
0
0
0
0
0
0
0
0
-3
34
8
66
-45
0
0
0
0
0
0
0
0
0
0
0
0
3
42
-8
7
19
9
3
59
0
0
0
0
0
0
0
0
-2
-7
-66
30
-40
21
-30
-36
109
0
0
0
0
0
0
0
0
-2
-42
-53
-33
30
-44
-62
-70
37
0
0
0
0
0
0
0
0
0
20
10
0
26
1
12
-66
-9
0
0
0
0
0
0
0
0
0
-2
-51
-30
-7
0
0
15
23
0
0
0
0
0
0
0
0
0
0
0
-20
-2
0
-109
-33
-17
26
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
-52
0
0
0
0
0
0
0
0
0
-41
17
33
52
-3
0
0
0
9
0
0
0
0
0
0
0
0
-27
15
19
64
16
0
0
0
29
-1
0
0
0
0
0
-4
6
-11
5
26
-83
73
-7
-22
-53
0
0
0
0
0
0
0
-3
0
-35
8
-27
42
-45
86
33
-5
-7
0
0
0
0
0
0
0
-18
51
9
-19
11
-23
-56
-11
-9
-29
0
0
0
0
0
0
0
2
-39
-38
-14
-24
-64
19
2
-58
32
0
0
0
0
0
0
0
0
-1
33
11
-28
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
15
-10
-23
-30
0
2
-26
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-36
0
-1
0
0
0
0
0
0
0
1
-25
-17
21
-9
-37
0
0
0
-2
0
0
0
0
0
0
0
11
0
11
7
27
-6
0
0
0
2
0
0
0
0
0
0
0
6
11
-12
23
-14
-94
30
11
15
-1
-1
0
0
0
0
0
0
-22
22
-8
-12
-28
26
-70
9
-58
3
0
0
0
0
0
0
0
-8
29
11
-16
-72
-24
27
-21
27
0
0
0
0
0
0
0
0
-10
-21
19
6
-25
14
-56
-6
0
3
0
0
0
0
0
0
0
12
2
48
53
54
-68
13
0
0
9
0
0
0
0
0
0
0
0
-2
-2
-47
1
-70
-5
0
-27
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-20
0
0
0
0
0
0
0
0
0
-44
6
-17
3
-6
0
0
0
-9
0
0
0
0
0
0
0
0
-11
7
-55
1
-35
0
0
0
-6
0
0
0
0
0
0
0
0
34
4
-18
11
18
7
-27
7
32
0
0
0
0
0
0
0
16
5
-45
-30
104
10
12
-13
24
14
0
0
0
0
0
0
0
-1
-12
-58
7
-48
-38
-22
-60
-43
-17
0
0
0
0
0
0
0
0
0
27
23
-27
-14
-6
-8
0
-6
0
0
0
0
0
0
0
0
0
6
71
-27
-61
-69
2
0
0
0
0
0
0
0
0
0
0
0
-63
-7
58
-22
12
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
6
0
-3
0
0
0
0
-1
-26
0
0
0
0
0
0
0
0
0
-2
0
-8
0
0
0
10
-63
0
0
0
0
0
0
0
0
0
0
10
-4
-6
0
2
-1
18
0
0
0
0
0
0
0
0
0
1
0
-8
10
-24
8
-2
0
0
0
0
0
0
0
0
0
0
0
3
-1
6
-15
-55
0
-6
0
0
0
0
0
0
0
0
0
0
6
-19
-1
22
8
0
-1
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-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
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-10
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
0
0
25
0
-1
-2
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
7
17
-18
28
-8
2
0
0
0
0
0
0
0
0
0
0
1
0
6
-7
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
26
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
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-2
1
-18
11
-1
1
3
0
0
0
0
0
0
0
0
0
0
4
0
0
-1
-2
11
4
2
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
-2
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-9
-9
11
6
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
11
8
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
8
4
-10
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
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
-2
0
0
0
0
0
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
0
0
0
7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
-2
1
-3
0
0
0
0
0
0
0
0
0
-1
-6
1
24
-43
49
63
9
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-7
-2
38
-1
0
0
0
0
0
0
0
0
0
0
-3
0
9
-23
-17
-34
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-27
35
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
12
-16
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-31
-4
-2
0
0
0
-6
0
0
0
0
0
0
0
0
4
7
21
-27
-50
-4
-4
2
0
0
0
0
0
0
0
0
0
0
-8
1
-38
21
8
-7
-83
-16
0
0
0
0
0
0
0
0
0
0
1
-8
2
-30
-54
-55
12
0
0
0
0
0
0
0
0
0
2
6
-1
0
33
8
-20
32
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-6
-35
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
20
15
2
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
33
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-19
-13
13
-1
1
6
0
0
0
0
0
0
0
0
0
0
12
53
-26
3
-1
-7
-55
0
0
0
0
0
0
0
0
1
3
0
-46
-8
19
-43
-60
6
0
0
0
0
0
0
0
0
0
0
-9
10
-28
-46
-19
-5
14
0
0
0
0
0
0
0
0
0
0
-1
49
9
0
-14
-8
-37
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
1
47
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
10
2
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
-30
10
-26
-2
0
0
0
0
0
0
0
0
0
0
0
0
-7
-35
-57
16
29
7
15
0
0
0
0
0
0
0
0
0
8
0
-12
-29
63
-16
18
14
16
1
0
0
0
0
0
0
0
-3
-35
19
-31
34
-89
31
13
-15
0
0
0
0
0
0
0
0
0
0
1
8
17
-32
-22
-89
41
-6
0
0
0
0
0
0
0
0
-10
1
-21
11
28
-3
16
-36
2
0
0
0
0
0
0
0
-7
0
-27
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-9
0
0
0
-3
0
0
-21
0
0
0
0
0
0
0
0
0
23
22
-13
0
-18
0
0
0
0
0
0
0
0
0
0
0
9
-10
14
45
-45
-34
0
0
0
-3
0
0
0
0
0
0
0
-1
-23
-16
58
55
10
-3
-1
-76
0
0
0
0
0
0
0
0
-28
-11
-38
-37
26
-34
64
-35
-4
0
0
0
0
0
0
0
0
0
2
33
5
-37
-36
-56
-18
9
0
0
0
0
0
0
0
0
0
5
-49
18
-89
16
-43
6
-44
-4
0
0
0
0
0
0
0
0
-6
15
-26
-19
0
-27
-9
32
-2
0
0
0
0
0
0
0
0
2
17
13
-34
5
0
0
9
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
-8
1
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-18
-4
13
0
0
0
-16
0
0
0
0
0
0
0
0
-1
2
1
-29
4
8
0
2
8
0
0
0
0
0
0
0
0
0
-1
0
8
-15
9
2
0
-19
0
0
0
0
0
0
0
0
0
7
-1
-5
-10
-70
-38
1
13
0
0
0
0
0
0
0
0
0
2
-26
38
-59
-4
-26
-15
21
0
0
0
0
0
0
0
0
0
0
-2
-11
30
-16
-9
0
-7
0
0
0
0
0
0
0
0
0
0
-2
-19
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
-3
-3
-30
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
0
-8
-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
-2
4
-44
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-21
-3
-48
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-27
44
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-26
0
28
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
42
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
28
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
7
0
0
0
0
0
0
0
0
0
0
0
1
-8
-4
-23
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
1
27
-46
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
-4
6
-21
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
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
-8
4
-7
2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-13
-1
8
0
0
0
0
0
0
0
0
0
0
0
4
-9
49
-14
2
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
28
7
1
0
-10
0
0
0
0
0
0
0
0
4
1
0
0
0
11
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-45
27
3
7
0
0
0
0
0
0
0
0
0
0
0
-16
-2
-3
12
-8
6
2
0
0
0
0
0
0
0
0
0
0
1
-1
1
1
0
9
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
13
1
-6
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
-3
0
3
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
2
0
1
-9
1
32
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
7
0
0
0
0
0
0
0
0
0
3
0
0
3
1
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-6
-6
9
35
0
2
0
0
0
0
0
0
0
0
0
0
6
7
42
18
-9
0
-1
1
-1
0
0
0
0
0
0
0
0
4
-12
36
-1
0
6
-30
16
0
0
0
0
0
0
0
0
0
-72
55
-2
-39
-1
1
0
0
0
0
0
0
0
0
0
0
0
-16
23
-4
3
-7
-7
-8
0
0
0
0
0
0
0
0
0
0
1
7
7
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
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
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
41
13
46
53
28
8
0
18
0
0
0
0
0
0
0
0
0
14
21
-14
20
-47
-21
5
0
0
0
0
0
0
0
0
0
6
58
-36
39
-38
8
-10
-11
-7
0
0
0
0
0
0
0
0
-9
33
14
1
-47
1
12
2
1
0
0
0
0
0
0
0
0
-2
-6
-5
6
-8
2
0
0
0
0
0
0
0
0
0
0
0
-3
-42
0
30
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
-10
-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
-4
29
13
-16
6
11
0
0
0
0
0
0
0
0
0
0
6
-33
-47
52
-3
-18
-4
8
0
0
0
0
0
0
0
0
0
-6
-6
-25
40
51
52
12
10
21
2
0
0
0
0
0
0
0
-12
18
73
11
0
15
-28
-22
0
0
0
0
0
0
0
0
0
-20
-9
1
27
41
-9
50
-1
0
0
0
0
0
0
0
0
0
15
5
40
-1
0
-2
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
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
32
7
3
-18
33
-47
6
0
0
0
0
0
0
0
0
0
0
13
7
94
16
11
-54
-30
-8
2
0
0
0
0
0
0
0
0
5
45
14
30
1
8
30
4
0
0
0
0
0
0
0
0
0
34
-13
-13
26
5
-27
11
2
0
0
0
0
0
0
0
0
0
11
29
20
-5
42
41
2
0
-1
0
0
0
0
0
0
0
0
41
21
86
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
82
-5
-54
51
0
0
4
0
0
0
0
0
0
0
0
0
0
-42
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
0
-8
4
-1
0
0
0
0
0
0
0
0
0
0
0
8
5
12
9
3
-4
0
-1
0
0
0
0
0
0
0
0
0
2
1
18
21
6
3
2
0
0
0
0
0
0
0
0
0
0
0
2
-35
10
-1
3
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
7
-1
-6
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
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
10
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
4
-7
-9
-1
0
0
0
0
0
0
0
0
0
0
0
-20
-6
15
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-1
-20
-9
0
0
0
0
0
0
0
0
0
0
0
0
6
-41
-19
16
11
-16
-2
-1
0
0
0
0
0
0
0
0
0
0
58
21
-1
8
-7
-3
0
0
0
0
0
0
0
0
0
0
-1
35
2
-8
-7
2
1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
1
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
16
0
4
11
4
-4
0
0
0
0
0
0
0
0
0
0
0
2
-1
5
82
-2
-2
-2
1
0
0
0
0
0
0
0
0
0
1
-15
32
6
-4
0
-2
-1
0
0
0
0
0
0
0
0
0
-1
2
3
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
9
1
0
0
0
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-3
13
15
-11
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-9
0
-1
0
0
0
0
0
0
0
0
0
-10
2
1
0
2
0
6
0
0
0
0
0
0
0
0
0
0
2
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
1
-2
-17
-11
21
0
0
0
0
0
0
0
0
0
0
-11
-21
2
44
0
21
7
-1
1
0
0
0
0
0
0
0
0
1
3
-2
6
-3
-20
7
-8
-1
0
0
0
0
0
0
0
0
12
7
7
-7
2
4
0
1
0
0
0
0
0
0
0
0
0
2
-8
-7
20
1
-8
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
3
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
9
-35
-1
31
8
8
0
0
0
0
0
0
0
0
0
20
25
21
20
21
29
-33
0
-6
0
0
0
0
0
0
0
0
-25
80
-41
-1
38
15
12
2
0
0
0
0
0
0
0
0
0
19
114
12
3
25
24
-25
-1
0
0
0
0
0
0
0
0
0
-28
16
-27
23
-7
-9
-12
2
0
0
0
0
0
0
0
0
0
34
-26
39
32
12
-2
35
-1
0
0
0
0
0
0
0
0
0
33
-26
0
-15
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
9
53
-30
30
1
-5
0
0
0
0
0
0
0
0
0
0
-10
6
9
-7
-34
22
-11
20
0
0
0
0
0
0
0
0
0
-20
2
21
-54
14
97
-19
7
-15
0
0
0
0
0
0
0
0
1
58
117
5
-32
-17
-21
41
0
0
0
0
0
0
0
0
0
1
52
71
44
47
-4
-1
-8
-3
0
0
0
0
0
0
0
0
32
59
29
25
-10
1
0
0
0
0
0
0
0
0
0
0
0
-4
11
0
-12
-1
-8
-2
16
-2
0
0
0
0
0
0
0
0
0
38
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
86
-3
36
24
-8
-14
14
-9
0
0
0
0
0
0
0
0
0
17
-38
-46
31
19
-40
-24
1
-11
0
0
0
0
0
0
0
0
32
75
11
-38
-11
-19
-38
-17
2
-1
0
0
0
0
0
0
0
28
-15
11
33
29
11
-4
54
-9
0
0
0
0
0
0
0
0
-42
39
3
24
6
32
-24
7
0
-3
0
0
0
0
0
0
0
66
-20
8
-9
-35
-6
1
-6
0
0
0
0
0
0
0
0
0
-30
17
43
-1
2
-1
4
2
0
0
0
0
0
0
0
0
0
3
-9
-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
95
23
18
4
-14
24
26
18
0
0
0
0
0
0
0
0
0
-20
62
-14
22
42
14
50
-18
1
0
0
0
0
0
0
0
0
-17
25
67
13
27
31
-55
-48
6
2
0
0
0
0
0
0
0
-10
83
3
1
-14
16
6
71
-5
-2
0
0
0
0
0
0
0
-28
30
-44
42
-4
29
16
57
10
0
0
0
0
0
0
0
0
-27
58
-4
10
-24
29
37
11
0
0
0
0
0
0
0
0
0
14
40
44
17
-1
15
0
0
0
0
0
0
0
0
0
0
0
1
65
36
84
4
-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
43
16
-4
-22
9
32
65
0
0
0
0
0
0
0
0
0
0
65
35
35
23
28
-49
51
-10
0
0
0
0
0
0
0
0
0
-6
33
-17
-46
49
-50
-59
8
-8
0
0
0
0
0
0
0
0
108
4
53
16
16
-27
24
73
0
0
0
0
0
0
0
0
0
15
57
-39
-77
17
-28
29
54
0
0
0
0
0
0
0
0
0
5
-50
0
10
-11
38
1
0
0
0
0
0
0
0
0
0
0
13
21
-8
57
-9
0
1
0
0
0
0
0
0
0
0
0
0
-9
-16
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
-10
0
-5
-5
-19
0
3
0
0
0
0
0
0
0
0
0
21
44
47
30
-7
-32
0
-2
0
0
0
0
0
0
0
0
0
8
16
19
0
-4
20
-26
4
0
0
0
0
0
0
0
0
0
-38
27
-20
36
4
18
2
0
0
0
0
0
0
0
0
0
0
7
1
-17
0
6
0
0
0
0
0
0
0
0
0
0
0
0
6
0
5
0
-1
-9
-1
0
0
0
0
0
0
0
0
0
0
-25
-1
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
7
6
-2
0
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
-2
0
-4
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-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
8
13
-1
-4
1
2
3
-2
0
0
0
0
0
0
0
0
0
2
-12
12
-27
1
-4
38
1
0
0
0
0
0
0
0
0
0
3
0
-40
32
36
12
-11
-1
0
0
0
0
0
0
0
0
0
0
65
13
-2
-10
4
-8
1
6
0
0
0
0
0
0
0
0
0
-1
27
20
-3
0
-2
-1
1
0
0
0
0
0
0
0
0
0
0
15
3
0
0
0
8
4
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
38
-2
-9
1
0
0
0
0
0
0
0
0
0
0
0
-6
7
-2
0
11
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-8
-7
-3
2
0
0
0
0
0
0
0
0
0
0
0
6
-21
6
0
-7
1
0
0
0
0
0
0
0
0
0
0
-2
-18
0
0
0
-1
-2
2
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
6
0
0
0
0
0
0
0
0
0
0
0
2
-1
7
0
-1
-1
6
-1
0
0
0
0
0
0
0
0
0
6
0
24
-1
3
0
0
0
1
0
0
0
0
0
0
0
0
-3
3
-1
-1
-1
-7
0
0
0
0
0
0
0
0
0
0
0
41
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
3
1
27
-1
2
0
0
0
0
0
0
0
0
0
8
-18
46
-21
-2
-21
12
0
0
0
0
0
0
0
0
0
0
-2
3
-9
6
-2
38
-9
0
0
0
0
0
0
0
0
0
0
-49
61
-7
-13
2
-1
-12
8
-3
0
0
0
0
0
0
0
0
-43
-3
0
0
-1
-2
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
-8
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-27
-63
-26
59
40
6
4
0
0
0
0
0
0
0
0
0
-6
-21
47
-57
-29
1
-1
1
-1
0
0
0
0
0
0
0
0
-70
10
33
99
11
1
-35
0
0
0
0
0
0
0
0
0
0
28
46
37
-24
-39
-21
-14
-2
3
0
0
0
0
0
0
0
0
54
2
3
-12
39
10
9
2
0
0
0
0
0
0
0
0
0
-32
32
38
-14
1
-2
0
-8
0
0
0
0
0
0
0
0
0
13
9
6
23
0
-1
13
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-27
-34
-25
-3
-15
-93
4
0
0
0
0
0
0
0
0
0
7
13
116
17
-3
26
-28
-16
-21
-1
0
0
0
0
0
0
0
18
24
21
53
-30
28
7
-18
-4
0
0
0
0
0
0
0
0
4
60
9
-30
-28
-24
-17
4
8
-2
0
0
0
0
0
0
0
-3
17
64
-6
34
29
49
-4
0
0
0
0
0
0
0
0
0
-14
13
92
14
9
29
-4
7
0
0
0
0
0
0
0
0
0
1
-8
86
4
2
-2
-3
0
0
0
0
0
0
0
0
0
0
4
55
7
-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
19
28
16
59
4
-25
23
30
0
0
0
0
0
0
0
0
0
17
31
-14
-26
-16
47
-73
23
-15
0
0
0
0
0
0
0
0
44
-32
-24
-12
54
30
-4
-1
4
-1
0
0
0
0
0
0
0
42
29
37
-12
73
6
-3
-4
1
3
0
0
0
0
0
0
0
25
2
73
-12
71
52
60
27
29
0
0
0
0
0
0
0
0
83
-35
29
0
97
43
11
-8
32
0
0
0
0
0
0
0
0
-43
50
30
-15
-15
-18
-3
0
0
0
0
0
0
0
0
0
0
31
31
-14
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
65
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
13
-42
-19
-4
17
0
0
0
0
0
0
0
0
0
0
-38
37
47
22
-30
9
-27
14
-5
0
0
0
0
0
0
0
0
48
4
16
111
67
-75
-18
-11
3
-3
0
0
0
0
0
0
0
10
-1
11
67
36
5
37
32
-43
0
0
0
0
0
0
0
0
-7
-15
31
-32
-16
73
37
29
46
0
0
0
0
0
0
0
0
17
12
-1
50
-21
9
19
-25
3
6
0
0
0
0
0
0
0
-43
1
-29
-32
-4
-10
-18
13
59
-1
0
0
0
0
0
0
0
-4
58
-20
-56
19
6
-4
9
0
0
0
0
0
0
0
0
0
41
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
3
34
-29
-23
-74
-43
0
4
0
0
0
0
0
0
0
0
68
46
38
6
49
-21
42
16
0
2
0
0
0
0
0
0
0
40
103
15
1
42
-19
-60
-3
-1
0
0
0
0
0
0
0
0
-34
3
16
38
-8
39
35
2
1
0
0
0
0
0
0
0
0
11
33
9
-78
8
-1
-24
17
1
0
0
0
0
0
0
0
0
-66
-7
23
19
-18
19
44
-16
0
0
0
0
0
0
0
0
0
80
-36
-1
-5
16
13
7
0
2
0
0
0
0
0
0
0
0
-29
33
6
-1
0
15
-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
21
-3
-3
23
-11
3
0
0
0
0
0
0
0
0
0
0
0
-10
-17
-6
1
-19
17
0
0
6
0
0
0
0
0
0
0
0
37
18
0
10
0
14
33
-3
0
0
0
0
0
0
0
0
0
-14
27
3
-21
10
-12
-11
4
0
0
0
0
0
0
0
0
0
1
40
34
9
-8
15
0
1
0
0
0
0
0
0
0
0
0
20
4
17
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
-1
3
15
-42
0
0
0
0
0
0
0
0
0
4
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
-7
-1
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
2
-4
-4
0
0
0
0
0
0
0
0
0
-3
11
7
-14
-7
-20
-64
-8
0
0
0
0
0
0
0
0
0
7
0
-8
-29
-42
-28
-28
18
0
0
0
0
0
0
0
0
0
2
0
-13
26
11
18
38
4
0
0
0
0
0
0
0
0
0
0
-43
1
37
59
-16
1
0
-3
0
0
0
0
0
0
0
0
0
51
68
11
-3
16
-1
8
-1
0
0
0
0
0
0
0
0
0
11
2
-4
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
-2
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
18
1
4
4
-4
-8
10
0
0
0
0
0
0
0
0
0
0
7
-3
-9
24
1
-9
0
0
0
0
0
0
0
0
0
0
0
-11
0
-3
0
0
-12
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
40
-1
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
1
12
1
2
0
0
0
0
0
0
0
0
0
1
0
0
-61
3
0
3
0
-7
0
0
0
0
0
0
0
0
30
-32
46
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
27
-1
0
1
13
-2
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
14
0
0
-10
-3
1
0
0
0
0
0
0
0
0
0
4
-26
1
0
21
-45
4
3
0
0
0
0
0
0
0
0
0
-9
9
-7
14
-12
-18
4
-1
0
0
0
0
0
0
0
0
0
17
58
35
25
1
-7
0
0
-1
0
0
0
0
0
0
0
0
5
12
33
0
11
0
24
0
0
0
0
0
0
0
0
0
0
4
-12
-1
25
2
9
0
0
0
0
0
0
0
0
0
0
0
-3
-3
3
10
2
0
0
0
0
0
0
0
0
0
0
0
0
7
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
4
52
26
6
-8
12
12
0
0
0
0
0
0
0
0
0
66
-13
37
6
-22
35
-18
4
-4
0
0
0
0
0
0
0
0
8
-6
-37
13
-10
6
-27
-1
29
0
0
0
0
0
0
0
0
30
-10
-20
-4
47
0
-16
8
0
0
0
0
0
0
0
0
0
-24
-40
2
-1
-12
60
30
3
12
0
0
0
0
0
0
0
0
-45
6
1
28
40
-23
0
0
0
0
0
0
0
0
0
0
0
26
19
-4
5
-1
0
-2
0
0
0
0
0
0
0
0
0
0
1
22
-15
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
8
17
-11
-15
-71
28
15
32
0
0
0
0
0
0
0
0
0
9
8
44
4
50
75
-29
34
1
0
0
0
0
0
0
0
0
17
91
49
3
14
2
-39
-14
-29
-9
0
0
0
0
0
0
0
3
-6
-3
-94
-4
-27
2
-4
-3
0
0
0
0
0
0
0
0
-22
-17
61
19
-7
-15
13
20
5
0
0
0
0
0
0
0
0
6
48
-10
50
3
47
-26
-1
0
0
0
0
0
0
0
0
0
45
20
12
50
-36
10
8
0
0
0
0
0
0
0
0
0
0
18
66
87
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-5
54
52
7
28
-22
33
0
0
0
0
0
0
0
0
0
84
0
-1
23
18
-7
21
-23
3
0
0
0
0
0
0
0
0
-13
31
77
17
4
19
-8
30
-9
6
0
0
0
0
0
0
0
95
-33
64
22
27
45
54
9
-1
0
0
0
0
0
0
0
0
-25
26
-21
112
24
-11
13
6
1
0
0
0
0
0
0
0
0
-3
72
-6
15
-16
33
-15
0
-1
0
0
0
0
0
0
0
0
14
9
-54
-9
57
23
-4
0
-1
0
0
0
0
0
0
0
0
17
15
-1
20
1
0
0
0
0
0
0
0
0
0
0
0
0
-17
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
28
-9
30
-11
66
44
5
0
0
0
0
0
0
0
0
0
9
26
-11
-14
1
-11
20
28
1
-7
0
0
0
0
0
0
0
-48
8
-3
-38
45
67
-42
38
43
-2
0
0
0
0
0
0
0
-36
23
32
-6
56
-15
-7
45
0
0
0
0
0
0
0
0
0
-38
3
39
19
38
7
36
-37
-37
0
0
0
0
0
0
0
0
5
12
-28
32
3
-20
41
68
-12
2
0
0
0
0
0
0
0
63
38
16
-18
-35
53
-11
65
53
2
0
0
0
0
0
0
0
-15
8
17
-15
5
-6
-6
36
0
0
0
0
0
0
0
0
0
34
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
106
36
-9
47
-23
-21
0
0
0
0
0
0
0
0
0
0
-4
-5
17
46
-55
9
-39
-16
0
0
0
0
0
0
0
0
0
9
92
36
4
22
-9
-23
46
2
0
0
0
0
0
0
0
0
48
-35
27
28
-26
63
-16
-12
0
0
0
0
0
0
0
0
0
17
56
18
-8
-55
46
0
15
-2
0
0
0
0
0
0
0
0
27
-20
28
15
23
59
16
-13
0
0
0
0
0
0
0
0
0
40
-11
45
76
0
-15
-2
-2
0
0
0
0
0
0
0
0
0
20
4
-40
0
7
0
-7
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
-1
0
0
11
-34
-1
0
0
0
0
0
0
0
0
0
0
0
-10
-13
48
6
-7
-8
0
0
0
0
0
0
0
0
0
0
0
43
0
2
-17
10
34
1
-1
0
0
0
0
0
0
0
0
0
-3
0
1
-4
17
-2
-3
0
0
0
0
0
0
0
0
0
0
0
32
41
-9
-9
0
0
0
0
0
0
0
0
0
0
0
0
54
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-8
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
3
0
-1
-4
0
10
2
0
0
0
0
0
0
0
0
0
0
-6
3
-7
-11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
6
0
0
-1
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
-2
7
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
-8
8
1
0
0
0
0
0
0
0
0
0
0
-12
-11
-28
16
46
2
21
-1
0
0
0
0
0
0
0
0
-1
18
0
-12
13
22
15
-3
-2
0
0
0
0
0
0
0
0
0
-13
0
-3
42
34
67
0
0
0
0
0
0
0
0
0
0
12
0
30
-87
-18
27
-4
-9
8
0
0
0
0
0
0
0
0
0
41
-9
7
50
61
-2
0
-1
0
0
0
0
0
0
0
0
1
-21
-30
-37
-22
0
1
0
0
0
0
0
0
0
0
0
0
0
-65
23
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-3
-4
-7
1
0
0
0
0
0
0
0
0
0
11
0
3
2
2
12
-7
0
0
0
0
0
0
0
0
0
0
-4
-10
6
15
-10
-4
0
0
0
0
0
0
0
0
0
0
0
48
0
-7
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
-21
43
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
7
7
0
20
-2
-1
0
0
0
0
0
0
0
0
0
-1
4
-25
1
-4
6
15
2
0
0
0
0
0
0
0
0
0
-3
3
-1
0
-8
0
0
0
1
0
0
0
0
0
0
0
0
-6
-2
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-13
-4
-16
-1
7
1
0
0
0
0
0
0
0
0
0
24
10
-35
-29
-10
94
-12
0
0
0
0
0
0
0
0
0
0
-6
7
-16
-7
38
30
15
-40
4
0
0
0
0
0
0
0
0
-55
9
7
59
-28
-13
-17
3
0
0
0
0
0
0
0
0
0
-5
-29
26
-42
0
0
-8
0
0
0
0
0
0
0
0
0
0
-155
49
28
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-29
-11
-8
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
-17
-30
-53
-29
-8
-2
23
-8
0
0
0
0
0
0
0
0
0
23
-62
16
22
39
59
41
55
-4
0
0
0
0
0
0
0
0
-12
30
13
7
-52
-23
34
42
-12
0
0
0
0
0
0
0
0
76
-85
-26
7
-37
7
-9
14
3
0
0
0
0
0
0
0
0
-28
100
24
31
-63
0
-17
0
-4
0
0
0
0
0
0
0
0
-17
49
96
-40
-5
22
7
6
-1
0
0
0
0
0
0
0
0
-9
56
-68
55
4
-1
17
0
0
0
0
0
0
0
0
0
0
2
68
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
49
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
15
-19
-36
27
-26
-16
-29
0
0
0
0
0
0
0
0
0
-25
39
-2
8
11
30
23
18
89
0
0
0
0
0
0
0
0
11
0
-61
9
24
42
36
-4
-26
2
0
0
0
0
0
0
0
-35
-7
11
22
14
-7
-12
-16
6
0
0
0
0
0
0
0
0
2
-12
8
28
59
-18
0
-5
10
0
0
0
0
0
0
0
0
44
46
-17
26
-2
15
18
-1
-9
0
0
0
0
0
0
0
0
51
22
36
10
33
-14
44
0
0
0
0
0
0
0
0
0
0
-3
65
-27
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
-52
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
64
-26
116
-4
-13
13
47
0
0
0
0
0
0
0
0
0
-16
46
9
0
4
23
28
41
14
0
0
0
0
0
0
0
0
-5
34
-25
-11
35
72
19
89
16
-2
0
0
0
0
0
0
0
27
-7
96
-34
-10
58
46
-15
-16
0
0
0
0
0
0
0
0
-59
59
45
-20
42
52
-25
0
0
0
0
0
0
0
0
0
0
-83
11
28
79
22
31
-17
30
-6
0
0
0
0
0
0
0
0
10
7
14
30
-9
19
17
0
0
0
0
0
0
0
0
0
0
-33
-56
-50
33
4
-1
4
0
0
0
0
0
0
0
0
0
0
36
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-54
20
57
12
33
15
-46
0
0
0
0
0
0
0
0
0
24
-6
-29
16
-10
-26
-10
-31
24
0
0
0
0
0
0
0
0
15
11
1
15
30
14
4
-4
-10
58
0
0
0
0
0
0
0
-19
36
-8
34
71
-17
25
-9
46
-1
0
0
0
0
0
0
0
14
-8
30
13
13
-4
57
15
0
-1
0
0
0
0
0
0
0
44
-14
-62
11
36
-11
77
-32
33
0
0
0
0
0
0
0
0
-1
16
106
39
37
46
50
15
-12
0
0
0
0
0
0
0
0
-24
-36
-27
-24
-1
16
71
-3
7
0
0
0
0
0
0
0
0
7
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-37
33
56
29
-49
0
0
0
0
0
0
0
0
0
0
-7
43
11
51
-8
-49
-64
-2
-1
0
0
0
0
0
0
0
0
11
20
45
22
0
16
59
5
-1
0
0
0
0
0
0
0
0
39
30
42
-73
68
-3
25
57
0
0
0
0
0
0
0
0
0
-33
60
-33
-14
48
58
-4
0
0
0
0
0
0
0
0
0
0
2
-1
15
-34
-12
56
29
-9
14
0
0
0
0
0
0
0
0
29
-12
-3
30
26
63
34
35
0
0
0
0
0
0
0
0
0
11
37
-24
3
-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
12
22
-2
18
19
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
27
1
-44
-6
0
0
0
0
0
0
0
0
0
0
0
-10
-6
-1
2
-2
-4
-3
0
0
0
0
0
0
0
0
0
0
41
-30
-13
7
-6
-6
1
1
0
0
0
0
0
0
0
0
0
-24
18
21
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
1
15
-3
0
0
-3
1
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
13
-4
0
0
0
0
0
0
0
0
0
9
0
-2
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
8
33
24
17
0
4
2
0
0
0
0
0
0
0
0
0
0
0
28
8
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
10
0
15
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
1
-8
12
0
0
0
0
0
0
0
0
0
0
-4
3
0
-12
2
35
3
3
0
0
0
0
0
0
0
0
0
-6
0
0
38
17
-73
-6
0
0
0
0
0
0
0
0
0
6
-3
29
35
11
28
0
1
0
0
0
0
0
0
0
0
0
-4
26
-45
-22
-20
-6
-16
-1
0
0
0
0
0
0
0
0
0
0
0
6
-21
-12
9
0
0
0
0
0
0
0
0
0
0
0
0
20
25
-7
-18
4
0
0
0
0
0
0
0
0
0
0
0
-6
-8
34
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-16
-2
0
0
0
0
0
0
0
0
0
-2
0
1
3
0
8
8
3
0
0
0
0
0
0
0
0
0
2
-3
35
-13
2
-7
10
0
0
0
0
0
0
0
0
0
0
35
-9
32
9
9
6
-2
0
0
0
0
0
0
0
0
0
0
-46
0
-15
-2
-3
-3
0
0
0
0
0
0
0
0
0
0
0
12
73
-4
-29
7
-2
0
0
0
0
0
0
0
0
0
0
0
-44
0
17
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
-2
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
12
0
20
-12
-8
-2
0
0
0
0
0
0
0
0
0
1
-1
-10
0
-1
-7
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
1
8
-1
3
0
0
0
0
0
0
0
0
0
0
0
16
-1
-6
0
0
6
-7
0
0
0
0
0
0
0
0
0
0
-9
-7
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-7
-8
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
-1
0
-8
0
-12
-1
-21
-12
0
0
0
0
0
0
0
0
0
1
35
-7
-27
3
3
3
67
20
0
0
0
0
0
0
0
0
0
0
1
42
-2
-28
37
0
0
-3
0
0
0
0
0
0
0
0
-10
-4
26
-26
31
34
-12
0
0
0
0
0
0
0
0
0
0
29
11
25
-1
-3
0
6
-1
0
0
0
0
0
0
0
0
13
17
9
-29
0
-6
0
11
0
0
0
0
0
0
0
0
0
7
52
8
-2
-12
3
-3
0
0
0
0
0
0
0
0
0
0
9
61
-3
12
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
0
0
0
0
0
-19
94
-9
71
-30
-8
32
7
0
0
0
0
0
0
0
0
0
11
41
18
66
62
-30
21
18
-2
0
0
0
0
0
0
0
0
14
46
98
-22
-25
50
58
-3
0
0
0
0
0
0
0
0
0
61
12
-28
11
22
-26
-7
-1
-1
0
0
0
0
0
0
0
0
-1
17
0
-17
43
-8
-19
-35
2
0
0
0
0
0
0
0
0
-20
18
49
24
-33
0
-2
11
4
0
0
0
0
0
0
0
0
-28
42
-9
78
8
-1
7
-1
0
0
0
0
0
0
0
0
0
-3
16
-34
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
2
22
-60
-47
-33
6
-2
0
0
0
0
0
0
0
0
0
34
53
-71
29
-7
23
39
24
30
0
0
0
0
0
0
0
0
19
-18
1
-25
-33
6
-27
-28
-9
0
0
0
0
0
0
0
0
1
87
-34
-27
-4
-15
-41
-28
-1
0
0
0
0
0
0
0
0
22
37
27
16
72
10
-8
50
15
0
0
0
0
0
0
0
0
2
26
34
-34
3
8
0
13
-2
0
0
0
0
0
0
0
0
23
-35
57
-11
23
-14
3
1
0
0
0
0
0
0
0
0
0
-2
40
17
-73
-12
-3
11
-4
0
0
0
0
0
0
0
0
0
-32
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-55
7
42
34
46
6
-55
0
0
0
0
0
0
0
0
0
14
11
23
23
30
31
13
8
-6
0
0
0
0
0
0
0
0
-28
-4
-31
-7
24
33
17
9
60
0
0
0
0
0
0
0
0
77
-3
35
15
16
45
0
40
58
0
0
0
0
0
0
0
0
9
1
-42
16
18
75
11
-50
-11
0
0
0
0
0
0
0
0
2
80
-35
51
21
18
7
0
8
0
0
0
0
0
0
0
0
-6
60
36
59
-16
-39
33
-3
0
0
0
0
0
0
0
0
0
22
-14
27
13
-10
-1
0
0
0
0
0
0
0
0
0
0
0
50
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
-1
-35
-6
71
29
46
38
0
0
0
0
0
0
0
0
0
22
-13
13
57
40
-21
25
-4
48
-1
0
0
0
0
0
0
0
15
23
71
34
39
48
9
24
97
56
0
0
0
0
0
0
0
-28
32
13
23
-25
49
27
50
-32
-11
0
0
0
0
0
0
0
4
17
10
49
30
8
0
53
24
-1
0
0
0
0
0
0
0
-18
1
-14
36
54
1
27
10
0
5
0
0
0
0
0
0
0
45
2
25
36
10
-7
36
26
-17
0
0
0
0
0
0
0
0
-20
-3
41
1
28
98
18
2
0
0
0
0
0
0
0
0
0
5
-8
11
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
21
33
24
24
-25
-2
-53
0
0
0
0
0
0
0
0
0
0
-28
-24
17
40
-8
46
-103
12
-2
0
0
0
0
0
0
0
0
-30
-54
117
53
-9
-30
3
75
-1
0
0
0
0
0
0
0
0
31
-55
43
7
22
28
18
-7
67
0
0
0
0
0
0
0
0
-3
-21
74
19
-44
40
-5
6
-20
0
0
0
0
0
0
0
0
60
-14
-2
25
53
-24
35
0
0
0
0
0
0
0
0
0
0
22
3
52
5
18
-4
26
2
0
0
0
0
0
0
0
0
0
-3
-37
7
29
-1
3
1
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
24
-9
18
0
0
0
0
0
0
0
0
0
0
0
-10
0
25
8
-41
-13
0
0
0
0
0
0
0
0
0
0
0
2
-38
9
-7
0
-13
-3
1
0
0
0
0
0
0
0
0
0
-1
-3
-3
0
1
-2
-2
0
0
0
0
0
0
0
0
0
0
2
3
3
-3
0
3
11
0
0
0
0
0
0
0
0
0
0
3
-7
-3
0
7
-24
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
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
16
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-3
-4
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
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
12
4
-1
1
0
7
3
10
0
0
0
0
0
0
0
0
0
-1
-1
0
0
8
10
17
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
23
5
-2
1
0
0
0
0
0
0
0
0
-1
0
-2
3
9
-10
2
0
0
0
0
0
0
0
0
0
0
-8
9
-4
25
12
17
2
0
0
0
0
0
0
0
0
0
0
8
0
-44
-8
11
0
-1
0
0
0
0
0
0
0
0
0
0
0
41
12
22
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
-9
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
22
4
1
4
0
0
0
0
0
0
0
0
0
1
4
-16
40
2
-26
-2
0
0
0
0
0
0
0
0
0
0
4
76
44
-7
2
-1
0
0
0
0
0
0
0
0
0
0
0
-7
27
55
-2
-1
-6
0
0
0
0
0
0
0
0
0
0
0
22
0
11
18
-8
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-15
0
9
0
0
0
0
0
0
0
0
0
0
0
1
-1
-13
0
9
1
0
0
0
0
0
0
0
0
0
0
-8
-1
-9
1
-2
-1
2
0
0
0
0
0
0
0
0
0
0
2
29
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
-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
-2
0
1
1
10
-16
0
0
0
0
0
0
0
0
0
0
-2
-6
-8
-46
3
-30
-4
-7
-9
0
0
0
0
0
0
0
0
0
0
6
1
-4
-15
41
0
0
0
0
0
0
0
0
0
0
0
-10
0
-4
0
-6
8
13
0
0
0
0
0
0
0
0
0
0
0
4
-13
2
-2
-9
1
7
0
0
0
0
0
0
0
0
0
15
19
-22
-16
0
13
-1
-1
0
0
0
0
0
0
0
0
0
-7
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-28
-7
0
0
-1
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
-2
-15
18
-22
-1
15
0
0
0
0
0
0
0
0
0
0
-13
23
-20
6
20
3
-35
51
-1
0
0
0
0
0
0
0
0
8
-24
0
6
-51
3
4
-42
-4
0
0
0
0
0
0
0
0
0
17
11
21
-8
0
7
-2
3
0
0
0
0
0
0
0
0
2
24
50
-4
12
-2
-10
10
-7
0
0
0
0
0
0
0
0
0
84
23
-23
4
9
-1
-13
0
0
0
0
0
0
0
0
0
1
-53
24
64
-12
0
0
0
2
0
0
0
0
0
0
0
0
22
59
11
-23
0
0
0
7
0
0
0
0
0
0
0
0
0
45
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
32
-33
37
-8
34
31
0
0
0
0
0
0
0
0
0
-2
17
-23
0
59
21
20
46
-28
0
0
0
0
0
0
0
0
10
86
1
-2
-24
28
-17
9
-14
9
0
0
0
0
0
0
0
0
-25
14
75
30
-40
29
17
1
0
0
0
0
0
0
0
0
0
-11
42
57
6
-28
-7
-8
38
0
0
0
0
0
0
0
0
8
59
-11
44
-11
-4
3
-21
1
19
0
0
0
0
0
0
0
11
11
10
69
3
-5
0
-21
-9
0
0
0
0
0
0
0
0
9
-8
1
8
-4
3
0
0
0
0
0
0
0
0
0
0
0
-16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-15
38
17
-28
33
6
-2
0
0
0
0
0
0
0
0
0
6
35
12
3
-44
50
62
-4
-20
0
0
0
0
0
0
0
0
21
9
39
38
13
59
56
61
-1
2
0
0
0
0
0
0
0
6
69
-35
-48
49
-32
29
39
-2
0
0
0
0
0
0
0
0
36
30
45
-26
-16
-44
-19
18
64
0
0
0
0
0
0
0
0
-46
-4
3
0
-24
41
45
5
10
0
0
0
0
0
0
0
0
30
53
77
-79
17
9
30
0
0
0
0
0
0
0
0
0
0
18
39
-5
95
8
6
0
1
0
0
0
0
0
0
0
0
0
56
16
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
48
41
32
10
-41
2
7
0
0
0
0
0
0
0
0
0
0
31
-5
26
20
34
8
18
34
46
0
0
0
0
0
0
0
8
10
27
21
25
18
33
-5
70
-3
0
0
0
0
0
0
0
6
14
24
23
-4
5
-11
25
37
9
0
0
0
0
0
0
0
-2
48
77
-36
72
53
23
5
-25
1
0
0
0
0
0
0
0
7
10
-40
8
26
-7
69
78
62
1
0
0
0
0
0
0
0
-19
21
7
-14
29
75
25
20
0
0
0
0
0
0
0
0
0
31
1
12
23
17
-23
-66
1
5
0
0
0
0
0
0
0
0
-8
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
98
89
-26
-94
56
26
0
0
0
0
0
0
0
0
0
0
3
64
37
-23
-11
8
8
-24
-3
0
0
0
0
0
0
0
0
0
-65
19
32
-22
-24
10
11
-3
0
0
0
0
0
0
0
0
-10
-1
42
-37
43
-23
-41
-39
-12
0
0
0
0
0
0
0
0
-23
-23
19
-22
-25
1
27
-8
7
0
0
0
0
0
0
0
0
44
-59
0
14
37
-9
-19
72
-5
0
0
0
0
0
0
0
0
8
-18
18
64
21
31
17
3
0
0
0
0
0
0
0
0
0
0
39
89
12
8
-4
11
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
2
22
-33
-2
0
0
0
0
0
0
0
0
0
0
0
-3
25
-13
-2
-57
3
-1
0
0
0
0
0
0
0
0
0
0
-2
-2
-1
29
8
0
3
1
0
0
0
0
0
0
0
0
0
-1
-6
8
-8
0
-11
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-10
-4
0
0
0
0
0
0
0
0
0
0
-2
-2
7
-2
-3
1
-4
0
0
0
0
0
0
0
0
0
-15
-9
-8
7
28
2
0
0
0
0
0
0
0
0
0
0
0
26
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
8
0
0
0
0
0
0
0
0
0
1
0
-1
0
4
0
-2
0
0
0
0
0
0
0
0
0
0
3
2
8
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
10
-2
-8
10
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-11
-15
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
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
-1
-9
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
-9
0
13
0
-3
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-20
-9
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-13
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
-30
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
9
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
1
0
6
-3
4
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
24
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-3
0
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-21
-2
31
0
7
0
0
0
0
0
0
0
0
0
0
-4
6
-2
9
-11
-5
-1
0
0
0
0
0
0
0
0
0
2
0
0
12
-7
4
0
2
1
0
0
0
0
0
0
0
0
0
0
-4
45
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-7
7
0
-1
0
0
0
0
0
0
0
0
0
0
45
14
12
-8
-9
-4
0
2
0
0
0
0
0
0
0
0
0
-28
24
34
32
1
0
0
0
0
0
0
0
0
0
0
0
0
-30
-3
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
47
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
30
4
1
-16
-2
17
4
-6
0
0
0
0
0
0
0
0
0
12
12
-10
-6
-11
16
17
3
0
0
0
0
0
0
0
0
0
-7
0
7
11
26
28
12
1
0
0
0
0
0
0
0
0
0
3
-15
12
-53
-17
0
0
0
0
0
0
0
0
0
0
0
0
-23
11
67
23
-3
-8
3
0
0
0
0
0
0
0
0
0
0
28
55
-1
-1
-7
0
3
0
0
0
0
0
0
0
0
0
24
10
32
45
1
-1
0
0
0
0
0
0
0
0
0
0
0
36
55
0
3
6
0
0
0
0
0
0
0
0
0
0
0
0
-55
16
29
18
-9
-2
-3
6
0
0
0
0
0
0
0
0
0
36
54
49
12
65
2
46
2
0
0
0
0
0
0
0
0
0
-6
-37
17
-3
-35
12
-9
0
3
0
0
0
0
0
0
0
0
-40
-51
0
-37
-22
13
5
26
-1
0
0
0
0
0
0
0
0
43
7
36
5
7
14
-11
-3
-1
0
0
0
0
0
0
0
0
12
3
79
3
16
5
4
-2
0
0
0
0
0
0
0
0
0
8
13
-38
32
73
27
13
0
0
0
0
0
0
0
0
0
0
7
50
34
-16
2
8
0
0
0
0
0
0
0
0
0
0
0
5
-2
-18
2
-11
0
0
0
0
0
0
0
0
0
0
0
0
1
50
24
10
34
10
-60
-3
0
0
0
0
0
0
0
0
0
0
-23
29
33
1
7
-45
-26
0
-2
0
0
0
0
0
0
0
0
57
12
7
-18
-40
-59
16
-32
-4
0
0
0
0
0
0
0
-1
-48
36
-3
-10
103
42
-46
11
-1
0
0
0
0
0
0
0
-2
92
22
60
23
3
31
73
21
0
0
0
0
0
0
0
0
-6
19
76
2
58
-42
83
83
-8
-1
0
0
0
0
0
0
0
-1
22
14
46
36
1
-4
13
-7
0
0
0
0
0
0
0
0
-9
93
-13
19
-44
57
-4
0
0
0
0
0
0
0
0
0
0
-42
65
29
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
75
7
10
32
-12
-9
1
0
0
0
0
0
0
0
0
0
0
20
49
-21
3
25
15
-10
0
0
0
0
0
0
0
0
0
0
-7
19
4
12
14
16
-16
2
4
0
0
0
0
0
0
0
0
0
23
7
2
-41
2
-9
0
0
0
0
0
0
0
0
0
0
24
33
-4
7
28
-32
3
0
0
0
0
0
0
0
0
0
0
7
-26
-6
9
5
-1
-3
1
0
0
0
0
0
0
0
0
0
12
-2
37
-7
-6
9
-3
1
0
0
0
0
0
0
0
0
0
24
-15
-7
-6
-1
0
1
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
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
28
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
4
0
0
-6
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
13
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
-1
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
3
11
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
3
0
0
-4
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-18
7
-15
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
-2
29
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
6
7
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-7
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
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
7
0
9
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
-3
-6
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
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
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
-2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
6
2
0
2
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-1
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
19
0
9
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
-7
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
6
3
0
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
-1
-4
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
4
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
21
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-10
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
2
0
-12
0
0
0
0
0
0
0
0
1
0
0
0
6
11
-4
-25
-2
0
0
0
0
0
0
0
0
0
-3
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
6
0
10
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-21
13
9
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
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
3
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-11
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
2
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-2
3
-10
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-28
40
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-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
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-1
2
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
3
8
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
1
-4
-17
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
15
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
17
-1
0
10
-4
-1
0
0
0
0
0
0
0
0
0
3
0
0
-7
3
0
-21
1
0
0
0
0
0
0
0
0
0
0
0
-3
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
0
0
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
-3
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
11
0
-22
4
0
0
0
0
0
0
0
0
0
0
0
1
3
-4
-1
-4
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
4
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
-27
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
3
-4
3
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
-15
8
46
-4
-15
-1
0
0
0
0
0
0
0
0
0
0
0
-11
17
1
-12
4
1
-6
12
-3
-1
0
0
0
0
0
0
0
0
8
12
16
-1
-6
11
2
0
0
0
0
0
0
0
0
0
0
4
-12
6
2
8
2
-23
22
1
0
0
0
0
0
0
0
0
0
0
10
3
-3
-15
1
1
0
3
0
0
0
0
0
0
0
0
1
4
0
-24
3
42
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-12
-4
-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
1
9
13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-13
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
12
0
-13
-3
3
10
-29
0
0
0
0
0
0
0
0
0
-1
-4
7
-9
1
-18
-39
-4
-1
2
0
0
0
0
0
0
0
-6
2
6
-13
50
28
4
-1
1
0
0
0
0
0
0
0
0
0
-1
-1
-18
-13
-11
12
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
4
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
-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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
3
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-35
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-15
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
9
-29
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
45
-7
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-13
-26
20
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
-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
13
0
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
12
0
-1
0
0
7
0
0
0
0
0
0
0
0
0
0
8
-4
7
1
28
-13
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-4
-11
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
27
-26
-14
-42
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
-6
39
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-15
0
-4
0
0
-4
0
0
0
0
0
0
0
0
0
0
-2
0
-4
-7
0
-7
4
0
0
0
0
0
0
0
0
0
0
0
-6
0
9
0
9
-12
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-5
25
21
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-2
-18
15
1
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
-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
-7
1
-75
0
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-4
11
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
-15
9
0
0
0
0
0
0
0
0
0
0
8
-1
0
-10
0
2
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
3
-2
-20
0
0
0
0
0
0
0
0
0
0
1
-6
0
-1
6
3
-25
3
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
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
29
7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
7
23
-5
3
1
-3
-9
-2
0
0
0
0
0
0
0
0
0
2
11
33
18
-3
-29
9
10
0
0
0
0
0
0
0
0
0
-4
0
-3
2
28
0
-12
5
0
0
0
0
0
0
0
0
0
0
-1
3
12
27
55
-3
15
0
0
0
0
0
0
0
0
0
0
0
2
0
4
37
-21
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
29
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
-2
4
-26
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
63
47
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
-16
-36
-24
25
-9
4
18
0
0
0
0
0
0
0
0
0
18
34
-1
0
-30
-46
16
-14
0
0
0
0
0
0
0
0
0
-19
15
-38
48
17
46
-3
36
0
0
0
0
0
0
0
0
0
0
15
-2
-2
-22
-20
12
12
-1
0
0
0
0
0
0
0
0
0
0
2
4
20
-38
-1
19
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-57
11
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-18
0
0
0
0
0
0
0
0
0
0
8
-1
53
10
-2
0
0
0
0
0
0
0
0
0
0
0
-11
22
68
-15
39
-4
0
0
0
0
0
0
0
0
0
0
0
-2
2
10
-1
-1
40
-7
-10
-39
0
0
0
0
0
0
0
0
0
2
39
-18
16
-1
15
37
-4
0
0
0
0
0
0
0
0
-1
10
-17
-9
15
-55
23
-1
11
1
0
0
0
0
0
0
0
0
0
0
-10
-39
18
2
3
-33
-2
0
0
0
0
0
0
0
0
0
0
-24
1
13
32
-27
-11
15
0
0
0
0
0
0
0
0
0
0
2
-3
1
-84
4
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
2
2
0
4
0
0
0
0
0
0
0
0
0
-1
0
0
1
3
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
0
1
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
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
0
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
6
0
9
18
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-15
3
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
6
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-38
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
17
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
8
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
18
36
-15
32
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
43
-14
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-5
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-9
0
28
0
0
2
0
1
0
0
0
0
0
0
0
0
0
-4
19
0
-2
-11
51
-10
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
-34
37
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
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
11
1
59
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
24
16
1
1
0
0
0
3
0
0
0
0
0
0
0
0
0
6
-39
0
46
11
11
0
1
-1
0
0
0
0
0
0
0
0
1
-47
-30
1
-5
3
-6
0
0
0
0
0
0
0
0
0
0
1
11
-20
-9
0
-41
-11
-13
0
0
0
0
0
0
0
0
2
0
0
7
3
7
0
-11
47
3
0
0
0
0
0
0
0
0
0
0
0
0
4
-34
3
-24
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
47
9
9
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-33
1
-11
8
4
0
0
-1
0
0
0
0
0
0
0
0
1
-2
7
3
-17
-21
-11
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
32
27
26
-9
51
0
0
0
0
0
0
0
0
0
-1
-13
-5
1
-39
0
-19
14
0
0
0
0
0
0
0
0
0
0
6
0
-26
-8
-24
11
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
5
-39
-19
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
-9
-38
-6
5
4
-8
0
0
0
0
0
0
0
0
0
0
1
-35
-19
13
-1
3
-6
0
0
0
4
0
0
0
0
0
0
0
1
-14
-49
0
-2
13
-11
0
32
0
0
0
0
0
0
0
0
-2
-13
27
32
19
7
-62
-15
11
0
0
0
0
0
0
0
0
2
-22
21
-63
-34
-10
21
29
-20
0
0
0
0
0
0
0
0
0
7
-10
-8
65
-35
4
0
-41
0
0
0
0
0
0
0
0
0
0
12
-4
5
47
-18
-42
20
1
0
0
0
0
0
0
0
0
0
0
4
20
-1
34
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
-47
0
0
0
0
0
0
0
0
0
0
-2
9
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
42
-6
29
3
0
0
0
2
-1
0
0
0
0
0
0
0
3
-26
-58
18
-1
2
1
3
2
0
0
0
0
0
0
0
1
-9
-7
25
-33
-21
-16
39
-51
2
0
0
0
0
0
0
0
0
0
9
-3
44
31
14
7
24
0
0
0
0
0
0
0
0
0
-1
-1
-16
-1
60
66
-6
0
0
0
0
0
0
0
0
0
0
0
-2
-11
-7
-6
-66
-23
-54
0
0
0
0
0
0
0
0
0
0
0
0
10
-8
-26
8
-27
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
2
4
-3
0
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
-7
-12
9
0
-9
0
0
0
0
0
0
0
0
0
0
-10
0
0
-1
12
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-6
14
8
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-4
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-20
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
19
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-28
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-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
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-9
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-26
0
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
-9
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-12
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
10
1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-6
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-4
-16
-2
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
8
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
-18
8
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
11
-7
1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
-11
-10
0
-20
-21
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-18
42
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-21
-20
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-34
64
0
0
0
0
0
0
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
-3
0
7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
8
1
0
0
2
0
0
0
0
0
0
0
0
0
0
3
-4
19
-2
1
-7
-8
0
0
0
0
0
0
0
0
0
1
-6
0
1
-11
19
1
-24
0
0
0
0
0
0
0
0
0
0
0
1
-5
8
-22
11
-7
0
0
0
0
0
0
0
0
0
0
0
1
3
0
6
-27
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
19
-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
8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-66
12
-1
0
0
0
0
0
0
0
0
0
0
0
1
6
21
-17
8
-6
3
0
0
0
0
0
0
0
0
0
0
-1
2
-30
-25
8
4
28
-13
-12
0
0
0
0
0
0
0
0
0
-1
15
24
-2
-20
-18
-75
-9
0
0
0
0
0
0
0
0
0
0
0
-2
27
41
-20
-6
10
0
0
0
0
0
0
0
0
0
0
1
-19
-27
16
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-23
-24
12
0
0
0
0
0
0
0
0
0
0
0
0
0
18
13
-12
0
0
0
0
0
0
0
0
0
0
12
-1
-14
0
1
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
-25
2
8
0
0
0
0
0
0
0
0
0
0
0
1
26
-36
-4
-5
0
9
4
3
0
0
0
0
0
0
0
0
10
-17
-13
43
-20
15
-47
-34
-12
0
0
0
0
0
0
0
0
2
-23
-26
64
20
-12
-9
-31
28
0
0
0
0
0
0
0
0
0
-1
23
-40
28
-30
-63
-6
17
0
0
0
0
0
0
0
0
0
0
1
1
-29
-67
-24
0
12
0
0
0
0
0
0
0
0
0
0
0
2
0
-13
-5
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-46
0
0
0
0
0
0
0
0
0
0
35
-6
-53
1
-15
0
0
0
0
0
0
0
0
0
0
0
1
-8
-27
-34
95
-8
0
0
0
-6
0
0
0
0
0
0
0
3
83
49
-35
1
-11
-2
-2
11
0
0
0
0
0
0
0
0
0
30
-21
17
43
32
-12
-13
47
0
0
0
0
0
0
0
0
1
-21
-6
17
44
-79
44
-44
-53
0
0
0
0
0
0
0
0
2
-8
10
6
8
15
-49
-30
40
-2
0
0
0
0
0
0
0
0
0
-2
29
-3
-2
75
-8
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
-3
5
14
-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
-6
0
0
0
0
0
0
0
0
0
0
-3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
2
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
1
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
0
6
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-11
-16
-45
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
7
-13
1
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-1
26
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-23
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
27
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-23
2
-7
-10
0
0
6
0
0
0
0
0
0
0
0
0
0
-11
2
-5
26
-12
24
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
0
-26
10
-1
0
0
0
0
0
0
0
0
0
0
0
-8
-22
-5
-1
-15
-44
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
0
44
6
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
-16
0
-44
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-26
-25
-9
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
-27
32
12
0
0
-1
-9
0
0
0
0
0
0
0
0
3
-6
-43
-10
15
0
6
-7
-18
0
0
0
0
0
0
0
0
0
-43
8
17
-59
1
13
-53
-7
0
0
0
0
0
0
0
0
0
0
19
30
22
43
6
-20
-22
0
0
0
0
0
0
0
0
0
0
2
19
1
8
2
12
-13
0
0
0
0
0
0
0
0
0
0
2
0
-24
-3
29
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
2
27
0
0
0
0
0
0
0
0
0
0
0
-1
69
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-5
-13
36
3
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
16
16
-27
1
1
12
0
0
0
0
0
0
0
0
0
0
16
46
-53
3
-19
-48
8
0
0
0
0
0
0
0
0
0
-1
-26
59
-69
18
69
-47
0
0
0
0
0
0
0
0
0
0
13
7
-8
-21
-50
-41
2
-60
0
0
0
0
0
0
0
0
0
3
-2
-43
13
-51
-46
67
-8
0
0
0
0
0
0
0
0
0
0
-2
-22
5
0
-27
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
7
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-15
-4
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
1
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
40
0
-9
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
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
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
46
22
8
0
0
10
0
0
0
0
0
0
0
0
0
0
2
-9
2
-25
26
2
-19
0
0
0
0
0
0
0
0
0
0
0
-5
-12
0
5
54
-24
0
0
0
0
0
0
0
0
0
0
0
0
13
25
-27
-25
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
28
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
1
0
0
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
-15
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
7
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
2
0
0
0
0
0
0
0
0
0
-3
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
1
8
0
1
0
0
0
0
0
0
0
0
0
-15
2
2
-1
4
9
3
0
0
0
0
0
0
0
0
0
0
2
1
-3
4
-2
-7
0
0
0
0
0
0
0
0
0
0
0
7
-1
-4
0
-2
7
1
-6
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
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
4
7
2
-3
0
0
0
0
0
0
0
0
0
0
0
4
0
0
1
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
1
-2
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
4
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
3
-2
0
-3
0
1
0
3
0
0
0
0
0
0
0
0
0
-1
0
16
-1
-1
-1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-2
1
-9
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
-3
0
6
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
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
1
0
0
0
4
0
0
0
0
0
0
0
0
0
-1
-3
2
12
1
0
-6
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
-1
7
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
19
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
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
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
-6
1
1
0
0
0
0
0
0
0
0
0
8
1
4
-2
1
-2
0
0
0
0
0
0
0
0
0
0
0
18
2
21
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
18
7
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
6
35
-2
-9
-7
0
0
0
0
0
0
0
0
0
0
0
-3
-9
56
-35
-10
-10
0
0
0
0
0
0
0
0
0
0
0
-19
-10
-7
2
0
-30
1
-1
0
0
0
0
0
0
0
0
0
2
-7
-6
-8
1
0
0
3
0
0
0
0
0
0
0
0
0
7
7
-15
4
-1
0
1
0
0
0
0
0
0
0
0
0
0
9
-3
-1
1
0
0
-2
-1
0
0
0
0
0
0
0
0
0
8
0
0
1
0
1
-1
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
11
-1
-6
0
-2
0
0
0
0
0
0
0
0
0
0
7
-7
12
14
10
-11
-2
0
0
0
0
0
0
0
0
0
0
2
-9
-1
21
-9
-17
-3
0
0
0
0
0
0
0
0
0
0
-7
1
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
12
6
0
10
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
8
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
1
0
1
0
0
0
0
0
0
0
0
0
0
4
4
0
-8
4
-2
3
-4
0
0
0
0
0
0
0
0
0
-7
0
-3
0
9
-2
-36
0
0
0
0
0
0
0
0
0
0
0
0
1
0
9
-10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-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
1
-4
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
-12
-3
0
9
0
0
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
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
3
6
0
0
0
0
0
0
0
0
0
0
0
12
-16
0
2
14
-46
0
0
0
0
0
0
0
0
0
0
0
-8
3
-3
-1
-2
9
0
0
0
0
0
0
0
0
0
0
6
-5
1
1
9
0
0
-3
0
0
0
0
0
0
0
0
0
11
0
-1
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
8
10
-13
-3
-2
-8
-4
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
-2
8
0
0
0
0
0
0
0
0
0
0
-19
11
3
0
-2
7
0
0
0
0
0
0
0
0
0
0
-4
14
0
3
0
-11
12
1
0
0
0
0
0
0
0
0
0
-1
0
3
9
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
2
1
2
-8
-33
0
0
0
0
0
0
0
0
0
0
-6
11
-1
-12
15
1
-18
-9
-1
0
0
0
0
0
0
0
0
-2
-7
-4
18
-3
1
3
-30
0
0
0
0
0
0
0
0
0
0
6
-29
-1
1
0
-7
-1
4
0
0
0
0
0
0
0
0
1
-15
4
4
-7
0
1
-1
0
0
0
0
0
0
0
0
0
0
3
27
2
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
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
-7
-1
-54
9
6
0
0
0
0
0
0
0
0
0
4
38
42
-19
35
3
-36
0
1
0
0
0
0
0
0
0
0
0
-2
-16
-10
-7
3
0
0
0
0
0
0
0
0
0
0
0
3
-8
7
21
-16
0
0
0
1
0
0
0
0
0
0
0
0
0
28
-6
-15
-1
7
11
0
0
0
0
0
0
0
0
0
0
18
-2
29
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
32
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
8
-29
0
0
0
0
0
0
0
0
0
-1
0
-16
10
-4
-41
-9
2
0
0
0
0
0
0
0
0
0
0
10
15
3
-8
2
-3
0
0
0
0
0
0
0
0
0
0
-16
66
12
0
13
0
0
2
-1
0
0
0
0
0
0
0
0
-10
-1
-12
3
3
0
-11
3
0
0
0
0
0
0
0
0
0
2
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-9
-10
-1
20
-21
0
0
0
0
0
0
0
0
0
-7
7
-63
-39
10
6
-57
-3
-11
0
0
0
0
0
0
0
0
-29
-17
4
8
18
3
39
6
0
0
0
0
0
0
0
0
0
26
1
12
-12
1
-10
-6
-1
0
0
0
0
0
0
0
0
0
-2
29
-18
3
-6
11
0
0
0
0
0
0
0
0
0
0
0
1
-9
-21
1
-2
3
0
2
0
0
0
0
0
0
0
0
0
1
0
13
-3
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
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-13
-27
19
18
-2
0
0
0
0
0
0
0
0
0
0
-20
36
-20
-16
16
-4
19
-7
7
0
0
0
0
0
0
0
0
3
-48
-10
19
8
0
-21
-8
0
0
0
0
0
0
0
0
0
0
18
-8
-7
-2
-11
-4
0
0
0
0
0
0
0
0
0
0
-39
-17
-11
-2
-1
42
16
0
0
0
0
0
0
0
0
0
0
33
3
-10
-38
20
0
-9
1
0
0
0
0
0
0
0
0
0
10
7
-26
3
-1
0
0
11
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
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
-28
7
0
0
0
0
0
0
0
0
0
0
0
0
-16
4
18
-15
-2
-1
-8
3
-1
0
0
0
0
0
0
0
0
8
8
3
7
7
27
13
0
0
0
0
0
0
0
0
0
0
-1
1
11
-6
16
-4
1
0
0
0
0
0
0
0
0
0
0
-2
-18
-2
6
0
0
0
-2
0
0
0
0
0
0
0
0
0
4
0
6
1
0
0
0
1
0
0
0
0
0
0
0
0
0
10
-1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-19
12
-2
0
0
2
0
0
0
0
0
0
0
0
0
2
-2
12
12
-7
-6
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
-1
-9
11
1
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-8
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
-4
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
-11
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
-21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
1
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-4
-2
0
19
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-54
18
0
0
0
0
0
0
0
0
0
3
0
0
12
0
-4
0
8
1
0
0
0
0
0
0
0
0
10
3
-1
0
26
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
14
2
16
-7
-2
4
-1
0
0
0
0
0
0
0
0
0
-6
-4
-3
11
2
-12
-3
1
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-6
-1
37
0
0
0
0
0
0
0
0
0
0
0
0
6
-34
9
-59
0
87
-2
-3
0
0
0
0
0
0
0
0
-8
10
0
2
-4
-1
-20
25
0
0
0
0
0
0
0
0
0
-15
-11
3
0
2
-1
0
0
4
0
0
0
0
0
0
0
0
-8
-92
1
0
3
-7
4
-16
0
0
0
0
0
0
0
0
0
2
3
-2
3
19
0
0
1
0
0
0
0
0
0
0
0
0
0
-67
-3
2
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-6
-3
2
-19
0
0
0
0
0
0
0
0
0
0
-1
-1
36
13
-32
5
1
-6
1
0
0
0
0
0
0
0
0
2
-19
-7
-1
0
2
11
38
0
0
0
0
0
0
0
0
0
-4
18
-12
2
0
-8
-15
12
1
0
0
0
0
0
0
0
0
-4
54
-25
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-18
-7
-2
27
-3
0
0
-1
7
0
0
0
0
0
0
0
0
-6
1
9
28
-1
-8
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
11
2
-8
3
-2
1
0
0
0
0
0
0
0
0
0
-4
17
7
-39
-6
-13
21
2
-3
0
0
0
0
0
0
0
0
-13
4
12
-2
0
0
0
12
4
0
0
0
0
0
0
0
0
3
10
65
11
6
0
1
-18
-8
0
0
0
0
0
0
0
0
-3
-45
-20
-13
0
0
4
-6
0
0
0
0
0
0
0
0
0
-32
-49
-1
1
-2
-2
4
0
0
0
0
0
0
0
0
0
0
2
22
0
4
11
0
0
-1
0
0
0
0
0
0
0
0
0
0
18
4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-56
3
0
18
-9
8
0
0
0
0
0
0
0
0
0
-8
85
2
32
33
-1
-2
34
1
0
0
0
0
0
0
0
0
48
32
7
-36
1
-4
-1
-6
9
0
0
0
0
0
0
0
0
44
-9
-2
-45
-15
0
1
0
-2
0
0
0
0
0
0
0
0
-9
0
22
-16
17
0
0
0
0
0
0
0
0
0
0
0
0
7
65
-22
-7
-1
-1
1
0
0
0
0
0
0
0
0
0
0
-1
24
19
1
1
2
0
0
-1
0
0
0
0
0
0
0
0
2
19
3
2
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
-3
-2
-20
-3
15
10
-8
18
0
-3
0
0
0
0
0
0
0
-1
-7
-21
48
-13
-27
0
-44
-1
0
0
0
0
0
0
0
0
-1
4
13
-21
-47
-43
1
2
0
9
0
0
0
0
0
0
0
-27
2
-12
3
2
7
0
0
-1
0
0
0
0
0
0
0
0
17
38
7
22
15
5
-1
0
0
0
0
0
0
0
0
0
0
-8
7
-10
26
2
3
1
8
-1
0
0
0
0
0
0
0
0
-4
-17
42
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
66
-15
45
-17
20
2
-5
0
4
0
0
0
0
0
0
0
-9
-21
36
57
-6
-15
9
-19
16
0
0
0
0
0
0
0
0
-43
-17
13
25
13
-2
-14
-55
0
0
0
0
0
0
0
0
0
39
62
-8
-30
3
14
37
0
2
0
0
0
0
0
0
0
0
-42
-13
-34
-15
-45
11
25
0
0
0
0
0
0
0
0
0
0
31
36
6
16
3
-4
-4
-1
1
0
0
0
0
0
0
0
0
-20
-3
51
12
-2
0
0
0
2
0
0
0
0
0
0
0
0
19
38
-7
2
1
0
0
0
0
0
0
0
0
0
0
0
0
35
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-27
-7
-37
52
63
-25
0
18
0
0
0
0
0
0
0
0
-87
0
-5
15
-42
92
10
-38
-9
0
0
0
0
0
0
0
0
11
-13
71
9
-12
17
-15
2
0
0
0
0
0
0
0
0
0
-79
-8
-57
41
-52
-10
15
-27
0
0
0
0
0
0
0
0
0
7
-78
-36
-8
-35
-46
32
0
0
0
0
0
0
0
0
0
0
-34
-13
-10
25
32
-4
3
9
0
0
0
0
0
0
0
0
0
-8
-32
42
2
-10
1
0
9
0
0
0
0
0
0
0
0
0
-13
7
-19
3
0
0
6
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
-6
6
21
0
0
-1
0
0
0
0
0
0
0
0
6
0
8
-27
3
-1
0
7
3
0
0
0
0
0
0
0
0
-4
15
-11
-8
-1
-7
-10
4
0
0
0
0
0
0
0
0
0
13
4
3
-1
-2
1
2
0
0
0
0
0
0
0
0
0
0
47
-1
4
2
1
-8
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
1
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
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-7
9
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
9
0
0
3
-4
-1
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
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-4
-3
0
0
1
2
0
0
0
0
0
0
0
0
0
0
4
-2
-7
1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-8
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
34
6
4
9
-2
-12
0
0
0
0
0
0
0
0
-12
-4
30
0
0
-10
0
-3
0
0
0
0
0
0
0
0
0
4
32
1
-3
0
0
8
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
10
-19
20
0
-12
0
-4
0
0
0
0
0
0
0
0
0
6
7
12
-2
-1
12
16
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
-3
4
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
37
-3
4
1
0
0
0
0
0
0
0
0
0
0
26
-3
0
0
-1
0
7
-7
0
0
0
0
0
0
0
0
3
-9
-6
-6
2
0
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
-6
2
13
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
-37
-24
11
0
22
3
0
0
0
0
0
0
0
0
0
15
2
29
-16
-32
-12
29
-11
2
0
0
0
0
0
0
0
0
-23
5
0
0
0
-19
21
19
1
0
0
0
0
0
0
0
0
-2
-26
0
0
0
-4
0
0
16
0
0
0
0
0
0
0
0
-3
-32
0
0
1
-41
-3
8
0
0
0
0
0
0
0
0
0
6
18
-53
10
4
0
-16
-4
0
0
0
0
0
0
0
0
0
1
3
-16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
35
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-4
1
4
9
8
0
0
0
0
0
0
0
0
0
0
15
-18
5
12
36
25
0
0
0
0
0
0
0
0
0
0
-1
3
-13
2
-9
-1
-9
-8
1
0
0
0
0
0
0
0
0
3
-1
-6
0
3
-1
-29
-9
-11
0
0
0
0
0
0
0
0
0
13
-51
0
0
1
4
0
7
0
0
0
0
0
0
0
0
-8
3
36
0
0
0
6
-3
8
0
0
0
0
0
0
0
0
-2
15
-6
33
-5
-2
0
-7
0
0
0
0
0
0
0
0
0
0
3
29
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-11
10
-28
-10
-3
9
0
0
0
0
0
0
0
0
0
-1
10
-35
0
-40
-10
-27
-6
1
0
0
0
0
0
0
0
0
7
35
-5
-24
23
61
-33
-2
46
-1
0
0
0
0
0
0
0
0
6
35
-37
0
0
-1
-7
17
0
0
0
0
0
0
0
0
-9
-25
52
-13
0
0
0
-2
-4
0
0
0
0
0
0
0
0
18
-6
-50
-47
1
0
0
-13
2
-18
0
0
0
0
0
0
0
3
4
88
-5
2
20
0
0
0
0
0
0
0
0
0
0
0
-10
116
-8
-17
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
11
-3
-4
12
-1
-22
2
10
0
0
0
0
0
0
0
0
0
0
-29
12
-5
-3
-14
-21
-4
13
0
0
0
0
0
0
0
0
8
-1
12
37
-6
-33
-8
51
-1
0
0
0
0
0
0
0
0
-7
-26
-2
-48
19
1
0
0
1
-1
0
0
0
0
0
0
0
16
13
17
-8
14
2
0
0
-10
0
0
0
0
0
0
0
0
2
46
74
25
-41
7
0
0
8
2
0
0
0
0
0
0
0
31
53
-1
-16
-2
3
-2
-6
0
0
0
0
0
0
0
0
0
5
6
15
0
-6
-7
-11
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
-7
-6
38
-45
7
-13
-21
29
0
0
0
0
0
0
0
0
0
11
0
-21
-16
-22
7
40
46
10
0
0
0
0
0
0
0
0
-18
19
23
17
-77
82
58
62
-3
-1
0
0
0
0
0
0
0
-7
-16
34
7
57
23
-4
-2
0
-2
0
0
0
0
0
0
0
-22
38
-14
34
6
-6
0
0
0
0
0
0
0
0
0
0
0
17
-16
-76
-10
-40
-22
3
0
0
-4
0
0
0
0
0
0
0
6
56
25
3
12
17
0
12
-4
0
0
0
0
0
0
0
0
33
2
2
92
3
0
0
6
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
-6
-23
61
-15
41
-15
33
55
0
0
0
0
0
0
0
0
0
61
11
-37
73
-40
-26
-28
31
-30
-1
-1
0
0
0
0
0
0
45
-34
-23
-33
-1
-23
65
36
0
1
0
0
0
0
0
0
0
25
22
33
7
-71
27
-14
-1
0
0
0
0
0
0
0
0
0
-40
45
2
25
2
-32
-24
0
0
0
0
0
0
0
0
0
0
23
-4
17
0
12
-13
-16
0
0
0
0
0
0
0
0
0
0
43
23
12
1
7
37
9
35
6
0
0
0
0
0
0
0
0
-24
-11
15
-117
-3
-3
3
0
0
0
0
0
0
0
0
0
0
57
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-46
-3
-61
-23
42
-32
0
-6
-6
0
0
0
0
0
0
0
77
-60
-13
-9
21
55
16
31
2
0
0
0
0
0
0
0
0
6
-15
2
-6
54
61
40
-30
-10
0
0
0
0
0
0
0
0
52
-32
22
-42
-43
-55
56
-15
-1
0
0
0
0
0
0
0
0
-29
15
-28
-32
55
34
-17
0
0
0
0
0
0
0
0
0
0
11
53
-39
17
-2
44
0
0
0
0
0
0
0
0
0
0
0
9
-11
-53
50
-18
63
-13
-14
0
0
0
0
0
0
0
0
0
14
-37
27
-12
-21
0
0
1
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-7
-7
19
0
1
-3
0
0
0
0
0
0
0
0
0
-7
41
-35
-3
-5
-3
0
-1
0
0
0
0
0
0
0
0
4
11
8
26
1
52
11
2
0
0
0
0
0
0
0
0
0
-3
16
0
-15
0
2
9
0
0
0
0
0
0
0
0
0
0
-28
-3
-8
1
-18
4
0
0
0
0
0
0
0
0
0
0
0
18
0
-21
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
-17
-17
-2
-3
0
-1
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
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
2
4
0
0
0
-3
2
-4
0
0
0
0
0
0
0
0
0
0
0
-1
3
-15
18
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-40
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
11
2
0
0
0
0
0
0
0
0
0
0
0
0
7
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
10
24
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-1
1
-11
8
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
-2
-10
0
0
0
0
0
0
0
0
0
-1
38
-8
9
0
2
-11
-10
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
7
1
0
0
11
-21
0
0
0
0
0
0
0
0
0
0
3
-14
0
-17
3
30
0
0
2
0
0
0
0
0
0
0
0
-3
-1
-1
11
-2
0
7
-51
0
0
0
0
0
0
0
0
0
2
0
2
-6
-30
0
-9
0
1
0
0
0
0
0
0
0
0
0
8
0
-9
0
-5
-14
2
2
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
13
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
-1
7
0
0
0
-3
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
-1
2
-18
1
3
3
2
0
0
0
0
0
0
0
0
0
0
-7
-13
6
-45
-32
-18
12
0
0
0
0
0
0
0
0
0
8
-2
12
30
0
31
-17
6
0
0
0
0
0
0
0
0
0
3
-19
2
40
-25
12
1
11
4
0
0
0
0
0
0
0
0
0
-25
-31
0
0
7
-54
1
-7
0
0
0
0
0
0
0
0
1
10
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
-2
0
2
0
-7
0
0
0
0
0
0
0
0
0
0
17
-1
0
7
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
1
4
-4
20
-24
-16
0
0
0
0
0
0
0
0
0
0
-17
48
-34
28
-7
28
-2
-1
0
0
0
0
0
0
0
0
1
21
-3
14
-39
9
35
-23
-2
0
0
0
0
0
0
0
0
0
-2
-27
2
52
-23
4
-6
13
0
0
0
0
0
0
0
0
0
24
-16
-51
-2
0
0
35
-11
0
0
0
0
0
0
0
0
22
-32
-10
46
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-28
108
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-3
-1
-1
0
4
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
2
20
-11
12
6
29
30
1
0
0
0
0
0
0
0
0
0
-2
-32
1
8
-17
-22
-14
15
6
0
0
0
0
0
0
0
0
-6
-30
-34
4
16
-13
8
33
-24
0
0
0
0
0
0
0
0
45
24
-3
-40
25
23
-17
2
0
0
0
0
0
0
0
0
0
-1
-10
-1
16
-59
0
0
0
3
0
0
0
0
0
0
0
0
36
20
-40
32
-39
-1
0
0
1
0
0
0
0
0
0
0
0
21
30
-9
-36
-25
0
0
0
2
0
0
0
0
0
0
0
0
-6
16
-3
10
-9
-4
0
-1
0
0
0
0
0
0
0
0
0
-11
9
2
6
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
-22
19
16
18
20
50
13
0
0
0
0
0
0
0
0
0
2
-79
-2
-32
-18
-43
-7
-12
-42
0
0
0
0
0
0
0
0
18
32
0
28
3
-31
39
24
-7
0
0
0
0
0
0
0
0
-20
12
-10
43
-11
-42
16
9
-60
0
0
0
0
0
0
0
0
-1
-20
-11
17
38
21
11
-6
-1
0
0
0
0
0
0
0
0
11
70
1
25
67
20
0
0
0
0
0
0
0
0
0
0
0
-27
-7
-31
-48
21
22
-3
0
0
0
0
0
0
0
0
0
0
-8
-22
-38
-34
-6
0
-3
1
0
0
0
0
0
0
0
0
0
40
-33
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-40
-40
-13
40
-1
19
-38
0
-12
0
0
0
0
0
0
0
-38
-1
12
30
-67
27
-36
55
-20
6
0
0
0
0
0
0
0
4
-1
6
58
28
23
19
-74
-12
-15
0
0
0
0
0
0
0
30
4
-4
5
50
-21
-34
-6
-28
0
0
0
0
0
0
0
0
-67
43
24
51
4
-20
11
-11
0
0
0
0
0
0
0
0
0
63
-6
-68
-43
64
-39
-87
0
0
0
0
0
0
0
0
0
0
29
12
-23
12
-25
-4
-16
-1
0
0
0
0
0
0
0
0
0
6
35
-21
-10
19
-9
0
3
4
0
0
0
0
0
0
0
0
9
-6
-1
4
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
38
-15
-20
22
-43
13
63
0
-1
0
0
0
0
0
0
0
0
20
-6
-8
80
28
43
-13
38
1
0
0
0
0
0
0
0
0
-50
71
16
9
-61
-3
34
-5
-22
0
0
0
0
0
0
0
0
-27
-47
-8
2
38
-12
54
-43
11
0
0
0
0
0
0
0
0
-74
-98
46
-18
-19
133
39
3
0
0
0
0
0
0
0
0
0
-28
-50
-7
-16
-42
-56
-6
4
0
0
0
0
0
0
0
0
0
-32
-8
-4
40
-4
37
4
0
0
0
0
0
0
0
0
0
0
-41
-10
3
-15
2
13
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
8
7
4
-9
0
3
0
0
0
0
0
0
0
0
0
1
10
18
6
15
-6
22
4
-3
0
0
0
0
0
0
0
0
-2
0
11
-6
17
7
8
-4
0
0
0
0
0
0
0
0
0
23
-9
21
0
-4
-17
4
-1
0
0
0
0
0
0
0
0
0
6
-11
-10
17
-1
4
1
0
0
0
0
0
0
0
0
0
0
-5
0
37
-6
6
0
-2
0
0
0
0
0
0
0
0
0
0
-52
1
-9
-2
0
0
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
-1
1
-6
4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
1
0
-10
0
0
0
0
0
0
0
0
0
0
0
-11
4
3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
-4
-1
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
12
12
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
39
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
-4
3
0
-7
-2
0
0
0
0
0
0
0
0
0
0
-1
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-1
4
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-1
4
3
-2
-1
0
0
0
0
0
0
0
0
0
-4
-6
3
9
0
19
1
-9
0
0
0
0
0
0
0
0
0
66
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
20
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
-1
0
0
7
0
0
0
0
0
0
0
0
0
0
0
45
9
-1
3
14
-7
0
2
0
0
0
0
0
0
0
0
0
-10
0
-7
0
10
20
-7
0
0
0
0
0
0
0
0
0
0
0
8
-7
-15
-3
10
8
-2
0
0
0
0
0
0
0
0
0
45
0
1
-15
7
-6
8
-11
0
0
0
0
0
0
0
0
0
-25
-3
9
0
0
2
0
1
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
3
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
-2
0
3
8
0
0
0
0
0
0
0
0
0
-2
-53
8
-49
79
16
-49
0
0
0
0
0
0
0
0
0
0
17
0
0
1
-45
-9
-7
-3
-10
0
0
0
0
0
0
0
0
0
13
0
17
61
-20
-15
-31
8
-1
0
0
0
0
0
0
0
0
2
5
-18
25
-9
-13
-3
10
0
0
0
0
0
0
0
0
1
-49
65
5
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-12
26
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-6
-5
31
0
0
0
-3
0
0
0
0
0
0
0
0
0
-20
11
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
6
-1
15
9
-26
0
0
0
0
0
0
0
0
0
0
46
32
-4
-48
-7
38
20
-10
0
0
0
0
0
0
0
0
1
-18
0
0
18
-21
-18
18
-9
0
0
0
0
0
0
0
0
-3
8
-8
-18
40
82
-13
18
-5
0
0
0
0
0
0
0
0
0
45
12
12
-18
25
14
-98
-15
0
0
0
0
0
0
0
0
-3
73
-25
39
30
0
0
0
0
0
0
0
0
0
0
0
0
-36
-7
-79
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-7
33
35
1
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
4
-22
38
7
47
9
0
11
0
0
0
0
0
0
0
1
32
-6
-19
16
28
15
7
16
0
0
0
0
0
0
0
0
-1
15
-8
32
2
17
25
-37
-15
-4
0
0
0
0
0
0
0
3
30
21
26
47
24
-2
-14
-3
0
0
0
0
0
0
0
0
0
37
72
-41
15
-6
93
58
35
0
0
0
0
0
0
0
0
35
-25
-1
42
32
-53
0
0
0
-1
0
0
0
0
0
0
0
14
-13
7
-43
-10
-10
0
0
0
0
0
0
0
0
0
0
0
15
-4
38
37
1
7
0
0
0
0
0
0
0
0
0
0
0
2
-6
-10
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
27
-60
-7
57
49
14
0
16
0
0
0
0
0
0
0
8
19
-20
25
-32
5
27
1
10
0
0
0
0
0
0
0
0
-3
-41
-10
53
-47
2
5
11
-56
-2
0
0
0
0
0
0
0
-8
-3
4
26
25
6
52
-53
27
3
0
0
0
0
0
0
0
6
38
-14
5
9
-23
-42
20
-15
10
0
0
0
0
0
0
0
-54
-36
51
-38
17
-28
-61
0
-1
0
0
0
0
0
0
0
0
26
8
4
-79
18
42
9
0
0
0
0
0
0
0
0
0
0
-63
-10
1
4
-10
42
-8
0
0
0
0
0
0
0
0
0
0
10
2
29
-7
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
-15
27
5
-2
-18
-26
1
0
-1
0
0
0
0
0
0
0
0
-5
13
35
15
5
35
10
-33
-46
2
0
0
0
0
0
0
0
-10
24
-28
-18
-67
53
69
78
-41
0
0
0
0
0
0
0
0
4
33
6
20
20
21
17
-26
-2
0
0
0
0
0
0
0
0
-51
37
31
40
-13
32
-8
-20
3
0
0
0
0
0
0
0
0
35
-15
-20
1
44
-29
4
1
0
0
0
0
0
0
0
0
0
-16
40
12
1
22
22
-7
0
0
0
0
0
0
0
0
0
0
-16
-23
-38
-10
-28
-17
-1
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
-8
2
4
10
-1
2
0
-2
0
0
0
0
0
0
0
0
0
6
-9
22
12
10
0
-17
0
0
0
0
0
0
0
0
0
0
14
7
1
7
-8
14
9
-27
0
0
0
0
0
0
0
0
0
1
0
-15
-19
19
1
4
1
0
0
0
0
0
0
0
0
0
10
-4
-23
11
0
-11
1
-3
0
0
0
0
0
0
0
0
0
18
8
18
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-23
9
3
10
0
4
0
0
0
0
0
0
0
0
0
0
0
-11
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
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
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
3
0
0
2
0
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
3
0
0
4
9
1
0
0
0
0
0
0
0
0
0
0
0
-6
2
-3
0
-2
2
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
7
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
12
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
4
1
0
0
0
0
0
0
0
0
0
0
-6
0
20
1
0
0
7
0
0
0
0
0
0
0
0
0
0
-3
-25
0
9
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
6
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-1
3
0
2
0
0
0
0
0
0
0
0
0
0
0
21
9
-2
16
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
12
-22
-13
1
0
0
0
0
0
0
0
0
0
2
-3
1
5
47
-30
13
7
0
0
0
0
0
0
0
0
1
-2
9
1
-12
6
-22
1
0
0
0
0
0
0
0
0
0
0
-56
-53
37
6
-1
-2
0
0
0
0
0
0
0
0
0
0
3
0
-16
-54
0
0
0
0
2
0
0
0
0
0
0
0
0
2
-3
20
36
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
1
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
-11
-1
10
42
34
-28
18
2
0
0
0
0
0
0
0
0
-1
0
0
-7
-13
-5
-51
21
-36
-2
0
0
0
0
0
0
0
2
3
-4
7
5
0
32
33
2
0
0
0
0
0
0
0
0
22
-6
-6
-22
-8
-11
63
-75
-3
0
0
0
0
0
0
0
0
2
-28
2
-69
8
-3
7
0
11
0
0
0
0
0
0
0
0
3
-4
2
-64
10
2
0
0
0
0
0
0
0
0
0
0
0
-3
18
-35
27
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-7
27
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
2
-7
-12
-10
3
-51
-6
0
0
0
0
0
0
0
0
0
-1
-3
-46
-37
49
14
-14
-5
19
3
0
0
0
0
0
0
0
-3
-24
-26
6
60
54
16
-17
46
-1
0
0
0
0
0
0
0
0
-17
-29
-20
50
38
12
26
38
-8
0
0
0
0
0
0
0
-22
53
-37
65
13
-36
18
-19
12
0
0
0
0
0
0
0
0
-45
0
-62
41
85
-17
32
33
1
1
0
0
0
0
0
0
0
-29
-13
-32
8
-19
39
2
0
0
0
0
0
0
0
0
0
0
63
-36
12
60
32
0
-4
0
0
0
0
0
0
0
0
0
0
-13
-28
7
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
53
22
48
-8
-4
-34
0
0
0
0
0
0
0
0
0
0
0
-17
74
96
12
8
20
61
-3
-2
0
0
0
0
0
0
0
-14
-4
-14
-46
-105
32
13
20
10
0
0
0
0
0
0
0
0
-6
3
-3
-16
24
-4
2
-21
-3
0
0
0
0
0
0
0
0
-50
18
28
-4
-8
-45
23
-16
0
0
0
0
0
0
0
0
0
24
33
24
22
12
73
-14
17
0
0
0
0
0
0
0
0
0
31
-3
-109
59
38
41
40
0
0
0
0
0
0
0
0
0
0
8
31
7
-20
35
10
-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
13
-1
-8
-1
-7
0
0
-4
0
0
0
0
0
0
0
0
0
-7
11
-7
12
26
0
-12
-2
0
0
0
0
0
0
0
0
0
9
0
-1
-8
-21
-13
2
4
0
0
0
0
0
0
0
0
0
0
2
3
3
2
8
4
1
0
0
0
0
0
0
0
0
0
8
0
-11
16
4
1
3
-2
0
0
0
0
0
0
0
0
0
1
-3
20
-3
-4
11
0
0
0
0
0
0
0
0
0
0
0
-48
0
-17
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
6
-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
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-27
-1
-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
-4
1
3
3
-10
0
-2
0
0
0
0
0
0
0
0
0
0
9
15
-21
35
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-44
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
36
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
-39
7
12
0
0
0
0
0
0
0
0
0
-2
0
0
-30
-12
-2
-42
-6
4
0
0
0
0
0
0
0
0
-11
18
-2
18
24
23
46
7
9
0
0
0
0
0
0
0
0
42
14
-24
6
65
39
-15
1
0
0
0
0
0
0
0
0
0
-11
9
-7
-69
1
-6
0
2
0
0
0
0
0
0
0
0
0
-19
-38
-37
35
-17
0
0
0
0
0
0
0
0
0
0
0
0
15
3
-17
-13
-6
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-48
-3
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
0
4
0
0
3
11
-2
0
0
0
0
0
0
0
0
0
0
16
-3
0
0
2
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
-3
3
-3
3
-2
1
0
0
0
0
0
0
0
0
0
-4
0
7
-2
-3
-1
-1
-1
0
0
0
0
0
0
0
0
0
11
-1
-4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-24
-8
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
-43
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
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
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
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
21
1
3
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
-6
0
4
0
0
0
0
0
0
0
0
0
-3
-6
-8
0
19
16
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-8
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
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
-8
-5
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
3
-36
25
-1
35
40
0
0
0
0
0
0
0
0
4
-7
2
8
-7
-21
-21
-6
-29
0
0
0
0
0
0
0
0
4
-7
0
22
19
-1
-44
30
19
0
0
0
0
0
0
0
0
0
0
1
-19
-33
4
1
42
-41
0
0
0
0
0
0
0
0
0
0
0
7
0
-4
19
-54
6
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
10
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
105
1
3
0
0
0
-4
0
0
0
0
0
0
0
1
1
-9
-6
30
1
2
-2
-12
0
0
0
0
0
0
0
0
1
2
6
16
-7
24
-22
-16
6
1
0
0
0
0
0
0
0
0
0
12
-16
0
-9
-80
-47
35
0
0
0
0
0
0
0
0
0
0
-2
1
13
-18
-13
-52
15
-2
0
0
0
0
0
0
0
0
0
0
0
3
3
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-16
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
10
4
0
0
0
-2
6
0
0
0
0
0
0
0
7
-2
1
0
-1
1
-12
-1
0
-3
0
0
0
0
0
0
0
0
-9
1
2
-4
0
16
-17
0
0
0
0
0
0
0
0
0
0
0
0
19
-5
0
-33
1
-7
0
0
0
0
0
0
0
0
0
0
4
17
-8
13
-60
11
-1
0
0
0
0
0
0
0
0
0
0
-1
-12
2
-7
12
-3
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
1
0
0
0
0
0
0
0
0
0
0
0
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
15
0
8
0
-2
0
0
0
0
0
0
0
0
0
0
7
11
4
-8
-26
-9
9
0
0
0
0
0
0
0
0
0
0
0
-4
-1
7
-11
6
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
40
-6
9
-3
3
1
0
0
0
0
0
0
0
0
0
0
-19
-2
-10
-12
-4
-2
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
9
7
-17
0
0
-1
3
-1
0
0
0
0
0
0
0
0
0
0
1
10
16
-8
11
3
12
0
0
0
0
0
0
0
0
0
-1
0
0
6
3
-28
3
3
0
0
0
0
0
0
0
0
0
0
-1
1
-81
-30
-8
-41
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
0
-10
-7
0
2
-2
0
0
0
0
0
0
0
0
0
-1
0
-1
28
-13
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
21
-2
25
-1
4
2
0
0
0
0
0
0
0
0
0
0
-2
-1
-35
3
-4
1
0
0
-1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-10
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
9
-7
0
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
-1
1
1
-1
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
22
1
1
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-10
-12
17
2
8
7
0
0
0
0
0
0
0
0
0
2
2
-11
-12
22
-56
10
20
0
0
0
0
0
0
0
0
0
-3
-1
0
-11
21
20
19
10
0
0
0
0
0
0
0
0
0
0
0
0
-12
-6
-36
8
3
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
-18
-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
0
0
0
0
0
0
0
0
0
0
14
-12
49
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-8
93
39
-40
16
0
0
0
0
0
0
0
0
0
0
0
0
8
-10
1
18
-4
-1
42
13
0
0
0
0
0
0
0
0
12
8
-34
-51
15
26
41
-12
25
0
0
0
0
0
0
0
0
1
-25
8
34
37
27
19
11
-13
0
0
0
0
0
0
0
0
0
-15
-24
45
-18
15
-13
70
45
0
0
0
0
0
0
0
0
0
0
0
14
-17
-9
19
-35
31
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
32
-52
-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
-2
-20
-40
0
0
0
0
-2
0
0
0
0
0
0
0
-1
-9
15
-26
14
-6
0
0
0
-4
0
0
0
0
0
0
0
0
-27
-19
-2
-30
-22
4
-4
9
2
0
0
0
0
0
0
0
0
20
74
-3
-13
19
-17
-12
-6
9
0
0
0
0
0
0
0
0
21
-3
-7
-76
12
-46
63
53
-1
0
0
0
0
0
0
0
0
0
0
5
-36
8
0
7
22
-6
0
0
0
0
0
0
0
0
0
0
-3
-14
-8
12
54
3
6
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-17
-5
21
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
21
-4
1
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
47
-57
1
-12
-10
16
3
0
0
0
0
0
0
0
0
0
37
-51
-16
-33
-32
-35
-26
19
0
0
0
0
0
0
0
0
0
-12
29
5
20
4
-15
-27
-3
0
0
0
0
0
0
0
0
0
-1
0
-22
8
-27
-109
-72
24
2
0
0
0
0
0
0
0
0
0
0
8
-16
2
18
-8
-17
4
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
-66
-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
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-4
-2
0
0
0
1
-1
0
0
0
0
0
0
0
-3
0
-19
2
-2
8
-85
19
0
0
0
0
0
0
0
0
0
0
15
21
8
7
-24
15
-19
-4
0
-1
0
0
0
0
0
0
0
0
-10
-12
-32
39
-5
18
4
0
0
0
0
0
0
0
0
0
0
-5
21
4
-33
71
24
8
0
0
0
0
0
0
0
0
0
0
0
1
0
-21
1
9
-32
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
-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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-19
12
3
-9
0
0
0
7
1
0
0
0
0
0
0
0
0
-54
7
-2
-10
9
-7
-4
1
-16
0
0
0
0
0
0
0
0
5
0
-36
-26
20
-6
15
12
0
0
0
0
0
0
0
0
0
1
35
-2
10
-7
-2
35
16
3
-2
-2
0
0
0
0
0
0
4
1
-1
20
-24
-36
-8
-28
10
0
0
0
0
0
0
0
0
0
3
13
21
22
-38
-17
0
0
1
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
-1
7
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
-1
48
-4
2
0
0
0
0
2
0
1
-1
0
0
0
0
0
0
22
17
0
4
-17
13
-8
2
6
-1
0
0
0
0
0
0
0
-3
-28
-3
-15
-43
-29
15
-1
0
0
0
0
0
0
0
0
0
1
7
-60
22
14
-59
22
10
9
-1
3
0
0
0
0
0
0
0
0
7
-10
3
15
4
2
-1
0
1
0
0
0
0
0
0
0
0
0
-6
-15
13
-21
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-12
-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
10
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
1
-2
-2
1
0
0
0
0
4
-4
0
2
0
0
0
0
0
0
-16
0
-2
0
0
0
-10
-3
2
0
0
0
0
0
0
0
0
0
4
1
-6
6
-2
6
30
0
-1
2
2
0
0
0
0
0
0
-3
-4
42
0
-19
1
-8
2
2
0
1
0
0
0
0
0
0
0
-7
-3
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
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
0
0
0
1
2
1
0
1
0
0
0
0
0
0
0
1
1
8
0
-1
0
0
0
2
1
0
0
0
0
0
0
0
-1
0
2
-11
0
-3
0
0
-1
1
0
0
0
0
0
0
0
0
-1
0
6
0
1
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
4
-3
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
26
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
21
-15
18
8
0
0
0
0
0
0
0
0
0
0
0
-8
33
1
-11
8
-21
32
-35
0
0
0
0
0
0
0
0
0
0
7
-14
0
11
-19
29
64
0
0
0
0
0
0
0
0
0
0
0
7
-14
11
2
26
1
0
0
0
0
0
0
0
0
0
0
0
0
26
-8
-33
-4
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
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
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-15
20
-2
2
-8
-9
0
0
0
0
0
0
0
0
0
0
0
-22
-4
-78
-1
11
15
0
0
0
0
0
0
0
0
0
0
0
0
10
-13
-19
-45
-38
-9
-18
23
0
0
0
0
0
0
0
0
0
8
26
-24
7
-17
-11
25
87
0
0
0
0
0
0
0
0
0
44
16
-96
34
5
21
-14
-1
0
0
0
0
0
0
0
0
1
-1
8
-38
-1
-30
-30
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
29
29
33
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-28
-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
25
5
-4
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
38
1
26
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-28
18
0
12
-13
6
3
0
0
0
0
0
0
0
0
0
0
16
19
24
-3
-55
-40
-4
0
0
0
0
0
0
0
0
0
0
-4
-30
-32
11
37
-63
-4
0
0
0
0
0
0
0
0
0
0
3
4
-15
-26
-42
-8
10
0
0
0
0
0
0
0
0
0
0
0
6
-9
-8
9
-18
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-22
18
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
9
0
12
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-21
0
1
28
-19
0
1
0
0
0
0
0
0
0
0
0
2
4
8
-15
-41
-21
3
0
0
0
0
0
0
0
0
-3
0
11
-20
-11
-38
-2
3
-3
1
0
0
0
0
0
0
0
0
0
1
-15
27
-11
-12
30
-1
-1
0
0
0
0
0
0
0
0
0
0
3
2
2
21
18
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
-1
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
0
-1
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
-2
1
-6
0
0
0
-3
0
0
0
0
0
0
0
0
0
-6
3
-4
12
-11
-21
8
0
0
0
0
0
0
0
0
0
-3
0
0
-4
28
3
16
-20
1
0
1
0
0
0
0
0
0
0
0
-6
-5
-12
-41
22
-1
0
-3
0
0
0
0
0
0
0
0
0
17
2
11
30
0
57
6
1
0
0
0
0
0
0
0
0
0
0
2
-6
-19
-6
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
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
2
40
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-11
-3
12
9
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
29
15
-1
1
-25
25
-2
0
0
0
0
0
0
0
0
0
23
0
-4
-1
-2
-11
-32
-4
-2
1
0
0
0
0
0
0
-40
12
0
10
-41
8
28
7
6
0
0
0
0
0
0
0
0
0
0
0
-11
14
-4
-16
-63
2
0
0
0
0
0
0
0
0
0
0
0
1
3
-86
-18
-33
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
-4
0
6
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
1
-1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
24
-2
0
0
0
0
0
0
0
0
6
-12
22
0
1
-3
-72
32
-2
0
-1
0
0
0
0
0
0
0
0
-3
26
6
-5
7
48
1
0
0
0
0
0
0
0
0
0
0
1
4
-3
13
26
-39
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
2
-3
-48
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
3
0
1
1
0
0
0
0
0
1
0
0
0
0
0
0
0
12
10
-1
1
0
0
0
11
0
-12
1
0
0
0
0
0
0
0
7
0
0
7
0
-32
0
2
2
0
0
0
0
0
0
0
7
0
-6
3
2
6
20
13
0
0
0
0
0
0
0
0
0
-1
8
0
-25
-10
-12
8
-9
-1
0
0
0
0
0
0
0
0
0
0
8
3
27
16
3
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
62
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
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
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-13
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
1
-7
-10
0
-2
3
0
0
0
0
0
0
0
0
0
19
9
12
-15
-37
2
0
-4
0
2
0
0
0
0
0
0
0
0
0
11
-11
6
-2
3
0
0
0
0
0
0
0
0
0
0
0
-4
4
-14
-3
-18
-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
-6
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
-2
1
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
-2
0
0
-3
0
2
1
2
0
-4
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
6
-3
-3
3
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
7
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
-4
13
0
0
0
0
0
0
0
0
0
0
0
24
10
-6
-35
-28
29
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
3
-13
-9
25
-39
0
0
0
0
0
0
0
0
0
0
1
-37
-19
7
5
-74
-27
0
0
0
0
0
0
0
0
0
0
9
15
34
11
-1
-7
33
0
0
0
0
0
0
0
0
0
0
0
6
11
-2
-11
2
62
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
0
7
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
-1
0
-4
0
0
0
0
0
0
0
0
0
9
2
16
14
-13
-17
0
0
0
0
0
0
0
0
0
0
0
26
-17
-67
11
-52
40
0
0
0
0
0
0
0
0
0
0
0
0
3
12
21
4
-32
1
12
11
0
0
0
0
0
0
0
0
0
2
3
39
9
-8
-37
66
28
0
0
0
0
0
0
0
0
0
0
-3
39
10
-21
29
-15
16
0
0
0
0
0
0
0
0
0
-8
-1
7
-32
-21
45
38
41
0
0
0
0
0
0
0
0
0
0
1
0
7
40
-12
-23
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-48
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
-3
-13
2
-26
-7
3
0
0
0
0
0
0
0
0
0
0
0
2
-17
-12
26
4
18
0
0
0
4
0
0
0
0
0
0
0
0
-8
-11
0
-49
-20
-8
-29
-12
-1
0
0
0
0
0
0
0
0
0
0
-6
-18
20
1
26
-13
-24
0
0
0
0
0
0
0
0
0
-1
-10
0
16
-9
-1
-26
0
0
0
0
0
0
0
0
0
0
6
0
-7
-34
-36
-61
-31
7
0
0
0
0
0
0
0
0
0
0
2
1
18
-17
17
-44
-2
0
0
0
0
0
0
0
0
0
0
1
-1
4
7
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
-1
-12
2
30
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-92
2
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
-26
-3
-21
8
0
0
0
0
0
0
0
0
0
0
0
12
-7
-19
4
21
-40
11
0
0
0
0
0
0
0
0
0
0
4
10
-16
-28
-3
9
4
2
0
0
0
0
0
0
0
1
0
1
0
-17
-16
-21
-50
3
0
0
0
0
0
0
0
0
0
0
3
-1
-19
-28
-21
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-6
7
1
0
0
0
0
0
0
0
0
0
0
0
0
1
68
15
16
-7
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-13
3
1
4
52
-24
1
0
0
0
0
0
0
0
0
11
0
0
0
27
1
-67
36
0
0
0
0
0
0
0
0
-3
-4
0
-3
2
-23
38
-14
16
2
0
0
0
0
0
0
0
0
0
0
0
10
-3
-28
-13
15
3
0
0
0
0
0
0
0
0
0
0
8
1
9
15
-3
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-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
16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
17
9
37
0
0
0
0
0
0
0
0
0
6
0
13
0
0
14
-9
2
-21
0
0
0
0
0
0
0
-2
-1
0
1
1
0
27
51
-18
2
0
0
0
0
0
0
0
0
0
0
0
9
0
-4
-30
-47
0
0
0
0
0
0
0
0
0
0
-8
1
0
-36
18
1
-49
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
7
0
-17
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
10
-7
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-26
2
0
0
15
-11
0
0
0
0
0
0
0
0
0
0
4
2
-1
0
-6
40
19
-1
0
0
0
0
0
0
0
0
0
0
0
-7
1
-2
-30
-27
0
0
0
0
0
0
0
0
0
0
0
-1
-39
0
-29
12
14
-1
0
0
0
0
0
0
0
0
0
0
0
8
8
60
-1
26
0
1
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
19
6
0
1
0
0
0
2
0
0
0
0
0
0
0
0
2
11
-39
11
0
0
9
-5
-1
0
0
0
0
0
0
0
0
-12
0
-4
2
1
0
0
-1
2
0
0
0
0
0
0
0
0
0
3
2
13
-1
-1
3
-6
1
-1
0
0
0
0
0
0
0
0
1
11
1
4
26
6
-25
0
-2
0
0
0
0
0
0
0
0
0
0
-6
3
4
9
-14
1
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
0
0
0
0
0
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
6
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
53
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
-7
-22
-1
-1
0
0
-2
0
0
0
0
0
0
0
6
7
4
-8
41
4
-3
8
4
0
0
0
0
0
0
0
0
0
-7
-15
10
9
-53
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
3
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-4
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
13
3
0
0
0
0
0
0
0
0
0
0
0
42
-17
23
-9
39
-7
0
0
0
0
0
0
0
0
0
0
0
2
18
1
-1
-9
-8
0
-26
0
0
0
0
0
0
0
0
0
3
-2
4
24
-7
-6
-15
73
0
0
0
0
0
0
0
0
0
0
0
11
14
16
27
-26
-3
0
0
0
0
0
0
0
0
0
0
0
9
-21
23
67
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-17
24
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-24
0
0
0
0
0
0
0
0
0
0
8
10
-17
8
3
0
0
0
0
0
0
0
0
0
0
0
-11
9
21
-77
11
4
0
0
0
0
0
0
0
0
0
0
0
4
-12
-17
-44
55
-62
-9
-25
-27
0
0
0
0
0
0
0
0
0
0
35
-38
-107
9
-62
59
-46
0
0
0
0
0
0
0
0
0
0
-12
54
35
42
27
22
-9
0
0
0
0
0
0
0
0
0
0
17
-33
75
16
-38
37
48
0
0
0
0
0
0
0
0
-7
1
4
-17
-18
-32
-15
23
-30
0
0
0
0
0
0
0
0
0
0
1
-7
22
-11
-23
19
25
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
1
5
-57
-18
-9
-2
0
0
0
3
0
0
0
0
0
0
0
-2
5
8
-52
-10
-37
0
0
0
-18
0
0
0
0
0
0
0
12
6
-24
-35
-81
-86
-11
-26
4
4
0
0
0
0
0
0
0
0
0
-1
-57
4
40
30
-24
-8
2
0
0
0
0
0
0
0
0
0
0
45
-1
-27
-16
-16
42
2
0
0
0
0
0
0
0
0
0
0
-12
61
-47
-19
40
24
6
0
0
0
0
0
0
0
6
-2
1
-8
-28
30
32
18
-37
-7
0
0
0
0
0
0
0
0
0
0
-4
-1
-7
34
0
42
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
1
0
0
0
0
0
0
0
1
4
4
7
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
-13
-24
28
-1
0
0
0
-3
0
0
0
0
0
0
0
0
-7
4
-11
9
68
11
-68
3
-3
0
0
0
0
0
0
0
3
0
0
1
30
-8
-2
-14
0
0
0
0
0
0
0
0
0
-2
0
0
0
13
-9
5
-8
-46
0
0
0
0
0
0
0
0
0
0
0
0
-33
29
-30
-61
40
6
0
0
0
0
0
0
0
0
0
-1
0
0
10
30
-6
19
-4
0
0
0
0
0
0
0
0
0
0
2
0
-11
-28
25
-12
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
-4
-27
3
11
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-32
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
31
-8
-3
-33
10
11
1
0
0
0
0
0
0
0
0
7
0
0
2
-2
41
-11
11
-4
0
0
0
0
0
0
0
8
0
0
0
-1
38
72
26
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-20
10
18
-8
0
0
0
0
0
0
0
0
0
-4
-3
0
-2
57
4
-45
6
0
0
0
0
0
0
0
0
0
0
0
1
8
0
-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
-6
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
7
9
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
-32
-2
-3
-10
-11
1
0
0
0
0
0
0
0
0
0
0
79
-8
0
0
-19
25
9
0
0
0
0
0
0
0
0
0
0
13
-4
0
0
-2
40
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
61
51
13
0
0
0
0
0
0
0
0
0
0
0
0
-13
-34
0
-76
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-7
-33
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
4
7
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
24
0
-38
6
-25
16
-28
0
0
0
0
0
0
0
0
0
0
-16
-33
0
0
0
15
-3
0
0
0
0
0
0
0
0
0
0
-7
-2
6
0
-1
-5
-2
0
0
0
0
0
0
0
0
0
0
3
4
0
-4
0
58
-13
3
0
0
0
0
0
0
0
0
0
8
0
19
-3
-38
26
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-40
-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
-6
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-12
-3
-12
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
-38
26
0
-1
-15
51
0
0
0
0
0
0
0
0
0
0
0
32
21
-2
0
0
-6
10
0
0
0
0
0
0
0
0
0
0
0
6
-3
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
-7
13
0
-3
0
55
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-2
11
4
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-4
-21
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
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-2
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
11
0
2
4
-9
-1
-4
0
0
0
0
0
0
0
0
0
0
0
42
1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-8
-6
-12
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
-29
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-6
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
-4
6
-9
0
-3
9
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
3
-18
13
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
2
0
-28
-19
0
0
0
0
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-47
5
-34
11
20
-10
0
0
0
0
0
0
0
0
0
0
0
-10
-11
-34
-5
-13
-6
-12
-30
0
0
0
0
0
0
0
0
0
-9
-6
-18
-30
2
-6
9
25
0
0
0
0
0
0
0
0
0
0
-33
-33
74
5
-30
10
16
0
0
0
0
0
0
0
0
0
0
0
-3
-9
15
27
11
8
0
0
0
0
0
0
0
0
0
0
0
-6
0
12
38
-3
6
0
0
0
0
0
0
0
0
0
0
0
-15
0
2
2
12
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
7
10
0
0
0
0
0
0
0
0
0
-1
25
53
-11
-3
-10
0
0
0
0
0
0
0
0
0
0
0
75
52
-51
-27
16
3
0
0
0
0
0
0
0
0
0
0
0
13
1
5
-38
42
2
14
-75
6
0
0
0
0
0
0
0
0
1
30
-16
28
9
-44
9
33
2
0
0
0
0
0
0
0
0
0
0
-32
-14
-32
-34
-46
47
10
0
0
0
0
0
0
0
0
0
0
-3
54
-24
-49
17
16
-13
0
0
0
0
0
0
0
0
0
0
-4
-8
25
-5
13
-30
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
8
38
6
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
51
-13
0
0
0
0
0
0
0
0
1
-12
-24
-2
-33
25
0
0
0
0
0
0
0
0
0
0
0
9
20
1
-18
-6
-8
0
0
0
-4
0
0
0
0
0
0
0
-1
30
29
-6
16
-8
29
17
-7
-13
0
0
0
0
0
0
0
-12
-12
-72
5
-5
-20
19
2
-16
0
0
0
0
0
0
0
0
0
1
0
-3
-24
-20
28
5
-19
-1
0
0
0
0
0
0
0
0
0
0
4
-9
53
12
-15
-39
-4
0
0
0
0
0
0
0
0
0
0
14
1
-5
59
-25
-42
-30
0
0
0
0
0
0
0
0
0
1
0
-4
12
9
2
37
5
0
0
0
0
0
0
0
0
0
0
0
0
-32
-12
4
-9
3
0
0
0
0
0
0
0
0
-10
-13
-33
1
1
0
0
0
1
0
0
0
0
0
0
0
4
30
-36
0
0
45
0
0
0
1
0
0
0
0
0
0
0
0
-5
-24
-42
0
-3
-3
-20
-17
2
0
0
0
0
0
0
0
0
0
-40
-14
-28
9
-41
12
-26
0
1
0
0
0
0
0
0
-1
0
3
0
-19
-83
48
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-10
-24
-48
-1
0
0
0
0
0
0
0
0
0
0
1
0
20
8
-9
11
-16
1
0
0
0
0
0
0
0
0
0
-2
1
2
-11
4
-43
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-47
4
2
0
0
0
0
0
0
0
0
-4
-4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
11
-3
-2
18
0
0
0
0
0
0
0
0
0
0
0
0
1
32
-16
35
4
-20
0
-8
17
0
0
0
0
0
0
0
0
0
6
53
-39
55
3
-38
-8
10
0
0
0
0
0
0
0
0
-13
0
0
0
2
39
-51
5
-36
1
0
0
0
0
0
0
0
0
0
0
0
0
21
-15
-59
-1
-1
0
0
0
0
0
0
0
0
2
0
0
0
73
-56
1
-32
2
0
0
0
0
0
0
0
0
0
0
-1
0
6
-31
4
-26
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
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
2
2
4
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-21
-11
28
0
-1
-12
0
0
0
0
0
0
0
0
-2
-10
-2
-7
26
-3
3
-3
-15
0
1
0
0
0
0
0
0
7
7
-21
0
0
0
28
-58
-24
-1
1
0
0
0
0
0
0
0
0
0
0
0
2
-10
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-5
-55
0
1
0
0
0
0
0
0
0
0
0
4
0
0
-3
20
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
-1
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-23
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
11
-5
-10
0
4
0
0
0
0
0
0
0
0
0
0
0
-13
8
-17
0
-16
2
9
0
0
0
0
0
0
0
0
0
0
-9
28
0
0
-10
2
-1
0
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
-3
-32
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
-23
-3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-1
0
-9
1
7
0
0
0
0
0
0
0
0
0
0
0
1
11
1
-2
-9
-8
1
0
0
0
0
0
0
0
0
0
-2
-7
5
22
0
0
0
-55
0
0
0
0
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
6
0
0
0
35
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
0
-8
6
3
-3
0
0
0
0
0
0
0
0
0
0
0
3
54
-2
35
2
-10
0
0
0
0
0
0
0
0
0
0
1
-15
26
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-51
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
-10
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-2
-8
-9
6
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-11
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-15
9
-12
65
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-24
-20
10
20
-1
1
-9
0
0
0
0
0
0
0
0
0
3
-29
2
8
-7
32
-19
9
0
0
0
0
0
0
0
0
0
1
3
22
3
-9
35
-56
20
0
0
0
0
0
0
0
0
0
0
0
27
24
35
45
-25
57
0
0
0
0
0
0
0
0
0
0
4
0
-13
33
-50
-35
-6
0
0
0
0
0
0
0
0
0
0
-1
-7
-1
3
-32
-9
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
40
0
0
0
0
0
0
0
0
0
0
-16
-19
-55
-3
-8
0
0
0
0
0
0
0
0
0
0
0
11
-36
27
-6
-24
7
0
0
0
0
0
0
0
0
0
0
0
18
-28
-11
-75
15
-39
55
-33
8
0
0
0
0
0
0
0
0
0
28
-17
-20
-60
-3
49
-22
-5
0
0
0
0
0
0
0
0
-1
47
-55
54
-28
11
37
6
-10
0
0
0
0
0
0
0
0
0
0
-28
-21
28
53
-11
61
-14
0
0
0
0
0
0
0
0
0
0
19
-35
-57
50
33
-41
-27
0
0
0
0
0
0
0
0
0
0
0
27
38
-19
48
-30
34
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
3
-2
0
0
0
0
0
0
0
0
0
-23
14
11
11
-15
0
0
0
0
0
0
0
0
0
0
0
16
-13
19
-46
36
9
0
0
0
-24
0
0
0
0
0
0
0
0
-7
8
-8
42
24
-1
25
22
6
0
0
0
0
0
0
0
-1
-16
-3
19
-17
-26
-56
-44
-40
0
0
0
0
0
0
0
0
-10
-29
11
103
15
-7
-32
-7
90
1
0
0
0
0
0
0
0
0
0
-2
18
11
-21
-31
8
20
-9
0
0
0
0
0
0
0
0
0
0
11
8
49
44
-39
-53
-24
0
0
0
0
0
0
0
0
0
0
1
3
-6
-19
-35
21
-40
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
33
1
0
0
0
0
0
0
0
0
0
-1
-10
-33
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-7
2
-32
33
0
0
0
-4
-1
0
0
0
0
0
0
-2
1
-5
-2
6
10
-3
0
-15
1
-4
0
0
0
0
0
0
-1
-4
35
-27
5
45
15
18
-26
-1
0
0
0
0
0
0
0
12
-32
-18
-76
36
40
73
-16
-5
0
0
0
0
0
0
0
0
0
0
0
0
-81
10
-26
34
44
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
10
-37
-18
1
0
0
0
0
0
0
0
0
0
0
0
1
-3
-45
-9
5
48
0
0
0
0
0
0
0
0
0
0
0
0
14
8
2
6
1
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
13
29
29
8
-16
0
0
0
3
0
0
0
0
0
0
0
0
-3
-38
-20
8
6
0
0
-6
0
0
0
0
0
0
0
0
0
-6
-18
0
7
-21
-1
4
9
0
0
0
0
0
0
0
0
-11
0
38
1
-19
-2
6
19
-3
0
0
0
0
0
0
0
0
10
1
0
0
0
-33
31
-20
-40
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-30
-14
-8
0
0
0
0
0
0
0
0
0
0
0
0
10
-63
-4
6
20
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
0
-2
0
0
0
0
0
0
0
0
2
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-23
-28
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
22
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
41
-13
-2
20
-29
0
-3
0
0
0
0
0
0
0
0
0
0
0
26
24
-76
3
34
-12
1
0
0
0
0
0
0
0
-6
0
0
0
0
0
37
-45
48
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-2
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
39
2
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
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
0
15
18
0
0
0
0
0
0
0
0
0
0
0
16
9
12
2
23
-16
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-10
-6
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-17
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-15
-49
6
4
8
2
0
0
0
0
0
0
0
0
0
10
-2
7
0
6
-18
2
0
0
0
0
0
0
0
0
0
0
0
0
13
24
0
0
0
-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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-6
-2
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-18
-8
-11
28
0
-2
0
0
0
0
0
0
0
0
0
0
0
-18
-81
-10
-43
1
-7
19
0
0
0
0
0
0
0
0
0
3
-55
4
8
12
0
-17
-24
0
0
0
0
0
0
0
0
0
-8
2
-27
-7
-45
-31
11
4
0
0
0
0
0
0
0
0
0
0
0
17
-20
-22
-12
27
71
0
0
0
0
0
0
0
0
0
0
0
-9
8
20
-11
27
-55
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
37
14
46
0
0
0
0
0
0
0
0
0
0
21
-42
89
7
9
0
0
0
0
0
0
0
0
0
0
0
-11
-83
1
-22
95
13
0
0
0
0
0
0
0
0
0
0
0
-2
47
6
-2
42
-51
4
-3
11
0
0
0
0
0
0
0
0
-7
37
23
-26
20
-2
19
13
1
0
0
0
0
0
0
0
0
0
23
-24
-50
57
50
56
-1
60
0
0
0
0
0
0
0
0
10
-22
-4
-20
0
56
-7
16
54
0
0
0
0
0
0
0
0
0
0
1
-16
3
8
85
23
-7
0
0
0
0
0
0
0
0
0
0
1
-23
-1
8
21
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
10
18
-9
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
-13
0
58
-5
5
4
0
0
0
-2
0
0
0
0
0
0
0
0
-7
3
56
-37
0
0
1
-17
-2
0
0
0
0
0
0
0
0
-8
-2
-45
39
3
-43
18
-3
0
0
0
0
0
0
0
0
-3
7
5
-10
-50
-32
-42
-8
-62
0
0
0
0
0
0
0
0
0
7
-6
-2
-15
11
26
7
-7
9
0
0
0
0
0
0
0
0
0
0
12
-35
21
68
80
-48
-2
0
0
0
0
0
0
0
0
0
0
1
12
-16
-4
22
95
-58
0
0
0
0
0
0
0
0
0
0
0
0
7
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
-22
-2
-21
40
0
2
0
0
0
0
-1
0
0
0
0
0
0
-6
-9
13
-39
21
6
2
0
19
0
0
0
0
0
0
0
0
1
-3
-10
-22
11
-36
-20
6
-4
0
0
0
0
0
0
0
0
0
1
8
-22
12
17
12
-28
6
0
0
0
0
0
0
0
0
0
-13
-4
-37
55
1
26
12
15
0
0
0
0
0
0
0
0
0
0
0
0
24
4
63
-16
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
11
24
-6
0
0
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
0
0
0
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
10
-17
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-6
15
0
1
1
0
0
0
0
0
0
0
0
0
0
-2
-3
14
-52
0
-7
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-11
-19
64
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
6
-2
-25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
39
5
1
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
0
0
0
0
0
4
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
2
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-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
-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
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-15
3
-26
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-40
33
-19
-11
0
0
8
0
0
0
0
0
0
0
0
-4
11
-54
8
58
-13
-12
-16
40
0
0
0
0
0
0
0
0
2
-6
26
-6
-58
-3
16
14
-50
0
0
0
0
0
0
0
0
0
-2
10
7
-79
-45
-3
-19
7
0
0
0
0
0
0
0
0
0
0
0
1
15
-7
76
-24
-19
0
0
0
0
0
0
0
0
0
0
0
3
-6
20
27
17
-22
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-36
-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
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
13
-7
-2
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
9
6
0
1
-10
0
0
0
0
0
0
0
0
0
9
-34
-36
-18
24
-8
-1
-2
0
0
0
0
0
0
0
0
0
-7
-1
9
0
27
48
-22
0
0
0
0
0
0
0
0
0
0
0
-16
1
-4
8
62
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
6
10
0
-1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
1
1
15
0
-1
0
0
0
0
0
0
0
0
0
0
1
-2
2
-25
7
-1
-1
-1
0
0
0
0
0
0
0
0
0
4
0
-5
6
-24
13
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
14
-4
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
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
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
4
-12
-6
0
-1
0
0
0
0
0
0
0
0
0
2
-1
2
2
-48
-6
4
0
0
0
0
0
0
0
0
0
0
2
-3
40
1
-13
12
1
7
0
0
0
0
0
0
0
0
0
0
13
-1
1
2
0
6
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
2
-3
-4
1
0
0
0
0
0
0
0
0
0
-2
0
-12
9
21
-18
1
0
0
0
0
0
0
0
0
0
0
0
-1
7
-9
-6
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
-11
0
-4
0
0
0
0
0
0
0
0
0
0
-1
1
-1
1
-4
4
0
0
0
0
0
0
0
0
0
0
-8
0
-4
0
6
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
4
2
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-6
1
-1
0
6
10
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
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
-10
0
1
12
4
-2
-2
1
0
0
0
0
0
0
0
0
2
-1
4
-3
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
8
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
-8
-25
4
0
4
0
-1
0
0
0
0
0
0
0
0
0
2
-7
0
0
-12
1
0
-1
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
2
0
0
1
3
6
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
17
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
8
-3
2
1
0
0
0
0
0
0
0
0
0
0
-12
0
-7
-10
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
20
18
19
-16
2
-8
-4
0
0
0
0
0
0
0
0
0
4
-12
40
36
35
7
12
6
2
0
0
0
0
0
0
0
0
-3
0
-27
-6
9
33
-16
12
-1
0
0
0
0
0
0
0
0
-1
-10
0
27
2
-25
20
8
-10
0
0
0
0
0
0
0
0
0
3
0
-3
0
1
10
0
2
-1
0
0
0
0
0
0
0
0
0
1
15
0
-7
0
0
-2
0
0
0
0
0
0
0
0
0
-3
0
0
-8
0
-1
4
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
2
2
21
-34
49
-13
22
-1
0
0
0
0
0
0
0
0
0
0
30
2
-29
1
-37
4
0
-3
0
0
0
0
0
0
0
0
6
-1
-22
-9
-27
54
0
-1
-1
0
0
0
0
0
0
0
0
0
-2
6
6
-2
-4
2
0
-2
0
0
0
0
0
0
0
0
0
-1
-1
1
-3
2
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
8
-7
28
0
7
0
0
0
0
0
0
0
0
0
0
4
5
21
-4
-6
22
0
-1
0
0
0
0
0
0
0
0
0
-13
0
2
16
15
-4
0
-2
0
0
0
0
0
0
0
0
2
-1
0
-4
-12
2
0
0
-3
0
0
0
0
0
0
0
0
0
1
-1
1
0
4
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
4
30
0
13
-2
-7
2
0
0
0
0
0
0
0
0
0
-1
65
-1
1
0
2
-7
-2
-1
0
0
0
0
0
0
0
0
-1
3
0
3
16
-2
-8
1
-8
0
0
0
0
0
0
0
0
0
-1
0
1
0
-16
7
0
0
0
0
0
0
0
0
0
0
0
2
1
-1
-1
7
-7
0
-2
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
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
23
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
-24
-7
8
-10
-6
-29
18
4
0
0
0
0
0
0
0
0
6
15
1
18
4
-15
3
7
0
0
0
0
0
0
0
0
0
3
6
-3
0
-4
0
11
-1
-1
0
0
0
0
0
0
0
0
0
-2
0
3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
35
-7
-18
2
0
-1
0
0
0
0
0
0
0
0
11
10
1
30
-6
-3
-2
-6
0
0
0
0
0
0
0
0
0
-3
-29
-4
9
0
-7
-3
1
-6
0
0
0
0
0
0
0
0
-2
3
-6
0
0
-15
-1
-2
0
0
0
0
0
0
0
0
0
1
11
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
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
-1
19
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
10
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
-3
-1
0
-4
3
0
0
0
0
0
0
0
0
0
0
6
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
8
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
4
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
6
-1
0
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
6
2
-13
0
0
0
0
0
0
0
0
0
0
0
6
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
21
25
-1
-4
11
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-9
0
-9
0
0
0
0
0
0
0
0
0
0
0
5
0
3
0
12
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
7
-12
12
15
2
0
0
0
0
0
0
0
0
0
-3
32
60
11
28
12
-19
-9
-6
0
0
0
0
0
0
0
0
2
0
-6
0
-7
-21
22
4
3
0
0
0
0
0
0
0
0
0
25
0
-3
2
16
-28
4
-6
0
0
0
0
0
0
0
0
0
-7
0
-13
-6
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
1
2
2
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-24
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
12
53
-7
0
0
0
0
0
0
0
0
0
0
0
-6
-30
46
-32
6
15
1
0
0
0
0
0
0
0
0
0
1
3
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-12
21
0
-2
0
-1
3
0
0
0
0
0
0
0
0
0
0
16
2
-2
0
-1
0
-1
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
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
2
11
0
0
0
0
0
0
0
0
0
0
0
6
-6
2
-10
-38
-3
-2
0
0
0
0
0
0
0
0
0
0
15
-4
0
0
3
-6
-2
6
0
0
0
0
0
0
0
0
0
2
0
-2
-1
3
-6
0
0
0
0
0
0
0
0
0
0
0
1
6
-1
0
0
3
0
7
0
0
0
0
0
0
0
0
0
4
-6
-7
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
-1
-3
1
1
-7
-9
-26
8
0
0
0
0
0
0
0
0
0
0
7
3
-1
0
6
6
4
0
0
0
0
0
0
0
0
0
0
-8
0
-1
2
-1
1
0
1
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
4
9
0
0
0
0
0
0
0
0
0
0
6
-2
7
19
-16
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
11
2
4
14
3
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
-12
18
-12
0
0
0
0
3
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
3
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
7
-3
0
0
0
0
0
0
0
0
0
0
2
1
-13
56
19
-9
4
1
9
-2
0
0
0
0
0
0
1
0
7
2
1
-7
1
1
6
0
0
0
0
0
0
0
0
0
0
7
-1
-2
-3
6
-2
0
0
0
0
0
0
0
0
0
0
2
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
9
-3
-3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
11
0
-1
0
0
0
0
0
0
0
0
0
0
9
0
-13
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-6
0
18
0
0
0
0
0
0
0
0
0
0
0
8
-1
2
4
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
1
8
-4
0
0
0
0
0
0
0
0
0
0
0
-7
19
-3
-3
-2
13
-10
20
0
0
0
0
0
0
0
0
0
0
-13
-25
0
9
7
6
0
0
0
0
0
0
0
0
0
0
1
-3
16
19
2
-9
0
0
0
0
0
0
0
0
0
0
0
23
1
-36
-1
3
4
0
0
0
0
0
0
0
0
0
0
0
-3
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
-15
-6
16
0
0
0
0
0
0
0
0
0
0
3
-11
-13
35
-1
-28
-22
3
0
0
0
0
0
0
0
0
2
0
24
-22
-20
-25
89
-39
0
0
0
0
0
0
0
0
0
-2
1
19
4
-29
7
-58
7
-2
0
0
0
0
0
0
0
0
0
-7
-2
-57
-4
4
10
-7
15
0
0
0
0
0
0
0
0
1
-17
-1
-10
-22
1
-2
0
1
0
0
0
0
0
0
0
0
0
-11
-2
47
0
7
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
3
0
-1
-1
25
-13
-28
0
0
0
0
0
0
0
0
0
2
-4
25
6
-3
-25
40
0
-2
0
0
0
0
0
0
0
0
1
7
29
3
-10
13
0
-9
7
0
0
0
0
0
0
0
0
-2
30
0
-18
-12
10
28
3
2
0
0
0
0
0
0
0
0
0
-17
-3
-17
22
0
3
0
0
0
0
0
0
0
0
0
0
0
13
-6
-50
3
2
0
0
0
0
0
0
0
0
0
0
0
-1
-2
18
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
6
-3
0
-27
0
8
1
0
0
0
0
0
0
0
0
0
0
0
1
3
3
-13
-9
2
0
0
0
0
0
0
0
0
0
0
-15
-27
0
-1
-4
8
0
-4
0
0
0
0
0
0
0
0
0
1
1
-35
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-2
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-1
11
-40
0
0
0
0
0
0
0
0
0
0
-7
-6
-1
24
2
-6
-1
-10
0
0
0
0
0
0
0
0
0
0
-6
-1
0
9
-21
-4
0
0
0
0
0
0
0
0
0
0
1
25
-4
4
7
2
0
0
0
0
0
0
0
0
0
0
0
3
-3
6
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
2
0
0
0
0
0
0
0
0
0
3
0
-6
0
2
0
15
2
12
0
0
0
0
0
0
0
0
0
-2
0
16
7
4
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-7
-7
40
-3
0
0
0
0
0
0
0
0
0
-1
-1
26
-1
3
1
0
-1
0
0
0
0
0
0
0
0
0
0
1
13
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
-13
-4
3
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
-35
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
4
0
2
2
-17
29
3
0
0
0
0
0
0
0
0
0
0
-2
-1
0
27
2
-8
12
0
0
0
0
0
0
0
0
0
0
0
15
0
6
-1
-2
0
0
0
0
0
0
0
0
0
0
0
8
7
9
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
29
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
6
0
-9
0
-1
-1
-2
0
0
0
0
0
0
0
0
0
0
-10
0
-3
1
-11
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
11
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-2
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
0
0
0
0
0
0
0
0
0
0
0
27
0
1
-3
19
-7
-13
-13
0
0
0
0
0
0
0
0
0
4
-2
7
-6
3
-13
-4
0
0
0
0
0
0
0
0
0
0
-7
0
-25
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
-3
2
-29
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
25
-2
10
3
2
0
0
0
0
0
0
0
0
0
0
0
0
-16
3
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
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-19
10
20
0
0
0
0
0
0
0
0
0
0
46
0
0
-4
-37
-6
7
-3
4
0
0
0
0
0
0
0
0
51
-7
15
-24
30
-37
-16
-18
0
0
0
0
0
0
0
0
-6
4
0
-52
10
-22
-51
73
-3
0
0
0
0
0
0
0
0
-4
1
34
3
30
-9
-22
2
6
1
0
0
0
0
0
0
0
-2
33
-22
50
-7
11
15
0
3
0
0
0
0
0
0
0
0
3
23
37
29
0
-1
7
0
0
0
0
0
0
0
0
0
0
2
-86
-16
64
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
0
19
-29
0
1
0
0
0
0
0
0
0
0
1
0
0
9
-1
11
19
0
0
0
0
0
0
0
0
0
0
7
7
-6
-32
-21
-23
-5
0
1
0
0
0
0
0
0
0
0
-1
15
-5
26
53
-23
1
7
0
0
0
0
0
0
0
0
0
-26
0
-40
2
10
-1
0
-1
0
0
0
0
0
0
0
0
1
1
1
3
10
6
0
0
0
0
0
0
0
0
0
0
0
1
-66
-17
35
2
2
0
0
0
0
0
0
0
0
0
0
0
0
35
-12
14
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-8
0
2
-12
-3
0
0
0
0
0
0
0
0
0
0
-1
-16
7
18
8
-41
7
0
0
0
0
0
0
0
0
-2
-2
6
-5
1
-8
-15
-1
-1
0
0
0
0
0
0
0
0
0
-24
-7
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-22
1
15
0
0
0
0
0
0
0
0
0
0
0
-2
1
59
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-7
-10
-6
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
22
-15
-4
0
0
0
0
0
0
0
0
0
0
-1
4
-8
15
-4
-6
-2
0
0
0
0
0
0
0
0
0
0
3
0
0
-6
-1
28
0
0
0
0
0
0
0
0
0
0
3
2
38
0
42
7
-9
1
0
0
0
0
0
0
0
0
0
-2
-16
1
1
-1
-7
0
0
0
0
0
0
0
0
0
0
0
-19
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
10
0
-1
-1
0
0
0
0
0
0
0
0
0
0
7
1
0
-2
0
2
0
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
-1
14
-30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
43
2
-1
1
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-7
1
0
0
0
0
0
0
0
0
0
0
1
-1
0
17
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
5
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
13
-8
-6
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
0
0
0
0
0
0
0
1
0
3
0
2
0
0
0
0
0
0
0
0
0
1
0
0
-3
11
2
2
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
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
29
42
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
-8
-2
-4
0
-3
7
0
0
0
0
0
0
0
0
0
0
4
-3
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-22
-2
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
29
-4
0
0
0
0
0
0
0
0
0
0
-2
0
-6
7
1
14
4
-3
0
0
0
0
0
0
0
0
0
-18
-8
-1
0
-2
4
1
0
0
0
0
0
0
0
0
0
0
12
-7
-18
-17
6
-4
1
0
0
0
0
0
0
0
0
0
0
0
2
-3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
12
0
22
-3
0
0
0
0
0
0
0
0
0
0
0
0
38
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
-10
-73
-14
-35
0
0
0
0
0
0
0
0
0
0
11
-2
-15
48
25
-106
14
1
0
0
0
0
0
0
0
0
-1
23
30
13
-2
-92
11
33
-7
0
0
0
0
0
0
0
0
-1
58
10
-19
51
-26
60
29
11
-2
0
0
0
0
0
0
0
-3
-57
39
18
25
20
-14
1
-8
0
0
0
0
0
0
0
0
-3
0
-7
15
69
-15
-19
6
-10
0
0
0
0
0
0
0
0
0
44
-3
10
11
35
-2
0
0
0
0
0
0
0
0
0
0
10
-44
-37
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-41
8
0
-1
0
0
0
0
0
0
0
1
-25
2
4
13
11
-14
-14
-2
0
0
0
0
0
0
0
0
0
-18
10
25
-13
-27
-6
17
13
0
0
0
0
0
0
0
0
0
-11
-25
33
43
37
30
-28
-1
0
0
0
0
0
0
0
0
0
22
-8
-60
15
7
-9
-3
-9
0
0
0
0
0
0
0
0
0
6
0
17
-3
47
48
0
1
0
0
0
0
0
0
0
0
-10
27
37
44
-74
11
-3
-7
0
0
0
0
0
0
0
0
0
0
-76
22
-30
18
-9
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-29
47
0
-7
0
0
0
0
0
0
0
0
0
0
1
-4
-15
-3
-10
-7
0
0
0
0
0
0
0
0
0
4
0
-18
-11
-7
40
-23
0
0
0
0
0
0
0
0
0
-2
1
-8
-3
-26
0
-20
4
-1
0
0
0
0
0
0
0
0
0
-11
-9
20
0
-3
-7
-1
0
0
0
0
0
0
0
0
0
0
-41
-80
0
34
-1
-2
0
0
0
0
0
0
0
0
0
0
-8
-8
0
-7
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
20
32
7
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-7
10
29
-10
0
0
0
0
0
0
0
0
0
3
0
-3
-6
-10
0
8
1
0
0
0
0
0
0
0
0
0
13
-3
-19
0
-2
4
0
-10
0
0
0
0
0
0
0
0
0
0
50
-15
0
1
-2
0
0
0
0
0
0
0
0
0
0
1
4
13
-8
7
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
-4
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
2
-27
7
-4
0
0
0
0
0
0
0
0
0
0
1
0
-29
0
-2
4
-10
0
0
0
0
0
0
0
0
0
2
0
-21
26
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
-32
37
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-21
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
20
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
-3
0
0
4
0
-10
4
2
0
0
0
0
0
0
0
0
0
1
2
10
-1
1
1
-6
0
0
0
0
0
0
0
0
0
0
0
-12
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
50
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
3
0
4
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
15
7
-1
0
-2
0
0
0
0
0
0
0
0
0
0
-4
8
43
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
2
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-10
0
0
-2
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
-64
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
15
3
1
0
0
0
0
0
0
0
0
0
9
0
1
-2
1
-7
-29
7
0
0
0
0
0
0
0
0
0
8
0
0
0
-10
19
-2
0
0
0
0
0
0
0
0
0
0
-4
7
25
19
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-24
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
9
-11
8
27
45
0
0
0
0
0
0
0
0
0
0
1
20
-10
-11
-46
-47
-41
15
0
0
0
0
0
0
0
0
0
-6
-3
-2
30
51
61
-29
-19
6
0
0
0
0
0
0
0
0
-7
-24
-39
-41
25
-6
10
-13
0
0
0
0
0
0
0
0
0
78
16
69
-27
2
-23
-2
0
0
0
0
0
0
0
0
0
0
-42
-33
31
16
9
24
-16
-3
0
0
0
0
0
0
0
0
-3
0
66
-48
-82
-27
-16
2
0
0
0
0
0
0
0
0
0
1
36
40
-5
-16
1
0
2
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
-1
1
-2
1
9
0
0
0
0
0
0
0
0
0
0
-7
4
2
15
-6
15
9
-11
0
0
0
0
0
0
0
0
-1
-1
-6
-8
-8
30
-11
31
17
0
0
0
0
0
0
0
0
0
-22
0
-3
-13
-6
-17
41
-12
0
0
0
0
0
0
0
0
0
-15
20
68
14
46
-52
-11
22
0
0
0
0
0
0
0
0
0
19
19
-28
35
-22
0
0
0
0
0
0
0
0
0
0
0
0
31
0
9
6
22
-11
6
0
0
0
0
0
0
0
0
0
0
-6
37
13
20
-3
-4
-7
0
0
0
0
0
0
0
0
0
0
0
-4
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-6
-7
-3
-19
-2
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
-3
9
1
0
0
0
0
0
0
0
0
0
19
11
57
-46
2
-3
-1
11
0
0
0
0
0
0
0
0
0
0
12
41
11
-2
21
-1
0
0
0
0
0
0
0
0
0
0
-7
19
5
-40
12
7
0
0
0
0
0
0
0
0
0
0
0
-48
-1
0
15
-6
0
1
0
0
0
0
0
0
0
0
0
0
66
0
-13
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
7
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-1
0
-6
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-13
-25
0
1
0
0
0
0
0
0
0
0
1
18
0
-1
-13
21
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
13
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
28
-9
7
7
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
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
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
11
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
2
1
0
0
0
0
0
0
0
0
0
6
0
0
-2
-4
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
8
1
-1
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
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
0
0
0
0
-3
0
0
-6
11
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
29
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
16
3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
3
-1
12
-1
0
0
0
0
0
0
0
0
8
0
0
0
2
55
6
-6
0
0
0
0
0
0
0
0
0
18
1
18
7
17
-9
-1
0
0
0
0
0
0
0
0
0
0
-3
3
-8
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
-3
4
2
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-16
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-1
-19
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
10
-14
3
0
0
0
0
0
0
0
0
0
0
2
6
-12
47
0
12
2
4
6
0
0
0
0
0
0
0
0
10
-3
-10
-2
-79
7
-3
-37
0
0
0
0
0
0
0
0
0
-48
-4
-7
14
14
-22
1
36
0
0
0
0
0
0
0
0
-1
-9
4
-16
-6
-11
34
48
-4
-1
0
0
0
0
0
0
0
0
-2
51
21
52
16
10
-3
-7
0
0
0
0
0
0
0
0
1
-1
8
-76
-19
-7
9
-1
0
0
0
0
0
0
0
0
0
3
0
-2
86
15
-7
13
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
1
22
0
0
0
0
0
0
0
0
0
0
6
3
0
-1
16
-32
0
5
6
0
0
0
0
0
0
0
0
0
-1
-2
2
48
6
-22
-11
0
0
0
0
0
0
0
0
0
0
12
4
26
7
35
0
0
0
0
0
0
0
0
0
0
0
-1
8
-35
-28
-11
2
0
0
0
0
0
0
0
0
0
0
0
-10
-1
45
-77
25
-6
0
0
0
0
0
0
0
0
0
0
-1
1
0
-45
-30
33
0
-2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-18
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
17
-26
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
-8
-21
6
0
0
0
0
0
0
0
0
0
0
-1
-1
2
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
14
9
-12
-3
0
0
0
0
0
0
0
0
0
0
0
-5
17
7
4
1
4
0
0
0
0
0
0
0
0
0
0
0
10
-1
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
8
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
29
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-4
-9
-1
0
0
0
0
0
0
0
0
1
0
0
4
-1
7
6
0
0
0
0
0
0
0
0
0
0
4
-2
-26
8
2
4
-10
0
0
0
0
0
0
0
0
0
0
-1
26
-4
6
2
-7
0
0
0
0
0
0
0
0
0
0
0
17
-6
-23
20
20
-1
0
0
0
0
0
0
0
0
0
0
0
4
45
22
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
32
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
19
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-19
1
-3
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-56
-13
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
-3
16
23
-15
-9
0
-2
0
0
0
0
0
0
0
0
16
-4
-20
-3
10
12
-4
-1
-3
0
0
0
0
0
0
0
0
-13
0
19
13
2
-24
48
19
-8
0
0
0
0
0
0
0
0
-16
35
-54
-16
15
21
7
3
-14
0
0
0
0
0
0
0
0
-33
3
-48
49
-6
5
94
0
0
0
0
0
0
0
0
0
0
0
36
-52
-23
16
4
0
0
8
0
0
0
0
0
0
0
0
0
7
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
34
-9
20
-60
-58
-4
0
0
0
0
0
0
0
0
0
-28
49
15
3
-5
-56
-1
0
11
0
0
0
0
0
0
0
0
24
37
29
-15
-2
-3
-8
-26
-54
24
0
0
0
0
0
0
0
-24
25
23
26
4
30
-18
-39
-49
-41
0
0
0
0
0
0
0
-22
7
14
11
17
-17
7
14
-4
-38
0
0
0
0
0
0
0
-9
16
39
28
32
-20
6
9
54
-94
0
0
0
0
0
0
0
-9
-21
-37
-4
52
-18
-12
19
38
-2
0
0
0
0
0
0
0
0
-9
-12
-16
13
41
0
0
-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
-1
-1
0
4
21
-24
-31
-14
0
0
-2
0
0
0
0
0
0
12
-33
22
-16
-24
-45
-30
0
-39
0
-9
0
0
0
0
0
0
2
-13
30
-19
-24
-33
37
-30
-27
-5
-25
0
0
0
0
0
0
-8
1
53
11
9
9
-5
-28
37
-7
4
0
0
0
0
0
0
18
-21
27
-4
9
-8
5
55
-6
-30
6
0
0
0
0
0
0
-3
-28
27
6
14
5
-10
-15
60
-14
26
0
0
0
0
0
0
0
-35
4
-6
20
-3
-41
-44
9
35
0
0
0
0
0
0
0
0
-23
8
83
-2
29
-22
-2
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
46
5
19
0
5
-21
-66
27
0
0
-2
0
0
0
0
0
0
30
27
6
11
21
4
9
0
9
0
22
0
0
0
0
0
0
-31
12
24
-18
-22
-20
-73
-18
-70
-9
21
0
0
0
0
0
0
43
59
-13
-25
13
11
-18
6
59
-45
59
0
0
0
0
0
0
10
-15
-2
6
5
-10
2
15
20
-56
3
0
0
0
0
0
0
1
21
-37
25
-54
-11
11
31
-34
28
18
0
0
0
0
0
0
0
37
34
-12
15
50
-51
32
-17
2
0
0
0
0
0
0
0
0
0
14
5
6
-14
33
0
0
0
0
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
-60
12
0
-40
-80
0
0
-8
0
0
0
0
0
0
0
2
18
9
11
-18
40
43
0
-9
0
-9
-1
0
0
0
0
0
0
21
41
12
-12
-31
72
11
-52
-20
41
-10
0
0
0
0
0
42
58
13
38
-17
-28
-50
-52
-82
-27
7
0
0
0
0
0
0
-29
50
10
58
-5
35
4
51
45
-51
-25
-1
0
0
0
0
0
-4
13
48
14
-74
-4
-51
-29
14
1
0
-4
0
0
0
0
0
0
11
6
50
-3
-3
-9
16
-54
7
0
0
0
0
0
0
0
0
20
15
-31
-7
30
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
-6
0
-95
59
26
0
-52
-52
0
0
0
0
0
0
0
0
0
-2
22
8
56
25
-24
18
0
0
0
7
0
0
0
0
0
0
0
29
-4
56
4
-44
-22
9
29
-36
10
0
0
0
0
0
0
0
-31
-8
85
0
-20
-3
-18
10
-37
0
0
0
0
0
0
0
-30
46
27
20
-16
47
45
16
2
23
7
0
0
0
0
0
0
0
-71
-49
58
-1
38
-11
1
2
-5
0
0
0
0
0
0
0
0
0
27
10
-22
-37
-3
-32
-6
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
1
-25
2
-13
1
0
-72
0
-9
2
0
0
0
0
0
0
0
9
-18
54
-36
61
6
0
0
0
5
-1
0
0
0
0
0
0
-15
88
-52
-31
-97
9
0
-2
-13
33
0
0
0
0
0
0
0
4
-5
8
60
8
-77
9
0
-19
0
0
0
0
0
0
0
0
0
13
-29
-38
22
20
6
0
17
0
0
0
0
0
0
0
0
-20
42
46
-36
28
-7
0
-4
-20
0
0
0
0
0
0
0
0
0
-5
16
7
0
-1
6
0
1
0
0
0
0
0
0
0
0
0
2
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
15
8
16
0
1
1
0
-14
0
0
0
0
0
0
0
0
0
2
-2
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
32
62
37
-8
18
0
0
0
0
0
0
0
0
0
0
0
20
6
20
17
16
24
-9
0
29
0
0
0
0
0
0
0
0
28
9
54
31
-51
0
7
46
-13
0
0
0
0
0
0
0
0
39
35
5
11
27
23
1
-7
-25
0
0
0
0
0
0
0
0
-29
22
-18
4
17
7
29
-12
-73
0
0
0
0
0
0
0
0
32
8
23
-17
48
13
15
3
-23
0
0
0
0
0
0
0
0
-48
-11
-4
42
16
0
17
23
-11
0
0
0
0
0
0
0
0
0
-3
2
28
0
6
8
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
-29
62
-1
-10
7
47
68
-6
0
-10
0
0
0
0
0
0
0
-10
14
30
5
-3
-23
-38
0
14
0
0
0
0
0
0
0
0
-9
65
21
45
-23
-3
8
15
-20
17
0
0
0
0
0
0
0
22
3
46
29
-13
37
34
-53
8
8
0
0
0
0
0
0
0
-16
22
-3
11
41
10
-8
28
19
-28
0
0
0
0
0
0
0
14
38
-10
14
-14
34
6
22
-10
31
0
0
0
0
0
0
0
-36
26
-6
16
27
17
-3
14
-8
6
0
0
0
0
0
0
0
0
-1
-24
3
10
-28
30
-1
3
0
0
0
0
0
0
0
0
0
0
-4
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-3
31
15
-14
14
-73
2
0
36
29
0
0
0
0
0
0
46
-7
58
3
-8
-51
3
0
15
0
23
0
0
0
0
0
0
-19
-11
9
18
-23
-10
-28
-7
23
36
10
0
0
0
0
0
0
77
-15
9
-10
10
-27
14
-28
-19
0
-24
0
0
0
0
0
0
50
-5
27
19
-8
-29
12
-22
18
-22
14
0
0
0
0
0
0
0
-6
-29
15
24
-1
32
-19
-27
-58
-2
0
0
0
0
0
0
-16
20
24
41
-18
-31
-50
-4
38
-20
0
0
0
0
0
0
0
0
-22
-27
-27
52
52
10
-19
5
-11
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-36
-15
-1
31
4
3
-92
-19
0
0
30
0
0
0
0
0
0
-33
23
25
-3
-1
-34
4
0
-4
0
30
0
0
0
0
0
0
-10
19
19
11
1
-9
-7
-12
87
3
48
7
0
0
0
0
0
23
13
9
1
25
-22
34
-31
8
-11
11
2
0
0
0
0
0
-2
-20
-19
31
-3
-12
-7
3
-11
-35
-10
0
0
0
0
0
0
-1
-1
41
2
45
51
68
-25
42
16
1
0
0
0
0
0
0
-11
7
41
3
29
54
-16
29
-45
-6
5
-1
0
0
0
0
0
0
-2
14
1
0
7
-18
-1
-4
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
28
21
-18
-4
-6
-1
-16
-20
0
2
9
0
0
0
0
0
0
-2
-26
-6
17
-2
-18
-14
0
-19
0
-53
10
0
0
0
0
0
-10
-20
16
45
-4
10
-65
-21
18
-18
99
0
0
0
0
0
0
-7
16
11
20
-11
-2
-21
-6
-4
-27
1
-26
0
0
0
0
0
-1
-1
-23
-51
-20
-6
-4
31
18
-27
4
0
0
0
0
0
0
0
37
-13
-38
-5
-69
-48
11
3
52
-21
-7
0
0
0
0
0
0
-28
48
9
-7
13
-2
9
4
32
0
7
0
0
0
0
0
0
-3
25
40
2
-22
0
1
-7
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
50
17
8
82
20
11
1
0
0
1
0
0
0
0
0
0
-35
18
-64
8
19
-6
2
0
-61
0
-59
0
0
0
0
0
0
22
38
58
17
36
-32
-17
51
51
-26
-16
1
0
0
0
0
0
19
13
3
6
53
9
27
6
-35
-1
-1
0
2
0
0
0
0
-26
7
-5
13
-9
55
30
34
-19
8
40
-2
0
0
0
0
0
0
-19
32
50
10
-35
19
-28
26
31
0
0
0
0
0
0
0
0
-19
-4
6
-44
3
-1
0
0
1
0
0
0
0
0
0
0
0
0
12
-23
-7
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
5
-13
63
18
38
1
0
0
15
9
0
0
0
0
0
0
-17
1
12
-24
-148
-71
0
4
0
6
9
0
0
0
0
0
0
12
19
16
4
47
-123
-5
-50
-40
15
20
0
0
0
0
0
0
37
-14
80
-30
-57
-22
-2
35
6
3
0
0
0
0
0
0
0
-22
10
4
16
-11
-2
-3
-8
-23
-3
0
0
0
0
0
0
0
-40
16
6
85
-30
-15
-9
-6
14
-10
0
0
0
0
0
0
0
0
-25
-1
29
10
6
6
0
0
0
0
0
0
0
0
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
-2
0
-25
-4
-22
-4
0
0
0
0
0
0
0
0
0
0
0
-3
17
6
23
-1
0
-2
0
0
-7
0
0
0
0
0
0
0
16
-55
-7
41
-82
1
-28
3
0
0
0
0
0
0
0
0
-15
9
15
17
-45
0
-3
8
-7
-2
0
0
0
0
0
0
0
0
10
21
5
0
-15
0
1
-2
2
0
0
0
0
0
0
0
0
0
4
-2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-3
1
0
0
0
-6
2
0
0
0
0
0
0
0
3
9
-4
-54
29
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
-4
17
0
-11
0
0
0
0
0
0
0
0
0
4
-2
1
-27
1
0
3
0
3
-1
0
0
0
0
0
0
0
-3
-1
2
2
-18
16
-1
-3
-2
-2
0
0
0
0
0
0
0
0
0
7
-3
8
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
15
12
1
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
6
15
-38
0
-1
0
-1
1
0
0
0
0
0
0
0
1
11
-59
-12
-50
-20
-2
2
-51
12
0
0
0
0
0
0
0
-1
-19
4
1
6
-35
11
0
1
0
0
0
0
0
0
0
0
1
-27
-2
3
-30
36
0
0
-1
3
0
0
0
0
0
0
0
0
1
-4
-26
-5
-2
0
0
2
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
2
3
0
0
0
0
0
0
0
-7
-6
-13
-12
0
1
0
2
3
0
0
0
0
0
0
0
0
0
0
-9
-1
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-13
-21
27
0
0
0
0
0
0
0
0
0
0
0
-15
14
46
63
22
16
9
0
-26
0
0
0
0
0
0
0
0
-25
-19
12
-7
-19
-21
46
25
-5
0
0
0
0
0
0
0
0
38
26
-41
28
33
14
-96
40
-4
0
0
0
0
0
0
0
0
-3
-43
4
-29
14
85
22
-15
25
0
0
0
0
0
0
0
0
-8
70
7
8
41
-67
14
0
-18
0
0
0
0
0
0
0
0
0
11
32
2
11
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
-37
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
51
12
-5
-13
7
-34
-52
18
0
-2
0
0
0
0
0
0
0
-39
-30
14
33
3
12
-18
0
103
0
0
0
0
0
0
0
0
33
43
38
-15
-25
5
-19
-12
17
-22
0
0
0
0
0
0
0
-9
38
-7
-9
15
-30
-3
6
-10
-29
0
0
0
0
0
0
0
57
-21
-10
2
26
5
-5
-44
-14
-48
0
0
0
0
0
0
0
-9
-40
-2
16
19
-7
33
-35
43
-14
0
0
0
0
0
0
0
0
43
4
16
-27
-66
-20
-11
-22
-3
0
0
0
0
0
0
0
0
7
-28
27
-31
-10
6
3
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
12
10
33
20
-59
-36
-39
0
46
1
0
0
0
0
0
0
-80
-9
17
7
13
-4
-8
0
23
0
46
0
0
0
0
0
0
-17
45
57
11
-7
6
24
55
-3
-21
29
0
0
0
0
0
0
-15
39
15
24
-7
3
-14
-45
-20
12
-1
0
0
0
0
0
0
-31
20
16
-6
12
-15
-27
-40
-12
20
-12
0
0
0
0
0
0
0
-19
4
4
36
-12
25
9
29
-21
2
0
0
0
0
0
0
0
-72
21
26
47
5
26
-99
21
-13
0
0
0
0
0
0
0
0
13
24
-12
11
55
-20
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
44
17
22
20
-15
15
-3
-3
0
-5
-13
0
0
0
0
0
0
33
-6
72
-20
15
18
-54
0
-37
0
41
1
0
0
0
0
0
-23
-1
-19
24
-29
1
40
21
31
-5
-42
-3
0
0
0
0
0
-16
13
37
34
3
12
34
11
2
-72
-63
-1
0
0
0
0
0
-8
0
4
2
29
3
48
34
20
17
-54
0
0
0
0
0
0
-5
-14
-27
23
44
54
-37
12
-17
42
0
0
0
0
0
0
0
0
41
24
-12
-50
52
5
-72
6
0
0
0
0
0
0
0
0
0
0
-18
28
-8
10
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
2
72
-11
-14
-5
-31
10
-3
0
4
-1
0
0
0
0
0
0
19
-4
-33
-4
-26
-35
-2
0
0
0
17
-13
0
0
0
0
0
27
14
-58
-2
-13
51
-4
53
-51
27
4
-9
0
0
0
0
0
-106
27
-6
-5
29
-2
-9
46
-21
1
-11
-7
0
0
0
0
0
6
-66
31
9
-13
18
-10
-3
-4
2
-9
-3
0
0
0
0
0
3
67
-50
-41
-14
-11
-80
19
-13
-49
0
0
0
0
0
0
0
0
18
2
12
17
0
20
19
7
-2
0
0
0
0
0
0
0
0
0
-1
-54
4
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
1
6
-71
-44
-18
-59
-14
-16
0
-3
19
0
0
0
0
0
0
18
-46
-6
23
-7
0
43
0
1
0
13
0
0
0
0
0
0
-40
37
-28
-12
-63
-2
34
29
18
38
8
1
0
0
0
0
0
93
70
0
-7
-25
-43
-20
14
-22
23
11
1
0
0
0
0
0
-5
58
-34
-5
14
-15
0
-8
-13
-31
2
2
-2
0
0
0
0
0
1
59
-24
-60
-10
22
10
-2
16
-3
0
0
0
0
0
0
0
6
57
1
9
2
-9
1
-4
15
0
0
0
0
0
0
0
0
3
0
43
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-58
-1
-33
5
-37
12
0
-1
-11
0
0
0
0
0
0
0
-25
27
-37
11
-89
-19
0
8
0
-7
7
0
0
0
0
0
0
42
41
34
5
-11
8
-31
-12
-12
-42
1
0
0
0
0
0
0
2
38
-43
22
-19
62
51
19
-2
-3
0
-1
0
0
0
0
0
-11
-9
-24
-18
5
38
14
-56
10
0
1
0
0
0
0
0
0
-5
32
-48
18
-10
-19
27
0
-1
0
0
0
0
0
0
0
0
0
-5
45
-12
-17
3
0
3
0
0
0
0
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-6
10
-2
35
0
-1
0
1
-4
0
0
0
0
0
0
0
0
15
14
-13
-48
-12
0
2
0
2
0
0
0
0
0
0
1
2
40
9
13
-80
-42
2
-21
-8
-38
0
0
0
0
0
0
-12
1
-25
-81
-10
9
-82
18
17
2
0
6
0
0
0
0
0
0
0
7
-3
6
7
-1
2
-2
6
4
0
0
0
0
0
0
0
-1
-1
0
0
-15
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
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
28
19
3
-1
10
0
0
0
1
0
0
0
0
0
0
-19
27
45
-6
88
9
-12
0
-6
0
-1
0
0
0
0
0
0
1
-41
55
63
-30
-9
-29
-32
3
-23
3
0
0
0
0
0
0
36
28
10
-66
31
2
20
-25
32
-8
-2
3
0
0
0
0
0
0
6
2
12
21
46
4
-18
-6
-3
0
0
0
0
0
0
0
0
-11
1
-3
20
1
9
-2
2
0
0
0
0
0
0
0
0
0
-6
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-32
37
5
-33
-39
9
0
-54
3
0
0
0
0
0
0
0
61
-1
-7
-12
37
-38
0
-1
0
1
0
2
0
0
0
0
0
-48
-14
2
4
34
53
36
-51
-32
13
0
3
0
0
0
0
0
-17
-24
-47
15
-40
-6
-59
29
7
-26
-2
0
0
0
0
0
0
-24
20
-7
-37
-9
-14
26
-26
26
0
0
0
0
0
0
0
0
-26
-19
20
30
-63
12
1
4
-9
3
0
0
0
0
0
0
0
0
28
1
-45
4
12
0
0
3
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
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-6
0
2
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-2
8
1
-1
0
0
-2
0
0
0
0
0
0
0
0
4
0
-2
0
1
-19
0
-1
0
0
0
0
0
0
0
0
0
0
1
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
73
-4
-58
13
0
0
0
0
0
0
0
0
0
0
0
12
53
-30
26
-18
-67
15
0
-46
0
0
0
0
0
0
0
0
21
20
4
-38
-14
-24
0
23
-16
0
0
0
0
0
0
0
0
-9
61
-7
57
66
8
36
-1
16
0
0
0
0
0
0
0
0
0
-17
8
-19
48
-48
7
-27
-31
0
0
0
0
0
0
0
0
0
-8
28
2
40
-15
50
0
-2
0
0
0
0
0
0
0
0
2
19
22
-7
-28
0
0
0
9
0
0
0
0
0
0
0
0
0
-2
10
22
0
3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
42
-5
6
0
2
-21
72
-7
0
-3
0
0
0
0
0
0
0
6
1
29
18
-26
-27
0
0
48
0
0
0
0
0
0
0
0
-43
68
34
14
-11
5
-22
8
21
40
0
0
0
0
0
0
0
35
20
35
19
3
10
36
-44
8
-41
0
0
0
0
0
0
0
-5
-8
-30
11
7
25
-47
12
-38
-28
0
0
0
0
0
0
0
28
-1
-29
-47
-24
-35
-25
-8
-60
-10
0
0
0
0
0
0
0
0
-7
6
44
-9
14
-65
-14
-1
-8
0
0
0
0
0
0
0
0
13
-58
-66
-13
-16
-4
-6
-2
0
0
0
0
0
0
0
0
0
38
10
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
39
23
-46
15
22
3
0
6
-2
0
0
0
0
0
0
9
-48
85
39
-13
-27
51
0
-1
0
36
0
0
0
0
0
0
-9
22
3
65
-5
31
-30
-24
51
17
13
0
0
0
0
0
0
-39
6
-27
-13
-5
32
-23
4
-63
26
1
0
0
0
0
0
0
-70
-15
8
19
17
-20
7
-5
-34
9
-1
0
0
0
0
0
0
0
-1
-1
6
-19
-19
24
-25
-45
8
1
0
0
0
0
0
0
-23
-30
34
-58
-60
-70
68
-28
19
-10
-1
0
0
0
0
0
0
0
-10
-53
-39
1
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
47
55
-4
26
-74
-7
0
1
7
1
0
0
0
0
0
-54
-84
0
22
59
34
54
0
12
0
-25
0
0
0
0
0
0
-27
-19
35
-3
39
10
-30
-28
34
19
10
2
0
0
0
0
0
65
-23
30
55
15
4
-16
69
-9
30
24
8
0
0
0
0
0
-7
10
-26
14
29
1
-1
-41
18
-20
4
0
0
0
0
0
0
5
-7
-15
-50
-30
-40
-6
-6
-46
-25
3
0
0
0
0
0
0
0
-7
-62
59
-6
41
-26
-13
4
0
-1
0
0
0
0
0
0
0
0
-3
-15
8
14
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
11
-13
58
6
18
-12
8
0
-2
7
0
0
0
0
0
0
-5
8
-3
8
-21
-6
4
0
38
0
25
0
0
0
0
0
0
-45
-22
-11
27
26
16
0
35
37
38
-17
-16
0
0
0
0
0
-17
-86
19
44
-35
38
7
-6
66
-44
26
0
0
0
0
0
0
-3
-55
0
6
-1
20
-54
-63
12
-42
-1
0
0
0
0
0
0
0
-64
-42
6
13
24
-11
-48
-47
-11
-1
0
0
0
0
0
0
0
2
-54
-43
-57
14
5
-8
41
1
0
0
0
0
0
0
0
0
-14
-32
-63
39
4
-3
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
53
57
34
8
55
20
1
0
0
3
0
0
0
0
0
0
0
63
-10
-16
32
-29
-32
0
7
0
-16
0
0
0
0
0
0
13
9
22
-34
20
-37
-11
15
30
10
-27
0
0
0
0
0
0
-18
79
6
6
-77
-24
13
-34
-50
-24
3
-3
0
0
0
0
0
-2
28
-23
-35
-56
-23
-38
0
32
-32
-3
1
0
0
0
0
0
0
-45
-5
-50
5
25
42
-31
-29
-2
-8
0
0
0
0
0
0
0
-2
-30
23
-37
50
-10
46
1
0
8
0
0
0
0
0
0
0
-4
-20
3
-21
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
-4
-19
-10
12
0
0
0
0
0
0
0
0
0
0
0
-3
51
2
19
27
17
0
0
0
4
-1
0
0
0
0
0
0
-29
-5
-19
58
60
7
-14
13
-50
5
-8
0
0
0
0
0
0
-39
-4
4
51
-24
-1
1
-5
-24
-2
0
0
0
0
0
0
0
0
8
41
-5
36
20
-40
-1
-23
0
3
0
0
0
0
0
0
51
-6
-10
-39
40
15
-4
1
11
4
0
0
0
0
0
0
0
0
4
-19
6
-11
-12
10
0
0
0
0
0
0
0
0
0
0
0
-4
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
-3
-42
-9
2
0
-6
0
0
0
0
0
0
0
0
0
0
1
17
-3
-30
-17
10
47
0
0
0
-8
0
0
0
0
0
0
-15
-7
-79
4
-18
14
-12
3
-15
12
0
0
1
0
0
0
0
0
-21
-21
-24
14
1
36
0
-16
0
1
-3
0
0
0
0
0
0
-7
-2
-40
0
-43
-8
8
2
0
-3
0
0
0
0
0
0
0
0
-4
0
23
-10
8
-6
0
0
0
0
0
0
0
0
0
0
3
0
-1
-10
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
10
30
-19
46
-16
-21
0
0
0
2
0
0
0
0
0
0
17
1
10
20
28
-15
-9
0
2
0
2
0
0
0
0
0
0
-9
14
24
33
-53
51
-26
-28
23
14
-7
0
0
0
0
0
0
15
-23
-11
38
31
-31
26
11
2
1
2
0
0
0
0
0
0
-28
31
-13
-25
-31
-2
15
-7
-54
0
2
0
0
0
0
0
0
0
15
-65
-28
9
-32
9
9
-4
0
0
0
0
0
0
0
0
0
-4
17
9
35
0
8
0
6
0
0
0
0
0
0
0
0
0
1
0
-24
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-35
-34
-4
17
19
-15
0
23
0
0
0
0
0
0
0
0
11
-5
13
5
-26
-9
0
1
0
0
-1
0
0
0
0
0
0
56
43
13
-19
31
-15
0
29
-19
-12
0
0
0
0
0
0
0
21
2
37
34
78
28
-80
-6
1
1
0
0
0
0
0
0
0
-6
33
0
3
-33
-38
-7
2
57
0
0
0
0
0
0
0
0
27
-33
5
52
-51
-42
23
0
1
0
0
0
0
0
0
0
0
1
27
-20
-14
9
-57
-11
0
2
0
0
0
0
0
0
0
0
0
21
-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
-8
0
4
-2
0
3
0
0
13
0
0
0
0
0
0
0
0
0
4
-7
1
-11
0
0
0
3
-1
0
0
0
0
0
0
0
0
-1
-4
-15
-1
-1
0
0
12
0
0
0
0
0
0
0
0
0
16
-2
20
-1
3
0
0
0
-6
0
0
0
0
0
0
0
0
0
-22
2
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
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-18
12
-16
1
0
0
0
0
0
0
0
0
0
0
0
-15
16
-13
16
14
-31
-5
0
-13
0
0
0
0
0
0
0
0
-18
-18
52
8
-6
24
2
1
1
0
0
0
0
0
0
0
0
-10
9
2
10
-15
-34
7
3
-45
0
0
0
0
0
0
0
0
0
-2
-1
41
36
0
3
-1
-79
0
0
0
0
0
0
0
0
-14
-12
10
-1
-2
11
-41
-26
-11
0
0
0
0
0
0
0
0
2
-7
31
6
-32
0
0
-27
1
0
0
0
0
0
0
0
0
0
-50
-3
47
0
10
-12
-6
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
45
51
21
4
-26
12
20
0
0
-1
0
0
0
0
0
0
0
59
6
28
0
13
-24
-15
0
-7
0
0
0
0
0
0
0
0
-25
30
59
10
11
-30
62
32
74
-13
0
0
0
0
0
0
0
-12
-31
77
7
-2
-65
2
11
-6
23
0
0
0
0
0
0
0
-10
0
-7
-33
-8
4
4
-18
-13
-63
0
0
0
0
0
0
0
-20
17
3
-41
36
-11
3
13
-11
1
0
0
0
0
0
0
0
4
-66
16
3
22
19
79
-50
-14
-38
0
0
0
0
0
0
0
0
34
37
-61
10
14
-1
0
-2
2
0
0
0
0
0
0
0
0
1
-33
0
12
0
0
0
0
0
0
0
0
0
0
0
0
-9
27
58
0
35
-3
45
-2
0
-16
0
0
0
0
0
0
0
0
-14
57
19
-18
12
18
0
25
0
-26
0
0
0
0
0
0
14
25
31
14
25
-25
12
36
-43
27
4
0
0
0
0
0
0
15
-17
43
14
21
-13
-8
61
-29
-90
9
0
0
0
0
0
0
-6
-4
0
55
-33
-20
-8
-95
92
-16
2
0
0
0
0
0
0
0
-39
53
9
3
-18
-63
-51
0
-29
10
0
0
0
0
0
0
0
-59
-43
40
-33
8
49
8
-19
-7
0
0
0
0
0
0
0
0
-34
-13
14
-41
-36
11
-8
1
2
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
49
-23
10
-25
-27
-45
-6
0
0
3
0
0
0
0
0
0
10
15
29
29
6
6
28
0
-2
0
15
4
0
0
0
0
0
40
-7
-14
19
47
48
18
-32
-3
39
-16
-3
0
0
0
0
0
2
58
-25
44
55
30
12
-5
-6
35
10
-2
0
0
0
0
0
-72
-72
5
0
55
11
6
16
35
-31
-9
0
0
0
0
0
0
1
73
-29
10
74
38
41
2
-43
-20
3
0
0
0
0
0
0
0
-2
-41
-1
-14
17
35
-8
5
0
0
0
0
0
0
0
0
0
-1
10
0
-40
13
2
-4
0
0
0
0
0
0
0
0
0
0
-15
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-6
64
-14
19
2
-8
0
-2
0
1
0
0
0
0
0
-4
-10
-61
7
25
46
26
0
5
0
-8
2
0
0
0
0
0
1
2
-16
19
-14
72
14
-6
-8
7
13
-17
0
0
0
0
0
7
11
-40
20
-5
-19
79
94
-14
-26
-4
-1
0
0
0
0
0
2
-13
31
-19
1
6
-14
66
-22
2
0
0
0
0
0
0
0
0
-27
52
23
-10
35
48
-16
13
-40
-4
1
0
0
0
0
0
0
-16
33
19
-44
-34
22
-41
7
-4
0
0
0
0
0
0
0
0
1
0
-32
-22
14
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
10
0
0
0
0
0
0
0
0
0
-1
16
-17
-7
9
21
23
-1
0
0
0
0
0
0
0
0
0
2
67
-21
-22
38
70
-30
0
-1
0
11
-6
0
0
0
0
0
9
-60
56
-24
49
8
-44
-18
16
17
24
0
0
0
0
0
0
-16
53
86
11
42
31
29
24
10
11
-3
0
0
0
0
0
0
-7
-31
-28
74
52
0
33
2
-10
-48
36
0
0
0
0
0
0
0
-31
-56
48
-15
-17
8
-4
-5
-35
-1
0
0
0
0
0
0
0
10
-42
-85
-7
-38
37
4
10
0
0
0
0
0
0
0
0
0
3
2
-14
14
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
21
80
-10
5
4
-2
3
0
0
0
0
0
0
0
0
0
0
2
-25
58
9
69
27
0
1
0
-15
-1
0
0
0
0
0
0
8
76
-28
-38
37
5
3
-8
-12
0
-1
0
0
0
0
0
0
23
0
-10
-38
-4
15
6
-15
-56
1
2
0
0
0
0
0
0
5
24
-3
-25
48
0
17
-18
54
0
-3
0
0
0
0
0
0
-12
-6
17
-29
-5
-8
-8
0
-9
0
0
0
0
0
0
0
0
0
-3
17
-67
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
-7
20
-2
1
-13
0
0
0
0
0
0
0
0
0
0
1
-23
-22
97
-1
-79
-4
0
-3
0
6
0
0
0
0
0
0
-39
-21
17
7
6
27
-11
-37
9
2
4
0
0
0
0
0
0
3
27
-11
81
-66
9
-9
1
-32
-8
-3
0
0
0
0
0
0
21
47
-11
-21
15
60
5
0
-1
9
0
0
0
0
0
0
0
0
4
0
-20
-41
-22
-17
2
0
2
0
0
0
0
0
0
0
-2
0
-20
4
3
18
1
1
-7
0
0
0
0
0
0
0
0
0
0
0
-3
0
11
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
-4
-11
-40
2
13
-15
-4
0
0
0
0
0
0
0
0
0
0
44
1
-39
-11
47
-24
52
0
1
0
0
1
0
0
0
0
0
-27
-34
-27
-21
18
-11
10
5
-71
-97
0
0
0
0
0
0
0
-10
23
-64
32
-20
-13
-41
37
-8
-7
0
0
0
0
0
0
0
113
7
-2
21
16
13
0
4
0
-18
0
0
0
0
0
0
0
-11
7
-81
-57
-72
-38
-14
29
-28
10
0
0
0
0
0
0
0
-5
10
73
78
-13
-24
-40
2
0
-5
0
0
0
0
0
0
0
0
0
-12
4
5
19
-1
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
-3
-40
19
40
-34
25
-3
0
-2
-3
0
0
0
0
0
0
0
12
34
-14
37
-20
-54
0
8
0
1
0
0
0
0
0
0
0
-6
-38
31
-41
-34
55
6
-4
-20
1
0
0
0
0
0
0
0
-1
87
0
10
27
-10
-2
-16
-57
-2
0
0
0
0
0
0
0
-40
31
-23
-4
-18
-27
10
-29
0
-7
0
0
0
0
0
0
0
12
27
28
-3
-30
33
23
-16
52
0
0
0
0
0
0
0
0
24
59
11
-77
2
38
6
2
0
0
0
0
0
0
0
0
0
-2
4
-27
-14
3
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
0
0
0
0
5
0
0
0
0
0
0
0
0
-9
-3
21
0
-4
0
0
0
4
0
0
0
0
0
0
0
0
0
-12
-8
4
0
3
0
-1
1
0
0
0
0
0
0
0
0
2
0
0
-10
-2
0
-1
-3
3
0
0
0
0
0
0
0
0
0
2
-1
-1
7
9
-1
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
-9
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-2
1
-1
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
4
5
6
-3
-13
3
0
0
0
0
0
0
0
0
0
0
6
-13
-28
-23
57
11
0
-25
-7
0
0
0
0
0
0
0
0
0
20
8
28
-1
-11
-11
0
-56
0
0
0
0
0
0
0
0
29
-23
-37
34
88
-12
18
4
12
0
0
0
0
0
0
0
0
0
-8
7
-11
-3
-25
4
43
-11
0
0
0
0
0
0
0
0
1
25
-7
10
7
2
0
0
11
0
0
0
0
0
0
0
0
0
-7
0
14
0
2
-11
4
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
56
-2
-1
19
26
33
-1
0
-7
0
0
0
0
0
0
0
-21
0
32
26
62
-41
-38
0
-7
0
0
0
0
0
0
0
0
-19
-1
37
5
67
-2
-3
-34
4
-4
0
0
0
0
0
0
0
-35
-23
-3
59
19
-7
11
11
50
-21
0
0
0
0
0
0
0
-14
41
17
31
2
39
-85
79
44
2
0
0
0
0
0
0
0
-1
0
-24
-21
-3
10
29
-25
2
31
0
0
0
0
0
0
0
5
5
-19
15
38
-2
-14
-3
-31
3
0
0
0
0
0
0
0
0
-84
12
56
53
-18
2
12
4
0
0
0
0
0
0
0
0
0
-2
20
3
1
0
0
0
0
0
0
0
0
0
0
0
0
21
-2
36
43
26
42
-30
42
0
0
1
0
0
0
0
0
0
-1
67
17
53
14
24
16
0
0
0
22
0
0
0
0
0
0
-17
3
54
20
13
-11
61
36
-13
46
6
0
0
0
0
0
0
0
14
-14
61
34
-11
51
54
22
-93
7
0
0
0
0
0
0
22
22
121
-21
-6
-5
13
-16
-13
-21
-16
0
0
0
0
0
0
1
-17
0
15
11
-26
14
46
-16
-14
3
0
0
0
0
0
0
0
5
-31
9
30
-8
60
-59
29
-1
0
0
0
0
0
0
0
0
-63
68
22
-65
-38
5
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
-19
-81
9
26
21
-11
9
-1
0
0
5
0
0
0
0
0
0
7
-19
3
-10
20
45
34
0
0
0
-9
0
0
0
0
0
0
-15
-1
28
73
60
98
14
-27
37
15
-26
-4
0
0
0
0
0
-43
30
-53
-74
25
21
49
18
62
25
4
0
0
0
0
0
0
-15
-7
33
20
10
30
18
32
12
-36
50
0
0
0
0
0
0
-35
-12
5
0
5
7
25
-6
-19
14
-1
0
0
0
0
0
0
-16
-23
-12
10
-49
80
46
31
-53
0
0
0
0
0
0
0
0
0
-2
26
-23
4
0
-26
0
0
0
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
13
-24
59
64
26
16
4
0
0
3
0
0
0
0
0
0
0
-9
-8
3
-14
63
67
0
9
0
-4
2
0
0
0
0
0
-4
8
-15
-20
33
-47
17
4
-37
57
0
0
0
0
0
0
0
0
-4
44
31
-66
35
21
31
-2
-43
6
0
0
0
0
0
0
-38
-7
18
-1
14
1
2
52
-8
86
2
-3
0
0
0
0
0
0
-3
-14
-62
0
43
46
-12
4
-1
0
0
0
0
0
0
0
0
-15
16
-28
28
56
47
2
-57
0
0
0
0
0
0
0
0
0
-17
31
5
2
-11
-7
1
0
0
0
0
0
0
0
0
0
0
0
1
-1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
10
-26
-56
21
-9
-4
0
0
1
0
0
0
0
0
0
0
50
25
24
44
14
-8
0
-2
0
8
0
0
0
0
0
0
-1
30
55
21
35
-11
-1
10
-25
-5
-6
0
0
0
0
0
0
0
28
36
-61
-19
108
86
-1
6
-5
6
0
0
0
0
0
0
10
40
-74
-5
11
16
34
5
-3
-36
1
0
0
0
0
0
0
1
-47
30
-26
-10
0
29
-18
-26
0
0
0
0
0
0
0
0
1
-1
21
-24
19
27
2
-3
24
-1
0
0
0
0
0
0
0
0
1
-3
-7
-4
9
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
29
14
33
7
20
16
-1
0
0
1
0
0
0
0
0
0
0
41
-32
35
-17
-23
12
0
0
0
0
0
0
0
0
0
0
0
4
-17
-29
35
4
154
7
1
-11
0
0
0
0
0
0
0
0
30
12
-62
-6
13
12
18
-1
-7
0
0
0
0
0
0
0
0
20
9
-11
-71
15
-8
28
-3
-2
0
0
0
0
0
0
0
0
58
-19
49
12
70
0
0
1
-6
0
0
0
0
0
0
0
0
1
-39
-23
-65
-13
-16
0
-4
0
0
0
0
0
0
0
0
0
0
2
-22
-12
-51
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-10
6
2
0
1
0
0
-1
0
0
0
0
0
0
0
-19
2
5
-3
-8
-8
0
1
0
0
0
0
0
0
0
0
-2
-3
-54
-21
-4
-54
10
-3
-6
0
-8
0
0
0
0
0
0
-1
19
-6
-45
-3
1
7
-20
0
0
0
0
0
0
0
0
0
13
3
30
-20
48
-12
19
0
-62
0
0
0
0
0
0
0
0
0
18
0
18
16
-2
-24
0
0
0
0
0
0
0
0
0
0
-4
0
0
7
16
3
0
6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-59
-8
10
14
20
0
0
0
0
0
0
0
0
0
0
-1
46
-16
12
51
-3
-3
0
1
0
0
0
0
0
0
0
0
29
-8
8
7
-3
24
-66
-28
-81
-10
0
0
0
0
0
0
0
-8
39
8
25
23
-2
-50
-91
26
26
0
0
0
0
0
0
0
-25
-83
-19
25
-25
-16
0
-8
-28
6
0
0
0
0
0
0
0
-27
38
13
-45
-29
27
36
0
0
11
0
0
0
0
0
0
0
7
14
-7
-25
-5
34
20
7
10
0
0
0
0
0
0
0
0
0
14
24
-1
-30
-7
7
3
3
0
0
0
0
0
0
0
0
0
-15
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
50
-7
25
-1
0
-2
0
11
0
0
0
0
0
0
0
0
37
-9
-22
-44
2
-2
0
-2
0
0
0
0
0
0
0
0
0
-22
-8
33
-35
-8
58
-1
2
-35
-1
0
0
0
0
0
0
0
66
15
-17
138
3
40
-49
-7
0
-2
0
0
0
0
0
0
0
-3
-1
18
-35
64
-55
-5
-26
-35
0
0
0
0
0
0
0
0
76
-11
-24
4
-8
31
-1
9
0
0
0
0
0
0
0
0
0
0
-7
-28
-47
-74
-40
-3
3
-1
0
0
0
0
0
0
0
0
-5
23
-4
7
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
4
0
0
0
0
-18
0
0
0
0
0
0
0
0
-12
-18
0
7
7
1
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
0
0
-10
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
6
6
0
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
13
-17
29
1
0
0
-1
0
0
0
0
0
0
0
0
-25
0
27
2
7
4
0
1
0
0
0
0
0
0
0
0
0
1
-8
-11
8
39
37
0
0
17
0
0
0
0
0
0
0
0
15
4
20
2
-46
9
-3
0
3
0
0
0
0
0
0
0
0
0
8
-13
-76
-12
-5
6
-1
3
0
0
0
0
0
0
0
0
0
0
33
0
9
2
0
0
-3
0
0
0
0
0
0
0
0
0
12
0
0
0
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
19
-19
31
53
0
0
0
0
0
0
0
0
0
0
-1
69
58
9
32
67
7
0
-1
0
0
0
0
0
0
0
0
42
33
57
42
60
42
-120
0
-7
21
0
0
0
0
0
0
0
7
17
18
54
-2
-31
-30
-31
29
-44
0
0
0
0
0
0
0
13
7
17
3
-7
52
-16
0
-27
-21
0
0
0
0
0
0
0
-10
75
55
-30
10
-23
15
42
12
-39
0
0
0
0
0
0
0
13
0
-10
29
43
-8
-46
-10
17
-64
0
0
0
0
0
0
0
0
84
30
6
14
8
2
4
1
7
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
39
23
48
-18
58
29
-2
0
6
0
0
0
0
0
0
0
0
-30
19
9
13
-15
26
0
2
0
3
0
0
0
0
0
0
-16
-26
-26
35
8
-17
-39
-8
13
40
-3
0
0
0
0
0
0
0
25
-26
-11
15
3
22
8
-57
62
-9
0
0
0
0
0
0
-9
29
41
12
-4
6
51
-31
-70
-32
23
0
0
0
0
0
0
0
-3
1
-5
-7
-27
-59
-81
53
-16
0
0
0
0
0
0
0
-4
0
0
-14
17
2
-17
-62
-44
4
0
0
0
0
0
0
0
0
1
-5
-2
31
-15
0
2
0
-16
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
26
-39
25
-39
21
2
0
0
-1
0
0
0
0
0
0
0
11
53
22
-20
-28
-25
0
7
0
0
0
0
0
0
0
0
-27
-3
14
1
-2
44
-34
-21
-2
14
-39
0
0
0
0
0
0
0
49
-11
64
31
-53
-10
-1
12
1
25
3
0
0
0
0
0
-2
-4
-32
-13
41
57
53
2
8
15
1
0
0
0
0
0
0
10
10
10
-15
19
52
10
-9
34
16
-10
0
0
0
0
0
0
-3
-21
-61
0
39
38
27
28
-16
24
0
0
0
0
0
0
0
0
2
3
-15
-5
-78
-8
2
0
0
0
0
0
0
0
0
0
0
0
41
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-42
29
-14
56
30
6
0
0
0
0
0
0
0
0
0
-7
-47
5
-39
-62
6
16
0
0
0
0
0
0
0
0
0
0
-6
-9
42
46
25
37
-24
0
12
7
0
0
0
0
0
0
0
0
-43
-39
20
21
-31
19
0
-5
25
-9
0
0
0
0
0
0
-26
39
37
26
-21
2
-10
-7
11
42
0
0
0
0
0
0
0
0
-14
-13
57
16
75
15
-31
-20
-53
3
-1
0
0
0
0
0
0
3
-38
21
0
-23
33
-48
32
-1
0
0
0
0
0
0
0
0
23
-3
-39
22
5
18
0
-20
-3
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
29
35
-12
46
4
0
0
0
0
0
0
0
0
0
1
-32
44
-20
27
-4
25
0
-2
0
0
0
0
0
0
0
0
2
18
38
74
31
37
-69
0
1
35
-2
0
0
0
0
0
0
-2
16
9
17
-42
-5
-1
32
-17
-38
0
0
0
0
0
0
0
3
-3
-21
-8
-58
-11
-1
1
0
11
-25
0
0
0
0
0
0
1
-8
-6
-3
-37
5
-20
50
3
-7
-1
0
0
0
0
0
0
0
2
37
-10
-74
0
-5
9
41
-14
0
0
0
0
0
0
0
0
-4
0
24
19
33
-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
9
2
-12
-8
-8
1
0
0
0
0
0
0
0
0
0
0
-21
58
-29
28
-13
2
0
0
0
0
0
0
0
0
0
0
0
9
14
16
-45
26
11
-1
0
-7
-1
0
0
0
0
0
0
0
-1
12
-67
-12
-5
32
29
0
0
0
0
0
0
0
0
0
0
2
-11
-30
30
16
-15
-2
7
-10
0
0
0
0
0
0
0
0
-17
-3
21
-44
4
4
-12
1
10
0
0
0
0
0
0
0
0
0
23
-6
-43
-21
0
-32
-38
-15
0
0
0
0
0
0
0
0
0
3
-29
-28
27
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
-7
-23
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-8
21
0
8
0
0
0
2
0
0
0
0
0
0
-19
0
-46
-2
-26
7
0
0
-1
-1
0
0
0
0
0
0
0
0
28
-8
-7
-14
-24
3
-3
-13
0
0
0
0
0
0
0
0
0
-12
21
-18
28
8
16
-1
-3
0
0
0
0
0
0
0
0
0
-14
-8
-73
12
6
-1
-4
-1
-7
0
0
0
0
0
0
0
0
0
-27
2
-21
0
-16
0
-6
0
0
0
0
0
0
0
0
0
10
0
-54
-2
-7
0
8
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-29
11
-33
-8
26
-2
0
0
0
0
0
0
0
0
0
0
-49
32
-10
-22
1
8
0
0
0
0
0
0
0
0
0
0
-3
-57
0
-51
-58
5
6
27
-3
-24
0
0
0
0
0
0
0
0
10
-6
15
19
-47
-22
3
12
42
0
0
0
0
0
0
0
29
-13
-28
-37
15
68
-10
29
5
-34
0
0
0
0
0
0
0
0
-23
38
-59
-16
-4
-25
10
3
16
0
0
0
0
0
0
0
0
3
19
13
-27
7
-6
0
0
-20
0
0
0
0
0
0
0
0
-106
-34
90
-19
20
-1
-22
-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
-41
-18
-4
14
1
0
0
0
-8
0
0
0
0
0
0
0
-36
-25
43
-34
6
4
0
0
0
0
0
0
0
0
0
0
0
0
-11
-33
11
-6
-12
3
0
7
0
0
0
0
0
0
0
0
23
25
-29
6
27
38
20
0
12
0
0
0
0
0
0
0
0
2
4
24
14
-10
-69
12
10
-27
0
0
0
0
0
0
0
0
3
-3
-50
22
12
-82
15
-1
-8
0
0
0
0
0
0
0
0
-43
-25
42
15
-10
106
-21
-9
0
-1
0
0
0
0
0
0
0
0
-11
0
18
-19
2
26
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
4
0
0
-4
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
7
1
4
0
0
0
0
0
0
0
0
0
0
0
-11
3
54
0
-2
2
0
0
6
0
0
0
0
0
0
0
0
1
61
0
46
-1
7
0
0
-20
0
0
0
0
0
0
0
0
27
0
5
-16
-19
-13
0
6
-4
0
0
0
0
0
0
0
0
0
102
4
49
0
43
-37
-11
1
0
0
0
0
0
0
0
0
0
2
-30
0
1
2
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
-7
0
-5
0
3
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
-47
17
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
23
0
36
1
12
-8
0
0
0
0
0
0
0
0
0
0
9
0
-16
-1
-45
14
0
7
58
5
0
0
0
0
0
0
0
-16
22
11
18
-42
97
84
-10
79
-26
0
0
0
0
0
0
0
15
-2
84
98
-38
19
-33
10
22
13
0
0
0
0
0
0
0
0
28
-15
34
34
-45
8
15
-9
-11
0
0
0
0
0
0
0
-26
2
26
30
-34
4
-2
8
-49
0
0
0
0
0
0
0
0
0
0
1
-11
12
21
-27
-6
-1
-4
0
0
0
0
0
0
0
0
-36
10
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-6
32
-1
8
0
0
0
0
0
0
0
0
0
0
0
-70
6
20
-21
11
9
0
0
0
0
0
0
0
0
0
0
-3
2
10
-19
9
88
23
-3
2
-30
0
0
0
0
0
0
0
0
-27
29
25
33
-5
70
-47
-2
-28
0
0
0
0
0
0
0
0
-19
32
33
-12
24
21
1
7
4
-1
0
0
0
0
0
0
0
-15
-54
-31
-92
-12
-41
18
-22
86
0
0
0
0
0
0
0
2
-4
33
14
-14
-33
-12
-21
-31
14
0
0
0
0
0
0
0
0
18
0
-12
30
23
-18
-20
0
-2
0
0
0
0
0
0
0
0
-3
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
-38
0
-21
0
0
0
3
0
0
0
0
0
0
0
-34
-1
15
-4
9
0
0
0
0
-1
0
0
0
0
0
0
37
8
65
17
27
2
3
-3
10
-16
0
0
0
0
0
0
0
0
73
7
-34
-10
38
-45
-15
0
0
3
0
0
0
0
0
0
-19
1
79
24
-29
10
17
18
-1
3
0
0
0
0
0
0
0
0
-16
2
-24
-1
-8
-25
-1
12
0
0
0
0
0
0
0
0
-1
0
-17
38
-52
7
-36
-7
-53
0
0
0
0
0
0
0
0
0
-17
-10
0
-13
7
0
-22
0
-14
0
0
0
0
0
0
0
0
0
-7
2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
44
0
2
-53
6
0
0
0
0
0
0
0
0
0
0
0
25
-18
31
-6
-2
6
0
0
0
8
0
0
0
0
0
0
2
0
50
36
-46
-1
51
2
4
-4
0
0
0
0
0
0
0
0
36
48
-15
1
-11
37
7
0
0
0
0
0
0
0
0
0
0
1
-4
45
3
23
63
19
10
3
0
0
0
0
0
0
0
0
-27
9
-30
39
36
-4
-7
5
-17
0
0
0
0
0
0
0
-1
2
-32
-19
5
-16
-4
9
-16
-16
0
0
0
0
0
0
0
0
-2
2
11
0
-3
1
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
-21
-8
4
-9
10
0
0
0
0
0
0
0
0
0
0
0
-40
0
40
-16
-9
-20
0
0
1
0
0
0
0
0
0
0
0
0
19
-1
25
-5
30
-6
-1
1
3
0
0
0
0
0
0
0
0
1
-27
-16
-3
7
1
-6
1
2
0
0
0
0
0
0
0
0
10
3
-8
4
4
5
-7
3
-3
0
0
0
0
0
0
0
-5
0
-14
0
10
-3
1
1
9
0
0
0
0
0
0
0
0
0
2
-6
-18
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
-13
1
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
-4
-28
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
26
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
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
1
0
3
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
19
0
0
-4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
13
0
0
1
0
0
0
0
0
0
0
0
-3
0
-2
3
-27
16
4
0
0
0
0
0
0
0
0
0
0
-25
0
0
-44
-20
-49
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
10
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
9
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-34
2
-21
-1
-11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
-9
-8
-4
0
-67
0
0
0
0
0
0
0
0
38
-33
32
13
7
-30
-1
-28
-4
0
0
0
0
0
0
0
3
7
1
1
-31
-121
-12
54
-7
-9
0
0
0
0
0
0
0
0
0
3
57
-10
19
-39
0
0
0
0
0
0
0
0
0
0
0
0
-50
9
-24
1
0
0
0
-6
0
0
0
0
0
0
0
0
11
0
20
12
-25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
29
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-24
3
0
-2
0
0
11
0
0
0
0
0
0
0
0
0
0
-2
15
11
-4
-2
0
0
1
0
0
0
0
0
0
0
0
4
28
-8
4
-8
4
0
-6
0
0
0
0
0
0
0
0
4
0
0
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-10
-26
13
11
0
-1
0
0
0
0
0
0
0
0
0
0
0
-13
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
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
-7
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
67
4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-1
-21
1
-15
2
0
-7
0
0
0
0
0
0
0
0
-44
1
13
0
24
-16
1
0
0
0
0
0
0
0
0
0
0
0
2
0
-34
-1
51
1
0
0
0
0
0
0
0
0
0
0
0
0
-38
-3
24
0
4
0
-6
0
0
0
0
0
0
0
0
0
0
0
-18
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-1
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-27
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
1
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
4
0
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
-8
0
9
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
18
0
-24
0
-3
0
0
-8
0
0
0
0
0
0
0
0
0
0
-22
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
6
-11
22
0
0
0
0
0
0
0
0
0
0
-14
-17
2
12
23
88
-3
-23
0
0
0
0
0
0
0
0
6
-31
7
32
67
-7
18
19
3
0
0
0
0
0
0
0
0
2
0
24
-10
-11
-65
-24
32
-47
0
0
0
0
0
0
0
0
1
-1
-4
56
3
49
-25
-18
-35
0
0
0
0
0
0
0
0
0
5
0
-17
-11
48
33
37
-1
0
0
0
0
0
0
0
0
0
-9
-3
28
1
-50
47
12
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-17
-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
-23
0
20
72
42
15
1
12
0
-28
0
0
0
0
0
0
0
9
-2
12
5
14
37
19
1
23
-6
0
0
0
0
0
0
0
-16
-7
103
11
55
-4
4
12
19
-14
0
0
0
0
0
0
0
-27
-26
15
15
16
14
-43
14
-14
2
0
0
0
0
0
0
0
12
61
39
-37
7
69
5
-3
-10
3
0
0
0
0
0
0
0
-9
-30
48
-5
-15
6
-19
-35
-29
6
0
0
0
0
0
0
0
27
29
-13
29
-38
-21
2
-5
19
-5
0
0
0
0
0
0
0
0
12
-9
-2
11
-19
-45
-6
13
43
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
-31
0
0
-22
50
25
-53
0
-16
24
0
0
0
0
0
0
-33
36
0
38
5
-1
-22
-5
31
-56
20
0
0
0
0
0
0
20
3
11
-22
0
50
13
7
8
49
20
0
0
0
0
0
0
-3
54
79
18
21
1
27
11
-4
49
43
0
0
0
0
0
0
0
-28
59
2
9
46
10
-5
17
-54
0
0
0
0
0
0
0
0
32
-17
-28
0
-19
-32
10
-15
-3
-32
0
0
0
0
0
0
0
-25
-31
-12
-23
-23
-21
63
63
-4
0
0
0
0
0
0
0
0
-30
-17
-50
-38
17
-18
17
-4
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
-1
-4
0
9
53
-18
-3
0
-19
-12
0
0
0
0
0
0
18
-62
37
-38
-17
32
-23
12
4
-43
-25
1
0
0
0
0
0
7
-22
46
8
9
71
17
27
19
-4
-8
0
0
0
0
0
0
-13
31
-6
-62
2
-17
41
17
9
10
67
0
0
0
0
0
0
97
20
-111
12
-74
14
-9
25
-23
-37
3
0
0
0
0
0
0
0
-7
-7
-21
-9
-42
-39
4
-39
-6
19
-2
0
0
0
0
0
0
1
-2
5
-12
20
-21
46
41
62
-1
0
0
0
0
0
0
0
-1
-2
-1
-14
23
-12
-43
-7
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
7
-28
53
0
1
-5
-3
0
0
0
0
0
8
-5
-14
10
7
56
-21
-8
-14
-52
67
5
0
0
0
0
0
-3
2
21
-5
31
-42
37
-5
3
34
-4
20
0
0
0
0
0
0
20
-75
-12
-38
-14
-24
27
48
9
17
0
0
0
0
0
0
-1
-14
4
50
25
-28
-25
30
29
5
3
0
0
0
0
0
0
0
17
-27
6
13
-10
-2
-26
8
49
-7
0
0
0
0
0
0
0
-9
49
6
-36
0
-6
-4
-44
-56
0
0
0
0
0
0
0
0
-2
-4
7
-23
34
0
-14
-40
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
2
-2
0
0
-9
0
12
-22
0
-42
-3
0
0
0
0
0
0
-3
48
-9
7
127
20
-38
25
23
-21
-4
-2
0
0
0
0
0
-3
-30
-41
20
48
-53
-33
-12
12
60
-3
0
0
0
0
0
0
16
-8
24
-8
70
-21
-50
17
72
57
5
0
0
0
0
0
0
12
-13
-35
0
-15
-48
0
27
-36
6
-19
0
0
0
0
0
0
0
-7
1
-16
20
17
-69
-40
-10
-11
47
0
0
0
0
0
0
0
0
-2
-2
0
17
36
-6
-11
-26
0
0
0
0
0
0
0
0
-3
0
0
11
-29
-7
35
47
-13
0
0
0
0
0
0
0
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
21
1
0
0
0
0
0
0
0
81
70
75
-28
0
17
0
37
41
6
0
0
0
0
0
0
0
46
-3
38
7
38
-14
-36
63
-25
6
0
0
0
0
0
0
0
-10
0
-3
114
5
-78
-1
-2
2
-22
0
0
0
0
0
0
0
-4
4
28
1
-27
-1
1
75
-25
2
0
0
0
0
0
0
0
14
0
0
0
-11
-37
-90
-11
12
3
0
0
0
0
0
0
0
0
3
-8
3
-9
39
-18
-55
4
0
0
0
0
0
0
0
0
0
0
-15
0
-4
16
9
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
15
0
0
0
0
0
0
0
0
0
0
0
-7
-42
-4
18
-2
-1
0
0
0
0
0
0
0
0
0
4
0
1
0
-3
-2
4
2
-1
0
0
0
0
0
0
0
0
0
0
4
-18
-10
0
-6
2
3
0
0
0
0
0
0
0
0
3
1
0
1
3
-16
-25
-13
-4
0
0
0
0
0
0
0
0
0
-10
-2
0
0
7
4
-12
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
6
0
-15
-9
0
0
0
0
0
0
0
0
0
0
0
-7
3
6
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
34
25
-24
15
1
37
11
0
0
0
0
0
0
0
0
0
-7
-9
-7
21
-27
18
3
6
-3
0
0
0
0
0
0
0
0
-33
39
-39
18
43
-6
-22
-15
23
0
0
0
0
0
0
0
0
12
54
-19
-64
38
30
1
-2
5
0
0
0
0
0
0
0
0
11
33
48
49
-18
-28
-1
-50
-46
0
0
0
0
0
0
0
0
15
31
12
9
46
34
3
-29
13
0
0
0
0
0
0
0
0
-3
-26
5
-19
-19
-32
-15
-6
41
0
0
0
0
0
0
0
0
0
1
0
11
-2
-45
51
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
42
1
0
0
0
0
0
0
0
0
0
41
63
39
27
17
9
20
11
0
0
0
0
0
0
0
0
0
19
-7
17
65
39
38
9
15
19
2
0
0
0
0
0
0
0
19
55
-10
11
17
17
34
21
-6
3
0
0
0
0
0
0
0
33
36
57
-2
38
41
32
22
35
-16
0
0
0
0
0
0
0
-121
42
-5
42
22
32
44
45
1
-24
0
0
0
0
0
0
0
13
18
-47
42
37
31
13
20
-53
8
0
0
0
0
0
0
0
-28
9
-14
20
32
-32
-5
-12
71
21
0
0
0
0
0
0
0
3
0
0
-62
47
-5
-28
4
-56
8
0
0
0
0
0
0
0
0
0
-2
0
14
0
44
-6
0
0
0
0
0
0
0
0
0
-22
58
32
0
35
3
-20
-32
0
2
11
0
0
0
0
0
0
29
-16
0
22
-25
-2
6
27
26
-16
-11
0
0
0
0
0
0
14
34
-22
-25
2
-3
1
-7
18
-1
-4
0
0
0
0
0
0
27
0
85
14
-6
6
-12
48
-16
8
22
0
0
0
0
0
0
-17
-8
0
-9
-5
43
3
25
-2
0
-37
0
0
0
0
0
0
1
9
-18
-15
-6
7
3
21
7
-29
2
0
0
0
0
0
0
0
-2
51
-23
-14
-16
-2
12
35
26
-4
0
0
0
0
0
0
0
6
0
-13
31
38
-49
-20
35
-44
0
0
0
0
0
0
0
0
0
0
1
0
-4
5
0
18
-1
0
0
0
0
0
0
0
-8
-36
89
22
-59
-11
6
-28
0
40
-27
7
0
0
0
0
0
10
-2
13
16
0
30
3
29
28
-13
32
0
0
0
0
0
0
47
-18
33
-59
-2
34
34
-3
14
-2
8
-20
0
0
0
0
0
-15
73
26
-61
36
48
-8
9
-8
-14
-14
0
0
0
0
0
0
37
51
43
10
-30
34
-2
9
15
40
17
1
0
0
0
0
0
-20
-31
-14
44
-1
-4
-5
4
51
29
57
0
0
0
0
0
0
0
8
-4
-10
-18
27
-37
-12
17
18
28
0
0
0
0
0
0
1
-2
15
-3
2
14
12
12
-49
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
2
0
4
0
0
0
0
0
0
0
-15
-34
-66
38
-27
4
15
-17
0
-31
-49
-8
0
0
0
0
0
44
6
47
21
10
-2
37
-1
-23
-29
-58
-21
0
0
0
0
0
20
-3
3
-24
-14
21
-35
12
-10
-18
32
-5
0
0
0
0
0
54
-10
15
32
-28
18
-31
37
17
-36
-34
0
0
0
0
0
0
6
14
3
-15
43
-2
16
10
25
28
1
31
2
0
0
0
0
-4
-11
59
52
9
-43
-18
-29
-17
-48
-12
-2
0
0
0
0
0
0
-3
-3
4
-7
-75
-58
21
22
8
-6
6
0
0
0
0
0
0
0
0
-8
0
41
25
-54
-21
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-7
0
0
0
0
0
0
0
0
-59
7
-26
-52
-18
-37
19
15
0
-16
-69
3
0
0
0
0
0
-36
-18
12
6
-18
-17
4
44
49
16
16
-2
0
0
0
0
0
26
35
15
-30
40
13
14
26
-13
38
-21
-8
0
0
0
0
0
-62
10
-58
102
-38
14
-24
13
-6
18
-13
-6
0
0
0
0
0
1
-3
50
11
-9
27
21
29
16
-56
29
-1
-3
0
0
0
0
3
2
37
-32
-4
-67
48
6
27
-70
65
2
0
0
0
0
0
-6
8
-1
10
-10
-73
0
-10
23
24
2
6
0
0
0
0
0
0
3
0
0
0
6
21
-60
23
-26
-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
29
-14
-4
-8
-110
-67
6
0
-66
11
0
-1
0
0
0
0
0
-22
-59
-56
-7
-7
39
18
11
-19
-1
-25
-1
0
0
0
0
0
-2
52
23
26
-38
-6
10
-40
32
4
0
0
0
0
0
0
0
-2
-44
-10
83
-10
7
2
53
23
3
-4
0
0
0
0
0
0
-15
25
-3
-17
25
-23
-48
-6
-45
-16
-3
0
0
0
0
0
0
7
-10
-21
3
51
1
-7
23
-5
1
0
0
0
0
0
0
0
0
0
-4
-20
-7
14
4
2
-13
0
0
0
0
0
0
0
0
6
0
0
0
-11
-7
-35
16
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
10
0
0
0
-1
15
1
22
0
23
0
2
0
0
0
0
0
0
0
-2
9
0
2
13
-12
11
-25
3
-2
0
0
0
0
0
-4
0
-12
51
-25
-5
-37
5
-49
0
-2
1
0
0
0
0
0
0
4
1
0
3
0
9
-14
16
9
15
-1
0
0
0
0
0
-6
0
-3
0
-4
0
-23
-4
-30
-2
1
0
1
0
0
0
0
0
0
0
0
3
-12
0
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
7
0
-9
2
-34
0
-19
0
0
0
0
0
0
0
0
-4
-8
-13
3
18
21
-14
63
0
-2
0
-1
0
0
0
0
0
12
11
-8
-14
-16
-26
42
-9
-13
0
0
0
0
0
0
0
0
-2
0
-3
16
40
0
-3
3
6
1
0
0
0
0
0
0
0
0
-4
4
2
-5
-13
12
7
1
0
0
0
0
0
0
0
0
7
0
1
7
5
0
2
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
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-7
1
-24
22
0
2
-6
0
0
0
0
0
0
0
0
12
-1
24
-23
-2
32
-2
-15
-1
1
0
0
0
0
0
0
0
-16
-26
24
1
-55
-14
48
32
-16
0
0
0
0
0
0
0
0
-10
0
0
5
-34
16
7
-8
8
0
0
0
0
0
0
0
0
11
0
6
9
-23
7
-17
8
-8
-2
0
0
0
0
0
0
0
0
4
0
1
0
-2
1
-4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
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
6
0
-2
0
-1
0
0
0
0
0
0
0
0
11
0
1
5
-14
-4
-4
-4
0
0
0
0
0
0
0
0
0
-3
-1
4
15
-10
-25
-26
0
2
0
0
0
0
0
0
0
0
0
-2
0
3
-21
19
2
0
2
0
0
0
0
0
0
0
0
2
0
0
0
-11
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
2
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-21
4
26
26
-25
-64
22
0
0
0
0
0
0
0
0
0
-9
14
10
25
26
-11
7
27
43
0
0
0
0
0
0
0
0
36
17
27
3
5
6
16
3
19
0
0
0
0
0
0
0
0
-10
11
-21
2
32
58
20
-23
13
0
0
0
0
0
0
0
0
6
-17
52
-19
24
75
7
-16
-20
0
0
0
0
0
0
0
0
-2
-47
39
-77
-6
0
-17
-29
0
0
0
0
0
0
0
0
0
0
-1
0
0
22
60
-11
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
3
-7
-7
13
12
12
-28
-3
0
-46
0
0
0
0
0
0
0
-31
7
46
17
24
15
22
20
22
-24
0
0
0
0
0
0
0
-41
27
-34
7
7
14
24
21
35
15
0
0
0
0
0
0
0
-11
-25
-9
-12
13
4
9
-8
15
8
0
0
0
0
0
0
0
17
-11
-53
-30
46
-6
28
-3
-10
21
0
0
0
0
0
0
0
-48
82
1
-50
-77
14
33
-45
-30
9
0
0
0
0
0
0
0
21
0
-9
14
-12
-8
-6
52
-47
-19
0
0
0
0
0
0
0
0
0
-1
42
33
-20
-2
-23
-14
0
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
14
-2
44
3
13
9
-10
0
18
-30
0
0
0
0
0
0
-69
-16
-59
20
3
51
10
12
0
-23
-40
0
0
0
0
0
0
-3
13
-21
8
0
-24
-13
10
2
13
12
0
0
0
0
0
0
-23
44
-9
12
14
-16
-20
27
0
32
8
0
0
0
0
0
0
18
-4
-18
-26
-9
-13
2
-11
9
-3
-8
0
0
0
0
0
0
0
-13
40
19
7
-14
-30
10
-23
62
12
0
0
0
0
0
0
0
6
4
49
41
24
9
-10
11
-16
0
0
0
0
0
0
0
0
7
-1
0
14
11
4
94
-24
-2
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
10
0
0
0
0
0
0
0
0
0
-20
53
38
-51
17
12
-6
18
0
-5
18
0
0
0
0
0
0
30
12
33
52
-2
31
39
28
7
-43
-9
0
0
0
0
0
0
-4
-17
5
7
4
-47
-14
-5
2
-15
20
0
0
0
0
0
0
-69
11
15
70
-53
12
13
18
16
41
-41
0
0
0
0
0
0
-13
-11
17
0
51
-24
-24
26
69
4
-2
1
0
0
0
0
0
1
28
-17
2
18
37
34
-16
-38
-12
-10
3
0
0
0
0
0
0
22
37
4
-22
-29
34
-24
45
9
17
0
0
0
0
0
0
0
-6
-1
-1
12
-43
-15
-46
18
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
0
-2
0
0
0
0
0
0
0
-6
-65
59
12
38
-31
9
-19
0
61
9
5
0
0
0
0
0
-25
11
15
-44
-60
15
35
17
21
-18
-14
-26
0
0
0
0
0
9
54
-12
-67
-48
-4
8
23
-1
0
47
0
0
0
0
0
0
-4
-37
17
24
-58
-47
20
63
30
18
10
25
0
0
0
0
0
40
0
59
8
-77
48
20
48
30
8
32
0
0
0
0
0
0
0
30
66
1
-24
15
39
47
-44
20
-6
0
0
0
0
0
0
0
21
-5
74
11
-34
8
26
35
5
10
0
0
0
0
0
0
0
-2
0
1
0
-13
-1
1
6
6
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
21
-6
8
23
-4
15
-3
-28
0
-8
12
-2
0
0
0
0
0
28
-16
28
-40
-45
-11
-9
-54
17
-24
-27
-13
0
0
0
0
0
-3
-54
-30
57
60
54
-18
-1
0
31
-10
-4
0
0
0
0
0
2
-40
-23
-27
44
22
3
44
-48
-9
6
0
0
0
0
0
0
-6
-58
14
64
6
-39
-14
47
26
-9
-6
2
0
0
0
0
0
1
-3
7
5
-65
-19
49
-31
-54
16
0
1
0
0
0
0
0
0
0
1
1
-4
11
-12
22
9
28
-9
-2
0
0
0
0
0
0
0
-16
6
0
-21
1
-58
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
18
-3
13
-23
-55
-31
-40
0
17
29
7
0
0
0
0
0
-6
-34
-7
3
27
-34
-2
5
-60
67
9
-15
-1
0
0
0
0
0
-44
61
28
-68
38
-44
-10
31
-9
41
-3
0
0
0
0
0
0
-12
-22
-30
0
45
21
54
-30
6
18
-14
-2
0
0
0
0
0
5
30
-2
11
-77
38
1
-51
-38
10
11
0
0
0
0
0
0
8
7
2
55
-65
-39
26
-44
2
-5
0
0
0
0
0
0
0
0
3
-1
4
-1
17
6
-16
-4
-3
0
0
0
0
0
0
0
0
0
3
0
0
-3
19
-13
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
8
0
6
4
37
-27
46
-23
0
27
-15
-1
0
0
0
0
0
21
-2
-6
12
11
-11
-8
43
-65
-26
-9
1
0
0
0
0
0
6
-11
-12
-18
-32
-18
4
-6
69
51
12
-3
0
0
0
0
0
0
0
0
9
-54
-48
4
-28
0
-3
19
0
0
0
0
0
0
1
21
0
0
55
1
-69
-17
-33
6
10
2
0
0
0
0
0
0
0
0
-13
-1
18
3
-31
-9
10
-3
0
0
0
0
0
0
0
0
0
0
3
0
-1
-1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
-18
24
-10
-69
54
-11
-19
0
-10
0
0
0
0
0
0
0
-2
36
24
-45
85
-28
-26
-36
1
-2
-1
1
0
0
0
0
0
25
46
30
-80
4
8
8
-44
25
3
0
1
0
0
0
0
0
23
-13
-8
-43
-28
12
29
-63
28
-23
0
0
0
0
0
0
0
3
0
1
-52
-30
-8
-11
36
-25
-1
0
0
0
0
0
0
0
0
0
-1
4
-9
-8
-22
-30
-40
0
0
0
0
0
0
0
0
4
0
3
0
-1
-8
15
-3
-1
0
-3
0
0
0
0
0
0
0
0
8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
19
-1
-30
34
29
-2
0
-40
3
0
0
0
0
0
0
0
41
26
-19
-35
-10
5
32
23
33
30
0
0
0
0
0
0
0
3
-11
16
-4
25
19
16
-7
2
-29
-4
0
0
0
0
0
0
-22
41
1
16
11
12
0
-59
30
0
7
0
0
0
0
0
0
5
4
-26
1
8
40
-31
23
14
1
0
0
0
0
0
0
0
-28
39
-7
-35
-36
-13
40
-38
-30
2
1
0
0
0
0
0
0
1
1
4
-20
-1
46
64
-58
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
-36
-24
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
14
4
0
-4
7
0
0
0
0
0
0
0
0
3
1
1
16
-6
17
-18
3
39
-2
0
0
0
0
0
0
0
0
0
0
8
4
-32
16
-6
0
0
0
0
0
0
0
0
0
-8
0
0
0
-1
1
1
-3
4
0
0
0
0
0
0
0
0
0
0
2
16
22
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
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
-9
0
2
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
1
6
2
4
0
-2
0
0
0
0
0
0
0
0
-4
0
-1
4
0
-4
-12
2
0
0
0
0
0
0
0
0
0
1
1
0
0
-2
-8
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
8
20
-26
32
-21
-37
0
0
0
0
0
0
0
0
0
3
16
-14
-24
-28
105
58
0
-9
0
0
0
0
0
0
0
0
11
76
1
-156
7
35
56
23
27
0
0
0
0
0
0
0
0
0
0
12
-17
40
-28
-25
2
60
0
0
0
0
0
0
0
0
0
7
-72
-8
-5
-8
24
-10
5
0
0
0
0
0
0
0
0
0
-2
3
-41
20
37
-2
4
-1
0
0
0
0
0
0
0
0
0
-1
0
6
68
6
7
-12
1
0
0
0
0
0
0
0
0
0
0
0
19
-1
-13
-4
-18
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
-27
14
-76
2
-33
-3
4
-23
0
-46
0
0
0
0
0
0
0
41
-1
23
3
3
38
26
15
-32
30
0
0
0
0
0
0
0
9
9
-32
-16
6
-5
13
22
-2
-3
0
0
0
0
0
0
0
65
19
-31
-19
-17
-23
3
11
-3
-34
0
0
0
0
0
0
0
59
-15
20
-24
22
-12
-1
0
-66
5
0
0
0
0
0
0
0
-6
-1
-37
2
-4
-24
-18
-9
42
-79
0
0
0
0
0
0
0
-46
-6
-8
24
-44
29
9
69
1
28
0
0
0
0
0
0
0
1
-1
-8
1
-14
11
-11
-15
27
8
0
0
0
0
0
0
0
0
0
0
-3
13
-2
1
9
0
0
0
0
0
0
0
0
0
13
-8
-9
37
0
24
26
2
0
42
7
0
0
0
0
0
0
22
-29
-36
49
-26
1
7
10
5
6
12
0
0
0
0
0
0
-34
27
8
-26
17
-15
-15
31
12
33
-1
0
0
0
0
0
0
0
17
-7
-28
21
48
-6
-33
-8
6
22
0
0
0
0
0
0
112
31
11
1
3
-37
12
-4
35
-23
0
0
0
0
0
0
0
-9
4
2
-25
8
26
-28
28
68
15
-9
0
0
0
0
0
0
0
-5
-12
16
40
7
11
-33
19
11
-10
0
0
0
0
0
0
0
-9
0
-8
-3
8
-68
31
4
-34
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-29
-9
0
0
0
0
0
0
0
0
14
18
-29
44
34
41
49
-38
0
31
2
0
0
0
0
0
0
-41
-18
-4
58
27
-12
40
30
6
19
-20
0
0
0
0
0
0
21
-27
18
58
-71
-4
65
25
26
2
42
2
0
0
0
0
0
-8
32
88
-3
40
-35
-54
8
-34
28
20
0
0
0
0
0
0
-76
14
44
-50
29
52
16
-17
16
-27
4
0
0
0
0
0
0
5
28
64
-52
-45
-33
24
32
-53
-10
-16
1
0
0
0
0
0
0
28
-12
9
7
23
-27
33
50
-32
-9
0
0
0
0
0
0
0
2
-1
0
2
-37
-3
11
-3
19
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
0
12
8
0
0
0
0
0
0
0
0
5
-39
-6
20
11
25
-36
0
73
22
-3
0
0
0
0
0
34
-6
-21
2
18
4
41
36
-4
-4
-11
-12
0
0
0
0
0
-11
-44
51
-64
-2
-10
29
-41
-8
28
-14
1
0
0
0
0
0
-10
0
-25
9
-8
13
16
-46
2
36
-17
3
0
0
0
0
0
-2
25
-11
-21
9
10
36
23
32
-12
1
-2
0
0
0
0
0
3
-63
17
-20
-26
-18
-16
-27
-28
-60
4
0
0
0
0
0
0
0
-4
15
-40
36
-43
-7
19
94
-9
-1
0
0
0
0
0
0
0
-6
0
-2
0
26
25
-61
6
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
3
6
-6
-56
49
7
59
-8
0
69
-29
-2
0
0
0
0
0
18
28
-66
-30
25
2
1
13
-25
-59
31
1
0
0
0
0
0
-1
-15
47
-25
6
41
47
32
41
-15
31
-14
0
0
0
0
0
-3
6
-51
48
87
-33
22
88
11
45
2
-1
0
0
0
0
0
34
17
-4
12
-21
-12
44
-6
37
-14
26
-6
0
0
0
0
0
0
-6
29
5
-51
-4
1
31
-26
-1
-4
0
0
0
0
0
0
0
0
-3
34
44
28
-28
-5
-16
47
3
0
0
0
0
0
0
0
0
12
0
0
3
-7
16
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
3
7
-3
21
-22
-59
0
-24
33
0
0
0
0
0
0
-6
-14
16
-41
-82
4
-3
-41
8
-24
34
11
2
0
0
0
0
0
-16
12
-13
-6
44
30
-87
9
-7
13
1
0
0
0
0
0
0
72
6
9
17
6
16
-48
-92
-16
3
0
0
0
0
0
0
0
-4
-14
-3
-21
7
-29
-7
54
-44
1
0
0
0
0
0
0
0
-20
-2
-2
-2
43
8
25
1
2
-4
0
0
0
0
0
0
0
0
0
-6
-61
-2
23
-9
-38
-4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
12
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
1
0
-3
-8
-1
49
32
58
0
68
2
0
0
0
0
0
0
-12
8
-9
20
22
13
-37
50
-74
4
46
0
-6
0
0
0
0
11
0
6
12
-3
14
-39
-23
-8
28
-10
0
0
0
0
0
0
4
-19
-2
-35
54
-19
16
4
-24
-47
-7
0
0
0
0
0
0
0
0
0
-5
3
1
0
18
-17
-2
0
-1
0
0
0
0
0
0
18
-2
6
-3
4
-7
0
-8
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
2
-6
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
54
24
30
-22
-9
-2
34
0
-26
-3
0
0
0
0
0
0
-18
32
-6
1
-42
29
38
18
11
-80
0
0
0
0
0
0
0
-7
60
27
-10
-34
-23
9
15
-7
-7
2
0
0
0
0
0
0
-81
17
17
30
8
-21
-3
-29
-39
7
-3
0
0
0
0
0
0
-1
-75
-58
-46
-22
-11
87
-5
-1
0
0
1
0
0
0
0
0
0
-2
19
55
-20
-3
-19
-27
-6
0
0
0
0
0
0
0
0
0
-6
-8
8
20
8
10
-16
14
-9
0
0
0
0
0
0
0
0
9
-6
-5
0
-4
-7
-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
1
15
20
50
37
54
-3
0
6
1
0
0
0
0
0
0
0
-29
0
-6
-13
-38
-12
-21
18
-41
13
0
0
0
0
0
0
0
-18
5
-17
-33
-61
-18
-1
34
4
-6
0
0
0
0
0
0
0
9
-20
-8
3
13
-4
-55
-27
2
13
0
0
0
0
0
0
0
42
-2
-2
-5
-59
-42
-25
-2
-5
0
0
0
0
0
0
0
0
-47
-11
35
23
-8
-32
82
-9
9
2
0
0
0
0
0
0
0
-7
6
-2
-19
14
25
-36
7
-17
0
0
0
0
0
0
0
0
2
2
-3
0
-1
2
46
-33
0
0
0
0
0
0
0
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
13
0
1
-2
0
0
0
0
0
0
0
0
3
0
-12
-17
3
-11
-18
29
-53
0
0
0
0
0
0
0
0
21
-1
-1
2
0
-16
25
-1
3
0
0
0
0
0
0
0
0
6
0
-1
-2
10
30
11
-13
0
3
0
0
0
0
0
0
0
1
-8
0
-12
-2
-21
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
9
-6
5
2
0
1
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
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
4
1
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
11
77
-67
8
-4
0
0
0
0
0
0
0
0
0
-2
-1
49
-9
45
31
41
10
2
0
0
0
0
0
0
0
0
-1
-22
-14
-11
-30
-78
-18
-7
15
0
0
0
0
0
0
0
0
0
47
0
6
4
-11
12
25
18
0
0
0
0
0
0
0
0
0
0
0
-4
57
-9
-15
-20
8
0
0
0
0
0
0
0
0
0
3
-61
27
32
-49
19
-4
0
0
0
0
0
0
0
0
0
0
-1
-1
-8
19
8
17
0
-7
0
0
0
0
0
0
0
0
0
0
0
-16
0
68
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-4
2
0
0
0
0
0
0
0
0
0
-11
-6
-84
-20
15
32
70
-43
0
4
0
0
0
0
0
0
0
11
-5
-11
-18
-9
30
14
52
-40
-15
0
0
0
0
0
0
0
-25
-3
19
-35
16
13
2
9
-29
45
0
0
0
0
0
0
0
30
-33
-34
-21
-20
13
-12
12
18
53
0
0
0
0
0
0
0
-12
0
-29
2
-22
-31
35
-27
-3
35
0
0
0
0
0
0
0
65
-37
-64
24
22
3
-1
34
-43
6
0
0
0
0
0
0
0
60
0
-11
94
15
16
-13
52
25
0
0
0
0
0
0
0
0
0
0
-3
42
-1
12
-22
-11
60
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
18
4
0
0
0
0
0
0
0
0
0
27
-2
-60
6
-16
31
-33
0
-23
-3
0
0
0
0
0
0
7
14
20
-2
-53
-3
40
17
17
0
-7
0
0
0
0
0
0
0
-25
67
-3
-13
0
-37
3
-10
-2
3
0
0
0
0
0
0
0
39
3
-11
15
18
19
0
29
11
-2
0
0
0
0
0
0
0
68
0
0
-25
-40
1
-33
22
21
3
0
0
0
0
0
0
8
-7
-9
2
34
53
-18
-4
1
59
-14
0
0
0
0
0
0
6
121
-2
85
59
-32
25
-63
69
-5
0
0
0
0
0
0
0
0
-7
27
4
-10
27
-23
-13
-53
-30
0
0
0
0
0
0
0
0
0
0
0
-10
0
-1
0
0
0
0
0
0
0
0
0
0
-9
0
-25
-2
28
0
-29
32
0
53
18
0
0
0
0
0
0
10
-18
14
-51
0
-15
14
-24
18
20
-11
0
0
0
0
0
0
10
20
4
-52
12
1
6
-34
12
20
25
0
0
0
0
0
0
25
-21
-27
38
19
38
32
8
17
7
6
0
0
0
0
0
0
0
13
-14
0
-22
6
-35
29
-41
36
-15
0
0
0
0
0
0
-1
22
2
-13
-2
-16
71
-31
11
32
-8
0
0
0
0
0
0
-6
6
4
1
2
-17
-20
-10
16
0
3
0
0
0
0
0
0
1
-13
1
-7
-13
-26
-9
14
74
19
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
6
0
4
0
0
0
0
0
0
0
0
4
29
7
-46
-72
-37
1
0
-54
9
-1
0
0
0
0
0
10
1
53
17
-24
-1
-22
12
18
2
1
-3
0
0
0
0
0
9
10
-20
11
-25
2
41
-24
14
-56
-9
0
0
0
0
0
0
0
-13
23
-41
-12
31
-2
21
19
-2
1
-4
0
0
0
0
0
0
91
-11
0
0
10
2
-56
15
41
-34
3
0
0
0
0
0
-8
25
31
12
10
15
23
55
26
-76
-12
-1
0
0
0
0
0
11
-40
40
19
1
-32
7
-13
57
-1
0
0
0
0
0
0
0
0
2
-6
-4
0
-2
-52
-74
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-1
0
0
0
0
0
0
0
0
3
2
2
0
11
11
26
-5
0
58
9
0
0
0
0
0
0
2
-20
18
-42
-16
-15
41
-1
-40
-10
-61
0
0
0
0
0
0
3
27
-32
64
4
16
15
-15
29
9
-25
0
0
0
0
0
0
-2
51
8
-17
-54
12
51
23
11
38
-1
0
0
0
0
0
0
0
-7
15
-7
-17
0
-18
-11
-48
-7
7
2
0
0
0
0
0
2
40
-87
5
25
43
15
27
-6
9
5
-2
0
0
0
0
0
4
1
15
-2
-18
0
7
34
-9
0
0
0
0
0
0
0
0
0
-2
0
-30
0
4
25
-39
-3
-3
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
-5
-14
-1
-12
-11
-22
-16
0
7
-16
0
0
0
0
0
0
0
-50
9
-15
-10
-42
46
10
-40
24
11
0
0
0
0
0
0
0
-2
3
1
57
33
10
-31
25
16
0
0
0
0
0
0
0
0
38
7
6
-5
-30
36
15
4
-33
-14
0
0
0
0
0
0
0
0
1
0
-18
32
0
30
-34
21
2
-10
0
0
0
0
0
0
4
-33
7
2
-9
2
29
3
19
-2
0
0
0
0
0
0
0
0
0
15
0
-27
46
-7
0
19
-4
0
0
0
0
0
0
0
0
0
0
0
3
2
-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
1
-21
-1
-5
42
17
-2
0
7
1
0
0
0
0
0
0
-10
-7
-12
18
41
41
48
6
-61
13
-3
0
0
0
0
0
0
-33
3
-43
60
24
25
30
-25
-10
9
-8
0
0
0
0
0
0
1
0
-6
11
35
-31
12
-25
-3
-22
-7
0
0
0
0
0
0
-8
-2
1
21
36
-31
-62
0
-15
-2
-1
0
0
0
0
0
0
-8
-2
-7
-8
46
-38
-7
-58
2
-7
6
0
0
0
0
0
0
-9
0
8
0
-5
29
-19
10
12
0
1
0
0
0
0
0
0
0
0
0
0
0
-71
-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
-17
-40
5
-6
16
-16
-43
-43
0
-12
2
0
0
0
0
0
0
18
-100
-21
88
0
19
1
-17
-54
-37
-8
0
0
0
0
0
0
12
8
-36
42
-55
-23
55
-10
-50
14
0
0
0
0
0
0
0
55
32
-2
34
-59
40
0
-6
-1
0
0
0
0
0
0
0
0
-48
24
29
31
13
-64
-18
32
0
-35
10
0
0
0
0
0
0
1
-29
71
36
-28
17
-21
7
18
3
0
0
0
0
0
0
0
7
7
-3
3
79
-36
56
-5
14
-3
0
0
0
0
0
0
0
1
-7
-9
29
-6
9
54
10
-21
-8
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
-18
13
-71
19
4
14
-4
0
60
0
0
0
0
0
0
0
0
36
-18
-72
-5
-30
37
4
30
22
-37
0
0
0
0
0
0
0
11
-18
-43
26
61
3
11
8
42
0
0
0
0
0
0
0
0
7
45
-17
-6
-24
-16
5
-17
-33
0
0
0
0
0
0
0
0
-6
57
14
1
-20
-48
-14
-47
0
0
0
0
0
0
0
0
0
-68
0
-54
-92
-18
4
12
0
14
0
0
0
0
0
0
0
0
1
76
0
-11
20
14
8
40
2
0
0
0
0
0
0
0
0
0
1
0
1
-39
10
-18
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
-10
0
0
2
0
0
0
-44
-7
0
0
0
0
0
0
0
0
-1
0
7
0
-11
0
24
10
-68
0
0
0
0
0
0
0
0
-1
-2
-2
-16
-11
-44
0
25
2
0
0
0
0
0
0
0
0
3
0
1
4
-6
-3
49
-2
-20
0
0
0
0
0
0
0
0
-10
0
6
33
6
-20
-17
4
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
-2
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-6
14
0
2
-17
7
0
0
0
0
0
0
0
0
0
0
-2
-7
-18
-7
56
-23
-44
0
0
0
0
0
0
0
0
0
-4
-52
-2
11
-36
1
-29
8
-6
0
0
0
0
0
0
0
0
0
4
-2
-16
19
38
-7
9
0
0
0
0
0
0
0
0
0
6
-1
0
-16
15
29
20
4
27
0
0
0
0
0
0
0
0
0
3
-6
-1
-35
18
34
-14
1
0
0
0
0
0
0
0
0
-4
-2
2
-9
15
5
-3
0
18
0
0
0
0
0
0
0
0
0
-10
0
-22
0
-2
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
11
4
0
0
0
0
0
0
0
0
0
4
-13
-15
8
-92
-9
78
37
0
35
0
0
0
0
0
0
0
-16
3
-31
-17
7
87
46
21
15
-75
0
0
0
0
0
0
0
-32
28
34
3
2
28
6
28
-10
-71
0
0
0
0
0
0
0
7
-4
-19
-4
6
24
-15
-16
14
9
0
0
0
0
0
0
0
55
-17
48
-20
-32
-23
52
-26
43
34
0
0
0
0
0
0
0
-14
0
-18
73
-42
33
41
16
-42
-11
0
0
0
0
0
0
0
27
-2
-24
11
10
-33
36
15
-19
4
0
0
0
0
0
0
0
-1
0
11
29
4
46
-18
-5
0
-13
0
0
0
0
0
0
0
0
0
0
0
59
0
-14
-8
0
0
0
0
0
0
0
0
0
0
16
8
-8
20
-6
9
14
0
71
-7
0
0
0
0
0
0
4
-22
12
41
6
-25
48
-8
77
60
-20
0
0
0
0
0
0
0
13
0
5
57
-11
13
1
30
-25
-6
0
0
0
0
0
0
-4
-39
-13
-22
-31
41
-17
-19
1
-13
3
0
0
0
0
0
0
-25
-21
-20
13
12
29
10
51
38
-9
13
0
0
0
0
0
0
0
-30
0
-65
-17
-52
19
66
8
32
0
0
0
0
0
0
0
0
34
0
51
31
125
-71
-10
30
1
4
0
0
0
0
0
0
0
1
0
-23
-4
6
16
24
6
30
0
0
0
0
0
0
0
0
0
0
0
4
0
-22
13
7
0
0
0
0
0
0
0
0
3
-13
-11
-57
-34
36
8
-10
0
43
-3
2
0
0
0
0
0
44
17
44
135
16
36
-5
71
15
10
28
0
0
0
0
0
0
9
36
-2
-37
34
-13
46
68
51
-12
34
0
0
0
0
0
0
-26
26
16
-13
-60
46
25
0
40
-1
-3
0
0
0
0
0
0
-25
-4
-66
21
36
21
14
-19
15
22
-19
1
0
0
0
0
0
8
1
17
0
9
42
0
9
-10
-24
9
0
0
0
0
0
0
0
23
-17
1
-3
-50
0
-59
7
-18
0
0
0
0
0
0
0
0
-1
1
-1
0
28
18
58
-11
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-7
0
0
0
0
0
0
0
0
0
0
-16
26
-12
-14
22
8
66
0
-7
-25
0
0
0
0
0
0
0
-30
-7
14
39
-9
30
23
37
-11
-5
0
0
0
0
0
0
-1
12
-38
29
6
-22
34
-21
58
41
0
6
0
0
0
0
0
15
46
-30
15
1
21
-33
29
-21
68
0
0
0
0
0
0
0
-2
62
-17
-12
-65
-1
19
36
-60
55
1
2
0
0
0
0
0
0
-1
7
-2
0
4
12
16
17
-1
19
0
0
0
0
0
0
0
0
2
10
-16
36
-32
-1
-53
10
8
0
0
0
0
0
0
0
0
9
0
0
47
33
-29
-6
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
-9
13
4
-47
20
34
13
0
-96
1
-4
0
0
0
0
0
0
38
1
-67
-5
36
-71
-20
8
-21
50
0
0
0
0
0
0
0
-23
26
22
18
-39
-75
18
17
32
20
0
0
0
0
0
0
-1
3
14
2
50
-32
27
34
21
-13
6
0
0
0
0
0
0
39
-9
-8
28
-62
21
-39
33
-69
-22
-12
0
0
0
0
0
0
0
7
-9
0
15
0
34
-36
-22
-16
0
0
0
0
0
0
0
0
2
1
-8
-4
20
37
-13
-20
-19
1
0
0
0
0
0
0
0
0
15
0
7
8
-18
-16
-15
15
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-2
2
24
-12
4
-27
0
38
-8
0
0
0
0
0
0
0
13
0
-4
-15
-7
-17
-1
36
-13
-16
0
0
0
0
0
0
0
10
-2
2
-22
31
49
-18
23
16
-26
0
0
0
0
0
0
0
29
0
-25
-2
-36
38
17
14
33
0
1
0
0
0
0
0
0
-26
2
4
17
-53
-45
-5
114
-15
0
-3
0
0
0
0
0
0
2
0
38
-5
-8
0
-8
-31
2
2
0
0
0
0
0
0
0
0
14
-14
-1
-1
7
20
-9
-14
1
0
0
0
0
0
0
0
0
0
-1
0
-2
-26
39
2
-21
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
39
-11
4
14
0
-29
1
0
0
0
0
0
0
0
-2
-3
9
3
-14
2
28
-22
2
-10
0
0
0
0
0
0
0
-5
0
19
0
10
40
36
-20
25
9
0
0
0
0
0
0
40
0
9
-5
51
15
32
-27
-15
0
0
0
0
0
0
0
0
-2
4
2
-14
15
19
0
-5
-1
0
-2
0
0
0
0
0
0
0
-1
-11
-18
26
-8
-4
0
-4
1
-2
0
0
0
0
0
0
0
9
0
11
-19
19
0
12
-4
9
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-24
-13
2
-9
13
-64
11
0
-40
-1
0
0
0
0
0
0
0
-9
-15
-30
68
-18
22
-38
-32
-62
-11
0
0
0
0
0
0
10
-25
0
-42
-16
50
-8
13
-61
30
0
0
0
0
0
0
0
33
-65
-16
-72
23
12
53
-22
-25
20
0
0
0
0
0
0
0
-16
-13
-12
-33
-2
10
-1
-6
2
-2
0
0
0
0
0
0
0
-32
-74
-43
11
-69
-72
-9
19
0
-20
0
0
0
0
0
0
0
-51
2
-17
3
24
-48
32
-7
29
0
0
0
0
0
0
0
0
0
1
-8
-13
6
-15
2
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
-13
0
31
-8
0
0
0
0
0
0
0
0
0
0
37
-14
5
-1
18
38
26
0
52
-15
0
0
0
0
0
0
0
-3
22
19
-54
-5
34
23
-10
28
0
0
0
0
0
0
0
0
11
-6
-95
-65
34
33
27
11
5
-6
0
0
0
0
0
0
0
3
39
-15
-1
47
-29
79
35
-27
-1
0
0
0
0
0
0
0
-76
-30
83
-3
-25
42
25
-9
-12
0
0
0
0
0
0
0
0
19
-10
-17
-42
-34
-17
-9
1
0
-1
0
0
0
0
0
0
0
10
3
4
-32
5
-31
-50
0
0
0
0
0
0
0
0
0
0
15
2
0
-2
-26
3
11
54
0
0
0
0
0
0
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
5
3
0
0
0
0
0
0
0
0
1
-4
0
-1
2
27
10
6
-43
0
0
0
0
0
0
0
0
0
-1
0
10
-2
-7
-2
2
1
0
0
0
0
0
0
0
0
-1
0
8
3
-3
-12
0
-9
0
0
0
0
0
0
0
0
0
7
-8
-1
-4
7
1
-6
0
2
0
0
0
0
0
0
0
0
0
0
-2
2
-16
12
-42
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
4
0
0
0
0
0
0
0
0
0
0
0
11
-1
-1
-11
46
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
54
15
-17
1
1
0
0
0
0
0
0
0
0
-2
0
0
42
-6
-29
37
20
1
0
0
0
0
0
0
0
0
0
0
-4
1
-1
19
0
32
4
0
0
0
0
0
0
0
0
-1
4
-3
70
17
-13
-1
35
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
0
12
3
-15
0
0
0
0
0
0
0
0
0
-2
5
-3
1
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
-2
-25
-5
18
23
26
51
0
-7
0
0
0
0
0
0
0
2
-11
-20
16
-15
34
36
67
-36
-59
0
0
0
0
0
0
0
12
1
-2
-66
5
41
46
19
-18
8
0
0
0
0
0
0
0
-2
3
-26
-8
-37
-47
8
-1
-67
60
0
0
0
0
0
0
0
-6
-6
96
-20
64
-22
4
15
-3
17
0
0
0
0
0
0
0
3
-2
24
24
72
-81
32
-36
-5
40
0
0
0
0
0
0
0
15
0
2
-1
-30
-5
44
-24
5
8
0
0
0
0
0
0
0
1
0
1
-43
9
62
-36
-10
2
2
0
0
0
0
0
0
0
0
0
0
0
1
0
-18
-9
-4
0
0
0
0
0
0
0
0
0
-16
50
32
36
-20
5
36
0
5
6
0
0
0
0
0
0
9
3
-3
-6
-91
83
2
25
43
-14
-4
0
0
0
0
0
0
0
-47
-11
-77
-13
66
21
2
-10
32
0
0
0
0
0
0
0
-1
-71
0
-38
-1
38
3
-33
1
5
4
0
0
0
0
0
0
-47
15
2
-1
-30
-30
45
40
11
-94
0
0
0
0
0
0
0
-1
26
-16
8
-47
-30
16
9
-3
3
8
0
0
0
0
0
0
0
0
0
0
20
11
-4
18
15
20
0
0
0
0
0
0
0
0
-2
-1
1
-1
8
-41
5
77
-41
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
14
0
0
0
0
0
0
0
0
0
0
0
4
-3
66
-24
28
1
0
75
0
0
0
0
0
0
0
0
21
3
-15
-26
-20
-4
13
39
-8
-47
0
0
0
0
0
0
35
-26
9
6
-6
-26
24
22
15
11
-50
0
0
0
0
0
0
-3
48
35
-41
9
59
14
22
-10
2
-16
0
0
0
0
0
0
2
78
28
-1
-15
54
35
-18
-35
38
-40
0
0
0
0
0
0
-6
47
-66
-24
-6
-56
16
-16
-20
26
-3
0
0
0
0
0
0
0
2
-4
0
22
18
-29
-35
31
21
-1
0
0
0
0
0
0
-3
-14
-18
-2
0
44
-14
21
-33
15
0
0
0
0
0
0
0
0
0
0
0
16
0
3
1
1
0
0
0
0
0
0
0
0
0
0
-23
-10
13
-44
-5
18
0
-73
-2
0
0
0
0
0
0
3
-12
-23
-3
-9
71
-14
-16
-29
112
55
0
0
0
0
0
0
0
-22
30
0
6
-7
25
-30
60
-23
6
0
0
0
0
0
0
9
21
33
7
-23
11
-1
-35
-16
8
-8
0
0
0
0
0
0
0
-22
-11
64
-16
-7
10
31
56
-13
2
0
0
0
0
0
0
2
-8
26
-5
-24
-24
-4
31
52
-51
23
7
0
0
0
0
0
0
0
-1
0
0
47
70
-20
-4
-18
3
0
0
0
0
0
0
0
0
5
-8
0
12
20
-29
-15
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
-2
0
0
-29
-9
-30
0
-15
3
0
0
0
0
0
0
0
-2
0
-9
8
19
-11
10
-22
-23
28
0
0
0
0
0
0
0
30
0
-7
92
4
3
8
73
10
0
-3
0
0
0
0
0
-12
0
-1
-6
28
3
-2
-96
-8
-46
-18
0
0
0
0
0
0
0
-9
6
0
35
-10
-23
-2
-22
99
0
0
0
0
0
0
0
4
3
58
10
-8
33
11
3
30
6
14
0
0
0
0
0
0
0
-1
-2
8
3
0
23
1
-82
8
-3
0
0
0
0
0
0
2
0
0
17
0
37
-1
-26
0
-16
0
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
4
2
-1
-5
25
0
1
7
0
0
0
0
0
0
0
-8
26
-2
-32
16
-10
57
3
3
-26
0
0
0
0
0
0
0
-55
3
0
71
-6
-75
-17
46
-4
0
0
0
0
0
0
0
0
22
0
11
23
12
-14
33
21
22
-2
0
0
0
0
0
0
0
48
20
-6
63
18
89
-16
-17
18
7
0
0
0
0
0
0
0
42
13
29
-6
-39
-12
61
-35
57
0
-8
0
0
0
0
0
0
0
12
0
0
0
0
54
-20
1
0
0
0
0
0
0
0
0
0
0
0
-16
4
19
5
12
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
1
-1
3
15
0
-1
0
0
0
0
0
0
0
0
0
-8
-7
-1
-37
-18
8
2
4
1
0
0
0
0
0
0
-44
0
-1
0
-35
-9
-62
-16
-126
0
0
0
0
0
0
0
0
10
0
0
-3
-11
-64
45
-21
7
-17
0
0
0
0
0
0
0
15
1
25
20
3
-15
14
-12
19
0
0
0
0
0
0
0
0
0
0
-7
6
2
83
0
-7
0
0
0
0
0
0
0
0
0
0
1
0
1
-82
-2
28
0
-19
-1
0
0
0
0
0
0
0
0
0
0
-3
0
-9
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
7
0
10
22
26
48
32
-14
0
-1
0
0
0
0
0
0
0
0
47
0
1
30
13
19
-32
-57
-12
1
0
0
0
0
0
0
0
-26
9
-28
4
64
48
2
6
40
-13
0
0
0
0
0
0
2
-36
59
-19
30
-26
45
57
-48
-25
0
0
0
0
0
0
0
-4
-12
30
46
6
-46
70
17
-50
-6
0
0
0
0
0
0
0
7
-8
4
10
42
26
91
-1
-25
0
0
0
0
0
0
0
0
-3
-52
30
22
-65
-26
-14
-63
0
28
0
0
0
0
0
0
0
0
-17
0
2
-36
62
35
1
-1
11
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-6
-11
7
0
-25
0
0
0
0
0
0
0
0
17
21
0
10
16
38
22
48
-6
23
0
0
0
0
0
0
0
9
16
11
14
-4
75
32
37
-45
0
0
0
0
0
0
0
0
-33
1
-30
-50
-12
-8
15
23
48
0
0
0
0
0
0
0
0
21
-11
-26
-10
24
73
19
32
-23
0
0
0
0
0
0
0
0
8
2
23
-6
26
-31
19
0
-9
0
0
0
0
0
0
0
0
0
12
0
33
4
0
28
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-50
-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
-3
-2
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-8
-3
5
-5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-3
-4
0
0
0
0
0
0
0
0
0
-1
-1
-1
4
0
23
-10
0
-8
0
0
0
0
0
0
0
0
-8
-2
0
2
-4
4
12
-1
16
0
0
0
0
0
0
0
0
0
0
0
-31
2
17
2
29
0
0
0
0
0
0
0
0
0
-24
-22
2
-9
-7
-16
9
-1
-22
0
0
0
0
0
0
0
0
0
0
-5
-24
2
21
-1
-13
0
0
0
0
0
0
0
0
0
0
-11
-5
13
-17
-11
-54
3
3
0
0
0
0
0
0
0
0
0
-2
0
0
4
-7
0
1
-1
0
0
0
0
0
0
0
0
0
7
0
0
-1
0
3
2
0
0
0
0
0
0
0
0
0
13
0
1
0
-5
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
12
-16
26
-38
-11
6
1
0
0
0
0
0
0
0
-135
0
3
-10
-1
-40
23
-1
44
0
0
0
0
0
0
0
0
13
-6
18
-44
8
36
1
-5
-23
5
0
0
0
0
0
0
0
-24
3
31
-4
41
-13
88
10
-45
-8
0
0
0
0
0
0
0
91
0
-47
-57
20
-3
27
-50
-6
0
0
0
0
0
0
0
0
52
0
7
-4
-37
26
-19
13
42
-1
0
0
0
0
0
0
0
0
0
0
9
-4
-51
-2
-38
4
0
0
0
0
0
0
0
0
7
0
0
0
17
-2
-21
1
37
0
0
0
0
0
0
0
0
0
0
7
10
1
-1
42
9
0
-9
0
0
0
0
0
0
0
0
28
-2
-7
13
69
-42
-23
-12
-21
0
0
0
0
0
0
0
-7
60
8
0
15
-16
-17
-7
30
8
0
0
0
0
0
0
0
-6
21
-2
48
33
-1
-8
0
27
42
0
0
0
0
0
0
0
4
-16
0
25
-24
8
37
24
-21
-32
-11
0
0
0
0
0
0
3
5
1
-61
57
32
-1
30
38
37
0
0
0
0
0
0
0
-56
7
0
-26
-2
-12
2
-45
-14
2
0
0
0
0
0
0
0
0
1
0
4
0
-8
-39
-21
-3
3
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
-7
-26
-2
7
0
2
0
0
0
0
0
0
0
0
0
-10
-2
16
-22
-26
-45
-12
-2
-1
0
0
0
0
0
0
0
0
0
1
-38
4
-50
-23
-6
-28
-7
0
0
0
0
0
0
-39
-8
28
1
-26
63
2
51
79
19
2
0
0
0
0
0
0
19
29
-3
-3
-3
28
6
-9
13
13
18
0
0
0
0
0
0
-13
-18
9
-10
25
16
-10
61
3
32
11
0
0
0
0
0
0
3
-2
-40
0
-48
-4
37
-18
30
-4
-1
0
0
0
0
0
0
0
-1
0
0
-7
42
3
20
-6
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
2
5
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
6
15
0
0
-9
0
0
0
0
0
0
0
0
0
-1
5
23
-23
21
-6
13
0
0
0
0
0
0
0
6
3
0
2
-21
8
-9
20
61
1
0
0
0
0
0
0
0
0
15
-4
9
-14
-1
15
11
35
-12
0
0
0
0
0
0
0
0
34
0
13
15
9
-3
-16
45
9
-1
0
0
0
0
0
0
-4
-8
40
13
-12
-54
35
0
-1
-6
0
9
0
0
0
0
0
0
1
0
-4
0
26
36
6
11
13
0
1
0
0
0
0
0
0
0
0
-6
0
29
34
19
-11
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
58
6
6
1
6
-8
0
0
0
0
0
0
0
0
0
0
37
0
-21
3
42
0
0
0
0
0
0
0
0
-10
0
0
-7
3
45
-1
19
4
-1
-2
0
0
0
0
0
0
0
-15
1
0
-28
-4
-14
-8
-7
0
-4
0
0
0
0
0
0
0
-1
3
-6
-20
-21
17
-1
12
-2
0
0
0
0
0
0
0
41
1
0
33
-28
-3
9
1
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
4
-24
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
13
0
0
0
0
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
0
-1
18
-26
-21
-3
0
0
0
0
0
0
0
0
1
0
0
-1
0
-8
2
-2
-2
0
0
0
0
0
0
0
0
-2
-11
0
0
7
-22
13
-7
0
0
0
0
0
0
0
0
0
-1
0
4
0
-7
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
15
-2
2
0
0
0
0
0
0
0
0
0
-8
0
9
0
-20
-7
34
0
-12
0
0
0
0
0
0
0
0
0
9
0
-1
0
-6
-4
16
1
3
0
0
0
0
0
0
0
-4
0
-15
0
-7
-3
13
0
0
0
0
0
0
0
0
0
0
1
0
36
8
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
-36
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-11
0
0
0
0
0
0
0
0
0
0
0
-19
0
37
8
-36
0
-11
-7
0
0
0
0
0
0
0
0
2
1
0
0
3
0
5
-8
-70
-4
0
0
0
0
0
0
0
-1
0
0
25
9
25
36
-7
13
-18
0
0
0
0
0
0
0
0
-53
4
-25
52
7
31
-7
-12
15
0
0
0
0
0
0
0
0
7
-4
-20
4
37
-2
37
-6
6
0
0
0
0
0
0
0
-1
-8
0
-29
11
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-6
6
9
0
6
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-14
10
0
3
0
-3
-34
-4
-24
0
0
0
0
0
0
0
0
-7
0
0
0
0
28
-53
36
1
25
0
0
0
0
0
0
0
-36
3
-4
33
20
-27
38
-51
-4
0
0
0
0
0
0
0
0
-7
0
-15
20
-11
1
-8
4
3
0
0
0
0
0
0
0
0
-11
-4
-4
0
-9
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
-8
0
-2
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
3
2
-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
7
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
11
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
20
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
-13
0
-1
0
0
0
0
0
0
0
0
12
0
0
28
0
-1
0
22
0
0
0
0
0
0
0
0
0
-7
0
6
8
43
1
20
0
-15
0
0
0
0
0
0
0
0
-2
0
32
22
0
-47
0
-3
0
0
0
0
0
0
0
0
0
-4
0
0
0
-66
0
36
0
0
0
0
0
0
0
0
0
0
4
0
0
5
-1
-28
0
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-9
37
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-19
4
-1
-6
0
0
0
0
0
0
0
0
0
0
1
41
-32
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-7
-1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
8
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
7
8
6
0
-1
0
0
0
0
0
0
0
0
0
0
39
0
-2
1
-10
-3
0
3
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
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-6
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-7
-6
-11
-7
0
0
0
0
0
0
0
0
0
0
10
0
-9
17
43
24
9
0
2
0
0
0
0
0
0
0
0
55
43
0
43
55
-4
-14
-10
42
0
0
0
0
0
0
0
0
9
6
-70
3
25
-16
-1
0
-7
0
0
0
0
0
0
0
0
0
34
2
32
0
-4
11
0
24
0
0
0
0
0
0
0
0
-7
-11
2
-10
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
19
-9
-10
0
0
0
0
0
0
0
0
0
0
0
-45
0
6
22
7
19
0
1
0
0
0
0
0
0
0
0
0
-5
-57
4
28
-24
-6
-21
-10
-9
0
0
0
0
0
0
0
-1
34
13
4
27
-31
-21
-25
47
67
0
0
0
0
0
0
0
-8
-5
15
2
15
-19
8
8
46
17
0
0
0
0
0
0
0
0
32
0
29
-30
-23
0
-6
0
-6
0
0
0
0
0
0
0
0
0
3
4
12
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
45
-39
11
3
0
-3
0
0
0
0
0
0
0
0
0
-36
0
101
-6
48
0
0
0
-21
0
0
0
0
0
0
0
-3
-47
-4
1
-36
-23
-40
-16
46
21
0
0
0
0
0
0
0
29
29
38
-14
-71
-19
83
12
-11
-11
0
0
0
0
0
0
1
-16
7
29
-85
-13
-62
28
5
-38
0
0
0
0
0
0
0
0
21
18
-52
3
46
23
0
0
60
0
0
0
0
0
0
0
0
4
-1
-4
50
-1
-1
0
4
0
0
0
0
0
0
0
0
0
0
9
-34
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
-8
2
22
0
-9
0
0
0
0
0
-8
0
0
0
0
0
0
-8
6
-2
-7
-4
48
17
0
-3
0
6
0
0
0
0
0
0
-7
0
38
-30
69
0
1
6
-34
-4
9
6
0
0
0
0
0
0
16
23
59
43
37
1
8
-1
24
-15
-2
0
0
0
0
0
-1
-20
23
5
-9
116
32
-2
3
0
0
0
0
0
0
0
0
0
-32
48
4
-23
0
-2
15
0
0
2
0
0
0
0
0
0
0
0
2
0
4
6
2
-6
2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
19
-24
0
2
-1
0
0
0
0
0
0
0
0
0
0
4
17
-25
-3
43
-2
-28
0
-1
0
0
2
0
0
0
0
0
18
-66
-21
-2
8
36
2
2
-22
-17
4
2
0
0
0
0
0
4
-13
20
-8
59
8
6
-6
-42
-2
0
2
0
0
0
0
0
-3
17
33
-8
10
19
-25
8
0
11
0
0
0
0
0
0
0
0
-7
19
22
26
-4
-8
1
0
-14
-7
0
0
0
0
0
0
0
0
-5
-7
7
6
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
20
51
-7
13
0
6
0
0
0
0
0
0
0
0
0
0
-5
48
30
28
24
-22
6
0
2
0
-1
0
0
0
0
0
0
34
57
-21
42
-19
-20
-80
-48
17
-44
-2
1
0
0
0
0
0
-21
-14
-51
-35
12
9
40
-9
7
2
0
0
1
0
0
0
0
25
11
-5
10
36
4
3
25
-2
-26
0
0
0
0
0
0
0
0
-5
-78
47
25
-20
-6
-33
3
0
0
0
0
0
0
0
0
0
0
8
50
-8
-14
0
0
11
-3
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
25
18
58
-36
52
0
1
0
4
0
0
0
0
0
0
0
5
41
22
-23
-30
38
-38
0
3
0
0
0
0
0
0
0
0
1
-52
-3
0
-33
-24
-11
22
-50
26
-4
0
0
0
0
0
0
11
35
-1
1
19
-37
1
-55
-16
17
3
0
-1
0
0
0
0
15
30
6
-50
-47
22
-17
-9
5
0
0
0
0
0
0
0
0
0
-48
-9
-14
-85
73
38
16
5
30
0
0
0
0
0
0
0
0
0
0
27
2
-1
4
0
-28
-3
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-23
15
19
22
-35
-12
0
0
0
4
0
0
0
0
0
0
22
31
8
13
46
-53
32
0
-8
0
3
0
0
0
0
0
0
46
-11
-24
-64
-82
-47
-21
19
22
5
20
0
0
0
0
0
0
1
-100
-39
-19
-4
-10
46
46
-8
0
-1
0
0
0
0
0
0
-3
-21
-5
15
-15
-42
36
1
-24
39
-1
0
0
0
0
0
0
-4
-71
16
0
35
2
-3
1
0
3
0
0
0
0
0
0
0
0
0
-37
-16
13
4
-7
2
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
-1
1
-18
-2
6
0
0
0
0
-1
0
0
0
0
0
0
0
19
-49
13
-52
39
28
0
-8
0
-28
0
0
0
0
0
0
0
35
13
-11
-5
-7
-18
-4
13
-2
18
-2
0
0
0
0
0
0
-13
-17
7
-32
-28
-12
-23
2
-2
82
0
0
0
0
0
0
0
1
34
25
55
7
54
39
19
3
-9
0
0
0
0
0
0
0
-8
38
14
44
28
22
-55
-28
17
1
0
0
0
0
0
0
0
-18
-10
22
16
7
26
10
-42
0
0
0
0
0
0
0
0
0
0
6
-90
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
20
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
12
-2
-33
0
-7
0
2
7
0
0
0
0
0
0
0
-1
61
-1
-69
12
-20
5
15
-4
6
0
0
0
0
0
0
0
0
3
-30
22
17
-8
1
-33
9
-2
0
0
0
0
0
0
0
4
-15
-3
-23
9
26
-5
22
3
-1
0
0
0
0
0
0
0
2
14
34
43
21
-2
-27
3
0
0
0
0
0
0
0
0
0
0
0
34
-54
2
12
0
-1
0
0
0
0
0
0
0
0
0
0
-6
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
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-13
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
4
25
-2
0
0
0
0
0
0
0
0
0
-5
0
-3
1
3
0
-4
0
0
0
0
0
0
0
0
0
0
1
-9
-1
1
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
16
-22
11
-2
0
1
0
0
0
0
0
0
0
0
0
3
68
22
-26
-7
-62
75
0
-5
0
0
0
0
0
0
0
0
19
-23
54
-13
6
-67
15
0
-34
0
0
0
0
0
0
0
0
-23
72
-32
-38
-82
37
-5
-9
3
0
0
0
0
0
0
0
0
4
13
-88
1
12
4
-14
1
3
0
0
0
0
0
0
0
0
0
92
-4
38
0
18
-2
-7
2
0
0
0
0
0
0
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
58
-1
6
25
65
24
0
0
-4
0
0
0
0
0
0
0
-3
-40
12
-37
25
-59
-62
0
-21
0
0
0
0
0
0
0
0
21
-35
-18
-22
-20
-24
27
8
-30
-18
0
0
0
0
0
0
0
-8
48
72
-6
74
15
3
-27
-39
7
0
0
0
0
0
0
0
10
-5
7
2
4
-6
-4
-53
69
28
0
0
0
0
0
0
0
0
20
53
12
28
-24
39
13
6
4
0
0
0
0
0
0
0
0
0
2
18
4
25
0
-7
0
1
0
0
0
0
0
0
0
0
0
8
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
-54
-2
-24
-13
8
-9
0
-1
2
0
0
0
0
0
0
0
62
-13
-34
-1
58
8
0
-6
0
13
0
0
0
0
0
0
0
-41
-12
-44
-36
34
17
13
-30
-49
6
0
0
0
0
0
0
0
8
-71
0
-3
2
-39
25
-26
-18
19
0
0
0
0
0
0
0
66
-35
28
-14
-33
40
2
83
37
9
0
0
0
0
0
0
0
33
-27
5
27
-3
19
34
11
-11
6
0
0
0
0
0
0
0
1
22
-6
-4
13
9
6
23
-4
-2
0
0
0
0
0
0
0
0
-4
19
4
-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
-4
-41
6
39
-29
-1
0
0
0
0
0
0
0
0
0
12
-38
-24
-62
21
36
-26
0
0
0
10
0
0
0
0
0
0
-11
-64
-52
2
124
24
-28
8
40
-3
-20
1
0
0
0
0
0
8
-29
-11
-25
0
-21
-13
-21
91
-7
-3
-2
0
0
0
0
0
10
-7
19
30
-15
42
-20
31
-2
-14
13
0
0
0
0
0
0
0
2
52
36
34
46
-28
4
8
1
0
-1
0
0
0
0
0
0
0
9
2
4
-10
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-59
19
-15
-37
1
20
-3
0
2
-4
1
0
0
0
0
0
30
42
-7
19
11
62
14
0
7
0
-6
29
0
0
0
0
0
42
-70
-10
26
19
1
34
-17
-18
81
-2
0
3
0
0
0
0
-39
31
41
31
25
70
-66
-15
-47
32
0
-2
0
0
0
0
0
-28
13
52
60
46
57
42
58
-34
34
1
-3
0
0
0
0
0
0
75
-76
4
123
-8
-13
-24
1
-10
0
3
0
0
0
0
0
0
37
57
14
2
3
3
1
0
-3
0
0
0
0
0
0
0
0
0
-2
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-37
-27
-9
18
-29
-6
3
2
0
0
0
0
0
0
0
0
0
-34
33
-1
-5
27
-34
78
0
48
0
0
0
0
0
0
0
0
35
30
30
13
60
-54
-35
15
-9
38
24
0
0
0
0
0
0
3
16
-6
-91
41
-19
-31
66
71
15
-3
0
0
0
0
0
0
-4
14
-33
36
36
0
-2
-28
44
1
0
0
0
0
0
0
0
0
-4
5
-24
1
45
-26
-28
5
4
0
0
0
0
0
0
0
-3
12
21
82
56
12
11
9
-7
0
0
0
0
0
0
0
0
0
24
4
-5
0
-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
0
0
0
-6
17
9
-63
-34
71
1
0
0
8
0
0
0
0
0
0
0
17
-26
0
-15
-41
-12
15
0
0
0
7
-1
0
0
0
0
0
3
49
50
24
-16
2
39
-30
12
-49
38
11
0
0
0
0
0
-12
-4
-18
8
-14
35
35
1
-7
21
7
0
-1
0
0
0
0
13
-38
48
-17
26
27
8
-31
-50
-11
9
0
0
0
0
0
0
0
6
40
-19
-5
12
-28
43
1
-19
0
0
0
0
0
0
0
1
3
-60
91
13
-37
-20
29
35
28
-3
0
0
0
0
0
0
0
0
2
77
16
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
11
53
-2
66
61
32
21
9
0
-1
0
0
0
0
0
0
0
99
58
67
13
44
-21
-17
0
-50
0
23
0
0
0
0
0
0
-23
63
-39
54
3
44
34
-2
54
-14
42
0
0
0
0
0
0
10
-12
-28
-10
10
-21
35
16
4
-22
4
-6
0
0
0
0
0
-10
5
-21
21
-40
-53
46
24
-5
-48
2
1
0
0
0
0
0
3
8
-42
-42
-40
1
21
19
-12
-10
-3
0
0
0
0
0
0
-4
19
-18
59
6
11
28
-4
51
0
0
0
0
0
0
0
0
0
-2
0
-29
-1
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
15
-38
48
13
-63
-29
-1
0
0
0
0
0
0
0
0
0
-1
-58
35
-45
10
18
11
0
0
0
-19
0
0
0
0
0
0
5
28
-30
-23
-12
10
22
76
57
38
-27
3
0
0
0
0
0
-4
59
-50
40
10
-70
-53
-37
6
-70
-24
2
0
0
0
0
0
0
-11
-6
-27
35
28
15
18
-30
11
-34
0
0
0
0
0
0
0
68
-19
-43
-8
-31
51
-12
29
-99
0
0
0
0
0
0
0
6
-8
-39
7
14
-24
-47
2
-41
2
0
0
0
0
0
0
0
0
6
15
14
-4
0
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
-34
51
-52
8
14
59
-7
0
0
6
1
0
0
0
0
0
0
-20
50
0
27
30
-22
0
-56
0
69
0
0
0
0
0
0
0
69
3
18
10
-7
50
22
2
21
-47
3
0
0
0
0
0
0
-11
10
16
-1
-18
20
-9
-42
-85
-31
0
0
0
0
0
0
0
-15
8
19
-20
27
-27
29
33
-15
32
0
0
0
0
0
0
0
-37
32
-9
-14
-61
11
32
-19
-4
4
0
0
0
0
0
0
0
-14
4
16
-11
-58
-48
40
-8
-1
2
0
0
0
0
0
0
0
1
17
-16
-2
-8
0
0
15
0
0
0
0
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
32
-27
1
13
0
0
0
-1
0
0
0
0
0
0
0
-23
-1
0
-46
35
0
0
0
-6
-3
0
0
0
0
0
0
0
41
52
43
56
-122
11
3
-1
4
-3
0
0
0
0
0
0
0
-16
14
-17
20
0
1
-73
-120
-11
39
0
0
0
0
0
0
0
-18
14
22
15
9
5
-31
-9
6
8
0
0
0
0
0
0
0
-3
31
17
26
18
-12
-1
2
0
0
0
0
0
0
0
0
0
0
19
-45
-21
25
-10
0
0
0
-1
0
0
0
0
0
0
0
0
0
-11
3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
4
29
0
0
-8
0
0
0
0
0
0
0
0
0
0
-14
-5
3
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-3
2
1
0
-18
-19
-2
7
0
0
0
0
0
0
0
2
29
-10
-18
2
-5
0
-21
3
1
0
0
0
0
0
0
0
0
1
-3
-29
-18
-7
1
2
0
0
0
0
0
0
0
0
0
0
-3
9
-17
8
7
3
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
-4
2
0
0
0
0
0
0
0
0
0
0
0
48
-7
34
22
-9
38
-8
0
-10
0
0
0
0
0
0
0
0
0
16
-17
-20
14
-31
3
-35
53
0
0
0
0
0
0
0
0
6
56
-13
5
65
-40
-7
-11
-23
0
0
0
0
0
0
0
0
11
49
3
19
16
-40
0
0
5
0
0
0
0
0
0
0
0
0
20
28
1
-20
9
13
0
-1
0
0
0
0
0
0
0
0
0
0
-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
1
-10
-15
-54
39
-30
63
2
0
-6
0
0
0
0
0
0
0
0
-2
6
-2
-7
-11
20
0
1
0
0
0
0
0
0
0
0
-11
-16
-60
-10
-9
11
-21
18
-10
-9
0
0
0
0
0
0
0
-58
-13
48
-73
-12
30
-62
-16
59
38
0
0
0
0
0
0
0
2
-37
-41
-80
-1
19
7
17
-14
44
0
0
0
0
0
0
0
0
24
72
-1
46
-71
-18
14
1
-2
0
0
0
0
0
0
0
0
0
32
-3
-22
4
9
1
1
-6
0
0
0
0
0
0
0
0
-2
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
91
8
22
60
-24
4
0
8
6
0
0
0
0
0
0
0
11
-11
-4
-15
11
-46
0
-6
0
2
0
0
0
0
0
0
0
20
0
19
77
29
-63
-53
0
1
-16
0
0
0
0
0
0
0
5
34
0
0
-20
58
-19
-7
-25
-10
0
0
0
0
0
0
0
2
47
-79
-53
-26
-10
-5
8
7
0
0
0
0
0
0
0
0
17
55
-47
-15
-90
60
13
0
-6
0
0
0
0
0
0
0
0
0
29
18
2
-8
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
2
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
29
1
46
61
58
-4
26
2
0
-1
-2
-1
0
0
0
0
0
1
-22
24
63
-49
36
14
0
3
0
-12
-1
0
0
0
0
0
-30
44
16
12
9
34
22
-6
-28
-19
-19
0
0
0
0
0
0
-13
15
23
-12
28
-25
82
33
8
-2
6
1
0
0
0
0
0
40
-48
13
12
39
-7
9
-11
10
0
1
0
0
0
0
0
0
0
30
-20
20
8
5
0
-6
-6
0
0
0
0
0
0
0
0
0
0
9
7
-3
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
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
-2
34
-37
13
47
54
-19
6
0
-1
0
1
0
0
0
0
0
-14
68
69
-52
33
-56
-8
0
23
0
4
0
0
0
0
0
0
29
62
-9
2
80
3
43
-8
-15
13
7
-2
0
0
0
0
0
68
-40
-12
30
6
41
4
18
-49
-2
0
-10
0
0
0
0
0
15
-52
13
-11
33
21
4
-74
-44
9
0
0
0
0
0
0
0
0
-46
-73
-36
26
-5
-51
6
-2
3
6
0
0
0
0
0
0
0
2
-47
22
-10
-16
-21
1
11
0
0
0
0
0
0
0
0
0
-2
0
-4
-12
1
-3
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
92
12
20
-12
-4
-3
-38
0
0
0
4
0
0
0
0
0
0
44
5
21
2
3
-37
26
0
0
0
4
1
0
0
0
0
0
34
-40
99
7
5
-40
-6
-31
6
53
30
-2
-1
0
0
0
0
-64
-6
-47
35
-8
8
4
64
-40
-2
1
1
0
0
0
0
0
20
-24
-23
54
32
7
19
-31
27
10
0
-8
0
0
0
0
0
0
-67
-5
-30
19
-3
-35
21
-4
-9
-4
0
0
0
0
0
0
-20
6
63
14
43
7
-53
7
-18
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
22
-2
25
-27
-28
46
0
0
-11
-2
0
0
0
0
0
0
-3
7
33
-4
29
37
-22
0
4
0
-5
-2
0
0
0
0
0
-10
75
8
11
34
14
24
59
64
28
0
12
0
0
0
0
0
-11
10
52
8
18
1
69
8
10
-11
1
0
0
0
0
0
0
-20
9
37
3
-21
10
23
-12
-54
32
3
0
0
0
0
0
0
0
30
22
-17
33
-44
53
7
4
-7
6
0
0
0
0
0
0
0
-29
-12
61
33
32
17
-1
13
-33
0
0
0
0
0
0
0
0
2
16
40
-17
0
-12
0
-3
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
-22
36
21
-5
-24
8
-9
0
0
0
19
0
0
0
0
0
0
31
22
-14
1
6
1
10
0
-52
0
-7
0
0
0
0
0
0
-7
-21
22
-8
21
4
20
13
-9
46
-32
0
0
0
0
0
0
-41
16
-12
-3
-8
-4
23
38
2
-47
-9
0
0
0
0
0
0
-14
8
54
-35
-43
24
25
31
-7
-25
1
0
0
0
0
0
0
18
-7
-2
2
46
10
-1
19
3
-22
0
0
0
0
0
0
0
-21
26
-30
9
-20
-4
65
1
45
-20
0
0
0
0
0
0
0
0
5
-9
21
-2
42
-1
0
-1
0
0
0
0
0
0
0
0
0
27
8
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-19
61
41
45
-28
-75
80
5
0
61
0
-4
0
0
0
0
0
30
31
33
-20
-36
-6
-7
0
-35
0
-3
0
0
0
0
0
0
66
4
4
23
-35
-11
9
37
14
13
-33
-6
0
0
0
0
0
-32
25
45
24
-12
20
38
-26
-20
-33
1
0
0
0
0
0
0
57
42
14
46
-4
24
-57
32
67
18
-1
0
0
0
0
0
0
2
-27
1
-22
25
-24
-4
22
44
-3
2
0
0
0
0
0
0
1
-23
33
30
-37
19
-17
-47
25
10
0
0
0
0
0
0
0
0
-110
40
-23
92
-8
2
6
1
-1
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
21
15
20
8
-41
-43
5
0
1
42
0
0
0
0
0
0
0
20
2
-13
-49
-17
14
0
16
0
-110
-9
0
0
0
0
0
0
42
-11
19
13
-45
65
-114
20
-112
38
0
0
0
0
0
0
0
-67
-28
-1
-44
-1
-18
-37
-66
-50
-14
-1
0
0
0
0
0
0
66
-50
8
24
12
-2
19
25
37
12
0
0
0
0
0
0
0
-27
-22
58
-41
-48
48
71
-45
-34
-27
0
0
0
0
0
0
0
51
-54
46
33
-23
-6
-7
0
-7
0
0
0
0
0
0
0
0
0
-6
16
15
13
0
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
19
36
-109
-46
8
16
0
2
0
4
0
0
0
0
0
0
0
2
7
20
7
-34
0
-2
0
-10
14
0
0
0
0
0
0
0
39
-10
8
20
-22
24
-3
-6
0
-15
0
0
0
0
0
0
0
-2
23
7
-32
73
-29
1
-55
-2
-9
0
0
0
0
0
0
0
1
23
24
59
55
-37
0
-18
0
-10
0
0
0
0
0
0
0
3
80
39
-4
23
-35
3
0
0
4
0
0
0
0
0
0
0
0
6
6
-2
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-12
11
0
0
7
0
0
0
0
0
0
0
0
0
0
37
1
32
0
2
0
-26
0
0
0
0
0
0
0
0
0
0
9
10
2
10
6
-12
0
-1
0
0
0
0
0
0
0
0
0
9
-2
-5
39
10
-3
0
0
-1
0
0
0
0
0
0
0
0
9
6
-7
-4
2
0
0
0
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
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
57
0
29
-1
0
0
0
0
0
0
0
0
0
0
0
15
64
-3
38
2
-14
-1
0
2
0
0
0
0
0
0
0
0
-23
0
17
-13
60
-51
15
3
-51
0
0
0
0
0
0
0
0
0
10
-11
62
32
10
5
-2
44
0
0
0
0
0
0
0
0
-1
-1
-51
-26
50
10
-1
0
39
0
0
0
0
0
0
0
0
-2
-6
6
-21
29
14
1
0
1
0
0
0
0
0
0
0
0
0
0
30
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
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
-7
-20
-23
0
53
-84
2
0
1
0
0
0
0
0
0
0
-3
25
14
-46
2
4
-12
0
6
0
0
0
0
0
0
0
0
-1
-13
-32
-13
6
19
34
-8
71
-54
0
0
0
0
0
0
0
0
-1
-49
14
9
-4
7
18
-47
33
0
0
0
0
0
0
0
0
-31
27
-37
-43
2
35
19
-3
100
0
0
0
0
0
0
0
0
-68
-29
16
-32
-56
-95
-28
10
53
0
0
0
0
0
0
0
0
3
8
54
-27
34
-1
14
15
4
0
0
0
0
0
0
0
0
0
4
-3
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
51
1
9
38
17
1
1
0
-2
0
0
0
0
0
0
0
0
56
8
55
-73
20
-52
0
0
0
-18
0
0
0
0
0
0
0
13
6
10
-8
2
-17
-38
-61
23
-20
0
0
0
0
0
0
0
27
5
-39
26
0
10
3
-27
-5
1
0
0
0
0
0
0
0
0
-13
3
-14
-74
57
21
20
-5
2
0
0
0
0
0
0
0
-1
20
13
-55
-79
-5
3
-1
15
-1
0
0
0
0
0
0
0
8
-14
-10
92
-1
2
0
0
-7
0
0
0
0
0
0
0
0
0
4
-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
-35
62
-57
-23
2
3
0
0
0
0
0
0
0
0
0
0
5
-13
2
33
7
-38
-12
0
4
0
-23
-8
0
0
0
0
0
43
40
-60
39
48
-25
-8
8
-20
16
-11
1
0
0
0
0
0
-33
30
26
30
-7
17
20
0
39
-16
0
1
0
0
0
0
0
1
51
1
-4
76
-27
77
46
-22
2
-2
0
0
0
0
0
0
0
9
9
-28
40
-3
50
11
1
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
-2
-12
3
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
65
2
37
66
14
-3
0
0
0
0
0
0
0
0
0
-30
103
39
1
-46
15
-75
0
19
0
0
0
0
0
0
0
0
-5
-24
-19
-25
-47
76
-31
-25
4
19
-2
-8
0
0
0
0
0
16
-10
59
30
39
-47
3
-83
26
-16
0
-2
0
0
0
0
0
14
-80
-2
-28
7
-8
22
12
16
32
0
-1
0
0
0
0
0
2
10
-13
-35
-20
-26
1
46
57
30
0
0
0
0
0
0
0
3
0
-12
-13
-68
0
24
-1
-1
-7
0
0
0
0
0
0
0
0
-1
3
18
0
5
0
0
0
0
0
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
-34
4
-28
51
3
-8
0
-2
0
0
0
0
0
0
0
-7
-9
-16
-6
31
22
-18
0
28
0
-9
-4
0
0
0
0
0
-2
-31
-4
11
49
-31
5
-25
36
-37
-2
0
0
0
0
0
0
60
-4
43
7
48
0
45
-13
-3
4
-1
0
0
0
0
0
0
82
14
-1
88
-26
29
-37
-59
12
69
0
0
0
0
0
0
0
3
-10
-5
18
-24
32
77
-38
-24
-27
0
0
0
0
0
0
0
3
-6
57
33
-7
6
6
6
-1
0
0
0
0
0
0
0
0
0
1
-43
33
-9
15
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
-2
-17
45
31
-3
-7
16
6
0
-4
1
0
0
0
0
0
0
-8
22
20
13
7
-48
40
0
-68
0
-23
0
0
0
0
0
0
32
14
-6
-5
46
39
-25
128
-13
-17
8
9
0
0
0
0
0
5
-16
8
-20
28
-1
-32
-2
-32
82
0
0
0
0
0
0
0
19
23
-8
25
15
-15
69
19
-9
43
0
0
0
0
0
0
0
4
-14
-43
9
17
23
-21
-31
45
1
0
0
0
0
0
0
0
0
0
-20
20
8
-46
6
-24
-41
-3
0
0
0
0
0
0
0
0
-11
3
-30
5
20
0
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
82
41
60
12
-38
64
52
18
0
-1
9
0
0
0
0
0
0
-17
50
63
0
-22
-27
43
0
44
0
-13
0
0
0
0
0
0
26
26
48
29
12
20
-27
44
87
57
22
-4
0
0
0
0
0
1
18
-6
15
10
41
19
-47
2
4
0
0
0
0
0
0
0
40
-7
40
20
-17
31
44
-10
-36
44
2
0
0
0
0
0
0
-33
16
19
1
-7
5
-63
-6
-75
-11
0
0
0
0
0
0
0
12
55
-27
8
21
13
-2
7
-40
-14
0
0
0
0
0
0
0
0
-25
4
22
69
-49
0
-1
-25
-11
0
0
0
0
0
0
0
0
-20
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
31
2
18
-29
9
30
-9
18
0
1
1
0
0
0
0
0
0
39
20
73
40
16
-5
3
0
0
0
-13
0
0
0
0
0
0
-20
20
20
19
29
-17
-10
-25
-73
-19
28
-3
0
0
0
0
0
38
0
19
-12
17
10
22
52
-65
21
0
0
0
0
0
0
0
-3
-23
-14
0
-1
41
-1
66
4
-16
7
0
0
0
0
0
0
-1
-30
-1
14
-39
-3
-70
1
14
-48
0
0
0
0
0
0
0
-7
6
-37
11
25
3
-15
13
-12
51
0
0
0
0
0
0
0
0
-31
-7
-23
-31
27
26
4
0
-7
0
0
0
0
0
0
0
0
0
-8
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
29
-28
-22
52
59
0
-6
17
0
0
0
0
0
0
0
23
-4
27
13
1
-11
0
13
0
35
0
0
0
0
0
0
0
-5
44
50
10
-51
12
-5
4
19
3
-4
0
0
0
0
0
0
-7
9
-26
24
-2
32
-35
30
-4
11
0
0
0
0
0
0
0
38
-1
16
-17
5
43
30
-37
-9
1
0
0
0
0
0
0
0
7
-10
-7
4
27
85
1
46
-23
-26
0
0
0
0
0
0
0
0
16
-16
-12
-28
-56
17
21
4
0
0
0
0
0
0
0
0
3
-68
20
55
12
6
1
-7
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
-8
1
22
48
1
27
0
4
2
2
0
0
0
0
0
0
0
42
20
32
56
2
0
0
0
13
-14
0
0
0
0
0
0
0
-18
19
34
9
-26
-29
-11
4
-4
-3
0
0
0
0
0
0
0
3
30
5
10
42
18
-2
14
0
-8
0
0
0
0
0
0
0
6
2
-6
-2
70
61
0
26
1
-1
0
0
0
0
0
0
0
-25
-14
-23
-52
-8
1
1
2
4
0
0
0
0
0
0
0
0
0
6
-10
-37
-4
3
0
1
0
0
0
0
0
0
0
0
0
0
4
17
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
3
26
0
-5
0
0
3
-6
0
0
0
0
0
0
0
0
10
18
-15
-13
2
6
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
1
-2
0
3
0
4
0
0
0
0
0
0
0
0
0
-39
-2
-13
7
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
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
7
66
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
8
-13
-69
-45
7
-15
0
0
0
0
0
0
0
0
0
0
1
-2
-20
9
-6
-10
-1
-4
0
0
0
0
0
0
0
0
0
23
-3
9
44
-50
-11
6
0
-16
0
0
0
0
0
0
0
0
0
24
21
-36
-41
4
2
1
-11
0
0
0
0
0
0
0
0
-1
0
-43
6
12
26
-1
0
0
0
0
0
0
0
0
0
0
0
2
3
18
10
-15
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-32
4
-16
33
27
0
0
28
0
0
0
0
0
0
0
-2
46
40
-32
10
26
-10
0
4
0
0
0
0
0
0
0
0
0
-39
-40
20
-46
43
23
12
20
68
0
0
0
0
0
0
0
1
4
3
-6
-54
-12
-63
75
17
16
0
0
0
0
0
0
0
1
0
4
-12
-22
11
-33
1
-55
32
0
0
0
0
0
0
0
0
-7
41
30
-38
-52
-12
31
-24
-2
0
0
0
0
0
0
0
0
-3
-63
-49
43
-21
-10
17
12
-15
0
0
0
0
0
0
0
0
1
-26
90
6
29
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
17
42
28
-15
57
0
0
0
0
0
0
0
0
0
0
0
0
33
11
24
13
51
5
0
-1
0
-10
0
0
0
0
0
0
0
14
11
12
7
-38
-30
-16
41
39
18
0
0
0
0
0
0
0
-2
54
-21
8
-32
1
-17
-2
8
0
0
0
0
0
0
0
0
18
0
-27
-52
12
17
95
6
-4
-1
0
0
0
0
0
0
0
0
-40
7
-12
28
10
1
-12
25
2
0
0
0
0
0
0
0
0
-22
59
1
41
-1
19
10
-11
0
0
0
0
0
0
0
0
7
1
28
12
-7
-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
52
3
-18
-9
75
66
3
0
0
0
-2
0
0
0
0
0
0
-47
14
35
-56
-54
18
-7
0
0
0
-12
0
0
0
0
0
0
21
26
1
50
45
-72
-21
-4
-41
-8
-6
-1
0
0
0
0
0
5
-33
20
42
-12
-19
57
-36
-80
-7
0
0
0
0
0
0
0
-11
58
33
0
30
48
0
-6
14
0
0
0
0
0
0
0
0
0
82
1
14
4
-9
3
37
7
-1
0
0
0
0
0
0
0
-1
0
-11
0
-16
0
3
0
0
0
0
0
0
0
0
0
0
0
22
0
0
13
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
67
-12
-12
20
-26
-18
-2
0
0
-1
0
0
0
0
0
0
42
45
20
-5
15
9
10
0
6
0
6
-1
0
0
0
0
0
-21
-7
5
14
35
34
-46
17
20
60
0
-3
0
0
0
0
0
26
6
53
-4
49
75
-25
7
30
40
0
0
0
0
0
0
0
25
0
39
2
0
55
-4
-51
21
-35
0
0
0
0
0
0
0
-2
-23
-48
-147
8
-15
-11
21
-4
24
0
0
0
0
0
0
0
8
9
-23
46
-12
-21
-7
-9
8
1
0
0
0
0
0
0
0
0
0
0
46
11
13
0
0
0
-1
0
0
0
0
0
0
0
0
2
10
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
34
60
34
31
-17
-16
76
0
0
0
0
0
0
0
0
0
0
30
30
39
-4
23
49
-69
0
-66
0
-4
0
0
0
0
0
0
38
31
-15
29
7
-55
-15
-33
21
-62
6
0
0
0
0
0
0
18
24
2
15
-34
-36
97
11
56
-7
0
0
0
0
0
0
0
-30
4
20
-4
21
0
82
-3
14
0
2
0
0
0
0
0
0
-6
24
13
7
-94
14
-28
3
23
0
0
0
0
0
0
0
0
-4
-3
-26
-18
0
34
-13
-5
9
0
0
0
0
0
0
0
0
0
-107
0
-10
2
-18
0
4
0
0
0
0
0
0
0
0
0
-2
0
-13
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-44
17
12
-55
22
-49
-6
0
-6
1
0
0
0
0
0
0
10
18
59
-26
-3
14
-5
0
6
0
2
0
0
0
0
0
0
53
62
20
3
5
24
-33
35
16
21
-1
0
0
0
0
0
0
36
28
13
-13
42
90
-9
93
45
-19
7
0
0
0
0
0
0
7
44
9
14
-2
49
0
10
4
1
0
0
0
0
0
0
0
-18
4
3
16
-32
4
-41
-24
12
42
0
0
0
0
0
0
0
-2
-7
14
-54
-19
-8
-14
-62
-29
1
0
0
0
0
0
0
0
0
-16
-10
11
-21
2
0
0
-11
0
0
0
0
0
0
0
0
0
-2
-11
0
9
0
0
0
0
0
0
0
0
0
0
0
0
26
5
26
23
44
14
47
3
0
0
-11
0
0
0
0
0
0
9
63
25
22
2
20
54
0
85
0
-5
0
0
0
0
0
0
20
30
30
7
-2
18
91
-15
29
-24
-21
-2
0
0
0
0
0
23
-1
36
33
33
30
109
-44
40
35
-17
-2
0
0
0
0
0
7
-4
38
22
51
31
-5
0
-53
-3
0
0
0
0
0
0
0
-31
-1
13
-5
-9
7
4
1
23
-11
0
0
0
0
0
0
0
-36
13
-49
-15
-18
0
-51
0
-50
-3
0
0
0
0
0
0
0
0
-5
-12
-5
4
-6
0
0
2
-7
0
0
0
0
0
0
0
0
0
7
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
-22
30
8
-3
-7
-19
-3
15
0
-4
-4
0
0
0
0
0
0
51
17
25
17
-8
0
-6
0
17
0
47
-7
0
0
0
0
0
-13
8
18
31
22
-4
85
87
-33
-10
-1
-3
0
0
0
0
0
-57
-19
25
7
18
16
32
44
-21
15
14
6
0
0
0
0
0
42
32
6
36
16
54
61
39
0
28
-4
0
0
0
0
0
0
6
-5
8
-25
0
8
78
-4
-14
-53
0
0
0
0
0
0
0
-1
-41
29
-95
-18
44
21
-56
-1
-10
0
0
0
0
0
0
0
0
-10
20
-11
17
46
-3
-6
-1
18
0
0
0
0
0
0
0
0
0
-21
0
4
9
0
0
0
0
0
0
0
0
0
0
0
0
-42
-12
29
-37
-50
16
-4
0
0
45
4
0
0
0
0
0
0
3
-28
22
0
-12
-22
0
37
0
76
6
0
0
0
0
0
0
1
2
-3
29
-11
6
9
58
12
6
-1
0
0
0
0
0
0
-11
-13
-12
18
-22
-17
3
25
72
40
-10
0
0
0
0
0
0
50
8
15
-22
28
20
-3
34
0
16
0
0
0
0
0
0
0
33
-51
-16
1
-1
20
-44
28
6
-7
0
0
0
0
0
0
0
67
-26
23
-46
3
21
-18
53
1
2
0
0
0
0
0
0
0
0
-19
6
-12
60
0
0
1
0
0
0
0
0
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
47
-18
20
0
1
3
-8
0
0
0
0
0
0
0
-7
-27
8
-5
8
0
3
0
-13
-6
0
0
0
0
0
0
0
3
30
38
49
-24
47
18
8
0
2
0
0
0
0
0
0
0
-20
-14
46
29
-13
-7
-54
18
-29
-14
0
0
0
0
0
0
0
0
26
-12
-24
-12
2
0
-1
0
-3
0
0
0
0
0
0
0
-10
15
45
-31
13
-1
10
2
0
0
0
0
0
0
0
0
0
0
-6
-3
10
0
-8
8
0
0
0
0
0
0
0
0
0
0
0
9
5
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-28
2
0
0
-6
0
0
0
0
0
0
0
0
0
-2
-28
-4
-10
0
0
0
-10
1
1
0
0
0
0
0
0
0
0
-12
22
-10
-6
-2
1
0
1
-2
0
0
0
0
0
0
0
0
-9
-22
-2
-10
-1
6
0
0
-2
0
0
0
0
0
0
0
0
1
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
32
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
-3
-11
0
-3
0
0
6
0
0
0
0
0
0
0
0
-34
-5
-17
13
17
22
-1
0
1
0
0
0
0
0
0
0
0
-6
-55
-10
-15
56
-75
2
0
-29
0
0
0
0
0
0
0
0
50
0
-6
-39
-45
-9
-11
0
-6
0
0
0
0
0
0
0
0
0
42
-6
-32
29
-47
-18
4
-4
0
0
0
0
0
0
0
0
0
0
69
21
22
-4
0
0
9
0
0
0
0
0
0
0
0
0
2
0
-4
7
-20
0
-2
-1
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
10
15
-15
23
0
0
-10
0
0
0
0
0
0
0
0
0
2
9
0
6
55
-38
-37
0
-1
0
0
0
0
0
0
0
0
0
39
-78
-47
9
-25
-35
-12
-13
13
0
0
0
0
0
0
0
0
25
24
-26
-81
27
-2
-15
-13
6
0
0
0
0
0
0
0
0
29
6
-67
-17
0
7
-3
-11
-39
0
0
0
0
0
0
0
-7
0
61
-17
27
-31
42
4
1
-18
0
0
0
0
0
0
0
0
-5
9
9
69
59
-39
-10
2
0
0
0
0
0
0
0
0
0
-1
6
37
1
4
-2
0
0
2
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
10
-68
24
-80
-1
0
0
0
0
0
0
0
0
0
0
0
56
-9
9
90
-15
-40
0
0
0
16
0
0
0
0
0
0
0
25
39
16
12
1
-13
8
85
-7
33
0
0
0
0
0
0
0
8
-30
-8
0
-37
-86
-35
-4
-71
-24
0
0
0
0
0
0
0
1
-22
0
-9
22
59
16
-40
18
0
0
0
0
0
0
0
0
-2
0
58
37
-20
-6
17
2
36
-4
0
0
0
0
0
0
0
-1
17
0
55
45
4
-20
0
23
0
0
0
0
0
0
0
0
0
0
24
0
-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
1
28
-24
-34
-1
4
2
0
-2
-7
0
0
0
0
0
0
4
-102
4
56
41
-71
30
0
6
0
-42
0
0
0
0
0
0
-1
33
-5
-29
-31
18
2
19
51
25
-30
1
0
0
0
0
0
4
-6
72
21
21
-64
-53
38
28
-1
2
0
0
0
0
0
0
51
-37
-8
-27
51
76
22
-24
-46
-4
0
0
0
0
0
0
0
0
23
5
0
22
19
15
1
0
0
0
7
0
0
0
0
0
-1
4
0
-3
0
-2
-20
3
1
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
61
-30
13
-1
1
67
2
0
0
0
0
0
0
0
0
0
-2
17
62
5
18
74
-47
0
-2
0
0
-1
0
0
0
0
0
-36
-21
-32
6
29
23
53
71
-26
-4
0
-1
0
0
0
0
0
6
1
-41
-7
16
62
-49
-60
25
-15
0
2
0
0
0
0
0
36
-22
11
-12
23
84
-40
-21
-33
-33
-3
0
0
0
0
0
0
0
-16
24
-12
0
-68
0
0
0
-2
0
0
0
0
0
0
0
1
69
30
-3
-58
1
14
-43
18
1
0
0
0
0
0
0
0
0
4
0
-3
2
-13
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
26
-8
14
-12
1
17
-48
-16
0
-2
0
0
0
0
0
0
0
14
15
47
16
20
-12
63
0
27
0
1
0
0
0
0
0
0
57
42
-28
36
52
-2
-59
-33
-5
-32
3
0
0
0
0
0
0
24
47
43
-15
22
68
-29
18
22
-19
-4
0
0
0
0
0
0
34
32
1
36
68
42
-18
-64
-1
-104
17
0
0
0
0
0
0
1
15
34
29
30
0
4
3
2
6
3
0
0
0
0
0
0
19
65
22
54
-24
0
-6
0
8
-2
0
0
0
0
0
0
0
0
-58
29
-7
-7
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
-7
23
40
-48
-17
-17
6
-22
0
0
3
0
0
0
0
0
0
28
31
3
22
-2
27
19
0
6
0
0
0
0
0
0
0
0
26
6
24
-6
36
-16
8
-28
84
-53
0
3
0
0
0
0
0
-11
44
-1
25
30
16
-26
-8
-14
6
1
3
0
0
0
0
0
46
18
22
27
24
24
-56
18
27
-70
0
0
0
0
0
0
0
0
0
27
-2
9
22
0
-2
30
-3
2
0
0
0
0
0
0
2
-27
-17
14
-2
13
16
-50
73
-12
0
0
0
0
0
0
0
0
21
26
46
-3
-6
-2
-6
-1
11
0
0
0
0
0
0
0
0
0
8
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-29
-11
48
-17
12
3
22
-17
0
-13
1
0
0
0
0
0
0
43
10
14
9
20
-2
-19
0
37
0
7
-2
0
0
0
0
0
48
-20
22
-6
26
24
35
110
2
52
48
-2
0
0
0
0
0
-8
34
7
20
44
22
35
0
26
-59
10
0
0
0
0
0
0
13
38
32
10
4
76
99
73
8
55
46
0
0
0
0
0
0
9
28
52
36
9
100
-18
0
-11
1
0
0
0
0
0
0
0
-23
8
31
8
-11
4
16
3
3
-10
0
0
0
0
0
0
0
0
-58
46
-49
27
-4
-10
2
0
-4
0
0
0
0
0
0
0
0
0
17
48
0
0
0
0
0
0
0
0
0
0
0
0
0
35
47
28
-12
6
19
54
12
0
28
9
0
0
0
0
0
0
-3
3
3
18
11
-35
-1
0
-28
0
-15
-1
0
0
0
0
0
52
43
1
14
32
41
46
7
94
22
-4
4
0
0
0
0
0
-28
18
36
-18
34
22
-33
-18
52
-6
-17
0
0
0
0
0
0
-6
4
15
66
9
32
-2
38
54
21
-22
0
0
0
0
0
0
-18
4
-7
22
27
83
34
-36
0
-28
0
0
0
0
0
0
0
-2
29
50
-23
15
48
-4
-9
-1
-30
0
0
0
0
0
0
0
0
17
9
-17
-37
-41
22
0
0
-47
0
0
0
0
0
0
0
0
32
-9
-1
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-2
3
1
8
63
36
0
1
84
0
0
0
0
0
0
0
-20
44
-5
51
11
-12
0
-9
0
10
0
0
0
0
0
0
0
36
-25
-6
23
72
6
-14
-7
57
-8
-1
0
0
0
0
0
0
10
3
3
-6
-3
23
58
-9
-16
24
0
0
0
0
0
0
0
13
43
45
-40
40
-22
-2
-59
74
8
0
0
0
0
0
0
0
-16
47
-14
23
35
49
32
1
0
-8
0
0
0
0
0
0
0
-3
31
-12
-16
9
5
31
13
-2
0
0
0
0
0
0
0
0
0
6
-17
47
32
-4
0
-40
0
0
0
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
-12
-51
47
-27
-11
0
6
14
0
0
0
0
0
0
0
0
-7
39
-16
-35
29
0
6
0
-5
-22
0
0
0
0
0
0
0
-39
67
-33
27
48
-47
-21
1
7
-11
0
0
0
0
0
0
0
14
-13
1
20
-51
21
14
-33
1
-12
0
0
0
0
0
0
0
5
50
23
27
88
5
37
1
-4
-13
0
0
0
0
0
0
0
-25
6
72
23
-43
-16
0
2
0
1
0
0
0
0
0
0
0
0
-11
2
34
8
0
-1
0
0
0
0
0
0
0
0
0
0
1
1
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
5
0
-1
2
0
-1
0
0
0
0
0
0
0
0
14
-11
-2
0
-1
0
29
3
0
0
0
0
0
0
0
0
0
0
-2
14
6
51
-14
-7
-16
-4
0
0
0
0
0
0
0
0
-9
-13
-4
13
2
-7
1
0
0
0
0
0
0
0
0
0
0
0
-2
6
1
2
-2
0
0
1
0
0
0
0
0
0
0
2
0
1
2
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-39
18
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
3
8
2
0
-10
19
0
0
0
0
0
0
0
0
-13
-2
0
-27
-43
19
2
4
6
0
0
0
0
0
0
0
0
13
0
-1
-21
-3
-36
-14
0
-1
0
0
0
0
0
0
0
0
0
0
-40
0
40
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
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
4
7
2
11
9
-9
0
0
0
0
0
0
0
0
0
0
4
-5
-5
16
-3
112
3
0
0
0
0
0
0
0
0
0
0
0
24
23
9
-92
8
4
0
-12
23
0
0
0
0
0
0
0
0
34
16
0
0
-49
122
-24
-5
12
0
0
0
0
0
0
0
6
24
-27
-4
14
-26
23
63
-18
30
0
0
0
0
0
0
0
0
-26
0
-19
16
-31
52
0
-4
-13
0
0
0
0
0
0
0
8
0
4
10
35
1
63
3
3
0
0
0
0
0
0
0
0
0
10
0
14
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
33
-15
77
1
-9
0
0
0
0
0
0
0
0
0
0
0
-4
41
52
53
75
4
0
2
0
-1
0
0
0
0
0
0
0
-23
30
44
-48
16
15
0
11
-4
27
0
0
0
0
0
0
0
-33
-50
9
1
6
-46
13
-1
-1
-4
0
0
0
0
0
0
0
1
21
37
-48
27
20
46
-3
12
1
0
0
0
0
0
0
0
0
55
0
-64
1
0
40
0
10
0
0
0
0
0
0
0
0
20
0
24
16
14
33
-13
4
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
0
0
-24
8
-20
-4
1
-1
0
0
0
0
0
0
0
0
0
-13
60
3
59
-5
22
12
0
0
0
-9
0
0
0
0
0
0
-7
-1
44
4
-38
-2
-2
1
-5
0
8
0
0
0
0
0
0
0
35
-15
5
8
23
-32
-4
-7
-1
0
0
0
0
0
0
0
0
0
33
-9
2
6
-32
49
-8
9
0
0
0
0
0
0
0
-2
20
0
8
0
-66
12
27
-6
1
0
0
0
0
0
0
0
2
5
26
0
-12
3
-14
-1
0
0
0
0
0
0
0
0
0
0
2
1
1
0
-7
0
-4
-1
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
1
1
67
-2
6
1
1
0
0
0
0
0
0
0
0
0
0
0
-4
-10
56
-54
17
-12
0
4
0
0
0
0
0
0
0
0
0
4
-3
10
-13
-31
58
0
-45
31
0
0
0
0
0
0
0
2
61
-64
-20
54
-45
9
-5
-13
-5
0
0
0
0
0
0
0
-25
-27
14
19
-12
-18
-5
5
51
6
0
0
0
0
0
0
0
-3
36
-32
-19
27
54
-6
6
-45
-105
0
0
0
0
0
0
0
0
21
47
-9
0
-6
-1
-8
-3
-3
0
0
0
0
0
0
0
0
-7
8
-4
-9
-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
3
3
-68
0
7
21
10
4
0
0
0
0
0
0
0
0
0
12
-8
-9
-14
-12
49
3
0
0
0
0
0
0
0
0
0
0
12
15
-11
46
66
-29
24
17
-41
-45
-6
0
0
0
0
0
0
-2
-3
-20
-41
-56
50
14
10
-56
3
0
0
0
0
0
0
0
19
20
1
-40
-37
5
-10
-37
-39
54
-1
0
0
0
0
0
0
-20
-92
-15
-48
2
25
33
7
13
-57
-10
0
0
0
0
0
0
-16
4
-3
3
6
0
0
-2
0
0
0
0
0
0
0
0
0
0
28
14
-69
0
0
11
1
0
-6
0
0
0
0
0
0
0
-1
0
10
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-28
-31
55
-20
3
-22
13
0
0
0
0
0
0
0
0
0
-2
-16
57
8
45
-3
41
0
-21
0
0
2
0
0
0
0
0
-8
-22
2
27
-3
7
-21
-95
25
-22
0
7
0
0
0
0
0
-2
-6
9
40
3
6
3
9
48
-23
0
0
0
0
0
0
0
-41
-24
5
19
22
29
68
-34
-16
26
0
0
0
0
0
0
0
6
-25
30
-29
-56
47
43
39
28
-19
-2
0
0
0
0
0
0
0
15
-23
25
-10
64
0
0
2
0
0
0
0
0
0
0
0
0
-3
32
-5
-24
-22
1
-3
4
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
6
32
20
16
37
9
-13
6
0
0
1
0
0
0
0
0
0
18
-4
22
-4
65
-59
0
0
54
0
8
0
0
0
0
0
0
40
53
15
16
31
28
46
-29
23
-44
41
-1
0
0
0
0
0
23
39
3
1
56
27
27
6
27
-17
-7
0
0
0
0
0
0
-14
-14
16
26
-1
3
67
-23
42
9
36
0
0
0
0
0
0
-34
8
-9
9
-13
65
37
11
-3
63
0
0
0
0
0
0
0
6
12
-3
7
21
20
2
0
-29
0
0
0
0
0
0
0
0
0
44
41
27
6
17
11
0
0
-6
0
0
0
0
0
0
0
0
6
11
3
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-15
43
39
-20
58
-24
10
0
8
-3
0
0
0
0
0
0
1
-23
18
10
24
0
26
0
-47
0
26
0
0
0
0
0
0
25
17
-4
36
15
17
23
3
1
6
-18
-1
0
0
0
0
0
-13
70
36
-9
0
5
6
7
-37
-15
-5
-1
0
0
0
0
0
-10
4
12
34
10
-31
22
-12
17
15
34
0
0
0
0
0
0
10
-1
26
30
-3
-5
15
-25
5
16
1
0
0
0
0
0
0
0
13
-26
30
-18
59
-8
47
0
0
0
0
0
0
0
0
0
0
-7
-17
21
-24
-22
16
23
2
-74
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-51
29
-13
14
107
-20
0
1
-16
-1
0
0
0
0
0
0
-11
59
9
14
4
12
0
26
0
41
3
0
0
0
0
0
0
2
6
61
57
-16
2
-2
64
65
48
0
0
0
0
0
0
0
10
36
-7
25
4
-19
48
68
51
18
-1
0
0
0
0
0
0
-28
21
20
-31
13
7
27
-22
-12
-15
0
0
0
0
0
0
0
23
45
11
41
33
17
-7
-18
72
-65
0
0
0
0
0
0
0
-17
48
0
29
-29
5
10
42
0
-4
0
0
0
0
0
0
0
0
28
18
16
96
34
-12
7
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
32
0
-41
0
5
0
-3
-19
-3
0
0
0
0
0
0
0
4
6
3
-35
-25
0
-7
0
8
1
0
0
0
0
0
0
0
0
34
-41
37
-35
6
-7
-4
0
24
0
0
0
0
0
0
0
-5
50
-17
11
35
22
2
6
8
34
0
0
0
0
0
0
0
0
10
-52
-12
19
7
-1
54
0
44
0
0
0
0
0
0
0
5
-3
-14
30
14
-24
-13
7
0
-9
0
0
0
0
0
0
0
-12
-15
-25
8
35
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
22
9
-8
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
-3
2
3
1
6
4
-8
0
0
0
0
0
0
0
0
0
1
34
11
22
8
2
3
3
0
0
0
0
0
0
0
0
0
-1
-12
-33
7
-10
-3
8
0
0
0
0
0
0
0
0
0
0
0
1
-12
-8
4
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
0
-3
-1
0
0
-3
0
0
0
0
0
0
0
0
0
-34
0
-1
0
5
0
0
0
0
0
0
0
0
0
0
0
-3
0
-31
-8
-10
-3
-1
0
-2
0
0
0
0
0
0
0
0
-3
14
0
-45
0
33
-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
12
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
-56
6
2
0
0
0
0
0
0
0
0
0
0
0
10
0
44
-14
-6
0
-1
0
0
-17
0
0
0
0
0
0
0
0
62
-13
31
-36
4
-21
0
-7
-1
0
0
0
0
0
0
0
-17
0
-9
69
-14
-23
1
4
0
0
0
0
0
0
0
0
0
0
12
-8
0
-44
3
9
3
-10
0
0
0
0
0
0
0
0
0
0
10
-7
16
-3
13
-6
0
0
0
0
0
0
0
0
0
0
0
3
-6
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
81
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
54
13
15
-7
0
3
0
0
0
0
0
0
0
0
-1
0
-8
39
55
-12
10
0
0
13
0
0
0
0
0
0
0
0
0
-1
36
-2
26
8
0
0
7
0
0
0
0
0
0
0
0
0
2
-32
11
30
15
0
3
-26
0
0
0
0
0
0
0
0
0
0
-8
3
16
1
0
0
10
0
0
0
0
0
0
0
0
0
1
0
7
0
5
2
0
0
0
0
0
0
0
0
0
0
-4
0
14
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-7
-43
13
0
1
0
0
0
0
0
0
0
0
0
0
-28
7
16
0
-35
0
0
-8
0
0
0
0
0
0
0
0
1
-18
10
-3
-21
-7
1
-16
-3
0
0
0
0
0
0
0
0
0
6
-7
-68
0
-11
-2
-21
-1
0
-3
0
0
0
0
0
0
0
0
2
-1
12
0
0
0
-23
0
0
0
0
0
0
0
0
0
36
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-5
56
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
2
13
19
63
4
-4
0
0
4
0
0
0
0
0
0
0
0
20
-10
12
-19
14
3
0
-38
-6
0
0
0
0
0
0
0
-16
-1
49
-38
-16
-24
-36
-2
0
-1
0
0
0
0
0
0
0
0
14
0
41
21
-34
21
0
-4
-15
0
0
0
0
0
0
0
-4
-3
-55
0
-1
1
2
6
0
0
0
0
0
0
0
0
0
0
2
-27
22
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
21
-27
21
-6
-1
0
0
0
0
0
0
0
0
0
0
66
0
28
26
64
-34
0
0
0
0
0
0
0
0
0
0
-19
0
30
10
14
-5
4
0
12
-59
2
0
0
0
0
0
0
-1
12
-10
13
2
-59
-15
-3
-2
-8
-13
0
0
0
0
0
0
-13
4
45
18
-9
-46
-18
-76
-98
-2
0
0
0
0
0
0
0
0
-12
-43
53
3
13
16
17
-4
4
0
0
0
0
0
0
0
-9
18
10
16
30
2
3
7
17
0
0
0
0
0
0
0
0
0
-56
-6
-29
-25
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
-43
37
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
43
-9
2
23
-3
0
0
0
0
0
0
0
0
0
0
33
-16
96
-1
-5
15
0
0
0
0
0
0
0
0
0
0
0
0
52
8
-23
1
11
0
6
-45
-2
0
0
0
0
0
0
1
-14
9
17
-52
39
4
10
58
-112
-10
0
0
0
0
0
0
8
18
50
76
19
-1
-17
63
35
-32
0
0
0
0
0
0
0
0
-67
62
12
3
-66
8
5
-60
1
0
0
0
0
0
0
0
-1
10
35
-39
0
-21
2
42
34
-28
0
0
0
0
0
0
0
0
-1
-51
75
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
16
0
0
0
0
0
0
0
0
0
0
0
0
0
33
14
33
56
20
40
4
0
0
0
0
0
0
0
0
0
3
17
11
28
4
-21
10
0
0
0
0
0
0
0
0
0
0
-8
-3
58
3
13
23
21
1
16
-40
-4
0
0
0
0
0
0
-2
-31
10
25
7
-21
-8
-32
-20
-9
1
0
0
0
0
0
0
17
35
56
19
20
21
0
0
-54
-32
-21
0
0
0
0
0
0
20
-10
52
-20
3
-6
6
0
-44
15
-1
0
0
0
0
0
0
18
-6
16
27
-29
18
45
-6
11
11
0
0
0
0
0
0
0
0
19
-18
84
22
-8
-2
0
0
0
0
0
0
0
0
0
0
4
-12
29
-10
10
56
0
0
-8
0
0
0
0
0
0
0
0
0
-17
-6
50
-28
7
34
-20
0
-1
0
0
0
0
0
0
0
0
-32
37
33
44
-36
-35
0
0
0
1
0
0
0
0
0
0
12
3
-36
82
17
-13
50
39
-1
16
-3
0
0
0
0
0
0
0
4
-22
26
6
29
8
2
2
-6
-3
0
0
0
0
0
0
1
37
-4
51
-12
58
21
-49
2
13
0
0
0
0
0
0
0
0
3
22
-4
2
14
-4
-54
1
10
0
0
0
0
0
0
0
0
-74
-41
11
-37
60
28
14
3
-10
1
0
0
0
0
0
0
0
29
-39
19
-9
8
1
1
0
-1
0
0
0
0
0
0
0
0
2
18
30
42
4
0
-10
0
0
0
0
0
0
0
0
0
0
0
-50
-13
11
-9
38
-19
0
0
4
0
0
0
0
0
0
0
1
-18
51
-32
44
81
0
0
0
41
0
0
0
0
0
0
0
-22
55
69
36
42
24
11
-28
14
-56
0
0
0
0
0
0
0
-18
63
-9
46
-6
-19
53
16
-2
-54
0
0
0
0
0
0
0
-2
-22
11
39
28
-2
51
-77
35
17
0
0
0
0
0
0
0
46
-12
18
21
2
24
-10
-32
-2
-4
0
0
0
0
0
0
0
-9
-47
-20
-18
84
0
0
18
1
1
0
0
0
0
0
0
0
0
39
-18
15
-22
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-55
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
-12
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
27
8
0
0
0
0
-3
0
0
0
0
0
0
0
-3
1
46
27
-26
34
2
11
-7
-3
0
0
0
0
0
0
0
-2
-23
6
-34
25
-53
2
-7
-2
-4
0
0
0
0
0
0
0
9
8
-20
-20
1
-9
-24
5
0
-6
0
0
0
0
0
0
0
-6
49
55
19
-5
7
-11
-1
-2
0
0
0
0
0
0
0
0
0
10
51
9
12
-6
0
0
-1
2
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
2
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
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-7
0
3
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
-9
0
-13
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
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
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-16
6
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
27
-3
-3
-6
0
0
0
0
0
0
0
0
0
0
2
0
-11
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
4
2
0
0
2
-1
0
0
0
0
0
0
0
0
-12
0
-12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
8
2
0
0
0
0
0
0
0
0
0
0
0
0
18
-2
-6
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-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
26
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-60
0
-39
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
41
0
-42
35
0
-8
0
0
0
0
0
0
0
0
17
0
39
0
54
-6
-58
0
0
0
0
0
0
0
0
0
0
0
10
-1
16
-10
13
-50
0
-40
0
0
0
0
0
0
0
0
1
-3
-33
3
-25
34
0
0
-42
0
0
0
0
0
0
0
0
0
26
0
4
0
-3
46
0
-3
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
1
0
20
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
19
0
0
0
-25
0
0
0
0
0
0
0
0
0
2
10
45
-4
-41
-2
0
-13
0
0
0
0
0
0
0
0
22
-6
-55
5
3
7
-5
0
-4
0
0
0
0
0
0
0
0
0
-6
-1
15
-1
148
0
0
0
0
0
0
0
0
0
0
0
-10
-2
19
-11
-29
-36
0
0
-19
0
0
0
0
0
0
0
0
-9
5
3
69
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
-9
0
0
0
0
0
0
0
0
0
15
0
6
0
-3
0
1
-29
0
0
0
0
0
0
0
0
-1
0
-4
-1
-12
2
0
0
0
0
0
0
0
0
0
0
0
-14
23
5
6
7
15
0
0
7
0
0
0
0
0
0
0
0
0
0
1
6
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-6
-18
0
0
0
0
0
0
0
0
0
0
1
8
0
34
13
-3
-63
13
0
0
0
0
0
0
0
0
-4
0
0
2
23
47
3
12
0
0
0
0
0
0
0
0
0
28
0
0
-3
-3
0
-1
0
9
0
0
0
0
0
0
0
0
-3
0
0
4
-1
8
3
7
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
15
-25
0
5
0
0
0
0
0
0
0
0
0
14
-38
47
-60
-45
29
-31
-1
0
0
0
0
0
0
0
-2
-7
-6
-51
36
6
10
-14
54
18
0
0
0
0
0
0
0
0
-21
-4
-3
-6
-10
19
-25
1
8
0
0
0
0
0
0
0
0
-2
0
8
-17
-12
43
18
26
0
0
0
0
0
0
0
0
0
-6
0
-2
0
12
11
8
47
-6
0
0
0
0
0
0
0
0
0
-1
0
-8
-5
81
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
9
36
11
87
0
5
-2
0
0
0
0
0
0
0
36
18
-1
-17
-3
-28
15
-12
-22
0
0
0
0
0
0
0
0
-2
-3
4
-10
17
30
3
60
-19
0
0
0
0
0
0
0
0
-1
-3
-4
27
9
8
15
9
10
-4
0
0
0
0
0
0
0
-32
0
0
8
0
-29
-63
1
2
0
0
0
0
0
0
0
0
0
0
0
-3
-12
0
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-11
6
-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
-7
11
-16
0
1
0
-7
43
0
0
0
0
0
0
0
0
0
16
0
0
0
0
24
-3
92
20
-16
-8
0
0
0
0
0
0
0
0
6
3
19
45
34
-106
18
43
0
0
0
0
0
0
0
0
0
0
12
-1
25
6
21
1
8
0
0
0
0
0
0
0
0
0
0
0
-11
20
3
11
-9
0
0
0
0
0
0
0
0
0
0
-1
0
0
19
0
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
18
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
4
1
0
0
0
35
35
15
0
-4
2
0
0
0
0
0
0
0
3
0
3
-7
32
27
-1
-15
6
-3
0
0
0
0
0
0
0
1
1
35
10
3
-42
80
14
2
0
-1
0
0
0
0
0
0
0
-4
9
12
79
1
-5
10
-6
0
0
0
0
0
0
0
0
-3
0
0
2
-10
10
5
13
-2
0
0
0
0
0
0
0
0
0
0
2
7
17
-27
-18
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-6
19
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-12
35
2
0
23
-5
0
9
0
0
0
0
0
0
0
-11
0
8
47
-42
-92
30
52
24
-1
3
0
0
0
0
0
0
-10
45
0
36
-29
-14
-54
25
16
11
0
0
0
0
0
0
0
-8
24
5
1
-19
18
15
6
1
12
-1
0
0
0
0
0
0
7
0
-3
0
-17
-48
-7
-11
92
11
0
0
0
0
0
0
0
0
1
1
-6
15
12
1
-25
34
-1
0
0
0
0
0
0
0
8
0
6
0
18
3
-13
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-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
21
1
-6
72
-4
0
-6
0
-22
0
0
0
0
0
0
0
3
47
-3
67
-41
-17
8
17
46
-32
0
0
0
0
0
0
0
16
-41
-15
11
4
27
20
34
-20
-11
6
0
0
0
0
0
0
0
0
29
10
27
52
50
25
9
33
0
0
0
0
0
0
0
0
1
8
-1
58
47
40
-13
82
24
-3
0
0
0
0
0
0
0
8
11
12
-1
73
17
-53
-34
-7
0
0
0
0
0
0
0
0
0
0
-15
-24
-1
2
-25
24
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
2
-1
0
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
32
-40
-51
-34
19
0
0
-15
4
0
0
0
0
0
0
-31
45
43
50
-6
34
22
17
11
11
-2
-4
0
0
0
0
0
28
17
18
-15
11
34
41
26
9
0
-1
0
0
0
0
0
0
-30
-5
25
-15
-23
8
-59
-45
-36
22
-2
0
0
0
0
0
0
-7
16
-2
-1
-8
-23
38
-23
-52
0
-4
0
0
0
0
0
0
0
24
6
-1
27
70
-14
-22
19
-1
-1
0
0
0
0
0
0
0
0
0
-7
0
8
2
10
-6
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
55
15
14
-2
-23
-1
0
0
17
0
0
0
0
0
0
0
76
15
-4
-33
-2
-23
36
-33
10
13
0
0
0
0
0
0
0
-9
11
-1
0
-47
-11
26
0
-18
10
0
0
0
0
0
0
0
-2
-20
-33
28
70
-58
-25
-14
25
0
1
0
0
0
0
0
0
25
-1
10
12
12
-54
-25
-1
-14
0
0
0
0
0
0
0
0
61
0
-23
7
4
2
-12
14
1
0
0
0
0
0
0
0
0
0
0
0
-23
53
2
-17
-10
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
19
8
1
0
7
0
-1
0
0
0
0
0
0
0
-10
18
-8
35
8
-48
4
-11
-2
0
0
0
0
0
0
0
0
20
10
-3
0
-6
-21
15
-20
0
0
0
0
0
0
0
0
0
22
-2
11
4
-40
-21
35
-1
8
0
0
0
0
0
0
0
0
0
0
0
36
3
1
2
-18
6
-3
0
0
0
0
0
0
0
-4
0
-3
-4
-4
15
-16
5
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-11
-6
27
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
-2
-10
0
12
0
0
0
0
0
0
0
0
0
3
1
0
0
3
24
0
4
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-2
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
20
-10
-53
19
-40
-36
0
0
0
0
0
0
0
0
0
8
1
-2
-42
-80
-5
12
16
-5
0
0
0
0
0
0
0
0
-19
0
0
-1
42
-13
2
-13
-4
0
0
0
0
0
0
0
0
-5
-11
0
-9
4
-39
54
-22
-3
0
0
0
0
0
0
0
0
-6
0
0
7
1
-4
-5
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
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
-29
-33
-28
29
-13
-5
0
-22
0
0
0
0
0
0
0
22
3
10
-46
-14
54
-16
50
26
-27
0
0
0
0
0
0
0
1
-22
15
40
10
38
24
67
28
-33
0
0
0
0
0
0
0
8
-2
-1
1
-2
9
-13
44
-49
-6
0
0
0
0
0
0
0
0
82
0
0
-19
64
32
36
-8
17
0
0
0
0
0
0
0
0
19
0
10
2
11
61
9
36
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
27
-8
-2
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
16
-9
0
-1
-13
12
20
0
-30
-2
0
0
0
0
0
0
-1
-21
-12
-2
-9
17
25
55
-8
55
2
0
0
0
0
0
0
0
5
0
-26
-11
47
72
-58
23
51
-1
0
0
0
0
0
0
0
-36
-7
34
-69
51
23
12
37
-34
-1
0
0
0
0
0
0
0
-11
-2
12
43
-12
0
-4
-12
24
3
0
0
0
0
0
0
0
-2
0
0
0
5
39
50
-10
33
0
0
0
0
0
0
0
0
0
0
0
-2
-2
21
9
57
-25
0
0
0
0
0
0
0
0
1
-2
0
0
0
30
6
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
-3
0
21
-12
25
38
-25
-24
0
18
-3
0
0
0
0
0
0
-35
2
2
-11
76
-32
84
62
-39
18
-13
-3
0
0
0
0
0
-1
3
7
-50
-29
53
-21
-15
4
18
-1
0
0
0
0
0
0
0
0
0
11
-57
93
65
-58
-11
-1
0
0
0
0
0
0
0
0
3
1
3
-13
-4
23
-2
25
-8
8
0
0
0
0
0
0
0
0
0
-3
-1
-26
-20
11
6
2
24
0
0
0
0
0
0
0
0
0
0
-1
-3
13
-1
-3
-3
2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
15
4
30
-24
-18
-41
20
0
20
1
6
0
0
0
0
0
9
-16
-3
33
26
4
-33
31
-8
2
6
0
0
0
0
0
0
5
15
-6
-44
-13
20
36
-16
-31
-41
0
0
0
0
0
0
0
-1
-5
12
40
21
14
28
62
12
14
0
0
0
0
0
0
0
0
-12
-6
-33
-40
-10
-17
-19
-44
-5
2
6
0
0
0
0
0
0
0
0
24
5
51
-15
47
36
-6
2
-4
0
0
0
0
0
0
0
0
3
-1
3
-121
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-10
35
-12
34
10
6
35
0
-2
0
1
0
0
0
0
0
62
47
-21
1
52
-25
-57
-1
8
-4
-16
0
0
0
0
0
0
46
-21
-13
45
1
-7
16
51
-23
-23
-1
0
0
0
0
0
0
43
-33
-1
-23
-22
-19
-9
34
64
-9
0
0
0
0
0
0
0
-1
44
12
-57
-5
33
39
72
39
-7
1
0
0
0
0
0
0
0
-4
2
33
-23
-24
5
16
-10
7
0
0
0
0
0
0
0
0
-4
0
0
-34
4
-9
-29
31
5
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
20
0
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
47
-19
-5
64
-11
15
-8
-26
0
4
-3
-3
0
0
0
0
0
16
1
44
24
49
-9
-19
3
-11
-16
-3
0
0
0
0
0
0
57
11
14
20
-6
5
53
13
-1
-54
0
0
0
0
0
0
0
-18
-40
-34
25
-19
12
-31
22
33
-48
0
0
0
0
0
0
0
-11
10
58
-11
-27
-7
-17
51
-5
5
-9
0
0
0
0
0
0
2
-14
3
14
9
68
24
57
-27
-73
0
0
0
0
0
0
0
0
-1
-1
3
2
-4
-1
-40
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
-21
3
-39
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
48
-55
13
11
74
30
-25
95
0
10
1
-2
0
0
0
0
0
-1
79
-15
19
-2
31
34
62
7
-20
-6
0
0
0
0
0
0
20
77
-6
-15
35
17
19
31
-38
52
1
0
0
0
0
0
0
-15
51
87
-18
29
32
-21
-15
26
-8
-25
0
0
0
0
0
0
48
-2
-1
7
5
11
7
39
35
-15
-8
0
0
0
0
0
0
-3
-12
-5
65
12
-13
53
-14
70
3
-11
0
0
0
0
0
0
-17
-8
0
4
-46
2
16
26
2
9
0
0
0
0
0
0
0
0
0
0
1
0
7
-7
5
-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
-21
21
-2
8
-49
25
39
-5
0
-18
2
-6
0
0
0
0
0
61
-2
-4
-21
-13
28
-1
4
-24
-32
4
0
0
0
0
0
0
16
29
-36
-51
5
21
26
-2
18
53
12
0
0
0
0
0
0
6
-22
-41
65
33
31
45
45
4
-7
10
0
0
0
0
0
0
-1
7
99
14
6
21
10
-9
15
-4
-1
0
0
0
0
0
0
23
9
50
-31
-27
-47
-50
17
-37
-5
1
0
0
0
0
0
0
9
2
5
16
10
3
-62
-25
-22
26
0
0
0
0
0
0
0
0
-13
-19
0
-1
20
-38
93
-9
0
0
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
25
0
63
-13
-7
-11
0
37
3
0
0
0
0
0
0
0
63
4
14
47
44
6
6
15
0
51
2
0
0
0
0
0
0
2
5
-103
-17
23
-23
16
-11
40
-12
0
0
0
0
0
0
0
5
-16
-35
-4
-4
-7
-26
84
16
-8
0
0
0
0
0
0
0
37
-27
-3
12
26
51
20
13
-22
20
0
0
0
0
0
0
0
13
23
-37
11
1
53
-14
-32
-5
25
0
0
0
0
0
0
0
25
17
-27
-53
-3
5
16
18
28
0
0
0
0
0
0
0
0
0
0
-16
0
-8
-11
21
-21
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
2
11
-3
42
17
-46
0
11
1
-1
0
0
0
0
0
0
0
1
23
-7
7
-73
1
6
9
41
2
0
0
0
0
0
0
0
-5
-5
30
-5
71
14
4
-48
8
3
0
0
0
0
0
0
0
33
10
-7
54
51
15
24
42
1
0
0
0
0
0
0
0
0
19
6
3
-24
10
45
14
68
-2
0
0
0
0
0
0
0
0
-4
3
-37
-12
-4
9
2
22
-10
-9
0
0
0
0
0
0
0
0
2
2
0
-25
3
-2
-33
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-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
4
0
-7
-1
0
-6
-1
0
0
0
0
0
0
0
0
0
-7
6
-1
-17
0
-3
-10
-41
0
0
0
0
0
0
0
0
0
2
-3
-3
-3
8
33
6
-3
15
0
0
0
0
0
0
0
0
-12
-1
0
-7
0
0
14
-24
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-19
41
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-11
0
34
8
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
-7
0
0
0
0
0
0
0
0
0
1
8
-4
36
20
-25
-37
22
-19
0
0
0
0
0
0
0
0
4
1
-3
43
-7
-7
29
-15
-6
0
0
0
0
0
0
0
0
0
4
2
-25
-20
-19
-15
-5
3
0
0
0
0
0
0
0
0
0
6
0
-6
17
15
-18
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
0
6
76
-44
-92
-39
0
8
0
0
0
0
0
0
0
44
33
0
7
37
14
41
47
-11
-40
0
0
0
0
0
0
0
12
-10
-2
-21
-2
6
29
13
31
39
0
0
0
0
0
0
0
-1
8
8
-13
-18
11
-13
-3
-31
0
0
0
0
0
0
0
0
0
-24
19
0
17
48
20
4
-14
2
0
0
0
0
0
0
0
0
-19
0
-3
-1
-54
-22
-36
18
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
22
-4
4
-4
-51
-30
0
1
13
0
0
0
0
0
0
0
-3
-1
76
-37
-9
19
-36
24
-21
3
0
0
0
0
0
0
-8
-6
-3
23
-33
42
-16
-44
-2
21
-8
0
0
0
0
0
0
0
2
-1
-4
7
35
-44
-9
3
20
0
0
0
0
0
0
0
0
-29
30
-2
8
-22
10
0
43
6
0
0
0
0
0
0
0
0
0
7
2
11
28
-15
1
-14
22
1
0
0
0
0
0
0
0
0
0
0
0
0
13
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
24
21
-20
-54
0
-37
-1
0
0
0
0
0
0
-2
1
18
-13
-19
48
1
-8
-40
-11
47
8
0
0
0
0
0
0
0
-2
-3
24
-20
15
-41
-36
-1
7
6
0
0
0
0
0
-3
1
-2
-34
26
58
-2
-34
1
6
0
0
0
0
0
0
0
0
0
-16
10
40
-20
-24
-9
23
0
-11
0
0
0
0
0
0
0
-4
-19
0
-6
4
11
-4
-1
5
1
0
0
0
0
0
0
0
0
0
0
1
0
55
-7
-8
0
-7
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
11
-8
1
3
75
31
-49
-47
0
-26
0
0
0
0
0
0
0
-21
61
-9
33
49
-30
2
-5
38
11
2
0
0
0
0
0
0
-1
-39
10
69
-24
5
7
39
56
4
-1
0
0
0
0
0
0
-3
39
-1
5
-12
33
11
24
26
46
2
0
0
0
0
0
0
1
6
11
-18
5
48
-5
-5
65
0
3
-1
0
0
0
0
0
-2
-6
-1
13
21
50
18
-20
23
21
0
0
0
0
0
0
0
-2
-1
-10
0
-1
0
32
20
2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
17
-34
13
-23
-17
24
19
7
0
-25
0
0
0
0
0
0
0
56
37
16
20
6
27
31
33
29
8
8
0
0
0
0
0
0
14
14
20
38
25
40
-1
22
-19
-37
-1
0
0
0
0
0
0
17
3
-31
-23
11
28
26
18
19
43
0
0
0
0
0
0
0
14
-32
-11
-7
60
28
23
14
7
4
0
0
0
0
0
0
0
-27
27
-10
7
-40
11
-9
35
-23
19
0
0
0
0
0
0
0
4
3
6
0
-26
-25
13
-31
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-36
18
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
-13
-43
-13
71
45
45
-1
-10
0
-48
-1
0
0
0
0
0
0
40
-9
-37
29
4
-15
10
47
-18
61
7
0
0
0
0
0
0
-4
37
43
-13
27
53
70
-11
29
-14
0
0
0
0
0
0
0
-19
-29
35
-19
50
23
16
22
4
65
0
0
0
0
0
0
0
-12
-4
-26
-7
-35
22
26
0
63
-27
0
0
0
0
0
0
0
-1
-71
-15
46
-6
49
-2
8
-14
13
0
0
0
0
0
0
0
1
0
44
4
11
-21
7
20
-24
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-24
3
34
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
24
-22
37
26
74
9
-39
22
0
-13
-8
-11
0
0
0
0
0
29
7
6
17
36
19
21
-15
29
-1
12
0
0
0
0
0
0
42
-1
5
-32
36
31
33
-1
9
-33
25
0
0
0
0
0
0
-4
-36
25
6
13
-1
61
-12
60
12
2
0
0
0
0
0
0
-31
-41
13
25
8
-54
16
41
13
-30
-22
0
0
0
0
0
0
-11
37
28
23
-24
-40
-56
45
-43
28
1
0
0
0
0
0
0
8
20
0
-7
23
15
13
2
59
-2
0
0
0
0
0
0
0
0
1
0
-28
7
55
32
86
3
-1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-2
0
0
0
0
0
0
0
0
-12
31
6
-8
39
-23
4
7
0
-28
5
0
0
0
0
0
0
42
-23
-15
-30
-28
-1
-3
7
-24
23
90
0
0
0
0
0
0
-66
19
1
12
46
25
-4
-32
-81
-10
-2
4
0
0
0
0
0
37
-19
21
25
-14
7
19
-20
31
-20
-1
0
0
0
0
0
0
5
9
21
-33
19
42
47
-31
-59
28
1
0
0
0
0
0
0
1
9
-33
63
81
67
-9
-19
4
24
0
0
0
0
0
0
0
3
11
15
11
44
22
-14
5
32
68
0
0
0
0
0
0
0
0
19
0
6
-1
-29
-20
-6
-51
34
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
89
-64
-20
-30
10
9
-89
0
-23
43
18
0
0
0
0
0
0
10
-21
-1
-8
-5
-58
-11
-32
-36
-44
-1
0
0
0
0
0
0
-1
-15
-27
-2
-15
12
20
-11
-46
1
0
0
0
0
0
0
0
15
28
49
-16
-9
-4
34
-26
27
-7
0
0
0
0
0
0
0
-36
62
-70
-12
35
-4
21
-4
20
54
-1
0
0
0
0
0
0
-4
33
-21
10
21
47
-8
44
-46
56
0
0
0
0
0
0
0
18
0
2
-11
27
22
38
29
50
0
0
0
0
0
0
0
0
0
-6
-1
0
-18
-37
-48
9
-14
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
2
-12
9
-33
-10
0
29
4
0
0
0
0
0
0
0
0
-36
-37
75
-28
-32
-30
6
-35
-6
7
0
0
0
0
0
0
0
-23
3
-6
-10
19
16
10
-17
2
-1
0
0
0
0
0
0
0
0
8
-22
1
-20
-5
-44
45
-36
0
0
0
0
0
0
0
0
6
7
-5
16
1
-11
-9
14
13
3
0
0
0
0
0
0
0
-1
-11
4
16
-6
25
68
20
-5
-1
0
0
0
0
0
0
0
0
0
0
2
13
5
12
15
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
0
1
1
0
0
0
0
0
0
0
0
-3
0
-1
15
-8
3
0
-29
16
0
0
0
0
0
0
0
0
4
0
-8
16
20
-52
-18
1
0
0
0
0
0
0
0
0
0
-12
-1
0
-1
0
-26
3
5
-4
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
1
18
9
3
0
0
0
0
0
0
0
0
0
-38
0
0
-2
7
-8
-51
-10
8
0
0
0
0
0
0
0
0
18
6
0
12
-9
37
-13
25
16
0
0
0
0
0
0
0
0
0
8
0
10
28
41
-8
13
-18
0
0
0
0
0
0
0
0
-6
0
0
0
57
9
0
6
0
0
0
0
0
0
0
0
0
0
0
7
34
-2
-21
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
7
-2
-13
68
-38
0
-14
0
0
0
0
0
0
0
0
8
0
6
61
-14
-2
-37
0
-22
0
0
0
0
0
0
0
11
-50
74
10
3
4
21
-43
2
-8
0
0
0
0
0
0
0
0
0
42
-16
-26
23
21
-44
-57
-20
0
0
0
0
0
0
0
0
-32
29
-1
-34
22
6
68
82
37
0
0
0
0
0
0
0
0
8
0
-2
-11
-44
-18
-79
-11
-14
0
0
0
0
0
0
0
0
4
1
2
-1
-1
-37
17
11
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
-5
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-9
-2
-49
3
0
-68
-7
0
0
0
0
0
0
0
13
7
0
-36
-21
45
-21
11
45
11
0
0
0
0
0
0
0
19
0
0
0
2
-36
120
-49
31
1
0
0
0
0
0
0
0
1
-1
1
-2
38
19
-18
-13
0
-2
0
0
0
0
0
0
0
0
-3
-24
23
-32
-14
-22
-23
-6
-2
0
0
0
0
0
0
0
-1
-17
0
9
-3
3
5
-20
42
0
0
0
0
0
0
0
0
0
0
0
-4
0
-21
-1
12
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
-76
-15
-54
0
3
6
0
0
0
0
0
0
0
1
1
-18
-46
-40
-44
-58
12
10
-2
1
0
0
0
0
0
0
0
-7
14
44
5
11
21
3
-21
-38
0
0
0
0
0
0
2
9
-12
3
77
-17
-22
-50
-18
-2
-1
0
0
0
0
0
0
6
-3
0
0
-37
-17
56
-73
-8
0
0
0
0
0
0
0
0
0
0
-2
2
-7
62
-3
81
-6
8
0
0
0
0
0
0
0
0
-3
-1
7
-1
-4
-1
0
17
-6
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
-20
19
-33
-80
2
0
8
0
0
0
0
0
0
0
79
-21
64
-53
45
14
-7
2
18
38
0
0
0
0
0
0
0
12
-7
3
25
-63
-86
-23
-11
17
-30
7
0
0
0
0
0
0
-4
7
2
18
3
57
-3
11
14
2
0
0
0
0
0
0
0
0
-8
-1
12
-11
19
30
1
82
0
0
0
0
0
0
0
0
3
0
68
33
32
12
13
-12
13
-1
0
0
0
0
0
0
0
-8
0
0
0
-13
0
8
3
-6
0
0
0
0
0
0
0
0
0
-2
0
-10
0
6
10
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
0
-8
0
0
0
0
0
0
0
0
0
-9
54
-25
-9
29
38
49
-11
0
-4
0
0
0
0
0
0
0
-92
-3
-57
59
15
-1
-47
29
14
-17
-3
0
0
0
0
0
0
-36
-20
25
-25
-39
26
-7
-24
38
19
0
2
0
0
0
0
0
80
17
33
-16
-11
-13
27
2
2
-20
-2
0
0
0
0
0
0
-8
-19
38
26
-22
16
13
58
-39
12
0
0
0
0
0
0
0
7
-20
-17
19
11
20
-14
14
40
-25
10
0
0
0
0
0
0
-6
-11
-6
-3
7
-28
72
33
54
-6
6
0
0
0
0
0
0
0
0
0
0
2
22
56
8
-20
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
8
7
30
45
26
36
-28
20
0
33
-2
2
0
0
0
0
0
6
12
-38
0
20
-15
70
64
8
25
6
0
0
0
0
0
0
-5
-22
54
-39
2
-9
15
-24
-14
-13
3
0
0
0
0
0
0
-8
-17
-54
-44
6
-2
-9
39
-2
-12
1
0
0
0
0
0
0
26
-54
41
-29
38
1
0
23
-16
42
-11
0
0
0
0
0
0
28
13
34
116
12
-22
18
34
13
-4
2
0
0
0
0
0
0
11
2
-17
-17
10
17
26
-8
39
-1
0
0
0
0
0
0
0
0
1
1
-8
2
-11
-32
-18
19
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
49
42
-29
72
93
46
-14
-8
0
73
0
-1
0
0
0
0
0
-14
20
34
-14
15
-18
-14
32
-19
-36
19
0
0
0
0
0
0
48
-1
-50
12
22
-17
59
-35
49
9
-6
0
0
0
0
0
0
35
-37
58
-33
18
50
12
31
-5
-4
1
0
0
0
0
0
0
20
5
-44
13
4
61
18
-6
63
70
3
0
0
0
0
0
0
-4
13
2
31
-16
9
53
12
50
-2
-4
-2
0
0
0
0
0
26
10
19
63
24
24
26
37
50
4
4
0
0
0
0
0
0
0
10
1
8
0
31
38
6
3
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
4
0
4
0
0
0
0
0
0
0
0
11
-30
10
1
12
37
-27
-38
0
-25
1
0
0
0
0
0
0
84
9
-15
39
-44
-21
38
-20
-5
51
-19
3
0
0
0
0
0
-60
14
14
9
14
21
30
-13
-13
-18
-23
0
0
0
0
0
0
-31
22
-28
11
8
41
-44
-8
-27
-9
2
0
0
0
0
0
0
-23
-54
-15
15
33
28
15
20
-22
-3
1
1
0
0
0
0
0
27
7
-1
-23
7
-1
-10
-16
16
-29
-3
0
0
0
0
0
0
5
-9
-35
-12
-25
46
19
-24
-45
63
0
0
0
0
0
0
0
0
-6
12
-9
-7
5
-35
7
-21
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
-20
2
2
0
0
0
0
0
0
0
0
0
-24
-37
-10
-7
-3
14
34
0
-15
21
0
0
0
0
0
0
0
-33
-6
-2
0
-59
22
-20
20
36
-1
0
0
0
0
0
0
0
18
20
7
-16
-11
17
28
28
19
25
0
0
0
0
0
0
0
36
16
-6
60
22
-14
15
-23
-4
14
0
0
0
0
0
0
0
-23
28
-4
42
6
-25
30
-8
-46
-7
0
0
0
0
0
0
0
45
-19
4
41
51
7
53
-34
-2
-7
0
0
0
0
0
0
0
-1
45
15
40
-51
27
34
28
9
0
0
0
0
0
0
0
0
0
2
1
17
27
24
-29
5
-18
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
51
6
-1
-36
31
26
0
19
4
-7
0
0
0
0
0
0
0
11
8
0
-25
66
-12
0
-26
7
8
0
0
0
0
0
0
0
-10
7
-2
31
11
14
1
-5
-21
-1
0
0
0
0
0
0
0
4
10
23
-14
54
46
58
3
37
0
0
0
0
0
0
0
0
34
0
-1
25
9
-43
-24
27
2
0
0
0
0
0
0
0
0
0
0
1
6
-8
24
63
23
-12
4
0
0
0
0
0
0
0
0
0
0
-1
0
15
-28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
1
-8
0
6
-4
-20
0
0
0
0
0
0
0
0
-3
0
-2
3
0
0
14
-6
2
0
0
0
0
0
0
0
0
7
4
0
0
-1
-3
1
25
0
0
0
0
0
0
0
0
0
1
0
0
-3
7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-4
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
6
-11
0
0
0
0
0
0
0
0
0
0
3
4
0
-6
18
74
66
-30
0
0
0
0
0
0
0
0
-9
0
0
-13
10
-49
11
39
-10
0
0
0
0
0
0
0
0
-6
0
0
37
37
45
11
24
2
0
0
0
0
0
0
0
0
0
0
0
-13
20
9
6
3
11
0
0
0
0
0
0
0
0
4
0
6
17
-6
47
36
-2
0
0
0
0
0
0
0
0
0
0
0
10
-1
-15
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-2
11
42
-54
-41
0
25
0
0
0
0
0
0
0
0
-29
-1
-15
37
-57
-1
36
45
24
0
0
0
0
0
0
0
0
-13
0
31
20
-36
8
35
13
12
0
0
0
0
0
0
0
0
12
-18
42
12
43
11
-9
-18
-51
0
0
0
0
0
0
0
13
0
8
-5
-31
23
-5
27
1
-8
0
0
0
0
0
0
0
0
-1
23
17
6
-8
46
32
-74
3
0
0
0
0
0
0
0
0
-1
0
1
-50
-32
50
-3
-24
-5
0
0
0
0
0
0
0
0
0
0
0
0
-17
41
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
24
-9
0
34
12
0
0
0
0
0
0
0
12
12
4
7
11
-11
-5
-15
-5
33
0
0
0
0
0
0
0
20
16
0
-4
-29
-37
2
-23
42
8
0
0
0
0
0
0
0
-7
2
-4
-36
58
11
-17
35
-42
27
0
0
0
0
0
0
0
4
0
13
1
-43
34
-4
-9
2
0
0
0
0
0
0
0
0
0
-2
43
13
47
-31
55
26
26
0
0
0
0
0
0
0
0
0
0
0
-10
2
-3
60
-3
6
0
0
0
0
0
0
0
0
0
0
0
-2
0
-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
-1
-4
12
-5
33
70
-49
-6
0
47
-9
0
0
0
0
0
0
-5
1
17
18
-30
-62
-104
-3
-28
-38
-15
0
0
0
0
0
0
3
13
49
12
-44
-38
16
27
-19
-15
-7
-2
0
0
0
0
0
1
0
-1
23
-23
-8
-89
-28
68
8
0
0
0
0
0
0
0
30
-3
10
0
-1
27
-20
-3
-10
4
0
0
0
0
0
0
0
-1
2
0
-11
46
-46
18
35
3
-8
0
0
0
0
0
0
0
-2
0
0
4
0
3
42
7
10
0
0
0
0
0
0
0
0
0
0
0
9
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
0
0
0
0
0
25
-2
-1
-6
-31
-52
-47
4
0
39
0
0
0
0
0
0
0
23
26
43
30
-23
29
4
27
-12
-8
0
0
0
0
0
0
0
3
-4
-22
-17
84
-11
45
12
9
-61
0
0
0
0
0
0
0
0
-9
0
2
38
-2
-15
28
19
7
4
0
0
0
0
0
0
-2
66
18
61
0
-49
-34
-50
15
39
-6
0
0
0
0
0
0
0
-18
-36
0
-21
-46
72
-2
-52
43
0
0
0
0
0
0
0
4
2
-1
0
-3
24
13
35
-30
0
0
0
0
0
0
0
0
0
-2
0
-4
0
14
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
4
3
0
0
0
0
0
0
0
0
3
-2
-34
30
-15
26
3
-51
0
64
2
0
0
0
0
0
0
-32
-48
-37
44
-21
-44
2
43
26
6
1
0
0
0
0
0
0
-41
-2
-5
-11
27
79
4
35
29
60
1
0
0
0
0
0
0
8
-11
18
39
-20
8
4
44
-97
-32
0
0
0
0
0
0
0
32
-30
-15
5
-5
0
32
-60
-1
-18
-4
0
0
0
0
0
0
18
-2
48
60
0
32
-33
-46
69
16
0
0
0
0
0
0
0
1
2
-10
26
82
37
28
23
56
0
9
0
0
0
0
0
0
0
0
-1
7
0
-21
41
-13
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
34
15
0
0
0
0
0
0
0
0
0
-8
32
-35
-35
24
-11
19
38
0
32
-3
0
0
0
0
0
0
-18
-21
60
21
46
35
28
-36
24
-17
-2
0
0
0
0
0
0
21
23
3
-40
-71
58
61
6
24
-44
-4
0
0
0
0
0
0
-39
7
18
2
6
-11
1
-9
-6
-6
12
0
0
0
0
0
0
-8
-57
22
18
58
7
0
6
49
14
0
0
0
0
0
0
0
0
-13
69
8
58
20
-13
29
19
13
0
0
0
0
0
0
0
0
27
-4
90
7
-1
56
-18
79
11
-2
0
0
0
0
0
0
0
0
-2
0
0
46
-23
-9
22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
51
0
11
0
0
0
0
0
0
0
-9
-8
-4
44
29
-32
-28
-7
0
3
-12
0
0
0
0
0
0
45
-30
-13
-8
56
6
12
5
23
-17
18
0
0
0
0
0
0
26
-40
-74
-27
43
41
8
17
-12
8
8
0
0
0
0
0
0
-73
-1
-48
41
3
67
26
-31
-9
66
1
4
0
0
0
0
0
-31
-6
-13
-11
52
41
10
0
21
-38
33
0
0
0
0
0
0
-7
-49
-19
35
32
0
-21
-58
9
14
-2
0
0
0
0
0
0
-10
8
-9
-38
36
-22
26
35
27
6
1
0
0
0
0
0
0
0
0
27
-5
0
-44
-16
5
38
21
0
0
0
0
0
0
0
0
0
0
0
11
0
9
-2
-4
0
0
0
0
0
0
0
0
-2
14
-40
-120
72
-15
-9
5
0
-20
1
0
0
0
0
0
0
14
74
-1
5
9
17
15
-82
-43
-11
14
-6
0
0
0
0
0
24
10
-76
-10
63
6
9
0
-16
26
0
-7
0
0
0
0
0
59
6
-23
54
11
55
11
16
-35
89
41
0
0
0
0
0
0
-4
-35
-23
56
3
-8
51
6
0
13
0
0
0
0
0
0
0
11
0
-1
-43
54
3
-12
53
-6
39
0
0
0
0
0
0
0
44
0
27
17
55
16
25
16
-41
-17
3
0
0
0
0
0
0
0
-1
43
14
12
-1
48
13
-37
25
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
10
2
0
0
0
0
0
0
0
0
0
40
-35
-20
8
10
0
16
0
22
-1
0
0
0
0
0
0
0
-32
1
-6
-11
-16
-10
0
-25
-19
-16
1
0
0
0
0
0
0
-36
-27
67
38
-32
-31
10
-34
9
-3
0
0
0
0
0
0
0
-21
44
-2
15
21
1
-30
22
-85
-5
1
0
0
0
0
0
0
50
19
46
-3
62
34
9
9
0
0
0
0
0
0
0
0
0
4
11
31
49
17
34
72
58
20
2
0
0
0
0
0
0
0
33
-27
2
-21
12
11
27
7
6
-3
0
0
0
0
0
0
0
-2
1
0
0
19
-45
-22
6
10
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
32
-4
0
24
-19
-33
0
8
12
6
0
0
0
0
0
0
0
-3
-14
-8
67
-14
16
-75
-47
-33
5
0
0
0
0
0
0
0
41
2
49
8
67
-44
-32
37
-55
-1
0
0
0
0
0
0
0
-19
3
0
20
-50
-60
18
18
-25
2
0
0
0
0
0
0
0
0
25
0
20
45
68
5
-3
0
-8
0
0
0
0
0
0
0
-1
-4
2
0
-16
35
-7
14
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-33
-22
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
23
51
0
0
0
0
0
0
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
-6
0
0
-15
-7
0
0
0
0
0
0
0
0
3
6
0
-15
-8
22
1
6
-16
0
0
0
0
0
0
0
0
2
0
7
-1
-7
5
33
5
20
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
8
-5
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
-10
-6
0
0
0
0
0
0
0
0
0
0
-1
0
26
4
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
10
-1
0
0
0
0
0
0
0
0
0
-3
0
0
12
1
16
0
21
-14
0
0
0
0
0
0
0
0
-6
0
-1
1
-4
-3
15
12
4
0
0
0
0
0
0
0
0
9
-10
7
-26
-3
34
3
14
-1
0
0
0
0
0
0
0
0
8
0
-2
-2
40
0
84
2
-1
0
0
0
0
0
0
0
0
0
0
62
-7
19
-32
0
0
20
0
0
0
0
0
0
0
0
0
7
0
3
88
11
17
11
1
0
0
0
0
0
0
0
0
0
0
0
99
0
22
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
3
-8
1
-1
-6
17
14
0
-1
0
0
0
0
0
0
0
0
16
0
1
11
-7
9
-28
-26
-37
0
0
0
0
0
0
0
0
0
7
13
-3
-31
-2
-15
-15
20
0
0
0
0
0
0
0
3
-6
0
53
43
58
11
-13
-12
-65
0
0
0
0
0
0
0
0
78
5
2
60
6
84
30
-29
8
0
0
0
0
0
0
0
-2
0
-7
-17
-39
-2
-71
-19
-8
5
0
0
0
0
0
0
0
0
-9
0
-18
49
-15
-43
-45
-34
0
0
0
0
0
0
0
0
0
-3
0
3
0
-21
-16
-4
1
12
0
0
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
15
-3
123
-18
19
0
49
1
0
0
0
0
0
0
0
-2
-1
1
-76
6
6
30
1
-11
-26
0
0
0
0
0
0
0
19
-2
3
33
-55
10
40
0
1
-9
0
0
0
0
0
0
0
25
-1
17
-1
-57
-40
-43
35
-44
-7
0
0
0
0
0
0
0
3
7
0
6
-60
16
-19
12
-2
0
0
0
0
0
0
0
0
-3
0
0
-50
28
-6
-13
-67
10
0
0
0
0
0
0
0
0
-7
0
0
-28
29
30
-8
44
3
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
-2
0
0
0
0
0
0
0
0
0
-1
-2
0
4
11
1
35
32
0
5
0
0
0
0
0
0
0
32
-2
-2
-28
20
37
-39
-1
32
11
25
0
0
0
0
0
0
0
0
0
10
-31
10
-2
-47
-9
19
10
0
0
0
0
0
0
3
0
-2
11
52
34
-25
-24
6
-3
0
0
0
0
0
0
0
-1
0
8
-60
39
25
-10
15
-20
0
0
0
0
0
0
0
0
2
0
1
0
8
33
19
1
2
2
0
0
0
0
0
0
0
-2
-2
0
4
1
10
-32
21
-10
0
0
0
0
0
0
0
0
0
0
0
4
0
-6
-2
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
34
-7
48
1
15
46
45
-12
0
-16
0
0
0
0
0
0
0
-8
-25
-10
27
-45
-1
38
-6
-9
-11
1
0
0
0
0
0
0
-3
-47
-2
-20
-141
2
28
23
5
-2
0
0
0
0
0
0
0
-1
7
-13
-26
-83
30
31
23
-3
-52
0
0
0
0
0
0
0
7
4
-48
-12
4
14
44
-42
-13
11
0
0
0
0
0
0
0
8
18
8
-13
0
-36
36
17
-42
1
2
0
0
0
0
0
0
3
0
2
0
-5
39
-9
43
47
0
0
0
0
0
0
0
0
0
0
0
-6
0
-7
1
41
12
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
-6
-9
-60
-39
0
-3
-16
16
0
53
0
0
0
0
0
0
0
-7
-31
-35
51
38
32
-6
8
44
-34
19
0
0
0
0
0
0
5
3
14
-41
0
13
51
19
-8
-1
0
0
0
0
0
0
0
-6
-25
0
5
-48
40
17
37
-30
6
0
0
0
0
0
0
0
11
-26
11
-14
-10
55
46
4
0
27
0
0
0
0
0
0
0
24
23
7
2
-8
0
-4
12
2
53
-6
0
0
0
0
0
0
8
48
-4
-15
-35
-46
-12
-10
97
0
0
0
0
0
0
0
0
0
0
0
-7
0
-30
-1
-18
13
-6
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
0
0
0
0
0
0
0
0
0
0
4
-14
17
-52
-13
27
-45
-6
0
-25
10
0
0
0
0
0
0
-12
-34
-7
8
-51
1
-7
15
6
-8
20
-1
0
0
0
0
0
8
31
39
-58
-15
63
30
16
22
-20
0
0
0
0
0
0
0
4
32
27
-15
-51
21
57
40
-19
16
0
0
0
0
0
0
0
18
-73
21
54
51
-30
54
40
-8
12
-3
0
0
0
0
0
0
36
49
-2
32
77
26
0
66
43
20
0
0
0
0
0
0
0
-2
11
71
-47
54
-13
-28
10
50
-10
0
0
0
0
0
0
0
0
-1
8
0
-10
-29
-13
22
6
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
0
0
0
0
0
0
0
0
0
42
17
2
-74
37
-2
18
10
0
6
3
0
0
0
0
0
0
28
-7
41
31
31
26
-8
18
0
-3
-31
0
0
0
0
0
0
68
28
-35
29
39
30
36
-4
26
-3
-1
0
0
0
0
0
0
21
-32
40
35
27
32
43
23
33
-15
12
0
0
0
0
0
0
41
0
40
-13
14
19
47
-35
-5
-7
0
0
0
0
0
0
0
-60
-22
77
-19
0
32
39
0
-5
33
-15
0
0
0
0
0
0
42
-4
63
-8
19
-14
27
-7
5
-13
-1
0
0
0
0
0
0
0
-5
-2
16
19
-1
-13
12
-12
0
0
0
0
0
0
0
0
0
0
0
3
9
0
-10
0
4
0
0
0
0
0
0
0
0
-7
43
1
-11
53
32
-5
-14
0
-47
-13
0
0
0
0
0
0
30
16
36
1
-41
10
-2
-40
-9
7
-48
0
0
0
0
0
0
-11
18
32
-27
-7
11
8
35
-7
-9
38
0
0
0
0
0
0
-21
1
-46
38
39
13
52
-20
-1
59
3
2
0
0
0
0
0
7
18
-41
34
-8
-23
16
-7
17
15
-4
1
0
0
0
0
0
27
-41
4
-81
35
17
23
-21
0
30
3
0
0
0
0
0
0
85
43
17
132
28
8
14
-31
-35
1
4
0
0
0
0
0
0
0
-6
16
3
-7
36
2
82
-16
48
0
0
0
0
0
0
0
0
0
0
0
4
0
-10
-4
3
1
0
0
0
0
0
0
0
0
-57
-13
-15
-49
-28
6
4
0
12
-10
-2
0
0
0
0
0
0
-27
45
11
8
10
-29
-30
-17
38
-6
0
0
0
0
0
0
0
-11
-3
14
13
40
34
44
-55
-10
-7
0
0
0
0
0
0
0
1
22
30
-20
27
44
-7
-5
-23
-53
0
0
0
0
0
0
0
0
73
-14
59
22
27
18
-7
-35
16
0
0
0
0
0
0
0
12
-19
-25
8
24
-16
39
-5
0
-14
0
0
0
0
0
0
0
-2
-12
-63
-5
34
-28
35
14
-20
0
0
0
0
0
0
0
0
0
-1
-7
0
-30
-21
9
46
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
22
17
-1
0
0
0
0
0
0
0
0
0
0
0
1
-2
26
33
0
-25
59
43
0
0
0
0
0
0
0
24
12
-13
44
-49
38
-16
-76
0
-5
0
0
0
0
0
0
0
9
15
1
17
-13
37
40
-2
-9
-43
0
0
0
0
0
0
0
-4
2
15
-13
71
31
-16
-6
16
-7
0
0
0
0
0
0
0
-1
-5
-8
42
17
19
-28
46
-3
4
0
0
0
0
0
0
0
-1
7
0
-8
-6
-40
-9
-21
0
3
0
0
0
0
0
0
0
0
0
0
2
4
8
-15
-53
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
10
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-13
0
1
-1
0
0
0
0
0
0
0
0
0
0
3
-1
0
-1
5
1
-19
34
0
0
0
0
0
0
0
0
-3
0
0
0
3
-1
5
37
-2
2
0
0
0
0
0
0
0
0
-2
0
2
1
8
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
16
0
2
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-6
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
65
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
47
0
-3
0
0
0
0
0
0
0
0
1
0
0
8
-1
19
0
24
0
0
0
0
0
0
0
0
0
0
4
0
1
-40
-6
-12
4
0
0
0
0
0
0
0
0
0
0
0
-7
-36
0
57
0
2
0
0
0
0
0
0
0
0
0
0
11
0
0
-58
0
54
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
15
0
0
-2
-8
-3
0
6
0
0
0
0
0
0
0
0
3
0
0
0
75
-41
1
36
-19
0
0
0
0
0
0
0
0
30
0
0
28
-22
-14
6
16
27
0
0
0
0
0
0
0
0
10
0
-40
17
44
-20
31
-66
-11
0
0
0
0
0
0
0
-8
-4
-29
-24
-17
5
9
-15
-13
1
0
0
0
0
0
0
0
1
0
8
-3
-28
-50
58
-3
8
0
0
0
0
0
0
0
0
0
0
-2
7
7
3
9
22
24
0
0
0
0
0
0
0
0
0
-12
0
6
-4
2
23
41
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
-16
-2
-35
-7
0
-5
0
0
0
0
0
0
0
0
1
1
0
-9
2
15
31
-39
13
-8
0
0
0
0
0
0
0
3
-3
-4
-1
-21
-25
10
19
-10
3
0
0
0
0
0
0
0
-6
7
0
5
42
-32
24
-10
-17
0
0
0
0
0
0
0
0
27
9
-17
-40
-90
15
28
-35
13
0
0
0
0
0
0
0
0
-3
0
-3
33
44
64
-53
8
0
0
0
0
0
0
0
0
0
-2
0
0
-1
14
-47
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
60
36
34
-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
-13
1
-11
0
0
0
0
0
0
0
0
0
11
0
-4
0
6
25
0
-9
66
-10
-1
0
0
0
0
0
0
0
0
0
0
-8
1
42
14
18
0
-2
0
0
0
0
0
0
13
0
0
2
2
-18
-4
8
-4
-2
1
0
0
0
0
0
0
0
0
-11
-3
10
36
22
41
-27
0
0
0
0
0
0
0
0
0
4
10
2
4
24
-11
-37
1
0
0
0
0
0
0
0
0
1
0
0
0
8
12
30
11
39
-2
0
0
0
0
0
0
0
0
0
0
16
0
8
-7
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
2
-15
-4
-60
-34
0
30
0
0
0
0
0
0
0
0
61
0
20
-16
-36
-39
-48
11
-25
0
0
0
0
0
0
0
0
39
4
40
3
42
50
-27
-11
-14
0
0
0
0
0
0
0
-2
-28
0
-6
18
-8
-50
-70
-37
-75
0
0
0
0
0
0
0
3
-1
-3
15
7
-18
-44
-18
-55
0
0
0
0
0
0
0
0
0
-19
7
27
21
-14
54
47
-11
37
0
3
0
0
0
0
0
-3
30
-3
27
0
25
8
7
7
11
0
0
0
0
0
0
0
0
-7
0
-2
0
56
39
-5
13
-1
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
-9
8
-4
7
3
0
-31
0
0
0
0
0
0
0
1
-11
-9
-13
-27
-21
-5
4
3
-17
-4
0
0
0
0
0
0
1
-27
0
54
26
12
22
4
25
4
-1
0
0
0
0
0
0
-24
40
16
-13
-18
24
19
52
41
0
-1
0
0
0
0
0
0
-5
-17
-11
3
62
25
-8
-10
20
-12
0
0
0
0
0
0
0
23
-3
21
-40
1
38
12
-41
45
3
6
0
0
0
0
0
0
1
36
-10
-2
-8
0
-25
-5
17
-8
0
0
0
0
0
0
0
0
-2
0
100
0
16
-3
-10
-11
0
0
0
0
0
0
0
0
0
0
0
0
18
0
2
3
0
0
0
0
0
0
0
0
0
4
5
3
-14
32
-47
4
18
0
-20
3
0
0
0
0
0
0
7
17
7
32
-46
25
-2
-24
-36
9
11
0
0
0
0
0
0
15
12
-8
-9
25
2
63
-36
-10
-31
-1
0
0
0
0
0
0
45
27
39
-14
4
-2
45
8
3
53
1
0
0
0
0
0
0
1
71
-22
1
-42
24
14
16
-4
-25
0
0
0
0
0
0
0
0
24
53
39
18
8
-13
-20
4
17
0
0
0
0
0
0
0
0
6
-6
33
30
-19
0
17
29
17
0
0
0
0
0
0
0
0
3
4
-15
-4
-10
22
22
25
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
-63
-14
26
-32
2
-24
-28
14
0
-26
5
0
0
0
0
0
0
-73
-44
47
14
63
-8
12
3
-44
26
-52
0
0
0
0
0
0
2
14
-45
-1
-22
30
13
-5
8
34
2
0
0
0
0
0
0
6
-42
4
-10
24
20
-22
-3
-27
-22
-27
0
0
0
0
0
0
7
-61
18
9
23
11
42
22
-9
-36
7
0
0
0
0
0
0
-29
14
65
64
-23
-7
-29
13
17
-50
-7
0
0
0
0
0
0
22
23
37
-14
38
-26
-12
0
31
-2
1
0
0
0
0
0
0
0
-3
-8
-38
18
9
22
12
21
10
0
0
0
0
0
0
0
0
0
0
0
11
0
14
-1
5
0
0
0
0
0
0
0
0
0
24
44
64
16
-47
-17
-34
0
-39
11
0
0
0
0
0
0
-2
24
-15
-20
3
31
-2
-10
-17
-3
-20
0
0
0
0
0
0
2
19
33
35
23
-27
39
4
20
12
-1
9
0
0
0
0
0
-15
10
7
31
-5
46
11
49
55
47
-4
0
0
0
0
0
0
46
18
-24
-4
5
-8
30
7
68
13
0
0
0
0
0
0
0
0
5
-15
65
-40
32
13
42
-41
15
-2
0
0
0
0
0
0
4
10
-27
-18
51
29
16
-45
0
6
0
1
0
0
0
0
0
0
16
5
-11
54
47
24
0
37
17
0
0
0
0
0
0
0
0
-6
0
0
0
-1
-6
46
0
2
0
0
0
0
0
0
0
0
16
-24
-34
-18
9
-9
-5
0
-4
7
0
0
0
0
0
0
0
-39
35
-27
36
-26
-13
-72
1
18
31
0
0
0
0
0
0
0
8
8
-26
4
-57
-9
8
2
16
-39
-3
0
0
0
0
0
0
35
32
36
-15
-3
17
20
14
-10
23
0
0
0
0
0
0
0
47
54
-28
-16
23
15
4
31
38
19
0
0
0
0
0
0
0
39
20
76
2
4
-11
50
-13
3
3
0
0
0
0
0
0
0
7
-68
22
48
13
15
-18
-30
0
-7
0
0
0
0
0
0
0
19
-3
-7
7
13
27
38
29
43
0
0
0
0
0
0
0
0
0
0
0
0
3
0
9
0
6
0
0
0
0
0
0
0
0
0
0
1
9
21
3
-18
0
8
-10
-8
0
0
0
0
0
0
0
-13
-85
-18
-5
-19
-25
-7
-25
-43
19
0
0
0
0
0
0
0
7
8
2
16
-7
-29
-68
-34
39
-2
0
0
0
0
0
0
0
2
50
14
4
-6
59
15
1
7
-4
0
0
0
0
0
0
0
-16
4
2
49
36
33
-5
13
-19
2
0
0
0
0
0
0
0
0
-4
0
1
-63
7
-17
-9
10
-7
0
0
0
0
0
0
0
0
-2
-3
-35
3
-12
-47
17
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-6
20
-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
-4
0
1
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
7
2
40
19
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-1
-3
-14
0
0
0
0
0
0
0
0
1
-1
0
1
0
-7
-3
0
0
4
0
0
0
0
0
0
0
-1
0
0
0
4
0
-4
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
-2
0
5
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
20
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
11
0
1
3
-1
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-10
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
-6
4
0
0
0
0
0
0
0
0
0
9
-18
0
39
1
3
0
-6
0
0
0
0
0
0
0
0
0
0
0
13
-7
39
-4
0
8
0
0
0
0
0
0
0
0
0
0
0
4
15
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
86
0
13
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-27
-6
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
32
3
-43
17
0
0
0
0
0
0
0
0
0
0
0
0
2
9
-6
6
-3
0
0
0
0
0
0
0
0
0
-3
-25
4
26
2
3
-7
2
0
0
0
0
0
0
0
0
0
0
-6
0
1
0
21
0
4
0
0
0
0
0
0
0
0
0
0
0
-15
5
-2
1
0
0
0
0
0
0
0
0
0
0
2
0
-3
-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
10
2
25
27
0
0
0
0
0
0
0
0
0
0
7
0
-13
0
-51
-18
-1
2
0
0
0
0
0
0
0
0
0
2
-18
-13
22
1
-20
-5
0
0
0
0
0
0
0
0
1
0
0
0
-34
15
7
-2
11
9
0
0
0
0
0
0
0
0
0
11
0
0
21
-2
8
1
0
1
0
0
0
0
0
0
9
-1
0
0
17
0
-36
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
27
-28
35
-16
16
0
0
0
0
0
0
0
0
1
-1
0
1
14
15
17
-40
20
0
0
0
0
0
0
0
0
-4
-2
3
-10
20
54
27
-5
-5
0
0
0
0
0
0
0
0
0
0
0
2
5
42
-1
9
0
0
0
0
0
0
0
0
-2
-4
-1
-10
3
-30
9
4
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-13
-2
-9
8
1
-3
0
0
0
0
0
0
0
0
0
0
-10
0
10
0
-1
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
-2
6
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
-15
-6
-16
48
7
-68
-1
-5
3
0
0
0
0
0
0
0
3
3
3
-33
-14
-23
72
9
-10
0
0
0
0
0
0
0
-7
-3
1
-11
-1
-37
-16
-4
-17
8
0
0
0
0
0
0
0
-13
17
-15
-2
-31
-3
-15
11
-34
-1
0
0
0
0
0
0
0
-1
-15
-32
5
-3
8
0
13
19
19
0
0
0
0
0
0
0
0
0
-2
-2
-16
0
2
27
18
1
-2
0
0
0
0
0
0
0
-3
0
-1
10
0
-22
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
51
-34
0
3
0
0
0
0
0
0
0
0
6
-9
-1
-3
4
51
-59
-24
34
0
0
0
0
0
0
0
0
-25
-7
0
10
-15
9
-8
49
6
-6
0
0
0
0
0
0
1
9
1
7
-16
-52
11
-32
24
41
0
0
0
0
0
0
0
-3
45
-7
-8
-50
-23
45
35
-27
0
0
0
0
0
0
0
0
44
15
45
71
0
-20
9
18
-20
-2
0
0
0
0
0
0
0
-1
11
1
0
-15
8
15
-7
-24
-2
0
0
0
0
0
0
0
0
-13
-2
-6
7
1
0
34
1
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
1
-2
1
-8
65
-5
-29
14
0
-9
0
0
0
0
0
0
0
-9
11
-52
1
42
54
-18
-66
12
2
-15
0
0
0
0
0
0
-9
-9
11
44
-38
44
46
-47
-16
-67
-1
0
0
0
0
0
0
27
3
-1
46
-7
35
72
14
16
21
-1
0
0
0
0
0
0
3
26
29
-1
41
-18
24
-36
51
-50
0
0
0
0
0
0
0
19
85
3
59
-3
-11
57
-15
19
-21
0
0
0
0
0
0
0
-1
-51
37
10
24
72
-16
-15
-7
0
0
0
0
0
0
0
0
1
67
30
-12
26
56
57
0
8
-12
0
0
0
0
0
0
0
0
0
0
0
-5
-3
-26
2
2
0
0
0
0
0
0
0
0
0
-40
-6
41
15
-17
-54
18
0
3
0
0
0
0
0
0
0
0
-23
-62
18
-59
-20
-53
-34
51
-39
3
0
0
0
0
0
0
-7
30
13
22
31
-35
17
30
5
-66
0
0
0
0
0
0
0
0
27
-21
1
-38
5
-7
1
29
-8
4
0
0
0
0
0
0
23
-7
5
49
5
26
-17
-45
29
-26
7
0
0
0
0
0
0
-20
-1
46
-6
11
-24
-40
-12
8
-4
0
0
0
0
0
0
0
-1
-3
25
25
-34
17
14
-4
9
-68
0
0
0
0
0
0
0
2
0
32
51
-8
-62
58
-35
0
-19
-1
0
0
0
0
0
0
0
1
-2
0
2
8
-10
9
-2
0
0
0
0
0
0
0
0
0
0
13
2
6
-10
-15
45
0
-5
7
0
0
0
0
0
0
0
-20
27
10
99
8
5
13
-19
-55
-8
0
0
0
0
0
0
0
69
16
-15
27
-38
-38
-26
-20
14
9
0
0
0
0
0
0
0
-9
3
22
-54
-82
-31
29
10
-7
39
0
0
0
0
0
0
0
22
-17
-9
-22
-51
26
6
5
-31
-21
0
0
0
0
0
0
0
21
70
-2
-1
-6
46
10
-5
-22
40
0
0
0
0
0
0
0
-18
-21
13
-26
41
-14
-4
19
2
-4
0
0
0
0
0
0
0
-6
-2
0
12
-22
-6
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-41
8
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
-21
0
-17
-3
0
0
0
0
0
0
0
0
0
0
0
4
15
-2
-47
-2
30
0
0
0
0
0
0
0
0
-4
4
0
36
8
-68
0
-18
36
-1
0
0
0
0
0
0
0
-3
-8
-3
-18
22
4
0
16
66
0
0
0
0
0
0
0
0
0
0
0
3
-52
14
46
-16
6
-1
0
0
0
0
0
0
0
-7
-1
0
1
-3
-5
13
-12
6
-1
0
0
0
0
0
0
0
0
0
0
3
-3
-1
-13
-24
0
5
0
0
0
0
0
0
0
0
0
0
-7
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
1
0
0
-2
1
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
-3
0
0
0
-3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
1
0
-38
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-2
9
0
21
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
0
2
3
0
0
0
0
0
0
0
0
0
0
6
0
2
0
0
-1
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
-2
0
0
0
0
0
0
0
0
0
0
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
8
-2
0
3
-2
50
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
81
-1
-12
0
4
2
0
0
0
0
0
0
0
0
2
0
2
-1
-14
0
21
0
-1
0
-1
0
0
0
0
0
0
-1
0
-7
8
23
-33
0
3
0
0
0
0
0
0
0
0
0
-6
-4
0
12
-17
0
3
-3
-26
0
0
0
0
0
0
0
0
0
0
0
6
0
22
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
0
4
0
0
0
0
0
0
0
0
0
0
5
-16
-4
-10
0
-9
0
0
0
0
0
0
0
0
0
-2
2
1
0
7
-9
-26
0
-1
0
0
0
0
0
0
0
0
-1
0
-10
-17
-6
1
-26
55
-3
0
0
0
0
0
0
0
0
0
0
8
11
6
0
34
7
10
0
0
0
0
0
0
0
0
1
0
0
-23
-8
-7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-13
-3
0
19
0
0
0
0
0
0
0
0
0
0
0
0
4
16
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-9
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-6
8
-11
56
30
0
0
0
0
0
0
0
0
0
0
0
18
-9
-6
-17
-21
3
2
0
0
0
0
0
0
0
0
0
-1
-1
-1
-3
13
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
0
0
0
0
0
2
2
0
22
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
0
0
0
-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
-3
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
3
0
0
-11
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-3
0
15
0
2
0
0
0
0
0
0
0
0
0
0
0
6
3
-9
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-7
7
0
1
-9
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
-17
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
6
-9
10
-6
0
-1
0
-3
0
0
0
0
0
0
0
37
-12
-17
-85
1
0
-2
0
-23
8
0
0
0
0
0
0
0
-7
-4
16
-21
11
8
-9
3
-7
57
-1
0
0
0
0
0
0
-11
-16
61
76
2
-26
-9
0
-39
1
0
0
0
0
0
0
0
6
5
1
12
-14
55
-7
-1
1
-6
0
0
0
0
0
0
0
13
-7
-11
-7
-7
2
-7
-2
-7
0
0
0
0
0
0
0
0
1
16
2
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
-4
2
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-27
-25
0
0
0
0
0
0
0
0
0
-16
-6
-43
0
0
9
1
-36
0
0
0
0
0
0
0
0
0
0
8
-13
1
0
0
1
-25
0
0
0
0
0
0
0
0
0
4
-4
3
1
4
0
-4
-6
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
-3
-1
-2
0
3
-1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-17
-4
24
2
0
-12
1
0
0
0
0
0
0
0
0
0
0
1
0
8
-4
0
0
-4
0
0
0
0
0
0
0
0
0
8
0
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-7
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
-2
-5
1
11
0
0
-8
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
32
-1
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
0
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-3
-2
-6
0
-2
-11
3
0
0
0
0
0
0
0
0
9
-4
4
0
-4
0
8
0
8
0
0
0
0
0
0
0
0
-20
-10
1
3
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
7
3
12
-24
0
0
2
0
0
0
0
0
0
0
0
0
0
-14
-7
4
-17
2
4
-15
-1
0
0
0
0
0
0
0
0
1
4
8
1
50
10
0
-1
-7
0
0
0
0
0
0
0
0
0
-10
4
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
4
23
37
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
23
-16
10
-2
-2
-2
-4
0
0
0
0
0
0
0
0
-1
11
-18
14
3
-25
-62
-1
-2
9
0
0
0
0
0
0
0
0
-7
-6
-1
7
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
-4
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
2
4
8
0
6
0
0
0
0
0
0
0
0
0
0
11
42
21
-17
103
0
0
-7
0
0
0
0
0
0
0
0
15
-24
33
-40
-42
9
-10
-6
-14
-12
-3
0
0
0
0
0
0
2
-12
3
-8
71
2
2
0
16
0
0
0
0
0
0
0
0
-12
-13
-35
13
65
19
1
-1
-10
0
0
0
0
0
0
0
0
1
72
9
31
-15
-4
0
0
-1
1
0
0
0
0
0
0
0
-3
0
-4
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
-57
-23
-25
0
-15
-89
-2
3
0
0
0
0
0
0
16
-36
43
-33
6
0
-3
0
-54
-1
1
0
0
0
0
0
0
-13
60
11
-12
-33
-30
-51
-24
30
-24
0
0
0
0
0
0
0
-3
32
24
62
-54
-22
20
-9
2
-1
-1
1
0
0
0
0
0
-37
4
2
16
9
-20
1
-3
1
0
0
0
0
0
0
0
0
-13
-31
48
43
-64
-28
-15
-23
2
1
0
0
0
0
0
0
0
0
-4
59
3
-1
2
0
0
-11
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
7
2
-7
0
0
-52
6
1
0
0
0
0
0
0
0
9
-25
-26
-7
0
0
0
4
15
7
0
0
0
0
0
0
0
-12
-2
24
-2
-11
18
8
9
36
-3
0
0
0
0
0
0
0
-10
-30
-3
43
15
6
-4
-12
20
11
2
0
0
0
0
0
0
-4
0
25
8
9
-19
16
-1
28
0
0
0
0
0
0
0
0
-2
4
-1
-11
6
20
10
0
0
0
0
0
0
0
0
0
0
0
2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
0
0
-2
0
0
0
0
0
0
0
0
0
2
-4
-1
3
4
-1
0
-4
0
0
0
0
0
0
0
0
0
2
4
0
-4
2
-7
1
3
-8
1
0
0
0
0
0
0
0
1
0
-10
1
0
-1
-16
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
2
6
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
1
6
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
2
-2
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
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
-1
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
53
12
2
-21
1
0
0
0
0
0
0
0
0
0
0
0
-1
-19
-5
-9
2
-10
-1
-7
1
0
0
0
0
0
0
0
0
10
10
-1
2
10
0
-1
0
0
0
0
0
0
0
0
0
-16
0
-6
7
-5
3
3
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
6
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
17
-14
-10
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
-8
2
0
1
-4
-3
0
0
0
0
0
0
0
0
-3
-8
1
-5
12
-4
10
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
5
0
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-42
-10
8
0
0
0
0
0
0
0
0
0
0
0
0
-6
-26
-20
0
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
12
13
-6
-61
-15
1
2
-4
3
0
0
0
0
0
0
0
0
-1
-21
-1
7
14
-4
0
-4
-4
0
0
0
0
0
0
0
0
0
0
7
-35
17
-3
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-12
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
9
1
-2
0
0
0
0
0
0
0
0
0
0
0
1
-14
13
40
24
4
-11
0
3
0
0
0
0
0
0
0
0
0
1
-11
15
3
-4
4
7
11
0
0
0
0
0
0
0
0
0
-14
1
8
-2
15
-2
-27
2
0
0
0
0
0
0
0
0
0
3
-9
-47
-17
-65
30
0
3
-2
0
0
0
0
0
0
0
0
0
-7
12
15
3
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
27
1
23
-3
0
0
0
0
0
0
0
0
0
0
0
1
14
30
-46
14
16
-3
0
7
0
0
0
0
0
0
0
0
-12
-24
-5
-4
-35
0
-3
2
-20
-6
0
0
0
0
0
0
0
2
-6
-70
-33
-29
-14
-4
35
3
-6
-6
0
0
0
0
0
0
0
-24
24
-19
-80
4
20
0
0
0
0
0
0
0
0
0
0
0
0
3
29
14
3
-2
-2
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
0
0
0
0
0
0
0
0
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
10
10
9
0
0
0
0
0
0
0
0
0
0
26
6
-9
60
66
-21
-15
0
-13
0
-1
0
0
0
0
0
0
-8
-32
-27
-23
-95
14
11
-7
45
-5
2
0
0
0
0
0
0
6
-76
23
63
-67
6
35
49
-26
-4
0
0
0
0
0
0
0
13
-18
-15
-13
-92
44
2
3
-15
1
0
0
0
0
0
0
0
0
-10
32
-13
-8
-11
-11
-7
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
9
-3
4
8
-1
0
0
0
1
0
0
0
0
0
0
9
107
-67
-19
-55
-18
-22
0
-21
0
16
0
0
0
0
0
0
-18
-64
-11
-23
-68
-4
38
2
3
-36
-7
0
0
0
0
0
0
-29
4
-28
13
55
17
47
-14
-12
-27
-3
-6
0
0
0
0
0
38
21
16
-79
-56
-36
-24
3
-2
-2
-10
0
0
0
0
0
0
-1
5
-7
-12
18
6
2
1
0
0
0
0
0
0
0
0
0
-3
1
17
0
50
0
21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
76
34
-25
-28
-20
4
0
0
0
0
0
0
0
0
0
-41
14
31
-11
30
28
45
0
-13
0
1
0
0
0
0
0
0
-2
-19
-15
-11
16
24
21
-34
1
4
-6
0
0
0
0
0
0
-94
26
10
-13
-5
-28
-76
0
54
-26
6
-7
0
0
0
0
0
37
-34
22
38
-13
3
-51
19
-8
-3
-1
0
0
0
0
0
0
-1
-5
-32
-34
75
15
-3
3
1
0
0
0
0
0
0
0
0
0
0
-1
-46
-12
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
1
6
-8
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
-8
-36
-46
-63
9
18
-11
0
-95
-15
1
0
0
0
0
0
0
-52
10
25
-58
28
-47
0
-10
0
-23
7
0
0
0
0
0
0
20
-35
-5
38
17
26
-23
-17
8
-17
-19
0
0
0
0
0
0
-36
54
-16
27
9
-50
-29
2
36
-19
3
1
0
0
0
0
0
-14
-61
-11
18
-13
-27
-44
1
27
8
-7
-1
0
0
0
0
0
9
18
11
24
-58
30
-27
0
-1
-2
0
0
0
0
0
0
0
-8
9
30
12
7
54
10
0
-8
-1
0
0
0
0
0
0
0
0
-7
36
3
-13
0
-4
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
20
-2
-38
3
0
0
0
1
8
0
0
0
0
0
0
0
17
1
-41
-68
-7
0
-8
0
10
4
0
0
0
0
0
0
0
-21
11
-45
22
-45
-8
-4
-3
42
-4
1
0
0
0
0
0
0
21
39
29
-40
-15
30
-10
-4
-15
-53
-2
0
0
0
0
0
0
-16
22
-16
15
50
4
3
16
-4
4
0
0
0
0
0
0
0
-2
15
33
-17
7
2
2
1
0
1
0
0
0
0
0
0
0
0
14
3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-2
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
4
0
0
2
-3
0
0
0
0
0
0
0
0
-7
11
-8
3
0
-15
0
22
9
0
0
0
0
0
0
0
0
-1
8
-2
-18
-39
10
7
-19
7
-3
0
0
0
0
0
0
0
4
-13
-32
-4
15
11
12
0
-3
-6
-1
0
0
0
0
0
0
0
0
-9
-3
0
16
-2
4
-39
2
0
0
0
0
0
0
0
0
24
0
0
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-3
1
0
-2
-9
0
1
0
-1
0
0
0
0
0
0
0
0
-7
-6
-2
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
2
0
2
0
1
-3
3
-8
0
0
0
0
0
0
0
0
0
0
0
4
-7
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
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
3
6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
14
-9
2
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
4
-3
1
-4
4
0
0
0
0
0
0
0
0
0
0
-3
32
-6
6
0
0
15
0
0
0
0
0
0
0
0
0
0
-2
-4
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
8
2
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-5
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
7
-9
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
8
-37
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
7
-34
-19
-50
6
0
-6
0
0
0
0
0
0
0
0
-7
0
-28
0
-38
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
12
0
3
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
-6
-9
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-13
22
47
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
-15
20
4
-28
-23
-15
0
10
13
0
0
0
0
0
0
0
-9
-18
-5
1
22
15
1
4
-1
6
0
0
0
0
0
0
0
-4
30
5
5
-26
65
-81
-8
2
0
0
0
0
0
0
0
0
0
0
-2
25
-4
3
22
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
9
-34
22
30
0
0
-1
0
0
0
0
0
0
0
0
-2
-2
60
-26
-48
4
9
0
15
-5
0
0
0
0
0
0
0
3
-4
-83
-15
-4
-61
21
1
2
1
0
0
0
0
0
0
0
0
-8
-17
-15
6
8
-34
-13
-17
-15
0
0
0
0
0
0
0
0
-4
-1
40
-42
13
-3
-9
0
0
0
0
0
0
0
0
0
0
0
-12
0
11
0
-1
0
1
-2
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
-6
1
-43
6
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-8
-2
19
-54
-4
0
0
0
0
0
0
0
0
0
0
4
34
-17
-72
-36
-14
-24
0
0
9
1
0
0
0
0
0
0
-1
26
-3
-12
32
0
-8
2
11
0
0
0
0
0
0
0
0
0
2
41
34
10
27
6
-4
-1
2
0
0
0
0
0
0
0
0
-2
-11
-38
16
52
7
0
0
0
0
0
0
0
0
0
0
0
0
-21
-43
-11
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
-25
-19
8
-26
-3
0
0
7
1
0
0
0
0
0
0
-35
-27
-43
36
-7
63
-10
0
0
0
0
0
0
0
0
0
0
52
25
-11
-44
-7
-7
8
1
39
-56
0
0
0
0
0
0
0
-2
13
16
-7
-52
11
-4
-27
3
29
0
0
0
0
0
0
0
6
-2
13
19
-14
-18
10
-17
35
0
0
0
0
0
0
0
0
0
-55
-13
-55
44
-15
3
0
0
20
0
0
0
0
0
0
0
0
0
-21
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-43
-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
-9
-47
-11
-54
-42
-63
-41
2
0
0
0
0
0
0
0
0
0
-9
18
3
15
-18
-40
-47
0
10
0
4
0
0
0
0
0
0
2
-35
-19
-13
-74
-13
2
-13
54
-40
4
0
0
0
0
0
0
47
-28
-12
-29
-132
24
-50
0
-26
8
8
0
0
0
0
0
0
0
52
-85
-44
-11
-37
1
11
3
62
0
0
0
0
0
0
0
-3
-32
24
-16
20
-38
-5
-1
0
-6
0
0
0
0
0
0
0
0
-8
23
5
-3
4
-6
0
2
0
0
0
0
0
0
0
0
0
-3
0
-6
7
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
20
11
-38
9
-1
-8
0
0
-2
0
0
0
0
0
0
48
14
-10
57
-32
-18
-34
0
-3
0
-27
-3
0
0
0
0
0
-102
-7
23
-32
-22
41
-24
-18
17
-47
23
0
0
0
0
0
0
-51
-50
36
1
-9
15
17
67
-25
-5
-12
0
0
0
0
0
0
-7
32
-36
18
23
-65
-26
-4
7
-13
-2
0
0
0
0
0
0
0
-29
-15
3
-42
-29
9
0
9
1
0
0
0
0
0
0
0
0
0
-50
-105
-29
-1
-47
0
-1
0
0
0
0
0
0
0
0
0
25
0
-14
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
39
-23
1
30
0
11
0
-81
-1
0
0
0
0
0
0
0
24
4
18
-15
-33
4
0
0
0
-26
10
0
0
0
0
0
0
34
21
-29
-29
32
-49
-2
-82
-14
53
-12
0
0
0
0
0
0
31
-31
-6
-7
15
-13
12
-19
-12
-29
-3
0
0
0
0
0
0
15
-35
-38
-29
12
-16
15
30
34
9
-2
0
0
0
0
0
0
74
-27
-75
-29
44
-28
-25
15
10
0
0
0
0
0
0
0
0
-28
14
15
94
47
-36
3
1
0
0
0
0
0
0
0
0
0
6
-10
-5
14
2
3
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
6
0
12
1
0
0
31
0
0
0
0
0
0
0
0
33
30
-1
-89
19
0
-1
0
24
0
0
0
0
0
0
0
0
33
38
-26
17
-35
-3
13
-29
-37
0
0
0
0
0
0
0
0
2
55
-9
38
16
-19
2
0
-13
-7
1
0
0
0
0
0
0
-15
18
-16
-31
8
-4
-2
3
-4
0
2
0
0
0
0
0
0
0
-25
-22
0
-1
8
3
0
2
1
0
0
0
0
0
0
0
0
1
0
10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-17
0
0
0
0
2
0
0
0
0
0
0
0
0
0
6
-2
8
-7
1
1
17
-4
-2
0
0
0
0
0
0
0
-2
-3
1
8
-22
1
1
1
0
-2
0
0
0
0
0
0
0
1
9
-7
0
-3
-6
-1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
-30
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
2
-17
3
0
0
0
6
0
0
0
0
0
0
0
0
2
0
8
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
3
0
0
1
0
0
0
0
0
0
0
0
0
0
2
14
-1
-7
2
11
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-96
-7
28
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-60
1
30
0
0
-12
-18
2
0
0
0
0
0
0
0
2
0
0
-4
14
23
4
0
1
0
0
0
0
0
0
0
0
0
-26
0
-25
-42
5
-4
1
0
1
0
0
0
0
0
0
0
0
-2
-9
19
15
19
2
19
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-37
32
-3
-48
-2
3
0
0
0
0
0
0
0
0
0
0
3
0
-55
1
-19
12
-1
0
1
7
-1
0
0
0
0
0
0
1
17
2
-23
3
-2
2
-1
0
3
0
0
0
0
0
0
0
-13
24
-11
0
61
-23
24
16
3
20
0
0
0
0
0
0
0
0
0
-1
-15
-15
-46
13
-2
0
-7
0
0
0
0
0
0
0
-1
0
11
-5
-43
3
-11
3
1
0
0
0
0
0
0
0
0
0
0
1
0
0
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
33
-18
-10
8
0
0
0
0
0
0
0
0
0
0
0
-8
-10
1
35
-9
-2
14
0
-1
0
0
0
0
0
0
0
0
2
51
14
25
33
13
-7
0
-18
8
-1
0
0
0
0
0
0
4
-3
12
8
-17
-36
-11
2
0
-13
0
0
0
0
0
0
0
0
-36
-109
18
0
9
-80
2
13
0
0
0
0
0
0
0
0
0
4
5
-3
-16
0
-6
7
-5
-1
0
0
0
0
0
0
0
0
0
-11
-10
2
0
0
4
1
-2
0
0
0
0
0
0
0
0
0
-16
-9
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
11
16
-29
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
-5
45
23
-9
12
0
0
0
1
0
0
0
0
0
0
-2
-25
24
9
30
-47
-25
0
6
18
0
0
0
0
0
0
0
-1
-2
51
-42
-28
-2
16
38
-1
1
3
0
0
0
0
0
0
1
-6
11
-28
-62
0
-17
0
-13
-3
0
0
0
0
0
0
0
0
-2
-4
-42
-61
-7
-19
0
0
5
0
0
0
0
0
0
0
0
-1
13
4
-5
-23
1
0
2
-1
0
0
0
0
0
0
0
0
0
0
-7
0
3
2
-2
-3
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-23
67
-74
0
4
-28
0
0
0
0
0
0
0
0
0
0
-3
46
-10
57
20
-57
6
0
9
0
1
0
0
0
0
0
0
19
23
4
98
-3
23
-61
-7
-19
-15
0
-1
0
0
0
0
0
7
-2
-12
24
-38
38
-42
14
-2
0
-6
0
0
0
0
0
0
-41
-39
-18
-2
8
-20
0
-10
-19
0
0
0
0
0
0
0
0
3
32
-44
-39
-34
40
31
0
1
-5
0
0
0
0
0
0
0
5
0
15
-53
-54
0
12
-9
0
-7
0
0
0
0
0
0
0
0
1
-27
6
9
19
7
1
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
-7
8
-29
-62
-29
-20
-73
1
0
0
0
0
0
0
0
0
0
9
-27
29
-39
32
-108
-23
0
-4
0
0
0
0
0
0
0
0
-41
28
-3
-9
38
19
28
-1
-35
-28
-2
0
0
0
0
0
0
-3
-37
85
13
-42
1
37
-17
43
9
-1
0
0
0
0
0
0
15
-15
12
20
-20
6
3
0
-54
7
4
4
0
0
0
0
0
1
-44
-28
-41
-24
-33
32
-46
0
-65
0
0
0
0
0
0
0
2
7
-34
-26
0
4
14
3
0
2
0
0
0
0
0
0
0
0
4
-1
-13
-32
5
-26
3
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
9
14
4
20
-3
35
35
0
0
2
-1
0
0
0
0
0
0
-32
-19
25
9
23
-28
11
0
-15
0
18
-1
0
0
0
0
0
-65
12
-29
-11
-14
14
-12
-53
15
-40
-8
0
0
0
0
0
0
3
-14
-40
-11
30
-64
-19
0
0
-59
-2
0
0
0
0
0
0
3
-9
-33
8
-61
29
-10
8
0
-13
-1
1
0
0
0
0
0
6
-59
29
-15
31
-26
22
19
49
0
4
0
0
0
0
0
0
2
-11
-91
-2
-63
-2
54
39
-6
0
0
0
0
0
0
0
0
0
0
-2
51
-11
-2
1
1
2
-1
0
0
0
0
0
0
0
0
13
29
-1
-13
0
0
0
1
0
0
0
0
0
0
0
0
0
-54
-8
-14
-18
1
5
-4
0
-6
0
0
0
0
0
0
0
0
-17
8
8
-1
-25
-32
0
-7
0
-13
3
0
0
0
0
0
0
1
-11
48
7
25
-45
-7
-47
-17
47
-1
0
0
0
0
0
0
12
35
-51
-21
2
-12
13
-7
37
7
-6
0
0
0
0
0
0
-16
17
82
-44
7
-14
0
-3
0
10
-4
0
0
0
0
0
0
40
3
19
20
7
8
-44
1
-17
1
0
1
0
0
0
0
0
0
3
23
4
-76
33
-16
27
-2
0
0
0
0
0
0
0
0
0
12
62
-33
29
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
10
18
-28
35
-4
6
0
2
51
0
0
0
0
0
0
0
0
-18
22
-9
18
-51
0
0
0
-5
-1
0
0
0
0
0
0
0
8
33
21
3
62
16
-29
12
-14
1
0
0
0
0
0
0
0
0
38
22
-5
-26
26
-2
-1
-2
3
0
0
0
0
0
0
0
3
9
5
43
-1
-22
8
0
0
0
0
0
0
0
0
0
0
0
18
35
-44
7
4
-1
-8
-7
0
0
0
0
0
0
0
0
-3
-3
0
-13
-9
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
-10
0
0
7
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
7
-1
0
4
0
9
1
0
0
0
0
0
0
0
0
1
0
0
-1
15
1
-6
-1
-13
-2
0
0
0
0
0
0
0
0
0
-2
-44
3
2
0
1
0
0
0
0
0
0
0
0
0
0
7
-6
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
-7
-10
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
13
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-9
2
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
17
0
30
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-7
45
-72
7
7
0
0
0
0
0
0
0
0
0
0
0
-10
8
-22
16
0
-2
0
-3
1
0
0
0
0
0
0
0
0
-35
0
-2
-1
0
1
-1
2
0
0
0
0
0
0
0
0
-2
11
1
-10
-12
-27
-15
0
0
-12
0
0
0
0
0
0
0
0
0
0
13
0
-20
0
0
-4
-6
0
0
0
0
0
0
0
0
0
32
-2
10
2
5
0
-9
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-6
2
-3
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
29
3
-1
7
1
0
0
0
0
0
0
0
0
0
0
0
1
2
1
5
-3
-1
0
7
4
0
0
0
0
0
0
0
0
1
2
20
15
-47
3
0
-4
1
0
0
0
0
0
0
0
-3
11
33
-19
0
-29
1
7
1
4
0
0
0
0
0
0
0
0
11
6
0
22
0
1
7
0
1
0
0
0
0
0
0
0
0
1
-46
14
-39
-15
5
-7
-2
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-21
-1
9
0
0
0
0
0
0
0
0
0
0
0
32
3
49
-16
8
-3
0
0
0
0
0
0
0
0
0
0
3
7
11
-10
11
-1
25
0
3
27
0
0
0
0
0
0
0
0
-84
4
83
5
18
12
0
-4
-25
0
0
0
0
0
0
0
-2
-67
-6
19
-35
-23
-15
-23
-2
-9
0
0
0
0
0
0
0
0
-30
14
-44
0
25
11
-4
-2
0
0
0
0
0
0
0
0
-2
17
-31
9
-3
-1
-3
-2
0
-8
0
0
0
0
0
0
0
0
0
2
1
4
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
35
-18
0
-11
0
0
0
0
0
0
0
0
0
0
0
-4
33
69
42
8
1
0
0
0
0
0
0
0
0
0
0
-3
5
-8
18
17
38
4
0
9
-26
0
0
0
0
0
0
0
0
-14
-21
-23
-37
25
-20
-46
11
6
0
0
0
0
0
0
0
-3
16
13
-53
-7
39
23
-17
-4
4
0
0
0
0
0
0
0
0
-1
-97
-24
-54
0
-1
39
0
-32
0
0
0
0
0
0
0
-2
-1
-6
46
-6
28
0
4
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-50
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
-4
-8
-3
-61
3
-11
0
0
0
0
0
0
0
0
0
0
-3
-7
29
12
-55
-42
0
0
0
0
0
0
0
0
0
0
0
-30
20
-58
56
-19
21
-4
3
23
0
0
0
0
0
0
0
0
-16
3
-9
-7
-32
50
-6
-2
-30
32
1
0
0
0
0
0
0
30
-20
-57
36
-8
17
-45
4
14
0
0
0
0
0
0
0
0
0
28
3
31
49
19
0
-1
8
-6
0
0
0
0
0
0
0
-17
-60
-60
-19
-14
0
-12
1
2
3
0
0
0
0
0
0
0
0
34
8
-20
-2
3
6
-4
0
0
0
0
0
0
0
0
0
0
3
-4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
16
11
24
-3
30
-63
16
0
0
-4
0
0
0
0
0
0
15
-27
10
23
-4
14
37
0
2
0
0
0
0
0
0
0
0
-17
-14
11
-62
20
85
-44
-25
18
-4
0
0
0
0
0
0
0
1
-12
45
13
-32
24
-56
0
-7
32
0
-1
0
0
0
0
0
-40
21
24
-17
19
-17
70
-28
11
52
0
0
0
0
0
0
0
-2
23
-74
18
-46
14
6
0
11
8
0
0
0
0
0
0
0
0
-30
-5
24
-65
19
-10
-6
4
-58
0
0
0
0
0
0
0
0
14
1
28
-9
-2
1
6
1
0
0
0
0
0
0
0
0
0
-9
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
58
-34
2
-1
-10
16
17
4
0
0
0
0
0
0
0
0
0
-10
-16
-41
-1
22
-25
-47
0
-115
0
11
0
0
0
0
0
0
60
17
5
-24
15
40
6
-49
33
-72
-16
0
0
0
0
0
0
36
33
24
-47
-48
23
-28
-56
-11
-25
2
0
0
0
0
0
0
-35
4
29
8
-15
25
-12
30
59
7
0
0
0
0
0
0
0
16
2
0
40
-13
-58
-5
-3
0
19
0
0
0
0
0
0
0
1
30
-12
-34
8
22
6
14
-8
-3
0
0
0
0
0
0
0
0
-3
-34
-36
45
-40
-10
1
1
0
0
0
0
0
0
0
0
0
0
0
-15
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
47
5
-38
0
0
51
6
0
0
0
0
0
0
0
-51
22
-8
-5
32
50
0
8
0
0
1
0
0
0
0
0
0
-46
20
23
-6
5
44
-1
-14
-22
-29
1
0
0
0
0
0
0
18
0
-3
-39
-11
34
-43
24
82
-11
0
0
0
0
0
0
0
-65
-50
-30
-12
-8
-35
47
9
-26
0
0
0
0
0
0
0
0
-11
19
35
12
-31
-7
-35
-63
0
3
0
0
0
0
0
0
0
-30
-70
-49
-2
-18
-31
-5
12
-1
0
0
0
0
0
0
0
0
0
-4
12
3
60
-58
0
-2
1
0
0
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
-3
-14
11
3
-19
0
0
35
0
0
0
0
0
0
0
0
5
-52
-26
3
49
0
-1
0
34
-1
0
0
0
0
0
0
0
28
28
8
55
39
-3
3
-18
37
-2
0
0
0
0
0
0
0
-24
17
-4
54
-18
-37
-30
0
22
-9
0
0
0
0
0
0
0
36
48
63
-59
-29
-8
0
0
3
0
-1
0
0
0
0
0
0
0
-16
-1
14
12
-16
-1
0
0
0
0
0
0
0
0
0
0
0
7
-17
19
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
-6
0
0
0
0
0
0
0
0
0
-15
1
6
-1
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
7
0
1
0
-3
0
5
0
0
0
0
0
0
0
0
0
0
1
16
-7
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
2
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-1
12
1
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
2
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
12
1
13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
1
-30
-2
-37
0
0
-3
0
0
0
0
0
0
0
0
11
2
6
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-20
-16
13
0
0
0
-13
0
0
0
0
0
0
0
0
2
-1
3
9
2
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
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
7
0
-14
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-1
-1
1
0
-7
6
0
0
0
0
0
0
0
0
-18
0
-3
2
-18
0
-6
0
0
0
0
0
0
0
0
0
0
0
20
3
2
1
0
-4
0
-6
0
0
0
0
0
0
0
0
9
0
-12
8
-21
-17
1
0
-10
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
43
-32
4
2
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-1
3
2
0
0
-6
0
0
0
0
0
0
0
0
1
5
-20
10
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-42
44
-27
2
3
0
0
0
0
0
0
0
0
0
0
-13
9
-16
1
-24
2
0
2
0
0
0
0
0
0
0
0
0
3
7
14
0
0
11
1
-17
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-26
-2
7
-15
0
0
0
0
0
0
0
0
0
0
1
7
1
-5
-37
6
4
0
-8
-38
0
0
0
0
0
0
0
0
24
20
-70
7
-17
0
-1
-1
-1
0
0
0
0
0
0
0
0
-1
6
-12
14
-3
-6
7
-4
-17
0
0
0
0
0
0
0
0
-8
-12
-70
22
-5
6
0
1
24
0
0
0
0
0
0
0
0
0
-36
4
27
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
29
13
-25
0
2
0
0
0
0
0
0
0
0
0
0
0
59
67
-28
-76
41
-4
0
0
0
0
0
0
0
0
0
0
35
-3
26
45
9
11
11
3
0
37
1
0
0
0
0
0
0
0
-19
7
-20
3
10
-2
0
0
2
0
0
0
0
0
0
0
-7
-2
-28
-8
-64
-63
8
12
-50
-1
0
0
0
0
0
0
0
0
80
-62
32
-12
-44
2
-22
-1
-2
0
0
0
0
0
0
0
18
-1
-26
-30
19
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
4
-37
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-28
41
-26
21
20
0
0
0
0
0
0
0
0
0
0
9
-12
45
5
-10
24
9
0
0
0
0
0
0
0
0
0
0
-2
10
-37
-19
48
-49
-26
20
4
-7
0
0
0
0
0
0
0
0
9
36
49
-29
21
-47
1
-2
-4
0
0
0
0
0
0
0
-24
1
20
7
36
50
-37
-12
0
-34
0
0
0
0
0
0
0
-2
-43
-29
-85
-43
2
0
8
-7
10
0
0
0
0
0
0
0
1
-2
28
-10
15
44
-61
0
-15
-9
0
0
0
0
0
0
0
0
-2
2
54
-21
-2
4
4
0
0
0
0
0
0
0
0
0
0
0
4
-13
0
0
0
0
-9
0
0
0
0
0
0
0
0
18
-35
45
14
9
-28
-39
-7
0
0
-1
0
0
0
0
0
0
3
-46
22
-3
11
-72
-24
0
0
0
-5
0
0
0
0
0
0
37
12
16
36
-16
55
-40
-21
22
-2
-2
0
0
0
0
0
0
61
10
53
35
-9
-36
-19
44
13
-21
10
0
0
0
0
0
0
25
36
3
17
-31
-11
-40
11
21
-10
0
0
0
0
0
0
0
5
10
-26
-12
-22
54
12
-18
-14
12
-3
0
0
0
0
0
0
1
-15
9
4
-22
-19
24
-22
0
12
0
0
0
0
0
0
0
0
-29
-4
-41
-20
13
35
-28
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
-37
-23
4
28
-11
14
3
0
48
-3
0
0
0
0
0
0
0
11
22
-38
26
-3
-41
0
-15
0
3
1
0
0
0
0
0
0
1
-40
27
-6
27
16
-25
-11
6
38
0
0
0
0
0
0
0
8
21
8
47
1
19
-5
99
-58
-4
-1
0
0
0
0
0
0
-26
-19
55
-13
23
-37
-31
26
-51
10
0
0
0
0
0
0
0
35
-22
3
-4
39
7
-4
-18
0
-2
0
0
0
0
0
0
0
-73
-28
23
9
28
20
1
17
0
0
0
0
0
0
0
0
0
3
27
28
4
17
-1
-3
6
-24
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
1
-16
0
1
0
0
27
0
0
0
0
0
0
0
0
0
-1
23
9
-1
0
-1
0
14
-1
0
0
0
0
0
0
0
-8
54
-47
-18
-57
1
-1
0
25
0
0
0
0
0
0
0
0
-21
9
105
-10
7
9
-5
3
7
0
0
0
0
0
0
0
0
1
51
6
26
102
-36
-10
0
12
0
0
0
0
0
0
0
0
55
0
17
-25
12
-35
0
-5
2
0
0
0
0
0
0
0
0
3
-11
2
54
51
-6
3
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
13
0
0
0
-7
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
-12
-3
0
0
0
2
-36
0
0
0
0
0
0
0
0
0
3
0
0
1
-12
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
2
0
0
0
0
0
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-11
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
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-9
-2
-7
-7
-3
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
-15
0
0
0
2
0
0
0
0
0
0
0
0
0
4
0
6
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-91
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
-56
-3
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
-9
1
-9
-33
28
-1
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
1
0
0
4
0
0
0
0
0
0
0
0
0
0
6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
16
6
4
0
0
0
0
0
0
0
0
0
0
0
12
2
-3
0
9
0
0
0
0
0
0
0
0
0
0
0
22
0
7
-11
9
0
4
0
0
3
0
0
0
0
0
0
0
-4
-54
0
-40
-6
-17
0
0
0
-3
0
0
0
0
0
0
0
-1
0
-10
-54
13
1
15
0
1
0
0
0
0
0
0
0
0
0
-20
-7
-18
-17
-13
-12
-17
-1
0
0
0
0
0
0
0
0
-6
8
1
0
-14
18
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-31
-3
20
0
-8
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-2
20
-4
0
0
0
0
0
0
0
0
0
0
0
0
-19
2
6
18
46
1
0
0
0
0
0
0
0
0
0
0
5
1
-14
-92
-84
-32
-4
-4
0
26
0
0
0
0
0
0
0
-10
-16
3
90
-26
-33
3
2
-1
0
0
0
0
0
0
0
0
-18
-10
12
-38
78
-47
-34
0
0
28
0
0
0
0
0
0
0
0
-26
6
-44
-9
14
2
0
1
1
0
0
0
0
0
0
0
-41
3
42
17
1
5
-31
2
2
0
0
0
0
0
0
0
0
0
22
-6
14
49
-22
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
-8
4
23
60
-4
12
0
0
0
7
0
0
0
0
0
0
-3
-8
-35
32
-90
38
-34
0
-13
0
0
0
0
0
0
0
0
9
-46
13
42
-71
-7
-25
28
-40
-55
11
0
0
0
0
0
0
3
-18
-9
19
19
38
-40
-48
-59
-5
6
0
0
0
0
0
0
7
-8
73
36
5
17
-44
-53
-40
-31
0
0
0
0
0
0
0
-8
37
30
-22
15
-20
-34
38
51
-13
0
0
0
0
0
0
0
6
58
-40
-31
-4
-17
11
-2
-16
0
0
0
0
0
0
0
0
0
24
-23
22
-4
-44
-47
6
0
1
0
0
0
0
0
0
0
0
6
56
12
-43
0
0
-16
6
0
0
0
0
0
0
0
0
0
0
21
11
-20
37
-8
5
0
13
2
0
0
0
0
0
0
0
-16
-28
-5
40
6
-66
0
-1
0
4
0
0
0
0
0
0
0
-7
20
-11
-16
-27
3
6
0
-22
0
0
0
0
0
0
0
0
17
-44
1
-35
48
21
-34
8
-52
-9
0
0
0
0
0
0
0
16
12
-12
11
65
-43
45
-11
4
-1
0
0
0
0
0
0
0
3
14
-32
-19
-24
-22
-44
29
6
0
0
0
0
0
0
0
0
-22
-30
29
-5
-23
22
5
-26
2
0
0
0
0
0
0
0
0
-53
64
3
-8
-32
30
-91
5
0
0
0
0
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
16
-93
-1
0
0
0
3
0
0
0
0
0
0
0
0
-25
-2
20
21
-10
0
-3
0
18
0
0
0
0
0
0
0
0
-6
14
17
29
-1
38
0
0
-7
0
0
0
0
0
0
0
0
15
-10
-39
-15
30
3
1
0
-4
0
0
0
0
0
0
0
0
1
50
-36
-10
-15
-14
9
6
-50
0
0
0
0
0
0
0
0
18
9
49
11
4
4
0
-4
2
0
0
0
0
0
0
0
0
-2
7
3
-16
1
-6
0
0
2
0
0
0
0
0
0
0
0
1
1
3
19
-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
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-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
10
1
0
0
0
0
-11
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
-3
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
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
1
10
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
1
1
-21
-9
13
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
30
0
15
-20
0
18
0
0
0
0
0
0
0
0
3
1
46
-9
23
14
7
0
0
0
0
0
0
0
0
0
0
0
-6
0
-91
9
17
8
0
-4
0
0
0
0
0
0
0
0
3
0
-7
0
-14
0
1
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
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-10
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-38
-19
-8
10
0
0
0
0
0
0
0
0
0
0
0
-24
-2
-25
16
-98
-39
0
4
-7
0
0
0
0
0
0
0
0
-5
-9
-7
10
40
80
-9
0
4
0
0
0
0
0
0
0
0
-36
25
13
32
-1
-37
-8
3
-1
0
0
0
0
0
0
0
0
0
15
11
9
-79
-58
-31
28
-28
0
0
0
0
0
0
0
0
-2
0
-14
-27
-5
-1
3
0
1
0
0
0
0
0
0
0
0
0
-28
0
48
-8
-4
-22
1
0
0
0
0
0
0
0
0
0
-13
1
16
-10
-33
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
1
43
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
23
-2
-16
0
0
0
-16
0
0
0
0
0
0
0
0
0
35
-12
1
-12
-3
0
0
-8
0
0
0
0
0
0
0
0
-20
0
5
-24
-16
-1
0
3
3
0
0
0
0
0
0
0
0
0
-17
13
4
10
-19
-2
0
0
0
0
0
0
0
0
0
0
-11
0
22
0
-26
3
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
-36
0
2
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-1
-2
-10
0
0
4
0
0
0
0
0
0
0
0
-8
0
-2
0
2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
1
-9
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
2
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
8
-7
0
-1
0
0
0
0
0
0
0
0
-6
0
-1
0
-3
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
-2
0
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
2
12
0
0
0
0
0
0
0
0
0
0
0
-16
-4
6
1
9
0
3
0
0
0
0
0
0
0
0
0
-4
0
-3
0
-7
-4
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
2
0
0
0
0
0
0
0
0
0
0
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
-9
0
-25
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
-59
49
0
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
0
-1
1
-26
-4
0
0
0
0
0
0
0
0
0
9
0
0
0
-1
1
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
-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
1
0
0
-1
-3
0
24
0
-3
0
0
0
0
0
0
0
0
0
4
7
11
0
57
0
24
0
2
0
0
0
0
0
0
-10
0
0
-2
-8
29
2
-15
0
-1
0
0
0
0
0
0
0
0
0
1
1
-4
2
-3
33
0
0
0
0
0
0
0
0
0
9
-2
0
0
2
6
-22
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
17
-5
-9
90
24
0
6
0
-4
0
0
0
0
0
0
0
31
-41
11
-51
22
27
61
-2
-27
0
0
0
0
0
0
0
0
12
3
-13
60
49
0
17
4
5
-15
0
0
0
0
0
0
0
9
0
10
-12
-18
22
-30
14
7
-3
0
0
0
0
0
0
0
12
8
7
-41
-9
-19
30
4
-12
0
0
0
0
0
0
0
0
-29
0
0
26
-22
20
-65
12
-7
2
0
0
0
0
0
0
0
2
0
1
11
11
-13
5
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
11
0
-2
43
0
0
0
0
0
0
0
0
0
18
-1
-4
-27
-17
12
45
0
-3
0
0
0
0
0
0
0
0
-3
2
-16
16
9
-5
2
4
4
0
0
0
0
0
0
0
0
-3
0
-3
-6
18
-9
6
1
-1
0
0
0
0
0
0
0
0
-4
0
-6
-24
-19
-1
1
0
-8
0
0
0
0
0
0
0
0
-3
0
0
1
0
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-13
0
21
17
-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
-6
0
1
-2
0
0
0
0
0
0
0
0
0
0
-3
0
2
2
11
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-11
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-8
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
0
1
0
-2
0
0
0
0
0
0
0
-3
2
0
0
7
-23
-54
-28
7
0
0
0
0
0
0
0
0
0
0
0
7
0
28
0
12
-8
0
0
0
0
0
0
0
0
0
0
0
3
1
57
-12
-12
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
-4
0
0
0
0
0
0
0
0
1
0
0
-3
-6
15
-4
4
0
0
0
0
0
0
0
0
0
0
0
-6
42
-52
20
-15
-14
-1
0
0
0
0
0
0
0
0
0
0
3
4
-11
-1
-22
-2
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
-14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
14
0
0
0
0
0
0
0
0
0
0
-11
0
-7
-32
0
-2
11
-20
4
0
0
0
0
0
0
0
0
2
0
-2
-2
-42
-1
-27
-5
-1
0
0
0
0
0
0
0
0
0
4
4
-26
7
46
-2
1
0
0
0
0
0
0
0
0
0
-2
0
0
5
0
0
13
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
-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
-2
0
-36
1
0
0
0
0
0
0
0
0
0
0
-1
-2
8
0
-10
36
-5
-62
0
1
0
0
0
0
0
0
1
0
-1
0
-1
-42
25
31
10
0
0
0
0
0
0
0
0
0
0
0
1
20
-11
-16
-11
-6
-4
0
0
0
0
0
0
0
0
-1
0
0
-9
-4
-60
-3
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
27
2
0
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
8
-10
0
16
0
21
0
4
0
0
0
0
0
0
0
0
1
0
4
36
-2
-21
-8
-23
13
0
0
0
0
0
0
0
6
9
16
-2
3
-23
-43
-42
25
-3
0
0
0
0
0
0
0
-9
-4
7
4
-10
8
5
3
16
0
-2
0
0
0
0
0
0
-4
-2
3
-3
6
-9
14
27
-22
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-11
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
12
1
12
13
-9
0
-18
-15
0
11
1
0
0
0
0
0
0
-26
-42
18
-39
38
-1
-9
26
20
-5
-16
0
0
0
0
0
0
8
-4
10
5
-2
-4
-39
18
-4
-1
0
0
0
0
0
0
0
8
-2
-8
48
-31
2
-27
1
46
0
-4
0
0
0
0
0
0
-2
1
2
-7
-40
10
8
27
-39
0
0
0
0
0
0
0
0
-7
0
0
3
5
-16
-3
56
16
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-32
3
29
78
-34
0
-42
-2
0
-1
0
0
0
0
0
0
18
2
79
-1
-62
40
-14
25
-4
3
1
0
0
0
0
0
0
-43
-1
-2
-52
48
-17
-1
20
-15
-6
0
1
0
0
0
0
0
-5
-13
66
38
-11
26
-35
-23
-7
-2
0
0
0
0
0
0
0
-12
49
-21
-7
-18
-10
-83
-42
30
1
0
1
0
0
0
0
0
-4
8
4
-18
3
-64
-65
15
7
-7
4
0
0
0
0
0
0
9
-4
-2
51
-42
38
29
-73
-8
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-13
-11
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-3
0
0
0
0
0
0
0
0
0
0
29
7
-24
-10
-14
0
-26
0
-1
0
0
0
0
0
0
0
0
8
15
2
-13
-16
40
11
13
2
-9
0
0
0
0
0
0
0
3
-6
-56
-37
58
54
-21
-51
-6
0
0
0
0
0
0
0
0
-10
-18
-12
-37
-11
-51
-60
-48
-13
0
0
0
0
0
0
0
0
9
1
6
-12
20
-39
2
-10
4
-1
0
0
0
0
0
0
0
15
0
-2
-22
0
11
-25
-4
-3
0
0
-1
0
0
0
0
0
-9
0
2
0
-7
38
-4
3
6
0
0
0
0
0
0
0
0
0
0
0
-6
2
-8
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
-6
6
0
-1
-2
1
0
0
0
0
0
0
0
0
0
0
-1
-1
7
-1
14
-6
-4
0
0
0
0
0
0
0
0
0
-2
-1
0
-3
1
-36
-4
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-1
11
-1
0
0
0
0
0
0
0
0
0
0
0
6
0
3
-1
7
-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
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
6
1
31
7
0
0
0
0
0
0
0
0
0
9
0
0
-17
-42
48
5
-12
5
0
0
0
0
0
0
0
0
0
0
0
6
8
8
0
29
-23
0
0
0
0
0
0
0
0
0
0
0
10
-59
37
-11
0
-9
-1
0
0
0
0
0
0
0
0
0
0
-2
3
32
16
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
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
-8
57
28
5
0
1
0
0
0
0
0
0
0
0
0
0
0
-27
27
-53
-45
6
1
2
0
0
0
0
0
0
1
1
0
0
9
-25
-21
-18
1
0
0
0
0
0
0
0
0
0
0
1
-1
20
0
1
-18
4
0
0
0
0
0
0
0
0
1
-1
0
1
-32
1
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-9
3
70
-16
0
-2
0
0
0
0
0
0
0
-2
2
-3
-4
8
11
-27
11
-13
-8
0
0
0
0
0
0
0
-4
0
-1
0
31
-3
-5
56
16
0
0
0
0
0
0
0
0
1
0
0
-1
1
-12
-49
41
0
0
0
0
0
0
0
0
0
0
4
-3
1
-10
8
46
-15
-3
2
0
0
0
0
0
0
0
0
-3
0
2
0
-39
-8
70
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
-1
-48
-1
-26
0
29
0
0
0
0
0
0
0
0
-1
2
-13
-15
18
9
-4
-24
6
0
0
0
0
0
0
0
-4
0
1
0
-1
-18
-62
-30
-4
-27
0
0
0
0
0
0
0
-3
-6
-2
-1
7
-20
-45
24
0
0
0
0
0
0
0
0
0
0
0
0
0
18
1
-4
-21
55
0
0
0
0
0
0
0
0
0
0
9
0
-3
-28
-8
1
-12
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
-9
0
0
0
0
0
0
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
-114
-25
9
0
18
0
0
0
0
0
0
0
-36
1
-2
-1
-19
-4
-27
-58
-4
7
0
0
0
0
0
0
0
-2
-2
-4
16
-17
0
-12
11
11
7
4
0
0
0
0
0
0
-2
4
-12
9
-2
-24
15
18
-1
1
-2
0
0
0
0
0
0
-3
-1
1
-8
21
-13
29
5
-45
-1
1
0
0
0
0
0
0
4
0
0
1
6
-34
25
-14
0
8
0
0
0
0
0
0
0
0
0
0
0
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
28
-16
-17
0
1
-9
20
46
0
36
-1
0
0
0
0
0
0
9
1
-8
18
4
32
-34
86
38
63
-7
0
0
0
0
0
0
-9
-47
-4
-29
-31
19
-25
-5
29
34
1
0
0
0
0
0
0
23
-8
1
-51
-47
-9
-37
-27
-24
-1
0
0
0
0
0
0
0
-20
-24
-4
27
-38
61
58
-8
96
0
-3
0
0
0
0
0
0
0
0
3
12
-23
44
-7
91
1
26
1
0
0
0
0
0
0
0
0
1
0
-1
-16
58
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-82
-13
-33
-28
26
-8
-42
0
-6
0
0
2
0
0
0
0
-15
-19
-2
-82
-27
40
-9
-9
49
68
-23
0
0
0
0
0
0
-35
30
-75
-97
-4
-27
-5
-59
-15
-10
1
0
0
0
0
0
0
-37
7
11
56
-20
-6
-31
-20
10
15
-1
0
0
0
0
0
0
17
1
72
-10
-76
92
48
7
-1
3
-2
0
0
0
0
0
0
0
-1
-4
38
-9
106
7
-24
166
20
-8
0
0
0
0
0
0
0
0
-1
-1
-49
41
-27
-57
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
-16
-6
-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
-22
20
-60
-17
-40
4
48
-12
0
30
1
-8
0
0
0
0
0
-39
67
-30
37
-19
18
-20
60
38
20
-77
-4
0
0
0
0
0
16
6
-53
13
2
-3
2
-73
-77
-55
12
10
0
0
0
0
0
10
-93
19
-8
-37
-25
-11
-55
26
22
-32
0
0
0
0
0
0
-34
14
-12
5
1
-30
71
25
-41
-39
-3
-4
1
0
0
0
0
13
2
-26
-12
-31
12
-41
-43
7
-5
2
0
0
0
0
0
0
-7
3
16
1
30
-9
4
23
-21
-2
-1
0
0
0
0
0
0
0
0
0
-1
-6
85
-23
-36
-4
3
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
-7
-39
-76
78
-5
-5
81
0
8
-21
-3
0
0
0
0
0
0
-22
-18
-20
4
52
-5
5
70
1
-39
15
0
0
0
0
0
0
-22
-29
17
18
15
-11
-50
-8
-45
-40
2
0
0
0
0
0
0
-22
15
-28
-10
-8
-40
-4
-35
-20
0
-1
0
0
0
0
0
0
-86
-39
-32
29
-32
14
37
-11
-7
39
0
1
0
0
0
0
0
43
-4
-10
-56
-43
81
12
15
73
-20
0
0
0
0
0
0
0
4
-3
-6
13
-34
5
-15
18
1
0
0
-1
0
0
0
0
0
0
0
0
0
5
30
47
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-1
0
0
0
0
0
0
0
0
0
0
39
-8
17
17
-16
68
0
65
-41
0
0
0
0
0
0
0
0
-28
23
1
-39
-5
54
18
71
20
1
1
0
0
0
0
0
0
23
-2
-4
21
44
4
30
6
-25
26
0
0
0
0
0
0
0
25
-5
-72
6
-37
53
4
-27
-39
-3
4
0
0
0
0
0
0
-11
39
12
11
-29
32
10
-24
3
-3
0
0
0
0
0
0
0
9
-4
16
94
-36
29
-18
-76
1
0
0
0
0
0
0
0
0
0
0
0
-6
-6
13
-46
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-3
27
0
-37
26
7
0
0
0
0
0
0
0
0
-2
21
-2
22
9
-48
11
-46
21
0
-1
0
0
0
0
0
0
6
-3
-1
11
-10
-14
-3
-35
0
1
0
0
0
0
0
0
0
-3
0
1
17
26
16
2
0
8
0
0
0
0
0
0
0
0
0
0
-1
15
3
-36
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
4
0
7
0
1
0
0
0
0
0
0
0
0
0
0
3
2
3
-6
15
5
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
2
-1
-1
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
-3
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-16
-8
2
-6
0
0
0
0
0
0
0
0
0
1
7
0
8
-62
-28
-67
-10
14
0
0
0
0
0
0
0
0
0
-1
0
0
-44
-8
-6
-5
16
15
0
0
0
0
0
0
0
0
0
0
10
-6
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-16
2
34
-18
0
0
0
0
0
0
0
0
-1
0
0
-1
-3
13
11
21
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
-8
0
-3
-1
6
-40
48
-4
22
17
0
0
0
0
0
0
0
0
0
0
0
-41
-2
-50
19
-46
-4
0
0
0
0
0
0
0
2
0
0
0
-8
2
12
2
-5
1
0
0
0
0
0
0
0
0
0
2
0
-21
25
-11
-17
-7
3
0
0
0
0
0
0
0
0
0
0
9
-24
12
-6
18
4
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
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
-11
10
-4
49
52
0
-38
0
0
0
0
0
0
0
0
4
-2
2
-22
-27
36
37
26
20
-3
0
0
0
0
0
0
-4
1
0
-6
4
26
28
-11
12
-3
0
0
0
0
0
0
0
0
0
0
0
-8
13
12
-11
-8
0
0
0
0
0
0
0
0
0
0
4
-6
-1
21
27
47
-5
-3
0
0
0
0
0
0
0
0
0
-4
-2
-3
-11
-34
64
2
0
0
0
0
0
0
0
0
0
0
0
0
-12
2
1
-33
-2
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
0
0
0
0
0
0
0
0
0
0
-6
0
-12
9
-10
38
30
26
0
-40
2
0
0
0
0
0
0
50
-4
3
-44
-53
-10
21
-41
-66
7
2
0
0
0
0
0
0
8
-18
-13
-1
-40
9
-31
16
-53
17
3
0
0
0
0
0
0
0
-1
24
-4
-1
0
17
-43
34
0
0
0
0
0
0
0
0
16
-2
1
1
30
0
20
-17
49
6
0
0
0
0
0
0
0
0
0
11
1
-1
-4
1
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-29
1
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
0
13
61
-28
-20
-37
0
39
0
0
0
0
0
0
0
-36
15
2
-13
48
32
56
61
18
-23
-32
2
0
0
0
0
0
16
-64
-35
13
1
-3
-18
41
15
-4
1
0
0
0
0
0
0
8
0
-18
-10
-54
0
-36
11
-40
4
0
0
0
0
0
0
0
-1
-37
7
-32
0
13
24
-2
16
-7
0
0
0
0
0
0
0
0
0
-9
5
-51
34
-11
21
-10
-1
0
0
0
0
0
0
0
0
0
1
4
-12
-11
-19
-12
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
16
-2
7
-2
-47
-34
-21
8
0
30
2
0
0
0
0
0
0
-20
-53
-82
16
42
34
-58
25
-62
-1
-10
0
0
0
0
0
0
-56
-30
-18
61
0
-40
-26
-7
-19
26
0
0
0
0
0
0
0
4
66
7
-36
-24
-12
-14
27
-29
-75
1
0
0
0
0
0
0
16
-19
22
-3
38
-3
-4
1
67
-5
3
0
0
0
0
0
0
0
3
-6
15
24
-50
-26
12
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-8
11
21
0
-45
3
0
0
0
0
0
0
0
0
-10
0
18
0
8
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
-25
-19
7
-77
-10
29
4
8
0
-41
38
0
0
0
0
0
0
-86
-45
23
-4
-57
-14
-7
-18
-8
13
27
0
0
0
0
0
0
3
-16
5
-102
-2
-36
-5
-40
-57
-24
-19
0
0
0
0
0
0
9
-49
-27
-31
27
-37
-56
-15
3
-1
0
0
0
0
0
0
0
10
-62
-21
-21
8
-3
3
-13
-4
-2
0
-6
0
0
0
0
0
0
-20
-13
28
-24
14
9
-22
-72
3
-2
0
0
0
0
0
0
0
-37
1
7
-2
-29
-8
32
22
6
0
0
0
0
0
0
0
0
0
0
0
0
5
7
-26
50
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
-9
3
-29
22
-58
52
-11
16
0
10
-52
0
0
0
0
0
0
0
-21
24
-5
-67
25
62
-30
-16
23
-45
-16
0
0
0
0
0
-39
-50
51
42
-8
15
10
-68
37
-22
-32
0
0
0
0
0
0
40
28
-10
-30
-3
-6
-45
46
-40
-22
-3
0
0
0
0
0
0
26
32
14
28
0
-35
21
-18
-7
1
-6
0
0
0
0
0
0
-14
21
4
17
6
-26
25
44
1
17
0
0
0
0
0
0
0
-2
-6
67
33
-3
-16
-37
4
-36
18
6
0
0
0
0
0
0
0
0
-1
7
-2
34
46
-43
-5
2
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
-95
27
-28
12
-21
56
36
0
-35
-1
10
0
0
0
0
0
0
-16
35
-6
25
0
-3
-12
28
-4
22
-15
0
0
0
0
0
0
30
-37
-54
16
-26
45
23
78
1
-20
9
0
0
0
0
0
0
55
22
-60
-11
-19
-20
-5
2
16
20
2
1
0
0
0
0
0
-7
-38
29
-9
1
2
67
-7
-46
0
6
0
0
0
0
0
0
25
15
-55
-15
-11
-19
85
9
-61
-9
-2
0
0
0
0
0
0
-8
-6
-6
49
-78
-21
-47
23
26
0
0
0
0
0
0
0
0
2
1
-2
0
-26
-63
10
11
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
1
0
0
0
0
0
0
0
0
0
-12
47
16
-10
-8
28
0
-43
56
-4
0
0
0
0
0
0
0
13
7
14
-71
12
3
11
14
61
-4
0
0
0
0
0
0
0
-2
20
-30
-49
26
-7
-11
7
-28
1
-1
0
0
0
0
0
0
4
-4
-1
11
1
-15
-20
-35
0
1
0
0
0
0
0
0
0
8
-4
0
18
-38
-55
84
-10
2
0
0
0
0
0
0
0
0
4
0
-10
21
21
-2
27
18
-4
0
0
0
0
0
0
0
0
-1
0
0
-10
3
-25
-20
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
-5
0
-3
-35
-10
0
0
0
0
0
0
0
0
7
-2
2
7
-1
-13
8
-19
-4
1
0
0
0
0
0
0
0
9
6
0
-38
11
13
11
1
-7
0
0
0
0
0
0
0
0
1
-6
0
4
-2
2
-9
-20
0
0
0
0
0
0
0
0
0
1
1
1
2
0
33
7
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
4
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
4
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
0
0
0
0
-2
0
1
-4
37
52
-40
22
0
0
0
0
0
0
0
0
0
-2
0
0
2
1
-2
-32
19
0
0
0
0
0
0
0
0
0
10
0
24
-30
0
0
45
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-6
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
-2
0
-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
27
-9
1
0
0
0
0
0
0
0
0
0
0
-19
0
-3
-16
-2
28
7
43
-2
0
0
0
0
0
0
0
1
-1
-1
12
6
-29
58
5
43
-11
0
0
0
0
0
0
0
0
0
-3
0
-5
32
-20
3
2
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
35
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-36
44
0
-18
0
0
0
0
0
0
0
0
0
0
1
0
-2
-17
1
-39
3
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
2
1
25
-8
-25
-17
0
0
0
0
0
0
0
0
0
0
-26
-2
-9
-24
1
47
-12
32
50
0
0
0
0
0
0
0
0
1
0
-6
20
13
23
18
4
-1
0
0
0
0
0
0
0
18
0
0
2
7
5
-56
43
-15
10
0
0
0
0
0
0
0
0
-8
-1
0
18
10
-21
4
24
0
0
0
0
0
0
0
0
0
-4
0
0
0
-43
84
-2
2
0
0
0
0
0
0
0
0
3
0
0
-3
-40
2
24
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
-28
35
0
0
-23
1
0
0
0
0
0
0
1
30
5
30
8
-9
8
-31
12
-3
0
0
0
0
0
0
0
0
-17
9
9
21
33
-31
32
41
-8
0
0
0
0
0
0
0
-3
-2
2
0
-10
-3
4
-96
1
0
0
0
0
0
0
0
0
0
-5
-43
8
0
-7
5
6
21
0
0
0
0
0
0
0
0
0
3
-2
0
14
0
15
15
44
-7
0
0
0
0
0
0
0
0
-9
0
1
-11
-34
33
1
5
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
20
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
-1
-6
12
4
-11
-5
37
-35
0
0
0
0
0
0
0
0
0
-1
26
4
11
29
1
-7
-21
32
0
-7
0
0
0
0
0
0
6
19
-28
-10
2
11
20
-19
4
6
0
0
0
0
0
0
0
19
-10
-23
-28
0
-2
-7
22
-55
-45
0
0
0
0
0
0
0
-2
2
0
4
-29
0
3
-3
60
-23
0
0
0
0
0
0
0
0
-41
-26
-30
0
-7
0
-8
-49
3
0
0
0
0
0
0
0
0
0
-1
4
-44
6
12
0
-17
9
0
0
0
0
0
0
0
0
0
0
0
4
49
-7
-60
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
14
-19
-32
66
-44
-12
-42
0
-62
0
0
0
0
0
0
0
-14
40
-17
-94
15
31
32
4
30
29
0
-3
0
0
0
0
0
44
31
13
-8
13
8
34
-19
38
-54
-13
0
0
0
0
0
0
35
-8
28
5
4
1
36
-14
-24
-32
0
0
0
0
0
0
0
1
-5
-3
16
-49
-15
0
1
-1
3
0
0
0
0
0
0
0
0
9
-4
-22
20
0
31
-3
27
-4
0
0
0
0
0
0
0
0
8
25
-17
43
-28
3
-60
1
0
0
0
0
0
0
0
0
0
2
-4
0
1
20
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-2
0
0
0
0
0
0
0
0
-8
-14
30
5
45
35
-24
9
0
-17
-2
0
0
0
0
0
0
-38
-57
-47
8
59
45
6
-38
18
22
-26
4
0
0
0
0
0
18
20
-51
33
-1
38
11
-45
7
13
1
0
0
0
0
0
0
11
6
-59
-7
45
-19
-15
29
-45
-32
0
0
0
0
0
0
0
-15
-26
-37
55
74
46
62
0
11
15
0
0
0
0
0
0
0
-1
45
-5
7
52
-25
-10
-9
0
6
0
0
0
0
0
0
0
0
-7
12
85
19
-5
-43
-31
-22
0
0
0
0
0
0
0
0
0
-19
1
5
12
2
22
-34
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
-7
40
-70
77
40
44
18
-59
0
3
0
1
0
0
0
0
0
39
-38
-24
10
-9
43
5
7
-2
0
9
9
0
0
0
0
0
-31
28
-5
-39
-54
-41
34
-25
33
-36
0
1
0
0
0
0
0
1
21
25
26
-11
-9
2
-56
16
1
25
-9
0
0
0
0
0
-3
15
15
2
-8
-17
-5
10
5
-36
0
0
0
0
0
0
0
41
64
12
-46
-64
10
25
-8
2
0
-3
0
0
0
0
0
0
-3
7
-12
-65
-50
-21
37
-19
-35
-48
0
0
0
0
0
0
0
0
-13
0
31
-10
-36
-8
16
-21
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
-61
-10
0
0
0
0
0
0
0
0
0
0
-39
-17
-10
-9
-13
23
5
0
29
18
-2
0
0
0
0
0
0
31
23
18
-43
26
-15
28
15
-59
-6
0
0
0
0
0
0
0
25
-5
-50
38
29
3
41
26
-6
-28
3
0
0
0
0
0
0
-24
-8
17
-12
-2
-36
20
5
40
3
0
0
0
0
0
0
0
-1
-19
-75
-58
-7
-29
-7
-7
0
7
0
0
0
0
0
0
0
41
-35
14
-55
26
2
32
2
37
0
0
0
0
0
0
0
0
-6
-76
5
-27
2
45
46
28
28
2
0
0
0
0
0
0
0
0
3
10
2
-7
31
-77
-40
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
11
0
3
11
7
3
0
17
13
-18
0
0
0
0
0
0
0
1
-9
-19
21
24
-28
29
34
-32
10
10
0
0
0
0
0
0
21
28
3
98
22
-34
41
-37
8
2
0
0
0
0
0
0
0
6
12
-2
16
-12
40
-71
-3
1
0
0
0
0
0
0
0
0
33
2
2
-14
15
-8
-23
-6
0
0
0
0
0
0
0
0
0
0
0
0
36
-11
33
-15
0
-9
0
0
0
0
0
0
0
0
0
0
0
-3
19
21
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
1
0
-27
2
0
20
-9
-9
0
0
0
0
0
0
0
0
-6
-1
0
21
6
-20
16
5
16
0
0
0
0
0
0
0
0
13
-4
-3
3
0
-13
-3
9
-6
0
0
0
0
0
0
0
0
6
-2
4
-4
-16
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-11
0
1
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-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
4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
-1
13
0
0
0
0
0
0
0
0
0
2
0
0
0
0
7
-15
20
0
0
0
0
0
0
0
0
0
0
0
1
4
16
2
-12
20
0
0
0
0
0
0
0
0
0
0
0
-3
11
-7
1
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-2
0
-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
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
-1
0
0
4
-6
16
-3
-25
0
0
0
0
0
0
0
0
0
2
0
-4
-19
-3
14
17
-27
0
0
0
0
0
0
0
0
-1
3
-2
-20
3
1
23
20
-6
1
0
0
0
0
0
0
0
0
0
-1
0
-4
-1
36
16
10
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-3
-14
-7
2
0
0
0
0
0
0
0
0
0
0
8
0
9
-9
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
-2
0
-4
-1
0
0
-1
0
0
0
0
0
0
0
4
-12
0
7
-3
-12
-12
12
62
24
0
0
0
0
0
0
0
10
1
0
-4
-41
-59
11
86
-83
4
0
0
0
0
0
0
0
1
7
0
3
-45
-25
-12
32
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-4
2
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-1
-4
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-12
-28
-7
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
44
-17
22
18
0
-2
-7
0
0
0
0
0
0
0
-35
6
-8
-21
60
-9
13
9
28
-3
0
0
0
0
0
0
0
18
17
19
17
6
4
-17
10
3
0
0
0
0
0
0
0
0
10
37
48
26
-3
55
138
-66
23
0
0
0
0
0
0
0
9
2
12
0
-28
-2
-27
25
4
-1
0
0
0
0
0
0
0
0
8
2
-7
0
34
18
-5
0
0
0
0
0
0
0
0
0
0
1
0
0
-21
0
-15
-19
17
1
0
0
0
0
0
0
0
0
0
-1
-13
0
-10
0
-4
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
-4
12
-17
-50
-12
-54
0
-75
0
0
0
0
0
0
0
-1
-6
16
13
0
11
-23
-13
17
-21
0
0
0
0
0
0
0
3
59
0
1
-24
52
-13
-32
12
37
0
0
0
0
0
0
0
-4
13
2
16
25
-74
-22
-3
-19
20
2
0
0
0
0
0
0
0
-23
24
-31
-10
-21
0
-29
-59
-3
0
0
0
0
0
0
0
0
7
-11
3
-23
0
18
6
-12
0
0
0
0
0
0
0
0
0
-2
4
-14
0
38
0
21
15
-1
0
0
0
0
0
0
0
0
0
6
0
0
23
-13
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
7
1
4
8
-28
7
-19
-38
0
-35
3
0
0
0
0
0
0
0
12
0
9
50
14
-4
-7
56
-39
1
0
0
0
0
0
0
32
-7
1
-30
54
27
-47
-33
-18
0
-1
0
0
0
0
0
0
21
-28
14
49
-16
36
-24
-8
17
21
-3
0
0
0
0
0
0
-20
-26
-16
-41
-28
1
-13
0
-9
0
0
0
0
0
0
0
0
-2
-33
-26
-9
-60
-57
0
14
-9
-11
0
0
0
0
0
0
0
-8
8
11
0
-30
9
15
0
-56
-2
0
0
0
0
0
0
0
0
-4
-1
-65
-8
-19
3
22
0
19
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
61
34
9
4
14
5
-23
0
3
8
0
0
0
0
0
0
-35
-42
-54
-3
46
29
34
-26
28
-49
6
0
0
0
0
0
0
23
29
-27
23
-36
-18
0
-17
-7
30
0
0
0
0
0
0
0
33
3
-6
-41
-10
-13
11
-5
-8
6
0
0
0
0
0
0
0
-3
-2
-10
19
-18
-8
-39
-10
3
-30
0
0
0
0
0
0
0
0
-27
-2
34
-14
-3
-49
0
16
-1
0
0
0
0
0
0
0
0
-7
5
-21
-21
10
0
-48
-2
-11
0
0
0
0
0
0
0
0
-1
-15
-24
15
20
21
-25
-41
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
38
15
-50
-40
16
-10
-4
37
0
11
-8
0
0
0
0
0
0
29
30
-30
41
36
7
9
9
50
9
17
18
0
0
0
0
0
12
-18
-22
-9
-12
34
36
48
17
22
10
0
0
0
0
0
0
-85
-103
-21
-5
-10
-15
0
39
-15
-57
0
0
0
0
0
0
0
24
21
39
7
-20
-32
-13
1
-14
0
0
0
0
0
0
0
0
-4
-29
4
-64
7
19
44
35
0
-4
0
0
0
0
0
0
0
-8
6
-82
-61
-15
12
22
0
17
0
0
0
0
0
0
0
0
-14
2
15
-23
-16
-33
-35
12
10
-23
0
0
0
0
0
0
0
0
0
0
-13
3
-3
-28
0
-1
0
0
0
0
0
0
0
0
0
-72
-2
65
19
-1
-22
35
0
7
-38
1
0
0
0
0
0
0
-14
-17
23
2
29
3
16
19
30
-12
-3
0
0
0
0
0
0
-44
-22
-10
-51
-47
19
-44
4
-62
-17
0
0
0
0
0
0
0
-25
-47
42
-40
-12
-12
56
25
-36
3
0
0
0
0
0
0
0
56
5
59
5
14
20
4
-22
11
0
0
0
0
0
0
0
0
26
-51
2
-11
4
33
-10
53
0
1
0
0
0
0
0
0
0
-39
-36
-37
-4
-25
21
12
-6
-21
0
0
0
0
0
0
0
0
2
-17
-19
23
-8
-59
17
-52
-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
25
0
24
-3
51
10
0
-6
-9
0
0
0
0
0
0
0
0
-8
8
60
49
9
11
2
12
-4
-4
0
0
0
0
0
0
0
-12
-9
7
-53
3
-16
42
8
-6
0
0
0
0
0
0
0
0
12
13
0
7
-27
13
-41
-6
-3
0
0
0
0
0
0
0
0
-4
0
4
-25
-57
1
-68
0
-4
0
0
0
0
0
0
0
0
-1
0
0
-2
-1
-35
5
-5
0
0
0
0
0
0
0
0
0
1
0
0
22
23
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
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
-2
0
0
6
-21
-2
0
0
0
0
0
0
0
0
0
-1
0
-12
-8
-5
3
36
-5
-2
0
0
0
0
0
0
0
2
-6
0
-5
-3
1
8
0
0
0
0
0
0
0
0
0
0
-1
4
0
4
11
-1
-8
0
0
0
0
0
0
0
0
0
0
-11
2
0
0
3
6
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
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-16
0
0
0
0
0
0
0
0
0
0
0
4
1
47
1
50
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-21
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
-2
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
-1
0
0
0
-30
9
32
24
-7
0
0
0
0
0
0
0
0
0
0
0
7
0
33
-36
19
0
0
0
0
0
0
0
0
-4
0
0
-3
-9
4
2
28
-1
49
0
0
0
0
0
0
0
0
17
1
-2
3
-14
-15
-6
20
0
0
0
0
0
0
0
0
0
0
0
-2
0
-10
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
-5
3
0
-1
0
0
0
0
0
0
0
0
1
2
0
0
-1
2
47
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-8
25
-35
19
7
0
0
0
0
0
0
0
0
0
-12
-7
16
-5
6
44
15
-17
0
0
0
0
0
0
0
0
-3
-1
0
-34
2
3
4
36
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
2
0
-7
0
-8
-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
-4
0
16
-41
-9
0
0
0
0
0
0
0
0
0
0
-10
0
0
7
4
34
-38
-2
-2
-1
0
0
0
0
0
0
0
2
0
0
16
-13
-12
10
9
-18
0
0
0
0
0
0
0
3
1
-1
-4
0
3
-13
-14
12
0
0
0
0
0
0
0
0
-1
0
-8
-16
-32
7
-8
4
1
1
0
0
0
0
0
0
0
0
0
-12
0
0
-2
4
0
10
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
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
3
-7
-15
1
16
0
-1
0
0
0
0
0
0
0
0
-24
-1
0
31
19
46
-21
-38
26
0
0
0
0
0
0
0
0
17
0
-1
-19
-13
19
25
-7
-3
0
0
0
0
0
0
0
-10
0
7
-1
1
-8
26
38
1
-17
0
0
0
0
0
0
0
0
-10
-1
4
4
17
-38
5
33
0
0
0
0
0
0
0
0
0
7
0
-6
0
5
0
43
4
-1
0
0
0
0
0
0
0
0
0
1
0
10
0
-13
-5
0
0
0
0
0
0
0
0
0
0
-2
0
3
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
-1
5
0
-6
17
-71
34
0
8
0
0
0
0
0
0
0
0
8
-1
-17
68
-48
-27
17
30
47
1
0
0
0
0
0
0
-2
4
9
55
-52
-4
39
-43
-20
-35
0
0
0
0
0
0
0
-1
-1
8
94
-5
33
4
7
15
1
0
0
0
0
0
0
0
-1
24
10
41
-36
-34
23
19
0
0
0
0
0
0
0
0
0
-11
6
-9
6
19
1
-1
0
23
-2
0
0
0
0
0
0
0
0
-19
0
0
-19
-7
0
-12
1
0
0
0
0
0
0
0
0
0
13
0
-15
2
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
4
41
-15
11
-4
0
-20
-4
0
0
0
0
0
0
-4
15
12
41
24
41
25
71
-24
34
1
0
0
0
0
0
0
0
-26
5
-39
12
-49
26
10
43
7
-1
0
0
0
0
0
0
51
76
11
21
59
22
-29
13
28
-20
0
0
0
0
0
0
0
-11
-69
-35
23
4
21
7
-100
21
1
-1
0
0
0
0
0
0
0
25
45
35
-60
43
0
4
-1
-5
0
0
0
0
0
0
0
0
10
-18
3
-72
-29
-18
0
-51
0
0
0
0
0
0
0
0
0
4
-1
8
-21
-76
2
0
0
16
0
0
0
0
0
0
0
0
0
0
7
4
0
22
12
0
0
0
0
0
0
0
0
0
-23
14
-49
17
0
24
-31
-59
0
-23
1
0
0
0
0
0
0
-52
-6
-16
-8
41
18
87
-11
52
-7
-26
0
0
0
0
0
0
18
-69
-41
-22
18
13
27
57
27
2
2
0
0
0
0
0
0
15
-48
-47
-21
5
-23
14
40
7
19
-3
0
0
0
0
0
0
30
3
-16
70
9
14
58
7
-22
-6
0
0
0
0
0
0
0
-51
-47
-69
12
2
-10
-10
-7
-42
0
-1
0
0
0
0
0
0
3
23
2
-9
35
-29
-11
15
0
-8
0
0
0
0
0
0
0
0
-3
-3
15
-5
-52
20
-2
15
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
1
6
2
0
0
0
0
0
0
0
0
0
51
30
11
-52
26
-2
-16
0
15
-28
0
0
0
0
0
0
0
-23
8
59
26
13
34
-4
28
19
-50
2
0
0
0
0
0
0
2
-9
17
25
13
-5
-17
24
22
-9
0
0
0
0
0
0
0
-25
8
0
16
2
19
-9
7
2
35
0
0
0
0
0
0
0
32
-18
32
-12
65
-22
41
81
-29
0
0
0
0
0
0
0
0
67
14
-1
38
21
29
13
3
-92
0
0
0
0
0
0
0
0
-3
39
-34
49
19
37
22
31
0
0
0
0
0
0
0
0
0
1
3
-2
10
-16
9
1
2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
0
0
0
0
0
0
0
0
0
-3
16
0
34
35
-40
0
87
-36
0
0
0
0
0
0
0
0
30
12
6
23
61
11
10
21
17
0
0
0
0
0
0
0
0
14
-4
-2
41
17
11
21
19
13
0
0
0
0
0
0
0
0
9
3
43
-26
32
16
41
66
32
0
0
0
0
0
0
0
0
22
-3
-4
-47
-15
30
-1
43
0
0
0
0
0
0
0
0
0
-6
-3
0
-22
46
-38
20
-1
4
0
0
0
0
0
0
0
0
0
0
3
-10
11
4
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
7
0
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-12
4
12
6
0
0
0
0
0
0
0
0
2
0
0
1
2
23
-1
-1
14
0
0
0
0
0
0
0
0
0
0
-2
6
7
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
4
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
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
0
0
0
0
0
0
0
0
0
0
0
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
9
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
-1
0
-3
1
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
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
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
0
14
0
0
0
0
0
0
0
0
0
0
-1
0
0
6
0
34
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
-32
0
0
0
0
0
0
0
0
0
0
2
0
0
26
2
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-3
2
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
8
19
-66
0
0
0
0
0
0
0
0
-4
0
3
0
0
-2
-4
14
9
0
0
0
0
0
0
0
0
0
-1
-1
0
-2
-23
-23
-2
0
0
0
0
0
0
0
0
0
0
-6
-6
0
0
11
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
-18
-7
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-42
-18
2
0
-13
0
0
0
0
0
0
0
0
-3
0
0
11
-9
-39
-20
43
45
0
0
0
0
0
0
0
-7
-8
0
-7
-1
-25
2
33
0
-17
0
0
0
0
0
0
0
0
1
6
-1
-19
41
-41
-17
61
0
0
0
0
0
0
0
0
10
3
25
-1
-10
-7
-8
20
16
0
0
0
0
0
0
0
0
0
6
1
0
30
0
13
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-8
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
2
5
-56
7
0
0
0
0
0
0
0
0
0
0
37
-1
-14
-11
-31
79
-58
-55
-6
0
0
0
0
0
0
0
11
34
-1
38
-54
23
3
32
-67
2
0
0
0
0
0
0
0
60
11
0
18
-67
-13
51
2
-47
-23
0
0
0
0
0
0
0
0
-30
-11
-17
14
0
96
38
0
0
0
0
0
0
0
0
0
3
2
-11
39
-133
77
1
25
-20
0
0
0
0
0
0
0
0
18
13
16
9
48
-43
-2
7
0
0
0
0
0
0
0
0
0
0
11
0
-13
-1
-79
20
0
3
0
0
0
0
0
0
0
0
0
0
4
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
3
-8
9
-24
-21
-31
-39
39
0
24
0
0
0
0
0
0
0
-1
-30
2
12
-10
-8
-19
-13
66
19
8
0
0
0
0
0
0
77
20
7
-6
-69
20
39
44
23
-44
3
0
0
0
0
0
0
2
1
-4
-35
-26
15
-17
35
16
-21
-4
0
0
0
0
0
0
54
-20
20
-25
-15
24
-17
61
28
-2
-6
0
0
0
0
0
0
-26
-17
28
-26
-18
-22
-21
17
9
38
0
0
0
0
0
0
0
-2
6
-35
40
2
26
-3
0
4
0
0
0
0
0
0
0
0
16
-2
-3
-12
-24
-41
-67
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
30
-5
0
0
0
0
0
0
0
0
0
0
0
1
6
61
8
37
-17
45
0
-21
0
0
0
0
0
0
0
0
33
-16
-58
30
17
-6
47
-24
34
-6
0
0
0
0
0
0
0
3
-19
-5
30
18
34
41
27
59
14
0
0
0
0
0
0
0
4
-60
15
0
-21
33
1
-10
-47
-9
0
0
0
0
0
0
0
34
-8
-27
4
33
39
12
19
-5
1
0
0
0
0
0
0
0
-3
-36
-26
27
-1
-25
19
39
-14
0
0
0
0
0
0
0
0
-8
-20
-28
5
-17
7
-6
-3
-17
0
0
0
0
0
0
0
0
1
-4
7
-13
58
30
39
18
0
0
0
0
0
0
0
0
0
0
15
0
0
3
-21
7
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
-2
0
24
0
-1
0
0
0
0
0
0
0
0
0
16
-2
0
40
13
-4
17
-16
-11
0
0
0
0
0
0
0
0
8
19
0
-5
65
47
2
-20
7
0
0
0
0
0
0
0
0
30
1
5
42
-12
6
8
-26
20
0
0
0
0
0
0
0
0
-11
0
3
22
63
0
-36
-3
-4
0
0
0
0
0
0
0
0
-13
3
-2
-12
16
33
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-26
0
-5
-21
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
-4
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
0
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
-5
0
0
0
0
0
0
0
0
0
1
0
0
-1
2
6
0
-2
0
0
0
0
0
0
0
0
0
0
-3
1
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-34
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
12
-1
-1
0
0
0
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
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-2
-11
0
0
0
0
0
0
0
0
0
0
0
0
-10
7
-1
-29
-17
-2
0
0
0
0
0
0
0
0
-8
0
0
0
0
7
13
-28
14
0
0
0
0
0
0
0
0
15
-19
-2
9
12
-16
-41
0
-6
0
0
0
0
0
0
0
0
6
-10
-3
-38
0
18
7
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
10
-3
21
1
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
25
9
2
0
0
0
0
0
0
0
0
0
0
0
0
10
6
38
-27
3
16
0
0
0
0
0
0
0
0
62
0
0
39
-1
12
34
65
28
-7
0
0
0
0
0
0
0
35
6
0
75
11
43
82
15
-114
0
0
0
0
0
0
0
0
11
28
27
27
-41
25
12
2
31
3
0
0
0
0
0
0
0
47
-44
1
47
5
-64
75
7
0
2
0
0
0
0
0
0
0
-31
-32
0
62
-12
1
-13
-3
0
-3
0
0
0
0
0
0
0
14
-4
-13
51
33
-55
7
0
0
0
0
0
0
0
0
0
0
0
0
1
0
21
-1
56
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
60
0
0
0
0
0
0
0
0
0
0
-11
0
0
6
0
-50
-8
16
3
0
0
0
0
0
0
0
0
0
-7
0
11
-15
5
8
4
-4
-2
0
0
0
0
0
0
0
0
0
0
21
11
7
0
-26
3
0
0
0
0
0
0
0
0
6
-1
-1
8
-36
-20
-8
24
-2
0
0
0
0
0
0
0
0
-5
0
-2
32
-17
10
2
23
0
0
0
0
0
0
0
0
0
0
0
1
9
-10
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
1
-6
26
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
38
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
-16
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
87
-1
-1
0
0
0
0
0
0
0
0
0
0
0
3
-1
-3
51
-28
-9
0
0
-2
0
0
0
0
0
0
0
0
-12
-31
-16
43
20
11
0
-1
30
0
0
0
0
0
0
0
0
36
-24
-49
-3
-1
37
-24
3
51
0
0
0
0
0
0
0
0
0
31
-9
24
7
20
8
-2
1
0
0
0
0
0
0
0
0
0
2
-6
-27
27
1
-20
0
0
0
0
0
0
0
0
0
0
1
0
14
0
-27
0
0
0
-2
0
0
0
0
0
0
0
0
0
-22
0
-14
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
8
-2
-7
11
-13
2
0
-7
0
0
0
0
0
0
0
0
89
11
9
-35
30
-16
0
-11
0
0
0
0
0
0
0
0
-18
-5
6
-63
-11
14
56
41
103
23
0
0
0
0
0
0
0
-1
8
44
0
11
0
-30
-2
28
-19
0
0
0
0
0
0
0
-1
56
7
58
-7
-42
30
-29
-38
-18
0
0
0
0
0
0
0
0
32
-18
24
13
-54
-10
-8
-6
9
0
0
0
0
0
0
0
0
0
11
-6
-24
-36
14
-27
-19
2
0
0
0
0
0
0
0
0
0
10
0
27
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
16
0
17
22
-15
-24
1
0
-1
-3
0
0
0
0
0
0
-8
0
20
8
-29
60
28
0
0
0
-7
0
0
0
0
0
0
0
31
71
19
-55
-1
18
83
22
-29
-77
0
0
0
0
0
0
4
3
72
45
-17
-21
8
10
-10
17
-71
0
0
0
0
0
0
0
60
60
-4
39
16
5
80
5
0
0
0
0
0
0
0
0
0
31
-17
12
-1
38
14
6
-21
5
0
0
0
0
0
0
0
0
0
-9
-23
26
20
11
-82
24
0
-10
0
0
0
0
0
0
0
0
2
29
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
-5
16
0
0
0
0
0
4
0
0
0
0
0
12
-61
-1
32
0
63
-14
0
0
0
-13
0
0
0
0
0
0
0
0
-57
-29
53
-20
-11
22
-7
16
-17
9
0
0
0
0
0
-3
-9
80
15
-2
57
-9
60
48
18
13
-3
0
0
0
0
0
-1
-3
-27
-3
46
-61
-32
1
66
0
-6
-2
0
0
0
0
0
-2
7
46
43
16
-4
2
5
-50
-21
0
0
0
0
0
0
0
0
0
1
26
-37
6
9
1
1
0
-1
0
0
0
0
0
0
0
0
0
-2
10
-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
-6
12
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
26
70
6
49
0
-35
0
2
0
-15
0
0
0
0
0
0
0
-4
-4
6
12
-4
-38
-13
8
18
-1
-2
0
0
0
0
0
-2
12
19
44
8
58
-12
8
-48
-14
-2
2
0
0
0
0
0
0
18
-9
37
16
58
-8
6
0
-16
-4
0
0
0
0
0
0
0
-8
0
13
46
43
-15
4
2
-10
0
3
0
0
0
0
0
0
0
4
2
5
-21
2
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
0
-16
0
3
2
0
0
0
0
0
0
0
0
0
0
6
-1
-58
-2
-13
0
0
21
0
-10
0
0
0
0
0
0
-17
14
-19
-38
-82
-10
-21
-2
27
-6
2
3
0
0
0
0
0
4
-65
1
-5
-68
54
-8
7
-4
29
11
0
0
0
0
0
0
0
1
10
27
-36
57
17
31
4
4
8
0
0
0
0
0
0
0
-2
17
-18
1
-1
7
-24
0
4
0
0
0
0
0
0
0
0
0
10
0
10
0
17
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
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
3
0
3
15
0
1
0
0
1
0
0
0
0
0
0
0
1
-25
38
11
0
-2
0
-13
0
-10
1
0
0
0
0
0
0
0
9
-47
-30
20
-23
-61
40
15
2
-3
0
0
0
0
0
0
-31
-53
-34
8
5
-22
11
2
-39
6
0
0
0
0
0
0
0
-4
0
10
-17
-7
14
25
11
0
13
0
0
0
0
0
0
0
12
1
2
6
16
-15
-11
-21
1
0
0
0
0
0
0
0
0
0
0
15
-11
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
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
-16
7
0
0
0
0
0
0
0
-19
37
-58
-2
-10
1
11
13
2
-1
0
0
0
0
0
0
-3
-11
-25
12
3
1
5
-6
-9
12
0
-7
0
0
0
0
0
3
8
1
-10
24
39
2
-20
-3
3
0
0
0
0
0
0
0
0
0
-1
0
-32
1
3
-3
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-30
-4
23
-20
0
0
0
0
0
0
0
0
0
0
0
10
26
-8
-21
16
-25
16
0
-8
0
0
0
0
0
0
0
0
38
65
66
-37
17
-12
-22
72
-9
0
0
0
0
0
0
0
0
-7
27
35
27
13
26
-1
1
-46
0
0
0
0
0
0
0
0
-17
-43
-6
-50
-18
-51
39
1
1
0
0
0
0
0
0
0
0
0
16
72
6
33
29
-7
4
2
0
0
0
0
0
0
0
0
-1
28
-25
17
9
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
-15
-5
-30
31
18
-19
1
0
13
0
0
0
0
0
0
0
13
79
-18
24
16
27
15
0
-33
0
0
0
0
0
0
0
0
-1
2
-32
-14
6
-19
-21
-42
-9
-18
0
0
0
0
0
0
0
-24
33
-16
6
4
-61
71
38
82
4
0
0
0
0
0
0
0
19
26
22
2
-15
-5
-26
-12
-5
15
0
0
0
0
0
0
0
-11
77
-4
4
-36
66
-4
45
25
26
0
0
0
0
0
0
0
-7
3
-3
61
14
24
38
4
30
13
0
0
0
0
0
0
0
0
2
11
-3
-53
-13
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-44
5
11
20
-61
-20
0
1
19
0
0
0
0
0
0
-8
15
26
17
17
34
-28
0
18
0
37
0
0
0
0
0
0
6
32
31
57
41
-4
55
79
37
4
-47
0
0
0
0
0
0
19
29
16
62
-7
18
17
82
40
14
14
0
0
0
0
0
0
17
2
27
3
-32
9
16
2
25
-52
20
0
0
0
0
0
0
6
19
-31
-3
-51
4
1
20
-27
12
-12
0
0
0
0
0
0
-11
-15
17
-81
13
-92
44
-17
1
2
0
0
0
0
0
0
0
0
0
0
6
22
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
25
1
-14
-65
-9
0
0
10
0
0
0
0
0
0
1
-6
56
27
48
28
20
0
-4
0
27
4
0
0
0
0
0
0
12
-10
-35
8
-24
-33
21
27
16
73
0
0
0
0
0
0
1
41
29
-27
26
13
-14
2
-5
76
-14
-2
0
0
0
0
0
-5
-17
24
23
36
29
-37
13
13
-20
-14
0
0
0
0
0
0
-1
-23
17
52
35
-39
-9
45
26
18
2
0
0
0
0
0
0
0
0
1
-38
-14
1
22
5
-11
0
3
0
0
0
0
0
0
0
0
-6
-2
6
1
-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
-1
-8
49
2
33
0
-39
-4
0
-2
-1
-1
0
0
0
0
0
-41
15
-40
-11
-4
-2
43
0
1
0
34
-1
0
0
0
0
0
17
4
28
36
-39
34
37
-8
46
23
-16
-4
0
0
0
0
0
0
-2
-14
-20
55
-32
-30
-4
-41
13
-2
1
0
0
0
0
0
-4
9
21
-19
-7
17
-2
-87
-7
46
-1
-1
0
0
0
0
0
0
6
1
-8
52
27
-4
-1
2
16
-1
4
-2
0
0
0
0
0
0
-9
-16
-4
-48
-9
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
30
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
1
-5
-62
6
21
0
5
0
2
2
0
0
0
0
0
0
0
6
-6
-23
11
57
21
0
0
0
-9
1
0
0
0
0
0
1
-54
-58
14
-9
64
-67
72
-10
-10
50
-28
2
0
0
0
0
-6
23
6
-7
27
-29
0
-8
54
23
-13
4
2
0
0
0
0
12
12
-45
-16
-3
23
66
-54
6
-13
-1
0
0
0
0
0
0
0
9
-4
33
49
48
34
-8
-14
6
0
3
2
0
0
0
0
0
0
10
15
6
-3
-4
-27
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
11
35
-17
-20
-1
9
0
0
0
5
0
0
0
0
0
0
0
2
-27
-41
-4
49
26
0
-3
0
-15
4
0
0
0
0
0
1
5
30
9
-23
103
-24
6
-7
47
-7
1
-4
0
0
0
0
-1
2
46
-13
23
30
-12
-39
-7
74
5
0
7
0
0
0
0
-6
4
-94
-67
-6
7
30
48
-15
-27
-29
-10
0
0
0
0
0
-4
39
3
28
37
15
13
-19
-1
-24
-1
0
2
0
0
0
0
0
0
0
15
31
-20
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-8
0
0
0
0
1
7
0
0
0
0
0
0
0
0
10
2
-9
0
2
0
-1
0
23
2
0
0
0
0
0
0
-6
4
21
33
6
8
7
-32
-16
8
0
0
0
0
0
0
0
4
-54
-43
-2
16
23
6
-11
14
3
0
0
0
0
0
0
0
20
64
30
33
-3
86
-7
2
-24
0
2
0
0
0
0
0
0
0
4
11
0
16
9
-4
1
-7
0
0
0
0
0
0
0
0
0
2
0
-4
9
-7
3
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
1
-1
-1
2
0
0
0
0
0
0
0
0
-17
22
7
-39
1
-3
-4
6
0
0
0
0
0
0
0
0
0
16
-3
0
-6
21
0
2
0
2
0
0
0
0
0
0
0
0
0
0
2
2
-2
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
17
2
0
-1
0
6
0
3
0
0
0
0
0
0
0
0
0
0
14
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-33
-3
53
49
-23
0
0
0
0
0
0
0
0
0
0
0
26
-5
7
44
42
39
-1
0
18
0
0
0
0
0
0
0
0
2
-29
-27
-30
61
-20
37
32
-75
0
0
0
0
0
0
0
0
2
-45
20
69
-24
23
-17
42
15
0
0
0
0
0
0
0
0
-22
-3
-16
-55
-1
-20
60
-3
46
0
0
0
0
0
0
0
0
3
69
25
-28
-87
40
-40
-8
1
0
0
0
0
0
0
0
0
-12
-1
25
41
10
7
1
0
0
0
0
0
0
0
0
0
0
0
-6
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
28
9
-20
-72
-42
21
27
18
0
7
0
0
0
0
0
0
0
-7
7
-49
-16
21
23
-22
0
17
0
0
0
0
0
0
0
0
2
70
-4
-3
11
27
-56
13
-53
-18
0
0
0
0
0
0
0
-4
7
-40
-15
-19
-14
23
57
60
-26
0
0
0
0
0
0
0
-22
-17
-21
-22
-13
-12
37
20
98
44
0
0
0
0
0
0
0
0
95
-1
31
-69
23
-62
16
13
39
0
0
0
0
0
0
0
0
8
29
-56
26
1
133
-18
-4
-13
0
0
0
0
0
0
0
0
0
36
25
17
11
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-32
-33
-3
69
-35
-26
0
6
-52
0
0
0
0
0
0
-30
27
-4
49
-11
-26
30
0
25
0
28
0
0
0
0
0
0
11
1
38
-33
0
-14
-14
72
37
-32
-57
0
0
0
0
0
0
10
-9
-41
14
-14
49
35
60
23
-6
28
0
0
0
0
0
0
0
45
28
29
51
-4
13
11
22
22
-10
0
0
0
0
0
0
0
-37
11
26
39
-18
-9
13
21
-43
1
0
0
0
0
0
0
0
0
116
-4
32
32
-7
13
-6
0
0
0
0
0
0
0
0
0
0
1
-1
1
33
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
57
6
32
-4
68
9
0
0
-35
0
0
0
0
0
0
0
14
39
-18
37
3
38
0
-7
0
14
-4
0
0
0
0
0
-3
-2
-10
44
13
-14
18
62
24
75
24
-8
0
0
0
0
0
-7
-6
-17
-23
37
-19
-4
-3
-3
21
17
-7
0
0
0
0
0
13
-7
6
20
-29
-39
34
11
16
12
1
0
0
0
0
0
0
0
21
-78
24
-12
-48
6
90
13
2
3
0
0
0
0
0
0
0
-2
-31
-41
5
-14
-2
35
7
0
0
0
0
0
0
0
0
0
0
-39
0
2
-10
0
0
7
0
0
0
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
20
-43
-33
42
-1
0
-2
3
0
0
0
0
0
0
4
2
35
3
-30
46
27
0
-1
0
-8
0
1
0
0
0
0
0
2
11
0
16
-18
24
14
24
-29
-6
-65
0
0
0
0
0
-2
5
20
-46
-12
-54
70
15
3
8
10
-1
0
0
0
0
0
-4
-5
-1
55
-4
-40
20
18
23
13
-12
-3
0
0
0
0
0
0
16
-29
42
3
42
3
-8
-7
1
-9
0
0
0
0
0
0
0
1
7
1
45
-1
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
-18
-14
-19
67
0
0
3
0
2
0
0
0
0
0
-3
10
-43
38
7
7
-55
0
7
0
-11
2
-6
0
0
0
0
-9
-1
63
-10
19
6
23
24
19
-48
34
-1
-1
0
0
0
0
0
-5
-32
-23
-17
-11
73
-15
12
-28
-3
1
-1
0
0
0
0
0
-45
6
-81
32
15
42
-3
19
-1
0
0
0
0
0
0
0
0
-5
7
-9
19
19
2
4
-12
0
-2
-1
0
0
0
0
0
0
0
-35
-4
-1
1
-9
-2
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-9
44
-30
-16
35
0
0
-3
0
0
0
0
0
0
0
-4
0
-13
57
45
-1
-7
0
-12
0
7
-6
1
0
0
0
0
0
2
26
-12
17
54
-1
-2
-10
34
2
-2
0
0
0
0
0
0
20
-31
27
-30
-15
3
8
-2
-10
7
0
2
0
0
0
0
-7
6
-15
40
-18
0
-30
-14
29
-9
-1
0
0
0
0
0
0
0
-1
38
-1
22
-22
23
-32
0
1
-2
0
0
0
0
0
0
0
0
37
-39
12
-22
1
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
23
-1
14
0
0
-2
0
0
0
0
0
0
0
0
10
2
3
12
-21
0
0
-1
0
39
-4
0
0
0
0
0
-4
-26
15
2
-3
-3
-7
0
-6
-9
1
0
0
-4
0
0
0
0
2
-2
2
-22
10
-7
-26
2
6
-8
0
2
0
0
0
0
0
-21
-14
-112
-31
-22
-26
-2
-72
-9
6
0
0
0
0
0
0
0
0
-7
11
2
35
-20
0
-1
3
2
0
0
0
0
0
0
0
0
10
3
4
-32
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
8
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-12
-2
-9
2
0
0
0
0
0
0
0
0
0
0
0
-1
-21
-11
-27
23
5
0
0
0
7
0
0
0
0
0
0
0
7
30
-10
14
10
-1
-2
0
-2
0
-3
0
0
0
0
0
0
1
-1
4
-3
-22
32
1
2
-13
2
0
0
0
0
0
0
0
-1
11
6
-20
0
38
1
-40
18
0
-1
0
0
0
0
0
0
0
6
-14
6
20
-3
2
0
-1
6
0
0
0
0
0
0
0
0
0
-18
-7
-1
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
4
-6
0
0
0
1
0
0
0
0
0
0
0
0
10
3
1
4
28
0
0
0
0
2
0
0
0
0
0
0
-6
4
6
40
-1
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
20
1
10
22
4
0
-2
0
0
0
0
0
0
0
0
0
-2
17
-18
-29
9
6
0
-2
1
0
0
0
0
0
0
0
0
3
0
-11
0
0
0
0
20
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
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-16
-51
19
6
56
-3
1
0
0
0
0
0
0
0
0
0
40
-56
-64
48
-9
16
-7
0
-7
0
0
0
0
0
0
0
0
16
-5
17
-12
7
76
-7
25
-4
0
0
0
0
0
0
0
0
-1
17
-8
20
-45
-5
26
-6
45
0
0
0
0
0
0
0
0
21
24
85
51
-57
-7
-34
0
4
0
0
0
0
0
0
0
0
-3
-24
4
57
59
-92
-2
1
1
0
0
0
0
0
0
0
0
0
29
-30
-21
-28
-17
0
0
6
0
0
0
0
0
0
0
0
0
-15
7
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
3
-28
37
-21
-5
-15
-2
0
-1
0
0
0
0
0
0
0
59
-51
22
-19
24
-7
-58
0
30
0
0
0
0
0
0
0
0
27
7
6
-35
7
-26
-39
-35
-5
-23
0
0
0
0
0
0
0
48
13
67
-13
53
17
7
-79
8
30
0
0
0
0
0
0
0
0
-13
13
5
-35
-19
-18
-12
-6
38
0
0
0
0
0
0
0
4
20
-31
-12
24
25
-15
-4
-45
-46
0
0
0
0
0
0
0
0
6
-23
-5
-34
33
50
5
-21
-6
0
0
0
0
0
0
0
0
0
-6
72
-10
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
-34
10
-23
-2
16
-66
55
-4
0
16
-3
0
0
0
0
0
0
0
15
24
34
4
14
44
0
13
0
57
0
0
0
0
0
0
50
27
2
46
22
-3
9
8
-58
-2
-35
0
0
0
0
0
0
3
-12
37
-20
22
-42
46
30
-12
17
-14
0
0
0
0
0
0
6
3
28
47
2
6
14
-38
0
94
-4
0
0
0
0
0
0
0
67
13
20
-38
1
-10
-12
35
48
0
0
0
0
0
0
0
0
-9
-39
-11
12
-51
-3
-58
-6
4
0
0
0
0
0
0
0
-1
0
18
-45
2
-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
44
-43
43
9
113
-38
1
0
-12
0
0
0
0
0
0
0
15
-24
26
30
13
13
-22
0
-11
0
-15
-3
0
0
0
0
0
3
2
-13
22
57
5
10
-61
-49
15
-24
5
0
0
0
0
0
2
-6
11
0
104
3
-18
18
-6
-26
10
0
0
0
0
0
0
0
12
-26
-2
33
7
29
-39
30
39
24
-2
0
0
0
0
0
0
-18
-55
14
-1
42
-32
22
-4
19
-3
0
0
0
0
0
0
0
16
13
-37
31
-15
-3
3
6
0
0
0
0
0
0
0
0
0
2
4
14
13
-4
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
14
63
-14
-37
-2
0
0
6
3
8
0
0
0
0
0
0
13
-15
0
12
-14
73
0
-10
0
-38
2
1
0
0
0
0
0
-65
-24
-9
-16
13
10
51
18
3
-56
26
0
0
0
0
0
0
26
11
5
1
39
-39
-48
11
42
0
-1
0
0
0
0
0
0
45
11
0
0
4
-43
33
35
-4
-37
0
0
0
0
0
0
0
-14
1
-15
-19
1
-56
18
-15
9
0
0
0
0
0
0
0
0
0
32
-45
-26
28
17
0
3
0
0
0
0
0
0
0
0
0
0
11
7
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
6
12
79
4
17
-9
0
0
0
0
0
0
0
0
0
0
1
4
7
5
12
2
0
-1
0
13
-10
7
0
0
0
0
0
24
-8
-7
-8
11
-22
46
-49
-3
9
7
0
0
0
0
0
0
69
-37
11
1
0
-11
-1
-1
10
-6
0
0
0
0
0
0
0
2
51
18
-2
15
0
6
0
-4
0
0
0
0
0
0
0
0
-9
2
-23
15
9
-7
13
0
-1
0
0
0
0
0
0
0
0
0
0
28
2
-1
-7
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
-13
-71
36
17
1
-11
0
0
-2
-1
0
0
0
0
0
0
0
20
-1
-20
9
-40
45
0
0
0
3
1
0
0
0
0
0
0
4
5
-74
43
0
20
10
-6
-12
-12
0
0
0
0
0
0
-1
1
24
-3
2
18
0
9
1
7
-3
1
0
0
0
0
0
0
4
-57
15
-54
2
11
-1
0
-8
0
0
0
0
0
0
0
0
2
-15
-9
-1
82
8
0
-42
-4
-2
0
0
0
0
0
0
0
0
-17
5
2
0
4
0
-3
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
-6
0
2
-58
2
0
0
0
0
0
0
0
0
0
0
0
-7
-40
21
10
-44
2
0
0
0
0
-1
2
0
0
0
0
0
0
19
-37
32
41
-35
7
6
-3
13
1
0
0
0
0
0
0
0
-2
-11
-15
-19
18
3
0
10
-8
0
0
3
0
0
0
0
0
0
1
-21
12
62
0
-5
0
26
0
0
0
0
0
0
0
0
0
4
-6
-103
-2
9
5
0
-3
0
0
0
0
0
0
0
0
-9
7
63
2
-1
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
26
3
-50
-5
27
0
0
0
0
0
0
0
0
0
0
0
1
-19
-23
36
6
-2
0
0
0
-1
0
0
0
0
0
0
0
-1
-40
-31
1
10
1
0
-2
0
0
0
0
0
0
0
0
0
0
9
15
15
7
2
-4
0
0
0
0
0
0
0
0
0
0
0
9
40
-3
-15
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
15
-4
2
3
0
2
0
0
0
0
0
0
0
0
0
-1
-1
-6
1
8
-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
7
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
18
1
9
1
0
0
0
0
0
0
0
0
0
0
0
0
-13
-14
2
-1
1
0
-4
1
0
0
0
0
0
0
0
0
0
-1
11
-3
2
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
-10
0
-8
5
2
13
0
0
0
0
0
0
0
0
0
0
0
-6
-3
-2
-1
3
-3
0
0
0
0
0
0
0
0
0
0
0
9
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-50
41
-7
27
-16
2
0
0
0
0
0
0
0
0
0
0
32
18
0
47
-13
55
-11
0
-34
0
0
0
0
0
0
0
0
-9
9
-10
13
18
-37
14
0
35
0
0
0
0
0
0
0
0
33
11
24
18
-2
54
-22
-10
3
0
0
0
0
0
0
0
0
0
-32
-20
83
-15
20
-7
0
-2
0
0
0
0
0
0
0
0
-1
0
38
-90
29
20
-13
-4
-48
0
0
0
0
0
0
0
0
-2
-6
-8
27
-4
2
-1
0
1
0
0
0
0
0
0
0
0
0
26
-3
40
-9
-5
-4
0
0
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
1
56
0
45
-6
20
-15
0
0
0
0
0
0
0
0
0
0
0
-23
-19
16
-28
27
10
0
-55
0
0
0
0
0
0
0
0
-65
-18
-35
-30
-10
-15
-29
-28
-18
-28
0
0
0
0
0
0
0
0
-40
36
16
26
-15
-1
-31
19
-69
0
0
0
0
0
0
0
-3
0
-35
-10
2
3
-3
19
1
27
0
0
0
0
0
0
0
0
48
36
4
-10
6
-62
39
11
17
0
0
0
0
0
0
0
0
-2
-1
-35
-4
45
-46
-30
28
2
0
0
0
0
0
0
0
0
-6
-7
76
-40
11
0
3
1
0
0
0
0
0
0
0
0
0
-2
7
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
-13
17
-14
50
25
-12
-1
-4
0
7
2
0
0
0
0
0
0
7
7
54
6
2
-33
-38
0
39
0
44
0
0
0
0
0
0
0
17
22
34
-31
0
-9
2
23
-28
-13
0
0
0
0
0
0
-58
10
-13
1
14
-22
34
-29
-22
-34
12
0
0
0
0
0
0
1
24
0
55
32
14
-11
-7
3
-24
0
0
0
0
0
0
0
0
0
-13
8
-10
-43
70
-8
27
10
2
0
0
0
0
0
0
0
-11
-12
1
-1
-9
-37
41
-2
18
0
0
0
0
0
0
0
0
-1
7
8
70
20
12
13
9
0
0
0
0
0
0
0
0
1
0
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
48
53
-43
-5
30
71
2
0
2
13
0
0
0
0
0
0
0
38
56
50
-1
17
-50
0
-21
0
58
1
0
0
0
0
0
0
-15
-32
9
-8
46
-76
61
-35
57
-41
-5
0
0
0
0
0
0
56
6
2
41
53
23
-24
-1
73
-11
-9
0
0
0
0
0
-2
-2
30
0
-9
-18
-81
11
48
7
0
0
0
0
0
0
0
0
6
0
-12
-1
-19
-1
55
-45
13
-3
0
0
0
0
0
0
0
0
40
-17
-20
-73
66
-3
-19
16
0
0
0
0
0
0
0
0
0
9
-14
-109
-28
-3
-6
-8
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
16
20
48
16
-5
-22
0
0
-3
0
0
0
0
0
0
-6
4
-1
-9
-10
-81
3
0
-10
0
24
-2
0
0
0
0
0
0
0
22
87
22
2
-7
-30
-21
-39
10
-2
0
0
0
0
0
0
42
15
0
8
7
83
-16
20
14
-15
0
0
0
0
0
0
0
-6
55
13
0
5
53
48
29
34
0
0
0
0
0
0
0
0
-3
-7
1
-11
-3
-3
25
1
3
0
0
0
0
0
0
0
0
-33
-7
35
-71
-3
10
-6
21
2
0
0
0
0
0
0
0
0
-3
2
-5
-48
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
9
-31
-34
44
12
-16
-1
0
0
0
0
0
0
0
0
0
0
6
-34
40
6
-29
6
0
-3
0
16
-4
-3
0
0
0
0
0
13
29
-37
32
26
-49
-11
-11
-24
0
2
0
0
0
0
0
0
64
5
-16
-2
12
5
-37
14
11
2
3
0
0
0
0
0
0
27
5
-29
54
0
9
-24
16
-3
0
0
0
0
0
0
0
0
3
-11
35
0
18
1
20
-5
6
0
0
0
0
0
0
0
0
0
28
-2
17
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-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
24
-53
-10
-35
-6
23
3
0
0
1
0
0
0
0
0
0
0
-2
3
15
-2
-61
5
0
-1
0
4
0
0
0
0
0
0
-8
14
11
23
-35
33
-12
4
47
5
-4
2
-1
0
0
0
0
0
-8
-12
7
-9
0
33
0
-18
-32
-6
0
0
0
0
0
0
0
-5
-7
-2
-1
-25
0
7
7
-2
0
0
0
0
0
0
0
0
0
-7
15
-19
0
23
-2
26
-2
0
0
0
0
0
0
0
0
0
-7
43
-1
18
3
-1
1
0
0
0
0
0
0
0
0
0
0
5
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
2
34
1
8
0
0
0
0
0
0
0
0
0
0
0
-2
24
5
16
1
21
0
0
0
0
0
0
0
0
0
0
0
-4
37
29
44
-62
34
1
3
24
0
2
0
0
0
0
0
4
11
7
1
7
34
2
-1
0
-4
-1
0
0
0
0
0
0
0
0
3
14
-5
-37
-4
0
-16
30
0
0
0
0
0
0
0
0
4
-18
21
-19
19
0
-2
0
-2
0
0
0
0
0
0
0
0
0
-53
-9
2
5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
8
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
1
10
-3
-4
2
12
0
0
0
0
0
0
0
0
0
0
0
-15
22
7
30
21
2
0
0
0
0
0
0
0
0
0
0
0
7
12
-3
-15
-25
0
-4
-6
-6
0
0
0
0
0
0
0
0
0
-8
-6
2
31
-17
0
0
0
0
0
0
0
0
0
0
0
0
12
6
26
-7
-3
-4
0
0
0
0
0
0
0
0
0
0
0
7
-2
1
21
-11
4
0
0
1
0
0
0
0
0
0
0
0
-6
7
34
-5
7
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
10
-27
-4
-7
-1
0
0
0
0
0
0
0
0
0
0
0
7
28
-46
-5
-10
-12
0
-4
0
0
0
0
0
0
0
0
0
0
15
-3
4
22
2
10
0
-2
0
0
0
0
0
0
0
0
0
1
-2
1
-1
0
11
4
0
0
0
0
0
0
0
0
0
0
7
36
4
-17
14
-4
0
0
0
0
0
0
0
0
0
0
6
-7
0
1
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
13
9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-28
29
1
18
-3
0
0
0
0
0
0
0
0
0
0
0
17
-12
-54
28
13
-25
6
0
10
0
0
0
0
0
0
0
0
-46
-25
2
-42
-11
5
6
-37
-75
0
0
0
0
0
0
0
0
-29
12
49
7
98
-8
13
-35
-77
0
0
0
0
0
0
0
0
-16
0
32
-20
-27
-7
12
22
-65
0
0
0
0
0
0
0
0
0
6
70
22
24
12
7
-29
6
0
0
0
0
0
0
0
0
1
0
7
-51
21
0
1
33
-10
0
0
0
0
0
0
0
0
0
24
-1
35
-3
24
-4
0
0
0
0
0
0
0
0
0
0
0
-14
21
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
24
-12
-13
-32
0
0
-30
0
0
0
0
0
0
0
-2
40
-19
-12
44
-7
7
0
56
0
0
0
0
0
0
0
0
-31
1
17
-21
1
-40
-26
86
-9
-56
0
0
0
0
0
0
0
-10
59
17
-10
9
18
-1
-76
68
79
0
0
0
0
0
0
0
0
57
10
11
8
-23
3
43
20
46
0
0
0
0
0
0
0
0
0
12
13
2
17
-4
30
6
-7
0
0
0
0
0
0
0
0
-11
6
32
-9
8
-41
0
1
21
0
0
0
0
0
0
0
-4
-7
33
-40
-2
29
-12
17
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
13
-2
-6
3
2
-15
-1
0
-4
15
0
0
0
0
0
0
-2
16
-33
30
1
37
-21
0
-1
0
23
0
0
0
0
0
0
-23
-14
38
27
9
19
-36
-27
34
4
19
0
0
0
0
0
0
-2
-17
-29
-3
-2
-3
-28
55
-24
32
12
0
0
0
0
0
0
-12
3
-16
-5
31
29
-3
-61
35
14
8
0
0
0
0
0
0
0
-6
0
-14
-7
-19
46
34
-29
29
-3
0
0
0
0
0
0
4
0
49
-22
0
26
12
19
3
-6
0
0
0
0
0
0
0
0
1
-12
-5
19
10
-11
0
7
0
0
0
0
0
0
0
0
0
-8
2
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
18
16
24
-6
-48
66
15
0
10
-2
-4
0
0
0
0
0
3
2
16
48
-10
-12
-54
0
-33
0
-23
0
0
0
0
0
0
-9
-8
12
8
-5
-29
-37
27
34
7
-32
3
0
0
0
0
0
7
-10
67
-1
57
20
12
-38
0
-31
6
0
0
0
0
0
0
-5
-39
-2
35
34
55
14
37
-17
-12
-10
0
0
0
0
0
0
1
17
-25
0
-8
67
69
33
55
6
2
0
0
0
0
0
0
0
4
1
-7
3
35
5
18
4
1
0
0
0
0
0
0
0
0
0
33
-28
21
-7
1
-9
0
0
0
0
0
0
0
0
0
0
8
0
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
32
68
-1
15
21
-1
-10
0
0
1
0
0
0
0
0
0
0
18
63
-14
37
41
-28
0
1
0
-8
-1
0
0
0
0
0
0
-1
-77
21
38
40
8
2
37
-8
-2
-30
0
0
0
0
0
1
-32
5
33
21
26
-16
46
-14
27
3
0
0
0
0
0
0
0
2
8
-1
13
1
46
0
-27
-71
-4
0
0
0
0
0
0
0
-18
-25
-2
0
65
-1
12
6
-17
0
0
0
0
0
0
0
0
0
-30
0
-5
4
48
-20
-6
1
0
0
0
0
0
0
0
0
-2
0
-15
-17
4
0
22
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
-3
26
-17
40
10
3
0
0
0
-3
0
0
0
0
0
0
0
29
-47
-16
10
-46
39
0
2
0
1
6
0
0
0
0
0
0
4
11
26
-13
-33
6
11
-2
23
13
1
0
0
0
0
0
0
11
18
25
67
75
20
20
59
-1
12
-1
0
0
0
0
0
0
-16
-24
11
6
20
0
-26
7
4
0
0
0
0
0
0
0
0
-8
0
-2
5
0
11
0
8
0
0
0
0
0
0
0
0
0
0
10
6
0
1
3
0
-1
3
0
0
0
0
0
0
0
0
0
-3
-1
10
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
-45
0
-28
0
-16
0
0
0
0
0
0
0
0
0
0
0
-21
43
18
9
4
-1
0
0
0
10
0
0
0
0
0
0
-3
6
34
19
-2
22
4
2
7
35
0
0
0
0
0
0
0
-1
-13
29
12
44
38
22
14
4
0
0
-8
0
0
0
0
0
0
-24
12
-22
27
0
17
0
8
0
4
0
0
0
0
0
0
0
-4
1
19
1
-20
0
-12
0
-1
0
0
0
0
0
0
0
0
0
-3
32
-24
0
4
0
-7
14
0
0
0
0
0
0
0
0
0
-13
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
-4
2
18
-30
0
6
0
0
0
0
0
0
0
0
0
0
0
12
63
-15
15
64
1
0
0
0
-3
0
0
0
0
0
0
0
-18
-16
20
-13
-5
3
0
3
2
1
0
0
0
0
0
0
0
-13
2
-10
29
-18
27
-4
7
-2
-1
0
0
0
0
0
0
0
0
-8
23
18
26
-3
-1
0
0
0
0
0
0
0
0
0
0
38
6
1
-2
1
0
0
4
0
0
0
0
0
0
0
0
0
1
2
-23
29
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-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
-11
0
4
6
0
0
0
0
1
0
0
0
0
0
0
0
-7
-13
-15
5
-7
26
0
0
0
0
0
0
0
0
0
0
0
-16
40
-26
-31
35
8
11
-4
3
0
0
0
0
0
0
0
0
7
-3
-33
-54
58
-1
-16
0
3
0
0
0
0
0
0
0
0
5
-8
3
-5
-7
-14
0
0
0
0
0
0
0
0
0
0
0
0
-56
0
-4
0
0
0
0
0
6
0
0
0
0
0
0
0
1
1
17
5
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-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
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-2
-2
0
0
1
16
0
0
0
0
0
0
0
0
0
0
16
0
19
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-6
5
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-1
40
0
0
0
0
0
0
0
0
0
0
0
16
12
3
33
-9
-16
11
0
-22
0
0
0
0
0
0
0
0
3
-1
-23
-32
32
33
14
0
-13
0
0
0
0
0
0
0
0
-4
-48
1
-3
-25
0
-13
4
43
0
0
0
0
0
0
0
0
16
-1
22
-2
-5
-27
10
8
-21
0
0
0
0
0
0
0
0
1
10
16
59
-37
51
-19
-7
-11
0
0
0
0
0
0
0
0
0
-8
42
0
22
9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-4
9
0
0
0
0
0
0
0
0
0
0
0
-4
-13
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-20
-15
-6
-2
50
0
0
0
0
0
0
0
0
0
0
0
20
-15
-1
-7
-3
-41
0
26
0
0
0
0
0
0
0
0
38
2
-9
-60
15
45
-35
22
50
20
0
0
0
0
0
0
0
-13
11
11
-15
32
-6
-24
-57
-29
92
0
0
0
0
0
0
0
22
16
20
-35
3
43
-81
-39
-35
-50
0
0
0
0
0
0
0
0
45
14
4
21
3
53
-2
15
-50
0
0
0
0
0
0
0
1
0
-33
28
8
5
51
58
17
-1
0
0
0
0
0
0
0
0
47
3
10
27
14
1
-5
-4
-3
0
0
0
0
0
0
0
0
-18
-28
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-40
24
38
-19
3
-45
4
0
0
4
0
0
0
0
0
0
-15
38
53
61
59
24
38
0
-4
0
26
0
0
0
0
0
0
-7
-19
46
32
8
8
-85
10
-39
-21
-23
0
0
0
0
0
0
0
34
0
-6
26
-57
25
-11
-25
-19
1
0
0
0
0
0
0
0
-6
28
-10
-40
3
-16
51
-15
42
-18
0
0
0
0
0
0
0
1
40
15
46
-20
34
7
37
-8
-8
0
0
0
0
0
0
-2
12
0
30
-25
16
22
0
27
37
0
0
0
0
0
0
0
8
0
22
1
29
-44
-13
-11
-2
0
0
0
0
0
0
0
0
0
49
-12
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
14
-5
-30
23
2
-16
-3
0
-2
19
0
0
0
0
0
0
0
-10
0
10
1
-5
-18
0
0
0
-54
3
0
0
0
0
0
0
-16
4
-28
13
-94
-46
9
7
20
-62
0
0
0
0
0
0
0
65
25
-33
28
4
30
-43
56
-10
-11
-3
0
0
0
0
0
0
-2
-10
81
-47
16
-5
3
-21
60
19
0
0
0
0
0
0
0
48
2
18
0
40
11
-56
6
-19
-9
0
0
0
0
0
0
0
-2
-84
0
17
16
19
15
3
-22
0
0
0
0
0
0
0
0
-12
0
42
0
-22
22
-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
-39
18
-19
-6
-3
0
0
0
3
0
0
0
0
0
0
0
-25
92
52
-5
30
-43
0
15
0
1
-2
0
0
0
0
0
0
0
-58
-31
9
32
-15
-7
-1
-23
13
-1
0
0
0
0
0
0
0
0
22
28
-35
-4
11
-10
1
0
4
0
0
0
0
0
0
-3
-6
31
20
-28
-22
-5
-1
9
-1
0
0
0
0
0
0
0
17
-2
1
-8
11
16
-14
11
-1
2
0
0
0
0
0
0
0
0
0
-9
0
-1
11
0
-2
0
8
0
0
0
0
0
0
0
0
4
0
4
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
2
1
0
3
0
0
0
0
0
0
0
0
0
0
0
-20
-5
-29
35
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-23
-40
33
-74
6
-19
38
3
0
0
0
0
0
0
0
29
3
25
-21
25
-34
-4
0
2
0
0
0
0
0
0
0
0
0
-8
4
-17
-14
-1
3
-1
-1
12
0
0
0
0
0
0
0
-23
0
-28
2
38
0
5
3
-1
-1
0
0
0
0
0
0
0
0
1
0
-9
0
0
-2
7
0
0
0
0
0
0
0
0
0
0
5
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
-10
0
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
23
-2
-4
-1
0
0
0
-2
0
0
0
0
0
0
0
0
-96
-20
33
1
0
1
0
34
0
0
0
0
0
0
0
0
-1
0
0
-5
36
12
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
15
-9
8
-2
3
0
0
3
0
0
0
0
0
0
5
-4
-1
6
0
15
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
36
13
-9
0
0
0
2
0
0
0
0
0
0
0
0
21
-2
-23
-21
7
0
9
22
0
0
0
0
0
0
0
0
17
-9
-2
-2
29
-4
0
-17
0
0
0
0
0
0
0
0
0
2
-13
-35
-51
1
-9
-1
0
-4
-1
0
0
0
0
0
0
0
0
4
8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-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
4
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-2
-6
1
11
0
0
0
0
0
0
0
0
0
0
0
-2
3
27
-6
0
0
0
0
82
0
0
0
0
0
0
0
0
-16
0
-9
-11
28
-5
8
0
2
0
0
0
0
0
0
0
0
0
-5
-7
6
1
11
11
0
-11
0
0
0
0
0
0
0
0
0
-4
6
6
-29
0
0
4
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-5
-29
-1
0
0
10
0
0
0
0
0
0
0
0
0
1
0
-4
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
2
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
7
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-31
0
8
0
0
0
0
0
0
0
0
0
0
0
0
1
17
-4
22
19
-7
2
0
0
0
0
0
0
0
0
0
0
30
0
17
-11
-22
0
-6
-2
-13
0
0
0
0
0
0
0
0
12
-28
1
3
-39
14
-78
-1
-26
0
0
0
0
0
0
0
0
76
-28
-64
19
14
-82
1
12
96
0
0
0
0
0
0
0
0
4
23
3
-18
-27
7
77
-4
31
0
0
0
0
0
0
0
0
1
0
7
-1
39
-10
11
-24
55
0
0
0
0
0
0
0
0
0
-44
-16
5
0
0
4
9
-19
0
0
0
0
0
0
0
0
0
0
-13
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
8
9
-8
7
-79
-1
0
0
0
0
0
0
0
0
0
0
-5
-28
-17
-31
2
-31
0
-2
0
0
0
0
0
0
0
0
-14
-50
-3
-61
32
3
-37
-14
-8
16
0
0
0
0
0
0
0
-2
9
-52
-12
-27
8
-45
-49
12
-62
0
0
0
0
0
0
0
-17
52
32
-33
-57
22
8
6
66
23
0
0
0
0
0
0
0
0
-2
-55
15
-24
-10
10
-10
36
33
0
0
0
0
0
0
0
0
-4
-3
22
36
21
43
110
-39
-1
0
0
0
0
0
0
0
0
0
2
12
15
1
-1
-7
-2
2
0
0
0
0
0
0
0
0
-4
0
-11
-7
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-4
20
15
-7
13
0
0
0
0
0
0
0
0
0
0
0
61
-17
-2
29
-14
-2
0
0
0
-75
0
0
0
0
0
0
26
-6
15
20
50
36
-62
8
-27
-31
-1
0
0
0
0
0
0
2
1
-15
-20
-59
3
30
-19
5
-59
28
0
0
0
0
0
0
-15
-18
-1
25
-3
-3
-34
-26
7
-3
42
0
0
0
0
0
0
0
-25
13
-3
18
38
-65
-9
-22
117
24
0
0
0
0
0
0
0
0
-50
0
39
52
-13
34
21
18
-4
0
0
0
0
0
0
0
40
0
4
-10
-1
13
0
0
2
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
-29
3
-8
-1
7
21
0
0
10
0
0
0
0
0
0
0
14
-12
-14
15
45
45
0
0
0
-3
0
0
0
0
0
0
0
25
-26
-21
31
9
-16
-12
-10
41
9
0
0
0
0
0
0
0
-53
-9
-5
-2
-1
13
-4
65
44
-4
-6
0
0
0
0
0
0
-2
8
17
-5
-98
-12
8
-5
6
-4
0
0
0
0
0
0
0
-3
-29
-3
85
-15
-11
-55
-1
-7
0
0
0
0
0
0
0
0
0
0
1
0
-8
-6
-18
1
-3
0
0
0
0
0
0
0
0
0
16
0
-1
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
-9
-1
5
1
0
0
0
0
-1
0
0
0
0
0
0
0
-10
4
-7
-24
1
15
0
0
0
0
0
0
0
0
0
0
-3
0
-7
1
32
9
-21
0
0
6
-4
1
0
0
0
0
0
0
28
0
-28
18
4
-19
-19
-4
-1
0
0
0
0
0
0
0
0
0
4
61
32
6
-18
0
-9
10
0
0
0
0
0
0
0
0
-8
0
-30
10
-21
1
-9
0
1
13
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
-7
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
6
0
-25
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
9
-4
8
-3
0
0
2
0
0
0
0
0
0
0
0
0
5
-38
-36
-1
0
0
-4
-6
0
0
0
0
0
0
0
0
-2
0
-28
-1
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
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-2
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
-12
-3
-6
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-3
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
1
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
2
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
17
38
-1
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
6
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
1
0
-5
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
-2
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
2
1
-3
-25
9
0
0
0
0
0
0
0
0
0
0
0
0
19
9
15
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
74
-3
2
-4
-8
0
0
0
0
0
0
0
0
0
0
0
3
-57
8
2
19
-29
0
0
-6
0
0
0
0
0
0
0
0
1
-4
9
-18
-7
-21
2
0
-3
0
0
0
0
0
0
0
0
-34
16
-31
27
-23
-36
-65
-1
24
0
0
0
0
0
0
0
0
3
-50
23
5
-21
13
32
2
-47
0
0
0
0
0
0
0
0
0
-54
44
-20
-9
-1
-6
12
-14
0
0
0
0
0
0
0
0
0
0
-56
-6
-6
53
3
16
0
0
0
0
0
0
0
0
0
0
3
-15
3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
-17
51
-2
6
0
0
0
0
0
0
0
0
0
0
47
1
-18
14
7
-8
-1
0
-4
-58
0
0
0
0
0
0
0
0
90
-37
3
-61
2
-8
-1
11
-10
0
0
0
0
0
0
0
-3
15
-32
-2
-85
-14
-47
30
-10
0
0
0
0
0
0
0
0
0
-10
45
-44
10
56
37
32
7
7
0
0
0
0
0
0
0
1
0
3
3
23
40
11
6
13
0
0
0
0
0
0
0
0
0
0
0
-43
11
5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
59
0
9
0
0
0
0
0
0
0
0
0
0
0
-3
1
24
40
17
0
-2
0
0
12
0
0
0
0
0
0
0
0
-35
5
4
-9
0
4
-6
-3
-7
0
0
0
0
0
0
0
9
-9
-33
-2
38
42
-13
2
2
0
-6
0
0
0
0
0
0
0
-3
7
4
-8
-7
-15
-19
3
-9
-7
0
0
0
0
0
0
0
0
6
9
0
3
-22
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
-1
0
-4
-6
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
2
0
-2
1
0
0
0
2
0
0
0
0
0
0
0
0
1
-17
2
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
-2
0
-3
0
0
0
8
0
0
0
0
0
0
0
0
0
-7
-25
0
0
0
2
-1
0
-2
0
0
0
0
0
0
0
0
20
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-4
2
-17
-9
0
0
0
0
0
0
0
0
0
9
-10
8
-11
1
23
-49
-60
24
0
0
0
0
0
0
0
0
1
0
0
-14
0
22
-13
40
25
0
0
0
0
0
0
0
0
-7
-3
1
-3
-4
23
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
12
10
-19
0
-40
0
0
0
0
0
0
0
-12
-4
13
18
-40
96
13
34
7
38
0
0
0
0
0
0
0
-1
39
-5
28
-10
24
30
31
56
24
0
0
0
0
0
0
0
4
-5
0
71
-54
55
-35
54
-14
39
0
0
0
0
0
0
0
0
-33
-2
7
-37
-24
-5
-33
44
-2
0
0
0
0
0
0
0
0
-20
2
0
4
-76
-2
62
25
-10
0
0
0
0
0
0
0
0
1
-2
0
3
-4
-38
-9
18
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
5
-27
7
-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
-3
9
0
-3
-6
-19
-9
44
0
19
-1
0
0
0
0
0
0
-2
-15
25
-95
2
15
16
8
-14
-7
-2
0
0
0
0
0
0
1
-10
1
-2
-22
54
1
-18
-63
17
6
0
0
0
0
0
0
-2
-3
0
14
-61
5
25
7
20
0
-8
0
0
0
0
0
0
2
1
-6
12
4
-24
6
-25
-2
-27
-6
0
0
0
0
0
0
0
7
-11
0
-3
-5
7
-16
29
8
0
0
0
0
0
0
0
0
0
-1
0
16
15
-8
53
6
20
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
-19
-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
10
-8
0
-6
-2
22
-5
0
-34
0
0
0
0
0
0
0
0
2
1
5
13
-43
-25
-79
11
-4
8
-7
0
0
0
0
0
0
-3
0
-2
-25
62
14
-10
-20
1
8
0
0
0
0
0
0
0
2
-6
10
0
-41
27
53
-13
-17
2
0
0
0
0
0
0
0
0
0
32
0
-8
-8
-27
21
1
0
0
0
0
0
0
0
0
0
3
0
-8
9
33
-38
-1
-5
-8
0
0
0
0
0
0
0
0
0
-3
-1
10
-35
1
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-3
21
-2
0
22
0
0
0
0
0
0
0
2
7
-10
0
-10
-31
61
-40
-3
6
10
0
0
0
0
0
0
0
8
18
1
14
-5
16
51
10
-8
0
0
0
0
0
0
0
0
-9
0
1
0
8
-18
5
-3
0
0
0
0
0
0
0
0
0
-1
-6
4
0
1
-35
-9
-9
-3
0
0
0
0
0
0
0
0
0
-3
0
13
2
8
-9
0
10
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
10
11
0
11
-2
0
0
0
0
0
0
-2
22
18
0
11
14
-6
2
-61
-9
-3
0
0
0
0
0
0
-1
-1
-21
13
11
-17
-32
-7
31
3
0
0
0
0
0
0
0
0
0
0
9
0
-25
-7
30
6
-18
-4
0
0
0
0
0
0
0
-1
0
0
-5
-10
1
-1
-9
0
0
0
0
0
0
0
0
0
0
-3
-4
0
-19
3
11
0
2
-1
0
0
0
0
0
0
0
0
0
3
0
0
1
0
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
12
9
0
14
0
8
1
0
0
0
0
0
0
-6
0
0
8
46
3
-1
78
-62
0
8
-2
0
0
0
0
0
0
2
0
0
-26
-21
-7
48
-11
4
0
-1
0
0
0
0
0
0
0
2
3
4
-9
-3
-51
16
-1
0
4
0
0
0
0
0
0
0
0
18
-2
6
26
5
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
1
-4
0
0
0
0
0
0
0
0
0
1
6
-7
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
6
7
0
0
0
-2
4
0
0
0
0
0
0
-2
-4
-1
-3
-1
-9
-5
-5
-12
0
-9
0
0
0
0
0
0
0
0
-2
1
2
19
19
8
4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
37
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
18
6
-2
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-6
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
-4
-45
-36
62
27
0
0
0
0
0
0
0
0
0
97
-1
78
-25
-31
34
37
-3
17
0
0
0
0
0
0
0
0
66
6
-16
41
20
34
14
29
5
0
0
0
0
0
0
0
0
-19
1
0
16
7
0
-17
-18
13
0
0
0
0
0
0
0
0
22
0
0
8
68
-19
83
-6
24
0
0
0
0
0
0
0
0
0
0
0
0
13
8
12
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
16
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
1
42
-5
-41
31
38
32
23
0
-61
0
0
0
0
0
0
0
-27
31
-61
49
-1
37
3
24
18
-55
0
0
0
0
0
0
0
-2
-15
-19
51
51
73
21
-21
-8
-11
0
0
0
0
0
0
0
5
9
-25
1
60
-36
-18
44
-36
-25
0
0
0
0
0
0
0
0
17
2
22
-52
-16
-2
-7
19
7
0
0
0
0
0
0
0
0
-84
7
0
18
23
-12
-22
-17
51
0
0
0
0
0
0
0
0
-1
2
4
-34
-6
-58
-33
-25
2
0
0
0
0
0
0
0
0
-10
0
9
1
20
19
-48
-24
0
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
37
-15
45
-44
4
26
-14
0
-22
-21
0
0
0
0
0
0
3
46
11
60
82
40
72
2
-1
-34
21
0
0
0
0
0
0
-12
4
22
-18
3
-6
29
41
1
-25
-3
0
0
0
0
0
0
-8
-57
-25
-27
-5
-4
36
-10
-6
1
32
0
0
0
0
0
0
-3
31
18
-9
15
-20
37
91
-6
-27
-12
0
0
0
0
0
0
0
4
11
0
-6
-22
17
-19
0
23
7
0
0
0
0
0
0
0
0
22
2
13
-14
31
3
-15
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-15
47
17
-7
-56
0
19
26
-3
0
0
0
0
0
0
-13
-11
13
-59
14
6
3
-29
-18
-22
-1
0
0
0
0
0
12
-4
-6
40
71
-8
-10
-37
-46
-27
-43
2
0
0
0
0
0
4
16
-16
15
-57
-33
23
-29
-4
11
4
0
0
0
0
0
0
0
-45
-2
7
-8
-17
-56
9
-5
46
-3
1
0
0
0
0
0
0
2
18
0
0
70
-1
-38
13
1
1
0
0
0
0
0
0
0
0
0
3
12
-2
18
4
-6
-9
0
0
0
0
0
0
0
0
0
0
1
0
-2
-39
-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
-12
-13
-13
8
19
4
31
33
0
-77
1
0
0
0
0
0
0
9
-15
18
-17
2
32
-24
13
25
49
-54
18
0
0
0
0
0
1
-21
-14
-2
19
-8
13
9
4
5
-1
0
0
0
0
0
0
0
-19
4
21
-15
14
2
-68
4
36
2
0
0
0
0
0
0
0
0
8
0
1
-7
-38
5
54
-6
16
6
0
0
0
0
0
0
-2
-6
4
-1
-9
-1
19
22
0
1
0
0
0
0
0
0
0
0
0
0
-1
57
-19
0
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
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
4
-22
-7
1
13
7
1
-15
0
34
-2
0
0
0
0
0
0
0
-8
6
8
28
-2
17
1
26
36
-32
3
1
0
0
0
0
-6
44
9
51
-34
26
-44
28
-42
-36
0
0
0
0
0
0
0
1
2
0
-3
-2
-44
56
-13
26
28
18
1
0
0
0
0
0
0
0
1
-3
-4
-17
12
13
28
5
0
-2
3
0
0
0
0
0
0
4
3
0
3
55
-8
-14
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
9
-2
9
0
0
0
0
0
0
0
0
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
2
-2
-4
-27
50
5
21
22
0
28
0
0
0
0
0
0
0
-1
-3
-2
-26
79
2
0
69
3
12
-7
-6
1
0
0
0
0
0
7
7
1
-21
32
50
17
11
-8
18
1
0
0
0
0
0
-1
4
-2
-4
-9
-46
-12
53
-9
-21
-14
1
0
0
0
0
0
-6
-2
-7
-1
0
25
27
-10
-9
12
-3
2
0
0
0
0
0
0
-4
2
0
0
-4
-2
65
27
0
0
0
-1
0
0
0
0
0
0
0
0
-6
0
7
-7
-8
8
-3
8
0
0
0
0
0
0
0
-1
0
0
0
-10
-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
-1
11
34
18
0
-4
2
0
0
0
0
0
0
-2
2
10
-10
-14
-40
-8
1
29
5
-18
0
-1
0
0
0
0
-4
0
8
1
-6
7
-20
-15
4
6
-4
-3
1
0
0
0
0
0
-3
6
4
-4
11
-18
1
-12
14
0
0
0
0
0
0
0
0
0
1
8
13
13
18
-1
-36
-2
0
0
0
0
0
0
0
0
0
21
0
-4
-8
4
16
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
1
0
9
9
2
4
0
1
0
0
0
0
0
0
0
0
2
0
0
28
-14
6
16
3
-2
6
0
0
0
0
0
0
0
16
0
-6
4
-4
49
-22
-1
0
-1
0
0
0
0
0
0
0
0
0
-4
-3
3
-3
24
10
1
0
0
0
0
0
0
0
0
13
0
13
4
0
36
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
-2
0
1
0
0
0
0
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-8
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
-12
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
-21
-8
6
-39
0
0
0
0
0
0
0
0
0
-11
14
47
-46
46
109
14
-3
-56
0
0
0
0
0
0
0
0
-2
9
0
-2
-33
-46
-4
12
-33
0
0
0
0
0
0
0
0
17
4
28
58
-36
54
-2
26
12
0
0
0
0
0
0
0
0
16
0
-1
-46
-20
-27
-10
12
7
0
0
0
0
0
0
0
0
0
0
0
-11
8
-4
8
41
22
0
0
0
0
0
0
0
0
0
0
0
0
7
-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
-1
-67
-33
34
64
15
17
18
0
-33
0
0
0
0
0
0
0
-34
1
57
32
-15
32
9
27
11
-9
0
0
0
0
0
0
0
11
-17
-53
2
59
-77
27
-11
1
13
0
0
0
0
0
0
0
2
29
12
4
34
63
-26
10
6
26
0
0
0
0
0
0
0
4
33
-13
21
26
-40
-28
45
-3
-9
0
0
0
0
0
0
0
0
0
27
0
-16
37
-58
40
-17
10
0
0
0
0
0
0
0
3
0
-28
0
1
-1
36
25
-47
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
-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
35
12
15
-63
22
-15
66
0
18
4
0
0
0
0
0
0
4
-56
-20
-6
-20
-6
13
12
14
-7
29
0
0
0
0
0
0
-3
35
-7
-14
-36
7
35
26
59
45
10
0
0
0
0
0
0
9
-7
-15
3
28
3
60
13
-4
-36
-3
0
0
0
0
0
0
-6
0
6
25
-14
-25
-18
-19
3
53
2
0
0
0
0
0
0
0
1
0
3
-4
-2
-35
17
21
-4
0
0
0
0
0
0
0
0
1
4
6
-21
-7
-10
-13
-1
9
0
0
0
0
0
0
0
0
-1
0
0
0
3
4
3
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
-18
3
-12
19
-3
-65
0
5
12
10
0
0
0
0
0
-15
28
40
-5
-92
21
-15
39
48
-50
2
12
0
0
0
0
0
0
-47
38
-1
17
-47
31
5
-8
-11
-5
3
0
0
0
0
0
-1
-5
81
8
19
21
32
6
37
14
-2
0
0
0
0
0
0
-11
8
0
-26
39
-12
62
63
25
-51
0
0
0
0
0
0
0
0
7
3
-11
-1
7
42
35
-3
3
-3
0
0
0
0
0
0
0
0
0
-1
2
0
14
-4
15
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
78
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
0
-10
4
-4
-33
0
16
-10
0
0
0
0
0
0
-2
32
-25
-11
72
49
24
57
-11
0
-38
0
0
0
0
0
0
0
0
3
-8
0
25
-4
-15
38
26
1
0
0
0
0
0
0
-6
3
-6
3
-1
-22
30
-43
-5
4
-19
0
0
0
0
0
0
-2
-8
-9
-2
12
59
37
-49
-4
14
3
0
0
0
0
0
0
0
0
-8
0
-1
5
6
7
-3
1
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
15
1
-25
25
0
71
4
0
0
0
0
0
0
3
-7
4
-2
-4
-14
-53
44
15
12
-7
3
0
0
0
0
0
0
-5
-1
22
7
-1
-28
26
21
-29
0
3
0
0
0
0
0
2
32
-2
7
30
35
-10
-34
-37
-5
-7
0
0
0
0
0
0
4
0
2
0
15
-39
-47
-28
1
3
1
0
0
0
0
0
0
0
0
0
-1
0
4
9
-42
2
-4
0
0
0
0
0
0
0
0
0
1
0
0
1
24
12
-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
4
-2
3
0
2
-6
-9
0
-2
8
-4
0
0
0
0
0
0
3
0
-2
-13
21
-6
76
6
4
-1
0
0
0
0
0
0
0
0
-3
-17
4
-18
-4
-21
11
16
0
0
0
0
0
0
0
0
15
-1
-11
50
-14
22
-31
-58
16
0
0
0
0
0
0
0
0
2
-4
-4
-3
23
48
26
-2
2
0
0
0
0
0
0
0
0
0
-2
-1
1
1
-23
-9
-3
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
0
0
0
0
18
0
0
0
0
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
25
-14
0
-3
0
7
0
0
0
0
0
0
8
13
-1
-81
17
-1
-8
8
4
2
0
0
0
0
0
0
0
0
0
1
-11
1
11
0
13
16
4
0
0
0
0
0
0
0
-1
-5
17
2
-9
30
6
37
-23
0
0
0
0
0
0
0
0
1
-6
-2
2
7
-2
2
32
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
1
9
0
2
1
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
1
0
0
3
0
0
0
0
21
0
0
0
0
0
0
0
0
0
2
-3
-14
-13
-28
-9
5
0
1
0
0
0
0
0
0
0
-1
4
-1
16
19
71
56
0
0
0
0
0
0
0
0
0
0
0
3
-1
-2
16
12
-30
0
0
0
0
0
0
0
0
0
0
6
0
-1
8
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
7
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
-14
14
-8
-7
0
-1
0
0
0
0
0
0
0
0
0
3
0
-9
-2
-16
-24
0
0
0
0
0
0
0
0
0
0
0
0
-6
-15
6
10
11
0
0
0
0
0
0
0
0
0
0
6
-4
0
0
3
1
3
0
0
0
0
0
0
0
0
0
0
-6
0
0
-2
0
-2
4
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
3
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
18
-87
-35
-42
0
0
0
0
0
0
0
0
0
2
13
-8
-8
49
58
13
11
-21
0
0
0
0
0
0
0
0
18
-13
-3
-16
-20
-42
-69
28
-20
0
0
0
0
0
0
0
0
0
-1
39
12
50
10
24
-1
2
0
0
0
0
0
0
0
0
-13
2
-6
18
30
-37
50
-11
8
0
0
0
0
0
0
0
0
-3
6
1
24
10
-55
-4
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-12
-39
-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
-7
18
0
-10
27
15
36
-1
0
-39
0
0
0
0
0
0
0
-28
0
68
-1
1
-3
-5
41
-29
12
0
0
0
0
0
0
0
71
22
89
57
-10
-3
33
-6
-8
-16
0
0
0
0
0
0
0
0
-13
46
30
35
32
-107
59
47
61
0
0
0
0
0
0
0
-13
-10
-5
-28
-7
-20
4
-16
-20
-2
0
0
0
0
0
0
0
0
-18
12
-15
-35
41
-1
26
-85
-1
0
0
0
0
0
0
0
0
-4
1
-3
0
-29
-31
5
-71
10
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
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
18
2
-4
14
-14
-37
-43
0
-41
-2
0
0
0
0
0
0
1
-36
16
-7
12
67
39
-39
31
21
-23
0
0
0
0
0
0
-2
52
-3
-2
-26
-47
-4
58
-16
39
1
0
0
0
0
0
0
10
16
-2
32
61
35
-4
-20
-24
4
9
0
0
0
0
0
0
23
-8
-5
0
9
-18
29
-66
38
19
0
0
0
0
0
0
0
0
-24
-11
-43
20
-9
39
53
-42
5
0
0
0
0
0
0
0
0
13
7
0
5
3
-22
-39
-43
-4
0
0
0
0
0
0
0
0
0
-1
0
0
-3
10
8
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
-2
-1
3
49
49
-24
-15
0
56
-16
0
0
0
0
0
0
0
-27
-27
-1
-6
22
-17
10
15
49
27
-3
0
0
0
0
0
1
-10
15
-7
-109
8
6
-8
-4
-37
-8
-4
0
0
0
0
0
0
-18
12
0
49
104
16
39
-50
-40
6
0
0
0
0
0
0
0
0
-2
-12
-6
17
15
28
8
-21
-1
0
0
0
0
0
0
0
2
0
-33
7
27
-26
-1
-28
12
0
0
0
0
0
0
0
0
3
0
0
0
-3
51
4
59
0
0
0
0
0
0
0
0
0
0
0
1
0
-10
13
15
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
7
-1
-4
23
100
-46
0
-42
-20
0
0
0
0
0
0
0
-3
3
9
0
25
-30
-40
-28
79
-24
-3
0
0
0
0
0
0
0
4
-22
-30
1
-19
16
51
32
-2
2
0
0
0
0
0
0
0
3
34
0
-6
8
10
-57
55
-1
0
0
0
0
0
0
1
-6
0
0
-12
12
34
-4
35
-3
0
0
0
0
0
0
0
0
0
0
-16
0
-39
14
7
4
-11
-7
0
0
0
0
0
0
0
0
1
7
4
3
19
1
11
2
0
0
0
0
0
0
0
0
0
0
0
1
-3
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
-1
0
0
0
6
-20
23
0
-29
7
2
0
0
0
0
0
0
-11
0
0
-10
22
-17
5
29
13
-4
0
0
0
0
0
0
0
0
0
-18
-17
-28
-7
0
50
-13
1
0
0
0
0
0
0
0
0
-21
-1
-19
0
-3
-10
-25
46
0
0
0
0
0
0
0
0
-3
-1
-48
12
45
-13
39
-1
-12
0
0
0
0
0
0
0
0
0
-2
0
7
25
0
-3
5
2
1
0
0
0
0
0
0
0
0
-3
-6
1
-2
33
6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
7
-28
48
0
-2
-2
0
0
0
0
0
0
0
-1
4
41
-3
30
-18
-7
-5
0
3
1
0
0
0
0
0
0
-1
-2
-2
-4
-6
-25
1
50
38
0
0
0
0
0
0
0
0
0
6
-9
5
64
0
13
19
14
0
0
0
0
0
0
0
0
-2
-5
-4
1
-4
-27
26
-9
-1
0
0
0
0
0
0
0
0
8
0
0
0
58
9
61
6
0
0
0
0
0
0
0
0
0
-6
-10
0
-7
1
3
0
-4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
3
-6
3
-15
0
30
0
0
0
0
0
0
0
0
-2
3
0
1
1
-14
34
7
-4
0
0
0
0
0
0
0
0
-8
5
-3
12
-2
25
46
-24
8
0
0
0
0
0
0
0
0
0
-1
-27
18
30
-37
0
-5
-14
0
0
0
0
0
0
0
0
0
1
-11
-21
-1
22
-9
0
0
-2
0
0
0
0
0
0
0
-4
0
0
0
-7
1
-1
2
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
-11
2
0
0
0
0
0
0
0
0
8
0
0
1
42
17
-19
4
0
0
0
0
0
0
0
0
0
0
0
12
-40
1
24
-23
-1
7
6
0
0
0
0
0
0
0
-16
0
0
-6
0
-42
8
1
0
0
0
0
0
0
0
0
0
2
0
0
-3
-17
2
22
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
16
-4
21
10
-1
0
0
0
0
0
0
0
0
6
0
0
0
-2
2
-25
3
-8
0
0
0
0
0
0
0
0
-4
1
0
-4
4
-1
0
17
0
0
0
0
0
0
0
0
0
7
0
0
-2
0
4
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
6
-17
-37
-36
9
-41
0
0
0
0
0
0
0
0
0
15
-20
7
11
36
48
-45
-63
-50
0
0
0
0
0
0
0
0
4
-1
58
-22
-34
1
-14
16
-10
0
0
0
0
0
0
0
0
8
0
40
48
-17
9
-58
12
-7
0
0
0
0
0
0
0
0
0
-3
-8
35
49
-18
-63
-25
-12
0
0
0
0
0
0
0
0
3
0
2
-28
24
-18
-24
-3
0
0
0
0
0
0
0
0
0
0
7
0
0
-50
6
17
0
1
0
0
0
0
0
0
0
0
0
0
7
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-26
-6
1
-20
40
12
2
0
-6
0
0
0
0
0
0
0
29
-38
2
-17
1
15
-29
7
22
-31
0
0
0
0
0
0
0
-20
-7
-21
15
24
-11
-37
5
-4
-55
0
0
0
0
0
0
0
26
-20
-33
24
-1
35
30
-1
-60
19
0
0
0
0
0
0
0
21
0
41
0
15
32
19
-35
-7
-24
0
0
0
0
0
0
0
0
44
-38
-2
-19
-16
22
-5
-44
7
0
0
0
0
0
0
0
0
11
-2
0
30
-20
11
10
-32
0
0
0
0
0
0
0
0
0
1
-8
30
0
23
30
13
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
6
0
0
0
0
0
0
0
0
-3
-7
-7
6
-51
-17
-2
-29
0
66
-5
0
0
0
0
0
0
-1
-11
-36
-7
32
-3
18
41
-10
5
39
0
0
0
0
0
0
1
-32
64
-3
12
66
31
-16
-15
-24
5
0
0
0
0
0
0
39
47
51
48
0
46
-49
6
38
44
20
0
0
0
0
0
0
0
10
0
-14
-26
12
89
-39
-5
-7
1
0
0
0
0
0
0
0
0
4
-35
-58
-20
34
-19
12
0
-10
0
0
0
0
0
0
0
-1
22
-21
25
54
20
22
37
33
0
0
0
0
0
0
0
0
0
-4
0
0
9
27
-19
0
0
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
-11
0
-21
52
15
54
17
0
13
41
0
0
0
0
0
0
0
-35
36
12
-30
28
64
25
14
36
74
-1
0
0
0
0
0
0
4
20
15
43
-22
71
48
-6
49
84
0
0
0
0
0
0
0
-3
-3
-20
-9
23
-22
-54
-7
30
-20
-1
0
0
0
0
0
2
2
-3
0
-3
7
-13
10
-6
1
10
0
0
0
0
0
0
0
3
-1
-7
-14
31
-27
-27
21
21
0
0
0
0
0
0
0
0
0
-1
6
31
28
5
40
1
-1
0
0
0
0
0
0
0
0
0
0
-2
0
-3
28
23
4
2
3
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
3
0
2
-10
-34
-16
0
8
0
0
0
0
0
0
0
0
-4
-9
1
-14
-2
-43
-68
-34
20
19
4
0
0
0
0
0
0
1
0
39
-19
-78
-29
-32
19
15
-7
0
0
0
0
0
0
0
0
2
2
-11
20
59
-11
19
23
0
1
0
0
0
0
0
1
0
2
13
0
-52
17
51
7
2
0
0
0
0
0
0
0
0
0
30
0
-12
42
2
57
9
39
0
0
0
0
0
0
0
0
0
0
1
39
-1
-25
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
21
-28
-2
0
-2
18
0
0
0
0
0
0
0
7
2
-17
17
76
39
59
0
8
-1
0
0
0
0
0
0
0
3
0
5
-27
-11
8
36
48
42
-2
4
0
0
0
0
0
0
4
0
-8
0
-31
-36
24
113
-79
-15
0
0
0
0
0
0
-7
36
7
0
24
0
23
-8
84
12
0
0
0
0
0
0
0
0
0
0
-19
-4
16
-12
2
8
-9
-7
0
0
0
0
0
0
0
0
0
0
16
13
-11
-1
18
0
-2
0
0
0
0
0
0
0
0
7
6
0
-1
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
-1
0
1
0
-29
45
0
3
0
0
0
0
0
0
0
0
-3
0
0
14
-4
-20
38
17
-2
2
0
0
0
0
0
0
0
0
-8
0
-42
15
-28
-14
-20
8
0
0
0
0
0
0
0
2
0
2
0
-34
2
26
-10
-5
17
0
-1
0
0
0
0
0
0
14
-2
-1
38
-1
0
2
44
0
-2
0
0
0
0
0
0
0
22
26
-4
30
0
16
16
-1
-9
2
0
0
0
0
0
0
0
0
0
-3
-4
0
22
-1
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
4
-13
0
9
0
0
0
0
0
0
0
0
0
0
11
-15
32
-20
-3
28
-1
0
0
0
0
0
0
0
0
6
1
3
38
13
-22
-63
-3
-2
-1
0
0
0
0
0
0
0
0
0
10
36
-19
-3
17
-11
15
0
0
0
0
0
0
0
0
2
0
0
0
1
8
0
-30
0
0
0
0
0
0
0
0
0
0
0
18
2
-2
-2
-16
0
-3
0
0
0
0
0
0
0
0
0
0
0
13
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
4
0
-1
0
-13
0
0
0
0
0
0
0
0
0
0
0
-4
0
-9
42
-28
29
0
0
0
0
0
0
0
0
0
0
15
0
-4
-12
-13
11
6
1
0
0
0
0
0
0
0
16
0
-7
12
51
109
13
0
-6
0
0
0
0
0
0
0
0
2
0
-6
-13
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-1
0
6
4
28
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
1
0
-2
-8
-1
8
3
-1
0
0
0
0
0
0
0
0
0
0
1
0
10
-2
27
1
0
0
0
0
0
0
0
0
0
0
0
6
-1
-6
2
-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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
-8
-21
-10
17
0
0
0
0
0
0
0
0
0
-33
-1
0
-38
48
30
1
-6
-1
0
0
0
0
0
0
0
0
23
2
-4
-1
-22
-20
-23
-59
37
0
0
0
0
0
0
0
0
-8
11
44
52
-33
19
2
28
-23
0
0
0
0
0
0
0
0
-11
-16
-2
60
21
-25
-24
3
25
0
0
0
0
0
0
0
0
0
48
-2
60
47
4
9
11
0
0
0
0
0
0
0
0
0
-9
9
7
16
54
-3
-29
44
17
0
0
0
0
0
0
0
0
0
0
0
19
-2
20
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
-2
-16
14
29
34
-36
38
-33
0
47
0
0
0
0
0
0
0
12
-11
35
-11
-7
36
-11
-15
-36
29
0
0
0
0
0
0
0
2
43
-28
-9
20
19
27
25
31
-8
0
0
0
0
0
0
0
3
63
29
42
19
35
-20
11
-68
1
0
0
0
0
0
0
0
4
20
5
80
34
37
28
31
36
68
0
0
0
0
0
0
0
-1
0
-14
-13
22
10
24
-19
14
12
0
0
0
0
0
0
0
1
-9
-2
5
12
-7
17
32
-37
-1
0
0
0
0
0
0
0
0
-1
2
-15
-4
17
29
32
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
22
3
0
0
0
0
0
0
0
0
0
6
-6
-29
0
-25
26
-18
26
0
-5
-43
0
0
0
0
0
0
0
-15
37
16
-5
19
2
13
59
15
6
0
0
0
0
0
0
-1
13
-7
-24
10
6
32
26
1
93
21
0
0
0
0
0
0
10
47
-22
23
50
6
17
26
26
45
7
0
0
0
0
0
0
-4
-56
9
3
57
15
30
-41
47
75
0
0
0
0
0
0
0
19
-78
0
-3
-55
-32
50
16
-19
75
0
0
0
0
0
0
0
-2
0
-50
34
-21
23
-23
53
73
0
0
0
0
0
0
0
0
0
0
-16
-3
0
24
40
24
-4
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
0
-13
0
0
0
0
0
0
0
0
2
10
2
-1
33
30
-16
-5
0
40
12
1
0
0
0
0
0
2
44
-24
9
42
32
-17
13
0
-26
0
-4
0
0
0
0
0
0
7
9
1
62
-5
-15
48
29
34
-30
0
0
0
0
0
0
2
87
-3
1
16
-9
61
18
-29
32
25
0
0
0
0
0
0
0
-22
1
-23
-9
76
24
-39
40
33
7
0
0
0
0
0
0
0
45
8
0
25
4
35
27
58
21
0
0
0
0
0
0
0
0
-46
1
58
-28
-10
-38
-19
-14
10
7
0
0
0
0
0
0
0
0
2
-6
0
-2
-9
-29
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
1
-7
-36
35
18
0
-3
11
0
0
0
0
0
0
0
2
8
-32
-5
-22
-39
-3
-47
-36
-7
0
0
0
0
0
0
0
1
0
8
23
17
70
-32
-1
8
7
0
0
0
0
0
0
0
-1
0
-3
1
3
23
15
-63
19
-2
0
0
0
0
0
0
0
0
4
19
-58
-7
36
-5
14
-7
0
-1
0
0
0
0
0
0
7
61
-29
0
41
34
40
-1
-6
0
0
0
0
0
0
0
-1
0
2
0
10
2
23
11
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
-2
21
-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
-4
-1
-4
28
-40
0
-6
0
0
0
0
0
0
0
0
-1
0
-4
2
0
39
-2
4
-2
12
0
0
0
0
0
0
0
0
-6
0
0
-1
25
-10
-19
-24
3
0
0
0
0
0
0
0
0
-1
54
21
28
50
51
-3
33
12
0
0
0
0
0
0
1
-7
4
4
-14
19
36
50
72
2
0
0
0
0
0
0
0
0
17
-4
1
1
0
-24
-8
-2
0
0
0
0
0
0
0
0
-2
2
-16
2
0
-7
6
15
-9
2
0
0
0
0
0
0
0
0
-1
-3
0
0
0
-1
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
16
-1
0
-11
0
0
0
0
0
0
0
0
-1
0
1
25
-20
85
-30
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
24
-34
0
0
0
0
0
0
0
0
0
-2
0
0
0
10
6
2
-2
-31
0
0
0
0
0
0
0
0
-3
-16
0
-6
0
74
12
44
4
0
0
0
0
0
0
0
0
0
6
0
-5
3
0
35
0
20
0
0
0
0
0
0
0
0
0
0
-1
0
3
18
4
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-33
2
0
-1
2
0
0
0
0
0
0
-3
0
-7
0
-11
0
0
31
-19
3
0
0
0
0
0
0
0
0
0
0
0
1
23
-14
-11
-15
-3
0
0
0
0
0
0
0
0
0
0
-2
-2
-11
4
-11
-8
6
3
0
0
0
0
0
0
0
9
0
8
0
-42
20
15
3
-2
0
0
0
0
0
0
0
0
2
1
0
0
-1
-1
0
5
0
-3
0
0
0
0
0
0
0
0
-3
0
3
-39
0
-2
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
2
0
5
-2
0
0
0
0
0
0
0
-1
0
0
0
47
15
-21
-14
-8
0
0
0
0
0
0
0
0
-2
0
1
0
6
-12
-6
-16
0
0
0
0
0
0
0
0
0
-1
0
4
-28
19
-9
35
-3
-25
0
0
0
0
0
0
0
0
0
0
0
-6
4
99
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
1
26
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-17
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-6
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-45
-15
47
21
0
0
0
0
0
0
0
0
0
81
12
-7
-21
49
46
-7
14
27
0
0
0
0
0
0
0
0
-20
0
-3
9
-9
48
24
-67
52
0
0
0
0
0
0
0
0
-26
8
1
19
-55
51
6
39
32
0
0
0
0
0
0
0
0
-1
0
0
-65
-27
-11
37
-2
64
0
0
0
0
0
0
0
0
22
4
-17
26
15
15
-29
-13
-2
0
0
0
0
0
0
0
0
0
0
26
4
28
54
-46
-6
-5
0
0
0
0
0
0
0
0
0
0
-2
24
-9
-4
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
20
0
0
0
0
0
0
0
0
0
0
0
-48
-8
7
49
53
32
-3
0
-8
0
0
0
0
0
0
0
-1
-35
-35
-29
-56
-6
-37
7
7
40
0
0
0
0
0
0
0
0
5
-11
6
31
40
-4
11
4
-40
0
0
0
0
0
0
0
9
-1
4
6
12
6
22
2
26
17
0
0
0
0
0
0
0
0
4
-14
-16
54
15
-5
38
-11
-16
0
0
0
0
0
0
0
4
6
-15
11
-30
19
1
-33
-13
-49
0
0
0
0
0
0
0
1
0
4
5
3
-19
25
-40
-20
13
0
0
0
0
0
0
0
0
1
11
-41
11
24
-16
-1
7
-2
0
0
0
0
0
0
0
2
0
0
0
4
-1
4
-4
0
0
0
0
0
0
0
0
0
0
-2
32
-2
12
-13
45
20
0
13
5
0
0
0
0
0
0
-1
-56
-20
-1
-7
48
15
-24
33
38
6
0
0
0
0
0
0
-2
21
16
-4
82
18
-12
-10
-11
-1
12
0
0
0
0
0
0
0
-34
-3
17
-24
57
3
8
77
45
1
0
0
0
0
0
0
2
7
-6
23
-13
53
24
13
6
-2
-1
0
0
0
0
0
0
-3
-2
17
37
4
-19
11
-20
71
27
-14
0
0
0
0
0
0
16
27
0
-3
-45
-26
-12
1
45
-13
0
0
0
0
0
0
0
0
0
-4
16
-15
1
20
-22
10
-26
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
-2
-4
3
-7
-17
61
97
0
12
4
-1
0
0
0
0
0
0
-10
-6
-6
-14
-46
-31
69
-8
43
-16
1
0
0
0
0
0
0
-9
1
-11
14
-5
82
34
-23
42
-21
0
0
0
0
0
0
0
-8
0
-2
9
44
-36
-7
62
-41
-11
0
0
0
0
0
0
0
5
-4
0
-53
53
30
-63
15
71
-1
0
0
0
0
0
0
1
-12
0
43
3
95
77
-45
5
-10
12
0
0
0
0
0
0
0
-2
57
0
26
-22
-63
49
-3
3
0
0
0
0
0
0
0
0
16
0
-6
0
29
-10
-48
-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
-1
6
7
-10
8
23
-35
0
66
14
0
0
0
0
0
0
0
0
0
2
-5
35
29
-13
0
43
36
-1
0
0
0
0
0
0
-2
0
6
3
-8
44
-7
9
13
-1
0
0
0
0
0
0
0
-11
0
-2
-2
9
-39
8
-7
11
1
0
0
0
0
0
0
0
-4
0
0
-9
61
7
21
0
2
-6
0
0
0
0
0
0
0
0
-3
0
-2
-35
-25
-24
8
20
0
3
0
0
0
0
0
0
0
0
0
0
-18
12
-8
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
9
-4
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
8
-4
-2
0
-44
17
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-16
4
4
-29
-8
-2
0
0
0
0
0
0
0
0
0
13
-9
33
10
-4
-1
0
0
0
0
0
0
0
0
0
-2
0
0
12
1
46
29
-45
0
0
0
0
0
0
0
0
0
0
0
29
8
49
-6
-10
0
-6
0
0
0
0
0
0
0
0
0
0
10
-24
11
35
2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
4
0
17
0
0
0
0
0
0
0
0
0
0
0
1
0
-5
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
14
-3
22
0
0
0
0
0
0
0
0
0
0
1
0
0
29
-7
-8
0
0
0
0
0
0
0
0
0
0
0
1
0
33
3
57
1
-11
0
0
0
0
0
0
0
0
10
0
1
-1
16
-24
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
8
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
8
2
0
0
-1
0
0
0
0
0
0
0
21
0
1
-1
-7
-8
-39
-20
-1
0
0
0
0
0
0
0
0
1
0
-1
-1
0
-10
2
7
9
0
0
0
0
0
0
0
0
0
0
0
0
12
-3
4
1
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
11
-5
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-2
9
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-2
4
0
3
0
0
0
0
0
0
0
0
0
0
0
11
-7
13
0
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
10
2
-29
21
-10
0
0
0
0
0
0
0
0
2
0
11
-1
-10
-6
0
44
0
0
0
0
0
0
0
0
0
0
-3
0
-22
7
-1
-29
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-24
0
-4
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
8
0
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
40
-3
2
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
3
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
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
5
0
6
-10
16
20
-44
7
60
0
0
0
0
0
0
0
0
3
0
0
50
75
8
-21
35
-38
0
0
0
0
0
0
0
0
40
-2
-1
-18
-45
-37
6
-47
-7
0
0
0
0
0
0
0
0
37
-2
6
-4
-36
39
-35
-4
38
0
0
0
0
0
0
0
0
25
7
-26
-57
-43
-21
3
-6
-3
0
0
0
0
0
0
0
0
0
12
37
36
28
8
-24
-23
73
0
0
0
0
0
0
0
0
0
0
-2
-26
-14
33
-23
13
0
0
0
0
0
0
0
0
0
-4
-3
0
0
14
0
-24
0
0
0
0
0
0
0
0
0
0
0
15
1
26
28
-30
44
-20
0
1
0
0
0
0
0
0
0
0
21
33
-40
52
-8
3
-46
35
-9
0
0
0
0
0
0
0
0
-21
16
1
4
-57
-25
-34
28
27
0
0
0
0
0
0
0
-2
-37
-13
-18
-24
19
-11
2
15
34
0
0
0
0
0
0
0
-1
11
2
20
46
48
-24
26
-2
-74
0
0
0
0
0
0
0
0
-70
-39
67
16
0
42
-37
-10
24
0
0
0
0
0
0
0
-9
0
-10
24
18
19
26
-46
6
5
0
0
0
0
0
0
0
0
0
-2
31
33
-30
46
-5
-27
18
0
0
0
0
0
0
0
0
0
0
3
-1
7
3
-20
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
2
24
21
0
2
1
0
0
0
0
0
0
0
-24
10
-1
-9
-34
11
-10
-4
-56
35
0
0
0
0
0
0
-10
4
7
0
15
66
-7
-43
22
-17
-52
0
0
0
0
0
0
0
22
1
-15
12
-12
79
5
9
-4
11
0
0
0
0
0
0
0
-18
-6
16
-1
-48
-16
0
53
2
20
0
0
0
0
0
0
0
17
15
-7
30
-12
-5
-49
49
-25
-3
0
0
0
0
0
0
0
0
-1
29
-11
-73
17
-13
47
33
0
0
0
0
0
0
0
0
42
0
18
-2
68
-28
-6
-17
-16
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
-1
0
0
-19
19
0
31
2
0
0
0
0
0
0
0
10
-13
9
0
6
16
-57
72
92
-36
3
0
0
0
0
0
0
-2
0
-1
43
40
-24
-10
-59
24
-7
1
0
0
0
0
0
0
-3
0
0
19
10
-1
96
-60
62
-6
0
0
0
0
0
0
0
1
0
1
-43
-23
49
38
-30
-1
-2
0
0
0
0
0
0
0
-2
-1
-1
26
-34
45
-30
90
-1
0
0
0
0
0
0
0
0
0
21
18
-26
18
11
-24
-4
-40
17
0
0
0
0
0
0
0
-6
-1
0
1
-3
-2
-35
4
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
4
0
35
-1
0
0
0
0
0
0
0
0
0
0
0
44
1
-20
-1
-2
8
0
0
0
0
0
0
0
0
0
1
1
2
32
-1
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-10
0
3
-1
0
0
0
0
0
0
0
3
0
2
-1
-18
19
0
-1
0
0
0
0
0
0
0
0
0
0
0
-9
-14
9
4
54
12
2
0
0
0
0
0
0
0
0
1
0
8
-18
7
-31
0
-1
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
1
0
0
2
0
-19
9
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
28
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
1
0
-2
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
1
-3
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
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
16
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
24
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
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
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
14
3
-27
0
0
0
0
0
0
0
0
0
23
0
0
0
29
-6
2
8
-26
0
0
0
0
0
0
0
0
-11
0
0
28
34
15
0
-4
3
0
0
0
0
0
0
0
0
7
4
11
11
1
3
13
10
8
0
0
0
0
0
0
0
0
9
71
-46
30
-6
34
-14
58
0
0
0
0
0
0
0
0
0
-4
0
0
-6
52
18
-11
-11
18
0
0
0
0
0
0
0
0
0
0
23
42
1
19
3
-9
0
0
0
0
0
0
0
0
0
0
-1
7
0
13
15
32
0
1
0
0
0
0
0
0
0
0
0
0
0
0
13
5
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
0
10
23
0
0
0
0
0
0
0
0
0
4
0
0
-2
0
47
-90
20
16
0
0
0
0
0
0
0
0
-11
0
-9
6
-20
5
12
3
2
0
0
0
0
0
0
0
-6
0
-1
0
28
2
-2
0
-21
1
0
0
0
0
0
0
0
0
19
15
55
-9
56
-54
0
-4
0
0
0
0
0
0
0
0
0
0
2
14
-1
18
6
-18
0
0
0
0
0
0
0
0
0
0
0
0
-12
-17
17
10
1
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
15
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
-15
11
10
4
0
0
0
0
0
0
0
0
-2
-6
0
0
-6
-24
-6
14
2
3
0
0
0
0
0
0
0
0
0
0
2
23
51
-26
18
-22
0
0
0
0
0
0
0
0
-1
0
3
0
1
36
7
16
9
-6
0
0
0
0
0
0
0
0
0
-68
5
-4
6
-3
1
0
0
0
0
0
0
0
0
0
0
0
8
6
-35
-15
-4
21
0
1
0
0
0
0
0
0
0
0
0
18
-1
18
4
20
6
7
0
0
0
0
0
0
0
0
0
0
0
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
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
4
3
9
0
0
0
0
0
0
0
0
0
0
0
0
2
0
25
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
-3
0
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
-14
15
4
-28
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-13
-31
0
-36
15
0
0
0
0
0
0
0
0
0
-4
-13
69
-17
-12
-29
-6
-49
0
0
0
0
0
0
0
0
0
0
0
-19
-25
20
3
44
19
0
0
0
0
0
0
0
0
0
0
0
0
-25
-44
-17
36
-22
0
0
0
0
0
0
0
0
0
0
0
6
-3
19
-62
-10
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-73
0
0
0
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
9
-5
0
64
0
0
0
0
0
0
0
0
0
0
0
62
-29
30
-51
-47
18
0
0
0
0
0
0
0
0
0
0
0
-2
31
-11
1
-49
-6
48
-52
-35
0
0
0
0
0
0
0
0
-63
16
-8
-56
32
-11
12
7
-25
0
0
0
0
0
0
0
0
-5
61
22
9
36
20
-29
10
26
0
0
0
0
0
0
0
0
-11
-5
-25
9
-31
-31
24
10
-14
0
0
0
0
0
0
0
0
0
0
58
14
45
28
-12
3
15
0
0
0
0
0
0
0
0
0
0
17
-20
37
14
-3
51
32
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-29
0
0
0
0
0
0
0
0
0
0
0
39
25
-28
35
0
0
0
-13
0
0
0
0
0
0
0
-28
-32
61
-5
-2
-2
0
0
0
32
0
0
0
0
0
0
0
27
45
-40
-45
23
-2
-22
-15
-12
27
0
0
0
0
0
0
0
38
32
16
-46
-51
14
-7
27
-35
-14
0
0
0
0
0
0
0
-8
49
7
33
-13
-5
-16
-31
-30
1
0
0
0
0
0
0
0
-20
-37
-44
11
8
-15
-4
-25
7
6
0
0
0
0
0
0
0
0
-6
14
-54
-40
-11
-15
-10
-18
38
0
0
0
0
0
0
0
0
-6
-2
-7
-47
10
-32
-13
-2
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-27
8
0
0
0
0
23
0
0
0
0
0
0
0
1
-15
-36
42
-31
-36
0
0
0
21
-6
0
0
0
0
0
0
0
9
12
-7
17
-28
-51
-9
-36
56
-10
0
0
0
0
0
0
-10
-15
-21
-87
52
4
-14
21
-5
-23
0
0
0
0
0
0
0
0
-46
-45
-1
-16
-99
23
-17
-44
32
1
0
0
0
0
0
0
0
0
-12
-88
42
-1
-13
51
-27
39
0
0
0
0
0
0
0
0
0
-6
-72
-18
-9
33
17
29
0
-2
0
0
0
0
0
0
0
0
1
6
2
17
42
-12
25
52
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
-25
0
-5
-51
0
0
0
-1
0
0
0
0
0
0
0
-26
-20
-2
-3
-92
12
0
0
0
-15
-6
0
0
0
0
0
0
0
-3
-19
-46
21
-4
-45
38
-37
-39
-3
0
0
0
0
0
0
0
5
-2
-40
21
33
-49
-40
-5
-20
0
0
0
0
0
0
0
0
-6
-4
-46
32
-74
12
-38
14
-4
1
0
0
0
0
0
0
0
0
0
13
-34
-78
-42
28
21
-14
8
0
0
0
0
0
0
0
10
-2
9
-77
-48
-75
19
-9
-2
13
0
0
0
0
0
0
0
0
-2
7
-29
45
-3
38
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
8
0
0
0
-57
0
0
0
0
7
0
0
0
0
0
0
0
7
-40
-2
-12
28
0
0
0
2
-2
0
0
0
0
0
0
0
1
-20
-27
-8
-30
-11
-27
-11
32
-3
0
0
0
0
0
0
0
0
-8
43
-17
-46
-32
3
77
-5
0
0
0
0
0
0
0
0
0
-3
17
-5
72
-11
-85
-24
-13
-1
0
0
0
0
0
0
0
0
1
40
21
1
17
14
3
-15
0
0
0
0
0
0
0
0
0
0
0
17
3
3
24
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
35
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-2
-2
7
0
0
0
-2
-1
0
0
0
0
0
0
0
0
-2
4
3
-4
-33
2
-87
0
0
0
0
0
0
0
0
0
0
0
0
-13
37
-26
16
-51
1
0
0
0
0
0
0
0
0
0
0
0
-2
-8
62
-2
-76
-6
0
0
0
0
0
0
0
0
0
0
3
-1
13
23
-5
8
3
-1
0
0
0
0
0
0
0
0
0
-4
-8
-7
2
-2
60
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-16
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
3
-11
-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
0
0
-4
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
3
4
6
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
-7
-1
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
44
12
-53
44
0
0
0
0
0
0
0
0
0
0
0
-8
-45
5
-58
43
63
0
0
0
0
0
0
0
0
0
0
0
-34
50
4
-5
-7
-20
-20
-27
0
0
0
0
0
0
0
0
0
7
21
44
-29
3
-48
25
-12
0
0
0
0
0
0
0
0
0
-2
-16
8
0
-14
-24
44
10
0
0
0
0
0
0
0
0
0
0
-11
-3
35
-15
32
-28
-32
0
0
0
0
0
0
0
0
0
0
0
-9
-1
39
33
30
43
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-12
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
9
0
0
0
0
0
0
0
0
6
-17
-13
-48
-9
13
-61
0
0
0
0
0
0
0
0
0
0
6
-3
50
35
-33
-12
17
0
0
0
0
0
0
0
0
0
0
1
-25
-19
-13
6
-8
6
3
-3
-7
0
0
0
0
0
0
0
0
-25
-54
29
-7
14
-38
-19
-4
-8
0
0
0
0
0
0
0
0
6
27
16
11
-26
-7
-4
-4
-1
0
0
0
0
0
0
0
-1
15
1
44
14
-6
27
36
-7
5
0
0
0
0
0
0
0
0
-1
8
2
22
27
1
-35
5
-18
0
0
0
0
0
0
0
0
0
0
0
4
-30
-12
-7
19
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
-4
-2
0
0
0
0
0
0
0
0
-3
16
-35
-23
-81
-54
0
0
0
-30
0
0
0
0
0
0
0
-2
-4
-8
-20
-31
21
0
0
0
49
0
0
0
0
0
0
0
-12
7
21
2
-3
1
-12
39
0
-9
0
0
0
0
0
0
0
2
39
-27
-9
-7
-19
-31
1
-38
-44
0
0
0
0
0
0
0
6
-35
-12
9
-16
-5
-6
-29
-19
5
0
0
0
0
0
0
0
-1
-57
13
-29
-62
-15
-14
-43
5
-36
0
0
0
0
0
0
0
6
-4
3
41
-11
-54
-24
-33
-19
8
0
0
0
0
0
0
0
0
0
-3
32
-53
-79
-66
-42
3
17
0
0
0
0
0
0
0
0
0
0
0
-1
0
15
-30
7
-33
0
0
0
0
0
0
0
0
10
9
-11
-52
44
0
0
0
-37
-1
0
0
0
0
0
0
-3
57
44
-23
4
-17
0
0
0
30
5
0
0
0
0
0
0
-15
-41
11
-40
2
-17
-13
-46
39
-14
5
0
0
0
0
0
0
-6
-26
59
-45
-4
-2
3
-3
-5
-13
-2
0
0
0
0
0
0
-12
-6
-34
49
-11
20
12
-11
15
-38
12
0
0
0
0
0
0
0
11
19
-6
65
-53
-1
12
29
-50
-4
0
0
0
0
0
0
0
0
15
-11
-24
28
-25
-12
-9
26
20
0
0
0
0
0
0
0
0
0
-2
-41
-7
-34
-45
5
14
0
0
0
0
0
0
0
0
0
0
0
-9
0
3
39
9
-13
0
0
0
0
0
0
0
0
18
33
17
-17
7
0
0
0
-27
3
0
0
0
0
0
-2
1
-2
-33
-22
17
-31
0
0
0
-9
-15
0
0
0
0
0
0
9
-18
46
32
-7
5
-23
-3
-31
-42
-52
-2
0
0
0
0
0
0
10
-6
26
77
17
-51
-10
-13
-20
-31
-15
0
0
0
0
0
0
13
-15
55
1
-42
-49
1
2
10
-49
-10
0
0
0
0
0
0
0
-5
15
-11
-48
36
-86
-34
20
3
0
0
0
0
0
0
0
0
0
2
-59
-21
-44
-4
-3
-15
-6
0
0
0
0
0
0
0
0
0
-4
3
0
-3
53
-20
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
4
0
0
0
0
0
0
0
0
18
33
-1
0
-11
0
0
0
38
-4
0
0
0
0
0
0
0
-14
8
3
2
-14
0
0
0
-21
6
0
0
0
0
0
0
0
-11
22
14
-43
21
-11
-40
31
6
-28
-2
0
0
0
0
0
0
2
6
21
13
-17
-33
-41
-102
-26
3
0
0
0
0
0
0
0
0
-13
-17
95
-4
55
-22
-39
34
0
0
0
0
0
0
0
0
-1
-7
-9
4
66
5
9
7
29
0
-4
0
0
0
0
0
0
0
1
4
9
17
-17
1
-11
-12
2
0
0
0
0
0
0
0
0
0
24
0
2
1
4
34
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-4
1
0
0
0
0
0
0
0
-7
15
-2
-24
1
0
0
0
12
-22
-3
0
0
0
0
0
0
0
2
-15
-5
-22
-43
24
-32
7
-22
1
0
0
0
0
0
0
0
0
-14
6
-38
-24
-1
82
-22
3
0
0
0
0
0
0
0
0
0
-2
3
-16
-44
32
-19
1
0
-3
0
0
0
0
0
0
0
0
7
-7
-10
-9
-15
-7
10
-6
0
0
0
0
0
0
0
0
0
0
-6
0
36
7
-59
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
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
1
-2
0
0
0
0
0
0
0
0
0
3
0
-1
-28
0
-13
1
1
-1
0
0
0
0
0
0
0
0
0
1
-2
1
1
3
-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
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-2
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
-3
4
6
-1
-21
-2
0
1
0
0
0
0
0
0
0
0
0
0
3
7
-7
6
15
-8
1
0
0
0
0
0
0
0
0
0
-2
0
-19
-9
0
-25
4
1
0
0
0
0
0
0
0
0
0
-1
-3
-6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-11
-1
0
0
0
0
0
0
0
0
0
-3
1
1
0
0
0
-12
-8
-1
0
0
0
0
0
0
0
-3
0
8
0
-7
3
2
29
13
0
0
0
0
0
0
0
0
0
0
0
0
-37
24
8
-1
-1
0
0
0
0
0
0
0
0
0
0
3
0
2
-6
22
-16
6
0
1
0
0
0
0
0
0
0
0
0
0
0
-9
8
22
-10
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
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-13
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-7
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
3
6
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
3
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-54
-12
-9
-66
-25
0
0
0
0
0
0
0
0
0
0
0
-1
-12
-22
-49
-10
-22
0
0
0
0
0
0
0
0
0
0
0
7
35
-3
93
-34
-20
60
-66
0
0
0
0
0
0
0
0
0
2
4
-25
2
5
-34
-35
-20
0
0
0
0
0
0
0
0
0
-3
1
19
16
-26
-21
11
10
0
0
0
0
0
0
0
0
0
0
0
4
8
-12
45
-23
-13
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-25
62
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-33
0
0
0
0
0
0
0
0
2
-11
11
-23
15
-25
12
0
0
0
0
0
0
0
0
0
0
0
-38
-38
65
-25
4
-19
0
0
0
0
0
0
0
0
0
0
0
9
-7
5
-12
-22
21
35
-18
-22
0
0
0
0
0
0
0
0
28
19
6
-24
19
-11
-22
-6
-17
0
0
0
0
0
0
0
0
1
24
-2
27
-4
-42
2
20
-18
0
0
0
0
0
0
0
-1
-2
-28
-4
43
25
29
21
0
-24
0
0
0
0
0
0
0
0
0
0
2
24
1
-3
-16
-58
-14
0
0
0
0
0
0
0
0
0
0
1
-10
11
10
4
24
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-14
0
0
0
0
0
0
0
0
-3
3
-22
-6
62
31
0
0
0
-12
0
0
0
0
0
0
0
-4
-10
-23
14
3
5
0
0
0
-14
0
0
0
0
0
0
0
14
24
3
25
33
26
22
-29
-20
-16
0
0
0
0
0
0
0
-2
-30
-42
6
-19
-8
-12
-46
12
-32
0
0
0
0
0
0
0
1
-33
-60
39
-11
-18
-26
14
-23
-41
0
0
0
0
0
0
0
0
-19
-18
14
-11
-39
5
-11
15
-44
0
0
0
0
0
0
0
0
0
-1
-3
36
22
-11
-17
-28
4
0
0
0
0
0
0
0
0
0
5
-1
1
-2
-71
67
19
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
15
0
0
0
0
0
0
0
1
0
-5
-21
-42
15
-53
0
0
0
33
-2
0
0
0
0
0
0
-2
-13
-26
-50
23
-55
0
0
0
-1
-12
0
0
0
0
0
0
14
-2
-59
5
-25
24
-47
-6
51
52
0
0
0
0
0
0
0
0
43
42
-20
22
-22
34
-14
-51
-3
0
0
0
0
0
0
0
0
3
-4
-14
-39
53
16
-53
30
-5
12
0
0
0
0
0
0
0
0
-27
-13
3
-38
30
-13
-47
2
0
0
0
0
0
0
0
0
0
0
-24
-36
-15
4
9
-21
18
0
0
0
0
0
0
0
0
0
0
0
-15
0
-15
17
-7
-17
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
1
46
-1
45
-20
0
0
0
-1
3
0
0
0
0
0
0
0
-2
-31
44
-3
-6
0
0
0
35
-31
0
0
0
0
0
0
7
46
15
4
0
12
-27
-15
-7
-32
17
4
0
0
0
0
0
2
-7
-25
12
38
1
12
40
-10
-3
-26
-1
0
0
0
0
0
0
0
3
-40
-11
2
-21
41
-10
-7
-19
0
0
0
0
0
0
0
8
-11
-30
-70
6
30
-51
-16
36
32
0
0
0
0
0
0
0
0
-6
-6
0
-30
1
-27
37
-2
-5
0
0
0
0
0
0
0
0
0
0
-11
0
-1
0
-15
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
6
0
-2
-3
0
0
0
14
0
0
0
0
0
0
0
0
-9
-29
5
-10
14
0
0
0
-3
25
2
0
0
0
0
0
0
0
-13
-23
26
1
-9
33
-52
-17
-1
3
0
0
0
0
0
2
-16
0
-3
-7
-25
29
31
-58
-18
-1
0
0
0
0
0
0
0
0
6
-26
18
10
-51
23
-10
-11
9
0
0
0
0
0
0
0
0
2
-4
0
-71
-8
-51
-3
2
-1
0
0
0
0
0
0
0
0
0
1
-1
-42
42
17
3
-11
-9
0
0
0
0
0
0
0
0
0
0
-1
3
5
8
-26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-1
1
19
0
0
0
4
0
0
0
0
0
0
0
0
-1
1
-11
-26
6
0
0
0
-8
-53
0
0
0
0
0
0
0
0
0
26
8
3
-11
17
-16
22
13
-1
-2
0
0
0
0
0
3
-9
-1
-5
17
-23
25
10
3
-1
1
0
0
0
0
0
0
0
0
0
9
16
19
17
6
19
-30
0
0
0
0
0
0
0
0
0
0
-3
11
-9
43
-19
4
-1
0
0
0
0
0
0
0
0
0
0
8
0
3
3
9
1
-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
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
-3
0
0
2
0
0
0
0
-36
-1
0
0
0
0
0
0
0
0
-1
-1
0
-7
-2
-47
-1
-7
-2
0
0
0
0
0
0
0
0
0
1
-4
3
-6
13
13
-10
-1
0
0
0
0
0
0
0
0
0
0
-1
0
20
8
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
-26
22
20
-12
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
-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
-3
-2
-2
10
0
0
0
-1
0
0
0
0
0
0
0
-4
-9
20
18
-53
-27
0
0
0
-13
-1
0
0
0
0
0
0
1
0
14
-41
2
-52
18
-41
-55
0
0
0
0
0
0
0
0
0
1
-7
-9
-16
-33
21
51
-3
-1
0
0
0
0
0
0
0
0
4
1
0
4
-45
-7
58
-4
1
3
0
0
0
0
0
0
0
0
0
0
2
37
21
41
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
19
32
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
2
3
-7
18
0
0
0
0
3
-8
1
0
0
0
0
0
0
16
-2
-32
36
10
0
0
0
-18
3
0
0
0
0
0
0
0
-5
-13
-3
30
63
-29
-35
7
7
-3
0
0
0
0
0
0
0
0
-5
1
-11
-8
-26
-13
61
-24
1
0
0
0
0
0
0
0
-2
0
2
-11
-41
20
49
29
9
-6
0
0
0
0
0
0
0
0
0
1
6
-23
44
6
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
26
18
-58
-12
0
0
0
0
0
0
0
0
0
0
-9
0
0
3
2
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
2
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
-9
-1
0
0
0
0
0
0
0
0
0
0
-6
6
0
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
-5
36
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
33
3
-18
10
0
0
0
0
0
0
0
0
0
0
0
6
-32
-10
-2
-45
1
-1
1
0
0
0
0
0
0
0
0
0
0
1
39
4
17
1
45
-71
0
0
0
0
0
0
0
0
0
0
0
2
-1
-24
-31
18
-47
0
0
0
0
0
0
0
0
0
0
0
0
6
-10
-6
26
22
0
0
0
0
0
0
0
0
0
0
0
0
-26
-11
3
-57
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
55
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
1
9
36
21
-7
45
0
0
0
0
0
0
0
0
0
0
1
19
2
47
-24
-8
46
0
0
0
0
0
0
0
0
0
0
0
-25
45
48
18
-60
65
9
-25
-35
0
0
0
0
0
0
0
0
-2
23
-16
-21
2
-23
-22
-32
-55
0
0
0
0
0
0
0
0
14
68
20
-23
-36
-15
-17
-15
-12
0
0
0
0
0
0
0
0
0
19
25
12
15
59
10
-53
-2
0
0
0
0
0
0
0
0
0
14
-1
25
63
0
47
-3
14
0
0
0
0
0
0
0
0
0
0
0
3
3
36
14
23
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
16
-6
0
0
0
0
0
0
0
0
0
-26
6
76
-58
-21
0
0
0
5
0
0
0
0
0
0
0
-8
17
-52
-34
1
2
0
0
0
-20
0
0
0
0
0
0
0
-1
10
-91
-31
0
22
-13
15
-39
2
0
0
0
0
0
0
0
0
-2
-43
21
-68
-39
-23
2
-33
49
0
0
0
0
0
0
0
0
-6
-9
-61
-69
-59
-35
14
-7
15
0
0
0
0
0
0
0
2
0
-24
-61
0
-44
-15
31
3
-8
0
0
0
0
0
0
0
0
0
0
-6
-68
-20
-46
-8
-20
-2
0
0
0
0
0
0
0
0
0
-2
0
-6
14
-11
-20
-44
11
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
20
0
0
0
0
0
0
0
0
0
0
11
-70
-34
58
0
0
0
26
0
0
0
0
0
0
0
-11
6
39
-19
15
-39
0
0
0
-31
7
0
0
0
0
0
0
0
-6
45
44
-43
0
-32
-43
-8
25
0
0
0
0
0
0
1
18
-11
-8
15
34
-31
-19
-38
-82
-3
0
0
0
0
0
0
0
12
1
12
-36
-39
-19
-39
-34
-11
0
-1
0
0
0
0
0
0
0
0
-4
-45
67
-58
-22
17
36
-54
0
0
0
0
0
0
0
1
0
0
0
13
7
26
-18
-30
4
0
0
0
0
0
0
0
0
0
-7
0
-1
-4
0
-30
-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
18
30
-44
43
28
0
0
0
-8
3
0
0
0
0
0
0
0
53
-10
-8
-36
47
0
0
0
89
46
0
0
0
0
0
0
1
-12
5
-33
59
-63
8
-25
0
-2
-6
2
0
0
0
0
0
-4
-5
8
-1
0
24
-19
-35
-16
35
2
1
0
0
0
0
0
0
-3
-25
18
-33
-22
-62
-45
0
-12
0
4
0
0
0
0
0
0
0
1
-9
72
-1
-7
3
-7
1
-2
0
0
0
0
0
0
0
0
-4
2
-1
13
-17
20
53
18
2
0
0
0
0
0
0
0
0
0
0
7
0
24
-60
-30
7
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
-13
-32
1
-3
0
0
0
-15
0
-7
0
0
0
0
0
-7
-3
-20
-13
17
-12
0
0
0
-45
6
-3
0
0
0
0
0
0
-7
0
23
15
-4
18
5
38
18
-8
1
0
0
0
0
0
0
0
-8
-8
0
-9
4
26
-19
20
1
0
0
0
0
0
0
0
-3
-2
-3
8
-10
-10
24
-32
-7
-4
0
0
0
0
0
0
0
0
0
0
0
-3
54
8
-2
-3
-1
1
0
0
0
0
0
0
0
0
-2
7
0
-17
-20
-17
-6
3
0
0
0
0
0
0
0
0
0
-6
0
-1
-2
1
-100
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
-15
0
0
0
-2
0
0
0
0
0
0
0
0
-1
4
0
23
2
0
0
0
6
24
0
0
0
0
0
0
0
0
0
26
0
-20
13
-54
-12
-3
32
0
0
0
0
0
0
0
1
0
3
7
0
-7
-3
-42
12
3
0
0
0
0
0
0
0
0
0
8
-1
-24
-18
20
-2
3
0
-1
0
0
0
0
0
0
0
0
-6
0
6
22
0
15
12
7
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
-12
-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
-2
0
0
0
0
0
-1
2
0
0
0
0
0
0
2
-1
35
-1
1
0
0
0
6
0
0
0
0
0
0
0
0
0
1
1
7
0
-36
-12
-11
2
-2
7
0
0
0
0
0
0
0
0
0
18
-34
0
-31
12
-6
3
0
1
0
0
0
0
0
0
0
1
4
1
-4
22
-6
0
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
6
-18
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
9
-34
13
22
-27
0
0
0
0
0
0
0
0
0
0
0
16
0
13
36
9
-29
0
0
0
0
-1
0
0
0
0
0
0
8
-4
17
7
0
-73
-26
-24
-62
-3
0
0
0
0
0
0
0
0
-2
-32
6
6
81
-64
24
-27
0
0
0
0
0
0
0
0
-1
6
6
-22
-23
72
14
32
26
3
0
0
0
0
0
0
0
0
9
2
-46
-2
22
14
20
27
4
1
0
0
0
0
0
0
0
0
0
-7
0
-37
-5
-8
55
-1
0
0
0
0
0
0
0
0
0
0
0
2
1
3
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
-1
-23
-13
9
0
0
0
0
0
0
0
0
0
0
0
1
-5
-33
33
7
25
0
0
0
0
0
0
0
0
0
0
0
0
5
-11
-51
-27
-33
53
-69
-58
2
0
0
0
0
0
0
0
0
-2
0
-27
-24
-26
26
-58
19
5
3
0
0
0
0
0
0
0
4
-8
11
37
-1
58
9
29
1
1
0
0
0
0
0
0
0
0
2
16
12
-6
-26
-38
32
2
0
0
0
0
0
0
0
0
0
-6
-8
0
3
-13
59
28
2
0
0
0
0
0
0
0
0
0
0
0
0
2
7
11
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
1
-3
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
4
-3
4
3
27
1
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-3
-3
-9
0
-4
0
0
0
0
0
0
0
0
0
-1
0
-7
-40
9
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-9
1
-10
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
3
0
0
0
0
0
0
0
0
0
0
0
0
2
7
-2
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
15
17
-24
25
-39
-22
0
0
0
0
0
0
0
0
0
-1
0
9
-1
25
-30
-8
5
0
0
0
0
0
0
0
0
0
0
0
1
11
-9
-26
51
-22
0
0
0
0
0
0
0
0
0
0
0
0
10
-24
18
2
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-36
-9
-9
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
0
0
0
0
0
0
-1
0
-39
0
0
0
0
0
0
0
0
0
0
2
-17
-20
-17
-10
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-55
-30
-6
-38
0
0
0
0
0
0
0
0
0
0
0
0
87
-36
8
-37
87
15
-36
-33
0
0
0
0
0
0
0
0
-1
6
-43
25
21
23
-35
-50
-50
0
0
0
0
0
0
0
0
0
-7
8
-122
-18
35
11
0
-46
0
0
0
0
0
0
0
0
0
1
22
30
-50
-5
-64
4
-9
0
0
0
0
0
0
0
0
0
-12
1
-35
4
-23
17
2
34
0
0
0
0
0
0
0
0
0
0
-6
6
14
11
-41
15
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-10
1
0
0
0
0
0
0
0
0
8
14
9
-23
41
16
0
0
0
6
0
0
0
0
0
0
0
0
19
4
45
-37
9
0
0
0
31
0
0
0
0
0
0
0
-8
-18
13
8
3
20
49
-22
30
-26
0
0
0
0
0
0
0
0
14
-11
25
87
-25
-30
42
-60
3
0
0
0
0
0
0
0
0
0
3
-45
-53
9
-53
-10
29
14
0
0
0
0
0
0
0
0
11
-32
-15
-57
-21
-18
-21
25
9
0
0
0
0
0
0
0
1
0
-10
8
9
-10
0
3
-33
17
0
0
0
0
0
0
0
0
0
0
-3
22
4
31
-35
-1
42
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
-27
0
0
0
0
0
0
0
0
0
0
-11
-2
-26
1
0
0
0
10
4
0
0
0
0
0
0
4
-18
-51
-5
26
55
0
0
0
13
7
0
0
0
0
0
0
0
6
-7
5
-34
-10
-29
45
15
1
-4
0
0
0
0
0
0
0
10
-20
4
4
21
-9
-23
-39
6
1
0
0
0
0
0
0
1
-3
0
-19
-51
-18
18
1
31
-7
7
0
0
0
0
0
0
10
6
-8
20
5
47
12
6
-45
0
10
0
0
0
0
0
0
0
3
0
7
-48
-4
41
-4
-8
-48
-6
0
0
0
0
0
0
0
0
0
-7
4
-2
-5
38
10
55
3
0
0
0
0
0
0
0
0
0
0
0
0
-33
-11
-27
11
0
0
0
0
0
0
0
0
0
2
-1
-11
10
0
0
0
6
0
0
0
0
0
0
0
-6
8
10
-46
-23
-8
0
0
0
-44
-6
0
0
0
0
0
0
-16
0
-30
20
-15
-24
-15
42
-14
-7
-7
0
0
0
0
0
0
0
-12
23
23
-3
4
-25
45
11
-58
9
1
0
0
0
0
0
0
-2
-1
0
-4
-90
-23
-33
22
25
-8
-2
0
0
0
0
0
0
-4
0
2
-74
55
-19
47
-75
1
-2
0
0
0
0
0
0
0
0
0
11
-6
-21
42
9
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
2
-7
-14
38
-29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
5
0
18
0
0
0
-43
-1
0
0
0
0
0
0
-6
0
26
7
40
-1
0
0
0
30
-28
-3
0
0
0
0
0
0
-3
-16
16
14
11
12
-29
-57
-1
-9
-6
0
0
0
0
0
0
0
12
3
4
17
-33
-44
0
-5
1
3
0
0
0
0
0
0
-8
3
10
0
-30
22
-36
48
-38
-2
-2
0
0
0
0
0
0
0
0
-21
24
14
-25
17
-41
-16
0
0
0
0
0
0
0
0
0
0
1
8
-1
-24
-1
-29
-21
-2
0
0
0
0
0
0
0
0
0
7
0
-3
25
2
-18
0
-1
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
-2
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
0
8
3
0
0
0
0
0
0
-1
0
8
1
2
-3
-13
-34
6
0
-4
0
0
0
0
0
0
0
0
0
19
1
1
13
-26
-16
0
-4
0
0
0
0
0
0
0
0
0
-8
0
0
4
-41
-40
5
-3
0
0
0
0
0
0
0
0
0
-6
0
2
16
-26
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
5
-6
-30
26
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
11
6
0
0
0
1
-1
0
0
0
0
0
0
0
-2
0
-6
6
11
0
0
0
-3
2
0
0
0
0
0
0
0
0
-13
1
2
44
15
-85
-1
0
1
0
0
0
0
0
0
0
-6
0
0
-18
-21
-24
-55
2
-2
0
0
0
0
0
0
0
0
0
0
-13
-3
85
0
3
-5
0
0
0
0
0
0
0
0
0
0
-2
0
-2
1
39
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
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
-18
0
5
-26
-43
6
-1
0
0
0
0
0
0
0
0
0
0
0
40
-50
-18
6
7
16
0
0
0
2
7
0
0
0
0
0
0
0
25
-20
3
-44
42
-75
-26
-23
0
0
0
0
0
0
0
0
2
6
-2
7
-4
6
-53
-2
-47
-6
0
0
0
0
0
0
0
-7
10
4
47
48
-9
51
0
6
4
0
0
0
0
0
0
0
0
0
-7
9
30
59
39
72
3
0
-1
0
0
0
0
0
0
0
-6
0
1
43
20
-29
4
-36
6
0
0
0
0
0
0
0
0
0
13
6
2
-22
4
-53
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
17
0
0
0
0
0
0
0
0
0
0
2
-7
-19
-21
-18
0
0
0
0
0
0
0
0
0
0
0
-15
-17
-12
90
-3
-51
0
0
0
-7
1
1
0
0
0
0
0
0
-12
-40
12
-41
-21
-20
8
-39
0
0
0
0
0
0
0
0
0
11
17
63
-3
15
-47
-7
-32
-10
0
0
0
0
0
0
0
0
-4
27
21
71
10
20
14
0
9
0
0
0
0
0
0
0
0
6
4
-3
52
3
-10
-5
43
0
-4
0
0
0
0
0
0
0
0
-11
7
-32
-35
77
-50
26
7
0
0
0
0
0
0
0
0
0
0
0
-8
-5
16
-7
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
2
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
-1
-3
0
2
-6
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
25
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
22
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
13
17
12
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
23
-29
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
45
14
-17
-47
6
0
0
0
0
0
0
0
0
0
0
0
-44
10
-14
-58
-37
-56
0
0
0
0
0
0
0
0
0
0
0
2
1
6
53
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
-47
-16
-19
-65
0
0
0
0
0
0
0
0
0
0
-2
0
-1
8
38
5
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
31
0
0
0
0
0
0
0
0
0
0
2
-3
6
85
-10
0
0
0
0
0
0
0
0
0
0
0
-4
24
-32
-65
55
16
0
0
0
0
0
0
0
0
0
0
0
0
-32
68
41
-17
56
1
-6
-69
0
0
0
0
0
0
0
0
3
-4
-24
-47
-33
-48
-10
-30
4
0
0
0
0
0
0
0
0
0
-4
-6
7
6
28
-28
-69
46
0
0
0
0
0
0
0
0
0
2
8
36
-4
58
23
-6
-82
0
0
0
0
0
0
0
0
0
-8
-4
-5
-5
-31
-10
30
-32
0
0
0
0
0
0
0
0
0
0
0
-8
-17
33
-6
17
70
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-5
4
0
0
0
0
0
0
0
0
0
23
-5
24
3
-12
0
0
0
1
0
0
0
0
0
0
0
0
19
48
-15
30
-40
0
0
0
-1
0
0
0
0
0
0
0
0
-28
24
-56
-70
-8
-7
27
-42
6
0
0
0
0
0
0
0
-9
-2
-2
37
-33
-55
-8
13
43
-1
0
0
0
0
0
0
0
0
-5
-13
-9
-23
-1
2
-35
-57
-6
0
0
0
0
0
0
0
4
0
-14
28
-12
2
-7
-18
-35
-17
0
0
0
0
0
0
0
0
-4
-13
9
-80
-4
-30
-56
-48
-23
0
0
0
0
0
0
0
0
0
0
-1
53
-4
-32
-46
-22
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
42
0
0
0
0
0
0
0
0
0
-1
9
-11
0
-3
0
0
0
-4
0
0
0
0
0
0
-1
-1
-6
36
36
17
14
0
0
0
2
-2
0
0
0
0
0
0
-6
-9
4
25
34
-14
53
1
40
-7
0
0
0
0
0
0
0
0
-1
17
2
6
-49
-44
19
-26
57
0
0
0
0
0
0
0
0
0
6
-2
-44
-47
-12
-53
-52
22
0
0
0
0
0
0
0
-1
2
0
-62
-41
-28
7
6
47
20
-24
0
0
0
0
0
0
0
0
-9
1
38
-45
7
-5
-41
19
-9
0
0
0
0
0
0
0
0
0
0
-7
1
-59
-5
33
22
9
0
0
0
0
0
0
0
0
0
0
0
-1
-7
8
10
-5
0
0
0
0
0
0
0
0
-63
-1
-4
35
2
0
0
0
0
0
0
0
0
0
0
0
0
-9
9
-4
45
-5
0
0
0
29
-1
0
0
0
0
0
0
-2
0
-9
30
-40
46
-32
57
39
-2
0
0
0
0
0
0
0
0
0
60
-2
23
-64
35
-12
-32
-10
0
-1
0
0
0
0
0
0
0
-15
-23
72
-23
-8
-27
27
-4
13
0
0
0
0
0
0
0
0
25
0
67
-24
-26
20
-45
-5
-8
0
0
0
0
0
0
0
-4
-1
-5
12
24
-26
-39
-30
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
12
5
-7
-9
-1
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
1
-6
3
-1
0
0
0
0
0
0
0
0
0
0
0
1
19
15
-11
-2
52
0
0
0
-23
0
2
0
0
0
0
0
0
0
0
3
13
10
25
-9
26
3
-6
0
0
0
0
0
0
0
0
1
-5
-43
-30
52
20
9
-23
0
0
0
0
0
0
0
0
0
7
-1
12
5
-1
-25
-4
-1
1
0
0
0
0
0
0
0
-2
-3
0
0
52
10
102
15
8
-1
-4
0
0
0
0
0
0
0
-1
0
0
-19
-14
-19
8
21
-2
0
0
0
0
0
0
0
0
0
0
0
0
32
10
37
-32
-1
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
1
-1
0
-3
0
0
0
7
0
0
0
0
0
0
0
0
0
11
-10
-9
-3
0
0
0
-28
19
0
0
0
0
0
0
0
0
0
10
3
-7
0
-12
41
-1
9
-7
0
0
0
0
0
0
0
1
3
12
1
17
3
-7
-10
0
0
0
0
0
0
0
0
0
-2
0
-6
7
39
12
-1
0
-6
0
0
0
0
0
0
0
0
0
0
-6
0
53
-23
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-4
27
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
-37
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
4
7
-2
0
0
0
-1
-8
0
0
0
0
0
0
0
8
-74
7
-8
17
27
-35
0
0
0
0
0
0
0
0
0
0
0
2
-86
4
-10
-9
10
-19
-7
0
0
0
0
0
0
0
0
0
1
-2
6
-41
0
78
-8
2
0
0
0
0
0
0
0
0
0
0
0
4
-13
0
28
-27
0
0
2
0
0
0
0
0
0
0
0
0
0
-19
0
-2
2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
10
0
0
0
0
0
0
0
0
0
0
39
20
-6
-17
-11
0
0
0
0
0
0
0
0
0
0
0
-33
-51
-4
13
-43
62
0
0
0
0
-1
0
0
0
0
0
0
-7
-38
111
30
-1
22
-61
-2
40
0
0
0
0
0
0
0
0
-5
6
7
42
19
31
-55
-44
30
1
0
0
0
0
0
0
0
-4
-67
-28
-27
48
7
-65
-37
-39
0
0
0
0
0
0
0
0
4
3
26
1
-17
-39
-15
0
-56
0
0
0
0
0
0
0
0
1
0
-12
29
-6
-34
2
-16
6
0
-2
0
0
0
0
0
0
0
0
0
-7
-80
20
31
62
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
9
7
-20
-8
0
0
0
0
0
0
0
0
0
-86
-8
-6
7
-9
0
0
0
0
0
0
0
0
0
0
0
0
26
-29
-11
14
52
0
0
0
0
0
0
0
0
0
0
0
0
4
66
17
12
-22
-15
-36
-27
5
0
0
0
0
0
0
0
0
8
51
6
22
-55
-50
20
-29
1
0
0
0
0
0
0
0
0
0
-1
52
-19
43
11
13
-42
-15
0
0
0
0
0
0
0
0
1
2
0
-25
90
0
-28
0
47
0
0
0
0
0
0
0
0
0
4
0
-3
35
15
28
-36
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-56
4
-10
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
-12
-4
0
0
0
0
0
0
0
0
0
0
4
0
0
1
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
-3
7
-16
-6
13
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
1
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-25
-6
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
-4
-9
0
2
-31
-28
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
21
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
35
-4
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-30
0
0
0
0
0
0
0
0
0
0
-1
2
4
32
-7
0
0
0
0
0
0
0
0
0
0
0
-3
31
-22
-19
1
75
0
0
0
0
0
0
0
0
0
0
0
-3
-24
71
5
-54
-23
-31
-36
-10
0
0
0
0
0
0
0
0
0
14
-17
3
-21
-31
-8
13
-43
0
0
0
0
0
0
0
0
0
-21
-9
-5
-20
-59
4
-13
25
0
0
0
0
0
0
0
0
0
-5
1
-4
27
1
-17
-1
-3
0
0
0
0
0
0
0
0
0
1
-7
1
-62
66
-23
-23
32
0
0
0
0
0
0
0
0
0
0
-4
0
0
-31
21
-36
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-58
8
0
0
0
0
0
0
0
0
0
2
3
18
1
6
0
0
0
-1
0
0
0
0
0
0
0
46
-36
-24
13
-48
47
0
0
0
0
0
0
0
0
0
0
0
0
-7
-17
3
46
18
-13
17
-40
3
0
0
0
0
0
0
0
1
3
12
-15
-26
12
-18
1
3
-4
0
0
0
0
0
0
0
0
-65
82
-64
-57
-40
20
-6
-42
20
0
0
0
0
0
0
0
0
16
44
0
-18
-13
14
14
-62
-15
0
0
0
0
0
0
0
0
0
-14
-14
18
-26
53
6
-8
-9
0
0
0
0
0
0
0
0
-2
-3
5
-10
3
-22
11
-30
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
7
3
0
0
0
0
0
0
0
0
-4
-12
0
38
-2
0
0
0
-8
-2
0
0
0
0
0
0
0
-13
-27
-5
-10
-18
0
0
0
7
2
0
0
0
0
0
0
0
0
-48
3
33
-15
-14
36
0
-10
0
0
0
0
0
0
0
0
-4
28
51
-12
6
55
3
-2
-14
0
0
0
0
0
0
0
0
7
-2
-32
20
-8
-12
-47
-13
-8
-2
0
0
0
0
0
0
0
-1
6
-21
-7
-80
35
-18
-23
1
0
0
0
0
0
0
0
0
0
0
-19
4
-71
-13
14
-51
-29
0
0
0
0
0
0
0
0
0
0
0
-9
-2
55
39
-19
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
37
-13
1
0
0
0
0
0
0
0
0
59
0
15
-16
49
0
0
0
0
0
0
0
0
0
0
0
0
-21
-89
47
10
3
0
0
0
18
0
0
0
0
0
0
0
0
1
-11
14
2
15
-69
4
-37
-3
-3
0
0
0
0
0
0
2
-3
5
-47
28
-37
21
-22
-50
-1
2
0
0
0
0
0
0
0
1
8
12
30
7
-37
19
-26
0
-6
0
0
0
0
0
0
0
-1
-18
-4
-27
-19
-5
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
13
-9
11
16
-79
-38
-7
0
0
0
0
0
0
0
0
0
0
0
-6
-8
-55
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-54
2
0
0
0
0
0
0
0
0
0
3
1
17
-2
15
0
0
0
0
-1
0
0
0
0
0
0
0
0
16
-19
-10
10
0
0
0
-16
0
0
0
0
0
0
0
0
0
4
-20
0
0
-11
-1
-9
-1
0
0
0
0
0
0
0
0
-4
-2
17
-1
20
30
6
-6
0
-7
0
0
0
0
0
0
0
-2
1
42
-11
-24
6
-4
3
-16
0
0
0
0
0
0
0
1
0
0
2
-7
-2
-34
-33
-15
10
0
0
0
0
0
0
0
0
0
0
4
0
15
41
-8
-68
-26
6
0
0
0
0
0
0
0
0
0
0
-19
-1
17
-25
33
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
1
1
0
0
0
0
0
0
0
0
8
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
33
10
-54
0
0
0
0
-4
9
0
0
0
0
0
0
0
0
-25
0
47
1
0
0
15
-1
0
0
0
0
0
0
0
0
7
-16
-6
2
13
-14
0
-3
1
0
0
0
0
0
0
0
0
0
0
-2
-3
36
-25
13
18
0
0
0
0
0
0
0
0
0
-8
-6
-23
18
-26
-5
-15
27
0
6
0
0
0
0
0
0
0
0
0
-12
15
0
12
-44
27
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
28
50
-1
-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
6
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-13
-8
-1
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
1
11
0
-4
-1
-10
0
-4
0
0
0
0
0
0
0
0
2
-3
4
-8
-9
14
12
0
0
1
0
0
0
0
0
0
0
-1
0
-15
0
-19
-10
11
1
0
0
0
0
0
0
0
0
0
0
1
0
2
-64
-41
11
-7
0
0
0
0
0
0
0
0
0
0
0
0
-9
-12
0
81
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
3
4
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
14
0
0
0
0
0
0
0
0
0
0
-17
3
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
9
29
21
1
-15
-33
0
0
0
0
0
0
0
0
0
0
0
3
-24
22
-19
50
-15
-52
-17
15
0
0
0
0
0
0
0
0
0
0
3
-7
-13
-102
-14
-75
-19
0
0
0
0
0
0
0
0
-13
8
14
14
15
19
-22
-75
-76
-11
0
0
0
0
0
0
0
0
0
9
22
21
-30
17
-109
50
0
0
0
0
0
0
0
0
0
0
-4
8
-12
63
-57
0
-34
-3
0
0
0
0
0
0
0
0
0
13
0
-15
-15
-27
75
51
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-45
23
0
0
0
0
0
0
0
0
0
-6
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
29
-5
-17
0
0
0
2
0
0
0
0
0
0
0
0
0
-23
43
-38
-10
11
-19
22
1
0
0
0
0
0
0
0
0
4
-28
12
-41
8
-33
-47
-37
37
0
0
0
0
0
0
0
0
0
-3
-35
6
-93
26
3
-50
-2
0
0
0
0
0
0
0
0
0
4
-27
14
10
-1
-11
-42
6
0
0
0
0
0
0
0
0
0
0
-2
9
32
29
2
0
-5
0
0
0
0
0
0
0
0
0
0
3
0
-7
-54
3
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
-6
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-2
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-4
0
0
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
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-21
0
0
0
16
-12
0
0
0
0
0
0
0
0
0
0
0
14
3
1
-29
0
6
0
0
0
0
0
0
0
0
0
0
1
0
-1
-4
-4
-35
1
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-3
17
10
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-37
-17
-3
30
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-13
-26
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
3
-42
-2
7
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-9
-25
-25
-41
-89
-11
0
0
0
0
0
0
0
0
0
-3
-20
14
-50
5
-55
16
1
0
0
0
0
0
0
0
0
0
-31
-1
-6
-15
-1
-12
19
-22
0
0
0
0
0
0
0
0
0
0
-3
18
-40
1
32
-31
-48
0
0
0
0
0
0
0
0
0
0
2
-40
3
-28
28
-12
20
0
0
0
0
0
0
0
0
0
1
-1
0
-8
54
9
-30
-28
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-18
7
24
0
0
0
0
0
0
0
0
0
-3
0
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-41
-33
-10
16
0
0
0
0
0
0
0
0
0
0
0
0
-2
56
-24
-13
50
-24
21
-29
0
0
0
0
0
0
0
0
0
-1
0
63
-82
21
-52
-68
-55
0
0
0
0
0
0
0
0
0
-6
6
28
-32
5
-33
1
-8
-16
0
0
0
0
0
0
0
1
-1
-2
28
-63
-22
-20
-52
-22
4
0
0
0
0
0
0
0
0
0
0
-5
25
-48
-29
-80
-49
-4
0
0
0
0
0
0
0
0
0
0
0
-22
-33
58
-16
-34
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
25
37
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-52
17
54
0
29
13
-38
-1
0
0
0
0
0
0
0
0
6
-39
-47
21
6
-12
-3
-15
2
0
0
0
0
0
0
0
0
0
-2
0
30
51
-22
3
-7
0
0
0
0
0
0
0
0
0
0
0
-1
-74
-4
-8
-16
-38
4
0
0
0
0
0
0
0
0
0
3
21
36
-43
-16
-38
-30
-3
0
0
0
0
0
0
0
0
0
0
11
8
-11
4
-32
8
30
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
25
-2
2
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
-4
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
9
32
0
0
0
18
0
-1
0
0
0
0
0
0
0
0
12
-38
1
-27
-12
7
12
2
0
0
0
0
0
0
0
0
0
0
0
8
-26
-25
-44
-5
7
0
0
0
0
0
0
0
0
-2
0
0
3
-34
4
-31
-9
0
0
0
0
0
0
0
0
0
0
2
0
-5
11
-43
-89
-39
-3
0
0
0
0
0
0
0
0
0
0
0
6
-1
6
-43
57
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-20
-20
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
1
-29
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
6
-8
15
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-8
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
3
6
11
6
4
0
0
1
0
0
0
0
0
0
0
0
0
-1
-20
-14
-11
-5
-29
6
0
0
0
0
0
0
0
0
0
0
9
0
-21
-11
-34
-48
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-2
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-2
10
-6
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-8
3
-17
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
36
0
2
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-54
0
0
2
0
0
0
0
0
0
0
0
0
0
0
2
1
-24
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
-9
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
28
-3
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-8
7
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
9
-14
-19
3
-8
-16
0
0
0
0
0
0
0
0
0
0
1
15
3
36
-42
-36
-30
0
0
0
0
0
0
0
0
0
0
0
1
-41
-38
30
-20
-39
0
0
0
0
0
0
0
0
0
0
0
16
-7
-42
-15
21
-16
0
0
0
0
0
0
0
0
0
0
0
-11
0
1
38
0
-12
0
0
0
0
0
0
0
0
0
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
4
9
-2
-2
-2
6
0
0
0
0
0
0
0
0
0
0
0
-6
0
-24
-10
-18
0
0
0
0
0
0
0
0
0
0
0
0
19
0
-20
-5
1
0
-1
0
0
0
0
0
0
0
0
0
-32
0
0
-19
-58
-36
-7
0
0
0
0
0
0
0
0
0
0
0
0
6
15
8
16
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
0
-2
9
0
0
0
0
0
0
0
0
0
0
0
1
0
17
-7
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
3
4
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-58
-62
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-21
-58
-7
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
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
17
0
0
0
0
0
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
-9
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
-9
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
0
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
-21
9
0
0
0
0
0
0
0
0
0
0
2
42
-55
31
-4
70
-21
0
0
0
0
0
0
0
0
0
0
49
17
5
56
10
-60
-9
1
0
0
0
0
0
0
0
0
0
18
17
-11
38
41
17
0
0
0
0
0
0
0
0
0
0
0
3
-15
31
22
-8
-1
1
1
0
0
0
0
0
0
0
0
0
-2
-11
34
-50
-1
4
-3
0
0
0
0
0
0
0
0
0
0
-38
-21
18
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
-21
4
-43
51
0
0
0
0
0
0
0
0
0
37
-41
46
-4
1
0
-58
-21
-15
0
0
0
0
0
0
0
0
6
24
-2
39
-2
-21
-69
-24
-15
0
0
0
0
0
0
0
0
57
-46
23
18
-33
17
-2
53
-10
0
0
0
0
0
0
0
0
52
49
43
13
-28
4
-39
-4
20
0
0
0
0
0
0
0
0
-12
47
28
-38
-24
-1
8
34
-17
-3
0
0
0
0
0
0
0
-50
39
-29
12
41
-16
-2
-1
-8
0
0
0
0
0
0
0
0
-2
-45
-54
-15
-3
51
0
-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
8
-1
0
-2
60
-10
-3
-14
0
-10
0
0
0
0
0
0
0
-57
24
-32
40
21
29
-26
-18
-1
-13
0
0
0
0
0
0
0
-2
-12
19
57
-26
-12
18
-54
41
-5
0
0
0
0
0
0
0
68
10
0
18
24
-30
51
-24
-6
-12
0
0
0
0
0
0
0
3
-11
38
12
-42
-11
11
-3
30
-16
0
0
0
0
0
0
0
5
-25
18
-3
1
68
11
16
-22
-7
0
0
0
0
0
0
0
-12
-3
11
-40
-17
49
-78
5
-3
21
0
0
0
0
0
0
0
-2
-30
5
7
47
6
-44
1
-29
0
0
0
0
0
0
0
0
0
4
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-21
0
0
-6
-19
16
13
0
7
0
0
0
0
0
0
0
-30
-12
7
39
55
4
-26
2
-12
2
0
0
0
0
0
0
0
1
32
15
-14
-9
13
-7
-37
-12
4
0
0
0
0
0
0
0
25
-26
30
-11
46
47
49
29
13
15
0
0
0
0
0
0
0
102
-9
32
-86
-16
-99
6
1
52
36
0
0
0
0
0
0
0
19
46
16
-11
18
-12
-3
-18
5
-6
0
0
0
0
0
0
0
16
-13
32
2
-42
6
17
3
-22
0
0
0
0
0
0
0
0
-11
-81
14
-25
-35
-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
4
-22
-34
1
0
-1
50
76
0
0
0
0
0
0
0
0
0
-20
-5
8
-41
23
-13
-12
-51
41
0
0
0
0
0
0
0
0
8
-27
6
35
-17
28
41
37
-17
1
0
0
0
0
0
0
0
-35
9
-1
17
8
-27
2
-11
4
5
0
0
0
0
0
0
0
-2
16
-34
-9
13
11
-38
22
-11
43
0
0
0
0
0
0
0
11
-34
53
-22
-8
7
-60
10
3
16
0
0
0
0
0
0
0
-1
-59
-54
19
-26
23
5
-22
-6
0
0
0
0
0
0
0
0
1
9
43
-9
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-14
29
0
0
0
9
0
0
0
0
0
0
0
0
0
24
20
46
-8
8
0
-3
26
18
0
0
0
0
0
0
0
0
19
48
-40
-33
39
17
36
8
20
-1
0
0
0
0
0
0
0
-1
20
79
-58
18
-17
7
-15
6
0
0
0
0
0
0
0
0
-11
-3
-17
2
-9
59
-13
-4
-5
0
0
0
0
0
0
0
0
1
44
29
-7
9
-20
0
-8
-3
-7
0
0
0
0
0
0
0
-8
-35
0
1
-3
2
0
2
1
0
0
0
0
0
0
0
0
0
15
-11
4
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
37
-2
4
0
-4
0
-6
0
0
0
0
0
0
0
0
0
15
41
10
35
49
0
4
0
0
0
0
0
0
0
0
0
0
-8
13
-27
-9
-4
-56
0
-2
0
0
0
0
0
0
0
0
0
-15
0
6
-5
1
-9
0
10
-4
0
0
0
0
0
0
0
0
-3
2
-5
44
-2
-2
0
-4
0
0
0
0
0
0
0
0
0
-17
-6
4
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
11
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
8
4
4
-14
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
10
2
8
0
1
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
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
1
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
1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
3
-21
-13
58
-14
-6
0
0
0
0
0
0
0
0
0
34
20
29
26
22
66
1
-19
0
0
0
0
0
0
0
0
0
-64
12
45
36
-9
60
-22
1
-1
0
0
0
0
0
0
0
0
19
27
-8
32
32
29
-16
6
0
0
0
0
0
0
0
0
0
-8
11
12
18
32
47
-3
13
0
0
0
0
0
0
0
0
0
6
89
28
-22
-43
41
1
-12
0
0
0
0
0
0
0
0
0
-27
18
23
23
-4
0
0
-7
0
0
0
0
0
0
0
0
0
6
0
-10
-1
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
0
-52
-19
44
14
40
-10
-14
9
0
0
0
0
0
0
0
0
0
34
23
47
-10
-11
16
-4
20
9
0
0
0
0
0
0
0
0
31
59
-17
31
6
-6
42
-35
18
11
0
0
0
0
0
0
0
57
27
-1
10
6
25
32
36
6
0
0
0
0
0
0
0
0
46
-21
11
-10
-2
18
-16
2
-14
4
0
0
0
0
0
0
0
-12
52
59
26
37
-3
6
7
-1
0
0
0
0
0
0
0
0
13
42
-13
-21
-4
-52
-1
6
-38
0
0
0
0
0
0
0
0
38
3
8
13
0
-7
0
3
-2
0
0
0
0
0
0
0
0
4
11
-40
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
29
-7
23
-20
-16
-16
-71
0
2
0
0
0
0
0
0
0
95
21
45
10
78
12
-38
-12
-51
-1
0
0
0
0
0
0
0
5
12
11
6
12
40
-2
49
-41
-16
0
0
0
0
0
0
0
10
37
24
23
22
-23
27
-17
15
6
-1
0
0
0
0
0
0
26
0
4
20
-25
6
-7
-74
-23
-31
0
0
0
0
0
0
0
-17
15
-48
-54
13
-20
26
25
58
29
0
0
0
0
0
0
0
33
1
-50
27
47
38
7
0
-15
0
0
0
0
0
0
0
0
0
-15
-24
9
16
83
-10
22
1
0
0
0
0
0
0
0
0
0
-13
-10
-8
1
0
6
0
0
0
0
0
0
0
0
0
0
5
-8
70
-8
48
-37
-4
-9
0
-4
0
0
0
0
0
0
0
3
20
26
23
23
64
32
-9
-18
2
-3
0
0
0
0
0
0
-22
-10
8
-47
17
12
-9
-74
-40
7
0
0
0
0
0
0
0
5
22
39
57
57
61
51
28
39
-2
0
0
0
0
0
0
0
58
-21
32
8
17
-6
21
14
58
3
0
0
0
0
0
0
0
-8
40
31
21
0
62
-21
58
1
2
0
0
0
0
0
0
0
-23
-2
-42
-18
51
31
29
3
-2
0
0
0
0
0
0
0
0
-1
3
-87
18
-11
6
6
-1
0
0
0
0
0
0
0
0
0
2
-9
-7
0
13
8
0
0
0
0
0
0
0
0
0
0
0
-20
31
34
89
0
-61
-15
-42
0
0
0
0
0
0
0
0
0
33
5
17
65
-29
-46
-25
-33
-8
0
0
0
0
0
0
0
0
5
22
-6
34
-32
-20
-2
-85
54
-6
0
0
0
0
0
0
0
50
-23
-24
15
-47
88
-6
25
25
63
0
0
0
0
0
0
0
-2
-5
12
-5
54
0
-15
2
-40
-16
4
0
0
0
0
0
0
-9
1
-5
15
-19
-41
27
-48
12
-6
0
0
0
0
0
0
0
0
-9
16
3
-7
-32
0
2
67
-8
0
0
0
0
0
0
0
-3
-42
-19
15
0
-1
0
2
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
50
84
-33
-7
4
-95
-13
0
1
0
0
0
0
0
0
0
-10
-12
6
18
104
-7
26
56
-35
-1
-1
0
0
0
0
0
0
-15
43
65
43
18
40
8
-32
28
-3
0
0
0
0
0
0
0
-13
-33
45
32
-22
25
-5
11
-13
0
0
0
0
0
0
0
0
61
34
40
33
27
11
-37
51
1
18
0
0
0
0
0
0
0
13
47
3
46
34
17
-14
-39
-3
0
0
0
0
0
0
0
0
31
8
42
79
53
33
-62
-19
-7
0
0
0
0
0
0
0
0
0
-25
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
53
22
9
-24
-4
1
0
-1
0
0
0
0
0
0
0
0
-45
27
0
52
-31
16
-2
10
0
0
0
0
0
0
0
0
0
34
5
22
23
-15
46
-1
-7
-3
0
0
0
0
0
0
0
0
47
21
105
57
14
28
20
2
-15
0
0
0
0
0
0
0
0
70
20
10
-14
4
17
16
-4
2
0
0
0
0
0
0
0
0
33
14
-72
-15
23
-18
8
-6
-6
0
0
0
0
0
0
0
0
-17
36
-19
3
1
-7
8
2
0
0
0
0
0
0
0
0
0
82
14
2
-6
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
9
4
-1
-1
-9
1
0
0
1
0
0
0
0
0
0
0
-2
0
-24
-37
-40
-2
0
0
1
0
0
0
0
0
0
0
0
0
-3
-13
-10
1
-14
-11
1
0
-1
0
0
0
0
0
0
0
0
6
6
1
0
-3
3
0
-10
0
0
0
0
0
0
0
0
-4
0
19
11
0
-6
-2
-6
0
3
0
0
0
0
0
0
0
1
0
0
7
-1
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-18
0
-7
0
-2
12
0
0
0
0
0
0
0
0
0
0
27
17
-20
8
-15
49
0
-2
0
0
0
0
0
0
0
0
0
-1
-13
-6
-4
45
-19
4
1
0
0
0
0
0
0
0
0
0
-10
44
-1
22
-1
-2
1
0
0
0
0
0
0
0
0
0
0
16
1
-41
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-8
-3
0
0
-7
0
0
0
0
0
0
0
0
0
0
19
-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
12
-8
21
24
54
-42
0
-2
0
0
0
0
0
0
0
0
0
37
24
10
42
92
-12
24
-1
0
0
0
0
0
0
0
0
0
45
-13
61
-29
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
-17
8
-3
6
11
0
1
1
0
0
0
0
0
0
0
0
0
5
10
37
19
29
0
-7
0
0
0
0
0
0
0
0
0
0
-9
2
-7
11
-9
-6
0
0
0
0
0
0
0
0
0
0
0
4
-8
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
1
0
8
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
4
-53
-35
-1
0
0
0
0
0
0
0
0
0
0
0
6
21
10
-35
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
1
-15
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
61
70
51
-8
35
-2
2
0
0
0
0
0
0
0
0
0
22
25
6
-26
-33
-5
-24
7
0
0
0
0
0
0
0
0
0
-16
20
-19
40
0
3
7
10
-12
0
0
0
0
0
0
0
0
-5
3
-12
8
37
4
-6
0
0
0
0
0
0
0
0
0
0
-2
39
-28
106
-7
8
12
0
2
0
0
0
0
0
0
0
0
62
41
46
54
2
-24
0
-2
0
0
0
0
0
0
0
0
0
-18
3
-34
-18
-10
-2
0
0
0
0
0
0
0
0
0
0
0
7
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
46
52
32
-8
-10
20
-40
-35
0
0
0
0
0
0
0
0
0
-29
-11
32
1
5
-28
25
22
6
0
0
0
0
0
0
0
0
10
54
21
61
-18
18
-6
-39
74
23
0
0
0
0
0
0
0
30
-5
-10
-30
0
-12
37
57
-4
0
0
0
0
0
0
0
0
-1
-19
-6
10
45
-17
-15
30
37
13
0
0
0
0
0
0
0
-19
-34
-4
-42
13
-32
37
-43
-54
1
0
0
0
0
0
0
0
18
-23
-4
9
54
49
-1
-17
7
0
0
0
0
0
0
0
0
43
-5
20
15
6
-11
0
-4
-2
0
0
0
0
0
0
0
0
-30
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
9
27
41
46
-9
-58
49
0
-13
0
0
0
0
0
0
0
-8
2
28
6
-5
-7
-41
1
-54
0
-4
0
0
0
0
0
0
47
-43
16
4
0
-44
17
-1
14
-11
0
0
0
0
0
0
0
25
47
-41
36
27
36
-33
-12
38
24
0
0
0
0
0
0
0
38
13
-42
33
9
2
-8
135
9
9
0
0
0
0
0
0
0
-21
13
8
65
44
-17
30
-5
-12
-6
0
0
0
0
0
0
0
56
12
53
-58
69
-49
-12
-2
11
-3
0
0
0
0
0
0
0
0
32
38
-31
-12
-1
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
8
71
55
-7
-18
-3
76
0
0
0
0
0
0
0
0
0
17
-1
52
-44
-8
25
-29
-30
-7
0
0
0
0
0
0
0
0
-4
53
3
22
-34
46
35
63
10
2
0
0
0
0
0
0
0
12
-13
-19
-25
-27
-16
51
40
2
8
0
0
0
0
0
0
0
-17
-67
29
-8
2
-5
65
-6
42
2
0
0
0
0
0
0
0
-8
-21
-4
-31
12
4
30
-15
4
0
0
0
0
0
0
0
0
-12
22
-3
45
-3
-25
-4
-6
12
0
0
0
0
0
0
0
0
15
-5
39
-5
-2
11
0
1
0
0
0
0
0
0
0
0
0
-40
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-11
55
15
17
5
36
1
0
0
0
0
0
0
0
0
0
-43
-19
23
14
17
19
-19
-32
-41
-9
2
0
0
0
0
0
0
6
6
79
-2
41
-16
15
4
-25
35
0
0
0
0
0
0
0
97
-12
-6
-2
-7
31
8
50
50
-22
0
0
0
0
0
0
0
2
-3
33
-18
48
19
13
-47
10
0
0
0
0
0
0
0
0
-18
-19
37
39
11
-10
-81
-29
-2
-4
0
0
0
0
0
0
0
-7
23
-18
-81
-22
26
-1
0
0
0
0
0
0
0
0
0
0
24
-47
-32
-14
0
0
3
0
0
0
0
0
0
0
0
0
0
0
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-54
-20
-61
53
31
12
-13
0
-2
0
0
0
0
0
0
0
44
-7
43
-3
-2
1
68
19
-4
0
0
0
0
0
0
0
0
-42
-2
25
34
1
-15
-35
5
-18
2
0
0
0
0
0
0
0
-41
-33
57
-74
30
-12
-66
46
-14
-2
0
0
0
0
0
0
0
20
-20
8
-23
25
36
18
8
-28
-1
0
0
0
0
0
0
0
-29
-29
55
7
1
34
35
-6
0
0
0
0
0
0
0
0
0
23
-1
21
-30
1
-2
-4
2
8
0
0
0
0
0
0
0
0
0
-61
-14
34
0
0
0
6
0
0
0
0
0
0
0
0
0
10
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
-3
24
-9
3
8
0
-15
0
0
0
0
0
0
0
-6
27
52
-4
5
-40
-5
-55
32
0
4
0
0
0
0
0
0
0
-43
-4
20
12
-41
22
1
3
-1
0
0
0
0
0
0
0
0
50
-14
-3
-69
-32
4
5
8
7
0
0
0
0
0
0
0
0
-16
2
-27
14
-13
-35
9
4
0
0
0
0
0
0
0
0
3
-33
-36
-20
9
-2
3
4
0
0
0
0
0
0
0
0
0
0
9
-13
60
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-19
35
6
-21
20
0
-1
0
0
0
0
0
0
0
-3
-35
4
2
37
-19
10
-10
0
0
0
0
0
0
0
0
0
-19
27
-61
18
-29
-3
2
7
0
0
0
0
0
0
0
0
0
-51
-2
-37
28
27
-23
-4
-3
3
0
0
0
0
0
0
0
0
1
-6
1
7
-13
10
13
0
0
0
0
0
0
0
0
0
0
2
-4
-18
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-8
4
-18
2
1
0
6
-2
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
39
65
-48
-28
36
15
-4
0
0
0
0
0
0
0
0
0
-31
26
32
37
-15
25
76
-27
3
0
0
0
0
0
0
0
0
-43
-29
61
-7
-33
-33
21
0
0
0
0
0
0
0
0
0
0
-62
-45
-30
18
71
-56
0
0
0
0
0
0
0
0
0
0
0
-7
25
7
-5
-3
-6
0
0
-2
0
0
0
0
0
0
0
0
-46
19
-2
6
-19
6
0
1
0
0
0
0
0
0
0
0
0
0
7
-1
-2
0
0
-4
-2
0
0
0
0
0
0
0
0
0
6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-13
14
-57
70
29
77
0
-2
0
0
0
0
0
0
0
0
28
-52
7
-10
29
-2
11
25
0
0
0
0
0
0
0
0
0
39
10
53
56
28
-57
11
3
0
0
0
0
0
0
0
0
0
-1
0
-22
-36
-39
-39
21
-4
0
0
0
0
0
0
0
0
0
33
-10
45
-14
-12
-4
-1
17
0
0
0
0
0
0
0
0
0
76
34
-21
-21
-5
2
12
0
0
0
0
0
0
0
0
0
0
53
-11
-20
5
0
0
1
-1
0
0
0
0
0
0
0
0
0
62
-8
-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
-3
0
-18
2
2
0
-1
0
0
0
0
0
0
0
0
0
-26
3
22
26
23
2
2
0
0
0
0
0
0
0
0
0
0
52
-10
-9
-44
38
-1
13
0
0
0
0
0
0
0
0
0
0
4
-4
6
-11
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
-7
1
-4
0
4
0
0
-2
0
0
0
0
0
0
0
0
0
-1
2
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
0
0
-19
0
0
0
0
0
0
0
0
0
0
2
1
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-1
-5
5
0
0
0
0
0
0
0
0
0
0
-10
24
10
12
21
-5
41
28
0
0
0
0
0
0
0
0
0
16
-40
28
-6
-73
-9
-1
21
7
0
0
0
0
0
0
0
0
7
6
2
9
26
7
0
-1
2
0
0
0
0
0
0
0
0
0
62
42
-12
5
-18
-16
0
0
0
0
0
0
0
0
0
0
-13
59
-1
-42
1
0
0
0
0
0
0
0
0
0
0
0
0
8
-26
29
-22
15
-2
0
0
0
0
0
0
0
0
0
0
0
17
45
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
1
1
24
-40
-54
11
-56
0
0
0
0
0
0
0
0
0
-14
-24
17
-41
0
30
-11
-27
15
-3
0
0
0
0
0
0
0
16
8
-9
-18
15
7
33
-25
-15
-11
0
0
0
0
0
0
0
17
-14
51
-49
-5
18
-5
-2
26
0
0
0
0
0
0
0
0
-23
20
5
-66
3
73
62
-20
-21
0
0
0
0
0
0
0
0
56
-58
1
7
13
45
59
11
-30
-5
0
0
0
0
0
0
0
-35
-30
-20
-12
-4
10
-35
-16
4
0
0
0
0
0
0
0
0
-25
49
17
23
-2
22
4
-3
0
0
0
0
0
0
0
0
0
16
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-25
40
-25
-20
61
40
-19
0
-2
0
0
0
0
0
0
0
19
43
14
2
3
-30
10
52
64
3
4
0
0
0
0
0
0
15
30
-9
-18
35
12
60
-4
54
0
0
0
0
0
0
0
0
-29
13
-39
36
1
-82
-5
29
120
-1
0
0
0
0
0
0
0
15
-9
-7
11
-8
-38
-35
-14
-23
5
0
0
0
0
0
0
0
12
25
-3
65
97
12
36
4
-29
0
0
0
0
0
0
0
0
25
-36
-16
22
-18
-37
-13
10
5
0
0
0
0
0
0
0
0
-60
-20
-68
-13
31
38
1
-1
0
0
0
0
0
0
0
0
0
-42
-27
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
47
32
-35
9
-17
30
53
0
4
0
0
0
0
0
0
0
22
-14
57
25
41
2
20
-46
5
-1
-2
0
0
0
0
0
0
10
6
21
-11
20
-21
7
-24
-19
28
0
0
0
0
0
0
0
82
79
35
12
-1
40
-8
-2
22
7
0
0
0
0
0
0
0
40
-7
-3
-7
-20
7
-9
-5
16
0
0
0
0
0
0
0
0
33
47
36
-29
-23
-54
22
7
2
-6
0
0
0
0
0
0
0
-3
-33
43
-55
16
-21
-1
0
-2
0
0
0
0
0
0
0
0
-2
36
6
32
8
3
0
0
-3
0
0
0
0
0
0
0
0
-16
-11
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
19
83
22
66
-56
-18
25
0
0
0
0
0
0
0
0
0
29
-21
-9
43
9
42
14
-22
-53
8
0
0
0
0
0
0
0
-2
-21
-3
41
4
0
5
55
-11
-1
0
0
0
0
0
0
0
2
-12
-25
21
33
-1
40
-5
-68
-2
0
0
0
0
0
0
0
-10
5
-12
-40
9
-12
-14
60
-13
14
0
0
0
0
0
0
0
18
43
-15
16
-69
21
6
-32
-19
2
0
0
0
0
0
0
0
56
-23
4
-1
19
4
-24
0
3
0
0
0
0
0
0
0
0
-2
-20
74
-17
0
-1
0
0
2
0
0
0
0
0
0
0
0
5
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-42
19
0
8
2
-10
26
0
0
0
0
0
0
0
0
0
5
63
16
-32
43
-1
-16
18
25
1
0
0
0
0
0
0
0
17
-33
-28
21
-27
-19
-9
6
0
9
0
0
0
0
0
0
0
35
-7
-33
1
-37
2
-1
-13
-3
0
0
0
0
0
0
0
0
22
2
39
-19
-21
4
2
-19
-1
0
0
0
0
0
0
0
0
-9
-54
-25
55
52
0
-27
6
3
0
0
0
0
0
0
0
0
-2
-43
58
28
36
3
-9
4
0
0
0
0
0
0
0
0
0
17
-25
-28
-1
-3
0
0
-2
0
0
0
0
0
0
0
0
0
1
5
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
27
14
-9
59
-21
-10
31
0
0
0
0
0
0
0
0
0
0
18
15
-3
38
3
25
-2
11
0
0
0
0
0
0
0
0
0
37
-69
-13
-2
13
6
8
3
0
0
0
0
0
0
0
0
0
-20
-71
1
-3
-4
2
0
-3
0
0
0
0
0
0
0
0
0
60
3
-60
15
-29
0
-1
-8
-1
0
0
0
0
0
0
0
0
63
-4
-12
7
-21
6
3
0
0
0
0
0
0
0
0
0
0
-28
36
-1
4
1
6
0
-10
0
0
0
0
0
0
0
0
0
51
0
-1
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
-3
2
40
-26
-11
0
0
0
0
0
0
0
0
0
-26
25
21
51
-26
26
-10
19
-34
0
0
0
0
0
0
0
0
-6
-5
44
-56
20
-58
-35
0
-4
2
0
0
0
0
0
0
0
-27
2
11
-41
-4
-9
-1
0
0
0
0
0
0
0
0
0
0
-29
-15
-4
-59
-3
21
-33
0
-4
0
0
0
0
0
0
0
0
15
0
-16
6
1
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
-27
-2
8
0
0
-3
-2
0
0
0
0
0
0
0
0
0
16
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
2
-34
18
17
7
8
0
0
0
0
0
0
0
0
0
14
-6
-33
25
46
76
-43
47
-7
2
0
0
0
0
0
0
0
24
26
10
-67
-45
64
-2
14
2
0
0
0
0
0
0
0
0
-22
-35
14
-59
27
-4
17
-1
0
0
0
0
0
0
0
0
0
-17
22
5
-50
74
15
42
-3
0
0
0
0
0
0
0
0
0
-45
-19
-11
-9
-27
-7
-4
-3
1
-1
0
0
0
0
0
0
0
-7
42
19
21
24
-19
0
0
1
0
0
0
0
0
0
0
0
6
-21
-7
14
0
0
0
0
-2
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-11
56
-70
2
45
56
0
0
0
0
0
0
0
0
0
0
31
27
-13
-18
7
23
12
17
0
0
0
0
0
0
0
0
0
50
-21
-15
63
-58
85
59
-7
0
0
0
0
0
0
0
0
0
-57
-14
-57
43
28
-63
-4
0
0
0
0
0
0
0
0
0
0
37
-7
-2
-6
-30
5
-6
0
0
0
0
0
0
0
0
0
0
-40
9
-6
56
33
6
9
8
0
0
0
0
0
0
0
0
0
-28
13
72
-11
4
-2
-8
4
-6
0
0
0
0
0
0
0
0
-52
-13
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
1
0
0
-6
0
0
0
0
0
0
0
0
0
9
3
25
13
9
3
-1
-3
0
0
0
0
0
0
0
0
0
4
1
-64
-4
-41
6
0
0
0
0
0
0
0
0
0
0
0
2
-7
-17
-36
-2
-10
-7
0
0
0
0
0
0
0
0
0
0
7
6
3
-5
4
0
-2
0
0
0
0
0
0
0
0
0
0
5
-4
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-5
0
0
0
0
0
0
0
0
0
0
0
0
-2
54
31
20
34
-25
47
1
0
0
0
0
0
0
0
0
0
3
40
4
6
22
2
-40
-12
0
0
0
0
0
0
0
0
0
-10
6
-91
39
4
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-24
-1
-3
-3
0
0
0
0
0
0
0
0
0
-2
51
-9
38
-10
1
-4
-1
0
0
0
0
0
0
0
0
0
16
22
30
-27
-8
0
0
0
0
0
0
0
0
0
0
0
0
-32
25
-20
4
10
2
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
64
31
-30
-28
12
23
-21
3
0
0
0
0
0
0
0
0
0
-41
28
-10
41
-23
57
44
100
-4
0
0
0
0
0
0
0
0
-5
-5
5
-9
-30
31
-8
3
-4
0
0
0
0
0
0
0
0
17
-35
42
-42
-3
14
53
29
23
0
0
0
0
0
0
0
0
-2
0
-2
48
29
-47
34
-12
17
0
0
0
0
0
0
0
0
69
6
8
-81
-57
-23
-3
22
-9
0
0
0
0
0
0
0
0
37
54
26
37
-6
55
-33
-5
6
0
0
0
0
0
0
0
0
58
-2
-15
-1
4
-54
1
-6
0
0
0
0
0
0
0
0
0
-61
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
38
-8
-3
-15
-26
-10
34
0
0
0
0
0
0
0
0
0
6
-22
20
-17
19
48
-39
-23
-27
-1
2
0
0
0
0
0
0
13
13
-36
-32
35
31
39
24
11
7
0
0
0
0
0
0
0
31
67
-20
12
-30
-19
29
16
-13
0
0
0
0
0
0
0
0
0
14
0
-37
7
-35
-27
24
9
0
0
0
0
0
0
0
0
10
69
-6
-12
-27
58
-5
22
20
-2
0
0
0
0
0
0
0
6
38
22
22
-35
31
1
-43
-2
-8
0
0
0
0
0
0
0
46
-16
11
-32
48
7
-2
-3
-4
0
0
0
0
0
0
0
0
21
-13
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
22
11
69
62
46
-19
33
17
0
0
0
0
0
0
0
0
0
14
-2
40
8
31
-20
9
32
-1
0
0
0
0
0
0
0
0
-42
22
-12
34
34
27
11
-41
-7
8
0
0
0
0
0
0
0
17
-38
1
-11
15
6
-5
2
42
9
0
0
0
0
0
0
0
-36
16
0
0
1
-19
28
6
-13
0
0
0
0
0
0
0
0
-29
-6
54
1
68
-55
43
-4
3
0
0
0
0
0
0
0
0
3
-1
19
0
29
-4
23
0
1
0
0
0
0
0
0
0
0
5
5
-21
-7
-3
-2
0
0
2
0
0
0
0
0
0
0
0
22
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-14
25
-36
33
-15
-23
0
3
0
0
0
0
0
0
0
6
4
50
5
-73
12
-24
-18
8
-4
0
0
0
0
0
0
0
27
-56
-34
2
26
21
-17
36
19
-7
0
0
0
0
0
0
0
16
15
4
35
-3
-56
-7
7
8
-1
0
0
0
0
0
0
0
-1
24
-10
-2
0
5
4
-21
7
1
0
0
0
0
0
0
0
-13
70
8
55
3
0
-39
7
24
2
0
0
0
0
0
0
0
0
27
7
66
1
-2
-1
-7
0
0
0
0
0
0
0
0
0
-2
30
-42
-12
0
3
0
0
0
0
0
0
0
0
0
0
0
6
24
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
25
19
48
-24
6
-43
-5
0
0
0
0
0
0
0
0
0
-4
72
31
7
23
-38
53
-18
-20
1
0
0
0
0
0
0
0
20
58
-15
-13
-9
6
-24
-1
2
-4
0
0
0
0
0
0
0
42
-31
-26
-1
-3
-2
9
-9
-3
-3
0
0
0
0
0
0
0
4
-42
-9
10
0
0
0
10
3
0
0
0
0
0
0
0
0
5
97
-41
-20
37
0
0
0
3
0
0
0
0
0
0
0
0
-24
78
25
34
3
2
-2
0
-1
0
0
0
0
0
0
0
0
-4
-31
-10
28
-2
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
33
-25
-29
-11
-8
0
-3
0
0
0
0
0
0
0
0
-26
37
34
27
-37
-43
12
3
0
0
0
0
0
0
0
0
0
29
-28
51
-9
6
77
7
-2
-2
0
0
0
0
0
0
0
0
-41
46
-33
-19
-26
0
2
0
4
0
0
0
0
0
0
0
0
-13
17
3
19
0
0
0
7
0
0
0
0
0
0
0
0
0
-45
11
55
-18
7
0
0
0
0
0
0
0
0
0
0
0
0
-24
-7
18
4
6
0
0
0
2
0
0
0
0
0
0
0
-11
-4
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
8
0
50
0
-52
16
17
4
0
0
0
0
0
0
0
0
0
37
-33
-25
-12
-40
-10
22
17
-23
0
0
0
0
0
0
0
0
50
19
21
54
27
-42
-27
-12
11
-4
0
0
0
0
0
0
0
-25
-46
24
-29
-4
-34
-4
1
-3
0
0
0
0
0
0
0
0
0
39
-4
-12
-26
3
0
0
0
0
0
0
0
0
0
0
0
32
1
11
60
-46
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-9
-17
0
0
0
0
0
0
0
0
0
0
0
0
-33
-12
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
15
-42
1
35
34
37
3
31
0
-1
0
0
0
0
0
0
0
-77
-50
6
15
9
-14
13
68
-33
-12
0
0
0
0
0
0
0
30
11
-64
27
-20
71
64
-96
-36
4
0
0
0
0
0
0
0
-14
-9
-38
-54
-58
-21
-55
-21
1
6
0
0
0
0
0
0
0
59
6
-43
14
26
-62
0
0
0
0
0
0
0
0
0
0
0
-54
13
31
13
11
23
-11
0
0
0
0
0
0
0
0
0
0
-17
-65
-33
-47
30
-21
8
0
-10
0
0
0
0
0
0
0
0
10
7
-25
9
0
0
0
0
21
0
0
0
0
0
0
0
0
27
8
-11
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
26
-11
-38
62
30
15
63
0
0
0
0
0
0
0
0
0
0
-30
-2
-6
-15
26
73
4
19
-6
0
0
0
0
0
0
0
0
29
12
57
-24
-30
11
69
11
1
0
0
0
0
0
0
0
0
-13
7
-12
6
13
35
133
-11
0
0
0
0
0
0
0
0
0
11
33
-33
-9
-106
-1
6
0
0
0
0
0
0
0
0
0
0
38
13
6
-19
19
21
31
1
0
0
0
0
0
0
0
0
0
32
-20
-2
-38
-22
7
1
-3
-2
0
0
0
0
0
0
0
0
23
46
-39
-7
24
0
4
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-20
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
1
27
7
4
11
2
2
0
0
0
0
0
0
0
0
0
-19
4
15
2
0
-29
0
0
0
0
0
0
0
0
0
0
0
4
0
13
-3
-9
0
-2
0
0
0
0
0
0
0
0
0
0
2
3
9
6
3
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
-9
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
7
2
0
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
0
-22
-1
0
0
19
0
0
0
0
0
0
0
0
0
0
-10
14
-9
-20
-3
-7
2
12
0
0
0
0
0
0
0
0
0
-26
-20
29
-12
-2
0
2
0
0
0
0
0
0
0
0
0
0
-2
-6
29
11
-2
28
-1
0
0
0
0
0
0
0
0
0
0
0
-21
46
0
11
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-14
-12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
8
9
0
-1
0
0
0
0
0
0
0
0
0
0
4
-18
-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
-15
74
11
7
10
22
42
11
0
0
0
0
0
0
0
0
0
-106
-86
33
41
42
-40
24
-6
-2
-4
0
0
0
0
0
0
0
23
35
-25
18
-35
-19
-31
-16
3
0
0
0
0
0
0
0
0
10
-30
-2
-50
-27
-34
17
36
-10
0
0
0
0
0
0
0
0
-15
0
8
14
-3
7
38
-47
-35
0
0
0
0
0
0
0
0
0
0
-1
34
7
101
35
-4
23
0
0
0
0
0
0
0
0
9
0
41
-49
-18
-29
46
-3
-9
0
0
0
0
0
0
0
0
4
22
0
-4
-74
12
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
-6
8
24
-4
11
10
-9
18
0
0
0
0
0
0
0
0
0
-6
24
-30
4
19
-18
62
-15
17
19
0
0
0
0
0
0
0
23
-6
-26
7
-11
23
10
-30
-4
0
0
0
0
0
0
0
0
-1
4
60
-10
-21
22
8
-3
-16
-1
0
0
0
0
0
0
0
-1
59
0
1
1
-105
-6
26
47
0
0
0
0
0
0
0
0
-14
19
0
6
46
51
18
19
-19
-2
0
0
0
0
0
0
0
-11
-20
-4
7
-59
8
23
-8
-1
0
0
0
0
0
0
0
0
9
-17
6
9
15
-16
0
3
0
0
0
0
0
0
0
0
0
20
-16
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
20
-28
73
15
18
12
0
0
0
0
0
0
0
0
0
28
59
33
-20
-15
26
7
13
-1
0
-4
0
0
0
0
0
0
12
56
39
-17
18
-11
-15
-1
-4
0
0
0
0
0
0
0
0
8
66
23
-29
55
25
-8
23
2
-3
0
0
0
0
0
0
0
21
48
-56
-1
0
38
-28
-17
-3
0
0
0
0
0
0
0
0
-2
20
0
0
-6
-3
61
6
-15
0
0
0
0
0
0
0
0
-12
-92
76
0
5
6
4
0
1
0
0
0
0
0
0
0
0
-17
-25
38
2
7
0
0
0
1
0
0
0
0
0
0
0
0
-11
-10
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-24
48
37
-42
-22
31
1
0
0
0
0
0
0
0
0
0
0
9
-14
-72
-29
39
10
25
-1
0
0
0
0
0
0
0
0
49
39
19
32
59
26
-12
-8
27
-3
0
0
0
0
0
0
0
1
45
68
24
7
-8
1
34
0
-1
0
0
0
0
0
0
0
-1
49
-31
-25
-10
13
-40
-2
-4
0
0
0
0
0
0
0
0
-16
-13
50
-1
0
27
0
4
-10
0
0
0
0
0
0
0
0
-5
14
-51
7
1
-4
7
-8
-3
0
0
0
0
0
0
0
0
30
62
23
18
0
-2
0
-4
0
0
0
0
0
0
0
0
0
-34
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
15
-61
16
8
-26
-51
-14
0
0
0
0
0
0
0
0
0
3
44
-13
-48
-6
-24
21
-2
0
0
6
0
0
0
0
0
0
18
-60
-31
18
47
-4
-48
-19
-1
0
0
0
0
0
0
0
0
3
-15
-30
28
24
3
9
-23
38
-10
0
0
0
0
0
0
0
0
-73
50
18
5
7
0
4
2
-2
0
0
0
0
0
0
0
0
-56
52
-7
1
0
0
1
0
0
0
0
0
0
0
0
0
29
-56
74
44
-15
-3
-1
7
0
0
0
0
0
0
0
0
0
2
9
8
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-50
16
-12
-10
6
-15
0
0
0
0
0
0
0
0
0
0
-37
-8
-42
-11
-17
-21
78
9
0
0
0
0
0
0
0
0
0
0
19
-20
-28
0
-17
-17
-11
0
0
0
0
0
0
0
0
0
-3
-6
35
-19
20
22
6
-1
0
0
0
0
0
0
0
0
0
-26
-20
23
-66
15
0
4
-10
0
0
0
0
0
0
0
0
0
-10
21
-42
4
0
0
0
0
6
0
0
0
0
0
0
0
9
25
-6
25
-19
1
1
0
5
0
0
0
0
0
0
0
0
1
-21
-11
19
0
6
0
-3
0
0
0
0
0
0
0
0
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
9
0
-24
2
-1
-36
-1
0
0
0
0
0
0
0
0
0
-4
-7
-24
-8
25
-14
50
-41
14
0
0
0
0
0
0
0
0
23
29
-25
-86
-39
74
-1
-5
23
1
0
0
0
0
0
0
0
-22
-3
-6
-28
47
21
42
-5
-2
0
0
0
0
0
0
0
0
-10
-36
-18
20
13
-2
-13
0
0
0
0
0
0
0
0
0
0
-7
-15
-15
-13
16
6
0
0
0
0
0
0
0
0
0
0
0
28
21
-18
4
4
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
24
1
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
-32
19
32
10
46
44
-31
0
-1
0
0
0
0
0
0
0
32
-4
51
-37
-7
45
29
-40
-14
-2
0
0
0
0
0
0
0
-2
6
-34
24
-20
61
71
-40
-30
-7
0
0
0
0
0
0
0
35
-14
17
-40
-18
38
61
-33
50
0
0
0
0
0
0
0
0
-7
25
52
-9
-21
32
2
0
0
0
0
0
0
0
0
0
0
1
43
-41
-29
-7
-85
-13
0
0
0
0
0
0
0
0
0
0
27
-25
-33
-24
12
-40
3
-1
0
0
0
0
0
0
0
0
0
-6
-27
-51
-11
6
4
0
0
10
0
0
0
0
0
0
0
0
-43
-23
3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
17
62
34
0
-16
-15
-22
0
0
0
0
0
0
0
0
0
0
10
-6
-19
-27
57
37
30
43
3
-2
0
0
0
0
0
0
0
-19
-3
10
-25
72
58
2
35
0
0
0
0
0
0
0
0
0
83
-12
-37
-11
-9
39
1
-15
0
0
0
0
0
0
0
0
0
41
16
-41
-22
26
-43
28
0
0
0
0
0
0
0
0
0
0
-59
-46
3
-29
-31
-68
-8
0
0
0
0
0
0
0
0
0
0
18
-8
12
-31
-27
6
1
0
0
0
0
0
0
0
0
0
0
-2
33
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
6
8
0
0
0
0
0
0
0
0
0
0
0
0
-15
19
-18
0
-6
-1
0
2
0
0
0
0
0
0
0
0
0
-3
-8
10
3
-6
-2
0
-4
0
0
0
0
0
0
0
0
0
2
-2
25
-4
-6
2
0
0
0
0
0
0
0
0
0
0
0
7
0
-12
61
12
1
-3
0
0
0
0
0
0
0
0
0
0
-1
-3
2
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
-8
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
6
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-26
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-5
-4
0
-9
2
0
0
0
0
0
0
0
0
0
0
0
1
21
-23
-60
-3
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
4
-54
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
20
20
-44
-36
-19
-5
6
-10
0
0
0
0
0
0
0
0
0
-1
-52
-31
-1
34
-31
33
-26
-3
0
0
0
0
0
0
0
0
-28
-41
-44
-19
19
-23
-38
-23
-7
-1
0
0
0
0
0
0
0
-10
-29
-19
-15
-3
5
-2
-13
-3
0
0
0
0
0
0
0
0
24
2
11
-9
-36
27
24
-1
7
0
0
0
0
0
0
0
0
12
0
66
37
15
-25
54
41
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-5
5
-15
0
0
0
0
0
0
0
0
0
0
21
0
0
105
0
-46
-3
1
0
0
0
0
0
0
0
0
0
35
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
-11
-14
75
2
-7
0
0
0
0
0
0
0
0
0
0
-21
7
40
7
19
-7
20
7
0
0
0
0
0
0
0
0
-1
-54
-76
19
2
-24
3
25
-1
0
0
0
0
0
0
0
0
-3
-48
-26
-12
13
19
57
-30
-11
-10
0
0
0
0
0
0
0
-2
55
-13
-25
-31
-39
-47
-17
5
0
0
0
0
0
0
0
0
0
8
-1
34
-35
-3
-31
-29
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
-20
4
19
0
-3
0
0
0
0
0
0
0
45
7
0
4
-13
5
16
-3
3
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
14
-2
-8
-24
-30
14
0
0
0
0
0
0
0
0
0
13
30
0
-53
10
-34
-14
29
-1
0
0
0
0
0
0
0
0
18
32
-10
49
-91
21
13
-29
6
0
0
0
0
0
0
0
0
0
36
98
32
1
-28
29
1
3
0
0
0
0
0
0
0
0
-3
3
82
6
-49
24
-25
-3
-2
1
0
0
0
0
0
0
0
8
11
-35
0
69
29
-15
-6
38
0
0
0
0
0
0
0
0
-15
3
3
0
0
9
-3
0
0
0
0
0
0
0
0
0
0
10
5
-15
0
0
1
-3
7
0
0
0
0
0
0
0
0
0
-26
-1
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-48
8
-32
6
-1
-3
0
0
0
0
0
0
0
0
0
0
37
6
-2
-43
-18
0
-17
-8
0
0
0
0
0
0
0
0
3
-14
-43
58
-32
-57
30
-20
-6
-12
0
0
0
0
0
0
0
11
-27
-7
9
-52
38
-4
-14
0
0
0
0
0
0
0
0
0
0
71
69
13
-26
12
-41
2
0
0
0
0
0
0
0
0
0
0
-18
1
-19
0
52
14
3
1
2
0
0
0
0
0
0
0
2
-15
-3
0
0
6
2
4
-4
0
0
0
0
0
0
0
0
-6
-13
5
-7
0
-1
9
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
6
15
12
0
0
2
-19
7
0
0
0
0
0
0
0
0
0
-9
-42
-15
-11
8
-24
14
18
-6
0
0
0
0
0
0
0
0
0
-1
39
-30
30
-14
8
-36
-24
0
0
0
0
0
0
0
0
0
-14
-10
10
-27
17
39
-12
-7
0
0
0
0
0
0
0
0
2
1
43
-21
15
-7
-8
-3
15
0
0
0
0
0
0
0
0
0
-6
4
-26
-16
0
2
-4
8
0
0
0
0
0
0
0
0
4
35
19
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-40
7
-17
1
0
0
1
-2
0
0
0
0
0
0
0
0
40
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
2
-1
-13
9
-4
0
0
0
0
0
0
0
0
0
0
24
-18
-3
-41
-12
11
10
0
0
0
0
0
0
0
0
0
0
28
4
19
70
-22
-68
13
-4
0
0
0
0
0
0
0
0
0
47
-4
49
45
-8
-8
-25
1
0
0
0
0
0
0
0
0
0
18
-15
18
-52
54
18
-3
0
-21
0
0
0
0
0
0
0
-24
-26
-4
45
43
2
0
-4
2
0
0
0
0
0
0
0
0
0
27
30
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
3
-39
2
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
-3
0
0
0
0
0
0
0
0
0
0
13
5
3
18
-20
0
-10
0
0
0
0
0
0
0
0
0
15
21
-9
16
3
79
-19
12
-6
3
0
0
0
0
0
0
0
-6
9
6
-18
14
54
-8
0
0
0
0
0
0
0
0
0
0
-3
-2
5
4
31
6
0
0
1
0
0
0
0
0
0
0
0
0
10
15
7
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
14
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
9
7
-2
-7
0
0
9
0
0
0
0
0
0
0
0
0
0
-73
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-38
-13
54
18
-31
-20
8
0
0
0
0
0
0
0
0
0
-26
16
-9
18
54
116
31
-12
-69
0
0
0
0
0
0
0
0
10
5
20
-10
-29
55
4
46
6
1
0
0
0
0
0
0
0
-2
11
30
-12
61
-12
31
7
8
0
0
0
0
0
0
0
0
14
21
-42
26
16
109
18
11
0
0
0
0
0
0
0
0
0
-1
-19
-35
-14
-78
54
9
0
0
0
0
0
0
0
0
0
0
-6
14
-14
43
38
-27
1
0
0
0
0
0
0
0
0
0
0
-38
-13
29
78
4
-1
-2
0
0
0
0
0
0
0
0
0
0
8
12
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
74
13
27
16
41
-49
0
2
0
0
0
0
0
0
0
0
2
-12
-13
-1
-13
29
0
4
0
0
0
0
0
0
0
0
0
-20
0
-25
-4
48
-24
-114
-18
-7
0
0
0
0
0
0
0
0
-23
16
11
-36
20
1
-11
5
0
0
0
0
0
0
0
0
0
-17
-9
28
5
-49
3
2
14
0
0
0
0
0
0
0
0
0
12
66
46
31
5
19
-68
0
0
0
0
0
0
0
0
0
0
-65
-27
38
34
8
-14
2
0
0
0
0
0
0
0
0
0
0
-71
36
-38
12
6
1
2
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-30
4
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
10
0
1
0
0
0
0
0
0
0
0
0
0
0
2
10
-3
3
0
0
0
0
0
0
0
0
0
0
0
1
-7
-1
0
-1
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
21
0
-3
12
0
0
0
0
0
0
0
0
0
0
18
11
-6
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
14
-2
26
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
21
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
9
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
44
-12
17
-2
10
-15
0
0
0
0
0
0
0
0
0
0
0
-13
-2
-2
-1
20
-5
10
0
0
0
0
0
0
0
0
0
0
4
0
-12
-9
-2
30
0
0
0
0
0
0
0
0
0
0
0
-17
-6
-9
78
0
9
-2
2
0
0
0
0
0
0
0
0
0
-41
-6
1
41
-15
14
3
-15
0
0
0
0
0
0
0
0
0
30
0
38
-59
0
0
4
-1
0
0
0
0
0
0
0
0
0
-9
0
17
55
2
-16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
5
18
-17
11
33
0
0
0
0
0
0
0
0
0
0
-3
-20
31
16
-82
-41
-44
20
4
0
0
0
0
0
0
0
0
0
-34
-9
-35
26
23
15
11
0
0
0
0
0
0
0
0
0
4
29
-13
-2
-25
34
-14
1
0
0
0
0
0
0
0
0
0
0
-59
1
10
20
68
-2
-1
7
0
0
0
0
0
0
0
0
0
2
17
-2
-4
1
20
22
0
0
0
0
0
0
0
0
0
-2
9
3
14
-30
-16
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
36
-13
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
18
0
43
-16
0
8
4
0
0
0
0
0
0
0
0
0
0
0
-3
-35
-1
-13
-3
-2
1
0
0
0
0
0
0
0
0
0
0
7
-10
-61
0
7
-2
0
6
0
0
0
0
0
0
0
0
-2
-44
12
19
13
85
8
1
0
0
0
0
0
0
0
0
0
2
-80
51
8
-8
-11
31
32
0
0
0
0
0
0
0
0
0
-6
16
42
6
31
-12
14
3
-2
-4
0
0
0
0
0
0
0
2
10
4
0
-13
15
5
-5
-3
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
49
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-1
1
-1
-23
0
0
0
0
0
0
0
0
0
0
0
-18
0
-9
3
-1
-7
-34
0
0
0
0
0
0
0
0
0
0
-52
8
13
-54
-25
-17
1
0
0
0
0
0
0
0
0
0
2
-8
-7
25
12
9
26
1
0
0
0
0
0
0
0
0
0
0
-37
0
99
-2
3
-7
-1
0
0
0
0
0
0
0
0
0
0
13
18
-8
0
-4
1
-7
0
0
0
0
0
0
0
0
0
-3
-9
14
-10
0
-4
3
0
0
0
0
0
0
0
0
0
0
6
43
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
1
-5
6
0
0
0
0
0
0
0
0
0
0
-3
-4
0
-3
12
1
-2
0
0
0
0
0
0
0
0
0
0
0
7
-6
2
-1
41
0
0
0
0
0
0
0
0
0
0
-13
-2
12
-8
-10
-4
1
2
0
0
0
0
0
0
0
0
0
-2
2
-26
33
4
-4
-4
0
-2
0
0
0
0
0
0
0
0
0
2
10
-3
28
-6
18
0
0
0
0
0
0
0
0
0
0
2
0
-5
26
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
18
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
3
7
0
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
7
-19
0
12
-6
2
-1
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
-11
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
3
1
0
0
0
0
0
0
0
0
0
-32
-2
0
1
14
26
0
1
0
0
0
0
0
0
0
0
0
7
-8
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-36
61
-10
8
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-15
7
2
0
0
0
1
0
0
0
0
0
0
0
0
-14
1
0
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
39
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-8
-1
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
-56
-9
-16
-14
2
1
-3
-2
0
0
0
0
0
0
0
0
2
2
4
-4
19
-97
28
9
-16
2
0
0
0
0
0
0
0
-6
-43
-7
-27
-18
32
0
-9
-3
-17
0
0
0
0
0
0
0
-2
-36
-44
-21
58
19
-4
1
0
0
0
0
0
0
0
0
0
0
43
10
67
9
12
0
-3
0
0
0
0
0
0
0
0
0
0
30
-10
-14
18
-1
0
0
0
0
0
0
0
0
0
0
0
7
3
7
-25
2
-1
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
0
-12
-20
-2
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
-6
2
3
-22
0
12
0
0
0
0
0
0
0
0
0
0
0
-9
0
6
-7
-9
-1
3
0
0
0
0
0
0
0
0
0
0
-10
-48
0
-12
3
18
-1
0
0
0
0
0
0
0
0
0
0
-11
64
-14
-5
6
6
0
0
0
0
0
0
0
0
0
0
0
-8
-14
-12
7
1
0
2
0
0
0
0
0
0
0
0
0
0
0
6
-19
26
-1
0
2
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
-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
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
14
0
0
0
0
0
0
0
0
0
0
0
0
24
-1
-30
-10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
88
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-32
-21
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
14
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
6
2
0
0
0
0
0
0
0
0
0
0
0
0
18
0
30
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
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
2
2
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
-10
-24
-3
5
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-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
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
8
6
-19
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
13
-22
8
-92
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
43
-9
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
17
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-18
22
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
78
-16
-4
-55
-48
0
0
0
0
0
0
0
0
0
0
-18
-7
-51
-14
74
2
7
0
0
0
0
0
0
0
0
0
0
1
-12
24
-7
38
49
13
0
0
0
0
0
0
0
0
0
0
0
0
7
13
12
23
18
0
0
0
0
0
0
0
0
0
0
0
4
5
-8
-2
-65
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-10
0
0
0
-4
0
0
0
0
0
0
0
0
0
-7
-7
-40
37
0
0
0
-7
0
0
0
0
0
0
0
0
-4
0
2
10
-7
-60
-65
78
4
0
0
0
0
0
0
0
0
-4
-10
6
2
-2
58
-9
49
7
0
0
0
0
0
0
0
0
0
0
0
-7
-1
27
13
21
15
0
0
0
0
0
0
0
0
0
0
2
-13
-59
-47
41
-28
6
0
0
0
0
0
0
0
0
0
0
12
-9
-2
-6
43
-14
-16
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
1
-4
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
6
20
0
0
0
-4
10
0
0
0
0
0
0
0
0
-2
-7
-1
33
9
0
12
-14
-3
0
0
0
0
0
0
0
0
4
-6
4
1
-18
-25
-11
34
-1
0
0
0
0
0
0
0
0
-2
-4
-2
-22
9
65
62
-4
-4
0
0
0
0
0
0
0
0
0
0
7
-25
17
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-91
4
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
-2
6
6
0
-1
-32
0
0
0
-51
2
6
0
0
0
0
0
0
0
4
1
-18
-2
-28
-12
24
-11
-11
0
0
0
0
0
0
0
-3
-9
5
-12
-63
9
47
1
6
-12
-1
0
0
0
0
0
1
0
0
6
-11
-19
-8
-13
39
8
0
0
0
0
0
0
0
0
0
0
13
0
-22
-3
-30
9
4
2
0
0
0
0
0
0
0
0
0
-1
0
-20
-3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-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
-7
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-7
46
-11
0
35
0
0
0
1
0
-2
0
0
0
0
0
0
-7
-2
12
5
52
-9
12
-37
10
1
7
0
0
0
0
0
0
0
1
-4
10
59
15
-76
18
24
0
-4
0
0
0
0
0
-2
1
0
24
5
-12
44
-45
-2
-1
1
0
0
0
0
0
0
0
0
0
-3
-13
-7
-28
46
1
4
-1
0
0
0
0
0
0
0
0
0
0
3
9
13
-22
15
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-2
6
19
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-9
-21
42
78
-6
0
0
0
-4
-2
0
2
0
0
0
0
0
-9
8
-14
-48
17
-42
10
-49
0
1
0
0
0
0
0
0
0
-2
-12
-25
19
7
-33
-6
-62
9
0
0
0
0
0
0
0
0
-1
2
17
-25
-11
59
5
4
-8
2
0
0
0
0
0
0
0
0
0
8
-7
46
-32
23
7
-1
0
0
0
0
0
0
0
0
0
2
2
0
3
-10
15
-22
1
6
0
0
0
0
0
0
0
0
0
0
0
0
-5
-29
-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
-2
-9
-17
40
0
0
0
-2
1
0
0
0
0
0
0
7
30
12
-18
38
52
0
0
0
-73
0
0
0
0
0
0
0
0
-9
18
7
-38
22
-13
67
-34
-6
-2
1
0
0
0
0
0
0
-6
1
-45
12
-54
1
-29
-39
-48
0
0
0
0
0
0
0
0
0
18
34
21
67
-40
-7
37
0
-7
-4
0
0
0
0
0
0
0
-1
-6
-7
1
6
41
-7
-30
2
0
0
0
0
0
0
0
0
0
-2
4
12
-10
-3
63
11
0
0
0
0
0
0
0
0
0
0
0
15
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-14
-3
-10
0
0
0
-3
0
0
0
0
0
0
0
0
-23
-1
-67
28
5
0
0
0
38
2
0
0
0
0
0
0
0
0
24
-49
2
42
-43
67
-4
-23
0
0
0
0
0
0
0
0
-1
-4
-15
-37
-80
-5
-7
0
72
-4
0
0
0
0
0
0
0
0
-1
-35
-21
-5
8
3
14
-6
0
0
0
0
0
0
0
0
0
-4
8
-35
1
-17
8
41
10
0
0
0
0
0
0
0
0
0
0
8
17
-5
-25
9
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
3
54
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
6
10
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
-43
-2
0
0
0
3
12
0
0
0
0
0
0
0
0
0
0
-16
0
-16
43
2
0
-19
0
0
0
0
0
0
0
0
0
-1
3
70
-29
-72
42
44
0
0
0
0
0
0
0
0
0
0
0
2
12
-3
21
-26
2
7
0
0
0
0
0
0
0
0
0
0
0
-10
-6
39
45
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
20
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-16
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-29
53
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
15
4
51
51
0
0
0
0
0
0
0
0
0
0
0
0
16
30
-43
-34
42
0
0
0
0
0
0
0
0
0
0
0
2
0
2
6
46
17
-43
-8
0
0
0
0
0
0
0
0
0
0
3
-2
2
-16
-7
9
-28
0
0
0
0
0
0
0
0
0
0
-2
0
10
-11
5
14
34
0
0
0
0
0
0
0
0
0
0
0
11
-1
0
25
53
83
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-3
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
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
-11
-50
0
0
0
0
0
0
0
0
0
0
0
0
-25
-71
33
7
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
5
-43
17
-6
-42
4
0
0
0
0
0
0
0
0
-2
8
-40
28
-34
1
-77
6
-6
0
0
0
0
0
0
0
0
6
-1
0
16
2
19
-15
-52
-63
0
0
0
0
0
0
0
0
0
0
0
-6
49
-30
39
37
-20
0
0
0
0
0
0
0
0
0
0
0
13
-1
35
-41
-8
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
24
-25
0
0
0
14
0
0
0
0
0
0
0
0
8
0
-9
43
-23
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
22
-1
68
-63
-13
30
12
0
0
0
0
0
0
0
0
-12
24
-7
-3
-11
48
20
4
-19
0
0
0
0
0
0
0
0
-13
-16
40
38
52
8
-13
-17
1
0
0
0
0
0
0
0
0
9
-2
15
-26
48
7
-42
-7
-29
0
0
0
0
0
0
0
0
0
-12
-10
0
13
-16
-4
-14
-33
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-24
-74
0
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
6
0
0
5
42
0
0
0
10
1
0
0
0
0
0
0
-15
0
-4
-37
-28
-21
0
0
0
29
-1
0
0
0
0
0
0
0
0
11
-6
9
-5
7
-18
-64
-11
-38
0
0
0
0
0
0
0
0
24
10
-21
-41
-50
6
11
-80
2
0
0
0
0
0
0
2
0
0
9
9
-46
19
-11
10
-34
-15
0
0
0
0
0
0
0
0
0
0
-3
74
47
34
-36
0
1
0
0
0
0
0
0
0
0
0
0
-8
4
4
-24
62
9
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-10
0
-9
-6
0
0
0
-25
4
-4
0
0
0
0
0
-2
5
-35
-1
-2
-18
0
0
0
59
-15
-4
0
0
0
0
0
0
21
-10
7
-6
8
15
-1
-9
-9
13
0
0
0
0
0
0
0
0
11
-54
22
71
-26
-73
29
-13
-1
-1
0
0
0
0
0
0
-7
1
-15
8
-22
-10
-35
18
7
1
-2
0
0
0
0
0
0
0
0
33
29
54
36
-26
12
10
8
0
0
0
0
0
0
0
0
0
0
0
9
35
-34
-16
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-29
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
-10
-21
13
0
-41
0
0
0
-2
2
0
0
0
0
0
0
-1
50
-38
46
18
34
0
0
0
-2
7
2
-1
0
0
0
0
-11
-11
59
52
-13
0
-6
47
-23
0
6
-8
-1
0
0
0
0
1
-13
17
-22
66
6
-11
-14
-36
-28
6
0
0
0
0
0
0
-25
17
9
19
34
25
-15
6
-33
-20
3
0
-1
0
0
0
0
0
0
0
-19
9
43
-39
18
-24
-11
0
-2
0
0
0
0
0
0
0
-2
0
-7
-19
38
-39
-35
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-46
5
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
-9
18
8
23
3
0
0
0
-15
-2
0
0
0
0
0
0
9
-12
-21
-16
-19
-5
0
0
0
-3
3
0
0
0
0
0
0
40
-70
1
-44
21
-15
52
-5
65
32
0
0
0
0
0
0
0
-7
0
4
41
43
-35
45
19
18
-10
-2
8
0
0
0
0
0
-1
-13
33
-34
22
19
-25
-1
16
2
-4
0
0
0
0
0
0
0
2
55
20
-30
17
4
9
21
-1
7
0
0
0
0
0
0
0
0
0
-24
-24
-54
-3
3
-16
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
9
-60
-60
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
34
32
46
42
23
60
0
0
0
2
-2
0
0
0
0
0
7
1
51
-20
23
-35
53
0
0
0
-19
8
0
0
0
0
0
0
-13
19
-2
29
-28
17
-13
55
36
4
-7
-1
0
0
0
0
0
-9
-21
-43
-55
-54
19
9
-4
-56
-51
-7
-1
0
0
0
0
0
9
16
-6
-2
61
19
15
-25
-119
-5
-3
0
0
0
0
0
0
-2
14
11
-38
3
25
0
-27
-1
11
-4
2
0
0
0
0
0
0
0
1
22
-7
-19
62
15
0
-2
0
0
0
0
0
0
0
0
0
6
0
0
0
0
2
-28
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
3
0
0
0
0
0
0
0
0
0
24
-27
-36
85
0
0
0
60
0
0
0
0
0
0
0
0
28
-20
-28
-54
6
0
0
0
-24
38
0
0
0
0
0
0
9
29
-56
-14
23
26
34
34
51
3
2
0
0
0
0
0
0
-33
3
-41
-17
14
10
-9
-15
-60
-28
0
1
0
0
0
0
0
0
-34
21
-62
-70
-28
-14
-28
-57
-12
0
0
0
0
0
0
0
-19
7
-73
24
44
21
-43
-29
-9
-5
0
0
0
0
0
0
0
0
1
6
72
63
17
16
-13
-12
17
0
0
0
0
0
0
0
0
0
-2
17
0
0
-1
21
-22
-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
-21
6
-38
34
21
0
0
0
36
-10
0
0
0
0
0
0
-8
-24
-30
-52
-25
10
0
0
0
-29
-3
0
0
0
0
0
0
-7
52
-15
-40
-1
-52
-11
18
-33
20
-4
0
0
0
0
0
0
-7
62
-35
-19
-32
-7
5
29
11
-30
-2
0
0
0
0
0
0
0
9
17
-39
31
-19
-9
-5
22
13
1
0
-8
0
0
0
0
10
17
-19
-3
-24
27
-14
-11
31
14
0
0
0
0
0
0
0
-4
-3
1
-79
39
-26
2
-46
0
-9
1
0
0
0
0
0
0
0
0
0
0
-22
-4
48
-40
-19
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
23
-6
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-25
62
-17
0
0
0
1
-45
0
0
0
0
0
0
0
0
-1
22
-9
8
-2
18
25
0
-15
1
0
0
0
0
0
0
0
-2
10
-2
-32
11
32
-19
-32
-6
0
0
0
0
0
0
0
0
-7
3
9
39
0
38
31
-31
18
-2
0
0
0
0
0
0
0
0
0
-1
7
-3
0
58
36
1
0
0
0
0
0
0
0
0
0
6
-11
15
-14
30
3
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
-8
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
3
1
4
-28
4
2
0
0
0
0
0
0
0
0
0
0
0
9
-1
47
-40
22
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-7
-12
11
3
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
0
0
0
0
0
0
1
-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
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
0
-4
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
3
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
4
24
-1
6
50
-19
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-3
2
-23
87
-59
0
0
0
0
0
0
0
0
0
0
-3
4
11
9
14
11
47
0
0
0
0
0
0
0
0
0
-1
0
0
-1
71
-24
1
22
0
0
0
0
0
0
0
0
0
0
0
0
12
45
3
5
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-33
-2
-16
-10
23
0
0
0
0
0
0
0
0
0
0
0
0
26
-20
-30
-6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-13
20
1
14
42
34
0
0
0
0
0
0
0
0
1
8
22
98
66
-67
-34
19
-55
0
0
0
0
0
0
0
0
3
-5
0
-39
-29
-11
4
21
-4
0
0
0
0
0
0
0
0
0
0
0
0
-26
-19
-28
-38
80
0
0
0
0
0
0
0
0
0
0
0
-6
-3
-14
20
2
-49
0
0
0
0
0
0
0
0
0
0
0
4
2
0
-1
-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
6
-7
-10
-13
0
0
0
9
0
0
0
0
0
0
0
0
1
10
-7
48
-9
0
0
0
-15
0
0
0
0
0
0
0
0
0
-6
8
-6
-19
8
16
22
20
0
0
0
0
0
0
0
0
0
13
28
47
7
6
59
-34
-31
0
0
0
0
0
0
0
0
15
7
0
-27
-21
-3
-66
43
15
0
0
0
0
0
0
0
0
4
0
-6
0
-7
-6
-36
-13
-49
0
0
0
0
0
0
0
0
0
0
0
2
-2
-11
60
23
-2
0
0
0
0
0
0
0
0
0
0
1
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
1
15
16
1
-74
0
0
0
-1
0
0
0
0
0
0
0
0
0
-13
0
10
-43
0
0
0
30
-1
0
0
0
0
0
0
0
0
-1
6
-19
-17
24
19
-57
22
-20
0
0
0
0
0
0
-2
1
0
12
127
-36
-10
7
0
1
-2
0
0
0
0
0
0
0
0
0
-2
-7
6
34
70
-49
7
-9
0
0
0
0
0
0
0
0
3
0
-2
-19
-11
32
17
2
0
0
0
0
0
0
0
0
0
0
7
-3
-7
-11
1
1
-6
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
-3
0
-5
17
8
3
0
0
0
-1
4
0
0
0
0
0
0
19
-5
-20
3
-37
-21
0
0
0
44
0
0
0
0
0
0
0
5
1
-3
3
-4
-19
-20
-42
-13
-11
11
0
0
0
0
0
0
0
7
0
10
-52
-27
75
-17
-26
3
0
-3
0
0
0
0
0
2
0
-16
26
-10
-10
55
-54
-1
0
0
0
0
0
0
0
0
0
0
0
-16
-1
16
3
-28
31
0
0
0
0
0
0
0
0
0
0
4
-2
-3
-23
4
37
-71
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
8
0
-7
20
36
41
0
0
0
-3
0
0
0
0
0
0
0
-3
3
-56
3
6
-12
0
0
0
16
-1
0
0
0
0
0
0
9
20
-3
27
2
-70
14
22
-1
-1
2
0
0
0
0
0
0
0
2
-11
-57
0
10
15
17
32
8
-1
6
0
0
0
0
0
3
2
-4
79
-34
19
-10
-4
26
21
0
0
-1
0
0
0
0
0
0
12
23
14
-32
-7
-20
62
-2
0
0
0
0
0
0
0
0
3
-4
6
-11
36
-29
-1
-25
1
1
0
0
0
0
0
0
0
0
-3
0
0
8
4
-28
-28
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
-8
11
-21
-36
12
0
0
0
6
-4
0
0
0
0
0
0
-1
84
-19
-20
-39
-17
0
0
0
-34
0
0
0
0
0
0
0
0
11
31
-13
3
18
-34
-8
-4
-2
-8
0
0
0
0
0
0
2
1
17
17
11
-4
-6
-6
63
-26
6
0
0
0
0
0
0
0
28
-39
-58
44
5
3
-24
-6
0
2
0
0
0
0
0
0
1
2
27
38
-32
58
30
-9
43
2
-7
0
0
0
0
0
0
0
0
0
11
7
23
-25
11
30
-1
4
0
0
0
0
0
0
0
0
0
-3
0
3
36
-42
-16
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
-7
24
-53
8
8
-11
0
0
0
19
0
0
0
0
0
0
-2
8
48
8
27
6
0
0
0
0
16
0
0
0
0
0
0
0
10
-50
71
-1
-16
9
30
-30
-14
-6
0
0
0
0
0
0
0
14
18
48
29
-5
21
26
10
6
-41
0
0
1
0
0
0
0
0
-15
5
-64
41
11
-53
-2
-54
-9
-2
0
0
0
0
0
0
0
-7
-33
47
27
-13
-17
-66
-36
4
10
0
0
0
0
0
0
-3
-3
-9
-8
-8
-17
28
-5
-49
-26
0
0
0
0
0
0
0
0
0
-6
-3
-10
-5
29
46
-47
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
40
0
0
0
0
0
0
0
0
0
0
-10
-3
-36
-28
30
0
0
0
6
-1
0
0
0
0
0
0
-22
54
-27
-38
-30
33
0
0
0
21
-9
0
0
0
0
0
0
-17
16
13
-31
20
34
33
3
-20
12
0
0
0
0
0
0
0
42
38
-40
6
33
-15
56
-29
-34
0
-3
0
0
0
0
0
0
0
-22
-30
-20
10
3
7
-8
-6
-7
10
0
0
0
0
0
0
0
-2
2
18
30
3
-17
-44
-36
17
0
0
0
0
0
0
0
0
1
2
26
0
21
0
37
-40
1
-3
0
0
0
0
0
0
0
0
0
-9
-15
0
-17
27
-45
1
0
0
0
0
0
0
0
0
0
0
-7
0
-2
-1
-2
-1
0
0
0
0
0
0
0
0
0
-5
-25
-24
4
13
0
0
0
-27
1
0
0
0
0
0
0
-6
27
15
18
26
28
0
0
0
-19
7
0
0
0
0
0
0
2
-8
2
2
14
1
40
-27
-23
-8
9
0
0
0
0
0
0
3
36
-11
36
-11
4
0
26
22
-13
0
0
0
0
0
0
0
-3
13
37
0
-7
24
-1
-27
-1
-42
3
2
-1
0
0
0
0
-3
-7
-26
29
-7
-20
-46
-33
45
76
0
0
0
0
0
0
0
0
0
7
-12
-13
23
43
-1
-55
-53
0
0
0
0
0
0
0
0
0
3
6
28
0
13
4
-7
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
-4
0
1
17
0
0
0
6
-17
0
0
0
0
0
0
0
0
0
-8
-66
-13
0
0
0
2
38
-4
0
0
0
0
0
0
0
-1
7
6
36
-20
-21
40
1
16
-1
0
0
0
0
0
0
0
4
6
-9
32
30
41
49
8
-17
-1
0
0
0
0
0
0
0
0
2
23
-2
-20
3
46
-8
-48
0
0
0
0
0
0
0
0
0
0
6
-6
-15
23
-6
37
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
44
17
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-13
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
11
-1
0
0
0
-6
-3
4
0
0
0
0
0
0
0
0
0
0
0
-2
15
-27
0
-6
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
7
2
0
-9
0
0
0
0
0
0
0
0
0
0
0
3
-2
-6
-20
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-9
-15
-10
0
0
0
0
0
0
0
0
0
0
0
-6
-8
0
-10
-24
-53
0
0
0
0
0
0
0
0
0
0
0
0
-13
-30
25
15
77
-19
13
0
0
0
0
0
0
0
0
0
0
6
35
-26
3
-28
-4
-58
0
0
0
0
0
0
0
0
0
0
3
7
-66
37
-45
24
30
0
0
0
0
0
0
0
0
0
0
0
0
2
-17
26
-4
-33
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-33
14
21
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
0
1
-11
0
0
0
0
0
0
0
0
0
0
10
39
-16
15
23
0
0
0
0
0
0
0
0
0
0
0
5
-33
-8
56
-40
25
0
0
0
0
0
0
0
0
0
0
0
0
-15
-72
-35
-29
-49
79
-28
34
0
0
0
0
0
0
0
0
0
0
-24
20
4
-11
-7
22
14
0
0
0
0
0
0
0
0
0
11
40
54
-49
-26
-5
12
10
0
0
0
0
0
0
0
0
0
3
0
-54
11
26
-8
41
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-48
33
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
38
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
-3
-2
4
4
6
0
0
0
32
0
0
0
0
0
0
0
18
-2
20
21
-39
-61
0
0
0
-89
0
0
0
0
0
0
0
0
16
5
24
4
-13
6
-22
49
6
0
0
0
0
0
0
0
0
0
0
-8
27
39
-29
9
-8
59
0
0
0
0
0
0
0
0
0
0
6
23
-35
4
46
-26
23
0
0
0
0
0
0
0
0
0
0
2
-10
45
-23
22
18
40
0
0
0
0
0
0
0
0
0
0
0
18
-3
7
0
-21
38
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-12
73
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
4
-1
7
-8
0
0
0
-2
2
0
0
0
0
0
0
-1
-27
62
37
15
44
0
0
0
9
-2
0
0
0
0
0
0
0
2
10
5
-3
-28
23
-32
28
-4
6
0
0
0
0
0
0
1
0
0
0
2
-14
21
42
-6
47
9
0
0
0
0
0
0
0
1
-4
-6
60
19
44
-19
-9
-2
6
0
0
0
0
0
0
0
0
4
-10
-6
1
-5
46
2
6
0
0
0
0
0
0
0
0
0
0
7
0
-1
-4
-37
0
-6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
-26
-20
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
7
25
45
-4
15
0
0
0
0
2
0
0
0
0
0
0
3
5
24
21
-64
-37
0
0
0
4
0
0
0
0
0
0
0
0
-3
5
7
37
-31
-68
-10
43
12
-1
0
0
0
0
0
0
0
1
0
1
0
52
25
28
-16
-9
1
0
0
0
0
0
0
2
11
-4
0
0
12
-9
1
-54
3
3
0
0
0
0
0
0
0
0
30
1
19
-35
32
19
54
0
0
0
0
0
0
0
0
0
9
3
-4
-14
-41
36
-15
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
1
-62
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-29
0
0
0
0
0
0
0
0
0
0
0
-34
61
15
-15
0
0
0
0
0
0
0
0
0
0
0
15
20
-24
-94
20
6
0
0
0
-26
0
0
0
0
0
0
0
2
-16
-25
7
82
68
59
2
8
0
2
0
0
0
0
0
0
-1
24
-47
-2
-8
55
3
19
-2
-7
0
0
0
0
0
0
0
16
6
9
27
-1
27
-30
-57
29
-7
0
0
0
0
0
0
0
0
-4
-2
26
20
-64
30
35
-57
0
0
0
0
0
0
0
0
0
0
-11
18
34
20
-29
-66
-78
1
0
0
0
0
0
0
0
0
0
0
-1
0
-6
-1
15
-9
6
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
-7
18
-27
33
39
0
0
0
-15
0
0
0
0
0
0
0
2
7
11
-5
28
-15
0
0
0
-23
-3
0
0
0
0
0
0
-6
39
-3
17
-6
11
2
14
-4
18
-1
0
0
0
0
0
0
3
-27
-16
19
-34
13
22
-52
1
6
2
0
0
0
0
0
0
0
-32
-3
-15
-37
-81
42
-3
2
54
3
0
0
0
0
0
0
0
-10
-20
20
-4
35
-2
-55
-28
-7
0
0
0
0
0
0
0
-2
3
-1
-19
11
20
17
13
14
-6
0
0
0
0
0
0
0
0
0
0
11
46
3
15
-44
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
2
-78
-30
40
38
-24
0
0
0
4
0
0
0
0
0
0
-13
-4
6
39
47
15
13
0
0
0
-23
1
0
0
0
0
0
0
20
31
59
-30
31
-11
-9
29
10
17
-7
0
0
0
0
0
0
-2
36
-3
-38
14
54
37
34
14
16
1
-1
0
0
0
0
0
1
-29
-29
35
27
44
8
22
22
57
0
0
0
0
0
0
0
0
-7
-11
-9
3
77
-32
8
-32
16
0
0
0
0
0
0
0
1
3
62
-15
-54
-39
93
15
-43
-14
11
0
0
0
0
0
0
0
0
0
-33
30
-11
-12
-75
44
22
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
33
2
0
0
0
0
0
0
0
0
27
19
-32
-19
-23
60
0
0
0
-17
1
0
0
0
0
0
0
-30
12
9
-27
52
-35
0
0
0
17
0
0
0
0
0
0
0
6
61
-24
21
12
22
72
-3
23
-1
-9
0
0
0
0
0
-3
10
-30
10
38
24
29
-23
19
8
-2
0
0
0
0
0
0
0
29
17
8
-15
40
24
-14
-9
-34
34
-5
0
0
0
0
0
-1
0
0
25
32
-21
-16
-31
-16
-34
-7
0
0
0
0
0
0
0
0
6
-34
72
25
-6
8
45
-42
13
0
0
0
0
0
0
0
-3
0
-7
-40
1
-5
-34
-4
41
-7
0
0
0
0
0
0
0
0
0
0
0
0
7
0
4
3
-4
0
0
0
0
0
0
0
0
33
-18
-5
-11
49
0
0
0
-67
0
0
0
0
0
0
0
-4
-21
-30
21
-24
-17
0
0
0
-4
3
0
0
0
0
0
0
3
-29
33
34
22
-48
61
-1
-45
-6
-41
0
0
0
0
0
0
12
-18
10
59
27
12
-34
-63
-40
0
-1
0
0
0
0
0
0
0
-4
14
-22
49
37
-30
2
-16
22
-8
0
0
0
0
0
0
0
-35
-9
-44
-1
20
35
-56
11
23
0
0
0
0
0
0
0
0
5
14
4
-34
6
8
-49
13
-52
0
0
0
0
0
0
0
0
-1
0
-2
-15
-5
-18
-19
-57
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-7
-7
2
0
0
0
1
0
0
0
0
0
0
0
0
0
-7
9
-34
6
0
0
0
-53
-32
0
0
0
0
0
0
0
0
0
-6
15
-40
4
42
-30
7
-16
-1
0
0
0
0
0
0
0
0
-1
-1
-24
-12
-22
-5
7
0
0
0
0
0
0
0
0
0
0
0
3
23
47
21
-29
-8
24
0
0
0
0
0
0
0
0
0
0
-1
3
24
-27
-19
2
-12
0
0
0
0
0
0
0
0
0
-1
0
1
-2
-11
1
17
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-1
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
5
1
-1
11
0
0
0
0
0
0
0
0
0
0
0
7
0
-32
32
37
0
-15
13
0
0
0
0
0
0
0
0
0
0
-9
-14
15
13
6
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-22
61
23
46
-8
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
96
11
36
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-24
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
1
0
11
-4
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-11
44
0
0
0
0
0
0
0
0
0
1
-22
2
-8
2
-14
0
0
0
0
0
0
0
0
0
0
0
21
31
-2
-10
13
17
0
0
0
0
0
0
0
0
0
0
0
11
-45
-24
-20
-6
14
8
-56
12
0
0
0
0
0
0
0
0
0
1
-9
-88
12
-60
-6
69
33
0
0
0
0
0
0
0
0
0
0
7
-58
42
-16
-13
26
-33
0
0
0
0
0
0
0
0
0
0
-13
-31
-7
-33
11
15
43
0
0
0
0
0
0
0
0
0
11
2
-9
0
-18
38
-26
15
0
0
0
0
0
0
0
0
0
0
0
0
-17
32
-46
8
-21
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
3
-4
22
5
-2
0
0
0
8
0
0
0
0
0
0
0
-2
23
-11
-77
38
21
0
0
0
60
0
0
0
0
0
0
0
0
3
1
-13
19
5
18
-17
-35
2
0
0
0
0
0
0
0
0
0
0
-6
-15
60
-32
30
-2
-10
0
0
0
0
0
0
0
0
0
0
2
85
-34
24
23
33
0
0
0
0
0
0
0
0
0
0
0
0
-26
11
2
-28
-2
2
0
0
0
0
0
0
0
0
0
1
-2
0
-23
-31
46
42
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-34
34
29
27
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
9
-35
9
-1
0
0
0
24
1
0
0
0
0
0
0
0
29
9
-2
1
-13
0
0
0
-69
10
0
0
0
0
0
0
0
4
-18
-24
-23
-45
57
7
0
3
0
0
0
0
0
0
0
0
0
0
-1
58
-17
2
62
14
3
0
0
0
0
0
0
0
2
0
0
0
-8
-53
-46
-43
11
2
0
0
0
0
0
0
0
0
0
0
-11
3
-25
-2
-37
17
-19
1
0
0
0
0
0
0
0
0
0
0
-6
11
0
6
5
-4
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
1
0
0
0
0
0
0
0
0
16
-2
-2
-20
3
45
0
0
0
20
0
0
0
0
0
0
0
-11
39
27
19
-28
-51
0
0
0
-11
-3
0
0
0
0
0
0
0
-1
-7
-103
-5
-4
33
28
-14
0
0
0
0
0
0
0
0
3
-2
-4
0
17
-37
-65
-12
-5
25
0
0
0
0
0
0
0
-18
2
0
0
0
38
1
47
-35
0
0
0
0
0
0
0
0
0
0
0
-4
-23
11
-74
10
-5
0
0
0
0
0
0
0
0
0
0
-4
20
-15
-16
-63
64
13
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
-51
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
-2
10
24
-11
-12
0
0
0
0
1
0
0
0
0
0
0
-1
-3
83
1
34
-55
0
0
0
-4
0
0
0
0
0
0
0
14
26
35
-15
15
-61
-20
14
-3
0
7
0
0
0
0
0
0
-28
21
-19
37
-12
44
-40
16
-84
-2
0
0
0
0
0
0
0
6
26
-6
6
0
0
73
79
-33
-2
0
0
0
0
0
0
0
0
0
9
1
-3
24
-7
-16
-23
-2
0
0
0
0
0
0
0
0
0
0
-10
-20
-26
-27
31
32
2
0
0
0
0
0
0
0
0
0
-4
0
-7
-4
43
16
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-50
-2
0
0
0
0
0
0
0
0
-4
2
-25
54
3
-21
0
0
0
0
0
0
0
0
0
0
0
0
-35
-65
16
17
13
0
0
0
33
0
0
0
0
0
0
0
6
8
4
5
15
-104
19
73
-22
-3
1
0
0
0
0
0
0
0
-6
47
29
-15
33
40
-33
-1
-7
-1
0
0
0
0
0
0
0
10
5
35
0
0
6
-47
35
0
0
0
0
0
0
0
0
6
31
-19
38
-25
3
48
21
12
6
0
0
0
0
0
0
0
-2
-6
-17
-4
4
-87
52
-3
75
-12
0
0
0
0
0
0
0
0
0
0
0
1
-1
-39
-5
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
29
0
0
0
0
0
0
0
3
0
-17
-26
-21
7
35
0
0
0
-13
0
0
0
0
0
0
0
47
-43
26
-18
-1
-26
0
0
0
-18
0
0
0
0
0
0
0
-50
57
-4
40
25
-9
35
23
24
-3
1
0
0
0
0
0
1
3
71
21
71
34
20
26
12
58
33
0
0
0
0
0
0
0
-46
-7
-3
-36
44
-8
0
-35
123
-11
0
0
0
0
0
0
0
0
30
0
-22
-39
61
-32
-53
18
21
0
0
0
0
0
0
0
0
1
-1
32
-2
-33
-62
27
7
-16
0
0
0
0
0
0
0
0
0
-6
0
-39
-42
86
-18
2
9
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
15
0
0
0
0
0
0
0
0
0
-10
12
-17
-2
27
22
0
0
0
-7
0
0
0
0
0
0
0
-1
22
-24
40
15
-18
0
0
0
16
-7
0
0
0
0
0
0
11
-16
26
21
-7
-19
29
13
-40
15
-1
0
0
0
0
0
0
-5
71
49
2
41
0
20
0
-20
-36
0
4
0
0
0
0
0
7
-10
22
-29
8
32
-20
0
1
-2
3
0
0
0
0
0
0
15
-12
-39
8
-23
-22
38
13
-107
-12
0
-4
0
0
0
0
0
0
0
-52
91
-21
63
-15
4
4
0
0
0
0
0
0
0
0
0
0
8
52
16
-46
57
54
-29
15
0
0
0
0
0
0
0
0
0
0
0
-1
-1
14
-17
20
0
0
0
0
0
0
0
0
9
-12
-2
3
46
23
0
0
0
19
-1
0
0
0
0
0
0
-6
-10
33
-12
-8
19
0
0
0
2
3
0
0
0
0
0
0
4
52
24
-21
69
14
-9
-20
-14
-52
2
0
0
0
0
0
0
0
-21
-28
13
13
15
17
-13
-42
12
-6
0
0
0
0
0
0
0
17
56
17
-56
20
9
-1
0
-21
0
0
0
0
0
0
0
0
25
14
-8
-65
20
26
-33
0
-1
0
0
0
0
0
0
0
0
-3
-3
63
-36
-17
-4
-48
-24
-20
0
0
0
0
0
0
0
19
0
7
-3
60
0
-2
37
-35
70
3
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
-1
-2
0
0
0
6
-3
0
0
0
0
0
0
0
1
0
2
23
33
0
0
0
28
-19
0
0
0
0
0
0
0
0
0
3
45
-14
6
33
-22
7
-40
0
0
0
0
0
0
0
0
0
1
-5
28
-43
-40
15
-14
2
-2
0
0
0
0
0
0
0
0
7
-14
1
17
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
7
19
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-25
-1
-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
-3
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
8
0
0
0
0
12
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
-12
-9
7
0
0
0
0
0
0
0
0
0
0
-9
1
4
14
3
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
7
0
6
0
7
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-26
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
9
-9
-22
-1
-1
34
0
0
0
0
0
0
0
0
0
0
0
0
57
-4
-2
-45
34
0
0
0
0
0
0
0
0
0
0
0
-1
15
39
2
91
45
0
0
0
0
0
0
0
0
0
0
0
0
1
61
59
0
22
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-19
0
0
0
0
0
0
0
0
0
-1
15
-18
-10
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
23
-15
-5
-48
-48
0
0
0
0
0
0
0
0
0
0
0
0
-37
-21
5
86
45
7
-4
-25
0
0
0
0
0
0
0
0
-3
18
8
89
52
-35
-67
-56
-21
0
0
0
0
0
0
0
0
0
0
21
39
4
-12
7
-51
-22
0
0
0
0
0
0
0
0
0
0
-2
10
7
94
7
-9
9
0
0
0
0
0
0
0
0
0
0
8
-40
-4
24
-77
-9
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
36
6
-33
63
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
35
-7
0
0
0
0
0
0
0
0
-8
0
13
24
-19
2
0
0
0
16
0
0
0
0
0
0
0
0
-7
5
-30
6
-21
0
0
0
22
0
0
0
0
0
0
0
-19
-10
-13
35
-3
29
1
63
-60
-12
0
0
0
0
0
0
0
0
4
65
-26
-5
7
-83
-27
-34
-3
0
0
0
0
0
0
0
0
0
0
16
-20
-34
-9
-39
19
-2
0
0
0
0
0
0
0
0
0
0
3
15
15
46
12
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
34
5
18
22
17
0
0
0
0
0
0
0
0
0
0
0
0
3
20
39
51
7
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
1
0
3
-1
-2
0
0
0
2
0
0
0
0
0
0
0
-3
-4
95
27
-18
-34
0
0
0
-71
0
0
0
0
0
0
0
0
4
8
-16
4
-29
-4
-25
8
-4
0
0
0
0
0
0
0
0
-3
-3
2
2
45
-28
21
2
-1
1
0
0
0
0
0
0
-2
0
0
0
-25
2
-34
-50
-20
0
-3
0
0
0
0
0
0
0
0
0
0
8
-47
-3
4
7
-1
0
0
0
0
0
0
0
0
0
0
2
9
2
2
-44
0
14
0
0
0
0
0
0
0
0
0
0
0
-2
-2
30
-13
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
-29
-10
0
14
0
0
0
0
0
0
0
0
0
0
0
7
-17
-32
-37
39
24
0
0
0
10
-4
0
0
0
0
0
0
3
4
-5
14
10
67
22
53
-36
0
0
0
0
0
0
0
0
-11
1
-13
-40
-26
-39
4
-23
-29
3
0
0
0
0
0
0
0
4
13
-1
0
-50
-23
34
22
-26
0
0
0
0
0
0
0
0
-4
-6
-1
0
0
-24
98
28
-8
0
0
0
0
0
0
0
0
0
0
0
0
-13
57
12
-55
8
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
-18
-39
-67
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
4
-17
60
12
64
-17
0
0
0
0
0
0
0
0
0
0
6
7
-24
11
-33
23
73
0
0
0
-8
0
0
0
0
0
0
0
-2
-15
53
29
-57
-35
14
-17
12
0
0
0
0
0
0
0
0
9
17
10
-12
-31
26
2
-15
5
-1
0
0
0
0
0
0
0
-3
-10
13
22
3
55
-12
-17
-2
0
0
0
0
0
0
0
0
-1
1
-5
-1
0
0
33
21
55
0
0
0
0
0
0
0
0
0
0
-22
0
2
-10
-12
-7
10
2
0
0
0
0
0
0
0
0
0
0
0
-1
-36
-11
1
-42
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
-1
0
0
0
0
0
0
0
0
2
39
27
85
-44
69
0
0
0
-1
0
0
0
0
0
0
0
-18
-21
-25
1
20
-62
0
0
0
7
0
0
0
0
0
0
0
6
23
-26
12
-2
-1
-15
-9
-35
7
0
0
0
0
0
0
0
-8
-1
-24
-34
-12
52
-36
-4
-39
2
0
0
0
0
0
0
0
-7
-53
-27
39
83
0
-7
-59
25
7
0
0
0
0
0
0
0
0
11
-48
-43
0
0
-1
-38
-32
-2
0
0
0
0
0
0
0
0
0
2
36
1
2
-27
5
-17
7
0
0
0
0
0
0
0
0
0
-1
0
3
0
-18
-17
21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
8
-4
-7
14
-2
40
-31
0
0
0
-16
0
0
0
0
0
0
-1
6
17
-7
-28
18
2
0
0
0
15
0
0
0
0
0
0
0
-52
9
8
-52
34
6
-5
-12
4
-6
-1
0
0
0
0
0
0
16
72
20
3
-34
-12
1
-8
-30
-23
1
0
0
0
0
0
0
-23
4
22
18
25
8
29
-73
22
-8
0
0
0
0
0
0
3
6
-17
0
16
-27
3
0
0
-1
-2
0
0
0
0
0
0
0
0
-7
91
-3
-71
-11
6
11
-2
-4
0
0
0
0
0
0
0
0
0
0
4
10
-26
-37
45
12
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-3
0
0
0
0
0
0
0
0
1
11
-31
43
-31
-5
0
0
0
1
0
0
0
0
0
0
-1
59
2
11
90
76
-17
0
0
0
-40
0
0
0
0
0
0
0
-11
4
31
18
64
74
-6
-25
3
-34
-3
0
0
0
0
0
0
8
0
4
-18
-7
-4
-19
2
-48
3
0
0
0
0
0
0
0
-6
-64
-3
-26
-40
6
-40
-8
-27
11
0
0
0
0
0
0
0
0
12
-25
-17
-28
-53
9
0
0
-1
0
0
0
0
0
0
0
0
11
-20
-15
-3
80
-16
2
-9
-3
-2
0
0
0
0
0
0
0
0
22
1
-14
7
38
-3
37
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
4
64
16
0
0
0
0
0
0
0
0
0
0
12
-56
-51
-18
0
0
0
-45
0
0
0
0
0
0
0
0
48
31
11
-25
-53
0
0
0
-9
-11
0
0
0
0
0
0
0
0
-10
3
31
39
5
-14
-33
-72
-2
0
0
0
0
0
0
0
-22
-8
-7
32
-33
20
-29
-38
-25
-2
0
0
0
0
0
0
0
10
7
22
33
1
-10
-32
0
59
0
0
0
0
0
0
0
0
-24
-19
4
-53
61
-107
-8
0
0
0
0
0
0
0
0
0
0
0
14
30
56
35
14
-34
4
0
0
0
0
0
0
0
0
0
0
-1
-27
-28
68
5
-22
-80
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-3
0
-7
0
0
0
9
9
0
0
0
0
0
0
0
0
0
0
-9
-13
0
0
0
5
-7
0
0
0
0
0
0
0
0
0
-5
51
20
-1
-87
-42
34
18
0
0
0
0
0
0
0
0
0
-1
29
26
-10
10
-35
1
3
0
0
0
0
0
0
0
0
0
0
-4
27
8
-1
5
0
15
0
0
0
0
0
0
0
0
0
0
-10
1
25
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
31
0
54
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-17
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
2
0
0
0
0
0
0
0
0
0
0
0
0
8
18
-1
-3
-20
0
0
0
0
0
0
0
0
0
0
0
0
8
-10
-41
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
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
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
3
-4
-3
0
0
0
0
0
0
0
0
0
0
0
-2
3
-7
4
-1
-1
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-21
18
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-42
-36
44
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
14
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-16
0
0
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
10
-8
-13
0
2
0
0
0
0
0
0
0
0
0
0
0
-6
-2
10
-9
-14
-9
0
0
0
0
0
0
0
0
0
0
0
3
47
45
-74
0
25
-8
71
8
0
0
0
0
0
0
0
0
0
0
11
-7
-34
-122
4
-3
-13
0
0
0
0
0
0
0
0
0
-8
0
-38
-23
28
-35
-47
-54
0
0
0
0
0
0
0
0
0
0
0
-7
-63
-61
-60
11
-43
0
0
0
0
0
0
0
0
0
0
-8
37
-20
67
11
-34
-57
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
26
27
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-64
-7
0
0
0
0
0
0
0
0
0
1
0
-8
0
0
0
0
0
2
0
0
0
0
0
0
0
2
1
25
13
-1
0
0
0
0
-10
0
0
0
0
0
0
0
0
-4
-8
10
-15
0
6
-28
51
-6
0
0
0
0
0
0
0
0
0
35
-39
12
-74
-7
-3
8
0
0
0
0
0
0
0
0
0
6
-36
-10
-17
-4
11
-4
19
0
0
0
0
0
0
0
0
0
0
0
-3
-37
25
14
26
25
-1
0
0
0
0
0
0
0
0
0
0
0
9
13
-4
128
5
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
-48
9
44
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-34
-6
0
0
0
0
2
0
0
0
0
0
0
0
0
0
16
-2
-23
-1
-8
-4
1
0
0
0
0
0
0
0
0
0
0
8
-42
21
-3
-30
-11
-1
0
0
0
0
0
0
0
0
0
-2
-10
-13
-13
6
33
0
0
0
0
0
0
0
0
0
0
0
0
-7
36
-10
33
-45
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
8
8
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
39
2
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
16
0
0
0
0
0
0
0
0
0
0
2
-4
-2
-6
-8
0
0
0
0
4
0
0
0
0
0
0
0
0
-12
10
-23
-30
0
0
0
-13
6
0
0
0
0
0
0
0
-4
1
7
82
-21
36
-19
-39
0
-1
0
0
0
0
0
0
0
0
6
49
-31
-16
-51
18
-10
0
0
0
0
0
0
0
0
0
4
-13
-41
-7
-16
-32
-113
-3
0
0
0
0
0
0
0
0
0
2
-2
0
10
64
-115
31
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
9
11
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-6
-26
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
35
0
0
0
0
0
0
0
0
0
9
15
38
-3
-8
0
0
0
3
0
0
0
0
0
0
0
0
-8
-11
37
-11
37
0
0
0
-20
0
0
0
0
0
0
0
0
3
9
-85
-8
-39
56
-11
-71
0
0
0
0
0
0
0
0
0
6
68
33
-16
-51
-47
-56
-3
0
0
0
0
0
0
0
0
4
-1
-8
-25
14
-12
-59
-45
-21
0
0
0
0
0
0
0
0
0
0
10
7
0
57
-27
-93
63
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
38
17
-25
0
0
0
0
0
0
0
0
2
2
0
0
2
8
-42
7
65
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
16
1
0
0
0
0
0
0
0
0
0
2
14
-3
-31
27
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
82
-80
30
0
0
0
3
-1
0
0
0
0
0
0
0
6
67
22
-21
-17
43
26
-12
0
0
0
0
0
0
0
0
0
18
-34
24
45
19
-14
6
-21
0
0
0
0
0
0
0
0
-1
-8
-46
15
0
53
-17
26
-3
0
0
0
0
0
0
0
0
0
0
-3
9
3
7
6
8
-21
0
0
0
0
0
0
0
0
0
-3
-20
-3
-1
0
-1
-19
-37
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
-5
101
71
10
0
0
0
0
0
0
0
0
0
0
0
0
0
15
9
-38
0
0
0
0
0
0
0
0
-2
37
6
-16
-28
71
0
0
0
47
0
0
0
0
0
0
0
0
13
-8
41
27
36
0
0
0
51
-1
0
0
0
0
0
-4
1
-8
-21
28
39
-30
-11
5
-30
3
-6
0
0
0
0
0
9
22
34
51
-2
-12
-13
31
0
19
8
0
0
0
0
0
0
0
-11
16
26
68
38
7
1
-10
-10
-14
0
0
0
0
0
0
0
1
-21
-72
-7
47
-34
26
-1
15
45
0
0
0
0
0
0
0
0
2
6
36
-12
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
-23
-28
-38
0
53
30
79
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-5
0
-2
0
0
0
0
0
0
0
4
-19
-51
32
27
23
0
0
0
-1
2
0
0
0
0
0
0
8
-53
-58
-12
-33
68
0
0
0
-34
-3
0
0
0
0
0
0
2
-27
30
-56
-29
-34
33
35
-44
-10
-8
0
0
0
0
0
0
18
5
7
26
-32
-32
-3
-60
-6
7
3
0
0
0
0
0
0
22
-65
-37
52
-13
-26
-71
21
-37
7
-2
0
0
0
0
0
0
0
-15
-56
-13
-12
51
-10
-2
-44
-1
0
0
0
0
0
0
0
6
16
-26
49
24
-48
7
0
1
1
0
0
0
0
0
0
0
0
-1
34
-18
-16
25
31
0
15
73
-1
0
0
0
0
0
0
0
0
0
1
0
0
4
11
6
0
0
0
0
0
0
0
0
0
-6
-1
-24
-33
-1
0
0
0
-10
-3
0
0
0
0
0
0
-3
7
37
-23
-29
-25
0
0
0
11
-2
-1
0
0
0
0
0
0
36
46
71
-5
4
9
-33
25
58
3
0
0
0
0
0
0
0
0
21
-35
-42
43
16
5
14
62
-1
0
0
0
0
0
0
0
-22
-73
34
-28
-12
-8
-87
-8
34
1
0
0
0
0
0
0
0
-2
44
-21
-24
-23
-11
-26
0
-31
0
0
0
0
0
0
0
0
-4
5
17
24
-4
-12
1
0
0
0
0
0
0
0
0
0
0
-1
-39
3
-7
14
32
38
4
3
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
6
0
-7
-1
0
0
0
-5
-23
0
0
0
0
0
0
0
0
0
-10
0
-24
0
0
0
-53
-72
0
0
0
0
0
0
0
0
0
0
14
-13
-17
41
22
1
-16
0
0
0
0
0
0
0
0
0
2
0
-20
5
12
9
44
2
2
0
0
0
0
0
0
0
2
0
4
53
-21
-29
-14
-1
2
0
0
0
0
0
0
0
0
0
0
4
2
-31
10
10
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-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
-20
2
1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-22
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-15
31
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
2
-38
-9
0
1
0
0
0
0
0
0
0
0
0
0
3
0
-1
4
13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-15
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
8
-27
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
-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
8
45
0
0
0
0
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
8
-11
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
-3
1
18
2
0
0
0
0
0
0
0
0
0
0
4
8
-11
40
15
59
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
10
-29
0
1
0
0
0
0
0
0
0
0
0
0
0
12
4
-19
19
-21
3
0
0
0
0
0
0
0
0
0
0
-4
1
7
11
5
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
49
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
4
-8
8
52
2
8
4
0
0
0
0
0
0
0
0
0
0
0
0
-4
27
37
38
3
0
0
0
0
0
0
0
0
0
0
0
0
-10
-10
2
32
10
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
50
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
-3
-2
0
0
28
3
4
-4
0
0
0
0
0
0
0
0
0
-2
0
-35
-2
2
-9
0
6
0
0
0
0
0
0
0
0
0
10
33
-1
-15
8
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
72
12
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-59
-1
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
11
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
-3
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
4
0
3
0
1
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
4
8
-10
0
0
0
0
0
0
0
0
0
0
0
-10
0
-40
-6
-13
5
-2
3
0
0
0
0
0
0
0
0
0
-10
0
34
-35
5
59
23
0
0
0
0
0
0
0
0
0
0
-2
0
3
-47
-58
51
14
0
0
0
0
0
0
0
0
0
0
0
0
40
-34
24
-44
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
18
0
0
0
0
0
0
0
0
0
2
0
-3
0
7
0
0
0
12
0
0
0
0
0
0
0
0
1
10
0
-4
44
0
0
0
2
0
0
0
0
0
0
0
0
-6
-12
-26
-1
-15
1
-43
23
0
0
0
0
0
0
0
0
2
2
0
22
-54
59
-23
17
-3
0
0
0
0
0
0
0
0
0
0
0
-39
62
-29
-39
-30
-27
2
0
0
0
0
0
0
0
0
0
11
-3
20
-7
62
-2
24
-3
0
0
0
0
0
0
0
0
1
-4
-2
0
-34
8
29
31
1
0
0
0
0
0
0
0
0
0
10
0
0
0
-6
-14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
5
3
0
0
0
0
0
0
0
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
4
-9
25
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
-19
26
-11
15
-21
5
0
0
0
0
0
0
0
0
0
0
3
-9
70
-4
37
5
-72
6
0
0
0
0
0
0
0
6
1
2
-17
12
19
-32
1
33
0
0
0
0
0
0
0
0
0
-1
-3
15
-24
-82
18
4
13
0
0
0
0
0
0
0
0
0
0
6
30
1
0
9
14
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
19
7
0
0
0
0
0
0
0
0
0
1
7
11
0
31
0
0
0
2
0
0
0
0
0
0
0
0
-1
7
2
-75
21
0
0
0
18
0
0
0
0
0
0
0
0
0
-6
22
36
19
-19
6
21
0
0
0
0
0
0
0
0
0
-4
3
6
-21
-14
71
-15
-20
0
0
0
0
0
0
0
0
-2
-5
-15
19
-21
37
-27
-42
8
3
0
0
0
0
0
0
0
0
0
3
90
42
-49
21
3
14
-9
0
0
0
0
0
0
0
0
14
3
-54
-11
16
0
-21
-51
9
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
-10
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
10
28
-45
-20
-47
0
0
0
-25
6
0
0
0
0
0
0
10
-12
87
51
-15
-7
0
0
0
1
0
0
0
0
0
0
0
4
-13
-2
-3
35
28
5
10
-40
8
0
0
0
0
0
0
0
-7
-8
-15
-74
-7
-4
31
-24
-13
-2
-2
0
0
0
0
0
0
0
14
2
-34
35
-12
-15
-27
4
8
0
0
0
0
0
0
0
0
9
-37
-41
8
24
-18
7
-29
-3
0
0
0
0
0
0
0
0
11
-21
-74
5
17
-12
-1
25
7
0
0
0
0
0
0
0
0
0
-6
12
-7
-16
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
4
0
0
0
0
0
0
0
0
0
0
-2
4
2
0
0
0
-38
-11
0
0
0
0
0
0
0
4
0
-1
-8
-8
0
0
0
-2
-1
0
0
0
0
0
0
0
-6
6
2
-72
-32
68
4
-27
-47
3
0
0
0
0
0
0
0
0
-15
-12
38
-1
77
66
23
-14
-1
0
0
0
0
0
0
0
0
35
-2
-34
-65
20
-22
11
78
0
0
0
0
0
0
0
0
0
10
-7
14
48
-65
-46
-8
4
0
0
0
0
0
0
0
0
0
-3
-1
17
53
43
47
0
-24
0
0
0
0
0
0
0
0
0
0
-1
-36
2
-27
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
2
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-16
1
0
0
0
0
0
0
0
0
0
-2
-1
-2
-8
41
3
15
0
0
0
0
0
0
0
0
0
0
0
-15
-12
-2
20
2
1
0
0
0
0
0
0
0
0
0
0
0
1
10
-14
3
-2
-44
0
0
0
0
0
0
0
0
0
0
10
4
1
-16
-41
0
-8
0
0
0
0
0
0
0
0
0
0
0
-1
6
11
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
4
0
0
0
0
0
0
0
0
0
0
0
11
0
-1
0
13
6
0
0
0
0
0
0
0
0
0
0
0
0
3
7
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
-22
2
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
2
-2
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-8
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
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
7
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-13
-13
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
-17
9
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-16
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
-58
-6
-58
47
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
-77
16
12
-19
0
0
0
0
0
0
0
0
0
0
0
0
8
20
-39
0
12
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-5
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
12
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
-18
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-9
11
32
0
71
0
0
0
0
0
0
0
0
0
0
0
2
2
6
-15
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
72
36
18
0
-24
0
0
0
0
0
0
0
0
0
0
0
17
0
8
-14
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
22
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
-6
-1
1
29
9
3
6
0
0
0
0
0
0
0
0
0
0
0
0
-11
-32
-18
6
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-3
-48
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
0
-30
3
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
0
4
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-9
2
0
-1
3
0
0
0
0
0
0
0
0
0
0
-30
62
-2
51
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-33
17
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
79
0
2
11
8
0
0
0
0
0
0
0
0
0
0
0
-34
-19
4
-80
-9
-13
1
0
0
0
0
0
0
0
0
0
5
11
35
19
-48
-15
10
-1
-10
0
0
0
0
0
0
0
0
21
-38
40
6
4
5
0
0
-6
0
0
0
0
0
0
0
0
0
-7
2
-1
0
-7
22
0
0
0
0
0
0
0
0
0
0
-3
-7
0
0
29
0
-1
-3
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
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-11
-8
-2
2
2
0
0
0
0
0
0
0
0
0
0
-4
32
17
-1
79
39
-2
-7
0
0
0
0
0
0
0
0
1
-44
63
-38
26
-2
4
32
0
0
0
0
0
0
0
0
0
0
-52
56
-3
72
-2
35
2
0
-18
0
0
0
0
0
0
0
0
-2
0
58
7
-10
2
-3
0
0
0
0
0
0
0
0
0
0
6
-6
0
-12
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-4
0
0
-8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
28
5
-2
-15
15
51
-6
0
3
0
0
0
0
0
0
0
0
-6
4
-2
2
-2
-25
1
3
10
0
0
0
0
0
0
0
0
10
-2
19
-23
-22
3
-6
1
0
0
0
0
0
0
0
0
0
0
0
-1
4
-3
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
37
0
0
-6
0
0
0
0
0
0
0
0
0
0
-2
70
-12
-10
-37
15
57
-1
3
0
0
0
0
0
0
0
0
6
0
3
-2
9
-1
-2
37
0
0
0
0
0
0
0
0
0
-22
0
-3
3
16
-15
-2
0
-7
0
0
0
0
0
0
0
0
24
3
-1
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
-8
8
0
-2
0
0
0
-4
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
0
0
0
0
0
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
-15
-20
5
0
27
3
0
0
0
0
0
0
0
0
0
7
-57
40
34
-7
-17
9
0
0
0
0
0
0
0
0
0
0
-16
41
43
-24
2
26
-27
28
0
0
0
0
0
0
0
0
0
-20
-1
-4
-6
-1
3
0
10
-2
1
0
0
0
0
0
0
0
-12
10
-39
12
5
-7
2
0
0
0
0
0
0
0
0
0
0
17
-59
2
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
28
21
-7
-1
2
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
6
36
27
-10
0
1
0
0
0
0
0
0
0
0
0
0
-35
-28
-28
25
30
12
0
8
0
0
0
0
0
0
0
0
-2
1
-1
27
54
-35
-17
-18
-2
0
0
0
0
0
0
0
0
25
32
5
-4
-55
24
16
-6
-6
0
0
0
0
0
0
0
0
-8
41
56
20
10
6
7
0
2
0
0
0
0
0
0
0
0
-3
-32
-39
4
-1
58
0
0
0
0
0
0
0
0
0
0
0
-1
-76
10
12
13
-1
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-22
97
20
-20
48
-20
0
0
0
0
0
0
0
0
0
0
-1
-36
7
2
56
-19
-22
-1
1
0
0
0
0
0
0
0
0
-8
42
11
48
6
13
15
-7
8
9
0
0
0
0
0
0
0
-6
-51
-2
-3
16
-28
-13
11
0
4
0
0
0
0
0
0
0
62
60
-64
113
33
34
20
7
0
0
0
0
0
0
0
0
0
21
35
53
-5
-1
-8
1
0
0
0
0
0
0
0
0
0
0
-5
25
-11
-2
0
-6
7
0
-1
0
0
0
0
0
0
0
0
1
-41
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
51
-66
-35
-28
18
-39
0
0
0
0
0
0
0
0
0
0
-7
-12
72
27
-22
26
-55
-15
6
0
0
0
0
0
0
0
0
-10
50
34
-41
14
-40
-10
-2
0
0
0
0
0
0
0
0
0
8
-17
13
-16
13
-32
26
21
0
-2
0
0
0
0
0
0
0
-37
9
-28
-31
-11
112
3
0
-7
0
0
0
0
0
0
0
0
-15
-18
-77
-24
25
9
0
0
0
0
0
0
0
0
0
0
0
35
35
-31
13
12
-3
16
0
0
0
0
0
0
0
0
0
0
32
0
-29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
63
-23
-39
13
2
0
0
0
0
0
0
0
0
0
0
0
8
12
52
-3
-24
-22
2
-2
0
0
0
0
0
0
0
0
0
17
-38
2
30
11
9
-1
2
0
0
0
0
0
0
0
0
0
-7
-21
5
27
24
4
2
0
0
0
0
0
0
0
0
0
0
-1
-13
25
0
-15
-9
0
0
0
0
0
0
0
0
0
0
0
21
0
-26
-11
0
8
0
0
0
0
0
0
0
0
0
0
0
14
-20
0
-8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
-18
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-3
-44
10
-1
0
8
-1
0
0
0
0
0
0
0
0
0
-16
-23
38
-14
18
-23
0
0
0
0
0
0
0
0
0
0
0
22
11
36
-12
-15
-8
0
0
0
0
0
0
0
0
0
0
0
19
-7
7
10
-1
-2
0
0
0
0
0
0
0
0
0
0
0
9
-6
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
33
-6
-29
-82
-8
-9
1
0
0
0
0
0
0
0
0
0
23
-79
-2
16
-44
-40
-3
-8
0
0
0
0
0
0
0
0
0
5
33
24
-35
37
2
-15
2
5
1
0
0
0
0
0
0
0
-7
6
-38
1
13
-7
56
-1
0
0
0
0
0
0
0
0
0
0
46
-27
-36
44
-3
29
1
0
0
0
0
0
0
0
0
0
22
-5
-3
-1
2
2
0
-4
1
0
0
0
0
0
0
0
0
-2
-47
-1
-2
0
0
0
0
16
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
10
3
14
-6
3
9
8
-21
0
0
0
0
0
0
0
0
0
2
-1
38
1
21
-13
-6
12
9
0
0
0
0
0
0
0
0
0
-12
2
46
-41
-39
-9
-26
14
-11
0
0
0
0
0
0
0
-3
64
-3
-36
-20
71
3
-8
0
-3
0
0
0
0
0
0
0
0
13
29
24
37
-8
2
-3
3
0
0
0
0
0
0
0
0
0
-5
2
-3
-2
0
7
-3
6
0
0
0
0
0
0
0
0
0
22
-2
2
-4
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
-8
39
-29
-9
0
9
0
0
0
0
0
0
0
0
0
-4
6
5
8
-8
9
-17
-33
0
0
0
0
0
0
0
0
0
-3
9
7
-17
-2
-22
2
-4
-2
0
0
0
0
0
0
0
0
-2
-4
-55
14
-72
25
50
0
7
0
0
0
0
0
0
0
0
-1
-2
30
15
0
-2
0
0
-1
0
0
0
0
0
0
0
0
4
3
0
3
-13
-3
2
4
0
0
0
0
0
0
0
0
0
0
-2
-8
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
24
47
5
-10
3
94
14
0
0
0
0
0
0
0
0
0
-8
-10
-21
-13
12
23
93
-3
9
0
0
0
0
0
0
0
0
4
19
-33
31
-21
13
15
-37
5
0
0
0
0
0
0
0
0
42
-24
-9
10
-7
9
-2
2
0
0
0
0
0
0
0
0
0
1
-16
2
14
4
-9
1
0
-1
-2
0
0
0
0
0
0
0
-52
-3
-42
3
-3
3
1
0
2
0
0
0
0
0
0
0
0
8
-12
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
66
60
33
-8
12
0
-5
0
0
0
0
0
0
0
0
0
61
11
56
-20
11
31
-17
0
-38
0
0
0
0
0
0
0
0
8
69
14
10
37
21
3
-4
0
0
0
0
0
0
0
0
0
64
85
45
11
13
18
18
-2
0
0
0
0
0
0
0
0
0
18
8
1
34
-34
-5
5
3
0
0
0
0
0
0
0
0
0
7
7
22
22
-3
-1
-1
1
-3
0
0
0
0
0
0
0
0
-1
-72
24
-9
-9
1
0
0
0
0
0
0
0
0
0
0
0
-5
13
-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
33
10
68
71
11
24
12
11
0
0
0
0
0
0
0
0
0
-20
11
48
6
-6
41
11
30
-1
11
0
0
0
0
0
0
0
-3
-55
34
-5
-10
49
-32
11
-46
-1
0
0
0
0
0
0
0
-18
54
21
1
39
-59
26
-21
0
0
0
0
0
0
0
0
0
5
-32
-29
28
11
33
0
3
19
0
0
0
0
0
0
0
0
46
11
-13
-20
2
23
-3
33
0
0
0
0
0
0
0
0
0
-7
-1
19
-12
4
0
-1
4
-1
0
0
0
0
0
0
0
0
0
47
-4
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
-50
70
18
-28
14
-7
-1
0
0
0
0
0
0
0
0
0
19
-15
31
46
22
10
13
-3
28
0
0
0
0
0
0
0
0
84
47
10
33
37
20
35
16
30
1
0
0
0
0
0
0
0
3
-10
-19
14
43
7
-5
12
-54
-8
0
0
0
0
0
0
0
-4
17
77
26
15
-13
80
3
0
-7
0
0
0
0
0
0
0
-23
-4
23
-7
20
13
11
-5
2
0
0
0
0
0
0
0
0
55
35
-3
13
-26
-8
0
9
-1
0
0
0
0
0
0
0
0
4
-36
-4
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
14
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
18
18
44
18
61
81
58
0
0
0
0
0
0
0
0
0
-30
-21
3
28
16
24
-39
43
1
-1
0
0
0
0
0
0
0
-18
-14
2
-8
-17
10
13
-15
74
28
0
0
0
0
0
0
0
31
-12
-5
-41
20
-8
42
73
-7
9
0
0
0
0
0
0
0
-32
14
-9
-26
-21
61
3
2
10
0
0
0
0
0
0
0
0
-2
-39
26
-19
48
30
7
0
4
-2
0
0
0
0
0
0
0
25
13
-11
-23
-48
2
-14
7
5
0
0
0
0
0
0
0
0
3
-66
69
68
7
-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
-10
-2
-7
-2
27
46
89
0
0
0
0
0
0
0
0
0
0
37
55
46
32
-35
-2
-17
23
0
0
0
0
0
0
0
0
0
-13
-5
45
11
11
-54
80
75
7
0
0
0
0
0
0
0
0
-10
-18
-28
41
2
-10
11
17
-1
0
0
0
0
0
0
0
0
21
32
20
29
20
15
-23
19
1
0
0
0
0
0
0
0
0
4
-19
35
-30
34
58
-5
-1
0
0
0
0
0
0
0
0
0
-10
30
28
9
9
9
4
-2
0
0
0
0
0
0
0
0
0
7
4
-8
-21
2
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-48
18
-7
21
-29
0
6
0
0
0
0
0
0
0
0
0
26
60
12
21
-15
-53
-3
-2
0
0
0
0
0
0
0
0
0
42
18
23
18
-11
13
40
5
0
0
0
0
0
0
0
0
0
4
64
-26
53
24
21
10
-1
0
0
0
0
0
0
0
0
0
36
-29
53
-10
4
1
-2
3
0
0
0
0
0
0
0
0
0
5
37
5
-24
-50
-4
0
0
0
0
0
0
0
0
0
0
0
-15
0
7
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
7
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
52
48
10
-66
9
0
0
0
0
0
0
0
0
0
0
0
0
-21
10
-12
12
0
-8
0
0
0
0
0
0
0
0
0
0
0
-26
-1
-5
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-2
0
-2
3
-8
0
0
0
0
0
0
0
0
0
47
11
23
5
0
27
3
-3
0
0
0
0
0
0
0
0
0
0
32
7
1
11
12
0
-1
0
0
0
0
0
0
0
0
0
-25
57
0
-8
12
-3
3
-3
0
0
0
0
0
0
0
0
0
-11
2
-3
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-25
0
6
-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
9
11
3
-7
31
5
3
-9
0
0
0
0
0
0
0
0
0
8
-1
59
-15
-13
-28
20
32
-3
0
0
0
0
0
0
0
0
-37
15
-16
64
9
-11
-44
-10
1
0
0
0
0
0
0
0
0
-2
11
-5
-44
34
-35
-25
-25
0
0
0
0
0
0
0
0
0
5
-8
42
15
-11
7
-30
1
2
0
0
0
0
0
0
0
0
0
-25
44
11
4
-13
-1
-1
1
0
0
0
0
0
0
0
0
0
107
7
3
-6
0
0
2
7
0
0
0
0
0
0
0
0
0
-33
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-27
-47
21
-25
23
0
0
0
0
0
0
0
0
0
0
0
-11
-27
69
10
23
5
39
0
0
0
0
0
0
0
0
0
0
47
0
4
4
-36
9
53
5
-1
0
0
0
0
0
0
0
0
-25
61
-23
-47
38
-22
1
11
-1
0
0
0
0
0
0
0
0
-52
17
-21
7
1
1
-6
-6
0
0
0
0
0
0
0
0
0
-25
42
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
24
-7
0
0
0
-3
0
-12
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
27
10
25
2
4
-1
0
0
0
0
0
0
0
0
0
26
2
18
16
-7
-18
8
-3
11
0
-1
0
0
0
0
0
0
30
-2
-1
1
-7
16
11
0
-1
-1
0
0
0
0
0
0
0
8
-3
6
-15
18
23
7
4
0
0
0
0
0
0
0
0
0
7
-16
8
-15
9
-16
-2
0
0
-2
0
0
0
0
0
0
0
-3
-7
-2
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-29
2
23
22
49
-1
-10
0
0
0
0
0
0
0
0
0
50
-51
20
3
26
-26
2
-9
0
0
0
0
0
0
0
0
0
-7
-1
5
11
-4
26
-33
-1
5
0
0
0
0
0
0
0
0
-20
43
-4
-9
-32
3
-28
8
-3
-2
0
0
0
0
0
0
0
-48
17
-6
17
-10
4
0
0
0
0
0
0
0
0
0
0
0
-32
9
-8
19
-1
-4
2
-2
4
0
0
0
0
0
0
0
0
-37
14
13
34
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
3
14
4
-42
-8
-40
-6
52
0
0
0
0
0
0
0
0
0
22
15
37
-11
-66
55
57
70
-3
0
0
0
0
0
0
0
0
0
39
57
30
-17
2
42
12
0
0
0
0
0
0
0
0
0
65
-15
8
63
-47
-42
0
19
2
0
0
0
0
0
0
0
0
14
-36
10
-97
2
24
6
0
0
0
0
0
0
0
0
0
0
-41
36
45
-22
24
-6
0
-10
0
0
0
0
0
0
0
0
0
82
3
28
28
1
-1
1
0
0
0
0
0
0
0
0
0
0
9
10
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
17
-19
17
-16
-34
4
0
0
0
0
0
0
0
0
0
-29
-23
45
27
-9
28
-38
-12
-2
-1
0
0
0
0
0
0
0
-52
4
28
-31
13
-53
2
48
-8
0
0
0
0
0
0
0
0
29
39
78
28
-5
0
23
29
11
2
0
0
0
0
0
0
0
-11
3
-14
26
6
0
71
9
1
1
0
0
0
0
0
0
0
-7
0
34
11
22
43
-16
3
0
0
0
0
0
0
0
0
0
-36
7
45
7
12
-8
3
0
0
0
0
0
0
0
0
0
0
-14
74
18
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
-45
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
-13
13
53
56
88
-37
0
0
0
0
0
0
0
0
0
-9
6
38
21
3
-44
42
51
9
-11
0
0
0
0
0
0
0
8
4
12
55
72
14
5
-1
1
0
0
0
0
0
0
0
0
54
14
45
23
20
21
6
-29
-4
-1
0
0
0
0
0
0
0
59
-11
-16
-4
42
-18
-19
26
14
0
0
0
0
0
0
0
0
23
-3
6
28
44
-56
43
-2
-7
1
0
0
0
0
0
0
0
-9
-33
36
-9
0
-23
-9
1
0
0
0
0
0
0
0
0
0
-14
-12
29
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
65
28
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-22
28
17
10
0
-44
-44
0
0
0
0
0
0
0
0
0
20
-20
15
7
21
28
-6
-16
-11
9
0
0
0
0
0
0
0
48
19
32
-38
24
43
22
20
0
-4
0
0
0
0
0
0
0
-15
8
-13
5
19
-13
42
10
29
0
0
0
0
0
0
0
0
-16
10
21
-24
-8
52
-22
6
9
-11
0
0
0
0
0
0
0
63
-1
68
-30
14
-36
-7
-32
2
1
0
0
0
0
0
0
0
-46
19
106
-30
-47
-27
-19
-12
-4
3
0
0
0
0
0
0
0
11
18
22
-2
21
-8
-3
1
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
15
-10
20
-17
31
54
-67
0
8
0
0
0
0
0
0
0
0
40
-2
-41
-27
27
-47
1
2
1
1
0
0
0
0
0
0
0
-16
-41
49
-54
-8
-8
-6
-10
-1
0
0
0
0
0
0
0
0
10
-5
7
46
-3
24
-43
20
1
0
0
0
0
0
0
0
0
19
7
-12
73
11
4
-32
6
15
0
0
0
0
0
0
0
0
14
-27
21
8
-9
84
11
1
-4
0
0
0
0
0
0
0
0
-18
-59
-32
50
6
9
1
-1
3
0
0
0
0
0
0
0
0
8
19
32
-9
0
8
-6
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
125
0
-22
25
-25
1
0
0
0
0
0
0
0
0
0
0
0
-16
-6
34
3
1
49
6
0
2
0
0
0
0
0
0
0
0
70
43
15
80
-1
24
11
-2
0
0
0
0
0
0
0
0
0
-10
55
63
1
35
-30
-4
5
0
0
0
0
0
0
0
0
0
-25
45
-13
19
-25
1
0
0
0
0
0
0
0
0
0
0
0
-15
0
-51
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
30
6
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-6
4
-16
10
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-42
-1
18
-2
-1
0
0
0
0
0
0
0
0
0
0
4
-1
40
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
6
0
0
-2
0
0
0
0
0
0
0
0
0
9
4
3
-3
-2
-7
12
-29
0
0
0
0
0
0
0
0
0
18
30
-9
-7
45
-28
-3
2
0
0
0
0
0
0
0
0
0
0
7
12
-2
-4
0
0
-3
0
0
0
0
0
0
0
0
0
-97
-25
7
-1
0
-3
-10
0
0
0
0
0
0
0
0
0
0
5
17
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
20
-47
-8
-22
-9
-29
-8
0
0
0
0
0
0
0
0
0
-4
-25
-3
29
3
-35
21
29
-6
0
0
0
0
0
0
0
0
77
-45
-18
-17
-35
-30
-59
53
0
0
0
0
0
0
0
0
0
-11
-8
36
37
-28
-2
7
39
-2
0
0
0
0
0
0
0
0
0
-109
-104
20
56
-51
1
-1
-9
-10
0
0
0
0
0
0
0
1
39
40
16
54
60
0
-2
-1
0
0
0
0
0
0
0
0
2
35
6
-16
0
3
27
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
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
5
-22
26
18
-8
-2
0
0
0
0
0
0
0
0
0
0
-21
5
18
40
-2
-36
15
-8
0
0
0
0
0
0
0
0
0
1
-49
-2
2
-37
-5
7
-3
0
0
0
0
0
0
0
0
0
-81
-1
-20
60
7
-42
-1
0
-6
0
0
0
0
0
0
0
0
-7
-17
56
33
-24
-15
0
-6
0
0
0
0
0
0
0
0
0
22
-26
-1
20
47
2
-7
0
0
0
0
0
0
0
0
0
0
68
38
4
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
19
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
39
11
14
-2
13
-2
0
0
0
0
0
0
0
0
0
-2
0
-22
6
13
27
28
4
0
0
0
0
0
0
0
0
0
16
-2
-3
28
0
25
24
-10
-2
0
0
0
0
0
0
0
0
68
-23
3
0
16
-22
80
-1
-3
0
0
0
0
0
0
0
0
42
-7
-9
8
13
-6
2
-9
-1
0
0
0
0
0
0
0
0
1
1
-17
-6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
-6
0
6
0
-1
0
0
0
0
0
0
0
0
0
-5
-78
44
-25
22
-15
16
11
-4
0
0
0
0
0
0
0
0
-4
-23
-8
15
1
-13
-27
-4
0
0
0
0
0
0
0
0
0
-38
64
50
-51
6
26
-7
1
0
0
0
0
0
0
0
0
0
-31
52
-19
7
13
0
0
0
0
4
0
0
0
0
0
0
0
3
0
-1
5
8
15
0
0
0
0
0
0
0
0
0
0
0
-5
-25
-4
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
4
2
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
73
-59
-62
-60
40
4
0
0
0
0
0
0
0
0
0
52
19
43
-46
46
-6
17
-17
-23
0
0
0
0
0
0
0
0
-28
-15
12
-68
-24
21
-64
-8
1
0
0
0
0
0
0
0
0
31
39
46
-4
-4
0
-16
12
11
0
0
0
0
0
0
0
0
-20
-6
-30
-27
70
24
29
5
27
-1
0
0
0
0
0
0
0
49
-44
25
26
22
-20
0
0
0
0
0
0
0
0
0
0
0
0
27
-33
-10
2
0
0
-4
0
0
0
0
0
0
0
0
0
28
83
-10
4
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
0
0
0
19
51
21
-26
-32
0
-29
-21
0
0
0
0
0
0
0
0
0
-14
30
-56
-5
31
-23
-1
-1
0
0
0
0
0
0
0
0
0
-7
33
47
24
-4
-34
32
-47
46
-1
0
0
0
0
0
0
0
57
47
52
55
41
12
2
-11
-6
0
0
0
0
0
0
0
0
21
6
45
28
48
13
26
16
10
0
0
0
0
0
0
0
0
-12
-26
14
0
34
46
-39
-6
0
0
0
0
0
0
0
0
0
9
20
-68
36
-10
26
4
-3
6
0
0
0
0
0
0
0
0
51
6
74
36
0
-3
0
0
0
0
0
0
0
0
0
0
0
8
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
49
54
32
0
60
-5
14
0
0
0
0
0
0
0
0
0
9
25
24
-21
3
2
-37
8
13
0
0
0
0
0
0
0
0
12
27
47
-14
7
60
-14
46
4
3
0
0
0
0
0
0
0
22
66
8
29
-5
12
48
4
0
0
0
0
0
0
0
0
0
53
33
37
-7
-27
-35
74
-15
-7
0
0
0
0
0
0
0
0
-24
59
40
-7
3
8
34
0
0
0
0
0
0
0
0
0
0
-4
-22
4
4
-18
17
-2
0
-10
0
0
0
0
0
0
0
0
34
18
14
8
1
0
0
0
0
0
0
0
0
0
0
0
0
48
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-103
30
25
-37
14
18
-68
-21
0
0
0
0
0
0
0
0
0
33
9
27
38
25
18
13
65
-46
-4
0
0
0
0
0
0
0
2
20
17
3
-6
54
16
-48
-13
-2
0
0
0
0
0
0
0
35
-50
20
17
-28
54
23
-46
0
-1
0
0
0
0
0
0
0
-34
-9
-1
28
20
-27
-8
1
28
0
0
0
0
0
0
0
0
16
7
24
-31
-34
60
-7
37
0
0
0
0
0
0
0
0
0
59
26
-2
62
-15
-39
31
3
-1
1
0
0
0
0
0
0
0
12
61
30
-52
35
0
-6
1
2
0
0
0
0
0
0
0
0
30
-30
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
19
23
-81
38
-64
-4
0
0
0
0
0
0
0
0
0
0
3
39
29
18
-30
62
-20
10
0
0
0
0
0
0
0
0
0
32
30
33
-5
-1
22
52
1
-1
0
0
0
0
0
0
0
0
25
53
17
22
54
39
30
16
0
0
0
0
0
0
0
0
0
-13
5
-16
59
64
-10
3
-68
-5
0
0
0
0
0
0
0
0
-19
-40
33
-44
32
44
12
-47
0
0
0
0
0
0
0
0
0
-44
82
6
18
-48
-5
9
0
0
0
0
0
0
0
0
0
0
-14
28
-38
-11
-19
2
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
27
14
-47
-2
-22
-7
0
0
0
0
0
0
0
0
0
0
0
0
34
111
9
13
-11
0
0
-2
0
0
0
0
0
0
0
0
27
23
-3
-17
-2
19
5
-1
0
0
0
0
0
0
0
0
0
-9
-7
19
16
14
-10
-7
0
0
0
0
0
0
0
0
0
0
-18
7
54
-27
-33
2
0
0
0
0
0
0
0
0
0
0
0
0
1
25
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
-16
-2
3
0
19
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
-11
-26
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
1
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
6
-9
4
0
6
1
-10
0
0
0
0
0
0
0
0
0
0
9
13
-19
-7
-2
17
10
0
0
0
0
0
0
0
0
0
0
-13
28
21
-9
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
43
-20
-9
-2
0
-4
-1
0
0
0
0
0
0
0
0
0
-17
-6
-18
89
4
0
0
0
0
0
0
0
0
0
0
0
0
7
13
9
-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
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
4
2
14
-33
20
38
0
0
0
0
0
0
0
0
0
-8
-1
-64
-42
35
42
31
-12
-9
0
0
0
0
0
0
0
0
-3
20
31
-104
3
22
-13
22
17
0
0
0
0
0
0
0
0
-1
55
10
-22
28
25
50
16
-3
0
0
0
0
0
0
0
0
13
0
-20
-3
4
35
39
-9
13
0
0
0
0
0
0
0
0
0
-6
15
-40
40
53
1
0
0
0
0
0
0
0
0
0
0
3
-4
-23
-6
13
-2
2
1
-1
0
0
0
0
0
0
0
0
0
-33
0
-30
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
-4
-17
-8
11
-30
4
-15
0
0
0
0
0
0
0
0
0
4
-11
16
-11
-14
-28
8
-24
5
0
0
0
0
0
0
0
0
0
14
-32
21
12
28
-24
-6
0
0
0
0
0
0
0
0
0
0
-40
-5
-17
22
8
-17
-3
0
0
0
0
0
0
0
0
0
0
17
0
-9
128
-9
3
-2
0
0
0
0
0
0
0
0
0
0
-3
20
13
0
12
0
0
8
0
0
0
0
0
0
0
0
0
-19
-30
-22
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-12
34
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
8
1
1
0
-1
5
7
0
0
0
0
0
0
0
0
0
0
8
-12
-51
62
-14
44
55
6
0
0
0
0
0
0
0
0
0
7
7
24
0
-44
7
13
-3
0
0
0
0
0
0
0
0
0
-8
11
14
-17
-44
-15
-3
-10
2
0
0
0
0
0
0
0
0
-8
-7
-6
0
-1
-14
15
1
0
0
0
0
0
0
0
0
0
-3
0
1
15
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
12
-19
-36
-9
12
15
0
0
0
0
0
0
0
0
0
0
25
28
-9
-23
11
48
-20
2
-3
0
0
0
0
0
0
0
0
15
18
-52
40
81
-2
2
-1
13
0
0
0
0
0
0
0
0
-71
-15
32
89
-17
-4
-9
10
0
0
0
0
0
0
0
0
0
8
-29
22
-32
0
6
4
-2
0
0
0
0
0
0
0
0
0
-51
55
-5
-67
23
0
2
-1
-3
0
0
0
0
0
0
0
0
9
-59
-21
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
21
2
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-7
-36
33
58
25
6
6
0
0
0
0
0
0
0
0
0
60
54
61
79
5
-8
-24
17
0
0
0
0
0
0
0
0
0
32
-3
-18
5
-53
5
12
-12
-1
0
0
0
0
0
0
0
0
32
54
25
-13
27
-4
-19
-1
2
0
0
0
0
0
0
0
0
-87
106
41
30
-78
0
-7
0
1
0
0
0
0
0
0
0
0
-36
40
51
-36
1
6
12
-5
0
0
0
0
0
0
0
0
0
41
23
-4
57
-4
1
-34
1
0
0
0
0
0
0
0
0
0
-1
86
-7
-13
-3
0
0
-2
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
0
-24
-30
12
-3
-1
11
-31
0
0
0
0
0
0
0
0
0
0
42
17
-10
50
39
68
-10
-10
17
0
0
0
0
0
0
0
0
13
-16
-12
1
55
44
4
-39
27
0
0
0
0
0
0
0
0
-16
-12
67
16
-3
-18
-22
-6
2
0
0
0
0
0
0
0
0
-7
12
22
55
80
45
0
27
7
0
0
0
0
0
0
0
0
53
12
38
-67
16
12
-8
-2
-14
0
0
0
0
0
0
0
0
-4
-34
-46
84
-1
-18
12
2
0
0
0
0
0
0
0
0
0
-15
1
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
17
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
91
15
-2
0
52
28
-43
46
0
4
0
0
0
0
0
0
0
82
4
69
24
14
8
5
-30
-14
0
0
0
0
0
0
0
0
2
0
59
-3
-16
-23
3
92
33
-4
0
0
0
0
0
0
0
14
22
7
30
-37
2
11
-7
-15
0
0
0
0
0
0
0
0
23
44
37
-5
77
40
24
0
0
0
0
0
0
0
0
0
0
56
39
58
-14
-39
2
-24
6
0
-3
0
0
0
0
0
0
0
-33
26
10
-29
-59
19
9
0
0
0
0
0
0
0
0
0
0
-7
40
1
52
10
-1
0
0
0
0
0
0
0
0
0
0
0
-8
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
21
13
6
12
87
-30
-13
0
0
0
0
0
0
0
0
0
2
18
3
-4
40
-2
-13
7
38
0
0
0
0
0
0
0
0
25
34
34
5
-26
-2
-10
-21
7
28
0
0
0
0
0
0
0
-1
16
38
66
-17
4
-41
47
19
0
0
0
0
0
0
0
0
10
23
-27
62
60
72
-19
-19
0
1
0
0
0
0
0
0
0
2
28
0
-38
24
12
-24
18
25
0
0
0
0
0
0
0
0
15
40
16
-26
5
18
-18
-12
-3
0
0
0
0
0
0
0
0
7
52
-46
-44
4
-6
35
0
8
0
0
0
0
0
0
0
0
30
-11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-2
14
-11
36
21
-41
0
0
0
0
0
0
0
0
0
0
14
31
17
-1
-19
26
44
-51
-1
1
0
0
0
0
0
0
0
0
42
33
22
46
-24
-28
5
1
0
0
0
0
0
0
0
0
14
16
14
80
32
54
64
-5
12
0
0
0
0
0
0
0
0
-71
-4
52
78
10
50
9
-3
0
0
0
0
0
0
0
0
0
-5
-17
22
36
-12
-1
70
2
8
0
0
0
0
0
0
0
0
0
-11
67
11
-6
49
21
-15
0
0
0
0
0
0
0
0
0
31
-44
34
13
-3
0
8
6
0
0
0
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
-9
7
-65
27
-1
0
0
0
0
0
0
0
0
0
0
0
24
49
46
9
-9
-21
-3
0
0
0
0
0
0
0
0
0
0
11
14
-9
20
8
1
-29
0
0
0
0
0
0
0
0
0
0
49
7
-2
-9
-3
10
1
3
0
0
0
0
0
0
0
0
0
-66
59
7
1
11
-15
1
-6
0
0
0
0
0
0
0
0
0
2
38
27
-9
0
0
-4
-1
0
0
0
0
0
0
0
0
0
7
8
-12
0
0
0
0
0
0
0
0
0
0
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
1
-23
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
34
-34
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
5
8
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-1
0
0
3
4
0
0
0
0
0
0
0
0
0
6
-6
0
0
0
11
2
-6
0
0
0
0
0
0
0
0
0
8
10
2
1
6
-29
17
-20
2
0
0
0
0
0
0
0
0
38
-4
1
-1
3
0
-3
-2
0
0
0
0
0
0
0
0
0
0
26
70
10
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
28
28
26
7
-1
0
0
0
0
0
0
0
0
0
0
0
8
-2
3
-36
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
28
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
-10
18
11
32
22
0
0
0
0
0
0
0
0
0
0
-13
-14
-13
12
10
42
27
3
0
0
0
0
0
0
0
0
-7
-33
-8
38
50
-22
19
-12
-3
0
0
0
0
0
0
0
0
46
0
36
61
19
34
-25
-10
9
0
0
0
0
0
0
0
0
-4
29
-32
-15
-27
-39
-32
-2
-2
0
0
0
0
0
0
0
0
-7
0
-51
-22
27
38
1
0
4
0
0
0
0
0
0
0
0
-1
-15
43
-42
-34
1
0
0
-2
0
0
0
0
0
0
0
0
-6
-46
87
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
10
-1
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
-1
23
-2
-2
-12
-10
-8
29
0
0
0
0
0
0
0
0
0
-32
-14
-6
1
22
-8
30
-5
1
0
0
0
0
0
0
0
13
-5
-12
73
-30
58
-83
67
-8
0
0
0
0
0
0
0
0
0
26
44
33
-6
-12
5
1
0
0
0
0
0
0
0
0
0
0
5
0
43
-28
-4
11
0
0
0
0
0
0
0
0
0
0
0
2
4
-5
1
38
1
0
0
0
0
0
0
0
0
0
0
-4
24
0
86
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-16
4
0
4
15
0
0
0
0
0
0
0
0
0
-20
0
54
17
96
-21
-6
-12
0
0
1
0
0
0
0
0
0
1
-11
-29
1
5
-7
-4
-3
3
-1
0
0
0
0
0
0
0
1
0
21
-1
-16
-35
39
-4
0
0
0
0
0
0
0
0
0
0
20
-3
-15
21
-10
8
4
0
0
0
0
0
0
0
0
0
0
-6
-13
0
12
-24
-2
0
0
0
0
0
0
0
0
0
0
-35
-8
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
-2
1
32
13
-14
0
0
0
0
0
0
0
0
0
0
-3
-12
-27
40
21
-32
12
0
0
0
0
0
0
0
0
0
33
-54
-8
39
-20
-30
16
-12
0
-7
0
0
0
0
0
0
0
3
35
-2
13
9
-32
-29
-32
2
-1
0
0
0
0
0
0
0
0
2
10
49
62
-12
18
-2
3
0
0
0
0
0
0
0
0
12
-15
44
-3
0
-2
-3
7
0
0
0
0
0
0
0
0
0
13
-31
-2
0
12
1
8
0
0
0
0
0
0
0
0
0
0
7
13
0
-3
-3
1
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
27
36
66
8
-5
47
2
0
0
0
0
0
0
0
0
0
-21
13
15
18
-3
27
-31
-31
-4
0
0
0
0
0
0
0
0
39
64
32
-19
44
92
7
1
5
0
0
0
0
0
0
0
0
11
-41
12
-20
16
-13
-20
0
-8
0
0
0
0
0
0
0
0
-7
10
53
41
-19
20
14
-2
-2
0
0
0
0
0
0
0
0
-14
32
66
24
17
0
-1
-2
4
0
0
0
0
0
0
0
0
-57
-11
9
32
6
-1
-1
-2
0
0
0
0
0
0
0
0
0
-10
-53
14
0
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
0
0
20
54
8
39
12
-58
11
-22
0
0
0
0
0
0
0
0
0
18
-20
21
34
-30
35
-12
59
7
0
0
0
0
0
0
0
0
75
8
24
-7
3
-37
-6
44
-6
0
0
0
0
0
0
0
0
21
19
38
66
-17
2
-1
-18
0
8
0
0
0
0
0
0
0
27
38
82
36
-19
-27
-26
25
4
0
0
0
0
0
0
0
0
6
22
38
-21
18
39
0
0
9
0
0
0
0
0
0
0
0
6
17
20
34
39
12
-15
1
1
0
0
0
0
0
0
0
0
-3
-6
-2
-27
13
18
1
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
13
60
-14
41
16
-14
75
7
0
0
0
0
0
0
0
0
0
13
4
54
14
13
33
13
40
-3
0
0
0
0
0
0
0
0
41
19
44
-7
28
-60
23
21
-18
0
0
0
0
0
0
0
0
27
61
69
0
37
33
21
8
-11
0
0
0
0
0
0
0
0
106
68
-6
-26
83
-31
-58
-11
-1
0
0
0
0
0
0
0
0
22
46
19
1
53
56
3
0
-1
0
0
0
0
0
0
0
0
-12
-2
39
34
85
3
-16
1
0
1
0
0
0
0
0
0
0
2
-8
39
30
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
18
15
15
32
46
-13
-103
0
0
0
0
0
0
0
0
0
41
21
31
34
5
4
-39
-58
-11
0
0
0
0
0
0
0
0
-12
-4
50
33
22
16
-28
21
7
0
0
0
0
0
0
0
0
21
62
47
101
21
22
9
37
-25
-5
0
0
0
0
0
0
0
-11
-18
43
53
-39
23
-1
38
-22
41
0
0
0
0
0
0
0
11
10
29
-19
34
-24
8
4
0
1
0
0
0
0
0
0
0
23
-12
25
-51
-11
-23
62
-11
11
0
0
0
0
0
0
0
0
-34
39
-12
29
-1
18
15
-1
0
0
0
0
0
0
0
0
0
36
14
11
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
49
20
-4
28
-43
25
0
0
0
0
0
0
0
0
0
0
45
71
9
31
39
-20
14
8
-2
0
0
0
0
0
0
0
0
9
14
71
14
-7
64
16
58
21
0
0
0
0
0
0
0
0
43
28
-38
23
-36
39
20
25
18
-1
0
0
0
0
0
0
0
23
-38
33
44
40
12
-16
1
6
-1
0
0
0
0
0
0
0
7
19
49
24
-17
31
13
12
0
0
0
0
0
0
0
0
0
9
21
14
19
11
0
-18
-18
0
0
0
0
0
0
0
0
0
69
-10
72
4
4
1
-4
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-22
38
22
83
0
0
0
0
0
0
0
0
0
0
0
-22
23
2
24
-20
-63
1
0
0
0
0
0
0
0
0
0
0
-9
47
32
19
32
3
11
-8
0
0
0
0
0
0
0
0
0
-29
-9
3
28
22
-7
-7
0
0
0
0
0
0
0
0
0
0
32
20
7
21
19
1
2
0
0
0
0
0
0
0
0
0
0
19
41
-21
-7
12
-15
-3
0
0
0
0
0
0
0
0
0
0
-7
47
-27
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-40
33
-2
0
0
0
0
0
0
0
0
0
0
0
0
10
-21
27
4
8
0
0
0
0
0
0
0
0
0
0
0
0
4
21
28
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-10
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
13
0
0
0
13
4
0
0
0
0
0
0
0
0
0
0
0
16
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
25
51
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
40
-4
6
-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
8
-10
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
15
50
5
12
-1
-20
-59
11
0
0
0
0
0
0
0
0
1
-22
17
0
12
18
18
19
0
0
0
0
0
0
0
0
0
10
13
-10
28
45
-14
4
9
-4
0
0
0
0
0
0
0
0
-4
-13
4
-1
-12
22
0
6
0
0
0
0
0
0
0
0
0
-12
37
-22
5
49
37
6
-1
0
0
0
0
0
0
0
0
0
11
0
-28
21
6
-6
-7
0
0
0
0
0
0
0
0
0
0
0
-2
16
27
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
-1
0
0
0
16
-2
0
0
0
0
0
0
0
0
0
0
11
19
1
-5
0
-44
7
8
0
0
0
0
0
0
0
0
0
61
-1
12
5
12
55
3
8
0
0
0
0
0
0
0
0
0
52
-32
-56
57
-32
-11
-15
0
0
0
0
0
0
0
0
0
0
48
84
-21
-2
-10
45
-6
-3
0
0
0
0
0
0
0
0
0
-10
46
80
-50
-14
0
1
0
0
0
0
0
0
0
0
0
0
-15
0
48
10
45
0
0
1
-1
0
0
0
0
0
0
0
0
-2
25
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
4
-28
6
0
0
25
0
0
0
0
0
0
0
0
0
0
9
0
10
0
2
0
4
1
0
0
0
0
0
0
0
0
0
0
11
-4
2
1
6
-2
7
0
0
0
0
0
0
0
0
0
0
0
8
-38
-46
-2
11
-1
0
0
0
0
0
0
0
0
0
0
-22
2
2
1
10
-11
2
0
0
0
0
0
0
0
0
0
1
38
35
0
21
6
4
0
0
0
0
0
0
0
0
0
0
2
14
0
-15
4
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
-20
1
16
19
0
0
0
0
0
0
0
0
0
0
-1
76
96
-21
5
-52
-20
-4
0
0
0
0
0
0
0
0
0
0
-1
23
-8
-4
-34
19
1
1
-1
0
0
0
0
0
0
0
0
-9
0
-18
8
-1
-13
2
0
0
0
0
0
0
0
0
0
0
3
25
-7
7
5
-2
3
2
0
0
0
0
0
0
0
0
0
44
-32
5
-11
18
3
-6
1
0
0
0
0
0
0
0
0
-2
10
20
-9
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
5
-18
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-13
56
1
39
9
5
0
0
0
0
0
0
0
0
0
-49
8
11
45
16
8
-24
41
0
0
0
0
0
0
0
0
0
36
-45
-17
30
-39
42
-24
-13
-1
0
0
0
0
0
0
0
0
-12
-19
-24
-5
-18
2
-5
16
0
0
0
0
0
0
0
0
0
0
49
19
-18
-29
27
19
2
-7
0
0
0
0
0
0
0
0
10
6
22
7
17
16
3
-8
0
0
0
0
0
0
0
0
0
-30
39
7
14
-13
0
0
0
2
0
0
0
0
0
0
0
0
83
-22
77
-20
-2
0
0
16
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
62
-7
-3
-58
17
11
-2
0
0
0
0
0
0
0
0
0
-23
-28
-9
6
63
-18
8
53
10
0
0
0
0
0
0
0
0
22
-10
-24
-18
-1
-5
13
-5
7
2
0
0
0
0
0
0
0
12
-8
-15
-6
11
-1
14
6
7
0
0
0
0
0
0
0
0
0
-44
-7
45
88
42
-2
21
10
0
0
0
0
0
0
0
0
6
-39
-23
22
-23
18
18
16
-16
30
0
0
0
0
0
0
0
20
46
56
63
4
-31
0
-11
-1
0
0
0
0
0
0
0
0
43
-64
-21
65
-1
-17
-1
0
-1
0
0
0
0
0
0
0
0
-9
5
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-19
31
35
-4
25
-2
0
0
0
0
0
0
0
0
0
22
20
34
87
42
4
30
-2
-19
0
0
0
0
0
0
0
0
23
7
35
10
26
45
10
16
-1
1
0
0
0
0
0
0
0
23
65
47
5
33
-2
48
-2
1
0
0
0
0
0
0
0
0
4
32
42
63
23
88
-36
-1
-7
0
0
0
0
0
0
0
0
-22
35
62
-6
-2
-22
-39
33
-4
0
0
0
0
0
0
0
0
-43
-9
25
56
39
-9
21
0
0
0
0
0
0
0
0
0
0
1
-12
-5
31
25
2
1
0
0
0
0
0
0
0
0
0
0
6
26
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-5
17
56
-7
45
1
-7
0
0
0
0
0
0
0
0
0
44
24
-1
-3
37
-7
-15
60
-19
32
0
0
0
0
0
0
0
42
46
47
35
-11
-3
2
42
16
6
0
0
0
0
0
0
0
0
37
51
-21
80
51
7
25
31
8
0
0
0
0
0
0
0
-3
-3
41
25
6
21
30
-34
-7
5
0
0
0
0
0
0
0
2
-5
-4
98
7
-2
19
24
-50
6
0
0
0
0
0
0
0
-11
-1
51
65
20
27
12
-43
0
0
0
0
0
0
0
0
0
83
13
-35
-12
25
8
-27
6
1
0
0
0
0
0
0
0
0
-7
46
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
13
18
-1
28
-6
7
0
0
0
0
0
0
0
0
0
0
47
-15
11
54
0
-8
30
1
4
3
0
0
0
0
0
0
0
-11
31
31
59
46
-7
-2
-20
0
0
0
0
0
0
0
0
0
-19
6
39
18
9
-16
8
-76
-1
-1
0
0
0
0
0
0
0
-11
-39
25
32
-14
30
45
28
1
0
0
0
0
0
0
0
0
42
32
32
-15
10
18
35
14
-7
0
0
0
0
0
0
0
0
69
39
26
-8
-26
-35
11
-11
0
0
0
0
0
0
0
0
0
-2
-31
1
-11
-6
14
12
2
0
0
0
0
0
0
0
0
0
-22
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
26
0
-40
-1
-11
0
0
0
0
0
0
0
0
0
0
0
5
-36
71
27
-53
-28
0
0
0
0
0
0
0
0
0
0
0
-15
-25
22
14
16
14
10
1
0
0
0
0
0
0
0
0
0
-13
-5
21
23
-9
-9
1
16
0
0
0
0
0
0
0
0
0
-1
33
8
-35
13
-4
-10
-8
0
0
0
0
0
0
0
0
0
1
-3
-32
9
-8
3
4
1
0
0
0
0
0
0
0
0
0
-9
4
12
8
22
1
0
0
0
0
0
0
0
0
0
0
0
-21
-4
15
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-1
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
23
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
2
-4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
3
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
10
-2
0
9
0
0
0
0
0
0
0
0
0
3
2
-3
0
6
0
-18
0
0
0
0
0
0
0
0
0
0
9
8
56
-5
-1
2
0
35
0
0
0
0
0
0
0
0
0
1
3
-12
-10
7
0
7
0
0
0
0
0
0
0
0
0
0
11
0
-2
-2
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
1
12
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
3
-1
-1
-1
0
0
0
0
0
0
0
0
0
-8
-2
-8
35
0
1
-1
0
0
0
0
0
0
0
0
0
0
4
0
41
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
6
-5
3
0
0
0
0
0
0
0
0
0
0
0
4
-10
-1
26
6
-3
0
0
0
0
0
0
0
0
0
0
0
10
0
33
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-18
13
1
6
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
-8
-19
6
-10
0
2
0
3
0
0
0
0
0
0
0
0
-28
0
-16
0
0
3
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
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
6
-1
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
-9
0
0
0
0
0
0
0
0
0
0
0
1
1
0
35
-6
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
9
-9
4
0
0
0
0
0
0
0
0
0
0
0
1
4
-29
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
7
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
7
-3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
14
7
-1
14
42
-1
14
3
0
0
0
0
0
0
0
0
-1
17
-90
-32
-4
-42
-13
-3
0
0
0
0
0
0
0
0
0
2
2
58
30
15
3
0
6
4
0
0
0
0
0
0
0
0
0
-33
47
78
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
50
-7
0
0
-3
0
0
0
0
0
0
0
0
0
0
37
5
35
29
-2
-3
0
4
0
0
0
0
0
0
0
0
0
-5
-25
9
10
18
0
0
0
0
0
0
0
0
0
0
0
0
-53
-1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
1
0
-4
-1
0
0
0
0
0
0
0
0
0
0
-3
27
23
-50
-25
0
-5
3
0
0
0
0
0
0
0
0
0
0
-21
41
5
5
14
-2
-1
10
0
0
0
0
0
0
0
0
-3
0
10
42
20
-12
14
10
0
0
0
0
0
0
0
0
0
-1
-6
-3
-3
-39
-35
-3
0
0
0
0
0
0
0
0
0
0
0
34
-21
75
34
-22
-5
0
0
0
0
0
0
0
0
0
0
1
16
66
-41
-8
-17
0
0
0
0
0
0
0
0
0
0
0
7
0
26
-25
0
0
0
0
1
0
0
0
0
0
0
0
0
25
2
1
4
9
0
0
0
0
0
0
0
0
0
0
0
0
25
-15
64
15
-2
-47
36
-4
0
0
0
0
0
0
0
0
0
42
37
14
42
32
-30
-18
-25
0
0
0
0
0
0
0
0
0
19
12
-11
-46
48
-38
0
-3
-2
0
0
0
0
0
0
0
0
-10
7
-35
-23
33
33
-15
23
0
0
0
0
0
0
0
0
0
-25
-17
-5
30
-55
23
-12
-2
1
0
0
0
0
0
0
0
0
6
47
38
7
-29
84
17
-2
10
0
0
0
0
0
0
0
0
46
89
60
-54
24
45
-1
0
0
0
0
0
0
0
0
0
0
19
-10
-26
17
-21
-4
2
0
-1
0
0
0
0
0
0
0
0
-21
27
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
1
4
35
-32
-58
7
0
0
0
0
0
0
0
0
0
12
36
16
44
20
-4
-59
-3
-6
1
0
0
0
0
0
0
0
2
2
14
2
70
53
28
23
-32
-4
0
0
0
0
0
0
0
-3
-14
18
-2
11
35
4
6
-43
-2
0
0
0
0
0
0
0
0
76
60
-33
-37
4
-81
109
-33
0
0
0
0
0
0
0
0
-12
2
-36
-8
16
-45
50
54
-3
-1
0
0
0
0
0
0
0
-8
65
-26
38
38
4
22
-1
-7
-4
0
0
0
0
0
0
0
-4
-28
-34
-48
-21
-6
4
-3
0
0
0
0
0
0
0
0
0
-21
11
22
-11
0
0
7
0
0
0
0
0
0
0
0
0
0
0
10
-1
68
57
4
-2
1
0
0
0
0
0
0
0
0
0
0
-1
38
61
50
78
-48
-22
0
-1
0
0
0
0
0
0
0
0
9
61
55
49
32
46
-36
-3
6
0
0
0
0
0
0
0
0
-60
32
11
-17
-8
5
0
-22
0
0
0
0
0
0
0
0
0
40
39
55
-17
-10
14
20
2
0
0
0
0
0
0
0
0
0
3
-45
20
38
39
24
-3
15
1
0
0
0
0
0
0
0
0
2
-41
-5
14
-58
26
-6
12
-4
0
0
0
0
0
0
0
0
-6
57
-14
-4
-13
-3
0
0
0
0
0
0
0
0
0
0
0
13
-34
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-25
-28
1
21
20
1
0
0
0
0
0
0
0
0
0
0
0
-8
37
42
-49
-12
1
-1
0
0
0
0
0
0
0
0
0
0
0
-18
16
-11
-7
0
0
-8
0
0
0
0
0
0
0
0
0
0
-7
37
-8
-11
-1
0
0
0
0
0
0
0
0
0
0
0
-4
1
-40
7
-19
15
-11
0
0
0
0
0
0
0
0
0
0
3
0
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
3
0
0
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
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
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
-7
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
9
-9
-3
-9
0
6
0
0
0
0
0
0
0
0
0
0
2
-7
15
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
11
18
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
17
23
22
65
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-26
75
0
0
10
0
0
0
0
0
0
0
0
0
0
6
-5
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
14
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
15
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
40
3
48
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
23
0
10
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
-23
-18
-1
23
-9
-1
0
0
0
0
0
0
0
0
0
0
6
0
-2
-10
0
1
0
1
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
19
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
5
12
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
3
1
7
-9
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
0
0
0
-41
0
-3
0
0
0
0
0
0
0
0
-3
6
1
15
-3
-28
-1
-17
0
0
0
0
0
0
0
0
0
0
-6
19
-1
16
5
-59
-3
-1
0
0
0
0
0
0
0
0
0
0
-1
25
7
55
2
0
1
0
0
0
0
0
0
0
0
0
1
2
19
-32
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
2
20
0
0
0
0
0
0
0
0
0
0
0
0
0
6
12
4
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-13
-11
12
0
0
0
0
0
0
0
0
0
0
0
0
10
13
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-28
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
9
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
3
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-2
8
-2
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
10
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-14
-19
-27
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
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
-4
0
0
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
-2
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
5
-21
-4
-15
0
-6
0
0
0
0
0
0
0
0
-1
0
-3
11
0
-6
8
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-42
-12
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
1
0
0
0
3
-3
1
0
0
0
0
0
0
0
15
-33
-25
22
0
0
0
13
-11
0
1
0
0
0
0
0
0
-2
-4
-17
0
-46
-48
9
-65
-13
11
0
0
0
0
0
0
0
1
7
10
30
6
-36
-28
-1
5
-2
0
0
0
0
0
0
0
0
15
16
19
-40
16
18
27
1
0
0
0
0
0
0
0
0
0
1
0
33
-5
31
-2
-1
10
3
0
0
0
0
0
0
0
0
4
-1
-1
7
-9
-6
12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-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
3
0
0
0
0
-51
-5
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-30
-19
2
0
0
0
0
0
0
0
0
0
0
-2
4
9
22
11
-13
-32
1
0
0
0
0
0
0
0
0
-1
0
0
4
64
-2
-36
6
1
2
0
0
0
0
0
0
0
0
6
0
-18
-13
7
3
-7
-1
0
0
0
0
0
0
0
0
0
0
-17
6
-39
4
9
3
3
0
0
0
0
0
0
0
0
0
2
0
0
-4
1
20
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
16
-1
1
1
0
0
0
0
0
0
0
0
0
0
6
-6
-10
13
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-15
-2
2
0
0
0
0
0
0
0
0
-2
0
0
-2
29
-29
-6
-1
-3
0
0
0
0
0
0
0
0
0
0
1
0
2
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
7
3
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-36
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
3
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
3
-6
-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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
24
6
-12
0
0
0
0
0
0
0
0
0
0
0
2
-3
-9
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
2
1
4
-10
0
0
0
0
0
0
0
0
0
0
0
-13
0
10
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
30
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
7
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
47
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
1
13
-12
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-7
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-4
-47
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
14
-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
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-11
10
9
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
0
7
-9
3
-1
0
0
0
0
0
0
0
0
0
0
11
0
2
-7
-24
-4
-66
6
0
0
0
0
0
0
0
0
0
0
0
0
-6
-21
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
3
-14
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
8
-9
0
0
0
-4
0
0
0
0
0
0
0
0
-10
11
14
-2
-11
0
0
0
0
-1
0
0
0
0
0
0
-9
0
7
3
-2
-2
7
-6
-3
0
0
0
0
0
0
0
0
0
3
1
3
0
15
5
54
11
2
0
0
0
0
0
0
0
0
0
0
0
-2
-2
6
4
13
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-9
12
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
3
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
2
0
1
-43
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
1
-3
-68
-19
-14
0
0
0
-7
0
0
0
0
0
0
0
0
0
6
2
18
-2
6
-72
-40
0
0
0
0
0
0
0
0
1
0
3
12
1
-41
-53
23
-17
-1
0
0
0
0
0
0
0
0
0
-8
1
-6
-47
15
8
-4
1
0
0
0
0
0
0
0
0
0
-3
0
-1
-54
28
63
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-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
-4
-24
-24
30
-8
0
0
0
0
0
0
0
0
0
0
0
-11
2
-78
-57
-48
-48
0
0
0
32
-6
0
0
0
0
0
0
2
19
12
7
21
-28
-1
16
-74
-1
-1
0
0
0
0
0
0
4
-1
13
3
18
32
-35
-9
1
-10
0
0
0
0
0
0
0
6
-6
0
-15
39
3
-28
58
-44
0
0
0
0
0
0
0
0
0
0
-3
0
-54
-68
-1
-28
67
-24
-1
0
0
0
0
0
0
0
0
2
1
-7
12
20
-35
23
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-6
7
0
0
0
0
0
0
0
0
0
2
-26
7
-9
1
0
0
0
-2
0
0
0
0
0
0
0
1
10
-42
-57
51
-13
0
0
0
-21
-5
0
0
0
0
0
0
0
4
-17
50
-3
-29
2
5
-29
-9
-1
0
0
0
0
0
0
0
-3
7
-24
8
7
-52
-5
51
2
-29
0
2
0
0
0
0
0
0
-3
-25
40
44
0
-54
-21
-45
0
0
0
0
0
0
0
0
0
0
10
-47
-85
17
9
62
20
-2
0
0
0
0
0
0
0
0
2
2
2
2
41
17
8
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
21
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
45
-6
0
0
0
0
0
0
0
0
6
-29
-9
3
0
0
0
-22
-37
0
0
0
0
0
0
0
0
0
-1
9
-7
10
28
9
0
8
-2
0
0
0
0
0
0
0
0
-1
0
3
66
-44
13
9
-8
0
-1
0
0
0
0
0
0
0
-1
3
1
10
-19
-13
46
-44
0
0
0
0
0
0
0
0
0
0
0
1
-37
12
13
23
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-8
-1
-2
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
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
3
1
0
0
0
6
-44
1
0
0
0
0
0
0
0
0
0
0
0
-3
2
-10
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
2
-15
-2
2
-3
0
0
0
0
0
0
0
0
0
-1
0
1
1
7
7
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
21
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-1
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
5
0
-4
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
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
-1
1
-5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
1
6
10
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-17
11
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-17
16
-58
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
10
-5
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-8
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
-6
15
0
0
0
0
0
0
0
0
0
0
0
8
-1
-3
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-11
-27
64
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
21
-12
-15
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
13
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
2
-3
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
-1
13
40
45
-1
0
0
0
0
0
0
0
0
0
4
0
1
0
0
-7
-1
7
0
0
0
0
0
0
0
0
0
-1
1
-9
-21
9
-26
-6
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-15
36
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-14
-12
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
7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
3
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
10
-1
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
12
-16
-37
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-30
-66
32
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
-4
-7
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
7
1
1
5
-4
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
0
0
0
0
0
0
0
0
0
0
0
-3
2
4
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
6
0
0
0
-4
0
0
0
0
0
0
0
0
9
-19
44
0
1
3
-11
-23
0
0
0
0
0
0
0
0
0
0
4
3
-7
6
8
-61
-26
0
0
0
0
0
0
0
0
0
0
0
-4
-34
50
0
-23
4
0
0
0
0
0
0
0
0
0
0
0
-7
1
9
-49
-9
20
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-44
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-35
1
-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
14
-8
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
21
-7
-65
0
0
0
0
3
-8
0
0
0
0
0
0
-1
-10
-51
6
10
14
25
-48
-10
-13
0
0
0
0
0
0
0
0
-6
-10
10
-17
37
1
-12
-61
21
0
0
0
0
0
0
0
0
0
1
-1
-49
10
6
9
50
3
0
0
0
0
0
0
0
0
0
-7
12
-20
-15
58
56
-26
1
0
0
0
0
0
0
0
0
0
0
0
2
0
51
33
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
16
-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
-3
55
-12
30
-104
0
0
0
1
0
0
0
0
0
0
0
41
28
45
34
-35
-47
0
0
0
-5
6
0
0
0
0
0
0
-9
9
15
41
47
19
-26
-86
2
-71
0
0
0
0
0
0
-1
-2
21
50
-2
-6
-26
17
24
64
-1
8
0
0
0
0
0
0
0
4
-26
12
-18
18
-46
67
1
-53
11
0
0
0
0
0
0
0
37
17
6
3
21
-8
15
22
0
2
0
0
0
0
0
0
0
0
4
-17
0
9
25
46
31
-14
0
0
0
0
0
0
0
0
0
2
-1
-1
8
-5
-14
-60
15
0
0
0
0
0
0
0
0
0
0
0
0
2
0
14
0
0
0
0
0
0
0
0
0
-1
17
36
39
32
11
0
0
0
0
0
0
0
0
0
0
0
-4
2
-26
35
29
-52
0
0
0
-7
0
0
0
0
0
0
0
-10
-4
62
8
13
-33
7
-51
-26
-12
-2
0
0
0
0
0
0
0
1
13
1
-39
-43
-60
-44
-29
-67
1
-6
0
0
0
0
0
10
18
2
19
-50
-10
-12
1
82
-1
4
0
0
0
0
0
0
0
0
-21
-2
-31
4
15
-5
27
58
0
0
0
0
0
0
0
0
0
-7
-17
3
10
-13
-20
-4
13
4
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
40
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
-1
0
5
1
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
4
25
-2
0
0
0
-9
-4
-1
0
0
0
0
0
0
0
0
0
11
-16
16
2
44
8
11
0
0
0
0
0
0
0
3
0
0
-2
-9
-5
30
35
-9
0
0
0
0
0
0
0
0
0
0
-1
-4
-1
-17
25
-21
-46
0
-1
0
0
0
0
0
0
0
0
0
0
0
-21
30
-14
-16
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-6
9
-7
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
7
-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
-4
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
36
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-27
-1
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-14
1
6
-3
1
0
0
0
0
0
0
0
0
0
-1
-3
10
4
1
-25
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
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
-11
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
10
-6
-2
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
-1
-15
-14
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
-2
-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
11
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-6
9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
68
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-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
-1
-6
-7
-12
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-10
-8
-13
0
10
-3
-7
-10
0
0
0
0
0
0
0
0
0
0
0
7
3
2
-41
-3
14
-10
0
0
0
0
0
0
0
0
0
0
0
-2
9
16
19
-3
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
-4
9
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-67
-48
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
20
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
11
1
-3
-1
0
0
0
-1
0
0
0
0
0
0
0
1
-10
0
2
2
-4
2
-32
-12
1
0
0
0
0
0
0
0
0
0
2
1
-7
26
49
-23
-6
2
0
0
0
0
0
0
0
0
0
-4
0
2
-4
-44
-15
0
6
0
0
0
0
0
0
0
0
0
0
0
0
21
49
-56
16
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-2
-33
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-31
-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
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-9
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
-1
-6
0
15
-7
13
-16
0
0
0
0
0
0
0
0
0
0
-2
-2
-2
13
21
-31
15
0
0
0
0
0
0
0
0
0
0
-7
2
0
35
7
20
-38
6
0
0
0
0
0
0
0
0
0
0
0
-7
12
48
41
-14
0
0
0
0
0
0
0
0
0
0
0
-16
0
18
3
-44
17
5
0
0
0
0
0
0
0
0
0
0
0
1
-18
-47
-4
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
-1
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
-44
1
1
-7
0
0
0
6
1
0
0
0
0
0
0
6
-16
0
-23
70
3
-6
3
36
-1
0
0
0
0
0
0
0
0
0
20
-11
0
-6
1
-28
0
7
0
0
0
0
0
0
0
0
8
1
17
-50
0
-9
-22
-30
-10
0
0
0
0
0
0
0
0
0
1
2
-9
-32
-1
-65
-30
-6
0
0
0
0
0
0
0
0
0
2
-1
2
-6
-5
16
-73
0
0
0
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
4
-1
-41
0
0
0
0
0
0
0
0
0
0
1
1
20
-3
-9
0
0
0
0
0
0
0
0
0
0
0
13
6
66
-55
-34
-14
0
0
0
23
4
0
0
0
0
0
0
0
-27
-2
41
77
104
6
-81
-54
0
0
0
0
0
0
0
0
0
-19
38
-17
-58
-4
-34
-21
10
3
-8
0
0
0
0
0
0
0
-8
0
5
94
-13
0
27
37
-4
0
0
0
0
0
0
0
0
1
7
28
77
-9
1
14
13
0
0
0
0
0
0
0
0
0
0
0
-21
-3
-25
-9
-56
20
-2
0
0
0
0
0
0
0
0
0
0
0
6
13
-16
48
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
13
0
0
0
0
0
0
0
0
0
2
-24
1
-26
-2
13
0
0
0
11
0
0
0
0
0
0
1
2
13
-1
69
15
-41
0
0
0
-2
0
0
0
0
0
0
0
12
-18
-8
-27
28
0
-39
-38
-17
0
0
0
0
0
0
0
0
-3
-6
4
20
14
-76
-26
-33
15
5
-15
0
0
0
0
0
0
0
-30
51
-91
9
13
-7
2
17
-8
0
0
0
0
0
0
0
2
19
-18
-21
-27
-9
-3
89
1
-8
6
0
0
0
0
0
0
0
-3
-1
-2
-85
18
34
-17
-15
1
0
0
0
0
0
0
0
0
0
0
0
-2
26
-57
17
-63
-36
0
0
0
0
0
0
0
0
0
0
0
0
-12
-13
-24
-13
-2
0
0
0
0
0
0
0
0
-74
15
-4
6
-49
0
0
0
3
0
0
0
0
0
0
0
-49
3
36
-28
31
-58
0
0
0
10
-2
0
0
0
0
0
0
-4
9
-4
-33
45
34
-29
-65
-21
7
-6
-4
0
0
0
0
0
0
19
24
-5
11
-23
-4
30
32
-17
-2
0
0
0
0
0
0
-11
10
-1
-32
-33
-58
10
-4
47
10
-6
0
0
0
0
0
0
0
-14
-11
-13
-13
22
13
22
55
0
0
0
0
0
0
0
0
-6
0
-1
-105
-49
11
-16
56
-27
0
0
0
0
0
0
0
0
0
0
0
11
-18
3
-26
-27
15
34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
-2
-9
23
-6
0
0
0
1
15
0
0
0
0
0
0
0
2
-2
0
-2
-4
23
48
-4
69
2
0
0
0
0
0
0
0
0
1
0
-9
0
-19
61
19
18
12
1
0
0
0
0
0
0
0
0
-2
-2
-2
4
-8
9
-12
0
0
0
0
0
0
0
0
0
0
0
-4
-11
-14
5
16
16
0
0
0
0
0
0
0
0
0
0
0
10
0
0
2
-5
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
34
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-29
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
-25
12
-36
7
0
0
0
0
0
0
0
0
0
0
0
-7
0
5
3
1
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
7
0
-4
0
2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-6
-1
8
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-7
-6
18
0
0
0
0
0
0
0
0
0
0
1
-3
-1
6
43
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-24
1
-4
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-6
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
3
-77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-9
0
28
0
0
0
0
0
0
0
0
0
0
0
0
3
-15
-18
-10
-1
1
0
0
0
0
0
0
0
0
0
0
-3
-21
22
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
8
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
0
12
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
-2
3
47
32
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-39
-51
8
3
7
2
-5
0
0
0
0
0
0
0
0
0
0
-11
-21
6
0
47
8
-97
1
0
0
0
0
0
0
0
0
0
0
0
42
43
-84
-15
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-6
26
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
4
-22
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-29
-41
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
3
0
0
0
0
0
0
0
0
0
0
0
6
-4
-6
2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
-5
0
2
-12
-6
9
-2
0
0
0
0
0
0
0
0
-10
0
14
0
26
27
-15
-4
0
0
0
0
0
0
0
0
0
-3
15
0
-18
16
-19
8
13
0
0
0
0
0
0
0
0
0
0
2
0
0
-17
-9
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-10
-12
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-79
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
10
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
-5
2
7
4
0
0
0
0
1
0
0
0
0
0
0
0
-1
7
24
4
9
-5
12
-23
22
2
0
0
0
0
0
0
0
0
0
-79
7
-13
14
41
12
0
-3
0
0
0
0
0
0
0
0
1
-46
-14
-10
-97
-4
3
-20
0
0
0
0
0
0
0
0
0
1
5
-34
3
0
-7
-73
-43
0
0
0
0
0
0
0
0
3
0
0
6
0
-6
-3
-21
-3
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
-34
5
-37
0
0
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
-11
-20
-18
0
0
0
0
0
0
0
0
0
0
0
-3
22
-10
20
24
40
0
0
0
2
0
0
0
0
0
0
0
3
-39
-10
20
-74
3
-12
3
-41
0
0
0
0
0
0
0
0
6
0
14
5
8
-70
30
29
15
-3
-1
0
0
0
0
0
0
0
-3
-4
-37
14
55
-41
-11
16
0
0
0
0
0
0
0
0
0
0
0
32
28
-55
0
2
21
0
0
0
0
0
0
0
0
0
0
3
-1
31
12
-7
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-90
-1
-53
-92
-4
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
-23
2
0
0
0
0
0
0
0
0
-26
-5
-4
-37
5
0
0
0
0
-1
0
0
0
0
0
0
0
-83
15
11
35
-21
-34
0
0
0
-30
0
0
0
0
0
0
0
-30
-46
8
-10
35
-41
26
-19
0
-6
1
0
0
0
0
0
0
19
-5
72
22
12
-8
-35
-1
6
-1
0
0
0
0
0
0
0
0
-16
62
-7
2
-13
6
-6
18
-1
0
0
0
0
0
0
0
-5
7
10
-4
41
2
46
0
10
0
0
0
0
0
0
0
0
1
1
7
-2
-18
-4
6
73
14
10
0
0
0
0
0
0
0
0
0
0
-53
8
-24
41
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
11
31
0
-17
0
0
0
0
0
0
0
7
-3
29
-43
12
2
0
0
0
4
0
0
0
0
0
0
0
-16
-20
-53
-33
22
-21
0
0
0
13
-4
0
0
0
0
0
0
1
6
20
-55
-57
-61
28
-18
-57
4
1
0
0
0
0
0
0
3
-2
-49
5
-19
19
-13
2
-22
2
0
0
0
0
0
0
0
2
0
14
-9
-28
20
12
54
14
3
10
0
0
0
0
0
0
0
-6
-13
9
-52
49
40
-15
0
5
1
0
0
0
0
0
0
0
3
-1
-40
-3
6
-43
-26
20
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-47
69
27
-37
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-28
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-8
4
0
0
0
0
0
0
0
0
0
0
7
-5
0
0
0
-18
0
1
0
0
0
0
0
0
0
0
0
14
9
-38
-21
17
17
7
0
0
0
0
0
0
0
0
0
-1
3
4
-51
11
36
-1
4
0
0
0
0
0
0
0
0
0
-12
0
1
6
19
23
-13
0
0
0
0
0
0
0
0
0
0
0
2
0
-20
0
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-5
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
12
-3
-3
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
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-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
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
3
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
9
-3
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-1
2
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
-1
-8
4
-4
2
0
6
0
0
0
0
0
0
0
0
0
0
1
0
0
6
-28
3
7
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
-13
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
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
-2
0
-3
0
-1
0
-2
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
-5
-4
8
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
19
-25
-15
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
-1
1
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
10
0
7
0
0
0
0
0
0
0
0
0
0
0
0
2
2
3
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
10
6
-5
-6
1
1
0
0
0
0
0
0
0
0
0
0
-4
0
1
1
3
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-12
-60
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
2
7
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
-12
0
-50
-2
4
0
0
0
0
0
0
0
0
0
0
-12
-28
19
-40
-48
21
29
0
0
0
0
0
0
0
0
0
0
0
-3
3
-19
-6
-28
6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
12
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
28
-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
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
24
6
-14
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-7
2
-28
4
4
-10
7
0
0
0
0
0
0
0
0
0
0
8
13
63
-45
-42
-1
-30
6
0
0
0
0
0
0
0
0
-7
2
-1
-4
-13
-44
1
-17
0
0
0
0
0
0
0
0
0
2
0
-19
-33
8
-2
11
4
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
7
-38
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-27
30
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-3
0
0
0
0
0
0
0
0
0
5
-26
3
1
0
0
0
0
0
0
0
0
0
0
0
-6
-1
13
-34
23
-66
0
0
0
0
0
0
0
0
0
0
0
6
-6
41
-30
66
-27
9
-15
-63
0
0
0
0
0
0
0
0
-10
6
-74
-16
53
-34
28
-78
-2
1
0
0
0
0
0
0
0
0
-26
40
-37
-45
18
81
-26
-27
6
0
0
0
0
0
0
0
1
0
10
28
38
41
-16
43
-2
0
0
0
0
0
0
0
0
0
0
-4
-13
-68
4
0
37
-20
0
0
0
0
0
0
0
0
0
0
0
0
27
-52
-21
-48
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-11
20
0
0
0
0
0
0
0
0
0
0
13
5
-2
4
15
0
0
0
0
0
0
0
0
0
0
0
21
17
-1
-3
19
-11
0
0
0
0
0
0
0
0
0
0
0
-3
-33
-19
-64
-16
-11
30
-45
9
0
0
0
0
0
0
0
0
21
-48
-38
8
4
23
-51
-50
-73
7
0
0
0
0
0
0
0
-1
-30
-48
-24
51
-18
33
-48
51
0
0
0
0
0
0
0
0
0
7
-3
11
-6
-28
11
-24
3
0
0
0
0
0
0
0
0
0
0
8
44
13
-11
-22
0
43
2
0
0
0
0
0
0
0
0
0
0
2
-10
-58
-25
25
28
6
1
0
0
0
0
0
0
0
0
0
0
2
25
5
4
0
0
0
0
0
0
0
0
0
0
60
-45
-61
33
10
0
0
0
0
0
0
0
0
0
0
0
-5
2
-24
-43
-33
-5
0
0
0
24
1
0
0
0
0
0
0
9
55
-21
10
58
-64
-82
2
-2
5
4
0
0
0
0
0
0
-10
5
26
-24
-26
-41
-63
-2
6
-11
0
0
0
0
0
0
0
6
-22
-37
-15
77
-16
-31
7
-69
10
0
0
0
0
0
0
0
9
-25
18
-60
-8
-21
18
-4
-60
-16
1
0
0
0
0
0
0
0
0
-28
26
1
-12
40
9
0
-2
0
0
0
0
0
0
0
0
0
0
1
23
-9
24
-2
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
2
0
0
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
-4
10
0
1
0
0
0
42
-1
0
0
0
0
0
0
0
0
0
2
10
1
2
-4
-23
3
0
0
0
0
0
0
0
0
0
0
0
-23
43
26
-2
-7
12
0
0
0
0
0
0
0
0
0
0
-2
28
26
24
-15
-1
-2
0
0
0
0
0
0
0
0
0
-3
2
3
3
-4
27
-10
1
0
0
0
0
0
0
0
0
0
0
0
4
-12
-9
-5
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-7
-4
-2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
-1
0
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
-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
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
9
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
6
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
-1
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
1
0
0
0
-3
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
4
1
-9
-31
-18
-1
-2
6
0
0
0
0
0
0
0
0
0
0
0
-7
-20
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
1
3
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-67
-4
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
23
-4
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
81
10
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
15
-27
18
6
8
-4
0
4
0
0
0
0
0
0
0
0
0
7
-59
0
-26
-2
6
-4
-9
0
0
0
0
0
0
0
0
0
11
-18
14
11
50
-40
-8
0
0
0
0
0
0
0
0
0
0
0
2
4
40
12
-52
30
-46
0
0
0
0
0
0
0
0
0
0
-4
-9
-42
1
-15
30
-15
0
0
0
0
0
0
0
0
0
0
1
0
-4
4
0
7
-36
2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
10
-1
0
0
0
0
0
0
0
0
-29
1
29
-9
7
0
0
0
0
0
0
0
0
0
0
0
-17
-3
17
-33
-64
-7
0
0
0
0
0
0
0
0
0
0
0
-9
-2
-14
6
-6
-4
-21
35
-10
0
0
0
0
0
0
0
0
4
47
26
-33
-34
7
-48
46
9
0
0
0
0
0
0
0
0
0
-15
12
-18
-54
-4
19
-20
10
-1
0
0
0
0
0
0
0
-3
1
39
-13
17
8
22
29
-40
-1
0
0
0
0
0
0
0
0
6
-9
-14
-62
-33
16
-87
-16
3
0
0
0
0
0
0
0
0
0
15
-1
23
2
16
0
5
2
0
0
0
0
0
0
0
0
-1
0
0
-4
14
-2
-46
0
1
0
0
0
0
0
0
0
0
3
-6
42
-5
-5
0
0
0
0
0
0
0
0
0
0
0
-15
54
-6
-55
17
-53
0
0
0
0
0
0
0
0
0
0
0
7
-12
19
-21
2
-47
-24
28
26
0
0
0
0
0
0
0
0
0
-3
87
-27
6
-50
-27
-33
-39
0
0
0
0
0
0
0
0
0
9
6
76
-8
10
13
-23
-67
-7
0
0
0
0
0
0
0
0
21
-14
-2
-69
7
-31
25
-79
0
0
0
0
0
0
0
0
0
-6
13
-3
8
8
-20
22
-3
0
0
0
0
0
0
0
0
0
0
0
-35
-19
16
18
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-93
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
-2
28
-4
0
0
0
0
0
0
0
0
0
2
12
0
-2
3
32
5
-22
0
0
0
0
0
0
0
0
0
0
0
2
2
11
41
-5
-25
0
0
0
0
0
0
0
0
0
0
0
8
0
-2
38
-11
2
0
0
0
0
0
0
0
0
0
0
2
0
-1
18
-6
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
9
1
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-7
0
0
0
0
0
0
0
0
0
0
-3
3
1
-2
7
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
50
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
4
0
12
0
-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
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
0
9
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-46
30
14
-14
-1
8
109
0
0
0
0
0
0
0
0
0
-13
-4
8
27
13
29
-46
0
0
0
0
0
0
0
0
0
0
0
27
-9
-44
2
-1
21
-67
-2
0
0
0
0
0
0
0
0
0
-4
-8
14
-37
29
-5
-47
-1
0
0
0
0
0
0
0
0
0
7
0
3
63
52
-41
-3
1
0
0
0
0
0
0
0
0
0
0
1
-1
-31
-21
21
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
18
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-19
0
0
0
0
0
0
0
0
0
-1
0
-1
0
-7
0
25
16
0
0
0
0
0
0
0
0
0
0
0
0
7
8
26
-17
9
3
0
0
0
0
0
0
0
0
0
0
-21
0
-11
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
1
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-2
-4
4
-6
0
1
0
-2
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
11
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
9
4
1
4
0
0
8
0
0
0
0
0
0
0
0
0
0
1
4
6
-6
0
0
0
-12
0
0
0
0
0
0
0
0
0
-1
-22
13
4
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-36
-9
0
9
1
-1
0
0
0
0
0
0
0
0
0
-3
14
8
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
22
45
-29
0
-58
0
0
0
0
0
0
0
0
0
-71
30
3
39
-24
77
33
-1
0
0
0
0
0
0
0
0
0
16
41
52
14
-6
-8
-2
-3
0
0
0
0
0
0
0
0
0
56
35
-30
-11
-26
1
14
-18
3
0
0
0
0
0
0
0
0
-5
-9
6
53
34
11
1
-1
0
0
0
0
0
0
0
0
0
-17
-50
36
-5
-18
-7
0
0
0
0
0
0
0
0
0
0
0
61
11
-16
-4
2
1
-1
0
0
0
0
0
0
0
0
0
0
-41
6
4
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
13
-34
10
7
0
10
1
0
0
0
0
0
0
0
0
0
18
11
18
23
23
-30
-26
0
0
0
0
0
0
0
0
0
0
31
6
-9
32
-42
-4
-1
0
0
0
0
0
0
0
0
0
0
-10
-11
-27
18
19
0
-4
0
0
0
0
0
0
0
0
0
0
-14
3
37
5
-1
-8
0
0
0
0
0
0
0
0
0
0
0
1
0
-25
-6
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
-5
0
0
0
0
0
0
0
0
0
0
0
-4
12
-37
-28
-13
11
-1
0
0
0
0
0
0
0
0
0
0
9
11
-2
29
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
0
-9
-3
0
0
0
0
0
0
0
0
0
0
0
11
-4
-13
18
8
2
4
0
0
0
0
0
0
0
0
0
0
0
11
1
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
5
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
2
1
6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-8
0
0
0
0
0
0
0
0
0
0
-3
0
2
6
4
-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
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
1
-3
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
12
-2
0
2
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
-13
0
0
0
0
0
0
0
0
0
6
-3
-2
-6
3
4
0
7
0
0
0
0
0
0
0
0
0
5
0
6
-5
18
0
-4
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
2
0
0
0
0
0
0
0
0
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
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
-26
-8
19
0
3
-33
0
0
0
0
0
0
0
0
0
0
-1
-16
-33
0
0
1
13
-5
0
0
0
0
0
0
0
0
0
0
-5
15
5
4
9
0
-2
0
0
0
0
0
0
0
0
0
-7
1
24
24
0
-6
6
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-43
-8
0
0
-2
-9
0
0
0
0
0
0
0
0
0
-16
-13
32
30
1
-8
-1
0
0
0
0
0
0
0
0
0
0
4
-4
17
13
0
0
-3
10
1
0
0
0
0
0
0
0
0
18
5
-44
45
15
0
-4
0
3
0
0
0
0
0
0
0
0
0
43
2
-8
-2
3
1
0
0
0
0
0
0
0
0
0
0
-6
13
1
10
7
0
0
2
0
0
0
0
0
0
0
0
0
0
5
10
-22
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
81
-21
-6
0
-1
0
0
0
0
0
0
0
0
0
0
-17
-16
65
-83
18
4
7
13
0
0
0
0
0
0
0
0
0
36
44
-4
10
-29
-21
-2
-7
54
0
0
0
0
0
0
0
0
85
19
58
19
1
23
-13
-39
0
0
0
0
0
0
0
0
0
68
-30
-3
-42
-30
-9
-15
-1
-16
0
0
0
0
0
0
0
0
-16
-46
-16
23
14
16
-2
0
0
0
0
0
0
0
0
0
0
0
-13
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
3
41
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-2
51
-10
10
24
0
0
0
0
0
0
0
0
0
0
0
10
0
98
-34
52
49
11
-29
-7
0
0
0
0
0
0
0
0
3
4
-4
10
-13
-10
-24
-28
-2
0
0
0
0
0
0
0
0
-7
-11
1
-15
-41
40
7
-58
-6
0
0
0
0
0
0
0
0
59
0
48
9
-27
2
14
-1
-9
0
0
0
0
0
0
0
0
31
43
-55
-7
-7
10
8
-8
0
0
0
0
0
0
0
0
0
5
-11
-14
-51
-9
29
15
0
0
0
0
0
0
0
0
0
0
34
-5
15
0
0
1
2
0
0
0
0
0
0
0
0
0
0
-63
-9
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-62
-25
50
36
0
-24
0
0
0
0
0
0
0
0
0
0
5
-37
-46
26
11
16
-34
-1
0
0
0
0
0
0
0
0
0
0
-35
-9
-11
-69
-58
-33
-1
0
0
0
0
0
0
0
0
0
2
1
-13
-42
69
0
-8
9
3
0
0
0
0
0
0
0
0
49
-35
0
-44
-8
29
-7
-4
-8
0
0
0
0
0
0
0
0
7
-5
6
0
0
-9
0
4
0
0
0
0
0
0
0
0
0
-18
-4
9
-2
-4
0
7
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
10
-25
0
4
-1
0
0
0
0
0
0
0
0
0
0
44
-11
10
44
40
32
-3
0
0
0
0
0
0
0
0
0
0
-3
-44
-10
-16
-19
-2
0
-3
0
0
0
0
0
0
0
0
0
-12
3
2
8
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
-2
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-15
-17
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-16
53
-4
-19
-15
-8
3
-1
0
0
0
0
0
0
0
0
0
9
6
-1
-8
-18
2
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
4
-3
3
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
-7
3
-1
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
3
0
-9
34
1
-5
-7
1
0
0
0
0
0
0
0
0
0
-7
0
-3
0
3
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
24
10
-10
0
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
1
0
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
15
1
16
3
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
-35
17
-9
1
0
0
0
0
0
0
0
0
0
-2
0
-2
-1
-9
5
7
-2
0
0
0
0
0
0
0
0
0
3
-1
0
-3
-17
-34
10
0
1
0
0
0
0
0
0
0
0
0
17
0
31
15
0
-1
0
0
0
0
0
0
0
0
0
0
9
0
0
-23
-7
9
0
0
0
0
0
0
0
0
0
0
0
-7
-1
3
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-30
1
18
13
23
-3
0
0
0
0
0
0
0
0
0
0
-15
-15
-4
19
20
-58
3
0
0
0
0
0
0
0
0
0
1
-17
-18
-3
-13
-1
4
0
0
0
0
0
0
0
0
0
0
-2
-11
4
1
11
10
0
-8
0
0
0
0
0
0
0
0
0
3
-1
12
-3
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
-15
-9
-2
2
0
2
0
0
0
0
0
0
0
0
0
0
0
33
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
6
21
-2
-3
0
8
0
0
0
0
0
0
0
0
0
11
41
-10
-4
-14
-2
-15
5
0
0
0
0
0
0
0
0
0
4
45
11
21
8
1
3
6
0
0
0
0
0
0
0
0
0
-2
5
27
-1
-2
-10
21
0
-2
0
0
0
0
0
0
0
0
9
26
-1
76
-3
-11
2
0
0
0
0
0
0
0
0
0
0
27
0
5
25
0
3
0
2
4
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
33
0
0
0
0
0
0
0
0
0
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
-3
13
-2
-29
-3
0
0
0
0
0
0
0
0
0
0
-15
2
64
20
-8
16
-12
-51
-13
0
0
0
0
0
0
0
0
15
34
-29
57
-2
0
-26
-9
-1
0
0
0
0
0
0
0
0
-9
-2
-1
47
0
0
-2
9
4
0
0
0
0
0
0
0
0
12
14
52
68
18
5
9
-2
0
0
0
0
0
0
0
0
0
-15
-25
16
22
-5
6
0
1
0
0
0
0
0
0
0
0
0
-2
5
64
40
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-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
-1
-27
-47
3
-39
-39
40
11
0
0
0
0
0
0
0
0
0
78
59
-21
-9
-20
3
15
1
-20
0
0
0
0
0
0
0
0
-6
88
8
-10
16
15
2
-3
0
0
0
0
0
0
0
0
0
58
-49
44
33
14
12
13
0
-14
0
0
0
0
0
0
0
0
12
15
44
8
-3
44
25
0
0
0
0
0
0
0
0
0
0
-48
-62
-11
-4
-5
0
1
-10
1
0
0
0
0
0
0
0
0
66
73
1
4
5
2
0
0
0
0
0
0
0
0
0
0
0
-4
-5
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-49
-19
-76
-2
-34
-26
-64
0
0
0
0
0
0
0
0
0
10
-68
-12
-55
-31
-52
-27
-60
12
3
0
0
0
0
0
0
0
-24
4
-87
-25
-14
5
-4
-7
-7
15
0
0
0
0
0
0
0
16
31
-10
-31
26
24
-8
-5
-12
-1
0
0
0
0
0
0
0
-117
-61
-103
-31
39
7
30
20
0
0
0
0
0
0
0
0
0
68
46
41
24
8
-39
2
6
-4
0
0
0
0
0
0
0
0
71
-5
-5
-14
-15
0
-4
-1
0
0
0
0
0
0
0
0
0
7
16
8
32
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
51
-17
32
-34
-11
33
3
0
-8
0
0
0
0
0
0
0
-12
-2
-28
17
-4
-41
49
9
-7
2
0
0
0
0
0
0
0
-66
-39
4
-18
22
-9
-9
53
-10
0
0
0
0
0
0
0
0
-2
-65
-3
-59
8
-1
1
-13
-2
0
0
0
0
0
0
0
0
16
34
3
25
-59
-16
-12
-28
-10
3
0
0
0
0
0
0
0
54
-6
-17
48
-15
5
11
-22
-7
0
0
0
0
0
0
0
0
52
68
74
6
0
-12
-3
19
3
0
0
0
0
0
0
0
0
24
22
12
-1
4
0
4
2
0
0
0
0
0
0
0
0
0
49
18
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
3
33
-43
34
84
57
0
35
0
0
0
0
0
0
0
0
32
39
4
-43
-8
16
40
-45
-6
2
2
0
0
0
0
0
0
-19
9
11
5
10
-42
-76
-16
-3
0
0
0
0
0
0
0
0
-3
40
-51
0
-14
-5
-26
-1
0
0
0
0
0
0
0
0
0
2
-57
-26
44
-14
85
53
2
-1
0
0
0
0
0
0
0
0
73
-1
-13
-38
13
-20
16
56
0
0
0
0
0
0
0
0
0
-8
45
-39
6
-19
-1
14
17
0
0
0
0
0
0
0
0
0
22
37
40
0
-3
1
-18
0
0
0
0
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
27
-3
-9
36
0
24
-1
0
0
0
0
0
0
0
0
-12
57
27
14
32
37
3
0
-1
0
0
0
0
0
0
0
0
28
-1
-41
-40
-1
35
9
-13
0
0
0
0
0
0
0
0
0
-17
55
26
-19
-14
44
29
7
0
0
0
0
0
0
0
0
0
1
-50
-7
-59
-45
-2
8
-6
0
0
0
0
0
0
0
0
0
26
13
36
51
-37
-11
1
6
-4
0
0
0
0
0
0
0
0
-3
-36
19
-7
-4
-6
1
1
0
0
0
0
0
0
0
0
0
24
11
12
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
30
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-14
-31
11
44
0
-2
8
-1
0
0
0
0
0
0
0
0
-60
-45
23
-18
-45
-58
20
2
6
0
0
0
0
0
0
0
0
-25
20
-6
0
-8
34
-28
0
0
0
0
0
0
0
0
0
0
-40
26
-27
-18
26
54
-18
0
0
0
0
0
0
0
0
0
0
-8
-7
0
-3
1
-5
0
0
0
0
0
0
0
0
0
0
0
-25
-1
-4
0
0
0
2
0
1
0
0
0
0
0
0
0
0
28
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-41
80
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
4
-10
9
7
-6
7
0
0
0
0
0
0
0
0
0
0
6
16
7
13
-4
-53
0
0
0
0
0
0
0
0
0
0
0
1
1
1
-2
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
4
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
6
-1
38
15
0
4
0
0
0
0
0
0
0
0
0
0
0
4
-1
-4
-6
7
-6
0
0
0
0
0
0
0
0
0
0
0
-2
8
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-3
-7
6
3
0
0
-6
-3
0
0
0
0
0
0
0
0
0
10
0
0
-15
2
-54
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
-2
6
0
0
0
0
0
0
0
0
0
0
-1
0
-35
8
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
3
0
6
-12
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-12
0
0
-6
-9
0
0
0
0
0
0
0
0
0
0
0
62
-13
-23
36
61
63
-14
0
0
0
0
0
0
0
0
0
-12
0
1
0
10
-4
-67
7
0
0
0
0
0
0
0
0
0
9
-12
0
2
0
-6
0
4
-3
0
0
0
0
0
0
0
0
5
8
-3
0
-9
-4
-5
0
-4
0
0
0
0
0
0
0
0
0
4
4
92
-5
-4
11
3
0
0
0
0
0
0
0
0
0
0
-3
-2
24
-1
0
-4
8
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-25
0
-5
0
1
0
0
0
0
0
0
0
0
0
3
15
-23
34
-19
4
65
-2
-2
0
0
0
0
0
0
0
0
-22
51
0
2
-3
-5
6
21
0
0
0
0
0
0
0
0
0
-18
-18
9
0
0
-7
0
0
2
0
0
0
0
0
0
0
0
-16
-28
-4
0
6
5
6
-10
0
0
0
0
0
0
0
0
0
1
2
35
0
56
0
1
0
-1
0
0
0
0
0
0
0
0
0
13
-19
-15
-7
7
0
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
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
6
3
0
-8
15
0
0
0
0
0
0
0
0
0
0
0
-8
15
-4
7
-16
1
0
-2
0
0
0
0
0
0
0
0
0
-90
-60
3
0
2
-21
70
0
0
0
0
0
0
0
0
0
18
-5
-1
5
0
-2
-9
1
-1
0
0
0
0
0
0
0
0
-24
14
-19
-9
0
2
4
-5
0
0
0
0
0
0
0
0
0
-21
-31
-8
46
5
-19
0
-1
-1
0
0
0
0
0
0
0
0
-7
29
81
-26
-3
-13
0
0
0
0
0
0
0
0
0
0
0
3
48
0
-14
0
0
0
0
0
0
0
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
35
-4
-44
-51
-24
18
0
-1
0
0
0
0
0
0
0
-21
49
6
-18
33
84
66
-32
-4
0
0
0
0
0
0
0
0
14
-70
36
-32
4
-29
-6
4
13
0
0
0
0
0
0
0
0
-43
40
65
50
9
0
-1
-15
2
0
0
0
0
0
0
0
0
-28
-47
-60
-22
0
0
4
15
0
0
0
0
0
0
0
0
0
-66
-51
14
3
27
-3
7
0
0
1
0
0
0
0
0
0
0
1
-21
10
-33
-7
0
0
-1
0
0
0
0
0
0
0
0
0
-1
2
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
-2
-15
-39
4
3
6
56
25
0
0
0
0
0
0
0
0
0
54
-31
47
17
26
-7
41
30
0
0
0
0
0
0
0
0
0
31
28
-27
73
-74
-49
22
5
-6
0
0
0
0
0
0
0
0
-2
-30
-35
-60
6
-2
-1
0
-3
0
0
0
0
0
0
0
0
4
11
25
-24
39
0
-2
0
1
0
0
0
0
0
0
0
0
43
-6
41
26
11
7
0
6
0
0
0
0
0
0
0
0
0
3
36
69
2
20
8
0
1
-15
0
0
0
0
0
0
0
0
15
-12
32
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-12
-87
-17
19
13
8
40
0
-3
0
0
0
0
0
0
0
46
-7
7
-63
-25
-42
-36
-12
11
0
3
0
0
0
0
0
0
-85
-53
63
16
-52
-5
35
10
0
13
0
0
0
0
0
0
0
-7
30
-15
-9
-40
10
-2
0
-1
2
0
0
0
0
0
0
0
15
-6
-27
-11
14
15
-6
0
0
13
0
0
0
0
0
0
0
-16
15
-39
33
-6
-23
25
14
-11
0
0
0
0
0
0
0
0
10
29
21
-9
-6
19
-9
-3
1
0
0
0
0
0
0
0
0
1
-12
34
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
75
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
81
2
2
-3
-23
-12
17
0
4
0
0
0
0
0
0
0
21
24
30
18
-14
-8
-14
-7
27
1
-4
0
0
0
0
0
0
-62
10
-15
-18
-32
-41
18
-106
-30
-1
0
0
0
0
0
0
0
-32
-14
25
-30
-66
-1
8
-26
2
0
0
0
0
0
0
0
0
69
-17
-26
-4
19
21
22
0
-1
0
0
0
0
0
0
0
0
40
0
-8
6
6
-39
-4
14
10
3
0
0
0
0
0
0
0
-36
-21
33
9
6
5
11
-11
6
0
0
0
0
0
0
0
0
47
53
26
47
8
3
0
0
8
0
0
0
0
0
0
0
0
-29
-8
82
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-35
-11
-22
29
30
-16
0
18
-1
0
0
0
0
0
0
0
23
8
-14
29
24
14
38
-19
49
-1
0
0
0
0
0
0
0
-19
6
33
-19
-20
-25
3
14
9
0
0
0
0
0
0
0
0
18
-9
-27
-2
41
29
22
-38
6
0
0
0
0
0
0
0
0
38
-22
29
30
9
16
9
-2
0
0
0
0
0
0
0
0
0
26
-30
-18
-32
-26
-8
-1
38
6
0
0
0
0
0
0
0
0
-1
2
37
21
-40
8
1
31
-13
0
0
0
0
0
0
0
0
5
-9
-64
-19
0
-2
4
0
0
0
0
0
0
0
0
0
0
1
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-2
-18
5
30
2
0
17
-1
0
0
0
0
0
0
0
0
12
22
-22
-43
42
-30
19
-20
-2
0
0
0
0
0
0
0
0
15
22
12
-1
27
40
10
3
0
0
0
0
0
0
0
0
0
48
-17
4
-3
-34
22
16
1
0
0
0
0
0
0
0
0
0
65
-2
3
25
9
-3
-1
0
0
0
0
0
0
0
0
0
0
-23
-9
49
7
47
33
0
2
0
0
0
0
0
0
0
0
0
-19
43
-21
3
0
0
2
0
0
0
0
0
0
0
0
0
0
12
-19
-13
2
0
-7
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
-32
3
-25
-7
-53
0
2
2
-4
0
0
0
0
0
0
0
0
-3
-50
50
1
-5
-14
2
3
0
0
0
0
0
0
0
0
0
18
55
48
-85
30
-40
-24
0
0
0
0
0
0
0
0
0
0
-20
-35
-30
1
29
-12
-2
0
0
0
0
0
0
0
0
0
0
5
1
1
2
-20
0
0
0
0
0
0
0
0
0
0
0
0
3
0
8
-1
0
8
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
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
8
-6
2
-14
1
0
0
0
0
0
0
0
0
0
0
0
-9
0
-12
13
2
1
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
-18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
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
1
0
-9
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-15
-18
19
-3
-21
9
-2
6
0
0
0
0
0
0
0
0
0
0
21
-29
-3
-34
5
-6
0
0
0
0
0
0
0
0
0
0
6
0
7
-20
-10
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
80
-5
9
0
-2
-1
0
0
0
0
0
0
0
0
-1
3
12
-1
-2
-6
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
6
1
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
49
-2
-25
0
0
0
10
0
0
0
0
0
0
0
0
0
0
11
1
-47
23
0
-17
0
-10
0
0
0
0
0
0
0
0
0
-3
-21
55
-6
9
28
-3
0
0
0
0
0
0
0
0
0
-6
0
0
0
-22
3
10
3
-22
0
0
0
0
0
0
0
0
-1
0
0
0
7
0
6
0
0
0
0
0
0
0
0
0
0
2
0
0
0
13
-12
7
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
-9
0
1
-6
0
0
0
0
0
0
0
0
5
16
-4
-3
0
0
2
11
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-19
6
-10
20
0
0
0
0
0
0
0
0
0
0
0
0
-3
-37
-63
-8
7
18
17
0
0
0
0
0
0
0
0
0
9
1
5
-19
2
3
-25
-10
12
0
0
0
0
0
0
0
0
-35
42
0
-7
0
-7
14
-3
2
0
0
0
0
0
0
0
0
-12
-22
0
0
0
-1
-6
0
12
0
0
0
0
0
0
0
0
-30
-33
0
0
1
-2
6
10
0
0
0
0
0
0
0
0
0
60
1
-41
6
22
0
-27
-1
0
0
0
0
0
0
0
0
0
-4
-4
10
10
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
52
-1
9
12
11
0
8
0
0
0
0
0
0
0
0
0
0
10
-28
47
17
15
23
-19
0
0
0
0
0
0
0
0
0
4
42
-39
44
-41
24
0
30
1
0
0
0
0
0
0
0
0
-3
-31
4
2
7
-3
-39
-10
-3
0
0
0
0
0
0
0
0
0
-15
-42
1
0
0
3
0
9
0
0
0
0
0
0
0
0
-7
23
-16
0
0
0
58
-2
0
0
0
0
0
0
0
0
0
32
15
-5
35
-20
-1
0
-1
0
0
0
0
0
0
0
0
0
-1
-9
-2
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-31
28
7
-1
35
39
26
0
0
0
0
0
0
0
0
0
0
2
-110
45
-51
8
-38
-21
8
0
0
0
0
0
0
0
0
5
-30
-29
16
27
90
25
-25
31
0
0
0
0
0
0
0
0
9
-9
48
-43
6
-4
-4
20
2
0
0
0
0
0
0
0
0
-14
-35
80
-7
0
0
0
-10
-1
0
0
0
0
0
0
0
0
9
13
73
56
2
0
0
20
0
-11
0
0
0
0
0
0
0
38
-29
58
-11
1
18
0
0
0
0
0
0
0
0
0
0
0
5
-36
-2
44
2
0
0
1
0
0
0
0
0
0
0
0
0
-41
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
44
17
12
-4
6
25
-1
0
0
0
0
0
0
0
0
0
-5
-5
52
31
-4
-5
1
16
9
0
0
0
0
0
0
0
0
-24
-9
51
16
3
20
-7
20
-1
0
0
0
0
0
0
0
0
4
-22
0
-132
22
-4
0
0
0
-2
0
0
0
0
0
0
0
-8
-31
35
8
-16
1
0
0
-6
0
0
0
0
0
0
0
0
-18
7
55
-7
-16
1
0
0
-16
-2
0
0
0
0
0
0
0
-1
0
36
-10
-1
3
0
-26
0
0
0
0
0
0
0
0
0
-3
-73
8
0
-4
-4
-1
0
-1
0
0
0
0
0
0
0
0
8
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-7
7
14
-4
20
46
2
0
-2
0
0
0
0
0
0
0
34
2
0
11
-4
46
-9
34
32
0
0
0
0
0
0
0
0
-18
-72
22
-45
41
61
-12
-2
21
-9
0
0
0
0
0
0
0
-33
-24
55
-39
57
32
4
1
0
-4
0
0
0
0
0
0
0
13
43
33
43
-1
6
0
0
0
0
0
0
0
0
0
0
0
24
1
-11
5
-58
8
4
0
0
-2
0
0
0
0
0
0
0
-32
14
-34
0
-15
83
-10
25
-8
0
0
0
0
0
0
0
0
24
-21
34
31
3
-28
0
19
0
0
0
0
0
0
0
0
0
68
3
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-18
18
3
36
52
-26
52
0
-1
0
0
0
0
0
0
0
59
14
-28
14
4
44
38
38
-29
6
-3
0
0
0
0
0
0
-3
-14
20
4
17
12
26
13
-34
11
0
0
0
0
0
0
0
14
8
30
-25
-6
31
21
-47
-2
0
0
0
0
0
0
0
0
-16
-22
-27
-33
36
-32
-2
-1
0
0
0
0
0
0
0
0
0
66
11
-35
0
-14
58
18
-1
0
0
0
0
0
0
0
0
0
9
15
-37
-7
-7
52
31
51
0
0
0
0
0
0
0
0
0
-38
-16
-72
-36
-1
-2
6
0
-4
6
0
0
0
0
0
0
0
-13
-14
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
3
-40
20
33
25
-34
0
16
-11
0
0
0
0
0
0
0
-26
3
-5
26
7
56
58
42
-5
2
0
0
0
0
0
0
0
-6
-28
21
37
34
-15
-50
-51
-17
1
0
0
0
0
0
0
0
39
-19
-31
15
16
-31
2
-23
-1
0
0
0
0
0
0
0
0
23
5
-48
24
39
-92
-19
2
0
0
0
0
0
0
0
0
0
25
-1
51
41
35
-23
-28
0
0
0
0
0
0
0
0
0
0
12
-73
-41
38
-64
99
-27
40
2
0
0
0
0
0
0
0
0
-41
-32
26
-38
-13
1
1
3
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
-15
-19
-45
4
5
80
0
1
-10
-10
0
0
0
0
0
0
0
38
-19
6
-23
27
-28
-2
1
1
0
0
0
0
0
0
0
0
42
54
-3
56
16
46
-3
4
-1
1
0
0
0
0
0
0
0
-34
44
47
-15
-6
-18
6
0
0
0
0
0
0
0
0
0
0
-22
35
-69
30
-8
43
-8
0
0
0
0
0
0
0
0
0
0
28
-5
-104
-42
10
4
-2
0
0
0
0
0
0
0
0
0
0
-48
-3
-3
-10
-2
-4
0
19
0
0
0
0
0
0
0
0
0
47
11
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-1
-16
4
-7
0
-2
6
0
0
0
0
0
0
0
0
0
1
6
-26
-14
-12
3
-1
0
0
0
0
0
0
0
0
0
0
-1
-6
14
-10
12
2
1
0
0
0
0
0
0
0
0
0
0
0
2
10
-1
-4
-3
0
0
0
0
0
0
0
0
0
0
0
2
4
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
-3
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-2
12
-6
1
-1
3
0
0
0
0
0
0
0
0
0
0
15
-6
0
-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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-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
2
0
-8
1
0
0
9
0
0
0
0
0
0
0
0
0
3
2
0
7
0
-6
3
-20
0
0
0
0
0
0
0
0
0
-1
-3
-6
0
-68
34
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-40
-12
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
9
0
0
0
0
0
0
0
0
0
0
0
6
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-1
15
0
0
0
4
0
0
0
0
0
0
0
0
0
0
5
-1
-4
6
0
15
23
1
0
0
0
0
0
0
0
0
0
47
-3
5
-1
-37
9
-2
6
0
0
0
0
0
0
0
0
0
2
1
0
-19
7
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
9
-7
-3
-1
0
0
0
0
0
0
0
0
0
-1
-2
-3
21
0
1
-11
-10
0
0
0
0
0
0
0
0
0
9
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
20
4
0
8
-8
0
0
0
0
0
0
0
0
0
0
6
13
42
-35
50
34
7
0
4
0
0
0
0
0
0
0
0
-1
-12
-33
1
28
-3
-5
54
0
0
0
0
0
0
0
0
0
8
0
21
4
8
0
18
1
1
0
0
0
0
0
0
0
0
0
19
0
-6
0
24
-9
7
2
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
26
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-2
0
9
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-19
-21
-11
-41
0
0
0
0
0
0
0
0
0
0
0
6
-30
25
-34
-62
-5
4
0
0
0
0
0
0
0
0
0
-20
21
75
0
0
-17
-15
5
-1
0
0
0
0
0
0
0
0
5
-74
-16
20
-45
54
7
4
0
0
0
0
0
0
0
0
0
-3
-30
37
-6
0
2
-34
-2
-4
0
0
0
0
0
0
0
0
3
-11
-21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
16
0
3
0
-7
0
0
0
0
0
0
0
0
0
0
41
13
0
-29
0
1
0
3
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
-69
-4
-5
6
12
-44
-42
0
0
0
0
0
0
0
0
0
0
-41
-46
-18
-59
-2
89
-5
-9
0
0
0
0
0
0
0
0
6
75
-10
19
-45
27
12
-42
3
0
0
0
0
0
0
0
0
2
-53
-37
-8
95
62
-17
-9
-8
0
0
0
0
0
0
0
0
4
84
4
-49
-18
0
0
74
4
0
0
0
0
0
0
0
0
42
-20
13
31
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
-16
31
-15
0
0
0
-4
0
0
0
0
0
0
0
0
0
4
4
-18
-8
2
0
11
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
41
40
12
39
-3
30
16
-48
0
0
0
0
0
0
0
0
0
44
-50
15
-7
-34
-17
2
45
44
0
0
0
0
0
0
0
0
-3
15
-4
-58
51
-26
20
-36
-5
0
0
0
0
0
0
0
0
54
-22
-6
-5
61
21
67
38
0
0
0
0
0
0
0
0
0
35
-10
20
25
15
1
0
0
0
0
0
0
0
0
0
0
0
23
23
-8
26
-35
0
0
0
4
0
0
0
0
0
0
0
0
-12
11
101
43
-24
0
0
0
4
-2
0
0
0
0
0
0
0
53
-26
-14
-14
-11
-7
-2
-10
0
0
0
0
0
0
0
0
0
2
15
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-4
13
0
51
60
40
3
0
0
0
0
0
0
0
0
0
-13
-49
-32
-4
-59
3
5
47
-50
1
0
0
0
0
0
0
0
3
20
-50
27
5
4
21
64
-45
15
0
0
0
0
0
0
0
-21
61
40
-32
4
-1
27
-22
-34
0
0
0
0
0
0
0
0
22
-12
25
20
49
-52
10
-8
-1
-2
0
0
0
0
0
0
0
72
-10
-39
-32
26
19
0
0
0
0
0
0
0
0
0
0
0
8
11
-30
-2
6
8
-6
0
0
0
0
0
0
0
0
0
0
-5
-34
-13
8
0
7
-2
0
0
0
0
0
0
0
0
0
0
38
-27
19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-56
-87
-27
89
13
9
28
0
-4
0
0
0
0
0
0
0
1
-1
42
22
-13
26
28
25
-3
31
0
0
0
0
0
0
0
10
-12
1
7
8
32
0
2
-14
-22
6
0
0
0
0
0
0
40
-5
37
29
-2
17
-3
69
5
-8
0
0
0
0
0
0
0
-24
12
22
-6
45
-20
-20
4
-1
0
0
0
0
0
0
0
0
-54
-1
27
27
24
-13
-45
0
0
0
0
0
0
0
0
0
0
41
-22
-15
21
-46
21
-1
0
0
0
0
0
0
0
0
0
0
48
-19
-4
-12
-28
-32
-1
-9
3
0
0
0
0
0
0
0
0
-21
8
-58
18
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
48
-35
-2
39
-30
-35
15
0
-10
-2
0
0
0
0
0
0
0
41
-24
32
3
6
35
11
43
-13
1
0
0
0
0
0
0
0
50
3
-2
15
9
-15
35
17
-7
-2
0
0
0
0
0
0
0
-3
0
11
6
50
-32
32
0
-7
0
0
0
0
0
0
0
0
2
-33
-22
-6
5
-25
-12
0
0
0
0
0
0
0
0
0
0
-53
-28
10
-23
-42
-39
44
2
0
0
0
0
0
0
0
0
0
25
-38
-45
3
-12
60
13
1
0
0
0
0
0
0
0
0
0
-13
-26
-14
19
0
21
4
-4
0
0
0
0
0
0
0
0
0
42
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
4
6
23
1
4
0
11
0
0
0
0
0
0
0
0
0
7
15
17
-25
44
17
-20
3
-1
0
0
0
0
0
0
0
0
47
37
-19
6
37
72
2
-37
0
0
0
0
0
0
0
0
0
-16
-19
11
-3
30
-2
-7
6
-1
0
0
0
0
0
0
0
0
37
92
-5
-51
-39
32
6
0
0
0
0
0
0
0
0
0
0
23
2
15
31
2
-1
-7
0
0
0
0
0
0
0
0
0
0
-46
-20
-13
-7
6
1
0
0
0
0
0
0
0
0
0
0
0
33
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
4
-25
4
-44
0
0
0
0
0
0
0
0
0
0
0
0
-44
-12
-27
32
3
38
0
7
0
0
0
0
0
0
0
0
0
18
-9
-1
-20
-17
0
2
0
0
0
0
0
0
0
0
0
0
0
1
-10
-2
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
5
-6
-10
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
1
-3
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
1
-11
0
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
0
1
-7
0
4
0
-10
0
0
0
0
0
0
0
0
0
0
0
1
0
14
1
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
2
-8
-2
0
-6
0
0
0
0
0
0
0
0
0
0
-23
1
-43
-19
7
4
0
0
0
0
0
0
0
0
0
0
0
-6
1
3
11
0
-2
0
1
0
0
0
0
0
0
0
0
0
2
0
9
0
-29
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
-46
25
8
8
0
0
0
0
0
0
0
0
0
0
0
0
5
-11
0
-8
3
0
0
0
0
0
0
0
0
0
0
-1
-8
2
-15
-13
0
-5
-1
-1
0
0
0
0
0
0
0
0
-7
1
10
48
-3
2
2
4
-6
0
0
0
0
0
0
0
0
0
68
0
0
0
1
0
-4
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
3
-16
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
-12
-5
0
9
0
0
0
0
0
0
0
0
0
0
0
53
49
-7
7
-4
1
9
6
0
0
0
0
0
0
0
0
0
-6
18
-10
-17
18
6
-7
0
0
0
0
0
0
0
0
0
-2
10
5
-20
-17
6
-17
2
0
0
0
0
0
0
0
0
0
0
1
20
-17
53
29
-14
0
-10
0
0
0
0
0
0
0
0
0
-46
-2
7
0
0
-1
1
-3
0
0
0
0
0
0
0
0
4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
43
10
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
6
69
-1
7
10
-7
-11
13
0
0
0
0
0
0
0
0
0
-3
-20
29
-19
27
3
32
2
1
0
0
0
0
0
0
0
0
2
0
32
0
-34
-34
21
-17
-12
0
0
0
0
0
0
0
0
0
-4
0
69
89
-17
-2
-35
3
1
0
0
0
0
0
0
0
0
37
1
3
60
9
-10
1
1
0
0
0
0
0
0
0
0
1
-95
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
49
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-13
6
68
0
0
0
-4
0
0
0
0
0
0
0
0
0
-17
-3
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-17
-14
22
0
-5
-21
-25
0
0
0
0
0
0
0
0
0
-1
43
61
-59
-14
-33
-1
-23
-2
0
0
0
0
0
0
0
0
-17
-57
-59
-58
0
22
-32
-23
-16
0
0
0
0
0
0
0
0
-6
-22
65
8
51
11
7
-17
-16
-6
0
0
0
0
0
0
0
11
93
70
3
14
17
0
-2
1
0
0
0
0
0
0
0
0
11
-13
63
-19
-42
0
0
4
-3
0
0
0
0
0
0
0
0
-17
19
-33
-96
-7
0
0
0
0
0
0
0
0
0
0
0
0
-10
14
-43
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
34
13
62
-38
31
60
13
35
0
6
0
0
0
0
0
0
0
40
-41
6
-51
-17
9
31
-24
7
0
0
0
0
0
0
0
0
-46
-8
28
-18
-26
-15
11
49
4
-2
0
0
0
0
0
0
0
63
48
56
7
49
109
25
13
-24
0
0
0
0
0
0
0
0
-19
-52
-4
-33
51
-15
53
18
1
0
0
0
0
0
0
0
0
27
20
25
3
-28
-17
1
0
0
-1
0
0
0
0
0
0
0
-26
11
-57
-7
-6
-15
0
0
0
0
0
0
0
0
0
0
0
33
-30
-16
25
21
12
0
0
0
0
0
0
0
0
0
0
0
21
-20
-18
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
78
-15
7
-32
-60
17
-15
10
0
8
0
0
0
0
0
0
0
-8
79
23
-20
1
-1
-1
-23
-20
0
0
0
0
0
0
0
0
29
-50
22
-6
12
53
77
-8
-4
-15
0
0
0
0
0
0
0
-27
13
32
38
-6
26
-14
13
40
0
0
0
0
0
0
0
0
24
-17
31
24
23
42
23
101
-3
25
0
0
0
0
0
0
0
-18
0
22
51
10
6
-28
0
-1
0
0
0
0
0
0
0
0
-5
-7
-13
-21
64
36
3
0
0
0
0
0
0
0
0
0
0
-60
-26
-6
-16
21
36
-9
0
0
0
0
0
0
0
0
0
0
-58
-18
100
-19
0
-12
0
2
0
0
0
0
0
0
0
0
0
0
52
36
64
14
7
-17
4
0
-7
7
0
0
0
0
0
0
0
8
6
-9
-1
38
1
1
8
-94
2
0
0
0
0
0
0
0
-5
20
22
-2
-10
-19
34
53
1
4
0
0
0
0
0
0
0
-24
25
-2
34
22
8
65
-9
-21
0
0
0
0
0
0
0
0
39
15
14
26
-6
-2
-32
48
4
0
0
0
0
0
0
0
0
3
-56
26
-11
-9
0
-7
2
0
0
0
0
0
0
0
0
0
-17
-16
-11
52
8
7
-22
0
0
0
0
0
0
0
0
0
0
-31
-38
-14
23
-38
-11
9
0
0
0
0
0
0
0
0
0
0
29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
8
1
13
9
-12
0
-8
0
0
0
0
0
0
0
0
0
-11
-87
37
67
22
32
10
0
0
0
0
0
0
0
0
0
0
77
60
-38
18
-28
33
15
-45
0
0
0
0
0
0
0
0
0
25
19
17
-23
2
-28
9
24
1
0
0
0
0
0
0
0
0
14
-29
-40
29
55
-13
1
5
0
0
0
0
0
0
0
0
0
59
23
18
-42
-18
1
-5
0
0
0
0
0
0
0
0
0
0
11
-19
-12
15
-1
12
-1
0
0
0
0
0
0
0
0
0
0
62
32
-39
2
0
2
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
27
-18
0
11
-18
0
0
0
0
0
0
0
0
0
0
-65
16
-4
7
16
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
3
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
0
-2
-3
1
0
0
0
0
0
0
0
0
0
0
12
1
0
7
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-10
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
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
-24
-2
-1
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-6
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
7
-6
-7
12
2
1
0
0
0
0
0
0
0
0
0
0
0
2
-4
-22
-5
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
-5
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
44
28
0
15
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-36
-5
-2
5
1
-1
0
0
0
0
0
0
0
0
0
-3
0
5
-2
-8
1
4
0
0
0
0
0
0
0
0
0
0
0
-5
1
55
2
-6
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
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
-6
-7
-1
-3
3
0
4
0
0
0
0
0
0
0
0
0
0
1
40
14
-4
27
19
5
-15
0
0
0
0
0
0
0
0
0
0
-1
23
36
58
15
-49
-7
13
0
0
0
0
0
0
0
0
-1
-11
-23
-24
53
47
-19
0
10
0
0
0
0
0
0
0
0
4
-8
-11
-2
14
18
5
-2
1
0
0
0
0
0
0
0
0
0
-41
-15
-12
40
40
6
0
0
0
0
0
0
0
0
0
0
9
-7
-30
-8
28
0
0
0
6
0
0
0
0
0
0
0
0
-3
17
5
11
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-10
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-9
0
29
1
-16
3
0
0
0
0
0
0
0
0
0
7
19
34
15
16
15
11
-9
5
0
0
0
0
0
0
0
0
-7
-8
-1
-28
-12
-13
-54
8
5
-11
0
0
0
0
0
0
0
14
63
-19
-23
4
-5
23
28
1
1
0
0
0
0
0
0
0
28
-50
28
-47
-29
10
49
-6
-20
0
0
0
0
0
0
0
0
6
20
-57
-64
10
-22
-5
9
7
0
0
0
0
0
0
0
0
-1
-51
0
-20
13
17
0
0
0
0
0
0
0
0
0
0
0
1
-26
-19
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
53
-59
45
2
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-55
-20
-35
-24
19
-17
-11
0
0
0
0
0
0
0
0
0
-45
-29
46
-33
17
40
-14
-7
-29
6
0
0
0
0
0
0
0
-25
-13
-10
20
61
45
9
-3
25
19
0
0
0
0
0
0
0
30
-13
32
-30
36
41
-4
28
21
-10
0
0
0
0
0
0
0
-27
-3
24
29
-3
29
-55
-24
18
0
0
0
0
0
0
0
0
-79
3
-19
20
-11
-19
44
-1
1
1
0
0
0
0
0
0
0
16
-16
19
66
-40
34
-3
0
0
0
0
0
0
0
0
0
0
-47
-40
7
73
46
-12
-3
0
0
0
0
0
0
0
0
0
0
32
-16
-18
39
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
87
-60
-3
-18
13
-5
0
0
0
0
0
0
0
0
0
0
-2
49
18
5
-9
8
30
31
38
-1
0
0
0
0
0
0
0
9
30
8
-17
-25
49
70
37
55
0
0
0
0
0
0
0
0
-15
21
-8
0
50
23
16
28
4
0
0
0
0
0
0
0
0
38
46
-17
84
3
-43
-51
35
0
0
0
0
0
0
0
0
0
15
-41
7
-18
9
59
-8
23
0
0
0
0
0
0
0
0
0
-5
-83
25
33
-11
16
24
0
0
0
0
0
0
0
0
0
0
5
18
-16
-25
13
-4
-9
0
0
0
0
0
0
0
0
0
0
9
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
10
-5
-14
-29
0
-3
0
0
0
0
0
0
0
0
0
2
25
52
-7
-10
7
-28
-10
-1
0
0
0
0
0
0
0
0
-1
9
7
-5
39
7
48
7
1
0
0
0
0
0
0
0
0
27
10
23
18
20
3
-2
1
0
0
0
0
0
0
0
0
0
10
54
-46
16
20
4
-2
0
0
0
0
0
0
0
0
0
0
-5
4
12
40
5
23
0
0
0
0
0
0
0
0
0
0
0
-78
-5
48
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
9
4
27
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-55
16
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
-6
-3
5
-3
-3
-1
1
0
0
0
0
0
0
0
0
0
8
2
4
-2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-2
-11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-16
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
6
1
3
-7
-3
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
2
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
1
3
1
-2
5
-13
2
-1
0
0
0
0
0
0
0
0
-4
0
6
-2
-1
17
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-13
1
15
9
-8
0
0
0
0
0
0
0
0
0
0
8
54
-36
5
26
-15
0
0
0
0
0
0
0
0
0
0
0
-6
0
22
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-5
0
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
71
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
-2
0
-6
0
0
0
0
0
0
0
0
0
0
12
-1
-35
-13
13
-17
10
15
1
0
0
0
0
0
0
0
0
48
6
37
-45
-1
70
18
30
11
0
0
0
0
0
0
0
0
0
1
91
15
41
49
-10
64
4
0
0
0
0
0
0
0
0
77
33
24
12
23
67
-7
13
0
0
0
0
0
0
0
0
0
21
-48
-22
-14
43
-51
15
15
0
0
0
0
0
0
0
0
0
-41
-46
5
-13
16
4
0
0
0
0
0
0
0
0
0
0
0
-50
42
-51
-17
-19
-7
0
0
0
0
0
0
0
0
0
0
0
-11
7
-27
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-13
7
0
-3
1
10
-4
0
0
0
0
0
0
0
0
0
0
35
-2
1
1
4
0
-4
-3
0
0
0
0
0
0
0
0
0
-16
-5
2
45
-34
-28
-7
10
-7
0
0
0
0
0
0
0
0
-22
15
-33
39
0
7
0
0
0
0
0
0
0
0
0
0
0
-1
-11
-24
-41
-5
0
0
0
0
0
0
0
0
0
0
0
0
3
27
-9
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
46
-5
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
11
-4
10
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
14
9
0
-3
0
0
0
0
0
0
0
0
0
0
-2
1
1
-10
-1
-34
7
2
0
0
0
0
0
0
0
0
0
2
-1
13
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
5
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
11
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
10
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
-7
-16
57
19
-23
0
0
0
0
0
0
0
0
0
0
0
-7
2
16
6
45
-60
26
-39
0
0
0
0
0
0
0
0
0
0
-8
-8
-12
55
16
48
-54
0
0
0
0
0
0
0
0
0
-3
-4
-49
-7
18
71
-43
49
0
0
0
0
0
0
0
0
0
0
0
0
36
-28
-27
-21
3
0
0
0
0
0
0
0
0
0
0
0
0
-5
12
-1
-8
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-8
69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
-31
0
0
0
0
0
0
0
0
0
0
-2
-1
18
-12
47
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-101
-80
-47
0
0
0
0
0
0
0
0
0
0
0
-1
-80
-9
5
-41
16
-14
29
42
0
0
0
0
0
0
0
0
4
-15
-9
-3
52
-8
26
7
-10
0
0
0
0
0
0
0
0
4
-12
0
9
-4
-32
-37
29
-35
0
0
0
0
0
0
0
0
-2
3
27
14
-11
16
-13
10
-15
0
0
0
0
0
0
0
0
0
-3
4
14
-19
-25
40
-75
-40
0
0
0
0
0
0
0
0
0
0
0
-23
1
1
36
-49
14
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
3
-8
-11
-12
0
0
0
16
0
0
0
0
0
0
0
0
0
1
45
27
4
0
0
0
35
0
0
0
0
0
0
0
-3
0
-17
21
-15
0
-5
3
-9
28
0
0
0
0
0
0
0
-7
30
10
-5
-29
9
-14
-23
-8
18
0
0
0
0
0
0
0
0
0
67
43
4
-2
6
15
27
-1
0
0
0
0
0
0
0
0
-3
-7
-3
16
21
-22
-18
-28
29
0
0
0
0
0
0
0
0
0
1
0
-13
43
72
-29
70
-5
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
-18
-127
18
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
-6
-1
0
0
0
-41
-33
0
0
0
0
0
0
-7
0
7
7
-16
-64
0
0
0
9
7
0
0
0
0
0
0
0
7
-22
21
8
44
-17
-22
-58
-13
-18
0
0
0
0
0
0
0
-1
-17
-10
22
33
23
-6
1
4
12
0
0
0
0
0
0
0
0
0
0
-23
-7
4
-36
8
-45
-12
0
0
0
0
0
0
0
0
1
29
57
29
57
-71
-25
-37
-2
0
0
0
0
0
0
0
0
0
-2
-88
23
-23
13
-53
6
-2
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
16
7
10
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
-4
0
6
0
20
0
0
0
-39
-9
0
0
0
0
0
0
0
0
-2
-5
-11
0
53
66
-13
-1
10
0
0
0
0
0
0
0
0
9
-5
53
-24
-62
-30
40
30
-2
0
0
0
0
0
0
1
3
12
-15
-34
17
-24
25
-3
8
-3
-16
0
0
0
0
0
0
-1
2
0
8
57
42
15
-1
-5
-2
3
0
0
0
0
0
0
0
0
0
-22
-19
0
-11
-1
2
-17
0
0
0
0
0
0
0
0
0
2
0
0
-1
-3
-8
-17
18
0
0
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
2
-1
1
0
0
0
0
0
0
0
-22
-4
7
0
0
0
0
27
-2
0
0
0
0
0
0
1
-1
6
-26
-25
-49
-12
-51
-72
12
1
6
0
0
0
0
0
0
0
5
11
18
26
17
18
4
3
5
-3
0
0
0
0
0
0
-8
-2
0
14
6
2
-26
1
-12
15
-2
0
0
0
0
0
0
0
0
-1
5
-7
-8
-13
13
21
0
0
0
0
0
0
0
0
0
0
-2
3
9
-23
-25
-19
-31
-1
4
0
0
0
0
0
0
0
0
0
0
-1
8
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
6
9
0
0
0
0
0
0
0
0
11
-25
1
0
0
0
0
0
30
-10
6
0
0
0
0
0
0
-1
-17
-22
-21
-34
36
49
14
-10
7
-4
0
0
0
0
0
0
0
-10
-1
-12
79
-13
-36
29
-8
-1
-3
0
0
0
0
0
0
-3
0
6
40
-11
-16
-21
-28
32
3
0
0
0
0
0
0
0
0
-1
-20
-1
-100
10
-47
0
-4
-1
0
0
0
0
0
0
0
0
-2
0
0
-1
11
-1
20
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
-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
1
3
0
0
0
0
0
0
0
0
7
0
2
3
0
0
0
-37
10
1
-2
0
0
0
0
0
0
0
0
-2
-2
0
-59
4
-29
-12
0
2
0
0
0
0
0
0
0
2
0
9
35
76
34
-46
-2
6
0
3
0
0
0
0
0
0
0
1
24
-18
-14
27
7
19
0
-6
-1
0
0
0
0
0
0
0
0
-6
6
19
-18
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
39
-10
-14
20
0
0
0
0
0
0
0
0
0
0
0
-29
-19
15
44
8
-73
0
0
0
0
0
0
0
0
0
0
0
3
71
-10
18
37
-15
35
28
0
0
0
0
0
0
0
0
0
10
10
-1
-12
60
5
5
25
0
0
0
0
0
0
0
0
0
8
3
-12
5
14
17
66
66
0
0
0
0
0
0
0
0
0
-1
8
-24
26
-5
-83
-17
21
0
0
0
0
0
0
0
0
0
0
0
-17
0
30
-39
-16
-11
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
0
0
42
0
0
0
0
0
0
0
0
0
2
0
-52
-13
61
-73
0
0
0
0
0
0
0
0
0
0
0
-2
-71
34
13
-9
-50
0
0
0
0
0
0
0
0
0
0
0
-18
-33
21
40
44
-15
51
55
40
0
0
0
0
0
0
0
0
32
25
-5
-25
48
-9
8
-30
-25
0
0
0
0
0
0
0
0
-8
-45
35
34
1
-16
-4
29
-1
0
0
0
0
0
0
0
0
1
-10
-9
2
0
27
-10
4
-10
0
0
0
0
0
0
0
0
0
0
5
-29
20
-27
-15
-75
8
0
0
0
0
0
0
0
0
0
0
0
71
-25
4
2
-86
-1
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
-1
25
-6
37
0
0
0
16
0
0
0
0
0
0
0
-1
-16
-4
-69
13
55
0
0
0
40
0
0
0
0
0
0
0
0
-25
7
3
-73
-72
8
9
-17
14
0
0
0
0
0
0
0
9
71
-24
15
16
75
37
5
16
10
0
0
0
0
0
0
0
-1
-6
20
14
-4
63
0
50
-19
-12
0
0
0
0
0
0
0
-9
0
13
17
-31
32
-26
-3
24
-33
0
0
0
0
0
0
0
0
0
0
-20
14
15
-32
78
-39
32
0
0
0
0
0
0
0
0
0
0
1
7
33
-28
4
33
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
-52
10
0
0
0
8
-32
0
0
0
0
0
0
0
11
51
-67
12
-75
0
0
0
6
-13
0
0
0
0
0
0
-2
41
2
40
-70
-14
0
15
-4
73
-21
0
0
0
0
0
0
0
-30
-3
-69
-55
-55
69
-22
19
-19
-7
0
0
0
0
0
0
0
-7
-36
38
30
18
-10
-67
-7
5
-18
0
0
0
0
0
0
0
8
6
1
-23
43
-13
-49
-52
66
-26
0
0
0
0
0
0
0
0
0
2
27
7
-8
28
25
-49
6
0
0
0
0
0
0
0
0
0
6
-1
0
11
9
-54
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-10
6
4
0
0
0
0
0
0
1
1
0
0
0
17
0
0
0
54
-15
2
0
0
0
0
0
0
-2
-11
8
-22
38
0
0
0
18
6
-1
0
0
0
0
0
-1
-2
0
-31
-2
-46
-67
-19
5
23
-17
6
0
0
0
0
0
0
5
-4
-1
78
-9
-20
-68
-55
-40
7
-1
0
0
0
0
0
0
-5
5
-46
-28
6
64
-26
16
-16
-18
6
0
0
0
0
0
0
0
1
-23
27
50
42
92
-81
-33
2
0
0
0
0
0
0
0
0
0
9
7
-41
-38
65
28
7
11
0
0
0
0
0
0
0
0
0
-2
3
-1
4
44
-46
5
-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
-10
24
0
0
-6
0
0
0
25
2
-2
-1
0
0
0
0
0
-13
-76
-2
-5
-40
0
0
0
-57
-25
-40
2
0
0
0
0
0
-12
-68
36
-38
-4
-45
13
-7
52
16
0
0
0
0
0
0
0
1
31
40
-106
-24
11
-7
26
-8
-5
1
-3
0
0
0
0
0
0
5
-7
35
34
-6
31
11
58
-19
-12
-7
0
0
0
0
0
0
4
2
11
-6
4
-45
15
-90
34
-3
0
0
0
0
0
0
0
0
6
10
38
3
-62
-4
12
6
3
0
0
0
0
0
0
0
0
0
-1
0
-2
-20
-3
-15
11
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
1
-7
-48
0
0
0
0
0
50
-11
0
2
0
0
0
0
0
-8
9
-10
-45
16
0
0
0
31
-38
0
-7
0
0
0
0
0
0
32
69
2
34
57
18
-12
34
43
2
1
0
0
0
0
0
0
-16
-8
-18
-1
-11
-34
22
19
-15
-1
1
0
0
0
0
0
0
1
-1
-4
12
-4
25
17
-39
51
8
10
0
0
0
0
0
0
0
7
11
70
-21
37
1
-1
-16
-3
0
0
0
0
0
0
0
0
0
-11
-16
-11
16
1
-45
-6
0
0
0
0
0
0
0
0
0
0
4
0
0
4
-28
-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
11
0
8
0
0
0
0
-7
17
-6
-8
0
0
0
0
0
-3
0
-7
8
28
0
0
0
7
-55
0
12
0
0
0
0
0
0
-7
6
-24
0
-7
12
-21
-7
-4
17
3
0
0
0
0
0
0
0
-15
-9
-29
-28
-84
7
48
-14
-19
3
0
0
0
0
0
0
0
-2
1
34
7
-45
-9
1
2
8
-7
4
0
0
0
0
0
0
-6
-10
5
0
35
16
-3
3
-6
1
0
0
0
0
0
0
0
0
0
-2
0
-2
-8
-5
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
7
0
0
0
2
0
3
0
0
0
0
0
0
0
2
-1
14
0
0
-8
-15
4
23
1
1
0
0
0
0
0
0
0
2
1
45
25
-23
-24
-9
-1
12
6
0
0
0
0
0
0
0
-2
-2
-6
-22
-6
-5
4
9
-3
6
-1
0
0
0
0
0
0
0
-2
1
-11
-9
21
-2
0
-9
-3
1
0
0
0
0
0
0
0
0
0
0
-2
1
-11
1
-10
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
9
0
0
0
1
-2
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
-2
7
-13
17
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
16
-6
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
1
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-2
0
0
0
0
0
0
0
0
0
0
1
3
-7
4
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
63
59
-1
0
0
0
0
0
0
0
0
0
0
0
66
-35
-23
43
10
27
0
0
0
0
0
0
0
0
0
0
0
19
32
-3
46
-28
-62
-17
-72
0
0
0
0
0
0
0
0
0
3
1
-45
-13
11
-16
63
39
0
0
0
0
0
0
0
0
0
-9
8
-3
-6
10
56
34
28
0
0
0
0
0
0
0
0
0
0
0
21
12
-47
-3
45
51
0
0
0
0
0
0
0
0
0
0
0
1
2
-2
-18
11
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
24
0
0
0
0
0
0
0
0
0
-9
-22
48
-29
4
-26
0
0
0
0
0
0
0
0
0
0
0
-25
-7
3
-2
-24
-19
0
0
0
0
0
0
0
0
0
0
0
0
70
17
-22
-43
-33
-48
-52
12
0
0
0
0
0
0
0
0
0
18
55
-20
17
19
-26
5
6
0
0
0
0
0
0
0
0
0
22
-10
-17
37
17
-18
16
-6
0
0
0
0
0
0
0
0
7
-2
77
-15
33
-31
-29
15
-13
0
0
0
0
0
0
0
0
0
0
0
15
19
40
17
-7
-5
0
0
0
0
0
0
0
0
0
-1
6
-8
-8
0
-10
-50
24
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
6
24
14
-15
19
-14
0
0
0
-2
0
0
0
0
0
0
0
-9
-12
0
-33
-53
49
0
0
0
-27
0
0
0
0
0
0
0
0
5
-24
-15
0
30
29
-113
-25
-10
0
0
0
0
0
0
0
0
4
-3
9
62
59
-14
-27
-33
14
0
0
0
0
0
0
0
2
-15
-14
29
-60
-18
0
15
-42
-58
0
0
0
0
0
0
0
0
11
11
21
-18
18
-21
-63
-17
19
0
0
0
0
0
0
0
0
0
0
10
38
22
6
28
12
43
0
0
0
0
0
0
0
0
0
-1
-9
0
29
-7
42
-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
7
-32
86
-2
51
0
0
0
9
4
0
0
0
0
0
0
1
-11
8
51
-30
-84
0
0
0
25
-44
0
0
0
0
0
0
0
2
1
-22
-36
16
-14
-4
-1
-10
12
0
0
0
0
0
0
0
0
2
-3
10
-19
22
-22
-10
-19
3
0
0
0
0
0
0
0
-7
3
39
-90
14
-59
-19
-42
-8
39
0
0
0
0
0
0
0
6
7
29
32
7
-55
43
-38
55
-8
0
0
0
0
0
0
0
0
0
-16
0
29
8
7
-31
-45
2
0
0
0
0
0
0
0
0
0
2
-8
11
15
-20
-25
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
3
-6
-50
-4
0
0
0
-11
0
-1
0
0
0
0
0
0
41
19
-12
-30
-91
0
0
0
-8
17
1
0
0
0
0
0
0
7
0
0
-23
37
0
27
9
11
51
8
0
0
0
0
0
0
3
0
0
-2
34
31
48
-59
-10
26
-2
0
0
0
0
0
0
0
0
-13
-25
-74
-34
33
-29
26
0
0
0
0
0
0
0
0
0
1
-1
0
25
95
66
34
-1
0
4
0
0
0
0
0
0
0
0
0
0
1
-24
-9
-34
40
3
0
0
0
0
0
0
0
0
0
0
0
0
6
-29
-10
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
-1
7
11
1
-14
0
0
0
-25
1
0
0
0
0
0
0
0
-5
5
3
25
18
0
0
0
-63
-7
3
1
0
0
0
0
4
0
1
17
61
-9
-28
-35
-16
-40
19
-4
0
0
0
0
0
0
1
7
0
-14
36
-17
35
60
20
-30
24
0
0
0
0
0
0
-15
2
1
-35
-13
19
14
6
-10
1
0
0
0
0
0
0
0
0
0
-7
0
17
-79
-37
-24
-8
0
-3
0
0
0
0
0
0
0
0
0
-2
44
-86
-38
-25
13
-1
0
0
0
0
0
0
0
0
0
0
0
-3
12
-9
-39
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
10
0
2
1
0
0
0
13
-1
1
0
0
0
0
0
0
7
-4
-12
-14
-2
0
0
0
0
6
0
0
0
0
0
0
4
0
2
17
3
-1
0
26
28
16
12
2
-1
0
0
0
0
0
7
-26
-14
13
1
34
-22
5
39
3
-6
7
-1
0
0
0
0
1
0
-22
50
-2
-48
34
18
13
13
1
-2
0
0
0
0
0
2
0
6
-5
8
6
-70
27
8
0
0
0
0
0
0
0
0
0
0
0
1
5
-2
-22
-27
-1
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
8
-13
2
2
0
0
0
-20
-1
10
0
0
0
0
0
0
0
-42
-12
-5
7
0
0
0
0
22
-31
-1
-1
0
0
0
0
0
3
18
0
0
-3
-10
-91
-24
10
3
0
1
0
0
0
0
-3
13
-6
-6
1
1
13
16
44
-18
2
0
-2
0
0
0
0
0
-3
-5
-8
-68
22
-61
35
10
-25
0
0
0
0
0
0
0
0
0
0
77
21
37
43
-33
4
1
-4
-3
0
0
0
0
0
0
0
0
1
-3
-9
45
20
-1
-2
-2
2
0
0
0
0
0
0
0
0
1
-3
-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
-15
2
-2
0
0
0
0
0
-2
-2
0
0
0
0
0
0
9
-1
-13
1
-1
0
0
0
4
0
-3
1
8
0
0
0
0
-9
2
-5
2
3
3
0
-8
-4
-1
0
0
0
0
0
0
0
0
0
11
-11
3
-15
-16
3
-45
3
0
1
-2
0
0
0
0
0
0
21
-10
68
19
20
8
0
-9
0
6
1
0
0
0
0
0
0
0
-1
17
13
33
-66
1
0
-3
0
0
0
0
0
0
0
0
0
-3
7
-14
-13
-67
1
1
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
3
-1
-11
0
0
0
1
0
0
0
0
0
0
0
0
-9
0
-3
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-2
14
5
4
0
-1
-1
0
0
0
0
0
0
0
0
0
-2
0
-2
-26
0
-3
0
3
0
0
0
0
0
0
0
0
0
1
-7
3
7
-3
1
0
-3
3
0
0
0
0
0
0
0
0
0
0
-7
-1
9
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
28
-43
6
-53
47
0
0
0
0
0
0
0
0
0
0
0
0
32
36
-41
12
121
0
0
0
0
0
0
0
0
0
0
0
-7
31
-18
-40
-7
-9
21
-49
0
0
0
0
0
0
0
0
0
1
20
-4
-66
-2
-26
-5
20
0
0
0
0
0
0
0
0
0
0
20
-15
8
18
19
19
32
0
0
0
0
0
0
0
0
0
0
0
-14
-18
6
-7
28
-7
0
0
0
0
0
0
0
0
0
0
0
0
28
-8
34
-10
24
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
-11
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
-6
0
0
0
0
0
0
0
0
0
15
-5
11
10
-28
8
0
0
0
0
0
0
0
0
0
0
0
31
1
-39
-10
-53
6
0
0
0
0
0
0
0
0
0
0
0
1
71
-40
-33
-4
-23
-37
-32
24
0
0
0
0
0
0
0
0
0
22
23
-68
41
-2
-6
46
15
0
0
0
0
0
0
0
0
0
0
-78
29
40
33
-3
10
38
0
0
0
0
0
0
0
0
0
-17
-14
17
-69
-14
19
28
5
0
0
0
0
0
0
0
0
7
-10
3
7
29
31
41
40
-17
0
0
0
0
0
0
0
0
0
0
0
4
0
-24
-58
7
18
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
-6
-18
28
-47
-36
21
0
0
0
-8
0
0
0
0
0
0
0
12
58
40
3
22
-41
0
0
0
-3
0
0
0
0
0
0
0
0
-13
3
-27
-28
-35
-32
-15
-5
-66
0
0
0
0
0
0
0
0
0
1
-8
-89
10
42
34
-17
-44
0
0
0
0
0
0
0
0
0
-2
33
39
21
-24
30
29
-23
0
0
0
0
0
0
0
0
-1
-51
-1
8
5
-22
34
13
30
0
0
0
0
0
0
0
3
0
3
14
45
26
2
22
6
-22
0
0
0
0
0
0
0
0
0
-16
15
-11
6
9
-34
-5
10
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
-4
-13
-33
-7
-8
0
0
0
-40
4
0
0
0
0
0
0
0
-35
-62
-19
-4
-14
0
0
0
-68
2
0
0
0
0
0
0
0
-1
8
4
7
-23
-1
-67
9
-12
-1
0
0
0
0
0
0
0
0
0
2
-3
27
8
66
-28
27
0
0
0
0
0
0
0
1
0
0
18
102
-2
-27
11
4
-32
-3
0
0
0
0
0
0
0
2
-11
21
9
18
-38
12
-45
8
6
0
0
0
0
0
0
0
0
0
29
-10
-1
-39
-31
-33
17
4
0
0
0
0
0
0
0
0
0
-4
0
-3
42
-51
24
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
15
5
20
-26
0
0
0
-19
0
0
0
0
0
0
0
0
-2
9
-23
-24
-42
0
0
0
-41
5
0
0
0
0
0
0
0
-58
0
-24
9
9
31
62
5
14
-3
-3
0
0
0
0
0
0
9
1
0
-3
70
-24
-58
-11
31
0
0
0
0
0
0
0
6
3
0
-8
19
12
-20
54
20
13
10
0
0
0
0
0
0
0
0
6
0
22
4
72
52
5
-9
0
0
0
0
0
0
0
0
0
0
7
-5
-48
-11
50
-72
-30
3
0
0
0
0
0
0
0
0
0
1
0
-12
-27
-21
-23
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
38
9
1
32
0
0
0
-17
7
-1
0
0
0
0
0
0
-2
-3
-21
8
-26
0
0
0
-49
42
0
0
0
0
0
0
0
0
-16
8
-2
0
-25
6
12
-1
-12
0
0
0
0
0
0
0
0
0
10
0
-37
-2
52
-7
-76
0
-3
0
0
0
0
0
0
-6
0
3
0
-1
34
-5
18
41
-21
0
0
0
0
0
0
0
0
0
-11
-10
30
-8
-58
28
18
2
0
0
0
0
0
0
0
0
-7
0
1
3
30
0
59
6
-4
-1
0
0
0
0
0
0
0
0
0
0
0
6
0
-16
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
4
0
36
7
6
0
0
0
0
0
0
0
0
0
0
0
0
3
41
-1
2
12
0
0
0
-8
-3
7
-1
0
0
0
0
0
3
13
-19
0
-3
-2
82
-21
11
28
-1
-1
0
0
0
0
0
0
15
0
1
0
-8
12
-11
0
-6
-2
1
0
0
0
0
0
0
0
32
-3
2
-11
-4
5
14
-15
-1
-2
0
0
0
0
0
0
0
-3
-81
1
-13
17
27
9
0
0
0
0
0
0
0
0
0
0
0
3
9
60
-16
-4
4
2
0
0
0
0
0
0
0
0
0
0
0
0
18
3
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
-9
20
0
0
8
0
0
0
0
-3
0
0
0
0
0
0
0
-1
-5
-2
3
-17
0
0
0
60
2
-3
-4
0
0
0
0
-1
2
-17
-14
12
0
4
-6
39
-3
39
0
-2
0
0
0
0
0
-15
-1
4
0
19
-1
2
-24
51
1
4
-9
4
0
0
0
0
0
1
-14
-2
-2
0
4
-11
7
11
0
-2
-3
0
0
0
0
-3
0
19
0
-32
-8
-36
-13
2
0
-3
0
0
0
0
0
0
0
0
0
-12
20
-11
17
-3
6
1
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
1
0
0
0
2
0
0
0
0
0
0
0
0
6
21
-10
-1
-4
0
0
0
1
4
0
0
0
0
0
0
0
1
-6
30
-3
0
0
0
0
0
2
0
-1
1
0
0
0
0
0
-8
-6
4
4
0
0
2
-2
0
0
0
0
0
0
0
-1
0
0
-6
-17
-38
-3
-2
0
-2
-1
0
4
2
0
0
0
0
2
-1
-4
-13
-6
-1
-2
12
3
1
0
0
0
0
0
0
0
0
6
-11
-1
14
-36
-24
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-1
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
0
7
0
0
0
-39
0
0
0
0
0
0
0
0
0
0
-7
13
1
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
12
-35
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
4
-11
16
-13
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-8
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
4
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
-14
-17
2
32
62
0
0
0
0
0
0
0
0
0
0
-2
64
43
27
-9
11
-55
0
0
0
0
0
0
0
0
0
0
0
56
9
6
-48
-41
23
31
-45
0
0
0
0
0
0
0
0
0
2
-54
-1
2
-35
-18
42
28
0
0
0
0
0
0
0
0
0
0
-31
45
9
29
75
33
-26
0
0
0
0
0
0
0
0
0
0
0
-33
-52
-2
63
-34
10
0
0
0
0
0
0
0
0
0
0
0
1
18
-4
-8
27
81
0
0
0
0
0
0
0
0
0
0
-2
0
-1
4
14
-7
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
2
21
0
0
0
0
0
0
0
0
0
-16
46
1
-8
9
-91
0
0
0
0
0
0
0
0
0
0
0
-43
39
-24
-14
-57
3
0
0
0
0
0
0
0
0
0
0
0
13
-78
-31
31
21
12
-15
-27
-19
0
0
0
0
0
0
0
0
0
0
16
-5
29
-12
-8
-24
-24
0
0
0
0
0
0
0
0
0
9
-47
-33
57
13
-19
10
9
0
0
0
0
0
0
0
0
0
-4
42
-29
-14
25
-13
24
7
0
0
0
0
0
0
0
0
-7
10
2
-39
-81
35
-30
-19
0
0
0
0
0
0
0
0
0
0
-1
-24
-27
25
1
22
27
-16
0
0
0
0
0
0
0
0
0
0
-1
0
0
-17
4
19
-20
0
0
0
0
0
0
0
0
7
1
24
-7
39
39
0
0
0
-8
0
0
0
0
0
0
0
-10
-4
15
11
-6
-16
0
0
0
-58
0
0
0
0
0
0
0
-3
4
38
2
-36
-38
48
-16
-13
17
0
0
0
0
0
0
0
0
0
-13
-29
-16
12
10
22
7
-6
0
0
0
0
0
0
0
0
0
0
24
37
12
6
-30
11
-48
0
0
0
0
0
0
0
0
0
0
-17
18
-14
-5
-22
15
-29
0
0
0
0
0
0
0
18
-7
3
-8
-17
-6
49
53
51
24
0
0
0
0
0
0
0
0
0
0
-4
-6
-27
-9
2
-18
19
0
0
0
0
0
0
0
0
0
0
0
7
0
-4
-6
-9
0
0
0
0
0
0
0
0
1
-1
-6
-15
-65
53
0
0
0
-11
0
0
0
0
0
0
0
-2
-36
51
13
6
-53
0
0
0
-27
-3
0
0
0
0
0
0
-1
-31
25
-60
38
-23
-37
44
-34
-67
-1
0
0
0
0
0
0
3
0
0
-1
1
-17
10
2
-2
55
0
0
0
0
0
0
0
-4
0
0
0
26
7
-33
-2
20
-16
0
0
0
0
0
0
0
0
0
0
-3
-16
-26
-20
22
-1
14
0
0
0
0
0
0
0
0
6
0
-6
13
-6
-8
3
13
-8
-1
0
0
0
0
0
0
0
0
0
5
-2
-6
-33
24
0
-5
-10
0
0
0
0
0
0
0
0
0
0
0
7
-1
-20
1
3
0
0
0
0
0
0
0
0
-5
-34
-46
23
51
0
0
0
-7
-6
0
0
0
0
0
0
0
-3
14
23
-58
-4
0
0
0
-40
-11
-1
0
0
0
0
0
0
0
13
8
-25
-42
-62
-3
-14
3
13
0
0
0
0
0
0
0
9
0
-3
16
38
32
6
22
4
0
-4
0
0
0
0
0
2
0
0
0
-1
14
-5
-27
12
16
-1
2
0
0
0
0
0
0
1
0
0
0
-54
6
12
3
-8
-1
0
0
0
0
0
0
0
0
-3
-1
-27
-13
53
46
53
10
-1
0
0
0
0
0
0
0
0
0
0
9
-7
-1
-56
10
-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
-7
3
-23
1
-3
0
0
0
6
2
0
0
0
0
0
0
0
2
-1
26
-28
-17
0
0
0
-16
10
0
0
0
0
0
0
4
-3
-23
-17
-18
-29
-56
-8
-62
-11
9
0
0
0
0
0
0
3
-3
36
0
1
0
6
35
45
-8
0
3
-1
0
0
0
0
0
0
3
-2
0
1
-37
12
9
-26
0
0
0
0
0
0
0
0
0
0
0
0
-1
40
17
17
-4
1
0
0
0
0
0
0
0
0
0
-11
-26
-5
1
-65
12
7
1
0
0
0
0
0
0
0
0
0
0
0
6
-20
0
15
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-19
0
0
0
0
2
0
0
0
0
0
0
0
0
2
-7
18
2
43
0
0
0
-32
0
0
-11
0
0
0
0
0
-1
-38
-2
6
11
9
-20
-44
-1
-5
0
0
0
0
0
0
0
-2
47
0
0
0
0
30
-24
-7
0
1
0
0
0
0
0
0
0
-7
-6
12
0
-11
24
-3
0
-4
1
0
0
0
0
0
0
0
2
-9
0
-2
0
0
-23
2
-3
0
0
0
0
0
0
0
0
2
0
30
0
6
1
20
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-6
11
6
35
-3
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
-4
-2
0
-4
-7
0
0
0
0
-1
0
0
0
0
0
0
1
-10
-27
0
-4
27
0
0
0
-3
0
0
1
-1
0
0
0
0
-3
-76
49
4
0
-30
49
-3
-1
1
1
0
0
0
0
0
0
0
34
0
-67
0
0
-6
14
-9
0
0
-1
-1
0
0
0
0
0
0
11
-2
0
0
0
-25
1
0
-2
0
0
0
0
0
0
0
-2
-6
-59
0
-2
-2
-32
-3
10
12
0
0
0
0
0
0
0
0
0
0
-14
-3
7
1
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-4
-11
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-6
-10
0
-1
0
0
0
13
0
0
0
0
0
0
0
0
-1
11
-8
1
4
-16
-9
31
2
-1
0
0
0
0
0
0
0
0
-2
58
8
22
0
0
0
2
0
1
0
0
0
0
0
0
0
0
-18
-12
-1
-4
0
0
4
7
0
-1
0
0
0
0
0
0
0
-4
17
21
0
-1
0
1
3
0
0
0
0
0
0
0
0
3
0
-6
3
-45
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
1
0
0
0
-1
0
0
0
0
0
0
0
0
2
-11
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-17
-4
0
2
-1
19
0
0
0
0
0
0
0
0
0
-11
10
2
-1
-9
27
-2
1
0
0
0
1
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
17
10
0
0
0
-1
-1
0
0
0
0
0
0
0
0
3
12
0
0
-13
-10
0
0
0
0
0
0
0
0
0
0
0
6
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
21
22
-43
0
0
0
0
0
0
0
0
0
0
2
-51
-41
8
1
47
-12
0
0
0
0
0
0
0
0
0
0
0
10
10
-68
-58
-18
-26
-16
-9
0
0
0
0
0
0
0
0
0
13
-36
-13
18
-27
-8
58
47
0
0
0
0
0
0
0
0
0
0
-12
-33
33
-21
15
3
-18
0
0
0
0
0
0
0
0
0
0
2
6
3
-3
71
14
11
0
0
0
0
0
0
0
0
0
0
0
3
-30
52
31
-11
45
0
0
0
0
0
0
0
0
0
0
0
-12
9
-23
23
60
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
25
-35
0
0
0
0
0
0
0
0
0
7
-32
-11
-51
22
-54
0
0
0
0
0
0
0
0
0
0
0
68
-46
-34
-7
-97
53
0
0
0
0
0
0
0
0
0
0
0
15
-70
40
-8
-52
-1
-17
-62
31
0
0
0
0
0
0
0
0
4
3
-38
-5
16
-30
-2
-17
-68
0
0
0
0
0
0
0
0
0
0
19
37
42
1
6
-6
3
0
0
0
0
0
0
0
0
0
0
17
38
-3
-43
30
-29
20
0
0
0
0
0
0
0
0
0
0
-14
-42
22
2
12
-42
-8
0
0
0
0
0
0
0
0
0
1
-1
10
-56
55
-47
2
23
0
0
0
0
0
0
0
0
0
0
0
0
0
5
36
0
-48
0
0
0
0
0
0
0
0
-13
-11
-13
-49
30
0
0
0
0
-22
0
0
0
0
0
0
0
-19
2
18
63
-26
26
0
0
0
63
0
0
0
0
0
0
0
13
20
-23
-21
-32
21
22
19
62
3
0
0
0
0
0
0
0
-6
8
11
-4
-45
-6
10
-1
11
10
0
0
0
0
0
0
0
0
2
3
64
27
22
-31
-30
-63
29
0
0
0
0
0
0
0
0
0
0
15
-25
26
-31
20
17
-26
0
0
0
0
0
0
0
0
0
0
8
-57
10
-93
-13
7
-35
0
0
0
0
0
0
0
0
1
10
8
-23
41
-4
-52
-28
22
0
0
0
0
0
0
0
0
0
0
-4
0
-3
-43
17
-10
-2
0
0
0
0
0
0
0
0
3
-6
13
-20
1
0
0
0
18
-25
0
0
0
0
0
0
2
8
-88
4
20
42
0
0
0
39
9
0
0
0
0
0
0
-2
-28
-20
-24
-75
-41
-78
-39
-33
-5
-34
0
0
0
0
0
0
0
-19
-45
5
23
-67
-29
5
-19
-25
1
0
0
0
0
0
0
-1
0
-3
0
-5
2
-42
-33
-3
0
-6
0
0
0
0
0
0
0
0
0
0
28
59
26
-43
39
23
1
0
0
0
0
0
0
0
0
0
2
15
60
7
29
-12
-11
1
0
0
0
0
0
0
0
0
1
-5
2
62
-5
-16
1
-36
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-19
11
10
0
0
0
0
0
0
0
0
-3
4
4
6
-2
0
0
0
3
0
0
0
0
0
0
0
0
32
-22
5
20
45
0
0
0
-20
-25
0
0
0
0
0
0
2
34
10
-52
82
-65
8
-50
28
28
-1
-7
0
0
0
0
0
2
4
-37
-20
45
-17
-66
4
-33
7
1
0
0
0
0
0
0
0
4
0
0
2
-15
31
9
24
-19
-7
0
0
0
0
0
0
0
0
0
0
-1
8
26
-68
35
-9
0
0
0
0
0
0
0
0
0
0
0
2
42
30
-89
35
-11
-6
0
0
0
0
0
0
0
0
0
-1
0
11
-35
-17
95
-2
-4
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
12
17
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
-4
-58
40
21
17
0
0
0
-17
-3
0
0
0
0
0
0
0
-9
9
-8
-68
51
-1
-4
-47
0
-2
-1
0
0
0
0
0
0
-1
-2
48
-9
-19
13
-7
-31
2
10
-3
-1
0
0
0
0
2
0
-8
0
0
2
34
-10
-30
21
3
0
0
0
0
0
0
0
0
0
0
0
3
-44
-9
28
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-48
-1
4
0
0
0
0
0
0
0
0
0
2
0
0
3
7
7
-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
16
-26
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
12
-29
-15
5
0
0
0
-3
-1
0
0
0
0
0
0
0
0
-9
2
-47
-2
19
-17
-3
0
0
0
0
0
0
0
0
0
0
-6
1
36
36
-10
1
19
3
-1
0
0
0
0
0
0
3
-1
-9
20
0
0
-3
-10
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
20
-9
-2
3
0
0
0
0
0
0
0
0
1
0
0
0
11
-45
-7
0
0
0
0
0
0
0
0
0
3
0
0
0
-22
-1
19
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
0
4
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
-1
-1
0
0
0
0
0
0
0
2
0
-11
13
1
0
0
0
2
0
0
0
0
0
0
0
0
0
4
0
-1
-6
7
5
7
0
0
0
0
0
0
0
0
0
0
1
60
7
-63
-6
-46
0
1
0
-3
0
0
0
0
0
2
0
-7
2
-16
0
4
0
3
2
0
0
2
0
0
0
0
0
0
0
0
-7
0
0
0
7
3
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
3
0
-12
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-7
-9
0
0
0
2
0
0
0
0
0
0
0
0
9
4
-6
0
-24
16
9
-2
0
0
0
0
0
0
0
0
0
0
0
-25
52
9
46
10
-2
0
0
0
0
0
0
0
0
0
0
-2
-37
44
15
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
1
-7
16
-7
0
0
0
0
0
0
0
0
0
0
1
0
-6
-2
2
-18
1
-2
0
0
0
0
0
0
0
0
0
3
0
-13
-23
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-4
-29
-10
0
0
0
0
0
0
0
0
0
0
-4
-51
-8
2
79
29
10
0
0
0
0
0
0
0
0
0
0
0
8
-35
-21
-4
7
16
53
13
0
0
0
0
0
0
0
0
0
-14
-80
-19
-20
-17
-17
-10
-2
0
0
0
0
0
0
0
0
0
2
5
36
47
16
26
-29
9
0
0
0
0
0
0
0
0
0
0
5
44
-6
-4
37
-46
-14
0
0
0
0
0
0
0
0
0
0
4
1
-39
20
-29
-66
29
0
0
0
0
0
0
0
0
0
0
0
-13
0
17
-35
-12
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
2
-45
0
0
0
0
0
0
0
0
0
-2
22
-111
-16
14
8
0
0
0
0
0
0
0
0
0
0
0
3
-7
-43
-52
-13
64
0
0
0
0
0
0
0
0
0
0
0
-17
-31
-27
-55
-33
-8
15
-3
42
0
0
0
0
0
0
0
0
0
-24
10
15
-17
9
41
11
-14
0
0
0
0
0
0
0
0
0
10
-2
-8
24
26
-23
-40
31
0
0
0
0
0
0
0
0
0
0
55
29
3
6
8
-38
29
0
0
0
0
0
0
0
0
0
0
8
-27
-124
4
-5
29
-20
0
0
0
0
0
0
0
0
0
0
5
9
58
-41
-4
-23
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-11
11
-9
0
0
0
0
0
0
0
0
-2
-2
24
29
-34
-22
0
0
0
58
0
0
0
0
0
0
0
16
14
-7
6
20
-8
0
0
0
27
0
0
0
0
0
0
0
-7
18
9
-74
8
-26
-10
20
-21
-6
0
0
0
0
0
0
0
-7
40
-19
-25
-26
11
-26
1
-14
-16
0
0
0
0
0
0
0
-19
33
-37
76
-44
23
-8
56
4
-5
0
0
0
0
0
0
0
0
0
-6
33
57
4
4
-29
24
-13
0
0
0
0
0
0
0
0
0
0
7
12
45
41
-17
-19
3
0
0
0
0
0
0
0
0
0
0
-16
-35
-15
-60
57
-7
-35
0
0
0
0
0
0
0
0
0
3
-3
0
29
18
8
58
3
0
0
0
0
0
0
0
0
-1
-19
-47
13
-41
0
0
0
-12
-53
0
0
0
0
0
0
-4
-2
-38
-18
3
34
0
0
0
-79
-36
0
0
0
0
0
0
-3
2
-14
22
-23
18
-16
-42
-9
4
-9
0
0
0
0
0
0
-1
-3
-2
16
15
15
15
21
-46
5
-2
0
0
0
0
0
0
4
-28
6
-48
-5
3
-66
-3
-52
30
0
0
0
0
0
0
0
0
0
2
0
-10
34
-11
-12
25
5
0
0
0
0
0
0
0
0
0
0
0
11
-27
5
32
-24
25
17
0
0
0
0
0
0
0
0
0
0
-2
34
5
7
-11
10
-8
0
0
0
0
0
0
0
0
0
0
0
9
28
-17
54
9
0
0
0
0
0
0
0
0
0
-4
-3
6
0
0
0
0
-7
0
0
0
0
0
0
0
0
12
36
35
-18
-53
0
0
0
-14
25
0
0
0
0
0
0
0
-1
1
9
27
11
20
18
-32
13
0
0
0
0
0
0
0
0
-4
20
56
-4
-1
-11
9
-26
0
0
0
0
0
0
0
0
1
-1
10
-3
-22
3
8
-5
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
29
-22
-37
-8
-19
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
15
38
9
0
0
0
0
0
0
0
0
0
0
0
0
56
-9
10
-1
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
1
2
0
-6
0
0
0
0
0
0
0
0
1
0
-7
-2
-2
0
0
0
-1
0
0
0
0
0
0
0
3
0
-14
7
-12
0
0
0
0
30
1
0
0
0
0
0
0
0
0
-3
-20
-1
43
-29
7
-13
-2
-1
-1
0
0
0
0
0
0
-1
32
30
3
-36
-107
12
-30
10
-1
0
0
0
0
0
0
0
-8
0
12
-44
-105
-18
26
-43
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
39
4
73
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
54
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-20
-31
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
15
-1
-17
0
8
0
0
0
0
0
0
0
0
0
0
7
-8
-13
23
36
3
-7
-1
0
0
0
0
0
0
0
0
10
13
6
-25
13
-17
10
9
0
-2
1
0
0
0
0
0
0
0
0
0
0
1
0
18
1
-1
0
0
2
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
-12
-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
-1
0
0
0
-1
0
0
0
1
3
0
0
0
0
0
0
0
0
-1
-5
0
-19
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
2
3
0
2
24
2
0
0
3
0
0
0
0
0
0
0
9
-4
-22
20
19
22
-3
7
1
2
0
0
0
0
0
0
6
-6
-2
-2
16
-22
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
68
0
6
0
-8
1
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
-9
-7
-12
8
0
0
0
0
0
0
0
0
0
0
0
-7
1
5
20
5
-17
1
0
0
0
0
0
0
0
0
0
0
9
22
-3
0
-7
-25
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
7
-3
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-13
43
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
-8
-15
-21
-20
17
-32
0
0
0
0
0
0
0
0
0
0
-1
3
-76
-46
53
5
-39
-22
48
0
0
0
0
0
0
0
0
0
-1
-34
-10
-25
-2
-6
-4
66
0
0
0
0
0
0
0
0
0
13
-42
32
-28
43
22
-36
28
0
0
0
0
0
0
0
0
0
-7
3
-14
7
29
-21
53
33
0
0
0
0
0
0
0
0
0
0
-8
5
-1
-18
13
5
78
0
0
0
0
0
0
0
0
0
0
2
-6
2
22
-13
58
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
2
2
22
25
0
0
0
0
0
0
0
0
0
0
-78
-87
16
-8
58
0
0
0
0
0
0
0
0
0
0
0
-28
-64
-26
-4
-2
-33
0
0
0
0
0
0
0
0
0
0
0
-12
-14
-22
1
8
-17
18
-71
4
0
0
0
0
0
0
0
0
-10
-29
-17
-8
22
-3
6
16
-34
0
0
0
0
0
0
0
0
0
-50
1
7
-1
37
-28
0
-42
0
0
0
0
0
0
0
0
1
-26
-24
38
-20
8
4
0
-26
0
0
0
0
0
0
0
0
0
0
3
17
80
55
-39
17
-20
0
0
0
0
0
0
0
0
0
0
1
-29
30
-2
-13
-30
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
10
-2
-16
0
0
0
0
0
0
0
0
0
0
1
11
-2
6
0
0
0
-2
0
0
0
0
0
0
0
-15
-2
-2
-22
-31
11
0
0
0
-10
0
0
0
0
0
0
0
-1
2
-10
44
-5
35
-23
40
-66
-14
0
0
0
0
0
0
0
0
-12
4
-28
-22
37
-23
29
35
28
0
0
0
0
0
0
0
-4
-5
-58
21
-67
-30
13
-22
-19
-9
0
0
0
0
0
0
0
1
3
-33
-35
16
-16
-5
47
31
19
0
0
0
0
0
0
0
0
0
0
20
58
21
-4
-3
-42
21
0
0
0
0
0
0
0
0
0
0
0
43
-1
4
56
22
1
0
0
0
0
0
0
0
0
0
0
0
0
-27
9
72
26
-2
0
0
0
0
0
0
0
0
2
0
-10
0
0
0
0
0
1
-5
0
0
0
0
0
0
-3
-2
-23
39
-3
9
0
0
0
-26
-37
0
0
0
0
0
0
-1
4
54
0
20
77
27
-53
59
-24
-7
0
0
0
0
0
0
1
-4
-2
29
-38
-74
-87
74
5
6
3
0
0
0
0
0
0
0
0
43
-6
-31
-21
2
-31
-7
25
0
0
0
0
0
0
0
0
-2
-1
-37
37
1
-19
21
-1
-6
0
0
0
0
0
0
0
0
0
0
0
18
-27
-70
-34
-22
1
0
0
0
0
0
0
0
0
0
0
0
0
23
32
54
44
-49
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
36
7
7
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
-9
-2
0
0
0
0
0
0
0
2
4
-8
12
-6
-2
-7
15
3
0
0
0
0
0
0
0
0
-1
17
-17
0
-11
-23
16
27
1
0
0
0
0
0
0
0
0
0
3
24
-78
-3
13
8
36
-8
0
0
0
0
0
0
0
0
0
0
0
16
-47
44
20
-69
6
0
0
0
0
0
0
0
0
0
0
0
0
-40
-1
-4
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
7
-6
2
2
26
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
10
0
-2
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
3
0
0
8
0
0
0
4
1
0
0
0
0
0
0
0
0
2
10
0
0
-3
-2
-4
0
0
0
0
0
0
0
0
0
0
0
-18
29
9
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
9
11
11
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
29
2
-4
-41
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
3
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
0
3
0
0
0
0
0
0
0
0
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
6
-1
-2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
1
1
0
0
0
0
0
0
0
0
0
0
-2
0
-14
-1
5
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
10
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
8
0
0
0
-2
10
0
0
0
0
0
0
0
0
0
-46
-7
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
-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
-10
-1
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
15
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
-10
-9
-48
-15
-2
30
0
0
0
0
0
0
0
0
0
0
0
3
-11
9
2
-23
-1
12
44
0
0
0
0
0
0
0
0
2
-5
-78
-16
-72
-76
43
-15
87
0
0
0
0
0
0
0
0
6
-1
23
21
-23
0
15
-30
33
0
0
0
0
0
0
0
0
0
-5
14
42
-66
25
-3
-52
-20
0
0
0
0
0
0
0
0
0
0
0
6
28
-9
0
-20
-5
0
0
0
0
0
0
0
0
0
0
0
14
6
17
25
-3
28
0
0
0
0
0
0
0
0
0
0
4
0
0
0
47
-8
-22
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
-1
18
-15
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
11
-5
-25
-9
19
-9
17
-61
0
0
0
0
0
0
0
0
-3
-6
-19
-52
16
-23
9
-31
-71
0
0
0
0
0
0
0
0
-4
8
-7
-16
-21
41
-79
-16
-4
0
0
0
0
0
0
0
0
0
-4
9
-64
-6
-52
80
-35
6
0
0
0
0
0
0
0
0
0
0
-13
12
18
-8
5
17
10
0
0
0
0
0
0
0
0
0
0
0
7
40
3
-1
-19
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
17
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
3
0
-3
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
-12
-7
-7
0
-15
21
-3
-2
0
0
0
0
0
0
0
0
-3
-5
-6
12
65
-8
1
-26
17
0
0
0
0
0
0
0
0
0
-1
-4
-34
13
-21
1
-86
0
0
0
0
0
0
0
0
0
1
0
-13
7
15
47
-24
1
0
0
0
0
0
0
0
0
0
0
1
0
-3
11
-4
27
9
4
0
0
0
0
0
0
0
0
0
0
0
-6
10
0
13
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
11
-2
19
-1
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
1
0
0
0
-9
0
0
0
0
0
0
0
0
-1
0
0
-1
-7
-6
0
-4
0
0
0
0
0
0
0
0
0
0
0
-7
4
0
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
1
3
-7
-1
0
0
0
0
0
0
0
0
0
-4
0
0
4
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
15
0
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-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
6
12
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
-2
3
11
0
3
0
0
0
0
0
0
0
0
0
29
-1
-42
-1
30
13
-6
0
0
0
0
0
0
0
0
0
0
7
-13
27
1
-1
0
3
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
24
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
18
0
0
0
0
0
0
0
0
0
0
0
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
-3
-3
-34
-11
-2
0
0
0
0
0
0
0
0
0
28
16
1
35
-65
-36
-18
0
2
0
0
0
0
0
0
0
0
1
1
-4
-44
-58
31
10
25
0
0
0
0
0
0
0
0
0
0
13
-6
50
12
4
-8
-23
6
0
0
0
0
0
0
0
0
0
29
-3
34
0
-2
-11
0
0
1
0
0
0
0
0
0
0
0
2
-18
0
-12
-1
0
0
-1
0
0
0
0
0
0
0
0
0
2
-4
-23
0
0
-1
15
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
1
22
16
9
3
0
0
0
0
0
0
0
0
0
5
-4
-15
15
50
-31
-16
4
0
1
0
0
0
0
0
0
0
1
-8
4
-39
61
12
-22
-6
0
0
0
0
0
0
0
0
0
1
11
0
-13
42
-8
22
-1
0
0
0
0
0
0
0
0
0
0
-2
-3
49
-1
-17
-21
1
-2
0
0
0
0
0
0
0
0
0
-3
1
-6
4
-11
2
-2
-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
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
51
8
0
-39
10
-31
-2
0
0
0
0
0
0
0
0
0
0
-17
49
1
-30
-84
88
11
1
0
0
0
0
0
0
0
0
-3
-1
3
1
44
-38
2
-8
0
0
0
0
0
0
0
0
0
0
10
21
17
-41
-8
4
1
0
0
0
0
0
0
0
0
0
0
2
21
6
-2
-30
18
-1
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
-2
21
-1
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
1
0
0
0
0
0
0
0
0
0
-13
4
8
24
20
27
30
4
1
0
0
0
0
0
0
0
0
0
-17
0
-6
3
-6
28
19
0
0
0
0
0
0
0
0
0
-6
0
-17
21
14
-1
4
0
4
-1
0
0
0
0
0
0
0
0
-1
4
0
2
-1
0
3
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
10
8
0
67
0
0
-11
-13
0
-1
0
0
0
0
0
0
0
-18
28
-7
42
4
-4
-4
4
15
0
0
0
0
0
0
0
0
0
-19
2
-6
9
-29
14
-18
2
1
0
0
0
0
0
0
0
0
0
1
-3
-3
11
0
2
-6
0
0
0
0
0
0
0
0
0
1
1
-8
6
-2
2
-2
1
0
0
0
0
0
0
0
0
0
2
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-9
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
6
-1
0
-18
0
0
0
0
0
0
0
0
0
2
-47
13
26
27
4
64
-5
4
1
0
0
0
0
0
0
0
4
-2
-26
4
0
11
18
-2
-2
-1
0
0
0
0
0
0
0
0
9
-10
-1
-21
6
-29
3
0
11
0
0
0
0
0
0
0
0
-2
0
12
-1
-2
-6
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
2
8
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-3
0
0
0
0
0
0
0
0
4
1
-33
-37
-24
-1
3
2
12
-4
0
0
0
0
0
0
0
0
1
20
-11
7
6
14
15
11
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
-3
7
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
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
23
5
1
9
-2
-2
0
0
0
0
0
0
0
0
0
0
-1
30
-17
16
-68
16
-10
0
0
0
0
0
0
0
0
0
0
-67
-27
-20
10
0
7
-1
0
0
0
0
0
0
0
0
0
0
-51
-21
18
2
-2
-6
-6
0
0
0
0
0
0
0
0
0
0
5
3
-4
13
-11
-2
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-52
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
-28
-1
-36
1
-2
0
0
0
0
0
0
0
0
0
39
-49
48
13
24
60
4
85
16
2
0
0
0
0
0
0
0
4
41
-14
-84
-53
-35
-13
4
-15
0
0
0
0
0
0
0
0
4
-58
-6
135
-7
26
-11
-7
-41
0
0
0
0
0
0
0
0
11
84
-13
6
40
-27
32
8
9
-9
0
0
0
0
0
0
0
0
1
46
39
1
-25
-1
-9
-7
0
0
0
0
0
0
0
0
0
7
26
57
-28
-1
-2
10
0
0
0
0
0
0
0
0
0
0
2
0
-20
0
0
1
1
0
0
0
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
27
-63
64
-69
49
14
0
0
0
0
0
0
0
0
0
-2
67
24
-47
87
12
8
3
-2
0
0
0
0
0
0
0
0
-27
-25
-31
-30
-65
66
36
-21
25
-1
0
0
0
0
0
0
0
2
-23
12
11
-6
21
1
-10
17
-4
0
0
0
0
0
0
0
0
30
17
84
3
-3
35
18
-1
0
0
0
0
0
0
0
0
1
-10
17
14
-9
-20
-10
0
-5
0
0
0
0
0
0
0
0
0
0
38
-7
3
0
0
2
0
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
0
-3
5
-25
22
14
55
-14
-13
0
1
0
0
0
0
0
0
0
0
15
-31
11
41
13
-11
-35
-4
0
1
0
0
0
0
0
0
-11
6
24
55
60
-15
24
8
-14
0
0
0
0
0
0
0
0
24
-28
1
-55
-36
-18
-4
-9
-7
4
0
0
0
0
0
0
0
0
-22
-53
42
24
46
16
0
-1
0
0
0
0
0
0
0
0
-8
-19
0
-6
-6
0
2
-3
-2
0
0
0
0
0
0
0
0
0
0
2
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-19
7
86
20
13
-27
54
43
0
1
0
0
0
0
0
0
0
-8
34
16
-9
0
28
38
-9
17
0
0
0
0
0
0
0
0
24
1
15
15
55
-29
-16
28
-45
-1
0
0
0
0
0
0
0
-7
0
30
30
-24
-21
45
0
-1
-1
0
0
0
0
0
0
0
25
14
-13
-4
4
-8
-25
0
0
0
0
0
0
0
0
0
0
0
-7
-19
19
3
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
8
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
-3
17
80
-21
53
19
-14
17
0
0
0
0
0
0
0
0
0
3
36
-2
28
16
-23
-9
43
23
-2
0
0
0
0
0
0
0
-2
30
-33
38
22
4
17
-68
-8
0
0
0
0
0
0
0
0
13
11
-1
20
-39
-44
28
-5
-1
-2
0
0
0
0
0
0
0
3
12
5
29
-2
17
-3
0
0
0
0
0
0
0
0
0
0
0
-9
-1
1
0
-6
1
7
0
0
0
0
0
0
0
0
0
0
3
-24
19
4
0
4
0
0
0
0
0
0
0
0
0
0
0
-6
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
1
0
60
-8
-35
1
0
1
0
0
0
0
0
0
0
0
22
28
19
42
7
16
-14
-16
-2
3
0
0
0
0
0
0
6
-6
10
29
23
-53
-4
15
-31
-2
0
-1
0
0
0
0
0
-3
-19
27
-26
-1
-15
-49
-7
-4
-1
2
0
0
0
0
0
0
-1
-14
28
-1
-16
-33
-14
-1
1
0
1
-1
0
0
0
0
0
0
1
0
16
-9
25
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
-4
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-16
0
-18
0
-2
-2
0
0
0
0
0
0
-2
-1
1
16
44
-14
34
-2
-1
-3
0
0
0
0
0
0
0
6
-9
-38
10
-45
22
-7
-21
10
5
0
0
0
0
0
0
0
2
0
15
26
19
-1
6
0
0
-2
0
0
0
0
0
0
0
0
-11
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
8
7
2
-1
-6
0
0
0
0
0
0
0
0
0
0
9
-3
-11
22
-7
-2
-4
1
2
0
0
0
0
0
0
0
0
0
-7
2
4
15
0
8
0
3
0
0
0
0
0
0
0
-1
0
0
1
6
3
-8
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-6
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
8
-96
-16
0
24
0
0
0
0
0
0
0
0
0
0
0
-23
45
75
-9
-44
63
-42
-12
0
0
0
0
0
0
0
0
0
-2
-20
-14
7
0
-3
8
0
0
0
0
0
0
0
0
0
0
2
1
15
-2
39
-9
-1
0
0
0
0
0
0
0
0
0
0
12
15
-5
1
2
-1
10
0
0
0
0
0
0
0
0
0
0
13
-9
17
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
53
-7
-39
9
65
22
30
0
0
0
0
0
0
0
0
0
9
62
56
-11
-27
58
-37
-8
-61
0
0
0
0
0
0
0
0
-8
29
85
-31
5
7
-69
7
35
0
0
0
0
0
0
0
0
-11
9
18
-35
-13
52
-13
6
-7
0
0
0
0
0
0
0
0
-38
-55
-30
-51
-51
67
-1
-28
-1
2
0
0
0
0
0
0
0
20
-4
-39
1
39
-33
0
-10
0
0
0
0
0
0
0
0
0
-3
-63
-23
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-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
28
2
-23
56
99
-88
-41
0
0
0
0
0
0
0
0
0
8
58
-59
-29
-9
79
-25
-9
-18
13
0
0
0
0
0
0
0
7
-19
13
-6
54
3
19
18
0
-1
0
0
0
0
0
0
0
13
15
5
-41
-18
-2
-16
-11
6
-3
0
0
0
0
0
0
0
0
31
-43
21
-1
48
-2
0
-9
0
0
0
0
0
0
0
0
-12
-21
7
30
13
-2
-2
11
-3
1
0
0
0
0
0
0
0
0
26
40
-14
15
0
1
0
-3
0
0
0
0
0
0
0
0
0
7
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-11
-7
8
42
23
22
0
0
0
0
0
0
0
0
0
4
-27
-28
5
-38
29
36
7
0
0
0
0
0
0
0
0
0
0
33
-23
-2
4
23
-8
7
19
2
0
0
0
0
0
0
0
0
33
-9
-32
29
24
-25
-6
0
0
0
0
0
0
0
0
0
0
22
-5
-13
-55
5
0
0
22
-2
0
0
0
0
0
0
0
0
26
-28
-15
11
28
1
0
0
0
0
0
0
0
0
0
0
-4
-7
-11
-3
-2
0
19
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
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-8
-25
30
-15
38
34
0
0
0
0
0
0
0
0
0
-3
-17
74
-15
-28
-28
-10
13
7
0
0
0
0
0
0
0
0
0
35
52
2
0
57
10
41
-1
0
0
0
0
0
0
0
0
1
10
2
2
-20
-13
11
0
20
0
0
0
0
0
0
0
0
7
17
2
-29
-7
-11
0
2
1
0
0
0
0
0
0
0
0
0
0
29
0
1
1
8
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
-1
1
-12
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
19
-51
-58
62
32
0
0
0
0
0
0
0
0
0
0
10
44
67
-37
7
-4
30
7
0
0
0
0
0
0
0
0
2
0
-8
3
14
0
15
14
6
2
0
0
0
0
0
0
0
-1
-14
14
85
9
29
2
1
0
8
0
0
0
0
0
0
0
0
15
-6
-1
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
18
23
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
-1
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-5
14
8
97
21
0
0
0
0
0
0
0
0
0
0
44
-19
80
64
-16
-20
-10
2
-1
0
0
0
0
0
0
0
4
13
-16
3
-17
3
0
-2
9
-2
0
0
0
0
0
0
0
0
-3
83
-31
-19
3
4
0
3
0
0
0
0
0
0
0
0
1
33
-13
24
1
14
0
0
0
0
0
0
0
0
0
0
0
0
-12
6
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
21
0
30
4
23
43
0
-3
0
0
0
0
0
0
0
9
15
1
-40
21
8
13
-12
1
4
-6
0
0
0
0
0
0
6
6
9
0
8
21
-3
1
6
6
0
0
0
0
0
0
0
0
0
20
-13
-14
-16
2
3
0
0
0
0
0
0
0
0
0
1
-6
4
27
0
4
-1
0
0
0
-1
0
0
0
0
0
0
0
-2
-6
2
0
-1
0
0
-1
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
-10
0
0
0
0
0
0
0
0
0
0
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
-8
3
0
0
0
0
0
0
0
0
0
0
0
2
-40
1
20
-35
13
1
0
2
0
0
0
0
0
0
0
0
-4
-1
16
0
4
0
-3
0
-3
0
0
0
0
0
0
0
0
12
8
-50
9
10
3
-1
2
0
0
0
0
0
0
0
0
0
-1
0
-6
-13
-9
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
-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
-1
1
-3
0
-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
0
0
0
0
9
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
10
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
0
-8
16
27
17
3
0
0
0
0
0
0
0
0
0
0
-4
-10
-35
12
2
-32
-13
10
0
0
0
0
0
0
0
0
0
-8
-10
-49
-5
24
-16
-6
0
0
0
0
0
0
0
0
0
0
4
-34
19
29
-4
-15
-2
-5
0
0
0
0
0
0
0
0
0
22
55
-29
3
-9
8
-2
0
0
0
0
0
0
0
0
0
0
22
-41
-11
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
23
-1
-35
1
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
-7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-27
-75
9
-13
50
-72
79
0
0
0
0
0
0
0
0
0
3
64
-31
-55
44
9
-10
-75
-41
0
0
0
0
0
0
0
0
4
-13
78
15
-30
-26
45
-22
23
1
0
0
0
0
0
0
0
2
-3
28
-57
-2
25
-79
21
-9
0
0
0
0
0
0
0
0
7
-48
1
-51
-24
-49
42
-12
22
0
0
0
0
0
0
0
0
-1
-71
9
-20
-15
-47
-8
0
4
0
0
0
0
0
0
0
0
0
11
23
31
-11
0
-1
0
0
0
0
0
0
0
0
0
0
0
37
-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
18
3
-5
-8
-4
26
47
-87
0
3
0
0
0
0
0
0
0
2
-1
18
-44
5
-11
64
85
-14
-10
0
0
0
0
0
0
0
0
32
-10
-19
7
13
-32
2
-23
4
0
0
0
0
0
0
0
3
34
0
45
27
55
41
43
12
0
0
0
0
0
0
0
0
3
-5
-9
-55
4
-20
48
26
4
0
0
0
0
0
0
0
0
-1
-33
29
-59
19
6
0
-13
0
0
0
0
0
0
0
0
0
-4
-27
25
25
37
7
0
0
0
0
0
0
0
0
0
0
0
0
11
16
-50
1
4
0
6
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
14
14
-37
16
-53
0
3
0
0
0
0
0
0
0
0
68
-9
-3
-32
-18
-17
1
3
0
0
0
0
0
0
0
0
0
6
15
40
7
-26
72
-22
-5
-1
0
0
0
0
0
0
0
0
33
-2
-3
-28
31
-15
14
-8
4
0
0
0
0
0
0
0
0
49
5
7
-13
-2
-36
3
0
0
0
0
0
0
0
0
0
0
15
-4
37
-27
40
2
0
0
0
0
0
0
0
0
0
0
0
-18
4
8
29
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
2
30
0
-8
21
0
-8
0
1
-1
0
0
0
0
0
0
0
3
2
-11
-37
-8
28
-67
12
0
0
0
0
0
0
0
0
-4
17
27
-24
-3
22
14
22
-8
0
0
0
0
0
0
0
0
0
-8
-18
-24
0
-8
-11
-12
0
0
0
0
0
0
0
0
0
0
19
57
3
4
-10
11
10
4
0
0
0
0
0
0
0
0
0
0
-3
10
-11
40
1
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
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
2
6
-1
-1
-6
27
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
-28
15
-18
8
4
0
0
0
0
0
0
0
0
2
1
-3
12
-6
4
18
8
0
0
0
0
0
0
0
0
0
7
0
4
-4
-2
0
10
1
21
0
0
0
0
0
0
0
0
0
-5
11
26
24
14
0
0
0
0
0
0
0
0
0
0
0
0
-17
-4
3
8
0
0
0
9
0
0
0
0
0
0
0
0
0
-13
-1
63
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
4
-9
20
-14
11
60
-2
-1
0
0
0
0
0
0
0
0
13
-8
9
0
32
4
-2
0
0
0
0
0
0
0
0
0
0
9
-11
16
8
-26
0
0
-1
0
0
0
0
0
0
0
0
0
-13
-10
30
17
1
0
0
-1
0
0
0
0
0
0
0
0
0
16
-19
18
9
-2
0
0
0
0
0
0
0
0
0
0
0
3
17
-2
-1
0
0
-6
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
0
0
0
0
0
1
0
0
-6
-3
3
0
0
0
0
0
0
0
0
0
0
-5
3
-5
21
-8
82
-2
-1
0
0
0
0
0
0
0
0
0
-22
-8
13
32
-25
16
15
-2
3
0
0
0
0
0
0
0
0
-4
15
9
3
-12
-7
0
0
0
0
0
0
0
0
0
0
0
11
30
26
-7
-1
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
-6
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-10
-6
-7
-7
1
0
0
0
0
0
0
0
0
0
0
-6
-3
-7
-1
-11
-2
-2
0
0
0
0
0
0
0
0
0
0
6
-7
16
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
4
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
5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-1
-4
1
-2
-2
17
0
0
0
0
0
0
0
0
0
0
0
0
9
4
6
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
-3
1
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-2
26
10
-36
-1
1
-3
0
0
0
0
0
0
0
0
0
37
20
26
77
22
-17
-41
-5
-2
0
0
0
0
0
0
0
0
63
9
-6
-50
-11
-21
-25
1
0
0
0
0
0
0
0
0
0
34
28
22
-28
2
0
5
-8
0
0
0
0
0
0
0
0
0
-10
41
2
7
-3
0
0
2
0
0
0
0
0
0
0
0
0
-14
-4
85
37
10
0
0
0
0
0
0
0
0
0
0
0
0
26
18
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-17
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
-42
-1
-13
-18
72
-12
26
0
0
0
0
0
0
0
0
0
-10
61
10
-61
-53
7
4
-20
-11
6
0
0
0
0
0
0
0
9
-1
-8
3
-3
14
-13
12
6
-7
0
0
0
0
0
0
0
6
0
32
-18
9
-16
7
66
0
0
0
0
0
0
0
0
0
6
10
45
26
54
3
-61
-8
7
2
0
0
0
0
0
0
0
0
68
6
12
-2
-16
39
1
2
0
0
0
0
0
0
0
0
21
-22
-23
1
36
6
40
1
0
0
0
0
0
0
0
0
0
3
0
-22
18
0
-22
0
18
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
0
-12
16
-12
-15
36
-35
-59
0
0
0
0
0
0
0
0
0
4
-5
71
10
59
-70
-34
34
33
0
0
0
0
0
0
0
0
0
36
-14
-42
-69
22
8
64
8
1
0
0
0
0
0
0
0
61
24
16
18
78
92
-39
-23
12
0
0
0
0
0
0
0
0
11
-5
0
0
27
21
22
-7
0
0
0
0
0
0
0
0
0
-14
32
53
-28
14
59
10
-3
0
6
0
0
0
0
0
0
0
0
40
76
58
-4
13
26
0
1
0
0
0
0
0
0
0
0
2
-46
28
30
-3
0
0
-11
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
0
0
4
3
-1
-17
4
-54
-2
0
0
0
0
0
0
0
0
0
0
26
33
-17
-14
-27
1
-60
-10
-4
0
0
0
0
0
0
0
-2
6
15
-12
-47
34
5
-47
60
-2
0
0
0
0
0
0
0
7
43
11
8
8
-15
25
-15
1
0
0
0
0
0
0
0
0
0
-4
-16
0
-50
-15
-16
-3
-2
0
0
0
0
0
0
0
0
0
7
-37
-15
16
84
2
-8
0
0
0
0
0
0
0
0
0
-4
34
48
-9
95
0
4
6
0
0
0
0
0
0
0
0
0
0
29
11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
4
73
-42
-28
0
-1
0
0
0
0
0
0
0
0
3
18
15
-9
-44
41
-5
-33
0
3
0
0
0
0
0
0
4
2
-38
-51
-18
6
8
-64
2
-7
0
0
0
0
0
0
0
0
-1
4
9
-12
10
4
-4
0
0
0
0
0
0
0
0
0
0
-1
39
40
0
78
0
-2
0
3
0
0
0
0
0
0
0
0
0
-22
7
-2
24
-2
1
6
-1
0
0
0
0
0
0
0
0
9
10
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
52
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
1
-22
0
-7
0
-3
0
0
0
0
0
0
0
0
1
-4
2
-12
-9
58
-1
-11
0
0
0
0
0
0
0
0
-2
2
-24
13
49
-41
9
-8
6
0
0
0
0
0
0
0
0
0
50
5
0
13
1
18
3
22
0
0
0
0
0
0
0
0
0
22
-1
-3
27
0
14
0
0
0
0
0
0
0
0
0
0
0
-11
35
-29
-2
0
-3
-1
0
0
0
0
0
0
0
0
0
0
-8
-2
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
18
0
11
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
2
0
0
0
0
0
0
0
0
0
2
0
7
4
-12
11
0
-6
0
0
0
0
0
0
0
11
8
0
4
14
36
-22
-12
-1
0
0
0
0
0
0
0
0
0
22
1
-1
-2
-19
-3
0
0
0
0
0
0
0
0
0
0
0
-4
42
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
-19
-18
0
-1
0
0
0
0
0
0
0
0
0
0
2
-31
-6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-6
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
4
22
3
7
0
0
0
0
0
0
0
0
0
3
0
-7
-21
13
8
-1
0
0
0
0
0
0
0
0
0
0
0
14
8
-38
-22
5
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
39
-2
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
4
-2
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
1
6
0
-2
0
24
1
0
-2
0
0
0
0
0
0
0
0
4
1
-10
-2
-5
0
1
0
0
0
0
0
0
0
0
0
0
-2
-8
-13
-2
0
-3
17
0
0
0
0
0
0
0
0
0
0
4
0
2
18
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
-3
-30
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
36
4
0
-4
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
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
4
7
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
6
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-9
4
-7
13
1
0
0
0
0
0
0
0
0
0
-12
26
-5
19
-10
72
-42
-3
0
0
0
0
0
0
0
0
0
47
-11
-38
47
-14
30
-14
6
0
0
0
0
0
0
0
0
0
-32
-5
0
30
9
53
25
0
0
0
0
0
0
0
0
0
0
16
7
-30
-22
3
2
-1
10
0
0
0
0
0
0
0
0
0
0
-38
7
6
-12
-3
-2
-1
0
0
0
0
0
0
0
0
0
-54
16
-6
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
15
6
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
62
-7
-3
-10
-58
6
-42
0
0
0
0
0
0
0
0
0
7
64
14
-78
35
22
-47
2
-10
0
0
0
0
0
0
0
0
4
27
-7
-1
37
-67
0
-29
-20
-3
0
0
0
0
0
0
0
-4
23
0
13
21
-63
18
-6
33
-2
0
0
0
0
0
0
0
-1
-42
11
-18
30
53
-44
-43
-13
0
0
0
0
0
0
0
0
7
0
7
9
67
-39
26
10
-6
0
0
0
0
0
0
0
0
-1
-51
8
-38
-13
47
0
0
-1
0
0
0
0
0
0
0
0
7
-11
-20
2
1
4
0
0
0
0
0
0
0
0
0
0
0
-4
-11
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-49
9
5
78
0
-1
0
0
0
0
0
0
0
1
-60
39
1
-5
-19
21
28
-18
0
0
0
0
0
0
0
0
-12
-14
-7
34
-38
-19
-14
24
26
0
0
0
0
0
0
0
0
0
39
-69
16
9
44
18
-42
21
0
0
0
0
0
0
0
0
-7
-9
43
-11
8
-23
73
21
-3
-3
0
0
0
0
0
0
0
1
24
0
1
41
7
91
1
0
2
0
0
0
0
0
0
0
-42
-22
-41
-58
-18
12
-6
-3
0
0
0
0
0
0
0
0
0
-2
-47
2
23
56
-2
0
0
0
0
0
0
0
0
0
0
0
9
7
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
52
-22
-19
14
0
-9
0
0
0
0
0
0
0
0
21
36
6
-34
-21
6
27
-5
0
-1
0
0
0
0
0
0
9
0
-23
-27
-54
18
5
48
0
0
0
0
0
0
0
0
0
-4
1
-19
15
11
-2
22
17
22
0
0
0
0
0
0
0
0
0
-10
-7
2
35
10
-39
5
2
0
0
0
0
0
0
0
0
0
2
-27
0
33
-8
-3
0
0
-10
0
0
0
0
0
0
0
-13
6
-16
24
7
-8
-1
-3
0
0
0
0
0
0
0
0
0
0
-7
-6
-15
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
0
2
0
-4
-2
0
0
0
0
0
0
0
0
0
0
20
36
-3
-10
34
29
7
32
0
-1
0
0
0
0
0
0
-17
0
0
-13
35
9
38
-6
-2
0
0
0
0
0
0
0
0
-1
8
1
1
39
-13
-4
36
1
0
0
0
0
0
0
0
0
-3
50
-18
-11
15
-3
-10
-1
-2
0
0
0
0
0
0
0
0
0
-3
21
50
0
3
-5
0
2
0
0
0
0
0
0
0
0
0
35
48
-12
16
1
0
0
0
0
0
0
0
0
0
0
0
-15
12
0
12
-7
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
1
0
-4
0
0
3
0
0
0
0
0
0
0
0
7
0
-1
-3
11
-58
-2
0
0
0
0
0
0
0
0
0
7
-1
0
6
7
-29
95
-22
-10
0
0
0
0
0
0
0
0
0
1
5
-4
-17
2
32
7
-9
0
0
0
0
0
0
0
0
0
0
0
-18
32
-3
0
-1
0
-1
0
0
0
0
0
0
0
0
0
-7
16
-28
0
0
2
0
0
0
0
0
0
0
0
0
0
37
24
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-13
-9
0
2
0
0
0
0
0
0
0
0
2
-1
0
-4
-6
1
-15
1
0
0
0
0
0
0
0
0
6
-4
0
17
4
3
0
21
16
0
0
0
0
0
0
0
0
0
2
23
9
11
-10
0
-2
0
0
0
0
0
0
0
0
0
0
0
17
-16
1
0
0
-2
2
0
0
0
0
0
0
0
0
0
-12
3
-27
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
7
39
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
-1
8
0
0
0
0
0
0
0
0
0
0
-2
-10
0
0
-2
35
-4
1
0
0
0
0
0
0
0
0
3
0
0
6
0
6
18
5
1
-1
0
0
0
0
0
0
0
1
0
0
12
0
-2
-7
-1
0
0
0
0
0
0
0
0
0
0
-7
6
16
4
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-6
-12
0
0
0
0
0
0
0
0
0
0
0
0
1
5
7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
0
10
0
0
4
0
0
0
0
0
0
0
0
-8
-2
7
1
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-1
-7
0
0
0
0
0
0
0
0
0
1
0
3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-14
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-18
12
-9
7
56
25
9
0
0
0
0
0
0
0
0
0
41
33
13
12
18
-26
-42
12
3
0
0
0
0
0
0
0
0
4
32
8
16
-34
42
-9
0
0
0
0
0
0
0
0
0
0
32
9
8
2
-24
7
0
0
0
0
0
0
0
0
0
0
0
0
-39
49
-19
-39
-4
0
-4
0
0
0
0
0
0
0
0
0
0
-1
11
-56
6
-1
0
0
0
0
0
0
0
0
0
0
0
-57
27
-10
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
36
2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-8
-18
49
7
-47
51
0
0
0
0
0
0
0
0
0
-8
-9
19
21
-51
-13
18
-20
9
-6
0
0
0
0
0
0
0
-1
50
-68
-26
27
-5
-1
-5
-15
13
0
0
0
0
0
0
0
0
-75
-62
-19
50
-24
33
-54
6
0
0
0
0
0
0
0
0
7
-30
-1
-34
5
-59
32
14
14
1
0
0
0
0
0
0
0
0
32
23
-23
7
22
22
-39
7
0
0
0
0
0
0
0
0
-28
0
49
-40
-31
-31
4
0
-8
0
0
0
0
0
0
0
0
-3
-16
62
-14
39
16
-1
0
0
0
0
0
0
0
0
0
0
25
34
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
2
-8
33
-18
-21
58
0
2
0
0
0
0
0
0
0
0
-21
-8
6
37
10
-36
-31
2
-6
0
0
0
0
0
0
0
0
-4
-89
-34
-12
36
-7
-1
44
3
0
0
0
0
0
0
0
0
15
-42
-16
-31
-37
28
57
-39
0
0
0
0
0
0
0
0
0
12
45
9
20
0
-22
-2
15
9
0
0
0
0
0
0
0
0
13
-40
-48
24
-30
44
-2
2
0
0
0
0
0
0
0
0
-3
-37
0
-18
-51
-9
-9
-1
0
0
0
0
0
0
0
0
0
1
-23
11
15
55
-2
1
6
0
0
0
0
0
0
0
0
0
-1
-29
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
0
0
38
-28
0
0
-1
0
0
0
0
0
0
0
1
-3
1
33
-19
20
-23
-29
-27
1
0
0
0
0
0
0
0
0
11
11
-2
-12
-40
35
-24
4
2
0
0
0
0
0
0
0
0
-6
-16
73
-39
-1
-79
24
0
0
0
0
0
0
0
0
0
0
-4
29
-6
20
-6
64
50
0
0
0
0
0
0
0
0
0
0
-5
-2
42
42
22
-18
11
22
0
0
0
0
0
0
0
0
0
-18
4
0
-2
0
0
-3
-3
0
0
0
0
0
0
0
0
2
8
3
23
-1
-2
0
-3
-6
0
0
0
0
0
0
0
0
3
0
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
12
-1
12
-6
-4
-14
-1
-2
1
0
0
0
0
0
0
0
0
-8
-7
0
-7
0
-19
54
0
4
0
0
0
0
0
0
0
0
3
12
-8
0
7
33
-1
-4
0
0
0
0
0
0
0
0
0
0
28
2
13
-32
30
-4
0
0
0
0
0
0
0
0
0
0
1
-4
1
-9
-24
15
1
1
0
0
0
0
0
0
0
0
0
16
-3
0
0
16
1
0
0
0
0
0
0
0
0
0
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
7
6
-2
0
0
0
0
0
0
0
0
0
0
-3
4
4
-10
-1
-54
0
4
0
0
0
0
0
0
0
0
0
0
0
3
0
28
36
1
6
0
0
0
0
0
0
0
0
0
11
-1
11
-4
10
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
-22
-1
14
41
1
0
0
0
0
0
0
0
0
0
0
0
1
3
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-3
-10
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
1
-1
-6
1
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
18
7
0
-3
4
-2
1
0
0
0
0
0
0
0
0
0
0
-8
0
-3
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
33
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
6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-8
-3
12
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
6
0
12
0
0
0
0
0
0
0
0
0
0
-6
2
0
-1
-13
22
-12
7
-8
0
0
0
0
0
0
0
0
-3
6
1
10
17
66
-1
3
0
0
0
0
0
0
0
0
0
44
7
-15
32
31
-2
-2
0
10
0
0
0
0
0
0
0
0
-21
-29
-46
10
-38
8
9
0
0
0
0
0
0
0
0
0
0
0
-26
11
-39
8
0
2
0
0
0
0
0
0
0
0
0
0
0
13
-7
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
35
2
-44
4
0
4
0
0
0
0
0
0
0
0
0
0
0
1
8
22
34
-35
15
14
-1
0
0
0
0
0
0
0
0
0
0
-9
-17
-3
78
47
23
-6
-3
39
0
0
0
0
0
0
0
-6
-36
24
39
13
-43
-2
-70
-19
0
0
0
0
0
0
0
0
-2
40
52
47
3
-19
10
8
44
0
0
0
0
0
0
0
0
-1
19
23
-29
15
-17
-27
8
-1
-1
0
0
0
0
0
0
0
0
-44
-7
-5
-27
50
13
-6
0
-4
0
0
0
0
0
0
0
3
25
28
-77
28
15
-49
0
0
0
0
0
0
0
0
0
0
12
0
-7
4
-12
-7
0
12
0
0
0
0
0
0
0
0
0
1
-19
-4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
13
0
3
0
-8
8
0
0
0
0
0
0
0
0
0
0
-18
2
28
40
4
1
12
-2
0
0
0
0
0
0
0
0
0
19
21
26
1
-22
34
6
-2
1
0
0
0
0
0
0
0
0
13
58
-40
-93
13
10
-18
-1
0
0
0
0
0
0
0
0
-2
1
-59
39
55
12
70
-20
0
3
0
0
0
0
0
0
0
0
-49
0
10
-31
8
54
-1
-8
0
0
0
0
0
0
0
0
0
12
5
80
16
44
2
-1
-6
0
0
0
0
0
0
0
0
3
43
0
-18
8
18
0
-2
0
0
0
0
0
0
0
0
0
37
0
30
-16
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
13
-7
9
5
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-18
11
-13
-3
-6
0
0
0
0
0
0
0
0
24
0
-9
74
26
-26
-17
-2
0
0
0
0
0
0
0
0
0
1
26
2
-4
26
-2
9
10
0
0
0
0
0
0
0
0
0
8
1
1
6
-6
-34
-8
0
0
0
0
0
0
0
0
0
0
-13
-3
42
6
43
16
1
0
0
0
0
0
0
0
0
0
0
-55
-6
0
16
13
4
0
0
0
0
0
0
0
0
0
0
3
-5
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
-19
2
4
2
-6
0
0
0
0
0
0
0
0
0
0
0
-4
-1
3
6
-13
0
0
0
0
0
0
0
0
0
0
0
1
-3
11
46
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
25
0
7
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-4
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-8
2
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
-1
7
-1
13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-10
7
-4
13
0
0
0
0
0
0
0
0
58
2
-5
2
-1
5
8
4
0
0
0
0
0
0
0
0
0
13
21
-12
22
10
14
-11
0
0
0
0
0
0
0
0
0
0
0
23
60
-5
-7
-7
0
0
0
0
0
0
0
0
0
0
0
9
-19
-20
-23
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
25
10
-8
8
10
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
-10
-1
1
0
19
-6
0
-1
0
0
0
0
0
0
0
0
13
3
-4
10
7
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
38
-34
-24
-3
0
0
0
0
0
0
0
0
0
0
0
4
0
12
-7
14
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
6
0
0
0
0
0
0
0
0
0
0
0
4
0
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
-6
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
-11
0
1
29
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
50
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
-71
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-18
-23
33
27
-21
-10
0
-2
0
0
0
0
0
0
0
0
9
-21
3
17
-8
19
-3
-3
18
0
0
0
0
0
0
0
0
12
4
-13
-18
9
-44
47
20
-7
0
0
0
0
0
0
0
0
-8
55
-45
-8
33
12
4
4
-13
0
0
0
0
0
0
0
0
-14
-14
-33
24
-13
-3
95
0
0
0
0
0
0
0
0
0
0
0
25
-72
-24
12
4
0
0
8
0
0
0
0
0
0
0
0
0
7
-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
-10
0
68
-2
57
-48
-39
-9
0
0
0
0
0
0
0
0
0
1
-5
28
-16
-16
-73
15
0
15
0
0
0
0
0
0
0
0
45
15
41
-9
3
-15
-31
-26
-29
24
0
0
0
0
0
0
0
-44
56
36
66
-46
8
-23
-10
-24
-50
0
0
0
0
0
0
0
-17
18
-30
38
38
-49
-7
3
-18
-29
0
0
0
0
0
0
0
-6
-47
64
55
42
11
23
46
53
-114
0
0
0
0
0
0
0
-7
-20
-53
4
38
-3
-50
27
29
1
0
0
0
0
0
0
0
0
-8
-27
6
10
28
0
0
-22
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
-10
3
-34
-16
-19
0
0
-1
0
0
0
0
0
0
24
-64
34
-34
-27
-37
-6
0
-32
0
-21
0
0
0
0
0
0
2
2
41
5
-6
-53
52
-7
-62
1
-35
0
0
0
0
0
0
-9
32
81
-9
42
35
-10
18
60
0
4
0
0
0
0
0
0
10
-7
40
-13
37
-80
-10
70
-4
-52
5
0
0
0
0
0
0
-3
-24
37
8
-2
5
-23
-28
70
-44
28
0
0
0
0
0
0
0
-22
7
33
58
-14
-37
-24
7
27
0
0
0
0
0
0
0
0
-17
2
83
-12
13
-29
-1
9
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
8
0
0
-32
-30
-73
30
0
0
-1
0
0
0
0
0
0
30
72
6
16
-9
-41
9
0
9
0
15
0
0
0
0
0
0
-13
12
3
-48
-27
-6
-64
-17
-53
-29
-2
0
0
0
0
0
0
35
77
-10
-48
53
15
-13
8
91
-33
55
0
0
0
0
0
0
-5
-17
40
18
-1
-34
-20
7
-3
-56
6
0
0
0
0
0
0
1
54
-16
68
-64
-10
25
19
-42
39
2
0
0
0
0
0
0
0
25
21
-8
-9
35
-42
12
-17
2
0
0
0
0
0
0
0
0
0
10
2
2
-14
27
0
0
0
0
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
-42
8
0
-53
-101
0
0
-6
0
0
0
0
0
0
0
2
13
14
5
10
15
26
0
-10
0
-10
-1
0
0
0
0
0
0
35
65
-31
-41
-37
87
11
-40
-75
48
-9
0
0
0
0
0
30
60
43
53
-52
-11
-16
-70
-122
-56
3
0
0
0
0
0
0
-28
14
30
24
12
22
-46
39
29
-59
-21
-1
0
0
0
0
0
-4
9
59
21
-90
-26
-46
-45
-6
13
0
-4
0
0
0
0
0
0
8
51
50
14
-5
-25
30
-53
3
0
0
0
0
0
0
0
0
21
13
-33
-12
30
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
-80
34
24
0
-46
-45
0
0
0
0
0
0
0
0
0
-2
16
11
69
-2
-32
19
0
0
0
6
0
0
0
0
0
0
1
16
-22
57
2
-35
-18
8
34
-15
8
0
0
0
0
0
0
0
-22
0
73
-2
-62
2
-20
9
-46
0
0
0
0
0
0
0
-28
25
16
2
-50
52
33
12
4
-7
7
0
0
0
0
0
0
0
-92
-7
64
14
59
1
1
2
0
0
0
0
0
0
0
0
0
0
21
5
-18
-26
3
-29
-6
0
0
0
0
0
0
0
0
0
0
0
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-21
2
-11
1
0
-63
0
-9
2
0
0
0
0
0
0
0
8
-8
55
-5
57
6
0
0
0
7
-1
0
0
0
0
0
0
-13
82
-51
-40
-65
19
0
-2
1
34
0
0
0
0
0
0
0
0
-3
20
58
4
-68
13
0
-16
0
0
0
0
0
0
0
0
0
12
-28
-37
22
14
7
0
10
0
0
0
0
0
0
0
0
-18
50
33
-26
33
-7
0
-4
-29
0
0
0
0
0
0
0
0
0
-3
15
0
0
-1
6
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-3
6
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
15
8
16
0
1
1
0
-12
0
0
0
0
0
0
0
0
0
2
-2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
15
66
64
-26
26
0
0
0
0
0
0
0
0
0
0
0
7
-21
5
-4
-35
25
4
0
21
0
0
0
0
0
0
0
0
23
-17
64
38
-22
-13
13
55
24
0
0
0
0
0
0
0
0
40
39
-4
47
58
38
19
-3
-57
0
0
0
0
0
0
0
0
21
46
-17
10
18
45
25
-28
-144
0
0
0
0
0
0
0
0
29
6
21
-17
47
-17
1
2
-7
0
0
0
0
0
0
0
0
-54
-8
7
36
12
0
9
18
-7
0
0
0
0
0
0
0
0
0
-1
0
19
0
3
8
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
-4
56
22
-10
15
43
44
-4
0
-8
0
0
0
0
0
0
0
15
-24
28
2
9
-29
-20
0
32
0
0
0
0
0
0
0
0
-21
98
14
30
-15
34
34
24
-16
1
0
0
0
0
0
0
0
41
10
47
38
0
41
37
-9
12
-37
0
0
0
0
0
0
0
-49
31
25
38
-9
4
-28
20
-7
-60
0
0
0
0
0
0
0
4
16
-79
44
-31
16
-9
4
-24
42
0
0
0
0
0
0
0
-21
8
20
-7
21
7
4
4
-8
4
0
0
0
0
0
0
0
0
-2
-10
-2
20
-47
28
-7
3
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
12
31
17
-21
-98
2
0
30
19
0
0
0
0
0
0
42
30
51
31
39
-48
32
0
19
0
29
0
0
0
0
0
0
-23
-36
16
-3
4
-21
-46
12
49
0
3
0
0
0
0
0
0
53
-11
3
21
4
-9
-14
-17
-33
58
-39
0
0
0
0
0
0
49
-15
70
28
-28
-12
7
-25
27
-15
19
0
0
0
0
0
0
0
-29
-4
8
33
-3
17
45
-17
-38
-2
0
0
0
0
0
0
-11
20
71
30
25
-32
-59
-4
42
5
0
0
0
0
0
0
0
0
-15
-19
-39
51
36
11
-3
2
-9
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-29
-23
-38
-3
-6
6
-86
-25
0
0
30
0
0
0
0
0
0
-19
57
-1
-1
-14
-11
-6
0
0
0
-1
0
0
0
0
0
0
-18
63
59
17
22
37
24
7
80
4
48
4
0
0
0
0
0
-30
5
40
9
8
-33
49
-6
14
22
26
2
0
0
0
0
0
5
-5
12
-8
25
-30
-3
4
14
-23
-18
0
0
0
0
0
0
-1
-44
-19
-19
13
113
102
-26
27
9
-2
0
0
0
0
0
0
-10
0
6
-5
49
61
-41
35
-29
0
4
-1
0
0
0
0
0
0
-2
4
2
0
10
-1
-1
-4
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
25
8
-21
-5
-7
2
-20
-21
0
3
8
0
0
0
0
0
0
0
13
2
-2
-60
26
27
0
-9
0
-60
13
0
0
0
0
0
-13
7
-9
46
-12
-7
-86
-7
-8
18
102
-10
0
0
0
0
0
10
-7
52
54
15
1
-37
5
5
-41
-1
-22
0
0
0
0
0
-6
-42
-38
-47
-34
-21
18
14
17
-25
4
0
0
0
0
0
0
0
58
11
17
-18
-85
-37
21
-1
36
-18
-7
0
0
0
0
0
0
-25
56
-17
5
14
7
11
-1
29
0
7
0
0
0
0
0
0
-3
17
49
2
-20
0
1
-7
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
56
20
6
77
0
40
-4
0
0
1
0
0
0
0
0
0
-19
23
-61
20
45
-34
-21
0
-56
0
-41
0
0
0
0
0
0
27
26
38
1
3
-54
-21
58
38
14
-14
1
0
0
0
0
0
-10
-8
-13
24
63
19
47
-29
11
18
1
0
2
0
0
0
0
-15
21
13
26
4
-10
54
40
-22
-9
38
-2
0
0
0
0
0
0
-43
-20
-5
-24
-37
39
-19
28
29
0
0
0
0
0
0
0
0
-13
3
-23
0
5
-1
0
0
1
0
0
0
0
0
0
0
0
0
9
-19
-13
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
-35
51
25
35
2
0
0
15
9
0
0
0
0
0
0
-16
6
9
-49
-122
-62
0
2
0
-1
1
0
0
0
0
0
0
0
15
10
1
18
-104
3
-58
-21
6
16
0
0
0
0
0
0
36
-29
53
-30
-78
-29
-6
15
16
9
0
0
0
0
0
0
0
-4
-1
11
23
-41
0
-9
-9
-21
-3
0
0
0
0
0
0
0
-26
31
36
93
-37
-12
-15
-6
17
-10
0
0
0
0
0
0
0
0
-24
-10
28
3
5
6
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
-2
0
-25
-7
-22
-4
0
0
0
0
0
0
0
0
0
0
0
-3
18
5
29
0
0
-3
0
0
-7
0
0
0
0
0
0
0
15
-61
-2
49
-80
3
-31
3
0
0
0
0
0
0
0
0
-15
8
17
18
-38
0
-8
8
-12
-1
0
0
0
0
0
0
0
0
11
21
5
0
-14
0
1
-2
2
0
0
0
0
0
0
0
0
0
4
-3
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-3
0
0
0
0
-4
2
0
0
0
0
0
0
0
3
8
-5
-64
37
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
7
-3
19
0
-15
2
-1
0
0
0
0
0
0
0
4
-5
1
-26
-2
0
5
0
3
-1
0
0
0
0
0
0
0
-3
-2
2
5
-19
23
-1
-5
-2
-2
0
0
0
0
0
0
0
0
0
7
-3
7
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
17
10
1
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
1
13
-39
0
-1
0
-1
1
0
0
0
0
0
0
0
1
11
-60
-26
-56
-19
-3
0
-47
12
0
0
0
0
0
0
0
-1
-14
4
2
9
-33
11
0
2
0
0
0
0
0
0
0
0
1
-32
-3
3
-32
36
0
0
-1
3
0
0
0
0
0
0
0
0
1
-5
-34
-7
-4
0
0
2
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
2
3
0
0
0
0
0
0
0
-7
-6
-13
-12
0
1
0
2
6
0
0
0
0
0
0
0
0
0
0
-9
-1
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
7
31
-13
0
0
0
0
0
0
0
0
0
0
0
0
-23
-6
73
51
32
10
8
0
-30
0
0
0
0
0
0
0
0
-26
-40
-27
-15
-2
-19
40
0
-1
0
0
0
0
0
0
0
0
14
45
-35
30
33
5
-84
44
-21
0
0
0
0
0
0
0
0
-37
-52
14
-56
35
75
21
-11
-9
0
0
0
0
0
0
0
0
-6
60
34
-4
8
-29
4
0
-18
0
0
0
0
0
0
0
0
0
6
13
2
10
0
0
0
-21
0
0
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
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
55
-6
18
-40
-7
-31
-42
18
0
-2
0
0
0
0
0
0
0
-42
-17
0
34
-22
-11
-15
0
110
0
0
0
0
0
0
0
0
36
60
12
-32
-23
-6
-9
4
25
-60
0
0
0
0
0
0
0
-8
25
14
-9
-21
2
24
19
11
-63
0
0
0
0
0
0
0
76
-28
16
1
32
20
-2
-30
-54
-27
0
0
0
0
0
0
0
-11
17
4
11
-9
-7
28
-27
49
-18
0
0
0
0
0
0
0
0
19
28
2
-22
-56
-23
-11
-3
-1
0
0
0
0
0
0
0
0
-2
-17
26
-32
-11
6
3
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
19
26
1
32
-60
2
-35
0
45
1
0
0
0
0
0
0
-54
-16
25
21
-26
-7
-9
0
14
0
32
0
0
0
0
0
0
-14
98
78
-4
9
5
30
53
-48
-10
17
0
0
0
0
0
0
-9
19
15
17
20
-16
-21
-44
-21
50
-7
0
0
0
0
0
0
-39
7
38
8
8
18
-45
10
63
-25
-8
0
0
0
0
0
0
0
3
-6
-2
41
-13
-5
40
22
10
2
0
0
0
0
0
0
0
-63
39
5
34
-6
16
-99
15
-11
0
0
0
0
0
0
0
0
8
4
-2
8
47
-16
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
28
0
54
17
33
-1
10
-3
0
-1
-7
0
0
0
0
0
0
42
-27
101
16
52
-39
-53
0
-33
0
67
-2
0
0
0
0
0
-35
-24
-18
16
17
11
19
34
-8
0
-39
-6
0
0
0
0
0
-13
-38
40
14
-33
14
44
21
17
-89
-31
-1
0
0
0
0
0
-4
38
-1
0
32
-1
47
40
22
32
-74
0
0
0
0
0
0
0
-24
-15
-3
56
69
-38
24
-26
29
0
0
0
0
0
0
0
0
37
-2
4
-51
46
-3
-37
4
0
0
0
0
0
0
0
0
0
0
-10
26
-4
9
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
1
66
22
-30
0
-5
27
-4
0
4
-2
0
0
0
0
0
0
-10
-13
-44
15
-64
-21
13
0
5
0
17
-14
0
0
0
0
0
25
-18
-26
55
32
38
-21
24
-33
30
7
-5
0
0
0
0
0
-96
34
29
-28
35
-16
-11
56
-31
-29
-15
0
0
0
0
0
0
4
-42
22
-23
-16
30
8
-19
-27
38
-9
-3
0
0
0
0
0
2
76
-67
-77
7
-12
-68
11
1
-35
0
0
0
0
0
0
0
0
17
-5
3
40
0
28
16
2
-2
0
0
0
0
0
0
0
0
0
1
-63
-7
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
1
-5
-47
-51
-6
-18
-7
-16
0
-6
19
0
0
0
0
0
0
25
1
-3
17
23
11
49
0
1
0
12
0
0
0
0
0
0
-30
45
-27
-6
-89
0
31
60
21
42
8
1
0
0
0
0
0
100
98
-56
-25
-61
-51
-37
12
-17
6
9
1
0
0
0
0
0
15
40
-23
-49
24
40
-8
6
-9
-27
2
2
-2
0
0
0
0
0
18
17
-50
-64
-28
20
7
-1
11
-3
0
0
0
0
0
0
0
6
35
17
14
2
-9
1
-4
15
0
0
0
0
0
0
0
0
3
0
33
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-34
17
-28
7
-27
11
0
-2
-12
0
0
0
0
0
0
0
-21
18
-33
56
-79
-17
0
8
0
-6
7
0
0
0
0
0
0
39
35
17
19
-16
6
-26
-2
-19
-40
1
0
0
0
0
0
0
2
55
-38
8
-17
40
53
3
-7
-10
0
-1
0
0
0
0
0
-1
-13
-6
9
2
17
11
-37
9
0
1
0
0
0
0
0
0
-2
17
-47
-9
-6
-16
26
0
3
0
0
0
0
0
0
0
0
0
-4
40
-12
-13
3
0
3
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
1
3
-4
13
-2
36
1
-2
0
1
-4
0
0
0
0
0
0
0
0
14
15
-20
-52
-9
0
2
0
2
0
0
0
0
0
0
1
2
45
5
2
-75
-49
2
-26
-7
-49
0
0
0
0
0
0
-12
1
-18
-75
-11
8
-91
13
19
2
0
6
0
0
0
0
0
0
-1
7
-1
3
6
0
1
-2
6
4
0
0
0
0
0
0
0
-1
-1
0
-2
-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
-2
0
0
0
0
0
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
25
22
3
-1
10
0
0
0
1
0
0
0
0
0
0
-19
21
46
11
82
-2
-16
0
-6
0
-1
0
0
0
0
0
0
1
-25
61
75
-45
-9
-27
-32
4
-21
2
0
0
0
0
0
0
37
30
-3
-69
33
3
20
-28
36
-9
-2
3
0
0
0
0
0
0
8
5
14
20
38
4
-18
-6
-2
0
0
0
0
0
0
0
0
-8
1
-1
19
1
9
-2
2
0
0
0
0
0
0
0
0
0
-6
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-39
20
-34
-16
-43
10
0
-47
3
0
0
0
0
0
0
0
61
2
-46
-24
44
-39
0
-1
0
1
0
2
0
0
0
0
0
-47
-47
19
4
47
74
47
-34
-33
15
0
3
0
0
0
0
0
-11
-20
-86
16
-39
-33
-72
23
3
-23
-2
0
0
0
0
0
0
-20
1
-36
-54
-17
-6
23
-26
23
0
0
0
0
0
0
0
0
-18
-12
16
18
-73
16
1
4
-12
3
0
0
0
0
0
0
0
0
23
1
-56
4
11
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-6
1
2
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-2
8
1
0
0
0
-2
0
0
0
0
0
0
0
0
4
0
-2
0
1
-19
0
-1
0
0
0
0
0
0
0
0
0
0
1
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
54
2
-30
12
0
0
0
0
0
0
0
0
0
0
0
7
51
-26
33
-16
-42
15
0
-40
0
0
0
0
0
0
0
0
28
22
1
-40
5
-23
-5
22
-22
0
0
0
0
0
0
0
0
-3
43
7
47
37
-2
35
-1
13
0
0
0
0
0
0
0
0
-2
-34
-4
-29
28
-47
4
-32
-47
0
0
0
0
0
0
0
0
-2
9
25
5
47
0
50
0
1
0
0
0
0
0
0
0
0
2
18
16
-15
-24
0
0
0
3
0
0
0
0
0
0
0
0
0
-4
12
33
0
3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
43
-1
23
21
-52
-22
93
-7
0
-3
0
0
0
0
0
0
0
-25
17
32
-2
-17
-62
3
0
34
0
0
0
0
0
0
0
0
-32
30
10
23
-17
-61
-18
-21
-33
20
0
0
0
0
0
0
0
46
-8
-23
27
13
18
67
-1
-55
-62
0
0
0
0
0
0
0
15
1
-14
40
-40
10
-57
11
-52
-27
0
0
0
0
0
0
0
20
19
-35
-49
-17
-9
35
7
-33
-40
0
0
0
0
0
0
0
0
3
-30
67
-12
33
-45
-13
12
-9
0
0
0
0
0
0
0
0
-1
-46
-64
-24
19
-4
-4
-2
0
0
0
0
0
0
0
0
0
35
10
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
60
51
9
3
-20
3
0
6
-2
0
0
0
0
0
0
9
-34
153
20
23
-29
64
0
0
0
29
0
0
0
0
0
0
-1
14
-22
60
16
32
-2
-17
29
-13
11
0
0
0
0
0
0
-40
-11
-41
-29
5
27
-2
24
-33
20
1
0
0
0
0
0
0
-73
7
-2
36
0
-42
11
0
5
14
-1
0
0
0
0
0
0
0
-6
-2
8
36
-54
-6
-19
-65
9
1
0
0
0
0
0
0
-15
-29
78
-88
-20
-87
65
-32
27
-3
-1
0
0
0
0
0
0
0
-22
-42
-36
1
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
3
1
56
35
6
26
-74
-6
0
1
7
1
0
0
0
0
0
-41
-72
-15
44
86
26
58
0
11
0
-56
0
0
0
0
0
0
-32
-39
14
21
38
16
-10
-35
32
-9
2
2
0
0
0
0
0
82
-2
20
43
50
29
-8
72
-2
34
26
8
0
0
0
0
0
-21
2
-63
22
43
5
39
-25
18
-11
0
0
0
0
0
0
0
4
-13
-12
-56
-40
-47
-24
-8
-27
-46
3
0
0
0
0
0
0
0
-7
-43
96
1
33
-16
-14
6
0
-1
0
0
0
0
0
0
0
0
0
7
4
4
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
19
-46
62
-3
44
-1
8
0
-3
8
0
0
0
0
0
0
0
-17
-9
14
-65
-11
-11
0
40
0
26
0
0
0
0
0
0
-47
-22
37
7
-41
-9
-22
-16
58
34
-16
-15
0
0
0
0
0
-17
-78
34
33
-7
50
34
20
53
-22
26
0
0
0
0
0
0
-3
-39
-40
0
49
16
-54
-58
19
-53
-1
0
0
0
0
0
0
0
-92
-32
0
30
12
0
-42
-38
-8
-1
0
0
0
0
0
0
0
-1
-55
-59
-43
19
12
-10
41
1
0
0
0
0
0
0
0
0
-19
-29
-66
33
-2
-3
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
44
73
20
14
57
20
1
0
0
3
0
0
0
0
0
0
1
33
2
-18
83
-10
-36
0
10
0
-14
0
0
0
0
0
0
28
-6
-4
-10
-5
-92
-4
11
12
28
-24
-4
0
0
0
0
0
-17
91
-19
-5
-87
-37
30
-13
-48
-35
-4
-3
0
0
0
0
0
-2
11
-52
-81
-78
-33
-19
-1
42
-49
-3
1
0
0
0
0
0
0
-29
-12
-47
21
44
42
-26
-25
0
-8
0
0
0
0
0
0
0
-8
-29
7
-30
40
-7
42
0
0
8
0
0
0
0
0
0
0
-4
-21
7
-15
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
11
-1
-5
-24
11
0
0
0
0
0
0
0
0
0
0
0
22
9
56
26
26
28
0
0
0
4
0
0
0
0
0
0
0
-22
-5
-13
43
31
5
-16
14
-52
5
-8
0
0
0
0
0
0
-29
2
-16
37
-27
0
2
-3
-10
-1
0
0
0
0
0
0
0
0
-1
47
-19
21
41
-24
0
-15
0
3
0
0
0
0
0
0
39
-10
-6
-20
36
10
-4
1
8
4
0
0
0
0
0
0
0
0
2
-21
8
-9
-13
10
0
0
0
0
0
0
0
0
0
0
0
-4
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
-3
-33
-8
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
17
-12
-31
-18
10
47
0
0
0
-9
0
0
0
0
0
0
-15
-1
-89
0
-20
19
-13
1
-10
12
1
0
1
0
0
0
0
0
-16
-25
-15
17
10
38
0
-18
0
1
-3
0
0
0
0
0
0
-7
-3
-28
-2
-38
-8
8
2
0
-3
0
0
0
0
0
0
0
0
-7
0
26
-9
8
-6
0
0
0
0
0
0
0
0
0
0
3
0
-1
-10
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
9
22
-8
49
-13
-22
0
0
0
2
0
0
0
0
0
0
11
7
18
-1
44
30
-6
0
4
0
1
0
0
0
0
0
0
-21
11
-7
80
-18
36
-48
-41
4
13
-8
0
0
0
0
0
0
24
-29
-5
7
52
-66
3
18
2
6
2
0
0
0
0
0
0
-37
34
-24
-48
-22
-37
9
-9
-55
0
2
0
0
0
0
0
0
0
8
-48
-4
26
-9
9
7
-5
0
0
0
0
0
0
0
0
0
-4
5
7
29
0
7
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
-27
-45
-4
9
20
-13
0
19
0
0
0
0
0
0
0
0
-6
38
1
25
-50
2
0
1
0
0
-1
0
0
0
0
0
0
40
83
-28
-12
14
-9
-6
19
-9
-7
0
0
0
0
0
0
0
13
26
37
-3
64
-11
-88
-4
1
2
0
0
0
0
0
0
0
-1
-5
-26
15
14
-36
-6
10
61
0
0
0
0
0
0
0
0
24
-25
5
47
-47
-5
27
0
1
0
0
0
0
0
0
0
0
0
29
-3
9
9
-59
-15
0
2
0
0
0
0
0
0
0
0
0
12
-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
-8
0
4
-2
0
3
0
0
10
0
0
0
0
0
0
0
0
0
0
-4
1
-11
0
0
0
1
-1
0
0
0
0
0
0
0
0
1
-3
-22
-1
-1
2
0
12
0
0
0
0
0
0
0
0
0
16
-1
25
-2
3
0
0
0
-6
0
0
0
0
0
0
0
0
0
-24
2
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
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-16
8
-10
1
0
0
0
0
0
0
0
0
0
0
0
-18
15
-5
22
10
-21
-6
0
-10
0
0
0
0
0
0
0
0
-16
-8
29
-8
-22
14
2
1
-5
0
0
0
0
0
0
0
0
-4
42
-1
14
-14
-27
5
2
-30
0
0
0
0
0
0
0
0
0
0
3
27
26
6
4
0
-45
0
0
0
0
0
0
0
0
-12
-23
1
-14
-2
3
-40
-4
-11
0
0
0
0
0
0
0
0
2
-6
33
8
-15
0
0
-10
1
0
0
0
0
0
0
0
0
0
-33
-3
57
0
3
-12
-6
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
52
50
6
10
8
30
1
0
0
-1
0
0
0
0
0
0
0
59
53
7
2
36
1
-28
0
-5
0
0
0
0
0
0
0
0
23
34
19
-10
-18
-9
25
20
56
-8
0
0
0
0
0
0
0
2
-82
93
46
-18
-63
68
22
-21
32
0
0
0
0
0
0
0
10
0
-33
-39
5
57
21
-40
29
-54
0
0
0
0
0
0
0
-21
14
-9
-70
35
17
0
7
-32
30
0
0
0
0
0
0
0
4
-29
4
2
8
-3
54
-47
-7
-38
0
0
0
0
0
0
0
0
20
38
-63
16
24
-1
0
-2
2
0
0
0
0
0
0
0
0
1
-29
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-11
6
96
12
40
17
50
-2
0
-15
0
0
0
0
0
0
0
0
-24
27
30
-4
-17
41
0
26
0
-38
0
0
0
0
0
0
19
40
-3
45
-11
-49
-7
34
-51
32
4
0
0
0
0
0
0
15
-21
21
0
37
1
5
52
-43
-95
11
0
0
0
0
0
0
-1
1
0
69
-19
9
-14
-115
90
-1
2
0
0
0
0
0
0
0
-56
36
32
32
43
-52
-61
-3
-67
9
0
0
0
0
0
0
0
-50
-53
50
-32
-20
33
1
-11
-6
0
0
0
0
0
0
0
0
-29
-3
22
-56
-50
9
-10
1
2
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
49
-27
-5
-9
-14
-44
-5
0
0
4
0
0
0
0
0
0
10
9
17
11
-7
20
37
0
-3
0
13
4
0
0
0
0
0
33
1
28
35
75
55
-7
-28
-9
46
-5
-3
0
0
0
0
0
17
73
-8
16
25
71
-9
-35
3
22
4
-2
0
0
0
0
0
-67
-46
1
0
69
9
12
23
20
-1
-7
0
0
0
0
0
0
1
83
-36
14
14
14
16
-3
-32
-25
3
0
0
0
0
0
0
0
-1
-25
-26
-21
6
32
-8
0
0
0
0
0
0
0
0
0
0
0
6
-2
-35
17
2
-4
0
0
0
0
0
0
0
0
0
0
-15
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
47
-10
0
-1
-15
0
-2
0
1
0
0
0
0
0
-4
9
-41
18
67
-8
6
0
3
0
-10
2
0
0
0
0
0
1
18
-16
38
2
72
10
-11
-5
-12
11
-16
0
0
0
0
0
6
10
-36
-6
-2
-10
73
71
12
-6
-4
-1
0
0
0
0
0
2
-28
15
-2
1
3
-74
61
-21
4
0
0
0
0
0
0
0
0
-7
55
34
-12
50
68
-23
11
-60
-4
1
0
0
0
0
0
0
-13
-12
33
-43
-35
14
-35
8
-1
0
0
0
0
0
0
0
0
1
-2
-23
-24
21
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
10
0
0
0
0
0
0
0
0
0
-2
9
-9
-22
19
16
15
-1
0
0
0
0
0
0
0
0
0
2
66
-8
-2
28
75
-7
0
-2
0
12
-6
0
0
0
0
0
9
-37
40
-24
28
-11
-50
-16
21
17
15
0
0
0
0
0
0
-12
26
58
8
54
3
16
18
8
9
-3
0
0
0
0
0
0
-10
-21
-1
63
64
0
68
1
-6
-56
38
0
0
0
0
0
0
0
-9
-76
44
-11
-14
6
1
0
-25
-1
0
0
0
0
0
0
0
10
-48
-59
6
-35
32
4
10
0
0
0
0
0
0
0
0
0
3
2
11
15
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
10
60
11
28
7
-2
3
0
0
0
0
0
0
0
0
0
0
0
-26
61
-20
55
38
0
1
0
-18
-1
0
0
0
0
0
0
-7
92
-20
-46
21
9
3
-4
-12
0
-1
0
0
0
0
0
0
13
-1
8
-42
2
10
-6
-13
-47
1
2
0
0
0
0
0
0
-3
24
4
-20
52
0
18
-10
50
0
-3
0
0
0
0
0
0
-10
-17
3
-41
-4
0
-8
0
-8
0
0
0
0
0
0
0
0
0
8
17
-48
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
1
19
-1
1
-13
0
0
0
0
0
0
0
0
0
0
0
-11
-8
92
4
-76
-4
0
-3
0
6
0
0
0
0
0
0
-30
-25
17
9
1
37
-12
-36
9
2
4
0
0
0
0
0
0
7
8
-10
91
-57
-8
-17
1
-27
-8
-3
0
0
0
0
0
0
25
38
-10
-17
21
43
9
0
-1
9
0
0
0
0
0
0
0
0
4
2
-24
-46
-17
-15
2
0
2
0
0
0
0
0
0
0
-2
0
-18
4
3
22
1
1
-6
0
0
0
0
0
0
0
0
0
0
0
-3
0
10
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
-1
-19
-33
42
-4
-6
-3
0
0
0
0
0
0
0
0
0
0
41
31
-89
4
44
-5
54
0
0
0
-1
1
0
0
0
0
0
-19
-78
10
30
8
-7
-4
4
-72
-106
0
0
0
0
0
0
0
-38
39
-93
8
-43
4
-45
25
-11
-10
0
0
0
0
0
0
0
103
18
-23
2
-37
-44
-18
4
0
-14
0
0
0
0
0
0
0
-13
12
-64
-49
-70
-39
-17
28
-32
10
0
0
0
0
0
0
0
-1
10
61
85
-11
-21
-25
2
0
-3
0
0
0
0
0
0
0
0
0
-12
-1
9
35
-1
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
-13
-40
30
52
-17
24
-3
0
1
-3
0
0
0
0
0
0
0
17
28
63
31
17
-33
0
8
0
1
0
0
0
0
0
0
0
-16
-4
33
-26
-17
51
5
4
-45
1
0
0
0
0
0
0
0
-7
48
-11
34
41
2
5
-18
-51
-2
0
0
0
0
0
0
0
-40
-18
-20
26
-30
-35
21
-28
0
-9
0
0
0
0
0
0
0
13
-35
58
-24
-51
30
19
-11
43
0
0
0
0
0
0
0
0
27
82
3
-82
-19
21
7
2
0
0
0
0
0
0
0
0
0
-2
0
-32
-18
3
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
7
0
0
0
0
6
0
0
0
0
0
0
0
0
-9
-3
19
0
-4
0
0
0
4
0
0
0
0
0
0
0
0
0
-15
-8
3
0
3
0
-1
1
0
0
0
0
0
0
0
0
1
0
0
-10
0
0
-1
-4
3
0
0
0
0
0
0
0
0
0
2
-1
-1
8
11
-1
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
-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
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-1
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
12
6
25
-2
-11
3
0
0
0
0
0
0
0
0
0
0
8
-11
-40
-18
50
20
0
-25
-7
0
0
0
0
0
0
0
0
0
20
11
33
-2
8
-11
1
-39
0
0
0
0
0
0
0
0
19
-35
-38
25
80
-22
20
4
16
0
0
0
0
0
0
0
0
0
0
1
-22
-3
-25
4
37
-19
0
0
0
0
0
0
0
0
1
27
-6
7
-4
2
0
0
8
0
0
0
0
0
0
0
0
0
12
0
2
0
0
-11
4
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
41
4
-15
25
21
24
-1
0
-7
0
0
0
0
0
0
0
-18
6
36
45
43
-55
-33
0
-7
0
0
0
0
0
0
0
0
-25
-15
49
-10
113
-24
-27
-32
0
8
0
0
0
0
0
0
0
-37
-4
-25
4
62
-39
0
32
24
-15
0
0
0
0
0
0
0
-36
32
-17
38
7
-14
-98
55
39
30
0
0
0
0
0
0
0
-1
0
-37
-78
-18
48
34
-18
1
22
0
0
0
0
0
0
0
0
-10
-16
1
53
-13
-12
5
-15
3
0
0
0
0
0
0
0
0
-77
7
76
49
-15
2
10
4
0
0
0
0
0
0
0
0
0
0
16
4
2
0
0
0
0
0
0
0
0
0
0
0
0
13
-33
54
-5
-10
57
-8
38
0
0
1
0
0
0
0
0
0
0
89
16
85
4
-17
-8
0
0
0
21
0
0
0
0
0
0
-13
11
70
69
11
-34
77
13
-12
55
3
0
0
0
0
0
0
0
54
-16
29
7
-20
65
51
20
-76
9
0
0
0
0
0
0
27
35
135
2
-64
0
29
6
-16
-4
-16
0
0
0
0
0
0
1
11
0
15
36
13
18
24
15
-6
3
0
0
0
0
0
0
0
3
-22
-2
33
11
41
-34
33
3
0
0
0
0
0
0
0
0
-36
45
-2
-85
-36
8
3
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
-15
-86
-2
29
37
2
9
0
0
0
1
0
0
0
0
0
0
7
-40
0
20
17
41
29
0
0
0
-12
0
0
0
0
0
0
-22
-12
24
63
37
99
24
-9
42
18
-32
-4
0
0
0
0
0
-44
28
-60
-88
-23
20
54
23
61
25
2
0
0
0
0
0
0
-18
5
14
35
10
29
-19
39
17
-18
46
0
0
0
0
0
0
-38
-46
25
0
25
21
9
-12
-11
16
-1
0
0
0
0
0
0
-13
-24
-22
19
-47
69
46
37
-45
0
0
0
0
0
0
0
0
0
-3
9
-1
3
0
-24
0
0
0
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
10
-99
28
87
17
32
13
0
0
3
0
0
0
0
0
0
0
7
2
25
1
83
60
0
3
0
-4
2
0
0
0
0
0
-3
4
-49
-27
65
-36
0
8
-42
55
0
0
0
0
0
0
0
0
-7
26
19
-93
-12
38
21
0
-51
6
0
0
0
0
0
0
-38
-2
13
13
39
-9
55
38
-24
73
2
-3
0
0
0
0
0
0
-10
-25
-50
0
59
23
-20
-14
-3
0
0
0
0
0
0
0
0
-16
34
-46
21
66
50
5
-49
0
0
0
0
0
0
0
0
0
-8
48
13
1
-11
-7
1
0
0
0
0
0
0
0
0
0
0
0
1
-1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
7
-22
-40
15
-7
-6
0
0
1
0
0
0
0
0
0
0
63
20
60
48
3
-32
0
-2
0
0
0
0
0
0
0
0
-1
27
68
17
59
-10
-15
10
-27
-2
-4
0
0
0
0
0
0
0
29
11
-99
0
126
63
-5
6
-3
7
0
0
0
0
0
0
6
25
-47
0
15
15
38
-2
-6
-48
1
0
0
0
0
0
0
1
-54
27
-25
-11
0
23
9
-22
-2
0
0
0
0
0
0
0
1
-1
-10
0
-8
18
2
-8
15
-1
0
0
0
0
0
0
0
0
0
-2
2
-10
4
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
30
-22
22
13
14
15
0
0
0
1
0
0
0
0
0
0
0
34
-40
47
-28
-26
7
0
0
0
0
0
0
0
0
0
0
0
4
-36
-26
24
1
146
-1
1
-7
0
0
0
0
0
0
0
0
27
22
-69
-7
-4
9
15
-1
-6
0
0
0
0
0
0
0
0
22
15
6
-43
9
-11
22
0
0
0
0
0
0
0
0
0
0
71
-13
35
8
71
0
0
1
-6
0
0
0
0
0
0
0
0
1
-44
-6
-61
-8
-15
0
-3
0
0
0
0
0
0
0
0
0
0
2
-16
-10
-34
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
-9
-9
2
0
1
0
0
-1
0
0
0
0
0
0
0
-10
2
79
-2
-8
-8
0
1
0
0
0
0
0
0
0
0
-5
-2
-46
-25
-24
-62
10
-3
-6
0
-8
0
0
0
0
0
0
1
9
-19
-35
-4
12
7
-19
0
0
0
0
0
0
0
0
0
15
3
25
-18
62
-36
15
0
-34
0
0
0
0
0
0
0
0
0
18
-12
20
14
-4
-20
0
7
0
0
0
0
0
0
0
0
-4
0
2
4
12
3
0
6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-20
5
12
16
-1
0
0
0
0
0
0
0
0
0
0
-1
67
-9
-38
36
1
6
0
1
0
0
0
0
0
0
0
0
-2
34
16
6
43
25
-64
-31
-80
-24
0
0
0
0
0
0
0
-10
68
-9
19
31
-11
-63
-106
6
31
0
0
0
0
0
0
0
-12
-76
-8
6
-1
13
-7
-2
-19
37
0
0
0
0
0
0
0
-27
21
2
-36
-57
-1
36
-1
0
10
0
0
0
0
0
0
0
7
1
-7
-21
-15
49
25
-24
10
0
0
0
0
0
0
0
0
0
11
26
-8
-18
7
7
3
3
-1
0
0
0
0
0
0
0
0
-18
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
17
34
-19
40
-2
0
-2
0
12
0
0
0
0
0
0
0
0
27
-33
5
-29
-25
3
0
-2
0
0
0
0
0
0
0
0
0
-19
22
75
-43
-15
49
-1
2
-32
-1
0
0
0
0
0
0
0
61
42
40
134
0
27
-44
-8
-6
-2
0
0
0
0
0
0
0
-9
4
26
3
37
-41
-12
-48
-29
0
0
0
0
0
0
0
0
83
10
34
-67
-32
46
-3
9
0
0
0
0
0
0
0
0
0
0
13
-38
-12
-87
6
-3
1
1
0
0
0
0
0
0
0
0
-2
17
-3
11
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
4
0
0
0
0
-17
0
0
0
0
0
0
0
0
-10
-21
0
7
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
6
6
0
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
13
-24
25
1
0
0
-1
0
0
0
0
0
0
0
0
-21
0
19
-2
7
1
0
1
0
0
0
0
0
0
0
0
0
1
0
-12
-4
44
35
0
0
15
0
0
0
0
0
0
0
0
15
6
20
10
-46
9
-1
0
3
0
0
0
0
0
0
0
0
0
0
-11
-83
-11
-10
6
-1
10
0
0
0
0
0
0
0
0
0
0
27
0
8
2
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
-1
0
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-15
16
4
27
45
0
0
0
0
0
0
0
0
0
0
-1
71
55
20
16
77
-12
0
-1
0
0
0
0
0
0
0
0
36
48
95
9
71
28
-104
0
-4
-16
0
0
0
0
0
0
0
12
0
21
72
21
-41
-37
-43
22
-28
0
0
0
0
0
0
0
32
12
15
-4
-56
91
-5
27
-35
-13
0
0
0
0
0
0
0
-7
59
63
52
18
-50
15
19
0
-9
0
0
0
0
0
0
0
10
0
7
28
34
-2
-43
6
22
-42
0
0
0
0
0
0
0
0
84
30
22
18
6
2
4
1
7
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
30
26
36
-5
44
58
-2
0
6
0
0
0
0
0
0
0
0
-10
1
-19
14
29
28
0
2
0
3
0
0
0
0
0
0
-13
-32
-66
25
-27
7
-42
1
13
32
-3
0
0
0
0
0
0
0
30
-10
41
-5
-9
6
51
-43
36
-9
0
0
0
0
0
0
-8
26
21
46
10
2
50
2
-64
-17
15
0
0
0
0
0
0
0
-2
10
-13
6
30
-36
-68
39
5
0
0
0
0
0
0
0
-7
-6
0
4
17
13
-64
-49
-38
-1
0
0
0
0
0
0
0
0
1
8
2
20
-18
3
3
0
-10
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-20
-37
-8
-37
16
2
0
0
-1
0
0
0
0
0
0
0
-6
41
31
-34
-4
-55
0
7
0
5
0
0
0
0
0
0
-28
-3
-4
-18
-12
51
-36
-26
-5
12
-55
0
0
0
0
0
0
0
40
-15
79
27
-40
6
-16
9
4
25
3
0
0
0
0
0
2
-3
-37
-6
22
37
86
16
1
13
0
0
0
0
0
0
0
8
15
9
-12
69
41
-15
-17
48
29
-8
0
0
0
0
0
0
7
-10
-86
0
26
28
27
26
0
25
0
0
0
0
0
0
0
0
1
6
-7
-6
-75
-8
2
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
0
0
2
-33
18
-53
45
35
4
0
0
0
0
0
0
0
0
0
-7
-34
4
-50
-38
27
19
0
0
0
-1
0
0
0
0
0
0
-8
6
98
39
-8
24
-57
0
17
0
0
0
0
0
0
0
0
0
-36
-26
0
22
-55
32
-14
-2
14
-9
0
0
0
0
0
0
-18
39
24
6
-5
0
-29
-6
16
49
0
0
0
0
0
0
0
0
6
-1
9
9
50
12
-30
-37
-49
3
-1
0
0
0
0
0
0
4
-21
37
0
-10
30
-28
9
3
0
0
0
0
0
0
0
0
12
2
-35
28
8
9
0
-19
-2
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
15
48
-7
39
4
0
0
0
0
0
0
0
0
0
1
-28
41
-38
36
-2
21
0
-2
0
0
0
0
0
0
0
0
4
8
16
50
25
50
-59
0
1
35
-2
0
0
0
0
0
0
-2
0
9
37
-35
5
-7
28
-14
-37
0
0
0
0
0
0
0
7
0
-20
-8
-41
-4
1
2
0
16
-25
0
0
0
0
0
0
1
-2
-12
-7
-19
-16
-21
54
4
2
-1
0
0
0
0
0
0
0
2
53
-14
-45
0
-3
9
37
-13
0
0
0
0
0
0
0
0
-4
2
10
18
27
-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
13
0
-45
-8
-3
1
0
0
0
0
0
0
0
0
0
0
10
50
-33
28
-19
2
0
0
0
0
0
0
0
0
0
0
0
10
7
22
-82
26
13
-1
0
-5
-1
0
0
0
0
0
0
0
-2
3
-39
-24
20
32
30
0
0
0
0
0
0
0
0
0
0
2
-10
-29
21
6
-16
-12
7
-12
0
0
0
0
0
0
0
0
-13
-4
35
-32
-3
4
-14
0
22
0
0
0
0
0
0
0
0
0
13
-3
-46
-22
0
-30
-24
-3
0
0
0
0
0
0
0
0
0
2
-17
-15
19
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
-7
-18
-2
1
4
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-5
13
0
10
0
0
0
2
0
0
0
0
0
0
-21
0
-53
1
-28
8
0
0
-1
-1
0
0
0
0
0
0
0
0
20
-2
-10
-4
-19
3
-3
-11
0
0
0
0
0
0
0
0
0
-9
20
-11
29
2
16
-1
-3
0
0
0
0
0
0
0
0
0
-21
-13
-81
15
9
-2
-4
-1
-7
0
0
0
0
0
0
0
0
0
-29
2
-16
0
-13
0
-6
0
0
0
0
0
0
0
0
0
10
0
-55
-2
-8
0
8
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-5
11
-22
-12
26
-2
0
0
0
0
0
0
0
0
0
0
-19
27
-21
-17
11
6
0
0
0
0
0
0
0
0
0
0
-4
-43
-29
-48
-17
12
-6
27
0
-38
0
0
0
0
0
0
0
0
28
-10
3
52
-17
21
1
12
35
0
0
0
0
0
0
0
32
-6
-31
-70
-21
69
-34
21
8
-34
0
0
0
0
0
0
0
0
-14
41
-65
2
24
-2
16
3
-1
0
0
0
0
0
0
0
0
5
37
5
-45
10
-15
0
0
-20
0
0
0
0
0
0
0
0
-111
-30
77
7
27
-1
-21
-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
-43
-10
-16
12
1
0
0
1
-8
0
0
0
0
0
0
0
-46
-27
66
-22
4
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-27
6
3
-13
3
0
-23
0
0
0
0
0
0
0
0
16
24
-43
1
45
33
22
0
11
0
0
0
0
0
0
0
0
2
18
28
11
-1
-34
20
10
-29
0
0
0
0
0
0
0
0
2
-1
-34
33
11
-97
12
1
-8
0
0
0
0
0
0
0
0
-42
-12
35
9
11
93
-21
-9
0
-1
0
0
0
0
0
0
0
0
-11
0
14
-18
2
24
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
4
0
0
-4
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
12
1
4
0
0
0
0
0
0
0
0
0
0
0
-11
3
66
0
1
2
0
0
6
0
0
0
0
0
0
0
0
1
48
0
18
-1
10
0
0
-16
0
0
0
0
0
0
0
0
25
0
1
-16
-25
-12
0
6
0
0
0
0
0
0
0
0
0
0
105
4
50
0
45
-33
-11
1
0
0
0
0
0
0
0
0
0
2
-28
0
6
2
0
0
2
0
0
0
0
0
0
0
0
0
0
-3
-7
0
-4
0
3
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
-53
10
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
39
0
47
1
-1
-8
0
0
0
0
0
0
0
0
0
0
16
0
27
2
-16
4
0
7
55
-6
0
0
0
0
0
0
0
-6
31
8
-16
-26
99
82
-10
76
-27
0
0
0
0
0
0
0
-17
0
65
90
-79
17
-64
9
28
13
0
0
0
0
0
0
0
0
48
-9
29
29
-11
-16
15
-15
-10
0
0
0
0
0
0
0
-27
2
33
33
-42
2
-1
3
-32
0
0
0
0
0
0
0
0
0
0
1
-35
8
12
-24
-8
-1
-4
0
0
0
0
0
0
0
0
-28
9
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-7
63
1
6
0
0
0
0
0
0
0
0
0
0
0
-90
1
4
-29
24
11
0
0
0
0
0
0
0
0
0
0
-3
1
13
-27
22
75
19
-3
2
-24
0
0
0
0
0
0
0
0
-17
27
34
48
30
56
-49
-3
-28
0
0
0
0
0
0
0
-4
14
24
43
-23
12
14
1
7
7
-1
0
0
0
0
0
0
0
-25
-38
-22
-99
-2
-34
15
-10
57
0
0
0
0
0
0
0
2
1
32
29
-20
-39
-20
-18
-12
15
0
0
0
0
0
0
0
0
10
0
8
16
25
-11
-9
0
0
0
0
0
0
0
0
0
0
-3
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
-36
0
-21
0
0
0
3
0
0
0
0
0
0
0
-18
-1
39
-4
2
-2
0
0
0
-1
0
0
0
0
0
0
29
8
75
16
40
10
6
-3
10
-20
0
0
0
0
0
0
0
0
49
2
2
-14
39
-43
-15
0
0
3
0
0
0
0
0
0
-16
1
73
10
-16
-5
44
13
-1
3
0
0
0
0
0
0
0
0
-10
4
-19
8
-21
-22
0
4
0
0
0
0
0
0
0
0
-1
0
-5
22
-97
-1
-28
-12
-45
0
0
0
0
0
0
0
0
0
-8
-8
0
1
-3
0
-22
0
-11
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
56
0
0
-36
4
0
0
0
0
0
0
0
0
0
0
0
37
-20
39
-4
-8
3
0
0
0
8
0
0
0
0
0
0
2
0
2
30
-28
6
47
2
4
-4
0
0
0
0
0
0
0
0
40
47
0
-2
-12
31
7
0
0
0
0
0
0
0
0
0
0
1
-4
41
3
29
65
18
11
3
0
0
0
0
0
0
0
0
-22
8
-30
38
30
-1
-7
6
-30
0
0
0
0
0
0
0
-1
2
-36
-16
2
-8
0
8
-8
-12
0
0
0
0
0
0
0
0
-7
0
17
0
-2
1
3
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-8
27
-15
10
0
0
0
0
0
0
0
0
0
0
0
-54
0
30
-16
-19
-18
0
0
1
0
0
0
0
0
0
0
0
0
12
-1
7
-1
25
-6
-1
1
3
0
0
0
0
0
0
0
0
0
-33
-11
-11
4
-4
-6
0
2
0
0
0
0
0
0
0
0
0
3
-4
4
-16
4
-7
3
-1
0
0
0
0
0
0
0
-4
0
8
0
10
-3
1
1
8
0
0
0
0
0
0
0
0
0
2
-6
-12
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-12
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-22
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
24
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
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
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
-4
0
0
0
2
0
0
0
0
0
0
0
0
1
0
-6
0
11
0
0
1
0
0
0
0
0
0
0
0
-7
0
-2
3
-11
15
4
0
0
0
0
0
0
0
0
0
0
-25
0
0
-32
-19
-53
0
0
0
0
0
0
0
0
0
0
0
0
2
13
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-27
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
13
0
5
0
-3
0
0
0
0
0
0
0
0
0
0
0
-37
2
5
-1
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
53
-9
-8
-4
0
-80
0
0
0
0
0
0
0
0
24
-22
47
11
-2
-30
-1
-33
-6
0
0
0
0
0
0
0
3
1
1
0
-28
-82
-15
53
-7
-8
0
0
0
0
0
0
0
0
-2
-5
54
-15
22
-39
0
0
-8
0
0
0
0
0
0
0
0
0
-30
11
-30
0
0
0
0
-7
0
0
0
0
0
0
0
0
10
0
9
13
-12
-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
18
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
11
1
33
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-24
4
0
-2
0
0
21
0
0
0
0
0
0
0
0
0
0
3
17
10
-2
-2
0
0
1
0
0
0
0
0
0
0
0
4
28
-10
5
-9
0
0
-6
0
0
0
0
0
0
0
0
4
0
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-10
-26
13
11
0
-1
0
0
0
0
0
0
0
0
0
0
0
-13
-12
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
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
-7
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
65
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
-25
1
-11
2
0
-7
0
0
0
0
0
0
0
0
-44
1
13
0
33
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-5
57
-1
0
0
0
0
0
0
0
0
0
0
0
0
-39
-3
30
0
4
0
-6
0
0
0
0
0
0
0
0
0
0
0
-20
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-1
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-27
0
-4
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
4
0
0
1
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
4
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
-8
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-15
0
-3
0
0
-8
0
0
0
0
0
0
0
0
0
0
-13
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
16
-33
41
0
0
0
0
0
0
0
0
0
-3
-13
-8
-3
7
26
64
-27
-28
0
0
0
0
0
0
0
0
6
-33
6
35
80
-12
21
28
-7
0
0
0
0
0
0
0
0
3
0
23
-12
-11
-47
-22
19
-36
0
0
0
0
0
0
0
0
1
-9
-4
35
-1
26
-19
-7
-36
0
0
0
0
0
0
0
0
0
5
0
-4
3
45
21
25
-2
0
0
0
0
0
0
0
0
0
-9
-3
30
1
-13
38
11
0
0
0
0
0
0
0
0
0
0
-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
-18
0
21
65
19
5
14
32
0
-18
0
0
0
0
0
0
0
-21
12
-12
34
20
57
32
36
13
29
0
0
0
0
0
0
0
1
-17
57
-21
38
-28
51
3
-1
-2
0
0
0
0
0
0
0
-65
-39
9
22
9
-24
-32
32
-27
19
0
0
0
0
0
0
0
15
55
73
-48
-39
72
-3
-11
2
-1
0
0
0
0
0
0
0
-9
-2
54
-5
-31
-11
-30
-102
-13
10
0
0
0
0
0
0
0
24
21
-37
15
-65
-17
-10
-1
7
-4
0
0
0
0
0
0
0
0
1
-8
1
10
-44
-46
-7
47
15
0
0
0
0
0
0
0
0
0
0
0
0
0
11
2
2
0
0
0
0
0
0
0
0
0
-45
0
-14
-14
55
18
-39
0
-26
19
0
0
0
0
0
0
-35
14
-17
61
-4
51
-18
16
6
-30
-6
0
0
0
0
0
0
15
18
4
-19
5
51
15
-35
1
1
12
0
0
0
0
0
0
-5
38
61
66
28
8
4
44
-4
54
26
0
0
0
0
0
0
0
-1
49
13
-33
76
-43
-23
-24
-59
0
0
0
0
0
0
0
0
16
-1
-22
-39
36
-15
48
9
-10
-34
0
0
0
0
0
0
0
-8
-28
-20
-8
-30
-23
67
47
15
0
0
0
0
0
0
0
0
-24
-16
-29
-27
31
-16
13
-36
-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
-1
-2
0
7
58
-10
-27
0
-3
-20
0
0
0
0
0
0
16
-38
5
-13
0
55
-37
40
-14
-62
1
1
0
0
0
0
0
8
-41
16
6
41
42
12
4
6
20
-5
0
0
0
0
0
0
-6
19
20
-64
-22
-20
55
-22
26
-2
58
0
0
0
0
0
0
97
-3
-87
11
-35
-1
-56
37
-34
-4
7
0
0
0
0
0
0
0
-7
-8
-19
2
-59
-47
10
-43
14
21
-2
0
0
0
0
0
0
2
0
4
10
36
-14
45
36
39
-1
0
0
0
0
0
0
0
-1
-4
-1
-17
19
-7
-23
-6
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
-55
-55
74
0
-2
-7
-3
0
0
0
0
0
0
-41
14
16
4
41
-10
-3
-39
-43
47
-1
0
0
0
0
0
1
-14
20
8
28
-68
-11
1
-43
36
0
23
0
0
0
0
0
0
52
-84
24
-47
16
-11
32
48
30
9
0
0
0
0
0
0
-1
-52
27
53
27
-53
4
46
38
1
2
0
0
0
0
0
0
0
8
-20
6
21
-45
-17
-82
12
22
-4
0
0
0
0
0
0
0
-10
36
6
-36
5
23
-1
-59
-40
0
0
0
0
0
0
0
0
-2
-1
7
-22
28
10
25
-28
-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
2
-2
0
0
-7
0
21
-16
0
-24
-3
0
0
0
0
0
0
-3
51
5
3
102
24
-45
57
-52
-28
2
-2
0
0
0
0
0
-3
-41
-26
47
58
-66
-42
-40
-33
63
-1
0
0
0
0
0
0
12
-4
8
-13
58
-19
-45
13
86
29
3
0
0
0
0
0
0
12
-13
-30
-1
-33
-41
34
44
-24
2
-18
0
0
0
0
0
0
0
-8
1
-16
18
4
-54
-13
-32
-12
42
0
0
0
0
0
0
0
0
-2
-1
-2
0
36
-10
12
-20
0
0
0
0
0
0
0
0
-3
0
0
9
-24
-7
27
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
1
0
0
0
0
0
23
0
15
1
0
0
0
0
0
0
0
40
60
67
-30
0
27
0
60
41
3
0
0
0
0
0
0
0
45
-3
39
7
53
-22
-50
52
-10
6
0
0
0
0
0
0
0
-12
0
-3
106
-9
-39
13
-19
3
-21
0
0
0
0
0
0
0
-2
4
27
0
-27
-22
13
76
-28
2
0
0
0
0
0
0
0
12
0
0
0
7
-17
-91
-9
4
3
0
0
0
0
0
0
0
0
3
-8
3
-9
75
-17
-38
4
0
0
0
0
0
0
0
0
0
0
-15
0
-4
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
24
0
0
0
0
0
0
0
0
0
0
0
-7
-39
-4
17
-6
-1
0
0
0
0
0
0
0
0
0
5
0
1
0
-3
-2
4
2
-1
0
0
0
0
0
0
0
0
0
0
4
-19
-10
0
-8
2
3
0
0
0
0
0
0
0
0
3
1
0
1
3
-16
-28
-12
-4
0
0
0
0
0
0
0
0
0
-10
-2
0
0
7
4
-12
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
6
0
-14
-9
0
0
0
0
0
0
0
0
0
0
0
-7
3
6
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
18
72
-12
7
17
13
-17
0
0
0
0
0
0
0
0
0
-2
10
1
71
-28
53
14
-4
-16
0
0
0
0
0
0
0
0
-36
17
-32
-41
42
31
-1
39
15
0
0
0
0
0
0
0
0
-1
56
-18
-88
58
-47
11
-13
2
0
0
0
0
0
0
0
0
15
50
54
42
13
-45
-1
-37
-35
0
0
0
0
0
0
0
0
18
21
8
22
43
41
11
-25
6
0
0
0
0
0
0
0
0
-3
-26
7
-20
-40
-12
25
-12
24
0
0
0
0
0
0
0
0
0
1
0
9
0
-38
39
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
33
-1
0
0
0
0
0
0
0
0
0
66
89
-20
64
26
21
43
-3
0
17
0
0
0
0
0
0
0
9
-7
-48
66
17
67
-1
7
15
-6
0
0
0
0
0
0
0
85
50
-16
21
40
-13
-11
18
-13
-29
0
0
0
0
0
0
0
38
31
41
-9
20
4
33
15
20
-30
0
0
0
0
0
0
0
-155
41
18
30
-9
-11
72
44
-12
-49
0
0
0
0
0
0
0
11
29
-26
47
21
-4
27
22
-36
-13
0
0
0
0
0
0
0
-50
20
-25
-1
85
-42
-35
-63
28
13
0
0
0
0
0
0
0
3
0
0
-49
38
10
-26
-9
-53
3
0
0
0
0
0
0
0
0
0
-2
0
11
0
27
0
0
0
0
0
0
0
0
0
0
18
58
21
-48
43
-24
-12
25
0
44
8
0
0
0
0
0
0
15
-48
1
25
-13
-15
-7
59
16
30
-7
0
0
0
0
0
0
-1
-17
-20
-2
51
-8
58
43
-19
-18
-10
0
0
0
0
0
0
20
8
88
3
18
-7
-44
-2
7
8
17
0
0
0
0
0
0
-12
-3
-14
-12
24
25
68
-1
-14
2
-29
0
0
0
0
0
0
1
32
-16
-10
3
-10
-33
56
-27
0
2
0
0
0
0
0
0
0
11
43
-8
44
-2
12
20
8
39
-4
0
0
0
0
0
0
0
3
0
-9
29
34
-63
-13
-6
-28
0
0
0
0
0
0
0
0
0
0
1
0
-6
3
-1
11
-3
0
0
0
0
0
0
0
18
-60
44
-2
-40
-17
18
-32
0
15
-14
0
0
0
0
0
0
23
-29
24
34
18
-6
22
22
-4
-27
0
0
0
0
0
0
0
16
19
46
-54
5
5
19
35
15
-13
22
-18
0
0
0
0
0
-43
86
29
-28
0
63
1
17
9
-45
-5
0
0
0
0
0
0
55
47
19
-29
-28
12
-8
-11
-35
28
12
2
0
0
0
0
0
-17
-45
-29
53
-12
18
-44
14
57
27
34
0
0
0
0
0
0
1
6
0
-4
-39
13
-21
-18
20
18
27
0
0
0
0
0
0
1
-2
15
-3
7
24
4
8
-57
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
2
1
4
0
0
0
0
0
0
0
-7
-15
-75
47
-6
-2
-26
-82
0
-44
-66
-8
0
0
0
0
0
49
-13
32
9
1
22
15
21
-49
-41
-57
-14
0
0
0
0
0
3
4
-29
-20
4
5
-18
-11
3
-30
27
-8
0
0
0
0
0
61
-31
30
48
-73
29
10
27
-16
-54
-49
-6
0
0
0
0
0
5
39
14
18
73
12
21
41
-9
10
0
26
2
0
0
0
0
-4
-1
54
16
23
-49
6
-23
-16
-44
-10
-2
0
0
0
0
0
0
0
0
6
17
-56
-60
22
14
-10
2
3
0
0
0
0
0
0
0
0
-8
0
38
13
-50
-16
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-7
0
0
0
0
0
0
0
0
-66
10
-36
-43
-23
-22
17
22
0
-59
-63
3
0
0
0
0
0
-33
-22
19
-1
2
-27
17
18
4
8
23
-4
0
0
0
0
0
39
22
14
-26
67
45
11
36
-22
33
-11
-6
0
0
0
0
0
-61
-1
-22
64
2
22
-5
13
-20
29
-10
-6
0
0
0
0
0
0
-4
38
13
-19
18
59
24
9
-48
27
0
-3
0
0
0
0
3
0
35
-42
2
-33
41
10
9
-48
54
2
0
0
0
0
0
-6
8
-1
10
-9
-50
-56
1
19
15
2
6
0
0
0
0
0
0
3
0
0
0
11
29
-69
15
-24
-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
43
-22
-4
-28
-107
-63
3
0
-65
11
0
-1
0
0
0
0
0
-29
-60
-29
5
-12
43
63
-24
-30
-16
-22
-1
0
0
0
0
0
-13
44
45
42
-12
-31
-8
-39
10
12
0
0
0
0
0
0
0
-7
-29
1
57
-28
-6
-29
40
25
-5
-4
0
0
0
0
0
0
1
28
-4
-2
22
-54
-60
40
-29
-10
-4
0
0
0
0
0
0
10
-10
-21
-3
19
-30
37
17
-10
1
0
0
0
0
0
0
0
0
0
-4
-20
-12
30
20
-15
-4
0
0
0
0
0
0
0
0
6
0
0
0
-11
-9
-25
22
29
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
0
0
0
11
1
10
0
22
-1
2
0
0
0
0
0
0
0
-2
12
0
0
16
-10
10
-25
4
-2
0
0
0
0
0
-4
0
-13
51
-24
-7
-39
1
-48
-3
-2
1
0
0
0
0
0
0
4
1
0
4
0
9
-23
21
6
15
-1
0
0
0
0
0
-6
0
-3
0
-4
0
-25
-6
-29
-2
1
0
1
0
0
0
0
0
0
0
0
3
-10
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
7
0
-7
0
-40
0
-22
0
0
0
0
0
0
0
0
-8
-10
-15
2
9
24
-10
36
-2
-3
0
-1
0
0
0
0
0
12
12
-7
-14
-14
-32
35
-6
-15
0
0
0
0
0
0
0
0
3
0
-3
15
46
8
-3
2
5
1
0
0
0
0
0
0
0
0
-4
4
2
-3
-12
18
3
1
0
0
0
0
0
0
0
0
7
0
0
7
1
0
0
5
-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
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-7
-2
-17
18
0
2
-6
0
0
0
0
0
0
0
0
12
-1
32
-22
-14
27
-14
-26
-1
1
0
0
0
0
0
0
0
-18
-30
28
7
-69
1
40
21
-15
0
0
0
0
0
0
0
0
1
0
0
-1
-31
12
5
-6
8
0
0
0
0
0
0
0
0
11
0
4
9
-28
-1
-16
8
-8
-2
0
0
0
0
0
0
0
0
4
0
1
0
-4
1
-3
0
-6
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
2
0
0
0
0
0
0
0
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
6
0
-6
0
-1
0
0
0
0
0
0
0
0
11
0
2
5
-15
-1
-4
-3
0
0
0
0
0
0
0
0
0
-3
-1
3
16
-9
-29
-25
0
2
0
0
0
0
0
0
0
0
0
-2
0
3
-21
18
2
0
2
0
0
0
0
0
0
0
0
2
0
0
0
-11
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
2
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-4
42
9
-26
-81
47
0
0
0
0
0
0
0
0
0
0
18
20
12
13
11
39
3
47
0
0
0
0
0
0
0
0
34
34
24
-25
14
15
16
-6
42
0
0
0
0
0
0
0
0
-8
0
-25
47
55
56
34
-55
5
0
0
0
0
0
0
0
0
4
-14
53
-39
-8
41
34
-24
-33
0
0
0
0
0
0
0
0
-2
-40
36
-51
-34
-9
-7
-21
0
0
0
0
0
0
0
0
0
0
-3
0
0
15
41
-8
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
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
-42
-26
-7
63
-31
-32
0
-47
0
0
0
0
0
0
0
-16
37
-3
-23
6
17
20
-11
42
-32
0
0
0
0
0
0
0
0
27
-22
-1
19
-25
27
49
67
5
0
0
0
0
0
0
0
-7
-17
-29
-14
12
18
-6
-5
29
2
0
0
0
0
0
0
0
-1
4
-66
35
86
-23
58
24
-8
24
0
0
0
0
0
0
0
-47
68
23
-40
-71
-18
58
-15
-44
20
0
0
0
0
0
0
0
13
0
-9
9
19
-21
-40
41
-28
-14
0
0
0
0
0
0
0
0
0
-1
30
20
-3
0
-13
-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
-15
30
-4
24
19
37
8
-12
0
18
-39
0
0
0
0
0
0
-52
31
-55
16
17
27
37
28
-37
47
-30
0
0
0
0
0
0
1
5
-18
-2
-65
6
-11
-1
11
-42
8
0
0
0
0
0
0
-19
13
-36
-28
29
-29
-37
40
-42
1
9
0
0
0
0
0
0
18
40
-28
-47
-44
-6
-1
-10
5
22
-4
0
0
0
0
0
0
0
-11
40
14
15
34
-26
-5
-39
46
12
0
0
0
0
0
0
0
2
-3
54
49
32
12
-12
54
-11
0
0
0
0
0
0
0
0
0
-1
0
9
5
2
94
-35
-1
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
9
0
0
0
0
0
0
0
0
0
-6
56
33
-27
89
-59
9
-3
0
-59
10
0
0
0
0
0
0
14
-7
39
4
24
33
39
-4
-9
-35
-23
0
0
0
0
0
0
-9
0
20
11
-9
-7
15
10
-22
18
13
0
0
0
0
0
0
-63
24
0
53
-59
6
12
42
28
44
-12
0
0
0
0
0
0
-1
-57
45
-23
57
-29
-4
28
80
-17
-26
1
0
0
0
0
0
1
5
-13
5
1
50
44
-11
-79
-6
-3
3
0
0
0
0
0
0
22
35
4
-22
-24
42
-15
22
-2
18
0
0
0
0
0
0
0
-6
-1
0
14
-24
-15
-36
9
-12
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
0
-2
0
0
0
0
0
0
0
6
-52
58
6
50
-34
68
-4
0
-11
2
1
0
0
0
0
0
-32
21
-25
-56
-96
23
13
-9
-18
-8
-13
-34
0
0
0
0
0
11
38
-9
-51
-35
1
-4
6
24
-3
43
0
0
0
0
0
0
0
-39
-8
7
-19
7
14
76
28
21
2
22
0
0
0
0
0
29
44
69
15
-66
23
19
78
28
2
21
0
0
0
0
0
0
0
12
42
-3
-1
-7
9
35
-25
27
-7
0
0
0
0
0
0
0
12
-8
74
4
-34
50
24
28
-3
7
0
0
0
0
0
0
0
-2
0
0
0
-11
3
7
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
17
6
16
33
0
-5
10
-6
0
-9
5
-2
0
0
0
0
0
20
-23
46
-17
-56
9
6
-11
7
-19
-23
-13
0
0
0
0
0
-7
-56
-20
49
49
42
-14
-5
25
28
-4
-4
0
0
0
0
0
10
-34
-32
-46
34
34
-1
57
-48
-10
1
0
0
0
0
0
0
-6
-41
1
48
-9
-19
5
33
3
-13
-1
2
0
0
0
0
0
1
-3
6
1
-68
4
52
-74
-44
13
1
1
0
0
0
0
0
0
0
1
9
-4
10
-27
0
11
30
-7
-2
0
0
0
0
0
0
0
-15
6
0
-19
1
-50
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
13
-3
12
-24
-50
-35
-19
0
12
19
7
0
0
0
0
0
-6
-30
-16
10
37
-27
-30
-44
-42
72
1
-13
-1
0
0
0
0
0
-32
67
38
-57
42
-24
-16
51
-23
40
-3
0
0
0
0
0
0
-9
-16
-28
3
27
5
72
-19
-1
28
-7
-2
0
0
0
0
0
4
27
-2
11
-50
36
15
-45
-36
9
11
0
0
0
0
0
0
8
7
2
45
-63
-37
37
-22
1
-6
0
0
0
0
0
0
0
0
3
-1
2
-1
19
-2
-25
-17
-3
0
0
0
0
0
0
0
0
0
3
0
0
-3
30
-28
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
9
0
8
3
42
-25
33
-15
0
27
-16
-1
0
0
0
0
0
18
-2
-6
8
13
-11
-17
26
-58
-25
1
3
0
0
0
0
0
6
-11
-13
-16
-25
-7
-2
-5
74
59
14
-3
0
0
0
0
0
0
0
0
11
-59
-55
4
-26
0
1
18
0
0
0
0
0
0
1
22
0
0
46
1
-73
-17
-33
6
10
2
0
0
0
0
0
0
0
0
-12
-1
19
3
-22
-11
14
-2
0
0
0
0
0
0
0
0
0
0
3
0
-1
-1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-16
25
-8
-75
52
-4
-49
0
-25
0
0
0
0
0
0
0
0
51
25
-37
41
-18
-49
-25
-13
-2
-1
1
0
0
0
0
0
17
50
28
-84
4
-8
38
-35
27
3
0
1
0
0
0
0
0
20
-19
-7
-30
-40
17
51
-40
27
-25
0
0
0
0
0
0
0
4
-2
1
-46
-22
-16
-8
39
-21
-1
0
0
0
0
0
0
0
0
0
-1
7
1
-2
-22
-32
-34
0
0
0
0
0
0
0
0
4
0
4
0
-1
-8
10
-3
-1
0
-3
0
0
0
0
0
0
0
0
8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
15
12
-10
29
-10
8
0
-41
3
0
0
0
0
0
0
0
26
22
-26
-11
-22
-17
8
28
20
36
0
0
0
0
0
0
0
33
-17
12
-73
69
24
3
-22
5
-41
-4
0
0
0
0
0
0
-11
34
-3
21
10
23
5
-69
36
0
7
0
0
0
0
0
0
-15
-5
-27
-2
38
26
-21
1
14
1
0
0
0
0
0
0
0
-28
41
-9
-35
-36
-16
4
-24
-32
3
1
0
0
0
0
0
0
1
1
5
-23
-1
35
69
-73
-1
0
0
0
0
0
0
0
0
0
-9
0
0
0
-29
-24
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
6
11
7
0
-2
6
0
0
0
0
0
0
0
0
4
1
1
16
-6
17
-20
1
39
-2
0
0
0
0
0
0
0
0
0
0
5
3
-27
18
1
0
0
0
0
0
0
0
0
0
-8
0
0
0
-1
-2
1
-3
4
0
0
0
0
0
0
0
0
0
0
2
16
24
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
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
-9
0
2
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
1
6
3
4
0
-2
0
0
0
0
0
0
0
0
-4
0
-1
4
0
-4
-12
2
0
0
0
0
0
0
0
0
0
1
1
0
0
-2
-8
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
6
29
-23
7
-38
-29
0
0
0
0
0
0
0
0
0
1
17
-15
-39
-15
66
42
4
-13
0
0
0
0
0
0
0
0
11
61
-5
-149
1
14
51
5
31
0
0
0
0
0
0
0
0
0
0
12
-13
35
2
-22
52
81
0
0
0
0
0
0
0
0
0
6
-68
-5
-11
16
17
-8
-3
0
0
0
0
0
0
0
0
0
-2
1
-29
19
43
-2
10
-1
0
0
0
0
0
0
0
0
0
-1
0
-8
47
-1
22
-11
-2
0
0
0
0
0
0
0
0
0
0
0
20
-1
1
-4
-13
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
-58
12
-64
36
10
-17
-25
-23
0
-42
0
0
0
0
0
0
0
69
5
33
-15
48
14
40
-17
-28
10
0
0
0
0
0
0
0
-10
-15
-48
-24
7
47
-17
76
-29
6
0
0
0
0
0
0
0
52
13
-33
-15
-75
-23
36
8
23
-21
0
0
0
0
0
0
0
55
-26
13
7
21
-25
14
14
-94
21
0
0
0
0
0
0
0
6
-13
-59
8
-25
-9
-38
-4
29
-73
0
0
0
0
0
0
0
-30
-3
-4
4
-26
41
23
77
4
27
0
0
0
0
0
0
0
1
-1
-7
-21
-16
3
-25
-16
30
-3
0
0
0
0
0
0
0
0
0
0
-3
9
0
1
7
0
0
0
0
0
0
0
0
0
10
3
-15
14
32
7
39
-27
0
15
2
0
0
0
0
0
0
3
-31
-38
20
-43
13
-14
27
-1
35
23
0
0
0
0
0
0
-30
44
-25
-10
16
-24
-26
30
-24
54
-1
0
0
0
0
0
0
0
59
-2
-10
31
60
17
-12
1
17
20
0
0
0
0
0
0
90
42
3
36
7
-33
39
-55
79
-14
0
0
0
0
0
0
0
-8
2
2
-32
17
22
-14
-4
83
9
-7
0
0
0
0
0
0
0
-8
-10
16
6
8
-9
-34
21
13
-10
0
0
0
0
0
0
0
-8
0
-13
-3
-40
-63
-11
-17
-28
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-20
-6
0
0
0
0
0
0
0
0
3
30
-21
28
16
94
18
-62
0
59
3
0
0
0
0
0
0
-36
-14
8
50
7
-59
33
21
19
19
-19
0
0
0
0
0
0
12
-33
16
53
-91
11
74
-9
17
-19
27
2
0
0
0
0
0
-6
27
96
-3
24
-12
-64
23
-42
30
28
0
0
0
0
0
0
-60
-2
47
-59
56
36
2
-7
-18
-41
2
0
0
0
0
0
0
19
18
54
-46
-45
-6
7
19
-42
-5
-13
1
0
0
0
0
0
0
28
-11
2
4
27
-39
55
76
-21
-9
0
0
0
0
0
0
0
1
-1
0
2
-36
11
8
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
0
3
6
0
0
0
0
0
0
0
0
-4
-26
-8
2
39
-9
-61
0
79
16
-3
0
0
0
0
0
33
0
1
36
42
3
7
0
40
0
14
0
0
0
0
0
0
-12
-25
69
-48
-16
-11
57
1
3
47
-5
1
0
0
0
0
0
-10
-18
-22
18
-12
17
8
-71
10
10
-9
3
0
0
0
0
0
-2
64
-31
-44
13
21
35
54
50
-21
0
-2
0
0
0
0
0
3
-46
18
-4
-18
-15
0
-43
-14
-60
4
0
0
0
0
0
0
0
1
17
-40
55
-36
14
15
61
-9
-1
0
0
0
0
0
0
0
-6
0
-1
0
20
22
-64
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
4
6
-14
-48
43
-3
56
5
0
43
-26
-1
0
0
0
0
0
12
43
-47
-29
32
-35
22
11
-32
-62
-3
0
0
0
0
0
0
0
-1
52
-5
-4
4
13
70
113
-25
27
-14
0
0
0
0
0
0
12
-42
35
100
-24
18
78
19
57
4
-1
0
0
0
0
0
29
25
3
3
-14
2
53
9
2
-3
23
-6
0
0
0
0
0
0
-6
26
8
-47
-1
-21
27
-17
9
-3
0
0
0
0
0
0
0
0
-3
28
27
35
-40
7
-37
30
3
0
0
0
0
0
0
0
0
12
0
0
6
-3
21
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
3
7
-16
10
7
-60
0
-27
27
0
0
0
0
0
0
-6
-12
11
-32
-73
23
-4
-71
24
-21
44
9
2
0
0
0
0
0
5
11
-11
0
22
46
-110
2
-28
16
1
0
0
0
0
0
0
68
2
10
16
4
13
-26
-83
-18
3
0
0
0
0
0
0
0
-3
-15
2
-63
4
-29
-13
53
-45
0
0
0
0
0
0
0
0
-19
-2
-2
-2
43
4
32
1
-6
-4
0
0
0
0
0
0
0
0
0
-6
-55
-2
41
-7
-22
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
13
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
1
0
-3
-7
-1
46
25
43
0
45
2
0
0
0
0
0
0
-12
8
12
19
25
1
-30
44
-44
4
26
0
-6
0
0
0
0
11
0
1
-4
0
13
-37
-6
-2
30
-14
0
0
0
0
0
0
4
-21
-2
-37
46
-11
9
0
-4
-47
-7
0
0
0
0
0
0
0
0
0
-7
6
7
0
19
-16
-2
0
-1
0
0
0
0
0
0
20
-2
6
0
4
-7
3
-8
0
-1
0
0
0
0
0
0
3
0
0
0
0
1
2
-2
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
49
18
35
-26
4
-39
78
0
-37
-3
0
0
0
0
0
0
-24
38
-1
-1
-21
56
41
41
29
-94
0
0
0
0
0
0
0
-18
57
41
-10
-17
-30
-55
-11
-45
-6
2
0
0
0
0
0
0
-68
21
-10
63
14
-3
-5
-13
-30
54
-3
0
0
0
0
0
0
0
-55
-58
-46
-31
-19
62
2
7
0
0
1
0
0
0
0
0
0
3
28
41
-28
35
-18
-44
-6
0
0
0
0
0
0
0
0
0
-2
-8
4
0
8
17
-18
6
-9
0
0
0
0
0
0
0
0
10
-6
-5
0
-7
-6
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
14
19
35
5
46
-16
0
-7
3
0
0
0
0
0
0
0
3
10
1
-18
1
-6
6
14
-44
16
0
0
0
0
0
0
0
-29
21
1
1
-39
-35
-32
21
-1
-6
0
0
0
0
0
0
0
2
-9
-15
17
10
-24
-64
-20
2
17
0
0
0
0
0
0
0
52
-14
-1
-9
-43
-13
-43
15
7
0
0
0
0
0
0
0
0
-45
-11
45
35
-20
6
84
-11
4
2
0
0
0
0
0
0
0
-6
11
-2
-29
16
29
-25
-7
-16
0
0
0
0
0
0
0
0
2
2
-3
0
-1
2
42
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
10
0
3
-16
0
0
0
0
0
0
0
0
4
0
-12
-15
9
-7
-17
38
-33
0
0
0
0
0
0
0
0
22
-1
-1
3
0
-16
21
-1
4
0
0
0
0
0
0
0
0
6
0
0
-2
12
17
12
-13
0
3
0
0
0
0
0
0
0
1
-8
0
-13
-4
-24
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
9
-6
11
2
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
4
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
11
65
-53
7
-4
0
0
0
0
0
0
0
0
0
-2
-1
49
-28
44
60
23
-1
2
0
0
0
0
0
0
0
0
-1
-22
-10
-7
-31
-51
-5
1
2
0
0
0
0
0
0
0
0
0
35
0
1
1
3
4
24
12
0
0
0
0
0
0
0
0
0
0
0
3
32
-1
-38
-15
18
0
0
0
0
0
0
0
0
0
2
-33
29
-2
-51
3
-6
0
0
0
0
0
0
0
0
0
0
-3
-1
-8
29
16
40
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
50
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-9
2
0
0
0
0
0
0
0
0
0
-9
-6
-81
-29
5
24
12
-70
0
-15
0
0
0
0
0
0
0
-5
-9
14
-2
13
41
-26
66
-9
5
0
0
0
0
0
0
0
-16
0
1
-56
19
37
-8
15
-20
29
0
0
0
0
0
0
0
53
-26
-47
-12
30
22
-52
50
14
95
0
0
0
0
0
0
0
-1
0
-20
3
-21
-26
8
-37
6
24
0
0
0
0
0
0
0
47
-44
-75
25
-7
-27
12
72
-51
4
0
0
0
0
0
0
0
57
0
18
79
3
14
-25
21
9
0
0
0
0
0
0
0
0
0
0
-2
26
3
9
-20
-7
48
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
18
4
0
0
0
0
0
0
0
0
0
19
1
-60
-26
-28
49
-33
0
-18
-2
0
0
0
0
0
0
7
42
33
-4
-65
12
29
-9
-4
-32
-22
0
0
0
0
0
0
0
-57
65
-13
-1
11
2
15
6
9
2
0
0
0
0
0
0
1
12
3
-6
2
-2
43
-8
36
-26
-1
0
0
0
0
0
0
0
66
0
-4
-28
-42
-5
-26
23
13
3
0
0
0
0
0
0
4
2
-9
11
12
70
-28
8
24
67
-8
0
0
0
0
0
0
6
61
-2
88
77
-59
54
-59
80
-10
0
0
0
0
0
0
0
0
-3
24
11
-11
12
-7
-18
-50
-33
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
-3
0
0
0
0
0
0
0
0
-10
0
-30
-2
9
-11
-18
12
0
59
16
0
0
0
0
0
0
10
-37
22
-40
-4
46
29
3
-19
37
-19
0
0
0
0
0
0
10
23
-10
-44
38
15
-3
-20
55
15
13
0
0
0
0
0
0
35
-3
-49
33
15
29
43
-21
16
26
-12
0
0
0
0
0
0
0
15
-11
0
-33
-2
-40
-12
-51
27
-9
0
0
0
0
0
0
-3
32
-6
-13
10
-38
56
-37
-9
62
-6
0
0
0
0
0
0
-6
8
-2
1
-12
-11
0
-13
19
0
1
0
0
0
0
0
0
1
-12
0
0
-6
-11
0
-16
69
12
0
0
0
0
0
0
0
0
0
0
0
-7
0
-4
6
-1
4
0
0
0
0
0
0
0
0
0
27
6
-55
-42
-38
38
0
-47
9
-1
0
0
0
0
0
10
4
44
29
-28
31
16
-4
57
-9
-1
-2
0
0
0
0
0
9
0
-5
36
5
-13
45
-55
8
-30
-8
0
0
0
0
0
0
0
-16
36
-55
-21
4
-5
13
-5
-10
1
-5
0
0
0
0
0
0
92
-11
2
0
29
7
-45
22
37
-28
3
0
0
0
0
0
-8
22
55
21
8
13
6
76
36
-65
-11
-1
0
0
0
0
0
9
-42
44
36
1
-35
-2
-8
28
-1
0
0
0
0
0
0
0
0
2
-6
-2
0
-1
-44
-51
-30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-1
0
0
0
0
0
0
0
0
3
2
2
0
7
-6
37
21
0
43
10
0
0
0
0
0
0
2
-13
18
-51
-32
5
35
-6
-49
26
-51
0
0
0
0
0
0
3
26
-29
60
7
4
29
-25
37
-5
-24
0
0
0
0
0
0
-2
48
2
-25
-42
26
42
0
-22
3
-3
0
0
0
0
0
0
0
-7
13
-7
-9
0
9
-3
-63
8
0
2
0
0
0
0
0
2
41
-76
12
22
12
21
20
10
7
3
-2
0
0
0
0
0
4
1
17
-2
-20
0
-9
29
-25
0
0
0
0
0
0
0
0
0
-2
0
-27
0
-2
25
-46
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-4
0
0
0
0
0
0
0
0
0
0
-1
-13
-1
-8
-21
14
-11
0
5
-16
0
0
0
0
0
0
0
-53
9
-12
8
-16
35
30
-32
16
0
0
0
0
0
0
0
0
13
3
0
58
18
-1
-38
15
-14
0
0
0
0
0
0
0
0
33
7
-1
16
-33
24
15
-9
-34
-8
0
0
0
0
0
0
0
0
1
0
-13
29
0
41
-9
18
1
-10
0
0
0
0
0
0
1
-34
7
2
-8
-2
26
8
41
-2
0
0
0
0
0
0
0
0
0
12
0
-25
46
-1
0
12
-4
0
0
0
0
0
0
0
0
0
0
0
2
4
-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
1
-21
-1
-10
50
5
-3
0
6
1
0
0
0
0
0
0
-13
-5
-11
11
52
42
32
20
-55
12
-3
0
0
0
0
0
0
-39
3
-43
65
4
20
40
-36
-27
8
-9
0
0
0
0
0
0
-6
0
-6
36
41
-40
11
-27
-3
-22
-8
0
0
0
0
0
0
-8
-2
1
21
34
-41
-82
0
3
3
0
0
0
0
0
0
0
-8
-3
-4
-8
37
-48
-7
-62
2
-7
6
0
0
0
0
0
0
-9
0
8
0
-22
30
-10
7
12
0
1
0
0
0
0
0
0
0
0
0
0
0
-67
-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
-6
5
8
-8
26
-48
-40
-82
0
-12
2
0
0
0
0
0
0
20
-86
-5
53
17
42
-18
-20
-33
-41
-4
0
0
0
0
0
0
11
8
-40
2
-60
-49
61
-46
-53
3
0
0
0
0
0
0
0
42
42
-4
16
68
57
55
-2
-7
0
0
0
0
0
0
0
0
-50
20
30
60
19
-9
-5
32
0
-24
10
0
0
0
0
0
0
1
-28
44
35
-32
20
-25
13
-5
3
0
0
0
0
0
0
0
8
6
-3
0
48
-15
74
-18
7
-3
0
0
0
0
0
0
0
1
-7
-10
28
-5
9
61
14
-21
-8
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
-4
8
-79
28
1
19
23
0
52
0
0
0
0
0
0
0
0
35
-16
-72
18
-17
30
-5
0
29
-44
0
0
0
0
0
0
0
17
-33
-35
-44
37
-22
-23
16
51
0
0
0
0
0
0
0
0
-17
27
-16
10
2
-15
6
-9
-35
0
0
0
0
0
0
0
0
-28
61
-24
9
-13
-17
-16
-49
0
0
0
0
0
0
0
0
0
-32
-2
-57
-71
-58
21
28
0
19
0
0
0
0
0
0
0
0
0
74
-7
-19
18
41
8
37
2
0
0
0
0
0
0
0
0
1
0
0
-1
-31
9
10
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
1
0
0
0
-24
-8
0
0
0
0
0
0
0
0
-1
0
7
0
-10
0
20
10
-53
0
0
0
0
0
0
0
0
-1
-2
-2
-26
-13
-46
2
30
-1
0
0
0
0
0
0
0
0
3
0
1
0
-4
1
43
-2
-18
0
0
0
0
0
0
0
0
-10
0
6
27
6
-17
-13
4
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-6
10
6
-2
-18
6
0
0
0
0
0
0
0
0
0
0
-2
-7
-6
-14
49
-28
-44
-1
0
0
0
0
0
0
0
0
-4
-55
-2
11
-35
2
-20
1
1
0
0
0
0
0
0
0
0
0
4
-2
-18
16
41
-11
2
0
0
0
0
0
0
0
0
0
6
-1
0
-13
28
29
17
6
11
0
0
0
0
0
0
0
0
0
3
-8
-6
-37
15
24
-18
1
0
0
0
0
0
0
0
0
-4
-2
2
-7
22
3
28
0
16
0
0
0
0
0
0
0
0
0
-10
0
-20
0
10
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
3
0
0
0
0
0
0
0
0
0
4
-11
-12
-4
-99
-16
69
18
0
5
0
0
0
0
0
0
0
0
-6
-31
-51
16
54
65
17
17
-61
0
0
0
0
0
0
0
-31
24
10
2
2
30
-32
-8
-7
-38
0
0
0
0
0
0
0
-2
-4
-24
-21
-5
48
-46
-76
0
-10
0
0
0
0
0
0
0
51
-14
48
-32
-52
-9
38
-60
47
19
0
0
0
0
0
0
0
-12
0
-6
68
-32
85
59
-2
-42
-4
0
0
0
0
0
0
0
25
-2
-10
12
15
-34
2
-3
-24
4
0
0
0
0
0
0
0
-1
0
6
18
4
25
-10
4
0
-15
0
0
0
0
0
0
0
0
0
0
0
55
0
-11
-6
0
0
0
0
0
0
0
0
0
0
20
18
-6
19
-6
-11
24
0
63
-7
0
0
0
0
0
0
4
-10
10
52
39
-27
30
12
66
77
-18
0
0
0
0
0
0
0
14
0
-6
39
-31
74
-25
6
-44
-6
0
0
0
0
0
0
-3
-62
-16
-40
-3
3
-11
1
-4
-9
3
0
0
0
0
0
0
-36
-27
-11
22
-31
-4
9
17
39
-11
12
0
0
0
0
0
0
0
-3
0
-46
-13
-42
14
84
36
29
0
0
0
0
0
0
0
0
25
0
46
24
119
-65
-41
9
-6
2
0
0
0
0
0
0
0
1
0
-21
-3
0
-6
-3
9
26
0
0
0
0
0
0
0
0
0
0
0
4
0
-22
10
7
0
0
0
0
0
0
0
0
3
-10
-12
-43
-21
51
-15
18
0
58
-3
2
0
0
0
0
0
53
12
37
107
18
47
13
63
33
5
17
0
0
0
0
0
0
3
24
-7
-22
35
-27
44
19
48
-1
37
0
0
0
0
0
0
-28
22
17
-12
-61
72
36
1
50
-22
0
0
0
0
0
0
0
-21
-9
-53
18
18
32
9
-14
25
24
-16
1
0
0
0
0
0
8
1
9
0
15
40
-7
-1
12
0
9
0
0
0
0
0
0
0
13
-29
1
-1
-41
-38
-65
-5
-28
0
0
0
0
0
0
0
0
-3
1
-1
0
25
8
40
-9
-4
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
-13
22
-12
-7
6
-7
55
0
-18
-14
0
0
0
0
0
0
0
-35
-11
7
55
-16
20
49
66
2
0
0
0
0
0
0
0
-3
34
-43
28
-2
-50
49
-22
42
62
0
6
0
0
0
0
0
9
58
-46
18
22
-1
-39
48
-4
71
0
0
0
0
0
0
0
-2
50
-7
-7
-45
-5
-25
24
-62
51
-1
4
0
0
0
0
0
0
-1
7
-2
0
-26
32
6
34
4
9
0
0
0
0
0
0
0
0
1
12
-21
35
-48
10
-46
18
8
0
0
0
0
0
0
0
0
9
0
0
55
33
28
-6
-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
-6
13
8
-41
19
26
7
0
-73
1
-4
0
0
0
0
0
0
36
0
-62
5
39
-39
3
0
-13
39
0
0
0
0
0
0
0
-20
14
24
15
-45
-30
12
12
-4
22
0
0
0
0
0
0
-1
2
11
4
43
-47
28
34
38
-12
1
0
0
0
0
0
0
27
-22
-8
12
-61
22
-35
18
-48
-21
-8
0
0
0
0
0
0
0
7
-9
0
12
0
29
-42
-15
-27
0
0
0
0
0
0
0
0
2
0
23
-4
15
49
-12
-6
-25
1
0
0
0
0
0
0
0
0
15
0
4
0
-15
-16
-15
12
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-1
0
0
0
0
0
0
0
0
0
0
1
-3
2
19
-6
-8
-36
0
58
-4
0
0
0
0
0
0
0
22
0
-2
-7
-28
-15
-16
42
-21
-16
0
0
0
0
0
0
0
16
-2
0
-8
27
32
-26
-44
16
-28
0
0
0
0
0
0
0
39
0
-24
3
-33
35
32
17
27
0
1
0
0
0
0
0
0
-8
2
-4
26
-48
-41
-3
125
-7
0
-3
0
0
0
0
0
0
2
0
41
-4
19
0
-49
-15
-3
2
0
0
0
0
0
0
0
0
10
-11
-20
-1
-12
22
-3
-13
1
0
0
0
0
0
0
0
0
0
-1
0
0
-32
38
1
-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
4
0
-2
0
45
-15
1
8
0
-41
1
0
0
0
0
0
0
1
-2
-3
4
3
25
6
45
-46
-3
-9
0
0
0
0
0
0
0
-5
0
29
0
33
16
40
-2
34
9
0
0
0
0
0
0
40
0
11
-14
37
10
23
-42
-14
0
0
0
0
0
0
0
0
-6
8
2
-6
14
13
0
-8
-1
0
-2
0
0
0
0
0
0
0
-1
-11
-18
26
9
-4
0
-14
1
-2
0
0
0
0
0
0
0
10
0
4
-16
16
0
2
-4
9
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-29
-26
2
-25
30
-61
0
0
-18
-1
0
0
0
0
0
0
-1
16
-9
-16
62
-67
4
-11
-20
-50
-17
0
0
0
0
0
0
10
-37
-12
-62
11
57
-22
47
-47
28
0
0
0
0
0
0
0
43
-42
-25
-27
48
39
18
19
-28
11
0
0
0
0
0
0
0
-7
-26
4
-30
-22
20
-37
-3
-29
-2
0
0
0
0
0
0
0
-40
-41
-34
-24
-87
-56
-38
22
0
-18
0
0
0
0
0
0
0
-52
-1
-24
1
7
-25
32
-3
10
0
0
0
0
0
0
0
0
0
-1
-4
-13
7
-19
2
-13
0
0
0
0
0
0
0
0
0
0
2
0
0
-12
0
17
-8
0
0
0
0
0
0
0
0
0
0
20
-14
2
-1
22
11
-11
0
51
-12
0
0
0
0
0
0
0
-19
25
15
-41
-19
43
15
20
30
2
0
0
0
0
0
0
0
24
-8
-104
-17
58
21
9
32
-9
-5
0
0
0
0
0
0
0
-37
59
2
-1
53
-45
61
33
2
-1
0
0
0
0
0
0
0
-78
-33
38
3
-25
39
18
-7
-9
0
0
0
0
0
0
0
0
13
-17
-10
-28
12
6
-4
-13
0
-1
0
0
0
0
0
0
0
10
2
4
-10
29
-45
-46
0
0
0
0
0
0
0
0
0
0
15
4
0
-2
-9
7
7
62
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
3
0
0
0
0
0
0
0
0
1
-4
0
-1
2
28
9
7
-36
0
0
0
0
0
0
0
0
0
-1
0
10
-2
-8
-2
-5
0
0
0
0
0
0
0
0
0
-1
0
8
3
-2
-12
0
-8
0
0
0
0
0
0
0
0
0
7
-8
-1
-2
7
-1
-6
0
2
0
0
0
0
0
0
0
0
0
0
-2
2
-11
12
-36
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
3
0
0
0
0
0
0
0
0
0
0
0
11
-1
-1
-10
38
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
47
11
-13
0
1
0
0
0
0
0
0
0
0
-2
0
0
39
-8
-24
37
7
1
0
0
0
0
0
0
0
0
0
0
-4
1
4
17
2
30
4
0
0
0
0
0
0
0
0
-1
4
-9
56
19
-16
-1
21
0
0
0
0
0
0
0
0
0
0
1
0
0
-7
0
11
0
-7
0
0
0
0
0
0
0
0
0
-2
6
-3
1
11
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-16
15
19
25
38
0
0
0
0
0
0
0
0
0
15
-15
-22
33
-21
53
37
68
-35
-68
0
0
0
0
0
0
0
19
1
9
-60
-15
29
2
60
-36
6
0
0
0
0
0
0
0
9
3
-8
1
-27
-30
24
11
-74
73
0
0
0
0
0
0
0
-10
-8
82
-17
47
-18
1
0
-5
18
0
0
0
0
0
0
0
8
-2
10
27
61
-88
-1
-64
-17
51
0
0
0
0
0
0
0
6
0
2
-2
-18
4
91
-24
-45
12
0
0
0
0
0
0
0
1
0
1
-36
8
86
-44
4
8
2
0
0
0
0
0
0
0
0
0
0
0
1
0
-16
-9
-4
0
0
0
0
0
0
0
0
0
-2
53
39
41
-21
-24
32
0
-9
6
0
0
0
0
0
0
9
38
-8
-25
-98
38
-40
28
69
21
-3
0
0
0
0
0
0
0
-53
-13
-81
-19
88
30
-31
-34
39
0
0
0
0
0
0
0
-2
-53
0
-27
2
62
22
32
-18
-25
9
0
0
0
0
0
0
-40
-4
2
-14
-31
-48
-7
58
42
-90
0
0
0
0
0
0
0
-2
49
-16
-12
-56
-9
45
35
-21
20
10
0
0
0
0
0
0
0
0
0
-4
4
17
11
8
28
20
0
0
0
0
0
0
0
0
-6
-1
1
-4
-14
-8
11
79
-36
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
15
0
0
0
0
0
0
0
0
0
0
0
4
-4
46
-12
40
-8
0
43
0
0
0
0
0
0
0
0
38
5
-15
-21
-62
10
6
47
12
-47
0
0
0
0
0
0
32
-42
4
6
-3
-33
41
7
48
21
-52
0
0
0
0
0
0
-4
57
22
-30
-2
6
10
-18
13
24
-8
0
0
0
0
0
0
2
73
-22
-1
17
63
33
-15
-36
30
-42
0
0
0
0
0
0
-6
71
-56
-15
-8
-65
0
-116
-24
47
18
0
0
0
0
0
0
0
2
-4
0
15
11
-25
-19
17
16
0
0
0
0
0
0
0
-3
-11
-18
-1
0
38
-13
19
-26
10
0
0
0
0
0
0
0
0
0
0
0
12
0
6
1
1
0
0
0
0
0
0
0
0
0
0
-18
-10
24
-21
-34
19
0
-67
-2
0
0
0
0
0
0
3
-4
-19
-3
-12
89
3
-60
-33
82
61
0
0
0
0
0
0
0
-20
25
0
-33
-8
8
-28
85
-9
8
0
0
0
0
0
0
9
27
37
4
-19
5
36
-85
-20
-15
1
0
0
0
0
0
0
0
-12
-33
54
-19
8
-46
3
75
-15
2
0
0
0
0
0
0
2
13
25
-10
-19
-12
-23
28
22
-47
21
7
0
0
0
0
0
0
0
-1
0
0
26
91
-2
-11
-13
3
0
0
0
0
0
0
0
0
3
-8
0
10
28
-56
-5
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-29
-10
-19
0
-25
2
0
0
0
0
0
0
0
-2
0
-8
-1
8
-10
16
1
-28
26
0
0
0
0
0
0
0
22
0
-6
68
10
-2
2
67
11
0
-3
0
0
0
0
0
-6
0
-1
-4
25
4
-24
-98
-7
-61
-15
0
0
0
0
0
0
0
-11
7
0
21
-8
-26
3
-22
82
0
0
0
0
0
0
0
2
3
56
-19
0
18
11
-32
33
1
7
0
0
0
0
0
0
0
-1
-2
6
3
0
-21
15
-83
8
-2
0
0
0
0
0
0
2
0
0
20
0
30
-1
-6
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
4
-2
-1
-13
21
0
2
7
0
0
0
0
0
0
0
-8
26
-2
-28
23
-6
76
5
-4
-13
0
0
0
0
0
0
0
-66
3
0
64
-3
-85
-25
10
-10
0
0
0
0
0
0
0
0
25
0
8
12
-20
-21
19
24
55
-2
0
0
0
0
0
0
0
59
5
-10
53
7
65
-11
-25
25
7
0
0
0
0
0
0
0
48
13
29
-15
-35
-8
54
-20
53
0
-8
0
0
0
0
0
0
0
12
0
0
0
0
44
-2
1
0
0
0
0
0
0
0
0
0
0
0
-18
4
11
6
7
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
5
1
-1
3
36
0
0
0
0
0
0
0
0
0
0
0
-8
-7
-1
-34
-17
21
0
-7
1
0
0
0
0
0
0
-45
0
-1
0
-35
-6
-78
-14
-116
0
0
0
0
0
0
0
0
9
0
0
-3
-11
-89
42
-23
4
0
0
0
0
0
0
0
0
15
1
22
10
-11
-15
10
-10
6
0
0
0
0
0
0
0
0
0
0
-7
2
3
60
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
1
-52
-2
23
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
7
0
-6
24
21
38
60
-23
0
4
0
0
0
0
0
0
0
0
71
0
1
25
6
4
-44
-42
-55
1
0
0
0
0
0
0
0
15
22
-34
8
83
39
-18
0
45
-13
0
0
0
0
0
0
8
-40
61
23
-26
-56
41
102
-4
-38
0
0
0
0
0
0
0
-4
-37
27
40
-10
-39
60
16
-22
-7
0
0
0
0
0
0
0
7
-12
-10
-10
17
0
73
-1
-13
0
0
0
0
0
0
0
0
-1
-51
37
24
-79
-20
-10
-54
0
26
0
0
0
0
0
0
0
0
-10
0
8
-33
37
21
2
1
11
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-6
9
8
0
-28
0
0
0
0
0
0
0
0
29
21
2
9
-3
28
51
82
-18
18
0
0
0
0
0
0
0
-1
16
12
-7
-6
43
21
30
-49
0
0
0
0
0
0
0
0
-24
1
-38
-43
-25
-9
10
48
26
0
0
0
0
0
0
0
0
25
-11
-10
22
14
124
18
40
-18
0
0
0
0
0
0
0
0
1
2
24
-7
31
-18
16
0
-8
0
0
0
0
0
0
0
0
0
11
1
30
6
-45
28
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-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
-3
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
-16
1
-1
0
0
0
0
0
0
0
0
0
0
0
-7
0
-8
-3
1
-6
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-3
-4
0
0
0
0
0
0
0
0
0
-1
-1
-1
12
0
29
-10
0
-8
0
0
0
0
0
0
0
0
-8
-2
0
2
-7
4
-8
1
19
0
0
0
0
0
0
0
0
0
0
0
-33
2
6
2
48
0
0
0
0
0
0
0
0
0
-24
-22
2
-9
-11
-10
-8
-1
-7
0
0
0
0
0
0
0
0
0
0
-4
-24
2
1
-1
-6
0
0
0
0
0
0
0
0
0
0
-11
0
8
-19
-10
-27
3
2
0
0
0
0
0
0
0
0
0
-2
0
0
4
-8
0
1
-1
0
0
0
0
0
0
0
0
0
7
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
13
0
1
0
0
-10
13
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-16
10
-33
-13
10
2
0
0
0
0
0
0
0
-125
0
3
2
3
-47
-12
5
39
0
0
0
0
0
0
0
0
-23
-6
19
-61
4
45
2
34
-10
1
0
0
0
0
0
0
0
-17
3
24
-17
31
-11
100
9
-45
-8
0
0
0
0
0
0
0
58
0
-73
-48
7
-9
25
-49
-3
0
0
0
0
0
0
0
0
37
0
6
-7
-69
16
5
7
36
-1
0
0
0
0
0
0
0
0
0
0
6
-4
-42
-2
-47
4
0
0
0
0
0
0
0
0
7
0
0
0
28
2
-3
1
38
0
0
0
0
0
0
0
0
0
0
7
10
19
-1
40
6
0
-9
0
0
0
0
0
0
0
0
26
-2
-3
14
51
-43
8
-5
-26
0
0
0
0
0
0
0
-7
29
8
0
20
-13
-11
-9
41
-10
0
0
0
0
0
0
0
-12
12
-2
50
29
32
-1
-15
18
32
0
0
0
0
0
0
0
4
-11
0
32
11
11
47
18
-11
-21
-11
0
0
0
0
0
0
3
-24
1
-57
38
38
15
38
32
28
0
0
0
0
0
0
0
-48
7
0
-26
-8
-12
-16
-31
17
3
0
0
0
0
0
0
0
0
1
0
4
0
-6
-43
-13
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-22
15
10
0
4
0
0
0
0
0
0
0
0
0
-10
-2
14
-8
-22
-38
-7
-2
-1
0
0
0
0
0
0
0
0
0
0
-39
-3
-27
-28
1
-24
-11
0
0
0
0
0
0
-30
-8
44
2
-16
55
-7
43
71
14
2
0
0
0
0
0
0
17
15
-3
-3
-8
46
6
-16
-13
10
20
0
0
0
0
0
0
-13
-21
4
-9
19
15
-2
54
-8
29
11
0
0
0
0
0
0
1
-2
-42
0
-41
2
19
-19
31
-2
0
0
0
0
0
0
0
0
-1
0
0
-7
29
3
33
-3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
11
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
-4
13
0
0
-9
0
0
0
0
0
0
0
0
0
-2
0
4
-22
-7
0
0
0
0
0
0
0
0
0
6
1
0
2
-27
8
-35
9
47
1
0
0
0
0
0
0
0
0
15
-3
3
-12
6
20
0
28
4
0
0
0
0
0
0
0
0
32
0
12
18
5
-5
-16
21
10
-1
0
0
0
0
0
0
0
-8
24
3
-13
-43
36
-7
-3
-6
0
9
0
0
0
0
0
0
-1
0
-4
0
26
17
3
-1
22
0
1
0
0
0
0
0
0
0
0
-6
0
11
27
17
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
54
6
1
1
3
-7
0
0
0
0
0
0
0
0
0
0
28
0
-25
1
21
0
0
0
0
0
0
0
0
-13
0
0
-7
1
54
-1
18
4
-1
-2
0
0
0
0
0
0
0
-15
0
0
-30
-3
-20
-8
-2
0
-4
0
0
0
0
0
0
0
-1
3
-9
-17
-22
15
6
8
-2
0
0
0
0
0
0
0
38
1
0
28
-29
0
2
9
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
-15
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
16
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
-25
-26
-2
0
0
0
0
0
0
0
0
1
0
0
-1
0
-8
7
-2
-2
0
0
0
0
0
0
0
0
-2
-11
0
0
3
-22
12
-7
0
0
0
0
0
0
0
0
0
-1
0
4
0
-6
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
45
-2
3
0
0
0
0
0
0
0
0
0
-8
0
9
0
-19
-7
3
0
-13
0
0
0
0
0
0
0
0
0
9
0
-1
0
-5
-4
15
1
3
0
0
0
0
0
0
0
-4
0
-15
0
-7
-3
13
0
0
0
0
0
0
0
0
0
0
1
0
22
6
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-35
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
11
0
0
0
0
0
0
0
0
0
0
0
-18
0
29
8
-51
0
-9
-10
0
0
0
0
0
0
0
0
2
-5
0
0
1
2
32
-36
-55
-4
0
0
0
0
0
0
0
-1
0
0
47
9
-4
36
-46
13
-19
0
0
0
0
0
0
0
0
-52
3
-17
43
9
-9
-8
-11
11
0
0
0
0
0
0
0
0
9
-4
-13
4
36
-2
11
-6
6
0
0
0
0
0
0
0
0
-8
0
-37
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
6
0
6
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-16
10
0
3
0
1
-40
0
-22
0
0
0
0
0
0
0
0
-6
0
0
0
0
27
-44
48
1
25
0
0
0
0
0
0
0
-36
3
-4
35
18
-28
35
-29
-4
0
0
0
0
0
0
0
0
-7
0
-21
13
-11
0
-8
6
3
0
0
0
0
0
0
0
0
-8
-4
-4
0
-9
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
-8
-2
-2
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
3
2
-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
7
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
11
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
9
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
-22
0
-1
0
0
0
0
0
0
0
0
12
0
0
12
0
-6
0
21
0
0
0
0
0
0
0
0
0
-7
0
3
3
53
1
16
0
-12
0
0
0
0
0
0
0
0
-4
0
30
7
0
-52
0
-4
0
0
0
0
0
0
0
0
0
-4
0
0
0
-58
0
16
0
0
0
0
0
0
0
0
0
0
4
0
0
8
-1
-21
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-9
34
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-18
4
3
-2
0
0
0
0
0
0
0
0
0
0
1
42
-30
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-6
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
8
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
7
2
2
0
-1
0
0
0
0
0
0
0
0
0
0
24
0
-2
2
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-6
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
-4
-12
-7
0
0
0
0
0
0
0
0
0
0
8
0
-6
18
43
23
9
0
2
0
0
0
0
0
0
0
0
50
39
0
49
48
-3
-17
-10
35
0
0
0
0
0
0
0
0
9
-4
-54
2
32
-13
0
0
-13
0
0
0
0
0
0
0
0
0
43
2
22
0
-8
10
0
9
0
0
0
0
0
0
0
0
-7
-8
2
-10
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-12
7
8
-9
-10
0
0
0
0
0
0
0
0
0
0
0
-46
0
2
-2
15
16
0
1
0
0
0
0
0
0
0
0
0
1
-52
1
-8
-16
2
-21
-20
11
0
0
0
0
0
0
0
-1
22
8
53
21
-39
-44
-19
48
78
0
0
0
0
0
0
0
-4
6
-6
-1
38
-16
52
10
48
19
0
0
0
0
0
0
0
0
50
7
18
-30
-18
0
-4
0
3
0
0
0
0
0
0
0
0
0
-2
4
14
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
27
-42
9
3
0
-3
0
0
0
0
0
0
0
0
0
-16
0
98
34
46
0
0
0
-24
0
0
0
0
0
0
0
-3
-57
-4
2
-38
-18
-38
-19
47
22
0
0
0
0
0
0
0
26
28
36
12
-77
0
90
13
-9
-13
0
0
0
0
0
0
1
-16
10
23
-57
-35
-58
20
5
-75
0
0
0
0
0
0
0
0
11
25
-55
-19
29
24
0
0
46
0
0
0
0
0
0
0
0
4
1
-4
25
-1
-1
0
4
0
0
0
0
0
0
0
0
0
0
5
-33
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
-8
2
16
0
-10
0
0
0
0
0
-8
0
0
0
0
0
0
-6
1
-2
-6
-4
47
16
0
-3
0
4
0
0
0
0
0
0
-3
0
41
-25
58
0
8
4
-39
-6
3
7
0
0
0
0
0
0
-14
30
43
36
42
1
10
1
25
-17
-2
0
0
0
0
0
-1
-33
9
-10
3
92
40
-2
4
0
0
0
0
0
0
0
0
0
-29
48
9
-28
1
-2
17
0
0
2
0
0
0
0
0
0
0
0
2
0
8
6
2
-4
2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
29
-25
0
2
-1
0
0
0
0
0
0
0
0
0
0
4
19
-14
-2
40
-2
-24
0
-1
0
0
2
0
0
0
0
0
13
-53
-20
22
7
24
2
2
-22
-21
3
5
0
0
0
0
0
4
-6
3
-9
41
-2
15
-6
-40
-2
-1
2
0
0
0
0
0
-3
4
27
0
-1
4
-22
5
0
11
0
0
0
0
0
0
0
0
-6
17
28
25
1
-2
1
0
-12
-7
0
0
0
0
0
0
0
0
-4
-8
6
6
6
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
10
67
3
5
0
6
0
0
0
0
0
0
0
0
0
0
1
45
53
39
3
-27
4
0
6
0
-1
0
0
0
0
0
0
24
44
-29
47
18
-33
-82
-51
12
-40
-2
1
0
0
0
0
0
-19
-16
-55
-39
13
-5
50
-3
-1
2
0
0
1
0
0
0
0
16
21
-1
15
37
16
-1
16
-9
-27
0
0
0
0
0
0
0
0
-5
-84
20
37
-11
-7
-30
3
0
0
0
0
0
0
0
0
0
0
2
42
-8
-8
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
24
15
29
-7
42
0
1
0
4
0
0
0
0
0
0
0
4
21
24
-40
-30
40
-33
0
3
0
0
0
0
0
0
0
0
1
-39
11
24
-26
-21
-40
10
-44
8
-4
0
0
0
0
0
0
10
36
-2
9
14
-44
21
-89
-22
13
1
0
-1
0
0
0
0
15
16
16
-53
-23
16
-11
21
10
-7
0
0
0
0
0
0
0
0
-48
-14
-12
-82
66
35
12
3
28
0
0
0
0
0
0
0
0
0
-2
19
-16
-1
4
0
-24
-3
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
37
15
35
-27
-11
0
0
0
4
0
0
0
0
0
0
11
8
-10
-1
64
-46
55
0
-9
0
4
0
0
0
0
0
0
50
-15
-32
-64
-85
-56
-18
16
49
4
22
0
0
0
0
0
0
-9
-125
-51
-37
7
-33
15
47
-52
0
-1
0
0
0
0
0
0
-2
-3
3
25
13
-22
37
1
-35
36
-1
0
0
0
0
0
0
-4
-57
10
-10
11
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-26
-1
13
4
-7
2
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
4
-24
-18
2
-2
0
0
0
-1
0
0
0
0
0
0
0
27
-28
35
-66
47
26
0
-7
0
-25
0
0
0
0
0
0
0
28
18
-18
-9
-14
-43
2
16
-2
10
-2
0
0
0
0
0
0
-15
-14
1
-47
-11
-40
-40
-9
-1
67
0
0
0
0
0
0
0
1
19
27
27
-13
68
25
1
3
-9
0
0
0
0
0
0
0
4
40
-8
41
40
22
-40
-26
20
1
0
0
0
0
0
0
0
-15
6
19
-2
9
24
10
-46
0
0
0
0
0
0
0
0
0
0
1
-85
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
16
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
9
0
-35
0
-7
0
4
3
0
0
0
0
0
0
0
-1
61
0
-72
11
-19
-2
12
-4
1
0
0
0
0
0
0
0
0
1
-12
23
33
-12
1
-28
9
-2
0
0
0
0
0
0
0
4
-13
-2
-23
5
19
-3
18
3
-1
0
0
0
0
0
0
0
2
11
32
40
-6
-1
-27
3
0
0
0
0
0
0
0
0
0
0
0
40
-48
2
11
0
-1
0
0
0
0
0
0
0
0
0
0
-7
10
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
5
25
-2
0
0
0
0
0
0
0
0
0
0
0
-3
1
3
0
-4
0
0
0
0
0
0
0
0
0
0
1
-8
-1
1
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
18
-17
4
-1
0
1
0
0
0
0
0
0
0
0
0
7
59
23
-23
-16
-42
74
0
-3
0
0
0
0
0
0
0
0
16
20
50
-16
2
-68
19
1
-15
0
0
0
0
0
0
0
0
-27
95
-40
-60
-82
11
2
-9
8
0
0
0
0
0
0
0
0
4
6
-94
-4
14
-1
-2
1
4
0
0
0
0
0
0
0
0
0
87
-2
28
-3
19
-2
-7
2
0
0
0
0
0
0
0
0
0
-8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-1
-3
21
58
24
0
0
-4
0
0
0
0
0
0
0
-3
-36
26
-50
22
-11
-45
0
-20
0
0
0
0
0
0
0
0
18
-27
-24
2
-39
-12
26
-5
-61
-6
0
0
0
0
0
0
0
-7
38
56
11
76
17
7
-37
-40
-16
0
0
0
0
0
0
0
10
-15
4
23
19
13
23
-46
67
31
0
0
0
0
0
0
0
0
44
47
17
-13
-23
30
9
6
2
0
0
0
0
0
0
0
0
0
10
36
4
25
0
-7
0
1
0
0
0
0
0
0
0
0
0
8
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
-57
-2
-6
-30
4
-9
0
-1
1
0
0
0
0
0
0
0
68
-10
17
3
69
18
0
-4
0
1
0
0
0
0
0
0
0
-33
-27
-29
-43
47
17
4
-32
-47
9
0
0
0
0
0
0
0
3
-42
4
-19
-10
-53
16
-27
-27
22
0
0
0
0
0
0
0
66
-45
22
-39
-26
55
2
64
53
8
0
0
0
0
0
0
0
29
-26
19
24
5
20
47
10
-3
6
0
0
0
0
0
0
0
1
46
-8
7
9
25
6
26
-4
-2
0
0
0
0
0
0
0
0
-3
19
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
-4
-29
6
30
-28
0
0
0
0
0
0
0
0
0
0
9
-32
14
-55
17
39
-16
0
0
0
10
0
0
0
0
0
0
-11
-67
-43
-2
118
-12
-16
2
40
-2
-15
2
0
0
0
0
0
6
-44
-5
-27
-26
-10
-27
-26
86
-9
-2
-2
0
0
0
0
0
10
2
15
47
-18
30
-27
41
-1
-13
15
0
0
0
0
0
0
0
1
40
28
32
55
-32
2
8
1
0
-1
0
0
0
0
0
0
0
5
-1
4
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-54
-26
-32
-20
1
23
-5
0
2
-6
1
0
0
0
0
0
28
41
-1
9
35
55
13
0
6
0
-6
30
0
0
0
0
0
45
-77
-44
36
22
-11
31
-19
-43
51
-2
-1
3
0
0
0
0
-33
11
27
19
-5
76
-86
-30
-42
41
0
-2
0
0
0
0
0
-25
20
64
75
65
61
32
63
-8
37
1
-3
0
0
0
0
0
0
79
-80
-18
91
-2
-7
-20
1
-6
0
3
0
0
0
0
0
0
33
60
-1
2
3
4
1
0
-3
0
0
0
0
0
0
0
0
0
-3
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-41
-27
45
-7
-53
-3
2
6
0
0
0
0
0
0
0
0
0
-22
33
1
13
-7
-9
60
0
44
0
0
0
0
0
0
0
0
29
-14
35
-8
31
-64
-54
29
5
68
24
0
0
0
0
0
0
12
36
13
-92
66
-33
-12
64
68
14
-5
0
0
0
0
0
0
-16
24
-15
12
54
13
-35
-16
33
-5
0
0
0
0
0
0
0
0
1
-20
-22
-1
48
-24
-22
10
0
0
0
0
0
0
0
0
-3
12
8
85
45
10
10
9
-3
0
0
0
0
0
0
0
0
0
25
1
6
0
-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
0
0
0
2
24
-17
-48
-18
62
-2
0
0
8
0
0
0
0
0
0
0
15
-8
-10
31
6
-15
24
0
4
0
6
-1
0
0
0
0
0
2
34
87
16
11
-14
47
-7
-33
-22
37
11
0
0
0
0
0
-1
3
-22
-28
-11
37
62
48
13
7
7
0
-1
0
0
0
0
12
-82
47
9
26
-1
13
-12
-44
-14
9
0
0
0
0
0
0
0
23
28
-22
7
-5
-45
56
-3
-26
0
0
0
0
0
0
0
1
1
-53
93
6
-28
-26
44
32
22
-3
0
0
0
0
0
0
0
0
2
75
15
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
24
42
16
101
64
41
13
9
0
-1
0
0
0
0
0
0
0
72
35
48
-30
40
-22
-38
0
-49
0
14
0
0
0
0
0
0
-17
97
-23
64
32
46
-6
-14
57
2
34
0
0
0
0
0
0
-6
23
-33
38
9
-18
27
24
3
-54
5
-6
0
0
0
0
0
-9
-6
-23
32
-7
-15
23
17
4
-47
2
1
0
0
0
0
0
3
52
-51
-36
-48
22
16
18
-28
10
-2
0
0
0
0
0
0
-2
16
17
44
12
6
18
-7
49
0
0
0
0
0
0
0
0
0
-2
0
-26
-1
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
33
-22
88
60
-40
-22
-1
0
0
-4
0
0
0
0
0
0
-7
-78
1
-54
14
-39
-14
0
0
0
-19
0
0
0
0
0
0
8
48
-22
-71
-48
7
22
80
42
14
-40
3
0
0
0
0
0
-13
84
-96
6
27
-54
-58
-37
17
-32
-22
2
0
0
0
0
0
1
4
-16
-52
92
81
60
-33
-11
76
-33
0
0
0
0
0
0
0
54
3
-31
-3
-1
47
0
22
-83
0
0
0
0
0
0
0
6
-6
-15
3
16
-20
-36
2
-37
2
0
0
0
0
0
0
0
0
0
13
15
-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
-64
22
-46
28
-2
44
-15
0
0
6
1
0
0
0
0
0
0
-32
31
27
14
28
-37
0
-61
0
43
0
0
0
0
0
0
0
74
23
14
-26
-45
17
12
9
-6
-29
3
0
0
0
0
0
0
21
5
44
-67
-42
64
33
-51
-104
-31
0
0
0
0
0
0
0
11
-2
21
32
72
-39
71
3
-19
26
0
0
0
0
0
0
0
-10
24
13
12
-51
11
33
-24
-1
4
0
0
0
0
0
0
0
-8
28
1
-26
-46
-22
28
10
-1
2
0
0
0
0
0
0
0
0
9
-26
-1
-3
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
30
35
-30
4
6
0
0
0
-1
0
0
0
0
0
0
0
-19
-24
-3
-28
35
0
-2
0
-6
-2
0
0
0
0
0
0
0
28
29
34
43
-112
2
-20
12
7
-6
0
0
0
0
0
0
0
6
2
-30
29
10
-10
-75
-94
-11
37
0
0
0
0
0
0
0
-18
19
16
-1
30
14
-36
-4
6
8
0
0
0
0
0
0
0
-7
28
15
6
13
-6
0
2
0
0
0
0
0
0
0
0
0
0
18
-37
5
23
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
-11
3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
3
27
0
0
-8
0
0
0
0
0
0
0
0
0
0
-8
-6
1
0
1
0
2
0
0
0
0
0
0
0
0
0
0
-1
-6
3
3
-1
-19
-21
-3
7
0
0
0
0
0
0
0
2
24
-6
-10
0
-11
0
-26
3
1
0
0
0
0
0
0
0
0
1
-3
-21
-15
-7
1
2
0
0
0
0
0
0
0
0
0
0
-3
6
-18
9
7
3
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-4
2
0
0
0
0
0
0
0
0
0
0
0
50
-6
49
32
-26
34
-17
0
-23
0
0
0
0
0
0
0
0
0
9
-13
-20
30
-32
3
-35
39
0
0
0
0
0
0
0
0
8
45
-3
-8
48
-49
-7
-13
-35
0
0
0
0
0
0
0
0
16
38
3
26
29
-60
0
0
2
0
0
0
0
0
0
0
0
0
12
39
2
-15
9
9
0
-1
0
0
0
0
0
0
0
0
0
0
-19
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-13
-54
8
-17
59
2
0
-7
0
0
0
0
0
0
0
0
-6
24
11
-1
-13
45
0
3
0
0
0
0
0
0
0
0
-9
3
-74
1
0
36
-12
13
-38
-5
0
0
0
0
0
0
0
-49
-21
47
-106
7
44
-61
-33
48
19
0
0
0
0
0
0
0
2
-45
-48
-82
-1
1
41
14
-28
45
0
0
0
0
0
0
0
0
18
70
-3
40
-96
-8
19
-6
3
0
0
0
0
0
0
0
0
0
40
0
-17
4
9
1
1
-6
0
0
0
0
0
0
0
0
-2
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
64
41
9
58
-32
4
0
9
6
0
0
0
0
0
0
0
11
-1
12
19
-12
-34
0
-8
0
-7
0
0
0
0
0
0
0
28
-1
-18
63
9
-70
-76
-10
-19
-13
0
0
0
0
0
0
0
3
21
8
41
-19
47
-17
-6
-28
-10
0
0
0
0
0
0
0
2
54
-77
-50
-24
-9
-11
14
12
0
0
0
0
0
0
0
0
17
72
-49
-23
-88
56
12
0
-6
0
0
0
0
0
0
0
0
0
30
12
2
-7
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
3
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
27
1
7
51
66
-4
25
1
0
-1
6
-1
0
0
0
0
0
0
-4
19
78
-49
39
9
0
3
0
-8
-1
0
0
0
0
0
-28
44
18
1
21
5
15
-9
-34
-33
-23
0
0
0
0
0
0
-12
20
20
-8
30
-8
78
28
-6
-2
5
1
0
0
0
0
0
18
-38
20
8
26
-15
11
-15
4
0
1
0
0
0
0
0
0
0
29
-20
9
8
11
-1
-6
-2
0
0
0
0
0
0
0
0
0
0
22
7
-3
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
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
8
33
-38
15
41
38
-19
6
0
-1
0
1
0
0
0
0
0
-15
53
86
-51
41
-53
0
0
22
0
6
0
0
0
0
0
0
26
63
50
41
95
23
30
-8
-4
7
9
-2
0
0
0
0
0
61
-44
-15
26
12
43
1
10
-51
1
0
-10
0
0
0
0
0
2
-43
-8
-51
19
11
20
-82
-37
7
0
0
0
0
0
0
0
0
-46
-77
-39
5
7
-32
6
-2
3
6
0
0
0
0
0
0
0
1
-53
22
1
-16
-20
1
9
0
0
0
0
0
0
0
0
0
-2
3
-4
-9
1
-3
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
-2
63
21
-25
-11
-46
0
0
0
6
0
0
0
0
0
0
41
-14
14
36
14
-5
39
0
-8
0
5
1
0
0
0
0
0
57
-45
81
-25
22
-53
-13
-52
32
48
30
-2
-1
0
0
0
0
-55
-33
-46
-12
-17
3
0
57
-52
4
0
1
0
0
0
0
0
38
-10
-21
22
36
6
32
-4
13
11
0
-8
0
0
0
0
0
0
-61
-18
-47
36
19
-49
8
-8
-8
-4
0
0
0
0
0
0
-13
6
62
-1
40
7
-57
7
-18
0
0
0
0
0
0
0
0
0
-6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
20
36
38
-9
8
38
0
0
-13
-4
0
0
0
0
0
0
-5
-44
27
-7
64
38
-6
0
-9
0
0
-2
0
0
0
0
0
-6
71
-33
60
43
-14
29
10
43
24
0
12
0
0
0
0
0
-12
-3
40
-7
13
-5
58
11
-1
-42
1
0
0
0
0
0
0
-25
-23
-22
-15
-55
62
43
-44
-64
-10
3
0
0
0
0
0
0
0
53
50
5
50
46
53
6
15
-4
6
0
0
0
0
0
0
0
-21
-21
54
6
28
11
-2
12
-25
0
0
0
0
0
0
0
0
0
13
18
-11
0
-12
0
-3
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
-12
41
33
-31
-37
28
2
0
0
0
24
0
0
0
0
0
0
7
68
-10
-6
6
18
-8
0
-44
0
-4
0
0
0
0
0
0
-1
-31
-4
2
41
21
26
22
-4
53
-25
0
0
0
0
0
0
-79
-8
11
1
18
10
-10
32
-8
-49
-7
0
0
0
0
0
0
1
0
16
-33
9
-9
26
23
-14
0
1
0
0
0
0
0
0
13
30
-19
-51
57
9
-31
12
-7
10
0
0
0
0
0
0
0
-32
38
-24
-1
9
-5
73
1
44
-15
0
0
0
0
0
0
0
0
17
-3
17
-2
34
-1
0
-1
0
0
0
0
0
0
0
0
0
19
7
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-21
70
56
31
-25
-107
81
1
0
71
0
-4
0
0
0
0
0
51
41
11
31
-50
4
-14
0
-33
0
-6
0
0
0
0
0
0
39
2
38
25
-35
-42
-23
37
9
8
-35
-6
0
0
0
0
0
-29
-30
27
-3
-51
6
-24
13
-5
-40
1
0
0
0
0
0
0
64
37
-4
40
-28
86
-91
13
82
3
-1
0
0
0
0
0
0
2
-51
-3
-53
-4
-31
6
59
23
-10
2
0
0
0
0
0
0
1
-8
21
36
-61
33
9
-22
24
19
0
0
0
0
0
0
0
0
-108
22
7
93
-16
2
6
1
-1
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-1
-53
33
-40
16
0
1
44
0
0
0
0
0
0
0
72
10
21
-45
-51
-31
0
12
0
-125
-9
0
0
0
0
0
0
42
-13
41
66
-49
82
-106
-20
-99
36
-1
0
0
0
0
0
0
-79
-5
39
-75
26
30
-79
-65
-24
-10
-1
0
0
0
0
0
0
99
-62
-6
-8
25
-4
38
8
38
9
0
0
0
0
0
0
0
-19
-39
25
-51
-51
80
69
-33
-14
-25
0
0
0
0
0
0
0
47
-109
20
32
-5
-6
-10
0
-7
0
0
0
0
0
0
0
0
0
-7
32
9
10
0
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
15
20
-83
-35
0
17
0
2
0
4
0
0
0
0
0
0
0
-12
33
15
-6
-18
0
0
0
-4
2
0
0
0
0
0
0
0
36
-29
-4
13
-21
20
-2
-15
0
-17
0
0
0
0
0
0
0
-6
27
-2
-34
80
-22
10
-57
-2
-12
0
0
0
0
0
0
0
-9
23
13
44
23
-25
-1
-17
0
-13
0
0
0
0
0
0
0
3
68
34
-5
20
-40
6
0
0
4
0
0
0
0
0
0
0
0
-1
4
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-12
11
0
0
9
0
0
0
0
0
0
0
0
0
0
42
-1
36
0
2
0
-22
0
0
0
0
0
0
0
0
0
0
9
10
2
6
11
-12
0
-1
0
0
0
0
0
0
0
0
0
8
-2
-7
44
7
-3
-1
0
-1
0
0
0
0
0
0
0
0
9
6
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
25
-1
0
0
0
0
0
0
0
0
0
0
0
17
64
-3
54
2
-8
-1
0
2
0
0
0
0
0
0
0
0
-28
0
29
-27
47
-48
15
3
-43
0
0
0
0
0
0
0
0
0
11
-12
49
34
-4
0
-2
19
0
0
0
0
0
0
0
0
2
-1
-45
-20
71
15
-1
0
39
0
0
0
0
0
0
0
0
-2
-7
6
-14
27
3
1
0
1
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
0
0
-12
0
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
-6
-28
-8
6
48
-84
2
0
0
0
0
0
0
0
0
0
-4
46
10
-52
19
-33
15
0
3
0
0
0
0
0
0
0
0
-1
-23
-30
3
-7
-15
7
19
63
-52
0
0
0
0
0
0
0
0
-8
-50
31
45
-3
9
3
-47
47
0
0
0
0
0
0
0
0
-29
29
-37
-75
-34
14
26
-10
51
0
0
0
0
0
0
0
0
-59
-31
13
-25
-46
-56
-27
10
50
0
0
0
0
0
0
0
0
3
4
43
-17
37
11
8
4
4
0
0
0
0
0
0
0
0
0
4
2
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-1
2
68
18
-1
1
0
-2
0
0
0
0
0
0
0
0
64
-5
48
-57
28
-60
0
0
0
-7
0
0
0
0
0
0
0
16
26
13
-3
-2
8
-46
-67
13
-14
0
0
0
0
0
0
0
15
-12
-62
3
-11
-15
12
-42
-24
2
0
0
0
0
0
0
0
0
8
3
-53
-43
38
20
21
-3
2
0
0
0
0
0
0
0
-1
0
23
-49
-83
8
3
-1
12
-1
0
0
0
0
0
0
0
8
-27
-3
65
-1
1
0
0
-7
0
0
0
0
0
0
0
0
0
4
-17
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
63
-33
-18
7
3
0
0
0
0
0
0
0
0
0
0
9
-16
-14
15
18
-42
-13
0
4
0
-16
-8
0
0
0
0
0
40
34
-58
88
42
-39
-7
10
-30
15
-14
1
0
0
0
0
0
-29
39
51
22
-18
23
22
2
28
-15
0
1
0
0
0
0
0
-4
19
2
11
68
-33
75
47
-22
2
-2
0
0
0
0
0
0
0
13
55
-30
36
-3
43
8
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
-12
3
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
52
-3
-24
55
8
-3
0
0
0
0
0
0
0
0
0
-29
99
30
28
-30
22
-75
0
19
0
0
0
0
0
0
0
0
-9
-43
-28
-40
-13
89
-60
-32
20
13
-2
-9
0
0
0
0
0
18
-19
26
-22
37
-51
7
-80
33
-15
0
-2
0
0
0
0
0
15
-67
-11
-36
14
0
53
1
-3
27
0
-1
0
0
0
0
0
2
39
-13
-47
-24
-26
0
42
48
24
0
0
0
0
0
0
0
2
0
6
8
-67
0
19
-1
-1
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
58
-35
-67
-67
52
5
-7
0
-2
0
0
0
0
0
0
0
-18
-32
26
13
9
40
-5
0
31
0
-9
-4
0
0
0
0
0
18
-42
50
-63
46
-10
18
-16
20
-32
-2
0
0
0
0
0
0
42
-11
89
15
82
4
26
-9
-3
3
-1
0
0
0
0
0
0
63
34
-3
109
-74
21
-15
-28
-7
50
0
0
0
0
0
0
0
0
-3
1
28
-37
40
27
-18
-47
-27
0
0
0
0
0
0
0
2
0
49
21
-23
-1
11
8
-2
0
0
0
0
0
0
0
0
0
1
-29
42
-9
11
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
6
-14
53
28
31
-8
14
13
0
-4
1
0
0
0
0
0
0
-4
31
12
26
-35
-56
-11
0
-56
0
-21
0
0
0
0
0
0
20
25
-24
45
-18
14
-36
126
-39
-8
9
9
0
0
0
0
0
3
35
-17
-30
5
33
-32
-14
-26
43
0
0
0
0
0
0
0
19
39
-11
24
10
-36
29
39
1
21
0
0
0
0
0
0
0
4
-55
-22
58
8
48
-11
-2
50
-23
0
0
0
0
0
0
0
0
0
17
-8
-15
-34
3
-22
-15
-2
0
0
0
0
0
0
0
0
-6
2
-33
2
3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
85
54
141
44
-80
62
50
13
0
-1
9
0
0
0
0
0
0
-7
61
37
-16
-2
-41
44
0
35
0
-14
0
0
0
0
0
0
47
22
53
45
-54
-2
-33
36
91
59
26
-7
0
0
0
0
0
20
12
-37
33
30
15
33
-59
62
3
0
0
0
0
0
0
0
35
3
49
11
-13
68
28
-4
47
43
3
0
0
0
0
0
0
-6
72
17
-24
-23
-18
-70
-4
-98
-4
0
0
0
0
0
0
0
11
38
8
-6
-1
11
-4
8
-21
-13
0
0
0
0
0
0
0
0
-8
0
30
57
-39
-4
-1
-26
-6
0
0
0
0
0
0
0
0
-16
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
34
35
17
-72
63
24
0
25
0
-2
0
0
0
0
0
0
0
32
-48
33
36
12
-71
-24
0
-2
0
-12
0
0
0
0
0
0
-10
1
37
15
-7
-7
-59
-9
-77
-6
25
-4
0
0
0
0
0
18
11
45
-45
91
10
34
60
-69
-14
-1
0
0
0
0
0
0
24
-43
-83
-8
-10
46
23
56
15
20
8
0
0
0
0
0
0
-1
-71
5
-26
31
-2
-63
27
10
-49
0
0
0
0
0
0
0
-10
9
-24
-38
46
-1
-5
26
-13
55
0
0
0
0
0
0
0
0
-28
2
-3
-32
40
27
4
0
-5
0
0
0
0
0
0
0
0
0
-8
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-19
7
-25
-2
24
46
0
-6
19
0
0
0
0
0
0
0
39
56
56
26
66
-7
0
15
0
39
0
0
0
0
0
0
0
-27
19
64
-13
-67
-18
-6
1
24
-18
-6
0
0
0
0
0
0
6
33
-39
-1
-3
-9
-6
25
-7
3
0
0
0
0
0
0
0
59
48
5
-10
-12
29
-19
-8
12
2
0
0
0
0
0
0
0
-5
-31
-40
-8
-21
79
-11
77
-9
-29
0
0
0
0
0
0
0
0
30
-36
-12
-16
-53
8
21
12
0
0
0
0
0
0
0
0
0
-57
34
45
15
3
1
-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
-6
-10
24
47
-3
32
0
4
1
2
0
0
0
0
0
0
0
48
16
23
46
1
0
0
0
13
-14
0
0
0
0
0
0
0
-15
-1
49
19
-49
-35
-36
12
-4
1
0
0
0
0
0
0
0
3
19
12
20
37
14
-3
11
0
-8
0
0
0
0
0
0
0
6
-10
-2
25
55
53
-10
24
1
-1
0
0
0
0
0
0
0
-8
-10
-5
-60
-7
2
1
2
4
0
0
0
0
0
0
0
0
0
11
-10
-36
-3
4
0
1
0
0
0
0
0
0
0
0
0
0
4
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
-7
-3
-6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
25
3
35
0
-5
0
0
3
-6
0
0
0
0
0
0
0
0
18
14
-16
-16
2
5
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
3
0
4
0
0
0
0
0
0
0
0
0
-45
-2
-14
7
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
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-2
62
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
18
-9
-71
-18
7
-18
0
0
0
0
0
0
0
0
0
0
-2
6
-22
-8
22
-16
-1
-4
0
0
0
0
0
0
0
0
0
25
-3
27
44
-46
-16
10
0
-18
0
0
0
0
0
0
0
0
0
6
16
-44
-6
-5
2
1
-2
0
0
0
0
0
0
0
0
-1
0
-43
-3
2
18
-2
0
0
0
0
0
0
0
0
0
0
0
2
3
19
10
-15
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-59
9
-9
28
18
-1
0
28
0
0
0
0
0
0
0
-2
78
49
1
-12
-32
-28
0
4
0
0
0
0
0
0
0
0
1
-51
-60
16
-40
16
8
13
28
52
0
0
0
0
0
0
0
1
11
-1
-30
-74
-2
-55
43
29
-18
0
0
0
0
0
0
0
1
0
26
-16
-57
1
-14
35
-34
33
0
0
0
0
0
0
0
0
3
33
35
-12
-48
-8
22
-23
9
0
0
0
0
0
0
0
0
-3
-44
-40
43
-40
3
10
15
-10
0
0
0
0
0
0
0
0
1
-1
80
8
56
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
35
20
54
-10
66
0
0
0
0
0
0
0
0
0
0
0
0
26
21
5
59
30
0
0
-1
0
-9
0
0
0
0
0
0
0
16
9
7
3
-26
-26
-8
46
58
40
0
0
0
0
0
0
0
-2
46
-21
32
-32
-23
-27
-3
6
0
0
0
0
0
0
0
0
17
0
-22
-38
-23
27
86
4
-2
-2
0
0
0
0
0
0
0
0
-41
7
-12
41
30
0
-13
26
2
0
0
0
0
0
0
0
0
-12
42
-1
32
-1
18
11
-8
0
0
0
0
0
0
0
0
7
1
21
10
-7
-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
47
11
-19
2
91
54
3
0
0
0
-2
0
0
0
0
0
0
-40
18
44
-84
-45
-7
-8
0
0
0
-15
0
0
0
0
0
0
20
-3
29
70
18
-62
-6
-7
-42
-7
-6
-2
0
0
0
0
0
0
-45
17
-1
-17
-19
42
-32
-94
-8
0
0
0
0
0
0
0
0
93
39
0
22
42
-1
-12
13
0
0
0
0
0
0
0
0
0
107
-1
-6
4
2
1
39
4
0
0
0
0
0
0
0
0
-1
0
-13
0
-13
0
-8
0
0
0
0
0
0
0
0
0
0
0
22
0
0
13
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
68
-17
-20
-26
-42
-17
-2
0
0
-1
0
0
0
0
0
0
7
36
33
25
42
31
7
0
6
0
6
-1
0
0
0
0
0
-9
-5
-7
39
27
13
-42
27
11
46
0
-3
0
0
0
0
0
27
-3
60
-11
54
67
-44
4
34
30
0
0
0
0
0
0
0
25
-4
0
16
0
38
-5
-47
17
-35
0
0
0
0
0
0
0
-2
-32
-58
-152
11
-21
-28
18
9
24
0
0
0
0
0
0
0
7
3
-20
37
9
-18
-7
-6
8
2
0
0
0
0
0
0
0
0
0
0
41
6
13
0
0
0
-1
0
0
0
0
0
0
0
0
2
10
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
38
46
-20
2
-39
-45
61
0
0
0
0
0
0
0
0
0
0
11
-18
46
-30
31
64
-30
0
-67
0
-4
0
0
0
0
0
0
39
41
-37
-3
8
-96
-7
-20
-22
-45
6
0
0
0
0
0
0
-8
36
-19
1
-11
-64
73
45
49
-6
0
0
0
0
0
0
0
-32
0
14
-10
24
0
76
-9
12
0
2
0
0
0
0
0
0
-3
15
21
-5
-93
14
-15
-47
11
-2
0
0
0
0
0
0
0
0
-4
-54
-18
-35
25
-8
-3
6
0
0
0
0
0
0
0
0
0
-85
0
-34
1
-17
0
4
0
0
0
0
0
0
0
0
0
-2
0
-12
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-76
3
22
-14
35
-15
-6
0
-6
1
0
0
0
0
0
0
-19
7
22
-7
-24
2
-28
0
8
0
2
0
0
0
0
0
0
54
104
33
-31
53
-5
-14
64
24
14
-1
0
0
0
0
0
0
39
80
39
1
-8
56
13
98
55
-9
7
0
0
0
0
0
0
-9
56
3
2
-3
40
0
-1
3
-6
0
0
0
0
0
0
0
-11
18
17
76
-35
2
-25
-45
7
27
0
0
0
0
0
0
0
-2
-7
27
-54
-32
-2
-16
-53
-17
1
0
0
0
0
0
0
0
0
-10
3
3
-19
4
0
0
-7
0
0
0
0
0
0
0
0
0
-2
-11
0
9
0
0
0
0
0
0
0
0
0
0
0
0
21
-2
-4
12
32
1
48
3
0
0
-11
0
0
0
0
0
0
57
31
36
27
-25
34
52
0
70
0
-6
0
0
0
0
0
0
8
4
5
38
-2
41
109
16
49
5
-18
-2
0
0
0
0
0
24
11
57
2
23
-27
108
-42
54
28
-2
-2
0
0
0
0
0
-13
-21
63
50
-1
18
-21
0
-55
-3
0
0
0
0
0
0
0
-10
-8
15
16
-25
24
16
15
36
-16
0
0
0
0
0
0
0
-29
12
-55
-30
-9
7
-41
0
-28
-3
0
0
0
0
0
0
0
0
-8
-7
-17
4
-9
0
0
0
-7
0
0
0
0
0
0
0
0
0
3
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
-24
2
37
28
21
-55
23
11
0
-7
-4
0
0
0
0
0
0
39
51
35
-18
-16
19
20
0
21
0
42
-7
0
0
0
0
0
-20
36
22
72
-5
13
44
81
10
1
-1
-7
0
0
0
0
0
-48
-12
7
10
6
-31
46
49
-12
-9
15
6
0
0
0
0
0
11
63
38
41
4
114
44
36
0
-20
-4
0
0
0
0
0
0
4
-41
29
18
30
-46
121
-10
-7
-63
0
0
0
0
0
0
0
0
-33
17
-62
-28
14
-2
-82
-1
-11
0
0
0
0
0
0
0
0
-15
12
4
21
48
-7
-6
-1
19
0
0
0
0
0
0
0
0
0
-12
0
4
8
0
0
0
0
0
0
0
0
0
0
0
0
-27
-36
13
-22
-38
22
-2
0
0
44
4
0
0
0
0
0
0
63
7
29
-14
-60
-17
0
37
0
68
8
0
0
0
0
0
0
-51
18
-40
68
13
-25
5
24
23
-2
-1
0
0
0
0
0
0
-26
-25
8
2
-80
-11
7
48
90
22
-10
0
0
0
0
0
0
39
-23
14
-36
25
15
21
36
0
16
0
0
0
0
0
0
0
21
-20
0
-45
8
4
-39
55
6
-7
0
0
0
0
0
0
0
71
-17
43
3
-1
42
-30
21
1
2
0
0
0
0
0
0
0
0
-15
17
-18
57
0
-1
1
0
0
0
0
0
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
46
-13
19
0
1
2
-7
0
0
0
0
0
0
0
3
-45
2
-15
-3
0
3
0
-9
-7
0
0
0
0
0
0
0
3
37
11
34
-7
31
4
13
0
15
0
0
0
0
0
0
0
-13
-31
34
42
-14
-4
-66
21
-30
-23
0
0
0
0
0
0
0
0
4
-9
-28
1
1
0
-1
0
-3
0
0
0
0
0
0
0
-11
17
38
-30
14
0
10
2
0
0
0
0
0
0
0
0
0
0
-3
2
6
0
-8
8
0
0
0
0
0
0
0
0
0
0
0
8
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
-7
0
-29
2
0
0
-6
0
0
0
0
0
0
0
0
0
-2
-28
1
-10
0
0
0
-8
1
1
0
0
0
0
0
0
0
0
-10
7
-11
-7
-11
1
0
1
-2
0
0
0
0
0
0
0
0
1
-23
-5
-8
-1
7
0
0
-2
0
0
0
0
0
0
0
0
1
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
57
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-38
0
-3
0
0
6
0
0
0
0
0
0
0
0
-22
-3
7
11
12
18
-1
0
1
0
0
0
0
0
0
0
0
-1
-42
-10
6
46
-72
2
0
-22
0
0
0
0
0
0
0
0
42
0
15
-33
-22
-7
-11
0
-4
0
0
0
0
0
0
0
0
0
38
-8
-32
27
-5
-8
4
1
0
0
0
0
0
0
0
0
0
0
38
18
32
-4
0
0
2
0
0
0
0
0
0
0
0
0
-8
0
-8
8
-16
0
-2
-1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
3
-14
41
2
0
-10
0
0
0
0
0
0
0
0
0
2
-35
6
9
55
-42
-38
0
0
0
0
0
0
0
0
0
0
0
32
-67
-36
3
-3
-52
-13
-15
53
0
0
0
0
0
0
0
0
3
21
-21
-71
25
-15
-24
-15
-13
0
0
0
0
0
0
0
0
28
6
-75
-21
-32
6
-14
-2
-8
0
0
0
0
0
0
0
-7
0
66
-11
31
-53
19
4
3
-4
0
0
0
0
0
0
0
0
-4
9
27
50
54
-37
-9
-2
0
0
0
0
0
0
0
0
0
-1
10
39
-7
4
-2
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
25
-65
29
-76
-1
0
0
0
0
0
0
0
0
0
0
0
48
25
-29
116
-6
-37
0
0
0
17
0
0
0
0
0
0
0
21
52
-2
11
-1
-8
8
84
16
35
0
0
0
0
0
0
0
29
-50
-15
22
-15
-84
-43
-3
-62
-24
0
0
0
0
0
0
0
1
-4
0
-6
35
29
21
-37
6
0
0
0
0
0
0
0
0
-9
0
45
42
-33
-11
27
1
19
-4
0
0
0
0
0
0
0
-1
27
0
66
40
4
-20
0
22
0
0
0
0
0
0
0
0
0
0
21
0
-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
1
2
25
-37
-25
-1
4
3
0
-2
-7
0
0
0
0
0
0
3
-93
1
98
45
-60
35
0
6
0
-42
0
0
0
0
0
0
-1
15
-5
-23
-55
15
3
17
34
26
-34
1
0
0
0
0
0
9
-3
82
30
0
-57
-45
50
9
-1
6
0
0
0
0
0
0
48
-30
-7
-35
46
80
17
-29
-35
-4
0
0
0
0
0
0
0
0
23
5
0
38
17
13
1
0
0
0
7
0
0
0
0
0
-1
1
0
-11
0
-6
-19
3
1
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
44
-10
9
17
-3
49
2
0
0
0
0
0
0
0
0
0
-1
25
64
53
-21
86
-33
0
-2
0
0
-1
0
0
0
0
0
-28
-20
-22
6
47
38
48
62
-12
29
0
-1
0
0
0
0
0
4
-14
-47
0
33
35
-67
-32
5
-43
0
2
0
0
0
0
0
29
-8
-1
-8
-6
69
-18
33
-42
-34
-3
0
0
0
0
0
0
0
-5
19
-14
0
-85
3
0
0
0
0
0
0
0
0
0
0
1
60
12
-9
-33
-2
9
-41
16
1
0
0
0
0
0
0
0
0
4
0
-2
2
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
7
28
24
-9
19
-45
-16
0
-2
0
0
0
0
0
0
0
9
0
52
14
23
-12
71
0
27
0
1
0
0
0
0
0
0
40
69
5
28
42
-46
-71
-13
15
-41
-1
0
0
0
0
0
0
18
79
34
-8
3
82
-3
-11
7
-20
-1
0
0
0
0
0
0
25
4
-38
24
61
39
-19
-54
-1
-80
18
0
0
0
0
0
0
1
-8
37
38
43
0
-5
3
2
6
3
0
0
0
0
0
0
18
57
13
61
2
0
-6
0
6
-2
0
0
0
0
0
0
0
0
-50
17
-6
-6
3
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
31
32
-21
10
-4
5
-21
0
0
3
0
0
0
0
0
0
24
48
-11
17
6
29
19
0
1
0
0
0
0
0
0
0
0
7
17
20
20
67
-10
21
-20
73
-48
0
3
0
0
0
0
0
-13
48
-23
31
50
26
-25
-5
1
38
1
3
0
0
0
0
0
33
0
54
25
48
54
-46
31
25
-73
0
0
0
0
0
0
0
0
-21
11
6
-2
-18
0
-3
19
0
2
0
0
0
0
0
0
2
-21
-10
39
-16
13
18
-30
85
-12
0
0
0
0
0
0
0
0
18
25
5
-8
-6
-2
-4
-1
10
0
0
0
0
0
0
0
0
0
10
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-61
-58
42
33
-5
39
36
-17
0
-14
0
0
0
0
0
0
0
32
30
-1
47
-14
39
-20
0
-23
0
3
-2
0
0
0
0
0
65
-1
26
-1
11
-60
20
105
24
10
46
-2
0
0
0
0
0
15
32
30
37
26
-13
-23
2
30
-38
-3
0
0
0
0
0
0
12
19
26
-17
-44
93
74
60
30
41
53
0
0
0
0
0
0
-3
30
77
84
10
135
0
0
-8
1
0
0
0
0
0
0
0
-21
36
19
-8
7
-16
4
2
-2
-10
0
0
0
0
0
0
0
0
-48
32
-28
42
-1
-8
2
-2
-2
0
0
0
0
0
0
0
0
0
9
49
0
0
0
0
0
0
0
0
0
0
0
0
0
16
7
-16
0
-4
8
44
12
0
25
13
0
0
0
0
0
0
-7
-12
-6
-17
3
-31
27
0
-8
0
-14
-2
0
0
0
0
0
28
101
23
17
8
-14
103
1
121
0
-4
3
0
0
0
0
0
-20
15
53
-17
37
56
-26
-10
50
-32
-9
0
0
0
0
0
0
-12
-28
8
76
11
-24
63
58
32
15
-18
0
0
0
0
0
0
-24
1
-26
-26
-24
67
66
-30
0
-11
0
0
0
0
0
0
0
-1
25
21
-17
85
14
-20
1
0
-33
0
0
0
0
0
0
0
0
13
12
9
-33
-33
26
2
0
-27
0
0
0
0
0
0
0
0
32
-9
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-24
16
13
8
24
28
0
1
89
0
0
0
0
0
0
0
-24
36
-3
50
33
-36
0
-1
0
22
0
0
0
0
0
0
0
-2
-66
-16
47
28
-9
-39
-20
36
-25
-1
0
0
0
0
0
0
29
58
7
31
27
46
67
-8
-16
37
0
0
0
0
0
0
0
-5
46
32
-15
20
8
-7
-75
62
9
0
0
0
0
0
0
0
-12
44
31
14
13
22
24
3
0
-8
0
0
0
0
0
0
0
-2
32
1
-3
21
-2
7
15
-2
0
0
0
0
0
0
0
0
0
3
-19
54
26
-4
0
-38
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-6
-44
54
-29
3
0
6
1
0
0
0
0
0
0
0
0
-6
34
-35
-41
22
0
7
0
-3
-29
0
0
0
0
0
0
0
-44
59
-9
37
51
-53
-36
-12
6
-24
0
0
0
0
0
0
0
10
0
2
6
-21
21
13
-25
1
6
0
0
0
0
0
0
0
0
22
30
31
88
3
35
1
-4
-17
0
0
0
0
0
0
0
-5
2
53
23
-38
-18
0
2
0
1
0
0
0
0
0
0
0
0
-11
0
31
9
-4
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
5
0
-1
2
0
-1
0
0
0
0
0
0
0
0
13
-17
-9
0
-1
0
27
3
0
0
0
0
0
0
0
0
0
1
-2
15
8
46
-17
-7
-16
-4
0
0
0
0
0
0
0
0
-5
-13
-3
13
2
-7
4
0
0
0
0
0
0
0
0
0
0
0
-1
4
1
1
-2
0
0
1
0
0
0
0
0
0
0
2
0
1
-1
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-13
18
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-38
1
3
4
1
0
-10
13
0
0
0
0
0
0
0
0
-12
-2
0
-26
-54
23
2
4
6
0
0
0
0
0
0
0
0
11
0
4
-33
-2
-25
-11
0
1
0
0
0
0
0
0
0
0
0
0
-49
0
27
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
38
0
5
9
-9
0
0
0
0
0
0
0
0
0
0
4
-10
-6
-19
-28
104
3
0
0
0
0
0
0
0
0
0
0
-1
22
73
-7
-72
8
8
0
-15
41
0
0
0
0
0
0
0
0
40
22
-4
-1
-55
111
-33
1
13
0
0
0
0
0
0
0
2
18
-30
-4
13
18
7
49
-30
29
0
0
0
0
0
0
0
0
-21
0
-3
21
-25
51
0
-1
-11
0
0
0
0
0
0
0
8
0
-3
10
50
3
55
3
3
0
0
0
0
0
0
0
0
0
10
0
35
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
8
-10
52
0
-2
0
0
0
0
0
0
0
0
0
0
0
-14
20
112
28
44
4
0
2
0
3
0
0
0
0
0
0
0
-22
15
61
-38
11
11
0
16
-24
28
0
0
0
0
0
0
0
-25
-49
19
2
22
-46
10
-4
-4
-5
0
0
0
0
0
0
0
7
7
25
-45
38
0
52
-5
1
1
0
0
0
0
0
0
0
0
45
0
-60
-8
13
34
0
15
0
0
0
0
0
0
0
0
15
0
30
22
10
42
-10
4
0
0
0
0
0
0
0
0
0
0
-2
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
-8
8
-18
-4
1
-1
0
0
0
0
0
0
0
0
0
-6
87
0
11
-9
21
12
0
0
0
-9
0
0
0
0
0
0
-3
-1
25
3
-39
-8
0
1
-1
0
8
0
0
0
0
0
0
0
23
-13
-6
10
18
-19
-4
8
-1
0
0
0
0
0
0
0
-2
0
24
-4
6
5
-26
57
-13
6
0
0
0
0
0
0
0
-2
15
0
11
0
-53
5
27
-7
1
0
0
0
0
0
0
0
2
9
39
0
-8
3
-9
-1
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
-3
0
-3
-1
0
0
0
0
0
0
0
0
0
0
-3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
65
-3
6
1
0
0
0
0
0
0
0
0
0
0
0
0
-17
3
54
-53
9
-10
0
4
0
0
0
0
0
0
0
0
0
2
-12
-3
-11
-19
57
0
-50
21
0
0
0
0
0
0
0
2
40
-58
-3
36
-26
16
2
-9
-9
0
0
0
0
0
0
0
-25
-28
-14
15
11
-18
17
-12
42
20
0
0
0
0
0
0
0
-3
45
-44
-9
30
42
19
8
-39
-98
0
0
0
0
0
0
0
0
17
48
-34
0
-4
-1
-6
-3
-3
0
0
0
0
0
0
0
0
-4
12
-1
-6
-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
3
-65
34
4
17
10
4
0
0
0
0
0
0
0
0
0
7
-14
15
-1
-15
14
6
0
0
0
0
0
0
0
0
0
0
1
6
7
29
50
-12
32
19
-63
-43
-6
0
0
0
0
0
0
2
28
-3
-65
-33
84
39
11
-28
-3
0
0
0
0
0
0
0
-3
30
-21
-38
-35
1
-31
-38
3
65
-1
0
0
0
0
0
0
-22
-64
-25
-4
0
4
22
7
6
-58
-10
0
0
0
0
0
0
-17
-7
16
12
23
0
0
-2
0
0
0
0
0
0
0
0
0
0
30
20
-48
0
-6
11
1
0
-6
0
0
0
0
0
0
0
-1
0
10
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-35
56
5
-15
-29
15
0
0
0
0
0
0
0
0
0
-2
-42
57
3
26
5
6
0
-25
0
0
2
0
0
0
0
0
0
-12
-9
3
-26
0
-9
-99
26
8
1
7
0
0
0
0
0
-1
9
44
17
-22
37
10
10
29
-15
0
0
0
0
0
0
0
-38
-19
1
23
55
49
53
-44
-6
30
0
0
0
0
0
0
0
3
-52
79
-14
-28
52
28
16
42
5
-2
0
0
0
0
0
0
0
13
-41
13
19
79
0
0
2
0
0
0
0
0
0
0
0
0
-7
19
-28
-21
-24
1
-3
4
0
0
0
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
7
24
-1
6
63
6
-11
6
0
0
1
0
0
0
0
0
0
16
13
9
-12
28
-41
32
0
61
0
2
0
0
0
0
0
0
49
30
-24
15
-1
59
72
-30
46
-22
32
-1
0
0
0
0
0
12
9
5
37
98
-17
-2
4
21
13
-8
0
0
0
0
0
0
-9
-13
7
31
3
-2
71
-24
21
30
28
0
0
0
0
0
0
-41
24
-12
32
-16
50
41
7
0
100
0
0
0
0
0
0
0
2
8
-2
17
9
13
-1
0
-27
0
0
0
0
0
0
0
0
0
39
45
54
-6
6
9
0
0
-6
0
0
0
0
0
0
0
0
6
9
3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-17
46
12
17
77
-61
10
0
3
-3
0
0
0
0
0
0
2
-17
13
38
-27
40
-7
0
-62
0
24
0
0
0
0
0
0
9
15
-38
49
-20
70
69
-12
8
-9
-21
-1
0
0
0
0
0
-15
50
44
39
-15
33
29
-35
-25
-19
-16
-1
0
0
0
0
0
-3
41
9
85
-34
0
-13
25
16
-26
25
0
0
0
0
0
0
11
29
-5
2
13
36
16
15
10
-3
1
0
0
0
0
0
0
0
33
-55
58
-24
40
-39
44
0
3
0
0
0
0
0
0
0
0
-2
-19
28
-45
1
7
20
2
-64
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-79
22
-8
6
114
-19
0
1
-22
-1
0
0
0
0
0
0
-18
42
27
15
-25
-9
0
22
0
27
3
0
0
0
0
0
0
-1
8
49
95
-11
25
19
53
65
66
0
0
0
0
0
0
0
6
41
32
33
24
-36
42
45
59
5
-1
0
0
0
0
0
0
-28
-20
35
-33
11
-4
33
-13
1
-26
0
0
0
0
0
0
0
-7
21
-16
-2
-2
8
-36
3
54
-50
0
0
0
0
0
0
0
-25
46
-8
32
-51
5
7
33
0
-4
0
0
0
0
0
0
0
0
32
20
3
57
29
-9
7
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
29
0
-35
0
7
0
-3
-18
-3
0
0
0
0
0
0
0
4
2
-22
-4
5
0
-7
0
10
7
0
0
0
0
0
0
0
0
26
-35
64
-35
4
-5
-3
0
3
0
0
0
0
0
0
0
-9
49
-16
7
32
26
0
6
8
31
0
0
0
0
0
0
0
0
10
-19
-5
4
-12
3
51
0
41
0
0
0
0
0
0
0
6
-6
-21
30
15
-33
-21
6
0
-10
0
0
0
0
0
0
0
-11
-12
-38
-13
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
24
12
-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
-2
0
3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
1
-3
2
3
1
6
4
-8
0
0
0
0
0
0
0
0
0
1
30
12
22
8
2
3
3
0
0
0
0
0
0
0
0
0
-1
-7
-35
4
-11
-3
8
0
0
0
0
0
0
0
0
0
0
0
1
-10
-6
4
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-8
0
-3
-1
0
0
-3
0
0
0
0
0
0
0
0
0
-33
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-13
-8
-4
-1
-1
0
-2
0
0
0
0
0
0
0
0
-3
11
0
-48
0
35
-9
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
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
-77
6
2
0
0
0
0
0
0
0
0
0
0
0
12
0
31
-12
0
0
-1
0
0
-12
0
0
0
0
0
0
0
0
53
-10
14
-19
1
-21
0
-7
-1
0
0
0
0
0
0
0
-25
0
0
74
-2
-27
2
14
0
0
0
0
0
0
0
0
0
0
10
0
0
-41
4
-6
3
-10
0
0
0
0
0
0
0
0
0
0
10
-7
16
-1
6
-6
0
0
0
0
0
0
0
0
0
0
0
3
-8
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
81
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
41
13
10
-7
0
3
0
0
0
0
0
0
0
0
-1
1
-3
23
60
-11
10
0
0
7
0
0
0
0
0
0
0
0
0
1
20
-4
10
8
0
0
7
0
0
0
0
0
0
0
0
0
1
-28
26
21
13
0
1
-32
0
0
0
0
0
0
0
0
0
0
1
3
23
1
0
0
10
0
0
0
0
0
0
0
0
0
1
0
4
0
6
2
0
0
0
0
0
0
0
0
0
0
-4
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-7
-44
13
0
1
0
0
0
0
0
0
0
0
0
0
-8
7
27
0
-33
0
0
-8
0
0
0
0
0
0
0
0
0
-18
29
-2
-17
-7
1
-16
-9
0
0
0
0
0
0
0
0
0
6
-6
-58
0
-10
-2
-19
-1
0
-3
0
0
0
0
0
0
0
0
2
-1
12
0
0
0
-24
0
0
0
0
0
0
0
0
0
24
-7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-2
27
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
22
79
3
-4
0
0
4
0
0
0
0
0
0
0
0
21
-11
-4
-11
1
1
0
-32
-4
0
0
0
0
0
0
0
-16
0
47
-40
-13
-4
-27
-2
0
-1
0
0
0
0
0
0
0
0
9
-2
11
24
-41
9
0
-2
-14
0
0
0
0
0
0
0
-4
-1
-45
0
-1
1
3
6
0
0
0
0
0
0
0
0
0
0
2
-13
15
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
11
-8
19
-6
-1
0
0
0
0
0
0
0
0
0
0
55
0
0
23
66
-33
0
0
0
0
0
0
0
0
0
0
-16
0
33
8
11
-3
4
0
12
-37
2
0
0
0
0
0
0
0
22
-9
4
-1
-29
-16
2
5
-9
-13
0
0
0
0
0
0
-10
11
59
10
-21
-26
-11
-66
-93
0
0
0
0
0
0
0
0
0
0
-37
45
7
26
8
19
-7
4
0
0
0
0
0
0
0
-17
18
14
7
13
2
3
6
11
0
0
0
0
0
0
0
0
0
-73
-2
-26
-28
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
-39
35
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
35
-6
2
15
-3
0
0
0
0
0
0
0
0
0
0
16
-13
113
-4
3
13
0
0
0
0
0
0
0
0
0
0
0
0
48
15
-3
5
15
0
6
-51
-2
0
0
0
0
0
0
1
-8
9
10
-47
1
-9
12
58
-71
-10
0
0
0
0
0
0
1
10
104
77
23
25
-42
63
25
-38
0
0
0
0
0
0
0
0
-69
75
41
40
-60
12
1
-25
4
0
0
0
0
0
0
0
-1
10
47
-41
8
-22
2
41
25
-27
0
0
0
0
0
0
0
0
-1
-16
53
25
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
15
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-10
25
34
15
40
4
0
0
0
0
0
0
0
0
0
3
6
-5
10
32
-50
13
0
0
0
0
0
0
0
0
0
0
-7
1
19
-11
35
16
10
1
7
-50
-2
0
0
0
0
0
0
-2
-5
9
34
10
47
-22
-34
1
-14
1
0
0
0
0
0
0
21
36
52
22
48
-32
-2
0
-44
-15
-19
0
0
0
0
0
0
18
24
41
-4
5
-29
17
0
-49
22
-1
0
0
0
0
0
0
12
-9
11
31
-5
15
44
-6
-28
3
0
0
0
0
0
0
0
0
40
-24
78
4
-9
-1
0
0
0
0
0
0
0
0
0
0
3
-11
27
-9
16
53
0
0
-8
0
0
0
0
0
0
0
0
0
-11
2
14
-17
7
21
-13
0
-1
0
0
0
0
0
0
0
0
-42
54
40
47
-54
-47
0
0
0
1
0
0
0
0
0
0
12
-6
-24
90
2
-51
67
32
-4
0
-5
0
0
0
0
0
0
0
6
-29
-12
27
30
69
-25
-3
-42
-3
0
0
0
0
0
0
-11
36
-12
45
24
78
36
-28
2
27
0
0
0
0
0
0
0
0
-14
47
47
4
-1
-28
-20
1
54
0
0
0
0
0
0
0
0
-88
-52
-30
-49
67
6
38
3
-3
1
0
0
0
0
0
0
0
8
-16
-13
-13
-2
1
1
0
-1
0
0
0
0
0
0
0
0
2
11
27
37
3
0
-10
0
0
0
0
0
0
0
0
0
0
0
-16
-22
12
-7
35
-18
0
0
4
0
0
0
0
0
0
0
-4
-15
58
-55
40
73
0
0
0
30
0
0
0
0
0
0
0
-20
40
59
21
1
21
13
-28
2
-70
0
0
0
0
0
0
0
-12
65
23
60
18
-29
55
-1
-2
-52
0
0
0
0
0
0
0
-4
-37
39
20
-2
11
46
-75
33
12
0
0
0
0
0
0
0
38
-46
11
72
-13
-4
2
-21
-2
-2
0
0
0
0
0
0
0
-10
-31
-5
-7
87
10
-6
18
1
2
0
0
0
0
0
0
0
0
40
-10
13
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-58
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
-11
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
24
7
0
0
0
0
-3
0
0
0
0
0
0
0
-3
1
41
24
-22
37
4
16
-7
-4
0
0
0
0
0
0
0
0
-16
6
-21
26
-43
2
-9
-2
-4
0
0
0
0
0
0
0
12
4
-26
-33
3
-10
-10
4
0
-1
0
0
0
0
0
0
0
-6
66
26
15
3
12
-9
-1
-2
0
0
0
0
0
0
0
0
0
13
46
14
14
-7
0
0
-1
2
0
0
0
0
0
0
0
0
0
12
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-6
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
-7
0
3
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-16
20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
-9
0
-13
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
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
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
4
1
13
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
9
-1
-3
-4
0
0
0
0
0
0
0
0
0
0
2
0
-8
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
4
2
0
0
2
-1
0
0
0
0
0
0
0
0
-12
0
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
7
2
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-61
0
-28
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-63
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
62
0
-39
36
0
-7
0
0
0
0
0
0
0
0
15
0
28
0
19
-5
-46
0
0
0
0
0
0
0
0
0
0
0
9
-1
1
-15
20
-39
0
-25
0
0
0
0
0
0
0
0
1
-1
-28
5
-27
36
0
0
-42
0
0
0
0
0
0
0
0
0
21
0
3
0
0
44
0
-3
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
28
0
17
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
12
0
0
0
-31
0
0
0
0
0
0
0
0
0
2
8
49
-7
-48
-3
0
-13
0
0
0
0
0
0
0
0
18
-6
-44
15
6
8
-2
0
-4
0
0
0
0
0
0
0
0
0
-15
-20
39
-2
140
0
0
0
0
0
0
0
0
0
0
0
-8
-2
10
-4
-27
-28
0
0
-19
0
0
0
0
0
0
0
0
-9
-2
0
61
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
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
0
-11
0
0
0
0
0
0
0
0
0
12
0
21
-7
-6
0
1
-28
0
0
0
0
0
0
0
0
0
0
-1
-1
-16
2
0
0
0
0
0
0
0
0
0
0
0
-10
14
4
9
7
7
0
0
7
0
0
0
0
0
0
0
0
0
0
1
6
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-4
-19
0
0
0
0
0
0
0
0
0
0
1
9
0
28
3
5
-72
19
0
0
0
0
0
0
0
0
-5
0
0
4
6
41
3
7
0
0
0
0
0
0
0
0
0
37
0
0
-3
-3
0
-1
0
7
0
0
0
0
0
0
0
0
-3
0
0
4
-1
8
4
7
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
40
-19
0
6
0
0
0
0
0
0
0
1
2
16
-30
33
-59
-16
14
-3
-1
0
0
0
0
0
0
0
-2
-6
-6
-53
35
12
35
-8
39
16
0
0
0
0
0
0
0
0
-21
-4
-2
-7
-10
9
-16
1
3
0
0
0
0
0
0
0
0
0
0
8
-18
-12
34
22
18
0
0
0
0
0
0
0
0
0
-6
0
-2
0
4
9
17
47
-6
0
0
0
0
0
0
0
0
0
-1
0
-8
0
43
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
12
36
11
87
0
8
-2
0
0
0
0
0
0
0
44
17
0
-18
3
-21
17
-11
-24
1
0
0
0
0
0
0
0
-2
-3
4
-4
18
15
-11
81
-21
0
0
0
0
0
0
0
0
-1
-3
-4
22
16
9
23
10
8
-4
0
0
0
0
0
0
0
-33
0
0
13
0
-21
-65
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
0
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-11
10
-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
-7
11
-16
0
1
0
-9
40
0
0
0
0
0
0
0
0
0
16
0
0
0
0
30
0
94
21
-16
-8
0
0
0
0
0
0
0
0
5
2
11
39
39
-81
37
47
0
0
0
0
0
0
0
0
0
0
12
-1
13
3
16
0
11
0
0
0
0
0
0
0
0
0
0
0
-8
21
-2
11
-11
0
0
0
0
0
0
0
0
0
0
-1
0
0
22
0
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
16
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
4
1
0
0
0
43
40
9
0
0
2
0
0
0
0
0
0
0
3
0
0
-7
18
10
-15
-30
6
-3
0
0
0
0
0
0
0
1
1
27
0
16
-30
82
25
2
0
-1
0
0
0
0
0
0
0
-4
9
8
75
0
-4
8
-6
0
0
0
0
0
0
0
0
-3
0
0
-6
-10
7
1
1
-2
0
0
0
0
0
0
0
0
0
0
2
7
7
-15
-13
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-4
20
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-10
13
-1
0
18
-6
0
5
0
0
0
0
0
0
0
-11
0
-1
36
-23
-114
8
54
36
-2
3
0
0
0
0
0
0
-18
21
2
26
-30
-4
-52
4
-5
7
0
0
0
0
0
0
0
-8
19
3
0
-14
1
27
13
-26
8
-1
0
0
0
0
0
0
6
0
-4
0
-28
-34
0
8
73
0
0
0
0
0
0
0
0
0
1
3
-6
11
12
0
-19
32
-1
0
0
0
0
0
0
0
8
0
6
0
25
7
-11
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-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
17
1
-4
62
12
0
11
0
-17
0
0
0
0
0
0
0
3
46
-2
62
-58
-10
20
29
16
-2
0
0
0
0
0
0
0
16
-36
-13
11
14
14
14
19
-24
-10
6
0
0
0
0
0
0
0
-3
17
7
26
47
50
35
36
18
0
0
0
0
0
0
0
0
0
3
1
53
40
58
-24
81
21
-3
0
0
0
0
0
0
0
15
11
12
0
64
17
-66
-38
0
0
0
0
0
0
0
0
0
0
0
-15
-21
-1
11
-30
11
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-29
2
-1
0
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
35
-66
-43
-18
26
0
0
-10
4
0
0
0
0
0
0
-7
38
37
17
16
83
19
0
49
10
-2
-4
0
0
0
0
0
11
11
15
-34
-28
42
24
32
10
0
-1
0
0
0
0
0
0
-20
-6
29
13
-36
13
-89
-61
-44
16
-2
0
0
0
0
0
0
-11
14
-2
19
14
-15
20
-23
-61
0
-4
0
0
0
0
0
0
0
27
6
-1
25
76
-8
-16
18
0
-1
0
0
0
0
0
0
0
0
0
-7
0
5
2
1
-6
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
60
15
10
-19
-22
-32
0
0
11
0
0
0
0
0
0
0
63
33
-6
-47
-5
-10
34
-34
8
3
0
0
0
0
0
0
0
-10
9
-2
12
-29
24
31
-8
-2
6
0
0
0
0
0
0
0
-3
-18
-38
9
70
-12
-25
-4
21
1
1
0
0
0
0
0
0
33
3
9
20
-12
-56
-34
-2
-11
0
0
0
0
0
0
0
0
53
0
-29
3
14
2
-20
12
6
0
0
0
0
0
0
0
0
0
0
0
-11
62
7
-12
-10
8
-1
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
6
0
0
19
15
-3
0
7
0
-1
0
0
0
0
0
0
0
-11
18
-8
43
3
-40
10
-14
0
0
0
0
0
0
0
0
0
20
10
-3
3
-3
-19
2
-16
0
0
0
0
0
0
0
0
0
22
-2
11
1
-33
-23
42
2
6
0
0
0
0
0
0
0
0
0
0
0
39
6
1
4
-7
6
-3
0
0
0
0
0
0
0
-4
0
-3
-4
-7
13
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-11
-6
11
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
-2
-10
0
7
0
0
0
0
0
0
0
0
0
3
1
0
0
3
24
0
4
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-2
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
17
-8
-53
22
-21
-28
0
0
0
0
0
0
0
0
0
8
1
-3
-3
-79
1
15
2
5
0
0
0
0
0
0
0
0
-10
0
0
8
34
-11
12
-7
0
0
0
0
0
0
0
0
0
-3
-11
0
-8
4
-48
33
-22
-3
0
0
0
0
0
0
0
0
-7
0
0
1
1
-13
-7
0
29
0
0
0
0
0
0
0
0
0
0
0
1
0
-12
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
-30
-30
-39
51
-16
7
0
1
0
0
0
0
0
0
0
21
3
5
-36
-8
46
0
74
23
-26
0
0
0
0
0
0
0
2
-19
26
58
15
13
3
96
33
-20
0
0
0
0
0
0
0
8
-2
-1
1
6
-43
-6
2
-17
0
0
0
0
0
0
0
0
0
83
0
0
-20
62
51
47
-4
16
0
0
0
0
0
0
0
0
20
0
10
0
5
66
3
32
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-8
-1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
12
-10
0
-9
-27
22
31
0
-25
-1
0
0
0
0
0
0
-1
-26
-12
-3
13
-10
25
47
2
47
0
0
0
0
0
0
0
0
-3
4
-24
-5
37
76
-21
-9
56
-1
0
0
0
0
0
0
0
-29
-3
36
-52
67
17
-24
10
-20
-1
0
0
0
0
0
0
0
-7
-2
14
52
-21
13
-43
-12
33
3
0
0
0
0
0
0
0
-2
0
0
0
9
40
35
-8
33
0
0
0
0
0
0
0
0
0
0
0
-1
-1
21
7
54
-25
0
0
0
0
0
0
0
0
1
-2
0
0
0
37
6
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
-3
0
22
-12
42
57
-16
-8
0
27
-3
0
0
0
0
0
0
-35
2
2
-11
84
-28
65
43
-10
13
-12
-3
0
0
0
0
0
-1
4
3
-44
-27
14
-18
-37
-11
16
-1
0
0
0
0
0
0
0
0
0
2
-53
83
38
-50
-14
-1
0
0
0
0
0
0
0
0
3
0
0
-15
-5
18
0
30
-7
8
0
0
0
0
0
0
0
0
0
-3
-1
-23
-21
-1
6
2
24
0
0
0
0
0
0
0
0
0
0
-1
-3
11
-1
-3
-3
2
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
11
4
30
-11
-23
-50
36
0
32
1
6
0
0
0
0
0
3
-27
-6
7
16
8
-43
17
-33
1
6
0
0
0
0
0
0
6
10
-6
-54
2
-1
66
-9
-46
-44
0
0
0
0
0
0
0
2
-4
12
43
9
34
19
38
17
0
0
0
0
0
0
0
0
0
-12
-6
-33
-36
-13
-28
-28
-64
-4
2
6
0
0
0
0
0
0
0
0
23
8
48
-7
47
20
-6
2
-4
0
0
0
0
0
0
0
0
3
-1
3
-141
0
0
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
-29
-10
37
-3
2
1
19
21
0
-9
0
1
0
0
0
0
0
82
40
-14
12
48
-46
-39
5
22
12
-13
0
0
0
0
0
0
44
15
-8
63
7
-22
42
78
-34
-19
-1
0
0
0
0
0
0
48
-26
-1
-8
-26
29
-28
14
50
-2
0
0
0
0
0
0
0
-3
42
25
-69
-24
37
29
43
43
-3
1
0
0
0
0
0
0
-1
-4
2
32
-2
-35
-16
28
-15
8
0
0
0
0
0
0
0
0
-4
0
0
-33
4
-9
-27
39
6
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
27
0
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
42
-17
-7
72
34
26
21
-13
0
1
-3
-3
0
0
0
0
0
8
-2
67
29
57
6
-24
-4
12
-5
-6
0
0
0
0
0
0
69
-19
-9
20
-16
31
79
39
1
-57
0
0
0
0
0
0
0
-8
-41
-36
26
-28
69
-32
25
8
-58
0
0
0
0
0
0
0
-9
15
57
-18
-36
14
-37
63
-11
2
-9
0
0
0
0
0
0
2
-8
4
12
17
39
19
38
-42
-47
0
0
0
0
0
0
0
0
-1
-1
6
7
0
-15
-16
-10
-9
0
0
0
0
0
0
0
0
-1
0
0
0
-13
3
-43
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
66
-55
9
10
48
3
-48
119
0
27
1
-2
0
0
0
0
0
6
71
-14
-57
34
19
26
53
41
-22
-4
0
0
0
0
0
0
28
81
-23
-5
4
43
4
15
9
55
3
0
0
0
0
0
0
-62
73
79
3
33
35
-43
-30
45
4
-20
0
0
0
0
0
0
46
-1
2
3
-18
8
19
22
31
-13
-7
0
0
0
0
0
0
-3
-20
-6
75
38
2
60
-22
55
-12
-10
0
0
0
0
0
0
-17
-8
0
4
-35
-7
31
30
17
9
0
0
0
0
0
0
0
0
0
0
0
0
10
-7
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-15
26
-6
-11
-43
38
-13
3
0
-52
0
-6
0
0
0
0
0
51
1
5
-34
-10
11
37
16
12
-29
3
0
0
0
0
0
0
27
37
-35
-51
15
39
27
-19
16
39
14
0
0
0
0
0
0
7
34
-23
72
31
42
69
31
5
-22
9
0
0
0
0
0
0
2
-7
95
23
-27
11
39
-38
-41
8
-1
0
0
0
0
0
0
20
17
50
-26
-45
-31
-32
5
-6
-2
1
0
0
0
0
0
0
22
2
9
16
8
8
-55
-38
-37
28
0
0
0
0
0
0
0
0
-13
-19
0
-2
9
-38
68
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
23
1
7
-21
20
-4
0
78
2
0
0
0
0
0
0
0
95
-2
24
81
21
-11
3
1
1
43
2
0
0
0
0
0
0
48
-11
-102
-2
42
-27
18
9
-1
-15
0
0
0
0
0
0
0
-23
-46
-40
6
30
-33
-6
79
36
-5
0
0
0
0
0
0
0
58
-44
-10
44
-8
7
-5
-7
12
16
0
0
0
0
0
0
0
19
16
-29
5
22
71
-4
-61
4
26
0
0
0
0
0
0
0
22
24
-24
-42
-5
-19
9
-6
34
0
0
0
0
0
0
0
0
0
0
-16
0
-2
-13
1
-22
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
9
-3
37
10
-25
0
10
-2
-1
0
0
0
0
0
0
0
1
26
-12
3
-36
2
-15
-1
28
1
0
0
0
0
0
0
0
-2
-3
29
15
58
37
2
-53
1
1
0
0
0
0
0
0
0
25
9
-2
54
58
21
28
15
-15
0
0
0
0
0
0
0
0
30
7
-6
-17
4
21
13
44
-1
0
0
0
0
0
0
0
0
-3
3
-32
-13
-1
10
-13
13
-3
-9
0
0
0
0
0
0
0
0
2
2
0
-25
3
-2
-19
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
-4
-1
0
-6
-1
0
0
0
0
0
0
0
0
0
-10
6
0
-17
0
4
-11
-32
0
0
0
0
0
0
0
0
0
3
-3
-3
-6
8
23
7
-3
15
0
0
0
0
0
0
0
0
-12
-1
0
-7
0
0
13
-29
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-19
43
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-11
0
30
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-8
-4
0
0
0
0
0
0
0
0
0
1
8
-4
34
23
-46
-58
3
-17
0
0
0
0
0
0
0
0
4
1
-3
27
7
-2
22
-15
-6
0
0
0
0
0
0
0
0
0
4
2
-21
-14
-18
-8
0
3
0
0
0
0
0
0
0
0
0
6
0
-1
18
15
-18
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
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
89
0
6
76
-37
-73
-19
0
14
0
0
0
0
0
0
0
38
36
0
14
23
6
-6
50
28
-29
0
0
0
0
0
0
0
14
-11
-2
-19
-48
-22
16
34
58
37
0
0
0
0
0
0
0
-1
7
9
-10
1
-3
-6
-35
-24
1
0
0
0
0
0
0
0
0
-22
19
0
15
34
5
0
-20
1
0
0
0
0
0
0
0
0
-12
0
-3
-1
-47
-18
-50
8
-6
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
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
21
-3
3
0
-32
-24
0
31
22
0
0
0
0
0
0
0
-4
-1
76
-41
5
25
-38
51
-17
9
0
0
0
0
0
0
-8
-3
-3
22
-26
43
-31
-24
9
15
-6
0
0
0
0
0
0
0
2
-1
-2
1
34
-50
-4
10
34
-1
0
0
0
0
0
0
0
-29
30
-2
8
-24
12
-4
30
9
0
0
0
0
0
0
0
0
0
7
2
11
34
-15
-5
-13
15
1
0
0
0
0
0
0
0
0
0
0
0
0
11
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
24
-24
-46
0
-37
-1
0
0
0
0
0
0
-1
1
24
-10
-12
63
37
-9
-33
-14
52
8
0
0
0
0
0
0
0
-2
-3
15
-17
15
-28
-44
-2
7
6
0
0
0
0
0
13
1
-1
-10
25
45
1
-54
9
13
0
0
0
0
0
0
0
0
0
-16
10
37
-27
-12
-13
25
0
-10
0
0
0
0
0
0
0
-4
-19
0
-4
4
11
-4
-1
5
1
0
0
0
0
0
0
0
0
0
0
1
0
61
-7
-8
0
-7
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
6
-8
1
4
59
37
-60
-43
0
-29
0
0
0
0
0
0
0
-21
53
-9
42
49
-55
-41
-18
21
7
2
0
0
0
0
0
0
-2
-36
10
71
-20
61
0
70
37
0
-1
0
0
0
0
0
0
-2
29
-1
-2
-7
96
3
25
6
52
2
0
0
0
0
0
0
3
2
11
-19
20
14
-7
0
65
0
3
-1
0
0
0
0
0
-2
-6
-1
14
13
43
13
-20
13
18
0
0
0
0
0
0
0
-2
-1
-10
0
-1
0
29
19
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
11
-28
13
-22
-41
45
3
33
0
-25
0
0
0
0
0
0
0
55
36
9
27
4
62
24
31
63
12
8
0
0
0
0
0
0
-7
-6
34
80
45
-8
28
41
-46
-30
-2
0
0
0
0
0
0
10
17
-24
-10
28
26
-12
48
36
46
0
0
0
0
0
0
0
28
-35
-10
-7
75
5
19
39
31
3
0
0
0
0
0
0
0
-22
28
-9
6
-50
8
34
41
-22
15
0
0
0
0
0
0
0
4
3
6
0
-13
-27
18
-32
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
1
-29
22
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
-21
-33
-18
45
36
68
7
-57
0
-54
-1
0
0
0
0
0
0
44
0
-30
31
-4
-24
49
65
38
63
0
0
0
0
0
0
0
-4
31
59
10
19
79
48
-10
9
6
0
0
0
0
0
0
0
-7
-18
36
-37
16
35
-13
63
18
50
0
0
0
0
0
0
0
-16
9
-28
-21
-20
10
33
20
61
-35
0
0
0
0
0
0
0
-1
-59
-18
39
-16
43
-10
30
15
19
0
0
0
0
0
0
0
1
0
28
2
6
-21
-6
14
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
-37
3
28
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
49
-28
22
41
48
33
-32
33
0
-6
-9
-11
0
0
0
0
0
22
8
0
51
-3
7
-43
-55
34
-15
9
0
0
0
0
0
0
65
-7
0
-16
22
39
18
-24
40
-19
8
0
0
0
0
0
0
18
-31
17
39
39
-7
46
-22
38
-5
2
0
0
0
0
0
0
-36
-61
-11
25
5
-72
30
67
-8
-38
-18
0
0
0
0
0
0
-11
19
13
16
-6
-9
-28
65
-34
27
1
0
0
0
0
0
0
-1
16
-1
-7
33
18
3
-25
48
-2
0
0
0
0
0
0
0
0
0
0
-18
7
22
18
84
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
-9
45
39
-5
18
-14
-8
-7
0
-36
4
0
0
0
0
0
0
46
-2
8
-20
-41
30
-14
3
-49
37
75
0
0
0
0
0
0
-60
45
-22
18
45
26
-2
-51
-74
-23
-2
4
0
0
0
0
0
36
6
-20
9
-48
-17
-1
-16
46
-16
-1
0
0
0
0
0
0
9
21
-9
-32
23
68
25
-42
-33
32
1
0
0
0
0
0
0
1
-7
-26
46
74
121
-5
-21
-15
26
0
0
0
0
0
0
0
-1
7
2
9
0
10
7
1
36
67
0
0
0
0
0
0
0
0
22
0
6
-1
4
-20
-28
-32
24
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
74
-58
-23
-55
27
5
-74
0
-31
49
18
0
0
0
0
0
0
20
16
-9
7
3
-66
2
-6
-20
-35
-1
0
0
0
0
0
0
34
-35
16
20
-66
19
6
-5
-32
1
0
0
0
0
0
0
0
16
13
45
-63
9
16
42
-20
14
9
0
0
0
0
0
0
0
22
88
-88
-14
-7
-15
5
-26
27
41
-1
0
0
0
0
0
0
22
44
-18
-3
-4
47
-4
49
-52
48
0
0
0
0
0
0
0
16
0
3
11
15
13
78
44
25
0
0
0
0
0
0
0
0
0
-6
-1
0
-11
-32
-40
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
2
-13
6
-21
-9
0
38
-28
0
0
0
0
0
0
0
0
-41
-41
62
-2
-43
-33
-5
-16
10
3
0
0
0
0
0
0
0
-24
17
-3
-24
17
14
0
-14
1
-1
0
0
0
0
0
0
0
3
12
-16
15
-25
4
-42
31
-42
0
0
0
0
0
0
0
0
3
7
-4
25
-3
-24
-2
20
27
3
0
0
0
0
0
0
0
-1
-19
4
6
-7
9
47
17
-5
-1
0
0
0
0
0
0
0
0
0
0
2
12
3
3
16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
0
1
1
0
0
0
0
0
0
0
0
-3
0
-1
15
-8
3
0
-28
19
0
0
0
0
0
0
0
0
4
0
-8
16
23
-79
-19
7
0
0
0
0
0
0
0
0
0
-12
-1
0
-1
0
-22
1
4
-4
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
-10
-5
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
12
-3
6
0
0
0
0
0
0
0
0
0
-44
0
0
-3
6
12
-45
-5
9
0
0
0
0
0
0
0
0
19
6
0
12
-8
39
10
24
33
0
0
0
0
0
0
0
0
0
8
0
28
32
23
-8
24
-13
0
0
0
0
0
0
0
0
-4
0
0
0
63
9
-6
6
0
0
0
0
0
0
0
0
0
0
0
7
31
-2
-6
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
7
-5
-30
74
-42
0
-34
0
0
0
0
0
0
0
0
12
0
7
62
2
-50
-29
-5
16
0
0
0
0
0
0
0
15
-62
67
8
-17
-13
32
-32
-22
5
0
0
0
0
0
0
0
0
0
34
-5
31
54
-7
-53
-57
-15
0
0
0
0
0
0
0
0
-36
14
0
-11
-3
-15
86
69
48
0
0
0
0
0
0
0
0
12
0
-2
-12
-40
-17
-40
-11
-14
0
0
0
0
0
0
0
0
4
2
2
-18
-1
-28
17
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-10
-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
-9
0
-5
4
-52
0
0
-64
-7
0
0
0
0
0
0
0
10
4
0
-29
-22
1
-27
10
60
7
0
0
0
0
0
0
0
17
0
-5
14
5
-40
111
-26
29
1
0
0
0
0
0
0
0
-2
-1
-14
5
48
5
-8
-8
-3
-1
0
0
0
0
0
0
0
0
-3
-25
28
-34
3
-38
-27
-6
-2
0
0
0
0
0
0
0
-1
-17
0
11
-3
8
12
-18
34
0
0
0
0
0
0
0
0
0
0
0
-4
0
-23
-1
25
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
4
-99
-1
-26
0
3
6
0
0
0
0
0
0
-3
1
1
-18
-38
-38
-30
-67
4
6
-2
1
0
0
0
0
0
0
0
-6
20
51
24
17
51
-6
-19
-37
0
0
0
0
0
0
3
9
-15
3
45
-9
-6
-57
-9
-2
-1
0
0
0
0
0
0
3
-3
0
0
-53
-3
50
-74
-9
0
0
0
0
0
0
0
0
0
0
-2
2
-7
48
-3
65
-2
8
0
0
0
0
0
0
0
0
-3
-1
7
-1
-4
2
0
13
-6
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
-13
22
-18
-70
2
0
6
0
0
0
0
0
0
0
65
-27
64
-50
23
49
-40
24
16
36
0
0
0
0
0
0
0
11
-9
3
-8
-47
-54
-45
35
24
-25
7
0
0
0
0
0
0
-4
-4
-2
28
3
29
-26
29
13
1
0
0
0
0
0
0
0
1
-11
-1
17
6
16
-16
11
102
0
0
0
0
0
0
0
0
3
0
65
33
23
32
13
-15
10
-1
0
0
0
0
0
0
0
-8
0
0
0
-13
-1
26
3
14
0
0
0
0
0
0
0
0
0
-2
0
-10
0
-3
10
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
0
-8
0
0
0
0
0
0
0
0
0
-9
49
-23
7
0
77
4
15
0
24
0
0
0
0
0
0
0
-74
-6
-60
63
59
-4
-75
23
57
-28
-4
0
0
0
0
0
0
-27
-50
21
-22
-23
13
92
-43
26
11
0
2
0
0
0
0
0
43
44
39
-7
-20
-19
27
19
10
-9
-2
0
0
0
0
0
0
1
-4
36
25
-24
-11
12
41
-37
0
0
0
0
0
0
0
0
4
-18
-16
3
10
17
-19
-5
35
-21
10
0
0
0
0
0
0
-6
-11
-6
-3
-10
-21
88
24
42
-6
6
0
0
0
0
0
0
0
0
0
0
2
21
38
4
-20
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
8
6
20
34
20
-9
-48
-53
0
2
-2
2
0
0
0
0
0
1
35
-39
-32
23
-23
86
61
-60
40
6
0
0
0
0
0
0
-9
-28
68
-12
5
11
53
16
28
4
3
0
0
0
0
0
0
-11
-1
-36
-49
19
-9
-16
46
-22
-30
1
0
0
0
0
0
0
8
-66
29
-24
21
-37
-12
31
0
44
-11
0
0
0
0
0
0
28
21
16
130
11
-37
20
9
7
12
2
0
0
0
0
0
0
8
1
-10
-16
8
32
32
-30
47
-1
0
0
0
0
0
0
0
0
1
1
-4
2
-6
-28
-29
16
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
27
24
-40
63
138
3
-33
-29
0
56
0
-1
0
0
0
0
0
-36
50
34
-10
34
-20
9
14
-54
-17
16
0
0
0
0
0
0
43
1
-56
3
60
3
25
-39
46
9
-6
0
0
0
0
0
0
-5
-85
69
-2
39
93
20
-4
-47
-30
7
0
0
0
0
0
0
28
10
-25
-16
1
109
19
-18
40
36
1
0
0
0
0
0
0
8
19
-12
17
8
9
52
65
44
1
-3
-2
0
0
0
0
0
8
12
17
48
51
19
33
34
45
9
4
0
0
0
0
0
0
0
8
1
6
0
45
33
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
4
0
4
0
0
0
0
0
0
0
0
39
-46
-4
13
17
60
-41
-63
0
-32
1
0
0
0
0
0
0
58
34
-6
73
30
-7
-23
-17
-30
21
-13
3
0
0
0
0
0
-68
9
4
-16
-22
35
7
-91
-22
-40
-24
0
0
0
0
0
0
-36
5
-11
18
-29
27
-11
-22
-16
0
2
0
0
0
0
0
0
-12
-81
-15
25
61
56
5
27
14
3
1
1
0
0
0
0
0
24
5
-12
-11
30
-15
-23
-22
60
-21
-3
0
0
0
0
0
0
12
-6
-37
-9
-18
27
16
-22
-56
59
0
0
0
0
0
0
0
0
-8
11
-9
-7
0
-13
46
-19
-10
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
-25
-43
-3
6
5
32
3
0
-21
19
0
0
0
0
0
0
0
13
29
1
6
-11
27
-18
9
-4
-26
0
0
0
0
0
0
0
6
5
-11
8
10
-8
22
37
-2
22
0
0
0
0
0
0
0
18
44
-53
67
26
-4
46
-32
-6
10
0
0
0
0
0
0
0
9
22
-1
24
15
-50
38
13
-51
-6
0
0
0
0
0
0
0
51
3
-18
10
53
15
71
-61
-1
-3
0
0
0
0
0
0
0
-3
36
26
49
-63
25
24
33
18
0
0
0
0
0
0
0
0
0
1
1
16
18
34
-25
2
3
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
48
4
-1
-44
21
13
0
11
0
-7
0
0
0
0
0
0
0
13
9
0
-33
45
-10
9
-27
-9
2
0
0
0
0
0
0
0
-8
4
-1
39
17
2
10
2
-15
-1
0
0
0
0
0
0
0
6
11
26
-11
34
77
72
6
38
0
0
0
0
0
0
0
0
33
0
-1
23
7
-42
-11
41
6
0
0
0
0
0
0
0
0
0
0
1
6
-8
36
77
24
-13
4
0
0
0
0
0
0
0
0
0
0
-1
0
10
-33
12
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
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
7
0
1
-8
-5
6
0
-17
0
0
0
0
0
0
0
0
-3
0
-2
3
0
0
11
0
3
0
0
0
0
0
0
0
0
6
4
0
0
-2
-3
1
25
0
0
0
0
0
0
0
0
0
1
0
0
-3
7
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-4
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
4
-6
0
0
0
0
0
0
0
0
0
0
3
4
0
-3
28
86
64
-28
0
0
0
0
0
0
0
0
-12
0
0
-13
4
-40
31
44
-8
0
0
0
0
0
0
0
0
-7
0
0
35
26
42
18
11
2
0
0
0
0
0
0
0
0
0
0
0
-21
24
11
7
2
9
0
0
0
0
0
0
0
0
4
0
6
2
-6
31
25
-2
0
0
0
0
0
0
0
0
0
0
0
10
-1
-9
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-8
-2
10
43
1
-62
0
30
0
0
0
0
0
0
0
0
-29
-1
-18
29
-51
2
-29
58
56
0
0
0
0
0
0
0
0
-17
-1
30
0
-28
24
22
-5
9
0
0
0
0
0
0
0
0
11
-2
38
0
6
2
-11
-26
-29
0
0
0
0
0
0
0
13
0
8
-7
-16
7
75
21
1
-23
0
0
0
0
0
0
0
0
-2
54
12
30
-40
26
58
-61
0
0
0
0
0
0
0
0
0
-2
0
2
-74
-32
20
-8
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
-13
38
13
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
20
-6
-19
0
-3
12
0
0
0
0
0
0
0
12
11
5
5
19
39
10
-45
-7
32
0
0
0
0
0
0
0
15
14
0
-19
-14
-31
-16
-33
28
2
0
0
0
0
0
0
0
-6
1
-4
-30
30
24
-9
38
-39
28
0
0
0
0
0
0
0
2
0
2
11
-25
29
5
-3
1
0
0
0
0
0
0
0
0
0
-2
41
10
38
-25
60
24
24
0
0
0
0
0
0
0
0
0
0
0
-10
2
-3
66
-4
6
0
0
0
0
0
0
0
0
0
0
0
-2
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
-1
-4
13
-4
25
96
-59
6
0
30
-7
0
0
0
0
0
0
-4
1
13
18
-25
-58
-68
1
-17
-37
-13
0
0
0
0
0
0
3
13
63
9
-33
-4
-7
7
0
-16
-7
-2
0
0
0
0
0
0
0
-1
27
-3
47
-67
-20
61
6
0
0
0
0
0
0
0
25
-3
8
0
-1
28
-26
-4
-11
4
0
0
0
0
0
0
0
0
2
0
-11
36
-29
19
33
3
-8
0
0
0
0
0
0
0
-2
0
0
4
-1
3
30
9
10
0
0
0
0
0
0
0
0
0
0
0
9
0
4
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-3
-1
-10
-38
-65
-20
-3
0
38
0
0
0
0
0
0
0
23
25
19
36
-67
30
-4
-8
30
-8
0
0
0
0
0
0
0
3
-4
-21
-6
89
-1
63
11
0
-60
0
0
0
0
0
0
0
0
-9
0
15
58
24
-36
6
17
3
4
0
0
0
0
0
0
-2
37
12
53
0
-40
-32
-42
12
41
-6
0
0
0
0
0
0
0
-7
-30
0
-30
-41
54
-12
-46
35
0
0
0
0
0
0
0
4
2
-2
0
-8
27
9
38
-22
0
0
0
0
0
0
0
0
0
-2
0
-4
0
11
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
4
3
0
0
0
0
0
0
0
0
9
0
-35
0
-8
41
12
-42
0
46
2
0
0
0
0
0
0
-25
-39
1
26
-17
31
-29
10
-18
0
1
0
0
0
0
0
0
-24
-7
-7
7
52
61
-3
46
88
66
1
0
0
0
0
0
0
0
-8
10
38
-23
-45
15
36
-103
-43
0
0
0
0
0
0
0
44
-28
-8
27
-16
0
35
-39
-14
-12
-4
0
0
0
0
0
0
16
-16
40
66
-2
10
-22
-54
104
9
0
0
0
0
0
0
0
1
2
-8
22
68
19
8
32
15
0
9
0
0
0
0
0
0
0
0
-1
7
0
-9
42
20
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
22
13
0
0
0
0
0
0
0
0
0
-7
27
-21
-14
37
-2
22
54
0
14
-3
0
0
0
0
0
0
3
-30
60
36
50
37
32
-29
11
3
3
0
0
0
0
0
0
7
54
-4
-44
-82
18
14
46
16
-21
-4
0
0
0
0
0
0
-22
-12
11
7
-5
-56
-2
15
-21
9
12
0
0
0
0
0
0
-11
-62
23
5
26
8
0
-22
83
10
0
0
0
0
0
0
0
0
-17
53
7
40
0
0
45
39
11
0
0
0
0
0
0
0
0
21
-4
86
5
-28
3
-7
52
9
-2
0
0
0
0
0
0
0
0
-2
0
0
40
-24
6
16
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
48
0
11
0
0
0
0
0
0
0
14
0
5
59
35
12
-17
12
0
28
-7
0
0
0
0
0
0
-11
-35
-34
-7
49
-49
-21
-40
1
1
20
0
0
0
0
0
0
40
-53
-70
-25
38
60
46
50
-33
10
10
0
0
0
0
0
0
-112
27
-54
44
-7
57
28
-3
13
49
1
4
0
0
0
0
0
-34
-17
-35
-20
47
25
29
0
21
-46
29
0
0
0
0
0
0
-1
-42
-1
29
1
-17
-41
-100
26
4
-3
0
0
0
0
0
0
-10
6
-16
-28
47
-15
23
45
-4
2
1
0
0
0
0
0
0
0
0
28
-2
0
-28
-13
0
7
16
0
0
0
0
0
0
0
0
0
0
0
10
0
8
-2
-4
0
0
0
0
0
0
0
0
-15
45
-35
-119
50
-13
2
24
0
-12
1
0
0
0
0
0
0
41
41
-8
16
-3
31
-31
-40
-38
1
-11
-6
0
0
0
0
0
7
9
-73
-50
55
-18
-15
28
-15
20
0
-7
0
0
0
0
0
32
11
-8
47
-1
-34
21
26
-53
119
34
0
0
0
0
0
0
-1
4
-27
32
-29
-4
10
0
0
-3
0
0
0
0
0
0
0
7
43
7
-15
29
-26
-38
-20
-10
46
-3
0
0
0
0
0
0
49
0
21
8
28
4
28
10
-22
-12
3
0
0
0
0
0
0
0
-1
37
12
13
19
57
30
-37
25
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
-6
0
0
0
0
0
0
0
0
0
39
-9
-10
15
-22
-5
-19
0
8
-11
0
0
0
0
0
0
0
17
-8
4
-15
-53
-18
-28
-47
-54
5
1
0
0
0
0
0
0
-41
10
49
23
-27
-47
40
-70
-17
2
0
0
0
0
0
0
0
-29
46
2
6
40
22
-12
29
-75
6
1
0
0
0
0
0
0
36
8
24
-30
59
26
18
6
0
-2
0
0
0
0
0
0
0
9
21
22
53
46
34
85
43
8
2
0
0
0
0
0
0
0
35
-25
2
-12
24
0
43
-26
-4
-2
0
0
0
0
0
0
0
-2
-1
0
0
11
-39
-36
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
3
0
0
0
0
0
0
0
0
0
20
-3
0
13
-12
-9
0
15
0
4
0
0
0
0
0
0
0
-1
-12
-6
41
-26
19
-107
-25
-23
8
0
0
0
0
0
0
0
41
4
40
14
66
-22
-42
17
-46
-4
0
0
0
0
0
0
0
-11
4
0
18
-43
-52
5
32
-17
1
0
0
0
0
0
0
0
0
20
0
29
37
52
-12
12
0
-6
0
0
0
0
0
0
0
-1
-4
2
0
-14
19
-16
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-24
-21
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
41
0
0
0
0
0
0
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
-9
0
0
-15
-7
0
0
0
0
0
0
0
0
3
4
0
-7
-11
10
1
8
-14
0
0
0
0
0
0
0
0
2
0
8
-1
-6
6
33
3
23
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
10
2
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
-10
-6
0
0
0
0
0
0
0
0
0
0
-1
0
26
4
0
5
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
-3
9
0
0
0
0
0
0
0
0
0
0
-3
0
0
7
1
7
0
5
-11
0
0
0
0
0
0
0
0
-7
0
-1
1
-4
-3
38
6
-1
0
0
0
0
0
0
0
0
18
-10
7
-26
-3
25
2
-16
-1
0
0
0
0
0
0
0
0
8
0
-2
-1
52
1
75
2
-2
0
0
0
0
0
0
0
0
0
0
59
-24
10
-29
0
-2
13
0
0
0
0
0
0
0
0
0
7
0
1
105
9
2
10
1
0
0
0
0
0
0
0
0
0
0
0
84
0
24
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
2
-8
1
0
-1
-12
-4
0
0
0
0
0
0
0
0
0
0
27
0
1
7
-8
33
-39
4
-13
0
0
0
0
0
0
0
0
1
7
13
-4
-33
10
-25
-29
8
0
0
0
0
0
0
0
3
-6
-1
58
11
53
43
-56
-34
-69
0
0
0
0
0
0
0
0
82
-7
-2
32
36
50
10
-24
8
0
0
0
0
0
0
0
-2
0
-7
0
-21
14
-64
-50
-1
0
0
0
0
0
0
0
0
0
-9
0
-18
60
-7
-34
-44
-33
0
0
0
0
0
0
0
0
0
-3
0
0
0
-14
-14
-4
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
-1
15
-3
124
-36
-10
0
42
1
0
0
0
0
0
0
0
-2
-1
1
-77
32
-20
19
-14
-14
-22
0
0
0
0
0
0
0
28
-2
3
33
-56
-19
1
-7
8
-9
0
0
0
0
0
0
0
21
-1
18
11
-65
-43
-31
44
-48
-7
0
0
0
0
0
0
0
-2
8
0
-1
-52
32
-26
27
-2
0
0
0
0
0
0
0
0
-3
0
0
-49
27
-12
-6
-55
7
0
0
0
0
0
0
0
0
-7
0
0
-11
20
34
-7
40
3
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
-2
0
0
0
0
0
0
0
0
0
4
-2
0
5
4
-6
84
25
0
8
0
0
0
0
0
0
0
20
-2
-2
-22
17
33
-42
5
11
14
34
0
0
0
0
0
0
0
0
-1
12
-29
23
2
-37
-5
15
7
0
0
0
0
0
0
2
0
-2
10
54
43
-20
-20
3
-3
0
0
0
0
0
0
0
-1
0
7
-58
29
12
-4
32
-18
0
0
0
0
0
0
0
0
2
0
1
0
7
10
9
0
2
4
0
0
0
0
0
0
0
-2
-2
0
4
0
7
-36
20
-10
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
-2
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
28
-7
52
0
53
43
68
-7
0
-37
0
0
0
0
0
0
0
-8
-18
-9
25
-58
-5
80
36
0
-12
1
0
0
0
0
0
0
-3
-42
-2
-15
-146
-1
20
10
48
10
0
0
0
0
0
0
0
0
4
-13
-27
-55
48
7
45
-4
-55
0
0
0
0
0
0
0
7
-17
-54
-11
-3
-2
49
-42
-6
3
0
0
0
0
0
0
0
15
16
7
-8
0
-42
24
-5
-16
11
2
0
0
0
0
0
0
3
-1
1
0
-3
28
-9
27
60
0
0
0
0
0
0
0
0
0
0
0
-4
0
-26
1
66
13
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
-1
-8
-49
-19
1
-21
-26
33
0
40
0
0
0
0
0
0
0
-6
-45
-50
68
48
-16
3
-12
44
-9
19
0
0
0
0
0
0
5
25
12
-40
27
-11
-4
12
-9
21
0
0
0
0
0
0
0
-4
-27
0
5
-42
43
17
49
-41
-18
0
0
0
0
0
0
0
11
-25
10
-16
-10
49
16
4
-37
28
0
0
0
0
0
0
0
17
18
3
-8
-38
0
-20
5
12
57
-6
0
0
0
0
0
0
1
42
-4
-13
-26
-42
19
-7
104
0
0
0
0
0
0
0
0
0
0
0
-4
0
-11
-3
-4
0
-6
0
0
0
0
0
0
0
0
0
0
0
9
0
-6
0
0
0
0
0
0
0
0
0
0
1
-1
32
-40
-12
20
12
12
0
-20
7
0
0
0
0
0
0
4
-34
-18
-1
-26
-14
-18
61
-13
2
16
-1
0
0
0
0
0
10
12
31
-41
-88
28
40
-10
13
0
0
0
0
0
0
0
0
-9
42
24
-23
-48
-3
48
23
7
-8
0
0
0
0
0
0
0
16
-64
58
40
14
-17
39
32
-39
-30
-3
0
0
0
0
0
0
28
33
2
40
77
-6
0
67
11
8
0
0
0
0
0
0
0
-2
4
63
-44
51
-9
-3
40
40
-8
0
0
0
0
0
0
0
0
-1
8
0
-10
-42
-4
28
-6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
17
3
0
0
0
0
0
0
0
0
0
43
3
-37
-60
65
-18
-8
12
0
13
-4
0
0
0
0
0
0
56
-28
-14
65
43
31
31
6
-38
1
-47
0
0
0
0
0
0
56
35
-58
9
40
55
75
36
19
3
1
0
0
0
0
0
0
24
-21
46
0
20
-3
45
-12
-11
-6
0
0
0
0
0
0
0
48
17
22
-63
20
33
-1
-33
-7
-5
0
0
0
0
0
0
0
-67
-28
84
-5
13
9
55
0
-4
18
8
0
0
0
0
0
0
36
-11
50
-7
18
-14
39
-45
-5
-27
-1
0
0
0
0
0
0
0
-2
-2
11
11
0
-12
-6
2
0
0
0
0
0
0
0
0
0
0
0
3
8
0
-8
0
2
0
0
0
0
0
0
0
0
3
13
0
-10
43
6
-5
-57
0
-69
3
0
0
0
0
0
0
25
-35
60
22
-50
20
-47
-62
-29
-16
-65
0
0
0
0
0
0
-4
16
27
2
26
34
-25
22
9
-5
32
0
0
0
0
0
0
34
2
-42
15
-45
13
60
21
15
-8
0
2
0
0
0
0
0
0
21
-43
34
-13
-11
5
-2
23
31
-4
1
0
0
0
0
0
28
-43
12
-89
44
33
26
-30
0
28
3
0
0
0
0
0
0
64
38
28
131
39
6
-5
-48
-25
1
4
0
0
0
0
0
0
0
-6
20
-1
-7
52
-6
65
-20
35
0
0
0
0
0
0
0
0
0
0
0
-3
0
-8
-4
3
1
0
0
0
0
0
0
0
0
-46
-24
-4
-36
-22
-11
-1
0
-8
-3
-2
0
0
0
0
0
0
-25
34
26
38
7
0
-6
-12
6
-31
0
0
0
0
0
0
0
-34
39
14
9
56
45
75
-94
-15
-14
0
0
0
0
0
0
0
-5
23
37
-1
53
12
-59
-3
-1
-48
0
0
0
0
0
0
0
-9
60
-8
48
26
28
25
10
-38
18
0
0
0
0
0
0
0
26
-12
-17
2
15
-7
41
-10
0
-24
0
0
0
0
0
0
0
-6
-18
-80
10
18
-54
15
17
-2
0
0
0
0
0
0
0
0
0
-1
-7
0
-21
-21
-1
35
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
23
15
-1
0
0
0
0
0
0
0
0
0
0
0
1
-4
25
36
0
-12
64
37
0
0
0
0
0
0
0
27
13
-11
51
-44
29
-24
-60
-2
-6
0
0
0
0
0
0
0
14
8
-1
18
-11
25
13
1
-2
-44
0
0
0
0
0
0
0
-2
2
12
-11
69
7
-9
-9
34
-6
0
0
0
0
0
0
0
-1
-5
-10
32
23
1
-39
40
-3
3
0
0
0
0
0
0
0
-1
7
0
-7
-6
-29
-3
-12
0
3
0
0
0
0
0
0
0
0
0
0
0
3
0
-22
-46
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-14
0
1
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
-2
-13
30
0
0
0
0
0
0
0
0
-3
0
0
0
3
0
6
40
-2
2
0
0
0
0
0
0
0
0
-2
0
2
1
4
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
16
0
2
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-6
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
55
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
59
0
-3
0
0
0
0
0
0
0
0
1
0
0
9
-1
35
0
10
0
0
0
0
0
0
0
0
0
0
4
0
1
-41
-7
-13
4
0
0
0
0
0
0
0
0
0
0
0
-4
-35
0
58
0
2
0
0
0
0
0
0
0
0
0
0
11
0
0
-40
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
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
15
0
0
-2
0
-6
0
0
0
0
0
0
0
0
0
0
3
0
0
0
68
-21
-16
39
-24
0
0
0
0
0
0
0
0
32
0
0
35
-22
-33
17
56
16
0
0
0
0
0
0
0
0
10
0
-38
15
34
-17
37
-63
-15
0
0
0
0
0
0
0
-8
-4
-30
-24
-10
9
4
-3
-10
-1
0
0
0
0
0
0
0
1
0
8
2
-46
-48
47
0
3
0
0
0
0
0
0
0
0
0
0
-2
9
14
0
14
6
9
0
0
0
0
0
0
0
0
0
-12
0
6
-4
7
36
39
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
-16
-2
-40
-7
0
-4
0
0
0
0
0
0
0
0
1
1
0
-5
-1
26
48
-17
28
-8
0
0
0
0
0
0
0
4
-3
-4
-1
-16
-45
24
3
-9
3
0
0
0
0
0
0
0
-6
7
0
16
22
-28
42
-13
-13
0
0
0
0
0
0
0
0
27
13
-6
-14
-89
39
27
-39
13
0
0
0
0
0
0
0
0
-4
0
0
37
49
49
-53
3
0
0
0
0
0
0
0
0
0
-2
0
0
4
15
-37
-3
19
0
0
0
0
0
0
0
0
0
0
0
0
0
46
37
38
-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
-12
1
-11
0
0
0
0
0
0
0
0
0
11
0
-4
0
6
12
-1
-16
72
-12
-1
0
0
0
0
0
0
0
0
0
0
-2
2
19
12
14
-1
-2
0
0
0
0
0
0
13
0
0
2
8
-9
1
17
-4
-2
1
0
0
0
0
0
0
0
0
-10
-3
11
32
16
36
-19
0
0
0
0
0
0
0
0
0
4
6
2
-1
20
-11
-28
2
0
0
0
0
0
0
0
0
1
0
0
0
11
12
28
11
36
-2
0
0
0
0
0
0
0
0
0
0
16
0
10
-7
7
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
2
-16
-13
-72
-27
0
18
0
0
0
0
0
0
0
0
54
0
22
-19
-51
-21
-49
21
-23
0
0
0
0
0
0
0
0
40
4
42
-12
39
46
-35
34
-18
0
0
0
0
0
0
0
-2
-28
0
-4
18
-25
-30
-93
-32
-60
0
0
0
0
0
0
0
1
0
-3
19
11
-19
-14
-12
-75
0
0
0
0
0
0
0
0
0
-17
4
30
13
-24
19
7
-5
40
0
3
0
0
0
0
0
-3
19
-2
16
0
19
9
13
4
10
0
0
0
0
0
0
0
0
-6
0
-2
0
33
32
3
7
-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
0
0
-2
-14
8
4
27
-6
0
-42
0
0
0
0
0
0
0
1
0
-9
-2
-16
-12
4
39
9
3
1
0
0
0
0
0
0
1
-21
0
40
-8
9
-1
30
13
-15
-2
0
0
0
0
0
0
-26
34
17
-10
-24
56
30
22
6
-7
-1
0
0
0
0
0
0
7
-9
-11
9
40
21
-21
-2
29
-10
0
0
0
0
0
0
0
19
-6
18
-27
0
17
23
-45
25
2
6
0
0
0
0
0
0
1
34
-10
0
-9
0
-5
-5
14
-3
0
0
0
0
0
0
0
0
-2
0
99
0
28
-2
-28
-9
0
0
0
0
0
0
0
0
0
0
0
0
18
0
7
4
0
0
0
0
0
0
0
0
0
2
0
12
-13
1
-17
-21
42
0
-35
3
0
0
0
0
0
0
7
4
2
24
-52
25
0
-25
-19
-1
11
0
0
0
0
0
0
19
-1
-7
-16
20
23
20
-29
10
-17
-1
0
0
0
0
0
0
33
39
17
-37
4
-2
24
8
-23
54
1
0
0
0
0
0
0
1
98
-13
14
-8
39
42
23
7
-17
0
0
0
0
0
0
0
0
32
23
25
19
27
0
0
-10
38
0
0
0
0
0
0
0
0
8
-7
13
41
-37
0
13
61
10
0
0
0
0
0
0
0
0
3
-2
-15
-6
-4
13
4
22
-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
-10
-3
15
-28
-19
-30
15
43
0
-14
2
0
0
0
0
0
0
-106
-66
24
5
27
-12
7
-1
-39
36
-37
0
0
0
0
0
0
10
19
-21
-29
-50
33
56
-2
12
49
2
0
0
0
0
0
0
43
-46
8
-9
-4
-10
-2
44
-24
8
-18
0
0
0
0
0
0
18
-35
14
-2
16
-9
15
26
32
-29
6
0
0
0
0
0
0
-29
13
63
62
-39
-49
-18
-9
-9
-35
-6
0
0
0
0
0
0
19
26
28
-4
17
-50
-69
0
9
9
3
0
0
0
0
0
0
0
-3
-15
-36
10
6
22
8
12
-8
0
0
0
0
0
0
0
0
0
0
0
3
0
10
-1
11
0
0
0
0
0
0
0
0
0
26
35
22
50
-25
-21
-36
0
-20
8
0
0
0
0
0
0
-3
35
-33
-24
24
56
-48
-20
-66
4
-2
0
0
0
0
0
0
5
21
49
8
7
-76
34
40
-14
0
2
9
0
0
0
0
0
-5
21
-8
48
45
61
22
-35
102
23
-10
0
0
0
0
0
0
41
-8
-5
0
12
-21
9
-35
34
1
0
0
0
0
0
0
0
0
-25
-46
54
-39
28
-33
18
-50
-18
-1
0
0
0
0
0
0
4
14
-36
-3
2
25
16
-62
0
26
0
1
0
0
0
0
0
0
16
8
-13
50
50
38
3
28
9
0
0
0
0
0
0
0
0
-6
0
0
0
-1
-3
46
0
2
0
0
0
0
0
0
0
0
16
-24
-46
37
-13
-14
-32
0
-18
10
0
0
0
0
0
0
0
-7
57
-2
52
-22
31
-47
32
34
20
0
0
0
0
0
0
0
33
-7
-48
-26
-35
3
-7
34
-9
-26
-3
0
0
0
0
0
0
20
41
18
-57
50
0
11
10
-10
19
0
0
0
0
0
0
0
39
51
-48
-14
25
-36
-44
11
28
8
0
0
0
0
0
0
0
15
7
57
37
32
-32
85
33
0
7
0
0
0
0
0
0
0
6
-56
25
59
45
41
9
-9
0
-1
0
0
0
0
0
0
0
19
-3
-4
6
-2
8
58
20
32
0
0
0
0
0
0
0
0
0
0
0
0
3
0
7
0
6
0
0
0
0
0
0
0
0
0
0
1
8
12
1
-24
0
-1
-6
-7
0
0
0
0
0
0
0
-11
-82
-18
-8
-22
-23
-4
-16
-27
30
0
0
0
0
0
0
0
3
8
2
9
-11
-15
-60
-28
30
-2
0
0
0
0
0
0
0
1
50
18
4
-8
59
0
-12
-5
0
0
0
0
0
0
0
0
-16
5
2
61
33
30
-18
17
-23
1
0
0
0
0
0
0
0
0
-4
0
1
-59
24
-47
0
7
-8
0
0
0
0
0
0
0
0
-2
-3
-24
3
-26
-53
24
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-6
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
-4
0
1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
6
2
32
19
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
-1
-6
-14
0
0
0
0
0
0
0
0
1
-1
0
1
0
-6
-2
0
0
4
0
0
0
0
0
0
0
-1
0
0
0
4
0
-6
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
-2
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
11
0
1
3
-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
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-36
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
7
-18
4
0
0
0
0
0
0
0
0
0
9
-18
0
12
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
11
-7
33
-6
0
8
0
0
0
0
0
0
0
0
0
0
0
4
18
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
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
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-25
-6
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
17
3
-45
17
0
0
0
0
0
0
0
0
0
0
0
0
2
9
3
6
-3
0
0
0
0
0
0
0
0
0
-3
-25
1
22
2
3
-7
2
0
0
0
0
0
0
0
0
0
0
-6
0
1
0
21
0
4
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
2
0
-3
-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
9
2
27
21
0
0
0
0
0
0
0
0
0
0
7
0
-9
0
-24
-15
-1
2
0
0
0
0
0
0
0
0
0
2
-13
-13
30
1
-10
-6
0
0
0
0
0
0
0
0
1
0
0
0
-34
15
4
-2
6
9
0
0
0
0
0
0
0
0
0
11
0
0
25
-2
7
1
0
1
0
0
0
0
0
0
8
-1
0
0
10
0
-36
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
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
14
-23
30
-8
7
0
0
0
0
0
0
0
0
1
-1
0
1
13
4
13
-49
12
0
0
0
0
0
0
0
0
-4
-2
3
-10
19
41
34
-5
-2
0
0
0
0
0
0
0
0
0
0
0
1
8
20
-1
2
0
0
0
0
0
0
0
0
-2
-4
-1
-9
3
-35
8
-10
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-11
-2
-25
0
15
-2
0
0
0
0
0
0
0
0
-1
0
-2
0
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
6
-7
0
0
0
0
0
0
0
0
0
0
0
-15
-7
-18
30
7
-47
0
10
3
0
0
0
0
0
0
0
3
3
3
-41
-14
-59
64
5
-8
0
0
0
0
0
0
0
-7
-3
1
-10
-1
-36
-16
-23
-9
5
0
0
0
0
0
0
0
-12
20
-18
-3
-36
-3
6
14
-40
-1
0
0
0
0
0
0
0
-1
-15
-26
6
-4
13
-2
11
16
18
0
0
0
0
0
0
0
0
2
-2
-2
-4
0
16
20
10
1
-2
0
0
0
0
0
0
0
-4
0
-8
10
0
-21
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
56
-37
0
3
0
0
0
0
0
0
0
0
4
-7
-1
0
5
23
-53
-23
36
0
0
0
0
0
0
0
0
-20
-7
-1
-3
-9
-46
8
62
0
-6
0
0
0
0
0
0
1
8
1
9
-16
-43
24
-9
17
38
0
0
0
0
0
0
0
-3
25
-7
-7
-32
-19
21
32
-8
0
0
0
0
0
0
0
0
44
8
37
58
0
-29
10
27
-18
-7
0
0
0
0
0
0
0
-1
11
1
1
-10
10
-4
-16
-30
-2
0
0
0
0
0
0
0
0
-12
-2
-3
7
-6
0
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
9
0
0
0
0
0
0
0
0
1
-2
1
-2
74
-11
-15
4
0
-7
0
0
0
0
0
0
0
-10
13
-41
-6
17
46
-3
-21
3
6
-13
0
0
0
0
0
0
-16
8
30
78
-35
19
53
-33
-24
-50
-1
0
0
0
0
0
0
15
2
-1
27
0
50
58
36
0
9
-1
0
0
0
0
0
0
6
8
10
-3
66
-20
25
-18
104
-38
0
0
0
0
0
0
0
3
82
0
60
1
-48
54
-41
18
-12
0
0
0
0
0
0
0
-1
-44
36
11
45
58
3
-18
7
0
0
0
0
0
0
0
0
1
50
25
-7
26
34
48
0
-11
-9
0
0
0
0
0
0
0
0
1
0
0
-17
0
-12
-6
4
0
0
0
0
0
0
0
0
0
-40
-4
29
0
0
-85
20
0
3
0
0
0
0
0
0
0
0
-50
-56
-18
-77
-15
-22
-15
33
-7
3
0
0
0
0
0
0
-7
-3
37
31
61
-40
31
32
-19
-57
0
0
0
0
0
0
0
0
37
-19
7
-18
-76
39
-47
-5
26
4
0
0
0
0
0
0
19
24
10
61
-9
-21
-11
-30
46
-25
6
0
0
0
0
0
0
-25
-19
56
-9
-3
-63
-34
34
9
9
0
0
0
0
0
0
0
-1
-4
16
3
-12
16
1
-18
31
-55
0
0
0
0
0
0
0
2
0
27
46
10
-48
28
-42
0
-15
-1
0
0
0
0
0
0
0
1
-2
0
2
7
-16
9
-13
0
0
0
0
0
0
0
0
0
0
13
2
6
-7
-8
55
0
1
6
0
0
0
0
0
0
0
-20
29
8
105
10
-20
24
-17
-34
-4
0
0
0
0
0
0
0
46
11
-12
25
-35
-45
-53
4
24
11
0
0
0
0
0
0
0
-27
5
16
-59
-83
-17
-7
1
-23
41
0
0
0
0
0
0
0
22
-17
-9
-14
-32
57
3
21
-29
-19
0
0
0
0
0
0
0
20
57
-1
-1
-30
31
-11
-15
-14
44
0
0
0
0
0
0
0
-17
-21
8
-25
46
-6
-3
44
3
-7
0
0
0
0
0
0
0
-6
-2
0
12
-19
-23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-34
9
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-22
0
-17
-3
0
0
0
0
0
0
0
0
0
0
0
2
12
2
-49
-1
28
0
0
0
0
0
0
0
0
-4
2
0
34
1
-61
8
-13
50
-1
0
0
0
0
0
0
0
-3
-8
-3
-18
22
0
-3
18
43
0
0
0
0
0
0
0
0
0
0
0
0
-49
9
50
-18
6
2
0
0
0
0
0
0
0
-3
-1
0
1
-4
5
22
-20
8
-1
0
0
0
0
0
0
0
0
0
0
3
-5
-7
-15
-29
0
4
0
0
0
0
0
0
0
0
0
0
-7
0
-16
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
6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-44
0
6
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
19
-2
6
0
18
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
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
2
3
0
0
0
0
0
0
0
0
0
0
6
0
2
0
0
-1
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
-2
0
0
0
0
0
0
0
0
0
0
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
8
1
0
15
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
71
-1
-2
0
-10
2
0
0
0
0
0
0
0
0
2
0
2
-1
-17
0
11
0
0
0
-1
0
0
0
0
0
0
-1
0
-7
-1
21
-52
0
3
0
0
0
0
0
0
0
0
0
-6
-4
0
8
-20
0
30
-3
-24
0
0
0
0
0
0
0
0
0
-1
0
4
0
-5
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
4
0
0
0
0
0
0
0
0
0
0
8
-13
-4
-18
0
-6
0
0
0
0
0
0
0
0
0
0
2
1
0
7
-9
-23
0
-3
0
0
0
0
0
0
0
0
6
0
-11
-14
-6
-7
-18
46
-1
0
0
0
0
0
0
0
0
0
0
8
11
7
0
35
0
10
0
0
0
0
0
0
0
0
1
0
0
-22
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
4
14
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-16
2
0
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
-2
-4
9
-10
45
10
0
0
0
0
0
0
0
0
0
0
0
18
-9
-6
-16
-13
3
2
0
0
0
0
0
0
0
0
0
-1
-1
-1
-3
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
5
0
-2
0
0
0
0
0
0
0
0
0
0
2
2
0
23
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
0
0
0
-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
-3
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
3
0
0
-11
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-3
0
17
0
2
0
0
0
0
0
0
0
0
0
0
0
6
3
-9
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-6
7
0
1
-8
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
-15
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-2
-5
16
-5
0
-1
0
-3
0
0
0
0
0
0
0
36
-15
-15
-88
0
0
-2
0
-25
8
0
0
0
0
0
0
0
-5
0
7
-28
4
12
-11
4
-17
55
-1
0
0
0
0
0
0
-10
-14
61
61
-1
-24
-9
0
-45
0
0
0
0
0
0
0
0
7
18
7
12
-15
59
-7
-1
1
-6
0
0
0
0
0
0
0
13
-7
-4
-6
-11
2
-7
-2
-7
0
0
0
0
0
0
0
0
1
12
2
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
-4
2
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
2
5
0
0
0
-16
-29
0
0
0
0
0
0
0
0
0
-13
-1
-37
-2
0
9
-1
-33
0
0
0
0
0
0
0
0
0
0
6
-13
1
0
0
1
-35
0
0
0
0
0
0
0
0
0
6
-4
1
4
4
0
-4
-6
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
-3
-1
-2
0
3
-1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-17
-6
24
2
0
-12
1
0
0
0
0
0
0
0
0
0
0
1
-1
8
-4
0
0
-4
0
0
0
0
0
0
0
0
0
8
0
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
-12
-2
-2
-6
0
11
0
0
-8
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
32
-1
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
7
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-3
-1
-3
0
-2
-11
3
0
0
0
0
0
0
0
0
2
-6
6
0
-2
0
8
0
8
0
0
0
0
0
0
0
0
-20
-10
6
3
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
6
3
11
-18
0
0
2
0
0
0
0
0
0
0
0
0
0
-13
-7
4
-17
2
4
-10
-1
0
0
0
0
0
0
0
0
2
4
7
1
42
10
0
-1
-7
0
0
0
0
0
0
0
0
0
-6
4
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-6
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
-10
0
6
0
0
0
0
0
0
0
0
0
0
0
0
4
24
39
9
0
1
0
0
0
0
0
0
0
0
0
0
0
1
27
-20
10
-2
-5
-2
-4
0
0
0
0
0
0
0
0
-1
9
-17
18
-2
-33
-65
-1
-2
9
0
0
0
0
0
0
0
0
-6
-6
-1
18
0
0
0
-3
1
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
0
0
0
0
0
0
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
7
4
8
0
6
0
0
0
0
0
0
0
0
0
0
10
44
13
-14
103
0
0
-14
0
0
0
0
0
0
0
0
15
-18
45
-35
-40
-1
-17
-6
-22
-12
-3
0
0
0
0
0
0
1
-20
0
-16
66
17
2
0
16
0
0
0
0
0
0
0
0
-14
-1
-52
2
63
21
1
-2
-5
0
0
0
0
0
0
0
0
1
50
9
33
-14
-7
0
0
-1
1
0
0
0
0
0
0
0
-3
0
-3
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
-46
-30
-29
0
-15
-78
-2
3
0
0
0
0
0
0
0
-6
18
-58
-9
0
-1
0
-52
2
1
0
0
0
0
0
0
-34
73
4
18
-42
-27
-61
-40
18
-22
0
0
0
0
0
0
0
7
66
16
65
-61
-36
21
-8
2
6
-1
1
0
0
0
0
0
-58
-16
2
-3
22
-25
-5
-3
1
0
0
0
0
0
0
0
0
-17
-40
51
43
-71
-31
-13
-25
2
1
0
0
0
0
0
0
0
0
-4
64
4
2
2
0
0
-12
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
6
4
-12
0
0
-49
4
1
0
0
0
0
0
0
0
9
-23
-25
-17
0
-6
0
5
14
9
0
0
0
0
0
0
0
-10
-3
28
3
-3
16
5
9
35
-4
0
0
0
0
0
0
0
-8
-23
-5
39
17
11
-7
-3
5
13
2
0
0
0
0
0
0
-5
0
20
9
9
-20
17
-1
27
0
0
0
0
0
0
0
0
-2
-1
-2
-10
8
21
10
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
-5
0
4
-3
0
0
0
0
0
0
0
0
0
2
-4
-1
3
4
-3
0
-4
1
0
0
0
0
0
0
0
0
2
4
0
-4
1
-7
-1
3
-6
1
0
0
0
0
0
0
0
1
0
-10
1
0
-1
-16
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
2
6
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
1
6
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
2
-2
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
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
-1
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
39
26
0
-18
1
0
0
0
0
0
0
0
0
0
0
0
2
-20
0
-7
2
-10
-1
-7
1
0
0
0
0
0
0
0
0
18
9
0
3
13
0
-1
0
0
0
0
0
0
0
0
0
-16
0
-1
0
-6
3
3
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
6
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
16
-14
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-9
2
0
1
-4
-3
0
0
0
0
0
0
0
0
-3
-6
-1
-4
9
-4
10
-1
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-45
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
-6
-18
-19
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
11
12
-6
-64
-15
1
2
-4
3
0
0
0
0
0
0
0
0
-1
-20
-1
7
10
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
7
-28
17
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
8
1
-2
0
0
0
0
0
0
0
0
0
0
0
1
-12
17
40
22
3
-11
0
3
0
0
0
0
0
0
0
0
0
-1
-5
10
3
-8
6
7
12
0
0
0
0
0
0
0
0
0
-20
-5
8
3
15
-2
-27
2
0
0
0
0
0
0
0
0
0
3
-9
-28
-13
-59
23
0
0
-2
0
0
0
0
0
0
0
0
0
-4
12
17
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
-15
25
1
22
-3
0
0
0
0
0
0
0
0
0
0
0
1
6
26
-43
6
13
-3
0
7
0
-1
0
0
0
0
0
0
-10
-25
-4
0
-17
0
10
2
-13
-6
0
0
0
0
0
0
0
2
-9
-66
-35
-34
-21
-4
37
3
-6
-6
0
0
0
0
0
0
0
-21
35
-15
-69
6
22
0
0
0
0
0
0
0
0
0
0
0
0
2
26
7
3
-2
-1
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-4
4
10
9
0
0
0
0
0
0
0
0
0
0
28
-4
-16
58
76
-29
-17
0
-13
0
-1
0
0
0
0
0
0
-8
-50
1
-23
-81
14
11
-13
46
-1
4
0
0
0
0
0
0
9
-69
8
67
-57
5
38
46
-24
-7
0
0
0
0
0
0
0
12
-15
-7
-11
-76
39
17
5
-15
1
0
0
0
0
0
0
0
0
-10
38
-12
-5
-10
-16
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-11
-5
-6
9
-1
0
0
0
1
0
0
0
0
0
0
14
90
-66
-27
-65
-34
-30
0
-8
0
17
0
0
0
0
0
0
-17
-56
-14
-36
-57
8
40
2
7
-36
-12
0
0
0
0
0
0
-33
-12
-31
17
63
-12
31
-19
-13
-37
-3
-6
0
0
0
0
0
24
35
13
-57
-23
-46
-32
5
-2
-2
-10
0
0
0
0
0
0
-1
-2
-14
-8
16
1
6
1
0
1
0
0
0
0
0
0
0
-3
1
18
0
49
0
21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
17
82
24
-2
-27
-19
4
0
0
0
0
0
0
0
0
0
-37
22
41
15
-22
39
47
0
-18
0
0
0
0
0
0
0
0
-15
28
-43
-26
38
-14
30
-28
5
10
4
0
0
0
0
0
0
-76
38
-13
-10
-7
21
-95
-1
39
-25
5
-7
0
0
0
0
0
33
-36
16
35
-7
23
-30
28
-8
-3
-1
0
0
0
0
0
0
-1
-2
-29
4
58
2
-2
2
1
0
0
0
0
0
0
0
0
0
0
1
-56
-11
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
2
7
-13
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
-14
-31
-38
-18
16
20
-15
0
-78
-18
1
0
0
0
0
0
0
-38
-6
11
-57
40
-38
0
-7
0
-13
7
0
0
0
0
0
0
26
-19
-24
-2
8
-6
-1
-18
12
-9
-17
0
0
0
0
0
0
-13
10
-2
-2
14
-40
-21
5
31
-7
0
1
0
0
0
0
0
-11
-34
-7
40
-28
-29
-77
-3
32
8
-8
-1
0
0
0
0
0
2
21
59
17
-95
17
-30
0
-5
-2
0
0
0
0
0
0
0
-6
20
20
28
33
59
10
0
-8
-1
0
0
0
0
0
0
0
0
-8
37
3
-15
0
-4
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
20
5
-42
9
0
0
0
0
8
0
0
0
0
0
0
0
13
14
-20
-60
-7
0
-9
0
1
7
0
0
0
0
0
0
0
-11
14
-55
51
-9
-6
-9
-8
44
-12
1
0
0
0
0
0
0
22
63
28
-22
6
33
6
-4
-14
-55
-3
0
0
0
0
0
0
-4
33
-44
10
43
4
3
18
-4
0
0
0
0
0
0
0
0
-2
17
32
-13
7
-3
2
1
0
1
0
0
0
0
0
0
0
0
18
3
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-2
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
3
0
0
3
-2
0
0
0
0
0
0
0
0
-7
12
-9
1
0
-16
0
23
6
0
0
0
0
0
0
0
0
-7
4
-4
-15
-38
2
4
-21
8
-6
0
0
0
0
0
0
0
4
-11
-33
-11
14
11
12
-3
-3
-6
-1
0
0
0
0
0
0
0
-3
-9
-4
-3
16
-2
4
-43
2
0
0
0
0
0
0
0
0
26
0
0
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-3
1
0
-3
-9
0
1
0
-1
0
0
0
0
0
0
0
0
-7
-6
-2
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
2
0
2
0
1
-3
3
-8
0
0
0
0
0
0
0
0
0
0
0
4
-7
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
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
2
0
15
-9
2
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
8
-2
1
-4
4
0
0
0
0
0
0
0
0
0
0
-1
21
-6
2
0
0
15
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
7
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-28
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
7
-12
6
9
0
0
0
0
0
0
0
0
0
0
0
1
0
-10
4
-34
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
7
-26
-17
-47
2
0
-6
0
0
0
0
0
0
0
0
-7
0
-19
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
12
0
3
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
-6
-4
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
18
28
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
-13
15
7
-22
-17
-15
0
8
13
0
0
0
0
0
0
0
-9
-11
-7
1
22
18
1
4
-1
6
0
0
0
0
0
0
0
-4
24
4
3
-24
68
-80
0
4
0
0
0
0
0
0
0
0
0
0
-2
29
-2
4
21
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-52
33
24
0
0
-1
0
0
0
0
0
0
0
0
-2
-6
47
-17
-32
6
5
0
15
-4
0
0
0
0
0
0
0
3
-15
-88
-20
-4
-72
23
1
5
1
0
0
0
0
0
0
0
0
-7
-5
-20
9
8
-31
-9
-17
-13
0
0
0
0
0
0
0
0
-4
-1
40
-38
3
-3
-6
0
0
0
0
0
0
0
0
0
0
0
-11
0
12
0
-1
0
1
-2
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
-7
0
-53
8
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
40
-24
15
-51
-4
0
0
0
0
0
0
0
0
0
0
4
27
1
-50
-36
-20
-26
0
0
6
0
0
0
0
0
0
0
-1
27
-11
-3
10
0
-5
2
11
0
0
0
0
0
0
0
0
0
-1
43
37
16
16
10
-1
-1
2
0
0
0
0
0
0
0
0
-1
-16
-42
17
52
-4
0
0
0
0
0
0
0
0
0
0
0
0
-22
-35
-11
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
11
-17
-11
2
-16
-3
0
0
7
1
0
0
0
0
0
0
-33
-29
-25
26
22
53
-10
0
0
0
0
0
0
0
0
0
0
45
29
34
-20
0
-6
9
2
40
-63
-1
0
0
0
0
0
0
-3
3
18
-10
-44
-11
-4
-43
3
30
0
0
0
0
0
0
0
6
-8
9
-4
-13
-10
19
-14
37
0
0
0
0
0
0
0
0
0
-44
-8
-55
47
-27
5
0
0
20
0
0
0
0
0
0
0
0
0
-17
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-41
-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
-14
-42
6
-33
-31
-45
-44
2
0
0
0
0
0
0
0
0
0
-9
18
30
9
-22
-43
-51
0
12
0
4
0
0
0
0
0
0
5
-55
-33
3
-97
-21
-12
-24
71
-31
2
0
0
0
0
0
0
54
-42
2
-15
-86
41
-34
0
-24
-5
9
0
0
0
0
0
0
0
78
-70
-72
-34
-17
-8
1
0
47
0
0
0
0
0
0
0
-3
-34
19
-19
14
-53
-5
-1
0
-6
0
0
0
0
0
0
0
0
-7
25
7
-3
4
-4
0
2
0
0
0
0
0
0
0
0
0
-3
0
-2
2
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
4
36
-21
12
4
-8
0
0
-2
0
0
0
0
0
0
24
-10
1
46
-45
3
-47
0
-6
0
-25
-3
0
0
0
0
0
-89
-17
32
-13
-26
37
-1
3
-9
-50
34
0
0
0
0
0
0
-22
-62
57
11
31
-8
13
52
-29
9
-16
0
0
0
0
0
0
-7
32
-25
8
31
-63
-32
-1
11
-11
-6
0
0
0
0
0
0
0
-20
35
-15
-29
31
15
1
10
-2
0
0
0
0
0
0
0
0
0
-56
-89
-13
0
-72
0
-1
0
0
0
0
0
0
0
0
0
21
0
-38
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
55
-3
-15
7
-9
12
0
-64
0
0
0
0
0
0
0
0
-5
-4
13
-20
-23
-19
0
-1
0
-38
12
0
0
0
0
0
0
17
1
-3
1
25
-13
0
-74
-23
43
-9
0
0
0
0
0
0
10
-75
9
-21
13
-50
8
-29
-22
-19
-4
0
0
0
0
0
0
13
-41
-28
-29
21
-23
16
40
38
8
-3
0
0
0
0
0
0
68
-11
-39
-35
18
0
-30
10
7
0
0
0
0
0
0
0
0
-34
-10
16
67
82
-28
2
1
0
0
0
0
0
0
0
0
0
6
-10
-10
12
2
3
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
10
-4
16
0
0
0
32
0
0
0
0
0
0
0
0
29
35
-5
-94
22
0
-1
0
39
1
0
0
0
0
0
0
0
36
12
-29
15
-22
-7
14
-25
-55
3
0
0
0
0
0
0
0
5
45
-11
28
19
-15
4
0
-13
-12
0
0
0
0
0
0
0
-12
25
-19
-45
7
-12
-2
3
-4
0
2
0
0
0
0
0
0
0
-21
-24
0
4
7
3
0
2
1
0
0
0
0
0
0
0
0
1
-1
12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
-6
-6
-13
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
6
-6
7
-9
1
1
17
-6
-2
0
0
0
0
0
0
0
-2
-3
1
6
-21
4
1
1
0
-2
0
0
0
0
0
0
0
1
6
-7
0
-3
-10
-1
-1
0
-1
0
0
0
0
0
0
0
0
-1
0
-2
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
1
-27
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
-15
3
0
0
0
6
0
0
0
0
0
0
0
0
1
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
4
0
0
1
0
0
0
0
0
0
0
0
0
0
2
10
-1
-7
2
11
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
-9
48
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
1
30
0
0
-12
-18
2
0
0
0
0
0
0
0
2
0
0
8
20
38
10
0
1
0
0
0
0
0
0
0
0
0
-25
0
0
-33
1
4
1
0
1
0
0
0
0
0
0
0
0
-2
0
9
16
18
2
18
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
4
4
0
-3
0
0
0
0
0
0
0
0
0
0
0
-29
29
10
-46
-1
3
0
0
0
0
0
0
0
0
0
0
3
0
-58
2
-10
11
4
0
1
7
-1
0
0
0
0
0
0
1
10
3
-10
1
-6
2
-1
0
3
0
0
0
0
0
0
0
-9
22
-15
0
62
-10
22
19
7
13
0
0
0
0
0
0
0
0
0
-1
1
-18
-28
13
2
0
-7
0
0
0
0
0
0
0
-1
0
9
-8
-38
3
-8
3
1
0
0
0
0
0
0
0
0
0
0
1
0
0
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
39
-20
6
7
0
0
0
0
0
0
0
0
0
0
0
-7
-2
-22
15
20
-2
9
0
-1
0
0
0
0
0
0
0
0
2
41
7
28
30
11
-7
0
-17
7
-1
0
0
0
0
0
0
4
-3
0
6
-22
-48
-15
2
0
-5
0
0
0
0
0
0
0
-3
-39
-95
3
0
5
-84
2
11
0
0
0
0
0
0
0
0
0
4
4
-16
-37
0
-4
-7
-4
1
0
0
0
0
0
0
0
0
0
-12
-11
4
0
0
4
1
-2
0
0
0
0
0
0
0
0
0
-16
-6
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
3
-20
0
-1
0
0
0
0
0
0
0
0
0
0
-6
6
-3
3
21
4
10
0
0
0
1
0
0
0
0
0
0
-2
-28
9
-5
-1
-27
-20
0
6
18
0
0
0
0
0
0
0
-1
15
44
-57
-21
-5
4
35
-1
4
3
0
0
0
0
0
0
1
1
8
-32
-48
0
-34
0
9
-3
0
0
0
0
0
0
0
0
-4
-5
-11
-57
-25
-19
0
0
-1
0
0
0
0
0
0
0
0
-1
7
-4
-2
-27
2
0
2
-1
0
0
0
0
0
0
0
0
0
0
-7
3
3
3
-2
-3
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-41
62
-77
11
2
-28
0
0
0
0
0
0
0
0
0
0
-4
41
-11
51
11
-67
5
0
9
0
1
0
0
0
0
0
0
12
20
-43
99
-21
13
-51
-3
-17
-2
0
-1
0
0
0
0
0
7
-8
-8
28
-66
30
-66
19
-6
1
-6
0
0
0
0
0
0
-39
-26
-5
17
-3
-38
0
-12
-25
0
0
0
0
0
0
0
0
3
24
-39
-33
-7
30
38
0
1
-3
0
0
0
0
0
0
0
4
0
8
-44
-47
1
9
-7
0
-13
0
0
0
0
0
0
0
0
1
-18
7
9
18
7
1
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
-12
-1
-60
-20
-10
-17
-76
1
0
0
0
0
0
0
0
0
0
10
-34
27
-2
-8
-129
-26
0
-4
0
0
0
0
0
0
0
0
-36
17
-13
-10
23
4
37
-3
-50
-32
-2
0
0
0
0
0
0
-3
-12
92
5
-61
3
46
-15
44
21
-3
0
0
0
0
0
0
20
5
1
25
-32
9
-17
0
-29
9
4
4
0
0
0
0
0
2
-29
-20
-46
-42
7
21
-42
0
-41
0
0
0
0
0
0
0
2
4
-2
-11
10
4
15
11
-3
2
0
0
0
0
0
0
0
0
4
-1
-6
-24
7
-16
3
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
3
61
43
-45
48
35
0
0
2
-2
0
0
0
0
0
0
-28
-31
-11
2
30
-53
24
0
-17
0
20
-1
0
0
0
0
0
-42
-5
1
-21
-8
-9
-10
-42
13
-49
-14
0
0
0
0
0
0
20
32
-8
3
62
-43
-63
-8
-11
-66
-9
0
0
0
0
0
0
-15
0
-33
-13
-56
20
2
23
0
2
-1
1
0
0
0
0
0
6
-54
25
-26
-11
-33
24
22
41
0
4
0
0
0
0
0
0
2
-12
-83
-9
-48
-13
55
30
-4
0
0
0
0
0
0
0
0
0
0
-4
64
-18
-2
0
1
2
0
0
0
0
0
0
0
0
0
12
30
-1
-13
0
0
0
1
0
0
0
0
0
0
0
0
0
-46
-19
-73
-1
-32
5
-4
0
-5
0
0
0
0
0
0
0
0
-10
11
42
72
26
-20
0
-7
0
-19
3
0
0
0
0
0
0
-17
-59
41
24
79
-30
-25
-32
3
48
-1
0
0
0
0
0
0
38
4
-29
-46
-24
-57
5
-27
16
13
-6
0
0
0
0
0
0
-20
52
76
-9
43
0
-5
-16
0
10
-4
0
0
0
0
0
0
26
-33
32
77
-19
12
-40
10
-6
1
0
1
0
0
0
0
0
0
9
26
-27
-87
45
-3
22
-3
0
0
0
0
0
0
0
0
0
11
69
-23
27
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
18
-27
25
-4
7
0
2
53
0
0
0
0
0
0
0
0
-16
36
-17
13
-66
0
0
0
-5
1
0
0
0
0
0
0
0
8
23
9
-14
62
17
-33
19
-10
1
0
0
0
0
0
0
0
0
29
26
-6
-25
31
-2
-2
15
3
0
0
0
0
0
0
0
2
2
-9
38
-1
-24
8
0
0
-1
0
0
0
0
0
0
0
0
18
37
-44
2
4
-1
-9
-7
0
0
0
0
0
0
0
0
-3
-3
0
-13
-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
-10
0
0
7
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
6
-1
0
4
0
8
2
0
0
0
0
0
0
0
0
1
0
0
-1
15
5
-6
-1
-11
-2
0
0
0
0
0
0
0
0
0
0
-42
3
1
0
1
0
0
0
0
0
0
0
0
0
0
7
-6
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
-7
-10
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
10
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-9
2
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
16
0
30
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-10
33
-60
7
7
0
0
0
0
0
0
0
0
0
0
0
-9
3
-18
10
0
-2
0
-3
1
0
0
0
0
0
0
0
0
-17
0
-2
3
0
1
-1
2
0
0
0
0
0
0
0
0
0
12
0
-9
-8
-28
4
0
0
-12
0
0
0
0
0
0
0
0
0
0
9
0
-12
0
0
-4
-6
0
0
0
0
0
0
0
0
0
24
0
10
2
4
0
-9
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-6
2
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
26
6
1
7
1
0
0
0
0
0
0
0
0
0
0
0
1
3
1
2
-2
-1
0
4
1
0
0
0
0
0
0
0
0
4
1
22
15
-35
3
0
-4
1
0
0
0
0
0
0
0
-3
15
19
-20
4
-33
-2
7
0
4
0
0
0
0
0
0
0
0
9
7
0
17
0
1
7
0
1
0
0
0
0
0
0
0
0
1
-29
14
-41
-15
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-16
-1
9
0
0
0
0
0
0
0
0
0
0
0
23
18
64
1
8
-1
0
0
0
0
0
0
0
0
0
0
6
7
15
1
-6
0
22
0
8
21
0
0
0
0
0
0
0
0
-87
6
76
4
22
8
0
-1
-24
0
0
0
0
0
0
0
-2
-59
2
17
-50
-18
-7
-21
-1
-6
0
0
0
0
0
0
0
0
-25
10
-43
0
28
6
-3
-2
0
0
0
0
0
0
0
0
-2
17
-32
9
39
-1
-3
-1
-1
-2
0
0
0
0
0
0
0
0
1
2
1
4
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
28
-19
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
29
76
40
7
1
0
0
0
0
0
0
0
0
0
0
-3
23
-3
1
34
33
4
0
10
-22
0
0
0
0
0
0
0
0
-15
-30
-11
-17
14
-18
-56
10
6
0
0
0
0
0
0
0
-3
19
15
-57
-16
29
0
-18
-6
7
0
0
0
0
0
0
0
0
-2
-108
-23
-32
0
-10
41
0
-17
0
0
0
0
0
0
0
-2
-1
-3
41
-9
27
0
-8
0
0
0
0
0
0
0
0
0
0
1
3
0
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-27
2
-48
2
-11
0
0
0
0
0
0
0
0
0
0
-3
-14
10
21
-43
-51
0
0
0
0
0
0
0
0
0
0
0
-25
29
-70
60
-21
25
1
2
27
-12
0
0
0
0
0
0
0
-11
-1
-28
2
-22
55
2
-2
-11
30
1
0
0
0
0
0
0
40
-19
-23
41
4
7
-28
5
12
0
0
0
0
0
0
0
0
0
24
2
11
54
28
0
-1
7
-4
0
0
0
0
0
0
0
-8
-57
-42
-27
-15
8
-12
1
2
3
0
0
0
0
0
0
0
0
41
8
0
-2
3
6
-3
0
0
0
0
0
0
0
0
0
0
3
-4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
3
3
14
-12
37
-55
16
0
0
-4
0
0
0
0
0
0
11
-8
-29
34
-8
10
25
0
2
0
0
0
0
0
0
0
0
0
-18
34
-59
-6
63
-80
-23
24
-24
0
0
0
0
0
0
0
1
0
50
20
-31
46
-49
1
-25
24
0
-1
0
0
0
0
0
-2
18
4
6
-21
19
70
-23
10
45
0
0
0
0
0
0
0
-2
16
-67
-8
-29
5
11
0
3
3
0
0
0
0
0
0
0
0
-21
28
46
-30
11
1
-5
4
-59
0
0
0
0
0
0
0
0
10
6
19
-10
1
1
6
2
0
0
0
0
0
0
0
0
0
-9
1
8
1
0
0
0
0
0
0
0
0
0
0
0
0
56
-28
23
2
-6
10
16
6
0
0
0
0
0
0
0
0
0
-5
-53
-65
-42
24
-44
-51
0
-132
0
12
0
0
0
0
0
0
50
17
-24
-5
15
38
25
-60
25
-51
-8
0
0
0
0
0
0
52
43
13
-19
-77
-1
-54
-66
-32
4
2
0
0
0
0
0
0
-16
-21
8
19
-42
-10
-44
44
50
-13
0
0
0
0
0
0
0
18
6
-17
47
-14
-33
-6
11
0
23
0
0
0
0
0
0
0
1
38
0
-17
-7
41
-5
-4
-26
-3
0
0
0
0
0
0
0
0
-3
-22
-24
39
-13
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
-16
12
0
0
0
0
0
0
0
0
0
0
0
0
0
27
38
-52
23
27
-23
0
0
59
17
0
0
0
0
0
0
0
-28
33
-14
-33
53
50
0
8
0
0
1
0
0
0
0
0
0
-38
40
43
39
-47
35
1
-26
17
-24
1
0
0
0
0
0
0
11
-2
-14
-52
24
54
2
33
89
-9
0
0
0
0
0
0
0
-100
-55
-38
-24
-30
-53
16
18
-4
-1
0
0
0
0
0
0
0
-25
38
41
36
-74
23
-55
-69
0
6
0
0
0
0
0
0
0
-20
-55
-26
-37
-6
-14
-6
16
-3
0
0
0
0
0
0
0
0
0
-3
-9
0
61
-51
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
-15
4
3
-20
0
0
44
0
0
0
0
0
0
0
0
6
-48
-5
10
47
0
-1
0
11
-1
0
0
0
0
0
0
0
10
44
-5
41
37
-3
4
-19
26
-2
0
0
0
0
0
0
0
-12
23
5
56
-23
-24
-31
0
27
-9
0
0
0
0
0
0
0
33
48
61
-65
-29
6
0
0
3
0
-1
0
0
0
0
0
0
0
-16
-5
31
14
-6
-1
0
0
0
0
0
0
0
0
0
0
0
7
-29
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
1
-1
-1
0
0
-6
0
0
0
0
0
0
0
0
0
-15
1
6
-2
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
7
-1
1
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
1
16
-7
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
-1
-18
0
2
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
7
1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
2
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
1
-24
-2
-37
0
0
-3
0
0
0
0
0
0
0
0
11
2
2
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
-15
0
0
0
0
-13
0
0
0
0
0
0
0
0
-1
-1
3
9
2
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-21
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-1
1
0
-7
6
0
0
0
0
0
0
0
0
-13
0
-2
2
-9
0
-6
0
0
0
0
0
0
0
0
0
0
0
16
2
0
1
0
-4
0
-6
0
0
0
0
0
0
0
0
10
0
-10
8
-12
-15
-2
0
-10
0
0
0
0
0
0
0
0
0
6
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
33
-27
7
2
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-3
3
2
0
0
-6
0
0
0
0
0
0
0
0
1
4
-12
10
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-37
40
-19
-2
3
0
0
0
0
0
0
0
0
0
0
-7
9
-16
3
-24
2
1
2
0
0
0
0
0
0
0
0
0
3
-12
9
0
0
11
1
-15
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-1
-7
-2
4
-15
0
0
0
0
0
0
0
0
0
0
1
7
-23
-8
-12
7
4
0
-8
-37
0
0
0
0
0
0
0
0
24
16
-66
6
-11
0
2
-1
-1
0
0
0
0
0
0
0
0
0
12
-15
33
3
-9
0
-6
-15
0
0
0
0
0
0
0
0
-6
-8
-62
27
2
3
0
1
24
0
0
0
0
0
0
0
0
0
-32
4
29
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
28
5
-16
0
2
0
0
0
0
0
0
0
0
0
0
0
69
65
-59
-71
39
-6
0
0
0
0
0
0
0
0
0
0
39
-7
12
39
6
11
10
3
0
35
1
0
0
0
0
0
0
0
-9
0
-17
5
-2
-2
0
0
2
0
0
0
0
0
0
0
-7
-1
-16
0
-36
-28
18
12
-45
-1
0
0
0
0
0
0
0
0
77
-60
34
-3
-31
7
-24
-1
-2
0
0
0
0
0
0
0
15
-1
-2
-19
20
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
-6
1
-33
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-21
43
-46
25
16
0
0
0
0
0
0
0
0
0
0
9
-12
68
26
-24
42
10
0
0
0
0
0
0
0
0
0
0
-3
9
-43
-11
76
-37
-30
20
6
-6
0
0
0
0
0
0
0
0
-28
29
73
-18
0
-29
1
-3
-1
0
0
0
0
0
0
0
-29
12
-7
15
45
43
-40
-8
8
-43
0
0
0
0
0
0
0
-2
-30
-19
-72
-25
24
0
2
-6
1
0
0
0
0
0
0
0
1
-2
-4
8
17
43
-63
0
-11
-9
0
0
0
0
0
0
0
0
-1
1
52
-15
0
11
4
0
0
0
0
0
0
0
0
0
0
0
4
-13
0
0
0
0
-9
0
0
0
0
0
0
0
0
7
-25
66
10
-39
-24
-44
-4
0
0
-1
0
0
0
0
0
0
4
-38
48
-12
19
-85
-19
0
2
0
-5
0
0
0
0
0
0
74
22
35
-21
0
29
-30
-27
10
-7
-1
0
0
0
0
0
0
56
24
48
104
-51
-16
-21
64
16
-64
10
0
0
0
0
0
0
19
42
15
-5
-25
33
-33
-29
32
7
0
0
0
0
0
0
0
2
63
-13
-6
-31
57
19
-9
-12
12
-3
0
0
0
0
0
0
1
-10
58
0
-31
11
49
-19
0
12
0
0
0
0
0
0
0
0
-27
11
-37
-29
-1
43
-27
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
-44
46
-3
44
-30
-1
3
0
44
-3
0
0
0
0
0
0
0
37
39
-69
37
31
-35
0
-11
0
1
1
0
0
0
0
0
0
-21
-11
-17
34
59
7
-27
-11
-29
41
0
0
0
0
0
0
0
3
6
-16
14
24
8
-40
93
-17
-4
-1
0
0
0
0
0
0
7
10
23
21
15
-49
-16
10
-75
9
0
0
0
0
0
0
0
73
-45
-22
-4
27
35
-3
-12
26
-2
0
0
0
0
0
0
0
-68
-41
35
18
6
11
-1
10
0
0
0
0
0
0
0
0
0
3
43
13
-3
5
-2
-6
6
-17
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
-14
0
1
0
0
13
0
0
0
0
0
0
0
0
0
-17
17
6
-1
0
-1
0
21
-1
0
0
0
0
0
0
0
-3
56
-50
-28
-52
1
-2
0
20
0
0
0
0
0
0
0
0
-12
9
87
-24
6
4
-3
3
6
0
0
0
0
0
0
0
0
-1
40
13
15
108
-32
-10
0
12
0
0
0
0
0
0
0
0
45
-1
8
-25
11
-42
1
-4
2
0
0
0
0
0
0
0
0
3
-8
-1
49
44
-2
4
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
0
13
0
0
0
-7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-12
-3
0
0
0
2
-37
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
2
0
0
0
0
0
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-7
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
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
3
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
-1
2
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-9
-2
-8
-7
-3
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-8
0
0
0
2
0
0
0
0
0
0
0
0
0
4
0
6
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-88
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-3
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
-9
1
-9
-22
28
-1
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
2
1
0
0
4
0
0
0
0
0
0
0
0
0
0
6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
16
6
4
0
0
0
0
0
0
0
0
0
0
0
12
2
-19
0
9
0
0
0
0
0
0
0
0
0
0
0
19
0
9
-11
9
1
4
0
0
3
0
0
0
0
0
0
0
-4
-28
0
-39
-6
-12
0
0
0
-3
0
0
0
0
0
0
0
-1
0
-13
-44
6
-3
16
0
1
0
0
0
0
0
0
0
0
0
-20
-6
-13
-16
-1
-7
-13
-1
0
0
0
0
0
0
0
0
-6
8
2
0
-11
15
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-20
-3
17
0
-9
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-2
15
-4
0
0
0
0
0
0
0
0
0
0
0
0
-28
4
9
15
39
1
0
0
0
0
0
0
0
0
0
0
6
1
-33
-100
-90
-27
-2
-6
0
35
0
0
0
0
0
0
0
-10
-39
-2
57
-22
-20
1
2
-2
0
0
0
0
0
0
0
0
-20
-9
-6
-29
72
-44
9
0
0
28
0
0
0
0
0
0
0
0
-20
6
-74
-11
11
3
0
1
0
0
0
0
0
0
0
0
-40
3
49
11
3
-10
-24
2
0
0
0
0
0
0
0
0
0
0
18
-4
5
47
-18
0
0
2
-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
-8
15
36
51
0
12
0
0
0
7
0
0
0
0
0
0
-5
-28
-18
12
-61
20
-28
0
-8
0
0
0
0
0
0
0
0
-21
-37
21
24
17
8
-28
35
-41
-59
11
0
0
0
0
0
0
0
-21
-30
29
14
-7
-59
-59
-53
-5
6
0
0
0
0
0
0
40
4
60
-19
-44
-21
-16
-37
-28
-1
0
0
0
0
0
0
0
3
54
5
-24
-49
-10
-35
26
55
-8
0
0
0
0
0
0
0
29
52
23
-16
-26
3
14
-1
-10
0
0
0
0
0
0
0
0
0
15
-14
22
9
-42
-37
6
0
1
0
0
0
0
0
0
0
0
1
38
4
-55
0
0
-16
6
0
0
0
0
0
0
0
0
0
0
40
-4
-29
39
-3
2
0
12
2
0
0
0
0
0
0
0
28
-30
-42
58
23
-31
0
-1
0
6
0
0
0
0
0
0
0
-32
4
-3
-33
-11
16
6
0
1
0
0
0
0
0
0
0
0
44
-40
13
-25
40
26
-26
-4
-30
-10
0
0
0
0
0
0
0
9
39
30
-34
74
-33
61
-23
22
-1
0
0
0
0
0
0
0
13
31
-52
-9
-43
-27
-23
27
8
0
0
0
0
0
0
0
0
-6
-43
51
-15
-31
69
46
-18
0
0
0
0
0
0
0
0
0
-53
60
0
3
-5
29
-106
3
0
0
0
0
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
15
-85
0
0
0
0
2
0
0
0
0
0
0
0
0
-8
-2
15
-11
-9
0
-3
0
19
0
0
0
0
0
0
0
0
-6
-4
23
24
-1
39
0
0
4
0
0
0
0
0
0
0
0
-4
-13
-29
-13
35
3
1
0
-4
0
0
0
0
0
0
0
0
1
32
-23
-14
-9
-14
4
7
-42
0
0
0
0
0
0
0
0
25
10
38
10
-7
6
0
-4
2
0
0
0
0
0
0
0
0
-2
7
5
-23
-7
-2
0
0
2
0
0
0
0
0
0
0
0
1
1
3
18
-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
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-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
10
1
0
0
0
0
-11
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
1
1
-39
-9
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
-19
0
33
0
15
-20
0
18
0
0
0
0
0
0
0
0
3
1
30
-9
24
0
7
0
0
0
0
0
0
0
0
0
0
0
-6
0
-82
9
2
7
0
-3
0
0
0
0
0
0
0
0
3
0
-9
0
-9
0
1
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
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-24
1
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-40
-46
-7
10
0
0
0
0
0
0
0
0
0
0
0
-17
-2
-16
10
-55
-43
0
4
-7
0
0
0
0
0
0
0
0
-10
-36
-12
40
25
50
-11
0
-12
0
0
0
0
0
0
0
0
-39
30
40
54
31
-45
-13
3
1
0
0
0
0
0
0
0
0
0
-32
12
1
-113
-47
-49
23
-22
0
0
0
0
0
0
0
0
0
0
-36
-62
45
-1
2
0
4
0
0
0
0
0
0
0
0
0
-33
0
53
-10
-12
-16
2
0
0
0
0
0
0
0
0
0
-13
1
23
-9
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
1
43
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
4
-2
-15
0
0
0
-14
0
0
0
0
0
0
0
0
0
36
-12
0
-9
-3
0
0
-7
0
0
0
0
0
0
0
0
-10
0
16
-11
-13
-1
0
3
3
0
0
0
0
0
0
0
0
0
-11
14
43
7
-23
-2
0
0
0
0
0
0
0
0
0
0
-11
0
22
0
-35
3
0
0
0
0
0
0
0
0
0
0
0
0
22
0
2
0
-22
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
1
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
-35
0
1
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
-1
-2
-10
0
0
4
0
0
0
0
0
0
0
0
-6
0
-2
0
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
1
1
-9
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
2
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
8
-7
0
-1
0
0
0
0
0
0
0
0
-6
0
-1
0
-1
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
-11
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
0
0
-18
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
2
13
0
0
0
0
0
0
0
0
0
0
0
-16
-4
8
1
6
0
3
0
0
0
0
0
0
0
0
0
-4
0
-3
0
-7
-4
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
2
0
0
0
0
0
0
0
0
0
0
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
-9
0
-36
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
1
-49
48
0
0
0
0
0
0
0
0
0
0
0
0
11
3
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-24
-3
0
0
0
0
0
0
0
0
0
9
0
0
0
-1
1
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
-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
1
0
0
-1
-3
0
52
0
-3
0
0
0
0
0
0
0
0
0
4
7
6
0
63
0
13
0
2
0
0
0
0
0
0
-10
0
0
-3
-8
28
2
-15
0
-1
0
0
0
0
0
0
0
0
0
1
1
-4
2
-3
39
0
0
0
0
0
0
0
0
0
9
-2
0
0
2
6
-21
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
15
-3
4
88
10
0
1
0
-5
0
0
0
0
0
0
0
23
-43
12
-37
12
19
32
-2
-33
0
0
0
0
0
0
0
0
11
-4
-22
42
42
21
18
18
7
-16
0
0
0
0
0
0
0
-9
0
15
-11
-29
18
-35
12
7
-3
0
0
0
0
0
0
0
9
7
7
-47
-21
-39
29
0
-15
0
0
0
0
0
0
0
0
-35
0
2
25
-22
17
-67
14
-7
2
0
0
0
0
0
0
0
2
0
1
11
10
-11
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-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
18
14
0
6
29
0
0
0
0
0
0
0
0
0
19
-1
-1
-25
-18
15
37
0
-3
0
0
0
0
0
0
0
0
-3
2
-17
15
10
-3
1
2
4
0
0
0
0
0
0
0
0
-4
0
-3
-9
27
-3
19
2
-1
0
0
0
0
0
0
0
0
-5
0
-6
-27
-24
0
1
0
-8
0
0
0
0
0
0
0
0
-3
0
0
1
0
6
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-13
0
22
17
-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
-8
0
-1
-2
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
7
-1
15
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-14
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-8
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
0
0
0
-2
0
0
0
0
0
0
0
-3
2
0
0
2
-9
-49
-29
9
0
0
0
0
0
0
0
0
0
0
0
7
-4
22
2
13
-7
0
0
0
0
0
0
0
0
0
0
0
3
-2
44
-8
-12
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
6
11
-4
-2
0
0
0
0
0
0
0
0
0
0
0
-6
41
-47
13
-10
-15
-1
0
0
0
0
0
0
0
0
0
0
3
4
-6
-2
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
22
0
0
0
0
0
0
0
0
0
0
-11
0
-7
-39
0
-5
25
-11
4
0
0
0
0
0
0
0
0
2
0
-2
-2
-32
-4
-18
-3
0
0
0
0
0
0
0
0
0
0
4
0
-22
15
44
-1
1
0
0
0
0
0
0
0
0
0
-2
0
0
12
0
0
13
3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-1
-2
11
0
-6
21
10
-51
0
1
0
0
0
0
0
0
1
0
-1
0
0
-27
18
24
17
0
0
0
0
0
0
0
0
0
0
0
1
18
-10
-16
-9
-11
-6
0
0
0
0
0
0
0
0
-1
0
0
-8
-3
-47
-3
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
16
0
6
0
0
0
0
0
0
0
0
1
0
4
18
-4
-28
-9
-31
15
0
0
0
0
0
0
0
6
9
16
3
3
-12
-36
-17
25
-3
0
0
0
0
0
0
0
-9
-4
7
5
-25
2
11
-10
12
0
-2
0
0
0
0
0
0
-4
-2
3
-1
6
-3
4
17
-18
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
-8
-11
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
13
13
-8
0
-57
-15
0
6
1
0
0
0
0
0
0
-20
-36
6
-27
35
58
-16
18
44
-8
-9
0
0
0
0
0
0
-2
7
11
13
6
-17
-46
20
0
-1
0
0
0
0
0
0
0
5
-2
-15
55
-26
-27
-19
11
51
1
-4
0
0
0
0
0
0
-2
1
2
-7
-37
0
6
22
-30
0
0
0
0
0
0
0
0
-5
0
0
4
12
-56
-6
38
11
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-1
6
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
6
24
36
11
0
-42
11
0
-1
0
0
0
0
0
0
16
-8
110
13
-53
55
-5
-3
3
-1
1
0
0
0
0
0
0
-59
-6
-22
-45
54
-17
-8
29
-26
-5
0
1
0
0
0
0
0
-14
-3
71
27
-11
-2
-24
-8
-24
0
0
0
0
0
0
0
0
-15
44
-30
-5
-28
-19
-91
-46
37
1
0
1
0
0
0
0
0
-4
8
10
-23
4
-84
-56
3
9
-6
5
0
0
0
0
0
0
9
-4
-2
53
-53
14
29
-74
-8
0
0
0
0
0
0
0
0
0
-2
0
0
-3
-5
-13
-12
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-3
0
0
0
0
0
0
0
0
0
0
29
10
-24
-6
-18
0
-1
0
-2
0
0
0
0
0
0
0
0
13
11
3
-22
-34
13
8
-6
2
-10
0
0
0
0
0
0
0
8
-6
-48
-4
55
58
-1
-52
-6
0
0
0
0
0
0
0
0
-11
-21
-8
-38
-10
-69
-47
-40
-13
0
0
0
0
0
0
0
0
5
-2
6
-28
19
-40
-3
-9
10
-1
0
0
0
0
0
0
0
14
0
-2
-27
0
4
-21
0
1
0
0
-1
0
0
0
0
0
-9
0
2
0
-7
40
10
3
6
0
0
0
0
0
0
0
0
0
0
0
-6
2
-8
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
-5
6
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
-1
-1
3
-6
12
-1
-6
0
0
0
0
0
0
0
0
0
-2
-1
0
-3
1
-26
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-2
15
-1
0
0
0
0
0
0
0
0
0
0
0
6
0
3
-1
7
-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
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
6
2
24
4
0
0
0
0
0
0
0
0
0
9
0
0
-18
-54
39
9
-47
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
13
38
-20
0
0
0
0
0
0
0
0
0
0
0
6
-64
60
-11
0
-4
-1
0
0
0
0
0
0
0
0
0
0
-2
-7
26
18
21
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
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
-8
67
34
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
32
-28
-28
3
1
2
0
0
0
0
0
0
1
1
0
0
8
-18
-20
-18
3
0
0
0
0
0
0
0
0
0
0
1
-1
17
-8
3
-12
6
0
0
0
0
0
0
0
0
1
-1
0
1
-32
-5
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
7
-10
0
3
85
-5
0
-2
0
0
0
0
0
0
0
-2
2
-3
-4
9
-30
-43
15
-10
-8
0
0
0
0
0
0
0
-4
0
-1
0
27
-12
-4
56
17
0
0
0
0
0
0
0
0
1
0
0
-1
1
-10
-25
38
1
0
0
0
0
0
0
0
0
0
4
-3
2
-7
7
41
-12
-3
2
0
0
0
0
0
0
0
0
-3
0
2
0
-41
-8
54
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
-7
-9
-6
-25
0
27
0
0
0
0
0
0
0
0
-1
2
-13
-20
26
-27
11
-40
3
0
0
0
0
0
0
0
-4
0
1
0
0
-15
-66
-34
-13
-15
0
0
0
0
0
0
0
-3
-6
-2
-2
7
-20
-29
16
12
0
0
0
0
0
0
0
0
0
0
0
0
13
-3
13
-6
56
0
0
0
0
0
0
0
0
0
0
9
0
-3
-19
-3
0
-9
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
-9
0
0
0
0
0
0
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
-102
7
7
0
17
0
0
0
0
0
0
0
-35
-1
1
-3
-15
-18
-43
-64
-26
8
0
0
0
0
0
0
0
-2
-2
-4
17
-18
0
-44
30
-9
4
4
0
0
0
0
0
0
0
4
-12
7
2
-14
8
2
1
0
-2
0
0
0
0
0
0
-3
-1
1
-8
16
-12
33
1
-42
-1
1
0
0
0
0
0
0
4
0
0
-2
7
-27
26
-20
0
8
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
0
0
0
0
0
0
0
0
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
-17
-7
2
-48
50
65
0
30
-1
0
0
0
0
0
0
14
1
-9
5
11
6
0
101
34
53
-7
0
0
0
0
0
0
-9
-50
-2
-50
8
27
-16
-17
-10
32
1
0
0
0
0
0
0
23
-5
1
-36
-66
10
-34
-16
-19
8
0
0
0
0
0
0
0
-20
-29
-4
9
-40
81
64
17
98
0
-3
0
0
0
0
0
0
0
0
3
12
-14
42
-5
80
0
18
1
0
0
0
0
0
0
0
0
1
0
-4
-33
55
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-84
-10
-44
-24
5
-26
-31
0
-5
3
0
2
0
0
0
0
-33
-27
14
-42
-36
29
-31
-59
80
59
-22
0
0
0
0
0
0
-51
40
-77
-83
8
11
-42
-58
-7
-23
1
0
0
0
0
0
0
-32
8
16
30
33
-20
-8
2
9
6
-1
0
0
0
0
0
0
17
0
84
-15
-66
94
21
0
12
3
-2
0
0
0
0
0
0
0
11
-9
42
-7
103
19
-25
148
20
-8
0
0
0
0
0
0
0
0
-1
-1
-44
41
-30
-61
3
-4
0
0
0
0
0
0
0
0
0
0
-1
0
-19
-7
-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
-13
15
-54
-11
-43
-28
45
-5
0
22
3
-8
0
0
0
0
0
-50
58
-23
22
-32
-19
-29
56
27
0
-57
-4
0
0
0
0
0
18
21
-39
35
27
-11
18
-42
-93
-80
17
14
0
0
0
0
0
10
-101
15
-2
-49
-17
5
-39
49
19
-28
0
0
0
0
0
0
-40
7
-24
2
8
-32
65
11
-29
-57
-4
-4
1
0
0
0
0
11
2
-20
-20
-41
-7
-43
-3
17
-3
2
0
0
0
0
0
0
-8
3
12
1
28
-4
-27
33
-17
-2
-1
0
0
0
0
0
0
0
0
0
-1
-4
98
-35
-45
-4
3
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
19
-42
-68
79
-16
-11
56
0
19
-34
-3
0
0
0
0
0
0
4
2
-4
6
40
-17
39
52
-37
-40
17
0
0
0
0
0
0
-41
-36
43
53
-6
16
-31
10
-53
-37
2
0
0
0
0
0
0
-24
3
-22
3
-20
-53
18
-47
-26
0
-13
0
0
0
0
0
0
-77
-38
-40
13
-66
-22
30
-15
-1
42
0
1
0
0
0
0
0
48
-2
-12
-53
-29
31
21
39
85
-20
0
0
0
0
0
0
0
12
-19
-8
15
-37
-3
-23
10
1
0
0
-1
0
0
0
0
0
0
0
0
0
-5
24
57
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-1
0
0
0
0
0
0
0
0
0
0
44
-8
24
7
-4
59
0
36
-42
0
0
0
0
0
0
0
0
-30
7
5
-46
10
12
10
64
30
-1
1
0
0
0
0
0
0
34
5
-4
26
33
-4
13
1
-22
30
0
0
0
0
0
0
0
33
-3
-55
-3
-4
41
-5
-18
-35
-3
6
0
0
0
0
0
0
-17
44
-2
10
-23
54
28
-12
7
-3
0
0
0
0
0
0
0
15
-3
16
100
-41
28
-19
-71
1
0
0
0
0
0
0
0
0
0
0
0
-3
-2
14
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-7
37
0
-35
6
7
0
0
0
0
0
0
0
0
1
21
-4
33
31
-35
3
-41
21
0
-1
0
0
0
0
0
0
6
-3
2
19
-1
-8
-3
-41
0
1
0
0
0
0
0
0
0
-2
0
1
19
29
15
-4
0
8
0
0
0
0
0
0
0
0
0
0
-1
29
3
-46
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
1
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
4
0
8
0
1
0
0
0
0
0
0
0
0
0
0
3
2
3
-1
15
13
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
4
-1
1
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
-3
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-16
0
2
-13
0
0
0
0
0
0
0
0
0
1
7
0
8
-64
-19
-41
-16
10
0
0
0
0
0
0
0
0
0
-1
0
0
-42
-1
-8
-19
16
15
0
0
0
0
0
0
0
0
0
0
10
-6
0
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
2
26
-22
0
0
0
0
0
0
0
0
-1
0
0
-1
-3
8
7
20
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
-8
0
-3
-1
4
-30
47
-40
20
7
0
0
0
0
0
0
0
0
0
0
0
-26
-3
-47
18
-59
-2
0
0
0
0
0
0
0
2
0
0
0
-7
2
11
3
-1
2
0
0
0
0
0
0
0
0
0
2
0
-17
17
-8
-7
-7
0
0
0
0
0
0
0
0
0
0
0
9
-24
11
4
9
4
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
24
0
-11
11
-8
62
44
0
-35
0
0
0
0
0
0
0
1
4
-4
2
-13
-13
34
27
17
16
-3
0
0
0
0
0
0
-3
1
0
-6
7
9
12
-4
13
2
0
0
0
0
0
0
0
0
1
0
0
-11
6
11
-4
-1
0
0
0
0
0
0
0
0
0
0
4
-6
-1
27
33
44
0
-2
0
0
0
0
0
0
0
0
0
-4
2
-2
-8
-33
55
2
0
0
0
0
0
0
0
0
0
0
0
0
-11
2
1
-30
-1
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
0
0
0
0
0
0
0
0
0
0
-6
0
-12
3
-4
47
80
29
0
-46
2
0
0
0
0
0
0
47
-2
3
-37
-52
-4
28
-40
-52
10
2
0
0
0
0
0
0
6
-13
-12
-1
-32
11
-28
3
-42
6
3
0
0
0
0
0
0
0
-1
19
-5
-1
-2
19
-44
29
0
0
0
0
0
0
0
0
16
-2
1
1
30
0
-9
-7
47
6
0
0
0
0
0
0
0
0
0
11
0
1
5
1
-11
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-35
1
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
0
13
38
-21
5
-47
0
33
0
0
0
0
0
0
0
-43
28
-1
-10
24
59
53
72
37
-24
-28
2
0
0
0
0
0
16
-67
-32
14
-1
-12
-6
37
15
-1
1
0
0
0
0
0
0
8
0
-18
-9
-59
0
-39
13
-43
3
0
0
0
0
0
0
0
-1
-40
7
-32
0
10
14
16
10
-8
0
0
0
0
0
0
0
0
0
6
3
-37
23
5
16
-12
-1
0
0
0
0
0
0
0
0
0
1
4
-10
-15
-23
-11
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-2
7
0
-38
-2
19
24
0
30
6
0
0
0
0
0
0
-23
-55
-68
-3
26
19
-55
13
-59
-3
-7
0
0
0
0
0
0
-44
-28
-19
58
0
-7
44
-12
-15
20
0
0
0
0
0
0
0
6
68
4
-27
-12
15
-12
16
-21
-62
1
0
0
0
0
0
0
15
-20
22
3
27
-2
13
0
74
0
3
0
0
0
0
0
0
0
3
-8
14
19
-28
-13
-14
0
-1
0
0
0
0
0
0
0
0
-3
-1
0
-23
8
34
0
-34
3
0
0
0
0
0
0
0
0
-10
0
19
0
8
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-25
7
-67
-15
27
22
-8
0
-21
38
0
0
0
0
0
0
-55
-17
23
-3
-10
28
-69
-27
-15
13
29
0
0
0
0
0
0
6
-3
23
-78
-9
-80
16
-38
-60
-3
-17
0
0
0
0
0
0
17
-40
-29
-26
15
-63
-34
-10
-4
2
0
0
0
0
0
0
0
9
-45
-13
-49
-2
8
-6
-32
1
6
0
-6
0
0
0
0
0
0
-20
-15
29
-36
2
8
-37
-62
3
-2
0
0
0
0
0
0
0
-38
2
10
-1
-38
-4
29
30
6
0
0
0
0
0
0
0
0
0
0
0
0
7
5
-10
44
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
-13
13
-34
46
-106
9
37
-7
0
-17
-47
0
0
0
0
0
0
11
-46
28
-21
-67
24
37
-9
-15
3
-47
-17
0
0
0
0
0
-53
-35
67
24
-2
-14
11
-107
47
0
-33
0
0
0
0
0
0
46
0
11
-22
-5
33
-67
3
-23
15
-3
0
0
0
0
0
0
18
37
10
32
-16
-21
-15
-13
-3
2
-10
0
0
0
0
0
0
-12
18
-5
3
22
15
9
54
12
23
0
0
0
0
0
0
0
-2
-6
65
44
30
-13
-38
29
5
2
6
0
0
0
0
0
0
0
0
-1
8
-2
38
47
-51
-8
2
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
-67
8
-24
4
-27
2
11
0
-31
12
4
0
0
0
0
0
0
44
15
18
-23
18
16
1
5
-18
10
-16
0
0
0
0
0
0
21
-33
-33
-8
-7
8
44
74
-6
-22
8
0
0
0
0
0
0
63
-2
-47
-16
-2
-65
-5
-21
22
27
10
1
0
0
0
0
0
26
-34
50
-34
3
47
28
-4
-50
0
7
0
0
0
0
0
0
27
22
-47
-1
-35
-47
7
2
-63
-10
-2
0
0
0
0
0
0
-9
-7
-4
16
-54
-28
-31
13
24
0
0
0
0
0
0
0
0
1
1
-1
0
-26
-71
-1
4
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
6
2
2
0
0
0
0
0
0
0
0
0
-10
51
18
-5
-9
29
0
-58
46
-2
0
0
0
0
0
0
0
20
8
11
-75
43
35
-7
25
42
-6
0
0
0
0
0
0
0
-2
19
-28
-55
8
-18
-28
3
-32
1
-1
0
0
0
0
0
0
2
-3
-2
15
-1
-6
-56
-31
0
1
0
0
0
0
0
0
0
9
-4
3
36
-59
-37
83
-4
1
0
0
0
0
0
0
0
0
4
0
-10
16
25
12
25
24
-4
0
0
0
0
0
0
0
0
-1
0
0
-10
3
-24
-16
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
5
-5
0
-12
-37
-8
0
0
0
0
0
0
0
0
8
-2
2
7
3
-22
7
-8
-2
1
0
0
0
0
0
0
0
10
6
0
-42
12
19
7
3
-6
0
0
0
0
0
0
0
0
2
-6
0
1
0
1
-11
-23
0
0
0
0
0
0
0
0
0
1
1
1
2
0
34
8
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
4
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
4
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
4
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
36
44
-41
9
0
0
0
0
0
0
0
0
0
-2
0
0
2
-4
0
-28
9
0
0
0
0
0
0
0
0
0
10
0
24
-26
-4
0
42
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-6
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
-2
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
24
-9
1
0
0
0
0
0
0
0
0
0
0
-18
0
-3
-26
-6
13
0
30
-1
0
0
0
0
0
0
0
1
-2
-1
18
6
-25
42
0
30
-6
0
0
0
0
0
0
0
0
0
-3
0
-10
25
-19
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
33
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
-25
47
0
-9
0
0
0
0
0
0
0
0
0
0
1
0
-2
-15
0
-29
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
2
1
28
-2
-22
-16
0
0
0
0
0
0
0
0
0
0
-25
-2
-8
-40
5
21
-33
29
40
0
0
0
0
0
0
0
0
2
0
-2
10
17
33
16
-28
-1
0
0
0
0
0
0
0
18
0
0
2
7
3
-58
39
-12
12
0
0
0
0
0
0
0
0
-8
-1
0
16
10
-16
-3
28
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-34
80
8
0
0
0
0
0
0
0
0
0
3
0
0
-3
-30
2
12
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
-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
-6
-28
25
7
0
-20
1
0
0
0
0
0
0
1
24
8
28
21
-52
15
-35
28
3
0
0
0
0
0
0
0
0
-15
9
10
15
35
-13
33
53
-4
0
0
0
0
0
0
0
-3
-1
3
0
0
-3
-15
-84
9
0
0
0
0
0
0
0
0
0
-2
-41
8
0
3
7
7
28
0
0
0
0
0
0
0
0
0
3
-3
0
12
0
36
10
39
-6
0
0
0
0
0
0
0
0
-8
0
0
-6
-27
29
8
16
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
15
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
-1
-6
12
2
-13
-2
8
-41
0
0
0
0
0
0
0
0
0
-1
38
3
19
19
5
25
-49
27
3
-6
0
0
0
0
0
0
6
2
-32
-10
13
30
-26
-13
8
20
0
0
0
0
0
0
0
15
-3
-12
-26
0
30
-7
57
-38
-39
0
0
0
0
0
0
0
-2
1
0
4
-18
0
9
-7
57
-24
0
0
0
0
0
0
0
0
-37
-19
-17
0
-11
0
2
-47
3
0
0
0
0
0
0
0
0
0
0
4
-27
0
37
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
4
47
6
-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
-12
8
-19
-18
45
-41
8
-29
0
-39
0
0
0
0
0
0
0
-12
46
-17
-91
38
38
24
-13
23
20
0
-3
0
0
0
0
0
42
19
12
2
35
32
68
-48
36
-48
-13
0
0
0
0
0
0
37
-7
11
-4
-13
10
11
-12
-24
-22
0
0
0
0
0
0
0
3
-4
-2
9
-27
-2
0
13
6
3
0
0
0
0
0
0
0
0
8
0
-22
19
0
14
-3
33
-2
0
0
0
0
0
0
0
-5
2
42
-16
44
-11
-42
-55
1
0
0
0
0
0
0
0
0
0
4
-4
0
1
12
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-2
0
0
0
0
0
0
0
0
-6
-19
28
8
8
57
-12
-42
0
-27
-2
0
0
0
0
0
0
-33
-79
-58
10
14
31
-4
-42
9
47
-29
4
0
0
0
0
0
8
48
-46
38
-20
17
-26
-31
-28
14
1
0
0
0
0
0
0
28
5
-51
-17
25
16
-11
32
-42
0
0
0
0
0
0
0
0
-15
-25
-23
76
18
59
7
0
9
3
0
0
0
0
0
0
0
-1
55
0
-24
2
-31
-10
-11
0
4
0
0
0
0
0
0
0
0
-7
7
98
14
-4
-43
-19
-40
0
0
0
0
0
0
0
0
0
-17
0
29
12
-2
22
-45
-18
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
-3
28
-73
87
3
44
26
-55
0
-10
0
1
0
0
0
0
0
17
-29
-38
-39
-3
43
25
6
58
-11
23
9
0
0
0
0
0
-22
42
9
1
-55
-9
66
-8
34
-48
0
1
0
0
0
0
0
-13
21
46
46
-50
9
-7
-77
-13
2
20
-9
0
0
0
0
0
-5
17
7
-36
-28
-35
4
-3
3
-47
0
0
0
0
0
0
0
43
56
6
-49
-19
-17
-18
-8
6
0
-3
0
0
0
0
0
0
-3
3
-10
-50
-75
-60
38
-31
-64
-43
0
0
0
0
0
0
0
0
-13
0
37
-8
-37
7
24
-8
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
-64
-10
0
0
0
0
0
0
0
0
0
0
-37
-7
17
23
10
29
57
0
-1
-5
-2
0
0
0
0
0
0
-14
32
19
-26
-3
-27
22
-3
-65
20
0
0
0
0
0
0
0
22
-35
-75
62
-3
-33
36
54
-6
-25
3
0
0
0
0
0
0
3
-21
43
-36
-37
-29
41
-18
-13
3
0
0
0
0
0
0
0
11
-25
-72
-51
-5
57
1
-20
0
7
0
0
0
0
0
0
0
11
1
29
-70
18
-21
45
2
3
0
0
0
0
0
0
0
0
0
-73
0
-17
16
92
28
21
22
2
0
0
0
0
0
0
0
0
3
17
2
14
6
-22
-24
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
9
0
8
3
5
-5
0
23
9
-18
0
0
0
0
0
0
0
0
-8
-19
22
44
-21
12
47
-54
9
10
0
0
0
0
0
0
13
26
-1
98
36
-18
41
-51
1
2
0
0
0
0
0
0
0
0
8
0
4
-3
74
-77
-4
3
0
0
0
0
0
0
0
0
26
2
2
-6
9
-2
-28
-3
0
0
0
0
0
0
0
0
0
0
0
0
45
-24
32
-25
0
-9
0
0
0
0
0
0
0
0
0
0
0
-3
15
25
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
1
0
-25
2
0
17
-5
-4
0
0
0
0
0
0
0
0
-6
-1
0
16
6
-22
22
6
16
0
0
0
0
0
0
0
0
6
-4
-3
3
0
-13
-3
9
-7
0
0
0
0
0
0
0
0
6
-2
4
-4
-12
-1
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-11
0
1
9
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
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
2
0
0
0
0
-9
-11
19
0
0
0
0
0
0
0
0
0
0
0
1
1
11
1
-1
19
0
0
0
0
0
0
0
0
0
0
0
-3
11
-8
2
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
-6
17
4
-27
0
0
0
0
0
0
0
0
0
4
0
-4
-19
-3
21
15
-10
0
0
0
0
0
0
0
0
-1
3
-2
-22
3
-7
24
16
-2
1
0
0
0
0
0
0
0
0
0
-1
0
-6
0
32
12
10
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
-3
-11
-4
2
0
0
0
0
0
0
0
0
0
0
8
0
6
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
-7
0
0
-1
0
0
0
0
0
0
0
4
-9
0
7
-2
-43
-16
0
66
22
0
0
0
0
0
0
0
10
1
0
-4
-28
-49
4
78
-68
4
0
0
0
0
0
0
0
1
7
0
1
-34
-29
-8
47
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-7
1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
-3
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-7
-16
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
37
-13
39
25
0
-1
-7
0
0
0
0
0
0
0
-39
5
-8
-18
62
-4
21
5
21
-3
0
0
0
0
0
0
0
19
14
18
9
2
0
-19
19
-1
0
0
0
0
0
0
0
0
11
35
39
19
-57
47
169
-56
19
0
0
0
0
0
0
0
9
1
8
0
-28
-2
-12
18
-5
0
0
0
0
0
0
0
0
0
6
1
-7
0
28
13
-9
0
0
0
0
0
0
0
0
0
0
1
0
0
-16
0
-23
-19
11
1
0
0
0
0
0
0
0
0
0
-1
-1
0
-9
0
-13
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
-4
8
-8
-25
17
-45
0
-65
0
0
0
0
0
0
0
0
-5
13
11
-24
16
-5
0
-2
-18
0
0
0
0
0
0
0
3
56
0
1
-17
73
-5
-41
26
28
0
0
0
0
0
0
0
-4
16
7
18
19
-56
-33
-9
-29
41
2
0
0
0
0
0
0
0
-12
27
-32
-10
-28
0
-40
-64
-3
0
0
0
0
0
0
0
0
3
-11
1
-25
0
11
2
-7
0
0
0
0
0
0
0
0
0
0
6
-10
0
21
0
26
10
0
0
0
0
0
0
0
0
0
0
6
0
0
22
-10
1
-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
6
1
4
7
-36
9
8
-52
0
-38
3
0
0
0
0
0
0
0
6
0
5
56
-26
5
-42
73
-46
2
0
0
0
0
0
0
28
-3
0
-30
31
45
-52
9
5
0
-1
0
0
0
0
0
0
30
-30
11
69
-23
56
-47
39
13
10
-2
0
0
0
0
0
0
-19
-22
-10
-58
-6
1
-38
0
-35
0
0
0
0
0
0
0
0
-2
-43
-27
-4
-37
-29
0
26
-8
-6
0
0
0
0
0
0
0
-8
8
9
-4
-4
9
12
0
-68
-2
0
0
0
0
0
0
0
0
-4
0
-41
-8
-2
3
18
0
15
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
65
16
-1
6
0
26
-33
0
2
8
0
0
0
0
0
0
-39
-27
-42
-6
17
-2
-6
-18
74
-39
21
0
0
0
0
0
0
21
-9
-19
15
-38
-15
6
-25
-10
41
0
0
0
0
0
0
0
42
-16
2
-35
6
-34
0
-42
0
6
0
0
0
0
0
0
0
3
-20
-32
-6
-18
3
-35
-15
3
-32
0
0
0
0
0
0
0
0
-22
7
37
-35
37
-23
0
24
3
0
0
0
0
0
0
0
0
-3
2
-20
-51
3
0
-40
-2
-1
0
0
0
0
0
0
0
0
-1
-12
-30
15
19
4
15
-28
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
36
1
-39
-31
27
-15
1
37
0
-14
-4
0
0
0
0
0
0
16
29
-34
50
11
-50
23
26
35
16
5
18
0
0
0
0
0
10
-21
13
33
-30
62
37
-15
-11
-3
-8
0
0
0
0
0
0
-94
-76
18
-18
22
-52
-13
75
-32
-68
0
0
0
0
0
0
0
-13
23
23
15
24
-16
-9
1
-43
0
0
0
0
0
0
0
0
-1
-7
38
-47
23
-6
-17
1
0
-15
0
0
0
0
0
0
0
-8
6
-52
-72
-7
31
14
1
8
0
0
0
0
0
0
0
0
-19
2
14
-18
-22
-10
-34
1
16
-21
0
0
0
0
0
0
0
0
0
0
-13
3
-3
-26
1
-1
0
0
0
0
0
0
0
0
0
-41
-8
59
18
-41
-5
43
0
2
-39
1
0
0
0
0
0
0
-35
-43
-5
-41
-2
-16
2
23
49
1
-3
0
0
0
0
0
0
-24
-28
-22
14
-3
18
-7
48
-47
-11
0
0
0
0
0
0
0
-27
-43
52
-63
3
-6
25
40
-31
-1
0
0
0
0
0
0
0
34
-7
63
-31
23
32
44
-21
17
0
0
0
0
0
0
0
0
40
-40
-10
-5
36
70
19
62
0
1
0
0
0
0
0
0
0
-33
-33
-34
3
-56
29
49
-6
-19
0
0
0
0
0
0
0
0
-6
-15
-18
26
-46
3
16
-57
-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
21
0
23
-9
53
15
0
13
-4
0
0
0
0
0
0
0
0
-15
9
52
37
12
16
-3
-10
5
0
0
0
0
0
0
0
0
-12
-9
6
-43
3
5
43
-17
-3
0
0
0
0
0
0
0
0
8
13
0
8
-35
29
-24
-26
0
0
0
0
0
0
0
0
0
-6
0
4
-20
-44
0
-59
0
-4
0
0
0
0
0
0
0
0
-2
0
0
-1
-1
-50
7
-1
0
0
0
0
0
0
0
0
0
1
0
0
17
24
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
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
-2
0
0
7
-14
-2
0
0
0
0
0
0
0
0
0
-1
0
-14
-8
-5
3
30
-2
-2
0
0
0
0
0
0
0
2
-6
0
-5
-2
1
-7
-1
0
0
0
0
0
0
0
0
0
-1
4
0
4
16
-1
-8
0
0
0
0
0
0
0
0
0
0
-11
2
0
0
8
6
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
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
4
1
44
1
47
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
-18
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
-1
0
0
0
-18
0
29
24
-7
0
0
0
0
0
0
0
0
0
0
0
3
0
39
-27
13
0
0
0
0
0
0
0
0
-4
0
0
-3
-10
15
2
32
1
11
0
0
0
0
0
0
0
0
18
1
-2
3
-9
-15
-6
18
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
0
-16
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
-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
-6
0
-7
3
0
-1
0
0
0
0
0
0
0
0
1
2
0
0
1
2
53
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-8
17
-32
7
7
0
0
0
0
0
0
0
0
0
-12
-7
13
-21
6
37
15
-13
0
0
0
0
0
0
0
0
-2
-1
0
-11
2
2
1
32
0
0
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
0
0
0
-9
0
0
0
0
0
0
0
0
0
2
0
-7
0
-8
-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
-4
0
10
-39
-7
0
0
0
0
0
0
0
0
0
0
-10
0
0
7
20
37
-44
-1
-2
-1
0
0
0
0
0
0
0
2
0
0
15
-3
-44
7
12
-13
0
0
0
0
0
0
0
3
1
-1
-5
0
3
-19
-12
15
0
0
0
0
0
0
0
0
-1
-1
-8
-15
-32
6
-11
4
1
0
0
0
0
0
0
0
0
0
0
-9
0
0
-2
3
0
10
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
3
-7
-15
-1
16
0
-1
0
0
0
0
0
0
0
0
-19
-1
0
30
9
33
-27
-51
27
0
0
0
0
0
0
0
0
10
0
-1
-19
-12
38
21
8
-3
0
0
0
0
0
0
0
-10
0
8
-1
2
-14
29
25
1
-13
0
0
0
0
0
0
0
0
-9
-2
0
6
6
-18
6
33
0
0
0
0
0
0
0
0
0
7
0
-28
0
11
0
55
4
-1
0
0
0
0
0
0
0
0
0
1
0
7
0
-9
-1
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
-12
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
4
-46
33
0
4
0
0
0
0
0
0
0
0
4
-1
-19
54
-72
-25
28
47
47
1
0
0
0
0
0
0
-1
12
9
62
-49
14
87
-44
-19
-47
0
0
0
0
0
0
0
-1
-2
7
86
1
24
-4
30
16
1
0
0
0
0
0
0
0
0
15
0
-6
-29
-27
5
6
0
0
0
0
0
0
0
0
0
-10
7
-9
12
21
1
7
0
10
-2
0
0
0
0
0
0
0
0
-19
0
0
-2
-4
0
-12
1
0
0
0
0
0
0
0
0
0
13
0
-3
2
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
4
64
-18
-4
-4
0
-24
-4
0
0
0
0
0
0
-5
42
10
29
-10
10
22
67
-32
3
-1
0
0
0
0
0
0
7
-19
5
-34
4
-35
-37
29
93
11
-1
0
0
0
0
0
0
50
65
11
-6
40
15
8
-24
11
-11
0
0
0
0
0
0
0
-11
-53
-10
8
65
1
37
-89
12
1
-1
0
0
0
0
0
0
0
22
35
4
-44
23
0
22
-1
-1
0
0
0
0
0
0
0
0
7
-18
4
-47
-30
-24
0
-25
0
0
0
0
0
0
0
0
0
4
-1
-3
-27
-59
2
21
0
16
0
0
0
0
0
0
0
0
0
0
7
0
0
24
12
0
0
0
0
0
0
0
0
0
-24
15
-47
4
2
-35
-15
-55
0
-20
1
0
0
0
0
0
0
-21
-25
-5
-33
-18
56
77
24
48
4
-31
0
0
0
0
0
0
19
-40
-60
-4
-21
-8
24
47
7
4
7
0
0
0
0
0
0
25
-5
-53
-20
10
-12
20
12
29
31
1
0
0
0
0
0
0
35
2
3
65
21
-37
36
-2
-25
5
0
0
0
0
0
0
0
-39
-22
-55
-25
6
33
-28
-7
-53
0
-1
0
0
0
0
0
0
3
16
0
-10
48
-37
33
18
0
-7
0
0
0
0
0
0
0
0
-2
-3
8
4
-57
28
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
1
6
2
0
0
0
0
0
0
0
0
0
63
32
37
-45
57
18
-28
0
19
-37
0
0
0
0
0
0
0
-31
-7
72
-3
-12
47
-3
59
43
-46
2
0
0
0
0
0
0
-21
-5
13
6
14
42
38
29
17
-1
0
0
0
0
0
0
0
11
-11
-63
-16
9
45
51
28
34
16
0
0
0
0
0
0
0
-2
-9
0
-48
81
15
26
70
-20
0
0
0
0
0
0
0
0
22
0
2
-22
60
52
-16
3
-82
0
0
0
0
0
0
0
0
-3
30
-16
7
4
71
-21
37
0
0
0
0
0
0
0
0
0
-2
2
-2
15
-12
8
-29
2
23
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
0
0
0
0
0
0
0
0
0
-3
16
0
21
20
-30
0
95
-15
0
0
0
0
0
0
0
0
37
7
2
17
35
2
-12
20
25
0
0
0
0
0
0
0
0
20
-4
-2
24
12
3
19
-3
17
0
0
0
0
0
0
0
0
7
3
34
-22
39
10
45
67
21
0
0
0
0
0
0
0
0
29
-3
0
-59
-30
0
-1
29
0
0
0
0
0
0
0
0
0
-7
-2
0
-22
41
-39
20
-1
4
0
0
0
0
0
0
0
0
0
0
3
-8
11
3
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
7
0
1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-9
7
6
6
0
0
0
0
0
0
0
0
2
0
0
1
2
21
1
-3
9
0
0
0
0
0
0
0
0
0
0
-2
6
6
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
4
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
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
0
0
0
0
0
0
0
0
0
0
0
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
9
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
0
0
-1
0
-3
1
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
15
0
0
0
0
0
0
0
0
0
0
-1
0
0
6
0
32
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-25
0
0
0
0
0
0
0
0
0
0
2
0
0
15
2
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-6
-6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
21
-39
0
0
0
0
0
0
0
0
-4
0
3
0
0
-2
-4
12
10
0
0
0
0
0
0
0
0
0
-1
-1
0
-2
-19
-37
-2
0
0
0
0
0
0
0
0
0
0
-6
-6
0
0
11
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
-22
-4
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-32
-18
-11
0
-13
0
0
0
0
0
0
0
0
-3
0
0
8
-7
-19
-11
36
38
0
0
0
0
0
0
0
-7
-7
0
-7
-1
-26
1
23
1
-17
0
0
0
0
0
0
0
0
1
6
0
-10
27
-37
-16
57
0
0
0
0
0
0
0
0
7
3
24
-1
-9
9
-7
18
16
0
0
0
0
0
0
0
0
0
6
1
0
16
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-8
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
10
-52
8
0
0
0
0
0
0
0
0
0
0
22
-1
-17
-15
-6
64
-49
-44
-1
0
0
0
0
0
0
0
11
29
-1
40
-71
22
38
13
-112
20
0
0
0
0
0
0
0
64
10
0
25
-57
-1
34
-9
-39
-8
0
0
0
0
0
0
0
-1
-20
-5
-23
6
-6
91
30
-5
0
0
0
0
0
0
0
0
-3
-8
-12
33
-113
54
2
17
-19
0
0
0
0
0
0
0
0
12
12
16
8
65
-48
-2
6
0
0
0
0
0
0
0
0
0
0
11
0
1
-1
-73
24
0
8
0
0
0
0
0
0
0
0
0
0
4
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
3
-8
8
-28
-14
-44
-78
43
0
13
0
0
0
0
0
0
0
-1
-39
7
12
-3
16
-22
-52
21
27
8
0
0
0
0
0
0
81
5
22
28
-80
15
12
45
-11
-42
1
0
0
0
0
0
0
3
-5
-2
-17
-16
26
-59
50
13
-29
-3
0
0
0
0
0
0
65
-33
18
-2
22
48
8
61
8
-1
-6
0
0
0
0
0
0
-35
-5
51
-23
-29
1
-1
49
12
29
0
0
0
0
0
0
0
-14
3
-41
50
-31
-1
16
0
28
0
0
0
0
0
0
0
0
11
-2
-4
-26
-22
-46
-52
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
17
-6
0
0
0
0
0
0
0
0
0
0
0
3
-2
36
28
46
41
29
0
-16
0
0
0
0
0
0
0
0
26
-12
-56
3
26
6
32
-100
-6
-7
0
0
0
0
0
0
0
29
-15
-1
28
-3
12
33
68
35
15
0
0
0
0
0
0
0
43
-45
19
-27
10
14
-50
-4
-46
-9
0
0
0
0
0
0
0
-8
9
49
38
37
51
34
74
0
1
0
0
0
0
0
0
0
-62
-50
-12
-5
-25
-17
24
49
-18
0
0
0
0
0
0
0
0
-8
-28
-14
-38
-3
10
-14
-3
-15
0
0
0
0
0
0
0
0
1
-4
7
-14
41
34
46
29
0
0
0
0
0
0
0
0
0
0
15
0
0
3
-24
7
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
-2
0
14
0
13
0
0
0
0
0
0
0
0
0
17
-2
0
32
7
1
52
-29
-33
0
0
0
0
0
0
0
0
24
19
0
-4
56
24
7
-8
3
0
0
0
0
0
0
0
0
40
1
8
41
-12
10
9
-25
18
0
0
0
0
0
0
0
0
-4
0
6
12
63
11
-39
-2
-6
0
0
0
0
0
0
0
0
-13
3
-2
-16
26
27
0
-1
0
0
0
0
0
0
0
0
0
0
-12
0
-25
1
-7
-26
0
0
0
0
0
0
0
0
0
0
0
-9
1
0
0
-4
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
0
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
-10
0
0
0
0
0
0
0
0
0
1
0
0
-1
2
6
0
-2
0
0
0
0
0
0
0
0
0
0
-3
1
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-47
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
9
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
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
-10
6
-2
-27
-10
-2
0
0
0
0
0
0
0
0
-15
0
0
0
-3
10
17
-29
14
0
0
0
0
0
0
0
0
19
-19
-2
9
8
3
-24
0
-6
0
0
0
0
0
0
0
0
6
-8
0
-30
0
8
0
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
-3
7
1
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
36
8
2
0
0
0
0
0
0
0
0
0
0
0
0
10
6
41
-40
-24
9
0
0
0
0
0
0
0
0
64
0
0
44
-18
16
50
51
41
-3
0
0
0
0
0
0
0
51
5
0
82
15
56
82
30
-113
0
0
0
0
0
0
0
0
13
40
-3
22
-40
-2
-5
2
21
3
0
0
0
0
0
0
0
24
-40
11
59
-1
-79
69
4
0
2
0
0
0
0
0
0
0
-25
-28
0
68
-9
-2
-7
1
0
-3
0
0
0
0
0
0
0
15
-4
-11
53
30
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
54
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
65
0
0
0
0
0
0
0
0
0
0
-11
0
0
6
0
-74
-6
30
3
0
0
0
0
0
0
0
0
0
-7
0
11
-11
1
-9
3
-3
-2
0
0
0
0
0
0
0
-1
0
0
21
12
4
-2
-33
3
0
0
0
0
0
0
0
0
6
-1
-5
11
-39
-25
-3
17
-2
0
0
0
0
0
0
0
0
0
0
-3
18
-17
12
0
15
0
0
0
0
0
0
0
0
0
0
0
1
6
-12
0
0
2
0
0
0
0
0
0
0
0
0
0
3
0
1
-6
38
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
35
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
-17
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
91
-1
-2
0
0
0
0
0
0
0
0
0
0
0
6
-1
-12
34
-26
-21
0
0
-2
0
0
0
0
0
0
0
0
-12
-21
-13
27
3
20
0
-1
39
0
0
0
0
0
0
0
0
35
-13
-27
-1
24
33
-27
4
58
0
0
0
0
0
0
0
0
-1
36
-2
23
2
21
3
-2
1
0
0
0
0
0
0
0
0
0
2
-10
-23
25
3
-17
0
0
0
0
0
0
0
0
0
0
1
0
11
8
-21
0
0
0
-2
0
0
0
0
0
0
0
0
0
-28
0
-7
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
39
-19
-3
8
-17
2
0
-7
0
0
0
0
0
0
0
0
116
11
-5
-73
14
-36
0
-13
0
0
0
0
0
0
0
0
-18
9
-18
-81
27
6
54
54
104
23
0
0
0
0
0
0
0
-1
0
48
24
1
-22
-14
-12
26
-21
0
0
0
0
0
0
0
-1
64
15
43
-6
-47
24
-20
-16
17
0
0
0
0
0
0
0
0
23
4
31
2
-7
5
-10
-2
-3
0
0
0
0
0
0
0
0
0
11
-1
-14
-34
30
-28
-16
2
0
0
0
0
0
0
0
0
0
10
0
22
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
18
0
27
30
0
-24
1
0
-1
-3
0
0
0
0
0
0
-8
0
5
8
8
83
17
0
0
0
-9
0
0
0
0
0
0
0
25
83
16
-33
40
21
88
26
-34
-64
0
0
0
0
0
0
4
-24
52
45
-52
-11
22
7
8
10
-73
0
0
0
0
0
0
0
62
42
8
18
16
10
71
5
-14
-1
0
0
0
0
0
0
0
27
-7
-5
8
36
12
9
-24
15
0
0
0
0
0
0
0
0
0
-15
-19
33
23
11
-74
28
0
-10
0
0
0
0
0
0
0
0
2
40
-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
54
0
-18
11
0
0
0
0
0
4
0
0
0
0
0
12
-57
-1
53
0
48
-5
0
0
0
-15
0
0
0
0
0
0
0
0
-55
-44
93
-19
-13
16
-5
19
-24
11
0
0
0
0
0
-3
-12
56
46
-6
56
4
71
44
18
17
1
0
0
0
0
0
0
-12
-43
9
64
-45
-37
0
61
-3
-3
-2
0
0
0
0
0
-2
0
50
41
22
-14
2
2
-40
-21
0
0
0
0
0
0
0
0
0
1
30
-41
4
9
1
1
0
-1
0
0
0
0
0
0
0
0
0
-5
9
-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
-6
13
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
16
51
6
55
0
-21
0
1
0
-17
0
0
0
0
0
0
0
0
-4
-9
37
-6
-39
-21
10
20
-3
-2
0
0
0
0
0
-2
10
14
41
3
73
-9
10
-46
-13
-2
2
0
0
0
0
0
0
28
7
44
13
56
13
5
0
-12
-4
0
0
0
0
0
0
0
-8
2
26
41
18
-6
7
2
-10
0
3
0
0
0
0
0
0
0
4
2
8
-24
2
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-13
0
3
3
0
0
0
0
0
0
0
0
0
0
4
11
-29
-2
-16
0
0
21
0
-17
0
0
0
0
0
0
-17
6
-26
-27
-79
-14
-5
-2
34
-18
6
3
0
0
0
0
0
4
-38
1
-17
-81
41
-10
6
0
24
10
0
0
0
0
0
0
0
2
18
22
-24
59
20
21
4
4
7
0
0
0
0
0
0
0
0
25
-8
1
-8
7
-24
0
4
0
0
0
0
0
0
0
0
0
0
0
7
0
15
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
6
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
3
0
8
11
0
1
0
0
2
0
0
0
0
0
0
0
1
-15
43
19
0
0
0
-13
0
-12
1
0
0
0
0
0
0
0
2
-53
-14
22
-30
-62
48
23
2
-2
0
0
0
0
0
0
-28
-44
-29
4
9
-13
21
2
-35
4
0
0
0
0
0
0
0
2
13
4
-12
-6
12
22
11
0
13
0
0
0
0
0
0
0
4
0
2
7
13
-20
-7
-19
2
0
0
0
0
0
0
0
0
0
0
15
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-8
0
0
0
0
-22
7
0
0
0
0
0
0
0
-17
28
-66
-2
-14
2
14
11
-3
-1
0
0
0
0
0
0
-3
-11
-22
15
1
1
6
-4
-8
12
0
-7
0
0
0
0
0
3
2
3
-3
26
36
2
-13
-2
3
0
0
0
0
0
0
0
0
0
-1
0
-25
1
3
-3
0
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
-24
-14
13
-12
0
0
0
0
0
0
0
0
0
0
0
12
4
7
-9
25
-3
11
0
0
0
0
0
0
0
0
0
0
17
58
83
-27
29
-3
-22
67
-28
0
0
0
0
0
0
0
0
0
-36
43
19
19
29
-35
1
-39
0
0
0
0
0
0
0
0
-37
-13
22
-28
-31
-15
46
1
12
0
0
0
0
0
0
0
0
0
24
83
9
29
22
-11
4
2
0
0
0
0
0
0
0
0
-1
17
-22
14
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
-24
-4
-34
-3
8
1
1
0
17
0
0
0
0
0
0
0
18
55
-38
24
52
38
2
0
-36
0
0
0
0
0
0
0
0
-2
9
-33
-15
31
-28
14
-47
-22
-33
0
0
0
0
0
0
0
-22
56
-28
6
-22
-22
62
25
66
-20
0
0
0
0
0
0
0
25
2
19
-17
41
34
-6
-18
-3
5
0
0
0
0
0
0
0
-8
95
-18
19
-28
70
-3
46
22
37
0
0
0
0
0
0
0
-7
2
-12
69
-2
39
44
19
42
13
0
0
0
0
0
0
0
0
1
13
-12
-46
-13
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-8
6
-14
36
-49
-21
0
3
35
0
0
0
0
0
0
-7
7
48
-21
11
44
-28
0
20
0
30
0
0
0
0
0
0
-3
20
16
85
7
32
32
73
44
30
-31
0
0
0
0
0
0
19
53
53
5
29
14
15
81
32
10
11
0
0
0
0
0
0
0
-50
15
-38
-21
10
35
5
5
-21
21
0
0
0
0
0
0
6
25
-24
11
-44
0
-4
41
-12
17
-11
0
0
0
0
0
0
-11
-12
19
-74
14
-93
29
-14
2
3
0
0
0
0
0
0
0
0
0
0
4
30
-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
0
13
-2
27
1
21
-80
-10
0
0
14
0
0
0
0
0
0
1
-6
48
17
50
39
21
0
-1
0
40
4
0
0
0
0
0
0
17
-20
-47
-2
-64
-38
-1
-6
12
67
5
0
0
0
0
0
1
42
-6
-52
39
17
-29
-12
-6
94
-14
4
0
0
0
0
0
-6
-34
58
3
-1
-8
-60
-12
8
-29
-11
-4
0
0
0
0
0
-1
-29
15
12
70
-71
-4
65
28
30
2
0
0
0
0
0
0
0
0
-1
-28
-19
5
15
9
-10
0
2
0
0
0
0
0
0
0
0
0
-2
6
1
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
58
2
43
0
-35
-10
0
-2
-3
2
0
0
0
0
0
-36
13
-21
-5
1
-7
40
0
1
0
39
-2
0
0
0
0
0
17
2
51
11
-45
47
32
-1
30
39
-49
-4
0
0
0
0
0
-1
-7
-22
-28
87
-11
-4
-1
-54
15
6
1
-1
0
0
0
0
-1
17
0
-42
-15
18
-11
-80
-11
36
-1
-1
0
0
0
0
0
0
12
-4
-29
29
33
-10
-2
-1
12
-4
4
-2
0
0
0
0
0
0
-6
-17
-5
-50
-8
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
30
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
4
-5
-53
6
21
0
5
0
1
2
0
0
0
0
0
0
0
8
-2
-22
33
72
22
0
-1
0
-10
4
0
0
0
0
0
1
-42
-56
-11
1
48
-66
48
-18
21
48
-35
2
0
0
0
0
-6
10
4
-5
79
-15
8
6
75
7
-11
4
2
0
0
0
0
12
7
-36
-35
-1
7
55
-46
7
-9
0
0
0
0
0
0
0
0
4
11
13
38
50
38
-12
-12
6
-1
3
2
0
0
0
0
0
0
9
12
3
0
-4
-27
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
10
43
-30
-2
-1
7
0
0
0
6
0
0
0
0
0
0
0
4
-15
-35
-19
44
24
0
-3
0
-19
4
0
0
0
0
0
1
8
23
10
-1
101
-29
11
10
33
-6
-1
-4
0
0
0
0
-1
-5
43
-4
28
12
-15
-28
-4
59
7
0
7
0
0
0
0
-6
11
-109
-48
51
12
15
34
-17
-25
-33
-10
0
0
0
0
0
-4
46
1
36
44
23
15
-18
-1
-25
-1
0
2
0
0
0
0
0
0
0
20
28
-9
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-6
-1
0
0
0
2
7
0
0
0
0
0
0
0
0
9
-3
0
0
4
0
-1
0
27
3
0
0
0
0
0
0
-6
1
20
29
0
8
8
-33
-24
3
0
0
0
0
0
0
0
1
-49
-38
2
25
29
4
-11
13
3
0
0
0
0
0
0
0
19
55
33
34
-10
86
-7
3
-21
-2
2
0
0
0
0
0
0
-1
4
14
0
13
9
3
1
-2
0
0
0
0
0
0
0
0
0
2
0
-4
11
-3
3
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
3
1
-1
-1
2
0
0
0
0
0
0
0
1
-15
23
7
-33
1
-7
-4
8
0
0
0
0
0
0
0
0
0
16
-3
-6
-6
23
0
2
0
2
0
0
0
0
0
0
0
0
0
0
3
2
-6
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
-1
0
6
0
3
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
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-19
-17
74
49
-16
0
0
0
0
0
0
0
0
0
0
0
14
26
-29
44
24
14
-12
0
12
0
0
0
0
0
0
0
0
9
-26
13
-23
84
-24
39
28
-95
0
0
0
0
0
0
0
0
-29
-42
4
56
-2
65
-9
43
25
0
0
0
0
0
0
0
0
0
26
-30
-38
-16
-9
62
-4
42
0
0
0
0
0
0
0
0
3
59
25
-14
-75
18
-36
-8
1
0
0
0
0
0
0
0
0
-12
-2
19
34
9
7
1
0
0
0
0
0
0
0
0
0
0
0
-6
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
23
-2
6
-83
-79
16
16
19
0
7
0
0
0
0
0
0
0
-4
-24
-25
-34
52
-2
-33
0
24
0
0
0
0
0
0
0
0
7
93
9
31
19
36
-57
19
25
-20
0
0
0
0
0
0
0
-2
27
-60
-1
-42
0
12
34
29
-38
0
0
0
0
0
0
0
-28
-7
-14
-27
-15
16
-19
39
96
60
0
0
0
0
0
0
0
0
36
41
36
-58
-4
5
26
12
45
0
0
0
0
0
0
0
0
6
54
-76
31
-2
98
-24
-1
-8
0
0
0
0
0
0
0
0
0
28
33
18
14
-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
42
-28
-20
-22
35
-28
-25
0
6
-69
0
0
0
0
0
0
-28
23
24
52
7
7
-8
0
38
0
25
0
0
0
0
0
0
12
10
52
-9
-14
17
-18
78
44
-23
-70
0
0
0
0
0
0
14
-7
-31
30
2
18
23
84
39
-14
25
0
0
0
0
0
0
0
55
26
10
50
-7
-13
18
31
15
-10
0
0
0
0
0
0
0
-38
-32
29
70
0
-4
-1
26
-50
1
0
0
0
0
0
0
0
-1
123
37
28
22
-6
14
-3
0
0
0
0
0
0
0
0
0
0
1
-3
1
42
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
29
5
67
-6
64
10
0
0
-42
0
0
0
0
0
0
0
13
5
0
27
14
65
0
-11
0
15
-4
0
0
0
0
0
-4
7
-50
25
54
8
-2
38
35
58
40
-7
0
0
0
0
0
-7
-6
-9
13
3
-44
1
7
0
21
16
-5
0
0
0
0
0
12
0
43
41
-9
-24
13
7
8
8
1
0
0
0
0
0
0
0
1
-84
13
9
-41
6
103
12
3
3
0
0
0
0
0
0
0
-2
1
-40
20
7
-4
29
7
0
0
0
0
0
0
0
0
0
0
-40
0
6
-10
0
0
7
0
0
0
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
-31
-41
45
-1
0
-2
2
0
0
0
0
0
0
4
-3
43
-4
-8
51
19
0
-1
0
-11
-7
1
0
0
0
0
0
10
30
3
13
-52
9
32
18
-19
2
-63
0
0
0
0
0
-2
-3
6
-35
2
-49
64
6
3
8
14
-1
0
0
0
0
0
-4
-1
0
57
6
-5
19
19
20
12
-12
-7
0
0
0
0
0
0
17
25
52
6
15
1
-8
-6
0
-9
0
0
0
0
0
0
0
1
8
0
43
-1
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-18
-41
-12
84
0
0
3
0
2
0
0
0
0
0
-3
11
-32
24
-4
10
-37
0
7
0
-15
3
-6
0
0
0
0
-9
-1
56
-4
20
6
14
23
17
-50
34
-2
-1
0
0
0
0
0
-16
-19
-42
-28
-9
77
-8
7
-18
1
1
-1
0
0
0
0
0
-40
22
-92
-1
6
12
-2
18
-1
0
0
0
0
0
0
0
0
-8
10
-17
15
19
5
4
-17
0
-2
-1
0
0
0
0
0
0
0
-28
-4
-2
1
-6
-2
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-20
33
-28
-12
33
0
0
-3
0
0
0
0
0
0
0
-4
-7
-17
49
71
-1
-3
0
-12
0
7
-6
1
0
0
0
0
0
0
6
-21
19
36
-1
-7
-11
0
2
-2
0
0
0
0
0
0
15
-39
33
-11
-11
-11
9
2
-14
9
0
2
0
0
0
0
-7
6
-13
38
-19
-9
-39
-15
36
-4
-1
0
0
0
0
0
0
0
-1
39
10
33
-23
24
-27
0
1
-2
0
0
0
0
0
0
0
0
30
-24
12
-20
1
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
11
24
-1
15
0
0
-2
0
0
0
0
0
0
0
0
9
-11
-1
19
-24
0
0
-1
0
43
-4
0
0
0
0
0
-4
-25
17
1
-8
4
-6
0
-6
-5
0
0
0
-4
0
0
0
0
2
-4
3
-21
-2
-7
-27
3
6
-9
0
2
0
0
0
0
0
-19
-10
-124
-9
-28
-23
-2
-63
-7
4
0
0
0
0
0
0
0
0
-4
13
3
37
-13
0
-1
3
2
0
0
0
0
0
0
0
0
9
2
9
-28
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
8
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-15
0
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
-25
-17
-8
35
8
0
0
0
6
0
0
0
0
0
0
0
7
35
-7
9
8
-1
-2
0
-2
0
-3
0
0
0
0
0
0
0
3
1
-3
-12
22
1
2
-13
2
0
0
0
0
0
0
0
-2
10
9
-2
2
39
2
-35
15
0
-1
0
0
0
0
0
0
0
9
-11
11
17
-3
0
0
-1
6
0
0
0
0
0
0
0
0
0
-18
-6
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
3
6
-4
0
0
0
1
0
0
0
0
0
0
0
0
8
2
0
4
27
0
0
0
0
2
0
0
0
0
0
0
-6
3
6
36
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
28
2
8
32
4
0
-2
0
0
0
0
0
0
0
0
0
-3
12
-12
-29
9
6
0
-2
1
0
0
0
0
0
0
0
0
3
0
-11
0
0
0
0
20
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
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
-31
37
5
38
-3
1
0
0
0
0
0
0
0
0
0
53
-30
-86
29
14
51
-4
0
-5
0
0
0
0
0
0
0
0
17
-13
10
36
-5
73
-17
25
13
0
0
0
0
0
0
0
0
-1
45
11
-1
-55
3
6
-17
48
0
0
0
0
0
0
0
0
14
17
67
42
-40
13
-41
2
-3
0
0
0
0
0
0
0
0
-3
-27
5
7
43
-87
-5
1
1
0
0
0
0
0
0
0
0
0
27
-41
-20
-40
-16
0
0
6
0
0
0
0
0
0
0
0
0
-15
1
-1
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
23
29
-22
16
-33
-2
-4
-2
0
0
0
0
0
0
0
0
0
55
-42
62
-10
51
15
-50
0
20
0
0
0
0
0
0
0
0
33
48
-8
-29
-17
56
-55
-32
31
-21
0
0
0
0
0
0
0
47
13
77
6
66
-3
-53
-109
6
29
0
0
0
0
0
0
0
0
-24
24
-6
-67
-13
8
15
-24
33
0
0
0
0
0
0
0
4
11
6
12
-38
35
-2
4
-48
-26
0
0
0
0
0
0
0
0
6
-49
-12
0
-3
36
6
-8
-7
0
0
0
0
0
0
0
0
0
-3
55
-11
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
-33
5
-61
-14
37
-51
50
-14
0
19
-3
0
0
0
0
0
0
0
50
39
-15
20
-3
39
0
11
0
24
0
0
0
0
0
0
37
23
3
37
15
25
-36
23
-77
-18
-32
0
0
0
0
0
0
3
-20
25
-15
25
9
21
27
-14
33
-5
0
0
0
0
0
0
12
2
39
40
48
17
19
-43
-11
69
-4
0
0
0
0
0
0
0
71
18
46
-15
-23
-6
3
34
49
0
0
0
0
0
0
0
0
-15
-31
-8
-2
-36
-20
-67
-6
3
0
0
0
0
0
0
0
-1
0
14
-40
-8
-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
20
-27
7
24
109
-37
1
0
-12
3
0
0
0
0
0
0
9
-25
43
-19
15
-20
5
0
-11
0
-11
-5
0
0
0
0
0
3
11
10
-1
54
13
-10
-54
-50
21
-27
6
0
0
0
0
0
1
-11
-2
0
101
-8
13
18
-17
-32
4
1
0
0
0
0
0
0
11
-24
-24
22
3
-3
-12
24
34
26
-2
0
0
0
0
0
0
-18
-36
18
-22
53
33
30
-5
17
-5
0
0
0
0
0
0
0
13
27
-37
-2
-28
-3
6
0
0
0
0
0
0
0
0
0
0
0
6
20
8
-4
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
12
68
-23
-48
-4
0
0
6
4
8
0
0
0
0
0
3
28
-11
11
-13
-14
77
0
-11
0
-36
2
1
0
0
0
0
0
-52
-41
-8
-62
11
39
67
31
-1
-65
21
0
0
0
0
0
0
20
15
42
0
5
-16
-30
11
47
-7
-1
0
0
0
0
0
0
30
-10
0
-29
3
-55
37
33
-4
-37
0
0
0
0
0
0
0
-13
1
0
-14
18
-54
13
-15
10
0
0
0
0
0
0
0
0
0
24
-49
-39
32
29
0
3
0
0
0
0
0
0
0
0
0
0
13
7
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
6
0
11
58
-6
24
-7
0
0
-1
0
0
0
0
0
0
0
6
5
-8
18
4
-7
0
3
0
13
-15
7
0
0
0
0
0
-2
-8
-1
-3
29
-9
43
-49
-5
11
10
0
0
0
0
0
0
56
-36
15
-17
0
-14
1
-1
10
-9
0
0
0
0
0
0
0
3
36
20
-3
11
0
6
0
-7
0
0
0
0
0
0
0
0
9
19
-22
14
21
-24
10
0
-1
0
0
0
0
0
0
0
0
0
0
41
3
2
-7
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-82
37
9
2
-11
0
0
-2
-1
0
0
0
0
0
0
0
28
3
-8
5
-45
53
0
0
0
5
1
0
0
0
0
0
0
4
9
-53
48
-7
16
8
-8
-14
-12
0
0
0
0
0
0
-1
0
19
1
12
21
0
10
1
7
-3
1
0
0
0
0
0
0
3
-46
7
-81
2
10
-1
2
-7
0
0
0
0
0
0
0
0
2
-19
-24
-1
60
2
0
-38
1
-2
0
0
0
0
0
0
0
0
-18
2
17
0
7
0
-3
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
-6
1
1
-51
2
0
0
0
0
0
0
0
0
0
0
0
-7
-47
18
14
-35
-7
-4
0
0
0
-1
2
0
0
0
0
0
0
19
-40
14
22
-32
7
6
-3
18
1
0
0
0
0
0
0
0
-2
-17
-11
-21
12
2
0
9
-10
0
0
3
0
0
0
0
0
0
4
-24
12
43
0
-3
0
30
0
0
0
0
0
0
0
0
0
3
-9
-97
2
8
1
0
-3
0
0
0
0
0
0
0
0
-8
7
53
3
-1
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
22
2
-38
-6
27
0
0
0
0
0
0
0
0
0
0
0
4
-6
-12
35
6
-3
0
0
0
-1
0
0
0
0
0
0
0
0
-12
-36
-3
5
-1
0
-2
0
0
0
0
0
0
0
0
0
0
6
11
9
8
2
-4
0
0
0
0
0
0
0
0
0
0
0
9
33
0
-10
20
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
4
18
2
3
0
2
0
0
0
0
0
0
0
0
0
-1
-1
-11
1
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
27
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-1
1
0
-4
1
0
0
0
0
0
0
0
0
0
0
10
-4
2
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
-10
0
-7
2
13
13
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
-7
3
-3
0
0
0
0
0
0
0
0
0
0
0
9
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-74
70
-9
40
-25
2
0
0
0
0
0
0
0
0
0
0
23
18
-5
26
9
27
-14
0
-33
0
0
0
0
0
0
0
0
4
-3
-16
25
-9
-34
7
10
36
0
0
0
0
0
0
0
0
29
21
19
24
-27
35
-47
-8
-4
0
0
0
0
0
0
0
0
0
-16
-19
51
-52
36
-7
0
-1
0
0
0
0
0
0
0
0
-1
0
40
-45
21
-10
-15
-4
-36
0
0
0
0
0
0
0
0
-2
-4
-6
34
8
1
-1
0
1
0
0
0
0
0
0
0
0
0
24
-2
40
-9
-8
-4
0
0
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
1
47
13
35
59
20
8
0
0
1
0
0
0
0
0
0
0
3
-16
-37
-13
-44
46
-11
0
-61
0
0
0
0
0
0
0
0
-94
-31
-12
1
5
-8
-15
-11
5
-26
0
0
0
0
0
0
0
0
-6
73
19
-20
-61
-20
-32
-13
-33
0
0
0
0
0
0
0
0
0
-41
-25
8
22
-20
12
10
33
0
0
0
0
0
0
0
0
64
35
-17
16
64
-19
11
26
34
0
0
0
0
0
0
0
0
-1
61
-26
-26
72
-80
-30
28
15
0
0
0
0
0
0
0
0
-6
2
68
-40
-24
0
3
1
0
0
0
0
0
0
0
0
0
-2
7
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
-12
-35
-31
91
10
-38
-2
-6
0
7
-1
0
0
0
0
0
0
4
5
16
-29
26
47
-46
0
36
0
54
0
0
0
0
0
0
0
15
-27
6
-26
5
-11
-13
4
-17
-25
0
0
0
0
0
0
-52
10
-19
4
14
2
38
18
-30
-42
8
0
0
0
0
0
0
1
19
0
74
28
21
-6
-28
0
-24
0
0
0
0
0
0
0
0
0
30
7
34
-41
16
22
26
8
2
0
0
0
0
0
0
0
-26
-47
-46
18
-15
-15
49
-2
17
0
0
0
0
0
0
0
0
-2
12
-2
54
23
10
13
8
0
0
0
0
0
0
0
0
1
0
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
35
60
-37
19
28
51
2
0
2
11
0
0
0
0
0
0
0
43
77
17
-3
-1
-38
0
-21
0
63
6
0
0
0
0
0
0
-16
-34
14
-6
32
-94
52
-39
66
-45
-6
0
0
0
0
0
0
59
7
-28
23
42
3
-5
-10
84
-20
-7
0
0
0
0
0
-2
-2
4
0
-22
-46
-58
22
54
8
0
0
0
0
0
0
0
0
-13
0
-22
-1
-13
22
76
-47
9
-3
0
0
0
0
0
0
0
0
27
-19
0
-72
81
6
-16
16
0
0
0
0
0
0
0
0
0
8
-11
-88
-33
-3
-6
-4
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
14
20
51
18
-3
-24
0
0
-3
0
0
0
0
0
0
-6
2
-3
-21
27
-77
3
0
-10
0
27
-3
0
0
0
0
0
0
2
26
120
2
4
-12
-54
-12
-31
14
-3
0
0
0
0
0
0
40
18
0
6
2
91
-19
26
18
-16
0
0
0
0
0
0
0
-8
57
-12
0
6
37
44
28
47
0
0
0
0
0
0
0
0
-9
10
1
15
-3
-9
12
1
3
0
0
0
0
0
0
0
0
-24
-1
43
-73
-4
10
0
26
3
0
0
0
0
0
0
0
0
-3
0
-4
-48
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
-35
33
12
-14
-1
0
0
0
0
0
0
0
0
0
0
8
-27
26
14
-37
0
0
-3
0
20
-4
-3
0
0
0
0
0
7
5
-26
36
-9
-35
-17
-12
-37
0
1
0
0
0
0
0
0
47
11
1
-2
23
4
-16
16
-7
2
3
0
0
0
0
0
0
25
15
-21
78
0
-13
-22
18
0
0
0
0
0
0
0
0
0
-1
-15
33
0
36
1
13
-8
6
0
0
0
0
0
0
0
0
0
26
-2
11
6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-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
17
-53
-14
-26
-10
21
3
0
0
1
0
0
0
0
0
0
0
1
-7
17
1
-75
4
0
-1
0
3
0
0
0
0
0
0
-9
11
17
-1
-25
26
-6
5
51
5
-4
2
-1
0
0
0
0
0
-7
-11
3
-19
0
29
0
-33
-33
-7
0
0
0
0
0
0
0
-1
-6
-3
-12
-29
0
6
7
-1
0
0
0
0
0
0
0
0
0
-4
41
-35
0
19
-2
28
-2
0
0
0
0
0
0
0
0
0
-1
55
0
17
3
-2
1
0
0
0
0
0
0
0
0
0
0
4
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-3
6
21
0
7
0
0
0
0
0
0
0
0
0
0
0
-2
26
18
4
-14
9
0
0
0
0
0
0
0
0
0
0
0
2
40
15
27
-50
19
1
3
32
0
2
0
0
0
0
0
0
12
19
-1
7
24
2
-1
0
-4
-1
0
0
0
0
0
0
0
0
0
21
-2
-26
-4
0
-13
27
0
0
0
0
0
0
0
0
4
-18
19
-33
37
0
-2
0
-2
0
0
0
0
0
0
0
0
0
-41
-9
-1
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-16
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
-3
-3
4
12
0
0
0
0
0
0
0
0
0
0
0
-16
27
18
23
20
2
0
0
0
0
0
0
0
0
0
0
0
6
7
-1
-1
-10
0
-5
-6
-7
0
0
0
0
0
0
0
0
0
-6
-4
2
15
-12
0
0
0
0
0
0
0
0
0
0
0
0
12
8
10
-8
-2
-4
0
0
0
0
0
0
0
0
0
0
0
9
0
1
6
-9
4
0
0
1
0
0
0
0
0
0
0
0
-2
6
35
8
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
11
-22
0
-13
-1
0
0
0
0
0
0
0
0
0
0
0
7
15
-39
-7
-15
-4
0
-4
0
0
0
0
0
0
0
0
0
0
10
-4
3
32
2
10
0
-2
0
0
0
0
0
0
0
0
0
1
-4
2
-1
0
11
4
0
0
0
0
0
0
0
0
0
0
2
32
4
-16
11
-4
0
0
0
0
0
0
0
0
0
0
6
-7
0
0
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
13
9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-15
5
-22
27
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-61
73
5
-47
2
0
15
0
0
0
0
0
0
0
0
-7
-17
-21
-29
48
30
12
-35
-61
0
0
0
0
0
0
0
0
-30
-4
60
11
88
16
-5
-38
-59
0
0
0
0
0
0
0
0
-21
0
44
7
11
3
0
12
-62
0
0
0
0
0
0
0
0
0
-5
39
14
28
50
13
-26
6
0
0
0
0
0
0
0
0
1
0
-14
-61
24
0
1
29
-7
0
0
0
0
0
0
0
0
0
34
-1
22
-2
24
-4
0
0
0
0
0
0
0
0
0
0
0
-13
18
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
14
41
0
-6
-14
0
0
-32
0
0
0
0
0
0
0
-3
63
50
-23
6
31
11
0
60
0
0
0
0
0
0
0
0
-8
-10
-29
-67
13
-90
-4
82
7
-54
0
0
0
0
0
0
0
-2
35
59
13
-44
-15
8
-56
42
40
0
0
0
0
0
0
0
0
55
10
-8
-5
12
9
26
47
66
0
0
0
0
0
0
0
0
0
14
-13
8
54
-7
19
7
29
0
0
0
0
0
0
0
0
-3
0
23
7
32
-22
-1
3
9
0
0
0
0
0
0
0
-4
-9
32
-36
-27
21
-13
20
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
13
71
50
33
12
-25
-1
0
-4
11
0
0
0
0
0
0
-2
53
-26
-25
-21
40
13
0
-4
0
15
0
0
0
0
0
0
-26
3
20
45
14
-28
-13
-54
65
-10
8
0
0
0
0
0
0
-2
-15
-1
-16
-2
-35
-27
3
-45
8
18
0
0
0
0
0
0
-14
3
-8
2
3
10
71
-45
12
-2
8
0
0
0
0
0
0
0
0
0
13
-10
-28
46
44
-25
30
-2
0
0
0
0
0
0
4
0
35
-26
38
55
41
18
-2
-6
0
0
0
0
0
0
0
0
3
-18
-16
22
13
-4
6
4
0
0
0
0
0
0
0
0
0
-8
2
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
40
25
64
4
-45
81
17
0
10
-5
-4
0
0
0
0
0
1
-6
-36
34
-52
37
-45
0
-37
0
-35
0
0
0
0
0
0
-9
-28
-7
30
1
-28
6
23
39
-22
-24
1
0
0
0
0
0
7
-8
73
-12
54
-32
16
-50
10
-6
1
0
0
0
0
0
0
-3
-41
-2
32
24
60
2
52
-17
4
-11
0
0
0
0
0
0
1
13
-13
0
0
42
54
27
42
1
2
0
0
0
0
0
0
0
-2
1
9
2
39
-12
16
0
1
0
0
0
0
0
0
0
0
0
32
-6
20
-7
-1
-9
0
0
0
0
0
0
0
0
0
0
8
0
9
0
0
1
0
0
0
0
0
0
0
0
0
0
0
19
73
-2
-11
20
0
-11
0
0
0
0
0
0
0
0
0
0
21
71
12
21
9
-26
0
1
0
-3
-1
0
0
0
0
0
0
-1
-83
38
81
51
-11
3
34
1
0
-40
0
0
0
0
0
1
-39
4
30
2
10
-20
50
-12
24
-6
1
0
0
0
0
0
0
1
27
-1
23
1
51
-24
-13
-81
-4
0
0
0
0
0
0
0
-2
-17
-21
0
69
-8
10
6
-6
0
0
0
0
0
0
0
0
0
-26
0
-9
4
37
-19
-8
1
0
0
0
0
0
0
0
0
-1
0
-9
-11
6
0
18
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
-3
23
-7
5
6
3
0
0
0
-3
0
0
0
0
0
0
0
21
-63
1
3
-42
37
0
2
0
1
6
0
0
0
0
0
0
4
15
-19
-18
-28
6
8
-2
23
13
1
0
0
0
0
0
0
9
6
13
34
65
-16
24
52
-2
12
-1
0
0
0
0
0
0
-15
-11
4
6
30
0
-21
6
4
0
0
0
0
0
0
0
0
-7
0
-2
23
0
11
0
8
0
0
0
0
0
0
0
0
0
0
7
0
0
2
3
0
-1
2
0
0
0
0
0
0
0
0
0
-3
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
-27
1
-21
0
-12
0
0
0
0
0
0
0
0
0
0
0
-20
48
7
9
-7
-1
0
0
0
12
0
0
0
0
0
0
-3
3
27
18
-7
15
2
1
7
32
0
0
0
0
0
0
0
-1
-13
7
-22
27
38
25
12
3
0
0
-8
0
0
0
0
0
0
-21
11
-13
11
0
6
0
10
0
4
0
0
0
0
0
0
0
-4
1
12
1
-12
0
-12
0
-1
0
0
0
0
0
0
0
0
0
-3
27
-21
0
4
0
-6
12
0
0
0
0
0
0
0
0
0
-11
4
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
16
-26
0
6
0
0
0
0
0
0
0
0
0
0
0
10
51
-6
7
44
2
0
0
0
-3
0
0
0
0
0
0
0
-13
-13
24
-10
7
2
0
3
2
1
0
0
0
0
0
0
0
-11
2
-10
40
-19
31
-4
6
-2
-1
0
0
0
0
0
0
0
0
-7
21
22
24
-3
-1
0
0
0
0
0
0
0
0
0
0
32
-3
1
-2
1
0
0
4
0
0
0
0
0
0
0
0
0
1
2
-12
21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-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
-12
0
10
6
0
0
0
0
1
0
0
0
0
0
0
0
-7
-18
2
0
0
28
0
0
0
0
0
0
0
0
0
0
0
-10
29
-19
-9
33
3
11
-4
0
0
0
0
0
0
0
0
0
7
3
-40
-72
58
-1
-27
0
3
0
0
0
0
0
0
0
0
10
-4
-8
-9
-4
-13
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
-4
0
0
0
0
0
6
0
0
0
0
0
0
0
1
1
17
8
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-4
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
-2
-2
0
0
1
16
0
0
0
0
0
0
0
0
0
0
9
0
16
0
0
0
-2
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
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
4
-9
44
0
0
0
0
0
0
0
0
0
0
0
20
5
14
20
8
-10
8
0
-30
0
0
0
0
0
0
0
0
-8
39
-54
-45
23
37
12
0
-10
0
0
0
0
0
0
0
0
-1
-54
9
22
-50
-18
-19
4
51
0
0
0
0
0
0
0
0
28
0
24
12
-6
-28
7
8
-20
0
0
0
0
0
0
0
0
1
10
-3
24
-50
34
-20
-16
-13
0
0
0
0
0
0
0
0
0
11
37
-5
10
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-3
4
0
0
0
0
0
0
0
0
0
0
0
-4
-13
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
78
13
11
-6
18
53
0
0
0
0
0
0
0
0
0
0
0
39
-67
-15
-19
27
-49
0
24
0
0
0
0
0
0
0
0
46
8
20
-63
-26
57
13
27
70
30
0
0
0
0
0
0
0
-15
16
-1
-35
28
-19
-76
-33
-19
82
0
0
0
0
0
0
0
19
27
14
-64
14
22
-52
-59
-7
-33
0
0
0
0
0
0
0
0
43
11
-30
15
9
62
-27
11
-57
0
0
0
0
0
0
0
1
0
-39
41
14
5
59
38
0
2
0
0
0
0
0
0
0
0
45
2
8
5
12
1
-3
-3
-1
0
0
0
0
0
0
0
0
-16
-29
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-37
6
37
-40
14
-29
-2
0
0
4
0
0
0
0
0
0
-9
56
47
28
49
56
40
0
-4
0
16
0
0
0
0
0
0
-4
-47
28
69
1
52
-73
15
-49
-24
-18
0
0
0
0
0
0
0
47
11
-27
-1
-13
20
-13
-34
12
1
0
0
0
0
0
0
0
2
22
-21
-41
39
-35
59
-12
36
-30
0
0
0
0
0
0
0
1
53
17
78
-36
36
4
16
-13
-8
0
0
0
0
0
0
-2
10
0
26
-1
3
-18
-9
24
33
0
0
0
0
0
0
0
8
0
16
1
69
-39
-12
-10
-2
0
0
0
0
0
0
0
0
0
45
-12
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-24
27
-5
-34
-4
0
-2
21
0
0
0
0
0
0
0
-1
8
28
18
18
-25
0
0
0
-56
3
0
0
0
0
0
0
-17
-4
1
21
-56
-20
10
12
4
-70
1
0
0
0
0
0
0
65
-13
15
70
-5
24
-37
50
-16
-14
-2
0
0
0
0
0
0
-2
0
97
-44
33
-48
37
-17
67
19
0
0
0
0
0
0
0
35
2
9
0
58
21
-52
7
-27
-9
0
0
0
0
0
0
0
-2
-95
0
17
15
17
15
3
-22
0
0
0
0
0
0
0
0
-10
0
23
0
-32
14
-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
-28
18
-13
-6
-3
0
0
0
4
0
0
0
0
0
0
0
-34
79
1
24
34
-47
0
15
0
1
-2
0
0
0
0
0
0
0
-43
-36
3
33
-19
0
-1
-21
12
-1
0
0
0
0
0
0
0
-2
7
37
-33
-12
14
-10
3
0
4
0
0
0
0
0
0
-3
-6
38
6
-4
-32
-3
0
9
-1
0
0
0
0
0
0
0
21
-2
1
-12
11
11
2
10
-1
2
0
0
0
0
0
0
0
0
0
-6
0
-3
11
0
-2
0
8
0
0
0
0
0
0
0
0
4
0
7
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
63
2
2
0
3
0
0
0
0
0
0
0
0
0
0
0
-19
-4
-18
33
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-11
-35
28
-61
6
-26
33
3
0
0
0
0
0
0
0
25
3
12
-24
17
-33
-3
0
2
0
0
0
0
0
0
0
0
-1
-12
3
-1
-14
6
3
-1
-1
12
0
0
0
0
0
0
0
-26
0
-29
2
35
0
4
7
-4
-1
0
0
0
0
0
0
0
0
1
0
-13
0
0
0
12
0
0
0
0
0
0
0
0
0
0
3
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
-1
0
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
18
-3
4
-1
0
0
0
-2
0
0
0
0
0
0
0
0
-92
-9
24
2
0
1
0
35
0
0
0
0
0
0
0
0
-1
0
0
-35
43
11
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
10
-2
3
0
0
3
0
0
0
0
0
0
2
-13
0
7
0
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
33
13
-9
0
0
0
2
0
0
0
0
0
0
0
0
25
-2
-19
-18
7
0
9
19
0
0
0
0
0
0
0
0
11
-9
-1
-1
30
-4
0
-17
0
0
0
0
0
0
0
0
0
2
-8
-28
-58
1
-9
1
0
-4
-1
0
0
0
0
0
0
0
0
8
9
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
-6
1
11
0
0
0
0
0
0
0
0
0
0
0
-2
2
24
-6
0
0
0
0
84
0
0
0
0
0
0
0
0
-13
-3
-3
-10
24
-8
8
0
0
0
0
0
0
0
0
0
0
0
-10
-3
-2
1
13
11
0
-11
0
0
0
0
0
0
0
0
0
-4
1
7
-27
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
-4
-35
-1
0
0
10
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
2
0
-8
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
7
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-34
2
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
-8
-4
26
-6
2
0
0
0
0
0
0
0
0
0
0
36
5
15
-13
19
-2
-6
-2
-15
0
0
0
0
0
0
0
0
18
-70
22
14
-28
-15
-93
-1
-27
0
0
0
0
0
0
0
0
67
-33
-87
12
-31
-64
-4
12
93
0
0
0
0
0
0
0
0
4
15
3
-19
-6
44
73
-3
34
0
0
0
0
0
0
0
0
1
0
-2
3
46
-6
11
-21
61
0
0
0
0
0
0
0
0
0
-61
-14
21
0
4
6
10
-24
0
0
0
0
0
0
0
0
0
0
-11
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-22
7
-29
5
-54
-1
0
0
0
0
0
0
0
0
0
0
-27
29
-11
-39
23
-21
0
-2
0
0
0
0
0
0
0
0
-16
-26
-61
-54
28
-20
-55
-11
-21
-59
0
0
0
0
0
0
0
-2
-38
-59
-10
-28
-20
-37
-20
0
-71
0
0
0
0
0
0
0
-13
53
-11
0
-49
16
9
19
94
43
0
0
0
0
0
0
0
0
-5
-63
37
-2
-10
34
-42
12
22
0
0
0
0
0
0
0
0
-1
-3
26
13
33
55
76
-25
1
0
0
0
0
0
0
0
0
0
-17
-23
13
-2
-1
-9
0
2
0
0
0
0
0
0
0
0
-4
0
-11
-4
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
-12
17
18
-6
8
0
0
0
0
0
0
0
0
0
0
0
44
-5
-13
10
2
-4
0
0
0
-54
0
0
0
0
0
0
28
-7
34
-16
39
41
-43
12
-41
-21
4
0
0
0
0
0
0
1
-14
4
-36
-81
21
18
-41
-1
-78
19
0
0
0
0
0
0
-10
-11
20
47
35
-23
-24
-28
8
-2
27
0
0
0
0
0
0
0
-38
12
-50
10
30
-65
-29
-32
104
29
0
0
0
0
0
0
0
0
-46
0
64
43
-28
36
25
15
-4
0
0
0
0
0
0
0
30
0
9
-13
-12
2
0
0
2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
4
-8
-1
5
22
0
0
10
0
0
0
0
0
0
0
-6
-11
-16
16
45
43
0
0
0
-2
0
0
0
0
0
0
0
19
20
-8
3
25
-10
-12
-9
33
11
0
0
0
0
0
0
0
-50
-2
-18
-5
-14
8
-2
65
49
-6
-6
0
0
0
0
0
0
-2
-1
11
-44
-68
-18
14
-25
4
-4
0
0
0
0
0
0
0
-3
-32
16
74
-18
-3
-29
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-8
-41
-12
1
-3
0
0
0
0
0
0
0
0
0
-2
0
6
25
0
0
0
0
0
0
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
-1
2
1
0
0
0
0
-1
0
0
0
0
0
0
0
-11
4
-1
-34
1
15
0
0
0
0
0
0
0
0
0
0
-3
0
2
-2
30
9
-17
0
0
0
-4
1
0
0
0
0
0
0
28
1
-18
18
-1
-21
-19
-3
-1
0
0
0
0
0
0
0
0
0
-6
47
24
14
-24
0
-7
11
0
0
0
0
0
0
0
0
-8
0
-8
9
-24
1
-8
0
0
13
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
-8
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-19
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
9
-3
8
-3
0
0
2
0
0
0
0
0
0
0
0
0
6
-40
-39
-1
-1
0
-4
-6
0
0
0
0
0
0
0
0
0
0
-29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-2
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
-11
0
-7
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-3
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
1
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
1
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
16
56
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-6
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
1
-3
-29
9
0
0
0
0
0
0
0
0
0
0
0
0
25
9
8
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-1
7
-4
-8
0
0
0
0
0
0
0
0
0
0
0
-2
-56
8
0
-1
-23
0
0
-6
0
0
0
0
0
0
0
0
1
18
7
10
-3
-31
2
0
-5
0
0
0
0
0
0
0
0
2
18
-20
0
-32
-19
-14
-1
24
0
0
0
0
0
0
0
0
3
-65
13
2
1
12
47
2
-48
0
0
0
0
0
0
0
0
0
-58
29
-25
27
-4
-6
10
-2
0
0
0
0
0
0
0
0
0
0
-50
-24
-6
59
4
18
0
0
0
0
0
0
0
0
0
0
3
-8
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-33
-18
45
-2
5
0
0
0
0
0
0
0
0
0
0
29
1
-4
22
3
-8
-1
0
-3
-68
0
0
0
0
0
0
0
0
66
-36
-1
-77
-3
-2
-1
23
-7
0
0
0
0
0
0
0
4
7
-32
2
-74
-6
-41
33
-10
0
0
0
0
0
0
0
0
0
-13
43
-47
9
58
13
21
6
7
0
0
0
0
0
0
0
1
0
-7
3
1
29
11
6
9
0
0
0
0
0
0
0
0
0
0
0
-43
12
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
9
0
0
0
0
0
0
0
0
0
0
0
-3
1
19
38
-12
0
-2
0
0
13
0
0
0
0
0
0
0
0
-25
2
-6
-8
-2
18
-3
-3
-8
0
0
0
0
0
0
0
8
-6
-27
-2
40
26
-16
2
2
0
-6
0
0
0
0
0
0
0
-1
7
8
0
-7
-15
-17
-5
-9
-7
0
0
0
0
0
0
0
0
6
7
0
-1
-10
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
-1
0
-4
-8
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
2
0
-2
1
0
0
0
2
0
0
0
0
0
0
0
0
-2
-18
2
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
0
-3
0
0
0
0
0
0
0
0
0
-3
-2
0
-3
0
0
0
8
0
0
0
0
0
0
0
0
0
-7
-22
0
0
0
2
-1
0
-2
0
0
0
0
0
0
0
0
20
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
2
-16
-12
0
0
0
0
0
0
0
0
0
7
-9
9
-11
-3
20
-46
-41
7
0
0
0
0
0
0
0
0
1
0
0
-12
0
18
-18
33
27
0
0
0
0
0
0
0
0
-8
-3
1
-4
-4
11
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-15
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
5
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
0
0
0
0
0
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
21
9
-3
0
-40
0
0
0
0
0
0
0
-21
2
10
24
-33
86
8
80
12
35
0
0
0
0
0
0
0
-2
26
-5
33
-2
56
76
48
78
26
0
0
0
0
0
0
0
4
-1
0
79
-52
47
-21
51
-33
23
0
0
0
0
0
0
0
0
-22
-2
7
-37
-42
-37
-37
38
-2
0
0
0
0
0
0
0
0
-24
1
0
3
-57
-4
37
26
-7
0
0
0
0
0
0
0
0
1
-2
0
13
-4
-27
-10
12
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
10
-23
7
-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
-3
7
0
-3
-7
-13
-30
11
0
22
-1
0
0
0
0
0
0
-2
-11
25
-87
4
-8
27
1
-2
-3
-1
0
0
0
0
0
0
1
2
-7
7
-11
51
38
-36
-73
25
5
0
0
0
0
0
0
-2
-3
0
11
-54
-2
14
6
25
7
-7
0
0
0
0
0
0
2
0
-6
14
6
-20
-9
-13
-1
-26
-6
0
0
0
0
0
0
0
7
-12
0
-3
1
9
-15
31
8
0
0
0
0
0
0
0
0
0
1
0
22
27
-1
54
6
19
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
7
-9
0
-6
-2
35
-3
0
-36
0
0
0
0
0
0
0
0
7
1
2
11
-45
0
-66
5
9
7
-7
0
0
0
0
0
0
-4
0
-3
-29
40
11
5
-20
-5
8
0
0
0
0
0
0
0
2
-6
12
0
-42
22
48
-3
-24
2
0
0
0
0
0
0
0
0
0
33
0
-5
-4
-32
22
1
0
0
0
0
0
0
0
0
0
3
0
-8
7
61
-48
-1
-3
-8
0
0
0
0
0
0
0
0
0
-3
-1
6
-36
1
2
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-2
9
-9
0
24
0
0
0
0
0
0
0
2
7
-10
0
-8
-27
73
-42
-5
6
12
0
0
0
0
0
0
0
8
14
3
9
-9
17
56
6
-1
0
0
0
0
0
0
0
0
-9
0
1
0
3
-21
9
-3
0
0
0
0
0
0
0
0
0
-1
-6
4
0
1
-29
-11
-9
-3
0
0
0
0
0
0
0
0
0
-3
0
13
2
8
-7
0
10
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-4
0
17
7
0
12
-2
0
0
0
0
0
0
-2
17
16
2
10
18
-1
3
-63
-11
-3
0
0
0
0
0
0
-1
-1
-16
11
11
-25
-26
-9
30
2
0
0
0
0
0
0
0
0
0
0
9
0
-24
-7
20
2
-18
-4
0
0
0
0
0
0
0
-1
0
0
-5
-10
1
-2
-9
0
0
0
0
0
0
0
0
0
0
-3
-4
0
-17
3
17
0
2
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
10
6
0
22
0
8
1
0
0
0
0
0
0
-6
0
0
7
47
0
-3
74
-49
0
6
-2
0
0
0
0
0
0
3
0
0
-25
-17
-6
47
-7
4
0
-1
0
0
0
0
0
0
0
2
3
0
-3
2
-42
14
-1
0
4
0
0
0
0
0
0
0
0
18
-2
6
16
3
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
1
-4
0
0
0
0
0
0
0
0
0
1
6
-4
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
6
7
0
0
0
7
4
0
0
0
0
0
0
-2
-4
-1
-3
-2
-6
1
-6
-13
0
-11
0
0
0
0
0
0
0
0
-2
1
2
16
19
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
29
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
18
6
-2
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
-6
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-41
-4
-36
-55
60
12
0
0
0
0
0
0
0
0
0
99
-1
79
-16
-32
30
17
-28
-6
0
0
0
0
0
0
0
0
56
8
-13
23
12
9
12
30
-18
0
0
0
0
0
0
0
0
-11
1
0
10
10
-6
-21
0
12
0
0
0
0
0
0
0
0
32
0
0
9
62
-15
70
-6
22
0
0
0
0
0
0
0
0
0
0
0
2
14
14
12
34
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
14
-14
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
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
-9
-19
13
59
19
30
0
-51
0
0
0
0
0
0
0
-27
27
-67
37
-2
1
12
25
-10
-79
0
0
0
0
0
0
0
1
-48
-5
73
49
33
-7
-40
-52
-5
0
0
0
0
0
0
0
4
1
-25
0
43
-74
-49
76
-15
-28
0
0
0
0
0
0
0
0
-5
2
17
-60
-27
21
11
22
18
0
0
0
0
0
0
0
0
-82
7
0
27
25
12
-16
-13
35
0
0
0
0
0
0
0
0
-2
2
4
-37
-4
-47
-46
-30
2
0
0
0
0
0
0
0
0
-10
0
9
1
15
21
-28
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
24
35
-11
41
-50
-8
8
-4
0
-7
-23
0
0
0
0
0
0
3
35
11
61
70
20
13
-10
-1
-35
24
0
0
0
0
0
0
-11
9
25
-20
15
31
7
28
36
-33
-4
0
0
0
0
0
0
-9
-51
-23
-26
-6
-30
55
-19
9
-4
30
0
0
0
0
0
0
-3
14
13
-4
30
-24
22
60
3
-34
-14
0
0
0
0
0
0
0
4
14
0
-5
-12
-4
-16
-11
19
7
0
0
0
0
0
0
0
0
28
3
17
-19
47
5
-15
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-14
42
-6
-16
-32
0
24
35
-3
0
0
0
0
0
0
2
-13
17
-47
43
19
22
-9
-27
-33
-1
0
0
0
0
0
10
0
0
31
87
-5
-22
-14
-37
-43
-48
2
0
0
0
0
0
4
12
-17
18
-56
-23
-2
-20
-24
10
0
0
0
0
0
0
0
0
-38
-6
10
-10
-20
-35
16
-13
40
-3
1
0
0
0
0
0
0
2
18
0
0
39
5
-29
14
1
1
0
0
0
0
0
0
0
0
0
4
12
-2
19
1
-7
-9
0
0
0
0
0
0
0
0
0
0
1
0
-2
-35
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
-12
-13
-13
8
17
4
19
40
0
-72
1
1
0
0
0
0
0
9
-15
25
-14
2
19
-19
7
-1
53
-56
17
0
0
0
0
0
1
-20
-11
-2
22
-36
-4
13
0
21
-2
-1
0
0
0
0
0
0
-20
3
21
-16
18
-1
-75
-4
29
2
0
0
0
0
0
0
0
0
8
0
1
1
-42
18
36
-6
15
6
0
0
0
0
0
0
-2
-6
4
-1
-2
-5
15
28
0
1
0
0
0
0
0
0
0
0
0
0
-1
67
-12
0
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
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
4
-21
-7
2
17
2
0
-6
0
28
2
0
0
0
0
0
0
0
-6
6
2
28
3
6
-9
35
38
-30
3
1
0
0
0
0
-6
50
9
28
-29
47
-41
28
-32
-44
-2
0
0
0
0
0
0
1
1
0
-3
-1
-39
45
7
-10
20
15
1
0
0
0
0
0
0
0
1
-3
0
-11
15
13
21
1
0
-2
3
0
0
0
0
0
0
4
3
0
0
48
-12
-13
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
4
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
-4
-4
-35
54
12
29
2
0
28
2
0
0
0
0
0
0
-1
4
-7
-25
68
-3
1
54
-5
11
-7
-6
1
0
0
0
0
0
8
6
-10
-29
30
37
31
36
-7
18
1
0
0
0
0
0
-1
4
-3
-4
-9
-30
-14
32
-14
-2
-17
1
0
0
0
0
0
-6
5
-7
-3
0
11
20
-8
-8
7
-3
2
0
0
0
0
0
0
-4
2
0
0
0
-3
44
33
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
10
-6
-7
8
-3
8
0
0
0
0
0
0
0
-1
0
0
0
-10
-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
-1
12
33
18
0
-4
1
0
0
0
0
0
0
-2
2
10
-10
-14
-37
-7
1
37
7
-18
0
-1
0
0
0
0
-4
1
8
1
-6
1
-21
1
0
8
-4
-3
1
0
0
0
0
0
-3
6
5
-5
14
-8
0
-10
6
0
0
0
0
0
0
0
0
0
1
8
-1
6
18
-1
-36
-2
0
0
0
0
0
0
0
0
0
21
0
-4
-7
4
7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
1
0
9
1
2
4
0
-1
0
0
0
0
0
0
0
0
2
0
0
19
-11
6
1
6
-1
6
0
0
0
0
0
0
0
16
0
-4
5
-4
58
-18
-1
0
-1
0
0
0
0
0
0
0
0
0
-4
-3
3
-3
27
5
1
0
0
0
0
0
0
0
0
13
0
13
4
0
37
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
-2
0
1
0
0
0
0
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
7
3
-37
-11
24
-41
0
0
0
0
0
0
0
0
0
16
12
39
-53
35
121
11
14
-29
0
0
0
0
0
0
0
0
-2
8
0
-4
-35
-43
-7
23
-45
0
0
0
0
0
0
0
0
32
6
25
62
-44
51
-5
13
7
0
0
0
0
0
0
0
0
15
0
-1
-54
-3
-19
-6
8
6
0
0
0
0
0
0
0
0
0
0
0
-10
8
-7
4
27
22
0
0
0
0
0
0
0
0
0
0
0
0
6
-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
-1
-56
-29
33
70
4
6
28
0
-53
0
0
0
0
0
0
0
-31
-15
58
28
10
27
-19
14
15
-22
0
0
0
0
0
0
0
17
-17
-40
-5
38
-68
26
-15
5
19
0
0
0
0
0
0
0
8
20
1
2
9
56
-15
31
12
22
0
0
0
0
0
0
0
4
37
-13
20
22
-13
-15
64
-5
-6
0
0
0
0
0
0
0
0
0
27
1
-10
37
-33
15
-25
4
0
0
0
0
0
0
0
3
0
-28
0
5
-1
76
42
-52
0
0
0
0
0
0
0
0
0
0
0
0
-1
-18
-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
39
9
22
-62
12
-44
28
0
10
10
0
0
0
0
0
0
1
-45
-8
2
-34
1
28
-10
22
-27
33
0
0
0
0
0
0
-3
13
-7
-22
-40
-17
42
42
65
41
9
0
0
0
0
0
0
6
-3
-14
4
26
33
39
47
3
-30
-3
0
0
0
0
0
0
-6
0
4
23
-20
-16
-6
-41
-12
54
2
0
0
0
0
0
0
0
-2
0
3
-4
-12
-32
3
24
-4
0
0
0
0
0
0
0
0
1
4
8
-23
-6
-14
-19
-1
8
0
0
0
0
0
0
0
0
-1
0
0
0
3
4
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
-2
-22
3
-13
32
-11
-54
0
-6
3
10
0
0
0
0
0
-15
50
38
1
-82
11
-7
14
14
-13
-4
11
0
0
0
0
0
0
-37
41
-1
37
-52
8
-5
-15
3
-5
3
0
0
0
0
0
-1
-3
78
14
12
41
25
23
53
9
0
0
0
0
0
0
0
-11
8
0
-22
38
-15
73
61
23
-62
0
0
0
0
0
0
0
0
7
2
-13
-1
24
42
37
-4
3
-2
0
0
0
0
0
0
0
0
0
-1
2
0
16
-3
21
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
66
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
3
0
-10
3
2
-33
0
6
-13
0
0
0
0
0
0
-2
33
-24
-16
81
35
16
58
-33
8
-39
0
0
0
0
0
0
0
0
6
-2
0
29
10
-11
10
39
1
0
0
0
0
0
0
-6
0
-6
4
-15
-26
49
-36
10
11
-18
0
0
0
0
0
0
-2
-8
-7
-2
7
51
15
-42
-1
20
3
0
0
0
0
0
0
0
0
-8
0
-1
17
9
6
-3
1
0
0
0
0
0
0
0
0
0
0
0
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
14
1
-17
26
0
53
3
0
0
0
0
0
0
3
-1
4
-2
-2
-10
-45
55
6
18
-6
3
0
0
0
0
0
0
-4
-1
23
-8
-1
-9
20
22
-15
0
3
0
0
0
0
0
2
30
-2
4
25
41
-12
-29
-61
-7
-7
0
0
0
0
0
0
4
0
1
0
13
-37
-41
-11
2
3
1
0
0
0
0
0
0
0
0
0
-1
0
3
7
-29
2
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
17
12
-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
6
-2
4
0
4
-4
-3
0
0
8
-4
0
0
0
0
0
0
3
0
1
-7
16
15
69
-15
6
-1
0
0
0
0
0
0
0
0
-3
-24
2
-15
-4
-6
2
15
0
0
0
0
0
0
0
0
9
-1
-11
61
-2
7
-29
-42
6
0
0
0
0
0
0
0
0
2
-4
-4
-3
22
35
11
-2
2
0
0
0
0
0
0
0
0
0
-2
0
1
1
-33
-10
-3
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
0
0
0
0
0
0
18
0
0
0
0
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
12
-11
0
-2
0
7
0
0
0
0
0
0
8
13
1
-74
29
3
-10
-3
4
2
0
0
0
0
0
0
0
0
0
1
-7
1
12
0
7
15
4
0
0
0
0
0
0
0
-1
-3
7
8
-12
33
10
23
-28
0
0
0
0
0
0
0
0
1
-6
-2
3
7
0
3
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-2
0
0
0
0
0
0
0
0
1
9
0
2
1
-1
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
1
0
0
3
0
0
-1
0
21
0
0
0
0
0
0
0
0
0
2
-3
-17
-11
-30
-8
19
0
1
0
0
0
0
0
0
0
-1
4
-1
19
14
58
48
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
16
11
-29
0
0
0
0
0
0
0
0
0
0
6
0
-1
6
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
7
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
-11
6
-9
-10
0
-1
0
0
0
0
0
0
0
0
0
3
0
-8
-2
-11
-28
0
0
0
0
0
0
0
0
0
0
0
0
-6
-13
4
6
6
0
0
0
0
0
0
0
0
0
0
6
-4
0
0
3
1
3
0
0
0
0
0
0
0
0
0
0
-6
0
0
-2
0
-2
4
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
3
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
2
16
-79
0
-54
0
0
0
0
0
0
0
0
0
13
14
-9
-11
17
10
72
4
6
0
0
0
0
0
0
0
0
31
-12
-3
-41
-7
-24
-96
19
-27
0
0
0
0
0
0
0
0
0
-1
47
4
46
-13
26
23
-1
0
0
0
0
0
0
0
0
-1
2
-4
8
0
-42
17
2
7
0
0
0
0
0
0
0
0
-3
7
1
23
4
-46
-5
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-14
-24
-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
-10
32
0
-17
45
26
12
12
0
-57
0
0
0
0
0
0
0
-24
-32
65
-10
-11
24
16
4
20
15
0
0
0
0
0
0
0
71
18
52
58
16
40
61
-5
26
-15
0
0
0
0
0
0
0
-9
-13
56
-7
28
23
-111
0
59
96
0
0
0
0
0
0
0
-13
24
2
-31
-7
-27
-17
5
-8
-3
0
0
0
0
0
0
0
0
-7
15
-24
-38
82
-1
1
-83
-1
0
0
0
0
0
0
0
0
-4
1
-3
-3
-34
-48
1
-59
10
0
0
0
0
0
0
0
0
0
0
-5
0
-7
-12
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
21
2
-6
9
-8
-51
12
0
-14
-2
0
0
0
0
0
0
1
-25
1
-13
8
29
20
-13
-19
-2
-19
0
0
0
0
0
0
-2
35
2
-2
41
-5
40
63
-6
63
1
0
0
0
0
0
0
11
12
-3
-2
34
23
-9
-25
-2
7
10
0
0
0
0
0
0
21
-7
-4
9
-13
-33
57
-69
8
19
0
0
0
0
0
0
0
0
-25
-11
-45
23
-40
23
36
-25
7
0
0
0
0
0
0
0
0
14
7
0
35
3
-35
-41
-41
-6
0
0
0
0
0
0
0
0
0
-1
0
0
-3
10
9
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-2
-1
5
51
60
-6
-61
0
102
-18
0
0
0
0
0
0
0
-30
-24
-19
-7
-8
-54
6
2
49
32
-1
0
0
0
0
0
1
-23
24
-5
-103
27
4
30
2
-38
-8
-7
0
0
0
0
0
0
-18
21
0
30
85
9
22
-68
-51
6
0
0
0
0
0
0
0
1
-2
-12
11
-3
32
-9
23
-21
-1
0
0
0
0
0
0
0
2
0
-35
11
26
-23
13
-29
9
0
0
0
0
0
0
0
0
3
0
0
0
-6
51
9
55
0
0
0
0
0
0
0
0
0
0
0
1
0
-10
15
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
7
-1
-4
22
129
-61
0
-48
-20
0
0
0
0
0
0
0
-2
3
4
-1
48
-31
-46
-2
80
-24
-1
0
0
0
0
0
0
0
7
-24
-30
0
-33
8
68
12
-2
3
0
0
0
0
0
0
0
-2
32
0
-14
27
-12
-64
44
-1
0
0
0
0
0
0
1
0
0
0
-10
28
14
11
29
-6
0
0
0
0
0
0
0
0
0
0
-16
0
-45
12
8
4
-12
-7
0
0
0
0
0
0
0
0
1
7
3
7
26
1
6
2
0
0
0
0
0
0
0
0
0
0
0
1
-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
-1
0
0
0
9
-12
23
0
-23
7
2
0
0
0
0
0
0
-10
0
0
-4
9
3
10
25
10
-6
0
0
0
0
0
0
0
0
0
-18
-11
-33
-9
-13
29
-16
2
0
0
0
0
0
0
0
0
-20
-1
-12
0
-1
-1
-12
48
0
0
0
0
0
0
0
0
-3
-1
-52
11
38
-20
20
0
-11
0
0
0
0
0
0
0
0
0
-2
0
1
17
0
-2
3
2
1
0
0
0
0
0
0
0
0
-3
-6
1
-2
25
6
0
11
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
6
-26
37
0
0
-3
0
0
0
0
0
0
0
-1
4
38
-3
46
-12
19
-14
0
3
1
0
0
0
0
0
0
-1
-2
-2
-3
-6
-16
-2
50
43
0
0
0
0
0
0
0
0
0
4
-10
11
53
0
0
21
20
0
0
0
0
0
0
0
0
-1
-6
-1
-2
0
-10
24
-7
-1
0
0
0
0
0
0
0
0
8
0
0
0
41
10
41
6
0
0
0
0
0
0
0
0
0
-6
-10
0
-7
1
3
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
-4
0
0
3
-4
-1
-6
0
33
0
0
0
0
0
0
0
0
-1
3
0
3
1
-18
26
44
-6
0
0
0
0
0
0
0
0
-8
3
-3
16
5
24
52
-27
4
0
0
0
0
0
0
0
0
0
-1
-22
13
24
-35
0
-9
-10
0
0
0
0
0
0
0
0
0
1
-10
-18
-1
11
-9
0
0
-2
0
0
0
0
0
0
0
-4
0
0
0
-7
1
-1
2
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
-8
2
0
0
0
0
0
0
0
0
8
0
0
1
41
12
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
18
-12
-1
7
6
0
0
0
0
0
0
0
-16
0
0
0
0
-40
4
1
0
0
0
0
0
0
0
0
0
2
0
0
-3
-13
2
22
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
15
-3
22
3
-1
0
0
0
0
0
0
0
0
6
0
0
0
-1
-1
-26
1
-7
0
0
0
0
0
0
0
0
-4
1
0
-4
4
0
0
16
0
0
0
0
0
0
0
0
0
7
0
0
-1
0
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
5
-18
-27
-42
12
-37
0
0
0
0
0
0
0
0
0
21
-18
7
-18
25
62
-85
-78
-40
0
0
0
0
0
0
0
0
-3
-1
43
-13
-45
-12
-16
-30
-9
0
0
0
0
0
0
0
0
10
-7
37
56
-32
32
-39
10
-8
0
0
0
0
0
0
0
0
0
-3
-8
39
47
-12
-59
-30
-11
0
0
0
0
0
0
0
0
6
0
-1
-35
28
1
-28
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-42
1
8
0
1
0
0
0
0
0
0
0
0
0
0
7
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
-6
1
-22
10
1
-9
0
6
0
0
0
0
0
0
0
9
-57
-4
-27
-8
-51
-23
-1
-18
-20
0
0
0
0
0
0
0
-18
-7
-22
44
-9
-24
2
-3
23
-62
0
0
0
0
0
0
0
18
-18
-9
2
-13
67
19
-23
-52
-9
0
0
0
0
0
0
0
11
0
47
-14
31
52
22
-33
-37
-29
0
0
0
0
0
0
0
0
39
-37
-1
29
-47
81
-20
-47
0
0
0
0
0
0
0
0
1
8
2
0
-19
-27
2
17
-34
0
0
0
0
0
0
0
0
0
1
-8
17
0
0
4
-7
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
6
0
0
0
0
0
0
0
0
-3
-7
-7
8
-40
-2
12
1
0
112
-3
0
0
0
0
0
0
1
-18
-38
-14
1
-8
0
39
-10
9
55
0
0
0
0
0
0
1
-14
64
22
2
63
6
-35
8
-33
13
0
0
0
0
0
0
41
54
47
37
0
35
7
6
38
45
20
0
0
0
0
0
0
3
26
0
18
-24
21
101
-2
16
-17
1
0
0
0
0
0
0
0
0
4
-24
-73
-3
28
-44
-8
-4
-10
0
0
0
0
0
0
0
-1
16
-9
43
27
27
26
41
32
0
0
0
0
0
0
0
0
0
-4
0
0
6
35
-81
0
0
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
-11
0
-23
55
24
57
1
0
11
50
0
0
0
0
0
0
0
-20
27
9
-37
28
63
59
0
33
79
0
0
0
0
0
0
0
1
28
20
73
-34
70
36
7
34
82
0
0
0
0
0
0
0
-3
2
-34
-10
6
9
-67
6
21
-12
-1
0
0
0
0
0
2
-1
-8
0
-27
17
-10
6
-5
-2
9
0
0
0
0
0
0
0
0
-1
-7
-14
29
-40
-52
2
17
0
0
0
0
0
0
0
0
0
-1
6
19
27
-24
50
-18
-1
0
0
0
0
0
0
0
0
0
0
-2
0
-3
29
7
2
2
3
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
3
0
2
-7
-51
-12
0
23
0
0
0
0
0
0
0
0
-3
-9
1
-16
4
-40
-65
-43
21
14
4
0
0
0
0
0
0
1
0
46
-27
-75
-28
-34
35
15
-7
0
0
0
0
0
0
0
3
2
0
-2
27
27
-59
16
17
0
1
0
0
0
0
0
1
0
2
23
0
-35
12
27
13
2
0
0
0
0
0
0
0
0
2
30
0
-6
34
3
52
16
38
0
0
0
0
0
0
0
0
0
0
1
25
-2
-18
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
17
-14
-4
0
2
18
0
0
0
0
0
0
0
7
2
-9
16
65
40
28
12
5
-7
0
0
0
0
0
0
0
4
0
4
-39
-15
-11
34
78
42
-2
4
0
0
0
0
0
0
0
0
-7
4
-27
-28
-16
90
-64
-15
0
0
0
0
0
0
-7
35
8
0
10
0
25
-5
72
13
0
0
0
0
0
0
0
0
0
0
-16
-2
13
-15
10
9
-12
-7
0
0
0
0
0
0
0
0
0
0
8
7
-9
-1
13
0
-2
0
0
0
0
0
0
0
0
7
6
0
-1
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
-1
0
1
0
-29
39
0
7
0
0
0
0
0
0
0
0
-3
0
0
12
5
-7
45
14
-2
2
0
0
0
0
0
0
0
0
-8
0
-39
5
-33
-5
-22
8
0
0
0
0
0
0
0
2
0
2
0
-32
7
38
-5
0
13
0
-1
0
0
0
0
0
0
15
-2
-1
30
-1
0
15
33
0
-2
0
0
0
0
0
0
0
7
18
-8
15
1
13
22
2
-4
2
0
0
0
0
0
0
0
0
0
-3
-8
0
15
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
6
-10
0
7
0
0
0
0
0
0
0
0
0
0
11
-15
39
-17
0
-3
-1
0
0
0
0
0
0
0
0
6
1
3
25
3
-16
-66
3
-2
-1
0
0
0
0
0
0
0
0
0
10
23
-17
-6
16
-7
13
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
15
3
-11
-2
-16
0
-3
0
0
0
0
0
0
0
0
0
0
0
12
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
4
-1
-1
0
-11
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
24
-25
20
0
0
0
0
0
0
0
0
0
0
15
0
-2
-7
-16
11
4
1
0
0
0
0
0
0
0
16
0
-7
9
45
97
15
0
-6
0
0
0
0
0
0
0
0
0
0
-6
-13
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
-1
0
-1
7
27
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
3
0
0
0
0
0
0
0
0
0
0
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
1
0
-2
-7
-1
10
3
-1
0
0
0
0
0
0
0
0
0
0
1
-1
9
-2
22
1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
-4
27
-3
-32
-7
12
0
0
0
0
0
0
0
0
0
-23
-1
0
-37
41
52
9
1
-30
0
0
0
0
0
0
0
0
2
2
-9
5
-11
-12
-39
-66
49
0
0
0
0
0
0
0
0
2
11
33
66
-29
3
-11
33
-20
0
0
0
0
0
0
0
0
-8
-17
-2
47
30
-19
-3
9
17
0
0
0
0
0
0
0
0
0
42
1
23
61
-14
9
28
0
0
0
0
0
0
0
0
0
-12
10
7
7
54
-9
10
38
10
0
0
0
0
0
0
0
0
0
0
0
-6
-2
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
-7
-17
18
33
43
-18
31
13
0
22
0
0
0
0
0
0
0
12
-34
39
-11
17
38
13
16
-63
21
0
0
0
0
0
0
0
2
58
-16
2
34
-3
1
18
36
-34
0
0
0
0
0
0
0
0
79
17
41
38
-35
-19
-25
-61
8
0
0
0
0
0
0
0
2
11
-9
115
40
13
33
25
11
76
0
0
0
0
0
0
0
-1
0
-17
23
33
-24
6
2
-21
10
0
0
0
0
0
0
0
1
-9
-1
4
2
21
16
21
-5
-1
0
0
0
0
0
0
0
0
-1
2
-16
-3
16
37
39
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
22
3
0
0
0
0
0
0
0
0
0
6
-2
-22
0
-13
7
32
51
0
-1
-35
0
0
0
0
0
0
-2
-8
42
16
-9
-27
-13
19
49
2
-12
0
0
0
0
0
0
-1
3
-17
-20
-14
10
61
-17
-20
72
28
0
0
0
0
0
0
10
44
-20
45
78
27
44
-12
8
63
6
0
0
0
0
0
0
-4
-61
7
7
48
-42
34
-42
10
60
0
0
0
0
0
0
0
19
-66
0
5
-62
-8
26
43
-30
61
0
0
0
0
0
0
0
-2
0
-38
29
-24
28
-17
52
78
-5
0
0
0
0
0
0
0
0
0
-16
-3
0
26
16
49
-14
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
0
-13
0
0
0
0
0
0
0
0
2
9
-1
2
29
7
-33
-25
0
42
12
1
0
0
0
0
0
2
63
-29
10
39
6
-15
-28
-8
-2
-13
-6
0
0
0
0
0
0
-1
9
1
79
-12
6
17
25
12
-28
0
0
0
0
0
0
2
101
-3
0
-28
-27
28
55
-13
41
33
0
0
0
0
0
0
0
-21
-2
-32
17
41
13
-38
50
18
6
0
0
0
0
0
0
0
59
3
0
1
-24
24
12
45
22
0
0
0
0
0
0
0
0
-49
1
65
-28
-16
-21
-35
-21
7
7
0
0
0
0
0
0
0
0
2
-6
0
-2
-10
-22
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
1
-8
-37
40
25
0
-16
11
0
0
0
0
0
0
0
2
9
-36
0
-29
-21
14
-52
-32
-4
0
0
0
0
0
0
0
1
0
8
22
38
94
-31
9
10
11
0
0
0
0
0
0
0
-1
0
-1
6
-6
3
4
-61
18
-2
0
0
0
0
0
0
0
0
4
18
-50
12
42
-21
19
-17
0
-1
0
0
0
0
0
0
7
59
-26
0
8
51
27
-6
-6
0
0
0
0
0
0
0
-1
0
1
0
8
0
23
10
0
0
1
0
0
0
0
0
0
0
0
0
1
-2
-2
19
-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
-4
-1
-6
37
-27
0
-6
0
0
0
0
0
0
0
0
-1
0
-4
3
-2
25
7
-5
-2
4
0
0
0
0
0
0
0
0
-6
0
0
0
6
-18
-26
-22
3
0
0
0
0
0
0
0
0
-1
57
24
34
51
46
-9
28
12
0
0
0
0
0
0
1
-13
4
4
-20
23
28
42
73
3
0
0
0
0
0
0
0
0
12
-4
1
1
0
-26
-15
-2
0
0
0
0
0
0
0
0
-2
0
-16
9
0
-9
2
11
-3
2
0
0
0
0
0
0
0
0
-1
-3
0
0
0
-1
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
0
0
-11
0
0
0
0
0
0
0
0
-1
0
1
19
-19
83
-45
17
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
11
-35
0
0
0
0
0
0
0
0
0
-2
0
0
3
13
4
-10
-2
-30
0
0
0
0
0
0
0
0
-3
-11
0
-3
5
54
9
38
4
0
0
0
0
0
0
0
0
0
6
0
0
4
0
27
0
24
0
0
0
0
0
0
0
0
0
0
-1
0
2
22
1
0
0
0
0
0
0
0
0
0
0
0
-1
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
-3
-33
3
0
-1
2
0
0
0
0
0
0
-3
0
-7
0
-10
0
0
21
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
19
-9
-6
-13
-7
0
0
0
0
0
0
0
0
0
0
-2
-2
-11
4
-11
-8
6
3
0
0
0
0
0
0
0
9
0
8
0
-40
19
10
3
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
3
-28
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
10
2
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
47
11
-18
-28
-8
0
0
0
0
0
0
0
0
-2
0
1
0
3
-3
-4
-14
0
0
0
0
0
0
0
0
0
-1
0
4
-29
27
-9
38
-2
-24
0
0
0
0
0
0
0
0
0
0
0
-8
6
93
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
1
21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-11
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
-6
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
1
5
-35
-6
47
14
0
0
0
0
0
0
0
0
0
76
13
-8
-23
41
90
-14
34
19
0
0
0
0
0
0
0
0
-15
0
-4
14
-15
30
33
-65
9
0
0
0
0
0
0
0
0
-22
8
-1
23
-49
51
12
10
28
0
0
0
0
0
0
0
0
-1
1
-4
-78
-31
-8
28
-2
34
0
0
0
0
0
0
0
0
22
4
-17
52
7
10
-24
-7
-1
0
0
0
0
0
0
0
0
0
0
4
2
54
45
-19
-11
-2
0
0
0
0
0
0
0
0
0
0
-2
29
-11
-3
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
20
0
0
0
0
0
0
0
0
0
0
0
-47
-12
7
44
46
-11
-27
0
10
0
0
0
0
0
0
0
0
-49
-32
-38
-104
-41
-47
14
-7
14
0
0
0
0
0
0
0
0
12
-8
17
38
29
-2
12
10
-21
0
0
0
0
0
0
0
8
-3
9
-33
-16
11
19
22
22
25
0
0
0
0
0
0
0
0
26
7
-13
60
30
28
81
-48
-17
0
0
0
0
0
0
0
10
-27
-9
11
1
67
8
-40
-11
-43
0
0
0
0
0
0
0
-4
0
1
14
-23
-23
45
-41
-18
13
0
0
0
0
0
0
0
0
1
13
-41
10
0
-13
9
6
5
0
0
0
0
0
0
0
2
0
0
0
4
-1
3
-2
0
0
0
0
0
0
0
0
0
0
-3
30
-2
11
-3
67
-35
0
12
4
0
0
0
0
0
0
-1
-68
-18
-6
-1
42
31
16
34
18
7
0
0
0
0
0
0
-2
19
12
-4
66
8
-14
-1
6
-21
6
0
0
0
0
0
0
0
-37
-4
-10
16
44
7
15
45
55
7
0
0
0
0
0
0
0
-10
-6
36
-22
5
62
-17
-19
-6
-1
0
0
0
0
0
0
-3
-9
4
23
-6
24
20
-15
58
14
-9
0
0
0
0
0
0
16
15
0
0
-33
-20
-21
-5
65
-20
0
0
0
0
0
0
0
0
0
-4
7
-12
6
31
-25
10
-27
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
-4
3
-7
-16
59
72
0
1
7
-1
0
0
0
0
0
0
-8
-6
-6
-19
-47
-12
42
5
19
-11
4
0
0
0
0
0
0
-6
1
-12
3
-3
87
27
-17
54
-19
0
0
0
0
0
0
0
-4
0
-2
-6
43
-36
-9
40
-34
-11
0
0
0
0
0
0
0
6
-4
-3
-29
64
26
-65
-6
81
-1
0
0
0
0
0
0
1
-11
2
38
7
122
74
-81
14
-8
8
0
0
0
0
0
0
0
1
73
0
22
-7
-69
49
-24
3
0
0
0
0
0
0
0
0
12
0
-5
0
23
-9
-33
-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
-1
6
7
-8
5
29
-27
0
68
15
0
0
0
0
0
0
0
0
0
2
-10
27
9
-5
9
29
29
-1
0
0
0
0
0
0
-1
0
6
-3
-8
51
-7
15
32
0
0
0
0
0
0
0
0
-11
0
-1
-2
14
-33
11
-8
7
1
0
0
0
0
0
0
0
-4
0
0
-8
54
12
24
-3
2
-6
0
0
0
0
0
0
0
0
-3
-1
-2
-35
-22
-24
9
19
0
3
0
0
0
0
0
0
0
0
0
0
-24
16
-11
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
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
8
-4
-2
0
-45
19
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-12
6
8
-41
-9
-2
0
0
0
0
0
0
0
0
0
12
-9
-2
10
3
-1
0
0
0
0
0
0
0
0
0
-2
0
0
12
1
28
30
-39
0
0
0
0
0
0
0
0
0
0
0
29
1
27
1
-6
0
-6
0
0
0
0
0
0
0
0
0
0
16
-15
9
27
1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-6
0
25
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
5
-4
18
0
0
0
0
0
0
0
0
0
0
1
0
0
25
-7
-10
0
0
0
0
0
0
0
0
0
0
0
1
0
25
3
57
1
-11
0
0
0
0
0
0
0
0
10
0
1
-1
12
-21
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
2
0
0
-1
0
0
0
0
0
0
0
21
0
1
-1
-7
-8
-33
-19
0
0
0
0
0
0
0
0
0
1
0
-1
-1
0
-10
3
6
9
0
0
0
0
0
0
0
0
0
0
0
0
11
0
4
1
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
2
-4
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
11
-7
11
0
-10
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
10
3
-20
12
-12
0
0
0
0
0
0
0
0
2
0
11
-1
-3
-6
0
39
0
0
0
0
0
0
0
0
0
0
-3
0
-22
4
-1
-30
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-11
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-12
-3
0
0
0
0
0
0
0
0
0
8
0
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
40
-2
2
-17
0
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
-9
3
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
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
1
0
0
0
0
0
0
0
0
0
7
0
6
-16
1
-13
-42
21
37
0
0
0
0
0
0
0
0
12
0
0
59
50
8
32
27
-36
0
0
0
0
0
0
0
0
33
-2
-1
-6
-45
0
-3
-38
-9
0
0
0
0
0
0
0
0
29
0
7
-3
-21
31
-45
-9
42
0
0
0
0
0
0
0
0
29
7
-26
-57
-39
12
2
-26
-3
0
0
0
0
0
0
0
0
-1
9
36
55
34
3
-45
-20
56
0
0
0
0
0
0
0
0
0
0
-2
-12
-13
26
-29
15
0
0
0
0
0
0
0
0
0
-4
-3
0
0
13
0
-21
0
0
0
0
0
0
0
0
0
0
0
15
-3
26
9
-8
34
-7
0
1
0
0
0
0
0
0
0
0
27
26
-40
-5
17
58
2
-16
-4
0
0
0
0
0
0
0
0
7
17
1
-32
-29
-34
-44
71
36
0
0
0
0
0
0
0
-2
-39
-15
-3
-10
74
-51
-25
22
50
0
0
0
0
0
0
0
0
7
16
20
24
53
27
21
-7
-58
0
0
0
0
0
0
0
0
-58
-19
63
65
-28
25
-11
-40
19
0
0
0
0
0
0
0
-9
-2
-18
8
-25
6
15
-42
-29
6
0
0
0
0
0
0
0
0
0
-2
42
17
-37
53
-11
-10
30
0
0
0
0
0
0
0
0
0
0
3
0
7
6
-20
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
46
33
0
-12
1
0
0
0
0
0
0
0
-22
14
0
-9
5
7
66
8
-36
18
0
0
0
0
0
0
-10
0
4
0
10
64
7
-24
41
-10
-56
0
0
0
0
0
0
0
24
2
-11
15
-32
79
6
35
-21
9
0
0
0
0
0
0
0
-10
-11
19
-8
-29
-3
4
-10
3
19
0
0
0
0
0
0
0
22
8
-8
28
19
20
-50
27
-26
-3
0
0
0
0
0
0
0
0
-1
18
-36
-73
16
-7
37
25
0
0
0
0
0
0
0
0
43
0
25
-1
81
-21
-3
-17
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
14
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-22
10
0
21
0
0
0
0
0
0
0
0
8
-13
9
0
3
15
-43
66
83
-35
3
0
0
0
0
0
0
-2
0
-1
24
37
-13
2
-85
18
-5
1
0
0
0
0
0
0
-3
0
0
22
2
-2
76
-50
36
-6
0
0
0
0
0
0
0
1
0
1
-29
-26
34
51
-21
-1
-2
0
0
0
0
0
0
0
-2
-1
-1
27
-34
17
-20
87
4
0
0
0
0
0
0
0
0
0
21
12
-7
34
2
-21
-3
-37
14
0
0
0
0
0
0
0
-6
-1
0
1
-8
-3
-36
4
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
4
0
32
-1
0
0
0
0
0
0
0
0
0
0
0
29
1
-21
0
2
8
0
0
0
0
0
0
0
0
0
1
1
1
35
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-12
-6
2
-1
0
0
0
0
0
0
0
3
0
2
-1
-17
13
0
-2
0
0
0
0
0
0
0
0
0
0
0
-9
-12
-3
4
56
13
2
0
0
0
0
0
0
0
0
1
0
8
-19
4
-32
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
-16
8
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
25
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
1
0
-2
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
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
9
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
24
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
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
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
18
3
-25
0
0
0
0
0
0
0
0
0
12
0
0
0
22
-3
-7
12
-26
0
0
0
0
0
0
0
0
-9
0
0
60
15
-10
1
0
10
0
0
0
0
0
0
0
0
2
3
10
5
-15
16
27
7
19
0
0
0
0
0
0
0
0
0
81
-37
62
0
53
-16
61
0
0
0
0
0
0
0
0
0
-4
0
0
-12
59
26
-41
-11
18
0
0
0
0
0
0
0
0
0
0
12
45
1
48
0
-2
0
0
0
0
0
0
0
0
0
0
-1
4
0
-9
10
16
0
1
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
50
0
0
0
0
0
0
0
0
0
0
0
0
0
3
5
-6
10
28
0
0
0
0
0
0
0
0
0
4
0
0
-1
2
52
-75
17
14
0
0
0
0
0
0
0
0
-11
0
-9
6
-44
2
12
0
2
0
0
0
0
0
0
0
-6
0
-1
0
28
2
-1
0
-20
1
0
0
0
0
0
0
0
0
18
8
75
-15
46
-50
0
-3
0
0
0
0
0
0
0
0
0
0
4
13
-9
33
6
-14
0
0
0
0
0
0
0
0
0
0
0
0
-12
-19
27
-1
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
40
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-12
13
23
4
0
0
0
0
0
0
0
0
-2
-6
0
0
-6
-7
-2
23
2
2
0
0
0
0
0
0
0
0
0
0
2
21
49
-28
18
-24
0
0
0
0
0
0
0
0
-1
0
3
0
1
48
7
14
9
-5
0
0
0
0
0
0
0
0
0
-67
4
-1
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
9
6
-40
-13
-4
32
0
1
0
0
0
0
0
0
0
0
0
11
-1
15
3
20
6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
3
3
9
0
0
0
0
0
0
0
0
0
0
0
0
2
0
22
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-3
0
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
1
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-9
15
7
-10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-28
11
-39
-9
0
0
0
0
0
0
0
0
0
-4
-11
67
-13
-13
-26
-14
-53
0
0
0
0
0
0
0
0
0
0
0
-18
-24
44
7
42
11
0
0
0
0
0
0
0
0
0
0
0
0
-21
-44
-11
38
13
0
0
0
0
0
0
0
0
0
0
0
6
0
19
-53
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
13
-8
14
0
37
0
0
0
0
0
0
0
0
0
0
0
57
-42
33
-93
-45
-18
0
0
0
0
0
0
0
0
0
0
0
6
12
-8
29
-84
9
45
-43
-32
0
0
0
0
0
0
0
0
-61
23
55
-66
77
15
41
-50
-34
0
0
0
0
0
0
0
0
-6
61
25
31
59
62
15
29
51
0
0
0
0
0
0
0
0
-11
-7
-20
-23
-20
-49
37
32
-51
0
0
0
0
0
0
0
0
0
0
57
38
75
-16
23
-20
18
0
0
0
0
0
0
0
0
0
0
13
-26
18
6
2
29
62
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-21
0
0
0
0
0
0
0
0
0
0
0
57
7
-38
51
0
0
0
-15
0
0
0
0
0
0
0
-25
-27
66
-5
-11
-8
0
0
0
34
0
0
0
0
0
0
0
33
24
-68
-25
21
21
20
-22
-61
22
0
0
0
0
0
0
0
33
40
20
-44
-69
37
-19
25
-72
11
0
0
0
0
0
0
0
-7
41
27
25
46
-14
-7
-32
-20
12
0
0
0
0
0
0
0
-13
-40
-34
2
18
16
35
-58
75
4
0
0
0
0
0
0
0
0
-6
4
-51
-52
7
-21
-11
-19
33
0
0
0
0
0
0
0
0
-6
11
-11
-61
-10
-30
9
7
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
-30
-6
0
0
0
0
35
0
0
0
0
0
0
0
1
-19
-30
43
-16
-33
0
0
0
13
-11
0
0
0
0
0
0
0
7
21
1
32
-9
-78
35
-88
28
-9
0
0
0
0
0
0
-10
-16
-18
-81
33
73
25
-13
2
-42
0
0
0
0
0
0
0
0
-24
-29
30
-29
-77
-8
0
-12
5
1
0
0
0
0
0
0
0
0
-15
-53
42
20
8
64
-16
16
0
0
0
0
0
0
0
0
0
-6
-70
-35
-22
46
-1
34
-13
-2
0
0
0
0
0
0
0
0
1
6
1
15
19
-3
28
38
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
-21
0
-10
-44
0
0
0
-2
0
0
0
0
0
0
0
-26
-22
-1
11
-76
14
0
0
0
-22
-2
0
0
0
0
0
0
0
-1
-16
-24
38
-20
-23
29
3
-41
-2
0
0
0
0
0
0
0
2
-1
-26
22
44
-31
-23
-6
-21
0
0
0
0
0
0
0
0
-13
1
-34
30
-61
-10
-19
6
-5
1
0
0
0
0
0
0
0
0
0
-3
22
-89
-55
66
-20
-15
8
0
0
0
0
0
0
0
10
-2
7
-89
-29
-36
21
11
1
13
0
0
0
0
0
0
0
0
-2
7
-26
44
10
29
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
8
0
0
0
-54
0
0
0
0
7
0
0
0
0
0
0
0
3
-13
-2
-15
21
0
0
0
1
-2
0
0
0
0
0
0
0
1
-16
-24
-4
-29
-13
-5
-6
36
-3
0
0
0
0
0
0
0
0
-7
40
-6
-23
-13
-1
72
-2
0
0
0
0
0
0
0
0
0
-3
18
-36
85
-11
-86
-9
-16
-1
0
0
0
0
0
0
0
0
1
33
28
9
19
15
15
-15
0
0
0
0
0
0
0
0
0
0
0
6
0
21
19
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
38
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-2
-2
10
0
0
0
-4
-1
0
0
0
0
0
0
0
0
-2
4
2
-13
-35
1
-79
0
0
0
0
0
0
0
0
0
0
0
0
-12
26
-38
16
-59
1
0
0
0
0
0
0
0
0
0
0
0
-2
-8
56
4
-83
-6
0
0
0
0
0
0
0
0
0
0
3
-1
13
20
-5
18
0
-1
0
0
0
0
0
0
0
0
0
-4
-8
-7
2
-3
67
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
5
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
3
4
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
42
16
-39
52
0
0
0
0
0
0
0
0
0
0
0
-4
-24
10
-63
41
60
0
0
0
0
0
0
0
0
0
0
0
-27
10
11
-30
-27
-43
-54
13
0
0
0
0
0
0
0
0
0
6
14
32
-13
15
-50
85
16
0
0
0
0
0
0
0
0
0
-2
-19
11
6
-43
25
29
-8
0
0
0
0
0
0
0
0
0
0
-11
6
14
-15
6
19
-62
0
0
0
0
0
0
0
0
0
0
0
-11
-1
29
7
6
69
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-10
2
11
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
6
-30
-1
-84
-30
16
-92
0
0
0
0
0
0
0
0
0
0
6
-3
64
52
9
-11
5
0
0
0
0
0
0
0
0
0
0
-2
-12
-19
-22
44
4
22
5
-32
-1
0
0
0
0
0
0
0
0
-10
-56
36
-11
-16
0
-4
24
-7
0
0
0
0
0
0
0
0
8
18
40
18
-6
17
26
1
12
0
0
0
0
0
0
0
-1
12
-10
36
37
51
19
56
-5
-10
0
0
0
0
0
0
0
0
-1
10
-5
27
12
-10
-45
24
-17
0
0
0
0
0
0
0
0
0
0
0
4
-26
-2
-6
11
76
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-19
1
0
0
0
0
0
0
0
0
-3
16
-58
-33
-85
-82
0
0
0
-29
0
0
0
0
0
0
0
-2
-4
19
7
-19
7
0
0
0
56
0
0
0
0
0
0
0
-4
-5
33
-30
2
-26
2
-22
20
-12
0
0
0
0
0
0
0
3
33
1
7
-51
-2
9
16
-43
-34
0
0
0
0
0
0
0
6
-24
-19
9
-17
4
43
22
-19
23
0
0
0
0
0
0
0
-1
-64
35
4
-46
-7
-26
-52
-7
-26
0
0
0
0
0
0
0
6
-4
9
33
-33
-23
-58
3
-57
0
0
0
0
0
0
0
0
0
0
7
19
-20
-120
-74
-82
-33
17
0
0
0
0
0
0
0
0
0
0
0
-1
0
15
-21
-10
-29
0
0
0
0
0
0
0
0
3
10
-3
-34
8
0
0
0
-62
-1
0
0
0
0
0
0
1
50
25
8
22
-28
0
0
0
-1
10
0
0
0
0
0
0
-15
-38
12
-72
62
-25
-14
1
18
13
6
0
0
0
0
0
0
-3
-18
32
-23
-20
35
4
27
-19
-23
-3
0
0
0
0
0
0
-10
4
-36
50
-2
-22
-23
-30
29
-43
12
0
0
0
0
0
0
0
7
17
1
72
-31
26
-19
46
-72
-4
0
0
0
0
0
0
0
0
11
-17
-11
33
-43
-18
-16
6
19
0
0
0
0
0
0
0
0
0
-2
-32
-7
-27
-44
-19
-29
0
0
0
0
0
0
0
0
0
0
0
-9
0
3
24
0
-12
0
0
0
0
0
0
0
0
12
30
12
-13
0
0
0
0
-17
4
0
0
0
0
0
-2
0
-8
-38
-15
-2
-11
0
0
0
11
-22
0
0
0
0
0
0
9
-10
44
22
-13
-22
-33
-7
-57
-27
-56
-2
0
0
0
0
0
0
7
10
4
79
26
-15
16
-26
-23
-25
-15
0
0
0
0
0
0
13
-34
36
-2
-45
-36
13
-28
5
-51
-10
0
0
0
0
0
0
0
-4
-3
-26
-59
49
-97
-43
14
8
0
0
0
0
0
0
0
0
0
0
-55
-28
-39
-6
18
-11
0
0
0
0
0
0
0
0
0
0
-4
3
1
-2
58
-35
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
4
0
0
0
0
0
0
0
0
18
27
8
0
-15
0
0
0
37
-4
0
0
0
0
0
0
-1
-13
17
-35
0
4
0
0
0
-6
6
0
0
0
0
0
0
0
-7
22
12
-38
31
-23
-21
15
-8
-21
-2
0
0
0
0
0
0
1
8
8
-2
1
-24
-70
-109
-31
3
0
0
0
0
0
0
0
0
-12
-5
88
-17
59
-15
-24
19
-1
0
0
0
0
0
0
0
-1
-7
-4
-3
49
36
-20
-2
22
0
-4
0
0
0
0
0
0
0
1
4
8
5
-21
-11
1
-10
2
0
0
0
0
0
0
0
0
0
24
0
2
1
1
12
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
-6
1
0
0
0
0
0
0
0
-7
16
-5
-24
1
0
0
0
21
-20
-3
0
0
0
0
0
0
0
2
-25
-1
-20
-34
39
-56
8
-20
1
0
0
0
0
0
0
0
0
-7
9
-35
-21
1
83
-35
3
0
0
0
0
0
0
0
0
0
-2
2
-20
-46
22
-21
2
0
-3
0
0
0
0
0
0
0
0
3
-7
-26
1
-18
2
11
-6
0
0
0
0
0
0
0
0
0
0
-6
0
29
3
-53
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
3
0
-1
-32
0
-13
1
2
-1
0
0
0
0
0
0
0
0
0
1
-2
1
1
-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
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-8
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
-3
4
6
-3
-22
1
0
1
0
0
0
0
0
0
0
0
0
0
3
7
-15
10
15
-8
1
0
0
0
0
0
0
0
0
0
-2
0
-13
-9
0
-34
4
1
0
0
0
0
0
0
0
0
0
-1
-3
-6
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-10
-1
0
0
0
0
0
0
0
0
0
-3
1
1
0
0
0
-15
-12
-1
0
0
0
0
0
0
0
-3
0
8
0
-8
-2
-2
38
13
0
0
0
0
0
0
0
0
0
0
0
0
-51
19
6
2
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
-5
17
-11
6
0
1
0
0
0
0
0
0
0
0
0
0
0
-10
8
25
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-15
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-6
10
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
3
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
3
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-54
-9
4
-42
-22
0
0
0
0
0
0
0
0
0
0
0
-1
-18
-26
-45
8
-25
0
0
0
0
0
0
0
0
0
0
0
6
28
3
80
10
-32
29
-56
0
0
0
0
0
0
0
0
0
0
0
-9
-1
11
-69
-60
-3
0
0
0
0
0
0
0
0
0
-3
1
19
9
-13
-23
11
39
0
0
0
0
0
0
0
0
0
0
0
3
9
-25
29
-29
28
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-32
44
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-25
0
0
0
0
0
0
0
0
2
-10
12
-13
-8
-44
44
0
0
0
0
0
0
0
0
0
0
0
-29
-53
74
6
-31
13
0
0
0
0
0
0
0
0
0
0
0
9
18
-13
-16
-37
25
37
-15
-13
0
0
0
0
0
0
0
0
22
-11
13
-66
12
-55
-48
-33
11
0
0
0
0
0
0
0
0
-1
11
-1
33
-15
11
21
27
-1
0
0
0
0
0
0
0
-1
-2
-19
-3
47
-5
53
35
55
-18
0
0
0
0
0
0
0
0
0
0
2
38
-12
32
30
-4
-72
0
0
0
0
0
0
0
0
0
0
1
-2
13
7
15
47
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-12
0
0
0
0
0
0
0
0
-3
7
-15
38
51
21
0
0
0
-12
0
0
0
0
0
0
0
-4
4
-27
-19
18
2
0
0
0
-13
0
0
0
0
0
0
0
6
21
-7
3
40
43
-42
-35
-13
-19
0
0
0
0
0
0
0
-2
-9
-7
25
-2
29
-35
-22
12
-15
0
0
0
0
0
0
0
1
-30
-53
12
8
6
-9
1
0
-40
0
0
0
0
0
0
0
0
-18
-13
23
-19
-39
33
-26
-7
-33
0
0
0
0
0
0
0
0
0
-1
-7
48
37
-9
-46
-29
0
0
0
0
0
0
0
0
0
0
3
-2
6
11
-38
65
45
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
24
0
0
0
0
0
0
0
1
0
-1
-19
-39
23
-39
0
0
0
27
-2
0
0
0
0
0
0
-2
-19
-21
-38
31
-10
0
0
0
11
0
0
0
0
0
0
0
6
0
-55
21
-65
28
-35
-58
52
52
0
0
0
0
0
0
0
-2
46
30
-10
28
-71
29
-55
-78
-38
0
0
0
0
0
0
0
0
2
-4
-16
-28
57
3
-69
48
3
11
0
0
0
0
0
0
0
0
-21
-10
4
-37
38
-47
8
-3
0
0
0
0
0
0
0
0
0
0
-11
-28
7
-1
6
21
36
0
0
0
0
0
0
0
0
0
0
0
-11
0
-9
10
-11
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
0
0
0
0
0
0
0
0
0
-2
42
15
71
-17
0
0
0
-1
4
0
0
0
0
0
0
0
-3
-38
30
0
15
0
0
0
27
-31
0
0
0
0
0
0
6
57
0
14
-3
-30
-16
1
10
-29
18
4
0
0
0
0
0
1
-10
-12
13
55
-12
-18
17
-54
-25
-29
-1
0
0
0
0
0
0
0
0
-48
1
33
-65
27
12
-4
-14
0
0
0
0
0
0
0
8
-3
-24
-64
11
29
-69
-37
27
26
0
0
0
0
0
0
0
0
-6
-6
1
-28
-1
-18
19
0
-19
0
0
0
0
0
0
0
0
0
0
-11
0
1
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
6
9
-2
-4
0
0
0
8
0
0
0
0
0
0
0
0
-9
-19
-4
-9
-2
0
0
0
6
25
2
0
0
0
0
0
0
0
-13
-13
22
3
27
7
-58
-7
-2
3
0
0
0
0
0
2
-11
0
-2
-18
-33
10
29
-60
-11
0
0
0
0
0
0
0
0
0
4
-23
19
24
-43
21
-10
-3
9
0
0
0
0
0
0
0
0
2
-4
0
-72
-15
-53
12
13
-1
0
0
0
0
0
0
0
0
0
1
-1
-34
47
30
-41
-11
-9
0
0
0
0
0
0
0
0
0
0
-1
3
9
8
-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
-1
-1
1
18
0
0
0
2
0
0
0
0
0
0
0
0
-1
1
-3
-21
6
0
0
0
-6
-54
0
0
0
0
0
0
0
0
0
12
7
3
-9
29
2
18
13
-1
-2
0
0
0
0
0
3
-9
-1
-2
21
-35
28
45
0
-1
1
0
0
0
0
0
0
0
0
0
8
16
7
13
12
20
-27
0
0
0
0
0
0
0
0
0
0
-3
9
-3
32
-10
5
-1
0
0
0
0
0
0
0
0
0
0
8
0
3
3
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
2
1
0
0
0
-50
-2
0
0
0
0
0
0
0
0
-1
-1
0
-7
0
-34
6
-7
-2
0
0
0
0
0
0
0
0
0
1
-4
-7
3
13
10
-9
-1
0
0
0
0
0
0
0
0
0
0
-1
0
23
9
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
-23
25
19
-16
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
-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
-3
-1
-2
12
0
0
0
-1
0
0
0
0
0
0
0
-4
-10
17
17
-54
-23
0
0
0
-14
-1
0
0
0
0
0
0
1
0
16
-35
8
-31
10
-42
-57
0
0
0
0
0
0
0
0
0
1
-7
-12
-22
-38
24
43
-6
-1
0
0
0
0
0
0
0
0
4
1
0
2
-57
-4
66
2
1
3
0
0
0
0
0
0
0
0
0
0
2
38
20
33
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
18
40
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
2
2
-2
18
0
0
0
0
3
-8
1
0
0
0
0
0
0
16
-1
-15
36
11
0
0
0
-22
3
0
0
0
0
0
0
0
-4
-12
-4
17
71
-16
-43
7
7
-4
0
0
0
0
0
0
0
0
-3
1
-12
-16
-38
-12
43
-24
1
0
0
0
0
0
0
0
-2
0
3
-20
-51
12
56
-2
8
-6
0
0
0
0
0
0
0
0
0
1
4
-3
40
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
22
20
-23
-13
0
0
0
0
0
0
0
0
0
0
-9
0
0
2
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
2
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
-10
-1
0
0
0
0
0
0
0
0
0
0
-6
6
0
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
10
-17
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
40
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
27
3
1
2
0
0
0
0
0
0
0
0
0
0
0
6
-32
-4
-29
-41
4
2
-4
0
0
0
0
0
0
0
0
0
0
1
54
-12
21
-14
88
-37
0
0
0
0
0
0
0
0
0
0
0
2
-1
-36
-6
16
-49
0
0
0
0
0
0
0
0
0
0
0
0
7
6
-3
3
3
0
0
0
0
0
0
0
0
0
0
0
0
-19
-9
9
-53
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
0
18
19
3
-18
49
0
0
0
0
0
0
0
0
0
0
1
11
22
39
-21
-14
76
0
0
0
0
0
0
0
0
0
0
0
-29
56
45
49
-23
79
-2
-109
-81
0
0
0
0
0
0
0
0
-1
11
-19
-39
3
-29
15
-42
-44
0
0
0
0
0
0
0
0
12
58
4
-58
-22
-62
-27
-38
-27
0
0
0
0
0
0
0
0
0
37
16
20
21
100
20
-31
4
0
0
0
0
0
0
0
0
0
13
0
27
71
5
14
-2
57
0
0
0
0
0
0
0
0
0
0
0
0
8
22
21
42
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
9
-2
0
0
0
0
0
0
0
0
0
-6
15
87
-98
-21
0
0
0
-6
0
0
0
0
0
0
0
-9
15
-12
-4
23
-8
0
0
0
-6
0
0
0
0
0
0
0
-4
8
-93
-30
-35
57
3
-8
-11
2
0
0
0
0
0
0
0
0
-2
-42
48
-72
-10
-16
-21
-14
45
0
0
0
0
0
0
0
0
-12
-29
-60
-68
-36
3
9
-23
7
0
0
0
0
0
0
0
2
0
-16
-59
-7
-38
-42
33
33
-4
0
0
0
0
0
0
0
0
0
0
4
-38
-40
-32
1
-6
-3
0
0
0
0
0
0
0
0
0
-2
0
0
10
-12
-17
-4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-15
22
0
0
0
0
0
0
0
0
0
0
10
-56
-40
35
0
0
0
33
0
0
0
0
0
0
0
-10
0
52
-4
-3
-23
0
0
0
-45
-10
0
0
0
0
0
0
0
-18
27
46
-41
-9
-48
-17
-32
13
0
0
0
0
0
0
1
17
-8
-8
22
37
-23
20
30
-87
13
0
0
0
0
0
0
0
10
3
2
-12
-42
47
-24
-73
-5
9
-1
0
0
0
0
0
0
0
0
0
-17
52
-57
-2
40
22
-71
0
0
0
0
0
0
0
1
0
0
0
16
6
27
-46
-43
-4
0
0
0
0
0
0
0
0
0
-7
0
3
-3
0
-66
-25
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
16
25
-44
41
30
0
0
0
-18
3
0
0
0
0
0
0
0
66
-6
2
-46
42
0
0
0
87
39
0
0
0
0
0
0
1
-8
2
-10
42
-25
-7
9
5
5
-8
2
0
0
0
0
0
-4
-9
4
-1
4
5
-18
-38
2
38
2
1
0
0
0
0
0
0
3
-19
15
-21
-3
-72
-52
34
-12
0
4
0
0
0
0
0
0
0
1
-7
88
-19
11
-18
12
7
-2
0
0
0
0
0
0
0
0
-4
3
-4
6
-24
20
54
12
3
0
0
0
0
0
0
0
0
0
0
6
6
16
-51
-45
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
-19
-30
1
0
0
0
0
-14
0
-7
0
0
0
0
0
-7
-3
0
-9
6
-13
0
0
0
-37
0
-3
0
0
0
0
0
0
-7
6
23
8
-3
25
0
39
20
-10
1
0
0
0
0
0
0
0
-10
-8
0
10
0
12
28
20
1
0
0
0
0
0
0
0
-3
-2
-1
8
-2
-11
20
-24
11
-4
0
0
0
0
0
0
0
0
0
0
0
2
38
-7
6
2
-1
1
0
0
0
0
0
0
0
0
-2
6
0
-10
-13
-10
-6
3
0
0
0
0
0
0
0
0
0
-6
0
-1
-2
-7
-95
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
-15
0
0
0
-2
0
0
0
0
0
0
0
0
-1
3
0
22
2
0
0
0
5
24
0
0
0
0
0
0
0
0
0
29
0
-16
8
-48
-11
-4
32
0
0
0
0
0
0
0
1
0
3
7
0
4
-1
-35
14
2
0
0
0
0
0
0
0
0
0
0
-1
-18
-15
16
-12
7
0
-1
0
0
0
0
0
0
0
0
-6
1
3
30
3
9
13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
-1
2
0
0
0
0
0
0
2
-1
40
-1
6
0
0
0
9
0
0
0
0
0
0
0
0
0
1
1
7
0
-40
-11
-13
2
-2
7
0
0
0
0
0
0
0
0
0
19
-33
0
-26
14
-7
3
0
1
0
0
0
0
0
0
0
1
6
1
-5
20
-6
0
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
7
-18
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
-33
16
24
-21
0
0
0
1
0
0
0
0
0
0
0
13
0
7
34
15
-23
0
0
0
0
-1
0
0
0
0
0
0
8
9
11
8
1
-124
-25
-45
-75
-3
0
0
0
0
0
0
0
0
-1
-29
8
0
62
-22
23
-25
0
0
0
0
0
0
0
0
-1
6
5
-15
-36
76
32
61
29
3
0
0
0
0
0
0
0
0
9
2
-51
5
14
34
15
21
4
1
0
0
0
0
0
0
0
0
0
-7
0
-24
-9
-21
23
-1
0
0
0
0
0
0
0
0
0
0
0
2
1
4
1
-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
-1
-24
-8
10
0
0
0
0
0
0
0
0
0
0
0
1
-3
-65
33
19
26
0
0
0
3
0
0
0
0
0
0
0
0
11
-6
-80
-35
-54
64
-93
-57
3
0
0
0
0
0
0
0
0
-1
1
-46
-14
-6
22
-40
21
5
3
0
0
0
0
0
0
0
4
-8
10
26
7
28
19
-2
1
1
0
0
0
0
0
0
0
0
2
13
38
-32
-53
-21
40
2
0
0
0
0
0
0
0
0
0
-6
-8
0
3
-16
78
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
2
7
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
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
1
-3
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
4
-3
1
2
24
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-4
-1
-10
0
-4
0
0
0
0
0
0
0
0
0
-1
0
-7
-43
11
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-9
0
-10
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
3
0
0
0
0
0
0
0
0
0
0
0
0
3
11
-1
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
18
10
-21
21
-26
-36
0
0
0
0
0
0
0
0
0
-1
0
9
-1
26
-24
-10
-7
0
0
0
0
0
0
0
0
0
0
0
1
11
-15
-12
59
-10
0
0
0
0
0
0
0
0
0
0
0
0
7
-10
32
-6
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-29
-8
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-30
0
0
0
0
0
0
0
0
0
0
2
-18
-9
-1
7
0
0
0
0
0
0
0
0
0
0
0
-3
-9
-48
-29
-4
-47
0
0
0
0
0
0
0
0
0
0
0
0
62
6
6
-37
60
45
-60
-68
0
0
0
0
0
0
0
0
-1
4
-29
-12
54
20
-16
-26
-25
0
0
0
0
0
0
0
0
0
-7
6
-107
9
-17
45
16
-47
0
0
0
0
0
0
0
0
0
1
18
30
-53
-72
-57
17
-18
0
0
0
0
0
0
0
0
0
-6
1
-37
5
-14
18
-15
15
0
0
0
0
0
0
0
0
0
0
-4
8
12
12
-29
14
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-32
1
0
0
0
0
0
0
0
0
8
13
26
-8
33
20
0
0
0
7
0
0
0
0
0
0
0
0
21
4
41
-7
13
0
0
0
27
0
0
0
0
0
0
0
-8
-3
-4
23
4
59
37
-33
-10
-23
0
0
0
0
0
0
0
0
13
-2
25
57
-32
5
34
-121
6
0
0
0
0
0
0
0
0
0
-2
-2
-67
9
-38
1
30
11
0
0
0
0
0
0
0
0
10
-26
-11
-41
-18
-15
-8
44
1
0
0
0
0
0
0
0
1
0
-10
6
0
12
3
-2
-28
12
0
0
0
0
0
0
0
0
0
0
-2
20
2
22
-9
14
37
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-28
-18
0
0
0
0
0
0
0
0
0
0
-8
2
-29
7
0
0
0
6
4
0
0
0
0
0
0
4
-17
-55
16
19
68
0
0
0
3
6
0
0
0
0
0
0
0
3
-4
-1
-24
-12
-22
16
2
-3
-3
0
0
0
0
0
0
0
6
-28
13
6
36
9
-3
-27
-4
1
0
0
0
0
0
0
1
1
0
-29
-43
-19
29
7
15
-9
7
0
0
0
0
0
0
10
6
-9
12
-6
19
-1
8
-38
7
10
0
0
0
0
0
0
0
3
0
7
-45
3
12
2
0
-43
-6
0
0
0
0
0
0
0
0
0
-1
2
-2
-4
48
8
45
3
0
0
0
0
0
0
0
0
0
0
0
0
-35
8
-19
7
0
0
0
0
0
0
0
0
-1
3
2
-13
6
0
0
0
5
0
0
0
0
0
0
0
-6
7
11
-55
-33
-3
0
0
0
-55
-7
0
0
0
0
0
0
-16
0
-27
15
-7
-18
-38
36
-12
-4
-7
0
0
0
0
0
0
0
-8
11
20
0
23
-46
64
11
-59
9
1
0
0
0
0
0
0
0
0
0
-13
-79
2
-23
15
20
-8
-2
0
0
0
0
0
0
-4
0
3
-56
47
-33
36
-103
1
-2
0
0
0
0
0
0
0
0
0
4
-2
-12
33
38
9
3
-2
0
0
0
0
0
0
0
0
0
0
1
-1
-3
-15
57
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
6
0
21
0
0
0
-56
-1
0
0
0
0
0
0
-6
0
2
0
36
-1
0
0
0
29
-29
-3
0
0
0
0
0
0
1
-18
7
12
1
15
-53
-47
-1
-9
-6
0
0
0
0
0
0
0
11
3
11
-5
-19
-47
-2
-9
1
3
0
0
0
0
0
0
-8
3
8
0
-30
32
-34
58
-29
-1
-2
0
0
0
0
0
0
0
0
-16
27
3
-16
6
-50
-15
0
0
0
0
0
0
0
0
0
0
1
8
8
-12
-21
-19
-23
-2
0
0
0
0
0
0
0
0
0
7
0
0
28
3
-23
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
1
-2
0
-4
0
0
0
9
2
0
0
0
0
0
0
-1
0
6
-1
5
-3
-7
-21
-6
0
-5
0
0
0
0
0
0
0
0
0
15
1
1
1
-12
-7
0
-3
0
0
0
0
0
0
0
0
0
-8
6
0
6
-33
-24
3
-3
0
0
0
0
0
0
0
0
0
-6
0
2
12
-18
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-6
-25
15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
11
6
0
0
0
1
-1
0
0
0
0
0
0
0
-2
0
-6
6
14
0
0
0
-4
3
0
0
0
0
0
0
0
0
-12
1
2
44
13
-89
-1
0
1
0
0
0
0
0
0
0
-6
0
0
-19
-25
-21
-50
2
-2
0
0
0
0
0
0
0
0
0
0
-12
-8
100
0
16
-8
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
37
0
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-18
0
6
-21
-41
-1
-3
0
0
0
0
0
0
0
0
0
0
0
39
-58
16
15
-5
16
0
0
0
2
8
0
0
0
0
0
0
3
26
-16
-13
-38
41
-74
-38
-9
0
0
0
0
0
0
0
0
2
-3
-4
28
-10
-46
-59
-33
-39
-3
0
0
0
0
0
0
0
-7
9
7
47
33
-5
-3
0
18
4
0
0
0
0
0
0
0
0
0
-7
13
37
72
22
67
3
0
-1
0
0
0
0
0
0
0
-6
0
9
48
43
-7
13
-44
6
0
0
0
0
0
0
0
0
0
13
6
2
-22
5
-51
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
36
0
0
0
0
0
0
0
0
0
0
0
-8
-12
-21
-20
0
0
0
0
0
0
0
0
0
0
0
-15
-21
-28
102
19
-64
0
0
0
-10
1
1
0
0
0
0
0
0
-30
-39
4
-20
-36
-23
21
-23
-1
0
0
0
0
0
0
0
0
11
7
51
15
0
-33
0
-56
-10
0
0
0
0
0
0
0
0
-4
25
6
55
14
21
35
0
12
0
0
0
0
0
0
0
0
6
4
-2
49
-5
-24
-18
28
0
-4
0
0
0
0
0
0
0
0
-11
15
-27
-45
73
-30
65
4
0
0
0
0
0
0
0
0
0
0
0
-8
-4
44
-24
23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
2
-6
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
25
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
13
24
8
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
9
-28
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
7
-17
-46
3
0
0
0
0
0
0
0
0
0
0
0
-49
9
-17
-54
-34
-44
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
48
18
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-41
0
-10
-50
0
0
0
0
0
0
0
0
0
0
-2
0
-1
9
35
7
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
11
0
0
0
0
0
0
0
0
0
0
6
-19
1
68
-30
0
0
0
0
0
0
0
0
0
0
0
-4
25
-23
-50
57
22
0
0
0
0
0
0
0
0
0
0
0
0
-18
75
64
-8
43
19
4
-62
0
0
0
0
0
0
0
0
2
0
-21
-36
-11
-36
-8
10
36
0
0
0
0
0
0
0
0
0
0
-18
53
5
45
-17
-92
59
0
0
0
0
0
0
0
0
0
2
15
21
-10
76
38
-12
-50
0
0
0
0
0
0
0
0
0
0
-7
-4
8
12
-13
69
-54
0
0
0
0
0
0
0
0
0
0
0
-7
-11
28
-11
7
53
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
16
3
0
0
0
0
0
0
0
0
0
10
-10
24
0
-7
0
0
0
-3
0
0
0
0
0
0
0
0
12
48
3
21
-27
0
0
0
3
0
0
0
0
0
0
0
0
-28
21
-48
-73
-8
21
18
13
2
0
0
0
0
0
0
0
-9
-3
4
47
-10
-68
8
-33
55
-1
0
0
0
0
0
0
0
0
-4
-12
-24
-37
-33
-9
-21
-35
-6
0
0
0
0
0
0
0
4
0
-10
25
3
12
-18
-67
-25
-20
0
0
0
0
0
0
0
0
-1
-11
3
-68
11
-26
-18
24
-12
0
0
0
0
0
0
0
0
0
0
-1
47
1
-35
-21
-17
-9
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
6
-16
0
-8
0
0
0
-14
0
0
0
0
0
0
-1
-1
-8
48
40
9
17
0
0
0
14
-1
0
0
0
0
0
0
-6
-6
-1
40
14
-15
50
-9
35
-6
0
0
0
0
0
0
0
0
0
13
3
-1
-49
-55
23
-17
48
0
0
0
0
0
0
0
0
0
-1
-6
-27
-34
-51
-34
-42
21
0
0
0
0
0
0
0
-1
1
0
-32
-48
-21
11
43
44
11
-24
0
0
0
0
0
0
0
0
-9
1
33
-45
16
-11
9
21
-9
0
0
0
0
0
0
0
0
0
0
-7
1
-58
-9
23
13
9
0
0
0
0
0
0
0
0
0
0
0
-1
-7
12
10
-3
0
0
0
0
0
0
0
0
-50
-1
-2
27
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-21
-21
40
-6
0
0
0
26
-4
0
0
0
0
0
0
-2
0
-7
36
-62
41
-35
28
33
2
0
0
0
0
0
0
0
0
0
55
0
3
-75
-1
-16
-39
-10
0
-1
0
0
0
0
0
0
0
-8
-7
59
7
-8
-64
26
-1
10
0
0
0
0
0
0
0
0
22
0
61
-29
2
27
-15
-13
-8
0
0
0
0
0
0
0
-4
-1
-6
11
21
-7
-21
-54
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
4
-57
-9
-1
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
1
-6
3
-1
0
0
0
0
0
0
0
0
0
0
0
1
18
16
-8
-2
50
0
0
0
-23
2
2
0
0
0
0
0
0
0
0
-7
9
7
18
-11
42
3
-6
0
0
0
0
0
0
0
0
-1
-4
-45
-21
48
19
16
-28
0
0
0
0
0
0
0
0
0
6
-7
12
5
0
-29
-39
-2
1
0
0
0
0
0
0
0
-2
-3
1
0
38
11
84
14
8
-1
-4
0
0
0
0
0
0
0
-1
0
0
-20
-9
0
-11
23
-2
0
0
0
0
0
0
0
0
0
0
0
0
30
9
36
-27
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
2
0
0
0
0
0
0
0
0
0
0
1
-1
0
-3
0
0
0
4
0
0
0
0
0
0
0
0
0
10
-11
-9
-2
0
0
0
-34
20
0
0
0
0
0
0
0
0
0
-7
3
-4
0
-16
38
-1
7
-7
0
0
0
0
0
0
0
0
3
11
1
20
4
-10
-10
0
0
0
0
0
0
0
0
0
-2
0
-6
12
27
19
0
0
-6
0
0
0
0
0
0
0
0
0
0
-6
0
87
-11
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-3
9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
5
7
1
0
0
0
-1
-12
0
0
0
0
0
0
0
6
-69
7
-2
18
30
-42
0
0
0
0
0
0
0
0
0
0
0
2
-82
4
-16
-7
1
-22
-4
0
0
0
0
0
0
0
0
0
1
-2
11
-43
-6
81
-8
2
0
0
0
0
0
0
0
0
0
0
0
4
-7
0
58
-24
0
0
2
0
0
0
0
0
0
0
0
0
0
-15
0
-4
1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
9
0
0
0
0
0
0
0
0
0
0
36
28
-4
-17
-10
0
0
0
0
0
0
0
0
0
0
0
-29
-29
-8
-4
-21
57
0
0
0
0
-1
0
0
0
0
0
0
-2
-37
72
25
-5
7
-77
32
17
0
0
0
0
0
0
0
0
-1
6
15
54
55
20
14
-18
47
1
0
0
0
0
0
0
0
-4
-42
-25
-16
93
52
-57
-62
-55
0
0
0
0
0
0
0
0
4
7
34
-1
-10
-4
-29
0
-28
0
0
0
0
0
0
0
0
1
0
-7
28
-22
-19
35
2
4
0
-2
0
0
0
0
0
0
0
0
0
-10
-55
22
19
73
8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
-34
0
0
0
0
0
0
0
0
0
0
-82
-8
-2
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
22
-25
-7
9
46
0
0
0
0
0
0
0
0
0
0
0
0
2
59
21
18
-15
-10
-40
-66
7
0
0
0
0
0
0
0
0
8
47
0
23
-48
-37
33
-18
7
0
0
0
0
0
0
0
0
0
-1
49
-7
39
4
39
-16
-13
0
0
0
0
0
0
0
0
1
2
-1
-13
77
-2
-54
0
40
0
0
0
0
0
0
0
0
0
4
0
-1
17
-4
26
-12
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-65
9
28
-9
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
1
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
-8
-4
0
0
0
0
0
0
0
0
0
0
4
0
0
1
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
-3
7
-15
-4
13
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
1
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
-32
-6
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
-4
-9
0
7
-25
-21
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
16
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
26
-7
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
7
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-42
0
0
0
0
0
0
0
0
0
0
-1
0
10
27
-7
0
0
0
0
0
0
0
0
0
0
0
-3
18
-20
-11
14
72
0
0
0
0
0
0
0
0
0
0
0
-3
-36
66
24
-51
-16
-50
-16
-57
0
0
0
0
0
0
0
0
0
9
-9
7
12
-11
-30
-34
-31
0
0
0
0
0
0
0
0
0
-10
4
-23
-30
-16
-45
-47
-2
0
0
0
0
0
0
0
0
0
0
2
2
32
10
-11
22
-28
0
0
0
0
0
0
0
0
0
1
-3
-14
-65
67
-9
-5
27
0
0
0
0
0
0
0
0
0
0
-4
0
0
-10
0
-20
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-38
7
0
0
0
0
0
0
0
0
0
4
1
25
16
7
0
0
0
-1
0
0
0
0
0
0
0
45
-32
-21
12
-14
28
0
0
0
1
0
0
0
0
0
0
0
0
1
-18
0
-8
25
-15
37
-41
3
0
0
0
0
0
0
0
1
0
22
-25
-70
4
-24
15
42
-4
0
0
0
0
0
0
0
0
-44
67
-63
-63
-78
47
-31
4
18
0
0
0
0
0
0
0
0
9
53
1
9
-51
-5
-16
-88
-15
0
0
0
0
0
0
0
0
0
-11
-13
12
5
68
1
37
-3
0
0
0
0
0
0
0
0
-2
-1
6
-12
7
7
26
-53
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
6
3
0
0
0
0
0
0
0
0
-2
-11
2
39
-2
0
0
0
-9
-2
0
0
0
0
0
0
0
-6
-36
2
-11
-27
0
0
0
18
2
0
0
0
0
0
0
0
0
-37
-7
35
-1
-19
30
-2
-10
0
0
0
0
0
0
0
0
-3
24
35
2
33
-2
14
5
-10
0
0
0
0
0
0
0
0
3
3
-16
10
-20
-39
-58
-38
-8
-2
0
0
0
0
0
0
0
-1
9
-44
1
-61
35
-5
-29
2
0
0
0
0
0
0
0
0
0
0
-20
6
-79
-27
0
-13
-28
0
0
0
0
0
0
0
0
0
0
0
-8
-3
53
38
-20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
38
-12
1
0
0
0
0
0
0
0
0
58
0
-13
-8
46
0
0
0
0
0
0
0
0
0
0
0
0
-16
-66
46
13
3
0
0
0
19
0
0
0
0
0
0
0
0
1
-2
32
0
9
-54
6
-14
-3
-3
0
0
0
0
0
0
2
-4
3
-40
37
-37
27
-9
-37
1
2
0
0
0
0
0
0
0
1
4
12
20
55
-44
32
-47
0
-6
0
0
0
0
0
0
0
0
-20
-6
-35
-31
-34
0
8
1
0
0
0
0
0
0
0
0
0
0
0
16
-17
1
-10
-106
-33
-7
0
0
0
0
0
0
0
0
0
0
0
-8
-6
-12
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-45
1
0
0
0
0
0
0
0
0
0
3
1
13
-2
15
0
0
0
0
-1
0
0
0
0
0
0
0
0
16
-13
-4
10
0
0
0
-15
0
0
0
0
0
0
0
0
0
3
-11
0
0
-12
-2
-8
-2
0
0
0
0
0
0
0
0
-4
-2
12
-1
25
23
6
3
0
-7
0
0
0
0
0
0
0
-2
0
36
-11
-27
1
14
3
-13
0
0
0
0
0
0
0
1
0
0
2
-7
10
-25
-21
-8
3
0
0
0
0
0
0
0
0
0
0
4
0
23
45
-3
-61
-14
6
0
0
0
0
0
0
0
0
0
0
-19
-1
-8
-17
44
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
1
1
0
0
0
0
0
0
0
0
8
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
28
10
-46
0
0
0
0
-4
9
0
0
0
0
0
0
0
0
-16
18
44
1
0
0
16
-1
0
0
0
0
0
0
0
0
7
-16
-8
2
4
-1
0
-3
1
0
0
0
0
0
0
0
0
0
1
-1
-4
28
-12
-15
18
0
0
0
0
0
0
0
0
0
-8
-6
-15
20
-2
0
-5
13
0
6
0
0
0
0
0
0
0
0
0
-12
16
0
7
-38
24
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
27
48
-1
-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
6
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-13
-8
-1
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
2
1
7
0
-4
-2
-10
0
-4
0
0
0
0
0
0
0
0
2
0
4
-8
-9
13
14
0
0
1
0
0
0
0
0
0
0
-1
0
-15
0
-10
-10
10
1
0
0
0
0
0
0
0
0
0
0
1
0
2
-58
-41
16
-7
0
0
0
0
0
0
0
0
0
0
0
0
-9
-24
0
82
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
3
15
0
-3
-1
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
-18
3
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
9
15
26
1
-27
-38
0
0
0
0
0
0
0
0
0
0
0
3
-17
13
-10
53
-14
-29
10
25
0
0
0
0
0
0
0
0
0
0
-20
-34
-19
-48
-13
-85
-51
0
0
0
0
0
0
0
0
-13
8
11
19
17
21
-36
-75
-33
-11
0
0
0
0
0
0
0
0
0
9
9
-3
-2
55
-88
49
0
0
0
0
0
0
0
0
0
0
-6
6
4
46
-17
0
16
-3
0
0
0
0
0
0
0
0
0
13
0
-10
-15
-38
90
30
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
22
0
0
0
0
0
0
0
0
0
-6
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
34
0
-14
0
0
0
2
0
0
0
0
0
0
0
0
0
-13
48
-39
-19
12
-18
-1
1
0
0
0
0
0
0
0
0
4
-25
10
-9
19
-42
-55
-46
42
0
0
0
0
0
0
0
0
0
-3
-28
0
-124
44
9
-36
-2
0
0
0
0
0
0
0
0
0
4
-8
25
29
-3
1
-63
6
0
0
0
0
0
0
0
0
0
0
-9
1
32
4
-17
0
-7
0
0
0
0
0
0
0
0
0
0
3
0
-7
-62
12
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
-8
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-2
0
1
4
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
-11
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-21
0
0
0
16
-12
0
0
0
0
0
0
0
0
0
0
0
7
3
1
-27
0
6
0
0
0
0
0
0
0
0
0
0
1
0
-1
-3
6
-32
1
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-7
7
10
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-40
3
-4
32
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-15
-27
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
0
8
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-10
-23
-25
-50
-83
-20
0
0
0
0
0
0
0
0
0
-3
-16
17
-38
3
-37
15
2
0
0
0
0
0
0
0
0
0
-24
6
-4
3
-49
-22
12
-20
0
0
0
0
0
0
0
0
0
0
-4
3
-50
-68
26
-22
-55
0
0
0
0
0
0
0
0
0
0
0
-42
22
-10
3
5
24
0
0
0
0
0
0
0
0
0
1
-1
0
1
57
-2
-36
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-7
-3
19
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
-3
-15
-21
-1
16
0
0
0
0
0
0
0
0
0
0
0
0
-1
47
-15
-3
28
-17
33
-33
0
0
0
0
0
0
0
0
0
-1
2
72
-51
-4
-64
-59
-65
0
0
0
0
0
0
0
0
0
-6
6
28
-56
-6
-24
4
-11
-16
0
0
0
0
0
0
0
1
-1
-2
34
-42
-40
5
-21
-27
4
0
0
0
0
0
0
0
0
0
0
-4
8
-44
-42
-77
-75
-6
0
0
0
0
0
0
0
0
0
0
0
-21
-36
50
-36
-75
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
55
36
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-46
16
59
0
18
42
-36
-1
0
0
0
0
0
0
0
0
6
-30
-30
11
15
-15
-10
-19
2
0
0
0
0
0
0
0
0
0
-1
0
45
51
-18
4
-7
0
0
0
0
0
0
0
0
0
0
0
-3
-61
-35
-30
-21
-37
-1
0
0
0
0
0
0
0
0
0
3
19
41
-20
-15
-34
-28
-6
0
0
0
0
0
0
0
0
0
0
11
7
-21
0
-38
21
26
0
0
0
0
0
0
0
0
0
0
0
0
0
4
18
-2
2
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
1
0
-2
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
-1
2
39
0
0
0
8
0
-1
0
0
0
0
0
0
0
0
12
-32
0
-39
-10
7
21
2
0
0
0
0
0
0
0
0
0
0
-6
11
-20
-22
-47
-7
7
0
0
0
0
0
0
0
0
-2
0
0
1
-10
5
-18
-6
0
0
0
0
0
0
0
0
0
0
2
0
-4
-3
-37
-77
-7
-3
0
0
0
0
0
0
0
0
0
0
0
2
-1
7
-58
55
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-18
-18
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
1
-22
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
6
-8
15
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-9
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
3
10
-9
4
4
0
0
1
0
0
0
0
0
0
0
0
0
-1
-13
-9
-30
-4
-30
6
0
0
0
0
0
0
0
0
0
0
9
0
-18
-2
-29
-43
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-2
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-2
10
-6
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-7
3
-16
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-16
0
0
0
0
0
0
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
25
0
2
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
-41
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
1
-26
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
-8
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
16
-3
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-17
8
-11
9
-8
0
0
0
0
0
0
0
0
0
0
2
10
-10
4
1
-9
-28
0
0
0
0
0
0
0
0
0
0
0
8
14
34
-46
-35
-28
0
0
0
0
0
0
0
0
0
0
0
-3
-45
-9
40
-11
-36
0
0
0
0
0
0
0
0
0
0
0
16
-12
5
-23
21
-17
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
25
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
1
7
-2
-2
-2
9
0
0
0
0
0
0
0
0
0
0
0
-7
0
-22
-10
-19
1
0
0
0
0
0
0
0
0
0
0
0
19
0
-19
-4
-13
0
-1
0
0
0
0
0
0
0
0
0
-32
0
0
-13
-68
-33
-7
0
0
0
0
0
0
0
0
0
0
0
0
6
0
15
12
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
0
-2
9
0
0
0
0
0
0
0
0
0
0
0
1
0
16
-4
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
3
1
6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-46
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-50
-7
2
0
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
-2
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
15
0
0
0
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
-9
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
-11
9
0
0
0
0
0
0
0
0
0
0
2
10
-114
11
-9
75
-19
0
0
0
0
0
0
0
0
0
0
58
-9
15
39
11
-63
-2
1
0
0
0
0
0
0
0
0
0
11
20
-21
56
45
24
0
0
0
0
0
0
0
0
0
0
0
3
-20
34
15
-8
-1
1
1
0
0
0
0
0
0
0
0
0
0
-15
58
-41
-1
4
-3
0
0
0
0
0
0
0
0
0
0
-37
-15
6
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-7
43
0
0
0
0
0
0
0
0
0
22
-38
63
-7
18
16
-84
-17
-16
0
0
0
0
0
0
0
0
22
12
24
43
26
-1
-52
-22
-15
0
0
0
0
0
0
0
0
66
-36
33
-3
-15
14
1
47
-3
0
0
0
0
0
0
0
0
67
50
64
-39
-8
42
-44
10
9
0
0
0
0
0
0
0
0
11
22
51
-36
-32
-14
12
44
-13
-2
0
0
0
0
0
0
0
-40
31
-11
15
29
-17
-16
-1
-16
0
0
0
0
0
0
0
0
-4
-39
-52
-32
-2
38
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
-1
0
0
46
-24
14
-27
0
-10
0
0
0
0
0
0
0
-66
46
-37
11
-17
37
-79
-15
21
-11
0
0
0
0
0
0
0
-20
-23
24
-10
-24
-13
-12
-46
67
-3
0
0
0
0
0
0
0
87
55
19
21
29
-57
40
-43
-8
-12
0
0
0
0
0
0
0
2
46
64
8
-26
-22
-9
37
38
-13
0
0
0
0
0
0
0
4
-30
-18
23
15
87
-19
14
-28
-9
0
0
0
0
0
0
0
-10
-12
20
-47
-43
34
-46
0
0
13
0
0
0
0
0
0
0
-2
-51
-38
-12
57
9
-40
1
-18
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
-22
0
0
-6
-9
38
15
0
7
0
0
0
0
0
0
0
-5
-25
7
42
64
0
-26
2
-12
2
0
0
0
0
0
0
0
-34
9
-21
-23
-19
-6
-7
-46
-10
1
0
0
0
0
0
0
0
21
5
23
3
47
40
49
5
15
15
0
0
0
0
0
0
0
105
0
67
-110
-5
-100
30
-8
28
32
0
0
0
0
0
0
0
15
47
17
-31
38
-13
-1
-14
0
-6
0
0
0
0
0
0
0
14
-11
14
14
-43
12
19
2
-19
0
0
0
0
0
0
0
0
-10
-93
31
-25
-45
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
9
-19
1
0
-1
37
41
0
0
0
0
0
0
0
0
0
-24
-1
-14
-75
22
23
28
-46
40
0
0
0
0
0
0
0
0
24
-24
-4
-3
18
73
3
50
-18
1
0
0
0
0
0
0
0
-43
21
-21
3
4
10
23
-4
7
2
0
0
0
0
0
0
0
-2
33
-25
-34
30
17
-28
14
-9
42
0
0
0
0
0
0
0
7
-37
79
-40
11
6
-56
13
6
16
0
0
0
0
0
0
0
-1
-64
-34
23
-24
23
11
-20
-6
0
0
0
0
0
0
0
0
1
3
28
-24
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-17
27
0
0
0
4
0
0
0
0
0
0
0
0
0
19
7
6
8
4
0
-1
14
20
0
0
0
0
0
0
0
0
34
40
-51
-11
22
6
38
6
22
-1
0
0
0
0
0
0
0
-1
13
50
-49
40
-14
-1
-16
6
0
0
0
0
0
0
0
0
-9
-6
-3
-3
4
49
-13
-3
-3
0
0
0
0
0
0
0
0
1
38
41
-4
1
-26
0
-10
-3
-7
0
0
0
0
0
0
0
-6
-27
2
1
-5
2
0
2
1
0
0
0
0
0
0
0
0
0
20
-8
2
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
40
0
27
1
-4
0
-6
0
0
0
0
0
0
0
0
0
22
43
-10
33
62
0
4
0
0
0
0
0
0
0
0
0
0
-8
17
-29
-2
2
-51
0
-2
0
0
0
0
0
0
0
0
0
-10
-1
1
-4
-1
-9
0
10
-4
0
0
0
0
0
0
0
0
2
0
-2
44
-2
-2
0
-4
0
0
0
0
0
0
0
0
0
-15
-4
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
8
4
6
-14
-17
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
2
8
0
1
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
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
6
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-27
66
-26
-3
0
0
0
0
0
0
0
0
0
35
7
-5
38
15
70
-7
-7
0
0
0
0
0
0
0
0
0
-61
-4
58
27
2
49
-30
1
0
0
0
0
0
0
0
0
0
15
-23
-25
13
44
7
-8
8
0
0
0
0
0
0
0
0
0
-7
22
-18
17
57
40
11
13
0
0
0
0
0
0
0
0
0
-5
113
20
-14
-37
13
1
-10
0
0
0
0
0
0
0
0
0
-24
1
17
13
-4
0
0
-7
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
-11
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-19
61
-3
50
15
-40
-6
0
0
0
0
0
0
0
0
0
19
30
50
-46
-42
53
32
32
-11
0
0
0
0
0
0
0
0
6
49
14
12
44
3
83
-13
1
11
0
0
0
0
0
0
0
37
42
29
21
21
-3
5
18
19
0
0
0
0
0
0
0
0
67
-42
0
22
-5
67
-2
6
-16
4
0
0
0
0
0
0
0
1
44
54
5
9
-16
21
2
-3
0
0
0
0
0
0
0
0
23
75
13
-26
17
-34
-2
-1
-12
0
0
0
0
0
0
0
0
31
16
6
-7
0
-6
0
3
-2
0
0
0
0
0
0
0
0
9
13
-43
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
31
-6
14
-30
-4
-74
-72
0
2
0
0
0
0
0
0
0
102
15
27
9
29
61
-36
-6
-65
-4
0
0
0
0
0
0
0
30
15
37
54
14
-54
3
55
6
-25
0
0
0
0
0
0
0
24
5
67
24
38
-8
21
-38
8
10
-1
0
0
0
0
0
0
19
-1
14
19
-16
32
-6
-23
-22
-25
0
0
0
0
0
0
0
-14
22
-47
-78
8
4
6
49
47
22
0
0
0
0
0
0
0
38
4
-58
30
54
-2
3
0
-24
0
0
0
0
0
0
0
0
0
-49
-17
36
2
69
-10
12
-1
0
0
0
0
0
0
0
0
0
-7
-7
-9
1
0
6
0
0
0
0
0
0
0
0
0
0
16
-10
79
-8
48
-22
9
-25
0
-4
0
0
0
0
0
0
0
-5
43
58
41
21
56
44
-6
-22
2
-3
0
0
0
0
0
0
-14
-21
-23
-40
6
-11
-27
-97
-45
11
0
0
0
0
0
0
0
-16
74
56
61
-20
71
49
40
22
-2
0
0
0
0
0
0
0
90
0
15
8
17
7
15
-10
41
2
0
0
0
0
0
0
0
6
49
12
16
-7
77
-34
63
0
2
0
0
0
0
0
0
0
-27
2
4
-20
33
7
42
-2
-2
0
0
0
0
0
0
0
0
-1
13
-51
7
-11
6
8
0
0
0
0
0
0
0
0
0
0
1
-6
-3
0
13
8
0
0
0
0
0
0
0
0
0
0
0
-26
22
13
75
0
-69
-69
-44
0
0
0
0
0
0
0
0
0
28
-44
18
21
-72
4
-4
-3
2
0
0
0
0
0
0
0
0
2
30
8
5
-51
-10
-70
-50
29
-5
0
0
0
0
0
0
0
42
30
-32
18
-33
101
-46
37
32
54
0
0
0
0
0
0
0
-13
60
34
11
64
1
-21
10
-47
-14
4
0
0
0
0
0
0
-4
-14
-24
-2
8
-32
18
-38
44
-7
0
0
0
0
0
0
0
-4
-15
8
20
-5
-36
-2
-1
66
-8
0
0
0
0
0
0
0
-3
-25
-25
13
0
-1
0
2
0
0
0
0
0
0
0
0
0
-1
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
49
60
-50
11
4
-82
-22
0
1
0
0
0
0
0
0
0
-7
4
-21
8
94
-14
33
32
-30
-1
-1
0
0
0
0
0
0
11
27
82
18
-16
59
-9
-47
25
-1
0
0
0
0
0
0
0
-4
7
42
29
19
-7
20
20
-13
0
0
0
0
0
0
0
0
44
4
39
23
-1
-4
-18
43
0
16
0
0
0
0
0
0
0
0
30
-51
30
34
-1
-12
-38
-3
0
0
0
0
0
0
0
0
34
49
28
57
47
20
-59
-16
-7
0
0
0
0
0
0
0
0
0
-48
5
4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
40
7
-29
-14
-4
1
0
-1
0
0
0
0
0
0
0
0
1
37
-25
24
-28
21
-3
7
0
0
0
0
0
0
0
0
0
20
25
25
-2
-18
45
-16
-2
-3
0
0
0
0
0
0
0
0
36
29
103
52
28
22
12
2
-15
0
0
0
0
0
0
0
0
52
7
-2
-19
-22
10
15
-3
2
0
0
0
0
0
0
0
0
8
24
-56
-32
24
-18
8
-6
-6
0
0
0
0
0
0
0
0
-15
45
-15
3
1
-3
8
2
0
0
0
0
0
0
0
0
0
67
8
3
-6
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
9
4
-1
-1
-10
1
0
0
1
0
0
0
0
0
0
0
-2
0
-25
-54
-37
-1
3
3
1
0
0
0
0
0
0
0
0
0
-1
-15
-11
3
-13
-11
1
0
-1
0
0
0
0
0
0
0
0
6
5
1
0
-3
3
0
-10
0
0
0
0
0
0
0
0
-4
0
17
11
0
-6
-2
-6
0
3
0
0
0
0
0
0
0
1
0
0
7
-1
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-18
-5
-5
0
-3
14
0
0
0
0
0
0
0
0
0
0
22
24
-21
12
-19
44
-2
-3
0
0
0
0
0
0
0
0
0
4
-14
-11
-5
40
-21
4
1
0
0
0
0
0
0
0
0
0
-15
46
-1
22
0
-2
1
0
0
0
0
0
0
0
0
0
0
17
1
-49
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-8
-3
0
0
-7
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
-1
0
0
0
0
0
0
0
0
0
0
0
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
17
26
49
-40
0
-2
0
0
0
0
0
0
0
0
0
34
25
-4
11
91
-15
26
-1
0
0
0
0
0
0
0
0
0
46
-10
52
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
7
-7
12
13
0
1
1
0
0
0
0
0
0
0
0
0
1
9
32
20
36
0
-7
0
0
0
0
0
0
0
0
0
0
-5
2
-7
15
-9
-6
0
0
0
0
0
0
0
0
0
0
0
3
-7
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
1
0
8
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
4
-64
-36
-1
0
0
0
0
0
0
0
0
0
0
0
6
21
16
-37
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
1
0
3
0
0
0
0
0
0
0
0
0
0
0
1
-15
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
73
77
71
-6
44
-2
2
0
0
0
0
0
0
0
0
0
27
19
-16
-76
-11
-20
-9
7
0
0
0
0
0
0
0
0
0
-17
15
-17
45
13
-3
10
7
-12
0
0
0
0
0
0
0
0
-4
-10
36
12
26
-10
-12
-1
0
0
0
0
0
0
0
0
0
-5
61
-28
96
4
9
16
0
2
0
0
0
0
0
0
0
0
82
57
35
42
2
-24
0
-2
0
0
0
0
0
0
0
0
0
-21
1
-15
-19
-10
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
42
32
-14
-20
20
-8
-5
0
0
0
0
0
0
0
0
0
-11
12
3
8
55
2
-58
1
12
0
0
0
0
0
0
0
0
-10
34
49
30
-6
20
-35
-26
93
21
0
0
0
0
0
0
0
29
1
-12
-23
9
13
68
44
-18
0
0
0
0
0
0
0
0
-21
-35
55
-7
65
0
-94
3
18
9
0
0
0
0
0
0
0
-25
5
-11
2
34
-18
20
-21
-42
0
0
0
0
0
0
0
0
-9
-31
47
8
84
40
1
-13
0
0
0
0
0
0
0
0
0
32
30
6
24
6
0
0
-4
-2
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
28
47
18
45
40
-41
18
39
0
-13
0
0
0
0
0
0
0
9
22
8
-4
-1
-10
-29
28
-29
0
-4
0
0
0
0
0
0
33
-12
10
-7
5
-85
39
-4
21
-6
0
0
0
0
0
0
0
19
30
-38
31
4
19
-10
26
10
24
0
0
0
0
0
0
0
49
38
-46
33
-20
-22
4
133
9
7
0
0
0
0
0
0
0
-28
30
15
100
21
3
19
-23
-17
-6
0
0
0
0
0
0
0
37
13
59
-78
40
-37
-21
0
-9
-3
0
0
0
0
0
0
0
2
71
30
-46
-10
-1
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
18
9
53
42
-19
-4
-22
46
0
0
0
0
0
0
0
0
0
14
1
44
-47
-10
15
-31
-53
-9
0
0
0
0
0
0
0
0
-32
46
2
26
-63
23
39
17
4
4
0
0
0
0
0
0
0
2
-2
-10
-10
-29
20
37
20
9
3
0
0
0
0
0
0
0
7
-50
37
-47
-10
-13
5
-3
33
1
0
0
0
0
0
0
0
-2
-16
0
-31
16
-17
30
-25
4
0
0
0
0
0
0
0
0
-10
34
-33
33
2
-17
-4
-6
10
0
0
0
0
0
0
0
0
10
23
37
-2
-3
10
0
1
0
0
0
0
0
0
0
0
0
-39
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
16
67
58
26
-4
12
9
0
0
0
0
0
0
0
0
0
-40
13
-42
-19
19
-14
-2
-41
-41
-7
2
0
0
0
0
0
0
8
13
89
-51
22
-56
1
-12
-9
28
0
0
0
0
0
0
0
95
-56
-42
2
0
26
-8
34
42
-15
0
0
0
0
0
0
0
-10
72
12
-17
24
6
9
-23
7
-9
0
0
0
0
0
0
0
9
-18
34
4
29
5
-62
-25
0
-2
0
0
0
0
0
0
0
-6
29
1
-75
-18
20
1
0
1
0
0
0
0
0
0
0
0
21
-63
-16
-10
0
0
3
0
0
0
0
0
0
0
0
0
0
0
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-45
-33
-59
17
29
6
-17
0
-2
0
0
0
0
0
0
0
22
41
18
-5
10
2
81
18
0
0
0
0
0
0
0
0
0
-37
-12
18
51
-12
-11
-21
9
-20
2
0
0
0
0
0
0
0
-11
-20
47
-42
22
-19
-45
28
-6
4
0
0
0
0
0
0
0
24
2
-12
3
20
36
35
6
-29
-1
0
0
0
0
0
0
0
-24
-48
54
2
-15
26
27
-4
0
0
0
0
0
0
0
0
0
19
-9
37
-17
0
-2
-4
2
8
0
0
0
0
0
0
0
0
0
-69
-16
25
0
0
0
6
0
0
0
0
0
0
0
0
0
10
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-4
-8
39
-7
12
12
0
-15
0
0
0
0
0
0
0
-6
19
32
14
9
-49
2
-49
35
0
4
0
0
0
0
0
0
0
-45
0
41
0
-40
26
1
3
-1
0
0
0
0
0
0
0
0
36
-20
14
-72
-15
2
1
11
4
0
0
0
0
0
0
0
0
-43
-4
-29
13
-13
-39
1
4
0
0
0
0
0
0
0
0
3
-35
-15
-8
-3
-11
3
4
0
0
0
0
0
0
0
0
0
0
8
-17
46
-16
-4
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-20
35
6
-28
21
0
-1
0
0
0
0
0
0
0
-4
-33
9
-6
59
-30
4
-15
0
0
0
0
0
0
0
0
0
-23
33
-63
9
-22
-2
2
7
0
0
0
0
0
0
0
0
0
-56
-5
-28
22
28
-16
-5
-3
3
0
0
0
0
0
0
0
0
0
-9
3
6
-13
10
13
0
0
0
0
0
0
0
0
0
0
4
-6
-13
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-9
5
-20
2
1
0
6
-2
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
43
68
-30
-37
32
20
-2
0
0
0
0
0
0
0
0
0
-29
39
31
10
-5
36
58
-28
3
0
0
0
0
0
0
0
0
-48
-54
65
-22
-27
-42
25
0
0
0
0
0
0
0
0
0
0
-42
-54
-34
15
69
-56
0
0
0
0
0
0
0
0
0
0
0
-3
32
5
-6
-3
-6
0
0
-2
0
0
0
0
0
0
0
0
-51
18
-7
6
-19
6
0
1
0
0
0
0
0
0
0
0
0
-2
7
-1
-3
0
0
-4
-2
0
0
0
0
0
0
0
0
0
6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-2
18
-87
93
12
68
0
-2
0
0
0
0
0
0
0
0
27
-47
-3
-44
25
11
15
22
0
0
0
0
0
0
0
0
0
62
10
41
23
44
-92
25
2
0
0
0
0
0
0
0
0
0
-12
3
3
-74
-55
-38
14
-4
0
0
0
0
0
0
0
0
0
32
-17
1
29
-19
-7
-1
-1
0
0
0
0
0
0
0
0
0
91
16
-36
-27
-5
2
11
0
0
0
0
0
0
0
0
0
0
36
0
-22
4
0
0
1
-1
0
0
0
0
0
0
0
0
0
73
-8
-18
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-18
2
2
0
-1
0
0
0
0
0
0
0
0
0
-25
4
17
25
22
2
2
0
0
0
0
0
0
0
0
0
0
58
-12
-8
-43
42
1
12
0
0
0
0
0
0
0
0
0
0
-2
-5
16
-11
-1
0
-3
0
0
0
0
0
0
0
0
0
0
-8
1
-4
0
4
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
0
0
-19
0
0
0
0
0
0
0
0
0
0
2
1
8
-4
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
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-64
19
-4
-24
1
0
0
0
0
0
0
0
0
0
0
-3
15
18
18
26
-20
42
15
0
0
0
0
0
0
0
0
0
15
-23
-3
3
-82
-9
1
7
7
0
0
0
0
0
0
0
0
1
4
-4
12
12
35
0
-1
2
0
0
0
0
0
0
0
0
-2
92
52
19
15
-15
-18
0
0
0
0
0
0
0
0
0
0
-8
50
-11
-45
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
0
-22
9
-2
0
0
0
0
0
0
0
0
0
0
0
10
37
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
14
20
27
-47
-56
-16
-66
0
0
0
0
0
0
0
0
0
-7
-46
-24
-4
29
32
-66
-21
25
-3
0
0
0
0
0
0
0
27
12
-10
4
8
-16
42
-4
-14
-10
0
0
0
0
0
0
0
15
-34
54
-62
22
15
4
6
30
0
0
0
0
0
0
0
0
-4
26
-7
7
19
61
72
-54
-42
0
0
0
0
0
0
0
0
42
-56
12
28
-23
42
113
-3
-16
-2
0
0
0
0
0
0
0
-35
5
-17
6
1
15
-29
-13
2
0
0
0
0
0
0
0
0
9
45
11
9
2
19
4
-3
0
0
0
0
0
0
0
0
0
15
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-28
27
-52
17
66
27
-11
0
-2
0
0
0
0
0
0
0
11
21
10
-9
48
-78
37
38
66
0
4
0
0
0
0
0
0
9
22
-8
-11
-17
22
48
29
43
0
0
0
0
0
0
0
0
-37
-10
-33
7
4
-113
-35
22
122
-1
0
0
0
0
0
0
0
19
-4
12
7
-32
-33
-17
-45
-4
6
0
0
0
0
0
0
0
4
10
6
27
66
13
46
-16
-27
0
0
0
0
0
0
0
0
27
-7
-19
27
-6
-35
-12
7
3
0
0
0
0
0
0
0
0
-38
-30
-64
9
42
35
1
0
0
0
0
0
0
0
0
0
0
-32
-25
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
32
7
-23
20
-38
-10
64
0
4
0
0
0
0
0
0
0
22
15
2
2
0
-5
17
-14
-3
0
-2
0
0
0
0
0
0
18
14
-8
-5
-1
-24
-6
12
-33
26
0
0
0
0
0
0
0
80
62
49
11
-7
40
12
-2
19
7
0
0
0
0
0
0
0
33
-25
-16
-21
-11
6
11
-4
3
0
0
0
0
0
0
0
0
24
56
20
-30
-20
-51
21
9
2
0
0
0
0
0
0
0
0
12
5
36
-46
-4
-18
-1
0
-2
0
0
0
0
0
0
0
0
9
63
-5
30
2
4
0
0
-3
0
0
0
0
0
0
0
0
-10
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
26
21
59
-39
-4
17
0
0
0
0
0
0
0
0
0
13
19
17
4
27
62
-1
-36
-65
1
0
0
0
0
0
0
0
1
-37
15
69
8
-3
3
62
-7
-1
0
0
0
0
0
0
0
15
-26
-14
13
39
-6
29
-7
-63
-4
0
0
0
0
0
0
0
-12
-46
17
-53
9
-21
-16
50
-10
4
0
0
0
0
0
0
0
18
16
-14
37
-57
15
4
-24
-22
2
0
0
0
0
0
0
0
38
-13
18
-7
13
9
-29
0
2
0
0
0
0
0
0
0
0
-3
4
45
-10
0
0
0
0
2
0
0
0
0
0
0
0
0
3
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-41
10
0
25
-7
-3
8
0
0
0
0
0
0
0
0
0
6
117
20
-13
46
5
-28
30
15
1
0
0
0
0
0
0
0
19
-49
-39
53
-22
-13
-3
-25
1
9
0
0
0
0
0
0
0
2
-9
-20
7
-30
3
-1
-41
1
0
0
0
0
0
0
0
0
6
-51
45
-3
-33
4
1
-34
-15
0
0
0
0
0
0
0
0
1
-41
-29
39
43
-4
-20
6
0
0
0
0
0
0
0
0
0
-2
-30
35
32
29
-2
-11
4
0
0
0
0
0
0
0
0
0
15
-24
-19
2
-3
0
0
-2
0
0
0
0
0
0
0
0
0
1
6
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
21
-6
60
-4
-5
44
0
0
0
0
0
0
0
0
0
0
-14
24
-25
27
-3
37
10
12
0
0
0
0
0
0
0
0
0
13
-43
15
-9
3
6
8
3
0
0
0
0
0
0
0
0
0
-38
-69
6
-12
-4
2
0
-3
0
0
0
0
0
0
0
0
0
35
21
-32
4
-18
0
-1
-7
-1
0
0
0
0
0
0
0
0
39
-6
-34
3
-22
6
3
0
0
0
0
0
0
0
0
0
0
-30
35
-2
4
0
1
0
-10
0
0
0
0
0
0
0
0
0
29
0
-1
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
7
-14
-2
40
-24
-22
0
0
0
0
0
0
0
0
0
-24
25
21
50
-33
9
4
23
-33
0
0
0
0
0
0
0
0
-6
-13
38
-44
20
-42
-36
0
-4
2
0
0
0
0
0
0
0
-25
2
20
-39
10
-10
-1
0
0
0
0
0
0
0
0
0
0
-29
-16
-4
-69
-1
22
-32
0
-4
0
0
0
0
0
0
0
0
15
0
-16
5
1
0
0
4
0
0
0
0
0
0
0
0
0
0
-1
-28
-2
8
0
0
-3
-2
0
0
0
0
0
0
0
0
0
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
-4
-52
5
-18
8
5
21
10
0
0
0
0
0
0
0
0
0
8
-16
-43
6
47
40
0
66
-19
2
0
0
0
0
0
0
0
11
11
3
-101
-26
60
-8
-3
2
0
0
0
0
0
0
0
0
-5
-28
28
-28
27
-37
4
-1
0
0
0
0
0
0
0
0
0
21
31
20
-77
67
8
45
-3
0
0
0
0
0
0
0
0
0
-43
-39
-11
20
-11
-2
-4
-3
1
-1
0
0
0
0
0
0
0
16
23
23
22
24
-19
0
0
1
0
0
0
0
0
0
0
0
6
-44
-7
12
0
0
0
0
-2
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
-56
9
13
-72
-8
22
56
0
0
0
0
0
0
0
0
0
0
9
21
-41
-41
32
-17
15
1
0
0
0
0
0
0
0
0
0
56
-18
-4
87
-54
69
76
-9
0
0
0
0
0
0
0
0
0
-46
6
6
16
20
-77
-6
0
0
0
0
0
0
0
0
0
0
58
-13
-2
19
-3
18
-4
0
0
0
0
0
0
0
0
0
0
-37
-41
-15
66
30
5
9
1
0
0
0
0
0
0
0
0
0
-28
8
44
-7
7
-2
-8
4
-6
0
0
0
0
0
0
0
0
-54
-15
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
2
0
0
-6
0
0
0
0
0
0
0
0
0
11
7
24
15
10
3
-1
-3
0
0
0
0
0
0
0
0
0
-2
1
-71
-3
-32
6
0
0
0
0
0
0
0
0
0
0
0
0
-7
-14
-38
-2
-11
-7
0
0
0
0
0
0
0
0
0
0
7
6
2
-4
4
0
-2
0
0
0
0
0
0
0
0
0
0
5
-3
-6
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
25
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
45
15
33
22
-15
47
1
0
0
0
0
0
0
0
0
0
3
58
-2
-1
20
6
-30
-11
0
0
0
0
0
0
0
0
0
-10
10
-73
24
-16
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-25
-2
-3
-3
0
0
0
0
0
0
0
0
0
-2
47
-25
27
-7
0
-4
-1
0
0
0
0
0
0
0
0
0
15
24
36
-12
-8
0
0
0
0
0
0
0
0
0
0
0
0
-36
25
-19
4
10
2
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
32
-18
-44
2
14
-20
4
0
0
0
0
0
0
0
0
0
-49
8
-10
17
-17
23
31
102
-1
0
0
0
0
0
0
0
0
-22
-22
-8
-2
-12
31
17
0
-4
0
0
0
0
0
0
0
0
19
-35
62
-20
9
-7
45
35
28
0
0
0
0
0
0
0
0
-3
0
0
62
16
-59
17
-8
16
0
0
0
0
0
0
0
0
77
6
15
-60
-29
45
5
16
1
0
0
0
0
0
0
0
0
30
47
20
28
-4
32
-19
-4
3
0
0
0
0
0
0
0
0
58
0
-34
0
1
-44
1
-6
0
0
0
0
0
0
0
0
0
-51
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
51
2
-11
11
-25
12
10
0
0
0
0
0
0
0
0
0
6
-5
84
30
-3
-1
-49
-47
-21
0
2
0
0
0
0
0
0
10
67
-31
-47
37
12
-3
26
-16
8
0
0
0
0
0
0
0
25
60
-23
-55
-78
-52
46
49
-7
0
0
0
0
0
0
0
0
0
16
0
-35
10
-39
-38
18
4
0
0
0
0
0
0
0
0
9
85
-6
-14
-41
47
-31
28
20
-2
0
0
0
0
0
0
0
7
66
19
8
-39
47
-12
-24
-2
-8
0
0
0
0
0
0
0
39
24
29
-48
49
8
-2
-4
-4
0
0
0
0
0
0
0
0
11
-12
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
19
23
63
60
22
0
4
14
0
0
0
0
0
0
0
0
0
18
-2
103
-34
-4
-4
-3
38
-1
0
0
0
0
0
0
0
0
-54
20
27
26
53
-18
34
-28
-4
9
0
0
0
0
0
0
0
19
-34
15
-13
10
-17
5
-9
45
7
0
0
0
0
0
0
0
-38
36
0
0
1
-23
37
3
-9
0
0
0
0
0
0
0
0
5
11
47
-1
50
-25
30
-3
0
0
0
0
0
0
0
0
0
1
5
0
1
14
-4
15
0
2
0
0
0
0
0
0
0
0
8
-3
-10
-10
-3
-2
0
0
2
0
0
0
0
0
0
0
0
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
28
55
-29
15
-10
-22
0
3
0
0
0
0
0
0
0
6
13
20
9
-81
34
-39
-12
9
-4
0
0
0
0
0
0
0
24
-21
-9
-1
21
25
-26
32
18
-6
0
0
0
0
0
0
0
13
16
-8
17
-2
-46
-4
12
-1
0
0
0
0
0
0
0
0
0
11
-27
-2
0
2
3
-20
7
1
0
0
0
0
0
0
0
-9
46
-8
47
2
-1
-42
2
21
0
0
0
0
0
0
0
0
-1
34
10
7
1
-2
-1
-8
0
0
0
0
0
0
0
0
0
-3
42
-47
-7
0
3
0
0
0
0
0
0
0
0
0
0
0
6
19
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
27
23
45
-33
2
-37
9
0
0
0
0
0
0
0
0
0
-4
59
38
-25
38
-22
40
-13
-14
1
0
0
0
0
0
0
0
21
26
-3
-35
-30
8
-22
-3
1
-2
0
0
0
0
0
0
0
30
-3
-17
1
-26
-2
7
-4
-3
-3
0
0
0
0
0
0
0
0
-34
-2
15
0
0
0
10
2
0
0
0
0
0
0
0
0
4
97
-16
18
36
0
0
-2
3
0
0
0
0
0
0
0
0
-19
80
6
16
-2
2
-2
0
-1
0
0
0
0
0
0
0
0
-4
-42
-13
32
-2
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
33
-25
-17
-9
-5
0
-3
0
0
0
0
0
0
0
0
-18
14
45
24
-90
-33
-2
6
0
0
0
0
0
0
0
0
0
32
-28
40
9
-4
73
5
0
-1
0
0
0
0
0
0
0
0
-26
51
-40
-8
-20
0
2
0
4
0
0
0
0
0
0
0
0
-10
10
-1
17
0
0
0
7
0
0
0
0
0
0
0
0
0
-33
1
28
4
7
0
0
0
0
0
0
0
0
0
0
0
0
-53
7
15
4
6
0
0
0
2
0
0
0
0
0
0
0
-11
-2
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
8
2
68
0
-58
6
12
6
0
0
0
0
0
0
0
0
0
39
-35
-11
-13
-39
-6
39
8
-24
0
0
0
0
0
0
0
0
14
15
5
47
30
-34
-19
-9
11
-4
0
0
0
0
0
0
0
-9
-52
27
-46
-5
-45
-1
1
-3
0
0
0
0
0
0
0
0
1
43
-12
-12
-24
4
0
0
0
0
0
0
0
0
0
0
0
23
1
13
65
-43
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-23
-20
0
0
0
0
0
0
0
0
0
0
0
0
-29
-11
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-26
16
14
35
26
15
51
0
-1
0
0
0
0
0
0
0
-84
2
-9
12
-6
-11
-5
64
-23
-12
0
0
0
0
0
0
0
37
4
-46
12
9
35
53
-66
-22
3
0
0
0
0
0
0
0
-20
-11
-46
-79
-21
-30
-35
-12
1
6
0
0
0
0
0
0
0
51
36
-15
19
21
-49
10
0
0
0
0
0
0
0
0
0
0
-29
41
19
24
2
8
-11
0
0
0
0
0
0
0
0
0
0
7
-40
8
-72
39
-13
8
0
-9
0
0
0
0
0
0
0
0
-9
18
-30
4
0
0
0
0
21
0
0
0
0
0
0
0
0
45
7
-11
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
78
-4
-25
60
20
5
52
0
0
0
0
0
0
0
0
0
0
-40
7
16
5
5
84
-10
27
-1
0
0
0
0
0
0
0
0
52
-11
51
-41
-26
5
59
7
0
0
0
0
0
0
0
0
0
-34
41
-28
13
42
57
81
-11
0
0
0
0
0
0
0
0
0
34
-35
-49
-61
-78
-21
-6
0
0
0
0
0
0
0
0
0
0
50
20
11
23
-24
20
39
1
0
0
0
0
0
0
0
0
0
26
10
-19
-24
-29
13
1
-3
-2
0
0
0
0
0
0
0
0
23
37
-59
-7
26
0
4
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
-21
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
-16
0
25
4
9
11
2
2
0
0
0
0
0
0
0
0
0
-22
6
13
5
0
-32
0
0
0
0
0
0
0
0
0
0
0
4
-2
13
-5
-11
0
-2
0
0
0
0
0
0
0
0
0
0
2
3
12
6
3
-2
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
7
1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
7
2
0
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
0
-22
-2
0
0
19
0
0
0
0
0
0
0
0
0
0
-10
8
-7
-25
-2
-6
2
12
0
0
0
0
0
0
0
0
0
-25
-19
26
-11
-2
0
3
0
0
0
0
0
0
0
0
0
0
-2
-7
28
20
-4
30
-1
0
0
0
0
0
0
0
0
0
0
0
-21
56
7
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
-2
7
0
-1
0
0
0
0
0
0
0
0
0
0
4
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
72
3
-28
44
28
41
9
0
0
0
0
0
0
0
0
0
-114
-64
57
37
54
-28
8
-1
-2
-4
0
0
0
0
0
0
0
36
23
24
35
13
4
-25
-7
2
0
0
0
0
0
0
0
0
-13
-29
-13
-34
-35
-25
27
47
-7
0
0
0
0
0
0
0
0
-16
0
-2
18
8
3
27
-41
-22
0
0
0
0
0
0
0
0
0
0
-1
3
-6
93
32
-4
13
0
0
0
0
0
0
0
0
10
0
6
-24
-22
-12
44
-3
-4
0
0
0
0
0
0
0
0
-2
21
-2
-4
-63
6
0
0
0
0
0
0
0
0
0
0
0
3
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
8
18
9
18
23
10
27
0
0
0
0
0
0
0
0
0
0
13
-33
7
14
-68
31
-30
13
19
0
0
0
0
0
0
0
15
-9
-38
-8
5
7
25
-26
-1
0
0
0
0
0
0
0
0
-1
26
22
13
18
1
7
15
-11
0
0
0
0
0
0
0
0
0
30
0
-39
10
-83
-18
18
21
0
0
0
0
0
0
0
0
-13
19
0
6
38
56
11
21
-18
-2
0
0
0
0
0
0
0
-12
-7
-4
9
-48
8
15
-8
-1
0
0
0
0
0
0
0
0
6
-25
6
22
15
-17
0
3
0
0
0
0
0
0
0
0
0
30
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
31
-23
54
11
-12
18
0
0
0
0
0
0
0
0
0
4
66
5
-35
-26
9
12
5
-4
0
-4
0
0
0
0
0
0
0
82
31
-12
1
14
-4
5
-7
0
0
0
0
0
0
0
0
9
32
17
-57
30
4
7
13
2
-3
0
0
0
0
0
0
0
15
57
-31
1
7
9
-14
-17
-3
0
0
0
0
0
0
0
0
-2
25
0
0
-6
-1
48
9
-10
0
0
0
0
0
0
0
0
-6
-122
53
0
3
-9
4
0
1
0
0
0
0
0
0
0
0
-15
-38
36
2
1
0
0
0
1
0
0
0
0
0
0
0
0
-10
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-35
46
45
-35
-35
12
6
0
0
0
0
0
0
0
0
0
0
-7
-11
-42
-52
25
24
32
-1
0
0
0
0
0
0
0
0
52
47
38
48
52
-7
-28
-1
18
-3
0
0
0
0
0
0
0
1
22
44
29
12
22
12
21
0
-1
0
0
0
0
0
0
0
-1
73
49
-38
-10
9
-30
-9
2
0
0
0
0
0
0
0
0
-11
-7
49
-1
0
29
0
1
-11
0
0
0
0
0
0
0
0
7
-5
-55
20
1
-4
12
-8
0
0
0
0
0
0
0
0
0
36
51
16
28
0
-2
0
-4
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
-7
24
-56
8
6
-23
-41
-22
0
0
0
0
0
0
0
0
0
3
8
-34
-31
18
-27
26
12
4
0
6
0
0
0
0
0
0
16
-45
-17
3
24
-3
-45
-23
-2
0
0
0
0
0
0
0
0
4
13
-45
12
29
1
6
-26
37
-10
0
0
0
0
0
0
0
1
-63
29
45
8
7
0
-1
1
-1
0
0
0
0
0
0
0
0
-50
48
-3
1
0
0
-3
0
0
0
0
0
0
0
0
0
28
-33
88
40
-19
-3
-1
6
-2
0
0
0
0
0
0
0
0
2
38
22
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
-15
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-56
18
-15
-6
15
-19
0
0
0
0
0
0
0
0
0
0
-29
-8
-34
-10
-11
-27
63
10
0
0
0
0
0
0
0
0
0
-6
24
-34
-21
-12
-28
-13
-6
0
0
0
0
0
0
0
0
0
23
2
32
-15
23
15
15
-1
0
0
0
0
0
0
0
0
0
-26
-33
42
-46
12
0
2
-10
0
0
0
0
0
0
0
0
0
-11
13
-39
7
0
0
0
0
6
0
0
0
0
0
0
0
4
11
1
28
-24
9
1
0
6
0
0
0
0
0
0
0
0
1
-4
-14
24
0
6
0
-3
0
0
0
0
0
0
0
0
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
-1
-37
1
-3
-43
0
0
0
0
0
0
0
0
0
0
-7
-7
-24
-9
11
-4
51
-34
18
0
0
0
0
0
0
0
0
12
24
-22
-108
-33
66
-1
-4
18
1
0
0
0
0
0
0
0
-21
-1
-17
-30
44
19
38
-1
-2
0
0
0
0
0
0
0
0
-13
-29
-22
-4
10
-3
-11
0
0
0
0
0
0
0
0
0
0
-9
-25
-3
-10
15
6
0
0
0
0
0
0
0
0
0
0
0
22
20
-13
3
4
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-35
30
47
6
37
12
-18
0
-1
0
0
0
0
0
0
0
19
-28
15
-30
16
69
18
2
-6
-2
0
0
0
0
0
0
0
-8
-21
-25
-19
-40
65
95
-42
-30
-7
0
0
0
0
0
0
0
35
-22
8
-21
12
52
43
-29
33
0
0
0
0
0
0
0
0
-2
-1
46
-15
-21
12
-11
0
0
0
0
0
0
0
0
0
0
13
31
-64
-28
10
-60
-13
0
0
0
0
0
0
0
0
0
0
-9
-41
-46
-52
-12
-30
4
-1
0
0
0
0
0
0
0
0
0
-17
-11
-56
-25
6
4
0
0
10
0
0
0
0
0
0
0
0
-72
-4
-8
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
33
61
37
10
-21
8
-37
0
0
0
0
0
0
0
0
0
0
17
36
-13
1
17
41
35
41
3
-2
0
0
0
0
0
0
0
-31
-11
-29
-24
55
66
-1
28
0
0
0
0
0
0
0
0
0
25
30
-85
-44
21
20
4
-21
0
0
0
0
0
0
0
0
0
20
31
-21
-42
24
-29
27
0
0
0
0
0
0
0
0
0
0
1
-47
-15
-48
-48
-48
-9
0
0
0
0
0
0
0
0
0
0
44
-1
5
-17
-36
6
1
0
0
0
0
0
0
0
0
0
0
-38
15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
6
8
0
0
0
0
0
0
0
0
0
0
0
0
-16
19
-22
-1
-6
-1
0
2
0
0
0
0
0
0
0
0
0
-3
-6
10
-6
-1
-2
0
-4
0
0
0
0
0
0
0
0
0
0
-1
24
-3
-6
1
0
0
0
0
0
0
0
0
0
0
0
7
0
-12
63
11
1
-3
0
0
0
0
0
0
0
0
0
0
-1
-3
2
6
0
2
0
0
0
0
0
0
0
0
0
0
0
2
-1
-10
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
-6
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
6
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-3
-19
0
-9
2
0
0
0
0
0
0
0
0
0
0
0
1
20
-21
-49
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
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
14
11
-38
-28
-6
-1
-2
-10
0
0
0
0
0
0
0
0
0
1
9
-58
0
36
-48
16
-18
-3
0
0
0
0
0
0
0
0
-24
-17
-10
-12
44
-1
-34
-12
-12
-1
0
0
0
0
0
0
0
-10
-25
-42
11
-11
17
7
-21
0
0
0
0
0
0
0
0
0
13
0
-32
-27
-61
37
10
0
3
0
0
0
0
0
0
0
0
12
0
42
5
16
-27
38
37
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-7
3
-11
0
0
0
0
0
0
0
0
0
0
22
0
0
97
0
-42
-2
1
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
1
-10
0
-23
-1
57
10
-6
0
0
0
0
0
0
0
0
0
0
-24
22
24
52
22
-6
12
2
0
0
0
0
0
0
0
0
-1
-49
-54
25
-5
12
21
27
3
0
0
0
0
0
0
0
0
-3
-57
-50
45
3
24
14
-18
-7
-10
0
0
0
0
0
0
0
-2
11
-12
-39
-19
-33
-44
-21
1
0
0
0
0
0
0
0
0
0
5
0
18
-30
8
-12
-12
-13
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-13
7
19
0
-3
0
0
0
0
0
0
0
29
12
0
15
-7
2
-2
-3
3
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-11
21
0
-4
-29
-24
9
0
0
0
0
0
0
0
0
0
10
38
49
-57
53
-23
-13
20
-1
0
0
0
0
0
0
0
0
13
35
4
47
-72
21
13
-32
4
0
0
0
0
0
0
0
0
0
61
49
43
1
-57
21
10
3
0
0
0
0
0
0
0
0
-3
3
44
12
-62
26
-15
-2
-8
1
0
0
0
0
0
0
0
8
19
-70
0
56
49
-28
-7
42
0
0
0
0
0
0
0
0
-12
3
3
0
0
9
-3
0
0
0
0
0
0
0
0
0
0
9
9
-4
0
0
1
-3
7
0
0
0
0
0
0
0
0
0
-30
-1
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-41
16
-17
-11
16
-3
0
0
0
0
0
0
0
0
0
0
63
15
11
-75
-18
-19
17
-8
0
0
0
0
0
0
0
0
3
26
-16
54
-39
-40
47
-17
-4
-12
0
0
0
0
0
0
0
11
-27
12
7
-33
32
-19
-16
0
0
0
0
0
0
0
0
0
0
77
29
0
-16
26
-29
9
0
0
0
0
0
0
0
0
0
-1
-43
-27
-32
0
48
12
2
-9
2
0
0
0
0
0
0
0
2
1
-7
0
0
6
2
4
-4
0
0
0
0
0
0
0
0
-4
20
-2
-10
0
-1
7
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
6
3
12
2
0
0
-22
4
0
0
0
0
0
0
0
0
0
-9
-42
-14
-37
4
-16
20
11
-6
0
0
0
0
0
0
0
0
0
-1
36
-16
21
-21
2
-22
-15
0
0
0
0
0
0
0
0
0
-6
-2
31
-48
17
37
-12
-7
0
0
0
0
0
0
0
0
2
5
59
-39
2
-4
-22
-1
9
0
0
0
0
0
0
0
0
0
-16
6
-14
-14
0
0
-3
6
0
0
0
0
0
0
0
0
3
37
19
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-17
-1
-18
0
0
0
1
-2
0
0
0
0
0
0
0
0
27
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
2
-1
-13
8
-3
0
0
0
0
0
0
0
0
0
0
61
-1
1
-21
0
9
6
0
0
0
0
0
0
0
0
0
0
45
5
10
56
-14
-63
13
-1
0
0
0
0
0
0
0
0
0
53
-3
36
32
-1
-10
-17
1
0
0
0
0
0
0
0
0
0
41
-21
-2
-12
33
15
-3
0
-21
0
0
0
0
0
0
0
-24
-11
3
26
57
-2
0
-4
3
0
0
0
0
0
0
0
0
0
23
37
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-48
2
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
0
0
0
0
1
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
19
2
3
9
-8
0
-4
0
0
0
0
0
0
0
0
0
16
22
-12
17
3
85
-39
12
-6
3
0
0
0
0
0
0
0
-6
9
3
-25
19
47
-8
0
0
0
0
0
0
0
0
0
0
0
-2
2
4
23
3
0
0
1
0
0
0
0
0
0
0
0
0
7
16
-2
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
10
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
9
11
0
-7
0
0
9
0
0
0
0
0
0
0
0
0
0
-49
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-49
-4
51
12
-20
-28
8
0
0
0
0
0
0
0
0
0
-23
33
-15
11
24
83
5
-28
-63
0
0
0
0
0
0
0
0
4
-1
10
-18
-15
65
15
34
12
1
0
0
0
0
0
0
0
1
16
-6
-18
45
-32
14
1
7
0
0
0
0
0
0
0
0
9
-8
-71
20
16
85
17
6
0
0
0
0
0
0
0
0
0
2
-10
-55
13
-31
37
6
0
0
0
0
0
0
0
0
0
0
-9
-15
-9
36
43
-20
1
0
0
0
0
0
0
0
0
0
0
-28
36
31
82
4
-1
-2
0
0
0
0
0
0
0
0
0
0
-10
12
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
71
13
27
23
41
-46
0
2
0
0
0
0
0
0
0
0
35
-25
-27
5
-10
14
0
5
0
0
0
0
0
0
0
0
0
-23
16
-23
-20
37
-50
-79
-21
-7
0
0
0
0
0
0
0
0
-17
11
-56
-39
1
-11
-6
1
0
0
0
0
0
0
0
0
0
12
-23
31
0
-26
-5
2
10
0
0
0
0
0
0
0
0
0
9
63
30
33
4
13
-66
0
0
0
0
0
0
0
0
0
0
-29
-27
38
34
2
-10
2
0
0
0
0
0
0
0
0
0
0
-73
24
-18
27
6
1
2
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-30
4
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
10
0
1
0
0
0
0
0
0
0
0
0
0
0
2
10
-3
3
0
0
0
0
0
0
0
0
0
0
0
1
-8
-1
0
-1
-4
2
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
-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
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-4
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
21
0
-3
12
0
0
0
0
0
0
0
0
0
0
15
12
-6
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-19
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
9
-2
32
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
9
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
54
-13
12
-2
10
-10
0
0
0
0
0
0
0
0
0
0
0
-9
-2
-1
5
12
-1
9
0
0
0
0
0
0
0
0
0
0
-1
0
-6
-28
8
38
0
0
0
0
0
0
0
0
0
0
0
9
-6
-20
74
-1
8
0
2
0
0
0
0
0
0
0
0
0
-33
-6
7
50
-12
9
3
-13
0
0
0
0
0
0
0
0
0
28
0
45
-63
-13
0
2
-1
0
0
0
0
0
0
0
0
0
1
0
41
61
0
-10
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
7
3
18
-17
12
42
0
0
0
0
0
0
0
0
0
0
-3
-5
32
35
-77
-29
-29
11
4
0
0
0
0
0
0
0
0
0
-12
-13
-31
-25
26
15
8
0
0
0
0
0
0
0
0
0
4
20
-22
16
-13
19
-7
1
0
0
0
0
0
0
0
0
0
0
-64
11
9
26
91
-2
0
7
0
0
0
0
0
0
0
0
0
31
12
32
-16
-10
3
21
0
0
0
0
0
0
0
0
0
-1
-6
3
15
-45
-9
-2
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
36
-13
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
10
0
23
-9
0
8
4
0
0
0
0
0
0
0
0
0
0
0
-2
-26
0
-13
-6
-3
0
0
0
0
0
0
0
0
0
0
0
3
-16
-37
-30
4
0
0
6
0
0
0
0
0
0
0
0
-2
-31
-8
18
8
45
8
1
0
0
0
0
0
0
0
0
0
2
-79
53
-27
13
-14
29
28
0
0
0
0
0
0
0
0
0
-7
12
55
3
23
-11
11
3
-2
-4
0
0
0
0
0
0
0
2
22
17
0
-12
12
0
-1
-3
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
30
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-7
1
3
-24
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-7
3
-6
-6
-28
0
0
0
0
0
0
0
0
0
0
-47
10
16
-55
-28
-12
1
0
0
0
0
0
0
0
0
0
2
-8
9
24
15
23
21
1
0
0
0
0
0
0
0
0
0
0
-32
-2
76
-1
11
-5
-1
0
0
0
0
0
0
0
0
0
0
10
2
-5
0
2
0
-7
0
0
0
0
0
0
0
0
0
-3
-7
22
-11
0
-3
3
0
0
0
0
0
0
0
0
0
0
2
54
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
1
-1
6
0
0
0
0
0
0
0
0
0
0
-1
-6
1
-3
12
0
-2
0
0
0
0
0
0
0
0
0
0
0
6
-4
2
-1
35
0
0
0
0
0
0
0
0
0
0
-11
-2
10
-2
-12
6
1
1
0
0
0
0
0
0
0
0
0
-2
3
-30
28
11
-7
0
0
-2
0
0
0
0
0
0
0
0
0
2
10
-1
28
-6
15
0
0
0
0
0
0
0
0
0
0
0
0
3
28
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
6
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
3
3
0
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
7
-18
0
12
-6
2
-1
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
-10
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
3
1
0
0
0
0
0
0
0
0
0
-38
-2
0
1
9
22
0
1
0
0
0
0
0
0
0
0
0
7
5
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-36
53
13
6
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-4
4
2
0
0
0
1
0
0
0
0
0
0
0
0
-13
3
0
-3
-9
0
0
0
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
2
-1
-8
-1
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
-56
-7
-14
-1
2
1
-3
-2
0
0
0
0
0
0
0
0
2
2
2
-3
13
-99
28
9
-16
2
0
0
0
0
0
0
0
-6
-40
-8
-36
-14
40
-1
-8
-3
-17
0
0
0
0
0
0
0
0
-26
-26
-8
57
16
-2
1
0
0
0
0
0
0
0
0
0
0
54
11
77
13
12
0
-2
0
0
0
0
0
0
0
0
0
0
21
-6
-11
10
-1
0
0
0
0
0
0
0
0
0
0
0
7
9
6
-25
2
-1
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
-12
-20
-2
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
-4
2
-4
-32
0
6
0
0
0
0
0
0
0
0
0
0
0
-6
0
6
-7
-9
-2
3
0
0
0
0
0
0
0
0
0
0
-9
-48
3
-6
3
18
0
0
0
0
0
0
0
0
0
0
0
-4
61
-24
8
6
6
0
0
0
0
0
0
0
0
0
0
0
-8
6
-11
10
1
0
2
0
0
0
0
0
0
0
0
0
0
0
7
-19
26
-1
0
2
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
-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
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
17
-1
-29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
69
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-35
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
15
0
-2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
6
2
0
0
0
0
0
0
0
0
0
0
0
0
14
0
27
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
2
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
-10
-18
-3
6
0
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-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
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
6
-20
9
0
0
0
0
0
0
0
0
0
0
0
3
-1
15
-23
9
-89
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
47
-8
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
20
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
25
-18
0
0
0
0
0
0
0
0
0
0
0
0
1
1
3
75
-22
7
-62
-25
0
0
0
0
0
0
0
0
0
0
-20
-6
-52
-13
70
6
-21
0
0
0
0
0
0
0
0
0
0
1
-12
21
-31
30
41
25
0
0
0
0
0
0
0
0
0
0
0
0
10
-6
43
34
2
0
0
0
0
0
0
0
0
0
0
0
4
2
-7
-1
-61
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
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
-13
0
0
0
-4
0
0
0
0
0
0
0
0
0
-7
-7
-37
42
0
0
0
-7
0
0
0
0
0
0
0
0
-4
0
2
15
-5
-35
-63
37
8
0
0
0
0
0
0
0
0
-4
-9
5
2
13
66
-6
48
10
0
0
0
0
0
0
0
0
0
0
0
-4
0
13
22
28
17
0
0
0
0
0
0
0
0
0
0
2
-12
-49
-39
41
-16
5
0
0
0
0
0
0
0
0
0
0
12
-9
3
-6
33
-32
-16
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
1
-4
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
3
16
0
0
0
-6
12
0
0
0
0
0
0
0
0
-2
-4
-2
27
6
-12
2
-14
-3
0
0
0
0
0
0
0
0
3
-6
4
1
-10
-1
-19
23
-1
0
0
0
0
0
0
0
0
-2
-3
-2
-25
7
66
74
-6
-4
0
0
0
0
0
0
0
0
0
0
7
-19
27
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
5
-11
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
-2
9
6
0
-2
-33
0
0
0
-51
2
6
0
0
0
0
0
0
0
4
0
-19
-2
-20
0
38
-12
-9
0
0
0
0
0
0
0
-3
-11
2
-9
-45
7
44
7
10
-12
-1
0
0
0
0
0
1
0
0
8
-5
-18
-37
-16
47
8
0
0
0
0
0
0
0
0
0
0
13
0
-18
-5
-21
2
4
2
0
0
0
0
0
0
0
0
0
-1
0
-13
-3
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-16
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-6
30
-3
0
30
0
0
0
1
0
-2
0
0
0
0
0
0
-4
4
11
6
50
-22
8
-48
12
-2
7
0
0
0
0
0
0
0
4
-1
19
60
-35
-72
7
25
0
-4
0
0
0
0
0
-2
0
0
13
-3
-16
32
-96
-8
-1
1
0
0
0
0
0
0
0
0
0
-3
-10
-20
-8
55
4
4
-1
0
0
0
0
0
0
0
0
0
0
3
4
4
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
-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
-2
6
15
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-8
-24
36
71
-6
0
0
0
-6
-2
0
2
0
0
0
0
0
-9
6
-3
-28
16
-48
0
-25
0
1
0
0
0
0
0
0
0
-1
-10
-28
28
-3
9
2
-58
8
0
0
0
0
0
0
0
0
0
2
-7
-7
-18
92
9
12
-4
2
0
0
0
0
0
0
0
0
0
3
-20
51
-39
35
12
-1
0
0
0
0
0
0
0
0
0
2
2
0
2
-3
19
-7
1
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-16
-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
-2
-6
-18
39
0
0
0
-2
1
0
0
0
0
0
0
7
28
7
-23
36
61
0
0
0
-70
-1
0
0
0
0
0
0
0
-6
2
-9
-53
18
-12
27
-40
-3
-2
1
0
0
0
0
0
0
-3
-2
-40
-2
-53
35
-25
-35
-48
0
0
0
0
0
0
0
0
0
18
37
21
29
-41
26
25
1
-7
-4
0
0
0
0
0
0
0
-1
-3
-5
7
5
15
-11
-23
2
0
0
0
0
0
0
0
0
0
-1
2
12
-10
1
50
9
0
0
0
0
0
0
0
0
0
0
0
15
0
1
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
-15
-18
-3
-3
0
0
0
-3
0
0
0
0
0
0
0
0
-11
-1
-58
52
16
0
0
0
34
2
0
0
0
0
0
0
0
1
24
-26
-24
57
-17
64
5
-14
0
0
0
0
0
0
0
0
-1
-4
-27
-45
-78
-16
-43
-22
78
-4
0
0
0
0
0
0
0
0
-1
-35
-36
22
27
12
12
-3
0
0
0
0
0
0
0
0
0
-4
10
-19
-5
14
4
33
14
0
0
0
0
0
0
0
0
0
0
8
12
-1
-19
25
-23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
42
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
6
10
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
-42
-6
0
0
0
3
13
0
0
0
0
0
0
0
0
0
0
-12
7
-11
57
-9
0
-8
0
0
0
0
0
0
0
0
0
-1
3
60
-35
-41
42
37
0
0
0
0
0
0
0
0
0
0
0
2
13
-12
5
-12
2
4
0
0
0
0
0
0
0
0
0
0
0
-9
-4
14
40
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
16
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-17
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-33
41
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
15
4
43
67
0
0
0
0
0
0
0
0
0
0
0
0
15
29
-42
-48
35
0
0
0
0
0
0
0
0
0
0
0
2
0
2
8
43
15
-31
6
0
0
0
0
0
0
0
0
0
0
3
-2
-2
-20
-16
8
1
0
0
0
0
0
0
0
0
0
0
-2
0
8
-3
28
9
25
0
0
0
0
0
0
0
0
0
0
0
11
-1
3
35
52
82
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
24
-1
-38
0
0
0
0
0
0
0
0
0
0
0
0
-25
-65
25
31
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
11
-31
43
-2
-33
3
0
0
0
0
0
0
0
0
-3
19
-37
32
-64
-34
-68
18
12
0
0
0
0
0
0
0
0
6
-1
0
17
4
14
-17
-34
-62
0
0
0
0
0
0
0
0
0
0
0
-2
49
-12
15
20
-27
0
0
0
0
0
0
0
0
0
0
0
13
0
30
-35
-17
16
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
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
35
-21
0
0
0
12
0
0
0
0
0
0
0
0
8
0
-7
66
-30
0
0
0
-50
0
0
0
0
0
0
0
0
0
0
21
5
77
-85
11
10
22
0
0
0
0
0
0
0
0
-12
19
-10
16
-25
48
-11
36
-23
0
0
0
0
0
0
0
0
-3
-2
41
41
54
0
-7
7
11
0
0
0
0
0
0
0
0
9
-2
15
-25
44
5
-38
-6
-25
0
0
0
0
0
0
0
0
0
-12
-8
0
12
-18
-5
-30
-27
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-24
-63
0
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
6
0
0
2
36
0
0
0
18
0
0
0
0
0
0
0
-15
0
-2
-32
-26
-25
0
0
0
44
-5
0
0
0
0
0
0
0
0
7
-6
12
0
-3
-19
-67
-12
-32
0
0
0
0
0
0
0
0
22
9
-21
-52
-42
-3
-2
-81
2
0
0
0
0
0
0
2
0
0
11
6
-23
11
-35
14
-32
-15
0
0
0
0
0
0
0
0
0
0
-3
83
41
48
-28
-1
1
0
0
0
0
0
0
0
0
0
0
-8
4
4
-22
70
9
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-9
0
-6
-1
0
0
0
-22
4
-4
0
0
0
0
0
-2
3
-42
-1
-2
-15
0
0
0
60
-28
-4
0
0
0
0
0
0
21
-8
21
-11
27
36
29
4
-12
12
0
0
0
0
0
0
0
0
11
-46
40
75
-27
-41
24
-23
-1
-1
0
0
0
0
0
0
-7
1
-10
-8
-2
-22
-10
-1
7
1
-2
0
0
0
0
0
0
0
0
28
27
45
35
-36
0
10
9
0
0
0
0
0
0
0
0
0
0
0
8
40
-39
3
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-15
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
6
10
7
0
-21
0
0
0
-2
2
0
0
0
0
0
0
-1
59
-41
46
14
5
0
0
0
-7
7
2
-1
0
0
0
0
-11
-9
25
52
-13
6
18
41
-63
-1
7
-8
-1
0
0
0
0
0
-9
9
-54
67
11
-37
-38
-48
-29
6
0
0
0
0
0
0
-18
10
9
39
37
17
-27
-47
-45
-23
3
0
-1
0
0
0
0
0
0
0
-22
10
46
-62
47
-10
-12
0
-2
0
0
0
0
0
0
0
-2
0
-7
-7
26
-36
-35
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-32
3
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
-8
22
43
-8
3
0
0
0
-15
-2
0
0
0
0
0
0
7
-11
-35
-1
-13
-13
0
0
0
-8
9
0
0
0
0
0
0
44
-75
13
-31
12
0
87
-16
8
36
0
0
0
0
0
0
0
-1
-3
-9
35
20
-30
79
-32
3
-5
-2
8
0
0
0
0
0
-3
-12
30
-36
52
8
-7
-5
-35
7
-3
0
0
0
0
0
0
0
0
54
-4
-24
2
-7
-10
31
-1
7
0
0
0
0
0
0
0
0
0
-32
-21
-55
14
2
-40
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
-48
-47
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
26
34
40
39
49
51
0
0
0
-7
-3
0
0
0
0
0
4
1
41
1
6
-28
7
0
0
0
-24
10
0
0
0
0
0
0
-7
10
-35
36
-13
14
-5
-1
35
13
-8
-1
0
0
0
0
0
-4
-14
-11
-29
-47
12
7
-13
-79
-33
-4
-1
0
0
0
0
0
12
13
-5
15
8
-6
-33
-67
-135
-2
-3
0
0
0
0
0
0
-2
8
2
-6
-6
54
-4
11
-6
27
-4
2
0
0
0
0
0
0
0
1
17
1
-13
54
-4
-2
-1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
-4
-16
1
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
-2
32
-24
-50
55
0
0
0
75
0
0
0
0
0
0
0
0
32
-51
2
-32
14
0
0
0
-13
40
0
0
0
0
0
0
2
21
-57
-30
67
33
-38
60
46
-6
2
0
0
0
0
0
0
-21
0
-55
-29
-4
-15
-40
45
-89
-30
0
1
0
0
0
0
0
-2
-36
18
-56
-73
-52
25
-57
-28
-17
0
0
0
0
0
0
0
-19
6
-60
16
67
11
33
-31
-15
-1
0
0
0
0
0
0
0
0
1
6
64
97
30
35
18
-28
16
0
0
0
0
0
0
0
0
0
-2
18
-1
0
0
21
-1
-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
-18
7
-12
30
9
0
0
0
45
-9
0
0
0
0
0
0
-3
-35
-35
-67
-24
33
0
0
0
-18
-4
0
0
0
0
0
0
-3
41
0
-26
-35
-86
-45
9
-49
27
0
0
0
0
0
0
0
-7
54
-40
-2
-46
-11
-12
-44
-6
-59
-4
0
0
0
0
0
0
0
20
17
-33
43
-46
30
4
24
10
1
0
-8
0
0
0
0
10
19
-9
-2
-32
51
25
-38
21
8
0
0
0
0
0
0
0
-4
-3
1
-85
51
-75
17
-50
10
0
1
0
0
0
0
0
0
0
0
0
0
-15
0
45
-18
-9
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
25
-10
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-15
54
-6
0
0
0
-2
-42
0
0
0
0
0
0
0
0
1
9
4
9
-45
-28
19
0
-6
1
0
0
0
0
0
0
0
-2
7
-2
-38
10
32
-34
-39
-7
0
0
0
0
0
0
0
0
-7
3
4
19
8
38
41
-22
13
-2
0
0
0
0
0
0
0
0
0
-1
4
16
1
71
32
0
0
0
0
0
0
0
0
0
0
6
-11
15
-21
7
13
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-30
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
3
-2
1
-22
8
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
39
-35
15
-2
1
0
0
0
0
0
0
0
0
0
0
-4
-2
-8
-20
7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
0
0
0
0
0
0
-4
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
5
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
6
-9
0
0
0
0
0
0
0
0
0
0
0
4
24
-1
2
51
-23
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-2
1
-13
51
-38
0
0
0
0
0
0
0
0
0
0
-3
4
11
5
-5
0
34
0
0
0
0
0
0
0
0
0
-1
0
0
0
73
-14
10
25
0
0
0
0
0
0
0
0
0
0
0
0
11
51
1
6
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-29
-8
-22
-14
37
0
0
0
0
0
0
0
0
0
0
0
0
25
-22
-25
26
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
8
-2
-10
38
68
2
0
0
0
0
0
0
0
0
1
7
43
82
91
-46
-27
8
-64
0
0
0
0
0
0
0
0
3
-1
0
-35
-12
-11
34
47
-6
0
0
0
0
0
0
0
0
0
0
0
0
-32
-15
-13
-31
81
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-15
17
3
-21
0
0
0
0
0
0
0
0
0
0
0
4
2
0
1
-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
2
-7
-10
-9
0
0
0
10
0
0
0
0
0
0
0
0
1
9
0
58
14
0
0
0
7
0
0
0
0
0
0
0
0
0
-6
14
-7
1
-4
9
48
21
0
0
0
0
0
0
0
0
0
13
20
40
9
-9
46
-28
-38
0
0
0
0
0
0
0
0
15
7
0
-25
-39
0
-49
47
7
0
0
0
0
0
0
0
0
4
0
-6
0
13
10
-43
-20
-49
0
0
0
0
0
0
0
0
0
0
0
2
-2
-7
55
7
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
17
1
-55
0
0
0
4
0
0
0
0
0
0
0
0
0
-11
3
21
-46
0
0
0
39
-1
0
0
0
0
0
0
0
0
-1
6
-18
-17
28
-16
-51
17
-21
0
0
0
0
0
0
-2
1
0
12
113
-22
-8
39
7
-7
-2
0
0
0
0
0
0
0
0
1
-6
-7
11
41
68
-51
8
-9
0
0
0
0
0
0
0
0
3
0
-2
-19
-11
35
15
2
0
0
0
0
0
0
0
0
0
0
7
-3
2
-11
14
0
-7
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
-3
0
4
16
10
2
0
0
0
-1
4
0
0
0
0
0
0
16
-4
-13
-1
-23
-25
0
0
0
49
0
0
0
0
0
0
0
2
1
-3
3
-2
0
-8
-47
-4
-11
11
0
0
0
0
0
0
0
7
0
10
-40
-81
33
-24
-22
2
0
-3
0
0
0
0
0
2
0
-16
26
4
-14
69
-57
55
0
0
0
0
0
0
0
0
0
0
0
-16
-2
-6
0
-28
37
0
0
0
0
0
0
0
0
0
0
4
-2
-3
-19
3
38
-56
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-10
6
32
46
0
0
0
-3
0
0
0
0
0
0
0
-1
-11
-15
10
7
-19
0
0
0
14
-1
0
0
0
0
0
0
10
25
3
49
7
-60
22
66
2
-1
2
0
0
0
0
0
0
0
-12
-6
-93
8
-3
37
15
41
0
-1
6
0
0
0
0
0
1
2
-3
74
-57
-36
-1
-9
33
29
0
0
-1
0
0
0
0
0
0
13
27
10
-33
0
-44
45
-4
0
0
0
0
0
0
0
0
3
-2
2
-8
17
-39
-6
-21
-1
1
0
0
0
0
0
0
0
0
-3
0
0
4
4
-13
-11
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
-8
25
-29
-33
10
0
0
0
6
-4
0
0
0
0
0
0
-1
69
7
-25
-44
-14
0
0
0
-44
0
0
0
0
0
0
0
0
4
34
7
28
16
-28
-6
-49
-2
-8
0
0
0
0
0
0
0
16
22
24
0
-1
14
25
48
-19
6
0
0
0
0
0
0
0
25
-21
-34
30
14
-42
-32
42
0
2
0
0
0
0
0
0
1
2
25
29
-32
50
64
7
26
2
-7
0
0
0
0
0
0
0
0
0
10
17
24
-17
-19
26
-1
4
0
0
0
0
0
0
0
0
0
-3
0
3
29
-61
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
-6
18
-18
26
10
-8
0
0
0
16
0
0
0
0
0
0
-2
7
33
-27
55
64
-24
0
0
0
0
0
0
0
0
0
0
0
11
-39
73
9
-5
8
63
-16
-15
-5
0
0
0
0
0
0
0
-4
6
90
22
55
6
67
-23
2
-15
0
0
1
0
0
0
0
0
-18
-13
-51
54
18
-69
4
-29
-8
-2
0
0
0
0
0
0
0
-7
-38
33
-3
-12
17
-40
-60
0
10
0
0
0
0
0
0
-3
-3
-3
0
-30
-12
8
-24
-97
-11
0
0
0
0
0
0
0
0
0
-7
-9
-9
-11
24
52
-54
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
36
0
0
0
0
0
0
0
0
0
0
15
20
-27
-1
32
0
0
0
7
-1
0
0
0
0
0
0
-15
16
-30
-44
8
12
0
0
0
7
-7
0
0
0
0
0
0
-21
28
37
-4
29
11
24
14
-49
11
-1
0
0
0
0
0
0
37
44
-69
23
48
17
53
-24
-56
-6
-3
0
0
0
0
0
0
0
7
-54
7
-15
6
52
7
-17
-2
10
0
0
0
0
0
0
0
-6
29
5
29
-17
-24
-50
-35
18
0
0
0
0
0
0
0
0
3
0
26
20
1
51
49
-48
1
-3
0
0
0
0
0
0
0
0
0
-8
-13
21
1
12
-50
-1
0
0
0
0
0
0
0
0
0
0
-7
0
-2
-1
0
1
0
0
0
0
0
0
0
0
0
1
-25
-37
15
-27
0
0
0
-52
1
0
0
0
0
0
0
-6
10
26
1
88
-41
0
0
0
-19
3
0
0
0
0
0
0
2
-6
10
-53
47
-26
17
-27
-33
-16
9
0
0
0
0
0
0
1
29
4
7
1
0
18
-3
15
0
0
0
0
0
0
0
0
-3
4
16
22
-6
-23
7
-49
7
-39
3
2
-1
0
0
0
0
-3
-4
-16
24
-8
3
-29
-27
38
74
0
0
0
0
0
0
0
0
0
2
3
-10
16
35
-64
-39
-28
0
0
0
0
0
0
0
0
0
3
6
22
1
3
-18
-29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
18
0
0
0
9
-15
0
0
0
0
0
0
0
0
0
-7
-52
-3
0
0
0
0
48
-4
0
0
0
0
0
0
0
-1
2
-1
33
-29
-18
45
1
5
-1
0
0
0
0
0
0
0
4
4
-3
17
18
25
40
8
-15
-1
0
0
0
0
0
0
0
0
2
13
-7
0
31
39
0
-43
0
0
0
0
0
0
0
0
0
0
2
-1
-13
23
-7
29
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
39
16
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
-1
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
11
-1
0
0
0
-7
-3
4
0
0
0
0
0
0
0
0
0
0
0
-2
17
-26
0
-6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
8
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
3
-3
-6
-16
-3
-7
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-12
-15
-7
0
0
0
0
0
0
0
0
0
0
0
-7
-8
-1
-12
-27
-47
0
0
0
0
0
0
0
0
0
0
0
0
-8
-26
7
20
77
-4
27
0
0
0
0
0
0
0
0
0
0
4
46
-20
14
-42
-9
-71
0
0
0
0
0
0
0
0
0
0
3
6
-63
32
-58
29
10
0
0
0
0
0
0
0
0
0
0
0
0
2
-20
18
-2
-28
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-29
9
11
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
0
1
-13
0
0
0
0
0
0
0
0
0
0
11
37
-13
18
11
0
0
0
0
0
0
0
0
0
0
0
3
-31
-4
63
-24
-9
0
0
0
0
0
0
0
0
0
0
0
0
-12
-59
-9
-69
-43
39
-22
8
0
0
0
0
0
0
0
0
0
0
-17
44
3
22
20
23
-8
0
0
0
0
0
0
0
0
0
11
32
33
-58
-51
-15
-25
-11
0
0
0
0
0
0
0
0
0
3
0
-38
19
41
-20
54
24
0
0
0
0
0
0
0
0
0
0
0
0
-3
-15
-13
73
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
21
17
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
-3
-2
3
6
1
0
0
0
33
0
0
0
0
0
0
0
18
0
9
16
-45
-51
0
0
0
-92
0
0
0
0
0
0
0
0
16
2
15
-1
-23
23
-22
45
6
0
0
0
0
0
0
0
0
0
0
-8
19
50
-14
12
8
58
0
0
0
0
0
0
0
0
0
0
6
35
-41
7
44
-18
18
0
0
0
0
0
0
0
0
0
0
2
-12
62
-8
18
33
44
0
0
0
0
0
0
0
0
0
0
0
17
-4
7
1
-10
37
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-12
85
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
6
-1
8
-8
0
0
0
-1
2
0
0
0
0
0
0
-1
-26
50
42
22
53
0
0
0
15
-2
0
0
0
0
0
0
0
2
10
3
3
-21
31
-28
47
-4
6
0
0
0
0
0
0
1
0
0
0
2
-9
39
49
-18
38
9
0
0
0
0
0
0
0
1
-4
-6
36
36
39
-2
-8
-1
6
0
0
0
0
0
0
0
0
4
-10
-6
7
0
44
2
5
0
0
0
0
0
0
0
0
0
0
7
0
-1
-3
-33
0
-5
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
-18
-20
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
1
10
55
0
19
0
0
0
-1
2
0
0
0
0
0
0
3
4
29
28
-49
-26
0
0
0
4
0
0
0
0
0
0
0
0
-9
8
6
37
-42
-82
-34
33
11
-1
0
0
0
0
0
0
0
1
0
1
0
30
19
40
-1
-8
1
0
0
0
0
0
0
2
11
-4
0
-6
-4
-37
13
-23
3
3
0
0
0
0
0
0
0
0
26
-1
24
-13
41
9
63
0
0
0
0
0
0
0
0
0
9
3
8
-3
-5
36
-25
-14
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
12
0
-63
-2
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
-2
-49
32
3
-2
0
0
0
0
0
0
0
0
0
0
0
12
15
-23
-84
-3
19
0
0
0
-32
0
0
0
0
0
0
0
2
-6
-16
-9
68
79
10
21
3
0
2
0
0
0
0
0
0
3
13
-17
0
-8
64
23
28
1
-4
0
0
0
0
0
0
0
15
9
4
1
6
9
-34
-72
57
-4
0
0
0
0
0
0
0
0
-3
-3
20
19
-60
16
6
-55
1
0
0
0
0
0
0
0
0
0
-11
16
48
64
-6
-38
-97
3
0
0
0
0
0
0
0
0
0
0
-1
0
-6
-4
-10
-20
3
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-1
-2
0
0
0
0
0
0
0
0
0
-11
21
8
14
48
0
0
0
-15
0
0
0
0
0
0
0
0
12
29
-6
29
-34
0
0
0
-23
-5
0
0
0
0
0
0
-6
45
16
45
4
1
8
-10
-12
18
-1
0
0
0
0
0
0
3
-12
-12
7
-18
11
47
-80
48
5
2
0
0
0
0
0
0
0
-42
7
20
-50
-74
74
21
-13
62
3
0
0
0
0
0
0
0
-4
-20
38
6
36
27
-48
-2
-4
0
0
0
0
0
0
0
-2
3
-1
-21
41
19
29
-22
-16
-3
0
0
0
0
0
0
0
0
0
0
8
41
2
19
-57
-33
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-87
0
0
0
0
0
0
0
0
0
7
-62
-30
27
49
-6
0
0
0
4
0
0
0
0
0
0
-11
-2
32
27
3
0
-2
0
0
0
-35
1
0
0
0
0
0
0
21
19
60
-17
28
-10
33
-1
49
12
-7
0
0
0
0
0
0
-4
27
-35
-33
-18
32
13
60
-51
16
1
-1
0
0
0
0
0
0
-1
-30
-2
80
45
31
-26
26
47
-3
0
0
0
0
0
0
0
-12
-16
-8
17
106
-40
-6
-28
18
0
0
0
0
0
0
0
1
3
48
-10
-41
-83
53
12
-12
-13
11
0
0
0
0
0
0
0
0
0
-36
28
-16
-10
-36
21
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
15
6
0
0
0
0
0
0
0
0
27
29
-31
-23
-43
40
0
0
0
-21
1
0
0
0
0
0
0
-25
11
14
-8
50
-19
0
0
0
18
-9
0
0
0
0
0
0
4
61
8
56
-1
57
109
-36
43
-3
-6
0
0
0
0
0
-3
12
-20
12
48
-6
45
-6
1
-34
-2
0
0
0
0
0
0
0
29
19
12
-14
23
34
12
-3
-13
30
-2
0
0
0
0
0
-1
0
-2
42
25
-18
-11
17
-8
-60
-7
0
0
0
0
0
0
0
0
4
-24
57
25
-6
22
29
-39
9
0
0
0
0
0
0
0
-3
0
-7
-28
-3
-18
-27
-3
43
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
-4
0
0
0
0
0
0
0
0
27
-24
22
-10
39
0
0
0
-67
0
0
0
0
0
0
0
-1
-32
-18
-4
-58
26
0
0
0
9
-1
0
0
0
0
0
0
3
-18
24
19
-11
-4
24
-6
-30
-9
-39
0
0
0
0
0
0
10
-22
-14
38
27
22
-61
-80
-19
0
-1
0
0
0
0
0
0
0
3
11
-26
16
38
-42
15
-42
34
-8
0
0
0
0
0
0
0
-33
-2
-38
1
16
50
-43
16
24
0
0
0
0
0
0
0
0
2
10
20
-44
-9
8
-92
-8
-50
0
0
0
0
0
0
0
0
-1
0
7
-12
-7
-18
2
-64
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-7
-9
7
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
8
-46
-8
0
0
0
-50
-21
0
0
0
0
0
0
0
0
0
-3
7
-36
4
15
-25
7
-21
-1
0
0
0
0
0
0
0
0
-1
-1
-23
-10
-34
-1
5
0
0
0
0
0
0
0
0
0
0
0
-4
7
49
1
-19
-6
18
0
0
0
0
0
0
0
0
0
0
-1
0
29
-25
-10
2
-13
0
0
0
0
0
0
0
0
0
-1
0
1
-2
-18
2
16
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
-2
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
3
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
30
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
-4
10
0
0
0
0
0
0
0
0
0
0
0
7
0
-28
35
32
-2
-26
23
0
0
0
0
0
0
0
0
0
0
-9
-24
19
13
-7
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-20
44
26
43
-26
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
71
12
28
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-13
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
1
0
12
-4
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-11
21
0
0
0
0
0
0
0
0
0
1
-22
2
1
2
6
0
0
0
0
0
0
0
0
0
0
0
26
23
12
-10
-6
20
0
0
0
0
0
0
0
0
0
0
0
11
-25
-17
-2
-37
-15
27
-59
25
0
0
0
0
0
0
0
0
0
1
-9
-94
34
-98
7
31
71
0
0
0
0
0
0
0
0
0
0
12
-51
35
-9
-6
74
-34
0
0
0
0
0
0
0
0
0
0
-11
-24
1
8
-25
10
17
0
0
0
0
0
0
0
0
0
11
2
-15
-1
-9
72
-15
17
0
0
0
0
0
0
0
0
0
0
0
0
-17
30
-37
-2
13
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
3
0
15
6
-3
0
0
0
14
0
0
0
0
0
0
0
-2
19
-9
-72
44
26
0
0
0
41
0
0
0
0
0
0
0
0
4
-6
-13
-6
-20
38
-13
13
2
0
0
0
0
0
0
0
0
0
0
-2
-11
60
-2
44
19
-14
0
0
0
0
0
0
0
0
0
0
6
112
-24
35
14
22
-1
0
0
0
0
0
0
0
0
0
0
1
-29
19
3
-39
-3
0
0
0
0
0
0
0
0
0
0
1
-2
0
-22
-35
40
9
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-28
30
6
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
-3
0
10
-37
10
-1
0
0
0
29
1
0
0
0
0
0
0
0
32
4
4
2
-21
0
0
0
-74
8
0
0
0
0
0
0
0
4
-21
-20
-16
-34
51
14
5
5
0
0
0
0
0
0
0
0
0
0
-1
34
-32
-4
90
11
5
0
0
0
0
0
0
0
2
0
0
0
-7
-60
-45
-20
11
2
0
0
0
0
0
0
0
0
0
0
-10
2
-24
-4
-26
13
-18
1
0
0
0
0
0
0
0
0
0
0
-6
1
-3
13
5
-3
0
0
0
0
0
0
0
0
0
0
0
9
0
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-4
1
0
0
0
0
0
0
0
0
16
-2
2
-13
3
32
0
0
0
21
0
0
0
0
0
0
0
-11
12
20
22
-38
-38
0
0
0
-7
-3
0
0
0
0
0
0
0
-2
-20
-80
-7
2
60
5
-47
0
0
0
0
0
0
0
0
3
0
-4
-1
-7
-35
-65
0
-6
26
0
0
0
0
0
0
0
-15
2
0
0
0
38
1
44
-29
0
0
0
0
0
0
0
0
0
0
0
-4
-24
27
-77
22
2
0
0
0
0
0
0
0
0
0
0
2
24
-19
-16
-60
57
11
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
-44
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
-2
11
22
-5
12
0
0
0
0
1
0
0
0
0
0
0
-1
4
115
8
29
-85
0
0
0
-4
0
0
0
0
0
0
0
11
25
58
-6
7
-47
-52
-9
35
0
7
0
0
0
0
0
0
-22
1
-8
21
-9
55
-53
30
-123
-2
0
0
0
0
0
0
0
2
25
1
6
0
0
68
84
-41
-2
0
0
0
0
0
0
0
0
0
4
0
-3
10
-16
-34
-5
-2
0
0
0
0
0
0
0
0
0
0
-10
-17
-20
-18
31
-12
3
0
0
0
0
0
0
0
0
0
-4
0
-7
-1
48
10
36
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-32
-2
0
0
0
0
0
0
0
0
-3
2
-18
58
-1
-36
0
0
0
0
0
0
0
0
0
0
0
0
-18
-53
42
0
1
0
0
0
27
0
0
0
0
0
0
0
6
0
-18
-13
19
-81
-18
52
-32
-3
1
0
0
0
0
0
0
0
2
33
-3
-22
28
54
-61
-10
-9
-1
0
0
0
0
0
0
-1
11
-10
28
0
0
3
-50
16
0
0
0
0
0
0
0
0
6
24
-13
29
-12
3
49
7
22
6
0
0
0
0
0
0
0
-2
-6
-16
0
13
-66
39
-10
79
-12
0
0
0
0
0
0
0
0
0
0
-8
2
-4
-33
19
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
22
0
0
0
0
0
0
0
3
0
-16
-15
-26
8
39
0
0
0
-17
0
0
0
0
0
0
0
30
-54
41
-13
-25
11
0
0
0
-22
0
0
0
0
0
0
0
-55
35
-12
41
41
-32
4
20
30
1
1
0
0
0
0
0
1
-1
73
26
95
36
28
15
28
87
25
0
0
0
0
0
0
0
-44
-2
0
-57
49
-7
0
-42
140
-10
0
0
0
0
0
0
0
1
25
15
11
-68
34
-27
-49
28
33
0
0
0
0
0
0
0
0
1
-1
19
-30
-17
-53
42
7
-12
0
0
0
0
0
0
0
0
0
-6
0
-28
-32
55
-14
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
8
0
0
0
0
0
0
0
0
0
-7
12
3
-10
53
3
0
0
0
-3
0
0
0
0
0
0
0
1
17
-33
-4
34
-23
0
0
0
24
-7
0
0
0
0
0
0
12
-3
28
32
-7
-26
61
2
19
19
-1
0
0
0
0
0
0
-6
35
4
22
28
-9
37
-45
-41
-51
0
4
0
0
0
0
0
9
0
19
-28
18
30
-20
0
-1
2
3
0
0
0
0
0
0
15
10
-36
1
-23
6
23
13
-83
-25
0
-4
0
0
0
0
0
0
-6
-56
55
-13
39
-22
1
27
0
0
0
0
0
0
0
0
0
0
8
40
18
-53
95
46
-62
12
0
0
0
0
0
0
0
0
0
0
0
-1
3
13
-28
15
0
0
0
0
0
0
0
0
9
-25
-4
29
36
21
0
0
0
27
-1
0
0
0
0
0
0
-6
-19
33
-4
-55
-21
0
0
0
-18
3
0
0
0
0
0
0
4
44
-2
-29
43
2
-3
6
43
-40
2
0
0
0
0
0
0
0
-15
-39
-2
58
35
6
-20
-40
22
-6
0
0
0
0
0
0
0
29
47
9
-74
31
9
-4
0
-18
0
0
0
0
0
0
0
0
25
13
-9
-38
12
46
-28
0
-1
0
0
0
0
0
0
0
0
-3
-1
43
-20
-12
-28
-56
-32
-12
0
0
0
0
0
0
0
19
0
7
0
44
0
3
14
16
59
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
3
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
0
0
0
6
-3
0
0
0
0
0
0
0
1
0
3
10
19
0
0
0
42
-11
0
0
0
0
0
0
0
0
0
3
54
-11
1
34
-29
8
-39
0
0
0
0
0
0
0
0
0
1
0
13
-50
-37
13
-9
2
-2
0
0
0
0
0
0
0
0
7
-8
0
15
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
18
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-12
-1
0
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
-3
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
8
0
0
0
0
10
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
-7
6
-3
-8
6
0
0
0
0
0
0
0
0
0
0
-9
1
6
9
3
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
-3
0
0
0
0
0
0
0
0
0
0
0
7
0
6
0
7
13
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-25
2
-2
7
-6
0
0
0
0
0
0
0
0
0
0
0
6
-9
-8
0
-6
38
0
0
0
0
0
0
0
0
0
0
0
0
57
27
-3
-40
22
0
0
0
0
0
0
0
0
0
0
0
-1
12
33
8
100
40
0
0
0
0
0
0
0
0
0
0
0
0
6
56
72
0
13
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-32
0
0
0
0
0
0
0
0
0
-1
16
-18
-9
-16
6
0
0
0
0
0
0
0
0
0
0
0
0
17
-40
8
-45
-51
0
0
0
0
0
0
0
0
0
0
0
0
-36
-17
16
72
32
25
19
-48
0
0
0
0
0
0
0
0
-3
13
8
96
32
-36
-38
-55
-26
0
0
0
0
0
0
0
0
0
0
13
26
35
1
21
-56
-9
0
0
0
0
0
0
0
0
0
0
-2
11
-2
96
4
-51
-23
0
0
0
0
0
0
0
0
0
0
7
-33
-9
13
-76
-6
-14
0
0
0
0
0
0
0
0
0
0
0
0
1
32
3
-14
64
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
25
-3
0
0
0
0
0
0
0
0
-8
0
11
25
17
2
0
0
0
20
0
0
0
0
0
0
0
0
-7
-8
-37
12
-22
0
0
0
24
0
0
0
0
0
0
0
-19
-11
-9
16
-15
20
8
71
-41
-9
0
0
0
0
0
0
0
0
4
61
-21
-1
10
-79
-22
-17
-1
0
0
0
0
0
0
0
0
0
0
25
-15
-69
-30
-5
6
-2
0
0
0
0
0
0
0
0
0
0
3
16
-1
64
-11
30
2
0
0
0
0
0
0
0
0
0
0
0
0
28
25
30
37
13
0
0
0
0
0
0
0
0
0
0
0
0
3
8
33
39
7
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
1
0
4
-1
-2
0
0
0
2
0
0
0
0
0
0
0
-3
-4
81
23
-12
-32
0
0
0
-72
-1
0
0
0
0
0
0
0
4
0
-16
6
-32
9
-28
17
-7
0
0
0
0
0
0
0
0
-3
-3
2
6
49
-23
16
1
-1
1
0
0
0
0
0
0
-2
0
0
0
-7
6
-37
-34
-17
0
-3
0
0
0
0
0
0
0
0
0
0
7
-47
-2
19
5
-1
0
0
0
0
0
0
0
0
0
0
2
12
1
0
-46
0
9
0
0
0
0
0
0
0
0
0
0
0
-2
-2
24
-16
7
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
-36
-18
0
14
0
0
0
0
0
0
0
0
0
0
0
7
-13
-25
-22
27
12
0
0
0
11
-4
0
0
0
0
0
0
3
2
-8
19
-12
82
41
56
-60
0
0
0
0
0
0
0
0
-11
1
0
-26
-2
-1
46
-60
-48
3
0
0
0
0
0
0
0
4
18
-1
0
-38
-21
-4
18
-42
0
0
0
0
0
0
0
0
-4
-6
-1
0
0
-36
81
27
-16
0
0
0
0
0
0
0
0
0
0
0
0
-21
45
22
-41
39
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
-18
-56
-38
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
4
-12
60
21
69
-33
0
0
0
0
0
0
0
0
0
0
6
7
-32
11
7
18
16
0
0
0
-11
0
0
0
0
0
0
0
-2
-15
64
24
-53
-24
65
-37
3
0
0
0
0
0
0
0
0
6
15
6
-46
-29
66
-12
5
-12
-1
0
0
0
0
0
0
0
-3
-6
9
33
3
47
10
20
-17
0
0
0
0
0
0
0
0
-1
1
0
-1
0
0
42
0
41
0
0
0
0
0
0
0
0
0
0
-9
0
2
-25
-21
22
-26
0
0
0
0
0
0
0
0
0
0
0
0
-1
-36
-13
-5
-53
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
-1
0
0
0
0
0
0
0
0
2
28
17
101
-62
83
0
0
0
-1
0
0
0
0
0
0
0
-6
-16
-35
2
46
-58
0
0
0
9
0
0
0
0
0
0
0
2
17
-20
48
-18
16
-34
19
-21
6
0
0
0
0
0
0
0
-8
2
-29
-14
-7
14
-35
-26
-36
2
0
0
0
0
0
0
0
-6
-37
-25
12
71
0
7
-18
77
7
0
0
0
0
0
0
0
0
9
-41
-37
0
0
-1
-36
-24
-2
0
0
0
0
0
0
0
0
0
2
21
1
2
-28
6
-42
4
0
0
0
0
0
0
0
0
0
-1
0
4
0
7
-35
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
0
8
-3
-9
14
-22
53
-29
0
0
0
-23
0
0
0
0
0
0
-1
-1
18
-21
-52
28
11
0
0
0
16
0
0
0
0
0
0
0
-41
-1
-2
-50
-9
1
-40
6
-23
-6
-1
0
0
0
0
0
0
12
95
14
-3
-17
-19
-18
10
-33
-13
1
0
0
0
0
0
0
-26
-4
-11
29
35
25
21
-27
-7
-8
0
0
0
0
0
0
3
6
-25
-9
9
-29
2
0
0
-15
-2
0
0
0
0
0
0
0
0
-6
79
-11
-82
-17
6
27
56
-7
0
0
0
0
0
0
0
0
0
0
4
10
-12
-35
49
26
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
1
32
-11
36
-36
-14
0
0
0
1
0
0
0
0
0
0
-1
43
-27
48
101
-1
21
0
0
0
-54
0
0
0
0
0
0
0
-10
0
55
14
65
119
-1
-46
-15
-24
0
0
0
0
0
0
0
-9
-12
11
-10
-35
47
-46
27
-52
-4
0
0
0
0
0
0
0
-6
-49
13
-25
69
14
-6
-10
-42
9
0
0
0
0
0
0
0
0
8
-13
-3
-38
-56
6
0
0
-1
0
0
0
0
0
0
0
0
10
-15
24
-48
83
-53
3
-33
-1
-2
0
0
0
0
0
0
0
0
24
1
-8
9
41
-2
20
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
4
87
19
0
0
0
0
0
0
0
0
0
0
10
-54
-55
-46
0
0
0
-40
0
0
0
0
0
0
0
0
45
2
3
-34
-47
0
0
0
-27
-10
0
0
0
0
0
0
0
0
2
4
41
36
17
-12
-51
-80
-2
0
0
0
0
0
0
0
-24
-3
-14
40
-31
34
-21
-33
3
-2
0
0
0
0
0
0
0
6
-2
-15
7
21
-12
-19
0
63
0
0
0
0
0
0
0
0
-16
-11
32
-64
57
-88
-8
0
0
0
0
0
0
0
0
0
0
0
4
26
71
32
1
-33
4
-1
0
0
0
0
0
0
0
0
0
-1
-29
-35
60
6
-1
-76
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
6
8
0
0
0
0
0
0
0
0
0
0
-8
-24
0
0
0
-1
-16
0
0
0
0
0
0
0
0
0
-3
48
19
-3
-80
-27
36
21
0
0
0
0
0
0
0
0
0
0
21
29
2
14
-17
-2
3
0
0
0
0
0
0
0
0
0
0
-2
35
17
8
11
0
17
0
0
0
0
0
0
0
0
0
0
-11
1
14
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
33
0
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
11
19
-1
-3
-22
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
-47
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
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
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
3
-4
-3
0
0
0
0
0
0
0
0
0
0
0
-2
3
-7
4
-1
-1
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-24
17
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
-40
0
45
-6
0
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
0
0
0
0
2
-1
-2
7
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
-7
0
-13
0
0
0
0
0
0
0
0
0
0
10
-8
-7
0
-2
0
0
0
0
0
0
0
0
0
0
0
-6
-2
21
-2
-7
-10
0
0
0
0
0
0
0
0
0
0
0
3
44
45
-53
-9
22
-8
74
-10
0
0
0
0
0
0
0
0
0
0
-8
-2
-28
-134
27
10
-28
0
0
0
0
0
0
0
0
0
-7
0
-28
-26
51
1
-40
-35
0
0
0
0
0
0
0
0
0
0
0
-7
-79
-64
-28
12
-26
0
0
0
0
0
0
0
0
0
0
-8
35
-21
79
29
-57
-40
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-70
-7
0
0
0
0
0
0
0
0
0
1
0
-10
-2
0
0
0
0
2
0
0
0
0
0
0
0
2
1
15
22
-2
3
0
0
0
-9
0
0
0
0
0
0
0
0
1
-3
-10
-14
3
8
-33
52
-6
0
0
0
0
0
0
0
0
0
30
-15
-28
-47
16
8
26
0
0
0
0
0
0
0
0
0
6
-28
-11
-21
-35
46
-20
15
0
0
0
0
0
0
0
0
0
0
0
-1
-24
14
23
25
24
-1
0
0
0
0
0
0
0
0
0
0
0
12
16
-7
127
12
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
-50
9
16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-34
-6
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
21
1
-24
-1
-8
-4
1
0
0
0
0
0
0
0
0
0
0
8
-44
16
11
-27
-11
-1
0
0
0
0
0
0
0
0
0
-2
-12
-9
13
-6
49
0
0
0
0
0
0
0
0
0
0
0
0
-2
28
-2
52
-35
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
10
12
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
32
2
-2
-1
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
2
-4
-1
-6
-8
0
0
0
0
4
0
0
0
0
0
0
0
0
-6
7
-17
-35
0
0
0
-13
6
0
0
0
0
0
0
0
-4
2
24
71
-38
46
-23
-47
0
-1
0
0
0
0
0
0
0
0
4
33
6
-18
-53
8
19
0
0
0
0
0
0
0
0
0
4
-13
-38
-4
-11
-2
-90
-13
0
0
0
0
0
0
0
0
0
1
-3
0
28
53
-94
32
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
9
9
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-10
-21
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
28
0
0
0
0
0
0
0
0
0
4
13
33
-3
-8
0
0
0
3
0
0
0
0
0
0
0
0
-3
3
24
11
19
0
0
0
-19
0
0
0
0
0
0
0
0
3
10
-64
-1
-26
42
-33
-76
0
0
0
0
0
0
0
0
0
6
60
47
6
-32
-45
-41
14
0
0
0
0
0
0
0
0
4
0
-6
-35
9
-27
-68
-48
-9
0
0
0
0
0
0
0
0
0
0
10
4
0
57
-21
-90
80
-3
0
0
0
0
0
0
0
0
2
-1
0
0
0
35
-2
-13
0
0
0
0
0
0
0
0
2
2
-1
0
2
7
-41
-14
52
-4
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
22
1
0
0
0
0
0
0
0
0
0
0
12
-11
-23
27
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
85
-110
14
0
0
0
3
-1
0
0
0
0
0
0
0
1
60
29
-82
4
37
-5
-47
0
0
0
0
0
0
0
0
0
10
-46
18
38
23
14
-73
-64
0
0
0
0
0
0
0
0
-1
-6
-24
25
-44
58
-1
94
-47
0
0
0
0
0
0
0
0
0
0
-15
8
-25
7
-5
16
-50
-1
0
0
0
0
0
0
0
0
-3
-18
-3
-1
0
-1
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
139
125
6
0
0
0
0
0
0
0
0
0
0
0
0
0
9
9
-21
0
0
0
0
0
0
0
0
-2
48
-4
-20
-37
60
0
0
0
43
0
0
0
0
0
0
0
0
15
-3
5
55
83
0
0
0
54
0
0
0
0
0
0
-4
2
2
-35
-7
72
-92
0
-42
-51
1
-6
0
0
0
0
0
9
27
37
57
-9
4
-36
33
12
-4
12
0
0
0
0
0
0
0
-9
10
7
37
23
16
13
-19
8
-5
0
0
0
0
0
0
0
2
-22
-39
-22
74
-9
21
-7
-12
23
0
0
0
0
0
0
0
0
2
4
36
-7
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
-4
-13
-20
-33
0
28
0
56
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
15
0
-2
0
0
0
0
0
0
0
4
-15
-38
15
32
50
0
0
0
0
2
0
0
0
0
0
0
10
-34
-51
-41
-73
35
0
0
0
-45
-1
0
0
0
0
0
0
2
-24
32
-40
-43
-15
45
19
-22
-9
-8
0
0
0
0
0
0
16
17
-14
83
-35
-57
-10
-33
-10
12
3
0
0
0
0
0
0
25
-73
-70
65
25
-11
-66
60
-57
7
-2
0
0
0
0
0
0
2
-5
-47
-16
27
6
-30
-2
-10
-3
0
0
0
0
0
0
0
6
0
-19
37
33
-40
7
0
1
1
0
0
0
0
0
0
0
0
-1
29
1
-9
29
46
0
21
66
-1
0
0
0
0
0
0
0
0
0
1
0
0
4
8
7
0
0
0
0
0
0
0
0
0
-8
-1
3
-27
1
0
0
0
0
-3
0
0
0
0
0
0
-3
8
16
-38
-4
-9
0
0
0
22
-2
-1
0
0
0
0
0
0
24
36
86
2
5
-1
-44
-8
31
1
0
0
0
0
0
0
0
2
-9
-1
-39
30
-7
0
-7
68
-1
0
0
0
0
0
0
0
-28
-48
64
20
34
-15
-66
-2
35
1
0
0
0
0
0
0
0
-2
28
-23
49
-39
64
5
0
-40
0
0
0
0
0
0
0
0
-1
2
-10
26
6
-18
1
0
0
0
0
0
0
0
0
0
0
-1
-16
17
-14
6
2
39
4
3
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
6
0
-4
-1
0
0
0
-1
-10
0
0
0
0
0
0
0
0
0
-11
1
-30
0
0
0
-52
-72
0
0
0
0
0
0
0
0
0
0
21
-12
-37
37
-20
1
-39
0
0
0
0
0
0
0
0
0
2
0
-12
3
51
21
43
4
2
0
0
0
0
0
0
0
2
0
4
46
-24
-23
-5
-1
1
0
0
0
0
0
0
0
0
0
0
4
2
-18
25
-1
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-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
-27
2
1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-23
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-13
30
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-24
-6
0
1
0
0
0
0
0
0
0
0
0
0
3
0
-1
7
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-15
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
7
-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
-15
0
0
0
0
0
0
0
0
0
0
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
32
0
0
0
0
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
8
-11
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
-3
1
16
2
0
0
0
0
0
0
0
0
0
0
4
7
-12
38
16
59
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
8
-33
0
2
0
0
0
0
0
0
0
0
0
0
0
12
2
-1
24
-25
3
0
0
0
0
0
0
0
0
0
0
-4
1
7
9
4
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
42
30
0
0
0
0
0
0
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
0
0
0
0
0
0
0
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
1
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
4
-8
8
55
0
10
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
36
36
43
3
0
0
0
0
0
0
0
0
0
0
0
0
-13
-9
-9
30
11
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
51
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
-2
-3
-2
0
0
32
3
6
-4
0
0
0
0
0
0
0
0
0
-2
0
-27
-2
2
-9
0
6
0
0
0
0
0
0
0
0
0
10
29
-1
-10
5
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
64
11
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-35
0
4
9
0
0
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
0
-51
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
4
0
3
0
1
0
0
0
0
-1
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
-10
0
-39
-4
-13
6
17
3
0
0
0
0
0
0
0
0
0
-10
0
38
-51
-8
39
12
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-47
-60
37
16
0
0
0
0
0
0
0
0
0
0
0
0
30
-26
12
-36
-7
1
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
4
0
0
13
0
0
0
0
0
0
0
0
0
2
0
-3
0
7
0
0
0
12
0
0
0
0
0
0
0
0
1
8
0
-4
42
0
0
0
2
0
0
0
0
0
0
0
0
-3
-16
-21
2
-18
2
-36
31
0
0
0
0
0
0
0
0
2
2
6
16
-49
56
-15
17
-1
0
0
0
0
0
0
0
0
0
0
0
-33
35
-22
-34
-10
-21
2
0
0
0
0
0
0
0
0
0
11
-7
19
14
52
1
18
-3
0
0
0
0
0
0
0
0
1
-4
-2
0
-24
11
8
28
1
0
0
0
0
0
0
0
0
0
10
0
0
0
-6
-13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
9
3
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
-22
4
-9
36
0
0
0
8
0
0
0
0
0
0
0
0
-1
0
-22
26
-15
10
-34
-24
0
0
0
0
0
0
0
0
0
0
3
-2
56
7
39
9
-42
6
0
0
0
0
0
0
0
6
1
2
4
19
27
-36
-36
14
0
0
0
0
0
0
0
0
0
-1
-3
11
-20
-81
-23
0
10
0
0
0
0
0
0
0
0
0
0
6
18
8
0
13
23
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
20
13
0
0
0
0
0
0
0
0
0
1
6
8
0
37
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
3
-75
18
0
0
0
19
0
0
0
0
0
0
0
0
0
-8
25
-6
23
-23
-3
11
0
0
0
0
0
0
0
0
0
-3
1
6
-27
-33
86
-16
-25
-3
0
0
0
0
0
0
0
-2
-2
-11
18
3
32
-31
-54
20
3
0
0
0
0
0
0
0
0
0
2
98
30
-83
27
29
-8
-9
0
0
0
0
0
0
0
0
9
3
-53
10
27
0
-47
-31
4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-18
1
0
0
0
0
0
0
0
0
9
25
-14
-15
-42
0
0
0
-22
6
0
0
0
0
0
0
10
-4
74
16
-14
-3
0
0
0
0
0
0
0
0
0
0
0
4
-22
-15
29
32
6
2
31
-53
11
0
0
0
0
0
0
0
-7
-4
-5
-42
-27
-4
-10
2
18
-1
-2
0
0
0
0
0
0
0
10
1
-33
29
39
-27
-21
20
8
0
0
0
0
0
0
0
0
7
-33
-30
27
-3
-32
7
9
-3
0
0
0
0
0
0
0
0
12
-21
-99
-8
33
-15
-1
86
7
0
0
0
0
0
0
0
0
0
-7
13
-1
-12
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
4
1
0
0
0
-38
-11
0
0
0
0
0
0
0
4
0
0
-8
-13
0
0
0
-27
-1
0
0
0
0
0
0
0
-6
6
2
-72
-30
31
1
-20
-30
3
0
0
0
0
0
0
0
0
-12
-7
27
-10
70
63
26
-16
-1
0
0
0
0
0
0
0
0
36
-1
-14
-49
18
-32
9
73
0
0
0
0
0
0
0
0
0
7
-3
-10
67
-80
-30
-7
8
0
0
0
0
0
0
0
0
0
-3
-1
19
24
59
28
0
-28
0
0
0
0
0
0
0
0
0
0
-1
-11
-2
-24
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
-3
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-7
1
0
0
0
0
0
0
0
0
0
-2
-1
-2
-16
42
3
10
0
0
0
0
0
0
0
0
0
0
0
-15
-12
-6
12
2
1
0
0
0
0
0
0
0
0
0
0
0
2
9
-20
-1
-2
-35
0
0
0
0
0
0
0
0
0
0
10
1
-1
-15
-29
0
-8
0
0
0
0
0
0
0
0
0
0
0
-1
3
9
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
4
0
0
0
0
0
0
0
0
0
0
0
11
0
-1
0
13
6
0
0
0
0
0
0
0
0
0
0
0
0
3
5
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
4
-18
2
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
1
-2
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-9
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
-17
9
-3
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
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
6
-11
1
0
0
8
0
0
0
0
0
0
0
0
0
0
-4
-54
-6
-29
46
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-1
29
-69
-14
12
-22
0
0
0
0
0
0
0
0
0
0
0
0
1
12
-36
0
12
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
9
1
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
2
-22
-106
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
-1
4
-1
0
0
0
0
0
0
0
0
0
0
0
-9
0
60
0
85
0
0
0
0
0
0
0
0
0
0
0
2
0
-22
4
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
67
38
10
0
-19
0
0
0
0
0
0
0
0
0
0
0
17
0
1
-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
4
0
0
0
25
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
-6
-1
1
36
15
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-11
-19
-17
7
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-3
2
-43
0
3
0
0
0
0
0
0
0
0
0
0
0
-7
0
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-21
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-9
2
0
-1
3
0
0
0
0
0
0
0
0
0
0
-54
58
-2
51
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-33
16
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
-1
0
79
26
9
6
8
0
0
0
0
0
0
0
0
0
0
0
-32
3
-4
-67
-11
-19
1
0
0
0
0
0
0
0
0
0
-2
28
56
30
-55
-13
10
-1
-10
0
0
0
0
0
0
0
0
21
-35
50
6
5
9
0
0
-6
0
0
0
0
0
0
0
0
0
-7
2
-1
0
-7
17
0
0
0
0
0
0
0
0
0
0
-3
-7
0
0
29
0
-1
-3
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
-1
0
-1
0
0
0
0
0
0
0
0
0
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
-7
-2
-3
2
0
0
0
0
0
0
0
0
0
0
4
20
13
1
69
34
-3
-7
0
0
0
0
0
0
0
0
1
-39
67
-49
11
17
4
20
0
0
0
0
0
0
0
0
0
0
-55
61
-12
76
-3
32
2
0
-18
0
0
0
0
0
0
0
0
-2
-4
47
7
-13
2
-3
0
0
0
0
0
0
0
0
0
0
6
-6
0
-12
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-4
0
0
-8
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
27
2
0
-6
12
50
-12
0
3
0
0
0
0
0
0
0
0
-6
3
-5
-10
-11
-24
0
3
10
0
0
0
0
0
0
0
0
8
-2
27
-27
-32
4
-6
1
0
0
0
0
0
0
0
0
0
0
0
-1
4
-3
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
40
0
0
-6
0
0
0
0
0
0
0
0
0
0
-2
45
-17
-14
-32
13
29
-1
3
0
0
0
0
0
0
0
0
6
-1
6
-2
8
-1
-2
37
0
0
0
0
0
0
0
0
0
-18
0
-3
7
18
-16
-2
0
-7
0
0
0
0
0
0
0
0
27
2
-1
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
-8
7
0
-1
0
0
0
-4
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
0
0
0
0
0
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
-27
-15
0
0
29
2
0
0
0
0
0
0
0
0
0
11
-48
14
30
-1
-12
9
0
0
0
0
0
0
0
0
0
0
-24
43
22
-28
4
19
-7
17
0
0
0
0
0
0
0
0
0
-18
-9
-1
7
-2
0
0
10
-2
1
0
0
0
0
0
0
0
-7
4
-42
6
2
-8
0
0
0
0
0
0
0
0
0
0
0
16
-71
7
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
25
15
-8
-1
2
-1
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
46
24
-9
0
0
0
0
0
0
0
0
0
0
0
0
-64
-39
-46
-4
17
12
0
8
0
0
0
0
0
0
0
0
0
9
-25
13
55
-26
-8
-19
-2
0
0
0
0
0
0
0
0
22
59
14
-20
-46
11
4
-12
-6
0
0
0
0
0
0
0
0
-8
41
64
8
17
6
6
0
2
0
0
0
0
0
0
0
0
-3
-20
-44
-1
4
55
0
0
0
0
0
0
0
0
0
0
0
2
-72
7
4
8
-1
0
-6
0
0
0
0
0
0
0
0
0
0
-4
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-27
123
5
-14
36
-17
0
0
0
0
0
0
0
0
0
0
-5
-8
-11
0
52
0
-21
4
1
0
0
0
0
0
0
0
0
-12
73
14
54
0
8
6
-4
7
9
0
0
0
0
0
0
0
0
-39
-42
-17
30
-2
-10
7
0
4
0
0
0
0
0
0
0
59
48
-58
93
31
7
28
7
0
0
0
0
0
0
0
0
0
-10
45
50
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
-2
10
-11
-2
0
-6
7
0
-1
0
0
0
0
0
0
0
0
1
-36
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
39
-47
-17
-21
14
-29
0
0
0
0
0
0
0
0
0
0
-18
-5
43
27
-3
2
-37
-10
6
0
0
0
0
0
0
0
0
3
49
18
-54
8
-54
-7
-1
0
0
0
0
0
0
0
0
0
23
-18
16
-35
2
-17
15
21
0
-2
0
0
0
0
0
0
0
-22
12
-61
-46
-17
88
3
0
-7
0
0
0
0
0
0
0
0
-11
13
-60
-36
8
9
0
0
0
0
0
0
0
0
0
0
0
49
34
-28
-9
15
-3
16
0
0
0
0
0
0
0
0
0
0
49
0
-27
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
47
-19
-38
8
-2
0
0
0
0
0
0
0
0
0
0
0
15
9
66
-15
-42
-11
1
-2
0
0
0
0
0
0
0
0
0
-11
-32
15
38
9
13
-1
2
0
0
0
0
0
0
0
0
0
-7
-23
21
18
28
-5
2
0
0
0
0
0
0
0
0
0
0
-2
-15
34
0
-15
-8
0
0
0
0
0
0
0
0
0
0
0
23
0
-26
-7
0
8
0
0
0
0
0
0
0
0
0
0
0
11
-18
0
-8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-5
-40
7
-1
0
8
-1
0
0
0
0
0
0
0
0
0
-10
-10
42
-16
20
-26
0
0
0
0
0
0
0
0
0
0
0
26
19
28
-20
-15
-8
0
0
0
0
0
0
0
0
0
0
0
18
-9
10
11
-1
-2
0
0
0
0
0
0
0
0
0
0
0
3
-7
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
67
-10
26
-79
-4
-8
-2
0
0
0
0
0
0
0
0
0
-7
-59
-7
11
-75
-2
23
-3
0
0
0
0
0
0
0
0
0
6
-7
14
-44
24
9
-17
2
6
1
0
0
0
0
0
0
0
0
-3
-45
-14
22
-6
63
-1
0
0
0
0
0
0
0
0
0
0
61
-12
-42
47
-3
32
0
0
0
0
0
0
0
0
0
0
22
-1
-5
-1
2
1
0
-4
1
0
0
0
0
0
0
0
0
-2
-45
-1
-2
0
0
0
0
16
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
10
8
17
-11
4
5
9
-18
0
0
0
0
0
0
0
0
0
2
13
38
2
-4
-4
8
7
7
0
0
0
0
0
0
0
0
0
3
-5
7
-31
-45
-9
-29
7
-11
0
0
0
0
0
0
0
-3
59
-23
-50
-19
58
2
-5
0
-3
0
0
0
0
0
0
0
0
17
4
15
46
-8
4
-5
3
0
0
0
0
0
0
0
0
0
-9
0
-4
0
0
7
-4
6
0
0
0
0
0
0
0
0
0
25
-6
2
-4
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-6
34
-36
-15
0
8
0
0
0
0
0
0
0
0
0
-4
6
24
7
4
10
1
-35
-1
0
0
0
0
0
0
0
0
-3
8
7
-17
-4
-2
4
-5
-2
0
0
0
0
0
0
0
0
-2
0
-56
20
-78
24
48
0
7
0
0
0
0
0
0
0
0
0
-2
33
17
1
-3
0
0
-1
0
0
0
0
0
0
0
0
4
3
0
4
-18
-4
2
4
0
0
0
0
0
0
0
0
0
0
-2
-8
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
56
7
-12
6
76
12
0
0
0
0
0
0
0
0
0
-15
-22
-25
-11
11
28
92
-4
8
0
0
0
0
0
0
0
0
9
19
-28
18
-33
2
15
-32
5
0
0
0
0
0
0
0
0
14
-27
-17
10
-6
8
-4
2
0
0
0
0
0
0
0
0
0
-7
-15
5
4
5
-8
2
0
-1
-2
0
0
0
0
0
0
0
-44
-6
-50
7
-3
3
1
0
2
0
0
0
0
0
0
0
0
7
-20
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
49
64
39
-30
7
6
-2
0
0
0
0
0
0
0
0
0
36
7
39
-39
4
30
-18
0
-33
0
0
0
0
0
0
0
0
13
44
58
40
49
22
-4
-9
0
0
0
0
0
0
0
0
0
35
80
24
32
-2
-1
16
-2
0
0
0
0
0
0
0
0
0
18
26
6
22
-37
6
4
3
0
0
0
0
0
0
0
0
0
-7
26
14
3
0
-1
-1
1
-3
0
0
0
0
0
0
0
0
-25
-55
10
-6
-10
1
0
0
0
0
0
0
0
0
0
0
0
-4
7
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
79
70
-8
17
9
12
0
0
0
0
0
0
0
0
0
-28
31
14
40
-39
53
8
29
5
11
0
0
0
0
0
0
0
4
-15
28
-8
1
11
-25
10
-35
-1
0
0
0
0
0
0
0
-27
7
10
9
22
-50
30
-11
0
0
0
0
0
0
0
0
0
-11
-23
-13
8
10
32
-2
-2
16
0
0
0
0
0
0
0
0
33
21
-26
-4
-2
20
-2
28
0
0
0
0
0
0
0
0
0
-5
12
16
-14
10
-2
-1
4
-1
0
0
0
0
0
0
0
0
0
44
-3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-46
82
30
-19
16
-9
-5
0
0
0
0
0
0
0
0
0
27
-22
34
44
76
32
1
-3
51
0
0
0
0
0
0
0
0
124
52
28
51
40
-13
29
26
28
-2
0
0
0
0
0
0
0
-6
-21
-20
23
10
30
8
20
-45
-8
0
0
0
0
0
0
0
65
21
22
-9
-16
-12
49
3
0
-7
0
0
0
0
0
0
0
-10
-21
1
0
54
16
-9
-7
2
0
0
0
0
0
0
0
0
53
32
-34
8
-26
-6
0
9
-1
0
0
0
0
0
0
0
0
4
-48
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
6
-24
56
-10
67
99
44
0
0
0
0
0
0
0
0
0
-19
-61
-26
46
-14
37
-7
22
1
0
0
0
0
0
0
0
0
-21
2
22
36
-7
-2
6
-28
55
25
0
0
0
0
0
0
0
53
-10
5
-15
11
-45
44
53
-1
9
0
0
0
0
0
0
0
-33
17
-23
-16
-43
57
-11
4
8
-1
0
0
0
0
0
0
0
1
-6
0
-39
52
17
14
0
6
-2
0
0
0
0
0
0
0
10
-10
-38
-7
-58
2
-7
7
4
0
0
0
0
0
0
0
0
2
-93
65
57
7
-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
-7
-27
-4
17
36
75
62
0
0
0
0
0
0
0
0
0
0
36
77
-41
13
-59
-21
-42
46
0
0
0
0
0
0
0
0
0
0
12
77
35
-19
-76
82
67
7
0
0
0
0
0
0
0
0
-14
-44
-64
9
-15
1
-11
6
-1
0
0
0
0
0
0
0
0
21
-5
35
24
59
10
-8
8
0
0
0
0
0
0
0
0
0
-20
-3
55
-21
57
48
-6
-1
0
0
0
0
0
0
0
0
0
-21
39
34
3
11
9
2
1
0
0
0
0
0
0
0
0
0
-4
-16
-10
-21
2
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-37
17
10
37
-3
0
6
0
0
0
0
0
0
0
0
0
33
44
-21
35
-13
-39
-2
-2
0
0
0
0
0
0
0
0
0
24
22
-11
12
-17
17
44
3
0
0
0
0
0
0
0
0
0
27
52
5
52
21
23
8
0
0
0
0
0
0
0
0
0
0
43
-27
74
-18
6
1
-2
3
0
0
0
0
0
0
0
0
0
0
3
2
-27
-45
-6
0
0
0
0
0
0
0
0
0
0
0
-12
0
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
43
42
15
-65
3
0
0
0
0
0
0
0
0
0
0
0
0
-14
13
-13
13
0
-7
0
0
0
0
0
0
0
0
0
0
0
-22
-1
-3
11
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-2
3
-8
0
0
0
0
0
0
0
0
0
41
2
15
13
1
26
1
-3
0
0
0
0
0
0
0
0
0
0
24
-1
14
12
2
0
-1
0
0
0
0
0
0
0
0
0
-23
59
2
-8
12
-3
3
-3
0
0
0
0
0
0
0
0
0
-14
2
-3
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-24
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
17
-6
-7
50
3
4
-9
0
0
0
0
0
0
0
0
0
9
25
60
4
-27
-13
1
36
-1
0
0
0
0
0
0
0
0
-41
19
0
82
21
2
-38
-10
1
0
0
0
0
0
0
0
0
-2
-12
1
-34
60
-41
-21
-17
0
0
0
0
0
0
0
0
0
6
-26
43
4
-12
-4
-33
1
2
0
0
0
0
0
0
0
0
1
-21
40
8
4
-1
-1
3
1
0
0
0
0
0
0
0
0
0
98
9
7
-6
0
0
2
7
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
0
-23
-32
-49
12
-15
17
1
0
0
0
0
0
0
0
0
0
0
6
1
73
5
15
-14
41
0
0
0
0
0
0
0
0
0
0
56
0
11
8
-42
10
40
0
-1
0
0
0
0
0
0
0
0
-25
67
-17
-44
44
-11
1
11
-1
0
0
0
0
0
0
0
0
-46
8
-13
9
-1
0
-6
-6
0
0
0
0
0
0
0
0
0
-23
24
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
17
-8
0
0
0
-3
0
-12
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
38
8
17
-12
4
-1
0
0
0
0
0
0
0
0
0
30
4
34
23
-4
-37
14
-3
11
0
-1
0
0
0
0
0
0
27
-2
-8
1
-4
-5
12
0
-1
-1
0
0
0
0
0
0
0
8
-1
12
-18
10
30
16
0
0
0
0
0
0
0
0
0
0
3
-12
3
-15
8
-8
-2
0
0
-2
0
0
0
0
0
0
0
-1
-4
-2
28
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-27
1
18
29
34
1
-8
0
0
0
0
0
0
0
0
0
47
-45
8
6
20
-21
7
-9
0
0
0
0
0
0
0
0
0
-6
-7
-2
46
-4
25
-30
-1
0
0
0
0
0
0
0
0
0
-11
30
3
-9
-35
1
-22
8
-3
-2
0
0
0
0
0
0
0
-32
10
-1
13
-11
4
0
0
0
0
0
0
0
0
0
0
0
-38
9
-8
19
-3
-4
2
-2
4
0
0
0
0
0
0
0
0
-36
12
7
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
-1
28
-4
-27
-24
-41
27
38
0
0
0
0
0
0
0
0
0
13
4
51
5
-47
54
36
68
-4
0
0
0
0
0
0
0
0
-13
47
79
21
-25
2
36
4
0
0
0
0
0
0
0
0
0
74
-22
-15
26
-41
-33
2
16
2
0
0
0
0
0
0
0
0
-8
-41
9
-71
-3
39
8
0
0
0
0
0
0
0
0
0
0
-51
31
44
-12
21
0
0
-9
0
0
0
0
0
0
0
0
0
84
-14
30
22
1
-1
1
0
0
0
0
0
0
0
0
0
0
9
8
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
26
-41
13
5
-32
1
0
0
0
0
0
0
0
0
0
-33
-4
29
24
-7
17
-35
-2
-1
-1
0
0
0
0
0
0
0
-42
4
10
-53
-14
-47
2
40
-8
0
0
0
0
0
0
0
0
27
56
55
-1
12
12
12
18
8
2
0
0
0
0
0
0
0
-11
-8
7
79
1
-8
57
7
0
1
0
0
0
0
0
0
0
-4
18
38
-6
19
30
-16
8
0
0
0
0
0
0
0
0
0
-35
15
32
-7
12
-8
2
0
0
0
0
0
0
0
0
0
0
-8
47
16
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-32
-10
16
57
39
66
-47
0
0
0
0
0
0
0
0
0
14
3
22
-17
10
-32
63
41
11
-11
0
0
0
0
0
0
0
-30
-2
45
81
-8
22
1
0
-2
0
0
0
0
0
0
0
0
29
53
16
28
41
38
29
-22
2
-1
0
0
0
0
0
0
0
47
-17
-41
-4
83
-10
9
20
7
0
0
0
0
0
0
0
0
-17
2
-27
8
51
-40
44
-2
-9
1
0
0
0
0
0
0
0
-16
-24
46
-13
-12
-6
-10
1
0
0
0
0
0
0
0
0
0
-26
-14
34
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
95
24
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-23
69
-8
-2
2
-21
-58
0
0
0
0
0
0
0
0
0
22
31
13
-19
23
32
-14
-13
-13
9
0
0
0
0
0
0
0
35
23
44
-21
7
26
-5
1
0
-10
0
0
0
0
0
0
0
-6
86
-71
-4
-18
-9
72
26
19
0
0
0
0
0
0
0
0
-24
3
8
3
-21
57
-32
-2
9
-10
0
0
0
0
0
0
0
74
6
119
-33
23
-35
-31
-22
0
1
0
0
0
0
0
0
0
-29
19
85
-29
-59
-20
-19
-12
-4
3
0
0
0
0
0
0
0
10
17
16
19
11
-10
0
1
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
-2
-16
3
-22
53
66
-62
0
7
0
0
0
0
0
0
0
0
22
14
-45
-17
41
-17
17
-7
1
1
0
0
0
0
0
0
0
-33
-84
68
-85
-13
-27
-21
-15
-1
0
0
0
0
0
0
0
0
5
41
-2
6
35
36
-41
-7
1
0
0
0
0
0
0
0
0
29
13
-4
64
5
0
-18
8
11
0
0
0
0
0
0
0
0
-2
-11
22
-13
-47
96
13
8
-4
0
0
0
0
0
0
0
0
-2
-37
-28
25
0
10
1
-1
3
0
0
0
0
0
0
0
0
6
28
29
-7
0
8
-6
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
129
5
-21
33
-30
0
0
0
0
0
0
0
0
0
0
0
0
-18
-27
26
1
-11
29
3
0
2
0
0
0
0
0
0
0
0
50
40
24
63
11
13
12
-2
0
0
0
0
0
0
0
0
0
-21
53
70
-8
17
-28
-1
9
0
0
0
0
0
0
0
0
0
-27
32
-23
14
-27
1
0
0
0
0
0
0
0
0
0
0
0
-17
7
-56
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
25
6
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-3
8
-20
12
1
0
0
0
0
0
0
0
0
0
0
0
-7
1
-40
-1
11
-1
-1
0
0
0
0
0
0
0
0
0
0
4
-2
42
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
6
0
0
-2
0
0
0
0
0
0
0
0
0
13
11
5
0
-2
-6
8
-29
0
0
0
0
0
0
0
0
0
15
27
-10
-6
44
-8
-3
2
0
0
0
0
0
0
0
0
0
0
8
14
-3
-4
-1
0
-3
0
0
0
0
0
0
0
0
0
-88
-22
1
-2
0
-3
-10
0
0
0
0
0
0
0
0
0
0
-2
15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
27
-35
-14
-24
-8
-26
0
0
0
0
0
0
0
0
0
0
3
-18
-8
43
11
-38
47
61
-9
0
0
0
0
0
0
0
0
87
-59
-17
-21
-21
-30
-22
44
0
0
0
0
0
0
0
0
0
-16
-8
25
36
-32
-10
9
37
-2
0
0
0
0
0
0
0
0
-1
-112
-100
1
36
-43
1
0
-9
-10
0
0
0
0
0
0
0
1
16
13
17
51
48
-1
-2
-1
0
0
0
0
0
0
0
0
2
49
2
-24
0
3
27
0
0
0
0
0
0
0
0
0
0
0
-7
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
30
-25
13
20
-11
-1
0
0
0
0
0
0
0
0
0
0
-13
14
20
61
3
-26
5
-4
0
0
0
0
0
0
0
0
0
-2
-38
-11
-20
-31
-8
6
-3
0
0
0
0
0
0
0
0
0
-97
-1
-14
60
8
-40
-2
0
-6
0
0
0
0
0
0
0
0
-9
-17
54
26
-27
-16
0
-6
0
0
0
0
0
0
0
0
0
8
-25
-3
21
49
2
-7
0
0
0
0
0
0
0
0
0
0
71
34
9
-3
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
40
11
15
-2
12
-2
0
0
0
0
0
0
0
0
0
-2
0
-25
1
7
9
23
2
0
0
0
0
0
0
0
0
0
12
-3
-2
48
3
37
26
-10
-2
0
0
0
0
0
0
0
0
58
-19
-6
0
7
-26
72
0
-3
0
0
0
0
0
0
0
0
36
-7
-8
4
13
-6
2
-9
-1
0
0
0
0
0
0
0
0
2
1
-14
-6
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
-8
0
6
2
-3
0
0
0
0
0
0
0
0
0
-5
-50
33
-31
21
-9
19
7
-3
0
0
0
0
0
0
0
0
-4
-29
-16
-1
2
-15
-27
-4
0
0
0
0
0
0
0
0
0
-49
57
35
-51
6
33
-5
1
0
0
0
0
0
0
0
0
0
-18
44
-10
9
4
0
0
0
0
4
0
0
0
0
0
0
0
1
9
-3
-6
3
15
0
0
0
0
0
0
0
0
0
0
0
-3
-20
-1
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
4
9
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
77
-55
-42
-61
40
7
0
0
0
0
0
0
0
0
0
42
40
34
-32
32
-16
41
-10
-22
0
0
0
0
0
0
0
0
-41
-16
16
-87
-6
-2
-59
-7
1
0
0
0
0
0
0
0
0
47
38
71
-25
7
-1
-12
12
9
0
0
0
0
0
0
0
0
-27
22
-39
-38
97
25
27
8
24
-1
0
0
0
0
0
0
0
40
-56
41
16
15
-19
0
0
0
0
0
0
0
0
0
0
0
6
-3
-33
-13
-2
0
0
-4
0
0
0
0
0
0
0
0
0
28
89
-10
4
0
7
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
41
16
-5
-23
-8
-11
-18
0
0
0
0
0
0
0
0
0
-18
34
-90
-34
32
2
-8
12
0
0
0
0
0
0
0
0
0
-3
54
65
42
5
-29
16
-36
45
-1
0
0
0
0
0
0
0
56
48
47
55
49
15
2
-7
-6
0
0
0
0
0
0
0
0
15
65
62
18
53
0
11
8
11
0
0
0
0
0
0
0
0
-16
-2
16
0
28
19
-37
-6
0
0
0
0
0
0
0
0
0
1
47
-46
15
-4
28
4
-3
6
0
0
0
0
0
0
0
0
45
8
76
30
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
-8
61
11
16
-23
66
5
10
0
0
0
0
0
0
0
0
0
-7
16
5
-46
-18
1
-51
-2
4
0
0
0
0
0
0
0
0
64
27
28
-7
50
16
-49
22
11
3
0
0
0
0
0
0
0
40
64
10
90
-15
-11
25
1
0
0
0
0
0
0
0
0
0
72
6
35
-43
-13
-19
72
-8
-7
0
0
0
0
0
0
0
0
-12
30
3
11
9
0
30
0
0
0
0
0
0
0
0
0
0
3
4
-18
-6
-9
10
-2
0
-11
0
0
0
0
0
0
0
0
8
27
19
3
1
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
-89
46
12
-89
0
18
-103
-15
0
0
0
0
0
0
0
0
0
35
-10
-9
38
8
46
31
47
-36
-6
0
0
0
0
0
0
0
-9
20
20
16
-4
75
-19
-43
-7
-2
0
0
0
0
0
0
0
63
-39
17
-28
-21
67
49
-49
0
-1
0
0
0
0
0
0
0
-28
4
-2
34
34
-44
-8
-3
18
0
0
0
0
0
0
0
0
5
1
-15
-40
-48
39
3
13
0
0
0
0
0
0
0
0
0
54
18
-2
42
-10
-38
16
7
10
1
0
0
0
0
0
0
0
-3
50
17
-54
21
0
-6
1
2
0
0
0
0
0
0
0
0
37
-20
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-10
9
-48
52
-65
-10
0
0
0
0
0
0
0
0
0
0
16
65
49
11
10
93
-21
17
0
0
0
0
0
0
0
0
0
10
-6
43
15
-3
-12
68
-11
-1
0
0
0
0
0
0
0
0
-10
64
-39
13
4
13
21
24
0
0
0
0
0
0
0
0
0
-29
-20
-32
101
40
6
13
-81
-2
0
0
0
0
0
0
0
0
-37
-57
82
-86
42
39
7
-56
0
0
0
0
0
0
0
0
0
-57
72
1
16
-42
-2
1
0
0
0
0
0
0
0
0
0
0
4
47
-30
-9
-19
-6
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
29
2
-43
7
-12
-9
0
0
0
0
0
0
0
0
0
0
0
-4
46
72
11
8
-14
0
0
-2
0
0
0
0
0
0
0
0
29
31
-12
-26
-4
17
4
-1
0
0
0
0
0
0
0
0
0
-18
6
27
15
6
-6
-1
0
0
0
0
0
0
0
0
0
0
-13
-7
27
-21
-30
1
0
0
0
0
0
0
0
0
0
0
0
-10
2
24
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
-26
-2
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
-11
-27
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
4
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-1
0
0
0
0
0
0
0
0
0
0
0
5
-11
2
0
6
-5
-7
0
0
0
0
0
0
0
0
0
0
9
14
-19
-6
-3
17
13
0
0
0
0
0
0
0
0
0
0
-11
27
14
-9
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
38
-19
-9
-2
0
-4
-1
0
0
0
0
0
0
0
0
0
-4
-11
-20
90
4
0
0
0
0
0
0
0
0
0
0
0
0
2
10
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
7
11
-28
21
29
0
0
0
0
0
0
0
0
0
-8
9
-58
-47
33
28
19
7
-7
0
0
0
0
0
0
0
0
-3
27
36
-97
-2
18
-14
21
13
0
0
0
0
0
0
0
0
-1
92
35
-23
14
33
73
18
-3
0
0
0
0
0
0
0
0
8
0
-30
-12
6
3
29
-8
13
0
0
0
0
0
0
0
0
0
-13
32
-24
32
34
-3
0
0
0
0
0
0
0
0
0
0
2
-42
1
13
2
-2
-1
1
-1
0
0
0
0
0
0
0
0
0
11
13
-25
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
-8
-19
-8
11
-30
2
-6
0
0
0
0
0
0
0
0
0
4
-18
8
-10
1
-32
-15
-21
3
0
0
0
0
0
0
0
0
0
-11
-29
33
18
29
-33
-9
0
0
0
0
0
0
0
0
0
0
-43
0
-38
43
4
-15
-4
0
0
0
0
0
0
0
0
0
0
-11
0
7
128
-9
2
-2
0
0
0
0
0
0
0
0
0
0
-3
23
-8
1
12
0
0
8
0
0
0
0
0
0
0
0
0
-27
-9
-21
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-30
20
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
8
1
1
0
-1
7
8
0
0
0
0
0
0
0
0
0
0
2
-12
-69
49
-13
44
55
5
0
0
0
0
0
0
0
0
0
3
8
16
3
-48
2
10
-9
0
0
0
0
0
0
0
0
0
-8
11
10
-12
-41
-12
-3
-6
2
0
0
0
0
0
0
0
0
-7
-3
16
0
0
-18
15
1
0
0
0
0
0
0
0
0
0
-3
0
1
16
0
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
-27
-33
-8
9
12
0
0
0
0
0
0
0
0
0
0
11
9
-9
-15
27
50
-18
2
-3
0
0
0
0
0
0
0
0
15
21
-52
28
71
-6
4
-2
12
0
0
0
0
0
0
0
0
-66
-14
25
96
-16
2
-12
10
0
0
0
0
0
0
0
0
0
10
-10
19
-44
0
6
4
-2
0
0
0
0
0
0
0
0
0
-40
38
-10
-65
22
0
0
-1
-3
0
0
0
0
0
0
0
0
7
-50
-18
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
28
-47
0
41
24
-3
6
0
0
0
0
0
0
0
0
0
37
51
56
47
14
-31
-36
9
0
0
0
0
0
0
0
0
0
46
-15
-12
-11
-17
17
10
-11
0
0
0
0
0
0
0
0
0
-9
80
11
-12
15
-2
-17
2
1
0
0
0
0
0
0
0
0
-90
107
44
5
-80
0
-9
0
1
0
0
0
0
0
0
0
0
6
24
37
-50
6
7
11
-4
0
0
0
0
0
0
0
0
0
53
-3
-8
50
-4
1
-24
1
0
0
0
0
0
0
0
0
0
-1
95
-4
-7
-3
0
0
-2
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
-24
-35
-4
-1
26
-5
-45
-2
0
0
0
0
0
0
0
0
0
40
11
-12
53
18
46
-3
-12
15
0
0
0
0
0
0
0
0
23
-22
-28
4
50
27
19
-28
29
0
0
0
0
0
0
0
0
-6
31
56
42
-42
-27
-4
-2
2
0
0
0
0
0
0
0
0
-8
10
17
57
80
38
0
22
4
0
0
0
0
0
0
0
0
16
32
38
-59
12
4
-9
0
-15
0
0
0
0
0
0
0
0
-9
-31
-51
77
0
-12
4
2
0
0
0
0
0
0
0
0
0
-15
-7
-9
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
49
24
-23
61
51
-42
18
0
4
0
0
0
0
0
0
0
120
-37
47
60
45
1
6
7
-11
0
0
0
0
0
0
0
0
-10
-60
60
55
-4
-40
-16
50
37
-4
0
0
0
0
0
0
0
12
20
-27
68
-42
15
16
12
-9
0
0
0
0
0
0
0
0
-7
50
78
-3
50
30
14
0
0
0
0
0
0
0
0
0
0
52
20
67
-6
-35
-6
-14
3
0
-3
0
0
0
0
0
0
0
-15
16
15
0
-50
16
-2
0
0
0
0
0
0
0
0
0
0
-9
44
-12
38
10
-1
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
-34
19
-19
26
19
100
-40
7
0
0
0
0
0
0
0
0
0
22
21
39
26
17
70
19
5
29
0
0
0
0
0
0
0
0
9
40
65
-31
-33
-23
-30
-43
3
25
0
0
0
0
0
0
0
-2
-27
71
34
-29
-18
-23
13
27
0
0
0
0
0
0
0
0
11
25
-17
61
12
74
-10
-4
0
1
0
0
0
0
0
0
0
-11
52
9
-17
49
28
-9
11
32
0
0
0
0
0
0
0
0
38
30
13
-56
8
11
-26
-16
-1
0
0
0
0
0
0
0
0
1
66
-27
-23
2
-7
30
0
8
0
0
0
0
0
0
0
0
27
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-4
32
-63
37
22
-61
0
0
0
0
0
0
0
0
0
0
70
53
42
26
-31
6
58
-46
-1
1
0
0
0
0
0
0
0
-26
38
8
-7
48
-37
-51
6
1
0
0
0
0
0
0
0
0
37
0
51
59
0
44
37
2
10
0
0
0
0
0
0
0
0
-77
-20
59
65
-7
61
23
-3
0
0
0
0
0
0
0
0
0
-14
-9
-34
27
17
2
65
0
6
0
0
0
0
0
0
0
0
-27
0
59
16
-16
35
11
-19
0
0
0
0
0
0
0
0
0
7
-37
33
11
-3
0
8
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
-20
14
-68
35
-1
0
0
0
0
0
0
0
0
0
0
0
17
33
24
21
20
-25
-1
0
0
0
0
0
0
0
0
0
0
19
21
-13
22
-5
2
-21
0
0
0
0
0
0
0
0
0
0
33
6
4
-12
-5
11
2
3
0
0
0
0
0
0
0
0
0
-54
47
-2
-1
13
-18
1
-6
0
0
0
0
0
0
0
0
0
-2
20
26
-10
0
0
-4
-1
0
0
0
0
0
0
0
0
0
4
9
-12
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
36
-30
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
3
6
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-1
0
0
3
4
0
0
0
0
0
0
0
0
0
6
-6
0
0
0
7
1
-6
0
0
0
0
0
0
0
0
0
13
10
2
1
2
-21
22
-20
2
0
0
0
0
0
0
0
0
36
-4
4
-3
2
2
-3
-2
0
0
0
0
0
0
0
0
0
0
15
62
4
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
19
30
-5
7
-1
0
0
0
0
0
0
0
0
0
0
0
25
-1
-12
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
-10
18
8
27
-4
0
0
0
0
0
0
0
0
0
0
-20
-15
-13
53
6
35
24
-2
0
0
0
0
0
0
0
0
-6
-35
-5
65
29
-49
18
-13
-3
0
0
0
0
0
0
0
0
45
1
18
35
29
50
-33
-11
9
0
0
0
0
0
0
0
0
-4
33
-35
-4
-6
-50
-35
-2
-2
0
0
0
0
0
0
0
0
-1
0
-54
12
34
47
2
0
4
0
0
0
0
0
0
0
0
0
-8
46
-43
-40
1
0
0
-2
0
0
0
0
0
0
0
0
-6
-17
82
3
-4
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
18
14
-1
0
1
-5
5
0
0
0
0
0
0
0
0
0
0
-1
24
-3
-1
-11
13
1
28
0
0
0
0
0
0
0
0
0
-18
-9
4
-6
26
-13
34
-1
1
0
0
0
0
0
0
0
13
-5
-16
37
-24
69
-79
44
-8
0
0
0
0
0
0
0
0
0
41
44
4
-19
-8
3
2
0
0
0
0
0
0
0
0
0
0
13
0
62
-37
-3
13
0
0
0
0
0
0
0
0
0
0
0
5
-32
25
19
39
1
0
0
0
0
0
0
0
0
0
0
-4
39
0
73
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-16
4
0
4
15
0
0
0
0
0
0
0
0
0
-29
0
58
14
81
-23
0
-12
0
0
1
0
0
0
0
0
0
1
-13
-17
1
6
-8
-4
-3
3
-1
0
0
0
0
0
0
0
1
0
29
0
-24
-27
44
-4
0
0
0
0
0
0
0
0
0
0
13
1
-15
20
-12
6
4
0
0
0
0
0
0
0
0
0
0
-7
-19
0
15
-30
-2
0
0
0
0
0
0
0
0
0
0
-25
-8
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
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
6
2
-10
1
32
9
-11
0
0
0
0
0
0
0
0
0
2
-16
-22
-34
39
30
-59
13
1
0
0
0
0
0
0
0
0
26
-51
-12
35
-26
-20
13
-9
0
-7
0
0
0
0
0
0
0
4
22
3
7
6
-20
-37
-25
2
-1
0
0
0
0
0
0
0
0
1
4
50
66
-12
17
-2
3
0
0
0
0
0
0
0
0
12
-2
46
9
0
5
-3
7
0
0
0
0
0
0
0
0
0
8
-41
23
-2
12
1
8
0
0
0
0
0
0
0
0
0
0
7
4
0
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
23
67
-4
-1
-1
32
-2
0
0
0
0
0
0
0
0
0
-30
-26
-4
-10
-17
24
-54
-30
-4
0
0
0
0
0
0
0
0
22
71
6
-17
40
77
11
1
0
0
0
0
0
0
0
0
0
0
-40
1
-1
25
-18
-27
0
-3
0
0
0
0
0
0
0
0
-1
-6
17
31
-22
29
12
-1
-2
0
0
0
0
0
0
0
0
-5
37
56
15
14
0
-1
-2
4
0
0
0
0
0
0
0
0
-80
-6
22
46
3
-1
-1
-2
0
0
0
0
0
0
0
0
0
-8
-39
27
0
0
-3
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
22
64
-16
104
27
-55
12
-30
0
0
0
0
0
0
0
0
0
29
20
32
8
-8
50
30
29
7
0
0
0
0
0
0
0
0
74
6
18
-1
-13
-13
3
35
-6
0
0
0
0
0
0
0
0
23
15
57
104
-16
-21
4
-15
0
8
0
0
0
0
0
0
0
23
53
103
55
-4
2
-17
26
1
0
0
0
0
0
0
0
0
6
11
4
-23
25
41
0
0
9
0
0
0
0
0
0
0
0
8
42
-31
30
30
7
-12
1
0
0
0
0
0
0
0
0
0
-3
8
1
-30
6
10
1
0
0
0
0
0
0
0
0
0
0
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
26
17
49
5
-30
58
3
0
0
0
0
0
0
0
0
0
13
-4
53
34
-12
20
31
52
-4
0
0
0
0
0
0
0
0
82
-8
49
11
-11
-63
37
17
-13
0
0
0
0
0
0
0
0
-14
62
73
31
46
44
46
13
-10
0
0
0
0
0
0
0
0
116
4
-8
-41
66
-27
-49
-6
-2
0
0
0
0
0
0
0
0
70
10
31
6
28
14
-9
0
3
0
0
0
0
0
0
0
0
-39
-22
42
19
103
2
-6
1
0
1
0
0
0
0
0
0
0
0
16
39
37
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-7
16
16
17
3
-13
-91
0
0
0
0
0
0
0
0
0
16
22
79
9
20
15
-52
-51
-21
0
0
0
0
0
0
0
0
-23
9
-10
79
30
3
3
-1
1
0
0
0
0
0
0
0
0
27
73
54
58
44
2
14
45
-12
-8
0
0
0
0
0
0
0
-9
-25
42
22
16
18
-8
22
0
36
0
0
0
0
0
0
0
11
50
41
-18
27
-18
-6
12
0
-2
0
0
0
0
0
0
0
38
-7
13
-29
-1
-8
54
-17
9
0
0
0
0
0
0
0
0
-24
15
-36
-6
4
10
9
-1
0
0
0
0
0
0
0
0
0
47
8
11
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
57
10
32
-10
-44
38
0
0
0
0
0
0
0
0
0
0
91
30
1
26
37
-65
10
4
-2
0
0
0
0
0
0
0
0
-7
43
-18
18
-31
48
-4
69
24
0
0
0
0
0
0
0
0
64
32
-24
35
-58
21
3
-2
6
-1
0
0
0
0
0
0
0
48
-37
23
38
53
11
-11
1
1
-1
0
0
0
0
0
0
0
18
-14
55
3
-24
18
3
12
0
0
0
0
0
0
0
0
0
42
8
15
17
11
0
-16
-12
1
0
0
0
0
0
0
0
0
111
3
56
3
0
1
-4
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-15
-4
37
13
74
0
0
0
0
0
0
0
0
0
0
0
-6
20
10
8
4
-63
0
0
0
0
0
0
0
0
0
0
0
-19
41
27
-5
26
13
4
-8
0
0
0
0
0
0
0
0
0
-26
19
1
36
24
-7
-4
0
0
0
0
0
0
0
0
0
0
26
14
-5
14
13
1
2
0
0
0
0
0
0
0
0
0
0
19
51
-13
-9
9
-15
-3
0
0
0
0
0
0
0
0
0
0
-1
29
-35
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-41
31
1
0
0
0
0
0
0
0
0
0
0
0
0
10
-9
29
15
7
0
0
0
0
0
0
0
0
0
0
0
0
8
15
25
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-10
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
13
0
0
0
13
4
0
0
0
0
0
0
0
0
0
0
0
16
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
44
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
37
-4
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
60
9
12
-1
-28
-53
11
0
0
0
0
0
0
0
0
1
-14
20
1
6
19
12
15
0
0
0
0
0
0
0
0
0
10
11
-10
31
54
13
-4
9
-4
0
0
0
0
0
0
0
0
-4
-10
6
5
-44
39
4
6
0
0
0
0
0
0
0
0
0
-12
44
-26
-8
64
24
6
-1
0
0
0
0
0
0
0
0
0
9
0
-26
20
-3
-7
-7
0
0
0
0
0
0
0
0
0
0
0
9
10
18
0
0
0
0
0
0
0
0
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
16
-2
0
0
0
0
0
0
0
0
0
0
15
20
6
-8
-1
-35
-4
6
0
0
0
0
0
0
0
0
0
56
0
12
10
18
44
-6
6
0
0
0
0
0
0
0
0
0
48
-30
-30
32
-32
-8
-12
0
0
0
0
0
0
0
0
0
0
50
83
11
-4
-18
47
-6
-3
0
0
0
0
0
0
0
0
0
-3
59
66
-43
-12
0
1
0
0
0
0
0
0
0
0
0
0
-25
0
0
15
26
0
0
1
-1
0
0
0
0
0
0
0
0
-2
25
25
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
-1
4
-26
6
0
0
24
0
0
0
0
0
0
0
0
0
0
9
0
11
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-4
2
1
10
-2
7
0
0
0
0
0
0
0
0
0
0
0
2
-40
-43
-2
7
-1
0
0
0
0
0
0
0
0
0
0
-20
3
7
1
8
-11
2
0
0
0
0
0
0
0
0
0
1
21
42
0
20
5
4
0
0
0
0
0
0
0
0
0
0
2
7
0
-13
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
-1
-12
0
-21
5
11
17
0
0
0
0
0
0
0
0
0
0
-5
97
98
-18
3
-44
-8
-8
0
0
0
0
0
0
0
0
0
0
-1
26
-11
1
-28
9
0
1
-1
0
0
0
0
0
0
0
0
-15
-2
-16
4
1
-12
1
0
0
0
0
0
0
0
0
0
0
0
32
-2
10
1
-2
3
2
0
0
0
0
0
0
0
0
0
43
-36
6
-18
15
3
-6
1
0
0
0
0
0
0
0
0
-2
7
12
-9
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
-11
-15
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-15
40
-1
41
4
3
0
0
0
0
0
0
0
0
0
-48
22
6
42
0
2
-37
29
0
0
0
0
0
0
0
0
0
47
-34
-15
47
-33
54
-21
-18
-2
0
0
0
0
0
0
0
0
-11
-11
-25
-6
-8
3
-4
8
0
0
0
0
0
0
0
0
0
0
40
14
-14
-39
25
18
6
-7
0
0
0
0
0
0
0
0
9
18
2
17
-2
17
2
-8
0
0
0
0
0
0
0
0
0
-30
64
-2
13
-14
0
0
0
2
0
0
0
0
0
0
0
0
83
4
62
-24
-2
0
0
16
0
0
0
0
0
0
0
0
0
8
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
69
-25
-1
-90
38
8
-4
0
0
0
0
0
0
0
0
0
-24
-49
-36
39
39
-30
26
44
2
0
0
0
0
0
0
0
0
33
-48
-26
-11
-9
-28
7
8
-6
2
0
0
0
0
0
0
0
7
-39
-17
-12
19
9
-4
1
7
0
0
0
0
0
0
0
0
0
-32
-3
48
63
51
0
24
7
0
0
0
0
0
0
0
0
6
-33
-51
11
8
18
10
40
-12
30
0
0
0
0
0
0
0
12
61
44
59
0
-48
0
-11
-1
0
0
0
0
0
0
0
0
38
-74
-18
48
-1
-9
-1
0
-2
0
0
0
0
0
0
0
0
-10
7
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-9
28
0
66
-6
18
-2
0
0
0
0
0
0
0
0
0
11
23
25
41
55
13
19
-15
-18
0
0
0
0
0
0
0
0
-45
32
72
6
29
52
1
1
0
1
0
0
0
0
0
0
0
-49
83
48
53
44
-11
47
10
1
0
0
0
0
0
0
0
0
2
36
33
119
13
74
-45
-1
-1
0
0
0
0
0
0
0
0
2
9
48
2
9
-3
-28
27
-3
0
0
0
0
0
0
0
0
-34
-12
-5
47
44
-8
17
0
0
0
0
0
0
0
0
0
0
7
-23
4
40
22
2
1
-1
0
0
0
0
0
0
0
0
0
16
21
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-9
28
64
2
26
-9
-5
0
0
0
0
0
0
0
0
0
26
58
23
4
37
10
-43
89
-27
32
0
0
0
0
0
0
0
36
70
47
2
13
25
29
30
3
2
0
0
0
0
0
0
0
2
6
47
-24
59
107
55
0
35
8
0
0
0
0
0
0
0
-3
1
19
51
-11
31
-4
-18
-3
4
0
0
0
0
0
0
0
3
-2
14
104
-18
51
27
21
-30
6
0
0
0
0
0
0
0
-7
-27
65
76
15
6
32
-61
0
0
0
0
0
0
0
0
0
79
-11
-17
-1
16
15
-32
4
1
0
0
0
0
0
0
0
0
-2
43
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-2
-14
4
-8
-25
7
0
0
0
0
0
0
0
0
0
0
74
-55
-12
58
17
19
45
4
4
3
0
0
0
0
0
0
0
-6
11
18
47
19
-17
0
-7
0
0
0
0
0
0
0
0
0
0
-3
-30
34
-19
-8
7
-55
-1
-1
0
0
0
0
0
0
0
2
-14
39
7
-50
8
29
16
1
0
0
0
0
0
0
0
0
65
32
42
41
7
15
23
32
-12
0
0
0
0
0
0
0
0
79
12
28
-4
-7
-37
11
-18
0
0
0
0
0
0
0
0
0
44
-55
3
-7
-6
10
13
0
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
0
0
6
32
4
-37
5
-10
0
0
0
0
0
0
0
0
0
0
0
9
-62
73
28
-37
-29
2
0
0
0
0
0
0
0
0
0
0
-11
-16
8
-14
15
13
10
1
0
0
0
0
0
0
0
0
0
-17
6
39
29
-11
-1
1
16
0
0
0
0
0
0
0
0
0
-1
29
12
-39
10
-5
-10
-8
0
0
0
0
0
0
0
0
0
1
-3
-36
-4
-8
3
4
1
0
0
0
0
0
0
0
0
0
-9
-4
6
8
22
1
0
0
0
0
0
0
0
0
0
0
0
-25
-10
13
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
38
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-1
35
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
2
-4
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
10
-3
0
9
0
0
0
0
0
0
0
0
0
3
0
0
0
4
0
-18
0
0
0
0
0
0
0
0
0
0
9
8
46
-6
-1
2
0
35
0
0
0
0
0
0
0
0
0
1
3
-12
0
7
0
7
0
0
0
0
0
0
0
0
0
0
7
0
7
3
9
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
1
12
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
3
0
-1
-1
0
0
0
0
0
0
0
0
0
-8
-2
-13
27
0
1
-1
0
0
0
0
0
0
0
0
0
0
4
0
35
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
7
-3
3
0
0
0
0
0
0
0
0
0
0
0
4
-8
-1
26
6
-3
0
0
0
0
0
0
0
0
0
0
0
11
0
33
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
4
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-18
11
1
6
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
-13
2
-8
0
2
0
3
0
0
0
0
0
0
0
0
-25
0
-19
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-37
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
-1
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
1
1
0
36
-6
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
9
-4
4
0
0
0
0
0
0
0
0
0
0
0
1
4
-19
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
3
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
7
-3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
15
7
-6
15
33
-1
8
3
0
0
0
0
0
0
0
0
-1
10
-89
-47
-3
-38
-11
-3
0
0
0
0
0
0
0
0
0
2
2
58
36
16
0
0
3
4
0
0
0
0
0
0
0
0
0
-28
43
57
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
45
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
28
6
16
27
-2
-3
0
4
0
0
0
0
0
0
0
0
0
1
-33
11
12
10
0
0
0
0
0
0
0
0
0
0
0
0
-69
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-4
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-3
11
16
-52
-10
0
3
2
0
0
0
0
0
0
0
0
0
0
-20
35
-4
6
12
10
-4
10
0
0
0
0
0
0
0
0
-3
3
9
41
21
-23
4
7
0
0
0
0
0
0
0
0
0
-1
10
7
-6
-25
-33
-3
0
0
0
0
0
0
0
0
0
0
0
38
-13
74
12
-19
-1
0
0
0
0
0
0
0
0
0
0
1
8
58
-39
-8
-12
0
0
0
0
0
0
0
0
0
0
0
9
-17
37
-18
-1
0
0
0
1
0
0
0
0
0
0
0
0
11
-3
1
4
9
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
51
12
-1
-30
33
-6
0
0
0
0
0
0
0
0
0
44
47
0
39
4
-36
-38
-22
0
0
0
0
0
0
0
0
0
9
12
-28
-34
48
-9
11
-4
-1
0
0
0
0
0
0
0
0
-13
21
-12
5
39
38
-10
30
0
0
0
0
0
0
0
0
0
-32
2
-2
25
-48
2
-12
-2
2
0
0
0
0
0
0
0
0
7
59
33
16
-29
67
11
-2
10
0
0
0
0
0
0
0
0
29
82
80
-16
26
40
-2
0
0
0
0
0
0
0
0
0
0
24
24
-38
-6
-9
-8
3
0
-1
0
0
0
0
0
0
0
0
37
29
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
31
-3
38
-2
-12
-40
4
0
0
0
0
0
0
0
0
0
12
56
55
49
-12
-5
-58
4
-6
1
0
0
0
0
0
0
0
2
23
13
-22
103
53
39
-1
-32
-4
0
0
0
0
0
0
0
-3
16
24
5
-30
26
-15
11
-49
0
0
0
0
0
0
0
0
-1
68
25
-34
-36
43
-63
105
-28
0
0
0
0
0
0
0
0
-12
-18
9
21
27
-32
39
38
-3
-1
0
0
0
0
0
0
0
-9
57
-34
32
24
0
16
1
-8
-4
0
0
0
0
0
0
0
-3
-18
-24
-57
-16
-3
6
-1
0
0
0
0
0
0
0
0
0
-18
15
27
-11
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-3
-4
58
44
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
13
80
35
93
-39
-15
0
-1
0
0
0
0
0
0
0
0
0
73
45
31
22
47
-35
0
6
0
0
0
0
0
0
0
0
-51
24
-1
-18
24
0
8
-22
0
0
0
0
0
0
0
0
0
34
33
42
-4
-18
11
14
1
0
0
0
0
0
0
0
0
0
3
-29
33
47
53
22
-3
15
1
0
0
0
0
0
0
0
0
-4
-36
-10
17
-59
29
-6
8
-4
0
0
0
0
0
0
0
0
-17
15
-7
-8
-16
-3
0
0
0
0
0
0
0
0
0
0
0
18
-21
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-25
-20
1
18
27
1
0
0
0
0
0
0
0
0
0
0
0
-2
23
47
-45
-14
1
-1
0
0
0
0
0
0
0
0
0
0
0
-21
14
-25
-3
0
0
-8
0
0
0
0
0
0
0
0
0
0
-7
40
-12
-18
-3
0
0
0
0
0
0
0
0
0
0
0
-4
7
-35
6
-12
15
-11
0
0
0
0
0
0
0
0
0
0
3
0
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
2
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
1
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
9
-8
-3
-12
0
4
0
0
0
0
0
0
0
0
0
0
2
-7
12
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
15
16
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
17
8
16
47
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
75
0
0
10
0
0
0
0
0
0
0
0
0
0
9
-6
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
72
-4
1
0
0
0
0
0
0
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
-2
14
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
27
13
44
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
15
0
6
3
-18
0
0
0
0
0
0
0
0
0
0
0
0
-24
-19
0
15
-6
-1
0
0
0
0
0
0
0
0
0
0
6
0
-1
-6
0
1
0
1
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
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
-3
-3
27
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
8
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
3
1
3
-9
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-4
-8
9
0
0
0
-38
-1
-3
0
0
0
0
0
0
0
0
-3
6
0
18
-4
-50
1
-16
0
0
0
0
0
0
0
0
0
0
-6
19
-1
15
8
-59
-4
-1
0
0
0
0
0
0
0
0
0
0
-2
25
10
52
4
-2
1
0
0
0
0
0
0
0
0
0
1
1
14
-32
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
6
12
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
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-13
-11
12
0
0
0
0
0
0
0
0
0
0
0
0
12
5
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-28
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
11
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
-1
3
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-2
8
-2
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
10
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-12
-19
-20
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
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
-4
0
0
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
-2
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
4
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
6
0
-1
-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
1
0
0
0
0
0
0
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
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
4
-25
-4
-13
0
-6
0
0
0
0
0
0
0
0
-1
0
-3
11
0
-6
8
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-46
-15
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
3
0
0
0
-9
-7
1
0
0
0
0
0
0
0
16
-30
-22
24
0
0
0
26
-15
0
1
0
0
0
0
0
0
-2
-4
-14
0
-42
-44
16
-75
-2
11
0
0
0
0
0
0
0
1
7
3
28
24
-58
-10
2
19
-2
0
0
0
0
0
0
0
0
15
22
26
-44
18
26
25
0
0
0
0
0
0
0
0
0
0
1
-2
22
-1
37
5
2
11
3
0
0
0
0
0
0
0
0
4
-1
-2
14
0
-13
24
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-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
3
0
0
0
0
-42
-2
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
-33
-18
2
0
0
0
0
0
0
0
0
0
0
-2
5
9
24
21
-18
-35
1
0
0
0
0
0
0
0
0
-1
0
0
10
71
2
-30
6
1
2
0
0
0
0
0
0
0
0
6
0
-18
-18
3
5
-9
0
0
0
0
0
0
0
0
0
0
0
-17
8
-33
7
8
3
3
0
0
0
0
0
0
0
0
0
2
0
0
-7
0
25
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
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
-15
15
-1
1
1
0
0
0
0
0
0
0
0
0
0
7
-5
0
23
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
4
-15
-2
2
0
0
0
0
0
0
0
0
-2
0
0
-2
29
-22
-3
-1
-3
0
0
0
0
0
0
0
0
0
0
1
0
2
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
13
9
3
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-32
-2
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
3
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
3
4
-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
-2
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
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
3
-6
-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
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
25
2
-13
0
0
0
0
0
0
0
0
0
0
0
2
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
2
2
5
-10
0
0
0
0
0
0
0
0
0
0
0
-13
0
9
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
26
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
7
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
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
-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
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
10
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-4
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
-35
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
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
-11
6
9
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
0
7
-9
3
-1
0
0
0
0
0
0
0
0
0
0
11
0
2
-7
-29
-4
-68
6
0
0
0
0
0
0
0
0
0
0
0
0
-7
-23
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
3
-8
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
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
-7
0
0
8
-9
0
0
0
-4
0
0
0
0
0
0
0
0
-10
9
12
-2
-13
0
0
0
0
-1
0
0
0
0
0
0
-9
0
7
9
-3
-2
24
0
-1
0
0
0
0
0
0
0
0
0
3
1
3
0
18
8
57
8
2
0
0
0
0
0
0
0
0
0
0
0
-1
2
5
3
15
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-7
29
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
9
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
0
-1
-30
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
1
1
-61
-26
-20
0
0
0
-13
0
0
0
0
0
0
0
0
0
6
0
28
0
6
-66
-44
0
0
0
0
0
0
0
0
1
0
3
12
8
-21
-49
23
-31
-2
0
0
0
0
0
0
0
0
0
-8
1
-4
-47
14
23
-5
1
0
0
0
0
0
0
0
0
0
-3
0
-1
-57
28
68
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-4
-20
-20
33
-8
0
0
0
0
0
0
0
0
0
0
0
-11
5
-84
-48
-39
-31
0
0
0
18
-6
0
0
0
0
0
0
2
17
16
13
14
-21
-6
16
-55
-3
-1
0
0
0
0
0
0
4
-1
11
4
14
25
-61
2
-12
-12
0
0
0
0
0
0
0
6
-6
0
-14
37
16
-8
53
-48
0
0
0
0
0
0
0
0
0
0
-3
0
-54
-95
-3
-19
71
-28
-1
0
0
0
0
0
0
0
0
2
1
-6
24
20
-32
24
9
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
-6
0
-4
10
0
0
0
0
0
0
0
0
0
2
-34
8
-11
0
0
0
0
-8
0
0
0
0
0
0
0
1
10
-50
-14
59
-2
0
0
0
-23
-8
0
0
0
0
0
0
0
4
-31
43
-15
-30
-7
-7
-34
-6
-1
0
0
0
0
0
0
0
-6
7
-26
9
4
-48
-6
39
14
-36
0
2
0
0
0
0
0
0
-2
-26
32
41
15
-50
-19
-42
0
0
0
0
0
0
0
0
0
0
10
-59
-104
17
27
72
15
-2
0
0
0
0
0
0
0
0
2
2
1
8
39
20
4
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
23
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
52
-6
0
0
0
0
0
0
0
0
6
-36
-15
1
0
0
0
-4
-40
0
0
0
0
0
0
0
0
0
-2
3
-9
11
40
13
0
10
-2
0
0
0
0
0
0
0
0
-1
1
1
63
-60
25
-7
-7
0
-1
0
0
0
0
0
0
0
-1
3
1
6
-33
-12
33
-49
0
0
0
0
0
0
0
0
0
0
1
0
-38
13
-3
25
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-8
7
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-2
-1
0
0
0
0
0
0
0
0
0
3
1
0
0
0
3
-32
1
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-20
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
7
-13
-1
2
-3
0
0
0
0
0
0
0
0
0
-1
0
1
-13
13
7
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
17
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
8
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
-2
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
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
-1
1
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
1
6
10
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-12
11
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-26
20
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
11
-15
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-8
2
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
-6
15
0
0
0
0
0
0
0
0
0
0
0
8
-1
1
11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-11
-41
56
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
24
-25
-11
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
9
-18
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
3
2
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
-1
12
41
50
-1
0
0
0
0
0
0
0
0
0
4
0
2
0
0
-4
-1
7
0
0
0
0
0
0
0
0
0
-1
1
-6
-16
2
-27
-3
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
-16
33
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
1
3
5
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
9
-2
-4
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
12
-20
-33
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-35
-59
33
0
0
0
0
0
0
0
0
0
0
0
0
9
6
-4
-2
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
7
-1
1
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
6
2
3
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-12
9
0
0
0
-4
0
0
0
0
0
0
0
0
11
-17
39
0
0
-4
-35
-39
0
0
0
0
0
0
0
0
0
0
4
3
-3
6
-4
-62
-28
0
0
0
0
0
0
0
0
0
0
0
-4
-40
50
0
-9
2
0
0
0
0
0
0
0
0
0
0
0
-7
2
9
-48
-7
20
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
-29
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-36
1
-30
0
0
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
-9
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-16
-51
-1
0
0
0
3
-8
0
0
0
0
0
0
-1
-12
-47
10
8
14
24
-48
-11
-19
0
0
0
0
0
0
0
0
-7
-10
9
-24
42
1
-20
-44
28
0
0
0
0
0
0
0
0
0
1
0
-45
18
5
-10
37
3
0
0
0
0
0
0
0
0
0
-7
12
-19
1
61
41
-30
0
0
0
0
0
0
0
0
0
0
0
0
2
0
45
42
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
15
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
53
-11
25
-105
0
0
0
1
0
0
0
0
0
0
0
29
36
47
33
-11
-40
0
0
0
-14
6
0
0
0
0
0
0
-9
0
-3
65
16
22
-10
-89
-3
-61
0
0
0
0
0
0
-1
-3
17
60
-11
-25
-12
25
21
51
1
8
0
0
0
0
0
0
0
4
-29
4
-12
-22
-107
76
-5
-64
11
0
0
0
0
0
0
0
37
18
1
7
46
-11
49
18
-1
2
0
0
0
0
0
0
0
0
4
-34
0
13
34
36
20
-21
0
0
0
0
0
0
0
0
0
2
-1
-1
8
-25
-11
-60
15
0
0
0
0
0
0
0
0
0
0
0
0
2
0
6
0
0
0
0
0
0
0
0
0
-1
21
42
40
40
15
0
0
0
0
0
0
0
0
0
0
0
-4
8
-43
25
35
-58
0
0
0
-26
-1
0
0
0
0
0
0
-10
-2
63
55
8
-22
30
-12
-15
-12
-2
0
0
0
0
0
0
0
2
16
-4
-24
-49
-20
-7
-35
-72
1
-6
0
0
0
0
0
10
13
2
15
-38
-46
30
-19
89
-3
4
0
0
0
0
0
0
0
0
-22
-2
-18
-2
21
-37
9
54
0
0
0
0
0
0
0
0
0
-7
-15
8
12
-19
-34
-10
13
4
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-12
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
-1
0
4
1
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
4
24
-1
0
0
0
7
-2
-1
0
0
0
0
0
0
0
0
0
10
-15
11
-1
53
-15
11
0
0
0
0
0
0
0
3
0
0
-2
-9
-3
9
39
-5
0
0
0
0
0
0
0
0
0
0
-1
-4
-2
-13
24
-24
-35
0
-1
0
0
0
0
0
0
0
0
0
0
0
-29
26
-5
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
6
-7
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
7
-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
-12
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
3
32
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-27
-1
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-15
1
6
-3
1
0
0
0
0
0
0
0
0
0
-1
-3
10
3
1
-20
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
0
0
0
0
-1
-6
8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
0
-2
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
-1
-16
-18
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
-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
11
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
7
7
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
1
65
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-4
-3
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-10
-8
-16
0
10
-6
-7
-10
0
0
0
0
0
0
0
0
0
0
0
6
3
2
-28
2
13
-10
0
0
0
0
0
0
0
0
0
0
0
0
9
11
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
-11
-8
8
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-45
-50
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
25
-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
4
0
2
2
-3
-1
0
0
0
-1
0
0
0
0
0
0
0
1
-10
0
2
1
-6
0
-29
-11
1
0
0
0
0
0
0
0
0
0
2
1
-8
22
40
-10
-1
2
0
0
0
0
0
0
0
0
0
-4
0
0
5
-40
-10
0
6
0
0
0
0
0
0
0
0
0
0
0
0
8
91
-19
12
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-2
3
-26
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-19
-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
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-16
-9
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
-2
-3
-2
18
-7
14
-19
0
0
0
0
0
0
0
0
0
0
-1
0
-2
11
24
-28
16
0
0
0
0
0
0
0
0
0
0
-4
9
0
41
19
17
-30
6
0
0
0
0
0
0
0
0
0
0
0
-4
10
65
46
-22
0
0
0
0
0
0
0
0
0
0
0
-15
0
27
2
-42
3
4
0
0
0
0
0
0
0
0
0
0
0
1
-18
-63
-4
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
-38
1
-4
-4
0
0
0
6
1
0
0
0
0
0
0
6
-4
0
-27
61
5
-5
2
38
-1
0
0
0
0
0
0
0
0
0
25
-4
0
-11
14
0
0
4
0
0
0
0
0
0
0
0
8
-1
26
-26
0
-7
-25
-27
-10
0
0
0
0
0
0
0
0
0
1
3
-8
-23
0
-31
-47
-6
0
0
0
0
0
0
0
0
0
2
-1
2
-1
-9
10
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-9
3
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-43
0
0
0
0
0
0
0
0
0
0
1
1
19
-5
-9
0
0
0
0
0
0
0
0
0
0
0
12
7
51
-60
-19
-32
0
0
0
24
4
0
0
0
0
0
0
0
-20
-17
14
76
105
22
-88
-54
0
0
0
0
0
0
0
0
0
-11
42
-13
-48
0
-32
-17
7
5
-8
0
0
0
0
0
0
0
-8
0
-16
104
-30
0
69
28
-3
0
0
0
0
0
0
0
0
0
-1
27
67
-41
-30
14
40
0
0
0
0
0
0
0
0
0
0
0
-42
-3
-54
16
-9
13
-2
0
0
0
0
0
0
0
0
0
0
0
2
11
-16
27
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
4
0
0
0
0
0
0
0
0
0
2
-29
-8
-19
5
6
0
0
0
14
0
0
0
0
0
0
1
2
6
-14
66
17
-40
0
0
0
-3
0
0
0
0
0
0
0
11
-29
-28
-6
50
-9
-15
-44
-36
0
0
0
0
0
0
0
0
-2
-11
-16
38
7
-54
24
-33
47
4
-15
0
0
0
0
0
0
0
-16
54
-55
-3
-5
-28
2
16
-8
0
0
0
0
0
0
0
2
4
-18
-50
-13
-6
-1
118
-16
-12
6
0
0
0
0
0
0
0
-3
-1
-18
-83
22
28
-30
-20
0
0
0
0
0
0
0
0
0
0
0
0
-2
17
-41
28
-65
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-39
-8
-2
0
0
0
0
0
0
0
0
-74
13
-50
4
-48
0
0
0
3
0
0
0
0
0
0
0
-42
-10
6
-25
14
-58
0
0
0
24
-2
0
0
0
0
0
0
-4
4
-2
-19
70
10
-41
-65
1
8
-7
-4
0
0
0
0
0
0
21
5
3
7
-2
-66
20
27
-11
-2
0
0
0
0
0
0
-11
-2
-3
-49
-34
-39
-9
8
34
9
-4
0
0
0
0
0
0
0
-19
-4
-24
9
-6
-11
4
81
0
0
0
0
0
0
0
0
-6
0
-1
-104
-84
37
-8
65
10
-8
0
0
0
0
0
0
0
0
0
0
9
-19
3
44
-25
5
34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
-3
-10
20
-9
0
0
0
2
14
0
0
0
0
0
0
0
2
-2
0
-1
-4
20
38
-3
55
2
0
0
0
0
0
0
0
0
1
0
-4
0
-18
53
19
18
12
1
0
0
0
0
0
0
0
0
-2
-2
-2
3
-25
7
-12
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-12
3
10
5
0
0
0
0
0
0
0
0
0
0
0
10
0
0
2
-3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-39
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
-17
11
-39
7
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
3
1
7
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
7
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-6
-1
8
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-9
-6
17
0
0
0
0
0
0
0
0
0
0
1
-3
1
8
32
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-28
1
-4
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-7
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
0
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-9
0
28
0
0
0
0
0
0
0
0
0
0
0
1
-1
-22
-19
-10
-2
1
0
0
0
0
0
0
0
0
0
0
-2
-6
16
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
8
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-10
0
0
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
42
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-35
-36
8
3
8
2
-7
0
0
0
0
0
0
0
0
0
0
-7
-25
6
-2
41
6
-63
1
0
0
0
0
0
0
0
0
0
0
0
28
37
-46
-37
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
18
-8
0
0
0
0
0
0
0
0
0
0
0
0
7
-6
6
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-21
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
6
-1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-7
0
0
-14
-6
11
-2
0
0
0
0
0
0
0
0
-10
0
-2
0
28
27
-15
-6
0
0
0
0
0
0
0
0
0
-3
12
0
-21
4
-11
7
11
0
0
0
0
0
0
0
0
0
0
2
0
0
-11
-29
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-10
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
-89
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
11
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
-7
8
3
8
0
0
0
0
1
0
0
0
0
0
0
0
-1
6
20
6
9
-7
9
-26
22
2
0
0
0
0
0
0
0
0
0
-43
6
-59
17
38
17
0
-3
0
0
0
0
0
0
0
0
1
-29
-11
-7
-81
-8
0
-26
0
0
0
0
0
0
0
0
0
1
6
-36
4
0
-2
-64
-25
0
0
0
0
0
0
0
0
3
0
0
3
0
-12
-3
-28
-33
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-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
-2
3
1
-20
-16
0
0
0
0
0
0
0
0
0
0
0
-2
2
5
8
22
33
0
0
0
1
0
0
0
0
0
0
0
3
-33
-15
17
-52
5
-13
9
-38
0
0
0
0
0
0
0
0
6
0
8
-2
21
-77
46
29
15
-3
-1
0
0
0
0
0
0
0
-1
-1
-3
18
39
-43
-8
12
0
0
0
0
0
0
0
0
0
-1
-15
17
6
-26
0
-36
19
0
0
0
0
0
0
0
0
0
0
2
0
45
18
1
13
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
3
-57
-81
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-39
0
0
0
0
0
0
0
0
0
-24
-7
-2
-37
1
2
0
0
0
-1
0
0
0
0
0
0
0
-64
27
22
50
-4
-35
0
0
0
-27
0
0
0
0
0
0
0
-26
-32
0
11
49
-46
47
-45
56
-7
1
0
0
0
0
0
0
5
-13
40
13
26
-25
-36
-41
36
-4
0
0
0
0
0
0
0
0
0
51
20
-9
-22
-6
-23
52
-1
0
0
0
0
0
0
0
0
-6
21
14
33
17
34
0
15
0
0
0
0
0
0
0
0
1
0
12
28
-21
-45
13
87
-11
9
0
0
0
0
0
0
0
0
0
0
-57
6
-1
40
3
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
2
52
0
-17
0
0
0
0
0
0
0
7
-3
18
-7
15
4
0
0
0
4
0
0
0
0
0
0
0
-13
-22
-68
-40
-6
-18
0
0
0
11
-4
0
0
0
0
0
0
0
4
41
-46
-86
-63
14
-56
-56
5
1
0
0
0
0
0
0
3
-2
-32
3
-4
20
-13
-36
-15
-3
0
0
0
0
0
0
0
2
0
7
-6
-55
18
-28
39
19
3
10
0
0
0
0
0
0
0
-1
-7
2
-48
27
45
16
0
-3
1
0
0
0
0
0
0
0
3
-1
-36
3
14
-50
3
-12
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-54
59
20
5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-27
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-13
4
0
0
0
0
0
0
0
0
0
2
3
-5
0
0
0
-13
0
1
0
0
0
0
0
0
0
0
0
13
9
-37
-26
22
12
7
0
0
0
0
0
0
0
0
0
0
3
3
-54
18
34
14
4
0
0
0
0
0
0
0
0
0
-12
0
0
19
22
19
-17
0
0
0
0
0
0
0
0
0
0
0
2
0
-16
-4
2
0
-7
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-8
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
13
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-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
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
3
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
9
-4
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-1
2
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
-1
-8
4
-4
2
0
6
0
0
0
0
0
0
0
0
0
0
1
0
0
6
-28
2
7
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
-13
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-68
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
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
-2
0
-3
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
3
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
13
-20
-12
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
-1
1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
10
0
7
0
0
0
0
0
0
0
0
0
0
0
0
2
2
3
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
10
6
-6
-4
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
-17
7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
-30
-2
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
0
0
0
0
-8
1
2
7
-60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-7
0
-54
-2
2
0
0
0
0
0
0
0
0
0
0
-12
-25
19
-27
-39
23
24
0
0
0
0
0
0
0
0
0
0
0
-1
3
-5
6
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
2
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
26
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-3
0
13
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-9
0
-4
4
4
-10
7
0
0
0
0
0
0
0
0
0
0
8
3
43
-24
-43
1
-27
6
0
0
0
0
0
0
0
0
-7
4
-1
-13
0
-51
2
-21
0
0
0
0
0
0
0
0
0
2
0
-2
-36
8
9
6
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
7
-35
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-32
33
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
-21
0
1
0
0
0
0
0
0
0
0
0
0
0
1
2
4
-25
22
-68
0
0
0
0
0
0
0
0
0
0
0
6
-14
40
-10
56
-27
9
-17
-78
0
0
0
0
0
0
0
0
-10
4
-81
-23
42
-61
23
-94
14
1
0
0
0
0
0
0
0
0
-25
32
-20
-11
5
87
-15
-29
6
0
0
0
0
0
0
0
1
0
7
24
21
26
1
51
3
0
0
0
0
0
0
0
0
0
0
-4
-3
-66
1
0
32
-5
0
0
0
0
0
0
0
0
0
0
0
0
29
-49
-24
-55
-12
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
7
15
6
4
14
0
0
0
0
0
0
0
0
0
0
0
-10
26
-40
13
21
-11
0
0
0
0
0
0
0
0
0
0
0
4
-39
-14
-44
-20
-13
35
-53
2
0
0
0
0
0
0
0
0
22
-66
-56
-5
25
11
-21
-46
-44
7
0
0
0
0
0
0
0
0
-24
-46
-12
38
-37
-21
-77
48
0
0
0
0
0
0
0
0
0
7
-15
12
-64
-22
1
-38
-9
0
0
0
0
0
0
0
0
0
0
8
40
-23
18
-18
0
24
2
0
0
0
0
0
0
0
0
0
0
2
-9
-32
-15
28
37
6
1
0
0
0
0
0
0
0
0
0
0
2
24
6
3
1
0
0
0
0
0
0
0
0
0
39
-26
-38
28
8
0
0
0
0
0
0
0
0
0
0
0
0
-6
-61
21
-40
11
0
0
0
26
1
0
0
0
0
0
0
8
40
-19
28
40
-71
-88
7
-24
1
4
0
0
0
0
0
0
-10
7
40
-15
-79
-46
-99
6
6
-11
0
0
0
0
0
0
0
6
-13
-35
-28
2
4
-21
17
-61
8
0
0
0
0
0
0
0
8
-3
1
-44
-60
11
20
-24
-91
-16
1
0
0
0
0
0
0
0
0
-26
24
1
-23
61
22
0
-2
0
0
0
0
0
0
0
0
0
0
6
16
11
36
-9
-12
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
8
-2
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
-4
5
0
2
0
0
0
56
0
0
0
0
0
0
0
0
0
0
1
9
1
2
-8
-24
5
0
0
0
0
0
0
0
0
0
0
0
-17
43
21
2
-3
18
0
0
0
0
0
0
0
0
0
0
-2
21
28
24
3
0
-3
0
0
0
0
0
0
0
0
0
-3
2
3
3
5
27
-12
1
0
0
0
0
0
0
0
0
0
0
0
4
-12
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-7
-3
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
9
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
6
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
-1
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-9
-19
-13
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
-7
-18
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
3
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-53
-2
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
40
-4
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
77
10
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
1
-33
15
3
8
-1
0
4
0
0
0
0
0
0
0
0
0
7
-44
0
-26
13
6
1
-9
0
0
0
0
0
0
0
0
0
11
-20
2
0
45
-21
-4
-2
0
0
0
0
0
0
0
0
0
0
2
2
40
29
-45
37
-41
0
0
0
0
0
0
0
0
0
0
-4
2
-40
-5
-18
19
-12
0
0
0
0
0
0
0
0
0
0
1
0
-1
2
0
3
-35
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
10
-1
0
0
0
0
0
0
0
0
-32
3
27
-9
7
0
0
0
0
0
0
0
0
0
0
0
-4
-3
2
-36
-56
-8
0
0
0
0
0
0
0
0
0
0
0
-4
12
-11
-24
-14
6
-32
33
-8
0
0
0
0
0
0
0
0
7
33
-18
-32
-61
-17
-54
29
7
0
0
0
0
0
0
0
0
0
-22
0
-37
-12
-33
24
18
4
-1
0
0
0
0
0
0
0
-3
1
32
-68
1
-3
38
34
-48
-1
0
0
0
0
0
0
0
0
6
-10
-14
-59
-16
27
-90
-26
3
0
0
0
0
0
0
0
0
0
9
1
1
9
-10
0
-17
2
0
0
0
0
0
0
0
0
-1
0
0
-4
26
2
-4
0
1
0
0
0
0
0
0
0
0
3
-9
5
-4
-5
0
0
0
0
0
0
0
0
0
0
0
-11
56
-15
-45
-4
-57
0
0
0
0
0
0
0
0
0
0
0
7
0
4
-23
-39
-57
-26
32
-7
0
0
0
0
0
0
0
0
0
-2
65
-59
18
-10
-54
-28
-55
0
0
0
0
0
0
0
0
0
7
7
78
26
8
-5
-22
-57
-9
0
0
0
0
0
0
0
0
12
-19
13
-61
-39
-56
-8
-86
0
0
0
0
0
0
0
0
0
-6
13
0
14
5
-31
57
0
0
0
0
0
0
0
0
0
0
0
0
-57
-11
16
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
-38
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
33
-4
0
0
0
0
0
0
0
0
0
2
11
-1
-2
4
25
3
-17
0
0
0
0
0
0
0
0
0
0
0
2
2
11
39
-6
-25
0
0
0
0
0
0
0
0
0
0
0
8
-6
-6
50
-3
2
0
0
0
0
0
0
0
0
0
0
2
0
-1
12
-12
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
9
1
-30
0
0
0
0
0
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
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
-15
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-7
0
0
0
0
0
0
0
0
0
0
-3
3
1
-2
3
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
34
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
4
0
9
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
0
-3
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-50
4
12
-13
-1
8
112
0
0
0
0
0
0
0
0
0
1
3
-6
23
11
27
-54
-12
0
0
0
0
0
0
0
0
0
0
21
3
-32
-5
-38
20
-79
-2
0
0
0
0
0
0
0
0
0
-4
-13
3
16
-23
-8
-35
-1
0
0
0
0
0
0
0
0
0
7
0
-1
35
22
-30
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
-14
-20
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-14
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-20
0
0
0
0
0
0
0
0
0
-1
0
-1
0
-8
0
25
19
0
0
0
0
0
0
0
0
0
0
0
0
7
8
21
-15
9
3
0
0
0
0
0
0
0
0
0
0
-20
0
-7
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-2
-1
-9
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
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
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-2
-4
4
-4
0
1
0
-2
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
11
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
9
4
1
4
0
0
8
0
0
0
0
0
0
0
0
0
0
1
1
6
-6
0
0
0
-12
0
0
0
0
0
0
0
0
0
-2
-18
12
4
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-28
-9
0
9
1
-1
0
0
0
0
0
0
0
0
0
-3
13
5
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
12
48
-25
0
-59
0
0
0
0
0
0
0
0
0
-64
17
32
27
-5
79
21
-1
0
0
0
0
0
0
0
0
0
36
46
66
-2
-1
-13
-2
-2
0
0
0
0
0
0
0
0
0
43
22
-43
-14
-20
-4
9
-24
3
0
0
0
0
0
0
0
0
-12
-8
5
49
37
12
2
-1
0
0
0
0
0
0
0
0
0
-17
-50
46
13
-24
-6
0
0
0
0
0
0
0
0
0
0
0
57
9
-14
-4
2
1
-1
0
0
0
0
0
0
0
0
0
0
-43
7
4
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
17
-37
17
-2
0
14
1
0
0
0
0
0
0
0
0
0
10
18
34
30
16
-14
-21
0
0
0
0
0
0
0
0
0
0
25
8
4
27
-51
-4
-1
0
0
0
0
0
0
0
0
0
0
-5
-9
-23
11
34
0
-4
0
0
0
0
0
0
0
0
0
0
-15
3
36
3
-1
-8
0
0
0
0
0
0
0
0
0
0
0
1
0
-22
-8
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
8
9
0
-4
0
0
0
0
0
0
0
0
0
0
0
-7
7
-40
-29
-9
8
-1
0
0
0
0
0
0
0
0
0
0
8
14
-2
34
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-3
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
11
-3
-16
10
8
2
4
0
0
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
-6
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
11
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
4
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
2
1
6
16
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
-3
0
1
6
4
-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
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
0
0
2
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
-1
-13
0
0
0
0
0
0
0
0
0
6
-3
-8
-6
2
1
0
8
0
0
0
0
0
0
0
0
0
6
0
-5
-4
25
0
-4
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
2
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-4
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-11
-3
24
0
0
-29
0
0
0
0
0
0
0
0
0
0
7
-8
-45
0
0
1
2
-2
0
0
0
0
0
0
0
0
0
0
1
8
10
4
6
0
-2
0
0
0
0
0
0
0
0
0
-6
1
20
23
0
-4
6
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
-38
-9
0
0
-2
-9
0
0
0
0
0
0
0
0
0
-14
-12
32
35
1
-8
1
0
0
0
0
0
0
0
0
0
0
-1
2
20
15
1
0
-3
0
1
0
0
0
0
0
0
0
0
16
10
-43
43
6
0
0
0
3
0
0
0
0
0
0
0
0
-1
32
3
10
-2
0
1
0
0
0
0
0
0
0
0
0
0
-5
8
0
12
7
0
0
2
0
0
0
0
0
0
0
0
0
0
2
8
-22
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
67
-19
-4
0
-1
0
0
0
0
0
0
0
0
0
0
-12
-4
50
-79
15
9
3
15
1
0
0
0
0
0
0
0
0
24
37
0
-2
-43
-22
-2
-7
54
0
0
0
0
0
0
0
0
72
21
71
31
3
21
-17
-28
0
0
0
0
0
0
0
0
0
71
-27
1
-46
-33
-11
-12
-1
-16
0
0
0
0
0
0
0
0
-12
-31
-12
25
11
15
-2
0
0
0
0
0
0
0
0
0
0
3
-10
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-28
17
35
0
0
0
0
0
0
0
0
0
0
0
15
-11
69
-25
7
56
6
-21
-7
0
0
0
0
0
0
0
0
-7
19
10
12
-31
-19
-8
-28
-2
0
0
0
0
0
0
0
0
-20
37
41
-3
-58
22
1
-66
-7
0
0
0
0
0
0
0
0
56
3
42
7
-6
4
16
-1
-9
0
0
0
0
0
0
0
0
10
31
-26
4
5
4
9
-8
0
0
0
0
0
0
0
0
0
-26
-6
7
-53
-10
29
10
0
0
0
0
0
0
0
0
0
0
14
-13
12
0
0
1
2
0
0
0
0
0
0
0
0
0
0
-61
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-60
-32
40
42
0
-28
0
0
0
0
0
0
0
0
0
0
-16
-23
-55
7
-9
-3
-29
0
0
0
0
0
0
0
0
0
0
6
8
-22
7
-58
-49
-41
-1
0
0
0
0
0
0
0
0
0
11
-2
-10
-27
58
-4
3
11
3
0
0
0
0
0
0
0
0
53
-35
9
-45
-13
22
-7
-5
-8
0
0
0
0
0
0
0
0
9
4
-3
0
0
-15
0
4
0
0
0
0
0
0
0
0
0
-21
-5
9
-2
-4
0
7
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
9
-23
0
7
-1
0
0
0
0
0
0
0
0
0
0
41
-24
28
28
27
37
-3
0
0
0
0
0
0
0
0
0
0
-17
-48
-3
-18
-41
-16
0
-3
0
0
0
0
0
0
0
0
0
-17
3
2
10
-9
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-2
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
-18
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-16
43
-2
-13
-10
-8
3
-1
0
0
0
0
0
0
0
0
0
9
6
-1
-12
1
2
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-3
4
-3
3
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
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
-7
3
0
1
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
4
0
0
0
0
0
0
0
0
0
0
3
0
-4
34
1
-16
-7
1
0
0
0
0
0
0
0
0
0
-7
0
-3
0
4
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
22
12
-10
0
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
1
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
15
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
-38
13
-4
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-1
-8
10
6
-3
0
0
0
0
0
0
0
0
0
3
-1
0
-2
-15
-19
-1
0
1
0
0
0
0
0
0
0
0
0
16
0
22
15
0
-1
0
0
0
0
0
0
0
0
0
0
9
0
0
-15
-7
9
0
0
0
0
0
0
0
0
0
0
0
-7
-2
3
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-24
-3
17
8
13
-3
0
0
0
0
0
0
0
0
0
0
-15
-19
-4
11
-2
-53
2
0
0
0
0
0
0
0
0
0
1
-13
-17
-3
-10
-1
1
0
0
0
0
0
0
0
0
0
0
10
-13
2
1
11
4
-1
-8
0
0
0
0
0
0
0
0
0
3
0
4
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-12
-6
-2
2
0
2
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
-1
0
0
0
0
0
0
0
0
0
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
-3
0
0
1
0
0
0
0
0
0
0
0
0
11
18
4
-6
-9
-3
-34
3
0
0
0
0
0
0
0
0
0
3
35
24
21
8
6
3
4
0
0
0
0
0
0
0
0
0
-1
-14
27
-1
-2
-10
22
0
-2
0
0
0
0
0
0
0
0
5
35
-1
71
-3
-7
2
0
0
0
0
0
0
0
0
0
0
30
0
0
24
-1
3
0
2
4
0
0
0
0
0
0
0
0
0
1
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
50
-7
20
-7
-18
-2
0
0
0
0
0
0
0
0
0
0
-18
-2
66
49
-2
8
5
-54
-13
0
0
0
0
0
0
0
0
14
41
-22
50
-2
0
-28
-4
0
0
0
0
0
0
0
0
0
-18
-20
-2
23
0
0
-2
9
2
0
0
0
0
0
0
0
0
12
12
45
64
28
9
6
-2
0
0
0
0
0
0
0
0
0
-11
-16
15
22
-25
6
0
1
0
0
0
0
0
0
0
0
0
-2
6
49
44
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-36
-6
-10
-39
-11
28
-3
0
0
0
0
0
0
0
0
0
81
41
-38
-23
-23
11
12
1
-7
0
0
0
0
0
0
0
0
-4
109
12
2
32
15
2
0
0
0
0
0
0
0
0
0
0
47
-55
25
7
12
10
13
0
-18
0
0
0
0
0
0
0
0
-5
26
49
4
-2
40
26
0
0
0
0
0
0
0
0
0
0
-40
-62
-39
-4
-2
-2
1
-10
1
0
0
0
0
0
0
0
0
67
59
1
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
-63
-28
-72
8
-36
1
-61
0
0
0
0
0
0
0
0
0
6
-53
-17
-59
-32
-48
-11
-46
16
6
0
0
0
0
0
0
0
-22
7
-92
-15
9
-13
-7
-8
-7
15
0
0
0
0
0
0
0
28
22
-14
-29
23
24
-8
0
-12
-1
0
0
0
0
0
0
0
-100
-50
-74
-47
40
13
29
25
0
0
0
0
0
0
0
0
0
52
39
35
13
16
-42
0
6
-4
0
0
0
0
0
0
0
0
65
-19
-15
-17
-20
0
-4
-1
0
0
0
0
0
0
0
0
0
-4
13
8
28
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-85
56
-22
16
-38
-68
38
29
0
-7
0
0
0
0
0
0
0
-15
-14
-20
21
-13
-79
35
5
0
2
0
0
0
0
0
0
0
-50
-58
-17
-42
5
-33
-34
51
-14
0
0
0
0
0
0
0
0
-11
-60
18
-73
-9
7
4
-15
-2
0
0
0
0
0
0
0
0
37
14
40
39
-49
-31
-3
-40
-8
3
0
0
0
0
0
0
0
49
1
17
69
-8
-4
24
-22
-7
0
0
0
0
0
0
0
0
54
82
58
16
2
-13
-3
19
3
0
0
0
0
0
0
0
0
22
22
19
-1
4
0
4
2
0
0
0
0
0
0
0
0
0
32
20
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
8
63
-21
19
112
55
0
32
0
0
0
0
0
0
0
0
-30
51
29
-33
13
1
47
-22
-10
2
2
0
0
0
0
0
0
-33
8
-10
-54
-7
-29
-86
-26
-2
0
0
0
0
0
0
0
0
29
15
-49
-28
-24
-46
-52
-3
0
0
0
0
0
0
0
0
0
-24
-46
10
25
-13
52
48
-12
-1
0
0
0
0
0
0
0
0
43
-48
8
-6
15
-24
42
71
0
0
0
0
0
0
0
0
0
-11
34
-31
-3
-13
-1
16
16
0
0
0
0
0
0
0
0
0
52
10
50
-1
-4
1
-18
0
0
0
0
0
0
0
0
0
0
7
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-6
30
-1
-2
59
0
16
-1
0
0
0
0
0
0
0
0
30
39
11
-9
32
40
-12
0
-1
0
0
0
0
0
0
0
0
36
-13
-17
-37
5
10
28
-14
0
0
0
0
0
0
0
0
0
-36
24
11
-36
25
75
28
7
0
0
0
0
0
0
0
0
0
6
-47
-23
-52
-32
-10
8
-6
0
0
0
0
0
0
0
0
0
37
18
8
56
-39
-9
1
-1
-4
0
0
0
0
0
0
0
0
-19
-38
15
-9
-4
-5
1
1
0
0
0
0
0
0
0
0
0
15
13
11
-3
0
6
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
-12
-18
-18
3
68
0
-2
8
-1
0
0
0
0
0
0
0
0
-50
-54
1
22
-49
-56
25
2
6
0
0
0
0
0
0
0
0
-42
4
4
-2
-6
19
-27
0
0
0
0
0
0
0
0
0
0
-37
34
-30
-20
25
41
-18
0
0
0
0
0
0
0
0
0
0
-7
-4
0
-9
1
-12
0
2
0
0
0
0
0
0
0
0
0
-23
-1
-2
0
0
0
2
0
1
0
0
0
0
0
0
0
0
28
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-37
73
0
-7
0
0
0
0
0
0
0
0
0
0
0
-4
10
1
9
5
-3
6
0
0
0
0
0
0
0
0
0
0
3
15
7
16
3
-52
0
0
0
0
0
0
0
0
0
0
0
2
2
1
-3
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
2
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
10
3
33
13
0
4
0
0
0
0
0
0
0
0
0
0
0
4
-1
-3
-11
7
-6
0
0
0
0
0
0
0
0
0
0
0
-2
8
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-3
-6
4
3
-2
0
-2
-3
0
0
0
0
0
0
0
0
0
10
0
0
-17
2
-37
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
-2
6
0
0
0
0
0
0
0
0
0
0
-1
0
-26
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
6
-12
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-12
0
0
-6
-6
0
0
0
0
0
0
0
0
0
0
0
44
-12
7
44
43
59
-12
0
0
0
0
0
0
0
0
0
-12
0
2
0
11
-9
-46
4
0
0
0
0
0
0
0
0
0
9
-11
0
2
0
-9
0
4
-3
0
0
0
0
0
0
0
0
3
8
-3
0
-11
2
-6
0
-4
0
0
0
0
0
0
0
0
0
2
2
103
-4
-4
11
3
0
0
0
0
0
0
0
0
0
2
-3
-3
18
-1
0
-4
8
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-29
1
-7
0
0
0
0
0
0
0
0
0
0
0
3
11
-29
36
-21
3
51
-3
-2
0
0
0
0
0
0
0
0
-13
53
0
2
-6
-3
10
37
0
0
0
0
0
0
0
0
0
-15
-23
8
0
0
-7
0
0
2
0
0
0
0
0
0
0
0
-21
-28
-4
0
6
-10
6
-10
0
0
0
0
0
0
0
0
0
1
2
27
3
48
0
1
0
-1
0
0
0
0
0
0
0
0
0
22
-15
-1
-4
7
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
3
5
0
-4
13
0
0
0
0
0
0
0
0
0
0
0
-9
36
-6
3
-8
-6
0
-2
0
0
0
0
0
0
0
0
1
-86
-66
0
-1
2
-10
63
1
0
0
0
0
0
0
0
0
15
3
2
2
0
-2
-9
1
-1
0
0
0
0
0
0
0
0
-22
8
9
-9
0
2
2
0
0
0
0
0
0
0
0
0
0
-14
-44
-7
50
3
-13
0
-1
-1
0
0
0
0
0
0
0
0
-7
30
69
-25
-3
-13
0
0
0
0
0
0
0
0
0
0
0
3
42
-1
-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
-15
-15
35
-13
-35
-38
-23
16
0
-1
0
0
0
0
0
0
0
-21
47
-2
8
51
68
42
-35
14
0
0
0
0
0
0
0
0
22
-66
36
-42
3
-24
-6
14
11
0
0
0
0
0
0
0
0
-25
33
46
42
9
0
-1
-15
1
0
0
0
0
0
0
0
0
-29
-22
-32
-17
0
0
4
15
0
0
0
0
0
0
0
0
0
-64
-14
15
3
10
-3
6
0
0
1
0
0
0
0
0
0
0
-3
-13
8
-32
-7
0
0
-1
0
0
0
0
0
0
0
0
0
-1
1
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
-14
-17
-19
17
19
-19
50
16
0
0
0
0
0
0
0
0
0
66
-60
58
17
21
-22
27
24
0
0
0
0
0
0
0
0
0
16
-31
-10
81
-85
-47
18
10
-3
0
0
0
0
0
0
0
0
1
-9
-11
-36
1
-2
-1
0
-3
0
0
0
0
0
0
0
0
6
-3
0
-24
18
0
-2
0
1
0
0
0
0
0
0
0
0
22
-7
58
25
11
6
2
8
0
0
0
0
0
0
0
0
0
9
47
61
2
23
8
0
1
-15
0
0
0
0
0
0
0
0
8
-12
30
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-18
-99
-2
42
10
16
55
0
-3
0
0
0
0
0
0
0
66
12
2
-93
-15
-28
-52
16
26
0
3
0
0
0
0
0
0
-78
-40
17
48
-60
-1
27
22
0
13
0
0
0
0
0
0
0
7
39
0
-43
-52
-20
1
0
-1
2
0
0
0
0
0
0
0
21
-30
-20
31
-13
16
-4
0
0
11
0
0
0
0
0
0
0
4
9
-30
2
-27
-24
24
7
-11
0
0
0
0
0
0
0
0
8
-12
-18
26
-6
16
-4
-3
1
0
0
0
0
0
0
0
0
14
-49
36
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
66
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
37
-42
-26
25
13
5
-4
0
11
0
0
0
0
0
0
0
25
-8
-6
27
-32
-27
-3
10
-5
3
-4
0
0
0
0
0
0
-12
25
-27
-7
-26
-104
75
-70
-28
-1
0
0
0
0
0
0
0
-39
15
-1
-7
-50
-37
-8
-15
2
0
0
0
0
0
0
0
0
36
13
-8
-8
27
31
38
0
-1
0
0
0
0
0
0
0
0
25
47
-16
18
-27
-44
-3
17
0
3
0
0
0
0
0
0
0
-24
-4
25
-5
20
3
15
-11
4
0
0
0
0
0
0
0
0
49
67
53
50
8
3
0
0
8
0
0
0
0
0
0
0
0
-44
-5
93
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
-2
32
-30
22
-4
0
22
-1
0
0
0
0
0
0
0
21
-55
4
2
0
2
50
9
39
-2
0
0
0
0
0
0
0
-10
7
-3
18
-15
-54
8
17
9
0
0
0
0
0
0
0
0
10
-33
-8
-33
55
14
-23
-28
6
0
0
0
0
0
0
0
0
82
-26
33
78
16
20
14
-2
0
0
0
0
0
0
0
0
0
-1
-18
-12
-44
-29
-8
-1
33
6
0
0
0
0
0
0
0
0
24
10
18
4
10
7
1
33
-13
0
0
0
0
0
0
0
0
-36
-2
-30
-20
0
-2
4
0
0
0
0
0
0
0
0
0
0
4
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
17
-17
27
38
-12
0
4
-1
0
0
0
0
0
0
0
0
4
-4
-12
-30
59
-29
33
-28
-1
0
0
0
0
0
0
0
0
14
14
20
18
35
63
10
3
0
0
0
0
0
0
0
0
0
32
-14
-23
13
-57
24
27
1
0
0
0
0
0
0
0
0
0
51
6
-3
25
16
-4
-2
0
0
0
0
0
0
0
0
0
0
-31
-15
55
9
49
29
0
1
0
0
0
0
0
0
0
0
0
-12
43
-25
2
0
0
2
0
0
0
0
0
0
0
0
0
0
5
-19
-15
2
0
-7
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
-36
0
-26
-3
-48
0
2
2
-4
0
0
0
0
0
0
0
0
10
-35
79
-4
-2
-4
2
3
0
0
0
0
0
0
0
0
0
18
49
46
-71
22
-25
-26
0
0
0
0
0
0
0
0
0
0
-16
-29
-36
1
38
-12
-2
0
0
0
0
0
0
0
0
0
0
5
1
3
2
-22
0
0
0
0
0
0
0
0
0
0
0
0
4
0
9
-1
0
8
0
0
0
0
0
0
0
0
0
0
0
1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-5
18
-7
2
-11
1
0
0
0
0
0
0
0
0
0
0
0
-10
0
-14
14
2
1
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-18
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
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
1
0
-9
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-13
-18
12
-3
-12
0
-2
6
0
0
0
0
0
0
0
0
0
0
18
-13
-3
-28
8
-6
0
0
0
0
0
0
0
0
0
0
6
0
9
-18
-9
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-10
10
0
-2
-1
0
0
0
0
0
0
0
0
-1
1
-7
0
-2
-6
0
0
0
0
0
0
0
0
0
0
0
6
7
0
0
0
0
6
1
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
48
-2
-18
0
0
0
10
0
0
0
0
0
0
0
0
0
0
8
2
-28
9
0
-15
0
-10
0
0
0
0
0
0
0
0
0
-20
-12
65
-3
10
28
3
0
0
0
0
0
0
0
0
0
-6
0
0
0
-20
-10
0
1
-22
0
0
0
0
0
0
0
0
-1
0
0
0
7
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-8
7
0
0
0
0
0
0
0
0
0
0
0
-7
2
3
0
-9
0
1
-6
0
0
0
0
0
0
0
0
6
8
-4
-3
0
0
2
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
-24
-16
7
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
1
-33
-58
-16
0
11
9
0
0
0
0
0
0
0
0
0
4
0
-1
-12
14
2
-21
-4
12
0
0
0
0
0
0
0
0
-29
44
0
-7
0
-3
4
-2
2
0
0
0
0
0
0
0
0
-4
-14
0
0
0
0
-4
0
12
0
0
0
0
0
0
0
0
-30
-28
0
0
1
-1
6
10
0
0
0
0
0
0
0
0
0
56
4
-28
4
24
0
-27
-1
0
0
0
0
0
0
0
0
0
-4
8
-3
9
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
56
-1
12
16
-4
-1
8
0
0
0
0
0
0
0
0
0
0
3
-16
47
27
3
33
-19
0
0
0
0
0
0
0
0
0
4
38
-42
27
-44
34
-1
28
1
0
0
0
0
0
0
0
0
-6
-27
-8
2
7
-3
-29
-9
-10
0
0
0
0
0
0
0
0
0
-25
-30
1
0
0
3
0
9
0
0
0
0
0
0
0
0
-7
25
-11
0
0
0
60
-4
0
0
0
0
0
0
0
0
0
30
15
-4
32
-13
-2
0
-1
0
0
0
0
0
0
0
0
0
0
-9
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-40
19
15
20
37
23
25
0
0
0
0
0
0
0
0
0
0
-7
-93
62
-68
7
-61
-30
8
0
0
0
0
0
0
0
0
0
-34
-25
10
5
67
29
-20
15
0
0
0
0
0
0
0
0
-4
-29
28
30
6
-4
-4
13
0
0
0
0
0
0
0
0
0
-14
-42
85
-3
0
0
0
-10
-1
0
0
0
0
0
0
0
0
-2
17
65
87
2
0
0
20
1
-11
0
0
0
0
0
0
0
32
-60
36
-7
-2
13
0
0
0
0
0
0
0
0
0
0
0
2
-22
-2
40
2
0
0
1
0
0
0
0
0
0
0
0
0
-48
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
53
15
24
4
6
14
-16
0
0
0
0
0
0
0
0
0
-6
-14
54
46
14
-29
8
33
2
0
0
0
0
0
0
0
0
-53
29
49
16
7
34
-40
5
0
0
0
0
0
0
0
0
0
13
3
29
-93
23
-3
0
0
0
-2
0
0
0
0
0
0
0
-4
-41
56
2
-38
1
0
0
-6
0
0
0
0
0
0
0
0
-29
-8
41
-16
-5
1
0
0
-22
-2
0
0
0
0
0
0
0
-15
27
30
-12
-2
3
0
-16
0
0
0
0
0
0
0
0
0
-4
-31
-4
0
-2
-4
-1
0
-1
0
0
0
0
0
0
0
0
20
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
9
-10
35
-7
27
30
0
0
-2
0
0
0
0
0
0
0
36
11
38
-9
-20
58
-33
14
18
0
0
0
0
0
0
0
0
-35
-88
-20
-44
41
-18
12
-5
14
-9
0
0
0
0
0
0
0
9
-46
56
-37
56
51
0
1
0
-4
0
0
0
0
0
0
0
3
54
20
27
-8
-10
0
0
0
0
0
0
0
0
0
0
0
20
51
25
43
-49
-12
4
0
0
-2
0
0
0
0
0
0
0
-36
-43
-27
-11
-21
73
-4
25
-8
0
0
0
0
0
0
0
0
21
-15
25
33
8
-22
0
19
0
0
0
0
0
0
0
0
0
48
3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
3
33
53
0
75
-43
46
0
-1
0
0
0
0
0
0
0
98
50
-36
-3
27
61
24
-41
-73
-2
-3
0
0
0
0
0
0
-3
52
15
56
13
-24
52
25
-15
3
0
0
0
0
0
0
0
60
13
-10
-15
42
48
-28
-42
-2
0
0
0
0
0
0
0
0
8
-95
0
-68
51
-23
-33
-1
0
0
0
0
0
0
0
0
0
71
19
-43
-22
-58
48
34
-1
0
0
0
0
0
0
0
0
0
-3
0
-64
-69
20
65
23
39
0
0
0
0
0
0
0
0
0
-39
-27
-64
-8
-3
-2
6
0
-3
6
0
0
0
0
0
0
0
-17
-12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
81
35
-21
50
79
31
-38
0
8
-11
0
0
0
0
0
0
0
6
31
-27
13
-15
56
54
47
6
-1
0
0
0
0
0
0
0
31
-11
50
20
-16
-13
-80
-26
-15
1
0
0
0
0
0
0
0
5
14
-40
16
9
-9
-23
-20
-1
0
0
0
0
0
0
0
0
16
-2
-14
19
-2
-50
1
2
0
0
0
0
0
0
0
0
0
32
49
-6
4
23
-42
-29
0
0
0
0
0
0
0
0
0
0
38
-53
-25
72
-66
82
-27
30
2
0
0
0
0
0
0
0
0
-60
-33
18
-48
-11
1
1
2
0
0
0
0
0
0
0
0
0
-4
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-23
-26
-1
7
73
0
14
-10
-10
0
0
0
0
0
0
0
17
-33
-10
4
-10
-48
6
1
1
0
0
0
0
0
0
0
0
53
37
-14
57
24
27
-10
-2
-1
1
0
0
0
0
0
0
0
-44
46
40
-6
-7
-16
-11
0
0
0
0
0
0
0
0
0
0
-13
34
-67
19
-10
36
-2
0
0
0
0
0
0
0
0
0
0
29
-11
-78
-41
11
4
-2
0
0
0
0
0
0
0
0
0
0
-57
-3
-4
-6
-2
-4
0
19
0
0
0
0
0
0
0
0
0
54
13
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-1
-17
8
-2
0
-2
6
0
0
0
0
0
0
0
0
0
1
11
-32
-27
-8
3
-1
0
0
0
0
0
0
0
0
0
0
-1
-12
14
-7
0
-18
1
0
0
0
0
0
0
0
0
0
0
0
2
10
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
4
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
-4
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
10
-6
1
-1
3
0
0
0
0
0
0
0
0
0
0
15
-6
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-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
-2
0
-4
1
0
0
9
0
0
0
0
0
0
0
0
0
3
2
0
7
0
-6
3
-20
0
0
0
0
0
0
0
0
0
-1
-3
-7
0
-55
32
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-27
-10
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
9
0
0
0
0
0
0
0
0
0
0
0
6
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-1
17
0
0
0
3
0
0
0
0
0
0
0
0
0
0
2
-6
-4
6
0
12
17
1
0
0
0
0
0
0
0
0
0
47
-2
6
0
-28
8
-2
6
0
0
0
0
0
0
0
0
0
2
1
0
-10
4
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
-1
-3
-1
0
0
0
0
0
0
0
0
0
-1
8
-3
11
0
1
-11
-10
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
-14
17
3
3
8
-8
0
0
0
0
0
0
0
0
0
0
6
13
38
-36
48
32
4
-1
4
0
0
0
0
0
0
0
0
-1
-8
-41
-2
25
-2
-4
16
0
0
0
0
0
0
0
0
0
8
0
18
6
5
0
16
0
1
0
0
0
0
0
0
0
0
0
14
0
-6
0
22
-1
7
2
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
22
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-2
0
9
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-9
-28
-8
-37
0
0
0
0
0
0
0
0
0
0
0
36
-28
-24
-28
-59
-10
4
0
0
0
0
0
0
0
0
0
-16
25
64
2
6
-23
-11
2
-2
0
0
0
0
0
0
0
0
0
-64
-20
-31
-55
39
6
13
0
0
0
0
0
0
0
0
0
-1
-33
46
-4
0
2
-21
-1
-4
0
0
0
0
0
0
0
0
0
-12
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
30
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
15
36
0
-28
0
1
0
3
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
-57
3
-13
0
6
-44
-25
0
0
0
0
0
0
0
0
0
0
-35
-53
5
-40
-16
84
-5
-6
0
0
0
0
0
0
0
0
6
73
-8
6
-17
23
8
-33
3
0
0
0
0
0
0
0
0
2
-62
4
-21
45
46
-20
-7
-3
0
0
0
0
0
0
0
0
2
65
16
-32
-18
0
0
82
4
0
0
0
0
0
0
0
0
32
-4
1
30
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-19
24
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-21
-8
1
0
11
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
38
26
8
19
-12
20
17
-54
0
0
0
0
0
0
0
0
0
39
-65
9
-47
-51
-15
0
55
34
0
0
0
0
0
0
0
0
-13
21
6
-31
62
-4
-8
-42
-2
0
0
0
0
0
0
0
0
50
-13
-12
0
75
13
63
7
0
0
0
0
0
0
0
0
0
22
-9
17
37
26
1
0
0
0
0
0
0
0
0
0
0
0
9
29
-28
27
-21
0
0
0
4
0
0
0
0
0
0
0
0
-3
8
92
29
-23
0
0
0
7
-2
0
0
0
0
0
0
0
64
-34
3
-18
-7
-7
-2
-10
0
0
0
0
0
0
0
0
0
35
4
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
9
4
13
93
62
45
0
0
0
0
0
0
0
0
0
0
-24
-56
-12
-33
-120
-48
4
28
-26
3
0
0
0
0
0
0
0
-3
2
-59
27
35
17
-2
41
-51
16
0
0
0
0
0
0
0
2
55
34
-8
-27
33
52
-53
0
0
0
0
0
0
0
0
0
46
18
4
15
97
-56
10
-8
-1
-2
0
0
0
0
0
0
0
83
0
-8
-46
7
17
0
0
0
0
0
0
0
0
0
0
0
9
-4
-11
4
0
-1
-6
0
0
0
0
0
0
0
0
0
0
9
-59
-1
11
-1
3
-2
0
0
0
0
0
0
0
0
0
0
29
-26
16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-40
-78
3
71
21
58
22
0
-4
0
0
0
0
0
0
0
28
7
67
-17
27
47
0
-16
35
16
0
0
0
0
0
0
0
26
11
-28
-42
-5
17
45
38
-4
-16
6
0
0
0
0
0
0
47
12
-4
33
3
-2
15
97
0
-7
0
0
0
0
0
0
0
-11
26
52
-48
40
-6
-33
4
-1
0
0
0
0
0
0
0
0
-49
-35
27
21
20
-8
-25
0
0
0
0
0
0
0
0
0
0
12
-18
-5
64
-57
46
11
0
0
0
0
0
0
0
0
0
0
9
-52
32
-16
-11
-20
-3
-15
2
0
0
0
0
0
0
0
0
-40
-2
-65
18
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
34
-25
-13
8
-53
-14
25
0
-2
-2
0
0
0
0
0
0
0
1
0
36
18
-14
-4
42
27
-16
1
0
0
0
0
0
0
0
76
-34
-10
-1
43
38
9
5
-17
-2
0
0
0
0
0
0
0
-9
15
21
-1
16
-61
32
30
-13
0
0
0
0
0
0
0
0
17
4
-56
-24
-47
-24
1
2
0
0
0
0
0
0
0
0
0
-23
-45
18
-11
-37
-5
57
2
0
0
0
0
0
0
0
0
0
10
-39
-65
-1
-6
57
9
1
0
0
0
0
0
0
0
0
0
-40
-16
-28
35
7
13
4
-3
0
0
0
0
0
0
0
0
0
42
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
23
12
3
0
4
0
0
0
0
0
0
0
0
0
5
32
2
-58
24
14
-10
4
-1
0
0
0
0
0
0
0
0
38
43
-28
19
12
79
2
-27
0
0
0
0
0
0
0
0
0
-22
-18
-5
-15
37
10
-11
8
-1
0
0
0
0
0
0
0
0
25
94
16
-53
-30
23
9
0
0
0
0
0
0
0
0
0
0
18
-1
10
41
0
0
-7
0
0
0
0
0
0
0
0
0
0
-56
-17
-9
5
6
1
0
0
0
0
0
0
0
0
0
0
0
21
0
0
-3
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
2
-28
4
-42
0
0
0
0
0
0
0
0
0
0
0
0
-40
-14
-25
25
0
22
0
7
0
0
0
0
0
0
0
0
0
18
-15
-2
-22
-25
-2
2
0
0
0
0
0
0
0
0
0
0
0
1
-10
-4
0
6
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-7
-9
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
1
1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
1
-11
0
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
0
1
-7
0
3
0
-10
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
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
-6
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-7
-1
0
-6
0
0
0
0
0
0
0
0
0
0
-14
1
-49
-17
7
4
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
4
0
-2
0
1
0
0
0
0
0
0
0
0
0
2
0
3
0
-25
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
-46
21
7
8
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
0
-2
3
0
0
0
0
0
0
0
0
0
0
-1
-8
2
-12
-15
0
-3
0
-1
0
0
0
0
0
0
0
0
-7
1
12
47
-8
2
0
4
-6
0
0
0
0
0
0
0
0
0
32
0
0
0
2
0
-4
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
3
-5
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-11
-4
0
8
0
0
0
0
0
0
0
0
0
0
0
45
36
-6
12
0
2
9
6
0
0
0
0
0
0
0
0
0
-6
13
-12
-13
11
6
-9
0
0
0
0
0
0
0
0
0
-2
6
-1
-22
-16
9
-16
2
0
0
0
0
0
0
0
0
0
0
-7
24
-15
44
28
-13
0
-10
0
0
0
0
0
0
0
0
0
-29
-2
7
0
0
-1
1
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
66
11
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
6
62
0
7
11
-4
-10
13
0
0
0
0
0
0
0
0
0
-3
-26
41
8
9
4
43
2
0
0
0
0
0
0
0
0
0
2
0
28
1
-34
-36
18
-19
-3
0
0
0
0
0
0
0
0
0
7
0
67
67
-28
0
-38
3
1
0
0
0
0
0
0
0
0
34
-15
-3
34
-1
-3
-4
1
0
0
0
0
0
0
0
0
1
-64
-3
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
47
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-34
1
57
0
0
0
-4
0
0
0
0
0
0
0
0
0
-16
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
-24
22
-1
-5
-28
-9
0
0
0
0
0
0
0
0
0
-1
16
54
-43
-8
-36
1
-23
-2
0
0
0
0
0
0
0
0
-12
-51
-61
-44
-33
42
-26
-9
-13
0
0
0
0
0
0
0
0
0
-26
74
43
59
-42
33
-4
1
-6
0
0
0
0
0
0
0
20
82
44
14
13
2
3
-3
1
0
0
0
0
0
0
0
0
11
-24
66
-16
-51
0
0
4
0
0
0
0
0
0
0
0
0
-16
39
-33
-87
-9
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
-63
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
33
0
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
35
7
65
-37
18
46
8
38
0
6
0
0
0
0
0
0
0
34
-8
-22
-73
-14
0
9
-18
12
0
0
0
0
0
0
0
0
-45
30
15
-25
14
-18
-15
31
-10
-2
0
0
0
0
0
0
0
74
47
51
-10
20
121
56
15
-18
0
0
0
0
0
0
0
0
-29
-78
-30
1
89
-36
29
-1
-5
0
0
0
0
0
0
0
0
32
44
50
-43
-24
-36
1
0
0
-1
0
0
0
0
0
0
0
-10
30
-41
13
-9
-11
0
0
0
0
0
0
0
0
0
0
0
8
-12
-2
13
23
10
0
0
0
0
0
0
0
0
0
0
0
39
-39
-6
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
70
0
-2
-30
-56
-9
-44
9
0
8
0
0
0
0
0
0
0
19
54
0
2
-4
11
4
-2
-20
0
0
0
0
0
0
0
0
92
-62
-8
-19
19
31
114
7
34
0
0
0
0
0
0
0
0
-23
41
24
-4
12
54
-41
25
39
21
0
0
0
0
0
0
0
-14
-6
40
20
23
44
24
112
-7
16
0
0
0
0
0
0
0
-31
-47
-1
7
-28
-10
14
0
-1
0
0
0
0
0
0
0
0
-15
-15
-22
0
57
21
6
0
0
0
0
0
0
0
0
0
0
-48
12
25
-29
11
24
-8
0
0
0
0
0
0
0
0
0
0
-71
-14
102
-19
0
-12
0
2
0
0
0
0
0
0
0
0
0
0
34
47
69
46
-31
-26
12
0
-3
7
0
0
0
0
0
0
0
-3
24
-20
11
34
-10
8
22
-73
2
0
0
0
0
0
0
0
-22
-8
14
-40
22
-4
48
77
4
4
0
0
0
0
0
0
0
-19
19
-18
102
11
47
57
-1
-17
0
0
0
0
0
0
0
0
46
-5
30
9
-39
11
-24
38
1
0
0
0
0
0
0
0
0
-14
32
32
-24
-17
-7
-47
2
0
0
0
0
0
0
0
0
0
-10
-42
-25
82
-20
6
-22
0
0
0
0
0
0
0
0
0
0
-53
-29
-9
18
-30
-24
9
0
0
0
0
0
0
0
0
0
0
25
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
10
-1
33
20
-19
0
-4
0
0
0
0
0
0
0
0
0
5
-85
38
69
9
24
16
-5
0
0
0
0
0
0
0
0
0
76
54
11
4
-25
23
4
-32
0
0
0
0
0
0
0
0
0
22
12
26
-12
-5
-26
6
11
1
0
0
0
0
0
0
0
0
11
-28
-38
7
53
-4
1
2
0
0
0
0
0
0
0
0
0
48
6
19
-44
-12
1
1
0
0
0
0
0
0
0
0
0
0
21
24
-6
15
-1
12
-1
0
0
0
0
0
0
0
0
0
0
81
12
-35
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
13
7
24
-17
-7
9
-18
0
0
0
0
0
0
0
0
0
0
-61
13
-3
12
15
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-15
21
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-19
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
3
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
-2
-3
1
0
0
0
0
0
0
0
0
0
0
12
1
0
7
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-10
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-22
-2
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
7
4
-7
7
2
1
0
0
0
0
0
0
0
0
0
0
0
2
-4
-19
-6
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
52
21
0
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
0
7
1
-1
0
0
0
0
0
0
0
0
0
3
0
6
-2
-7
1
4
0
0
0
0
0
0
0
0
0
0
0
-7
1
50
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-7
-1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
1
42
14
-2
27
16
3
-18
0
0
0
0
0
0
0
0
0
0
-1
22
32
50
13
-41
-6
10
0
0
0
0
0
0
0
0
-1
-11
-24
-18
53
35
-16
6
7
0
0
0
0
0
0
0
0
12
-6
-4
-4
18
12
0
-2
1
0
0
0
0
0
0
0
0
0
-34
-3
-30
30
41
6
0
0
0
0
0
0
0
0
0
0
9
-3
-28
6
30
0
0
0
6
0
0
0
0
0
0
0
0
-1
18
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-11
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-3
0
25
3
-20
0
0
0
0
0
0
0
0
0
0
7
18
29
7
7
6
18
-33
-2
0
0
0
0
0
0
0
0
-7
-6
-1
-39
4
-13
-43
-3
6
-11
0
0
0
0
0
0
0
13
66
-1
-10
16
-10
35
21
0
1
0
0
0
0
0
0
0
29
-43
50
-50
-17
-12
32
-11
-9
0
0
0
0
0
0
0
0
2
12
-54
-88
29
-15
-4
13
8
0
0
0
0
0
0
0
0
0
-42
0
-13
30
18
0
0
0
0
0
0
0
0
0
0
0
-1
2
-11
-20
1
0
0
0
0
0
0
0
0
0
0
0
0
36
-58
29
2
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-58
-19
-40
-14
2
-11
-11
0
0
0
0
0
0
0
0
0
-39
-4
66
-3
-14
46
25
3
-31
6
0
0
0
0
0
0
0
-22
-29
8
32
49
50
-4
5
11
19
0
0
0
0
0
0
0
41
42
27
-39
23
62
4
47
13
-8
0
0
0
0
0
0
0
-32
-6
47
-14
18
-9
-57
-30
12
0
0
0
0
0
0
0
0
-80
-38
-31
26
-40
-22
43
5
0
1
0
0
0
0
0
0
0
64
20
15
51
-51
25
-11
0
0
0
0
0
0
0
0
0
0
-83
-32
-1
49
22
-10
-3
0
0
0
0
0
0
0
0
0
0
32
-48
-21
36
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
48
-63
-44
-46
37
-10
0
0
0
0
0
0
0
0
0
0
6
46
10
-25
-16
1
-8
33
24
-1
0
0
0
0
0
0
0
11
12
48
-17
13
-3
70
43
37
0
0
0
0
0
0
0
0
-3
20
33
-3
74
33
0
29
4
0
0
0
0
0
0
0
0
72
53
-9
49
56
-51
-30
72
0
0
0
0
0
0
0
0
0
-21
-15
21
1
26
16
-11
22
0
0
0
0
0
0
0
0
0
-56
-9
-9
-6
45
5
12
0
0
0
0
0
0
0
0
0
0
32
8
1
-28
4
-3
-7
0
0
0
0
0
0
0
0
0
0
9
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
11
-3
-9
-33
0
-3
0
0
0
0
0
0
0
0
0
9
20
48
-1
-9
7
-29
-10
-1
0
0
0
0
0
0
0
0
1
11
26
-5
50
8
39
2
1
0
0
0
0
0
0
0
0
32
4
21
10
6
0
-6
1
0
0
0
0
0
0
0
0
0
7
56
-46
10
20
3
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
36
5
27
0
0
0
0
0
0
0
0
0
0
0
-65
-8
56
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-1
26
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
6
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
-51
16
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
-5
-10
6
-3
-3
-1
1
0
0
0
0
0
0
0
0
0
8
2
4
-2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-16
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
3
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
1
3
1
-3
3
-6
2
-1
0
0
0
0
0
0
0
0
0
-1
1
0
-1
29
0
0
0
0
0
0
0
0
0
0
0
1
3
4
15
21
7
-2
0
0
0
0
0
0
0
0
0
0
8
55
-14
14
26
-12
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
64
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
-2
0
-6
0
0
0
0
0
0
0
0
0
0
13
-1
-49
-8
12
-34
13
16
1
0
0
0
0
0
0
0
0
55
9
32
-22
-9
56
33
8
11
0
0
0
0
0
0
0
0
-12
14
107
5
42
48
-33
48
4
0
0
0
0
0
0
0
0
61
0
9
-19
12
57
-11
16
0
0
0
0
0
0
0
0
0
6
-80
-32
-6
57
-40
10
13
0
0
0
0
0
0
0
0
0
-58
-51
12
-7
-16
2
0
0
0
0
0
0
0
0
0
0
0
-17
43
-22
-18
-15
-7
0
0
0
0
0
0
0
0
0
0
0
20
-7
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
2
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-14
7
0
-3
0
10
-4
0
0
0
0
0
0
0
0
0
0
23
-2
1
0
2
-1
-3
-1
0
0
0
0
0
0
0
0
0
-16
-9
1
48
-30
-26
-6
9
-7
0
0
0
0
0
0
0
0
-13
19
-33
47
1
7
0
0
0
0
0
0
0
0
0
0
0
-1
-11
-32
-36
-9
0
0
0
0
0
0
0
0
0
0
0
0
3
28
-17
-11
4
0
0
0
0
0
0
0
0
0
0
0
0
41
-4
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
11
-4
10
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
14
6
0
-3
0
0
0
0
0
0
0
0
0
0
-5
1
9
-9
-1
-11
9
2
0
0
0
0
0
0
0
0
0
2
-1
12
4
1
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
4
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
13
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
48
11
-16
0
0
0
0
0
0
0
0
0
0
0
-7
2
21
-1
68
-65
25
-65
0
0
0
0
0
0
0
0
0
0
-7
-8
-22
55
31
53
-96
0
0
0
0
0
0
0
0
0
-3
-4
-47
0
14
49
-41
57
0
0
0
0
0
0
0
0
0
0
0
0
33
-25
-30
-32
5
0
0
0
0
0
0
0
0
0
0
0
0
-4
11
1
-8
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-11
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
-25
0
0
0
0
0
0
0
0
0
0
-2
-1
22
-12
59
0
0
0
0
0
0
0
0
0
0
0
0
6
-22
-96
-62
-23
0
0
0
0
0
0
0
0
0
0
0
-1
-56
-7
-20
-32
28
-4
5
-15
0
0
0
0
0
0
0
0
4
-10
-16
-4
13
14
58
18
-2
0
0
0
0
0
0
0
0
4
-11
-3
6
-19
-34
12
11
-65
0
0
0
0
0
0
0
0
-2
6
21
47
-5
10
-37
-7
-19
0
0
0
0
0
0
0
0
0
-3
-1
7
5
-26
20
-68
-38
0
0
0
0
0
0
0
0
0
0
0
-19
-3
2
33
-49
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
3
0
0
0
0
0
0
0
0
0
0
3
-8
-5
-16
0
0
0
22
0
0
0
0
0
0
0
0
0
1
32
36
8
0
0
0
29
0
0
0
0
0
0
0
-2
-3
-29
11
-15
18
14
-19
-9
34
0
0
0
0
0
0
0
-7
26
14
5
-35
12
-31
-36
21
20
0
0
0
0
0
0
0
0
2
60
56
-7
9
40
25
8
1
0
0
0
0
0
0
0
0
-3
-7
0
8
25
-9
6
-54
26
0
0
0
0
0
0
0
0
0
1
-1
-12
33
88
-14
73
-5
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
10
-105
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
-57
-36
0
0
0
0
0
0
-7
0
7
7
-1
-70
0
0
0
-1
-3
0
0
0
0
0
0
0
10
-19
18
3
52
-7
-19
-43
-16
-7
0
0
0
0
0
0
0
-1
-24
-6
29
15
22
-26
45
-5
12
0
0
0
0
0
0
0
0
0
-1
-38
-2
-5
-46
-21
-48
-12
0
0
0
0
0
0
0
0
1
21
58
19
60
-65
-28
-35
-2
0
0
0
0
0
0
0
0
0
-7
-77
15
-17
-14
-25
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
3
13
7
11
0
0
0
0
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
-3
-1
0
0
0
0
0
0
0
-4
0
6
0
33
0
0
0
-61
-13
0
0
0
0
0
0
0
0
-2
-6
-12
0
41
84
10
-18
10
0
0
0
0
0
0
0
0
-6
-4
46
-12
-52
-28
47
27
-2
0
0
0
0
0
0
1
3
4
-13
-27
7
-24
18
-32
12
-7
-16
0
0
0
0
0
0
-1
2
0
6
35
38
26
0
-7
-2
3
0
0
0
0
0
0
0
0
0
-25
-21
4
13
-6
2
-16
0
0
0
0
0
0
0
0
0
2
0
0
1
-1
5
-11
18
0
0
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
2
0
1
0
0
0
0
0
0
0
-13
-4
7
0
0
0
0
24
-4
1
0
0
0
0
0
1
-1
6
-32
-19
-54
-12
-48
-80
13
4
6
0
0
0
0
0
0
0
4
13
18
14
20
36
7
-6
6
-3
0
0
0
0
0
0
-8
-1
0
10
21
16
-32
1
-8
22
-2
0
0
0
0
0
0
0
0
-1
6
-21
9
-3
42
12
-1
0
0
0
0
0
0
0
0
0
-2
-1
7
-14
-38
-9
-32
3
4
0
0
0
0
0
0
0
0
0
0
-1
8
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
9
0
0
0
0
0
0
0
0
4
-29
1
0
0
0
0
-7
25
-12
6
0
0
0
0
0
0
-1
-15
-40
-25
-37
44
-4
12
-7
6
-4
0
0
0
0
0
0
0
-8
1
-13
60
17
-33
18
-4
-6
-3
0
0
0
0
0
0
-3
0
4
29
-12
-18
-12
-39
36
3
0
0
0
0
0
0
0
0
-1
-7
-1
-74
7
-41
4
-1
-1
0
0
0
0
0
0
0
0
-2
-3
0
-1
9
5
24
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
-9
-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
1
5
0
0
0
0
0
0
0
0
7
0
2
3
0
0
0
-41
7
1
-2
0
0
0
0
0
0
0
0
-2
-6
1
-68
34
-30
-14
0
2
0
0
0
0
0
0
0
2
0
12
39
92
36
-43
0
5
0
3
0
0
0
0
0
0
0
1
23
-19
-11
14
-2
16
0
-6
-1
0
0
0
0
0
0
0
0
-6
2
20
-21
3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
53
-14
-6
27
0
0
0
0
0
0
0
0
0
0
0
-30
-11
-13
51
-5
-85
0
0
0
0
0
0
0
0
0
0
0
3
81
17
17
18
-32
39
-15
0
0
0
0
0
0
0
0
0
1
11
-1
-15
29
12
29
40
0
0
0
0
0
0
0
0
0
6
2
-12
31
-1
38
43
45
0
0
0
0
0
0
0
0
0
-1
8
-28
38
-11
-83
1
24
0
0
0
0
0
0
0
0
0
0
0
-17
0
25
-29
-16
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
2
0
-51
1
13
-58
0
0
0
0
0
0
0
0
0
0
0
-2
-58
0
-16
48
-52
0
0
0
0
0
0
0
0
0
0
0
-18
-33
38
42
16
-35
23
25
32
0
0
0
0
0
0
0
0
28
22
31
5
34
-5
-61
-30
-60
0
0
0
0
0
0
0
0
-9
-48
37
6
-4
52
9
12
35
0
0
0
0
0
0
0
0
1
-9
-3
-40
2
22
-18
34
38
0
0
0
0
0
0
0
0
0
0
6
-37
28
4
-3
-74
51
0
0
0
0
0
0
0
0
0
0
0
79
-29
2
-11
-50
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
-4
0
0
0
0
0
0
0
0
0
0
-1
16
-13
39
0
0
0
4
0
0
0
0
0
0
0
-1
-21
-2
-23
20
57
0
0
0
49
0
0
0
0
0
0
0
0
-36
9
15
-60
-43
-6
-19
25
25
0
0
0
0
0
0
0
8
76
-68
6
41
67
16
46
27
10
0
0
0
0
0
0
0
-1
-3
14
-12
-3
55
-37
35
-7
-1
0
0
0
0
0
0
0
-9
0
11
15
0
30
-39
-21
6
-22
0
0
0
0
0
0
0
0
0
0
-29
30
22
4
51
-25
24
0
0
0
0
0
0
0
0
0
0
1
-3
37
-27
6
27
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-70
18
0
0
0
0
-25
0
0
0
0
0
0
0
11
58
-71
38
-75
0
0
0
20
6
0
0
0
0
0
0
-2
27
-1
30
-39
-22
25
-3
-24
62
-1
0
0
0
0
0
0
0
-34
-9
-48
-40
5
48
-18
55
-14
-6
0
0
0
0
0
0
0
-4
-29
45
17
2
11
-52
22
3
-12
0
0
0
0
0
0
0
8
11
-2
-7
39
9
-34
-54
72
-36
0
0
0
0
0
0
0
0
0
3
33
-18
-10
25
49
-22
0
0
0
0
0
0
0
0
0
0
6
-1
0
10
11
-48
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-10
6
4
0
0
0
0
0
0
1
6
0
0
0
15
0
0
0
75
-19
1
0
0
0
0
0
0
-2
-27
4
-20
55
0
0
0
29
3
2
0
0
0
0
0
-1
-2
0
-27
-2
-56
-79
-26
-64
18
-10
6
0
0
0
0
0
0
6
-6
-9
40
17
7
-87
-25
-29
0
3
0
0
0
0
0
0
-4
0
-32
-15
9
43
-10
9
-33
-24
6
0
0
0
0
0
0
0
0
-11
9
29
70
85
-73
-20
5
0
0
0
0
0
0
0
0
0
9
8
-38
-8
49
11
15
10
0
0
0
0
0
0
0
0
0
-2
0
-1
7
30
-72
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
-21
36
0
0
-6
0
0
0
32
2
-2
-1
0
0
0
0
0
-13
-68
4
-6
-38
0
0
0
-51
-41
-39
2
0
0
0
0
0
-8
-66
23
-36
-7
-22
-6
19
58
22
0
0
0
0
0
0
0
1
16
29
-92
-24
-6
-35
20
-38
-4
2
-3
0
0
0
0
0
0
3
-3
16
28
6
55
-8
53
-20
-12
-7
0
0
0
0
0
0
4
-2
7
-24
16
-57
-2
-89
26
-3
0
0
0
0
0
0
0
0
6
21
33
6
-42
0
12
11
3
0
0
0
0
0
0
0
0
0
-1
0
-3
-13
-8
-13
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
-6
-43
0
0
0
0
0
46
-11
-1
2
0
0
0
0
0
-6
-3
-8
-47
17
0
0
0
45
-30
-3
-7
0
0
0
0
0
0
36
69
2
33
66
-5
4
17
50
2
1
0
0
0
0
0
0
-10
-6
-8
18
37
-16
-32
2
-11
-3
1
0
0
0
0
0
0
1
-7
34
22
-7
-4
8
-27
67
6
10
0
0
0
0
0
0
0
7
9
79
-25
47
-4
-14
-12
1
0
0
0
0
0
0
0
0
0
-18
-19
-8
17
18
-47
-6
0
0
0
0
0
0
0
0
0
0
4
0
0
1
-34
-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
11
0
8
0
0
0
0
-3
9
-6
-8
0
0
0
0
0
-3
0
-6
8
26
0
0
0
-1
-32
0
12
0
0
0
0
0
0
-7
-1
-5
0
-5
12
5
-15
-13
15
3
0
0
0
0
0
0
0
-15
-9
-32
-33
-82
1
56
-9
-17
3
0
0
0
0
0
0
0
-1
3
24
9
-39
-17
6
12
7
-7
4
0
0
0
0
0
0
-6
-9
3
1
33
18
-3
3
-6
1
0
0
0
0
0
0
0
0
0
-3
0
-2
-10
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
2
1
3
0
0
0
0
0
0
0
2
0
13
0
0
-9
-14
3
21
1
1
0
0
0
0
0
0
0
2
1
37
11
-24
-14
-7
-2
7
6
0
0
0
0
0
0
0
-2
0
-3
-32
-2
-13
7
7
-3
6
-1
0
0
0
0
0
0
0
-2
1
-15
-9
19
-2
1
-9
-3
1
0
0
0
0
0
0
0
0
0
0
-1
2
-11
1
-10
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
9
0
0
0
2
-2
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
-2
7
-10
17
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
1
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-2
0
0
0
0
0
0
0
0
0
0
1
3
-7
4
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
65
63
-6
0
0
0
0
0
0
0
0
0
0
0
47
-32
-10
52
-26
27
0
0
0
0
0
0
0
0
0
0
0
13
30
-12
69
-40
-36
-33
-79
0
0
0
0
0
0
0
0
0
1
6
-47
18
1
41
49
16
0
0
0
0
0
0
0
0
0
-9
3
-3
17
5
72
19
37
0
0
0
0
0
0
0
0
0
0
0
19
2
-62
9
48
65
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
1
1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
19
0
0
0
0
0
0
0
0
0
-9
-24
42
7
-21
-16
0
0
0
0
0
0
0
0
0
0
0
-23
-7
39
13
-38
11
0
0
0
0
0
0
0
0
0
0
0
0
71
59
-15
-13
-18
-74
-36
-5
0
0
0
0
0
0
0
0
0
21
53
-27
42
-7
-10
10
-14
0
0
0
0
0
0
0
0
-1
16
-4
46
17
23
7
38
22
0
0
0
0
0
0
0
0
7
-3
63
-4
26
-16
9
20
36
0
0
0
0
0
0
0
0
0
0
-1
20
9
20
8
-30
6
0
0
0
0
0
0
0
0
0
-1
6
-8
-11
0
5
-59
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-12
0
0
0
0
0
0
0
0
1
18
22
-15
23
-19
0
0
0
-4
0
0
0
0
0
0
0
-7
-17
-3
-48
-64
31
0
0
0
-23
0
0
0
0
0
0
0
0
5
-19
17
6
44
41
-68
-73
-16
0
0
0
0
0
0
0
0
4
-2
16
42
30
-18
56
-27
-4
0
0
0
0
0
0
0
2
-12
-13
36
-70
0
-3
8
18
-42
0
0
0
0
0
0
0
0
11
7
16
-15
-3
-9
-66
22
36
0
0
0
0
0
0
0
0
0
0
9
24
18
-19
51
-35
49
0
0
0
0
0
0
0
0
0
-1
-9
0
22
-6
43
-32
25
0
0
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
74
-5
42
0
0
0
13
5
0
0
0
0
0
0
1
-10
3
33
-16
-85
0
0
0
35
-34
0
0
0
0
0
0
0
-2
3
-22
-39
18
-23
-20
-14
-7
15
0
0
0
0
0
0
0
0
2
-7
-11
10
-19
-8
16
-20
3
0
0
0
0
0
0
0
-5
-1
45
-97
3
-48
-7
-43
-14
27
0
0
0
0
0
0
0
6
7
28
61
-2
-73
35
-18
44
-2
0
0
0
0
0
0
0
0
0
-12
5
28
2
2
-34
-46
5
0
0
0
0
0
0
0
0
0
2
-8
4
4
-20
-48
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-49
-5
0
0
0
-7
2
-1
0
0
0
0
0
0
19
19
-6
-22
-98
0
0
0
-15
17
1
0
0
0
0
0
0
6
0
1
-24
20
-3
30
-10
7
53
9
0
0
0
0
0
0
3
0
0
11
0
6
26
3
-34
37
-6
0
0
0
0
0
0
0
0
-24
-22
-78
-3
36
-44
19
1
0
0
0
0
0
0
0
0
1
1
-1
14
80
85
14
-25
1
4
0
0
0
0
0
0
0
0
0
0
2
-25
-14
-19
50
3
0
0
0
0
0
0
0
0
0
0
0
0
4
-20
-12
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
-1
6
-3
-4
-12
0
0
0
-14
1
0
0
0
0
0
0
0
-7
1
9
27
24
0
0
0
-64
-11
3
1
0
0
0
0
4
0
1
12
56
-16
-31
-47
-17
-45
22
-4
0
0
0
0
0
0
2
2
0
-17
43
-11
77
73
21
-30
30
0
0
0
0
0
0
-15
2
1
-32
14
2
5
-13
-12
1
0
0
0
0
0
0
0
0
0
-7
-1
24
-92
-48
-2
-3
0
-3
0
0
0
0
0
0
0
0
0
-1
39
-81
-33
-25
8
4
0
0
0
0
0
0
0
0
0
0
0
-3
13
-6
-33
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
14
-1
1
0
0
0
0
0
0
3
-6
-10
-12
0
0
0
0
-13
9
0
0
0
0
0
0
4
0
2
17
0
-1
-2
12
34
14
20
2
-1
0
0
0
0
0
7
-18
-14
11
-4
33
2
-5
50
3
-6
7
-1
0
0
0
0
1
0
-15
39
-3
1
29
11
14
12
1
-2
0
0
0
0
0
2
0
6
-5
6
22
-63
28
7
0
0
0
0
0
0
0
0
0
0
0
3
8
-1
-19
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
2
2
0
0
0
-21
-1
10
0
0
0
0
0
0
0
-32
-4
-3
7
0
0
0
-5
21
-29
-1
0
0
0
0
0
0
2
16
0
0
-2
-4
-70
-26
11
1
0
1
0
0
0
0
-3
9
-1
-4
0
2
15
10
33
-19
2
0
-2
0
0
0
0
0
-3
-3
0
-63
35
-58
29
7
-24
0
0
0
0
0
0
0
0
0
0
68
15
28
28
-37
-4
2
-4
-3
0
0
0
0
0
0
0
0
1
0
-10
32
21
0
-2
-2
0
0
0
0
0
0
0
0
0
1
-3
-8
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
-2
0
0
0
0
0
-2
-2
0
0
0
0
0
0
9
-2
11
1
-3
0
0
0
2
-1
-3
1
8
0
0
0
0
-9
2
0
0
3
2
0
-8
-4
-1
0
0
0
0
0
0
0
0
0
8
-11
0
-11
-15
4
-38
3
0
1
-2
0
0
0
0
0
0
21
-9
61
19
29
-1
-1
-9
0
6
1
0
0
0
0
0
0
0
-1
0
4
29
-56
1
0
-3
0
0
0
0
0
0
0
0
0
-3
6
-8
-13
-45
1
1
0
0
0
0
0
0
0
0
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
-9
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
3
-4
-12
0
0
0
1
0
0
0
0
0
0
0
0
-9
0
-3
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
17
3
4
0
-1
-1
0
0
0
0
0
0
0
0
0
-2
0
0
-24
0
-3
0
3
0
0
0
0
0
0
0
0
0
1
-7
-2
7
-10
1
0
-3
3
0
0
0
0
0
0
0
0
0
0
-7
-1
15
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
38
-42
6
-54
34
0
0
0
0
0
0
0
0
0
0
0
-8
13
28
-17
16
114
0
0
0
0
0
0
0
0
0
0
0
-7
37
-63
6
-8
-26
27
-23
0
0
0
0
0
0
0
0
0
1
14
10
-36
-17
-73
8
32
0
0
0
0
0
0
0
0
0
0
27
-41
-5
28
10
31
16
0
0
0
0
0
0
0
0
0
0
0
-15
-44
-3
5
38
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-7
28
-11
32
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
-11
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
-10
0
0
0
0
0
0
0
0
0
21
-1
-14
9
-10
28
0
0
0
0
0
0
0
0
0
0
0
17
9
-17
-21
-49
6
0
0
0
0
0
0
0
0
0
0
0
1
59
-49
-38
-3
21
-9
-38
0
0
0
0
0
0
0
0
0
0
22
16
-72
25
-8
-26
39
-17
0
0
0
0
0
0
0
0
0
0
-69
46
15
42
-43
22
50
0
0
0
0
0
0
0
0
0
-19
-14
24
-92
19
11
1
-27
0
0
0
0
0
0
0
0
7
-9
3
7
-5
33
40
61
15
0
0
0
0
0
0
0
0
0
0
0
4
0
-25
-95
35
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
10
0
0
0
0
0
0
0
0
4
-12
38
-31
-22
26
0
0
0
-9
0
0
0
0
0
0
0
12
61
40
-5
27
-61
0
0
0
5
0
0
0
0
0
0
0
0
-10
12
-71
-18
20
6
14
51
-73
0
0
0
0
0
0
0
0
0
1
22
-73
35
-3
10
7
-36
0
0
0
0
0
0
0
0
0
-2
42
42
43
27
20
10
-41
0
0
0
0
0
0
0
0
1
-50
-2
-18
3
-7
59
40
47
0
0
0
0
0
0
0
3
0
3
13
53
29
-9
29
40
-18
0
0
0
0
0
0
0
0
0
-16
11
-13
6
25
-31
-19
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
12
-13
-7
-38
-11
-4
0
0
0
-43
1
0
0
0
0
0
0
0
-12
-18
-23
10
-27
0
0
0
-72
5
0
0
0
0
0
0
0
-1
8
7
8
-13
23
-32
-19
-12
-3
0
0
0
0
0
0
0
0
0
-1
-5
46
25
77
-6
27
2
0
0
0
0
0
0
1
0
0
18
88
-8
-19
34
2
-44
-8
0
0
0
0
0
0
0
2
-11
24
7
-1
-19
11
-20
2
4
0
0
0
0
0
0
0
0
0
24
-8
2
-59
-24
-16
14
5
0
0
0
0
0
0
0
0
0
-4
0
-3
41
-53
9
-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
9
34
-5
9
-27
0
0
0
-15
0
0
0
0
0
0
0
0
-3
-13
-12
-46
-28
0
0
0
-48
-2
0
0
0
0
0
0
0
-51
0
-17
9
2
30
-2
-26
27
-4
-3
0
0
0
0
0
0
9
1
0
-3
67
-11
-48
-19
28
1
0
0
0
0
0
0
6
-1
0
-8
18
28
-28
66
4
9
9
0
0
0
0
0
0
0
0
6
3
29
-7
94
51
-30
-19
0
0
0
0
0
0
0
0
0
0
7
15
-52
-15
50
-46
-25
4
0
0
0
0
0
0
0
0
0
1
0
-15
-6
-17
-38
9
-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
33
12
1
41
0
0
0
-18
7
-1
0
0
0
0
0
0
-7
-2
-14
5
-30
0
0
0
-50
46
0
0
0
0
0
0
0
0
-22
7
-2
0
-17
-9
-9
0
-13
0
0
0
0
0
0
0
0
-1
10
0
-36
-8
41
-8
-72
0
-3
0
0
0
0
0
0
-6
0
3
0
-1
49
-48
22
42
-21
0
0
0
0
0
0
0
0
0
-10
-9
40
-6
-46
34
18
2
0
0
0
0
0
0
0
0
-7
0
2
6
14
0
47
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
6
12
-19
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
6
0
19
3
6
0
0
0
0
0
0
0
0
0
0
0
0
4
32
-1
-6
10
0
0
0
-10
-2
7
-1
0
0
0
0
0
2
3
-33
0
-3
-2
59
-7
8
25
-1
-1
0
0
0
0
0
0
11
0
1
0
-2
-13
-5
6
-6
-2
1
0
0
0
0
0
0
0
27
-3
2
-8
24
-12
13
-9
-1
-2
0
0
0
0
0
0
0
-3
-68
2
-23
9
27
4
0
0
0
0
0
0
0
0
0
0
0
3
6
35
-18
-7
6
2
0
0
0
0
0
0
0
0
0
0
0
0
16
2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
-9
20
0
0
7
0
0
0
0
-3
0
0
0
0
0
0
0
1
-4
7
3
-19
0
0
0
59
2
-3
-4
0
0
0
0
-1
2
-13
2
4
0
3
-3
27
-2
35
0
-2
0
0
0
0
0
-15
-1
2
0
16
0
2
-25
43
1
4
-9
4
0
0
0
0
0
1
-10
2
-2
0
3
5
7
10
0
-2
-3
0
0
0
0
-3
0
19
1
-21
-13
-44
-11
2
0
-3
0
0
0
0
0
0
0
0
0
-12
12
-4
32
-10
6
1
0
0
0
0
0
0
0
0
0
0
0
0
13
-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
10
0
1
0
0
0
2
0
0
0
0
0
0
0
0
6
19
-6
-1
-8
0
0
0
1
4
0
0
0
0
0
0
0
1
-1
22
-2
0
0
0
0
0
2
0
-1
1
0
0
0
0
0
-8
-6
4
3
0
0
2
-2
0
0
0
0
0
0
0
-1
0
0
-6
-12
-46
-3
-2
0
-2
-1
0
4
2
0
0
0
0
2
-1
-4
-12
-1
-5
-2
13
3
1
0
0
0
0
0
0
0
0
6
-11
-1
10
-27
-27
22
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
4
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
-7
7
6
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
14
-35
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
4
11
13
-11
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-4
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
-23
14
-17
32
75
0
0
0
0
0
0
0
0
0
0
-2
40
40
32
-24
-13
-44
0
0
0
0
0
0
0
0
0
0
0
44
4
-13
-40
-25
42
13
-51
0
0
0
0
0
0
0
0
0
2
-24
-20
-33
-11
4
25
1
0
0
0
0
0
0
0
0
0
0
-10
49
43
27
62
37
-50
0
0
0
0
0
0
0
0
0
0
0
-21
-30
-11
52
-43
20
0
0
0
0
0
0
0
0
0
0
0
1
21
10
-13
22
58
0
0
0
0
0
0
0
0
0
0
-2
0
-1
2
30
-6
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
48
0
0
0
0
0
0
0
0
0
-16
23
-1
-23
-10
-88
0
0
0
0
0
0
0
0
0
0
0
-17
15
-32
-25
-50
19
0
0
0
0
0
0
0
0
0
0
0
19
-60
-54
52
34
60
-11
-37
27
0
0
0
0
0
0
0
0
0
0
0
8
56
44
-11
-87
16
0
0
0
0
0
0
0
0
0
9
-38
-43
60
-15
-49
-41
-43
0
0
0
0
0
0
0
0
0
-4
36
34
-16
8
38
26
-7
0
0
0
0
0
0
0
0
-7
8
2
-15
-76
45
-25
-71
68
0
0
0
0
0
0
0
0
0
-1
-12
-29
13
-11
49
22
25
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
7
19
-12
0
0
0
0
0
0
0
0
7
2
69
1
22
43
0
0
0
-16
0
0
0
0
0
0
0
-10
-12
35
-3
-19
4
0
0
0
-75
0
0
0
0
0
0
0
-3
4
4
-9
25
1
30
26
-36
11
0
0
0
0
0
0
0
0
0
-8
-25
-67
-61
-65
30
-4
25
0
0
0
0
0
0
0
0
0
0
3
31
-5
22
7
49
-52
0
0
0
0
0
0
0
0
0
0
-20
5
37
-10
-30
-19
-34
0
0
0
0
0
0
0
18
-6
3
2
-27
-10
61
47
28
31
0
0
0
0
0
0
0
0
0
0
-6
0
-13
-17
13
-14
22
0
0
0
0
0
0
0
0
0
0
0
7
0
-3
-14
-8
0
0
0
0
0
0
0
0
1
-7
2
-5
-64
72
0
0
0
-23
0
0
0
0
0
0
0
-2
-26
59
15
-18
-52
0
0
0
-13
-3
0
0
0
0
0
0
-1
-13
45
-73
56
-33
-38
65
-5
-60
-1
0
0
0
0
0
0
3
0
0
-2
23
11
22
-6
19
64
0
0
0
0
0
0
0
-4
0
0
0
1
10
-15
7
20
-27
0
0
0
0
0
0
0
0
0
0
-3
27
-28
-22
3
-20
9
1
0
0
0
0
0
0
0
6
0
-6
11
15
-46
29
19
-1
-2
0
0
0
0
0
0
0
0
0
2
-3
-6
-37
48
36
-13
-10
0
0
0
0
0
0
0
0
0
0
0
7
-1
-3
1
4
0
0
0
0
0
0
0
0
-2
-29
-40
19
45
0
0
0
-11
-8
0
0
0
0
0
0
0
-1
16
31
-71
-15
0
0
0
-54
-12
-1
0
0
0
0
0
0
0
15
-13
3
-48
-54
12
-7
5
15
0
0
0
0
0
0
0
9
0
-3
16
14
-21
-22
38
-3
0
-4
0
0
0
0
0
2
0
0
0
-1
-13
-25
-41
22
13
0
2
0
0
0
0
0
0
1
0
0
0
-57
9
-25
41
-5
-1
0
0
0
0
0
0
0
0
-3
-1
-17
-12
25
37
26
11
-1
0
0
0
0
0
0
0
0
0
0
7
-6
-1
-56
-2
2
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
-7
2
-16
1
-3
0
0
0
6
-3
0
0
0
0
0
0
0
2
3
7
-21
-16
0
0
0
-12
14
0
0
0
0
0
0
4
-3
-13
23
-13
-6
-33
-20
-55
-12
9
0
0
0
0
0
0
3
0
15
0
1
0
-2
32
-1
-14
0
3
-1
0
0
0
0
0
0
3
-2
0
1
-39
41
-2
-43
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
10
33
-4
5
0
0
0
0
0
0
0
0
0
-8
-15
-11
0
-30
13
10
1
0
0
0
0
0
0
0
0
0
0
0
6
-19
0
9
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
2
0
0
0
0
0
0
0
0
4
-6
18
0
35
0
0
0
-27
0
0
-11
0
0
0
0
0
-1
-36
0
1
11
34
-37
-33
-1
-3
0
0
0
0
0
0
0
-1
41
0
0
0
2
22
-21
-7
0
1
0
0
0
0
0
0
0
-7
-6
12
0
-9
18
-2
0
-3
1
0
0
0
0
0
0
0
2
-7
0
-2
0
-6
-33
2
-3
0
0
0
0
0
0
0
0
2
0
29
-4
4
1
23
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-6
4
3
33
-3
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
-4
-2
0
-4
-3
0
0
0
0
-1
0
0
0
0
0
0
1
-9
-18
0
-3
28
0
0
0
-6
0
0
1
-1
0
0
0
0
-3
-75
29
4
0
-23
43
-3
-1
1
1
0
0
0
0
0
0
0
21
7
-57
0
0
-6
11
-9
0
0
-1
-1
0
0
0
0
0
0
12
-2
0
0
0
-28
1
0
-2
0
0
0
0
0
0
0
-2
-6
-48
0
-2
-2
-54
-1
10
12
0
0
0
0
0
0
0
0
0
0
-10
-4
6
1
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-4
-9
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-6
-6
0
-1
0
0
0
17
0
0
0
0
0
0
0
0
-1
6
-8
1
4
-8
-8
44
2
-1
0
0
0
0
0
0
0
0
-1
54
2
19
0
0
0
2
0
1
0
0
0
0
0
0
0
0
-18
-11
-1
-4
0
0
4
7
0
-1
0
0
0
0
0
0
0
-4
3
23
0
-1
0
1
3
0
0
0
0
0
0
0
0
3
0
-6
2
-25
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
2
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
1
0
0
0
-1
0
0
0
0
0
0
0
0
2
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-10
-3
0
2
-1
18
0
0
0
0
0
0
0
0
0
-11
10
0
-2
-8
17
-2
1
0
0
0
1
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
11
1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
3
12
0
0
-10
-10
0
0
0
0
0
0
0
0
0
0
0
6
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
16
-22
0
0
0
0
0
0
0
0
0
0
2
-58
-4
30
-7
41
-27
0
0
0
0
0
0
0
0
0
0
0
19
23
-48
-27
-31
-12
30
9
0
0
0
0
0
0
0
0
0
-7
-17
-5
10
-46
-33
29
62
0
0
0
0
0
0
0
0
0
0
-15
7
19
-57
0
14
-50
0
0
0
0
0
0
0
0
0
0
0
-2
12
24
52
18
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-19
64
-14
7
23
0
0
0
0
0
0
0
0
0
0
0
-12
6
-16
19
77
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
15
-47
0
0
0
0
0
0
0
0
0
7
-32
-25
-55
20
-40
0
0
0
0
0
0
0
0
0
0
0
48
-48
-17
15
-129
47
0
0
0
0
0
0
0
0
0
0
0
2
-77
-11
-22
-24
2
-36
-39
33
0
0
0
0
0
0
0
0
4
13
-17
-4
22
-62
-27
-8
-93
0
0
0
0
0
0
0
0
0
0
49
12
28
23
36
3
16
0
0
0
0
0
0
0
0
0
0
11
37
26
-32
-2
-36
51
0
0
0
0
0
0
0
0
0
0
-12
-16
-22
-15
8
-62
7
0
0
0
0
0
0
0
0
0
1
-1
10
-44
58
-19
25
23
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
24
-8
-46
0
0
0
0
0
0
0
0
-13
-3
-16
-38
39
-12
0
0
0
-14
0
0
0
0
0
0
0
-17
20
48
76
-9
11
0
0
0
70
0
0
0
0
0
0
0
11
12
-39
-56
-24
19
22
32
14
9
0
0
0
0
0
0
0
-9
0
30
27
-36
-34
-11
-43
-22
15
0
0
0
0
0
0
0
0
1
3
59
12
10
7
-53
-34
19
0
0
0
0
0
0
0
0
0
0
13
-9
15
-9
68
47
-21
0
0
0
0
0
0
0
0
0
0
-1
-49
24
-94
-45
54
-12
0
0
0
0
0
0
0
0
0
12
8
-16
29
-18
-68
-44
36
0
0
0
0
0
0
0
0
0
0
-4
0
-18
-42
-15
-10
0
0
0
0
0
0
0
0
0
-2
-11
34
-21
-14
0
0
0
13
-21
0
0
0
0
0
0
1
-7
-97
4
48
35
0
0
0
54
6
0
0
0
0
0
0
-1
-17
4
-5
-105
-49
-47
-28
5
-3
-30
0
0
0
0
0
0
0
-12
-40
-9
39
-63
-40
31
-25
-12
1
0
0
0
0
0
0
-1
0
-3
0
2
-20
-55
-5
28
-10
-6
0
0
0
0
0
0
0
0
0
0
23
51
12
-37
52
25
1
0
0
0
0
0
0
0
0
0
2
13
49
3
7
-36
-3
0
0
0
0
0
0
0
0
0
1
-2
-3
51
22
-35
24
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
12
10
0
0
0
0
0
0
0
0
-3
4
0
7
0
0
0
0
3
0
0
0
0
0
0
0
0
17
-4
12
7
43
0
0
0
-22
-28
0
0
0
0
0
0
2
27
6
-57
67
-64
9
-83
35
30
-1
-7
0
0
0
0
0
2
4
-22
-16
45
-12
-38
-7
-11
7
1
0
0
0
0
0
0
0
2
0
0
2
-38
-2
-3
46
-15
-7
0
0
0
0
0
0
0
0
0
0
-1
21
13
-63
62
-8
0
0
0
0
0
0
0
0
0
0
0
2
16
54
-88
-3
-22
-6
0
0
0
0
0
0
0
0
0
-1
0
11
-20
-3
99
1
-4
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
11
16
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
-4
-38
46
26
12
0
0
0
-13
-1
0
0
0
0
0
0
0
-9
2
-2
-55
42
2
-7
-37
0
-1
-1
0
0
0
0
0
0
-2
-2
49
-27
2
13
-6
-15
4
10
-3
-1
0
0
0
0
2
0
-16
0
0
2
19
12
-22
19
3
0
0
0
0
0
0
0
0
0
0
0
3
-37
-8
16
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-8
-40
-1
4
0
0
0
0
0
0
0
0
0
2
0
0
0
21
38
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
16
-25
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
8
-27
-12
5
0
0
0
-4
-1
0
0
0
0
0
0
0
0
-9
0
-39
-1
13
-23
-2
0
0
0
0
0
0
0
0
0
0
-4
1
44
34
-1
2
14
2
-1
0
0
0
0
0
0
3
-1
-9
18
0
0
-3
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
24
-9
-2
3
0
0
0
0
0
0
0
0
2
0
0
0
16
-53
-7
0
0
0
0
0
0
0
0
0
3
0
0
0
-28
-1
10
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
0
4
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
-1
-1
0
0
0
0
0
0
0
2
0
-9
6
0
0
0
0
2
0
0
0
0
0
0
0
0
0
12
0
-1
-9
7
13
8
0
0
0
0
0
0
0
0
0
0
1
54
4
-59
-6
-37
-2
1
0
-3
0
0
0
0
0
2
0
-4
-3
-12
0
4
0
0
2
0
0
2
0
0
0
0
0
0
0
0
-7
0
0
0
6
0
0
0
1
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
3
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-7
-12
0
0
0
2
0
0
0
0
0
0
0
0
9
4
-4
0
-25
16
11
2
0
0
0
0
0
0
0
0
0
0
0
-18
47
7
38
9
-10
0
0
0
0
0
0
0
0
0
0
-2
-28
27
37
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
1
-7
9
-7
0
0
0
0
0
0
0
0
0
0
1
0
-4
2
3
-7
2
-2
0
0
0
0
0
0
0
0
0
3
0
-1
-37
-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
-1
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
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-30
-5
0
0
0
0
0
0
0
0
0
0
-4
-48
-2
10
49
26
-4
0
0
0
0
0
0
0
0
0
0
0
-4
-35
7
-3
17
-4
50
14
0
0
0
0
0
0
0
0
0
-13
-80
-44
-33
-7
-48
-13
-14
0
0
0
0
0
0
0
0
0
0
11
41
76
21
27
-33
3
0
0
0
0
0
0
0
0
0
0
1
50
8
17
20
-43
-11
0
0
0
0
0
0
0
0
0
0
4
0
-29
13
-17
-34
35
0
0
0
0
0
0
0
0
0
0
0
-13
0
9
-28
-7
32
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
-1
31
-138
-18
5
24
0
0
0
0
0
0
0
0
0
0
0
-5
27
-14
-72
-22
52
0
0
0
0
0
0
0
0
0
0
0
-18
-35
-55
-38
-13
32
-7
6
15
0
0
0
0
0
0
0
0
8
-42
11
2
-37
49
-41
-1
-63
0
0
0
0
0
0
0
0
0
-6
-10
-20
2
15
-43
-17
22
0
0
0
0
0
0
0
0
0
0
39
74
16
26
-9
-107
20
0
0
0
0
0
0
0
0
0
0
3
3
-105
-10
-9
53
-6
0
0
0
0
0
0
0
0
0
0
0
-3
45
-38
-25
-13
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-11
29
-13
0
0
0
0
0
0
0
0
-2
-2
11
43
-45
-8
0
0
0
60
0
0
0
0
0
0
0
11
21
2
-5
-17
-8
0
0
0
34
0
0
0
0
0
0
0
-6
18
22
-33
29
-36
-15
29
-61
9
0
0
0
0
0
0
0
-6
41
-34
-29
23
1
-7
33
18
-24
0
0
0
0
0
0
0
-18
41
-52
42
-46
72
-4
61
8
2
0
0
0
0
0
0
0
0
0
-6
40
66
7
10
-50
-21
-33
0
0
0
0
0
0
0
0
0
0
7
7
45
19
17
16
19
0
0
0
0
0
0
0
0
0
0
-10
-30
1
-11
73
8
-34
0
0
0
0
0
0
0
0
0
3
-3
0
24
7
-26
51
3
0
0
0
0
0
0
0
0
-1
-18
-40
16
-42
0
0
0
-18
-56
0
0
0
0
0
0
-4
-2
-25
-3
7
16
0
0
0
-71
-28
0
0
0
0
0
0
-3
1
-17
20
-44
4
9
-43
-11
7
-5
0
0
0
0
0
0
-1
-2
-3
9
1
-6
10
22
4
1
-2
0
0
0
0
0
0
4
-13
12
-58
-17
41
-64
14
-57
36
0
0
0
0
0
0
0
0
0
2
0
-4
38
22
10
2
0
0
0
0
0
0
0
0
0
0
0
0
8
-24
17
55
-86
20
17
0
0
0
0
0
0
0
0
0
0
0
20
36
8
17
13
-8
0
0
0
0
0
0
0
0
0
0
0
3
22
-16
59
9
0
0
0
0
0
0
0
0
0
0
-2
6
-1
0
0
0
-6
0
0
0
0
0
0
0
0
8
47
19
-19
-55
0
0
0
-23
27
0
0
0
0
0
0
0
-1
-2
21
20
3
35
21
-38
12
0
0
0
0
0
0
0
0
-4
13
39
20
-12
-3
28
-46
0
0
0
0
0
0
0
0
1
-1
8
-4
-1
3
19
2
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-26
-21
-6
-17
0
0
0
0
0
0
0
0
0
0
0
0
-2
26
24
43
10
0
0
0
0
0
0
0
0
0
0
0
0
40
-7
4
-35
14
-3
-3
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-6
0
0
0
0
0
0
0
0
1
0
-6
-2
-2
0
0
0
-1
0
0
0
0
0
0
0
3
0
-21
11
-9
-2
0
0
0
33
1
0
0
0
0
0
0
0
0
-3
-6
3
50
-28
8
-14
-2
-1
-1
0
0
0
0
0
0
-1
26
30
-16
-17
-111
8
-29
11
-1
0
0
0
0
0
0
0
-7
0
8
-37
-91
-16
38
-37
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
17
-1
69
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
20
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
-21
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
17
-1
-17
0
8
0
0
0
0
0
0
0
0
0
0
7
-3
-13
23
28
3
-6
-1
0
0
0
0
0
0
0
0
10
16
6
-28
10
-6
9
1
0
-2
1
0
0
0
0
0
0
0
0
0
0
1
0
6
3
-1
0
0
2
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
-17
-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
-1
0
0
0
-1
0
0
0
1
3
0
0
0
0
0
0
0
0
-1
-6
0
-16
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
2
2
0
2
23
2
0
0
3
0
0
0
0
0
0
0
8
-4
-15
15
18
30
0
7
1
2
0
0
0
0
0
0
6
-6
-1
0
17
-25
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
6
0
-11
1
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
2
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
-9
-3
-12
-3
0
0
0
0
0
0
0
0
0
0
0
-7
1
4
18
4
-11
1
0
0
0
0
0
0
0
0
0
0
9
13
-3
11
-7
-36
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
6
-3
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-12
34
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-12
-19
11
-31
0
0
0
0
0
0
0
0
0
0
-1
-2
-45
-39
67
-7
-43
-36
44
0
0
0
0
0
0
0
0
0
-13
-27
-18
-39
-5
-51
2
34
0
0
0
0
0
0
0
0
0
7
-27
25
-47
12
1
-12
7
0
0
0
0
0
0
0
0
0
-7
3
-1
0
26
-59
65
32
0
0
0
0
0
0
0
0
0
0
-8
1
1
-28
9
3
60
0
0
0
0
0
0
0
0
0
0
2
-6
18
9
-2
67
15
0
0
0
0
0
0
0
0
0
0
-11
0
0
2
5
25
3
0
0
0
0
0
0
0
0
0
0
-80
-72
20
-7
60
0
0
0
0
0
0
0
0
0
0
0
-26
-24
-33
-5
2
-54
0
0
0
0
0
0
0
0
0
0
0
-2
-32
-12
-10
-4
-25
-10
-30
-9
0
0
0
0
0
0
0
0
-10
-40
-13
-26
7
54
-2
30
-6
0
0
0
0
0
0
0
0
0
-54
0
35
-50
17
-38
18
-21
0
0
0
0
0
0
0
0
1
-8
-17
38
-21
-11
57
5
22
0
0
0
0
0
0
0
0
0
0
6
32
72
59
-70
-5
13
0
0
0
0
0
0
0
0
0
0
1
-28
29
-3
2
-16
17
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
11
-14
-25
0
0
0
0
0
0
0
0
0
0
0
19
0
3
0
0
0
-8
0
0
0
0
0
0
0
-15
-2
-10
6
-22
4
0
0
0
-13
0
0
0
0
0
0
0
-1
3
0
-18
28
34
-19
44
-12
-13
0
0
0
0
0
0
0
0
-9
-6
-3
-17
33
-34
5
11
40
0
0
0
0
0
0
0
-4
-11
-66
12
-47
-19
71
14
-8
-13
0
0
0
0
0
0
0
1
3
-39
-30
12
-4
22
32
49
28
0
0
0
0
0
0
0
0
0
0
25
59
14
0
-20
-49
16
0
0
0
0
0
0
0
0
0
0
0
37
4
20
58
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
-21
8
81
12
-1
0
0
0
0
0
0
0
0
2
0
-10
0
0
0
0
0
1
-2
0
0
0
0
0
0
-3
-2
-11
27
-2
0
0
0
0
-35
-39
0
0
0
0
0
0
-1
4
46
-29
-1
84
29
-54
36
-26
-7
0
0
0
0
0
0
1
-4
-10
12
-38
-56
-81
71
5
4
3
0
0
0
0
0
0
0
0
44
27
-29
-23
41
-18
-33
25
0
0
0
0
0
0
0
0
-2
-1
-20
26
-6
-4
40
10
-5
0
0
0
0
0
0
0
0
0
0
0
16
-14
-63
-51
-28
1
0
0
0
0
0
0
0
0
0
0
0
0
24
6
61
24
-46
5
0
0
0
0
0
0
0
0
0
0
0
0
-1
39
9
7
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
0
0
0
-7
-2
0
0
0
0
0
0
0
2
2
-2
10
-9
0
-7
15
3
0
0
0
0
0
0
0
0
-1
13
-18
-12
-3
-27
16
16
2
0
0
0
0
0
0
0
0
0
-2
15
-57
4
13
3
38
-8
0
0
0
0
0
0
0
0
0
0
0
14
-41
42
5
-64
3
0
0
0
0
0
0
0
0
0
0
0
0
-35
-4
-6
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
0
2
22
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
11
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
3
0
0
8
0
0
0
3
1
0
0
0
0
0
0
0
0
2
9
0
0
-1
-2
-5
0
0
0
0
0
0
0
0
0
0
0
-17
28
7
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
10
9
11
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
16
1
-4
-29
-7
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
3
-1
-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
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-2
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
1
1
0
0
0
0
0
0
0
0
0
0
-2
0
-15
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
10
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
8
0
0
0
-2
10
0
0
0
0
0
0
0
0
0
-41
-7
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
5
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
1
0
3
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
-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
-10
-1
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
15
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
-10
-9
-55
-12
-2
30
0
0
0
0
0
0
0
0
0
0
0
0
-13
3
14
-8
-1
1
47
0
0
0
0
0
0
0
0
2
-11
-71
27
-89
-69
43
-23
30
0
0
0
0
0
0
0
0
6
-1
4
8
0
26
4
-33
6
0
0
0
0
0
0
0
0
0
-4
16
38
-40
43
23
-47
-7
0
0
0
0
0
0
0
0
0
0
0
4
18
9
8
-1
-20
0
0
0
0
0
0
0
0
0
0
0
7
6
6
23
-30
53
0
0
0
0
0
0
0
0
0
0
4
0
0
0
30
-13
-39
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
-1
20
-9
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
15
-3
-25
-8
26
-15
22
-64
0
0
0
0
0
0
0
0
-3
-6
-11
-59
12
-26
8
-32
-59
0
0
0
0
0
0
0
0
-4
-3
9
-25
-27
11
-74
-9
-3
0
0
0
0
0
0
0
0
0
-4
4
-56
-25
-78
74
-38
19
0
0
0
0
0
0
0
0
0
0
-13
1
27
6
-14
21
14
0
0
0
0
0
0
0
0
0
0
0
3
38
7
-10
-19
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
23
-30
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
4
0
-3
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
-6
-7
-6
1
-18
15
-5
-2
0
0
0
0
0
0
0
0
-3
-2
-12
16
60
-1
2
-32
16
0
0
0
0
0
0
0
0
0
0
13
-37
27
-24
2
-90
0
0
0
0
0
0
0
0
0
1
0
-2
4
15
2
-21
1
0
0
0
0
0
0
0
0
0
0
1
0
-8
9
0
19
7
4
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
10
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
13
-1
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-9
0
0
0
0
0
0
0
0
-1
0
0
-1
-7
-6
0
-4
0
0
0
0
0
0
0
0
0
0
0
-7
4
-2
2
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
-1
4
-7
-1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
13
0
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
3
-9
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
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
12
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
6
-2
3
11
0
3
0
0
0
0
0
0
0
0
0
23
1
-35
-1
32
12
-6
0
0
0
0
0
0
0
0
0
0
7
-12
30
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
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
18
0
0
0
0
0
0
0
0
0
0
0
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
7
0
-36
-8
-2
0
0
0
0
0
0
0
0
0
28
6
-14
27
-56
-31
-7
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-34
-50
32
9
35
0
0
0
0
0
0
0
0
0
0
18
-4
58
8
-4
-4
-22
6
0
0
0
0
0
0
0
0
0
26
-3
31
-3
-1
-15
0
0
1
0
0
0
0
0
0
0
0
-15
-19
-2
-11
-3
0
0
-1
0
0
0
0
0
0
0
0
0
9
-10
-26
0
0
-1
15
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
-2
20
15
4
3
0
0
0
0
0
0
0
0
0
2
4
5
1
35
-26
-18
8
0
1
0
0
0
0
0
0
0
1
-15
13
-41
43
18
-20
-6
0
0
0
0
0
0
0
0
0
1
8
-5
-22
38
-7
20
0
0
0
0
0
0
0
0
0
0
0
-2
-1
52
-10
-21
-20
0
-2
0
0
0
0
0
0
0
0
0
-5
-10
-8
1
-9
2
-2
-1
0
0
0
0
0
0
0
0
0
-3
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
35
8
0
-40
10
-33
-2
0
0
0
0
0
0
0
0
0
0
-16
32
10
-24
-76
84
20
1
0
0
0
0
0
0
0
0
2
-1
13
-3
28
-38
2
-2
0
0
0
0
0
0
0
0
0
0
7
29
19
-38
-1
6
1
0
0
0
0
0
0
0
0
0
0
2
15
6
-3
-27
16
-1
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
-2
21
-1
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
1
0
0
0
0
0
0
0
0
0
-13
6
14
19
26
19
30
7
1
0
0
0
0
0
0
0
0
0
-17
0
-9
5
-3
29
21
0
0
0
0
0
0
0
0
0
-6
0
-14
18
15
-1
1
0
4
-1
0
0
0
0
0
0
0
0
-1
4
0
4
-1
0
3
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
10
8
0
55
0
0
-4
-5
0
-1
0
0
0
0
0
0
0
-18
21
10
44
4
2
-3
-6
10
0
0
0
0
0
0
0
0
0
-11
-13
-7
17
-28
17
-16
2
1
0
0
0
0
0
0
0
0
0
1
-3
-2
7
-1
-1
-6
0
0
0
0
0
0
0
0
0
1
1
-8
6
0
1
-2
1
0
0
0
0
0
0
0
0
0
2
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-9
0
2
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
4
-1
0
-13
0
0
0
0
0
0
0
0
0
2
-43
22
37
24
10
54
-1
-4
2
0
0
0
0
0
0
0
4
-4
-24
4
0
11
14
-12
-1
-1
0
0
0
0
0
0
0
0
15
-14
-1
-18
7
-28
2
0
11
0
0
0
0
0
0
0
0
-2
0
12
-2
0
-6
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
2
8
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
1
-32
-32
-25
-1
3
2
12
-4
0
0
0
0
0
0
0
0
-1
14
-9
7
6
17
13
9
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
-3
7
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
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
21
14
3
9
-2
-2
0
0
0
0
0
0
0
0
0
0
0
41
-33
10
-66
13
-10
0
0
0
0
0
0
0
0
0
0
-64
-30
-25
1
0
3
-2
0
0
0
0
0
0
0
0
0
0
-66
-16
20
5
-2
-6
-6
0
0
0
0
0
0
0
0
0
0
5
13
-4
14
-11
-2
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-40
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
-27
-11
15
-6
-1
-25
9
-1
0
0
0
0
0
0
0
0
0
35
-79
49
33
50
64
2
101
24
2
0
0
0
0
0
0
0
4
34
21
-78
-60
-28
-16
5
-9
0
0
0
0
0
0
0
0
12
-57
3
136
-5
25
-7
-8
-33
0
0
0
0
0
0
0
0
10
119
-14
-12
40
-20
57
9
9
-9
0
0
0
0
0
0
0
3
-13
38
32
2
-17
0
-10
-6
0
0
0
0
0
0
0
0
0
3
40
60
-19
-1
-3
10
0
0
0
0
0
0
0
0
0
0
34
0
-21
0
0
1
1
0
0
0
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
8
-66
-9
-56
56
1
0
0
0
0
0
0
0
0
0
-1
62
36
-11
98
19
7
5
-4
0
0
0
0
0
0
0
0
-37
-49
-11
-17
-23
15
37
-22
18
-1
0
0
0
0
0
0
0
3
-28
7
16
5
19
24
-8
21
-4
0
0
0
0
0
0
0
0
18
24
69
9
0
45
15
-1
0
0
0
0
0
0
0
0
0
-7
17
21
-9
-17
-5
0
-2
0
0
0
0
0
0
0
0
0
1
40
-5
8
0
0
2
0
0
0
0
0
0
0
0
0
0
3
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
-3
-1
-25
7
47
46
-10
-19
0
1
0
0
0
0
0
0
0
0
5
-49
9
25
17
-34
-38
-4
0
1
0
0
0
0
0
0
-11
20
22
82
33
-14
25
6
-10
0
0
0
0
0
0
0
0
18
-36
8
-66
-35
-18
2
-9
-7
4
0
0
0
0
0
0
0
0
-14
-61
47
33
48
12
0
-1
0
0
0
0
0
0
0
0
-8
-13
1
-8
-6
-1
2
-3
-2
0
0
0
0
0
0
0
0
0
8
2
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-19
7
77
29
7
-19
44
47
0
1
0
0
0
0
0
0
0
-8
16
13
-10
-4
38
59
-20
2
0
0
0
0
0
0
0
0
22
2
17
32
44
-36
2
28
-46
-1
0
0
0
0
0
0
0
-6
8
26
35
-26
-2
37
0
-1
-1
0
0
0
0
0
0
0
25
15
-10
-9
0
-8
-25
0
0
0
0
0
0
0
0
0
0
0
-7
-19
16
3
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
8
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
-3
15
56
-22
42
16
-20
30
0
0
0
0
0
0
0
0
0
3
40
0
24
8
-22
41
36
36
-2
0
0
0
0
0
0
0
0
27
-48
27
29
-5
27
-60
-8
0
0
0
0
0
0
0
0
11
15
-9
19
-32
-44
22
-4
0
-2
0
0
0
0
0
0
0
3
11
8
29
-4
18
1
0
0
0
0
0
0
0
0
0
0
0
-9
-1
1
0
-6
1
7
0
0
0
0
0
0
0
0
0
0
3
-24
19
4
0
4
0
0
0
0
0
0
0
0
0
0
0
-6
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-10
-7
57
-7
-22
0
0
1
0
0
0
0
0
0
0
0
29
27
24
36
4
14
-5
-23
-1
3
0
0
0
0
0
0
8
-6
5
17
35
-51
7
21
-24
-3
0
-1
0
0
0
0
0
-3
-19
27
-28
0
-17
-40
-4
-4
-1
2
0
0
0
0
0
0
-1
-16
36
-1
-9
-41
-7
0
1
0
1
-1
0
0
0
0
0
0
1
0
10
-12
22
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
-4
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
39
-17
0
-16
0
-2
-2
0
0
0
0
0
0
-2
3
7
18
46
-9
30
-2
7
-3
0
0
0
0
0
0
0
6
-9
-40
10
-46
12
-6
-17
8
0
0
0
0
0
0
0
0
2
0
15
21
19
-1
6
0
0
-2
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
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
8
7
0
2
-6
0
0
0
0
0
0
0
0
0
0
8
-3
-7
18
-8
-3
-4
1
-1
0
0
0
0
0
0
0
0
0
-6
-8
-12
18
0
9
0
3
0
0
0
0
0
0
0
-1
0
-1
-1
6
0
-8
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
0
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-6
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
4
-95
-15
0
14
0
0
0
0
0
0
0
0
0
0
0
-23
27
68
-10
-34
58
-39
-8
0
0
0
0
0
0
0
0
0
-2
-19
3
1
0
-5
2
0
0
0
0
0
0
0
0
0
0
7
-1
20
-2
37
-8
2
0
0
0
0
0
0
0
0
0
0
12
21
-6
1
2
-1
10
0
0
0
0
0
0
0
0
0
0
7
-9
15
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
84
9
-58
-6
64
30
49
0
0
0
0
0
0
0
0
0
3
45
16
-28
-41
53
0
-5
-46
0
0
0
0
0
0
0
0
-10
45
99
-49
-3
26
-63
26
22
0
0
0
0
0
0
0
0
-11
7
-1
-46
28
66
-6
0
-2
0
0
0
0
0
0
0
0
-32
-59
-43
-49
-49
53
-3
-27
-1
2
0
0
0
0
0
0
0
24
-7
-50
31
35
-19
0
-9
0
0
0
0
0
0
0
0
0
-3
-47
-37
-8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-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
29
0
-38
54
72
-92
-27
0
0
0
0
0
0
0
0
0
10
80
-32
-7
20
72
-24
0
-18
13
0
0
0
0
0
0
0
7
-12
9
-8
51
-4
10
12
3
-1
0
0
0
0
0
0
0
11
-10
1
-30
-31
-7
-18
-10
8
-3
0
0
0
0
0
0
0
0
24
-50
20
-6
56
-2
0
-9
0
0
0
0
0
0
0
0
-12
-22
2
36
10
-3
-2
6
-3
1
0
0
0
0
0
0
0
0
27
49
-16
18
0
1
0
-3
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
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-10
-6
17
34
11
15
0
0
0
0
0
0
0
0
0
4
-10
-20
3
-47
33
32
-2
0
0
0
0
0
0
0
0
0
0
35
-22
1
13
20
3
5
18
2
0
0
0
0
0
0
0
0
27
-20
-20
41
15
-30
-6
1
0
0
0
0
0
0
0
0
0
36
-39
-34
-69
-1
0
0
20
-2
0
0
0
0
0
0
0
0
16
-18
-20
9
32
1
0
0
0
0
0
0
0
0
0
0
-4
3
-13
1
-2
0
19
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
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-8
-37
21
-1
32
26
0
0
0
0
0
0
0
0
0
-3
-16
77
-14
-17
-27
8
12
7
0
0
0
0
0
0
0
0
0
34
36
0
0
44
2
36
-1
0
0
0
0
0
0
0
0
1
12
1
2
-8
-18
11
0
19
0
0
0
0
0
0
0
0
7
26
5
-25
-7
-12
0
2
1
0
0
0
0
0
0
0
0
0
2
28
0
1
1
8
0
0
0
0
0
0
0
0
0
0
0
-2
9
0
-1
1
-12
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
22
-59
-49
47
19
0
0
0
0
0
0
0
0
0
0
14
41
88
-24
8
2
21
5
0
0
0
0
0
0
0
0
2
0
-10
3
25
0
20
12
8
2
0
0
0
0
0
0
0
-1
-12
2
80
9
20
2
1
0
8
0
0
0
0
0
0
0
0
12
-8
-1
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
10
22
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-2
8
6
92
28
0
0
0
0
0
0
0
0
0
0
26
-23
74
71
-14
-16
-8
2
-1
0
0
0
0
0
0
0
4
13
-16
2
-13
3
0
-2
-2
-2
0
0
0
0
0
0
0
0
-15
92
-15
-22
6
1
0
3
0
0
0
0
0
0
0
0
1
21
-7
26
2
11
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
4
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
13
0
30
10
6
35
0
-3
0
0
0
0
0
0
0
9
17
-1
-27
23
7
23
-25
-6
3
-6
0
0
0
0
0
0
6
8
1
0
3
16
-3
1
8
6
0
0
0
0
0
0
0
0
0
10
-11
-11
-13
2
3
0
0
0
0
0
0
0
0
0
1
0
6
16
0
4
-1
0
0
0
-1
0
0
0
0
0
0
0
0
3
2
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
6
-40
-4
19
-25
15
1
0
2
0
0
0
0
0
0
0
0
-4
0
11
0
4
0
-3
0
-3
0
0
0
0
0
0
0
0
8
0
-44
10
2
4
-1
2
0
0
0
0
0
0
0
0
0
-1
0
-2
-11
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
-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
-1
1
-3
0
-2
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
9
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
10
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
0
-7
13
28
42
1
0
0
0
0
0
0
0
0
0
0
13
-11
-32
23
5
-1
-10
10
0
0
0
0
0
0
0
0
0
-5
2
-30
-1
30
-12
-7
0
0
0
0
0
0
0
0
0
0
3
-40
12
30
-2
-13
-2
0
0
0
0
0
0
0
0
0
0
21
51
1
7
-11
6
-2
0
0
0
0
0
0
0
0
0
0
17
-35
-10
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
-44
1
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
-7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-25
-77
-1
-7
33
-56
51
0
0
0
0
0
0
0
0
0
4
74
-18
-39
44
15
66
-55
-44
0
0
0
0
0
0
0
0
3
-21
63
12
-2
7
19
-19
18
0
0
0
0
0
0
0
0
9
-4
21
-49
28
10
-73
6
-10
0
0
0
0
0
0
0
0
6
-33
2
-31
-30
-67
39
-12
20
0
0
0
0
0
0
0
0
7
-79
-3
-26
-16
-49
-5
0
4
0
0
0
0
0
0
0
0
0
27
3
8
-14
7
-1
0
0
0
0
0
0
0
0
0
0
0
49
-2
-4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
2
-3
-14
0
18
64
-98
0
3
0
0
0
0
0
0
0
2
16
30
-35
17
-6
27
56
-7
-10
0
0
0
0
0
0
0
0
7
-19
-21
31
10
-43
1
-25
4
0
0
0
0
0
0
0
-3
-1
1
52
4
60
24
30
11
0
0
0
0
0
0
0
0
3
16
-5
-40
8
-6
45
21
4
0
0
0
0
0
0
0
0
-1
-12
24
-37
18
5
0
-13
0
0
0
0
0
0
0
0
0
-3
-27
19
51
38
7
0
0
0
0
0
0
0
0
0
0
0
0
-9
12
-27
1
4
0
6
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
17
12
-34
20
-59
0
3
0
0
0
0
0
0
0
0
68
-17
-4
-48
-21
-6
0
3
0
0
0
0
0
0
0
0
0
-2
39
34
-4
-26
57
-26
-7
-1
0
0
0
0
0
0
0
0
45
21
-3
-21
63
-10
14
-7
4
0
0
0
0
0
0
0
0
51
8
16
-7
-6
-47
2
0
0
0
0
0
0
0
0
0
0
21
-14
40
-18
43
2
0
0
0
0
0
0
0
0
0
0
0
-18
16
9
38
-1
0
0
0
0
0
0
0
0
0
0
0
0
-11
43
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
37
0
0
22
0
-10
0
1
-1
0
0
0
0
0
0
0
7
1
-8
-46
-2
21
-59
5
0
0
0
0
0
0
0
0
-4
33
34
-25
-14
21
8
24
-7
0
0
0
0
0
0
0
0
0
-8
-9
-24
0
-15
-16
-10
0
0
0
0
0
0
0
0
0
0
19
46
4
4
-12
11
10
4
0
0
0
0
0
0
0
0
0
-6
-2
0
-13
38
1
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
-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
2
6
-1
-1
-2
30
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
-17
-27
9
-35
11
3
0
0
0
0
0
0
0
0
2
1
-4
13
-9
9
20
7
0
0
0
0
0
0
0
0
0
7
0
0
-2
-4
0
10
1
21
0
0
0
0
0
0
0
0
0
-15
12
23
16
14
0
0
0
0
0
0
0
0
0
0
0
0
-10
-4
3
6
0
0
0
9
0
0
0
0
0
0
0
0
0
-11
-1
51
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
4
-9
18
-9
8
46
-2
-1
0
0
0
0
0
0
0
0
13
-8
11
-10
33
7
0
-1
0
0
0
0
0
0
0
0
0
4
-9
15
9
-20
0
0
-1
0
0
0
0
0
0
0
0
0
-16
-11
16
23
1
0
0
-1
0
0
0
0
0
0
0
0
0
10
-20
13
9
-2
0
0
0
0
0
0
0
0
0
0
0
3
33
-3
-1
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
-3
3
0
0
0
0
0
0
0
0
0
0
0
3
-6
12
0
60
-1
-1
0
0
0
0
0
0
0
0
0
-22
-8
15
26
-25
15
13
-2
3
0
0
0
0
0
0
0
0
-4
11
7
3
-8
-7
0
0
0
0
0
0
0
0
0
0
0
16
26
26
-7
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
-4
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
-6
-4
0
0
0
0
0
0
0
0
0
0
0
-6
-3
-7
0
-11
-1
-2
0
0
0
0
0
0
0
0
0
0
6
-7
15
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
-1
-4
1
-2
-2
15
0
0
0
0
0
0
0
0
0
0
0
0
9
0
6
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-4
1
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-2
25
10
-30
-2
-1
-3
0
0
0
0
0
0
0
0
0
21
21
20
71
10
-34
-44
-4
-2
0
0
0
0
0
0
0
0
94
24
17
-60
-15
-19
-24
1
0
0
0
0
0
0
0
0
0
29
28
29
-21
3
0
-3
-8
0
0
0
0
0
0
0
0
0
-7
34
-3
22
-3
-9
0
2
0
0
0
0
0
0
0
0
0
-19
-1
73
25
13
0
0
0
0
0
0
0
0
0
0
0
0
18
17
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-13
3
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
-40
1
-19
-31
84
-1
53
0
0
0
0
0
0
0
0
0
-16
50
-3
-93
-6
30
13
-8
-8
7
0
0
0
0
0
0
0
7
-19
-33
-7
20
-4
-22
32
8
-3
0
0
0
0
0
0
0
-7
38
49
56
10
-40
36
76
-1
0
0
0
0
0
0
0
0
8
7
45
29
41
19
-52
-12
1
2
0
0
0
0
0
0
0
0
40
26
-30
-28
-16
46
1
-4
0
0
0
0
0
0
0
0
15
-1
-50
9
59
6
40
1
0
0
0
0
0
0
0
0
0
4
23
-20
0
0
-22
0
18
0
0
0
0
0
0
0
0
0
41
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
24
-15
-15
41
-52
-44
0
0
0
0
0
0
0
0
0
0
-8
60
17
48
-82
5
-4
34
0
0
0
0
0
0
0
0
0
24
-4
-27
-61
44
20
62
-5
1
0
0
0
0
0
0
0
61
22
33
19
56
90
-58
-19
6
0
0
0
0
0
0
0
0
11
3
0
-27
33
31
30
-8
3
0
0
0
0
0
0
0
0
-11
32
57
-7
23
56
15
-3
0
6
0
0
0
0
0
0
0
0
21
85
57
-21
15
33
0
1
0
0
0
0
0
0
0
0
2
-12
25
19
-3
0
0
-11
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
11
7
-2
-14
6
-65
1
0
0
0
0
0
0
0
0
0
0
32
42
-39
-25
-28
6
-59
-10
-4
0
0
0
0
0
0
0
-2
6
10
10
-30
23
-14
-33
51
-2
0
0
0
0
0
0
0
7
33
5
4
2
-8
0
-11
0
0
0
0
0
0
0
0
0
0
-3
-18
0
-55
-18
-4
-3
-2
0
0
0
0
0
0
0
0
0
4
-37
13
23
85
2
-8
0
0
0
0
0
0
0
0
0
-4
29
50
-13
88
0
1
6
0
0
0
0
0
0
0
0
0
0
18
12
-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
1
0
2
3
65
-41
-21
0
-1
0
0
0
0
0
0
0
0
3
9
12
-16
-49
28
-1
-26
0
3
0
0
0
0
0
0
4
3
-39
-52
-12
11
-1
-66
2
-7
0
0
0
0
0
0
0
0
-1
4
8
-8
7
11
-7
0
0
0
0
0
0
0
0
0
0
-4
35
21
0
62
-7
-2
0
3
0
0
0
0
0
0
0
0
8
-8
10
0
19
-2
1
6
-1
0
0
0
0
0
0
0
0
17
10
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
54
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
1
-12
0
-7
0
-3
0
0
0
0
0
0
0
0
1
-4
2
-6
-13
36
-3
-10
0
0
0
0
0
0
0
0
-2
2
-24
12
38
-33
21
-8
2
0
0
0
0
0
0
0
0
0
48
2
-1
17
1
13
-2
21
0
0
0
0
0
0
0
0
0
17
-2
0
28
0
10
0
0
0
0
0
0
0
0
0
0
0
-8
28
-43
-7
0
-3
-1
0
0
0
0
0
0
0
0
0
0
-13
-11
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
4
26
0
11
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
0
2
0
0
0
0
0
0
0
0
0
2
0
5
6
-13
9
0
-6
0
0
0
0
0
0
0
11
9
0
1
9
34
-16
-11
-1
0
0
0
0
0
0
0
0
0
6
0
-7
1
-20
-3
0
0
0
0
0
0
0
0
0
0
0
-2
38
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
-11
-13
0
-1
0
0
0
0
0
0
0
0
0
0
2
-18
-3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-6
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
1
9
0
7
0
0
0
0
0
0
0
0
0
3
0
-7
-12
15
9
-1
0
0
0
0
0
0
0
0
0
0
0
6
10
-37
-19
6
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
36
-8
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
4
-2
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
1
6
0
-2
0
19
1
0
-2
0
0
0
0
0
0
0
0
4
1
-10
-4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-4
-10
-2
0
-3
17
0
0
0
0
0
0
0
0
0
0
4
0
2
18
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
-20
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
19
3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
4
7
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-10
5
2
7
1
0
0
0
0
0
0
0
0
0
-13
27
7
23
-5
79
-34
3
0
0
0
0
0
0
0
0
0
45
5
-36
51
-23
25
-4
3
0
0
0
0
0
0
0
0
0
-24
0
-8
21
7
57
16
0
0
0
0
0
0
0
0
0
0
2
1
-9
-16
-2
0
-1
10
0
0
0
0
0
0
0
0
0
0
-27
29
-10
-14
-1
-2
-1
0
0
0
0
0
0
0
0
0
-57
10
7
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
15
4
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-6
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
72
-3
-6
-2
-47
-1
-23
0
0
0
0
0
0
0
0
0
8
9
33
-77
18
29
-5
-2
6
0
0
0
0
0
0
0
0
3
59
-38
27
22
-44
-13
-19
-18
0
0
0
0
0
0
0
0
-4
-32
53
26
-19
-31
30
1
10
-2
0
0
0
0
0
0
0
-1
-20
32
-11
2
40
-42
-43
-7
0
0
0
0
0
0
0
0
7
0
3
-3
50
-18
18
8
-4
0
0
0
0
0
0
0
0
0
-80
-3
1
-11
42
-7
0
-1
0
0
0
0
0
0
0
0
13
-6
-19
13
2
4
0
0
0
0
0
0
0
0
0
0
0
-3
-12
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
2
-52
3
3
80
0
-1
0
0
0
0
0
0
0
1
-62
16
-10
-6
-5
-2
39
-17
0
0
0
0
0
0
0
0
-12
-16
7
29
-19
-37
-4
19
37
0
0
0
0
0
0
0
0
0
41
-44
11
-9
10
22
-27
13
0
0
0
0
0
0
0
0
-3
-22
39
7
7
-30
86
-8
-3
-3
0
0
0
0
0
0
0
0
57
0
-7
35
-4
82
1
0
2
0
0
0
0
0
0
0
-49
7
-62
-53
-8
11
-7
-3
0
0
0
0
0
0
0
0
0
0
-77
5
46
49
-2
0
0
0
0
0
0
0
0
0
0
0
7
9
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
47
-13
-22
-2
0
-9
0
0
0
0
0
0
0
0
18
29
8
-30
-21
-8
14
-6
0
-1
0
0
0
0
0
0
9
-4
-20
-17
-35
15
-6
53
0
0
0
0
0
0
0
0
0
-4
0
-20
-18
7
-24
30
29
20
0
0
0
0
0
0
0
0
0
0
-5
11
30
-33
-28
6
2
0
0
0
0
0
0
0
0
0
7
-13
0
36
-10
-3
0
0
-10
0
0
0
0
0
0
0
-9
35
-12
33
5
-6
-1
-3
0
0
0
0
0
0
0
0
0
0
-8
-8
-30
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
2
0
-4
-3
0
0
0
0
0
0
0
0
0
0
16
36
-6
-13
30
19
2
34
0
-1
0
0
0
0
0
0
-17
0
0
-10
43
2
39
-11
-2
0
0
0
0
0
0
0
0
-1
8
1
3
18
8
-9
21
1
0
0
0
0
0
0
0
0
-3
36
-18
-15
3
-4
-3
-1
-2
0
0
0
0
0
0
0
0
0
-3
18
50
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
51
70
-11
19
1
0
0
0
0
0
0
0
0
0
0
0
-15
16
-1
5
-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
-7
0
0
1
0
-4
-1
0
3
0
0
0
0
0
0
0
0
8
0
0
0
8
-53
1
0
0
0
0
0
0
0
0
0
7
-1
0
5
7
-36
92
1
-11
0
0
0
0
0
0
0
0
0
1
12
-9
-15
1
32
3
-9
0
0
0
0
0
0
0
0
0
0
0
-18
23
-3
0
-1
0
-1
0
0
0
0
0
0
0
0
0
-6
24
-39
0
0
2
0
0
0
0
0
0
0
0
0
0
54
26
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-10
-7
0
2
0
0
0
0
0
0
0
0
2
-1
1
-4
-6
-10
-12
1
0
0
0
0
0
0
0
0
6
-6
0
18
2
0
0
13
16
0
0
0
0
0
0
0
0
0
2
17
2
13
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
13
-9
1
0
0
-2
2
0
0
0
0
0
0
0
0
0
-13
3
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
11
16
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
-1
8
0
0
0
0
0
0
0
0
0
0
-2
-10
0
0
-3
29
-2
1
0
0
0
0
0
0
0
0
3
0
0
6
0
6
18
2
1
-1
0
0
0
0
0
0
0
1
0
0
16
0
-2
-4
-1
0
0
0
0
0
0
0
0
0
0
-7
3
16
4
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-6
-12
0
0
0
0
0
0
0
0
0
0
0
0
1
3
7
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
2
-1
0
-1
0
16
0
0
4
0
0
0
0
0
0
0
0
-8
-2
7
-1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
-7
0
0
0
0
0
0
0
0
0
1
0
3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-14
6
-9
7
43
21
11
0
0
0
0
0
0
0
0
0
45
35
14
11
7
-15
-41
8
3
0
0
0
0
0
0
0
0
-9
27
10
5
-25
32
-9
0
0
0
0
0
0
0
0
0
0
37
-1
16
20
-18
7
0
0
0
0
0
0
0
0
0
0
0
0
-25
62
-2
-38
-2
0
-4
0
0
0
0
0
0
0
0
0
0
-1
-3
-56
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-38
21
-10
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
27
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-16
-12
53
13
-51
42
0
0
0
0
0
0
0
0
0
-8
3
3
31
-48
19
6
27
-20
-4
0
0
0
0
0
0
0
-1
71
-84
-5
40
-20
5
5
-3
10
0
0
0
0
0
0
0
0
-82
-48
-14
64
-19
32
-67
3
0
0
0
0
0
0
0
0
7
-25
6
14
46
-92
39
12
12
1
0
0
0
0
0
0
0
0
62
8
-62
-10
28
21
-26
8
0
0
0
0
0
0
0
0
-32
0
18
14
-11
-36
23
0
-1
0
0
0
0
0
0
0
0
-3
-34
65
11
21
18
-1
0
0
0
0
0
0
0
0
0
0
56
29
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
29
1
-6
33
-20
-20
38
0
2
0
0
0
0
0
0
0
0
-10
-24
3
7
-4
-18
-25
8
-6
0
0
0
0
0
0
0
0
-16
-105
-39
6
24
-19
14
50
3
0
0
0
0
0
0
0
0
6
-53
-8
-12
-26
59
57
-33
0
0
0
0
0
0
0
0
0
6
16
-37
-2
10
7
-2
13
9
0
0
0
0
0
0
0
0
9
-18
-67
9
-53
49
-2
2
0
0
0
0
0
0
0
0
-3
-75
0
-24
-50
9
-6
-1
0
0
0
0
0
0
0
0
0
1
-14
31
43
43
-2
1
6
0
0
0
0
0
0
0
0
0
0
-17
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
3
0
2
32
-27
6
0
-1
0
0
0
0
0
0
0
1
15
-12
22
-10
26
-17
-28
-24
1
0
0
0
0
0
0
0
0
9
14
-4
-24
-38
31
-37
1
2
0
0
0
0
0
0
0
0
-18
-15
62
-19
8
-84
32
0
0
0
0
0
0
0
0
0
0
-5
15
-11
6
-23
44
58
0
0
0
0
0
0
0
0
0
0
-13
5
44
59
25
-20
6
22
0
0
0
0
0
0
0
0
0
10
15
0
6
-2
0
-3
-3
0
0
0
0
0
0
0
0
2
-11
4
32
-1
-7
0
-3
-6
0
0
0
0
0
0
0
0
2
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
11
0
12
0
-7
-13
0
-2
1
0
0
0
0
0
0
0
0
-8
-7
0
-9
-4
-18
54
0
4
0
0
0
0
0
0
0
0
3
12
-7
0
12
27
-1
-4
0
0
0
0
0
0
0
0
0
1
25
2
11
-36
24
-4
0
0
0
0
0
0
0
0
0
0
1
-4
-10
-8
-25
15
1
1
0
0
0
0
0
0
0
0
0
15
-2
0
0
27
1
0
0
0
0
0
0
0
0
0
0
0
-29
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
-1
4
4
-10
-3
-48
4
4
0
0
0
0
0
0
0
0
0
0
0
3
0
27
15
-4
6
0
0
0
0
0
0
0
0
0
11
-1
12
-4
6
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
-20
-5
12
37
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
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-3
-10
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
1
-1
-6
1
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
18
7
0
-3
4
-2
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-8
-3
12
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
6
16
12
6
0
0
0
0
0
0
0
0
0
-6
2
0
-1
-10
20
-8
1
-8
0
0
0
0
0
0
0
0
6
10
3
10
13
73
-4
3
0
0
0
0
0
0
0
0
0
28
2
4
23
44
-2
-3
0
10
0
0
0
0
0
0
0
0
-26
-36
-46
1
-10
9
9
0
0
0
0
0
0
0
0
0
0
0
-25
-10
-66
8
0
2
0
0
0
0
0
0
0
0
0
0
0
13
-5
10
0
2
0
0
0
0
0
0
0
0
0
0
0
9
-1
-16
4
0
4
0
0
0
0
0
0
0
0
0
0
0
1
5
22
29
-36
16
54
3
0
0
0
0
0
0
0
0
0
0
2
-16
8
36
45
4
25
2
18
0
0
0
0
0
0
0
-6
-15
24
32
36
-9
-2
-63
1
0
0
0
0
0
0
0
0
-2
69
47
52
-2
-22
30
9
22
0
0
0
0
0
0
0
0
-1
-4
-2
-34
-4
-14
-41
9
0
-1
0
0
0
0
0
0
0
0
-9
-11
-18
-60
77
15
-4
-2
-4
0
0
0
0
0
0
0
3
30
61
-71
78
-1
-55
0
0
0
0
0
0
0
0
0
0
-1
0
3
10
-18
15
-1
12
0
0
0
0
0
0
0
0
0
-1
-19
-10
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
15
0
3
0
-7
8
0
0
0
0
0
0
0
0
0
0
-13
2
27
28
4
2
-22
-2
0
0
0
0
0
0
0
0
0
19
22
28
1
-21
41
4
4
1
0
0
0
0
0
0
0
0
14
58
-54
-96
-10
2
-3
-1
0
0
0
0
0
0
0
0
-2
5
-62
36
41
18
60
-19
0
3
0
0
0
0
0
0
0
0
-35
1
60
-9
15
69
-2
-8
0
0
0
0
0
0
0
0
0
13
3
69
17
42
3
-1
-6
0
0
0
0
0
0
0
0
1
49
0
-14
11
12
0
-2
0
0
0
0
0
0
0
0
0
33
0
20
-16
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
11
-7
5
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-20
8
-10
-3
-6
0
0
0
0
0
0
0
0
34
-1
-2
67
18
-26
-2
3
0
0
0
0
0
0
0
0
0
1
27
1
-7
33
-1
0
10
0
0
0
0
0
0
0
0
0
4
1
-1
27
8
-34
-8
0
0
0
0
0
0
0
0
0
0
-19
-2
50
21
26
15
1
0
0
0
0
0
0
0
0
0
0
-44
-6
0
15
13
4
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
-19
2
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-1
3
4
-13
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
48
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
21
0
7
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-4
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-8
2
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
-1
7
-1
13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
-1
0
27
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-10
8
-6
13
0
0
0
0
0
0
0
0
52
3
-6
6
-2
-1
8
0
0
0
0
0
0
0
0
0
0
37
38
5
13
-4
10
-13
0
0
0
0
0
0
0
0
0
0
-1
-10
116
-30
-4
-7
0
0
0
0
0
0
0
0
0
0
0
8
-12
27
-17
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
16
-6
8
10
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
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
-10
-1
1
0
11
-6
0
-1
0
0
0
0
0
0
0
0
13
-3
5
10
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-28
-19
-2
0
0
0
0
0
0
0
0
0
0
0
4
0
21
-40
14
9
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
3
0
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-6
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
-11
0
1
39
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
56
0
-4
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
2
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
1
-4
-1
10
0
0
0
0
0
0
0
0
0
0
1
11
7
6
-1
4
1
0
-1
0
0
0
0
0
0
0
0
0
3
8
0
-18
1
-4
-6
9
6
0
0
0
0
0
0
0
0
0
-1
18
-6
-1
1
2
6
0
0
0
0
0
0
0
0
0
1
-3
-6
-1
6
-1
-1
-4
-1
0
0
0
0
0
0
0
0
-11
6
15
-1
22
3
0
0
-4
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
1
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-8
33
7
11
0
0
1
0
0
0
0
0
0
0
0
0
2
2
19
6
-4
-12
13
-4
15
3
0
0
0
0
0
0
0
-3
9
-22
4
29
19
9
2
-9
-3
0
0
0
0
0
0
0
0
13
-11
15
-8
-3
-2
-3
-8
0
0
0
0
0
0
0
0
22
0
-20
18
13
8
3
0
0
0
0
0
0
0
0
0
0
3
-6
6
22
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-12
-11
0
0
0
0
4
0
0
0
0
0
0
0
0
-6
0
10
6
-1
0
-6
-8
4
0
0
0
0
0
0
0
0
-2
-2
4
-2
-1
0
24
0
0
0
0
0
0
0
0
0
-1
1
2
0
0
-1
-2
0
0
2
0
0
0
0
0
0
0
-2
-1
-3
-4
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
4
0
0
2
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-13
-4
-1
11
1
-1
1
2
0
0
0
0
0
0
0
0
-1
0
-1
18
2
-4
1
-1
0
0
0
0
0
0
0
0
0
0
4
0
-3
-3
-2
0
-2
-1
0
0
0
0
0
0
0
-11
0
-3
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
-1
0
0
0
-1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
-1
2
-4
0
0
0
1
0
0
0
0
0
0
0
-1
1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
1
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
-13
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
3
0
-2
1
-19
0
0
0
0
0
0
0
0
0
2
-2
12
-1
12
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
-7
-3
0
0
-36
0
0
0
0
0
0
0
0
0
6
6
-2
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
11
11
-3
2
-1
0
0
0
0
0
0
0
0
0
7
-6
-2
6
1
7
-3
0
-2
0
0
0
0
0
0
0
0
1
4
-33
-10
15
0
-7
1
0
27
0
0
0
0
0
0
0
0
10
-10
13
15
8
-7
-1
-25
-10
0
0
0
0
0
0
0
-2
-3
-2
-8
12
-11
-11
0
9
-1
0
0
0
0
0
0
0
0
0
-6
17
0
2
1
2
0
1
0
0
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-35
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
10
2
0
17
-15
-1
0
1
0
0
0
0
0
0
0
0
0
10
19
-1
2
2
17
17
-13
-22
-7
0
0
0
0
0
0
0
0
0
-13
1
13
-7
-7
-7
4
-6
0
0
0
0
0
0
0
3
12
-8
-9
-7
32
-2
-3
10
0
0
0
0
0
0
0
0
-16
13
0
-11
-4
-18
-9
1
15
0
0
0
0
0
0
0
0
3
4
2
29
2
8
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
1
0
0
0
-20
4
-3
0
0
0
-4
0
0
0
0
0
0
0
1
-6
4
18
-1
-1
0
0
0
-7
0
0
0
0
0
0
0
3
30
-6
-2
3
0
17
-2
-6
9
-1
0
0
0
0
0
0
0
8
0
8
4
1
-3
-4
1
9
0
0
0
0
0
0
0
-1
-11
-9
0
3
-11
8
0
-1
2
0
0
0
0
0
0
0
-1
-2
-4
2
9
10
6
0
0
0
0
0
0
0
0
0
0
0
3
-10
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
4
-2
0
-2
0
0
0
0
0
0
0
0
0
0
1
-2
0
-2
9
20
0
1
0
-7
0
0
0
0
0
0
0
-1
-3
2
1
-1
-1
-2
-28
-7
0
0
0
0
0
0
0
0
-2
1
15
-7
-8
20
-4
12
3
0
0
0
0
0
0
0
0
-6
-1
-1
6
-2
2
0
0
-1
2
0
0
0
0
0
0
0
3
-1
3
-3
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
11
-2
10
0
-16
0
6
0
0
0
0
0
0
0
0
0
0
-8
-9
-2
-9
1
17
0
0
0
0
0
0
0
0
0
-2
3
0
6
6
-2
0
6
-3
0
1
0
0
0
0
0
1
1
-1
-1
-3
-2
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
-11
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
1
0
0
0
0
0
0
0
2
-1
-4
2
-2
0
2
0
-3
1
0
0
0
0
0
0
0
1
6
3
-13
2
6
-3
3
-8
1
0
0
0
0
0
0
0
2
10
-3
-10
-3
0
1
10
1
0
0
0
0
0
0
0
3
-8
-1
0
-7
-2
-1
0
1
0
0
0
0
0
0
0
0
-1
2
2
1
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-12
0
0
1
0
-3
-6
0
0
0
0
0
0
0
0
0
-1
-1
-4
1
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-1
0
0
0
0
0
0
0
0
0
2
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
1
-1
-1
2
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
1
0
1
0
-6
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
2
0
-1
0
-1
0
0
0
0
0
0
0
0
1
0
-1
-7
-7
0
-1
0
-3
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
-1
0
-2
4
0
0
0
0
0
0
0
0
0
1
1
4
-9
-2
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
-1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
9
0
2
-17
6
-3
0
0
-1
0
0
0
0
0
0
0
-1
0
2
15
7
-6
12
0
-2
0
0
0
0
0
0
0
0
0
8
3
10
-7
4
-1
-10
0
13
0
0
0
0
0
0
0
-16
0
9
9
-24
-8
9
12
16
-19
0
0
0
0
0
0
0
-8
-22
-9
-7
13
-6
2
0
13
-1
0
0
0
0
0
0
0
0
4
8
0
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-12
6
-12
-2
1
0
1
3
0
0
0
0
0
0
0
0
0
9
2
-3
-19
0
0
0
0
0
0
0
0
0
0
0
6
-8
4
28
10
10
-3
-1
1
-1
0
0
0
0
0
0
0
0
10
-3
13
15
-8
-11
0
18
0
0
0
0
0
0
0
0
-9
0
-9
2
15
-10
2
0
4
0
0
0
0
0
0
0
0
0
-3
-2
2
3
-12
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
-17
2
-1
0
0
1
-7
0
0
0
0
0
0
-3
0
2
9
13
0
-8
0
0
0
2
-2
0
0
0
0
0
0
2
3
0
7
-1
11
-11
-15
16
0
-1
0
0
0
0
0
0
-7
-1
-7
0
-19
-13
9
10
-12
-7
0
0
0
0
0
0
0
0
2
2
0
2
-2
2
0
-4
-1
0
0
0
0
0
0
0
0
-2
0
-2
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
6
1
0
0
1
-2
0
0
0
0
0
0
0
-1
0
0
-7
0
7
0
0
0
-4
0
0
0
0
0
0
0
-2
0
-2
0
3
-3
4
-8
-6
0
2
0
0
0
0
0
0
-1
2
-1
2
6
26
0
1
-4
0
1
0
0
0
0
0
0
0
-6
0
-3
-9
1
-8
-1
0
0
0
0
0
0
0
0
0
0
2
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-2
2
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
-4
-1
8
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
2
-1
-1
13
0
0
0
0
0
0
0
0
1
0
-2
0
-21
9
0
1
0
2
1
0
0
0
0
0
0
0
8
0
6
1
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
0
1
0
-1
-2
0
0
0
0
0
0
0
0
7
0
-10
-7
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
1
0
-2
0
2
-1
4
-4
0
0
0
0
0
0
0
0
-1
-2
2
2
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
7
2
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
-4
0
0
-2
0
0
0
0
0
0
0
0
0
-2
-2
-4
9
0
0
0
2
0
0
0
0
0
0
0
0
3
-6
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
0
1
-4
2
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
7
17
-2
-11
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-6
0
-1
0
1
-2
1
0
0
0
0
0
0
0
0
-3
0
0
-4
0
-2
4
-3
0
0
0
0
0
0
0
0
-2
0
0
-3
1
0
-3
-2
0
0
0
0
0
0
0
0
0
1
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
-2
0
4
0
-2
0
0
0
0
0
0
0
0
0
-1
9
-6
-3
-16
0
0
0
0
0
1
0
0
0
0
0
0
-6
0
1
10
-2
1
0
1
2
0
0
0
0
0
0
0
2
2
-11
6
-33
-10
-6
1
0
2
0
0
0
0
0
0
0
-2
-1
-4
0
-1
11
2
-3
-2
0
0
0
0
0
0
0
0
1
1
2
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
15
7
-4
-6
2
0
-1
0
0
0
0
0
0
0
0
-2
0
-1
-7
-2
1
-7
-6
0
11
0
0
0
0
0
0
0
0
0
0
7
-1
-7
7
-2
-12
-3
0
0
0
0
0
0
0
0
2
-1
0
8
-7
-8
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
8
1
0
0
4
0
0
0
0
0
0
0
3
4
12
8
-4
-15
0
0
0
-1
0
0
0
0
0
0
0
1
4
-2
2
-13
-4
0
-13
-10
-1
0
0
0
0
0
0
0
7
0
0
-7
-6
8
-2
8
9
0
0
0
0
0
0
0
0
0
1
-1
-10
29
3
3
-1
0
0
0
0
0
0
0
0
0
0
-3
0
-2
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
2
4
-2
-3
0
12
0
-9
0
0
0
0
0
0
0
0
0
2
-6
10
6
-10
1
2
0
0
0
0
0
0
0
4
3
2
0
9
1
-3
6
2
1
0
0
0
0
0
0
0
0
1
-1
0
6
11
1
0
8
0
0
0
0
0
0
0
0
0
0
-6
0
-1
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-2
2
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-8
-1
-7
-16
0
-6
0
0
0
0
0
0
0
-1
0
0
-2
0
2
-3
2
1
4
2
0
0
0
0
0
0
0
0
-1
-2
-1
-3
1
-7
6
-2
0
0
0
0
0
0
0
0
1
-4
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
0
1
-6
-3
-2
2
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
2
0
1
-2
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
-6
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
-2
2
-1
-1
0
-2
0
-1
0
0
0
0
0
0
0
0
1
0
3
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
-2
2
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
1
1
0
0
0
0
0
0
0
0
4
-1
0
-1
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
2
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-6
19
12
-2
-4
0
7
0
0
0
0
0
0
0
0
1
-1
-6
4
13
4
0
0
-26
0
-2
0
0
0
0
0
0
0
-3
-2
8
4
-6
0
2
0
1
0
0
0
0
0
0
0
-2
1
0
-1
-12
-16
2
0
-2
0
0
0
0
0
0
0
0
0
-1
0
2
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-9
-2
0
-4
0
-1
0
0
0
0
0
0
0
0
-6
6
-15
-2
-9
15
0
2
0
0
0
0
0
0
0
0
0
0
20
-8
0
-13
4
-1
-2
16
0
0
0
0
0
0
0
0
1
0
-1
2
-6
-12
-8
-1
0
-2
0
0
0
0
0
0
0
0
1
3
7
-16
-8
0
0
-16
0
0
0
0
0
0
0
0
1
0
0
0
-6
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
8
0
0
1
0
0
0
0
0
0
0
0
0
0
2
-6
-11
-11
6
-2
15
3
0
0
0
0
0
0
0
1
2
1
-3
0
2
4
-3
-1
0
0
0
0
0
0
0
0
0
0
0
2
4
9
4
0
4
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
13
0
0
1
0
0
0
0
0
0
0
0
0
-1
-21
-2
10
-2
-4
6
-2
2
1
0
0
0
0
0
0
0
0
0
0
0
19
6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
11
1
-9
-1
0
2
0
0
0
0
0
0
0
0
-1
2
-13
4
-1
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
-3
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
0
4
0
0
0
1
1
0
0
0
0
0
0
0
-2
2
6
3
-1
-9
0
-1
0
-2
0
0
0
0
0
0
0
0
0
-10
-1
1
-7
1
-1
-2
0
0
0
0
0
0
2
0
-1
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
13
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-19
4
7
0
4
-4
0
-1
0
0
0
0
0
0
0
0
0
-12
-19
9
-1
0
-1
3
0
0
0
0
0
0
0
0
0
1
0
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
1
0
0
0
1
-1
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
1
-1
0
0
0
0
0
0
0
0
0
-9
0
7
-1
0
-6
0
0
0
0
0
0
0
0
0
0
-1
0
7
0
-1
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
3
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-7
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
-4
-1
0
-2
0
0
1
0
0
0
0
0
0
0
0
1
0
0
1
-7
-8
0
-6
0
0
0
0
0
0
0
0
1
0
10
0
1
-12
1
0
-2
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
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-9
0
-1
0
0
0
0
0
0
0
0
0
0
1
9
8
3
-10
2
3
0
0
0
0
0
0
0
0
0
0
8
0
-1
2
-15
11
-2
2
-2
-12
0
0
0
0
0
0
0
0
0
-2
1
4
0
1
1
-2
2
0
0
0
0
0
0
0
0
0
-6
-3
-3
7
-3
1
0
-1
0
0
0
0
0
0
0
2
0
0
-38
-6
2
-22
7
-1
0
0
0
0
0
0
0
0
1
0
-3
-1
2
0
10
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
-8
0
3
0
2
-2
0
-2
0
0
0
0
0
0
0
0
-2
-2
21
-4
2
1
0
0
0
0
0
0
0
0
0
0
0
3
-4
1
10
3
7
-2
3
-20
0
0
0
0
0
0
0
0
1
0
-8
-2
-16
12
-3
0
-2
0
0
0
0
0
0
0
0
0
3
-1
-10
-2
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
-9
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
0
0
-1
0
0
0
0
0
0
0
0
2
0
-1
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
-9
-4
0
1
0
0
0
0
0
0
0
0
0
9
-1
-6
3
1
2
1
1
0
0
0
0
0
0
0
0
-2
-2
0
0
-6
-19
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
6
0
1
-1
0
0
1
0
0
0
0
0
0
0
0
0
4
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
1
0
0
0
0
0
0
0
6
0
0
0
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-11
18
0
-1
4
0
0
0
0
0
0
0
0
0
0
-6
-12
2
-1
0
0
1
-1
0
0
0
0
0
0
0
-1
0
10
-4
0
-8
-1
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
-3
6
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
8
3
-2
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
4
-1
0
0
0
0
0
0
0
0
-1
-1
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
3
12
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-12
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
4
3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
1
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
-9
22
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
10
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
3
0
2
0
0
0
0
0
0
0
0
0
0
0
15
6
25
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
1
-16
0
10
-36
-2
0
0
0
0
0
0
0
6
-10
0
-4
20
-18
-1
0
0
0
0
0
0
0
0
0
0
-8
2
0
-19
15
-19
0
0
-1
0
0
0
0
0
0
0
-2
1
-10
1
-28
19
16
-4
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-9
2
-2
-6
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
-1
1
0
-9
1
0
0
0
0
0
0
0
0
0
0
6
1
1
0
0
2
0
0
0
0
0
0
0
0
0
-1
4
-17
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
-1
2
-4
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-3
-1
1
-4
0
0
0
0
0
0
0
0
0
0
0
2
-2
-1
-3
0
-2
0
0
0
0
0
0
0
0
1
-1
0
-9
0
-11
0
0
2
0
0
0
0
0
0
0
0
0
7
1
3
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
9
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
1
0
-3
-2
15
1
1
-3
0
0
0
0
0
0
0
0
-2
0
-4
-2
0
-2
0
0
-8
-1
0
0
0
0
0
0
0
0
-1
3
-2
0
-7
0
7
10
0
0
0
0
0
0
0
0
-2
0
1
2
15
-3
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
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
3
1
0
0
0
0
0
0
0
0
0
0
1
0
1
-6
-3
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-1
-2
0
9
-1
0
0
0
0
0
0
0
0
0
0
-1
-2
12
-10
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
11
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-1
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-3
-1
0
-3
0
0
0
0
0
0
0
0
0
0
-8
-10
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
0
0
0
-3
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
-7
-2
1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
7
0
-15
0
1
4
0
0
0
0
0
0
0
0
10
0
1
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
9
3
11
-1
0
-1
0
0
0
0
0
0
0
0
-2
0
17
-6
4
4
0
0
-9
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-2
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
-12
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
2
1
0
0
0
0
0
0
0
0
0
0
-2
0
-1
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
9
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
15
1
0
0
0
0
0
0
0
0
0
-9
0
1
-8
7
-1
-9
9
0
-1
0
0
0
0
0
0
0
0
0
-15
-10
36
-19
19
4
-6
0
0
0
0
0
0
0
0
0
0
-2
-9
21
0
6
0
0
-2
0
0
0
0
0
0
0
0
-3
9
0
-4
-9
16
-2
0
0
0
0
0
0
0
0
0
0
1
4
-3
-6
-10
0
-10
10
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
-7
2
0
-22
0
0
0
0
0
0
0
0
8
0
0
-30
9
34
10
0
-13
0
0
0
0
0
0
0
0
-22
0
-12
-1
24
12
-19
19
-9
0
0
0
0
0
0
0
0
22
0
12
0
-21
-8
6
-1
1
-1
0
0
0
0
0
0
0
28
0
13
-50
10
-28
-2
-2
0
0
0
0
0
0
0
0
0
-7
-1
-3
0
22
-3
-8
0
1
0
0
0
0
0
0
0
0
0
-1
0
13
-3
11
2
-3
-1
0
0
0
0
0
0
0
0
0
6
0
1
4
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
0
-12
1
0
0
0
0
0
0
0
1
11
0
0
-10
-8
12
-4
7
0
0
0
0
0
0
0
0
-26
6
1
-7
2
6
-6
3
-7
1
0
0
0
0
0
0
1
0
13
0
-7
16
0
0
1
0
8
0
0
0
0
0
0
4
-2
-4
0
25
1
-18
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
1
-1
8
-2
-6
0
1
0
0
0
0
0
0
0
0
-1
1
2
1
0
0
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
0
0
2
-11
-8
0
-4
0
0
0
0
0
0
0
0
4
0
2
-2
-1
2
-21
-3
0
2
2
0
0
0
0
0
-4
3
0
8
-1
-4
-4
-8
-15
1
0
1
0
0
0
0
0
0
1
0
12
3
19
-1
2
-2
4
0
0
0
0
0
0
0
0
-9
8
4
1
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
9
-2
-2
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
-7
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
-1
0
0
0
0
0
0
0
0
-7
0
0
2
-3
0
1
-3
1
0
0
0
0
0
0
0
0
-2
0
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
7
0
1
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
11
2
0
0
0
0
0
0
0
0
6
0
0
3
1
-2
0
1
0
0
0
0
0
0
0
0
0
1
0
1
4
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
10
-3
0
0
0
0
0
0
0
0
0
0
3
2
9
4
-2
-13
13
-2
0
0
0
0
0
0
0
0
-2
0
1
3
0
7
7
0
1
0
0
0
0
0
0
0
0
-2
9
0
-16
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
1
18
-21
0
6
4
0
3
0
0
0
0
0
0
0
-7
0
-30
-7
45
-18
0
2
-24
-1
0
0
0
0
0
0
0
24
3
9
-2
-16
-18
-26
-6
-42
2
0
0
0
0
0
0
0
18
0
0
-21
11
-7
15
16
10
0
0
0
0
0
0
0
0
-2
2
1
1
-13
-11
1
0
0
0
0
0
0
0
0
0
0
-1
0
-3
6
-1
-10
0
8
1
0
0
0
0
0
0
0
0
1
0
8
0
21
-3
10
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
19
0
-3
27
-2
13
15
0
-2
0
0
0
0
0
0
0
0
36
0
9
-7
-12
-12
43
8
16
0
0
0
0
0
0
0
-4
-13
-1
4
-24
10
23
6
10
-10
0
0
0
0
0
0
0
0
-34
0
0
-3
-8
21
-8
8
-15
0
0
0
0
0
0
0
0
12
0
-4
-55
15
30
-2
-10
0
0
0
0
0
0
0
0
2
8
1
8
3
33
23
9
15
3
0
0
0
0
0
0
0
0
3
0
3
10
4
12
0
-7
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
3
-2
0
6
-1
3
11
0
-12
-13
0
0
0
0
0
0
0
0
-3
0
21
10
21
-30
-21
7
8
0
0
0
0
0
0
-2
10
1
4
11
-25
0
2
19
0
-2
0
0
0
0
0
0
-7
12
4
0
-4
-30
8
3
-1
-1
0
0
0
0
0
0
0
-1
-3
-11
-8
-13
-24
3
7
0
-1
1
0
0
0
0
0
0
0
0
-9
0
-10
-3
-3
2
-9
-1
-1
0
0
0
0
0
0
0
0
-1
0
-1
-1
-3
2
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
2
-2
0
-1
6
-24
4
0
-1
-2
0
0
0
0
0
0
11
-6
0
-11
0
24
-17
-1
-3
-8
-9
0
0
0
0
0
0
0
0
-4
3
2
-3
0
-3
25
-7
-4
0
0
0
0
0
0
0
-9
6
28
1
4
-9
24
2
-10
-4
0
0
0
0
0
0
0
-2
-6
-13
6
8
35
19
0
-3
0
0
0
0
0
0
0
0
0
0
-4
-1
-13
-1
-2
4
3
1
0
0
0
0
0
0
0
0
0
0
3
0
10
0
0
8
1
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
-1
0
-2
0
0
1
-6
0
2
1
0
0
0
0
0
0
-2
-1
0
-1
1
-1
22
-15
-21
-2
1
2
0
0
0
0
0
0
0
-6
-1
0
11
12
-4
-3
3
0
0
0
0
0
0
0
-3
0
2
1
10
-3
1
-4
2
8
0
0
0
0
0
0
0
0
-1
-1
2
-1
0
11
4
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
6
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
-3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
5
2
0
0
0
0
0
0
0
-6
0
-1
-1
1
3
16
-7
0
-3
0
0
0
0
0
0
0
-1
3
0
1
7
-15
-1
4
4
-1
0
0
0
0
0
0
0
-2
0
1
0
-8
-2
2
8
0
1
0
0
0
0
0
0
0
1
3
0
0
3
-3
0
1
1
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
-9
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
2
-2
1
0
0
0
0
0
0
-1
0
-4
-1
0
0
-3
-2
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
-4
1
0
1
0
0
0
0
0
0
-2
0
0
0
-1
-2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
1
-9
0
-1
0
0
0
0
0
0
0
0
3
-4
-2
-1
9
0
-8
-3
0
0
0
0
0
0
0
0
0
1
-1
-1
-3
-6
7
9
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
7
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-1
0
-1
0
0
0
0
0
0
0
0
0
1
-9
3
4
-4
3
-2
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
7
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-6
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
4
26
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
-19
0
-9
-22
-8
-2
2
-35
0
0
0
0
0
0
0
0
0
16
0
-2
-45
-11
-6
28
11
3
-4
0
0
0
0
0
0
0
15
3
9
-7
-11
-9
2
13
-8
11
0
0
0
0
0
0
0
1
0
8
-9
-12
20
-27
7
0
0
0
0
0
0
0
0
0
0
0
-2
9
2
8
11
0
-4
0
0
0
0
0
0
0
0
0
0
6
0
9
-8
7
2
2
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
3
3
-1
0
-21
0
9
0
0
0
0
0
0
0
1
-6
1
-27
15
11
-9
7
-3
0
0
0
0
0
0
0
0
1
13
0
-2
-16
-4
25
2
3
-13
0
0
0
0
0
0
0
0
2
0
-21
17
-24
-21
0
0
-3
0
0
0
0
0
0
0
0
11
0
-3
-18
-56
-2
4
0
0
0
0
0
0
0
0
0
0
6
2
0
-1
3
-18
-3
-7
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
10
-1
10
0
0
8
0
0
0
0
0
0
0
2
-4
13
-1
3
-11
-7
12
3
3
3
0
0
0
0
0
0
-1
1
3
2
-2
3
7
-1
-4
-2
2
0
0
0
0
0
0
-8
0
-1
2
0
6
13
-8
0
-7
6
0
0
0
0
0
0
1
-1
8
0
3
12
3
0
2
1
-4
0
0
0
0
0
0
0
0
0
0
-2
-11
-3
-2
-1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
11
4
3
0
0
0
0
0
0
0
0
0
0
4
-2
-8
0
-15
-21
0
0
4
-2
0
0
0
0
0
0
-1
-7
0
-1
0
2
-16
0
-1
0
0
0
0
0
0
0
0
0
0
-3
1
0
15
7
-3
0
-1
1
0
0
0
0
0
0
0
0
0
-3
-4
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
1
-2
-1
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
3
2
0
-6
-4
0
6
1
-1
0
0
0
0
-1
0
-1
0
-6
-1
9
27
15
0
-1
-1
0
0
0
0
0
0
0
-1
0
3
-3
-15
15
0
-6
0
0
0
0
0
0
0
-1
0
0
-2
3
2
4
-1
-3
0
-1
0
0
0
0
0
0
0
0
0
0
-1
1
2
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
3
0
0
0
0
0
0
0
0
-2
0
-1
-3
-2
0
4
3
2
0
0
0
0
0
0
0
0
1
0
0
1
6
0
9
6
-2
-1
1
1
0
0
0
0
0
0
0
0
3
0
-2
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
-7
2
0
1
0
0
0
0
0
0
0
0
0
1
0
1
11
-13
-12
2
0
3
0
0
0
0
0
0
0
-3
2
4
0
-2
0
-2
0
2
0
-1
0
0
0
0
0
0
0
0
0
6
-4
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-20
0
-1
0
0
0
0
0
0
0
-2
7
0
2
-2
13
-19
0
-10
0
0
0
0
0
0
0
0
0
3
0
-2
8
9
18
-8
0
1
0
1
0
0
0
0
0
-1
-1
0
0
-3
8
1
1
1
0
0
0
0
0
0
0
0
0
-1
0
-2
1
-6
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
6
0
-17
-2
0
4
0
0
0
0
0
0
0
0
3
15
-3
-21
-27
15
10
6
-10
10
0
0
0
0
0
0
0
6
-18
3
0
18
32
-33
-12
0
-4
-2
0
0
0
0
0
0
4
3
7
11
-9
-10
-11
-1
-6
0
0
0
0
0
0
0
0
-13
2
1
-1
11
-18
-1
2
0
0
0
0
0
0
0
0
0
-1
-1
-1
1
-7
-2
-1
2
1
0
0
0
0
0
0
0
0
0
0
1
-6
-1
2
7
4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
-1
0
0
0
0
0
0
0
0
1
1
-1
0
0
1
2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
-12
-8
0
0
0
0
0
0
0
0
0
-3
0
4
12
-2
-2
8
0
6
-3
0
0
0
0
0
0
0
-3
0
0
-15
1
16
-8
0
-21
2
0
0
0
0
0
0
0
2
0
-2
1
-9
32
-3
6
1
-1
0
0
0
0
0
0
0
0
0
0
4
-6
1
20
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
21
-3
7
7
0
4
0
0
0
0
0
0
0
0
-7
-1
-8
10
-10
-24
-1
-17
3
0
0
0
0
0
0
0
0
1
0
4
7
-28
-16
-6
-17
2
0
0
0
0
0
0
0
0
0
1
10
0
2
-4
7
-6
0
0
0
0
0
0
0
0
0
-1
2
1
17
0
8
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-7
0
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
-2
6
-10
0
0
1
0
0
0
0
0
0
0
0
-1
-6
4
-2
-7
8
-10
7
-1
4
0
0
0
0
0
0
0
0
13
0
-7
-10
-9
-2
-1
1
2
0
0
0
0
0
0
0
0
8
0
0
0
1
-2
4
0
0
0
0
0
0
0
0
0
-7
0
0
7
1
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
-2
-2
0
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
4
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
11
0
-4
1
0
0
0
0
0
0
0
4
2
-4
0
-12
0
2
7
0
0
0
0
0
0
0
0
0
2
3
8
2
1
-1
16
-19
3
1
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
1
1
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
1
-27
-3
0
0
0
0
0
0
0
0
0
2
1
0
0
-9
0
24
-9
-19
1
0
0
0
0
0
0
0
0
0
0
1
-10
-3
0
1
-3
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
2
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
7
-1
-13
1
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
3
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
-2
0
-22
0
-4
-2
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
0
1
0
2
0
0
0
0
0
0
0
-3
-1
1
-1
-2
0
-15
2
-6
-1
0
0
0
0
0
0
0
0
0
1
-2
9
9
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
7
1
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
-2
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-1
-1
2
9
12
0
-18
0
0
0
0
0
0
0
-11
2
-4
19
6
21
-12
0
21
0
0
0
0
0
0
0
0
-6
2
9
3
4
8
-34
-1
15
0
1
0
0
0
0
0
0
0
1
0
4
-11
7
-13
11
0
28
0
0
0
0
0
0
0
0
0
-10
0
22
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
6
9
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
3
-1
-2
6
0
0
0
0
0
0
0
0
0
0
-1
1
4
-1
1
-13
0
22
10
4
0
0
0
0
0
0
0
-3
0
3
18
6
-27
12
0
-2
-2
0
0
0
0
0
0
0
0
0
-6
-19
13
-1
6
-8
0
0
0
0
0
0
0
0
0
-1
-2
1
5
3
-3
1
0
4
0
0
0
0
0
0
0
0
-1
0
3
0
-3
3
1
-2
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
-2
1
0
0
0
0
0
0
0
0
2
0
0
-1
1
1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
-1
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-1
8
11
1
0
0
0
0
0
0
0
0
0
-11
0
4
-21
15
7
7
6
-3
0
0
0
0
0
0
0
0
-3
0
2
-6
2
-2
-9
1
0
0
0
0
0
0
0
0
0
11
0
0
1
0
6
-9
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-16
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
1
0
3
0
0
0
0
0
0
0
0
2
0
0
-3
1
0
4
10
0
0
0
0
0
0
0
0
0
-12
0
-3
12
-1
9
1
6
7
0
0
0
0
0
0
0
0
0
0
-8
2
12
-6
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-7
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
2
0
0
-1
0
0
0
0
0
0
-1
-1
1
0
-6
15
3
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-2
2
0
8
6
0
1
0
0
0
0
0
0
0
1
-2
0
-1
-1
-1
-6
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
7
0
1
0
0
0
0
0
0
0
1
2
0
0
-2
0
4
-2
-1
0
1
1
0
0
0
0
0
0
0
0
-6
0
-1
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
-7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
1
-3
1
8
-2
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
-1
0
-1
0
0
0
0
0
0
0
0
0
2
2
0
0
1
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
7
3
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
10
2
0
0
-3
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
1
-8
-8
0
0
0
0
0
0
0
0
0
0
0
-2
1
9
2
4
-7
6
0
0
0
0
0
0
0
0
-2
0
0
-7
-13
1
3
-16
-8
0
-1
0
0
0
0
0
0
-7
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-6
2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-1
2
4
-11
0
0
0
0
0
0
0
0
0
0
1
-4
-4
1
-2
16
-19
10
-2
0
0
0
0
0
0
0
0
28
-3
-2
-3
3
0
2
-12
4
0
0
0
0
0
0
0
0
3
-1
-3
17
11
-6
-8
0
0
0
0
0
0
0
0
0
1
-1
0
0
-4
1
2
0
0
0
3
0
0
0
0
0
0
0
0
-3
1
-13
-18
-7
0
-16
0
0
0
0
0
0
0
0
0
0
0
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
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
-1
0
-1
1
0
6
3
0
-1
0
0
0
0
0
0
0
0
-16
-1
-1
2
3
1
-2
-4
-12
-10
0
0
0
0
0
0
0
0
-8
0
-10
-5
-2
0
4
8
0
0
0
0
0
0
0
0
-7
0
10
6
16
4
22
0
0
0
0
0
0
0
0
0
0
1
4
-8
6
0
-26
1
-1
0
0
0
0
0
0
0
0
0
1
-3
-1
-12
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-3
0
1
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
1
6
0
2
0
0
0
0
0
0
0
0
1
0
-2
3
-10
-1
-4
1
12
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
1
0
-2
2
-1
-6
-7
-8
1
0
0
0
0
0
0
0
0
10
0
1
6
2
12
0
3
1
0
0
0
0
0
0
0
0
1
0
0
8
-6
-4
3
-2
0
0
0
0
0
0
0
0
0
4
0
0
-2
-4
2
-2
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-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
1
0
-2
0
0
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
6
6
3
0
-2
0
0
0
0
0
0
0
0
0
0
2
-2
-7
0
1
-1
0
0
0
0
0
0
0
0
0
1
1
0
11
11
-3
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
3
0
0
0
0
0
0
0
0
0
-1
-1
2
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
-10
3
3
0
0
0
0
0
0
0
0
0
-3
1
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
-2
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
9
1
0
0
0
0
0
0
0
0
0
1
0
0
0
22
-2
1
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
2
1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-2
11
0
-1
0
0
0
0
0
0
0
0
4
0
-1
0
11
0
24
17
0
-3
0
0
0
0
0
0
6
-1
1
0
6
-1
-33
-10
0
0
0
0
0
0
0
0
0
0
-12
-1
39
22
8
-4
0
-4
0
0
0
0
0
0
0
0
0
0
-4
0
29
2
9
0
0
0
0
0
0
0
0
0
0
0
-1
1
-15
2
22
0
-3
0
-1
0
0
0
0
0
0
0
0
0
-1
-2
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
1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
1
-1
0
2
1
0
0
0
0
0
0
0
0
4
-1
0
-1
-3
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
6
25
2
-3
-1
0
0
0
0
0
0
0
0
0
0
-4
-9
0
0
4
-1
-1
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
3
0
2
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
2
-6
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
9
11
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
15
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-12
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
-16
8
0
28
1
7
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
1
-7
1
0
0
0
0
0
0
0
0
-1
0
1
-8
-4
0
0
-4
0
0
0
0
0
0
0
0
0
-1
0
0
10
-3
-13
9
0
0
0
0
0
0
0
0
0
0
-6
0
0
1
-2
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
1
0
0
0
0
0
0
0
0
4
0
1
0
-4
1
-8
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
1
-2
0
-4
2
1
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-7
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-1
0
-1
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
11
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
1
0
0
0
0
0
0
0
0
0
3
-3
-1
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
-1
0
0
0
0
0
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
6
0
0
8
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-11
-12
-3
0
0
0
0
0
0
0
0
-6
0
0
3
0
-4
1
-9
1
0
0
0
0
0
0
0
0
1
0
1
2
0
8
-3
2
-3
0
0
0
0
0
0
0
1
4
0
-1
-4
8
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
-2
-1
0
0
0
0
0
0
0
3
6
0
-1
1
0
-1
2
-4
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
-1
-2
2
18
-3
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-7
1
0
3
0
0
0
0
0
0
0
0
0
0
0
6
4
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
1
0
2
0
0
0
0
0
0
0
0
0
0
1
0
-3
-1
1
2
0
0
0
0
0
0
0
0
0
0
1
0
3
2
11
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
6
0
3
0
0
0
0
0
0
0
0
0
-6
0
-6
12
16
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
-3
-4
0
4
-7
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
17
-2
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
-3
3
0
1
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
-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
-3
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-17
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
2
2
-2
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-1
6
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-7
6
-2
0
11
0
0
0
0
0
0
0
0
4
0
0
2
0
3
7
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-1
0
3
1
0
0
0
0
0
0
0
0
0
0
-7
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
-1
-4
-2
0
0
0
0
0
0
0
0
3
-1
2
0
0
1
0
3
0
0
0
0
0
0
0
0
0
-1
-1
8
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
3
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-10
0
0
-2
-1
0
1
0
0
0
0
0
0
0
0
1
0
0
2
-1
3
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
-1
-1
0
2
-6
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-1
-1
0
21
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-4
11
1
0
-1
0
-3
0
0
0
0
0
0
0
-2
0
1
4
-7
-8
1
6
0
1
0
0
0
0
0
0
-2
0
6
-3
0
-1
-16
2
-4
0
0
0
0
0
0
0
0
0
1
-1
2
1
2
-1
1
0
1
-1
0
0
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-1
1
0
-1
0
-2
0
0
0
0
0
0
0
0
7
-1
-6
0
-1
0
4
0
4
0
0
0
0
0
0
0
0
1
0
0
-6
6
16
0
0
0
0
0
0
0
0
0
0
0
3
0
8
-2
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
8
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
2
0
1
-11
2
0
-6
0
0
0
0
0
0
0
0
0
1
-6
-8
-1
-1
0
0
3
0
0
0
0
0
0
0
0
-1
4
-6
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-4
-3
2
-12
0
2
0
0
0
0
0
0
0
0
0
2
0
1
-2
21
3
3
-6
26
0
0
0
0
0
0
0
0
0
2
2
15
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
1
-11
-1
0
0
2
0
0
0
0
0
0
0
0
0
-4
0
-1
-3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
-4
-2
2
0
0
0
0
0
0
0
0
0
0
-3
0
28
-2
13
3
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-1
-4
-7
-2
-16
-9
-10
-1
0
0
0
0
0
0
0
-1
1
1
0
-1
-27
1
0
-16
1
0
0
0
0
0
0
0
0
6
0
10
-15
8
-1
-1
2
0
0
0
0
0
0
0
0
2
0
-1
-1
3
0
1
0
0
3
0
0
0
0
0
0
0
0
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
2
0
0
0
0
1
0
0
0
0
0
0
0
0
15
0
1
-1
2
0
0
0
2
0
0
0
0
0
0
0
0
0
2
-2
1
1
6
4
6
0
0
0
0
0
0
0
0
0
-2
-1
-10
0
-2
-10
-2
0
2
0
0
0
0
0
0
0
0
0
1
-2
0
-2
-2
1
-2
1
0
0
0
0
0
0
0
1
0
-2
0
11
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
6
-1
0
1
-1
1
0
0
0
0
0
0
-1
-1
-21
-1
2
2
0
0
0
-3
-1
0
0
0
0
0
0
0
4
0
6
-6
1
-4
-8
15
0
0
0
0
0
0
0
0
-1
-1
3
-1
17
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
7
3
-1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
-6
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
-9
1
4
0
1
0
0
0
0
0
0
0
0
0
-2
0
-15
-9
0
-1
-3
3
6
3
0
0
0
0
0
0
0
0
0
2
-3
-1
-13
0
1
0
-2
0
0
0
0
0
0
0
0
1
0
4
-4
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
8
0
1
0
0
2
0
0
0
0
0
0
0
0
1
0
15
9
10
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
8
7
2
-2
-12
-11
0
2
0
0
0
0
0
0
2
0
0
-1
-3
3
8
-6
-19
1
0
0
0
0
0
0
0
-2
0
0
4
-12
1
-1
1
0
0
0
0
0
0
0
0
0
1
0
0
8
-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
0
0
0
0
0
0
0
0
0
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
2
-2
1
1
0
0
0
0
0
0
0
0
0
0
2
2
-2
10
-1
21
0
0
0
1
0
0
0
0
0
0
0
-4
4
-16
2
18
1
1
6
-9
8
0
0
0
0
0
0
0
0
0
9
2
-13
-20
-1
1
-4
6
0
0
0
0
0
0
2
0
-4
3
3
11
1
2
-9
7
-2
0
0
0
0
0
0
0
2
-12
-2
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
2
9
0
0
0
7
0
0
0
0
0
0
0
0
0
0
1
2
-12
-22
-17
-10
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
4
-2
-2
24
-3
0
3
0
0
0
0
0
0
0
0
1
-10
-7
8
-7
-12
1
-25
0
-1
0
0
0
0
0
0
0
-7
-2
12
7
13
0
1
18
0
0
0
0
0
0
0
0
1
8
-1
1
13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-1
-6
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-1
9
2
-2
-8
0
-13
0
-6
0
0
0
0
0
0
0
0
2
1
3
4
-3
2
-22
2
2
0
0
0
0
0
0
0
0
-10
2
-8
10
0
0
-12
-1
0
0
0
0
0
0
0
0
0
-2
-2
-4
-7
-15
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
-6
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-12
-1
9
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
3
-3
-6
-1
-3
21
2
0
0
0
0
0
0
0
0
0
0
-8
1
0
-10
-2
6
0
0
0
0
0
0
0
0
0
-2
0
0
-1
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-7
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-2
1
-1
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
0
-3
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
-19
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-13
9
-13
0
15
-11
-2
-11
0
0
0
0
0
0
0
0
1
1
-18
-9
0
-17
-7
-1
-1
0
0
0
0
0
0
0
0
0
-9
-1
-10
-15
10
2
-2
0
0
0
0
0
0
0
0
0
1
3
1
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
8
-6
0
0
2
2
0
0
0
0
0
0
0
0
0
-4
15
0
7
0
-1
0
1
0
0
0
0
0
0
0
-1
0
-11
3
-6
4
2
-9
-12
0
0
0
0
0
0
0
0
0
3
0
7
-6
6
1
-2
3
-2
0
0
0
0
0
0
0
0
0
-6
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
2
1
13
-1
0
0
0
2
0
0
0
0
0
0
0
0
2
-1
8
-2
-13
1
-8
-4
-4
0
0
0
0
0
0
0
3
0
9
-1
0
9
0
-7
0
7
0
0
0
0
0
0
0
0
0
1
-3
2
-3
0
0
0
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
-1
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
1
0
0
0
0
0
0
0
2
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-4
1
-2
1
-1
-1
0
0
0
0
0
0
0
-1
0
0
-2
-1
1
0
-7
6
0
0
0
0
0
0
0
0
0
0
1
3
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
1
3
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
-1
3
6
1
0
-4
0
0
0
0
0
0
0
0
0
0
-17
0
4
-2
1
-2
-6
0
11
0
0
0
0
0
0
0
0
0
-2
12
1
-3
2
1
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
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
-7
0
-3
0
0
0
-2
0
0
0
0
0
0
0
-2
0
-1
1
2
2
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
1
0
-24
0
0
0
4
0
0
0
0
0
0
0
0
2
0
-3
4
0
-1
0
-10
-1
0
0
0
0
0
0
0
0
0
1
10
-2
2
2
2
-1
-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
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
8
1
0
0
0
0
3
0
0
0
0
0
0
1
-1
17
-1
8
8
0
0
-6
0
-2
0
0
0
0
0
0
0
0
3
1
4
-9
0
1
8
0
0
1
0
0
0
0
0
1
0
0
0
0
29
-3
0
-4
2
0
0
0
0
0
0
0
0
2
-8
-2
8
2
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
18
1
-18
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
-2
-2
0
6
-3
0
0
0
0
0
0
0
4
8
15
4
13
17
0
0
0
-2
-1
0
0
0
0
0
0
6
12
-6
-9
7
-1
-21
0
10
-1
0
0
0
0
0
0
0
-15
-4
1
-22
1
-28
-1
-10
2
0
0
0
0
0
0
0
0
1
-4
-4
-2
39
-3
-7
0
0
0
0
0
0
0
0
0
0
0
-8
3
18
-4
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-16
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-4
2
0
0
0
0
7
0
0
0
0
0
0
0
-7
4
-9
-26
0
-7
0
0
0
-4
-1
0
0
0
0
0
0
0
21
-1
6
9
4
2
-1
0
0
0
0
0
0
0
0
0
0
-2
0
7
-9
0
-8
-3
0
0
-1
0
0
0
0
0
0
-1
2
6
-8
4
2
0
-6
0
-3
0
0
0
0
0
0
0
0
0
2
-8
-1
-18
0
0
0
0
0
0
0
0
0
0
0
0
-4
-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
-1
-1
-4
-1
-2
0
1
0
2
0
0
0
0
0
0
0
0
4
-1
-18
3
0
0
0
1
-3
0
0
0
0
0
0
0
0
-6
2
2
8
6
3
0
0
-1
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
1
-4
1
0
-2
0
0
0
0
0
0
0
0
0
0
3
-4
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
-2
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
6
-2
0
11
0
8
-10
0
0
0
0
0
0
0
0
0
4
2
11
3
22
3
0
-7
0
0
0
0
0
0
0
0
0
0
-10
-7
-6
-17
0
0
0
0
0
0
0
0
0
0
0
2
0
0
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
9
3
-1
0
0
0
1
0
0
0
0
0
0
0
0
8
-1
1
12
-3
0
0
0
7
0
0
0
0
0
0
0
0
0
0
28
2
-7
-8
-10
-18
2
0
0
0
0
0
0
0
0
0
-1
0
-2
-24
-1
-2
1
0
0
0
0
0
0
0
0
0
6
1
18
-11
8
0
4
0
0
0
0
0
0
0
0
0
0
2
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-4
2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-2
3
0
0
0
-1
0
0
0
0
0
0
0
0
-1
17
3
0
-3
0
-9
0
0
0
0
0
0
0
0
0
0
2
0
-3
1
8
0
-1
0
0
0
0
0
0
0
0
-3
-4
0
7
0
-1
2
-1
0
0
-3
0
0
0
0
0
0
0
0
2
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
0
2
0
0
0
0
0
0
0
0
0
0
4
1
-6
-4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
1
1
-1
0
2
-1
0
0
0
0
0
0
0
0
0
1
-6
1
10
7
1
0
0
0
0
0
0
0
0
0
0
0
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
2
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
-12
-7
0
-16
0
-2
-2
0
0
0
0
0
0
1
7
-26
0
0
0
2
7
4
-1
0
0
0
0
0
0
0
6
0
3
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-1
-12
3
-3
0
0
0
0
0
0
0
0
0
2
-1
-1
0
-3
-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
1
0
-1
7
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-3
0
0
0
1
0
0
0
0
0
0
0
-1
-1
-6
0
-3
0
1
9
-7
0
1
0
0
0
0
0
0
-2
0
6
1
6
0
12
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
1
0
-1
-2
-4
0
0
0
0
0
0
0
0
0
-2
3
0
6
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
9
-2
19
10
-4
0
0
0
-2
0
0
0
0
0
0
2
-10
-2
11
12
24
-1
0
6
0
2
-1
0
0
0
0
0
3
-7
-10
1
3
-9
0
0
22
8
-1
0
0
0
0
0
0
-1
13
-2
0
8
-4
-6
0
2
0
0
0
0
0
0
0
0
-1
15
1
6
0
6
3
0
0
0
0
0
0
0
0
0
0
0
3
-1
-3
-4
0
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-4
-2
3
-2
4
0
-1
0
0
0
0
0
0
0
0
-7
-16
4
-9
-24
4
0
0
0
1
0
0
0
0
0
0
0
0
-2
-4
-4
-16
-15
1
-1
-15
-3
0
0
0
0
0
0
0
2
-6
-6
0
-19
4
0
0
-8
0
0
0
0
0
0
0
0
0
1
-7
-10
15
15
0
0
1
1
0
0
0
0
0
0
0
-3
6
-6
10
3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-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
6
-1
3
-3
-4
2
2
0
0
0
0
0
0
0
0
0
0
0
30
1
-38
-11
2
0
10
0
13
0
0
0
0
0
0
0
-1
-6
4
6
2
9
-2
-6
0
0
0
0
0
0
0
0
0
0
2
-4
-2
3
-2
-2
1
0
0
0
0
0
0
0
0
0
0
4
0
1
10
-4
6
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
-1
-10
0
10
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
-3
1
-6
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
7
-3
1
-4
-2
-19
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-1
0
-1
0
0
2
0
0
0
0
0
0
0
0
1
1
9
-3
-4
-8
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
9
-7
-15
0
-2
11
0
0
0
0
0
0
0
0
0
0
-7
-1
7
-4
6
-1
-3
0
0
0
0
0
0
0
0
0
4
-1
2
-1
-3
1
1
-2
0
0
0
0
0
0
0
0
0
0
-10
-1
-16
1
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
27
-3
2
0
2
0
0
0
0
0
0
0
0
0
0
-4
-2
0
-9
-7
-1
11
0
3
0
0
0
0
0
0
0
0
2
0
2
-1
-18
-6
1
-1
0
0
0
0
0
0
0
0
1
0
-4
-8
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
22
-7
0
-1
2
4
10
-1
-2
-1
0
0
0
0
0
0
-1
0
-3
0
-4
1
0
-1
-1
0
0
0
0
0
0
0
0
-1
-1
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
10
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
1
0
-1
2
0
-1
0
0
0
0
0
1
0
0
0
8
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-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
-2
0
1
-1
3
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
-9
20
-8
0
0
0
0
-2
0
0
0
0
0
0
0
6
-1
-2
7
-8
8
0
-1
0
-2
0
0
0
0
0
0
0
1
1
2
8
-1
0
1
2
1
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
1
0
1
2
0
0
-4
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
-8
-3
-4
-4
0
-1
0
-1
0
0
0
0
0
0
0
0
0
-2
-1
-9
1
6
3
7
-3
-3
0
0
0
0
0
0
0
-2
-1
4
2
-2
1
0
2
-1
9
1
0
0
0
0
0
0
0
0
-1
0
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
12
9
0
-3
0
0
1
-1
0
0
0
0
0
0
-7
1
-8
21
-7
-4
-8
0
0
0
-1
0
0
0
0
0
0
2
-10
3
10
15
-32
2
11
27
-2
-2
-2
0
0
0
0
0
9
11
10
-37
-3
0
8
0
12
0
-1
0
0
0
0
0
0
2
4
16
22
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-27
1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
9
10
0
15
2
0
0
-4
0
0
0
0
0
0
0
6
4
-12
-45
3
9
0
0
0
2
-1
0
0
0
0
0
0
-4
1
-7
-28
8
-8
-7
0
6
0
-1
0
0
0
0
0
0
9
-2
29
-16
3
37
-8
0
-13
1
0
0
0
0
0
0
-1
-10
-8
-10
10
3
2
-1
0
1
0
0
0
0
0
0
0
0
-3
-2
0
18
3
8
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
10
-6
0
0
0
1
0
0
0
0
0
0
0
3
1
2
-7
-7
-6
0
5
0
4
1
0
0
0
0
0
0
0
3
-9
24
-17
3
3
7
-1
1
0
0
0
0
0
0
0
0
2
12
6
-1
-16
11
0
0
-12
2
0
0
0
0
0
0
0
0
0
0
16
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-7
3
0
-3
0
0
0
0
0
0
0
0
0
0
4
0
0
1
3
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
-1
1
-8
3
-9
0
0
0
0
0
0
0
0
0
0
-1
1
0
7
-2
-9
0
-6
0
0
0
0
0
0
0
0
0
-1
1
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
2
-4
1
4
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
-3
1
-2
-13
-11
0
1
-2
0
0
0
0
0
0
0
0
0
0
4
6
0
10
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-13
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-16
-2
-4
2
20
6
2
0
0
0
0
0
0
0
0
-1
1
0
0
-6
-9
0
-3
-2
0
0
0
0
0
0
0
0
2
0
3
0
-4
4
0
6
0
0
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
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
4
17
0
-1
0
1
0
0
0
0
0
0
-3
0
1
3
-1
1
0
-1
-1
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
1
0
0
0
0
0
0
0
0
0
0
1
0
2
-3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-7
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
0
11
0
0
0
0
0
0
0
0
1
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-2
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-20
-1
-7
3
4
-12
0
0
0
0
0
0
0
-1
1
0
-4
-9
1
1
0
1
0
3
0
0
0
0
0
0
0
-2
1
0
-2
0
0
0
0
0
7
0
0
0
0
0
0
0
3
0
10
-6
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
1
-8
2
-7
-2
0
0
0
1
0
0
0
0
0
0
0
0
-7
-6
18
6
8
-1
0
3
0
1
0
0
0
0
0
0
0
-1
-8
-2
-1
-1
-1
3
1
-6
0
0
0
0
0
0
0
0
0
-2
11
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
-6
2
32
3
0
0
0
4
0
0
0
0
0
0
0
0
4
7
-3
-40
-8
-3
-29
-9
-1
0
0
0
0
0
0
0
12
15
16
3
25
-34
-1
-2
0
1
0
0
0
0
0
0
7
2
-2
-8
-3
7
1
0
9
0
6
0
0
0
0
0
0
-1
-3
1
15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
-1
6
-9
-9
12
30
0
-2
0
-2
0
0
0
0
0
0
1
2
0
11
-1
-44
19
-23
2
-15
-1
2
0
0
0
0
0
0
0
6
-6
3
23
0
0
0
-23
0
0
0
0
0
0
0
0
1
-3
9
2
-1
2
2
-6
12
0
0
0
0
0
0
0
0
-2
-1
11
-1
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
-8
10
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
-1
2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
7
-8
1
0
-1
0
6
0
0
0
0
0
0
0
-1
2
-3
4
-3
2
-25
-30
12
-1
0
0
0
0
0
0
0
0
4
0
-6
-3
-3
3
0
0
9
0
0
0
0
0
0
0
0
-13
-2
-1
-6
3
11
8
0
11
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
0
7
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
0
0
0
0
0
0
0
0
0
2
0
10
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
4
-9
-3
-9
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
3
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-18
9
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
1
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-1
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-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
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
13
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
-2
0
0
0
0
0
0
0
0
0
-1
1
-3
-7
-22
1
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
1
-10
6
1
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-4
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
1
-11
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
4
1
-15
3
-1
0
0
0
0
0
0
0
0
0
-2
0
-1
1
0
-4
-2
0
0
0
0
0
0
0
0
0
4
0
-19
0
4
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
8
-10
0
15
0
1
0
0
0
0
0
0
0
1
0
-1
-21
1
-3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-1
0
0
0
0
0
0
0
0
-6
2
-3
2
0
0
0
0
-2
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
2
0
0
0
0
0
0
0
0
0
0
0
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
-6
8
-22
-1
-6
-3
0
2
0
0
0
0
0
0
0
0
0
-1
-24
-2
-13
21
2
-1
11
-3
0
0
0
0
0
0
0
0
6
1
20
0
15
4
-3
2
1
1
0
0
0
0
0
0
1
-10
8
-2
-25
-16
3
-3
9
0
0
0
0
0
0
0
0
6
0
1
1
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
7
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
9
-2
11
0
0
0
0
0
0
0
0
0
0
0
-13
-4
1
25
11
12
0
-17
0
0
0
0
0
0
0
0
0
4
1
15
-15
15
-3
-12
-1
-29
-1
0
0
0
0
0
0
0
-3
-3
12
-1
4
22
-37
0
0
1
0
0
0
0
0
0
0
-1
3
-1
19
-15
-11
2
0
7
0
0
0
0
0
0
0
0
3
1
-12
-3
19
1
0
0
2
0
0
0
0
0
0
0
0
0
-9
2
4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
15
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
20
-2
9
0
0
0
1
0
0
0
0
0
0
0
1
0
-3
-1
-6
-10
0
-4
0
0
0
0
0
0
0
0
0
0
4
7
-11
-3
10
7
-18
2
15
0
0
0
0
0
0
0
2
1
-2
2
4
12
-1
-6
0
-2
0
0
0
0
0
0
0
0
-29
-4
-3
-2
-3
-1
-1
0
3
0
0
0
0
0
0
0
0
3
-3
-12
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-2
0
1
4
0
0
0
0
0
0
0
0
0
0
3
-1
-3
-1
1
0
-2
0
0
0
0
0
0
0
0
0
0
-1
1
1
2
0
0
1
0
0
0
0
0
0
0
0
9
1
-4
-1
1
6
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
4
0
-4
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
7
0
0
0
0
0
0
0
0
1
0
-2
0
0
-3
0
0
-3
-3
0
0
0
0
0
0
0
0
-2
0
-9
1
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
3
15
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
1
0
0
22
-22
0
0
-8
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
7
0
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-18
6
-12
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-4
-17
-8
9
1
13
0
0
0
0
0
0
0
0
-4
1
-10
-3
-2
29
-18
0
-38
0
0
0
0
0
0
0
0
-1
4
-2
-6
0
16
-9
0
-13
0
0
0
0
0
0
0
0
4
11
-13
-2
-19
-20
0
0
4
0
0
0
0
0
0
0
0
-12
3
-25
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
16
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-2
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-6
-9
0
-3
4
-6
0
0
0
0
0
0
0
0
-2
2
0
-4
-1
1
-10
0
-4
0
0
0
0
0
0
0
0
-1
1
8
-1
0
6
-2
0
1
0
0
0
0
0
0
0
0
-8
1
19
0
-1
-1
0
0
-2
0
0
0
0
0
0
0
0
4
-12
4
9
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
-1
-3
0
3
0
0
0
0
0
0
0
0
0
-1
0
-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
3
0
3
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
1
-1
0
0
0
0
0
0
0
0
1
0
-4
2
7
-1
-6
0
2
0
0
0
0
0
0
0
0
0
0
2
0
-9
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
7
6
-1
0
0
0
0
0
0
0
0
0
1
1
-1
-1
0
-1
4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
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
1
0
0
-3
0
0
-1
0
-1
0
0
0
0
0
0
0
-1
0
0
1
-1
0
2
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
-1
1
0
-3
0
-6
2
0
0
0
0
0
0
0
8
0
0
0
0
-1
-1
0
0
0
1
0
0
0
0
0
0
0
-1
-1
0
-3
1
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
-7
9
0
0
0
0
0
0
0
0
0
0
1
4
8
4
-8
16
3
-7
2
0
0
0
0
0
0
0
0
-1
1
0
0
-6
-3
-1
2
0
-1
0
0
0
0
0
0
0
0
0
1
-3
0
3
-3
3
-1
0
0
0
0
0
0
0
0
0
-2
-2
8
11
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
-7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
25
6
-2
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
1
13
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
1
0
4
4
0
3
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-2
-1
10
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
-4
6
6
4
0
0
0
0
0
0
0
0
1
0
1
0
-8
-2
-4
6
4
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
7
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
0
6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
4
0
-4
-3
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-1
-29
0
0
15
1
2
0
0
0
0
0
0
0
-4
9
0
0
1
4
16
0
2
0
0
0
0
0
0
0
0
3
0
-1
7
16
8
1
-7
-1
0
0
0
0
0
0
0
0
4
-1
0
8
-5
10
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
2
-1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
-3
3
-8
-1
0
0
0
0
0
0
0
0
0
2
1
0
-1
-1
-8
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
9
-1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
1
1
0
1
2
-2
1
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
-1
6
-3
-3
6
0
1
0
0
0
0
0
0
0
0
0
0
6
2
6
8
-1
-3
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
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
2
3
3
0
-3
0
0
0
0
0
0
0
0
0
0
-1
3
6
-6
2
4
3
-7
0
0
0
0
0
0
0
0
2
1
0
1
-2
-15
0
0
12
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
1
3
0
-1
0
0
0
0
0
0
0
0
0
1
0
-2
4
-2
-1
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
-7
-4
0
1
-3
0
32
0
0
0
0
0
0
0
0
0
-3
7
7
-11
-4
7
25
-1
0
3
0
0
0
0
0
0
0
0
0
8
9
10
8
6
-7
-6
-2
0
0
0
0
0
0
0
-4
-2
-1
0
19
-10
-10
-3
-3
0
-1
0
0
0
0
0
0
0
2
1
-21
-6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-1
-1
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
2
-6
-6
-10
6
0
7
0
0
0
0
0
0
0
-1
5
0
7
11
-15
4
7
1
0
0
0
0
0
0
0
0
6
0
-1
4
1
46
8
-2
0
0
0
0
0
0
0
0
0
1
16
4
4
-16
-2
7
-3
0
0
0
0
0
0
0
0
0
0
-3
-3
-1
-17
2
-4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-1
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
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
-16
-16
0
0
0
0
0
0
0
0
0
0
3
-1
-1
41
-2
16
-10
0
0
0
0
0
0
0
0
0
0
-1
4
-9
0
0
12
3
1
1
0
0
0
0
0
0
0
0
0
2
2
3
3
-10
2
0
19
0
0
0
0
0
0
0
0
3
0
2
0
-16
4
-1
-4
0
0
0
0
0
0
0
0
0
0
0
-1
9
19
0
1
-2
0
-3
0
0
0
0
0
0
0
0
0
-1
0
0
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
1
2
0
-3
1
0
0
1
0
0
0
0
0
0
0
3
0
0
16
2
4
4
-1
0
0
0
0
0
0
0
0
0
0
1
-1
-7
1
-3
0
-1
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
1
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-10
2
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-1
-6
7
-9
0
-6
0
0
0
0
0
0
0
0
0
0
0
-1
-3
4
-7
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
-1
-22
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
3
0
-2
8
0
0
0
0
0
0
0
-1
0
3
0
12
-2
10
11
-3
0
0
0
0
0
0
0
0
-2
-1
0
-4
6
-7
4
16
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-4
1
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
2
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
2
0
0
0
0
0
0
0
0
0
7
1
0
1
4
-2
-4
-6
0
1
0
0
0
0
0
0
0
0
0
0
3
-3
7
-6
0
1
1
0
0
0
0
0
0
0
0
0
2
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-2
7
-3
0
0
0
0
0
0
0
0
0
0
0
7
0
1
1
3
1
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
2
-2
0
3
0
0
0
0
0
0
0
0
1
1
0
1
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
3
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-13
0
4
-1
0
0
0
0
0
0
0
-2
0
8
0
-13
-1
-2
-1
0
1
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
0
-3
0
-1
-2
0
0
0
0
0
0
0
0
0
0
-2
0
8
0
2
7
0
7
0
0
0
0
0
0
0
0
0
-4
2
0
13
2
0
4
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
3
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
4
2
19
0
2
0
0
0
0
0
0
0
4
1
0
0
-2
8
-12
-6
0
0
0
0
0
0
0
0
0
6
0
0
-10
2
7
-1
2
3
-1
-6
0
0
0
0
0
0
0
0
-2
0
21
-9
4
-1
1
0
0
0
0
0
0
0
0
-2
0
-1
2
0
15
-2
6
0
0
-1
0
0
0
0
0
0
0
0
0
-1
7
3
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
6
3
1
0
-18
-6
0
-1
0
0
0
0
0
0
0
0
2
3
0
-1
8
-1
-9
4
-3
0
0
0
0
0
0
0
0
2
-2
1
1
0
10
4
0
-2
0
0
0
0
0
0
0
0
1
0
1
-2
0
1
1
0
1
0
0
0
0
0
0
0
0
3
0
1
-10
1
1
4
-2
-2
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
-2
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
-1
1
-3
0
0
-4
0
0
0
0
0
0
0
0
7
1
0
-1
4
4
-22
-29
-1
-2
0
0
0
0
0
0
0
10
0
8
17
13
4
-10
7
0
0
0
0
0
0
0
0
0
-2
3
2
0
3
-10
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
3
-2
6
0
1
0
0
0
0
0
0
0
0
0
8
0
-1
0
6
10
6
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
-3
-4
0
-1
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
1
-2
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
2
-1
1
2
-8
0
0
0
0
0
0
0
0
0
0
6
0
0
1
-1
-18
15
18
3
0
0
0
0
0
0
0
1
-2
0
-2
-2
-2
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-3
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
7
-2
7
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
-3
-1
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
1
12
-2
3
7
-1
0
0
0
0
0
0
0
0
0
-1
8
-1
0
2
3
-1
0
0
0
0
0
0
0
0
0
0
-1
7
6
3
0
1
-1
0
0
0
0
0
0
0
0
0
-1
-4
-3
0
9
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
3
9
0
3
-1
0
-6
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
12
0
0
0
0
3
-6
-2
0
0
0
0
0
0
0
0
0
1
-3
-1
0
-1
11
-1
0
1
0
0
0
0
0
0
0
0
0
-3
0
-3
-3
1
11
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
1
-2
1
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
4
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
-8
6
-6
-2
0
0
0
0
0
0
0
0
0
-1
0
1
-10
15
4
-3
-1
0
0
0
0
0
0
0
0
0
-6
0
0
0
2
15
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
2
1
0
-10
0
0
4
0
1
0
0
0
0
0
0
0
0
3
0
0
-3
12
0
9
2
-1
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-10
-1
2
-1
0
1
0
0
0
0
0
0
0
-3
4
-2
-13
9
2
15
2
2
0
0
0
0
0
0
0
0
2
-1
0
-15
-15
-3
-7
-1
-11
0
-1
0
0
0
0
0
0
-3
0
3
4
2
11
1
0
-3
0
0
0
0
0
0
0
0
0
1
-1
0
0
8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
0
0
0
2
-1
1
0
0
0
0
0
0
0
0
0
4
4
-2
7
0
10
-13
-10
13
0
0
0
0
0
0
0
0
-7
0
-1
-7
-1
-4
-7
0
-8
-6
0
0
0
0
0
0
0
-1
0
1
3
-2
1
-13
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
-8
-2
0
8
0
4
0
0
0
0
0
0
0
-1
0
-3
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
-8
0
1
-1
0
0
0
0
0
0
0
-9
-1
1
-3
-8
-7
12
-3
-2
0
0
0
0
0
0
0
0
2
0
0
1
-3
-8
-8
12
-10
0
0
0
0
0
0
0
0
0
3
0
-3
2
3
1
0
0
1
0
0
0
0
0
0
0
4
-4
3
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
7
2
0
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
-1
0
0
-1
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
-1
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
1
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-4
-3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-9
-1
-1
-7
0
0
0
0
0
0
0
0
-3
0
0
-4
21
0
-1
0
-2
0
0
0
0
0
0
0
6
0
0
-1
-11
3
1
0
-1
-2
0
0
0
0
0
0
0
0
0
4
-1
1
19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
0
-1
0
0
0
0
0
0
0
0
0
-1
0
-1
2
27
0
-4
-1
0
0
0
0
0
0
0
0
0
1
0
-2
-2
0
-7
3
4
-2
0
0
0
0
0
0
0
0
0
0
-7
-1
-1
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
3
2
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
4
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
0
-3
1
3
-1
-2
0
0
0
0
0
0
0
0
1
0
-1
0
-2
0
2
-2
0
0
0
0
0
0
0
0
0
0
1
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
2
1
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
1
12
1
0
-2
0
0
-1
0
0
0
0
0
0
-1
0
0
7
-1
0
6
2
-2
0
0
0
0
0
0
0
0
0
0
-2
0
8
8
1
-1
0
-1
0
0
0
0
0
0
0
6
0
-2
0
-2
0
-3
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-7
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
4
1
0
-6
0
0
0
0
0
0
0
0
0
0
-3
1
0
-2
-2
7
-1
4
0
0
0
0
0
0
0
0
0
1
0
1
-15
-6
-9
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
6
8
-1
1
0
0
0
0
0
0
0
0
3
0
0
-3
0
-2
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
-10
6
1
-21
0
0
0
0
0
0
0
0
0
15
-2
-3
-4
-32
-6
12
1
-13
0
0
0
0
0
0
0
0
-6
1
6
-27
-1
-1
18
36
2
1
0
0
0
0
0
0
0
0
-1
-2
12
1
-3
7
0
-3
2
0
0
0
0
0
0
0
0
0
-1
-7
-6
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
-10
2
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
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-8
-6
-16
0
0
2
0
0
0
0
0
0
0
-1
-11
-1
-1
-7
-2
0
2
-11
3
0
0
0
0
0
0
0
1
-11
-1
-9
8
18
-9
-18
6
0
0
0
0
0
0
0
0
0
0
1
0
7
-16
0
-10
1
-1
0
0
0
0
0
0
0
2
1
0
-6
-4
3
3
0
0
-1
0
0
0
0
0
0
0
0
1
1
0
-7
-2
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
6
6
0
-8
0
0
0
0
0
0
0
0
0
0
10
-3
1
2
-30
4
-16
-3
0
1
0
0
0
0
0
0
0
12
-11
-6
2
2
-17
7
-12
0
1
0
0
0
0
0
0
0
-1
-2
0
-1
1
8
-7
3
1
0
0
0
0
0
0
0
0
0
3
0
-21
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
6
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
3
-2
0
0
0
0
0
0
0
0
3
0
0
0
1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
1
0
-4
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
8
0
0
1
0
1
2
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
4
0
0
-1
4
1
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
1
3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
3
2
0
0
0
0
0
0
0
0
0
-1
4
6
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
-1
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
-3
-1
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
15
7
7
6
0
1
0
0
0
0
0
0
0
1
0
0
2
0
1
0
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-7
1
3
0
0
0
0
0
0
0
0
0
0
6
0
1
0
0
0
-3
-8
0
0
0
0
0
0
0
0
-1
0
2
1
2
1
-2
-1
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
-7
2
0
-1
0
0
0
0
0
0
0
0
1
3
-1
-6
3
-9
-12
-4
1
0
0
0
0
0
0
0
0
1
0
0
-2
0
3
-2
6
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-7
9
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-1
0
7
0
0
0
0
0
0
0
0
2
1
1
-1
0
0
0
3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
2
1
8
-6
-15
0
0
0
0
0
0
0
0
0
-2
2
-17
-1
3
55
8
-3
-25
1
0
0
0
0
0
0
0
-19
0
-3
0
-1
-2
4
15
9
0
0
0
0
0
0
0
0
4
-1
3
-16
18
-12
13
0
6
0
0
0
0
0
0
0
0
1
0
0
-7
-6
3
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-9
-1
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
6
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
9
4
0
6
1
0
0
0
0
0
0
0
-6
-1
11
3
1
-2
10
-16
0
0
0
0
0
0
0
0
-1
-17
0
6
-6
4
13
-12
9
4
0
0
0
0
0
0
0
0
-1
0
-6
0
9
-21
-9
-1
-6
0
0
0
0
0
0
0
0
0
0
-3
6
12
-4
6
1
3
0
0
0
0
0
0
0
0
0
0
-7
16
2
18
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
2
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
19
0
0
0
0
0
0
0
0
0
0
2
4
0
8
4
7
-1
6
-11
0
0
0
0
0
0
0
0
-8
12
0
15
0
-8
11
-8
9
0
0
0
0
0
0
0
0
-1
1
2
11
2
2
-10
4
4
0
0
0
0
0
0
0
0
-8
-1
2
0
6
1
4
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
-1
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
8
0
4
-15
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-3
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
1
3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
2
0
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
-1
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
1
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
-1
-7
1
-3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
2
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
1
-1
0
1
0
0
0
0
0
0
0
0
0
2
0
6
0
6
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
10
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-4
-4
7
0
1
0
0
0
0
0
0
0
0
0
4
1
18
-12
11
-1
-4
3
-2
0
0
0
0
0
0
12
0
-3
-10
12
25
18
2
-8
0
0
0
0
0
0
0
0
0
1
-1
4
-12
-24
4
7
0
0
0
0
0
0
0
0
0
3
1
-1
0
4
12
-28
1
3
0
0
0
0
0
0
0
0
-1
2
1
3
8
4
13
-3
1
0
0
0
0
0
0
0
0
0
1
0
12
1
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
0
9
0
3
-6
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
-9
-9
10
-9
11
0
0
0
0
0
0
0
0
-20
2
0
7
-22
6
2
3
0
0
0
0
0
0
0
0
0
4
0
3
26
4
-1
-7
3
8
0
0
0
0
0
0
0
0
-27
4
9
3
-6
-26
-6
-1
-2
0
0
0
0
0
0
0
0
7
0
0
-2
-1
7
-47
0
-3
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
-2
-1
0
0
0
0
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
-6
-4
0
0
0
0
0
0
0
0
0
0
-9
3
0
-2
1
-3
8
4
2
1
0
0
0
0
0
0
0
0
1
-1
-7
0
3
0
6
-9
0
0
0
0
0
0
0
0
2
-1
2
-19
12
-3
-8
-1
1
-2
0
0
0
0
0
0
0
7
0
0
0
8
11
-1
6
0
0
0
0
0
0
0
0
0
-1
0
-2
-2
11
-6
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
-7
-3
0
2
0
0
0
0
0
0
0
0
0
0
1
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
2
-2
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
1
1
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
-1
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
6
0
1
-2
0
0
0
0
0
0
0
0
-6
1
0
11
-6
10
4
2
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
1
4
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
3
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
0
0
0
-3
1
6
-2
0
0
0
0
0
0
0
0
0
0
-2
0
1
12
-1
-1
2
-3
13
0
0
0
0
0
0
0
0
-27
1
13
7
4
2
0
0
-4
0
0
0
0
0
0
0
0
-1
-1
1
2
-3
-1
0
0
0
0
0
0
0
0
0
0
2
0
1
0
3
-19
0
-12
0
-1
0
0
0
0
0
0
0
0
19
-2
-1
-11
-12
-21
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
11
-3
-4
-2
7
-1
0
0
0
0
0
0
0
0
0
-1
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
1
0
0
0
0
0
0
0
0
0
0
0
3
0
2
1
0
1
0
-2
-3
0
0
0
0
0
0
0
1
0
0
7
0
1
0
-1
9
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-2
-4
0
-1
0
0
0
0
0
0
0
0
0
-1
0
1
13
7
2
1
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-2
0
-1
-2
-1
6
0
0
0
0
0
0
0
0
1
0
4
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-3
8
0
0
0
-13
0
0
0
0
0
0
0
0
0
1
-2
1
1
2
-7
0
0
0
0
0
0
0
0
0
0
0
1
4
-13
10
1
-3
0
2
0
0
0
0
0
0
0
0
2
6
0
4
-6
9
-1
-1
0
-2
0
0
0
0
0
0
0
0
-1
0
-1
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
2
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
6
0
0
-2
0
0
0
0
0
0
0
0
0
0
18
-4
0
0
0
-1
7
-3
0
0
0
0
0
0
0
0
-9
-1
0
2
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
-1
-3
1
1
0
-1
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-2
6
-2
-18
0
3
-55
1
0
0
0
0
0
0
0
-1
24
3
-12
-6
0
0
0
8
2
0
0
0
0
0
0
0
-10
4
39
29
-19
-1
-47
19
-26
-7
0
0
0
0
0
0
0
2
24
3
-5
-40
-34
4
0
8
0
0
0
0
0
0
0
0
-11
-18
-10
-1
-6
7
-2
-4
-1
0
0
0
0
0
0
0
0
-1
-27
-6
-1
-22
5
2
-2
0
0
0
0
0
0
0
0
0
0
0
7
2
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
-10
-1
0
0
0
0
0
0
0
0
3
0
-1
8
0
1
0
1
0
0
0
0
0
0
0
0
0
0
-3
15
5
4
2
-3
-1
7
-1
0
0
0
0
0
0
0
0
13
0
-7
-2
-8
0
-7
3
1
3
0
0
0
0
0
0
-1
0
13
0
2
0
4
-4
3
0
0
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-8
-3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
6
0
0
8
0
0
0
0
0
0
0
0
0
-3
-2
1
10
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
-11
-7
-18
0
-10
0
2
0
0
0
0
0
0
0
-1
17
9
-16
3
-2
-1
-12
-40
0
0
0
0
0
0
0
-4
-7
7
22
9
-49
-1
0
1
-8
-1
0
0
0
0
0
0
3
32
-6
1
0
9
-9
1
0
0
0
0
0
0
0
0
0
-3
2
-6
-1
1
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
0
-4
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
16
-3
-1
0
0
0
0
0
0
0
0
0
0
4
8
0
20
-16
8
3
0
-1
0
2
0
0
0
0
0
0
-1
-3
-24
-15
10
-11
17
-15
4
19
-2
0
0
0
0
0
0
0
0
3
10
-15
-6
-19
1
-21
-2
0
0
0
0
0
0
0
0
1
15
4
3
-9
9
-6
0
0
0
0
0
0
0
0
0
0
3
-24
26
-3
3
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
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
8
0
-8
22
15
6
-6
0
7
-3
1
0
0
0
0
0
0
-13
-19
-48
-24
19
-24
0
-2
0
6
2
0
0
0
0
0
0
9
-6
-3
-13
13
-27
-7
16
3
3
-8
0
0
0
0
0
0
5
-28
7
7
-2
-10
4
22
-11
2
0
0
0
0
0
0
0
-1
-12
-8
23
-3
-12
-37
1
1
0
0
0
0
0
0
0
0
0
7
11
-19
-35
8
0
0
0
0
0
0
0
0
0
0
0
0
21
0
13
8
-12
0
0
0
-2
0
0
0
0
0
0
0
0
-8
0
0
-7
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
8
-4
2
0
0
0
1
1
0
0
0
0
0
0
0
-7
-6
27
-3
-1
0
-1
0
2
4
0
0
0
0
0
0
0
2
1
-2
9
12
8
3
-9
1
-1
0
0
0
0
0
0
0
0
-9
1
8
8
8
0
3
-11
0
0
0
0
0
0
0
0
-3
1
-6
7
6
-2
0
4
0
0
0
0
0
0
0
0
0
0
6
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
2
0
2
0
0
0
0
0
0
0
0
0
2
-4
0
-1
1
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
-1
1
-4
1
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
1
-2
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-10
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
1
0
0
0
0
-1
0
0
0
0
0
0
0
2
2
2
3
-2
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
-9
16
-2
-1
2
-25
0
0
0
0
0
0
0
0
-8
3
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
4
-1
1
-1
1
0
0
1
0
0
0
0
0
0
0
-3
11
6
-8
1
-11
0
1
0
0
0
0
0
0
0
0
3
-2
-2
-2
7
-13
0
2
3
-2
-2
0
0
0
0
0
0
0
-7
-2
-7
-12
-18
0
0
-1
-6
0
0
0
0
0
0
0
0
9
10
-6
-27
13
1
-1
0
0
0
0
0
0
0
0
0
0
-1
7
2
-9
-27
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
-6
-4
4
0
0
-3
0
0
0
0
0
0
0
0
0
-8
0
16
-3
-32
0
-9
0
1
0
-1
0
0
0
0
0
0
11
0
-4
-2
17
8
-21
6
16
24
6
0
0
0
0
0
0
0
-10
6
13
25
-17
7
-21
0
8
-9
0
0
0
0
0
0
0
3
4
11
-4
-8
-15
-10
-1
0
0
0
0
0
0
0
0
0
0
18
-47
20
10
-2
0
0
-1
0
0
0
0
0
0
0
0
0
-15
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
11
-10
-10
4
0
15
0
0
0
0
0
0
0
0
-16
7
20
58
12
0
0
0
0
7
0
0
0
0
0
0
0
-3
-2
32
-17
0
0
3
-10
6
-2
-1
0
0
0
0
0
0
-8
-20
1
0
-15
-20
6
-6
-2
0
0
0
0
0
0
0
0
0
3
-12
-21
-10
28
1
10
-7
-1
1
0
0
0
0
0
0
0
0
5
4
-13
15
2
-2
-1
0
0
0
0
0
0
0
0
-1
-1
2
0
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
9
0
0
0
0
0
0
0
0
1
2
2
-7
-1
0
-1
0
2
0
0
0
0
0
0
0
0
-4
0
-1
-12
13
-3
0
1
-44
2
0
0
0
0
0
0
0
0
1
-2
8
-7
-3
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
-3
0
-6
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-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
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
1
2
0
0
2
0
0
0
0
0
0
0
0
0
0
-4
0
3
-3
-2
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
1
6
-29
2
1
0
-2
0
0
0
0
0
0
-6
0
-1
0
-6
-8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
7
3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
2
-16
-3
0
2
0
0
0
0
0
0
0
0
0
1
1
3
10
0
-11
-17
0
0
0
0
0
0
0
0
0
0
0
0
1
3
19
0
0
4
-16
-7
0
0
0
0
0
0
0
0
6
6
-2
9
27
-10
0
-4
0
0
0
0
0
0
0
0
0
1
0
-1
10
11
-27
0
0
0
1
0
0
0
0
0
0
-2
-1
4
-10
-4
10
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
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
-57
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
25
2
0
0
0
0
3
0
0
0
0
0
0
-2
0
2
-24
-16
-10
6
-12
-7
16
1
0
0
0
0
0
0
-1
3
1
-3
12
28
-34
-16
-2
-2
1
0
0
0
0
0
0
0
0
3
22
-10
-6
28
10
0
10
0
0
0
0
0
0
0
2
-1
-1
-11
13
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-7
20
4
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
-2
37
-12
18
0
-1
0
0
2
0
0
0
0
0
0
2
1
-6
2
32
-6
-16
12
-9
0
0
0
0
0
0
0
0
1
-21
23
-18
-19
-16
-9
0
-1
0
-1
0
0
0
0
0
0
-2
-13
6
2
27
-5
12
-1
0
2
0
0
0
0
0
0
0
0
-8
9
0
-8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-6
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
1
-11
-2
1
0
0
0
-3
0
0
0
0
0
0
0
0
-1
-1
0
-6
-8
0
-4
8
2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
-9
4
12
0
0
2
0
0
0
0
0
0
0
0
0
0
1
1
8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
4
0
4
-2
0
0
0
-2
0
0
0
0
0
0
0
0
4
-19
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
4
10
-3
-28
-7
0
-20
0
0
0
0
0
0
0
0
4
4
-3
-19
3
-5
0
2
-6
0
0
0
0
0
0
0
-1
-1
1
4
-3
15
-7
0
-12
-1
0
0
0
0
0
0
0
0
2
0
0
-4
12
0
0
-2
0
0
0
0
0
0
0
0
0
0
11
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
-6
-4
0
1
0
0
0
0
0
0
0
0
0
2
1
-3
-36
-6
1
1
0
-6
0
0
0
0
0
0
0
0
0
3
6
-6
12
-1
-2
-8
0
7
0
0
0
0
0
0
0
0
1
18
7
-12
6
-15
1
0
-7
0
0
0
0
0
0
0
0
-1
-1
4
-33
-7
-16
0
0
2
0
0
0
0
0
0
0
0
7
3
-7
21
-25
-9
3
0
6
0
0
0
0
0
0
0
0
6
19
3
-33
4
-3
1
1
0
0
0
0
0
0
0
0
0
0
1
-15
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
6
-7
7
1
-4
0
0
-1
2
0
0
0
0
0
0
0
4
-4
15
-10
-1
8
0
0
0
0
0
0
0
0
0
0
0
6
10
7
-2
-15
3
1
-5
4
0
0
0
0
0
0
0
0
2
-1
2
10
19
2
7
-1
0
0
0
0
0
0
0
0
0
0
-7
-21
0
-7
4
-11
-3
0
0
0
0
0
0
0
0
0
-2
10
4
10
-25
-8
-1
0
0
-1
0
0
0
0
0
0
0
0
-9
1
-33
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
29
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
9
0
0
0
0
0
0
0
0
0
0
1
2
-1
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-2
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
1
-1
-4
0
0
-1
0
0
0
0
0
0
0
0
-1
0
1
2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
9
3
-3
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
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
1
11
19
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
2
-11
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-13
2
-9
0
0
10
-17
0
0
0
0
0
0
0
1
0
0
9
-27
2
0
6
1
-7
3
0
0
0
0
0
0
0
0
0
-2
3
33
-9
6
0
-3
0
0
0
0
0
0
0
0
12
0
12
-24
6
13
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-3
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-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
-1
11
-3
9
-2
0
0
0
3
0
0
0
0
0
0
0
0
7
-4
4
8
13
6
0
1
0
0
0
0
0
0
0
0
0
0
6
0
13
4
4
0
1
-43
3
0
0
0
0
0
0
0
1
-1
-9
-15
0
4
-8
0
2
-1
0
0
0
0
0
0
0
0
0
2
-25
28
-23
-27
1
4
1
0
0
0
0
0
0
0
3
-6
-1
-3
-8
15
-8
0
0
0
0
0
0
0
0
0
0
0
3
-1
22
1
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
1
-2
3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-2
0
1
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-28
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-40
1
-3
-2
0
1
-6
-9
0
0
0
0
0
0
0
0
3
0
1
0
-12
-29
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
6
-20
7
6
0
0
0
0
0
0
0
0
0
0
0
-9
9
0
11
7
0
0
0
0
0
0
0
0
0
0
0
0
16
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
-3
6
0
12
0
0
0
0
0
0
0
0
0
0
0
-1
6
6
3
-8
19
2
0
12
0
0
0
0
0
0
0
0
2
0
-3
-2
-3
-21
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
-2
1
3
0
-9
-4
1
0
0
0
0
0
0
0
-6
6
-2
-1
21
2
2
0
0
-1
0
0
0
0
0
0
0
-2
3
-2
-10
-2
11
2
0
0
0
0
0
0
0
0
0
0
0
0
3
10
-3
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
11
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
-8
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
1
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
11
2
0
14
0
0
0
0
0
0
0
0
0
0
14
-1
3
-5
-18
-6
0
8
0
0
0
0
0
0
0
0
1
-3
-5
-15
-3
13
0
-4
9
-1
0
0
0
0
0
0
0
1
0
0
-19
-9
2
4
0
0
0
0
0
0
0
0
0
0
1
-1
0
-11
-9
-9
18
-1
-1
0
0
0
0
0
0
0
0
-4
-1
0
0
-8
-9
8
1
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
1
0
-1
0
0
0
0
0
0
0
0
-2
0
-1
2
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-7
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
11
0
-13
0
0
0
0
0
0
0
0
0
0
-3
-2
-2
3
0
18
0
4
0
0
0
0
0
0
0
0
0
-1
0
1
0
-10
1
2
0
11
0
0
0
0
0
0
0
0
0
0
-10
7
-1
-11
0
16
0
0
0
0
0
0
0
0
0
1
-1
1
-2
-6
0
-7
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
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
12
0
-4
-6
0
0
0
0
0
0
0
0
27
-33
38
14
1
7
0
-34
2
-9
2
0
0
0
0
0
0
-21
-8
-8
11
15
0
29
-2
-8
0
1
0
0
0
0
0
0
-17
2
16
10
23
12
-22
25
-9
0
0
0
0
0
0
0
0
0
-1
-4
2
-14
-6
-18
-9
7
-1
0
0
0
0
0
0
0
-10
0
0
-26
-10
-27
-4
4
4
2
2
0
0
0
0
0
0
3
0
-1
1
-4
-3
7
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-4
-6
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
11
2
-1
4
-6
0
0
0
-3
0
0
0
0
0
0
0
0
2
6
-1
3
-8
-2
4
0
1
0
0
0
0
0
0
0
0
-4
-1
-4
16
-8
-12
11
-1
-1
0
0
0
0
0
0
0
0
1
-4
-2
-12
-3
-7
9
-2
-1
0
0
0
0
0
0
0
0
-2
3
0
-9
-4
-2
1
-2
6
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
-3
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
4
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
-1
4
2
7
0
2
-2
0
0
0
0
0
0
6
1
6
-6
27
0
38
12
-6
-1
0
0
0
0
0
0
0
2
-1
-1
-2
11
-11
11
1
-7
0
0
0
0
0
0
0
0
0
0
6
2
-19
0
11
0
0
1
0
0
0
0
0
0
0
0
1
0
0
-1
13
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
7
6
0
-3
0
0
0
0
0
0
0
0
0
0
1
1
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-15
-17
-8
-18
-6
0
0
1
0
0
0
0
0
0
2
2
2
7
-12
-30
-3
-32
7
3
0
0
0
0
0
0
0
-4
-1
-12
2
15
24
-45
6
0
-3
0
0
0
0
0
0
0
28
1
-13
-19
10
-38
2
-28
1
-24
-2
0
0
0
0
0
0
0
0
7
-9
-9
22
21
1
0
0
-1
0
0
0
0
0
0
0
-2
-3
-3
0
-4
10
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-7
7
2
11
-8
33
-2
0
4
-1
0
0
0
0
0
0
-38
24
7
-7
23
-9
-10
0
36
2
8
0
0
0
0
0
0
1
0
-7
-22
18
27
36
-5
-1
-45
0
0
0
0
0
0
0
-4
-12
16
-15
-3
-11
13
0
8
-6
-2
0
0
0
0
0
0
0
0
-29
6
-5
2
28
10
-4
-3
0
0
0
0
0
0
0
-1
0
-4
-5
-7
4
4
12
7
3
0
0
0
0
0
0
0
-3
0
0
-3
4
0
-3
1
1
-1
0
0
0
0
0
0
0
0
0
-1
0
0
16
-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
11
-16
-7
8
0
-5
-11
0
-3
1
0
0
0
0
0
0
0
38
8
10
1
22
15
42
-27
-14
-2
-3
0
0
0
0
0
0
8
-4
20
1
17
-15
9
-18
3
-2
0
0
0
0
0
0
0
-9
-22
-11
-2
-84
-20
21
-2
-4
0
-3
0
0
0
0
0
0
-4
0
-16
-4
-27
-77
0
17
3
10
0
1
0
0
0
0
0
10
18
-1
-4
-8
-19
6
32
6
-4
0
0
0
0
0
0
0
0
-2
-1
10
-4
-8
4
4
2
0
0
0
0
0
0
0
0
0
0
0
1
0
3
15
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
11
1
-2
-1
-4
14
0
-26
-6
0
0
0
0
0
0
0
0
-6
3
-6
2
-8
2
18
-2
-2
1
0
0
0
0
0
0
0
14
6
-1
-2
16
-6
2
3
0
6
0
0
0
0
0
0
0
2
-1
-6
3
20
12
0
0
0
-2
0
0
0
0
0
0
0
1
16
0
-12
-7
40
0
2
0
0
0
0
0
0
0
0
0
3
0
-1
20
2
-10
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-1
0
1
3
-3
2
-3
1
0
0
0
0
0
0
0
0
0
0
-7
1
10
2
-3
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
1
0
0
1
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
7
13
0
0
0
0
0
0
0
0
0
-9
0
6
2
1
8
-9
7
-3
0
0
0
0
0
0
0
0
3
0
0
2
4
0
13
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
2
13
0
-9
-1
0
0
0
0
0
0
0
0
1
-1
0
3
-9
0
12
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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-1
-24
-1
17
-6
15
0
-1
1
0
0
0
0
0
0
6
9
-1
11
28
-6
-40
8
-2
7
2
0
0
0
0
0
0
6
14
3
-27
-5
-27
-6
0
0
15
0
0
0
0
0
0
0
21
-3
-4
-25
-26
-29
-18
0
-10
3
0
0
0
0
0
0
0
0
8
0
-8
-7
-8
1
-4
0
2
0
0
0
0
0
0
0
0
0
-3
10
0
-3
-1
-3
-1
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
3
11
10
-4
-9
-2
0
-10
-1
0
0
0
0
0
0
-2
4
-2
-2
2
3
0
21
-21
2
-2
0
0
0
0
0
0
7
10
33
-10
7
-26
1
-12
9
1
-1
0
0
0
0
0
0
4
11
9
-27
-10
-15
-18
9
0
29
0
0
0
0
0
0
0
0
3
-1
-4
1
5
-3
0
-6
0
-1
0
0
0
0
0
0
1
-3
-1
-15
-13
-20
-9
7
0
0
0
0
0
0
0
0
0
0
-2
0
15
22
0
-4
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
-20
-11
4
-18
0
-6
8
0
0
0
0
0
0
0
35
-18
1
-21
29
-3
-40
-18
-10
9
0
0
0
0
0
0
0
15
-12
29
-20
-5
0
37
6
-9
-4
0
0
0
0
0
0
0
-2
-39
12
15
-3
-17
3
16
0
-3
1
1
0
0
0
0
0
4
2
16
8
8
26
16
-1
-2
0
0
0
0
0
0
0
0
-1
6
0
6
6
25
-42
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
-1
-1
0
-4
8
0
0
0
0
0
0
0
0
10
0
2
9
17
9
0
-3
2
2
0
0
0
0
0
0
0
-2
8
1
1
4
-21
16
1
-4
0
0
0
0
0
0
0
0
1
-4
-2
-4
16
-16
-4
-4
0
1
0
0
0
0
0
0
0
0
0
3
2
-36
11
6
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
2
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
-1
0
-1
0
-4
0
0
0
0
0
0
0
0
0
1
3
0
-3
1
1
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
9
0
-1
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
1
-10
3
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
-1
-2
10
0
0
0
0
0
0
0
0
0
-3
0
-10
1
1
3
-8
0
-2
0
0
0
0
0
0
0
1
0
-7
0
1
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
6
-5
3
-8
-6
0
0
0
0
0
0
0
0
0
1
-4
3
6
-11
-37
-25
-9
0
-2
-2
0
0
0
0
0
0
-1
32
4
2
-10
3
-19
2
4
0
1
0
0
0
0
0
0
-10
11
-4
2
-6
-30
0
11
0
1
0
0
0
0
0
0
0
0
-2
-1
-9
17
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-9
25
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
9
0
29
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
6
-19
-3
3
-7
0
1
0
0
0
0
0
0
0
1
33
7
-13
4
4
0
45
5
-11
1
0
0
0
0
0
0
-2
7
3
17
0
33
-21
9
12
-13
0
0
0
0
0
0
0
4
0
11
-4
-9
-20
12
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
-2
4
28
6
0
-2
0
0
0
0
0
0
0
0
3
3
-1
-1
-18
-25
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-41
2
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
6
-12
4
10
-2
12
21
0
-8
-3
0
0
0
0
0
0
0
11
17
3
25
-6
6
-12
-7
-6
18
0
0
0
0
0
0
0
-3
-4
-1
27
-10
-9
-27
21
-1
0
0
0
0
0
0
0
0
4
2
7
-12
0
-9
-12
-1
-7
1
0
0
0
0
0
0
0
-1
-6
-1
-10
3
23
-11
0
0
-2
0
0
0
0
0
0
0
0
5
0
-10
28
7
3
0
0
0
0
0
0
0
0
0
0
2
0
0
4
-2
24
0
17
0
1
0
0
0
0
0
0
0
0
0
1
0
10
4
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
1
0
0
1
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
9
1
-1
0
0
0
0
0
0
0
0
0
-2
0
4
6
-3
1
-2
0
0
0
0
0
0
0
0
0
-1
2
0
6
-1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-3
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
-2
-19
-3
-11
7
0
0
0
0
0
0
0
0
-1
0
0
1
4
-1
0
-1
3
0
0
0
0
0
0
0
0
0
-7
-1
4
-2
-1
3
4
0
0
0
0
0
0
0
0
0
0
1
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-7
0
4
-1
0
1
0
1
0
0
0
0
0
0
0
0
-4
1
1
11
13
2
-1
1
-6
0
0
0
0
0
0
0
-2
-4
0
-4
2
3
-15
-1
-4
-1
0
0
0
0
0
0
0
0
0
3
-1
6
0
-3
0
-10
0
0
0
0
0
0
0
0
0
-1
-3
17
-13
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-40
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
16
-2
-1
0
-1
0
0
0
0
0
0
0
4
-7
-4
-3
6
-37
16
41
-11
-1
0
0
0
0
0
0
0
11
4
12
19
-11
17
11
-17
7
-4
0
0
0
0
0
0
0
0
15
11
-4
-6
46
1
10
0
0
0
0
0
0
0
0
0
1
4
2
-2
0
-20
-11
0
-3
0
0
0
0
0
0
0
0
0
0
36
2
2
-12
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-9
2
6
0
1
0
0
0
0
0
0
0
0
0
0
2
-3
1
-7
1
3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
1
-18
-15
0
4
-2
0
0
0
0
0
0
0
-21
-8
12
4
-7
-7
2
-6
4
0
0
0
0
0
0
0
0
-15
-12
-21
4
19
-18
-17
18
0
0
0
0
0
0
0
0
0
-1
0
-4
-8
1
0
11
8
0
1
0
0
0
0
0
0
0
-2
2
4
0
32
-4
-6
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-3
19
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
-12
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
4
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
1
0
0
0
0
0
0
0
0
0
1
1
-1
1
11
-1
-7
8
0
0
0
0
0
0
0
0
-4
-1
0
9
-2
6
8
-2
0
0
0
0
0
0
0
0
0
0
4
0
9
2
7
0
2
0
0
0
0
0
0
0
0
0
0
1
1
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
-1
0
0
4
0
0
0
0
0
0
0
8
0
0
0
0
2
2
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
-11
-8
-1
-10
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-4
-7
3
0
0
0
0
0
0
0
0
0
0
7
0
6
6
-7
28
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-1
0
0
0
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
2
-3
-30
4
-1
0
-3
-1
0
0
0
0
0
0
10
-7
1
4
-19
11
-4
-4
-28
0
0
0
0
0
0
0
0
0
25
0
12
2
-7
0
-6
-7
17
0
0
0
0
0
0
0
-2
-3
-8
-2
-4
-18
1
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
11
-10
22
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
6
1
-3
0
0
0
-6
0
0
0
0
0
0
0
-12
-22
1
-6
7
-6
-9
-7
1
0
0
0
0
0
0
0
0
-11
-2
1
5
18
30
28
-4
11
0
0
0
0
0
0
0
0
0
3
0
-10
4
2
41
9
4
0
0
0
0
0
0
0
0
11
2
-2
-19
21
3
-1
3
0
0
0
0
0
0
0
0
0
2
-1
1
0
25
29
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
4
0
0
0
4
-6
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
6
0
0
7
1
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
1
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
0
-16
-1
0
0
0
0
0
0
0
0
15
7
0
0
-4
7
-22
3
13
0
0
0
0
0
0
0
0
-4
-11
12
1
0
16
2
-6
7
1
0
0
0
0
0
0
0
0
0
-13
0
3
2
16
-3
0
0
0
0
0
0
0
0
0
0
0
-1
10
10
1
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
-8
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
16
10
0
0
0
0
0
0
0
0
0
0
-11
8
0
-1
4
-2
-16
-25
0
-1
0
0
0
0
0
0
0
-1
0
0
0
-25
28
-10
13
0
1
0
0
0
0
0
0
0
4
1
27
1
2
-16
-4
1
4
0
0
0
0
0
0
0
0
7
8
8
8
9
0
0
2
0
0
0
0
0
0
0
0
0
-2
-6
-1
-10
-9
6
3
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
1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
3
0
0
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-2
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
6
0
0
1
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
4
-2
-3
2
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
-1
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-4
-21
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-11
0
6
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
-6
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
2
0
-33
-1
-30
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
3
-8
-17
19
15
-19
0
0
0
0
0
0
0
0
8
4
2
0
26
12
6
-2
-4
0
0
0
0
0
0
0
0
-1
15
-9
3
3
32
1
0
-3
0
0
0
0
0
0
0
0
0
0
8
-6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
7
-8
13
0
0
0
0
-1
0
0
0
0
0
0
2
0
1
0
-13
21
-27
0
0
0
0
0
0
0
0
0
0
0
4
11
1
1
20
0
37
6
13
-13
0
0
0
0
0
0
0
0
-1
3
-27
13
4
-2
5
-4
1
0
0
0
0
0
0
0
9
-2
-3
-8
21
2
4
-2
0
2
0
0
0
0
0
0
0
0
0
-4
7
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
3
0
0
-3
0
12
-1
0
0
0
-4
-1
0
0
0
0
0
0
0
-6
-1
0
-1
7
-2
-38
-6
-1
0
0
0
0
0
0
0
1
0
4
2
20
8
4
0
1
1
0
0
0
0
0
0
0
-1
-1
0
7
-3
-7
4
0
0
0
0
0
0
0
0
0
0
-1
0
-3
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-3
0
-3
11
29
0
-1
0
0
0
0
0
0
0
0
0
-3
6
-3
0
1
-3
0
0
0
0
0
0
0
0
0
-1
-1
0
3
1
-2
0
2
0
0
0
0
0
0
0
0
3
0
1
1
3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
6
-16
-1
1
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-1
-7
0
0
0
0
0
0
0
0
0
4
0
-1
4
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
-6
4
-6
7
1
0
0
0
0
0
0
0
0
0
0
-3
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-2
0
-1
0
-1
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
9
19
-11
-6
0
1
0
0
0
0
0
0
0
0
0
0
-3
-16
-15
29
4
-5
-4
0
0
0
0
0
0
0
0
0
1
1
0
-7
1
3
0
-1
0
0
0
0
0
0
0
0
0
-1
13
4
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
2
15
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-4
-8
-4
6
0
0
0
0
0
0
0
0
0
0
2
1
2
-9
82
35
9
0
-3
0
0
0
0
0
0
0
0
0
-12
-15
24
24
-29
17
-28
-5
20
0
0
0
0
0
0
0
0
-1
19
-9
3
16
-2
5
15
-17
0
0
0
0
0
0
0
4
-12
25
-15
6
13
-15
-8
-1
6
0
0
0
0
0
0
0
0
-2
2
6
2
4
-6
0
0
1
0
0
0
0
0
0
0
-1
0
-1
-1
8
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
19
0
15
33
-1
1
0
2
1
0
0
0
0
0
0
0
0
-3
28
3
43
-11
0
1
0
7
0
0
0
0
0
0
0
0
10
19
-17
9
-10
27
7
-15
2
0
0
0
0
0
0
0
3
2
18
12
-6
-4
25
4
0
1
0
0
0
0
0
0
0
1
-4
7
17
9
0
21
-15
-8
0
0
0
0
0
0
0
-1
3
-3
7
0
-8
8
-1
0
0
0
0
0
0
0
0
0
0
-1
1
-7
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-20
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-9
0
25
-4
-3
0
0
-2
0
0
0
0
0
0
0
0
-2
1
14
-15
-23
0
8
0
12
2
0
0
0
0
0
0
6
2
16
0
-12
0
2
13
-1
15
1
0
0
0
0
0
0
0
-11
-17
19
4
4
-12
1
10
-6
1
0
0
0
0
0
0
0
0
-9
3
-20
-15
-8
-2
-2
0
0
0
0
0
0
0
0
1
1
-10
13
-9
-3
3
-3
-2
1
0
0
0
0
0
0
0
0
1
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-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
12
0
0
-6
0
0
-2
-2
0
0
0
0
0
-3
0
1
-7
7
-4
0
0
-2
0
3
-1
0
0
0
0
0
0
0
-1
-3
-9
13
-9
-5
-8
24
-2
0
0
0
0
0
0
0
0
-6
-15
7
13
3
-2
-22
3
10
0
-1
0
0
0
0
0
0
2
-1
1
-6
-3
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
-2
16
-3
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
12
-6
2
-3
7
1
-6
1
0
0
0
0
0
0
1
0
6
2
-2
1
9
2
4
0
0
0
0
0
0
0
2
-3
0
2
0
10
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
1
0
0
0
-6
0
1
0
0
0
0
0
0
0
1
-1
1
-1
0
6
8
-1
0
0
0
0
0
0
0
0
0
0
3
-2
2
-2
9
-6
4
0
0
0
0
0
0
0
2
-1
0
6
1
3
0
1
3
-2
0
0
0
0
0
0
0
0
0
1
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
-8
-3
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
-2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
22
11
-1
0
-3
0
0
0
0
0
0
0
0
1
-16
26
2
11
-6
1
1
-10
0
0
0
0
0
0
0
0
0
0
-4
-13
4
18
-1
-1
-2
0
0
0
0
0
0
0
0
0
4
-1
-1
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-16
0
3
0
-4
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
15
-6
2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
-25
4
0
7
4
-27
0
9
0
0
0
0
0
0
0
0
3
4
10
-8
5
-15
8
11
37
4
0
0
0
0
0
0
0
6
-1
-1
26
10
39
-6
-15
-3
-3
0
0
0
0
0
0
0
0
-1
4
-22
-12
-26
1
0
17
3
0
0
0
0
0
0
0
0
0
0
4
-4
-13
-7
-1
2
3
0
0
0
0
0
0
0
0
1
7
-1
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
1
0
-17
-17
-10
0
0
-13
0
0
0
0
0
0
0
0
22
0
-21
-7
-12
0
7
0
-7
0
0
0
0
0
0
0
2
0
-19
-1
38
-8
3
10
18
-15
0
0
0
0
0
0
0
0
15
7
-4
5
41
16
6
-21
-1
0
0
0
0
0
0
0
35
13
25
-7
1
-1
-11
0
4
0
0
0
0
0
0
0
0
-2
-7
9
11
-4
2
0
2
-3
1
0
0
0
0
0
0
0
-1
3
1
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-29
0
2
7
0
0
0
0
0
0
0
0
0
0
3
-6
1
3
0
32
0
-9
0
4
-1
0
0
0
0
0
0
0
-13
-1
12
8
1
-4
6
2
8
0
0
0
0
0
0
0
1
0
17
0
-18
15
29
0
-7
2
-1
0
0
0
0
0
-1
0
7
2
7
-6
-4
-18
0
0
0
0
0
0
0
0
0
0
0
-2
0
9
9
0
2
0
7
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
1
0
-6
-1
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
3
2
-6
0
0
0
0
0
2
0
0
0
0
0
1
0
4
0
-8
-18
18
-3
9
1
-10
0
0
0
0
0
0
0
6
0
-2
0
15
3
1
0
0
0
0
0
0
0
0
0
0
0
2
12
16
0
0
1
-2
1
0
0
0
0
0
0
0
0
9
2
1
0
2
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
-1
0
-11
1
-3
0
0
0
0
0
0
-1
0
0
0
1
-2
4
0
0
0
1
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
10
-2
-9
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
2
-1
1
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
3
-8
0
9
-6
-4
0
2
0
0
0
0
0
0
0
0
-8
-1
4
4
-17
33
-1
-4
-15
0
0
0
0
0
0
0
0
0
-12
4
0
-4
0
3
0
-3
0
0
0
0
0
0
0
0
0
-2
2
-2
26
-15
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-13
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
6
-6
10
-9
-3
0
0
0
0
0
0
0
0
0
2
12
-15
40
7
-18
-10
0
-1
0
0
0
0
0
0
0
0
0
17
2
0
-7
4
-33
-7
36
-44
0
0
0
0
0
0
0
0
0
24
24
-1
5
-22
-38
0
-11
0
0
0
0
0
0
0
0
-8
-2
38
40
4
41
2
-12
9
0
0
0
0
0
0
0
3
0
-15
-1
-13
8
-20
-3
-2
7
0
0
0
0
0
0
0
0
0
-15
-3
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-22
8
11
-1
3
-9
0
0
2
0
0
0
0
0
0
0
24
9
-41
22
-24
13
0
-1
0
-7
0
0
0
0
0
0
-3
0
-17
-4
0
21
13
-3
-28
-44
-7
0
0
0
0
0
0
0
-10
-1
40
-9
0
-2
-2
-1
8
1
0
0
0
0
0
0
0
3
7
-1
29
22
8
-6
-10
1
-1
0
0
0
0
0
0
0
1
-3
-12
1
-9
33
1
0
-3
0
0
0
0
0
0
0
0
4
0
7
9
-2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-2
-4
2
1
0
0
0
-3
0
0
0
0
0
0
0
-1
-11
-3
11
-16
37
0
0
0
12
0
0
0
0
0
0
0
0
-1
-1
7
0
-11
-6
12
-14
-9
-1
0
0
0
0
0
0
0
-4
0
-1
-9
-8
0
-3
1
-3
0
0
0
0
0
0
0
0
-1
0
1
-4
-7
0
-7
-2
3
-1
0
0
0
0
0
0
0
0
10
13
7
8
0
-1
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
1
-2
0
0
2
2
1
0
0
0
0
0
0
3
1
1
2
-10
12
0
-1
0
-9
1
4
0
0
0
0
0
0
1
0
-7
0
-9
16
-5
0
-2
-3
0
0
0
0
0
0
0
0
13
0
1
18
8
0
3
0
-1
0
0
0
0
0
0
0
1
0
-18
0
-16
-4
2
-4
0
0
0
0
0
0
0
0
-2
0
6
0
4
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
-2
2
0
0
0
7
0
0
0
0
0
0
0
0
-3
1
0
1
0
4
4
-10
3
1
0
0
0
0
0
0
0
0
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
-29
13
11
0
1
0
0
0
0
0
0
0
0
0
0
-4
0
0
-4
0
2
3
-1
4
0
0
0
0
0
0
0
0
-1
0
-6
3
-6
32
8
0
1
0
0
0
0
0
0
0
0
0
10
-2
0
-1
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-3
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
2
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
10
-2
2
0
0
0
0
0
0
0
0
0
0
-2
0
-26
-10
-27
1
-17
0
-1
0
0
0
0
0
0
0
0
-3
-4
12
1
0
16
25
10
-1
1
0
0
0
0
0
0
0
0
3
2
20
-1
-1
-8
-1
7
0
0
0
0
0
0
0
0
2
0
-9
-1
9
30
-3
1
2
4
0
0
0
0
0
0
0
0
-1
1
12
-19
11
1
1
2
0
0
0
0
0
0
0
0
0
0
6
-1
-7
-4
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
29
7
-2
0
6
0
0
0
0
0
0
0
0
0
0
-11
-2
-19
8
10
-10
0
0
0
10
0
0
0
0
0
0
0
-1
-24
-24
-29
-23
8
-11
-15
3
0
0
0
0
0
0
0
1
0
-1
0
10
35
-10
9
-4
1
-2
0
0
0
0
0
0
0
0
0
3
12
-10
4
1
0
-2
0
0
0
0
0
0
0
0
0
11
0
-12
-13
4
6
-1
0
0
0
0
0
0
0
0
0
-2
-2
-22
3
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-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
-8
7
-10
8
2
0
0
1
0
0
0
0
0
0
0
-1
-8
0
42
-17
-13
0
1
0
-3
10
0
0
0
0
0
0
0
0
-2
0
4
-29
1
-18
3
-17
0
0
0
0
0
0
0
-2
0
-12
-3
-28
0
1
3
3
-3
0
0
0
0
0
0
0
0
1
0
1
-13
-11
3
3
-3
0
0
0
0
0
0
0
0
-9
0
4
0
13
0
24
-2
0
-2
0
0
0
0
0
0
0
0
1
4
3
-1
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
2
1
8
-3
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
4
-20
0
7
0
-1
0
-1
-7
0
0
0
0
0
0
1
-1
2
-2
3
-7
-8
0
2
2
-1
0
0
0
0
0
0
0
-1
0
13
1
15
4
-6
1
0
0
0
0
0
0
0
0
0
0
8
0
28
7
-4
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
-1
0
-8
1
3
0
0
0
0
0
0
0
0
0
-1
0
3
0
2
4
-2
0
1
0
0
0
0
0
0
0
0
0
1
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
8
0
-1
1
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
7
-2
-2
0
0
-2
0
0
0
0
0
0
0
0
0
-3
10
0
7
-1
2
-1
15
0
0
0
0
0
0
0
0
2
-4
2
-8
18
1
-2
-8
2
0
0
0
0
0
0
0
0
0
0
-1
0
-18
-8
1
0
-1
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
-3
-4
-2
1
0
0
-1
0
0
0
0
0
0
0
0
6
26
-15
11
-4
3
0
6
0
0
0
0
0
0
0
0
3
12
0
-15
-11
-19
6
2
-9
-10
0
0
0
0
0
0
0
0
-1
0
-1
-13
32
-37
-2
3
6
0
0
0
0
0
0
0
0
-6
0
-4
-7
5
-18
-2
2
3
0
0
0
0
0
0
0
0
0
6
-1
9
7
2
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
1
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
10
9
-3
0
0
0
3
0
0
0
0
0
0
0
-7
0
-13
9
3
2
0
-7
0
0
0
0
0
0
0
0
0
0
-18
32
-34
-7
9
-5
15
-48
-6
0
0
0
0
0
0
0
-1
0
-6
7
-45
24
-16
6
-1
0
0
0
0
0
0
0
-2
0
-10
0
8
12
30
13
3
0
0
0
0
0
0
0
0
0
-12
0
-10
0
-15
-1
9
0
1
0
0
0
0
0
0
0
0
0
-10
0
35
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
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
15
4
1
-12
0
0
0
0
-1
-2
0
0
0
0
0
0
-3
-16
-1
-12
15
-15
0
0
0
-3
0
0
0
0
0
0
0
0
4
2
-1
-27
7
4
1
-12
-3
0
0
0
0
0
0
0
0
0
-3
7
-15
4
-2
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
6
-1
-6
1
6
8
0
0
0
0
0
0
0
0
8
0
11
9
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
2
6
-13
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
2
0
0
-1
0
0
0
0
0
0
0
0
0
-2
1
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
3
0
-7
-2
0
-2
0
0
0
0
0
0
0
0
-1
0
-2
-6
23
0
0
4
0
0
0
0
0
0
0
0
0
0
-3
0
19
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
-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
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-8
-7
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
8
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
1
0
1
-3
-3
1
1
1
0
0
0
0
0
0
0
0
0
0
0
1
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-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
-1
-1
2
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
39
-3
2
-4
0
3
0
0
0
0
0
0
0
0
3
0
-15
-8
-21
7
8
0
18
18
0
0
0
0
0
0
0
0
-3
-12
6
1
-37
-18
-9
1
5
0
0
0
0
0
0
0
0
0
6
-1
-9
-9
-8
6
0
-20
0
0
0
0
0
0
0
0
4
0
-8
13
-11
-10
0
-7
0
0
0
0
0
0
0
0
0
0
-8
8
-12
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
-4
16
6
-11
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
3
2
1
9
-6
-17
-8
0
0
0
0
0
0
0
-7
4
8
2
18
25
3
0
-4
1
0
0
0
0
0
0
0
0
-3
8
9
11
2
-1
1
4
-18
0
0
0
0
0
0
0
0
0
0
4
9
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
18
-6
0
1
0
0
1
0
0
0
0
0
0
0
1
-3
-14
6
25
-2
0
0
0
-1
2
0
0
0
0
0
0
0
4
3
-6
7
11
-2
4
-26
-1
-1
0
0
0
0
0
0
1
-1
-8
28
-11
-3
3
1
2
-3
-1
0
0
0
0
0
0
0
8
1
-1
-3
-4
-1
0
-6
0
1
0
0
0
0
0
0
0
0
1
0
-1
19
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-11
15
0
0
0
2
0
1
-1
0
0
0
0
0
0
0
0
-1
1
1
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
-7
7
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
4
6
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
-17
0
0
0
0
0
0
0
0
0
0
0
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
-6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
6
6
-7
3
0
0
1
0
0
0
0
0
0
0
0
0
1
0
9
-8
-9
0
0
1
-39
0
0
0
0
0
0
0
0
-3
0
-8
11
4
-9
-4
0
3
0
0
0
0
0
0
0
0
0
-6
0
-3
21
3
2
10
-2
0
0
0
0
0
0
0
0
-1
1
0
4
-15
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
9
0
0
-12
0
0
0
2
0
0
0
0
0
0
0
0
6
-1
-11
0
4
0
-7
1
8
0
0
0
0
0
0
0
0
0
-7
-4
1
0
-8
1
-7
-2
0
0
0
0
0
0
0
0
0
4
0
0
2
0
-4
1
0
0
0
0
0
0
0
0
0
0
-21
-1
-1
-1
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
2
0
0
0
0
0
0
0
0
0
4
0
3
4
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
0
0
-1
-2
-3
1
0
0
0
0
0
0
0
0
0
1
3
12
-2
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-6
0
2
0
2
0
-2
1
0
0
0
0
0
0
0
0
-3
0
0
-1
-6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-2
1
2
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
-1
0
-3
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
2
-1
-2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
3
0
-2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
1
8
-1
-3
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
1
1
0
0
0
0
0
0
0
0
0
1
-6
0
1
16
-4
-8
13
-2
2
0
0
0
0
0
0
0
0
-2
1
1
12
10
-6
3
15
11
0
0
0
0
0
0
0
0
1
0
2
-7
-11
12
0
-4
0
0
0
0
0
0
0
0
0
2
0
0
-4
-2
-7
-2
0
0
0
0
0
0
0
0
0
0
-4
0
1
12
18
-1
0
-3
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
1
1
-6
-6
0
2
1
0
0
0
0
0
0
0
6
2
-2
2
-17
19
35
-1
1
0
0
0
0
0
0
0
0
0
-7
4
10
-2
7
-3
0
0
0
0
0
0
0
0
0
-1
0
0
0
20
0
-3
1
0
15
0
0
0
0
0
0
0
1
0
0
0
-1
10
4
0
1
-1
-1
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
1
2
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
-1
1
0
0
-1
0
0
0
0
0
0
0
0
1
2
-2
0
-1
7
1
1
3
6
0
0
0
0
0
0
0
0
-1
0
-4
-10
0
7
-7
-2
1
0
0
0
0
0
0
0
0
-1
0
0
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-3
0
0
0
0
0
0
0
0
0
1
-1
0
0
-2
-4
-1
-1
-2
0
0
0
0
0
0
0
0
1
0
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
1
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-1
0
6
0
-8
-3
-8
-24
-15
0
0
0
0
0
0
0
0
6
-2
-2
-1
3
-27
13
1
-1
0
0
0
0
0
0
0
0
1
0
0
-1
1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
4
-22
-3
-5
0
-2
0
0
0
0
0
0
0
0
-2
-2
-2
-10
-18
43
19
19
0
0
0
0
0
0
0
0
0
-2
3
4
29
-13
0
-30
-9
30
0
0
0
0
0
0
0
0
0
-3
4
-13
-13
-1
0
-3
-1
0
0
0
0
0
0
0
0
-6
0
-1
-11
-8
4
-2
1
-2
0
0
0
0
0
0
0
0
-9
0
0
4
12
-3
-9
0
0
0
0
0
0
0
0
0
0
1
0
2
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
13
-3
-7
0
10
0
0
0
0
0
0
0
0
5
1
3
9
-7
-15
6
-13
-6
2
0
0
0
0
0
0
0
9
9
0
-14
26
-2
-13
43
7
0
0
0
0
0
0
0
0
-1
-2
-3
2
-8
-6
-12
0
12
1
0
0
0
0
0
0
0
0
0
-1
1
-3
-11
0
-9
-2
-1
0
0
0
0
0
0
0
0
0
0
-1
-9
0
6
0
1
4
0
0
0
0
0
0
0
0
0
1
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-4
6
-6
9
-3
0
-6
8
0
0
0
0
0
0
0
4
2
0
12
4
25
17
6
-6
-7
0
0
0
0
0
0
0
0
0
2
18
1
0
-4
10
2
0
0
0
0
0
0
0
0
-1
0
11
0
8
-6
-8
-3
6
0
0
0
0
0
0
0
0
-4
0
1
0
1
-2
12
4
-2
0
1
0
0
0
0
0
0
0
0
1
0
-4
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
0
-1
1
7
0
-3
0
0
0
0
0
0
0
0
-1
0
4
0
4
0
1
0
0
7
0
0
0
0
0
0
0
1
-8
-1
-7
-1
8
16
6
4
1
-1
0
0
0
0
0
0
0
-2
0
-2
-7
2
15
0
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
3
1
2
4
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
-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
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-6
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
-1
-2
-1
17
6
0
0
0
0
0
0
0
0
0
7
2
7
0
2
37
2
1
9
0
0
0
0
0
0
0
0
0
0
0
2
-1
9
-3
1
-1
0
0
0
0
0
0
0
0
0
1
0
2
-2
6
-8
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
2
-9
6
16
0
1
0
0
0
0
0
0
0
4
6
6
4
8
-8
7
1
-8
0
0
0
0
0
0
0
0
0
-1
0
12
-2
6
-27
-7
13
0
0
0
0
0
0
0
0
2
7
3
-7
-7
1
1
-4
0
-1
0
0
0
0
0
0
0
0
0
-4
3
0
8
-3
4
-3
0
0
0
0
0
0
0
0
0
0
1
0
6
8
7
-2
-1
0
0
0
0
0
0
0
0
0
0
4
0
11
0
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
3
-30
-30
0
1
0
0
0
0
0
0
0
-3
-32
11
4
-15
9
18
-16
-3
12
11
0
0
0
0
0
0
-1
-13
4
-2
15
-10
0
20
7
-7
0
0
0
0
0
0
0
0
0
1
0
55
0
-9
7
10
-4
0
0
0
0
0
0
0
-1
0
-1
-2
-8
4
14
-4
-1
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
13
6
7
0
-25
1
1
0
0
0
0
0
0
6
6
3
2
3
9
0
3
-7
2
-1
0
0
0
0
0
0
0
9
0
22
-3
1
-7
-2
3
-1
0
0
0
0
0
0
0
0
1
-1
-4
28
0
7
7
4
0
0
0
0
0
0
0
0
0
0
-2
0
-2
4
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-6
-3
0
-1
-8
0
0
0
0
0
0
0
0
2
2
10
0
-8
-6
1
-6
0
0
0
0
0
0
0
0
0
-2
-3
0
-6
2
0
-6
-1
0
0
0
0
0
0
0
0
0
-1
0
-11
0
0
-4
2
4
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
3
0
2
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
-1
1
0
0
0
0
0
0
0
0
1
-1
-2
1
-2
10
3
1
-1
0
0
0
0
0
0
0
0
-1
1
2
0
7
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
1
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-13
4
1
0
0
0
0
0
0
0
0
0
1
2
2
0
3
-4
4
0
10
0
0
0
0
0
0
0
0
8
-1
0
-9
7
-3
-10
-6
-2
0
0
0
0
0
0
0
0
0
0
2
10
3
-7
2
1
0
0
0
0
0
0
0
0
0
2
0
1
-1
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-3
-12
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
0
0
0
0
0
0
0
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
-3
-2
-6
45
0
1
0
0
0
0
0
0
0
-2
0
-2
-1
8
0
-1
-20
7
4
0
0
0
0
0
0
0
2
-9
7
0
13
10
-12
-9
18
-9
0
0
0
0
0
0
0
0
0
0
-18
10
33
-2
-1
8
0
0
0
0
0
0
0
0
0
2
-3
0
16
-8
3
7
7
0
0
0
0
0
0
0
0
0
0
0
1
1
44
-12
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
3
9
0
9
-1
0
0
0
0
0
0
0
-1
-7
0
6
0
9
15
-17
-8
0
0
0
0
0
0
0
0
2
15
-3
22
1
20
1
10
18
-1
0
0
0
0
0
0
8
-11
0
8
11
28
1
-6
4
-10
1
0
0
0
0
0
0
0
0
0
0
1
-15
41
0
-7
0
0
0
0
0
0
0
0
0
0
2
-3
2
0
9
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
3
1
18
-6
-1
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
17
7
0
3
-4
0
0
0
0
0
0
0
0
-2
-1
-12
-6
-13
12
-9
-3
7
0
0
0
0
0
0
0
0
0
-7
-11
0
-22
8
-7
9
-3
-2
0
0
0
0
0
0
-2
11
0
2
-4
-2
-6
0
-8
0
1
0
0
0
0
0
0
3
0
0
7
1
15
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
1
-7
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
-1
-2
0
0
0
0
0
0
0
0
1
0
-3
0
-9
-9
8
16
-1
1
0
0
0
0
0
0
0
0
-1
3
-8
-3
0
6
0
0
-1
0
0
0
0
0
0
0
1
-3
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
4
-1
-1
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
4
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
22
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
1
2
-2
0
0
0
0
0
0
0
0
0
3
0
1
0
3
1
-16
-1
3
0
0
0
0
0
0
0
0
-3
0
0
-3
-1
-8
6
-4
2
0
0
0
0
0
0
0
0
0
0
0
-7
2
2
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-3
1
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-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
-4
0
1
0
-2
15
-18
0
11
0
0
0
0
0
0
0
1
-2
0
0
-11
-12
7
17
10
1
0
0
0
0
0
0
0
6
0
0
-1
-2
-11
13
-10
21
0
0
0
0
0
0
0
0
-8
0
1
-8
2
34
-2
-1
7
-3
0
0
0
0
0
0
0
0
0
1
-4
40
-12
7
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
8
12
-4
8
0
0
0
0
0
0
0
0
0
-3
0
0
-17
-3
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
44
18
0
10
0
0
0
0
0
0
0
0
1
-10
4
0
13
-1
8
24
0
4
0
0
0
0
0
0
0
-13
3
10
0
25
0
-16
-25
-7
-1
0
0
0
0
0
0
0
3
7
-1
-11
3
3
10
-6
0
2
0
0
0
0
0
0
-1
-4
0
3
-9
19
26
12
-3
0
1
0
0
0
0
0
0
0
0
0
-4
1
-2
-10
-3
-7
0
-4
0
0
0
0
0
0
0
0
1
-1
25
-2
-7
18
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
9
2
0
8
1
0
0
0
0
0
0
0
1
0
9
-22
2
6
11
-9
-11
9
0
0
0
0
0
0
0
-1
-1
0
49
-6
12
3
13
0
0
0
0
0
0
0
0
0
2
7
0
-6
1
1
1
1
4
2
0
0
0
0
0
0
0
4
-1
0
-9
8
-6
2
1
-2
0
0
0
0
0
0
0
0
-4
0
0
-1
-1
-1
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
4
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
1
-1
-11
-44
0
-2
0
0
0
0
0
0
0
0
0
3
0
8
-4
4
3
9
0
0
0
0
0
0
0
0
3
0
0
0
-7
-2
-16
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-9
-7
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
13
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-1
2
-4
0
1
-2
0
0
0
0
0
0
0
0
0
-1
-7
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-7
1
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
12
-4
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
-1
-1
-12
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
21
-1
1
3
0
0
0
0
0
0
0
0
1
3
-1
1
2
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
6
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
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
1
0
0
0
0
-1
21
0
2
0
0
0
0
0
0
0
1
-13
3
6
1
6
-11
8
-37
0
0
0
0
0
0
0
0
0
-4
0
0
2
13
-2
13
-4
-3
0
0
0
0
0
0
0
0
0
0
0
28
-9
6
2
1
0
0
0
0
0
0
0
0
0
-1
1
3
11
-8
3
7
-1
2
0
0
0
0
0
0
0
0
0
0
-3
20
-27
0
0
-7
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
7
-1
0
0
0
0
0
0
0
0
0
0
1
4
0
0
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
3
0
4
-4
1
4
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
-9
-8
-9
-17
-4
-7
0
0
0
0
0
0
0
1
-9
7
0
-6
-13
-6
-1
-1
0
0
0
0
0
0
0
4
2
0
0
3
-15
-4
0
-1
0
0
0
0
0
0
0
0
-1
-3
1
-2
-8
1
26
-2
3
2
0
0
0
0
0
0
0
0
-1
0
0
0
7
-3
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
9
0
-13
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
6
-1
3
-1
-4
-18
0
-8
0
0
0
0
0
0
0
0
-1
-9
0
-1
-3
0
2
-15
1
1
0
0
0
0
0
0
0
0
3
0
12
2
11
-12
2
-16
0
1
0
0
0
0
0
0
0
0
0
-3
7
-1
21
0
4
0
0
0
0
0
0
0
0
0
0
0
8
6
-2
-1
1
0
0
0
0
0
0
0
0
0
2
0
0
1
-6
-4
16
0
1
0
0
0
0
0
0
0
0
0
0
3
0
2
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
9
-4
2
2
4
0
0
0
0
0
0
0
0
0
1
-7
-1
6
-8
18
7
1
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
7
0
0
0
0
0
0
0
0
0
1
10
2
11
-1
3
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
9
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
8
4
0
0
0
2
1
0
-6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-1
0
0
-8
0
0
0
0
0
0
0
0
0
0
-11
0
0
20
-1
-2
-10
10
-1
0
0
0
0
0
0
0
0
11
0
2
0
2
19
15
3
1
0
0
0
0
0
0
0
0
1
0
4
-9
15
6
7
3
-7
0
0
0
0
0
0
0
0
-1
3
6
-5
-4
18
3
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
1
0
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-37
-2
3
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
1
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
3
2
-1
-1
-6
-3
0
-13
0
0
0
0
0
0
0
1
-16
-3
-1
4
2
13
13
21
-4
-1
0
0
0
0
0
0
0
0
-2
0
3
0
-2
2
-8
8
-2
0
0
0
0
0
0
0
0
-1
-2
-10
1
-13
0
2
2
0
0
0
0
0
0
0
0
-1
0
1
-22
-16
-3
-2
0
2
0
0
0
0
0
0
0
0
0
1
-3
-2
-1
4
12
1
0
0
0
0
0
0
0
0
0
1
0
0
-2
12
12
1
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
2
2
0
-2
1
0
0
0
0
0
0
0
1
0
-2
-1
-4
-11
15
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
15
0
4
0
0
0
0
0
0
0
0
0
0
0
-3
3
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
-3
-1
4
0
0
0
0
0
0
0
0
0
0
0
7
6
4
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
-3
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
4
0
-2
-1
0
0
0
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
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
33
0
2
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
-1
0
0
0
0
0
0
0
0
0
0
-9
-2
-4
-4
3
34
-1
-8
10
0
0
0
0
0
0
0
0
3
0
0
-12
-4
-1
3
3
1
0
0
0
0
0
0
0
0
0
-4
2
-10
0
-3
1
2
0
0
0
0
0
0
0
0
0
2
0
-1
11
-9
-1
-1
-2
0
0
0
0
0
0
0
0
0
1
0
15
-7
-18
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
19
-1
3
3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
0
1
-1
6
-3
-1
0
0
0
0
0
0
0
0
0
3
0
1
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
1
0
-1
0
0
0
0
0
0
0
0
0
-2
0
2
-1
-29
1
0
0
1
0
0
0
0
0
0
0
0
0
-6
1
-3
16
7
7
0
0
0
0
0
0
0
0
0
0
0
0
-11
-4
0
-6
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
2
0
0
2
0
1
0
-2
0
0
0
0
0
0
0
0
0
2
-2
2
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
-3
1
0
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
4
-21
-34
10
0
0
0
0
0
0
0
0
0
0
0
0
7
2
13
-18
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
18
8
-13
1
0
0
0
0
0
0
0
0
0
0
0
2
2
-7
1
-2
-12
0
0
0
0
0
0
0
0
0
0
-1
0
2
7
0
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
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
2
6
0
6
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
-7
2
-21
25
33
-48
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-16
36
21
-3
0
0
0
0
0
0
0
0
0
0
0
12
-8
-37
-47
-13
1
0
0
0
0
0
0
0
0
0
0
0
7
12
2
-2
8
-1
0
0
0
0
0
0
0
0
0
0
-1
3
-1
6
-3
-7
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
4
-11
30
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
44
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
1
-6
13
-2
0
0
0
0
0
0
0
0
0
0
4
-6
-10
0
-2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
11
1
10
-7
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-4
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-3
-1
-1
0
1
0
0
0
0
0
0
0
0
0
0
-3
3
1
3
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
-22
-21
20
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
28
8
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
4
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
-3
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
0
-13
-50
9
0
0
0
0
0
0
0
0
0
0
-2
-4
2
9
25
8
0
0
0
0
0
0
0
0
0
0
0
1
-1
29
-12
27
-26
13
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
20
-22
10
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
7
-7
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
25
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
-6
-5
11
19
-1
0
0
0
0
0
0
0
0
0
0
3
-38
4
0
-4
-3
1
0
0
0
0
0
0
0
0
0
4
0
-9
0
6
12
-4
7
0
0
0
0
0
0
0
0
0
0
3
3
-7
-17
-22
-20
1
0
0
0
0
0
0
0
0
0
0
0
-24
-6
-6
-3
-36
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
-9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-34
0
0
0
0
0
0
0
0
0
1
-8
-3
-1
-4
28
4
1
2
0
0
0
0
0
0
0
0
0
0
-18
44
-5
-19
-9
8
0
0
0
0
0
0
0
0
0
0
0
0
-16
-10
-6
25
11
0
0
0
0
0
0
0
0
0
0
-2
8
0
4
0
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
1
0
-6
0
0
0
12
0
0
0
0
0
0
0
0
0
0
1
0
-1
-25
46
13
3
-3
0
0
0
0
0
0
0
0
0
-1
0
0
-12
27
0
-2
1
0
0
0
0
0
0
0
0
0
0
-3
-1
6
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-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
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
13
2
0
0
0
0
0
0
0
0
0
0
0
0
-10
8
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-1
12
20
-8
0
-4
1
0
0
0
0
0
0
0
0
0
0
3
1
1
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
3
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-3
0
0
0
0
0
0
0
0
-3
0
-2
0
17
-10
2
-1
0
0
0
0
0
0
0
0
0
0
3
-3
3
1
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
1
0
0
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
-4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-6
-18
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
-16
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
38
24
2
0
0
0
0
0
0
0
0
0
-1
0
-4
26
26
4
-6
11
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
0
7
3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-9
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-8
-8
0
0
0
6
0
0
0
0
0
0
0
0
0
-2
-2
3
-9
10
-53
-7
0
0
0
0
0
0
0
0
0
0
0
-2
4
11
21
28
-9
3
0
0
0
0
0
0
0
0
0
0
0
11
26
-1
20
1
0
0
0
0
0
0
0
0
0
0
0
-1
-17
2
7
0
16
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
10
0
0
0
-13
2
0
0
0
0
0
0
0
0
0
0
-2
0
-24
-19
19
6
-1
0
0
0
0
0
0
0
0
0
2
1
-1
26
-9
2
0
0
0
0
0
0
0
0
0
0
0
-2
-2
6
-6
-13
6
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-4
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
-3
9
11
6
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-13
1
-6
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-15
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
19
3
0
0
0
0
0
0
0
0
0
0
3
-1
-4
-3
2
2
-1
1
0
0
0
0
0
0
0
0
0
-1
0
6
1
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
19
10
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-1
0
0
0
0
0
0
0
0
-1
1
2
-10
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
-11
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
15
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
2
-2
0
0
0
0
0
0
0
1
4
0
2
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
-7
-2
-2
4
-1
-26
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-41
6
-33
-2
1
0
0
0
0
0
0
0
0
0
0
-3
13
-4
18
-6
1
-2
0
0
0
0
0
0
0
0
0
0
0
2
2
-2
-1
9
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
1
3
9
4
20
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
-18
-2
-15
-36
18
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
11
-15
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-6
8
10
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
12
1
0
0
0
8
0
0
0
0
0
0
0
0
0
-1
-1
-3
1
24
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
-13
-22
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
6
6
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-1
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
-1
0
0
-9
3
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
30
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-8
4
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
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
3
0
0
0
0
0
0
0
0
0
1
0
4
-3
10
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
1
9
11
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
-1
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
1
0
3
1
6
2
-2
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
-2
-6
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-9
0
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-19
23
-13
-50
-1
0
0
0
0
0
0
0
0
0
-1
0
1
-4
11
4
-16
0
0
0
0
0
0
0
0
0
-2
0
0
1
4
11
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
9
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
-8
16
0
-15
0
0
0
0
0
0
0
0
0
0
0
-2
-3
3
2
0
7
2
0
0
0
0
0
0
0
0
0
0
0
-1
-13
4
-9
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
-53
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
9
1
7
0
-18
0
0
0
0
0
0
0
0
0
1
0
1
4
-8
8
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-2
-11
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
8
-12
-29
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
2
7
0
0
0
0
0
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
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-3
-1
-7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-8
2
-15
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
-1
-9
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
2
6
-3
1
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
7
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-1
0
-2
-8
17
0
0
0
0
0
0
0
0
0
0
1
0
-1
-26
-7
-21
-8
0
0
0
0
0
0
0
0
0
0
-1
0
-8
-2
-40
0
2
1
0
0
0
0
0
0
0
0
0
-1
0
6
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
7
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
2
-2
0
0
0
0
1
1
0
0
0
0
0
0
0
0
-2
0
4
-9
-3
-26
-1
0
0
0
0
0
0
0
0
0
0
-2
-1
-8
9
12
2
0
0
0
0
0
0
0
0
0
0
0
0
-33
-2
13
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-12
7
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
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
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
1
34
-13
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-22
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
38
37
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-10
-2
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
7
4
-4
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-1
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
-1
10
-19
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
9
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
11
3
-1
0
0
0
0
0
0
0
0
0
0
-1
0
4
-1
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
9
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-3
-18
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
-8
-2
0
0
59
-12
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-24
26
7
0
0
0
0
0
0
0
0
0
0
0
0
9
4
-6
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
-12
-8
-17
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
4
-14
-11
0
0
0
0
0
0
0
0
0
0
0
3
0
-8
-15
35
11
-2
0
0
0
0
0
0
0
0
0
0
1
0
-3
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
4
7
2
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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-34
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-44
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-7
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-13
7
-17
0
0
0
0
0
0
0
0
0
0
0
0
-4
28
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-3
-1
8
-4
3
9
2
0
0
0
0
0
0
0
0
0
0
0
4
-24
-9
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
-6
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
-1
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
1
-1
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
2
4
-8
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
9
23
11
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
17
-22
-13
0
0
0
0
0
0
0
0
0
0
0
-1
4
16
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
8
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
10
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
-16
-9
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
2
-21
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-3
-1
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
9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
25
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
7
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
16
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
15
-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
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
6
-32
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
16
-11
1
1
-3
0
0
0
0
0
0
0
0
0
0
8
-3
-13
-16
20
26
0
0
0
0
0
0
0
0
0
0
0
4
10
-3
-8
11
-3
0
0
0
0
0
0
0
0
0
0
0
2
-3
-9
-4
3
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2
4
0
7
18
15
-6
1
0
0
0
0
0
0
0
0
0
0
-1
-3
-19
10
33
-7
0
0
0
0
0
0
0
0
0
0
0
-2
1
18
-27
-9
-13
1
0
0
0
0
0
0
0
0
0
0
-33
-5
-4
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-35
39
8
0
0
0
0
0
0
0
0
0
0
0
0
13
7
4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-8
-12
0
11
-7
-4
0
0
0
0
0
0
0
0
0
0
-3
-1
-21
-4
8
-1
1
-10
0
0
0
0
0
0
0
0
0
0
1
0
1
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-18
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
4
-3
-2
-2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
1
3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
12
-16
1
-3
11
-2
2
0
0
0
0
0
0
0
0
1
3
0
17
-2
3
3
0
0
0
0
0
0
0
0
0
0
0
-2
-2
1
1
8
2
0
0
0
0
0
0
0
0
0
0
0
-3
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-6
6
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
0
12
0
7
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
1
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
4
-7
3
0
2
0
2
0
0
0
0
0
0
0
0
0
0
-1
-11
11
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-6
0
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
6
1
1
6
0
0
0
0
0
0
0
0
0
0
0
-11
0
9
0
-12
-1
-3
1
0
0
0
0
0
0
0
0
0
2
3
-18
-38
-2
1
7
0
0
0
0
0
0
0
0
0
0
-11
1
-6
33
-22
-11
0
0
0
0
0
0
0
0
0
0
0
-3
3
1
19
-14
-1
0
0
0
0
0
0
0
0
0
0
0
10
3
40
-11
9
-1
0
0
0
0
0
0
0
0
0
0
0
2
-1
-4
-10
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-28
12
-9
-9
-3
0
0
0
0
0
0
0
0
0
0
10
1
3
-24
-3
12
-1
-1
0
0
0
0
0
0
0
0
1
18
-6
16
9
-34
-11
2
0
0
0
0
0
0
0
0
0
-1
-32
2
-6
-23
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-4
7
6
38
10
0
0
0
0
0
0
0
0
0
0
0
1
21
4
-1
-1
2
-8
0
0
0
0
0
0
0
0
0
0
1
-27
-4
2
13
1
1
0
0
0
0
0
0
0
0
0
0
0
-18
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
0
3
0
2
-1
0
0
0
0
0
0
0
0
0
-1
-3
0
0
9
3
-1
0
0
0
0
0
0
0
0
0
0
4
3
3
6
0
-11
-4
-2
0
0
0
0
0
0
0
0
0
28
8
24
-13
-23
3
-1
1
0
0
0
0
0
0
0
0
0
0
4
-15
-1
2
-8
0
0
0
0
0
0
0
0
0
0
0
3
3
2
-4
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
1
25
-6
3
0
0
2
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
-27
-7
2
-1
13
0
-1
0
0
0
0
0
0
0
0
0
0
0
27
-1
-2
10
3
-1
0
0
0
0
0
0
0
0
0
1
-6
0
3
9
29
1
0
0
2
0
0
0
0
0
0
0
0
1
-9
-2
-6
6
1
0
0
0
0
0
0
0
0
0
0
2
-1
-11
-6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
24
2
-1
0
0
1
0
0
0
0
0
0
0
0
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
-1
2
0
2
3
0
0
0
0
0
0
0
0
0
0
0
-9
-6
0
0
0
-1
-2
0
0
0
0
0
0
0
0
-1
-9
-6
-5
4
8
2
0
0
0
0
0
0
0
0
0
0
1
0
9
16
5
-4
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
1
-7
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
12
17
-1
-2
-2
-3
0
-2
-1
0
0
0
0
0
0
0
8
1
3
-9
-3
1
-1
-4
0
0
0
0
0
0
0
0
0
4
17
7
0
18
1
0
0
-1
0
0
0
0
0
0
0
0
-2
-4
0
-8
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
7
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
4
1
1
-1
1
0
0
0
0
0
0
0
0
0
-1
-4
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
1
1
0
0
0
0
0
0
0
0
0
-2
0
2
2
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
1
2
10
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
6
-2
-3
0
0
0
0
0
0
0
0
0
0
0
-3
3
-2
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-4
3
-1
0
0
0
0
0
0
0
0
0
0
0
-8
9
-2
-1
12
-2
0
0
0
0
0
0
0
0
0
0
0
3
7
-3
-15
-3
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-7
-4
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
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-24
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-12
-15
1
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
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
15
-4
0
-3
0
1
0
0
0
0
0
0
0
0
0
13
7
18
39
-4
6
3
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
6
-12
-7
-4
10
0
0
0
0
0
0
0
0
0
0
0
15
-2
25
4
-3
-1
-4
0
0
0
0
0
0
0
0
0
0
-25
1
-11
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-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
38
0
-9
16
-4
0
-1
0
0
0
0
0
0
0
0
0
-3
15
0
-7
-41
-6
26
0
1
0
0
0
0
0
0
0
0
0
10
-3
-30
1
-25
0
0
0
0
0
0
0
0
0
0
0
2
4
-8
-32
7
-7
-7
1
0
0
0
0
0
0
0
0
0
0
9
-7
2
-9
1
-7
0
0
0
0
0
0
0
0
0
0
0
3
-1
7
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
-10
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
6
2
-9
6
-2
-3
0
0
0
0
0
0
0
0
0
-1
-21
-16
-1
0
7
-3
-3
0
0
0
0
0
0
0
0
0
-2
10
19
1
-10
-3
2
0
0
0
0
0
0
0
0
0
0
-1
4
4
6
8
16
-2
0
0
0
0
0
0
0
0
0
0
-1
-1
15
-1
17
3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
-12
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
11
7
7
2
6
-2
3
0
0
0
0
0
0
0
0
0
0
1
-2
2
7
1
3
-1
0
0
0
0
0
0
0
0
0
0
7
1
-2
0
0
1
4
-1
0
0
0
0
0
0
0
0
-3
1
-6
-16
0
-19
4
0
0
0
0
0
0
0
0
0
0
1
-6
-9
9
1
-7
0
0
3
0
0
0
0
0
0
0
0
1
-1
33
1
0
3
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-13
0
3
0
-8
0
0
0
0
0
0
0
0
0
0
1
6
4
-6
-19
0
-2
2
0
0
0
0
0
0
0
0
0
-3
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
9
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
1
1
9
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-2
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
13
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
-1
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
17
1
-2
0
0
0
0
0
0
0
0
0
0
-1
0
3
4
3
-27
0
1
0
0
0
0
0
0
0
0
0
1
2
-21
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
2
3
-7
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
8
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-4
38
-1
-15
6
-3
-7
-2
1
0
0
0
0
0
0
0
0
0
-15
-2
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-6
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
2
-29
-9
7
0
0
0
0
0
0
0
0
0
0
0
7
4
-15
-20
23
11
2
1
0
0
0
0
0
0
0
0
0
0
-30
-22
-15
13
-8
3
0
0
0
0
0
0
0
0
0
0
2
-1
42
-13
1
-6
-1
0
0
0
0
0
0
0
0
0
0
1
2
-28
38
-18
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
2
-7
0
0
2
0
0
0
0
0
0
0
0
0
0
-7
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
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
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-10
-8
-3
-6
-1
0
0
0
0
0
0
0
0
0
0
1
-1
-25
-12
7
2
2
0
0
0
0
0
0
0
0
0
0
-6
1
12
6
18
0
-1
0
0
0
0
0
0
0
0
0
0
1
6
0
-3
3
1
0
0
0
0
0
0
0
0
0
0
0
7
0
16
0
21
-8
0
0
0
0
0
0
0
0
0
0
0
1
0
13
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
-7
0
-1
3
0
0
0
0
0
0
0
0
0
0
1
12
1
-7
4
-8
10
2
0
0
0
0
0
0
0
0
0
0
-3
4
12
-6
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
8
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
2
5
4
-28
2
10
6
0
0
0
0
0
0
0
0
0
0
16
-13
-2
-12
10
2
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
-4
-12
-4
0
-6
-2
4
-1
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
-1
-2
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
-6
-8
9
0
0
3
0
0
0
0
0
0
0
0
0
0
0
12
0
-7
0
11
0
0
-1
0
0
0
0
0
0
0
0
0
16
18
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
0
1
1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-4
0
4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
0
0
-1
0
0
0
0
0
0
0
0
0
4
7
-1
2
13
0
-13
0
3
0
0
0
0
0
0
0
0
0
-3
-1
22
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
2
1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-1
-1
-4
0
0
0
0
0
0
0
0
0
0
-3
9
-1
1
-3
-4
0
1
0
0
0
0
0
0
0
0
0
-2
3
3
10
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
25
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-16
3
-3
0
8
2
0
0
0
0
0
0
0
0
0
3
21
-2
6
13
-20
1
2
-3
0
0
0
0
0
0
0
0
-1
-25
2
-33
6
0
-12
0
0
0
0
0
0
0
0
0
0
7
-10
1
-10
11
0
1
0
0
0
0
0
0
0
0
0
0
-3
-3
-4
-9
-17
-1
2
0
0
0
0
0
0
0
0
0
0
0
-12
8
-1
2
9
-1
0
0
0
0
0
0
0
0
0
0
-3
-3
-4
1
4
0
0
0
2
0
0
0
0
0
0
0
0
-2
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-8
-13
-2
0
0
0
0
0
0
0
0
0
0
0
0
12
-6
-6
11
24
1
0
0
0
0
0
0
0
0
0
0
0
-10
19
-8
30
7
3
4
0
0
0
0
0
0
0
0
0
0
-10
-2
30
-10
12
0
1
0
0
0
0
0
0
0
0
0
0
-4
-15
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
0
0
1
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
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
4
-22
1
-1
1
0
0
0
0
0
0
0
0
0
0
2
0
-17
8
-2
-2
1
0
0
0
0
0
0
0
0
0
0
2
0
4
28
-28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-18
-2
3
0
-6
0
0
0
0
0
0
0
0
0
0
-7
2
0
27
-20
2
0
0
0
0
0
0
0
0
0
0
0
20
2
-25
6
-12
4
1
0
0
0
0
0
0
0
0
0
0
-9
0
-16
-4
6
0
0
0
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
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
10
9
-9
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
0
19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
9
-1
-1
10
-2
0
0
0
0
0
0
0
0
0
0
-3
3
6
6
2
-3
0
0
0
0
0
0
0
0
0
0
0
7
0
9
-2
7
-4
0
0
0
0
0
0
0
0
0
0
0
-2
-9
13
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
4
-1
0
0
0
0
0
0
0
0
0
0
2
6
-7
6
-1
0
1
2
0
0
0
0
0
0
0
0
0
-1
4
-10
-7
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-2
0
0
-3
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-16
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
-1
-3
-6
0
0
0
0
0
0
0
0
0
0
2
-3
-1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
-1
-7
-2
6
6
-1
0
0
0
0
0
0
0
0
0
0
0
-2
3
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
-8
3
0
1
-3
0
0
0
0
0
0
0
0
0
0
-1
3
-1
8
0
1
-1
-4
0
0
0
0
0
0
0
0
4
19
-12
-19
4
-12
2
1
0
1
0
0
0
0
0
0
0
-1
2
15
-19
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
-10
2
7
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
12
-9
-4
0
-4
-1
0
0
0
0
0
0
0
0
0
0
-1
4
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-10
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-19
12
-2
-8
2
0
0
0
0
0
0
0
0
0
0
0
10
18
-10
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
1
-6
-7
18
10
0
0
0
0
0
0
0
0
0
0
0
0
-3
-52
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
16
1
7
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
-11
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
-20
16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
15
7
-1
0
-1
0
0
0
0
0
0
0
0
0
4
0
0
-1
-6
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
6
6
-12
6
-7
1
0
0
0
0
0
0
0
0
0
0
0
3
0
-10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-10
-2
9
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
9
-3
2
2
16
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-13
-4
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
1
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
7
-4
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
0
-1
-2
0
1
0
0
0
0
0
0
0
0
0
0
4
6
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
-1
2
-4
0
0
0
0
0
0
0
0
0
0
-1
-2
-2
4
-3
4
2
-1
0
0
0
0
0
0
0
0
0
1
0
-4
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-13
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
3
0
2
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-2
0
6
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
4
0
2
0
-4
2
0
0
0
0
0
0
0
0
0
1
-14
8
0
0
0
-1
3
-1
0
0
0
0
0
0
0
0
8
18
8
4
-4
0
-1
0
0
0
0
0
0
0
0
0
0
-12
16
1
-3
18
10
0
0
0
0
0
0
0
0
0
0
0
2
3
11
-1
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
-7
9
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
-11
0
-4
3
3
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
2
0
4
0
0
0
0
0
0
0
0
0
0
0
2
21
6
10
-3
-1
2
0
0
0
0
0
0
0
0
0
0
-3
-3
-7
-15
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-13
1
-1
0
0
0
0
0
0
0
0
0
0
0
-3
-6
10
-3
15
0
0
0
0
0
0
0
0
0
0
0
0
10
-3
4
8
-1
1
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
9
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
30
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-21
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
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
0
0
0
0
0
0
0
0
0
8
0
1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
3
6
1
1
-1
0
0
0
0
0
0
0
0
0
0
-3
2
56
-17
-1
0
-1
0
0
0
0
0
0
0
0
0
0
-6
-4
18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
19
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
6
35
-7
-3
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
7
3
15
-1
-2
0
0
0
0
0
0
0
0
0
0
0
1
-13
1
3
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
9
4
-8
0
6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
16
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
15
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-12
0
-1
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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
-13
-2
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
1
-1
4
-13
1
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
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
-9
-3
0
0
0
4
2
0
-1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
-13
2
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
8
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
-12
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-3
-3
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
18
-8
-22
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
11
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
10
-3
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
2
-13
0
18
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
3
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
-7
-7
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
8
15
-8
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
1
16
0
-1
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
1
0
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
2
0
0
0
0
0
0
0
0
1
0
0
-8
-10
-2
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
12
0
4
0
0
0
0
0
0
0
0
0
0
0
0
7
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
27
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-2
-3
8
0
-10
-16
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-4
-8
-3
-1
-2
0
0
0
0
0
0
0
0
0
0
-1
7
3
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
12
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
6
3
-7
0
9
0
0
0
0
0
0
0
0
0
0
0
2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-3
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
7
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
13
-13
-5
-17
0
0
0
0
0
0
0
0
0
3
0
0
-3
-15
-8
37
2
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
12
-18
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
1
12
-6
-33
-2
-4
0
0
0
0
0
0
0
0
0
-2
0
-1
6
-12
17
13
15
-3
0
0
0
0
0
0
0
0
0
-1
0
0
7
0
-17
-8
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
-12
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
2
7
3
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
7
-1
-1
0
0
0
0
0
0
0
0
0
0
1
-2
26
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
-3
-3
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
8
0
0
0
0
1
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
2
0
9
-38
-20
-20
0
0
0
0
0
0
0
0
0
0
0
-2
1
-4
7
-11
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-1
3
3
6
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
-1
6
1
28
-13
11
0
1
0
0
0
0
0
0
0
0
0
0
-1
-2
17
-27
-6
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
1
1
-8
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
18
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
24
14
-4
-45
18
2
0
0
0
0
0
0
0
0
0
0
0
1
-5
18
-11
-11
0
0
0
0
0
0
0
0
0
0
0
0
-18
6
-1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
12
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
0
0
3
0
0
0
0
0
0
0
0
0
1
-1
-3
1
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
9
3
-48
1
-34
-1
0
0
0
0
0
0
0
0
0
0
0
-3
0
23
6
-26
0
0
0
0
0
0
0
0
0
0
0
-1
3
8
-8
2
13
0
0
0
0
0
0
0
0
0
0
0
0
6
4
7
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
-24
-12
24
-25
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
6
-25
-4
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
25
2
-1
0
0
0
0
0
0
0
0
0
0
0
9
3
0
-7
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-21
-36
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
12
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
21
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
7
3
0
-8
0
0
0
0
0
0
0
0
0
0
0
2
-1
-9
3
-18
4
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
17
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
5
20
2
0
0
0
0
0
0
0
0
0
1
0
0
1
-10
-12
-11
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
2
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-10
18
0
-2
0
0
0
0
0
0
0
0
0
0
-2
-2
12
32
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
13
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-16
9
0
3
0
0
0
0
0
0
0
0
0
0
0
3
2
2
-6
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
3
-1
0
0
0
0
0
0
0
0
1
0
0
-3
13
2
2
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
-19
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
15
6
-17
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
16
1
-1
2
-1
0
0
0
0
0
0
0
0
0
0
-4
1
-7
2
6
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-1
0
-27
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
8
4
-4
4
1
0
-2
0
0
0
0
0
0
0
0
2
-1
3
6
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-25
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
1
-3
-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
1
0
0
0
0
0
0
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
-2
6
-14
0
0
0
-4
0
0
0
0
0
0
0
-1
0
0
8
8
1
-15
1
-24
0
0
0
0
0
0
0
0
0
0
-1
0
-10
-3
-8
-8
-19
1
0
0
0
0
0
0
0
0
0
0
0
3
-6
-8
2
-12
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
11
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-9
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
-1
0
-1
-38
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
17
-11
2
-1
0
0
0
0
0
0
0
0
0
0
0
2
6
7
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
8
-26
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
10
9
6
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
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
3
2
-4
1
0
0
0
0
0
0
0
0
0
0
0
1
-3
6
3
29
-3
0
0
0
0
0
0
0
0
0
0
0
0
-22
-6
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
11
4
12
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
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
8
0
0
0
19
0
0
0
0
0
0
0
0
0
-1
0
1
-1
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
1
0
15
-23
7
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
6
-8
14
8
0
0
0
0
0
0
0
0
0
0
1
0
12
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
4
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
6
1
-4
4
12
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
-3
1
-1
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
-4
-4
16
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
3
24
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
1
3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
1
21
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
4
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
10
-36
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
26
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
-32
-11
0
-28
22
0
0
0
0
0
0
0
0
0
0
0
-1
1
-7
0
-2
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
33
6
11
8
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
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
0
0
-1
0
0
0
0
0
0
0
1
0
1
3
2
-11
0
0
0
4
0
0
0
0
0
0
0
0
8
0
4
-3
-9
19
-1
11
0
0
0
0
0
0
0
0
0
0
0
0
3
3
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
16
-1
0
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
-2
-4
-10
0
0
0
4
0
0
0
0
0
0
0
0
0
0
1
0
-2
-19
-2
4
0
-2
0
0
0
0
0
0
0
1
-1
0
0
1
-1
8
0
-3
0
0
0
0
0
0
0
0
0
0
0
7
-1
-11
2
0
2
0
0
0
0
0
0
0
0
0
0
0
1
8
0
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
-1
2
11
8
0
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
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
13
-57
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
10
-10
0
0
0
0
0
0
0
0
0
0
0
0
-10
4
-1
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-4
-4
33
-13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
7
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
7
2
8
-3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
2
1
-3
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
4
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
8
-1
7
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
12
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
-7
1
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
7
-3
-9
-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
1
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
-8
8
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
21
8
-1
-1
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
3
-8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
13
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
23
-27
1
12
0
4
0
0
0
0
0
0
0
3
0
1
0
-6
-2
4
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
4
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
1
16
-3
0
0
0
-3
-1
0
0
0
0
0
0
-1
1
0
3
-9
-6
12
-19
-8
0
0
0
0
0
0
0
0
0
0
-1
0
1
-1
23
-8
13
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
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
-1
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
8
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
-15
-1
-36
39
-12
0
0
0
0
0
0
0
0
0
0
0
1
4
-7
30
1
-4
24
-3
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
-6
13
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
16
-7
1
0
0
0
0
0
0
0
0
0
0
0
1
9
17
3
-1
7
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
-3
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
-4
0
18
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-3
1
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
16
-15
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-9
-3
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
19
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
8
-7
-1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
6
-1
1
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
-10
0
0
0
7
0
0
0
0
0
0
0
0
0
0
1
-22
7
-4
19
-8
0
0
0
0
0
0
0
0
0
-1
0
-6
0
12
-7
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-1
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-8
0
0
0
-16
0
0
0
0
0
0
0
0
0
1
-4
1
15
4
-16
5
1
0
0
0
0
0
0
0
0
0
0
3
-6
21
-16
1
-18
-1
0
0
0
0
0
0
0
0
0
0
0
3
-2
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
10
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
-33
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
10
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
3
-9
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
-1
0
-4
-16
0
1
-3
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
28
-13
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
-1
0
2
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
8
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-10
9
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
12
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
10
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
36
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
-3
-3
3
-42
-7
0
0
0
0
0
0
0
0
0
0
0
-2
-1
8
-4
7
2
6
0
0
0
0
0
0
0
0
0
0
-4
-1
-2
0
-28
0
1
0
0
0
0
0
0
0
0
0
0
1
8
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
-1
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
9
0
-44
9
-27
4
0
0
0
0
0
0
0
0
0
0
-2
0
-10
-35
-1
7
1
0
0
0
0
0
0
0
0
0
1
-1
10
10
17
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
13
-38
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-28
-50
4
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-6
30
-16
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-7
0
3
0
0
0
0
0
0
0
0
0
0
0
12
1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
12
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
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
-7
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
-2
4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
-9
-7
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
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
-1
-2
-22
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-3
-20
-16
0
0
0
0
0
0
0
0
0
0
0
0
-8
-1
0
6
1
2
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-4
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-2
18
-13
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
4
11
33
0
0
0
0
0
0
0
0
0
0
0
-1
-3
3
4
0
8
2
0
0
0
0
0
0
0
0
0
0
1
0
-10
-19
0
-6
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
-9
1
0
0
0
0
0
0
0
0
0
0
0
-4
-34
-6
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
8
29
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
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
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-3
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
2
-4
8
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
-8
-1
-2
0
-1
0
1
0
0
0
0
0
0
0
0
1
-1
7
2
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-9
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
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-4
-1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
1
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
8
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
1
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
-10
-15
0
0
12
-1
2
0
0
0
0
0
0
0
0
0
0
6
2
9
15
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-8
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
2
2
-2
-4
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
-3
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-10
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
12
6
3
-3
-2
0
0
0
0
0
0
0
0
0
0
0
1
-2
-11
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
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
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
1
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-8
22
-10
16
3
0
0
0
0
0
0
0
0
0
0
0
-35
0
0
6
-1
1
0
0
0
0
0
0
0
0
0
0
6
3
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
-7
7
0
4
-1
0
0
0
0
0
0
0
0
0
0
4
0
9
-12
2
10
6
0
0
0
0
0
0
0
0
0
0
1
9
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
-3
11
-13
-2
-1
12
-1
1
0
0
0
0
0
0
0
0
0
0
2
0
6
2
0
2
1
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
3
6
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
10
1
6
1
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
2
-2
-8
0
0
9
1
-2
0
0
0
0
0
0
0
0
0
4
-1
-2
-12
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
6
-1
-8
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
2
11
11
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
10
1
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
7
4
-15
2
-6
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
11
13
-1
0
0
0
0
0
0
0
0
0
0
0
-8
2
20
-12
-7
1
-15
0
0
0
0
0
0
0
0
0
0
16
-9
-3
-20
15
11
1
0
0
0
0
0
0
0
0
0
0
-1
-4
-22
21
-7
2
-3
0
0
0
0
0
0
0
0
0
0
12
1
0
-12
-1
3
1
0
0
0
0
0
0
0
0
0
0
4
0
4
-4
-3
-1
0
0
0
0
0
0
0
0
0
0
0
4
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
25
9
-1
-1
4
0
0
0
0
0
0
0
0
0
0
0
-11
3
-8
12
11
1
1
0
0
0
0
0
0
0
0
0
0
-1
15
-2
-3
-4
0
0
0
0
0
0
0
0
0
0
0
1
11
18
-32
13
-4
-3
0
0
0
0
0
0
0
0
0
0
-1
-17
-28
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-9
0
4
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
1
0
0
2
0
0
0
0
0
0
0
0
0
0
-2
-18
-48
15
7
-10
0
2
0
0
0
0
0
0
0
0
0
3
-19
16
13
-9
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-3
14
4
-2
0
0
0
0
0
0
0
0
0
0
0
1
10
7
17
4
6
0
0
0
0
0
0
0
0
0
0
0
-16
4
1
0
3
0
0
0
0
0
0
0
0
0
0
0
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
-7
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
2
16
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
11
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
2
25
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-8
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
16
0
18
6
4
1
0
3
0
0
0
0
0
0
0
0
1
0
44
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-16
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
3
1
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-10
0
2
13
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
-9
9
0
0
7
0
0
0
0
0
0
0
0
0
1
-13
12
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
1
21
2
-4
-8
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
-10
-1
0
-1
0
0
0
0
0
0
0
0
0
0
2
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
-1
0
0
0
0
0
0
0
0
0
1
0
6
2
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
1
-2
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
1
-1
0
0
0
0
0
0
0
0
0
7
1
3
0
1
1
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
3
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-1
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
1
0
-1
0
0
0
0
0
0
0
0
0
-1
2
-3
1
0
3
3
2
0
0
0
0
0
0
0
0
0
0
1
9
-9
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
4
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
-2
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
2
8
-7
-33
-2
2
2
0
0
0
0
0
0
0
0
0
0
-12
7
-24
40
-16
0
0
0
0
0
0
0
0
0
0
0
0
6
13
6
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
0
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
24
-8
7
-2
4
0
0
0
0
0
0
0
0
0
0
-2
-6
-13
2
-3
-2
3
0
0
0
0
0
0
0
0
0
0
0
6
-1
38
-24
1
0
0
0
0
0
0
0
0
0
0
0
-1
-11
-8
27
-16
0
1
0
0
0
0
0
0
0
0
0
0
0
10
6
18
-11
3
0
0
0
0
0
0
0
0
0
0
0
-1
2
9
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
4
-4
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
16
-12
-6
4
1
0
0
0
0
0
0
0
0
0
0
0
7
-13
-4
1
-10
-1
1
0
0
0
0
0
0
0
0
0
0
1
-3
6
2
1
0
0
0
0
0
0
0
0
0
0
0
0
4
7
-17
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
12
2
10
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-27
2
0
-10
-2
12
0
-1
0
0
0
0
0
0
0
0
1
19
3
2
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
-1
-3
6
12
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
-1
0
0
0
0
0
0
0
0
0
0
-8
11
2
13
1
0
-1
0
0
0
0
0
0
0
0
0
0
11
13
12
-22
-2
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
4
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
4
3
2
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
4
0
2
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
3
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-1
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
3
-1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
11
3
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
11
1
0
1
0
0
0
0
0
0
0
0
0
0
25
0
-35
1
4
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-2
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
-9
-3
-2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
21
11
-6
2
-1
1
0
0
0
0
0
0
0
0
0
0
2
1
-9
-5
-37
12
0
0
0
0
0
0
0
0
0
0
0
7
6
8
25
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
10
-7
1
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
-3
-6
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
-27
11
8
1
9
9
0
0
0
0
0
0
0
0
0
0
0
-9
2
25
3
0
-1
1
1
0
0
0
0
0
0
0
0
0
-7
15
-3
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
3
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
-7
2
-1
2
2
0
8
0
0
0
0
0
0
0
0
0
0
-1
4
-6
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
17
9
3
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
21
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
-2
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
-2
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-6
-9
8
0
1
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
3
-1
-1
-2
1
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-3
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
11
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-6
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-7
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
1
6
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
16
19
-13
1
-3
0
0
0
0
0
0
0
0
0
0
0
24
-7
-8
0
-4
2
1
0
0
0
0
0
0
0
0
0
0
-6
-8
11
6
-1
0
-2
0
0
0
0
0
0
0
0
0
0
13
-9
6
6
-2
0
-2
0
0
0
0
0
0
0
0
0
0
-1
-10
6
0
0
0
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
22
12
2
2
27
2
0
0
0
0
0
0
0
0
0
0
0
6
-26
-15
1
-10
0
0
-1
0
0
0
0
0
0
0
0
0
4
6
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
-16
1
0
0
0
0
0
0
0
0
0
0
0
1
3
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-7
4
0
0
0
0
0
0
0
0
0
0
0
-2
8
6
-27
-7
6
2
0
0
0
0
0
0
0
0
0
0
9
19
12
-12
1
1
0
0
0
0
0
0
0
0
0
0
0
-1
-7
9
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-3
0
0
0
0
0
0
0
0
0
-1
1
4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
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
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
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
-1
3
1
0
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
-1
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
4
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
-2
-24
-32
1
-1
2
-2
0
0
0
0
0
0
0
0
0
0
4
6
-6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-8
3
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
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
-3
0
0
0
0
0
0
0
0
0
1
6
-3
-1
-1
1
0
3
0
0
0
0
0
0
0
0
0
2
22
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-3
6
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
6
3
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-7
-16
-11
-1
0
1
0
0
0
0
0
0
0
0
0
0
-3
35
-3
18
-6
-16
0
6
0
0
0
0
0
0
0
0
0
18
11
0
3
-3
1
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-6
-2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
8
-4
2
9
8
-1
0
0
0
0
0
0
0
0
0
0
0
13
-2
4
2
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
-1
4
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-19
0
0
-4
1
0
0
0
0
0
0
0
0
0
-7
10
13
1
-19
-9
1
0
0
0
0
0
0
0
0
0
0
-1
-14
19
-38
-17
1
1
0
0
0
0
0
0
0
0
0
0
-1
-1
9
-8
-1
6
0
0
0
0
0
0
0
0
0
0
0
-1
-2
11
-8
7
-1
3
-3
-1
0
0
0
0
0
0
0
0
2
2
-4
6
0
1
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
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
-2
0
1
-1
0
0
0
0
0
0
0
0
0
0
15
-8
18
14
-8
7
0
3
0
0
0
0
0
0
0
0
0
-7
4
-23
0
-6
7
0
0
0
0
0
0
0
0
0
0
0
3
3
-7
-19
-6
0
0
0
0
0
0
0
0
0
0
0
0
21
-1
6
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
2
1
0
0
0
1
0
0
0
0
0
0
0
0
0
-9
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-8
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
8
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-4
13
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
4
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
-16
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
25
7
9
2
-1
0
0
0
0
0
0
0
0
0
0
2
33
16
13
11
-1
1
0
0
0
0
0
0
0
0
0
0
-28
10
7
26
-9
0
0
0
0
0
0
0
0
0
0
0
0
4
0
7
19
3
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-18
-3
2
0
2
-1
0
0
0
0
0
0
0
0
0
0
25
4
-8
2
36
-6
-2
0
0
0
0
0
0
0
0
0
0
0
20
-7
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
16
-4
5
-28
6
3
0
0
0
0
0
0
0
0
0
0
0
-2
-25
-19
3
6
0
0
0
0
0
0
0
0
0
0
0
0
18
-1
15
-2
1
-1
0
3
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
-25
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
1
-2
1
0
-2
0
0
0
0
0
0
0
0
0
0
18
-13
-3
4
-1
2
2
0
0
0
0
0
0
0
0
0
0
1
12
25
-18
-3
3
0
0
0
0
0
0
0
0
0
0
0
-1
15
-28
12
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
22
-22
-22
-21
-3
0
0
0
0
0
0
0
0
0
0
0
7
-1
-2
21
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
1
1
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
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-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
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
-4
-2
4
4
-2
0
0
0
0
0
0
0
0
0
0
0
-3
2
-4
-2
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
27
10
-6
-1
8
2
0
0
0
0
0
0
0
0
0
0
0
10
7
-1
18
1
-2
-7
0
0
0
0
0
0
0
0
0
0
12
19
-1
-21
-25
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
2
-26
4
0
0
0
0
0
0
0
0
0
0
0
0
4
22
17
-13
-6
4
-1
0
0
0
0
0
0
0
0
0
0
-8
-6
0
8
-3
0
0
-3
0
0
0
0
0
0
0
0
0
4
-1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
10
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
8
-3
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-27
13
7
0
1
0
0
0
0
0
0
0
0
0
0
-1
2
9
4
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
-2
-22
0
-2
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
-11
2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
-2
1
0
0
0
0
0
0
0
0
-1
1
-2
10
0
0
0
9
-8
0
0
0
0
0
0
0
0
0
0
0
-1
16
-27
9
-9
-3
0
0
0
0
0
0
0
0
0
0
3
0
27
-18
5
8
6
1
0
0
0
0
0
0
0
0
0
-3
12
-11
7
0
16
0
0
0
0
0
0
0
0
0
0
0
-2
0
8
-14
-2
-9
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
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-10
10
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
6
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-6
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
21
10
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
-25
-5
0
0
0
0
0
0
0
0
0
-2
0
0
7
3
-32
1
-12
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-4
1
12
2
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
-2
1
-3
-8
9
-15
0
0
0
-3
-2
0
0
0
0
0
0
0
1
1
0
2
7
-9
3
-27
0
0
0
0
0
0
0
0
0
0
3
-2
2
-12
-15
5
-32
-1
0
0
0
0
0
0
0
0
3
0
0
-2
6
0
4
-15
0
0
0
0
0
0
0
0
0
0
-2
0
1
-9
-6
-13
-3
-9
0
0
0
0
0
0
0
0
0
1
1
-4
4
-3
2
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-8
0
0
0
-2
0
0
0
0
0
0
0
0
1
-3
11
-4
-18
0
0
0
-4
-8
0
0
0
0
0
0
0
0
0
3
-1
-4
-35
-35
-15
2
0
0
0
0
0
0
0
0
-1
0
-6
8
-1
10
-20
3
-3
-2
0
0
0
0
0
0
0
0
-2
0
3
10
35
-24
-7
-22
0
0
0
0
0
0
0
0
0
0
1
-13
-20
9
-7
24
13
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
11
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
-8
-1
2
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-1
11
2
2
1
0
0
0
0
0
0
0
0
0
0
1
1
2
-13
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-15
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-6
21
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-2
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
2
-15
-20
15
1
0
0
0
0
0
0
0
0
0
0
0
-6
-2
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
2
-13
6
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
1
-1
-1
1
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
4
3
-1
0
0
0
1
1
0
0
0
0
0
0
0
0
-3
11
-9
1
-9
-17
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
19
-13
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-49
-22
3
-6
1
0
0
0
0
0
0
0
0
0
0
0
-4
9
2
-6
-28
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-8
-1
-2
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
7
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
3
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
7
-24
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
7
3
1
8
-16
-1
0
0
0
0
0
0
0
0
0
2
2
0
8
-1
-6
32
-9
-5
0
0
0
0
0
0
0
0
0
0
-1
3
-13
-4
-5
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-18
-29
-3
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
6
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-3
0
0
0
0
0
0
0
0
0
0
2
1
0
-2
5
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-6
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
6
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
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
-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
1
-4
1
15
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-11
17
19
-36
-4
0
0
0
0
0
0
0
0
0
0
3
0
2
9
-4
-1
0
1
0
0
0
0
0
0
0
0
0
0
-1
8
24
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
2
-16
0
3
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
-2
0
0
0
0
0
0
0
0
0
-3
2
3
-11
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
6
7
-15
-5
0
0
0
0
0
0
0
0
0
0
0
7
10
-3
32
1
-6
0
0
0
0
0
0
0
0
0
1
2
-2
-3
-8
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
4
-6
-4
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
-1
-12
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-12
7
-18
1
-7
-11
1
0
0
0
0
0
0
0
0
-1
0
0
-2
2
-3
15
-27
0
-2
0
0
0
0
0
0
0
0
0
0
2
-4
21
16
0
1
-4
0
0
0
0
0
0
0
0
0
0
3
-4
-9
-22
-5
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-1
-9
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
1
1
2
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
1
2
9
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
1
2
4
4
-1
-2
0
0
0
0
0
0
0
0
0
0
1
-1
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-3
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
-3
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
1
11
0
2
-16
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-2
1
-1
-12
17
-1
0
0
0
0
0
0
0
0
0
0
0
-2
2
7
0
-24
25
0
0
0
0
0
0
0
0
0
0
-2
7
-32
-21
-12
-2
24
0
0
0
0
0
0
0
0
0
0
0
-1
6
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
-4
2
-9
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
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
2
0
0
-18
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
-8
0
3
-4
-26
1
0
0
0
0
0
0
0
0
0
0
2
-2
16
10
1
12
-8
0
0
0
0
0
0
0
0
0
0
2
4
8
-7
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-9
4
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
-1
1
-15
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
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-26
3
-22
12
1
0
0
0
0
0
0
0
0
0
0
0
-2
4
-34
17
-21
2
0
0
0
0
0
0
0
0
0
2
0
0
4
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
-16
8
-19
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
6
-2
10
0
0
0
1
0
0
0
0
0
0
0
0
0
0
2
2
-1
-13
22
-42
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
-42
7
7
-1
0
0
0
0
0
0
0
0
0
-1
0
-10
7
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-35
-11
1
-3
0
0
0
0
0
0
0
0
0
0
0
2
-3
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
1
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
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
-1
1
0
6
1
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
7
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-15
3
3
0
0
0
0
0
0
0
0
0
1
0
-1
0
11
-33
25
0
0
0
0
0
0
0
0
0
0
0
0
-12
-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
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
12
9
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
-4
-5
3
0
0
0
0
0
0
0
0
0
0
0
-1
10
1
-14
-4
-7
-1
0
0
0
0
0
0
0
0
0
0
8
-16
-18
9
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
32
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-16
4
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
9
12
-3
-4
0
-4
0
0
0
0
0
0
0
0
0
1
-2
9
1
-20
18
6
0
0
0
0
0
0
0
0
0
0
21
9
15
3
-5
-12
0
0
0
0
0
0
0
0
0
0
0
-5
7
-9
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
-8
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
2
1
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
6
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
2
6
-21
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
18
0
-8
-2
3
-1
0
0
0
0
0
0
0
0
0
0
-9
1
7
3
-24
1
-1
0
2
0
0
0
0
0
0
0
0
8
-4
0
17
1
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
-4
-1
14
0
0
0
0
0
0
0
0
0
0
0
13
-8
-20
39
-5
-12
5
-1
0
0
0
0
0
0
0
0
0
-13
23
-36
49
-17
-7
6
0
0
0
0
0
0
0
0
0
0
-22
19
8
-47
4
-21
-1
-12
-1
0
0
0
0
0
0
0
0
-3
-3
-13
6
46
0
7
0
0
0
0
0
0
0
0
0
0
-7
6
11
9
11
1
-3
0
0
0
0
0
0
0
0
0
0
-9
-3
-1
2
-11
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
6
18
-9
0
0
4
0
0
0
0
0
0
0
0
0
0
-12
-6
21
14
-2
-7
0
0
0
0
0
0
0
0
0
0
0
-13
13
-7
4
-1
-3
-4
0
0
0
0
0
0
0
0
0
0
0
-15
-3
24
0
0
2
0
0
0
0
0
0
0
0
0
0
0
9
9
-6
-9
0
-1
0
0
0
0
0
0
0
0
0
0
-2
2
-2
1
0
-7
0
0
0
0
0
0
0
0
0
0
0
-2
1
3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
7
-4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
1
9
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
8
2
-7
9
-2
-1
0
0
0
0
0
0
0
0
0
8
-6
-24
0
-7
4
2
0
0
0
0
0
0
0
0
0
0
-1
45
15
-4
10
0
1
0
0
0
0
0
0
0
0
0
0
6
-17
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
15
3
2
0
3
1
0
0
0
0
0
0
0
0
0
0
-1
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
2
-25
12
28
18
0
0
0
0
0
0
0
0
0
9
-2
-13
-18
-1
-13
7
-6
1
0
0
0
0
0
0
0
0
-7
-23
-2
-12
6
-6
1
0
0
0
0
0
0
0
0
0
0
25
-25
11
10
6
-2
0
0
0
0
0
0
0
0
0
0
0
-7
-11
-33
-29
45
-2
-3
0
0
0
0
0
0
0
0
0
0
-4
-28
-2
20
2
0
1
1
0
0
0
0
0
0
0
0
0
8
9
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-13
15
-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
-6
-5
-25
-17
-11
-7
0
6
0
1
0
0
0
0
0
0
0
28
-2
39
1
0
-34
30
-15
0
0
0
0
0
0
0
0
0
3
-28
-13
-10
17
0
-43
4
0
0
0
0
0
0
0
0
0
4
-6
-12
-29
-16
6
-4
0
0
0
0
0
0
0
0
0
0
4
1
24
-25
11
-8
0
1
0
0
0
0
0
0
0
0
0
0
-2
28
72
11
-1
1
0
0
0
0
0
0
0
0
0
0
2
-6
-5
6
13
-3
0
-1
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-11
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
7
31
-13
-16
29
30
0
7
0
0
0
0
0
0
0
0
-39
53
22
-1
22
-4
-7
1
-2
0
1
0
0
0
0
0
0
-40
12
-23
-21
-8
4
2
1
0
0
0
0
0
0
0
0
0
51
4
-29
-9
26
8
-18
3
0
0
0
0
0
0
0
0
0
-3
16
5
-19
27
-7
0
0
0
0
0
0
0
0
0
0
0
14
-16
6
-27
-15
-6
9
0
0
0
0
0
0
0
0
0
0
9
-1
-12
-7
-1
0
-4
0
1
0
0
0
0
0
0
0
0
18
23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-14
3
9
-1
7
0
-1
0
1
0
0
0
0
0
0
0
15
-3
-21
-1
0
-9
11
-1
0
0
0
0
0
0
0
0
0
7
0
-2
-39
10
-8
1
0
0
0
0
0
0
0
0
0
0
-7
3
-4
-13
9
1
-3
0
0
0
0
0
0
0
0
0
0
7
-6
-2
-45
-3
-1
1
0
0
0
0
0
0
0
0
0
0
22
-6
-12
-2
-8
0
0
1
0
0
0
0
0
0
0
0
0
-3
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
1
9
-6
0
0
1
0
0
0
0
0
0
0
0
0
-22
17
-6
2
0
-7
0
0
0
0
0
0
0
0
0
0
0
-7
0
-9
0
2
3
0
0
0
0
0
0
0
0
0
0
0
-3
3
-4
-9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
-1
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
4
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
-9
13
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
3
1
1
7
0
0
0
0
0
0
0
0
0
0
10
-50
37
1
-6
-1
0
-1
0
0
0
0
0
0
0
0
0
-7
-11
11
-10
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
8
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
3
-11
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
-3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
5
18
17
12
0
-1
0
0
0
0
0
0
0
0
0
-2
-12
39
-43
-11
19
0
2
0
0
0
0
0
0
0
0
0
1
1
-8
8
33
25
0
0
0
0
0
0
0
0
0
0
0
-6
26
4
9
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
-19
12
39
-15
-35
0
0
0
0
0
0
0
0
0
0
0
6
9
-2
-3
-3
-2
0
0
0
0
0
0
0
0
0
0
0
2
-6
18
8
0
-1
0
-1
0
0
0
0
0
0
0
0
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
-2
-15
-8
-17
13
1
-8
4
0
0
0
0
0
0
0
0
0
7
-15
-7
3
-1
27
-21
-8
-7
0
0
0
0
0
0
0
0
-1
10
-7
-39
4
-32
-35
-2
-1
0
0
0
0
0
0
0
0
-4
8
11
36
-2
11
-1
0
0
0
0
0
0
0
0
0
0
1
34
0
-8
28
34
-3
0
0
0
0
0
0
0
0
0
0
0
6
-8
22
-22
15
0
0
0
1
0
0
0
0
0
0
0
0
-4
-9
1
13
0
0
0
1
0
0
0
0
0
0
0
0
-3
24
7
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
18
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
7
50
-20
1
-7
0
1
0
0
0
0
0
0
0
0
20
-9
-9
-39
12
-7
6
10
1
0
0
0
0
0
0
0
0
37
4
-1
-10
-10
3
-24
-1
0
0
0
0
0
0
0
0
0
36
-16
14
-43
10
0
-3
0
0
0
0
0
0
0
0
0
0
34
-9
6
25
1
15
24
0
0
0
0
0
0
0
0
0
0
11
-2
-37
-39
-23
-6
-1
0
0
0
0
0
0
0
0
0
0
-13
15
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-7
-22
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
-6
0
3
-3
-1
1
0
0
0
0
0
0
0
0
0
0
0
-4
-2
8
-3
7
-6
1
-1
0
0
0
0
0
0
0
0
0
7
-2
4
7
3
2
7
0
0
0
0
0
0
0
0
0
0
0
3
-34
6
2
2
3
0
0
0
0
0
0
0
0
0
0
-2
0
2
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
9
-3
1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-2
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
-3
10
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-3
8
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-3
4
-7
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-12
7
-6
-8
0
2
0
0
0
0
0
0
0
0
0
-1
-1
6
18
3
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-2
0
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
7
13
-3
8
-1
0
0
0
0
0
0
0
0
0
0
1
25
11
8
-6
-22
0
-7
0
0
0
0
0
0
0
0
-4
-8
-14
-9
-19
-1
30
2
-3
0
0
0
0
0
0
0
0
10
-8
0
10
10
4
0
0
0
0
0
0
0
0
0
0
0
6
4
9
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
-4
4
-6
3
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
16
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
39
-4
10
-6
33
-29
2
0
0
0
0
0
0
0
0
0
3
1
6
19
-12
11
16
-19
1
0
0
0
0
0
0
0
0
-12
30
1
12
-24
-19
1
11
-3
0
0
0
0
0
0
0
0
15
10
-32
3
30
-17
-8
0
0
0
0
0
0
0
0
0
0
0
-17
17
-28
1
7
1
0
0
0
0
0
0
0
0
0
0
1
9
-25
15
-11
25
0
0
0
0
0
0
0
0
0
0
0
-4
19
0
-10
2
2
0
0
0
0
0
0
0
0
0
0
0
10
9
0
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
19
-22
39
8
-21
19
0
0
0
0
0
0
0
0
0
0
15
33
1
34
-13
3
24
0
0
0
0
0
0
0
0
0
0
0
18
1
-1
7
-8
1
3
0
0
0
0
0
0
0
0
0
-16
4
-33
-33
-2
12
-6
0
0
0
0
0
0
0
0
0
0
-7
-8
34
6
-2
6
0
0
0
0
0
0
0
0
0
0
0
18
-16
4
-16
-13
3
-4
0
0
0
0
0
0
0
0
0
0
0
8
9
32
-18
6
0
1
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
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-4
-6
10
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
7
2
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-12
10
19
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
6
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-11
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
8
1
2
7
0
0
0
0
0
0
0
0
0
0
0
-1
-4
10
-6
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-3
13
4
0
4
0
0
0
0
0
0
0
0
0
-10
21
15
16
-20
-2
-11
1
0
0
0
0
0
0
0
0
0
6
3
-30
16
-1
4
-4
0
0
0
0
0
0
0
0
0
0
0
15
0
3
-1
11
1
0
2
0
0
0
0
0
0
0
0
3
-1
0
6
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
2
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
28
6
-3
0
16
-1
0
0
0
0
0
0
0
0
0
7
6
24
-13
7
21
21
10
7
0
0
0
0
0
0
0
0
-13
22
-24
-35
8
18
18
0
-1
0
0
0
0
0
0
0
0
2
25
0
11
8
-9
1
0
0
0
0
0
0
0
0
0
0
-6
19
32
-8
-6
-4
-11
0
0
0
0
0
0
0
0
0
0
0
-10
0
4
-17
-7
0
0
0
0
0
0
0
0
0
0
0
0
-16
-11
-3
2
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
2
24
1
4
-3
2
0
0
0
0
0
0
0
0
0
0
9
7
20
35
22
7
0
-2
0
0
0
0
0
0
0
0
0
10
6
29
-9
21
9
2
-4
0
0
0
0
0
0
0
0
0
-12
-8
12
0
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
-7
-15
-34
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
5
2
6
2
0
0
0
0
0
0
0
0
0
0
13
-11
-4
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
3
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
7
0
-19
1
1
-1
0
0
0
0
0
0
0
0
0
0
6
2
-16
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
-3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
4
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
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
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
7
0
0
1
1
3
0
0
0
0
0
0
0
0
0
0
0
-12
-9
-6
0
-3
-1
0
0
0
0
0
0
0
0
0
-10
0
11
0
-6
1
0
-1
0
0
0
0
0
0
0
0
0
2
10
-1
-8
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
-11
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
11
2
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
3
1
-3
-1
2
0
0
0
0
0
0
0
0
0
0
-6
-4
-4
12
11
4
4
3
-7
0
0
0
0
0
0
0
0
3
-1
-10
-16
9
0
1
0
-1
0
0
0
0
0
0
0
0
2
29
-22
-12
-7
-4
-2
0
0
0
0
0
0
0
0
0
0
0
7
12
-16
-2
-10
0
-3
0
0
0
0
0
0
0
0
0
0
-10
18
-13
-4
1
0
0
0
0
0
0
0
0
0
0
0
-3
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
19
2
-3
0
2
1
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-1
0
3
0
3
0
0
0
0
0
0
0
0
0
0
18
8
19
-2
0
-6
0
0
-2
0
0
0
0
0
0
0
0
8
-26
38
-30
6
11
-10
4
0
0
0
0
0
0
0
0
0
12
8
-41
17
1
0
-3
0
0
0
0
0
0
0
0
0
0
-9
-16
15
11
0
4
0
0
0
0
0
0
0
0
0
0
0
16
22
0
19
8
10
-2
0
0
0
0
0
0
0
0
0
0
13
4
-6
-3
-8
-1
0
0
0
0
0
0
0
0
0
0
0
-32
-13
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
4
-2
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
9
19
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
11
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-6
-2
0
1
-3
0
0
0
0
0
0
0
0
0
-2
0
-1
-4
-1
0
1
0
0
0
0
0
0
0
0
0
0
1
9
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-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
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
12
0
-1
1
-1
-3
0
0
0
0
0
0
0
0
-1
3
5
-8
-18
4
-6
4
0
0
0
0
0
0
0
0
0
-1
18
28
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
8
13
6
-32
-4
-4
1
0
0
0
0
0
0
0
0
0
0
0
-3
-8
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
8
-9
0
0
0
0
0
0
0
0
0
0
0
0
12
1
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
2
-4
1
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
34
-4
0
11
-11
-4
0
1
0
0
0
0
0
0
0
0
0
-4
-9
7
-4
-6
-12
3
-4
0
0
0
0
0
0
0
0
0
-2
-14
-12
7
-4
1
7
1
0
0
0
0
0
0
0
0
0
7
7
14
4
15
-1
0
0
0
0
0
0
0
0
0
0
0
-7
26
13
1
16
0
0
0
0
0
0
0
0
0
0
0
0
9
10
-33
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
7
6
4
1
0
0
0
0
0
0
0
0
0
0
0
0
10
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
2
0
0
0
1
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
-1
4
3
-7
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
6
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
21
-8
38
-36
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-1
19
-6
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
3
12
-2
-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
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
8
-23
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
-4
-4
12
-10
-7
-15
0
0
0
0
0
0
0
0
0
-1
0
1
-9
9
24
41
22
0
0
0
0
0
0
0
0
0
-2
0
0
-4
-13
20
-10
-10
0
0
0
0
0
0
0
0
0
0
0
6
12
-8
-13
-4
-17
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
0
-2
10
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
1
-7
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
3
29
0
0
0
19
0
0
0
0
0
0
0
0
0
1
0
-7
-3
47
-12
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
2
-33
-6
16
-7
0
0
0
0
0
0
0
0
0
-2
8
-19
-4
11
6
6
-3
0
0
0
0
0
0
0
0
0
0
-1
-3
1
11
6
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
-12
-10
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
1
-3
0
0
0
0
0
0
0
0
-1
0
0
8
-7
-3
0
-1
1
0
0
0
0
0
0
0
0
0
0
2
0
-13
-16
33
-1
1
0
0
0
0
0
0
0
0
0
-1
-2
-9
8
6
-13
-15
-2
0
0
0
0
0
0
0
0
0
0
0
-4
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
-6
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-37
-3
0
0
0
0
0
0
0
0
0
0
1
-1
-13
66
12
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
1
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
-1
-9
11
-1
-2
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
-3
1
-7
-11
1
7
0
0
0
0
0
0
0
0
0
0
0
-2
2
15
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-1
6
-2
0
0
0
0
0
0
0
0
0
0
1
0
1
4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
8
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
2
0
2
-11
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
16
19
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
2
8
-2
-2
-10
-15
-7
0
0
0
0
0
0
0
0
0
0
0
0
6
4
11
1
15
0
0
0
0
0
0
0
0
0
1
-1
0
1
1
3
-8
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
3
-4
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-33
37
13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-33
18
-54
27
-5
0
0
0
0
0
0
0
0
0
3
-1
20
-25
21
-48
0
-5
0
0
0
0
0
0
0
0
0
-2
22
-1
-7
44
-2
-11
-1
0
0
0
0
0
0
0
0
0
0
0
-4
-12
2
-1
13
12
0
0
0
0
0
0
0
0
0
0
0
1
6
12
-6
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
19
0
0
0
-11
0
0
0
0
0
0
0
0
-2
-12
0
-15
15
0
0
0
7
0
0
0
0
0
0
0
0
1
0
4
-27
-15
6
-13
-32
3
0
0
0
0
0
0
0
0
0
-15
0
40
-19
8
21
6
-3
0
0
0
0
0
0
0
0
0
0
0
28
-6
19
21
-2
-5
0
0
0
0
0
0
0
0
0
0
1
1
-13
25
-2
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-9
-10
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
-9
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
-10
7
-19
0
0
0
5
-7
0
0
0
0
0
0
0
0
0
0
26
7
10
18
25
-9
3
0
0
0
0
0
0
0
-1
0
3
2
10
38
2
-2
-22
0
0
0
0
0
0
0
0
0
0
0
-6
9
15
-1
-26
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
-25
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
21
-1
0
0
0
0
0
0
0
0
-1
0
0
-15
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
-7
-42
7
-3
9
0
1
0
0
0
0
0
0
1
0
0
3
6
0
-41
-4
16
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
1
15
-21
-1
0
0
0
0
0
0
0
0
0
0
-1
10
-2
-3
21
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
-10
0
1
0
0
0
0
0
0
0
0
-2
-2
-7
10
-10
-9
2
0
0
0
0
0
0
0
1
0
0
0
0
-18
7
-3
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
2
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
30
-4
-1
0
0
0
0
0
0
0
1
0
0
0
9
-28
-8
2
2
1
0
0
0
0
0
0
0
0
0
0
6
21
19
-11
-10
0
-1
0
0
0
0
0
0
0
0
0
0
-7
9
-2
-6
-8
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
-22
-14
0
0
0
0
0
0
0
0
0
0
0
1
1
0
9
-6
1
4
9
0
0
0
0
0
0
0
0
0
0
0
1
13
-20
15
15
-36
0
0
0
0
0
0
0
0
0
0
0
1
1
-4
6
0
11
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-1
3
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-21
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
-26
-17
12
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
6
2
-6
-65
8
-36
0
0
0
0
0
0
0
0
0
0
1
3
2
-22
51
-10
-27
0
0
0
0
0
0
0
0
0
0
0
10
10
-11
4
19
23
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
0
29
10
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
3
4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
0
0
-1
6
-4
-10
0
0
0
14
0
0
0
0
0
0
0
0
1
2
8
11
21
23
24
-3
1
0
0
0
0
0
0
0
0
0
0
4
-8
-50
2
12
-1
-8
0
0
0
0
0
0
0
0
0
0
0
-21
8
11
14
12
-1
0
0
0
0
0
0
0
0
0
0
-1
0
-8
1
-25
10
2
0
0
0
0
0
0
0
0
0
0
-1
3
1
-1
15
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
8
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-2
-2
1
0
0
0
4
-7
0
0
0
0
0
0
0
0
-1
0
-2
-15
-15
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-45
-6
4
34
-11
0
0
0
0
0
0
0
0
3
0
1
8
-14
-8
15
-14
-8
0
0
0
0
0
0
0
0
0
0
-1
4
-1
0
-9
-2
0
-6
0
0
0
0
0
0
0
0
0
0
3
1
0
-3
-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
-1
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
2
-13
0
0
0
-15
-2
0
0
0
0
0
0
0
0
0
0
0
2
-9
13
-24
2
4
0
0
0
0
0
0
0
0
0
0
0
24
-5
-22
13
-4
1
0
0
0
0
0
0
0
0
0
0
-1
0
6
7
-8
4
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
0
0
0
-12
3
-1
0
0
0
0
0
0
0
0
0
0
1
18
-2
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
3
7
6
10
-2
2
-1
0
0
0
0
0
0
0
2
0
4
1
-15
-3
0
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-9
-8
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
-1
-13
0
0
0
0
0
0
0
0
0
0
0
-1
4
1
12
-18
4
3
-14
0
0
0
0
0
0
0
0
0
0
-1
0
0
7
7
13
3
0
0
0
0
0
0
0
0
0
0
-1
0
12
3
-8
15
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-9
1
-2
17
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-12
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-16
2
2
32
-17
1
-39
0
0
0
0
0
0
0
0
0
0
2
-21
-8
0
-4
20
6
0
0
0
0
0
0
0
0
0
0
0
-8
5
33
-54
16
-19
0
0
0
0
0
0
0
0
0
0
3
1
10
13
11
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
-13
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
29
12
0
0
0
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
13
-8
2
0
0
0
1
0
0
0
0
0
0
0
0
-2
19
2
9
-27
0
0
0
3
0
0
0
0
0
0
0
0
1
0
-8
-6
27
38
14
27
-6
0
0
0
0
0
0
0
0
0
0
11
-2
4
-2
3
-8
1
0
0
0
0
0
0
0
0
0
0
-2
2
9
44
14
-15
0
0
0
0
0
0
0
0
0
0
0
-2
-16
12
-22
15
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
3
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-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
1
1
1
1
0
0
0
-20
-2
0
0
0
0
0
0
0
0
4
18
0
2
0
0
0
-18
4
0
0
0
0
0
0
0
0
0
-1
-4
22
11
-29
-46
2
0
0
0
0
0
0
0
0
0
0
0
0
12
-19
32
-39
-9
1
0
0
0
0
0
0
0
0
0
0
3
8
19
18
12
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
19
9
7
6
2
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
24
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
-5
-2
0
0
0
0
0
0
0
0
0
0
3
12
-9
-15
-21
10
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
7
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
4
6
4
-6
1
0
0
0
0
0
0
0
0
0
0
1
0
10
1
-2
-9
-1
0
0
0
0
0
0
0
0
0
1
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
2
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
25
-36
-11
0
0
0
0
0
0
0
0
0
0
0
1
-13
-6
37
4
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
1
8
0
0
0
0
0
0
0
0
0
0
0
1
0
0
6
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
0
28
29
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-6
-2
21
-11
-50
37
0
0
0
0
0
0
0
0
0
0
0
2
-15
-16
-34
-32
-4
0
0
0
0
0
0
0
0
0
0
1
0
-9
-18
-16
-3
6
0
0
0
0
0
0
0
0
0
0
-6
2
-28
-4
16
36
-1
0
0
0
0
0
0
0
0
0
0
0
-6
-7
-1
-7
-9
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
6
0
-1
-8
0
0
0
2
0
0
0
0
0
0
0
0
0
6
-7
-22
19
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
36
12
33
13
-36
0
0
0
0
0
0
0
0
0
0
0
6
-3
3
-5
10
-18
-10
0
0
0
0
0
0
0
0
0
0
-7
4
-19
19
11
-10
-1
0
0
0
0
0
0
0
0
0
0
1
-16
3
-12
10
-3
-1
0
0
0
0
0
0
0
0
0
0
3
-1
6
-9
1
-18
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
13
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
8
-7
-16
0
0
0
-1
-3
0
0
0
0
0
0
0
0
4
0
-1
-7
-1
26
11
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-8
-22
-21
11
0
0
0
0
0
0
0
0
0
0
0
1
17
4
28
-4
-7
0
0
0
0
0
0
0
0
0
0
0
9
7
9
15
8
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-10
-6
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
7
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-32
-1
0
0
0
0
0
0
0
-1
1
0
-3
-3
0
0
0
-36
0
0
0
0
0
0
0
0
0
0
0
4
0
6
-27
-6
15
6
-1
0
0
0
0
0
0
0
0
0
0
6
0
-7
50
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-13
1
1
1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
-21
2
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
-11
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
10
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-2
4
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
-9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
12
-8
5
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-10
-24
-15
0
0
0
0
0
0
0
0
0
0
2
0
0
16
4
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
-3
1
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
-10
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
-8
-32
-26
5
9
0
0
0
0
0
0
0
0
0
0
0
29
18
26
18
10
-12
0
0
0
0
0
0
0
0
0
0
2
-1
-9
8
-16
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-6
-3
0
12
0
0
0
0
0
0
0
0
0
0
0
0
-16
-10
2
7
8
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
-6
-2
0
0
0
0
0
0
0
0
0
1
0
-1
-1
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
12
-10
0
0
0
10
0
0
0
0
0
0
0
0
0
0
-2
1
1
-11
28
-52
3
0
0
0
0
0
0
0
0
0
0
0
9
-14
36
-4
20
15
0
0
0
0
0
0
0
0
0
0
8
10
12
7
-6
-3
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
11
10
-10
0
0
0
0
0
0
0
0
0
0
0
-1
-7
1
-1
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-8
0
0
0
10
0
0
0
0
0
0
0
0
2
0
-3
16
14
0
0
0
6
4
0
0
0
0
0
0
0
0
0
-3
-11
-11
20
-7
12
-1
0
0
0
0
0
0
0
0
0
0
0
1
13
-4
-25
9
8
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
28
-4
-5
-1
0
0
0
0
0
0
0
0
0
0
-9
1
6
3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
15
0
0
0
-11
0
0
0
0
0
0
0
0
0
1
0
-1
0
-1
-55
11
9
1
0
0
0
0
0
0
0
0
0
1
2
-1
6
-8
11
-4
1
0
0
0
0
0
0
0
0
0
0
0
-7
-9
4
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-15
-2
-9
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
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
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
-1
-2
-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
-2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
4
-2
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-2
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
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
2
13
8
-35
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
0
14
8
12
5
0
0
0
0
0
0
0
0
0
0
0
0
3
21
-74
-44
-10
0
0
0
0
0
0
0
0
0
0
0
-3
1
-6
-2
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
12
6
6
-10
22
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
7
17
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-1
-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
3
0
0
-6
0
0
0
0
16
0
0
0
0
0
0
0
0
0
-7
-1
1
-22
0
0
0
22
0
0
0
0
0
0
0
0
0
2
9
4
-1
17
20
15
-3
0
0
0
0
0
0
0
0
0
0
1
2
-16
17
4
-3
-2
0
0
0
0
0
0
0
0
0
1
0
0
13
25
0
7
1
0
0
0
0
0
0
0
0
0
0
0
-6
0
-13
12
-6
1
0
0
0
0
0
0
0
0
0
0
1
1
25
-1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
-3
-4
0
0
0
-18
-1
0
0
0
0
0
0
0
0
0
-1
1
13
2
-24
18
2
2
0
0
0
0
0
0
0
0
1
0
0
4
14
2
13
0
0
0
0
0
0
0
0
0
-4
1
-1
0
25
-24
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
7
-10
15
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
-1
0
0
3
3
-14
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
1
18
-1
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
-1
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
3
0
1
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-2
-15
10
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
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
1
0
2
1
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
6
-6
4
-12
-8
28
0
0
0
0
0
0
0
0
0
-1
0
-1
0
18
16
-11
-6
0
0
0
0
0
0
0
0
0
0
0
0
8
-15
63
-9
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-12
6
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
-3
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
10
34
49
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
-8
-1
-11
9
0
0
0
0
0
0
0
0
0
0
0
0
15
-10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
1
-1
0
16
-12
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-1
29
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
3
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
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
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-26
0
0
0
0
0
0
0
0
0
0
1
-2
0
-2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
4
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
1
-3
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
-2
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-8
19
4
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-8
8
-2
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-3
6
24
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
2
-3
0
0
0
0
0
0
0
0
0
-2
-2
6
-13
10
2
0
1
0
0
0
0
0
0
0
0
0
0
3
3
0
6
-6
2
0
0
0
0
0
0
0
0
0
0
0
3
-2
-11
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-20
0
2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
1
-3
2
1
0
0
0
0
0
0
0
0
0
0
0
3
1
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
7
0
6
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
1
-1
1
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-6
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
8
-2
3
2
1
0
0
0
0
0
0
0
0
0
-1
0
-8
24
-27
-2
-7
1
2
0
0
0
0
0
0
0
0
4
-1
34
6
-9
6
-12
7
0
0
0
0
0
0
0
0
0
10
-18
4
-1
0
-12
0
0
0
0
0
0
0
0
0
0
0
-1
7
-1
-6
8
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
16
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
-1
0
-3
-2
-4
0
7
-2
0
0
0
0
0
0
0
0
0
0
9
6
14
-3
11
13
0
-1
0
0
0
0
0
0
0
0
-2
-1
20
0
21
1
1
2
-1
0
0
0
0
0
0
0
0
0
-4
-6
-4
-8
7
0
0
-1
0
0
0
0
0
0
0
0
0
1
8
-8
19
2
2
0
0
0
0
0
0
0
0
0
0
0
8
4
1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
2
2
0
0
0
0
0
0
0
0
0
0
0
0
1
3
11
13
-4
-1
0
0
0
0
0
0
0
0
0
-3
3
0
3
-12
-1
1
1
0
0
0
0
0
0
0
0
0
0
-1
2
-2
1
-11
1
1
0
0
0
0
0
0
0
0
0
0
-2
-6
21
4
1
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
0
10
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
-1
7
21
0
-1
0
0
0
0
0
0
0
0
0
0
-3
9
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
2
-3
2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
0
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
3
1
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
7
-27
0
2
0
1
0
0
0
0
0
0
0
0
0
-1
-25
12
34
-7
-1
11
-4
0
0
0
0
0
0
0
0
0
0
7
16
-12
-1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
2
12
11
-2
-4
8
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
-9
-2
0
-1
0
0
0
0
0
0
0
0
0
1
-11
-3
11
4
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
6
8
-21
0
2
0
0
0
0
0
0
0
0
0
0
0
3
19
3
7
13
-8
-3
0
0
1
0
0
0
0
0
0
0
0
8
-1
-2
21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-12
2
-2
0
0
0
0
0
0
0
0
0
0
0
12
-3
0
-1
4
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-2
4
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
-8
1
2
-6
-1
0
0
0
0
0
0
0
0
0
0
10
-3
-1
8
4
7
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
2
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
-10
-6
-7
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
3
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
8
-1
0
0
0
0
0
0
0
0
0
0
0
1
6
-2
-1
9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
0
0
-3
0
6
2
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-7
1
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
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
-3
1
-1
3
1
0
0
0
0
0
0
0
0
0
3
2
-6
-9
18
10
8
6
0
0
0
0
0
0
0
0
0
0
-8
0
0
9
-13
0
0
0
0
0
0
0
0
0
0
0
2
0
-15
-12
-9
7
0
0
0
0
0
0
0
0
0
0
0
0
8
10
-3
-18
-2
0
0
6
0
0
0
0
0
0
0
0
1
-6
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-17
-2
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-2
0
0
3
1
0
0
0
0
0
0
0
0
0
0
13
7
-2
12
-2
-1
0
-1
2
0
0
0
0
0
0
0
0
-2
4
-4
9
0
-1
-3
0
0
0
0
0
0
0
0
0
-1
-12
1
11
3
17
-3
-1
0
0
0
0
0
0
0
0
0
0
6
-1
1
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-8
1
0
1
0
3
0
0
0
0
0
0
0
0
4
1
-1
-6
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
4
17
-8
0
-1
-1
0
0
0
0
0
0
0
0
0
0
-1
9
1
-3
28
1
0
0
0
0
0
0
0
0
0
0
0
11
-2
-4
-1
-1
1
-1
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
-3
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-3
-2
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
3
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
8
8
-2
-1
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-3
1
0
2
0
0
0
0
0
0
0
0
0
0
-2
-4
1
-15
0
27
0
4
0
0
0
0
0
0
0
0
0
3
-10
-14
-7
0
0
3
0
0
0
0
0
0
0
0
0
0
0
15
17
10
40
-3
2
0
6
0
0
0
0
0
0
0
0
0
-1
-28
0
4
10
1
0
0
0
0
0
0
0
0
0
0
0
-1
9
-12
0
1
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
15
0
0
0
0
0
0
0
0
0
0
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
-1
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
6
34
0
-13
-8
0
-3
0
0
0
0
0
0
0
0
0
11
1
-24
-19
16
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
12
16
16
0
0
0
0
0
0
0
0
0
0
0
0
1
0
16
-2
3
3
0
1
0
0
0
0
0
0
0
0
0
2
7
0
-10
7
-1
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
15
3
0
-1
0
0
0
0
0
0
0
0
0
0
2
6
0
-9
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
16
18
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-6
11
-7
-3
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
-3
-7
-1
0
0
0
0
0
0
0
0
0
0
0
-2
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
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
7
2
-1
-8
8
0
-3
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
4
2
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
1
-2
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-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
-3
3
-2
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
9
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-9
-7
2
0
20
-7
0
0
0
0
0
0
0
0
0
-3
3
-13
21
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-12
-4
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
6
-11
-13
0
0
1
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
12
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-1
-4
0
0
0
0
0
0
0
0
0
0
0
-10
0
-3
3
0
1
0
0
0
0
0
0
0
0
0
0
-3
-1
2
-13
-2
-3
8
1
1
0
0
0
0
0
0
0
0
0
-11
22
-13
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
1
4
26
-21
8
4
0
0
-1
0
0
0
0
0
0
0
0
-4
0
6
-1
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-6
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-1
1
8
0
1
3
0
0
0
0
0
0
0
0
0
0
-3
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-11
0
10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
1
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
2
-2
-2
0
-4
0
0
0
0
0
0
0
0
0
0
0
-2
-13
0
2
4
-2
0
0
0
0
0
0
0
0
0
0
0
8
-2
3
-9
-1
0
0
0
0
0
0
0
0
0
0
0
-1
6
3
18
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
7
1
-3
0
0
0
0
0
0
0
0
0
0
0
2
2
-9
4
2
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
11
2
-3
-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
3
-2
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
-4
7
7
-1
0
0
0
0
0
0
0
0
0
1
1
-3
2
-3
13
-2
1
0
0
0
0
0
0
0
0
0
0
-3
-6
9
7
8
1
0
1
0
0
0
0
0
0
0
0
0
2
6
0
0
-4
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
-11
10
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-4
1
6
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-13
0
1
-2
0
-2
0
0
0
0
0
0
0
0
0
-1
1
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
7
6
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
10
0
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
3
1
0
0
0
0
0
0
0
0
0
4
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-4
-16
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-10
-37
9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
1
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-14
8
-10
-17
30
0
0
3
25
-21
16
1
-18
-73
0
-25
58
9
7
3
2
-19
-45
0
14
-59
9
-47
-70
-5
6
51
0
-26
-7
-30
-41
11
0
-24
-1
0
-12
-4
-71
14
-3
-50
0
4
0
-11
11
4
-19
-25
-48
16
1
0
-4
-30
-58
4
20
7
-22
28
0
1
1
23
57
-12
23
16
4
0
-1
0
-8
19
6
64
31
1
0
-2
9
-9
7
33
-19
27
48
0
-1
0
-2
45
44
-15
-14
14
0
0
-1
-6
14
22
-1
34
-9
0
0
4
12
-14
-50
21
14
-2
0
0
19
-12
28
31
-14
-10
0
0
-11
-51
-6
-76
-32
-69
-13
-45
-4
-27
47
-26
13
-43
-12
-23
-53
-1
-59
-25
17
-12
-26
-17
-49
-30
-2
-28
-27
-4
-7
7
-1
-2
-12
0
0
-12
8
-1
-3
8
-2
-31
0
-28
-12
17
-8
-10
-14
-16
4
1
-10
-20
16
-41
-15
-11
-7
13
-19
-1
43
-16
-21
3
-2
-15
-3
7
62
10
-84
-13
-34
-41
2
2
0
4
-22
11
-34
-24
1
-32
5
-4
-42
33
-13
-12
9
25
-15
-9
1
0
-28
21
13
-18
-7
39
23
0
0
-3
14
2
49
72
54
17
0
-8
40
-25
39
41
44
20
31
0
-8
47
57
22
29
27
46
-3
0
44
-16
-9
-7
14
38
20
-29
0
14
-14
34
17
-30
18
45
-18
3
-12
-10
-20
-33
-2
-2
10
-39
0
10
-23
-12
-40
-35
-31
-38
-16
-63
-25
10
-24
-24
-23
-33
-36
-35
18
12
11
-34
-27
-21
-43
-63
-52
-2
-59
-10
-11
-1
-12
3
19
-14
0
0
-37
-14
-3
-4
15
25
-23
0
-15
-15
7
-28
-8
16
-24
-5
1
9
-11
6
-2
-33
-15
-40
5
-16
18
45
11
-13
-22
-16
4
29
12
44
5
-44
-26
-9
-34
27
-15
0
-3
-12
8
-22
-5
2
-36
5
-4
-8
32
-6
7
13
-10
12
-37
1
6
-35
7
-29
10
-11
-9
14
0
-4
-5
4
34
36
81
82
17
0
-9
47
2
16
27
60
10
10
0
-10
34
41
29
25
44
40
-25
0
47
-35
-6
-38
-7
22
31
-39
0
26
-3
-33
23
37
27
56
0
3
-5
-49
-5
-7
-4
5
-2
-58
0
11
7
-16
-23
-21
-38
-24
9
-47
-7
1
-33
-34
-34
-41
-54
-35
29
14
-19
-16
-53
-33
-67
-59
-58
0
6
-36
46
32
-59
-10
-2
-6
0
0
-5
-16
-39
0
20
3
-51
0
-4
31
-9
15
-39
-40
-19
3
0
4
1
-9
18
-37
-4
-19
-7
8
-12
25
-17
0
20
11
15
12
1
9
-10
32
-3
38
9
-4
8
0
2
1
-8
16
22
-16
-12
-1
0
1
4
6
7
7
-23
26
0
0
0
0
1
-6
-6
-1
-6
0
0
0
0
-1
43
10
14
-1
1
0
0
0
16
15
28
36
42
-1
0
0
-9
22
41
7
27
-1
7
0
1
12
-23
5
-26
4
14
-10
0
23
5
-29
41
39
-31
1
-21
1
19
29
-1
-15
-19
-44
-4
-1
0
-22
-19
8
26
-36
1
-34
-11
1
-16
2
-33
-48
-65
-30
-34
-75
19
3
14
-5
-79
-8
-22
-60
19
0
2
-1
1
4
67
67
-1
0
0
0
0
0
0
0
0
0
0
0
2
1
11
8
18
2
6
0
0
0
0
0
0
0
0
0
0
3
0
8
31
-2
11
24
0
0
0
0
0
0
0
0
0
0
0
-1
12
17
30
-7
29
0
0
0
0
0
0
0
0
0
0
0
0
17
14
33
57
7
-18
2
0
0
0
0
0
0
0
0
0
0
0
29
0
61
46
25
-4
-1
0
0
0
0
0
0
0
0
0
0
0
23
54
62
35
30
-2
0
0
0
0
0
0
0
0
0
0
0
0
18
26
81
22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
11
43
-38
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-12
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-7
0
10
-4
10
23
17
0
0
0
0
0
0
0
0
0
0
-6
2
8
14
13
-2
37
13
-7
0
0
0
0
0
0
0
0
0
9
10
18
22
23
9
31
8
2
0
0
0
0
0
0
0
0
0
14
12
22
2
3
49
63
-23
0
0
0
0
0
0
0
0
0
0
15
24
18
8
41
30
35
19
0
0
0
0
0
0
0
0
0
0
22
9
20
26
28
50
10
3
0
0
0
0
0
0
0
0
0
0
-6
3
39
24
79
33
-3
0
0
0
0
0
0
0
0
0
0
0
17
7
29
37
28
74
-1
0
0
0
0
0
0
0
0
0
0
0
6
40
-41
26
26
3
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
37
60
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
35
33
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-13
-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
18
9
16
19
18
28
9
2
0
0
0
0
0
0
0
0
0
0
2
11
16
15
18
2
40
11
-11
0
0
0
0
0
0
0
0
0
13
15
23
20
10
-5
2
33
2
0
0
0
0
0
0
0
0
0
15
17
19
25
19
15
37
-28
0
0
0
0
0
0
0
0
0
0
27
16
12
12
21
17
45
19
0
0
0
0
0
0
0
0
0
0
10
13
10
37
27
35
18
3
0
0
0
0
0
0
0
0
0
0
11
12
5
-4
21
21
-12
0
0
0
0
0
0
0
0
0
0
0
1
4
16
18
19
96
-1
0
0
0
0
0
0
0
0
0
0
0
31
-13
-16
25
30
3
0
0
0
0
0
0
0
0
0
0
0
0
12
9
44
77
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
38
30
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-68
26
-12
11
35
27
2
-3
0
0
0
0
0
0
0
0
0
0
8
18
10
-27
12
-8
23
8
-2
0
0
0
0
0
0
0
0
0
-3
-6
0
12
10
-10
21
7
1
0
0
0
0
0
0
0
0
0
16
36
-3
8
31
7
-1
1
1
0
0
0
0
0
0
0
0
0
-4
38
13
53
12
-12
15
-1
0
0
0
0
0
0
0
0
0
0
59
23
34
25
54
-30
3
1
0
0
0
0
0
0
0
0
0
0
7
8
50
-27
26
36
0
0
0
0
0
0
0
0
0
0
0
0
6
13
41
42
-12
3
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
74
-4
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
69
16
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-5
12
8
0
0
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
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
16
13
49
8
-1
0
12
41
23
19
15
24
-10
-5
-3
-6
-52
9
45
-33
62
-14
4
-8
0
2
-3
-18
-1
18
-7
0
-4
0
-3
-1
-10
-6
3
17
18
-2
0
0
0
3
12
17
30
36
-1
0
0
0
0
0
11
2
10
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
14
54
14
-29
57
10
-1
-1
-30
42
-54
10
22
-7
-3
2
-7
3
-42
-14
-21
-6
1
12
4
-18
2
-13
-36
-8
3
-27
10
-1
75
0
-1
12
-13
-49
63
-26
25
-7
0
0
0
7
11
59
-5
-29
0
0
0
0
0
1
-28
25
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
27
1
0
1
-49
-6
3
-5
-62
27
32
10
-1
33
11
8
-18
-11
9
25
-26
7
-4
6
5
-3
-1
-3
-19
-6
-39
-16
-2
8
6
0
0
-1
0
4
-8
-26
83
8
0
0
0
2
1
-9
-12
29
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-35
-33
-14
9
11
3
6
-3
0
-19
-28
-5
8
8
0
16
18
3
-10
-32
-6
-59
17
9
17
54
0
0
4
8
-4
15
-10
48
11
0
0
1
13
-4
3
25
-11
0
0
0
0
0
8
19
-3
-2
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-28
2
-1
-5
3
4
-50
0
-16
11
-10
7
7
1
14
35
0
0
2
0
26
-4
11
55
19
0
0
-2
1
14
56
32
-28
0
0
0
0
7
-12
-6
-12
1
0
0
0
0
0
1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
2
-31
-8
37
46
0
2
-1
-2
0
-43
17
2
7
0
-1
0
0
-34
-10
4
85
0
0
0
0
7
-22
5
56
1
0
0
0
0
0
9
-9
17
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-18
25
9
1
0
0
0
-1
-9
-5
16
-15
0
0
0
0
-3
30
27
-7
1
0
0
0
0
-2
-8
37
4
0
0
0
0
0
0
12
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
46
9
-27
0
0
0
0
0
11
-22
33
-2
0
0
0
0
0
29
18
24
0
0
0
0
0
0
-6
20
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
12
0
0
0
0
0
0
-7
41
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
12
8
20
33
27
16
-15
-41
3
-31
-9
-8
3
52
14
-8
-15
-49
-38
14
7
4
59
18
-2
7
-8
-37
39
-30
2
13
14
0
22
-3
-12
-33
-80
-61
16
13
24
52
0
0
1
-4
0
-8
9
-6
48
0
0
-2
-9
-37
21
22
26
-4
0
0
0
0
0
-5
-2
-7
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-32
24
38
30
35
17
1
1
-14
49
-12
-2
26
51
12
1
16
-37
-69
-15
13
-3
33
-8
4
34
-6
-65
-46
3
-30
41
2
19
54
6
4
16
3
56
14
1
15
94
0
-2
-32
-13
0
36
-14
48
8
0
0
0
4
16
-28
4
4
0
0
0
0
3
0
38
-14
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-13
9
41
20
-4
1
20
-53
-9
15
21
-4
44
-2
8
42
-30
5
-4
-27
-15
22
-6
13
42
7
24
-31
-6
-35
19
-2
10
47
-1
-23
37
29
-32
32
-9
13
128
0
2
-5
10
17
0
-2
76
0
0
0
-2
-21
-9
49
-12
2
0
0
0
0
-2
-18
51
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
-7
-10
-55
-31
14
-13
-3
6
58
8
-59
-43
-8
47
16
-3
20
73
14
-14
-37
-13
-1
13
-6
25
114
-3
-40
25
-35
-7
1
-3
69
122
0
11
-31
23
-5
11
5
17
2
0
0
-12
10
-4
8
12
6
0
0
0
0
32
6
-51
64
0
0
0
0
0
2
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
28
-47
57
-13
14
-18
13
56
63
6
6
-19
12
-9
-6
35
92
8
21
19
22
-20
-1
-10
45
109
0
-1
11
-39
21
-2
0
92
12
0
1
20
35
-26
6
-16
75
0
0
0
0
43
-12
-12
28
0
0
0
0
0
19
-19
-27
13
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-36
49
49
11
-17
-23
12
133
6
70
-5
6
-20
-12
2
30
72
0
-15
115
-79
-4
6
-10
45
7
0
-3
44
0
-21
1
-9
106
0
0
0
-6
39
-16
4
-24
0
0
0
0
0
10
12
9
12
0
0
0
0
0
0
-29
-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
-18
-32
17
-43
11
4
20
43
-2
13
-26
15
-49
12
-9
38
-2
0
-7
6
9
-13
13
19
15
0
0
3
14
-32
-10
24
-1
0
0
0
0
3
-28
11
9
44
0
0
0
0
0
-1
17
11
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
2
-2
-3
-8
-31
-3
30
13
0
0
7
41
21
-3
-13
-20
-17
0
0
0
0
-2
33
-3
-16
1
0
0
0
-3
70
-32
10
-12
0
0
0
0
0
6
-9
38
-3
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
-2
-8
-19
12
14
1
0
0
0
-4
28
26
-1
2
0
0
0
0
0
-29
9
-7
-15
0
0
0
0
0
22
-30
38
0
0
0
0
0
0
-1
35
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-23
-1
19
0
0
0
0
0
1
-2
-6
2
0
0
0
0
0
30
-11
6
-6
0
0
0
0
0
2
7
7
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-28
0
0
0
0
0
0
6
12
11
0
0
0
0
0
0
2
15
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
10
1
0
0
0
0
0
0
1
-17
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
22
42
38
-15
-13
-43
-41
-62
-38
0
-15
2
2
6
-17
-58
-42
18
6
-4
53
9
13
16
-4
31
9
-39
7
11
6
2
23
-7
-4
-28
-44
-29
24
1
12
58
0
0
2
-21
-8
1
-8
37
58
0
0
-2
-3
-46
12
43
12
-4
0
0
0
0
0
-19
-2
-7
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-41
24
49
47
9
44
2
17
-3
-13
-20
-34
-10
49
7
7
29
-16
-29
18
0
21
40
6
9
35
-2
-56
-8
33
-12
17
3
17
50
6
-7
-16
50
28
6
3
37
105
0
-2
-38
2
-23
-17
9
83
4
0
0
0
9
2
-18
20
6
0
0
0
0
2
-1
39
-15
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
12
-26
-27
-9
21
34
20
6
22
-2
30
-2
4
43
33
7
2
36
-42
12
19
-11
-27
24
7
0
57
17
26
-25
-12
-11
30
-9
16
74
-1
-32
36
11
-7
25
-5
55
96
0
2
-7
11
6
23
2
53
0
0
0
-2
-19
-21
48
-19
2
0
0
0
0
-2
-14
51
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-18
-33
-20
-13
7
-23
11
29
-8
-29
-34
-11
8
30
-4
10
43
1
-19
-33
-5
20
11
10
35
49
-4
-33
33
-34
39
4
5
42
104
0
7
-13
16
5
32
-4
35
2
0
0
-20
20
-25
15
12
4
0
0
0
0
21
2
-51
59
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
28
-41
45
-1
25
-12
16
42
65
36
-5
-7
-3
6
-12
21
67
13
18
32
10
-27
5
-5
43
75
0
-3
-4
-8
10
10
5
83
18
0
1
15
21
-4
-22
-10
81
0
0
0
0
46
-49
8
18
0
0
0
0
0
17
-32
-14
17
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
16
-36
41
26
2
7
-13
13
81
5
56
14
22
-21
-3
-15
46
41
0
-17
93
-32
19
3
-13
28
10
0
-3
58
-3
-15
-11
-17
128
0
0
0
-7
2
1
-5
-7
0
0
0
0
0
-5
16
-17
20
0
0
0
0
0
0
-25
-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
-18
-34
14
9
2
-2
10
48
-2
17
-37
8
-37
7
-6
48
-2
0
-7
14
7
-18
-19
21
17
0
0
3
13
4
-8
-9
-19
0
0
0
0
3
-57
-22
13
35
0
0
0
0
0
0
6
1
6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-4
-13
-25
-14
-4
27
0
0
7
48
24
-11
0
-41
-19
0
0
0
0
-4
9
-9
-17
1
0
0
0
-3
71
-27
8
-22
0
0
0
0
0
5
-14
30
-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
0
0
0
0
0
0
0
0
0
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
-13
-16
35
1
0
0
0
-4
19
13
-17
-12
0
0
0
0
0
-9
-6
6
-14
0
0
0
0
0
17
-17
31
0
0
0
0
0
0
-2
41
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-25
-3
19
0
0
0
0
0
-3
11
-7
2
0
0
0
0
0
39
-4
9
-6
0
0
0
0
0
2
24
7
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-25
0
0
0
0
0
0
7
3
8
0
0
0
0
0
0
2
11
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
1
0
0
0
0
0
0
1
-17
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
2
0
3
10
1
-125
-28
-3
-7
-9
-12
-4
-3
16
2
-19
-25
-30
3
14
33
-36
2
34
-22
-6
-6
-1
-29
-1
51
6
-15
-1
-10
-3
1
42
12
-14
-10
20
0
0
4
-29
12
6
1
16
-2
0
0
-2
2
-14
20
19
-15
-1
0
0
0
0
-1
-20
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
-7
7
2
6
25
-4
-31
-13
-49
-3
-41
-11
-16
35
28
25
28
22
22
-1
-15
5
33
-28
-28
4
13
5
18
-14
16
-28
-11
-9
6
-6
-18
53
5
37
20
-6
-55
0
0
-10
15
-29
-6
-9
67
-2
0
0
0
8
27
-4
4
0
0
0
0
0
2
-5
12
-3
1
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
-11
0
-3
7
6
-13
32
9
13
-20
0
0
-26
-31
10
21
18
60
17
-2
16
-3
-15
-6
-7
4
-55
-6
-10
11
-20
0
29
23
0
-6
30
-10
-12
-11
-33
57
6
0
0
0
20
15
-15
-16
-1
0
0
0
-2
8
-26
25
13
0
0
0
0
0
0
-8
18
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
7
-6
13
-1
-27
23
-15
-15
9
-16
7
-7
37
-28
45
-10
28
-19
-26
-16
-26
12
53
-4
-3
42
57
0
0
2
-20
3
31
-29
-21
37
0
6
5
15
11
-9
2
3
2
0
0
-7
17
-18
8
-13
7
0
0
0
0
-1
6
-15
9
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
1
34
0
0
7
-18
8
-21
-2
-12
5
9
-6
19
46
1
-46
-4
2
-1
-29
3
-53
-18
34
10
35
0
-3
-11
-7
-7
12
38
22
3
0
0
7
-17
0
-18
-7
13
0
0
0
1
18
-26
12
2
0
0
0
0
0
0
-14
12
2
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-6
-5
82
-40
10
32
3
5
2
7
-12
-7
-13
59
-23
0
2
18
-3
-55
28
12
46
-1
0
-1
36
-7
17
6
-1
11
0
0
0
-2
11
13
38
-3
0
0
0
0
0
-43
23
-11
-6
0
0
0
0
0
0
-4
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
3
3
35
26
-18
-38
-3
-1
0
12
11
11
-15
15
-5
1
0
0
43
13
7
-9
21
0
0
0
1
16
-1
-19
-40
1
0
0
0
0
1
-17
8
20
-1
0
0
0
0
0
-2
1
6
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
7
7
-20
1
0
0
2
7
1
-9
-12
33
0
0
0
0
1
23
-17
42
1
0
0
0
0
0
18
43
5
-29
0
0
0
0
0
1
-11
16
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
-28
3
0
0
0
0
1
14
46
-35
10
0
0
0
0
0
-6
21
42
6
0
0
0
0
0
19
-24
7
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
-3
4
0
0
0
0
0
8
34
27
-1
0
0
0
0
0
26
-11
2
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
3
1
-3
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
3
13
0
0
24
0
0
0
0
0
0
0
0
0
0
0
4
16
39
7
-37
-24
0
0
0
0
0
0
0
0
0
0
0
3
-10
75
74
37
53
0
0
0
0
0
0
0
0
0
0
0
0
-3
47
53
-13
26
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-8
11
5
0
0
0
0
0
0
0
0
0
0
0
0
0
2
40
-6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
-9
-10
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
-3
17
2
48
15
35
0
0
0
0
0
0
0
0
0
4
1
0
2
34
76
12
-4
-4
0
0
0
0
0
0
0
0
-3
0
-1
-6
56
66
60
-25
1
0
0
0
0
0
0
0
-1
0
2
-1
-2
-33
18
34
13
0
0
0
0
0
0
0
0
0
0
0
0
-3
12
-11
5
-20
-1
0
0
0
0
0
0
0
0
-1
0
0
0
9
-12
17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
4
27
0
0
38
40
0
0
0
0
0
0
0
0
0
-2
7
9
58
20
39
-14
21
0
0
0
0
0
0
0
0
0
0
0
-2
9
21
-28
1
38
0
0
0
0
0
0
0
0
1
2
3
10
-11
37
33
31
-13
4
0
0
0
0
0
0
0
0
0
-1
1
2
-6
0
-36
28
2
0
0
0
0
0
0
0
0
0
1
1
-7
-17
24
25
0
0
0
0
0
0
0
0
0
0
0
0
0
70
-3
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
24
15
50
-12
-88
55
0
0
0
0
0
1
0
-19
0
0
0
-8
36
-12
93
-42
29
0
0
0
0
0
3
0
-16
-36
32
37
33
34
-14
36
35
20
11
0
0
0
0
0
0
-19
42
93
104
-1
44
40
39
98
18
7
0
0
-2
0
-4
0
1
59
40
-13
27
-36
-37
41
19
8
0
0
0
0
1
1
-4
12
36
36
-24
9
6
20
-38
28
-17
0
0
0
0
0
0
0
0
125
-21
36
5
-17
26
9
-41
4
0
0
0
0
0
0
-2
-2
40
-5
9
0
36
35
-14
-40
0
0
0
0
0
0
0
0
0
0
2
-1
3
0
0
0
0
4
0
0
0
0
0
0
0
-4
0
0
0
-7
7
-13
18
1
0
0
0
0
1
1
0
3
17
0
0
0
7
-14
-1
-31
-4
-12
0
0
0
0
0
0
0
-19
20
-4
6
58
13
-31
-15
-28
61
0
0
0
0
0
0
2
7
-13
-20
-5
28
26
41
65
24
23
3
0
0
0
0
0
0
-4
-8
40
9
-25
-6
-21
31
27
92
-1
0
0
0
0
0
0
17
15
-62
-8
-26
-8
-58
6
-11
2
0
0
0
0
0
0
0
0
26
18
-24
45
-26
76
-57
-18
12
0
0
0
0
0
0
0
1
-4
50
0
8
-3
-7
3
2
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
15
-10
0
0
0
76
43
61
20
2
11
-10
0
0
0
0
20
4
-27
15
0
0
72
-3
75
36
18
-22
21
0
1
0
0
-2
-19
19
47
-61
68
79
46
1
7
12
-2
-13
0
0
-1
-1
-1
-3
-20
-2
70
121
2
33
14
4
-16
-10
-2
0
0
0
0
-4
-6
-12
8
-11
46
7
38
-4
-8
-13
0
-7
0
0
0
0
-6
25
25
-48
46
71
12
3
14
9
12
-25
-7
0
0
0
-1
6
21
23
1
-32
29
19
-1
-19
-24
-19
-53
-10
0
0
0
0
4
1
16
23
4
-15
8
-25
20
83
31
47
0
0
0
0
0
0
0
0
6
0
0
0
0
0
-1
-11
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
30
-14
-12
-65
27
1
0
0
0
0
0
0
0
1
3
57
23
55
8
-1
8
40
18
20
0
0
0
0
0
0
0
-3
128
16
27
32
9
24
5
14
38
0
0
0
0
0
0
0
-8
9
-3
28
-2
-7
8
22
29
35
0
0
1
0
0
-6
-1
15
-28
18
10
4
-31
11
26
35
24
0
0
0
0
0
1
-4
0
-43
81
10
-37
34
51
60
22
60
0
0
0
0
0
3
0
0
81
39
62
38
-19
66
30
37
26
0
0
0
0
0
0
0
0
-10
9
14
40
89
34
47
-4
47
0
0
0
0
0
0
0
3
-1
3
-18
39
4
1
28
37
-1
0
0
0
0
2
-1
1
-2
0
1
71
3
43
12
0
-7
25
0
0
0
0
0
1
-6
-3
-3
33
0
38
24
13
6
-17
-19
0
0
0
0
1
-1
0
-7
-30
-42
-21
30
13
25
30
21
32
0
0
0
0
0
0
4
7
14
-79
0
18
42
17
21
-25
-17
0
0
0
0
0
-3
2
-8
-26
32
-16
7
17
25
3
-45
20
0
0
0
0
0
16
9
-9
-17
35
-25
-4
24
17
19
-5
-35
0
0
0
0
0
-2
-8
-18
-2
41
-17
11
22
47
1
-13
23
0
0
0
0
1
0
-2
-2
0
-6
-24
27
24
53
-35
-18
-7
0
0
0
0
0
0
-4
0
-1
2
-1
-1
2
38
59
-5
0
0
0
0
0
0
-3
27
37
0
0
61
29
23
17
16
2
-18
0
0
0
2
4
-3
84
0
-19
0
132
40
21
20
12
23
22
0
0
0
0
0
-9
-23
-16
56
49
63
17
8
26
26
10
30
0
0
0
0
-1
-27
-23
41
76
-1
-8
24
6
15
21
30
32
0
0
0
0
-1
-8
-12
-8
-39
32
-9
16
9
-4
16
8
37
0
0
0
2
-3
-1
38
-42
-78
15
0
-4
3
18
4
25
23
0
0
0
1
7
-10
-22
29
-18
-37
26
-16
38
2
18
-27
42
0
0
0
0
0
0
16
37
-36
-7
-76
-11
-15
31
15
23
0
0
0
0
0
0
0
3
0
0
0
1
11
26
39
72
6
0
0
0
0
0
0
0
-1
0
0
33
37
-2
7
47
22
31
-62
0
0
0
0
0
1
15
0
45
0
60
46
15
20
23
-6
-37
0
0
0
0
0
-1
-13
-14
4
31
47
44
-9
-26
17
0
58
0
0
0
0
0
0
-40
-47
84
-10
1
32
13
15
34
3
2
0
0
0
0
0
0
7
-33
-7
-59
-23
26
-22
41
25
25
6
0
0
0
0
0
0
0
-36
14
-1
-53
-15
-7
6
28
21
-1
0
0
0
0
0
0
0
-56
10
31
38
-12
9
45
35
0
10
0
0
0
0
0
0
0
-4
12
-4
-7
-31
-47
18
34
-24
0
0
0
0
0
0
0
0
0
0
0
0
3
11
-52
13
6
0
0
0
0
0
0
0
0
0
0
0
1
147
49
35
-28
-13
-42
0
0
0
0
0
0
0
2
0
23
125
120
43
-2
-34
-7
-32
0
0
0
0
0
0
0
22
23
18
136
100
40
16
-6
-1
-76
0
0
0
0
0
0
2
-35
-28
5
49
44
39
-20
-19
-24
32
0
0
0
0
0
0
-1
-23
-66
-19
15
32
36
52
21
-45
-16
0
0
0
0
0
0
3
-58
-74
-29
-12
38
-2
38
-11
3
-14
0
0
0
0
0
0
0
-6
-103
-3
17
49
-10
-24
-26
-23
51
0
0
0
0
0
0
0
0
-6
1
13
7
24
-5
-11
-24
7
0
0
0
0
0
0
0
0
0
0
0
0
-4
-42
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-37
0
0
0
0
0
0
0
0
0
0
0
0
23
-16
0
0
-96
-2
0
0
0
0
0
0
0
0
-2
0
-13
-11
-27
-25
10
-65
0
0
0
0
0
0
0
0
0
0
0
0
28
43
-73
11
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-77
21
11
1
0
0
0
0
0
0
0
0
0
0
0
2
4
23
-58
10
0
0
0
0
0
0
0
0
0
0
1
0
2
-33
75
16
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-27
13
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
33
4
0
0
0
0
0
0
0
0
0
0
1
0
22
0
0
0
6
1
0
0
0
0
0
0
0
-1
0
0
-9
16
13
0
0
-82
2
0
0
0
0
0
0
0
0
0
1
32
-8
24
39
-3
-8
16
0
0
0
0
0
0
0
0
0
-4
-6
0
8
-38
-58
33
-34
0
0
0
0
0
0
0
0
1
0
1
10
26
-87
-18
-29
-16
0
0
0
0
0
0
0
1
0
0
-6
-1
13
12
-13
63
6
0
0
0
0
0
0
0
0
0
0
0
-1
-41
48
17
23
11
0
0
0
0
0
0
0
0
-1
0
0
-6
15
-6
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-4
-6
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
27
-13
0
0
0
0
0
0
0
0
0
0
6
-32
33
0
0
29
38
0
0
0
0
0
0
0
0
0
3
-4
1
-7
7
75
39
-21
0
0
0
0
0
0
0
0
0
8
1
4
-4
10
-34
-54
-7
-1
0
0
0
0
0
0
0
0
-2
-4
-4
66
4
-84
-6
-147
9
0
0
0
0
0
0
0
0
-2
4
-8
-12
-47
16
-8
-3
-3
0
0
0
0
0
0
0
0
0
0
6
-36
9
-35
-86
-25
0
0
0
0
0
0
0
0
0
0
0
1
-6
50
-10
-13
16
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-21
-54
32
-85
4
-49
-1
0
0
0
0
0
0
0
0
0
0
35
-24
-21
-32
-37
-50
2
0
0
0
0
0
2
-1
-86
47
54
3
-30
-3
-30
-31
-56
2
0
0
0
0
0
0
11
6
-24
50
-31
-37
2
-49
-22
-38
1
0
0
0
0
1
1
0
-7
-11
31
-52
-28
-42
7
-61
-8
0
0
0
0
0
1
0
0
-19
20
-26
25
-67
-46
-35
-3
-9
0
0
0
0
0
0
0
-1
37
-92
26
-25
-60
19
-14
-26
0
0
0
0
0
0
0
1
8
-56
60
-3
-19
6
11
0
-1
0
0
0
0
0
0
0
0
0
0
-4
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
-3
-4
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
-15
0
-1
0
-1
0
0
0
0
0
0
0
1
-2
4
-10
18
8
-2
22
-12
3
1
0
0
0
0
0
0
0
-3
-21
-42
2
-2
2
15
-13
-1
-2
0
0
0
0
0
0
0
0
-12
-18
1
-21
-9
-9
-59
-28
1
0
0
0
0
0
0
0
-1
-51
-54
5
-18
7
-12
-1
0
1
8
0
0
0
0
0
0
0
8
3
1
1
4
0
0
0
-1
0
0
0
0
0
0
0
0
-2
-10
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
38
20
-1
-16
-37
-20
-45
0
0
-1
0
16
9
7
20
0
0
44
-21
-13
12
2
-57
-22
0
0
0
0
-8
8
65
-51
56
82
26
-6
-35
-22
-6
-17
-43
0
0
0
1
6
1
58
35
8
51
-48
-6
-13
-14
-26
-27
-7
0
0
0
0
9
42
-3
33
51
-71
-13
5
-20
-25
-34
-5
-7
0
0
0
0
1
29
2
-14
32
9
26
-38
-23
-31
-41
-36
-3
0
0
0
2
0
12
-3
-1
68
-27
-41
-21
-58
-62
-75
-63
-11
0
0
0
0
0
3
8
-8
2
19
-35
18
13
15
-12
37
4
0
0
0
0
0
0
0
-7
-1
0
0
1
1
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
43
18
-53
-47
-27
-45
-38
0
0
0
0
2
0
0
0
-17
63
-27
-6
-32
-35
-32
-50
-13
0
0
0
0
1
0
1
-2
10
20
25
8
-4
-29
-62
-38
-5
0
0
0
0
0
1
-9
2
-19
0
-21
19
-38
-15
0
-11
-32
0
0
-1
0
1
0
0
0
-40
15
28
-7
-15
-34
8
-25
-15
0
0
0
-1
1
-6
-7
-1
39
-65
51
-50
-51
-65
-32
-2
5
0
0
0
0
-3
-4
0
2
-39
28
-54
-37
-4
-7
-58
-7
-2
0
0
0
0
0
0
-12
0
-19
-44
-31
18
33
-23
-3
-31
15
0
0
0
0
0
0
0
0
0
-12
10
-51
17
-68
-25
-33
-55
0
0
0
0
0
0
2
-2
0
-9
42
-8
-12
-36
-21
-44
-24
0
0
0
2
0
-1
0
-2
-21
18
0
18
-5
-15
-25
-10
21
0
0
0
0
6
0
0
-10
-2
72
-16
-2
-33
6
5
-15
-59
0
0
0
0
0
0
-7
2
-2
-40
13
20
-20
-16
3
-26
-42
0
0
0
0
0
9
-6
-1
14
1
-22
0
15
-12
-33
-63
-15
0
0
0
0
0
-8
10
1
-35
38
84
6
-12
-23
27
-14
-51
0
0
0
0
0
-1
6
15
-4
-14
-2
12
34
2
-17
-10
-17
0
0
0
0
2
0
0
4
0
-8
5
-20
21
29
-58
-30
-39
0
0
0
0
0
0
0
0
2
-3
4
2
23
-20
20
-9
0
0
0
0
0
-2
3
0
0
0
0
-15
22
-3
-16
4
9
6
0
0
0
-1
-7
39
48
0
-15
0
41
1
-4
4
-2
-13
-41
0
0
-1
0
2
34
0
3
43
124
24
-20
-16
6
-1
-13
-46
0
0
0
0
0
11
65
-49
23
84
7
-3
-25
-13
6
27
-19
0
0
0
7
3
12
14
22
-42
17
6
15
-11
-18
-7
-21
-45
0
0
0
1
18
0
4
-31
21
19
-14
-29
-23
-3
-19
-28
19
0
0
0
3
0
21
17
-6
8
5
37
-12
29
-30
-27
47
-36
0
0
0
0
1
2
-3
-32
-12
20
10
-7
-68
3
-39
4
0
0
0
0
0
0
0
-2
0
0
0
8
-9
-32
-38
38
-2
0
0
0
0
0
0
0
-1
-25
0
17
112
-6
-16
8
6
-22
-17
0
0
0
0
0
0
-18
0
54
0
53
24
8
3
13
3
1
0
0
0
0
0
0
-40
-5
45
-2
27
45
-21
-3
1
1
-21
0
0
0
0
0
0
-1
-75
5
30
11
-14
-1
4
36
-16
-46
0
0
0
0
0
0
-3
7
-37
-3
-40
-16
-32
21
10
27
29
0
0
0
0
0
0
-2
-46
-6
4
-57
-13
-42
-7
-9
23
-28
0
0
0
0
0
0
0
-5
2
-26
-53
-26
-7
8
0
-27
-12
0
0
0
0
0
0
0
-22
-24
13
-50
-65
-75
5
-56
-36
0
0
0
0
0
0
0
0
0
0
0
0
19
-23
-32
56
16
0
0
0
0
0
0
0
-1
0
0
0
-36
26
35
12
-84
-100
26
0
0
0
0
0
0
0
44
0
-14
-32
48
59
-9
-43
-102
-2
0
0
0
0
0
0
0
-50
-10
11
-17
98
28
-38
-57
1
-59
0
0
0
0
0
0
0
-33
-47
-3
-5
-5
22
46
-34
-56
-58
0
0
0
0
0
0
0
-69
-72
24
-33
34
-13
61
-35
-20
-57
0
0
0
0
0
0
0
-93
-82
49
-49
-26
-5
-49
-72
-85
0
0
0
0
0
0
0
0
-19
-77
1
-65
-5
-21
-3
-86
-113
-18
0
0
0
0
0
0
0
0
-2
1
-24
-34
-24
-39
-39
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
2
1
24
26
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
1
15
47
59
28
-6
0
0
0
0
0
0
0
0
0
0
0
0
60
4
-31
-24
0
0
0
0
0
0
0
0
0
0
0
1
0
48
28
-52
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
46
-48
6
-40
0
0
0
0
0
0
0
0
0
0
0
0
-22
30
13
12
47
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
62
22
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-15
1
0
0
0
0
0
0
0
0
0
0
0
-8
18
0
0
-17
-1
0
0
0
0
0
0
0
0
0
0
2
7
116
47
10
30
2
0
0
0
0
0
0
0
0
0
0
0
53
-17
54
-106
9
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
1
22
12
4
0
0
0
0
0
0
0
0
0
0
-1
-3
-9
5
79
5
0
0
0
0
0
0
0
0
0
0
0
-2
4
3
12
19
61
0
0
0
0
0
0
0
0
0
0
0
0
-3
86
-29
57
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-1
6
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
72
1
0
0
0
0
0
0
0
0
0
0
1
2
19
0
0
89
-29
0
0
0
0
0
0
0
0
0
0
-3
2
28
-28
2
56
16
0
0
0
0
0
0
0
0
0
0
2
-1
0
-7
-42
-6
11
0
0
0
0
0
0
0
0
0
0
-1
-3
-25
35
21
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
19
-23
-67
50
-15
0
0
0
0
0
0
0
0
0
0
-1
0
-36
20
29
52
-6
0
0
0
0
0
0
0
0
0
0
0
0
-28
52
29
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-11
0
0
0
154
55
-10
39
-10
6
0
0
0
0
1
-1
0
6
0
0
0
142
20
29
4
-14
3
0
0
0
0
0
0
6
-32
24
-17
25
46
-10
-4
28
1
53
0
0
0
0
0
-1
9
-85
-46
-27
59
21
-34
1
52
62
-16
0
0
0
0
-2
0
1
-11
73
18
-74
-6
15
-10
7
62
18
1
0
0
0
0
0
0
5
-35
-33
5
-66
13
96
23
-12
-1
1
0
0
0
0
0
1
4
30
101
12
38
59
-7
75
-27
3
0
0
0
0
0
0
1
21
-7
64
29
41
86
1
-4
-1
-2
0
0
0
0
0
0
0
0
-1
25
4
19
0
0
0
0
0
0
0
0
0
0
1
-15
-36
0
0
0
-7
77
26
22
-3
-3
-1
0
0
0
1
12
12
-5
0
0
0
42
62
-18
6
20
37
1
0
0
0
0
0
4
-58
1
-5
53
3
-6
-26
-10
53
55
-7
0
0
0
0
0
2
-35
-102
13
-43
30
15
6
27
3
6
6
0
0
0
0
0
-1
42
51
-47
-65
10
-34
17
66
42
96
-4
0
0
0
0
0
-2
18
-24
32
1
-2
-81
-5
40
12
-2
13
0
0
0
0
0
-1
-3
-17
-6
36
22
-6
-10
14
5
57
-3
0
0
0
0
0
0
12
77
28
80
9
11
58
6
13
-23
6
0
0
0
0
0
0
3
6
-25
-4
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
8
6
-2
-11
1
1
-50
0
0
0
0
0
-1
-1
-54
0
0
88
77
-4
-8
28
16
22
0
0
0
0
0
0
16
63
89
-39
41
-6
17
29
46
8
-16
0
0
0
0
0
-8
8
39
28
7
-86
38
33
24
27
18
-6
0
0
0
0
0
-3
20
9
84
-59
53
33
16
49
-6
25
19
0
0
0
0
0
-4
-8
5
15
24
-72
35
20
36
28
5
35
0
0
0
0
0
-1
-1
-21
-16
40
-17
5
22
33
14
-42
-2
0
0
0
0
0
0
7
11
41
-30
-15
-53
-11
-12
25
-24
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
-54
42
-71
-63
-68
-109
54
0
0
0
0
0
0
2
7
-27
-31
106
-28
-41
-59
-7
29
-35
0
0
0
0
0
0
0
-6
0
45
55
22
-30
-63
-24
-1
33
0
0
0
0
0
0
0
0
-49
-54
-37
-70
-47
-80
-9
-6
7
0
0
0
0
0
0
0
0
-26
-98
-22
18
-98
14
-53
-8
43
0
0
0
0
0
0
-4
0
-45
-32
-2
-36
5
-31
15
29
29
0
0
0
0
0
0
0
-1
9
-12
-70
3
31
30
-7
12
14
0
0
0
0
0
0
0
0
-32
9
2
51
28
-17
-2
6
-13
0
0
0
0
0
0
0
0
-4
-19
-39
21
34
0
-2
-14
12
0
0
0
0
0
-1
2
8
0
-45
39
-2
35
17
-3
2
18
0
0
0
0
-1
0
-8
0
27
15
0
19
5
5
7
31
0
0
0
0
0
0
0
-1
1
58
-92
-24
53
1
-11
-13
12
10
0
0
0
0
0
0
0
4
-34
-134
-2
-15
-45
0
30
-4
-4
0
0
0
0
0
0
0
1
28
-42
75
23
-112
38
9
-55
16
0
0
0
0
0
0
0
1
-18
-36
50
-34
28
44
11
21
-35
0
0
0
0
1
0
0
-2
6
-67
52
-1
-124
-7
33
-2
8
0
0
0
0
0
0
0
0
-18
-20
-91
11
21
26
-2
39
0
0
0
0
0
0
0
0
0
0
-8
-16
-8
15
-11
32
0
0
0
0
0
0
0
1
30
-37
0
0
44
32
21
18
-21
-31
8
0
0
0
0
0
3
17
0
49
0
95
58
14
-7
5
-16
12
0
0
0
0
0
49
-37
-102
139
157
14
36
20
35
22
-33
34
0
0
0
0
0
-4
-49
-103
-71
-17
-65
50
0
9
51
-36
64
0
0
0
0
0
0
2
-43
-1
21
-28
12
4
-27
-13
-2
55
0
0
0
0
0
0
-29
-101
5
-100
-96
0
7
12
-44
-9
53
0
0
0
0
0
1
2
-44
78
54
66
5
63
16
48
-66
48
0
0
0
0
0
-1
0
-67
-67
-49
33
84
-26
33
7
39
-1
0
0
0
0
0
0
0
0
0
0
1
-3
-7
-1
1
0
0
0
0
0
0
0
0
7
22
0
-20
108
53
-53
3
-78
-29
-67
0
0
0
0
0
6
21
0
-60
0
117
47
21
-39
-1
-25
-11
0
0
0
0
0
9
6
84
34
-93
70
42
-10
-21
34
-15
0
0
0
0
0
0
-7
3
-51
-135
-264
-74
-3
7
29
-26
-9
-16
0
0
0
0
0
0
-43
-79
-34
-149
-37
18
-20
25
32
12
39
0
0
0
0
0
0
-8
-40
-149
-86
-32
3
17
-26
47
-29
-4
0
0
0
0
0
0
0
-34
-164
-167
-26
-28
1
-20
29
-20
-10
0
0
0
0
0
0
0
-10
23
6
-51
-25
56
3
25
26
1
0
0
0
0
0
0
0
0
0
0
0
-1
-27
3
-2
4
0
0
0
0
0
0
1
0
0
0
0
59
124
28
21
25
-40
-9
0
0
0
0
0
10
-26
4
0
-49
119
77
52
10
23
19
26
0
0
0
0
0
0
4
-62
-125
23
87
100
53
18
21
15
-16
0
0
0
0
0
0
-1
-209
-74
-75
15
74
63
23
45
39
-74
0
0
0
0
0
0
-1
8
-132
-115
6
22
34
45
3
16
-18
0
0
0
0
0
0
-1
-124
-177
-50
-4
13
9
56
11
16
35
0
0
0
0
0
0
0
-53
-40
-25
-29
-5
42
-12
6
30
14
0
0
0
0
0
0
0
6
0
0
-17
-71
-45
51
-24
33
-16
0
0
0
0
0
0
0
0
0
0
-2
0
-16
-1
46
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
24
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
8
-58
-37
-24
-45
-2
0
0
0
0
0
0
0
0
0
0
0
-3
-12
-35
-4
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-21
-19
3
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
-2
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-33
-43
-9
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
33
29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-45
0
0
0
0
0
0
0
0
0
0
1
1
3
11
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-2
9
6
22
-4
19
-4
0
0
0
0
0
0
0
0
0
0
0
3
5
-49
-40
5
2
0
0
0
0
0
0
0
0
0
0
0
2
-54
-5
-36
-71
-1
0
0
0
0
0
0
0
0
0
0
0
0
46
-15
-6
6
0
0
0
0
0
0
0
0
0
0
0
1
-12
0
-33
82
-57
0
0
0
0
0
0
0
0
0
0
0
0
-2
-66
16
-39
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
-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
1
3
-45
0
0
-78
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
47
24
8
0
0
0
0
0
0
0
0
0
0
0
-2
32
7
-54
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-51
-43
26
-19
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
-35
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
21
2
-14
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-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
-10
-1
-1
-3
0
0
0
0
0
0
0
0
0
-2
0
0
0
90
3
4
-3
0
0
0
0
0
0
0
0
0
0
-19
-72
-40
-36
-3
-53
1
0
0
0
0
0
0
0
0
0
0
9
-93
-55
-21
-13
-7
0
-1
0
0
0
0
0
0
0
0
0
-49
22
38
36
-40
-18
-2
1
0
0
0
0
0
0
0
0
2
-16
6
-14
-31
-19
-3
-1
0
0
0
0
0
0
0
0
0
0
-43
-21
37
-22
2
4
0
0
0
0
0
0
0
0
0
0
0
-29
16
46
0
-6
0
0
0
0
0
0
0
0
0
0
0
1
-7
3
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-12
-3
0
0
1
0
0
0
0
0
0
0
-1
-2
21
-24
7
-3
-9
-2
0
0
0
0
0
0
0
0
0
0
-1
-6
-4
-43
0
-11
0
0
0
0
0
0
0
0
0
0
0
-3
-58
-21
13
-8
1
-1
0
0
-1
0
0
0
0
0
0
0
0
4
-4
7
-6
0
0
1
0
-4
0
0
0
0
0
0
0
0
-5
-40
-4
-2
-7
0
0
-1
0
0
0
0
0
0
0
0
0
6
-4
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-21
-24
5
-40
0
-18
-35
0
0
0
0
2
0
-8
16
0
0
14
-62
-52
22
-28
-39
22
0
0
0
0
0
0
7
43
5
35
-11
-29
0
-29
19
-57
-36
0
0
0
0
0
7
6
54
13
-27
-28
-72
-74
-33
-92
-81
-46
0
0
0
0
0
0
0
-20
57
47
-57
-57
-72
-33
-21
-78
-43
0
0
0
0
-1
-1
2
8
-40
40
-11
34
-92
-39
-50
-51
-1
0
0
0
0
0
0
1
-14
32
-8
29
11
-46
-63
-57
-17
4
0
0
0
0
0
0
-3
16
-36
-34
21
-1
-36
-30
-25
-12
1
0
0
0
0
0
0
0
-1
-3
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-8
16
-117
-17
36
-25
35
0
0
0
0
0
0
1
-15
-59
-21
37
-33
-95
-3
2
-17
30
0
0
0
0
0
0
-1
3
-61
72
10
2
-146
-75
-1
-1
-14
0
0
0
0
0
0
0
1
-22
40
-99
15
-101
-54
-109
-39
-34
0
0
0
0
0
0
0
-1
-4
-5
-50
-26
5
1
-35
-3
-73
0
0
0
0
0
0
0
0
-7
7
-50
-27
-34
0
43
-20
36
0
0
0
0
0
0
0
0
1
-4
1
-18
-8
2
-43
-19
25
0
0
0
0
0
0
0
0
-27
-16
-64
1
-21
-30
-42
-16
-9
0
0
0
0
0
0
0
-1
-13
-15
8
-4
26
-40
-45
-55
-51
0
0
0
0
0
0
0
-9
0
26
-37
-22
-41
-46
-69
-16
26
0
0
0
0
0
0
2
-4
-23
-90
0
-74
-86
-85
-48
35
-3
0
0
0
0
0
0
0
-1
15
63
-14
-40
-12
28
-33
-25
-26
0
0
0
0
0
0
1
3
7
-50
-73
-21
-100
-32
25
11
-24
0
0
0
0
0
0
0
0
-18
-1
-51
-14
-45
-44
-48
-54
-46
0
0
0
0
0
0
-2
-3
2
12
-1
-28
-43
-25
-9
-2
-17
0
0
0
0
0
0
0
-2
-8
-29
-1
6
15
-21
-66
-30
-34
0
0
0
0
0
0
0
-1
-9
-14
19
14
17
27
50
-60
-57
0
0
0
0
0
0
0
0
6
2
38
-8
-3
17
-65
0
0
0
0
0
0
0
0
-16
14
0
0
-106
-91
-52
-62
-11
-119
-11
0
0
0
0
-1
1
-3
0
-18
0
-93
-84
-19
15
-79
-46
0
0
0
0
0
0
-2
25
-96
47
15
-2
-22
7
-73
-57
-134
-5
0
0
0
0
0
1
-27
-28
-48
9
14
-8
4
-88
-28
-77
-3
0
0
0
0
0
0
-3
-1
57
32
-92
-7
-50
-25
-71
-79
-2
0
0
0
0
-1
0
8
120
-28
-16
60
-80
-25
-37
-56
-92
13
0
0
0
0
3
0
1
-22
11
10
-12
66
56
-67
10
-19
-37
0
0
0
0
0
0
0
-7
43
22
1
14
-67
17
-9
1
0
0
0
0
0
0
0
0
0
0
0
-2
1
1
0
0
0
0
0
0
0
0
0
0
0
2
0
-47
-11
-35
-52
-12
-19
-32
-64
0
0
0
0
0
0
-1
0
-21
0
28
-13
-1
-83
-19
-58
1
0
0
0
0
0
0
-29
49
-6
-1
-8
24
-26
11
-13
-18
-13
0
0
0
0
0
0
0
-33
-75
26
25
2
-33
-55
-10
71
-10
0
0
0
0
0
0
2
83
-13
-25
-60
11
-98
-53
-19
-62
-73
0
0
0
0
0
0
0
-79
-55
25
-15
55
30
-75
-48
-29
-13
0
0
0
0
0
0
0
-3
-12
-13
-25
-20
-11
-24
-7
12
6
0
0
0
0
0
0
0
0
0
0
7
48
1
-29
-18
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
16
-43
-73
-42
-126
-37
0
0
0
0
0
0
0
-3
0
2
59
-85
-22
-98
11
-54
3
0
0
0
0
0
0
0
-1
-8
-1
-16
38
22
18
-25
-127
-90
0
0
0
0
0
0
0
-4
-3
-7
-11
-12
-25
3
-21
-32
-48
0
0
0
0
0
0
0
-16
-12
0
38
39
-75
29
-33
-26
-33
0
0
0
0
0
0
0
1
-2
-3
-57
-4
-8
37
-30
19
-24
0
0
0
0
0
0
0
0
-11
0
29
-6
-71
-33
-66
-7
-26
0
0
0
0
0
0
0
0
0
0
-1
-24
-10
-9
12
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
12
-1
2
0
0
0
3
0
0
0
0
0
0
0
-11
9
-22
-11
2
8
-3
-6
2
-2
0
0
0
0
0
0
0
11
33
25
25
-1
-2
0
0
0
0
0
0
0
0
0
0
0
42
36
59
-1
24
-1
0
-3
2
0
0
0
0
0
0
0
0
10
-7
49
17
3
-7
0
0
0
0
0
0
0
0
0
0
0
8
27
45
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
13
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
23
39
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
0
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
14
-4
-16
0
-3
1
0
4
0
0
0
0
0
0
0
6
31
17
-37
45
13
10
-7
-1
0
-3
0
0
0
0
0
0
18
52
40
9
4
15
-1
8
-7
-6
0
0
0
0
0
0
0
15
38
-5
25
-29
28
0
-1
0
-2
0
0
0
0
0
0
0
0
49
-31
28
-23
8
0
0
0
0
0
0
0
0
0
0
0
-2
15
56
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
4
10
8
0
0
0
0
0
0
0
0
0
0
0
16
0
-4
16
-7
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
53
22
-17
60
-33
33
3
0
6
1
0
0
0
0
0
0
7
15
59
-46
-29
-21
-27
-2
0
0
1
0
0
0
0
0
0
1
30
41
65
2
43
0
10
3
-3
0
0
0
0
0
0
0
6
-10
13
-32
-47
54
0
0
0
0
0
0
0
0
0
0
0
3
-13
27
-27
23
-24
0
0
0
0
0
0
0
0
0
0
0
1
11
7
0
33
1
0
0
0
0
0
0
0
0
0
0
0
0
19
4
-32
48
0
0
0
0
0
0
0
0
0
0
0
0
0
8
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
3
-11
-20
6
25
17
21
-21
0
-58
-3
0
0
0
0
0
0
-2
3
27
67
-14
-31
8
-25
27
-2
-4
1
0
0
0
0
0
23
27
40
-38
-3
-15
-12
-20
-87
-18
-3
-1
0
0
0
0
0
-1
10
32
5
18
-32
-16
-19
3
40
1
0
0
0
0
0
0
-14
-10
23
92
11
46
-15
-18
31
16
0
1
0
0
0
0
0
32
87
28
103
100
29
60
-2
-29
7
0
0
0
0
0
0
0
14
51
81
2
34
42
2
11
-11
6
0
0
0
0
0
0
0
20
27
32
-8
42
-7
6
22
28
0
0
0
0
0
0
0
0
3
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
-2
-19
4
9
1
-47
-71
-47
0
-4
0
0
0
0
0
0
0
22
12
-18
29
32
-41
24
-53
42
3
0
0
0
0
0
0
0
-1
10
28
-3
-29
-19
1
-19
-11
15
1
0
0
0
0
0
0
-10
-42
28
2
25
13
44
44
0
64
-1
0
0
0
0
0
0
-8
-16
5
-57
12
32
-12
60
-9
-4
0
0
0
0
0
0
0
-2
-3
45
10
18
-27
22
25
-18
9
0
0
0
0
0
0
0
3
49
-13
-25
14
67
13
-10
4
0
0
0
0
0
0
0
0
3
7
29
26
4
1
0
7
9
0
0
0
0
0
0
0
0
2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
42
-10
16
74
3
19
-2
0
-5
-16
-36
-11
-1
0
0
0
-7
-56
20
49
-8
34
-7
-34
8
12
-7
32
1
22
-7
0
0
-25
31
86
37
29
-15
-7
-19
-12
-57
-49
-27
-8
7
-1
0
0
29
4
72
40
-3
24
18
27
18
27
-75
-20
-10
-2
-1
0
0
41
-24
-35
66
52
30
44
11
39
-45
-56
-3
-1
-7
-1
0
0
-17
62
-22
96
34
15
14
48
-16
82
-20
-2
4
-2
0
0
0
-1
30
15
52
47
51
8
25
39
-12
-1
0
0
0
0
0
0
0
26
-7
5
-16
-6
-1
-48
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
-2
-19
48
-81
-83
20
-47
0
30
6
-21
0
0
0
0
0
0
-17
69
3
-18
27
8
63
-20
19
-20
-15
3
-6
0
0
0
0
3
107
-20
15
60
14
-10
43
-71
15
8
8
-1
0
0
0
0
-7
52
-15
20
53
21
27
23
15
24
-20
-7
0
0
0
0
0
-2
0
9
1
6
94
23
39
28
17
4
0
0
3
0
0
0
2
-15
45
51
-4
47
13
30
30
-33
-12
0
1
0
0
0
0
0
-1
56
32
31
6
18
1
48
-23
-16
0
0
0
0
0
0
0
0
78
11
81
33
31
-7
0
16
-2
13
0
2
0
0
0
0
1
-1
84
-28
38
20
12
2
-18
38
1
-4
0
-1
0
0
0
-21
44
21
9
12
-2
0
-5
-6
-8
-21
2
0
0
0
0
0
21
19
38
27
-10
-7
-3
-2
23
-40
-42
1
3
-2
0
0
0
13
43
63
17
-14
-30
-45
-11
25
14
0
1
0
0
0
0
0
91
-6
64
47
27
25
-20
-11
-19
0
16
2
0
0
0
0
0
58
-26
22
32
1
5
-32
-9
-15
24
-18
-3
1
0
0
0
0
-8
-50
40
18
18
10
-7
34
-52
3
-7
0
0
0
0
0
0
9
9
13
35
33
35
-30
25
8
9
0
0
0
0
0
0
0
8
7
25
8
0
58
20
29
-39
3
-3
0
0
0
0
0
0
-1
-4
-21
-27
25
-5
-9
3
0
0
0
0
0
0
0
-34
37
40
-31
-9
6
30
-7
0
4
-5
-11
0
1
0
0
0
16
4
65
-14
3
16
16
3
15
-2
-15
-16
-13
1
6
0
0
12
13
33
17
-2
-6
6
-26
11
-36
-47
-27
-24
1
0
0
0
66
91
52
118
22
13
2
20
22
7
12
-37
16
0
0
0
0
22
-6
52
108
83
17
11
16
26
30
-24
-2
0
3
0
0
0
-16
56
55
73
87
18
1
21
8
14
0
9
0
0
0
0
0
37
51
78
33
73
53
-15
-34
-6
28
12
-6
-1
0
0
0
0
0
2
-24
84
97
14
-16
-35
-37
2
-1
0
0
0
0
0
0
0
0
8
-1
49
0
2
-1
0
0
0
0
0
0
0
0
0
7
23
-44
19
-12
-19
29
-40
0
12
-10
6
0
0
0
0
0
17
-83
23
26
41
-19
-18
-25
16
-60
15
-9
4
0
0
0
0
53
4
94
-1
19
0
-4
2
-20
-16
-16
0
0
0
0
0
0
62
-80
51
47
-10
-19
0
6
25
35
-19
1
0
0
0
0
0
-35
-20
111
190
18
-21
6
2
-2
-61
-24
-1
0
0
0
0
0
16
83
12
54
86
36
-22
28
-41
-3
-1
3
-4
0
0
0
0
-8
-22
72
6
40
-10
6
22
-85
-75
0
0
0
0
0
0
0
0
3
-15
40
30
33
-45
-11
-88
-28
-2
0
0
0
0
0
0
0
0
3
0
-40
14
25
31
-5
0
0
0
0
0
0
0
0
2
8
11
18
-67
5
15
-147
0
13
-1
1
0
0
0
0
0
-19
-48
-21
9
-10
7
51
11
40
101
28
3
0
0
0
0
0
-2
6
-20
-24
40
44
13
-30
-18
-40
-8
-3
0
0
0
0
0
-17
-14
27
-25
31
30
23
16
21
-3
-57
0
0
0
0
0
0
1
-69
-46
40
76
35
53
26
14
-112
1
1
0
0
0
0
0
-10
-19
-32
29
20
27
11
49
13
-1
-1
0
0
0
0
0
0
-2
-39
-5
46
44
35
10
-6
3
6
11
2
0
0
0
0
0
0
-3
-1
17
6
-11
-64
-9
-14
5
7
0
0
0
0
0
0
0
0
0
0
-1
-44
16
-13
-42
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-5
-80
1
-2
0
0
0
0
0
0
0
0
0
0
-10
39
-14
9
-81
3
-13
-2
0
0
0
0
0
0
0
0
0
16
33
52
-55
-5
11
0
6
2
1
0
0
0
0
0
0
0
52
53
-13
77
-26
0
0
-1
-1
0
0
0
0
0
0
0
0
23
-74
-24
-50
-6
16
-1
0
0
0
0
0
0
0
0
0
0
19
-12
44
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-28
4
19
2
-2
0
0
0
0
0
0
0
0
0
0
0
-15
24
-40
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-6
6
1
0
0
0
0
0
0
0
0
0
0
0
0
-9
-14
33
6
35
21
-7
0
0
0
0
0
0
0
0
0
0
5
-32
-11
-47
-56
7
12
-4
-4
0
4
0
0
0
0
0
0
69
47
21
23
19
-32
-2
2
36
-6
-1
0
0
0
0
0
0
-7
31
7
38
-66
0
1
-1
0
1
0
0
0
0
0
0
0
-35
28
9
-10
29
-24
-1
0
0
-3
0
0
0
0
0
0
0
11
59
61
-33
-11
0
-3
-3
0
0
0
0
0
0
0
0
0
-3
-6
-31
17
20
-12
0
0
0
0
0
0
0
0
0
0
0
-17
22
-17
-19
-33
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-35
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
2
19
-43
6
-2
-7
0
1
0
0
0
0
0
0
0
-7
-27
120
-37
-66
31
-35
0
-22
9
-1
0
0
0
0
0
0
43
-9
22
28
0
-57
-9
-8
0
15
0
0
0
0
0
0
0
-4
3
6
-91
-34
-48
-1
0
-1
0
-2
0
0
0
0
0
0
-15
-84
-51
-7
-78
60
2
1
0
4
0
0
0
0
0
0
0
-6
89
78
-17
-82
-39
0
0
0
0
0
0
0
0
0
0
0
-4
-4
47
57
-26
1
0
0
0
0
0
0
0
0
0
0
0
0
17
21
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
13
-48
-30
-44
-28
-70
-28
0
-5
-1
1
0
0
0
0
0
12
-7
-8
-96
-54
4
-70
4
-16
32
-9
1
0
0
0
0
0
-9
69
4
-27
-24
-17
-50
-124
-50
-4
-1
2
0
0
0
0
0
-10
-24
-18
27
33
-54
22
-10
-29
-42
0
0
0
0
0
0
0
-30
-8
7
-81
-29
15
-12
-25
-8
3
0
-1
0
0
0
0
0
1
-55
-39
-33
17
4
-70
-56
18
0
0
0
0
0
0
0
0
0
59
-16
-26
-27
-40
18
-2
-7
0
0
0
0
0
0
0
0
24
-82
-7
38
2
3
3
0
-10
0
0
0
0
0
0
0
0
-3
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
0
1
0
-2
-6
0
0
0
0
0
0
0
0
0
1
12
-13
8
0
-1
-18
-19
-6
-1
0
0
0
0
0
0
0
-1
-60
8
-8
0
-25
-3
3
-7
-2
0
0
0
0
0
0
0
-1
-12
-9
-61
-7
18
-6
-28
24
-6
0
0
0
0
0
0
0
0
-20
27
-4
-1
-1
-25
-17
-1
8
0
0
0
0
0
0
0
-1
-31
-2
-51
3
1
-1
0
0
0
0
0
0
0
0
0
0
-3
6
-55
9
0
-8
1
0
0
0
0
0
0
0
0
0
0
-17
-1
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
45
-1
-15
-25
-33
-13
0
11
-26
-22
11
-2
0
0
0
-53
85
13
46
12
-7
-57
-54
-19
-8
-34
29
9
-15
4
0
0
-69
54
56
17
-9
4
-42
-41
-30
-43
-17
26
31
-16
-3
0
0
-50
28
81
46
-11
7
-3
-4
3
6
-1
-19
-21
-4
0
0
0
-13
65
39
5
40
-10
12
-35
-1
-29
-11
6
0
4
0
0
0
22
-10
50
-23
-31
-25
-29
12
-8
21
-58
1
-1
-2
1
0
0
-6
-41
-35
47
22
8
-16
-11
-1
-4
1
3
0
0
0
0
0
0
-13
8
5
-3
32
51
1
8
-2
-10
0
0
0
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
33
-4
-53
-2
-28
-111
0
-47
-5
10
8
-3
0
0
0
0
-9
14
0
5
-29
-16
-27
-28
-59
16
-13
3
-6
0
0
0
0
1
16
-43
-19
1
-31
-40
-27
-64
14
-32
-18
0
0
0
0
0
0
68
27
-6
-5
-24
-23
20
-9
-23
-14
-2
0
-1
0
0
0
-2
-14
-10
-36
-12
29
-19
-4
17
-30
-16
0
0
1
0
0
0
-44
34
10
-45
20
-10
-7
5
-24
29
3
0
0
0
0
0
0
0
67
-7
-76
-81
-65
-13
-28
-21
-63
-1
2
4
0
0
0
0
-16
-51
11
-55
-28
-46
-18
-15
-18
-11
-25
0
2
-1
0
0
0
-8
1
-9
-74
-45
32
-25
-11
-2
17
17
3
2
-1
0
0
0
0
-6
-3
38
-26
-41
-26
0
-17
-21
-13
-6
-1
0
0
0
0
0
23
18
21
11
-19
-51
-10
-27
30
-31
19
13
-7
4
0
0
0
58
19
40
-10
-32
-60
-42
-21
13
4
-19
0
0
0
0
0
0
-27
24
44
21
2
0
-17
-36
-50
17
0
-1
0
0
0
0
0
-33
-39
-6
5
-17
-17
3
-27
1
-2
10
1
0
0
0
0
0
-10
-24
2
-8
-13
-20
-22
11
-21
-37
2
-1
0
0
0
0
0
12
-32
-23
17
-12
30
-6
7
-54
-28
22
-1
0
0
0
0
0
23
34
-3
0
-13
47
-9
-18
15
-9
-2
-1
0
0
0
0
0
1
19
15
19
44
57
-4
3
0
0
0
0
0
0
0
-21
83
46
24
-43
-15
23
-38
0
-8
31
0
-6
0
0
0
0
-13
-22
52
38
-23
-17
-11
-32
2
-50
-82
-21
-3
10
0
0
0
37
97
43
32
-13
-31
-26
-42
12
-27
-17
1
-16
4
0
0
0
-10
-20
33
74
3
-13
-30
6
19
10
72
4
28
1
0
0
0
9
-10
22
45
31
-25
-13
-5
35
41
-29
-2
-4
0
0
0
0
55
34
8
89
38
-13
-44
6
35
-11
-18
-19
3
-1
0
0
0
-17
-33
52
-11
38
36
-19
-13
-15
29
-15
0
-3
0
0
0
0
1
3
28
-28
6
15
-14
-2
15
1
-2
0
0
0
0
0
0
0
-2
1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
-32
-62
24
-68
-5
7
23
-43
0
-32
-2
4
0
0
0
0
0
-66
14
36
-8
-5
-21
-36
-43
10
-91
66
-4
-2
0
0
0
0
18
16
72
16
10
16
-42
-30
-38
-22
-68
4
0
0
0
0
0
-14
-72
69
58
6
-31
24
-13
4
58
-70
-3
0
0
0
0
0
-36
-67
72
28
37
-44
-12
-15
-13
-92
-28
0
0
0
0
0
0
-2
26
-28
53
49
28
-32
-5
-64
-67
13
-2
0
0
0
0
0
16
35
-73
34
16
20
-16
29
-110
30
0
0
0
0
0
0
0
0
-1
3
62
84
26
16
14
11
-14
0
0
0
0
0
0
0
0
0
4
0
5
9
51
13
2
-1
0
0
0
0
0
0
0
-10
12
0
1
21
-65
-30
-90
0
5
-2
1
0
0
0
0
0
-20
-17
9
44
-87
9
-28
-112
-38
-23
22
-1
0
0
0
0
0
-18
-45
-18
-57
-51
11
-12
-138
-34
-63
-47
-6
0
0
0
0
0
-2
-35
1
-8
19
14
-33
-22
25
40
-4
-1
0
0
0
0
0
-7
-43
-19
-73
35
-4
-42
-15
-1
28
-48
2
0
0
0
0
0
3
-71
-68
-26
-80
19
-71
-10
-17
-24
-22
0
0
0
0
0
0
0
-85
-27
57
-27
-42
-29
-4
-53
-17
-13
-6
0
0
0
0
0
0
6
0
33
-24
-15
-5
-41
15
17
2
0
0
0
0
0
0
0
0
-1
0
7
-28
39
43
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
20
-11
2
-1
0
0
0
0
0
0
0
0
0
0
13
-10
16
27
-44
2
0
0
0
0
0
0
0
0
0
0
0
42
-2
58
-7
-3
1
0
0
0
0
0
0
0
0
0
0
0
-26
71
-35
57
-12
0
0
0
0
0
0
0
0
0
0
0
0
4
-46
-10
57
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-11
11
39
-19
-1
0
0
0
0
0
0
0
0
0
0
0
-5
57
32
-25
3
-2
0
0
0
0
0
0
0
0
0
0
0
7
115
-38
73
6
0
0
0
0
0
0
0
0
0
0
0
0
46
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-14
-4
16
4
0
0
0
0
0
0
0
0
0
0
0
18
81
32
22
-11
-2
0
0
0
0
0
0
0
0
0
0
0
33
-4
8
-44
21
12
0
2
0
0
0
0
0
0
0
0
0
39
20
73
-54
-33
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
32
-47
16
0
0
0
0
0
0
0
0
0
0
0
0
2
22
36
-21
29
0
0
0
0
0
0
0
0
0
0
0
0
49
-14
9
45
11
0
0
0
0
0
0
0
0
0
0
0
0
2
110
38
80
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
-32
40
-21
-7
28
0
0
0
0
0
0
0
0
0
0
0
24
-8
66
-13
53
8
2
0
0
0
0
0
0
0
0
0
0
27
-28
-6
-34
-14
-27
0
0
0
0
0
0
0
0
0
0
0
35
0
-6
30
87
6
0
0
0
0
0
0
0
0
0
0
0
0
5
12
-4
44
-8
0
0
0
0
0
0
0
0
0
0
0
0
-15
22
7
-42
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
42
51
9
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-32
10
-23
-54
-49
-18
0
0
0
0
-1
0
0
0
0
0
61
60
37
29
23
1
71
0
0
0
3
0
0
0
0
0
0
12
8
35
-7
8
39
23
10
25
36
-1
0
0
0
0
0
0
46
-11
87
31
20
-12
2
67
37
-5
2
0
0
0
0
0
0
61
43
53
68
72
-19
2
1
-35
3
0
1
0
0
0
0
0
21
36
26
5
56
56
26
-39
37
0
0
0
0
0
0
0
0
41
-13
-16
31
65
21
24
53
27
-4
0
0
0
0
0
0
0
13
-17
27
13
-53
7
-22
3
-1
0
0
0
0
0
0
0
0
50
1
-8
30
2
0
0
0
1
0
0
0
0
0
0
0
0
-38
-43
26
62
44
29
10
0
0
0
0
0
0
0
0
0
0
-20
22
-25
3
12
18
3
0
0
0
1
0
0
0
0
0
0
-3
-73
14
34
-19
60
8
19
50
12
0
0
0
0
0
0
0
60
-13
26
-19
-5
-29
-37
2
23
15
3
0
0
0
0
0
0
14
-41
10
55
4
-50
20
20
10
7
3
0
0
0
0
0
0
-24
-25
-24
-10
10
-2
-29
27
-2
34
-1
0
0
0
0
0
0
63
-22
16
11
-5
20
25
-5
-9
99
-2
0
0
0
0
0
0
27
57
46
-27
26
52
19
40
23
3
0
0
0
0
0
0
0
55
71
10
27
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
30
-13
-18
56
-32
-8
0
0
0
9
16
-8
-6
0
0
0
2
53
58
-25
0
1
38
0
0
0
55
-17
0
6
-1
0
0
24
-85
51
-22
59
26
18
31
77
24
41
-20
-41
8
0
0
0
16
93
32
39
24
-34
-14
-9
-34
19
-63
3
1
8
0
0
0
52
-33
-8
9
20
18
31
-64
-26
-11
-12
0
0
-2
2
0
0
20
20
87
45
-36
1
-52
-2
-5
-50
-18
0
1
2
0
0
0
-2
35
-18
21
-46
31
29
19
-47
-15
4
0
0
0
0
0
0
7
-15
13
-5
8
-8
32
4
-1
-12
0
-1
0
0
0
0
0
0
1
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
39
-81
-123
-150
-25
0
0
0
-11
29
2
-26
7
-27
-1
0
-24
-58
-1
-55
-93
-8
0
0
0
46
-27
9
5
-28
-8
1
0
-24
-82
92
-22
26
-14
-46
24
-17
2
-32
-37
-32
-13
-4
0
0
9
-40
17
-1
-74
29
-25
37
-45
-20
-34
-15
-18
1
-1
3
0
-2
-49
-39
-10
2
4
-85
-8
69
-28
-25
1
0
1
3
0
0
-1
-37
34
36
14
-32
-24
31
-5
-23
-22
-22
2
7
0
0
0
0
-44
83
23
-17
16
-15
-2
0
-4
-6
-12
2
-3
-1
-1
0
0
19
20
16
54
-55
4
24
13
17
27
-34
4
2
1
-10
0
0
-3
-11
24
-21
122
29
35
71
-35
2
-6
4
-4
-5
-3
0
0
-26
-14
-51
62
54
0
0
0
-26
-7
29
18
0
-2
0
0
0
-70
-38
24
34
-26
0
0
0
-34
-87
-43
3
-7
3
0
0
0
-111
10
63
81
43
7
-8
33
-6
15
4
-2
1
0
0
0
0
-70
-138
67
33
-11
-22
-31
-10
-5
-2
0
0
0
0
0
0
0
-183
-24
33
52
-27
-26
-11
4
5
-24
2
-1
0
0
0
0
0
-14
-65
78
17
7
-14
-27
20
-17
-37
1
-2
-1
0
0
0
0
-72
-20
13
63
8
47
-23
20
47
-66
6
11
-2
0
0
0
0
0
-20
50
-17
-100
39
8
-1
-60
15
7
7
12
-1
0
0
0
-4
-27
-4
1
10
-9
-6
0
0
0
0
0
0
0
0
-44
-24
-11
-89
-24
8
102
0
0
0
8
-9
-1
-1
0
0
0
-45
44
16
-36
-17
-3
92
0
0
0
16
-11
-7
-1
0
0
0
-58
-49
-31
14
-12
3
37
53
88
10
5
-15
-2
-1
0
0
0
-89
-46
-25
38
-11
-6
-48
12
-37
-31
-8
-1
-15
0
2
0
0
-63
-129
-56
-90
53
-30
33
-4
-17
-18
38
2
4
3
0
0
0
-9
105
60
43
25
15
33
-26
27
17
-1
8
-1
0
3
0
0
-66
62
-42
81
41
-18
-42
-21
14
37
12
-2
0
0
-1
0
0
13
32
79
-41
69
17
-38
68
-29
-3
-2
0
0
0
0
0
0
0
-1
-1
3
16
0
0
0
-1
0
1
0
0
0
0
0
0
-17
-107
-71
-67
-23
-3
96
0
0
0
-17
-2
0
0
0
0
0
-76
-88
-228
-8
-12
-12
25
0
0
0
-23
-10
0
0
0
0
0
-20
21
-152
34
5
14
-24
-50
34
35
25
1
0
0
0
0
0
-57
-34
-3
-9
40
-35
4
10
-34
66
-42
1
0
0
0
0
0
10
-41
-79
-9
20
-38
3
-54
-17
11
-30
-3
0
0
0
0
0
-19
-79
38
44
65
65
-36
-6
-41
-33
0
-3
0
0
0
0
0
-94
24
-33
-74
-24
8
-6
36
-81
-91
11
0
0
0
0
0
0
-2
11
-38
9
56
-3
14
-32
-62
-17
0
0
0
0
0
0
0
0
0
0
0
64
19
-43
2
-18
0
0
0
0
0
0
0
0
-13
-1
-65
17
33
14
60
0
0
0
30
-12
0
0
0
0
0
-8
-67
-81
15
16
62
122
0
0
0
20
-28
-1
-2
0
0
0
23
-48
-18
88
81
33
91
82
71
105
55
11
0
6
0
0
0
-195
-134
-32
38
20
67
32
-17
17
-28
28
4
0
0
0
0
0
-84
-117
-38
34
25
52
8
27
-19
-74
12
-1
2
0
0
0
0
-19
-10
-68
38
42
12
-2
15
3
3
-42
-3
1
0
0
0
0
-40
-40
-38
38
28
4
11
9
-10
-40
-54
-20
0
0
0
0
0
0
49
-16
58
-13
16
11
-26
-56
-46
-40
2
2
0
0
0
0
16
-2
0
0
-11
3
-2
5
-38
-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
20
15
-16
-45
-3
0
0
0
0
0
0
0
0
0
0
0
0
-20
-24
-33
-51
-47
0
0
0
0
0
0
0
0
0
0
0
0
33
18
43
-1
4
-6
0
0
0
0
0
0
0
0
0
0
0
1
-26
-12
-43
-6
0
0
0
0
0
0
0
0
0
0
0
0
-3
27
-21
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-43
16
24
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-3
20
13
1
0
0
0
0
0
0
0
0
0
0
0
0
-6
22
-25
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
-29
16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
43
-21
3
-2
-2
0
0
0
0
0
0
0
0
0
0
0
13
6
-58
34
-59
0
6
0
0
0
0
0
0
0
0
0
0
21
-51
-38
-76
2
0
0
1
0
0
0
0
0
0
0
0
0
3
-51
1
36
-13
0
0
0
0
0
0
0
0
0
0
0
0
7
6
-7
-118
-35
-6
0
0
0
0
0
0
0
0
0
0
0
20
-28
-13
28
-50
0
0
0
0
0
0
0
0
0
0
0
0
-8
46
-6
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
22
-33
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
24
17
-22
-2
0
0
0
0
0
0
0
0
0
0
0
10
6
12
25
-41
-2
0
0
0
0
0
0
0
0
0
0
0
-36
-13
16
-15
-11
-1
0
0
0
0
0
0
0
0
0
0
0
-2
-8
1
-59
-28
0
0
0
0
0
0
0
0
0
0
0
0
-4
-20
47
-31
-24
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
-39
-12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-84
-57
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
11
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
14
-49
9
-3
0
0
0
0
0
0
0
0
0
0
1
-29
27
14
-74
-48
3
0
0
0
0
0
0
0
0
0
0
-9
-37
26
-1
-7
2
0
0
1
0
0
0
0
0
0
0
0
-4
4
-13
-97
-45
-25
-9
-4
-1
0
0
0
0
0
0
0
0
-6
19
19
36
-22
15
7
-2
1
0
0
0
0
0
0
0
0
0
1
-19
8
-52
-27
-2
-1
0
0
0
0
0
0
0
0
0
0
-65
32
-2
-18
1
2
3
0
0
0
0
0
0
0
0
0
-2
-73
-15
13
0
2
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
0
1
-2
0
0
0
0
0
0
0
0
0
0
1
10
-7
-7
-8
-4
-1
0
0
0
0
0
0
0
0
0
0
1
4
-9
-12
-3
-3
-3
-1
0
0
0
0
0
0
0
0
0
2
-33
21
3
-3
-10
0
0
0
1
0
0
0
0
0
0
0
-2
-25
18
19
2
-8
1
0
-4
0
0
0
0
0
0
0
0
-7
-13
-4
12
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-24
-12
-1
1
0
1
-1
0
0
0
0
0
0
0
0
0
-6
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
12
-29
-107
-96
-44
0
0
0
-4
-4
1
0
0
0
0
8
34
26
-4
28
-57
-52
0
0
0
-86
4
-10
1
0
0
0
12
2
23
2
-31
-71
-74
3
-37
-57
-4
-10
2
-6
0
0
0
15
42
44
-51
37
-84
-55
-85
-73
-87
-21
-2
0
0
-2
0
0
7
-4
-26
-11
-42
-5
-25
-47
20
4
-2
0
-1
0
0
1
0
-9
-9
-21
-22
-14
-11
3
40
-47
-15
16
0
0
-1
0
0
0
0
7
23
-9
-22
-3
-23
-18
-42
-20
2
0
0
0
0
0
0
-6
7
38
8
33
11
-2
-41
-1
-3
0
0
0
0
0
0
0
7
-2
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
-28
-167
-44
0
0
0
7
11
2
25
10
-4
4
0
-3
-27
37
15
-104
0
0
0
0
-22
-53
-28
-23
11
2
0
0
-17
-4
-37
25
-57
-9
20
-65
-123
0
21
-20
-17
1
-4
0
0
-27
1
6
-23
-82
-100
-112
-29
1
-12
36
6
-8
-8
0
0
0
-8
-17
-37
-19
-44
-43
24
-28
-7
-19
-10
1
-2
0
0
0
0
0
9
-32
-74
15
-52
-33
34
-2
-9
53
6
-4
0
0
0
0
-1
-42
-18
-27
-7
-4
-3
-10
-13
-10
-14
-11
8
-32
4
0
0
0
-30
-71
-86
43
-38
12
6
-3
-41
-35
17
-13
12
1
3
0
0
0
-7
-25
22
20
31
49
38
-14
1
-4
0
-27
-2
-6
0
0
-7
-2
-13
-49
-68
0
0
0
-12
-27
-7
-11
-1
0
0
0
0
-8
-13
11
-31
-7
0
0
0
-31
-15
-9
-3
1
0
0
0
0
-54
-73
5
17
17
21
-40
-22
59
-1
-10
-2
-2
0
0
0
0
1
-8
11
1
-79
-51
-33
-39
0
-50
-1
1
0
0
0
0
0
6
-82
-27
16
-41
-31
-43
-12
56
10
-10
2
0
0
0
0
0
-22
-40
-12
8
3
-14
-23
7
-28
7
-1
0
-1
-4
0
0
0
-14
4
-28
-8
-18
-39
44
-13
-23
-14
15
-16
-2
0
0
0
0
-1
-19
-84
-90
-46
9
29
0
-12
10
8
-2
-10
1
0
0
0
-5
-42
-7
4
0
2
0
0
0
0
0
0
0
0
0
11
-81
-28
-85
-72
-20
-67
0
0
0
-1
0
2
0
0
0
0
-28
18
68
30
-46
-108
-91
0
0
0
-9
17
-2
1
0
0
0
-3
-7
-4
25
-82
-40
-113
-59
-20
-54
-1
2
-8
1
-1
0
0
-38
-24
72
27
7
-90
-57
-37
-76
-19
-20
-28
-1
0
-3
0
0
-21
27
29
-13
79
-62
-35
-64
-52
-52
8
-2
1
-2
0
0
0
8
-3
11
25
3
20
-41
-44
-38
7
-24
0
0
0
0
0
0
6
-5
74
0
-31
-31
-107
-12
-34
-32
1
0
1
0
0
0
0
-1
-19
-28
34
0
7
-67
-37
-7
-8
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-12
9
-24
11
-2
-12
0
0
0
-2
0
0
0
0
0
0
1
-66
-44
-26
12
-40
-62
0
0
0
-25
0
0
0
0
0
0
-2
22
-39
-53
31
-37
-59
-12
-58
-37
-1
0
0
0
0
0
0
9
-49
-76
-14
68
-25
-51
89
-6
-40
-19
0
0
0
0
0
0
2
3
11
-15
-22
-12
-23
13
-25
-71
1
2
0
0
0
0
0
-7
6
7
22
-31
21
4
-5
-18
-180
-1
0
0
0
0
0
0
0
-3
-2
-17
-16
13
-45
-74
-144
18
0
0
0
0
0
0
0
0
2
0
-15
0
31
-38
-17
2
-3
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
35
4
-27
8
0
0
0
0
0
0
0
0
0
0
-1
0
-3
11
94
28
-21
0
0
0
-3
-15
0
0
0
0
0
1
-11
-2
-27
-104
33
-24
-27
-71
-25
-22
-2
0
0
0
0
0
0
-1
0
-41
7
-92
-55
-11
-24
-94
-12
2
0
0
0
0
0
0
-12
-4
-71
-9
95
-40
-100
-25
-27
9
-3
0
0
0
0
0
0
1
2
36
-13
-25
-35
4
-64
-106
-22
0
0
0
0
0
0
0
0
0
7
-108
-37
-53
-26
-11
-4
-6
-2
0
0
0
0
0
0
-2
0
-7
12
0
-23
-2
22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
32
0
0
0
0
0
0
0
0
0
0
-17
37
3
50
0
0
78
1
0
0
0
0
0
0
0
0
-8
1
23
36
26
31
-9
-26
0
0
0
0
0
0
0
0
0
0
0
47
29
30
70
27
62
1
0
0
0
0
0
0
0
0
0
0
-3
-2
28
-1
43
-16
0
0
0
0
0
0
0
0
0
4
-3
4
-12
39
47
17
-32
0
0
0
0
0
0
0
0
0
0
1
7
-18
-22
12
60
-9
0
0
0
0
0
0
0
0
0
0
0
1
-1
42
12
-60
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-23
2
0
0
0
0
0
0
0
0
1
1
0
41
53
0
0
0
-10
0
0
0
0
0
0
0
0
-1
1
32
17
27
39
0
0
42
7
0
0
0
0
0
0
0
1
2
26
-10
37
47
10
46
0
-1
0
0
0
0
0
0
0
0
12
20
37
73
30
32
18
-14
-8
0
0
0
0
0
0
0
-4
-4
0
40
-4
4
20
-23
23
-2
0
0
0
0
0
0
0
-3
0
1
-1
-23
0
30
48
31
-2
0
0
0
0
0
0
0
0
0
-2
-2
-63
36
-33
39
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-16
7
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
45
0
0
0
25
-15
0
0
0
0
0
0
0
0
0
11
-10
7
44
0
0
48
8
0
0
0
0
0
0
0
0
0
0
12
49
93
32
37
-5
23
0
0
0
0
0
0
0
0
0
-2
18
16
5
25
7
4
20
-1
0
0
0
0
0
0
0
2
4
7
2
30
24
43
-1
-61
2
0
0
0
0
0
0
0
3
6
-1
0
3
23
20
-37
-9
-4
0
0
0
0
0
0
0
-3
3
4
-16
64
-30
38
32
13
0
0
0
0
0
0
0
0
0
0
0
-3
76
45
9
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
0
0
0
0
0
0
0
90
54
20
39
-5
10
0
0
0
0
3
9
2
-3
0
0
0
21
6
31
28
-19
93
-12
0
0
0
1
-3
-18
-2
33
43
69
49
6
1
-1
20
-26
43
0
0
0
7
-8
24
-28
65
55
31
-1
-6
-5
-27
6
31
1
0
0
-9
-3
-8
18
70
33
96
37
40
24
-45
-38
-42
42
0
0
0
0
-2
-2
-15
11
30
103
15
-4
24
24
-39
52
47
0
0
0
0
0
2
-8
-9
61
-8
20
2
-18
44
17
-8
-14
0
0
0
0
0
0
-4
-19
-23
16
-44
18
-15
11
40
-38
0
0
0
0
0
0
0
0
0
-1
13
3
-3
0
1
15
-25
38
0
0
0
0
0
7
24
43
0
0
0
104
49
19
1
-37
16
0
0
0
6
1
0
47
29
0
0
0
53
49
-33
8
17
45
1
0
0
0
-2
3
33
-37
20
-15
65
21
12
11
-97
25
-45
-4
0
0
-4
0
-1
20
24
6
-32
6
-14
17
-43
24
-18
97
6
0
0
0
-1
0
-3
-6
2
-17
-56
-4
18
31
28
37
12
-4
0
0
0
1
0
0
39
-2
-20
-39
-48
-10
-35
2
-62
32
0
0
0
0
0
-1
0
12
55
-40
-23
-1
-54
-29
35
1
3
0
0
0
0
0
0
-2
3
65
-30
20
20
3
2
-11
0
0
0
0
0
0
0
0
0
4
0
33
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
75
0
0
0
56
46
22
11
-17
-35
-8
0
0
1
0
41
74
61
13
0
0
78
54
18
9
-11
-19
-26
0
1
-1
2
-6
-16
88
42
7
56
40
53
16
12
1
-20
-39
0
0
-2
-8
-1
-21
15
27
24
60
65
32
40
10
8
-15
18
0
0
0
7
-12
18
16
2
17
-9
10
34
3
11
-9
-6
-35
0
0
0
-3
-2
-12
25
-7
22
-39
11
27
32
-3
-10
-16
-37
0
0
0
-11
-10
4
-15
15
-66
29
3
11
40
26
11
-15
15
0
0
0
3
11
-5
13
-3
-76
44
52
-25
39
21
16
2
4
0
0
0
0
0
0
0
3
1
-1
1
-9
1
-2
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
-24
-40
0
0
37
-5
-5
5
-9
41
39
0
0
0
0
10
-1
-3
-22
87
33
9
26
-7
-3
-10
3
30
0
0
0
0
0
-2
-2
50
24
51
65
14
24
-17
-3
-6
5
0
0
0
0
0
-12
2
-9
-13
5
43
37
-6
18
12
-20
23
0
0
0
0
-13
-2
-13
54
21
54
14
-6
54
24
-4
-4
43
0
0
0
8
0
0
15
-12
-27
47
16
42
70
-6
2
18
34
0
0
0
-2
0
0
50
23
-17
36
10
37
79
12
25
35
36
0
0
0
0
0
0
-47
7
-34
-58
-18
57
53
36
22
26
6
0
0
0
0
0
0
0
4
-7
34
-31
40
15
47
39
42
28
0
0
0
0
1
-44
2
-7
0
28
36
-11
-35
-4
4
-2
24
0
0
0
-1
-4
82
-21
-37
-38
33
0
5
11
-5
14
-5
6
0
0
0
0
-3
-16
-46
33
6
48
5
9
-12
20
16
-15
0
0
0
0
0
-20
2
33
45
61
8
17
8
18
11
10
-9
-7
0
0
0
0
8
-41
-6
13
16
10
21
10
30
12
31
18
20
0
0
0
3
8
13
-15
-33
13
42
20
44
20
9
31
4
5
0
0
0
0
0
-11
-56
-26
-55
36
7
41
24
7
26
7
-24
0
0
0
0
15
0
27
-6
19
-1
20
-9
11
26
1
9
4
0
0
0
0
0
2
-6
5
-20
2
45
-26
82
-3
-27
-8
0
0
0
0
-9
6
29
-8
61
0
0
59
20
7
9
-5
-20
-65
0
0
0
4
8
-10
18
0
14
0
41
28
33
11
-10
-21
11
0
0
2
-2
-2
30
38
44
56
66
4
49
17
6
-4
-14
-9
0
0
6
1
31
-27
9
-17
12
39
32
49
22
23
2
-17
-44
0
0
0
-4
-11
-50
18
33
3
9
25
24
13
20
4
19
9
0
0
0
5
-12
-17
62
-43
-13
-31
17
14
-8
7
2
8
54
0
0
0
0
2
-24
-24
16
6
46
-7
25
20
15
12
32
16
0
0
0
0
-1
38
46
4
8
-20
-2
-12
-2
-8
28
51
-1
0
0
0
0
0
0
11
1
-1
-11
45
0
12
64
76
9
0
0
0
0
0
2
15
-18
37
0
37
102
91
31
41
69
24
26
0
0
0
0
-2
8
25
0
17
0
55
37
36
6
31
45
-2
0
0
0
0
0
2
-4
5
45
19
21
36
12
33
30
68
19
0
0
0
0
0
-6
-49
-7
19
47
48
-21
36
25
11
54
80
0
0
0
0
1
-3
-2
11
-14
31
-8
7
-45
6
20
22
24
0
0
0
1
0
0
-17
-52
-73
-35
13
-29
4
-36
10
9
-20
0
0
0
0
0
0
-3
-4
-52
-134
41
5
-19
24
-22
16
0
0
0
0
0
0
-12
0
1
3
-10
15
-7
16
-24
12
61
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-24
-10
3
0
0
0
0
0
0
-7
36
0
0
0
117
108
66
22
8
2
5
0
0
0
0
0
-1
62
38
0
76
65
99
66
28
19
7
27
0
0
0
0
0
0
-9
124
54
69
13
59
45
58
13
20
-21
0
0
0
0
0
0
8
-21
-28
-17
37
20
-7
39
28
7
42
0
0
0
0
0
0
-7
-42
-61
-27
-18
-30
1
19
22
16
13
0
0
0
0
0
-2
6
-18
-172
-19
30
2
-1
23
35
58
-18
0
0
0
0
0
0
0
-58
-144
-35
-71
18
58
64
8
19
81
0
0
0
0
0
0
0
0
-12
3
49
78
-47
-56
22
-71
4
0
0
0
0
0
0
0
0
0
0
0
1
3
28
-6
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-71
0
0
0
0
0
0
0
0
0
-2
-8
0
74
7
0
0
-75
-10
0
0
0
0
0
0
0
-1
-9
0
-32
-24
-30
-37
-91
-110
2
0
0
0
0
0
0
0
0
0
0
6
-16
58
-16
-40
35
6
0
0
0
0
0
0
0
0
0
0
0
8
36
-17
-21
9
0
0
0
0
0
0
0
0
3
-8
0
1
-5
6
-32
34
-36
-9
0
0
0
0
0
0
0
0
-1
0
-3
7
47
40
5
24
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
38
-100
10
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
31
9
0
0
0
0
0
0
0
0
-2
-2
-11
-3
30
0
0
0
-123
0
0
0
0
0
0
0
0
-3
-16
26
3
-15
37
0
0
-17
16
0
0
0
0
0
0
0
0
0
-14
-5
16
-10
-29
10
-60
17
1
0
0
0
0
0
-1
1
7
-27
7
-65
2
8
6
-14
10
0
0
0
0
0
0
0
7
7
18
0
-6
-5
16
-20
-18
-42
0
0
0
0
0
0
0
7
-1
-2
-20
-13
27
13
-26
-42
1
0
0
0
0
0
0
0
2
7
2
3
5
-14
24
-19
-28
8
0
0
0
0
0
0
0
0
-3
0
1
22
8
30
14
-7
0
0
0
0
0
0
0
0
0
0
0
0
7
1
2
-2
1
0
0
0
0
0
0
0
0
0
0
6
0
50
0
0
0
-13
18
0
0
0
0
0
0
0
0
0
-15
29
-41
45
0
0
-28
35
0
0
0
0
0
0
0
0
0
6
-14
-11
-31
-11
-18
-18
-21
1
0
0
0
0
0
0
0
0
23
-34
9
52
7
-12
-18
-27
-2
0
0
0
0
0
0
0
1
1
-16
9
93
-2
-34
26
-77
2
0
0
0
0
0
0
0
1
-11
0
-29
15
13
-40
-54
-57
0
0
0
0
0
0
0
0
-2
-2
6
4
-67
15
-19
-42
-45
0
0
0
0
0
0
0
0
-1
-4
-2
-6
-13
33
-45
14
-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
1
0
52
0
0
0
-15
-2
-4
26
-23
-58
-1
0
0
0
-3
17
24
-4
0
0
0
-10
-79
-39
11
4
-65
13
0
0
0
-1
-2
35
13
-58
-16
-27
-8
-95
-84
-43
-21
-24
-5
0
0
0
0
4
-11
-36
-24
-3
-70
-34
-59
-70
-14
-54
-68
0
0
0
0
0
-3
-2
21
39
-16
24
-13
-30
-75
-29
-52
-3
0
0
0
0
0
2
-1
1
-83
16
-28
-71
2
-42
-127
-46
9
0
0
0
0
0
0
6
-10
-11
81
77
-26
-36
43
-33
-14
-10
0
0
0
0
0
0
2
0
-17
38
65
2
6
-10
-1
-1
0
0
0
0
0
0
0
0
0
-2
15
1
-6
0
-10
-1
0
-13
0
0
0
0
0
0
-10
-11
0
0
0
-22
2
-7
0
-3
-6
0
0
0
0
0
10
-9
51
0
0
0
22
-27
-1
0
-16
-1
0
0
0
0
0
0
30
-58
-45
-38
-20
-43
5
33
-30
29
4
0
0
0
0
0
0
-3
-17
1
-90
17
-60
41
32
13
-56
-1
0
0
0
0
0
0
0
2
-65
-22
-101
-36
-18
-34
-90
-44
2
0
0
0
0
0
0
0
1
-85
-4
-73
-41
-4
-19
-58
-9
-2
6
0
0
0
-2
2
0
1
22
1
4
8
-1
3
0
-1
0
0
0
0
0
0
0
0
-1
29
5
16
1
-2
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
8
-8
47
0
0
0
-10
17
7
-34
-37
-42
-28
0
0
-2
10
20
34
12
6
0
0
-12
-44
-23
-25
-35
-39
-16
0
0
-1
1
-11
28
125
-8
38
11
0
27
-17
-30
-35
-35
-46
0
0
-4
-2
19
13
26
61
10
61
76
-9
-4
-35
-28
-28
-8
0
0
0
0
79
67
71
55
54
22
42
-15
-3
-34
-30
-45
-38
0
0
0
3
26
46
-18
0
20
28
-2
6
-12
-31
-37
-36
-40
0
0
0
61
20
8
4
-6
35
57
3
-38
-18
-6
-7
-67
-42
0
0
0
0
5
24
29
1
78
15
3
-9
-64
-71
-62
-67
-1
0
0
0
0
0
0
0
-16
-23
-1
2
7
-2
-17
-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
3
-47
0
0
0
-31
-45
-36
-25
-44
-45
0
0
0
1
4
0
0
8
-11
41
-43
-20
-50
-46
-40
-23
-19
0
0
0
0
3
1
16
52
22
28
6
-10
-18
-5
-33
-7
-43
0
0
0
0
0
-5
-36
-13
-13
0
28
-5
-33
-33
-5
-48
-9
0
0
2
0
5
5
-7
30
-22
24
40
-19
13
-21
-37
-25
-32
0
0
-4
0
2
14
28
-6
60
-58
31
20
31
-23
-17
18
-64
0
0
0
1
-2
-10
4
5
-76
15
17
10
-1
-43
-21
-31
-15
0
0
0
-1
0
1
-5
2
21
18
-10
56
-10
7
-32
-17
-81
0
0
0
0
6
0
0
0
29
-6
3
27
-5
-28
-39
-45
-55
0
0
0
0
0
0
-12
-22
0
-18
-8
-36
-62
-38
-11
-37
-34
0
0
0
3
4
-32
-19
44
-37
12
0
-28
-23
-25
-23
-18
-20
0
0
0
0
7
4
27
-10
-19
15
-26
-27
-40
-48
-38
-41
-30
0
0
0
0
-16
18
-27
-24
13
3
4
-11
-8
-6
-13
-30
-25
0
0
0
0
-11
89
12
-41
25
-4
32
2
15
-18
-15
-18
-45
0
0
0
0
17
-10
27
0
-2
27
34
36
12
-3
-1
-30
-28
0
0
0
1
6
-3
39
32
32
16
30
-2
8
8
-15
-48
-11
0
0
0
2
-4
2
2
-2
-22
-50
-27
73
23
12
-11
-51
-14
0
0
0
0
0
2
12
6
17
-26
-6
11
-47
-10
-20
-3
0
0
0
0
6
-7
-12
-15
31
0
0
-19
-6
-14
-14
-16
-21
-33
0
0
0
-8
26
139
21
0
20
0
20
10
-7
-14
-25
-23
-21
0
0
0
-6
-7
-81
1
-4
30
34
-22
30
6
-19
-11
-32
-52
0
0
0
-3
-10
33
54
-44
13
32
42
17
0
-22
-39
-43
-55
0
0
0
25
-3
48
27
35
20
26
12
-22
-19
-9
-21
-28
-31
0
0
0
2
97
8
63
14
25
22
-3
9
-26
-19
-4
-21
-4
0
0
0
3
-22
60
8
32
9
18
30
-34
-9
1
-26
7
-43
0
0
-1
0
2
26
-44
0
6
-49
1
36
-48
-3
-2
17
-6
0
0
0
0
0
0
-8
6
4
6
6
-17
-9
40
-59
-4
0
0
0
0
0
0
0
67
-18
0
18
-16
-34
-7
25
-24
-14
-36
0
0
0
0
1
-28
19
0
1
0
25
-20
-19
8
-7
18
17
0
0
0
-1
-6
-3
-124
-35
6
-22
1
-29
19
-12
27
7
6
0
0
0
0
0
-17
-24
-36
-49
-23
-51
-15
-46
-27
-45
22
-49
0
0
0
0
0
0
-13
-44
-53
-57
-96
-37
-65
-38
-28
2
35
0
0
0
0
0
0
-4
-27
-6
-33
-10
-82
2
-67
-31
-43
-10
0
0
0
1
0
0
-1
53
-53
-41
11
-27
-52
-17
-36
-46
-30
0
0
0
0
0
-6
0
-8
7
-11
-37
-41
-30
10
27
-83
0
0
0
0
0
0
0
0
0
0
-2
0
0
-3
-31
3
15
0
0
0
0
0
1
-1
-10
0
0
0
-30
21
-9
-27
-74
-26
-57
0
0
0
0
0
0
-22
35
0
37
-83
-2
-5
-44
-20
-37
-80
0
0
0
0
0
0
-7
-39
61
23
-34
-1
23
-23
-25
5
-60
0
0
0
0
2
0
4
-107
-201
-3
-19
21
-44
-27
-33
-5
31
0
0
0
0
0
3
-4
-103
-92
-33
-44
-55
-23
-22
-38
-9
-73
0
0
0
0
0
0
0
-75
-168
41
-9
29
-49
-13
-7
-33
26
0
0
0
0
0
0
0
-32
-105
-57
-32
52
-9
-27
9
15
-31
0
0
0
0
0
0
0
-1
-17
3
7
-2
22
16
19
13
-2
0
0
0
0
0
0
0
0
1
0
0
0
2
61
4
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
41
3
0
0
0
0
0
0
0
0
3
7
25
60
37
0
0
9
0
0
0
0
0
0
0
0
0
0
1
62
0
50
-19
26
-17
-2
0
0
0
0
0
0
0
0
0
-3
8
10
17
59
30
23
1
0
0
0
0
0
0
0
0
0
2
7
20
-23
-5
54
79
-6
0
0
0
0
0
0
0
0
0
0
-3
10
25
8
36
-27
0
0
0
0
0
0
0
0
0
0
0
-1
-23
50
27
24
8
0
0
0
0
0
0
0
0
0
0
0
1
2
-25
61
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-4
4
-9
0
0
0
0
0
0
0
0
0
-3
-2
25
23
0
0
0
-3
8
0
0
0
0
0
0
0
-1
1
7
-14
0
28
0
0
-62
7
0
0
0
0
0
0
0
0
1
0
28
45
38
38
15
4
-24
0
0
0
0
0
0
0
0
0
9
17
28
27
-11
16
36
16
0
0
0
0
0
0
0
0
3
0
-3
-12
75
-2
31
13
-12
0
0
0
0
0
0
0
0
0
1
-2
-8
35
78
52
10
0
0
0
0
0
0
0
0
0
0
0
-4
11
40
24
80
75
0
0
0
0
0
0
0
0
0
0
0
0
-15
59
-22
46
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
1
26
-19
-11
0
0
0
0
0
0
0
0
0
-1
-6
11
-9
0
0
0
59
-1
0
0
0
0
0
0
0
0
-1
1
25
49
31
0
0
5
-56
0
0
0
0
0
0
0
0
3
-1
-2
0
38
7
-69
16
75
0
0
0
0
0
0
0
0
0
0
7
10
82
18
-15
-5
-49
0
0
0
0
0
0
0
0
0
-1
-1
5
-20
25
-40
17
39
0
0
0
0
0
0
0
0
1
0
2
-7
55
-49
45
98
-17
0
0
0
0
0
0
0
0
0
0
0
6
5
-9
52
45
9
0
0
0
0
0
0
0
0
0
0
1
0
-14
36
53
48
1
0
0
0
0
0
0
0
0
0
0
0
-1
12
3
1
0
0
0
0
0
0
0
0
0
0
0
2
10
-56
0
0
0
81
-62
-9
32
3
55
-1
0
0
0
12
-4
-3
-38
0
0
0
42
26
-37
-5
25
31
0
0
0
0
2
2
38
-34
31
-37
9
5
1
-35
7
8
87
-3
0
0
2
0
-2
0
-79
-15
1
-3
-5
-29
8
-18
83
-36
0
0
0
3
-6
-2
22
-31
72
49
51
18
1
-36
-14
42
24
10
0
0
0
0
-2
-4
24
74
63
60
97
-6
6
-10
49
1
2
0
0
0
0
0
16
19
64
24
31
42
-24
63
78
-27
9
0
0
0
0
0
-2
-2
45
10
47
62
-16
53
-47
-4
21
9
0
0
0
0
0
0
0
0
1
20
-2
52
1
0
0
2
1
0
0
0
10
1
13
-62
-6
0
0
0
39
-32
1
33
8
-16
-1
0
-1
0
15
47
6
10
0
0
0
130
-14
-8
-17
5
30
10
0
0
0
3
-3
50
-31
56
36
32
-18
-30
11
15
-28
-44
2
0
0
0
8
9
23
12
-6
-37
-32
-17
-39
-26
34
75
12
4
0
0
0
0
4
-2
72
-5
-44
16
-45
4
52
15
39
125
-1
0
0
0
3
0
1
-42
22
-64
48
-5
73
47
50
-7
27
-1
0
0
0
3
-6
-2
44
-5
19
5
10
14
7
-4
65
72
-6
0
0
0
0
-3
15
-19
-47
-2
27
57
7
53
10
-12
-41
5
0
0
0
0
0
9
1
10
-103
39
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
10
12
-49
0
0
0
52
9
4
31
12
-21
2
0
0
0
1
-4
-42
42
23
0
0
-3
-53
2
7
14
-6
23
0
0
-3
0
-10
2
53
67
24
-33
16
10
21
13
1
26
28
0
0
0
0
0
15
24
52
20
41
-4
36
28
12
8
10
56
0
0
0
0
-4
-7
25
39
93
-12
14
-16
10
4
25
16
-34
0
0
0
0
-7
8
-63
8
36
94
6
-18
4
10
0
1
-5
0
0
0
0
0
-10
-13
22
15
-1
18
10
-21
-14
27
6
59
0
0
0
1
0
-1
6
25
138
-39
-2
3
-32
46
73
34
1
0
0
0
0
0
-4
-7
-1
-2
26
13
0
0
-2
-6
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
52
0
0
-49
-22
-66
-43
-24
26
16
0
0
0
0
-1
0
-5
35
-26
2
-6
-3
-69
-47
1
5
-7
0
0
0
0
-1
-1
-1
9
-39
4
-27
-15
-36
10
13
7
30
0
0
0
0
6
-1
-27
-7
12
-82
-24
-3
-41
-18
-9
11
7
0
0
0
0
0
-1
-3
28
-44
-47
-39
-34
36
16
9
31
-7
0
0
0
0
0
0
-15
16
-72
-7
-29
1
1
13
2
20
6
0
0
0
0
0
0
-1
-21
-1
-4
-30
26
9
10
18
13
18
0
0
0
0
0
0
-1
-7
15
2
-38
14
78
13
48
15
30
0
0
0
0
-1
-1
-1
-1
-70
-26
-10
-26
1
4
25
38
11
0
0
0
0
0
-4
18
6
0
14
-13
-34
-56
2
22
12
38
0
0
0
0
-32
-13
-17
-51
21
17
0
-23
-1
4
2
30
23
0
0
0
0
19
-1
6
-28
-5
-5
-20
-67
1
-13
21
-6
25
0
0
0
0
-2
10
-5
-23
16
-47
-11
-18
37
25
32
-1
12
0
0
0
0
0
-7
-9
-21
-1
79
-8
-23
12
24
-4
32
21
0
0
0
0
-4
-1
0
-6
-20
41
-1
8
14
-7
28
26
22
0
0
0
0
1
16
2
-11
7
-36
26
59
31
14
13
10
4
0
0
0
0
1
-1
1
0
-27
-41
-80
-27
8
34
19
22
-3
0
0
0
0
0
0
1
0
-15
-6
-17
10
37
55
-13
-6
0
0
0
0
-2
1
-45
-19
20
0
0
48
2
24
3
59
3
9
0
-1
-1
-3
-10
-8
-21
0
-10
0
24
9
-9
38
16
-21
39
0
0
-2
-1
32
57
-37
60
43
59
-1
60
13
6
24
24
-6
0
0
0
3
0
22
-35
-47
17
59
26
14
36
24
34
-8
9
0
0
0
0
4
45
30
-12
-6
35
55
-11
-3
19
51
2
-107
0
0
0
0
0
0
-50
-21
44
1
82
36
15
-13
36
-9
70
0
0
0
0
-3
7
-15
-127
-6
34
8
7
0
33
32
-7
2
0
0
0
0
0
-2
-2
-63
-108
3
49
54
11
34
-23
-38
45
0
0
0
0
0
0
0
0
0
-11
-3
-9
0
12
4
-4
0
0
0
0
0
0
1
43
9
0
36
44
81
20
38
20
47
-17
0
0
0
0
-3
19
45
0
-58
0
17
53
-8
18
49
7
1
0
0
0
-2
8
-9
6
57
53
63
-18
16
28
-18
-39
-5
-45
0
0
0
-1
-1
22
-50
-2
53
71
25
8
19
46
68
21
16
0
0
0
0
0
12
-80
14
-9
20
-12
-28
-15
-8
27
-2
-40
0
0
0
-1
0
0
-4
-44
35
-38
-1
-1
-1
-41
0
-9
48
0
0
0
0
0
0
4
-41
-26
-30
57
-13
-3
-9
-14
-42
-59
0
0
0
0
0
0
0
2
-16
0
-9
49
48
15
56
8
2
0
0
0
0
0
0
0
0
0
-1
0
-1
47
4
31
-4
1
0
0
0
0
-1
42
25
0
0
0
46
55
-26
-2
-30
-33
-22
0
0
0
0
0
61
64
-2
0
-5
52
77
36
-16
24
-29
-34
0
0
0
0
0
-2
43
65
68
43
42
-4
-8
34
21
33
-5
0
0
0
0
0
-4
-29
-15
-7
-4
28
6
1
-12
55
18
14
0
0
0
0
0
6
-7
10
-133
-57
-8
-25
6
56
59
31
4
0
0
0
0
0
1
-1
-42
-92
-106
25
-32
19
-14
31
55
25
0
0
0
0
0
0
-1
-59
-19
-68
17
10
27
5
-1
33
-6
0
0
0
0
0
0
0
-1
-53
-38
-6
76
-33
45
16
15
12
0
0
0
0
0
0
0
0
-1
0
-3
6
1
-7
35
4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-9
0
0
0
0
0
0
0
0
0
1
-1
-9
-10
13
0
0
-12
0
0
0
0
0
0
0
0
0
0
-15
-26
13
-33
-2
-70
-91
-9
0
0
0
0
0
0
0
0
0
1
-7
7
-58
3
-19
-21
7
0
0
0
0
0
0
0
0
0
0
2
2
41
32
9
-1
0
0
0
0
0
0
0
0
0
0
0
1
-12
-8
63
21
-26
0
0
0
0
0
0
0
0
0
0
0
0
22
-25
-65
23
-6
0
0
0
0
0
0
0
0
0
0
0
-2
-39
56
7
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
8
-17
-2
-4
0
0
0
0
0
0
0
0
0
-4
1
21
-8
0
0
0
-32
0
0
0
0
0
0
0
0
-1
0
-3
55
42
-5
0
0
-28
-4
0
0
0
0
0
0
0
0
0
1
5
45
-21
1
-36
-47
28
0
0
0
0
0
0
0
0
0
-12
7
2
-32
1
-21
4
32
0
0
0
0
0
0
0
0
0
0
4
5
22
-6
1
21
-20
0
0
0
0
0
0
0
0
0
0
-7
16
-28
-40
-40
-26
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-13
-30
3
-62
-1
0
0
0
0
0
0
0
0
0
0
2
12
-86
-1
-64
2
0
0
0
0
0
0
0
0
0
0
0
0
-59
24
-4
-3
-21
0
0
0
0
0
0
0
0
0
-2
0
1
-2
0
0
0
13
-19
0
0
0
0
0
0
0
0
0
1
6
46
-36
0
0
-59
-20
0
0
0
0
0
0
0
0
-2
0
0
16
38
-19
1
-59
-3
0
0
0
0
0
0
0
0
0
0
-1
-11
26
-14
2
-71
-33
0
0
0
0
0
0
0
0
0
1
0
0
-22
19
-34
32
-37
0
0
0
0
0
0
0
0
0
0
0
-16
2
-24
-30
99
-16
0
0
0
0
0
0
0
0
0
0
3
21
60
-8
9
-6
-2
0
0
0
0
0
0
0
0
0
0
3
1
14
-28
-36
-37
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
0
-21
0
0
0
33
6
10
-32
2
-6
0
0
0
0
0
0
-1
-5
0
0
0
41
-7
-24
11
-10
0
0
0
0
0
0
-3
1
-17
2
-40
-37
-69
-58
-59
-27
-34
0
0
0
0
0
0
4
-3
5
-36
-5
24
-49
0
-4
-23
-12
-1
0
0
0
0
0
0
0
-1
-9
-55
22
-7
-28
-50
-28
-6
0
0
0
0
0
0
0
0
-4
11
28
0
33
2
-41
0
-1
2
0
0
0
0
0
-3
0
1
-33
18
18
-10
12
2
0
0
0
0
0
0
0
0
0
-2
2
-3
32
32
-7
0
0
0
0
-4
0
0
0
0
0
0
0
9
7
10
-7
4
0
0
0
0
0
0
0
0
0
0
0
3
-68
0
0
0
48
4
-7
0
0
-2
0
0
0
0
-1
0
0
-50
0
0
0
7
-43
-10
3
2
8
0
0
0
0
0
0
-4
7
-34
-58
88
-42
-49
9
4
6
-2
0
0
0
0
0
0
2
17
25
-40
11
-38
-13
-41
0
1
2
0
0
0
0
0
-1
9
-3
-73
-5
-25
0
29
-53
-10
-16
-6
0
0
0
0
0
0
0
-4
15
-31
2
-26
1
0
1
-3
-3
0
0
0
0
0
0
0
-2
-4
-73
-16
-13
3
-9
1
-29
2
0
0
0
0
0
0
0
1
50
-103
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
-2
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-25
0
0
0
-59
-74
-62
-51
-42
-32
-39
0
0
0
1
-27
-15
11
-11
0
0
-100
-48
-67
18
-53
-50
-21
0
0
4
0
-1
-1
17
56
40
-23
-61
-29
-58
-36
-72
-33
-78
0
0
0
0
0
29
7
76
47
-16
-21
-87
-29
-49
-25
-62
-65
0
0
0
0
0
-30
33
-5
68
5
39
-33
-67
-46
-71
-29
34
0
0
0
0
-4
-3
14
-57
-60
18
-42
12
-53
-29
-22
-90
24
0
0
0
-1
0
1
21
-55
20
-48
17
-60
-34
6
-46
-79
-12
0
0
0
-1
0
0
-34
14
-82
-22
19
24
-53
-100
-104
-41
-6
0
0
0
0
-1
9
0
-6
-11
-37
-59
-3
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
0
0
-87
-43
-106
-47
47
-35
12
0
0
0
0
3
0
6
-11
10
-32
-37
-32
-62
-61
-26
-27
-26
0
0
0
0
0
0
-8
-8
-36
25
-37
-61
-3
-37
-45
-38
-20
0
0
0
0
2
-1
-1
-6
-35
45
-16
-4
-26
-23
-16
-34
-18
0
0
0
0
0
-3
0
-46
24
13
31
-5
18
11
15
-5
9
0
0
0
0
0
0
-2
-49
19
-1
-27
12
-10
-13
26
12
7
0
0
0
0
0
3
0
0
-94
-5
25
-29
19
-15
-3
-5
-5
0
0
0
0
0
0
-2
30
-57
-17
-23
-23
73
-19
0
-2
-24
0
0
0
0
0
0
0
-2
-37
36
14
-17
-33
8
-32
-34
-2
0
0
0
0
0
-1
-12
1
0
-31
-50
-73
-116
-75
1
-16
-24
0
0
0
1
3
4
-13
3
-34
-9
0
-86
-51
-18
-24
-3
-27
0
0
0
0
2
-1
-11
-15
39
15
-52
-57
-47
-3
-41
-55
3
0
0
0
0
4
-8
16
16
38
-9
-39
-10
-38
-5
-11
-43
-21
0
0
0
0
0
0
-3
12
-19
8
8
-18
2
4
-22
5
-52
0
0
0
0
0
0
6
-30
-11
-3
33
-11
17
-16
12
8
-29
0
0
0
0
0
-13
0
-12
9
37
-27
33
13
25
-5
-15
-1
0
0
0
0
-7
0
-2
0
-30
2
3
0
-45
-24
12
-35
-8
0
0
0
0
0
0
0
0
17
-10
-18
-18
-48
-21
-43
-2
0
0
0
0
0
-2
26
15
-75
0
0
-66
-87
-78
-14
-18
-32
-38
0
0
0
0
-22
7
-30
0
0
0
-79
-84
-47
-21
-63
-71
-52
0
0
0
1
1
-103
48
-34
15
-10
-41
-27
-40
-13
-44
-57
-48
0
0
0
0
-1
6
-102
-21
-37
-3
-4
-34
-46
-70
-39
-52
65
0
0
0
0
-1
0
-17
-9
-6
22
-21
-9
-26
-71
-43
-13
-32
0
0
0
0
-6
-1
23
74
-103
-2
-16
-22
-5
-56
-14
-56
-63
0
0
0
0
10
-2
-19
-22
9
15
-14
-40
-26
-36
-56
-60
-102
0
0
0
0
0
1
4
6
17
31
-14
4
-40
-32
-6
35
-27
0
0
0
0
0
0
0
0
21
-14
-52
-2
3
0
4
-1
0
0
0
0
0
0
0
8
18
0
-56
-68
-55
-14
-8
-39
11
-24
0
0
0
0
0
10
-12
0
-6
0
-18
3
8
-61
-72
-16
-36
0
0
0
0
0
3
-98
40
42
-44
-47
-30
-41
8
-88
-94
-11
0
0
0
0
2
0
-1
-78
-61
-2
33
-33
-5
-101
-15
-32
9
0
0
0
0
0
-1
0
-16
-18
-20
-52
-66
-42
18
-75
-90
9
0
0
0
0
0
0
1
-89
-25
25
28
32
-22
-56
-22
42
-41
0
0
0
0
0
0
1
-3
-14
-16
64
-19
-4
-12
-97
-25
-48
0
0
0
0
0
0
0
-1
0
15
10
31
9
-37
-22
-64
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
3
0
0
0
-20
-38
-60
-99
-60
-107
-15
0
0
0
0
0
0
1
-1
0
-20
-7
-4
-35
-30
-45
-39
-79
0
0
0
0
0
0
0
1
9
46
-60
-23
-57
-53
-65
-54
-105
0
0
0
0
0
0
-3
0
-74
-8
-64
18
-54
12
-2
-54
-58
0
0
0
0
0
0
1
-93
-65
-35
55
-46
5
-84
-12
2
19
0
0
0
0
0
0
0
-15
-37
-6
-28
-12
-14
42
-56
-29
39
0
0
0
0
0
0
0
-22
-17
8
29
7
-40
-57
14
-60
-22
0
0
0
0
0
0
0
1
-9
0
0
25
-26
24
13
-9
8
0
0
0
0
0
0
0
0
-1
0
0
-1
0
-2
-10
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-60
35
-28
34
7
-3
0
0
9
0
0
0
0
0
0
0
45
90
62
-27
-31
2
-31
3
-28
-18
0
0
0
0
0
0
0
43
28
41
-3
18
-9
-3
-9
-7
1
0
0
0
0
0
0
0
61
-3
16
2
2
-27
0
-22
7
0
0
0
0
0
0
0
0
10
65
11
-17
-24
-8
0
0
0
0
0
0
0
0
0
0
0
-6
86
86
7
26
1
4
0
0
0
0
0
0
0
0
0
0
2
-4
-9
30
-3
0
0
0
0
0
0
0
0
0
0
0
0
7
51
74
15
32
0
0
0
0
0
0
0
0
0
0
0
0
0
5
54
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
28
-26
28
36
-1
-16
-34
44
0
11
0
0
0
0
0
0
0
82
52
31
-20
-26
26
23
-60
-22
-25
-8
0
0
0
0
0
0
75
50
36
-2
23
-18
16
42
-33
13
0
0
0
0
0
0
0
32
75
12
7
-22
20
7
-3
-8
0
0
0
0
0
0
0
0
38
77
12
20
-19
19
0
1
4
0
0
0
0
0
0
0
0
7
57
55
44
24
-4
1
0
0
0
0
0
0
0
0
0
0
-2
-26
38
-3
36
4
0
0
0
0
0
0
0
0
0
0
0
20
53
-9
-17
53
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
6
59
53
81
32
16
39
-44
0
-8
2
0
0
0
0
0
0
42
81
54
-2
-4
8
-70
-29
33
-23
1
0
0
0
0
0
0
-5
26
45
66
-11
38
-33
-11
28
-1
6
0
0
0
0
0
0
-15
42
48
-9
-52
73
1
0
2
-2
1
0
0
0
0
0
0
3
21
78
58
67
21
2
-11
-2
0
0
0
0
0
0
0
0
7
47
58
-4
-9
26
0
0
0
0
0
0
0
0
0
0
0
0
39
32
-25
-2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
7
1
1
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
-19
-18
70
-12
-11
-61
-47
-61
0
2
-8
2
0
0
0
0
0
107
-3
-7
20
-34
-5
-5
-59
-10
-14
4
2
0
0
0
0
0
76
42
39
43
-25
-39
-81
-38
-3
-60
-8
-10
-1
0
0
0
0
33
50
60
49
31
4
24
1
16
8
20
0
0
0
0
0
0
41
37
39
65
20
30
24
-11
35
9
0
-1
0
0
0
0
0
24
46
-4
69
62
-38
52
45
-47
2
-1
0
0
0
0
0
0
23
6
101
114
24
82
0
91
28
9
0
0
0
0
0
0
0
39
56
63
111
50
27
25
56
11
0
0
0
0
0
0
0
0
2
4
1
0
0
0
8
0
4
0
0
0
0
0
0
0
0
-6
-17
45
-12
-41
-87
-21
-81
0
-45
0
0
0
0
0
0
0
38
-21
-52
37
-11
-11
20
-22
-25
27
-6
0
1
0
0
0
0
-30
7
6
-21
33
-11
-111
-14
-26
30
2
-3
0
0
0
0
0
-95
-15
27
54
58
-32
-25
54
-27
69
-3
0
0
0
0
0
0
49
-25
-12
62
-27
64
10
91
1
-16
0
0
0
0
0
0
0
24
26
36
-30
34
87
-30
67
-6
1
0
0
0
0
0
0
0
-7
99
55
67
25
34
47
45
18
0
0
0
0
0
0
0
0
16
78
9
58
-17
1
8
1
2
0
0
0
0
0
0
0
0
22
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
70
3
85
43
-14
-24
-28
-49
0
-13
-25
-36
-8
-8
0
0
0
60
7
87
11
34
4
-13
-23
-42
-7
0
-9
65
52
-27
0
0
21
54
26
60
71
8
-34
-9
-27
-38
5
-18
58
27
-2
0
0
15
4
40
105
17
20
23
26
29
7
4
-4
-27
-53
1
0
0
19
27
76
65
35
89
46
66
76
36
62
-7
48
35
-2
0
0
12
59
43
74
12
39
64
26
78
16
47
-18
7
-7
3
0
0
0
84
45
117
21
41
22
-11
39
31
-1
15
-4
0
-1
0
0
0
45
-32
-38
7
26
12
9
54
1
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
-23
9
17
-2
0
0
21
31
26
-14
1
-3
-3
0
0
-11
109
24
16
2
10
-4
-11
7
43
6
-30
-33
-23
0
0
0
21
24
33
36
28
-3
24
-14
-24
7
54
49
49
0
-2
0
0
28
67
15
12
18
31
26
50
26
37
-15
5
-3
0
-2
0
0
4
60
6
44
14
21
59
40
29
58
7
-19
3
4
0
0
0
3
20
-4
0
0
42
74
20
-25
-3
-21
-1
7
-4
2
0
0
0
-38
20
30
20
37
64
37
4
11
-5
-6
1
2
0
0
0
3
28
47
2
-37
40
35
40
22
-5
25
10
11
18
0
-7
0
0
0
-16
17
6
31
47
-9
-13
-20
72
21
-35
-2
-3
0
0
0
-7
16
19
-1
24
-13
0
4
9
-7
0
-18
1
0
0
0
0
23
46
1
25
6
13
20
6
-8
29
20
59
-22
-2
0
0
0
33
0
15
1
-5
-7
-36
-12
-11
9
-4
17
0
0
0
0
0
-3
23
-7
-4
-7
27
1
-10
31
11
33
-7
6
0
0
0
0
27
1
4
15
20
15
11
-28
22
18
1
-31
3
0
0
0
0
6
49
15
14
0
27
6
-6
-29
-10
-47
-15
1
-4
0
0
0
30
18
34
10
21
18
40
18
0
20
98
-35
5
0
0
0
0
7
14
-10
33
3
16
11
-2
-2
-54
16
-1
0
0
0
0
0
-1
-8
5
-62
49
-6
18
35
-1
0
0
0
0
0
0
-21
69
67
24
16
-2
-12
-35
0
-46
35
0
-4
32
0
0
0
98
31
29
28
25
-4
-5
-28
-32
-21
-5
20
-24
-14
-10
0
0
99
20
40
37
17
21
-13
-16
-19
-11
8
29
-37
16
-2
0
0
28
32
51
51
32
53
32
33
19
28
-18
-6
33
-9
0
0
0
84
19
59
24
49
78
65
29
63
28
-43
-15
28
64
-6
0
0
58
52
47
89
74
59
57
102
82
42
64
62
8
6
0
0
0
23
18
72
37
38
29
54
39
55
-20
5
-22
-12
0
0
0
0
-2
12
-28
-13
31
1
45
52
25
-14
-8
-2
0
0
0
0
0
0
-3
1
17
17
16
26
-4
-1
-1
0
0
9
0
0
0
0
20
21
-23
-15
-4
16
31
-37
0
-11
57
52
-10
-1
0
0
0
58
43
33
-26
15
5
-13
-31
-9
-34
-1
-4
54
2
0
0
0
112
24
-3
11
9
-36
-10
-5
9
12
27
-67
-2
-2
0
0
0
91
-56
26
-14
13
-11
-15
27
30
33
25
46
-2
0
0
0
0
52
-6
19
24
2
23
43
76
35
-7
-4
2
0
0
0
0
0
20
36
18
25
21
16
38
54
-3
43
10
-36
-13
0
0
0
0
-6
-1
26
35
34
44
28
39
75
47
3
7
0
0
0
0
0
0
-25
-49
49
61
33
20
66
-16
-43
-27
-1
0
0
0
0
0
0
0
8
-2
-16
0
55
18
-2
-3
0
0
0
0
0
0
0
19
14
-6
43
-25
56
-11
-13
0
29
22
-20
1
0
0
0
0
-2
-54
-34
17
28
61
-20
-16
20
78
53
6
4
-1
0
0
0
-42
-39
24
-11
20
33
-8
-2
22
-2
1
15
1
0
0
0
0
-64
18
12
14
26
21
-15
7
63
36
49
-1
0
0
0
0
0
12
-86
-13
7
95
43
-13
-25
53
5
11
30
-2
2
0
0
0
-37
-40
-23
-32
26
18
36
26
-3
58
-11
0
0
0
0
0
0
-1
31
16
29
59
72
64
-21
-5
24
-30
15
0
0
0
0
0
-3
-19
18
8
12
78
80
50
-23
16
38
0
1
0
0
0
0
0
-3
0
1
-3
25
55
47
12
14
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
27
-36
-47
-37
-47
-51
14
0
-9
0
0
0
0
0
0
0
-27
25
-8
-1
-17
35
-23
-69
8
38
0
0
0
0
0
0
0
13
-16
-23
-38
19
50
9
42
6
3
0
0
0
0
0
0
0
35
23
28
-16
6
-3
0
-4
-6
0
0
0
0
0
0
0
0
81
-28
-31
-3
-16
12
-10
9
2
0
0
0
0
0
0
0
0
-17
-18
16
-54
47
3
-8
0
0
0
0
0
0
0
0
0
0
-9
-9
-7
22
58
-3
0
0
0
0
0
0
0
0
0
0
0
-20
-38
8
-40
21
4
0
0
0
0
0
0
0
0
0
0
0
9
-11
-18
6
11
0
0
0
0
0
0
0
0
0
0
0
0
-39
31
-21
-31
0
-17
-16
-3
0
-61
1
0
0
0
0
0
0
55
4
-9
-45
-42
-59
-12
-10
-15
36
11
0
0
0
0
0
0
23
-6
13
27
-7
-29
23
16
56
5
2
0
0
0
0
0
0
-26
-1
-20
-25
-59
67
7
-2
3
9
-2
0
0
0
0
0
0
6
34
19
-46
55
25
40
0
3
0
12
0
0
0
0
0
0
1
26
18
-30
34
-69
-6
0
-4
-4
0
0
0
0
0
0
0
-12
-17
54
24
-11
-25
-3
0
0
0
0
0
0
0
0
0
0
-40
50
-27
55
-18
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-18
-25
-29
-58
-50
-37
-51
0
17
0
0
0
0
0
0
0
-3
25
-21
-48
-23
-56
-30
12
-43
-15
2
0
0
0
0
0
0
-34
28
21
-17
18
27
-49
-23
-29
-14
-6
0
0
0
0
0
0
-23
-32
4
-2
-19
12
5
-4
-6
-1
-1
0
0
0
0
0
0
-23
66
12
0
14
22
2
22
0
1
3
0
0
0
0
0
0
-3
-30
-1
65
6
-28
9
-6
7
0
2
0
0
0
0
0
0
-4
-6
74
42
4
-9
-2
0
1
0
0
0
0
0
0
0
0
0
16
-2
19
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
17
-15
-52
-59
-68
-75
-64
-82
0
-66
4
-3
0
0
0
0
0
18
-65
6
-35
-4
-60
-33
-63
-52
-89
-8
2
-3
0
0
0
0
-66
-1
-20
-31
-41
-34
-42
26
29
47
-2
-6
0
0
0
0
0
32
-25
-13
-10
-26
-56
0
-38
-63
-14
-2
0
0
0
0
0
0
30
12
31
11
-15
48
2
14
-69
-21
0
-9
0
0
0
0
0
7
47
84
-45
9
36
-33
-89
11
3
0
1
0
0
0
0
0
-28
0
27
18
-2
-10
-6
-15
-6
-4
-1
0
0
0
0
0
0
18
-31
-11
24
0
15
-1
-11
-28
0
0
0
0
0
0
0
0
-1
0
-5
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-11
-72
-50
17
-26
4
-51
-12
0
-5
-2
0
0
0
0
0
0
27
-31
-18
47
-22
-75
3
-87
-44
-30
0
0
-1
0
0
0
0
3
-79
-26
-45
-33
-69
24
-29
10
-16
0
0
0
0
0
0
0
7
-18
-21
-47
-13
18
-7
-35
48
-4
0
0
0
0
0
0
0
19
-32
24
-84
-22
-4
-46
-21
0
6
0
0
0
0
0
0
0
-25
-5
-29
-83
-3
4
-10
-1
-1
2
0
0
0
0
0
0
0
-4
-26
-17
24
15
4
1
0
0
0
0
0
0
0
0
0
0
-12
11
25
18
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
-18
-9
-17
-4
-55
-75
-77
0
-13
-25
16
-2
2
0
0
0
-81
6
45
-14
8
21
-52
-67
-57
-37
19
-37
-2
-38
75
0
0
-73
27
39
19
23
-17
-65
-31
-33
-43
-21
-19
-7
28
0
1
0
-11
62
23
35
3
14
-1
14
21
19
5
24
2
-9
3
0
0
41
-6
23
76
38
52
17
57
40
32
7
41
-4
15
0
0
0
95
19
46
3
11
28
63
47
34
71
-48
-1
-8
6
2
0
0
-6
-20
-38
65
51
20
66
71
10
37
1
22
1
0
-2
0
0
4
-82
13
63
41
18
17
40
8
1
-8
2
0
0
0
0
0
0
0
0
0
2
0
-2
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
15
-8
-36
-23
-34
-56
0
15
-47
-29
28
-26
-2
4
0
0
57
-6
-11
-53
-19
5
-59
-23
-24
6
-27
13
-12
9
-2
0
0
0
41
-84
-25
6
-37
-14
-39
-22
13
-46
7
1
3
3
0
0
-12
25
17
2
-17
-29
-38
13
-4
-11
2
-44
13
-1
-2
0
0
24
-2
-40
-13
-24
35
4
10
8
-26
-47
13
15
4
-1
0
0
-40
43
-111
-17
0
-18
-15
-15
-20
-12
-2
22
-17
2
4
0
0
0
94
-54
-40
-56
22
-8
-28
-5
-21
-41
41
48
1
-4
0
0
-32
-8
-3
-23
-39
37
23
23
-6
-25
18
-2
25
-10
0
1
0
-4
3
-8
-9
-42
19
25
-32
-10
9
-6
57
4
2
2
0
0
0
32
-11
-19
1
-8
-52
0
-11
-21
-34
-10
31
4
0
0
0
0
19
32
-25
-13
-12
-30
2
-34
-6
-36
28
24
-24
4
0
0
0
-22
-3
-9
-20
-13
-18
-52
4
-8
-6
-28
-17
-20
0
0
0
0
-20
-22
-26
-16
-15
13
6
-3
-31
-6
-46
-23
3
0
0
0
0
-25
-47
-33
-33
-7
-16
12
-31
10
-44
0
17
-1
0
0
0
0
-7
-42
-15
-20
-5
4
-29
4
-10
-41
24
-42
-2
0
0
0
0
31
-59
-37
-32
-14
2
7
0
-22
-89
-16
-27
-1
0
0
0
0
-2
55
-12
-2
-38
-5
-23
-18
2
36
2
-10
0
0
0
0
0
7
18
-39
5
-20
48
-12
-11
-1
1
0
0
0
0
0
35
-26
53
24
30
-55
-43
-63
0
-60
-45
-49
-44
13
0
0
0
-2
29
39
4
-4
-5
-44
-66
-43
-30
-17
31
-6
18
20
0
0
20
36
30
34
6
-1
-31
-42
-27
-33
-14
29
-26
12
-7
0
0
68
27
40
45
-10
-13
-2
-3
19
-4
4
7
72
53
2
-2
0
24
42
9
35
17
49
39
29
20
21
-40
44
-23
2
-2
0
0
84
59
75
26
23
50
34
43
22
39
-23
24
-2
-6
1
0
0
-56
31
14
42
19
25
29
12
57
55
-12
-7
-9
-3
0
0
0
3
39
11
-17
37
-32
14
-19
-4
60
-4
0
-1
0
0
0
0
0
-6
1
-48
9
17
-41
4
-1
-7
0
0
0
0
0
0
0
-16
-67
4
-77
-94
-43
-35
-99
0
-63
29
-24
2
0
0
0
0
42
17
-9
-36
-39
-58
-25
-100
-48
-35
-48
-35
-50
0
-1
0
0
25
-49
41
-18
-56
-43
-56
-52
-31
-53
-33
-2
0
-1
0
0
0
-55
-43
37
5
-82
-15
-52
10
-25
-25
-22
-28
1
0
0
0
0
-1
-24
76
1
-32
-64
-18
43
-6
-43
-84
9
-1
0
0
0
0
23
-14
5
-3
-22
-43
-19
11
-22
1
-35
18
0
0
0
0
0
-2
21
57
-3
-33
40
-38
-8
58
77
-4
-4
0
0
0
0
0
0
-19
25
-10
-54
-10
-4
8
-7
37
20
0
0
0
0
0
0
0
-1
16
0
20
-10
33
51
5
-1
1
0
0
0
0
0
0
-24
13
-13
-1
-55
-84
-81
-69
0
-36
31
-40
0
0
0
0
0
-13
-113
-56
-53
-83
-22
-40
-39
-18
34
65
-16
0
0
0
0
0
-33
-77
3
-88
-129
3
-36
-75
-10
-19
-35
-20
0
1
0
0
0
-46
-85
75
-76
7
-48
-81
-10
38
-21
-18
-9
0
0
0
0
0
-12
-86
-3
-41
28
41
-38
-74
7
-39
-60
-28
3
0
0
0
0
1
-70
-28
43
3
-21
-34
5
-13
-26
0
2
1
0
0
0
0
-3
-85
-12
-19
-17
-16
-10
-23
-24
-19
-26
3
0
0
0
0
0
0
9
-1
34
33
19
63
33
17
7
10
-3
-2
0
0
0
0
0
0
-3
0
8
-8
21
-55
116
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-50
-99
-19
4
0
0
0
0
0
0
0
0
0
0
76
26
39
-2
-28
-103
60
0
0
0
0
0
0
0
0
0
0
39
61
79
-15
-13
-23
4
0
-1
0
0
0
0
0
0
0
0
80
64
18
49
25
0
0
1
1
0
0
0
0
0
0
0
0
-30
52
36
40
79
-2
0
0
3
0
0
0
0
0
0
0
0
-5
8
29
-4
-19
-9
1
0
0
0
0
0
0
0
0
0
0
-9
15
96
66
37
-1
0
0
0
0
0
0
0
0
0
0
0
2
2
-34
32
-2
2
0
0
0
0
0
0
0
0
0
0
0
82
35
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
53
21
43
24
23
10
0
0
0
0
0
0
0
0
0
0
79
25
36
19
-13
20
-18
0
0
0
0
0
0
0
0
0
0
54
24
6
-11
17
9
-1
2
0
0
0
0
0
0
0
0
0
102
-20
-3
39
-56
33
18
-1
0
0
-1
0
0
0
0
0
0
19
43
-9
-28
-22
-39
6
-1
-1
0
0
0
0
0
0
0
0
46
21
36
31
52
2
-6
1
0
0
0
0
0
0
0
0
0
10
97
65
-17
34
-1
0
0
0
0
0
0
0
0
0
0
0
3
93
20
21
-26
-1
0
0
0
0
0
0
0
0
0
0
0
1
1
-29
-16
16
0
0
0
0
0
0
0
0
0
0
0
0
21
35
38
28
6
-58
-10
0
0
0
0
0
0
0
0
0
0
35
-43
43
3
-9
-14
0
0
0
0
1
0
0
0
0
0
0
39
33
7
49
7
-70
-7
2
-2
-3
2
0
0
0
0
0
0
31
-4
9
22
20
36
9
0
0
2
0
0
0
0
0
0
0
3
50
48
-13
38
-36
2
0
0
0
0
0
0
0
0
0
0
2
30
61
22
-35
1
1
0
0
0
0
0
0
0
0
0
0
35
65
19
64
30
6
0
0
0
0
0
0
0
0
0
0
0
0
16
5
107
9
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
-9
42
53
56
19
-88
-92
0
0
0
13
1
0
0
0
0
0
-2
11
25
37
-62
-20
26
0
0
0
41
1
0
0
0
0
0
49
9
30
15
-11
16
5
12
46
52
7
4
6
0
0
0
0
61
21
25
56
17
-3
40
22
-21
7
-18
0
0
0
0
0
0
-29
55
59
47
13
46
23
6
-5
-44
-7
3
0
0
0
0
0
45
26
-10
94
-1
24
61
54
111
-11
-8
0
0
0
0
0
0
47
35
-3
21
-36
61
7
166
72
-34
0
0
0
0
0
0
0
7
8
155
-31
-29
-73
0
19
40
1
-1
0
0
0
0
0
0
38
19
10
44
16
10
0
0
-3
0
0
0
0
0
0
0
0
14
12
28
11
-20
-14
11
0
0
0
-3
11
0
0
0
0
0
33
25
39
6
-54
-46
-13
0
0
0
23
0
0
0
0
0
0
-11
11
-14
18
-48
-23
-42
-63
34
57
7
0
0
0
0
0
0
-13
-4
32
17
46
36
-27
-2
-11
6
20
-1
0
0
0
0
0
2
-7
14
72
36
118
22
67
53
8
13
4
0
0
0
0
0
-10
6
49
-14
80
54
34
15
68
28
-4
-2
0
0
0
0
0
-65
12
62
41
106
83
23
16
-41
52
-2
1
0
0
0
0
0
-25
46
51
50
3
18
26
-34
-2
33
0
0
0
0
0
0
0
56
70
3
28
-2
1
-7
-8
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-16
-58
15
-12
-59
-37
0
0
0
-18
-19
20
-33
-11
3
0
59
83
50
50
50
-20
-11
0
0
0
7
-73
17
17
3
-1
0
94
26
19
58
51
14
-7
-12
-11
19
-3
-48
-57
63
5
1
0
64
69
78
43
27
23
2
2
-6
-14
-34
2
28
4
1
0
0
6
12
79
49
63
64
39
37
15
43
41
-9
-25
-5
12
-7
0
49
61
29
8
21
20
54
54
42
21
51
-13
10
7
0
0
0
-7
43
55
-22
34
8
10
4
53
-48
-61
0
3
-2
2
0
0
9
-10
62
-46
37
-20
4
41
-8
-36
15
-3
0
1
-16
0
0
0
3
-5
-6
-9
0
-1
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
9
47
3
-17
-34
30
0
0
0
32
-24
-4
-62
-10
-65
-2
0
-22
6
-3
0
-4
-40
0
0
0
13
-10
16
-57
-50
-3
0
0
-1
-54
53
29
-9
-22
-19
-22
-5
-24
16
30
-24
-40
-6
-4
0
-14
-43
3
10
-20
5
4
29
19
14
7
-1
-54
-45
-6
3
0
-11
-92
19
54
-39
48
47
20
2
10
-20
50
-8
-34
-50
0
0
3
-29
55
43
37
26
-6
10
15
16
5
13
24
-31
-22
0
0
0
10
30
27
42
38
67
3
13
20
22
-52
38
6
-30
-9
0
-1
-12
-5
37
16
33
66
27
20
6
35
-45
1
-8
-38
3
0
0
14
15
63
-10
-9
35
24
29
36
0
5
-43
-17
-28
-2
0
0
14
48
30
-20
16
0
0
0
8
-12
10
-58
-9
-38
1
0
0
-12
31
20
13
2
0
0
0
10
-64
11
-16
2
4
0
0
0
-108
24
41
-6
-47
-11
-5
-9
-7
-12
28
-39
11
-16
0
0
0
16
23
-3
5
-6
-9
15
-4
-1
-29
4
5
7
-27
0
0
0
-39
0
11
15
36
-3
0
1
-8
8
-23
-41
-44
15
0
0
0
91
-5
27
-10
2
17
33
9
19
15
-35
-4
-7
-1
0
0
0
-48
-1
18
-11
9
27
38
33
13
-46
-9
-53
-11
-41
5
0
0
-1
3
-24
-3
3
20
41
17
28
0
-7
-6
-2
45
-5
0
0
18
21
-39
37
33
-49
-9
-25
-2
0
0
4
0
0
0
-24
34
20
28
24
-45
0
0
0
0
-67
-24
11
-8
-1
0
0
56
26
30
18
8
-52
-16
0
0
0
-9
-10
-44
45
3
-1
0
15
61
62
69
29
2
-5
-44
3
-30
-16
-9
5
16
2
0
0
55
57
51
54
66
11
10
-26
-9
-26
3
33
-76
-30
-6
0
0
-5
80
-18
-19
22
63
26
15
19
8
67
-8
1
-36
8
-2
0
-39
67
36
38
73
17
51
59
34
44
57
-15
-4
6
8
0
0
-29
63
28
-5
29
-2
49
56
27
15
-1
-21
5
0
-2
-1
-1
93
53
35
24
-6
10
-19
51
64
-27
2
-3
0
1
19
0
0
0
-8
1
-21
71
2
4
4
-2
-1
3
-2
0
0
0
0
0
5
103
0
25
38
-18
-4
0
0
0
4
27
0
0
0
0
0
67
28
17
-2
-1
-55
18
0
0
0
11
-85
-3
0
0
0
0
77
39
57
5
-44
9
-63
16
27
-2
-55
18
0
0
0
0
0
-26
15
18
16
8
3
-38
15
-14
-12
3
-28
-1
0
0
0
0
-14
21
-45
1
-33
3
5
55
51
-41
-19
1
8
-1
0
0
0
44
-41
25
31
43
6
36
12
-8
-53
-38
24
-3
0
0
0
0
45
19
10
18
33
23
20
3
16
-59
24
0
0
0
0
0
0
-19
48
24
34
49
5
99
78
1
-17
-6
0
0
0
0
0
0
1
-1
-1
-4
48
-1
66
44
6
3
0
0
0
0
0
0
0
-7
49
-40
3
50
-11
20
0
0
0
72
-17
-3
0
2
0
0
-16
-7
-102
6
9
13
-8
0
0
0
49
-11
-93
-10
0
0
0
91
-36
13
31
39
-7
8
5
19
42
27
-20
29
8
-1
0
0
-58
-40
-33
6
-5
16
29
4
18
18
-5
91
-14
4
0
-3
0
38
-34
2
32
41
35
18
-2
6
36
19
-1
5
-3
-2
0
0
1
-7
-65
24
24
54
31
18
17
-2
-1
22
0
1
0
0
0
-38
-37
-6
9
57
87
53
31
21
44
7
-23
3
-8
0
2
0
1
26
-10
38
34
79
68
30
-6
14
-22
-2
1
1
0
0
0
11
-15
0
1
4
8
15
9
71
-15
-6
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-15
-39
-25
-27
-4
-1
0
0
0
0
0
0
0
0
0
0
0
-55
42
-51
-25
-28
-38
0
0
0
0
0
0
0
0
0
0
14
-33
-25
-47
74
8
1
0
0
0
0
0
0
0
0
0
0
-5
-35
-34
-60
-11
-18
0
0
1
0
0
0
0
0
0
0
0
-1
-11
2
-16
-3
7
1
0
0
0
0
0
0
0
0
0
0
18
55
-7
-36
9
4
0
0
0
0
0
0
0
0
0
0
0
19
-36
71
27
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
-26
-101
14
-3
1
0
0
0
0
0
0
0
0
0
0
0
-46
-2
25
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
60
33
-5
-52
2
-8
0
0
0
0
0
0
0
0
0
0
0
-36
-27
9
-16
-59
-2
-8
0
0
0
0
0
0
0
0
0
0
53
-13
-52
-63
-24
-25
11
1
-1
0
0
0
0
0
0
0
0
-2
-1
43
-11
56
7
-12
0
-2
-1
0
0
0
0
0
0
0
26
17
-32
-32
0
-39
-2
0
-4
0
0
0
0
0
0
0
0
29
-45
-81
-19
-18
-25
3
0
0
0
0
0
0
0
0
0
0
5
7
9
-67
-48
-8
0
1
0
0
0
0
0
0
0
0
0
-2
-46
25
-26
-23
0
7
0
0
0
0
0
0
0
0
0
0
-3
4
63
-18
-9
0
0
0
0
0
0
0
0
0
0
0
0
-12
30
-38
23
-75
-131
0
0
0
0
0
0
0
0
0
0
0
40
16
-43
2
-6
-63
-13
0
0
0
0
0
0
0
0
0
0
-45
22
54
0
0
-98
-2
0
1
0
4
0
0
0
0
0
0
5
45
-9
-57
-25
18
3
0
-1
0
0
0
0
0
0
0
0
-14
30
63
-86
-51
3
0
0
0
0
0
0
0
0
0
0
0
-6
8
-38
-20
45
2
0
0
0
0
0
0
0
0
0
0
0
-1
55
-28
29
-11
2
0
0
0
0
0
0
0
0
0
0
0
-12
-3
-28
-43
2
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
30
11
-136
42
-37
0
0
0
0
-2
0
0
0
0
0
2
37
70
-2
-93
-53
-37
0
0
0
0
0
0
0
0
0
0
6
-8
8
-65
-42
-36
-86
-112
-89
-4
0
0
0
0
0
0
0
15
44
-25
-33
-70
-30
-15
-3
2
-1
0
0
0
0
0
0
0
-22
-41
55
-17
-19
17
5
-10
0
-2
7
0
0
0
0
0
0
2
-15
-35
-53
-20
50
-4
0
2
-1
0
0
0
0
0
0
0
-2
-30
69
-36
0
6
-8
8
-1
-2
0
0
0
0
0
0
0
0
-27
-35
-2
-7
4
1
0
0
0
0
0
0
0
0
0
0
0
26
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
3
-18
-81
-37
-26
-35
0
0
0
0
0
0
0
0
0
0
-43
-60
-14
-21
-7
-56
-31
0
0
0
3
0
0
0
0
0
0
1
-52
51
-45
20
-63
22
-10
-2
-11
0
0
0
0
0
0
0
21
-36
4
11
-17
-27
-19
-49
7
-17
0
0
0
0
0
0
0
-59
-9
51
53
-28
6
59
13
-36
3
0
0
0
0
0
0
0
-49
22
37
13
-40
25
0
-49
-1
-4
0
0
0
0
0
0
0
3
4
-39
-9
-15
6
1
0
0
0
0
0
0
0
0
0
0
1
41
-41
-11
2
-1
0
0
-3
2
0
0
0
0
0
0
0
-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
-71
34
-83
-29
-73
-150
-136
0
0
0
-60
-45
-4
-2
0
-1
0
27
10
34
7
-22
-79
-146
0
0
0
-89
-39
-7
28
-14
-6
0
63
-31
89
-4
-14
-133
-136
-88
-98
-65
-41
-15
-13
-13
2
0
0
22
82
17
18
10
-44
-49
-57
-51
-103
-14
-12
-2
-3
-2
0
0
-10
-54
-63
-15
-3
-22
9
-11
9
-4
26
21
10
0
0
3
0
-83
-21
-48
-57
-6
-8
62
-23
-9
52
2
42
-7
1
0
-3
0
-1
20
13
-20
5
-32
-17
4
-19
-11
30
-3
0
-1
0
0
0
-24
43
-6
17
-45
-5
-16
-23
-17
-6
-2
0
-8
0
0
0
0
-2
-2
2
20
3
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
-16
17
-18
-97
-102
0
0
0
0
-11
6
30
19
2
-50
14
0
16
-64
-56
-73
-81
-111
0
0
0
4
12
9
-46
43
1
-14
0
-29
9
-39
-50
-73
-43
-41
-41
-63
-11
-6
-49
-44
-40
28
1
0
-36
-36
-5
-15
-71
-19
-37
-18
-19
-29
16
-21
-11
-8
2
-1
0
-24
-9
-51
-11
-5
-53
-19
-13
-20
-6
-40
-24
7
2
21
2
0
-2
-24
-36
17
40
-3
-22
4
-3
-7
-9
40
-10
12
-9
-6
0
0
-71
-69
29
4
-12
-6
-1
-8
1
9
44
8
-14
-3
3
0
0
-26
-40
17
-40
13
16
32
4
6
-5
-30
9
36
14
18
0
0
-22
-24
-16
32
57
20
14
5
11
-7
12
-42
-46
-5
-3
0
0
-43
-41
-45
-60
-59
0
0
0
6
-4
-22
-11
3
-9
0
0
0
-15
-6
-16
-25
-22
0
0
0
-10
-32
-45
-20
10
44
-8
0
0
-7
-35
10
-26
-37
-45
-33
-6
32
-5
-55
32
-41
6
1
0
0
-59
3
-25
-41
-30
0
2
-14
-33
19
26
1
0
0
0
0
0
33
-64
-38
4
-5
-17
-4
-8
17
-13
-39
1
8
7
2
0
0
-1
-54
-10
-40
-27
-7
-3
4
-37
36
19
-22
47
-50
0
0
0
-1
-23
-20
-11
3
9
15
-9
-26
13
15
-45
9
4
-4
0
0
-12
-11
11
-58
-45
-21
5
-8
16
-1
63
-23
21
-3
1
0
0
-8
-66
16
-12
-25
17
-1
-2
1
-1
0
-1
0
0
0
-8
0
-26
-46
-29
-67
-90
0
0
0
-28
-5
-11
15
0
0
0
20
32
-10
-18
-48
-92
-119
0
0
0
-88
-60
-41
-1
33
-4
0
-23
1
-62
-19
-34
-27
-42
-89
-79
-92
-47
-32
-13
-36
-6
0
0
-40
-33
-40
5
-26
-26
-27
-24
-50
-55
-19
-98
-49
12
-24
0
0
-58
-23
26
-50
-43
28
-25
-19
-6
-8
-71
-2
-7
-13
-15
0
0
-3
20
-16
16
-26
7
27
39
32
-5
-12
12
0
0
0
0
0
17
0
-38
41
-5
-11
40
6
60
-30
10
-48
-18
0
0
-2
0
-9
-76
-44
15
-85
0
-18
-25
-12
7
4
-4
-1
-6
1
0
0
0
-2
-9
28
-5
0
-2
0
0
2
0
0
0
0
0
0
0
60
-16
-13
34
-29
-33
-58
0
0
0
-5
-38
-1
0
0
0
0
-71
-34
-25
-5
-52
-53
-145
0
0
0
-15
6
3
-1
0
0
0
68
-24
81
-46
-44
-42
-123
-24
-75
7
-30
1
-4
-1
-1
0
0
-6
-6
-66
-29
-68
-15
-70
-74
12
-42
-59
2
0
0
0
0
0
-5
-36
8
-16
-40
-42
-23
-41
15
-79
-4
-16
0
0
0
0
0
-19
20
1
-84
-1
-10
-25
5
-24
25
-26
2
0
0
0
0
0
-2
-1
3
43
24
27
23
-53
-22
16
1
1
0
0
0
0
0
0
8
25
17
3
3
-80
-53
-8
18
-1
-2
0
0
0
0
0
0
0
0
-1
8
0
3
-2
2
-10
0
0
0
0
0
0
0
-4
21
-13
6
-5
-92
-55
0
0
0
49
-30
2
3
0
0
0
8
-12
-62
-80
-58
-15
-65
0
0
0
-7
-34
10
1
0
0
0
4
-146
-10
-48
-62
11
-129
-163
-114
-64
-116
9
-22
2
3
0
0
3
-70
-22
-49
-54
-67
-39
-57
-22
-50
11
15
6
-3
0
0
0
2
42
25
-6
-2
-4
-66
-67
-28
-51
19
-41
8
0
0
0
0
4
-15
-8
-28
-82
31
33
-73
-69
-26
-108
3
-7
0
0
0
0
0
-11
-1
15
5
17
29
10
-30
-67
30
8
0
0
0
0
0
0
-3
4
5
47
40
-10
0
28
8
19
0
1
0
0
0
0
0
0
0
0
-1
0
-1
4
2
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
46
0
0
0
0
0
0
0
0
0
0
-14
35
13
68
0
0
68
1
0
0
0
0
0
0
0
0
-8
1
29
15
18
13
59
-13
0
0
0
0
0
0
0
0
0
0
0
37
19
-10
82
47
30
1
0
0
0
0
0
0
0
0
0
0
-1
-10
29
-6
14
-5
0
0
0
0
0
0
0
0
0
4
-3
4
-16
-6
41
19
-15
0
0
0
0
0
0
0
0
0
0
1
6
-23
-45
12
42
-22
0
0
0
0
0
0
0
0
0
0
0
1
-1
28
11
-48
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-24
2
0
0
0
0
0
0
0
0
1
1
0
46
36
0
0
0
-20
0
0
0
0
0
0
0
0
-1
1
41
24
32
56
0
0
84
6
0
0
0
0
0
0
0
1
2
33
1
55
44
17
50
5
-1
0
0
0
0
0
0
0
0
12
15
47
59
20
61
32
-18
-10
0
0
0
0
0
0
0
-4
-6
0
28
-11
-14
-27
-24
4
-2
0
0
0
0
0
0
0
-3
0
1
-7
-27
18
35
14
37
-2
0
0
0
0
0
0
0
0
0
-2
-2
-58
10
-1
1
-8
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-18
3
-28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
49
0
0
0
44
-27
0
0
0
0
0
0
0
0
0
10
-14
7
42
0
0
46
12
0
0
0
0
0
0
0
0
0
0
9
42
54
27
0
15
2
0
0
0
0
0
0
0
0
0
-2
17
16
6
43
45
30
-11
-1
0
0
0
0
0
0
0
2
4
4
4
29
28
55
-6
-78
2
0
0
0
0
0
0
0
3
6
-1
0
-4
23
19
-43
-3
-4
0
0
0
0
0
0
0
-3
3
4
-16
55
-22
55
24
11
0
0
0
0
0
0
0
0
0
0
0
-3
76
52
-1
28
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
2
18
0
0
0
110
47
0
20
-21
-5
0
0
0
0
3
6
-6
48
0
0
0
97
10
6
12
-51
57
-13
0
0
0
1
-3
-21
25
19
8
49
31
26
13
19
9
-24
35
0
0
0
7
-8
21
-21
87
28
27
20
3
-16
-15
-12
39
1
0
0
-9
-3
-7
17
81
27
107
71
52
88
-29
-21
-55
34
0
0
0
0
-2
-3
-15
5
2
96
54
19
-5
14
-41
16
41
0
0
0
0
0
2
-8
-12
58
-37
14
22
-67
33
-11
-9
-12
0
0
0
0
0
0
-4
-20
-4
13
-26
21
-44
-2
25
-40
0
0
0
0
0
0
0
0
0
-1
9
3
-1
0
2
15
-25
38
0
0
0
0
0
7
21
40
0
0
0
105
35
42
9
-34
16
0
0
0
6
1
3
35
38
0
0
0
87
45
-16
12
17
56
1
0
0
0
-2
3
35
-43
15
-46
50
29
44
11
-106
45
-60
-4
0
0
-4
0
-1
20
20
43
-7
-15
-11
-26
-39
20
-52
72
4
0
0
0
-1
0
-3
22
43
3
-45
-1
20
58
-29
53
-9
-4
0
0
0
1
0
0
26
-21
-56
-30
-38
-14
-20
13
-75
19
0
0
0
0
0
-1
0
12
38
-43
-32
0
-47
-44
33
7
3
0
0
0
0
0
0
-2
3
63
-49
9
18
-3
-7
-12
0
0
0
0
0
0
0
0
0
4
0
33
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
98
0
0
0
45
34
24
37
-25
-7
-46
0
0
1
0
39
95
64
31
0
0
49
52
50
13
-14
-5
22
0
1
-1
2
-11
7
81
56
69
51
42
65
15
25
12
-1
-18
0
0
-2
-8
-1
-14
36
98
11
-15
64
50
31
12
18
15
28
0
0
0
7
-24
22
17
27
-12
20
63
61
19
9
2
3
-72
0
0
0
0
-2
-19
42
34
15
-27
50
30
26
38
5
21
-18
0
0
0
-18
-10
2
-32
58
-47
25
-42
73
23
18
2
-26
28
0
0
0
3
12
-9
9
11
-64
45
40
-50
-13
-3
10
13
3
0
0
0
0
0
0
0
2
1
-1
1
-7
1
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
1
-13
36
8
26
-10
0
0
0
0
15
-1
-1
-14
54
56
45
17
8
6
-7
5
2
0
0
0
0
0
-2
0
63
3
31
39
22
10
17
20
15
-23
0
0
0
0
0
-10
-5
10
2
25
24
52
19
10
11
14
26
0
0
0
0
-9
3
-13
40
27
27
-14
36
60
23
23
4
7
0
0
0
8
0
-5
18
-11
-17
39
14
32
76
-15
7
16
30
0
0
0
-2
0
-2
46
21
-14
28
33
34
61
40
5
62
47
0
0
0
0
0
0
-44
8
-25
-55
-4
49
0
28
-4
10
1
0
0
0
0
0
0
0
4
-7
25
-27
51
19
43
34
2
36
0
0
0
0
1
-44
1
-9
0
19
19
-3
-11
5
7
9
8
0
0
0
-1
-6
69
-13
-37
-11
30
0
15
30
-6
-1
1
-2
0
0
0
0
-3
-20
-44
39
13
31
13
8
-11
29
-14
-11
1
0
0
0
0
-19
9
35
38
67
31
-25
10
21
16
29
-2
20
0
0
0
0
8
-41
-7
20
9
11
13
8
-25
9
29
61
11
0
0
0
3
10
13
-11
-37
21
62
18
39
47
28
30
2
21
0
0
0
0
0
-12
-57
-23
-56
-9
11
54
30
10
44
14
1
0
0
0
0
15
0
35
-7
15
9
6
2
30
34
-28
4
25
0
0
0
0
0
2
-7
4
-20
0
42
-20
84
-14
-8
-10
0
0
0
0
-9
6
36
-1
83
0
0
44
31
6
4
9
18
-11
0
0
0
5
12
38
-6
0
20
0
16
39
26
21
20
2
6
0
0
3
-2
-2
59
25
47
32
52
-3
46
6
13
22
9
-10
0
0
6
1
13
9
3
5
37
44
27
32
29
27
13
-8
-35
0
0
0
-4
-13
-36
5
49
49
40
41
30
1
40
-11
15
-12
0
0
0
4
-13
-11
73
-8
29
-10
22
8
-12
9
22
-15
70
0
0
0
0
0
-23
-30
-5
8
34
22
21
28
-1
-6
36
-7
0
0
0
0
-1
37
44
-9
13
-19
44
0
28
-6
16
89
-3
0
0
0
0
0
0
11
0
-3
-8
47
-5
-11
63
45
4
0
0
0
0
0
2
20
-13
43
0
47
89
68
21
59
21
8
24
0
0
0
0
-2
16
46
0
11
0
84
33
40
36
28
62
-15
0
0
0
0
0
6
-36
23
47
57
4
21
-27
62
55
77
20
0
0
0
0
0
-4
-41
-13
33
68
69
-55
10
79
43
36
53
0
0
0
0
1
-2
-6
34
-3
21
-11
-24
-43
13
48
-6
33
0
0
0
1
0
0
-13
-73
-47
-25
29
-8
14
-29
13
9
-39
0
0
0
0
0
0
-4
-14
-49
-119
48
-8
38
12
-19
5
2
0
0
0
0
0
-12
0
1
1
-7
9
-3
36
-11
-30
64
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-14
-13
6
0
0
0
0
0
0
-7
35
0
0
0
172
110
8
31
-5
-27
20
0
0
0
0
0
-1
68
56
0
86
80
81
83
8
19
33
68
0
0
0
0
0
0
-8
134
45
66
48
51
41
50
49
65
-17
0
0
0
0
0
0
12
0
-2
-13
17
11
-6
-3
47
6
56
0
0
0
0
0
0
-7
-48
-66
-43
-33
-38
-41
28
-15
42
22
0
0
0
0
0
-2
6
-7
-163
-16
2
0
0
30
5
104
-7
0
0
0
0
0
0
0
-50
-122
-30
-64
11
2
36
-15
4
91
0
0
0
0
0
0
0
0
-12
3
44
33
-57
-66
5
-82
4
0
0
0
0
0
0
0
0
0
0
0
1
3
30
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-35
0
0
0
0
0
0
0
0
0
-2
-6
-17
63
13
0
0
-41
-10
0
0
0
0
0
0
0
-1
-9
0
-18
-17
-75
-22
-43
-115
2
0
0
0
0
0
0
0
0
0
-1
-5
-9
72
23
-53
76
6
0
0
0
0
0
0
0
0
0
0
-3
10
2
3
-64
5
0
0
0
0
0
0
0
0
3
-8
0
1
-4
18
-59
-10
-41
-9
0
0
0
0
0
0
0
0
-1
0
-6
6
8
33
-2
19
0
0
0
0
0
0
0
0
0
0
0
0
4
19
84
-68
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
29
7
0
0
0
0
0
0
0
0
-2
-2
-11
-6
14
0
0
0
-140
0
0
0
0
0
0
0
0
-3
-15
22
-10
-13
19
0
0
-57
16
0
0
0
0
0
0
0
0
0
-14
-18
17
-46
1
-29
-63
16
1
0
0
0
0
0
-1
1
6
-22
8
-44
63
1
21
-14
10
0
0
0
0
0
0
0
7
8
16
3
-11
16
23
-10
-31
-35
0
0
0
0
0
0
0
7
-1
-2
-18
-13
38
66
-64
-36
2
0
0
0
0
0
0
0
2
7
2
3
4
-6
52
-25
14
8
0
0
0
0
0
0
0
0
-3
0
1
24
28
27
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
-2
7
0
0
0
0
0
0
0
0
0
0
6
0
48
0
0
0
-62
13
0
0
0
0
0
0
0
0
0
-13
33
-9
22
0
0
-20
26
0
0
0
0
0
0
0
0
0
7
-15
-2
-37
-45
-34
-7
-53
1
0
0
0
0
0
0
0
0
23
-28
16
51
-23
36
-36
-32
-1
0
0
0
0
0
0
0
1
0
-15
21
98
-4
23
15
-37
1
0
0
0
0
0
0
0
1
-11
0
-29
29
56
-98
-47
-37
0
0
0
0
0
0
0
0
-2
-2
6
-1
-39
12
-21
-27
-35
0
0
0
0
0
0
0
0
-1
-4
-2
2
-52
19
-51
10
-1
0
0
0
0
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
45
0
0
0
-9
12
12
7
-22
-55
-1
0
0
0
-3
18
28
-3
0
0
0
-78
-57
-30
17
3
-40
8
0
0
0
-1
0
32
5
-60
-75
-63
7
-59
-161
-39
2
-2
-8
0
0
0
0
4
-11
-44
-18
-9
-46
-34
-50
-51
-17
-34
-53
0
0
0
0
0
-3
4
18
25
19
34
-5
-32
-85
-27
-24
6
0
0
0
0
0
2
-5
2
-63
35
-12
-73
10
-41
-105
-42
8
0
0
0
0
0
0
6
-7
-31
73
88
-6
-57
10
-19
-2
-8
0
0
0
0
0
0
2
0
-1
18
103
6
7
-3
0
1
0
0
0
0
0
0
0
0
0
-1
18
1
0
0
-10
-1
0
-13
0
0
0
0
0
0
-10
-8
0
0
0
-20
2
-7
0
-3
-6
0
0
0
0
0
11
-12
20
0
0
0
41
-35
-6
2
-11
-1
0
0
0
0
0
0
34
-52
-47
-24
-14
-52
-1
33
-16
30
3
0
0
0
0
0
0
-3
-22
24
-83
-5
-66
40
27
10
-50
-2
0
0
0
0
0
0
0
8
-69
20
-113
-28
-17
-40
-80
-28
2
0
0
0
0
0
0
0
-1
-80
7
-70
-26
-4
-24
-48
-8
-2
6
0
0
0
-2
2
0
1
8
0
6
8
-3
2
2
-1
0
0
0
0
0
0
0
0
-1
28
4
15
1
-2
0
0
-1
0
0
0
0
0
0
0
0
4
0
3
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
8
-16
57
0
0
0
-47
-20
8
-19
-36
-44
-11
0
0
-2
7
26
22
2
-4
0
0
-62
-24
0
-41
-25
-32
-6
0
0
-1
1
-8
13
82
-17
20
-12
-1
7
-21
-14
-15
-43
-69
0
0
-4
-2
19
16
15
23
-28
24
27
-2
-12
-5
-20
-3
-34
0
0
0
0
85
45
72
55
29
17
35
4
27
-13
-11
-39
-53
0
0
0
6
22
36
-16
16
26
72
26
10
-3
-59
-9
-47
-33
0
0
0
66
19
8
17
8
23
96
30
-41
-3
-40
6
-50
-10
0
0
0
0
6
21
28
-6
57
18
0
-23
-53
-67
-57
-31
1
0
0
0
0
0
0
0
-13
-22
-1
2
7
-3
-20
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-6
-46
-24
-52
-7
-21
8
0
0
0
1
0
0
0
-11
7
9
-15
-31
-60
-47
-41
-39
-61
0
0
0
0
3
1
17
46
7
-18
0
-21
-72
-39
-36
-38
-25
0
0
0
0
0
-6
-34
-5
-13
10
11
-4
20
-12
-6
-30
-22
0
0
2
0
4
-5
-6
26
0
21
48
2
-22
38
-24
-22
-23
0
0
-4
0
2
10
34
-3
68
-26
18
12
67
-13
-12
-61
-36
0
0
0
1
-3
-6
1
6
-69
27
-8
45
-35
-19
-30
-24
-21
0
0
0
-1
0
1
0
-2
31
44
-5
49
-17
-32
1
-19
-50
0
0
0
0
6
0
0
0
30
-9
2
14
-27
7
-54
-59
-25
0
0
0
0
0
-2
-13
-19
0
-10
-27
-59
-25
-38
-22
-20
-2
0
0
0
3
4
-30
-11
0
-58
8
0
-50
-31
-52
-30
-60
-36
0
0
0
0
5
6
19
-18
4
21
0
-46
-58
-20
-8
-72
-19
0
0
0
0
-14
20
-22
-37
-17
-11
12
-9
0
-7
-9
-27
-22
0
0
0
0
-9
73
22
-50
17
-15
2
35
13
12
-13
-24
-14
0
0
0
0
12
-10
-4
-5
5
32
-7
7
-12
16
-6
1
-40
0
0
0
1
6
0
24
25
41
14
9
14
-14
-12
1
-39
-9
0
0
0
2
-4
2
4
2
-36
-25
-20
31
23
39
-10
-44
-18
0
0
0
0
0
2
11
6
18
-25
-12
13
-60
4
17
-1
0
0
0
0
6
-7
-10
1
26
0
0
-48
-6
-25
-6
-22
-31
-60
0
0
0
-6
20
93
-1
0
33
0
-29
-8
1
2
-5
-19
-19
0
0
2
-6
3
-92
-20
13
39
-5
-4
18
-14
-17
5
-19
-30
0
0
0
-3
-8
35
24
-8
7
24
-4
11
-2
-11
-36
-13
-40
0
0
0
24
-3
35
-9
85
48
48
-27
39
30
-13
-78
-20
-65
0
0
0
1
81
10
55
31
16
41
-5
21
-7
-8
14
13
-7
0
0
0
2
-25
55
14
-7
38
3
-26
-9
-5
-8
-8
-8
1
0
0
-1
0
2
22
-44
-3
-16
-51
19
22
-44
37
-27
1
-12
0
0
0
0
0
0
-8
4
6
5
-5
-10
-7
45
-54
-2
0
0
0
0
0
0
-1
64
-5
0
-6
16
-21
31
35
-30
-32
-29
0
0
0
0
1
-33
28
0
15
0
-25
-45
-18
-26
7
-8
2
0
0
0
-1
-6
-4
-93
-14
-7
-44
-15
-24
36
4
21
-11
14
0
0
0
0
0
-17
-29
-5
-48
-84
-10
-32
-32
-40
-71
20
-63
0
0
0
0
0
0
-19
-23
-76
-38
-51
-12
-36
-54
-33
76
-35
0
0
0
0
0
0
-4
-35
31
-34
-42
-67
-23
-20
-18
-43
-1
0
0
0
1
0
0
-2
43
-30
-23
31
25
-38
-27
-31
-41
-29
0
0
0
0
0
-6
0
-8
4
-12
-48
-29
-37
0
46
-79
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-27
18
15
0
0
0
0
0
1
-1
-10
0
0
0
-11
13
-18
-61
-60
-25
-63
0
0
0
0
0
0
-22
16
0
22
-63
-1
-48
-6
17
-52
-78
0
0
0
0
0
0
-8
-27
44
13
-35
19
11
-39
-48
-31
-54
0
0
0
0
2
0
5
-88
-174
6
0
45
-107
11
-27
-13
13
0
0
0
0
0
3
-4
-60
-80
-45
-18
-26
-12
-18
-23
-26
-31
0
0
0
0
0
0
0
-47
-140
48
10
33
11
-23
15
-14
20
0
0
0
0
0
0
0
-17
-69
-79
2
54
16
-14
-21
22
-26
0
0
0
0
0
0
0
-1
-18
3
7
-4
21
7
26
1
-4
0
0
0
0
0
0
0
0
1
0
0
0
2
57
-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
2
1
49
0
0
0
37
3
0
0
0
0
0
0
0
0
3
7
28
47
44
0
0
18
0
0
0
0
0
0
0
0
0
0
2
66
-3
42
27
-14
34
-2
0
0
0
0
0
0
0
0
0
-3
6
9
-6
50
33
65
1
0
0
0
0
0
0
0
0
0
2
7
16
-30
7
71
67
-6
0
0
0
0
0
0
0
0
0
0
-3
11
10
19
12
-16
0
0
0
0
0
0
0
0
0
0
0
-1
-30
58
22
-12
12
0
0
0
0
0
0
0
0
0
0
0
1
3
-36
54
15
-6
0
0
0
0
0
0
0
0
0
0
0
0
-4
-2
-6
4
-9
0
0
0
0
0
0
0
0
0
-3
-8
30
26
0
0
0
-4
8
0
0
0
0
0
0
0
-1
1
5
-14
12
44
0
0
-72
6
0
0
0
0
0
0
0
0
1
0
26
19
47
28
33
1
-23
0
0
0
0
0
0
0
0
0
10
15
23
41
-47
6
16
14
0
0
0
0
0
0
0
0
3
0
-6
-2
76
-24
52
-12
-12
0
0
0
0
0
0
0
0
0
1
-2
-12
13
61
113
-11
0
0
0
0
0
0
0
0
0
0
0
-4
13
22
46
65
60
0
0
0
0
0
0
0
0
0
0
0
0
-13
47
-10
40
-3
0
0
0
0
0
0
0
0
0
0
0
0
4
1
24
-19
-11
0
0
0
0
0
0
0
0
0
-1
-6
9
-8
0
0
0
78
3
0
0
0
0
0
0
0
0
-1
1
36
37
37
0
0
30
-37
0
0
0
0
0
0
0
0
3
-1
-2
-3
37
26
-39
-14
63
0
0
0
0
0
0
0
0
0
0
6
9
65
16
-30
-24
-53
0
0
0
0
0
0
0
0
0
-1
-1
11
-19
12
-25
10
27
0
0
0
0
0
0
0
0
1
0
2
-1
45
-40
67
102
-8
0
0
0
0
0
0
0
0
0
0
0
6
-11
1
29
22
10
0
0
0
0
0
0
0
0
0
0
1
0
-8
2
35
44
1
0
0
0
0
0
0
0
0
0
0
0
-1
7
3
2
0
0
0
0
0
0
0
0
0
0
0
2
3
-17
0
0
0
110
-50
27
11
15
54
-1
0
0
0
12
-2
26
-79
0
0
0
9
66
-46
-42
28
18
0
0
0
0
2
-1
45
-28
56
21
54
-40
2
-40
-37
2
87
-3
0
0
2
0
-3
9
-50
-11
35
3
16
-35
-35
-55
110
-42
0
0
0
3
-6
-2
15
-8
63
9
11
43
-21
-60
-25
38
24
4
0
0
0
0
-2
-5
25
93
69
30
104
-29
2
-10
38
1
2
0
0
0
0
0
16
24
43
20
59
15
-17
73
42
-28
7
0
0
0
0
0
-2
-2
36
61
39
24
-22
46
-46
-6
21
9
0
0
0
0
0
0
0
0
1
16
-2
44
1
0
0
2
1
0
0
0
10
1
19
-66
9
0
0
0
59
-64
-5
29
10
-12
-1
0
-1
0
15
45
25
25
0
0
0
111
-45
-26
-19
24
24
4
0
0
0
3
-2
68
10
57
53
27
46
-13
-1
23
-26
-63
8
0
0
0
8
10
26
27
43
-70
-34
-17
-13
-27
39
34
-24
8
0
0
0
0
4
-3
61
25
-1
57
-35
35
67
-13
48
76
1
0
0
0
3
0
0
-35
38
-65
77
17
32
10
51
-26
19
0
0
0
0
3
-6
-3
44
-3
0
59
-22
-20
-20
-10
38
47
-6
0
0
0
0
-3
15
-7
-57
0
19
50
4
35
7
-15
-47
4
0
0
0
0
0
9
1
8
-140
44
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
9
9
-55
0
0
0
20
40
48
59
22
7
-4
0
0
0
1
-11
-30
57
1
0
0
6
-1
33
25
33
18
4
0
0
-3
0
-10
6
67
21
-10
19
-25
-3
20
34
30
-3
17
0
0
0
0
0
29
22
36
-1
43
29
38
21
-32
62
33
27
0
0
0
0
-2
-9
17
11
60
27
-1
35
25
-6
10
-17
-63
0
0
0
0
-7
18
-57
34
20
95
4
12
-12
51
19
30
11
0
0
0
0
0
-13
-22
15
29
-32
-1
-17
-29
39
-10
-15
58
0
0
0
1
0
-1
5
26
120
-39
1
15
-40
77
53
47
1
0
0
0
0
0
-4
-2
-1
-2
28
17
0
0
-2
-6
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
15
45
0
0
-75
-70
-60
-24
17
27
-23
0
0
0
0
-1
0
-5
27
-10
-9
-18
-26
-40
6
8
-8
12
0
0
0
0
-1
-1
-2
23
-33
22
-3
-21
-10
11
1
14
31
0
0
0
0
6
-2
-22
-17
12
-52
-26
-1
2
-12
19
27
7
0
0
0
0
0
-1
-3
33
-36
-39
-33
-34
20
37
7
23
10
0
0
0
0
0
0
-13
21
-76
-9
-64
-5
-18
31
25
17
32
0
0
0
0
0
0
-1
-22
-4
-25
-42
33
-2
5
35
33
3
0
0
0
0
0
0
-1
-9
37
20
-33
12
85
40
5
19
11
0
0
0
0
-1
-1
-1
-1
-83
-7
14
-51
-4
17
26
31
11
0
0
0
0
0
-5
20
23
0
8
41
-43
-36
35
54
7
39
0
0
0
0
-30
-17
-24
-18
35
16
0
-25
-21
10
24
37
2
0
0
0
0
25
1
11
-25
-11
-14
-13
-27
26
0
-31
-4
37
0
0
0
0
-2
13
2
-24
21
7
-9
2
9
33
9
31
45
0
0
0
0
0
-8
-8
-15
-26
28
2
8
-2
34
31
35
24
0
0
0
0
-4
-1
-2
-6
-18
20
12
16
11
-6
9
21
24
0
0
0
0
1
20
2
-6
16
-17
71
8
79
50
6
20
-6
0
0
0
0
1
-1
1
0
-2
-61
-69
-72
-28
49
53
-13
15
0
0
0
0
0
0
1
0
-13
-6
-24
11
50
51
-6
-6
0
0
0
0
-2
0
-41
-29
1
0
0
56
7
14
0
14
2
47
0
-1
-1
-3
-20
-5
-9
0
-8
0
28
17
-9
49
34
10
6
0
0
-2
-1
33
43
-27
8
11
13
2
41
12
52
47
-4
3
0
0
0
3
0
27
-13
43
63
41
28
16
33
24
53
-13
-67
0
0
0
0
4
49
49
45
1
42
86
10
38
37
78
44
-107
0
0
0
0
0
3
-52
-21
16
23
31
45
13
42
8
11
93
0
0
0
0
-3
8
-14
-108
4
-6
-7
-10
46
39
14
-24
1
0
0
0
0
0
-2
-2
-66
-108
-2
8
47
-11
42
-10
-49
51
0
0
0
0
0
0
0
0
0
-12
-2
-15
0
8
7
-2
0
0
0
0
0
0
2
47
24
0
24
4
100
62
62
37
89
0
0
0
0
0
-3
19
32
0
-16
0
4
2
-6
41
34
62
20
0
0
0
-2
12
-13
-26
48
78
39
-14
-12
34
45
-42
1
-56
0
0
0
-1
-1
27
-52
53
46
79
27
-13
41
13
70
0
11
0
0
0
0
0
11
-72
12
6
46
15
-12
-73
-1
15
52
-76
0
0
0
-1
0
0
-1
-8
-7
-24
15
-47
-41
-79
1
33
43
0
0
0
0
0
0
4
-33
-28
-10
-28
-1
-41
-1
-57
-55
-38
0
0
0
0
0
0
0
2
-16
0
-9
58
51
-1
65
8
-1
0
0
0
0
0
0
0
0
0
-1
0
-1
47
4
27
-7
1
0
0
0
0
-1
38
12
0
0
0
61
63
-6
-33
-67
-23
16
0
0
0
0
0
72
93
-20
0
-12
48
61
5
-4
11
-9
-28
0
0
0
0
0
-2
37
64
110
62
37
-15
-40
20
19
11
5
0
0
0
0
0
-5
-18
1
6
25
-2
-22
33
-8
59
59
5
0
0
0
0
0
6
-7
-5
-119
-33
-25
-41
11
40
25
67
-27
0
0
0
0
0
1
-1
-14
-89
-103
22
-57
20
-9
-10
71
35
0
0
0
0
0
0
-1
-44
-4
-68
15
4
56
25
6
61
-5
0
0
0
0
0
0
0
0
-51
-36
2
85
-18
30
-16
41
18
0
0
0
0
0
0
0
0
-1
0
-3
6
1
-7
33
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
2
0
0
0
-35
0
0
0
0
0
0
0
0
0
1
-1
-12
-8
2
0
0
8
0
0
0
0
0
0
0
0
0
0
-15
-32
16
10
43
-100
-98
-9
0
0
0
0
0
0
0
0
0
1
-8
5
-76
-3
-33
-38
7
0
0
0
0
0
0
0
0
0
0
4
2
24
27
48
-10
0
0
0
0
0
0
0
0
0
0
0
2
-12
1
60
65
-24
0
0
0
0
0
0
0
0
0
0
0
0
22
-34
-73
26
-4
0
0
0
0
0
0
0
0
0
0
0
-2
-42
59
16
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
-8
5
-2
-2
-3
0
0
0
0
0
0
0
0
0
-4
1
19
2
0
0
0
-26
0
0
0
0
0
0
0
0
-1
0
-3
59
28
-18
0
0
-71
-4
0
0
0
0
0
0
0
0
0
1
1
47
-8
-19
-47
-70
29
0
0
0
0
0
0
0
0
0
-14
7
-28
-28
-15
24
-9
36
0
0
0
0
0
0
0
0
0
0
4
9
28
-4
27
48
-19
0
0
0
0
0
0
0
0
0
0
-6
14
-22
-41
-32
-11
0
0
0
0
0
0
0
0
0
0
0
-4
-17
31
-19
6
-58
-1
0
0
0
0
0
0
0
0
0
0
2
14
-89
-12
-61
2
0
0
0
0
0
0
0
0
0
0
0
0
-56
24
-7
-3
-21
0
0
0
0
0
0
0
0
0
-2
0
1
-4
0
0
0
13
-16
0
0
0
0
0
0
0
0
0
1
7
48
-27
0
0
-53
-21
0
0
0
0
0
0
0
0
-2
0
0
14
41
-39
-22
-42
-8
0
0
0
0
0
0
0
0
0
0
-2
-10
27
-9
-5
-74
-30
0
0
0
0
0
0
0
0
0
1
0
0
-34
13
31
33
-47
0
0
0
0
0
0
0
0
0
0
0
-15
6
-38
-38
74
-16
0
0
0
0
0
0
0
0
0
0
3
21
51
-1
17
-6
-2
0
0
0
0
0
0
0
0
0
0
3
2
34
-11
-23
-35
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
13
8
10
-21
2
-6
0
0
0
0
0
0
-2
-8
0
0
0
-13
-17
-40
18
-9
0
0
0
0
0
0
-3
1
-15
-29
-36
-36
-51
-45
-52
-14
-26
0
0
0
0
0
0
4
-3
5
-31
8
25
-19
8
-15
-28
-13
-1
0
0
0
0
0
0
0
-1
-4
-31
33
-13
-32
-51
-34
-7
0
0
0
0
0
0
0
0
-4
16
34
2
56
6
-39
0
0
2
0
0
0
0
0
-3
0
1
-37
36
22
-16
13
2
0
0
0
0
0
0
0
0
0
-2
2
3
36
26
-7
0
0
0
0
-4
0
0
0
0
0
0
0
9
7
11
-7
4
0
0
0
0
0
0
0
0
0
0
0
3
-82
0
0
0
39
3
-7
0
0
-2
0
0
0
0
-1
0
-6
-45
0
0
0
25
-34
-11
3
2
8
0
0
0
0
0
0
-6
-1
-48
-35
76
-31
-58
10
7
6
-2
0
0
0
0
0
0
1
24
-5
-51
29
-37
3
-38
1
1
2
0
0
0
0
0
-1
9
-5
-62
-15
-32
1
24
-39
-8
-16
-6
0
0
0
0
0
0
0
-4
33
-15
-4
-12
-7
3
1
-6
-3
0
0
0
0
0
0
0
-2
3
-61
-18
-12
3
-9
2
-29
2
0
0
0
0
0
0
0
1
46
-102
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
-2
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-29
0
0
0
-69
-90
-69
-38
-53
-44
-31
0
0
0
1
-19
-13
-14
-20
0
0
-110
-22
-70
-47
-20
-28
-31
0
0
4
0
1
0
25
22
-29
-84
-48
-10
-46
-66
-57
-41
-40
0
0
0
0
0
33
3
74
-6
-18
16
-55
14
-85
-43
-19
-35
0
0
0
0
0
-28
35
-13
27
41
54
-7
-12
-35
-61
-60
77
0
0
0
0
-4
-4
9
-55
-35
38
-4
10
-46
-17
-2
-68
20
0
0
0
-1
0
1
25
-69
14
-47
21
-89
-28
20
-60
-70
-14
0
0
0
-1
0
0
-30
15
-83
-8
17
23
-40
-83
-69
-37
-7
0
0
0
0
-1
9
0
-3
-14
-43
-65
-2
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
12
0
0
-90
-27
-42
11
-11
0
-21
0
0
0
0
4
0
5
-5
-21
-4
-43
-42
-18
-26
-27
-19
-24
0
0
0
0
0
0
-9
-25
-26
27
-26
-24
25
-35
-22
-15
-17
0
0
0
0
2
-1
-3
-5
-20
16
-5
-19
45
14
-10
-15
-13
0
0
0
0
0
-3
0
-42
16
30
42
-8
14
-5
-3
2
1
0
0
0
0
0
0
-2
-50
23
-2
16
2
-9
-17
14
1
-15
0
0
0
0
0
3
0
-1
-98
5
38
-72
17
-1
-12
-22
-18
0
0
0
0
0
0
-2
28
-47
-13
-35
-17
17
-35
-3
-15
-20
0
0
0
0
0
0
0
-2
-45
18
15
-10
-30
-19
-24
-2
10
0
0
0
0
0
-1
-12
-8
0
-10
-43
-73
-89
-40
40
-13
1
0
0
0
1
1
4
-19
-8
-30
-6
0
-64
-34
-9
-24
-15
-25
0
0
0
0
2
-1
-9
-14
31
-13
-23
-39
-43
-32
-30
-33
0
0
0
0
0
4
-8
17
19
37
-34
-15
1
41
-35
-33
-8
1
0
0
0
0
0
0
-3
14
-28
-7
8
8
13
7
-20
18
-12
0
0
0
0
0
0
8
-34
-26
2
30
-23
-44
6
-6
-27
-54
0
0
0
0
0
-15
0
-9
10
27
4
14
30
-13
5
-13
-10
0
0
0
0
-7
0
-2
0
-33
16
-18
28
-82
-30
-45
-30
-15
0
0
0
0
0
0
0
0
22
-9
-19
-17
-50
-25
-39
-2
0
0
0
0
0
-2
25
14
-65
0
0
-72
-22
-53
-9
8
6
-35
0
0
0
0
-27
-4
-57
0
-28
0
-64
-35
-33
-39
-43
-70
-63
0
0
0
1
2
-108
12
-19
-36
-121
-77
10
-40
-36
-45
8
-25
0
0
0
0
-1
2
-116
2
20
-45
-10
-39
-21
-24
-47
-54
65
0
0
0
0
-1
-1
-12
-5
-21
-17
-7
-11
-34
-35
-25
32
-25
0
0
0
0
-6
-1
14
52
-95
-9
-9
-43
16
-34
-32
-27
-79
0
0
0
0
10
-2
-19
-5
22
16
3
-37
-41
-13
-68
-49
-93
0
0
0
0
0
1
4
15
23
27
-16
28
17
-50
-19
30
-30
0
0
0
0
0
0
0
0
19
-15
-46
0
1
0
4
-1
0
0
0
0
0
0
0
8
12
0
-52
-42
-28
-4
-15
-35
14
-15
0
0
0
0
0
10
-19
0
-11
0
-3
12
-5
-82
-31
-43
-50
0
0
0
0
0
3
-91
35
51
-31
-43
-34
-23
42
-71
-86
-18
0
0
0
0
2
1
0
-74
-32
24
41
-33
-40
-72
-35
7
19
0
0
0
0
0
-1
0
-20
-6
-7
-69
-79
-8
4
-38
-64
11
0
0
0
0
0
0
1
-82
-18
36
40
1
-5
-13
-19
56
-37
0
0
0
0
0
0
1
-3
-16
-22
54
-19
-49
18
-102
-16
-46
0
0
0
0
0
0
0
-1
0
12
14
34
9
-19
-19
-52
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
-65
-62
-18
-27
-67
-19
33
0
0
0
0
0
0
0
-9
0
-21
-38
-44
-29
5
-5
-36
-106
0
0
0
0
0
0
0
3
16
33
-71
-4
-46
-37
-50
4
-75
0
0
0
0
0
0
-3
3
-67
-3
-83
60
-76
-33
-1
-30
-24
0
0
0
0
0
0
1
-103
-51
-35
66
-61
23
-91
16
5
11
0
0
0
0
0
0
0
-19
-28
-7
-9
-18
-9
63
-66
28
52
0
0
0
0
0
0
0
-22
-16
8
24
7
-26
-55
-11
-65
-12
0
0
0
0
0
0
0
1
-10
0
1
29
-21
24
12
34
10
0
0
0
0
0
0
0
0
-1
0
0
-1
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
-38
50
-1
-10
5
0
6
0
0
0
0
0
0
0
45
111
42
17
-44
-25
-42
-19
-31
-20
0
0
0
0
0
0
0
44
30
70
3
31
-7
-1
-11
-9
0
0
0
0
0
0
0
0
29
-44
-12
-3
1
-24
0
-22
7
0
0
0
0
0
0
0
0
14
91
8
-7
-10
-1
0
0
0
0
0
0
0
0
0
0
0
-15
71
63
8
37
1
4
0
0
0
0
0
0
0
0
0
0
1
-17
-26
27
4
0
0
0
0
0
0
0
0
0
0
0
0
3
57
69
13
33
0
0
0
0
0
0
0
0
0
0
0
0
0
4
51
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
39
-26
42
28
2
13
-35
43
0
17
0
0
0
0
0
0
0
86
47
2
45
3
6
14
-65
-9
-20
-8
0
0
0
0
0
0
67
32
54
24
20
-14
11
32
-45
-4
0
0
0
0
0
0
0
5
89
-2
-26
-16
23
10
-3
-9
0
0
0
0
0
0
0
0
36
51
16
-16
11
19
1
1
4
0
0
0
0
0
0
0
0
2
25
61
78
20
-4
2
0
0
0
0
0
0
0
0
0
0
-1
-19
52
-43
33
4
0
0
0
0
0
0
0
0
0
0
0
19
59
-4
-6
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
50
60
87
15
1
26
-63
0
-10
2
0
0
0
0
0
0
39
97
48
-4
-24
19
-72
-16
51
-35
4
0
0
0
0
0
0
-7
11
5
49
-5
51
-40
-5
32
-1
6
0
0
0
0
0
0
-12
26
93
51
-33
67
3
0
2
-2
1
0
0
0
0
0
0
1
30
24
42
67
41
2
-11
-2
0
0
0
0
0
0
0
0
7
24
36
40
-22
29
0
0
0
0
0
0
0
0
0
0
0
0
40
36
-33
-6
-2
-1
0
0
0
0
0
0
0
0
0
0
0
9
2
10
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
-13
-23
91
-52
15
-74
-65
-76
0
24
-8
2
0
0
0
0
0
112
5
38
20
26
-42
-29
-46
-59
-32
-6
2
0
0
0
0
0
88
8
40
48
-79
-18
-38
-7
-61
-65
-11
-10
-1
0
0
0
0
38
41
26
79
69
13
21
12
-6
11
21
0
0
0
0
0
0
46
39
5
76
43
-1
8
-17
52
13
0
-1
0
0
0
0
0
9
23
-34
43
45
-6
49
45
-51
2
-1
0
0
0
0
0
0
22
-6
93
136
49
88
13
85
12
1
0
0
0
0
0
0
0
46
68
57
91
49
28
29
53
-10
0
0
0
0
0
0
0
0
2
4
0
0
0
0
8
0
4
0
0
0
0
0
0
0
0
-7
-36
76
-34
-33
-89
18
-67
0
-35
0
0
0
0
0
0
0
45
-5
-42
-13
16
-7
29
-8
-38
24
-6
0
1
0
0
0
0
-34
-28
14
-5
75
31
-70
0
-59
29
2
-3
0
0
0
0
0
-98
-42
41
49
47
-34
-12
48
-72
45
-3
0
0
0
0
0
0
52
-35
-4
70
-38
53
20
65
2
-9
0
0
0
0
0
0
0
27
6
42
-20
22
83
-41
67
-4
1
0
0
0
0
0
0
0
-10
84
65
61
37
10
28
46
16
0
0
0
0
0
0
0
0
12
63
6
50
-18
4
8
1
2
0
0
0
0
0
0
0
0
24
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
95
14
61
39
32
3
4
-49
0
-16
6
-9
-14
-3
0
0
0
48
54
11
21
75
55
-20
-42
-62
9
8
2
55
32
-22
0
0
43
43
41
48
71
45
17
-2
-24
-11
52
-11
68
7
-2
0
0
-5
53
26
65
20
50
63
32
74
58
48
-1
-32
-51
-2
0
0
22
17
69
84
22
96
45
98
76
60
69
3
54
30
-2
0
0
6
56
41
15
30
37
84
42
79
17
41
-13
7
-8
3
0
0
0
113
40
91
15
44
67
-2
54
24
-2
13
-4
0
-1
0
0
0
58
-12
-31
11
16
12
-8
48
0
0
0
0
0
0
0
0
0
0
-1
-1
-1
0
2
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
24
-6
15
53
15
0
22
6
39
-11
4
-3
-3
0
0
-5
124
39
1
-1
17
-8
-5
27
30
5
9
-32
-22
0
0
0
14
3
-29
56
42
1
36
-39
-5
9
32
43
58
0
-2
0
0
28
89
34
17
-14
25
23
60
16
10
9
10
-3
0
-2
0
0
0
66
-6
22
54
-44
22
81
28
1
-28
-16
5
4
0
0
0
0
37
1
-9
-12
35
58
-15
-4
-6
4
3
10
-4
2
0
0
0
-35
16
50
60
27
60
16
15
0
10
-5
1
2
0
0
0
3
18
35
30
-48
28
45
83
14
-9
-27
5
12
19
0
-7
0
0
0
-16
-7
3
33
24
11
25
-43
78
20
-36
-2
-3
0
0
0
-18
40
-11
-19
32
-1
0
20
9
-18
0
-19
2
0
0
0
0
25
47
32
17
48
-3
14
-2
8
46
28
64
-30
-2
0
0
0
4
33
10
18
0
20
-24
-18
1
39
-11
22
0
0
0
0
0
-9
7
16
13
9
-10
58
36
21
44
45
-26
6
0
0
0
0
28
-27
13
8
31
30
31
-19
12
48
12
-27
0
0
0
0
0
-3
28
15
3
24
29
32
17
-31
-14
-48
-20
2
-4
0
0
0
24
5
64
-3
56
18
74
21
-9
-26
93
-29
2
0
0
0
0
4
61
1
-25
-14
39
4
61
-12
-56
-4
-1
0
0
0
0
0
-1
-9
11
-55
51
-24
9
29
-1
0
0
0
0
0
0
6
85
65
44
59
-14
0
-45
0
-20
5
17
-19
37
0
0
0
47
32
31
40
48
43
-13
-23
-34
-2
30
60
3
-3
-11
0
0
57
30
37
42
-29
81
6
-1
-11
13
20
68
-11
1
-2
0
0
8
54
33
61
37
60
37
26
53
35
31
22
23
-5
0
0
0
33
34
62
37
24
71
36
75
76
40
-48
-13
36
65
-6
0
0
63
52
61
79
18
59
82
114
81
37
102
59
6
6
0
0
0
12
6
60
32
30
1
76
32
67
-34
1
-22
-12
0
0
0
0
-2
16
-15
-19
12
11
51
46
30
-8
-6
-2
0
0
0
0
0
0
-3
0
19
10
16
22
-4
-1
-1
0
0
9
0
0
0
0
28
7
-47
-13
14
-27
24
-8
0
-32
37
54
-13
-1
0
0
0
24
19
19
-18
-29
-13
20
-24
31
25
26
-4
60
2
0
0
0
106
27
28
34
-5
-11
4
-21
20
-1
39
-59
-2
-2
0
0
0
58
-42
29
-22
35
17
-9
21
53
5
0
52
-2
0
0
0
0
74
13
7
-32
13
-15
10
63
60
19
3
2
0
0
0
0
0
-1
-4
-18
46
-45
15
82
61
-5
15
8
-42
-13
0
0
0
0
0
12
52
49
68
27
54
19
87
19
3
7
0
0
0
0
0
0
-24
-41
81
57
77
13
47
-21
-32
-25
-1
0
0
0
0
0
0
0
6
-2
-13
2
38
12
-9
-2
0
0
0
0
0
0
0
27
30
-9
22
-25
-16
-40
-7
0
-2
23
-19
1
0
0
0
0
10
-34
-60
42
4
64
18
-16
13
78
37
11
4
-1
0
0
0
-40
-22
40
43
2
-8
-18
-53
-10
1
6
7
3
0
0
0
0
-53
-6
7
-4
-2
25
6
62
36
14
64
0
0
0
0
0
0
16
-53
-5
21
48
40
3
24
-8
61
17
28
-2
2
0
0
0
-35
-57
-19
-13
-11
10
73
34
3
70
16
0
0
0
0
0
0
-1
44
24
9
78
73
80
33
12
-11
-36
15
0
0
0
0
0
-3
-13
18
2
4
32
98
45
24
-13
32
0
1
0
0
0
0
0
-3
0
1
-3
10
39
44
-33
5
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
18
-23
-52
-19
-54
-44
9
0
-8
0
0
0
0
0
0
0
-21
37
11
12
13
42
-34
-57
19
36
0
0
0
0
0
0
0
34
-58
-37
10
14
46
-2
39
8
3
0
0
0
0
0
0
0
41
11
19
-48
8
-5
0
-3
-6
0
0
0
0
0
0
0
0
48
12
16
19
-27
30
-10
9
2
0
0
0
0
0
0
0
0
-26
-28
14
-57
48
4
-8
0
0
0
0
0
0
0
0
0
0
8
-38
-27
-28
59
-7
0
0
0
0
0
0
0
0
0
0
0
-12
-59
26
16
19
4
0
0
0
0
0
0
0
0
0
0
0
4
-11
-16
7
8
0
0
0
0
0
0
0
0
0
0
0
0
-37
17
-25
-24
-13
-18
-13
1
0
-59
1
0
0
0
0
0
0
57
5
-42
-66
-68
-62
8
-28
3
9
11
0
0
0
0
0
0
30
-39
-25
-18
-10
27
43
15
66
34
2
0
0
0
0
0
0
-29
25
-26
17
-33
58
6
-1
0
9
-2
0
0
0
0
0
0
30
25
36
6
25
39
33
1
3
0
12
0
0
0
0
0
0
0
-11
80
-25
46
-72
-13
0
-4
-4
0
0
0
0
0
0
0
-11
-16
55
16
-5
-18
-3
0
0
0
0
0
0
0
0
0
0
-39
36
-21
17
-8
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-18
-49
-34
-62
-30
-39
-70
0
20
0
0
0
0
0
0
0
2
-11
-48
-51
-3
-34
-20
12
-54
-2
1
0
0
0
0
0
0
-24
3
2
-24
52
40
-48
-25
-29
1
-6
0
0
0
0
0
0
-6
43
-10
11
-32
30
3
-6
-6
0
-1
0
0
0
0
0
0
-11
92
-6
-28
18
8
1
24
0
1
3
0
0
0
0
0
0
-2
-46
-4
27
17
-20
8
-6
7
0
2
0
0
0
0
0
0
-4
-5
57
100
5
-10
-2
0
1
0
0
0
0
0
0
0
0
0
11
-2
5
1
-4
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-25
-62
-41
-52
-78
-41
-48
0
-87
6
-3
0
0
0
0
0
8
-73
-23
-2
-33
-60
-29
-113
-56
-121
1
2
-3
0
0
0
0
-56
5
-17
-58
-48
16
-19
0
71
58
-2
-6
0
0
0
0
0
26
-3
-11
20
-27
-37
-10
-34
-70
15
-2
0
0
0
0
0
0
46
36
-3
-18
-11
72
-9
15
-83
-20
0
-9
0
0
0
0
0
2
45
107
-52
-7
50
-25
-50
4
3
0
1
0
0
0
0
0
-24
9
38
40
32
7
-5
-18
-12
-6
-1
0
0
0
0
0
0
-3
-12
-15
29
0
13
0
-10
-10
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-12
-88
-52
21
-29
3
-54
-14
0
-8
-2
0
0
0
0
0
0
33
-31
-2
63
-20
-73
9
-69
-40
-31
0
0
-1
0
0
0
0
7
-73
-17
-64
-22
-63
21
-26
12
-16
0
0
0
0
0
0
0
8
-13
-32
-25
-13
16
-10
-33
51
-4
0
0
0
0
0
0
0
22
-16
1
-90
-18
-3
-37
-17
0
4
0
0
0
0
0
0
0
-32
-15
-15
-83
-7
8
-10
-1
-1
2
0
0
0
0
0
0
0
0
-23
-18
22
12
4
1
0
0
0
0
0
0
0
0
0
0
-8
25
22
13
0
0
0
3
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-31
-6
-25
-6
-37
-26
-79
0
-56
-38
-46
6
15
0
0
0
-89
8
13
-51
3
-5
-3
-70
-63
-37
11
16
-27
-29
81
0
0
-17
34
32
24
4
41
-10
-26
-4
-33
-48
-32
-40
45
9
1
0
7
38
19
64
4
-3
14
10
51
28
-19
-2
7
-12
1
0
0
34
5
55
36
-4
21
18
40
38
21
24
51
-1
13
0
0
0
90
-19
42
35
-3
9
17
78
50
91
-58
-13
-8
4
2
0
0
-7
-2
8
52
31
-2
75
44
0
65
1
22
1
0
-2
0
0
4
-71
12
51
46
27
12
41
6
1
-8
2
0
0
0
0
0
0
0
0
0
2
0
-2
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-6
-6
-23
-70
-61
-54
0
15
-26
-64
20
-22
1
4
0
0
70
-8
-39
-39
-44
2
-50
-54
-11
2
-45
2
-16
15
-2
0
0
-7
-3
-47
-25
-16
-16
0
-32
-31
-14
-5
31
14
3
3
0
0
-21
24
-17
-45
-58
-26
-4
-21
-3
-21
-11
-50
12
-1
-2
0
0
20
7
-2
-11
4
24
34
14
-22
-31
-46
15
23
4
-1
0
0
-30
20
-67
-13
-16
-49
-4
-11
2
7
-22
19
-13
1
4
0
0
0
91
-25
-41
-38
13
36
24
13
-31
-45
36
49
1
-4
0
0
-24
-2
-36
29
16
26
0
-3
14
-31
47
-1
37
-10
0
1
0
-4
3
-7
-7
-29
10
22
24
-41
45
-8
51
4
2
2
0
0
0
-18
8
-31
-29
8
-47
0
-17
-10
-15
-2
23
4
0
0
0
0
14
36
-4
-14
-17
-29
2
-9
5
-30
54
3
-19
4
0
0
0
7
-43
5
-37
-28
-36
-32
8
-8
-41
-48
-26
-23
0
0
0
0
-35
1
-44
-5
-22
-12
15
-34
0
22
-62
-22
3
0
0
0
0
-33
-41
-58
-1
-5
-13
-2
11
23
-51
-13
-7
-1
0
0
0
0
-5
-12
-38
11
4
-31
-10
-31
55
-17
14
-41
1
0
0
0
0
36
-13
-46
-2
7
-6
-15
0
-9
-82
-17
-20
-1
0
0
0
0
-4
23
-43
-2
-59
-63
-16
-10
9
36
12
-9
0
0
0
0
0
7
18
-38
19
-57
56
-15
-2
-1
1
0
0
0
0
0
59
25
29
8
12
-53
-36
-88
0
-78
-47
-56
-59
14
0
0
0
11
35
30
28
-2
-15
-10
-58
-65
-41
-8
12
-12
13
19
0
0
50
36
-19
0
15
2
-16
-22
-7
12
4
35
-23
14
-6
0
0
58
19
60
-6
-14
14
19
10
29
2
9
-4
62
45
2
-2
0
49
39
57
-19
6
38
60
29
48
4
-21
47
-16
5
-2
0
0
68
70
47
15
-38
81
-2
29
65
24
-34
34
6
-6
1
0
0
-46
41
16
45
43
13
47
-3
43
64
-12
-10
-9
-3
0
0
0
4
36
2
-54
-11
-2
20
-28
-6
53
0
0
-1
0
0
0
0
0
-6
-1
-43
8
18
-47
0
-1
-7
0
0
0
0
0
0
0
-4
-41
38
-90
-40
-12
-36
-95
0
-68
4
-20
2
0
0
0
0
69
15
2
-42
-3
26
-18
-81
-35
-62
-59
-45
-43
0
-1
0
0
10
-75
32
-59
-55
-7
-28
-2
-52
-5
-46
-12
0
-1
0
0
0
-63
11
-37
-22
-79
-29
-82
-15
21
-45
2
-22
1
0
0
0
0
13
21
61
-14
-52
-42
-41
9
0
9
-82
7
-1
0
0
0
0
32
-15
24
-14
-31
-47
7
1
-11
-24
-49
21
0
0
0
0
0
0
14
24
-5
-46
17
-18
-44
56
51
-4
-4
0
0
0
0
0
0
-18
23
8
-59
19
-12
29
12
32
19
0
0
0
0
0
0
0
-1
11
0
12
-9
27
49
10
-1
1
0
0
0
0
0
0
-25
19
-5
-13
-33
-45
-97
-67
0
-39
33
-24
0
0
0
0
0
-7
-133
-45
-63
-82
20
-60
-52
-35
-5
34
-21
0
0
0
0
0
-22
-67
-2
-64
-137
26
-100
-3
16
-28
0
-19
0
1
0
0
0
-36
-50
89
-62
15
38
-80
2
2
4
-29
-3
0
0
0
0
0
-14
-68
-22
-7
27
42
-81
-49
-29
-64
-47
-46
3
0
0
0
0
0
-44
8
60
-2
-32
-27
61
-12
-13
-7
2
1
0
0
0
0
-2
-60
-1
-5
-4
23
-38
-46
7
-32
-24
3
0
0
0
0
0
0
9
-1
37
28
51
64
14
-59
-6
7
0
-2
0
0
0
0
0
0
-3
0
7
-6
16
-61
107
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
-5
-20
4
-47
-91
-24
4
0
0
0
0
0
0
0
0
0
0
88
45
26
-4
-13
-104
62
0
0
0
0
0
0
0
0
0
0
32
69
50
8
-34
-21
4
0
-1
0
0
0
0
0
0
0
0
81
27
38
61
32
3
0
1
1
0
0
0
0
0
0
0
0
-39
57
23
34
80
-1
0
0
3
0
0
0
0
0
0
0
0
-9
13
31
-7
-9
-9
1
0
0
0
0
0
0
0
0
0
0
-1
-13
105
77
29
-1
0
0
0
0
0
0
0
0
0
0
0
1
31
-40
-7
-3
2
0
0
0
0
0
0
0
0
0
0
0
76
23
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
23
56
27
15
22
28
9
0
0
0
0
0
0
0
0
0
0
66
0
7
7
-17
34
-27
0
0
0
0
0
0
0
0
0
0
28
17
51
50
19
21
-6
3
0
0
0
0
0
0
0
0
0
92
-28
-5
21
-63
31
17
-1
0
0
-1
0
0
0
0
0
0
18
64
-31
10
-39
-44
5
-1
-1
0
0
0
0
0
0
0
0
46
-12
30
47
30
5
-6
1
0
0
0
0
0
0
0
0
0
0
124
40
-37
36
-1
0
0
0
0
0
0
0
0
0
0
0
1
56
39
29
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-15
17
0
0
0
0
0
0
0
0
0
0
0
0
23
58
52
62
20
-61
-5
0
0
0
0
0
0
0
0
0
0
30
-6
59
-33
-14
-6
8
0
0
0
1
0
0
0
0
0
0
39
23
12
71
15
-71
-7
2
-2
-3
2
0
0
0
0
0
0
20
-14
-13
73
-15
46
10
1
0
2
0
0
0
0
0
0
0
5
25
20
3
42
-36
2
0
0
0
0
0
0
0
0
0
0
-1
27
23
33
-24
1
1
0
0
0
0
0
0
0
0
0
0
21
72
1
45
37
9
0
0
0
0
0
0
0
0
0
0
0
0
7
4
91
7
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
56
82
67
32
-113
-92
0
0
0
15
1
0
0
0
0
0
-18
28
78
3
-29
-42
-76
0
0
0
40
1
0
0
0
0
0
40
59
26
40
33
-71
-45
24
25
63
2
3
6
0
0
0
0
85
59
43
23
39
4
57
15
5
20
-17
0
0
0
0
0
0
-45
74
-15
23
20
39
7
-41
5
-41
-5
1
0
0
0
0
0
26
9
-6
48
-16
23
71
33
90
-13
-10
0
0
0
0
0
0
37
67
31
42
-17
38
3
124
68
-32
0
0
0
0
0
0
0
-3
-13
161
-48
-12
-79
-4
21
40
0
-1
0
0
0
0
0
0
28
8
13
38
16
10
0
0
-3
0
0
0
0
0
0
0
0
8
10
55
-19
-33
-46
-12
0
0
0
-3
11
0
0
0
0
0
29
67
88
32
-3
-24
-45
0
0
0
25
0
0
0
0
0
0
4
37
-5
7
4
-26
-57
-87
-20
57
8
0
0
0
0
0
0
-20
5
57
39
31
42
-15
-22
-44
-10
19
-1
0
0
0
0
0
2
69
8
113
62
131
39
24
55
4
9
4
0
0
0
0
0
7
-28
81
-33
75
26
21
17
57
15
-4
-2
0
0
0
0
0
-88
48
12
-4
71
63
30
0
-37
34
-3
1
0
0
0
0
0
-7
57
50
58
-13
19
10
-37
-10
32
0
0
0
0
0
0
0
24
60
-13
15
-2
1
-7
-8
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-33
-37
45
28
-40
-35
0
0
0
-23
-39
32
-21
-11
3
0
56
77
37
24
58
-26
-55
0
0
0
-22
-33
29
-5
2
0
0
90
22
89
52
39
32
-26
-33
-31
-4
15
15
-6
77
3
1
0
90
45
19
4
58
40
19
49
17
-11
11
29
30
5
1
0
0
0
-6
60
61
64
21
39
43
35
40
78
1
-21
-7
14
-7
0
62
51
36
13
24
24
67
39
55
1
31
-12
12
7
0
0
0
-6
33
51
-4
18
47
-2
-6
68
-28
-53
0
4
-2
2
0
0
7
0
41
-47
41
-14
4
-2
-4
-46
15
-3
0
1
-16
0
0
0
1
-4
-2
-7
0
-1
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
15
22
18
-42
34
0
0
0
0
9
-63
13
-56
-9
-35
-3
0
-5
15
8
6
56
6
0
0
0
20
9
27
-57
-34
-4
1
0
3
-27
31
-6
20
5
-24
6
11
-11
-3
23
-2
-36
4
-3
0
-15
-36
15
54
-37
32
8
26
30
24
4
18
-48
-42
2
6
0
-7
-100
53
31
-32
41
15
16
9
24
9
27
18
-37
-50
0
0
2
-35
20
2
20
-17
-13
37
2
29
-10
-6
48
-38
-20
0
0
0
5
-3
10
19
16
49
12
-7
18
38
-26
14
4
-16
-3
0
-1
-11
16
28
-7
-13
52
29
7
-1
22
-23
10
-13
-69
-3
0
0
2
15
31
-32
8
-12
11
8
11
-7
45
-16
-30
-6
11
0
0
28
51
48
8
42
0
0
0
4
-27
11
-42
0
-37
1
0
0
-15
53
6
2
40
0
0
0
-3
-12
20
5
15
-4
1
0
0
-66
45
-1
16
16
-7
27
-5
14
-24
19
-27
17
-13
0
0
0
52
-8
-2
1
-5
-3
24
12
6
-3
3
14
5
-21
0
0
0
3
-10
21
-3
10
34
35
36
4
6
-3
-30
-48
17
0
0
0
87
-14
-7
-15
19
24
14
-4
33
-30
-55
-19
0
-1
1
0
0
-44
0
-28
-7
28
38
2
7
36
5
-6
-62
-5
-28
2
0
0
-1
38
-30
-21
-29
20
11
-10
22
18
6
-19
2
51
1
0
0
10
16
-37
40
45
-50
-6
-15
-2
0
0
4
0
0
0
-11
77
2
32
71
-50
-4
0
0
0
-25
2
17
-8
0
0
0
39
50
40
3
41
12
-36
0
0
0
-24
-11
-34
44
-11
-1
0
37
82
60
-29
17
82
-10
-17
-29
-48
27
-14
23
9
2
0
0
70
66
64
-18
19
17
21
55
39
15
9
31
-82
-25
-6
0
0
32
93
-10
28
-17
60
9
29
74
33
75
3
-1
-39
8
-2
0
-30
73
80
18
46
28
19
45
14
59
43
-14
-3
6
8
0
0
-42
56
11
-49
0
-53
10
52
-20
21
-9
-16
2
0
-2
-1
-1
88
17
6
10
-9
-14
15
58
66
-25
6
-3
-1
1
19
0
0
0
-8
2
-23
62
2
6
5
-2
-1
3
-2
0
0
0
0
0
-9
99
20
19
46
-26
-8
0
0
0
22
28
0
0
0
0
0
72
57
34
-31
-7
-37
18
0
0
0
28
-69
-2
0
0
0
0
90
78
29
15
-28
-22
-23
22
-24
15
-80
24
-2
0
0
0
0
11
47
29
-18
-5
-2
-68
4
24
-35
14
-37
-1
0
0
0
0
3
6
-27
8
-50
-30
22
42
43
-33
-3
0
11
-1
0
0
0
24
16
11
32
39
-5
4
-2
-44
-38
-23
25
-2
0
0
0
0
14
-11
2
22
18
-6
7
9
41
-54
22
0
0
0
0
0
0
-18
41
24
8
30
0
106
93
39
4
-5
0
0
0
0
0
0
1
-1
-1
-4
49
0
44
37
8
3
0
0
0
0
0
0
0
10
60
-36
-34
44
-22
-4
0
0
0
51
-9
-3
0
2
0
0
-16
-6
-69
21
29
-25
-7
0
0
0
37
0
-94
-10
0
0
0
77
-37
20
46
28
-4
-44
25
24
45
26
-17
27
8
-1
0
0
-16
-10
-9
22
5
6
-17
19
48
80
13
107
-14
4
0
-3
0
72
-38
-16
16
68
16
2
19
-38
34
33
-1
5
-3
-2
0
0
-15
-28
-41
71
20
33
45
22
-10
10
23
26
2
1
0
0
0
-37
-36
8
0
16
75
45
28
-7
68
5
-3
3
-8
0
2
0
1
31
-4
30
35
85
75
-8
34
-8
-21
4
1
1
0
0
0
11
-15
0
1
4
8
15
-12
60
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-72
-19
-5
-34
-8
-2
0
0
0
0
0
0
0
0
0
0
-19
-62
51
-63
-10
-26
-37
0
0
0
0
0
0
0
0
0
0
-1
-1
-23
-22
66
9
1
0
0
0
0
0
0
0
0
0
0
-18
-43
-3
-49
-17
-13
-1
0
1
0
0
0
0
0
0
0
0
3
-17
-7
-9
-3
7
1
0
0
0
0
0
0
0
0
0
0
20
71
-12
4
9
5
0
0
0
0
0
0
0
0
0
0
0
26
-13
59
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
1
-53
-78
12
-6
1
0
0
0
0
0
0
0
0
0
0
0
-44
0
22
-6
1
0
0
1
0
0
0
0
0
0
0
0
0
43
24
15
-71
-15
-9
0
0
0
0
0
0
0
0
0
0
0
-46
-36
2
-22
-8
7
-16
0
0
0
0
0
0
0
0
0
0
40
-10
-14
7
-7
-26
14
0
-1
0
0
0
0
0
0
0
0
-2
34
6
-1
64
2
-13
0
-2
-1
0
0
0
0
0
0
0
28
-1
-76
-11
11
-40
-3
0
-4
0
0
0
0
0
0
0
0
35
-34
-113
2
-11
-26
3
0
0
0
0
0
0
0
0
0
0
1
11
30
-80
-40
-9
0
1
0
0
0
0
0
0
0
0
0
-3
-40
23
-44
-18
0
7
0
0
0
0
0
0
0
0
0
0
-3
4
55
-10
-9
0
0
0
0
0
0
0
0
0
0
0
0
-11
17
-34
36
-58
-136
-2
0
0
0
0
0
0
0
0
0
0
30
5
-68
-48
-7
-44
-9
0
0
0
0
0
0
0
0
0
0
-40
36
45
-36
2
-110
-6
0
1
0
4
0
0
0
0
0
0
-1
33
-15
-12
-27
36
5
0
-1
0
0
0
0
0
0
0
0
-10
43
80
-59
-54
6
0
0
0
0
0
0
0
0
0
0
0
-7
-11
-15
-25
55
2
0
0
0
0
0
0
0
0
0
0
0
-2
47
-19
39
-12
3
0
0
0
0
0
0
0
0
0
0
0
-12
-2
-30
-44
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
45
2
-114
45
-30
0
0
0
2
-2
0
0
0
0
0
2
28
55
-6
-86
-41
-71
0
0
0
-1
0
0
0
0
0
0
9
-18
3
-31
-32
-46
-93
-109
-85
-2
0
0
0
0
0
0
0
17
8
6
-19
-70
-40
-17
3
1
-1
0
0
0
0
0
0
0
-22
-26
83
-41
-40
2
2
-9
3
-2
7
0
0
0
0
0
0
2
-22
-23
-34
2
48
-7
7
0
-1
0
0
0
0
0
0
0
-2
-22
63
-38
3
7
-4
8
-1
-2
0
0
0
0
0
0
0
0
-13
-37
-3
-6
4
1
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
-15
13
-37
-72
-29
-41
-28
0
0
0
0
0
0
0
0
0
0
-45
-54
-22
-39
-9
-63
-19
0
0
0
3
0
0
0
0
0
0
-13
-62
5
-46
19
-51
15
-8
-3
-12
0
0
0
0
0
0
0
21
-38
1
26
-15
-24
-21
-44
5
-25
0
0
0
0
0
0
0
-51
-6
42
66
-33
12
58
14
-32
3
0
0
0
0
0
0
0
-36
26
48
20
-43
25
-1
-48
-2
-4
0
0
0
0
0
0
0
3
12
-20
-8
-5
6
1
0
0
0
0
0
0
0
0
0
0
1
42
-41
-10
2
-1
0
0
-3
2
0
0
0
0
0
0
0
-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
-71
24
-125
-54
-76
-100
-121
0
0
0
-45
-60
-1
-9
-2
-1
0
25
-33
5
-43
-36
-69
-110
0
0
0
-77
-45
-17
18
-15
-6
0
63
-31
88
-30
-12
-82
-89
-112
-64
-49
-86
-31
-37
-7
2
0
0
28
82
-7
48
8
34
-3
-44
-49
-58
8
1
-4
-5
-2
0
0
-9
-67
-79
-17
59
-43
1
2
-1
-8
18
24
2
0
0
3
0
-95
-13
-41
-37
12
13
33
-7
-53
63
-15
51
-7
1
0
-3
0
-1
6
8
-27
0
-22
-20
13
8
-22
37
-3
0
-1
0
0
0
-24
45
-9
13
-52
-3
-24
-21
-20
-6
-2
0
-8
0
0
0
0
-2
0
1
19
4
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
-20
17
-13
-83
-73
65
0
0
0
30
4
13
19
-12
-64
12
0
18
-43
-27
-63
-18
-84
0
0
0
-24
-13
-17
-57
0
-13
-12
0
-23
3
-40
-56
-61
-43
-23
-75
-43
1
-48
-36
-48
-50
48
2
0
-35
-37
-21
25
-66
6
-44
-8
-20
2
-5
-14
-1
-20
4
-1
0
-25
-21
-43
22
-38
-30
-44
5
-26
8
-22
-12
-32
5
10
1
0
-2
-28
-19
-44
19
-7
-23
-27
-40
-25
-16
19
-23
10
-6
-9
0
0
-65
-69
15
1
-4
-8
8
-7
14
-34
45
22
-7
-19
9
0
0
-21
-22
-15
-50
58
8
18
8
-3
24
-18
12
33
35
16
0
0
-13
-34
13
16
52
31
30
18
13
0
-13
-50
-45
5
-11
0
0
-17
-35
-40
-56
-43
0
0
0
13
-35
-40
-34
11
-7
0
0
0
-21
-38
15
-47
-60
0
0
0
11
-44
-48
-55
0
44
-6
0
0
-12
-9
-14
-54
-53
-29
9
-3
4
-3
-52
27
-39
6
1
0
0
-54
-6
-12
-38
-28
-25
-5
-42
-38
9
17
10
2
-5
0
0
0
51
-53
-22
-6
-11
7
37
-51
-9
19
-26
9
4
3
1
0
0
-1
-56
20
-23
-34
-11
-15
34
-4
32
15
-20
53
-49
-2
0
0
2
-19
-22
-16
-7
35
-24
9
-27
9
3
-75
18
7
-4
0
0
-10
1
20
-38
-3
-17
-1
16
-1
-3
54
-33
12
-6
0
0
0
3
-63
18
7
-26
12
8
-4
1
-1
0
-1
0
0
0
-17
-5
-39
-55
11
-40
-90
0
0
0
-35
-18
-11
21
0
0
0
48
-16
-31
-34
-2
1
-119
0
0
0
-70
-69
-36
0
30
-4
0
-3
-7
-36
-43
-8
-21
-84
-80
-39
-76
-37
-47
-25
-37
-8
0
0
-3
-34
-58
12
-35
15
-15
1
-68
-38
-1
-86
-53
7
-21
0
0
-52
34
-32
-13
-83
42
14
1
11
-4
-89
5
-7
-13
-13
0
0
-18
26
-26
-25
-7
-21
23
-6
30
7
17
18
0
0
0
0
0
17
5
-45
10
-4
-8
49
23
46
-32
8
-50
-18
0
0
-2
0
-8
-64
-38
11
-89
-3
-11
-32
-3
13
4
-4
-1
-6
1
0
0
0
-1
-8
27
-7
0
-2
0
0
2
0
0
0
0
0
0
0
67
-10
-25
35
-24
-46
-87
0
0
0
6
-36
-1
0
0
0
0
-55
-46
-30
-43
-50
-31
-122
0
0
0
-7
-13
3
-1
0
0
0
75
-40
82
-28
-1
-67
-86
-61
-47
0
-40
6
-5
-1
-1
0
0
-6
10
-48
-36
-53
-1
-33
-38
0
-31
-55
6
0
0
0
0
0
-6
-11
9
6
-8
-52
-18
-74
-8
-65
-12
-13
0
0
0
0
0
-17
11
-4
-89
29
55
-65
17
18
43
-25
2
0
0
0
0
0
-2
0
2
40
6
26
43
-48
-14
7
0
1
0
0
0
0
0
0
8
23
10
5
-2
-76
-21
-1
12
-2
-2
0
0
0
0
0
0
0
0
-1
8
0
3
-2
2
-10
0
0
0
0
0
0
0
-4
22
-13
2
-14
-84
-40
0
0
0
46
-45
2
3
0
0
0
9
-10
-64
-84
-65
-42
-65
0
0
0
3
-41
6
1
0
0
0
4
-143
-5
-40
-64
-4
-117
-124
-73
-17
-104
3
-30
2
3
0
0
4
-70
-17
-69
-53
-95
-72
-17
-56
-20
18
11
3
-3
0
0
0
2
38
26
-5
-2
3
-40
14
-47
-11
11
-42
8
0
0
0
0
4
-17
-8
-48
-80
30
17
-63
35
13
-119
-1
-7
0
0
0
0
0
-10
1
11
2
23
55
-6
-33
-4
37
11
0
0
0
0
0
0
-3
4
20
51
42
-1
31
0
-4
13
0
1
0
0
0
0
0
0
0
0
-1
0
-1
4
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
8
0
0
0
0
0
0
0
0
0
0
0
2
4
-15
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
1
-26
-16
-9
17
10
0
0
0
0
0
0
0
0
0
0
0
1
6
-16
3
-3
-13
0
0
0
0
0
0
0
0
0
0
0
0
1
1
13
8
10
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
4
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
2
6
0
-2
0
0
24
0
0
0
0
0
0
0
0
0
0
1
1
-2
-49
22
-25
-27
0
0
0
0
0
0
0
0
0
0
0
-1
29
-5
6
9
-15
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-9
-20
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
4
18
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-9
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
27
-6
1
-1
0
0
0
0
0
0
0
0
0
0
6
-1
-7
-35
10
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
8
1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
1
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
4
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
7
-19
22
37
2
0
0
0
0
0
1
1
-1
0
0
0
38
73
-9
-2
-19
-1
0
0
0
0
0
0
4
1
28
24
45
-17
27
-2
17
-15
3
0
0
0
0
0
0
-1
7
12
7
1
-7
-22
-7
19
-7
4
0
0
0
0
0
0
3
0
-8
-18
-8
-7
35
-18
-2
0
0
0
0
0
0
0
0
0
-2
7
-13
-9
6
0
4
6
0
0
0
0
0
0
0
0
0
0
2
-3
1
2
-2
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
1
0
0
0
0
0
0
0
1
-4
-2
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
12
8
0
0
0
37
-4
0
-2
0
-1
0
0
0
0
0
0
0
-7
-19
-16
-8
28
12
7
0
3
1
0
0
0
0
0
0
1
10
28
4
0
-3
-1
2
0
2
2
0
0
0
0
0
0
0
3
10
6
13
3
15
1
-1
0
0
0
0
0
0
0
0
0
0
-2
-2
6
0
4
-1
1
0
0
0
0
0
0
0
0
0
-1
0
3
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
20
0
0
0
20
-17
43
39
-11
15
22
0
0
0
0
-4
10
21
-6
0
0
-9
46
14
39
2
13
-6
0
0
0
1
-2
10
10
0
-17
75
15
-12
86
68
27
80
-22
0
0
0
0
1
0
0
-15
34
-17
29
33
33
25
40
96
63
0
0
0
1
0
3
-16
-11
-9
40
22
1
56
26
-2
-29
-18
0
0
0
0
0
0
-7
-6
-16
-19
-9
0
-7
31
29
-36
7
0
0
0
0
0
0
0
0
1
0
-27
90
-23
-1
-49
-13
2
0
0
0
0
0
0
0
-4
-3
2
-3
-29
-37
-20
-29
7
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
-7
-9
0
0
8
30
-54
2
6
-138
-66
0
0
0
0
0
0
0
-6
11
-6
17
-15
30
-2
13
6
-3
0
0
0
0
0
-1
0
17
31
-14
-12
7
48
56
23
163
63
0
0
0
0
0
0
8
12
17
1
-2
-15
-29
12
81
-64
-13
0
0
0
0
0
0
-2
-9
-12
-24
2
27
29
-27
62
-11
-35
0
0
0
0
0
0
0
-1
-8
18
11
-22
9
-40
-11
-42
17
0
0
0
0
0
0
-2
1
-8
2
4
66
15
51
-5
74
-18
0
0
0
0
0
0
0
1
1
-11
21
-7
4
-12
1
16
14
0
0
0
0
0
0
0
0
-3
-3
1
26
-7
-19
4
-18
2
0
0
0
0
0
0
-8
-2
0
-37
70
49
31
18
16
-4
-5
0
0
0
0
0
0
-1
-9
56
18
0
14
6
-20
-9
38
-10
0
0
0
0
1
0
-33
-9
7
-9
-28
-2
-23
24
-31
-4
54
0
0
0
0
0
1
-5
1
3
34
21
23
36
12
9
-43
11
0
0
0
0
0
0
4
4
8
-5
52
-72
-18
4
8
67
51
0
0
0
0
1
0
-7
15
-30
34
-25
22
-23
-42
38
-11
-51
0
0
0
0
0
0
0
-10
11
14
-3
20
30
9
12
31
-20
0
0
0
0
0
0
1
0
2
28
-3
-9
12
44
8
-5
-21
0
0
0
0
0
0
0
0
0
0
1
0
6
15
5
0
0
0
0
0
-3
-1
10
14
48
0
0
17
59
-38
-9
-31
93
7
0
0
0
1
2
25
3
0
22
0
51
35
21
46
72
-52
6
0
0
0
2
-17
-11
11
-20
-24
31
47
-17
72
24
8
11
54
0
0
0
0
0
9
-34
-36
36
-10
-18
-65
33
21
-13
15
33
0
0
0
0
0
8
5
8
4
-3
-14
29
15
-31
100
19
0
0
0
0
0
0
-3
1
6
27
-64
31
3
-68
75
-3
-16
45
0
0
0
0
0
1
-2
-30
-2
38
-18
4
-34
38
-44
17
8
0
0
0
0
0
1
3
-8
18
-3
4
-2
-32
21
6
1
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
-12
3
0
0
0
0
0
0
0
4
7
-3
0
-5
68
25
-42
-7
1
30
12
0
0
0
0
0
0
-3
0
-6
0
32
-7
25
-17
-77
-7
-3
0
0
0
0
0
4
-5
19
-8
5
22
37
-18
12
-20
-2
-3
0
0
0
0
3
0
-10
-18
-14
12
55
-16
15
15
-4
28
-11
0
0
0
0
1
0
-1
-1
19
-11
-9
31
-4
77
21
24
12
0
0
0
0
0
0
0
-1
1
0
29
23
5
39
-14
3
-1
0
0
0
0
0
0
0
0
0
5
12
0
-9
18
-17
-6
0
0
0
0
0
0
0
0
0
-1
-1
0
-8
29
-1
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
7
0
0
0
55
-12
30
27
12
13
12
0
0
0
0
0
0
3
48
0
3
6
19
3
-31
3
2
37
0
0
0
0
0
0
1
36
-21
-9
10
42
8
15
-23
8
25
0
0
0
0
0
0
-1
29
-3
18
8
11
-1
-36
27
6
2
0
0
0
0
0
0
0
1
-6
2
-3
9
28
-14
-2
-19
-6
0
0
0
0
0
0
0
0
-16
3
-7
28
-14
22
-12
47
0
0
0
0
0
0
0
0
0
3
0
-1
2
3
13
-30
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
-12
8
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
19
-11
-19
-11
18
0
0
0
0
0
0
0
0
0
0
0
-2
-7
2
22
26
1
1
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-39
-3
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
-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
-6
-4
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
-7
9
18
0
0
-38
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-10
46
44
-7
0
0
0
0
0
0
0
0
0
0
0
0
-19
29
23
-6
28
0
0
0
0
0
0
0
0
0
0
0
-1
-2
10
-14
49
-8
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-2
28
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-10
-11
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
-1
16
14
0
0
16
6
0
0
0
0
0
0
0
0
0
0
0
2
-27
-4
-27
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-21
15
-3
3
0
0
0
0
0
0
0
0
0
0
0
3
9
-17
-3
-21
6
0
0
0
0
0
0
0
0
0
0
-1
1
4
1
0
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
12
-15
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
8
0
0
0
7
1
-8
-3
-13
0
0
0
0
0
0
-1
0
4
0
0
0
-46
-5
6
3
10
-4
0
0
0
0
0
0
4
4
-34
-56
-25
0
9
-49
-16
28
-1
0
0
0
0
0
0
-2
-3
-7
27
5
28
-4
-27
3
-1
-10
0
0
0
0
0
0
0
1
11
16
22
19
0
-1
0
-1
-2
0
0
0
0
0
0
0
0
7
-9
0
-11
25
-8
-3
0
0
0
0
0
0
0
0
0
0
-6
0
0
-1
-25
-1
0
0
0
0
0
0
0
0
0
0
0
2
-2
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
33
1
0
0
0
0
0
0
0
0
0
0
0
1
6
1
3
-10
0
0
3
0
0
0
0
0
0
0
0
0
0
4
25
12
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
8
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
1
0
4
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
-2
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
2
-7
-11
-59
-65
39
8
0
0
0
0
-3
-9
4
21
0
0
-6
24
50
-60
-80
-69
-9
0
0
0
0
-1
-4
-5
26
20
-30
14
-9
-42
6
-9
-62
-99
0
0
0
0
0
0
6
9
-18
-55
-43
24
37
34
-27
23
-49
0
0
0
0
0
10
11
23
-2
43
-9
45
1
24
-24
-48
13
0
0
0
0
1
-7
-8
4
-16
18
35
15
0
-6
-99
-36
-9
0
0
0
0
0
0
-3
-3
-4
18
37
34
-39
-10
71
-83
1
0
0
0
0
0
0
6
3
-3
-3
6
16
-18
11
-12
4
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-11
0
0
30
4
-42
-20
-34
47
-8
0
0
0
0
0
0
0
0
-21
-22
-59
-45
-52
-61
153
-5
-39
0
0
0
0
0
0
1
2
1
-4
21
-29
13
7
-6
-37
-29
0
0
0
0
0
-4
-1
3
17
-9
-12
-30
3
52
-76
45
0
0
0
0
0
0
0
0
-1
3
-30
-11
-12
30
10
20
48
28
0
0
0
0
0
0
-1
0
7
6
-19
-29
14
68
-8
-6
-9
0
0
0
0
0
0
0
-1
3
15
-16
-7
2
-15
-50
-25
-38
0
0
0
0
0
0
0
-1
0
13
-8
4
28
-49
-3
-16
-27
0
0
0
0
0
0
0
0
1
-6
-2
-1
-19
17
-29
-20
30
0
0
0
0
0
0
2
10
0
32
-30
-19
-7
-35
-14
-23
23
0
0
0
0
0
1
-1
17
-53
-9
0
-24
29
-33
-5
-50
12
0
0
0
0
0
0
-1
3
-50
-78
0
-25
20
18
7
-34
-32
0
0
0
0
0
0
11
-19
24
2
-39
81
-36
0
17
-48
-5
0
0
0
0
0
0
6
-13
-11
-9
0
1
-41
41
6
35
-71
0
0
0
0
-1
0
-9
-8
13
-7
-7
-16
21
55
21
-69
-78
0
0
0
0
1
0
2
0
17
7
-31
-23
9
-28
-1
-4
-53
0
0
0
0
0
0
1
0
-4
-4
-41
-17
11
0
30
-3
22
0
0
0
0
0
0
0
0
0
0
-1
-4
-30
3
-2
0
0
0
0
0
2
0
-12
-5
-21
0
0
-76
8
-56
-27
-42
-16
-40
0
0
0
0
3
-32
-4
0
-3
0
-132
-9
-1
-35
-5
13
-10
0
0
-1
0
4
-25
20
91
-9
-6
-106
13
-53
-79
-37
20
0
0
0
0
0
0
6
3
4
-33
-46
17
-15
-16
38
28
-27
-11
0
0
0
0
0
-1
2
6
41
25
48
42
30
29
-157
-42
20
0
0
0
0
0
0
7
3
7
7
12
32
-4
5
56
14
-27
0
0
0
0
0
0
10
-11
-16
-7
15
49
55
40
-1
-3
-2
0
0
0
0
0
0
-1
-3
-10
-1
8
29
-26
30
0
-4
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
2
-3
0
0
0
0
0
0
0
-1
3
-33
0
15
-7
-34
27
3
-41
-43
-3
0
0
0
0
0
-6
16
0
-6
0
1
19
-1
-37
-23
-8
19
0
0
0
1
0
-2
-3
10
24
24
-7
-4
-23
-15
25
-27
10
0
0
0
0
0
-1
-2
-10
-2
-28
-3
-1
-37
-78
-51
-10
-6
0
0
0
0
0
0
-2
8
-6
9
32
-21
-6
-35
-12
-5
-20
0
0
0
0
0
0
0
-2
1
-2
3
25
5
30
-7
-2
3
0
0
0
0
0
0
0
0
0
-3
3
7
32
-38
22
-2
0
0
0
0
0
0
0
0
-1
0
0
-1
15
10
-25
-11
-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
7
-2
1
-18
-18
-6
0
0
0
0
0
0
0
-1
-30
0
14
4
-27
-3
44
-16
-14
-13
0
0
0
0
0
0
0
14
9
-16
-1
23
-4
-18
-1
-45
9
0
0
0
0
0
0
4
4
0
25
3
5
-12
22
-21
-20
1
0
0
0
0
0
0
0
-2
-3
-10
12
8
-7
23
22
-2
0
0
0
0
0
0
0
0
-1
-7
7
4
-9
24
-21
-32
-24
1
0
0
0
0
0
0
0
0
0
-2
-1
-3
6
-24
-9
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
1
-12
25
0
0
13
0
0
0
0
0
0
0
0
0
0
1
-2
16
-19
3
15
8
1
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-8
18
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-13
0
0
0
18
0
0
0
0
0
0
0
0
0
0
-8
12
8
30
0
0
33
0
0
0
0
0
0
0
0
0
0
0
-3
-28
-1
4
-37
14
0
0
0
0
0
0
0
0
0
0
0
2
-24
17
1
37
4
0
0
0
0
0
0
0
0
0
0
0
-2
4
10
24
15
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-13
1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
1
2
7
-10
-6
0
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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
38
7
0
0
0
0
0
0
0
0
1
0
2
0
3
0
0
9
15
0
0
0
0
0
0
0
0
0
0
0
-1
0
21
-39
14
24
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
10
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
2
4
25
-21
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
-9
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
28
4
6
-8
0
1
0
0
0
0
1
4
21
-1
0
0
0
24
1
3
-11
3
1
0
0
0
0
0
0
3
4
-8
17
-5
92
8
-10
-11
-3
0
0
0
0
0
0
0
4
3
16
-22
14
13
28
8
-4
4
0
0
0
0
0
0
0
0
0
-3
-13
-3
36
-3
1
-16
2
0
0
0
0
0
0
0
-1
0
9
10
-8
-1
-1
-9
0
-2
0
0
0
0
0
0
0
0
0
1
13
0
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
-1
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
53
-7
-1
0
0
0
0
0
0
0
0
10
13
1
0
0
0
11
-3
0
3
0
1
0
0
0
0
-1
-3
13
43
38
83
-3
41
10
-11
-3
1
0
-1
0
0
0
0
0
8
9
11
-17
-34
-5
36
6
-1
0
1
0
0
0
0
0
0
0
0
-12
22
7
-13
4
6
-10
0
0
0
0
0
0
0
0
0
-7
-4
8
32
0
0
-7
0
-3
0
0
0
0
0
0
-1
0
0
0
10
28
-2
-6
-1
2
1
0
0
0
0
0
0
0
1
3
4
7
1
1
0
0
0
2
0
0
0
0
0
0
0
0
1
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
-10
0
0
0
4
-4
43
53
45
76
26
0
0
0
1
-1
8
24
-3
0
0
63
-18
15
48
42
91
12
0
0
-2
0
-1
0
0
-40
-100
-15
18
7
71
31
3
48
21
0
0
0
0
0
2
-4
-10
-20
-1
27
-50
61
-19
70
-4
-60
0
0
0
0
0
-3
-2
-22
-22
42
-43
-3
19
20
33
29
9
0
0
0
0
0
0
4
1
13
-2
17
-6
-11
35
-2
22
9
0
0
0
0
0
0
0
-1
11
-9
-18
4
-28
36
4
7
-6
0
0
0
1
0
0
-1
0
-2
2
7
3
-19
15
1
0
-2
0
0
0
0
0
-2
0
0
-1
1
2
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-66
-49
-70
19
-33
-28
-61
0
0
0
0
0
0
-2
-13
3
14
-1
-49
-12
29
24
31
-3
0
0
0
0
0
0
0
5
-4
-3
29
-14
37
-13
9
-14
7
0
0
0
0
0
0
-2
0
5
-5
-1
27
-3
-1
11
12
-3
0
0
0
0
0
0
0
8
-6
-1
-15
18
-27
43
5
28
88
0
0
0
0
0
0
0
8
0
-6
-2
-1
-45
27
-29
-20
109
0
0
0
0
0
0
0
1
-8
-8
-6
-8
-22
-3
35
36
8
0
0
0
0
0
0
0
0
3
2
10
35
44
34
30
23
32
0
0
0
0
0
0
0
0
-3
-4
27
-31
9
19
13
-8
9
0
0
0
0
0
0
10
20
0
-15
-11
42
-27
5
54
-45
-8
0
0
0
0
0
0
2
-7
13
-2
0
20
-42
-4
-26
10
26
0
0
0
0
0
0
7
6
-35
-12
25
41
6
-2
-19
-21
51
0
0
0
0
0
0
-4
14
28
18
-56
62
-45
42
-9
24
21
0
0
0
0
0
-1
0
2
-18
-28
-12
-3
-81
-1
63
29
-5
0
0
0
0
0
0
0
2
-2
-1
36
23
1
26
47
88
13
0
0
0
0
0
0
0
0
-7
0
1
-45
63
14
23
6
24
0
0
0
0
0
0
0
0
-1
-15
3
-13
8
-17
0
30
-1
0
0
0
0
0
0
0
0
0
-1
-1
0
7
10
2
0
0
0
0
0
0
-1
0
44
24
0
0
21
68
31
41
-18
39
25
0
0
0
0
-6
-10
-68
0
-31
0
-2
-18
39
50
68
13
22
0
0
0
0
1
-9
-5
-35
-64
35
3
-10
12
79
-2
11
8
0
0
0
0
0
0
4
-6
-17
-57
-44
-30
20
-17
131
-14
-41
0
0
0
0
1
3
-4
2
23
2
45
37
30
69
33
10
-3
0
0
0
0
0
0
-6
42
-7
50
11
49
-38
7
37
14
-7
0
0
0
0
0
0
0
0
2
-29
1
-57
-10
-9
14
-6
-2
0
0
0
0
0
0
0
-1
-10
-11
-9
0
-9
-6
-2
4
1
0
0
0
0
0
0
0
0
2
1
15
1
1
0
1
0
0
0
0
0
0
0
0
1
4
0
-5
-20
10
23
-9
14
21
-11
0
0
0
0
0
-1
-2
0
4
0
20
43
14
-1
1
45
-9
0
0
0
1
3
1
-12
-1
8
-29
25
38
-61
13
24
24
-12
0
0
0
0
0
0
-6
15
26
-5
-19
-12
56
18
4
-12
0
0
0
0
0
0
0
-1
-2
11
18
-1
-25
29
37
-13
35
-5
0
0
0
0
0
0
0
0
0
8
13
-7
-6
2
27
2
3
0
0
0
0
0
0
-1
0
0
1
2
4
9
-10
4
9
0
0
0
0
0
0
0
0
0
-3
-2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
-31
-2
21
-1
51
25
1
0
0
0
0
0
0
28
-10
0
-7
39
12
-2
3
8
68
39
0
0
0
0
0
0
0
6
18
-1
-3
10
-8
9
26
47
3
0
0
0
0
0
0
1
18
4
22
-6
18
52
26
-4
73
-19
0
0
0
0
0
0
0
4
-30
7
13
-14
3
23
-37
44
3
0
0
0
0
0
0
0
0
0
8
10
8
11
-25
0
6
4
0
0
0
0
0
0
0
0
6
-2
18
6
9
-1
7
-4
2
0
0
0
0
0
0
0
0
3
1
1
0
1
-2
9
1
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
0
0
9
0
0
0
0
0
0
0
0
0
0
0
-7
-10
-2
102
-40
-1
0
0
0
0
0
0
0
0
0
0
0
0
12
-28
-8
-14
10
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-10
13
2
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
17
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
6
0
0
0
19
0
0
0
0
0
0
0
0
0
0
11
11
-6
-56
0
0
-9
-1
0
0
0
0
0
0
0
0
0
0
7
-4
0
-15
-2
-1
0
0
0
0
0
0
0
0
0
0
-3
0
-3
8
12
-20
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
-19
24
8
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-16
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
1
0
0
0
0
0
0
0
0
1
0
-1
3
2
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
-1
-1
37
-34
-13
-15
-11
0
0
0
0
0
0
0
0
0
0
0
2
-7
-13
10
-12
-9
0
0
0
0
0
0
0
0
0
0
1
0
-20
34
3
-6
-3
0
0
0
0
0
0
0
0
0
0
0
-1
0
-11
-19
-1
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
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
2
4
1
0
0
0
0
0
0
0
0
-1
-4
0
0
0
-34
15
-6
1
-3
0
0
0
0
0
0
0
-1
-1
29
-16
-7
-10
-6
0
1
-1
0
0
0
0
0
0
0
-2
0
1
-5
10
10
22
-2
-3
-2
0
0
0
0
0
0
0
0
1
1
-4
19
0
-1
0
-9
0
0
0
0
0
0
0
0
0
1
6
9
-3
6
-1
-2
0
0
0
0
0
0
0
0
0
0
0
-1
6
1
2
1
1
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
-6
-20
-95
-8
13
0
-1
-1
0
0
0
0
0
0
0
0
0
1
3
-2
-5
27
3
-2
3
0
-1
0
0
0
0
0
0
0
3
0
-3
-1
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
-3
-1
0
-8
0
0
1
1
-1
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
-11
0
0
0
0
0
0
0
0
1
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
-52
-51
-5
-30
-12
13
-3
0
0
0
0
1
10
-11
-1
0
0
-31
-8
19
25
21
-72
4
0
0
1
0
-3
3
0
-19
-19
-34
22
7
27
-48
14
7
22
0
0
0
0
0
1
15
0
-36
10
-21
-6
-2
-51
-97
34
2
0
0
0
0
0
-1
3
6
2
2
-6
44
1
26
0
-103
23
0
0
0
0
0
0
1
-7
-3
20
11
-17
1
1
0
32
-2
0
0
0
0
0
0
0
-17
1
-4
1
-27
-4
0
-18
-25
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
2
3
0
-6
0
0
0
0
0
1
0
0
-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
9
10
76
80
-11
77
-10
0
0
0
0
0
0
0
4
25
-2
22
-23
-20
-2
-13
-53
-18
0
0
0
0
0
0
-1
-3
4
-19
23
39
-13
11
-2
-71
14
0
0
0
0
0
0
-1
-4
-1
23
-8
-26
33
8
-5
-24
1
0
0
0
0
0
-2
0
1
1
0
-29
-41
5
3
4
-33
-8
0
0
0
0
0
0
0
-10
4
3
6
-19
15
2
-60
-34
-44
0
0
0
0
0
0
0
-2
-4
3
-1
24
22
-14
-42
-95
16
0
0
0
0
0
0
0
-1
-4
-6
21
7
-41
9
-74
-14
27
0
0
0
0
0
0
0
2
-1
6
-2
30
-9
-1
22
-36
-20
0
0
0
0
0
0
1
17
0
-19
24
-1
-4
20
-43
-23
28
0
0
0
1
0
0
-7
-2
-22
20
0
-32
-57
-24
-62
38
14
0
0
0
0
0
0
-4
5
14
7
-42
5
-46
-11
3
-23
-55
0
0
0
0
1
1
2
-7
-23
-14
21
61
18
14
-56
1
27
0
0
0
0
0
0
0
-2
12
-7
18
60
18
10
-16
-46
14
0
0
0
0
0
0
1
0
-24
-13
-20
-12
-25
15
-74
-77
2
0
0
0
0
0
-1
0
0
-4
12
5
-33
1
-6
32
15
27
0
0
0
0
-1
0
0
0
6
11
2
-2
-25
-12
-4
9
-99
0
0
0
0
0
0
0
0
0
0
0
0
-10
-1
2
0
0
0
0
0
0
0
1
0
-67
0
0
20
-41
-30
3
-11
20
-27
0
0
0
0
-1
-19
-12
0
-23
0
24
58
-69
-89
-10
-10
-34
0
0
0
1
0
-2
7
-16
-34
-118
-57
15
-6
-68
-12
35
-19
0
0
0
0
0
0
-12
8
0
-10
-16
-11
31
-11
-27
22
-4
0
0
0
0
0
-2
10
-8
-57
-3
14
-5
-53
25
2
0
-16
0
0
0
0
0
0
0
-9
-35
-22
16
-10
62
54
-18
6
-6
0
0
0
0
0
0
0
0
2
27
22
-8
-2
-1
-20
1
-1
0
0
0
0
0
0
0
3
1
6
-1
13
9
-2
10
15
0
0
0
0
0
0
0
0
0
0
-1
0
-2
1
0
1
0
0
0
0
0
0
0
0
-1
0
0
-20
4
3
17
-9
11
-8
0
0
0
0
0
0
1
-8
0
-2
0
-22
-9
-41
-27
2
-2
-1
0
0
0
0
0
-1
-2
-6
-1
-9
8
-32
0
5
-12
-8
9
0
0
0
0
1
0
-1
4
3
9
0
-41
-23
48
-8
1
11
0
0
0
0
0
0
-1
-1
-9
-4
11
-34
34
-16
15
4
-13
0
0
0
0
0
0
0
0
-2
1
6
3
9
17
-8
26
1
0
0
0
0
0
0
0
0
-1
0
3
-7
-1
-2
0
-3
0
0
0
0
0
0
0
0
0
0
4
0
3
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
2
0
0
0
-42
-3
17
15
41
29
7
0
0
0
0
0
0
0
1
0
-21
-11
-50
14
12
-15
10
-35
0
0
0
0
0
0
0
6
6
-3
-21
34
2
-28
34
7
-6
0
0
0
0
0
0
-1
1
-3
22
-12
0
3
-6
-10
19
11
0
0
0
0
0
0
0
-16
4
-1
0
-10
4
-8
-14
-22
5
0
0
0
0
0
0
0
-2
-2
0
2
-8
-4
22
-6
27
30
0
0
0
0
0
0
0
0
-1
0
0
3
4
-13
-18
-6
0
0
0
0
0
0
0
0
0
-4
0
1
3
1
4
7
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
8
3
-1
0
0
0
0
0
0
0
0
0
9
46
5
-7
4
-5
-13
-1
0
0
0
0
0
0
0
0
0
1
30
7
-30
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
-19
-33
-10
-20
-3
0
0
0
0
0
0
0
0
0
0
0
0
36
-24
24
10
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-11
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-16
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
8
11
-4
-3
-2
5
0
2
0
0
0
0
0
0
0
4
-2
-8
51
5
-7
-10
-4
10
2
0
0
0
0
0
0
0
-1
-43
29
-13
-9
13
4
0
-1
1
0
0
0
0
0
0
0
-1
4
-12
-22
-13
8
0
1
0
0
0
0
0
0
0
0
0
4
19
17
-33
0
-15
-2
0
0
0
0
0
0
0
0
0
0
1
6
-10
13
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
15
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
6
6
-3
6
-21
0
0
0
0
0
0
0
0
0
2
-1
-17
13
1
13
3
14
-8
0
0
0
0
0
0
0
0
-1
-9
-28
-11
-21
-1
0
1
0
0
0
0
0
0
0
0
0
-1
-16
23
30
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
2
11
33
4
6
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
24
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-10
12
13
3
15
-3
0
23
0
1
0
0
0
0
0
9
1
15
5
25
14
10
28
-59
-16
0
0
0
0
0
0
0
0
-11
-7
-12
-34
20
11
-12
-9
-6
0
-1
0
0
0
0
0
10
9
-2
36
28
-1
5
13
15
3
0
0
0
0
0
0
0
0
-4
-12
20
4
-1
14
-1
0
0
0
0
0
0
0
0
0
1
-2
2
-1
-6
19
0
4
0
0
0
0
0
0
0
0
0
0
-1
-1
0
35
0
-1
2
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
7
1
-2
8
8
-10
0
0
0
0
0
0
0
0
0
-3
0
8
20
12
11
15
-15
0
0
0
0
0
0
0
0
0
3
7
24
8
33
1
-6
0
-2
1
0
0
0
0
0
0
0
-9
15
12
4
-12
0
12
-3
2
0
0
0
0
0
0
0
0
2
-16
36
-1
-1
2
-2
-1
0
0
0
0
0
0
0
0
0
0
-3
-9
-4
10
-3
-4
0
1
0
0
0
0
0
0
0
0
0
1
-1
2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-22
-51
-3
17
45
-20
0
13
5
6
1
0
0
0
0
29
50
-12
11
90
58
-6
22
-54
-7
24
11
12
0
1
0
0
-17
-30
4
-32
37
-14
27
10
-80
34
28
-4
9
1
0
0
0
-16
15
1
-15
26
58
-2
19
-2
96
80
26
-1
1
0
0
0
4
-19
51
22
27
46
1
70
0
44
30
25
-1
0
0
0
0
0
-12
22
-22
25
-10
-12
35
17
-16
15
-4
0
0
0
0
0
0
33
-14
-7
-18
-22
1
-13
7
-7
-8
0
-1
0
0
0
0
0
2
-4
-4
-8
-1
8
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
22
-18
-49
0
-1
-9
19
0
0
0
0
0
0
1
-3
40
-4
57
-40
16
31
-17
19
-5
14
-1
-1
0
0
0
-1
-10
6
2
14
3
-4
25
-9
32
-14
7
2
0
0
0
0
0
7
-37
3
-8
29
26
41
-4
5
2
3
0
0
0
0
0
0
-1
-14
6
-47
-42
-2
-26
32
-36
-7
1
0
0
0
0
0
0
7
16
12
-1
59
-18
0
44
-3
2
8
0
-2
0
0
0
0
4
12
-28
-16
2
21
2
15
12
-2
2
-1
0
0
0
0
0
0
8
11
5
-10
2
38
9
44
-1
-5
0
1
0
0
0
0
0
0
-1
0
6
3
9
45
-24
-1
7
0
0
0
0
0
0
-9
-22
29
57
59
-6
0
48
8
9
3
0
1
0
0
0
0
8
-43
23
10
54
32
-5
-3
-3
-8
1
2
0
0
0
0
0
-34
1
54
46
0
21
-24
27
-26
-17
-21
8
0
0
0
0
0
-34
16
-18
-32
50
-5
25
12
3
2
-2
-3
3
0
0
0
0
-4
-23
9
102
37
22
-2
26
26
9
24
2
0
0
0
0
0
-2
-27
-17
39
60
75
27
13
-29
11
-22
1
0
0
0
0
0
-1
-1
26
18
-1
-28
18
8
-26
8
27
-1
0
0
0
0
0
0
11
36
-12
-10
8
12
3
7
-6
-7
0
0
0
0
0
0
0
0
16
0
-26
16
-4
-1
0
0
0
0
0
0
0
9
2
-21
17
-1
2
32
-11
0
-20
6
24
-3
0
0
0
0
-1
3
4
23
92
8
-28
-3
3
-3
-6
25
14
-4
0
0
0
-31
39
-24
22
-47
34
-24
35
-22
45
10
35
-4
-3
0
0
0
-13
82
32
2
45
50
23
-36
43
23
5
9
1
-1
0
0
0
16
57
43
10
30
25
-7
3
-12
8
37
5
3
2
-1
0
0
13
14
1
-3
38
0
6
19
-8
16
23
10
0
2
0
0
0
1
9
-8
-6
-2
-11
5
28
3
-8
-3
1
0
0
0
0
0
0
-1
-3
-8
7
9
-19
-7
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
6
7
-8
-1
41
21
-19
20
0
-9
-1
6
-1
0
0
0
0
4
13
28
19
43
16
80
-42
16
-1
2
1
7
0
0
0
0
19
14
12
2
1
18
-71
21
30
-28
11
-1
0
0
0
0
0
-9
-11
3
-7
25
0
25
11
54
16
-2
1
0
0
0
0
0
21
1
-20
-35
11
-6
15
35
-12
15
0
1
0
0
0
0
0
0
-6
-22
36
-36
8
24
-15
-18
1
1
0
0
0
0
0
0
0
0
12
0
33
-30
-14
37
-3
-1
1
0
0
0
0
0
0
0
0
-2
2
0
25
-4
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
20
-23
8
6
21
-8
37
0
-19
3
0
0
0
0
0
0
9
16
-25
15
2
8
35
-3
-26
33
0
1
0
0
0
0
0
-2
12
42
9
-13
-1
36
-15
-21
30
2
-2
0
0
0
0
0
10
56
-14
0
-10
-5
10
47
7
15
11
0
0
0
0
0
0
0
-8
6
21
-8
-7
16
21
-6
2
-2
1
0
0
0
0
0
0
4
4
10
10
-10
2
-4
11
15
0
0
0
0
0
0
0
2
0
6
-3
7
18
19
12
3
-8
-2
0
0
0
0
0
0
0
0
0
0
-1
-7
1
6
22
3
1
0
1
0
0
0
0
0
0
0
0
0
0
0
12
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
24
-36
3
-6
-2
-4
0
0
0
0
0
0
0
0
0
-1
-13
33
23
-6
0
4
-27
6
1
0
0
0
0
0
0
0
2
-2
-36
9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
7
25
1
8
3
0
0
0
0
0
0
0
0
0
0
0
0
22
-3
22
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-28
-20
10
1
-1
0
0
0
0
0
0
0
0
0
0
0
-12
-4
-1
1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-15
-5
-10
25
0
11
0
0
0
0
0
0
0
0
0
17
-17
-60
-2
6
-19
5
-17
29
-8
0
0
0
0
0
0
0
2
-30
-36
-16
20
33
18
2
1
1
0
0
0
0
0
0
0
-13
20
51
48
22
-10
0
0
0
0
0
0
0
0
0
0
0
1
5
12
63
16
-16
-6
0
0
0
0
0
0
0
0
0
0
0
-8
9
28
-8
1
-1
0
0
0
0
0
0
0
0
0
0
0
3
4
-4
-7
0
-1
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
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-11
-37
-19
7
-9
-2
0
-1
0
0
0
0
0
0
0
0
-13
-38
-16
-8
9
4
24
9
-4
0
0
0
0
0
0
0
-1
66
13
-4
43
9
-8
0
0
0
0
0
0
0
0
0
0
0
35
-30
-5
-12
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
8
6
1
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
-3
19
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
-1
-3
-7
-22
8
8
-3
-45
0
-10
0
-2
0
0
0
0
0
-3
-16
-73
21
-11
-3
-1
-62
-38
-49
0
0
0
0
0
0
0
-10
-7
10
-10
13
23
46
-8
4
0
0
0
0
0
0
0
0
2
20
-1
23
-3
1
-24
15
-4
-4
0
0
0
0
0
0
0
0
0
5
-2
12
12
8
-10
0
0
0
0
0
0
0
0
0
-2
-3
6
30
1
3
4
-2
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-20
10
6
-1
0
-3
-1
0
0
0
0
0
0
0
0
0
1
-3
19
22
-3
-9
2
-3
2
2
0
0
0
0
0
0
0
0
11
28
-12
-2
1
2
0
0
0
0
0
0
0
0
0
0
2
-7
0
20
3
0
1
0
-1
0
0
0
0
0
0
0
0
0
6
-8
-15
-11
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-9
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
6
45
-33
63
-143
0
-82
-15
10
-6
7
0
0
0
-1
24
20
8
-28
-34
42
-117
-29
-29
-21
11
0
13
-2
0
0
18
36
2
-73
-22
39
-15
8
70
87
22
-9
-24
9
0
0
0
15
4
-17
8
-23
-78
22
77
53
19
-50
-16
9
3
0
0
0
25
8
-27
-42
-8
-18
-44
15
-5
3
11
-22
9
0
0
0
0
4
-14
47
35
-3
45
-29
-6
-37
17
-4
-8
0
0
0
0
0
0
-3
-14
2
-22
-4
16
-19
3
1
1
1
0
0
0
0
0
0
0
4
19
8
2
-7
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
-10
-38
-32
0
-55
101
0
-65
-24
-14
-20
1
0
0
0
0
0
14
30
-1
-71
21
-4
32
-28
-67
-50
-17
-3
0
0
0
0
0
-13
0
-18
13
-17
-28
0
-5
-17
43
-7
6
0
2
0
0
0
0
1
-81
-6
-50
2
-23
6
-5
-22
0
-2
0
0
0
0
0
-1
39
-9
23
-47
7
63
-10
36
0
6
9
0
0
0
0
0
-3
0
-26
-4
-12
-16
-33
35
-3
-3
2
0
1
0
0
0
0
0
-11
-2
-10
-39
1
72
19
7
1
3
8
0
0
0
0
0
0
0
21
-4
17
32
-14
-29
1
22
-7
-1
0
0
0
0
0
0
0
-1
-1
-2
8
22
-34
15
-13
-2
-1
0
0
0
0
0
-8
37
-71
-111
10
-42
0
27
21
-4
29
0
0
0
0
0
0
13
24
128
-86
-34
-45
20
35
24
2
-12
8
0
0
0
0
0
-26
-44
-64
-32
-58
-39
61
-34
18
-17
-1
-11
0
0
0
0
0
-13
-26
-2
-9
-10
56
-101
-16
-25
17
-3
10
-1
0
0
0
0
9
47
-9
-66
-2
44
-59
-25
8
-16
-13
8
-2
0
0
0
0
0
-1
3
-28
-8
17
1
-8
15
15
-4
-3
0
0
0
0
0
0
-4
17
68
32
26
-10
10
17
-36
0
-3
0
0
0
0
0
0
3
-56
20
-27
-51
-21
-13
-26
2
2
1
0
0
0
0
0
0
0
-7
1
5
6
-2
7
1
-2
0
0
0
0
0
18
28
-31
0
-19
-26
-14
-131
0
-85
-44
-27
-1
-1
0
0
0
0
23
-87
-24
-23
-24
76
-35
-31
-96
-20
-6
-11
0
0
0
0
2
8
-28
-42
-15
35
-2
76
13
47
46
-2
14
-2
-2
0
0
33
8
8
43
-81
41
19
-34
18
35
17
-24
8
0
0
0
0
-11
-48
18
-1
-63
38
24
-3
39
-8
4
26
7
-4
1
0
0
-4
-20
41
38
14
13
21
-39
-10
0
-6
9
0
0
0
0
0
1
7
30
0
12
-9
0
7
10
8
-19
-6
0
0
0
0
0
0
-2
-8
-9
-9
-8
-7
6
-4
-3
2
0
0
0
0
0
0
0
0
0
1
0
2
1
0
0
0
0
0
0
0
0
0
0
2
-10
9
-13
3
-22
-22
-4
0
17
-22
-10
1
0
0
0
0
-2
-1
4
0
18
29
-40
-23
-46
-26
-7
0
3
0
0
0
0
3
-3
37
-4
47
10
74
20
-50
0
-33
-2
0
0
0
0
0
-3
9
-34
-4
6
-40
-1
-21
-21
-14
3
-3
0
0
0
0
0
0
-8
17
22
-12
-22
-17
-38
23
10
0
0
0
0
0
0
0
0
1
-20
-13
-15
12
-14
-8
-7
1
-7
0
0
0
0
0
0
0
0
9
-1
9
15
-7
-13
11
4
-2
0
0
0
0
0
0
0
0
0
1
-1
2
-15
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
-15
3
-6
0
0
-12
-47
0
-22
-7
0
0
0
0
0
0
-1
-30
-42
-19
-12
16
-21
7
-46
-12
-6
-6
0
0
0
0
0
6
1
18
2
0
16
-33
33
-3
-7
-13
3
-1
0
0
0
0
6
7
20
-19
24
10
3
27
-30
30
-2
1
0
0
0
0
0
4
-10
-8
6
-2
12
8
-12
-21
22
19
-12
0
0
0
0
0
-1
-1
1
2
-21
3
6
17
13
12
7
0
0
0
0
0
0
0
0
0
0
1
4
-16
-10
18
-6
2
2
0
0
0
0
0
0
-1
0
0
-1
-2
0
7
-40
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-11
-6
-12
-3
0
0
0
0
0
0
0
0
0
0
0
4
14
0
22
-1
-11
6
0
0
0
0
0
0
0
0
0
0
1
42
-15
-22
0
-2
0
0
0
0
0
0
0
0
0
0
0
16
0
-15
-1
2
0
1
0
0
0
0
0
0
0
0
0
0
-1
7
14
-7
7
-2
0
0
0
0
0
0
0
0
0
0
0
-1
-4
19
9
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
12
10
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
4
-7
-1
9
2
0
0
0
0
0
0
0
0
0
0
-2
17
3
-6
11
13
-11
0
0
0
0
0
0
0
0
0
0
-6
-3
-1
75
-4
8
0
0
-3
0
0
0
0
0
0
0
0
6
-11
-24
14
-1
-7
1
0
0
0
0
0
0
0
0
0
0
1
-4
-26
22
8
-4
1
0
0
0
0
0
0
0
0
0
0
2
-1
-6
18
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
12
2
-6
7
0
0
0
0
0
0
0
0
0
0
0
20
42
-6
-36
-17
-5
0
0
0
0
0
0
0
0
0
0
2
-1
19
11
9
-12
1
1
-1
0
0
0
0
0
0
0
0
-1
0
4
11
-6
9
1
0
0
0
0
0
0
0
0
0
0
0
2
-8
6
-18
-1
2
0
0
0
0
0
0
0
0
0
0
0
2
3
3
-18
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
15
4
13
10
-14
0
0
0
2
3
0
0
0
0
0
-7
-9
9
2
15
-8
-9
0
0
0
1
0
0
0
0
0
0
7
4
1
26
43
-14
-21
-5
7
-4
0
0
0
0
0
0
0
13
49
44
-8
-9
-1
0
8
-7
0
0
0
0
0
0
0
0
0
7
-26
35
-8
5
10
3
3
0
2
0
0
0
0
0
0
-2
3
-15
26
12
-2
17
-3
2
0
0
0
0
0
0
0
0
0
4
32
1
-10
0
1
0
4
0
0
0
0
0
0
0
0
0
3
6
2
-3
-3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
2
-12
0
-10
-3
0
0
0
0
-1
0
0
0
0
0
0
21
-17
63
9
-3
20
-28
0
0
0
0
0
0
0
0
0
0
7
16
19
4
4
-1
-2
-5
-18
11
0
0
0
0
0
0
0
2
4
16
25
-3
4
6
-12
11
0
0
0
0
0
0
0
0
21
39
45
57
19
22
6
2
0
-1
0
0
0
0
0
0
0
-11
2
33
-37
10
-3
-3
4
0
0
0
0
0
0
0
0
0
-3
10
38
47
18
0
0
-2
0
0
0
0
0
0
0
0
0
-2
-4
0
-9
-2
6
-2
2
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-20
16
-34
-15
29
20
0
0
0
-10
-39
19
1
1
1
0
15
18
-3
-25
15
-51
58
0
0
0
-26
57
5
-25
3
0
0
4
-13
53
-15
-9
130
72
47
-18
-56
29
35
28
14
1
0
0
30
-15
-21
-74
-32
55
30
111
19
21
-14
12
-11
4
0
0
0
0
2
11
11
-4
30
48
3
9
5
28
2
-6
0
0
0
0
0
-1
-1
-3
-20
8
-19
43
25
20
14
0
0
0
0
0
0
0
-1
-4
-4
-8
23
-13
-13
0
-15
-20
0
1
-1
0
0
0
0
7
3
-1
7
2
1
-8
8
-1
1
0
0
0
0
0
0
0
0
-1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-15
-3
6
0
0
0
-19
-30
1
3
-1
0
0
0
0
1
57
20
56
59
0
0
0
58
-11
52
10
4
-2
0
0
-1
-13
20
1
-19
50
6
74
85
-22
-8
18
6
-2
-3
0
0
0
8
-13
7
-23
6
27
3
-11
61
10
11
7
-3
-1
0
0
0
-2
8
11
-21
18
-43
69
6
-2
48
-9
10
2
-3
0
0
0
0
-2
-32
10
-20
-33
-17
58
-28
23
22
12
-13
1
0
0
0
0
21
-15
11
-16
-7
46
43
18
30
-19
-1
-2
2
0
0
0
0
11
-43
18
-9
-71
-14
-28
44
-19
-5
22
-8
-2
3
0
0
0
8
-7
11
2
0
-84
-27
-46
15
10
2
0
0
0
0
0
3
-9
24
39
82
0
0
0
27
-15
-11
-10
-3
0
0
0
0
23
17
38
-8
39
0
0
0
-25
33
21
-25
8
-4
0
0
0
41
63
-72
45
70
53
27
29
24
29
-5
3
-7
0
0
0
0
13
4
-16
20
-8
11
3
35
9
-5
-1
-9
6
-2
0
0
0
27
-6
-11
45
-6
23
-36
49
37
-22
4
-6
-2
0
0
0
0
4
-8
-33
-11
86
-48
-51
96
13
-12
-45
-8
7
1
0
0
0
0
22
-30
15
-24
-29
7
-18
6
3
5
-19
-1
0
0
0
0
0
0
25
3
-34
29
-10
36
-44
-24
-9
-32
0
1
0
0
0
-2
-4
-5
11
15
-11
4
-2
-1
0
0
0
0
0
0
10
4
-15
-20
14
43
76
0
0
0
37
9
17
0
0
0
0
2
-4
-70
15
37
83
-14
0
0
0
38
-12
-10
10
4
0
0
55
27
22
-55
-14
60
62
32
-46
41
14
-4
-21
5
1
0
0
-9
14
16
-68
-24
7
-22
67
41
15
-22
-6
-23
0
0
0
0
12
14
21
-16
-55
63
4
58
-13
46
2
-6
-3
-2
0
0
0
0
21
3
11
-12
9
-13
-65
19
20
10
2
1
-2
0
0
0
-6
-19
12
-12
34
0
-17
-21
-20
-7
-2
0
1
0
0
0
0
0
-2
-13
-13
-18
4
13
-1
11
-7
2
0
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
-6
-11
42
-3
-25
0
0
0
-7
7
0
0
0
0
0
12
-2
17
-6
2
15
6
0
0
0
38
2
-1
0
0
0
0
11
7
-20
-3
-19
35
54
12
-39
67
-33
4
-1
0
0
0
0
-1
-13
-20
-48
-3
30
-51
-3
-8
34
11
-2
0
0
0
0
0
2
-4
13
45
17
9
13
11
14
1
4
2
0
0
0
0
0
-3
12
12
-2
17
19
32
24
-32
6
1
0
0
0
0
0
0
0
0
2
0
-10
12
-6
-11
19
8
0
0
0
0
0
0
0
0
0
0
1
-2
6
-4
0
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
3
-12
4
-18
14
12
8
0
0
0
3
19
0
0
0
0
0
-8
3
25
9
-66
35
-38
0
0
0
38
-13
1
-1
0
0
0
13
-37
-3
11
16
-24
8
23
-41
22
-3
-10
7
0
0
0
0
1
23
25
-5
-18
14
-1
7
11
107
9
6
-2
0
0
0
0
4
18
12
9
36
27
-13
61
16
22
-21
-8
1
-1
0
0
0
-1
-9
3
30
32
14
11
41
12
49
4
7
1
0
0
0
0
-1
7
20
11
-13
40
-2
20
37
-7
-2
4
0
0
0
0
0
0
0
-2
2
2
-15
8
-8
13
-4
17
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
14
-4
-8
0
0
0
0
0
0
0
0
0
0
0
-6
-14
-1
-26
38
1
1
0
0
0
0
0
0
0
0
0
0
-18
29
14
-13
10
1
0
0
0
0
0
0
0
0
0
0
0
-10
-20
-6
-2
20
-6
0
0
1
0
0
0
0
0
0
0
0
-1
0
7
-26
-2
3
0
0
1
0
0
0
0
0
0
0
0
-1
0
-18
0
3
2
0
0
0
0
0
0
0
0
0
0
0
3
-2
7
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
8
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
-6
-11
33
-19
2
-4
0
0
0
0
0
0
0
0
0
0
0
-36
-23
12
-41
-11
20
-3
0
0
0
0
0
0
0
0
0
0
-7
-13
13
34
-2
-15
7
0
0
0
0
0
0
0
0
0
0
1
13
0
-11
3
4
-4
0
0
0
0
0
0
0
0
0
0
0
7
-3
-10
19
-1
0
0
0
0
0
0
0
0
0
0
0
-1
-4
3
22
5
0
3
0
0
0
0
0
0
0
0
0
0
2
-36
12
-11
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
3
1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
19
11
-24
2
0
0
0
0
0
0
0
0
0
0
3
4
-11
-59
-3
-9
-3
0
0
0
0
0
0
0
0
0
0
-4
-7
22
6
15
-8
-2
0
0
0
0
0
0
0
0
0
0
-2
-3
-21
-5
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
-10
11
10
-17
-6
0
0
0
0
0
0
0
0
0
0
0
0
-1
-36
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-2
0
0
0
0
-2
0
0
0
0
0
0
-4
-2
-4
-25
3
-17
0
0
0
-1
0
0
0
0
0
0
-6
-12
-37
-6
36
-7
-20
-19
-1
1
0
0
0
0
0
0
0
0
-24
13
26
20
-17
-4
6
-3
0
0
0
0
0
0
0
0
0
10
21
-3
8
2
-4
0
0
0
2
0
0
0
0
0
0
0
-12
1
-13
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-2
1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-8
-3
1
-6
0
0
0
0
0
0
0
0
0
0
0
-18
-21
3
-17
-4
-17
21
0
0
0
0
0
0
0
0
0
0
3
-12
-26
3
11
-6
0
3
0
-1
0
0
0
0
0
0
0
2
-7
-40
2
-12
-8
-1
1
0
0
0
0
0
0
0
0
0
-1
-4
4
-1
0
4
9
1
1
0
0
0
0
0
0
0
0
1
1
0
16
-4
3
0
-12
0
0
0
0
0
0
0
0
0
0
0
-6
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
2
2
0
1
2
-1
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
23
-14
-12
-11
33
-39
0
0
0
21
-37
-1
-8
0
-1
0
9
-5
-5
14
-9
-6
-86
0
0
0
-19
-12
-18
-6
-1
-1
0
18
0
-2
-37
-12
-34
16
-34
25
-1
-29
-4
-3
-15
0
0
0
-4
-33
-32
35
-19
17
-41
-67
-26
64
44
4
-1
-6
0
0
0
-3
-18
-27
20
5
-18
6
-34
-24
-18
34
25
-4
0
0
0
0
0
-7
3
6
-2
-2
40
5
-39
16
1
8
-2
0
0
0
0
0
12
-1
-6
19
-7
-21
15
15
-2
7
0
0
0
0
0
0
0
3
0
-7
-13
-1
-6
7
-4
-6
-1
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
5
32
19
0
0
0
12
33
26
-26
6
-1
0
0
0
2
0
-5
-22
-40
0
0
0
-41
17
-15
-2
-19
3
-1
0
-2
-11
4
-2
11
-42
-6
-85
-64
41
-41
-12
21
-12
3
1
0
0
-3
0
-19
-8
-35
0
-2
-34
3
-11
8
7
0
8
0
0
0
-1
-23
-11
-7
3
-36
-58
-14
-12
1
3
-25
17
2
2
0
0
0
-13
-25
-41
-2
32
-12
8
-10
22
-20
-1
-11
4
-1
0
0
-1
-7
-20
3
1
-10
-39
-10
41
-4
48
7
2
-2
0
0
0
0
-3
1
-1
0
28
-30
-13
-19
12
6
2
3
2
-1
0
0
0
0
27
-12
-11
-45
44
49
32
41
-17
-13
-7
0
0
0
0
-11
-24
-37
-6
-15
0
0
0
-10
-18
-40
24
-3
0
0
0
0
-3
-56
-28
-23
28
0
0
0
-4
-16
3
-41
-15
6
0
0
0
-4
-23
7
11
-7
-12
27
-12
15
27
15
-2
-16
0
0
0
0
-1
-13
-3
29
-12
-66
37
-41
0
30
18
-9
-2
2
0
0
0
-6
-23
7
-11
-32
40
38
-5
-31
5
33
3
1
0
0
0
0
0
-12
5
-16
-48
31
-10
-86
17
-15
11
-8
3
0
0
0
0
0
0
-7
-60
21
24
50
-41
-13
12
4
12
1
1
0
0
0
0
1
-7
18
-8
-1
-13
-8
55
-1
-15
-8
-3
-2
0
0
0
0
0
6
-2
13
12
10
-1
0
0
0
0
0
0
0
-10
9
-12
10
-3
25
-43
0
0
0
-3
-27
1
1
0
0
0
9
-18
-34
-24
-76
-1
-46
0
0
0
44
-37
10
-8
7
0
0
5
-52
-37
-53
1
15
28
-39
4
-42
31
-24
9
-6
0
0
0
4
-20
-6
-42
26
-34
19
-2
21
0
17
1
1
9
0
0
0
0
24
-31
-63
-19
-7
39
-21
-29
-23
-9
21
-6
-1
0
0
0
-2
1
7
-36
15
-35
-4
-34
20
-16
6
1
-1
0
0
0
0
0
6
-16
11
-17
-22
10
22
2
-9
0
-2
0
0
0
0
0
0
0
2
4
-10
4
0
0
0
-2
-1
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-3
-6
-24
2
-13
0
0
0
17
-1
0
0
0
0
0
1
-6
7
-24
-41
25
-13
0
0
0
11
-11
4
0
0
0
0
1
-13
6
-16
38
9
-1
-20
8
4
0
11
0
0
0
0
0
-1
-4
-1
0
-10
-4
-15
36
-2
-6
-9
4
0
0
0
0
0
0
1
0
18
3
-27
-1
-7
-22
6
2
0
0
0
0
0
0
0
1
-3
-10
36
10
-45
-26
-6
11
0
0
0
0
0
0
0
0
0
-1
-1
-1
6
-4
-3
6
1
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
-7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
1
-2
0
-2
-6
-27
0
0
0
21
-9
0
0
0
0
0
0
-4
-10
-12
-7
-4
-11
0
0
0
8
-5
-9
0
0
0
0
0
-1
1
-1
4
-11
12
1
-11
0
-18
0
-2
2
0
0
0
0
2
0
1
10
-12
-19
23
-8
11
1
4
2
-2
0
0
0
0
-4
2
-2
1
20
7
11
-3
4
3
-2
0
0
0
0
0
0
0
-2
3
-9
8
15
7
-3
0
-27
2
0
0
0
0
0
0
0
0
-1
3
-12
6
10
28
15
-3
0
0
0
0
0
0
0
0
2
0
3
-1
0
8
-6
-25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-28
-6
25
35
-24
-17
37
49
62
0
0
0
0
0
0
0
108
5
13
47
-9
61
-33
59
-9
-6
0
0
0
0
0
0
-18
-7
-10
40
-111
-17
15
24
55
102
0
0
0
0
0
0
10
-27
27
4
-119
-66
-18
31
48
56
0
0
40
45
-58
-83
-22
8
0
9
26
-15
-38
-35
19
24
0
0
20
-12
-20
-28
-24
-12
0
-117
63
18
13
21
-18
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-74
-72
-94
-14
20
2
15
-7
-73
-70
-77
-48
21
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-64
-48
-41
7
-23
50
-32
-59
-25
-66
-45
24
-7
0
0
-101
-66
-65
-9
4
-24
16
11
-93
-36
-3
-19
12
36
0
0
-100
-56
-57
-15
19
-1
7
-1
-84
-52
-15
-6
3
34
0
0
-129
-128
-75
-89
-14
-6
66
-61
-74
-102
-16
-58
-23
24
0
0
-91
-14
-116
-22
-2
44
33
-117
-23
-42
-72
-94
-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
-8
0
0
0
21
34
8
43
10
17
1
7
29
9
0
0
0
0
0
0
-8
36
-16
26
-6
4
-18
-39
-38
-22
0
0
0
0
0
0
45
-23
13
60
-30
-49
-47
-22
24
41
0
0
0
0
0
0
10
-39
33
1
-106
-93
-3
-1
22
54
0
0
-37
0
0
0
22
34
0
-18
-83
-84
-70
-102
-11
34
0
0
-2
0
0
0
-117
25
0
-5
-23
-24
4
-40
2
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-13
-96
-21
40
22
20
32
-146
-133
-76
-8
17
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-6
-70
-48
44
4
68
-2
-74
12
-56
-22
29
47
0
0
-54
-46
-58
-30
23
-1
22
-15
-51
3
33
-10
24
43
0
0
-72
-41
-34
-25
55
37
-14
-26
-108
-15
-26
39
8
20
0
0
-110
-52
-140
-139
-9
-6
47
-68
-165
-150
-143
-77
-19
-3
0
0
-161
12
-105
-73
-1
75
31
-151
-136
-91
-92
-144
39
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
6
0
0
0
-13
38
77
14
-51
-16
74
84
8
6
0
0
0
0
0
0
13
-22
26
22
-48
-14
-26
112
45
-19
0
0
0
0
0
0
-81
-42
18
48
32
-98
-12
98
40
31
0
0
0
0
0
0
-14
-82
19
29
36
-51
6
54
66
54
0
0
-19
-50
-36
3
36
-24
0
3
-19
-81
94
6
120
77
0
0
-43
-14
21
-77
45
65
0
-47
58
-37
9
-14
-8
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
59
-10
-19
-21
-21
-54
-54
-7
-81
-30
-32
-36
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
57
10
-12
25
-22
-42
-35
3
55
-93
-20
-32
-75
0
0
-53
-76
21
-33
-11
-62
-2
-47
-63
-77
-24
-45
-67
-44
0
0
-29
-80
-52
-19
-3
-52
22
-17
-39
-47
-9
6
-9
16
0
0
47
-48
29
3
-36
-16
-27
-61
29
-59
-2
-13
23
37
0
0
-39
-41
-54
-18
1
-30
-74
-94
-5
-93
-33
-25
21
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-37
-7
-29
70
4
-35
26
40
-29
3
0
0
0
0
0
0
-79
-21
24
28
-57
2
9
30
-9
-14
0
0
0
0
0
0
72
-47
11
126
-60
-7
0
67
-40
-51
0
0
0
0
0
0
46
-18
-45
105
-46
-87
-24
27
-57
-44
0
0
-11
0
0
0
2
-19
0
-60
-27
16
70
-77
-100
-17
0
0
-6
0
0
0
-19
-50
0
41
-84
-15
1
-12
-32
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-27
28
-9
-84
-36
16
71
11
-37
27
-23
-108
-115
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
11
-10
14
13
5
-104
-16
-19
16
-71
-11
-59
-35
0
0
-23
-57
30
1
-26
-45
-62
-44
-42
-37
50
-12
-71
-69
0
0
44
-43
-23
-24
-22
-72
1
-38
13
-47
-5
113
-66
-53
0
0
-32
-2
-33
-43
2
-48
-58
-90
-12
-31
13
21
71
-59
0
0
-10
5
-28
-33
-33
-70
2
-50
34
-118
-17
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
3
0
0
0
34
39
76
83
42
-10
10
32
47
43
0
0
0
0
0
0
5
61
50
19
-16
-24
-2
80
13
50
0
0
0
0
0
0
6
20
39
30
-56
-62
15
-8
35
-5
0
0
0
0
0
0
29
-5
44
-24
-5
-49
-63
14
-7
55
0
0
-8
28
-36
-141
40
35
0
-46
-81
-143
-49
-45
-29
34
0
0
-41
-54
-95
-12
56
38
0
-67
-60
-31
3
-4
-5
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-43
-34
-7
23
14
13
-22
-114
-112
-65
-45
3
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
5
-45
-15
24
20
20
0
-45
18
-10
9
33
29
0
0
-57
-19
-22
-31
27
24
-7
-5
-69
3
0
-5
30
34
0
0
-105
-48
-69
-62
0
24
16
-29
-119
-74
-51
-14
11
23
0
0
-95
-78
-51
-34
-6
46
38
-51
-90
-190
-73
-65
-4
26
0
0
-78
-102
-79
-102
54
75
52
-101
-47
-92
-93
-85
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
-13
0
0
0
35
30
18
66
-23
-66
-31
-14
-17
17
0
0
0
0
0
0
-30
4
7
56
-6
-84
-81
-44
-23
-24
0
0
0
0
0
0
-34
-3
37
48
-83
-86
-50
-62
-15
23
0
0
0
0
0
0
0
24
45
20
-11
-64
-16
-36
-42
-46
0
0
-44
2
-3
22
-22
-23
0
34
-26
-115
-75
-57
-9
4
0
0
-15
1
1
0
-36
-49
0
-55
-42
-1
-2
-78
-45
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
10
-21
28
30
29
6
54
-130
-54
-4
36
-9
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-35
-9
-35
29
32
17
-2
-45
28
31
-1
8
35
0
0
5
-9
-33
-23
46
37
14
10
2
32
53
-6
33
56
0
0
-35
22
-10
-42
26
36
17
-15
-90
-48
15
32
3
25
0
0
-95
5
-39
-7
-4
26
0
20
-69
-100
-10
-9
39
0
0
0
-91
-31
19
-20
16
35
32
-71
-125
-90
-53
-49
40
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
15
0
0
0
-6
-7
3
-33
-21
7
-1
-5
7
-11
0
0
0
0
0
0
12
7
37
-22
-10
-60
-24
18
10
35
0
0
0
0
0
0
14
22
28
5
28
-89
13
-1
5
33
0
0
-2
0
0
0
35
35
31
16
8
-63
-1
-21
24
84
0
0
1
-51
60
19
52
-2
0
-40
-17
-100
11
-24
86
26
0
0
11
1
-55
-41
37
79
0
-45
-25
-52
-11
-48
-25
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
65
53
28
29
-1
23
-15
-34
-50
-8
-8
-28
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
3
39
24
17
-3
1
5
15
16
43
15
-16
-24
0
0
26
45
12
15
-2
3
6
18
3
-13
2
-6
-24
-29
0
0
53
54
-13
7
12
19
26
2
14
-49
-2
11
-24
13
0
0
34
3
72
22
37
22
-3
-5
16
-114
6
41
47
-15
0
0
2
-68
2
-40
20
21
0
-54
18
-60
-34
-38
-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
-6
0
0
2
31
30
30
-7
39
-48
-60
-50
0
-3
0
0
0
0
0
0
39
13
13
-47
31
-57
27
-19
-41
-16
0
0
0
0
0
0
19
-44
-5
-32
-7
-42
-12
-52
-21
-23
0
0
0
0
0
0
34
-46
-36
12
63
-80
-35
-80
-6
-3
0
0
-13
-3
-10
-1
-28
-23
0
27
-24
-43
-36
-35
5
-91
0
0
-9
1
-1
-1
7
-27
0
8
-32
-28
-43
-4
-83
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
34
71
9
20
-20
-11
13
46
-16
17
21
-19
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
12
54
47
37
22
11
38
67
28
66
43
-1
23
0
0
28
78
31
24
18
13
3
19
48
8
-6
6
-11
-7
0
0
46
44
59
17
-39
8
-44
9
37
-10
-2
30
-40
-16
0
0
26
-54
-20
-13
0
-52
-21
-26
-4
-38
0
9
32
-92
0
0
-10
24
-9
-27
11
-84
-29
21
-44
-47
37
-30
-48
-74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
37
47
79
35
17
19
-14
22
39
29
0
0
0
0
0
0
30
26
68
33
10
-19
-16
21
3
39
0
0
0
0
0
0
-7
-4
56
12
-5
-77
1
-29
25
11
0
0
0
0
0
0
-9
26
42
-47
13
-58
10
13
15
-3
0
0
14
-8
-20
-117
33
38
0
-33
-67
-85
-59
-38
33
26
0
0
-43
-51
-84
-6
25
27
0
19
-63
-105
-6
4
6
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
22
-7
0
-1
16
31
-28
-71
-56
-12
-20
-11
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
5
-9
-21
34
29
27
-10
-1
27
14
7
15
31
0
0
20
-2
26
9
26
15
-1
8
14
36
4
4
14
19
0
0
-14
3
-20
-7
18
-4
39
-8
-24
-21
2
-18
-3
11
0
0
-15
-22
-54
9
19
9
49
-16
-59
-193
-11
17
19
-26
0
0
-38
-59
-54
-35
26
29
68
18
-103
-82
-59
-35
27
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
-13
0
0
0
8
18
27
19
10
-55
-52
-38
8
0
0
0
0
0
0
0
-77
-19
13
21
11
-75
-43
-24
21
-1
0
0
0
0
0
0
8
2
19
11
-66
-92
-39
-48
-4
2
0
0
0
0
0
0
-55
13
22
8
19
-65
-21
-30
-33
-30
0
0
-55
2
-1
26
-15
-38
0
1
4
-68
-26
15
6
-33
0
0
-16
1
1
0
-48
-70
0
-62
-10
14
-23
-43
-28
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
37
31
21
22
-4
28
-11
-29
64
30
-15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-49
3
4
30
26
1
-10
7
30
57
26
25
27
0
0
35
26
4
24
68
48
-4
10
41
41
22
20
26
36
0
0
12
-10
5
2
21
26
33
-8
4
-37
26
25
-14
22
0
0
-90
-1
-52
13
-10
36
11
2
-4
-82
43
3
1
-31
0
0
-26
-50
-5
-1
-10
-1
-2
-11
-64
-69
-8
-34
-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
15
0
0
0
3
12
11
-27
-20
-46
-6
7
10
-2
0
0
0
0
0
0
46
-10
44
-5
-26
-33
-27
-7
-8
35
0
0
0
0
0
0
10
43
44
-9
45
-73
14
-10
18
26
0
0
-2
0
0
0
30
43
37
11
18
-65
-13
21
59
45
0
0
21
-33
28
1
35
-1
0
-30
-23
-47
8
23
23
11
0
0
11
-3
-55
-10
51
79
0
-20
-60
-41
-38
-16
-22
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
69
68
37
42
32
1
-6
32
1
52
1
4
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
14
12
16
16
-3
12
1
21
20
14
17
0
0
10
14
11
-20
14
18
17
37
48
-2
-4
14
16
7
0
0
46
82
56
27
-2
44
-1
40
14
-35
6
23
23
11
0
0
70
36
86
72
-20
45
24
25
68
-136
48
75
26
-13
0
0
21
-67
77
-7
39
-37
-26
20
-16
-60
48
19
-6
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
2
10
36
28
-22
-15
2
-61
-31
0
8
0
0
0
0
0
0
39
19
2
-58
18
-52
9
-18
-29
19
0
0
0
0
0
0
-20
-31
-18
-53
20
-49
-9
-35
-3
13
0
0
0
0
0
0
-12
-36
-27
-23
70
-45
-17
-105
18
2
0
0
12
-3
-11
-2
-11
-14
0
23
-10
-20
-35
-54
19
-59
0
0
12
1
-1
-1
-4
1
0
-28
3
-18
-52
-8
-61
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
1
19
28
46
2
-20
15
74
7
86
24
-16
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
7
17
46
24
31
19
8
50
28
77
56
37
-5
0
0
52
51
37
19
31
7
5
-3
67
6
-2
31
-12
-1
0
0
30
60
38
18
11
-3
-68
25
44
1
45
0
-4
-17
0
0
33
-37
13
40
-2
-28
-33
31
-8
-43
15
-1
34
-42
0
0
51
39
21
-27
-3
-76
-37
15
-12
-51
89
7
-45
-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
21
-52
1
-11
-23
125
33
-12
55
16
0
0
0
0
0
0
24
-42
-15
-22
37
20
3
-3
-28
22
0
0
0
0
0
0
-10
-5
-2
-6
48
-2
46
-7
-52
-32
0
0
0
0
0
0
-53
14
-9
-26
9
-9
38
-5
-6
-13
0
0
0
9
-4
19
24
-7
0
10
30
26
-28
55
26
-3
0
0
-4
-1
1
2
-1
23
0
70
10
-22
14
-20
9
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
84
69
19
108
-48
15
-6
-5
54
4
40
8
21
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-34
-22
4
16
41
-19
22
-9
42
28
66
1
-49
0
0
28
58
64
25
78
8
-41
-30
120
69
-12
-4
-6
-8
0
0
99
28
-14
10
31
50
59
15
205
33
3
-26
-5
12
0
0
73
19
-39
-1
6
2
-7
33
85
-21
94
136
15
-11
0
0
43
24
11
42
-12
-52
53
97
34
-10
55
65
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
-40
35
74
-46
42
-9
70
-39
-4
-51
0
0
0
0
0
0
7
-41
8
-33
21
-4
72
-69
29
29
0
0
0
0
0
0
9
12
18
-26
16
-6
7
16
26
-2
0
0
0
0
0
0
-22
31
14
-93
19
18
34
5
2
-6
0
0
-9
0
3
1
-17
-68
0
-82
16
29
11
53
-19
7
0
0
0
1
0
0
-6
-53
0
-15
14
27
12
41
-24
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
41
75
13
1
15
21
-9
102
-6
58
17
-51
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
10
-40
27
10
-3
-37
-23
59
-24
73
-33
-14
78
0
0
10
33
-47
-15
7
80
39
-18
36
-25
-63
-34
53
15
0
0
67
-24
43
46
4
35
9
-50
10
-2
22
6
8
-10
0
0
-6
13
-32
-3
-20
-10
-4
32
33
10
29
-74
-74
-55
0
0
62
-6
-6
15
-45
-41
-22
17
45
34
16
7
-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
-15
-14
-49
-24
14
-14
27
15
72
97
0
0
0
0
0
0
7
3
25
-3
-22
8
-6
-52
30
6
0
0
0
0
0
0
7
-3
30
-53
3
-21
26
19
3
35
0
0
0
0
0
0
-24
-4
3
4
-9
3
-1
27
45
-8
0
0
28
2
-3
8
-1
-36
0
23
23
18
33
30
-21
92
0
0
30
0
-1
-1
45
24
0
0
-10
4
9
46
35
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
2
77
38
32
-9
-3
44
15
66
88
-19
122
84
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
45
-7
9
-4
35
-18
99
38
16
80
-3
49
64
0
0
2
35
22
26
62
16
-31
-30
13
-30
62
57
75
110
0
0
4
23
94
37
20
-13
-13
65
76
-59
65
64
64
52
0
0
51
15
43
16
32
112
-10
57
5
-18
31
40
53
-25
0
0
25
14
41
21
59
-60
-27
148
40
3
66
119
102
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-42
-34
40
-42
24
9
67
0
0
0
0
0
0
-6
34
6
-41
4
-14
54
30
10
-3
0
0
0
0
0
0
-13
28
-56
-49
15
9
16
11
61
14
0
0
0
0
0
0
-88
-8
2
-25
11
-13
-5
-4
0
17
0
0
0
-1
0
0
-1
-25
0
-15
-1
40
12
6
1
5
0
0
1
0
0
0
-3
2
0
27
23
14
-13
-84
-47
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-19
-13
4
57
40
-1
-22
-24
-1
41
-47
26
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-2
26
24
4
1
28
-51
-63
-48
-21
54
25
-26
0
0
19
-27
-61
55
-5
25
-6
-5
-9
21
46
21
-7
-62
0
0
53
7
13
41
-28
52
-88
-8
-25
-28
-14
-37
25
-52
0
0
30
4
12
9
-41
22
-25
-47
10
-34
-1
17
20
20
0
0
44
4
2
-6
6
-9
-18
91
-21
4
41
79
-102
-21
7
-83
-2
3
27
31
16
4
-2
-6
-14
-3
8
-14
-28
14
0
0
14
1
-23
-117
19
-8
-23
-214
48
0
-48
-170
0
0
15
3
-19
-83
-15
-70
-18
-102
-19
-56
-73
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-12
-1
0
-39
-59
-1
0
0
0
0
0
0
0
-24
-45
-1
0
-20
-133
-27
-149
56
-14
16
4
0
0
-1
-4
-27
0
0
0
0
0
0
0
0
0
4
-2
-21
-29
-1
-10
-42
-91
20
1
-20
-57
0
0
1
-2
-13
-19
-18
-40
-18
-58
-19
-56
-73
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-12
-1
0
-39
-59
-1
0
0
0
0
0
0
0
-24
-45
-1
0
-20
-133
-27
-149
58
79
53
72
62
32
9
4
3
-2
-20
-54
-105
-145
-173
-185
0
0
1
-3
-3
-97
2
-6
-6
-119
5
0
-5
-127
0
0
2
-1
-6
-89
-3
-20
-3
-23
-4
-36
-50
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-41
-80
0
-27
-51
-42
0
0
0
0
0
0
0
-22
-48
-5
0
-7
-111
-7
-101
35
-4
3
0
-2
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
-3
-27
-35
0
-4
-19
-99
3
-3
-19
-35
0
0
0
-1
-15
-16
-1
-30
-1
-35
-4
-36
-50
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-41
-80
0
-27
-51
-42
0
0
0
0
0
0
0
-22
-48
-5
0
-7
-111
-7
-101
63
45
53
53
50
27
5
1
-3
-5
-21
-46
-82
-104
-124
-150
0
0
1
-14
-9
-78
-5
-23
-18
-127
12
0
-11
-122
0
0
3
-10
-9
-87
-15
-52
-11
-58
-12
-57
-52
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-62
-82
0
-28
-77
-67
0
0
0
0
0
0
0
-35
-74
-7
0
-17
-106
-16
-112
36
8
0
-5
1
1
-3
-15
-26
0
0
0
0
0
0
0
0
0
-4
-6
-32
-54
-10
-14
-42
-105
-4
-11
-46
-70
0
0
-4
-2
-16
-45
-6
-44
-7
-49
-12
-57
-52
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-62
-82
0
-28
-77
-67
0
0
0
0
0
0
0
-35
-74
-7
0
-17
-106
-16
-112
2
-1
75
21
38
19
25
8
-5
-16
-13
-29
-27
-42
-48
10
0
0
8
-40
-30
-81
-14
-24
-66
-144
56
0
-53
-136
0
0
15
-22
-13
-46
-53
-104
-58
-144
-35
-46
-52
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-70
0
0
-23
-33
-13
0
0
0
0
0
0
0
-34
-54
0
0
-39
-83
-48
-104
60
12
13
23
-12
6
-17
-10
-9
0
0
0
0
0
0
0
0
0
-20
-14
-34
-86
-14
-34
-89
-64
-30
-62
-76
-52
0
0
-8
-12
-21
-13
-7
-31
-38
-43
-35
-46
-52
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-70
0
0
-23
-33
-13
0
0
0
0
0
0
0
-34
-54
0
0
-39
-83
-48
-104
-15
-18
10
-1
4
0
-9
7
-8
8
1
8
2
6
5
0
6
-9
11
-20
8
12
-3
4
4
0
16
5
-14
-13
17
0
2
-1
11
0
9
6
-6
-13
-4
-33
-1
21
12
0
7
1
18
3
2
-17
-14
20
14
0
3
3
19
0
0
-6
5
-14
0
2
44
-8
-14
0
7
3
-4
0
40
5
-2
7
-2
-21
11
7
12
5
9
0
6
-3
29
-2
22
18
3
15
14
0
-2
1
29
17
-3
20
15
-7
10
0
0
-3
-6
6
9
16
6
-10
15
0
-5
-15
-16
-5
-6
2
8
-5
52
0
1
-1
14
-15
6
9
7
3
5
0
5
-1
6
5
2
-17
4
-1
-19
6
-7
15
-3
-2
1
-10
-22
-13
-17
4
-17
3
-18
-3
-3
79
34
33
23
0
13
16
34
11
19
15
46
35
67
0
-6
26
29
36
-2
-2
8
-2
11
0
17
-6
9
22
2
-8
6
-12
-21
0
-17
-3
-12
-12
3
-9
18
-6
5
0
16
-4
-9
-4
11
-16
-5
3
21
0
12
-3
-14
0
5
-34
2
6
-9
9
11
8
-8
11
-1
-6
-28
-26
-33
-2
-31
-29
-33
-18
23
34
66
39
60
0
7
-10
31
40
-26
44
50
46
94
0
-12
47
29
22
27
-20
-9
-26
14
0
25
1
26
6
12
-8
-21
-24
-24
0
-20
-8
-40
22
-4
5
-38
19
-28
0
-19
16
2
15
4
-34
-7
9
-6
0
4
20
9
5
11
-20
44
27
-25
14
-2
-15
28
-3
9
-10
-12
-41
-47
-12
-23
-19
-11
-40
0
0
0
0
0
14
0
0
0
0
-4
0
0
0
0
12
-4
0
0
0
14
-7
0
0
0
14
8
0
-9
0
-5
-23
11
24
13
-8
-1
-20
-23
34
-63
19
0
1
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-25
-6
0
0
0
-20
-16
15
-1
0
14
51
19
-12
0
22
-10
-16
42
0
-76
-30
-37
-16
0
0
0
0
0
-2
0
0
0
0
-8
0
0
0
0
-9
0
0
0
0
-7
0
-6
-1
0
-8
16
-2
1
13
-16
-9
18
-16
9
12
20
9
-14
-33
-14
-9
3
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
20
-1
0
0
0
-3
-36
-2
0
0
31
-19
24
-2
0
9
20
64
-14
0
-1
9
32
-8
0
-72
13
-16
-16
0
0
0
0
0
39
0
0
0
0
16
0
0
0
0
-17
1
0
0
0
-23
4
-2
0
0
-37
-14
-8
-6
-1
10
41
17
14
-14
1
9
-1
9
-49
40
-1
37
3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
-2
4
1
0
0
-4
1
-16
3
0
9
31
-93
7
0
-8
3
5
-19
0
-14
-6
2
-6
35
-6
0
0
0
8
0
0
0
0
1
0
0
0
0
27
0
-3
0
0
-8
3
0
-10
0
-14
0
-30
8
-15
-6
14
35
-8
18
0
3
5
4
10
32
8
2
5
16
0
3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
1
0
0
0
-8
4
2
0
0
-16
-11
-31
-7
0
12
19
-32
23
0
-10
8
16
44
0
-18
23
-7
-5
0
0
0
0
0
-20
0
0
0
0
10
-1
-1
0
0
7
0
0
0
0
0
6
-1
-1
0
-9
-13
-5
-7
15
-8
-29
-7
22
10
7
29
10
63
44
-11
-20
-3
-15
9
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-3
2
0
0
0
20
-4
4
0
0
-34
8
-3
-18
0
2
-15
68
0
0
-28
-5
-30
-18
0
9
-24
-4
4
0
0
0
0
0
4
0
0
0
0
25
0
-1
0
0
-9
0
0
0
0
35
-4
-4
-15
0
-4
-4
-57
22
15
6
-8
-9
8
15
-17
-5
0
-37
-2
0
-7
16
12
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
0
0
0
-1
6
-7
0
0
8
11
32
-30
0
-6
-31
17
37
0
5
11
-6
-42
0
36
12
-29
10
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-13
6
1
0
0
23
-1
-3
2
0
21
-8
31
41
16
12
-7
21
-3
-6
-7
29
4
-4
16
9
-19
-4
-10
1
0
0
0
0
0
9
0
0
0
0
-7
0
0
0
0
-12
-3
0
0
0
-9
19
-11
4
0
-24
-2
9
8
12
4
28
31
6
-12
7
-15
4
-18
-54
9
-19
-4
-10
1
-4
1
0
0
0
-6
0
0
0
0
-27
0
-2
0
0
-8
0
1
0
0
-30
15
-2
6
-6
-27
-25
-22
-10
11
-4
52
-15
21
-1
17
-11
6
8
6
6
14
-5
-29
-7
4
-2
0
0
0
-3
0
0
0
0
-24
0
-1
0
0
0
-1
7
-1
0
-11
12
-1
18
0
-3
1
41
-35
37
-6
-12
13
-3
-41
-22
-3
-5
17
-10
6
14
-5
-29
-7
0
0
0
0
0
16
14
17
10
0
26
8
3
-18
-6
-22
1
-9
8
-15
2
2
4
-39
-10
-22
-43
3
-50
-47
31
-15
8
21
49
-51
-24
12
-5
11
21
24
27
22
11
0
0
0
0
0
0
20
18
0
0
0
25
-19
3
0
0
1
-34
22
-2
0
-17
2
7
-3
0
-55
-14
-33
6
0
15
43
51
29
0
26
1
-37
11
0
-9
46
22
14
0
0
0
0
0
5
-4
1
0
-4
0
-5
-3
-4
0
26
-30
12
37
-13
-5
-17
-56
33
1
6
21
13
1
9
26
12
37
40
17
-6
8
-8
-1
7
-8
27
8
-11
-9
0
0
0
0
0
0
-9
9
3
0
0
15
20
11
3
0
72
16
20
0
0
18
17
-23
14
0
2
-38
-8
-28
0
11
-2
28
-21
0
4
-4
-8
4
0
-11
31
20
29
0
0
0
0
0
-2
0
-1
1
7
-5
-1
1
0
1
-8
35
2
-6
19
10
-5
43
-32
-39
-12
9
-57
-13
14
-1
3
31
17
-12
-3
-19
9
19
3
13
18
16
10
3
0
0
0
0
0
0
1
0
0
0
0
1
-1
1
0
0
11
1
-35
1
0
-4
-11
-32
15
0
-8
34
26
-7
0
28
10
28
29
0
0
14
6
-8
0
-45
13
4
5
26
-18
-26
-3
-2
51
2
0
0
0
-69
1
4
-19
1
-20
7
-69
-1
-13
-24
35
-26
-55
-53
-19
-21
-5
3
-9
21
-7
19
-3
39
-1
7
-7
9
0
14
-13
0
17
10
0
18
29
0
-4
0
3
-3
0
0
0
1
-20
-15
0
0
-1
-7
-24
-15
0
9
-50
8
-58
0
-15
0
-35
-22
0
-5
19
-31
4
0
-6
6
11
-12
0
-28
-44
16
20
0
0
0
0
0
7
-15
-21
0
0
13
2
0
0
1
-30
12
26
-74
-27
-10
-22
58
-14
51
-33
8
-57
8
17
9
27
21
3
12
21
37
21
28
-23
4
10
2
-18
-2
0
0
0
0
0
0
-15
7
-12
-4
0
4
0
-30
1
0
-6
3
-9
0
0
23
35
13
-21
0
-46
-15
-1
-48
0
-28
-16
44
0
0
-8
-10
19
24
0
32
30
8
7
0
0
0
0
0
10
0
0
0
3
11
43
-3
21
0
-12
-58
-21
11
26
28
-14
-27
37
-16
10
2
-52
7
-18
13
59
-7
6
18
18
1
11
5
33
-19
29
-11
-5
-23
0
0
0
0
0
0
0
-4
0
0
0
-4
55
-8
-1
0
14
-10
17
3
0
-12
-25
-32
-19
0
18
-19
-20
-9
0
-17
-9
-4
20
0
-29
-2
17
25
0
-15
-1
21
8
0
0
0
0
0
-20
0
0
0
-2
4
4
2
-6
-3
5
-15
15
-7
12
23
-10
-6
-5
0
6
-28
49
35
-38
-4
-5
-3
0
-12
4
25
-27
28
51
2
11
10
-1
-5
0
0
0
0
0
-1
0
0
0
-2
-2
-6
-3
-2
-6
-1
-70
17
13
13
15
41
-12
34
3
-5
1
16
9
-3
0
20
17
-3
4
-5
-3
-5
6
-7
2
11
10
-1
-5
-3
-16
4
1
2
-11
0
0
0
0
-6
-24
-29
-7
-19
-19
-7
-13
-38
-17
-42
5
-49
-23
-30
-4
-7
19
-3
-30
-14
14
-10
15
19
6
-6
-1
-4
5
9
-11
-9
13
24
8
-40
5
-3
1
18
10
0
0
0
-17
-37
6
3
-6
-22
-30
-24
-23
-42
-14
-16
22
14
1
-5
11
30
-28
39
-12
-5
15
-7
-15
-9
-38
-34
-4
-27
9
-11
-9
13
24
0
0
0
0
0
22
17
19
12
0
41
8
4
-36
-10
-14
-5
-5
16
-21
-21
-10
-4
-48
-10
-50
-22
3
-39
-36
56
0
43
28
55
-46
-17
35
24
31
2
61
23
34
28
0
0
0
0
0
0
20
21
1
0
0
22
-21
2
0
0
15
-37
16
-5
0
12
0
10
-7
0
-41
13
-32
15
0
4
41
47
39
0
18
0
-21
22
0
8
26
30
9
0
0
0
0
0
24
-4
1
0
-4
12
-11
-1
-4
0
9
-26
18
38
-15
-13
-4
-48
53
15
-8
-33
51
-34
15
37
26
80
24
11
-7
8
15
14
50
-4
39
-1
2
9
0
0
0
0
0
0
-8
8
3
0
0
13
20
9
3
0
62
14
18
1
0
21
31
-11
13
0
-47
-34
-35
-45
0
-41
-16
5
-23
0
11
22
2
16
0
-6
20
19
43
0
0
0
0
0
-17
0
-1
1
7
-23
-3
1
0
1
7
32
8
-7
23
20
-3
42
-45
-37
-3
-29
-71
-19
30
14
-66
57
37
-27
-10
42
-20
28
19
28
22
21
-7
-25
0
0
0
0
0
0
3
0
0
0
0
2
-1
1
0
0
7
7
-53
1
0
-16
-8
-12
6
0
-13
12
4
-11
0
31
31
34
2
0
-6
2
-9
-11
0
-12
27
24
27
39
6
-28
-21
-3
33
2
0
0
0
-68
-7
-1
-25
1
-34
-6
-57
24
-14
-32
0
-8
-33
-71
6
-3
-1
15
-14
-1
-12
-3
-13
66
-14
0
5
-2
-25
22
-20
-9
11
-19
0
25
44
-13
-3
0
3
-3
0
0
0
-1
-36
-18
0
0
-7
-41
-38
-14
0
21
-38
-27
-65
0
-15
0
-6
8
0
9
19
10
-8
0
-31
2
6
-17
0
-33
-11
2
11
0
0
0
0
0
13
-15
-18
1
0
25
30
4
3
4
-56
-4
15
-95
-28
6
0
64
-12
68
-3
-1
-33
-1
-4
-2
22
-15
5
-12
9
14
-22
41
-29
28
-7
33
20
-9
0
0
0
0
0
0
-13
6
-12
-4
0
-3
-5
-22
1
0
-17
0
-10
0
0
24
51
21
-10
0
-37
-16
-15
-38
0
-1
-7
1
-1
0
-23
-7
12
25
0
38
6
27
12
0
0
0
0
0
15
0
0
0
3
-5
36
-3
29
0
-10
-76
-31
12
16
14
-18
-29
47
-17
29
-27
-23
4
-14
12
47
7
-9
36
30
4
-9
28
-3
-9
25
-16
-28
15
0
0
0
0
0
0
5
-4
0
0
0
-2
57
-19
-1
0
6
-14
-2
2
0
-22
-44
-15
-16
0
11
12
-15
-2
0
-46
-16
-3
-1
0
9
-10
30
36
0
-13
3
5
-7
0
0
0
0
0
2
0
0
0
-2
-2
9
7
-11
-6
14
-23
18
-3
9
28
-20
-14
-24
11
-13
-8
39
17
-49
-4
8
2
4
-2
15
10
-31
13
23
12
14
-11
14
10
0
0
0
0
0
-6
0
0
0
-2
13
-12
-4
-4
-10
2
-43
29
14
14
-2
42
-23
29
5
13
13
2
43
14
15
12
13
-17
12
-3
19
12
-4
-21
12
14
-11
14
10
-12
-18
10
5
1
-20
0
0
0
0
-10
-35
-27
-7
-22
-5
31
-2
-32
-13
-27
-1
-64
-14
-6
-10
-2
43
4
-35
-11
32
-20
0
8
13
-28
-20
-17
-9
10
-5
-6
-7
4
-9
-32
8
1
-1
16
10
0
0
0
-31
-42
1
15
-9
-14
-24
-35
-15
-45
5
-18
41
2
13
-32
11
8
4
17
-13
-18
-20
1
-6
-13
-39
-41
-13
-17
10
-5
-6
-7
4
0
0
0
0
0
8
1
-2
0
0
-8
8
-1
-11
-1
-8
9
2
3
7
3
-1
-4
1
9
19
2
0
3
-1
19
25
23
22
18
21
-8
16
22
1
4
-5
33
11
18
0
0
0
0
0
0
-3
6
1
0
0
-11
0
-9
0
0
-15
-20
5
1
0
13
-6
13
5
0
27
2
4
-3
0
-8
9
39
6
0
6
-5
22
17
0
29
36
-41
-13
0
0
0
0
0
-4
0
0
1
0
0
0
-1
1
0
-14
8
-17
1
3
-12
3
3
24
16
-19
-30
5
-8
3
6
1
24
16
5
14
39
66
-15
64
3
34
-36
22
1
0
0
0
0
0
0
0
1
0
0
0
-3
-1
3
0
0
-12
19
6
0
0
27
27
4
-4
0
-54
-23
-7
-8
0
34
16
-6
13
0
-20
23
-21
22
0
1
-27
23
4
0
0
0
0
0
-1
0
0
0
1
-7
-3
0
-2
0
1
13
0
-15
-3
26
-15
16
-30
-3
11
-13
-9
-3
37
19
-26
9
20
-9
-25
35
-10
23
-11
8
3
-18
8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
5
-33
0
0
-13
-1
1
-10
0
-17
-25
15
4
0
28
36
-3
-11
0
-26
5
-10
-4
0
38
-24
59
23
6
15
-7
2
-1
-1
0
0
0
0
-3
-2
1
9
0
2
-14
-4
0
1
-14
3
3
-21
-11
-32
37
-1
-23
-37
2
13
3
-1
3
7
-40
2
-24
24
33
-15
-31
8
-40
0
-16
24
1
-2
0
0
0
0
0
0
-1
-3
-2
0
0
7
-20
-2
-6
0
-9
-10
-20
-9
0
-11
10
15
15
0
30
-27
-31
-10
0
-20
-40
-15
32
0
5
1
-5
17
0
0
0
0
0
30
-2
-1
0
0
22
5
1
-4
0
-19
-8
-3
-42
-6
-16
-3
40
8
-24
-12
-15
2
0
7
15
14
-11
-6
-3
-24
10
-28
29
-1
-29
-15
-28
40
-11
0
0
0
0
0
0
1
1
-1
-1
0
0
0
-21
0
0
-13
0
-18
0
0
5
14
-1
34
0
-6
-11
7
-8
0
-6
-4
-24
18
0
39
-5
35
-8
0
-28
18
9
-36
0
0
0
0
0
-21
0
0
0
0
3
6
0
13
0
-3
-20
-10
-4
-17
-10
-23
-39
42
2
55
-2
12
13
31
5
-41
62
-32
7
-6
36
-55
-32
-25
10
26
-7
2
9
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
0
0
18
23
-22
-8
0
-33
-25
13
2
0
-9
12
7
-6
0
-6
3
-13
1
0
37
20
-7
7
0
-34
7
14
5
0
0
0
0
0
-13
0
0
0
-1
1
-11
0
-7
-3
10
-1
9
26
3
-20
6
-9
0
16
-25
-26
19
12
-48
2
-13
3
7
2
15
10
8
10
-7
27
-24
8
-7
35
0
0
0
0
0
-13
0
0
0
-1
10
-22
-1
-8
-4
20
5
-2
20
4
-48
11
-30
-1
6
32
1
7
9
-1
13
25
2
14
16
-14
4
-11
-22
-39
27
-24
8
-7
35
-4
0
0
0
2
6
0
0
0
0
-3
6
-3
1
-15
14
7
1
8
-9
29
27
-16
-3
-10
20
1
-15
-17
-10
-11
1
-35
-12
7
5
-52
7
-39
-30
-7
14
31
-26
-2
-3
2
-1
-1
1
8
-1
0
0
0
-17
-9
0
17
-11
11
-14
-23
19
-16
1
5
20
-8
-15
-37
-15
25
-44
9
0
-38
-32
38
-16
-8
13
-81
-11
-7
-7
14
31
-26
-2
6
0
0
0
0
-47
13
-44
0
1
25
13
35
1
-27
20
-5
42
1
-4
8
3
11
14
51
-2
16
20
12
11
6
12
10
3
-9
12
2
-1
7
4
6
3
-1
1
-3
8
-3
-1
2
0
9
-6
2
9
20
-1
-19
-2
11
35
-12
-30
-17
7
81
-28
-80
8
4
80
-47
-6
-22
-35
33
1
-17
-3
11
0
0
0
0
0
0
0
0
0
0
0
12
20
20
10
4
2
0
0
0
0
-8
-23
-17
-6
-12
-12
-31
-34
-10
8
34
40
28
35
25
0
0
0
0
-1
-31
-42
-30
-24
7
9
-64
-62
-37
20
29
31
24
11
7
2
0
0
0
-1
-23
-27
-14
-1
3
-86
-71
-33
-3
71
0
0
0
0
0
0
0
0
0
0
15
12
9
-8
-5
2
0
0
0
-1
18
-8
-3
-10
1
22
-61
3
85
-15
-7
-2
0
0
0
-74
-71
-69
-50
-48
-1
-1
0
0
-1
-27
-68
-56
-23
-30
10
-9
-8
-8
-4
14
-13
-9
1
-2
-10
-22
-64
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
5
-1
-7
6
-19
-14
-12
28
1
7
0
0
0
0
0
0
0
0
0
0
10
-1
-1
-1
12
-35
25
-7
-24
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
-1
-8
1
0
-5
-6
-4
-5
3
-3
0
0
0
0
0
0
0
0
0
0
-17
-22
-18
-13
-14
-23
-37
-22
-8
-37
-31
-26
-22
-13
-5
-45
-53
-43
23
25
76
-1
-11
-2
1
-4
11
13
38
-50
0
8
-5
25
55
16
-9
13
31
35
-6
0
8
9
27
-7
1
6
10
24
-5
-1
-2
-5
9
6
6
-1
-6
-6
30
27
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
15
5
4
4
1
1
-1
0
0
-1
-16
-2
0
8
-20
-34
-8
-22
-2
5
13
2
15
6
13
2
-1
0
-1
-1
-13
-11
-17
-10
-8
-131
7
-20
-49
60
-2
3
19
17
8
3
0
0
0
0
-30
-1
-25
-24
-11
-3
-58
-52
-19
37
0
0
0
0
0
0
0
0
0
0
0
-7
3
2
4
2
-1
0
0
-1
-19
-2
-10
-19
21
15
54
-9
-7
-2
-15
-1
0
-3
-15
-51
-4
5
-9
-21
-7
-1
0
0
-1
-27
-17
-20
-60
-40
10
-9
-8
-8
-4
14
-13
-9
1
-2
-10
-22
-64
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
5
-1
-7
6
-19
-14
-12
28
1
7
0
0
0
0
0
0
0
0
0
0
10
-1
-1
-1
12
-35
25
-7
-24
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
-1
-8
1
0
-5
-6
-4
-5
3
-3
0
0
0
0
0
0
0
0
0
0
-17
-22
-18
-13
-14
-23
-37
-22
-8
-37
-31
-26
-22
-13
-5
-45
-53
-43
23
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
-12
-24
3
-2
-1
-2
0
-12
11
47
14
2
10
0
14
-24
-3
6
31
31
-15
-20
-2
-83
-22
-1
35
33
38
8
-5
6
62
39
17
42
15
20
2
-24
20
-24
2
27
4
16
15
-7
31
19
-18
49
11
1
6
7
-22
26
28
15
39
7
-11
0
0
22
81
14
2
12
-5
-2
-6
-2
21
15
-8
-22
-14
1
0
-8
7
11
-14
-12
32
-13
-5
17
-10
8
0
3
28
10
38
-16
-15
-14
12
0
0
-1
11
7
-14
-15
-24
6
0
0
0
0
0
-27
-29
-6
18
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
11
45
33
21
25
13
11
13
19
-61
-12
-7
23
-15
-10
-2
0
0
32
-1
-35
-50
7
-11
-1
-16
-19
0
-2
2
7
-11
-19
-4
-93
-67
0
-3
-15
11
38
15
12
26
43
37
-28
-6
16
13
-3
-5
0
0
-20
6
-4
-36
-29
22
-11
-26
-39
0
1
9
-1
-6
-54
12
-78
-87
21
2
1
-3
4
28
7
25
31
13
39
-5
-2
6
-2
-1
0
0
-6
-4
21
14
-15
-28
-15
-25
-27
3
2
13
-10
19
-34
-43
-62
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
7
-20
29
3
22
-9
11
16
32
-5
6
24
-15
3
-1
0
0
2
4
34
-13
30
-11
-2
1
-9
0
7
1
0
13
-10
6
-46
-42
-67
25
5
35
6
-9
0
0
0
19
18
22
2
-7
-3
-49
-76
-75
72
-3
-6
-14
6
-5
-4
0
0
-3
4
-16
10
-8
-24
-29
-74
-96
-14
0
27
59
54
18
3
-11
-22
-3
32
26
-17
-8
42
-7
-32
-46
-1
-1
-2
6
-28
-1
-30
-40
18
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
42
25
14
30
2
-14
-27
-23
4
4
0
3
4
15
-2
-72
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
15
-8
13
52
31
-4
-17
-20
0
0
1
0
0
-27
0
-61
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
12
13
6
-1
-16
-27
0
-2
0
2
-1
-12
-1
-43
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
18
20
7
16
5
-5
-17
-23
3
0
1
-1
3
-27
-14
-66
-88
15
32
-1
-15
44
-3
-7
-27
-19
0
-2
-2
3
-7
15
-46
-77
-92
-5
-3
1
7
6
-2
-3
14
12
-4
18
20
-7
3
-12
14
-18
40
32
-14
-8
-14
-8
8
3
-9
33
-4
-11
19
-19
12
13
1
6
14
1
-35
-13
7
7
13
17
1
18
-4
28
0
-8
-6
-6
10
1
5
10
22
27
6
14
34
-3
0
0
-1
1
-8
-4
53
2
-8
-1
-3
0
0
0
-1
-1
10
5
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
-39
-33
-8
5
1
2
-13
26
-28
-18
1
7
-8
0
-1
1
-4
1
-17
-7
-9
-51
8
-4
0
0
0
0
0
-13
18
-39
19
-44
-71
-2
16
5
-3
3
3
9
-17
-20
6
2
-6
7
-5
0
0
-3
5
4
-49
4
-30
-28
-2
-16
0
0
0
0
1
-7
-33
3
-28
38
9
26
-15
-2
19
11
9
14
-10
-8
-5
-10
16
1
-5
0
0
3
3
0
41
-20
-43
-30
-8
-13
0
0
0
0
0
4
-16
-9
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-40
-33
23
4
-12
9
3
13
-8
13
-9
-81
5
2
-8
0
0
-2
2
-2
8
-22
-32
18
8
17
0
0
0
0
0
0
28
-39
-12
-42
-5
-20
-4
-18
-27
-21
-2
-3
0
0
0
-2
-3
-16
-27
0
-27
20
-12
6
-18
-4
-7
-5
0
-1
0
0
-1
-3
-8
-19
-17
-32
-27
-14
0
27
59
54
18
3
-11
-22
-3
32
26
-17
-8
42
-7
-32
-46
-1
-1
-2
6
-28
-1
-30
-40
18
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
42
25
14
30
2
-14
-27
-23
4
4
0
3
4
15
-2
-72
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
15
-8
13
52
31
-4
-17
-20
0
0
1
0
0
-27
0
-61
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
12
13
6
-1
-16
-27
0
-2
0
2
-1
-12
-1
-43
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
18
20
7
16
5
-5
-17
-23
3
0
1
-1
3
-27
-14
-66
-88
15
32
-1
-15
44
-3
-7
-27
-19
0
-2
-2
3
-7
15
-46
-77
-92
21
1
0
0
0
-48
11
58
42
14
-6
2
6
41
73
26
57
36
12
50
32
38
26
25
8
35
29
37
32
34
32
32
34
29
37
14
18
19
22
22
-1
-1
1
7
-1
-10
-22
-21
-21
-20
-18
-32
-24
-33
-28
-18
-25
-35
-49
-41
-19
-22
-57
-27
-22
-18
-43
-47
-21
-22
-32
-44
-97
-20
-55
-31
-67
-34
-7
0
0
0
0
0
0
0
0
0
0
0
19
17
14
10
19
1
0
-1
-1
-5
-17
-24
-20
-25
-29
-8
-22
-33
-31
-19
27
24
18
18
12
-3
0
-3
-1
-1
-38
-32
-31
-36
-22
-30
-4
-22
-37
-21
43
41
33
24
28
1
2
0
-2
-2
-49
-33
-32
-28
-29
-81
-23
-33
-59
-27
0
0
0
0
0
0
0
0
0
0
8
11
10
6
6
1
0
0
0
-2
-5
-16
-14
-4
-8
4
-18
-31
-13
-1
-20
-8
-5
-3
-8
-57
-35
-27
-24
-36
-14
-2
-4
-3
-6
-51
-34
-33
-24
-10
0
-12
-15
-19
-20
26
-5
-19
-32
-31
39
-13
-26
-35
-31
-8
-22
-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
-5
-11
-9
-13
-18
5
-17
6
3
-44
0
-1
0
0
0
0
0
0
0
0
-6
-6
-5
-11
-7
-6
-11
-5
5
-14
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
3
-8
-17
-15
-15
29
-5
-4
-19
-28
0
0
0
0
0
0
0
0
0
0
-22
-24
-21
-22
-20
-16
-23
-23
-5
-3
-21
-22
-19
-19
-16
-19
-24
-12
-6
-6
1
-14
14
46
-4
31
9
4
15
-17
-15
-12
18
7
35
-12
-1
9
5
22
-4
1
8
5
16
2
1
4
3
2
3
0
-1
-2
-11
-9
-1
-5
-3
-4
-6
8
-1
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
1
-3
-10
-11
-3
-3
-18
-24
-9
-3
-4
-38
-43
-27
-20
16
-29
-57
3
1
1
-7
-11
3
-4
-8
-12
-18
-2
-13
-17
-27
-29
25
-26
-8
-52
-53
3
4
2
1
5
7
-2
-3
-13
-9
18
-12
-21
-23
-22
-21
-31
-25
-49
-48
0
0
0
0
0
0
0
0
0
0
0
2
-2
2
-6
4
0
-2
-5
-6
-5
2
-4
-3
-13
55
48
0
-54
-1
2
-6
-9
-17
-20
20
11
-29
-34
-36
2
-2
-4
-11
-11
1
5
-21
-9
-17
0
-12
-15
-19
-20
26
-5
-19
-32
-31
39
-13
-26
-35
-31
-8
-22
-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
-5
-11
-9
-13
-18
5
-17
6
3
-44
0
-1
0
0
0
0
0
0
0
0
-6
-6
-5
-11
-7
-6
-11
-5
5
-14
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
3
-8
-17
-15
-15
29
-5
-4
-19
-28
0
0
0
0
0
0
0
0
0
0
-22
-24
-21
-22
-20
-16
-23
-23
-5
-3
-21
-22
-19
-19
-16
-19
-24
-12
-6
-6
0
0
0
0
0
0
0
2
13
0
2
-8
-2
7
6
45
132
56
-3
-21
14
18
-47
22
33
96
51
7
-3
-22
-39
-49
32
19
33
67
6
30
11
-36
28
9
16
39
38
35
15
19
13
20
12
13
33
23
65
19
19
-5
24
19
10
19
16
43
51
19
40
31
9
1
6
1
17
17
23
16
16
-4
5
0
0
-11
25
35
1
17
12
-3
-10
-15
-1
2
-3
23
-28
-20
-14
-20
-17
10
-14
-19
-73
1
-8
-26
-31
-17
-11
72
8
-50
-29
-30
-34
-33
-15
0
-5
-14
-2
-15
-35
-32
-24
-4
0
0
0
3
-29
-24
-60
-62
-26
0
0
0
0
0
-13
-31
-3
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
-3
4
11
6
8
6
8
-44
4
1
7
1
4
-5
0
-2
-2
30
-18
-14
-12
-14
-19
-10
-21
-4
-10
8
-19
-28
5
-17
-23
-44
-7
-4
-27
-17
-6
16
7
7
12
27
-12
-6
3
-8
-8
-4
0
1
53
18
4
-11
-17
-24
-16
-13
-25
-3
57
24
26
-1
-2
-24
-29
-53
-4
-11
14
9
2
13
11
13
26
-6
2
17
3
5
0
-6
0
0
-22
34
0
0
-24
-14
-21
-12
-24
54
55
29
15
14
-37
-64
-35
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-16
-11
3
-6
0
12
7
7
-16
18
1
0
2
-1
-1
0
-2
-20
0
8
-7
3
-10
-6
-11
-13
-3
24
2
-3
26
2
-58
-7
-83
20
-3
1
17
14
-3
-4
0
-5
74
60
68
9
-13
-30
-29
-20
-39
-5
-10
-10
1
-3
-7
-11
0
-3
1
68
31
47
1
-32
-25
-11
-25
20
11
36
32
9
3
-8
-8
-16
9
36
15
26
10
7
-28
-21
-39
7
29
14
6
-32
-15
-50
-65
-93
0
-5
1
-6
11
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
-7
23
26
20
12
-5
-11
-19
-22
9
0
0
-1
-3
9
-26
-26
-77
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
16
41
21
8
-1
13
-12
-9
-21
-1
1
10
-4
-9
-28
-24
-62
-41
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
26
21
26
1
19
-15
-17
-21
3
-5
1
25
22
-23
-15
-39
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
21
-9
14
-5
-12
-18
-11
-26
4
6
39
10
-15
-18
-36
-29
-64
11
16
14
0
-1
-13
-17
-10
-19
3
3
3
31
19
-33
-52
-53
-65
-3
-11
-5
29
-25
-22
37
-3
14
-6
4
-2
3
24
-65
18
-33
19
10
15
13
-8
-6
-1
14
1
20
-26
19
9
-17
8
18
1
-4
11
-16
27
-14
-9
9
12
2
2
3
-18
4
1
-5
5
7
0
-1
0
27
23
-8
8
-23
-5
-13
0
-2
-1
-4
-5
-1
-5
-1
-5
0
-3
0
-2
0
-12
15
22
-20
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
-29
-19
-12
-27
-6
-6
-1
-1
-55
-21
-31
-12
-29
-13
-19
-2
-5
7
-15
-31
-20
-10
-17
-25
5
-2
0
0
0
0
1
-30
-30
45
-2
-7
-28
-12
-12
-13
-6
-8
0
-1
-45
-3
14
0
-16
1
-16
-2
-6
3
-6
14
-14
-10
-19
-24
1
-9
0
0
0
-7
6
-5
-12
0
6
-11
19
18
-39
3
3
0
1
-1
35
44
0
-13
1
-15
-12
0
-1
2
20
-3
-23
-29
-29
-36
4
-11
0
4
0
10
9
-10
-78
-1
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-22
4
-5
-18
0
-3
1
-4
-17
-30
-12
-30
3
-3
-7
0
-2
5
38
55
6
1
1
-14
-2
-4
0
0
0
0
4
-3
2
-29
32
-3
29
-41
-34
-21
-13
-17
-3
-13
1
-1
-20
-37
24
-17
-26
2
3
-26
-10
6
27
-7
-4
-12
-2
-5
0
0
-21
-89
-44
-14
-21
7
2
20
11
36
32
9
3
-8
-8
-16
9
36
15
26
10
7
-28
-21
-39
7
29
14
6
-32
-15
-50
-65
-93
0
-5
1
-6
11
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
-7
23
26
20
12
-5
-11
-19
-22
9
0
0
-1
-3
9
-26
-26
-77
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
16
41
21
8
-1
13
-12
-9
-21
-1
1
10
-4
-9
-28
-24
-62
-41
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
26
21
26
1
19
-15
-17
-21
3
-5
1
25
22
-23
-15
-39
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
21
-9
14
-5
-12
-18
-11
-26
4
6
39
10
-15
-18
-36
-29
-64
11
16
14
0
-1
-13
-17
-10
-19
3
3
3
31
19
-33
-52
-53
-65
21
0
0
0
0
-38
4
29
54
-1
8
20
-7
11
48
20
27
40
5
35
28
13
17
5
32
17
19
21
21
10
14
21
16
16
20
12
12
11
4
14
1
-2
-2
-2
-8
-16
-16
-13
-5
-13
-5
-20
-24
-25
-24
-8
-31
-34
-23
-35
1
-29
-25
-20
-24
-15
-34
-44
-29
14
-42
-62
-57
16
-41
-32
-27
-23
-2
0
0
0
0
0
0
0
0
0
0
0
17
13
8
4
-6
-5
0
-8
-8
-3
-13
-18
-22
-23
-19
4
-28
-39
-7
17
6
11
10
10
9
-6
-3
-4
-10
-9
-38
-31
-36
-34
-24
-40
-20
-19
-19
-14
37
34
28
23
22
-3
2
-4
0
-3
-38
-33
-26
-27
-27
-67
-42
-37
-22
-31
0
0
0
0
0
0
0
0
0
0
21
3
9
6
9
5
0
-1
-1
-4
-13
-16
-18
-9
-15
-19
-17
-14
0
20
-24
-17
-19
-23
-28
-44
-46
-39
-26
-30
-21
-17
-16
-15
-22
-74
-42
-34
-30
-28
-8
-13
-23
-21
-30
16
-11
-20
-27
-19
21
-2
-17
-46
-16
-5
-18
-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
-11
-13
-13
-11
-9
10
-20
-27
-1
-10
0
-1
0
0
0
0
0
0
0
0
-12
-3
-17
-16
-22
-18
-22
-4
12
-18
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
-10
-14
-19
-16
-9
0
8
-17
-20
-26
0
0
0
0
0
0
0
0
0
0
-23
-22
-23
-21
-21
-25
-19
-23
-21
-4
-26
-26
-23
-25
-24
-19
-18
-22
-18
-28
9
-37
15
52
-4
3
-11
6
29
17
4
-13
15
15
0
-7
-1
4
10
2
4
2
5
3
5
-4
1
-5
-4
5
-1
2
-4
-3
-3
4
-5
-11
2
-21
8
22
-5
-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
-3
-5
-5
-9
-14
-8
-8
-10
-22
-25
-13
-13
-3
-32
-35
0
1
-2
-36
-95
5
-2
-5
-10
-14
-11
-8
-17
-24
-15
4
-10
-30
-35
-36
22
-17
-46
-21
-42
5
-2
-7
-14
-2
6
-7
-19
-29
-14
-4
-6
-31
-38
-34
18
-26
-71
-46
-64
0
0
0
0
0
0
0
0
0
0
5
2
3
-2
-7
-3
-1
-1
-9
-4
5
-6
-15
-19
-1
62
28
-14
-46
-4
4
-10
-21
-17
-18
20
-16
-21
-39
-33
-13
-9
-13
-17
-7
7
-2
-18
-16
-20
-8
-13
-23
-21
-30
16
-11
-20
-27
-19
21
-2
-17
-46
-16
-5
-18
-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
-11
-13
-13
-11
-9
10
-20
-27
-1
-10
0
-1
0
0
0
0
0
0
0
0
-12
-3
-17
-16
-22
-18
-22
-4
12
-18
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
-10
-14
-19
-16
-9
0
8
-17
-20
-26
0
0
0
0
0
0
0
0
0
0
-23
-22
-23
-21
-21
-25
-19
-23
-21
-4
-26
-26
-23
-25
-24
-19
-18
-22
-18
-28
0
0
0
0
0
0
0
2
13
0
-3
-8
-4
11
16
77
81
49
3
19
19
6
-41
31
1
51
55
5
-32
-4
-20
-64
16
44
16
43
19
12
15
-11
2
4
3
28
17
34
17
0
-6
28
9
6
23
19
77
34
18
23
30
14
11
12
5
17
39
35
43
28
1
6
5
2
59
8
30
16
4
2
-3
-2
-4
-43
-24
-1
-20
6
-2
1
-9
-5
-33
31
31
-23
-8
-10
-16
-16
-13
-23
-32
-36
-37
-8
-32
-20
-14
-2
-9
66
-17
-56
-29
-13
-23
-35
3
2
-6
-14
-10
-26
14
-27
-34
16
0
0
0
1
-41
-38
-39
-30
-12
0
0
0
0
0
-13
-21
8
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-6
-11
0
11
4
5
7
2
15
60
10
19
7
-1
-5
-1
-4
-18
1
0
-7
-16
-15
-19
-11
-22
-4
-13
3
-8
-5
-7
-33
-19
-13
-16
-13
-30
-10
-5
5
4
8
8
19
37
14
-18
-13
0
-3
-3
-3
47
1
-9
5
-21
-12
-20
-17
-36
-9
52
13
25
-9
-21
-37
-27
-39
20
-2
1
4
7
14
12
19
22
-17
7
5
6
-2
-6
-7
2
-2
-14
19
18
-1
-16
-17
-23
-16
-18
55
51
43
22
-13
-45
-49
-48
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
8
-13
13
3
-6
7
9
5
1
-9
4
1
-6
-1
2
0
-1
-37
10
-6
11
-3
-4
-9
-9
-17
-1
22
-1
3
21
-1
-54
-42
-47
44
-29
-8
-11
-2
-10
-14
-5
-18
56
51
61
-8
-17
-33
-27
-31
-50
38
27
5
-10
-18
-13
-15
-7
-13
-23
44
10
2
-22
-34
-28
-21
-35
30
15
16
-5
3
0
-15
-13
-13
-4
13
24
31
15
-1
-36
-20
-25
3
7
25
5
-26
-32
-18
-55
-72
0
-8
0
-6
11
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
23
35
18
7
-1
-1
-14
-14
-24
4
-1
-6
-2
-5
-21
-18
-52
-27
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
15
42
23
30
10
-12
-14
-14
-14
-2
-1
10
0
-9
-8
-31
-25
-75
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
44
8
6
0
-24
-19
-22
1
-3
0
21
10
-9
-16
-59
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
24
7
13
-7
-14
-12
-14
-26
6
4
25
12
-35
-23
-31
-31
-54
6
19
7
6
-11
-17
-20
-16
-23
3
5
6
7
9
-40
-52
-52
-59
10
5
10
14
-19
-9
44
-10
-3
-5
-14
26
10
9
-22
13
-18
-2
14
23
12
-1
14
4
13
-16
2
-24
13
-24
-24
14
-3
10
2
4
-28
12
-9
15
-12
8
3
2
3
-29
13
-27
-10
-12
-1
-1
3
-1
52
25
-1
8
-12
3
-11
-6
-2
-1
-31
4
7
-32
13
-10
0
-7
0
-2
-1
-27
37
7
-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
0
0
0
0
0
0
0
0
-8
-9
-15
-2
-7
-6
-3
0
0
-53
-50
-31
-10
-33
-15
-17
-2
-15
7
-12
-34
-13
-10
-8
-19
12
-14
0
0
0
0
-5
-18
-27
13
-9
-19
-5
-4
6
-21
-7
-11
-3
-1
-32
1
-11
-12
-20
-19
-21
-7
-18
9
1
23
17
-18
-2
-25
-11
-28
0
0
0
-7
34
19
-40
-12
-28
24
17
-18
-10
3
-14
-6
-1
-4
75
46
-3
-18
-13
-18
-20
-2
-12
8
6
22
-48
-20
-27
-34
-2
-27
0
4
0
7
8
-19
-88
11
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-38
8
-18
-1
9
-4
2
-2
-19
-14
-18
1
-12
-6
-5
0
-5
6
14
63
14
-12
-23
-14
6
6
0
0
0
0
3
-3
4
-34
47
18
20
-9
-13
-13
-13
-17
-8
-10
0
0
-16
-16
32
-19
-22
2
-22
11
-17
-13
-8
-19
-16
-13
-4
-10
0
3
-11
-70
-45
-33
-22
9
-16
30
15
16
-5
3
0
-15
-13
-13
-4
13
24
31
15
-1
-36
-20
-25
3
7
25
5
-26
-32
-18
-55
-72
0
-8
0
-6
11
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
23
35
18
7
-1
-1
-14
-14
-24
4
-1
-6
-2
-5
-21
-18
-52
-27
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
15
42
23
30
10
-12
-14
-14
-14
-2
-1
10
0
-9
-8
-31
-25
-75
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
44
8
6
0
-24
-19
-22
1
-3
0
21
10
-9
-16
-59
-70
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
24
7
13
-7
-14
-12
-14
-26
6
4
25
12
-35
-23
-31
-31
-54
6
19
7
6
-11
-17
-20
-16
-23
3
5
6
7
9
-40
-52
-52
-59
1
0
0
0
0
43
-30
-8
4
1
-3
58
20
-5
16
58
-1
4
-3
0
52
3
24
-18
16
8
13
44
8
-22
31
18
-11
35
17
-4
-13
-13
-10
6
1
49
-19
-5
-31
-3
-25
15
5
-4
-34
-4
-5
15
9
-15
-35
5
17
11
-66
12
-6
14
-7
-35
32
-9
-11
-47
2
-25
-18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-8
10
1
2
1
7
-22
-21
9
-6
-19
-11
-4
-43
-14
-11
-40
-15
0
3
-23
-7
-2
-16
-12
-7
3
-11
9
0
8
-51
-14
0
-36
4
-37
-9
-86
27
14
11
19
0
6
-1
2
-1
-2
-20
-16
-26
-6
6
-50
-26
-56
-8
10
0
0
0
0
0
0
0
0
0
0
31
2
-17
11
36
9
4
-11
-4
-12
-13
21
3
-11
-32
-75
18
-12
13
0
0
-18
-11
-23
-2
-70
-27
-19
-21
-32
-35
-21
-30
-5
-27
0
-52
-53
-32
-19
-3
-16
-14
-13
-3
-37
-18
-6
2
-15
-2
-40
-19
-14
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
4
5
-21
-40
3
17
-23
-39
-9
-11
0
0
0
0
0
0
0
0
0
0
-9
-32
3
14
-3
-10
-34
9
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
-20
-34
18
-16
-26
-17
14
3
-27
-20
0
0
0
0
0
0
0
0
0
0
-18
-21
-2
-3
-16
-48
-17
-9
21
-15
-22
-28
-33
-9
-28
-58
-45
-8
-1
30
28
2
0
15
0
-4
8
2
-23
38
-25
4
9
60
-7
4
20
6
-1
0
7
-6
6
13
10
-3
1
18
-6
0
-6
-10
-5
-21
3
10
-13
-27
-5
-8
45
15
-54
-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
6
-10
-10
-5
2
12
-30
13
-16
-19
-2
-32
-19
-15
-1
-35
-26
9
-17
-10
-5
-7
-10
-16
-1
9
-48
-24
10
-13
-13
6
3
-51
-76
-38
28
-53
15
-18
-5
-5
-18
6
11
20
-19
-50
-55
10
-46
15
5
6
-66
5
-2
-44
14
-18
0
0
0
0
0
0
0
0
0
0
2
6
-2
13
-1
-3
2
-2
-17
-4
3
15
-55
4
-18
-1
24
-29
3
1
3
-1
14
-15
-40
-14
4
19
-47
-11
20
13
-19
-22
-64
7
-25
2
-26
-16
-3
-16
-14
-13
-3
-37
-18
-6
2
-15
-2
-40
-19
-14
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
4
5
-21
-40
3
17
-23
-39
-9
-11
0
0
0
0
0
0
0
0
0
0
-9
-32
3
14
-3
-10
-34
9
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
-20
-34
18
-16
-26
-17
14
3
-27
-20
0
0
0
0
0
0
0
0
0
0
-18
-21
-2
-3
-16
-48
-17
-9
21
-15
-22
-28
-33
-9
-28
-58
-45
-8
-1
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-6
14
0
0
-2
-2
24
12
-12
-27
51
0
1
21
4
-17
-3
-24
31
-10
-2
-1
-17
18
4
9
16
-9
-21
2
-40
4
-4
-19
3
-35
21
-6
4
24
1
49
30
-17
-4
4
2
26
30
10
7
-3
2
-2
0
-9
-27
-19
-19
-21
12
33
12
9
-22
14
27
-2
-27
-56
-35
33
-12
5
-5
-1
-1
-53
23
-10
15
-21
39
-6
-21
17
9
-51
-4
3
27
2
0
-9
-4
4
-11
12
-29
2
35
0
-1
7
-3
1
30
-54
2
-25
0
0
0
0
0
-19
6
-14
-14
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
-4
-30
-18
24
3
29
-13
1
19
34
21
11
8
7
-1
1
-5
-21
-29
-17
24
1
-9
-1
-9
-16
-8
-4
0
-3
-9
-30
-12
-31
38
-41
-6
28
6
-21
7
-7
6
2
-3
8
-11
6
2
24
1
-2
6
-25
-8
-13
-33
17
-8
-14
-29
-25
20
0
4
4
-42
-13
-37
-36
-5
-46
-3
18
25
-5
-3
12
3
23
-3
9
23
-39
2
-10
11
-2
0
3
-5
-35
27
23
4
-20
-8
-30
-15
6
-2
-3
6
27
2
-45
-49
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
2
3
20
2
-14
18
1
21
5
20
-2
-3
-2
6
-6
-8
-30
1
-28
-7
-7
0
-21
21
5
0
0
0
9
1
-19
-31
2
-21
20
23
5
-9
-3
-2
-27
-23
-19
-14
-2
-2
-31
-32
-11
-1
-55
-39
22
35
10
-8
5
-32
-25
-15
-2
-5
0
20
1
-51
9
-24
-39
-59
-13
9
8
-19
2
0
-21
2
-6
13
11
33
28
-6
-19
-28
-25
-60
0
0
1
-8
12
-34
9
-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
45
28
44
17
2
-9
-22
-20
-37
1
0
-1
-1
-9
-22
24
-50
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
45
24
3
-8
-7
-5
-10
-57
1
-1
1
0
-11
3
-12
-20
5
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
24
12
-13
22
-6
-21
-38
-40
0
0
0
-2
-7
6
-4
-44
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
21
55
1
-9
-2
-13
-18
-21
0
3
6
20
-3
2
-40
-43
-35
0
3
11
-16
-11
-17
-1
-23
-11
0
-1
1
-34
11
-3
-26
-36
-25
0
0
1
-2
-2
3
32
-11
9
-3
29
4
8
-23
18
-37
-1
11
24
11
-4
1
72
-5
-11
-17
-39
-6
-29
11
-2
-22
3
8
2
13
-11
-7
-14
-4
23
-11
0
5
34
18
-8
0
19
-34
2
3
-18
6
-17
8
-3
-12
16
11
-8
12
-48
2
1
-20
-2
8
19
2
-20
1
0
0
1
-28
-3
-10
-14
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
-7
27
-31
3
-37
-12
4
-9
16
25
-45
3
24
18
22
-11
-24
-30
-2
1
-6
-15
-28
-30
-50
54
-2
0
0
0
0
0
11
5
-65
-21
-7
-2
-18
5
6
-16
-15
2
1
7
-6
-13
-24
-6
7
-6
-12
3
0
-3
11
10
-26
-10
-18
-21
-33
0
0
0
-1
11
18
-35
-6
-37
-11
37
-14
3
2
-20
-11
12
-17
38
-25
-7
39
-6
-1
-18
-27
-10
-1
-7
21
-21
-15
11
-59
12
-20
0
0
0
2
-4
-21
9
-22
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
19
3
-14
13
13
0
4
6
-12
-10
4
20
-3
1
-5
-6
-5
0
4
-2
-10
3
-28
-19
16
-35
0
0
0
0
0
0
-10
-1
16
42
12
-8
-20
6
-19
-11
-15
8
0
0
-6
9
4
26
-64
19
-44
7
-26
-23
-39
13
5
-20
-3
-17
0
0
4
21
-30
-6
-27
-45
-13
-13
9
8
-19
2
0
-21
2
-6
13
11
33
28
-6
-19
-28
-25
-60
0
0
1
-8
12
-34
9
-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
45
28
44
17
2
-9
-22
-20
-37
1
0
-1
-1
-9
-22
24
-50
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
45
24
3
-8
-7
-5
-10
-57
1
-1
1
0
-11
3
-12
-20
5
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
24
12
-13
22
-6
-21
-38
-40
0
0
0
-2
-7
6
-4
-44
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
21
55
1
-9
-2
-13
-18
-21
0
3
6
20
-3
2
-40
-43
-35
0
3
11
-16
-11
-17
-1
-23
-11
0
-1
1
-34
11
-3
-26
-36
-25
0
6
0
0
0
2
-14
-10
-27
-2
33
48
-29
65
-61
19
-35
58
74
38
2
5
6
38
35
0
17
17
7
-4
5
6
9
5
5
6
1
8
0
-1
-2
-2
2
-1
3
0
-3
0
14
17
-8
-5
11
15
11
-4
-6
7
8
43
-23
-43
-10
16
43
-1
-43
-14
5
59
-6
-21
-63
19
18
1
9
7
0
0
0
0
0
0
0
0
0
0
0
0
5
22
16
18
-7
-3
0
0
0
1
-12
-21
-7
-23
-16
31
-52
-42
17
22
20
37
21
20
33
0
0
-1
0
0
-21
-47
-40
-10
-10
-111
-28
-39
50
61
24
31
19
9
21
0
0
0
0
1
-21
-28
-19
-8
11
-88
-64
-66
48
1
0
0
0
0
0
0
0
0
0
0
12
18
3
-9
-3
-3
0
0
0
1
12
-18
8
-5
5
49
-7
-15
6
18
-9
-1
-1
0
1
-65
-70
-65
-57
-45
-7
-2
-1
0
0
-43
-56
-51
-31
-17
2
-11
-9
-4
-16
22
-15
-7
-5
-21
-14
-33
-25
6
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
11
-10
-3
-10
-12
21
2
-28
-15
8
0
0
0
0
0
0
0
0
0
0
-2
-8
-5
-7
-3
-7
8
-15
-32
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
9
-13
8
7
-3
7
-50
-13
10
12
0
0
0
0
0
0
0
0
0
0
-16
-23
-21
-13
-12
-18
-43
-37
-42
16
-23
-25
-18
-23
-20
-46
-47
-52
-27
15
28
2
43
3
-2
-30
39
34
-9
3
-2
18
13
42
72
-22
1
21
28
47
-6
4
12
18
32
1
-1
5
6
4
4
-4
0
1
-2
6
-3
0
0
3
8
-10
4
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
6
2
5
5
7
-2
-1
-1
-1
0
2
2
-1
-16
-28
14
7
-5
-70
3
18
3
13
13
31
1
-1
-1
-2
0
-7
-3
-17
-15
3
-59
-29
50
-8
-66
-6
10
9
21
15
0
0
0
0
0
-15
-7
-18
-37
-40
14
27
-73
-18
-33
0
0
0
0
0
0
0
0
0
0
-13
-8
6
-8
-3
-1
0
-2
0
0
4
0
-7
-13
-18
8
30
-5
-44
4
-14
-7
-3
-1
0
-12
-30
-13
-2
-9
-13
-2
-2
-1
1
4
-29
-3
-30
5
2
-11
-9
-4
-16
22
-15
-7
-5
-21
-14
-33
-25
6
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
11
-10
-3
-10
-12
21
2
-28
-15
8
0
0
0
0
0
0
0
0
0
0
-2
-8
-5
-7
-3
-7
8
-15
-32
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
9
-13
8
7
-3
7
-50
-13
10
12
0
0
0
0
0
0
0
0
0
0
-16
-23
-21
-13
-12
-18
-43
-37
-42
16
-23
-25
-18
-23
-20
-46
-47
-52
-27
15
0
0
0
0
0
0
0
1
0
0
-2
-2
0
1
1
1
-43
-6
0
-1
-3
-1
0
24
-16
96
-33
0
-5
-49
-18
-100
0
28
47
-6
-8
-63
15
-54
1
-19
28
24
16
1
36
1
6
-6
-14
8
15
19
-60
-35
-3
18
-3
-9
12
15
11
74
-23
23
23
-2
-5
11
7
8
1
21
-16
11
-23
5
1
0
0
1
37
-15
22
36
4
5
-6
2
19
34
18
-22
16
22
-3
-10
-8
0
-18
1
23
-8
-47
6
-27
-17
8
1
2
-4
7
12
-13
-33
-22
0
0
0
0
0
-18
-20
-11
6
0
0
0
0
0
-3
-18
-10
12
0
0
0
0
0
0
-1
11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-26
0
10
22
13
6
12
16
2
29
-22
-21
-23
9
2
0
0
-23
-27
-12
-5
6
-30
3
-15
-21
-3
16
-3
-2
7
-21
-18
-40
-43
2
19
-15
5
5
-11
8
22
26
8
-38
-9
-35
-3
-12
4
0
0
-47
0
6
-11
-28
18
-8
-29
-37
1
-12
-13
-8
12
-9
13
-72
-65
6
4
-21
-14
15
29
16
27
36
-11
-38
5
3
-4
2
2
0
0
-20
-2
-1
3
-4
-28
-5
-22
-22
-27
-33
2
-23
-8
4
2
-60
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-52
-8
29
-33
16
11
4
8
32
1
-8
2
13
-5
3
0
0
-29
-27
-21
-40
-11
-9
9
-13
-3
0
3
-7
31
-5
-15
-26
-1
3
42
18
15
-3
26
-3
3
0
0
1
-8
9
18
-1
-26
-21
-79
-89
1
-40
-21
9
-4
-5
-1
0
0
-1
-3
-6
9
-14
7
-23
-63
-129
-17
-28
6
-9
4
-19
-7
-14
-9
-3
12
-9
4
-32
16
-22
-18
-15
-1
-2
0
-7
-1
-24
5
-15
17
0
0
3
-2
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-21
36
-31
-5
0
1
-9
-5
18
-8
-2
-2
21
12
10
-41
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
-12
1
-28
-18
-13
-8
-7
0
-3
1
6
-16
-2
6
13
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-24
22
-11
-5
-20
-4
-22
-15
0
4
-1
2
-3
-18
-2
-45
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-9
-28
7
12
-3
-8
-19
-22
-7
-1
7
-21
4
-39
-9
-56
-59
-18
-28
-9
-14
-18
-7
-3
-21
-26
2
-3
-2
18
-8
-30
-30
-63
-71
0
-3
0
0
0
-4
2
-3
3
-1
14
-20
-14
2
76
-25
64
-63
-42
-44
-4
18
8
25
15
6
-3
-11
-63
-30
-9
7
15
0
12
8
19
3
37
-35
-34
-12
-17
7
10
-29
17
-23
19
-28
-17
2
1
0
4
-2
-20
-27
-22
16
8
-1
1
0
-11
0
11
29
-20
-3
-5
-1
0
0
0
0
12
59
22
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
-6
-12
-50
-27
23
-3
8
1
1
-36
-59
-14
-53
-36
0
9
-1
-1
-6
-1
-6
6
29
-17
5
-2
-18
0
0
0
0
0
-1
-21
42
-32
6
-5
-7
7
15
-9
4
6
-5
-14
-17
-29
-45
-53
1
5
0
0
-57
-34
-14
7
24
-19
-11
-5
12
0
0
0
-1
1
12
2
-26
-70
31
56
9
-27
-1
25
18
9
5
-40
-74
12
-18
-6
0
2
0
0
-34
1
26
14
-22
-4
-22
-15
7
-1
2
-3
1
18
-39
-21
14
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-7
10
-13
4
-7
8
7
-2
-79
-49
-56
-30
-17
-5
3
0
0
-1
-4
-8
4
17
15
11
9
8
0
0
0
0
0
1
-27
-8
32
-55
-64
15
13
-15
-20
4
-2
-1
0
1
0
2
-21
29
-2
-19
-8
-32
-33
-12
9
-4
-8
-2
0
0
0
0
-7
1
-10
5
-25
-26
-31
-17
-28
6
-9
4
-19
-7
-14
-9
-3
12
-9
4
-32
16
-22
-18
-15
-1
-2
0
-7
-1
-24
5
-15
17
0
0
3
-2
0
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-21
36
-31
-5
0
1
-9
-5
18
-8
-2
-2
21
12
10
-41
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
-12
1
-28
-18
-13
-8
-7
0
-3
1
6
-16
-2
6
13
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-24
22
-11
-5
-20
-4
-22
-15
0
4
-1
2
-3
-18
-2
-45
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-9
-28
7
12
-3
-8
-19
-22
-7
-1
7
-21
4
-39
-9
-56
-59
-18
-28
-9
-14
-18
-7
-3
-21
-26
2
-3
-2
18
-8
-30
-30
-63
-71
0
28
6
1
0
-45
54
19
51
10
33
16
8
37
32
12
34
36
21
33
21
20
28
7
37
31
25
29
16
32
17
26
36
29
30
19
24
21
20
19
-8
-1
3
6
-3
-30
-21
-18
-20
-18
-24
-29
-29
-39
-31
-29
-45
-41
-44
-33
-20
-30
-46
-52
-55
-34
-15
-32
-99
6
-26
-70
-67
-47
-10
-32
-61
-49
-9
1
0
0
0
0
0
0
0
0
0
0
16
13
17
15
3
-9
0
0
0
-4
-16
-22
-22
-29
-21
15
-26
-29
-24
-15
16
19
21
14
23
-8
-1
-1
-2
-1
-37
-32
-28
-30
-29
-58
-29
-24
-12
-16
50
36
34
35
38
0
-2
0
2
3
-42
-37
-31
-23
-22
-87
-48
-28
-25
-11
0
0
0
0
0
0
0
0
0
0
19
9
12
10
11
-2
-1
0
0
-1
-7
-17
-13
-13
-12
11
11
3
-30
-12
-27
-4
-5
-6
0
-69
-30
-31
-29
-22
-7
-5
-5
-11
-2
-48
-36
-25
-38
-14
7
-12
-14
-12
-12
11
-6
-24
-29
-25
-2
-6
-17
-25
-40
5
7
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
-15
-12
-15
2
-8
-14
17
2
-3
0
-2
0
0
0
0
0
0
-5
-6
-20
-11
-17
12
-1
-33
-24
-36
6
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-12
-7
-6
2
-17
-8
-4
-8
0
0
0
0
0
0
0
0
0
0
-33
-25
-23
-18
-20
-18
-23
-16
1
-11
-36
-30
-19
-10
-5
-39
-36
-7
6
26
-26
36
60
-21
8
18
16
8
14
16
-13
10
-4
22
3
5
3
-2
15
1
0
1
2
7
2
2
0
2
6
6
8
-2
1
3
3
15
-2
-6
-3
-4
18
-10
-16
-17
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
-10
5
-2
-10
-14
-23
16
-1
-13
-29
-36
45
6
-4
-53
-32
10
2
0
-9
-16
29
-1
-16
-27
-35
51
3
-31
-49
-54
80
2
-44
-78
-54
13
1
4
18
13
40
-1
-9
-9
-10
76
0
-35
-40
-50
110
-15
-84
-84
-74
0
0
0
0
0
0
0
0
0
0
-10
1
2
4
1
1
-2
0
-5
-6
17
8
-2
-25
-8
12
6
-41
-30
9
-3
-9
-9
-10
-8
10
-16
-14
-21
-2
2
-3
-8
-12
-14
23
-13
-29
-9
-5
7
-12
-14
-12
-12
11
-6
-24
-29
-25
-2
-6
-17
-25
-40
5
7
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
-15
-12
-15
2
-8
-14
17
2
-3
0
-2
0
0
0
0
0
0
-5
-6
-20
-11
-17
12
-1
-33
-24
-36
6
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
-12
-7
-6
2
-17
-8
-4
-8
0
0
0
0
0
0
0
0
0
0
-33
-25
-23
-18
-20
-18
-23
-16
1
-11
-36
-30
-19
-10
-5
-39
-36
-7
6
26
0
0
0
0
0
6
9
10
0
0
-15
-2
-6
22
74
62
25
32
-2
3
-35
-7
-23
9
26
88
75
-2
24
-46
3
8
10
8
45
49
-20
-10
0
-1
-22
-2
16
37
42
-38
-13
15
18
-6
5
20
25
26
-42
-50
13
12
-2
12
13
21
25
-18
-51
43
6
14
8
9
7
14
22
-17
16
35
-7
3
2
-5
5
61
25
-7
36
14
2
3
-10
-1
23
11
15
-10
-5
-3
-7
-30
-18
-53
44
2
7
6
11
-15
-29
-27
-4
-16
-11
-52
-13
-23
-41
-40
-27
6
10
-5
-29
-15
-46
-37
-87
-17
0
0
0
0
-3
-36
-48
-56
-31
0
0
0
0
0
0
-21
-83
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
20
22
13
4
6
9
7
6
24
5
-10
16
-4
-2
0
0
0
-1
2
-8
-35
-6
-13
-4
-11
-18
-19
-20
10
-22
-11
5
-20
-21
-35
-38
-29
-16
3
-15
6
9
10
16
-24
-21
-1
-17
-4
-6
2
0
-1
-9
2
-6
-21
0
-13
-7
-12
-28
53
41
22
43
5
-20
-29
-37
-74
22
-33
-1
0
25
15
21
14
28
11
-1
-15
-2
-4
2
7
0
0
4
8
-13
-5
1
-10
-9
-11
-23
41
9
18
-3
-13
-28
-19
-29
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-15
-7
-11
5
-8
14
8
15
-7
17
-8
-5
-2
1
2
0
0
-7
-16
4
-8
-27
-11
-8
-7
-16
3
23
-17
29
65
-12
-36
-22
-16
43
17
-10
-15
5
-7
-5
-1
-4
-4
32
23
-2
-54
-62
-36
-22
-30
38
11
14
12
12
-15
-5
0
-2
-29
34
32
22
-41
-33
-15
-20
-24
-22
-12
-17
-13
-27
-19
-11
-5
-3
-21
-16
-3
-20
-20
-12
-6
0
15
2
3
-5
-15
-22
-17
5
1
46
0
0
6
-1
-6
-9
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
-33
-21
-5
-31
-25
-21
-1
-2
9
14
-11
-14
-2
24
-16
-23
-34
1
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-38
-3
-16
-33
-15
-13
-3
-3
4
0
-4
-1
8
-37
-38
-16
-9
40
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-22
-27
-6
2
6
-7
2
5
-6
7
-30
-14
-9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
14
-1
-7
-10
-9
-13
-11
-21
-5
13
16
8
-15
-22
-26
-29
-44
-2
6
8
-3
-3
-16
-15
-9
-22
9
39
12
15
5
-28
-26
-14
-31
-15
17
-2
1
-3
-3
-30
2
19
-19
-32
-30
-23
-8
20
8
46
29
-25
4
-8
26
20
27
5
-6
-6
-24
-18
-5
-3
20
5
19
6
6
-38
-18
13
11
-3
-3
6
1
5
-23
10
-9
-11
-22
-4
5
0
0
32
1
-3
-6
3
-3
6
0
4
-1
-25
-42
13
8
1
2
-2
4
0
0
0
-1
-3
17
-4
-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
-43
6
-3
-19
-13
-10
-1
1
-1
-2
-12
-53
-25
-20
0
-1
-1
-3
-33
-15
-19
17
19
2
0
-5
2
0
0
0
-4
34
-45
-35
-14
-1
-15
-19
12
-8
9
-10
1
0
-7
23
-2
-19
-7
-19
-11
1
-1
-5
-24
-15
-10
-1
-29
-21
-11
-13
-7
2
-3
-1
-20
62
-36
-21
8
15
-8
16
2
0
2
9
-2
1
-7
-6
-32
17
-30
-14
-15
-4
0
-1
-14
-8
-8
-2
3
-7
-3
-7
-4
-1
-6
-80
17
1
0
-19
-16
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-1
-9
-13
-3
-5
3
3
9
-4
-3
-30
-26
-10
-11
0
0
1
-6
-45
-21
19
2
1
12
4
4
0
0
0
0
0
16
-18
15
-22
-7
-6
2
6
8
-17
-11
-2
-2
2
17
-3
1
-7
5
-14
-15
-23
52
22
22
3
7
-8
-5
-1
-4
-4
-7
8
6
-1
-15
-27
-1
-28
-22
-12
-17
-13
-27
-19
-11
-5
-3
-21
-16
-3
-20
-20
-12
-6
0
15
2
3
-5
-15
-22
-17
5
1
46
0
0
6
-1
-6
-9
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
-33
-21
-5
-31
-25
-21
-1
-2
9
14
-11
-14
-2
24
-16
-23
-34
1
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-38
-3
-16
-33
-15
-13
-3
-3
4
0
-4
-1
8
-37
-38
-16
-9
40
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-22
-27
-6
2
6
-7
2
5
-6
7
-30
-14
-9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
14
-1
-7
-10
-9
-13
-11
-21
-5
13
16
8
-15
-22
-26
-29
-44
-2
6
8
-3
-3
-16
-15
-9
-22
9
39
12
15
5
-28
-26
-14
-31
0
15
6
1
0
-27
16
7
53
8
47
27
25
2
4
20
18
9
-2
43
25
15
22
27
-7
20
10
21
11
26
15
17
18
18
10
15
12
19
10
20
1
1
6
-1
-8
-14
-12
-14
-17
-2
-31
-21
-22
-12
-9
-17
-29
-16
-30
-26
-14
-22
-29
-35
-33
-31
-5
-25
-65
3
-10
-86
-65
-10
5
-22
-44
-35
-8
1
0
0
0
0
0
0
0
0
0
0
4
3
19
4
0
3
-3
-4
-4
-1
-8
-22
-25
-27
-23
-26
-18
-15
-29
-4
3
6
3
6
15
-5
-7
-2
-1
-1
-46
-28
-25
-26
-22
-51
-46
-23
-24
-6
41
35
30
35
34
4
-2
4
0
5
-36
-31
-26
-22
-14
-92
-53
-38
-12
-17
0
0
0
0
0
0
0
0
0
0
7
7
8
15
11
-3
-1
-2
-1
1
2
-18
-17
-31
-3
3
-2
6
-13
-9
-32
-20
-20
-19
-12
-52
-38
-38
-50
-27
-16
-14
-12
-21
-12
-52
-38
-37
-40
-23
1
-7
-14
-19
-16
6
-9
-29
-29
-25
21
2
-33
-37
-20
1
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
-6
-16
-13
-21
-1
5
-12
-11
-25
0
2
-3
0
-2
0
0
0
0
0
0
3
-12
-14
-8
-26
19
-16
-51
-7
-31
6
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-13
-12
-16
4
1
-4
-12
-23
-14
0
0
0
0
0
0
0
0
0
0
-20
-24
-22
-21
-18
-26
-14
-19
-8
-3
-39
-30
-16
-6
-5
-44
-45
-24
22
7
12
6
39
-30
13
40
24
-13
19
-14
-3
8
4
19
-27
-7
8
-2
13
-12
-5
2
0
7
7
-4
0
2
3
2
3
-3
-2
2
10
9
-5
11
-13
0
31
-7
-18
-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
1
0
-6
-2
-11
13
-6
-10
-25
-31
14
-8
-26
-33
-40
22
20
-30
-33
-56
16
0
-14
-10
-15
38
-11
-33
-30
-31
65
-19
-37
-61
-42
74
-30
-53
-56
-34
26
-2
-9
-14
2
51
-4
-38
-32
-26
81
-11
-50
-64
-35
108
-37
-79
-87
-44
0
0
0
0
0
0
0
0
0
0
-11
7
0
4
-1
-5
-1
-1
-6
1
7
1
-16
-14
-18
0
9
-72
-49
44
9
-11
-16
-15
-37
34
-22
-29
-20
-33
11
-15
-12
-9
-10
-7
-16
-18
-22
-20
1
-7
-14
-19
-16
6
-9
-29
-29
-25
21
2
-33
-37
-20
1
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
-6
-16
-13
-21
-1
5
-12
-11
-25
0
2
-3
0
-2
0
0
0
0
0
0
3
-12
-14
-8
-26
19
-16
-51
-7
-31
6
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-13
-12
-16
4
1
-4
-12
-23
-14
0
0
0
0
0
0
0
0
0
0
-20
-24
-22
-21
-18
-26
-14
-19
-8
-3
-39
-30
-16
-6
-5
-44
-45
-24
22
7
0
0
0
0
0
6
9
8
0
0
-15
-1
0
10
80
44
38
2
-3
-5
-27
19
-5
15
40
63
57
4
13
0
8
14
14
13
17
18
9
7
-2
-13
2
1
-7
22
33
-34
-39
-19
10
-13
-7
18
19
34
-16
-31
45
5
-4
18
11
9
19
-38
2
36
4
13
4
19
1
3
5
-9
-3
30
3
2
3
0
1
42
42
11
9
3
5
-6
-10
-5
34
23
12
-6
-1
-6
-12
-21
-12
-36
-10
8
15
-11
-6
-20
-17
-17
0
-33
-43
-54
-17
-10
-19
-22
-23
4
8
-2
-18
-18
-13
-10
-100
-25
0
0
0
-1
-3
-48
-46
-12
-14
0
0
0
0
0
0
-29
-37
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
16
20
1
8
-4
4
7
-4
8
-11
6
26
3
1
-2
-3
-5
22
2
-11
-23
-14
-4
-7
-15
-15
-8
2
36
-40
12
-10
-5
-29
-25
-21
10
-26
10
-18
-2
1
9
0
-31
-26
-4
-8
-5
-2
0
-5
-8
13
-13
-6
-20
2
-12
-12
-24
-28
47
88
35
30
13
-15
-25
-51
-60
14
-18
-18
1
16
17
22
19
22
20
-6
-4
-4
5
8
8
-2
2
-20
-2
-1
-1
-4
-13
-11
-19
-18
85
16
9
9
-7
-31
-33
-37
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-14
-15
-27
-10
-8
9
8
18
-32
19
-4
3
6
4
4
0
-1
32
1
15
-15
-6
-18
-12
-10
-9
-2
4
-3
44
31
-49
-13
-34
17
20
-17
30
6
-35
-13
-11
-11
-13
5
41
7
-33
-40
-49
-40
-31
-38
41
25
3
2
-4
-21
-13
-8
-12
-12
54
26
1
-22
-46
-21
-31
-25
-11
-23
-7
-21
-28
-15
-16
-9
0
-32
-16
-14
-8
-23
-20
-9
-4
16
2
-6
19
-13
1
-12
5
-18
32
0
0
6
-1
-6
-9
8
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-28
-5
-19
-5
-9
-8
-13
4
18
4
-14
4
6
-28
-10
-38
-12
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-29
-51
-9
-34
-8
-13
-10
-4
7
0
-8
-1
3
-40
-34
-12
-12
29
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
-22
-20
-10
-12
-4
-11
5
-1
-1
0
-1
0
-15
-8
-31
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
26
12
17
-5
-8
-14
-15
-22
7
15
-10
-1
-2
-21
-27
-35
-37
4
13
-4
-9
-10
-23
-19
-15
-19
-8
18
14
-11
-4
-45
-22
-3
-13
-10
19
-1
26
8
-10
-28
3
4
-4
-30
-11
11
-3
30
-10
16
17
18
-20
19
8
19
3
1
4
-20
-49
-31
-13
1
-12
11
4
14
3
-50
11
-12
3
9
3
7
0
-4
17
-8
2
-1
5
-2
8
-1
0
20
5
6
-10
12
-5
1
-3
2
-4
-17
-57
8
-1
-9
2
-8
1
0
0
0
-1
-38
18
-15
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
-6
7
-24
-5
-8
6
-3
-2
-3
10
-24
-20
-25
-12
-3
-4
-5
-10
-20
0
-29
3
6
-12
-5
-10
2
0
0
0
4
32
-39
-34
0
-64
-6
23
14
3
7
-1
-5
-5
-3
8
-25
-2
-8
-3
-14
-10
-10
-15
-34
-12
0
5
-16
-27
-21
-7
-23
1
-1
0
-24
21
13
-61
25
14
-3
27
-8
14
-3
3
-4
-2
-8
12
16
18
-11
-10
-9
-11
-9
-13
-15
-76
-5
-19
0
2
-10
-16
-9
-2
-14
-89
42
0
-13
-16
-30
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
1
-8
-15
5
2
1
-2
-5
1
-10
-18
-10
-15
-4
-2
0
6
-54
9
27
14
-25
7
1
-17
0
0
0
0
0
3
-14
23
-29
-1
-5
1
-3
-10
-14
-16
-8
-12
8
7
10
-15
-4
-3
-19
-17
-11
27
22
24
1
5
-2
-14
-6
-13
2
6
16
5
18
-1
-34
-21
-17
-11
-23
-7
-21
-28
-15
-16
-9
0
-32
-16
-14
-8
-23
-20
-9
-4
16
2
-6
19
-13
1
-12
5
-18
32
0
0
6
-1
-6
-9
8
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-28
-5
-19
-5
-9
-8
-13
4
18
4
-14
4
6
-28
-10
-38
-12
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
-29
-51
-9
-34
-8
-13
-10
-4
7
0
-8
-1
3
-40
-34
-12
-12
29
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
-22
-20
-10
-12
-4
-11
5
-1
-1
0
-1
0
-15
-8
-31
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
26
12
17
-5
-8
-14
-15
-22
7
15
-10
-1
-2
-21
-27
-35
-37
4
13
-4
-9
-10
-23
-19
-15
-19
-8
18
14
-11
-4
-45
-22
-3
-13
0
1
0
0
0
-12
18
8
-6
1
32
19
27
5
-11
20
12
15
10
19
58
7
-15
23
4
45
17
-20
16
-15
7
2
18
-5
24
12
-8
9
-2
6
-28
23
-13
2
7
-3
-5
-18
4
34
-25
-6
-18
34
10
-46
-34
39
2
-23
-8
-6
-6
-32
13
-34
5
-18
33
-34
-33
0
-17
-5
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
32
-11
26
-14
11
-11
-5
2
28
-15
-22
2
-42
-29
-41
-32
-15
49
24
-15
4
-8
7
6
-8
4
0
1
-41
-17
-19
-8
-21
-39
-22
-52
-9
-21
21
18
29
15
-5
-4
1
1
4
5
-29
-11
-10
-11
12
-74
-61
4
11
7
0
0
0
0
0
0
0
0
0
0
-13
15
19
9
26
-8
-4
13
-3
2
-18
8
6
-17
-3
-20
-10
-11
7
-12
-23
-21
-27
-7
-18
-15
-39
-15
-43
-49
-22
-22
-35
-25
-20
-25
-34
-58
-63
-5
-8
4
-27
-8
-21
-26
-10
14
-5
-31
-8
-9
-28
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
-13
-8
-11
-25
-29
22
-45
-22
-25
1
0
0
0
0
0
0
0
0
0
0
9
-1
-3
-14
9
-2
-17
-5
15
-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
-33
-27
31
-8
-42
11
2
-48
-23
-2
0
0
0
0
0
0
0
0
0
0
-6
-25
-13
-6
-11
-42
-37
-28
24
27
-33
-21
-14
-9
-10
-45
-15
-10
-19
17
11
59
-21
-5
4
0
-17
-1
28
-9
8
4
-20
0
6
5
-10
1
27
13
8
1
19
11
32
-18
15
16
-4
-9
-1
-5
7
5
-12
7
15
-2
-10
-21
16
21
-57
-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
-4
-9
15
-2
-23
-10
5
0
15
-8
-8
30
2
-41
-17
-45
6
-45
6
-9
37
-20
-26
-8
-14
27
-31
-59
-9
21
34
-52
-54
-37
-1
-49
24
-49
-4
25
59
-16
-4
-23
-1
36
-10
-37
-36
-41
-19
-40
-61
3
27
8
-36
-13
19
-21
0
0
0
0
0
0
0
0
0
0
-14
-2
-3
1
-21
-8
-5
9
-12
9
-10
-28
4
37
-12
-1
19
-10
-19
-1
41
16
-28
-8
-36
14
8
-52
11
-21
32
-9
-16
-36
-9
-7
-30
-18
-16
32
-8
4
-27
-8
-21
-26
-10
14
-5
-31
-8
-9
-28
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
-13
-8
-11
-25
-29
22
-45
-22
-25
1
0
0
0
0
0
0
0
0
0
0
9
-1
-3
-14
9
-2
-17
-5
15
-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
-33
-27
31
-8
-42
11
2
-48
-23
-2
0
0
0
0
0
0
0
0
0
0
-6
-25
-13
-6
-11
-42
-37
-28
24
27
-33
-21
-14
-9
-10
-45
-15
-10
-19
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
13
0
0
1
0
4
21
-16
-1
24
29
0
0
14
-6
-6
7
30
-16
-19
-3
36
-22
-13
-7
-3
-2
-2
75
6
-23
-8
9
-9
14
-10
17
-16
-5
20
42
25
43
7
-22
24
-23
-5
-22
-43
16
16
21
25
-11
17
13
1
15
6
-17
7
36
-5
-13
13
27
7
-7
7
14
-18
-2
0
-9
-17
13
-23
6
3
0
-20
35
-8
13
-10
2
-25
19
-24
28
12
2
-4
9
-7
-18
-35
50
23
-9
0
0
-2
-10
-13
-21
58
-44
-17
0
0
0
0
-2
5
-13
26
-45
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
-9
-20
5
16
-10
-3
4
2
18
15
42
-9
-49
0
9
0
4
-18
-27
-9
24
24
0
-1
-10
-12
-13
-2
-9
4
22
-9
-35
15
-42
-32
-6
34
4
-3
-25
7
12
0
-23
-55
-13
-19
5
-1
-8
11
-5
11
58
-9
7
-9
-2
0
-18
-21
-31
-3
11
-25
-15
31
-75
-24
-22
-20
5
35
-27
-22
-4
21
10
33
17
-10
-22
39
-2
10
-10
2
0
2
3
-18
-23
5
4
-10
0
-22
7
12
11
18
12
15
-13
-71
-62
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
8
-16
13
-4
3
3
20
-1
4
6
13
3
2
0
0
-8
2
5
2
-13
-12
-12
10
-4
6
1
3
-3
-1
5
-23
-36
-13
5
-5
-17
29
11
-42
-10
-9
-7
-26
12
22
10
-15
-31
-24
-26
-45
-45
-11
63
25
-29
-21
-5
-7
-14
-23
-1
7
3
22
1
-30
-41
-52
-44
-1
1
-20
-32
0
-16
-6
-1
14
-3
4
-4
15
-5
-11
-16
-8
-28
0
0
-1
1
25
12
0
-85
-27
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-1
-3
8
-23
3
6
-1
-1
1
6
-13
9
-41
13
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-22
11
15
-15
-1
-6
-9
41
0
1
0
0
-19
4
12
-1
-43
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
11
-6
-38
6
-10
0
0
4
0
-9
-3
15
-47
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-6
9
22
0
-3
-5
-12
-4
0
11
0
-25
19
-16
10
-50
-7
2
22
1
-8
-12
1
-11
-1
-11
-1
-29
6
-28
-7
-37
16
-4
10
0
2
-1
-2
-3
15
8
30
19
1
6
14
5
-6
-7
-12
-21
32
-5
-14
13
25
55
5
-32
-33
4
3
-12
9
16
-18
13
2
17
-15
-2
14
-21
19
2
-5
5
-2
-16
-34
-34
9
-29
-4
6
-2
6
7
-1
32
13
-6
-6
-13
-2
-7
31
1
0
1
-15
2
-20
2
8
14
0
0
0
0
-10
22
-23
24
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-23
-17
5
-6
3
-10
-9
-12
26
-4
-1
-26
9
-17
2
-1
15
1
1
3
5
-10
-22
-22
0
0
0
0
-7
1
3
-5
-51
0
41
-16
16
-2
0
-11
-7
11
-19
-20
21
29
8
13
-1
-18
-27
6
-5
-25
-2
8
0
-13
-27
-2
0
0
0
-1
-3
-22
-26
8
-22
-6
-6
-4
-30
-14
7
1
5
-8
15
22
-27
8
23
-8
-34
-36
5
8
-40
22
-18
-25
-24
-3
-24
32
-1
1
0
49
7
13
-31
-31
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
11
-5
-14
-2
2
11
4
-18
5
22
14
8
-14
-17
5
5
1
4
6
9
-16
-1
-6
-44
-5
46
0
0
0
0
0
-1
-1
12
-29
15
4
33
7
19
4
-17
-6
-6
-1
-4
9
20
-43
21
-15
-7
-22
-19
21
2
35
7
-18
-14
-3
-32
0
-2
6
-14
-30
-11
-6
-13
-30
-1
1
-20
-32
0
-16
-6
-1
14
-3
4
-4
15
-5
-11
-16
-8
-28
0
0
-1
1
25
12
0
-85
-27
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-1
-3
8
-23
3
6
-1
-1
1
6
-13
9
-41
13
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-22
11
15
-15
-1
-6
-9
41
0
1
0
0
-19
4
12
-1
-43
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
11
-6
-38
6
-10
0
0
4
0
-9
-3
15
-47
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-6
9
22
0
-3
-5
-12
-4
0
11
0
-25
19
-16
10
-50
-7
2
22
1
-8
-12
1
-11
-1
-11
-1
-29
6
-28
-7
-37
16
-4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
76
22
4
0
0
0
0
0
0
0
0
0
0
0
-27
-89
14
84
36
11
-4
-4
0
0
0
0
0
0
0
0
0
10
-23
34
51
5
0
0
0
0
0
0
0
0
0
0
0
0
-16
-14
-56
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
-88
5
-27
34
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
-68
6
34
2
0
0
0
0
0
0
0
0
0
0
0
0
-71
21
-20
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-104
-34
-31
4
0
0
0
0
0
0
0
0
0
0
0
0
-50
-66
47
19
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
15
-14
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-52
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-22
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
1
-25
30
33
1
0
0
0
0
0
0
0
0
0
0
0
0
2
14
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-27
25
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
29
46
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
9
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
19
11
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
22
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
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
-42
0
0
0
0
0
0
0
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
4
61
41
8
18
-8
0
0
0
0
0
0
0
0
0
0
-1
30
2
33
-45
-52
-79
-8
-1
0
0
0
0
0
0
0
0
15
2
-35
13
10
-62
-26
2
-2
0
0
0
0
0
0
0
0
0
12
-20
-24
68
111
-9
0
0
0
0
0
0
0
0
0
0
1
1
-30
-20
11
-9
-2
3
0
0
0
0
0
0
0
0
0
0
24
10
-1
4
3
-1
0
0
0
0
0
0
0
0
0
0
1
6
-11
3
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
2
6
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
4
0
1
-4
21
-2
0
0
0
0
0
0
0
0
0
0
0
-11
8
19
7
17
-16
-4
0
0
0
0
0
0
0
0
0
1
-4
15
11
60
26
-29
-6
-6
0
0
0
0
0
0
0
0
0
11
13
-10
2
3
2
-11
0
0
0
0
0
0
0
0
0
0
-16
-1
-6
8
-13
-12
0
4
0
0
0
0
0
0
0
0
-3
-17
2
3
-12
-3
0
1
0
0
0
0
0
0
0
0
0
-2
-3
0
9
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
-10
12
136
27
13
0
0
0
0
0
0
0
0
0
0
0
-16
4
92
140
24
32
15
-57
-13
0
1
0
0
0
0
0
0
33
-7
29
128
62
58
69
75
-7
0
0
0
0
0
0
0
0
-3
3
33
16
51
13
70
-25
-4
0
0
0
0
0
0
0
0
44
2
40
55
-25
56
16
79
0
0
0
0
0
0
0
0
0
7
-6
12
8
-46
-36
3
1
0
0
0
0
0
0
0
0
15
2
-22
44
-29
-6
12
0
-3
0
0
0
0
0
0
0
0
0
-38
-2
0
-10
2
-1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
31
15
20
-1
-26
15
0
0
-3
0
0
0
0
0
0
0
-21
7
-11
0
3
-38
15
72
87
17
2
-1
-1
0
0
0
0
-37
-9
-11
-14
3
-18
8
-51
-3
-29
18
-1
1
0
0
0
0
15
-71
4
-52
-19
-18
-1
26
-46
11
8
-2
0
0
0
0
0
35
-50
-16
-66
-23
-13
-26
-66
-50
9
6
0
0
0
0
0
0
86
-62
-15
-45
-42
-26
-34
-75
0
0
6
0
0
0
0
0
0
-6
-36
-46
-37
-50
-17
-9
-72
0
1
-2
2
0
0
0
0
0
29
60
-15
-34
-62
-32
37
-20
-37
0
-8
0
0
0
0
0
0
44
-56
-80
-126
-60
17
-77
1
18
2
-3
4
1
0
0
0
0
1
-13
-17
53
45
4
-27
0
0
0
0
0
0
0
0
0
0
0
19
-35
2
-56
38
4
-62
-17
-33
2
0
0
0
0
0
0
0
9
70
53
30
75
129
-30
-15
-24
4
0
0
0
0
0
0
0
8
-25
24
30
12
43
21
-8
-11
-1
0
0
0
0
0
0
0
-38
29
24
15
47
74
-1
3
-3
0
0
0
0
0
0
0
1
-3
62
-67
14
28
-13
40
51
-8
0
0
0
0
0
0
0
1
28
95
-47
-3
27
20
16
21
62
0
0
-1
0
0
0
0
0
18
-14
34
0
18
16
38
13
-39
0
0
0
0
0
0
0
0
-16
8
-18
-15
22
-8
-65
-27
-1
0
0
0
0
0
0
0
0
38
-14
-6
76
-26
54
0
0
1
0
0
0
0
0
0
0
0
-40
57
37
-20
-73
34
-45
-64
56
1
1
0
0
0
0
0
0
34
105
17
-4
66
11
-2
-52
15
9
0
0
0
0
0
0
0
-3
36
38
57
73
49
7
69
-12
0
0
0
0
0
0
0
0
7
3
-35
29
103
81
-107
66
22
0
0
0
0
0
0
0
0
74
-22
55
-16
134
123
-9
74
13
-1
0
0
0
0
0
0
0
10
37
-16
-38
109
69
-75
10
-4
2
0
0
0
0
0
0
0
1
10
14
-68
-30
91
26
-27
0
0
0
0
0
0
0
0
0
60
-14
2
0
27
2
2
0
0
0
0
0
0
0
0
0
0
-1
22
79
88
-7
44
0
0
0
0
0
0
0
0
0
0
0
-106
73
96
57
-1
-48
-113
-19
-1
0
0
0
0
0
0
0
-24
95
51
89
43
-16
-24
9
-3
-2
0
0
0
0
0
0
0
24
12
63
48
97
-13
71
80
-8
0
0
0
0
0
0
0
0
8
15
125
-10
44
42
31
2
12
-3
0
0
0
0
0
0
0
26
18
35
-32
-54
29
-45
116
0
0
0
0
0
0
0
0
0
-22
30
15
10
17
-62
15
2
0
0
0
0
0
0
0
0
0
0
-27
11
-57
-67
-19
-44
-1
-4
0
0
0
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
48
72
22
-26
0
0
0
0
0
0
0
0
0
0
0
5
24
-8
32
-6
63
-24
-6
-2
0
0
0
0
0
0
0
0
1
22
93
76
89
115
25
-13
0
0
0
0
0
0
0
0
0
-4
54
49
47
111
-2
100
-39
0
0
0
0
0
0
0
0
1
0
0
16
15
-4
-83
64
0
0
0
0
0
0
0
0
0
0
1
-6
24
87
14
-3
6
0
0
0
0
0
0
0
0
0
2
1
0
12
-40
-85
-93
81
2
0
0
0
0
0
0
0
0
0
6
1
-32
-77
5
-89
27
11
0
0
0
0
0
0
0
0
0
0
0
-3
0
-73
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
15
-20
-9
12
0
0
0
0
0
0
0
0
0
0
0
0
13
146
48
35
14
-56
-33
-12
0
0
0
0
0
0
0
0
0
-19
-14
41
55
19
-12
16
2
0
0
0
0
0
0
0
0
0
7
54
-21
49
48
39
21
0
0
0
0
0
0
0
0
0
0
64
34
6
78
67
16
-86
-6
0
0
0
0
0
0
0
0
0
34
51
-8
12
-55
-16
2
0
0
0
0
0
0
0
0
0
0
34
86
-26
18
2
-42
-124
-1
0
0
0
0
0
0
0
0
0
1
56
80
-101
21
-95
2
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
-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
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
0
0
-22
-32
0
-3
0
0
0
0
0
0
0
0
0
0
7
-28
-34
-17
-23
-17
0
0
0
0
0
0
0
0
0
0
0
-31
19
27
-46
-9
0
0
0
0
0
0
0
0
0
0
0
0
31
-7
-1
-15
24
-1
-1
0
0
0
0
0
0
0
0
0
-2
-13
-23
0
21
0
6
0
-3
0
0
0
0
0
0
0
0
-6
2
-18
-7
-3
-6
-1
-1
3
0
0
0
0
0
0
0
0
8
27
-9
-11
-43
2
0
-3
0
0
0
0
0
0
0
0
0
-4
-20
-2
25
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
29
0
0
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
31
-33
9
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-15
7
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
35
26
19
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
26
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
18
41
-23
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
21
83
-2
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
20
-4
-53
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-10
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
-7
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
29
-12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
28
7
-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
7
3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-69
-18
1
83
27
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
21
56
2
0
0
0
1
0
1
0
0
0
0
0
-37
28
-22
14
46
64
11
17
-5
0
0
1
0
0
0
0
0
3
-46
-23
-5
-52
2
-75
-50
-21
-1
0
0
0
0
0
0
0
6
89
-8
-40
-87
-18
-29
14
9
-9
1
4
0
0
0
0
0
0
-2
-14
2
-16
37
-61
-18
18
0
0
0
0
0
0
0
0
7
-11
30
-18
-14
-33
-74
51
36
2
0
0
0
0
0
0
0
0
-37
17
-86
-85
-50
68
-15
38
-24
-1
0
0
0
0
0
0
10
15
-13
44
2
-4
3
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
7
36
5
78
26
0
0
0
-8
-2
0
0
0
0
0
0
37
-14
-3
6
84
15
-64
-15
-5
-1
-6
0
0
0
0
0
0
-13
6
-35
38
-1
22
-45
30
19
10
-3
0
0
0
0
0
0
0
-12
14
45
-45
-18
14
11
-44
2
0
0
0
0
0
0
0
0
-13
2
-39
-1
-48
-3
17
-14
1
-1
0
0
0
0
0
0
0
-27
-61
0
-1
2
22
3
-56
-11
0
0
0
0
0
0
0
0
8
56
-53
-39
-8
-34
33
26
0
0
0
0
0
0
0
0
4
0
0
0
0
-7
-7
5
0
0
2
0
0
0
0
0
0
-7
-90
-63
22
0
0
0
0
0
0
0
0
0
0
0
0
0
9
13
6
9
6
0
0
0
0
0
0
0
0
0
0
0
0
18
12
-22
21
-4
0
0
0
0
0
0
0
0
0
0
0
0
-36
17
18
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
48
-17
13
5
-13
2
0
0
0
0
0
0
0
0
0
0
0
23
15
37
-28
39
-9
-10
0
0
0
0
-1
0
0
0
0
0
-14
-32
-15
-16
-30
8
8
22
0
-3
-2
-1
0
0
0
0
0
-16
-41
16
-7
-38
-17
11
-31
24
3
3
-1
0
0
0
0
0
-56
38
-21
0
17
-6
11
-8
-3
-1
0
0
0
0
0
0
0
-86
-25
-2
33
87
24
0
0
0
0
0
0
0
0
0
0
0
-16
-37
-20
-11
132
36
0
0
-2
0
0
0
0
0
0
0
0
-73
-51
-14
15
-4
-2
54
18
3
-1
0
0
0
0
0
0
0
6
-25
-42
-56
-80
-20
-24
39
-13
10
0
0
0
0
0
0
0
-43
-2
-21
12
-82
-48
-5
0
0
-4
-1
0
0
0
0
0
0
-43
-22
-38
0
-32
-12
-9
-12
-8
0
0
0
0
0
0
0
0
-64
-7
-47
-29
-19
34
-13
-4
-1
0
0
0
0
0
0
0
0
-4
-28
5
-30
2
16
0
-1
3
-2
0
0
0
0
0
0
0
38
4
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-9
-9
5
91
147
0
0
0
0
0
0
0
0
0
0
0
-39
12
-2
13
16
30
35
-14
-25
8
-1
0
0
0
0
0
0
-36
-11
3
14
35
13
8
21
-18
-13
0
0
0
0
0
0
0
-7
-10
-2
12
13
9
-20
-22
44
-22
-1
0
0
0
0
0
0
24
-1
6
8
8
-33
5
-46
-12
1
2
0
0
0
0
0
0
14
8
2
2
-8
-12
-77
-74
-29
1
3
0
0
0
0
0
0
1
1
-1
-1
-9
-29
-38
-40
-43
2
2
0
0
0
0
0
0
13
12
0
-10
-12
-29
-44
-68
-46
-50
-9
4
0
0
0
0
0
23
-3
-4
-8
-43
-11
9
-13
-1
12
-20
-3
0
0
0
0
0
220
227
167
247
169
70
0
0
0
0
0
0
0
0
0
0
0
193
121
112
90
125
125
3
-1
0
0
0
0
0
0
0
0
0
-18
67
-2
28
71
22
7
-1
0
0
0
0
0
0
0
0
0
-38
-7
27
23
-38
-2
4
0
0
0
0
0
0
0
0
0
0
-4
-35
-23
82
49
-41
0
0
0
0
0
0
0
0
0
0
0
-40
-1
-33
-34
12
-3
-2
-1
0
0
0
0
0
0
0
0
0
-68
-60
-33
-63
-43
0
0
0
0
0
0
0
0
0
0
0
0
-1
-88
-102
-100
-23
18
-6
0
0
0
0
0
0
0
0
0
0
-19
-13
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
2
63
119
75
81
32
0
0
0
0
0
0
0
0
0
0
-34
-18
-33
18
36
0
-59
10
0
0
0
0
0
0
0
0
0
-20
-48
-47
-10
-92
28
-14
-8
0
0
0
0
0
0
0
0
0
-35
-52
-33
-22
31
-23
-4
-3
0
0
0
0
0
0
0
0
0
-12
-17
-29
3
-9
-1
2
0
0
0
0
0
0
0
0
0
0
-50
5
-30
-11
25
2
0
0
0
0
0
0
0
0
0
0
0
41
5
-13
22
-53
0
-8
15
0
-1
0
0
0
0
0
0
0
11
12
-13
25
-40
-45
-5
2
0
0
0
0
0
0
0
0
0
-6
-76
15
13
19
-3
-3
0
-1
0
0
0
0
0
0
0
0
-59
-127
-48
68
144
48
0
0
0
0
0
0
0
0
0
0
0
-50
-41
-59
27
52
105
0
-11
0
0
0
0
0
0
0
0
0
-71
-58
-22
-15
39
7
-14
-8
1
-1
0
0
0
0
0
0
0
-79
-51
-44
-2
-19
50
-54
-24
1
0
0
0
0
0
0
0
0
-15
-37
-25
-29
-26
-8
32
10
-1
-4
0
0
0
0
0
0
0
-1
-18
-28
-31
-52
14
3
-17
2
1
8
0
0
0
0
0
0
-20
-9
-10
-29
71
-41
0
4
0
0
0
0
0
0
0
0
0
-20
19
14
-22
-76
-35
-10
4
-7
-1
0
0
0
0
0
0
0
-5
21
9
-23
-41
-16
3
-3
2
0
0
0
0
0
0
0
0
-60
20
29
50
36
60
46
0
0
0
0
0
0
0
0
0
0
1
16
-21
-11
23
38
0
-13
0
-2
0
0
0
0
0
0
0
-21
-12
1
-4
-1
-18
15
-65
14
0
0
0
0
0
0
0
0
40
2
-7
-30
21
-9
17
3
34
0
0
0
0
0
0
0
0
55
11
-6
54
-23
-70
2
-8
0
0
0
0
0
0
0
0
0
-2
-8
-8
-4
31
-27
66
-3
-10
0
0
0
0
0
0
0
0
50
-23
-32
-29
22
-62
-22
-9
0
0
0
0
0
0
0
0
0
-9
-40
-40
-45
20
-3
-37
-29
1
0
0
0
0
0
0
0
0
-3
-10
-10
46
-1
0
3
0
0
0
0
0
0
0
0
0
0
-30
-43
8
-6
-20
0
0
0
0
0
0
0
0
0
0
0
0
-38
-16
-16
10
50
37
22
0
-13
-1
0
0
0
0
0
0
0
-32
-35
-33
19
-22
-38
-36
-19
6
0
0
0
0
0
0
0
0
-22
-9
-47
11
22
-48
-21
11
-12
1
0
0
0
0
0
0
0
-9
-20
-23
-3
0
-33
-10
-21
-15
1
0
0
0
0
0
0
0
-21
-32
5
-3
-9
-43
-1
-4
-9
0
0
0
0
0
0
0
0
-32
-19
-51
7
3
-36
-1
-3
12
0
0
0
0
0
0
0
0
-43
-36
-75
-19
-51
-30
-1
-29
-53
0
0
0
0
0
0
0
0
11
-20
18
-28
-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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-10
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
1
-23
-29
-8
-43
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
-25
-68
-33
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-88
6
-18
2
0
0
0
0
0
0
0
0
0
0
0
2
-19
24
22
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
109
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
40
-8
38
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
-2
-29
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
37
-9
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
13
42
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
66
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
-1
0
0
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-22
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
62
49
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
13
52
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-76
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-33
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-33
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
27
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
47
-11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
6
21
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
16
15
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
-16
35
60
-39
4
0
0
0
0
0
0
0
0
0
0
0
0
-30
-58
-77
-74
-13
1
0
0
0
0
0
0
0
0
-1
20
-28
-37
-65
-39
-19
-8
0
0
0
0
0
0
0
0
0
0
-1
-1
32
19
122
0
15
3
0
0
0
0
0
0
0
0
-2
26
1
-13
48
82
8
-12
0
0
0
0
0
0
0
0
0
0
-2
58
68
17
-13
11
0
0
0
0
0
0
0
0
0
0
1
40
1
33
-7
-9
7
0
0
0
0
0
0
0
0
0
0
0
-15
28
3
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-7
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-7
-16
0
-2
0
0
0
0
0
0
0
0
-1
0
-2
10
4
2
-5
-4
8
0
0
0
0
0
0
0
0
0
0
-6
24
32
16
16
7
-27
0
0
0
0
0
0
0
0
0
-1
-18
13
-11
18
9
1
-19
-13
0
0
0
0
0
0
0
0
0
-16
0
2
10
3
-2
-3
0
0
0
0
0
0
0
0
0
0
-1
0
10
0
0
-7
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
-22
45
83
-27
-12
-32
25
0
0
0
0
2
0
-1
-1
0
0
0
151
57
-81
66
-27
34
0
0
0
0
0
0
0
0
28
98
-22
-9
69
73
42
-35
74
0
0
0
0
0
0
0
-1
-3
39
29
67
66
63
24
13
65
0
0
0
0
0
0
-2
0
-2
10
18
-1
36
49
-12
22
-10
0
0
0
0
0
0
-3
2
-17
1
11
21
-11
82
-66
27
0
0
0
0
0
0
1
0
-2
-14
-20
-2
5
16
-10
-15
2
0
0
0
0
0
0
0
0
0
13
55
14
8
29
-123
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
1
11
4
0
0
6
-5
-66
-19
-79
24
1
0
0
0
0
0
2
15
28
103
-12
-48
-11
2
-3
9
74
21
0
0
0
0
3
-1
-11
-29
-6
-10
-9
-22
-41
-32
-17
67
-13
0
0
0
0
0
0
-3
6
-47
-10
17
-3
-29
-23
42
69
56
0
0
0
1
4
-1
1
3
-85
6
2
-18
-29
-13
13
135
41
0
0
0
0
1
-1
1
-13
-27
-48
-4
-14
-40
-18
30
44
-39
0
0
0
0
0
0
26
7
27
-11
10
-25
-31
-36
-1
-31
1
0
0
0
0
0
0
-12
-15
5
26
-18
-21
-43
-18
-30
56
-1
0
0
0
0
0
2
0
5
16
62
27
-29
-30
-77
5
-59
0
0
0
0
0
0
0
0
0
0
0
-6
119
-64
-11
1
-8
12
0
0
0
0
0
0
0
0
-8
28
93
34
114
105
-16
27
14
0
0
0
0
0
0
0
-1
-6
62
13
-19
-37
30
-26
-38
-52
0
0
0
0
0
0
0
0
1
48
-61
-14
-35
57
-1
-35
-27
0
0
0
0
0
0
0
0
8
24
-61
-2
-70
52
42
32
-49
0
0
0
0
0
0
0
0
-7
7
52
62
33
8
42
-68
-63
0
0
0
0
1
0
0
0
-58
3
-52
-3
24
-12
71
10
-41
0
0
0
0
0
0
0
0
25
-88
14
38
74
51
-21
-22
-12
0
0
0
0
0
0
0
0
0
0
-4
-1
12
100
-23
25
-33
0
0
0
0
-2
0
0
0
0
0
64
88
67
17
64
67
-52
0
0
0
0
0
0
0
0
26
70
0
33
77
140
17
-18
-29
0
0
0
0
0
0
0
0
1
72
-87
-57
90
50
61
-41
-34
0
0
0
0
0
0
0
0
-1
34
7
-5
23
57
64
-3
-29
0
0
0
0
0
0
0
0
0
-39
0
5
-22
23
92
38
26
0
0
0
0
0
0
0
0
-2
12
1
38
-55
54
49
69
-38
0
0
0
1
0
0
0
0
-12
3
-28
5
-33
47
19
3
-3
0
0
0
0
0
0
0
-9
-1
90
85
-81
-3
57
-1
10
-5
0
0
0
0
0
0
0
0
6
2
-8
1
-1
-10
62
0
0
0
0
0
0
0
0
0
0
0
0
-101
23
-31
-2
-83
26
0
0
0
0
0
0
0
0
0
-90
0
29
-61
23
-14
-60
-66
-8
0
0
0
0
0
0
0
-2
-20
89
39
-2
-28
-13
77
35
-2
0
0
0
0
0
0
0
7
2
0
40
81
70
81
49
17
3
0
0
0
0
0
0
-1
0
24
51
66
91
29
81
49
-53
0
0
0
0
0
0
0
0
0
-1
65
164
56
117
17
-63
32
0
0
0
0
0
0
0
0
1
22
47
43
87
128
3
-82
6
0
0
0
0
0
0
0
0
4
40
67
-2
-55
29
-143
-1
0
0
0
0
0
0
0
0
0
0
-2
9
-1
1
1
-4
-35
0
0
0
0
0
0
0
0
0
0
0
0
-117
75
55
43
9
0
0
0
0
0
0
0
0
0
0
7
0
-43
6
51
63
54
76
-1
0
0
0
0
0
0
0
0
1
35
-47
14
-19
20
98
-17
0
0
0
0
0
0
0
0
0
-6
8
3
62
67
55
123
-12
0
0
0
0
0
0
0
0
0
1
36
91
28
-8
49
-21
-7
-8
0
0
0
0
0
0
0
0
1
0
1
56
-51
45
-18
3
1
0
0
0
0
0
0
0
0
0
-11
4
-19
70
3
-19
6
0
0
0
0
0
0
0
0
0
6
0
9
26
-37
-26
23
1
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
50
64
-9
-11
-27
-46
-33
0
0
0
0
0
0
0
0
0
0
38
95
37
-29
-9
-62
11
0
0
0
0
0
0
0
0
0
0
-39
31
-20
55
-83
-42
24
0
0
0
0
0
0
0
0
0
0
-20
96
94
-25
-18
-19
-1
0
0
0
0
0
0
0
0
0
2
53
82
45
-92
-15
-41
-10
0
0
0
0
0
0
0
0
0
1
16
-19
37
-34
48
-30
10
0
0
0
0
0
0
0
0
0
0
27
43
-14
52
-84
-2
0
0
0
0
0
0
0
0
0
0
0
2
2
17
4
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
0
0
0
-3
7
-118
33
-7
0
0
0
0
0
0
0
0
-3
2
36
11
35
18
18
40
29
-15
0
0
0
0
0
0
0
0
0
-3
1
-8
-45
-39
41
17
10
0
0
0
0
0
0
0
0
0
0
-3
1
-12
-30
-38
-6
8
0
0
0
0
0
0
0
0
0
0
0
-3
-15
20
90
-28
-28
0
0
0
0
0
0
0
0
0
0
0
0
-16
-36
4
73
69
0
0
0
0
0
0
0
0
0
0
0
-4
-2
31
85
18
-74
0
0
0
0
0
0
0
0
0
0
0
0
-40
13
3
-38
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
-55
-39
-14
-41
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-1
-3
-6
0
0
0
0
0
0
0
0
0
0
0
4
41
15
22
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-10
5
-32
3
0
0
0
0
0
0
0
0
0
0
0
0
0
18
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
19
15
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
19
0
0
0
0
0
0
0
0
0
0
0
0
0
2
28
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
3
-37
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
27
-22
-34
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
6
66
26
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
10
12
-19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
82
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
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
-3
-7
0
0
0
0
0
0
0
0
0
0
0
2
-2
20
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
22
17
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
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
36
11
-44
-24
3
2
0
0
0
0
0
0
0
13
-20
-38
-7
33
40
1
47
20
-8
0
0
0
0
0
0
1
10
-36
2
-26
-2
36
-16
-19
34
23
0
0
0
0
0
0
0
11
-14
-48
-18
-16
-8
15
-1
26
-5
0
0
0
0
0
0
0
0
1
-3
-48
-18
5
-55
-22
38
2
0
0
0
0
0
0
0
0
-20
72
-18
-15
-79
-6
-2
58
-9
0
0
0
0
0
0
0
0
10
3
-46
27
-68
-60
-45
-55
-4
0
0
0
0
0
0
0
0
17
51
-33
13
-19
23
27
-2
0
0
0
0
0
0
0
0
0
25
-43
-4
-3
0
-3
-18
-7
-11
0
0
0
0
0
0
0
0
0
0
3
-29
-6
-1
-3
-25
11
0
0
0
0
0
0
0
0
2
-11
7
17
-3
3
6
-7
3
0
0
0
0
0
0
0
-2
3
-3
16
41
34
4
-21
-41
2
0
0
0
0
0
0
0
0
1
-1
-16
9
18
-24
-39
-4
22
0
0
0
0
0
0
0
0
0
-34
26
24
-7
47
-38
-6
7
0
0
0
0
0
0
0
0
8
-9
43
-6
-16
-7
-21
44
-14
0
0
0
0
0
0
0
-1
37
13
8
-21
-7
-19
0
-41
-42
0
0
0
0
0
0
0
-1
45
11
-45
-31
7
-31
51
-12
1
0
0
0
0
0
0
0
0
-1
-7
0
0
0
-12
-18
-18
-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
1
0
4
2
29
0
0
-42
28
28
15
7
-2
0
0
0
0
0
0
9
-27
15
-83
-34
-1
51
0
-22
7
8
0
0
0
0
0
0
2
-2
9
-15
-46
38
-10
-73
10
4
18
0
0
0
0
0
0
0
-2
6
-13
-13
-7
22
14
-4
24
0
0
0
0
0
0
0
0
0
1
-45
-36
14
-47
-20
17
1
19
0
0
0
0
0
0
0
-1
-7
-37
-65
1
7
-7
0
-1
0
0
0
0
0
0
0
0
0
-9
-26
-38
-44
-31
7
2
-2
0
0
0
0
0
0
0
0
0
-2
2
-24
-46
11
2
4
0
1
0
0
0
0
0
0
0
0
0
-9
-24
-8
0
0
0
0
0
0
0
0
1
-15
12
-22
18
18
0
0
23
35
32
22
6
3
0
0
0
0
-11
-31
4
-25
38
15
2
1
8
34
14
-1
0
0
0
0
-1
6
16
-4
-42
23
3
0
1
2
-10
18
-33
-10
0
0
0
0
1
-11
24
11
-18
-1
0
0
4
12
21
66
-11
0
0
0
0
-3
0
13
-1
-23
-15
-12
0
4
15
4
41
15
0
0
0
0
0
-3
2
-17
-9
-19
-3
0
3
5
7
84
-34
0
0
0
0
2
1
-3
-13
-19
10
-4
0
-1
1
-1
39
-15
0
0
0
0
29
0
1
-26
16
-6
0
-3
8
28
58
86
0
0
0
0
-1
21
-16
6
-69
13
-7
0
-10
1
40
-28
72
-4
0
0
0
0
0
0
0
-1
5
0
0
-13
-11
-46
49
-1
0
0
0
0
0
0
0
0
2
16
-8
-19
-11
-42
17
-17
0
0
0
0
0
0
0
0
0
-6
21
-15
60
-90
25
6
-11
0
0
0
0
0
0
0
0
0
0
14
52
1
-17
42
49
29
0
0
0
0
0
0
0
0
0
0
0
49
-24
46
66
-10
9
0
0
0
0
0
0
0
0
0
0
0
71
107
93
87
67
133
0
0
0
0
0
0
0
0
0
0
15
-55
-14
5
78
86
8
24
0
0
0
0
0
0
0
0
0
-10
-54
7
-15
54
140
-2
0
0
0
0
0
0
0
0
0
0
0
0
-22
-8
6
-2
0
0
0
0
0
0
0
0
1
3
1
-31
0
0
-65
28
-32
45
1
0
0
0
0
0
0
-1
1
-3
-9
-25
-61
-15
-3
70
2
1
0
0
0
0
0
0
0
0
-1
-1
11
-31
-26
-29
-9
-16
-13
0
0
0
0
0
0
1
0
6
-8
-29
-36
-18
58
99
49
3
0
0
0
0
0
0
0
0
0
1
16
-13
28
54
-3
-9
1
0
0
0
0
0
0
0
0
3
-10
-49
-40
-16
57
-17
11
0
0
0
0
0
0
0
0
2
0
-19
-12
-9
5
20
-61
9
0
0
0
0
0
0
0
1
0
-1
-28
-39
21
30
-14
-30
-2
0
0
0
0
0
0
0
0
1
0
13
-19
-24
-26
-1
-4
0
0
0
0
0
0
0
0
0
0
-3
16
0
0
-36
40
-19
-20
-6
4
0
0
0
0
0
0
2
10
-66
-89
2
-27
-19
55
-30
-36
2
3
0
0
0
0
0
0
6
-4
-48
6
-44
-42
16
-46
-19
-1
0
0
0
0
0
0
0
15
-29
39
-41
-3
44
73
15
-6
-2
0
0
0
0
0
0
0
-2
-6
-61
-18
-39
6
27
44
12
1
0
0
0
0
0
0
0
0
-20
-19
-51
-36
-14
-1
33
-3
0
-6
0
0
0
0
0
0
0
-29
8
-50
-81
-38
21
70
-1
4
0
0
0
0
0
0
2
-1
-19
30
-7
-3
-23
-8
18
-2
-18
0
0
0
0
0
0
0
0
0
-13
-38
-12
-8
5
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
-47
-12
23
-9
-15
-6
-1
0
0
0
0
0
0
-4
-31
-38
-56
-32
47
50
8
-19
88
7
0
0
0
0
0
0
0
9
-108
33
-6
-46
53
-30
11
-30
-3
0
0
0
0
0
0
-4
-11
-20
-21
-3
61
-9
-1
0
0
-1
0
0
0
0
0
0
0
-29
-40
-2
-4
-28
5
44
0
42
1
0
0
0
0
0
0
0
-10
1
-2
-14
10
-28
-41
-7
-6
0
0
0
0
0
0
0
-2
51
11
3
-13
70
62
4
3
-8
-15
0
0
0
0
0
0
2
-8
-4
-7
-10
20
17
-2
-10
-4
0
0
0
0
0
0
0
0
-40
17
9
8
-11
6
0
0
0
0
0
0
0
0
0
0
0
3
0
0
7
33
-13
-7
-3
7
-3
0
0
0
0
0
0
18
39
-8
-9
-117
56
35
8
-16
-36
-19
0
0
0
0
0
0
18
-15
-27
-41
-13
-28
29
-4
-27
7
-16
0
0
0
0
0
0
0
-18
-37
-47
-31
-54
-60
-54
-1
1
-1
0
0
0
0
0
0
3
7
-60
-56
-48
14
-41
27
-8
-11
-29
0
0
0
0
0
0
-8
-53
-52
-18
23
-91
68
-117
0
3
8
0
0
0
0
0
-2
-44
6
-19
-12
-79
-6
-47
23
-5
-20
0
0
0
0
0
3
10
5
10
-4
-28
0
-45
-54
0
42
30
0
0
0
0
1
0
1
-20
3
38
-5
10
-56
73
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-15
-21
104
112
79
2
0
0
0
0
0
0
0
0
0
0
26
-6
29
69
84
51
-36
2
1
0
0
0
0
0
0
0
0
12
43
24
-20
10
50
-1
0
1
0
0
0
0
0
0
0
0
-36
19
43
4
-37
-4
0
6
0
0
0
0
0
0
0
0
0
-20
-17
3
12
23
-2
0
0
0
0
0
0
0
0
0
0
0
25
12
-29
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
-32
-13
-17
-21
-39
1
0
0
0
0
0
0
0
0
0
0
0
-50
-25
-28
13
67
0
0
0
0
0
0
0
0
0
0
0
0
-20
-27
-8
1
1
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
32
18
0
4
0
0
0
0
0
0
0
0
0
0
0
0
1
18
49
18
3
0
0
0
0
0
0
0
0
0
0
0
-3
-86
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
122
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-45
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
37
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
30
33
-11
19
2
-1
0
0
0
0
0
0
0
0
0
0
62
30
44
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
-66
17
16
7
5
0
1
0
0
0
0
0
0
0
0
0
0
33
36
19
-19
9
4
0
0
0
0
0
0
0
0
0
0
0
-3
-8
53
8
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-16
21
-6
0
6
0
0
0
0
0
0
0
0
0
0
0
-13
-33
-59
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-34
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-49
45
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
25
23
1
13
0
0
0
0
0
0
0
0
0
0
0
0
-4
23
0
2
25
0
0
0
0
0
0
0
0
0
0
0
3
-49
-9
30
2
1
0
0
0
0
0
0
0
0
0
0
0
-15
-13
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-50
25
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
68
-23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-16
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
-4
18
38
113
69
23
1
0
0
0
0
0
0
0
0
0
0
-3
-58
-4
45
5
43
32
21
2
0
0
0
0
0
0
0
0
39
22
-3
37
59
-9
59
-28
0
0
0
0
0
0
0
0
0
-15
30
-2
-31
11
-90
14
-2
0
0
0
0
0
0
0
0
0
-6
43
3
0
24
1
-1
-1
-1
0
0
0
0
0
0
0
0
0
63
25
10
-5
0
-2
0
0
0
0
0
0
0
0
0
0
2
-4
-58
1
0
4
-8
0
0
0
0
0
0
0
0
0
0
0
11
50
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-6
0
0
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
37
10
20
18
9
2
0
0
0
0
0
0
0
0
0
0
0
-41
32
24
40
68
-6
-17
-2
-12
0
0
0
0
0
0
0
-7
-2
52
42
60
0
-10
-5
2
0
0
0
0
0
0
0
0
-1
-24
0
-3
1
21
10
-40
1
0
0
0
0
0
0
0
0
-2
-2
-11
-7
-9
-33
-7
0
6
0
0
0
0
0
0
0
0
-2
-32
0
1
-13
-12
-3
0
0
0
0
0
0
0
0
0
0
-3
-7
-13
13
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-23
-4
-13
-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
6
16
-36
14
119
63
26
0
0
0
0
0
0
0
0
0
0
36
-64
-21
117
101
84
68
30
-64
-34
-28
9
0
0
0
0
0
11
48
16
80
30
20
50
35
22
8
-12
0
0
0
0
0
0
56
-25
25
56
-34
55
85
85
-52
15
7
0
-1
0
0
0
0
12
7
19
2
31
-62
30
13
-45
6
2
0
0
0
0
0
0
4
-3
-44
9
24
0
-6
18
4
0
0
0
0
0
0
0
0
18
-33
-12
14
-15
-13
0
0
-2
0
4
0
0
0
0
0
0
0
-43
41
40
-39
-1
-9
0
0
0
0
0
0
0
0
0
0
6
20
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-29
-26
-32
-16
-27
26
0
0
15
14
-1
1
0
0
0
0
-4
3
-16
-8
3
-39
20
58
70
39
5
-2
-3
-1
0
0
0
28
-15
14
-27
-24
-28
-13
-6
7
-54
13
23
-9
-1
0
0
0
102
29
-26
-28
-47
-24
-9
-8
27
36
16
1
26
0
0
0
0
-14
20
12
2
-40
-24
3
-2
-48
-28
-44
73
-4
42
0
0
0
15
23
9
-54
-27
-23
-20
0
-5
14
12
11
4
0
0
0
0
13
28
5
-51
-37
-12
-3
21
-66
38
-57
21
0
1
0
0
0
55
29
-36
-32
-23
13
12
-51
-21
20
17
1
0
0
0
0
0
26
17
-44
-16
-24
24
-61
34
17
16
-48
-3
3
0
0
0
0
0
9
-92
0
0
-8
33
0
0
0
0
1
0
0
0
0
0
1
-21
49
1
41
19
44
24
56
25
-3
-7
0
0
0
0
0
-1
23
98
24
-5
-53
0
-33
-62
-24
48
0
0
0
0
0
0
-5
59
19
-25
-31
-35
14
11
4
-15
-23
4
0
0
0
0
0
-7
9
0
-4
81
-38
-23
38
95
-8
-19
4
0
0
0
0
0
1
-38
-62
27
34
24
19
21
4
11
8
-3
0
-9
0
0
0
1
82
-5
41
-24
-4
7
45
2
11
0
0
-2
0
0
0
0
0
46
-20
-23
24
22
-18
-18
25
32
-4
1
0
0
0
0
0
1
-18
36
-5
-36
25
-13
29
-26
2
-6
0
0
0
0
0
0
0
59
-21
6
42
12
4
0
0
2
7
0
0
0
0
0
0
0
-57
38
15
82
-11
80
65
-17
14
1
-4
0
0
0
0
0
0
35
53
5
20
21
38
71
6
65
18
0
0
0
0
0
0
0
5
14
-10
-9
-34
22
58
71
3
-1
18
0
0
0
0
0
0
8
65
-41
-19
-28
-4
-23
-12
35
8
4
0
0
0
0
0
0
22
-36
67
3
-29
-4
4
-9
-4
-9
0
-1
0
0
0
0
0
34
75
-25
-40
10
78
-75
-63
-41
-2
0
0
0
0
0
0
0
0
40
12
36
-59
-25
-60
-44
0
0
0
0
0
0
0
0
0
25
1
17
-22
-17
7
2
0
0
2
0
0
0
0
0
0
30
47
51
15
45
-27
17
0
0
0
0
0
0
0
0
0
0
18
17
21
43
100
41
46
17
-24
37
4
-3
0
0
0
0
0
-82
23
48
32
15
-7
20
2
30
-7
0
1
0
0
0
0
0
-19
8
3
-1
-36
-7
74
31
13
-6
6
0
-6
0
0
0
0
51
72
79
-19
40
-38
40
42
63
0
3
0
0
0
0
0
0
64
34
-14
10
-36
-16
-25
52
-16
0
-2
0
0
0
0
0
0
48
20
25
-22
-2
-35
3
4
2
0
0
0
0
0
0
0
0
1
56
7
3
14
-52
-28
-6
4
0
0
0
0
0
0
0
0
15
6
14
0
-10
2
0
0
0
0
1
0
0
0
0
0
0
2
11
55
98
30
52
20
0
0
0
0
0
0
0
0
0
0
0
10
17
55
38
25
17
-28
-4
-63
0
0
0
0
0
0
0
1
13
32
22
23
14
-9
29
9
1
0
0
0
0
0
0
0
0
9
82
-26
5
35
-4
31
-26
2
0
0
0
0
0
0
0
2
1
2
-56
19
-21
22
124
1
2
0
0
0
0
0
0
0
0
1
1
62
-12
-1
-8
-5
-1
1
0
0
0
0
0
0
0
1
2
-3
14
-4
-13
-16
4
2
0
0
0
0
0
0
0
0
0
4
-14
-4
31
-5
-26
14
2
0
0
0
0
0
0
0
0
0
0
1
-17
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
32
16
7
0
0
0
0
0
0
0
0
0
0
0
2
-12
53
80
69
47
-96
11
-2
0
-2
0
0
0
0
0
0
0
-59
-61
5
-36
16
35
19
-9
-2
0
0
0
0
0
0
0
1
-13
-62
48
-9
36
-24
28
8
7
0
0
0
0
0
0
0
0
0
57
-9
-7
106
45
-10
-9
0
0
0
0
0
0
0
0
0
11
55
-9
27
11
-4
-19
0
1
0
0
0
0
0
0
0
0
0
-18
-45
-8
-37
-16
38
-2
0
0
0
0
0
0
0
0
0
3
42
-4
-6
-21
-87
20
2
0
0
0
0
0
0
0
0
0
-1
0
-3
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
91
0
0
-53
-65
4
-4
0
0
0
0
0
0
0
0
0
-2
9
37
-5
-45
0
-37
1
0
0
0
0
0
0
0
0
0
4
-17
-5
-16
19
24
26
9
-1
0
0
0
0
0
0
0
0
0
-23
-22
-8
-14
-42
-3
-5
1
0
0
0
0
0
0
0
0
-1
-45
-39
-6
-50
-25
14
-11
-7
0
0
0
0
0
0
0
0
-6
-11
-32
-45
4
-38
12
-3
9
0
0
0
0
0
0
0
0
3
-4
10
17
-4
-57
16
-9
1
8
0
0
0
0
0
0
0
-2
-105
-20
-55
23
-2
0
0
0
0
0
0
0
0
0
0
0
0
161
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
94
0
0
-52
20
0
-1
0
0
0
0
0
0
0
0
0
-9
-35
-4
-30
1
0
1
0
0
0
0
0
0
0
0
0
0
0
31
1
4
-17
-18
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
29
-2
1
0
0
0
0
0
0
0
0
0
0
0
15
-18
-7
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
5
-2
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-18
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
119
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
-1
-23
-4
0
0
0
0
0
0
0
0
0
0
-1
5
21
-21
-25
-21
2
0
0
0
0
0
0
0
0
0
0
-12
8
52
-7
-45
2
-2
0
0
0
0
0
0
0
0
0
0
0
-6
-24
-17
-12
0
-2
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-101
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
37
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
136
0
0
6
-9
-1
0
0
0
0
0
0
0
0
0
0
0
8
41
13
18
0
0
0
0
0
0
0
0
0
0
0
0
-7
6
30
-36
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-28
72
20
-26
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-28
7
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-6
19
-18
6
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-7
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
7
19
-58
21
152
163
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
60
127
55
0
0
0
-22
-4
10
-6
0
0
0
0
-70
-7
-17
-23
15
62
5
26
41
-6
1
1
-1
0
0
0
0
-25
13
-12
14
-17
-33
-58
-41
23
-26
-7
1
-1
0
0
0
0
6
25
-27
-82
-54
-60
-64
-48
-13
-13
-10
3
0
0
0
0
0
9
52
1
-39
34
-13
-80
42
-50
-17
9
0
0
0
0
0
0
-14
11
-23
22
-73
-29
-33
-26
-34
24
-1
0
-1
0
0
0
0
0
-39
-18
5
-7
-20
-12
30
-12
-6
1
3
0
0
0
0
0
3
-10
0
16
3
-17
-4
18
2
0
0
0
0
0
0
0
0
0
0
-2
0
45
64
0
0
0
0
-2
3
0
0
0
0
0
-1
46
44
78
89
71
0
0
0
-32
26
4
0
0
0
0
0
-41
-37
44
13
-12
1
5
-25
-11
22
-26
-7
0
0
0
0
0
23
-9
-23
14
18
39
21
-19
38
36
-14
-4
0
0
0
0
0
0
5
-22
-4
-65
-31
-43
10
-61
19
-22
0
0
0
0
0
0
1
11
-8
-94
-9
-96
13
1
-31
-3
0
0
0
0
0
0
0
-7
-7
-42
-17
4
17
51
-78
-27
-21
-6
0
0
0
0
0
0
0
5
43
-26
-18
-39
-5
2
31
9
9
0
-1
0
0
0
0
-8
1
0
0
0
-24
-5
-22
-2
1
3
0
0
0
0
0
0
-27
-33
-21
30
118
-30
0
0
0
0
0
0
0
0
0
0
0
15
57
26
38
124
21
0
0
0
0
0
0
0
0
0
0
0
14
8
18
34
50
61
12
0
0
0
0
0
0
0
0
0
0
-6
25
-5
2
15
47
-3
20
0
0
0
0
0
0
0
0
0
75
10
15
-19
-28
26
34
-38
-17
0
0
0
0
0
0
0
0
9
33
10
-40
23
-19
-65
58
87
-1
0
-2
0
0
0
0
0
-18
-4
-16
-18
-18
-3
-40
25
2
-7
0
-6
7
0
0
0
0
4
-4
-21
-27
-2
1
-18
-43
4
8
-2
-10
0
0
0
0
0
-65
-8
-5
-64
27
12
-41
-14
-21
-4
0
0
-1
0
0
0
0
-66
-52
-13
46
139
189
0
0
0
0
0
0
0
0
0
0
0
-20
-4
-28
18
52
135
0
0
-44
-10
-2
0
0
0
0
0
0
24
-25
-42
-21
4
19
53
-16
-13
-2
-1
0
0
0
0
0
0
-6
-28
-8
-56
-34
-43
-83
-4
-11
30
-11
0
0
0
0
0
0
0
-4
-67
-78
-42
-55
-74
-3
5
-3
-2
0
0
0
0
0
0
-15
-22
-3
-8
-91
55
-7
-11
-44
-2
0
0
0
0
0
0
0
2
-19
-91
-26
14
-6
-22
-25
-43
0
2
16
0
0
0
0
0
-9
5
-27
-79
-53
-5
-13
-47
-12
-8
0
0
0
0
0
0
0
4
11
-8
10
-10
0
-4
5
-3
2
0
0
0
0
0
0
0
-85
-50
-63
-11
68
178
0
0
0
0
0
0
0
0
0
0
0
-29
-21
-1
5
43
95
71
18
27
-5
0
0
0
0
0
0
0
-4
-3
-3
1
11
6
-34
-46
-37
-14
0
0
0
0
0
0
0
-55
9
-9
-8
-19
-25
-36
-52
4
-21
-39
0
0
0
0
0
0
8
14
-11
-12
-19
-32
-27
-52
9
4
8
-9
0
0
0
0
0
16
-5
-7
-10
-13
-22
-30
-59
-76
8
48
-30
0
0
0
0
0
22
2
-2
-6
-17
-30
-22
-69
-31
-21
-13
-21
0
0
0
0
0
2
-1
-4
-6
-16
-35
-58
-97
-13
-28
2
38
0
0
0
0
0
-2
-9
-3
-18
-29
-29
-61
-34
-17
9
17
-12
-2
0
0
0
0
57
120
133
195
221
196
0
0
0
0
0
0
0
0
0
0
0
45
86
70
138
133
122
101
-36
0
0
0
0
0
0
0
0
0
-38
5
46
28
-18
1
-28
20
-7
2
0
0
0
0
0
0
0
-59
-7
-36
23
-20
-115
21
0
0
0
0
0
0
0
0
0
0
-36
-18
-66
-38
7
-28
0
-4
0
1
0
0
0
0
0
0
0
-51
-34
-39
-13
1
0
-1
0
-3
0
0
0
0
0
0
0
0
-67
-75
-27
-10
-36
13
0
0
0
0
0
0
0
0
0
0
0
-1
-141
-109
-73
-99
-54
-7
9
0
0
0
0
0
0
0
0
0
-63
-45
-28
-21
-3
-5
-4
-1
-1
0
0
0
0
0
0
0
0
-97
-76
-48
19
110
142
169
0
0
0
0
0
0
0
0
0
0
-25
-16
0
39
59
0
1
58
3
-2
0
0
0
0
0
0
0
-45
15
-21
-7
9
-34
4
-24
-14
8
-6
0
0
0
0
0
0
-68
13
16
-43
-27
-44
-35
-3
-18
0
0
0
0
0
0
0
0
-17
-8
10
-50
-11
-45
45
25
-5
0
0
0
0
0
0
0
0
-10
8
8
-11
-31
-27
-26
6
4
0
0
0
0
0
0
0
0
58
-17
1
14
-38
-8
21
2
-10
3
0
0
0
0
0
0
0
-30
7
-9
-30
9
-80
-8
39
4
8
0
0
0
0
0
0
0
-29
-37
17
-16
7
-1
-30
12
0
-1
2
0
0
0
0
0
0
-94
-95
-43
7
128
138
0
0
0
-1
-1
0
0
0
0
0
0
-40
-34
-32
6
84
145
0
15
0
40
3
1
0
0
0
0
0
-17
-20
-16
-6
1
-5
83
-21
13
-38
17
0
0
0
0
0
0
-31
-7
-9
-51
-66
6
-3
-43
-31
4
-25
0
0
0
0
0
0
-2
12
-64
-33
-49
-40
17
37
18
-11
-12
0
0
0
0
0
0
-4
3
-23
-30
-42
-51
-45
12
-5
0
3
0
-2
0
0
0
0
-6
-41
-43
-24
-12
31
-44
4
18
4
0
0
0
0
0
0
0
-4
-5
-35
-22
-17
-27
-47
-11
-36
-11
-1
0
0
0
0
0
0
-44
-58
-61
25
-54
-54
-3
-26
14
1
0
0
0
0
0
0
0
-34
-23
-43
24
114
209
229
0
0
1
0
0
0
0
0
0
0
3
14
29
42
76
139
0
70
0
-51
0
0
0
0
0
0
0
-18
1
9
-14
36
-23
-17
21
26
-6
3
0
0
0
0
0
0
-8
3
-14
-17
-8
-40
32
-43
-17
1
4
3
0
0
0
0
0
6
4
-4
-26
-55
-18
-32
-42
-6
16
-6
0
0
0
0
0
0
54
28
0
-20
-21
-33
-1
-3
-5
0
0
0
0
0
0
0
0
-9
-17
-7
-7
-64
-121
-11
-18
4
0
0
0
0
0
0
0
0
-34
-33
-39
-25
-2
-27
74
18
9
0
0
0
0
0
0
0
0
15
-5
25
22
4
-18
29
1
0
0
0
0
0
0
0
0
0
-20
-35
-7
47
73
60
0
0
0
0
0
0
0
0
0
0
0
-26
14
46
35
52
51
68
0
-74
-22
0
0
0
0
0
0
0
-20
-1
1
37
43
3
-46
-36
-19
3
0
0
0
0
0
0
0
13
52
0
34
12
12
-15
-45
-26
-4
1
0
0
0
0
0
0
29
23
11
-6
-6
19
-32
-11
-63
6
0
0
0
0
0
0
0
43
6
-11
13
-86
-27
-5
-40
9
-11
0
0
0
0
0
0
0
28
-10
16
-4
-27
-7
-18
27
3
0
0
0
0
0
0
0
0
20
5
19
18
-39
-7
-9
-4
47
-9
0
0
0
0
0
0
0
-5
1
11
-8
-7
2
27
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
84
0
0
0
0
0
0
0
0
0
0
0
17
11
-2
0
0
24
0
0
0
0
0
0
0
0
0
0
1
-2
66
39
89
21
12
4
0
0
0
0
0
0
0
0
0
0
0
-15
-16
19
24
20
2
0
0
0
0
0
0
0
0
0
0
0
26
-25
-2
-14
-55
0
0
0
0
0
0
0
0
0
0
0
0
-11
12
11
-28
22
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
-8
-15
-27
2
0
0
0
0
0
0
0
0
0
-1
3
21
11
-18
-24
-23
0
0
0
0
0
0
0
0
0
0
0
0
1
11
12
-4
-11
6
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
1
1
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
-20
18
13
56
3
0
0
0
0
0
0
0
0
0
0
0
3
-6
28
21
-39
0
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
0
0
0
0
-3
4
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
6
-11
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
16
8
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
2
13
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
1
4
36
62
30
14
-1
0
0
0
0
0
0
0
0
0
0
0
-17
-13
-28
-14
12
-9
0
0
0
0
0
0
0
0
0
0
0
2
2
28
1
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-85
43
0
0
0
0
0
0
0
0
0
0
0
0
1
-36
47
-2
39
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
-16
29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
11
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
2
-2
0
0
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
44
-27
6
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
7
95
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
21
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
16
3
49
0
0
0
0
0
0
0
0
0
0
0
2
0
0
41
14
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-29
-56
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
31
4
-35
8
3
0
0
0
0
0
0
-1
0
0
0
0
-6
-114
-45
10
-33
-8
0
0
0
0
0
0
0
0
-28
66
49
36
3
-19
36
-16
0
0
0
0
0
0
0
0
0
1
9
43
30
0
69
49
13
6
0
0
0
0
-3
0
-1
-2
-3
67
49
34
58
-9
-14
-19
0
0
0
0
0
0
0
0
-4
3
-3
13
78
-6
13
17
0
0
0
0
0
0
0
0
0
0
-1
36
20
82
6
-7
2
0
0
0
0
0
0
0
0
0
0
7
-71
66
18
-3
6
-7
0
0
0
0
0
0
0
0
0
0
-6
-69
-1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-37
1
-2
0
0
0
0
0
0
0
1
-3
0
0
0
0
-80
-22
-24
0
-12
-1
0
0
0
0
0
0
-1
-8
1
-16
-3
-11
39
1
-10
2
-2
0
0
0
0
0
0
-1
-2
-2
-73
23
68
15
36
4
-36
-3
0
0
0
0
0
0
0
6
-3
-22
60
0
48
14
-10
-14
-9
0
0
0
0
0
0
0
0
0
-19
2
2
37
5
-4
-7
0
0
0
0
0
0
0
0
0
-2
3
0
16
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-49
89
75
-12
13
-15
90
0
0
0
-2
14
-1
4
27
0
0
35
52
20
-23
4
22
10
0
0
1
0
0
1
-10
49
57
96
51
37
-25
41
69
39
32
0
0
0
0
0
1
-10
5
10
47
62
19
26
24
47
-1
62
0
0
0
0
2
0
-3
17
-57
-16
17
16
-19
-4
31
54
-15
0
0
0
0
0
0
-6
34
-7
-19
2
-62
98
34
7
-11
-8
0
0
0
0
0
1
-2
3
-51
-64
-1
55
27
25
48
50
1
0
0
0
0
0
-1
7
0
29
-7
-7
8
-7
87
4
0
0
0
0
0
0
0
-8
-2
-3
3
32
5
0
0
3
0
0
0
0
0
0
1
7
-18
45
-8
0
0
-19
-31
12
7
17
65
0
0
0
0
0
-9
37
29
-8
-1
12
4
19
12
8
12
5
16
0
0
-1
-1
11
-23
-22
7
-87
-5
7
18
7
2
19
46
58
0
0
0
-6
2
14
-6
-14
-27
-21
-6
-21
-23
-23
33
26
37
0
0
0
3
6
17
-8
-15
3
4
-19
-15
-21
-1
20
8
31
0
0
0
0
0
17
-5
-29
2
-15
1
-38
-27
15
26
16
-14
0
0
0
0
-2
9
-4
-2
39
12
0
-7
-17
-23
27
25
-53
0
0
0
0
0
22
-45
-5
16
20
-25
-43
-29
13
16
-8
-2
0
0
0
0
0
3
26
-2
-42
-26
-7
-23
-81
-31
32
2
0
0
0
0
0
0
-1
0
2
0
0
17
31
-18
7
78
0
-19
0
0
0
0
-6
0
2
7
18
27
3
11
-7
52
-14
-23
16
0
0
0
0
0
0
0
-23
7
5
16
19
-3
49
96
45
23
0
0
0
0
0
0
0
3
40
50
-31
-16
47
3
24
3
-20
0
0
0
0
0
0
0
-24
21
-10
33
-2
-15
-18
-30
29
1
0
0
0
4
0
3
-4
2
1
-9
-7
5
46
-29
28
17
-4
0
0
0
0
2
0
0
2
-25
-22
-1
32
-7
4
-41
26
-44
0
0
0
0
0
0
0
1
29
-34
-6
21
-17
-26
-54
6
42
0
0
0
0
0
0
1
2
-7
22
2
-40
56
24
-48
-63
62
0
0
0
0
-1
0
0
-9
0
0
120
65
68
46
49
27
-21
0
0
0
0
0
-2
0
-39
8
60
0
80
82
47
10
46
8
0
0
0
0
0
-1
-4
19
-14
67
-2
37
58
79
28
-13
-53
0
0
0
0
0
-3
-1
-1
25
30
13
6
35
12
55
5
-38
0
0
0
0
0
0
-4
-1
13
-11
4
-63
-31
28
-26
-15
93
0
0
0
-4
0
0
-3
8
-67
-30
-46
3
33
24
-4
17
-72
0
0
0
0
-2
0
3
2
-37
-4
7
-19
-42
17
9
-49
-7
0
0
0
0
0
0
-24
-9
-42
101
62
-29
6
-23
0
-44
-15
0
0
0
0
0
-4
0
0
23
19
-6
-8
21
79
40
0
0
0
0
0
0
0
0
0
4
0
0
-74
29
-46
44
-43
-33
30
0
0
0
0
0
7
8
0
-17
0
-21
21
-25
4
3
0
-41
0
0
0
0
0
0
1
89
115
140
73
79
-1
32
32
46
25
0
0
0
0
0
-1
16
48
85
57
23
14
20
29
11
54
40
0
0
0
0
3
0
4
-15
12
34
45
16
-3
-1
23
0
-1
0
0
0
0
0
-2
4
-8
-30
56
61
25
1
8
23
3
0
0
0
0
0
0
-4
-3
22
28
18
60
101
-16
26
71
-18
-2
0
0
0
1
0
0
-47
59
53
25
38
-72
-13
-45
0
-14
0
0
0
0
0
0
0
0
6
-9
57
-22
11
-3
-4
-20
-1
0
0
0
0
0
0
0
0
0
0
0
-101
44
-27
36
-16
-9
0
0
0
0
0
0
0
0
0
54
0
12
65
10
-38
-19
50
0
0
0
0
0
0
0
0
0
28
79
-28
-48
-12
9
11
90
0
0
0
0
0
0
0
0
0
2
22
32
20
-11
-60
-7
20
-4
0
0
0
0
0
0
0
-3
4
84
72
74
-65
18
-28
-28
-7
0
0
0
0
0
0
0
2
1
15
58
-33
26
15
16
18
4
0
0
0
0
0
0
0
0
9
18
29
-3
42
165
58
0
-3
0
0
0
0
0
0
0
-1
9
6
19
-43
39
-62
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
15
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
22
5
-16
-11
-29
45
14
0
0
0
0
0
0
0
2
0
38
-15
17
35
-2
-9
-36
-32
0
0
0
0
0
0
0
0
-11
-4
1
-7
-38
6
-3
-25
31
0
0
0
0
0
0
0
2
0
1
25
8
-1
-44
48
21
-22
0
0
0
0
0
0
0
0
0
0
61
-37
24
-8
-26
10
-39
0
0
0
0
0
0
0
0
0
1
26
4
14
-48
27
-24
1
0
0
0
0
0
0
0
0
0
0
7
52
30
72
-18
15
0
0
0
0
0
0
0
0
0
1
0
-1
0
21
-12
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
15
0
0
-1
-25
17
-33
-37
-13
-28
0
0
0
0
0
0
-2
-4
2
22
47
9
-26
-15
2
4
-10
0
0
0
0
0
0
0
1
7
-32
-1
5
-12
-9
-2
-13
22
0
0
0
0
0
0
0
0
0
0
-14
10
5
18
-20
6
45
0
0
0
0
0
0
0
0
0
0
-6
-6
-46
-29
8
-45
14
0
0
0
0
0
0
0
0
0
0
-1
-10
-45
-16
-4
-68
-2
0
0
0
0
0
0
0
0
0
0
-1
25
-20
9
-14
2
3
0
0
0
0
0
0
0
0
0
0
0
-41
38
9
1
49
-23
0
0
0
0
0
0
0
0
0
0
0
0
-16
-86
12
30
-4
0
0
0
0
0
0
0
0
0
0
0
-1
11
21
-5
1
-1
0
0
0
0
0
0
0
0
-1
0
-5
-22
-29
-2
-22
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
33
4
32
12
16
0
0
0
0
0
0
0
0
0
0
0
0
10
23
35
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-8
-19
5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
38
14
-54
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
16
-78
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
23
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
58
-13
-7
0
0
0
0
0
0
0
0
-3
-3
-4
-7
34
-29
-56
26
-10
0
0
0
0
0
0
0
0
0
0
2
13
-1
47
-55
-61
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-15
-56
-3
60
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-61
55
8
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-5
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-32
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
-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
-3
-2
35
-46
19
0
0
0
0
0
0
0
0
0
0
0
5
-9
-7
5
-5
29
20
0
0
0
0
0
0
0
0
0
2
0
0
0
-8
54
-14
-9
-2
0
0
0
0
0
0
0
0
0
0
2
0
-13
-9
17
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-14
-10
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
13
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
10
14
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
2
-7
24
0
0
20
72
13
11
-30
-7
-44
0
0
0
0
-1
2
9
12
47
-40
5
-5
13
40
-25
-54
-23
0
0
0
0
0
6
2
57
15
-12
10
24
9
11
47
30
68
0
0
0
0
0
0
1
33
-1
37
-15
9
12
-8
-45
15
4
0
0
0
0
0
0
0
10
-39
23
-80
-9
-3
-2
-6
71
-5
0
0
0
0
0
0
0
0
-39
15
19
-98
-37
-33
-26
16
-15
0
0
0
0
0
0
2
-17
13
-42
5
27
-11
-9
-21
-44
-29
0
0
0
0
0
0
0
0
4
-78
-15
-41
-6
-40
18
-24
0
0
0
0
0
0
0
0
1
4
-16
-15
-1
3
-6
-24
-8
30
0
0
0
0
0
0
0
0
0
0
-17
-25
-7
47
31
-62
34
0
0
0
0
0
0
1
3
17
-5
1
37
16
33
18
0
-24
0
0
0
0
0
0
0
-7
28
-10
29
2
42
31
30
-33
-20
0
0
0
0
0
0
0
0
14
30
-15
-47
62
-2
-3
-53
-27
0
0
0
0
0
0
0
0
24
26
13
-35
-61
-10
-55
-23
66
0
0
0
0
0
0
0
-1
-2
-46
30
7
-9
-74
-46
38
-17
0
0
0
0
0
0
0
1
30
42
3
-65
-10
5
-17
-10
-43
0
0
0
0
0
0
0
-1
42
-61
-19
-11
-19
10
-44
-22
-3
0
0
0
0
0
0
0
1
-31
5
-3
-3
4
-30
14
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
50
0
0
-12
11
89
14
17
-26
0
0
0
0
0
-17
18
36
0
33
8
-39
-54
-21
-46
-3
57
-2
0
0
0
2
-4
6
3
18
-2
-8
-33
5
3
-14
15
-28
-7
0
0
0
0
8
-6
33
23
15
8
18
1
-25
-52
17
4
-1
0
0
0
0
-4
0
6
23
-5
-32
44
-84
-110
1
-69
26
-1
0
0
0
0
0
0
-1
-65
-83
1
-17
-4
-45
-8
31
-7
0
0
0
0
0
0
-9
-18
-25
13
-31
-45
-90
11
37
2
2
0
0
0
0
0
0
0
0
-22
-16
-32
-3
1
39
-21
17
38
0
0
0
0
0
0
0
4
-12
-52
-54
-33
-1
-1
-2
0
0
0
0
0
0
-74
1
-24
55
-20
0
0
-19
15
19
32
-40
2
0
0
0
-9
-18
-38
-3
-3
-3
11
0
2
7
18
59
32
0
0
0
0
-21
20
41
-75
-43
-2
6
-3
-1
9
22
36
44
-23
0
0
0
4
31
3
18
-20
-28
-9
-19
-8
-5
0
16
6
-26
0
0
0
2
-24
13
-16
-26
-9
-15
-15
-14
-15
15
33
45
5
0
0
0
-9
-41
-13
-26
-13
-4
3
-8
-13
-10
-1
17
7
-14
0
0
0
-6
3
-25
19
-19
-9
-10
-1
-7
-9
-1
18
3
10
0
0
0
-2
-7
24
0
-9
15
-11
-6
-4
0
-13
7
26
0
0
0
0
-8
-30
4
19
-28
-12
-1
-2
-10
8
-24
-10
33
-3
0
0
0
0
0
-1
9
-8
-74
0
0
82
27
-14
69
-1
0
0
0
0
0
0
2
2
-10
-18
-17
2
13
-1
-6
44
-1
0
0
0
0
0
0
0
0
-46
25
7
-44
2
-28
-12
-30
0
0
0
0
0
0
0
0
0
-11
16
-7
1
-40
14
0
32
0
0
0
0
0
0
0
0
-2
12
-7
45
-30
95
-1
-19
15
0
0
0
0
0
0
0
0
0
2
-8
20
3
-23
-22
22
18
0
0
0
0
0
0
2
0
-3
0
88
-8
-15
50
-94
25
-57
16
0
0
0
0
0
0
0
-9
2
6
6
-19
7
28
-1
-4
0
0
0
0
0
0
0
-7
0
-1
4
-28
57
-50
44
11
0
0
0
0
0
0
0
0
0
35
58
-37
0
0
33
41
14
48
1
0
0
0
0
0
1
-19
17
-76
5
27
-2
23
33
20
-15
7
0
0
0
0
0
0
33
3
44
7
21
38
31
23
27
78
-30
0
0
0
0
0
0
-1
4
47
-30
-7
-1
-33
-6
3
3
14
0
0
0
0
0
8
1
-1
-28
-45
1
1
9
-57
33
-28
-1
0
0
0
0
0
0
6
6
9
-65
-14
-48
-39
18
-6
6
0
0
0
0
0
0
2
-2
-26
-41
-51
-2
-11
-23
-20
-40
15
-1
0
0
0
0
0
-3
11
7
-1
-80
29
-21
0
-56
-14
-59
0
0
0
0
0
0
0
-15
2
-19
-19
-28
-55
-57
-26
5
27
0
0
0
0
0
-3
0
-1
-6
-20
-4
0
0
50
16
52
-24
-42
7
48
0
0
0
0
-2
3
-23
-4
28
15
23
15
1
10
-21
-31
-18
0
0
0
0
5
-15
37
20
11
-14
1
-12
-51
32
30
-29
-43
0
0
0
0
1
-6
-37
-26
53
-33
12
1
78
65
-40
-120
-7
0
0
0
1
-2
0
-1
-10
-5
6
-12
1
5
-7
-5
6
0
0
0
0
0
-1
7
-11
-46
-34
-52
-33
6
3
49
2
-4
-3
0
0
0
0
0
-2
-4
-11
-47
-19
1
-69
9
-1
-30
11
8
0
0
0
3
3
0
-40
-42
-58
-59
-38
-34
-25
25
1
-59
0
0
0
0
0
0
2
3
-37
-59
-35
-56
-33
-40
-1
0
7
0
0
0
-1
0
0
-14
2
-12
0
0
51
5
87
-34
32
-4
31
0
0
0
0
0
0
-2
-10
-21
33
20
10
-36
38
-17
58
-2
0
0
0
0
0
-15
-22
-14
42
13
32
27
19
42
12
22
18
0
0
0
0
0
0
-55
32
-14
23
7
12
34
-10
0
-32
-20
0
0
0
0
0
-1
50
-72
-1
-10
42
-23
-52
157
44
9
1
0
0
0
0
1
-4
-54
11
-53
-64
6
-33
-28
-38
-1
18
0
0
0
0
0
1
11
-9
-1
41
-19
-41
-7
-7
28
-4
19
-23
0
0
0
0
0
0
-4
-26
-8
-20
10
-10
19
32
-5
-11
0
0
0
0
0
0
3
35
7
-9
-17
38
-16
29
0
0
0
0
0
0
0
0
1
7
2
8
0
0
24
68
-66
-12
42
58
29
0
0
0
-1
0
-2
36
30
-18
6
-21
14
34
-4
4
-33
-13
0
0
0
0
-1
7
78
-3
-24
44
-10
20
15
-26
-24
-49
-14
0
0
0
0
0
0
-6
34
-1
-63
-50
-14
9
-26
-92
-64
5
0
0
0
0
1
7
9
46
52
-33
-25
-6
-36
17
-47
26
-40
0
0
0
3
-3
-11
-14
5
56
10
-7
-43
13
1
-1
-29
-7
0
0
0
1
-9
-21
11
11
17
4
-11
14
22
37
30
7
-6
0
0
1
-3
2
8
-2
25
7
-24
-19
35
-12
-3
-28
-3
0
0
0
0
5
-5
-10
-37
-6
-39
13
18
-19
32
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
102
97
86
-4
0
0
0
0
0
0
0
0
0
0
29
13
53
104
105
40
-46
3
1
0
0
0
0
0
0
0
0
15
28
-19
-55
-17
37
0
0
1
0
0
0
0
0
0
0
0
-50
-27
-5
-1
-28
-4
0
6
0
0
0
0
0
0
0
0
0
2
-28
-5
7
18
-2
0
0
0
0
0
0
0
0
0
0
0
58
24
-52
-13
-14
0
0
0
0
0
0
0
0
0
0
0
0
-60
-10
-20
-3
-23
1
0
0
0
0
0
0
0
0
0
0
0
-48
28
-33
6
72
0
0
0
0
0
0
0
0
0
0
0
0
-19
7
-2
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
16
13
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
24
40
19
3
0
0
0
0
0
0
0
0
0
0
0
-3
-81
19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
106
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-48
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
28
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
24
-5
20
2
-1
0
0
0
0
0
0
0
0
0
0
61
35
36
-29
0
3
0
0
0
0
0
0
0
0
0
0
0
-70
32
28
8
6
0
1
0
0
0
0
0
0
0
0
0
0
29
52
-11
-30
7
4
0
0
0
0
0
0
0
0
0
0
0
-2
-4
21
8
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-11
13
-6
0
6
0
0
0
0
0
0
0
0
0
0
0
-10
-31
-33
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-19
35
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
2
25
20
3
14
0
0
0
0
0
0
0
0
0
0
0
0
1
23
28
3
8
0
0
0
0
0
0
0
0
0
0
0
4
-41
1
24
2
1
0
0
0
0
0
0
0
0
0
0
0
-19
-11
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-47
24
-3
-1
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
59
-24
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-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
-4
10
33
106
83
39
-13
0
0
0
0
0
0
0
0
0
0
-3
-73
5
23
63
77
39
22
2
0
0
0
0
0
0
0
0
20
10
-19
37
61
-14
52
-25
0
0
0
0
0
0
0
0
0
-19
38
18
-41
-2
-115
7
-2
0
0
0
0
0
0
0
0
0
-6
44
-6
4
21
10
-1
-1
-1
0
0
0
0
0
0
0
0
0
49
29
11
-11
0
-2
0
0
0
0
0
0
0
0
0
0
1
-8
-62
1
0
4
-8
0
0
0
0
0
0
0
0
0
0
0
2
57
10
-2
0
0
0
0
0
0
0
0
0
0
0
0
-26
-8
0
0
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
36
12
17
33
2
8
0
0
0
0
0
0
0
0
0
0
0
-35
24
21
48
70
-5
-16
-2
-12
0
0
0
0
0
0
0
-8
-3
57
41
53
2
-3
-9
2
0
0
0
0
0
0
0
0
-1
-25
-6
0
0
15
7
-44
1
0
0
0
0
0
0
0
0
-2
-2
-10
-8
-15
-29
-7
0
6
0
0
0
0
0
0
0
0
-2
-35
0
1
-12
-12
-3
0
0
0
0
0
0
0
0
0
0
-3
-7
-13
12
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-18
-4
-13
-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
6
25
-41
21
71
65
48
0
0
0
0
0
0
0
0
0
0
29
-36
26
88
97
52
91
32
-53
-27
-34
11
0
0
0
0
0
24
13
9
62
30
17
61
13
6
-4
-8
-4
0
0
0
0
0
54
-37
26
14
-30
36
85
62
-56
10
9
0
-1
0
0
0
0
15
0
-5
-8
21
-63
17
12
-51
9
2
0
0
0
0
0
0
6
-7
-42
22
24
12
1
16
4
0
0
0
0
0
0
0
0
15
-35
21
6
-17
-7
1
0
-2
0
4
0
0
0
0
0
0
0
-26
35
35
-32
-2
-11
0
0
0
0
0
0
0
0
0
0
8
23
-2
5
0
-1
0
0
0
0
0
0
0
0
0
0
0
-9
-32
-23
1
-7
-30
25
0
0
19
15
-6
1
0
0
0
0
-3
-12
-34
-4
-7
-10
20
26
105
39
12
-7
10
-1
0
0
0
33
-10
-57
-26
-14
-21
-16
-33
31
15
-11
29
-11
-1
0
0
0
96
24
-10
-27
-19
-25
-9
-16
51
37
5
18
21
0
0
0
0
-21
60
26
-37
-24
19
14
-21
11
-19
-14
71
-6
42
0
0
0
31
-2
-11
-35
-34
-14
-7
1
32
19
5
17
5
0
0
0
0
6
38
24
-6
-5
-22
-34
-11
-59
50
-58
31
0
1
0
0
0
45
12
-3
-41
-20
23
2
-29
31
42
20
1
0
0
0
0
0
6
23
-28
-50
-19
-50
-33
30
17
-4
-46
-5
3
0
0
0
0
0
14
-79
-2
27
13
39
0
0
0
0
1
0
0
0
0
0
1
-28
103
-10
28
26
36
16
35
42
-3
-10
0
0
0
0
0
-2
33
75
-21
6
-39
1
-26
-50
-16
43
4
0
0
0
0
0
-2
53
27
-23
-20
-38
31
15
22
-21
-13
7
0
0
0
0
0
-6
8
-10
-3
81
-12
-12
16
86
-14
-23
3
0
0
0
0
0
1
-48
-80
38
60
19
21
6
-30
17
13
-3
0
-9
0
0
0
1
74
-28
30
2
-6
6
31
30
0
0
0
-2
0
0
0
0
0
42
-6
-18
20
22
-47
-43
25
48
-2
1
0
0
0
0
0
1
-19
36
-7
-37
16
-2
6
-26
-3
-2
0
0
0
0
0
0
0
53
69
14
12
3
14
0
0
2
6
0
0
0
0
0
0
0
-54
65
-30
56
-19
33
89
29
14
-16
-6
0
0
0
0
0
0
40
57
2
22
-33
46
30
6
52
13
0
0
0
0
0
0
0
6
13
6
-40
-17
38
74
84
-2
-1
20
0
0
0
0
0
0
2
73
-40
-23
-55
-7
-39
3
22
13
4
0
0
0
0
0
0
17
-21
35
-2
2
-33
-36
-39
-3
-20
0
-1
0
0
0
0
0
38
73
-21
-4
28
75
-58
-63
-41
-4
0
0
0
0
0
0
0
0
22
14
43
-42
-80
-50
-32
0
0
0
0
0
0
0
0
0
30
1
14
-23
22
7
2
0
0
2
0
0
0
0
0
0
33
52
43
16
51
25
10
0
0
0
0
0
0
0
0
0
0
18
12
11
99
62
31
64
45
-31
15
4
-3
0
0
0
0
0
-72
-4
8
-3
9
-25
-28
-49
47
-21
0
1
0
0
0
0
0
-29
25
1
-4
-25
-23
55
17
-18
-4
8
0
-6
0
0
0
0
51
73
59
-23
38
-67
25
20
64
1
3
0
0
0
0
0
0
60
30
-18
34
-27
2
-30
38
-19
0
-2
0
0
0
0
0
0
43
3
17
4
-20
-40
1
4
2
0
0
0
0
0
0
0
0
1
77
22
22
11
-50
-38
-7
4
0
0
0
0
0
0
0
0
16
15
16
1
-11
2
0
0
0
0
1
0
0
0
0
0
0
1
10
44
92
39
108
31
0
0
0
0
0
0
0
0
0
0
0
12
16
63
68
79
11
-31
4
-64
0
0
0
0
0
0
0
1
10
26
19
19
-8
-26
20
4
1
0
0
0
0
0
0
0
0
6
82
-15
-25
13
-28
26
0
2
0
0
0
0
0
0
0
2
0
1
-59
9
0
18
96
1
2
0
0
0
0
0
0
0
0
1
1
49
-4
8
28
-8
0
1
0
0
0
0
0
0
0
1
1
-2
25
-9
-3
-10
3
2
0
0
0
0
0
0
0
0
0
3
-15
-4
9
-3
9
14
2
0
0
0
0
0
0
0
0
0
0
1
-17
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
18
13
1
34
1
0
0
0
0
0
0
0
0
0
0
0
2
-1
38
55
58
48
-91
19
-8
0
-2
0
0
0
0
0
0
0
-53
-41
-8
-28
23
20
32
-5
-2
0
0
0
0
0
0
0
1
-9
-59
18
-8
-8
-1
26
8
7
0
0
0
0
0
0
0
0
0
51
-14
-3
113
46
-10
-9
0
0
0
0
0
0
0
0
0
9
49
-3
4
-12
5
-13
0
1
0
0
0
0
0
0
0
0
3
-16
-44
-23
-33
4
20
-2
0
0
0
0
0
0
0
0
0
3
41
-6
-9
-15
-101
24
2
0
0
0
0
0
0
0
0
0
-1
0
-3
-13
-30
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
59
0
0
-23
-62
4
-4
0
0
0
0
0
0
0
0
0
-2
-8
15
-16
-33
16
-35
2
0
0
0
0
0
0
0
0
0
4
27
17
32
25
53
25
10
-1
0
0
0
0
0
0
0
0
0
-9
-10
-5
1
-44
-2
-7
1
0
0
0
0
0
0
0
0
-1
-23
-18
21
-39
-21
12
-11
-7
0
0
0
0
0
0
0
0
-6
-14
-19
-48
-37
-11
14
-4
10
0
0
0
0
0
0
0
0
3
34
32
-2
-2
-68
11
-11
1
8
0
0
0
0
0
0
0
-2
-98
-22
-83
41
-14
0
0
0
0
0
0
0
0
0
0
0
0
147
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
82
0
0
-53
5
-6
-1
0
0
0
0
0
0
0
0
0
-9
-43
-16
-52
19
-8
1
0
0
0
0
0
0
0
0
0
0
0
33
-6
-32
-25
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
10
26
-2
1
0
0
0
0
0
0
0
0
0
0
0
15
-18
-7
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
-2
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-18
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
108
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
27
0
0
0
-24
-4
0
0
0
0
0
0
0
0
0
0
-1
17
30
4
-24
-19
2
0
0
0
0
0
0
0
0
0
0
-12
1
15
-21
-53
5
-2
0
0
0
0
0
0
0
0
0
0
0
-2
-34
-15
-10
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
6
-95
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
45
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
107
0
0
6
-9
-1
0
0
0
0
0
0
0
0
0
0
0
-23
47
13
2
0
0
0
0
0
0
0
0
0
0
0
0
-7
20
26
-37
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
-25
66
21
-20
-3
0
0
0
0
0
0
0
0
0
0
0
0
-1
-25
2
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
15
-18
6
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-6
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
7
27
-17
5
113
146
0
0
0
0
0
0
0
0
0
0
0
0
-11
26
63
168
121
0
0
0
-17
-1
10
-6
0
0
0
0
-56
-3
-19
-30
7
55
4
17
39
0
2
1
-1
0
0
0
0
-18
35
14
16
28
-79
2
-31
10
-34
-7
1
-1
0
0
0
0
7
34
-26
-76
-12
-69
-57
-41
-25
-12
-8
3
0
0
0
0
0
8
56
-7
-49
34
-12
-49
56
-62
-14
11
0
0
0
0
0
0
-4
15
4
43
-69
-37
-3
-39
-31
20
-1
0
-1
0
0
0
0
0
-18
-11
5
3
-14
-37
45
-42
-9
1
3
0
0
0
0
0
10
-4
4
2
2
-11
-4
21
2
2
0
0
0
0
0
0
0
0
0
0
0
34
65
0
0
0
0
-2
3
0
0
0
0
0
-1
36
44
85
90
63
0
0
0
-21
38
6
0
0
0
0
0
-79
-26
29
42
7
5
-5
8
15
35
-23
-5
0
0
0
0
0
25
-10
-10
-8
16
6
-15
7
29
32
-6
-4
0
0
0
0
0
0
0
-7
-30
-45
-9
-45
-44
-21
1
-25
0
0
0
0
0
0
1
7
-8
-95
-7
-84
-11
-12
-25
-8
0
0
0
0
0
0
0
-6
7
-30
-15
0
24
65
-105
-28
-18
-7
0
0
0
0
0
0
0
-3
33
-19
-12
-28
-1
-25
-30
6
12
0
-1
0
0
0
0
-3
1
0
0
0
-17
-10
-25
-3
1
3
0
0
0
0
0
0
-11
-14
17
12
100
-38
0
0
0
0
0
0
0
0
0
0
0
17
15
29
38
122
53
0
0
0
0
0
0
0
0
0
0
0
-3
24
23
28
59
55
25
2
0
0
0
0
0
0
0
0
0
27
4
29
9
20
46
16
25
3
0
0
0
0
0
0
0
0
42
4
0
-33
-8
7
44
-44
-21
0
0
0
0
0
0
0
0
8
14
22
3
-33
8
-58
38
88
-9
0
-2
0
0
0
0
0
22
20
29
-4
13
-10
-46
32
-24
1
-1
-6
7
0
0
0
0
-12
14
-18
-45
-1
-43
-47
2
-16
-5
-1
-10
0
0
0
0
0
-54
-18
-18
-49
13
13
10
-27
3
3
0
0
-1
0
0
0
0
-21
-40
-14
64
99
202
0
0
0
0
0
0
0
0
0
0
0
36
-21
0
24
5
151
0
0
-48
-5
4
0
0
0
0
0
0
26
-24
-26
-55
-5
-17
15
-14
18
-1
-2
0
0
0
0
0
0
36
19
3
-51
-8
-34
-79
13
-10
31
-12
0
0
0
0
0
0
-28
-37
-61
-74
-15
-49
-57
-6
9
1
-2
0
0
0
0
0
0
-14
-36
-31
-42
-48
78
17
-10
-43
-2
0
0
0
0
0
0
0
29
-32
-94
2
1
-25
-21
-18
-43
-1
2
16
0
0
0
0
0
-9
-12
-79
-62
-8
-10
-14
-47
-5
-9
1
0
0
0
0
0
0
11
13
-4
9
-4
1
6
5
-3
2
0
0
0
0
0
0
0
-34
-39
-43
-39
37
168
0
0
0
0
0
0
0
0
0
0
0
-13
-3
-8
8
28
61
34
23
13
-28
6
0
0
0
0
0
0
49
-7
2
5
7
-12
-53
-35
-32
22
-3
0
0
0
0
0
0
6
7
-3
-5
-7
5
-21
-17
-5
0
-34
1
0
0
0
0
0
4
-4
-3
-12
-24
-21
-36
-16
-22
0
-7
-9
0
0
0
0
0
-7
-10
-5
8
-10
14
-38
-71
-47
30
37
-28
0
0
0
0
0
28
-5
-7
-4
-11
-14
-19
-53
-67
-22
-8
-21
0
0
0
0
0
27
-10
-5
-10
-22
-21
-27
-13
0
-29
34
27
0
0
0
0
0
43
-7
13
-12
-25
-34
-29
-50
-25
-16
-15
9
-2
0
0
0
0
22
68
127
183
225
195
0
0
0
0
0
0
0
0
0
0
0
29
42
68
148
179
84
93
-35
0
0
0
0
0
0
0
0
0
-54
33
40
0
-37
-10
-61
21
-8
2
0
0
0
0
0
0
0
-42
-10
-67
47
0
-110
13
0
0
0
0
0
0
0
0
0
0
-32
-22
-71
-37
6
-24
0
-4
0
1
0
0
0
0
0
0
0
-50
-29
-32
-19
9
6
-1
0
-3
0
0
0
0
0
0
0
0
-65
-73
-35
-14
-30
11
0
0
0
0
0
0
0
0
0
0
0
-1
-138
-108
-73
-125
-49
-2
10
0
0
0
0
0
0
0
0
0
-59
-43
-26
-21
-4
-3
-4
-1
-1
0
0
0
0
0
0
0
0
-82
-71
-52
63
47
74
201
0
0
0
0
0
0
0
0
0
0
-9
-4
1
-12
13
0
39
64
7
-2
0
0
0
0
0
0
0
-45
29
8
30
30
-36
-4
-31
-12
8
-6
0
0
0
0
0
0
-29
-14
-4
-28
-11
-27
-32
19
-25
-4
0
0
0
0
0
0
0
-18
51
36
-46
-1
-44
41
24
-4
1
0
0
0
0
0
0
0
-14
19
6
-41
-30
-5
-26
3
3
0
0
0
0
0
0
0
0
52
-6
2
-24
-23
-5
28
4
-8
3
0
0
0
0
0
0
0
-26
-7
-32
-39
6
-75
-17
28
1
8
0
0
0
0
0
0
0
-33
-63
43
-16
-8
2
-27
10
-2
-1
2
0
0
0
0
0
0
-95
-43
-5
-21
104
126
0
0
0
-1
-1
0
0
0
0
0
0
-31
-47
-3
18
-1
163
0
33
0
58
7
1
0
0
0
0
0
-21
-27
1
-9
-8
-39
86
7
18
-28
26
0
0
0
0
0
0
-11
62
-31
-56
-38
0
-14
-45
-52
-8
-25
0
0
0
0
0
0
-2
-31
-37
-72
-89
-23
0
39
11
-5
-11
0
0
0
0
0
0
3
21
-5
-26
12
-80
-56
8
1
0
3
0
-2
0
0
0
0
-24
-21
-85
-50
10
27
-32
9
11
1
0
0
0
0
0
0
0
4
-20
-33
0
23
-18
-45
-9
-33
-6
-1
0
0
0
0
0
0
-44
-59
-51
30
-38
-46
-9
-21
1
1
0
0
0
0
0
0
0
-17
-26
-1
12
112
211
236
0
0
1
0
0
0
0
0
0
0
1
-31
8
42
70
148
0
105
0
-45
0
0
0
0
0
0
0
-2
2
42
32
7
-4
-11
31
38
-7
4
0
0
0
0
0
0
-15
8
-62
-8
-48
-11
12
-32
-19
4
4
3
0
0
0
0
0
-11
-13
25
19
-61
26
-11
-39
-12
17
-6
0
0
0
0
0
0
35
21
-6
-17
-66
-18
-15
-2
4
0
0
0
0
0
0
0
0
-4
-14
22
21
-57
-88
-10
-19
6
0
0
0
0
0
0
0
0
-26
-12
-13
-18
-9
-18
86
13
-8
0
0
0
0
0
0
0
0
10
-7
5
49
0
-15
32
1
0
0
0
0
0
0
0
0
0
10
-54
-19
67
92
75
0
0
0
0
0
0
0
0
0
0
0
-30
33
50
87
67
74
59
0
-59
-22
0
0
0
0
0
0
0
-3
15
8
18
61
-13
-59
-3
-49
4
0
0
0
0
0
0
0
23
21
15
-1
11
-17
-9
-34
-19
-6
1
0
0
0
0
0
0
40
45
-18
-66
8
27
-27
-8
-12
4
0
0
0
0
0
0
0
27
12
-41
9
-81
-6
-4
-45
-8
-11
0
0
0
0
0
0
0
31
19
1
8
-34
-4
-18
14
4
0
0
0
0
0
0
0
0
-7
15
-28
39
-32
-7
-9
6
56
-9
0
0
0
0
0
0
0
22
-7
27
-12
14
6
19
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
13
10
1
0
0
34
0
0
0
0
0
0
0
0
0
0
1
-1
68
39
98
34
53
4
0
0
0
0
0
0
0
0
0
0
0
-13
-10
-24
41
27
2
0
0
0
0
0
0
0
0
0
0
0
14
-2
-2
-16
-23
0
0
0
0
0
0
0
0
0
0
0
0
-6
26
31
-55
0
0
0
0
0
0
0
0
0
0
-2
0
0
-16
-22
-13
-32
-43
2
0
0
0
0
0
0
0
0
0
-1
3
19
0
-32
-15
-52
0
0
0
0
0
0
0
0
0
0
0
0
1
10
-2
5
4
6
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
1
1
0
0
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
-24
18
3
46
3
0
0
0
0
0
0
0
0
0
0
0
3
-2
26
-3
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
9
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
9
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
7
-6
0
0
0
0
0
0
0
0
0
0
1
4
36
71
8
36
-1
0
0
0
0
0
0
0
0
0
0
0
-12
-13
-28
-43
-10
-9
0
0
0
0
0
0
0
0
0
0
0
2
3
47
-7
29
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-56
42
0
0
0
0
0
0
0
0
0
0
0
0
1
-46
-6
-1
61
0
0
0
0
0
0
0
0
0
0
0
-1
1
3
-24
63
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
11
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
2
-3
0
0
-31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
41
-20
8
0
0
0
0
0
0
0
0
0
0
0
0
3
7
21
88
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
10
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
-6
19
-12
58
0
0
0
0
0
0
0
0
0
0
0
2
0
0
30
23
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
-37
-32
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
19
9
-40
9
3
0
0
0
0
0
0
-1
0
0
0
0
-10
-92
-26
5
-24
-8
0
0
0
0
0
0
0
0
-27
38
64
18
-6
-23
53
-11
0
0
0
0
0
0
0
0
0
1
-2
35
65
13
44
51
9
6
0
0
0
0
-3
0
-1
-2
-3
53
23
9
38
0
-7
-17
0
0
0
0
0
0
0
0
-4
3
-11
-10
59
2
11
17
0
0
0
0
0
0
0
0
0
0
-1
22
11
83
20
-7
2
0
0
0
0
0
0
0
0
0
0
1
-47
68
16
-3
4
-7
0
0
0
0
0
0
0
0
0
0
-6
-82
-1
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-32
1
-2
0
0
0
0
0
0
0
1
-3
0
0
0
0
-62
-21
-18
1
-11
-1
0
0
0
0
0
0
-1
-8
1
-18
-6
-14
44
3
-18
2
-1
0
0
0
0
0
0
-1
-2
-2
-60
19
48
13
29
3
-24
-2
0
0
0
0
0
0
0
6
-3
-22
51
22
39
10
-11
-8
-9
0
0
0
0
0
0
0
0
0
-19
3
2
36
6
-4
-7
0
0
0
0
0
0
0
0
0
-2
3
0
16
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
78
47
8
17
-5
87
0
0
0
-2
13
-1
6
26
0
0
19
2
-12
14
-5
6
-32
0
0
1
0
0
1
-10
52
38
77
86
-28
-12
71
-2
69
11
0
0
0
0
0
1
-10
1
13
8
61
-5
43
12
29
39
27
0
0
0
0
2
0
-1
28
-50
6
14
-3
-18
-23
83
59
-14
0
0
0
0
0
0
-6
25
-6
-26
15
-38
70
6
-13
-23
-8
0
0
0
0
0
1
-2
-3
-58
-40
25
34
24
34
43
50
1
0
0
0
0
0
0
8
2
18
-17
-8
10
-23
103
-7
0
0
0
0
0
0
0
-7
-2
-4
6
32
5
0
0
3
0
0
0
0
0
0
1
7
-25
57
5
0
0
-14
9
21
29
16
90
0
0
0
0
0
-12
35
39
18
-45
60
18
26
18
17
11
55
9
0
0
-1
-1
11
-42
-13
3
-36
-1
-8
32
35
-6
24
-2
38
0
0
0
-6
3
18
-4
-4
-38
-33
-32
-8
-4
-13
34
-21
-27
0
0
0
3
6
18
-4
-14
14
-43
-29
-31
-4
-23
12
49
39
0
0
0
0
0
10
-24
-17
17
-38
-9
15
-12
-12
24
-23
0
0
0
0
0
-2
3
-12
2
-12
9
6
-4
-13
-3
29
36
-55
0
0
0
0
0
25
-55
-44
17
-14
-22
-27
-21
-15
29
10
-1
0
0
0
0
0
-1
18
-1
-17
8
-3
-45
-45
-42
57
7
0
0
0
0
0
0
-1
0
2
0
0
64
-50
-21
-7
25
16
-5
0
0
0
0
-6
0
2
10
24
34
2
10
-24
46
-7
-34
18
0
0
0
0
0
0
0
-28
13
-7
38
25
-8
78
53
58
-3
0
0
0
0
0
0
0
3
37
54
-4
-33
39
-16
-39
16
-7
0
0
0
0
0
0
0
-22
21
-18
20
24
-8
11
-1
-1
-37
0
0
0
4
0
3
-4
2
5
-12
-32
10
56
-33
52
-22
30
0
0
0
0
2
0
0
2
-21
-18
-21
24
9
-17
-22
14
-22
0
0
0
0
0
0
0
2
20
-29
-12
44
-5
-22
-54
-11
23
0
0
0
0
0
0
1
2
-6
26
3
-36
61
18
-26
-54
54
0
0
0
0
-1
0
0
-11
0
0
100
66
76
67
7
1
-13
0
0
0
0
0
-2
0
-36
19
63
0
36
82
32
21
86
-12
0
0
0
0
0
-1
-6
20
-3
93
5
47
60
32
-10
31
-41
0
0
0
0
0
-4
-1
7
19
17
26
61
7
-15
51
3
-36
0
0
0
0
0
0
-4
-1
13
1
16
-45
36
-9
-59
-4
58
0
0
0
-4
0
0
-2
8
-63
-24
-5
-2
-15
-15
-18
13
-75
0
0
0
0
-2
0
3
-1
-41
15
1
11
-26
13
25
-115
0
0
0
0
0
0
0
-27
-3
-42
88
40
17
21
-54
29
-49
-22
0
0
0
0
0
-4
0
0
25
18
5
-11
23
42
36
0
0
0
0
0
0
0
0
0
6
0
0
-66
31
-12
45
-13
-29
30
0
0
0
0
0
7
12
0
42
0
-20
18
-69
13
44
-5
-29
0
0
0
0
0
-1
4
94
140
104
48
63
-58
-21
22
93
16
0
0
0
0
0
-1
18
45
88
54
15
-21
-8
31
-8
54
42
0
0
0
0
3
0
5
-18
4
22
-16
-13
23
-64
13
12
-1
0
0
0
0
0
-2
4
-6
-40
41
67
56
-52
46
13
0
0
0
0
0
0
0
-4
-2
23
35
13
72
54
-46
24
58
-18
-2
0
0
0
1
0
0
-45
54
48
41
38
-68
1
-3
0
-16
0
0
0
0
0
0
0
0
7
-6
58
-21
8
-3
-1
-16
-1
0
0
0
0
0
0
0
0
0
0
0
-71
20
-18
21
-13
-7
0
0
0
0
0
0
0
0
0
58
0
-5
57
17
-42
-30
37
0
0
0
0
0
0
0
0
0
29
72
-7
-55
3
-43
-4
95
0
0
0
0
0
0
0
0
0
0
12
11
16
31
-72
20
16
-3
0
0
0
0
0
0
0
-3
1
80
83
74
-27
34
-42
-24
-7
0
0
0
0
0
0
0
2
1
10
44
-44
44
34
8
24
4
0
0
0
0
0
0
0
0
8
19
29
-5
39
172
66
0
-3
0
0
0
0
0
0
0
-1
9
6
16
-27
45
-24
4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
16
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
12
-7
-17
11
-24
36
11
0
0
0
0
0
0
0
2
0
20
-6
14
47
-8
4
-63
-29
0
0
0
0
0
0
0
0
-11
2
17
-11
-29
27
-2
-40
34
0
0
0
0
0
0
0
2
0
1
24
-17
-10
-52
68
16
-22
0
0
0
0
0
0
0
0
0
0
50
-19
26
-3
-19
10
-33
0
0
0
0
0
0
0
0
0
1
24
0
13
-38
14
-13
1
0
0
0
0
0
0
0
0
0
0
7
45
30
71
-27
15
0
0
0
0
0
0
0
0
0
1
0
-1
0
15
-12
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
16
0
0
-1
-3
14
21
-54
9
-24
0
0
0
0
0
0
0
-1
-9
5
60
17
16
-13
-28
4
-13
0
0
0
0
0
0
0
0
5
-34
-1
26
37
58
-6
11
51
0
0
0
0
0
0
0
0
0
0
-14
0
0
26
8
-1
34
0
0
0
0
0
0
0
0
0
0
-7
-7
-29
-33
-25
-69
21
0
0
0
0
0
0
0
0
0
0
-1
-6
-50
-17
61
-100
-10
0
0
0
0
0
0
0
0
0
0
-1
17
-18
27
-38
6
38
0
0
0
0
0
0
0
0
0
0
0
-47
10
-14
11
6
-21
0
0
0
0
0
0
0
0
0
0
0
1
-8
-62
-20
26
-8
0
0
0
0
0
0
0
0
0
0
0
-1
11
49
-15
5
-9
0
0
0
0
0
0
0
0
-1
0
-6
-37
-40
-17
-70
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
20
17
40
8
14
0
0
0
0
0
0
0
0
0
0
0
0
9
1
27
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
12
3
-17
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-22
-48
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
10
-55
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
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
-2
-2
21
52
-13
-7
0
0
0
0
0
0
0
0
-3
-3
-1
-4
5
-27
-47
50
-10
0
0
0
0
0
0
0
0
0
0
2
14
-4
19
-72
-59
-3
0
0
0
0
0
0
0
0
0
0
0
-3
-11
-68
2
73
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-64
42
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
12
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-47
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
18
-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
-3
-2
26
-50
17
0
0
0
0
0
0
0
0
0
0
0
0
-13
-20
21
-8
10
14
0
0
0
0
0
0
0
0
0
2
0
0
0
-22
44
-16
-9
-2
0
0
0
0
0
0
0
0
0
0
2
0
-4
-6
21
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
-9
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
12
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
15
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
2
-7
28
0
0
20
55
17
12
-42
-4
-55
0
0
0
0
-1
2
3
6
83
-3
43
34
54
58
-28
-51
-42
0
0
0
0
0
6
2
58
23
-9
27
14
9
35
47
36
57
0
0
0
0
0
0
1
29
-12
49
21
28
16
-5
-56
39
10
0
0
0
0
0
0
0
9
-48
38
-98
-12
8
23
-15
54
-5
0
0
0
0
0
0
0
0
-35
28
27
-92
-3
-34
1
2
-9
0
0
0
0
0
0
2
-11
4
-42
21
5
-4
-8
-24
-26
-8
0
0
0
0
0
0
0
-2
50
-59
3
-47
-13
-81
-4
-23
0
0
0
0
0
0
0
0
0
10
1
-12
-2
6
-6
-26
-7
13
0
0
0
0
0
0
0
0
0
0
-17
-31
15
47
20
-39
57
0
0
0
0
0
0
1
-1
15
-37
25
15
9
57
16
31
-46
0
0
0
0
0
0
0
-6
30
-8
17
-2
34
18
18
-24
-39
0
0
0
0
0
0
0
0
9
27
-17
-63
62
-1
-8
-30
-26
0
0
0
0
0
0
0
0
25
24
-6
-36
-53
-22
-20
19
52
0
0
0
0
0
0
0
0
-1
-41
36
6
1
-70
-43
7
4
0
0
0
0
0
0
0
2
22
18
0
-46
2
25
-40
-3
-3
0
0
0
0
0
0
0
-1
52
-58
-3
-26
-6
-30
-75
-48
-4
0
0
0
0
0
0
0
1
-30
2
-7
-3
-1
-35
34
-8
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
3
42
0
0
0
-37
9
64
24
6
-23
0
0
0
0
1
-17
14
84
42
1
13
-20
5
-28
-39
-7
69
-2
0
0
0
2
-9
22
-20
-22
58
-2
12
-30
32
-2
1
-20
-8
0
0
0
0
7
-7
21
6
19
-4
17
-7
-49
-60
-10
16
-1
0
0
0
0
-4
0
3
-12
-17
-16
55
-65
-84
0
-67
33
-1
0
0
0
0
0
0
-1
-58
-91
-2
-26
10
-36
3
27
-7
0
0
0
0
0
0
-7
-18
-23
24
-51
-43
-59
35
38
2
1
0
0
0
0
0
0
0
-3
-18
-8
-34
-6
2
46
-23
12
30
0
0
0
0
0
0
0
13
-10
-55
-52
-33
-1
-1
-2
0
0
0
0
0
2
-85
-20
-9
32
-17
0
0
-39
16
33
30
-52
-7
0
0
0
-19
-40
-32
-10
-3
9
4
4
5
2
27
31
32
4
0
0
0
-22
13
20
-36
-30
-6
8
-11
-1
25
35
15
94
-35
0
0
0
7
23
28
6
-23
-21
-8
-9
1
-10
8
14
-8
-27
0
0
0
5
-26
1
-16
-13
2
-11
-2
-19
-14
-9
26
57
13
0
0
0
-10
-27
-10
-26
8
-1
-11
-3
-8
-11
-16
5
6
-13
0
0
0
-19
16
-25
-8
-30
9
-8
7
-3
-12
2
70
-89
9
0
0
0
-18
-2
28
-22
17
17
-13
0
-3
16
-2
33
-1
0
0
0
0
-4
-31
13
-8
3
-17
1
4
-4
-8
-9
-17
27
-3
0
0
0
0
0
-1
6
-11
-81
0
0
80
46
1
63
-1
0
0
0
0
0
0
4
3
-5
4
-61
-61
21
-41
-25
48
-1
0
0
0
0
0
0
0
2
-49
25
-4
-72
-13
-52
7
-18
0
0
0
0
0
0
0
0
0
-13
17
-21
-6
-49
47
4
17
0
0
0
0
0
0
0
0
-2
12
-12
21
-40
92
0
-24
19
0
0
0
0
0
0
0
0
0
2
-2
8
-6
-26
-16
27
13
0
0
0
0
0
0
2
0
-3
2
84
9
-8
35
-90
54
-46
16
0
0
0
0
0
0
0
-9
2
2
28
-22
-1
72
0
-3
0
0
0
0
0
0
0
-7
0
-1
2
-27
51
-46
39
7
0
0
0
0
0
0
0
0
0
40
67
-7
0
0
4
20
45
49
1
0
0
0
0
0
1
-17
27
-88
9
8
-10
25
0
6
-19
6
0
0
0
0
0
0
25
9
25
8
14
13
63
26
44
76
-26
0
0
0
0
0
0
-2
6
44
-27
-28
0
-27
15
-12
4
12
0
0
0
0
0
8
1
0
-26
-36
-63
-27
41
-66
24
-23
-1
0
0
0
0
0
0
7
6
6
-89
-29
-54
-36
-53
79
5
0
0
0
0
0
0
1
-4
-36
-42
-54
-3
7
9
8
2
-7
-1
0
0
0
0
0
-1
10
12
-11
-37
18
1
-32
-46
-10
-63
0
0
0
0
0
0
0
-9
9
-20
-16
-19
-46
-59
6
14
28
0
0
0
0
0
-3
0
-1
-9
-15
-55
0
0
58
-9
41
-48
-29
3
51
0
0
0
0
-2
-3
-51
46
44
41
32
-10
9
41
15
-32
-27
0
0
0
0
6
-25
29
-26
-22
2
35
58
-67
46
71
-44
-42
0
0
0
0
0
-6
-60
-15
-7
28
7
-6
50
37
-29
-119
-6
0
0
0
1
-2
3
-12
-11
5
27
4
4
6
-13
-8
3
0
0
0
0
0
-1
9
-10
-48
-24
-55
-24
26
-22
24
7
-4
-3
0
0
0
0
0
-2
-3
-10
-38
15
40
-91
7
-17
-25
2
7
0
0
0
3
4
-2
-41
-37
-61
-48
-74
-29
-14
27
2
-51
0
0
0
0
0
0
2
3
-39
-58
-12
-60
-26
-30
-1
0
7
0
0
0
-1
0
0
-17
5
15
0
0
49
-19
97
-26
47
-2
32
0
0
0
0
0
0
1
-32
-6
31
13
66
-34
28
-4
21
-7
0
0
0
0
0
-19
-37
-2
29
47
67
70
27
48
8
24
10
0
0
0
0
0
0
-58
21
-1
4
43
-3
28
30
7
-23
-11
0
0
0
0
0
-1
53
-51
26
-24
19
-39
-75
126
46
-6
1
0
0
0
0
1
-4
-60
2
-26
-67
2
-24
-19
-37
1
19
0
0
0
0
0
1
9
-11
0
54
8
15
2
-20
14
0
19
-13
0
0
0
0
0
0
-16
-12
-42
-36
3
-11
20
41
-3
-11
0
0
0
0
0
0
2
33
15
-4
-38
40
-18
29
0
0
0
0
0
0
0
0
1
6
-14
-25
0
0
17
58
-74
5
58
63
29
0
0
0
-1
0
-5
16
10
-32
-14
-29
38
52
-9
29
-18
-16
0
0
0
0
-1
9
101
-12
29
69
-56
35
-10
-17
-33
-46
-2
0
0
0
0
0
-1
6
10
15
-38
-65
-24
46
3
-86
-72
6
0
0
0
0
0
10
9
22
49
9
-11
-27
-9
14
-46
13
-35
0
0
0
3
2
-10
-23
13
72
30
-10
-65
7
13
8
-29
-6
0
0
0
1
-12
-6
-12
8
5
8
2
14
36
11
5
-28
-6
0
0
1
-1
6
12
-17
-4
-9
6
-28
67
-4
-7
-44
9
0
0
0
0
4
-10
-36
-26
3
-24
28
-22
-20
25
-19
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
13
4
0
0
0
0
0
0
0
0
0
0
0
4
-34
-7
5
-7
11
2
0
0
0
0
0
0
0
0
0
0
-16
22
-29
9
-12
0
0
0
0
0
0
0
0
0
0
0
0
-7
-36
7
0
4
0
0
0
0
0
0
0
0
0
0
0
0
-6
-12
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-18
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-9
10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-59
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
6
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
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
-16
1
3
0
2
0
0
0
0
0
0
0
0
0
0
0
7
-3
-16
17
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-14
-3
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
3
-19
-6
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
-27
0
-2
11
16
8
0
0
0
0
0
0
0
0
0
0
-3
1
-6
-4
1
-7
4
0
0
0
0
0
0
0
0
0
0
-2
0
-12
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-1
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
7
-14
-3
42
0
0
0
0
0
0
0
0
0
0
2
11
18
0
-19
-6
26
36
-8
-13
-4
1
0
0
0
0
0
7
-2
0
-7
30
19
-69
-22
-19
4
-2
-1
0
0
0
0
0
1
1
6
-2
-8
-8
-8
-8
-10
6
1
1
-1
0
0
0
0
0
11
-3
3
0
-2
0
0
1
3
0
0
0
0
0
0
0
1
-2
7
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
19
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
21
9
-52
-107
0
0
0
1
-1
0
0
0
0
0
0
1
-59
-9
53
-28
4
-44
68
16
43
-26
-8
-3
0
0
0
0
32
-33
-106
16
32
23
-64
-7
84
44
7
-13
-1
0
0
0
0
8
5
8
35
14
16
-20
30
11
9
10
0
0
0
0
0
0
-2
16
12
-48
86
-19
-52
40
20
1
-6
3
0
0
0
0
0
-1
4
2
-10
-22
21
16
-33
49
-4
1
0
0
0
0
0
0
2
13
-17
-5
11
-35
21
-34
-17
14
0
0
0
0
0
0
0
0
-2
23
-16
-40
-23
5
-12
38
5
4
0
0
0
0
0
0
0
-12
20
-30
-58
2
-41
14
2
-4
0
0
0
0
0
0
0
0
0
-27
-19
16
0
26
0
0
0
0
0
0
0
0
0
0
0
1
16
10
-3
-8
53
-6
-21
5
-34
-8
0
0
0
0
0
0
0
-8
4
13
-13
-13
23
-2
1
19
2
0
0
0
0
0
0
0
-3
5
6
-9
-1
0
27
-17
4
1
0
0
0
0
0
0
0
0
-4
11
6
1
-16
-13
-4
-13
0
0
0
0
0
0
0
0
-9
28
16
13
-3
-10
-11
1
-1
0
0
0
0
0
0
0
2
0
-2
3
1
-1
-4
4
-2
-1
0
0
0
0
0
0
0
0
-1
-6
0
2
-7
-9
4
0
-1
-2
0
0
0
0
0
0
0
0
-4
-6
0
1
-9
-3
-2
0
0
0
0
0
0
0
0
-2
2
27
-27
-31
18
0
0
0
0
0
0
0
0
0
0
0
-1
30
9
55
-41
-12
51
41
-18
-15
-1
0
0
0
0
0
0
1
16
-21
-13
-34
-10
-16
7
1
-1
-1
0
0
0
0
0
0
0
1
21
-2
-16
24
6
-1
1
0
0
0
0
0
0
0
0
1
2
-12
12
-18
0
38
3
-1
0
0
0
0
0
0
0
0
-1
-9
-6
-1
2
7
2
9
-27
-3
0
0
0
0
0
0
0
0
15
9
13
-8
-15
-26
8
-4
0
0
0
0
0
0
0
0
-1
-15
8
4
-8
-2
10
2
0
0
0
0
0
0
0
0
0
2
-2
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
42
-6
0
18
57
39
0
0
0
0
0
0
0
0
0
0
0
6
13
1
11
6
-43
6
5
15
1
-1
0
0
0
0
0
-1
-27
-24
-6
5
-33
-1
-22
13
-5
1
0
0
0
0
0
0
-1
7
9
15
-8
9
11
-8
0
0
2
0
0
0
0
0
0
0
1
0
-4
0
-3
-18
0
0
0
1
0
0
0
0
0
0
2
0
6
1
0
1
-1
0
1
0
0
0
0
0
0
0
0
0
-16
-8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
10
1
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-9
26
9
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
20
-1
-34
13
0
-1
0
0
0
0
0
0
0
0
0
0
-1
-1
1
3
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
9
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-9
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-11
-4
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
2
4
-2
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
-2
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
66
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-4
6
24
11
-2
0
0
0
0
0
0
0
0
0
0
0
0
29
7
29
-18
-3
-1
0
0
0
0
0
0
0
0
0
0
-7
13
16
-12
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
39
-12
-3
-1
1
-3
1
0
0
0
0
0
0
0
0
0
-11
32
-19
-3
1
1
-1
0
0
0
0
0
0
0
0
0
0
7
-14
-5
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
1
-11
13
15
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
15
0
0
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
-28
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
-6
19
6
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
19
-11
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
1
21
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-10
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-6
4
5
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-24
19
16
0
0
0
-3
0
0
1
0
0
0
0
-1
-9
0
-3
0
2
-17
-7
-16
-3
0
0
0
0
0
0
0
0
-1
0
6
1
-15
23
-13
-11
0
0
0
0
0
0
0
0
-1
1
2
-1
13
-19
7
12
9
1
0
0
0
0
0
0
0
0
0
0
-11
-7
6
6
2
-13
-1
1
0
0
0
0
0
0
0
0
1
4
2
-1
-1
3
1
0
0
0
0
0
0
0
0
0
3
-8
-12
-4
-1
-1
0
-2
0
0
0
0
0
0
0
0
0
0
-2
8
1
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
24
0
0
0
-10
11
1
0
0
0
0
0
0
0
-1
2
-1
8
-2
-28
-2
28
3
0
0
0
0
0
0
0
0
0
2
-1
9
-17
14
-1
-12
7
0
0
0
0
0
0
0
0
0
-2
0
0
10
-27
55
-5
-7
0
0
0
0
0
0
0
0
0
0
0
-2
0
-22
1
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
-9
0
0
0
0
0
0
0
0
0
0
-2
0
0
3
0
0
-1
-23
-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
-4
27
13
2
16
-17
0
0
0
0
0
0
0
0
0
0
0
3
-53
-31
4
0
43
0
0
0
0
0
0
0
0
0
0
0
17
30
39
-30
46
17
13
1
0
0
0
0
0
0
0
0
0
21
-19
38
11
-34
28
3
18
1
0
0
0
0
0
0
0
0
5
-35
3
-43
2
-2
12
-10
2
0
0
0
0
0
0
0
0
20
-18
-32
36
-53
-9
-3
3
29
0
0
0
0
0
0
0
0
-19
37
3
-18
26
-13
-21
-9
-7
2
0
0
0
0
0
0
0
1
20
-3
-16
20
-35
-17
-1
-9
0
0
0
0
0
0
0
0
4
-37
49
-18
4
5
10
1
0
-1
0
0
0
0
0
0
0
-18
-16
13
13
-2
11
0
0
0
0
0
0
0
0
0
0
0
27
24
13
-46
-26
34
0
0
-3
2
-7
0
0
0
0
0
0
-12
16
-2
-32
8
5
-18
11
10
-6
0
0
0
0
0
0
0
-10
-2
12
-15
22
-41
9
17
6
10
0
0
0
0
0
0
0
-4
-6
-1
11
8
-8
3
-10
3
0
0
0
0
0
0
0
0
6
5
8
-1
5
10
-1
-1
0
0
0
0
0
0
0
0
0
32
-27
-34
0
-6
-8
-1
0
-3
-1
0
0
0
0
0
0
0
0
-3
-10
-4
0
-1
1
-9
1
1
0
0
0
0
0
0
0
4
-1
-1
3
-4
0
1
0
-4
0
0
0
0
0
0
0
0
41
-21
39
-24
-3
83
0
0
0
0
0
0
0
0
0
0
0
-23
10
-52
46
-75
-33
-10
9
26
-7
1
0
0
0
0
0
0
45
-32
-1
33
43
26
-36
-9
-21
-18
1
0
0
0
0
0
0
3
28
3
-49
-3
-25
23
10
-5
31
-17
4
0
0
0
0
0
8
-9
33
-14
25
46
-27
8
13
-33
11
-1
0
0
0
0
0
19
7
2
24
-17
4
-7
-39
16
3
-10
-2
0
0
0
0
0
-7
6
-24
12
37
2
-38
-8
13
3
-8
1
0
0
0
0
0
-9
22
3
6
-14
3
51
24
-7
33
-7
1
0
0
0
0
0
18
-34
32
9
13
-47
8
-6
-10
0
9
0
0
0
0
0
0
-24
26
12
-37
-16
41
0
0
0
0
0
0
0
0
0
0
0
1
36
9
1
23
-9
-3
0
0
0
0
0
0
0
0
0
0
1
-9
-29
-6
13
21
-8
-3
0
0
0
0
0
0
0
0
0
0
8
-1
1
0
-6
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
-1
-6
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
6
-11
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
13
33
-9
-10
41
0
0
0
0
0
0
0
0
0
0
0
-32
-8
24
114
0
21
20
2
-2
-2
0
0
0
0
0
0
-1
-11
-50
16
-4
-2
1
-13
-3
0
0
0
0
0
0
0
0
0
11
-26
-6
40
1
-4
17
-1
0
0
0
0
0
0
0
0
-1
-22
-25
0
22
-3
-15
0
0
0
0
0
0
0
0
0
0
0
5
18
-29
-10
1
1
0
-1
0
0
0
0
0
0
0
0
8
-6
-4
-54
-1
1
1
0
-1
0
0
0
0
0
0
0
0
0
-24
-70
1
-18
-8
0
0
0
4
0
0
0
0
0
0
0
-2
-15
1
-13
-8
2
0
1
0
0
0
0
0
0
0
0
0
-9
-38
-2
3
-5
60
0
0
0
0
0
0
0
0
0
0
0
-12
-30
-20
13
-54
62
0
7
0
23
0
1
0
0
0
0
0
-3
29
20
-7
11
-18
33
24
-13
-1
7
0
0
0
0
0
0
9
-11
-6
-11
-19
1
20
-24
-19
-15
0
0
0
0
0
0
0
-20
-3
-10
10
-26
8
-12
4
-1
2
-1
0
0
0
0
0
0
-3
0
27
-4
11
-3
-11
13
-3
0
0
0
0
0
0
0
0
-27
-4
-17
-23
15
-8
-7
3
0
0
0
0
0
0
0
0
0
-2
-6
-18
-3
-3
-19
-6
0
-1
0
0
0
0
0
0
0
0
0
-12
-21
12
2
-7
1
0
0
0
0
0
0
0
0
0
0
-1
3
-14
-13
27
3
44
0
0
0
0
0
0
0
0
0
0
-1
0
25
8
-4
12
0
44
0
4
0
0
0
0
0
0
0
7
-32
42
-3
50
-18
47
2
-6
0
0
0
0
0
0
0
0
-7
25
-30
-4
-24
-15
-2
-7
-16
0
0
1
0
0
0
0
0
0
8
-2
26
-9
-3
26
-1
0
7
0
0
0
0
0
0
0
-2
-23
11
-1
-7
10
-1
0
0
0
0
0
0
0
0
0
0
1
3
8
8
9
1
0
0
0
0
0
0
0
0
0
0
0
0
-12
-19
0
2
-28
0
0
0
0
0
0
0
0
0
0
0
-1
-26
-10
-26
0
0
-1
0
0
0
0
0
0
0
0
0
0
-24
-15
4
-15
19
11
0
0
0
0
0
0
0
0
0
0
0
-6
54
29
82
-16
-12
3
0
-12
0
0
0
0
0
0
0
0
-18
22
-8
20
10
-25
12
21
-5
0
0
0
0
0
0
0
0
-15
-3
28
-15
3
7
-4
-11
0
-2
0
0
0
0
0
0
0
4
25
-27
-3
6
11
9
-7
3
0
0
0
0
0
0
0
0
10
-10
-15
4
7
-3
1
0
-7
0
0
0
0
0
0
0
0
12
-10
-4
39
2
0
0
8
2
0
0
0
0
0
0
0
0
-36
7
-24
-7
-2
2
0
-10
9
0
0
0
0
0
0
0
0
-22
-13
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
10
-33
12
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-30
-24
-14
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
28
-20
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
4
-8
-11
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-17
-21
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
-32
-38
22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-17
37
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
1
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-6
13
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
2
-1
-1
4
0
0
0
0
0
0
0
0
0
0
-6
-6
-6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
1
0
-2
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
0
0
0
0
-2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
11
11
-4
41
-1
-13
-1
0
0
0
-1
0
0
1
0
0
0
17
-48
-19
14
-29
15
-19
0
0
0
0
0
1
-4
6
16
28
0
-39
-13
10
9
-32
0
0
0
0
0
0
0
-1
-1
19
-8
7
-19
-49
21
26
27
-4
0
0
0
0
0
0
0
3
-17
0
-8
-13
2
5
18
-3
-2
0
0
0
0
0
0
0
2
11
-8
6
4
1
-5
10
-6
0
0
0
0
0
0
0
0
0
-4
-15
7
4
1
4
13
0
0
0
0
0
-2
1
0
1
0
-1
-3
0
-2
-4
1
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
-2
2
4
0
0
4
11
-9
69
53
20
0
0
0
0
0
0
0
-7
39
-28
-77
46
-57
-16
-26
4
22
-6
0
0
0
0
0
0
-4
13
34
-16
7
-37
-30
27
108
0
-10
0
0
0
0
0
8
-10
5
-46
-1
-18
7
18
10
-45
-19
-34
0
0
0
0
0
-2
15
20
13
10
14
-14
-26
-51
-40
8
15
0
0
0
0
-1
0
-4
-13
35
-28
-21
44
-41
-54
26
0
0
0
0
0
0
0
-1
0
23
-4
31
-31
-52
-20
30
6
-16
0
0
0
0
0
0
3
-12
-12
1
91
-26
32
-39
21
40
-1
0
0
0
0
0
0
-1
6
9
18
39
1
-35
17
-49
10
-3
0
0
0
0
0
0
0
0
0
0
0
24
-29
-23
-7
1
18
16
0
0
0
0
0
0
0
2
5
-8
34
28
-4
11
-20
-59
13
0
0
0
0
0
0
0
0
-9
-14
-19
11
-5
36
-35
0
3
0
0
0
0
0
0
0
0
0
-3
23
-4
-9
2
-33
6
-3
0
0
0
0
0
0
0
-1
1
1
-7
22
2
26
3
-2
4
0
0
0
0
0
0
2
0
1
-4
0
-2
4
-6
8
-36
10
0
0
0
0
0
0
0
1
-1
-1
0
2
-8
4
-6
0
-9
0
0
0
0
0
0
0
-3
0
6
-10
16
2
3
1
7
0
0
0
0
0
0
0
0
0
0
1
2
-2
1
-3
8
-3
-11
0
0
0
0
0
0
0
-7
0
0
37
50
15
11
-26
-13
2
0
0
0
0
0
0
0
9
16
1
0
-30
40
-3
-36
64
-15
0
0
0
0
0
0
0
0
0
-8
-3
28
-5
-11
0
30
2
0
0
0
0
0
-2
-1
0
-10
-20
19
52
-8
-26
-9
9
3
0
0
0
0
0
0
0
2
2
-11
12
-8
0
-24
-29
-11
-4
0
0
0
0
0
0
2
-4
-3
0
9
4
-19
2
1
16
-1
0
0
0
0
0
0
0
-1
-4
18
-9
10
21
-6
12
0
0
0
0
0
0
0
0
-4
0
-3
0
5
2
4
-20
-4
-1
0
0
0
0
0
0
0
0
0
1
0
3
0
-2
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
-10
3
15
2
56
9
1
0
0
0
0
0
0
2
0
46
0
-47
-12
-12
46
-25
3
-2
0
0
0
0
0
0
1
9
52
-28
1
-10
-39
23
2
22
1
0
0
0
0
0
0
4
-1
23
-1
-7
10
-9
-11
-21
-1
0
0
0
0
0
0
0
0
0
0
3
-15
-2
2
-16
-8
7
0
0
0
0
0
0
0
1
0
-9
24
-13
-4
4
0
-1
0
0
0
0
0
0
0
-1
0
1
-8
16
9
0
-6
4
1
0
0
0
0
0
0
0
0
-7
1
8
12
10
3
-1
-9
1
-2
0
0
0
0
0
0
0
0
0
0
9
-2
1
1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
6
-11
0
0
0
0
0
0
0
0
0
0
7
0
-4
11
-27
-1
4
0
0
0
0
0
0
0
0
0
0
3
9
0
-9
-10
-6
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
-4
-1
0
0
0
0
0
0
0
0
0
-1
0
0
10
-2
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-11
1
0
0
0
0
0
0
0
0
1
0
-9
3
-8
28
4
-22
-3
0
0
0
0
0
0
0
0
0
0
0
1
-3
21
0
7
0
-2
0
0
0
0
0
0
0
0
0
3
1
1
0
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-17
0
8
-27
-1
-3
0
0
0
0
0
0
0
0
0
-6
32
-12
26
-14
6
34
1
0
0
0
0
0
0
0
0
0
-1
3
-3
22
54
-2
32
15
0
0
0
0
0
0
0
0
0
0
-1
1
8
-22
76
-20
0
0
0
0
0
0
0
0
0
0
0
-2
4
19
-8
-2
4
11
0
0
0
0
0
0
0
0
0
0
-1
-9
-27
0
37
0
2
0
0
0
0
0
0
0
0
0
0
0
10
-13
-2
5
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
34
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-15
11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
25
-1
-6
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-18
-12
13
-3
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-2
0
0
7
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
26
-5
-4
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
1
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-16
1
2
9
0
-1
-1
0
0
0
0
0
0
-2
0
2
-5
21
21
0
35
-11
-7
1
0
0
0
0
0
-1
0
6
0
1
-18
1
0
-11
4
-7
-1
0
0
0
0
0
0
0
0
0
2
-1
2
7
-23
-6
17
-3
0
0
0
0
0
0
0
0
0
1
-7
9
-4
6
0
3
0
0
0
0
0
0
0
0
0
3
-2
0
-1
16
-4
6
0
0
0
0
0
0
0
0
0
0
-4
4
-1
0
6
1
-2
-6
0
0
0
0
0
0
0
0
0
-6
3
0
1
0
-3
9
8
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
-7
4
8
6
13
-1
0
0
0
0
0
0
0
0
0
0
11
1
2
16
24
2
-19
0
0
0
0
0
0
0
0
0
-1
16
8
18
-4
-21
-11
-17
0
0
0
0
0
0
0
0
0
0
-1
-3
-7
21
-5
-16
-13
0
0
0
0
0
0
0
0
0
-1
0
-8
0
-6
-9
6
13
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
11
-8
11
1
0
0
0
0
0
0
0
0
4
-8
0
-3
-6
-25
-3
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
2
-7
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
0
0
-24
4
-18
9
-8
0
0
0
0
0
0
0
-17
40
-9
15
66
32
10
-5
-1
4
-2
0
0
0
0
0
-7
9
2
17
-14
-37
39
-2
17
-15
0
9
0
0
0
0
0
0
-4
-1
21
-19
-1
-1
0
-19
-6
0
18
0
0
0
0
0
0
0
0
20
10
-6
6
-4
7
0
0
0
0
0
0
0
0
0
0
0
3
0
-13
-6
-1
-3
3
1
0
0
0
0
0
0
0
0
5
0
8
-6
0
2
8
3
3
0
0
0
0
0
0
0
0
0
-1
-10
4
-4
1
0
-6
0
-1
0
0
0
0
0
0
0
8
-1
-13
-18
0
0
0
0
0
0
0
0
0
2
-22
-8
-41
28
-1
0
0
-28
-30
-30
24
1
0
0
0
0
-3
0
16
10
-28
22
-39
10
-20
2
14
-18
-17
-3
0
0
0
0
-4
0
20
-9
-10
30
2
15
4
44
-80
-7
-15
0
0
0
2
4
21
-11
8
-22
16
-16
8
-21
-4
58
11
0
0
0
0
1
-25
23
-44
18
-36
6
1
25
-26
48
1
0
0
0
0
0
0
1
-19
44
17
-4
13
17
3
1
7
33
-2
0
0
0
0
-2
-2
7
-29
-15
6
-3
-12
25
-7
13
36
-7
0
0
0
0
-2
-16
11
-41
15
6
5
3
13
-10
67
2
3
0
0
0
0
1
-12
-18
-43
46
-19
-18
-5
-2
18
5
-10
0
0
0
0
0
0
0
0
-3
0
0
0
0
39
25
15
0
0
0
0
0
0
0
0
1
0
0
13
52
-1
20
-11
-19
15
0
0
0
0
0
0
0
0
1
-4
3
18
-49
-37
0
2
4
0
0
0
0
0
0
0
0
2
-3
3
-15
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
8
0
-2
1
-2
4
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
1
2
1
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
-2
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
0
6
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
8
-6
0
0
29
-24
-2
-4
0
0
0
0
0
0
0
0
1
-15
27
-15
10
0
17
0
-2
0
0
0
0
0
0
0
0
2
-9
-6
-5
27
16
35
-8
-7
0
0
0
0
0
0
0
0
1
8
0
3
-26
-4
24
2
-3
0
0
0
0
0
0
0
0
-1
0
9
-20
-20
26
0
9
-1
0
0
0
0
0
0
0
0
0
-11
-20
-27
-8
29
-2
9
0
0
0
0
0
0
0
0
0
-2
-2
-39
-20
0
0
-9
-2
0
0
0
0
0
0
0
0
1
2
-10
5
-20
2
-19
-10
10
-1
0
0
0
0
0
0
0
1
-1
0
0
12
-25
-26
12
11
0
0
0
0
0
0
0
0
0
-4
5
-34
0
0
-6
-4
13
-3
9
1
0
0
0
0
0
-2
0
-12
37
-22
3
34
-1
11
0
27
-22
-11
0
0
0
0
0
-10
0
-40
-44
3
10
11
6
9
-12
-26
-2
0
0
0
0
-1
0
-16
-21
-21
27
17
19
-4
-7
6
-18
-2
0
0
0
0
0
0
-3
-15
40
32
-4
-3
-8
-5
-7
4
0
0
0
0
0
0
0
-2
-2
-9
-6
-4
15
-8
-3
0
1
0
0
0
0
0
0
0
1
4
0
0
11
-13
13
0
1
0
0
0
0
0
0
0
0
0
0
-9
0
-30
-8
3
15
2
0
0
0
0
0
0
0
0
0
-3
-11
9
-11
0
-2
0
0
0
0
0
0
0
0
0
1
3
7
0
0
15
-7
9
0
15
-3
2
0
0
0
0
0
0
17
-13
23
11
9
-12
2
9
-6
10
-2
0
0
0
0
0
-1
-4
0
-7
31
8
25
-12
8
7
8
0
0
0
0
0
0
0
-7
7
-4
1
8
-2
-4
4
-2
0
0
0
0
0
0
0
0
0
12
0
39
-24
0
-7
-2
1
-2
0
0
0
0
0
0
-4
-3
9
-2
-12
3
4
-4
0
-2
1
0
0
0
0
0
0
-4
-10
11
-3
-1
5
10
36
1
0
0
0
0
0
0
0
0
1
-11
-1
7
15
-27
8
3
0
0
0
0
0
0
0
0
0
1
-3
-6
-41
-19
-6
1
2
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
4
0
1
25
2
2
0
0
0
0
0
-1
-30
0
-15
-1
0
0
0
-4
4
-7
2
0
0
0
0
0
3
8
-8
11
11
0
0
-19
9
3
-2
0
0
0
0
0
0
1
-2
12
-12
19
10
4
6
10
-9
-7
1
0
0
0
0
0
4
15
-21
-14
16
-11
-1
18
-1
-1
-3
0
0
0
0
0
-2
-1
2
10
-29
7
13
-2
1
-6
1
-3
0
0
0
0
0
-4
1
-9
26
20
20
19
0
-10
0
0
-1
0
0
0
0
0
8
1
-14
2
-16
2
-11
22
-2
0
0
0
0
0
0
0
0
0
1
-8
28
-11
-17
-42
1
-1
0
0
0
0
11
-4
-1
0
0
19
-8
30
-1
0
-8
33
16
-11
0
12
1
-10
3
-1
54
-5
1
5
15
-7
18
4
-7
17
-1
1
-21
5
46
2
1
2
-11
9
2
-1
0
0
-1
3
7
-3
0
0
2
18
25
-2
0
31
10
0
-4
0
5
35
10
12
0
-11
4
-6
-1
-4
-37
5
-1
27
-9
25
-1
0
-3
1
2
0
1
-1
24
2
-1
0
0
-1
33
2
2
0
0
-3
18
16
-1
0
6
8
3
-3
0
-1
3
-30
10
-1
-6
-5
22
-11
-4
-6
7
0
20
-8
-2
0
13
-5
-3
4
0
0
0
41
2
-1
0
0
-1
8
13
-3
0
0
-26
-27
28
0
0
9
2
2
-2
0
21
-7
17
1
0
5
-1
32
-25
-2
-6
-2
0
-4
15
4
3
4
-1
-5
8
0
-1
2
-4
2
-9
0
22
-1
25
14
-1
0
0
12
10
24
0
0
-4
10
11
-1
0
-6
-9
-6
-6
0
-9
42
7
-3
11
-6
10
-7
6
12
1
-1
1
-9
-1
5
0
3
1
-4
1
5
1
-5
-2
27
18
-20
-1
0
7
31
3
-1
0
-8
26
-6
-1
0
3
-4
26
8
0
1
28
2
-2
15
-20
-12
-10
-5
12
-4
-6
2
9
3
0
0
1
0
-1
3
6
0
1
-2
27
18
-20
-1
0
-10
-17
8
0
0
1
-9
15
-1
0
-12
-6
-6
2
0
-16
18
-13
-8
1
-9
11
8
-8
8
0
-1
0
0
-9
10
0
1
0
1
4
11
2
0
-2
27
18
-20
-1
0
6
5
-1
0
0
5
-7
19
-1
0
1
20
16
-12
0
-5
16
-18
-1
-15
3
-20
11
-17
14
-3
-5
0
0
-1
3
0
0
1
3
4
-3
7
0
-6
52
1
3
0
0
5
0
4
1
0
7
-21
-8
1
0
-10
-4
-22
-3
1
-9
20
13
-22
-12
3
10
44
-18
8
8
-1
6
5
2
-1
0
1
1
-1
0
0
0
0
0
-5
5
2
0
0
21
-1
3
0
0
-5
44
16
1
0
-2
-8
4
-3
0
10
-5
2
13
15
13
12
5
35
-5
0
-1
-24
-3
13
10
0
0
1
1
0
0
0
0
0
2
11
-3
0
0
-1
-14
38
-1
0
1
0
18
6
0
0
-10
-1
2
1
-2
11
1
1
-9
-12
1
-17
-65
-3
-71
-1
-3
9
20
-13
1
0
1
23
0
0
0
0
0
3
0
2
0
0
11
15
11
0
0
-7
11
1
-6
0
18
24
-14
-2
0
8
36
8
19
-8
-15
-27
-3
5
-26
-12
-6
-7
0
9
-1
0
3
-2
-18
-5
1
14
-3
0
1
-11
-1
-1
0
1
8
9
0
0
1
5
2
1
0
1
2
5
1
0
2
-4
-18
6
-3
35
-8
24
-17
-8
7
-1
9
27
0
2
0
-2
-1
8
1
-10
-9
3
-2
0
0
0
0
0
3
-18
30
-2
0
1
-25
9
0
0
-7
5
-10
-2
0
-21
-36
4
-16
-11
-15
9
0
21
23
-4
22
30
-20
4
7
-4
7
4
-6
9
-26
3
-1
2
0
0
0
0
0
14
21
17
-2
0
12
41
-3
0
0
-19
0
0
0
0
19
-8
31
13
-9
-32
-10
17
46
-16
1
-9
-17
-19
6
4
-1
1
-1
3
-67
5
-3
6
-1
0
0
0
0
0
0
8
37
-3
0
1
13
-3
3
0
0
-21
-24
8
0
2
-5
24
20
15
-13
4
-17
11
4
42
4
-13
12
8
2
5
-2
2
4
2
0
1
2
7
-7
9
0
0
0
7
-3
12
0
0
2
13
16
0
0
12
-20
7
0
0
-6
9
18
13
0
-18
-22
-15
22
-5
-3
-16
-2
1
-10
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
3
-6
-10
0
0
-8
-5
20
0
0
9
-6
0
1
0
-13
-3
34
1
1
10
-19
-5
-48
-4
-6
-1
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-33
0
0
0
1
8
0
0
0
0
26
-7
0
1
-1
-8
6
0
30
-30
-3
24
7
16
-5
-2
-3
-3
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-25
22
8
-1
0
10
0
-1
0
0
-13
-29
-1
3
0
8
4
-22
33
13
4
18
-4
-3
-8
-18
3
9
18
-26
-13
2
4
7
10
-14
15
-10
-9
2
0
0
0
0
0
0
0
-8
0
0
-1
0
7
0
0
0
0
12
2
0
0
0
4
-6
3
2
1
1
40
-14
0
-16
12
-16
16
-24
8
1
10
-2
3
-7
0
10
2
0
0
0
0
0
0
0
0
0
0
22
2
8
-8
0
-1
2
2
6
0
7
7
12
12
6
31
7
-6
12
-10
-9
13
0
26
27
18
-7
-4
-21
-18
-16
5
-5
-7
0
0
0
0
0
0
0
0
0
0
0
-5
-14
9
-7
0
15
3
2
0
0
-20
-1
7
-15
1
51
-20
11
-13
-26
16
-13
33
-14
36
-36
-7
-21
-12
1
-55
0
3
-3
1
0
0
0
0
0
0
0
0
0
0
-1
0
13
-8
0
0
1
-4
3
0
-2
0
-5
13
9
-40
16
-3
-27
-61
14
-5
5
0
24
-54
1
-21
-2
7
-17
38
-5
-21
17
1
-1
0
0
0
5
4
-2
0
0
-2
-2
-2
0
0
1
0
0
3
0
-2
-12
-2
1
-3
-9
-24
-3
3
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
2
2
0
0
-6
-13
-2
0
0
1
7
-4
0
0
-12
7
-3
-2
0
0
14
3
-36
-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
-1
0
-8
0
0
0
0
-4
0
0
0
0
21
22
-6
15
23
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
3
6
-1
0
0
-3
0
6
0
0
-16
17
1
1
0
10
2
-4
4
0
-9
-75
-43
14
-2
1
-5
0
17
42
-5
6
-5
6
19
-53
-17
2
4
-5
1
0
0
0
0
0
-1
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
-3
0
8
2
-28
10
-3
3
-4
8
23
-2
18
41
12
-1
5
17
16
-48
-32
3
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-11
-6
-1
15
-11
1
6
-2
-15
-19
-9
-35
-12
-6
12
13
7
-18
-6
5
11
-7
-15
15
-23
3
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
12
0
0
5
11
1
1
0
17
50
-41
-33
1
5
11
3
41
3
-46
2
-35
-28
-48
-9
-41
21
-16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
2
0
0
0
0
-8
-7
-4
-18
-22
23
0
6
-35
24
-1
6
43
9
-22
-2
18
-19
-12
18
-4
0
0
2
0
0
0
0
-1
1
0
0
-3
0
0
0
0
0
2
0
-1
0
-13
-6
-3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
-2
0
0
0
-2
1
0
0
0
2
-19
0
0
0
33
9
-14
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
-4
10
-17
-3
-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
18
-12
0
0
0
-7
1
1
0
0
-2
7
0
0
0
-24
-29
-3
-1
2
15
-10
-10
-11
5
17
12
42
31
3
-39
-34
3
21
-2
-7
-1
2
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-16
-2
-6
-3
-26
7
7
-41
-21
16
-16
-13
-1
7
-29
-7
3
-26
-4
-4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
15
-15
13
-3
-25
-25
46
-55
-23
30
1
-29
-20
-3
43
-9
-4
2
3
17
-35
5
9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-12
-15
11
8
-32
-29
-18
-26
10
27
23
32
-28
-13
40
25
-5
9
-27
-32
0
21
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
8
0
0
0
22
35
19
9
-23
-42
18
-10
-5
-36
2
1
15
16
-9
2
9
-21
1
1
0
0
0
0
0
0
0
0
0
1
-2
-3
0
0
-21
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
1
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-15
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
1
0
0
0
0
0
0
0
0
0
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
4
1
0
0
0
1
-2
0
0
0
1
10
-8
-8
0
2
-12
47
-25
0
-4
-37
-2
6
0
-8
-8
3
22
0
5
4
-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
-6
0
-6
0
-4
-49
0
-2
23
20
-15
0
-70
-5
-13
16
0
-52
3
-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
30
-7
45
19
0
-13
1
24
4
0
-4
7
9
0
0
-9
71
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
-41
-27
7
13
11
-2
48
22
25
1
-23
-19
-9
-17
-3
18
-85
13
-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
-29
3
-15
15
0
9
24
17
9
0
26
-10
43
3
0
21
-7
-9
-20
0
0
0
0
0
0
-1
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
-8
-2
0
0
0
0
-5
-19
0
0
9
-22
-28
0
0
5
16
-7
0
0
-18
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
-1
0
0
0
-6
-8
0
0
-7
-45
30
0
0
-51
-5
1
0
0
-1
-55
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
6
-54
0
0
-25
-10
15
0
0
8
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
-2
2
48
15
-16
-16
-22
26
-5
18
18
1
39
-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
-36
68
23
0
0
-31
2
9
0
0
-17
-2
-6
0
0
0
-1
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
-3
0
0
0
-1
27
0
0
0
37
-12
0
0
0
11
-7
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
11
78
0
0
0
21
5
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
-21
-32
0
0
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
10
-28
14
-14
-49
-4
18
38
-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
29
-28
0
0
0
-16
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
-4
0
0
0
0
-28
0
0
0
0
-9
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
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-62
3
-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
-33
0
0
0
0
33
-18
-53
43
-6
16
-10
3
-31
13
-19
41
25
-3
-15
0
22
-12
-2
27
3
15
-6
-16
6
-1
3
-12
17
-11
-14
-7
-7
-7
4
1
1
-5
1
13
-1
-4
-1
-1
-2
27
19
-5
-10
3
-1
-3
8
-15
-9
42
19
34
-19
-5
6
14
16
-1
19
2
8
-7
14
13
8
9
3
14
5
18
-2
-6
9
-2
2
0
-10
0
7
-1
-4
-1
-1
-2
48
18
49
-25
-2
-4
24
11
33
0
5
3
10
-17
23
0
-15
-6
39
4
-3
7
3
8
-11
4
-4
2
-9
-8
-2
-4
2
10
6
7
2
2
-5
25
-1
-4
-1
-1
-2
16
42
1
4
0
9
7
1
2
-14
2
20
-2
14
-4
14
2
22
-4
20
7
4
15
-3
-8
-4
7
-7
6
10
-3
3
-5
-7
-7
9
3
-1
4
3
2
-12
-5
-8
0
38
-1
-4
9
3
-5
41
-3
-27
-3
-6
20
-7
2
6
-3
5
10
-2
19
-2
13
-9
11
4
2
4
11
4
-3
0
-3
-1
1
-4
2
1
-4
-1
-3
1
-1
0
1
-13
11
13
-2
2
1
15
5
-11
2
-3
-2
33
9
14
24
17
17
8
35
-2
7
2
14
-3
0
-5
22
-6
12
19
-4
-1
0
0
-4
9
3
1
1
-1
6
9
-6
-8
-1
11
13
-2
2
1
19
21
6
1
1
-4
31
18
-3
-18
5
4
11
20
-14
3
10
4
12
19
-1
18
5
1
-3
2
4
-3
-1
1
6
1
4
2
7
2
15
2
1
3
11
13
-2
2
1
12
27
17
-21
5
0
15
6
10
11
0
21
23
-44
6
-2
15
15
6
12
1
15
-3
7
9
1
-4
-5
0
-11
5
0
0
1
-1
-1
2
-2
0
1
16
14
66
-43
0
37
-9
30
32
10
-8
-4
-4
25
-12
-16
8
-23
-2
13
12
8
-16
-21
27
5
1
-12
6
20
-1
7
4
-1
18
-4
0
2
1
2
0
0
0
0
0
13
-22
26
1
0
24
9
34
-18
1
1
1
13
2
-2
-9
3
14
8
19
-4
16
0
32
2
-15
6
3
11
22
1
2
0
14
17
4
0
-1
0
-1
0
0
0
0
0
7
4
-19
-4
2
-1
-5
27
-25
-18
-1
11
25
37
20
-26
6
3
15
-17
0
4
5
-13
-30
-11
12
-29
-5
-5
18
-4
-5
1
17
-6
0
3
0
-5
0
0
0
0
0
38
13
68
-7
3
2
0
-4
1
-1
15
11
9
-25
-7
-4
4
-38
-18
4
46
19
6
10
22
-23
-2
12
25
19
9
-4
2
-2
10
18
1
7
23
4
-9
3
9
-8
-7
-2
-12
-2
-37
1
0
-14
-1
4
-37
0
-13
45
10
6
-19
27
-36
35
11
21
-5
20
-3
32
-2
2
-7
24
1
-24
3
-4
4
16
-9
2
7
11
2
9
12
7
4
-5
0
0
0
0
0
5
-10
7
-5
11
13
-23
19
5
-15
-26
22
6
-9
-22
1
-4
-31
9
6
11
-7
-7
-4
0
10
-8
-5
-4
9
1
1
2
21
9
36
2
7
6
-11
0
0
0
0
0
5
-7
4
-7
10
28
43
10
10
-22
-25
12
19
-23
-1
32
0
37
24
-7
38
12
7
5
18
1
11
3
17
15
6
7
3
2
5
11
-1
1
-1
-2
0
0
0
0
0
-4
-16
-14
5
-13
-7
22
13
14
-7
60
-8
-49
16
38
13
1
7
28
4
-8
3
3
5
-9
-7
10
4
-2
-6
19
6
6
18
0
20
5
2
0
-6
18
53
-4
-10
0
-8
22
14
-27
2
-21
26
-3
0
1
17
3
19
7
9
-3
-19
14
51
-16
-22
4
-3
21
5
8
0
0
-3
-6
0
0
0
0
0
0
0
0
0
0
-11
2
-3
-15
-4
4
29
-6
10
-10
-8
-9
10
-45
9
46
-5
28
12
-20
0
2
36
-10
37
5
4
-11
-24
-19
-10
0
2
-7
-4
0
0
0
0
0
0
0
0
0
0
-4
7
-18
30
3
4
-3
-15
-10
-4
2
2
-8
17
-19
12
12
-17
-30
14
-12
13
-17
2
21
-13
4
3
7
7
-6
-7
11
-6
-3
0
0
0
0
0
0
0
0
0
0
5
-7
-54
0
-1
-17
48
0
41
0
47
-46
17
9
6
1
-18
-36
3
-35
15
38
-35
11
-17
11
6
-20
-1
22
-7
2
5
5
31
8
13
-2
8
27
38
27
-1
17
-9
-2
0
20
12
0
0
1
-11
6
2
7
5
-28
-14
11
11
-19
-7
-3
-40
0
52
-13
-16
-6
35
-13
-23
25
-8
-4
6
9
15
-1
-2
7
4
7
19
-2
29
1
1
10
0
0
0
0
0
0
0
0
0
0
4
10
-4
-6
-11
-21
-30
6
0
12
-25
17
-3
2
0
10
-21
-9
-14
-4
18
-7
-6
4
13
-28
-1
-4
16
-10
16
13
-3
2
13
0
0
0
0
0
0
0
0
0
0
-19
-15
-1
2
20
-3
-3
-17
-9
6
-49
20
2
-49
24
0
5
0
-26
16
0
2
-2
1
8
-4
-41
-7
-18
-2
-2
14
12
-4
0
0
0
0
0
0
0
0
0
0
0
-21
-20
-7
-21
-11
-2
14
10
48
-1
-52
-2
-9
-20
28
-35
23
5
-6
-57
-3
-16
2
5
18
-1
-3
2
5
0
26
5
-5
12
13
-7
2
4
-4
0
26
10
-15
-44
-4
-21
-10
-13
-29
15
28
-34
8
-27
-10
13
26
18
11
-6
-11
-2
4
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
47
19
0
2
-39
3
-25
18
2
-13
18
26
66
4
-29
1
-28
-24
-2
-84
-26
-8
15
-9
-5
-5
0
-11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
0
12
0
0
3
-6
-8
2
-2
-4
2
-40
-18
3
2
0
-17
0
-3
-19
-15
16
27
-11
-5
-28
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-17
16
9
-1
27
24
5
6
1
-36
41
9
6
-7
20
-8
33
-13
9
10
-14
-18
12
-13
40
14
-20
-12
-7
13
-5
15
21
8
9
-1
4
-2
6
-28
15
-3
7
-25
2
12
0
8
-2
-3
1
2
27
-1
2
12
-9
22
-6
3
-1
35
-12
35
-11
-7
-5
5
29
-5
1
7
5
33
2
13
11
-9
-19
-24
0
2
4
35
19
1
2
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
7
-22
-25
24
-15
-22
34
-7
-23
6
8
18
-18
-29
23
-12
8
1
-16
-37
-7
-8
3
23
11
22
12
11
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
4
-11
-9
21
30
-21
-21
-6
-31
-15
-23
-43
-4
-2
-30
-3
2
3
2
-13
-37
-9
-11
-1
-7
13
-6
7
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-15
-13
-1
-12
-10
2
13
-2
-17
-36
-15
-53
17
10
3
-27
-28
4
2
13
-16
11
-1
-18
17
-2
3
4
11
-6
5
1
0
0
-22
-67
5
-3
-2
1
-11
19
0
-11
-11
-3
59
-1
-35
-22
-11
9
15
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-4
2
0
19
-32
-6
-1
2
-4
-15
-11
-4
0
48
-15
-34
6
-4
22
12
-9
-19
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-2
-1
0
0
0
10
1
1
0
0
-20
-2
0
16
5
31
7
27
-1
44
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-33
-10
2
0
-12
-44
9
-2
12
-68
1
17
-3
2
-26
14
-3
11
0
-40
-66
5
-3
0
10
30
-7
-46
-29
-3
9
-9
4
-5
21
5
7
11
8
63
15
-3
15
-18
-1
6
0
0
0
-1
-9
0
0
30
-2
-1
0
0
-15
-8
-7
-3
-10
-28
-51
-9
-26
19
-13
-26
-22
-46
-42
-5
9
44
-2
-44
20
7
0
3
-15
1
17
19
10
3
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
11
14
9
22
-40
-25
6
-8
-6
15
-1
4
45
1
-18
-15
-2
12
3
4
3
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-22
-3
35
16
-16
-42
-16
-17
-12
-13
-28
9
-34
19
-17
-27
18
-5
-2
20
-10
-13
6
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-20
-7
-24
-32
-11
-65
-7
-6
13
22
-57
12
-13
-3
-4
4
4
-1
38
17
-46
-18
-21
4
-2
6
-4
1
0
-1
-1
0
23
0
18
24
-1
0
0
-25
-13
-16
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
3
2
1
1
0
-6
-9
-9
0
0
-60
-20
-36
-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
3
11
0
-1
22
-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
-4
-52
1
-1
0
-18
-5
2
-5
0
19
9
1
3
0
7
8
-2
27
0
-47
-4
8
39
0
-32
2
17
2
0
-1
34
35
15
0
-27
-3
-14
5
0
-8
13
11
6
0
0
-1
0
0
0
10
0
0
-1
0
0
0
0
0
0
0
2
0
-7
0
8
28
24
51
0
-34
-18
14
-56
0
2
6
17
-23
0
-29
44
5
12
0
28
13
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
2
-6
25
26
0
8
-23
-12
1
0
-29
-18
-13
23
0
21
-31
-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
-31
-64
10
50
-21
28
6
34
15
24
-16
-23
-39
-44
11
36
-7
35
23
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-1
5
11
0
31
21
14
25
0
-25
-16
11
3
0
-4
-27
1
11
0
0
3
-9
0
0
-3
17
-34
0
0
25
-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
2
0
0
0
0
-1
-3
0
0
0
-15
48
-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
-3
0
0
0
-19
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
4
-8
0
0
-3
3
13
0
0
3
0
7
0
0
-2
29
32
0
0
28
-22
16
0
0
-54
-59
-7
0
0
44
32
16
0
0
1
15
10
0
0
33
16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
-6
-2
-20
0
0
-14
-13
41
0
0
-1
-3
6
0
0
-7
14
12
0
0
0
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
-14
9
-20
0
0
8
-18
-34
0
0
-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
-5
-23
2
-27
-1
-6
-3
23
-4
-16
7
0
73
-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
13
-25
17
0
0
29
16
5
0
0
-58
2
18
0
0
0
-17
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
7
0
0
0
7
15
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
-1
-22
0
0
0
0
-2
0
0
0
-13
-26
0
0
0
-5
0
0
0
0
44
2
0
0
0
20
29
0
0
0
-17
12
0
0
0
60
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-17
0
0
0
0
-7
0
0
0
62
74
0
0
0
12
9
0
0
0
21
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
-5
-11
0
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
-36
-24
-5
4
-2
-1
6
52
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
-17
-8
0
0
0
-4
-44
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
1
0
0
0
0
6
0
0
0
0
1
0
0
0
0
-9
0
0
0
0
-9
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
8
0
0
0
0
22
0
0
0
0
19
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
6
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
19
-21
-45
58
-4
8
19
-7
-35
23
-13
32
12
0
-7
-18
15
0
-15
24
-30
-7
-20
-1
16
-2
9
-14
-6
-18
-6
-2
-5
-6
11
3
2
-8
0
16
0
-2
-3
0
-5
51
1
-11
-14
-1
1
7
20
-9
-12
26
9
21
-6
-15
9
-13
14
37
39
-1
14
1
14
10
6
9
7
3
1
12
-2
-8
7
12
0
1
9
-4
-5
0
-2
-3
0
-5
54
16
51
-31
-3
5
15
28
11
4
0
1
-24
-28
14
-4
4
-3
17
13
0
15
-8
-2
1
5
-5
6
3
6
-3
-10
5
4
17
6
3
5
8
24
0
-2
-3
0
-5
40
33
10
13
1
24
14
-16
0
-11
5
26
0
21
-16
1
13
20
-10
5
-13
17
-2
-1
-5
-1
0
3
5
2
-4
-4
-10
3
-1
6
3
8
6
1
4
-7
-5
-13
-14
32
11
0
-7
3
7
50
-28
-28
-6
-4
12
26
2
1
4
25
5
-1
11
-1
6
-10
12
-15
4
0
-2
3
7
-1
-2
-4
4
-7
0
2
3
4
4
5
-5
2
5
-24
8
2
11
3
-1
13
0
-1
-4
-17
-14
20
5
13
26
28
28
6
14
-3
-3
-4
8
-3
-10
2
13
0
3
11
-7
1
-4
-7
4
9
2
-1
1
4
9
10
0
-3
-14
8
2
11
3
-1
32
21
3
25
-1
0
37
-8
3
-18
-6
0
25
-3
-7
3
9
-5
6
30
6
10
2
4
-1
3
-3
3
-1
-5
4
1
-2
0
-2
7
3
-4
4
6
8
2
11
3
-1
6
23
25
-29
-2
-2
42
-31
5
8
3
23
13
-8
7
1
19
1
7
26
-1
18
-9
2
0
4
-4
-1
0
-8
5
-2
1
2
1
3
-17
-3
0
8
7
31
39
-45
-1
41
-31
22
39
8
19
-10
-18
-10
-18
-11
17
-16
-22
15
19
8
-16
-5
25
-5
3
-11
1
-12
-10
-4
-8
7
8
-10
1
1
4
1
0
0
0
0
0
18
-5
41
0
2
4
-12
31
-17
0
-1
-10
15
-14
-1
1
-1
14
-8
3
5
4
12
11
3
-11
15
-4
18
3
1
6
12
25
3
13
3
-4
4
-1
0
0
0
0
0
8
-8
-23
2
5
-1
6
-11
-15
-22
5
9
34
17
28
-29
-4
-5
48
-26
8
-6
-4
3
-23
1
11
-12
-4
-6
-16
-7
-7
-3
29
-19
1
-1
0
-1
0
0
0
0
0
42
-7
51
-4
6
15
4
-14
-1
-30
18
4
2
-4
-10
1
2
-36
-11
1
51
11
13
23
18
-9
7
7
2
6
-6
-3
14
14
3
19
1
9
17
5
-6
-2
0
-9
-19
-2
-34
10
-21
0
-2
-18
18
4
-22
-8
-17
20
19
3
-52
-7
-6
8
11
21
-6
15
-11
63
0
14
1
31
-16
10
10
-7
10
-8
0
2
4
16
-7
-5
21
8
4
12
0
0
0
0
0
1
0
1
3
9
24
-28
9
-12
-17
-40
0
14
14
-9
15
13
-31
2
25
-11
-5
-6
5
10
12
-2
2
-7
8
-12
1
-4
19
1
22
2
-6
-1
-4
0
0
0
0
0
-14
0
10
-21
-4
17
18
5
25
-23
-36
-9
7
-24
4
20
-3
25
8
-11
26
15
9
-11
17
8
14
16
4
15
14
3
8
-2
4
6
-15
11
5
3
0
0
0
0
0
1
-6
-14
12
-15
-14
-5
38
33
-11
36
-5
-12
12
35
0
-5
2
13
-1
-9
-4
5
-14
-18
7
12
5
2
12
27
9
13
22
-2
13
0
-1
3
-21
15
12
7
-11
0
-9
34
47
-34
-2
-36
28
-12
12
4
33
-13
15
10
26
34
-3
2
36
-13
-16
-26
10
26
25
0
7
4
0
-2
0
0
0
0
0
0
0
0
0
0
-11
26
9
-12
-3
2
31
7
9
-21
-8
13
8
-39
11
24
10
17
-9
-21
9
16
14
7
44
1
-2
-24
-17
-4
-1
-8
1
-6
-3
0
0
0
0
0
0
0
0
0
0
-4
7
-9
32
3
2
0
-3
-4
2
-2
-11
6
21
-25
9
2
-7
-14
33
-18
41
-13
0
24
-1
4
1
2
-15
1
11
11
3
-9
0
0
0
0
0
0
0
0
0
0
-11
-10
-51
-7
-1
-21
43
6
53
0
40
-45
-1
28
9
7
-17
2
6
-39
-35
15
-16
-16
-24
38
2
-9
-23
-5
3
5
10
-4
51
-22
5
4
4
20
-6
13
13
35
-3
-2
0
26
8
0
0
1
14
9
5
6
9
-41
-15
13
21
-17
-18
9
-41
40
32
-16
-8
-38
5
-28
10
-7
-11
13
16
-1
8
13
-38
1
2
-4
4
-31
40
7
5
8
0
0
0
0
0
0
0
0
0
0
6
9
-3
7
-12
-26
-18
4
-15
2
-15
26
-16
22
7
25
-8
-12
-7
-21
13
-32
6
1
-9
-10
-16
-8
-4
15
22
2
1
10
-12
0
0
0
0
0
0
0
0
0
0
-9
-13
12
7
16
2
10
-2
-15
8
-12
7
-17
-26
21
18
4
3
-15
-7
0
-16
-2
-12
0
-21
-16
5
1
10
25
13
4
-5
6
0
0
0
0
0
0
0
0
0
0
-8
-12
-24
-17
-14
-7
10
12
30
-13
-55
-16
-7
-43
16
-17
27
-7
2
-43
-14
-26
1
8
15
9
-19
12
8
-3
3
8
-3
21
27
-7
10
6
-3
0
35
18
-18
-31
-2
-14
-17
-11
-17
8
12
-18
16
-27
-13
24
13
32
0
-24
4
2
5
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
41
21
0
2
-42
12
-44
20
2
-9
7
24
61
12
-12
9
-25
-53
-3
-86
-23
-18
28
-13
3
-7
-4
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
0
-4
-2
-3
3
-6
16
0
-2
-6
3
-2
-14
1
0
4
-21
-2
-3
-21
-31
17
12
-7
0
-25
-1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-24
15
0
-2
42
19
-7
3
1
-49
42
5
1
-6
9
-7
6
-28
37
35
-1
-5
7
-20
12
20
-3
1
23
2
-27
-8
-1
3
20
-15
-29
1
-2
-23
7
17
10
-1
2
12
0
11
-4
-1
1
2
21
1
2
10
-11
44
-7
7
8
33
3
44
-19
-23
-8
21
24
-2
-25
-1
-13
26
-33
16
8
-3
15
-1
-16
-41
4
9
-36
10
11
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-12
-19
-6
25
-26
-42
32
-12
-17
17
-13
30
-21
-30
6
-34
14
22
3
-59
-14
2
3
-1
32
-3
4
17
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
9
-18
13
11
18
-16
-19
-2
-37
-42
-49
-42
12
21
-14
-12
0
17
24
18
-23
-19
-14
-14
4
-19
2
16
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-28
-27
-21
5
3
0
31
-1
-10
-33
-27
-48
8
5
-22
5
-18
-6
-10
-12
-14
9
-1
25
-11
-2
22
12
-5
-4
-5
-1
0
0
-18
-58
3
-7
2
-12
-16
20
0
-12
-12
-8
29
24
-35
-9
-2
7
2
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-4
3
0
44
-24
0
-2
3
-4
-9
-7
-1
0
8
13
-44
8
-4
41
6
-19
-30
-15
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
12
1
1
0
0
-25
-2
1
17
-16
25
5
1
14
9
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-9
-2
1
0
-29
-50
21
-2
26
-75
-26
20
-8
5
-22
18
-17
-1
8
-38
-34
4
3
15
-3
43
-12
-4
-15
-1
-9
0
28
-15
11
-25
-8
7
8
10
12
-8
1
8
-1
6
0
0
0
-1
-10
0
0
7
-2
-1
0
0
-19
-8
-7
-2
-11
-37
-49
-32
-25
18
13
-42
8
-40
-18
-6
-12
37
-5
-63
17
-15
-9
-33
13
-4
17
36
23
-2
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
12
-6
22
-29
-18
7
6
-5
41
45
35
46
-2
-14
4
8
9
3
0
-17
-20
-19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-10
-6
29
14
-15
-41
-9
-16
-19
-11
18
-5
-7
-20
-92
1
12
5
18
43
19
-16
10
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
10
-3
12
-44
-16
-89
14
-30
24
9
-80
21
-12
11
-26
27
-10
-17
4
-19
-15
-7
-12
0
0
6
-4
1
0
5
-1
0
25
0
18
23
5
5
0
-11
-10
-21
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
-2
0
0
-3
0
1
1
0
-2
-1
-9
0
0
-48
-37
-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
-1
0
0
0
11
10
0
13
13
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-56
-1
-2
0
-55
-1
2
-8
0
22
12
-1
2
0
14
-4
7
34
0
-53
-35
-12
26
0
-33
-8
-7
-11
0
32
58
18
12
0
-23
9
-21
-11
0
25
1
-2
1
0
0
-1
0
0
0
10
0
0
-1
0
0
0
0
-2
0
0
2
-8
-7
0
11
41
22
20
0
-14
-20
-3
9
0
-42
9
56
11
0
-20
11
45
-1
0
38
-1
10
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
11
-19
2
0
30
-3
-1
22
0
-53
-14
3
18
0
48
-26
-11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-28
-24
22
-33
27
-25
11
0
27
11
-60
-28
-22
-6
18
25
29
-33
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
19
2
13
0
-1
-32
-9
9
0
-38
-38
-18
9
0
15
-32
37
-28
0
0
3
-9
0
0
-1
6
-41
0
0
11
-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
2
0
0
0
0
1
-3
0
0
0
-24
36
-28
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
-3
-1
0
0
-19
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
12
-8
0
0
-2
3
24
0
0
2
0
7
0
0
-2
28
22
0
0
52
-10
-6
0
0
-67
-52
12
0
0
26
-9
26
0
0
-2
17
1
0
0
38
16
22
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
1
0
0
-12
-2
-26
0
0
-17
6
-10
0
0
-6
-22
-8
0
0
-11
15
3
0
0
64
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
-5
-10
-31
0
0
44
5
-19
0
0
-1
-22
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-21
-31
-1
20
-7
-27
6
-6
-13
-12
-16
45
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
-5
-13
-2
0
0
45
15
15
0
0
-60
3
11
0
0
1
-15
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
7
0
0
0
12
8
-11
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
0
0
0
0
-2
0
0
0
-13
-24
0
0
0
4
16
0
0
0
48
-29
0
0
0
-4
59
0
0
0
8
13
0
0
0
78
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-12
0
0
0
-9
-2
0
0
0
51
26
0
0
0
23
-6
0
0
0
6
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
14
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
-53
-11
-15
4
38
8
4
15
61
7
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-37
5
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
6
0
0
0
0
1
0
0
0
0
1
0
0
0
0
44
0
0
0
0
14
0
0
0
0
-14
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
12
0
0
0
0
15
0
0
0
0
43
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
-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
16
0
0
0
0
18
-5
-2
22
-4
-17
29
-8
13
11
-17
5
-20
7
4
-1
-22
15
-12
-18
15
6
4
17
9
5
17
-15
-22
-1
7
27
-5
-16
17
-12
15
-10
-22
18
3
0
-3
1
-7
-3
1
0
-1
1
9
15
14
0
-14
-6
9
5
-12
0
-11
-1
-2
41
31
-25
-1
-7
6
0
-1
11
28
-7
-14
18
6
4
4
10
2
4
-7
9
-45
3
0
-3
1
-7
13
-10
4
-9
-3
-4
0
6
-1
-6
11
8
-2
-6
1
-9
-26
-5
23
-4
-24
17
-8
24
-9
11
-29
9
-17
10
-7
-1
-42
-6
22
12
-4
14
24
-6
3
0
-3
1
-7
14
27
12
-2
2
4
-22
-7
-2
3
13
5
22
5
-6
-8
7
11
6
4
-14
-1
-27
19
8
3
-5
-1
9
-3
-5
8
9
-9
-15
8
4
-11
21
-8
0
25
-18
17
-4
2
22
4
-3
-2
11
11
-17
-8
1
21
23
0
-5
-10
3
30
-37
-6
7
-13
-15
7
9
-16
5
2
-8
-4
24
6
-31
0
8
11
1
-7
-2
-7
-9
10
5
14
-20
21
4
-2
13
2
-7
-11
13
7
-2
-7
-23
-5
-24
50
22
35
-32
10
2
-5
-7
3
5
0
27
0
9
-3
19
-14
0
-7
-8
14
-21
21
-14
10
-2
3
24
1
-20
36
3
4
-2
13
2
-7
4
13
6
13
0
11
14
-12
5
-31
2
9
-2
3
-14
-12
15
-8
5
27
2
12
-5
-3
3
-5
4
1
-4
-8
2
0
-14
4
19
8
-25
-3
8
-8
4
-2
13
2
-7
1
3
-18
-8
1
28
5
-12
2
0
7
17
-29
34
-6
-8
2
-24
28
-10
-2
24
-2
-23
12
-4
-14
6
-12
-5
-8
-10
5
-2
7
-7
31
0
-24
18
3
1
10
-9
-1
27
-24
4
-17
-3
8
-20
-7
-6
-1
-6
-2
21
-15
4
6
-1
-8
25
9
5
-8
8
-18
-8
25
-8
-15
28
-5
21
-6
2
3
1
0
0
0
0
0
8
6
13
7
-1
4
-9
0
1
2
8
10
-10
10
6
4
-28
11
28
-23
4
9
59
1
1
-8
10
1
27
26
-1
-7
0
-3
-20
4
-1
-2
2
3
0
0
0
0
0
0
-12
7
-7
1
0
1
-28
-17
-7
0
-2
17
-21
10
-1
1
-19
6
0
12
-4
-8
0
0
6
0
-13
40
2
-13
-4
16
-11
8
-18
8
-5
1
-2
0
0
0
0
0
3
-22
-1
3
1
-9
12
9
-2
-21
9
-26
-22
16
3
-8
-39
3
-11
11
-15
-14
18
5
20
13
-4
4
-15
11
-8
-9
9
-12
-1
31
17
32
-7
-12
-51
-57
-16
2
-5
1
-21
7
-9
1
-1
-10
-7
-1
6
0
-17
-8
7
12
-33
-2
-2
11
21
12
4
-2
4
20
4
7
-2
-10
-5
32
30
16
29
2
26
3
25
3
-21
-4
13
40
-2
17
0
0
0
0
0
8
-11
-2
8
6
16
21
-17
-7
0
-72
6
15
18
2
-3
0
18
5
18
-10
-21
-3
-20
5
14
7
-23
-19
17
-25
10
9
5
-25
-23
-35
-23
-20
-4
0
0
0
0
0
-8
-1
2
-5
-14
-13
-19
-4
12
-12
-22
-5
40
0
-8
-12
-10
2
-2
-20
29
20
-14
-1
-10
6
20
3
-5
-19
4
-6
17
2
-23
-29
9
-6
-14
56
0
0
0
0
0
-3
-3
16
13
-7
-2
8
22
21
-17
6
0
7
-18
4
24
-7
4
-26
13
33
-16
5
13
-3
26
7
17
13
14
28
20
5
-19
-4
45
2
-6
41
-3
-2
1
-16
-4
-1
-7
0
18
-27
-1
-1
13
-8
0
6
23
11
-31
14
13
-33
27
7
-20
1
-18
20
35
-16
7
-24
-5
12
-5
-1
0
0
0
0
0
0
0
0
0
0
1
7
-2
0
-4
-16
-4
8
18
0
9
-1
15
-17
9
-1
34
-26
-18
-5
-14
14
-9
3
-3
15
4
-3
10
-9
-1
-6
-1
-5
9
0
0
0
0
0
0
0
0
0
0
0
1
-8
-1
1
0
0
21
6
-2
0
-2
-7
25
-5
12
1
25
-3
5
17
5
18
-13
35
8
22
-8
-5
-15
20
3
2
18
-7
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
-2
-3
9
18
-17
0
-2
7
-17
3
-2
14
12
-16
-12
-28
5
13
-21
-53
-24
-4
5
-13
-7
-31
-22
2
26
16
35
-34
5
8
-26
14
31
13
11
19
0
0
0
6
3
0
0
1
11
11
1
0
0
1
5
-7
10
-2
25
-2
8
3
-6
8
-28
-2
-13
-15
27
-27
-19
-2
19
2
-23
-1
25
-24
-3
-20
19
-37
3
34
36
35
0
0
0
0
0
0
0
0
0
0
20
-7
24
-20
-16
-16
-3
-15
-20
7
22
-13
-32
39
-16
-8
2
-11
-51
16
-25
-33
-1
-8
-17
0
-20
-17
37
9
-37
-2
21
-7
-26
0
0
0
0
0
0
0
0
0
0
18
7
7
-10
24
3
29
-5
1
-4
27
-25
15
-7
26
10
-5
-2
16
22
23
-45
37
-16
6
14
60
-26
-29
2
-34
0
-28
50
8
0
0
0
0
0
0
0
0
0
0
-7
0
-20
-9
5
-3
-8
37
8
-23
0
-12
5
-46
27
45
9
-22
16
10
14
4
-4
-8
3
-34
6
0
10
0
59
-34
4
15
3
-1
0
0
-2
0
0
-4
1
19
0
16
8
1
23
-15
-15
0
1
-13
-8
-8
23
12
13
-12
6
-10
-27
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-7
-6
-3
0
-1
-17
-10
14
1
24
8
-1
-73
4
-1
-2
-28
11
-1
-11
-17
-9
-12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-2
2
0
0
0
0
22
10
0
0
6
-2
0
-2
-2
-12
-10
26
-11
15
-7
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
-1
-3
2
12
-11
22
2
-1
18
1
-5
-3
7
14
-13
8
8
2
40
-1
-5
-2
12
-6
37
-7
7
10
-22
-35
-17
-5
-9
4
-11
10
5
48
-25
38
0
-11
0
0
0
2
-2
0
0
2
-2
-1
1
2
0
29
7
-1
-1
-5
20
8
-3
-7
-30
38
24
5
18
-6
-8
3
-4
5
24
-26
24
8
1
26
1
-22
20
-4
-8
34
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
3
-19
10
-6
-13
29
-5
-6
-8
21
-60
4
34
-30
21
-6
-1
6
2
-52
9
-109
15
40
-13
6
28
43
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-29
-8
14
2
17
8
-5
-16
-5
-9
-7
18
-6
-12
-5
23
-36
34
19
8
-15
-10
-11
-4
16
4
-9
17
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-22
-15
-25
13
6
-10
8
10
-15
-41
-24
-14
-21
-9
-26
27
-44
28
-18
-20
6
-21
8
-29
1
-7
4
17
-14
0
0
0
0
1
2
0
0
0
0
1
0
0
0
-14
0
-2
-5
29
-7
26
-25
-8
-55
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-2
-2
1
-1
0
-26
0
-11
1
-1
16
-34
-11
-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
-1
0
0
0
0
8
0
0
0
0
-21
0
0
-9
-21
-5
-10
-26
-10
-4
-30
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
-2
1
0
-1
-7
2
9
0
0
-15
-4
-12
8
-18
-7
18
31
15
8
-16
25
-21
21
2
28
0
11
2
4
-42
-13
33
-6
3
6
9
37
21
40
0
0
0
0
0
0
1
0
0
-29
0
0
0
0
-5
0
0
0
-15
-54
-6
3
-13
-1
14
0
-21
-7
0
-21
-42
-18
-17
-42
-47
-23
-2
-23
6
25
10
0
1
-5
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
12
-32
-2
19
29
45
16
-9
40
3
-2
-16
16
-29
-2
70
-58
-22
-61
24
28
-27
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
16
30
11
-6
-57
37
-3
-10
-13
16
14
34
1
-56
9
7
-23
-24
21
-2
56
38
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
1
8
17
-5
-8
-5
0
-39
3
-10
4
9
18
27
-9
22
-47
-26
1
4
-4
26
8
8
0
1
0
0
0
0
0
0
1
0
0
1
20
-21
0
-8
3
-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
-1
0
0
0
0
0
1
0
0
-2
4
0
0
0
-26
-31
21
-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
1
-1
0
-3
-5
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
-2
1
6
0
0
2
0
0
0
4
0
27
2
0
-19
-11
11
7
0
-19
-12
-31
-7
0
33
-5
5
21
0
-36
-12
-8
-36
0
30
24
-1
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
4
13
3
-16
0
11
3
-28
25
0
-45
3
-2
50
0
-45
48
-9
-36
0
-11
23
-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
-19
1
-36
-22
0
16
2
40
58
0
-16
-1
-16
-48
0
-5
28
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
-31
-42
-32
-24
-24
-7
-50
-13
-10
18
5
-61
-52
-44
-31
-3
23
30
-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
14
4
28
-8
0
-25
-38
-12
-6
0
-17
8
-27
-11
0
6
-7
9
-22
0
0
0
1
0
0
0
0
-3
0
0
-11
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-14
-13
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
-1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
-6
0
0
8
-3
-22
0
0
-21
-14
-13
0
0
4
-7
-12
0
0
-17
29
-27
0
0
17
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
-7
-1
0
0
0
-1
-14
-7
0
0
-7
-10
-3
0
0
18
30
-36
0
0
8
23
-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
-5
12
18
0
0
-3
-40
-1
0
0
23
-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
-7
-12
-44
7
26
-5
-48
-6
33
0
5
-5
11
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
6
27
31
0
0
5
28
-19
0
0
16
2
32
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
-2
0
0
0
11
4
0
0
0
-11
4
0
0
0
39
-15
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
22
0
0
0
-7
-32
0
0
0
4
-9
0
0
0
-17
22
0
0
0
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
-7
28
0
0
0
57
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
-13
-44
14
92
17
0
-3
-11
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
48
-54
0
0
0
-59
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
-1
0
0
0
0
-44
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
33
0
0
0
0
-34
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-59
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
11
0
0
0
0
-21
46
16
0
0
18
10
-10
-4
34
-4
0
0
0
0
4
0
0
0
0
-2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
15
15
-7
2
0
39
-7
-27
13
0
-6
19
-12
20
-1
0
-36
-11
-17
14
8
0
0
0
0
-11
0
0
0
0
2
0
0
0
0
12
0
0
0
0
16
0
0
0
0
19
18
1
-17
7
-1
-1
-24
6
-19
0
4
2
-8
5
0
-1
0
0
0
-29
-1
0
0
0
9
-3
0
0
0
20
0
0
0
0
1
4
0
0
0
41
53
1
-2
0
5
-11
1
-41
-19
-18
18
-15
-9
50
-11
3
7
0
4
-2
26
9
-3
-2
13
11
-1
0
0
10
3
6
0
0
4
-3
0
0
0
-5
-37
-1
0
0
2
-6
11
-2
0
-95
-14
15
-21
5
-10
7
-13
-21
15
-2
3
5
1
9
-6
4
3
-2
4
-11
7
0
0
0
22
-5
0
0
0
-46
-19
-1
0
0
-24
27
8
0
0
-18
-23
15
-13
0
-2
-16
-14
41
13
-16
-2
2
16
-25
-1
1
3
0
5
-39
14
3
-2
0
-18
10
1
0
0
13
-5
-1
0
0
-11
32
0
0
0
20
-25
-1
0
0
-27
52
16
28
-1
-6
8
48
45
9
12
-13
-6
8
20
-13
2
3
0
-4
-13
6
1
0
2
9
-12
3
0
0
1
47
3
-1
0
19
21
0
0
0
-10
-10
24
0
0
-1
-25
11
-22
0
-48
-4
22
-47
-4
-5
-5
12
-6
26
-3
0
0
-2
1
2
9
0
-2
3
-7
-8
-1
0
0
1
-5
-2
0
0
28
-7
-10
0
0
35
14
-36
1
0
-22
32
-37
2
-7
-29
-4
-44
13
-20
-22
-24
12
-11
49
-13
3
0
0
0
-39
-4
1
-3
4
24
-6
0
0
0
-11
-37
37
0
0
6
13
8
7
0
-29
-1
-27
6
0
45
34
30
-10
-1
13
-37
20
-29
-17
-29
19
28
4
18
11
0
-5
4
-5
11
-11
-4
4
3
1
-4
1
0
0
12
6
-35
0
0
7
-21
1
-4
0
16
-1
26
0
-2
16
4
2
-30
4
8
-13
-29
23
-13
-4
40
11
-10
-24
-10
1
-1
-2
5
12
-22
0
-4
6
4
8
-1
0
0
4
-4
-9
0
0
-17
-8
10
4
0
-11
21
7
0
0
-30
-28
-21
35
1
17
14
-55
-12
-5
41
13
12
-8
23
-13
12
-1
3
6
-4
-58
-1
-7
10
-2
0
-3
0
0
0
10
-19
0
0
-11
-8
-8
-3
0
1
15
-3
-18
0
17
-10
0
11
6
-24
-23
-23
17
-29
-3
13
29
33
-17
-28
-8
0
-1
0
-4
-23
-6
-15
9
0
1
0
0
0
-2
-4
4
0
0
-22
0
-11
-3
0
-6
39
20
9
0
0
-12
1
11
2
9
0
-19
10
43
25
38
44
81
12
-13
0
22
-2
-26
0
-54
-45
9
5
0
-1
0
0
0
-1
0
-6
0
0
0
-3
9
2
0
-3
-4
-36
3
0
1
14
9
4
-2
7
4
58
3
-8
-30
7
31
37
-12
15
-3
14
-15
11
-3
29
-24
3
38
0
-1
0
0
0
1
1
1
0
0
1
0
21
2
0
-2
-6
0
3
0
-4
2
-9
-8
-1
-2
-20
-4
-12
1
37
38
-9
70
22
-19
-48
8
-38
-11
-9
-27
18
-31
-11
0
1
0
0
0
0
0
0
0
0
-1
0
-3
0
0
-1
-4
-1
-3
0
2
-15
-2
2
0
0
-16
1
-7
-19
0
1
-19
-7
-20
29
39
-78
4
-10
9
0
-8
-47
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
0
0
-1
1
6
-1
0
0
2
-3
-12
-7
7
-43
-8
-10
9
0
-75
-20
-60
9
-7
0
33
-14
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
3
0
0
-13
0
-13
-6
1
8
-1
-32
-6
1
-38
43
79
-63
0
0
-1
1
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
0
0
-2
-2
-6
8
-2
10
6
-4
28
0
0
-19
-17
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
2
0
0
0
3
2
4
0
7
-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
1
0
0
0
0
0
9
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
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
150
0
-4
-4
0
35
-1
30
0
0
31
33
53
51
37
17
4
0
0
0
-6
0
0
0
0
5
0
0
0
0
-2
0
0
0
0
43
8
0
0
0
-4
78
-10
32
0
83
73
-5
34
0
4
2
39
48
-34
-2
57
33
8
-10
45
2
1
0
0
24
0
0
0
0
-5
0
0
0
0
14
2
-2
-1
0
26
-25
0
17
0
-6
40
40
-33
-9
29
39
-5
11
-1
-18
6
22
25
82
-10
22
3
26
-18
-34
3
10
0
0
14
-5
0
0
0
45
5
0
0
0
-39
16
10
0
0
30
13
14
20
0
-1
28
1
-17
-10
1
16
0
23
20
-6
3
16
8
46
-18
0
6
6
3
-1
-22
-15
2
0
-3
15
9
0
0
-4
24
3
0
0
27
-37
27
8
0
-14
2
30
-9
71
-25
33
28
2
36
1
10
1
29
24
-9
5
4
3
18
3
-6
5
4
4
-30
26
-7
0
1
3
-11
-46
-4
1
-9
-44
-25
-6
0
27
31
8
33
-10
21
26
55
-49
-13
-16
4
-8
-11
30
9
-1
-4
11
13
-7
6
2
5
1
-11
-21
5
5
21
4
-9
-64
3
0
10
18
-24
-1
-9
7
-1
17
-25
0
10
2
10
-11
-3
-24
31
29
31
-57
-21
-25
15
1
15
-13
13
9
2
6
22
7
-2
13
0
-9
5
2
-5
21
-33
-14
51
-49
-3
8
60
26
27
-1
-9
25
12
-15
1
45
-39
51
10
-16
1
1
6
-30
-55
-22
-7
-9
-23
-3
-15
7
4
10
-9
-12
8
2
5
0
-18
3
3
6
3
-21
-20
-10
-8
0
43
-18
20
1
-7
15
23
-23
23
0
-6
4
13
25
26
23
-23
-54
-20
31
-5
-2
-11
-11
-16
-9
7
6
10
8
0
-2
1
-3
4
8
21
1
11
5
33
-59
9
11
-7
5
31
3
-3
-7
12
-30
-7
2
6
-10
0
-15
-19
-17
-1
13
12
6
-22
19
-6
-3
-8
4
5
8
7
2
-2
2
6
3
-1
11
9
20
4
9
20
42
-53
29
-1
0
-1
4
11
20
16
31
-13
-9
21
-17
-11
-30
-10
30
-11
7
17
6
-30
23
-22
-22
-11
-7
-10
10
-4
-1
15
28
-25
-4
5
-1
7
5
-2
17
8
17
-34
-1
0
32
1
5
-62
-44
-30
-1
-12
5
29
41
19
-8
-12
-30
33
-46
-9
-29
-14
18
7
-14
-32
-5
-30
-3
10
6
18
8
5
-29
-1
7
-7
6
-8
2
4
-5
17
-15
-26
-9
2
0
7
22
-26
-3
-1
-24
-28
-27
-50
12
-21
-37
-10
-10
-9
18
-4
-20
47
24
18
-21
-7
-11
-36
-20
7
5
-3
17
-8
11
4
-15
3
23
64
19
20
15
4
22
-7
-4
0
23
-24
9
2
-6
-53
36
-22
-9
-16
-5
41
-27
-35
59
-34
5
12
31
9
-8
-21
8
-23
24
20
25
40
10
-16
1
4
6
8
-7
-5
-11
5
34
31
-2
-2
-1
0
0
-3
31
-1
-32
-14
1
35
-2
6
-20
-26
-47
-29
-60
-44
-16
-42
27
-34
19
9
-27
-1
-37
25
-14
16
16
10
-35
22
0
19
-13
-20
58
22
16
27
39
0
1
1
0
0
22
28
52
3
-3
40
-62
5
-4
-3
-44
26
16
15
-15
-89
18
6
-15
-10
-55
-76
7
-12
-26
15
-5
6
9
4
-64
24
-8
-5
8
27
29
-29
49
73
0
8
-1
0
0
-12
-15
11
22
-3
-9
-22
22
-3
0
-23
-14
-2
-20
39
17
9
-47
-35
24
3
-12
-23
-32
28
67
3
5
-2
-9
10
-1
-15
-43
0
26
43
9
7
-15
0
0
0
0
0
-6
1
4
13
19
0
3
-43
9
-3
-2
50
-27
30
-7
40
48
14
-27
-13
-11
-86
14
30
-19
-21
5
23
-9
11
-49
-26
-27
2
-4
33
-16
8
-27
-36
0
0
0
0
0
0
-3
-1
3
0
2
4
15
46
-2
1
-14
-3
2
10
-7
-27
14
-16
-35
0
-11
-28
-16
-21
11
-43
17
19
10
39
-12
27
16
15
23
-29
38
31
3
0
0
0
0
0
0
0
-2
0
0
0
1
-6
-32
-1
0
-23
26
10
-4
3
-14
11
2
-16
0
-4
29
5
-65
-12
11
33
35
0
1
11
21
26
1
0
7
50
-95
-36
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
1
4
-10
7
0
-9
3
4
-3
0
11
-15
22
28
0
5
59
6
97
2
12
-20
-12
21
0
0
1
4
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
0
2
0
-1
30
11
-1
0
-2
10
35
14
0
3
57
12
38
0
-35
-58
34
-26
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
-1
-8
1
0
0
-15
30
-1
0
0
-8
-11
-13
0
0
21
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
3
0
0
0
0
18
0
0
0
0
2
0
0
0
-1
-1
-49
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
15
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
164
0
-4
-4
0
22
-7
27
0
0
30
34
21
26
20
40
4
0
0
0
3
0
0
0
0
2
0
0
0
0
5
0
0
0
0
30
8
0
0
0
-3
70
-10
39
0
18
111
-13
4
0
-9
39
62
44
-51
6
32
25
26
48
53
10
1
0
0
44
0
0
0
0
-5
0
0
0
0
17
2
-2
-1
0
26
-39
0
20
0
20
19
30
-51
-18
39
-26
17
8
1
-9
7
36
50
107
-31
0
29
-1
-24
-27
-3
8
0
0
16
-1
0
0
0
37
4
0
0
0
-34
19
2
0
0
19
46
10
27
-1
-6
51
33
-2
-2
15
28
3
43
51
-25
6
2
38
7
-13
21
26
31
-5
-10
-31
-15
2
0
26
-10
6
0
0
17
32
3
0
0
19
-5
34
8
-1
-21
27
40
-7
86
-9
0
9
18
45
0
11
29
10
-31
3
3
-1
10
18
-22
-9
19
-9
-3
-78
23
1
-3
1
-62
7
-11
-4
1
-9
-33
-25
-10
0
5
-1
11
37
-9
23
22
56
-40
-20
-7
-1
15
-17
45
15
17
19
33
-2
-10
-4
10
-4
0
2
23
5
15
31
14
-6
-53
-1
0
-6
43
-24
-7
-7
-9
-11
-5
-26
0
9
-15
7
-14
-9
-11
7
14
25
-49
10
1
-12
-2
-12
5
-9
25
4
18
17
4
-1
-1
3
14
-13
-4
9
19
-14
-19
59
-49
-3
-21
44
35
17
-2
-18
-2
15
-40
1
33
10
25
-2
-24
12
-36
-22
-12
-65
-22
0
-8
-1
25
1
11
11
9
20
9
13
-2
-22
18
-37
4
4
21
34
8
-36
-13
-4
0
37
6
26
14
-6
-11
15
19
39
0
-10
-2
39
30
25
1
-37
-35
-8
25
-25
-8
-5
-24
2
6
20
-3
6
30
-7
2
5
4
28
-4
6
12
3
8
4
-60
15
10
-7
45
36
-24
14
-5
-6
2
-2
21
4
6
-10
-1
-30
-6
-15
9
9
12
-15
-7
-19
-1
-34
-11
4
7
-16
10
17
-37
4
2
-10
-18
-1
9
0
20
6
36
-53
30
1
0
-15
-12
52
21
17
22
-16
-9
22
-18
-23
-4
-31
28
-10
4
13
-6
11
17
-15
-49
-7
-29
-28
-2
7
3
23
18
2
-1
7
9
6
24
13
-3
8
6
-36
-9
-5
34
1
-10
-55
-44
-30
1
5
27
25
43
22
-27
-35
-44
28
-50
42
7
-14
-9
17
-43
-39
-10
-10
17
9
-15
-18
12
-28
-8
-6
-7
9
-17
23
3
16
20
40
-4
-24
-13
-2
0
21
-25
-30
-19
-14
11
-27
-24
-20
0
14
-40
-10
-22
-28
15
11
-13
-5
33
20
-7
-9
-23
-14
-25
2
-3
0
5
-32
-20
0
5
11
-2
33
27
-10
1
0
14
-9
-3
0
15
-17
24
-7
-8
-52
22
-29
-33
-17
0
13
-14
-27
64
-42
-24
-2
13
26
10
12
-21
10
-7
-10
-11
-16
13
-37
0
-6
20
-27
-3
20
23
-4
-2
18
-2
2
-1
0
0
0
28
-1
-15
-16
1
15
-26
14
-22
-37
-27
-20
-61
-48
-1
-27
25
-46
28
-8
-61
0
-43
0
-4
-16
-34
-8
-15
-15
-3
-14
13
-26
57
7
8
-13
56
0
0
1
0
0
22
27
46
-5
-2
37
-66
7
0
-6
-37
2
3
25
-19
-79
6
12
-23
-28
-54
-43
-8
9
-60
8
-16
22
26
0
-22
19
-4
-11
12
21
49
-6
23
55
0
8
-1
0
0
-12
-18
13
23
-1
-6
-21
28
-3
2
-22
-11
17
-22
44
20
47
-50
-42
43
-3
4
-13
-43
14
21
-17
19
11
24
-11
0
-1
-31
-1
9
39
22
4
-24
0
0
0
0
0
-6
1
3
22
19
0
2
-48
21
-7
-1
41
-62
39
-4
42
43
18
-45
-19
-11
-86
8
4
0
-29
28
42
-7
17
-58
-14
-17
-29
7
26
16
-20
-2
-15
0
0
0
0
0
0
-3
-1
3
0
2
3
14
53
-1
1
-14
-16
6
12
-4
-21
3
-13
-38
0
-7
-38
-16
-15
15
-32
19
13
23
44
-30
-34
-20
34
29
-25
41
1
-13
0
0
0
0
0
0
0
-2
0
0
0
1
-4
-41
-1
0
-20
25
9
-12
3
-10
29
5
-15
0
9
36
14
-74
-12
9
69
13
-33
1
41
13
-8
-2
0
8
57
-99
-38
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
1
7
-12
6
0
-7
-13
9
-9
0
6
-18
12
29
0
7
74
6
106
2
13
-5
47
9
0
0
1
6
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
1
5
0
-1
37
14
-7
0
-1
7
35
13
0
3
56
23
26
0
-40
-54
26
-34
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
4
0
0
0
0
-10
-1
0
0
-16
37
-1
0
0
-8
-20
-7
0
5
15
93
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
19
0
0
0
1
4
0
0
0
-1
-1
-47
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
15
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
27
-3
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
1
0
0
0
2
-3
0
2
0
-4
9
2
-1
0
-38
1
1
0
0
1
-1
-20
-11
-1
1
0
0
0
0
11
0
0
0
0
-2
0
0
0
0
3
4
-2
0
0
31
-5
0
2
0
-47
10
3
-1
-1
-34
-26
25
11
1
16
-76
-16
-30
-15
-27
-9
8
-64
3
4
0
1
0
0
3
0
0
0
0
-2
0
0
0
0
1
0
4
0
0
-26
2
-8
-2
0
42
11
17
-36
6
6
-40
-30
-6
6
19
-16
52
54
-37
8
-7
120
-12
12
-3
1
0
0
1
-11
0
0
0
0
-3
2
0
-1
0
-2
7
6
2
0
-39
6
8
15
6
-20
22
24
5
-6
20
-2
39
-29
-15
38
34
58
3
56
15
-6
-11
35
-20
-2
-2
-1
-1
1
-8
13
0
0
0
11
3
0
-4
0
-11
-27
-5
2
2
24
38
33
-12
-9
-6
20
15
7
16
-10
35
37
12
-28
-57
31
12
22
-2
-8
40
-66
-25
46
-4
8
0
0
0
-15
-3
0
0
0
11
-13
1
-22
0
0
2
27
21
-10
25
2
-17
-6
-20
1
-18
-32
-5
-9
10
41
-7
40
0
-10
27
-1
-17
-2
-26
-3
59
89
-22
0
-3
2
0
-2
12
3
1
4
-2
-9
-7
-3
18
1
-1
13
-5
13
2
16
-20
37
-4
-11
11
-22
-11
-5
0
2
43
36
-35
26
16
34
19
-20
28
14
14
-6
48
-27
1
0
0
4
-1
-18
-9
-3
4
0
-5
-2
0
20
3
16
20
-11
-4
7
-33
-15
7
-1
22
7
-7
-39
17
23
56
2
-6
-25
29
7
57
-41
-2
0
-51
2
32
-26
36
-1
0
10
2
-3
17
-21
-5
1
1
-15
3
-11
-4
-2
-2
-18
39
-8
-11
-18
-22
-10
39
12
34
13
23
14
-8
9
11
16
51
25
-61
-4
5
-5
-4
39
19
-14
29
13
0
-7
-2
0
1
0
9
-2
-38
2
17
-1
4
5
-7
-10
19
-12
2
12
-26
-18
-82
24
-28
-51
-41
-10
-25
-12
37
-4
48
28
22
28
-60
43
9
-22
18
7
-12
55
41
-2
-1
-1
0
1
1
2
19
-3
-4
10
16
14
4
-2
-8
-35
-55
15
-39
2
0
33
-3
-16
-61
-14
1
-11
8
18
-3
-46
-49
-61
-39
13
30
55
-22
-26
0
30
17
-1
2
0
1
0
0
-1
-3
-6
-14
-2
1
-15
9
2
-13
12
-46
-12
-8
-19
-18
17
17
5
36
30
-10
-2
-18
-6
24
-29
19
-17
8
-68
-29
-6
-3
10
-40
-10
-52
-33
33
0
0
-3
-1
0
2
11
-4
-6
1
4
6
-3
-14
-5
-11
12
-13
-37
21
5
-14
-35
-6
1
12
24
-20
-4
-18
-39
-1
-9
7
-15
19
7
-41
-11
5
-6
-4
-19
-12
-13
0
0
0
0
0
0
0
7
16
-2
0
-3
-10
6
-1
-19
7
-4
-34
-24
11
51
-7
14
12
-11
-34
-18
17
8
-6
-54
-21
0
8
-16
6
-22
-57
41
30
47
12
-48
12
0
0
0
0
0
0
0
3
-2
0
0
-15
-15
-13
-6
-8
-7
0
20
-12
1
8
-1
7
8
-15
4
40
18
-10
-23
12
-13
46
14
-17
33
5
-14
-14
10
13
1
-16
-46
0
0
0
0
0
0
1
1
16
2
0
0
22
13
0
1
-1
3
-17
14
10
14
-2
-35
30
-1
-2
-8
-35
-9
-30
4
49
42
28
-5
-12
-2
-27
-15
-7
-4
36
32
-39
0
0
0
0
0
0
-1
0
2
0
0
0
-6
17
0
0
-10
-3
-4
-14
4
3
16
-56
-1
-3
-24
-11
-5
14
-12
9
-11
11
16
-10
-34
-15
-3
-4
1
11
4
-4
6
0
0
0
0
0
0
0
0
0
1
0
-1
1
9
0
2
4
-3
5
12
-1
-10
-1
-23
-10
0
-14
-14
-6
-24
2
23
-38
5
14
3
-63
-67
-36
-4
0
12
4
-24
16
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
4
3
3
2
0
24
22
-9
0
-2
5
-23
-18
0
-12
-4
-18
-18
0
16
-15
-6
-2
0
0
9
-10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
7
1
0
-1
-4
6
4
0
-11
-7
-2
1
0
-1
19
0
27
0
-11
-15
50
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
1
0
0
15
1
0
0
0
3
2
-1
0
0
15
3
-7
0
-6
-2
-1
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
-1
-2
0
0
-4
15
0
0
0
-1
-2
-3
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
1
0
0
0
0
6
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
-24
-40
-93
-53
-50
-36
-35
14
-17
0
0
-43
-11
7
4
22
3
9
-9
0
-19
0
19
29
13
1
-17
11
-4
0
6
15
0
-31
15
10
4
26
3
0
11
-8
-18
0
-2
101
8
0
-16
0
0
0
0
0
0
4
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-27
2
-11
-17
-61
-29
-54
5
3
0
0
-22
28
-17
4
19
1
-49
26
0
32
0
-85
-43
7
9
2
17
48
0
8
-2
0
-14
-7
36
50
-9
31
0
0
0
0
0
0
0
6
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-5
12
6
-40
-20
-36
-3
37
-6
0
0
-1
-14
-17
18
40
-50
23
33
0
27
0
-9
-29
-1
17
61
6
14
0
26
1
0
-15
0
-36
-2
85
18
0
0
0
8
0
-6
4
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-6
25
37
-23
-14
9
9
47
22
0
0
1
-4
7
-23
36
4
15
34
0
-2
0
25
-27
-31
13
42
14
49
0
69
31
0
-3
-38
-8
40
31
28
0
-3
56
11
0
-27
-19
-1
0
19
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
13
15
-20
-30
-14
-20
19
13
9
0
0
-59
-3
-6
1
2
27
73
7
0
9
0
-41
0
-25
-6
14
-19
17
0
28
40
0
11
-15
-15
0
27
-6
0
-46
63
18
0
-13
1
24
-6
-9
0
8
-8
10
33
0
-7
-73
-32
-16
0
-41
-64
1
21
41
0
-28
-95
-9
0
0
-115
-3
23
43
74
0
-32
-32
0
42
30
-2
-21
18
25
-14
0
-10
0
-16
54
11
-4
-20
-18
18
23
-11
0
0
-16
26
-7
-14
-24
5
-11
-14
0
2
0
-24
17
-30
-11
10
-15
-25
0
64
25
0
-8
0
-31
-23
12
-27
0
3
21
34
0
5
-23
-1
-21
-29
0
12
-30
12
3
0
10
-39
-24
-33
0
-26
-54
-8
5
21
0
2
-20
-35
0
19
26
29
-6
-16
-12
0
-21
-28
0
11
-18
5
4
-23
-29
-1
0
19
0
0
1
11
30
10
-19
0
0
-5
0
0
4
42
-16
10
-13
0
3
20
0
-19
0
15
21
19
-48
-6
0
20
0
-10
-13
0
35
-8
-7
-8
-3
28
0
16
35
-24
0
-6
-11
15
-7
10
0
-10
-55
-8
-1
0
23
-40
-35
2
0
-1
27
-14
5
-2
0
-11
-29
-7
0
-12
-11
-19
15
0
0
0
-117
-1
0
-39
-26
-6
-3
0
0
-4
0
-43
0
-20
81
-91
-95
-57
-34
-31
-13
-8
0
0
-20
-18
-43
-48
2
-50
-17
25
0
23
0
-7
-23
-50
-17
-4
-29
12
0
56
23
0
23
18
-28
0
-14
8
0
-1
-31
42
0
18
-31
-79
44
11
0
7
-17
36
35
0
-3
-66
-34
-6
0
-38
-26
-7
-2
4
0
9
-36
2
0
25
-11
-1
2
3
6
0
10
-13
0
-32
-49
-20
-15
-12
-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
-94
0
0
-2
-40
-76
70
-74
-6
-7
-35
0
-39
0
58
-119
-44
28
-78
-57
0
0
108
60
0
-19
-22
-52
-13
-17
-17
0
36
56
-4
0
8
-53
-30
-73
3
0
22
81
12
-8
0
-4
-27
5
-1
0
62
40
20
-55
-38
0
-26
-8
20
0
117
49
66
-8
-53
-12
0
10
51
0
164
113
65
36
-1
-6
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-107
0
15
0
15
-150
-93
-76
0
44
-30
0
28
53
0
2
-14
-50
-68
-43
-6
0
15
40
52
0
4
-13
-33
6
-33
0
-5
-13
16
4
0
-1
-38
-11
-16
0
23
14
-10
-6
4
0
-11
-21
-47
0
-26
-10
-103
-79
-55
-14
0
28
-29
0
-41
-40
-37
-15
-27
4
11
0
-52
0
-34
14
-50
-37
-53
-61
46
3
-5
0
0
88
51
-77
-41
-26
-8
-21
12
0
-32
0
22
-11
-1
-15
-84
-64
45
0
26
54
0
2
0
-18
-2
27
33
0
-9
25
45
0
9
-15
-34
26
3
0
-14
7
19
20
0
-1
-41
0
-15
0
-34
-41
-16
-13
1
0
-1
-21
-12
0
-35
-9
-11
-18
-17
-1
0
-23
-25
0
-49
-17
-36
-31
-35
-24
5
0
8
0
9
58
18
0
13
12
-42
-22
35
0
0
84
46
5
4
-6
33
-33
17
0
54
0
13
-10
17
3
65
123
-9
0
-4
46
0
15
-4
-21
-12
-3
-16
0
-12
-19
4
0
-6
-14
-40
-87
-36
0
-56
-3
-22
21
0
-5
-41
-15
-52
0
-28
-64
-48
-35
3
0
-17
-51
-56
0
-93
-66
-64
-26
-30
-4
0
-47
-38
0
-17
-64
-51
-7
-10
-15
-16
0
7
0
-18
46
42
5
5
8
27
40
-1
0
0
-14
4
-37
-10
1
5
44
33
0
4
0
-30
-31
-26
-10
-17
-29
-3
0
-2
13
0
-28
-14
-26
-26
-30
-11
0
2
11
10
0
-15
-17
-11
-30
-11
0
9
4
-17
10
0
-3
-2
-18
-14
0
10
0
-14
-6
1
0
-9
-50
-7
0
16
-18
-28
-17
-28
-14
0
11
-13
0
11
-5
-16
-23
-31
-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
-56
0
-50
-60
-64
-75
-20
-48
-59
-59
-30
0
0
-55
-48
-47
-12
-26
-17
-35
-22
0
-15
0
-52
-31
-15
-14
-20
-22
3
0
-7
-3
0
-10
18
-13
-11
-26
51
0
0
-26
33
0
-13
21
15
-37
-21
0
0
0
-1
0
0
13
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
-33
0
-22
-29
-71
-51
-44
-12
-37
-3
-1
0
0
-15
-37
-11
11
7
-38
9
-1
0
16
0
-9
11
4
-23
14
-1
44
0
26
-9
0
21
-26
54
0
-20
-5
0
0
0
0
0
-16
-1
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
0
0
0
0
0
1
0
-32
-40
-15
-32
-18
-4
1
-46
16
0
0
-17
-50
0
-5
-3
24
2
8
0
-15
0
-6
-39
1
-1
-6
-18
-11
0
-24
26
0
17
-21
11
51
25
6
0
0
1
-4
0
-29
24
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
3
-9
-16
20
7
5
-16
11
11
0
0
-10
-17
-2
9
20
-20
2
12
0
-16
0
10
-4
17
17
29
17
24
0
43
-5
0
-27
-22
-2
73
7
0
0
-3
34
0
0
14
1
-5
-4
-10
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
-15
-3
-55
-36
-28
-41
-39
-50
-23
0
0
-4
-44
-19
-10
-25
-35
-36
-28
0
-7
0
8
-20
-25
-44
-59
12
-26
0
-4
5
0
-10
-14
-24
-16
-36
-10
0
-9
16
-13
0
10
-14
-7
-6
-25
0
-25
-20
-9
23
0
-10
-38
-26
-24
0
-19
1
-18
-5
4
0
-16
-2
-1
0
37
30
22
-5
-7
5
0
14
-16
0
-12
-30
36
29
32
-1
-3
0
-17
0
-25
-6
-6
-30
-22
-18
-14
-2
-14
0
0
-46
-20
-23
-20
-25
5
-26
-9
0
1
0
-5
-14
-26
-25
-23
-12
-30
0
-49
6
0
-7
-4
-15
-9
-4
-30
0
-9
6
-11
0
-2
-12
-5
-3
-34
0
15
23
7
0
0
-14
-7
-18
-29
0
0
12
-4
-21
-2
0
-11
-1
-28
0
-9
-31
-6
15
-13
-17
0
-8
-23
0
16
-18
4
-1
-22
5
-34
0
13
0
-2
30
23
-11
8
2
-12
-1
-2
0
0
-13
33
7
6
1
9
18
5
0
2
0
13
2
-14
34
34
-8
-4
0
-45
16
0
-1
-4
29
2
-24
4
0
35
-2
24
0
-1
-18
15
-32
-1
0
-15
7
22
12
0
-5
-12
-2
-8
0
1
-22
-12
-1
2
0
-3
-23
-4
0
4
2
8
10
3
1
0
-32
-12
0
-17
-33
3
-9
0
9
8
0
-75
0
-8
-42
-18
-58
-48
-59
-87
-69
-44
0
0
7
-81
-41
-39
-15
-30
-57
-52
0
3
0
20
-64
-53
-50
-17
-91
-23
0
-31
9
0
-13
-20
-40
-48
-11
-19
0
-45
-3
-22
0
-4
-7
-18
-21
-25
0
1
-18
-9
-24
0
-14
-31
-32
-28
0
-29
-39
-18
-21
-13
0
2
10
-11
0
-20
-13
-12
-18
-12
-19
0
10
-38
0
-14
-35
-34
-44
-30
-36
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-168
0
0
35
-95
-64
-18
5
-16
-9
-88
0
12
0
-63
-37
-20
-34
-62
-52
-31
0
-62
-20
0
-5
-32
-36
-24
-37
-28
0
-42
0
15
0
8
-16
-30
8
-36
0
-41
-39
-34
-26
0
5
-6
-26
-13
0
-27
-23
0
-54
-7
0
9
16
-11
0
-1
7
5
-25
-66
-10
0
-2
15
0
31
26
21
-3
-6
-5
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-76
0
-24
0
17
-77
-37
-24
-49
-76
-29
0
-47
-43
0
-3
-24
-33
-48
-43
-14
0
-27
-41
-17
0
1
-2
2
-6
-42
0
-62
-49
-25
-24
0
2
-28
-77
-25
0
-27
-28
-29
-22
-23
0
-7
-13
-54
0
12
-11
-15
-59
-47
-22
0
-27
-13
0
-19
-13
-17
-18
-12
-8
4
0
-46
0
-5
-38
-62
-52
-51
-52
-47
-97
-33
0
0
-15
-61
-56
-30
-22
-30
-59
-32
0
-6
0
-16
-35
-46
-55
-38
-52
-24
0
-25
-30
0
10
-24
-33
-28
-64
-21
0
-20
-44
-31
0
-7
-8
-49
-30
-37
0
-43
-52
-33
-41
0
-10
-14
-36
-37
0
-30
-23
-30
-37
-19
0
9
1
-26
0
-25
-42
-27
-30
-25
-12
0
12
-16
0
-1
-15
-11
-12
-17
-27
-2
0
-39
0
-12
19
-23
-4
-20
-21
-64
-25
-18
0
0
-17
-29
-15
-31
-11
-20
-23
-7
0
-40
0
-19
3
13
-3
-19
-28
-26
0
-50
-38
0
9
-16
-19
-24
-32
-38
0
-19
-27
-18
0
-6
-23
-8
-35
-57
0
-60
-54
-50
-29
0
-4
-48
-74
-59
0
-51
-43
-67
-49
-21
0
2
-37
-62
0
-57
-59
-54
-51
-46
-14
0
15
-56
0
-62
-31
-34
-25
-26
-26
-21
0
4
0
-4
-19
-8
-9
-3
-3
-7
10
-12
0
0
-14
-7
-12
-8
-8
5
-10
-3
0
60
0
-21
-15
-20
-27
-10
-4
-27
0
-14
9
0
8
-13
-27
-39
-4
-25
0
-18
-27
-4
0
5
-32
-45
-20
-31
0
-28
-21
-39
-28
0
1
-21
-15
-32
0
-22
-29
-18
-27
-10
0
-1
-7
-22
0
-29
-31
-28
-38
-52
-29
0
1
-23
0
-15
-23
-27
-32
-50
-39
-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
-53
0
-57
-29
-99
-35
-43
-13
-61
-98
-27
0
0
-41
-72
-31
-17
-15
-43
-45
-37
0
-48
0
-54
-39
-31
-29
-31
-9
-7
0
21
-23
0
-25
3
-39
-1
-40
49
0
20
-27
23
0
-29
-2
21
-38
6
0
0
0
-1
0
0
13
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
-19
0
-12
-54
-23
-44
15
-42
-51
-17
-4
0
0
7
-17
-16
-11
5
8
53
-4
0
-72
0
19
-4
12
17
-30
11
14
0
20
1
0
12
-21
40
-16
-19
22
0
0
0
0
0
-16
-2
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
0
0
0
0
0
-25
0
-41
-48
-46
10
-11
10
-3
-63
-6
0
0
-16
-39
-10
12
19
15
-24
-8
0
-4
0
-64
-29
5
-4
-4
21
35
0
-21
35
0
20
-33
-21
30
27
-20
0
0
1
-4
0
6
10
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
10
-14
-42
-3
2
7
-38
-2
24
0
0
8
-29
-14
1
0
14
-10
18
0
-1
0
-10
-7
-5
8
6
29
6
0
32
-20
0
-12
-3
17
17
41
15
0
-1
27
-1
0
11
-29
-1
-1
-24
0
0
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
-20
-13
-70
-47
-24
-41
-53
-15
-21
0
0
4
-76
-40
-24
-31
4
12
-28
0
18
0
27
-25
-26
-28
-26
6
-10
0
-19
4
0
-10
-7
-1
-31
-32
-10
0
56
-43
25
0
3
-10
-23
31
-5
0
-41
-3
-25
-1
0
1
5
-26
0
0
-59
20
-7
-17
-8
0
5
45
-16
0
-12
44
3
1
41
-11
0
31
0
0
-22
-6
-11
0
1
35
19
0
-19
0
-7
1
-24
-27
-26
-19
-12
-7
-11
0
0
-29
-29
-19
-29
-28
10
-11
-13
0
-30
0
-1
-6
-24
-17
-11
-5
-13
0
-30
11
0
6
-16
-25
6
-4
-22
0
13
13
-17
0
13
0
-3
-12
-23
0
-21
22
-21
-7
0
-6
12
-17
-27
0
36
10
-3
-20
-18
0
-15
17
-28
0
-16
-22
-7
-22
-9
-4
0
-2
-23
0
-11
8
14
15
-8
-20
-35
0
26
0
1
40
40
-9
-29
-13
-8
-1
0
0
0
6
-1
20
-1
25
3
18
2
0
23
0
12
-6
-5
24
40
-7
1
0
-64
14
0
-1
1
13
2
-19
-10
0
47
-1
14
0
11
-7
6
-11
-4
0
-4
-4
33
4
0
-2
-8
-18
-9
0
22
-11
6
5
1
0
2
-8
-1
0
-9
9
6
9
4
1
0
-5
-6
0
-28
-1
-2
-4
-4
10
13
0
-59
0
4
-47
-47
-61
-46
-63
-51
-98
-38
0
0
-7
-65
-15
-41
-29
-14
-33
-54
0
-40
0
9
-52
-48
-64
-68
-81
-27
0
-73
-44
0
-5
-22
-36
0
-1
-34
0
16
-12
-43
0
-21
-21
-10
-5
-34
0
-49
-9
-38
-50
0
-7
-3
-3
-37
0
-33
-45
-45
-44
-36
0
-21
-14
-29
0
-12
-39
-31
-28
-30
-53
0
-8
-47
0
-29
-40
-47
-47
-32
-35
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-200
0
0
-3
-84
-51
-25
23
-17
-6
-125
0
19
0
-40
9
-82
-18
-30
-45
-41
0
-83
-14
0
-16
-22
-21
41
-47
-18
0
-85
-9
25
0
1
-33
-32
10
-42
0
-50
-56
-5
-36
0
14
-58
-15
-30
0
-109
-12
-9
-59
10
0
-2
-4
-30
0
-50
25
6
-48
-53
0
0
-25
-2
0
9
43
42
-13
-15
-5
2
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
3
-35
-38
-48
-62
-73
-34
0
-10
-46
0
-14
-23
-45
-34
-23
-19
0
-48
-9
-42
0
-3
-17
-26
-44
-35
0
-38
-51
-32
-29
0
-17
-42
-62
-27
0
-5
-25
-45
-18
-41
0
-24
-3
-45
0
9
-68
-52
-28
-19
-29
0
-29
-25
0
-33
-27
-32
-32
-31
-13
-4
0
-67
0
-1
-73
-64
-65
-40
-39
-66
-11
-29
0
0
-32
-50
13
-51
-38
-15
-41
-57
0
50
0
-27
-5
-67
-54
-66
-27
-45
0
-46
-41
0
-2
-32
-19
-26
-35
-37
0
-55
-30
-44
0
-18
-17
-15
-35
-56
0
-21
-45
-42
-56
0
-10
-45
-33
-40
0
-70
-63
-32
-44
-19
0
-2
3
-39
0
-48
-24
-43
-40
-36
-20
0
15
-15
0
1
-37
-22
-9
-16
-18
-7
0
-11
0
-13
12
-23
-9
-4
-18
-1
-32
-14
0
0
-16
-31
0
-8
-17
-4
7
-5
0
-11
0
-6
-33
-18
-16
18
-46
-8
0
-20
-46
0
4
-15
-7
-28
-21
-27
0
28
-21
-9
0
-6
-10
-24
-23
-39
0
-28
-70
-21
-37
0
-7
-33
13
-42
0
-8
-10
-61
-47
-30
0
28
-31
-36
0
-58
-35
-42
-24
-29
-29
0
27
-31
0
-99
-6
-42
-25
-31
-31
10
0
5
0
-13
-45
-23
-8
-12
-21
10
24
-7
0
0
-11
16
4
-17
-12
-1
-18
1
0
38
0
-2
5
-18
-15
3
26
-13
0
-6
-9
0
18
4
-14
-39
-15
-13
0
-48
-1
-4
0
3
-9
-42
1
-21
0
-34
0
-27
-29
0
-2
0
11
-23
0
-14
-37
-23
-25
0
0
-1
5
-18
0
-20
-9
-20
-31
-48
-8
0
-5
-24
0
-29
-23
-22
-21
-39
-43
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-5
-29
-71
-58
10
-32
-34
-18
-25
0
0
14
17
-35
2
-36
20
-19
-45
0
22
0
-25
54
-62
34
-91
26
13
0
-7
-7
0
-11
-16
-30
16
1
-37
0
8
0
1
0
1
-7
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
29
0
5
-26
0
-45
8
-63
-25
-3
5
0
0
26
55
-44
-42
-12
0
-17
2
0
-38
0
36
-5
3
34
12
-17
-18
0
0
1
0
1
-21
19
-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
-62
0
-4
-16
22
-1
22
16
11
20
33
0
0
9
-13
7
37
-54
3
4
41
0
-40
0
-19
54
-10
-53
56
-32
49
0
0
2
0
-1
-46
-67
-10
-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
-12
0
0
-15
27
33
-29
-77
0
25
-64
0
0
30
-6
48
-19
-3
70
19
-18
0
-22
0
-54
22
-30
37
14
56
7
0
-4
-27
0
-21
-12
-15
5
55
52
0
1
0
-4
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
-5
0
1
31
33
21
-6
-64
22
14
11
0
0
12
-3
-13
24
24
-48
-17
44
0
-24
0
-8
32
-39
53
-43
-25
48
0
1
-18
0
-9
-23
27
11
-14
-32
0
-6
33
14
0
6
30
12
60
36
0
-9
33
3
-14
0
65
0
-53
-24
0
1
-11
11
29
16
0
11
27
12
0
-12
17
21
9
-26
-12
0
12
36
0
0
1
-56
-4
22
32
1
0
-7
0
16
9
-53
11
-16
-14
18
-8
-21
0
0
37
10
-26
-2
-21
30
2
-33
0
-9
0
55
-1
-8
-7
-6
-9
-12
0
4
1
0
34
-24
-29
11
-6
5
0
12
-10
46
0
2
-24
-3
-7
16
0
-1
-7
-24
17
0
-32
-28
20
12
0
4
2
4
1
-16
0
7
-6
-17
0
-7
4
-4
19
-10
11
0
2
-5
0
-7
0
-1
-11
32
-11
-6
0
22
0
1
0
10
12
-36
-3
-1
0
1
0
0
19
-15
8
-1
2
-9
0
2
0
6
0
8
-5
-7
7
-9
7
-2
0
-31
5
0
-7
-5
-9
28
9
-8
0
31
-36
-11
0
13
26
-15
1
-7
0
12
1
45
-23
0
8
-14
5
-1
0
19
-8
9
10
-1
0
-23
-5
-3
0
-47
-57
43
-1
10
-4
0
11
1
0
-27
16
15
11
-25
-8
-13
0
-26
0
-6
15
-60
-68
-6
-78
-48
-5
-10
0
0
-45
19
-69
31
-30
-3
12
-35
0
-5
0
-43
8
-52
23
3
-3
14
0
-37
0
0
-7
17
-22
-29
-67
-2
0
-8
-16
-59
0
-16
-42
60
7
1
0
-8
96
-25
-57
0
41
6
-60
-19
0
55
-25
20
14
-13
0
6
-29
-20
0
60
-78
-64
31
24
-15
0
-26
-2
0
-51
-1
-48
29
-22
-40
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
0
0
-8
-16
-6
-9
0
-2
0
-107
0
0
0
47
11
-28
-40
-24
13
-31
0
-22
10
0
-11
-31
-17
62
-18
-10
0
-34
-16
6
0
-18
4
-8
-6
15
0
-29
-10
-23
9
0
3
-9
-27
-66
0
11
-18
-17
-117
64
0
16
-3
-58
0
-80
2
37
2
-45
-3
0
13
-24
0
36
46
44
4
-25
28
-11
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
-67
-41
-53
10
-41
-20
-62
0
4
-59
0
15
-5
-8
-23
17
-1
0
18
-4
-19
0
-23
-21
33
9
-24
0
-45
23
-37
-6
0
-25
-18
10
-28
0
-41
-21
2
-41
-43
0
-18
10
-16
0
-12
-18
-26
-32
-2
-58
0
12
8
0
-57
-40
-11
-22
6
-5
-26
0
-42
0
-10
12
-22
-28
-83
-41
-22
69
-36
0
0
-5
26
23
-71
-29
-39
54
-10
0
-40
0
-7
-30
-58
-14
-14
17
-10
0
-48
-8
0
-23
-11
-32
17
-21
19
0
-24
-2
-41
0
-10
-24
-45
18
-22
0
-79
-34
-39
-5
0
-17
11
-4
-26
0
-123
-38
39
24
9
0
-11
-29
-8
0
23
-12
-9
-15
-14
-9
0
4
-25
0
-2
-14
62
-56
-9
-25
-13
0
4
0
-15
3
-17
-44
18
43
23
-32
29
0
0
-47
-17
-18
43
23
-63
15
5
0
18
0
67
-29
-53
-13
45
16
-9
0
-39
9
0
-1
18
20
-16
-23
8
0
3
-29
-4
0
10
17
-20
-33
0
0
-21
23
42
-76
0
14
-20
36
25
0
42
-58
-74
22
-25
0
-20
32
-27
0
-16
20
-6
32
37
-97
0
-14
41
0
-6
19
-2
-2
-67
-6
18
0
-11
0
17
-21
-3
-23
-5
-19
10
3
11
0
0
-35
36
5
-25
-5
-28
19
-16
0
-4
0
11
-19
-19
15
21
20
23
0
-2
12
0
0
1
-44
-26
0
17
0
-2
-34
3
0
10
10
3
-17
17
0
-19
-24
-22
-4
0
8
8
2
-19
0
7
-25
-1
-39
17
0
42
-14
-3
0
35
11
-7
10
-12
-10
0
1
-9
0
-42
-21
10
27
9
-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
2
-13
-1
0
0
13
-20
-7
0
0
-5
12
12
-7
0
-7
0
-8
6
1
-7
-11
-11
-2
0
-50
-13
24
-10
-17
-1
1
-4
8
-8
1
0
-7
0
17
4
-2
0
0
3
15
2
4
0
0
-2
3
-3
-1
-1
4
11
-11
-6
0
-28
35
-2
11
1
12
-13
11
4
-8
13
11
3
-35
13
-2
13
39
13
-6
0
2
-6
9
-6
-1
-24
-15
-4
-4
47
-10
3
-1
0
-6
34
-2
-2
0
39
-9
-6
2
0
-15
2
-6
11
0
13
-17
-2
8
-18
-1
-22
-2
20
2
-25
-15
-3
17
2
-21
-7
5
4
-9
2
-12
-2
0
15
0
0
0
0
0
1
-1
6
0
0
-1
3
0
-1
0
-4
-1
-32
-1
0
6
7
12
-12
-2
12
0
12
-1
6
5
6
6
-5
0
-3
1
2
0
7
18
7
5
0
3
1
0
-2
0
0
2
-15
-1
0
0
-12
-19
8
3
0
4
5
2
3
-2
21
15
11
-1
7
-3
0
16
6
-25
9
2
6
8
21
10
-2
1
-3
4
8
-2
-1
7
6
-2
1
-2
0
0
24
-31
1
0
0
16
-10
0
-4
0
-29
27
-14
2
0
-29
3
4
10
18
-22
10
12
-1
0
5
-5
2
9
39
-1
3
10
13
25
1
-4
5
-4
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
-1
-2
1
17
24
-28
-5
18
10
12
-7
18
11
-1
23
1
39
-18
6
-3
0
-3
0
0
0
1
6
7
0
0
1
1
1
0
0
-2
-2
-7
-7
0
-21
-8
5
19
3
-43
31
-16
-7
11
16
2
-3
-10
21
20
3
4
1
16
24
2
7
-7
1
0
-3
0
0
0
2
3
7
0
0
0
0
1
0
0
-9
-17
1
-9
0
16
-9
0
-9
3
16
15
-1
-16
-23
-14
8
-3
8
15
12
0
5
-1
4
13
10
3
-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
24
-3
0
-16
0
-16
37
-5
-10
0
-4
39
-9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-9
2
0
7
3
-6
36
9
58
5
2
3
-19
16
-1
13
-1
-9
26
34
7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
-2
36
-1
10
0
-9
-5
20
1
27
15
5
1
-7
-22
9
1
-2
0
-1
36
-2
-4
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
37
-3
-3
0
37
-1
17
-12
0
-41
37
-16
17
17
9
-23
-30
-103
0
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
-10
8
14
-12
11
-26
8
-29
-38
-4
-6
-11
-26
-14
-6
-46
33
-68
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
2
0
0
-43
11
-37
-2
0
0
-20
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
23
20
-29
13
1
17
-32
-28
-12
-1
6
-18
2
-1
-17
-11
1
-16
0
-9
19
-6
1
2
10
0
-1
-4
-19
-3
-1
2
-4
-2
18
-2
0
0
0
-5
-2
-5
0
1
0
-39
5
-11
-37
-2
-20
2
0
23
-47
0
22
-2
-14
-36
-1
-14
-18
0
-36
-11
5
14
2
-23
16
-3
0
0
12
5
9
8
8
16
-4
4
6
10
7
8
-3
2
13
9
6
-22
-15
-17
-2
-4
10
-8
11
-50
1
9
-17
-18
-24
8
4
15
-4
-40
27
-8
6
6
-5
6
-2
-3
9
-4
7
7
15
11
13
5
5
10
17
18
12
12
14
16
17
2
2
0
0
0
1
-6
4
0
1
-4
17
36
-17
2
-12
28
-13
-6
33
-27
-20
26
8
17
25
-22
-1
-6
-5
28
3
0
-3
-6
-22
0
-3
-4
7
-31
-25
-1
5
5
11
3
-1
-1
-1
-11
-58
3
2
-1
-1
30
12
0
23
5
27
18
0
5
29
14
-10
-1
-5
0
1
-2
-5
-14
6
-1
2
-6
7
2
1
-1
4
8
6
1
4
6
-1
15
7
-7
-1
-1
7
-50
28
25
-1
17
-7
14
8
16
-25
19
-18
11
25
-4
11
3
11
-7
15
14
-4
3
7
-1
7
10
4
6
12
3
6
12
8
8
7
7
8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
15
10
-2
1
-34
33
27
-36
35
17
-4
-1
-18
20
19
-9
0
16
2
3
15
5
33
0
-7
0
0
0
4
8
5
-6
0
-1
0
8
-7
0
0
66
1
0
17
-13
-1
32
55
11
2
-8
7
16
-8
-9
1
-3
-13
-9
1
-1
1
1
-6
5
-3
0
1
-4
0
-8
1
0
0
4
10
7
-3
6
12
-1
16
-63
-2
-21
-3
-18
-12
28
12
5
19
3
27
18
-1
1
6
-7
-13
6
-12
-9
-3
10
3
-1
-5
-7
-2
-2
-5
-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
7
-7
0
0
25
6
8
-3
0
-35
36
18
17
0
1
8
78
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-2
22
-26
26
3
25
21
0
36
29
8
6
2
-13
-20
-22
-18
-11
-4
-13
-20
13
-20
-14
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
2
3
-8
1
-2
28
35
2
29
9
-4
5
-15
-39
10
-14
-15
-14
-8
6
-6
-15
-20
-18
-21
-8
-21
-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
-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
3
-1
0
0
-12
29
-28
33
4
12
-27
-14
2
11
-37
2
-29
-19
24
0
-26
-3
-21
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
-2
-5
-22
-25
80
-14
-30
-41
-10
-46
9
-17
-19
-18
-23
36
-10
-32
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
3
-2
-8
0
0
-51
-27
-27
-3
0
0
-10
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
22
1
12
-12
-9
3
5
-19
-15
-7
-1
-16
2
13
-5
-22
-23
3
-17
2
-5
19
15
-6
-10
-12
0
-1
8
-5
0
0
-4
0
-3
-8
4
-1
-15
-3
0
-12
-30
-3
-35
-23
-1
-14
11
-5
37
-59
-19
22
14
-7
-56
2
-12
-9
-10
-9
-21
5
3
5
-6
-9
-6
1
0
5
9
-5
8
1
16
-4
0
-6
3
13
-1
-3
-5
2
4
-11
-10
-43
-5
1
-10
3
-4
27
-58
-20
14
7
-13
-52
5
19
5
-19
-22
19
-2
-6
0
9
0
8
-2
-6
10
3
-1
-2
15
6
1
6
7
19
14
8
-12
3
7
0
2
7
1
-1
0
1
-4
0
-4
0
-2
29
33
-28
2
-6
2
3
-5
25
-9
1
27
-8
0
0
20
1
-15
-9
23
3
-1
-7
-15
-16
1
-14
12
6
-5
-18
3
5
-20
9
-4
1
-2
-1
-10
-33
5
6
3
31
33
26
-2
21
0
23
3
-7
-16
2
5
12
-8
7
4
-5
7
-5
-14
-4
-10
2
2
-5
-5
-2
-1
-2
-2
8
-12
-1
2
-18
21
3
-2
3
-1
-31
-25
18
31
7
27
-7
33
3
20
-39
6
-2
16
4
-20
12
-7
4
-11
3
-2
0
-2
-7
-1
1
5
0
3
1
-1
-2
3
-3
0
2
-3
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
23
8
-2
1
2
37
3
-62
46
13
-18
4
-9
6
-2
13
4
32
2
8
3
29
43
0
-7
0
0
0
4
10
4
-3
0
-1
-2
4
-9
0
1
52
26
-7
3
4
29
4
25
-26
40
-18
-11
-4
-17
-16
3
-10
-2
-18
-8
-4
-4
-3
-9
14
5
-17
5
1
0
-8
1
0
0
4
12
5
-4
6
15
-3
7
-85
-3
-13
-7
-12
-15
16
-5
20
-8
6
13
14
-8
-15
-3
-20
-11
3
-8
-2
-8
9
-2
-13
-5
3
-11
12
-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
3
-7
0
0
-3
3
17
26
0
-27
35
9
17
0
2
16
95
65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
-2
-7
13
40
3
14
18
8
28
22
6
-27
17
7
4
49
-16
-6
-11
-6
-29
38
2
-12
19
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
3
-7
1
0
-11
55
1
40
59
-2
37
-18
-52
12
-21
-10
4
-6
17
-13
-21
-20
-22
-11
-16
-22
-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
-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
3
-1
0
0
-12
25
-17
28
4
34
-4
-7
35
9
-73
11
7
-22
19
1
-21
55
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
-1
22
-31
-20
81
-10
-38
-11
12
26
-2
-27
-8
-3
-12
48
8
11
67
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-2
-3
0
0
-45
-13
-9
2
0
0
-10
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
0
2
-2
-3
-8
-5
-7
11
13
-10
-11
-15
-4
-5
6
-3
-7
-34
-24
-2
-3
29
13
-12
3
32
-11
-24
6
-13
5
-5
-40
4
-14
3
-14
-7
-22
-12
-7
11
10
17
-16
-18
0
17
-8
-5
-10
-36
-5
6
4
-15
-13
14
-19
8
30
23
4
-1
7
-13
10
39
-19
5
5
15
-5
-9
-3
-21
-9
-12
8
-19
-17
-22
1
-6
-11
-5
20
2
16
-17
-5
0
14
-15
-13
-30
-34
9
20
14
-1
-17
42
-20
-24
8
21
0
12
4
-16
9
-6
-32
7
6
17
-16
1
-17
9
-17
14
3
-9
16
-9
16
0
-6
-5
-29
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
1
-15
-13
18
-6
-11
26
-7
-49
1
4
9
4
10
1
31
15
1
-12
-1
-69
-15
19
32
19
73
19
13
20
-31
0
0
1
0
0
0
0
0
12
0
4
-1
0
0
-4
8
16
25
-15
-14
-41
-20
17
10
27
-63
-4
32
-17
11
-14
4
-9
3
14
-18
-29
14
4
5
38
-27
-10
19
-10
0
1
1
0
0
0
-1
-3
32
1
-1
-8
4
12
5
0
13
34
-2
-6
-16
-4
13
19
25
-8
-13
-7
-10
-24
2
-5
-6
-17
22
26
-15
5
-6
12
25
1
5
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
2
0
0
12
-3
-1
-3
20
4
-30
22
-6
2
-55
23
-29
5
0
16
7
19
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
3
-12
1
0
6
0
-39
-16
-5
9
6
-13
-17
-23
5
5
7
-4
-5
30
-7
5
-12
0
64
15
10
-12
7
0
0
0
0
0
0
0
0
-1
0
1
0
-2
-11
-1
-1
2
2
-5
2
3
-10
-54
8
5
-6
8
16
-2
4
39
6
3
-5
-8
-18
-10
23
-3
-8
43
17
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
-22
3
0
0
10
7
-3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
2
0
16
2
8
-22
-7
1
-10
-16
8
8
79
36
-28
15
-7
24
10
42
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-8
15
-8
7
9
25
0
-3
-29
-20
-17
-21
-27
0
2
-6
-3
-50
18
-6
-17
16
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
-1
0
0
0
0
4
2
0
0
-9
-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
1
-1
3
0
0
-6
2
-3
3
2
3
-2
-16
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
42
0
57
0
32
0
0
0
2
0
0
0
1
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
30
0
-39
0
0
0
1
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-42
0
42
0
-5
0
-45
0
1
0
8
0
0
0
-6
0
-13
0
18
0
0
0
0
0
0
0
0
0
0
0
-22
0
8
0
-52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
14
0
36
0
0
0
-11
0
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
-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
70
0
2
0
81
0
13
0
-6
0
-25
0
1
0
0
0
26
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-27
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
-13
0
-18
0
15
0
-12
0
0
0
1
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
12
0
18
0
0
0
0
0
0
0
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
1
-47
0
0
0
21
0
1
0
0
0
0
0
-35
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
-7
0
-33
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
30
0
-6
0
0
0
-2
0
0
0
0
0
0
0
-4
0
7
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-8
0
2
0
0
0
9
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
48
0
159
0
8
0
-7
0
9
0
20
0
7
0
0
0
5
0
24
0
-43
0
0
0
4
0
0
0
0
0
-2
0
2
0
37
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
54
0
4
0
27
0
0
0
2
0
-1
0
-1
0
6
0
35
0
22
-1
8
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
9
0
-34
1
35
0
-94
0
-49
0
2
0
42
0
0
0
0
0
0
0
38
0
-8
0
-6
0
-2
0
3
0
0
0
-3
0
-15
0
-12
0
0
0
1
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
0
-7
0
86
0
-8
0
-1
0
-1
0
-47
0
0
0
33
0
11
0
58
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
4
0
19
0
84
0
-5
0
-20
0
-6
0
2
0
0
0
-33
0
-21
0
-3
0
55
0
17
0
0
0
0
0
0
0
-7
0
59
0
-19
0
-1
0
0
0
0
0
0
0
0
0
1
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
24
4
37
0
-25
0
-33
0
2
0
13
0
0
0
0
0
-1
0
-5
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
17
1
-61
-2
-124
0
8
0
56
0
-4
0
-20
0
0
3
-5
0
-47
-2
-43
0
1
0
33
0
0
0
0
0
0
0
51
0
3
0
8
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
10
0
-1
0
0
0
0
0
81
0
0
0
0
0
0
0
67
0
-4
0
-3
0
0
0
2
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
56
0
41
0
3
0
2
0
4
0
-8
-1
-17
0
0
0
-3
0
10
0
26
0
0
0
-1
0
0
0
1
0
27
0
15
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
25
0
29
0
-54
0
0
0
-29
0
-2
0
-9
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
0
62
1
158
0
-86
0
6
0
-63
-2
-15
0
10
0
-13
0
-10
0
31
0
-55
0
30
0
0
0
-4
0
0
0
6
0
-2
0
-9
0
-8
0
6
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
-60
-1
-37
0
-27
0
-10
0
-22
0
-7
0
0
0
-8
0
0
0
-37
0
0
0
-3
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
67
0
133
0
78
-1
-30
0
46
-1
13
0
-10
-1
-11
0
-14
0
-1
0
-9
0
-6
0
-3
0
-3
0
0
0
0
0
-3
0
53
0
3
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
3
-3
72
0
6
0
-31
0
13
0
0
0
-12
0
0
0
0
0
-24
0
-6
0
-1
0
0
0
-1
0
0
0
0
0
0
0
-7
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
176
-19
-119
6
-92
1
-47
-2
144
-4
34
-3
-23
0
0
0
40
0
23
0
-96
0
0
0
-5
0
2
0
0
0
0
0
-50
0
-46
0
38
0
0
0
-46
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
61
-2
-40
7
-91
2
3
1
-21
0
16
0
0
0
0
0
-16
0
17
0
37
0
0
0
-3
0
0
0
0
0
0
0
-31
0
2
0
-2
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
77
-19
293
26
307
68
114
0
53
3
150
1
88
8
26
0
27
0
196
-4
148
3
7
0
-5
0
71
0
40
0
19
0
-37
0
170
0
106
-6
59
0
-28
0
-17
0
9
0
-15
0
-1
0
6
0
-36
0
19
0
3
0
1
0
0
0
0
0
111
-24
257
-1
225
-1
47
0
-4
0
90
0
-11
0
12
0
-26
0
87
-1
-10
0
46
0
-3
0
21
0
-2
0
-1
0
13
0
176
0
11
0
-15
0
-2
0
-2
0
2
0
0
0
-3
0
-3
0
-7
0
11
0
0
0
0
0
0
0
0
0
171
79
-59
-28
32
-3
-185
-25
81
-15
-64
34
-36
9
-2
-10
105
19
-97
-45
-18
16
-99
0
-23
0
26
-1
22
0
-3
2
111
-1
-15
8
-1
10
-53
0
2
0
-6
0
58
0
0
0
20
0
-29
-2
0
0
-1
0
0
0
0
0
0
0
0
-6
147
-3
-66
-82
-28
-29
-151
0
59
0
-51
10
-23
0
-2
1
61
0
3
17
20
0
-22
0
-8
0
6
0
39
0
0
0
17
-2
-16
-1
-18
0
-21
0
-21
0
4
0
0
0
0
0
-31
0
4
0
-16
0
0
0
0
0
0
0
0
0
0
-4
244
73
46
102
-34
31
-189
21
144
2
-29
-2
-5
0
-51
-11
126
20
-17
8
-27
2
-73
0
107
0
-74
0
68
0
2
-16
112
1
-7
-2
-74
9
-33
0
-18
0
-4
0
-21
0
0
0
-80
0
-14
0
27
0
0
0
-12
0
-1
0
0
0
0
7
175
-38
22
-16
-120
-79
-77
6
53
-1
35
2
21
0
8
0
130
1
63
0
-56
0
-1
0
21
0
0
0
0
0
0
0
30
6
76
0
-25
0
-22
0
-10
0
-6
0
0
0
0
0
20
0
-14
0
1
0
0
0
0
0
0
0
0
0
0
9
-27
-64
-278
-62
-300
33
-71
-5
-96
-2
-8
-30
-185
0
-1
23
-105
-26
-90
-14
-180
0
1
-6
-18
0
-27
0
0
0
0
17
-95
-39
-48
-13
-169
0
-13
0
-25
0
6
0
28
0
0
-11
-11
0
-12
0
29
0
0
0
-4
0
0
0
0
0
0
37
-82
0
-230
-74
-306
11
-47
3
-78
0
-84
0
-9
0
0
40
-60
-3
-6
-3
-9
0
0
4
-55
0
0
0
1
0
0
-36
-95
1
15
0
6
0
0
0
-2
0
0
0
0
0
0
0
14
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
44
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
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
25
0
0
0
0
0
0
0
6
0
0
0
-6
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
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
-4
0
-29
0
-10
0
2
0
-1
0
-7
0
0
0
0
0
4
0
-43
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
19
0
14
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
59
0
-31
0
-4
0
0
0
-3
0
0
0
0
0
0
0
15
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
132
0
82
-1
79
0
-6
0
35
0
-5
0
-10
0
-32
0
-9
0
-20
0
-9
0
-2
0
0
0
0
0
0
0
15
0
79
0
13
0
7
0
2
0
0
0
7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
61
0
23
0
-16
0
1
0
-2
0
3
0
-13
0
12
0
5
0
-32
0
2
0
0
0
0
0
0
0
0
0
-32
0
6
0
12
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
91
0
38
1
117
0
-38
0
-85
0
7
0
10
0
0
0
44
0
-66
0
14
0
0
0
0
0
0
0
0
0
0
0
51
0
22
0
22
0
14
0
5
0
0
0
0
0
0
0
-7
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
7
0
39
0
41
0
-7
0
0
0
10
0
0
0
-19
0
-3
0
26
0
0
0
0
0
0
0
0
0
0
0
-8
0
12
0
-40
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
134
-4
33
0
60
0
-15
0
11
0
-68
0
113
0
2
0
50
0
19
0
40
0
1
0
7
0
4
0
0
0
0
0
12
-3
18
0
4
0
-50
0
2
0
0
0
0
0
0
0
41
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
55
0
-38
0
50
0
-26
0
40
0
46
0
0
0
0
0
19
0
22
0
-9
0
0
0
0
0
0
0
0
0
0
0
-34
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
-16
55
2
-14
-6
-90
0
-1
0
30
0
8
0
0
0
0
0
-48
0
-11
0
-3
0
1
0
0
0
0
0
0
0
0
0
43
0
19
0
-72
0
0
0
15
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
13
0
31
0
2
0
-4
0
0
0
0
0
0
0
-28
0
3
0
0
0
0
0
0
0
0
0
0
0
0
1
26
0
-30
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
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
98
0
8
0
6
0
0
0
-9
0
0
0
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
43
0
7
0
30
0
0
0
-3
0
27
0
0
0
0
0
-8
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
22
0
0
0
-3
0
1
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
107
0
10
0
67
0
-28
0
29
0
8
0
-2
0
0
0
32
0
13
0
-59
0
0
0
0
0
0
0
0
0
0
0
12
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
-47
0
8
0
6
0
0
0
-25
0
0
0
0
0
0
0
-39
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
70
0
193
-2
185
4
104
0
30
0
41
0
8
0
27
0
46
0
53
0
125
0
17
0
-26
0
44
0
6
0
-7
0
13
0
-12
0
56
0
-4
0
0
0
0
0
-11
0
0
0
0
0
-4
0
-3
0
-4
0
0
0
0
0
0
0
0
0
26
0
98
-1
82
0
46
0
-51
0
99
0
-32
0
-14
0
26
0
44
0
76
-4
-13
0
0
0
-3
0
0
0
0
0
2
0
-6
0
33
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-1
176
7
61
17
62
6
-20
0
-17
0
21
0
-4
0
-17
0
156
0
15
3
20
2
-6
0
5
0
-23
0
45
0
0
0
58
0
-22
0
-2
0
-5
0
3
0
0
0
-9
0
0
0
94
0
-3
0
-15
0
0
0
0
0
0
0
0
0
0
0
69
0
-30
-17
16
0
-54
0
17
0
0
0
-5
0
3
-1
109
0
-17
0
115
0
7
0
-12
0
-1
0
-2
0
0
0
-39
0
2
0
-9
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
142
-13
48
-7
81
30
9
0
29
0
-26
0
1
0
14
0
119
0
14
0
36
0
34
0
33
0
9
0
1
0
0
0
27
1
59
0
-57
0
8
0
0
0
-2
0
0
0
0
0
58
0
87
0
-2
0
0
0
0
0
0
0
0
0
0
-1
93
-21
6
-13
6
0
0
0
36
0
23
0
81
0
0
4
96
0
85
-10
5
0
-1
0
27
0
0
0
0
0
0
0
-17
0
11
0
-7
0
0
0
6
0
0
0
0
0
0
0
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-14
42
54
-60
-33
-55
1
-19
-4
30
0
-47
0
-23
0
3
13
31
-1
-6
16
-83
0
-7
0
53
0
1
0
-6
0
0
0
-33
0
-27
0
-45
0
0
0
4
0
0
0
0
0
0
0
-9
0
0
0
12
0
0
0
-2
0
0
0
0
0
0
-28
-28
-9
-45
8
-87
0
-38
1
44
0
3
0
-24
0
0
7
51
0
-35
12
-3
0
0
0
-10
0
0
0
0
0
0
0
87
0
15
0
-42
0
0
0
3
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
199
0
140
-4
60
0
-19
0
-1
0
62
-16
-30
0
-36
0
74
0
77
3
59
0
6
0
7
0
-33
0
6
0
27
0
38
0
-38
0
-54
0
7
0
0
0
2
0
0
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
7
0
94
-2
61
1
-55
0
-2
0
33
0
62
9
-1
0
-17
0
-7
0
4
0
-39
0
0
0
-3
0
3
0
0
0
-1
0
-16
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
151
-1
106
24
77
-1
-45
0
110
-4
59
-12
89
0
-31
0
9
0
-45
0
8
0
-51
0
90
0
22
0
4
0
3
0
-23
0
54
0
-38
0
-43
0
21
0
4
0
30
0
0
0
-68
0
3
0
-26
0
0
0
0
0
0
0
0
0
0
-2
74
0
34
-33
1
9
-20
0
78
0
13
-1
2
0
35
0
48
0
-56
10
48
0
-4
0
2
0
-2
0
35
0
0
0
-17
0
-26
0
32
0
-3
0
-2
0
0
0
-3
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
166
-49
58
0
68
-19
-24
0
87
-30
6
0
44
-4
19
0
62
13
-54
0
-28
0
-41
0
-87
0
-45
0
17
0
0
0
-70
0
54
0
6
0
-17
0
24
0
-9
0
0
0
0
0
-11
0
17
0
3
0
0
0
0
0
0
0
0
0
0
0
76
43
4
0
-27
2
-63
-2
-5
21
45
-1
41
0
-3
0
-12
-1
-13
0
38
0
-4
0
-4
0
-10
0
0
0
0
0
-11
0
39
0
-34
0
-1
0
11
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
64
-10
-20
-53
-18
38
-55
-11
70
-9
-3
-39
-23
3
-2
-1
23
-22
-39
0
-30
-29
0
3
23
0
35
0
52
0
0
-2
18
-1
-48
-2
-46
0
17
0
41
0
-4
0
18
0
0
0
44
0
-9
0
-6
0
0
0
15
0
0
0
0
0
0
-27
26
-40
-60
47
-57
-3
25
81
47
-13
65
1
-12
0
-1
1
27
0
45
0
-22
0
0
0
2
0
0
0
-11
0
0
0
-18
4
-16
0
-2
0
0
0
13
0
0
0
0
0
0
0
88
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-57
5
81
112
51
119
33
14
0
-44
37
31
-29
49
1
-50
0
-35
-24
63
-24
82
-16
-21
0
7
-1
-50
0
20
-9
15
0
-44
42
50
1
62
-30
-13
0
-75
0
-5
0
39
0
12
0
5
-1
55
0
83
-3
37
0
-5
0
-1
0
-6
0
4
-15
-20
61
66
-58
70
19
-28
0
-35
-2
40
8
51
-12
5
-1
-24
-28
61
-29
54
-4
12
0
-35
0
44
0
-13
0
-12
0
13
13
86
-1
108
17
26
0
3
0
22
0
60
0
1
0
-57
0
70
0
-28
0
28
0
0
0
-4
0
0
0
0
121
84
76
24
27
5
-45
-96
-32
7
-103
-63
-58
-60
28
-74
-62
26
-6
-5
-34
-61
0
-122
4
7
0
-21
38
-35
0
-3
-25
39
1
-19
-51
-59
-18
-58
0
-16
0
-4
-14
5
0
2
-3
15
0
18
-16
-64
0
-58
0
-27
0
6
0
8
0
0
36
34
-46
-30
-42
-52
-81
-130
34
9
-61
-35
-18
-54
10
-70
-17
42
-11
-53
-28
-59
0
-60
-1
8
0
54
-1
98
0
0
-46
40
-7
-26
-62
-25
-4
-42
0
-102
0
-1
0
17
0
0
-2
62
0
13
6
-35
0
-2
0
-1
0
0
0
0
0
0
88
76
32
-12
47
-4
-70
-93
60
-3
-73
-80
-53
-72
16
-155
-3
32
-17
-60
68
-53
-14
-94
2
13
43
-14
0
25
0
3
0
23
-3
-65
-62
-82
34
-96
3
-33
-1
-42
0
-63
0
2
-1
1
12
-7
0
-5
0
-37
0
-60
0
-3
0
0
0
0
36
28
29
-56
31
-41
-86
-124
15
7
24
-70
-3
20
0
-32
-14
52
21
-1
-36
-22
-40
-19
0
25
0
4
0
-2
0
2
4
32
16
-15
0
-54
4
-19
-4
-16
0
49
0
8
0
0
0
40
1
0
0
-59
0
0
0
1
0
0
0
0
0
0
15
-16
-74
-98
-62
-99
-88
-157
-63
-78
-94
-176
-85
-146
13
-8
-30
-75
-57
-100
-74
-179
39
5
-44
-60
3
-75
2
-52
0
0
-18
-70
-74
-102
-89
-160
20
-34
-41
-40
0
84
2
-24
0
0
8
-19
-8
12
-13
-32
0
0
0
2
0
0
0
0
0
0
-21
-72
-89
-134
-113
-160
-36
-125
-38
-61
3
-95
-20
-16
0
0
-15
-61
-24
-100
-11
-76
0
-27
-14
-54
0
-5
0
-26
0
0
-14
-62
50
-44
41
-93
0
27
3
28
0
0
0
3
0
0
0
-19
-1
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
2
0
27
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
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
9
0
0
0
0
0
0
0
6
0
0
0
-6
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-36
0
3
0
3
0
-1
0
-7
0
0
0
0
0
4
0
-39
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
12
0
22
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
48
0
-36
0
10
0
0
0
-3
0
0
0
0
0
0
0
15
0
3
0
-12
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
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
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
6
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
6
0
119
0
31
-1
14
0
-4
0
32
0
-2
0
-10
0
-15
0
-13
0
-7
0
1
0
-2
0
0
0
0
0
0
0
15
0
70
0
-9
0
-10
0
2
0
0
0
7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
27
0
10
0
-33
0
1
0
-4
0
3
0
-13
0
14
0
6
0
-32
0
2
0
0
0
0
0
0
0
0
0
-38
0
-3
0
4
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
40
0
57
1
33
0
-58
0
-77
0
7
0
7
0
0
0
28
0
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
-19
0
51
0
10
0
6
0
0
0
0
0
0
0
-9
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
0
16
0
9
0
32
0
-2
0
0
0
12
0
0
0
-16
0
-3
0
27
0
0
0
0
0
0
0
0
0
0
0
-6
0
10
0
-41
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
-4
1
0
8
0
2
0
18
0
-47
0
119
0
2
0
7
0
26
0
42
0
1
0
7
0
4
0
0
0
0
0
-10
-3
-4
0
14
0
-60
0
2
0
0
0
0
0
0
0
44
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
-21
0
5
0
-31
0
35
0
47
0
0
0
0
0
24
0
26
0
-9
0
0
0
0
0
0
0
0
0
0
0
-47
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
-21
66
2
-4
-7
-13
0
-4
0
47
0
19
0
-4
0
0
0
-71
0
-20
0
-3
0
1
0
0
0
0
0
0
0
0
0
16
0
30
0
-44
0
0
0
9
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
0
63
0
2
0
-6
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
39
0
-25
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
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
75
0
19
0
6
0
0
0
-10
0
0
0
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
49
0
8
0
32
0
0
0
-3
0
27
0
0
0
0
0
-7
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
25
0
0
0
-3
0
1
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
89
0
18
0
89
0
-17
0
4
0
8
0
-6
0
0
0
41
0
7
0
-66
0
0
0
0
0
0
0
0
0
0
0
12
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
-43
0
18
0
7
0
0
0
-18
0
0
0
0
0
0
0
-40
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
29
0
154
-2
96
7
46
0
39
0
53
0
-15
0
1
0
53
0
13
0
79
0
4
0
-36
0
47
0
6
0
-7
0
16
0
-5
0
29
0
42
0
0
0
0
0
-11
0
0
0
0
0
-10
0
0
0
-4
0
0
0
0
0
0
0
0
0
46
0
80
-1
66
0
31
0
-56
0
77
0
-18
0
-23
0
14
0
53
0
43
-4
-2
0
0
0
-3
0
0
0
0
0
2
0
-6
0
30
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
-1
91
7
56
23
51
9
-1
0
-24
0
50
0
-20
0
-20
0
67
0
17
3
24
2
-25
0
2
0
-21
0
51
0
0
0
60
0
-7
0
24
0
-3
0
3
0
0
0
-9
0
0
0
65
0
-3
0
-10
0
0
0
0
0
0
0
0
0
0
0
79
0
-33
-18
13
0
-32
0
14
0
0
0
4
0
3
-1
72
0
-23
0
74
0
7
0
-9
0
-1
0
-2
0
0
0
-43
0
2
0
-2
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
1
104
-28
45
-6
76
38
23
0
32
0
28
0
3
0
17
0
104
0
7
0
75
0
-16
0
12
0
9
0
0
0
0
0
7
1
34
0
-44
0
-8
0
0
0
-2
0
0
0
0
0
59
0
78
0
-2
0
0
0
0
0
0
0
0
0
0
-1
34
-31
-8
-13
1
0
8
0
-20
0
37
0
80
0
0
4
84
0
102
-10
-8
0
0
0
30
0
0
0
0
0
0
0
-32
0
-1
0
1
0
0
0
6
0
0
0
0
0
0
0
-8
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-42
33
51
7
-31
18
9
-15
-4
-18
0
-40
0
-32
0
3
-2
19
-3
13
20
-53
0
-6
0
41
0
2
0
-5
0
0
0
-30
0
-17
0
-45
0
0
0
8
0
0
0
0
0
0
0
-18
0
0
0
12
0
0
0
-2
0
0
0
0
0
0
-50
-24
-10
-24
18
-60
0
-37
1
15
0
6
0
-9
0
0
9
36
0
-37
12
-22
0
0
0
-23
0
0
0
0
0
0
0
59
0
17
0
-36
0
0
0
3
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
125
0
75
-6
24
0
-30
0
20
0
81
-16
-34
0
-45
0
84
0
75
3
29
0
6
0
17
0
-43
0
4
0
24
0
49
0
-30
0
-44
0
7
0
0
0
2
0
0
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
0
0
-9
0
59
-2
43
3
-14
0
-3
0
40
0
68
9
-1
0
-16
0
-9
0
8
0
-53
0
0
0
-3
0
3
0
0
0
-2
0
-8
0
-13
0
-16
0
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
77
23
19
3
-20
0
128
-4
73
-12
1
0
-65
0
-4
0
-34
0
-15
0
-38
0
85
0
23
0
-9
0
3
0
-24
0
54
0
-82
0
-48
0
23
0
4
0
18
0
0
0
-63
0
3
0
-27
0
0
0
0
0
0
0
0
0
0
-2
20
0
-17
-37
-5
9
-41
0
54
0
37
-2
-12
0
42
0
80
0
-48
10
58
0
-3
0
0
0
-2
0
43
0
0
0
-18
0
-22
0
3
0
-3
0
-2
0
0
0
-3
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
132
-39
64
0
31
-26
-14
0
48
-28
53
0
20
-4
23
0
68
15
-62
0
-35
0
-32
0
-73
0
-51
0
13
0
0
0
-64
0
-12
0
15
0
-23
0
29
0
-10
0
0
0
0
0
-11
0
17
0
3
0
0
0
0
0
0
0
0
0
0
0
40
58
-26
0
-26
6
-30
-2
36
21
19
-1
72
0
-3
0
0
-1
-6
0
45
0
-7
0
-4
0
-10
0
0
0
0
0
9
0
47
0
-34
0
-1
0
11
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
21
-6
5
-55
-2
40
-56
-22
19
-11
-38
-39
-9
3
-2
0
-19
-27
-28
0
-44
-29
-1
3
-27
0
32
0
56
0
0
-4
24
-1
-34
-2
-62
0
16
0
81
0
-4
0
18
0
0
0
61
0
-9
0
-6
0
0
0
15
0
0
0
0
0
0
-29
-22
-14
-73
52
-36
-6
33
73
68
-13
33
1
8
0
-1
1
27
0
22
0
-39
0
0
0
-13
0
0
0
-11
0
0
0
-40
4
-24
0
-7
0
0
0
8
0
0
0
0
0
0
0
89
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
-56
35
92
80
0
64
17
-5
0
-56
25
2
-25
26
6
-26
0
-3
-20
16
-19
39
-11
-3
0
-8
-1
-48
0
8
-9
-7
0
-29
46
8
0
-2
-36
-35
0
-65
0
17
0
29
0
16
0
-11
-1
23
0
98
-3
28
0
-6
0
1
0
-6
0
4
-17
-30
92
40
-105
31
21
-33
0
-67
-1
-34
10
73
-12
-2
-1
-24
-30
68
-31
50
-20
10
0
-8
0
0
0
-12
0
-15
0
-67
9
36
-1
89
18
-10
0
-18
0
27
0
66
0
1
0
-54
0
59
0
-22
0
32
0
0
0
-4
0
0
0
0
47
61
-7
9
5
-10
-16
-28
-40
16
-106
-20
-121
-68
17
-44
-33
20
4
-7
-23
-40
-16
-36
7
-12
0
-35
46
-37
0
1
-22
25
11
-38
-47
-46
-18
-14
0
-31
0
19
-9
9
0
2
-3
27
0
9
-19
-36
0
-54
0
-26
0
6
0
8
0
0
39
11
-45
-34
-18
-52
-88
-83
36
8
-58
-17
-34
12
10
-57
-30
29
-14
35
-6
-22
0
-25
-1
48
0
39
-1
107
0
0
-40
24
0
-25
-65
-5
-4
-7
0
-39
0
0
0
16
0
0
-2
44
0
19
6
8
0
-2
0
-1
0
0
0
0
0
0
78
49
9
-12
7
10
-32
-58
52
-11
-46
-73
-58
-39
8
-95
3
11
-51
-34
50
-8
-24
-42
3
-6
39
12
0
-13
0
21
21
-14
21
-49
-48
9
51
-67
3
-42
-1
-34
0
-48
0
2
-1
18
5
-4
0
-6
0
-29
0
-63
0
-3
0
0
0
0
4
15
-14
-52
19
-23
-40
-66
12
17
29
-57
-4
11
0
-11
0
22
41
-32
-35
37
-40
14
0
29
0
-7
0
-5
0
2
0
31
6
-12
0
-6
4
-26
-4
2
0
43
0
7
0
0
0
47
1
13
0
-38
0
0
0
1
0
0
0
0
0
0
-15
-34
-47
-65
-61
-61
-36
-56
-93
-75
-121
-102
-53
-95
10
-21
-66
-66
-9
-88
-73
-75
41
7
-47
-56
11
-85
2
-51
0
0
-69
-62
-68
-81
-37
-57
19
-16
-33
-24
0
89
2
-12
0
0
20
0
-12
3
-10
-17
0
0
0
-1
0
0
0
0
0
0
-46
-71
-85
-76
-64
-80
-47
-79
-60
-49
20
-63
-19
41
0
2
-13
-31
-25
-39
18
-31
0
-22
-13
-4
0
-7
0
-21
0
0
-16
-40
47
-67
43
-21
0
27
4
81
0
1
0
3
0
0
3
-2
-1
-10
0
31
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
14
0
-11
0
-27
0
0
0
6
0
-4
0
0
0
-3
0
0
0
9
0
-3
0
0
0
0
0
0
0
0
0
0
0
-12
0
-6
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
-2
0
6
0
-14
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
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
38
0
-11
0
-1
0
-9
0
0
0
4
0
0
0
8
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
-7
0
-20
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
-19
0
-7
0
-9
0
1
0
0
0
0
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
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
32
0
6
0
2
0
-13
0
15
0
-1
0
1
0
0
0
-9
0
-29
0
3
0
0
0
0
0
0
0
0
0
0
0
-6
0
9
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
-2
0
31
0
2
0
1
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
-2
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
-10
0
0
0
0
0
12
0
3
0
7
0
0
0
-7
0
-3
0
6
0
0
0
0
0
0
0
0
0
0
0
6
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
-2
1
0
2
0
12
0
1
0
-2
0
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-12
0
6
0
1
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
10
0
2
0
0
0
-1
0
0
0
-3
0
0
0
-13
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-39
0
-5
1
-53
0
-1
0
13
0
-11
0
-3
0
11
0
8
0
9
0
-48
0
-7
0
6
0
0
0
0
0
1
0
7
0
-4
0
19
0
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
47
0
52
1
5
0
-8
0
-1
0
8
0
0
0
-7
0
20
0
2
0
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
15
7
-61
4
24
0
1
0
21
0
1
0
-1
0
38
0
29
1
20
0
-48
0
-6
0
-1
0
1
0
0
0
12
0
0
0
9
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
30
0
8
-4
-50
0
20
0
3
0
0
0
6
0
0
0
1
0
-4
1
-5
0
0
0
0
0
0
0
0
0
0
0
-9
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
2
14
-3
-2
-1
-10
0
14
0
22
0
12
0
6
0
1
0
57
0
-42
0
-3
0
6
0
-2
0
0
0
0
0
0
0
1
0
8
0
-2
0
0
0
1
0
0
0
0
0
0
0
7
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-11
55
0
-16
0
-10
0
-25
0
18
0
1
0
0
0
-15
0
11
0
-12
0
0
0
-1
0
0
0
0
0
0
0
-33
0
4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
122
18
74
-7
-23
1
-6
0
-20
0
-13
0
1
0
0
1
68
0
9
0
-39
0
0
0
1
0
1
0
0
0
0
0
5
0
20
0
3
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
-15
-27
-1
19
-1
-3
0
-1
0
24
0
0
0
0
0
0
4
22
0
-8
1
-15
0
0
0
-18
0
0
0
0
0
0
0
23
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
65
0
6
0
70
0
-28
0
6
0
78
-1
-6
0
-10
0
36
0
5
0
-10
0
1
0
7
0
1
0
-4
0
-2
0
10
0
-8
0
7
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
-10
0
-17
0
-26
2
-29
0
7
0
16
0
28
0
-1
0
-1
0
-6
0
0
0
-1
0
0
0
-1
0
0
0
0
0
-1
0
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
61
-1
22
1
-22
0
41
0
-14
1
42
0
-21
0
-7
0
-5
0
-14
0
-3
0
8
0
-1
0
0
0
9
0
2
0
7
0
-26
0
-3
0
0
0
0
0
1
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-32
0
-9
1
38
0
-4
0
-13
0
6
0
-7
0
10
0
49
0
-4
0
-3
0
0
0
0
0
0
0
0
0
0
0
15
0
1
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
22
-6
-12
0
-16
-8
45
0
-37
-8
16
0
-21
0
-3
0
13
0
-51
0
12
0
-7
0
-1
0
-2
0
1
0
0
0
1
0
-13
0
-6
0
-10
0
3
0
-3
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
2
12
0
1
0
6
0
25
7
-24
0
4
0
0
0
-6
0
6
0
3
0
0
0
-2
0
0
0
0
0
0
0
13
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
97
-2
14
-16
-41
4
50
-2
18
2
-6
-2
-19
0
-8
2
-2
-4
-26
0
-20
0
1
-1
6
0
-2
0
3
0
0
0
39
0
4
0
-17
0
4
0
19
0
0
0
0
0
0
0
7
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
6
53
3
9
-3
-50
0
14
-1
8
-1
-44
0
-9
0
0
0
5
1
-28
0
-19
0
0
0
3
0
0
0
0
0
0
0
-24
0
3
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
-1
42
37
17
-17
43
5
-27
0
-13
-8
8
3
8
-2
11
0
9
-10
-57
7
27
-9
-21
0
-89
0
1
0
8
0
8
0
-3
3
7
-1
-1
9
33
0
6
0
0
0
-2
0
8
0
-33
0
48
0
0
0
1
0
0
0
0
0
0
0
0
-2
61
12
-13
-2
51
-70
-1
0
-43
0
18
0
-7
0
-10
0
-36
-1
19
1
44
4
6
0
18
0
0
0
-4
0
0
0
-16
0
-13
0
29
0
-13
0
-1
0
1
0
-1
0
0
0
-4
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
34
6
11
26
-41
-28
39
53
-28
38
-35
-17
-61
67
2
3
8
38
4
-26
2
-62
-37
25
2
11
0
-2
0
50
0
2
0
12
24
-48
-28
24
-1
-28
0
-26
0
-6
0
-30
0
0
0
1
0
-13
0
60
0
0
0
-1
0
0
0
0
0
0
-8
13
-2
-69
63
9
-44
56
9
-30
-7
-6
-19
-63
0
-12
-11
22
0
-1
-3
47
0
-2
0
47
0
-1
-1
17
0
0
-7
-57
0
14
-2
-28
-2
25
0
-21
0
-1
0
1
0
0
0
12
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-12
29
-8
4
-46
-7
6
-19
-14
-1
-4
40
5
-2
16
15
0
-1
-14
24
15
6
13
3
0
37
9
-3
0
-8
0
0
14
-148
9
26
-3
44
1
21
0
-29
0
-26
0
2
0
2
0
33
2
2
0
-11
0
-2
0
0
0
0
0
0
0
0
2
-8
-4
-32
43
-12
13
-8
2
68
-1
-29
2
42
0
33
8
9
-6
-65
-9
-34
0
-21
0
5
0
9
0
0
0
0
-7
-18
11
10
0
-10
1
-3
0
-21
0
-3
0
-1
0
0
1
-9
0
-11
0
-2
0
0
0
0
0
0
0
0
0
0
-39
-22
-47
0
27
2
43
45
-74
-63
-36
8
-16
25
1
4
-36
-21
43
-70
-47
-14
13
14
-7
-28
0
-5
0
7
0
0
-45
-2
-15
-60
23
28
1
-14
1
-52
0
1
2
-1
0
0
19
-41
0
26
0
-5
0
0
0
0
0
0
0
0
0
0
-13
13
-67
-29
-20
-65
-24
0
-9
-21
20
21
-18
35
0
1
8
10
-3
-39
2
33
0
3
-2
9
0
-1
0
0
0
0
3
-16
0
-17
15
53
0
0
0
-1
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
59
31
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
-12
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
57
-6
2
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
80
16
-11
-18
10
22
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-6
-50
-31
57
19
-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
15
13
-1
-10
5
17
-7
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
26
-2
67
7
49
0
-7
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
38
35
53
102
25
44
11
73
31
-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
-20
46
10
-19
-1
24
0
45
-3
39
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
2
16
37
40
-11
13
26
2
-31
15
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
105
0
98
0
75
0
5
0
33
0
-6
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
48
76
41
31
129
53
122
20
-5
11
-91
-30
39
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
47
8
0
-29
18
21
6
-49
-20
-3
20
-34
-7
4
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
19
23
27
25
18
51
-42
-13
29
13
-66
-16
-24
0
54
-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
75
0
-24
7
31
0
-4
0
-14
0
30
0
27
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
68
95
60
80
31
79
-27
10
52
72
20
71
-38
2
-11
-9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
58
0
-3
0
52
0
4
0
55
0
13
0
34
0
-1
0
45
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
14
83
102
55
85
68
-43
17
14
8
-15
34
-24
-25
-40
-5
22
-6
-18
-84
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
64
0
59
0
67
0
45
0
-7
0
19
0
-32
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
74
69
46
64
42
56
52
58
49
7
21
41
55
-10
36
8
59
0
57
-13
-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
104
0
5
-1
27
0
18
3
25
0
57
0
91
0
64
12
73
0
7
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
25
63
-4
78
74
61
-41
10
70
23
47
46
68
39
47
67
25
39
-55
102
-19
19
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
80
0
26
0
60
0
37
0
87
0
46
0
-1
0
0
0
34
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
59
36
25
25
55
30
-19
-6
12
42
0
64
-29
50
-11
-9
-7
46
1
-17
-15
-28
1
-4
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
117
0
21
0
71
0
101
0
40
0
0
0
56
0
38
0
60
0
60
0
-27
0
-21
0
50
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
26
30
5
8
12
79
25
11
32
-24
-96
74
-2
38
-18
52
-24
-17
-39
16
-7
24
18
7
-12
21
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
41
0
17
0
5
0
28
0
15
0
11
0
2
0
47
0
-3
0
35
0
-4
0
13
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
40
96
21
76
27
24
3
37
-6
11
-11
7
-8
7
-7
-6
-6
-9
1
12
-20
-10
-2
-10
-21
55
0
26
-1
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-19
64
-47
45
22
-7
-70
48
-22
-35
-80
-11
-35
0
6
89
-26
0
-52
-1
-33
0
-28
22
-46
0
-57
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
12
2
-19
16
0
1
-14
-6
6
-20
-27
-58
-59
5
-53
41
-17
-15
-9
-37
-32
6
13
-17
-35
127
-41
-119
-31
-12
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
86
0
28
3
51
0
-1
215
12
1
-19
0
99
0
70
0
40
0
-39
0
51
0
-1
0
52
0
1
0
22
0
50
53
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
64
61
54
52
80
23
30
113
57
3
-37
34
31
-38
-50
2
11
5
-6
70
6
-21
-79
-32
20
83
-56
-25
-69
-25
25
85
59
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
29
49
-13
31
87
44
0
-7
3
56
1
33
0
17
0
23
0
-3
0
51
0
71
0
-28
0
40
0
46
0
-2
0
19
-2
40
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
24
73
21
81
43
65
-18
19
19
39
-35
-4
43
8
22
65
-6
51
-8
52
0
32
-4
-32
21
-32
25
-13
11
7
34
10
46
61
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
0
57
0
19
-8
89
0
30
0
4
0
21
0
67
0
-18
0
-3
0
59
0
43
0
10
0
1
0
3
0
39
0
60
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
71
2
38
140
84
37
43
-6
95
-17
1
-13
-3
18
57
-15
53
-26
79
-57
-23
43
-32
-45
29
1
-49
14
2
3
-35
39
47
-15
21
28
9
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
116
67
50
60
70
83
-1
5
84
51
0
22
-6
61
0
-13
31
13
0
4
0
32
0
10
-1
64
0
7
0
-14
0
12
114
47
17
-2
10
46
-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
60
67
46
54
47
49
40
69
67
61
32
38
-29
18
-54
19
56
36
-44
92
-18
29
1
28
40
35
-13
42
-42
11
-7
-46
70
91
-9
-95
30
23
20
-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
35
0
16
0
42
0
-10
0
20
0
0
0
73
0
73
0
110
0
8
0
-8
0
-21
0
12
0
0
0
7
0
0
3
50
0
93
0
-8
0
25
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
99
3
59
14
28
41
-22
4
82
-19
26
4
47
16
0
-40
64
-44
17
-40
145
1
17
9
-27
10
24
9
-12
0
-38
0
11
-6
-51
-50
15
-14
46
-8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
138
0
52
0
71
0
29
0
40
0
4
0
84
0
-1
0
100
0
20
0
101
0
-14
0
40
0
1
0
45
0
2
1
37
0
31
0
45
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
84
33
57
27
62
65
42
-88
30
-23
11
33
103
-18
4
18
31
-14
30
12
-10
-35
34
22
27
-11
44
-4
-12
10
40
62
126
-41
-8
-62
40
44
30
-9
-76
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
10
0
10
0
2
0
3
0
49
0
4
0
27
0
-3
0
5
0
4
0
17
0
-1
0
19
0
-4
0
-1
0
2
0
40
0
34
0
60
0
3
0
-44
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
-14
63
4
73
-25
24
-10
43
1
-30
21
57
67
-2
-21
-7
19
-37
28
52
1
20
2
5
-1
10
15
-5
-24
5
0
15
-36
-3
0
16
-2
29
-10
96
-17
33
1
15
-19
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
118
0
132
0
105
0
43
0
14
0
10
0
34
0
4
0
78
0
13
0
13
0
18
0
61
0
-29
0
36
0
9
-3
19
0
-38
0
1
0
-12
0
-41
0
11
0
-21
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
29
108
-2
68
45
48
54
27
48
28
25
45
-37
37
-63
3
-38
68
-18
64
27
69
-6
58
-61
-3
-7
14
18
4
0
-11
40
74
14
-13
-14
8
-18
-28
59
21
-7
-19
8
77
28
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
56
0
3
0
37
0
9
0
79
0
6
0
57
0
10
0
3
0
0
0
3
0
0
0
-10
0
1
0
16
0
1
0
25
0
0
0
25
0
3
0
116
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
36
32
26
-3
-1
36
1
37
29
37
-1
21
-20
35
35
-30
7
19
2
15
-6
-31
-7
8
6
28
0
1
-10
37
0
-12
48
92
0
-18
0
-52
0
23
12
13
1
29
0
1
0
20
-1
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
0
-13
0
40
0
-16
0
51
0
54
0
40
0
36
0
4
0
0
0
3
0
2
0
45
0
-8
0
60
0
4
0
23
0
22
0
89
0
-13
0
8
0
24
0
-29
0
-16
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
119
4
63
34
121
28
46
0
87
16
-65
12
63
3
-46
33
83
12
-19
-52
-8
-1
7
-19
37
-22
45
8
24
10
27
18
70
8
-13
32
40
2
21
-83
44
16
24
12
74
13
0
-49
-105
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
16
0
-6
0
28
0
1
0
8
0
0
0
2
0
0
0
-16
0
0
0
13
0
0
0
6
0
0
0
0
0
0
0
-3
0
0
0
-9
0
0
0
-38
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
12
36
3
-34
-6
30
6
20
-28
-11
-1
32
-18
11
0
1
16
13
6
-7
4
-14
0
11
16
7
0
-1
1
2
-1
-1
13
0
0
18
4
6
0
-12
12
16
-1
11
0
30
0
-3
13
48
0
4
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
14
0
62
0
-38
0
62
0
-9
0
-6
0
-6
0
69
0
1
0
-16
0
11
0
-2
0
0
0
13
0
6
0
-32
0
-13
0
48
0
35
0
16
0
-1
0
55
0
12
0
21
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
29
127
10
37
-10
40
-15
6
-23
45
6
-17
-18
56
20
13
13
43
-1
-22
-38
27
8
-11
20
19
0
0
12
37
0
-7
-47
5
2
29
-59
60
15
-30
-77
20
1
39
-44
76
-1
8
40
74
0
24
-27
2
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
28
0
0
0
7
0
0
0
-25
0
0
0
3
0
0
0
42
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
4
0
0
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
0
4
1
-4
6
35
-1
26
0
4
-8
33
0
-11
1
-12
0
1
-1
1
0
18
2
-13
0
1
0
12
0
15
-1
-12
0
16
-9
-11
-6
25
0
-13
0
0
1
1
0
0
0
24
0
0
0
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
-18
0
-23
0
-6
0
-12
0
4
0
12
0
3
0
24
0
0
0
11
0
0
0
35
0
-1
0
7
0
-1
0
34
0
0
0
20
0
-2
0
28
0
0
0
12
0
0
0
-3
0
3
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
26
-32
12
12
8
66
0
51
-4
-12
9
-9
2
28
0
18
8
57
30
3
-9
-1
0
-9
-7
16
-1
9
-7
30
0
1
0
18
-1
22
-15
-4
12
3
13
-8
2
7
-6
-6
1
-22
18
12
0
3
0
19
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
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-16
-1
18
1
18
-1
8
1
12
3
-3
-1
-7
0
-1
0
18
0
-9
0
-2
0
-6
0
0
0
-7
0
0
-3
30
2
5
2
41
3
4
-1
-1
0
4
-1
-8
0
2
0
-32
0
0
1
0
0
-1
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
65
2
-4
-6
-18
0
-48
44
37
0
-16
-13
-12
0
-74
0
-21
0
-77
2
-29
0
-9
0
-11
0
-26
0
25
0
-20
226
65
0
13
-1
22
0
-35
-6
40
0
47
0
-2
0
-9
0
-56
0
-10
0
-23
0
-2
0
34
0
-20
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
77
72
71
70
52
78
-78
25
80
16
-16
33
37
12
28
-124
28
23
53
37
46
5
3
-99
31
-17
-26
-39
-112
20
-12
-69
113
45
25
27
11
-5
-35
-8
-32
0
-91
-58
-31
-10
-98
-42
-24
5
-1
-10
-62
45
16
1
-81
-56
-11
-107
-24
-70
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
127
0
76
0
29
0
13
0
-9
0
29
0
23
0
-51
0
78
0
0
0
11
0
17
0
-19
0
-2
0
-11
0
-15
0
114
0
46
0
70
0
-22
0
4
0
-8
0
52
0
1
0
80
0
0
0
9
0
2
0
-11
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
143
46
57
11
131
9
98
39
42
16
38
32
15
27
-50
52
14
13
65
-27
44
-10
64
60
-41
-4
7
-8
-44
0
-21
152
69
57
0
83
26
-30
-92
-5
-46
7
22
9
-33
-6
1
-21
-21
0
-22
-69
21
0
3
-19
-76
0
2
-22
5
0
-3
38
-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
1
146
1
18
0
72
16
-36
-4
4
0
46
0
-37
0
23
0
-43
0
-63
0
-4
0
-3
0
-30
0
38
0
-11
0
-1
-1
110
0
71
0
90
0
-42
-21
27
0
-36
0
-49
0
-35
0
-131
0
53
0
-15
0
-9
0
11
0
-7
0
-34
0
-2
0
14
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
87
64
89
65
79
55
-38
50
8
50
-55
31
-6
22
27
24
48
54
15
-16
-64
12
14
23
28
27
-93
4
26
-42
9
28
121
77
7
21
135
-5
-11
-12
30
48
-41
10
6
-29
-33
-28
7
2
-6
-7
40
12
1
3
-14
-53
-11
37
6
22
-1
7
71
-8
-37
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
40
0
-16
0
56
0
-8
0
60
0
22
0
-39
0
0
0
50
0
2
0
-5
0
3
0
3
0
-1
0
0
0
0
0
20
0
1
0
64
0
-6
0
10
0
-2
0
11
0
-12
0
27
0
0
0
-7
0
0
0
-21
0
0
0
1
0
0
0
-67
0
1
0
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
113
12
50
118
23
5
28
-6
83
28
90
16
-13
57
14
11
38
-7
40
18
-10
2
-13
30
-29
-3
-23
2
7
-2
-16
43
16
-45
105
41
57
4
56
-2
3
-4
25
14
22
1
-27
27
-22
-2
9
7
7
0
-12
54
43
0
12
-8
-45
0
-25
13
49
0
26
-28
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
23
0
31
0
67
0
39
0
-7
0
30
2
-49
0
23
0
-34
0
29
0
12
0
7
0
-10
0
6
0
81
0
10
0
-4
0
22
0
28
0
4
0
-7
0
-15
0
101
0
-9
0
-23
0
-1
0
57
0
7
0
-7
0
0
0
-23
0
-2
0
14
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
108
99
8
73
5
75
-49
68
16
40
71
-20
29
7
5
-16
71
23
-58
38
27
74
-22
71
-15
53
-9
12
13
-95
-20
-18
50
83
-15
122
58
56
-21
-63
25
75
-24
-91
8
9
-3
-22
44
48
13
59
13
-50
6
-35
2
0
-7
-12
-3
21
0
21
-55
33
-28
95
9
34
3
-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
11
0
0
0
3
0
-6
0
-9
0
0
0
-25
0
4
0
12
0
0
0
21
0
6
0
0
0
0
0
-21
0
0
0
34
0
1
0
2
0
-3
0
58
0
2
0
-11
0
-1
0
11
0
1
0
13
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
9
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
36
19
0
71
49
44
1
15
-19
7
2
28
8
-5
-3
-39
-16
34
1
-12
-4
11
3
2
-20
-14
0
2
-11
-53
1
2
8
60
0
15
39
53
-2
54
13
21
-3
6
-9
3
-3
-24
8
17
0
-4
-3
12
-6
-2
10
0
0
3
0
-6
0
2
2
-6
0
-6
-3
-27
-2
39
-6
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
71
0
68
0
90
0
-1
0
-7
0
20
0
-22
0
20
0
7
0
0
0
5
0
2
0
36
0
8
0
4
0
1
0
66
0
-3
0
53
0
3
0
55
0
13
0
-1
0
-2
0
15
0
6
0
-12
0
-1
0
22
0
-1
0
8
0
0
0
5
0
3
0
25
0
-12
0
24
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-1
17
81
-7
9
25
50
20
-29
-18
32
-10
-98
11
19
-18
42
0
12
-3
-4
-19
-76
-10
18
-16
8
-7
-30
1
8
3
15
-23
134
-21
-17
7
61
-77
-8
49
31
-11
-8
13
1
57
8
17
54
2
26
7
39
10
34
0
13
-1
-29
0
-3
14
-2
0
26
16
42
-3
60
-14
58
2
-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
15
0
-1
0
15
0
-3
0
19
0
0
0
2
0
0
0
-8
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
16
0
0
0
12
0
0
0
15
0
-3
0
-6
0
0
0
7
0
-1
0
2
0
0
0
9
0
0
0
0
0
0
0
6
0
11
0
13
0
-10
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
16
3
-1
45
26
-7
1
17
28
13
0
-1
8
1
0
13
2
-5
13
-45
11
-23
9
0
19
-14
-3
18
-4
-8
0
-9
-1
-1
-1
69
38
-40
0
9
12
16
0
2
-11
-24
0
21
-1
36
-1
24
1
5
0
-4
-27
21
0
-4
3
-1
0
0
1
43
0
-2
0
1
6
15
0
-10
0
-10
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
38
0
5
0
25
0
41
0
-8
0
-67
0
6
0
0
0
27
0
0
0
-77
0
0
0
-39
0
-11
0
17
0
-5
0
57
0
25
0
12
0
0
0
29
0
-21
0
-18
0
0
0
0
0
0
0
28
0
0
0
-19
0
1
0
31
0
1
0
7
0
-12
0
59
0
-2
0
-22
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
100
82
55
-18
51
45
70
17
59
18
39
-23
50
-10
-32
-9
32
-4
43
-4
-42
-8
-29
-19
37
-1
-80
-21
-5
-1
33
6
18
7
7
24
8
0
-13
9
40
8
24
-27
14
-62
6
-22
-2
-1
-28
-21
8
1
24
-27
-39
3
8
6
3
0
-33
48
9
4
79
4
55
2
93
30
41
1
46
-6
-4
-2
40
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-4
0
4
0
-8
0
1
0
33
0
16
0
0
0
0
0
0
0
-1
0
-1
0
0
0
1
0
0
0
82
0
-2
0
48
0
0
0
-2
0
-1
0
-4
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
37
1
38
1
29
13
16
-15
58
0
12
-7
40
0
-19
-1
-8
0
3
13
-25
0
-1
1
39
0
-1
-3
18
0
-3
4
46
-2
-38
2
-30
-3
-13
8
6
0
-9
-2
18
0
-22
0
3
0
15
-6
-3
0
0
0
-1
0
0
-2
-16
0
0
0
-24
0
8
1
64
0
2
12
-16
0
-15
0
12
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
19
0
9
0
-14
0
-2
0
0
0
18
0
20
0
4
0
-7
0
0
0
26
0
0
0
6
0
1
0
-2
0
0
0
35
0
-11
0
20
0
11
0
-26
0
3
0
6
0
-3
0
61
0
0
0
3
0
-1
0
4
0
0
0
-6
0
0
0
3
0
12
0
-19
0
3
0
-53
0
-1
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-19
22
73
42
13
28
-23
18
21
-8
9
-2
25
11
-5
19
-18
-4
12
2
-2
0
11
10
-5
-24
-2
1
6
0
9
4
34
15
20
15
29
3
7
6
3
-15
-6
-30
-47
-7
18
16
60
0
-19
3
-9
0
-29
21
-74
-3
37
0
-10
0
0
24
33
4
-9
-2
27
6
4
6
21
0
12
6
-7
0
-24
1
49
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
10
0
0
0
2
0
0
0
9
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
0
2
0
0
0
-1
0
2
0
-9
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
2
-7
0
1
0
16
-18
20
1
13
2
44
0
11
4
-10
0
-4
0
-13
0
0
4
3
0
-8
-1
-20
0
0
-4
28
-3
30
0
24
0
-8
11
18
0
-10
-16
5
0
22
3
24
0
-7
0
-8
0
0
-1
20
0
-1
0
1
0
0
1
27
3
4
0
9
0
-7
0
-13
0
3
0
-28
0
0
0
-13
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
-45
0
22
0
-17
0
1
0
0
0
2
0
22
0
-1
0
-1
0
9
0
-1
0
2
0
0
0
8
0
-1
0
27
0
2
0
21
0
-10
0
44
0
0
0
9
0
4
0
17
0
0
0
-7
0
1
0
2
0
0
0
-1
0
0
0
12
0
-13
0
15
0
1
0
3
0
0
0
-1
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
19
36
-2
-35
6
22
4
8
18
36
2
17
7
-29
0
15
-1
-40
6
0
-1
-10
1
-16
-4
11
0
2
0
7
0
4
-6
-35
7
9
-9
-19
18
23
-6
72
0
-1
7
11
-1
18
35
18
3
18
-10
46
0
-2
-3
17
0
0
-1
-17
0
0
-1
75
-1
40
-6
56
2
5
-6
35
0
0
1
3
1
-57
2
-18
0
-1
6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
0
2
0
9
0
0
0
12
0
0
-1
10
0
6
0
-7
0
0
1
30
0
0
-3
1
0
0
0
3
0
0
0
-10
0
-6
0
-9
0
-1
0
-12
0
-7
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
30
0
-3
0
0
0
4
0
4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
1
0
0
0
13
0
0
0
6
0
0
0
11
0
0
0
-1
0
1
0
4
0
0
0
0
0
0
0
15
0
-6
0
3
0
3
0
-9
0
0
0
4
0
0
0
6
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
30
-36
-1
36
1
-39
20
-14
1
-13
1
-8
-6
-8
8
4
1
6
-6
2
0
2
15
13
0
2
2
-3
0
2
13
17
2
14
-1
39
-3
-2
38
10
0
-11
2
-3
0
-8
13
6
-7
-21
-7
-37
0
2
0
-22
0
2
0
9
0
0
-3
15
-1
6
2
9
-1
12
1
-27
0
3
0
22
0
-3
-1
27
0
7
0
4
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-8
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
-12
0
7
0
-1
-3
18
0
0
2
2
0
0
0
-1
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
-4
18
-1
7
0
15
0
10
11
-1
0
0
0
3
0
0
0
-13
0
-3
0
8
0
0
0
-2
0
0
0
-1
0
0
0
7
0
-10
0
-2
0
0
1
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
93
0
6
2
72
0
34
3
94
0
46
0
30
0
-10
-1
117
0
62
0
37
0
-27
0
-17
0
-51
0
4
0
3
2
55
0
-7
6
-6
0
0
6
43
0
-4
0
-33
0
0
0
118
0
0
0
1
0
0
0
62
0
0
0
3
0
0
-11
-20
0
4
0
14
0
1
0
-77
0
-2
0
-15
0
1
0
40
0
-1
0
-15
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
70
92
105
179
7
79
5
22
85
7
6
67
52
34
27
52
20
36
60
75
2
49
41
-13
42
14
-2
-43
53
9
16
-10
98
55
47
64
-19
48
26
39
5
37
12
74
-48
-3
11
39
-21
2
4
-6
62
79
0
-1
-20
-18
-3
-11
-3
-28
0
-3
31
19
7
12
0
6
6
-31
-71
-24
4
-85
19
-41
0
-16
-107
-56
24
10
-28
-59
0
1
7
-9
0
0
2
1
0
-6
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
-1
0
-13
0
-6
0
37
0
4
0
-17
0
-2
0
36
0
0
0
15
0
-1
0
15
0
0
0
53
0
9
0
-20
0
0
0
-4
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
-7
0
0
0
-3
0
0
0
-1
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
0
51
13
-8
-4
79
45
-13
1
15
2
-12
-2
8
-1
47
-9
-28
11
11
1
50
-4
29
2
2
32
-16
0
7
2
78
0
11
-1
13
-2
-38
-3
21
1
26
-3
23
2
2
-1
49
0
0
2
-39
0
-1
-1
29
0
-1
0
-8
0
1
-6
-16
0
90
1
-14
0
44
-1
-4
0
-1
4
-43
0
0
0
1
0
-2
2
-30
0
1
1
-6
0
0
0
-3
0
0
1
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
33
0
34
0
107
0
47
0
-13
0
36
0
-9
0
-34
0
-9
0
53
0
7
0
13
0
13
0
21
0
0
0
12
0
-2
0
-15
0
5
0
48
0
6
0
13
0
-1
0
12
0
4
0
1
0
0
0
11
0
1
0
2
0
0
0
-16
0
3
0
7
0
-2
0
-34
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
-8
0
0
0
3
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
-14
105
47
68
-13
77
-8
57
-49
4
-10
33
44
-3
10
10
6
-9
29
69
71
68
9
116
1
16
-9
-4
-19
-13
1
-3
0
13
-33
-3
57
116
4
80
-34
41
-8
26
-19
10
0
-19
4
85
-2
44
0
46
0
0
16
13
-6
25
3
-9
1
-4
-1
15
15
67
-42
-41
-1
-50
-21
37
1
-76
9
-53
0
-16
7
-29
0
29
-3
-45
0
0
-8
-44
0
-11
-2
7
0
1
4
-5
0
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
0
0
0
0
0
44
0
1
0
0
0
3
0
-10
0
-3
0
35
0
0
0
4
0
1
0
7
0
7
0
11
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-7
0
2
0
2
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-37
1
33
4
57
1
15
-18
19
6
28
12
85
-2
47
-40
7
-1
19
22
8
1
-13
-25
-9
-1
17
16
14
0
0
0
52
-9
18
0
25
0
14
-3
-1
-1
-21
-1
25
0
2
1
39
0
45
2
30
0
0
0
-33
0
8
0
0
0
0
0
53
0
-3
-3
51
0
-18
0
-3
0
0
0
-19
0
-30
0
7
0
4
0
-2
0
4
-9
9
0
0
0
0
0
0
-1
1
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-3
0
22
0
33
0
42
0
-13
0
9
0
-15
0
-15
0
0
0
34
0
12
0
32
0
-1
0
-11
0
0
0
19
0
1
0
32
0
2
0
-10
0
0
0
10
0
0
0
36
0
0
0
3
0
0
0
2
0
0
0
-1
0
0
0
8
0
0
0
-29
0
1
0
0
0
0
0
-6
0
11
0
-9
0
0
0
-1
0
0
0
-1
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
18
16
8
48
7
31
12
27
30
48
1
14
6
5
18
-27
32
-12
-3
-7
-8
60
9
41
3
-9
6
-9
35
33
22
-3
-14
30
1
35
29
50
0
43
61
16
-3
11
-7
-7
0
20
20
7
-2
11
-7
41
0
-3
0
-7
0
-2
0
-27
0
0
12
-3
0
-5
30
30
-4
-3
19
-8
0
18
-8
-50
0
-16
-8
7
-1
-2
1
-53
0
1
-9
0
0
0
0
-38
0
0
-7
59
0
0
1
9
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
1
0
0
0
-1
0
0
0
22
0
0
0
3
0
1
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
6
0
12
0
22
-1
10
0
-2
2
0
0
1
0
3
0
3
2
3
0
13
0
-4
0
0
0
2
0
0
0
-2
0
0
1
-3
0
36
0
0
0
0
-7
-1
0
2
0
-2
0
0
0
-10
0
3
0
8
0
0
0
0
0
0
0
26
0
3
1
8
0
-13
0
3
0
0
0
12
0
0
0
-12
0
0
0
-16
0
0
-1
-3
0
0
0
0
0
0
0
-3
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
4
0
4
0
1
0
6
0
0
0
9
0
-20
0
-2
0
3
0
27
0
0
0
2
0
0
0
18
0
1
0
1
0
0
0
4
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
4
0
0
0
1
0
0
0
11
0
1
0
28
0
0
0
4
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
43
-2
16
-25
-23
3
-7
-1
44
0
10
1
-23
0
-10
-12
76
2
1
17
42
1
2
-17
23
-1
19
3
30
0
-6
6
89
0
16
2
40
0
-16
6
22
0
7
-3
-22
0
-1
6
13
2
3
0
-16
0
-3
-7
-16
0
-1
1
18
0
0
0
-12
1
0
-6
30
2
-4
-11
11
0
15
0
-28
0
-2
-3
6
-1
10
4
-32
0
3
0
-11
0
0
0
8
0
0
0
4
0
-1
0
-7
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
1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
8
0
0
0
2
0
0
0
-3
0
2
21
8
0
6
-1
-6
0
0
0
-6
0
0
0
-1
0
0
0
9
0
0
0
0
0
0
0
-2
0
0
0
9
0
0
-1
-15
0
0
0
0
0
0
0
-10
0
0
0
1
0
0
0
-19
0
0
0
4
0
1
-6
17
0
0
0
2
0
0
0
28
0
0
0
1
0
0
0
1
0
0
0
0
0
0
1
-8
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
15
0
0
0
18
0
-1
0
18
0
3
0
38
0
8
0
22
0
0
0
48
0
0
0
24
0
0
0
0
0
0
0
23
0
0
0
-38
0
1
0
-6
0
0
0
-9
0
0
0
-1
0
0
0
7
0
1
0
0
0
0
0
-6
0
0
0
37
0
0
0
1
0
0
0
13
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-42
0
33
1
27
0
33
1
-2
-7
13
3
-12
7
-33
8
1
0
12
10
-42
0
26
-20
-15
0
3
0
3
0
9
4
11
4
21
13
-5
-2
24
-20
16
-7
-3
1
0
2
0
0
-1
0
0
2
16
0
-32
-12
10
-1
0
0
0
0
0
0
-9
0
-7
0
-23
1
19
-11
-14
0
7
-2
49
0
6
3
-2
0
0
0
24
0
1
1
7
6
0
0
-1
0
0
24
30
0
4
0
-18
0
3
0
19
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
48
0
0
2
-1
0
0
3
3
0
0
-3
8
0
0
1
19
0
1
0
-4
0
0
1
0
0
0
0
0
0
0
0
12
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
-54
0
-1
0
1
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
1
0
-2
0
0
0
0
0
10
0
0
0
-3
0
0
0
15
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
13
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
0
9
1
22
0
11
10
13
1
28
0
-21
1
-22
-4
3
0
-1
0
10
0
0
-1
13
0
-3
-1
-7
0
2
7
13
1
17
0
1
0
1
7
30
0
1
0
3
0
6
1
-1
0
-2
0
4
0
-1
3
-9
0
1
0
-1
0
0
-6
6
0
10
0
4
0
-2
-2
-16
0
-7
0
13
0
1
2
-6
0
0
0
-2
0
0
-1
-1
0
0
0
-2
0
0
0
10
0
0
0
0
0
1
0
10
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
8
0
0
0
0
0
0
0
8
0
0
0
2
0
0
-1
1
0
2
0
0
0
0
-1
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
0
1
0
1
0
0
0
19
0
-3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
-48
0
-1
0
-6
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
15
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
20
0
-4
13
10
0
-3
-2
2
-1
0
1
18
0
6
0
2
0
0
33
13
0
6
0
19
0
0
0
-2
0
0
1
3
0
0
0
-9
0
-8
0
12
0
0
0
1
0
0
0
-4
0
0
0
-11
0
0
0
11
0
0
0
0
0
0
1
19
0
0
0
9
0
-2
-1
32
0
0
0
-9
0
0
4
-10
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
-1
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
18
0
6
0
-1
2
-8
0
0
0
2
0
-1
-2
-3
0
0
0
-4
0
0
0
10
0
0
0
0
0
0
1
-2
0
-2
0
1
0
6
0
-10
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
0
2
0
0
-1
13
0
-2
1
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
47
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
25
19
9
-14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-7
-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
33
29
54
22
-13
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
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
6
-7
1
-4
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
14
-7
21
8
-8
-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
-13
83
0
-18
2
18
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
50
32
82
-17
21
23
-22
0
18
-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
1
17
0
-8
12
8
0
9
0
-25
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
13
18
42
-11
7
-3
-24
8
-7
-2
25
-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
33
0
29
0
-16
0
31
0
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
44
18
49
7
25
17
7
21
3
17
-71
17
24
4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
50
0
18
-10
0
4
27
14
-1
8
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
49
-13
21
22
6
10
19
15
11
50
6
13
30
-21
39
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
1
33
0
20
0
-7
0
19
0
33
0
-12
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
61
60
14
38
35
13
-25
17
99
9
-62
40
29
-3
-41
-2
44
-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
-1
5
0
6
0
50
0
-34
0
9
0
44
0
12
0
-11
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
13
-6
-6
66
16
27
-16
11
14
8
12
-15
10
-25
-3
-26
10
-13
-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
30
0
54
0
83
0
10
0
-2
0
6
0
12
0
-50
0
24
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
47
24
60
69
40
52
33
35
38
59
43
-7
36
-9
13
85
-4
-63
61
-15
-4
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
36
0
8
-4
7
0
33
0
45
0
18
13
45
0
-13
-4
-8
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
85
17
-13
-12
9
19
34
24
-4
4
-11
22
-11
13
-4
6
-13
-11
-23
38
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
12
0
19
0
13
0
48
0
103
0
70
0
46
0
14
0
26
0
55
0
11
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
46
87
47
-1
29
-17
76
21
50
18
79
14
25
-42
-18
-10
37
38
54
9
12
6
-12
-52
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
4
56
0
6
0
24
0
58
0
53
0
18
0
22
0
51
0
28
0
31
0
36
0
-50
0
50
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
28
32
10
10
71
52
60
17
39
-10
35
-3
46
16
5
28
-2
-13
-5
9
23
-10
15
10
2
-7
-55
-27
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
83
0
75
0
49
0
36
0
43
0
58
0
64
0
51
0
25
0
44
0
36
0
3
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
78
47
26
31
44
53
33
6
26
53
-21
67
70
44
21
29
45
2
32
9
-18
12
58
-2
-8
54
-30
42
-44
-22
-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
57
-30
0
40
2
-6
2
9
-7
43
0
-4
-2
-18
0
-35
-22
-65
0
-96
0
-46
0
-98
10
-10
0
-84
0
5
0
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
19
14
11
-28
11
16
5
-31
-11
3
28
-26
-12
-14
-11
-11
-38
4
6
-47
-45
-32
-15
-9
-47
-25
8
-31
-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
1
44
0
-30
0
79
0
30
6
-16
0
-28
0
-8
0
39
0
-12
0
11
0
-17
0
-27
0
-3
0
31
0
23
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-19
40
23
33
68
-9
20
39
11
36
16
11
39
-39
-22
20
2
29
5
23
15
11
-10
55
-57
-23
-13
-41
45
-39
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
-2
23
0
13
5
1
0
-16
0
-5
0
-3
0
20
0
38
0
22
0
-33
0
-7
0
-23
0
55
0
10
0
36
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-21
32
4
88
26
28
16
24
3
36
41
-29
-16
29
1
5
9
9
-14
23
-2
-20
2
-34
-18
-4
3
-13
11
23
0
-18
-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
38
0
-7
0
62
0
44
-2
75
0
27
0
87
0
23
0
53
0
-14
0
23
0
84
0
4
0
-54
0
13
0
-6
0
23
0
3
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
15
73
6
58
28
47
35
49
9
0
2
53
47
-22
36
10
28
15
24
57
46
54
14
5
7
48
-32
-36
-25
-36
-42
48
44
26
16
-4
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
-11
32
1
-10
-9
6
0
13
-18
-8
0
68
-1
37
0
45
14
-28
0
-22
1
-6
0
8
-2
34
0
20
0
17
0
23
8
22
-2
-48
6
-18
-4
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
24
5
21
52
23
-2
34
-1
8
-9
45
20
20
17
24
9
4
-33
1
19
23
-33
-18
-38
7
-74
27
-15
20
-7
-18
13
-9
11
54
-2
7
-29
-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
7
0
7
0
-3
0
-29
0
119
0
-7
0
32
0
57
0
15
0
32
0
52
0
-10
0
52
0
22
0
30
0
-8
0
-40
0
22
0
6
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
74
37
12
25
76
42
-7
49
68
33
-39
42
45
17
27
4
43
36
-26
12
56
28
50
-5
-34
10
48
-15
2
13
-62
-4
44
54
-4
40
-26
44
-27
39
-22
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
22
0
60
0
29
0
31
0
25
0
20
0
36
0
13
0
35
0
53
0
15
0
-63
0
16
0
40
0
-1
0
-34
0
7
0
48
0
13
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
66
2
45
30
46
33
23
22
2
28
11
47
53
-11
28
18
2
22
-7
18
10
60
44
7
47
15
5
-16
-75
44
41
45
67
-44
7
26
-24
12
1
1
-44
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
17
0
26
0
34
0
66
0
-1
0
-10
0
5
0
-15
0
38
0
3
0
24
0
42
0
19
0
6
0
-26
0
68
0
53
0
97
0
-5
0
-26
0
-1
0
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
74
23
28
53
39
-7
110
50
33
-6
38
38
48
-34
75
17
-3
52
49
42
20
15
80
15
37
20
30
-56
9
-23
-42
-11
43
-19
4
-29
11
-8
64
-9
10
-2
-1
-17
-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
-3
29
0
35
0
26
0
-4
0
22
0
15
0
36
0
5
0
-2
0
6
0
5
0
-9
0
41
0
-43
0
71
0
1
0
75
0
24
0
-6
0
-78
0
21
0
-5
0
34
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
26
94
32
41
23
47
25
4
53
85
65
66
58
-11
16
26
50
-6
60
26
50
-48
16
23
20
-15
8
21
-14
52
55
208
27
64
20
4
50
10
11
15
0
13
6
20
20
13
17
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
66
0
-5
0
31
0
-7
0
34
0
9
0
-17
0
-1
0
56
0
-1
0
24
0
6
0
56
0
-14
0
5
0
0
0
29
0
3
0
65
0
0
0
13
0
-12
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
112
8
30
56
56
44
22
20
37
-16
29
32
42
52
26
-4
0
-1
25
55
14
-5
10
0
24
-2
-14
48
14
18
-37
59
24
0
1
1
20
-3
3
5
13
4
22
24
-22
-1
6
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
43
0
17
0
50
0
31
0
41
0
28
0
108
0
66
0
-24
0
67
0
-28
0
-37
0
44
0
-29
0
104
0
-32
0
11
0
34
0
77
0
-6
0
40
0
5
0
-11
0
-26
0
-14
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
62
-16
45
18
51
88
64
30
39
-6
20
6
20
55
-2
37
39
34
-9
-69
62
63
30
31
39
-22
37
2
7
14
3
51
43
41
33
3
36
1
23
-12
3
-32
33
-22
-43
38
26
23
-5
-48
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
101
0
0
0
44
0
35
0
27
0
61
0
10
0
7
0
-25
0
22
0
6
0
0
0
85
0
9
0
-10
0
12
0
-19
0
0
0
-9
0
0
0
-11
0
1
0
73
0
-2
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
85
50
9
23
35
40
23
32
-13
1
9
42
5
35
7
26
80
20
25
19
99
43
-22
19
54
-7
-26
38
72
14
4
-39
-22
63
0
24
9
9
0
-29
18
-1
-7
-4
3
52
0
-107
32
32
7
2
-20
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
0
98
0
45
0
13
0
80
0
31
0
55
0
14
0
48
0
92
0
30
0
44
0
42
0
41
0
-4
0
10
0
68
0
-59
0
111
0
77
0
62
0
24
0
87
0
23
0
27
0
-23
0
-12
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
43
32
30
29
20
50
52
59
48
55
-10
-14
10
13
67
39
33
41
-16
10
-8
31
-67
40
27
2
-11
64
5
21
2
24
44
57
29
49
1
45
-4
45
-23
-8
9
-32
-38
32
66
-20
28
43
24
13
-67
24
11
-14
-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
-35
0
2
0
28
0
46
0
-25
0
-1
0
5
0
4
0
30
0
-3
0
63
0
-24
0
32
0
0
0
29
0
-4
0
46
0
0
0
33
0
-1
0
35
0
0
0
-20
0
0
0
-17
0
2
0
-11
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
81
37
4
79
63
20
47
83
65
40
2
79
56
38
9
5
29
9
-8
85
71
19
35
24
23
14
0
-26
-64
38
5
-19
-11
24
0
-13
-8
60
-17
113
45
-64
0
-8
5
13
0
1
12
-36
0
42
3
-26
0
-24
-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
69
0
8
0
30
0
31
0
65
0
44
0
66
0
17
0
110
0
3
0
77
0
-5
0
99
0
-18
0
19
0
-38
0
57
0
24
0
14
0
34
0
42
0
10
0
35
0
1
0
52
0
8
0
13
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
77
78
108
5
10
25
-18
55
8
9
53
50
72
85
19
48
47
27
51
46
69
22
65
5
67
18
-19
32
42
57
50
-24
57
37
-30
24
38
-24
33
20
35
13
-24
-2
-10
21
14
-5
9
13
-3
34
3
46
-20
50
29
28
11
23
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
63
0
6
0
76
0
-18
0
72
0
0
0
10
0
3
0
37
0
4
0
-12
0
9
0
17
0
0
0
-50
0
2
0
3
0
0
0
-19
0
-1
0
25
0
0
0
1
0
0
0
-25
0
-1
0
-26
0
0
0
32
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
63
-36
63
5
32
-5
19
6
52
-12
48
-13
-45
16
-3
5
36
51
-16
4
58
67
9
25
9
25
47
2
15
2
60
2
88
13
43
4
41
16
51
4
58
-37
75
-3
-64
41
-112
0
-40
-6
29
0
-62
-40
54
-2
-13
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
4
16
0
-19
-1
55
0
-14
2
0
0
-14
-2
-3
0
-12
0
-10
0
-32
0
1
0
-41
0
13
0
-61
0
-18
0
-109
-16
-33
0
-51
0
-6
0
-32
-3
-6
0
-7
0
-33
0
20
0
-11
0
-60
0
-33
0
-18
0
-25
0
-75
0
-15
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
30
-11
-6
12
1
36
7
50
10
-68
-22
19
-16
-40
-3
25
9
-1
-41
-15
-29
21
-28
36
-8
-56
-4
-31
3
-56
-65
-4
21
18
-23
34
6
45
-55
-24
11
-116
-38
-68
-35
-49
-39
0
-46
38
-41
-53
-25
61
-60
-40
-41
-36
-44
-61
-73
-18
-50
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
51
0
75
0
86
0
50
0
10
0
29
0
41
0
31
0
-3
0
-15
0
19
0
-81
0
-45
0
6
0
7
0
65
0
34
0
12
0
5
0
-27
0
-14
0
8
0
-18
0
48
0
-2
0
14
0
5
0
4
0
0
0
49
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
0
0
0
0
0
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
54
16
94
64
29
91
54
14
49
-4
1
32
53
27
12
-11
22
-2
4
62
20
-35
30
19
-15
-4
-55
-70
34
4
-58
82
43
38
59
48
10
14
-42
-22
37
10
-35
13
-6
-7
-31
-21
-33
0
30
-83
1
-2
-45
-1
-29
3
-15
15
-49
1
6
98
-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
28
0
-15
0
33
15
-25
0
20
0
51
0
7
0
-13
0
28
0
30
0
-2
0
25
0
13
0
-28
0
16
0
-18
0
46
0
42
-2
74
0
-5
-7
38
0
-67
0
22
0
5
0
1
0
-57
0
-32
0
-40
0
44
0
-52
0
-34
0
-21
0
62
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
42
61
12
26
62
26
0
37
35
42
59
-5
22
16
77
26
16
-2
12
-8
44
16
65
10
-8
25
1
-10
-38
-41
3
-16
0
27
69
12
1
37
-21
-9
-4
14
-39
-20
-20
-31
-55
-34
28
9
-64
-13
-6
-26
-5
0
-34
-33
-35
-14
-62
-37
-20
-22
53
-4
47
19
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
33
0
4
0
72
0
9
0
-21
0
6
0
48
0
-1
0
42
0
25
0
-19
0
66
0
13
0
13
0
-25
0
-3
0
51
0
-13
0
80
0
-7
0
-1
0
-17
0
12
0
0
0
-36
0
0
0
-38
0
1
0
7
0
-4
0
-28
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
81
35
51
56
142
28
38
48
21
18
24
21
-6
19
42
6
60
68
-14
20
50
41
6
-3
-21
54
-45
2
3
-5
-18
-17
75
31
-6
-7
36
4
1
58
17
42
-5
-32
12
4
2
16
-19
39
-26
7
36
-29
-3
-23
-25
-46
3
52
-8
-56
-4
-55
17
32
1
-8
-4
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
66
0
-19
0
22
0
17
0
40
0
53
0
67
0
24
8
38
0
20
0
14
0
11
0
60
0
25
0
65
0
-27
0
83
0
4
0
30
0
40
0
24
0
-40
0
40
0
-30
0
2
0
-15
0
3
0
-83
0
-11
0
29
0
-46
0
-15
0
89
0
-59
0
41
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
73
52
60
40
42
39
-21
18
58
49
13
42
27
16
-9
13
14
61
14
-8
19
28
-10
-19
20
27
-43
-5
16
38
-57
13
97
41
10
29
35
15
-3
25
22
33
-68
21
-5
27
-23
-28
-18
-19
34
15
13
-25
43
-23
47
-30
-17
-5
33
-10
-38
-48
28
13
-63
-14
20
23
7
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
31
0
1
0
-2
0
-3
0
-5
0
4
0
-11
0
11
0
22
0
32
0
92
0
20
0
17
0
0
0
-37
0
-7
0
22
0
2
0
65
0
-4
0
52
0
2
0
-20
0
0
0
-36
0
1
0
38
0
0
0
20
0
1
0
-37
0
2
0
0
0
12
0
-7
0
-19
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
112
52
2
43
69
48
-9
11
-6
59
2
27
-19
22
-4
1
-47
56
10
69
62
32
54
-55
-11
-13
2
-6
-32
-14
13
-81
39
70
-3
-40
50
18
-6
9
65
11
-4
50
3
17
-11
-59
40
-6
-1
8
20
28
-56
-28
42
12
-2
22
-25
-46
3
-10
11
-6
0
13
18
25
-1
42
-4
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
61
0
61
0
107
0
38
0
98
0
26
0
18
0
58
0
37
0
8
0
-22
0
12
0
8
0
5
0
34
0
33
0
20
0
46
0
51
0
-12
0
60
0
28
0
-32
0
1
0
50
0
43
0
17
0
-26
0
6
0
-25
0
29
0
-6
0
6
0
-4
0
-5
0
-19
0
-54
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
61
49
8
35
68
28
128
72
35
-11
40
25
31
10
22
47
3
32
17
-5
44
-90
-18
32
31
-1
-10
-38
-4
-13
-11
109
60
3
72
-24
12
17
32
38
2
73
-6
-69
-2
22
43
18
0
-30
-37
-10
25
44
6
16
-24
-10
-8
-8
-45
-30
37
44
51
23
1
70
66
-18
35
-32
-4
4
-29
-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
-7
0
1
0
56
0
-4
0
68
0
0
0
7
0
0
0
-14
0
6
0
-11
0
0
0
10
0
3
0
41
0
0
0
36
0
-3
0
7
0
-1
0
72
0
-16
0
14
0
1
0
-15
0
-9
0
-8
0
-1
0
11
0
1
0
1
0
0
0
6
0
0
0
3
0
-8
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
123
63
1
80
41
63
4
59
53
19
13
64
46
-24
2
-33
26
20
22
-11
53
31
-9
40
44
26
5
-41
-11
1
-6
16
25
107
-6
82
87
30
-2
49
32
43
18
18
-30
-12
0
59
22
-23
-3
42
-24
-20
0
-10
-99
20
-2
-39
24
39
0
51
16
115
-3
59
0
27
19
24
-1
-3
0
-34
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
9
-1
68
0
9
0
25
0
-42
0
48
0
4
0
-1
0
3
0
-20
0
9
0
0
0
-6
0
45
0
-12
0
28
0
72
0
48
0
14
0
45
0
-18
0
-14
0
18
0
5
0
-76
0
29
0
-11
0
-27
0
23
0
22
0
-1
0
-19
0
-6
0
-25
0
-27
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
73
59
40
96
52
64
43
50
32
56
53
37
38
30
-15
29
71
28
-23
-41
-10
37
-45
-31
11
-1
-83
-26
-11
43
7
-15
83
113
62
42
-24
1
-39
-1
69
27
61
51
16
-1
-50
-5
28
66
-22
-50
-14
-1
18
64
-41
-18
-2
20
-53
-20
-37
-21
56
31
15
24
-23
28
-26
-56
26
20
2
59
-20
-6
-8
-20
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
12
0
27
0
1
0
82
0
9
0
107
0
11
0
-24
0
-2
0
18
0
-6
0
37
0
0
0
5
0
18
0
91
0
-13
0
76
0
-4
0
-15
0
-2
0
68
0
9
0
-8
0
-6
0
-6
0
6
0
-24
0
0
0
42
0
0
0
2
0
0
0
0
0
0
0
8
0
2
0
-13
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
55
6
122
-5
148
20
54
22
42
-3
47
38
36
-5
31
63
22
0
-33
62
-17
2
47
111
49
8
48
9
39
3
6
20
59
-2
-48
-21
4
-1
-47
13
18
1
23
3
88
0
-49
17
-39
0
20
-4
23
0
-20
-1
-18
0
-3
-11
-53
1
-25
0
33
0
26
2
-51
-6
-48
9
52
0
-41
-15
16
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
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
10
0
33
0
50
0
119
0
81
0
45
0
50
0
4
0
13
0
24
0
-30
0
54
0
36
0
76
0
-73
0
59
0
-28
0
80
0
55
0
46
0
18
0
65
0
-59
0
72
0
13
0
39
0
-8
0
60
0
41
0
-22
0
18
0
-1
0
20
0
0
0
27
0
-74
0
3
0
23
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
44
97
48
29
17
44
20
54
69
67
13
-6
44
38
41
8
20
25
68
17
6
58
12
-26
52
7
41
-15
6
52
-22
50
111
42
-17
49
37
62
30
33
31
38
-42
28
-61
-15
9
50
-39
22
-40
54
10
23
0
-50
-86
16
30
-8
-53
-38
15
-9
77
61
7
41
-5
20
36
1
-42
1
0
-1
42
-10
3
-108
-35
7
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
3
0
0
0
10
0
1
0
54
0
-1
0
52
0
-1
0
63
0
0
0
-2
0
0
0
24
0
-18
0
32
0
-1
0
18
0
-6
0
0
0
1
0
13
0
15
0
14
0
-13
0
19
0
-1
0
1
0
0
0
48
0
0
0
23
0
0
0
1
0
0
0
0
0
0
0
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
80
10
25
0
44
-1
22
-7
62
4
79
0
75
3
2
11
21
-1
15
2
21
0
0
52
3
-28
14
-22
-43
1
13
1
58
-6
53
0
29
0
71
59
13
-2
17
11
-15
-1
45
38
-53
0
-46
-1
11
0
-16
-6
-7
0
39
2
-10
1
0
4
28
10
3
1
-1
-1
-36
7
-3
2
28
0
23
0
24
0
-43
0
-58
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-5
0
85
0
-27
0
1
0
-6
0
11
0
63
0
-9
0
-23
0
27
0
16
0
20
0
25
0
70
0
81
0
51
0
37
0
59
0
-48
0
78
0
-9
0
-5
0
59
0
68
0
-20
0
-11
0
-5
0
36
0
0
0
-13
0
-6
0
-18
0
-49
0
106
0
29
0
-2
0
0
0
-20
0
0
0
7
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
-5
63
3
-32
88
30
92
55
-1
82
21
97
16
43
45
1
22
-25
45
18
-59
40
47
-21
49
50
-24
19
4
61
17
-16
99
65
15
23
-22
21
-19
57
72
56
4
93
44
-22
-29
41
14
-22
1
-21
-83
1
36
31
-86
16
0
4
-18
-12
13
38
-19
59
-3
38
85
41
4
-27
-32
35
3
12
0
31
6
-57
17
2
-1
106
3
-2
-2
-60
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
-15
0
-1
0
-32
0
16
0
48
0
-2
0
3
0
0
0
0
0
6
0
100
0
-8
0
46
0
3
0
23
0
13
0
-2
0
0
0
-8
0
0
0
-13
0
-4
0
23
0
0
0
6
0
0
0
11
0
0
0
-16
0
0
0
-9
0
-2
0
-1
0
0
0
12
0
0
0
2
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
58
1
-13
32
12
4
40
2
75
0
7
3
17
-1
36
22
19
1
30
10
-12
-7
45
32
67
-9
-1
10
12
0
-40
34
21
0
22
21
44
0
45
1
73
0
35
0
32
0
-98
8
-32
0
-18
-32
27
-1
-1
16
-31
0
19
-28
-28
-25
-4
28
7
0
12
-1
59
0
-37
-3
24
0
14
3
-36
0
24
0
-2
0
-13
-1
38
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
72
0
41
0
21
0
4
0
82
0
33
0
114
0
17
0
108
0
-4
0
-22
0
-26
0
17
0
13
0
32
0
-36
0
33
0
-14
0
19
0
1
0
-2
0
-1
0
142
0
-3
0
19
0
0
0
-5
0
-5
0
22
0
-4
0
40
0
0
0
2
0
-6
0
-15
0
0
0
19
0
0
0
39
0
-11
0
-9
0
-9
0
15
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
58
120
81
3
-8
53
-3
-24
39
36
64
22
15
0
-6
-28
60
19
-4
0
6
14
-21
140
24
19
-20
43
-4
35
-21
40
63
74
45
70
43
51
-24
31
48
16
15
56
8
4
1
19
-11
7
-32
-17
4
-7
2
73
51
-28
-18
10
-5
32
-4
99
79
23
9
25
8
33
-3
-17
37
14
0
20
23
22
0
34
64
62
0
25
19
-37
0
-15
-11
-34
-3
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
16
0
-2
0
0
0
2
0
54
0
0
0
-2
0
0
0
38
0
6
0
35
0
1
0
-30
0
0
0
12
0
0
0
87
0
2
0
14
0
0
0
4
0
-7
0
3
0
0
0
11
0
0
0
-35
0
1
0
5
0
0
0
3
0
0
0
-6
0
0
0
6
0
0
0
4
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
25
108
2
-13
22
39
4
32
14
49
1
2
9
59
3
-24
-7
26
-8
6
48
55
-1
-42
13
7
1
-16
8
30
0
18
42
48
-12
-45
-50
31
0
32
68
9
-1
-36
9
97
0
50
1
-23
-4
-2
-3
-6
0
20
-15
0
0
-37
4
-4
0
-57
-4
11
-9
-37
0
7
0
25
4
40
0
7
0
-16
0
2
-2
-47
0
1
0
7
0
-15
2
28
0
-4
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
25
0
43
0
45
2
27
0
5
0
41
0
-11
-1
25
0
110
0
55
0
-41
0
62
0
-25
0
39
0
-21
0
44
0
3
1
18
0
2
3
-3
0
2
0
14
0
-2
0
-36
0
-1
0
-27
0
1
0
53
0
1
0
-2
0
4
-6
-11
0
-1
0
38
0
-3
0
-72
0
-1
0
4
0
15
0
-14
0
-2
0
-56
0
0
0
-6
0
-6
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
86
32
53
11
17
57
5
47
34
54
40
58
37
42
71
24
28
47
44
57
40
15
12
0
40
36
2
17
-5
33
10
-18
35
85
32
8
11
42
17
28
0
3
18
50
-11
-10
35
-9
20
11
12
-59
71
33
-11
-14
-40
1
-12
11
-40
-14
6
-51
8
-7
-7
41
-26
32
-1
-32
-97
-45
7
-19
37
11
-1
-62
-45
-31
19
-15
-27
-48
-4
10
2
-29
-1
10
45
-16
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
0
0
0
0
0
0
0
74
0
7
0
11
0
-1
0
48
0
13
0
5
0
2
0
25
0
1
0
76
0
0
0
9
0
-1
0
154
0
33
0
-7
0
0
0
4
0
0
0
-2
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
0
-18
0
0
0
8
0
0
0
38
0
0
0
0
0
0
0
19
0
0
0
1
0
0
0
-7
0
0
0
-4
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
48
-2
32
14
84
-3
120
41
19
2
65
-38
42
-9
48
76
33
-38
-43
38
13
0
39
45
32
3
8
25
-5
0
3
6
36
2
7
-1
15
-6
-3
-6
71
-4
-49
-11
63
6
0
-1
17
-1
-33
17
-34
0
5
-12
25
0
-10
-4
-35
0
13
-8
25
0
83
0
33
0
6
-2
-41
0
2
10
-51
0
1
19
-49
0
2
7
-1
0
7
6
-7
0
18
1
-93
0
-20
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
45
0
51
0
34
0
61
0
39
0
5
0
44
0
-28
0
33
0
40
0
58
0
26
0
25
0
12
0
58
0
4
0
75
0
2
0
-28
0
-1
0
61
0
8
0
28
0
-1
0
-25
0
3
0
3
0
0
0
-38
0
-6
0
-26
0
1
0
-22
0
3
0
0
0
1
0
-10
0
-2
0
29
0
1
0
-85
0
0
0
-1
0
0
0
-8
0
1
0
11
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
104
76
58
40
119
43
9
65
48
48
29
55
46
38
1
63
45
37
77
16
63
14
-44
96
6
63
19
2
-57
22
-11
51
-22
46
-8
34
35
70
11
18
-31
46
-7
44
-30
-24
3
-12
75
5
-1
82
3
58
0
67
-65
2
-13
34
-51
24
2
-29
38
72
-4
43
24
8
4
46
0
-17
6
-11
-29
4
0
-32
3
17
-1
42
-12
28
4
16
-43
-37
-8
-42
-13
-26
0
-33
10
9
1
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
52
0
7
0
0
0
0
0
38
0
-8
0
61
0
-8
0
4
0
-6
0
20
0
11
0
-18
0
0
0
-32
0
1
0
5
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
-11
0
3
0
6
0
0
0
-5
0
0
0
-11
0
0
0
1
0
0
0
2
0
0
0
9
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
71
2
86
17
57
5
48
-10
102
34
67
45
65
-8
65
48
33
-6
82
9
71
-3
-34
1
6
-26
60
-1
57
-3
55
1
35
-8
19
0
54
-3
23
-26
38
-6
-27
5
32
0
8
6
-3
0
109
3
63
0
-1
-36
39
0
17
0
-41
0
-3
0
66
0
-10
-7
60
0
-29
-3
-26
-2
-19
-2
-44
0
-21
4
75
0
58
0
-11
0
33
-26
4
-6
-1
-1
-8
0
-4
1
42
0
6
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
35
0
5
0
30
0
96
0
100
0
-44
0
15
0
-67
0
-17
0
26
0
90
0
41
0
20
0
17
0
-38
0
-8
0
63
0
2
0
47
0
9
0
27
0
2
0
51
0
0
0
56
0
1
0
56
0
0
0
34
0
0
0
21
0
0
0
11
0
0
0
-53
0
8
0
20
0
-3
0
-10
0
12
0
11
0
0
0
-3
0
0
0
-3
0
0
0
-9
0
0
0
1
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
98
76
6
63
-19
69
25
25
90
54
16
11
2
59
30
-9
16
24
-32
51
15
67
83
22
13
4
-7
44
-2
2
30
34
-23
43
4
59
48
82
-1
73
23
33
-4
33
1
68
-2
-15
8
47
-19
102
-36
3
-1
-55
19
29
0
34
-6
-36
-4
-10
24
5
8
31
20
-10
-4
28
64
-8
0
63
35
-55
-2
-95
12
-61
8
27
8
-3
-15
-3
-5
-15
0
2
-54
-36
-3
8
-26
-5
0
-18
3
55
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
3
0
0
0
-1
0
0
0
10
0
0
0
3
0
0
0
100
0
4
0
14
0
6
0
19
0
0
0
34
0
0
0
-1
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-2
0
0
0
7
0
0
0
0
0
0
0
-4
0
0
0
9
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
48
0
48
20
30
1
101
-1
21
1
66
7
-15
3
57
-21
-17
0
23
75
-10
-13
0
13
22
-12
43
3
21
0
35
2
-44
0
-1
1
12
0
77
4
-21
0
4
-10
21
0
7
0
-65
0
19
-2
-73
0
35
-1
2
0
-7
0
-21
0
-12
0
59
0
15
2
-1
0
-30
2
72
0
-1
13
36
0
0
-1
-17
0
1
-2
11
0
0
-1
-88
0
0
0
37
0
-2
0
-29
0
0
0
-25
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
41
0
15
0
46
0
32
0
51
0
2
0
90
0
12
0
30
0
-24
0
59
0
-24
0
-6
0
-7
0
63
0
1
0
-1
0
1
0
2
0
0
0
1
0
2
0
77
0
4
0
10
0
-1
0
2
0
4
0
12
0
4
0
36
0
2
0
58
0
0
0
19
0
0
0
-28
0
-2
0
14
0
3
0
12
0
0
0
-33
0
0
0
0
0
0
0
3
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
-8
57
-11
92
-89
30
27
23
36
37
-30
15
-51
27
-6
27
43
34
-24
34
46
28
21
-12
24
41
-24
35
11
60
1
27
66
54
3
-19
-8
50
1
-39
45
44
0
20
-14
33
0
-30
-17
16
36
83
11
19
-2
43
22
39
1
40
41
29
-2
6
-8
53
3
2
-10
73
8
5
49
27
-1
50
1
-36
-2
-43
-3
-26
-6
46
7
18
0
137
3
8
-2
-22
-14
47
0
6
-7
18
0
-4
0
-5
0
1
15
-28
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
-8
0
0
0
18
0
-1
0
-12
0
2
0
4
0
6
0
-7
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
0
0
0
-3
0
0
0
-4
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-2
0
28
-52
50
4
6
7
19
0
65
9
70
0
20
119
26
-26
-7
1
1
-8
98
3
32
6
-10
0
-20
-1
-27
7
51
0
9
0
-5
0
1
2
57
0
1
-2
69
0
0
-14
32
0
15
2
-2
0
0
3
-1
0
-4
0
-32
0
-2
0
-56
0
0
-1
43
0
28
-10
26
0
2
7
27
0
1
56
-17
0
-27
-3
107
0
-1
0
-91
0
0
0
-16
0
0
4
-5
0
0
0
0
0
0
0
-19
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
45
0
30
0
26
0
19
0
97
0
64
0
74
0
-14
0
18
0
-5
0
28
0
-2
0
76
0
56
0
20
0
0
0
-2
0
16
0
-50
0
0
0
28
0
-1
0
6
0
-2
0
19
0
7
0
49
0
2
0
-6
0
-3
0
61
0
0
0
16
0
-1
0
78
0
3
0
80
0
6
0
12
0
0
0
-37
0
0
0
-4
0
0
0
6
0
-25
0
6
0
0
0
4
0
2
0
11
0
0
0
7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
87
20
79
26
63
-11
77
63
25
44
8
22
-6
50
-41
51
49
1
71
-77
27
2
51
19
22
10
120
70
-29
-11
-2
20
38
11
80
76
9
-6
61
29
58
-9
10
0
30
10
43
-16
7
0
26
4
30
0
-40
11
22
-4
-9
-1
0
0
17
-26
11
1
-1
1
24
2
14
28
14
0
88
-25
-41
-3
36
5
3
-1
-27
-4
-1
0
54
13
1
15
-32
-6
33
-3
10
28
61
0
12
0
-48
0
-23
-14
3
0
-1
-1
-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
-6
0
0
0
4
0
7
0
3
0
0
0
-7
0
3
0
7
0
0
0
39
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-13
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
29
0
2
-3
96
-1
10
36
32
0
1
1
13
3
27
-11
62
0
-9
3
-16
-1
3
1
-32
0
24
-8
65
-4
-103
0
-3
0
0
1
36
0
-11
0
1
0
2
6
19
0
15
0
5
0
7
-17
19
0
0
0
33
0
0
0
37
0
14
0
16
0
1
-2
-45
0
0
-1
-37
0
-21
1
-14
0
-9
-1
21
0
-1
-1
64
0
0
0
39
0
-3
-1
22
0
-6
0
-1
0
0
0
-7
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
3
0
0
0
13
0
2
0
56
0
-18
0
5
0
5
0
107
0
43
0
-2
0
0
0
-9
0
17
0
-18
0
2
0
-4
0
-2
0
0
0
0
0
48
0
6
0
17
0
0
0
82
0
0
0
-4
0
0
0
-6
0
0
0
-16
0
-2
0
1
0
0
0
2
0
-3
0
59
0
-4
0
5
0
0
0
33
0
3
0
1
0
0
0
-6
0
-10
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
54
13
56
17
97
-1
93
36
52
-23
4
57
42
11
-30
31
9
-16
22
40
27
0
-51
-28
24
12
28
45
-12
0
29
37
89
1
11
4
3
0
-2
71
63
0
-8
3
-30
0
-15
13
-17
0
30
-2
67
0
-7
0
-7
1
46
-13
-24
0
-9
-38
36
0
5
0
49
0
4
-14
24
-6
-19
2
65
0
50
3
-23
0
-10
-1
-45
0
1
-57
-8
2
-41
15
88
0
6
0
43
0
8
0
-33
0
4
0
25
0
22
0
-73
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
-22
0
-1
0
30
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
48
0
-55
8
47
0
1
-33
48
1
6
12
13
-6
-9
-13
1
0
14
-3
24
0
4
-15
9
0
3
0
26
10
2
0
44
0
0
0
-6
0
0
1
33
0
16
0
-1
0
1
1
-39
0
0
8
4
0
0
1
-34
0
0
1
-7
0
0
-1
6
0
4
0
0
0
1
0
-28
0
8
0
38
0
1
-1
10
0
0
0
28
0
-3
2
26
0
0
0
-24
0
3
0
-5
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
12
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
18
0
-17
0
26
0
6
0
3
0
4
0
60
0
13
0
-27
0
6
0
43
0
-13
0
63
0
1
0
1
0
-47
0
2
0
0
0
40
0
0
0
2
0
0
0
7
0
6
0
10
0
0
0
34
0
7
0
0
0
0
0
10
0
-3
0
-3
0
7
0
-2
0
8
0
38
0
0
0
-1
0
3
0
15
0
0
0
-7
0
0
0
-14
0
0
0
7
0
0
0
-2
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
97
125
19
6
49
35
3
4
-18
47
-6
32
19
63
3
58
49
16
-6
-10
78
30
8
15
3
21
0
53
-61
27
-25
38
19
11
0
74
-5
8
0
-54
7
31
0
18
19
84
0
3
22
-3
1
-36
5
-29
0
-46
5
57
0
-6
1
-13
9
-29
44
53
0
40
12
70
2
-12
-34
-13
0
16
52
-54
1
3
-51
24
0
-37
11
55
2
0
0
4
0
-10
-2
39
0
-2
11
50
0
0
-19
63
0
12
0
-29
0
-1
0
90
0
-1
-7
3
0
0
3
17
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
7
0
0
0
2
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
2
15
0
45
-4
23
0
-34
1
-22
1
57
6
68
-2
3
-15
-34
0
-26
0
32
-1
8
2
-20
0
-12
0
39
0
0
1
35
0
1
0
2
0
-1
0
4
0
3
0
22
0
-3
-8
-47
0
-2
0
-15
0
0
0
22
0
0
-9
-4
0
0
-8
-1
0
1
0
36
0
0
0
-15
0
-1
0
23
0
0
1
-17
0
-6
2
-9
0
0
0
-17
0
0
8
1
0
0
0
-7
0
2
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
10
0
2
0
18
0
4
0
3
0
-1
0
18
0
2
0
-20
0
-3
0
-16
0
0
0
-2
0
1
0
-5
0
0
0
0
0
0
0
4
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-24
0
0
0
-1
0
0
0
-6
0
0
0
0
0
0
0
-10
0
0
0
1
0
0
0
28
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
121
44
42
126
43
80
0
19
109
15
0
51
35
36
1
-20
30
31
-22
62
1
0
-9
-17
-31
14
22
-51
-43
46
0
20
17
19
0
16
-1
63
0
45
-20
13
0
-7
-8
30
0
-17
-11
69
-1
-22
4
9
0
-7
-21
16
0
-36
-10
38
0
-2
-5
30
-8
58
5
48
0
37
-5
29
1
-40
5
-28
4
-15
-38
-96
-1
-27
33
83
0
1
0
-16
-1
-13
17
-14
0
1
4
-18
0
0
3
39
0
0
0
88
0
3
0
7
0
7
0
-45
0
-3
-4
-54
0
0
0
10
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
127
0
41
0
11
0
9
9
-54
0
72
0
-32
0
-7
11
-79
7
-39
26
18
0
-18
26
45
0
-40
0
36
0
1
0
13
0
-9
0
15
0
3
-1
2
0
0
-8
-4
0
0
0
-5
0
0
0
-3
0
0
0
7
0
0
0
14
0
-2
-1
60
0
10
8
11
0
4
0
49
0
1
0
-2
0
0
7
15
0
-1
0
-3
0
0
0
65
0
-8
0
1
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
25
76
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
40
20
6
7
-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
-22
0
-54
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
77
80
39
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
6
-55
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-23
38
14
-51
-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
-13
130
0
16
2
32
0
36
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
42
24
73
-7
0
32
-44
-3
-24
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
1
12
0
21
12
44
0
-33
0
5
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
65
37
42
-3
4
22
-8
12
8
25
-11
-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
34
0
-18
0
-7
0
62
0
-22
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
72
91
59
-12
5
13
8
16
22
19
-66
21
-34
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
-6
-22
0
26
-10
-25
4
32
16
5
8
10
0
14
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
74
28
-4
3
40
22
-21
18
37
20
25
17
-6
1
-73
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
51
1
36
0
9
0
58
0
-8
0
41
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
63
65
16
29
52
20
5
6
44
-4
-74
18
-12
24
-73
29
39
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
-1
68
0
21
0
60
0
-37
0
36
0
49
0
13
0
-10
-8
-23
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
18
-12
66
30
-4
29
-1
-5
-18
26
-4
-23
24
-23
-34
-2
-7
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
55
0
119
0
-11
0
36
0
-8
0
50
0
-58
0
32
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
89
62
-1
75
86
85
17
-19
54
32
79
31
12
-14
-4
21
69
17
-72
-8
-25
51
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
66
0
0
-2
54
0
-3
-4
-8
0
32
0
32
0
10
13
26
0
14
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-19
-9
63
-21
27
9
13
12
-8
28
48
17
18
24
-1
14
42
6
-47
-12
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
0
21
0
57
0
12
0
61
0
109
0
-13
0
12
0
21
0
27
0
8
0
28
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
81
21
23
5
-28
62
12
77
17
-1
22
13
-46
-18
16
2
28
48
37
-2
5
-35
-56
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
45
0
51
0
19
0
39
0
24
0
16
0
5
0
36
0
19
0
50
0
69
0
-23
0
-3
0
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-20
-11
18
57
6
16
-3
-2
10
53
26
39
14
27
24
41
0
-13
9
11
7
9
2
10
-18
-25
-23
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
68
0
58
0
51
0
21
0
28
0
22
0
68
0
41
0
46
0
19
0
43
0
9
0
7
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
23
19
57
25
15
44
18
-42
32
54
48
39
24
100
18
29
5
-29
6
58
-5
-10
1
-25
19
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
40
1
-15
2
17
2
63
0
-2
-1
-2
0
-33
-18
-21
0
-86
0
-19
0
-63
10
-27
0
-88
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
-60
61
-53
1
-27
20
-46
-3
-21
6
-54
4
-26
-15
-70
-27
-31
-15
-11
-38
7
-9
-32
-39
-13
-22
-12
-25
-25
-12
-24
-23
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
87
0
75
6
6
0
-5
0
-13
0
32
0
-19
0
24
0
-16
0
-54
0
33
0
37
0
44
0
-5
0
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
-52
48
38
9
29
-39
-17
13
49
22
8
-13
14
-7
2
3
-21
51
10
19
14
4
-6
45
-14
17
35
-30
-6
-51
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
-2
89
0
-7
4
-13
0
-20
0
-24
0
6
0
47
0
2
0
-36
0
1
0
6
0
-53
0
-21
0
1
0
64
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
11
-30
-14
29
49
86
42
-28
11
-5
-17
36
24
-7
26
24
28
-9
6
49
4
17
22
23
17
-24
13
-19
-21
-9
4
-4
-35
-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
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
0
60
0
11
-2
112
0
11
0
62
0
37
0
30
0
-30
0
13
0
79
0
-48
0
-64
0
-31
0
-9
0
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
49
104
81
51
56
58
10
39
55
-32
37
16
54
36
-27
37
-22
3
31
24
39
31
51
11
-22
2
65
-11
-33
-7
-38
-20
8
58
24
33
-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
-10
9
1
12
-6
27
0
78
-2
31
0
75
0
-5
0
66
15
0
0
-31
1
31
0
-17
-2
38
0
0
0
27
0
16
7
-18
1
-63
4
12
-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
54
35
15
26
19
59
18
39
-35
7
-23
9
63
6
29
40
21
16
-40
23
12
-2
-56
31
-75
-26
-79
16
27
-21
17
17
-35
-8
25
82
-22
-21
-39
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
-22
0
-12
0
-28
0
-11
0
118
0
-9
0
51
0
50
0
-8
0
37
0
73
0
6
0
56
0
22
0
2
0
-16
0
-53
0
18
0
22
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
50
60
10
40
33
26
-2
64
54
25
-33
8
42
0
18
32
30
26
-11
50
63
-2
49
-35
-75
5
41
-14
-11
17
-60
37
28
86
-4
39
-23
10
-12
44
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
-3
0
18
0
4
0
4
0
76
0
20
0
29
0
-12
0
32
0
59
0
20
0
-83
0
-24
0
32
0
-35
0
-41
0
20
0
56
0
53
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
86
58
103
-7
22
4
51
51
29
26
9
-2
57
21
51
-53
4
4
38
19
1
30
28
21
17
4
67
16
-19
18
-60
54
32
59
30
-19
-25
-10
-23
-11
-27
-16
-46
-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
-13
0
26
0
23
0
29
0
41
0
1
0
-34
0
1
0
-31
0
39
0
30
0
25
0
32
0
22
0
8
0
-32
0
48
0
41
0
69
0
4
0
-33
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
40
97
13
10
16
66
-10
62
37
69
5
43
22
35
-34
43
17
24
37
-35
41
22
11
83
-2
-4
15
8
-50
40
-19
-48
-4
51
-19
-2
-19
1
-10
38
-7
22
-2
1
-10
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
0
14
0
8
0
-1
0
37
0
-11
0
71
0
-19
0
-2
0
19
0
40
0
3
0
39
0
-43
0
11
0
-17
0
53
0
27
0
19
0
-82
0
39
0
-24
0
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
-11
2
74
81
28
27
48
36
6
40
80
47
13
13
-6
49
-14
-8
-44
33
41
30
-22
51
15
34
-27
-36
6
12
73
-6
182
21
52
2
5
8
-2
-2
0
-1
7
15
2
30
20
-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
51
0
3
0
45
0
-15
0
-5
0
0
0
-10
0
26
0
-25
0
-1
0
39
0
-3
0
37
0
6
0
63
0
-13
0
5
0
0
0
40
0
2
0
57
0
0
0
7
0
-5
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
62
2
47
41
58
37
52
28
43
-16
40
0
38
53
22
-3
37
-1
-3
51
61
-1
23
-16
24
-2
-19
76
14
16
-16
40
-7
0
-23
1
10
-3
13
11
17
4
44
30
-20
-1
-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
43
0
17
0
33
0
25
0
34
0
31
0
78
0
44
0
17
0
55
0
1
0
-38
0
13
0
-17
0
60
0
-30
0
18
0
21
0
39
0
-9
0
38
0
-1
0
-9
0
-22
0
-5
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
25
-26
49
1
45
80
18
69
25
0
62
44
45
22
44
48
28
29
16
-76
43
62
19
27
-24
-10
-5
7
34
10
31
35
32
43
55
-12
57
-3
47
28
6
-44
-26
-29
-6
30
6
27
-16
-50
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
116
0
3
0
32
0
27
0
24
0
54
0
16
0
7
0
-24
0
21
0
5
0
-2
0
102
0
2
0
-18
0
11
0
-16
0
0
0
-11
0
0
0
-2
0
0
0
66
0
-2
0
3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
69
4
18
23
57
18
5
4
15
13
-20
-6
60
8
6
70
27
27
-17
82
26
-27
-21
35
12
-29
14
75
48
4
-25
-21
82
0
21
4
24
0
-20
14
-3
-7
-7
9
24
0
-127
25
-5
7
-5
-20
-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
78
0
79
0
50
0
-10
0
35
0
30
0
86
0
53
0
12
0
98
0
62
0
49
0
38
0
23
0
19
0
-15
0
44
0
-61
0
146
0
63
0
61
0
22
0
89
0
20
0
5
0
-20
0
-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
94
8
27
17
49
46
59
20
91
17
-9
42
17
53
84
38
18
29
-7
26
7
23
-48
21
2
17
-24
77
8
9
-4
44
50
12
23
30
-23
18
-3
75
-32
-3
7
-56
-11
-29
71
-14
51
4
17
-2
-49
22
2
30
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
0
2
0
30
0
45
0
-26
0
-1
0
1
0
11
0
19
0
-3
0
87
0
-22
0
27
0
0
0
18
0
-4
0
43
0
0
0
27
0
0
0
30
0
0
0
-22
0
0
0
-20
0
2
0
-27
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
82
33
4
81
69
31
43
57
73
-6
2
68
60
43
12
12
19
27
-8
93
92
-26
35
-3
13
-2
0
-51
-81
18
7
-15
-8
52
0
-17
1
5
-17
114
44
-20
0
-11
1
7
0
-3
12
-73
0
41
5
-32
0
-9
-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
89
0
-6
0
19
0
26
0
60
0
47
0
68
0
8
0
35
0
6
0
22
0
-6
0
36
0
-16
0
19
0
-21
0
36
0
11
0
9
0
37
0
46
0
11
0
17
0
2
0
36
0
12
0
22
0
6
0
28
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
97
85
31
35
34
-20
-11
41
44
27
53
94
73
36
51
24
15
9
45
52
62
88
40
59
20
-32
43
67
18
55
-11
63
34
-32
12
33
16
30
25
53
-4
-29
0
-14
32
14
9
17
7
6
39
12
22
-21
72
52
-27
13
25
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
64
0
6
0
77
0
-19
0
81
0
0
0
7
0
5
0
48
0
4
0
-7
0
6
0
10
0
0
0
-59
0
2
0
4
0
0
0
-22
0
-1
0
26
0
0
0
1
0
0
0
-34
0
-1
0
-24
0
0
0
34
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
-8
52
-28
34
5
10
-9
16
5
25
-25
68
-11
-36
3
29
9
1
46
5
4
54
66
19
28
-17
36
69
2
32
-1
50
2
86
11
10
4
18
20
65
4
74
-34
69
-3
-58
37
-76
0
-20
-7
53
0
-71
-39
23
-2
-29
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
4
-1
0
-9
-1
41
0
-7
1
13
0
-50
-2
-5
0
-22
0
-19
0
6
0
-6
0
-46
0
-13
0
-54
0
-13
0
-78
-8
-113
0
-28
0
-28
0
-21
-3
-18
0
-9
0
-23
0
41
0
16
0
-81
0
-60
0
-12
0
-54
0
-66
0
-39
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-2
-12
14
15
31
46
3
-7
35
-46
-29
-35
-11
-48
21
60
-18
-39
-16
-33
-47
7
-14
67
10
-43
5
-48
-3
-72
-49
-47
22
42
-27
28
0
10
-37
-4
-12
-81
-19
-79
-46
-37
-69
8
1
40
-42
-40
16
60
-69
-16
-24
-21
-24
-65
-26
-46
-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
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
71
0
91
0
41
0
8
0
54
0
52
0
55
0
-3
0
-15
0
21
0
-104
0
-39
0
-6
0
35
0
68
0
36
0
18
0
3
0
-30
0
-13
0
21
0
-18
0
30
0
-2
0
10
0
4
0
-9
0
0
0
55
0
-4
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
30
98
7
81
49
-4
90
90
-5
49
0
8
16
64
28
-2
-16
56
-5
21
52
-25
-36
16
32
26
-3
-70
-62
19
5
-29
64
37
32
73
50
23
11
-76
-41
57
10
-18
-2
-8
-4
-23
-36
-4
0
80
-72
-23
-2
-51
5
73
4
-19
28
-35
1
7
75
-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
-15
0
-19
0
9
15
-40
-2
15
0
36
0
-4
0
-6
0
51
0
23
0
13
0
15
0
30
0
-36
0
-3
0
-28
0
22
0
40
-2
82
0
0
-7
15
0
-66
0
23
0
-3
0
33
0
-65
0
-30
0
-25
0
41
0
-53
0
-20
0
-22
0
63
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
105
-25
26
38
-33
34
21
46
10
91
45
30
3
62
11
-5
39
47
-8
34
2
66
-13
69
-7
-9
-14
-31
-53
4
-31
-29
44
61
-12
-10
46
-30
20
2
-50
-2
-1
9
-19
-45
-34
18
-19
-43
-16
-17
1
-7
18
-10
3
-63
-2
-44
-38
-17
4
47
19
33
-10
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
-13
0
28
0
-1
0
35
0
8
0
-30
0
3
0
40
0
3
0
49
0
24
0
4
0
76
0
4
0
14
0
-12
0
-4
0
49
0
-8
0
47
0
-6
0
2
0
-15
0
19
0
0
0
-33
0
0
0
-47
0
2
0
7
0
-4
0
-20
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
47
71
30
67
86
58
18
50
-23
55
15
-29
-40
81
37
-3
78
31
-16
-7
50
18
8
-63
-61
3
-45
-15
19
33
-18
-32
36
53
-8
-16
25
5
1
53
15
-13
-2
-1
11
44
2
8
-64
39
-22
-23
27
-37
-3
-18
-41
-58
2
39
-13
-83
-4
-49
13
22
-1
6
-9
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
47
0
11
0
8
0
14
0
44
0
36
0
63
0
37
8
12
0
-8
0
-13
0
-9
0
34
0
28
0
49
0
-43
0
73
0
0
0
31
0
75
0
38
0
-49
0
23
0
-33
0
-60
0
-17
0
34
0
-73
0
-37
0
26
0
-4
0
-8
0
132
0
-57
0
59
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
55
23
46
52
62
-28
6
81
30
-11
28
31
37
-18
-10
14
-22
8
6
25
15
16
-32
1
16
-39
-16
6
-3
-43
17
94
20
19
27
60
-16
-13
67
13
0
-73
57
-20
-35
-16
12
-33
26
40
6
34
23
49
26
28
-16
-13
-13
24
14
-36
-47
8
28
-86
-16
21
35
2
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
21
0
1
0
20
0
-4
0
-12
0
4
0
-13
0
11
0
49
0
26
0
71
0
19
0
27
0
0
0
-28
0
-8
0
12
0
2
0
55
0
0
0
54
0
2
0
-17
0
0
0
-35
0
1
0
43
0
-1
0
23
0
1
0
-37
0
2
0
2
0
12
0
3
0
-22
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
60
2
5
49
89
-8
22
8
57
6
3
-21
8
-4
28
-30
24
6
52
42
30
40
-46
-3
-49
3
10
-32
-4
13
-93
29
49
-3
-56
43
31
-6
22
77
-13
-4
47
0
60
-11
-51
45
14
-1
21
7
-34
-56
-36
24
-39
-2
28
-22
-7
3
-21
7
22
0
2
19
4
-3
52
-3
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
1
0
42
0
110
0
19
0
104
0
21
0
11
0
46
0
53
0
2
0
-62
0
13
0
35
0
-3
0
-34
0
26
0
10
0
40
0
28
0
-12
0
77
0
20
0
-47
0
-1
0
20
0
32
0
9
0
-33
0
-52
0
-24
0
29
0
-5
0
3
0
-2
0
-1
0
-27
0
-88
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
58
59
11
11
103
15
118
118
47
-25
27
0
68
-6
18
34
50
39
-9
41
35
-73
34
46
4
14
-25
-35
11
-8
2
122
93
8
68
-18
30
15
20
71
-18
72
30
-82
-37
27
22
-1
36
-64
-38
-1
14
30
-14
-23
15
-15
-5
-8
-2
-34
41
18
16
16
-12
64
21
-15
52
-14
-5
4
-62
-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
-2
0
-1
0
49
0
-4
0
62
0
0
0
12
0
0
0
-26
0
-1
0
-25
0
0
0
17
0
3
0
38
0
0
0
17
0
-2
0
3
0
0
0
72
0
-16
0
9
0
1
0
-36
0
-9
0
-9
0
-1
0
17
0
1
0
0
0
0
0
2
0
0
0
2
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
116
119
0
48
42
86
3
42
34
55
9
24
45
-45
2
-5
16
16
11
4
65
9
-6
37
44
-29
2
-65
-5
30
-2
-2
36
139
-6
107
91
49
-2
33
38
10
20
28
-38
-38
0
53
15
18
-2
54
-39
53
0
14
-111
-28
-1
-53
24
64
0
35
13
124
-3
51
0
18
19
27
-1
-42
0
-32
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
69
0
19
0
-1
-1
66
0
35
0
27
0
-11
0
61
0
7
0
-6
0
10
0
45
0
27
0
43
0
2
0
47
0
-32
0
1
0
51
0
114
0
9
0
56
0
17
0
-23
0
20
0
12
0
-74
0
1
0
-10
0
-20
0
22
0
11
0
0
0
-10
0
-6
0
-33
0
-27
0
50
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
90
22
77
65
25
37
38
-6
4
47
53
42
8
19
52
73
64
-16
-51
-48
27
-29
1
17
32
-63
31
15
4
-1
26
78
76
48
34
-40
22
-42
-18
63
41
59
48
23
37
-34
-30
15
-14
-19
-29
-22
12
23
32
-26
29
3
4
-78
-12
-43
-31
41
70
12
12
-32
67
-28
-78
7
21
4
41
-36
17
-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
0
0
0
0
0
0
13
0
12
0
33
0
10
0
85
0
7
0
91
0
-1
0
-24
0
-2
0
24
0
-6
0
21
0
0
0
-4
0
14
0
73
0
-13
0
61
0
-3
0
-19
0
-2
0
74
0
10
0
-12
0
-6
0
-7
0
6
0
-20
0
0
0
40
0
0
0
2
0
0
0
7
0
0
0
3
0
2
0
-10
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
30
6
121
-6
149
17
16
22
59
-3
27
29
36
0
39
63
15
0
-36
51
9
2
38
106
48
8
39
17
10
2
13
14
57
-2
-60
-27
29
-1
-12
13
57
1
46
4
27
0
-24
17
-62
0
14
7
4
0
-28
4
6
0
0
-10
-4
1
-39
0
24
0
21
1
-71
-6
-56
6
46
0
-39
-11
25
0
-20
-2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
35
0
50
0
151
0
37
0
60
0
44
0
12
0
20
0
16
0
-26
0
61
0
37
0
48
0
-89
0
43
0
-25
0
68
0
50
0
109
0
27
0
81
0
-54
0
62
0
7
0
35
0
-7
0
33
0
42
0
-24
0
20
0
-19
0
20
0
-3
0
21
0
-49
0
3
0
37
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
23
158
33
5
-18
67
9
86
51
65
14
42
71
41
45
8
14
21
73
14
15
29
12
-34
52
29
29
44
-14
1
-22
58
134
33
-28
25
52
38
25
-10
21
39
-43
29
-29
74
5
70
-50
-16
-39
43
7
23
0
-59
-83
1
38
11
-50
-21
17
-23
66
62
6
43
3
-4
35
1
-58
30
-1
46
28
3
3
-97
-34
19
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
4
0
0
0
10
0
0
0
59
0
-1
0
46
0
-1
0
61
0
0
0
7
0
0
0
38
0
-18
0
32
0
-1
0
12
0
0
0
0
0
1
0
13
0
16
0
10
0
-15
0
16
0
-1
0
2
0
0
0
62
0
0
0
20
0
0
0
1
0
0
0
0
0
0
0
5
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
77
101
10
27
-1
35
-1
7
16
65
7
63
-6
67
4
-41
8
35
-1
16
-2
19
0
19
45
-29
-35
32
-18
-19
1
14
4
60
-6
31
0
8
0
92
50
-31
-2
15
4
-29
-1
30
26
-20
0
-49
-1
51
0
-25
6
-16
0
36
3
2
1
-19
4
4
10
-3
1
13
-1
-29
7
-15
2
24
0
28
0
23
0
-51
0
-60
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
1
0
69
0
-21
0
17
0
-2
0
6
0
25
0
13
0
-13
0
19
0
16
0
-10
0
38
0
36
0
71
0
43
0
28
0
56
0
-49
0
66
0
-12
0
7
0
56
0
36
0
-15
0
-12
0
-1
0
18
0
0
0
-14
0
9
0
-23
0
-42
0
97
0
8
0
2
0
0
0
-23
0
0
0
13
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
31
101
4
12
115
73
79
52
-20
29
19
96
33
52
35
49
3
-2
35
16
-53
41
43
-24
69
26
-36
25
-8
4
14
-20
95
43
8
33
-16
59
-27
15
73
42
6
74
41
32
-18
7
-19
21
-1
-14
-77
-12
36
41
-65
40
0
-20
-29
23
7
10
-31
62
-7
-13
84
4
2
-64
-26
27
3
3
-1
20
5
-41
12
27
-1
76
5
7
-3
-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
-6
0
0
0
22
0
-8
0
-12
0
-1
0
-46
0
16
0
68
0
-2
0
7
0
0
0
6
0
6
0
97
0
-8
0
46
0
3
0
29
0
9
0
-2
0
0
0
-7
0
0
0
-12
0
-4
0
30
0
0
0
6
0
0
0
14
0
0
0
-16
0
0
0
-9
0
-2
0
-1
0
0
0
12
0
0
0
2
0
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
30
1
-19
30
40
2
48
2
79
0
10
1
-8
0
34
28
24
1
18
33
-17
-7
52
29
8
-10
0
17
55
0
-57
40
7
0
27
20
88
0
61
1
83
0
37
12
55
0
-84
10
-51
0
-20
-36
14
-1
-7
20
-39
0
19
-26
-83
-25
-6
28
7
0
13
-1
63
0
-34
-3
-2
0
9
3
-49
0
21
0
-22
0
-9
-1
28
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
57
0
43
0
22
0
3
0
58
0
28
0
113
0
22
0
92
0
-6
0
-32
0
-24
0
-19
0
9
0
42
0
-41
0
37
0
-29
0
8
0
0
0
4
0
-4
0
125
0
-4
0
29
0
-1
0
-16
0
4
0
26
0
-6
0
43
0
6
0
7
0
-6
0
-14
0
0
0
22
0
0
0
42
0
-11
0
-15
0
-8
0
16
0
-1
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
99
113
59
26
-18
-10
-8
24
52
57
64
33
10
-9
-6
2
45
-2
-13
17
13
25
-19
94
21
-1
-22
30
-2
45
-22
38
63
70
38
36
41
56
-32
42
35
49
19
70
14
49
0
28
-17
-39
-35
-21
-14
49
8
78
39
39
-21
-17
1
-43
-5
79
100
8
13
17
-12
43
-3
-22
30
36
0
36
17
44
0
48
50
42
0
24
18
-36
0
-13
4
-32
-3
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
17
0
-2
0
0
0
2
0
54
0
0
0
-2
0
0
0
46
0
6
0
37
0
1
0
-19
0
0
0
19
0
0
0
81
0
2
0
11
0
0
0
0
0
-7
0
3
0
0
0
10
0
0
0
-34
0
1
0
-1
0
0
0
2
0
0
0
-6
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
104
1
-8
22
24
4
42
20
42
2
13
12
76
5
5
-41
37
-8
1
47
76
-1
-44
18
10
1
-36
4
56
0
19
63
42
-9
-44
-51
54
0
25
61
12
-1
-39
9
114
0
65
4
-27
-4
1
-6
-36
0
-11
-23
-6
0
-45
2
-21
0
-60
-2
0
-9
-36
0
0
0
25
4
35
0
13
0
-11
0
2
-2
-56
0
-3
0
14
0
-13
2
14
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
-13
0
24
0
19
0
32
2
36
0
2
0
20
0
-13
-1
20
0
111
0
80
0
-41
0
83
0
-11
0
22
0
-28
0
12
0
2
1
2
0
0
3
2
0
2
0
12
0
-2
0
-35
0
-1
0
-35
0
0
0
45
0
1
0
4
0
4
-1
-7
0
-1
0
19
0
-1
0
-84
0
-1
0
11
0
13
0
-29
0
-2
0
-46
0
0
0
-5
0
-6
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
36
13
16
45
-4
57
-8
68
4
35
23
58
36
35
30
34
28
17
38
44
45
43
13
-43
48
25
13
11
-31
-4
1
-74
20
136
18
8
-13
34
9
54
-15
32
17
42
-2
26
33
-27
-12
53
8
-53
56
4
-10
-9
-32
17
-11
28
-39
34
5
-39
22
-25
1
26
-29
41
-1
-35
-138
39
7
-26
28
26
-1
-32
3
-34
19
-30
-35
9
3
12
0
-23
-1
9
45
-15
0
61
25
0
0
0
0
0
0
0
0
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
7
0
7
0
0
0
45
0
11
0
9
0
2
0
30
0
1
0
64
0
0
0
5
0
-1
0
156
0
34
0
-10
0
0
0
3
0
0
0
-2
0
0
0
1
0
0
0
-1
0
0
0
-1
0
0
0
-16
0
0
0
5
0
0
0
38
0
0
0
-2
0
0
0
8
0
0
0
1
0
0
0
-7
0
0
0
-4
0
0
0
-1
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
46
29
-2
22
20
94
-3
106
30
15
2
52
-38
35
-9
35
80
-19
-39
-39
29
18
0
52
42
5
2
5
18
-16
0
12
3
19
2
-2
-1
9
-6
0
-6
83
-4
-50
-11
79
6
3
-1
-1
-1
-35
17
-13
0
9
-12
20
0
-4
-4
-9
0
15
-8
14
0
77
-1
22
0
7
-4
3
0
0
12
-25
0
0
19
-38
0
-2
7
12
0
7
4
-6
0
23
0
-83
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
0
0
0
0
0
0
0
0
58
0
55
0
14
0
49
0
7
0
15
0
27
0
-27
0
60
0
28
0
40
0
25
0
28
0
18
0
78
0
12
0
67
0
0
0
-24
0
-2
0
59
0
6
0
25
0
-1
0
-47
0
4
0
4
0
0
0
-35
0
-6
0
-33
0
1
0
3
0
3
0
1
0
1
0
-18
0
-2
0
36
0
1
0
-76
0
0
0
0
0
0
0
7
0
1
0
11
0
0
0
13
0
0
0
0
0
0
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
95
56
15
98
89
10
47
94
109
36
17
21
12
-4
74
-6
52
60
-24
35
-42
-55
72
-28
44
56
10
-73
9
12
86
-38
47
-7
-14
33
83
7
29
-36
48
-3
42
-27
-81
3
-17
67
15
-1
68
3
32
0
72
-82
27
-7
45
-51
33
2
-28
53
47
-2
40
19
-9
3
22
-7
-50
4
-6
-21
48
0
-53
-18
38
-1
3
-6
65
4
7
-38
-30
-8
-32
-14
-25
0
-33
2
29
1
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
46
0
2
0
0
0
0
0
37
0
-8
0
52
0
-8
0
-27
0
-4
0
18
0
11
0
-22
0
0
0
-35
0
1
0
1
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
-3
0
0
0
-11
0
3
0
6
0
0
0
-4
0
0
0
-10
0
0
0
1
0
0
0
2
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
23
64
2
86
9
40
4
30
-40
67
28
25
42
0
-9
39
81
45
-9
86
-1
72
0
-26
20
39
-22
33
-19
38
-3
66
1
8
-8
-1
0
37
-3
24
-24
55
-6
5
2
34
0
8
4
-63
0
113
2
58
0
-6
-33
33
0
24
0
-35
0
-6
1
89
0
-6
-7
61
0
-27
-4
-34
-2
-16
-2
-45
0
-18
12
84
0
56
0
-11
0
28
-26
11
-6
3
-1
-8
0
-5
1
45
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
18
0
2
0
40
0
84
0
101
0
-41
0
15
0
-66
0
-28
0
23
0
121
0
36
0
-28
0
18
0
-27
0
-9
0
57
0
2
0
39
0
11
0
8
0
2
0
47
0
0
0
30
0
0
0
54
0
0
0
45
0
0
0
41
0
0
0
1
0
0
0
-46
0
8
0
11
0
-3
0
-6
0
12
0
18
0
0
0
3
0
0
0
12
0
0
0
-8
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
104
82
6
59
-29
94
21
15
50
21
9
21
-19
41
25
-5
9
47
-61
93
-14
23
93
-21
-25
-5
-9
21
-26
-21
20
18
-12
56
4
62
32
92
-1
68
21
37
-4
37
-4
11
-2
-28
9
46
-10
106
-36
-14
-2
-21
29
31
0
33
-3
-11
-2
-13
23
5
10
28
12
-30
-3
27
44
21
0
67
36
-51
-2
-106
25
-34
8
18
13
4
-15
5
-4
-5
0
2
-51
-31
-3
8
-25
0
0
-21
3
28
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
3
0
0
0
-3
0
0
0
10
0
0
0
0
0
0
0
95
0
4
0
7
0
6
0
17
0
0
0
32
0
0
0
-1
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-2
0
0
0
6
0
0
0
0
0
0
0
-4
0
0
0
9
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
48
0
48
20
9
-1
90
-1
6
1
81
4
-25
3
55
-22
-4
0
13
79
5
-13
-14
12
44
-12
39
11
6
0
32
2
-48
0
-1
1
14
0
62
4
-13
0
5
-10
16
0
7
0
-63
0
19
-2
-79
0
32
-1
-1
0
-9
0
-29
0
-11
0
49
0
13
2
-1
0
-30
2
60
0
-1
13
30
0
0
-1
-26
0
1
-2
23
0
0
-1
-76
0
0
0
25
0
0
0
-25
0
0
0
-21
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
-4
0
3
0
36
0
9
0
36
0
24
0
50
0
2
0
70
0
22
0
41
0
-23
0
51
0
-30
0
-6
0
-6
0
46
0
1
0
-1
0
1
0
-10
0
0
0
1
0
2
0
77
0
4
0
9
0
0
0
-12
0
4
0
13
0
4
0
32
0
2
0
45
0
0
0
10
0
0
0
-26
0
-2
0
6
0
3
0
11
0
0
0
-33
0
0
0
0
0
0
0
3
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
4
67
-8
76
-78
44
25
14
45
55
-26
35
-53
53
-6
42
69
46
-46
18
30
29
23
-34
10
3
-23
20
3
22
3
39
59
29
3
-30
-7
29
1
-49
44
33
0
16
-14
23
0
-30
-12
14
29
62
12
23
-2
47
33
14
1
36
41
44
-2
9
-29
76
3
-3
-11
64
8
-6
62
31
-1
34
6
-57
-2
-34
-1
26
-6
11
5
0
0
152
-2
-19
-2
-13
-12
58
0
9
-7
47
0
-4
0
-5
0
1
15
-37
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
-8
0
0
0
18
0
-1
0
-11
0
2
0
1
0
6
0
-5
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
0
0
0
-3
0
0
0
-4
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
15
0
25
-51
41
4
1
6
25
0
69
9
71
0
22
112
23
-23
-23
5
-9
-8
101
15
32
7
-37
0
3
-1
-42
7
58
0
6
0
-5
0
1
2
62
0
1
-2
63
0
0
-12
21
0
12
2
-4
0
0
3
5
0
-1
0
-38
0
-2
2
-52
0
0
-1
39
0
26
-10
15
0
1
7
24
0
2
57
-11
0
-27
-3
102
0
-1
0
-86
0
0
0
-22
0
0
4
-6
0
0
0
0
0
0
0
-19
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
-1
0
28
0
25
0
39
0
17
0
100
0
57
0
50
0
-7
0
-15
0
0
0
14
0
-3
0
87
0
55
0
20
0
0
0
-2
0
13
0
-42
0
0
0
27
0
-3
0
12
0
-2
0
16
0
7
0
41
0
2
0
-3
0
-3
0
55
0
0
0
10
0
-1
0
68
0
3
0
81
0
6
0
10
0
0
0
-40
0
0
0
-10
0
0
0
7
0
-25
0
4
0
0
0
4
0
2
0
10
0
0
0
7
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
60
20
52
36
79
-6
41
64
-9
45
-15
6
44
50
-8
36
18
3
42
-88
8
2
75
29
55
10
98
81
21
-12
-8
17
73
11
67
80
20
-6
63
25
14
-9
27
-5
41
10
34
-19
-45
0
24
-3
11
0
-40
18
5
-4
-4
-4
-15
0
-3
-28
21
1
1
0
33
2
-7
29
28
0
85
-29
-28
-3
28
1
-2
-1
-35
-4
3
0
54
20
51
15
-39
-1
56
-3
13
22
61
0
15
0
-52
0
-9
-23
-27
0
-5
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
7
0
3
0
0
0
-11
0
3
0
9
0
0
0
52
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
13
0
0
0
0
0
0
0
-13
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
32
0
2
-3
73
-1
9
35
58
0
-3
-4
13
2
36
-10
40
0
-14
2
-28
-1
2
2
-17
0
24
-7
35
-4
-95
0
9
0
0
1
15
0
-9
0
9
0
0
6
11
0
15
0
9
0
8
-17
25
0
0
0
29
0
0
0
41
0
17
0
28
0
1
-2
-60
0
1
-1
-39
0
-19
1
-15
0
-9
-1
18
0
-1
-1
59
0
0
0
25
0
-3
-1
18
0
-5
0
-1
0
0
0
-7
0
0
0
0
0
0
0
-5
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
2
0
61
0
-19
0
10
0
2
0
91
0
39
0
-8
0
1
0
-33
0
14
0
-16
0
4
0
-7
0
-2
0
0
0
0
0
35
0
6
0
16
0
0
0
83
0
0
0
-4
0
0
0
-8
0
0
0
-12
0
-2
0
3
0
0
0
2
0
-3
0
60
0
-4
0
4
0
0
0
40
0
3
0
1
0
0
0
-11
0
-10
0
-2
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
67
10
74
9
68
-1
81
44
28
-27
32
59
64
10
-34
35
-28
-14
12
49
20
0
-59
-2
-24
11
14
48
-18
0
36
29
85
1
-3
4
-1
0
-2
61
29
-1
-14
-2
-19
0
-26
15
-15
0
38
-2
76
0
-4
2
13
1
39
-8
-12
0
-3
-41
32
0
-4
0
41
0
0
-14
28
-6
-13
2
48
0
52
11
-7
0
-11
-1
-51
0
2
-43
4
2
-35
15
77
0
12
0
47
0
6
0
-28
0
4
0
5
0
17
0
-90
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
-23
0
-1
0
32
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-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
-1
51
0
-56
8
53
0
2
-29
31
1
10
13
10
-6
-5
-10
-21
0
10
-3
35
0
3
-21
29
0
2
1
31
10
3
0
52
0
0
0
-18
0
0
1
26
0
15
0
-2
0
1
1
-40
0
0
8
3
0
0
1
-43
0
0
1
-3
0
1
-1
11
0
2
0
0
0
1
-1
-35
0
4
0
44
0
1
-1
7
0
0
0
32
0
-3
2
30
0
-1
0
-34
0
5
0
-4
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
13
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
17
0
-16
0
48
0
5
0
16
0
4
0
61
0
19
0
-45
0
6
0
41
0
-12
0
51
0
1
0
24
0
-52
0
2
0
0
0
36
0
0
0
3
0
0
0
5
0
6
0
9
0
0
0
35
0
7
0
10
0
0
0
20
0
-3
0
-3
0
7
0
-2
0
8
0
36
0
0
0
-11
0
3
0
13
0
0
0
-9
0
0
0
-16
0
0
0
7
0
0
0
-2
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
95
106
15
10
24
54
1
-13
-28
42
-6
22
19
64
5
65
57
32
-6
-13
76
18
9
28
-6
1
-3
41
-63
3
-29
40
16
46
0
73
-9
15
0
-47
4
30
0
25
22
86
0
11
25
6
1
-38
4
21
0
-54
10
20
0
-10
1
-3
9
-35
43
28
0
37
13
52
2
-5
-36
-32
0
4
54
-75
1
24
-54
37
0
-37
-1
63
2
7
0
-12
0
-7
-3
47
0
-23
11
43
0
0
-19
63
0
10
0
-21
0
-1
0
73
0
-1
-7
3
0
0
3
13
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
7
0
0
0
3
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
111
0
2
2
34
0
47
-4
28
0
-38
1
-26
1
59
6
57
-2
-2
-15
-28
0
-27
1
21
-1
2
2
-2
0
-16
0
38
0
0
1
36
0
1
0
2
0
-1
0
3
0
3
0
27
0
-3
-8
-40
0
-2
0
-22
0
0
0
25
0
0
-9
-4
0
0
-8
12
0
1
0
42
0
0
0
-23
0
0
0
32
0
0
1
-25
0
-6
2
-10
0
0
0
-24
0
0
8
1
0
0
0
-7
0
2
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
12
0
2
0
21
0
3
0
-8
0
-1
0
22
0
2
0
-14
0
-3
0
-19
0
0
0
9
0
1
0
-2
0
0
0
0
0
0
0
4
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-27
0
0
0
-1
0
0
0
-6
0
0
0
0
0
0
0
-7
0
0
0
1
0
0
0
29
0
1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
144
68
48
92
44
72
0
-1
114
44
-1
69
30
12
1
-15
15
45
-25
45
10
1
-8
6
-37
-24
18
-76
-35
34
0
15
18
31
0
20
-1
52
0
47
-17
34
0
-14
-7
36
0
-18
-5
47
-1
-16
4
9
0
-5
-27
8
0
-40
-14
26
0
-2
-1
45
-8
53
5
51
0
37
-9
-2
1
-39
4
-14
4
-16
-46
-97
-1
-42
36
77
0
-2
-5
-6
-1
-9
18
-2
0
-2
4
-33
0
0
3
42
0
0
0
83
0
3
0
5
0
7
0
-43
0
-3
-4
-49
0
0
0
7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
6
0
0
0
1
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
156
0
40
0
-4
0
12
9
-31
0
68
0
-39
0
-8
6
-49
7
-52
25
8
0
-19
18
39
0
-53
0
16
0
1
0
14
0
-10
0
16
0
5
-1
8
0
0
-8
-3
0
0
0
-1
0
-2
0
-10
0
0
0
7
0
0
0
5
0
-2
-1
64
0
7
8
12
0
4
0
60
0
0
0
-2
0
0
7
-1
0
0
0
-1
0
0
0
44
0
-8
0
6
0
0
0
-8
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-4
0
0
0
18
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-32
-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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
0
-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
17
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-87
0
27
3
45
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
0
-13
1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
-1
0
0
0
22
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
4
-17
1
1
-21
1
-38
0
-25
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
1
-7
1
-7
0
3
0
-35
0
41
-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
10
0
13
0
-4
0
1
0
28
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
30
7
-1
-9
12
7
-1
38
35
74
25
7
-36
-18
-12
32
-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
2
0
1
0
-7
0
0
0
19
0
1
0
21
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
1
23
-1
12
3
-27
1
-29
4
81
0
3
-9
30
0
-21
-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
7
0
4
0
20
0
2
0
-12
0
6
0
-18
0
-38
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
15
-9
-3
58
-18
38
2
29
-12
20
-15
-30
16
8
-1
-13
-9
39
-4
-14
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
1
0
-2
0
0
0
9
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-5
2
16
0
43
0
-12
7
75
-2
4
-11
-1
0
42
-2
7
-6
-8
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
11
0
20
0
8
0
26
0
12
0
18
0
24
0
45
0
-1
0
-31
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
-28
-11
7
7
-15
6
6
0
2
0
16
28
11
8
-8
24
27
-26
-24
17
78
76
-10
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
32
0
0
0
37
0
1
0
46
0
0
0
-12
0
-4
0
7
0
0
0
-2
0
10
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
9
-47
0
2
1
6
-4
7
25
14
0
-28
25
-19
-2
43
-7
19
2
17
14
-43
3
-39
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
-21
0
28
0
-19
0
-9
0
-40
0
-6
0
-19
0
-11
0
5
0
4
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-48
2
49
-11
73
-3
5
16
26
9
-9
33
26
-3
-20
-1
-5
33
83
-3
77
-25
39
-28
0
15
-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
12
0
3
0
15
0
0
0
-24
0
1
0
2
0
4
0
-19
0
3
0
-7
0
7
0
-27
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
7
-43
-3
-30
-24
53
-1
26
6
57
-2
-83
-4
-4
-2
49
13
1
0
0
-4
-19
3
1
2
-30
-3
-3
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
4
0
1
0
-7
0
-2
0
9
0
-1
0
0
0
-2
0
-35
0
0
0
7
0
-6
0
-6
0
8
0
-19
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
-6
0
33
0
0
2
-34
0
1
-7
44
-3
-9
-8
-49
6
-15
-10
-20
0
-2
-19
19
-1
-26
-16
-22
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
-1
0
0
0
0
0
0
0
-1
0
2
0
-7
0
-1
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
10
0
0
0
15
0
0
0
-4
0
0
2
-4
1
-4
2
29
1
3
1
11
0
-1
2
-21
7
18
-1
26
0
-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
1
0
0
0
0
0
0
0
2
0
0
0
4
0
0
0
1
0
1
0
-2
0
-1
0
-13
0
-15
0
-3
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-10
0
10
-2
-12
0
-2
-33
-3
-1
-16
-1
25
0
-19
-28
87
1
-17
4
-13
-3
-4
-1
-73
-24
-6
-3
15
0
-15
1
2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
-7
-1
-19
0
12
0
-2
0
10
-10
21
1
0
0
-10
0
-15
-9
14
6
-16
-10
3
0
21
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
1
0
0
0
0
0
0
0
1
0
1
0
3
0
19
0
6
0
24
0
-4
0
-15
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
-6
1
0
8
26
0
-6
-10
-61
0
-30
-8
-42
0
35
-2
-3
29
-11
-63
26
-6
9
-2
10
-4
29
37
-14
1
-23
0
10
0
28
0
4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
-6
0
0
0
10
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
-2
-8
0
0
-4
4
0
-16
2
-2
0
-4
0
3
0
3
4
-60
4
-2
-18
38
1
-19
-28
7
0
-3
0
-9
-1
37
0
2
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
-1
0
0
0
3
0
0
0
3
0
0
0
-1
0
0
0
-16
0
-8
0
-12
0
-1
0
35
0
-3
0
-20
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
1
2
-2
-21
-1
-3
-2
-7
0
-47
8
2
0
-27
-15
-70
-3
-15
-27
48
-12
42
28
-22
39
-9
22
30
-9
-35
-1
10
0
18
0
4
0
7
0
4
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
-1
0
-1
0
0
0
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
-2
0
1
1
3
0
2
0
10
0
0
0
1
0
-8
-9
-47
0
-16
-1
-19
3
-11
-18
36
2
-17
9
57
0
-6
0
8
0
1
0
1
0
6
0
16
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
9
0
0
0
2
0
0
0
-17
0
-7
0
0
0
-11
0
-15
0
1
0
42
0
7
0
39
0
1
0
41
0
-1
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-34
-6
9
-13
18
-2
12
9
-18
-19
21
16
-23
13
0
-18
-100
-1
0
-2
11
1
51
0
39
-16
14
-4
0
7
-62
0
-19
0
-15
0
22
0
3
-12
8
0
11
4
-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
1
0
0
0
0
0
0
0
-2
0
-1
0
1
0
0
0
-2
0
0
0
6
0
0
0
8
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-7
19
0
7
-1
82
0
15
3
35
0
9
-3
-7
0
-2
3
20
0
16
-7
40
0
-14
54
60
0
7
0
-15
0
0
0
0
0
0
0
18
0
13
0
-8
0
19
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
7
0
-9
0
1
0
12
0
8
0
6
0
-4
0
-11
0
0
0
-15
0
-18
0
1
0
0
0
-1
0
0
0
-3
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
19
6
-3
-1
5
0
-6
0
-42
9
-52
13
39
-4
1
39
-72
3
12
7
21
2
8
-26
2
-27
17
-18
129
8
30
0
-3
0
18
0
17
0
-1
8
8
0
-12
1
22
0
-4
0
-5
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
0
0
0
2
0
0
0
-6
0
0
0
2
0
0
0
15
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
34
0
9
0
25
0
-3
7
-7
0
-30
12
18
0
-6
2
-37
0
-13
0
19
0
-7
-16
-4
-2
13
-5
-19
0
6
-1
11
0
0
0
-25
0
0
-8
15
0
3
3
6
0
-19
-1
-10
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
22
0
-2
0
14
0
-10
0
-35
0
1
0
34
0
-2
0
-18
0
-1
0
-11
0
15
0
-1
0
-4
0
82
0
-24
0
1
0
0
0
4
0
1
0
0
0
-1
0
11
0
-1
0
-6
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
1
21
21
-15
7
12
17
-22
82
-7
-44
-3
-19
18
16
4
42
-24
29
-19
20
-7
23
1
29
-57
53
-27
32
0
-67
0
-8
-4
22
-2
33
1
0
0
9
4
-107
7
-12
-11
2
1
-4
-1
49
-13
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
3
0
0
0
-9
0
0
0
-2
0
-1
0
-3
0
4
0
-8
0
0
0
3
0
0
0
-10
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
4
3
0
-44
4
-35
0
17
8
11
0
-13
15
33
-3
30
4
-23
-2
-12
-2
6
0
-44
-27
-8
0
1
0
27
0
3
0
-5
0
-2
0
16
0
-2
0
15
0
1
0
-22
0
13
0
-28
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
19
0
0
0
16
0
0
0
10
0
3
0
18
0
-2
0
2
0
2
0
-41
0
-9
0
10
0
4
0
-6
0
7
0
4
0
0
0
-1
0
0
0
4
0
-1
0
-3
0
0
0
8
0
4
0
9
0
1
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
37
8
33
24
4
0
-2
28
19
-7
-34
9
16
0
-36
-9
-34
6
-1
30
69
8
-17
-9
103
-3
20
17
26
0
37
-13
22
-1
-21
1
23
0
12
24
-49
0
20
-4
46
0
17
10
9
11
12
2
8
-1
-19
-9
-17
3
-5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
8
0
0
0
8
0
-1
0
-6
0
0
0
-37
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
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
0
0
0
0
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
-13
-2
6
0
2
-2
-11
0
-9
-4
37
0
-8
-10
-7
2
2
-1
40
0
1
10
75
9
-19
3
22
0
-7
1
1
0
12
0
-42
0
-7
4
1
0
7
0
-2
0
3
0
25
0
6
0
-4
0
-6
0
39
-1
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
1
0
1
0
0
0
-4
0
2
0
-2
0
-2
0
9
0
0
0
-63
0
0
0
-13
0
7
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
0
0
0
-4
0
0
0
-1
0
0
0
-17
0
-2
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
-6
0
4
1
-1
-1
-56
-1
-11
-1
-2
0
0
1
-16
0
-6
-8
-47
0
-11
3
14
0
-3
4
-31
-7
-10
1
1
0
0
0
11
0
-3
0
-15
0
10
-2
41
0
-12
-3
-19
0
8
6
27
0
-3
4
-33
0
3
9
5
-6
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
2
13
0
1
0
-7
0
0
0
-26
0
7
-2
1
0
-7
-2
-25
0
-12
4
27
0
-6
-3
-1
2
-18
0
-2
0
0
-1
0
0
0
0
-1
0
0
0
3
0
-3
0
3
0
3
0
10
0
-8
-3
10
0
-7
6
-10
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-4
0
-1
0
-6
0
-1
0
6
0
0
0
2
0
0
0
-7
0
-26
0
-6
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
3
0
1
0
-13
0
-1
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
-1
-2
18
0
3
0
0
1
37
0
2
0
-4
-18
-74
0
1
-8
-4
1
-46
2
25
-3
-17
12
3
0
-5
0
4
0
2
0
4
0
0
1
-22
0
-9
1
-19
0
13
1
9
-1
-18
2
23
0
13
1
39
0
-32
1
20
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
0
10
0
1
-1
15
0
-1
0
27
0
10
1
-4
-2
-1
-1
-28
0
-16
8
26
0
-13
-3
27
0
2
0
0
0
0
0
0
0
0
-1
-6
0
-1
0
3
0
-1
-3
37
0
-2
0
-19
0
0
0
-9
0
6
0
-18
0
2
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
-7
0
0
0
-13
0
0
0
-29
0
-4
0
3
0
0
0
15
0
-10
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-8
0
0
0
6
0
-1
0
-7
0
1
0
21
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-30
0
12
1
-21
0
4
1
14
-2
-46
0
17
0
20
28
-10
2
-9
-7
17
0
14
-8
-37
2
-25
1
-41
9
16
-1
4
0
11
0
-9
1
2
0
-8
0
2
-1
7
1
0
2
12
3
-6
9
14
0
-15
-16
-22
1
-28
-28
7
-6
-24
0
-11
0
0
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
3
0
0
0
3
0
1
0
0
0
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
-1
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
-3
0
8
0
18
-1
24
0
0
0
-3
0
46
0
47
0
12
4
-36
0
-3
2
-59
2
9
0
-4
0
-15
0
2
0
0
0
0
0
-3
0
-3
0
0
0
-1
0
0
0
-9
0
2
-2
7
0
-11
0
-42
0
8
0
8
0
2
0
1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
1
0
0
0
0
0
0
0
-4
0
-2
0
-8
0
0
0
-19
0
-3
0
-40
0
11
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
-19
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-11
0
-28
0
33
0
28
11
37
0
-7
2
28
0
-37
7
37
4
10
-1
-17
0
40
0
-8
-3
-9
-2
43
-7
-38
1
2
0
0
0
16
1
-18
0
21
0
-4
1
-24
0
-10
8
-3
-1
10
-8
-4
-3
-14
1
-14
-1
28
-3
24
-3
18
0
38
0
1
2
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
0
0
0
0
0
0
0
0
0
0
0
0
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
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
28
1
-6
0
0
0
2
0
17
1
0
0
0
0
12
2
9
2
-1
0
25
-1
-7
0
5
0
-21
1
-1
0
-26
2
11
0
11
0
11
0
-7
0
-19
3
2
0
-9
0
0
-2
-3
0
6
0
44
0
11
-8
-5
0
-2
0
47
0
17
0
7
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-7
0
2
0
-3
0
-1
0
10
0
0
0
-7
0
3
0
0
0
8
0
23
0
19
0
-2
0
-1
0
2
0
1
0
18
0
3
0
20
0
2
0
-3
0
0
0
-7
0
-1
0
-17
0
0
0
5
0
4
0
0
0
0
0
0
0
0
0
2
0
-1
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-9
0
-8
1
12
-4
-35
3
-6
-17
18
7
41
3
34
0
-24
-17
-57
0
20
24
33
0
64
11
-71
-4
36
0
-11
0
-22
1
-4
0
-7
24
22
2
-10
11
43
1
9
-10
-71
0
39
-9
40
0
6
7
31
0
-11
-43
-77
-6
75
0
-1
0
-1
0
29
0
-7
2
-28
0
9
-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
2
0
0
0
1
0
0
0
3
0
0
0
-2
0
0
0
1
0
0
0
1
0
0
0
-8
0
0
0
0
0
0
0
-1
0
0
0
-3
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
1
0
-33
0
13
-1
24
-1
-1
1
-7
0
22
1
-1
0
4
-3
22
0
12
8
27
7
0
-7
-55
0
21
0
0
0
-1
-7
7
0
-3
-1
2
0
1
3
20
0
15
1
17
0
2
0
-6
0
-6
0
1
0
4
-4
51
0
2
0
4
0
0
0
-1
0
0
0
-7
0
-2
0
13
0
2
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
2
0
10
0
0
0
-6
0
0
0
-1
0
0
0
-14
0
4
0
-6
0
-12
0
-2
0
0
0
1
0
0
0
16
0
2
0
-1
0
1
0
10
0
0
0
2
0
1
0
18
0
-1
0
15
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
68
0
-13
-2
-10
-1
7
28
33
-3
25
12
9
0
-5
-7
55
1
16
-9
7
0
-13
-17
42
-2
40
-24
-12
-3
-28
2
29
-1
-18
-2
2
0
-4
6
-6
-2
10
6
42
0
-1
3
15
0
16
-4
-35
0
-4
-8
-11
1
-15
-4
8
-1
-10
0
-11
0
7
0
-7
0
9
-1
37
0
-6
0
-20
0
-19
0
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
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-2
0
0
0
0
0
0
0
9
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
11
0
16
0
4
3
49
0
9
0
7
0
-2
-2
-2
0
3
-1
-23
0
1
6
-41
-7
11
-2
22
0
-9
-1
9
0
4
0
-6
0
1
2
-25
-1
3
0
16
0
-26
0
26
0
-8
0
-8
0
-10
2
9
0
16
0
9
-1
-1
0
7
0
0
0
4
0
0
0
-19
0
0
0
7
0
0
0
-7
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
3
0
2
0
34
0
0
0
0
0
2
0
-16
0
-15
0
10
0
4
0
8
0
12
0
-7
0
1
0
-32
0
-3
0
0
0
0
0
0
0
0
0
6
0
-4
0
1
0
3
0
-18
0
0
0
4
0
4
0
-37
0
-1
0
-4
0
4
0
0
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
13
13
45
0
3
-46
17
0
33
6
49
0
-5
-15
29
-1
-4
-39
38
-8
0
-3
19
-12
34
-9
-72
-5
-6
-3
-7
0
17
-3
48
-1
-5
15
28
0
25
0
51
-6
-27
-9
9
-4
0
6
4
-3
13
0
22
0
-54
15
71
-1
-5
-1
2
0
-9
0
25
0
4
2
-9
0
0
-2
52
0
25
-1
39
1
0
0
-6
-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
1
0
0
0
0
0
4
0
0
0
0
0
0
0
4
0
1
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-6
0
0
0
1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
57
0
3
1
15
0
4
0
-11
0
9
-2
18
0
2
8
39
-10
1
7
-18
-4
-1
2
12
0
-65
0
-1
0
-1
-2
3
0
27
1
27
0
1
-1
38
1
4
2
-14
0
0
-6
0
0
-12
0
-7
0
11
-6
-33
-2
0
0
3
0
0
0
-9
0
0
0
-8
0
0
0
-13
0
1
0
-15
0
0
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
1
0
1
0
-1
0
0
0
-18
0
1
0
2
0
1
0
27
0
-18
0
-11
0
0
0
-5
0
-3
0
17
0
3
0
-1
0
0
0
0
0
1
0
8
0
0
0
3
0
2
0
1
0
1
0
-16
0
1
0
10
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
28
-3
-2
21
-8
8
0
16
24
0
0
-9
-7
34
0
48
-18
52
-2
5
40
-19
1
-19
-23
-37
-13
24
0
0
-2
-8
26
3
0
15
2
45
0
12
-7
7
0
28
0
35
0
8
11
-32
0
-9
11
17
0
2
39
66
-4
-39
-1
-2
0
26
16
14
0
-49
-4
2
0
1
-1
-28
0
6
1
22
0
-1
-9
-20
0
-24
12
-18
0
-12
1
-36
-1
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
6
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
0
0
-1
0
0
0
1
0
0
0
2
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
22
0
11
0
-35
1
9
0
23
0
15
0
33
0
13
-9
-3
-1
-3
4
-2
0
3
0
25
1
-9
0
37
0
0
12
-19
0
-17
-1
8
0
0
2
9
-1
-21
1
32
0
9
1
-39
-1
7
-1
-30
0
-10
-1
-30
0
-16
0
-9
0
-14
0
-4
0
7
0
7
0
-1
0
2
0
0
0
2
0
0
0
-3
0
1
0
4
0
-1
0
23
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
1
0
0
0
-2
0
0
0
-4
0
0
0
16
0
2
0
-13
0
1
0
1
0
-11
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
1
0
11
0
1
3
-51
1
-1
0
5
0
1
3
13
-2
-21
-1
-2
0
0
0
45
0
27
8
12
4
-13
0
0
0
0
0
0
0
0
0
-3
0
1
0
7
0
0
0
-17
0
-3
0
-8
0
3
0
-39
0
10
0
25
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
6
0
3
1
12
-1
0
0
9
0
2
0
3
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
-8
0
0
0
-8
0
-1
0
-4
0
-1
0
13
0
-1
0
43
0
-1
0
-10
0
-2
0
0
0
0
0
-1
0
0
0
1
0
-9
0
1
0
0
0
1
0
0
0
1
0
0
0
0
0
3
0
12
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
1
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-3
0
-2
0
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
19
0
21
0
1
3
68
0
1
0
-11
0
9
-13
-6
0
-19
0
-54
-1
-18
-35
-13
2
14
-1
-7
0
49
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
0
-2
0
-1
0
6
1
3
2
-9
0
3
0
-2
-1
3
0
0
0
-1
0
0
0
9
0
0
0
2
0
1
-1
-7
0
0
0
6
0
2
0
19
0
-3
0
13
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
-2
0
-3
0
1
0
-3
0
11
0
3
0
16
0
2
-8
50
0
-16
-4
-43
0
8
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
-2
3
0
3
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
2
0
0
-1
0
-2
0
0
0
-1
0
0
0
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
1
0
-6
0
1
0
1
0
4
0
1
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
13
0
6
-1
-18
-1
13
-1
19
0
10
0
-29
0
9
11
-23
-6
37
6
2
2
-29
-6
-48
-2
0
0
7
0
-5
-1
-4
0
0
0
-8
0
1
0
1
0
0
0
-4
0
-7
3
-15
0
16
3
-13
0
2
-1
17
0
-15
0
9
-4
-4
0
4
0
0
0
1
0
2
0
-3
0
0
0
-7
0
-3
0
23
2
0
1
-3
-1
4
-1
-42
0
0
0
13
0
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
-2
0
1
0
-6
0
6
0
-7
-1
-18
3
13
0
-2
1
0
0
0
0
6
0
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-8
0
0
0
-7
0
1
0
7
0
0
0
-25
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
2
0
-1
0
-2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
12
0
0
0
3
0
0
0
-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
1
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
0
2
-1
26
0
-11
0
-9
0
-1
-2
40
0
7
15
64
0
-40
-10
-12
3
-21
12
-38
0
-2
-6
-16
0
2
2
0
0
-1
0
4
0
-2
0
0
0
0
0
13
0
0
0
-8
2
10
0
10
0
7
0
-4
0
4
0
1
0
2
0
9
0
0
0
1
0
1
0
-18
0
-1
0
-3
0
0
7
25
1
-16
-1
-8
0
-4
1
-18
0
2
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
-1
0
9
0
3
0
-3
0
8
0
12
0
0
2
-1
-1
-26
0
-21
0
7
4
36
1
-32
0
-1
0
-19
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
4
0
-8
0
0
0
11
0
0
0
6
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
0
0
0
4
0
0
0
21
0
1
0
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
2
0
-1
0
2
0
0
0
-21
0
1
0
14
0
-3
0
11
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-3
3
17
0
-13
4
4
0
-12
-1
72
0
52
-2
5
0
-8
-7
-13
-3
32
29
-53
4
22
18
28
-1
-26
0
10
0
0
0
-1
0
1
0
-3
0
3
0
-17
1
3
0
-2
0
6
1
-6
0
-12
-1
10
0
6
1
38
0
15
0
3
0
0
0
11
0
0
0
0
0
1
-1
4
0
-3
0
-35
0
-3
0
-9
0
1
-1
13
0
-10
0
68
-1
13
0
0
0
0
0
0
0
0
0
-2
0
4
0
24
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
35
0
0
-1
-6
0
0
-1
7
0
0
-1
-16
0
0
0
19
0
26
-8
-20
0
-15
0
0
0
0
0
0
0
0
0
2
0
0
2
-1
0
-1
0
-6
0
2
0
1
0
0
0
10
0
0
0
10
0
4
0
1
0
0
0
-15
0
0
0
-1
0
0
1
-4
0
0
0
-8
0
0
0
0
0
0
0
-3
0
0
0
-3
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
3
0
0
0
1
0
0
0
-40
0
1
0
12
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
12
0
-3
-8
-3
0
9
-1
34
0
-1
8
0
0
-16
12
-13
0
-41
-16
-35
2
-2
8
7
0
4
0
15
0
0
0
0
0
1
-1
-7
0
-8
0
6
0
4
0
-7
0
4
0
10
0
1
10
41
0
-3
2
-7
0
-3
0
17
0
-1
0
1
0
0
0
-1
0
2
0
20
0
2
0
3
0
1
0
-4
0
0
-1
7
0
-11
0
72
0
3
0
0
0
0
0
0
0
0
0
-17
0
1
0
-33
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
-2
0
2
0
0
0
-3
0
8
0
-12
0
0
0
21
0
2
0
36
0
0
-1
28
0
-9
6
17
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
-1
0
1
0
-4
0
0
0
6
0
0
0
-30
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
-13
0
0
0
2
0
0
0
-2
0
0
0
0
0
-2
0
-9
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
8
0
1
0
-2
0
1
0
-7
0
3
0
-3
0
0
0
28
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-1
4
0
-23
0
-11
0
-11
0
-4
-2
29
0
32
12
-2
0
-14
8
5
0
5
-19
-6
0
21
0
-9
-12
-18
1
58
0
1
0
27
0
-8
0
46
0
3
0
-5
0
3
2
28
0
-3
0
36
0
-24
0
11
0
-7
0
3
6
2
-4
8
0
0
0
2
0
-6
-1
-30
0
0
0
-36
0
13
-10
-19
0
-10
-2
35
0
8
-2
15
0
-1
0
28
0
-15
0
0
0
0
-4
7
0
0
0
3
0
0
0
-10
0
0
0
-3
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
30
0
0
1
8
0
0
0
-6
0
12
0
19
0
-4
-2
15
0
-8
0
-7
0
0
0
36
0
-7
0
2
0
0
0
1
0
0
0
-1
0
0
0
1
0
0
0
8
0
0
0
9
0
-1
0
-12
0
0
0
-2
0
0
0
3
0
0
-1
2
0
2
0
0
0
0
0
-8
0
0
0
15
0
0
0
-20
0
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-27
0
-1
0
2
0
1
0
-15
0
-2
0
-6
0
0
0
50
0
1
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
49
0
-35
6
12
0
1
3
10
0
-15
-1
-8
0
-6
-10
30
2
-7
0
-8
0
15
-8
-22
6
-62
9
2
0
9
1
15
0
10
0
-11
0
-3
0
28
0
-4
0
16
0
0
4
12
0
-1
-1
-13
0
6
-2
-16
0
-22
0
10
0
-1
-2
-3
0
0
-1
0
0
2
3
6
0
0
0
18
0
0
2
-20
0
-15
0
-7
0
0
0
-12
0
-8
1
4
0
0
0
-10
0
0
0
2
0
0
0
6
0
1
0
2
0
3
0
0
0
0
0
12
0
0
0
9
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
54
0
15
0
2
0
0
0
13
0
3
0
-1
0
-8
-3
-20
1
-25
2
1
0
-2
0
15
0
-24
0
-13
0
0
0
0
0
-1
0
-1
0
0
-1
-2
0
0
0
0
0
0
0
-1
0
0
0
-24
0
0
0
10
0
0
0
-10
0
-1
0
28
0
1
0
0
0
4
0
6
0
0
0
-2
0
0
0
-7
0
0
0
0
0
0
0
28
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
6
0
0
0
0
0
0
0
0
0
0
1
1
1
0
2
21
44
9
41
-16
-23
10
0
59
26
13
28
6
-5
20
63
10
36
19
-25
-6
16
17
-7
63
4
2
-3
0
7
-7
-1
20
-12
27
11
-30
4
12
24
38
9
14
0
-20
21
-7
-17
5
14
21
-9
20
15
18
-15
56
-39
-1
-24
2
7
-6
-12
40
-21
-23
71
-4
53
-9
40
10
7
-10
-11
83
11
-12
-12
33
-7
7
7
35
16
-2
6
-16
-2
4
-11
11
14
8
9
7
4
-17
4
18
-17
-1
43
-48
-14
43
34
0
-4
-26
-19
17
11
1
-18
24
20
11
19
4
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
42
12
42
5
34
-25
-2
30
5
-66
16
12
19
-12
5
33
-36
9
-23
18
1
32
1
-15
-19
-13
-16
-26
36
-36
-19
18
-24
-34
4
17
-7
-7
0
21
-12
14
10
17
-8
37
-27
21
24
18
2
-17
3
10
-3
1
24
-24
13
-12
-3
65
28
-9
-15
-18
-26
25
-3
12
2
16
0
15
19
11
-10
1
-9
-8
1
-1
-2
2
2
0
1
9
16
0
-13
0
2
4
10
-2
0
-38
23
25
0
-8
0
0
-2
13
8
15
13
-13
-4
-1
13
-13
-4
-15
-1
1
0
-27
-6
-9
-1
-1
-2
8
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-7
-19
27
9
50
2
2
-25
-18
40
5
-38
1
9
-1
0
-1
0
2
4
5
-13
2
7
6
-4
-20
9
15
14
0
-15
19
-12
-31
53
-20
6
-3
29
11
-13
20
-12
-20
-22
12
1
-1
5
-7
-3
10
-12
28
2
15
9
-6
-21
7
12
-1
44
-17
-6
52
-18
-6
1
-3
10
1
9
-1
-3
0
1
-10
1
-11
8
2
5
14
-12
12
3
-43
-12
-19
-7
-1
-41
13
26
4
-32
7
-18
26
-1
-10
6
10
3
-13
-2
0
2
0
-6
-10
-2
0
-5
18
12
19
-46
-13
24
-56
15
-11
3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
-9
11
57
27
34
-18
-3
4
-2
-12
-19
2
-22
-8
-24
0
5
53
-16
-23
12
0
4
9
8
7
0
17
4
-22
-12
-10
-15
7
27
1
13
-2
12
-7
13
-1
-15
-2
0
-18
-27
34
-34
22
9
22
-80
-4
-2
-13
6
31
-3
2
-20
12
0
-12
-2
-4
1
0
1
1
9
-2
21
1
-1
0
0
-25
-17
-5
15
13
-27
-17
16
-3
7
-2
35
23
-24
-26
-11
37
-18
20
-6
-2
0
0
0
-9
0
-4
-8
0
0
0
-7
-44
1
-25
43
-33
-6
-8
12
7
-4
-14
-14
3
37
31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
9
11
-7
-6
22
-2
-16
28
10
8
22
-7
-17
0
5
-22
32
-32
13
-19
2
-19
44
-10
27
-16
-26
7
9
-5
1
4
5
10
2
20
1
11
15
-3
12
37
-19
14
40
2
-16
33
-31
22
10
-7
25
20
-33
22
1
-22
32
-5
-58
33
0
-3
-21
65
1
3
6
-26
-15
18
2
3
26
32
0
6
-14
-7
37
-47
24
26
20
-24
6
75
2
6
25
25
60
-67
24
0
6
0
4
41
-23
45
0
14
-6
-55
8
48
5
14
6
-6
15
59
-15
-1
24
6
-8
-18
80
-21
-1
0
13
9
11
-9
-10
27
29
-13
48
39
16
1
25
11
-10
18
0
-46
-6
-15
37
24
12
13
-25
-1
-16
34
13
6
36
32
4
-4
-22
-6
-8
-26
1
44
16
-29
25
-21
15
21
20
-6
-15
-1
11
-3
22
4
-20
-2
11
4
3
3
-23
11
10
17
27
12
12
-5
-15
-9
-3
11
6
0
26
23
19
-1
8
-7
6
15
12
-8
-3
-1
-4
0
0
0
1
0
-3
-9
0
1
1
-4
-8
7
-1
8
11
16
39
-21
9
-9
7
42
-13
1
-19
-3
10
17
-17
1
16
-29
6
-1
-9
0
-1
13
27
8
18
0
-6
-14
19
-24
15
26
48
9
-5
14
30
-7
-1
18
-15
-9
8
-6
29
29
25
4
-18
0
-2
15
-18
12
16
4
8
12
7
14
19
-3
-19
37
52
7
4
-5
-25
-4
24
17
-3
-1
4
-3
-26
-10
7
-27
-12
7
3
10
0
-3
-17
-29
-8
-1
40
-9
-32
-27
-23
-7
-9
0
1
4
59
-1
0
0
0
2
3
15
-9
0
3
2
-1
-1
-7
-6
3
0
3
10
10
0
-23
-16
24
-24
-6
17
-6
0
22
9
18
3
4
-4
0
-1
6
-7
10
1
-16
-18
-1
2
0
-13
-10
0
6
2
-3
0
-10
-12
14
12
15
-5
4
0
27
-6
3
0
-2
2
1
-2
1
-6
2
-3
-8
24
10
0
-3
-1
-18
4
3
0
9
-3
-9
19
-7
7
-16
-7
2
0
2
10
-21
-8
3
0
0
0
2
-18
-7
3
9
-1
6
0
0
3
6
1
0
-1
2
1
17
37
61
37
-8
-2
15
0
-4
-4
-9
1
-7
0
0
0
6
-11
-15
-2
21
3
0
0
0
-2
1
1
0
-2
1
-1
-82
2
-8
-59
24
-25
-13
-2
3
-16
1
-4
13
-2
1
0
3
35
-45
4
-60
16
0
-1
-1
-2
2
0
-2
28
-2
-7
37
14
4
-26
16
-25
-2
8
-5
26
-17
15
-56
-10
-6
4
6
0
0
-4
-4
-2
-6
7
-10
4
-5
9
1
-3
-52
-19
1
21
-3
2
3
6
8
2
1
3
6
-8
3
-19
29
-2
-3
-1
-3
-2
-3
1
-20
7
1
11
8
16
36
17
-19
-41
0
18
71
28
4
2
-4
1
22
4
19
-1
2
-12
-16
-7
15
-1
-7
-5
-18
17
26
-1
15
15
3
-17
-38
13
2
13
6
-7
12
13
-44
-18
10
0
19
4
-25
2
-21
-1
0
0
-22
-1
-8
-2
10
-19
-6
21
-14
-13
-4
-7
33
2
23
19
1
13
-2
-18
13
-12
28
0
-13
-2
8
2
7
7
-4
0
27
2
3
-13
-6
-31
43
-57
25
1
27
-23
-9
25
-13
17
-15
6
-15
7
0
-1
2
0
-1
15
0
-1
1
0
2
0
9
-13
-17
23
-22
9
12
-9
-3
-21
8
-5
-7
46
-15
3
33
18
-36
-1
-27
0
4
0
-3
0
0
0
0
0
0
0
0
0
-16
8
-26
26
18
-15
-23
13
-12
29
-15
-12
-7
39
30
-4
12
19
-3
-4
0
0
-2
1
1
0
-3
0
1
-1
0
-8
-29
-33
-36
-34
5
7
-11
-7
16
34
12
-5
11
19
-12
32
45
30
14
-18
17
-11
19
-7
13
-1
11
1
10
-6
6
1
-20
20
-1
-8
26
20
-5
0
-1
4
-11
-7
2
13
-2
18
-32
-6
5
33
-60
-27
37
-1
-9
6
10
-1
1
1
7
1
49
8
16
0
8
-5
53
0
-2
4
-3
8
-15
53
5
3
-38
3
15
2
-9
0
-7
0
-1
0
-6
0
1
-1
2
-2
-7
18
4
4
22
8
46
-3
9
13
-16
-9
-10
24
-24
-46
-3
-28
20
19
6
0
-1
0
0
0
-3
0
0
0
0
-6
5
-14
-57
32
-3
6
16
0
13
-4
1
13
37
17
30
-38
53
4
40
-18
-11
13
11
28
8
-10
6
-1
0
3
-4
-1
31
-4
2
36
-5
-4
-46
-3
26
-24
-27
14
-23
-51
26
34
20
17
2
0
12
0
-7
2
-4
0
-2
1
0
-1
-2
-3
-50
-11
-26
21
-16
12
-3
1
1
42
-31
-13
18
24
-3
5
-17
2
0
0
17
1
-2
12
-10
0
-4
0
1
0
1
-11
-23
6
-15
47
15
11
23
7
4
-9
-6
-46
17
-9
59
-6
-9
-34
-27
5
-9
16
-19
28
-44
20
22
-10
41
-2
-2
-5
-2
-3
12
-22
24
15
18
0
0
12
-3
19
39
-8
2
1
9
1
19
34
1
9
15
18
9
10
26
-9
-3
24
15
-34
17
-17
37
-4
11
6
12
-2
42
-25
40
15
-29
20
0
12
4
-32
12
-17
21
-13
9
6
13
6
-2
-10
2
-35
-19
39
-9
61
-42
-35
24
1
-42
48
49
-3
-10
21
-2
-4
0
4
-12
-1
38
22
13
-3
-7
5
-8
20
14
51
7
7
1
-10
-14
-25
-7
-6
5
6
8
61
5
-7
-20
20
32
11
4
2
-1
12
23
15
24
46
13
30
27
-24
-81
-22
65
-8
23
-19
-22
13
34
25
11
3
-4
-19
-5
9
-5
36
5
-42
-3
0
-18
10
6
-1
-2
7
-9
3
-13
-16
19
-4
0
-12
3
-17
30
-1
-22
6
-7
0
-25
27
13
18
8
7
9
-3
1
25
-25
-18
-11
24
37
18
-9
32
6
10
21
0
4
1
12
4
0
0
4
-19
-10
0
-1
-6
-27
1
1
-13
7
-2
14
30
6
20
-20
2
-15
-1
6
3
8
9
-6
0
-10
0
4
-1
-2
0
-1
0
0
-4
-4
2
0
-1
-2
1
-1
0
-5
-15
13
4
11
-4
-8
2
13
9
-5
33
-55
9
-1
-1
-39
21
13
-2
-15
-34
16
-19
15
0
-17
6
10
-20
18
29
2
11
14
1
-24
-1
26
9
9
22
12
8
45
-3
-7
-7
30
-12
-8
4
18
-3
3
-10
-7
7
13
-3
-15
-7
-2
7
3
22
23
-40
52
-1
12
-1
27
10
-4
-3
25
7
0
1
-1
4
-15
2
0
4
0
0
2
2
-7
0
6
0
0
-9
-13
16
-2
10
-41
18
-22
1
0
1
-9
-1
2
1
-1
-1
8
0
11
0
11
-1
-1
0
3
-3
-3
3
7
3
1
2
-17
-11
-9
28
-32
7
4
7
12
8
22
4
4
0
-1
0
10
-8
9
1
0
-7
2
0
3
-10
4
0
2
0
0
11
-24
-8
-14
-13
-21
3
1
0
9
-4
-2
-8
1
0
0
0
4
7
-12
2
-1
0
4
1
-2
-4
0
0
0
0
0
0
24
6
27
-19
-18
0
11
0
1
2
-11
-2
0
0
0
0
0
-21
3
-1
-7
0
0
0
0
0
0
0
0
-9
1
0
8
31
-31
-13
-11
0
9
0
-4
-8
0
-1
3
0
0
-2
0
8
0
0
1
2
0
0
1
6
-8
0
0
0
-2
1
11
-5
-5
-17
32
0
-6
0
-10
4
-27
-22
-15
3
1
13
-8
4
33
7
18
0
-19
0
0
-24
-9
4
-3
7
33
6
46
-9
0
7
-5
2
26
0
-3
-2
-7
4
38
-1
-3
0
1
0
-1
-2
-6
-2
8
-3
2
-5
-20
-7
-18
1
-4
8
3
-80
-8
50
15
-5
0
-12
33
10
6
6
30
4
-4
-9
-2
-2
0
1
-4
11
3
-11
-1
-22
-7
-11
-13
-24
4
1
0
16
30
-1
-7
3
0
0
-9
2
4
-1
0
1
0
0
-10
0
-5
-2
-7
38
53
-10
1
6
36
-7
-15
31
-41
3
1
0
13
-2
-26
13
-3
-2
-1
11
6
0
0
0
0
-1
-16
-3
-2
-4
-5
-10
31
11
1
13
20
-5
-19
-25
9
23
14
-40
-9
-10
22
-1
10
-1
24
-7
-4
0
10
0
0
1
-2
1
-14
-3
34
11
12
10
21
21
13
-1
63
-6
-44
-20
12
24
-20
1
-18
4
2
2
-9
1
1
2
0
-2
-1
1
6
-4
3
9
-28
-13
-36
-2
11
43
32
32
-13
10
-22
37
18
-15
5
3
-29
0
9
0
3
0
0
0
0
0
0
0
0
-3
-8
46
30
5
-57
-2
-13
37
45
-28
-10
35
-15
37
20
-12
-7
18
6
16
0
0
3
2
-2
0
0
0
1
1
8
-5
-13
-8
-59
28
-33
46
-7
25
24
35
4
-1
46
-23
-1
-2
13
6
-24
-11
27
1
-14
0
1
-6
2
7
-12
-8
16
-3
-34
4
20
-23
48
-13
-18
0
-2
2
-10
-9
-16
-30
3
31
-15
3
27
-2
11
0
16
17
3
-8
2
-3
-1
0
4
11
1
-1
-24
50
-13
-5
24
0
7
6
8
8
8
10
1
-13
-23
-19
-19
-12
9
0
-6
0
11
1
-6
1
0
0
2
-15
13
31
29
-5
41
-8
-12
-2
-25
-34
37
-4
35
-15
21
40
-5
-33
22
4
-1
7
10
1
2
3
3
0
0
0
0
-27
-7
7
23
-9
8
-7
-14
-1
-6
-15
-32
-21
-4
-12
44
-2
-26
-16
21
-1
41
0
6
0
13
1
-9
0
-1
0
-1
-20
5
-21
39
-2
19
-3
60
22
8
26
7
21
23
6
-19
26
-8
44
16
-3
-4
-1
1
6
5
0
-1
-2
1
0
0
1
-34
-1
8
0
-16
-17
-10
-12
4
62
-40
-33
82
-18
24
5
41
7
-72
2
6
0
6
-16
-11
-1
10
-1
0
0
2
-6
-14
-12
-50
41
28
-18
18
22
2
4
63
-31
-4
-57
2
8
0
3
2
-6
-12
13
-3
-21
-3
11
29
-19
-3
9
12
2
-1
-6
-1
6
-17
6
16
-2
-7
-12
-7
8
20
31
22
1
6
16
3
12
26
46
-7
-1
9
35
8
16
22
-5
1
28
20
5
-9
13
17
-7
1
7
17
-6
33
-7
-11
39
-6
0
-4
-2
-4
10
-1
4
-6
2
39
3
29
-9
-1
25
-52
32
7
-14
-28
28
20
0
-11
15
13
-6
-61
14
53
-24
-10
-4
-3
14
10
-34
10
-20
9
3
-3
30
-12
37
-10
-16
3
24
-19
45
19
-27
17
-22
16
12
9
22
30
-35
17
-10
-14
17
-14
-5
-14
-10
12
-7
-5
25
-12
43
-21
62
-13
-9
1
24
86
7
-12
-7
-2
-2
-18
15
24
-19
21
2
-41
30
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
20
-20
39
23
9
12
-13
2
28
1
12
6
0
-3
-24
14
-3
-40
60
15
0
-3
16
39
6
-9
-19
-37
7
-29
11
7
-8
24
-29
42
-6
15
-25
-5
-1
6
0
18
-16
-1
-18
14
-28
0
11
45
22
4
1
46
8
0
13
-15
-10
3
-21
-4
26
10
16
20
18
11
11
7
10
10
12
16
2
-6
-11
-14
5
-42
-13
-16
-3
-2
3
-12
-1
11
-3
16
-15
-2
8
-16
-9
41
-4
-8
27
-9
6
6
-44
15
10
8
-1
0
-3
-4
19
-18
-26
0
10
1
16
1
-7
-4
-6
-1
-20
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
-15
-17
7
-21
72
16
4
26
17
-6
27
7
-42
15
15
10
0
1
2
5
8
8
21
1
0
4
1
28
-7
1
40
4
5
-20
56
-5
3
4
10
29
-6
1
-26
-6
13
1
2
-10
-1
0
3
-1
-11
-23
4
10
33
34
-47
15
-14
-5
-3
11
5
5
15
33
-1
10
1
10
18
32
0
-54
6
-2
0
22
0
-1
10
8
-16
-2
7
-21
2
17
17
-32
-56
12
-25
2
8
-47
-15
35
1
2
-11
10
-3
-25
41
2
-1
15
-16
-10
0
-9
-4
-18
-10
-20
4
-46
-19
14
5
-3
2
-15
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
20
-47
-8
-13
10
22
-1
8
-42
44
4
10
10
-35
7
-14
6
36
14
-10
7
-10
-12
8
0
0
12
1
5
-6
-22
5
39
-40
7
27
-9
19
1
10
31
-5
-8
22
4
6
9
39
39
24
-7
-85
29
14
-33
-26
-1
-7
-5
-16
-7
-4
13
3
0
-16
-1
-9
-19
2
0
-1
11
0
-13
10
-24
-1
3
-9
17
-26
49
37
45
17
-18
-6
-5
-8
-46
1
4
23
-18
-11
-7
8
0
-7
-2
-8
2
7
-6
10
-3
12
32
-41
-9
8
-17
-63
12
39
44
-7
-26
-39
-6
-15
-13
-7
45
57
-25
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
35
-14
10
18
-13
-27
35
-3
21
2
1
16
9
-5
16
27
26
40
-43
15
-11
-37
17
-18
-6
-4
-23
-7
3
6
34
-15
6
-7
14
37
42
25
-20
-22
23
-2
11
5
23
0
-1
-6
-32
-13
-6
16
3
-5
17
-20
-1
-1
-7
-2
8
-18
1
12
66
29
-1
6
45
-17
35
13
4
-2
-13
-19
2
2
-33
18
0
1
20
-2
-11
41
1
3
-27
39
35
-3
-8
2
16
3
4
-25
55
32
5
6
18
4
16
-19
-16
1
-5
28
10
-1
47
-1
0
-32
6
-8
-1
0
22
-41
26
-40
-15
14
85
40
3
30
10
35
44
15
7
18
7
2
1
17
-3
-8
6
-17
-2
-6
7
3
3
8
0
8
-17
6
0
-28
-10
-1
-12
14
14
7
-19
24
6
21
-1
18
-4
-15
-10
-9
-14
-45
7
-19
9
20
0
-2
27
39
0
2
-1
11
2
4
-7
0
15
-38
19
-6
12
19
2
1
-11
-7
9
7
0
-6
14
-7
-2
-28
-1
-1
-1
0
-2
-1
1
0
0
-1
1
12
-6
8
-32
10
12
39
28
-20
9
-11
6
2
9
25
13
11
-17
-19
21
19
0
-18
3
-2
-9
7
1
-1
-28
-9
0
-1
5
7
8
-16
-25
72
12
24
-9
37
10
32
-4
11
-8
-3
7
10
15
2
-21
0
0
-7
41
6
15
4
17
0
-6
6
51
-28
65
22
4
2
-32
-14
-28
28
2
8
-36
16
-4
3
8
5
0
0
6
-3
0
-1
16
-2
-3
-1
-32
15
-3
0
-5
-14
17
-65
3
16
9
-7
-7
-2
-2
-11
2
-6
0
-9
11
1
-2
3
0
0
0
0
1
2
0
1
6
0
-1
15
18
-1
-4
-50
4
13
2
-6
20
7
20
17
2
-11
3
-22
7
8
-1
9
3
0
0
0
-4
1
1
12
-15
-2
0
6
20
-1
1
23
19
9
-12
9
21
-41
1
6
8
11
0
-6
8
-6
2
-1
2
2
0
-1
4
0
0
0
-2
0
0
-32
6
9
-16
40
-5
39
1
-3
-17
-27
2
0
15
0
0
0
6
10
1
2
0
-1
0
0
6
6
-1
0
0
3
0
-1
4
-30
11
50
3
30
1
7
-4
-9
0
-1
-1
0
0
1
18
6
-8
-13
0
0
0
0
0
-9
-1
0
-1
0
0
-35
-15
-63
13
-39
-16
19
2
0
-28
13
24
-1
0
0
0
0
-30
-8
-2
13
-10
-1
-1
-1
-2
21
0
-2
10
0
0
21
13
44
-2
14
10
19
-2
-35
-20
13
8
17
-7
0
12
-1
0
0
3
-4
0
12
17
0
-3
-7
-6
-7
22
-12
2
-7
28
-3
0
-9
-15
8
-11
-2
2
-5
-6
15
-4
-7
-12
12
1
0
10
0
11
-14
10
-3
6
-5
7
-28
44
4
-2
-18
-4
26
-25
45
4
-8
1
9
0
3
3
0
0
0
-1
-3
0
-1
7
2
27
24
-8
-35
-11
-15
19
-25
43
14
-14
-20
-9
-13
21
-2
11
-25
3
-44
-9
0
-1
-17
-3
6
0
-9
-2
-2
5
6
11
3
4
-3
-1
-7
-17
-29
-43
-61
-40
8
16
-8
10
18
15
32
0
-4
24
2
1
0
0
6
0
-1
5
-10
12
12
18
-44
-12
-31
11
26
-16
2
-8
21
46
20
14
-8
-6
-16
-10
-13
0
27
0
3
0
0
0
-2
0
0
19
-2
-25
-25
28
19
-36
-28
-22
21
-4
8
23
32
2
3
7
15
-2
-27
-6
0
-2
0
0
0
0
0
-1
0
0
0
3
4
11
7
-25
49
34
-38
-66
46
21
2
-47
7
21
14
15
-26
-8
-21
8
27
-1
-3
1
0
0
-1
3
0
0
0
4
-7
5
15
16
-14
-50
-16
4
37
6
-8
-25
-12
-16
-2
-13
9
14
38
-5
2
0
-12
7
-42
6
-10
0
-1
0
0
2
-10
-2
-24
-44
-9
-26
48
0
-6
-1
-2
-17
-20
18
2
3
4
-9
39
42
-12
9
-11
-11
-12
8
6
-1
-3
1
-3
-8
-66
14
-20
6
17
-8
8
-4
1
21
10
14
-6
3
5
0
7
-14
24
-1
1
0
-1
2
-12
-1
0
0
0
0
1
9
23
-37
-38
3
10
-4
16
-2
-3
12
5
-4
-7
-25
16
-27
13
-17
12
-2
1
0
-2
-10
15
0
-2
0
0
0
0
-1
-22
-19
8
16
6
-2
12
-5
-14
-20
13
-1
80
-52
-2
22
6
16
-21
-24
-19
1
35
6
60
0
12
-3
0
0
0
2
-9
-22
28
-1
-2
25
-6
13
11
20
-13
26
-22
21
-9
0
-10
29
24
-10
36
0
1
13
0
0
3
0
-12
1
0
-4
6
-14
16
-17
9
-2
-3
-10
-27
8
-15
13
21
-8
16
-6
10
-19
0
13
40
-6
-10
-2
2
-1
1
0
-4
1
0
6
20
13
5
7
7
22
10
-1
14
-2
32
1
-9
-32
41
2
4
-1
-9
43
-14
-12
-16
1
23
-15
6
26
-12
17
-51
-4
-6
-20
8
-10
-11
-7
3
6
-9
-6
33
-22
-19
-11
-25
-1
0
-19
8
10
11
-3
4
18
3
39
30
-13
-6
-3
4
30
34
8
-44
15
-20
1
-9
23
21
26
-22
9
4
28
25
-5
0
1
16
21
14
7
-13
2
11
12
-26
42
-30
5
15
47
-32
-18
18
2
4
-24
-6
-20
54
-6
-48
-29
-4
-2
13
5
8
23
18
26
27
-18
24
11
14
-11
-27
17
27
12
4
-21
5
16
-6
-6
16
0
33
-1
7
-28
12
-13
10
3
10
15
-2
-6
3
17
20
-2
50
50
-27
4
10
-9
-20
-4
-8
-30
63
-5
-30
-7
7
9
12
0
19
-1
12
-9
37
-6
-7
25
11
6
-21
9
-10
-3
-43
4
21
-7
0
0
8
0
-6
19
21
3
-7
0
-6
-2
3
-9
-11
2
-3
38
-4
1
-9
-22
-24
14
-23
39
72
-7
-2
-25
21
3
12
0
-16
0
9
-29
-10
-3
3
6
-1
-1
0
7
0
0
2
1
0
0
1
33
6
7
0
-8
16
0
0
24
-26
-2
8
1
-3
0
0
-2
-6
0
0
0
0
0
0
3
-6
0
-1
0
0
1
-28
32
-13
-14
30
8
2
9
-19
-11
8
-16
-1
10
-12
0
-2
27
-28
2
10
-1
-1
0
1
-5
-26
-3
-8
20
0
-2
-18
4
5
-1
28
-14
21
3
22
-12
10
20
-7
15
26
-3
-4
-24
-8
0
10
4
4
0
-3
13
-1
-1
2
8
-21
0
-31
-5
17
36
-19
-9
49
0
6
0
-18
-2
9
2
-13
0
-2
-25
-7
2
4
1
-3
0
0
8
2
2
0
-12
-4
0
-1
6
35
-1
-19
-19
6
3
-1
0
-1
25
2
-1
1
-1
1
4
4
-1
0
6
1
0
-2
21
-8
0
0
-1
1
0
-26
17
8
-2
-22
15
17
-1
19
-29
28
-1
2
-1
-8
0
0
28
15
0
-3
2
8
1
1
6
0
1
0
4
0
0
-28
16
-39
17
-46
4
-11
2
-1
25
0
0
0
0
3
0
1
7
-13
3
-1
0
0
0
0
-1
9
0
0
0
2
-2
-16
10
-14
27
-10
18
7
1
4
0
6
0
-1
0
0
0
0
0
-13
-1
0
1
0
0
0
11
-18
0
0
0
-2
0
-23
-19
-14
54
26
-13
0
-2
-4
-2
-7
0
1
0
0
0
0
21
-18
0
0
0
-1
0
-1
-1
-8
0
0
-1
0
0
19
-1
-2
16
46
-6
8
-1
-10
-1
3
1
2
0
1
0
0
-15
33
24
-4
-8
-3
0
0
8
-10
3
0
-18
-7
0
-9
13
-5
12
44
25
-35
21
-15
-16
-26
7
3
-7
-20
-4
-9
1
2
3
-2
5
-14
-9
-20
-1
17
10
-11
0
-24
-17
-15
8
-28
71
-14
24
-13
-10
29
24
0
28
-12
-6
19
-7
-28
0
0
-2
-1
-10
-10
-18
7
17
0
10
-13
-11
-12
-2
-8
8
-2
17
7
25
3
-4
-7
16
2
2
0
3
-4
0
1
-1
-2
-9
-10
12
-22
-13
-13
-26
0
18
3
29
37
56
0
-20
42
-6
-10
16
14
1
-8
8
-16
0
9
6
4
0
1
-1
2
-5
17
9
4
-15
-26
-1
-38
-31
5
14
-20
-48
18
8
14
-18
8
11
-20
0
9
0
-7
2
9
2
0
2
-1
0
11
-1
-12
53
31
-2
23
39
20
-59
50
5
-22
-22
8
9
-10
15
13
-3
4
1
3
-24
37
0
1
0
0
1
-4
4
-1
6
7
-12
-12
15
-3
-28
-3
-7
-4
19
-4
21
-47
4
-25
-6
-10
7
-2
0
0
4
0
0
0
0
0
0
0
8
-5
0
6
10
20
-23
36
1
2
7
16
22
0
0
0
46
-7
-7
-50
-19
6
-1
3
-3
6
-1
0
7
-4
0
0
-5
-3
4
37
92
35
37
15
-56
2
3
8
8
1
-13
-12
-4
25
4
-21
-1
-1
-11
10
8
-2
-7
6
12
-2
-1
-9
-9
-21
-13
3
3
30
-16
49
0
-1
2
-4
-17
4
-5
4
7
20
37
-14
-3
-20
0
3
-18
18
0
1
0
-1
0
1
8
-9
10
31
2
18
-15
-12
2
-4
4
-7
-20
-17
14
-15
-11
9
-6
3
8
-6
-1
3
1
-7
-1
0
0
0
0
0
-1
17
6
32
-19
28
28
-33
-3
26
30
40
0
-4
69
-5
-3
-3
9
18
0
21
0
-1
0
15
0
-3
-2
-1
0
-2
31
35
8
-31
-28
29
3
-1
-5
-4
7
-4
-13
-26
-28
4
-12
-12
10
17
-16
12
2
3
17
-12
0
-2
0
0
2
2
8
29
19
34
-55
48
1
-47
-11
-3
-21
28
14
22
-2
25
24
-10
43
9
7
-44
-2
0
12
19
-1
0
0
0
0
0
-1
-2
-31
15
4
7
-21
1
18
15
-30
0
-11
2
28
-1
-2
37
10
-3
-13
11
-1
1
-16
8
0
0
-1
1
0
0
-7
-19
31
-3
-41
26
18
-32
12
-4
-12
22
-32
-2
-11
-24
0
-4
-18
-3
14
8
10
-10
9
16
45
12
21
-12
17
-21
1
-7
2
-4
0
-1
-8
-2
1
-1
11
12
7
16
-26
-39
-1
-6
-2
-13
0
0
0
0
32
-14
-8
32
0
0
0
0
19
6
40
-5
0
0
0
0
-24
-24
12
11
0
0
0
0
3
3
-3
-4
0
0
0
0
-18
-14
28
5
0
0
0
0
100
3
26
34
0
0
0
0
-44
30
-2
27
0
0
0
0
16
-4
22
16
0
0
0
0
-21
32
28
-11
0
0
0
0
11
0
-9
-20
0
0
0
0
3
8
32
21
0
0
0
0
6
0
32
-16
0
0
0
0
51
22
23
-1
0
0
0
0
9
17
-19
-17
0
0
0
0
-17
20
-11
-19
0
0
0
0
11
28
12
12
0
0
0
0
22
-12
29
-35
0
0
0
0
12
22
0
3
0
0
0
0
28
-2
8
-6
0
0
0
0
5
-18
-13
-11
0
0
0
0
1
19
41
2
0
0
0
0
2
-12
-3
-15
0
0
0
0
17
26
8
7
0
0
0
0
11
9
18
4
0
0
0
0
8
10
2
8
0
0
0
0
-18
18
-7
-2
0
0
0
0
0
-2
-1
0
0
0
0
0
-7
-1
2
-1
0
0
0
0
-9
38
-10
10
0
0
0
0
22
2
10
-19
0
0
0
0
5
4
1
-1
0
0
0
0
19
20
-6
20
0
0
0
0
1
33
21
0
0
0
0
0
25
7
9
46
0
0
0
0
18
12
11
25
0
0
0
0
3
-16
27
26
0
0
0
0
-17
23
9
15
0
0
0
0
10
-11
9
-13
0
0
0
0
0
-15
-2
12
0
0
0
0
1
11
-3
38
0
0
0
0
24
-4
-21
7
0
0
0
0
-15
-6
-6
24
0
0
0
0
-20
38
-15
-2
0
0
0
0
25
28
6
-22
0
0
0
0
-19
-1
6
-4
0
0
0
0
-7
-7
11
37
0
0
0
0
-9
10
3
-4
0
0
0
0
1
66
6
11
0
0
0
0
-28
-13
-10
9
0
0
0
0
21
-1
8
-3
0
0
0
0
5
10
-10
1
0
0
0
0
38
-34
9
-7
0
0
0
0
3
-2
-2
1
0
0
0
0
-5
47
-6
4
0
0
0
0
-44
25
-4
8
0
0
0
0
-2
-16
-19
60
0
0
0
0
-4
-1
1
-7
0
0
0
0
-22
30
9
6
0
0
0
0
5
-10
-13
-9
0
0
0
0
50
-26
-34
32
0
0
0
0
9
13
-6
-28
0
0
0
0
-36
11
-10
-36
0
0
0
0
22
-22
-12
-2
0
0
0
0
11
4
62
30
0
0
0
0
-15
2
2
-13
0
0
0
0
0
0
-2
4
0
0
0
0
4
31
14
28
0
0
0
0
19
11
-11
-28
0
0
0
0
-18
19
-2
-3
0
0
0
0
0
-1
0
-5
0
0
0
0
-2
-1
-18
5
0
0
0
0
26
39
13
16
0
0
0
0
20
-19
-4
18
0
0
0
0
-4
-1
18
6
0
0
0
0
17
53
13
9
0
0
0
0
0
-54
15
20
0
0
0
0
49
-82
-46
11
0
0
0
0
-2
-6
8
-4
0
0
0
0
11
45
-25
5
0
0
0
0
-12
10
-6
1
0
0
0
0
-21
32
12
-3
0
0
0
0
-7
11
0
-24
0
0
0
0
24
15
-1
34
0
0
0
0
-18
2
-21
11
0
0
0
0
19
28
-2
-2
0
0
0
0
-1
-29
18
-11
0
0
0
0
22
62
20
-38
0
0
0
0
-15
18
-18
7
0
0
0
0
-11
-18
0
-3
0
0
0
0
1
5
0
5
0
0
0
0
39
-31
0
32
0
0
0
0
17
-14
-9
-30
0
0
0
0
-4
25
-2
4
0
0
0
0
16
17
5
-40
0
0
0
0
2
-18
-11
-24
0
0
0
0
21
14
-24
59
0
0
0
0
-17
-7
-6
26
0
0
0
0
-8
-16
19
-43
0
0
0
0
0
-2
-8
-13
0
0
0
0
21
24
20
-10
0
0
0
0
18
74
-10
-7
0
0
0
0
-3
13
36
4
0
0
0
0
-6
3
2
20
0
0
0
0
12
59
22
-59
0
0
0
0
-2
-41
-8
-4
0
0
0
0
12
-25
1
34
0
0
0
0
-11
-11
3
-15
0
0
0
0
8
0
-2
28
0
0
0
0
-2
37
4
-16
0
0
0
0
-3
13
-34
-35
0
0
0
0
3
13
-3
-17
0
0
0
0
9
-6
16
12
0
0
0
0
67
0
-11
2
0
0
0
0
-1
7
-11
15
0
0
0
0
-3
13
-20
24
0
0
0
0
-6
9
49
28
0
0
0
0
21
-18
18
-21
0
0
0
0
17
12
-38
-17
0
0
0
0
-18
-60
23
-41
0
0
0
0
-9
17
6
28
0
0
0
0
22
-33
2
-3
0
0
0
0
19
1
-35
-1
0
0
0
0
13
8
-18
-2
0
0
0
0
0
0
-15
-4
0
0
0
0
-23
2
-23
-3
0
0
0
0
-5
-7
2
-10
0
0
0
0
2
-20
0
-24
0
0
0
0
0
1
10
-10
0
0
0
0
-6
11
-24
-12
0
0
0
0
9
-6
26
-14
0
0
0
0
-19
16
23
-1
0
0
0
0
3
-2
12
12
0
0
0
0
22
-11
35
23
0
0
0
0
15
2
-13
20
0
0
0
0
-55
21
10
16
0
0
0
0
16
15
19
2
0
0
0
0
38
-8
-17
-33
0
0
0
0
-21
-8
9
4
0
0
0
0
31
-3
12
4
0
0
0
0
19
-1
-6
-8
0
0
0
0
23
25
14
16
0
0
0
0
5
10
-12
-28
0
0
0
0
-6
3
-1
40
0
0
0
0
25
15
-20
-3
0
0
0
0
-22
-8
11
3
0
0
0
0
-45
-4
3
1
0
0
0
0
50
35
0
3
0
0
0
0
11
13
-4
5
0
0
0
0
5
38
0
13
0
0
0
0
-1
-3
-2
12
0
0
0
0
2
3
0
0
0
0
0
0
4
24
-15
-9
0
0
0
0
19
15
-3
-2
0
0
0
0
4
-2
-6
0
0
0
0
0
2
0
0
0
0
0
0
0
-21
-22
8
7
0
0
0
0
-20
-34
7
15
0
0
0
0
9
64
4
-18
0
0
0
0
-15
0
-2
1
0
0
0
0
-8
14
-9
43
0
0
0
0
-3
8
-8
19
0
0
0
0
6
-6
6
0
0
0
0
0
0
-8
1
0
0
0
0
0
37
24
-1
53
0
0
0
0
15
17
15
-30
0
0
0
0
13
-8
0
0
0
0
0
0
-8
-26
2
0
0
0
0
0
16
19
-12
30
0
0
0
0
0
14
-23
-16
0
0
0
0
-3
27
-3
3
0
0
0
0
1
-4
-1
-1
0
0
0
0
9
7
-8
-14
0
0
0
0
-26
17
21
24
0
0
0
0
22
23
2
3
0
0
0
0
-2
1
2
-4
0
0
0
0
-20
7
9
-11
0
0
0
0
20
17
1
0
0
0
0
0
-1
22
0
0
0
0
0
0
2
-7
0
-1
0
0
0
0
30
-29
22
15
0
0
0
0
-8
-21
2
0
0
0
0
0
-3
12
2
0
0
0
0
0
3
-2
0
0
0
0
0
0
24
24
10
-3
0
0
0
0
-28
-22
3
-2
0
0
0
0
-23
11
-8
-10
0
0
0
0
11
-1
1
0
0
0
0
0
23
16
-10
-22
0
0
0
0
-8
25
21
6
0
0
0
0
26
-32
10
-30
0
0
0
0
4
12
0
1
0
0
0
0
-7
2
-1
-32
0
0
0
0
52
-60
-4
2
0
0
0
0
0
0
-3
-7
0
0
0
0
6
-15
8
-47
0
0
0
0
40
14
-10
40
0
0
0
0
5
35
-10
-2
0
0
0
0
1
-3
-10
0
0
0
0
0
7
-26
47
4
0
0
0
0
22
4
10
10
0
0
0
0
16
-9
1
-2
0
0
0
0
2
-5
4
1
0
0
0
0
1
-15
-24
15
0
0
0
0
10
17
19
-16
0
0
0
0
8
22
-6
-7
0
0
0
0
1
-2
1
-7
0
0
0
0
-18
0
-22
28
0
0
0
0
15
16
42
12
0
0
0
0
-35
-6
-3
0
0
0
0
0
11
-2
1
10
0
0
0
0
15
38
-17
3
0
0
0
0
-6
10
2
5
0
0
0
0
-7
-6
-2
0
0
0
0
0
-7
14
-6
-2
0
0
0
0
51
23
-11
-2
0
0
0
0
23
-40
6
-4
0
0
0
0
-1
3
0
0
0
0
0
0
1
13
12
6
0
0
0
0
40
45
13
-27
0
0
0
0
-3
-30
40
-4
0
0
0
0
12
4
1
9
0
0
0
0
15
-6
-10
-4
0
0
0
0
-17
-18
-32
12
0
0
0
0
38
-6
22
-26
0
0
0
0
8
-13
7
7
0
0
0
0
-1
2
-8
4
0
0
0
0
0
2
-9
-6
0
0
0
0
11
5
-9
42
0
0
0
0
-11
-37
1
-1
0
0
0
0
-2
-2
20
13
0
0
0
0
1
-1
15
-16
0
0
0
0
-7
-14
8
21
0
0
0
0
-3
-7
-1
0
0
0
0
0
1
-5
1
-21
0
0
0
0
6
26
-3
8
0
0
0
0
33
-8
0
-38
0
0
0
0
12
47
1
16
0
0
0
0
5
-13
-29
2
0
0
0
0
-1
-22
-23
13
0
0
0
0
3
27
-9
10
0
0
0
0
12
-18
15
7
0
0
0
0
23
-19
-5
-22
0
0
0
0
15
8
37
4
0
0
0
0
8
43
-16
14
0
0
0
0
14
44
-3
2
0
0
0
0
2
-12
-14
66
0
0
0
0
-22
-21
-14
-10
0
0
0
0
-43
-3
53
15
0
0
0
0
16
-6
-9
3
0
0
0
0
-5
12
5
24
0
0
0
0
-14
10
-21
-9
0
0
0
0
0
0
3
-9
0
0
0
0
-14
1
12
4
0
0
0
0
2
0
-2
0
0
0
0
0
0
-4
5
-42
0
0
0
0
8
6
-3
21
1
39
-14
18
11
27
-9
24
34
42
15
21
3
12
21
17
2
6
27
31
4
11
16
7
-12
11
29
15
3
8
-2
10
18
-6
6
16
16
-20
-10
-3
-14
4
21
-3
21
38
24
17
15
7
32
34
33
-6
6
8
-8
24
-50
7
-14
0
-10
-13
0
49
8
15
20
6
21
-20
8
-23
1
22
50
8
-11
17
5
35
20
17
11
5
21
11
20
-17
-55
25
-8
6
-19
-9
-25
-3
12
13
17
11
31
8
24
-19
3
-1
-8
-2
-18
-31
-14
-14
-6
9
42
9
-2
12
-24
-27
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-4
6
10
58
-1
13
-8
13
10
40
-9
19
16
-15
37
-5
34
-15
-13
49
35
22
20
24
38
10
32
53
29
-14
29
20
-11
-22
22
26
-33
-6
-4
0
17
7
-29
35
-5
-24
-9
18
-5
-17
-24
14
3
-11
34
1
-9
34
-27
6
59
14
15
-21
15
-13
19
32
9
-29
6
-32
20
-11
9
16
-53
-24
2
43
-25
7
15
10
-12
26
-37
19
-10
29
-5
32
29
30
14
45
-29
15
-10
-52
-25
8
9
3
-21
-9
1
35
-14
-59
-56
29
26
49
-28
-46
-7
-23
-40
42
9
29
13
14
-15
-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
14
-8
13
20
-12
2
-13
-5
56
32
49
8
9
4
10
43
4
8
12
9
12
1
-4
1
4
7
-1
8
-1
18
13
2
11
-6
25
-9
25
37
-12
3
52
4
20
30
10
0
23
5
-2
0
1
5
0
-2
6
-2
-1
-5
13
3
19
-24
9
0
28
6
-3
-22
-20
44
19
14
54
24
8
-11
-49
-2
43
2
-2
8
-3
10
-1
10
-3
2
28
0
9
36
13
22
-16
5
15
-6
-31
-30
-53
-19
40
-21
5
30
-37
10
-40
72
-16
8
-7
-7
-15
1
8
26
-7
7
-12
37
18
21
-13
10
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
9
-13
35
2
30
52
2
18
-15
-19
42
-25
37
-21
16
-37
0
-3
29
-9
40
-11
16
12
3
1
-5
6
-4
4
-4
3
-13
-24
-50
2
100
8
57
18
-19
31
-31
-60
30
-20
-8
3
-25
6
-2
-10
7
15
46
-17
2
5
2
2
-17
-8
-3
-5
-16
-18
-39
24
24
-38
-28
28
-8
8
21
43
30
-43
-33
5
-39
-38
-9
1
-35
-76
-21
2
-3
8
2
-23
25
11
25
8
30
3
21
-28
-19
27
37
-98
-31
-66
-39
-5
-12
13
37
3
-19
12
-30
-46
-9
7
-15
-31
1
-3
1
2
-17
17
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
2
9
4
38
5
8
16
20
1
13
27
8
2
7
5
5
4
-16
35
-8
4
-9
50
8
37
19
50
-2
9
-8
-2
27
8
0
7
-17
2
33
24
1
9
-9
-1
-14
-11
4
-15
-1
15
37
-6
6
1
-4
22
-6
27
31
6
16
1
3
3
5
10
14
12
27
-16
6
-8
-22
6
25
34
-4
-29
3
0
7
2
-35
12
1
-31
-8
54
72
21
-44
8
34
28
-16
5
29
15
21
1
25
16
-1
8
24
17
33
9
35
-4
15
-23
14
47
-5
10
-19
22
44
-15
-28
37
-4
2
-11
17
-34
18
-1
8
-6
15
47
47
73
-34
41
36
-22
7
27
-3
1
38
-1
35
3
32
-15
-9
-23
32
7
-5
24
11
39
16
62
2
11
6
-13
-15
66
66
15
-12
17
2
11
28
26
-18
3
45
-23
-15
41
-28
21
55
-12
-6
6
-5
-14
13
-11
13
38
1
17
-7
3
-17
24
-6
29
17
40
30
9
12
-18
-12
-13
-26
-21
38
3
-27
20
-23
1
-36
18
-42
-39
42
-22
2
-19
17
3
-3
1
-2
16
43
-48
-17
16
-26
29
-24
0
-58
-37
-16
22
7
1
19
-3
4
6
-15
-6
-19
15
26
10
3
3
10
15
28
17
27
81
32
46
-14
-9
59
-29
17
43
31
21
38
46
4
107
43
-42
18
10
3
-26
-13
-17
59
51
19
20
-3
10
28
-5
-8
-6
5
-16
11
15
-10
22
11
39
51
15
-6
54
1
14
-15
0
-8
-34
-6
9
-15
-7
0
-7
15
30
21
31
44
30
-30
47
-12
-32
1
7
-40
-29
-17
29
16
-21
-12
11
-29
9
-54
58
-77
-7
-59
15
18
-49
-11
-2
21
69
-16
40
1
4
2
39
-8
-41
17
43
39
25
-9
-31
29
11
10
23
-26
6
-30
-30
17
26
-8
24
-38
-78
7
5
-29
-59
-29
-9
-7
-4
-17
-16
-7
43
35
11
8
-15
-8
-6
15
38
46
41
40
19
23
55
18
14
6
-7
-9
25
31
15
51
11
-18
0
13
44
-11
-32
-8
-1
6
41
4
6
-55
-5
53
34
23
-14
-30
32
-68
56
-24
18
-10
-65
8
30
-23
-17
24
7
-9
34
15
-8
8
-42
13
27
-42
-13
0
4
-18
-19
9
11
24
30
5
16
-7
-47
-30
-23
-49
54
-40
-12
-34
-71
47
-3
-37
29
-34
18
17
19
5
-23
-9
-30
6
38
-48
-14
-42
-42
-15
47
-9
-14
-3
1
28
3
-48
6
-8
2
-55
33
-55
-28
-19
-1
-3
2
39
16
3
91
14
-33
-29
65
-14
-12
38
13
38
4
2
-6
1
0
6
5
3
8
0
11
9
-2
13
-2
5
44
8
-11
15
-5
-2
-12
10
26
11
-39
6
2
14
-9
-2
3
-1
3
-1
1
7
-4
-3
1
-21
-8
-16
-1
-1
0
0
4
10
13
2
16
29
-27
6
39
7
-4
-20
3
-75
2
27
1
-3
-11
-8
14
19
-7
-10
2
10
7
1
-1
-17
-2
7
31
-13
11
-25
16
18
23
29
0
-20
43
18
-1
-45
-48
-34
3
-3
-18
-8
-5
-31
-7
-34
0
-25
14
21
25
-16
-19
-14
19
-4
-34
23
-38
19
31
32
16
33
14
40
69
16
63
54
-6
2
-2
6
-35
-1
1
14
11
-18
21
-32
16
-31
-30
0
12
27
-34
1
21
42
-3
-33
7
15
10
-18
-14
36
2
-4
4
-19
-6
-23
-3
-19
-3
20
-14
-6
-54
-25
16
-1
-20
1
55
-31
18
-68
-3
-30
-7
14
47
-4
-4
-15
2
-3
0
-13
19
10
2
9
6
-22
-8
-26
3
1
-15
-57
-33
-60
18
12
-15
-20
3
-19
46
6
-32
9
65
67
-17
-9
-29
-10
-1
-29
-1
-12
-6
4
12
-16
-22
-45
19
-51
21
36
-32
-80
5
-17
-5
10
61
43
6
40
3
-1
9
9
35
79
3
36
13
22
-9
7
-10
12
-3
52
-3
-8
3
9
7
-7
5
9
0
12
38
10
19
17
49
-38
-32
9
1
-31
19
0
5
-27
-32
-15
-4
-14
0
24
-4
-23
2
18
5
-2
19
-12
14
15
12
-2
77
-9
29
5
-39
1
14
-37
4
-1
-6
24
26
23
-40
-4
-12
-5
37
-19
73
6
-32
7
-3
17
7
-17
7
11
22
8
-32
11
25
16
-8
-9
-14
-1
-28
3
-25
-47
30
-21
5
-29
13
-29
-22
-32
18
-36
1
-2
2
13
5
9
12
-2
8
-13
-1
-18
24
-28
-9
-21
28
7
41
-7
-31
-18
-6
-28
14
-7
0
7
18
6
-8
-11
-7
-11
-4
2
7
17
11
3
-24
11
-15
-16
42
-12
-26
-28
-42
-12
26
54
5
-40
7
-16
10
-2
19
-28
-2
-6
-20
7
-28
-32
23
22
-1
-16
14
-16
2
-7
4
-3
8
-16
-2
11
6
-33
49
-26
-24
-29
29
-40
-9
-64
-5
0
23
-8
-11
-13
26
17
0
12
13
14
36
-10
20
17
12
24
-19
-17
7
-17
11
-29
34
-18
1
-6
27
-5
11
-31
8
6
-7
-5
-18
-27
7
-2
-7
-6
17
4
17
-12
-29
-26
15
15
17
9
31
-3
-10
3
-7
7
24
19
13
40
14
23
21
33
15
24
-13
21
-8
23
3
15
-43
16
33
39
45
18
13
7
12
18
-7
-3
13
-4
27
19
26
-5
31
43
3
-21
26
-12
34
-41
-12
33
11
7
-5
31
-4
-16
18
17
1
0
9
7
-27
-6
55
41
-27
-15
8
42
15
14
35
-7
-7
1
-55
7
-55
46
23
9
84
39
-2
6
-5
-22
3
48
-25
14
11
-13
15
12
-5
-20
-12
-8
14
30
13
0
6
41
25
-4
25
46
13
5
11
-4
13
7
26
13
17
15
49
20
-17
4
-38
8
1
-11
5
23
58
6
-28
-26
32
10
41
1
-1
33
5
44
31
-49
24
2
53
-7
35
13
29
9
31
26
6
-25
1
-1
9
16
3
-25
33
-45
68
16
15
1
20
10
18
-3
38
4
-17
20
-7
-11
4
-32
15
-37
-20
29
-24
8
-1
2
7
-31
26
-5
0
-12
-6
32
-51
17
5
1
2
22
14
61
28
-29
16
-43
21
0
9
-25
53
41
13
-36
-27
33
-16
19
20
-6
-4
15
-1
2
-5
26
8
-2
14
10
3
24
-2
-31
37
4
5
-9
-33
36
18
-29
29
-17
-31
29
-25
53
-44
-26
7
26
1
30
37
76
1
-5
-16
33
33
24
-19
-32
17
-22
36
17
13
34
38
3
-26
-7
-12
33
-15
-64
28
62
29
34
13
10
8
1
-45
36
11
28
43
29
-27
-28
-38
32
34
35
-6
22
18
-26
-14
25
20
-2
-38
26
45
-42
59
-7
-11
3
7
4
9
20
23
-23
9
22
-34
6
-6
3
18
-2
-2
27
-10
53
-2
9
-60
11
-44
-26
4
28
67
-24
9
44
-2
12
0
17
23
19
46
18
-4
-26
0
3
-39
-45
20
7
42
81
18
20
-9
-23
-41
1
-1
30
-22
26
-61
-3
33
-35
-22
-4
57
-3
43
-2
-40
-2
6
9
-4
60
8
19
3
-3
1
5
31
7
-4
14
8
-40
-11
28
-18
29
-14
32
38
-36
-34
13
-33
-11
-27
-40
20
37
-13
72
17
1
-30
12
20
-20
15
-16
-15
11
2
-30
-43
-2
-4
-67
54
9
1
-27
-15
15
17
-9
12
24
12
8
50
50
-38
-10
-10
-8
-23
-3
1
24
-28
7
26
-8
42
6
26
-17
-43
46
65
-34
-40
5
-15
-17
-8
-12
13
1
35
25
-4
-9
-11
-43
56
-26
-34
-45
7
53
2
-39
10
24
-5
-10
-2
-2
-8
-11
-10
15
12
2
11
19
-2
-18
-12
8
57
30
-17
38
80
19
-21
14
12
62
-4
-4
-27
-1
3
1
4
3
-1
6
-6
15
-1
4
2
10
-4
1
3
1
15
12
44
-9
-12
46
-5
49
27
-32
-5
12
64
-25
2
-34
3
-1
6
-2
-15
14
18
-16
1
-8
0
14
-17
-8
-4
7
31
-4
6
-13
9
-18
8
45
21
-33
7
16
-41
-18
23
18
-6
-12
6
-28
12
-3
-13
6
21
6
17
-27
2
2
4
-4
15
-16
10
21
31
-35
-20
-9
17
2
-4
-16
-17
-9
-38
12
-6
-17
3
-9
-7
9
-18
-17
13
10
-6
29
10
11
-17
0
26
17
-18
3
-7
-51
-12
10
-8
24
-46
3
24
27
21
-33
-13
3
-20
-8
-7
7
6
5
-10
-7
-17
25
-14
1
-13
18
52
19
-3
-56
64
0
-26
-4
28
-33
0
-31
-2
-44
26
20
8
-13
-1
35
-10
12
-2
-45
37
-5
-2
-19
-11
-45
43
4
0
35
-8
-6
8
54
-7
-26
-9
7
-24
-31
-4
-6
12
-23
-4
2
-30
11
-4
-38
7
19
-7
52
-25
-26
-29
-35
-17
-4
-2
-1
-16
16
18
46
-62
-36
73
-38
-14
-25
8
-11
7
-56
11
-22
-27
-6
27
-47
-48
15
-9
-4
-14
20
30
-4
-25
3
-4
11
-34
-3
-27
-11
3
0
3
-8
-5
3
32
-47
24
-11
-5
-16
0
41
13
-4
20
1
4
-4
-7
4
-3
-12
-8
1
0
6
2
10
41
-13
0
-36
36
21
-24
13
-12
-12
1
12
0
14
-9
1
25
3
1
-6
-1
-16
-13
-10
5
4
-22
-7
8
-12
-19
-8
-34
43
11
-10
-10
-16
-4
26
6
-9
-6
27
25
24
-5
13
29
-17
22
-9
-6
-5
6
17
-6
-15
-17
5
11
-3
-30
-17
70
-54
47
-24
11
1
17
24
-9
-35
9
-13
-5
17
-27
-12
27
11
-6
-58
4
-8
8
-18
-4
18
-31
-1
3
10
-6
-1
-14
39
-2
22
20
-23
17
20
-11
-27
-31
-11
-2
-24
-36
-5
10
7
19
37
-5
-2
25
46
16
-20
-15
4
25
6
55
3
-26
-16
25
-15
29
-6
31
2
14
1
-24
-6
0
-8
15
23
-46
-29
-36
-26
1
-3
-11
-5
-10
-13
17
-12
28
8
-24
-3
-25
-2
21
64
1
5
-6
-8
14
-33
-63
8
-6
14
-29
7
-15
20
-21
-7
4
-7
17
7
18
-4
3
-2
9
14
-10
3
21
-13
3
-19
4
16
14
9
-15
-6
-15
-1
4
-1
-1
2
7
6
-14
3
5
-2
4
-2
7
1
4
-4
0
1
0
1
27
20
14
11
18
21
40
18
-1
7
32
11
10
19
29
39
51
32
32
22
31
18
10
16
23
55
15
-6
8
7
5
1
7
15
7
5
17
22
42
3
-20
7
43
-22
31
28
-11
22
51
21
11
-1
-1
24
-2
7
-5
5
8
7
12
10
11
7
13
-14
14
-9
11
28
-25
-3
12
28
-4
-41
47
35
-31
18
1
-15
7
33
39
-4
-41
-15
-11
22
-35
4
-6
-5
2
-10
-5
0
-2
-21
13
-21
-14
-14
20
-32
25
-20
33
30
-40
-30
14
-5
-52
-58
5
14
-53
-1
-21
-7
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
3
-21
8
5
29
-15
17
-4
-8
5
-2
23
-7
32
40
-5
-1
3
-19
35
12
68
70
43
24
27
17
-33
4
30
-26
28
4
2
-10
-11
29
-11
-9
26
23
6
3
-9
35
-15
6
-6
8
8
14
25
44
6
-18
79
23
9
8
-21
-20
36
19
6
-28
16
10
47
16
-5
-5
23
39
32
8
5
53
-22
1
-4
30
27
-38
-23
-27
-41
-10
-54
21
-4
-29
-22
-11
-39
-3
2
31
32
23
1
29
0
-36
0
-15
3
8
8
27
11
-10
-39
31
-30
-4
2
7
-54
-29
-7
37
-26
7
-49
-6
-58
-30
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
7
-39
47
28
10
86
14
25
15
-25
-12
44
62
-4
2
1
3
-2
5
17
4
1
6
-4
7
6
13
13
7
1
20
17
16
0
40
21
-45
-37
15
-1
-17
-14
3
-1
-10
-7
2
1
-2
3
2
14
-4
3
25
-24
-17
-8
8
0
-1
2
17
-5
17
35
-81
28
-15
-31
12
18
-32
-26
-22
47
-17
4
-1
8
5
8
11
-2
8
-10
10
10
13
2
-5
7
-3
-3
28
-16
52
39
44
-30
-103
0
24
-10
-25
-13
-27
-44
-13
-4
3
-8
2
2
5
8
-14
-12
4
-15
6
-3
-30
-16
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
30
-1
29
-6
5
-43
21
20
-5
-17
-16
44
34
0
-20
-17
14
6
6
29
15
36
-8
10
3
-1
0
-5
11
5
0
6
37
2
33
-12
-3
24
-1
48
20
-11
4
24
24
-17
-26
25
24
-12
9
-24
-26
13
-27
-21
-4
-2
-16
-7
3
9
21
-3
6
-31
30
-2
-68
-15
9
-43
-2
-43
13
9
63
-69
-43
-15
9
-10
1
6
14
-14
13
-17
-9
-14
6
-2
14
-9
9
7
-8
7
-31
-33
-42
-23
2
34
-33
-3
-66
-18
29
-83
-47
-41
-11
-7
28
-12
6
-39
-66
-30
0
-2
16
1
18
-8
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
5
1
7
16
-21
35
-9
9
40
18
11
14
15
22
3
20
23
36
1
20
33
55
-20
-3
35
32
12
14
-11
15
10
13
5
-4
22
6
14
2
8
5
-5
19
31
22
18
0
19
-25
-16
28
10
27
22
-10
-2
-8
20
-1
12
14
20
7
-1
12
-2
-5
-8
38
20
16
30
-17
55
27
-4
-7
11
13
-27
-27
-20
-19
-9
63
17
34
51
20
-22
18
11
6
14
-14
10
3
20
11
-4
-25
5
-1
7
28
-5
25
-11
25
1
19
34
-13
20
10
-14
22
-33
40
21
0
14
-22
-13
-24
46
20
-3
6
17
-1
-9
-9
24
36
28
7
52
4
3
23
80
16
1
-6
8
-36
31
-6
-7
1
-23
-11
29
51
-41
20
28
-16
33
-15
43
9
-37
-16
11
12
16
17
50
18
2
-25
-11
-57
22
29
44
-10
27
3
-19
41
32
34
-9
20
40
-19
-6
-2
6
-8
26
-22
33
-21
6
72
43
1
-14
23
37
8
-6
-61
28
-19
-22
-10
34
-51
15
-4
23
-14
1
-74
-35
-15
-7
52
5
14
1
8
11
4
-20
10
19
-50
-16
-19
39
11
27
-24
38
6
10
-4
-12
10
-15
11
-13
11
-51
7
-4
-10
-41
11
8
48
0
15
14
39
35
41
5
18
20
29
-3
19
15
39
-12
-11
15
66
-9
96
-45
-62
25
0
26
-12
-21
18
40
3
-4
10
-5
66
19
-24
-56
8
-8
-3
42
-14
-22
-4
-41
-10
79
-19
9
23
50
22
9
-22
21
13
2
-8
18
-4
-4
-11
19
21
-15
-9
15
-30
5
28
3
10
8
35
-7
-28
6
-12
8
-3
-34
23
53
-24
34
-4
-48
-23
31
-65
13
25
-53
7
-2
3
62
-9
-6
34
-13
-36
3
-5
48
-14
26
-3
-5
-29
20
-14
-79
20
-18
-21
4
67
13
0
1
27
-18
-53
15
-22
16
13
23
15
49
9
-6
27
56
25
-4
27
40
-9
-27
42
18
-22
18
11
23
65
-5
-44
35
19
18
27
29
13
-26
-37
-6
20
-3
16
8
3
-1
-2
-17
-19
-21
-3
14
-34
-26
-113
25
30
11
-16
3
-3
1
33
115
7
-18
-1
-31
-20
8
4
-1
-23
28
-5
-7
8
12
18
-19
-56
-10
-12
-40
-21
9
5
17
13
0
-44
15
-9
2
-10
-56
-42
-16
-13
-40
5
-22
12
8
-2
0
-2
-20
15
-22
-8
-10
15
17
-28
-7
-57
-18
-14
32
3
-1
-2
-5
-17
-64
-15
-26
-9
-26
-41
70
19
-17
-41
-8
22
9
0
40
-35
36
-14
-18
107
86
2
-28
16
1
5
1
1
3
-6
9
-10
7
-2
0
-8
0
10
2
6
9
1
18
-3
29
-12
5
22
24
-9
37
26
-21
16
9
33
-19
-34
1
2
2
3
8
-1
9
5
-11
-30
3
0
11
7
-10
3
-7
47
0
-14
49
4
26
-12
-4
5
-31
-39
17
88
-37
-26
1
0
4
-1
-4
46
19
-1
21
25
6
15
17
-17
-17
20
61
17
12
-6
46
-12
-23
17
15
-29
-28
-62
58
-4
6
2
-3
5
-6
-2
-13
3
-2
-26
8
-8
11
6
-19
-37
4
21
-18
-21
59
39
20
15
17
-16
31
-29
38
-28
14
-29
-16
1
-2
0
27
-7
11
-33
-5
-4
-6
-23
-7
7
5
-7
28
6
72
7
0
2
0
-21
-17
-10
23
23
-26
-34
34
-56
-32
22
2
11
-19
10
8
-2
-29
-21
-40
-18
-3
-62
23
14
-41
16
30
64
45
1
-31
-44
8
-13
6
0
-10
-3
-9
6
-2
20
-3
5
-15
3
2
-10
11
-43
-43
-14
-43
-21
-21
9
37
-8
10
-48
-51
-12
-15
61
30
-33
40
5
-33
15
-45
-1
34
-8
13
1
8
8
28
-4
-3
3
8
-11
-15
-61
-30
-76
-5
-45
-14
9
-3
48
15
-29
12
-11
19
40
48
13
33
-14
-4
21
12
-7
-15
-2
15
5
26
25
0
0
5
8
2
-7
5
0
6
33
59
7
83
13
-34
-34
-1
11
-54
41
61
18
-44
-39
26
12
35
-4
38
30
4
31
0
4
14
-18
14
10
9
-6
23
21
13
37
-5
7
12
-9
5
29
-51
2
6
-3
-10
31
3
19
-3
-19
42
-16
8
16
1
-2
-17
-10
26
-16
-17
13
49
15
30
46
-4
22
-10
-21
72
11
-42
-18
-18
-11
39
-37
17
50
9
-52
-13
-45
-20
-3
10
11
-36
-6
26
-9
-16
-42
12
-27
-16
-7
37
5
46
0
29
44
-18
27
-28
40
16
0
-5
7
-28
-10
-26
-21
-15
-20
0
1
4
13
1
10
-21
0
-2
11
-16
29
-11
-15
-27
9
14
-5
-24
-50
-29
-11
7
5
0
14
-19
-17
2
-9
11
-2
-2
7
-2
-32
-51
-13
-24
-17
28
-5
-8
-5
39
49
13
-6
-34
-1
8
24
27
-19
-66
-24
12
16
7
-2
-4
-32
-22
16
-7
13
1
11
2
-25
2
-24
5
-2
-1
-3
28
-23
-18
-5
2
-7
-13
22
-15
-35
45
-22
1
-1
-7
13
-11
-20
5
-45
1
-4
5
-1
0
-28
4
0
12
15
6
13
17
-2
-4
7
4
1
11
39
23
21
1
25
-26
12
-8
7
10
10
-26
54
-14
22
22
51
24
25
58
24
6
11
2
26
-2
2
17
18
19
-2
4
-7
40
11
-26
26
28
16
15
25
-17
6
39
-38
14
11
-2
4
-16
3
2
17
-10
6
10
16
-15
26
1
20
30
-6
5
-22
-44
8
-30
36
-11
-13
4
31
17
0
0
-15
18
30
12
24
-27
57
13
7
13
2
9
-1
-12
18
36
4
15
23
28
-7
-9
10
24
8
3
14
16
-14
-4
15
-15
4
-18
24
16
16
24
-23
8
18
-3
12
-4
14
11
12
32
3
-1
2
-28
46
-2
-46
62
34
20
26
16
4
71
-9
-9
-9
-11
-17
-20
14
51
14
78
1
8
16
-1
20
8
45
7
25
39
54
-20
-8
10
11
35
-75
52
46
-63
-9
22
-44
2
20
-6
-1
29
-16
-40
16
-57
9
41
-1
5
45
-26
-40
-4
19
43
-26
-54
41
38
-1
75
-11
-4
-32
-7
-71
-17
49
0
22
-12
-9
-1
-12
-3
18
58
-25
16
10
45
16
-2
-6
20
-13
42
-18
45
0
-10
-51
35
-28
74
43
12
-1
23
16
24
-6
-19
10
-18
-100
-1
23
-28
-21
-3
33
13
73
-8
41
14
15
14
-37
27
-37
14
21
22
18
-19
-30
38
-22
8
82
-8
18
7
-9
-1
45
-24
1
35
51
-7
-7
23
13
-15
14
29
-18
18
-21
13
75
7
3
-10
-10
-13
33
6
20
70
-3
-6
-6
55
5
28
-9
13
8
-33
-6
8
0
29
20
0
2
-57
30
-1
8
20
18
-16
-6
-30
-3
28
20
-11
-6
6
20
30
-31
42
17
8
-18
3
19
7
-13
-15
2
16
-4
-11
-4
-33
11
-16
56
-15
25
21
-35
18
44
23
1
-38
-7
3
20
13
-44
-24
5
-8
-29
13
5
7
-31
20
14
20
12
-1
-3
-37
-4
72
32
24
11
17
42
-29
-20
13
-17
2
38
20
-62
11
-9
8
25
37
7
-48
35
-13
-35
35
1
39
13
45
20
-12
-21
48
12
-16
15
-17
25
9
-15
21
45
0
14
-35
-13
4
0
39
-24
-48
-15
-22
-18
-17
-36
-1
1
19
-6
11
23
-17
1
-14
8
8
32
61
21
22
-9
13
-4
18
-23
-14
-17
-6
-12
-5
-13
-34
-20
2
-3
-33
5
25
11
47
-2
22
22
27
-4
43
-7
-29
-1
-27
-37
17
-26
31
14
30
0
46
-24
-9
-38
-4
-6
36
-67
-47
-25
-12
-2
4
23
57
12
6
-1
37
35
-10
35
68
-22
-32
-63
-12
49
5
0
-3
-5
-5
-19
4
-6
10
2
11
-5
3
-10
14
-8
10
4
24
21
47
-20
-33
16
-9
-9
15
-24
21
43
2
-18
6
0
-1
-6
-7
-1
4
10
12
-2
-9
-6
-7
45
11
11
12
3
13
6
31
79
11
-33
34
-37
41
-64
17
-7
-1
-4
-1
-6
3
6
7
-15
-14
-28
-3
-6
-14
8
8
13
22
-11
8
8
-46
-17
19
25
18
23
-31
-21
11
1
-28
-18
-26
5
2
7
6
7
-27
0
36
-22
-14
-15
-7
-20
-2
-31
-3
2
-12
-3
22
18
33
-59
11
25
-7
36
-18
-41
3
-27
-1
0
-6
-10
-31
-7
28
20
15
21
9
42
-34
-4
-17
-18
-22
-7
19
8
-30
-4
21
-17
9
-60
6
35
58
0
-22
9
-34
-53
-1
6
16
-7
40
1
-6
9
3
-10
-32
-40
31
-65
-38
-43
38
-43
-4
14
8
-18
-25
-5
24
47
-23
-82
27
-30
-10
1
-1
-20
9
-16
17
9
-48
-38
21
-6
-7
-16
4
9
2
-21
-2
37
-13
1
9
-3
21
30
21
8
-54
-41
-9
-77
-1
-20
-2
-9
8
8
25
16
-4
-14
6
-25
-28
4
-3
-51
-27
-16
3
17
31
-5
7
12
-46
27
-36
6
31
26
14
18
-24
15
10
4
-2
20
18
17
-24
-4
1
-3
-3
-3
-4
-1
8
9
33
1
-15
25
8
14
-2
9
-11
10
22
43
-7
-31
18
-40
17
8
-32
21
1
-18
13
-48
1
3
2
-1
-13
-22
-4
2
-20
7
-8
-5
33
34
-2
64
25
46
2
32
12
20
-37
-84
11
13
-2
-5
-9
-16
-11
-3
-6
-11
6
-8
4
-51
11
-5
9
-2
3
23
-3
-36
-21
-29
12
-35
-34
-35
-34
-14
17
11
1
-6
13
26
56
-31
-24
-9
-7
5
15
9
17
-21
-27
-4
-23
-9
-16
-20
-22
2
21
-10
11
-18
5
-24
9
22
-12
-2
-5
31
-32
13
11
-10
58
-9
11
1
-26
-1
30
-2
-9
0
-8
23
-4
-19
23
-31
-3
-34
48
-6
-9
-7
0
-28
25
-23
6
-3
15
5
-11
-27
24
25
15
-18
-19
-38
12
26
-18
0
46
-7
0
-57
-32
-2
-6
4
-18
-19
-6
19
34
42
39
6
-3
8
-16
-36
-7
9
20
-2
3
27
-1
6
-21
-18
4
-4
13
-3
-1
-4
13
1
-3
5
25
-6
15
-10
36
-15
-1
-35
6
3
5
-2
3
0
-9
4
4
-7
5
-10
0
1
4
4
12
15
4
3
0
0
0
0
7
30
-11
-7
0
0
0
0
-1
41
60
4
0
0
0
0
1
-6
34
-19
0
0
0
0
8
14
2
0
0
0
0
0
8
26
20
-1
0
0
0
0
22
16
-13
-2
0
0
0
0
-2
-5
18
20
0
0
0
0
7
-5
15
-20
0
0
0
0
-19
13
26
-14
0
0
0
0
-4
9
7
-25
0
0
0
0
-8
1
11
-15
0
0
0
0
1
7
-2
-10
0
0
0
0
-7
-13
12
0
0
0
0
0
-7
-23
40
-23
0
0
0
0
-7
10
-37
-12
0
0
0
0
1
27
-3
-18
0
0
0
0
24
-9
11
-22
0
0
0
0
66
25
-76
66
0
0
0
0
46
-73
47
5
0
0
0
0
25
7
2
11
0
0
0
0
62
6
32
-15
0
0
0
0
-30
26
-44
-23
0
0
0
0
16
-26
10
5
0
0
0
0
1
-21
7
-8
0
0
0
0
41
1
-41
-8
0
0
0
0
-17
6
-37
33
0
0
0
0
40
-19
21
-49
0
0
0
0
0
-3
-32
-14
0
0
0
0
-24
8
-38
7
0
0
0
0
16
15
-18
-59
0
0
0
0
-41
33
30
-20
0
0
0
0
10
22
10
-5
0
0
0
0
20
-3
16
16
0
0
0
0
6
29
38
13
0
0
0
0
32
38
10
-20
0
0
0
0
13
22
21
28
0
0
0
0
10
22
-32
-34
0
0
0
0
-9
9
36
-24
0
0
0
0
-9
36
-10
3
0
0
0
0
30
-4
-2
2
0
0
0
0
22
-19
23
-22
0
0
0
0
25
-12
-15
7
0
0
0
0
-27
-6
-24
21
0
0
0
0
32
12
26
9
0
0
0
0
17
25
-10
-15
0
0
0
0
23
-25
39
-39
0
0
0
0
11
-6
-42
3
0
0
0
0
11
33
-16
-13
0
0
0
0
29
20
9
1
0
0
0
0
55
21
53
-2
0
0
0
0
21
-8
16
29
0
0
0
0
-11
11
8
6
0
0
0
0
5
42
-1
28
0
0
0
0
16
34
-71
-31
0
0
0
0
0
-7
-71
-31
0
0
0
0
9
-13
-25
-33
0
0
0
0
13
-21
1
-30
0
0
0
0
-17
20
7
-1
0
0
0
0
-14
-1
-51
-17
0
0
0
0
4
34
5
37
0
0
0
0
-17
14
-52
4
0
0
0
0
-3
0
-43
12
0
0
0
0
7
8
-69
-45
0
0
0
0
15
5
44
29
0
0
0
0
25
14
-21
9
0
0
0
0
2
1
3
-5
0
0
0
0
12
11
-16
-20
0
0
0
0
23
-5
8
-5
0
0
0
0
1
10
-24
-11
0
0
0
0
5
5
-12
-2
0
0
0
0
17
26
-11
-8
0
0
0
0
58
25
23
15
0
0
0
0
10
-51
7
-8
0
0
0
0
-2
0
4
3
0
0
0
0
-5
-18
40
13
0
0
0
0
20
22
-25
1
0
0
0
0
7
-40
-10
12
0
0
0
0
-3
-5
6
-17
0
0
0
0
-26
8
-24
-60
0
0
0
0
31
-29
-8
-45
0
0
0
0
24
28
55
2
0
0
0
0
15
15
-3
1
0
0
0
0
17
14
10
-26
0
0
0
0
1
3
-21
-20
0
0
0
0
28
-18
-10
6
0
0
0
0
16
-9
3
-20
0
0
0
0
23
15
-15
-38
0
0
0
0
23
-17
-41
-73
0
0
0
0
36
22
2
-7
0
0
0
0
-1
9
13
4
0
0
0
0
11
-22
-3
-1
0
0
0
0
11
3
-40
14
0
0
0
0
21
45
-20
-13
0
0
0
0
6
-1
-6
2
0
0
0
0
13
-1
-10
-9
0
0
0
0
32
10
11
27
0
0
0
0
-3
-13
30
-2
0
0
0
0
16
-3
61
12
0
0
0
0
0
-5
-7
4
0
0
0
0
51
31
-32
1
0
0
0
0
2
38
32
5
0
0
0
0
9
18
-22
52
0
0
0
0
-4
-10
-1
-13
0
0
0
0
38
36
-17
-52
0
0
0
0
87
-4
3
-5
0
0
0
0
11
23
-4
3
0
0
0
0
5
4
6
8
0
0
0
0
5
-6
0
-3
0
0
0
0
-17
23
-34
-2
0
0
0
0
45
-15
33
16
0
0
0
0
-2
16
-2
-14
0
0
0
0
21
27
10
-12
0
0
0
0
26
8
-31
-2
0
0
0
0
7
26
-7
0
0
0
0
0
3
29
-9
5
0
0
0
0
30
29
19
2
0
0
0
0
22
-23
1
-31
0
0
0
0
-17
15
10
10
0
0
0
0
-13
-34
5
10
0
0
0
0
-2
15
1
3
0
0
0
0
-30
-31
18
-4
0
0
0
0
14
2
-17
11
0
0
0
0
-17
1
3
8
0
0
0
0
11
-11
26
-2
0
0
0
0
11
-11
1
-16
0
0
0
0
1
-29
-1
-12
0
0
0
0
0
-6
2
-9
0
0
0
0
9
7
7
20
0
0
0
0
-1
30
-11
-21
0
0
0
0
13
11
37
-4
0
0
0
0
12
-2
-39
-1
0
0
0
0
7
2
7
-3
0
0
0
0
29
13
19
7
0
0
0
0
-4
20
8
31
0
0
0
0
-43
17
-8
-32
0
0
0
0
-5
4
-10
8
0
0
0
0
15
-4
3
-22
0
0
0
0
9
39
2
-19
0
0
0
0
-33
-1
-19
-10
0
0
0
0
-4
-7
16
-2
0
0
0
0
9
3
38
17
0
0
0
0
17
15
20
-28
0
0
0
0
-15
-56
-9
-5
0
0
0
0
19
22
19
54
0
0
0
0
12
4
60
48
0
0
0
0
25
49
14
-19
0
0
0
0
12
53
-34
-40
0
0
0
0
34
-2
9
-17
0
0
0
0
39
45
56
-9
0
0
0
0
0
2
39
5
0
0
0
0
12
32
-29
17
0
0
0
0
20
43
35
9
0
0
0
0
23
6
-26
-10
0
0
0
0
36
7
-21
-4
0
0
0
0
76
9
14
-62
0
0
0
0
-14
12
-7
-6
0
0
0
0
-27
0
10
24
0
0
0
0
21
28
-18
-13
0
0
0
0
-39
-25
-50
43
0
0
0
0
11
26
-11
2
0
0
0
0
31
17
60
28
0
0
0
0
26
2
-16
-29
0
0
0
0
-41
21
72
-15
0
0
0
0
51
44
15
19
0
0
0
0
24
17
33
-2
0
0
0
0
21
20
-37
4
0
0
0
0
-17
4
11
-104
0
0
0
0
-19
30
-16
45
0
0
0
0
25
1
-69
-30
0
0
0
0
25
28
50
-18
0
0
0
0
22
17
-50
23
0
0
0
0
45
0
-6
25
0
0
0
0
11
5
-4
-5
0
0
0
0
25
-39
25
-4
0
0
0
0
47
12
-1
-36
0
0
0
0
18
18
69
-4
0
0
0
0
65
66
-17
-26
0
0
0
0
12
15
-6
-20
0
0
0
0
-7
-4
11
2
0
0
0
0
3
-12
17
-36
0
0
0
0
-24
-7
-14
-42
0
0
0
0
-10
-3
5
0
0
0
0
0
-12
19
-3
1
0
0
0
0
12
-14
25
-2
0
0
0
0
-34
-6
0
16
0
0
0
0
15
17
-25
-54
0
0
0
0
3
48
-3
24
0
0
0
0
37
-3
23
-9
0
0
0
0
42
-19
-33
30
0
0
0
0
2
-5
-14
20
0
0
0
0
28
-17
-13
-10
0
0
0
0
12
-5
-8
-7
0
0
0
0
7
-31
-24
26
0
0
0
0
4
6
-3
4
0
0
0
0
-2
14
-1
-9
0
0
0
0
52
22
10
58
0
0
0
0
16
3
-22
-10
0
0
0
0
4
2
9
2
0
0
0
0
-19
-22
20
16
0
0
0
0
64
32
-25
2
0
0
0
0
44
-27
-2
-9
0
0
0
0
7
1
0
10
0
0
0
0
11
4
-5
7
0
0
0
0
25
15
31
17
0
0
0
0
47
-1
0
-45
0
0
0
0
-1
11
4
17
0
0
0
0
-5
21
-18
0
0
0
0
0
11
11
-18
27
0
0
0
0
-27
-16
3
-15
0
0
0
0
12
10
11
-3
0
0
0
0
45
-18
-22
17
0
0
0
0
-1
-9
-19
-5
0
0
0
0
-14
16
16
-18
0
0
0
0
3
-2
-25
-22
0
0
0
0
-28
23
-11
-16
0
0
0
0
4
-17
-26
-1
0
0
0
0
-10
-31
-47
-23
0
0
0
0
15
-1
-3
-21
0
0
0
0
-1
-27
-9
-59
0
0
0
0
10
1
-1
-39
0
0
0
0
49
-21
13
26
0
0
0
0
14
-1
-10
-21
0
0
0
0
39
-16
-22
-26
0
0
0
0
29
-23
3
-16
0
0
0
0
21
15
9
-16
0
0
0
0
14
-1
10
8
0
0
0
0
2
-5
-1
0
0
0
0
0
12
8
18
-23
0
0
0
0
-10
-9
13
-1
0
0
0
0
6
15
-12
27
0
0
0
0
2
-12
-1
-5
0
0
0
0
2
35
12
-25
0
0
0
0
37
-34
-6
-18
0
0
0
0
2
9
-5
0
0
0
0
0
12
1
2
-9
0
0
0
0
38
22
16
-46
0
0
0
0
31
27
-56
29
0
0
0
0
25
23
0
-53
0
0
0
0
0
3
5
4
0
0
0
0
18
47
0
6
0
0
0
0
-12
-1
20
18
0
0
0
0
11
-9
21
7
0
0
0
0
-4
2
-5
0
0
0
0
0
28
4
4
-41
0
0
0
0
-25
13
-19
-27
0
0
0
0
13
24
16
18
0
0
0
0
0
-14
-22
-12
0
0
0
0
-4
-15
-33
1
0
0
0
0
17
28
-28
-7
0
0
0
0
-4
3
22
3
0
0
0
0
4
3
-17
-13
0
0
0
0
8
0
9
-8
0
0
0
0
1
13
27
1
0
0
0
0
2
3
-3
-8
0
0
0
0
1
-3
-7
-18
0
0
0
0
15
15
17
22
-1
1
-33
15
2
14
1
26
39
31
5
5
5
10
21
7
15
1
-22
15
34
16
22
13
9
41
-16
13
11
0
21
14
38
2
-19
-3
25
-26
-6
-26
-25
-3
5
-18
16
55
-26
-12
5
-8
14
14
18
15
15
3
-4
-1
-9
1
-13
1
-5
-12
24
62
-6
5
12
1
23
2
-8
-56
-8
11
33
34
-16
-8
21
-27
5
19
28
-29
-28
20
12
25
-21
19
-14
7
9
-4
-2
20
12
4
-7
26
4
-3
-8
-16
-8
9
39
6
-32
-13
-36
-22
-29
-31
5
9
9
-1
-17
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
25
36
-12
48
-31
-2
6
61
9
16
2
-2
-2
18
-4
-20
-12
11
10
43
14
35
51
14
65
47
10
8
13
46
25
-58
7
-23
-14
-19
-17
14
15
-46
-43
52
-14
13
-26
-2
12
-2
-29
10
-19
11
9
15
15
44
-59
1
21
5
2
32
22
6
31
41
0
-48
-6
-20
-7
-7
8
30
-32
-17
3
67
-22
-9
15
8
-30
45
-12
-17
-22
45
-32
10
-17
-7
-2
67
-5
-34
-30
-52
-25
6
-1
-4
-32
-18
-7
25
17
-73
-36
27
14
43
-11
-50
-21
-26
-20
23
10
23
-18
-1
-25
-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
16
-7
16
6
-40
-22
-16
38
26
62
38
16
26
13
-11
17
1
5
19
1
16
-5
-1
-12
5
14
2
-17
2
5
11
4
5
-3
16
23
-28
9
-6
-3
35
-5
9
-13
-26
12
8
-3
1
-12
16
-6
21
2
-2
3
11
14
17
18
8
-21
-5
-7
16
7
-7
-12
-31
50
25
27
41
15
4
-32
-29
5
50
2
1
6
-17
-7
-18
-16
-11
9
18
7
3
30
5
17
-13
4
-7
-24
-32
-33
-21
-27
45
-10
2
49
-43
25
-44
53
-4
-3
-4
0
-9
-6
-17
8
-29
-2
0
25
-15
29
-17
4
8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
37
7
-16
5
-4
-4
-24
8
50
-22
44
-5
17
-9
-5
-22
5
-10
13
5
7
26
0
0
-5
-9
-5
8
-22
0
14
0
-47
-34
114
19
53
17
22
0
-25
-47
18
-41
-11
-6
-31
20
-25
-48
19
4
58
-16
-3
-3
-18
-13
19
9
4
6
-24
15
-12
25
33
-50
-36
12
-13
7
23
30
35
-40
-28
4
-34
-10
4
-1
-31
-65
-5
-6
-19
-10
7
-6
-5
8
11
15
47
-3
19
-15
-21
20
34
-63
-10
-69
-38
21
-11
13
30
-6
-46
-43
-1
-32
-24
14
-8
-17
-18
3
9
-6
-28
-1
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
3
7
2
-1
14
32
13
29
9
-5
0
14
-15
23
37
38
19
10
19
40
18
30
17
32
6
22
31
19
-1
30
-12
-12
30
19
4
-4
4
15
45
17
0
2
4
21
-8
-31
25
4
1
44
47
-22
4
-17
-14
9
-15
7
22
11
-5
22
27
20
16
-1
12
22
30
-26
13
13
-34
1
13
31
-6
-39
-4
11
-1
28
5
2
-32
-42
31
10
31
34
-40
-16
21
15
-9
8
16
22
-5
-11
-3
13
-3
25
11
39
49
-8
8
7
-7
-13
0
60
-51
14
-40
-6
46
17
9
23
7
28
4
-9
-10
-2
20
14
-14
-7
33
29
81
-24
21
48
-14
-5
-6
-11
21
53
-22
13
-31
34
-30
26
-25
26
-37
-17
1
-22
47
7
72
4
-1
15
-19
3
76
16
-1
-51
-20
7
14
27
17
8
2
8
19
-18
15
-11
21
28
3
-7
5
6
-26
13
2
3
37
-4
30
34
-20
0
22
-17
13
7
36
2
20
22
-22
-2
-20
-37
-3
36
5
-38
17
-36
4
-46
33
-39
-23
53
-34
4
-46
-16
22
11
20
14
24
43
-68
-28
22
-39
-19
-28
-25
-35
-69
-33
35
-7
-6
40
-29
-14
-9
-5
15
-26
19
17
-14
-4
2
-4
4
10
23
38
84
-15
25
-2
-17
60
-11
20
55
57
32
17
29
-8
79
47
-37
31
21
21
-20
6
-7
9
57
-8
32
4
-20
4
5
13
-35
-16
-32
57
30
7
25
20
36
46
22
-8
44
4
-1
-5
12
-11
-51
-25
-4
-20
-12
23
10
12
14
-3
47
21
57
16
54
-27
-51
1
19
-38
-40
-60
28
20
-36
8
0
-38
2
-74
65
-98
-12
-56
35
4
-56
-16
-11
5
83
-3
49
33
7
1
41
-4
-30
43
28
2
10
-1
-29
47
-8
-43
26
-11
14
-15
-26
-9
32
-7
25
-14
-95
11
-28
-50
-80
-8
17
-9
-33
-11
-5
-17
38
10
20
19
-26
0
7
23
43
43
30
24
7
28
48
-17
3
39
-28
-6
16
34
15
57
12
-2
-18
38
25
-13
-33
-5
2
-18
42
6
28
-82
0
54
31
21
-17
-30
22
-83
54
-38
19
-21
-71
13
27
-29
-25
34
-33
-11
50
5
-32
15
-20
13
28
-47
15
19
8
5
-17
3
11
29
17
-3
2
9
-74
-10
-28
-70
61
-33
-29
-42
-79
59
-34
-2
73
7
23
-6
28
22
-6
-8
-11
-5
29
-27
2
-73
-39
-46
11
4
-2
-16
4
14
-7
-52
9
-6
-8
-69
34
-75
-67
-27
-17
-25
1
-5
39
24
102
3
-36
-34
65
32
2
32
25
3
-2
-8
4
-1
5
10
6
5
9
-8
0
4
-2
17
3
10
35
-15
1
30
-20
-2
-16
-17
29
12
-31
-1
30
1
-2
4
-2
-8
-3
-27
11
7
18
4
8
-11
-9
-23
9
-12
3
-2
-2
9
1
-24
11
30
-32
-15
35
-8
-3
-25
-5
-75
11
-24
-3
-5
-9
-28
12
5
-33
-9
6
23
9
-6
-8
13
-12
6
29
-5
27
8
21
22
25
31
4
-22
29
-24
-11
-67
-57
-8
8
-13
-34
-23
-8
-40
-7
-45
-10
4
0
12
32
-12
-36
-21
-1
30
-3
-6
-25
7
38
41
16
39
41
22
66
7
59
67
-4
-7
7
5
-18
-11
-15
23
-1
-1
12
-64
6
-33
-21
-4
-22
43
-62
-8
30
51
-2
-39
36
26
8
-2
-19
39
-12
-20
-17
29
24
-49
-20
-41
-14
15
2
-27
-41
5
-30
-20
-10
-16
43
5
28
-51
-4
-38
-6
9
49
2
-10
-19
9
0
0
-16
9
-8
-6
9
15
-48
-19
-6
10
8
-11
-28
-33
-64
-3
-3
-29
-25
-6
-18
42
7
-38
-3
45
78
-4
-34
-36
-10
-1
-67
20
-5
7
-5
-4
-38
-15
-27
15
-57
-5
6
-12
-74
-24
1
11
6
87
31
11
-6
-9
23
3
24
26
64
-20
35
38
50
-2
0
-41
4
9
17
-35
2
2
-3
23
0
6
11
20
3
22
-18
19
11
-2
-30
-31
-13
22
-12
3
-15
9
-2
-20
-9
-20
-23
-30
8
12
-33
-5
1
1
4
13
1
33
7
13
-13
43
-9
20
5
-36
-19
-4
-37
-1
-6
-1
40
35
24
-37
-1
0
0
5
-51
40
3
-5
-1
1
2
2
7
-13
-6
7
8
-39
33
20
-10
-36
-31
-24
1
-29
-4
-28
-59
37
-20
18
-15
24
3
-50
-20
-7
-27
-21
-34
7
3
4
-15
12
9
18
-17
18
-10
21
-37
5
1
9
-2
-5
-20
-21
-23
-1
-37
-11
-9
8
10
22
-13
-29
-25
-6
-3
-4
-8
5
5
4
31
-14
8
2
-3
28
4
-26
-41
-29
-5
31
14
-2
-29
2
-33
16
-20
16
-2
-7
8
-23
33
-39
-36
14
-1
23
-3
17
-46
-20
-5
15
-18
2
-41
-21
27
14
-10
10
-14
-43
-28
33
-59
-10
-72
38
26
4
-5
-38
2
-32
13
5
20
35
9
7
-6
0
13
15
39
1
6
10
0
-34
-27
33
9
-23
-29
32
-26
-31
-35
22
9
11
7
-15
-11
-16
-11
12
-7
-2
-15
-1
-24
-5
0
10
0
19
-9
18
31
-35
-2
18
6
22
18
4
43
27
49
11
1
54
25
-15
20
24
19
-13
-25
4
-27
65
33
52
5
17
28
10
7
11
1
5
-4
16
11
10
20
33
42
5
-4
11
-5
-27
-4
18
18
31
35
0
14
-18
13
33
31
-3
6
-11
10
-14
-25
58
34
-15
-9
13
38
1
-1
19
-14
-4
-4
-28
4
-46
28
23
17
45
29
-18
14
-8
-4
11
46
-20
1
0
3
19
-11
-10
-3
-21
7
-24
22
7
19
24
24
16
-7
68
45
7
-29
5
-21
2
-2
68
3
8
-6
36
10
-16
13
-16
-20
-31
9
18
3
33
28
-43
-6
54
-20
31
-1
23
41
-5
38
35
-36
8
-12
57
6
41
1
30
15
31
5
15
-12
12
-2
29
-2
13
-40
11
-15
58
14
-8
-17
12
22
21
-8
33
0
-25
30
8
4
1
-33
6
-60
-28
18
-31
-10
9
1
3
-27
5
7
9
-16
-11
21
-57
28
-21
7
2
22
13
37
37
-34
15
-53
26
-8
13
-33
57
46
16
-42
-38
19
-7
25
22
28
25
16
-3
14
-48
13
-1
3
6
18
5
0
-8
7
22
7
-7
7
8
11
26
-28
26
-22
-12
-11
-29
10
-67
3
26
4
4
11
61
67
-13
33
-41
33
30
9
-25
-28
18
-29
68
32
14
23
35
17
0
18
-22
43
-6
-48
14
32
14
42
47
6
-11
4
-32
19
11
8
13
20
-17
-44
-43
30
40
27
-20
41
15
-26
-17
29
14
8
-80
26
60
-72
59
7
-26
-6
-4
31
18
11
32
-39
10
-9
-10
-9
-1
44
24
-13
-7
17
2
44
-8
-12
-59
8
-56
-30
21
27
64
-46
14
36
1
29
-18
28
16
17
41
-13
0
-40
12
-1
-15
-42
17
17
17
72
30
30
2
-26
-58
-17
-2
9
-26
26
-77
36
31
-39
-28
-10
81
12
36
11
-40
-10
7
8
-26
59
17
6
10
1
-4
3
26
15
-5
12
4
-53
-11
-12
-16
33
-26
22
35
-42
-25
15
-28
8
-2
-48
6
34
-16
65
22
3
-32
7
21
-20
12
-22
15
6
6
-23
-43
0
-4
-76
67
13
1
-36
-27
6
18
3
23
14
2
1
53
52
-30
-4
8
-9
-18
-14
3
25
-29
11
18
-9
43
0
26
-16
-56
54
39
-21
-37
1
-20
-25
-11
-5
43
19
56
-2
-17
-19
-38
-67
46
-9
0
-31
32
41
6
-35
25
36
-20
-7
1
-21
-7
-11
-6
23
-29
0
8
0
-26
-23
-28
28
29
32
-26
30
87
21
-4
25
17
64
-15
4
-42
-7
-2
0
1
15
-9
14
-18
24
5
25
13
42
12
5
9
6
11
3
-9
-30
-45
61
13
43
3
-26
-10
23
60
-10
18
-11
-5
3
14
-12
-29
-11
17
-17
-9
25
18
-19
-4
-11
-8
-2
23
5
-3
-24
11
-21
5
54
17
-45
14
23
-42
-16
14
-6
-9
-17
1
-43
3
-17
6
1
4
1
14
-7
-23
55
25
12
20
-38
7
32
29
-37
-20
-4
11
8
-2
-8
-22
-20
-48
29
8
-6
-2
7
-24
-32
12
-23
6
-21
3
30
-4
8
4
-2
39
29
28
-6
-12
-77
-6
-4
8
14
-50
-7
24
23
30
-36
-18
7
-20
7
-15
27
12
-19
-24
-26
8
-1
-23
20
-9
4
70
15
-15
-34
61
-5
-29
29
34
-26
-12
-48
-2
-40
19
3
20
-2
15
5
-9
36
3
-22
46
-19
-42
-22
-23
-24
-3
-4
8
38
0
-2
4
53
-6
-39
-9
-2
-39
-49
-7
-4
21
-24
11
12
10
0
-29
-6
-2
4
-36
7
-66
-15
-56
-15
-41
10
22
-13
-11
19
2
34
-68
-9
52
-73
14
-16
1
-16
-8
-79
7
-31
-12
34
-3
4
-31
-5
-5
28
-13
12
25
-20
-59
13
-7
-2
-29
-7
-14
7
17
0
22
-2
-23
31
33
-37
33
10
-10
6
-13
15
-12
-19
18
24
-5
-8
-4
2
3
7
17
-6
-18
8
-4
-12
9
-20
3
-71
34
29
-8
20
-12
-16
7
-5
27
10
-13
-3
-1
8
-2
8
-3
4
-2
2
-25
3
-17
6
22
-9
-27
15
-43
36
6
1
-11
-22
-13
34
6
-4
-2
30
-3
-1
-31
42
60
-18
2
0
15
-4
-7
-7
-23
-8
13
15
11
6
-21
8
63
-54
55
-53
14
7
1
29
-8
-24
3
-26
9
24
-31
-56
8
-14
-36
-56
3
18
13
-6
1
3
-46
-7
8
25
3
30
27
22
-3
-4
34
-8
39
-9
-10
-18
-36
-32
5
-8
-24
-41
18
10
-28
8
0
18
32
17
30
-14
3
-5
27
5
21
-20
-15
-2
26
-40
4
13
28
11
23
-7
-24
-5
-4
4
-26
13
-56
-43
-20
-30
31
-4
-18
0
-4
-39
22
-7
55
-3
5
7
-44
-2
29
51
-15
5
9
-37
19
-33
-73
19
6
-20
-24
-9
-2
20
-37
-14
24
6
1
-17
27
-35
23
-21
13
12
18
13
15
-7
20
-1
3
0
-16
-3
-6
-1
-13
-10
4
-1
-1
-9
-9
2
-7
7
15
-2
6
-4
0
0
-7
-5
15
-4
-2
-10
29
13
-7
-20
16
2
20
-3
12
-7
13
-24
46
18
37
41
20
0
39
25
26
27
20
15
34
45
33
-8
6
16
-1
38
-8
7
3
-4
12
5
-2
10
-8
14
37
-12
34
5
-15
-10
56
35
-1
15
-2
2
-19
12
12
-7
-40
-5
5
-1
7
-2
6
-4
22
24
30
17
-47
-40
-13
8
-41
-10
15
61
-67
11
-10
-20
9
49
19
-22
-13
-5
16
23
-20
26
10
-10
26
-19
25
-3
12
3
-2
4
-38
-32
-14
-16
8
-1
8
6
-24
-35
1
1
-61
-66
-8
5
-36
-24
-45
10
-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
18
-19
3
-8
14
-22
-20
-12
23
3
14
-26
18
27
23
4
17
-33
36
-5
8
68
55
16
32
10
27
-33
2
8
-28
15
13
10
-13
12
29
5
-24
-10
-2
24
-22
-7
36
-5
0
-12
12
25
0
17
26
36
-37
62
5
-4
4
-22
2
18
16
1
-10
-4
-3
26
-6
-24
-16
11
25
11
17
10
45
-10
13
16
35
-23
-17
14
-13
-41
-6
-54
29
20
-63
-19
-8
-40
24
5
49
37
2
-38
1
-28
-10
-40
-26
0
-41
-9
10
12
14
-15
18
-38
-3
-5
6
-50
-34
0
5
10
-7
-32
17
-46
-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
12
3
-15
37
21
5
37
15
34
39
-56
26
21
59
-22
7
6
5
2
3
-5
-3
4
2
-3
-1
-8
-6
8
-5
4
42
26
-38
1
30
-23
-50
-50
26
18
-20
-25
-17
-8
-23
-9
1
2
0
-9
-8
19
-20
-4
4
0
11
16
-8
-3
-11
15
13
-2
-9
33
-87
30
-31
-48
8
16
-30
11
-15
59
-34
-21
0
-9
-2
-1
3
-12
-12
-9
1
-7
16
24
-2
-12
-3
-1
57
-12
35
11
59
-30
-93
-12
55
4
-48
7
-24
-85
-21
-1
-13
-17
-21
-1
12
4
-25
-23
-6
-42
10
-22
-14
13
-6
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-28
49
-1
3
-57
35
29
32
-11
5
29
45
8
14
-30
9
1
-17
13
10
4
9
6
-1
-5
-5
-14
0
1
-5
-4
6
2
47
-24
-23
23
5
48
36
-6
4
26
26
3
-21
12
-2
-11
7
32
-5
-26
-2
-6
-4
9
-18
-22
-17
6
-8
-9
21
-27
32
19
-55
-4
7
-44
-14
-41
8
-2
18
-56
-74
13
-1
-37
-8
14
9
-4
16
-4
-12
-7
4
2
-5
3
14
18
-10
38
-45
-5
-54
-41
-12
22
3
-14
-42
-19
-6
-59
-1
-31
9
-3
-14
-39
-47
-45
-5
-2
-17
-20
12
-3
-27
20
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
-2
-16
1
18
10
34
-2
17
12
24
8
42
7
-9
31
4
-1
-12
19
36
-11
4
54
76
-21
23
46
22
-4
41
-13
16
24
-1
-6
-1
4
34
-14
30
6
17
20
25
15
24
19
-10
25
-25
-29
53
6
23
38
-15
13
-11
10
0
7
12
11
-10
-12
0
9
0
-3
13
-5
27
16
1
34
29
12
-17
-5
37
-17
-37
28
-17
-5
79
3
53
53
11
-18
-6
18
-16
10
-19
25
2
-19
8
0
6
5
7
22
48
-5
6
-21
1
26
37
32
-13
-2
28
-61
-6
-24
17
14
-20
-1
6
-32
-10
53
30
-28
3
-39
0
-15
-15
21
44
0
-8
51
-15
16
19
60
-6
27
-5
27
-34
17
3
-10
-28
-33
5
44
46
-22
4
38
18
30
-25
75
1
-12
-18
29
4
-5
-24
42
-10
12
-35
-14
-46
19
30
41
17
13
-8
-22
33
26
-16
-24
22
40
-29
-4
12
6
-26
-5
46
37
-82
-28
63
55
-4
-7
21
29
-2
19
-47
7
-13
-30
-13
42
-42
10
-7
24
-28
0
-82
-37
-20
0
34
11
-5
20
24
4
-1
-50
-17
18
-40
8
-3
9
8
7
-14
47
-19
10
15
-47
-4
-46
17
5
-34
-53
18
-21
-16
-35
18
30
40
-10
6
26
12
45
-18
-1
-6
22
27
23
43
21
47
-6
-3
-20
72
-2
108
-52
-62
-2
11
31
45
20
20
-6
14
19
26
-45
18
1
-41
-16
24
16
-4
12
15
-14
-18
-40
-39
72
2
15
13
53
21
9
-22
-13
27
20
-13
2
-53
-53
15
20
29
11
42
22
-33
-12
38
-9
-42
23
35
12
-34
-25
-6
-3
1
-23
9
39
-27
36
-8
-50
-15
29
-76
-15
17
-83
-5
27
35
76
4
-1
6
-21
-45
6
-5
9
-13
22
-15
-3
-42
3
-23
-78
19
-21
-19
7
67
17
-19
-7
31
-47
-23
17
-12
30
-3
10
18
63
2
-27
23
55
48
16
37
26
-28
-22
35
5
-31
5
13
22
63
-5
-41
25
0
28
22
47
-3
-33
-39
18
1
-10
10
10
15
0
-19
-24
32
-32
-23
-11
-44
-28
-113
42
10
11
-20
-6
-3
1
42
118
-24
-16
-12
-34
-25
15
-8
-9
-2
30
-32
-33
8
23
11
-8
-58
5
-16
-28
-16
10
8
5
0
-3
-42
22
-15
-1
-15
-44
-37
-11
-5
-20
6
-27
10
31
17
3
21
-21
-1
-21
0
18
-11
0
-25
6
-62
-16
-3
45
-6
-3
-28
10
-42
-58
-13
-33
-24
-48
-31
15
49
-15
-37
-22
6
-5
-9
8
-23
32
2
46
77
55
1
-15
38
6
6
3
-8
2
-8
-1
-4
9
-3
13
18
12
19
-1
4
17
-1
25
0
13
-6
0
1
40
2
47
46
-23
-21
-2
40
-8
-7
5
3
10
-1
-10
1
0
-18
3
-9
-2
-25
-21
5
-18
-34
-3
36
10
-36
35
17
7
-47
3
7
-34
-17
43
92
-54
-27
7
8
-3
-26
-4
24
6
-6
5
20
5
-7
18
-5
-11
2
78
-3
3
6
24
-25
-16
0
29
9
-43
-46
51
-21
23
3
0
-4
-9
-10
-25
-5
-6
-13
-24
-22
4
-27
-21
20
-7
5
-27
-18
53
33
8
1
21
-8
14
-4
43
-47
13
-38
-16
7
-1
-13
12
6
-5
-27
14
23
-27
7
12
21
2
-12
5
16
69
8
3
0
4
-18
-29
-37
23
21
-28
-39
27
-72
-24
27
1
-15
-24
-1
25
-26
-19
8
-20
9
16
-78
24
5
-52
-1
42
47
51
31
-30
-34
10
-6
0
0
-14
-9
-12
3
-2
24
4
-8
-5
-24
-5
-38
-16
-20
-39
-6
-20
-13
-14
-33
47
-9
22
6
-49
-3
-20
63
41
-10
31
-2
-39
24
-65
4
49
7
11
0
-8
-15
-20
-4
11
-6
7
-42
-37
-46
-22
-101
-44
-17
6
22
-10
2
22
-27
20
0
-12
41
14
28
11
20
-2
1
12
5
-10
-18
86
15
7
-8
-2
0
7
7
-5
-1
10
8
25
50
66
-25
55
10
-37
-31
13
0
-49
8
49
23
-53
-44
23
13
28
15
-7
24
12
27
-3
4
5
-23
6
4
-30
-3
-20
-1
26
18
-18
-27
11
1
31
45
-27
-20
14
-1
-37
25
8
-14
7
-29
7
-10
-24
43
-6
11
-16
-12
24
9
6
-2
36
35
40
24
1
8
-11
-31
80
6
-55
-15
-19
-9
35
-55
26
47
-27
-42
-28
-36
-13
-29
8
-6
-3
-8
8
-25
9
-24
25
24
-38
-35
32
6
13
-33
12
13
-17
24
-31
58
8
-22
2
13
-9
-9
-19
-32
-44
-9
21
12
13
-19
-38
-18
-11
12
-11
27
-27
18
8
-20
-65
-14
23
12
-19
-69
-20
0
-3
-16
6
6
-33
-10
4
4
19
-12
30
-6
-15
-25
-30
-3
-26
-33
41
2
-10
-6
53
17
19
6
-32
2
-9
-7
17
-2
-60
-29
8
6
-19
-22
14
-39
-7
29
-14
19
-7
-15
31
32
14
-23
2
1
20
7
-9
-21
16
8
6
-11
-16
-11
-17
-24
29
-3
-5
6
-1
23
2
-14
2
-22
-1
5
5
9
0
-10
5
-1
4
3
13
1
5
0
-3
-1
16
-14
7
21
23
46
12
37
-29
-22
-15
69
13
26
-53
71
9
31
37
62
-27
31
39
24
5
9
5
24
7
-2
-20
18
24
0
19
-3
9
23
-17
16
7
9
17
25
-17
16
61
-54
22
-7
-4
58
30
4
30
12
-6
5
-15
8
-33
14
36
35
-2
-25
0
13
-34
8
-30
34
-2
0
14
27
8
-34
21
-18
19
-12
-3
-11
-6
63
12
19
15
9
1
-20
36
-9
2
22
39
-8
-11
-5
2
24
25
30
2
-26
18
-14
-1
8
-25
-10
-11
7
19
-1
39
-24
-7
36
-30
8
6
57
21
28
26
6
8
4
-34
32
6
-59
55
23
-1
11
6
21
47
-5
-10
18
-19
-16
-8
11
41
10
63
6
33
20
-24
-2
-21
30
6
38
37
28
-26
-30
-14
14
26
-46
45
39
-70
-12
20
-30
11
14
-23
20
11
-4
-29
-9
-44
-7
29
1
-4
53
-27
-51
-6
9
32
-27
-61
14
51
-2
71
2
2
-19
-5
-94
-24
56
0
21
-4
-24
-12
-8
7
12
55
-24
20
-1
29
20
9
-10
9
-13
46
-38
33
-2
-6
-61
31
-33
64
48
6
-42
25
15
25
9
20
9
11
-82
-5
-18
-24
-4
7
8
2
26
14
33
11
10
17
-29
14
-47
20
-21
42
57
2
-35
48
-13
-11
96
-1
20
39
16
4
37
-26
22
35
60
-14
-24
19
3
-17
-12
9
-17
16
4
35
49
-1
-2
-22
6
-19
13
14
33
74
2
-7
-35
53
-10
29
-10
-2
-3
-54
-6
-6
16
37
39
-2
5
-53
5
-17
23
-5
-4
-13
-12
5
-22
11
-7
-1
-5
13
29
40
-38
20
16
4
-29
-25
15
10
-3
-6
10
-1
20
-22
-30
-40
-8
4
32
-32
41
28
-34
31
42
-6
-15
-42
-5
-19
37
16
-57
-20
3
-17
-31
-20
26
4
-31
44
27
15
16
-1
-9
-40
-22
63
47
29
25
17
45
-37
-38
4
-14
-3
32
6
-64
10
-8
-10
12
41
5
-75
33
-21
-46
32
29
42
17
21
3
-17
-22
43
14
-7
37
-18
13
14
-23
38
62
-20
9
-53
-4
7
-1
28
-22
-52
-17
-42
-11
-7
-21
-6
15
-16
-4
-7
31
-17
-4
-13
3
17
32
62
-2
24
-15
11
-25
24
-30
-4
-12
-6
-5
11
-12
-21
-22
5
9
-15
-1
-4
7
32
-13
26
28
56
7
48
15
-12
-36
-17
-35
31
-32
33
17
1
-19
68
6
-22
-48
6
-1
-10
-54
-28
-34
-24
-16
16
9
56
26
-2
-10
30
15
15
33
66
-9
-33
-31
17
34
-4
-3
-3
-3
8
8
16
7
3
-10
15
-6
11
2
6
-8
18
-25
8
30
-17
-39
-29
-6
-22
21
19
-15
8
31
-20
-13
-5
-19
-5
-8
-5
-14
21
16
17
33
-13
-25
25
46
-1
17
14
45
-31
-15
22
78
5
-34
33
-64
33
-52
16
-8
13
-21
3
-8
3
1
-2
-24
-8
-24
-17
16
-37
13
-9
-15
26
3
23
-23
-68
-24
43
13
16
15
-36
-8
-21
-26
-32
-30
-39
1
-9
20
-7
19
-42
4
20
-3
-12
-30
19
-17
13
-41
-14
-1
-15
4
45
0
41
-46
8
24
4
39
-24
-54
-27
-46
-7
-19
7
2
-30
-28
14
35
6
11
27
35
-7
-19
8
2
-24
-21
46
-17
-21
-18
34
-30
10
-74
23
21
56
8
-17
18
-46
-61
10
17
-11
16
10
-1
-17
24
-8
-28
-46
-15
40
-45
-45
-34
12
-16
-9
9
25
-19
-24
-17
26
43
-16
-115
25
-38
-19
9
6
4
7
-22
9
-6
-38
-35
13
-14
-15
-44
-37
-1
-1
-29
-3
-6
-4
9
14
3
19
32
20
-10
-27
-64
-14
-51
-25
-33
11
-8
18
7
-21
-17
-20
-40
9
-25
-5
23
-5
-74
-16
2
44
17
35
47
35
-12
-60
20
-30
4
45
35
10
20
-20
26
2
-3
-3
-10
0
14
-1
7
-6
-11
9
3
-9
-11
1
15
27
5
-37
15
3
13
10
18
7
23
22
41
-7
-16
41
-31
13
-11
-32
-27
5
-21
10
-37
-6
0
9
-8
-6
0
28
6
-27
6
16
-27
6
14
7
35
41
41
8
29
4
24
-33
-85
12
7
0
3
-20
-39
-20
37
-12
6
0
-9
11
-28
-18
9
5
13
3
35
-6
-39
-5
-30
5
-24
-14
-68
-32
-17
10
28
3
2
-4
18
46
-27
-59
-13
-2
-5
-3
17
4
15
-34
-18
-20
13
-19
-36
17
-6
-5
2
-4
5
9
-33
18
67
-48
-8
-7
-15
-8
-2
3
-26
43
8
17
15
-2
-30
-21
-35
-43
16
0
12
-28
-28
4
3
-11
-34
63
-21
-21
6
12
-30
36
-28
15
-3
-7
-34
-14
-25
-19
9
-4
-8
2
-37
2
-1
-39
17
59
10
28
-41
-22
-35
8
-16
-15
-11
-39
23
46
31
30
-4
5
5
-31
-27
-16
-33
-2
8
18
46
-9
0
-29
-15
-22
-1
25
13
28
12
-17
5
-1
12
28
11
-9
-4
-5
-17
-40
-49
10
4
6
0
1
-1
-13
1
-2
6
-11
-11
5
0
-2
-13
19
24
-5
6
0
0
0
0
8
6
16
-37
0
0
0
0
6
20
-9
28
0
0
0
0
10
15
25
-1
0
0
0
0
12
-1
6
-4
0
0
0
0
3
26
16
-26
0
0
0
0
1
-15
23
-3
0
0
0
0
21
-12
8
27
0
0
0
0
6
2
12
6
0
0
0
0
-45
14
19
-22
0
0
0
0
13
11
11
-28
0
0
0
0
-7
12
-19
-7
0
0
0
0
-6
4
16
-7
0
0
0
0
-19
-26
12
-7
0
0
0
0
-1
4
28
-11
0
0
0
0
-2
-18
-37
9
0
0
0
0
13
5
0
-3
0
0
0
0
3
-4
12
29
0
0
0
0
63
-9
-80
55
0
0
0
0
23
-102
29
-39
0
0
0
0
13
6
12
0
0
0
0
0
17
-17
9
3
0
0
0
0
-40
53
-61
-17
0
0
0
0
30
-27
10
-42
0
0
0
0
-6
-20
20
-13
0
0
0
0
18
-15
-44
-30
0
0
0
0
-9
3
-45
29
0
0
0
0
33
-24
29
-49
0
0
0
0
-9
5
-11
-8
0
0
0
0
-31
-9
-28
13
0
0
0
0
-20
11
-33
-59
0
0
0
0
-36
20
23
-33
0
0
0
0
22
18
21
2
0
0
0
0
27
3
-16
-3
0
0
0
0
9
23
39
-15
0
0
0
0
2
52
14
-21
0
0
0
0
21
23
-27
23
0
0
0
0
14
25
-17
-30
0
0
0
0
-12
35
20
0
0
0
0
0
-18
31
-19
-11
0
0
0
0
32
-19
0
-18
0
0
0
0
22
-22
15
-3
0
0
0
0
9
1
-29
-1
0
0
0
0
0
-31
-7
14
0
0
0
0
31
10
9
1
0
0
0
0
34
4
-16
-3
0
0
0
0
-5
-6
7
-15
0
0
0
0
18
-8
-28
11
0
0
0
0
18
-2
-5
-25
0
0
0
0
29
41
39
5
0
0
0
0
38
19
21
20
0
0
0
0
21
-25
8
36
0
0
0
0
-7
-5
2
11
0
0
0
0
-33
45
-39
15
0
0
0
0
11
6
-72
-54
0
0
0
0
-10
12
-48
-33
0
0
0
0
33
20
-11
-40
0
0
0
0
20
-30
3
-12
0
0
0
0
-6
0
-7
-6
0
0
0
0
-23
3
-36
-27
0
0
0
0
4
10
14
17
0
0
0
0
-58
-1
-67
27
0
0
0
0
-21
-5
3
-2
0
0
0
0
6
19
-41
-33
0
0
0
0
12
38
11
1
0
0
0
0
26
5
24
29
0
0
0
0
7
3
-3
-4
0
0
0
0
7
10
-25
-49
0
0
0
0
-5
8
-12
0
0
0
0
0
38
11
5
-37
0
0
0
0
2
9
-4
-2
0
0
0
0
-17
10
2
-6
0
0
0
0
41
14
-36
-9
0
0
0
0
-4
-25
-14
-33
0
0
0
0
-1
12
-3
2
0
0
0
0
12
-24
-1
-24
0
0
0
0
12
7
-17
-37
0
0
0
0
0
4
-20
-6
0
0
0
0
-14
-11
2
-13
0
0
0
0
-13
-21
-26
-41
0
0
0
0
32
-24
3
-50
0
0
0
0
60
18
48
3
0
0
0
0
27
18
-8
4
0
0
0
0
-1
3
-1
-3
0
0
0
0
40
-26
-7
-46
0
0
0
0
-4
-34
-15
33
0
0
0
0
17
4
7
-21
0
0
0
0
-3
-12
-15
-5
0
0
0
0
33
-12
-37
-66
0
0
0
0
70
46
-9
-9
0
0
0
0
-8
-4
3
-9
0
0
0
0
-1
-31
-23
7
0
0
0
0
-20
51
9
0
0
0
0
0
10
40
-37
-55
0
0
0
0
-9
-3
-18
0
0
0
0
0
15
-19
9
-8
0
0
0
0
15
9
-6
0
0
0
0
0
19
11
56
-38
0
0
0
0
-2
14
35
15
0
0
0
0
3
0
-11
-20
0
0
0
0
56
11
-29
-25
0
0
0
0
9
-12
46
15
0
0
0
0
9
-10
-24
-4
0
0
0
0
3
-5
-12
-11
0
0
0
0
18
-3
-12
5
0
0
0
0
78
-20
17
-13
0
0
0
0
0
-11
-26
9
0
0
0
0
-11
-5
2
13
0
0
0
0
23
10
-36
4
0
0
0
0
-7
-28
-44
0
0
0
0
0
2
-22
52
9
0
0
0
0
-8
14
2
-12
0
0
0
0
38
36
-10
-18
0
0
0
0
4
19
-12
-10
0
0
0
0
11
-7
0
-24
0
0
0
0
-11
-5
-17
2
0
0
0
0
40
32
-21
-15
0
0
0
0
4
-15
9
-22
0
0
0
0
0
-13
4
-11
0
0
0
0
3
-17
-20
-9
0
0
0
0
-17
-31
32
-10
0
0
0
0
-25
-29
-8
-3
0
0
0
0
9
-14
18
35
0
0
0
0
-7
-10
-1
15
0
0
0
0
-9
-8
7
23
0
0
0
0
11
10
3
-23
0
0
0
0
5
-8
10
17
0
0
0
0
-10
-18
22
13
0
0
0
0
23
7
8
6
0
0
0
0
6
27
-3
-16
0
0
0
0
-2
27
7
18
0
0
0
0
9
-3
-50
-7
0
0
0
0
-2
7
11
15
0
0
0
0
22
-1
22
-14
0
0
0
0
39
7
-9
-3
0
0
0
0
6
13
-31
-2
0
0
0
0
-11
-12
-7
6
0
0
0
0
-14
-17
-7
-12
0
0
0
0
4
28
6
-4
0
0
0
0
-28
-37
-26
-11
0
0
0
0
23
12
17
15
0
0
0
0
0
-21
21
10
0
0
0
0
-17
9
62
-34
0
0
0
0
3
-93
-10
-18
0
0
0
0
23
-5
3
72
0
0
0
0
-1
8
57
39
0
0
0
0
38
36
2
-23
0
0
0
0
-22
69
-30
-27
0
0
0
0
33
-11
11
-12
0
0
0
0
32
4
62
9
0
0
0
0
13
5
51
23
0
0
0
0
7
4
-19
13
0
0
0
0
27
22
25
20
0
0
0
0
23
0
-17
-16
0
0
0
0
33
-5
-47
-20
0
0
0
0
76
12
6
-57
0
0
0
0
-12
2
8
-11
0
0
0
0
-32
0
17
73
0
0
0
0
25
21
-3
3
0
0
0
0
-59
-32
-45
18
0
0
0
0
14
9
10
19
0
0
0
0
52
19
73
1
0
0
0
0
31
8
-39
-29
0
0
0
0
-19
53
78
-6
0
0
0
0
39
3
23
-10
0
0
0
0
32
-7
31
30
0
0
0
0
12
31
-34
-18
0
0
0
0
-23
11
16
-128
0
0
0
0
-4
16
-6
13
0
0
0
0
7
2
-34
-26
0
0
0
0
21
-10
50
-36
0
0
0
0
9
42
-34
46
0
0
0
0
47
12
21
-3
0
0
0
0
-2
4
-33
-29
0
0
0
0
-3
-24
32
-22
0
0
0
0
43
16
12
-48
0
0
0
0
34
10
43
8
0
0
0
0
40
30
-11
-29
0
0
0
0
3
-1
-14
-20
0
0
0
0
-16
12
6
-3
0
0
0
0
-21
-13
21
-37
0
0
0
0
-3
27
-33
-36
0
0
0
0
7
11
7
8
0
0
0
0
-16
27
0
7
0
0
0
0
25
-22
7
2
0
0
0
0
-33
-9
9
-15
0
0
0
0
3
-9
-15
-30
0
0
0
0
-13
61
0
12
0
0
0
0
-19
24
-9
-31
0
0
0
0
25
26
5
17
0
0
0
0
33
8
-19
-17
0
0
0
0
4
-23
-5
-22
0
0
0
0
41
-15
5
-21
0
0
0
0
-29
-1
2
14
0
0
0
0
2
5
-3
-5
0
0
0
0
-8
37
13
-4
0
0
0
0
5
3
-32
-11
0
0
0
0
-5
-28
-11
-28
0
0
0
0
5
6
7
1
0
0
0
0
-10
-13
4
9
0
0
0
0
71
30
4
-30
0
0
0
0
46
-44
-3
-16
0
0
0
0
2
-8
-7
-8
0
0
0
0
13
-20
-4
23
0
0
0
0
52
3
3
31
0
0
0
0
33
14
9
-32
0
0
0
0
-8
-4
-16
-10
0
0
0
0
-21
-14
-13
-27
0
0
0
0
4
14
-36
1
0
0
0
0
-31
-23
4
-12
0
0
0
0
13
-16
14
4
0
0
0
0
37
-41
-2
13
0
0
0
0
-13
-1
-20
-17
0
0
0
0
-16
2
17
-22
0
0
0
0
7
4
-13
12
0
0
0
0
-32
-15
-34
-27
0
0
0
0
14
6
-13
-21
0
0
0
0
-6
-38
-61
-33
0
0
0
0
19
-33
-8
-34
0
0
0
0
-5
-53
-34
-50
0
0
0
0
12
15
-31
3
0
0
0
0
50
-22
-8
-15
0
0
0
0
1
6
-27
-36
0
0
0
0
6
-31
-29
-23
0
0
0
0
-2
-25
-4
-11
0
0
0
0
23
12
-19
-19
0
0
0
0
23
18
13
16
0
0
0
0
2
-5
-13
-13
0
0
0
0
0
0
10
-28
0
0
0
0
4
14
21
16
0
0
0
0
3
10
-16
-11
0
0
0
0
7
-13
0
-9
0
0
0
0
2
16
36
-24
0
0
0
0
34
-17
-27
-51
0
0
0
0
-10
-7
-11
21
0
0
0
0
8
-1
-5
6
0
0
0
0
7
8
29
-19
0
0
0
0
21
-17
-75
36
0
0
0
0
38
29
-33
-39
0
0
0
0
7
-9
4
2
0
0
0
0
45
11
4
-15
0
0
0
0
27
9
10
13
0
0
0
0
9
-2
25
-11
0
0
0
0
1
-14
8
-16
0
0
0
0
13
33
-18
-44
0
0
0
0
-11
5
-13
-20
0
0
0
0
1
9
10
-14
0
0
0
0
-15
7
-3
0
0
0
0
0
20
-10
-47
0
0
0
0
0
-12
16
-24
-33
0
0
0
0
4
4
19
-16
0
0
0
0
4
-5
-16
-5
0
0
0
0
9
5
5
-4
0
0
0
0
15
8
9
14
0
0
0
0
3
-1
-2
-9
0
0
0
0
4
0
2
-5
0
0
0
0
17
61
18
-35
-10
-37
12
-23
44
5
4
15
-4
-21
37
30
32
-3
-16
-31
-4
-5
4
-8
34
2
44
14
16
38
13
21
5
23
-24
42
40
-10
-19
21
15
-42
20
-19
-38
-15
-14
-15
-3
7
17
25
-35
-1
5
30
2
12
17
-33
32
-6
-1
16
3
-26
32
-6
57
36
-13
-17
-47
25
23
26
5
-47
-10
8
52
25
-58
24
7
-17
5
-47
-11
-25
-4
8
-31
20
-37
-49
15
17
8
28
14
0
32
33
-15
66
-2
5
-38
0
17
-55
-16
15
-4
10
4
2
-5
21
-28
-44
26
-12
21
-39
-7
-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
2
26
-14
-20
-2
-2
3
-18
29
51
29
9
-4
36
21
-72
-27
20
-4
11
-57
-2
21
-23
16
17
-16
51
11
-24
-10
24
22
14
-4
-12
-14
20
-8
-14
17
-7
0
-5
27
26
-25
-11
-12
-14
7
-16
11
-19
8
-29
1
41
-17
-23
20
6
27
-28
9
13
25
6
-3
-2
-34
-4
-19
-17
11
18
25
14
45
7
23
-7
-2
12
-6
-12
12
-15
-39
-2
37
-22
-25
-17
-18
-48
18
-1
-25
20
-26
-27
-4
7
-24
-26
-17
-49
-6
5
-28
-10
8
-10
-6
-1
-8
23
-8
20
11
1
9
22
-34
9
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
-10
-4
0
0
-4
45
-29
15
33
15
-2
7
12
-4
21
4
38
17
5
-2
13
9
75
-8
8
-11
5
19
2
2
-4
-28
-10
15
-22
-1
19
0
5
-24
9
-20
-34
-37
-16
22
-7
-29
17
-6
3
29
-19
-1
1
50
-6
19
-45
32
18
30
-10
-12
-8
4
-15
-1
-8
9
0
1
-27
-14
-15
9
23
-11
22
1
2
-6
0
-51
-35
10
6
0
5
-38
-43
-45
-10
1
-18
-12
11
-31
13
-33
8
-6
-12
-5
24
24
-1
-2
-5
0
-8
-8
26
-38
-13
-45
59
-1
-17
15
16
24
-39
-71
-17
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
28
1
-28
-3
-16
-20
2
13
43
-44
36
16
0
26
19
48
-26
-7
23
15
-14
12
-33
-8
-11
6
4
48
8
-9
38
-18
-19
0
34
18
2
27
43
-12
-2
9
-7
1
10
-38
-18
-54
0
8
18
-13
-37
28
47
29
-11
-31
18
-3
-32
6
-3
10
0
-6
22
1
-11
-6
-10
-6
22
17
-1
-8
-28
8
-4
40
-5
-36
11
-45
22
-27
-31
-13
38
13
41
-14
-18
13
7
-12
-52
26
-10
-26
-13
-22
2
0
27
1
2
3
1
-1
18
-32
2
18
-12
42
6
-33
16
-2
-14
-20
15
-13
-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
21
-1
-1
-42
3
25
-1
46
0
-45
3
-17
-26
-13
18
59
16
-19
4
13
11
9
23
17
-11
8
11
4
34
21
-13
55
-17
-10
-10
-30
14
-3
16
-26
8
-10
39
23
16
-4
9
48
6
34
43
-18
28
15
-13
2
-36
12
10
-8
12
20
8
42
-16
6
-5
11
22
1
1
47
-21
9
23
59
7
-12
-10
-10
18
4
30
9
-25
-9
21
12
-36
12
15
-45
-1
-27
39
-5
-15
49
-45
37
-1
30
-14
12
46
26
33
0
-7
37
-4
36
4
8
-15
23
-6
22
-25
-4
5
26
2
26
5
-18
13
-28
13
13
-35
22
21
-8
17
-11
-3
9
30
4
-19
3
7
-23
-10
3
-49
20
-13
1
-6
1
-10
-27
26
-23
23
29
23
-18
12
10
12
-4
35
-24
-6
-32
-29
-5
-3
17
8
7
6
17
12
-26
-11
-4
6
-2
2
13
6
-6
-13
23
-9
9
-2
-8
8
-28
-4
39
2
-13
0
3
-4
1
6
-14
-10
0
0
-17
0
19
8
-3
4
-11
2
-7
26
-9
6
37
-9
6
-33
-81
-13
-1
36
4
-13
-1
-1
-39
28
9
4
-9
-10
26
-51
-30
21
-22
10
-8
-26
5
29
-15
-7
42
1
-11
4
-5
8
-27
-8
-32
41
-5
7
-19
19
-8
2
36
5
19
-12
26
-17
-20
1
13
-5
14
42
-14
18
26
-17
32
21
-18
-11
-6
43
-16
-13
-7
1
-20
-12
-22
6
8
-23
11
3
-21
-8
-1
-4
-3
20
1
-6
-2
28
-5
-5
15
-6
-24
-1
-1
28
16
-31
-40
14
-21
22
-8
18
1
-1
15
10
-10
-1
-13
8
-15
4
7
-28
-15
-12
-13
41
-41
-1
-6
17
-1
-25
9
4
-36
22
-16
21
17
-6
-19
7
-7
-19
9
-16
-20
-1
0
-4
-1
9
-25
14
-15
5
7
-19
-18
6
-9
17
13
-24
-16
-27
-44
-20
1
11
30
-35
22
24
-2
-12
-9
-17
33
-19
9
-3
16
19
0
17
0
-9
25
-1
0
14
18
-7
0
-1
17
-10
7
15
27
16
-7
24
6
9
-4
1
-6
5
-17
6
-26
4
4
2
-29
9
12
2
-9
3
-2
0
-8
-10
12
-12
-23
6
1
-44
3
13
24
-3
38
5
13
7
-23
8
3
3
10
0
-1
-16
-3
1
16
-5
0
-10
-17
-6
-26
18
-18
-18
5
-13
1
-6
11
23
59
-32
-8
-12
-11
-5
-10
-13
-5
-7
0
18
-39
7
-11
15
30
-25
49
-11
3
-9
11
-5
-3
-49
-10
28
-50
-49
-28
5
-22
0
-22
7
11
0
21
0
-6
9
27
1
-2
23
-50
-17
-11
13
3
-30
10
43
44
-22
29
14
8
17
25
8
33
20
-2
12
21
-8
21
-6
-14
15
-9
0
-25
-6
-2
19
2
-31
-36
-26
-40
7
24
37
49
21
2
4
20
-6
-70
15
46
0
1
-16
-38
-4
-2
-2
-25
-1
-16
-1
15
-3
-8
6
-41
39
9
-2
-3
43
-11
-41
-29
25
13
13
14
-47
15
-13
-29
-12
-6
4
16
35
19
7
29
-21
7
14
2
-1
-22
-9
-19
-4
-24
-31
19
7
-3
12
-56
-47
0
9
17
49
5
-25
16
28
3
15
15
-3
1
1
0
10
-3
22
-2
2
0
4
18
-43
-12
44
-11
22
-11
-6
5
28
38
19
-37
-18
-21
44
-17
-5
18
-22
3
8
9
0
-27
9
12
-13
12
-9
4
11
27
-33
32
10
-20
-7
-24
-10
15
-2
5
1
19
3
-27
-15
-15
40
-2
3
-1
0
-6
0
1
2
-2
-3
-3
0
0
0
2
4
2
40
19
-6
3
1
-10
6
-18
-6
-22
24
-13
-27
-6
1
14
5
-18
10
3
-3
2
-1
21
16
-7
-11
-3
-11
-21
39
-5
-5
-16
27
-28
1
-39
-15
12
8
3
-2
-2
-4
-24
19
-12
77
6
-29
11
-11
33
-12
1
4
5
5
13
49
5
-10
-18
-15
-9
1
-40
7
4
-19
-63
48
-15
56
10
19
26
23
-6
-9
-12
-30
-4
7
-4
6
2
16
-21
6
1
-15
4
-59
-68
-22
-15
23
1
3
8
-19
48
25
16
3
0
-1
-15
-12
0
-3
-4
4
-36
-2
1
0
-2
1
21
0
-1
-3
1
-15
20
8
0
-11
-21
-5
18
-38
33
-23
-6
-50
-26
-20
-2
10
6
4
-44
17
-21
3
10
-1
-1
-14
-8
10
2
7
0
-3
-4
-20
4
-5
18
1
-40
32
-11
7
-3
-27
27
-25
-3
35
37
-23
8
16
10
0
-11
-27
12
15
-6
0
9
9
-69
9
12
-11
-15
-54
-31
40
-39
23
19
-52
0
-9
48
35
18
5
32
-11
55
-19
-18
-9
10
18
-12
7
-22
-2
10
-6
5
-16
10
8
-3
-16
2
-46
-27
36
-46
18
-6
-24
-17
-1
-26
15
-7
-3
-43
-34
-5
-1
-19
-14
20
-15
-15
10
-22
2
-4
94
20
41
-22
-29
10
-73
-32
29
-6
40
-26
-52
0
-8
7
26
37
21
84
-61
-3
-33
-10
37
22
-6
-1
-8
-18
-33
18
35
13
-3
-48
-35
42
-30
-25
62
17
-15
-30
30
-6
-19
-10
48
-8
-23
-14
32
43
4
35
24
-21
21
-13
-20
9
49
11
-25
-17
22
17
-4
9
27
40
-10
6
-18
-5
35
-11
3
15
-18
7
-8
-35
7
-10
12
-33
12
-1
13
45
0
12
-35
24
22
5
-8
15
20
12
24
-5
44
-4
5
-9
34
1
5
21
-33
-36
5
-18
-2
-14
-3
-22
16
12
4
-18
3
15
-1
-25
4
-2
-15
9
12
1
10
45
-19
27
-2
7
-1
19
-7
10
-6
15
7
7
6
2
-28
25
-26
-9
45
-22
-6
-16
6
-21
33
0
26
-19
3
42
-43
0
26
-21
-1
-11
42
24
7
5
-17
-28
-16
6
23
-11
3
18
-16
2
24
-7
-2
-10
27
30
-32
11
2
-2
-12
-1
0
10
-7
7
-5
-10
1
4
12
6
25
16
6
20
26
-41
-1
20
11
-4
-8
-12
-2
13
18
-8
2
8
0
0
-10
13
-3
11
-4
-1
-16
8
-7
-8
-4
-35
0
10
-13
46
9
-11
-1
22
-12
0
-39
-2
1
0
0
-11
6
0
1
-6
13
-3
9
-11
14
-1
-1
-35
-1
21
-3
-3
30
18
24
-16
0
11
-8
-12
17
-1
16
11
3
-1
-5
29
-20
-5
2
16
-20
-20
12
56
-2
-13
3
0
6
-27
-37
-5
15
-4
3
-20
2
3
-9
12
-9
0
26
7
2
-10
0
1
15
-15
-5
-6
-2
4
27
5
-24
-2
4
33
-1
16
9
67
17
5
-8
8
21
2
2
-17
-9
0
-25
14
-16
7
0
13
-6
18
0
1
-6
-9
-9
8
-20
3
21
-18
7
4
-6
-8
-4
41
10
13
6
10
-1
-40
-11
11
-9
34
4
-6
-6
-11
-3
-9
-8
-48
-12
1
-2
-29
10
-16
0
-8
-3
-9
2
34
-20
-26
-14
-16
0
-25
2
-30
4
4
12
3
-4
8
10
-3
-1
8
8
-3
-8
-21
-8
4
3
4
-28
33
-9
-9
-13
-22
-3
0
4
-4
-42
0
0
18
-12
1
7
8
0
-2
-19
-11
-6
-3
4
8
1
-19
-1
-20
9
3
-10
9
3
-4
-8
-3
-27
43
2
6
2
1
-6
18
7
7
-2
-8
-2
-3
-7
4
0
-4
0
0
-4
-1
0
-13
12
2
3
-16
-23
-3
7
18
1
-29
9
7
2
8
-1
3
13
25
-22
-30
0
1
1
-4
22
3
11
11
0
10
-18
-8
-10
-1
5
-7
2
-32
-7
10
25
30
16
-8
-30
-18
-28
-12
6
24
12
-8
3
28
12
7
15
6
-5
1
-9
-6
13
25
15
23
-2
0
-14
3
-41
15
-23
6
-7
7
0
3
12
9
7
8
10
-17
-6
0
9
-7
-40
-14
10
-19
14
17
8
-17
-15
12
47
37
-27
-18
37
1
19
15
-11
-8
-24
-1
2
25
-21
-3
-5
21
9
-7
16
-4
-33
5
-5
-19
-11
-19
5
3
-8
24
-46
-14
4
6
49
10
15
-10
-20
6
1
1
6
17
-4
-3
-1
-2
0
-7
-2
-22
-4
-19
15
-40
-11
-8
38
-52
-27
-28
16
-3
14
10
-3
-27
-13
-27
-12
9
-2
-1
-7
-9
-10
-21
6
10
2
0
-6
13
36
-6
-52
-29
-19
16
18
-4
-30
8
5
-21
19
-26
-8
-15
27
6
14
-18
4
-34
-4
-3
2
-10
7
5
-1
6
8
10
-50
12
36
-30
15
-41
-13
-1
3
-48
-4
-1
33
-21
-32
-5
24
5
-18
-4
-18
40
-8
25
5
-7
4
-2
1
-7
-8
-13
-10
27
40
-58
-8
38
-26
12
85
19
-3
-33
-9
-4
-16
-26
20
11
4
-12
2
0
0
-44
2
7
-11
-7
-1
0
6
-8
-7
9
15
11
7
-17
-2
17
10
-7
-13
-33
-9
-10
-39
-4
39
-30
-6
12
-27
4
-16
-12
-14
-2
6
30
-3
-18
-26
-41
23
2
-12
58
3
2
-8
-6
-28
-28
13
-5
-5
21
-3
10
30
0
-10
4
20
7
0
-2
11
-10
30
-2
-6
-2
23
12
-32
-21
-3
17
-12
-28
-17
4
-15
18
-11
4
50
18
14
61
-20
-15
-26
8
-6
1
2
1
8
27
7
13
1
2
6
6
-23
27
-23
-40
4
-19
26
9
5
-22
62
32
-61
-13
-16
-2
-9
5
-1
24
1
-12
-6
-18
-1
6
-5
22
0
-1
4
5
16
-20
-24
27
11
-27
8
2
15
0
11
-15
9
-13
21
39
24
21
4
3
17
-20
-9
-22
15
-4
4
20
6
-25
5
-23
25
10
-37
45
-26
-27
-4
-37
-21
46
-14
3
6
-14
-15
-13
26
-4
42
28
20
-11
2
-14
-6
-8
13
-16
-7
-1
-10
-12
32
-37
-27
-44
9
-6
-21
-20
1
18
6
2
4
36
2
31
14
3
17
-21
17
1
0
-16
1
27
12
-2
8
7
3
17
19
8
-2
-10
-1
-20
-19
-18
-9
20
-29
22
-38
-15
-12
-3
20
35
24
-35
-13
0
-4
23
-8
15
-2
-23
2
-1
15
-20
38
-30
14
-14
16
7
-15
-6
36
11
9
-27
-15
-4
-34
-24
46
34
-12
33
-19
20
19
22
30
-10
-8
-28
-4
23
-50
0
28
-4
28
37
14
-19
-7
-13
18
47
38
7
-12
-14
3
-17
31
12
25
17
14
24
-14
-17
17
-2
0
-14
48
26
-8
1
47
-17
-41
8
-7
-52
-15
30
-23
-3
16
-9
88
5
45
-4
48
3
14
36
30
-21
38
-14
-12
11
-19
-38
-6
-17
-8
-31
34
22
-10
21
-12
9
-2
49
12
17
18
26
-33
12
-37
-33
33
20
27
-4
-29
-10
-30
18
29
-8
-49
-1
-29
-58
7
-11
-22
29
-27
66
-18
16
15
41
-3
-13
-17
18
21
-28
-57
-9
32
15
28
35
13
13
35
3
14
18
-18
15
-68
7
9
-20
23
11
13
-90
-33
20
1
15
-5
-2
-43
-44
-17
5
-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
21
7
-12
25
19
-3
-1
-1
16
31
21
-11
-2
-25
1
9
27
-29
38
-40
36
-12
10
-22
29
-12
0
-39
-40
2
32
-9
-5
25
4
-8
9
-6
-10
-3
-5
-16
11
7
-7
32
7
28
-1
-15
-13
-1
-1
-13
1
-1
4
-23
10
-44
10
-45
17
-10
-7
-25
-16
-7
-9
-32
-18
-12
41
-29
13
2
-31
-15
8
38
35
-12
-8
34
20
-6
-3
-19
-12
6
-28
-20
-9
12
24
21
13
-9
-13
-11
3
-15
23
8
-21
-12
-32
18
10
-7
3
1
16
-41
-3
-49
7
-1
-28
-5
-17
-6
-18
-17
-14
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
0
0
0
0
0
0
0
0
0
3
1
9
-1
2
1
-5
-59
83
-2
-8
-25
75
-27
43
-32
-1
30
9
32
-15
25
-1
-22
14
53
-30
30
12
12
11
-18
25
7
-66
-40
6
-46
-20
-1
-4
12
-2
19
0
-23
-2
6
35
32
8
-15
-30
-29
-65
8
30
21
39
2
28
-14
-37
19
37
-7
-7
-16
-25
0
-10
-23
9
-40
-9
75
21
32
-40
-33
-33
-38
13
-32
-41
-24
2
-17
36
9
4
-31
-18
5
-1
19
9
-22
19
-9
16
-27
-1
0
9
9
-53
-2
-4
-6
-25
-15
-17
-18
-41
22
-39
-10
22
-47
17
-38
-3
6
-22
23
-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
55
9
6
1
0
3
-20
0
50
39
-36
-26
46
23
13
-25
28
47
-18
12
7
2
-10
-36
23
-40
3
24
-1
26
-26
-13
40
-29
-25
-18
-2
6
3
12
-41
-8
-10
23
37
-30
33
9
11
21
-13
0
57
-36
-14
8
37
-9
-9
23
-15
27
-57
-26
-25
7
-14
13
14
7
2
12
15
-26
1
-24
-25
10
-43
33
6
-24
20
-19
21
5
-25
-8
-14
19
35
14
-35
28
-29
-8
-4
15
11
-9
-17
-4
-8
-37
4
-16
-15
-57
3
17
37
-22
25
-44
-18
1
-7
-31
10
20
-22
-3
4
-17
5
-10
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
-56
-21
8
-44
14
53
63
6
-1
48
22
21
-23
33
28
6
11
0
7
2
-25
10
6
24
39
36
1
19
-42
41
-24
18
52
-12
-22
-10
-15
-42
-13
-4
13
-14
5
-2
-2
11
-2
-4
80
42
-1
16
17
29
3
12
35
16
15
29
-10
18
-32
-7
-22
-19
39
-8
21
-10
-12
-5
-36
12
-3
35
12
12
42
41
16
15
27
-18
-5
22
-4
12
-20
11
15
-22
-32
-21
7
-20
-15
7
-30
111
54
24
-7
44
-12
-5
26
8
0
9
4
30
-10
-22
4
-1
-10
9
-17
7
-38
-13
-8
56
-5
-7
30
-5
-12
8
-52
-2
-2
46
4
11
15
1
-3
-42
45
1
-12
-22
30
-18
6
17
10
-16
6
-24
0
-1
-7
-1
41
-17
11
-32
6
6
25
25
-19
29
2
-2
-48
-17
15
-1
-5
-4
-8
26
9
-11
0
24
8
-19
-3
-3
4
-24
-2
-7
18
-4
4
7
0
11
-15
6
-15
-24
-47
33
23
-22
30
23
2
-10
7
-10
4
19
-10
-13
11
-1
-1
1
6
2
-4
-29
-7
-2
-19
-25
25
-6
24
-42
-4
35
-19
-42
13
-14
3
-8
-23
-5
-13
10
38
-35
2
-19
0
3
-22
6
23
-51
-23
-3
-14
10
39
21
-26
-7
-28
48
20
0
7
-16
0
-1
19
19
71
7
28
-38
-22
-2
2
0
6
11
-13
-5
-14
11
6
2
81
-3
-33
11
9
-26
-18
-15
-37
-14
-7
15
42
25
1
11
-19
-10
-20
-35
1
-9
1
8
-6
-10
6
-4
-9
15
9
3
-2
-31
-51
43
2
-16
31
27
18
-2
-7
46
-3
-45
1
12
8
-15
13
-11
-19
-13
-6
6
-9
-1
4
-9
-37
-19
19
-15
-23
-20
6
-9
16
21
34
-14
-2
-39
-2
-6
40
-22
-49
-43
-3
-5
2
-34
3
-22
1
-12
-9
0
0
20
18
5
-21
4
-36
-8
18
-39
37
-2
16
16
5
10
-4
2
27
12
3
8
10
5
7
11
-7
-4
0
-10
8
7
-4
1
7
-2
4
-3
27
20
-1
-11
43
5
8
-17
16
10
1
-34
9
33
-25
-8
-9
-26
-1
-10
12
-44
7
2
12
-25
1
7
11
-2
2
-8
10
-32
-12
15
27
60
4
11
-20
2
16
-14
6
-25
22
-12
0
-12
12
1
2
4
-23
0
8
-25
11
0
-37
36
-4
-6
-18
-9
-8
-15
8
34
10
10
18
-56
1
-19
29
20
-19
-24
-10
-10
-8
-20
24
25
11
-4
28
-50
-27
-9
-14
-10
-12
5
-29
14
12
-50
12
18
5
-11
-2
-27
5
2
24
1
0
-9
14
9
2
-40
-7
-8
3
-13
-38
27
4
-9
30
39
36
-4
19
30
36
-13
21
7
-17
7
-4
-22
6
1
-3
-1
-7
-33
1
23
16
10
16
15
31
31
-24
-8
-13
-16
35
-15
16
-12
21
25
-28
-63
-9
5
2
-29
-3
0
-26
-32
11
-6
-18
3
9
3
-14
15
47
24
-23
18
-38
8
-16
-2
19
-1
-3
-1
-23
-3
-47
-10
11
9
-18
6
-3
-11
-2
2
6
11
-26
13
10
-25
11
4
13
26
-37
-20
-43
-46
27
38
-7
5
-12
40
-9
17
-20
25
38
-16
9
18
8
-19
0
-4
-3
13
1
-1
10
-20
-6
-2
-5
-55
50
-14
17
-29
28
-9
-1
4
-1
-7
15
11
29
5
25
-1
0
14
-1
2
-4
-17
5
-3
-9
-8
4
-33
-7
23
28
24
-36
21
-16
-2
-29
-25
3
8
21
2
-11
3
-5
-2
9
32
9
26
-3
3
1
-7
1
-3
-4
-1
0
-1
-3
-9
32
3
60
-24
-27
1
9
-20
-19
-7
-12
11
-7
-15
-24
-17
17
4
7
4
-10
1
2
9
-7
-6
-12
-7
-28
4
21
3
-5
40
-31
-57
-13
20
-21
-40
-6
-18
-30
23
-4
-3
-5
23
-11
-17
-5
0
25
-3
6
-20
-11
19
-23
52
23
15
-8
20
-10
37
-17
-23
27
14
-11
-30
-1
46
-3
9
-18
12
31
12
7
2
2
-37
14
-28
-6
-9
-3
-14
-10
41
1
22
-7
-7
3
4
-15
-30
-15
-5
-13
-6
54
34
-37
12
-9
4
-58
5
10
-3
5
-9
-9
-11
3
-7
43
18
-10
-6
-18
8
-54
11
-13
-43
16
-47
12
-28
-19
15
15
-11
-19
-32
-7
11
10
-15
12
-8
21
14
4
-6
0
9
16
-20
-29
-4
-6
-34
10
2
26
19
-26
13
-21
-14
-9
-10
24
-7
13
-29
35
24
-13
-5
86
14
-12
-40
-5
-1
-4
-29
3
-8
-18
10
-25
18
-8
-29
19
30
-3
-3
6
14
-7
-4
11
47
-42
-5
14
5
-2
-14
16
-7
17
-27
-9
-37
-13
-19
9
35
-16
17
-19
-15
-19
20
-2
-43
-9
39
4
14
-1
-8
59
-53
13
-30
-3
-8
-4
-75
27
-22
3
-19
21
3
18
8
12
-12
5
-50
43
-8
5
5
-14
-32
-63
-51
13
-19
-1
1
8
-30
-8
-59
31
31
-6
16
63
24
-3
1
-1
34
16
5
25
-9
-20
-20
-12
-19
-3
-12
19
12
14
41
16
-35
24
22
-22
-23
-9
-11
-2
3
-35
10
-31
14
-3
-12
-7
4
37
-23
20
2
14
26
27
33
8
21
-2
-14
14
17
-2
41
-29
15
9
2
32
12
30
31
-22
-8
5
-4
2
-12
17
-17
-5
-21
62
-29
6
-4
8
15
24
4
1
10
6
-10
-2
0
14
5
29
-34
11
20
-6
58
21
35
46
1
-6
-15
-36
-20
16
19
-41
26
44
-26
-19
-15
1
-18
-4
7
3
-5
-16
-15
20
-3
6
-23
7
-7
27
16
-21
28
2
14
15
-26
-7
-16
-16
42
3
16
-21
-20
17
15
6
10
1
-11
6
30
-19
-1
-8
10
6
18
11
-7
15
-18
37
-15
1
-18
10
-5
16
-2
-1
9
-5
-25
18
37
7
-26
7
13
-32
-2
2
9
0
2
2
2
-39
-3
28
10
-11
-2
7
-13
29
9
-16
-5
-1
-2
-9
28
-2
-7
-4
-38
-12
28
9
4
9
-2
-6
-2
3
-12
2
1
11
39
-14
1
-1
-1
-5
-3
15
-1
-3
12
-7
1
0
0
0
-2
1
-16
9
-20
4
-5
21
-2
0
-6
0
6
0
-1
-12
-6
0
1
8
0
21
-12
-1
1
10
48
3
10
11
11
13
-24
14
-7
-17
-12
-6
-10
13
6
3
-4
-4
-7
-2
5
6
-2
9
-5
-30
-8
4
31
22
-11
-14
-41
38
4
-15
29
-8
26
22
-9
12
-3
36
68
-2
-27
-6
-2
-17
-9
0
4
8
4
11
2
-4
18
10
20
6
-31
7
18
6
-28
-8
35
25
-40
4
33
-1
16
7
28
-13
-2
0
7
0
3
-3
-11
3
0
8
-9
-5
-5
-17
-2
21
34
12
7
-21
-11
-23
-39
-3
41
-30
-1
8
-13
21
6
4
-20
5
-9
3
-10
15
0
-3
-2
-9
-14
-16
9
0
-21
-3
28
-11
-21
-20
-13
-10
-1
4
-10
-29
4
16
8
-2
36
-18
-22
-12
13
-2
0
0
6
-1
6
-26
-37
-29
-11
-4
12
9
-3
0
-5
-13
7
-16
-17
-8
22
0
39
0
3
1
1
7
-12
4
0
2
-22
1
-2
-11
-9
7
-11
-37
-6
-3
-21
4
27
13
-7
0
11
0
-9
36
12
-12
19
1
-10
6
-9
9
32
-3
-17
-6
13
0
-7
-13
-1
-16
0
-9
-12
2
-13
51
-10
-20
0
-1
7
-28
-4
16
-9
-1
-7
10
-19
-15
-8
2
-6
37
-24
11
0
7
-3
19
-28
18
-6
-6
-16
28
-35
20
9
-12
2
44
1
16
-7
12
22
-9
-43
7
-11
11
-25
53
22
-43
15
36
23
-21
0
22
27
-26
-4
17
1
-19
-34
22
12
4
-14
4
-7
3
-16
9
15
-8
21
-28
-2
3
14
-34
-3
-8
-14
1
-6
57
7
-21
-6
-52
28
46
30
-15
74
-10
-19
2
-2
1
0
-1
-18
26
20
-13
15
-12
1
2
-3
-52
3
4
35
-24
-50
31
0
23
24
-10
5
-7
-7
22
32
22
-8
-28
15
-3
6
2
11
-2
-17
4
-2
11
3
3
-29
-25
1
16
6
-39
-2
1
-45
1
8
-1
-18
-12
-1
23
-28
-13
-27
-15
-1
-15
-7
-1
-7
2
-22
-19
-23
15
-9
9
-20
-71
36
15
-10
-41
3
-48
25
19
-8
26
0
28
5
-8
-1
24
-30
25
-18
4
-6
3
10
-7
4
-26
-2
12
-13
-16
-36
41
-45
3
1
-12
0
-47
-34
17
-4
-9
-18
-5
50
-7
-6
24
-37
-3
9
7
-8
1
-15
46
5
10
9
3
-7
-17
-39
47
49
-19
-34
-17
17
1
-21
17
-20
-15
12
10
14
-29
-8
1
32
0
-30
3
-9
-6
-11
2
25
-22
-9
3
-6
3
0
18
12
24
16
-2
2
-24
1
-3
-5
-13
2
-35
-11
-15
-42
-6
-33
11
-18
9
-10
8
9
-11
-24
15
-7
-27
-2
-8
23
72
2
-52
-40
-37
-13
-1
-23
58
9
12
-45
12
-24
23
8
52
12
18
36
29
22
0
14
-34
1
-1
-2
4
11
3
18
32
-5
-4
-21
38
18
-4
5
-35
24
-13
10
-30
-16
30
10
-11
-19
-18
36
-2
-5
19
23
-1
9
-8
-3
-8
0
-7
-1
14
-19
6
-6
5
-33
1
-25
43
-58
-52
-6
35
71
-6
7
3
-24
30
8
-22
7
7
-17
10
-8
11
0
3
17
0
-6
-7
-15
12
38
-50
-11
0
42
-11
44
3
-17
47
5
7
-15
27
8
-2
33
-11
-14
15
-20
-25
-21
-7
-56
-5
-19
-16
-2
-16
26
6
-9
27
5
-56
-13
8
-9
47
-22
9
28
-37
-10
-9
61
6
-19
26
1
-4
5
-13
8
-7
25
3
36
-31
-2
11
-2
29
-36
-20
-33
-4
-14
5
-27
28
9
-12
-22
-12
18
30
43
1
-9
-5
9
-28
4
37
-24
-46
1
-8
-14
4
17
11
27
-13
-19
31
-19
-28
-4
34
34
-31
-35
-21
13
0
-42
7
23
14
33
35
-19
10
-19
-4
4
-36
-3
28
-3
14
-13
22
-24
10
-8
-4
-13
-11
17
38
20
-14
12
-33
-22
-48
7
42
45
42
23
2
-5
-7
-15
24
20
-36
28
-33
-32
-23
-50
57
-14
-41
1
27
15
3
11
-11
14
2
28
5
-36
-13
13
35
21
-34
5
0
0
0
0
-12
-6
27
-18
0
0
0
0
55
12
-65
-3
0
0
0
0
20
52
14
-5
0
0
0
0
-3
26
23
-11
0
0
0
0
1
7
-1
-40
0
0
0
0
35
16
14
16
0
0
0
0
18
13
-2
12
0
0
0
0
56
19
12
33
0
0
0
0
37
-39
-15
-36
0
0
0
0
4
-11
3
-18
0
0
0
0
3
17
-27
-7
0
0
0
0
23
10
62
76
0
0
0
0
-6
-7
30
23
0
0
0
0
-14
32
5
-1
0
0
0
0
-25
19
-9
12
0
0
0
0
23
-8
-27
40
0
0
0
0
6
-8
8
22
0
0
0
0
31
-21
-30
-23
0
0
0
0
36
-56
3
-22
0
0
0
0
-18
-14
63
9
0
0
0
0
-22
33
-26
21
0
0
0
0
-2
1
-14
1
0
0
0
0
5
-23
9
-20
0
0
0
0
9
-37
-18
-24
0
0
0
0
-8
6
-36
-20
0
0
0
0
1
-8
-12
21
0
0
0
0
16
2
36
10
0
0
0
0
-16
-31
5
-8
0
0
0
0
-13
13
21
7
0
0
0
0
-19
-10
-27
17
0
0
0
0
5
0
-7
-17
0
0
0
0
26
2
3
16
0
0
0
0
5
-5
-10
-17
0
0
0
0
37
-23
-35
-15
0
0
0
0
47
35
19
-14
0
0
0
0
-17
26
-30
34
0
0
0
0
16
-43
-4
11
0
0
0
0
-17
-1
-44
-7
0
0
0
0
-26
-6
15
-35
0
0
0
0
4
-37
-7
34
0
0
0
0
19
-23
-26
9
0
0
0
0
-38
19
-21
-9
0
0
0
0
5
-17
3
17
0
0
0
0
25
-52
-37
8
0
0
0
0
6
14
-22
2
0
0
0
0
-24
-22
-7
-53
0
0
0
0
8
-51
19
-8
0
0
0
0
8
-21
-7
18
0
0
0
0
32
31
13
11
0
0
0
0
6
25
1
11
0
0
0
0
45
15
-33
23
0
0
0
0
13
-19
-18
33
0
0
0
0
-18
17
3
-8
0
0
0
0
26
-14
8
-31
0
0
0
0
1
39
-15
-60
0
0
0
0
-18
31
7
25
0
0
0
0
0
12
-3
-22
0
0
0
0
37
-18
7
16
0
0
0
0
-47
14
-1
-3
0
0
0
0
6
16
-39
-47
0
0
0
0
-2
7
-36
33
0
0
0
0
-8
-43
-36
-4
0
0
0
0
15
-8
1
19
0
0
0
0
6
9
-3
-11
0
0
0
0
-4
-20
32
2
0
0
0
0
-2
-2
-16
17
0
0
0
0
6
-15
18
-76
0
0
0
0
-32
23
0
-10
0
0
0
0
9
19
-8
-4
0
0
0
0
32
47
-33
-29
0
0
0
0
-35
19
-28
24
0
0
0
0
2
3
-54
-25
0
0
0
0
-20
0
-23
-8
0
0
0
0
-8
23
7
-4
0
0
0
0
7
-32
-22
-3
0
0
0
0
16
20
21
-31
0
0
0
0
-22
5
40
10
0
0
0
0
-32
-18
20
37
0
0
0
0
16
27
-36
-4
0
0
0
0
8
18
-14
-15
0
0
0
0
34
12
6
8
0
0
0
0
45
39
-11
-24
0
0
0
0
12
-6
-46
3
0
0
0
0
1
12
-8
-17
0
0
0
0
4
16
-9
20
0
0
0
0
18
19
-58
-12
0
0
0
0
-37
3
5
23
0
0
0
0
28
14
21
-29
0
0
0
0
9
10
-17
-28
0
0
0
0
-5
-46
7
35
0
0
0
0
11
-4
9
-27
0
0
0
0
-2
5
38
-4
0
0
0
0
-5
-27
4
-17
0
0
0
0
-23
3
-17
-17
0
0
0
0
-5
-41
17
20
0
0
0
0
-27
23
-17
-6
0
0
0
0
33
20
2
-23
0
0
0
0
18
-29
-19
-29
0
0
0
0
19
21
7
5
0
0
0
0
53
-60
4
22
0
0
0
0
-39
-52
10
-14
0
0
0
0
-8
-46
63
-33
0
0
0
0
-8
40
-30
-25
0
0
0
0
5
-47
-1
48
0
0
0
0
14
-10
15
-1
0
0
0
0
-9
-46
-10
-61
0
0
0
0
-34
-34
-2
-9
0
0
0
0
15
17
-16
20
0
0
0
0
-18
5
-1
-18
0
0
0
0
-39
-20
12
-35
0
0
0
0
28
18
-1
-11
0
0
0
0
6
49
-2
-30
0
0
0
0
20
8
-23
5
0
0
0
0
-17
-31
10
-27
0
0
0
0
-3
16
27
36
0
0
0
0
10
-23
-65
-59
0
0
0
0
-23
16
3
-5
0
0
0
0
-34
-8
47
-47
0
0
0
0
18
11
-11
-17
0
0
0
0
9
-23
0
0
0
0
0
0
-24
-20
1
-28
0
0
0
0
2
-38
26
19
0
0
0
0
20
-5
-7
-28
0
0
0
0
17
-4
-15
-19
0
0
0
0
25
-14
-10
-17
0
0
0
0
4
5
8
10
0
0
0
0
-1
-37
14
31
0
0
0
0
8
4
-6
-7
0
0
0
0
46
14
35
1
0
0
0
0
34
38
0
-3
0
0
0
0
16
-5
-24
20
0
0
0
0
22
14
35
-7
0
0
0
0
3
26
8
5
0
0
0
0
17
18
-2
-36
0
0
0
0
16
40
-17
-4
0
0
0
0
-10
-1
-17
6
0
0
0
0
-18
5
-37
-27
0
0
0
0
-21
-3
-9
12
0
0
0
0
62
-9
-3
12
0
0
0
0
56
8
2
21
0
0
0
0
-30
5
19
-19
0
0
0
0
11
-40
25
-23
0
0
0
0
-5
-23
24
1
0
0
0
0
-23
17
20
36
0
0
0
0
-15
-15
37
4
0
0
0
0
-27
-10
-8
-13
0
0
0
0
-34
7
6
14
0
0
0
0
-22
3
18
25
0
0
0
0
-7
32
18
-34
0
0
0
0
34
-12
-9
-22
0
0
0
0
3
4
-1
-10
0
0
0
0
10
-22
12
20
0
0
0
0
-16
-19
-11
1
0
0
0
0
35
7
-6
-12
0
0
0
0
36
1
0
-16
0
0
0
0
35
-12
35
-9
0
0
0
0
25
-7
-15
29
0
0
0
0
8
15
1
8
0
0
0
0
-52
-39
27
5
0
0
0
0
21
15
28
27
0
0
0
0
35
-4
29
-20
0
0
0
0
4
14
-7
-12
0
0
0
0
-3
29
16
-18
0
0
0
0
1
-11
-9
15
0
0
0
0
-23
-18
-20
25
0
0
0
0
0
3
-1
2
0
0
0
0
13
20
3
-18
0
0
0
0
21
-1
-64
6
0
0
0
0
-20
35
8
-4
0
0
0
0
-6
-25
16
-14
0
0
0
0
-15
3
0
1
0
0
0
0
9
-57
2
-59
0
0
0
0
5
-23
-32
18
0
0
0
0
-7
5
-20
7
0
0
0
0
13
2
9
-11
0
0
0
0
-9
-11
-17
-16
0
0
0
0
5
-3
7
-18
0
0
0
0
19
-19
-3
10
0
0
0
0
-27
0
2
1
0
0
0
0
-23
-11
33
3
0
0
0
0
19
40
-19
-10
0
0
0
0
-26
0
-8
-8
0
0
0
0
0
-6
0
-1
0
0
0
0
31
-20
10
-8
0
0
0
0
15
-6
-8
-29
0
0
0
0
16
-9
3
2
0
0
0
0
-4
8
5
-1
0
0
0
0
6
31
-14
30
0
0
0
0
-18
-25
34
-13
0
0
0
0
17
6
7
23
0
0
0
0
8
3
12
-40
0
0
0
0
24
-14
-8
-2
0
0
0
0
18
-22
24
5
0
0
0
0
-18
-16
1
4
0
0
0
0
-50
90
9
4
0
0
0
0
-4
21
-28
12
0
0
0
0
-13
-18
0
1
0
0
0
0
19
5
-4
2
0
0
0
0
9
-74
8
4
0
0
0
0
29
-2
-6
5
0
0
0
0
-1
-32
-7
9
0
0
0
0
0
-30
-41
1
0
0
0
0
27
3
-5
-41
0
0
0
0
-7
5
-7
18
0
0
0
0
-24
-4
-1
-6
0
0
0
0
-20
-68
-27
-11
0
0
0
0
-32
-18
8
25
0
0
0
0
-14
23
-17
-38
0
0
0
0
-17
-9
9
-9
0
0
0
0
23
-42
12
-20
0
0
0
0
-36
-24
-2
4
0
0
0
0
28
-26
-8
-17
0
0
0
0
11
-12
4
-9
0
0
0
0
14
45
32
-19
0
0
0
0
-33
-7
0
-4
0
0
0
0
4
23
-32
4
0
0
0
0
-1
2
-10
-34
0
0
0
0
-17
-18
-24
-16
0
0
0
0
13
4
-13
-6
0
0
0
0
8
13
-39
66
0
0
0
0
-2
5
-25
-17
0
0
0
0
-21
5
-57
-17
0
0
0
0
27
-32
17
31
0
0
0
0
8
21
0
-1
0
0
0
0
38
6
-16
-18
0
0
0
0
8
46
5
18
0
0
0
0
-17
15
6
-14
0
0
0
0
13
21
-25
11
0
0
0
0
-3
-4
-8
6
0
0
0
0
63
-12
-12
-51
0
0
0
0
-26
-2
-49
-13
0
0
0
0
22
-16
-5
2
0
0
0
0
24
10
-14
-1
0
0
0
0
18
16
-17
19
0
0
0
0
21
18
6
-22
0
0
0
0
-27
-26
5
9
0
0
0
0
18
-35
-29
15
0
0
0
0
-19
-9
-3
-12
0
0
0
0
15
8
-62
17
0
0
0
0
20
-2
-1
-49
0
0
0
0
42
17
-10
-3
0
0
0
0
39
-6
-38
0
0
0
0
0
-24
-56
18
38
0
0
0
0
43
24
20
-5
0
0
0
0
24
-14
-9
-3
0
0
0
0
27
-46
-32
-50
0
0
0
0
19
43
-4
1
0
0
0
0
46
-19
5
-28
0
0
0
0
-9
3
5
-11
0
0
0
0
22
26
-3
-6
0
0
0
0
-9
8
-28
9
0
0
0
0
14
20
-1
22
0
0
0
0
-28
-4
-3
-14
0
0
0
0
5
4
21
0
0
0
0
0
38
-10
-26
-10
0
0
0
0
0
0
0
14
12
0
0
1
31
9
0
0
29
-22
22
0
0
6
-6
1
0
0
-14
-8
-1
0
0
33
46
-31
0
0
-47
27
6
0
0
-6
24
52
0
0
-2
63
8
0
0
-27
1
-7
0
0
28
16
7
0
0
8
54
-6
0
0
6
-18
6
0
0
3
-10
4
0
0
10
62
-8
0
0
38
-38
-18
0
0
17
-13
18
0
0
20
16
-16
0
0
-6
2
0
0
0
-1
-16
0
0
0
12
16
-2
0
0
-7
0
-13
0
0
1
2
-3
0
0
-6
-16
4
0
0
6
-6
21
0
0
0
2
8
0
0
1
-17
9
0
0
39
-16
0
0
0
13
-4
-9
0
0
3
55
3
0
0
-13
-12
0
-6
2
13
-11
-33
0
0
4
-21
18
0
0
0
10
-14
0
0
6
7
-8
0
0
-7
17
-44
0
0
-4
58
40
0
0
14
25
20
0
0
-14
-19
-12
0
0
9
-17
-25
0
0
23
-44
16
0
0
-3
27
2
0
0
17
8
0
0
0
40
-12
25
0
0
26
4
1
0
0
2
2
-5
0
0
-12
-12
1
0
0
-43
3
-20
0
0
-10
9
-5
0
0
-9
26
-5
0
0
0
-10
1
0
0
-19
-10
7
0
0
-12
-1
7
0
0
35
-30
1
0
0
3
-6
2
0
0
-11
7
1
0
0
0
27
6
0
0
-8
14
17
0
0
0
0
-1
0
0
1
-11
1
0
0
34
14
1
0
0
2
8
-27
0
0
-12
16
-11
-1
3
-21
18
15
0
0
-18
44
12
0
0
-5
-11
10
0
0
9
32
-14
0
0
7
-33
-8
0
0
-10
-6
18
0
0
-12
-1
22
0
0
30
11
3
0
0
15
-9
11
0
0
-26
28
-2
0
0
29
7
1
0
0
-4
10
-3
0
0
-8
0
2
0
0
0
11
0
0
0
-2
6
0
0
0
-1
2
0
0
0
-18
-14
4
0
0
0
27
1
0
0
0
0
0
0
0
3
-9
0
0
0
0
2
0
0
0
20
-6
0
0
0
-3
-7
0
0
0
0
-4
1
0
0
6
-3
0
0
0
0
34
4
0
0
1
-19
0
0
0
0
17
4
0
0
3
8
0
0
0
2
-3
-1
0
0
-1
-1
0
0
0
63
3
0
1
-3
-36
-18
0
0
0
-19
12
18
0
0
-6
-40
7
0
0
50
34
26
0
0
4
-7
-1
0
0
33
3
-22
0
0
55
2
-32
0
0
27
-2
6
0
0
5
10
3
0
0
-24
2
-1
0
0
22
10
2
0
0
-9
7
0
0
0
6
4
-4
0
0
0
1
0
0
0
0
-6
0
0
0
2
-13
0
0
0
-7
-3
-6
0
0
0
-9
2
0
0
4
-7
3
0
0
-2
1
-3
0
0
-10
2
0
0
0
1
-12
-2
0
0
0
22
0
0
0
-3
-6
1
0
0
4
1
2
0
0
0
-8
1
0
0
0
-4
0
0
0
0
2
0
0
0
6
-19
1
0
0
7
-3
0
0
0
-6
13
-1
0
0
3
0
-2
14
-3
-49
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
0
0
37
-27
9
0
0
26
13
-28
0
0
28
30
-12
0
0
-4
0
0
0
0
-17
-12
1
0
0
3
1
0
0
0
7
12
-1
0
0
13
-11
-1
0
0
3
-3
2
0
0
11
4
3
0
0
-39
3
8
0
0
2
3
1
0
0
0
0
-1
0
0
-2
1
0
0
0
7
4
-2
0
0
16
36
-9
0
0
-6
-2
6
0
0
1
-1
0
0
0
7
0
0
0
0
-9
-7
0
0
0
-2
0
0
0
0
0
1
2
0
0
11
9
0
0
0
0
18
0
0
0
0
-4
1
0
0
0
-1
0
0
0
-6
0
0
0
0
3
-11
1
0
0
0
0
8
0
0
2
-4
0
26
-1
13
3
-4
0
0
-7
-22
-2
0
0
29
-19
5
0
0
-22
4
-2
0
0
19
7
0
0
0
10
3
0
0
0
37
9
6
0
0
6
1
0
0
0
-29
-7
-2
0
0
20
19
-3
0
0
-6
15
18
0
0
3
-4
0
0
0
-4
9
8
0
0
-2
0
0
0
0
0
0
2
0
0
0
-6
0
0
0
7
1
-3
0
0
0
11
-1
0
0
-6
22
-4
0
0
0
2
1
0
0
-2
1
-3
0
0
2
4
-2
0
0
1
8
0
0
0
-2
1
0
0
0
-7
13
0
0
0
0
-12
-2
0
0
2
3
-2
0
0
0
-1
0
0
0
1
0
2
0
0
-2
-28
-1
0
0
6
3
2
0
0
-2
-3
1
-7
-4
13
11
0
0
0
-10
-29
0
0
0
17
25
0
0
0
-18
-25
1
0
0
26
3
0
0
0
-2
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
6
0
0
0
0
9
-2
-1
0
0
38
0
3
0
0
-17
1
-1
0
0
9
7
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
13
-6
0
0
0
1
4
0
0
0
0
0
1
0
0
0
0
0
0
0
-7
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-2
0
0
-23
36
3
0
0
0
0
-2
2
-2
0
0
-2
-1
3
0
0
-9
-4
4
0
0
-1
-2
-1
0
0
1
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
-1
-1
0
0
0
17
0
-4
0
0
9
-10
-1
0
0
-18
-7
0
0
0
15
-8
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
7
-1
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
28
-5
-6
0
0
1
-7
-4
0
0
10
1
-16
0
0
-33
-33
2
0
0
-11
0
2
0
0
0
0
0
0
0
24
15
4
0
0
26
-8
0
0
0
7
0
0
0
0
0
6
0
0
0
7
3
0
0
0
-5
13
-1
0
0
6
2
0
0
0
19
-17
2
0
0
18
-6
3
0
0
0
0
-4
0
0
13
-1
10
0
0
-3
13
18
0
0
6
-2
21
0
0
-6
47
-3
0
0
-80
27
24
0
0
-4
-9
-35
0
0
-71
18
-11
0
0
79
-23
7
0
0
-32
-60
54
0
0
-8
17
-4
0
0
6
-26
11
0
0
65
3
-37
0
0
-31
20
26
0
0
-29
35
8
1
0
26
-13
19
0
0
18
14
24
0
0
18
7
7
0
0
-1
18
-3
0
0
-13
-1
-4
0
0
12
-8
1
0
0
6
-3
9
0
0
-7
-1
0
0
0
22
10
-9
0
0
-2
-12
0
0
0
-4
6
0
0
0
3
0
-2
0
0
2
0
-2
0
0
7
-3
0
0
0
11
-20
0
0
0
18
3
0
0
0
-43
13
1
0
0
-1
-5
-18
0
0
8
-4
-1
0
0
5
-5
-11
0
0
8
-4
-12
0
0
58
-24
10
0
0
13
3
-34
0
0
18
-2
-30
0
0
-36
0
39
0
0
32
-74
98
0
0
39
7
20
0
0
-2
0
15
0
0
-22
-1
-27
0
0
-20
-4
2
0
0
-34
45
-35
0
0
25
-17
-25
-4
0
-29
-11
-9
0
0
-4
25
0
0
0
-16
-8
0
0
0
-16
13
0
0
0
30
-2
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
-4
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
1
0
0
0
1
2
-5
0
0
29
26
10
0
0
11
7
-19
0
0
-3
6
7
0
0
1
-17
30
0
0
17
-41
44
0
0
14
6
29
0
0
-8
56
-26
0
0
2
-12
15
0
0
-55
-3
18
0
0
-28
-29
80
0
0
-30
-22
-18
0
0
-48
10
-25
0
0
15
-9
-6
0
0
-59
-30
-17
3
4
41
25
-99
0
0
-9
-11
3
0
0
-36
6
7
0
0
6
1
0
0
0
15
-2
-3
0
0
-1
1
0
0
0
1
4
0
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
21
-9
0
0
0
-1
-3
4
0
0
-7
34
9
0
0
-6
-47
37
0
0
5
-9
-27
0
0
-91
9
22
0
0
51
19
3
0
0
-7
-15
-6
0
0
-4
-12
35
0
0
-7
-57
-42
0
0
56
-35
9
0
0
33
55
-95
0
0
38
29
-13
0
0
-1
12
-2
0
0
-2
9
6
0
0
11
12
-9
10
-3
14
1
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-15
-10
11
0
0
26
-7
2
0
0
8
-7
-1
0
0
19
7
0
0
0
3
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
-13
-7
1
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
9
3
0
0
0
21
-25
-9
0
0
63
-28
-14
0
0
-8
-19
22
0
0
-9
38
-53
0
0
-82
57
0
0
0
13
-24
37
0
0
32
-7
-80
0
0
36
0
49
0
0
0
1
-1
0
0
-1
-2
-10
0
0
27
1
-13
0
0
16
12
9
0
0
-19
-22
-8
0
0
-5
-5
-5
0
0
-49
-21
48
4
1
-21
-11
-32
0
0
-6
4
2
0
0
2
-7
-9
0
0
1
-7
0
0
0
-38
24
0
0
0
11
0
0
0
0
9
1
0
0
0
0
0
0
0
0
-4
1
0
0
0
2
-4
0
0
0
-11
-2
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
11
-6
0
0
0
29
5
-29
0
0
-35
13
9
0
0
-37
0
28
0
0
17
-63
18
0
0
2
37
0
0
0
0
50
-22
0
0
0
3
3
0
0
-46
-10
-11
0
0
-9
0
4
0
0
-10
28
-24
0
0
-16
33
24
0
0
-24
-24
13
0
0
3
4
17
0
0
3
-34
-4
0
0
-4
10
23
-1
-15
-54
68
9
0
0
11
-2
0
0
0
-2
7
0
0
0
2
2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
15
-8
0
0
-27
33
1
0
0
40
6
-13
0
0
1
-2
-4
0
0
8
-10
2
0
0
-26
-7
-3
0
0
7
1
0
0
0
-48
4
4
0
0
-16
28
3
0
0
-5
-4
20
0
0
-18
7
25
0
0
29
4
-5
0
0
0
58
-5
0
0
11
-28
30
0
0
-3
-16
-70
16
23
-29
-33
-41
0
0
-1
3
0
0
0
1
4
0
0
0
1
0
0
0
0
25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-19
-14
20
0
0
2
-11
0
0
0
-24
7
12
0
0
-2
27
6
0
0
0
1
-3
0
0
0
-9
1
0
0
-2
0
0
0
0
-7
-1
1
0
0
3
-4
-40
0
0
-6
-24
37
0
0
-75
47
-23
0
0
-13
-29
19
0
0
-16
-13
45
0
0
35
15
-22
0
0
7
32
24
-16
-36
-5
-62
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
63
0
0
-1
35
-14
0
0
35
25
-5
0
0
5
-20
13
0
0
4
-10
5
0
0
36
0
-6
0
0
17
0
2
0
0
-28
19
54
0
0
-13
13
-1
0
0
-16
-22
17
0
0
11
14
2
0
0
5
9
21
0
0
6
-21
16
0
0
-12
-7
10
0
0
-8
-6
-27
0
0
-4
16
-40
0
0
12
18
9
0
0
8
30
3
0
0
8
0
-1
0
0
17
-12
2
0
0
-14
40
-29
0
0
19
-6
-24
0
0
9
-8
0
0
0
14
9
3
0
0
28
-19
45
0
0
-10
29
13
0
0
-32
8
4
0
0
38
-13
-8
0
0
1
-18
-13
0
0
6
9
13
0
0
1
18
-25
2
5
-25
18
8
0
0
1
9
32
0
0
-13
4
20
0
0
16
-2
24
0
0
36
43
-87
0
0
-15
-16
8
0
0
27
49
12
0
0
-6
0
10
0
0
-4
40
-38
0
0
-24
-42
-5
0
0
73
26
7
0
0
-5
27
11
0
0
0
5
-14
0
0
-6
-1
2
0
0
8
-1
4
0
0
6
-15
5
0
0
-36
-52
-2
0
0
21
48
12
0
0
-47
-10
-5
0
0
-12
4
-2
0
0
-33
10
-1
0
0
-3
-20
1
0
0
1
-8
-4
0
0
-1
-16
-6
0
0
25
-29
6
0
0
32
46
7
0
0
2
-22
18
0
0
-9
24
-11
0
0
4
-1
0
0
0
-3
8
-13
0
0
-44
1
3
0
0
-1
25
32
-6
3
-45
-46
-26
0
0
-31
15
26
0
0
7
4
15
0
0
10
34
3
0
0
4
5
-33
0
0
5
0
-4
0
0
20
6
-3
0
0
2
-2
0
0
0
17
-15
7
0
0
5
7
0
0
0
4
10
8
0
0
-7
4
0
0
0
-10
4
-6
0
0
1
-2
-3
0
0
0
3
-6
0
0
1
18
0
0
0
17
-8
2
0
0
14
9
1
0
0
-2
-6
3
0
0
0
1
0
0
0
-3
-2
0
0
0
1
-2
-1
0
0
-2
8
0
0
0
0
-1
1
0
0
-2
1
0
0
0
0
0
0
0
0
9
0
2
0
0
0
-1
-3
0
0
4
-2
1
0
0
6
-3
7
0
0
18
9
1
0
0
7
7
-1
-2
4
-57
-34
1
0
0
-23
28
3
0
0
-10
8
20
0
0
50
2
0
0
0
-6
-14
19
0
0
6
14
6
0
0
-6
0
-17
0
0
-9
17
1
0
0
6
48
-10
0
0
9
-8
0
0
0
11
13
-2
0
0
4
-29
0
0
0
6
36
-2
0
0
0
4
2
0
0
0
0
-6
0
0
-1
6
2
0
0
31
-10
-6
0
0
15
-20
0
0
0
-18
6
-4
0
0
0
-1
4
0
0
-28
-2
-3
0
0
2
10
1
0
0
-1
-2
0
0
0
0
-9
0
0
0
-16
-10
1
0
0
-3
22
0
0
0
-1
-6
0
0
0
0
0
-2
0
0
11
-19
3
0
0
-7
-17
4
0
0
-2
-6
-13
0
0
-2
-21
0
-5
9
-31
19
0
0
0
-10
14
-14
0
0
8
31
-36
0
0
59
-11
0
0
0
-30
42
12
0
0
-1
4
0
0
0
1
0
0
0
0
1
2
0
0
0
8
20
2
0
0
1
1
0
0
0
4
2
4
0
0
-2
3
1
0
0
-3
6
-1
0
0
0
0
0
0
0
0
-1
0
0
0
-2
3
0
0
0
-16
-3
0
0
0
-9
-8
0
0
0
9
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-3
13
2
0
0
0
-6
2
0
0
1
-1
0
0
0
-6
0
0
0
0
-13
2
0
0
0
0
-1
0
0
0
0
0
0
14
-3
20
-3
0
0
0
24
3
22
0
0
32
-62
3
0
0
-32
40
17
0
0
34
14
-4
0
0
7
0
0
0
0
6
11
0
0
0
-4
1
0
0
0
7
-12
0
0
0
12
10
0
0
0
11
7
0
0
0
3
0
-1
0
0
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
18
27
0
0
0
-21
1
-1
0
0
-3
-2
0
0
0
0
2
-4
0
0
3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-9
27
-2
0
0
22
-4
-1
0
0
-1
0
1
0
0
0
0
0
0
0
7
4
0
0
0
-1
8
0
0
0
0
-4
0
5
9
-6
1
0
0
0
-3
38
3
0
0
15
-57
-16
0
0
-25
8
0
0
0
5
-3
-12
0
0
6
-1
0
0
0
-9
0
0
0
0
0
1
0
0
0
4
9
-1
0
0
1
0
0
0
0
-1
2
1
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
2
0
0
0
2
0
0
0
0
-2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
-12
-3
9
0
0
0
15
-59
0
0
0
19
70
5
0
0
-8
-4
2
0
0
18
6
2
0
0
-9
1
0
0
0
-1
1
-3
0
0
0
0
0
0
0
-4
11
1
0
0
-11
28
0
0
0
3
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
2
0
0
0
2
0
0
0
0
0
-1
0
0
0
-7
-1
0
0
0
0
16
-1
0
0
11
6
-3
0
0
-2
-2
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
-11
0
0
0
0
-2
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-7
-8
-3
-1
0
0
0
7
23
11
0
0
-2
61
-11
0
0
-28
5
-12
0
0
61
12
-4
0
0
-26
-9
0
0
0
1
-8
0
0
0
-6
-1
0
0
0
33
-18
0
0
0
3
-3
-2
0
0
2
2
3
0
0
-4
-8
-1
0
0
4
-28
4
0
0
2
0
0
0
0
0
0
0
0
0
2
1
-1
0
0
3
2
0
0
0
-7
2
0
0
0
9
0
0
0
0
2
0
0
0
0
3
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
1
-1
0
0
0
-3
1
-3
0
0
-3
16
1
0
0
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
7
1
0
0
-1
0
0
27
-19
28
0
-1
0
0
1
67
15
0
0
8
-5
-8
0
0
-3
-6
2
0
0
-42
-20
-2
0
0
3
8
0
0
0
13
0
0
0
0
2
1
0
0
0
36
-18
0
0
0
32
-1
0
0
0
-6
1
-1
0
0
-2
-2
0
0
0
24
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
-10
3
0
0
0
-3
6
-2
0
0
-8
10
-2
0
0
2
-1
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
3
0
0
0
0
1
0
0
0
3
18
-1
0
0
-9
2
0
0
0
-6
1
0
0
0
0
1
0
0
0
1
0
0
0
0
-3
6
0
0
0
-1
-1
-1
0
0
0
3
0
33
-22
28
0
0
0
0
21
18
2
0
0
12
-11
-3
0
0
-39
-4
-1
0
0
4
4
-3
0
0
-16
0
0
0
0
4
0
0
0
0
0
0
0
0
0
1
3
-1
0
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
0
0
0
0
-1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
-2
7
1
0
0
0
0
0
-2
2
0
0
-2
-8
-29
0
0
12
-26
0
0
0
9
6
2
0
0
0
3
0
0
0
3
1
0
0
0
0
1
0
0
0
2
-3
0
0
0
0
-2
0
0
0
1
0
0
0
0
2
1
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
-1
0
-7
25
-2
0
0
0
0
4
32
4
0
0
42
8
17
0
0
17
24
1
0
0
2
-15
-2
0
0
0
2
0
0
0
-1
0
0
0
0
1
0
0
0
0
-7
1
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
-4
0
0
0
-1
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
27
1
0
0
0
0
-19
-20
-3
0
0
-13
-9
10
0
0
0
4
-1
0
0
-37
3
0
0
0
-2
1
0
0
0
-1
0
0
0
0
0
-1
0
0
0
4
-4
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
14
0
0
0
0
0
-8
2
-9
0
0
45
0
18
0
0
4
0
-1
0
0
12
6
0
0
0
0
4
0
0
0
0
0
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-18
-20
-6
0
0
0
0
-13
-7
-15
0
0
43
-3
-10
0
0
1
-20
-3
0
0
12
0
9
0
0
0
-2
0
0
0
2
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
4
-12
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
-18
29
1
2
0
0
0
16
-1
1
0
0
-9
41
45
0
0
16
-13
-1
0
0
-21
22
6
0
0
2
1
0
0
0
0
-15
-6
0
0
1
0
0
0
0
18
-11
0
0
0
-10
3
0
0
0
-21
2
0
0
0
1
4
0
0
0
-12
0
0
0
0
10
9
0
0
0
4
-3
0
0
0
10
4
2
0
0
-18
-8
0
0
0
5
0
3
0
0
9
0
6
0
0
-5
-17
24
0
0
-13
0
-14
0
0
-4
-4
5
0
0
-13
-18
-1
0
0
-4
14
55
0
0
-74
0
-27
0
0
-70
-4
10
0
0
4
-27
-12
0
0
-6
-45
-17
0
0
-6
22
-101
0
0
-26
-10
4
0
0
14
-25
-33
0
0
4
-51
13
0
1
-51
-56
-56
0
0
2
49
-16
0
0
23
6
-34
0
0
4
-6
-2
0
0
63
-10
1
0
0
9
3
0
0
0
2
-4
2
0
0
0
0
0
0
0
-29
-2
0
0
0
-9
7
0
0
0
0
-3
0
0
0
-6
2
0
0
0
0
6
1
0
0
-11
-2
0
0
0
0
-18
0
0
0
0
-7
0
0
0
9
13
1
0
0
-2
-8
-3
0
0
9
10
-3
0
0
-4
-12
-9
0
0
2
-10
15
0
0
-20
27
-18
0
0
-13
-28
17
0
0
-61
-17
1
0
0
-43
4
-41
0
0
40
-23
-67
0
0
-4
4
53
0
0
-10
37
-16
0
0
36
-42
6
0
0
-24
16
-22
0
0
-29
29
16
0
0
-75
17
-65
-4
-1
-14
-9
-8
0
0
28
3
-6
0
0
-23
18
12
0
0
4
0
0
0
0
-4
-2
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
15
6
0
0
0
8
-1
-9
0
0
28
16
4
0
0
32
-36
-36
0
0
25
-12
77
0
0
-85
-3
20
0
0
9
57
22
0
0
9
27
-27
0
0
-73
0
30
0
0
-10
-55
30
0
0
16
-58
42
0
0
-21
28
3
0
0
-17
-1
24
0
0
1
25
-10
0
0
-11
13
-13
0
0
11
9
-37
5
0
37
-9
6
0
0
-13
-21
0
0
0
26
4
4
0
0
3
-2
-1
0
0
-6
12
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
8
1
-1
0
0
1
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-19
2
0
0
0
-6
7
-34
0
0
-31
2
-7
0
0
-2
32
-25
0
0
-7
3
31
0
0
-6
-29
4
0
0
-8
-41
21
0
0
11
5
-26
0
0
28
9
47
0
0
-53
-72
19
0
0
27
-11
-10
0
0
9
8
20
0
0
-16
30
0
0
0
9
-14
0
0
0
-2
13
9
0
0
7
-23
34
-1
-4
-22
-33
-2
0
0
-14
20
0
0
0
28
-11
8
0
0
-8
-7
0
0
0
3
-6
-1
0
0
-1
0
-1
0
0
2
0
4
0
0
0
0
0
0
0
-3
4
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
2
5
0
0
-12
50
29
0
0
-9
24
15
0
0
-6
21
-26
0
0
19
-61
-2
0
0
3
-3
-16
0
0
-8
1
-71
0
0
0
100
28
0
0
41
-2
11
0
0
-19
9
0
0
0
19
-4
13
0
0
16
-32
-8
0
0
0
21
10
0
0
0
12
3
0
0
11
1
13
8
-14
11
7
4
0
0
-12
-18
0
0
0
-1
-27
1
0
0
-2
1
0
0
0
-25
0
2
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
6
-11
-45
0
0
-42
-25
61
0
0
-11
-49
7
0
0
3
-28
10
0
0
35
-14
6
0
0
12
21
13
0
0
0
3
0
0
0
6
36
-8
0
0
22
57
11
0
0
2
0
0
0
0
3
44
8
0
0
-2
1
0
0
0
0
7
0
0
0
0
4
0
0
0
6
9
0
10
-15
42
13
0
0
0
7
7
0
0
0
-21
-2
0
0
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-34
-1
0
0
-8
19
-58
0
0
-14
38
-20
0
0
41
-32
-1
0
0
-11
17
4
0
0
0
13
4
0
0
0
-12
0
0
0
-1
18
1
0
0
-38
21
22
0
0
0
0
0
0
0
0
17
-3
0
0
1
-3
0
0
0
0
-10
-4
0
0
0
1
0
0
0
0
8
0
-1
2
8
-16
0
0
0
6
-15
0
0
0
0
1
0
0
0
0
4
1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-16
-8
0
0
-5
-34
-42
0
0
11
33
-33
0
0
-7
-5
8
0
0
2
11
28
0
0
-4
6
-12
0
0
4
2
0
0
0
10
-26
0
0
0
-20
38
2
0
0
0
-1
1
0
0
8
18
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
-2
-1
0
0
0
11
1
7
0
-1
4
0
0
0
16
-41
4
0
0
-41
-10
18
0
0
2
-1
0
0
0
-10
6
0
0
0
-4
-4
0
0
0
-2
6
3
0
0
0
0
0
0
0
-16
2
0
0
0
11
-2
0
0
0
-2
3
0
0
0
3
1
0
0
0
2
0
0
0
0
0
1
0
0
0
4
0
0
0
0
-2
-2
0
0
0
26
1
0
0
0
12
-11
-31
0
0
-28
17
59
0
0
-5
-29
48
0
0
51
-22
-10
0
0
-22
48
3
0
0
-16
-10
3
0
0
96
6
-33
0
0
37
-9
-12
0
0
1
0
-1
0
0
-1
-5
1
0
0
-7
15
15
0
0
-31
8
4
0
0
-10
3
5
0
0
-4
39
39
0
0
-61
15
-13
1
7
-47
5
-33
0
0
18
9
-15
0
0
21
2
-1
0
0
6
1
1
0
0
27
-6
0
0
0
32
-16
0
0
0
-8
0
-3
0
0
-7
0
0
0
0
-3
1
0
0
0
-1
-3
1
0
0
-3
-1
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
-7
-2
0
0
-39
-15
-1
0
0
-3
60
34
0
0
22
3
29
0
0
-32
30
-8
0
0
5
9
-8
0
0
21
-6
4
0
0
13
1
0
0
0
-23
-7
3
0
0
0
5
-5
0
0
19
-2
16
0
0
26
-1
21
0
0
5
37
-36
0
0
21
9
19
0
0
14
-33
-45
0
0
45
-1
61
1
-1
-54
116
35
0
0
-3
12
0
0
0
4
-7
0
0
0
-1
1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
-59
20
0
0
5
-22
11
0
0
7
2
-35
0
0
39
40
1
0
0
15
-35
3
0
0
6
-8
0
0
0
0
-9
0
0
0
6
10
12
0
0
-18
15
40
0
0
-9
20
58
0
0
75
-33
-29
0
0
20
-9
-14
0
0
30
-82
-42
0
0
-32
0
7
0
0
-4
-44
7
3
20
23
27
-33
0
0
3
-30
-4
0
0
-19
-6
-1
0
0
6
2
-1
0
0
8
1
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-42
15
-48
0
0
29
15
13
0
0
7
-3
15
0
0
-29
-6
0
0
0
8
8
0
0
0
0
0
0
0
0
0
7
0
0
0
0
1
0
0
0
-4
40
-52
0
0
-8
25
51
0
0
-43
37
17
0
0
8
-27
-28
0
0
-58
8
33
0
0
32
-21
13
0
0
0
29
-35
-6
23
36
-24
-10
0
0
-8
15
2
0
0
-9
1
-2
0
0
-18
3
1
0
0
-9
-12
-6
0
0
9
1
0
0
0
-6
0
2
0
0
0
0
0
0
0
21
-1
0
0
0
11
3
0
0
0
0
-2
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
-73
0
0
0
0
-32
21
-39
0
0
1
-16
-8
0
0
64
-29
-41
0
0
-3
7
6
0
0
0
8
2
0
0
0
16
1
0
0
0
-8
1
0
0
-7
26
8
0
0
-19
-13
-66
0
0
-31
14
-29
0
0
19
-49
13
0
0
10
13
-4
0
0
19
3
0
0
0
-28
-25
-16
16
-21
13
-37
36
0
0
-6
-3
3
0
0
16
-13
-7
0
0
-3
13
2
0
0
-2
12
-11
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
-4
0
0
0
0
2
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-10
30
12
0
0
-44
-4
-3
0
0
-12
-10
-12
0
0
1
-20
2
0
0
-6
-2
10
0
0
0
1
0
0
0
0
-1
-1
0
0
0
-4
0
0
0
-34
38
12
0
0
3
41
-36
0
0
-8
-63
44
0
0
15
-33
-17
0
0
16
22
-10
0
0
3
-3
3
0
0
0
1
6
-1
11
4
-3
2
0
0
15
6
-8
0
0
10
12
-2
0
0
-2
0
-1
0
0
8
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
-61
22
-13
0
0
82
-33
38
0
0
25
1
-15
0
0
-41
8
-2
0
0
6
-4
4
0
0
0
-3
1
0
0
0
3
0
0
0
4
-1
0
0
0
-16
-10
-46
0
0
60
21
-19
0
0
2
54
-35
0
0
-25
-53
17
0
0
-21
2
16
0
0
45
-2
-4
0
0
0
35
-8
3
2
-6
22
16
0
0
-4
7
8
0
0
-38
4
7
0
0
16
-10
-3
0
0
-6
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
-4
10
-17
0
0
66
-58
34
0
0
-42
-18
39
0
0
33
41
3
0
0
0
-25
-9
0
0
0
0
0
0
0
0
2
0
0
0
0
4
0
0
0
-8
-13
-37
0
0
-35
33
-5
0
0
75
-87
-3
0
0
15
7
11
0
0
17
17
7
0
0
0
0
1
0
0
0
10
-3
-25
3
1
-9
-1
0
0
3
2
12
0
0
6
8
-4
0
0
-11
26
6
0
0
31
14
-9
0
0
5
-5
1
0
0
52
17
-18
0
0
-37
17
3
0
0
-10
13
35
0
0
-13
-9
1
0
0
16
23
6
0
0
5
4
2
0
0
1
26
0
0
0
1
-30
6
0
0
-11
-21
-18
0
0
-5
21
-4
0
0
35
12
6
0
0
23
1
18
0
0
-22
-12
7
0
0
0
8
-4
0
0
-25
-1
1
0
0
-28
21
15
0
0
30
13
-8
0
0
-3
-2
2
0
0
-5
0
4
0
0
1
-25
-3
0
0
-2
6
10
0
0
-11
38
-15
0
0
21
17
16
0
0
20
-43
7
0
0
2
-7
-21
0
0
-5
9
6
3
11
-38
-38
0
0
0
10
5
-17
0
0
0
2
-6
0
0
-38
26
47
0
0
5
-33
18
0
0
-14
-5
14
0
0
10
-36
-20
0
0
14
-28
-6
0
0
3
1
4
0
0
21
8
9
0
0
-8
28
6
0
0
-16
-37
3
0
0
-55
33
18
0
0
-26
37
0
0
0
17
12
6
0
0
-22
1
11
0
0
-20
1
-9
0
0
-30
66
-6
0
0
-3
24
-33
0
0
2
7
1
0
0
-4
-1
-1
0
0
5
-15
-10
0
0
1
-51
0
0
0
1
-18
1
0
0
-16
-20
7
0
0
37
-2
7
0
0
-1
30
8
0
0
-12
-18
-10
0
0
-5
-8
-10
0
0
-14
-2
7
0
0
2
34
7
0
0
12
45
-3
5
3
-32
2
-9
0
0
-22
15
-4
0
0
1
1
-12
0
0
42
-5
-10
0
0
10
68
4
0
0
-9
-16
-2
0
0
23
2
-10
0
0
10
-6
1
0
0
-21
-9
-3
0
0
-6
-16
-1
0
0
-17
-40
0
0
0
-10
46
0
0
0
19
8
-2
0
0
0
4
0
0
0
0
-2
0
0
0
2
2
-9
0
0
-23
-13
-3
0
0
4
15
0
0
0
3
1
0
0
0
2
-6
0
0
0
-3
0
0
0
0
-11
1
-1
0
0
-2
-1
0
0
0
0
0
3
0
0
4
-2
0
0
0
3
43
10
0
0
22
-18
2
0
0
0
1
1
0
0
-7
-41
0
0
0
1
-6
0
0
0
1
37
1
0
0
6
13
-3
14
0
14
-30
0
0
0
11
11
13
0
0
-15
31
29
0
0
69
-43
-23
0
0
28
6
-28
0
0
27
23
1
0
0
-21
81
12
0
0
-8
16
0
0
0
12
1
4
0
0
-13
33
-6
0
0
45
18
0
0
0
13
2
-7
0
0
-5
-13
-4
0
0
1
-14
1
0
0
0
-2
0
0
0
-21
-3
0
0
0
38
-19
0
0
0
-1
-7
1
0
0
-15
8
0
0
0
4
-2
0
0
0
-1
-4
0
0
0
24
1
2
0
0
-6
0
0
0
0
4
-22
0
0
0
6
-4
0
0
0
29
-37
-1
0
0
9
-7
1
0
0
2
-6
-1
0
0
-2
-8
1
0
0
22
3
0
0
0
-11
1
0
0
0
-16
-55
3
3
3
-72
2
2
0
0
6
7
23
0
0
-20
-6
22
0
0
55
-9
10
0
0
-22
6
-36
0
0
0
6
0
0
0
19
-1
12
0
0
-1
0
0
0
0
6
15
0
0
0
6
0
0
0
0
8
1
-4
0
0
-6
0
0
0
0
3
0
3
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
-4
1
0
0
0
0
3
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
1
0
0
0
8
-1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
-11
3
2
0
0
0
0
0
11
-6
0
0
26
-26
32
0
0
-13
11
-22
0
0
-33
-5
-1
0
0
-4
1
0
0
0
6
1
3
0
0
1
-2
0
0
0
3
-8
-2
0
0
12
6
0
0
0
-6
0
0
0
0
-1
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
4
8
0
0
0
8
0
0
0
0
11
1
0
0
0
1
0
2
0
0
0
1
0
0
0
1
6
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
-15
4
0
0
0
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
15
1
0
0
0
0
0
0
0
0
1
1
0
-3
7
-20
-6
0
0
0
-18
8
13
0
0
-6
11
13
0
0
-9
1
1
0
0
25
16
-32
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-4
0
0
0
-2
2
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
13
-8
1
0
0
0
0
-27
-34
26
0
0
-34
45
17
0
0
2
43
6
0
0
26
-6
0
0
0
-17
-6
-1
0
0
6
2
2
0
0
0
3
0
0
0
27
0
-9
0
0
9
6
0
0
0
0
0
2
0
0
2
-11
0
0
0
4
0
0
0
0
0
3
0
0
0
0
1
0
0
0
2
0
0
0
0
-44
0
-1
0
0
7
-9
-2
0
0
-7
0
0
0
0
-3
-6
0
0
0
2
0
0
0
0
1
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
0
0
0
3
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
0
-9
0
0
0
-2
0
1
0
0
0
3
4
2
5
-22
4
1
0
0
30
20
4
0
0
-49
22
9
0
0
19
23
0
0
0
-12
9
2
0
0
-4
0
0
0
0
8
-2
1
0
0
1
1
0
0
0
17
1
-1
0
0
17
1
0
0
0
4
0
0
0
0
3
0
0
0
0
8
-2
3
0
0
-1
0
0
0
0
0
2
0
0
0
0
1
0
0
0
15
0
0
0
0
-4
-2
1
0
0
9
0
-1
0
0
0
1
0
0
0
9
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
-1
0
0
0
-4
6
0
0
0
8
2
0
0
0
1
3
0
0
0
-1
0
0
0
0
-1
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
-1
0
-4
-16
-4
1
0
0
0
5
7
0
0
0
8
-3
19
0
0
16
0
2
0
0
-34
30
1
0
0
-4
-1
0
0
0
0
2
0
0
0
-1
-2
0
0
0
-2
0
0
0
0
-13
25
0
0
0
-11
2
0
0
0
-10
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
1
0
0
0
-13
1
0
0
0
0
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
10
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
-3
0
0
0
0
0
0
0
-36
-13
38
8
0
0
0
-2
10
9
0
0
35
23
-10
0
0
0
-7
2
0
0
-19
-34
-8
0
0
10
-1
0
0
0
-2
0
0
0
0
1
0
0
0
0
20
2
0
0
0
0
0
-3
0
0
2
-1
0
0
0
0
1
0
0
0
2
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-13
9
-4
0
0
0
0
-18
20
1
0
0
18
-30
3
0
0
-12
10
18
0
0
2
-33
-38
0
0
-2
4
0
0
0
4
-1
0
0
0
0
1
0
0
0
-38
-13
0
0
0
21
-8
0
0
0
18
8
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
-18
2
0
0
0
4
-1
0
0
0
2
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
2
0
-28
25
4
-3
0
0
0
-13
-27
-2
0
0
0
-21
-1
0
0
6
22
0
0
0
-18
-6
0
0
0
-2
0
-1
0
0
-1
0
1
0
0
0
0
0
0
0
-10
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
4
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-22
25
0
0
0
0
0
41
17
29
0
0
-37
13
12
0
0
17
-17
-7
0
0
30
7
3
0
0
-7
-4
0
0
0
8
-1
0
0
0
-3
0
0
0
0
-1
-1
0
0
0
-6
0
0
0
0
-1
1
0
0
0
-3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-6
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
-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
19
13
-4
0
0
0
0
32
20
12
0
0
-9
-14
-15
0
0
11
-13
0
0
0
18
-24
6
0
0
-8
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-10
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
-2
0
0
5
14
0
0
0
0
0
-12
-1
-12
0
0
10
37
-1
0
0
11
19
10
0
0
47
-1
-1
0
0
18
-2
0
0
0
-1
-2
0
0
0
-1
0
0
0
0
0
1
0
0
0
6
17
0
0
0
-3
2
0
0
0
0
2
0
0
0
0
1
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
0
0
0
8
-32
0
0
0
3
3
-1
0
0
0
4
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
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
1
-1
0
2
34
16
-4
0
0
0
-51
12
-6
0
0
11
3
16
0
0
-3
-26
0
0
0
-4
3
-9
0
0
-11
-3
0
0
0
3
-1
7
0
0
0
0
0
0
0
32
0
-1
0
0
5
-8
0
0
0
12
7
-2
0
0
-1
6
1
0
0
0
0
0
0
0
2
4
0
0
0
1
-1
3
0
0
1
7
0
0
0
20
4
-2
0
0
0
0
7
0
0
4
-2
-2
0
0
-3
-3
-9
0
0
6
0
8
0
0
-17
10
22
0
0
-18
-12
9
0
0
-52
6
-13
0
0
-9
-5
-12
0
0
1
5
-30
0
0
1
-46
34
0
0
-21
1
-15
0
0
-13
-14
-10
0
0
-24
31
-55
0
0
1
-12
-12
0
0
25
-5
-10
-1
1
-57
-5
-16
0
0
-3
-37
28
0
0
28
-18
-6
0
0
8
-3
0
0
0
-15
25
0
0
0
8
7
0
0
0
-9
2
-3
0
0
-11
-1
0
0
0
6
24
1
0
0
7
-2
0
0
0
13
-7
0
0
0
1
0
0
0
0
6
-3
0
0
0
-12
0
0
0
0
0
-1
0
0
0
22
-17
0
0
0
21
3
-2
0
0
5
-4
10
0
0
1
-4
-11
0
0
4
11
-14
0
0
7
-1
-5
0
0
16
7
-59
0
0
-66
-6
21
0
0
-4
29
21
0
0
-9
30
-29
0
0
7
-17
-10
0
0
17
-25
-55
0
0
-16
-1
-23
0
0
16
-15
13
0
0
-17
2
1
0
0
-51
-17
22
0
0
-69
-49
-33
4
0
32
-39
3
0
0
4
6
-11
0
0
37
12
9
0
0
-8
0
1
0
0
-6
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
1
2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
0
0
0
8
20
10
0
0
22
31
17
0
0
29
-2
-10
0
0
8
28
20
0
0
-24
-33
-22
0
0
-50
52
5
0
0
20
-20
12
0
0
-82
-17
24
0
0
-5
-59
57
0
0
12
7
9
0
0
-66
44
27
0
0
-7
-5
-38
0
0
-3
8
25
0
0
-7
57
-17
0
0
2
7
11
8
8
-52
-44
-70
0
0
41
22
0
0
0
-53
11
-1
0
0
8
-1
-2
0
0
4
-2
0
0
0
-6
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
-1
2
0
0
0
-3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
0
0
0
10
11
4
0
0
16
-27
11
0
0
-7
25
-24
0
0
-13
-2
-3
0
0
-34
16
-22
0
0
51
-1
-2
0
0
8
-5
7
0
0
-76
-11
36
0
0
12
-26
-4
0
0
0
-17
25
0
0
44
-23
14
0
0
47
18
4
0
0
0
-57
33
0
0
0
16
12
0
0
26
5
8
-4
-4
67
50
-3
0
0
-27
15
-11
0
0
25
-21
-8
0
0
-6
-6
2
0
0
8
1
1
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
1
0
0
0
2
0
0
0
1
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
1
0
0
6
0
1
0
0
6
-3
36
0
0
17
-2
11
0
0
-20
56
41
0
0
-12
74
-40
0
0
31
-23
2
0
0
11
-27
20
0
0
-8
-14
3
0
0
7
74
-4
0
0
14
-23
0
0
0
16
6
8
0
0
24
-5
-12
0
0
-4
16
0
0
0
0
1
-15
0
0
-2
-55
-7
0
0
3
7
-1
3
4
-16
1
0
0
0
45
-21
-27
0
0
34
12
3
0
0
0
26
0
0
0
9
3
0
0
0
3
-2
1
0
0
-4
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
0
-1
3
-40
0
0
18
4
28
0
0
-10
1
49
0
0
-46
-1
-15
0
0
-40
13
17
0
0
-22
-4
-1
0
0
0
-58
-1
0
0
3
11
-6
0
0
1
22
11
0
0
-3
-15
0
0
0
18
38
13
0
0
2
-10
0
0
0
0
35
-2
0
0
0
-4
0
0
0
4
25
3
-48
7
45
-38
0
0
0
-14
24
0
0
0
30
-7
2
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
-17
-4
0
0
2
4
-5
0
0
-58
-6
63
0
0
45
-60
44
0
0
13
-5
9
0
0
-3
12
4
0
0
7
0
0
0
0
33
19
2
0
0
-21
5
12
0
0
-8
27
12
0
0
13
0
-18
0
0
0
0
-1
0
0
0
-9
0
0
0
0
4
-9
0
0
0
-4
7
-9
5
-3
11
-2
0
0
0
2
-8
0
0
-23
4
3
0
0
8
-1
0
0
0
-3
6
-2
0
0
3
-4
0
0
0
-1
0
0
0
0
0
-2
0
0
0
18
0
0
0
0
0
3
0
0
0
-2
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
2
0
0
0
-3
-50
-6
0
0
25
-23
-81
0
0
7
6
40
0
0
1
-64
30
0
0
-34
6
1
0
0
8
-12
0
0
0
2
9
-8
0
0
-7
-11
2
0
0
24
-23
30
0
0
-8
30
0
0
0
-26
29
2
0
0
8
-24
0
0
0
-11
17
-16
0
0
0
-9
2
0
0
-6
27
-13
19
-1
-2
17
1
0
0
8
-27
27
0
0
18
22
-4
0
0
13
1
-20
0
0
-21
-4
4
0
0
1
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
-6
3
0
0
0
2
-3
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
-3
0
0
0
0
0
-1
0
0
0
2
0
0
0
-13
-3
0
0
0
-17
1
13
0
0
20
-6
14
0
0
15
-5
8
0
0
37
-58
37
0
0
-9
-24
33
0
0
43
-32
21
0
0
81
20
-79
0
0
27
-33
-18
0
0
0
1
-1
0
0
-2
-3
5
0
0
-13
-2
-25
0
0
3
0
-24
0
0
17
11
2
0
0
4
9
-36
0
0
-28
31
24
2
6
11
-21
-32
0
0
58
17
-16
0
0
2
-2
-8
0
0
-28
3
16
0
0
-9
7
6
0
0
3
0
1
0
0
-4
-4
4
0
0
0
0
0
0
0
-18
7
0
0
0
-1
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
-1
-1
0
0
0
10
58
-64
0
0
-8
21
61
0
0
2
1
14
0
0
-19
14
0
0
0
23
-20
13
0
0
4
30
2
0
0
8
7
-2
0
0
-39
29
8
0
0
-2
2
0
0
0
0
-25
-16
0
0
-27
-1
5
0
0
40
15
35
0
0
-3
-52
3
0
0
-23
-23
74
0
0
-19
32
-23
0
-15
30
23
-32
0
0
-23
-32
6
0
0
35
-2
4
0
0
-6
1
0
0
0
6
0
-6
0
0
-8
0
0
0
0
6
0
0
0
0
0
-1
0
0
0
-8
0
0
0
0
2
-6
0
0
0
0
1
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-4
3
-35
0
0
6
9
19
0
0
2
6
27
0
0
23
0
-42
0
0
-26
-17
51
0
0
-2
1
7
0
0
0
-1
-18
0
0
4
7
11
0
0
0
-13
9
0
0
-15
-17
64
0
0
27
-21
-4
0
0
-5
24
-5
0
0
11
-1
1
0
0
-30
49
33
0
0
-39
62
-58
-36
5
-33
27
16
0
0
10
10
-1
0
0
-6
0
1
0
0
-13
2
-6
0
0
22
-6
3
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
-7
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-30
45
-40
0
0
-13
9
-24
0
0
40
-1
4
0
0
-61
-6
11
0
0
7
11
-3
0
0
0
0
0
0
0
0
-1
0
0
0
10
2
-2
0
0
12
-4
4
0
0
-14
-50
-22
0
0
68
-31
3
0
0
-20
1
-33
0
0
20
8
17
0
0
-4
-23
-10
0
0
7
21
-27
6
-17
-6
-21
13
0
0
26
18
3
0
0
-21
2
13
0
0
9
0
-8
0
0
39
3
-10
0
0
2
-2
-1
0
0
0
-1
1
0
0
0
0
0
0
0
6
-6
0
0
0
2
3
1
0
0
0
0
8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-19
8
-13
0
0
24
3
-33
0
0
-39
-48
52
0
0
64
-8
-7
0
0
-34
-3
0
0
0
6
-9
3
0
0
7
12
-2
0
0
20
54
-3
0
0
-17
-16
-26
0
0
-37
28
91
0
0
-24
34
20
0
0
-11
11
-52
0
0
57
8
-28
0
0
46
5
23
0
0
-28
-99
16
6
11
49
1
-22
0
0
3
-4
6
0
0
-19
-30
-2
0
0
24
0
0
0
0
39
-7
3
0
0
13
4
0
0
0
1
2
1
0
0
0
0
0
0
0
13
2
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
2
0
0
0
8
-43
9
0
0
36
18
-39
0
0
-64
11
-25
0
0
-26
22
-6
0
0
-7
39
1
0
0
0
-11
-6
0
0
0
-3
-1
0
0
1
8
0
0
0
15
-30
-39
0
0
9
-30
28
0
0
-3
62
-10
0
0
-45
35
3
0
0
-56
-35
4
0
0
35
28
9
0
0
1
8
-6
-8
13
0
6
11
0
0
7
4
0
0
0
28
-10
-18
0
0
-9
6
0
0
0
-24
3
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
2
-31
-46
0
0
34
43
60
0
0
-23
-11
-28
0
0
6
-36
-27
0
0
29
-9
2
0
0
2
12
-11
0
0
0
11
-1
0
0
8
-25
1
0
0
-29
-18
-5
0
0
-13
4
16
0
0
13
-22
28
0
0
-49
60
17
0
0
28
21
27
0
0
-3
0
-20
0
0
6
-52
0
5
0
13
61
-6
0
0
10
36
7
0
0
-19
-9
-32
0
0
9
7
-7
0
0
-22
10
1
0
0
-8
-4
0
0
0
1
-1
2
0
0
0
0
0
0
0
-28
0
1
0
0
-6
-1
0
0
0
-3
0
-1
0
0
0
-1
0
0
0
2
-9
0
0
0
1
0
0
0
0
-3
0
0
0
0
0
-4
0
0
0
-3
0
0
0
0
-29
-26
-54
0
0
-22
-20
25
0
0
45
-42
-13
0
0
-29
27
-12
0
0
4
17
6
0
0
-1
7
-2
0
0
-1
-7
0
0
0
-3
1
2
0
0
-21
-45
-6
0
0
-2
44
-40
0
0
-15
-33
86
0
0
36
39
37
0
0
-23
10
2
0
0
82
15
6
0
0
3
-18
27
12
-4
-22
21
-1
0
-4
-6
-1
8
0
-4
-4
3
-29
0
43
24
-5
-27
0
2
25
7
29
0
8
24
17
-16
0
2
28
-26
9
0
-40
44
4
12
0
4
13
-2
24
0
33
19
25
1
0
-16
-25
-30
-2
0
4
9
17
0
0
0
4
8
-4
0
-28
-29
24
6
0
0
32
31
-7
0
30
-13
18
-1
0
24
16
7
6
0
29
30
11
24
0
39
14
-9
21
0
0
16
13
0
0
9
-9
-4
0
0
2
10
-34
2
0
0
-2
-5
0
0
0
-3
2
0
0
4
8
2
0
0
-2
20
21
-10
0
0
-14
46
-6
0
0
11
16
0
0
0
-8
4
0
0
0
2
6
0
0
6
8
8
0
0
23
9
-9
0
-6
80
-10
-3
-2
0
8
-3
7
-9
0
2
31
-32
-4
0
75
-1
-1
-14
0
15
-7
-2
33
0
27
20
56
28
0
6
-7
37
-5
0
23
-9
11
8
0
-19
-4
-17
30
0
-23
-1
59
15
0
37
16
15
-5
0
-3
36
0
-2
0
25
20
-6
4
0
-1
51
14
-4
0
2
-19
-28
20
0
-1
26
-33
-2
0
-3
-6
-16
1
0
3
4
12
0
0
-27
-35
38
2
0
0
1
0
-1
0
-49
-2
7
2
0
-2
4
19
0
0
0
1
9
1
0
0
2
7
0
0
1
9
1
0
0
0
24
4
6
0
0
24
9
-6
0
0
4
3
1
0
-2
-21
1
-3
0
18
14
-16
-1
0
2
13
15
-1
0
35
-20
-8
-1
-1
-5
-56
15
0
0
3
32
17
23
0
29
15
-6
34
0
-3
-35
45
6
0
31
-1
-4
1
0
12
2
-3
-8
0
-4
6
-7
-17
0
5
7
-19
1
0
5
-6
36
-2
0
-1
-34
-14
0
0
11
-29
25
10
0
0
2
-7
-1
0
-11
-1
-1
0
0
3
-32
2
0
0
4
11
3
1
0
1
18
-11
0
0
3
-16
4
0
0
4
9
13
0
0
0
2
0
0
0
-1
-3
7
0
0
4
7
0
1
0
0
11
-4
-1
0
0
-1
4
0
0
0
0
-3
0
0
1
-6
0
0
0
0
7
1
0
0
0
10
-2
0
0
0
0
0
0
0
0
-1
-1
-1
0
-1
0
3
-2
0
0
41
-4
1
0
3
1
3
0
1
-28
-3
3
0
0
5
20
-3
-3
0
-7
22
-14
-13
0
34
13
-8
-2
0
0
-12
8
-17
0
7
48
-14
7
0
-25
16
-49
28
0
60
-14
2
-3
0
-36
-6
-4
-15
0
39
22
6
-2
0
-2
-9
40
4
0
9
41
-24
1
0
-47
-10
-13
-2
0
-1
8
15
0
0
3
-11
8
-6
0
3
-4
51
0
0
7
30
18
-9
0
7
-13
7
1
0
0
-6
16
0
0
-1
1
0
0
0
3
-13
-15
0
0
0
0
2
0
0
0
3
-8
0
0
0
6
-4
0
0
0
0
3
0
0
0
24
4
0
0
0
0
-21
0
0
0
-30
-11
0
0
2
-2
-4
-4
0
-1
-4
2
0
0
3
13
8
1
0
6
8
11
0
14
-35
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
3
0
20
-16
-9
-2
0
-27
-8
-1
0
0
29
38
-4
1
0
-21
22
12
-3
0
-29
-25
27
10
0
3
7
0
0
0
22
7
-25
-8
0
25
-31
-14
-4
0
10
-18
7
-7
0
-3
20
8
-3
0
0
-7
2
0
0
-11
-3
-4
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-2
0
0
0
-30
15
-21
-16
0
-7
21
-1
10
0
19
-22
12
0
0
28
4
3
0
0
-4
-8
-4
1
0
-18
3
2
0
0
0
0
2
0
0
2
-4
-1
0
0
1
19
-19
-1
0
-19
-3
2
6
0
-3
0
-4
0
0
37
0
0
0
0
-3
35
30
1
0
0
-2
1
0
0
2
-10
0
0
26
-17
1
0
0
0
28
10
-43
10
0
-14
8
-6
-9
0
-9
30
15
7
0
25
-11
16
12
0
-2
2
26
-9
0
-21
10
25
1
0
3
17
-1
0
0
0
20
17
-2
0
8
-9
7
-4
0
-27
-7
16
7
0
0
-7
-1
0
0
1
-1
0
0
0
0
0
1
1
0
-2
0
13
0
0
0
2
-3
0
0
0
-8
0
0
0
-21
23
-6
-7
0
-37
-11
-8
4
0
-4
27
-1
0
0
-49
-7
6
-2
0
4
4
0
0
0
1
-13
8
0
0
0
-4
-3
0
0
8
0
0
0
0
69
-10
-6
-3
0
7
20
20
3
0
-1
-4
-9
0
0
3
2
6
0
0
2
0
-15
-2
0
2
-7
1
1
0
-2
8
-7
0
-7
-10
3
-1
0
0
-4
8
-17
0
0
-9
28
28
10
0
-1
33
1
2
0
16
13
-1
1
0
1
7
4
0
0
18
7
16
0
0
0
0
1
-1
0
0
-18
-1
-1
0
-1
-3
7
0
0
7
-4
-1
-1
0
0
-4
-1
0
0
0
1
2
0
0
1
25
-3
0
0
0
-2
-2
0
0
0
0
0
0
0
-12
-1
-2
0
0
9
0
2
0
0
2
2
-1
1
0
0
-1
0
0
0
0
-7
-9
0
0
2
3
-3
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
12
8
1
0
0
-7
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
-3
1
0
0
0
1
0
0
0
0
0
3
0
-23
0
1
0
0
0
-4
21
1
0
0
7
-20
7
-11
0
-21
12
8
-1
0
-2
-26
-2
-3
0
-8
-2
1
1
0
-2
11
2
0
0
0
0
0
0
0
9
1
1
0
0
0
-2
1
-3
0
-7
0
-1
0
0
0
7
0
0
0
-2
-2
1
0
0
12
-9
-3
0
0
0
1
1
0
0
0
-4
0
0
0
-8
-1
0
0
0
10
-20
-11
0
0
3
6
-12
0
0
0
-2
0
2
0
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
-4
2
4
0
0
-6
-1
0
-1
0
-1
0
0
0
0
-1
0
1
0
0
0
0
-1
0
0
-1
0
-1
0
0
0
-1
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-7
0
-9
0
47
21
13
-29
0
-19
14
7
1
0
-3
4
0
-16
0
39
-7
-1
0
0
6
6
-6
0
0
7
2
0
0
0
-1
35
0
-1
0
29
49
-4
0
0
-24
7
-40
18
0
1
1
11
0
0
16
-7
0
2
0
-1
-13
-7
2
0
-1
4
0
0
0
-6
7
-1
0
0
-9
-25
1
0
0
1
3
1
1
0
-1
4
-10
-2
0
3
15
17
11
0
5
9
12
9
0
-2
35
-18
26
0
63
41
-51
5
0
91
-52
-8
14
0
48
2
-20
-37
0
85
-61
-23
44
0
-5
-50
-54
37
0
33
10
15
34
0
27
13
-45
36
0
63
-11
9
40
0
-1
44
39
-33
0
9
15
31
-28
1
16
42
-10
-65
0
0
-6
-6
29
0
-34
41
11
-3
0
1
4
28
2
0
38
7
13
-1
0
15
-11
8
0
0
-44
10
-2
1
0
3
0
2
0
0
6
7
-3
-4
0
2
1
-17
-3
0
0
-11
9
-7
0
-9
-25
15
-4
0
-2
1
-13
2
0
-8
0
4
1
0
1
2
9
0
0
0
-4
7
-1
0
-7
-37
3
-8
0
1
6
-1
0
0
3
0
-1
1
0
2
-32
-1
4
0
0
9
10
3
0
-53
-40
80
17
0
-9
-23
14
38
0
41
-27
0
-14
0
0
6
-41
24
0
23
-35
23
-5
0
59
-19
17
-46
0
-11
27
-22
1
0
-46
4
42
-21
0
12
35
65
19
0
5
-22
44
-8
0
-1
8
-20
4
-4
-38
26
-34
54
0
36
12
-1
0
0
0
9
0
-2
0
-4
3
1
-1
0
-1
2
0
0
0
-1
-3
0
0
0
-8
2
1
0
0
-4
0
0
0
0
12
0
2
0
0
-9
-6
0
0
0
1
6
0
0
0
0
-3
0
0
0
-8
-8
0
-1
0
-1
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
7
2
3
-15
0
27
8
-14
22
0
24
-16
-40
6
0
12
-17
-7
23
0
32
-4
22
-11
0
4
-25
23
-10
0
2
-39
23
-1
0
-16
-32
-11
-23
0
6
23
-29
25
0
44
24
37
-44
0
6
-24
5
0
0
-18
-11
-47
18
0
0
14
-15
-42
0
0
4
12
4
0
59
-64
-36
15
3
17
-45
-46
-1
0
-11
-4
-1
3
0
9
-10
3
0
0
0
2
2
0
0
8
6
3
0
0
0
0
0
0
0
-6
-1
2
0
0
0
-6
0
0
0
-4
-6
0
0
0
3
6
1
0
0
-15
6
-1
0
0
0
0
0
0
0
11
10
0
0
0
-3
1
1
0
0
0
0
0
1
0
0
-4
-1
-2
0
0
-4
0
0
0
3
14
-22
-13
0
5
17
31
-19
0
-1
-42
-22
11
0
-14
3
-30
15
0
-29
48
8
-78
0
-35
-11
14
-51
0
-14
-4
-32
-48
0
-43
38
50
-3
0
-93
-36
7
1
0
-26
-1
11
38
0
-8
-19
-27
27
0
-50
-23
47
-1
0
9
-16
25
6
0
0
3
-32
8
0
-63
23
-17
25
10
-48
9
-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
13
-19
26
0
0
-2
-13
-21
6
0
-18
0
-1
0
0
-28
3
0
0
0
38
44
-7
1
0
8
0
0
0
0
0
0
1
0
0
24
-15
0
0
0
0
15
-6
-12
0
-1
-3
12
0
0
-2
2
2
0
0
-2
-3
0
0
0
17
33
-16
-2
0
-4
-7
0
0
0
11
-9
-1
0
0
-10
-1
-3
2
0
29
-45
-9
15
0
-35
-11
5
1
0
25
48
18
-22
0
-29
-14
49
-36
0
68
11
-7
6
0
-1
2
29
16
0
-45
36
-35
-4
0
-62
-12
-18
28
0
-4
1
0
-1
0
23
0
1
4
0
-45
2
82
18
0
-30
-21
7
16
0
63
24
15
7
0
-25
-12
18
29
0
-23
-22
13
-58
4
39
6
-26
-24
0
-29
-1
15
4
0
19
-22
-17
-9
0
2
18
-3
0
0
6
7
-3
0
0
-3
10
-9
0
0
1
6
1
1
0
0
0
0
0
0
11
6
1
0
0
10
-14
3
-4
0
-13
25
8
-2
0
0
8
0
0
0
7
6
0
0
0
-1
6
-8
0
0
0
6
2
-1
0
4
-4
0
0
0
6
-3
0
0
0
38
-64
-32
-18
0
10
4
4
44
0
41
-16
34
7
0
-35
1
69
3
0
-22
-26
52
21
0
-14
-48
-18
18
0
-58
2
0
0
0
-63
0
52
-18
0
6
0
2
9
0
12
7
-3
-10
0
13
20
39
13
0
-1
-24
-25
34
0
-5
-130
2
6
0
-29
-23
1
-40
0
15
48
-37
4
-1
-132
36
-15
5
0
11
-11
0
0
0
-6
-1
-1
0
0
0
0
0
0
0
-2
2
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
6
24
-1
0
0
0
-1
0
0
0
-6
-3
0
0
0
0
3
0
0
0
0
-8
0
0
0
-2
0
0
0
0
0
-7
0
0
0
-1
-4
0
0
0
20
6
3
13
0
65
0
19
-13
0
-18
28
24
-1
0
-16
19
3
0
0
16
-36
9
-7
0
2
-24
20
16
0
21
-20
-18
-4
0
-9
-16
-24
0
0
-22
19
19
-6
0
-65
38
8
-6
0
-20
-37
-63
-2
0
-2
15
5
2
0
15
64
-9
-20
0
14
-9
17
-27
0
48
1
-40
15
16
31
-76
35
-11
0
3
0
1
0
0
-1
0
3
0
0
0
3
0
0
0
-7
-1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
4
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
2
0
1
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
-3
1
-7
0
0
8
8
-54
37
0
-34
-4
0
3
0
38
-1
-12
0
0
0
-15
4
0
0
6
12
4
10
0
-11
-16
2
1
0
2
6
-6
-2
0
10
-9
-10
1
0
31
-9
23
-11
0
-105
26
14
19
0
21
-37
-23
23
0
-14
9
-35
2
0
6
5
32
43
0
-2
-18
-20
-6
0
-18
-20
-22
9
-16
-85
25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
-2
0
4
-11
-10
19
0
-28
32
42
13
0
12
-12
-6
54
0
38
44
0
7
0
31
-33
4
-12
0
-29
10
-8
-6
0
6
22
-32
-5
0
-80
-3
46
14
0
53
-15
-3
0
0
2
-20
20
1
0
4
30
-15
-10
0
2
28
1
-13
0
0
12
-28
-12
0
-4
-6
15
-9
0
29
-12
-24
10
0
-8
4
19
22
0
-4
5
15
22
0
-1
-32
3
0
0
8
-20
-1
2
0
-2
21
32
1
0
1
3
9
0
0
0
-2
-4
0
0
4
2
2
0
0
-6
0
0
-16
0
3
30
17
-24
0
1
6
-10
0
0
0
-27
-3
-1
0
10
19
-24
1
0
1
21
7
10
0
13
-24
2
3
2
28
-1
-19
-12
0
1
7
3
29
0
-1
-5
26
33
0
-16
-37
-12
-38
0
5
13
10
-47
0
10
-23
-3
0
0
2
-2
10
17
0
1
47
13
22
0
14
32
-36
15
0
8
53
-55
11
0
-23
13
17
2
0
-2
6
15
0
0
37
-1
-38
15
0
11
-49
27
-1
0
3
12
15
-9
0
13
-22
-8
-4
0
-46
-18
14
-7
0
35
3
20
-1
0
3
-14
-5
5
0
3
6
6
-4
0
17
-11
-15
0
0
-13
17
-4
0
0
1
9
-10
-2
0
0
-2
-2
-4
0
2
4
0
1
0
0
9
1
-2
0
6
12
-6
7
0
0
-11
26
0
0
-1
3
-2
-6
0
4
-4
24
6
0
7
-3
14
-17
0
20
12
-8
-3
-6
-8
-50
8
1
0
3
12
-12
-11
0
28
37
68
10
0
3
7
-6
-2
0
3
3
-15
33
0
11
38
41
-1
0
0
16
8
-2
0
-1
-34
11
-2
0
24
27
-9
1
0
8
-45
10
-6
0
0
-3
10
-2
0
-4
3
8
-10
0
-1
0
0
-2
0
0
-6
-8
-1
0
0
0
0
2
0
0
-2
-12
-1
0
-9
10
-1
0
0
4
-15
2
2
0
0
-1
-7
0
0
0
7
-1
0
0
0
1
12
0
0
0
-2
1
0
0
0
0
1
-1
0
0
6
-2
0
0
1
0
0
0
0
0
8
4
0
0
1
-2
2
0
0
0
-29
-3
0
0
-1
0
-1
0
0
-9
-2
-8
0
0
1
16
-2
0
0
0
-16
0
0
-2
-3
-15
0
-1
0
10
-31
5
1
0
44
6
4
8
0
33
1
26
-7
0
16
-15
32
-6
0
1
43
1
-3
0
-15
17
-5
22
0
43
-5
-28
4
0
-18
8
27
-20
0
-1
15
11
-28
0
-2
-1
1
2
0
-6
-27
-18
1
0
-51
19
-3
-2
0
0
15
-3
0
0
0
-2
10
1
0
3
25
38
-1
0
-7
-6
-2
0
0
1
0
4
1
0
-9
-4
-11
0
0
0
6
1
0
0
0
-7
-4
7
0
0
-1
4
0
0
0
0
-1
0
0
0
0
1
0
0
0
-1
0
0
0
0
4
-1
0
0
3
-1
0
-3
0
0
-2
8
0
0
4
-2
-6
-1
0
0
-3
-18
1
0
0
13
-6
-1
0
2
-13
0
-1
-5
-32
1
1
3
0
-5
-9
12
-5
0
31
3
5
4
0
48
-27
27
-3
0
10
-4
-13
-3
0
-19
34
-10
0
0
28
8
-9
-12
0
9
-11
1
0
0
5
-12
2
6
0
9
1
-12
0
0
0
-4
1
9
0
0
1
0
0
0
1
2
1
0
0
0
3
11
1
0
0
-2
-1
0
0
0
2
1
0
0
-4
6
0
0
0
-7
44
-6
1
0
-19
-3
2
0
0
-1
-6
7
0
0
-11
3
3
0
0
10
-8
0
0
0
0
1
-2
0
0
0
0
2
0
0
1
-1
0
0
0
0
-16
2
0
0
0
1
-2
0
0
0
0
0
0
0
0
-1
0
0
0
-13
-2
-7
0
0
0
-4
1
0
0
1
6
0
0
14
-4
4
0
0
0
6
6
-35
7
0
-5
4
21
-28
0
-4
-19
3
1
0
-29
12
-5
-15
0
-14
37
17
0
0
-11
32
-19
15
0
22
-12
-6
1
0
7
-10
7
8
0
29
19
1
0
0
8
-1
2
-2
0
0
0
3
0
0
3
-1
0
0
0
-11
10
-2
0
0
13
0
9
0
0
0
0
1
-1
0
12
-4
2
0
0
-21
17
6
-2
0
4
3
5
1
0
0
2
-1
0
0
-1
-7
0
0
0
-2
2
-7
0
0
2
-4
0
0
0
0
0
2
0
0
0
2
0
0
0
0
4
8
0
0
-1
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
1
0
0
3
13
0
0
5
0
-18
3
0
0
48
-22
21
0
0
8
-22
34
-65
0
10
9
19
-1
0
19
22
-25
-7
0
12
-1
8
0
0
-19
0
-25
0
0
-3
10
-3
-1
0
-4
-9
2
2
0
0
0
1
-2
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
2
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-3
-1
0
0
2
0
0
0
0
0
42
-12
34
-5
0
27
2
-8
-5
0
-9
-8
-41
9
0
17
18
-7
12
0
12
25
-11
0
0
32
3
6
-6
0
21
-2
12
2
0
-43
13
12
4
0
-7
11
0
1
0
-17
8
1
1
0
0
-3
1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
2
2
0
0
0
1
1
-2
0
0
0
-1
0
0
-3
-11
1
-2
0
-7
1
4
-13
0
-2
7
1
0
0
-11
0
0
0
0
0
0
-11
0
0
1
-1
-1
0
0
0
0
2
0
0
0
0
1
0
0
0
0
-1
0
0
0
-2
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-2
0
0
0
-7
-1
0
0
0
0
30
-13
6
18
0
-30
33
65
9
0
52
8
7
-2
0
-25
36
-4
-2
0
-3
18
0
0
0
-10
-3
0
-1
0
1
6
2
0
0
-4
0
-1
-1
0
-14
5
-1
-8
0
-19
-10
5
8
0
2
24
-8
-3
0
-15
-3
12
-1
0
-1
-1
-21
0
0
0
1
-3
-1
0
0
9
-2
0
0
1
-10
0
0
0
-3
-23
-8
-1
0
0
0
0
-1
0
1
0
0
0
0
-4
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
1
1
0
0
0
-6
8
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
8
-3
0
0
-2
8
0
0
1
-1
-3
0
27
3
-10
-1
0
0
-55
58
-10
25
0
8
29
-15
-11
0
-21
23
-2
0
0
27
10
6
0
0
18
-4
0
0
0
-11
0
13
0
0
-1
4
0
0
0
4
3
-4
-2
0
23
-34
40
2
0
26
-16
11
7
0
8
11
0
-1
0
1
-8
-15
0
0
-3
-4
-7
0
0
0
-8
17
0
0
0
0
0
0
0
0
13
1
0
0
0
9
0
0
0
-12
-3
1
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
8
0
0
0
-15
-1
0
0
0
-9
0
0
0
0
0
0
0
0
0
7
32
-1
0
-2
4
1
0
0
0
0
0
0
33
1
-2
0
0
0
40
-4
-3
-1
0
-26
-13
-6
4
0
15
4
28
-1
0
38
-13
3
-7
0
0
6
1
0
0
0
0
0
0
0
0
-1
0
0
0
9
3
0
0
0
-12
-6
2
0
0
-37
6
4
0
0
-8
4
2
0
0
-6
8
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
10
0
0
0
1
-2
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-30
10
2
-4
0
-21
29
-36
-17
0
0
19
-15
0
0
-4
-14
24
-8
0
0
2
4
0
0
-1
2
1
0
0
0
-1
0
0
0
6
1
0
0
0
10
37
3
0
0
41
-24
-4
1
0
6
-11
-8
0
0
-2
0
7
-1
0
0
1
1
0
0
0
-4
0
0
0
0
0
2
0
0
0
-2
3
0
0
-3
1
1
0
0
-1
-1
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
-7
1
-3
0
0
0
10
-7
5
18
0
-8
43
19
2
0
-7
25
16
0
0
7
6
0
3
0
0
-4
1
0
0
-1
0
-3
0
0
0
1
1
0
0
11
-8
0
0
0
10
29
1
0
0
-4
1
-9
-2
0
0
0
-1
0
0
-2
1
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
9
-4
0
0
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
-8
-5
14
4
0
47
-18
-28
-10
0
-3
4
1
0
0
4
0
1
7
0
-3
6
0
0
0
-46
13
2
0
0
3
0
-2
0
0
9
0
1
1
0
1
-9
2
-1
0
-3
-9
3
0
0
0
0
0
0
0
1
-1
0
0
0
0
1
1
0
0
0
0
-2
0
0
0
0
0
0
0
4
-1
0
0
0
-7
4
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
19
-6
9
-10
0
-7
-2
7
-4
0
-2
11
-4
2
0
-54
-3
1
2
0
-3
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
-1
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
17
-22
10
-11
0
5
16
5
-7
0
-2
30
-15
0
0
-9
0
-2
7
0
0
2
-3
0
0
1
-3
0
0
0
0
1
-2
0
0
9
-1
0
0
0
1
-3
-3
0
0
-1
0
-3
0
0
1
0
0
0
0
-12
-1
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
6
-1
0
0
19
-18
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
12
-28
6
13
0
17
-1
-10
13
0
-3
9
-6
0
0
6
-3
-1
-3
0
-10
-16
16
0
0
-21
-1
25
0
0
-6
-1
2
0
0
1
-22
9
-1
0
34
14
-9
0
0
-2
4
-1
0
0
0
9
1
0
0
0
0
0
0
0
1
-4
-2
3
0
2
13
3
0
0
8
11
-1
0
0
-24
-28
0
0
0
2
2
0
-2
0
1
6
7
-1
0
0
30
3
-35
0
5
-1
4
-22
0
17
2
-20
9
0
28
2
7
34
0
30
36
-35
-49
0
0
16
-14
12
0
16
45
43
-52
0
22
3
-3
-12
0
36
8
23
25
0
-20
-39
-57
38
0
96
3
-23
-38
0
1
8
34
-24
0
-54
-6
-33
17
0
-23
11
-23
26
0
13
15
-16
-7
0
14
73
-40
-9
0
-19
23
-6
-3
0
14
6
16
0
0
4
-7
6
0
0
-30
-8
-14
0
0
-8
-1
1
0
0
-32
10
-4
-4
0
7
-8
13
0
0
0
0
20
0
0
0
-1
0
0
0
0
-4
0
0
0
-2
-2
0
0
0
-4
8
10
0
0
7
-6
0
0
0
22
-20
-1
4
0
3
-2
2
-2
0
6
2
10
12
0
3
24
7
8
0
5
4
7
-1
0
2
11
-50
20
0
-3
11
14
-1
0
55
37
-51
14
0
15
14
30
-32
0
19
-54
50
25
0
28
-48
-46
5
0
-2
-5
-7
0
0
36
-24
17
-25
0
39
28
-73
-33
0
25
12
2
-14
0
79
-9
-51
-17
-4
-29
-50
-9
-11
0
10
-2
28
0
0
28
2
0
0
0
-3
-19
-15
0
0
-13
11
6
3
0
8
0
0
0
0
0
0
-1
-2
0
-2
0
0
0
0
7
-1
0
0
0
0
11
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
-1
0
0
0
4
-15
-4
0
0
0
-18
18
15
0
-4
9
8
-16
0
7
-8
-15
-1
0
1
-6
-16
1
0
35
-5
-17
11
0
-42
17
-12
3
0
-26
-22
5
-26
0
25
30
-31
-11
0
4
11
-3
29
0
-7
-16
13
2
0
-21
-26
-46
3
0
-24
7
2
0
0
2
13
77
1
0
0
19
-32
2
0
-53
8
-7
21
5
27
-7
-39
1
0
0
42
-4
-1
0
-4
-24
10
0
0
3
0
2
0
0
-18
34
2
-3
0
3
-8
2
0
0
-6
-10
2
1
0
0
-1
0
0
0
19
-4
-1
-2
0
0
1
0
0
0
0
-2
0
0
0
0
1
1
0
0
4
0
-1
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
0
0
7
16
-6
7
0
-1
31
-29
-7
0
22
-6
-35
-7
0
-16
-10
3
33
0
1
-52
-28
-25
0
-7
18
-12
-21
0
5
-39
-16
-8
0
-27
-35
20
35
0
-9
63
-14
8
0
6
-13
24
-11
0
-20
-32
10
30
0
-32
-17
-25
2
0
0
-37
-9
45
0
0
-2
0
3
0
49
-39
-7
-4
-1
-67
13
49
4
0
-17
8
8
6
0
-7
-12
-3
-3
0
1
-21
7
0
0
25
7
-1
0
0
16
0
-7
0
0
2
3
2
0
0
0
0
0
0
0
0
3
0
-2
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
-1
-1
0
0
0
34
10
18
6
0
36
-8
-44
-3
0
-20
26
0
17
0
37
48
-13
50
0
-5
-8
25
58
0
-71
-39
-10
-11
0
-111
-16
13
-2
0
-13
5
-12
-35
0
13
-67
-37
-8
0
10
3
0
0
0
0
0
19
1
0
-1
3
0
-8
0
10
26
53
28
0
0
1
-4
2
0
12
4
18
-6
8
-67
3
-6
-2
0
26
-33
7
2
0
-13
18
-20
1
0
0
-4
1
0
0
-3
2
-2
0
0
-17
-2
-6
0
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
0
0
0
0
0
-14
-17
13
42
0
0
-8
-33
35
0
-46
80
-38
24
0
-25
33
41
-2
0
56
-12
23
27
0
95
-56
13
-21
0
-15
12
21
1
0
-22
-1
19
-32
0
-2
-2
22
-2
0
-1
-2
-9
0
0
0
0
4
0
0
0
0
1
2
0
0
-43
33
-10
0
0
20
0
0
0
-6
19
1
0
10
13
-8
-7
2
0
-25
7
0
1
0
-1
1
0
0
0
-2
1
0
0
0
0
1
0
0
0
-1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-16
-11
15
-19
0
21
7
-18
-23
0
28
-58
16
15
0
18
43
-12
-23
0
30
30
0
4
0
-27
-24
8
11
0
45
-18
-8
0
0
-55
-25
9
0
0
-2
-12
-37
0
0
0
2
0
0
0
-2
0
-7
0
0
0
0
3
0
0
2
-1
25
1
0
0
-1
0
1
0
0
0
19
0
-1
-24
0
0
0
0
18
-16
-3
0
0
-2
-3
2
0
0
0
-1
0
0
0
-29
-1
-2
0
0
0
0
0
0
0
1
0
1
-1
0
0
0
0
0
0
-1
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-25
20
21
12
0
-7
1
17
-46
0
35
-30
-36
-38
0
-17
3
-10
-6
0
28
-15
39
-12
0
5
0
-1
-6
0
6
-2
-22
8
0
-8
7
-10
3
0
-1
-12
-4
3
0
3
-1
1
0
0
0
2
12
2
0
0
0
1
0
0
0
-9
6
-2
0
0
0
1
0
0
15
0
-9
0
7
0
-1
1
0
0
-2
5
-2
-3
0
-21
20
-37
15
0
7
-18
-11
1
0
1
-3
0
0
0
15
9
0
0
0
0
0
4
-2
0
0
1
0
0
0
-4
-24
1
0
0
21
4
9
0
0
-4
-11
-35
0
0
0
2
2
0
0
-2
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-10
3
7
17
0
-11
30
4
24
0
23
-81
-10
-3
0
-40
-63
48
-6
0
38
10
44
-11
0
-25
-15
-28
9
0
14
-39
9
-7
0
54
-8
-11
4
0
11
1
-1
-1
0
3
0
-2
-9
0
2
-20
8
31
0
-22
1
1
-27
0
24
-18
26
3
0
-55
1
-30
18
0
-17
2
-7
-34
1
15
19
-51
10
0
-39
-10
-12
-15
0
-15
17
-4
-22
0
-6
24
-2
1
0
28
-3
0
2
0
1
6
1
0
0
24
0
3
-2
0
0
-4
-1
0
0
-7
12
0
0
0
24
-12
-9
0
0
-32
10
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
-6
0
0
0
1
1
0
0
0
0
0
-1
0
0
2
3
1
0
0
-11
-46
-37
17
0
19
-49
2
19
0
-76
16
33
-1
0
-44
-42
35
12
0
59
-42
0
-4
0
9
10
2
1
0
-2
8
17
0
0
6
21
0
0
0
2
17
11
1
0
21
-4
0
28
0
-1
29
12
-5
0
25
-22
-8
40
0
-7
43
54
-26
0
-2
-39
-23
-9
0
62
26
-2
24
1
6
13
-7
-2
0
3
8
2
0
0
12
3
-3
0
0
-3
13
1
0
0
6
3
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-29
-13
-38
5
0
4
-5
8
-13
0
25
-65
36
7
0
4
-32
-28
-2
0
-37
2
2
0
0
0
-6
3
0
0
9
6
3
0
0
-1
3
-1
1
0
48
23
4
-11
0
33
18
-46
28
0
-51
-1
-2
13
0
-54
-12
-2
46
0
12
0
-36
-6
0
0
0
11
-2
0
-20
-30
10
28
3
-3
8
-13
-17
0
-11
24
-26
1
0
29
-8
1
0
0
-1
-4
0
0
0
9
-7
7
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
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
11
45
-5
-25
0
-6
-56
20
13
0
6
-35
-20
3
0
8
-20
49
4
0
1
4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-12
1
-11
0
8
-31
-23
12
0
-16
20
-4
0
0
-37
-22
54
-7
0
11
-30
18
18
0
0
2
26
6
0
7
16
-1
-4
-6
0
50
20
-36
0
41
-19
-12
-7
0
-34
8
-18
-7
0
2
9
-2
1
0
0
28
0
0
0
10
-30
1
0
0
1
0
-1
0
0
0
0
0
0
0
-7
-15
0
0
0
1
7
8
-1
0
-2
-1
-2
-1
0
0
1
1
0
0
0
-7
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
28
38
-45
7
0
36
-18
4
-49
0
-7
-20
-57
-8
0
-41
-21
33
32
0
-79
-12
10
-35
0
8
-3
32
-6
0
0
1
-33
1
0
2
3
-3
-1
0
46
14
-24
-12
0
-12
-58
18
-12
0
18
-28
18
20
0
7
-40
-12
6
0
-6
18
-20
29
0
-3
22
17
-12
0
-27
12
-16
19
16
10
-82
-11
-42
0
-32
-23
21
-2
0
9
-3
-4
-9
0
-1
41
-2
-1
0
-3
-24
-2
1
0
1
0
1
0
0
19
15
2
0
0
0
0
0
0
0
0
-6
0
0
0
1
0
-1
0
0
0
-1
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
9
-38
-53
30
0
9
-41
28
-39
0
-20
10
16
2
0
6
-29
-24
-4
0
-9
12
1
1
0
8
-12
7
-2
0
0
0
0
0
0
0
-1
0
0
0
-21
25
-8
-7
0
-11
8
42
43
0
0
-2
-7
6
0
3
30
-18
-2
0
2
-7
-16
6
0
24
1
16
-17
0
-3
-12
4
1
-1
0
-36
15
2
0
18
-12
-8
-7
0
-12
22
3
-9
0
0
25
0
0
0
13
0
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
13
13
-15
0
1
24
-25
21
0
18
3
-3
15
0
13
-6
-21
-9
0
7
-10
28
-10
0
0
1
1
-2
0
3
-7
3
0
0
0
0
-6
0
0
23
31
-3
-22
0
-18
-1
-17
-64
0
-17
-3
-33
12
0
-2
-27
-12
4
0
2
10
34
-9
0
0
0
24
-4
0
1
-21
6
-17
3
-6
-3
-2
2
0
-21
18
-20
17
0
39
7
25
11
0
1
-3
7
-1
0
10
-41
-1
-4
0
0
1
-7
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
-1
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
34
-46
-34
0
64
26
-20
48
0
-43
-2
-18
-2
0
-2
-10
16
3
0
3
40
1
0
0
0
1
-8
-2
0
0
-1
-1
0
0
-1
-2
0
0
0
-44
10
-14
-74
0
-12
-29
32
35
0
16
-7
-10
0
0
9
28
-10
-3
0
-1
-15
1
16
0
0
0
36
-4
0
0
6
21
8
-25
1
-4
0
-1
0
0
29
47
-3
0
-5
21
22
10
0
-23
27
-19
-6
0
4
23
-42
-1
0
10
30
19
-9
0
3
58
-29
-7
0
-33
-16
0
10
0
53
11
-30
27
0
15
-11
11
-5
0
29
-74
-7
19
0
6
-2
-15
-1
0
-11
5
15
8
0
-11
-41
0
-13
0
2
17
33
2
0
7
-3
14
1
0
-20
33
27
4
0
-28
19
29
9
0
-48
-7
53
24
0
22
-11
-2
1
0
-7
1
-9
6
0
-20
7
-4
1
0
0
7
11
-4
0
2
-1
1
0
0
3
-16
1
0
0
18
27
0
7
0
13
-14
5
8
0
0
9
-1
1
0
1
-16
-1
-3
0
-33
-10
-11
4
0
0
17
10
-3
0
40
-20
-18
6
3
36
-41
-1
-16
0
-6
19
5
-10
0
2
6
23
19
0
6
-17
-10
-29
0
1
20
-26
0
0
-2
8
22
12
0
-8
0
3
38
0
53
11
3
9
0
-6
-11
4
-36
0
13
-2
-4
17
0
-28
44
26
24
0
-3
-7
6
0
0
-4
15
2
6
0
7
-4
4
-1
0
-4
-22
1
10
0
15
-4
-35
-8
0
8
9
-23
-21
0
28
-15
-12
-3
0
53
7
-57
-24
0
0
24
27
-3
0
2
-4
-17
10
0
-25
2
4
0
0
12
-13
-5
0
0
0
2
0
-4
0
-8
-5
8
1
0
14
-10
44
-1
0
-18
10
8
17
0
2
-18
4
0
0
-10
3
-6
-1
0
10
16
15
-2
0
7
7
2
18
0
3
-13
-4
-4
5
9
-26
-6
9
0
33
27
-1
-21
0
-8
23
3
-8
0
55
13
23
-1
0
-27
13
42
-21
0
29
19
-13
1
0
-12
8
0
-15
0
-17
12
-18
2
0
42
10
-29
29
0
34
-1
-1
-2
0
-25
-10
36
-1
0
0
3
-2
1
0
-9
-13
-3
-1
0
-2
-13
9
1
0
8
-11
20
0
0
0
16
16
0
0
11
-7
-16
-1
0
-22
-32
17
0
0
-31
-16
39
0
0
0
7
0
0
0
9
0
0
1
0
-4
4
1
-1
0
-2
0
11
0
0
0
0
-3
0
0
13
6
0
0
0
0
38
-4
-6
0
-7
12
-10
0
0
0
-17
0
0
0
0
-11
-2
-1
0
-14
9
0
1
0
0
3
-3
1
0
3
0
1
0
14
-11
-26
-9
0
0
1
2
6
13
0
13
1
-6
-30
0
-7
32
-6
5
0
33
-11
-6
-12
0
-52
43
8
1
0
-21
-4
13
12
0
53
-31
-1
-1
0
-20
7
14
2
0
-46
6
23
6
0
20
-3
21
-11
0
4
-19
12
0
0
-4
28
-37
0
0
-9
33
8
0
0
9
12
-15
-2
0
0
1
-22
-2
0
-12
-33
25
0
0
19
35
-45
-11
0
-29
-5
16
16
0
-6
-1
6
1
0
-25
-12
-2
-2
0
12
8
-11
0
0
0
0
18
0
0
0
0
-3
0
0
-9
16
0
0
0
-4
32
-5
0
0
-2
-17
10
1
0
0
-9
21
0
0
-3
2
3
1
0
37
34
-2
0
0
18
5
7
0
0
0
-4
-1
0
3
-23
-10
-16
0
0
9
25
-6
27
0
16
49
-8
13
0
-12
29
-11
-7
0
13
8
22
-29
0
-10
-9
4
1
0
19
-9
-3
1
0
1
-1
0
0
0
-6
-24
3
-1
0
2
37
2
9
0
0
8
-9
1
0
0
2
1
0
0
-1
1
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
-3
0
0
0
-11
-3
-1
0
0
0
0
8
0
0
3
-1
0
0
0
-13
0
0
0
0
2
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-2
7
-2
0
-1
2
-7
0
0
0
0
-1
0
0
2
-1
-1
0
0
-4
-7
0
0
0
0
-1
0
0
0
0
0
0
0
-11
0
7
0
0
0
-25
11
29
-19
0
-4
-100
-27
52
0
0
-8
14
-8
0
5
-10
7
1
0
57
17
-24
0
0
44
-2
-3
0
0
0
4
-1
0
0
0
35
0
-1
0
-7
41
11
3
0
-2
36
-7
3
0
1
-8
0
0
0
4
-6
0
0
0
0
-4
7
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
-1
0
-5
16
-11
-2
0
3
-7
-4
0
0
0
-3
0
0
0
0
3
1
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
9
0
0
0
-29
-9
12
0
0
0
4
0
0
0
0
-1
0
0
0
2
-4
0
0
0
4
1
0
0
0
-2
1
1
0
-3
-2
-7
8
0
0
9
-42
-6
44
0
44
-4
28
-28
0
-25
-8
11
0
0
9
3
3
0
0
-16
0
2
0
0
-6
6
-6
-1
0
0
0
3
0
0
-29
4
0
0
0
11
10
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
0
0
0
1
0
-1
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
13
0
0
1
0
0
31
-17
11
21
0
-19
23
37
-23
0
-44
-22
3
16
0
-25
-20
6
22
0
-10
-8
-6
0
0
-4
3
50
-1
0
-4
6
0
0
0
12
-34
-6
-1
0
-12
-23
-6
0
0
8
-3
0
-1
0
-1
0
-8
0
0
22
-3
-4
0
0
-1
22
-4
0
0
6
0
1
0
0
1
0
0
-1
0
-1
0
0
0
0
-4
25
-8
2
0
-4
9
-1
1
0
1
-1
4
0
0
0
1
0
0
0
0
-1
-16
0
0
0
-1
-1
0
0
0
1
-2
0
0
0
0
0
0
0
1
-1
10
0
0
0
3
1
0
0
0
0
-12
0
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
0
0
-3
-3
0
2
-3
-6
-2
0
0
44
-22
41
10
0
21
58
-16
4
0
5
12
-11
2
0
-10
8
30
1
0
-23
5
8
-2
0
-25
-8
24
3
0
6
-1
13
0
0
-9
3
0
0
0
-15
15
4
3
0
-20
-2
6
1
0
-2
12
0
0
0
2
0
-3
0
0
1
-3
2
2
0
0
2
0
1
0
0
-3
-1
0
0
-4
-6
1
0
0
2
13
2
0
0
0
3
2
0
0
0
0
0
0
0
1
0
0
0
0
2
8
0
0
0
0
1
2
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
2
13
1
0
0
0
-4
-3
0
0
6
0
0
0
-4
3
1
1
0
0
34
-21
-6
15
0
-28
-22
2
11
0
1
5
4
0
0
-74
6
1
1
0
19
-5
4
0
0
-19
33
3
0
0
3
8
0
0
0
30
-15
1
0
0
10
6
10
0
0
19
-38
0
1
0
0
39
3
0
0
1
9
0
1
0
0
1
7
0
0
0
0
-3
-2
0
0
-2
0
0
0
-3
16
4
0
0
0
-16
-7
0
0
1
0
0
0
0
0
3
0
0
0
3
-6
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
-2
0
0
1
0
1
0
0
0
-6
0
0
-36
-11
-1
0
0
0
-23
8
-19
27
0
23
24
27
-10
0
-6
28
-6
-1
0
-21
-25
20
-3
0
4
13
-13
-3
0
1
1
36
-3
0
8
0
3
0
0
-2
56
0
0
0
7
-3
0
0
0
2
-1
-1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
10
-6
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
-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
-13
0
1
0
0
0
13
-15
15
7
0
41
-15
-24
-27
0
-3
-3
27
-2
0
-58
24
-9
-19
0
-34
23
4
0
0
2
11
3
2
0
0
4
-4
0
0
2
1
2
0
0
4
-7
-11
0
0
-1
-2
3
0
0
0
0
0
0
0
2
0
1
0
0
0
-4
0
0
0
0
2
-1
0
0
0
-1
0
0
0
2
2
-1
0
0
-2
-11
6
0
0
-8
-7
-2
0
0
0
0
0
0
0
-7
-4
2
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
6
0
0
0
-3
0
0
0
0
4
1
0
0
1
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
-1
0
-28
0
8
-1
0
0
13
-1
3
-17
0
52
8
-61
18
0
8
27
-1
2
0
8
0
-3
0
0
-2
3
2
0
0
-4
-4
2
-1
0
0
0
0
0
0
16
-4
-4
-1
0
0
7
6
0
0
0
8
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
-13
0
0
0
-10
3
1
0
0
-12
0
0
0
0
0
-1
0
0
0
1
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
12
12
7
9
0
-55
-12
8
12
0
24
-16
22
3
0
-4
16
-8
-1
0
7
0
-1
2
0
6
0
0
1
0
0
9
0
0
0
4
-3
-2
0
0
-1
-9
0
-1
0
-2
-1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
3
-3
0
0
15
0
-2
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
6
3
4
5
0
11
7
-17
-13
0
7
39
-8
-1
0
-7
10
2
7
0
-1
-46
-6
0
0
3
0
2
1
0
0
6
0
0
0
-9
8
0
1
0
3
-15
1
-1
0
0
1
0
2
0
0
0
1
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
3
0
0
3
2
1
0
0
-1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
17
10
0
8
0
-3
32
38
13
0
9
15
-44
-1
0
19
30
-3
-2
0
-8
-7
9
0
0
-15
-10
-13
0
0
2
0
0
0
0
8
-2
8
1
0
0
13
4
-1
0
1
13
-9
-1
0
0
-6
0
0
0
-1
-1
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
15
-1
0
4
-4
-15
1
0
0
6
0
0
0
-2
-1
2
0
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-2
15
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
3
17
-40
7
0
-1
-29
-6
0
0
29
-47
29
-8
0
12
16
13
-11
0
7
-3
13
-2
0
12
10
-15
4
0
-1
0
0
0
0
-50
18
2
-2
0
23
-29
7
4
0
-3
-21
-3
0
0
0
8
0
0
0
-1
7
0
0
0
-21
8
-4
2
0
3
-9
0
-4
0
-19
2
0
0
0
23
-3
-3
1
0
1
1
0
-2
0
5
7
5
-7
0
-1
5
5
-2
0
-2
-8
17
-6
0
13
15
-31
14
0
17
-12
-44
14
0
-17
19
3
10
0
-34
-28
21
-16
0
57
31
0
45
0
38
21
10
30
0
-24
4
25
28
0
-25
26
6
30
0
65
16
9
-22
0
-17
-13
-36
-12
0
7
3
-16
-34
-1
-26
-39
-41
-32
0
24
-10
-12
14
0
24
-16
7
-11
0
62
29
12
0
0
65
-51
4
-3
0
15
18
1
-4
0
13
10
1
0
0
0
2
4
0
0
-6
-7
-2
0
0
9
33
-6
0
0
-21
-18
0
0
0
0
-13
-1
0
0
11
-7
0
0
0
0
8
-10
0
0
4
13
-7
3
0
-1
2
-2
0
0
-13
-26
-2
-2
0
0
6
-1
-2
0
7
18
5
-20
0
-6
-7
17
-1
0
-6
-9
12
20
0
13
15
18
6
0
-54
-40
64
24
0
32
13
-18
-25
0
-34
33
9
14
0
45
2
-17
36
0
-9
4
-40
-16
0
14
-11
0
19
0
1
-20
-26
-22
0
66
-18
47
-5
0
-12
37
-6
-21
0
-12
-6
-37
-43
4
-24
10
-49
-15
0
-64
-23
11
8
0
10
45
-26
-10
0
-47
2
0
0
0
15
7
8
0
0
21
-1
2
0
0
21
0
4
-2
0
0
0
0
0
0
-1
0
2
-1
0
4
3
0
0
0
0
-3
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
-6
3
1
0
0
10
2
-24
3
0
20
6
8
17
0
38
12
-2
22
0
-12
-20
33
12
0
1
2
23
1
0
8
-21
34
-15
0
44
-48
-26
-25
0
6
-59
46
-52
0
56
35
5
-48
0
6
-53
13
-16
0
1
6
-2
12
0
-7
-12
0
-18
0
6
30
-24
45
0
0
15
33
4
0
28
-37
-11
74
8
-75
-63
-1
38
0
-6
4
-9
-4
0
24
5
6
0
0
20
9
3
0
0
27
4
1
0
0
8
3
-1
0
0
-23
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
12
0
-8
0
0
3
-6
2
0
0
0
0
0
0
0
-4
0
0
0
0
-1
-3
0
0
0
1
1
3
0
0
0
0
2
0
0
-28
-24
0
0
0
-2
2
0
20
0
7
16
24
11
0
-2
-25
-1
5
0
-25
-8
33
10
0
13
-21
-5
-52
0
43
4
-17
-32
0
-1
-22
-12
-15
0
-65
57
-75
25
0
-19
20
2
-16
0
-12
16
-9
-1
0
-6
-11
-39
-1
0
0
0
-19
1
0
4
41
9
-32
0
0
-8
-7
0
0
-23
-15
6
6
-4
-42
24
28
4
0
33
-2
-11
4
0
-15
39
-1
-4
0
21
-13
-4
1
0
6
-7
1
1
0
6
1
0
0
0
0
0
-1
-2
0
0
0
0
0
0
9
-22
2
0
0
-2
9
1
-2
0
-1
2
1
0
0
0
1
2
0
0
-3
-6
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-16
3
10
-34
0
-8
8
10
83
0
36
25
-8
9
0
42
26
-33
-21
0
8
-36
54
27
0
4
-52
56
7
0
30
-32
-16
4
0
25
-16
-52
1
0
-57
6
60
-11
0
-24
25
-3
2
0
-15
6
-17
-6
0
-8
10
0
1
0
-1
23
34
-1
0
0
4
-16
0
0
-7
32
-24
0
3
46
0
16
0
0
11
27
27
-38
0
29
35
-21
-3
0
3
18
1
0
0
20
13
0
0
0
-4
-1
0
0
0
-1
0
-1
0
0
0
0
0
0
0
1
6
0
0
0
-3
-6
-2
-2
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
1
0
0
0
-3
0
0
0
0
-1
-8
6
47
0
26
-23
-3
3
0
-26
24
-14
-54
0
8
-20
11
16
0
15
-13
38
16
0
9
10
-19
-6
0
-19
9
16
-1
0
-1
27
12
1
0
45
-12
-18
2
0
-6
10
-18
1
0
0
-4
9
2
0
0
0
-2
0
0
1
-13
-3
11
0
0
-7
-4
1
0
-6
7
21
0
-48
30
1
-4
0
0
-27
0
9
0
0
50
-13
-1
7
0
0
6
0
0
0
13
2
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
4
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
16
24
0
31
27
16
-39
0
-9
-67
-11
69
0
9
-17
-9
21
0
9
37
-16
10
0
4
-16
30
1
0
-1
9
-4
-11
0
-6
16
16
1
0
45
42
-69
-64
0
-25
28
-4
-4
0
2
-3
-1
13
0
0
12
7
0
0
0
-28
1
4
0
0
0
0
0
0
3
-7
8
0
-9
-9
8
0
0
0
54
14
0
0
0
-23
4
-12
-11
0
11
0
-4
-3
0
-26
10
0
1
0
0
-28
2
0
0
-1
0
1
0
0
0
-1
0
0
0
0
-4
0
0
0
-2
10
3
1
0
-3
1
-6
1
0
0
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
-27
-15
-37
1
0
-14
-38
23
58
0
6
49
-24
25
0
24
-26
-18
-45
0
-10
-15
-3
13
0
-1
-1
9
3
0
-12
-9
16
6
0
22
-12
9
1
0
-49
-9
6
-44
0
22
47
-33
0
0
-4
8
-19
-3
0
-4
0
15
0
0
0
6
1
-10
0
0
-6
8
-2
0
-8
-8
15
0
19
15
-24
1
1
0
-32
-1
-5
-5
0
-31
-2
-22
20
0
11
47
7
0
0
12
-34
-1
-30
0
-2
17
3
1
0
41
-32
-13
2
0
-12
2
2
0
0
27
-4
-1
0
0
-8
18
1
0
0
-3
8
3
0
0
0
0
2
0
0
0
0
-2
0
0
4
8
-3
0
0
0
0
0
0
0
0
-1
1
0
0
-1
-3
-6
0
0
13
2
-6
10
0
28
-24
63
-56
0
10
-19
30
-24
0
-7
-1
86
22
0
22
-53
2
-8
0
-40
-3
-37
-11
0
49
13
-29
-16
0
14
10
-22
-4
0
0
1
0
1
0
0
-2
0
11
0
27
-14
-20
-25
0
-25
-26
-5
13
0
-4
-18
-12
5
0
1
32
-27
-26
0
8
9
11
-45
2
-6
-26
-16
-58
0
-1
25
-22
8
0
2
28
15
-26
0
-3
6
7
-1
0
37
-4
1
12
0
19
-24
3
1
0
-89
-8
4
1
0
0
-4
0
0
0
-11
20
0
1
0
-1
-58
11
0
0
9
11
0
-1
0
0
0
0
0
0
3
-8
1
0
0
0
-1
-1
0
0
0
2
0
0
0
0
-3
1
0
0
1
0
0
0
0
19
14
17
-2
0
-13
-37
-34
27
0
4
17
25
-28
0
19
-41
38
12
0
7
16
17
-2
0
-18
4
8
1
0
-16
16
-8
-2
0
15
9
1
0
0
4
-3
13
0
0
6
-6
10
17
0
30
3
-75
-3
0
-77
-4
18
6
0
44
33
6
33
0
7
-23
2
-1
0
21
-31
-26
7
0
-10
16
14
-9
0
3
-26
-3
1
0
9
0
-9
6
0
1
22
1
1
0
-19
-3
-1
6
0
0
3
0
0
0
1
8
-3
0
0
-4
1
0
0
0
4
4
0
0
0
-4
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
1
0
0
0
1
0
0
0
0
0
0
0
0
6
9
26
6
0
34
-6
-36
-14
0
27
-22
-6
-25
0
-32
18
-14
-9
0
-46
-52
33
17
0
-33
7
10
-8
0
0
25
19
-2
0
-3
-11
-8
-8
0
1
2
-8
23
0
2
0
23
-10
0
35
10
10
-1
0
10
-39
33
35
0
37
-9
11
-6
0
7
7
32
0
0
8
5
2
13
-36
29
7
8
12
0
-30
-39
30
-8
0
-7
-11
24
24
0
19
-9
4
0
0
6
-14
-3
-1
0
8
47
-8
0
0
10
1
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
9
1
0
0
0
-1
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
-3
1
0
0
43
19
-16
-32
0
12
-38
67
9
0
-86
74
-8
-9
0
-36
35
-26
12
0
-9
-16
18
-6
0
8
10
1
0
0
0
8
0
0
0
0
1
0
-1
0
-4
-16
16
1
0
-5
-3
-12
-31
0
-89
0
48
11
0
39
15
-27
-9
0
39
-13
-64
-12
0
0
1
-26
8
0
4
19
-24
8
6
7
-33
-5
6
0
-6
33
-13
1
0
-20
21
4
-18
0
1
0
7
1
0
21
9
-7
16
0
16
8
-2
0
0
0
0
1
0
0
-1
1
0
0
0
-6
10
0
0
0
8
6
0
1
0
-4
-8
3
-1
0
0
0
2
0
0
0
0
1
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
2
-3
-6
-28
0
15
66
-53
25
0
-4
6
27
-2
0
6
15
-21
4
0
15
-92
-19
28
0
28
8
3
18
0
-6
-7
9
2
0
-20
11
-4
0
0
10
-4
-48
28
0
11
0
12
-62
0
-24
11
44
23
0
-26
-4
69
4
0
11
-35
51
-14
0
-10
25
33
-16
0
-12
-19
3
-3
6
13
97
-17
21
0
9
1
17
-7
0
14
-28
-15
-10
0
6
57
8
-1
0
5
25
0
7
0
-2
1
1
-1
0
-17
9
-1
1
0
0
-1
0
0
0
3
1
0
0
0
0
8
7
-1
0
-2
8
0
0
0
0
1
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
-28
31
-7
-48
0
-116
29
3
26
0
51
-25
-9
-25
0
18
13
-6
3
0
-1
-35
2
-3
0
-1
0
-2
1
0
0
-1
4
0
0
19
-17
0
0
0
7
-19
-12
-26
0
40
-42
89
2
0
28
-39
7
-15
0
-10
-21
5
32
0
-1
1
-29
-21
0
0
-3
24
1
0
0
15
22
-7
-8
-11
88
3
7
0
-2
30
-24
3
0
9
35
4
-24
0
-13
-32
-3
2
0
16
-8
11
12
0
0
3
-3
0
0
1
0
0
0
0
-2
-2
0
0
0
6
-1
0
0
0
0
-15
0
1
0
0
0
1
0
0
0
0
-1
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
26
-31
1
-2
0
15
34
-61
17
0
-34
14
46
12
0
25
55
-28
-72
0
-11
-30
1
-24
0
-6
13
-12
0
0
10
1
0
1
0
0
11
-7
0
0
-21
-10
17
8
0
1
-25
-55
16
0
-7
6
32
28
0
0
22
6
-15
0
-25
-28
37
-2
0
0
-6
37
-20
0
0
-40
-19
12
5
0
-1
-15
-17
0
-27
9
-7
-8
0
-12
-13
18
-25
0
6
3
-18
7
0
-17
-18
4
-3
0
-3
-2
0
0
0
24
-12
3
0
0
0
0
0
0
0
1
-8
-1
0
0
0
4
-4
0
0
-1
-1
-3
-1
0
0
1
-1
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-41
-8
-47
-32
0
38
11
18
-57
0
-10
-9
32
-6
0
22
-3
-6
15
0
33
14
-27
22
0
0
0
-9
6
0
0
-12
6
0
0
-1
-8
0
0
0
-18
-11
-6
-37
0
3
-30
-17
34
0
-3
-33
21
28
0
7
11
14
9
0
0
-19
58
29
0
0
-9
10
7
0
1
20
-1
19
12
-21
22
-15
10
-20
13
0
22
27
13
11
11
28
7
20
-17
-12
-27
26
68
2
-16
-22
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
-11
-4
-8
-4
-3
-13
25
2
0
-3
17
-6
0
-2
20
4
-15
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
38
14
-13
-2
-1
53
-72
7
-4
1
-9
7
-6
0
1
0
3
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
18
-33
-26
-1
0
1
14
2
-3
0
-1
27
-2
0
0
-8
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
14
-16
-12
44
-34
2
10
3
-2
17
2
40
-22
-9
49
-16
-15
-7
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
11
58
-37
-20
0
-29
3
18
11
0
-6
2
13
-3
1
6
-2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
14
-38
13
20
-40
43
-27
14
-9
0
32
4
-7
0
-6
-38
11
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-8
-8
-7
0
-9
17
0
-9
0
2
-22
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
9
5
6
30
7
9
-20
-6
-3
24
70
43
28
15
-8
-29
45
-14
37
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
17
-11
-6
2
-1
0
26
-4
1
0
9
-22
1
0
-1
-9
22
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
29
21
2
-19
1
-19
15
-6
2
0
11
-2
-1
0
1
-8
-21
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
12
0
0
0
-1
2
0
0
0
7
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
27
-14
54
-27
-11
-48
28
7
1
1
25
4
1
21
4
13
1
-36
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
39
-20
9
0
0
29
-41
-12
-9
0
3
12
0
0
0
29
4
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
4
39
-3
-9
7
1
-29
-6
0
1
2
1
0
20
-1
-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
-3
2
0
0
-2
3
2
0
0
-2
8
1
0
0
-4
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
19
22
-23
16
16
-31
-12
79
-12
8
-16
13
0
-7
18
-26
22
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
10
-2
43
0
-1
12
13
-15
0
-2
0
7
9
4
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
-7
17
0
6
0
0
-15
9
1
4
0
0
10
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
29
-25
-11
-3
0
-10
-3
0
0
0
-6
-2
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-6
31
71
6
42
-5
-60
-10
7
-21
44
-17
18
18
0
30
107
-11
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-32
25
0
25
-8
-23
24
-4
-17
0
11
-1
0
0
0
12
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
6
0
0
2
0
9
2
0
0
0
1
-1
0
0
-3
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
3
0
0
14
-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
7
1
24
37
-28
5
29
-33
20
-5
2
12
-6
-7
1
-12
14
-19
-21
-1
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
-1
0
2
0
0
0
1
-2
0
0
-1
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
6
0
0
-2
1
-1
0
0
0
1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
-10
-1
9
-41
-22
21
36
15
-13
15
-10
-29
12
15
-7
-11
-24
3
25
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
39
-27
12
-10
-2
-16
-5
21
3
1
-4
19
3
0
-1
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
-2
1
0
0
0
0
16
7
0
0
0
1
-1
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-46
26
6
1
-24
25
-13
9
2
25
-2
26
1
1
-7
3
15
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-17
33
1
16
0
-2
-29
42
16
0
4
9
-3
0
-2
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-4
-20
26
-17
43
4
-27
-15
-2
0
11
18
4
0
0
1
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-31
16
-4
-11
-1
30
33
-9
0
0
3
-7
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
14
-5
90
1
1
0
52
-32
31
-2
7
-27
-16
7
2
-7
-7
1
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
35
-10
0
-7
5
13
7
3
0
-2
2
16
0
0
-19
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-29
15
-9
-1
19
-10
-5
-6
-1
1
13
-9
0
-2
-3
-3
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
23
13
3
0
-4
-25
-24
11
0
0
0
-1
0
0
1
-2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-5
-12
35
-2
-13
37
-26
-2
-3
-12
27
10
-2
0
22
0
10
2
-7
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
4
0
15
-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
7
-21
-12
4
0
9
-17
6
7
0
0
-2
1
0
0
0
10
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
8
-2
0
0
-2
0
3
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-13
16
-3
-1
-4
6
-17
15
10
-23
4
-19
21
2
1
36
33
-12
-13
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
-1
0
0
-2
0
0
-1
2
0
0
0
-1
-7
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
12
17
-16
0
0
-7
12
11
-1
0
-19
-15
2
0
-1
-6
-1
7
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
0
0
0
-1
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
22
14
18
8
-16
-6
24
-16
11
-7
10
32
26
0
3
39
-3
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
12
0
0
0
-7
0
0
0
0
-7
0
0
2
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-11
3
-2
-1
-4
3
15
6
0
0
-3
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
15
-2
1
4
1
7
-1
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
53
-3
-7
-6
-9
5
-10
12
-6
0
-8
-41
9
0
0
-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
3
-13
0
0
3
-2
-11
0
0
-3
4
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
-3
4
0
0
1
1
4
1
2
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-13
-4
0
0
-3
0
6
0
0
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
-4
9
-1
-21
-3
-19
13
26
-6
4
0
-16
-7
-7
0
-2
-9
-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
-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
-8
-8
21
4
0
-2
-4
4
8
9
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
18
6
0
0
1
-1
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
10
5
-6
-6
-32
-36
9
-1
6
-3
8
3
-11
-7
-3
1
18
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-3
0
0
0
1
0
0
0
2
2
0
0
1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
7
6
-4
4
17
17
4
3
0
2
0
0
0
0
-1
-4
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-3
1
1
2
1
-1
2
0
0
0
1
2
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
10
-6
-22
1
6
20
-1
3
-10
-7
30
9
3
0
-18
-2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
17
2
5
19
34
-36
7
34
-2
7
-7
-9
-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
3
2
6
0
-3
-17
3
4
-3
-11
-29
1
11
-22
-5
24
-6
-7
-2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
69
16
-9
79
-10
29
-50
40
49
0
57
-71
10
7
0
-17
4
-2
51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
-10
3
-13
1
-14
42
12
2
-2
6
8
-24
0
-13
45
10
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
-1
-13
-12
-1
-2
55
13
3
0
18
0
0
2
4
26
2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-4
4
-4
-4
2
-3
19
-12
-17
-39
-11
-5
-6
18
25
-15
-3
-30
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
63
-19
1
33
-11
27
-37
0
-20
0
-1
-79
4
-38
0
9
-28
-6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-13
-25
22
-1
-8
-9
3
11
10
4
29
7
7
0
1
16
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-16
2
-1
0
-13
3
-1
-4
0
0
0
-3
0
0
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
5
12
1
8
19
-1
5
-1
34
20
9
-7
46
-2
-46
18
11
10
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-32
6
-26
13
-2
-11
15
-18
-1
0
16
-7
22
4
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-44
13
-12
0
2
-35
-11
21
1
0
-2
0
2
0
17
47
-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
9
16
0
-18
12
0
-4
-1
0
1
-1
-2
0
-10
-12
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-2
-2
-2
14
-64
-12
13
-4
-1
16
50
-12
8
-22
-45
5
-11
-7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
20
-18
18
2
-79
-8
8
6
0
6
8
2
-1
6
3
7
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-40
8
1
-6
-30
10
28
0
0
-3
-6
-30
-4
0
-1
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
-4
2
2
0
28
-1
-3
0
-3
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-6
-9
6
-15
20
-22
13
21
53
-17
42
2
-50
-8
-50
-16
4
59
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-43
4
7
-12
-36
-2
-18
11
33
-27
46
-1
21
-10
-34
7
-18
-6
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
22
-4
-7
3
9
17
-10
-9
8
0
-3
0
-2
0
2
-4
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
3
0
0
7
9
0
8
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
-14
-57
0
39
37
-9
-50
7
70
-28
-14
68
-36
-6
-10
8
15
20
2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
9
-10
-59
54
-4
41
39
44
0
32
-13
9
-24
7
-18
-19
6
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
8
21
1
0
2
-7
4
0
0
0
0
-3
1
0
1
-6
4
1
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
-38
24
-15
-7
-39
-74
-18
24
24
34
15
13
-27
-65
2
49
-37
44
17
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-8
-17
49
3
16
-18
-11
-11
1
0
3
-15
9
0
2
2
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
16
0
0
3
-7
-8
1
0
2
3
-1
0
-2
1
-12
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-7
15
0
0
2
2
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
21
-51
-2
14
-14
17
-42
38
31
30
-25
-3
4
7
-8
-38
-32
-25
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
4
81
-6
-76
6
-37
-3
-10
21
-2
0
35
11
1
-2
8
-27
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
18
42
-5
14
-8
-6
9
-4
6
3
-13
-4
-11
0
6
-8
26
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
-34
-11
20
-24
-8
27
3
-10
1
0
0
-19
0
0
0
-8
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
6
11
27
58
10
-4
-2
62
58
5
-24
40
-8
-35
-25
-22
41
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
1
-1
-3
-3
6
-5
-25
4
-23
-37
-43
11
81
81
15
-32
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-2
21
24
-25
-1
37
9
5
-19
0
10
2
9
0
0
6
-6
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-18
16
7
7
-26
30
0
-1
0
15
4
-2
0
-1
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
13
-29
122
-1
-7
10
41
-5
-14
-54
2
1
9
-11
44
-41
-5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-9
9
1
-14
-21
-2
-14
-13
60
23
-2
-7
1
-28
-12
6
28
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
7
-12
0
0
18
7
-2
2
-1
0
13
4
3
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
-3
19
-18
0
1
1
-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
-33
-32
25
-10
65
-16
-7
-7
9
-58
0
42
-45
21
17
0
76
-13
-19
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-7
-18
-5
50
-6
16
-3
-49
-3
65
-57
79
-44
13
21
-53
37
-10
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
6
25
0
8
11
-13
-32
1
-4
15
8
0
0
28
19
18
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
-9
-8
0
0
12
0
12
0
0
1
0
1
0
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-21
11
-28
-9
-10
43
-42
48
-11
6
-12
7
-2
4
-4
0
-1
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-7
6
-18
-3
-39
-6
6
80
-3
-4
-7
-2
37
-18
-61
-21
-55
17
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
4
3
8
-7
9
8
8
-33
1
0
3
-24
7
-2
1
1
16
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-21
-11
-3
7
6
-10
-1
4
0
1
1
6
1
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
10
-41
1
26
-15
37
-69
-63
-23
-2
-1
36
-16
-16
-11
-70
36
-27
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-15
-7
42
-52
47
-18
-11
79
12
-29
40
98
-29
-66
-27
-27
22
-29
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-15
2
-10
0
38
9
-4
-4
-8
1
36
-12
2
0
-32
-7
-17
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
1
-12
0
2
-4
-8
-7
-2
0
-1
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-65
9
12
20
-19
-14
35
-6
-9
7
-10
-45
-29
13
-22
1
3
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
15
8
-12
-27
-1
19
-14
39
15
4
5
-37
49
42
-1
29
59
-6
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
39
-7
8
0
32
-37
21
8
-1
0
-4
0
0
0
0
10
-1
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
20
28
-3
22
12
-16
-3
-34
1
-6
-13
-7
2
-10
0
-4
3
25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-25
5
51
-25
13
0
22
-20
-28
-4
-22
-23
1
-24
4
28
36
-35
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-17
11
17
-9
28
8
7
-38
0
3
-11
-6
0
0
9
15
28
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
-3
0
0
0
8
0
-2
-2
0
0
0
2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
19
-21
-27
-27
-6
23
41
-62
7
-39
0
25
41
10
-46
1
-7
7
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-43
-45
-36
56
-11
17
-10
31
-1
-10
-21
4
60
-73
-16
-7
55
-25
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
7
25
10
-3
6
-9
2
32
8
-9
2
44
-15
13
22
4
-8
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
33
4
28
21
-3
9
10
-23
37
0
13
-22
15
-1
0
6
-11
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
24
-34
17
0
2
-11
-43
-5
-8
0
11
3
12
0
7
15
-13
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
8
-30
-2
-1
-26
8
1
-2
0
10
-1
7
-3
0
6
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
7
-5
-12
9
5
3
6
-9
-16
52
-6
12
13
57
11
3
6
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
39
-17
15
-9
-27
1
-12
-7
-6
-8
15
-10
-7
0
-4
11
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
34
-5
24
-9
17
-14
-27
-12
7
0
13
-21
2
0
7
2
-5
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-6
-12
-6
17
-55
32
11
7
0
-2
-11
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
4
8
27
12
20
2
29
14
79
13
65
-9
-7
-6
-5
-21
-15
46
-35
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
31
-2
37
-17
8
15
-5
4
1
-2
6
18
10
-4
0
4
1
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
-10
-16
-1
1
0
-10
-18
-2
0
3
6
-6
0
-2
-12
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-16
4
0
0
-8
0
3
0
0
0
-2
-1
-1
0
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
8
53
-10
25
-12
13
7
24
-3
-6
22
-12
48
-1
8
13
-51
-19
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
2
-25
-4
-19
-29
16
45
-6
1
0
18
-8
0
46
-20
12
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
16
13
14
-4
-1
-22
4
17
2
0
-28
25
9
0
-6
-35
30
-3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-28
-36
0
1
9
7
-24
-1
0
2
-2
1
0
-2
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
24
18
14
34
3
-28
29
-10
-5
-46
28
-11
11
-8
12
-24
32
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
14
21
0
-6
0
-6
0
1
-3
0
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
12
5
10
0
6
0
16
16
-2
4
0
0
0
0
0
-1
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
6
2
0
0
0
0
3
0
0
0
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
10
-13
37
19
5
3
18
-6
26
1
9
11
-7
11
-33
24
37
-25
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
3
-30
16
2
-1
-3
-1
-6
-2
4
0
1
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
6
27
6
-9
8
-20
-21
-3
-3
0
-1
-4
-1
0
3
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
8
7
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
29
6
4
10
13
7
60
-7
20
-2
-13
-89
2
17
-3
-22
4
-2
-7
-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
0
-9
3
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
-7
8
0
0
0
1
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
2
17
-34
-19
17
12
22
9
-7
7
-28
-24
13
4
13
-45
7
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
12
0
0
1
22
-1
1
1
-1
0
-1
0
1
0
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-52
-6
0
18
2
1
3
2
0
2
3
0
0
0
1
-17
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
19
7
0
0
0
1
0
0
0
0
1
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
30
39
-9
32
25
-3
-37
38
1
8
18
-12
26
6
25
6
11
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
10
-14
-1
11
0
-42
25
10
-12
-2
-47
11
20
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
1
-57
28
-1
0
0
9
4
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-18
27
1
0
0
-4
-2
0
0
0
1
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
7
33
15
6
10
-19
-24
13
38
-15
-2
-11
2
-1
-7
6
12
-13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-16
3
-1
-15
-8
4
-37
57
0
0
-13
9
-2
-1
0
-28
5
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-3
-4
0
-29
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
-1
1
0
0
3
4
-10
0
1
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-18
-26
-1
8
6
5
-1
-8
-1
-2
35
3
22
-19
4
-13
21
-10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
10
13
0
1
-4
21
0
0
-1
8
17
-7
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
-9
18
21
0
0
0
4
8
-2
2
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
1
-1
0
0
0
-1
-1
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
29
-5
-3
11
-21
-25
2
3
-3
-20
6
13
-1
-10
26
-53
18
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-16
23
0
0
-2
56
-28
6
-11
0
0
18
1
0
1
34
12
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
10
-3
0
1
-2
33
0
1
0
1
7
0
0
-1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
0
0
-1
-8
4
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
-19
13
-28
14
3
7
-18
33
-35
-2
2
8
10
1
-1
1
7
30
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
3
2
-1
0
10
6
-20
1
0
0
1
-2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
50
-35
3
-1
0
-9
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
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
40
28
16
17
10
-27
39
-32
20
32
-7
39
-9
1
0
24
-56
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
-7
-2
-4
0
16
-2
-3
0
0
0
1
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
22
-11
0
0
-15
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
-2
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
28
31
-11
-18
6
4
22
10
4
4
-8
21
-9
-1
6
12
11
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-36
2
0
0
-2
-19
0
-2
0
2
-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
-4
-6
6
1
-2
0
2
-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
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
45
33
29
-26
-18
28
25
46
21
11
10
-16
-26
0
30
8
20
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
33
2
0
-2
0
28
7
0
0
1
-9
-1
0
-6
-4
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
3
-8
2
0
-15
3
22
-3
0
1
-1
1
0
-1
-1
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-1
-1
0
0
2
1
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-6
-9
17
4
-30
26
39
16
-2
2
-1
1
-34
-1
11
-17
10
25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
17
-20
4
9
-1
2
-13
-11
0
-4
0
1
-1
0
4
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
2
0
1
12
1
4
2
5
3
2
4
0
2
-3
-7
-4
3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-10
-7
15
-5
1
-6
-52
13
8
0
50
-35
-13
-4
0
-68
-48
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
26
23
20
-27
33
-9
-45
-13
-4
78
8
2
0
-9
28
21
10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
-6
0
2
50
18
-6
-9
-7
0
-1
-7
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
-3
3
5
-1
6
-3
0
12
0
20
5
15
2
-34
12
3
-15
-6
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
11
-8
5
-2
-20
-39
-42
53
-7
0
60
-64
46
-3
-1
8
7
28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
44
2
-16
2
15
-53
21
7
1
-4
-6
32
0
0
-1
15
-12
2
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
-9
1
0
1
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
8
9
14
6
8
10
-2
55
-13
31
45
3
35
-13
-36
6
-9
9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-3
23
-42
22
-9
-25
-51
40
32
-28
-7
-50
9
-1
-58
-20
3
-13
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
11
12
48
-7
-3
29
-33
21
0
6
-26
4
1
0
-32
8
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
7
0
0
-2
1
-4
3
0
0
-1
4
-1
0
-7
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
16
8
7
-1
5
8
1
9
1
27
23
-13
-44
16
-15
-30
-4
7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
4
23
-42
-11
2
32
8
-30
-13
16
-21
11
-22
9
21
-1
1
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
61
6
-32
12
4
40
-14
9
-15
19
-21
15
11
0
8
0
-11
7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-16
2
-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
-6
-5
10
6
2
-77
21
15
16
16
-7
-4
-45
40
23
-32
22
28
-19
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
42
33
0
0
15
4
-8
-1
0
1
0
-3
1
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
12
-7
60
27
-37
-9
82
6
-21
0
-1
19
25
8
-1
0
25
-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
24
-7
0
0
8
-3
1
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
6
18
-54
20
-22
6
1
-11
35
-18
-57
29
43
-2
-25
1
-14
-24
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-29
14
23
-6
4
-16
-15
12
4
0
2
8
13
0
0
-1
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
20
0
17
-1
-2
-1
0
2
0
-3
-7
-4
9
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
1
1
0
1
0
0
0
3
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-16
4
11
6
-16
-19
-56
58
-2
-66
12
1
-31
-1
-7
-5
-23
43
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
109
31
-50
-25
-2
28
25
-21
27
2
-60
29
-3
1
0
-35
2
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
37
-16
11
0
13
16
-24
-16
6
0
9
37
-10
0
8
-50
21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-4
-10
6
-1
1
4
-4
2
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
-13
-6
19
49
-8
47
-43
-27
-33
51
-38
48
-9
-14
-27
-1
-16
-22
-15
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
12
-29
-34
-77
0
-49
-23
41
0
-1
42
-1
-11
-6
1
40
4
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
33
-20
-14
-2
-11
24
-29
8
-1
13
-25
15
-3
0
8
-47
6
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-23
16
-16
0
3
0
3
-7
0
0
4
2
0
0
0
-4
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
10
3
-14
23
-11
19
-12
-49
5
-16
-17
14
-26
32
26
26
-7
32
-45
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
17
8
-5
6
-18
28
2
21
6
16
-34
48
-5
-66
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-4
-2
49
8
16
-49
-41
37
12
-4
12
27
-4
0
-8
61
10
-2
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
0
-6
2
-15
-24
-4
1
0
0
3
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-2
20
38
12
-100
1
19
5
-27
19
24
-39
2
24
33
-30
2
-8
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
2
-5
5
1
8
3
0
10
-17
21
32
41
4
23
0
-6
-44
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-13
-5
-4
6
12
22
7
-24
-3
2
-9
-19
3
1
-2
7
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-19
4
0
0
1
-4
6
0
0
0
-1
1
-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
20
11
-12
-23
-10
-70
16
20
18
22
-22
-54
0
-7
46
-30
-23
76
11
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-21
-6
17
13
-17
16
-32
13
11
-12
63
-47
17
-71
-40
0
30
-1
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-11
0
32
1
-2
-4
10
-2
8
0
-9
3
1
0
-1
13
-26
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-1
0
0
0
8
-3
0
0
0
0
3
0
0
-15
11
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-59
6
5
7
21
-44
46
-4
-5
11
9
42
17
-33
-33
-19
-8
-27
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
8
12
-3
5
-59
19
1
-5
38
24
3
-12
-5
-13
64
22
-2
-13
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-32
73
-24
-8
-7
-1
-4
-6
-12
0
32
-30
4
0
-15
40
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
2
2
28
-1
-11
3
9
12
4
0
0
0
-1
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-33
-4
21
-34
-47
23
-4
-42
-1
13
-12
3
9
48
-3
-17
-30
28
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
6
-10
43
-26
-42
15
54
-25
26
-45
87
-7
-29
0
-18
-49
47
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
18
-11
3
9
14
-7
86
19
-16
9
-18
-27
17
-1
-9
11
13
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-15
-11
-7
2
16
28
38
-9
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
33
7
-28
-32
12
-4
17
12
-40
-18
26
-25
20
-20
6
17
-47
23
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-24
-40
9
-8
-47
-45
27
-37
19
-16
-22
0
13
-48
-7
-3
9
22
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
4
-8
-6
-4
20
-8
-17
-5
0
-6
1
-4
0
0
35
-4
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
9
-3
2
0
4
9
4
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
-2
-34
-19
15
3
41
5
0
-16
-16
-8
-40
83
-4
-1
-30
15
-55
67
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-28
-7
-14
10
55
8
-25
0
-83
-27
-5
-12
-28
71
-3
-37
-24
7
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
59
-9
-6
-21
35
-40
-9
-7
1
0
13
-23
-4
0
-3
-42
-10
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
19
-7
0
-1
-2
15
-10
0
0
-1
0
1
0
1
-2
-7
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
18
-20
16
-24
-7
15
-29
-47
-20
-28
94
-35
-7
-29
2
23
-5
40
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-45
-16
-31
5
-42
-39
-8
17
-28
0
-57
0
34
31
-36
-2
40
1
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
-4
0
0
10
2
2
0
0
24
0
-24
0
0
0
2
-5
0
0
24
69
16
0
0
8
18
61
0
0
-62
55
18
0
0
-2
0
-3
0
0
9
40
-29
0
0
-58
31
29
0
0
41
-1
-3
0
0
7
43
37
0
0
65
28
-1
0
0
4
11
-1
0
0
36
36
-22
0
0
13
-16
32
0
0
23
-11
5
0
0
45
-19
-6
0
0
-3
54
-8
0
0
23
11
2
0
0
53
-32
8
0
0
-32
7
58
0
0
7
-15
32
0
0
-42
4
61
0
0
7
4
44
0
0
-38
-23
47
0
0
-13
-1
42
0
0
22
29
-18
0
0
-4
8
19
0
0
8
14
-3
0
0
28
-7
24
9
10
18
-17
-46
0
0
-7
26
-16
0
0
6
12
15
0
0
15
14
36
0
0
0
3
18
0
0
51
-6
44
0
0
33
9
7
0
0
-5
-7
32
0
0
-12
11
25
0
0
23
-6
27
0
0
15
-8
-15
0
0
-31
42
28
0
0
8
-4
52
0
0
41
30
-6
0
0
-20
5
0
0
0
29
42
-3
0
0
-15
50
-33
0
0
18
42
-59
0
0
30
41
21
0
0
-2
-34
20
0
0
-10
-14
18
0
0
-3
-23
32
0
0
-5
-16
-6
0
0
29
-12
-15
0
0
-31
-18
20
0
0
-20
41
-9
0
0
10
30
27
0
0
0
-56
-16
0
0
-54
16
38
0
0
37
-2
-4
0
0
29
4
-16
0
0
9
-13
-46
-2
8
19
26
69
0
0
-11
5
14
0
0
5
-2
-25
0
0
-10
-4
4
0
0
12
21
21
0
0
-22
24
3
0
0
6
32
103
0
0
6
6
-24
0
0
30
1
1
0
0
43
-23
30
0
0
-24
27
-1
0
0
82
21
-25
0
0
-19
14
-10
0
0
-1
4
0
0
0
-26
33
-7
0
0
31
-3
-15
0
0
35
-6
-9
0
0
14
-5
60
0
0
2
0
7
0
0
-5
-15
-65
0
0
32
27
-5
0
0
4
3
-6
0
0
-21
-6
-24
0
0
-2
-40
-11
0
0
3
-8
37
0
0
-20
55
-28
0
0
2
-54
-35
0
0
0
64
-53
0
0
6
27
29
0
0
-16
-31
-39
0
0
-6
3
28
0
0
30
-36
-46
1
2
13
-22
5
0
0
-13
23
58
0
0
-25
-2
-15
0
0
40
21
-15
0
0
12
-6
-34
0
0
10
-11
32
0
0
55
23
-12
0
0
22
46
24
0
0
21
12
27
0
0
-5
46
-6
0
0
49
15
5
0
0
-3
-12
31
0
0
-3
15
-4
0
0
-6
15
-9
0
0
-4
15
-24
0
0
1
-85
9
0
0
25
41
-21
0
0
3
-1
-26
0
0
-45
-1
61
0
0
-15
-28
10
0
0
7
7
25
0
0
-47
-55
-6
0
0
-13
-2
0
0
0
-7
5
-1
0
0
-13
-42
28
0
0
2
-5
-5
0
0
-4
-1
-45
0
0
0
47
4
0
0
25
3
-40
0
0
25
3
17
0
0
-36
7
-6
0
0
52
-48
-20
-2
0
-18
-5
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
2
-28
-6
0
0
28
41
-36
0
0
-36
45
-9
0
0
6
26
-28
0
0
-5
-56
23
0
0
26
2
2
0
0
-20
-6
2
0
0
-5
28
-4
0
0
20
-19
20
0
0
100
8
31
0
0
8
21
1
0
0
-25
43
17
0
0
33
0
3
0
0
-39
10
0
0
0
31
25
-7
0
0
34
59
12
0
0
-22
35
42
0
0
9
-61
9
0
0
-28
-8
4
0
0
38
40
-4
0
0
9
0
20
0
0
-10
-24
-10
0
0
51
7
-1
0
0
-4
62
18
0
0
6
16
11
0
0
0
37
-11
0
0
-28
-19
9
0
0
10
-1
42
0
0
-7
42
-52
0
0
-66
-1
48
6
-8
-28
38
-32
0
0
20
-8
14
0
0
-11
-8
40
0
0
12
39
3
0
0
13
60
-43
0
0
27
-31
-12
0
0
37
-2
33
0
0
19
-25
7
0
0
-13
18
-46
0
0
28
60
-9
0
0
13
53
23
0
0
47
-53
-23
0
0
-6
-18
34
0
0
-3
-3
45
0
0
13
-18
-40
0
0
-35
-12
5
0
0
-31
-23
12
0
0
16
-38
-17
0
0
-16
-2
5
0
0
-9
-1
-6
0
0
4
-15
6
0
0
26
21
23
0
0
32
30
-12
0
0
-7
16
7
0
0
-15
44
-13
0
0
-6
-50
-19
0
0
15
-5
-9
0
0
0
-15
-1
0
0
5
-33
1
0
0
26
-7
18
0
0
7
-35
-8
0
0
11
14
16
28
-13
-36
67
-11
0
0
11
-55
3
0
0
-37
73
-11
0
0
1
-7
42
0
0
-17
42
55
0
0
1
-1
2
0
0
-6
19
-1
0
0
6
-2
-13
0
0
8
-49
-1
0
0
-3
2
25
0
0
36
-41
23
0
0
-13
40
-39
0
0
-10
-5
-22
0
0
21
13
-2
0
0
3
-7
0
0
0
-24
36
-47
0
0
-27
-23
13
0
0
-36
25
2
0
0
-13
27
11
0
0
16
-21
-1
0
0
-34
18
-2
0
0
9
-22
-6
0
0
0
-3
1
0
0
1
-7
0
0
0
40
-30
6
0
0
1
-1
1
0
0
0
-19
0
0
0
8
-40
8
0
0
-7
-3
3
0
0
33
43
7
0
0
0
22
-3
0
0
-19
43
9
9
-4
32
-77
12
0
0
3
-27
-12
0
0
7
-31
-24
0
0
-49
34
-24
0
0
-22
43
16
0
0
61
6
-3
0
0
-14
19
17
0
0
-6
-19
-2
0
0
-53
-28
7
0
0
52
-5
-47
0
0
36
3
27
0
0
20
-27
-12
0
0
37
-10
39
0
0
-1
-6
-4
0
0
-6
-3
32
0
0
2
-1
-8
0
0
-10
-14
-6
0
0
-17
18
6
0
0
18
-39
-8
0
0
-1
13
-2
0
0
54
50
1
0
0
0
-6
0
0
0
0
2
-1
0
0
1
0
0
0
0
0
-1
9
0
0
-1
-40
1
0
0
-1
38
3
0
0
0
1
-1
0
0
7
27
-5
0
0
28
-70
-12
0
0
-20
-22
0
0
0
-9
23
0
-3
-18
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
34
38
0
0
13
16
-11
0
0
57
8
59
0
0
27
-15
-16
0
0
-36
7
-18
0
0
-10
33
1
0
0
-5
10
-4
0
0
-3
28
26
0
0
87
-18
-29
0
0
19
-5
13
0
0
-8
51
-2
0
0
43
-7
16
0
0
27
18
-32
0
0
16
9
-17
0
0
32
1
-1
0
0
17
22
14
0
0
5
2
7
0
0
8
-3
12
0
0
10
29
0
0
0
5
2
-12
0
0
9
6
36
0
0
51
-13
-12
0
0
61
-3
10
0
0
-1
-45
-17
0
0
37
-3
30
0
0
-54
0
45
0
0
-33
-45
27
0
0
-60
-13
-10
0
0
28
-11
-5
0
0
-46
20
-1
0
0
3
5
7
-1
1
11
0
-41
0
0
-6
-1
1
0
0
15
38
21
0
0
-3
51
-2
0
0
17
-3
28
0
0
22
-14
35
0
0
44
12
-1
0
0
-19
-40
11
0
0
-9
17
-31
0
0
15
0
-7
0
0
4
37
-4
0
0
-29
-41
32
0
0
7
8
-34
0
0
8
32
1
0
0
8
-12
33
0
0
-14
60
5
0
0
-29
24
-2
0
0
-10
-9
-13
0
0
-6
-7
15
0
0
-29
-6
23
0
0
-4
0
-14
0
0
1
-30
-12
0
0
28
-8
5
0
0
19
-31
-19
0
0
1
-14
-26
0
0
8
25
30
0
0
49
1
34
0
0
-7
-18
26
0
0
10
-15
-14
0
0
11
1
-21
0
0
-47
1
41
0
0
9
16
6
3
0
-22
-16
-40
0
0
-9
16
19
0
0
8
19
-11
0
0
-13
1
-2
0
0
-10
15
22
0
0
22
-23
-8
0
0
16
2
15
0
0
-11
9
3
0
0
12
41
1
0
0
-45
26
0
0
0
-27
0
0
0
0
-2
-19
2
0
0
2
1
0
0
0
-5
8
0
0
0
0
-19
1
0
0
-43
40
13
0
0
36
2
-15
0
0
-2
-4
9
0
0
-7
8
-2
0
0
-8
7
10
0
0
19
-22
-8
0
0
-5
-35
-31
0
0
-32
8
3
0
0
9
-10
-24
0
0
6
-1
35
0
0
5
8
7
0
0
1
-29
-34
0
0
9
9
14
0
0
72
-12
-104
0
0
56
25
-11
0
0
6
-16
-16
0
0
-15
-20
49
14
1
-36
-31
-32
0
0
-37
-26
-41
0
0
-30
-21
-37
0
0
-22
29
12
0
0
27
-21
0
0
0
-15
2
33
0
0
-23
2
-4
0
0
0
29
0
0
0
13
-14
7
0
0
0
-18
0
0
0
13
-15
-2
0
0
-25
-21
-8
0
0
-42
1
33
0
0
-28
4
-1
0
0
0
18
0
0
0
-3
-68
1
0
0
10
11
18
0
0
9
7
0
0
0
10
-1
-14
0
0
-9
25
-20
0
0
6
-4
13
0
0
6
-42
39
0
0
4
-2
-12
0
0
26
-19
-54
0
0
24
-9
26
0
0
-10
-13
-23
0
0
44
-10
34
0
0
-36
-22
40
0
0
15
20
-15
0
0
-47
41
36
0
0
30
-58
32
0
0
41
-8
-34
-12
-11
-35
-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
0
-8
17
40
0
0
25
-63
-42
0
0
45
-52
-28
0
0
-20
-61
43
0
0
37
-22
16
0
0
44
-16
1
0
0
16
-25
0
0
0
35
19
-29
0
0
-33
-12
2
0
0
-8
-35
2
0
0
13
-19
-11
0
0
-14
41
-15
0
0
22
-50
4
0
0
-7
1
-9
0
0
14
-24
2
0
0
41
-48
-17
0
0
0
3
-10
0
0
16
-8
31
0
0
-2
24
-22
0
0
-3
-30
-7
0
0
-59
7
-3
0
0
-1
-40
-36
0
0
-10
13
-27
0
0
-24
16
13
0
0
3
6
3
0
0
1
6
-2
0
0
-8
5
4
0
0
1
20
11
0
0
41
-4
15
0
0
8
-8
-11
0
0
27
6
-15
3
1
-20
-4
27
0
0
-12
28
47
0
0
17
-43
-31
0
0
-22
-37
-8
0
0
-8
10
-29
0
0
6
5
-8
0
0
37
-46
1
0
0
0
38
0
0
0
-34
20
-11
0
0
14
-35
9
0
0
-45
-17
34
0
0
13
16
12
0
0
-30
33
-15
0
0
3
3
1
0
0
10
19
2
0
0
1
-20
2
0
0
5
7
2
0
0
-17
-40
47
0
0
33
-38
-3
0
0
0
70
70
0
0
-3
-38
53
0
0
-20
29
-3
0
0
3
0
-45
0
0
-3
-17
19
0
0
-70
27
13
0
0
2
6
-13
0
0
-6
-2
0
0
0
6
-26
32
0
0
16
20
-18
0
0
16
22
-13
0
0
36
18
40
0
0
1
10
19
-1
2
-32
-28
51
0
0
17
-1
24
0
0
-6
13
-6
0
0
10
10
3
0
0
-43
46
12
0
0
-19
6
3
0
0
-9
0
0
0
0
9
-24
-2
0
0
-17
12
3
0
0
13
7
0
0
0
1
4
0
0
0
6
-61
6
0
0
14
-12
4
0
0
1
-9
0
0
0
0
-10
0
0
0
2
7
1
0
0
-14
-27
-1
0
0
-5
11
-23
0
0
-48
8
-55
0
0
4
0
-63
0
0
6
-22
5
0
0
-7
-8
-11
0
0
3
-24
-38
0
0
-53
-33
6
0
0
-24
-8
-6
0
0
14
15
-7
0
0
2
6
30
0
0
32
-3
2
0
0
15
16
4
0
0
-36
9
9
0
0
-18
-24
0
0
0
-32
9
-36
10
-5
-31
-27
-18
0
0
-16
8
4
0
0
-15
-8
-7
0
0
-23
27
-23
0
0
-8
1
-2
0
0
-3
-9
-3
0
0
-9
-16
6
0
0
-10
6
0
0
0
-50
18
-17
0
0
-4
21
1
0
0
0
0
0
0
0
-2
15
2
0
0
-38
-35
35
0
0
0
1
0
0
0
0
1
0
0
0
4
0
2
0
0
-1
-11
3
0
0
14
-62
-8
0
0
38
-27
-1
0
0
0
54
-51
0
0
4
-4
-45
0
0
13
17
-3
0
0
2
-35
15
0
0
-50
36
-37
0
0
-17
7
-18
0
0
9
-9
-5
0
0
5
1
-20
0
0
23
-19
-61
0
0
-5
-8
9
0
0
-3
-4
67
0
0
26
-4
-4
0
0
-6
22
15
-17
-3
-62
-54
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
19
3
0
0
5
0
17
0
0
33
73
22
0
0
40
43
-4
0
0
14
0
6
0
0
33
28
21
0
0
-17
-15
8
0
0
11
-23
32
0
0
22
67
-22
0
0
-13
0
-8
0
0
7
49
9
0
0
13
51
51
0
0
58
-11
38
0
0
0
0
7
0
0
56
-14
-35
0
0
30
41
8
0
0
56
9
27
0
0
-21
41
56
0
0
42
-9
6
0
0
14
-5
42
0
0
-55
28
12
0
0
-19
17
26
0
0
29
-43
22
0
0
11
53
-13
0
0
69
10
47
0
0
-14
33
37
0
0
-51
10
49
0
0
23
-30
-21
0
0
-44
-18
-38
0
0
-8
20
8
0
0
-22
-13
-13
11
11
-25
1
62
0
0
14
17
14
0
0
18
28
34
0
0
-1
32
-3
0
0
11
54
17
0
0
-44
-31
-6
0
0
9
58
1
0
0
-13
31
22
0
0
16
-31
44
0
0
31
-7
32
0
0
34
41
-3
0
0
-39
19
9
0
0
27
-2
-19
0
0
-10
-1
-14
0
0
30
0
-12
0
0
22
-12
21
0
0
41
-10
45
0
0
32
16
-23
0
0
-37
36
21
0
0
2
46
13
0
0
-8
-1
-23
0
0
-25
10
-7
0
0
5
-23
9
0
0
-10
9
-2
0
0
26
-7
46
0
0
-29
-13
1
0
0
16
28
-1
0
0
-19
13
-14
0
0
37
36
6
0
0
-23
-11
5
0
0
-4
-17
55
0
0
39
-19
3
8
11
1
-36
16
0
0
29
6
15
0
0
10
30
-16
0
0
46
32
-18
0
0
17
40
-63
0
0
-18
-3
-3
0
0
-27
4
5
0
0
33
-28
-1
0
0
-16
60
19
0
0
25
11
-17
0
0
-18
-9
52
0
0
-11
15
-9
0
0
4
49
-39
0
0
-16
-7
-5
0
0
-1
19
-22
0
0
-6
40
-5
0
0
25
16
23
0
0
38
25
-5
0
0
21
-36
32
0
0
9
3
-8
0
0
35
2
-14
0
0
-42
-2
22
0
0
-46
10
-5
0
0
2
-33
10
0
0
30
0
64
0
0
-6
17
28
0
0
25
-34
2
0
0
-2
-19
-33
0
0
24
-7
6
0
0
28
13
12
0
0
17
-9
13
0
0
68
-20
-19
17
10
-50
-50
-1
0
0
12
-3
19
0
0
0
3
23
0
0
5
18
5
0
0
-10
-7
19
0
0
-62
47
48
0
0
3
4
-23
0
0
-33
-13
8
0
0
-16
7
-29
0
0
2
2
33
0
0
19
31
-29
0
0
79
-81
29
0
0
34
72
-20
0
0
18
22
-2
0
0
-4
4
-4
0
0
13
-6
-10
0
0
39
-80
-32
0
0
57
-7
15
0
0
-53
89
36
0
0
2
-2
-28
0
0
17
7
-8
0
0
-1
-1
-17
0
0
-3
-21
9
0
0
2
-23
-7
0
0
-13
-21
57
0
0
10
3
1
0
0
-18
16
-11
0
0
8
-22
-7
0
0
29
12
50
0
0
0
-29
5
0
0
4
-9
-29
0
0
-24
-19
-20
-3
15
-26
5
73
0
0
11
7
7
0
0
26
14
-13
0
0
15
-23
-10
0
0
-19
20
23
0
0
1
35
8
0
0
13
-14
28
0
0
24
-10
0
0
0
9
3
39
0
0
5
32
-4
0
0
5
-10
20
0
0
10
0
-5
0
0
-20
9
3
0
0
-4
-12
0
0
0
0
14
-3
0
0
-3
14
13
0
0
6
19
6
0
0
-4
-28
-1
0
0
28
8
11
0
0
-9
-4
-1
0
0
14
-17
-1
0
0
19
22
1
0
0
22
21
12
0
0
6
-5
-1
0
0
8
-47
-7
0
0
-5
-4
1
0
0
-1
-74
-14
0
0
0
18
8
0
0
-34
-31
-13
0
0
-33
93
1
0
0
8
-17
2
0
0
-3
0
-1
1
5
-29
18
2
0
0
7
19
36
0
0
-13
14
-8
0
0
-93
53
34
0
0
37
17
4
0
0
56
-46
25
0
0
27
-20
-1
0
0
-10
-2
-1
0
0
-3
-40
-2
0
0
43
5
-14
0
0
37
-13
24
0
0
-6
-1
-8
0
0
-21
-26
12
0
0
-7
-3
-1
0
0
6
8
-2
0
0
4
13
0
0
0
-15
66
3
0
0
-39
-1
-28
0
0
35
5
27
0
0
-2
17
-2
0
0
36
-15
-1
0
0
4
-2
0
0
0
-11
-42
0
0
0
0
2
-1
0
0
-14
-38
0
0
0
-11
-4
-6
0
0
12
-24
13
0
0
-28
37
-28
0
0
28
-8
-13
0
0
22
-1
-7
0
0
-27
10
-37
0
0
-2
65
-2
5
0
-6
-30
3
0
0
11
7
29
0
0
56
-33
-46
0
0
-22
17
-10
0
0
44
15
-36
0
0
22
4
3
0
0
-9
6
-6
0
0
8
11
-2
0
0
10
25
-13
0
0
19
4
1
0
0
-22
11
-3
0
0
0
-7
9
0
0
12
-12
0
0
0
0
10
2
0
0
0
6
0
0
0
0
-8
0
0
0
-19
9
-2
0
0
17
21
-6
0
0
-41
1
-2
0
0
4
-2
0
0
0
-32
7
0
0
0
6
3
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
-12
-2
0
0
7
-14
0
0
0
3
8
0
0
0
-1
-4
-7
0
0
-8
4
7
0
0
-5
-32
2
0
0
-6
-3
2
0
0
-7
-17
1
30
-15
17
-29
-3
0
0
8
-7
47
0
0
1
-4
10
0
0
-25
25
-54
0
0
-9
36
2
0
0
-15
-7
23
0
0
44
21
-26
0
0
-7
44
4
0
0
-7
17
-32
0
0
-4
28
6
0
0
-13
-6
-14
0
0
-7
11
-9
0
0
32
-33
6
0
0
-11
10
6
0
0
1
-6
0
0
0
0
30
-13
0
0
-21
-7
-8
0
0
-24
17
-12
0
0
-11
-22
7
0
0
-8
2
1
0
0
78
13
0
0
0
0
4
-11
0
0
0
5
0
0
0
-1
11
0
0
0
8
36
-1
0
0
-4
8
11
0
0
-21
-18
16
0
0
-3
23
2
0
0
10
5
7
0
0
-27
22
26
0
0
-8
33
-34
0
0
21
-10
6
2
2
-11
-5
-12
0
0
-3
12
-6
0
0
42
14
-6
0
0
47
15
12
0
0
-26
-18
31
0
0
-17
-29
6
0
0
59
-13
-17
0
0
-1
9
2
0
0
14
15
-1
0
0
-10
11
-17
0
0
40
16
18
0
0
52
-68
12
0
0
44
-57
-5
0
0
37
-34
24
0
0
2
0
27
0
0
28
3
11
0
0
-36
57
-52
0
0
-32
16
7
0
0
-57
-11
-46
0
0
46
-3
1
0
0
-36
-20
16
0
0
4
21
0
0
0
-1
46
12
0
0
-2
18
8
0
0
24
-28
13
0
0
8
65
-8
0
0
31
-21
-6
0
0
-3
3
7
0
0
-2
9
-18
0
0
-19
42
11
0
0
1
20
-22
0
0
-3
23
-7
10
5
-23
-27
8
0
0
12
49
20
0
0
3
13
10
0
0
-6
-3
10
0
0
12
-6
-23
0
0
-10
47
9
0
0
49
-27
33
0
0
5
6
0
0
0
-50
26
-3
0
0
3
-17
15
0
0
0
-43
12
0
0
37
-16
-13
0
0
14
9
7
0
0
0
22
-4
0
0
-4
-3
-3
0
0
-8
-17
0
0
0
-8
35
32
0
0
39
18
-10
0
0
-1
29
-9
0
0
-24
-11
-3
0
0
43
-19
0
0
0
10
-1
1
0
0
-1
6
-4
0
0
-2
-28
-2
0
0
18
-35
-8
0
0
-18
-17
-29
0
0
5
33
6
0
0
0
37
-8
0
0
6
41
-20
0
0
23
2
-6
0
0
3
0
-4
0
0
0
10
16
-1
-15
26
-13
7
0
0
16
-43
19
0
0
-12
12
10
0
0
-37
8
20
0
0
-8
-8
23
0
0
-31
6
7
0
0
43
11
-6
0
0
-7
-1
0
0
0
25
22
6
0
0
-5
-28
7
0
0
-9
-16
4
0
0
-23
24
-1
0
0
36
-21
10
0
0
3
13
-1
0
0
-1
0
-1
0
0
-3
2
0
0
0
-33
-7
0
0
0
-10
-4
1
0
0
15
22
7
0
0
-1
9
6
0
0
-4
-2
-7
0
0
23
-27
-6
0
0
-2
-3
-28
0
0
0
1
-4
0
0
-12
21
9
0
0
0
36
-18
0
0
21
-4
2
0
0
0
8
1
0
0
-1
-24
-3
0
0
1
-15
1
0
0
2
6
0
0
0
18
8
0
8
-10
20
-35
-27
0
0
40
1
20
0
0
29
8
-62
0
0
0
-9
4
0
0
33
-2
11
0
0
3
79
-10
0
0
-24
-27
21
0
0
-6
-15
-7
0
0
14
44
9
0
0
12
7
-4
0
0
32
2
26
0
0
35
6
-7
0
0
-2
18
4
0
0
0
3
0
0
0
-2
8
0
0
0
-3
15
7
0
0
-12
-32
-21
0
0
-4
55
0
0
0
5
-59
-10
0
0
-9
-36
0
0
0
-33
-9
4
0
0
17
-20
1
0
0
0
6
-6
0
0
-3
-11
3
0
0
-6
9
2
0
0
15
5
1
0
0
-9
15
-3
0
0
1
-11
-6
0
0
-53
17
11
0
0
-2
-40
1
0
0
-1
9
-6
0
0
-15
-56
-1
13
10
-53
-46
-39
0
0
19
21
20
0
0
10
5
35
0
0
-7
27
-9
0
0
-34
-19
4
0
0
7
-2
4
0
0
-43
0
1
0
0
11
-10
6
0
0
-12
24
0
0
0
-7
-10
0
0
0
-11
11
-1
0
0
13
11
2
0
0
-40
4
12
0
0
0
-1
1
0
0
0
0
0
0
0
0
-5
4
0
0
0
9
0
0
0
3
-41
-18
0
0
61
-20
28
0
0
2
-7
-7
0
0
17
22
1
0
0
-43
4
-3
0
0
2
-6
0
0
0
0
11
0
0
0
-24
-18
-22
0
0
13
40
0
0
0
-3
0
6
0
0
0
-8
1
0
0
-3
9
-9
0
0
4
-28
0
0
0
-3
-7
1
0
0
28
6
-1
11
2
4
22
-7
0
0
-31
-8
26
0
0
-7
-41
3
0
0
31
-15
34
0
0
-25
-5
-16
0
0
-8
4
-20
0
0
28
48
0
0
0
-3
-2
1
0
0
-30
24
-2
0
0
52
-15
13
0
0
-18
-25
2
0
0
4
-21
0
0
0
-91
-43
2
0
0
0
32
0
0
0
-2
11
0
0
0
1
6
0
0
0
23
0
0
0
0
-21
-11
0
0
0
17
-1
-1
0
0
10
-3
1
0
0
-50
14
6
0
0
0
-8
4
0
0
1
0
-6
0
0
0
1
0
0
0
3
2
0
0
0
8
24
-12
0
0
8
-20
1
0
0
-2
-4
3
0
0
-11
-21
0
0
0
-7
23
-3
0
0
7
-23
-1
0
0
11
12
-2
-12
8
7
-6
4
0
0
30
45
-18
0
0
11
-10
11
0
0
0
-12
-65
0
0
-19
34
68
0
0
3
52
-2
0
0
18
20
-4
0
0
4
1
-2
0
0
-7
-37
-2
0
0
-4
8
-2
0
0
16
2
-18
0
0
-25
32
4
0
0
-13
2
15
0
0
0
-1
0
0
0
0
2
0
0
0
-1
8
0
0
0
14
-9
0
0
0
14
-15
-6
0
0
-21
1
0
0
0
-4
7
0
0
0
-7
21
-2
0
0
-16
0
-1
0
0
-1
-1
-6
0
0
0
-7
0
0
0
-8
-29
-4
0
0
-1
10
8
0
0
13
1
2
0
0
-2
-11
0
0
0
-2
-3
3
0
0
6
-39
0
0
0
2
21
0
0
0
-18
6
-1
-9
-9
21
-18
22
0
0
-12
2
-28
0
0
53
33
-15
0
0
-24
1
43
0
0
30
14
12
0
0
-17
-40
27
0
0
33
-35
-7
0
0
-10
6
-6
0
0
-2
33
-11
0
0
-17
6
9
0
0
35
-49
2
0
0
11
12
-3
0
0
1
-20
-2
0
0
-8
-42
0
0
0
-3
0
0
0
0
0
0
-8
0
0
16
-19
-2
0
0
3
-26
33
0
0
-20
-23
10
0
0
9
32
-4
0
0
-30
82
-1
0
0
-3
23
-8
0
0
-6
-1
-6
0
0
-1
1
1
0
0
-23
-83
-16
0
0
1
10
-1
0
0
-28
4
-1
0
0
0
9
1
0
0
15
-20
-1
0
0
47
2
2
0
0
-3
-24
0
0
0
-21
-27
15
4
33
4
-48
-7
0
0
7
22
-3
0
0
3
-9
1
0
0
1
-64
14
0
0
17
74
-10
0
0
-4
42
-4
0
0
42
-38
-9
0
0
-26
8
0
0
0
35
-52
3
0
0
-18
13
4
0
0
-17
-21
2
0
0
-21
1
9
0
0
-52
-12
-15
0
0
3
48
-13
0
0
29
-4
0
0
0
-34
0
3
0
0
-33
13
30
0
0
16
5
10
0
0
22
28
-3
0
0
11
1
9
0
0
1
4
7
0
0
14
7
8
0
0
10
27
12
0
0
-12
32
-21
0
0
-3
14
9
0
0
9
10
-27
0
0
30
-1
-33
0
0
10
9
-14
0
0
-12
24
-28
0
0
-75
12
10
0
0
-21
-11
17
0
0
-21
-6
-7
8
1
-32
12
15
0
0
2
16
-7
0
0
10
57
-27
0
0
5
-14
9
0
0
27
-16
49
0
0
54
-54
-3
0
0
-13
63
39
0
0
-7
-5
0
0
0
-2
13
-29
0
0
-39
-7
1
0
0
31
-21
-3
0
0
-3
30
19
0
0
19
31
16
0
0
-65
19
-7
0
0
-3
-7
-36
0
0
-25
81
-30
0
0
13
-37
-22
0
0
6
3
5
0
0
5
10
0
0
0
5
1
27
0
0
-2
4
-19
0
0
-8
-12
14
0
0
-4
16
-4
0
0
4
4
33
0
0
-27
26
21
0
0
-9
-21
9
0
0
-3
14
-3
0
0
-7
-16
16
0
0
-29
16
-15
0
0
1
-26
-5
0
0
-15
-38
-7
0
0
11
-44
18
-6
-2
-38
-9
66
0
0
20
35
-20
0
0
-22
-12
23
0
0
-6
0
-4
0
0
9
7
8
0
0
3
-33
1
0
0
-45
3
-2
0
0
0
-1
-1
0
0
17
-18
3
0
0
0
-6
0
0
0
-7
6
0
0
0
-2
9
-2
0
0
-6
-3
3
0
0
3
-7
0
0
0
-4
-1
1
0
0
6
-23
0
0
0
18
6
-12
0
0
9
5
2
0
0
3
14
6
0
0
1
18
30
0
0
-9
-4
1
0
0
-37
-13
2
0
0
7
-42
-14
0
0
-9
-6
-24
0
0
-61
4
17
0
0
31
-32
-51
0
0
-12
-32
46
0
0
-24
-3
-18
0
0
8
24
-6
0
0
-20
9
-23
0
0
-50
4
22
0
0
-66
10
-15
-3
5
38
-9
-3
0
0
5
-20
-3
0
0
10
30
11
0
0
22
6
-58
0
0
-15
21
-6
0
0
-2
16
-4
0
0
9
1
-2
0
0
-6
4
2
0
0
66
0
0
0
0
-21
17
0
0
0
10
1
-1
0
0
3
-25
7
0
0
0
-10
6
0
0
-2
6
-2
0
0
2
-24
0
0
0
-2
11
1
0
0
-12
44
35
0
0
-11
-26
1
0
0
-24
18
-4
0
0
-32
-9
14
0
0
8
-20
-26
0
0
-8
18
-13
0
0
-61
-30
-10
0
0
39
-36
-23
0
0
-56
-23
34
0
0
-36
-30
-6
0
0
7
-24
-57
0
0
15
49
-16
0
0
-29
27
3
0
0
68
4
2
0
0
-61
-13
55
0
0
-46
-11
-18
-3
-14
-35
-3
-43
0
0
-13
39
34
0
0
32
-23
-12
0
0
6
-32
-12
0
0
-9
-19
5
0
0
27
-7
1
0
0
4
-8
-1
0
0
2
0
0
0
0
4
9
-1
0
0
4
-17
0
0
0
17
1
0
0
0
-1
-14
-2
0
0
-20
-14
8
0
0
17
3
0
0
0
0
-21
0
0
0
-4
2
3
0
0
65
9
2
0
0
-10
-1
9
0
0
-8
-1
-5
0
0
-39
23
15
0
0
-37
7
24
0
0
-20
-16
-47
0
0
25
8
34
0
0
-38
-14
-21
0
0
71
36
-26
0
0
-14
28
-14
0
0
-27
-37
4
0
0
0
-10
43
0
0
63
-3
31
0
0
-5
37
32
0
0
-2
-2
-2
0
0
-18
23
-30
0
-3
4
-2
-24
0
0
2
-19
4
0
0
16
7
14
0
0
58
15
-27
0
0
-50
10
22
0
0
11
-13
0
0
0
-9
0
-3
0
0
-2
2
0
0
0
5
10
0
0
0
41
-3
-1
0
0
-38
39
0
0
0
-1
21
4
0
0
-20
41
0
0
0
0
-24
-1
0
0
0
0
0
0
0
0
-13
1
0
0
-40
-27
27
0
0
-13
1
-8
0
0
-11
2
5
0
0
-16
-39
-61
0
0
-41
-13
2
0
0
-20
-80
39
0
0
41
0
51
0
0
-38
115
-9
0
0
33
26
-83
0
0
20
11
-6
0
0
44
5
18
0
0
-24
-12
3
0
0
16
11
4
0
0
28
-13
-11
0
0
27
41
-8
0
0
19
15
23
-2
7
30
-30
-4
0
0
26
53
5
0
0
17
-1
-36
0
0
6
23
0
0
0
43
-96
3
0
0
-1
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
24
-1
1
0
0
0
16
0
0
0
-1
0
0
0
0
1
4
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-10
-11
3
0
0
-5
-17
7
0
0
24
-24
-51
0
0
-40
-9
-3
0
0
6
-23
48
0
0
-8
52
27
0
0
9
-48
-44
0
0
-18
1
-52
0
0
3
5
17
0
0
-64
-10
12
0
0
4
15
9
0
0
-8
-32
-38
0
0
-34
-40
-56
0
0
6
2
-36
0
0
1
3
-10
0
0
-7
-11
19
-22
5
8
-46
13
0
0
-20
-15
25
0
0
-1
-10
-21
0
0
34
-21
19
0
0
13
27
2
0
0
2
3
1
0
0
0
-2
1
0
0
0
1
0
0
0
6
6
0
0
0
-4
-9
0
0
0
0
0
0
0
0
-27
-12
0
0
0
-26
48
1
0
0
0
-7
0
0
0
8
0
0
0
0
-2
-4
0
0
0
-5
-15
-3
0
0
-2
-6
17
0
0
19
-25
-39
0
0
-23
-15
9
0
0
-12
-1
-29
0
0
23
-12
15
0
0
35
-30
-106
0
0
15
-82
11
0
0
-7
-21
-45
0
0
-20
-16
51
0
0
-48
36
-44
0
0
40
27
-30
0
0
41
23
-56
0
0
-9
-9
38
0
0
2
5
-28
0
0
-11
-17
-50
-1
-4
-53
55
23
0
0
-17
26
14
0
0
-20
-26
35
0
0
8
5
14
0
0
-13
9
-11
0
0
-7
-13
-16
0
0
-27
3
71
0
0
21
9
1
0
0
-5
33
11
0
0
20
8
-1
0
0
11
-7
8
0
0
12
-12
-11
0
0
22
-50
6
0
0
51
18
-12
0
0
2
-5
8
0
0
0
4
4
0
0
14
46
0
0
0
25
-25
22
0
0
36
3
-38
0
0
1
4
42
0
0
46
-14
19
0
0
55
-4
0
0
0
-44
31
3
0
0
41
-31
-14
0
0
-28
-13
-8
0
0
13
7
-1
0
0
11
18
15
0
0
5
18
17
0
0
-11
2
7
0
0
-28
-9
11
0
0
-16
-14
40
0
0
-4
-1
46
5
2
-28
7
-5
0
0
-4
-18
-8
0
0
15
39
6
0
0
21
9
-10
0
0
-39
6
28
0
0
91
-18
-1
0
0
-23
-16
14
0
0
-9
15
0
0
0
-66
20
11
0
0
12
9
-20
0
0
34
20
-10
0
0
43
-5
-2
0
0
6
-3
-5
0
0
-16
3
2
0
0
2
-4
6
0
0
-7
22
2
0
0
4
-21
-40
0
0
17
22
9
0
0
-8
-5
10
0
0
15
-27
46
0
0
0
4
-59
0
0
-11
11
1
0
0
-10
-2
26
0
0
26
-21
-23
0
0
-27
12
-3
0
0
4
9
21
0
0
-5
24
26
0
0
-1
-1
15
0
0
-38
17
-13
0
0
16
-2
4
0
0
35
-27
14
0
0
44
24
21
-11
-3
15
12
38
0
0
6
25
8
0
0
26
-7
-7
0
0
0
59
18
0
0
-83
17
-1
0
0
24
-21
3
0
0
12
-7
-1
0
0
0
-3
0
0
0
44
14
-9
0
0
-5
-11
0
0
0
6
2
0
0
0
-6
2
1
0
0
-3
11
-2
0
0
1
4
-1
0
0
-1
-2
0
0
0
0
-3
0
0
0
56
-3
1
0
0
-26
-1
-37
0
0
-2
-29
0
0
0
-28
-29
-37
0
0
4
-53
54
0
0
-35
-16
-10
0
0
1
-33
-22
0
0
2
2
-56
0
0
19
-4
22
0
0
-5
13
27
0
0
21
5
-9
0
0
62
-1
50
0
0
-2
-5
-14
0
0
-5
3
-10
0
0
2
27
68
0
0
37
-24
23
2
2
0
18
67
0
0
-7
-28
12
0
0
-18
12
-11
0
0
-14
44
12
0
0
7
-44
34
0
0
20
-39
35
0
0
-9
12
26
0
0
0
2
-1
0
0
-31
-19
-6
0
0
-19
16
1
0
0
-13
0
2
0
0
-9
3
1
0
0
-29
41
-1
0
0
-1
-3
0
0
0
2
0
0
0
0
-1
2
0
0
0
8
-31
0
0
0
-6
-4
-24
0
0
-1
13
27
0
0
-13
1
-64
0
0
-7
-41
5
0
0
7
10
-4
0
0
1
-29
10
0
0
24
-34
1
0
0
-45
11
-7
0
0
-7
14
-14
0
0
-6
10
24
0
0
-10
-19
0
0
0
6
-23
16
0
0
11
-5
50
0
0
45
-41
-16
0
0
7
11
-40
-5
4
37
-52
-70
0
0
22
16
30
0
0
5
23
47
0
0
36
-2
-4
0
0
-24
-2
-63
0
0
-2
17
6
0
0
-7
-4
-29
0
0
1
-7
-2
0
0
37
-10
2
0
0
-3
18
-22
0
0
32
-3
2
0
0
-10
1
-1
0
0
29
16
-21
0
0
-16
-4
0
0
0
-8
7
-2
0
0
-3
0
1
0
0
-6
-8
-32
0
0
-22
-1
24
0
0
-18
5
-18
0
0
-19
-23
20
0
0
-6
-23
-22
0
0
-12
5
-25
0
0
21
20
-16
0
0
12
-35
32
0
0
22
19
6
0
0
19
-23
-5
0
0
25
-14
-2
0
0
-29
9
13
0
0
22
-22
12
0
0
38
1
2
0
0
-21
10
-1
0
0
-19
-41
18
4
2
21
5
3
0
0
-5
-15
21
0
0
17
-6
-25
0
0
-2
6
24
0
0
4
19
-20
0
0
40
-14
0
0
0
5
-10
-45
0
0
-2
-1
0
0
0
-33
-12
1
0
0
29
7
-9
0
0
-20
-7
33
0
0
-1
20
0
0
0
13
-56
3
0
0
3
1
-1
0
0
-7
3
3
0
0
1
-1
2
0
0
-69
15
-5
0
0
-50
17
36
0
0
-26
-39
2
0
0
-37
2
28
0
0
-22
-2
21
0
0
69
-22
14
0
0
14
-32
-5
0
0
2
20
-53
0
0
-79
36
1
0
0
-9
-20
39
0
0
13
-9
-8
0
0
-4
-29
-19
0
0
-28
-17
-58
0
0
51
36
-39
0
0
5
-75
7
0
0
9
36
21
-9
6
-19
3
1
0
0
29
-37
17
0
0
2
-19
18
0
0
-10
25
17
0
0
27
14
-39
0
0
11
20
0
0
0
21
4
10
0
0
4
4
0
0
0
-57
-13
-4
0
0
2
-2
-2
0
0
-45
18
11
0
0
0
-21
3
0
0
-4
10
-3
0
0
0
-7
1
0
0
0
1
0
0
0
-1
-27
3
0
0
-21
-16
-16
0
0
-22
-40
5
0
0
-3
-3
-21
0
0
-50
9
-25
0
0
18
-43
-15
0
0
-19
-75
-32
0
0
-5
24
4
0
0
0
-23
53
0
0
-17
16
3
0
0
10
5
22
0
0
32
-28
-20
0
0
-4
-36
-28
0
0
3
-12
14
0
0
-7
45
-38
0
0
15
2
-45
0
0
-12
0
-42
17
9
-56
11
-94
0
0
-39
40
5
0
0
-6
-22
17
0
0
4
-16
-15
0
0
-17
-25
-41
0
0
-13
-3
0
0
0
-26
-1
-3
0
0
1
-25
0
0
0
0
-55
-19
0
0
10
-25
22
0
0
-20
-7
-2
0
0
3
-11
-6
0
0
-3
-12
14
0
0
10
-6
3
0
0
0
-9
0
0
0
11
-1
1
0
0
-14
-13
-24
0
0
-13
-21
44
0
0
8
3
48
0
0
-38
-37
-46
0
0
58
7
10
0
0
-57
-18
-58
0
0
-32
6
-46
0
0
-9
6
-19
0
0
-16
-53
3
0
0
-15
8
23
0
0
5
40
-21
0
0
-21
11
0
0
0
33
-21
-67
0
0
-11
23
35
0
0
-62
-29
12
0
0
45
-46
-61
5
-9
2
-27
-114
0
0
21
4
-22
0
0
34
32
18
0
0
24
15
-14
0
0
22
38
91
0
0
23
31
-8
0
0
36
23
2
0
0
-33
-40
22
0
0
-11
9
38
0
0
15
21
12
0
0
-33
-12
1
0
0
15
19
28
0
0
14
43
-20
0
0
26
-16
13
0
0
0
-21
9
0
0
2
38
5
0
0
47
52
41
0
0
-20
26
-31
0
0
13
16
40
0
0
-13
7
-4
0
0
-36
20
5
0
0
-9
48
10
0
0
66
2
5
0
0
-19
-7
15
0
0
5
-28
61
0
0
-29
2
2
0
0
4
2
-1
0
0
-23
3
-3
0
0
9
-3
-16
0
0
58
6
-5
0
0
9
5
-11
0
0
27
7
19
14
17
22
10
24
0
0
37
14
11
0
0
9
18
5
0
0
25
46
-28
0
0
12
26
20
0
0
32
22
46
0
0
12
-36
-39
0
0
-1
15
9
0
0
-1
-2
18
0
0
48
37
48
0
0
9
60
42
0
0
22
-10
23
0
0
-12
45
-12
0
0
-23
66
-7
0
0
15
26
21
0
0
-12
-49
47
0
0
-20
5
53
0
0
21
4
-20
0
0
37
20
-21
0
0
-4
64
-7
0
0
2
-1
-7
0
0
21
-25
54
0
0
24
-37
2
0
0
1
16
34
0
0
-17
-37
9
0
0
15
-2
-22
0
0
0
51
26
0
0
-48
11
-21
0
0
47
-15
-13
0
0
62
-1
-4
0
0
22
-4
7
0
0
5
30
-57
5
6
-10
24
69
0
0
9
24
73
0
0
5
26
-13
0
0
27
-34
4
0
0
4
21
-5
0
0
-11
8
52
0
0
46
15
26
0
0
-10
34
7
0
0
-52
34
-16
0
0
-37
7
-9
0
0
-12
-39
17
0
0
-3
0
-32
0
0
31
7
21
0
0
-4
29
-3
0
0
-2
14
-33
0
0
9
53
-60
0
0
-44
8
-15
0
0
38
9
-10
0
0
-15
3
25
0
0
42
-44
-10
0
0
14
-3
29
0
0
20
-11
0
0
0
-30
-17
0
0
0
-1
18
4
0
0
-52
-21
37
0
0
67
-2
-24
0
0
32
14
-21
0
0
-13
31
-6
0
0
-16
-58
39
0
0
-42
14
-9
0
0
33
0
20
0
0
-81
19
2
23
-4
22
-60
34
0
0
-14
17
-13
0
0
34
-28
4
0
0
18
-11
-13
0
0
9
-6
8
0
0
-28
5
25
0
0
5
31
20
0
0
-39
-10
-8
0
0
-29
-1
69
0
0
-23
10
4
0
0
34
39
-23
0
0
-2
66
21
0
0
26
31
-23
0
0
9
-16
3
0
0
-8
39
11
0
0
-60
22
4
0
0
-34
34
18
0
0
30
-5
56
0
0
-28
-19
28
0
0
-7
16
-10
0
0
3
-2
-11
0
0
56
-33
-5
0
0
-40
-52
-2
0
0
4
-8
1
0
0
-32
-17
29
0
0
62
2
-36
0
0
8
-17
-5
0
0
10
-5
-44
0
0
19
-41
12
0
0
59
-1
6
0
0
-20
35
28
0
0
84
-62
-23
11
12
-26
-39
-11
0
0
23
-7
-9
0
0
-3
-27
-4
0
0
22
8
-21
0
0
-13
27
-5
0
0
8
-8
3
0
0
-38
43
64
0
0
2
1
1
0
0
29
9
-1
0
0
-2
12
-1
0
0
-56
18
8
0
0
8
-11
-2
0
0
-11
4
35
0
0
-9
5
-3
0
0
-7
0
12
0
0
-1
-1
9
0
0
0
18
5
0
0
-23
6
0
0
0
-12
19
6
0
0
21
-14
0
0
0
32
1
6
0
0
0
10
0
0
0
-9
-3
0
0
0
0
0
0
0
0
-15
-2
2
0
0
-23
18
9
0
0
66
11
-29
0
0
1
-10
-2
0
0
11
19
-21
0
0
11
-10
2
0
0
0
-22
7
0
0
-22
1
-10
10
7
-22
34
-35
0
0
7
14
16
0
0
14
23
-7
0
0
-31
-45
21
0
0
-40
9
-9
0
0
-11
14
-21
0
0
8
-1
-14
0
0
19
-12
0
0
0
-1
-25
-50
0
0
7
42
2
0
0
-10
16
-8
0
0
-17
3
-2
0
0
-2
-3
-7
0
0
10
18
0
0
0
0
14
1
0
0
28
-2
-7
0
0
22
32
1
0
0
23
10
-1
0
0
-8
28
4
0
0
-19
-1
-3
0
0
-12
24
0
0
0
-8
-11
0
0
0
0
34
10
0
0
0
4
0
0
0
7
-2
-2
0
0
-10
20
20
0
0
1
-15
1
0
0
3
-26
0
0
0
-34
21
-14
0
0
33
-53
-16
0
0
11
-14
-7
0
0
9
4
0
-1
2
-96
-81
18
0
0
25
30
30
0
0
-4
-10
6
0
0
-21
-17
17
0
0
5
61
-2
0
0
15
20
4
0
0
-26
18
27
0
0
-18
0
-2
0
0
72
-9
-3
0
0
-15
-25
1
0
0
-2
6
-2
0
0
6
-7
-1
0
0
2
-12
-1
0
0
0
0
0
0
0
0
-7
-2
0
0
-4
2
-1
0
0
12
-17
-4
0
0
22
25
0
0
0
-4
-17
3
0
0
-12
2
1
0
0
-11
1
0
0
0
-11
0
0
0
0
3
-3
-8
0
0
-1
-3
0
0
0
-20
-11
0
0
0
-2
10
2
0
0
0
34
0
0
0
0
7
0
0
0
-4
17
-3
0
0
-1
2
0
0
0
-4
18
-5
0
0
3
8
0
-9
-15
2
-14
-15
0
0
25
13
2
0
0
-7
11
25
0
0
-11
31
10
0
0
2
-9
-42
0
0
-32
9
-5
0
0
46
4
-3
0
0
-17
-1
7
0
0
28
-3
17
0
0
1
65
8
0
0
10
10
3
0
0
65
-57
0
0
0
1
-17
-1
0
0
0
13
0
0
0
6
28
1
0
0
9
3
-3
0
0
-26
-19
4
0
0
-13
3
-5
0
0
-7
-5
24
0
0
22
-16
2
0
0
17
1
9
0
0
-8
15
1
0
0
-6
34
1
0
0
0
1
0
0
0
1
-19
-11
0
0
4
10
11
0
0
11
-2
-4
0
0
0
-40
0
0
0
3
-3
0
0
0
52
-5
-10
0
0
22
-38
4
0
0
-5
36
9
8
-15
-94
-4
45
0
0
39
-12
14
0
0
-2
46
9
0
0
-4
39
34
0
0
9
37
6
0
0
-21
2
-2
0
0
49
-8
5
0
0
-7
-7
0
0
0
19
-35
-21
0
0
20
-12
4
0
0
67
-26
9
0
0
15
21
0
0
0
1
-32
24
0
0
-16
-12
0
0
0
2
2
-1
0
0
1
20
4
0
0
12
-28
5
0
0
-20
38
2
0
0
23
42
-13
0
0
13
6
-6
0
0
19
15
-1
0
0
-7
13
10
0
0
0
20
3
0
0
-3
-23
2
0
0
14
-9
27
0
0
2
-2
-8
0
0
9
20
-10
0
0
-3
-4
9
0
0
-20
-21
-1
0
0
-11
35
-6
0
0
-1
8
8
0
0
-38
21
2
-25
-8
43
41
7
0
0
10
26
21
0
0
34
-37
10
0
0
72
31
-27
0
0
-17
-6
14
0
0
18
-32
-1
0
0
17
11
7
0
0
-3
-13
0
0
0
7
-14
0
0
0
29
3
6
0
0
13
16
3
0
0
-41
-11
-4
0
0
10
-28
-23
0
0
2
11
0
0
0
-6
-9
11
0
0
1
29
10
0
0
-28
-1
-8
0
0
18
9
0
0
0
-32
-1
-2
0
0
0
2
0
0
0
-17
-1
-4
0
0
-12
-31
0
0
0
3
-3
0
0
0
-2
-5
0
0
0
-14
22
0
0
0
-6
-14
0
0
0
1
-10
8
0
0
-2
2
0
0
0
-46
28
-3
0
0
7
-1
12
0
0
-11
25
-11
0
0
-17
-1
6
18
5
16
8
3
0
0
16
53
11
0
0
4
2
12
0
0
0
45
35
0
0
-28
12
-28
0
0
28
3
2
0
0
5
-2
-1
0
0
1
-10
1
0
0
3
12
7
0
0
-12
10
-28
0
0
39
-21
19
0
0
1
-14
17
0
0
-15
-24
48
0
0
-1
-1
8
0
0
0
-21
1
0
0
0
11
-2
0
0
10
-25
-23
0
0
35
-27
0
0
0
4
24
-6
0
0
-2
0
0
0
0
38
-17
-1
0
0
-6
15
-11
0
0
-3
10
-2
0
0
0
-4
2
0
0
7
14
-11
0
0
-21
39
-6
0
0
-8
-39
10
0
0
3
-8
0
0
0
9
-10
6
0
0
4
37
1
0
0
0
3
9
0
0
10
-38
7
22
16
-32
12
19
0
0
-20
7
37
0
0
24
-29
28
0
0
-22
29
-42
0
0
16
-10
-32
0
0
11
4
-3
0
0
-17
13
12
0
0
6
17
0
0
0
-9
19
-8
0
0
35
-28
2
0
0
2
-2
6
0
0
-22
-1
-25
0
0
-3
-4
-11
0
0
1
9
-2
0
0
0
-4
2
0
0
1
-1
-6
0
0
47
-2
-1
0
0
9
48
9
0
0
-26
37
1
0
0
6
5
-3
0
0
-8
3
0
0
0
-13
-5
-15
0
0
0
-2
0
0
0
0
-7
-2
0
0
45
6
26
0
0
-5
-4
0
0
0
3
6
11
0
0
-1
-6
-6
0
0
-4
-20
4
0
0
-24
27
2
0
0
-1
-6
0
0
0
1
-51
-2
9
14
-58
-18
-28
0
0
22
-11
-16
0
0
37
-15
-14
0
0
-2
41
8
0
0
-22
8
-4
0
0
-7
2
-14
0
0
-9
-1
-5
0
0
0
1
0
0
0
-54
15
6
0
0
-9
1
-4
0
0
33
-11
0
0
0
15
-4
6
0
0
17
-3
2
0
0
-4
-2
2
0
0
0
8
0
0
0
-1
2
0
0
0
28
-2
2
0
0
13
9
-10
0
0
49
-1
-8
0
0
0
-4
-1
0
0
10
-16
2
0
0
1
19
-1
0
0
0
1
-4
0
0
0
-12
4
0
0
0
-6
-4
0
0
1
1
-2
0
0
0
-2
-2
0
0
0
8
-3
0
0
15
-9
-2
0
0
0
-9
8
0
0
0
-4
-4
0
0
16
1
0
-17
-6
-14
-2
-1
0
0
36
5
15
0
0
21
-3
1
0
0
31
-22
-4
0
0
-30
-15
4
0
0
-4
7
0
0
0
1
13
-1
0
0
16
1
0
0
0
30
-7
-1
0
0
13
-13
0
0
0
9
38
0
0
0
-6
-17
0
0
0
13
12
2
0
0
0
-2
0
0
0
0
-1
0
0
0
-1
7
0
0
0
5
8
0
0
0
1
-40
-7
0
0
13
2
6
0
0
-3
-12
4
0
0
3
-19
0
0
0
0
3
0
0
0
-9
-3
-1
0
0
-2
4
0
0
0
-5
3
-16
0
0
-18
39
0
0
0
5
7
0
0
0
-3
-1
-2
0
0
-1
-8
1
0
0
-12
-4
15
0
0
7
13
-2
0
0
-3
10
4
-3
17
-75
11
-1
0
0
-19
12
28
0
0
12
37
32
0
0
-5
35
21
0
0
24
-2
42
0
0
7
-32
6
0
0
24
6
8
0
0
-7
-3
1
0
0
-9
47
-26
0
0
-6
10
-9
0
0
-11
-6
-28
0
0
-2
11
-27
0
0
18
13
-12
0
0
0
5
0
0
0
0
-6
1
0
0
7
-18
0
0
0
54
-5
7
0
0
21
-12
0
0
0
4
25
-8
0
0
6
7
-1
0
0
15
-5
-8
0
0
0
-22
7
0
0
1
-12
-2
0
0
0
-3
0
0
0
9
-2
0
0
0
-2
-4
2
0
0
-8
-3
1
0
0
-9
-7
-3
0
0
-9
17
1
0
0
-1
10
0
0
0
0
-15
-2
0
0
-22
-22
-3
9
6
-15
-17
-11
0
0
18
13
-4
0
0
11
31
-36
0
0
60
20
22
0
0
-1
29
-29
0
0
36
-45
-6
0
0
5
-44
-13
0
0
0
51
-2
0
0
-17
-3
-17
0
0
34
3
2
0
0
13
-6
9
0
0
39
2
11
0
0
17
27
-15
0
0
12
-18
2
0
0
1
-3
-2
0
0
1
-37
1
0
0
-48
-8
4
0
0
-12
0
53
0
0
17
-13
-3
0
0
-42
-13
-1
0
0
-5
1
-4
0
0
-3
23
-21
0
0
-1
21
2
0
0
0
1
-11
0
0
12
-18
9
0
0
-1
-2
18
0
0
1
-20
18
0
0
6
34
0
0
0
-6
36
-8
0
0
2
7
-11
0
0
3
20
-10
0
0
10
-22
-3
8
20
-15
-31
-32
0
0
20
31
-12
0
0
-18
6
29
0
0
-29
-11
9
0
0
16
7
-32
0
0
8
-8
5
0
0
25
-41
19
0
0
-6
1
2
0
0
9
15
11
0
0
35
-16
-20
0
0
-11
13
-15
0
0
-8
12
2
0
0
-37
-19
18
0
0
-6
45
-11
0
0
8
0
22
0
0
1
-5
-2
0
0
4
-11
2
0
0
2
6
8
0
0
-1
10
-6
0
0
5
22
4
0
0
4
7
8
0
0
-6
-9
-6
0
0
-19
6
-10
0
0
-2
10
22
0
0
9
11
-11
0
0
6
0
29
0
0
-26
-1
18
0
0
-15
10
-2
0
0
11
-21
26
0
0
10
-13
7
0
0
6
-10
-15
0
0
7
14
-12
7
2
8
2
-4
0
0
10
-33
27
0
0
8
8
-38
0
0
-12
1
17
0
0
12
0
38
0
0
12
-24
20
0
0
-3
3
-3
0
0
-29
-12
1
0
0
2
22
3
0
0
-17
17
-4
0
0
41
-9
2
0
0
-40
16
4
0
0
8
-10
12
0
0
10
16
1
0
0
-5
25
-16
0
0
26
7
-5
0
0
-25
19
-17
0
0
7
-8
-8
0
0
-2
12
8
0
0
14
-18
-30
0
0
13
2
-6
0
0
-21
12
29
0
0
12
-13
8
0
0
-14
35
-15
0
0
-23
1
15
0
0
1
-2
37
0
0
-12
9
9
0
0
-10
14
3
0
0
-19
-31
11
0
0
28
7
26
0
0
-41
-29
39
0
0
14
-33
-8
4
3
4
3
-28
0
0
18
2
20
0
0
24
39
-85
0
0
-14
-1
0
0
0
41
-46
-15
0
0
2
3
0
0
0
-1
2
-4
0
0
0
6
0
0
0
25
1
4
0
0
11
-32
0
0
0
-20
8
-1
0
0
4
-4
2
0
0
-6
10
0
0
0
-2
2
0
0
0
0
-19
2
0
0
-4
17
0
0
0
65
16
-1
0
0
-1
0
5
0
0
1
-25
8
0
0
0
-10
12
0
0
-5
-12
33
0
0
-9
-9
-37
0
0
-4
-36
-13
0
0
-34
-23
-10
0
0
-45
16
-43
0
0
9
-13
2
0
0
20
-32
51
0
0
-24
-23
-21
0
0
-35
-17
-12
0
0
-11
-10
-14
0
0
-44
8
1
0
0
-43
30
-46
0
0
0
-1
-55
0
0
21
-35
0
0
0
-12
26
-18
0
0
20
18
-33
0
0
21
11
-1
0
0
-41
-20
2
0
0
-1
1
-3
0
0
3
4
0
0
0
-21
-16
-4
0
0
-21
22
-6
0
0
-19
-1
0
0
0
-3
11
0
0
0
-19
10
0
0
0
-9
1
0
0
0
-1
2
-1
0
0
2
-5
0
0
0
15
-17
4
0
0
0
8
11
0
0
9
-17
-8
0
0
-11
-4
-23
0
0
-1
-11
50
0
0
23
-8
2
0
0
-5
6
-44
0
0
7
34
23
0
0
-9
8
-19
0
0
-15
-19
53
0
0
88
-63
48
0
0
28
-6
2
0
0
47
5
-3
0
0
-54
-6
-4
0
0
-3
-18
-9
0
0
37
-22
11
-4
-3
-16
-1
-25
0
0
20
35
-28
0
0
-14
-7
17
0
0
-36
-34
44
0
0
-28
-5
17
0
0
35
8
-29
0
0
30
-43
12
0
0
0
4
0
0
0
-44
16
-8
0
0
-4
12
-3
0
0
25
0
27
0
0
-1
-23
1
0
0
-16
15
21
0
0
2
-10
-1
0
0
1
0
0
0
0
-11
0
0
0
0
30
-15
-42
0
0
10
-5
2
0
0
-7
9
22
0
0
13
15
-9
0
0
-19
0
-60
0
0
24
-19
-37
0
0
82
-35
-77
0
0
-2
-12
-1
0
0
66
32
-18
0
0
15
-15
8
0
0
-19
-23
-1
0
0
31
-22
0
0
0
6
43
-45
0
0
46
2
-8
0
0
26
-63
11
0
0
-3
-38
25
7
0
31
4
68
0
0
-6
5
13
0
0
15
13
53
0
0
49
-7
29
0
0
-7
25
30
0
0
35
33
1
0
0
-6
-26
-35
0
0
0
4
4
0
0
29
-6
-22
0
0
-16
-6
5
0
0
-21
-4
6
0
0
-3
2
1
0
0
-2
-19
-2
0
0
5
-27
-4
0
0
-2
0
-2
0
0
0
5
3
0
0
35
-35
-9
0
0
7
-13
-5
0
0
1
-15
37
0
0
20
-12
-22
0
0
9
-14
6
0
0
23
-40
-19
0
0
-7
-13
27
0
0
-13
3
4
0
0
-73
-11
-29
0
0
-19
-13
19
0
0
-39
17
-19
0
0
35
-25
-6
0
0
11
11
-42
0
0
9
12
-21
0
0
-12
-31
26
0
0
22
13
6
28
12
50
3
-34
0
0
-25
2
7
0
0
3
-39
16
0
0
17
2
-9
0
0
3
13
2
0
0
15
-2
1
0
0
3
0
1
0
0
2
4
0
0
0
-8
7
-4
0
0
7
4
-1
0
0
22
3
-1
0
0
-13
1
0
0
0
-9
-4
-4
0
0
0
4
0
0
0
0
0
0
0
0
2
-24
-2
0
0
-2
7
-2
0
0
0
-3
12
0
0
12
-27
2
0
0
-1
-15
4
0
0
-5
-17
-50
0
0
-25
1
-5
0
0
-25
-10
3
0
0
13
15
-18
0
0
17
7
-12
0
0
-4
-17
27
0
0
-11
37
-4
0
0
7
5
-32
0
0
-15
25
-14
0
0
8
-9
19
0
0
2
-44
8
0
0
-26
-16
1
-2
3
-10
-10
-37
0
0
6
-3
-9
0
0
3
3
15
0
0
41
17
-13
0
0
5
27
11
0
0
1
21
-9
0
0
26
-10
-7
0
0
-5
-30
-1
0
0
-32
38
-1
0
0
-7
32
1
0
0
1
14
-22
0
0
-3
-25
-3
0
0
-66
-4
-12
0
0
16
-4
-3
0
0
0
-7
-3
0
0
0
15
0
0
0
-35
-12
0
0
0
-2
-17
7
0
0
27
-24
-2
0
0
15
-30
15
0
0
-13
-16
-44
0
0
-10
-14
-62
0
0
-5
-25
43
0
0
25
-21
-60
0
0
-26
-24
36
0
0
-13
-18
34
0
0
-70
-29
9
0
0
9
7
-39
0
0
43
9
-17
0
0
37
21
-8
0
0
-10
-7
29
0
0
-56
-2
-1
-5
-3
-25
25
-28
0
0
20
-17
7
0
0
30
-11
35
0
0
-2
-7
-26
0
0
-19
13
2
0
0
1
-9
-1
0
0
-11
16
-25
0
0
-4
8
0
0
0
39
-23
3
0
0
-2
41
-7
0
0
-56
-20
8
0
0
-22
-14
39
0
0
-74
17
7
0
0
9
-1
0
0
0
0
-6
0
0
0
-6
33
9
0
0
-18
-14
23
0
0
4
-3
11
0
0
6
-25
14
0
0
16
-42
4
0
0
9
10
-10
0
0
-17
-10
19
0
0
49
-13
-35
0
0
18
-21
-49
0
0
-25
-42
-21
0
0
3
6
6
0
0
4
-8
-5
0
0
16
-3
48
0
0
10
3
16
0
0
27
17
10
0
0
-11
-3
-15
0
0
47
4
0
10
2
34
-16
6
0
0
7
6
32
0
0
-8
34
-19
0
0
-6
-5
-4
0
0
25
-24
43
0
0
-19
8
-8
0
0
23
-53
-12
0
0
2
0
-6
0
0
-38
15
-12
0
0
1
1
8
0
0
21
-3
1
0
0
22
35
-2
0
0
-8
-12
9
0
0
2
1
-3
0
0
0
0
-1
0
0
8
-21
2
0
0
-27
1
3
0
0
30
27
-10
0
0
7
12
-6
0
0
-18
6
-14
0
0
7
-53
-11
0
0
-29
29
53
0
0
-24
32
33
0
0
17
15
-3
0
0
-13
13
19
0
0
0
5
5
0
0
6
13
2
0
0
-13
6
8
0
0
6
-29
0
0
0
5
2
1
0
0
-19
14
12
0
0
23
4
-34
-2
7
22
-34
-8
0
0
-24
-25
37
0
0
-1
49
7
0
0
2
1
3
0
0
17
66
-41
0
0
6
15
-1
0
0
11
6
3
0
0
0
-4
-3
0
0
-6
-1
14
0
0
10
-35
-11
0
0
0
0
7
0
0
9
8
1
0
0
-6
12
2
0
0
3
1
0
0
0
1
12
-2
0
0
-2
6
-2
0
0
1
-34
-2
0
0
10
10
10
0
0
-7
-3
18
0
0
-12
-13
37
0
0
-17
-47
0
0
0
20
-59
42
0
0
-57
6
-23
0
0
39
-22
-32
0
0
-13
-16
-32
0
0
25
-4
-15
0
0
27
-24
48
0
0
-3
-17
29
0
0
14
-19
-8
0
0
-43
-27
-18
0
0
-19
-13
-41
0
0
-3
10
1
-12
-9
-13
7
-2
0
0
10
13
-30
0
0
4
14
-24
0
0
-34
-23
19
0
0
12
-45
19
0
0
14
-13
12
0
0
28
9
-5
0
0
0
6
2
0
0
13
-14
-4
0
0
-24
32
-11
0
0
-10
10
-3
0
0
-7
-26
0
0
0
34
17
-3
0
0
0
0
0
0
0
-1
1
-2
0
0
0
-4
0
0
0
-18
-2
0
0
0
-20
1
-11
0
0
-45
-10
31
0
0
-16
1
-24
0
0
-31
-46
20
0
0
5
-17
42
0
0
19
5
12
0
0
-3
-20
1
0
0
1
-25
-47
0
0
8
21
9
0
0
10
19
3
0
0
42
-15
-6
0
0
-15
-3
-18
0
0
38
5
23
0
0
-3
13
32
0
0
-9
15
-45
-5
9
19
-11
20
0
0
24
7
-16
0
0
-19
-8
71
0
0
7
41
0
0
0
-16
-4
-27
0
0
11
-2
-17
0
0
28
-8
5
0
0
-2
-1
4
0
0
22
3
-48
0
0
63
-40
15
0
0
-6
-22
-2
0
0
0
-2
-9
0
0
19
-11
14
0
0
3
-4
-3
0
0
0
11
-9
0
0
3
0
-7
0
0
39
-26
10
0
0
-20
14
-9
0
0
-21
3
-55
0
0
-37
0
-5
0
0
-15
45
48
0
0
-79
-3
15
0
0
-15
-31
17
0
0
6
-23
-27
0
0
-34
-15
0
0
0
-3
10
-11
0
0
-16
16
-23
0
0
6
37
56
0
0
14
-2
35
0
0
9
-1
-6
0
0
38
46
-9
0
0
13
-64
101
-6
-3
50
-3
36
0
0
48
44
-19
0
0
-6
-2
-9
0
0
11
3
14
0
0
30
-51
6
0
0
18
-2
13
0
0
-37
7
26
0
0
10
6
1
0
0
-23
13
11
0
0
10
47
20
0
0
-35
19
5
0
0
18
39
-9
0
0
-32
-3
30
0
0
-11
-1
7
0
0
0
7
-3
0
0
0
11
-4
0
0
26
11
-4
0
0
-32
-1
-15
0
0
-8
16
13
0
0
-42
45
11
0
0
37
-27
33
0
0
-39
13
-21
0
0
-33
-6
-25
0
0
2
-32
-16
0
0
16
-72
-20
0
0
10
0
13
0
0
-9
-3
30
0
0
16
-28
5
0
0
-6
38
-46
0
0
-26
-42
-28
0
0
-3
32
-67
0
0
10
-9
48
-8
8
-17
4
-49
0
0
-39
21
76
0
0
-2
51
-13
0
0
-13
29
5
0
0
21
11
-25
0
0
5
-17
2
0
0
-36
4
2
0
0
2
-7
-3
0
0
25
-43
-12
0
0
5
42
-15
0
0
33
-33
-7
0
0
13
-38
3
0
0
0
34
-16
0
0
-4
-9
-1
0
0
-8
1
0
0
0
4
-13
2
0
0
11
20
-4
0
0
-19
-16
19
0
0
-10
-47
38
0
0
-9
-32
-6
0
0
-16
17
-44
0
0
21
-8
-34
0
0
46
-25
-46
0
0
-6
9
22
0
0
11
-37
23
0
0
-13
0
-3
0
0
33
24
-55
0
0
-5
-15
-25
0
0
22
-37
19
0
0
-26
-23
-2
0
0
-5
-56
10
0
0
27
-35
7
-15
-2
-10
-10
30
0
0
15
3
2
0
0
5
-14
0
0
0
-23
27
-23
0
0
-18
4
-1
0
0
13
-13
3
0
0
-33
33
48
0
0
23
32
-2
0
0
-29
27
18
0
0
18
-14
0
0
0
25
16
18
0
0
30
-4
-35
0
0
11
-48
0
0
0
61
-10
0
0
0
-12
11
-1
0
0
-8
-4
-18
0
0
-38
-10
9
0
0
-6
-9
-10
0
0
-21
-58
-13
0
0
-57
-15
9
0
0
-29
19
8
0
0
25
8
2
0
0
-42
-52
-94
0
0
7
-10
-59
0
0
6
-36
80
0
0
6
-12
-21
0
0
-20
-32
-6
0
0
-24
17
5
0
0
-34
-31
-23
0
0
47
-36
45
0
0
3
-6
6
0
0
3
-6
7
-2
-1
-46
-52
1
0
-1
-6
22
13
0
4
22
3
-1
0
0
10
14
12
0
15
0
3
31
0
7
6
41
-12
0
-7
6
20
10
0
87
3
18
33
0
5
5
-1
4
0
1
16
35
-52
0
35
46
26
18
0
33
6
-12
53
0
-10
-16
-46
22
0
-27
33
18
4
0
2
41
-12
-20
0
-15
-12
2
37
0
-5
-13
29
11
0
3
24
30
41
0
51
9
18
36
0
29
68
-85
1
0
-53
48
32
3
0
17
65
31
6
0
-1
-5
-5
1
0
0
-36
21
-6
0
4
17
-46
2
0
-2
41
23
2
0
8
53
20
-3
0
0
-1
50
9
0
3
-9
2
33
0
52
34
26
-8
0
9
44
-6
11
0
-3
-3
18
36
9
2
-17
5
7
0
-16
15
17
30
0
15
28
2
-14
0
32
29
12
24
0
42
43
19
6
0
13
-24
10
21
0
16
18
1
4
0
34
9
27
2
0
15
-13
-19
69
0
15
-1
49
88
0
-13
39
22
-25
0
-13
5
-27
-42
0
-27
33
43
16
0
26
15
-14
-30
0
-5
19
-36
34
0
39
0
-35
17
0
32
21
-3
1
0
14
-13
8
16
0
-5
-42
9
27
0
-27
29
-45
-2
0
2
4
5
-28
0
-1
26
-14
20
0
-2
-5
16
23
0
0
6
37
1
0
4
30
46
23
0
-2
-6
0
-19
0
24
12
-5
-22
0
1
24
-51
3
0
10
9
26
-11
0
36
5
-8
2
0
-3
7
80
12
0
-30
-40
30
6
-2
-69
-9
14
-31
0
22
-10
40
51
0
16
34
-6
-6
0
8
19
6
28
0
-1
-7
-32
-23
0
2
15
36
-25
0
-7
33
-5
-26
0
14
-27
-9
26
0
-17
-4
14
-15
0
-32
18
28
15
0
7
3
0
28
0
44
-4
-1
-63
0
-43
-15
22
-24
0
12
-47
0
1
0
3
38
-5
-7
0
-77
-25
16
22
0
-36
17
29
4
0
-13
30
38
-2
0
8
27
-27
-2
0
-57
25
4
3
0
12
-10
10
2
0
-2
28
39
-17
0
-4
7
-24
-13
0
7
-2
23
-4
0
-1
-28
-13
8
0
29
11
-12
6
0
-20
44
-12
-9
0
-3
8
11
4
0
21
-33
-7
2
0
24
23
42
-52
0
1
40
-4
4
0
51
-1
6
-2
1
-46
0
-12
-30
0
6
19
21
1
0
1
46
-39
-24
0
31
12
23
-10
0
36
8
33
39
0
-8
10
-29
-4
0
19
49
-13
35
0
52
-7
25
15
0
2
4
17
-14
0
24
56
-15
14
0
14
-59
6
23
0
-72
51
28
-11
0
31
-16
-8
16
0
-9
17
8
43
0
50
-47
-14
-41
0
3
18
51
33
0
41
-6
21
-73
0
33
-19
15
9
0
6
-6
30
16
0
7
-28
51
-2
0
-4
-4
4
-4
0
0
2
-1
0
0
3
8
-57
-1
0
2
-32
-42
-4
0
-24
3
-6
1
0
-21
1
56
3
0
16
-38
-17
-9
0
-2
-60
28
-33
0
-32
22
-36
-8
0
-18
-43
-37
-21
0
-14
8
-6
2
0
-4
41
41
-10
-2
-82
-7
21
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
12
0
8
5
46
-1
0
25
9
5
-14
0
-34
6
10
-10
0
71
2
11
-17
0
-24
-9
16
62
0
26
10
-12
2
0
6
55
-75
-30
0
43
-23
38
22
0
-39
-4
25
-1
0
5
25
-1
20
0
50
18
8
-34
0
40
31
14
-22
0
-21
13
14
15
0
0
0
-8
-8
0
-20
8
-19
-6
0
13
10
53
-5
0
-13
58
-4
-21
0
-2
5
11
-3
0
5
-15
-7
-2
0
47
-8
-25
7
0
-40
14
97
-8
0
2
0
18
2
0
40
-9
1
6
0
22
37
-2
18
0
15
22
10
77
0
30
-19
10
29
0
40
-48
-5
5
0
-10
43
22
34
0
-14
43
10
5
0
-46
-7
24
-15
6
-56
-34
0
-29
0
-2
3
12
48
0
19
53
-17
-25
0
-63
16
-14
19
0
13
-14
-22
49
0
13
-34
80
-14
0
-41
-23
-7
68
0
9
-1
3
-8
0
-30
-16
-21
-4
0
16
32
9
-50
0
19
-55
54
5
0
-49
34
-59
15
0
1
10
-2
15
0
12
18
9
4
0
1
13
80
13
0
0
-11
-19
0
0
-43
-2
12
-8
0
5
11
1
-6
0
44
-41
-37
-6
0
-5
47
-32
0
0
15
42
33
-7
0
11
27
11
1
0
-21
-9
4
0
0
0
-10
-9
-3
0
-18
36
26
7
0
-14
-7
31
-15
0
5
61
-45
19
0
13
-28
18
6
0
-12
17
-29
-21
0
26
-23
13
-39
0
54
-52
14
8
0
18
23
-53
-13
28
-2
0
-25
-46
0
-12
-15
22
-18
0
-95
40
7
77
0
3
-13
16
19
0
-7
16
4
-22
0
27
-15
-6
3
0
20
-34
50
-3
0
10
-51
25
-8
0
4
-67
-22
-17
0
-45
23
24
2
0
60
30
12
-47
0
6
-8
-16
-6
0
-4
-14
33
3
0
4
66
16
-11
0
-13
-4
9
3
0
0
11
-11
1
0
-38
-3
-29
0
0
-22
-17
-7
4
0
0
-13
12
20
0
2
-3
-4
0
0
-4
-37
-18
9
0
30
0
-27
0
0
-8
-8
-15
0
0
-1
23
-10
0
0
6
-12
12
2
0
0
-11
38
4
0
-5
4
-9
30
0
11
-22
-4
-34
0
16
23
15
-2
0
2
-54
-6
-7
0
8
32
10
-1
0
22
19
-30
1
9
-39
68
-22
9
0
5
2
-19
1
0
0
-18
70
-37
0
3
24
19
-2
0
29
28
6
18
0
1
5
7
14
0
14
-17
-9
1
0
-9
-29
35
2
0
20
-42
25
-19
0
14
4
47
-53
0
-17
-18
13
5
0
24
95
-52
-18
0
-39
0
-54
-18
0
-7
-26
7
9
0
0
-34
8
6
0
-2
31
-38
-13
0
-32
-38
29
28
0
-12
-15
-48
8
0
-15
10
-23
19
0
2
-46
30
-1
0
-25
26
27
21
0
-2
-15
-11
0
0
1
6
16
0
0
0
-10
1
1
0
-4
8
-8
-2
0
-42
3
11
-3
0
-21
-4
-33
-15
0
-29
36
-15
-2
0
30
30
-5
-16
0
2
0
-2
10
0
-4
-5
-18
16
0
-7
1
-36
1
-3
4
82
-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
29
5
-14
-41
0
11
28
-14
-17
0
-12
-7
26
21
0
44
6
-25
-2
0
-2
17
-21
12
0
-3
-1
-4
8
0
43
2
13
-3
0
-19
60
-17
6
0
53
45
6
3
0
-10
25
-36
45
0
-23
30
-5
-29
0
44
0
39
28
0
36
-22
10
41
0
9
91
-29
-2
0
-35
25
31
25
0
1
21
-15
-48
0
2
3
6
10
0
0
-3
7
8
0
0
-8
8
17
0
2
0
19
9
0
7
5
2
15
0
-19
-9
-5
-6
0
-1
-16
5
-13
0
-55
-15
-2
20
0
13
24
-20
24
0
-10
-20
25
14
0
-40
7
7
-22
0
-60
51
-41
-28
0
34
15
26
-8
0
6
2
-17
-13
0
21
-6
-20
33
-1
-8
8
-18
10
0
-25
9
48
46
0
16
40
-7
7
0
3
-24
-2
-16
0
10
21
-2
72
0
5
-24
-21
22
0
-50
69
-11
-28
0
-5
47
-9
-8
0
28
6
38
-40
0
-21
3
55
16
0
-20
17
3
29
0
25
-13
9
-24
0
35
9
-12
12
0
-12
27
-17
11
0
19
-11
55
-7
0
-9
-12
26
13
0
-21
12
-7
-22
0
0
-4
13
23
0
5
-3
-13
0
0
10
27
9
32
0
13
24
-10
21
0
-37
-8
35
-10
0
-32
17
-12
-34
0
-34
3
-39
23
0
-60
-33
-14
30
0
49
22
9
-10
0
-2
-25
1
48
0
-56
30
-14
28
0
-7
11
19
-41
0
-23
13
-11
-21
0
64
24
-4
20
0
23
-29
-3
-26
3
-13
-29
0
-32
0
37
4
41
0
0
-71
-6
6
-34
0
-39
28
17
12
0
-27
4
1
32
0
-47
-19
5
10
0
13
-3
-10
0
0
-6
-6
4
0
0
24
-15
-5
-11
0
14
20
-26
7
0
2
19
16
-11
0
-5
-39
-4
21
0
-23
-48
38
3
0
7
-24
1
-2
0
0
-49
28
-1
0
-9
-11
-20
-2
0
36
28
-20
-12
0
-16
6
-3
-7
0
4
17
-13
-12
0
20
-17
-15
24
0
-20
2
-12
-8
0
-12
-11
-15
-5
0
32
-11
-15
27
0
-10
12
15
-42
0
11
-33
-12
-2
0
18
29
28
52
0
5
4
3
-48
0
-36
-24
45
-32
0
-9
7
5
-28
0
-42
1
3
-4
0
15
-22
-32
30
0
37
-27
-46
18
14
42
-78
-101
-26
0
-46
20
-4
-40
0
-13
-34
5
-27
0
-4
18
43
7
0
-28
55
22
23
0
37
5
10
0
0
-29
-35
39
-18
0
12
-35
-8
0
0
-67
50
-6
7
0
-30
-13
-8
45
0
-17
28
-28
-11
0
13
-6
-4
23
0
0
-23
43
-18
0
-1
-4
-8
-6
0
-15
25
-40
3
0
-8
-2
4
-12
0
23
26
-37
18
0
1
-7
-23
-22
0
4
-22
-35
-35
0
-7
-3
-25
22
0
13
-5
-13
-19
0
8
17
30
10
0
27
5
-4
-1
0
-31
-8
-24
-63
0
-13
-24
-27
-52
0
-24
-61
23
-14
0
-52
4
16
94
0
69
-6
-45
16
0
-59
-26
45
33
0
6
-11
-46
43
0
-27
-14
-34
40
0
-7
12
-26
4
-12
4
-29
10
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
34
0
-18
13
-4
4
0
-40
28
-12
27
0
-3
16
1
-6
0
13
51
-23
-1
0
-18
-2
-2
-23
0
53
5
-8
0
0
38
-33
13
-3
0
32
-2
-10
7
0
-10
15
-1
60
0
-9
24
48
-27
0
20
-23
7
2
0
19
54
13
-22
0
60
40
10
-11
0
34
-44
-11
3
0
-4
14
23
-3
0
6
-6
-2
10
0
6
-20
-17
17
0
2
-29
44
27
0
-5
48
-16
-78
0
-5
-11
0
9
0
20
-8
5
-5
0
-57
11
-2
-1
0
-34
-65
-12
32
0
16
12
-4
2
0
-5
-9
7
0
0
8
16
13
42
0
-37
-3
6
-26
0
21
21
-16
-18
0
-72
-3
17
-2
0
-114
13
1
18
3
-33
5
-5
12
0
-1
-33
38
3
0
48
-23
-35
-2
0
-34
52
-25
-2
0
4
17
-38
-10
0
-32
36
0
-9
0
-1
22
6
4
0
19
-14
8
3
0
-10
18
25
0
0
-40
-5
-25
9
0
18
0
39
-13
0
-8
17
-49
3
0
23
19
-2
-18
0
-22
41
-38
-7
0
7
23
-4
-11
0
-16
11
-17
2
0
-9
35
-45
18
0
-20
7
-7
52
0
27
-8
29
25
0
48
-21
-5
35
0
-48
-32
15
-11
0
6
38
10
14
0
24
-40
-13
47
0
30
-7
33
19
0
-64
12
-9
36
0
25
3
12
-3
0
6
-2
-4
23
0
13
14
38
23
0
-21
-21
-12
20
0
8
4
3
-15
0
-42
17
-1
-26
0
52
17
9
9
-1
-77
4
18
-17
0
48
23
-9
20
0
5
-73
-2
-1
0
-10
2
15
-1
0
42
-30
-8
-8
0
7
8
-4
-1
0
-12
1
40
0
0
28
-1
7
0
0
-8
11
7
1
0
57
29
-16
0
0
-8
-27
7
8
0
19
-32
1
4
0
20
-26
-8
-6
0
39
-2
10
-13
0
-43
1
30
-3
0
-27
5
-9
-1
0
-90
29
-34
-15
0
-34
48
-14
53
0
22
-97
35
-29
0
-33
29
-11
-62
0
-44
39
34
-30
0
-2
-13
49
-60
0
-33
-10
13
-49
0
7
-36
32
-20
0
2
-10
-28
10
0
-19
14
24
32
0
-27
-19
8
-25
0
-23
4
-5
-3
0
-6
1
-7
42
0
24
3
17
-17
0
8
15
-33
-43
0
40
24
-40
-26
10
-12
7
-46
-51
0
-15
-38
-12
0
0
-5
-84
44
21
0
-7
-17
-20
-4
0
2
-22
0
-13
0
-38
-5
1
0
0
43
-14
25
2
0
-21
-34
-2
-3
0
0
7
25
0
0
3
-48
-34
3
0
10
8
-30
2
0
-2
7
-36
-2
0
-8
9
19
9
0
-3
36
3
0
0
-24
12
-1
-4
0
-26
-17
-3
0
0
-2
20
-15
19
0
-56
10
-56
3
0
-25
-21
-5
-25
0
-28
81
-11
-24
0
-72
-52
1
21
0
-15
11
23
-2
0
28
-76
28
2
0
32
-45
-4
25
0
-42
-4
-8
-38
0
-3
-21
11
-6
0
-13
-7
12
8
0
2
25
-16
-25
0
4
17
1
2
0
46
-26
6
15
0
26
-9
37
-39
0
27
-11
-13
-35
-17
-60
-31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
1
0
12
29
-3
-11
0
32
10
5
-20
0
21
14
8
7
0
5
48
13
65
0
36
22
28
7
0
-53
10
6
22
0
35
46
10
-19
0
-60
31
-24
-3
0
24
19
16
12
0
9
21
17
50
0
20
30
-35
34
0
40
7
13
-5
0
0
-7
9
-47
0
5
-18
-1
35
0
61
-4
7
26
0
20
-1
13
3
0
-1
-20
39
34
0
1
3
4
9
0
51
10
19
16
0
-40
37
80
18
0
4
24
-1
0
0
0
-3
-8
6
0
2
24
38
-8
0
-36
23
45
-51
0
12
-11
-4
36
0
3
4
-1
8
0
-2
19
-9
20
0
-14
68
32
-28
0
-1
-12
35
56
0
30
-81
37
74
11
28
15
-24
-6
0
25
0
19
29
0
13
11
11
8
0
23
30
71
-36
0
34
31
4
-28
0
22
28
-7
2
0
40
24
6
63
0
-34
27
8
36
0
5
77
-1
12
0
38
39
-25
28
0
-20
26
57
18
0
-35
22
21
-7
0
54
-33
-42
112
0
19
0
14
41
0
4
26
60
6
0
10
22
-33
10
0
-10
2
13
0
0
103
19
21
-2
0
27
-37
-8
27
0
6
7
9
-9
0
-40
65
21
-1
0
-7
16
28
10
0
3
0
63
10
0
1
-17
13
-7
0
-5
-35
10
-4
0
-2
-19
10
-6
0
-7
30
-31
-2
0
1
-47
76
-1
0
-15
-44
17
16
0
15
-6
19
-5
0
37
14
9
8
0
-8
29
1
-31
8
-70
-13
49
-6
0
9
15
17
-19
0
-1
20
38
12
0
12
11
50
18
0
-2
10
10
29
0
29
55
2
-19
0
11
40
-13
16
0
-13
-24
6
18
0
-25
42
17
-22
0
39
21
-20
-54
0
10
-11
32
-4
0
-2
4
57
10
0
-18
30
48
-8
0
3
25
10
13
0
-1
-6
-12
-18
0
10
-32
-40
13
0
-54
36
-2
14
0
0
-18
14
21
0
15
16
-32
-15
0
1
-2
-39
0
0
-11
-2
30
-7
0
-6
18
13
-3
0
0
-12
-11
-2
0
3
3
52
-4
0
0
-28
-11
4
0
10
-45
-28
12
0
9
-15
-21
6
0
-2
-61
-1
-30
0
16
29
-10
15
0
49
0
-49
7
0
1
47
-3
5
0
-7
-16
11
29
17
-25
-19
-22
-2
0
-25
-5
5
49
0
5
3
33
-2
0
43
17
53
-29
0
3
14
-1
6
0
-6
-28
20
4
0
1
-33
-18
60
0
6
11
-14
-39
0
11
9
-8
-28
0
-53
48
12
-18
0
73
-14
-34
-6
0
-5
1
-35
-21
0
13
30
-17
-28
0
-6
38
-41
-4
0
12
39
-18
16
0
-2
16
36
-16
0
-40
29
0
35
0
3
-28
30
12
0
-35
-4
-45
-8
0
-3
-7
-4
0
0
30
20
-26
35
0
0
-11
11
3
0
0
0
-18
-2
0
11
-1
1
-3
0
0
13
5
-4
0
-3
-11
10
-7
0
-19
34
3
1
0
0
-6
31
-23
0
1
-14
35
7
0
11
-2
10
-16
0
-7
85
-57
-18
0
48
0
-21
43
-3
-58
7
49
48
0
2
-23
18
29
0
17
-39
23
28
0
15
15
38
-25
0
-30
45
-17
1
0
-10
17
8
-6
0
35
4
7
39
0
72
-38
-5
6
0
19
-59
18
15
0
38
6
-3
10
0
38
15
-5
24
0
17
-24
3
4
0
37
6
-10
1
0
-20
82
53
2
0
0
8
-27
29
0
1
-27
20
-1
0
-52
19
-10
27
0
-1
-7
-21
27
0
32
24
-42
-20
0
-7
-9
-3
2
0
-25
16
1
-3
0
15
-5
23
1
0
0
0
13
-2
0
0
0
-3
0
0
1
-13
8
0
0
-8
-44
41
1
0
-8
7
12
-3
0
0
4
-16
0
0
0
-1
5
0
0
-35
58
21
-13
0
1
-1
17
-2
0
16
21
-34
0
1
21
0
0
3
0
-3
25
32
20
0
1
27
3
10
0
4
7
-24
37
0
10
7
5
-32
0
-2
-7
3
-28
0
33
-25
-9
25
0
81
-42
-15
16
0
19
-3
-41
8
0
-18
-13
33
29
0
-6
-21
-6
22
0
8
18
17
-3
0
-61
4
32
-1
0
-4
42
21
-14
0
35
32
8
-8
0
-3
14
-30
-7
0
-27
-2
48
4
0
-38
1
-5
-7
0
53
-9
26
19
0
-10
-1
7
0
0
27
2
-26
-4
0
-9
-6
-49
0
0
7
-37
40
3
0
0
0
-4
0
0
-4
10
0
1
0
-4
-11
15
14
0
14
10
45
-30
0
0
-1
-35
0
0
-2
0
-8
-2
0
26
-23
-45
0
0
-18
15
-7
12
0
-1
17
2
0
5
-5
-64
6
0
0
17
15
5
-3
0
22
3
40
-56
0
-22
46
26
24
0
-11
14
58
-22
0
52
6
-21
-8
0
-42
29
-2
-17
0
-11
19
13
1
0
10
-50
18
12
0
-35
51
20
-2
0
-16
13
-12
1
0
26
11
-19
3
0
-10
-14
-8
2
0
2
-19
3
-8
0
0
1
-27
-1
0
3
-5
14
-2
0
-10
-2
0
-10
0
-6
39
30
-2
0
-9
-58
14
-1
0
0
0
-2
0
0
8
-2
-3
0
0
2
0
12
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
1
-1
0
0
15
-26
2
0
0
1
2
-1
0
-10
0
0
3
0
0
-8
-36
1
0
0
23
-9
3
0
-7
3
-16
-2
30
-23
-16
-3
-1
0
16
31
38
35
0
33
-7
16
-16
0
-16
-3
-15
56
0
34
-39
1
-18
0
62
56
-37
-6
0
-31
19
49
5
0
-14
-47
46
2
0
27
15
-32
-16
0
-17
48
-3
30
0
-67
-43
23
-49
0
-13
-3
11
18
0
-11
-50
-2
-12
0
-2
12
-11
0
0
20
33
-2
-13
0
-4
11
10
-11
0
-8
-3
-26
-7
0
19
16
-48
13
0
24
24
-4
-17
0
12
14
44
11
0
16
25
42
-8
0
3
4
-29
3
0
-1
-22
0
10
0
0
3
0
0
0
-8
44
0
0
0
-9
-6
-16
-3
0
-4
-3
9
1
0
0
1
14
0
0
4
-15
0
-12
0
2
-19
11
2
0
-2
-29
3
11
0
-15
-45
24
0
2
18
9
17
0
0
11
24
23
20
0
26
37
22
29
0
64
15
5
23
0
-16
82
-34
37
0
-32
-8
-7
45
0
-9
-36
8
26
0
50
3
2
-19
0
-54
5
27
3
0
-22
9
-3
41
0
11
-21
47
-7
0
42
9
3
-16
0
-25
72
1
-33
0
-6
-8
-5
15
0
-1
30
67
5
0
-4
49
-16
-16
0
52
23
-9
-4
0
-23
-15
-17
-2
0
11
-5
28
-60
0
10
-7
-25
0
0
3
-1
2
0
0
-6
-11
0
6
0
0
4
-3
-1
0
0
2
1
-2
0
1
-32
2
0
0
49
-44
-1
-5
0
-18
46
53
-14
0
0
11
-2
0
0
-6
-9
43
-4
0
13
15
-31
10
0
0
-18
35
-6
0
-25
54
-23
4
10
18
-68
-3
21
0
-28
-7
-14
98
0
8
10
-4
2
0
36
4
-68
1
0
16
39
39
-6
0
-9
17
-9
6
0
-37
11
45
-33
0
-54
13
25
0
0
42
22
9
7
0
1
24
54
13
0
-1
13
15
1
0
28
8
-41
-26
0
11
-57
-14
-4
0
41
13
-9
-6
0
-43
50
14
-18
0
-33
-6
-6
-6
0
38
-39
-33
9
0
14
11
39
1
0
-15
-39
19
-9
0
1
7
-4
0
0
-25
17
-4
-3
0
2
-2
10
2
0
0
5
15
-10
0
0
-1
1
0
0
15
4
0
-2
0
-11
56
66
-4
0
8
-38
-27
43
0
0
-27
8
-1
0
-43
19
-1
6
0
-4
66
28
-13
0
45
-4
-6
-29
0
6
-28
9
0
-1
-4
45
-7
-16
0
50
-4
-8
23
0
25
-11
13
38
0
29
-30
-18
11
0
53
9
35
-6
0
-31
66
-2
9
0
-28
-10
3
-3
0
7
-20
-13
0
0
-12
21
-9
4
0
20
-51
16
30
0
-26
50
2
35
0
-34
23
-15
2
0
-6
75
57
-33
0
0
-5
-21
4
0
0
25
-12
0
0
-18
-3
36
28
0
6
40
7
-9
0
18
8
2
1
0
-33
-3
1
-1
0
-7
3
3
2
0
-9
-1
3
-3
0
-1
0
2
0
0
-2
0
-2
0
0
0
-1
0
-1
0
0
0
-2
0
0
1
17
9
-2
0
-11
3
4
-2
0
-1
-12
7
3
0
-11
-3
0
3
0
7
-24
5
-2
0
-9
-9
26
-8
0
47
-19
-7
-10
8
-18
22
-15
-25
0
-22
-14
44
-32
0
-15
-11
2
-30
0
-17
-8
-41
39
0
53
6
43
-11
0
-44
-32
31
-8
0
15
-21
20
2
0
48
-4
11
1
0
62
-20
41
-3
0
22
35
-42
-10
0
47
-7
23
-15
0
60
-40
-32
-1
0
-5
-11
-43
33
0
-10
34
4
6
0
22
9
-44
8
0
1
25
-29
-1
0
-6
18
-31
-23
0
-4
9
5
3
0
-10
1
-1
-8
0
0
-27
-9
0
0
-107
-2
13
-2
0
-8
-2
-1
0
0
1
2
-2
0
0
0
0
0
0
0
-2
35
-2
0
0
-2
33
-4
3
0
16
1
-2
-7
0
1
10
1
0
0
-1
-8
-35
4
0
6
-25
15
0
0
-8
-37
20
-7
0
-30
-16
-18
0
13
8
24
-18
-35
0
-15
6
0
49
0
0
7
-9
-2
0
-66
42
57
-11
0
-10
9
-2
18
0
42
-34
-25
-9
0
1
15
-17
-3
0
28
-4
42
0
0
15
-29
11
4
0
-1
30
28
6
0
-60
61
-40
-4
0
-7
51
33
2
0
-55
23
-9
0
0
5
32
-9
1
0
7
-22
-7
0
0
0
-32
10
2
0
15
-16
37
1
0
-36
41
12
10
0
71
1
-40
-3
0
-6
-6
25
2
0
7
3
1
1
0
-7
27
-10
4
0
0
-1
4
0
0
-2
2
1
1
0
0
-26
-2
0
0
-10
30
8
-10
0
0
7
9
0
0
0
2
-2
0
0
-2
-10
1
0
0
3
-26
-36
-11
0
1
17
0
11
0
-6
-1
0
0
11
-9
-14
-7
-1
0
13
18
48
-1
0
-9
21
-14
12
0
-47
12
57
-9
0
-5
14
0
6
0
-46
0
8
4
0
-14
-22
-23
4
0
56
-6
-15
0
0
15
-40
-7
7
0
10
-9
23
-38
0
-8
-5
29
-5
0
25
-11
-65
6
0
-32
1
-2
-9
0
15
-43
23
-3
0
-5
-14
-22
-4
0
0
-8
-11
1
0
-8
-27
-26
6
0
-3
10
35
-16
0
-19
-1
-6
19
0
0
-2
-3
0
0
-37
-14
-15
7
0
12
-4
12
0
0
1
-9
-29
-4
0
0
6
0
0
0
0
0
-1
1
0
2
20
-30
4
0
-8
24
-10
-1
0
0
6
-4
-7
0
4
2
1
0
0
6
15
-20
0
0
2
0
0
2
0
0
7
-4
2
-12
12
-4
0
-4
0
-8
38
81
-15
0
0
20
30
1
0
6
37
-19
31
0
-4
-39
26
-3
0
-25
16
25
23
0
12
-2
30
-4
0
13
0
-36
-1
0
-26
33
-7
1
0
-20
-28
50
14
0
-10
-20
26
-12
0
3
-52
10
-2
0
-7
-3
22
-7
0
-3
20
-30
0
0
0
-8
33
0
0
-1
-23
11
2
0
-38
4
20
0
0
19
54
-27
9
0
14
-7
16
-33
0
-16
-3
-27
2
0
5
-1
4
-6
0
0
-1
-4
-1
0
0
0
-21
1
0
2
0
-1
0
0
1
0
4
0
0
3
-16
9
-16
0
-1
1
-12
-7
0
0
1
-25
-1
0
6
1
0
3
0
3
30
-24
-8
0
0
0
-4
0
0
-6
-12
6
0
-9
39
-7
1
3
0
23
-25
38
-18
0
5
-5
11
6
0
-30
21
-8
21
0
-19
-6
-3
9
0
-4
-2
19
17
0
8
16
-45
-15
0
-19
15
-9
0
0
5
-8
24
4
0
15
-22
-9
-15
0
33
-48
-19
45
0
-16
44
-67
4
0
48
-48
-28
4
0
0
-17
-29
2
0
-11
-42
-19
0
0
-4
15
-9
0
0
-39
25
9
-12
0
30
8
-23
-21
0
-11
27
-25
9
0
-11
26
18
-9
0
-28
-11
28
-9
0
10
12
15
4
0
-7
-18
39
-3
0
0
-8
4
0
0
-21
13
-20
2
0
1
8
0
-12
0
11
-22
3
19
0
1
27
3
1
0
3
-20
4
-8
0
0
14
-21
-4
0
3
1
-2
1
0
2
6
-11
-1
4
-17
2
-44
16
0
-12
21
3
57
0
3
-42
2
-25
0
-17
14
-12
-27
0
33
0
-28
13
0
10
-4
72
3
0
10
25
11
-16
0
18
-28
-7
1
0
8
-8
26
17
0
48
17
-11
0
0
-11
33
-6
1
0
1
8
1
0
0
4
-7
-6
9
0
-5
-36
-10
12
0
-1
6
15
2
0
-23
-9
-22
8
0
11
-16
75
5
0
7
0
1
3
0
7
9
5
27
0
9
48
-10
-13
0
0
-3
-8
-18
0
-12
9
6
11
0
-5
40
11
11
0
7
-11
-3
-18
0
-13
8
-4
-26
0
0
-11
18
-15
0
16
28
-2
11
0
69
32
51
21
0
37
-12
9
-19
0
23
-8
-22
-9
0
-8
2
22
-4
0
7
14
-38
-33
8
-31
10
21
21
0
36
18
3
1
0
3
44
-50
-8
0
-24
8
-2
-1
0
13
7
4
36
0
35
49
-22
-6
0
-31
18
-33
-5
0
1
-10
9
1
0
6
-1
-2
-28
0
6
1
6
4
0
11
24
61
-11
0
0
-3
-3
1
0
23
-11
24
-16
0
-27
-3
20
0
0
-20
57
-4
-1
0
-2
-16
42
6
0
-33
-29
3
24
0
-6
-4
-2
-4
0
-4
2
4
10
0
-15
29
-12
-15
0
-6
-27
-1
-18
0
-10
7
-2
2
0
2
-10
-13
21
0
11
18
-24
-37
0
-8
15
-11
-25
0
15
-2
6
5
0
19
-4
25
6
0
-17
86
-29
-26
0
61
-21
27
-1
0
31
-7
-43
28
0
17
21
23
-22
0
-16
-29
-21
38
-6
-19
-7
31
37
0
-42
-17
58
-3
0
-14
24
-13
-3
0
1
40
-72
0
0
11
-28
5
16
0
3
-9
-10
13
0
26
-2
12
-19
0
-18
-2
8
-1
0
-4
-11
-39
-15
0
29
-3
4
3
0
0
3
-8
0
0
-1
-16
6
4
0
2
1
3
0
0
-3
23
-3
0
0
7
-9
27
-3
0
33
14
-13
0
0
8
4
-32
5
0
-6
7
-2
0
0
4
2
32
-11
0
-4
18
-23
-21
0
-5
-47
-4
10
0
-9
-8
11
11
0
28
-3
-20
5
0
64
-88
-32
31
0
12
13
22
-23
0
35
-2
-8
4
0
10
-5
53
23
0
-21
22
-72
-7
0
-90
56
-58
33
0
-24
-18
-17
45
0
2
10
-9
-19
0
-17
-24
3
-8
-3
-7
-9
20
-9
0
-5
-7
11
2
0
-35
3
39
3
0
-32
-18
45
-3
0
-22
4
-11
-16
0
-16
-43
53
2
0
-52
-28
41
10
0
-4
24
-20
4
0
-16
-32
-6
-20
0
1
5
-3
4
0
8
15
1
-7
0
0
-1
-1
0
0
25
51
13
-24
0
-9
8
10
-1
0
6
28
-5
0
0
1
-22
-14
1
0
26
49
-60
6
0
-9
2
-21
-33
0
8
-12
0
-5
0
-10
38
-10
-4
0
5
-26
-32
-47
0
-20
-5
-51
2
0
-15
-32
-22
-38
0
-31
19
-44
-34
0
-8
-18
-25
-12
0
67
21
44
3
0
24
-81
51
-58
0
-15
10
9
65
0
-67
-5
-31
69
0
-28
-87
1
29
0
8
-26
-9
29
0
38
18
-86
-40
-3
-6
-14
-4
-19
0
-49
20
14
-18
0
39
-14
-38
-18
0
42
-3
-5
-1
0
16
32
-53
9
0
25
-49
0
-2
0
40
4
19
12
0
0
3
-2
0
0
1
-24
-13
-3
0
-6
3
-32
-1
0
0
3
2
4
0
0
42
2
0
0
9
-9
4
-2
0
10
-10
2
-2
0
-2
4
0
-2
0
-2
-5
-2
0
0
-19
-40
0
0
0
11
22
14
-14
0
10
26
-15
-15
0
-18
44
5
7
0
0
-10
-35
8
0
8
3
28
20
0
-32
-23
-8
47
0
6
-59
-8
40
0
-8
-27
-17
-37
0
45
-37
34
20
0
-36
57
-44
13
0
0
8
28
4
0
-8
10
-34
-6
0
-36
20
0
9
0
6
-6
3
6
0
-11
1
32
-52
0
-53
7
-14
-11
0
37
-6
38
8
0
-57
54
-14
-1
0
27
26
5
8
0
24
18
6
1
0
-14
-24
19
0
0
3
-12
-4
0
0
-6
-11
0
1
0
21
-1
5
1
0
4
19
-8
6
0
5
-13
-2
8
0
0
-7
0
0
0
0
-2
4
-6
0
1
38
10
0
0
9
-11
-11
4
0
6
16
3
0
0
5
48
7
-26
0
-4
-6
35
-2
0
-19
10
-4
36
0
-25
43
-35
42
0
0
-23
28
52
0
-9
-30
-20
-22
0
32
11
-8
-14
0
13
30
-3
-30
0
68
-28
-26
-16
0
4
10
51
-10
0
0
48
-38
9
0
0
-10
35
-4
0
-4
-55
39
-19
0
20
-15
63
-13
0
-9
4
-7
-46
0
-33
4
-16
-9
-2
75
16
-41
39
0
2
-18
29
6
0
11
19
3
9
0
23
-28
-10
-2
0
-1
29
-60
3
0
23
5
-5
0
0
0
1
-9
0
0
-2
0
1
2
0
-16
-4
-3
3
0
9
-18
2
-12
0
0
4
2
0
0
0
4
3
3
0
-3
1
-2
0
0
-3
0
2
0
0
0
2
0
0
0
6
-1
6
0
0
-2
-3
3
-1
0
-4
5
-7
-3
0
13
-4
-21
-33
0
-17
-22
-41
28
0
12
-4
7
-21
0
12
-8
-46
45
0
-33
-79
-19
49
0
-28
2
-18
10
0
18
-62
-6
-6
0
-25
-5
-27
-12
0
-2
5
46
-2
0
-8
-3
-5
-25
0
2
2
6
-1
0
2
52
28
-44
0
-3
28
-40
-2
0
44
3
-36
26
-22
-94
-15
15
-10
0
-50
2
-25
10
0
-1
0
-4
0
0
-1
46
-9
-8
0
-9
11
-2
6
0
3
-34
-8
2
0
-10
19
29
-3
0
1
-1
10
0
0
-26
32
-5
-6
0
-3
-6
-6
-1
0
-7
-2
-9
0
0
0
0
1
0
0
0
-3
2
1
0
0
0
-16
0
0
0
6
-2
0
0
0
-1
-1
0
0
12
-15
22
1
0
-12
-12
-4
5
0
-42
-26
21
-18
0
-16
-26
-25
-21
0
-42
-17
6
12
0
49
-26
-14
5
0
7
-39
-17
-45
0
17
-23
-29
-18
0
-49
-7
-8
48
0
10
-25
-39
26
0
11
-11
1
4
0
3
16
-27
-11
0
3
46
-32
-11
0
-3
-43
-31
-4
0
0
-10
-26
3
0
51
22
44
-9
-1
-48
-14
-38
-21
0
33
62
-29
-27
0
3
4
28
0
0
23
21
-21
44
0
-10
10
44
15
0
19
27
-12
-18
0
-15
9
5
-5
0
12
0
-2
0
0
24
20
2
15
0
-27
10
14
10
0
8
-9
-30
8
0
-21
17
-21
16
0
16
-32
63
-6
0
3
15
38
-21
0
-2
12
25
0
0
-13
33
-29
13
0
7
34
2
-21
0
-6
-9
30
50
0
-3
6
24
15
0
-18
-11
-11
53
0
10
-22
-17
-15
0
-51
-33
39
-27
0
-16
-24
-13
-27
0
53
-33
-1
25
0
-56
9
-1
42
0
18
8
-1
0
0
25
1
1
-2
0
14
-15
14
-6
0
-9
11
-1
19
0
-24
-11
15
-41
0
-25
-16
39
43
0
-47
19
11
4
5
-2
-1
2
18
0
0
-32
21
21
0
10
48
27
-8
0
-59
60
79
2
0
12
15
-44
-12
0
39
-18
-3
7
0
5
14
28
-8
0
-18
-29
14
-2
0
-37
57
-3
-6
0
10
-21
-43
-2
0
-36
24
27
4
0
3
20
-3
-15
0
8
-11
13
-8
0
4
-48
29
-4
0
6
-27
5
-1
0
-2
19
-6
1
0
42
-36
-42
-8
0
-5
8
31
23
0
-12
31
29
10
0
-47
-27
28
-7
0
-27
-30
32
4
0
76
-24
-48
17
0
26
-28
14
8
0
-22
-30
46
-13
0
-58
9
1
-1
0
5
30
-1
25
0
15
27
-9
33
0
24
35
38
10
0
28
6
-6
-7
0
1
2
2
-4
0
12
16
22
-12
0
-6
9
45
-6
-11
-4
17
-1
2
0
8
56
7
-6
0
18
1
-32
0
0
23
11
38
17
0
-6
48
-12
-13
0
39
-9
-2
-1
0
-9
-6
3
3
0
8
19
-2
3
0
-18
-39
-1
-7
0
45
-62
11
3
0
-64
48
3
0
0
2
43
-1
0
0
-10
0
-12
0
0
-3
25
0
0
0
1
0
0
-1
0
1
12
-8
0
0
-49
-2
4
0
0
-7
-10
-7
32
0
-25
28
-8
15
0
-5
-15
9
21
0
-15
-57
-13
-5
0
32
6
-3
-59
0
-10
-6
0
-19
0
53
47
-18
-6
0
9
-17
1
7
0
-15
29
23
37
0
-22
-8
11
30
0
-10
8
1
15
0
-57
-8
18
6
0
-20
-29
-8
38
0
7
-25
-11
15
0
-71
-2
-24
-16
2
-8
10
-32
-25
0
-21
65
-50
49
0
25
27
2
-19
0
12
-24
-57
18
0
20
-1
10
7
0
16
17
-1
1
0
-1
-1
7
-8
0
3
-12
-1
1
0
-45
16
8
13
0
14
-3
28
-6
0
7
-39
-1
-2
0
-20
-19
4
-1
0
-8
-25
3
11
0
0
3
-1
0
0
-1
4
-7
-3
0
-2
4
-1
-1
0
8
-28
0
-1
0
-10
-19
-3
-6
0
-2
-30
22
37
0
17
-50
-38
20
0
3
-37
-5
25
0
-68
47
19
-1
0
-2
50
0
1
0
6
-32
5
-1
0
-21
-37
36
-2
0
-11
10
12
8
0
-19
-4
4
2
0
7
-26
8
-13
0
1
-14
-8
-15
0
-21
14
-7
23
0
3
-25
-48
35
0
47
13
-47
-20
-5
-39
27
-80
-28
0
13
-14
4
20
0
-4
7
3
0
0
-44
54
9
-31
0
-24
23
-18
-19
0
23
-58
5
-2
0
21
89
-26
9
0
6
-10
24
-1
0
0
10
0
-10
0
9
28
-10
1
0
18
-36
16
-7
0
-16
25
35
-16
0
2
-40
-13
22
0
73
2
-9
-1
0
0
-10
56
-3
0
2
2
2
-2
0
49
22
-17
-18
0
-1
-4
-14
8
0
-46
-22
33
-6
0
2
9
-11
-20
0
5
-38
1
43
0
-41
-32
-8
-10
0
-8
-57
22
-29
0
-67
-22
-35
8
0
-53
52
-44
3
0
16
4
-6
32
0
-51
10
-17
67
0
-18
8
26
-32
0
0
27
-11
-5
0
-27
7
14
19
0
-46
39
-18
27
0
-4
-3
-28
-12
4
-41
-6
-31
-70
0
-8
9
-5
-16
0
-28
8
-4
-14
0
-27
18
-38
-12
0
17
-39
-36
45
0
-31
13
32
-16
0
7
-48
-9
7
0
3
-4
-17
0
0
4
-13
-7
6
0
41
-68
-13
45
0
26
3
-21
5
0
2
15
-3
-19
0
-5
-28
13
-15
0
0
11
-50
3
0
-2
-10
41
-11
0
-1
-8
3
3
0
-51
54
-17
1
0
-19
13
-27
-9
0
-22
-6
27
-28
0
-22
-63
38
14
0
-10
4
-48
-20
0
-11
-32
-22
32
0
66
6
21
-23
0
-11
13
6
-1
0
-2
-2
4
1
0
-30
8
30
-19
0
-46
15
3
65
0
30
-48
6
-5
0
-11
-12
-9
-10
0
28
10
2
-9
0
18
-3
20
-53
0
-6
-18
65
4
-9
-2
-18
-6
2
0
15
30
-22
-17
0
-13
-2
5
13
0
-12
4
-7
-15
0
-72
-21
40
-17
0
-8
46
7
-1
0
-2
4
7
2
0
7
16
0
-1
0
-32
3
8
-1
0
-66
52
-15
12
0
30
-51
13
11
0
15
-66
-23
-2
0
48
1
24
0
0
4
17
-1
4
0
0
0
0
-9
0
-10
-6
-13
9
0
-8
-6
8
8
0
-20
-31
0
17
0
-5
18
-31
-8
0
-4
-10
-16
-21
0
49
-23
-41
-22
0
-36
51
19
-50
0
-18
52
-33
-24
0
17
-42
22
-8
0
13
-91
-38
-13
0
16
-11
6
27
0
7
0
6
-5
0
-35
-27
0
2
0
-18
-12
-26
-32
0
15
-19
24
-35
0
18
5
-88
-59
0
23
-44
-19
-7
17
-74
-67
-39
-38
0
-4
17
-34
21
0
-4
7
52
41
0
-31
-31
34
-2
0
11
-49
2
-14
0
-2
15
22
-2
0
-5
-11
-16
-4
0
-7
42
10
0
0
-55
-53
23
4
0
3
35
2
-10
0
-52
-31
-36
-37
0
-16
3
-1
-2
0
-7
7
-71
1
0
0
-59
-16
1
0
0
-21
5
3
0
-24
2
4
2
0
-50
-17
-7
-21
0
-22
-5
-4
5
0
-30
5
-30
-37
0
17
22
0
-62
0
-8
3
-65
-19
0
61
-34
-30
-32
0
-31
-24
-75
-42
0
-15
-28
48
13
0
-37
-56
-7
-16
0
-18
0
2
-13
0
-28
25
-12
11
0
-9
-20
18
-1
0
-1
-50
-57
-39
0
69
-58
-37
10
0
6
-15
-44
-18
0
33
-9
-6
32
5
-46
22
-51
-90
0
24
24
-2
-1
0
39
17
27
28
0
8
35
7
42
0
51
49
6
5
0
7
-9
47
54
0
17
33
-11
49
0
-19
-16
29
24
0
34
20
20
-37
0
13
30
14
2
0
37
-9
25
-27
0
54
11
15
-48
0
-50
33
34
41
0
-11
-22
-16
21
0
9
55
39
24
0
-34
0
24
-10
0
32
57
61
26
0
11
2
-41
5
0
10
6
-11
10
0
10
6
-50
6
0
-59
33
61
6
0
-44
3
-16
11
0
23
-24
82
-15
0
11
-47
23
-16
0
1
-56
41
43
0
-33
2
31
-11
0
87
16
-33
23
0
3
47
-15
3
0
-37
8
34
21
0
14
-15
-1
-1
0
6
32
-13
-11
0
3
-14
6
44
14
0
1
6
23
0
19
37
24
-40
0
12
13
16
-26
0
29
44
22
47
0
25
35
3
-13
0
-2
-17
5
38
0
0
18
19
-2
0
71
-9
18
26
0
15
36
34
-21
0
-25
-2
-6
43
0
33
35
-47
30
0
22
39
0
1
0
13
21
7
30
0
21
-8
31
4
0
-18
39
21
27
0
-12
-35
-14
54
0
-72
61
-20
-25
0
54
-22
13
1
0
61
-31
19
2
0
12
29
-25
9
0
-7
-28
-4
-5
0
-69
37
29
18
0
4
-49
7
18
0
4
0
2
3
0
-5
-18
10
-20
0
34
60
40
-26
0
-36
31
-8
45
0
7
-51
70
-3
0
24
43
-55
4
0
-35
12
24
-22
0
3
40
-50
46
0
6
12
8
-38
5
37
0
1
45
0
36
9
32
-12
0
23
30
1
-27
0
43
29
-48
5
0
37
39
-7
30
0
13
67
29
0
0
22
22
3
-43
0
6
10
-19
30
0
32
-7
36
26
0
-23
-11
31
22
0
17
-44
51
7
0
6
31
23
2
0
8
-15
2
-1
0
-28
36
-8
-8
0
18
-39
1
34
0
-37
27
23
11
0
-29
12
-9
13
0
36
-19
5
-7
0
-4
-21
-13
32
0
-9
47
-2
-4
0
50
27
28
-33
0
-47
30
14
0
0
-33
-19
33
-10
0
-3
-2
-3
0
0
-15
-68
-2
1
0
-6
27
52
-29
0
-7
-2
-20
26
0
-1
-30
4
-19
0
9
-52
-18
21
0
-37
-12
29
3
0
4
-6
-1
35
0
20
17
-54
13
23
-13
-22
-20
-62
0
0
38
-15
14
0
9
2
-3
10
0
17
11
2
9
0
28
41
-1
-40
0
12
31
14
2
0
-12
-13
8
15
0
6
-19
6
14
0
31
-31
-8
10
0
-2
0
-6
62
0
41
-16
27
-11
0
-1
-20
13
-2
0
-20
-34
11
-14
0
-3
8
38
1
0
22
42
-31
30
0
16
-51
-9
0
0
-29
-6
27
-19
0
-26
-10
25
-24
0
-77
3
27
-15
0
-5
20
-20
7
0
-2
-25
-2
19
0
7
49
-35
-7
0
-15
46
37
-6
0
7
-5
-5
-3
0
-20
4
-20
-6
0
-38
17
44
1
0
22
38
-29
10
0
1
24
10
8
0
-35
4
45
19
0
54
14
7
-17
0
15
-28
6
-11
0
25
-4
-43
1
11
-17
-9
-1
12
0
-1
63
13
0
0
31
31
53
25
0
56
47
27
-6
0
-17
13
-1
30
0
15
-11
12
-10
0
12
-8
24
21
0
3
6
2
1
0
-9
-17
27
-4
0
51
34
1
33
0
-59
24
-22
10
0
8
23
14
-3
0
-10
-17
-2
7
0
-6
-9
-6
1
0
0
7
3
-14
0
-3
-4
-15
3
0
20
-14
0
15
0
-8
6
-7
-4
0
1
-21
-9
25
0
41
-8
-12
0
0
-54
16
2
1
0
9
-5
4
-2
0
0
-1
2
2
0
0
-6
4
0
0
-10
1
0
-3
0
-5
17
-1
24
0
13
24
-17
-62
0
-6
-38
-8
0
0
4
-26
4
12
0
19
1
13
-3
0
0
13
-4
0
0
34
-29
-2
0
10
-11
-22
20
-24
0
25
3
11
11
0
-20
9
25
20
0
56
-1
37
-36
0
22
6
62
-17
0
34
29
-22
-3
0
65
25
-11
-2
0
11
-17
-7
7
0
-33
81
6
-5
0
-9
27
31
2
0
-25
-29
-15
37
0
4
-40
-9
-2
0
88
-3
-59
0
0
-6
35
33
-4
0
-4
-21
-11
-16
0
1
-8
16
1
0
20
35
-38
-29
0
-17
40
5
12
0
-17
-37
-6
8
0
20
-47
27
1
0
-33
-17
9
-2
0
0
2
22
2
0
-3
0
19
1
0
-2
-7
12
0
0
4
8
1
1
0
-21
18
-14
7
0
-53
-23
-20
51
0
-8
19
1
-1
0
-51
-34
23
0
0
8
-2
-38
0
0
17
-2
7
-6
0
-7
13
-48
-7
-1
-20
-28
12
1
0
44
31
17
16
0
24
-46
46
0
0
3
12
-12
2
0
55
4
-12
30
0
-50
35
1
0
0
-6
34
-46
-3
0
2
-7
7
0
0
-6
-45
-32
2
0
-35
66
7
-6
0
-15
-12
-7
-5
0
-8
-29
13
-8
0
-8
10
11
6
0
0
32
3
1
0
0
6
-3
-8
0
2
0
8
6
0
-55
0
24
2
0
15
39
-7
0
0
-1
-2
0
12
0
3
-2
-1
0
0
0
-6
3
-2
0
-1
10
-2
0
0
0
0
11
0
0
0
0
0
0
0
7
0
0
-1
0
10
-47
-6
-8
0
16
6
-20
-17
0
0
-12
-15
0
0
-37
0
0
2
0
3
-25
-4
0
0
0
-7
-3
1
0
-1
1
12
0
-9
13
-10
25
-4
0
-7
-21
49
73
0
12
52
22
9
0
-27
-11
32
26
0
0
0
-19
47
0
-18
18
-41
-12
0
25
15
23
-7
0
-48
12
37
7
0
12
-7
-6
-14
0
-17
-21
53
1
0
0
48
-3
-8
0
-7
54
-48
13
0
26
-36
-27
-15
0
-7
5
-9
0
0
18
-22
-1
-7
0
2
40
18
-4
0
-29
-33
21
-2
0
-3
68
2
16
0
-12
53
-10
36
0
2
-3
3
3
0
-4
-37
8
1
0
1
-49
41
3
0
-7
2
-29
1
0
1
0
1
-1
0
-11
28
-11
-1
0
-22
-6
-39
9
0
8
10
21
-9
0
-2
9
-57
0
0
-41
-3
17
-11
0
5
-4
14
-7
0
12
17
27
8
0
45
-44
12
6
8
-71
26
-32
-1
0
37
-17
19
8
0
3
16
27
33
0
7
54
-11
8
0
46
-19
44
-10
0
-30
29
30
-7
0
2
-13
-16
47
0
23
-42
40
0
0
25
-13
10
-3
0
9
34
47
-21
0
15
-29
61
-13
0
-41
42
67
0
0
7
-9
-24
-9
0
41
-12
-6
-1
0
-1
-2
14
-9
0
8
-5
-34
3
0
-57
0
-8
17
0
3
-45
19
-8
0
11
21
3
-2
0
-8
35
-3
0
0
-49
10
6
6
0
14
27
-9
0
0
14
12
-8
-4
0
-7
-1
3
-4
0
15
3
2
-4
0
9
25
-12
1
0
0
4
-3
0
0
0
3
0
0
0
0
-7
20
11
0
-5
25
-30
8
0
2
-27
22
14
0
41
8
-2
-2
-25
3
54
-27
20
0
18
2
23
27
0
-5
-9
13
-2
0
1
-19
7
12
0
22
-10
8
40
0
25
21
39
-37
0
3
12
-52
-9
0
-4
41
15
-6
0
38
-36
-24
4
0
4
-4
-5
10
0
18
-18
62
-27
0
-3
-4
-15
9
0
-7
39
26
5
0
-15
1
3
3
0
0
46
8
-10
0
-4
8
-5
-1
0
-60
70
-19
0
0
15
-16
-58
1
0
25
-5
-1
3
0
-1
33
4
0
0
3
7
-7
-4
0
-20
62
5
-2
0
5
9
-35
3
0
-4
0
0
1
0
29
17
8
0
0
0
19
-19
2
0
-20
-67
8
8
0
0
-7
6
2
0
4
-9
-4
0
0
14
14
-50
0
0
3
28
-2
10
0
-1
-45
-2
0
18
-1
-37
-12
-2
0
-1
17
-20
74
0
11
-17
35
12
0
8
14
31
-4
0
36
-48
13
-11
0
-24
-14
-7
16
0
56
-2
41
-23
0
7
0
-22
-8
0
24
64
-12
-9
0
1
35
-16
1
0
9
71
-65
-14
0
-10
-50
40
9
0
15
3
0
-9
0
2
2
-33
-1
0
0
12
9
-1
0
6
-42
-23
16
0
-5
18
9
-26
0
32
-4
57
0
0
-66
-36
5
-3
0
-11
1
2
0
0
37
38
-30
10
0
32
1
-4
-3
0
9
3
-12
0
0
-3
0
-2
0
0
0
-1
43
2
0
27
14
24
2
0
3
-19
35
-23
0
0
-2
-11
-1
0
7
9
-6
-1
0
-14
6
4
4
0
-1
3
-10
17
0
-9
20
-48
-12
22
0
-2
-36
2
0
-18
34
10
-6
0
19
45
8
23
0
45
22
-28
8
0
3
34
-16
-74
0
1
-6
18
-4
0
15
-25
47
17
0
55
-47
-17
4
0
-16
-13
10
-6
0
15
-20
3
6
0
1
4
16
4
0
3
4
-69
-7
0
3
-19
18
-5
0
8
-21
-19
2
0
-3
-4
57
8
0
-6
-28
20
3
0
20
12
-15
-4
0
-2
35
39
0
0
-84
4
-7
-1
0
-5
-29
-12
2
0
-13
-7
1
2
0
27
-10
14
2
0
-6
14
6
-1
0
0
-6
-3
0
0
-16
-26
-19
0
0
-7
40
31
2
0
1
23
15
-1
0
0
-7
5
0
0
-7
-23
-6
-1
0
-2
-32
1
-16
0
-6
-14
-2
-8
0
9
-17
-10
0
9
5
-39
-27
-35
0
17
8
9
-19
0
5
27
-3
32
0
-6
9
18
34
0
-4
-37
20
-21
0
-15
23
25
-3
0
-4
-4
2
0
0
-10
-18
0
0
0
2
6
-29
-8
0
64
-23
24
9
0
-11
41
-1
-1
0
1
2
0
-1
0
-21
3
13
6
0
2
-5
0
0
0
0
-2
6
0
0
-2
-3
-30
7
0
8
27
-1
-3
0
-2
-12
19
-12
0
28
26
9
6
0
2
21
-42
0
0
-9
12
-2
0
0
8
16
-7
1
0
-1
-1
-15
0
0
0
0
0
0
0
-3
-13
-2
0
0
-24
-21
-15
-1
0
35
15
-16
1
0
3
6
0
0
0
0
10
2
1
0
-2
-14
-2
-10
0
-2
-10
3
0
0
2
6
-1
-3
-17
-20
2
29
-1
0
11
22
12
3
0
-13
-9
19
-32
0
-26
29
38
25
0
11
67
-30
-19
0
-65
-10
17
19
0
17
3
-7
-1
0
8
-8
-17
0
0
24
13
-39
-8
0
-5
15
-26
8
0
42
-35
54
10
0
0
-3
7
2
0
38
3
-24
-6
0
0
-13
0
0
0
0
3
7
0
0
0
11
-1
-4
0
-11
0
-8
2
0
60
-34
1
2
0
63
22
-1
2
0
-8
-28
6
-7
0
-21
28
7
0
0
-2
9
-2
3
0
12
2
-2
-3
0
0
-4
0
-1
0
-21
1
3
0
0
11
18
23
-7
0
13
-46
2
-2
0
0
0
-8
0
0
-9
-3
-7
0
0
0
0
-18
0
0
-6
0
-12
-7
0
-26
9
0
0
-3
-18
-11
6
6
0
20
12
33
38
0
14
6
6
-3
0
-4
14
-14
-2
0
-16
6
15
10
0
15
-11
-48
6
0
4
-25
18
43
0
-1
0
1
3
0
-41
55
-38
13
0
13
-24
-22
-21
0
-17
48
-16
20
0
0
-14
30
7
0
36
-18
2
-4
0
6
-37
36
1
0
4
2
-1
-6
0
1
0
0
-1
0
-26
-38
12
1
0
-3
37
2
-4
0
48
-8
11
-49
0
-3
-20
5
3
0
-28
-2
-3
1
0
7
12
7
0
0
4
0
-27
3
0
-2
2
0
-1
0
-7
3
6
0
0
-39
64
-53
0
0
-12
28
-34
-1
0
0
-1
-1
-6
0
2
0
4
-8
0
-1
12
17
0
0
0
-2
-15
-1
0
-1
3
-1
0
9
-33
-15
7
-3
0
-19
10
29
7
0
-4
-9
11
23
0
16
4
-22
-6
0
39
1
-17
-1
0
5
-17
2
1
0
-18
17
-2
3
0
22
-9
-26
0
0
25
30
-15
35
0
53
30
38
-17
0
7
21
-92
-34
0
38
-11
-7
-36
0
3
54
5
-6
0
2
14
-18
8
0
-24
4
3
0
0
0
28
21
2
0
28
-35
47
-19
0
-5
11
33
40
0
-13
21
6
27
0
-16
-14
76
3
0
-41
-27
-58
0
0
7
-14
-14
-7
0
0
0
-7
6
0
1
-1
-4
0
0
-29
6
-29
0
0
-10
6
-16
-12
0
-17
20
51
0
0
0
-4
-12
-1
0
-21
10
-38
0
0
-5
-6
24
-15
0
8
-18
28
-1
0
-7
-2
-4
1
8
-19
17
-17
-41
0
-7
-10
-14
25
0
-10
12
2
17
0
21
-41
30
-3
0
-14
-7
-23
-43
0
46
-30
1
13
0
87
-4
-8
-3
0
-23
5
10
-6
0
-23
33
35
3
0
17
-2
1
7
0
10
-15
0
11
0
7
16
0
2
0
-24
-13
-5
10
0
22
60
21
-3
0
17
-55
-7
-8
0
14
51
11
-8
0
40
0
23
44
0
6
13
1
-3
0
18
2
-16
-14
0
3
3
-1
1
0
12
-7
-1
-7
0
0
3
2
-26
0
24
22
14
17
0
-30
-2
31
8
0
12
3
-21
30
0
-3
15
14
20
0
-5
12
9
4
0
19
5
21
15
0
8
-5
42
-27
0
-1
13
-4
-25
0
15
-1
-29
42
0
-18
-10
-6
0
7
5
-33
2
19
0
-5
15
-13
54
0
-1
-26
19
-12
0
-3
8
53
-45
0
16
-19
2
20
0
-25
19
21
-25
0
-28
-24
-52
-6
0
14
-33
25
7
0
65
-16
2
1
0
66
32
13
6
0
16
23
-20
-24
0
1
6
-65
-3
0
16
-15
7
18
0
-15
6
-2
12
0
22
68
-67
2
0
-40
2
45
2
0
34
-35
6
-17
0
5
5
13
-9
0
11
6
8
-17
0
1
-10
-6
20
0
-2
-27
-9
-3
0
-1
-9
-2
10
0
-1
-13
-23
4
0
-19
-24
-21
19
0
-3
-20
1
39
0
23
0
12
15
0
-84
51
21
27
0
6
3
12
21
0
-64
35
3
-24
0
38
-5
3
-23
0
-17
65
6
-5
0
-7
21
23
-20
4
-16
-5
11
-10
0
-7
12
-23
19
0
-35
29
-4
-7
0
-61
33
-29
0
0
0
17
17
8
0
5
-4
9
1
0
67
-8
36
-12
0
5
6
1
-1
0
-8
-4
15
0
0
14
19
16
0
0
35
20
-22
-4
0
1
35
3
0
0
1
4
26
-2
0
6
34
-44
6
0
9
3
3
-2
0
15
-11
-1
1
0
-52
-40
35
-1
0
-3
-8
-19
-1
0
1
-3
3
5
0
-22
-27
-28
-25
0
-17
-12
-58
0
0
-4
1
-5
-31
0
-63
-8
32
22
0
-2
-4
-42
10
0
-15
-30
4
-6
0
43
28
-23
-33
0
-29
-54
-30
55
0
13
25
-4
38
0
31
35
0
-32
0
51
-1
-28
1
0
14
-37
49
-37
0
-9
17
-1
57
0
-22
-4
22
18
0
-17
-13
-16
10
0
13
15
18
-44
0
-24
9
-18
-9
0
-25
13
-1
0
0
41
10
4
0
0
9
-11
15
-2
0
1
1
1
-1
0
10
-78
-6
0
0
16
-3
8
5
0
-55
-28
32
-3
0
0
12
-14
0
0
-16
-13
37
-2
0
-11
-46
-3
-6
0
8
-25
-22
-1
0
6
-5
-8
0
0
2
-43
6
-3
0
7
1
-19
8
0
-10
-7
8
-4
0
12
-5
-33
29
0
5
1
-62
-29
0
23
8
2
-7
0
2
13
11
5
0
-27
-30
0
24
0
-45
15
-1
4
0
-3
32
-31
-14
0
-3
42
-25
5
0
-37
6
-41
9
0
2
28
5
-31
0
-4
-3
-7
22
0
-15
-37
2
0
0
-17
-48
-18
0
-4
-64
4
-43
-85
0
-6
10
-9
19
0
2
40
34
-9
0
6
-14
18
9
0
13
3
-35
30
0
-48
8
3
-19
0
-44
15
6
-16
0
-1
9
-8
9
0
-5
9
0
-1
0
-21
-7
-35
-12
0
35
-23
-15
4
0
4
42
-3
0
0
32
-44
-9
-17
0
-1
47
-6
-1
0
0
-5
3
0
0
-24
-10
3
0
0
24
31
-80
-2
0
0
12
-7
32
0
7
-41
-7
0
0
-39
-26
16
-17
0
-6
16
-30
-28
0
-24
0
37
32
0
-6
-8
40
8
0
-4
-24
-51
-4
0
-46
-48
-27
72
0
-31
38
-15
-52
0
-80
65
-17
47
0
36
55
-18
-27
0
-36
17
0
16
0
-7
25
-30
-5
0
-1
-6
-14
-47
0
15
33
28
-6
7
-7
-2
-6
-13
0
-15
41
44
-10
0
13
46
10
-7
0
29
-15
-6
15
0
10
58
-6
22
0
-38
-6
-23
2
0
-8
17
39
0
0
14
-1
-3
4
0
2
-5
-46
-6
0
-64
24
-21
-2
0
26
8
12
7
0
0
28
-1
0
0
49
-9
-11
0
0
1
37
-39
-2
0
-1
8
-11
1
0
4
6
-9
4
0
-33
90
-13
-11
0
0
4
2
19
0
-4
-41
13
37
0
-26
-8
4
-1
0
-37
-22
-23
0
0
-5
-53
-11
-20
0
-67
-65
-22
0
0
22
24
-1
-43
0
8
14
35
26
0
-13
-8
5
34
0
29
-22
-37
-10
0
6
14
-17
26
0
28
-22
-29
-6
0
2
-49
-11
15
0
9
-9
-89
2
0
-40
23
-29
-81
28
-38
8
-28
-58
0
-30
-8
63
10
0
-29
29
-32
27
0
-5
18
-6
2
0
-2
42
-3
22
0
1
14
-16
0
0
-1
-17
11
0
0
3
-3
0
1
0
69
-10
-22
-13
0
-36
11
-2
0
0
-12
39
14
-8
0
-2
-26
3
2
0
27
13
-3
-12
0
0
-7
0
0
0
-2
-1
-3
1
0
-3
6
0
1
0
23
-27
1
3
0
-12
-19
18
56
0
0
-11
-55
-8
0
-9
-7
-21
7
0
3
-36
-24
8
0
-1
43
33
-17
0
86
-117
30
-33
0
29
-3
46
-36
0
-42
-22
42
-6
0
36
-3
-42
-40
0
-57
55
-27
23
0
40
65
-38
-15
0
39
-50
17
-15
0
-10
-49
-17
11
0
3
3
-1
0
0
35
-39
11
-39
-2
3
26
-29
-14
0
34
-25
27
-32
0
27
32
-33
-12
0
24
-21
-41
-12
0
-46
19
21
-16
0
73
-57
67
-4
0
-21
33
3
-4
0
29
-33
10
-8
0
-96
32
23
-4
0
-13
60
0
-2
0
-70
61
0
25
0
-18
-27
-57
2
0
12
-44
-13
-1
0
36
12
7
2
0
15
-2
-45
0
0
-2
5
-15
-3
0
27
43
-8
6
0
-2
6
13
6
0
-10
-24
-4
3
0
-40
-13
-20
-48
0
-37
5
-41
-28
0
-16
-43
-40
-11
0
17
-15
-8
20
0
-35
-41
1
-11
0
-6
-12
3
-8
0
6
-8
-31
24
0
28
-5
-72
10
0
-51
-33
-1
-11
0
5
-18
12
-2
0
-7
-12
9
-91
0
-9
32
5
-41
0
-84
-9
18
26
-5
20
-62
-25
26
0
-15
-1
-2
0
0
3
4
38
29
0
47
-12
57
5
0
-5
-29
-19
-15
0
4
12
-25
-4
0
34
4
9
5
0
-7
9
2
0
0
-13
4
28
-12
0
-34
27
-41
-37
0
34
50
13
10
0
5
44
-14
20
0
-41
-4
17
20
0
3
-23
-24
-8
0
-48
2
8
-3
0
-14
12
34
-1
0
15
-6
-7
0
0
2
-1
25
-21
0
12
5
18
-13
0
18
12
7
-46
0
4
8
63
10
0
15
-10
0
5
0
-50
-16
11
-17
0
23
-46
-39
61
0
-4
-35
-13
-10
0
12
2
1
9
0
0
-2
1
14
0
-7
20
23
-1
0
16
7
11
28
0
62
12
5
9
0
5
36
1
-20
0
-1
9
-12
-27
10
-33
12
-8
-9
0
-30
36
9
55
0
-19
47
44
5
0
-8
24
-12
-13
0
41
-29
-21
58
0
76
1
31
0
0
-23
-5
8
21
0
-21
23
-46
-5
0
-5
33
-49
9
0
23
-38
23
-10
0
-23
6
36
-79
0
-1
-49
23
7
0
-12
-37
12
10
0
-33
45
-7
0
0
10
7
11
0
0
4
-5
-45
0
0
-3
19
-28
4
0
9
-20
10
53
0
3
-37
6
-25
0
-10
-15
38
-29
0
13
-57
54
11
0
-32
0
56
-2
0
-56
-31
-37
30
0
49
3
-75
1
0
-64
-33
37
-1
0
5
14
18
9
0
8
8
20
9
0
-7
3
-17
12
0
33
-8
27
11
0
50
21
-12
14
0
-28
5
31
1
0
42
42
-3
-25
-2
-25
20
-4
34
0
0
19
30
-31
0
-2
-3
26
46
0
13
54
23
-7
0
-24
5
17
-25
0
28
-11
-9
0
0
-20
44
9
2
0
25
16
-1
0
0
-48
40
-6
14
0
-3
25
2
0
0
45
-66
9
20
0
10
-9
-6
-7
0
4
-8
3
7
0
4
-17
7
0
0
0
0
28
0
0
1
11
-3
-3
0
-16
-1
-3
-33
0
-7
-15
-7
-3
0
0
6
-2
-30
0
-7
19
-15
-4
0
-24
-32
-49
-1
0
-38
2
-6
-19
0
-27
-5
-15
-8
0
35
-19
15
-23
0
25
-23
-46
-23
0
8
10
4
-15
0
26
-8
0
-12
0
6
-16
0
-7
0
-53
19
11
6
0
-3
-4
-26
11
0
-15
73
6
-54
0
42
-20
-31
45
-12
-5
-11
21
7
0
15
7
18
64
0
-48
3
-8
-1
0
-54
19
5
-8
0
-28
-17
14
-5
0
3
79
2
3
0
11
-44
57
-27
0
9
5
6
-2
0
-30
-15
15
-1
0
-21
38
34
20
0
-14
-31
-13
15
0
10
20
-36
-11
0
-14
6
-8
0
0
12
-10
9
-3
0
1
19
11
-4
0
-1
-9
9
-1
0
-3
-33
-3
0
0
-18
-8
-28
-14
0
15
-3
-11
16
0
-14
-25
-49
16
0
-14
44
-30
-1
0
-24
-14
-4
-61
0
-59
-23
-3
0
0
12
54
7
-9
0
64
40
-46
-33
0
9
9
3
-9
0
-2
10
39
13
0
-44
-5
30
-4
0
23
10
-16
13
0
33
-6
24
-24
0
26
-16
9
-4
0
-54
15
-23
9
-5
17
20
-21
-9
0
20
23
45
5
0
14
42
31
-8
0
-32
37
-9
-53
0
6
36
-11
-9
0
-15
9
-11
-3
0
-25
21
-25
18
0
16
-11
22
-1
0
-16
4
-4
0
0
0
7
-1
20
0
-55
8
31
12
0
-9
10
-24
45
0
-17
29
-4
48
0
18
13
4
-8
0
0
-34
27
13
0
0
-3
-16
-12
0
27
-62
15
-15
0
-7
25
-2
11
0
0
11
13
-1
0
-17
-19
-8
29
0
-33
-1
0
-8
0
-5
-42
-60
20
0
24
-8
-9
-32
0
-69
-33
39
65
0
-15
5
-59
-4
0
9
8
11
1
0
52
15
33
-29
0
33
-2
3
-26
0
17
-21
-11
21
0
4
10
2
-13
0
-39
24
34
15
0
34
-2
-36
6
-6
16
-5
-11
18
0
-9
7
5
19
0
30
9
2
-16
0
14
-32
0
46
0
9
-2
20
11
0
9
-12
9
20
0
37
22
10
-7
0
-4
-22
9
6
0
-20
-6
-13
8
0
-16
-3
3
56
0
15
-3
-37
13
0
-8
-33
41
0
0
-16
14
3
-22
0
-1
-2
27
0
0
4
1
-4
9
0
2
17
2
-9
0
-29
2
-12
2
0
-7
5
4
-33
0
-9
-7
25
47
0
-33
-9
-44
-7
0
26
12
-63
17
0
-56
13
-24
23
0
-31
43
-47
-48
0
1
-26
-21
-11
0
0
1
-47
-1
0
25
18
15
-2
0
13
-17
30
-22
0
-6
9
-10
-46
0
-29
20
-29
17
0
-4
-5
-5
45
0
4
42
4
-23
0
1
-5
28
-73
-8
-95
23
-10
39
0
74
34
1
10
0
26
0
-35
47
0
-22
-11
11
-5
0
-1
-9
3
9
0
40
18
1
-7
0
-41
-12
-4
-7
0
0
18
19
2
0
3
9
-39
-27
0
-19
22
13
-1
0
-37
-30
17
10
0
7
18
-67
25
0
-6
23
38
4
0
-3
16
-28
4
0
10
0
-29
-1
0
0
8
0
0
0
-20
-4
-19
16
0
-5
13
30
7
0
8
-10
-10
16
0
9
2
5
-31
0
-40
-2
-61
-17
0
-2
-15
-24
10
0
-44
-30
-46
23
0
15
-24
-12
3
0
31
45
1
-13
0
-32
27
-8
12
0
3
-27
8
-14
0
7
-44
-1
-6
0
9
-57
5
10
0
-4
1
31
-2
0
8
-47
-13
-22
0
0
1
21
33
-15
-65
55
21
-82
0
-16
3
23
17
0
-21
33
1
-56
0
-41
9
-22
22
0
-36
-1
-27
-12
0
55
-22
5
0
0
-19
-7
33
45
0
-22
44
20
-30
0
-22
-42
10
10
0
38
-1
-16
-5
0
44
-15
18
24
0
3
52
3
-15
0
-60
-12
-10
13
0
-47
42
-9
-8
0
-3
-1
-1
-12
0
-13
0
-38
2
0
3
-35
-46
-24
0
-3
-9
-3
16
0
-21
27
-10
10
0
-18
-60
-32
9
0
19
-11
47
-46
0
46
15
0
31
0
4
43
-38
-40
0
1
24
-6
-37
0
-37
-52
-43
-50
0
33
3
12
6
0
45
-4
-23
47
0
12
-22
-53
3
0
-34
-11
-10
-16
0
-52
-53
-21
15
0
38
-52
1
36
0
21
-48
6
-33
-2
-23
-25
-40
-16
-2
21
1
12
1
25
17
9
9
20
45
-16
4
5
11
25
0
27
22
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
56
17
10
-10
-34
5
60
52
44
4
36
-3
12
17
23
2
13
-71
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
10
9
75
23
15
-34
16
16
34
-3
17
-36
4
0
19
17
17
-9
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
4
-76
-8
-37
0
-12
47
10
30
0
13
6
-43
1
0
-21
3
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
4
5
-14
-1
5
23
11
7
33
14
-3
45
7
4
-5
8
8
3
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
30
13
-6
45
34
10
12
40
21
2
-3
0
36
14
2
-27
23
-14
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-26
-35
51
50
14
26
-46
-7
4
6
98
45
-38
0
4
-65
41
74
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
19
17
9
10
7
-1
55
-13
0
49
-20
21
0
4
8
0
-14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
14
8
27
13
13
7
27
26
19
-15
-6
9
23
18
1
-9
13
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
38
-31
4
-45
58
49
9
-25
-8
14
-24
-8
-13
26
-12
-14
-46
8
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
16
-29
-11
1
-2
32
-5
24
-1
18
28
-42
7
16
11
-28
-2
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
-9
-42
8
0
13
12
10
0
0
52
-22
11
-3
0
13
-26
20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-5
46
14
16
-11
3
5
-11
27
19
18
32
33
26
21
21
16
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
27
-23
37
-2
-1
2
-7
-21
6
16
45
31
24
3
-48
28
8
-8
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-54
75
22
-34
-11
-9
-11
-27
8
34
9
-51
26
13
10
20
29
-59
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-34
18
32
1
0
-2
10
9
19
0
7
-21
-13
1
-2
-28
59
-8
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
13
36
28
53
39
38
27
47
12
-6
2
29
36
6
-11
-21
32
-10
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
39
-43
34
33
52
21
13
-16
-59
5
5
19
-14
13
-14
21
-31
-6
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
8
17
-22
37
0
34
-13
-16
10
-4
-66
17
0
3
-1
-2
-12
25
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
49
17
1
-16
0
-47
-9
-26
0
0
1
-13
-10
-1
0
17
-3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
30
17
9
29
21
29
7
25
30
16
40
-19
24
13
-44
8
29
11
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-22
55
15
1
23
-5
31
-29
-25
-9
4
5
-29
9
1
14
5
-3
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-34
22
7
-7
20
-14
29
12
22
2
-25
16
-26
0
1
-33
9
14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
58
-16
0
8
-41
-29
-13
0
-43
-17
-27
0
0
-48
-12
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
11
11
11
8
22
-1
-6
12
-20
12
21
-15
-4
21
-33
8
-7
34
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
13
10
-1
-13
-6
-29
22
-11
-8
-2
6
-10
-9
-11
-5
-13
13
-13
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-29
-50
-22
2
-1
-8
55
6
-2
1
1
-18
0
0
0
16
-15
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
21
-25
-2
0
-5
4
0
-1
0
8
0
1
0
0
4
20
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-12
32
10
6
24
30
13
19
-36
0
-31
-30
24
-9
-59
2
-4
11
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
24
-66
49
23
24
18
40
68
-41
47
35
33
-16
8
0
-37
18
-16
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
15
-67
51
25
7
-55
40
-10
5
-11
18
10
-12
0
6
-14
-9
-3
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-11
-45
20
13
1
57
-34
5
14
0
-33
14
3
-7
0
-36
-10
26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
11
55
15
73
16
-20
-17
1
19
-5
-13
29
-1
-6
13
-7
-5
38
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
1
28
0
20
-13
10
21
45
38
16
39
4
55
-13
-15
-29
58
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
-11
20
13
-6
46
31
10
-4
-24
7
24
40
1
-6
-22
-12
7
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
19
23
36
-32
13
70
-8
1
39
2
-42
36
-51
-16
23
15
-66
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
15
61
-8
7
25
12
49
23
-14
27
-2
3
4
-19
27
14
52
5
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
2
56
-11
32
-27
42
0
30
-15
-4
-47
13
15
-2
-30
41
-15
31
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
6
27
58
-18
-39
-36
4
5
47
33
0
-68
23
12
-12
11
-40
13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
69
-17
-26
-48
8
-57
29
-16
9
-1
-39
34
-10
6
32
-2
-37
16
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-53
6
61
51
12
51
23
43
-12
-6
28
70
-34
-28
31
2
4
-28
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
12
5
21
-17
-3
15
47
22
-25
0
-5
-24
29
27
11
1
-19
-25
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-58
-20
56
29
31
-32
-29
-26
28
-23
-18
-33
-22
34
-45
-30
58
-21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
33
33
-25
-38
7
-72
16
47
11
1
35
12
-11
8
-15
3
-8
-10
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-18
31
41
15
-1
-8
-29
4
38
1
17
-14
22
24
1
32
12
-30
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
35
62
17
-42
-7
-19
9
10
-4
4
0
-6
-19
-7
68
-3
45
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-24
6
-93
14
31
-42
3
-27
-68
-17
23
-15
48
-2
-54
-22
3
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
12
-1
-11
1
7
-10
-13
0
-20
3
9
-71
0
0
-23
-1
35
-23
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-11
0
40
4
55
-16
19
3
-4
-2
6
1
23
-11
42
-83
-1
-44
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
6
-2
37
-12
-44
22
-67
7
46
6
25
40
-31
-3
27
-30
48
-40
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-10
-6
15
-10
-65
32
44
12
-2
-4
0
-24
13
-1
-16
18
2
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
32
-30
-13
-23
34
10
-5
21
-14
-2
8
26
-39
18
-10
-1
0
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
46
-10
21
3
25
-10
4
25
-16
33
28
-17
-63
17
22
12
32
-34
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
53
38
-13
0
-54
11
32
-74
16
7
11
-6
20
-12
-30
20
28
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-66
42
-8
1
33
-24
-24
-18
3
0
-6
-9
30
-4
-7
0
-44
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-38
-13
-32
-5
1
-19
-35
17
6
0
-29
13
-13
-17
6
-38
-59
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
0
16
-28
-16
-33
38
26
-36
23
41
12
-52
39
-5
-71
-24
-19
18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
12
14
35
6
4
12
-15
0
0
-4
-49
6
24
-3
-26
19
7
30
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
-23
-19
5
-12
-78
28
-5
8
30
4
10
2
15
2
-9
-7
32
-40
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
8
58
10
-8
19
-43
46
-35
-4
21
-44
-17
12
3
-26
9
3
33
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
-1
-11
-45
-14
-27
-41
12
20
-11
-33
-11
21
-48
-23
1
3
39
-30
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
10
-11
10
16
2
-17
9
35
22
-24
33
17
-21
17
4
5
10
-34
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
34
13
6
8
27
43
2
-25
-22
2
-50
-58
12
10
-17
4
-35
-5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
46
-21
-2
10
9
38
-38
-28
0
-24
-6
45
19
-2
-20
-79
-5
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
18
-20
1
-3
5
-55
63
29
13
-19
16
29
-16
-4
-32
37
12
17
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
8
-12
25
3
-12
19
23
6
42
12
-10
-52
13
-15
-9
30
63
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
7
3
4
-1
5
8
27
23
8
-4
14
9
9
6
12
8
-4
-6
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
32
15
4
16
-17
34
-10
55
18
1
7
-4
-8
-12
-23
41
21
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
39
2
5
38
18
28
13
45
-9
-3
-3
88
-8
-1
-15
13
-25
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
-5
-23
25
-49
-3
59
56
0
9
-47
-5
-9
1
47
20
-44
-44
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
8
20
14
-2
2
8
-6
2
-9
-19
-4
6
-11
-9
-6
-2
-9
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
19
13
-26
32
22
20
-19
-32
-28
0
-12
32
42
-64
12
67
-81
-41
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
14
-9
6
15
16
9
-5
45
20
-44
60
44
-18
-14
-2
50
-85
-13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-76
30
38
-13
9
0
-37
-18
1
-9
13
17
-14
-4
-12
14
-35
39
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
-7
4
-5
-3
-4
-8
1
-11
27
9
4
-1
7
35
-9
-8
-13
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-59
21
-9
-1
25
-5
-34
-54
-15
-2
16
15
-31
56
4
-30
16
56
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-41
54
-44
3
-43
18
8
93
12
-2
-9
41
-5
-11
-3
42
-12
19
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-17
0
28
3
-8
-37
1
-12
-34
-4
-2
-21
16
12
16
-49
-20
-12
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
1
-3
21
-5
-30
1
7
9
3
-22
5
-16
-9
-41
-1
-32
-3
-11
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
18
17
-2
32
-2
-69
43
2
60
10
-63
-9
21
-38
-17
51
-2
-8
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
7
-37
0
0
-4
-14
50
-7
-22
-21
11
-8
-13
0
10
-41
-9
-21
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-48
17
16
12
25
29
1
-54
1
-20
13
0
41
1
4
-16
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
31
15
31
-3
4
17
24
30
3
-28
0
-12
14
-27
-40
3
-35
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-10
-11
7
22
-53
-44
-2
-35
25
-60
-7
-33
44
-19
33
5
-18
-24
-87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
31
8
-30
23
30
31
15
-39
-22
-14
55
14
-7
-11
32
38
-19
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-9
-7
44
-4
-40
53
-4
17
14
-3
-22
50
-4
-1
-16
17
-39
32
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
5
37
18
5
36
-19
31
24
29
-46
-40
-17
4
-22
-51
-36
7
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
12
3
13
49
26
-19
17
48
-40
52
-8
6
-42
-25
-44
-42
-8
24
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
2
7
9
4
-79
-20
35
-25
-13
-19
-35
3
36
-6
-3
-12
41
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-15
19
-5
2
28
-8
22
-27
-3
-1
-19
4
7
0
-3
-10
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
11
-17
31
-13
-56
-8
21
-29
-9
-51
2
-38
-11
25
30
-13
-25
-1
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-20
-11
-15
-2
-25
-70
1
-43
-6
7
29
-15
61
-79
32
-27
-50
-75
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-37
73
-4
0
-34
-40
-21
-45
1
-14
23
-26
11
4
-15
-7
8
21
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
20
-30
-63
10
15
-12
17
12
0
-2
-9
-56
-12
1
-8
16
-30
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
12
11
7
-27
-55
8
-4
-32
15
-29
8
13
-42
18
26
-39
-17
-3
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-29
1
2
-36
-42
-42
14
-30
-12
-28
-71
-37
17
16
4
16
-9
-31
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
40
18
28
12
-3
9
28
43
20
13
21
-3
-45
-9
-52
26
12
-18
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
11
-23
44
14
25
2
21
-15
14
82
-39
1
-21
-16
3
-4
9
11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
1
-12
-7
-21
14
-4
-4
34
6
-27
-26
0
25
-58
-6
4
-28
40
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
12
11
7
12
1
-10
16
-3
7
-19
6
22
27
20
-11
6
10
41
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
17
-23
-1
8
45
28
24
-6
2
-1
-32
28
6
-9
45
-25
0
15
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-3
7
-3
12
36
-58
27
40
-5
-23
8
-15
48
-19
20
1
38
-28
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-1
20
2
37
27
18
-27
-64
9
-21
38
-45
-3
-83
-11
29
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-13
-4
9
-1
6
11
-9
24
-1
-46
-1
4
17
31
-44
-24
-19
-5
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
-24
13
-14
38
-14
15
38
24
-7
-31
-49
5
-15
-24
2
-1
5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-33
-14
6
37
16
-4
-30
-59
-3
-15
-2
46
-76
63
50
-10
-3
3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-28
6
11
23
-8
22
-22
-10
21
-27
-5
28
-15
5
-71
-44
-29
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
29
-5
22
4
-6
31
0
-6
-59
-6
20
-20
19
35
-10
12
2
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-42
17
60
-16
82
-60
-30
-51
48
-51
26
-23
-12
52
71
24
-15
-9
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
6
-59
-25
6
2
9
-2
1
-15
17
-15
-55
-41
-24
-57
-16
-12
9
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-1
56
9
51
-35
-17
19
-3
-21
30
-55
0
5
38
14
-25
-30
-25
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
25
43
33
-31
6
5
-1
10
5
8
-2
26
0
-18
-21
-40
-20
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
3
-29
21
26
-28
50
39
-5
48
8
20
5
-14
-59
38
-41
-2
66
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-28
14
42
-20
61
-29
-32
0
17
-41
38
12
1
15
2
-23
24
20
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
3
17
-3
3
-42
-32
39
9
3
-11
25
-23
8
-3
-41
-10
1
-83
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
10
1
18
-5
-21
10
26
-15
-5
-10
28
5
3
-38
-80
-9
24
-17
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-21
30
11
14
-4
3
-1
-12
-10
-6
22
1
-2
-19
-29
29
-43
29
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-14
10
-8
16
25
-1
-16
22
-5
-16
-37
-61
-15
17
-29
14
-10
-52
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-5
37
-6
16
-19
-47
-17
-41
-33
-9
-32
40
18
-29
-16
-34
-41
-9
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
13
45
29
33
4
3
-37
23
-25
-29
-23
34
-11
-28
11
-37
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-70
15
-8
-26
27
30
-2
32
20
28
-14
-56
24
-23
-9
-9
-17
-51
-17
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-84
55
24
-9
-8
-18
44
-39
7
-13
-35
-53
-11
36
3
0
-40
12
22
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-13
-20
-24
4
38
15
-18
-11
-12
-34
-7
17
-14
-43
49
-4
-19
-20
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-21
28
-26
-12
-27
1
-20
-17
14
-42
-23
21
10
-49
5
15
-7
-26
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
11
54
47
-31
-18
-3
4
-27
9
16
-43
14
80
33
-30
19
10
12
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
17
8
39
0
-37
-16
-2
-78
-44
-2
-19
10
-12
-9
-38
-57
-15
22
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
29
-29
-5
-5
5
-21
-48
17
-43
-66
-25
-58
-102
9
-16
-58
-54
-46
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-37
4
-2
-19
-28
5
8
-32
6
36
-34
-15
-35
2
-37
-34
-5
2
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
8
-8
20
38
6
13
9
27
71
38
44
16
39
36
6
30
-6
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
8
19
22
42
12
21
22
28
18
-1
9
14
39
-21
-10
23
-14
48
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-26
-46
-6
11
11
-27
36
-6
59
0
19
-6
5
7
39
21
-46
47
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
28
-5
-9
-6
64
-18
0
-26
1
-32
46
-18
-5
0
3
-29
32
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
9
3
15
33
24
17
-9
4
45
35
5
41
-16
54
30
-1
28
5
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
71
13
28
-7
-33
-11
29
32
-3
-23
62
4
-49
38
-20
92
26
-32
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
15
39
20
-31
-23
-45
24
-40
-9
-15
10
3
16
4
21
8
47
31
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
13
-9
3
-4
83
-80
25
-15
23
0
-17
-15
-12
2
0
9
6
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
23
17
2
40
8
-4
12
10
28
31
41
11
17
-4
12
25
6
26
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
43
-25
23
4
26
-67
-31
23
-16
-6
-55
21
2
15
51
26
-58
-19
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
9
-21
2
-8
6
1
6
-22
28
4
-22
-35
-9
6
-33
2
29
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
-10
21
18
-1
43
32
-26
9
0
-38
-43
-1
-3
0
20
-60
41
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
10
11
35
41
-2
15
33
-2
19
12
5
-21
7
-10
22
6
-14
6
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-24
35
-3
30
-47
19
38
35
-14
-23
8
16
-21
25
70
-38
-7
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
44
20
-5
-4
26
-37
-14
-47
16
-2
-29
7
-21
11
-20
-43
2
-19
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-17
-5
-15
23
0
31
7
-3
-34
1
-2
-20
12
-4
34
-11
-5
-26
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
26
14
61
2
7
-2
6
49
35
-21
33
-50
57
12
-28
19
-8
12
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
26
2
37
-16
27
81
-32
12
-26
0
46
-14
-8
7
-1
-28
-10
-38
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
83
25
16
-12
0
6
15
7
17
-5
-6
40
-1
-2
8
6
-33
-24
-21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-30
36
-14
-7
0
-3
52
29
41
0
-6
7
9
3
0
1
-2
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-9
35
20
58
0
17
10
19
-2
-31
-30
-7
-23
14
-52
16
-6
-29
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
36
-28
43
20
1
-7
2
-25
3
6
-33
-9
35
0
19
-5
-21
-36
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
21
47
-40
6
58
-4
-8
27
-69
14
-12
-50
33
0
-1
-4
-53
62
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
32
-3
37
-7
13
9
-8
-8
18
0
-4
-3
0
1
0
3
19
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
4
23
5
-4
40
-23
11
61
-19
34
-58
9
55
23
-10
-46
-16
63
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
41
-1
4
19
7
-9
18
11
10
-1
17
-15
-11
2
-4
-1
15
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-22
45
9
4
20
-27
-7
23
12
-8
29
-32
-11
0
0
0
21
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
59
-1
-1
3
-28
9
-2
0
3
-8
-2
1
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
35
42
-13
-12
-13
16
37
62
22
5
-24
24
2
16
-11
25
-10
-9
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-7
40
-19
28
24
-17
30
-32
39
4
-18
-4
28
0
34
-34
65
16
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
4
2
19
-16
-19
-1
29
30
10
-21
14
-8
-32
-3
-3
24
-85
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-31
17
-7
-6
2
-36
-1
62
0
0
-9
1
-26
4
1
-34
-11
6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
14
-5
60
41
35
-9
20
11
-41
-36
33
53
-8
17
20
2
-33
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
34
6
83
-2
-16
-14
2
31
3
19
-34
34
8
23
-4
-13
75
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-10
37
0
11
-33
49
4
8
16
-11
46
21
32
-4
0
-3
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
12
8
11
-15
0
-56
-1
26
10
4
5
22
-12
-6
0
1
-15
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
11
35
25
56
28
5
30
-3
43
3
58
-10
22
-18
23
-24
25
-21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-3
37
22
6
34
-19
-33
49
-3
9
-20
29
-20
18
-27
11
-8
-48
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
22
-31
-14
3
-67
50
20
3
0
-6
6
7
-6
0
20
7
-24
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-53
31
-45
1
29
-18
9
-15
22
0
15
-8
0
0
-1
-19
-1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
5
43
-3
54
3
16
31
12
-24
8
22
-11
-13
-14
19
10
-3
14
47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-22
17
11
-15
45
-34
60
-31
28
-21
-45
28
-24
-8
-16
-13
-7
-13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
21
24
41
-7
39
-14
18
-12
50
27
75
-66
1
3
5
47
16
-30
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
41
-16
50
-3
-2
-12
-17
-13
-10
0
35
11
-2
-8
-2
-9
-11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
41
2
23
-29
17
18
20
17
-24
38
-16
-3
6
-37
27
13
-22
3
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
5
-24
24
1
3
-3
-4
16
-29
1
4
-1
51
-1
-61
2
-25
47
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-9
7
-10
4
-12
-17
20
2
-15
3
-42
47
-26
3
-5
55
17
-86
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
42
-11
-6
-4
-14
15
10
12
1
10
-47
30
3
2
32
-41
7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
20
-3
19
15
-44
16
47
-22
-24
45
23
25
-29
17
-10
31
8
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
15
35
5
44
16
-21
18
2
17
-1
-6
2
-19
-9
3
-1
-7
16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
64
27
-21
-2
-9
-5
27
-1
-3
0
-33
-1
-3
-3
0
-4
16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
36
27
-9
1
0
-6
24
-10
1
0
2
2
15
-2
0
-1
-7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
5
38
0
30
9
-3
16
6
39
-19
74
-29
58
-50
-31
1
-15
29
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-35
-7
-6
-19
-9
10
-6
46
-11
4
16
-25
-24
1
-11
-9
-9
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
32
-57
23
-36
-9
-4
-43
24
-1
9
-2
4
-3
13
-8
44
2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
12
8
4
-24
0
-4
-40
2
0
-2
-8
-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
19
21
23
-1
-1
31
-19
24
-5
-1
20
-13
30
-20
-6
33
14
12
15
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-32
-20
4
1
21
0
19
0
-23
30
11
10
-8
2
-116
-7
21
28
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
45
17
-17
-68
45
-15
-43
58
-1
25
11
14
-11
7
0
-11
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
23
-33
-2
1
1
16
-1
18
2
-2
-27
8
-6
-1
0
3
-4
24
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
62
9
22
-8
-55
2
7
53
3
35
-11
8
38
-48
39
-31
-8
26
-34
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-23
30
49
-14
1
-8
28
9
-5
47
32
-21
-34
-13
-30
42
-28
-7
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
18
27
-10
-34
-1
-2
28
2
-12
0
-16
-7
-16
36
-44
22
-46
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-15
40
40
-30
5
22
-30
-24
-4
3
-12
39
-5
0
1
26
-22
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
4
-9
26
44
-6
17
48
46
-41
6
-7
37
4
-47
-34
37
13
33
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-54
20
-50
-14
65
0
6
-13
-9
26
-10
13
13
-2
-4
-67
45
25
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
-3
4
4
12
10
-7
17
3
-10
6
5
-11
5
-9
-5
-10
13
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
7
-5
10
-2
28
-9
20
-15
-39
4
28
2
-14
-32
-2
18
-21
31
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
25
-3
36
16
6
7
8
-3
17
-49
35
9
15
-22
32
2
-16
37
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-12
-30
7
30
38
62
9
-63
-8
-18
-6
-53
-11
-6
-4
87
8
-25
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-6
-5
25
-7
-2
2
-9
21
10
-22
-2
-22
32
-9
-15
-16
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
22
-4
-6
-58
15
17
-15
9
-8
0
13
-19
45
7
-11
44
17
-67
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
6
-11
55
-20
23
65
-7
2
4
-16
-12
104
11
-27
49
20
-5
4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-16
28
33
-4
19
-28
31
-2
-24
-4
31
-5
-40
-4
-6
-8
16
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
15
0
13
9
-57
5
-7
-5
-5
-19
-2
-1
0
-2
-9
-17
-1
6
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-2
-3
-42
43
-7
-26
-33
-35
-7
-28
-48
11
17
-1
11
-52
-15
-28
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-11
13
-4
7
-2
32
1
35
13
-45
-36
-4
12
-2
-5
-5
9
-5
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-12
25
0
-8
-2
36
-49
-9
2
0
-35
1
22
0
-40
20
-35
-45
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-5
-8
9
-2
-8
7
7
6
-10
-13
9
-17
13
-11
-10
-26
-30
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-25
-5
4
26
-34
21
-20
-31
-7
-2
-21
-39
2
-4
25
-34
21
-11
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
38
-1
-30
34
-5
-33
27
0
13
15
-16
14
-15
-12
22
22
-6
61
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
63
30
-68
-30
9
20
-35
-52
-27
-6
-5
46
-5
1
-8
-13
28
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-7
14
42
5
-5
-4
25
15
22
26
19
9
18
16
-56
-28
-2
-9
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
4
45
54
-27
28
30
-9
-61
-6
2
-3
-25
-57
20
0
-46
-4
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
26
41
25
-22
27
6
11
-71
38
-1
120
47
-43
-25
-1
38
-37
-10
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
20
-39
-39
26
-53
51
-9
-9
0
-11
0
3
1
0
3
-8
-37
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-18
24
-3
1
-17
-24
-4
-16
-2
-13
-16
-16
15
-1
-49
-68
-3
7
91
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
-9
2
-40
-54
81
34
-6
-19
-41
0
-21
-2
8
-56
8
6
-5
-50
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
2
-7
1
-5
-11
-8
-42
8
17
2
-7
10
25
-19
-12
-1
-8
-9
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-2
95
-40
20
-54
-13
23
-13
0
-25
8
-11
10
2
-6
-15
-18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-6
-3
-4
12
0
-2
6
18
-31
-16
-19
7
22
-8
-42
-27
-34
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
38
-3
-47
-48
-3
42
7
-25
-44
29
-40
12
4
18
12
-24
46
-16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
12
20
-13
-18
13
-25
45
51
-30
-18
13
37
-6
16
28
2
-46
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
55
-12
-13
-6
18
-29
15
32
-56
-2
8
-21
-17
-13
-22
-62
3
9
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-1
3
1
3
-32
-9
2
22
-5
-21
-20
-9
-22
26
-70
-38
3
-29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
17
-10
-30
17
-7
21
-13
-18
-106
-16
43
-29
-13
14
-10
-10
-19
-30
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
8
9
16
12
49
39
-24
-1
-46
29
4
-9
1
-9
2
42
7
9
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-24
15
-15
33
30
45
-7
-28
37
-39
15
-9
57
-1
35
-11
13
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
5
-14
-22
7
5
15
-35
12
-12
-5
-9
-43
-11
-3
-3
10
-27
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
4
4
25
-5
-9
0
4
37
8
49
5
7
-29
10
-22
-5
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-6
35
50
12
7
19
-8
2
-12
39
57
-17
7
-8
-14
9
23
-14
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
65
-11
-64
13
20
-10
12
-10
-19
6
19
-12
13
3
27
-48
-24
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
28
1
31
-18
-19
12
-3
12
53
-18
-16
15
-15
-22
9
-27
-24
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-5
1
21
24
15
-3
4
21
38
9
4
-5
-9
-27
-31
-17
16
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
29
-19
-9
-3
6
37
11
45
-55
-39
31
13
30
32
-43
22
-5
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-14
35
-14
18
2
26
41
-10
-5
5
7
42
-9
-16
-16
21
-27
11
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
18
6
-31
-5
-17
4
20
-22
-10
-2
-5
-18
-12
6
-73
-41
46
11
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
1
-2
12
32
22
-33
-11
49
-10
18
20
-19
-1
8
-56
-4
-5
19
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
33
-33
8
1
12
11
3
12
17
6
-46
-23
-20
15
21
34
-21
-55
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
28
13
64
-14
-35
10
30
3
16
-17
-16
-9
1
0
-38
-46
27
46
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-23
11
17
18
-15
-60
29
38
15
-32
1
43
46
-13
-20
-76
-11
-25
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-24
37
-8
5
-16
-32
11
7
6
-41
5
8
-10
-6
12
11
-1
-6
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
16
-17
39
47
27
-1
8
-16
-4
25
61
-36
33
29
-99
-34
29
27
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-35
2
25
36
-55
12
16
5
-20
12
-15
3
-45
-5
50
-23
34
55
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
6
-8
-9
14
-22
-17
-31
14
14
17
-12
-27
-16
-11
-72
-16
-21
-40
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
29
18
-3
12
-28
-22
6
-3
50
11
-3
-3
37
-1
-58
-16
-4
-54
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
3
35
-12
23
39
3
49
-4
-40
-5
-41
26
-23
5
-40
31
-41
-22
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
32
16
23
-29
21
22
13
32
64
4
-13
8
-3
-1
15
1
-43
-6
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
0
12
-4
-5
33
18
1
12
-42
-97
41
27
-2
-9
-10
-32
35
-2
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
13
17
34
-15
-28
0
14
47
-11
27
15
-32
-15
-102
-63
23
15
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-5
33
1
5
6
-33
-18
15
29
-32
35
9
-27
-12
-20
-6
-10
46
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
16
26
-8
8
-32
-5
-15
12
12
5
-23
0
16
-1
23
-9
-8
-44
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
14
-15
-19
-8
16
-13
-20
-20
-26
-11
-26
-37
36
-19
-49
-75
-9
27
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
20
11
-20
4
15
-20
9
-19
-11
-59
6
20
-22
32
-29
-12
-38
1
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-10
36
6
-3
-8
4
-1
1
-2
57
22
-62
13
33
-40
11
-11
-21
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-26
100
44
-26
-23
-15
9
-32
72
20
-15
-8
23
9
-11
-5
2
-19
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
-12
-12
-6
-57
3
11
-40
-35
-52
-29
-21
-15
-24
42
22
-53
26
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-14
-7
-22
15
-41
-45
17
8
-1
-28
-12
3
-1
-1
-13
-31
-21
4
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
19
8
0
0
21
-3
0
0
0
46
15
-13
0
0
2
0
17
0
0
36
37
6
0
0
8
-1
76
0
0
-14
63
14
0
0
-9
-7
-11
0
0
4
-9
-37
0
0
-50
41
11
0
0
57
-34
22
0
0
16
40
29
0
0
49
39
10
0
0
0
12
-25
0
0
26
32
-24
0
0
-17
17
36
0
0
9
-3
-8
0
0
47
-39
-5
0
0
-9
50
-7
0
0
19
31
4
0
0
46
-13
-10
0
0
-27
3
66
0
0
6
-18
23
0
0
-60
9
61
0
0
-4
3
27
0
0
-49
-29
44
0
0
-10
1
42
0
0
10
5
-26
0
0
1
47
34
0
0
-2
-8
21
0
0
32
-14
31
10
10
-19
1
-26
0
0
-1
13
-26
0
0
11
-9
30
0
0
38
13
31
0
0
7
40
17
0
0
37
-16
35
0
0
13
-28
14
0
0
10
-1
27
0
0
-46
20
14
0
0
24
2
12
0
0
4
10
3
0
0
-46
30
10
0
0
-4
13
35
0
0
32
9
-13
0
0
-31
8
2
0
0
25
37
-24
0
0
-3
47
-24
0
0
18
20
-65
0
0
34
43
11
0
0
-2
-37
17
0
0
-9
-22
24
0
0
18
-46
42
0
0
-23
-6
-1
0
0
28
-2
-23
0
0
-29
-4
15
0
0
-19
19
-17
0
0
27
-23
51
0
0
0
-60
-9
0
0
-44
29
10
0
0
41
-35
-17
0
0
38
3
-5
0
0
25
1
-34
1
3
49
17
33
0
0
21
-27
12
0
0
-13
0
-36
0
0
24
9
59
0
0
-5
-2
23
0
0
-38
41
1
0
0
3
20
100
0
0
-21
-3
-13
0
0
22
18
-27
0
0
47
-8
12
0
0
-34
19
-1
0
0
91
51
-13
0
0
-13
22
-6
0
0
-5
-11
0
0
0
-29
35
-8
0
0
26
-13
-14
0
0
56
-29
-10
0
0
6
-12
63
0
0
3
1
6
0
0
-1
-5
-67
0
0
27
20
-11
0
0
-16
8
3
0
0
-27
6
-36
0
0
-2
-29
-8
0
0
5
-1
33
0
0
-12
21
-36
0
0
1
-50
-43
0
0
0
69
-58
0
0
15
25
28
0
0
3
-9
-39
0
0
-19
15
19
0
0
11
-32
-47
-4
0
9
4
8
0
0
-33
15
61
0
0
5
31
5
0
0
-13
-9
-47
0
0
2
-7
-11
0
0
29
-3
40
0
0
44
14
17
0
0
33
33
14
0
0
26
14
22
0
0
5
32
-10
0
0
9
33
-11
0
0
-8
-21
28
0
0
-16
-2
10
0
0
-5
12
-10
0
0
-4
5
-29
0
0
-1
-72
7
0
0
5
52
-16
0
0
6
19
-27
0
0
-42
-11
63
0
0
-16
-32
10
0
0
18
-5
23
0
0
-58
-51
5
0
0
-8
12
0
0
0
-7
3
-5
0
0
-24
-27
30
0
0
2
13
-10
0
0
-7
1
-31
0
0
0
49
6
0
0
9
32
-47
0
0
15
4
9
0
0
-26
-4
-2
0
0
41
-36
-16
-10
-17
-25
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-2
0
0
15
-3
20
0
0
14
49
-21
0
0
-49
44
-15
0
0
5
17
-22
0
0
-10
-55
9
0
0
37
3
2
0
0
-21
4
0
0
0
17
26
8
0
0
42
-45
28
0
0
108
3
23
0
0
38
1
15
0
0
-36
69
14
0
0
31
-3
5
0
0
-30
0
4
0
0
49
21
-21
0
0
19
45
21
0
0
-51
49
37
0
0
11
-90
6
0
0
-39
-8
5
0
0
25
20
-6
0
0
12
-3
11
0
0
-7
-35
-10
0
0
35
0
2
0
0
-9
35
21
0
0
6
25
13
0
0
0
36
-15
0
0
-23
-22
11
0
0
3
14
38
0
0
-7
54
-65
0
0
-74
-8
51
-13
-3
-41
19
-37
0
0
-15
8
34
0
0
-13
43
32
0
0
17
14
2
0
0
7
54
-42
0
0
3
-43
-17
0
0
28
7
21
0
0
14
-27
6
0
0
-24
32
-49
0
0
30
50
12
0
0
31
18
6
0
0
25
-60
-34
0
0
-18
-30
24
0
0
3
-2
44
0
0
10
0
-41
0
0
-36
-4
5
0
0
-17
-23
2
0
0
23
-10
-7
0
0
-21
-29
11
0
0
-7
-3
-4
0
0
10
-22
5
0
0
34
20
22
0
0
34
8
-15
0
0
-7
26
9
0
0
-26
48
-38
0
0
-9
-29
-18
0
0
19
-7
-6
0
0
0
-17
0
0
0
-6
-22
3
0
0
22
11
16
0
0
12
-57
3
0
0
-3
16
15
23
-9
-52
50
-18
0
0
-2
-31
12
0
0
-26
52
-8
0
0
-1
-20
51
0
0
-6
16
50
0
0
-4
0
2
0
0
-5
13
-1
0
0
9
-2
-15
0
0
-7
-35
-2
0
0
-10
8
34
0
0
8
-68
19
0
0
-11
24
-46
0
0
-3
5
-32
0
0
20
17
-2
0
0
3
-7
0
0
0
-29
43
-44
0
0
-11
-28
8
0
0
-25
25
4
0
0
-13
38
26
0
0
19
-20
-1
0
0
-32
19
-3
0
0
8
-18
-4
0
0
0
-3
1
0
0
1
-8
0
0
0
40
-30
3
0
0
-1
0
2
0
0
0
-23
0
0
0
9
-40
8
0
0
-8
0
4
0
0
37
41
8
0
0
0
21
-5
0
0
-15
42
4
17
1
31
-62
13
0
0
-5
3
-24
0
0
29
-28
-19
0
0
-37
34
-31
0
0
-25
35
-3
0
0
56
5
-3
0
0
-17
9
16
0
0
-6
-20
-1
0
0
-39
-24
4
0
0
47
-3
-35
0
0
8
20
33
0
0
22
6
-16
0
0
32
-11
38
0
0
-1
-13
-6
0
0
-6
-3
39
0
0
3
-5
-6
0
0
-10
-36
-1
0
0
-16
21
6
0
0
26
-45
-8
0
0
-1
13
-2
0
0
58
49
5
0
0
0
-6
0
0
0
0
0
-1
0
0
1
0
0
0
0
-4
-2
5
0
0
-1
-42
1
0
0
-1
41
3
0
0
0
0
-1
0
0
9
15
-3
0
0
25
-72
-16
0
0
-19
-24
0
0
0
-11
26
0
-12
-13
10
-6
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
42
21
-22
0
0
32
18
74
0
0
-18
-14
-2
0
0
-23
-2
0
0
0
-5
19
-22
0
0
-4
19
-12
0
0
-29
41
35
0
0
71
-18
-27
0
0
13
-8
13
0
0
-2
52
-1
0
0
43
-10
16
0
0
24
-12
-25
0
0
21
12
-8
0
0
23
4
2
0
0
22
39
-7
0
0
10
1
9
0
0
8
16
3
0
0
26
-9
10
0
0
10
-10
-20
0
0
10
5
8
0
0
21
8
0
0
0
53
-24
12
0
0
19
-37
-16
0
0
53
17
11
0
0
-76
24
-3
0
0
-24
-35
12
0
0
-47
-41
-10
0
0
32
2
-15
0
0
-48
11
0
0
0
27
5
32
5
2
3
-18
-24
0
0
-4
10
-12
0
0
-5
-15
9
0
0
-2
33
-1
0
0
35
-9
27
0
0
0
-39
37
0
0
30
1
-19
0
0
-18
-26
8
0
0
-15
19
-31
0
0
14
-4
-4
0
0
11
40
-9
0
0
-32
-74
40
0
0
20
19
-50
0
0
4
19
0
0
0
8
-4
37
0
0
-29
58
3
0
0
13
0
-1
0
0
-4
-2
37
0
0
6
-2
-29
0
0
-34
6
31
0
0
19
11
-15
0
0
-20
0
-15
0
0
28
-31
-34
0
0
-4
-40
-34
0
0
16
1
-8
0
0
-28
47
35
0
0
60
21
20
0
0
66
-19
44
0
0
-6
-5
2
0
0
-2
-30
0
0
0
-36
-6
63
0
0
-20
-15
-4
-6
1
-15
-26
-52
0
0
3
-4
17
0
0
3
22
-11
0
0
-13
-21
-13
0
0
-6
25
25
0
0
30
-37
-14
0
0
19
3
14
0
0
-18
9
3
0
0
18
25
0
0
0
-40
15
0
0
0
-20
0
0
0
0
-4
-16
1
0
0
9
1
0
0
0
-8
5
0
0
0
0
-16
1
0
0
-41
35
12
0
0
30
12
-18
0
0
-10
30
-3
0
0
5
1
12
0
0
-17
0
-1
0
0
-6
12
3
0
0
8
-12
-23
0
0
-50
52
-5
0
0
40
-5
-14
0
0
-6
-56
44
0
0
-18
8
-22
0
0
16
-18
-29
0
0
12
16
-14
0
0
68
20
-62
0
0
58
39
11
0
0
9
-15
-6
0
0
-38
-18
28
1
-9
9
-37
-8
0
0
-38
-10
-44
0
0
-14
-26
-46
0
0
-16
23
10
0
0
4
-13
2
0
0
-17
5
32
0
0
-16
8
-2
0
0
-1
28
0
0
0
34
-6
0
0
0
5
-22
0
0
0
16
-18
-2
0
0
-29
-28
-8
0
0
-38
-6
41
0
0
-39
6
-1
0
0
-1
13
0
0
0
-4
-72
1
0
0
-38
16
22
0
0
-7
-10
2
0
0
-31
-13
11
0
0
9
28
9
0
0
9
-11
5
0
0
1
-20
31
0
0
9
-8
-22
0
0
19
-8
-28
0
0
23
-7
-19
0
0
12
-26
-20
0
0
1
12
23
0
0
-22
-30
63
0
0
2
3
-11
0
0
-49
24
18
0
0
45
-52
32
0
0
51
-37
-44
-12
-8
-29
-33
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
0
18
-45
-50
0
0
55
-51
-27
0
0
-42
-43
33
0
0
12
-30
17
0
0
34
-26
6
0
0
13
-33
0
0
0
13
3
-30
0
0
-25
7
-2
0
0
-19
-28
3
0
0
10
-27
-13
0
0
-17
47
-20
0
0
23
-52
4
0
0
-7
2
-10
0
0
14
-20
2
0
0
28
-55
-19
0
0
30
4
-8
0
0
28
14
-2
0
0
14
-19
-58
0
0
10
-64
2
0
0
-41
-1
7
0
0
21
-57
-43
0
0
-41
22
-15
0
0
-19
-9
-7
0
0
8
13
13
0
0
-29
54
-4
0
0
6
-24
-10
0
0
0
23
18
0
0
34
6
29
0
0
-13
-11
-5
0
0
9
11
10
5
1
-13
-3
31
0
0
17
15
45
0
0
-11
-19
-14
0
0
-48
-47
-10
0
0
-9
-5
-35
0
0
-3
28
-6
0
0
26
-35
0
0
0
0
36
-1
0
0
-35
25
-14
0
0
16
-11
9
0
0
-51
-13
26
0
0
21
21
18
0
0
-25
29
-12
0
0
3
5
1
0
0
7
14
2
0
0
3
-20
4
0
0
2
27
0
0
0
-7
-31
49
0
0
-11
-25
-20
0
0
-17
72
41
0
0
-46
5
51
0
0
-44
8
1
0
0
-5
-39
-27
0
0
8
-41
11
0
0
-52
-16
24
0
0
3
2
13
0
0
18
-9
15
0
0
6
-7
-11
0
0
8
9
-25
0
0
12
9
-21
0
0
60
5
29
0
0
13
-3
-1
4
0
-18
-12
37
0
0
9
11
22
0
0
-13
6
-6
0
0
19
6
11
0
0
-44
43
12
0
0
-17
7
3
0
0
-6
0
0
0
0
11
-34
-2
0
0
-15
11
1
0
0
13
2
0
0
0
1
4
0
0
0
9
-70
5
0
0
16
-16
4
0
0
1
-9
0
0
0
0
-10
0
0
0
2
7
1
0
0
-2
-38
-1
0
0
-26
-7
9
0
0
-23
-8
-38
0
0
-6
-37
-36
0
0
-45
-33
2
0
0
-2
6
-15
0
0
-4
-31
-43
0
0
-59
-34
11
0
0
-12
-3
-7
0
0
2
-6
-13
0
0
6
-15
21
0
0
16
1
-6
0
0
4
17
0
0
0
-26
12
-21
0
0
-12
11
-8
0
0
-8
37
4
7
5
-35
-13
22
0
0
-4
-19
5
0
0
-3
-8
-5
0
0
-20
19
-22
0
0
-27
9
-5
0
0
-3
-5
-3
0
0
-9
-21
6
0
0
-10
8
0
0
0
-43
20
-11
0
0
-5
25
2
0
0
1
-2
0
0
0
-1
21
2
0
0
-44
-42
36
0
0
0
1
0
0
0
0
1
0
0
0
4
0
2
0
0
-11
-23
6
0
0
-29
-69
-15
0
0
58
-37
-11
0
0
29
50
-67
0
0
0
-10
-61
0
0
5
15
-3
0
0
3
-33
16
0
0
-56
31
-37
0
0
-34
30
-15
0
0
13
-11
-3
0
0
43
-51
-28
0
0
21
5
-54
0
0
3
8
5
0
0
-16
10
65
0
0
-4
-37
1
0
0
7
11
32
-12
10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
0
26
30
1
0
0
50
94
4
0
0
44
63
11
0
0
-15
-31
17
0
0
43
34
24
0
0
18
-12
-5
0
0
32
-36
10
0
0
35
66
-10
0
0
8
7
-16
0
0
-53
42
27
0
0
38
41
67
0
0
42
10
37
0
0
-3
8
-2
0
0
44
-38
-20
0
0
28
24
42
0
0
55
-15
27
0
0
-22
7
33
0
0
51
-20
1
0
0
-8
19
34
0
0
-37
18
11
0
0
-24
25
30
0
0
25
-58
23
0
0
-6
58
-10
0
0
86
33
18
0
0
-36
-18
24
0
0
-52
17
64
0
0
-1
2
-28
0
0
-27
5
-48
0
0
3
-17
36
0
0
-22
-29
-3
15
11
-17
0
59
0
0
24
33
49
0
0
-5
18
27
0
0
23
6
-8
0
0
-10
15
5
0
0
-29
-27
-23
0
0
-6
39
2
0
0
2
37
21
0
0
0
-21
44
0
0
28
-20
35
0
0
26
46
-20
0
0
-34
5
11
0
0
12
1
-22
0
0
-7
5
-13
0
0
24
20
-18
0
0
4
19
16
0
0
39
-7
35
0
0
35
3
-20
0
0
-24
37
32
0
0
20
59
6
0
0
14
-15
-25
0
0
-34
21
6
0
0
-7
-26
26
0
0
-11
35
-2
0
0
24
21
34
0
0
-14
-16
-2
0
0
41
33
3
0
0
-12
-1
-9
0
0
53
20
2
0
0
-23
3
5
0
0
37
-3
44
0
0
32
7
8
16
4
13
-7
24
0
0
13
-7
15
0
0
40
11
-31
0
0
20
25
-6
0
0
40
12
-44
0
0
0
-9
1
0
0
-52
-6
8
0
0
22
-16
0
0
0
-42
39
15
0
0
19
8
-15
0
0
-15
-9
44
0
0
23
3
-5
0
0
3
50
-41
0
0
-14
-7
-2
0
0
-1
19
-26
0
0
-15
22
-5
0
0
17
6
34
0
0
28
15
-4
0
0
16
-32
40
0
0
9
-3
-8
0
0
13
0
-22
0
0
-42
-9
23
0
0
-42
8
-7
0
0
2
-25
10
0
0
10
14
64
0
0
-10
-6
25
0
0
15
-19
4
0
0
-2
-10
-26
0
0
26
-25
4
0
0
34
37
9
0
0
-5
-27
10
0
0
69
-13
-17
6
6
-37
-43
0
0
0
8
-24
-3
0
0
-4
-19
4
0
0
1
24
41
0
0
21
27
16
0
0
-81
48
46
0
0
-7
-14
-3
0
0
-34
-26
4
0
0
2
31
-18
0
0
-11
-1
25
0
0
-11
31
-25
0
0
79
-52
41
0
0
40
91
-16
0
0
22
20
-2
0
0
-4
-3
-8
0
0
9
-8
-11
0
0
17
-81
-30
0
0
53
-14
9
0
0
-41
82
39
0
0
0
-12
-33
0
0
7
2
-4
0
0
-11
-19
-6
0
0
-1
-22
12
0
0
1
-22
-7
0
0
10
1
65
0
0
13
47
3
0
0
-13
25
-10
0
0
13
-29
-5
0
0
11
27
55
0
0
-13
5
9
0
0
0
-18
-23
0
0
-39
-4
-18
-23
13
-18
-4
61
0
0
16
6
-7
0
0
33
-2
-3
0
0
-46
-34
-8
0
0
-6
0
44
0
0
6
40
6
0
0
11
-23
43
0
0
24
-8
0
0
0
21
-2
42
0
0
1
53
-2
0
0
-13
-4
17
0
0
7
15
-7
0
0
-18
0
3
0
0
-3
-11
0
0
0
0
18
-3
0
0
-3
14
15
0
0
28
17
5
0
0
-2
-34
-3
0
0
3
7
9
0
0
-7
-3
-1
0
0
24
-24
-1
0
0
24
17
1
0
0
23
24
12
0
0
6
6
-1
0
0
11
-51
-10
0
0
9
-29
1
0
0
-3
-73
-20
0
0
0
21
5
0
0
-29
-48
-16
0
0
-21
102
1
0
0
8
-16
3
0
0
-10
6
-1
1
13
-29
13
0
0
0
33
9
32
0
0
5
8
-10
0
0
-61
22
15
0
0
-36
14
11
0
0
55
-46
34
0
0
7
-27
1
0
0
-12
-7
-1
0
0
-30
-23
-6
0
0
37
-21
-15
0
0
39
-29
18
0
0
-10
-10
-4
0
0
0
-33
3
0
0
-6
0
-1
0
0
6
8
-2
0
0
3
12
0
0
0
-10
50
4
0
0
-27
3
-27
0
0
41
4
29
0
0
-1
18
-1
0
0
30
-17
-1
0
0
2
0
0
0
0
-7
-43
0
0
0
0
2
0
0
0
-22
-32
0
0
0
7
-11
-12
0
0
4
-32
20
0
0
-23
30
-28
0
0
26
-11
-14
0
0
19
-29
-6
0
0
-19
15
-36
0
0
-8
74
-2
15
-17
20
-9
4
0
0
-7
-3
38
0
0
26
28
-43
0
0
3
7
-21
0
0
50
17
-51
0
0
24
0
3
0
0
-13
8
-6
0
0
0
11
-2
0
0
2
24
-12
0
0
21
5
1
0
0
-27
10
-3
0
0
1
-9
11
0
0
15
-10
-1
0
0
0
10
2
0
0
0
6
0
0
0
0
-8
0
0
0
-11
15
0
0
0
16
20
-7
0
0
-34
0
-4
0
0
5
-2
0
0
0
-34
7
0
0
0
6
1
0
0
0
1
0
0
0
0
0
0
0
0
0
-16
-11
-2
0
0
1
-21
0
0
0
5
4
3
0
0
-1
-4
-8
0
0
-4
5
11
0
0
-4
-28
2
0
0
-4
4
1
0
0
-6
-14
1
23
-5
43
-47
-3
0
0
28
-3
55
0
0
-4
-17
15
0
0
-5
1
-54
0
0
-22
55
-5
0
0
-28
-14
23
0
0
45
10
-33
0
0
-2
39
4
0
0
6
6
-38
0
0
-11
40
1
0
0
-27
-8
-12
0
0
-11
12
-7
0
0
12
-35
11
0
0
-11
11
6
0
0
1
-6
0
0
0
0
33
-15
0
0
-19
-1
-8
0
0
-30
20
-11
0
0
-20
-36
8
0
0
-9
6
1
0
0
80
11
0
0
0
0
9
-11
0
0
0
4
0
0
0
-1
13
0
0
0
22
33
-1
0
0
0
21
12
0
0
-25
-22
15
0
0
-3
26
2
0
0
7
19
6
0
0
-37
24
20
0
0
-4
27
-37
0
0
20
-18
9
-2
1
-17
-7
-8
0
0
-5
-1
-9
0
0
39
-1
-3
0
0
59
-5
24
0
0
-20
-18
40
0
0
15
-13
8
0
0
54
-11
-23
0
0
0
10
2
0
0
-4
44
-2
0
0
6
32
-17
0
0
47
15
26
0
0
48
-79
17
0
0
29
-23
-12
0
0
35
-26
24
0
0
3
0
26
0
0
24
1
11
0
0
-26
62
-56
0
0
-13
9
7
0
0
-44
-29
-45
0
0
48
-3
1
0
0
-43
-24
19
0
0
10
21
1
0
0
0
45
11
0
0
-5
23
9
0
0
21
-3
16
0
0
7
55
-9
0
0
20
-15
-6
0
0
-4
-2
9
0
0
-1
8
-31
0
0
-27
32
13
0
0
0
7
-23
0
0
0
30
-11
12
3
-30
-38
14
0
0
11
14
-13
0
0
7
1
9
0
0
-2
10
6
0
0
14
-15
-20
0
0
-11
50
9
0
0
20
-36
37
0
0
2
4
0
0
0
-70
49
-10
0
0
11
-15
11
0
0
1
-45
15
0
0
40
-11
-9
0
0
23
16
19
0
0
0
18
-4
0
0
-4
-2
-4
0
0
-8
-19
-7
0
0
-1
23
37
0
0
41
10
-10
0
0
16
19
-9
0
0
-32
-11
-3
0
0
49
-21
1
0
0
11
4
3
0
0
-3
9
-4
0
0
-2
-25
-1
0
0
-6
-59
-12
0
0
-13
-43
-32
0
0
29
19
5
0
0
0
33
-8
0
0
11
38
-19
0
0
31
-5
2
0
0
-3
5
-2
0
0
-7
9
18
-2
-2
-15
-11
-7
0
0
35
-25
19
0
0
-2
8
-4
0
0
-9
12
19
0
0
-32
-8
26
0
0
-22
7
12
0
0
39
10
-11
0
0
-7
-3
2
0
0
2
15
10
0
0
-18
-36
5
0
0
6
-24
6
0
0
-30
14
-1
0
0
37
-32
11
0
0
3
12
-1
0
0
-1
0
-1
0
0
-4
6
0
0
0
-25
-1
0
0
0
-8
-8
2
0
0
16
25
1
0
0
-1
10
6
0
0
-10
-6
-7
0
0
18
-30
-5
0
0
-2
-4
-28
0
0
0
3
-4
0
0
-1
39
3
0
0
0
44
-20
0
0
22
-6
2
0
0
0
5
1
0
0
1
-27
-3
0
0
-2
-19
1
0
0
2
-4
-2
0
0
22
8
0
12
-11
25
-41
-35
0
0
26
23
18
0
0
32
-9
-33
0
0
9
17
0
0
0
31
-9
-1
0
0
13
74
-13
0
0
-33
-29
18
0
0
-6
-13
-7
0
0
26
40
10
0
0
16
-1
-7
0
0
25
4
29
0
0
41
2
-7
0
0
6
31
10
0
0
0
4
0
0
0
-2
7
0
0
0
-3
15
8
0
0
-13
-38
-23
0
0
3
78
0
0
0
3
-45
-8
0
0
-11
-35
3
0
0
-22
-15
4
0
0
9
-9
1
0
0
0
4
-4
0
0
-3
-16
3
0
0
-14
0
4
0
0
15
11
0
0
0
-10
15
-3
0
0
1
-19
-6
0
0
-59
5
11
0
0
-1
-39
-3
0
0
-1
11
-7
0
0
-17
-53
-1
9
-9
-35
-38
-39
0
0
14
-9
36
0
0
-9
-2
38
0
0
-27
5
-20
0
0
-29
-26
0
0
0
4
-4
6
0
0
-43
4
2
0
0
11
-19
6
0
0
20
14
0
0
0
-6
-7
0
0
0
-15
20
-1
0
0
12
13
2
0
0
-39
6
16
0
0
0
-1
1
0
0
0
-3
0
0
0
0
-4
4
0
0
-2
9
-1
0
0
-4
-25
-17
0
0
51
-23
30
0
0
2
-6
-7
0
0
12
19
1
0
0
-53
3
-3
0
0
2
-5
0
0
0
0
11
0
0
0
-25
-30
-29
0
0
10
56
0
0
0
-3
-2
6
0
0
0
-7
0
0
0
-3
5
-11
0
0
4
-33
0
0
0
-3
-6
2
0
0
29
-3
-1
10
-21
10
16
-8
0
0
-38
22
5
0
0
3
-26
2
0
0
20
-17
17
0
0
-26
-11
-8
0
0
-4
-1
-24
0
0
34
50
0
0
0
-3
-4
1
0
0
-54
22
-2
0
0
59
-40
9
0
0
-7
-30
1
0
0
7
-32
0
0
0
-107
-39
1
0
0
0
29
0
0
0
-2
6
0
0
0
1
3
0
0
0
19
-6
3
0
0
-19
4
1
0
0
11
-2
-1
0
0
9
-5
1
0
0
-48
14
6
0
0
3
-15
6
0
0
1
-2
-6
0
0
0
1
0
0
0
11
-5
0
0
0
9
30
-20
0
0
6
-16
1
0
0
-2
-1
3
0
0
-11
-17
0
0
0
-7
29
-3
0
0
7
-24
-1
0
0
11
12
-2
-6
10
1
0
5
0
0
26
32
-12
0
0
-3
36
1
0
0
-21
0
-55
0
0
-17
17
59
0
0
-3
43
-2
0
0
22
21
-4
0
0
4
1
-2
0
0
9
-45
-5
0
0
-5
26
-2
0
0
8
2
-14
0
0
-22
44
3
0
0
-10
0
14
0
0
0
-1
0
0
0
0
3
0
0
0
-1
8
0
0
0
25
-16
0
0
0
12
-23
0
0
0
-23
-5
2
0
0
-5
6
0
0
0
-10
19
-2
0
0
-23
3
-1
0
0
-1
-3
-4
0
0
0
-9
0
0
0
-19
-35
-3
0
0
1
15
8
0
0
15
12
2
0
0
-2
-14
0
0
0
-1
-5
4
0
0
7
-46
0
0
0
2
26
0
0
0
-21
6
-1
-28
9
28
-15
17
0
0
0
36
-25
0
0
29
12
8
0
0
-28
-10
55
0
0
7
21
8
0
0
-16
-39
28
0
0
26
-27
-6
0
0
-9
5
-6
0
0
2
44
-14
0
0
-24
6
7
0
0
54
-56
2
0
0
7
14
-3
0
0
17
-18
0
0
0
-8
-44
0
0
0
-3
0
0
0
0
0
-5
-8
0
0
11
-40
-2
0
0
0
-23
36
0
0
-46
2
20
0
0
8
13
-5
0
0
-42
91
1
0
0
6
14
-10
0
0
-3
-3
-6
0
0
-1
1
1
0
0
-23
-91
-12
0
0
6
14
-1
0
0
-24
0
-2
0
0
0
13
3
0
0
21
-19
-1
0
0
52
1
2
0
0
-3
-23
0
0
0
-16
-20
15
21
1
-7
-57
-10
0
0
10
1
3
0
0
-21
-32
-5
0
0
32
-104
7
0
0
9
60
-15
0
0
2
34
-4
0
0
40
-33
-2
0
0
-19
11
0
0
0
7
-47
4
0
0
-12
-5
6
0
0
-19
-28
2
0
0
-3
-5
5
0
0
-31
-20
-22
0
0
0
40
-11
0
0
33
-1
0
0
0
-35
-13
3
0
0
-36
13
11
0
0
9
6
-20
0
0
15
15
-25
0
0
33
-6
42
0
0
28
3
-11
0
0
-49
42
-7
0
0
-4
17
-8
0
0
-20
12
15
0
0
5
31
20
0
0
7
18
-12
0
0
23
41
-31
0
0
12
-7
2
0
0
-25
2
28
0
0
-62
24
-5
0
0
-25
-15
5
0
0
11
5
-2
9
-1
-11
4
45
0
0
-14
22
-14
0
0
33
32
0
0
0
22
19
16
0
0
-18
-25
53
0
0
46
-64
-3
0
0
-12
61
37
0
0
-7
4
0
0
0
-11
8
-30
0
0
-38
-13
1
0
0
28
-13
-2
0
0
-13
18
12
0
0
17
24
19
0
0
-65
4
-6
0
0
-2
5
-36
0
0
-23
79
-22
0
0
2
-26
-19
0
0
27
-10
9
0
0
23
34
0
0
0
28
-17
18
0
0
-12
24
-8
0
0
-45
8
38
0
0
17
1
21
0
0
42
9
26
0
0
-43
15
10
0
0
-44
-48
-10
0
0
-21
34
-23
0
0
-7
1
2
0
0
-38
27
-43
0
0
-5
-21
25
0
0
10
2
0
0
0
16
-44
7
2
-6
-28
21
50
0
0
20
43
-10
0
0
-22
-18
27
0
0
2
-4
-2
0
0
-5
7
5
0
0
3
-25
1
0
0
-42
2
-2
0
0
0
-1
-1
0
0
13
-21
3
0
0
-2
-2
0
0
0
-2
3
0
0
0
-2
14
-3
0
0
-13
-2
4
0
0
-1
-11
0
0
0
-4
0
1
0
0
6
-21
0
0
0
-17
11
-17
0
0
4
7
7
0
0
26
6
6
0
0
-7
-13
19
0
0
-44
8
21
0
0
1
-73
-19
0
0
-6
-23
-14
0
0
-2
4
-41
0
0
-10
9
46
0
0
51
-33
-55
0
0
-15
-25
29
0
0
5
23
-21
0
0
21
0
-20
0
0
-27
10
-35
0
0
-43
5
37
0
0
-62
9
6
-1
4
13
41
-6
0
0
33
20
-6
0
0
0
36
4
0
0
12
29
-58
0
0
13
26
-1
0
0
-1
23
-4
0
0
10
1
2
0
0
-7
1
2
0
0
44
-6
0
0
0
-23
13
0
0
0
19
4
-1
0
0
2
-20
8
0
0
5
-13
6
0
0
-2
8
-2
0
0
2
-32
0
0
0
-1
5
1
0
0
2
36
36
0
0
-20
-17
24
0
0
-25
1
18
0
0
-39
-21
12
0
0
-1
-20
-53
0
0
15
-26
-19
0
0
-74
-12
5
0
0
23
-30
-3
0
0
-50
-11
22
0
0
-7
-50
-27
0
0
-16
-23
-38
0
0
15
52
-16
0
0
-42
18
8
0
0
66
-49
-21
0
0
-66
-14
47
0
0
-46
-7
-5
-14
-5
-42
13
-56
0
0
15
27
26
0
0
36
-12
-2
0
0
8
-23
-10
0
0
-2
-1
6
0
0
31
-11
0
0
0
4
-10
-2
0
0
2
0
0
0
0
-10
10
-4
0
0
-2
-26
0
0
0
20
1
0
0
0
1
-16
0
0
0
-16
-24
10
0
0
13
0
0
0
0
0
-28
0
0
0
-3
2
3
0
0
92
29
2
0
0
-7
8
25
0
0
5
42
-27
0
0
-15
2
17
0
0
-3
10
5
0
0
6
5
-35
0
0
9
18
60
0
0
-38
-2
-19
0
0
77
-31
-39
0
0
-17
11
-30
0
0
-10
-48
7
0
0
-27
-16
10
0
0
21
8
45
0
0
-7
42
23
0
0
-2
-4
-9
0
0
-34
9
-11
0
1
-7
33
-38
0
0
0
-18
-1
0
0
5
7
13
0
0
72
-3
-27
0
0
-61
22
15
0
0
11
-8
0
0
0
-9
1
-6
0
0
-2
2
0
0
0
-1
14
0
0
0
37
6
-1
0
0
-38
33
0
0
0
3
21
4
0
0
-20
49
-1
0
0
0
-21
-1
0
0
0
0
0
0
0
0
-15
1
0
0
-53
-8
26
0
0
-5
5
-2
0
0
9
-2
-3
0
0
0
-36
-62
0
0
-49
-16
24
0
0
-40
-42
32
0
0
41
-12
72
0
0
-51
117
-6
0
0
22
-8
-89
0
0
24
-23
3
0
0
40
0
19
0
0
-6
-18
4
0
0
18
18
13
0
0
26
-19
-36
0
0
27
24
0
0
0
2
-10
22
-17
1
-18
-42
-5
0
0
17
53
3
0
0
24
5
-39
0
0
8
37
0
0
0
38
-93
4
0
0
-2
-2
0
0
0
3
0
0
0
0
0
0
0
0
0
23
-1
1
0
0
0
16
0
0
0
-1
0
0
0
0
1
3
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-8
-29
3
0
0
-4
3
23
0
0
-7
-2
-19
0
0
-59
-10
0
0
0
2
-44
60
0
0
-28
53
-9
0
0
-1
-53
-63
0
0
-18
-6
-53
0
0
7
16
20
0
0
-25
-1
-3
0
0
9
10
10
0
0
-5
-50
-44
0
0
-40
-41
-58
0
0
4
-12
-28
0
0
1
-24
-13
0
0
-6
-48
10
-17
-8
14
-33
3
0
0
0
-17
33
0
0
-19
-13
-20
0
0
38
-15
19
0
0
8
29
0
0
0
3
5
1
0
0
0
-6
1
0
0
0
1
0
0
0
4
4
0
0
0
-3
-3
0
0
0
-5
-5
0
0
0
-27
-15
0
0
0
-34
53
1
0
0
0
-11
0
0
0
8
0
0
0
0
-2
-4
0
0
0
-11
-29
-3
0
0
-11
-26
25
0
0
0
-21
-20
0
0
-35
16
-14
0
0
10
12
-60
0
0
32
-2
4
0
0
34
-31
-139
0
0
14
-60
20
0
0
-12
-7
-45
0
0
-39
4
67
0
0
-36
34
-47
0
0
29
45
-7
0
0
39
-12
-72
0
0
-14
-11
39
0
0
2
4
-21
0
0
-8
-1
-56
3
-3
-55
46
15
0
0
-8
73
9
0
0
7
-37
33
0
0
1
26
20
0
0
1
19
-11
0
0
-30
-31
-18
0
0
-38
-5
50
0
0
14
17
0
0
0
22
52
6
0
0
24
13
-1
0
0
3
-1
4
0
0
7
-22
-17
0
0
28
-45
3
0
0
54
9
-15
0
0
1
-10
13
0
0
16
11
12
0
0
9
41
3
0
0
30
-15
36
0
0
31
-3
-38
0
0
-28
-24
49
0
0
26
-37
29
0
0
44
23
14
0
0
-26
18
-25
0
0
34
-59
9
0
0
-1
-13
-3
0
0
8
11
3
0
0
-2
32
5
0
0
-8
13
34
0
0
-23
2
18
0
0
3
-20
-4
0
0
-2
-4
17
0
0
12
9
55
10
-3
6
10
14
0
0
-13
-29
-12
0
0
-4
37
1
0
0
-9
-21
-7
0
0
-47
12
37
0
0
63
-11
-2
0
0
-2
-25
11
0
0
-11
0
0
0
0
-79
16
11
0
0
21
10
-21
0
0
29
15
-10
0
0
46
-11
-4
0
0
6
1
-7
0
0
-15
5
2
0
0
2
0
9
0
0
-3
29
2
0
0
11
10
-48
0
0
7
-13
11
0
0
-62
-11
22
0
0
30
-32
13
0
0
-7
13
-53
0
0
31
9
14
0
0
-40
13
23
0
0
-4
-42
-25
0
0
-20
27
-22
0
0
13
13
4
0
0
11
0
36
0
0
26
-3
-12
0
0
-5
18
18
0
0
3
6
49
0
0
-27
-35
33
0
0
71
-2
48
-12
-1
8
10
27
0
0
4
14
6
0
0
24
16
-3
0
0
0
61
19
0
0
-62
18
-3
0
0
32
-28
3
0
0
6
-3
-3
0
0
0
-4
0
0
0
55
20
-8
0
0
-2
-7
0
0
0
6
2
0
0
0
-4
2
1
0
0
-4
10
-5
0
0
1
4
-1
0
0
-1
-2
0
0
0
0
-2
0
0
0
43
-1
1
0
0
-12
-25
5
0
0
-1
-3
-14
0
0
-51
-22
-40
0
0
-11
2
26
0
0
-37
-5
-14
0
0
9
-41
-27
0
0
1
14
-67
0
0
19
-13
-1
0
0
-7
11
63
0
0
-10
-17
-14
0
0
21
7
14
0
0
0
3
-10
0
0
-31
16
9
0
0
19
24
87
0
0
38
-4
35
8
2
-66
-2
32
0
0
14
-5
19
0
0
4
36
-5
0
0
-19
33
9
0
0
-58
-46
25
0
0
13
-36
36
0
0
4
10
16
0
0
0
1
2
0
0
-20
-14
-5
0
0
-19
12
1
0
0
-15
3
2
0
0
-9
3
1
0
0
-18
34
0
0
0
-1
-5
0
0
0
2
0
0
0
0
-1
3
0
0
0
14
-25
0
0
0
21
-6
-47
0
0
-10
31
12
0
0
-25
-15
-66
0
0
-14
-49
11
0
0
-3
-3
-2
0
0
6
-34
9
0
0
25
-48
-2
0
0
-33
-2
-8
0
0
-8
9
39
0
0
26
12
-16
0
0
32
-18
8
0
0
-11
-21
7
0
0
8
-9
41
0
0
65
-33
-6
0
0
35
-18
-33
-11
-15
-18
-13
-38
0
0
42
-21
19
0
0
-13
33
63
0
0
20
7
1
0
0
-16
4
-35
0
0
-10
7
8
0
0
6
-5
-21
0
0
1
-7
-3
0
0
15
-9
1
0
0
-8
9
-13
0
0
35
2
-10
0
0
-13
-9
-2
0
0
20
12
-19
0
0
-18
-4
0
0
0
-8
8
-1
0
0
2
-2
1
0
0
5
-10
-41
0
0
-26
2
20
0
0
30
-8
-33
0
0
-18
-53
44
0
0
-4
-47
3
0
0
0
-21
-17
0
0
16
40
-42
0
0
8
-15
37
0
0
15
28
23
0
0
-7
-6
16
0
0
1
2
26
0
0
26
7
4
0
0
15
-10
-19
0
0
45
-4
-3
0
0
-38
1
-2
0
0
-5
-29
35
-5
-4
36
-22
4
0
0
-25
-16
30
0
0
-4
28
-11
0
0
22
-9
31
0
0
40
9
-15
0
0
40
-7
0
0
0
-1
-6
-52
0
0
-1
-2
0
0
0
-46
-22
0
0
0
31
-1
-10
0
0
-20
-27
25
0
0
1
10
1
0
0
17
-34
2
0
0
3
2
-1
0
0
-7
3
5
0
0
1
1
4
0
0
-66
12
-13
0
0
-38
32
59
0
0
-13
-43
7
0
0
-19
-8
32
0
0
-29
9
35
0
0
86
-10
12
0
0
20
-40
-2
0
0
3
27
-64
0
0
-89
24
8
0
0
0
-41
40
0
0
30
-27
16
0
0
-25
12
-11
0
0
-33
-7
-56
0
0
21
30
-40
0
0
19
-86
-1
0
0
14
46
27
-3
-2
2
12
6
0
0
28
-35
7
0
0
3
10
12
0
0
-6
19
17
0
0
-1
7
-32
0
0
5
14
-1
0
0
17
5
6
0
0
4
4
0
0
0
-63
-4
-7
0
0
-15
2
-3
0
0
-49
24
8
0
0
1
-13
4
0
0
-3
12
-3
0
0
0
-7
1
0
0
0
-1
0
0
0
4
-25
3
0
0
-10
-13
-18
0
0
-22
-12
13
0
0
14
5
-30
0
0
-52
13
-51
0
0
38
-67
-8
0
0
-32
-51
-32
0
0
-6
18
-7
0
0
-1
-51
53
0
0
-24
30
0
0
0
9
-23
36
0
0
19
-8
-3
0
0
17
-43
-43
0
0
8
-12
-8
0
0
12
52
-57
0
0
-8
17
-28
0
0
-10
-20
-46
7
13
-50
-16
-91
0
0
-12
14
5
0
0
13
-16
17
0
0
-5
2
-29
0
0
-29
-30
-41
0
0
-24
3
-1
0
0
-11
-2
-7
0
0
0
-26
-2
0
0
-5
-57
-20
0
0
-16
-28
30
0
0
-20
-7
-4
0
0
4
-11
-3
0
0
-7
-16
13
0
0
7
-7
4
0
0
0
-8
0
0
0
8
-1
1
0
0
-6
-9
-33
0
0
6
-23
41
0
0
2
-2
11
0
0
-37
3
-46
0
0
34
1
13
0
0
-43
-34
-65
0
0
-29
7
-42
0
0
-10
6
-26
0
0
-17
-55
-8
0
0
-21
12
32
0
0
18
18
-3
0
0
-14
9
-7
0
0
17
-30
-34
0
0
3
-3
31
0
0
-81
-28
32
0
0
39
-48
-87
6
-5
4
-5
-126
0
0
-10
13
-29
0
0
45
34
43
0
0
12
1
2
0
0
-14
51
76
0
0
33
43
-16
0
0
34
47
-25
0
0
-12
-53
11
0
0
2
19
4
0
0
30
26
10
0
0
-14
16
-10
0
0
19
18
36
0
0
52
-3
-13
0
0
20
-3
10
0
0
-1
-21
-2
0
0
5
35
6
0
0
71
36
68
0
0
-28
7
-17
0
0
23
-9
40
0
0
-14
4
0
0
0
-22
29
5
0
0
-3
40
18
0
0
59
25
-3
0
0
-20
3
14
0
0
-13
-5
54
0
0
-37
7
-6
0
0
-8
-23
-25
0
0
-17
-6
15
0
0
12
-11
-60
0
0
57
32
4
0
0
7
14
13
0
0
33
-19
28
7
17
48
25
17
0
0
8
2
-18
0
0
20
10
-23
0
0
65
7
-65
0
0
18
16
18
0
0
49
18
22
0
0
-7
-53
-8
0
0
25
16
2
0
0
-9
16
16
0
0
36
31
44
0
0
-12
70
38
0
0
38
3
44
0
0
1
40
-11
0
0
-19
68
-2
0
0
6
44
15
0
0
-20
-21
50
0
0
-10
-1
50
0
0
0
-3
-20
0
0
10
-1
-13
0
0
4
62
-12
0
0
4
-25
-6
0
0
41
-31
62
0
0
18
-25
19
0
0
0
35
40
0
0
-30
-31
7
0
0
15
27
-25
0
0
-7
52
26
0
0
-27
6
-23
0
0
45
-21
-1
0
0
94
4
-17
0
0
14
-31
3
0
0
-31
44
-55
-6
16
-35
-23
59
0
0
-4
2
72
0
0
65
20
-33
0
0
30
-17
4
0
0
-7
44
-16
0
0
-15
3
52
0
0
38
17
32
0
0
-15
32
9
0
0
-53
43
0
0
0
-48
3
-5
0
0
-6
-65
19
0
0
-1
1
-37
0
0
16
26
24
0
0
-4
20
-2
0
0
-2
11
-34
0
0
6
49
-47
0
0
-35
19
-17
0
0
30
-9
-5
0
0
-45
-3
25
0
0
43
-44
-6
0
0
-1
-2
30
0
0
18
7
0
0
0
-25
-33
-2
0
0
-1
19
5
0
0
-47
-29
37
0
0
75
-44
-31
0
0
25
8
-21
0
0
-14
30
-5
0
0
-14
-29
43
0
0
-37
38
-3
0
0
20
-34
25
0
0
-67
6
-7
9
9
-19
-60
36
0
0
32
17
-21
0
0
19
-22
-13
0
0
18
-18
-40
0
0
-5
4
9
0
0
-53
26
33
0
0
23
-15
17
0
0
-22
-23
-6
0
0
-24
-13
63
0
0
-21
-7
4
0
0
7
49
-27
0
0
-5
46
27
0
0
34
33
-20
0
0
13
-6
2
0
0
-8
39
1
0
0
-61
10
2
0
0
-37
45
22
0
0
48
-30
59
0
0
-31
-8
38
0
0
-15
17
-10
0
0
-10
-13
-12
0
0
34
-42
-1
0
0
-34
-43
1
0
0
7
5
1
0
0
-35
6
27
0
0
51
4
-34
0
0
22
-14
-1
0
0
10
19
-41
0
0
16
-39
18
0
0
37
-8
5
0
0
-6
39
24
0
0
54
-39
-21
6
19
-35
2
-12
0
0
21
-12
-16
0
0
-2
-42
-13
0
0
3
5
-25
0
0
-24
30
4
0
0
12
-9
8
0
0
-41
26
63
0
0
2
2
1
0
0
54
18
6
0
0
11
-1
-1
0
0
-59
20
14
0
0
15
-4
-2
0
0
-11
-2
24
0
0
-9
3
-3
0
0
-7
0
13
0
0
-1
2
16
0
0
-3
13
13
0
0
-25
8
-2
0
0
-12
17
6
0
0
21
-9
0
0
0
27
0
6
0
0
-1
6
0
0
0
-9
-4
-5
0
0
0
0
0
0
0
-14
0
7
0
0
-27
19
7
0
0
51
11
-30
0
0
1
-9
-2
0
0
5
14
-19
0
0
9
-7
1
0
0
0
-13
3
0
0
-27
1
-8
14
-17
-22
55
-36
0
0
36
25
31
0
0
-6
42
-2
0
0
-60
-23
37
0
0
-25
-1
-6
0
0
13
6
-14
0
0
1
-7
-16
0
0
17
-15
0
0
0
9
-11
-43
0
0
3
49
2
0
0
-1
19
-11
0
0
-26
-1
-3
0
0
-7
-7
-7
0
0
14
10
0
0
0
-1
16
1
0
0
26
2
-10
0
0
3
37
1
0
0
22
9
-1
0
0
-1
33
-3
0
0
-19
0
-3
0
0
-1
25
0
0
0
-10
-12
0
0
0
-1
37
13
0
0
0
4
0
0
0
12
-9
-2
0
0
-4
8
22
0
0
4
-13
2
0
0
2
-34
0
0
0
-36
14
-15
0
0
35
-36
-19
0
0
12
-15
-9
0
0
4
6
0
-5
2
-84
-87
13
0
0
25
31
20
0
0
-21
-10
-1
0
0
-23
-13
6
0
0
3
54
3
0
0
11
19
4
0
0
-32
15
24
0
0
-18
0
-2
0
0
43
-12
-6
0
0
-19
-32
1
0
0
-2
6
-2
0
0
7
-9
-1
0
0
-2
-10
-1
0
0
0
0
0
0
0
0
-8
-2
0
0
-4
2
-1
0
0
9
-17
-4
0
0
24
29
0
0
0
-5
-16
3
0
0
-12
2
1
0
0
-12
3
0
0
0
-7
0
0
0
0
1
-7
-8
0
0
-1
-3
0
0
0
-19
-17
0
0
0
2
12
1
0
0
-3
34
0
0
0
0
6
0
0
0
-1
15
-3
0
0
-1
2
0
0
0
-6
21
-4
0
0
5
11
0
-11
-13
-7
-13
-16
0
0
22
13
11
0
0
36
-12
19
0
0
-13
45
19
0
0
11
15
-37
0
0
-43
-24
-4
0
0
36
9
-2
0
0
-20
2
7
0
0
9
-12
19
0
0
8
70
8
0
0
11
6
0
0
0
51
-63
0
0
0
-4
-21
-2
0
0
0
-1
0
0
0
7
29
1
0
0
9
7
-3
0
0
-17
-43
5
0
0
-24
19
-4
0
0
-9
-2
23
0
0
25
-15
2
0
0
30
-3
15
0
0
-6
21
2
0
0
-6
30
1
0
0
0
1
0
0
0
-3
-16
-12
0
0
9
15
11
0
0
10
-3
-4
0
0
1
-35
0
0
0
9
-14
0
0
0
47
-12
-13
0
0
19
-28
2
0
0
-2
43
9
10
-13
-63
-12
42
0
0
31
-2
10
0
0
9
13
18
0
0
12
34
33
0
0
11
4
-11
0
0
-14
1
-3
0
0
46
-9
7
0
0
-8
-9
0
0
0
9
-30
-21
0
0
-7
-20
6
0
0
45
-21
7
0
0
14
30
-1
0
0
-3
-15
14
0
0
-25
-8
0
0
0
2
-2
-1
0
0
2
30
4
0
0
12
-19
9
0
0
-2
33
2
0
0
14
43
-16
0
0
11
6
-6
0
0
11
15
-2
0
0
-7
15
8
0
0
0
27
1
0
0
-3
-11
-1
0
0
21
-8
44
0
0
5
0
-8
0
0
9
23
-11
0
0
-3
-3
10
0
0
-20
-9
-1
0
0
-7
38
-16
0
0
-1
-8
22
0
0
-33
18
1
1
-10
61
41
5
0
0
24
-2
32
0
0
29
-23
0
0
0
88
28
-27
0
0
-3
-16
18
0
0
23
-28
0
0
0
17
1
7
0
0
-7
-12
0
0
0
-1
-10
0
0
0
32
3
1
0
0
25
-2
2
0
0
-20
-28
-2
0
0
17
-28
-22
0
0
2
13
0
0
0
-6
-10
11
0
0
0
35
15
0
0
-23
7
-9
0
0
28
9
0
0
0
-17
0
-2
0
0
-1
2
0
0
0
-18
-1
-4
0
0
-9
-35
-1
0
0
4
-4
0
0
0
-2
-4
0
0
0
-16
-1
2
0
0
-3
-20
0
0
0
3
-18
9
0
0
-4
3
0
0
0
-46
28
-7
0
0
6
-6
14
0
0
-8
27
-7
0
0
-16
7
6
15
21
-14
0
6
0
0
-2
35
18
0
0
-38
-3
41
0
0
-5
61
19
0
0
4
-13
-32
0
0
22
6
1
0
0
0
-2
-1
0
0
-5
-20
1
0
0
-2
18
5
0
0
-11
14
-30
0
0
31
-11
19
0
0
-4
-21
20
0
0
6
-17
51
0
0
-1
10
8
0
0
0
-24
1
0
0
0
13
-4
0
0
10
-36
-22
0
0
37
-29
0
0
0
9
25
-6
0
0
-2
0
0
0
0
45
-20
-2
0
0
-5
17
-11
0
0
-3
13
-1
0
0
0
-4
2
0
0
9
13
-12
0
0
-16
38
-7
0
0
-6
-49
9
0
0
3
-12
0
0
0
7
-24
4
0
0
8
35
3
0
0
0
-2
8
0
0
15
-39
6
16
-10
-36
5
25
0
0
-12
-16
23
0
0
20
3
12
0
0
-32
15
-60
0
0
-17
19
-26
0
0
13
-6
-3
0
0
-30
11
7
0
0
9
22
0
0
0
-8
25
-6
0
0
30
-10
2
0
0
-7
-8
10
0
0
-22
14
-25
0
0
9
-8
-8
0
0
1
4
-2
0
0
0
-3
3
0
0
1
-19
-7
0
0
58
-10
-1
0
0
1
55
9
0
0
-21
39
0
0
0
4
6
-3
0
0
-9
8
0
0
0
-11
-10
-16
0
0
0
-6
0
0
0
0
-5
-2
0
0
37
27
24
0
0
-8
18
1
0
0
7
3
12
0
0
-3
-6
-6
0
0
-22
-18
6
0
0
-28
22
1
0
0
2
-3
0
0
0
-2
-61
-2
17
1
-26
-44
-33
0
0
33
16
-21
0
0
24
-8
-14
0
0
9
19
8
0
0
-6
-3
-4
0
0
-21
-1
-12
0
0
-10
-1
-8
0
0
0
1
0
0
0
-34
11
6
0
0
-17
0
-4
0
0
28
-17
0
0
0
13
0
6
0
0
18
-6
3
0
0
-3
-2
2
0
0
0
8
0
0
0
-1
2
0
0
0
33
0
2
0
0
7
5
-10
0
0
48
-2
-7
0
0
0
-6
-1
0
0
9
-17
2
0
0
1
19
-1
0
0
1
1
-4
0
0
0
-13
4
0
0
2
-10
-9
0
0
1
-3
-3
0
0
1
-5
-2
0
0
0
8
-3
0
0
15
-13
-2
0
0
0
-9
8
0
0
0
-5
-4
0
0
20
1
0
1
-12
-9
-9
-1
0
0
38
40
13
0
0
24
2
1
0
0
31
11
-1
0
0
-8
-42
-1
0
0
-5
-1
0
0
0
-3
15
-2
0
0
18
3
0
0
0
8
-6
-1
0
0
36
-20
0
0
0
16
38
0
0
0
-2
-27
0
0
0
11
11
2
0
0
0
-2
0
0
0
0
-1
0
0
0
-1
7
0
0
0
-8
4
0
0
0
8
-39
-5
0
0
16
-3
1
0
0
-3
-14
4
0
0
-4
-16
0
0
0
0
2
0
0
0
-9
2
-1
0
0
-2
4
0
0
0
-1
-3
-16
0
0
-17
47
0
0
0
5
4
0
0
0
-3
-1
-2
0
0
1
-3
1
0
0
-13
3
16
0
0
10
14
-2
0
0
-6
14
4
-14
12
-65
26
-1
0
0
21
-23
36
0
0
-17
21
43
0
0
-27
31
23
0
0
-7
13
44
0
0
23
-29
6
0
0
19
7
4
0
0
-7
-3
2
0
0
-14
55
-26
0
0
-17
23
-8
0
0
-12
-13
-25
0
0
5
11
-34
0
0
12
12
-8
0
0
0
6
0
0
0
0
-10
1
0
0
9
-19
0
0
0
74
-7
8
0
0
21
-15
-6
0
0
6
25
-11
0
0
7
7
-1
0
0
15
-16
-9
0
0
1
-29
7
0
0
1
-3
-3
0
0
0
-2
0
0
0
4
-1
1
0
0
-10
-5
2
0
0
2
-6
2
0
0
-7
-5
-4
0
0
-7
18
0
0
0
-2
9
-4
0
0
0
-22
-2
0
0
-29
-21
-2
8
8
-16
-16
-15
0
0
8
44
7
0
0
-11
33
0
0
0
52
28
17
0
0
-8
26
-37
0
0
43
-48
-9
0
0
12
-43
-14
0
0
-8
41
-1
0
0
-33
18
-16
0
0
58
-37
4
0
0
13
-10
8
0
0
44
3
14
0
0
36
28
-17
0
0
10
-28
1
0
0
1
-4
-2
0
0
3
-39
1
0
0
-23
-8
1
0
0
-9
11
46
0
0
7
-6
2
0
0
-47
-29
-1
0
0
1
0
2
0
0
-2
35
-15
0
0
-1
21
1
0
0
0
-1
-12
0
0
12
-11
2
0
0
-3
-9
21
0
0
2
-16
20
0
0
7
36
-1
0
0
1
38
-4
0
0
-3
16
-10
0
0
15
12
-10
0
0
3
-10
-4
1
5
-49
-28
-31
0
0
27
26
-14
0
0
-3
-2
40
0
0
-36
-1
13
0
0
21
35
-29
0
0
4
-15
3
0
0
30
-35
10
0
0
-6
1
2
0
0
-19
11
7
0
0
47
-10
-17
0
0
-22
8
-17
0
0
-1
8
2
0
0
-30
-18
18
0
0
-12
31
-10
0
0
9
9
20
0
0
1
-11
-4
0
0
9
-2
-9
0
0
-2
11
-10
0
0
38
-13
-19
0
0
-16
-22
9
0
0
41
14
12
0
0
-22
-13
21
0
0
-7
-6
-30
0
0
6
12
28
0
0
18
15
-4
0
0
8
-43
40
0
0
23
24
-9
0
0
23
11
39
0
0
6
-25
42
0
0
19
-4
13
0
0
-9
-29
-19
0
0
35
14
4
8
2
26
32
28
0
0
2
-47
17
0
0
21
2
-35
0
0
-17
-3
9
0
0
-1
-6
36
0
0
5
-44
18
0
0
4
6
0
0
0
-26
-8
1
0
0
6
19
3
0
0
-10
10
-3
0
0
50
-2
-2
0
0
-36
13
3
0
0
8
-6
16
0
0
7
17
1
0
0
-4
35
-14
0
0
22
10
5
0
0
-14
26
-14
0
0
4
2
-30
0
0
-3
-2
44
0
0
35
-32
-35
0
0
11
6
6
0
0
0
-8
63
0
0
21
-22
-42
0
0
5
24
-25
0
0
13
-20
30
0
0
34
-58
5
0
0
-23
35
32
0
0
-45
10
19
0
0
-14
-26
24
0
0
18
0
49
0
0
-30
-16
21
0
0
-13
-32
-25
-7
-16
44
-2
-57
0
0
31
27
14
0
0
-1
17
-87
0
0
-13
-7
0
0
0
35
-44
-11
0
0
2
2
0
0
0
-1
0
-4
0
0
0
6
0
0
0
14
3
0
0
0
10
-36
0
0
0
-21
6
-1
0
0
1
-4
2
0
0
1
12
0
0
0
-2
-1
0
0
0
0
-19
2
0
0
-4
20
0
0
0
65
-1
1
0
0
-3
21
26
0
0
18
-2
-20
0
0
17
-3
-12
0
0
-9
-20
23
0
0
10
-13
-27
0
0
-46
-13
-3
0
0
-35
-19
2
0
0
-47
31
-18
0
0
9
-21
-18
0
0
-4
-10
36
0
0
3
-14
-62
0
0
-35
-3
28
0
0
-12
-9
-28
0
0
-28
-1
41
0
0
-19
12
-39
-1
-2
29
-23
-17
0
0
4
-34
10
0
0
14
16
-22
0
0
14
6
-32
0
0
30
13
-1
0
0
-43
-19
1
0
0
0
1
-5
0
0
3
3
0
0
0
-26
-10
-4
0
0
-25
13
-6
0
0
-24
0
0
0
0
-5
-1
0
0
0
-30
10
0
0
0
-6
-2
0
0
0
-1
0
-1
0
0
4
-5
0
0
0
15
-12
0
0
0
-2
-10
13
0
0
-22
-17
21
0
0
0
19
-42
0
0
-10
0
64
0
0
6
5
0
0
0
-31
-13
-55
0
0
1
32
35
0
0
8
6
0
0
0
7
-5
53
0
0
45
-68
30
0
0
40
-4
-34
0
0
9
-19
11
0
0
-55
-27
-19
0
0
-3
-21
-10
0
0
54
-24
-22
2
-1
-10
-2
-46
0
0
26
35
-18
0
0
-2
0
16
0
0
-33
-32
42
0
0
-37
-19
38
0
0
18
5
-24
0
0
31
-43
7
0
0
0
4
0
0
0
-29
25
-16
0
0
-5
23
-2
0
0
17
1
17
0
0
-3
-21
5
0
0
-10
15
26
0
0
2
-11
-1
0
0
1
1
0
0
0
-10
2
0
0
0
20
-3
-51
0
0
-9
-4
-11
0
0
-9
28
-7
0
0
7
-1
-6
0
0
-12
-13
-43
0
0
42
-34
-50
0
0
103
-51
-87
0
0
-6
-9
2
0
0
37
-12
-13
0
0
-5
-34
2
0
0
-38
-28
6
0
0
32
-26
9
0
0
-9
46
-52
0
0
40
-8
-13
0
0
27
-57
12
0
0
4
-34
21
-5
1
66
6
72
0
0
-17
44
17
0
0
-1
0
48
0
0
60
-19
34
0
0
-11
6
29
0
0
17
45
0
0
0
-9
-37
-32
0
0
0
6
4
0
0
19
-6
-18
0
0
-12
-7
5
0
0
-29
-4
9
0
0
-4
-4
1
0
0
-5
-18
-4
0
0
-1
-34
-4
0
0
-2
0
-2
0
0
0
3
3
0
0
25
-33
-12
0
0
-3
8
21
0
0
-21
24
-1
0
0
3
2
-3
0
0
27
-52
16
0
0
52
-37
-25
0
0
6
-29
51
0
0
-5
46
1
0
0
-66
29
-30
0
0
-4
-19
19
0
0
-50
5
-21
0
0
24
-36
-7
0
0
-8
-9
-53
0
0
18
-14
-21
0
0
-26
-19
35
0
0
18
-15
-3
18
9
-26
-4
-45
0
0
-15
31
10
0
0
11
-35
12
0
0
15
-3
-9
0
0
4
20
-8
0
0
13
-2
1
0
0
-1
0
1
0
0
2
6
0
0
0
-16
6
-2
0
0
10
2
-1
0
0
19
-6
-1
0
0
-13
-1
0
0
0
-8
-10
-5
0
0
0
4
0
0
0
0
0
0
0
0
2
-33
-2
0
0
-1
9
-2
0
0
13
-14
0
0
0
5
-29
29
0
0
-4
27
13
0
0
-20
4
-60
0
0
-12
-6
-17
0
0
-45
12
-18
0
0
10
-7
-9
0
0
22
24
-36
0
0
-20
-11
25
0
0
3
29
-13
0
0
-8
2
-48
0
0
-18
31
-6
0
0
8
-17
9
0
0
9
-57
29
0
0
-35
-22
10
-3
-1
-9
10
-36
0
0
-6
-5
7
0
0
22
14
22
0
0
25
25
-3
0
0
5
9
9
0
0
2
11
-9
0
0
30
-10
-6
0
0
-3
-32
1
0
0
-35
40
-1
0
0
-6
6
-1
0
0
21
-2
-19
0
0
0
-29
-3
0
0
-93
4
-12
0
0
13
-2
-4
0
0
0
-7
-5
0
0
0
12
0
0
0
-53
-12
-3
0
0
-6
-15
3
0
0
-26
-24
25
0
0
8
-38
20
0
0
10
-8
-68
0
0
5
-3
-81
0
0
16
9
18
0
0
29
-35
-47
0
0
-15
-52
40
0
0
-4
-7
5
0
0
-63
-21
28
0
0
7
-25
-45
0
0
35
10
-14
0
0
34
13
-4
0
0
-15
23
15
0
0
-71
-22
12
4
-9
-33
2
-15
0
0
9
-7
3
0
0
4
17
-5
0
0
-3
-8
3
0
0
26
3
5
0
0
6
-8
-1
0
0
0
16
-30
0
0
-5
9
0
0
0
47
-32
8
0
0
-13
47
-6
0
0
-69
-43
8
0
0
-36
-13
37
0
0
-75
0
8
0
0
9
2
0
0
0
0
-8
0
0
0
-6
30
13
0
0
-10
-1
28
0
0
14
27
6
0
0
9
5
41
0
0
5
-67
15
0
0
-15
-10
-23
0
0
-12
8
4
0
0
9
18
-34
0
0
-20
-19
-46
0
0
-10
16
-61
0
0
2
-2
15
0
0
28
-14
7
0
0
13
27
56
0
0
-11
16
36
0
0
14
2
-13
0
0
-8
26
30
0
0
45
2
-1
-5
-2
14
14
15
0
0
3
-14
37
0
0
-24
45
0
0
0
20
-10
-9
0
0
1
-31
32
0
0
-27
10
-8
0
0
0
-58
-15
0
0
3
1
-3
0
0
-39
3
-13
0
0
-2
-1
4
0
0
33
-2
1
0
0
28
30
-2
0
0
-8
-8
9
0
0
1
1
-4
0
0
0
0
-1
0
0
8
-20
2
0
0
-31
3
2
0
0
33
-5
-26
0
0
34
-28
-13
0
0
8
-12
-10
0
0
19
-47
-10
0
0
-54
43
51
0
0
-11
28
25
0
0
-1
7
-4
0
0
9
-1
27
0
0
-16
11
-6
0
0
7
21
14
0
0
32
20
-2
0
0
6
1
-3
0
0
8
-16
34
0
0
10
1
-23
0
0
13
-16
24
-10
11
17
2
-7
0
0
33
-21
33
0
0
-33
64
3
0
0
-18
17
1
0
0
-7
74
-43
0
0
1
13
0
0
0
7
5
4
0
0
0
-6
-3
0
0
11
-5
15
0
0
9
-24
-10
0
0
9
3
7
0
0
10
7
11
0
0
-9
15
0
0
0
-1
1
0
0
0
1
13
-2
0
0
-2
5
-2
0
0
-12
-45
-2
0
0
12
-6
-37
0
0
-16
-20
50
0
0
-34
25
0
0
0
-3
3
-4
0
0
-5
-7
50
0
0
-64
-17
-12
0
0
38
-18
-41
0
0
-9
17
-7
0
0
12
-11
27
0
0
5
-40
19
0
0
3
-25
-8
0
0
-10
-19
-24
0
0
-48
-21
2
0
0
-10
-5
-67
0
0
-10
-3
13
-1
-2
14
-19
17
0
0
14
20
-29
0
0
9
24
-16
0
0
-28
-35
13
0
0
4
-22
17
0
0
17
-3
13
0
0
33
6
-1
0
0
0
4
2
0
0
3
-45
-8
0
0
-28
54
-11
0
0
-10
9
0
0
0
-12
-23
0
0
0
42
21
-2
0
0
0
-1
0
0
0
-1
1
-2
0
0
0
-7
0
0
0
-38
1
-3
0
0
3
7
33
0
0
-22
-35
21
0
0
-27
-19
-20
0
0
-44
-35
16
0
0
-1
-24
36
0
0
29
-22
26
0
0
2
-26
-10
0
0
-7
-24
-49
0
0
5
20
22
0
0
19
21
9
0
0
-21
9
15
0
0
1
-8
-18
0
0
-14
-6
12
0
0
3
0
47
0
0
-13
-5
-54
2
14
-25
12
-59
0
0
34
4
-17
0
0
-20
15
53
0
0
17
9
2
0
0
-21
2
10
0
0
27
6
-13
0
0
21
-10
-6
0
0
-1
-2
3
0
0
9
8
-56
0
0
61
-48
15
0
0
-4
-20
4
0
0
1
-2
-12
0
0
3
-6
20
0
0
3
-5
-3
0
0
0
9
-9
0
0
3
-3
-8
0
0
40
-37
14
0
0
-18
4
5
0
0
24
0
-49
0
0
-15
12
-28
0
0
-88
66
70
0
0
-57
11
2
0
0
-10
-38
20
0
0
5
-60
-38
0
0
-45
-67
7
0
0
24
9
35
0
0
-24
4
-46
0
0
7
12
50
0
0
20
12
34
0
0
23
7
1
0
0
24
28
-26
0
0
36
-25
98
1
-15
-6
-2
33
0
0
21
54
-30
0
0
12
7
-1
0
0
22
7
19
0
0
-8
-32
-4
0
0
-6
0
16
0
0
-37
0
30
0
0
10
2
1
0
0
-61
2
12
0
0
-21
52
16
0
0
-22
20
7
0
0
20
27
-8
0
0
-39
-5
32
0
0
-12
-1
8
0
0
0
7
-3
0
0
1
13
-4
0
0
5
23
-3
0
0
10
-11
-18
0
0
-21
26
18
0
0
-41
5
16
0
0
14
2
44
0
0
-62
26
-21
0
0
-21
-14
-16
0
0
5
-28
-7
0
0
28
-89
-41
0
0
12
8
8
0
0
-20
13
34
0
0
-14
-19
25
0
0
-17
15
-41
0
0
14
-43
3
0
0
-14
3
-54
0
0
26
-29
34
-3
7
16
14
-56
0
0
-38
50
72
0
0
14
42
-13
0
0
1
50
8
0
0
27
15
-18
0
0
-3
-17
2
0
0
-33
2
9
0
0
2
-7
-3
0
0
15
-46
-16
0
0
1
27
-16
0
0
19
-29
-3
0
0
15
-36
9
0
0
-7
28
-20
0
0
-4
-10
-1
0
0
-8
2
0
0
0
2
-21
2
0
0
3
9
-6
0
0
-15
-40
17
0
0
-7
-17
0
0
0
5
-35
2
0
0
-33
25
-32
0
0
7
10
-27
0
0
28
-15
-13
0
0
-16
10
15
0
0
-7
-41
16
0
0
2
8
16
0
0
3
26
-27
0
0
29
0
-56
0
0
54
-57
-5
0
0
-54
-6
-18
0
0
-2
-55
5
0
0
31
-14
2
-3
3
-44
-76
33
0
0
21
23
10
0
0
36
9
16
0
0
-23
-33
4
0
0
-25
-19
14
0
0
2
-21
8
0
0
-33
33
64
0
0
28
47
-4
0
0
-9
39
16
0
0
17
2
2
0
0
20
6
8
0
0
30
-5
-40
0
0
28
-64
-10
0
0
58
-15
2
0
0
-12
16
0
0
0
-9
-2
-17
0
0
-30
8
11
0
0
8
-59
26
0
0
14
8
-53
0
0
-25
19
38
0
0
-16
-12
4
0
0
-36
-18
-16
0
0
-40
-70
-104
0
0
13
10
-64
0
0
-7
-38
80
0
0
7
31
-11
0
0
-10
-24
16
0
0
-37
-24
-19
0
0
-17
-47
-14
0
0
47
-7
8
0
0
-45
-15
24
0
0
-22
-21
-8
-14
4
-31
-63
5
0
-2
-2
27
6
0
4
28
-26
-1
0
-15
-5
13
33
0
16
15
4
26
0
28
-1
36
-17
0
-10
18
8
10
0
53
-6
61
20
0
30
-1
-19
-6
0
31
11
7
-65
0
32
63
54
27
0
32
-26
-47
57
0
-38
-11
-15
17
0
-7
49
-1
-13
0
3
48
-24
-32
0
-3
-20
-12
42
0
3
-38
19
-3
0
-3
25
50
38
0
53
8
15
25
0
29
47
-60
0
0
-43
39
24
6
0
15
49
39
12
0
-1
-1
1
2
0
0
-32
16
-7
0
1
19
-52
1
0
-12
29
40
28
0
7
71
8
20
0
0
-9
45
11
0
4
4
2
33
0
69
42
17
-11
0
11
36
-15
14
0
-4
-5
14
47
10
-49
-48
34
-1
0
-23
13
27
42
0
9
11
10
-6
0
57
1
67
18
0
-9
33
10
-8
0
33
-34
-3
-8
0
4
41
-18
6
0
-6
-4
14
8
0
1
17
-9
65
0
16
3
-7
80
0
-8
29
-18
-26
0
-20
15
-25
-35
0
-3
8
30
20
0
20
12
-26
-21
0
-9
22
-12
11
0
36
38
-5
9
0
23
28
15
-16
0
15
2
-1
23
0
31
-11
11
6
0
-29
30
-59
-4
0
7
-6
-18
-48
0
-1
15
-17
21
0
-2
-5
2
33
0
0
4
35
0
0
5
37
54
26
0
3
-13
0
-20
0
10
10
0
-46
0
1
17
-60
4
0
12
25
16
-6
0
23
1
-6
-2
0
-4
4
36
24
0
-28
-48
33
8
1
-42
-25
28
-22
0
14
29
49
78
0
-5
39
-8
-6
0
19
36
-5
-4
0
7
3
-48
-14
0
7
2
29
-39
0
-23
6
22
-5
0
26
-4
-9
28
0
-3
-40
-14
-14
0
-30
25
27
5
0
0
-17
-24
11
0
45
-13
12
-65
0
-43
-20
30
-23
0
11
-26
23
3
0
4
35
22
-2
0
-76
-40
31
26
0
-31
14
39
-3
0
-17
30
23
-1
0
1
19
-10
2
0
-66
19
-3
3
0
7
-23
9
4
0
-2
19
31
-20
0
-4
8
-28
-15
0
7
0
23
-4
0
1
-29
-17
11
0
30
8
-24
4
0
-20
39
-9
-3
0
-2
4
18
6
0
36
-50
-12
0
0
19
32
54
-61
0
2
5
22
14
0
50
1
28
-1
-4
-46
18
-24
-27
0
-15
28
39
-3
0
-12
15
-30
-1
0
41
10
10
-13
0
29
31
-3
52
0
-1
36
-10
-15
0
55
15
-21
9
0
55
-14
27
28
0
-7
9
34
-15
0
-15
59
-8
21
0
11
-68
-8
7
0
-83
68
36
-13
0
31
6
-18
8
0
-10
-2
-9
44
0
47
-65
10
-30
0
-3
24
0
39
0
38
-15
6
-47
0
36
-29
17
8
0
-12
-10
29
18
0
11
-34
55
-4
0
-3
10
-15
-3
0
0
2
-7
0
0
3
14
-63
-6
0
2
-33
-33
-4
0
-18
-11
6
-6
0
-26
-13
49
5
0
20
-50
1
-13
0
-4
-61
49
-34
0
-27
17
-19
-4
0
-24
-37
-29
-21
0
-18
18
1
-8
0
-22
24
34
3
-10
-36
-19
37
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-10
0
9
-23
42
23
0
13
-14
9
-18
0
-48
5
-2
-11
0
57
-13
-4
-14
0
-38
5
0
72
0
23
6
-14
3
0
15
56
-81
-40
0
9
5
44
14
0
-8
8
38
10
0
33
7
3
16
0
60
28
16
-40
0
59
29
20
-22
0
-23
12
9
12
0
1
5
-7
-6
0
-31
2
-30
-9
0
24
13
33
-4
0
-28
30
-13
-3
0
-11
25
11
0
0
-5
-16
-7
-10
0
53
24
-52
2
0
-43
12
97
-9
0
5
-3
19
3
0
55
-10
-5
3
0
32
13
7
21
0
18
32
0
70
0
20
-30
30
31
0
23
-55
-5
0
0
9
5
-3
2
0
-22
75
1
20
0
-42
-3
0
-11
-13
-60
-58
1
-30
0
5
-21
29
51
0
49
31
-10
-24
0
-58
18
-17
15
0
5
-20
-21
31
0
41
-36
59
-21
0
-39
-26
1
69
0
8
-7
3
-4
0
-56
-16
-38
9
0
-14
44
6
-36
0
6
-34
37
22
0
-50
36
-77
14
0
-14
2
-11
-2
0
12
27
-1
4
0
14
16
72
23
0
0
-30
-21
3
0
-63
-8
14
-13
0
23
26
3
-8
0
46
14
-27
9
0
1
23
-17
0
0
18
61
33
-9
0
0
21
15
1
0
-18
-19
6
1
0
0
-8
-7
-3
0
-18
27
24
6
0
-23
-2
34
-32
0
13
39
-48
2
0
13
-53
16
9
0
-43
36
-21
-22
0
45
-47
58
-50
0
56
-53
16
-1
0
24
9
-40
-13
23
-15
-12
-23
-56
0
-11
5
23
-3
0
-73
-5
-21
79
0
-13
-9
33
18
0
-37
-7
8
-25
0
27
-45
12
3
0
5
-27
46
-7
0
7
-50
2
-8
0
18
-72
-29
-22
0
-41
10
25
-13
0
73
40
-28
-52
0
6
-17
-8
-4
0
-14
-15
29
4
0
5
52
27
-14
0
-15
-7
14
4
0
-1
17
-11
1
0
-43
-9
-18
3
0
-9
-40
5
6
0
9
-20
16
9
0
6
-11
-18
2
0
-3
-42
3
14
0
30
-1
-27
0
0
-9
-8
-31
0
0
-1
27
-21
0
0
2
-8
17
2
0
19
-5
45
5
0
-16
7
1
43
0
10
-20
-9
-46
0
5
33
7
1
0
1
-29
-16
-14
0
8
32
22
-2
0
21
20
-35
3
17
-42
80
-32
11
0
10
-21
-5
3
0
-3
1
75
-29
0
-12
9
6
2
0
20
12
-3
9
0
12
-5
16
12
0
11
5
-2
4
0
-12
-37
34
2
0
4
-9
13
-23
0
4
2
45
-52
0
-7
-23
12
11
0
24
90
-55
-27
0
-26
13
-55
-35
0
-17
-23
10
10
0
-3
-55
13
6
0
-4
24
-29
-16
0
-28
-26
45
29
0
-10
-7
-53
8
0
-19
0
-36
14
0
3
-51
30
0
0
-26
37
-1
23
0
-2
-13
-8
0
0
0
2
26
0
0
7
-6
2
1
0
-4
7
-27
0
0
-37
-5
2
-4
0
-19
-7
-27
-4
0
-35
36
-13
-5
0
27
36
-13
-18
0
1
-1
-12
12
0
-8
0
-16
15
0
-5
0
-41
1
-12
1
51
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
35
-2
-31
0
6
-8
-22
-18
0
24
-37
26
12
0
38
11
-20
8
0
-6
37
-34
11
0
-9
-1
-5
9
0
34
3
17
-4
0
-18
38
-22
6
0
21
53
15
-6
0
13
6
-22
56
0
-26
22
-44
-31
0
24
-20
44
27
0
25
-19
3
43
0
12
96
-44
1
0
-26
19
36
19
0
-5
8
-16
-61
0
4
14
13
3
0
-1
16
12
-3
0
-9
-19
-7
-7
0
-11
8
30
1
0
-8
-4
18
15
0
-31
-21
-17
-7
0
1
12
6
-28
0
-31
-58
-5
20
0
17
25
14
37
0
-44
7
20
4
0
-24
4
1
-30
0
-77
38
-12
7
0
38
-6
25
-12
0
2
-3
-1
-27
0
10
13
-31
33
5
-12
12
-21
46
0
-28
18
29
39
0
-20
23
20
-11
0
26
3
-19
-11
0
3
4
-23
66
0
-23
-25
-24
24
0
-42
59
2
-27
0
-14
49
-12
-12
0
2
-7
32
-34
0
-8
14
14
29
0
-42
54
45
40
0
30
-3
2
-19
0
64
36
-9
15
0
-12
20
-17
12
0
22
-25
52
-6
0
-10
6
31
22
0
3
37
0
-34
0
-1
19
9
18
0
2
-24
-26
6
0
23
18
-1
17
0
-29
7
-3
42
0
-29
1
-11
-18
0
-11
-2
-19
-50
0
-8
-12
-15
27
0
-63
12
-26
-3
0
65
-1
3
-43
0
32
-26
5
95
0
-30
-17
7
28
0
-21
23
37
-46
0
-31
25
-19
-36
0
41
-12
-37
40
0
-9
-48
-73
1
-6
-24
1
19
-31
0
42
-13
19
1
0
-26
-19
1
-29
0
-32
27
27
8
0
-13
-15
-4
32
0
-45
-7
-2
12
0
10
-4
-9
-2
0
-8
-7
4
0
0
8
-16
-13
-13
0
11
53
-34
6
0
-6
12
11
-13
0
-6
-55
-6
17
0
-43
-34
29
-2
0
6
-23
-1
-2
0
0
-59
34
-1
0
-12
-8
-19
-2
0
28
29
-9
-7
0
-13
-2
5
-3
0
17
-14
-14
0
0
-10
12
5
-1
0
18
-11
-19
-26
0
-15
-7
-2
-12
0
27
-10
-11
28
0
-33
49
-12
-62
0
-18
-21
-23
34
0
35
35
-2
41
0
-16
2
16
-15
0
-36
-13
24
-57
0
-3
17
-15
-28
0
-41
-1
12
-22
0
11
-38
-2
10
0
41
-18
-6
37
1
50
-50
-67
-28
0
-44
40
12
-36
0
-14
-13
0
-26
0
2
22
52
6
0
-21
47
9
33
0
41
-2
11
0
0
-15
-26
45
-18
0
13
-31
-9
-1
0
-45
46
-12
15
0
-24
-18
-10
47
0
-9
26
-16
-7
0
16
-17
-11
27
0
17
-30
71
-27
0
0
6
-10
-7
0
-15
23
-51
2
0
-8
-8
-4
-12
0
37
15
-53
34
0
-13
25
-11
1
0
-19
-18
-26
-34
0
21
-3
-55
7
0
-6
3
-9
-7
0
-6
16
31
-15
0
49
12
7
-2
0
8
-49
-2
-45
0
-16
-21
3
-68
0
-27
-86
12
-5
0
-32
-16
-8
91
0
82
10
-65
6
0
-32
-18
16
31
0
5
-25
-33
50
0
-33
-13
-10
25
0
5
-23
-37
8
-12
39
-47
18
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
44
45
0
-21
12
6
-28
0
-34
38
-16
32
0
7
15
3
-2
0
-25
43
-3
-4
0
-21
-8
-7
-28
0
51
6
-16
1
0
29
-31
20
-4
0
39
2
-11
3
0
-19
11
-26
61
0
2
21
63
-28
0
21
-21
4
2
0
45
26
20
-14
0
54
19
16
-14
0
7
-48
-9
13
0
-13
23
24
-4
0
9
8
20
14
0
11
-8
-26
9
0
-12
-43
6
64
0
-17
36
-26
-69
0
-19
-17
-1
3
0
9
34
-38
-36
0
-63
8
-13
18
0
-22
-75
3
27
0
0
14
2
5
0
-9
-14
9
19
0
40
5
-15
16
0
-31
8
-10
15
0
34
11
6
0
0
-51
40
-36
7
0
-75
-8
8
20
5
-66
22
-17
-27
0
27
-45
20
2
0
22
-10
-47
7
0
-29
40
-19
-1
0
-18
7
-38
-12
0
-39
4
11
-13
0
-5
23
13
6
0
21
-16
10
3
0
-9
19
27
0
0
-26
27
-14
13
0
23
-2
38
-15
0
-9
9
-43
8
0
16
32
14
-25
0
-34
30
-53
-11
0
-4
49
8
-17
0
-23
13
-25
7
0
-30
7
-72
31
0
-19
25
68
47
0
9
25
-10
7
0
41
-43
10
32
0
-45
-44
17
-6
0
42
38
4
21
0
35
-32
-28
37
0
42
2
33
16
0
-67
42
-42
42
0
-21
-4
23
-5
0
-7
-7
-15
6
0
12
40
5
67
0
-5
-41
-9
-16
0
-1
-2
-9
-42
0
-5
12
43
-29
0
58
1
-4
-22
4
-42
16
16
30
0
48
17
-3
21
0
-7
-81
0
-2
0
-13
-4
-4
-1
0
47
-48
-11
-8
0
4
18
-6
0
0
-2
1
41
0
0
36
-3
10
0
0
-3
8
2
2
0
55
3
-14
0
0
-8
-25
5
10
0
22
-29
-1
3
0
29
-33
-9
-6
0
41
-12
12
-16
0
-41
2
33
-3
0
-22
5
-1
1
0
-87
57
-38
-10
0
-33
28
-62
37
0
-25
-61
15
-2
0
-20
17
-21
-60
0
-2
20
13
-23
0
-24
2
30
-59
0
-17
-28
3
-42
0
-14
-21
70
-21
0
-1
21
-22
11
0
-2
-24
27
29
0
-57
-10
14
-7
0
-4
32
-5
-17
0
-14
1
3
8
0
8
8
-20
8
0
35
-22
-30
-35
0
8
68
-38
-25
7
-6
-11
-42
-20
0
-36
-15
-5
1
0
-15
-63
49
25
0
0
-11
-24
-4
0
26
-12
-15
-7
0
-43
-9
1
0
0
29
-18
10
2
0
-17
-34
-3
-3
0
8
0
20
0
0
5
-34
-41
3
0
14
5
-36
2
0
-3
10
-42
-2
0
1
13
23
5
0
-20
40
5
0
0
-25
11
-11
-1
0
-28
10
-1
-1
0
-27
19
-31
22
0
-42
-4
-57
-12
0
-14
-28
10
-38
0
-42
66
-3
-28
0
-33
-48
-12
37
0
-5
-9
14
-21
0
26
-58
23
-2
0
40
-25
6
28
0
-48
22
-2
-53
0
-6
-3
-9
31
0
46
-14
-21
-8
0
-1
35
-8
-17
0
-24
4
25
-17
0
15
10
-4
-1
0
20
-11
19
-42
0
61
9
23
-46
-12
-39
-23
36
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
-3
34
-6
-12
0
13
52
-21
-12
0
47
-1
1
-24
0
-9
11
34
3
0
-14
78
21
52
0
42
9
54
24
0
-38
-17
4
27
0
41
52
-18
-40
0
-21
39
-20
-23
0
16
42
35
32
0
9
-4
3
50
0
6
40
-15
39
0
39
-24
26
7
0
0
-19
33
-44
0
0
-22
-23
34
0
69
-8
14
18
0
12
0
14
-8
0
6
-35
28
9
0
7
16
-10
9
0
43
7
15
17
0
-41
23
71
13
0
4
24
-6
-1
0
0
-2
-4
6
0
8
32
37
-9
0
-30
15
43
-17
0
4
-27
-8
32
0
3
-23
22
12
0
-2
24
-17
18
0
-25
80
26
-45
0
1
-31
23
73
0
7
-99
40
69
15
21
23
-22
9
0
41
13
13
29
0
-1
-6
10
26
0
49
29
52
-13
0
54
22
-19
-56
0
8
19
16
-15
0
-2
29
30
37
0
-64
32
-2
26
0
25
90
23
3
0
39
4
4
16
0
8
30
37
17
0
-35
70
17
1
0
47
-15
10
101
0
19
33
-17
49
0
-4
0
49
9
0
8
59
-32
4
0
-16
-8
16
-10
0
92
2
27
-1
0
6
-36
-12
12
0
6
0
6
-8
0
-47
69
18
4
0
0
18
15
10
0
2
-3
48
17
0
1
-16
22
-7
0
0
-35
19
-8
0
-3
-16
-1
-5
0
-21
11
14
21
0
1
-51
61
-1
0
-15
-36
32
20
0
35
9
26
-14
0
56
-8
16
19
0
-15
55
1
-33
16
-72
23
41
3
0
18
17
-24
-11
0
12
-6
3
-12
0
-6
35
46
12
0
13
45
12
-16
0
-6
58
-34
-32
0
27
39
-12
15
0
-40
-36
7
22
0
11
39
6
-21
0
19
23
-10
-56
0
12
-28
35
-3
0
-2
-11
36
22
0
-19
37
45
-9
0
3
35
16
9
0
-1
-2
-13
-15
0
10
-41
-45
21
0
-42
35
-7
5
0
-11
-16
20
22
0
15
19
-31
-14
0
0
-2
-26
0
0
-14
3
7
-8
0
-5
21
2
-4
0
0
-11
-11
-3
0
3
9
58
-3
0
1
-30
-2
4
0
13
-63
-38
15
0
9
-18
-14
4
0
-2
-49
11
-30
0
18
36
-12
1
0
58
-11
-50
15
0
1
30
0
1
0
-14
-8
26
32
6
-38
-27
-19
0
0
44
-5
-8
43
0
-19
49
45
-13
0
34
-6
16
-38
0
-18
3
4
23
0
-9
-52
28
5
0
-15
-40
-3
57
0
4
30
12
-34
0
29
24
3
-24
0
-64
49
-8
-6
0
75
-9
-41
-8
0
0
31
4
-24
0
21
19
-2
-9
0
-7
39
-47
-4
0
12
8
-20
16
0
0
-21
29
-16
0
-35
50
24
43
0
-3
-6
17
7
0
-30
-5
-24
-12
0
-3
-19
-11
0
0
41
10
-30
26
0
0
-24
8
2
0
0
1
-20
-2
0
11
-1
2
-3
0
-2
29
17
-3
0
-7
-19
3
-6
0
-23
22
-22
2
0
0
-4
23
-22
0
-4
-38
43
17
0
10
-18
16
-15
0
-11
95
-60
-18
0
49
24
-29
49
-23
-57
8
46
48
0
5
-36
1
16
0
-8
-11
13
26
0
3
19
28
-10
0
0
52
-8
-5
0
15
-4
-4
-8
0
37
-11
23
58
0
61
-32
-1
7
0
8
-90
36
17
0
12
13
7
5
0
13
16
-48
23
0
16
-27
3
2
0
45
6
-20
0
0
-21
90
51
1
0
0
9
-38
30
0
2
-25
20
-1
0
-47
15
-10
27
0
9
-26
-19
34
0
43
30
-42
-30
0
-1
-6
3
2
0
-19
14
-2
-7
0
17
-9
14
1
0
1
0
7
-2
0
0
0
-1
0
0
1
-15
5
0
0
-9
-38
53
2
0
-6
5
1
-2
0
0
7
-16
0
0
0
-1
7
0
0
-37
70
34
-15
0
1
4
20
-5
0
18
24
-30
0
1
4
-15
5
0
0
-26
35
24
20
0
7
60
-4
7
0
5
-14
-15
41
0
48
3
-8
-34
0
-22
-14
0
-22
0
22
-3
-14
15
0
74
-55
-35
18
0
24
-17
-42
8
0
-3
-31
23
30
0
-12
-19
1
19
0
8
10
16
-3
0
-69
9
33
0
0
-18
43
27
-17
0
25
42
9
-10
0
-3
10
-32
-7
0
-31
17
39
-3
0
-22
-9
2
-9
0
48
-29
27
23
0
-15
-2
10
1
0
28
0
-27
-7
0
-1
-13
-53
0
0
-7
-21
33
3
0
0
0
-4
0
0
-7
7
1
1
0
0
3
-2
15
0
13
3
49
-33
0
0
-1
-37
0
0
-2
0
-8
-2
0
27
-37
-47
0
0
-15
9
-7
18
0
-15
7
3
0
15
-15
-30
-7
-1
0
26
1
16
-7
0
9
42
-3
-52
0
-32
31
24
23
0
-16
21
75
-25
0
37
2
-22
-1
0
-46
33
11
-23
0
-11
8
6
0
0
20
-70
6
5
0
-33
54
19
-2
0
-16
12
-10
1
0
23
20
-23
2
0
-7
-22
-6
1
0
2
-16
5
-8
0
0
1
-27
-1
0
3
-10
14
-2
0
-9
0
-3
-9
0
-4
38
30
-2
0
0
-54
17
-1
0
0
-1
-3
0
0
8
-2
-3
0
0
1
-2
14
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
9
3
-1
0
0
15
-25
2
0
0
1
3
-1
0
-10
0
0
3
0
0
-6
-40
1
0
0
14
-8
3
0
-3
3
-17
-2
23
-18
-18
0
-1
0
11
-9
74
56
0
10
-2
-1
-22
0
31
-24
-27
35
0
-2
-19
-17
2
0
82
50
-49
-9
0
-20
32
25
-7
0
-17
-33
49
0
0
7
17
-32
-21
0
-24
51
-10
24
0
-46
-31
23
-56
0
-16
2
11
18
0
-13
-38
-1
-14
0
-2
9
-8
0
0
20
29
6
-19
0
-4
13
15
-8
0
-6
-3
-34
-3
0
14
48
-46
16
0
36
8
-3
-26
0
10
7
42
11
0
15
20
51
-10
0
1
7
-19
7
0
-1
-24
-3
9
0
0
2
0
0
0
-13
43
-11
2
0
-9
-13
-11
-3
0
-4
-1
-1
1
0
0
1
16
0
0
9
-8
-1
-13
0
2
-19
4
0
0
-5
-37
10
13
0
-10
-47
26
0
-2
36
5
19
2
0
-32
67
9
42
0
59
-7
6
30
0
43
1
17
21
0
10
60
-20
38
0
-46
-18
-15
47
0
-2
-53
-12
22
0
50
9
8
-17
0
-75
20
21
0
0
-21
19
-23
42
0
9
-21
40
-15
0
34
20
-12
-18
0
-13
94
0
-36
0
-16
4
34
20
0
-1
43
82
-3
0
0
55
-19
-19
0
32
36
-10
-3
0
-3
3
-16
-2
0
14
-5
38
-56
0
10
-7
-25
0
0
7
3
1
0
0
-3
-18
-4
6
0
0
4
-4
-1
0
0
2
1
-2
0
1
-32
-2
0
0
36
-36
7
-10
0
-16
48
55
-20
0
0
11
1
0
0
-10
-9
50
-3
0
4
9
-38
7
0
0
-7
32
-7
0
-25
47
-25
7
12
15
-73
-10
30
0
4
-39
-24
97
0
-13
25
8
30
0
37
-7
-61
2
0
17
14
41
4
0
-5
20
4
5
0
-30
-12
27
-40
0
-47
10
19
0
0
27
32
9
7
0
-11
38
43
-18
0
11
0
3
10
0
24
14
-77
-25
0
10
-29
-13
1
0
55
18
-29
-4
0
-42
64
25
-15
0
-35
-8
-13
-6
0
28
-58
-23
12
0
12
0
32
1
0
-14
-33
21
-5
0
1
10
-4
0
0
-11
16
-4
-1
0
2
0
11
2
0
0
4
16
-12
0
0
-1
1
0
0
17
4
0
0
0
-11
41
67
-4
0
10
-27
-21
27
0
0
-25
10
-1
0
-39
20
-9
11
0
-8
40
12
-18
0
34
-6
-15
-38
0
-1
-37
4
1
-2
5
58
-11
-16
0
4
14
15
20
0
-11
6
6
44
0
30
-5
-15
6
0
28
7
25
-6
0
-16
41
-13
9
0
-30
-4
0
-2
0
11
-17
-19
0
0
11
17
-11
7
0
18
-46
17
27
0
-7
18
-19
38
0
1
-10
4
-2
0
4
60
40
-21
0
-1
-3
-15
-1
0
0
26
-16
9
0
-18
-8
50
34
0
14
35
1
-9
0
11
5
-6
2
0
-38
-2
1
-1
0
-7
11
0
2
0
-20
-1
3
-3
0
-1
0
2
0
0
-2
0
-2
0
0
0
-1
0
-1
0
0
0
-2
0
0
0
9
7
-4
0
-11
3
3
-3
0
-1
-11
1
4
0
-19
-3
0
3
0
2
-29
29
-8
0
-8
-11
32
-11
0
46
-25
-3
-12
12
-13
36
-19
-34
0
12
-18
47
-28
0
-13
-29
9
3
0
-22
5
-17
40
0
27
-20
37
-1
0
-28
-38
35
-8
0
-2
-33
24
1
0
52
3
15
1
0
42
-15
49
-2
0
22
15
-24
-21
0
27
11
30
-17
0
62
-43
-40
-4
0
17
-12
-16
-4
0
-15
38
-1
3
0
29
24
-48
9
0
-2
35
-30
-1
0
-30
14
-47
-19
0
-6
-6
10
3
0
-9
0
0
-8
0
0
-27
-5
0
0
-100
0
25
-2
0
-8
-2
-1
0
0
1
2
-2
0
0
0
0
0
0
0
-2
44
-2
0
0
-3
34
-6
3
0
17
1
-3
-5
0
1
5
-3
0
0
8
-4
-31
5
0
7
-30
8
0
0
-9
-39
26
-6
0
-34
-19
-17
0
9
-10
33
-28
-42
0
-5
2
4
54
0
5
2
-34
3
0
-42
22
34
-7
0
6
4
-16
16
0
39
-25
-41
-9
0
12
12
-9
-4
0
28
-8
36
0
0
16
-50
9
4
0
-30
46
16
16
0
-71
80
-25
4
0
-7
56
40
-1
0
-49
22
-7
0
0
4
31
-19
0
0
7
-23
-21
0
0
-2
-26
13
2
0
10
-11
42
0
0
-45
46
17
10
0
67
7
-52
-4
0
-3
-8
33
-1
0
3
3
1
1
0
-4
29
-14
4
0
0
-1
0
0
0
-2
2
1
1
0
0
-42
-2
0
0
-2
24
18
-8
0
0
5
5
0
0
0
2
-2
0
0
-3
-10
1
0
0
4
-18
-46
-13
0
1
20
1
12
0
-6
-3
-1
-1
10
-11
-16
-3
0
0
5
41
57
-19
0
-17
26
27
10
0
-33
0
40
-11
0
-24
13
-9
19
0
-49
-4
22
3
0
15
-43
-32
9
0
53
-4
-19
0
0
-6
-47
-9
7
0
-2
-15
36
-43
0
-1
-5
43
-10
0
26
-22
-65
7
0
-68
5
-10
-10
0
18
-46
3
-2
0
-4
-21
-25
-8
0
0
-9
-16
1
0
-6
-15
-20
6
0
15
-2
31
-15
0
-23
6
-7
16
0
2
0
-2
0
0
-38
-16
-19
7
0
12
-5
9
0
0
1
-9
-37
-4
0
0
6
0
0
0
0
0
-2
1
0
0
34
-37
5
0
-9
24
-7
-1
0
0
6
-4
-7
0
4
2
3
0
0
4
21
-20
0
0
7
6
-5
4
0
0
6
0
2
-6
12
0
-9
-10
0
-14
40
85
-2
0
-26
43
29
-18
0
-13
21
3
28
0
33
-35
34
2
0
-43
-8
24
24
0
6
7
27
-4
0
19
3
-38
-1
0
-39
23
-12
0
0
-28
-19
43
18
0
3
-15
33
-14
0
4
-89
6
-2
0
0
-4
15
-7
0
-3
25
-34
0
0
0
-8
39
0
0
0
-24
13
2
0
-41
4
22
0
0
15
54
-30
12
0
22
-9
9
-24
0
-18
-9
-25
3
0
31
-2
2
-6
0
0
-1
-1
-1
0
0
0
-25
1
0
2
0
-1
0
0
0
0
5
0
0
4
-16
8
-17
0
-1
1
-14
-2
0
0
1
-30
-1
0
6
1
0
3
0
4
28
-26
-7
0
0
0
-4
0
0
-6
-15
8
0
-28
43
-14
1
6
0
0
15
17
-11
0
25
-27
27
12
0
0
-3
21
20
0
-32
-7
2
19
0
-2
-15
17
16
0
-14
25
-45
-17
0
-15
18
-4
0
0
4
6
22
3
0
32
-2
-4
-20
0
11
-44
-39
48
0
-19
56
-80
7
0
50
-45
-28
15
0
0
-19
-24
2
0
-16
-44
-16
0
0
-4
4
-9
0
0
-36
21
11
-13
0
13
-2
-42
-4
0
-26
32
-4
-1
0
-12
29
25
-12
0
-45
-15
27
-3
0
9
17
15
4
0
-7
-23
42
-3
0
0
-8
8
0
0
-22
12
-20
2
0
0
15
-11
-14
0
13
-19
-8
21
0
1
29
0
1
0
3
-23
6
-10
0
0
17
-24
-5
0
3
1
1
1
0
2
11
-12
-1
21
-25
1
-40
17
0
-24
11
6
65
0
34
-51
-35
-15
0
-20
20
-20
-31
0
45
-20
-28
10
0
14
20
47
3
0
15
37
3
-18
0
11
-33
-8
1
0
17
-10
23
16
0
47
12
12
0
0
-10
36
-5
1
0
2
0
-8
0
0
0
-11
-8
8
0
7
-33
-22
6
0
3
-1
22
7
0
-49
0
-13
11
0
10
1
73
20
0
3
25
-10
13
0
-1
12
-13
0
0
-17
51
-4
22
0
-15
0
2
-16
0
-30
13
-22
-4
0
-20
31
38
5
0
24
-7
26
10
0
2
30
41
-50
0
14
-4
21
-43
0
-23
62
-32
58
0
52
47
12
7
0
23
11
10
-2
0
34
-34
1
7
0
-15
-2
14
5
0
-7
-14
7
-29
9
-59
33
14
6
0
9
24
4
2
0
21
-10
-1
17
0
-30
-12
5
-4
0
-19
23
1
30
0
59
36
-36
-6
0
-20
25
-76
3
0
-1
-23
12
1
0
7
3
13
-32
0
2
6
-12
3
0
8
30
81
-15
0
0
-6
7
1
0
16
-13
20
-19
0
-18
-23
32
1
0
-7
56
-6
4
0
2
-22
30
10
0
-59
-29
10
32
0
-7
20
17
-23
0
0
22
-23
9
0
-29
35
-6
-18
0
-28
10
8
-34
0
-40
-24
28
39
0
23
-3
-20
-3
0
24
8
-35
-29
0
2
-15
-27
-6
0
3
-24
25
-8
0
24
-5
41
-16
0
-12
51
-33
-44
0
38
-9
21
18
0
29
-12
-10
55
0
21
26
8
-21
0
-34
-39
29
32
2
-40
-23
-3
54
0
-32
-28
50
0
0
-10
21
-14
1
0
13
50
-55
-2
0
15
-35
-7
21
0
1
3
-8
13
0
27
-2
17
-19
0
-21
-4
7
-1
0
-13
-16
-45
-17
0
39
-14
3
2
0
0
3
-8
0
0
-1
-24
6
4
0
4
1
3
0
0
-7
16
2
0
0
6
-11
32
-3
0
30
-4
-18
1
0
-9
9
-27
4
0
1
2
-26
-24
0
-2
-8
4
30
0
-1
-4
-26
-15
0
9
-44
30
-7
0
-11
7
-5
27
0
45
-18
-9
1
0
21
-74
0
28
0
-6
33
2
-24
0
13
-8
-27
-19
0
23
15
56
27
0
-12
9
-39
-8
0
-81
54
-55
19
0
-26
-8
-28
38
0
2
-4
6
-13
0
-11
-23
-20
-1
-1
4
4
53
-2
0
17
-21
24
2
0
-66
4
46
1
0
-29
16
31
-5
0
1
7
-17
-10
0
-21
-29
63
2
0
-39
-18
45
9
0
-2
26
-25
4
0
-30
-4
-13
-21
0
1
2
3
4
0
8
14
1
-7
0
0
-1
-2
0
0
22
61
10
-23
0
-8
8
12
-1
0
5
28
-8
0
0
1
-26
-10
4
0
40
35
-74
13
0
-2
-30
-12
-22
0
-33
11
2
-4
0
19
8
-57
-50
0
-14
-31
-33
-6
0
-28
-9
-31
-19
0
2
-42
-26
-49
0
-16
13
7
-38
0
8
34
-31
-30
0
80
0
24
1
0
22
-78
30
-54
0
-3
5
-10
63
0
-78
15
-41
76
0
-26
-75
20
14
0
10
-5
-29
27
0
42
-8
-97
-30
-14
10
-19
8
-20
0
-21
32
2
-22
0
37
-29
-17
-10
0
34
12
-6
0
0
-7
31
-54
11
0
38
-61
10
-2
0
35
0
13
14
0
1
3
-2
0
0
-14
-33
-20
-3
0
-4
15
-38
-1
0
0
4
1
6
0
0
32
2
0
0
10
-9
5
-2
0
11
-17
-3
-2
0
-2
5
2
-4
0
-2
-1
-1
0
0
-21
-51
6
-1
0
-1
4
22
-7
0
-17
45
19
-4
0
36
26
-35
-1
0
5
-7
6
14
0
-1
10
35
-18
0
-4
-41
12
34
0
49
-19
-53
33
0
-17
-16
-33
-23
0
77
27
29
5
0
-50
40
-46
23
0
0
9
41
3
0
-6
10
-35
-3
0
-41
-4
-5
32
0
4
6
5
4
0
-19
6
4
-48
0
-68
-21
22
2
0
38
6
14
9
0
-47
38
8
-8
0
34
37
4
8
0
-6
18
5
7
0
-2
-13
19
0
0
12
-6
-14
-1
0
-7
-10
0
1
0
4
-7
1
2
0
5
19
-7
6
0
5
-6
-2
8
0
0
-8
0
0
0
-3
-2
4
-6
0
1
30
9
0
0
8
-16
-9
6
0
7
19
3
0
0
7
40
7
-33
0
-11
17
-3
24
0
-13
-36
-4
37
0
7
17
-44
47
0
-13
9
-21
82
0
9
-31
-20
-28
0
12
0
-15
-12
0
26
4
-12
-36
0
62
-40
-26
7
0
-8
24
56
-16
0
-2
44
-15
3
0
0
-11
35
-4
0
-4
-63
38
-16
0
21
-40
71
-23
0
-16
29
-6
-63
0
-31
-6
-36
-1
-17
49
15
-8
40
0
20
-17
41
4
0
20
10
3
9
0
15
-35
-17
-2
0
-9
33
-54
4
0
14
6
-4
0
0
-2
1
-11
0
0
-2
0
1
2
0
-26
-4
-3
3
0
9
-14
2
-12
0
0
4
2
0
0
0
5
3
3
0
-5
1
-2
0
0
-3
1
1
0
0
0
2
0
0
0
6
-1
6
0
0
-6
-2
1
-1
0
2
-10
-4
16
0
-8
-24
3
13
0
-24
-4
-34
7
0
12
-20
-25
-16
0
30
-24
-75
37
0
-46
-68
-6
42
0
-36
-17
3
-19
0
26
-63
-24
4
0
-31
-9
-36
-19
0
-1
6
44
-4
0
-7
-25
7
-27
0
2
2
7
-2
0
3
63
-3
-56
0
-3
27
-39
-2
0
45
19
-47
31
-17
-91
-13
24
-19
0
-27
-3
-5
9
0
9
-2
-6
2
0
-9
59
-12
-7
0
-17
-3
-5
3
0
2
-45
-17
2
0
-15
12
27
-3
0
1
-2
11
0
0
-16
40
-12
-4
0
-2
-6
-7
-1
0
-7
-2
-10
0
0
0
0
0
0
0
-2
-3
3
1
0
0
2
-18
0
0
0
11
-2
0
0
0
-1
-1
0
0
14
-18
27
1
0
-20
-26
0
-5
0
-47
-16
24
-5
0
-53
-26
-1
-18
0
-21
-70
-6
16
0
26
-22
-13
7
0
10
-18
-14
-39
0
31
7
-26
-38
0
-24
-6
-29
46
0
3
-35
-47
43
0
10
-19
1
5
0
3
15
-10
-17
0
0
42
-24
-11
0
-3
-63
-22
-1
0
0
-12
-26
-1
0
37
3
52
-12
3
-1
-6
-44
-32
0
4
34
-19
-9
0
5
19
53
-7
0
12
37
4
38
0
-24
2
42
10
0
-10
29
-14
-22
0
-13
12
1
-5
0
12
0
-2
0
0
-2
47
0
15
0
-52
19
-15
8
0
1
-17
-24
15
0
-20
6
-23
15
0
18
-43
66
-13
0
1
-9
46
-23
0
-2
13
33
-2
0
-12
54
-33
14
0
2
11
15
-18
0
4
22
14
42
0
4
-4
60
8
0
13
19
-14
45
0
-13
-59
-15
-4
0
-37
-52
21
-20
0
-21
13
-35
-21
0
40
-17
-7
47
0
-76
19
3
34
0
23
11
5
-12
0
-33
2
4
14
0
11
19
3
18
0
-17
20
-9
23
0
-45
14
6
-16
0
0
16
6
33
0
-9
16
7
-4
10
-3
-5
-1
33
0
6
19
29
39
0
17
1
52
-45
0
-73
58
83
1
0
-1
17
-50
-20
0
22
-3
0
7
0
-10
-12
26
-2
0
-18
-27
9
-2
0
-41
55
-7
-7
0
7
3
-39
-2
0
-13
28
11
1
0
5
22
-1
-16
0
10
-25
11
-12
0
6
-48
27
-4
0
7
-46
0
-1
0
-1
29
-10
0
0
53
-49
-55
-6
0
-4
-6
42
62
0
13
17
43
21
0
-77
-48
22
-4
0
9
-23
17
5
0
46
-13
-33
24
0
38
-19
-4
3
0
-19
-37
57
-15
0
-74
8
-6
0
0
9
28
27
8
0
-7
37
8
9
0
16
-15
-6
12
0
-1
1
1
-34
0
-18
42
-8
-11
0
-46
44
-17
14
0
-7
4
-16
8
-12
48
-30
-11
-9
0
-7
51
15
-11
0
13
-29
-20
1
0
25
-5
34
16
0
-1
45
-8
-17
0
42
-18
-2
-1
0
-22
-7
2
3
0
8
13
-2
3
0
-16
-43
-2
-7
0
27
-60
16
3
0
-59
51
2
0
0
12
49
-1
1
0
-31
0
-18
-1
0
-3
26
0
0
0
1
0
0
-1
0
2
19
-7
-1
0
-47
-13
6
-1
0
-11
13
14
65
0
2
37
-36
20
0
-25
12
44
3
0
3
-63
-3
-11
0
14
11
-11
-54
0
-8
6
-6
-20
0
39
52
-7
-7
0
11
-31
5
5
0
-8
-5
16
45
0
-40
26
41
37
0
7
8
-1
12
0
-39
-47
22
33
0
-25
-16
15
-20
0
4
-45
-13
3
0
-41
-34
-39
-2
8
-51
-7
-8
-31
0
-18
34
-23
47
0
-15
37
16
-12
0
9
-24
-73
22
0
12
11
9
9
0
21
14
-6
1
0
-1
2
6
-8
0
1
-11
-1
1
0
-44
14
5
14
0
19
-16
25
-6
0
6
-45
-3
-2
0
-26
-16
13
-1
0
-20
-25
4
20
0
0
4
-1
0
0
-1
3
-7
-3
0
-1
7
-1
-1
0
23
-25
-5
0
0
-2
-10
21
-9
0
-23
-27
-7
45
0
0
-58
-46
27
0
4
-23
-30
25
0
-68
56
19
1
0
0
53
-7
-7
0
6
-33
4
-1
0
-44
-32
46
-4
0
-17
13
12
10
0
-2
-20
7
-1
0
1
-24
30
-8
0
-5
-3
-17
-14
0
11
17
-29
55
0
8
-49
-26
30
0
48
30
-49
-28
-11
-32
25
-47
-43
0
-47
15
29
23
0
21
-14
0
-7
0
-46
37
16
-38
0
-22
-27
-42
1
0
22
-46
7
-4
0
31
95
-40
9
0
5
-16
18
-2
0
4
9
-4
-10
0
33
27
-16
8
0
7
-29
18
-11
0
-15
8
31
-18
0
13
-35
-15
22
0
75
17
-10
-2
0
0
-10
61
-4
0
0
8
4
-4
0
32
13
-31
-17
0
-14
-10
21
-11
0
-49
-33
-19
21
0
29
25
-12
-32
0
33
-20
-2
7
0
-28
-4
-11
-9
0
-17
-57
-4
-5
0
-79
-24
-15
9
0
-60
58
-33
16
0
14
7
2
55
0
-12
9
-40
61
0
8
26
-13
-16
0
-16
4
-31
-10
0
-25
-19
18
4
0
-50
-6
16
30
0
8
3
-10
-47
-5
-53
7
-38
-55
0
-11
33
-5
-10
0
-36
11
-11
-7
0
-31
-4
-32
-10
0
5
-28
-35
47
0
-35
6
27
-16
0
-4
-62
-32
5
0
4
-5
-16
0
0
-5
1
-17
7
0
23
-41
-28
43
0
32
-7
-34
8
0
2
8
-5
-21
0
10
-21
22
-27
0
1
8
-51
3
0
-9
-12
38
-22
0
-1
-8
3
3
0
-64
59
-21
0
0
-31
5
24
-8
0
-32
23
10
-18
0
2
-76
44
-2
0
8
34
-46
-14
0
-8
-8
-35
25
0
93
-10
6
-18
0
-12
15
-4
0
0
-8
-25
-10
6
0
-7
8
55
5
0
-19
-19
10
71
0
37
-39
31
0
0
-24
-45
22
-16
0
35
-6
0
-1
0
10
7
15
-46
0
-16
12
85
3
-3
-30
28
-10
4
0
12
29
13
-18
0
-36
-14
10
27
0
-20
-14
-12
-23
0
-84
-28
38
-21
0
3
58
6
-1
0
3
4
6
2
0
7
17
0
-1
0
-38
6
17
-1
0
-63
54
-45
13
0
44
-51
-2
10
0
15
-69
-19
-2
0
60
1
21
1
0
5
24
2
4
0
0
-2
3
-9
0
-10
-5
-14
9
0
-11
5
6
1
0
-14
-8
-2
23
0
-14
14
-3
-14
0
-7
-22
-1
-36
0
19
-33
-32
-31
0
-6
29
33
-47
0
-32
40
-19
-16
0
14
-39
13
-3
0
27
-102
-41
-14
0
-32
11
21
26
0
8
6
-31
-15
0
-22
-8
-3
-10
0
-5
-11
2
-80
0
32
8
-7
-26
0
20
-21
-79
-46
0
27
-14
-24
-18
7
-47
-68
-67
-7
0
-18
-9
-33
8
0
-39
9
14
34
0
-32
-10
43
-5
0
39
-23
-25
-10
0
0
15
30
-8
0
-9
-8
-18
-6
0
-13
36
17
1
0
-47
-60
37
8
0
-6
40
15
-3
0
-46
-29
-46
-29
0
-26
-5
-4
-7
0
1
5
-77
0
0
-1
-61
-26
2
0
0
-18
-1
3
0
-24
0
6
2
0
-61
-24
-2
-29
0
-42
2
-24
32
0
-49
20
-17
-68
0
-7
5
-2
-67
0
-42
-7
-58
-17
0
90
-3
-22
-32
0
-24
-36
-75
-51
0
-22
-23
38
9
0
-3
-52
-12
-22
0
-21
-3
0
16
0
16
-7
-5
2
0
-37
-4
-22
14
0
4
-26
-33
-40
0
49
-14
23
14
0
-3
-1
-58
-27
0
28
1
-26
40
6
-32
-7
-54
-98
0
37
14
16
8
0
33
4
-4
6
0
24
38
18
45
0
31
60
10
0
0
15
-6
65
35
0
51
-5
-31
45
0
-3
-19
49
26
0
47
14
5
-56
0
18
42
42
-28
0
31
12
-12
-31
0
41
30
15
-48
0
-28
26
14
16
0
2
3
-23
36
0
12
45
10
47
0
-39
27
33
0
0
25
61
65
22
0
-4
-16
-30
2
0
22
5
-36
-3
0
2
2
-55
6
0
-56
24
52
6
0
-47
-1
-32
12
0
22
-24
72
-11
0
10
-38
19
-17
0
-21
-55
30
44
0
-27
-25
49
-1
0
73
32
14
8
0
3
34
0
5
0
-50
14
4
25
0
14
-10
15
-21
0
0
56
-8
-5
0
-20
-6
14
49
7
-13
3
15
46
0
20
22
33
-42
0
20
26
1
-7
0
21
15
39
43
0
12
29
12
13
0
-1
5
-7
40
0
8
69
7
-30
0
57
-10
5
21
0
58
43
43
-46
0
-39
-16
-13
45
0
36
17
-64
23
0
28
41
-17
10
0
6
45
24
9
0
14
13
31
10
0
-14
51
30
31
0
-12
-74
-2
65
0
-68
86
-1
-29
0
67
-29
17
-6
0
13
-61
21
1
0
20
11
-38
10
0
-14
-7
-5
-1
0
-56
25
29
19
0
1
-25
17
15
0
6
6
10
5
0
13
0
6
-20
0
6
41
39
-20
0
-45
14
-19
44
0
7
-54
50
0
0
31
47
-36
2
0
-31
26
41
-27
0
28
15
-44
48
0
4
-5
20
-34
-6
33
8
-28
35
0
-13
28
20
-24
0
38
16
-32
0
0
12
35
-40
2
0
25
26
-39
28
0
46
59
42
-6
0
38
19
-4
-28
0
6
-5
14
35
0
32
5
40
38
0
-46
3
28
11
0
18
-48
34
2
0
13
9
46
3
0
25
-16
-5
-1
0
-23
23
13
-11
0
25
-34
-12
38
0
-39
14
22
23
0
-17
7
0
11
0
42
2
-5
-6
0
-5
-35
-27
28
0
-4
36
2
-4
0
59
24
38
-44
0
-47
15
15
0
0
-46
-19
9
-13
0
-3
0
-1
0
0
-25
-81
0
3
0
-5
31
56
-24
0
6
3
-21
32
0
-2
-30
-8
-15
0
15
-49
-23
14
0
-21
-3
23
3
0
4
-25
-19
41
0
19
6
-62
12
9
11
-21
-3
-59
0
6
16
-17
-24
0
12
9
35
59
0
10
4
-2
-1
0
-37
14
-9
-32
0
46
24
11
-4
0
17
10
-2
7
0
-21
-4
-1
16
0
32
9
-15
-2
0
6
17
-10
69
0
24
-1
26
-14
0
-14
20
-8
-5
0
-14
-43
34
-19
0
-3
21
46
5
0
16
28
-12
29
0
19
-23
-12
0
0
-14
13
7
-13
0
-38
-42
45
-19
0
-57
21
32
-20
0
1
4
-27
7
0
6
-20
-20
22
0
-5
20
-40
-5
0
-12
38
49
-7
0
7
-4
0
-4
0
-22
8
-24
-5
0
-35
-26
39
6
0
23
13
-33
10
0
1
13
6
7
0
-28
1
34
26
0
56
-9
7
-16
0
2
-38
20
-15
0
8
1
-44
9
6
20
9
20
10
0
-10
59
15
-4
0
29
61
42
4
0
68
10
24
4
0
14
28
-3
24
0
1
-8
17
-11
0
2
-3
26
22
0
4
2
3
1
0
-13
-14
25
10
0
59
4
6
30
0
-77
10
-24
14
0
6
6
14
-3
0
-16
-15
7
6
0
-6
0
-9
2
0
0
6
4
-12
0
-3
-2
-8
1
0
17
-12
-12
16
0
0
16
-11
-5
0
1
-21
-9
26
0
37
-7
-13
0
0
-46
17
5
1
0
5
-3
5
-2
0
0
-1
4
2
0
0
-6
4
0
0
-11
2
0
-3
0
-9
12
7
33
0
7
18
-24
-58
0
-6
-42
2
0
0
-20
-24
13
15
0
16
-4
14
-5
0
0
11
0
0
0
27
-33
-4
0
14
3
-24
19
-28
0
6
0
29
45
0
-4
42
25
23
0
78
40
-32
-34
0
30
-10
44
-4
0
-17
19
-17
-7
0
30
10
4
-1
0
12
-31
-10
4
0
-33
86
4
-5
0
-8
1
33
3
0
-23
-33
-5
27
0
0
-40
-8
0
0
77
25
-65
-2
0
-7
21
24
-3
0
-4
-23
-2
-17
0
2
-7
8
1
0
30
37
-42
-28
0
-13
44
12
20
0
-8
-36
-13
1
0
21
-40
17
1
0
-34
-23
28
-3
0
-2
-9
25
2
0
-3
0
23
1
0
-2
-5
10
0
0
5
13
2
1
0
-17
16
0
1
0
-44
-25
-15
52
0
-8
15
-8
-1
0
-52
-38
19
-1
0
10
-2
-40
3
0
12
6
13
-9
0
-3
19
-50
-6
-5
-13
-27
17
0
0
13
-2
45
8
0
36
-49
31
-3
0
-4
35
-16
2
0
52
11
4
32
0
-34
32
-8
0
0
-2
33
-51
-3
0
2
-9
7
0
0
-8
-52
-42
3
0
-37
36
10
-5
0
-21
-5
-5
-5
0
-8
-39
16
-8
0
5
7
9
6
0
0
39
4
1
0
0
7
-3
-6
0
2
1
8
6
0
-52
0
33
2
0
12
53
-6
0
0
-2
-1
1
12
0
3
-2
-1
0
0
-2
-4
3
-2
0
-1
11
-2
0
0
0
0
11
0
0
0
0
0
0
0
7
0
0
-1
0
7
-40
-6
-10
0
15
4
-23
-22
0
0
-14
-34
0
0
-34
0
0
1
0
2
-33
2
0
0
0
-6
-3
1
0
2
0
10
0
-11
8
-6
22
-6
0
17
8
26
74
0
-1
50
12
8
0
-13
10
37
43
0
3
-12
-27
38
0
-34
21
-39
-6
0
32
9
3
-8
0
-57
9
27
7
0
-9
34
-2
-20
0
-8
-21
47
-2
0
30
48
8
-4
0
-6
62
-54
17
0
24
-40
-14
-18
0
-7
-22
-6
0
0
18
-23
-2
-7
0
2
43
13
-4
0
-46
-21
17
0
0
16
64
-16
16
0
-10
35
-1
35
0
2
10
-1
3
0
9
-35
2
1
0
1
-53
52
3
0
-7
0
-32
1
0
1
0
-3
-1
0
-19
27
-6
-1
0
-23
11
-36
9
0
15
5
11
-8
0
-2
6
-49
-2
0
-44
-4
25
-16
0
0
5
7
-5
0
12
3
37
9
0
37
-47
1
6
10
-87
36
-24
1
0
8
15
13
0
0
-11
12
34
18
0
16
45
-45
12
0
76
-41
30
-24
0
-44
17
32
-13
0
-21
0
-23
51
0
15
-38
38
0
0
30
-36
19
-5
0
32
15
15
-27
0
24
-50
67
-5
0
-24
42
69
3
0
14
-24
-7
-12
0
36
12
-10
-7
0
-1
-7
38
-11
0
9
-3
-24
3
0
-51
10
-1
25
0
-12
-34
20
-6
0
12
18
13
-4
0
-6
36
-8
0
0
-41
12
5
5
0
11
27
-8
0
0
20
13
0
-4
0
-5
-1
3
-4
0
12
-6
3
-4
0
17
29
-8
0
0
0
7
7
-1
0
0
3
-1
-2
0
0
-8
21
9
0
-10
17
-33
7
0
2
-23
22
28
0
41
7
-10
-4
1
4
62
-42
25
0
-1
-4
10
23
0
15
-13
11
-21
0
11
-14
7
10
0
38
-22
14
48
0
0
40
37
-34
0
-8
17
-42
-8
0
-10
29
9
-5
0
44
-30
-29
5
0
21
6
-11
7
0
17
3
65
-22
0
-4
-18
-16
10
0
-40
21
21
1
0
-14
9
-10
2
0
0
53
20
-9
0
-6
4
-7
0
0
-54
60
-26
0
0
9
2
-62
1
0
13
-6
-4
6
0
-1
30
4
0
0
-1
13
-6
-4
0
-22
71
6
-2
0
1
17
-30
5
0
-4
1
0
1
0
35
16
8
0
0
7
21
-20
3
0
-9
-66
11
5
0
0
-7
6
2
0
5
-9
-4
0
0
18
0
-62
-2
0
0
30
-6
13
0
2
-29
-13
0
15
-2
-41
-12
2
0
4
8
-16
71
0
19
-6
25
24
0
-3
-26
43
-1
0
49
-45
1
-10
0
-9
-15
-20
20
0
33
3
52
-20
0
13
-1
-27
-8
0
3
13
3
-5
0
-21
65
-21
1
0
33
78
-83
-6
0
-14
-59
43
10
0
4
8
-10
-17
0
1
1
-36
-2
0
0
14
10
-1
0
6
-38
-29
17
0
2
9
11
-35
0
6
-7
55
0
0
-64
-29
14
-6
0
-13
0
12
0
0
31
38
-35
11
0
32
2
-8
-3
0
8
4
-17
-2
0
-6
0
0
0
0
-8
-5
46
2
0
27
19
29
2
0
3
-12
28
-28
0
0
-3
-13
-1
0
6
9
-6
-1
0
-18
2
3
4
0
-1
0
-13
20
0
-11
18
-43
-12
16
-13
-7
-54
5
0
23
5
5
-21
0
-9
56
27
44
0
67
6
-61
13
0
-29
7
-8
-64
0
21
-20
20
-4
0
-20
-29
47
19
0
57
-42
-22
4
0
-31
-13
2
-4
0
-2
-7
22
2
0
-6
-10
9
3
0
6
-13
-88
-10
0
-12
-10
21
-8
0
6
-19
-16
3
0
-3
-8
65
8
0
-6
-28
30
17
0
-1
30
-19
-7
0
5
30
39
0
0
-80
6
-9
-4
0
-5
-23
-17
2
0
-32
-14
1
3
0
20
-15
18
2
0
-2
19
3
-2
0
0
-4
-4
0
0
-10
-30
-27
0
0
-9
35
18
2
0
-3
17
11
-1
0
0
-6
3
0
0
-12
-29
3
-1
0
-2
-45
-5
-22
0
-2
-8
12
-13
0
14
-18
-11
0
17
23
-54
-30
-34
0
12
3
18
-21
0
3
41
1
20
0
-12
-9
11
35
0
-35
-40
17
-15
0
-15
16
25
-4
0
-7
-6
6
-2
0
-8
-8
-1
0
0
-24
3
-34
-8
0
60
-10
11
9
0
-14
46
-7
1
0
1
3
-1
-1
0
-9
4
8
6
0
2
-5
2
-1
0
0
-2
3
0
0
-2
0
-30
8
0
9
21
5
-7
0
5
-2
16
-14
0
43
28
8
6
0
3
19
-44
0
0
-6
13
-2
0
0
8
18
-7
2
0
0
-1
-18
0
0
0
0
2
0
0
-4
-12
-3
0
0
-25
-21
-18
-2
0
34
13
-19
1
0
3
11
0
0
0
0
11
3
5
0
-2
-15
-2
-10
0
-2
-9
-1
0
0
1
6
-1
-3
1
-25
0
24
-1
0
24
9
20
-7
0
-24
13
26
-32
0
-38
38
46
22
0
52
56
-37
-21
0
-74
-32
24
18
0
0
7
4
-7
0
9
-6
-15
0
0
24
21
-29
-7
0
0
27
-29
8
0
43
-28
58
7
0
0
6
5
2
0
48
16
-19
-6
0
0
-10
1
0
0
0
1
7
0
0
0
7
-1
-4
0
-17
-11
-12
3
0
57
-47
5
1
0
67
26
-12
2
0
-13
-32
12
-7
0
-29
27
6
0
0
-2
9
-3
3
0
12
2
-2
-3
0
0
-4
0
-1
0
-24
0
3
0
0
11
18
21
-7
0
9
-44
8
-7
0
0
-1
-5
0
0
-9
1
-7
0
0
0
-4
-29
0
0
-7
1
-12
-6
0
-28
12
0
0
-14
-19
-18
6
6
0
29
41
13
53
0
42
2
-3
-8
0
-2
-21
-6
13
0
-13
-17
15
-3
0
35
-4
-61
4
0
13
-28
18
46
0
-14
-6
-2
3
0
-53
58
-38
10
0
34
-28
-22
-22
0
-23
48
-6
12
0
0
-23
23
7
0
32
-26
9
-2
0
7
-37
36
1
0
4
-2
-1
-8
0
1
1
0
-1
0
-26
-33
18
-1
0
-6
49
8
-2
0
38
-10
13
-56
0
-4
-22
9
3
0
-13
-2
-9
0
0
3
11
10
0
0
4
0
-30
3
0
-2
2
0
-1
0
-9
6
6
0
0
-41
78
-53
0
0
-10
27
-30
-1
0
0
-1
1
-8
0
2
-2
3
-8
0
-3
-9
13
0
0
0
-1
-19
0
0
-4
9
2
0
8
-48
-28
4
-3
0
-29
12
28
-9
0
5
-5
25
34
0
22
-16
15
-19
0
50
-18
3
17
0
12
-14
-11
2
0
-12
22
-16
4
0
13
-14
-7
-1
0
22
39
-46
33
0
40
15
34
-15
0
2
8
-66
-33
0
40
-1
-9
-34
0
-5
33
0
-9
0
1
17
-19
7
0
-23
4
-5
0
0
0
30
26
2
0
19
-41
47
-18
0
-14
21
-3
43
0
0
19
-3
26
0
-22
-28
73
3
0
-38
-17
-55
-2
0
6
-18
-17
-8
0
3
0
-18
5
0
1
0
-4
0
0
-26
8
-35
-2
0
1
29
-2
-13
0
-30
38
50
0
0
0
-18
-12
-1
0
-23
11
-32
9
0
-5
3
39
-17
0
10
-9
8
-2
0
-15
-1
2
0
1
-29
19
-35
-29
0
-11
56
-33
35
0
-2
-1
14
2
0
16
-31
42
-6
0
-28
-7
-13
-32
0
7
-6
0
11
0
77
-3
4
-15
0
-13
7
8
-7
0
-11
14
47
-1
0
-12
26
-19
6
0
15
-7
1
10
0
10
6
-6
1
0
-22
-50
5
13
0
31
23
33
-4
0
24
-43
-13
-3
0
12
77
8
-9
0
-41
-5
30
53
0
2
14
-8
0
0
10
13
-15
-7
0
29
-3
4
-10
0
14
-8
-8
-7
0
-4
-5
4
11
0
1
-2
6
22
0
9
6
17
11
0
24
56
-10
10
0
-16
51
-21
12
0
-2
-13
7
41
0
-2
7
16
17
0
13
-16
36
-12
0
28
19
-3
-11
0
2
-36
1
40
0
-18
0
19
13
8
9
-8
-29
31
0
0
11
2
49
0
-27
-33
19
0
0
36
-20
59
-44
0
-19
51
-25
13
0
-68
17
20
-26
0
-48
-11
-52
-4
0
9
-37
24
7
0
39
-10
1
1
0
63
19
14
4
0
30
38
-8
-22
0
2
5
-72
-3
0
47
-6
-8
14
0
-12
-6
6
6
0
27
55
-76
-2
0
-41
-17
49
3
0
34
-49
9
-12
0
7
24
-28
-15
0
11
-29
-20
-32
0
-8
-14
-26
26
0
-8
0
-31
-25
0
-4
-9
3
24
0
2
11
14
-29
0
-30
-44
-2
5
0
54
-2
-26
15
0
14
1
27
31
0
-60
49
54
62
0
11
-19
-8
12
0
-56
59
-8
-24
0
42
32
-14
-4
0
-29
93
22
-4
0
-14
22
23
15
-7
-3
14
4
4
0
25
18
-31
16
0
-10
23
11
-16
0
-55
38
-34
0
0
-20
3
18
5
0
6
-6
7
2
0
56
-5
26
-9
0
4
6
1
-1
0
-16
-10
12
0
0
14
11
16
0
0
26
18
-25
-6
0
1
22
-1
0
0
4
4
34
-1
0
7
38
-48
6
0
9
4
12
-2
0
15
-14
0
1
0
-55
-42
40
1
0
-12
-6
21
27
0
-6
1
-31
6
0
-24
-5
-27
12
0
-3
-3
-61
-34
0
-5
5
3
-46
0
-9
7
0
1
0
-36
-26
-13
52
0
-40
17
8
-5
0
28
9
12
-23
0
-24
-34
-36
59
0
14
22
-31
13
0
34
41
9
-38
0
41
-1
-31
11
0
13
-45
32
-43
0
7
7
-6
53
-1
13
18
45
19
0
-5
-13
20
11
0
-24
15
12
-53
0
-17
11
-3
-10
0
-44
6
-3
4
0
37
29
4
0
0
40
-10
10
-2
0
-5
1
1
-1
0
14
-86
-7
0
0
19
-13
14
5
0
-66
-22
33
-3
0
1
9
-22
-1
0
-18
-17
30
-1
0
-7
-44
-4
-6
0
4
-37
-27
-1
0
8
-16
-6
0
0
8
-61
-6
-8
0
-11
14
-7
-1
0
-1
7
-8
6
0
8
-17
-13
-1
0
-3
-7
-44
10
0
30
-19
-32
5
0
-23
16
-6
2
0
11
-28
-15
10
0
-27
0
-11
1
0
30
31
-26
-32
0
-12
42
-15
-16
0
-29
13
-33
5
0
6
17
13
-32
0
-5
-29
-14
54
0
-14
-38
-8
6
0
-15
3
-52
-13
2
-74
9
-49
-95
0
6
-6
5
20
0
8
18
35
-1
0
-1
-8
19
9
0
-14
21
-46
34
0
-36
9
-3
-20
0
-45
17
-2
-12
0
-2
8
-7
10
0
-9
4
-9
-1
0
-20
-2
-28
-3
0
31
-5
-6
5
0
6
43
-6
1
0
37
-44
-7
-18
0
-1
42
-4
-3
0
0
-6
2
0
0
-25
-12
3
1
0
32
39
-81
-2
0
-3
20
-22
26
0
15
21
10
-54
0
-12
8
-18
-1
0
-29
-11
-3
2
0
12
-26
-10
3
0
-27
7
21
9
0
33
-21
-30
-3
0
-87
-52
-13
72
0
16
31
-29
-58
0
-79
61
-51
49
0
35
50
-4
-20
0
-43
21
11
-2
0
1
27
-25
-6
0
-1
-9
-20
-45
0
-5
7
29
-8
-5
-24
-19
6
-10
0
12
41
54
-8
0
-40
59
-10
-1
0
39
-26
-10
11
0
-1
34
-13
18
0
-39
-3
-15
2
0
-29
13
28
0
0
17
0
-4
6
0
-13
4
-48
-6
0
-57
24
-16
3
0
18
23
7
8
0
1
26
1
-5
0
43
-5
-17
0
0
-1
20
-47
-1
0
-1
16
-15
1
0
4
17
-17
2
0
-29
91
-17
-14
0
11
-43
30
54
0
-2
-23
2
37
0
-2
-56
12
-24
0
-23
-39
-35
14
0
-24
-44
-22
-53
0
-97
-96
0
4
0
24
33
-10
-49
0
33
3
23
26
0
-45
2
3
39
0
19
-32
-28
-8
0
9
22
-27
30
0
42
-31
-21
-6
0
6
-34
0
-18
0
11
-6
-59
7
0
5
12
-38
-86
18
3
-7
-14
-65
0
-6
-5
77
11
0
-32
15
-20
18
0
3
13
-2
3
0
21
46
-8
22
0
9
7
-17
0
0
7
-20
9
0
0
6
-3
0
1
0
59
-15
-24
-13
0
-38
14
-5
1
0
-16
49
12
-18
0
-2
-28
6
2
0
18
14
0
-13
0
0
-8
-12
0
0
-2
-1
-2
0
0
-3
6
0
1
0
18
-31
1
4
0
-16
21
6
12
0
0
-47
6
26
0
-7
-2
-7
-29
0
-28
7
-16
-6
0
-15
2
43
-3
0
88
-108
-5
-33
0
27
-11
72
-36
0
-43
-41
40
-3
0
10
-35
-3
-41
0
-36
57
-28
32
0
31
65
-3
-15
0
35
-34
-7
-18
0
-11
-29
-51
3
0
2
-2
1
-1
0
36
-47
-16
-29
-3
7
1
-36
-11
0
-1
-40
43
-28
0
4
3
-64
-10
0
24
-53
-42
-9
0
-49
9
22
-26
0
92
-65
65
-4
0
-12
24
6
-5
0
29
-35
13
-8
0
-65
28
19
-3
0
-17
62
-15
-5
0
-79
58
3
35
0
-35
-37
-57
3
0
9
-17
-14
4
0
37
21
14
2
0
14
3
-44
0
0
-2
3
-17
-3
0
31
50
-13
8
0
-8
23
15
2
0
-11
-18
10
10
0
-19
-38
-32
-87
0
-50
-8
-54
-6
0
-7
-26
-60
-4
0
42
1
-16
6
0
-42
-19
-16
-22
0
-6
-36
-2
-2
0
-4
-6
-21
2
0
14
-64
-29
19
0
-56
2
16
-10
0
-11
-4
2
-7
0
-5
-31
11
-75
0
-9
46
-13
-48
0
-77
-30
-3
35
4
-16
-45
-14
13
0
5
1
8
-6
0
12
-9
43
7
0
41
-43
66
15
0
4
-27
-6
1
0
6
-7
-23
-4
0
3
11
10
6
0
14
17
-5
0
0
11
-15
27
-15
0
-19
49
-46
-39
0
28
49
-1
15
0
4
51
-23
25
0
-45
4
23
20
0
-14
-49
-20
-8
0
-42
3
8
-5
0
-17
14
29
-1
0
-6
8
1
-1
0
9
2
-14
-10
0
29
22
38
-5
0
3
16
32
-32
0
12
-15
38
2
0
33
-14
14
-18
0
-42
26
5
-20
0
-8
-68
0
61
0
-18
-34
-1
-21
0
-8
9
18
12
0
5
18
0
7
0
15
5
11
-1
0
26
23
0
5
0
24
30
9
11
0
-8
29
-17
5
0
10
-1
-3
-11
-5
-16
35
18
15
0
-10
52
14
61
0
-14
-7
34
18
0
-9
41
-16
-12
0
31
-30
-33
45
0
97
4
11
-1
0
-2
9
9
18
0
-25
32
-44
-5
0
4
23
-40
11
0
14
-7
27
-13
0
-38
-5
39
-74
0
-1
-58
18
9
0
-4
-35
16
11
0
-38
26
-3
0
0
8
14
13
0
0
4
7
-57
0
0
5
23
-32
2
0
10
-20
7
4
0
-26
-9
-28
7
0
1
1
40
-13
0
0
-76
58
12
0
-10
6
35
1
0
-49
-42
-56
24
0
53
4
-58
0
0
-77
-55
60
-3
0
-27
29
12
4
0
27
15
7
-12
0
21
34
-21
-4
0
32
4
-14
9
0
34
-10
4
15
0
-27
-7
-9
19
0
48
36
20
-19
-10
-28
8
29
32
0
13
27
12
-34
0
20
-40
16
37
0
-7
68
26
-11
0
-19
-1
4
-22
0
33
-17
-41
1
0
-34
17
31
2
0
30
18
3
0
0
-64
37
-4
14
0
-13
58
-2
1
0
54
-72
6
23
0
16
-11
-11
-8
0
7
-6
7
6
0
0
-10
6
0
0
0
-10
22
0
0
2
13
-3
-3
0
-12
1
-8
-39
0
-14
-7
0
5
0
-21
-4
34
-34
0
8
-1
-2
-34
0
-12
-53
-29
-13
0
3
23
-19
-29
0
-34
-7
-29
-24
0
41
-14
0
-9
0
28
-24
-59
-14
0
-1
-13
4
18
0
25
5
7
6
0
-10
8
3
21
0
-19
13
1
-45
0
-20
-32
-12
26
0
8
56
23
-36
0
47
-12
-22
6
-1
-25
0
-9
-23
0
-43
38
1
66
0
-8
-14
-8
-15
0
-56
27
14
-4
0
-7
-6
-8
-6
0
-8
43
11
7
0
12
-38
61
-24
0
14
6
2
-1
0
-39
-18
20
1
0
-12
36
2
17
0
0
-20
-11
12
0
9
27
-31
-10
0
-35
0
-2
-2
0
12
-1
9
-4
0
1
18
13
0
0
-1
-17
2
-1
0
-6
-43
1
0
0
-21
-28
-36
-9
0
-1
21
-28
39
0
8
-58
-20
14
0
-14
23
2
-9
0
-31
-8
-31
-60
0
-62
-30
-10
11
0
17
58
11
-19
0
63
58
-58
-34
0
7
11
25
13
0
-25
0
1
-12
0
-20
-29
0
-12
0
-12
-23
17
29
0
10
16
2
-8
0
26
3
28
-11
0
-68
30
-34
1
2
10
-34
-72
-18
0
19
2
36
2
0
8
64
20
-12
0
-66
45
-20
-52
0
-1
3
-12
-3
0
-1
-11
-16
-3
0
14
11
-34
21
0
11
-18
22
-3
0
-30
28
-7
3
0
-18
16
8
21
0
-37
21
9
23
0
-6
6
-21
43
0
-48
24
-13
53
0
16
24
2
-8
0
0
-38
27
12
0
-6
-7
-13
-18
0
-10
-70
23
-25
0
-7
14
37
17
0
1
11
-29
-26
0
-9
1
-18
41
0
-13
31
18
-25
0
-35
-21
-50
16
0
6
-26
-26
-26
0
-71
-27
41
66
0
21
-9
-57
4
0
11
31
2
15
0
58
-7
18
-12
0
59
-15
-18
-22
0
-15
-15
20
-1
0
-12
18
-15
-41
0
-38
10
29
21
0
41
-57
-49
1
1
-22
-20
6
4
0
-5
-6
15
38
0
-18
-4
3
-6
0
6
-23
6
40
0
-13
8
11
7
0
3
-19
7
19
0
35
20
9
-3
0
0
-31
5
6
0
-24
-16
-7
9
0
-11
4
-1
59
0
31
-23
-32
-3
0
-16
-35
54
0
0
1
7
1
-22
0
-1
-4
26
0
0
4
5
-2
9
0
2
16
3
-8
0
-34
0
-11
7
0
-14
26
9
9
0
-17
-29
26
45
0
-13
-26
-38
-9
0
26
-5
-64
19
0
-49
2
-17
17
0
-28
34
-45
-50
0
5
-11
-48
-13
0
-9
9
-60
-5
0
55
23
-11
-33
0
23
6
13
-2
0
-42
-18
10
-34
0
-35
10
-22
16
0
-3
-3
24
55
0
10
10
-22
-28
0
-3
-42
15
-41
-3
-62
6
-19
30
0
60
36
20
8
0
5
1
-13
50
0
-13
-5
16
-11
0
7
13
-8
12
0
37
21
14
-6
0
-34
-35
4
-2
0
-9
18
23
1
0
7
18
-51
-26
0
-17
29
0
-2
0
-30
-38
5
18
0
7
11
-76
22
0
-8
31
36
3
0
-3
17
-33
4
0
10
-2
-34
-1
0
0
9
-2
0
0
-22
-11
-26
15
0
-6
16
28
-2
0
-33
24
9
27
0
-7
5
-17
-24
0
-18
-38
-59
13
0
-9
8
6
-8
0
-26
-41
-48
16
0
16
-24
-22
17
0
27
10
14
-23
0
30
-16
5
11
0
-14
-9
-5
1
0
23
-49
-34
-13
0
4
-49
0
32
0
-7
12
20
-59
0
7
-54
-43
-44
0
-18
16
27
11
-3
-75
44
52
-38
0
11
19
20
29
0
-24
9
32
-5
0
-55
35
-14
11
0
-49
26
-26
-5
0
52
-45
-14
-5
0
-33
-14
14
46
0
-22
44
12
-36
0
-58
-50
14
14
0
23
3
-18
12
0
36
-4
16
30
0
10
39
4
-18
0
-48
-4
-11
16
0
-55
28
-8
-15
0
-8
-1
-4
-7
0
-19
2
-40
2
0
1
-36
-56
-31
0
0
10
-5
7
0
12
37
21
40
0
-20
-53
-22
2
0
10
-7
27
-52
0
3
35
-1
25
0
11
58
-31
-32
0
11
57
-23
-37
0
-53
-35
-58
-44
0
33
7
-18
-4
0
21
-2
1
28
0
13
-8
-19
6
0
-62
-21
15
6
0
-48
-25
-6
3
0
45
-55
2
-3
0
29
-61
9
-39
-14
-7
-19
-1
-11
45
14
27
5
27
27
-2
23
48
6
-9
-25
18
2
-5
4
5
39
41
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
77
15
-17
-5
-31
-12
37
62
35
3
50
-4
4
18
25
-17
-5
-72
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
5
8
60
32
13
-28
14
9
36
-3
34
-49
-3
-6
17
15
-7
-2
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
2
-42
-12
-40
0
-10
43
10
35
0
15
0
-25
1
0
-21
4
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-8
13
16
19
10
32
8
17
14
15
10
1
4
14
-32
-10
31
48
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
37
-6
-11
21
25
6
13
11
1
-1
1
3
32
18
5
-28
7
-35
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-36
12
61
39
31
3
-27
-19
31
12
83
50
-39
1
4
-72
50
47
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
29
19
13
16
7
3
53
-12
0
38
-13
18
0
4
9
9
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
1
24
-9
49
-13
18
21
10
7
-3
-26
11
19
12
37
-6
26
-17
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
36
-18
-2
-57
55
68
-5
-34
-10
24
-52
-12
-16
21
-15
-19
-47
-13
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-13
-18
6
3
-23
1
-37
15
0
15
-11
-48
0
16
11
-30
3
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
-27
-35
3
0
19
14
12
0
0
55
-17
12
-3
0
11
-30
21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
13
44
-8
12
32
26
-14
-12
45
-3
-19
49
36
23
1
17
-14
2
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-22
32
3
-3
-27
30
3
4
13
50
26
41
0
-54
40
-3
11
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-56
68
17
-28
-4
-19
4
-2
23
36
36
-56
3
19
-18
21
42
-71
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-44
22
34
1
0
-10
6
12
19
0
13
-25
-8
3
-1
-19
64
5
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
12
54
32
27
37
41
25
4
-8
-24
47
20
34
-16
19
8
9
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-32
11
30
36
36
7
-8
-61
2
5
3
-11
15
-10
21
-37
-10
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-1
18
-8
40
0
45
-12
-15
9
-8
-70
8
5
1
-1
-6
-8
30
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
25
40
-9
-10
0
-46
-2
-33
1
0
5
-19
-16
-2
0
19
-4
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
47
53
-21
-6
15
53
41
-15
7
36
28
-7
23
6
11
-17
-14
-1
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-29
24
14
-5
17
-9
1
-39
-14
-10
-14
1
-18
9
-2
6
-8
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-26
11
-1
-10
25
-40
38
3
18
2
-29
20
-24
0
3
-40
22
14
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-5
67
-16
0
11
-29
-47
-26
0
-46
-20
-28
0
0
-46
-12
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
7
-11
4
22
13
-13
19
25
-28
-4
17
-12
-5
6
-26
8
-11
48
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
30
-14
-6
-16
-2
-29
22
-10
-8
-4
5
-3
0
-8
-6
-6
8
-6
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-50
-43
-34
4
-1
-7
56
3
-2
1
3
-16
1
0
0
18
-9
-19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
11
-23
-2
0
-6
5
0
-1
0
9
1
1
0
0
6
17
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
19
-8
21
7
2
8
9
0
-13
36
-2
-1
30
-21
-71
32
28
8
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-8
-39
29
27
16
13
61
51
-40
48
29
17
-22
13
9
-38
0
-24
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-100
60
12
4
-64
48
-2
10
-13
25
8
-5
0
5
-6
-5
-13
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
17
-44
25
14
1
54
-31
4
12
0
-33
23
7
-7
0
-40
-13
37
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
12
24
25
98
16
-6
16
28
2
16
-1
7
7
-5
7
-27
7
43
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
2
62
16
19
-25
4
15
32
34
13
24
2
59
-17
-12
-15
40
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
12
18
-7
18
-56
60
55
17
-11
-28
-3
19
47
0
-1
-28
-6
3
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
54
-1
37
-31
2
62
-7
-1
42
5
-64
49
-44
-14
27
6
-55
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-2
33
-12
-6
30
-8
32
-1
8
21
2
19
-13
-13
19
25
70
4
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
6
50
-10
14
-14
25
-2
30
-11
-2
-37
2
11
0
-47
33
-16
35
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
9
5
64
-13
-19
-30
-36
-17
55
38
-12
-44
11
11
-8
17
-44
3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
61
2
-17
-47
25
-26
16
-43
15
-1
-29
26
-8
8
26
12
-46
6
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
42
39
62
-17
12
27
55
-24
27
24
46
-54
-33
27
-50
-26
-19
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
17
-10
14
-38
22
12
10
30
-25
11
-9
-48
34
31
7
-1
-20
-21
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-35
13
52
34
7
-39
-22
-19
22
-24
-7
-36
-23
39
-45
-32
50
-35
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
29
22
-21
-46
3
-86
10
56
15
0
36
10
-15
9
-20
9
19
-10
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
1
9
33
13
6
0
-30
-11
45
-4
-25
-14
16
29
18
15
-19
-4
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
30
41
20
-43
-26
-22
41
11
4
3
6
-11
-7
-11
60
-9
56
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-46
-9
-92
17
24
-24
-16
-40
-70
-17
42
-20
47
0
-55
-25
15
-3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
3
-15
1
6
-12
-16
7
-24
3
8
-66
0
0
-29
3
41
-17
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
3
14
34
4
29
6
-6
4
-4
0
-2
-43
20
-6
47
-97
-18
-53
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
24
-1
28
-11
-64
11
-61
6
54
2
30
72
-50
-3
38
-24
43
-57
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
4
2
-6
-58
16
46
8
-4
-6
-10
-21
12
-1
-18
11
2
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
9
-37
-19
-25
58
0
21
28
-22
-10
1
9
-38
19
-17
-1
-2
11
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
9
-30
27
-3
23
26
-4
15
-20
29
-1
-27
-59
18
22
26
39
-31
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
55
38
-28
1
-48
3
29
-44
21
8
-15
-7
22
-13
-26
38
32
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-59
45
-11
1
30
-26
-28
-19
0
0
-1
-7
29
-6
-5
4
-50
17
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-28
-2
-17
-8
-12
-1
-26
3
10
5
-20
20
-12
-15
4
-43
-46
6
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
-1
5
2
3
9
-30
24
-14
32
25
8
-64
61
-7
-59
-45
35
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
14
43
6
9
15
-16
3
-2
-11
-33
-2
35
-2
-35
26
13
40
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
88
-14
-11
3
-12
-70
7
-8
-21
14
3
6
1
9
2
-17
21
37
-54
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
34
36
1
-8
-7
-38
63
-38
3
15
-51
-20
15
4
-32
28
-5
33
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-13
-22
-16
-3
-10
-47
19
0
-12
-20
-13
45
-63
-26
-30
14
33
-13
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
21
-2
-4
16
5
-31
20
31
25
-22
30
23
-25
16
-3
11
0
-53
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
17
-12
17
12
-2
11
0
-18
-34
2
-56
-47
10
12
-16
16
-57
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
11
2
-37
11
26
32
-27
-11
8
-11
7
41
20
1
-15
-85
-12
19
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-3
-20
-3
22
-1
5
46
6
13
-22
-4
25
-25
-8
-36
55
-13
6
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
14
6
-32
26
-13
-3
24
6
6
52
16
-7
-51
11
-5
-11
42
61
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
17
8
4
-4
-3
-1
4
15
-16
-11
-1
7
26
1
2
12
-21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
-22
16
12
-25
-7
20
-16
-2
18
1
13
29
4
-11
-24
81
21
6
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
14
4
18
0
36
-7
12
-14
-3
-21
93
2
-1
-12
-7
-26
17
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
9
-24
-9
47
-71
33
20
36
6
9
-66
-16
-13
3
51
1
-44
-44
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
12
-5
32
-28
39
-2
2
9
5
-35
-17
1
0
-24
-17
-24
5
37
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
34
26
-7
-12
48
0
-25
-5
-20
0
-11
24
31
-34
19
38
-36
-75
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
11
4
4
3
29
-4
25
31
19
-55
32
10
-16
-6
-21
55
-80
-20
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-62
53
41
-18
18
-2
-40
-20
2
-9
31
15
-18
-9
-15
0
-37
42
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
3
14
26
28
1
-17
-28
-19
12
16
10
11
-33
14
28
-20
-22
-5
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-28
12
-10
9
30
-32
-57
-29
-23
-2
-12
-1
-30
48
5
-55
14
43
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-7
48
-19
3
-38
-15
19
97
16
-12
29
25
-5
-8
-5
14
5
-7
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-34
3
10
0
7
-35
-19
3
-25
1
-13
-12
12
13
1
-45
-9
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-2
-3
2
11
-35
3
9
-21
11
-14
-33
-30
-1
-30
25
-3
-14
6
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
9
15
23
7
-35
44
-12
60
10
-37
1
-9
-43
-38
34
1
-41
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
15
-33
-16
-16
28
-30
48
-4
-15
-5
-12
-12
-4
8
8
-32
-17
-17
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-38
15
10
14
28
22
-4
-43
1
-22
28
-3
39
1
5
-16
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
11
33
12
11
-24
21
22
16
41
-13
-49
7
24
14
3
-40
-34
0
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
13
-10
-42
44
-61
-67
-23
-32
39
-48
-6
-15
12
1
28
9
12
-20
-99
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
50
-10
-37
25
23
-10
30
-24
-29
-22
79
3
-5
-12
25
62
-28
-3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-6
-3
35
-3
-40
48
1
29
24
-3
-19
54
-2
-1
-16
15
-39
40
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
13
19
0
10
-2
23
65
34
17
-17
-99
-37
8
-2
-26
-58
-5
-17
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-19
2
8
53
16
-26
-17
24
-39
49
-4
14
-15
-46
-23
-28
5
-8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
28
-13
11
6
-74
-12
20
-28
-13
-18
-31
7
35
-6
-15
-6
27
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-20
19
3
2
25
-4
23
-28
-3
1
-25
6
6
0
-3
-9
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
6
-12
28
-31
-27
-13
-34
-53
-10
-21
-14
-55
-8
-11
5
-34
-28
-17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-43
-8
-13
30
-47
-67
17
-26
-15
1
24
-21
45
-85
28
-15
-63
-98
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-39
57
-5
0
-49
-5
-17
-36
-5
-11
44
-25
19
6
-32
-6
13
31
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
1
-30
-69
8
12
-24
4
11
2
-2
-8
-59
-18
1
-16
26
-23
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
0
33
-18
-12
-27
-21
-9
38
-7
-10
-28
0
-28
33
16
20
-58
-30
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-10
-2
-5
-28
-40
-55
49
-2
-54
-30
-31
-73
29
27
25
-7
7
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
15
28
15
-10
-14
16
26
46
11
6
4
-8
-35
-6
-21
9
-14
-23
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
27
6
35
34
20
5
33
14
-8
78
-35
7
-33
-16
8
-27
3
8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-5
-8
-3
-33
-23
12
0
22
-5
-25
-8
-20
2
-13
-16
11
-21
38
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
1
12
8
-3
32
12
31
-2
9
-23
18
30
24
42
-13
-2
-14
46
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-15
-1
15
12
48
35
34
-43
15
6
-42
15
12
-11
28
-11
-15
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
24
-12
-7
10
33
-29
1
16
-13
-21
0
-2
39
-20
17
-1
52
-35
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
71
3
-3
0
-11
22
-42
-4
-6
-34
-4
-4
35
-58
-9
-113
-6
8
-14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
12
-8
17
7
20
14
-21
8
9
-16
-43
-2
14
9
-65
-19
-31
-8
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
22
-24
-13
-20
25
-52
20
47
17
10
-30
-67
16
-11
6
1
10
22
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-51
-35
13
44
19
-11
-26
-41
-4
-20
-6
55
-77
68
59
3
-12
2
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
1
5
20
18
-19
-6
25
20
-8
-2
31
-12
-19
-40
-39
10
-9
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
19
14
4
-22
-5
-9
10
15
-35
6
13
-27
22
10
4
8
7
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-34
5
69
-12
49
-67
18
-49
49
-27
12
-52
-6
45
55
18
-44
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-10
-36
-13
8
16
-3
-28
-5
-18
14
-12
-67
-47
-19
-65
-38
12
27
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
-17
7
9
53
-63
1
25
-21
0
63
-28
-14
9
32
4
-22
-30
-23
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
23
13
33
-22
-12
11
14
14
3
13
1
27
17
-14
-3
-15
-19
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-22
-10
33
48
-19
48
32
27
47
41
26
-17
-35
-63
34
-57
-20
79
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-1
18
28
-7
59
-10
-13
-11
13
-53
59
-11
10
12
2
-24
32
20
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
-8
33
-4
0
31
-1
5
-55
-24
-59
32
16
-22
25
-30
26
-9
-79
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-5
7
17
1
-11
-7
24
-6
-1
-9
12
-30
4
-3
-56
-6
-16
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-18
30
14
9
-10
3
-8
3
-1
-13
-13
-8
0
-15
-12
2
-27
22
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-25
-15
3
9
18
-35
15
20
-10
-26
-37
-63
-24
22
-33
15
-1
-36
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-8
31
-2
14
-15
-23
-8
-45
-32
-55
8
23
29
-41
1
-38
-30
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
6
23
69
-17
21
30
-34
-15
-9
1
-19
2
33
27
-31
-14
-23
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-17
-18
-36
19
-7
-12
5
-9
29
-28
-49
55
-23
-4
7
-38
-62
-23
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-96
54
15
-7
-7
-14
55
-32
19
-32
-38
-60
-1
29
2
11
-43
9
29
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
5
-46
-8
-18
-5
-8
33
6
16
-43
-11
34
-3
-61
44
26
-28
-43
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-5
14
-21
-4
-31
-6
4
-25
15
-52
1
16
-21
-54
-16
-19
-6
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-38
47
28
-26
-54
-19
-23
-22
5
0
-46
27
75
15
-46
-13
2
-3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
8
22
38
3
-18
-16
-45
-54
-26
-1
-34
-2
-26
-16
-39
-47
12
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-5
-29
21
11
19
-28
-22
22
-48
-32
-17
-50
-44
-20
-6
-18
-43
-24
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
4
12
-23
3
-34
15
2
-32
-21
33
-46
3
-12
9
-28
-18
-4
-18
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
22
-8
-7
22
23
2
8
32
20
78
9
52
25
27
20
5
55
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-4
28
18
23
10
26
34
52
-1
0
0
32
39
-25
-9
16
5
53
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-33
-59
-17
9
11
-24
67
-9
53
0
9
0
-4
-6
32
13
-49
49
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
15
6
21
-31
-6
79
-35
-6
-28
1
-51
40
-37
-1
0
-1
-11
30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-4
4
8
56
40
9
14
8
36
1
10
37
9
22
25
15
15
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
92
0
30
-5
-20
-10
49
16
-16
-19
57
7
-43
40
-18
84
2
-30
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
28
34
24
-33
-9
-29
18
-23
-1
-13
14
-1
6
3
9
-36
40
37
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
46
-4
2
1
83
-47
8
-30
12
0
-11
-11
-10
2
0
30
3
-12
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
19
-12
19
27
-16
1
20
-9
29
16
-1
3
-13
9
33
37
18
46
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
43
-5
-17
-11
17
-90
-26
3
-9
-6
-50
22
6
10
44
38
-97
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
13
-5
-19
-14
6
3
-6
-29
38
4
13
-49
-7
9
-28
7
29
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-13
9
-23
32
-1
56
17
-22
8
0
-52
-60
10
2
0
30
-65
50
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-12
17
29
24
19
-8
-26
44
20
-2
30
34
0
-19
-26
6
13
3
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-22
40
-16
24
-31
-4
13
31
-23
-33
6
10
-11
26
43
-16
-1
2
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
31
17
-24
-5
32
-43
-9
-37
11
-5
3
-3
-14
10
-28
-32
-4
-12
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-20
14
26
3
18
-11
-44
-26
1
-5
-5
5
-4
24
8
-18
-12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
11
20
83
9
33
9
11
35
15
-1
11
-43
57
21
-52
53
-17
32
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
9
-14
39
-9
34
54
-39
31
-23
0
49
-5
-11
7
-1
-34
-8
-43
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
18
6
-18
9
-8
8
-3
18
2
-6
46
0
-4
4
7
-35
-14
-16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-33
20
-10
-9
0
-4
59
23
46
0
-6
5
13
3
0
1
-6
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-13
27
-12
40
0
29
24
3
23
-32
-57
0
6
23
-22
-1
9
-23
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
57
7
21
17
-1
3
-19
-6
-12
6
-37
-12
44
0
17
10
-22
-38
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
57
-12
9
45
-14
25
30
-66
14
-6
-56
38
0
-5
2
-60
57
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
-12
29
-8
4
3
2
4
14
0
-4
-1
0
1
0
2
21
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
25
2
-28
-20
-18
-12
58
-26
66
-56
-5
28
30
9
-36
-30
68
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
51
-6
-4
22
13
-11
18
11
9
-1
18
-13
-18
2
-5
-1
17
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-14
26
15
5
20
-23
-17
28
10
-9
25
-18
-14
0
0
-2
21
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
74
-3
-1
2
-23
11
-2
0
3
-8
-2
1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
46
29
-18
-7
-7
15
20
16
42
-12
-12
46
8
8
-32
-12
-16
-19
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-27
26
-10
18
20
-20
24
-26
43
6
-29
-4
37
1
45
-30
79
18
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
10
28
37
-18
-32
3
33
10
-1
-21
19
12
-24
-3
2
17
-78
-28
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
19
-36
-5
2
-39
2
63
-2
0
-11
1
-25
4
1
-41
-18
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
7
35
11
37
46
42
-4
4
-13
-18
-48
45
67
-10
24
20
-20
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-19
22
72
18
-21
-5
-6
38
13
21
-11
28
1
19
-21
-30
52
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
17
25
-12
7
-28
46
0
14
15
-21
43
21
41
-6
0
1
-2
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
19
13
7
-16
0
-44
11
42
14
4
3
32
-11
-6
0
1
-14
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
10
30
22
50
13
-22
65
-60
30
17
54
3
3
-22
7
15
6
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-49
48
45
7
35
-14
0
13
-23
24
6
3
-27
22
-29
23
13
-59
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
43
-35
-12
3
-51
46
23
-6
1
-6
9
7
-7
0
19
11
-24
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-43
34
-32
1
13
-27
30
-15
17
0
13
-9
0
0
-1
-23
-1
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-15
37
-9
58
-20
1
39
36
-12
4
6
-35
-35
10
17
-12
-17
13
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-9
31
-12
-2
57
-38
48
-24
14
-9
-35
23
-19
9
-32
-27
-8
-27
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-22
43
37
-9
47
-2
9
-21
39
32
63
-57
-4
3
9
52
5
-44
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
27
-12
45
-3
-5
-10
-13
-16
-4
0
42
18
-4
-10
-2
1
-19
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
24
-24
29
-20
9
34
3
32
-23
52
7
-24
18
-36
38
-20
-31
-11
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-5
-4
19
-4
12
-8
20
-6
-16
-9
-24
11
66
-13
-39
-29
-31
31
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-6
3
-14
4
-30
-13
-13
-5
-6
3
-39
38
-32
3
-6
60
38
-94
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
44
-9
-6
-4
7
-2
20
11
1
14
-63
30
3
-1
41
-25
20
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
14
33
6
-55
22
45
-27
-15
42
44
-2
-36
15
6
19
0
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
17
45
4
41
11
-26
16
-12
20
-1
-5
3
-19
-10
3
2
0
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
60
27
-30
0
-11
-12
25
-10
-5
2
-34
-2
-4
-3
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
3
19
47
-7
-3
0
-3
23
-10
1
0
6
2
15
-2
0
-1
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
24
-9
31
15
-13
16
-3
26
-14
69
-21
32
-54
-38
11
26
45
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
-32
-7
0
-17
-7
21
-21
66
-12
4
33
-28
-19
1
-1
-16
-3
-9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
5
-41
16
-39
-34
19
-42
22
-1
8
-5
5
-3
15
-10
48
-3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
27
13
4
-29
1
-13
-37
3
0
-3
-8
-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
27
32
22
-29
6
27
0
22
-24
-15
21
14
-2
-21
-6
19
7
-16
29
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-38
18
-19
2
31
5
21
-6
-7
37
-6
19
-24
1
-117
-3
2
37
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-9
44
16
-28
-63
16
-11
-27
61
-2
29
7
14
-13
11
9
-11
15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
44
-37
-3
-1
2
13
-4
9
2
-2
-27
12
-9
-1
0
3
-9
25
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
8
5
-20
-60
18
16
37
-11
38
-18
-32
41
-42
23
-17
-8
7
-12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-37
8
54
-14
-3
-14
28
32
-8
45
-3
3
10
-15
-48
72
-14
-15
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
20
24
-6
-39
-9
-3
21
20
-12
1
-20
-5
-18
25
-25
6
-38
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
4
44
27
-36
1
23
-14
-24
-3
1
-1
49
-22
0
0
35
-34
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
15
6
46
49
29
-3
71
41
-33
6
45
40
-15
-64
-18
18
8
47
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-59
24
-46
-3
42
2
-5
-22
-8
27
12
9
17
2
-4
-76
52
16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
6
6
9
-13
-11
4
-26
1
-3
31
2
-18
18
15
-10
9
-13
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
1
-27
5
-13
35
5
4
-19
-42
4
10
14
1
-18
-2
47
19
19
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
30
26
0
14
26
5
-4
4
-7
-45
-4
5
14
-19
16
-22
-31
13
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-38
-40
23
64
64
-9
-63
-7
-23
-10
-50
-23
-6
-9
85
1
-16
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-8
11
-13
13
6
6
-9
9
18
-10
-5
4
11
-12
1
0
-20
-6
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-32
16
-10
-55
32
9
32
-11
-8
0
24
-14
21
7
-10
30
35
-121
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-12
-9
59
-14
-1
58
-19
-7
5
-31
2
93
8
-24
45
16
-19
3
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-4
16
37
-1
27
-22
27
1
-24
-2
30
-6
-39
-14
-6
-3
13
26
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
26
18
-5
-55
-7
21
3
-3
-23
-19
7
-12
12
-14
5
16
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-16
5
-4
68
6
-25
-31
-72
8
-24
-32
10
40
23
33
-36
-34
-29
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
32
-8
-5
14
-23
38
-23
11
15
-37
-55
7
13
-5
8
1
16
10
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-17
12
-2
-10
3
25
-43
-14
6
0
-33
2
25
0
-36
3
-29
-37
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
10
3
-29
17
16
20
-21
-27
-20
8
-39
18
-6
-11
-13
-18
-14
-55
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
-40
-5
36
-32
-26
-20
-36
-21
31
24
-48
-21
9
47
-32
24
-4
-71
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
20
3
4
13
-6
-58
29
-6
10
26
27
-7
-53
-11
8
-9
6
55
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
59
38
-48
-27
-3
14
-33
-55
-26
-7
-5
47
-2
1
-6
-15
29
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
1
-6
39
32
-13
26
5
-10
15
-7
9
-6
0
-71
-15
-12
-12
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
22
49
-39
26
44
-29
-43
9
2
-6
-14
-63
20
0
-52
-2
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
24
25
33
-12
69
-19
29
-77
27
-1
96
-9
-47
-23
-11
21
-25
-21
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
-8
-18
-17
37
-44
43
-29
-6
-7
-12
0
2
1
0
10
-4
-29
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-12
7
-19
-7
-26
-35
9
-12
-4
-16
-4
-15
2
-6
-63
9
-17
-3
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
47
-21
-38
-34
77
25
4
1
-58
0
-17
3
17
-61
8
14
-23
-49
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
35
-9
-5
-12
-30
17
-31
29
16
-5
-11
-6
32
-15
-22
-15
-26
-5
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
6
5
97
-41
3
-46
-22
33
-18
0
-29
21
-16
10
2
-3
-15
-22
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-14
24
10
-9
-7
-3
28
9
-28
-40
-37
-11
24
8
-29
-33
-49
-43
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
36
1
-22
-52
2
12
-5
10
-50
35
-1
4
-12
13
13
6
46
-25
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
37
9
37
-14
-23
-12
-23
42
60
-26
-35
-45
60
-3
32
41
-14
-60
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
42
-14
-18
12
17
-13
21
9
-74
-7
20
-23
-23
-15
-28
-67
12
11
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
8
-13
-19
-24
-4
16
-12
-21
-11
-35
7
34
9
-80
-30
-25
-27
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-2
12
-2
24
-6
12
16
-31
-89
-11
30
-40
-34
16
-8
-57
-2
-15
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-3
21
27
13
27
30
5
-6
-56
17
40
-32
32
0
-40
49
-18
31
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-2
-22
2
42
-2
46
7
-29
47
-42
13
-14
49
0
42
-16
10
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
19
-9
4
-23
20
7
6
5
2
11
13
4
-33
-38
-14
-15
32
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
11
2
10
18
-15
-15
4
13
29
-11
9
-14
13
14
-36
-39
-2
3
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
13
71
15
2
-2
41
-1
-27
-33
45
41
-57
-2
3
-21
9
21
-10
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
68
-24
-51
12
46
19
-4
-17
-11
4
21
-6
16
5
24
-41
-24
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
21
-2
17
13
-37
-5
13
-33
18
35
-12
-11
3
-10
-46
-18
-28
6
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-10
17
2
38
6
-27
9
26
6
-7
-9
2
-11
-26
-25
-26
21
10
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-20
37
-18
-23
-17
4
46
14
43
-72
-41
48
10
19
49
-37
10
-19
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
3
18
-3
23
-2
41
35
-14
-3
7
7
33
-7
-16
-21
20
-29
8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
19
2
2
-8
6
-2
-21
-46
-6
-13
-1
-5
26
-42
-9
-43
-58
-1
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
6
13
8
9
-4
-27
6
25
3
8
-1
-22
8
25
-5
2
-17
-7
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
23
-51
-1
30
-14
29
7
-2
-5
18
-42
-14
-1
12
-7
25
-3
-41
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
34
38
77
-10
-61
-18
1
11
13
-20
-20
-21
-9
0
-42
-57
31
49
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
2
24
-6
24
-62
-13
25
47
17
-9
-67
-13
34
4
-15
-78
12
6
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
10
8
-39
6
6
-44
19
-27
38
-66
17
6
17
11
10
-13
3
-1
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
46
-18
25
58
30
14
26
-33
-12
-1
32
-14
22
28
-41
-53
16
35
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-11
-23
12
64
-44
18
-18
26
-22
13
-18
-21
-55
-6
55
-44
34
60
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-19
-14
10
-2
-2
15
29
-9
-16
-24
1
-24
-21
-44
-55
37
-51
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
23
17
-8
11
-11
-4
7
-33
73
-5
-25
40
34
35
-39
-28
-16
-62
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
11
35
-5
7
28
-18
33
-2
-15
2
-49
35
-13
11
-26
7
-46
-19
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
64
8
24
-50
37
-4
-25
43
61
-1
-24
-5
-17
-2
10
-6
-39
-15
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
2
15
-27
12
1
11
-8
8
-5
-61
38
14
-22
2
-26
-11
-9
-31
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-15
6
19
30
-8
-12
-15
39
30
-4
34
0
-1
-33
-99
-42
28
0
60
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-11
23
2
34
8
-32
6
13
0
-32
49
14
-17
-3
-31
-44
-4
66
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
39
23
-34
-3
-20
-4
-31
10
25
-2
-32
8
-4
2
12
-20
-6
-35
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
5
-7
-17
-7
-10
37
-11
0
-3
12
-31
-18
21
1
-23
-59
24
-8
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
13
-16
-8
-3
5
-28
-22
16
28
-14
-16
-4
-59
-29
-32
-5
-17
-26
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-18
36
5
18
-10
14
22
4
43
30
13
-33
14
10
-36
30
12
-15
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-10
76
27
-42
-34
-33
41
-44
101
-6
-13
-31
17
13
16
20
-7
-29
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-23
2
3
-25
-24
-36
-32
-17
-16
-29
-1
29
17
0
20
-48
-41
-1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
0
1
-16
-18
-32
-23
-4
-4
9
-37
-6
2
1
-5
1
-16
-14
13
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
6
0
0
15
33
6
0
0
11
20
13
0
0
9
12
18
0
0
18
-4
5
0
0
3
-9
17
0
0
13
11
-1
0
0
5
-16
-9
0
0
-1
-12
-1
0
0
-4
13
-1
0
0
18
-18
-3
0
0
0
12
7
0
0
-1
-7
0
0
0
0
-6
-4
0
0
8
-10
-17
0
0
16
6
-22
0
0
-2
13
4
0
0
0
1
-9
0
0
0
0
-3
0
0
6
-7
1
0
0
10
5
-18
0
0
3
1
2
0
0
0
-3
0
0
0
-3
7
12
0
0
0
12
0
0
0
-1
-9
6
0
0
0
-9
10
0
0
-15
33
1
0
0
8
9
4
0
0
0
-1
4
0
0
5
-9
9
20
-8
-44
17
8
0
0
25
4
6
0
0
-5
-37
0
0
0
-3
-22
1
0
0
2
-11
34
0
0
17
-1
13
0
0
-8
11
14
0
0
-7
-15
-1
0
0
-17
24
21
0
0
17
-3
-8
0
0
0
25
-6
0
0
-10
5
-2
0
0
-28
12
-12
0
0
-1
3
2
0
0
-7
-1
-6
0
0
-2
10
0
0
0
-8
15
-8
0
0
0
-9
-4
0
0
8
-13
-4
0
0
0
1
0
0
0
-2
1
1
0
0
-4
-3
-3
0
0
-14
-13
2
0
0
0
0
-4
0
0
1
9
2
0
0
0
-3
2
0
0
-1
9
9
0
0
0
-8
3
0
0
10
1
-8
0
0
2
-21
10
0
0
2
-8
-7
0
0
19
-15
-9
-1
32
-3
43
-5
0
0
48
-34
1
0
0
19
-34
1
0
0
-13
-15
46
0
0
-26
24
-9
0
0
-3
-1
-1
0
0
22
30
20
0
0
-8
6
-2
0
0
-2
-15
-1
0
0
16
-14
-6
0
0
-10
-4
0
0
0
7
17
4
0
0
-8
27
3
0
0
-3
-18
0
0
0
-1
9
-3
0
0
1
-3
-3
0
0
17
-8
0
0
0
1
-13
22
0
0
0
1
3
0
0
1
-7
-7
0
0
2
0
2
0
0
7
8
-2
0
0
-3
-1
-3
0
0
0
-12
0
0
0
-7
-2
-2
0
0
0
-25
2
0
0
0
-12
-7
0
0
-2
2
-7
0
0
2
2
-13
0
0
-1
17
0
0
0
-1
7
15
0
0
-12
12
-15
-26
-8
17
0
12
0
0
29
-3
0
0
0
-18
59
-4
0
0
-3
-9
-29
0
0
7
20
12
0
0
19
1
2
0
0
21
-5
8
0
0
4
8
4
0
0
-5
23
1
0
0
21
7
-1
0
0
-7
22
3
0
0
-1
1
7
0
0
-22
-33
-4
0
0
0
1
-1
0
0
0
7
-6
0
0
1
-22
0
0
0
-17
28
10
0
0
2
-2
-2
0
0
-4
-1
0
0
0
0
1
3
0
0
40
-5
10
0
0
-9
-6
12
0
0
0
-9
4
0
0
0
4
-1
0
0
-8
35
-1
0
0
0
18
-3
0
0
0
-12
-3
0
0
0
1
-1
0
0
4
15
-7
0
0
-2
-6
0
0
0
4
-9
-7
0
0
0
9
0
-7
-5
30
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
52
-2
0
0
19
14
12
0
0
11
-14
1
0
0
-50
-16
-10
0
0
-10
-8
1
0
0
-21
5
-9
0
0
7
-8
0
0
0
39
4
-4
0
0
6
-38
20
0
0
2
10
22
0
0
21
12
8
0
0
36
1
27
0
0
-11
19
-3
0
0
12
3
-9
0
0
-11
-8
3
0
0
2
19
-22
0
0
-4
18
-2
0
0
10
-4
2
0
0
2
-5
0
0
0
1
2
0
0
0
1
-28
1
0
0
-1
9
7
0
0
3
-2
0
0
0
-13
-35
-8
0
0
0
9
-7
0
0
-1
7
0
0
0
0
11
-4
0
0
-1
-12
0
0
0
-2
5
10
0
0
-1
0
-30
0
0
-18
-1
2
9
7
-6
-12
-10
0
0
3
-9
15
0
0
35
23
-8
0
0
16
8
-8
0
0
22
10
-6
0
0
-25
-11
-1
0
0
-3
44
3
0
0
0
-1
0
0
0
14
-3
1
0
0
-24
18
-8
0
0
38
-40
8
0
0
6
-9
-1
0
0
-11
-22
0
0
0
-2
2
0
0
0
-2
-13
-1
0
0
-2
0
0
0
0
3
-6
0
0
0
-13
-10
-4
0
0
-12
-15
3
0
0
0
-6
-2
0
0
0
-9
0
0
0
-1
2
0
0
0
12
-1
-6
0
0
0
6
2
0
0
12
43
-20
0
0
1
-7
-1
0
0
0
5
1
0
0
0
-2
0
0
0
-4
-7
-1
0
0
1
0
-3
0
0
-10
-6
-11
0
0
-4
2
0
7
24
-12
8
-10
0
0
-8
36
4
0
0
0
0
-3
0
0
-4
2
2
0
0
15
-1
6
0
0
2
-7
0
0
0
0
2
0
0
0
-7
-6
-1
0
0
4
-19
-1
0
0
8
-13
6
0
0
11
-24
-2
0
0
-10
20
-12
0
0
-11
16
10
0
0
3
3
-1
0
0
0
-1
0
0
0
-7
15
0
0
0
-6
8
6
0
0
2
12
-1
0
0
0
2
0
0
0
2
4
0
0
0
1
-1
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
-3
0
0
0
-9
-1
0
0
0
0
1
0
0
0
0
3
0
0
0
8
2
0
0
-3
0
0
0
0
0
5
1
0
0
4
-3
-2
6
-34
2
-16
-12
0
0
-9
18
-4
0
0
21
-7
-7
0
0
2
-2
-2
0
0
-23
-4
6
0
0
0
3
0
0
0
-6
-18
-1
0
0
-1
1
1
0
0
9
-2
0
0
0
-5
3
-2
0
0
-38
15
16
0
0
-25
4
-2
0
0
-19
-16
10
0
0
0
-2
-1
0
0
-1
0
8
0
0
0
0
0
0
0
17
-28
-1
0
0
-1
-1
0
0
0
7
-4
0
0
0
-1
11
-2
0
0
8
19
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
-5
3
0
0
-1
-11
-2
0
0
0
1
0
0
0
0
-1
0
0
0
2
0
6
0
0
-1
-12
0
0
0
-2
-4
-1
0
0
0
-2
0
11
-20
25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
18
12
0
0
0
-23
7
24
0
0
3
13
2
0
0
-5
4
8
0
0
12
-10
-7
0
0
0
9
-7
0
0
19
-2
3
0
0
11
0
-12
0
0
1
1
1
0
0
2
6
0
0
0
1
-3
0
0
0
2
-15
0
0
0
0
-2
1
0
0
-2
11
-2
0
0
-45
7
4
0
0
-13
8
20
0
0
-32
63
-34
0
0
64
-38
-4
0
0
1
19
-6
0
0
30
-5
10
0
0
9
4
6
0
0
-16
5
2
0
0
-8
-6
-15
0
0
2
-7
3
0
0
7
-9
-10
0
0
20
-16
20
0
0
26
-22
18
0
0
-4
15
15
0
0
-10
3
5
0
0
-9
38
20
19
1
-27
-39
-40
0
0
-21
10
0
0
0
10
-31
2
0
0
-35
6
-2
0
0
5
0
4
0
0
-7
-5
11
0
0
29
-18
-16
0
0
3
0
1
0
0
7
10
-2
0
0
9
18
0
0
0
2
-15
0
0
0
0
-53
19
0
0
17
6
-7
0
0
-4
-10
-2
0
0
0
-12
0
0
0
-2
-2
0
0
0
23
6
0
0
0
1
52
-7
0
0
12
2
-7
0
0
-41
-11
27
0
0
4
-35
-41
0
0
-4
-21
-61
0
0
-11
-30
27
0
0
6
-9
-17
0
0
11
1
-15
0
0
-3
26
-6
0
0
7
15
8
0
0
4
25
5
0
0
0
4
-19
0
0
-8
-8
16
0
0
-14
15
-8
0
0
-8
-10
7
-20
-6
23
-19
7
0
0
2
-4
2
0
0
-8
6
6
0
0
14
-20
0
0
0
-1
17
-3
0
0
2
-26
0
0
0
2
0
0
0
0
-1
1
1
0
0
2
-10
4
0
0
-3
6
0
0
0
-3
1
0
0
0
-3
4
2
0
0
-2
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-7
6
7
0
0
29
0
-2
0
0
-40
31
-34
0
0
3
-19
0
0
0
-9
0
2
0
0
-42
17
-18
0
0
49
-34
18
0
0
-47
15
-18
0
0
10
-27
12
0
0
-40
-24
10
0
0
-19
-1
-13
0
0
15
1
-10
0
0
43
6
-33
0
0
11
2
-17
0
0
2
1
22
0
0
15
-44
-15
0
0
-6
20
16
-22
1
29
1
8
0
0
-1
-8
-4
0
0
-2
5
0
0
0
3
6
4
0
0
-19
5
7
0
0
-4
2
0
0
0
-10
-3
-4
0
0
1
1
0
0
0
2
-7
2
0
0
0
-2
0
0
0
1
1
0
0
0
-2
1
0
0
0
0
-9
8
0
0
0
2
-2
0
0
-1
1
0
0
0
0
-2
0
0
0
3
12
0
0
0
17
8
5
0
0
9
-4
19
0
0
-29
-10
-13
0
0
-15
-44
16
0
0
-73
8
1
0
0
-7
5
21
0
0
2
-1
-16
0
0
49
-7
0
0
0
1
-18
-15
0
0
-25
-14
9
0
0
7
3
15
0
0
21
-27
5
0
0
-6
15
-9
0
0
0
-6
-15
0
0
2
-13
-14
-19
17
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
28
0
0
0
-23
4
0
0
15
22
-1
0
0
-6
-4
8
0
0
-35
0
1
0
0
6
7
-3
0
0
-2
-10
0
0
0
-10
-6
-21
0
0
12
12
1
0
0
15
2
1
0
0
3
-13
-2
0
0
-8
2
-1
0
0
-1
-28
0
0
0
0
0
0
0
0
0
3
0
0
0
-17
-5
-1
0
0
22
-29
-7
0
0
11
11
0
0
0
1
9
-13
0
0
-11
-12
4
0
0
-12
21
7
0
0
4
-14
-2
0
0
-13
-2
7
0
0
51
-26
-9
0
0
18
11
-17
0
0
-75
32
4
0
0
11
-13
3
0
0
30
-21
5
0
0
-2
30
-11
0
0
17
-17
6
0
0
-17
-38
12
2
20
-25
14
51
0
0
18
9
-2
0
0
-5
-7
2
0
0
-17
9
-7
0
0
-5
-6
3
0
0
-15
10
0
0
0
19
-7
1
0
0
0
6
0
0
0
-13
8
0
0
0
3
18
1
0
0
-18
8
1
0
0
0
18
9
0
0
7
9
0
0
0
0
4
0
0
0
4
2
0
0
0
0
-1
0
0
0
3
15
-2
0
0
0
16
-9
0
0
-70
-36
-6
0
0
0
13
-8
0
0
-11
17
4
0
0
-13
18
0
0
0
-1
-13
-7
0
0
-1
-4
3
0
0
-6
1
-6
0
0
3
28
39
0
0
38
2
6
0
0
12
-17
-26
0
0
-3
-22
26
0
0
-4
-30
-46
0
0
26
-19
10
0
0
2
-8
-15
8
-18
-86
62
28
0
0
5
8
4
0
0
-12
2
0
0
0
3
3
-2
0
0
5
7
1
0
0
6
4
-1
0
0
-1
0
0
0
0
0
-6
-2
0
0
16
6
1
0
0
0
4
0
0
0
0
1
0
0
0
0
-12
4
0
0
0
1
0
0
0
0
-2
0
0
0
0
1
0
0
0
1
0
0
0
0
13
-4
-1
0
0
6
-9
-6
0
0
26
0
2
0
0
-6
2
-7
0
0
-36
-22
-2
0
0
11
6
-1
0
0
-1
0
-3
0
0
2
-6
9
0
0
6
-24
-9
0
0
-62
15
40
0
0
-12
-22
-13
0
0
38
4
24
0
0
-7
30
-10
0
0
53
-15
0
0
0
-7
21
-14
0
0
-12
-27
7
-24
12
-57
-14
-5
0
0
6
7
1
0
0
-44
1
2
0
0
16
7
-1
0
0
-9
3
2
0
0
2
-1
-1
0
0
0
4
-1
0
0
-4
0
0
0
0
-43
16
-3
0
0
0
-2
0
0
0
-2
0
0
0
0
0
9
0
0
0
-6
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
-13
-35
-4
0
0
-13
23
-4
0
0
10
17
-3
0
0
20
-4
-8
0
0
9
-7
-7
0
0
0
0
-2
0
0
0
-2
0
0
0
-4
1
-1
0
0
-21
14
-16
0
0
-2
-5
38
0
0
40
-25
1
0
0
25
-3
-85
0
0
8
4
-6
0
0
-26
20
34
0
0
-18
-18
-3
0
0
9
9
31
-9
-16
43
-15
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
4
26
-22
0
0
36
-12
6
0
0
-12
25
2
0
0
15
11
4
0
0
9
15
3
0
0
6
7
-2
0
0
36
1
-6
0
0
19
-5
0
0
0
16
3
-10
0
0
-2
6
3
0
0
-1
-7
-12
0
0
1
6
0
0
0
0
0
-7
0
0
-1
-10
-4
0
0
6
-1
7
0
0
4
4
27
0
0
-1
-3
-1
0
0
7
6
6
0
0
-47
-1
0
0
0
-6
7
1
0
0
0
-1
0
0
0
-1
-2
2
0
0
5
-21
7
0
0
9
15
-7
0
0
0
-10
-2
0
0
0
-3
-11
0
0
8
22
0
0
0
6
-18
-1
0
0
1
30
7
0
0
-9
-11
19
38
-16
26
3
19
0
0
-4
10
2
0
0
5
2
6
0
0
44
-10
-4
0
0
1
15
-3
0
0
-8
-24
-3
0
0
3
0
9
0
0
0
3
0
0
0
-16
4
2
0
0
-6
-3
0
0
0
-9
2
-4
0
0
19
5
7
0
0
-27
-2
13
0
0
-1
2
-2
0
0
0
22
-3
0
0
-2
7
1
0
0
2
1
24
0
0
2
-9
-3
0
0
21
-2
1
0
0
0
2
0
0
0
2
-3
0
0
0
-4
-22
-2
0
0
0
-3
0
0
0
0
-7
-1
0
0
-32
11
-1
0
0
0
-10
-7
0
0
7
11
-2
0
0
0
-12
1
0
0
10
-7
4
0
0
1
-3
-1
0
0
27
6
-6
0
0
-3
4
7
26
14
-7
42
3
0
0
-7
-13
-18
0
0
23
-10
-2
0
0
2
3
-12
0
0
28
-13
32
0
0
-1
7
-7
0
0
-13
-6
-3
0
0
2
3
0
0
0
-12
10
-1
0
0
2
-3
0
0
0
-1
-4
0
0
0
0
19
0
0
0
3
7
7
0
0
0
1
-1
0
0
0
2
0
0
0
-3
-6
0
0
0
-26
0
0
0
0
2
-18
0
0
0
0
4
10
0
0
0
-12
1
0
0
-13
3
1
0
0
-2
9
0
0
0
0
-7
2
0
0
0
0
1
0
0
8
18
8
0
0
-3
-13
0
0
0
-3
0
-2
0
0
0
12
0
0
0
3
-11
0
0
0
11
3
0
0
0
0
-10
-3
0
0
0
0
-2
4
-1
-3
11
-7
0
0
1
-26
0
0
0
3
16
-1
0
0
-39
-2
-4
0
0
-16
19
0
0
0
-20
9
-1
0
0
8
3
9
0
0
0
-6
6
0
0
4
15
-3
0
0
8
0
0
0
0
-18
-1
-4
0
0
2
28
6
0
0
13
13
-7
0
0
1
0
0
0
0
0
0
0
0
0
1
-6
-3
0
0
20
-6
1
0
0
-1
2
-1
0
0
-4
10
2
0
0
0
1
0
0
0
18
0
0
0
0
3
-15
0
0
0
-1
-1
0
0
0
0
2
-10
0
0
9
7
0
0
0
-6
14
0
0
0
6
0
0
0
0
1
0
0
0
0
4
36
4
0
0
-4
-9
2
0
0
0
5
-2
0
0
-1
3
-4
-19
18
3
4
-8
0
0
0
0
2
0
0
8
0
-27
0
0
-35
-20
-7
0
0
16
8
8
0
0
2
4
1
0
0
0
1
10
0
0
0
0
0
0
0
-6
-3
4
0
0
6
1
0
0
0
-3
7
0
0
0
1
6
-1
0
0
-12
1
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
1
1
0
0
6
9
-1
0
0
3
9
0
0
0
0
-2
0
0
0
-1
0
-4
0
0
0
-3
0
0
0
0
3
0
0
0
0
4
1
0
0
0
-1
0
0
0
3
-7
-1
0
0
0
1
2
0
0
1
-8
-8
0
0
0
-7
1
0
0
-3
-38
1
0
0
1
7
0
0
0
0
9
0
0
0
-1
3
-2
-9
2
-27
3
3
0
0
23
-9
-3
0
0
-1
-13
8
0
0
-10
21
4
0
0
-47
-17
-1
0
0
6
-3
1
0
0
-6
-3
0
0
0
0
0
0
0
0
-4
-1
0
0
0
3
-7
-2
0
0
-6
-4
2
0
0
-1
-19
-1
0
0
7
9
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-6
0
0
0
0
0
4
0
0
3
-4
0
0
0
0
1
-1
0
0
4
-2
0
0
0
0
3
0
0
0
0
-3
0
0
0
0
0
-1
0
0
-1
2
1
0
0
8
12
0
0
0
-9
3
1
0
0
2
-2
-2
0
0
0
23
1
0
0
-1
-7
0
0
0
-4
-1
-1
0
0
-2
4
-3
17
-7
7
3
1
0
0
19
-2
-2
0
0
-3
-1
-12
0
0
7
11
-3
0
0
0
0
-1
0
0
0
-2
0
0
0
-1
0
0
0
0
0
1
0
0
0
12
-1
0
0
0
0
-12
0
0
0
-2
0
0
0
0
0
-3
-1
0
0
-7
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
-1
0
0
0
2
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
0
0
0
10
0
-1
0
0
0
-1
0
0
0
1
6
3
0
0
0
2
0
0
0
0
1
0
0
0
1
-3
0
-9
-3
25
-22
-2
0
0
0
20
7
0
0
-25
-8
8
0
0
21
-4
15
0
0
36
-6
-1
0
0
-2
-3
3
0
0
4
-3
-1
0
0
0
2
1
0
0
17
-7
-3
0
0
8
7
0
0
0
6
9
-1
0
0
-9
-16
-6
0
0
-19
-10
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
-2
-4
0
0
-16
0
0
0
0
-6
-9
0
0
0
-3
0
0
0
0
3
3
0
0
0
1
0
-1
0
0
0
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
0
0
-3
20
3
0
0
0
4
2
0
0
0
0
0
0
0
-2
-11
-2
0
0
0
8
0
0
0
1
-1
-3
0
0
-2
-5
1
-1
-31
-7
4
0
0
0
-13
10
-7
0
0
12
6
15
0
0
-1
-6
1
0
0
-13
30
15
0
0
6
0
4
0
0
7
1
0
0
0
0
1
0
0
0
0
1
-9
0
0
6
-4
0
0
0
23
2
-1
0
0
2
-20
3
0
0
-7
-3
-3
0
0
-3
0
-1
0
0
0
0
0
0
0
0
1
1
0
0
8
16
-7
0
0
6
-15
1
0
0
6
0
0
0
0
1
0
0
0
0
6
3
7
0
0
0
0
4
0
0
1
-1
6
0
0
-1
-1
0
0
0
20
-25
-3
0
0
0
-8
-16
0
0
1
15
0
0
0
2
2
2
0
0
-1
-7
0
0
0
-12
11
3
0
0
-1
-3
1
0
0
0
4
-2
-5
46
-26
5
9
0
0
-4
-9
-6
0
0
3
3
-8
0
0
3
9
-4
0
0
-16
5
-4
0
0
-10
6
2
0
0
-7
-15
0
0
0
1
0
0
0
0
-22
3
0
0
0
-10
12
-6
0
0
-19
-11
6
0
0
0
9
6
0
0
0
6
12
0
0
0
0
-2
0
0
0
0
-2
0
0
-1
0
0
0
0
7
8
0
0
0
1
2
2
0
0
0
-8
-1
0
0
1
0
0
0
0
6
-6
-1
0
0
0
3
1
0
0
0
3
-1
0
0
0
2
0
0
0
10
-15
0
0
0
0
-24
-2
0
0
2
8
-2
0
0
0
1
-1
0
0
-2
16
0
0
0
1
10
8
0
0
6
10
-2
0
0
-4
-2
0
4
-30
-18
2
-14
0
0
12
-22
7
0
0
-18
-18
2
0
0
24
23
7
0
0
13
-21
-9
0
0
0
0
6
0
0
0
0
-1
0
0
0
-1
0
0
0
4
12
1
0
0
-8
-6
2
0
0
7
-3
2
0
0
-16
-1
0
0
0
-1
0
0
0
0
1
1
0
0
0
0
0
3
0
0
0
0
0
0
0
8
-3
2
0
0
-2
1
0
0
0
-1
1
1
0
0
2
0
2
0
0
-4
0
0
0
0
-1
0
-1
0
0
-2
0
-2
0
0
0
1
1
0
0
5
24
1
0
0
1
6
0
0
0
-1
0
0
0
0
0
-4
0
0
0
-4
-11
0
0
0
0
1
2
0
0
0
-6
-2
0
0
1
-2
0
3
-44
8
13
-4
0
0
35
4
0
0
0
37
-14
-4
0
0
-19
-8
0
0
0
-3
-3
-3
0
0
10
3
-2
0
0
-2
-12
0
0
0
-1
-1
-3
0
0
-15
7
0
0
0
3
15
-2
0
0
11
1
2
0
0
3
6
0
0
0
22
13
0
0
0
4
0
0
0
0
-2
-2
0
0
0
0
-3
2
0
0
-3
-9
0
0
0
10
18
0
0
0
0
6
-1
0
0
0
-4
0
0
0
3
-3
1
0
0
3
7
0
0
0
0
0
0
0
0
-2
-1
0
0
0
-6
0
1
0
0
2
-6
0
0
0
-2
3
0
0
0
-1
-4
-2
0
0
-7
-8
0
0
0
-2
0
2
0
0
0
0
0
0
0
-1
-17
1
28
-4
18
9
-1
0
0
16
21
3
0
0
5
-10
15
0
0
0
-27
-1
0
0
7
6
-1
0
0
3
-1
0
0
0
-1
-1
0
0
0
-1
-2
0
0
0
15
-9
-1
0
0
-12
12
0
0
0
0
10
0
0
0
3
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
2
0
0
0
-4
-6
-1
0
0
1
-12
-2
0
0
1
0
-1
0
0
11
4
0
0
0
-2
3
-1
0
0
0
0
0
0
0
0
7
0
0
0
-10
1
-4
0
0
-1
1
0
0
0
-2
7
3
0
0
0
-2
0
0
0
0
0
2
0
0
0
-6
-1
0
0
-2
0
0
0
0
10
0
0
1
0
-6
4
6
0
0
32
14
3
0
0
0
-20
0
0
0
21
9
-4
0
0
9
4
-8
0
0
-2
-1
0
0
0
7
3
0
0
0
0
0
0
0
0
-8
-4
0
0
0
-1
6
1
0
0
0
-11
-1
0
0
-1
9
0
0
0
-12
-3
0
0
0
0
1
0
0
0
0
1
0
0
0
0
-3
0
0
0
-1
1
0
0
0
0
-3
1
0
0
-3
-3
0
0
0
1
-1
0
0
0
-8
4
1
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
6
2
0
0
0
1
7
0
0
0
-1
4
0
0
0
-4
1
0
0
0
1
-7
0
0
0
0
6
0
0
0
1
-14
-1
0
0
0
6
0
-23
8
-2
-2
2
0
0
18
-1
-1
0
0
8
1
9
0
0
-26
7
0
0
0
-14
-7
15
0
0
-1
6
0
0
0
8
1
0
0
0
1
0
-1
0
0
-5
-22
0
0
0
3
6
0
0
0
4
1
1
0
0
3
0
0
0
0
-4
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
17
-7
1
0
0
0
-3
3
0
0
8
-16
2
0
0
-2
4
0
0
0
-9
6
-1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-12
-7
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
-13
0
0
0
1
3
0
0
0
-2
0
0
-31
32
0
-17
12
0
0
-13
46
15
0
0
-1
2
1
0
0
-23
7
7
0
0
-8
10
6
0
0
-10
-4
1
0
0
4
2
-3
0
0
-1
-2
-2
0
0
10
25
4
0
0
21
17
-3
0
0
35
-12
1
0
0
-6
-4
1
0
0
35
0
-1
0
0
-1
-1
0
0
0
0
0
0
0
0
0
3
-6
0
0
18
0
-2
0
0
6
25
-6
0
0
-14
10
-7
0
0
-2
-4
-4
0
0
-15
0
0
0
0
1
-9
-4
0
0
-1
-1
0
0
0
0
0
1
0
0
5
-18
-1
0
0
-4
15
0
0
0
0
-9
1
0
0
0
-1
1
0
0
1
-26
-1
0
0
18
6
1
0
0
-2
-2
0
0
0
-17
0
-1
-12
-30
-1
-16
-3
0
0
7
-9
1
0
0
0
-6
0
0
0
0
0
11
0
0
-1
7
-9
0
0
-2
-4
-3
0
0
0
0
0
0
0
1
10
0
0
0
13
3
-2
0
0
-6
6
1
0
0
-1
0
0
0
0
0
-4
2
0
0
1
-7
0
0
0
6
0
0
0
0
0
3
0
0
0
-4
1
0
0
0
3
-10
-9
0
0
12
-45
-33
0
0
30
-7
-64
0
0
26
-26
41
0
0
18
12
-19
0
0
-16
38
-7
0
0
-21
-1
-13
0
0
-7
18
17
0
0
44
29
-29
0
0
-7
-22
-1
0
0
3
13
-4
0
0
15
9
24
0
0
15
25
51
0
0
-8
1
9
0
0
-2
6
-1
0
0
7
39
59
27
16
21
12
5
0
0
-6
2
-1
0
0
15
-6
8
0
0
2
1
3
0
0
-29
9
2
0
0
-1
-6
0
0
0
0
3
3
0
0
0
0
0
0
0
-8
1
0
0
0
3
-12
0
0
0
-7
-1
0
0
0
3
7
4
0
0
-1
-7
0
0
0
-2
-2
-2
0
0
0
13
0
0
0
0
8
2
0
0
-13
11
7
0
0
-15
-4
-14
0
0
48
2
0
0
0
27
-12
-16
0
0
5
39
-24
0
0
-47
-9
15
0
0
-6
-4
21
0
0
1
6
11
0
0
-15
-22
-27
0
0
-51
11
3
0
0
7
-7
-13
0
0
-9
-7
-21
0
0
-1
-30
-6
0
0
-10
15
13
0
0
-28
10
-23
0
0
28
-4
-10
4
13
19
-28
23
0
0
12
-3
1
0
0
19
-3
0
0
0
-4
-9
0
0
0
-15
-9
-4
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
1
-1
0
0
0
-4
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
1
0
0
0
-1
0
1
0
0
0
6
0
0
0
-34
-3
-12
0
0
-12
49
12
0
0
-8
-13
10
0
0
-38
-17
-22
0
0
-44
1
-2
0
0
7
8
1
0
0
18
-13
-10
0
0
8
-15
-16
0
0
14
-1
-4
0
0
34
2
-12
0
0
6
-4
-1
0
0
6
8
26
0
0
32
3
-1
0
0
-7
-7
-13
0
0
2
-7
-3
0
0
6
-1
5
-32
-3
-26
10
-18
0
0
19
9
-1
0
0
3
-9
-2
0
0
7
-1
-3
0
0
11
3
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
2
0
0
17
-3
1
0
0
-6
-13
0
0
0
10
0
0
0
0
1
7
-1
0
0
11
6
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-2
0
0
0
0
10
-2
0
0
13
-26
0
0
0
-26
-9
30
0
0
-5
-9
-1
0
0
-5
-29
-22
0
0
62
-22
10
0
0
-7
9
20
0
0
11
3
-10
0
0
-52
4
5
0
0
-22
-5
-13
0
0
-1
1
1
0
0
4
6
-9
0
0
0
-6
7
0
0
2
-1
-6
0
0
-7
-20
0
0
0
-7
36
-4
-1
35
-3
-3
-4
0
0
2
3
1
0
0
1
7
1
0
0
0
-10
-1
0
0
1
6
-2
0
0
1
0
1
0
0
0
1
0
0
0
0
0
0
0
0
-10
-1
-2
0
0
-6
-11
-1
0
0
0
0
0
0
0
0
-6
-3
0
0
-1
-1
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
0
10
8
1
0
0
-11
-8
-6
0
0
3
16
-11
0
0
24
-5
14
0
0
-14
-6
-19
0
0
3
2
6
0
0
-18
6
22
0
0
0
-24
7
0
0
-15
-60
2
0
0
8
27
3
0
0
10
-15
8
0
0
-15
-28
-3
0
0
-6
24
-8
0
0
0
9
-12
0
0
0
-3
0
0
0
-10
-11
-7
-11
1
-3
13
4
0
0
29
7
0
0
0
3
2
0
0
0
3
-3
-1
0
0
-15
9
1
0
0
0
2
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-9
0
0
0
0
2
-10
0
0
0
2
-2
0
0
0
0
1
-2
0
0
0
10
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
18
10
2
0
0
-8
34
-6
0
0
7
-14
11
0
0
12
4
18
0
0
-13
-19
4
0
0
11
12
0
0
0
3
2
7
0
0
0
28
-4
0
0
-2
-9
6
0
0
-9
-5
-10
0
0
-10
1
6
0
0
9
-8
9
0
0
9
6
4
0
0
-1
3
6
0
0
1
0
-3
0
0
-6
-1
0
-19
-2
-13
0
-13
0
0
6
28
1
0
0
15
6
-4
0
0
0
8
0
0
0
12
-20
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
7
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
-9
-4
1
0
0
-11
19
27
0
0
-47
19
-6
0
0
19
7
-2
0
0
-2
-23
12
0
0
-9
-24
-10
0
0
6
-37
1
0
0
-2
-15
2
0
0
0
13
3
0
0
13
-11
-13
0
0
-3
2
0
0
0
17
-10
0
0
0
-4
-27
-12
0
0
1
6
6
0
0
-1
-22
-6
0
0
2
-7
-6
12
-8
0
-15
-3
0
0
0
4
8
0
0
-6
-16
-1
0
0
3
3
1
0
0
4
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
-2
0
0
0
15
1
0
0
0
-1
2
0
0
0
1
-1
0
0
0
0
-1
1
0
0
-16
11
1
0
0
0
1
0
0
0
1
0
0
0
0
-1
1
0
0
0
1
-9
2
0
0
-6
12
-19
0
0
-10
-6
-1
0
0
-23
-10
11
0
0
-20
28
-15
0
0
10
0
2
0
0
-8
-18
-15
0
0
-8
8
0
0
0
-1
1
-8
0
0
-11
-9
12
0
0
-17
4
1
0
0
5
-2
7
0
0
4
-18
-18
0
0
-3
-11
1
0
0
-1
9
9
0
0
0
24
-10
13
-16
0
16
5
0
0
-20
57
0
0
0
34
0
1
0
0
15
20
18
0
0
12
23
1
0
0
-22
-38
-1
0
0
-5
9
0
0
0
-1
-1
-1
0
0
24
0
-1
0
0
7
-3
-3
0
0
2
1
-4
0
0
-2
-1
-1
0
0
2
0
7
0
0
3
-7
0
0
0
-1
-8
0
0
0
10
1
3
0
0
-16
20
0
0
0
12
-12
0
0
0
-13
17
7
0
0
-6
-1
-7
0
0
-3
-7
30
0
0
-8
-20
-6
0
0
4
14
-6
0
0
-17
-5
18
0
0
20
-6
12
0
0
33
8
10
0
0
24
29
-26
0
0
-2
29
-5
0
0
-44
29
13
0
0
-6
-5
3
0
0
33
-9
13
0
0
-8
-11
9
7
-26
-16
47
56
0
0
5
-23
9
0
0
-9
-8
-7
0
0
-23
-2
-2
0
0
-8
10
1
0
0
-32
-2
-1
0
0
1
3
0
0
0
1
-7
0
0
0
-26
12
0
0
0
6
0
-3
0
0
7
-8
0
0
0
7
1
-1
0
0
9
-7
-8
0
0
0
3
0
0
0
0
1
1
0
0
2
0
0
0
0
16
12
0
0
0
25
-20
-4
0
0
-18
-38
12
0
0
25
-15
-12
0
0
-13
-8
3
0
0
-4
-2
7
0
0
-3
9
0
0
0
0
-8
-8
0
0
15
28
-16
0
0
8
12
0
0
0
-22
-59
28
0
0
54
12
14
0
0
80
-10
-13
0
0
0
11
0
0
0
0
-17
-18
0
0
24
-7
19
47
24
-20
6
-3
0
0
5
8
0
0
0
0
28
1
0
0
4
8
1
0
0
5
12
1
0
0
36
-8
0
0
0
6
3
-3
0
0
0
0
0
0
0
13
-12
0
0
0
2
2
0
0
0
1
1
0
0
0
-1
-1
1
0
0
-4
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-4
-2
0
0
-18
-5
8
0
0
-41
12
0
0
0
24
4
3
0
0
14
8
-6
0
0
-23
15
-3
0
0
-6
-16
-2
0
0
1
2
-3
0
0
18
5
-20
0
0
-16
-6
19
0
0
23
-43
42
0
0
6
18
-20
0
0
31
69
-31
0
0
-2
-18
6
0
0
0
2
12
0
0
-1
-13
-7
1
31
-46
-28
18
0
0
28
-7
1
0
0
1
18
1
0
0
-6
3
-3
0
0
-49
-10
2
0
0
-1
7
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
2
0
0
0
-3
-4
0
0
0
-3
0
0
0
0
-1
1
0
0
0
1
-25
-1
0
0
0
-2
0
0
0
0
0
0
0
0
-1
1
0
0
0
-3
-3
0
0
0
69
-3
-22
0
0
2
6
-2
0
0
-22
-4
-4
0
0
0
10
-3
0
0
-7
-2
0
0
0
7
-1
0
0
0
0
-13
0
0
0
-13
-24
-3
0
0
-13
43
68
0
0
-13
-23
-40
0
0
28
53
0
0
0
-1
-39
37
0
0
-1
-47
-8
0
0
4
-16
-23
0
0
-34
17
37
-12
-20
4
-4
6
0
0
9
30
28
0
0
-22
15
11
0
0
12
12
-6
0
0
6
-20
3
0
0
-19
3
1
0
0
0
16
-15
0
0
0
-1
0
0
0
1
-10
0
0
0
-18
-3
3
0
0
9
0
3
0
0
-2
-4
1
0
0
-6
0
-1
0
0
-1
-7
-1
0
0
0
1
1
0
0
-1
3
0
0
0
-7
5
-16
0
0
-24
52
-12
0
0
30
6
-3
0
0
-24
9
2
0
0
15
0
12
0
0
3
-26
-2
0
0
7
4
-10
0
0
7
10
17
0
0
10
-1
4
0
0
19
-40
16
0
0
-14
14
12
0
0
40
-3
-48
0
0
-25
-30
-20
0
0
8
-17
15
0
0
-1
7
7
0
0
-15
26
9
-13
1
-19
-36
-14
0
0
-7
17
8
0
0
20
14
17
0
0
21
-15
2
0
0
29
-9
-3
0
0
16
-4
0
0
0
7
-4
-4
0
0
0
0
0
0
0
1
-8
0
0
0
-3
9
-3
0
0
-19
12
-6
0
0
2
4
2
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
-60
11
12
0
0
0
-28
-11
0
0
-22
-7
1
0
0
-6
4
-3
0
0
20
2
-18
0
0
1
-13
-1
0
0
0
-10
-2
0
0
-9
-3
-1
0
0
-5
31
-11
0
0
50
3
-12
0
0
4
-16
2
0
0
-13
11
-28
0
0
-6
-1
-7
0
0
20
-25
-11
0
0
1
-1
4
-7
8
-17
0
9
0
0
-11
-26
-1
0
0
-23
29
-6
0
0
-7
-15
1
0
0
-2
10
-2
0
0
-1
10
0
0
0
2
0
1
0
0
1
2
0
0
0
-1
4
4
0
0
15
-12
-1
0
0
-10
17
2
0
0
0
0
1
0
0
-2
-3
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
1
0
0
14
-8
0
0
0
0
29
38
0
0
-7
23
-5
0
0
14
11
-15
0
0
33
-27
-6
0
0
-19
30
-19
0
0
-1
4
4
0
0
0
-49
-2
0
0
-9
6
0
0
0
2
-36
6
0
0
-15
22
-16
0
0
9
33
-51
0
0
15
-4
-26
0
0
5
15
-40
0
0
15
-9
2
0
0
1
-28
5
-22
-6
-6
-1
28
0
0
-3
15
-1
0
0
8
1
17
0
0
-18
37
-6
0
0
-39
22
-2
0
0
-15
-20
-1
0
0
4
11
-6
0
0
0
-8
0
0
0
-28
-7
-4
0
0
3
-35
4
0
0
-5
11
0
0
0
1
-3
4
0
0
5
-17
1
0
0
1
-1
1
0
0
2
-2
0
0
0
0
0
0
0
0
-15
16
-7
0
0
-10
21
7
0
0
-7
5
-5
0
0
-23
9
-27
0
0
5
-37
-5
0
0
-13
-42
-37
0
0
-8
22
10
0
0
-1
-10
-3
0
0
4
-18
-2
0
0
18
30
40
0
0
-5
2
16
0
0
-27
-10
-1
0
0
17
-33
32
0
0
7
54
7
0
0
-39
-33
12
0
0
3
-47
-24
-6
14
23
-12
-49
0
0
23
33
2
0
0
23
-9
11
0
0
-2
-23
3
0
0
-11
23
1
0
0
7
18
-4
0
0
-9
21
0
0
0
11
-2
0
0
0
28
5
-1
0
0
10
-15
0
0
0
0
0
-11
0
0
-7
1
11
0
0
-3
2
-18
0
0
0
6
-3
0
0
0
-11
2
0
0
-3
1
0
0
0
0
14
13
0
0
-2
-11
-3
0
0
-3
3
0
0
0
0
3
0
0
0
3
-2
2
0
0
-3
6
1
0
0
1
6
0
0
0
-4
2
0
0
0
8
-6
7
0
0
0
18
-7
0
0
-1
-19
-4
0
0
3
-9
-9
0
0
-7
6
-24
0
0
-1
2
12
0
0
0
11
3
0
0
-12
1
4
-13
18
12
-12
-2
0
0
3
-22
-8
0
0
24
2
0
0
0
-3
-8
0
0
0
-5
3
-6
0
0
-4
-18
0
0
0
-1
16
17
0
0
1
4
0
0
0
-22
16
0
0
0
15
-2
1
0
0
25
4
-1
0
0
37
30
8
0
0
-12
1
16
0
0
-1
-1
-1
0
0
-1
3
1
0
0
-3
8
6
0
0
6
-1
7
0
0
-1
7
0
0
0
7
-11
0
0
0
0
1
0
0
0
3
0
-1
0
0
4
4
0
0
0
-1
-10
0
0
0
1
2
0
0
0
-19
1
0
0
0
13
19
-10
0
0
0
0
-3
0
0
6
6
0
0
0
3
2
10
0
0
4
-3
3
0
0
1
-7
-2
0
0
1
16
-3
-1
28
-18
24
13
0
0
-8
-11
0
0
0
25
-43
-7
0
0
6
8
-9
0
0
-24
8
-3
0
0
2
-9
3
0
0
-2
-1
0
0
0
0
-1
0
0
0
0
13
-2
0
0
-2
-5
0
0
0
-15
3
0
0
0
-6
6
-3
0
0
-3
2
3
0
0
-1
0
0
0
0
0
2
0
0
0
0
0
-2
0
0
-8
-9
-3
0
0
-1
-18
3
0
0
2
-11
0
0
0
0
-7
0
0
0
-10
3
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-4
-15
7
0
0
2
-15
2
0
0
-18
2
-10
0
0
-1
4
1
0
0
-8
36
-2
0
0
11
29
0
0
0
0
-18
2
0
0
-4
-1
-7
-7
16
3
18
3
0
0
-8
-3
-14
0
0
-5
-6
3
0
0
17
-7
-6
0
0
12
-5
4
0
0
-9
7
1
0
0
12
2
0
0
0
0
-1
-1
0
0
-12
-10
-1
0
0
17
-17
-2
0
0
-18
28
0
0
0
-4
16
11
0
0
-2
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
-2
-1
0
0
0
1
19
-3
0
0
0
-1
15
0
0
-1
4
3
0
0
0
24
2
0
0
-6
-11
-10
0
0
-1
-2
0
0
0
0
6
0
0
0
0
0
0
0
0
-4
19
0
0
0
1
4
-2
0
0
7
-1
-6
0
0
1
9
-1
0
0
0
-24
9
0
0
0
-21
2
0
0
0
-2
-1
0
0
-9
-7
0
29
-20
-5
39
3
0
0
-16
28
-3
0
0
22
-9
-11
0
0
-2
-3
-16
0
0
7
3
0
0
0
22
-13
-1
0
0
-1
11
4
0
0
0
1
0
0
0
9
1
2
0
0
1
0
0
0
0
-1
3
0
0
0
0
8
0
0
0
0
-2
0
0
0
-1
-2
-1
0
0
-2
0
0
0
0
0
0
1
0
0
2
3
4
0
0
-1
0
0
0
0
-1
1
0
0
0
2
1
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
4
1
0
0
0
1
0
0
0
2
0
0
0
0
0
1
-1
0
0
2
-1
-9
0
0
-2
8
0
0
0
0
4
1
0
0
-1
1
6
-8
-15
7
29
0
0
0
24
13
13
0
0
-35
-6
4
0
0
0
-11
0
0
0
-5
-11
9
0
0
11
-12
0
0
0
-10
-19
-11
0
0
1
-1
0
0
0
21
1
-1
0
0
-3
15
0
0
0
-2
0
0
0
0
-1
1
1
0
0
-2
-2
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-2
-1
0
0
-14
21
2
0
0
0
2
0
0
0
4
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-7
0
0
0
2
0
0
0
0
0
-8
0
0
0
6
-6
-2
0
0
0
-2
0
0
0
0
4
0
0
0
1
4
-1
-27
2
-26
-12
0
0
0
-7
-3
1
0
0
11
7
1
0
0
0
-1
-4
0
0
24
-2
3
0
0
0
1
0
0
0
-1
-2
1
0
0
0
0
0
0
0
3
0
0
0
0
-2
-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
-1
0
0
0
0
-2
0
-2
0
0
2
3
0
0
0
0
0
0
0
0
0
3
1
0
0
1
0
0
0
0
2
-1
0
0
0
0
0
-2
0
0
-1
0
0
0
0
-1
-2
0
0
0
1
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
-9
8
-3
0
-1
0
0
38
7
-4
0
0
8
-3
-11
0
0
-22
11
0
0
0
5
20
-2
0
0
0
-3
0
0
0
1
0
-2
0
0
0
2
3
0
0
-7
2
-1
0
0
2
7
1
0
0
0
1
-1
0
0
2
-10
0
0
0
-12
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
18
-2
0
0
0
-6
-10
-2
0
0
0
8
-1
0
0
10
0
0
0
0
-2
-6
1
0
0
0
2
0
0
0
0
1
0
0
0
-1
0
0
0
0
2
-2
-1
0
0
0
9
-1
0
0
4
2
-2
0
0
0
-4
0
0
0
1
-8
-1
0
0
-2
-11
0
0
0
-3
-2
0
0
0
-2
1
0
34
-26
-12
-6
1
0
0
39
-8
1
0
0
7
-4
0
0
0
22
3
2
0
0
-12
-15
-11
0
0
1
1
-2
0
0
4
1
1
0
0
-1
0
1
0
0
11
-6
6
0
0
-6
-6
2
0
0
-3
-4
-1
0
0
-1
1
1
0
0
-3
2
-12
0
0
-3
1
0
0
0
0
0
0
0
0
0
6
1
0
0
-10
2
6
0
0
2
1
0
0
0
4
-6
0
0
0
-1
0
-2
0
0
-2
-3
0
0
0
0
3
1
0
0
0
2
3
0
0
0
0
0
0
0
9
-3
20
0
0
-1
-2
0
0
0
-6
-1
0
0
0
0
-6
1
0
0
6
0
1
0
0
0
7
2
0
0
-1
-4
6
0
0
-1
-6
-1
36
35
29
9
-8
0
0
-6
7
-1
0
0
-7
-11
-6
0
0
12
4
-1
0
0
-20
-1
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-13
-4
0
0
0
4
-1
-1
0
0
4
-15
2
0
0
0
-8
-2
0
0
10
3
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
26
0
-1
0
0
0
-1
-1
0
0
10
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
11
-1
0
0
0
-9
0
0
0
0
3
1
0
0
0
0
0
0
0
-6
-1
-1
0
0
-3
6
2
0
0
4
3
0
0
0
0
3
0
0
-10
-21
-4
-3
0
0
8
-11
8
0
0
-21
1
14
0
0
-3
25
4
0
0
11
-6
8
0
0
2
4
0
0
0
0
-1
0
0
0
-6
-2
0
0
0
7
-13
0
0
0
11
10
-7
0
0
3
-6
0
0
0
-2
-2
7
0
0
25
10
16
0
0
0
-1
0
0
0
0
-1
0
0
0
0
-4
-2
0
0
9
-8
1
0
0
0
-2
0
0
0
1
-6
-1
0
0
-1
0
0
0
0
15
-20
0
0
0
-2
0
-2
0
0
-1
2
0
0
0
0
3
1
0
0
-9
-3
-9
0
0
-1
8
0
0
0
-1
-22
0
0
0
1
-9
0
0
0
2
5
-2
0
0
1
7
-1
0
0
-1
1
-2
0
0
2
0
-3
-13
14
-20
-9
10
0
0
-15
12
-6
0
0
0
19
1
0
0
-21
-6
-7
0
0
-37
-7
-1
0
0
6
-4
0
0
0
-2
3
0
0
0
3
0
0
0
0
1
4
0
0
0
-13
33
0
0
0
8
-7
7
0
0
-7
-6
-8
0
0
11
-6
-1
0
0
1
-2
0
0
0
0
0
0
0
0
0
-13
-1
0
0
-3
0
0
0
0
0
-1
0
0
0
1
1
0
0
0
0
-4
-1
0
0
8
1
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
9
7
7
0
0
4
7
0
0
0
11
6
1
0
0
0
1
-1
0
0
8
0
0
0
0
-4
2
0
0
0
-1
1
0
0
0
0
-20
0
18
5
-11
-4
-7
0
0
-13
0
-6
0
0
-1
8
0
0
0
2
0
0
0
0
-8
-6
0
0
0
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
13
3
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
7
1
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
-7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
-2
0
0
-1
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
10
0
0
0
0
3
0
0
0
0
0
-2
0
0
0
0
0
6
-12
1
-1
0
0
0
7
-10
-1
0
0
11
40
-9
0
0
1
9
1
0
0
-4
2
0
0
0
1
-7
0
0
0
0
1
0
0
0
0
0
0
0
0
6
0
0
0
0
14
-9
0
0
0
8
0
0
0
0
1
-10
0
0
0
-3
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
6
7
0
0
0
1
-1
0
0
0
0
-1
1
0
0
0
2
0
0
0
0
0
0
0
0
0
1
-1
0
0
-1
-1
-1
0
0
0
1
-1
0
0
-2
-1
-2
0
0
1
10
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
-2
0
0
0
-1
-7
1
0
0
-1
6
0
0
0
1
3
2
-24
7
7
13
-1
0
0
21
-15
28
0
0
-46
-40
4
0
0
-10
19
-1
0
0
-3
13
7
0
0
19
-2
0
0
0
17
8
0
0
0
-1
-1
0
0
0
-16
5
-1
0
0
4
1
0
0
0
-1
2
1
0
0
2
2
-22
0
0
-6
2
1
0
0
0
-4
0
0
0
0
0
0
0
0
1
2
0
0
0
18
2
0
0
0
7
1
0
0
0
13
0
0
0
0
0
0
0
0
0
7
2
-2
0
0
-1
-9
1
0
0
0
1
-1
0
0
0
1
0
0
0
2
-9
1
0
0
-4
-1
-2
0
0
0
1
0
0
0
0
3
0
0
0
-2
4
0
0
0
-2
0
2
0
0
0
-6
-1
0
0
11
2
0
10
-21
-2
-21
9
0
0
-23
15
7
0
0
17
13
21
0
0
1
13
-2
0
0
-36
4
-8
0
0
-24
2
0
0
0
-18
0
0
0
0
-2
-6
-2
0
0
-6
9
0
0
0
22
-12
0
0
0
6
4
-2
0
0
1
-9
7
0
0
0
15
-6
0
0
0
-1
1
0
0
0
1
0
0
0
-2
-3
-1
0
0
10
2
-7
0
0
9
53
1
0
0
3
-15
1
0
0
-2
-9
0
0
0
-4
-2
1
0
0
10
15
-11
0
0
-1
0
0
0
0
0
1
-1
0
0
12
-21
3
0
0
1
-9
3
0
0
4
12
0
0
0
1
-1
6
0
0
1
-10
6
0
0
2
11
-6
0
0
0
2
-6
0
0
-15
12
-4
-9
24
-27
-10
-12
0
0
-26
0
0
0
0
7
13
-6
0
0
0
0
-3
0
0
15
-6
0
0
0
-1
-11
0
0
0
1
-8
2
0
0
0
0
0
0
0
1
6
2
0
0
1
1
0
0
0
-6
0
1
0
0
1
-3
1
0
0
-6
-1
0
0
0
6
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
-28
-17
-2
0
0
-34
10
-21
0
0
23
1
-17
0
0
2
-42
11
0
0
30
-9
11
0
0
-23
1
18
0
0
2
-25
9
0
0
0
-11
2
0
0
40
26
-11
0
0
-5
-30
-9
0
0
26
-19
-13
0
0
28
11
10
0
0
19
20
35
0
0
1
-14
-27
0
0
-25
-2
-26
0
0
22
24
18
13
0
38
1
7
0
0
-5
3
0
0
0
-2
11
11
0
0
-9
7
0
0
0
-17
-2
0
0
0
0
-2
0
0
0
1
-2
-6
0
0
0
0
0
0
0
10
-1
0
0
0
-4
-4
-2
0
0
3
0
0
0
0
-2
0
0
0
0
8
0
2
0
0
0
3
0
0
0
0
0
0
0
0
0
7
1
0
0
1
7
0
0
0
-25
-9
-15
0
0
-9
-8
30
0
0
-23
-17
1
0
0
3
6
0
0
0
10
4
12
0
0
9
30
-11
0
0
-1
23
3
0
0
35
-13
-22
0
0
14
-3
-9
0
0
12
-2
24
0
0
-43
-16
-2
0
0
-16
5
-12
0
0
1
4
9
0
0
9
-2
-9
0
0
-18
-4
2
23
-51
36
10
-3
0
0
15
8
0
0
0
4
1
-4
0
0
-4
-6
0
0
0
5
-5
1
0
0
1
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
1
-2
1
0
0
1
-4
0
0
0
-1
0
0
0
0
-1
-2
0
0
0
1
2
0
0
0
0
2
0
0
0
0
-3
0
0
0
-1
4
0
0
0
11
-27
0
0
0
1
20
23
0
0
-6
24
-3
0
0
3
24
-7
0
0
-44
29
-41
0
0
35
-22
1
0
0
-30
10
9
0
0
7
0
-7
0
0
-22
-18
-21
0
0
-9
-29
4
0
0
-4
2
3
0
0
29
-24
-1
0
0
-13
1
9
0
0
2
-7
11
0
0
6
0
8
0
0
6
10
-17
-38
1
1
-21
14
0
0
16
-9
-2
0
0
-6
-3
0
0
0
3
1
-1
0
0
1
10
0
0
0
-2
-8
1
0
0
1
0
0
0
0
1
0
0
0
0
3
-2
0
0
0
-1
1
0
0
0
0
0
0
0
0
-4
-3
0
0
0
-9
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
19
3
1
0
0
-6
-34
36
0
0
-28
-6
8
0
0
-13
-5
-17
0
0
-1
-30
3
0
0
-33
0
4
0
0
-22
-39
4
0
0
2
4
-10
0
0
7
-6
1
0
0
13
17
10
0
0
-2
-6
2
0
0
4
0
-32
0
0
30
-9
1
0
0
-10
13
0
0
0
0
10
-13
0
0
6
21
-9
2
24
19
-16
-4
0
0
20
-4
0
0
0
9
9
-1
0
0
4
6
0
0
0
-14
3
8
0
0
-9
-8
1
0
0
-3
-18
1
0
0
0
1
0
0
0
-23
8
-6
0
0
-6
0
0
0
0
0
0
-1
0
0
-1
2
2
0
0
1
0
2
0
0
2
-7
-1
0
0
0
0
0
0
0
0
0
2
0
0
-5
13
-7
0
0
-35
27
-42
0
0
-24
-7
6
0
0
1
-11
11
0
0
-50
8
7
0
0
43
-11
-11
0
0
8
-18
-10
0
0
2
4
0
0
0
-7
-4
4
0
0
3
-20
0
0
0
-28
-8
1
0
0
-7
-8
16
0
0
-15
14
-11
0
0
3
3
2
0
0
0
-10
0
0
0
3
-5
4
30
-9
27
4
3
0
0
-1
2
20
0
0
32
-11
0
0
0
-1
-11
0
0
0
16
9
2
0
0
-16
12
-7
0
0
16
0
-2
0
0
-1
0
0
0
0
-12
0
3
0
0
4
0
1
0
0
-20
0
-1
0
0
-1
0
0
0
0
1
0
-2
0
0
-1
-4
0
0
0
0
0
0
0
0
0
-1
1
0
0
-25
0
0
0
0
-10
25
-21
0
0
-21
0
-3
0
0
-2
9
20
0
0
13
-11
2
0
0
6
-6
-21
0
0
9
-16
39
0
0
-4
9
2
0
0
19
8
-25
0
0
-18
26
7
0
0
-9
3
1
0
0
13
-34
-10
0
0
-10
-19
-7
0
0
1
-14
-11
0
0
-20
-6
3
0
0
-2
-15
-7
5
-2
-19
-1
-12
0
0
13
16
1
0
0
21
7
1
0
0
-2
11
0
0
0
-8
-8
-4
0
0
0
-1
0
0
0
1
0
0
0
0
0
4
0
0
0
-15
0
0
0
0
3
3
1
0
0
-2
-1
1
0
0
-12
-1
-1
0
0
-8
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
4
9
-1
0
0
-1
-5
8
0
0
-2
7
-17
0
0
50
-18
10
0
0
36
10
-9
0
0
-3
-6
-16
0
0
-28
-4
-12
0
0
0
-8
0
0
0
-6
6
3
0
0
-21
-10
24
0
0
25
4
0
0
0
12
-15
-4
0
0
-8
0
-2
0
0
-2
8
1
0
0
0
-39
11
0
0
-10
-10
0
-19
-8
6
16
-18
0
0
45
-1
1
0
0
-27
11
0
0
0
10
33
6
0
0
8
-3
-2
0
0
-6
17
-10
0
0
5
8
-1
0
0
0
0
0
0
0
39
1
0
0
0
-15
-7
0
0
0
15
-15
3
0
0
-2
8
0
0
0
-14
10
6
0
0
0
-3
0
0
0
0
-1
0
0
0
0
-9
0
0
0
-16
1
-1
0
0
-7
-22
3
0
0
-20
10
4
0
0
26
-23
-23
0
0
-3
35
14
0
0
-1
3
-1
0
0
3
25
-12
0
0
2
-4
-1
0
0
-12
-4
2
0
0
-44
0
-15
0
0
-9
-1
-7
0
0
9
-28
3
0
0
13
-11
-14
0
0
0
-10
21
0
0
-10
6
-6
0
0
-14
-7
1
-8
3
-23
-20
-21
0
0
11
3
0
0
0
32
16
-7
0
0
-2
-6
-8
0
0
22
-3
16
0
0
-4
4
1
0
0
2
1
-1
0
0
0
3
0
0
0
-9
-7
0
0
0
-11
1
0
0
0
-11
-9
0
0
0
-3
4
8
0
0
-8
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
-1
3
1
0
0
21
-6
15
0
0
13
18
-29
0
0
2
-22
-4
0
0
18
-8
-2
0
0
-24
-13
-24
0
0
11
-6
6
0
0
0
28
-3
0
0
-20
0
15
0
0
21
20
-17
0
0
9
-26
10
0
0
53
-39
29
0
0
-4
45
-1
0
0
-14
1
14
0
0
45
11
-23
0
0
35
21
8
0
0
-47
-9
13
-16
-5
-36
69
29
0
0
-2
2
7
0
0
7
-21
8
0
0
33
0
-9
0
0
-6
-9
6
0
0
-8
1
0
0
0
3
-15
0
0
0
0
-1
0
0
0
-5
-7
-2
0
0
2
0
2
0
0
1
0
0
0
0
1
-2
0
0
0
0
1
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
-6
0
0
0
-1
7
0
0
0
21
-24
-10
0
0
18
-8
0
0
0
-36
-3
-7
0
0
-3
-4
-9
0
0
-19
9
1
0
0
-3
8
0
0
0
-2
-7
3
0
0
15
-2
-6
0
0
-1
20
4
0
0
-1
-3
-20
0
0
20
22
21
0
0
36
-7
-1
0
0
3
14
-12
0
0
18
14
-44
0
0
6
1
32
-18
-5
-2
45
9
0
0
-2
-14
-2
0
0
-29
32
2
0
0
-6
2
3
0
0
-1
21
3
0
0
-2
9
0
0
0
-6
-1
-1
0
0
0
0
-3
0
0
6
-1
1
0
0
-2
19
-3
0
0
3
-1
4
0
0
1
1
2
0
0
2
-1
4
0
0
1
-1
0
0
0
1
4
-2
0
0
0
3
0
0
0
0
-19
1
0
0
13
49
-23
0
0
-13
-10
10
0
0
-1
15
-22
0
0
6
30
15
0
0
-6
6
9
0
0
-3
7
-11
0
0
11
-10
3
0
0
10
40
-7
0
0
-37
-4
36
0
0
-4
24
-27
0
0
31
5
-14
0
0
31
-30
-31
0
0
-6
-10
11
0
0
30
-4
-31
0
0
3
-3
2
-4
12
3
-20
18
0
0
29
-6
18
0
0
-28
8
19
0
0
-11
-13
8
0
0
-5
0
8
0
0
0
0
3
0
0
0
3
-4
0
0
0
-1
0
0
0
21
-13
-6
0
0
3
30
-1
0
0
3
-2
1
0
0
-1
-4
0
0
0
25
-1
0
0
0
0
0
0
0
0
0
-2
-2
0
0
-2
-2
0
0
0
-12
0
0
0
0
-28
17
11
0
0
7
-8
-6
0
0
-20
15
-25
0
0
6
-3
-8
0
0
4
-19
-4
0
0
3
-22
2
0
0
-4
-10
-2
0
0
-8
-19
-2
0
0
-17
-6
14
0
0
11
14
27
0
0
-24
52
-27
0
0
22
-12
-4
0
0
-22
-28
2
0
0
3
-18
7
0
0
10
-46
6
-25
0
-19
4
-6
0
0
4
19
11
0
0
-2
33
-9
0
0
1
-12
0
0
0
3
41
41
0
0
0
2
0
0
0
1
-4
-1
0
0
-1
-1
0
0
0
10
3
-17
0
0
-6
-24
2
0
0
-7
3
-6
0
0
-2
2
0
0
0
-13
-1
1
0
0
0
-2
-1
0
0
0
-9
0
0
0
0
1
3
0
0
6
-25
-7
0
0
27
2
20
0
0
-59
35
-35
0
0
17
-11
-27
0
0
-36
5
-9
0
0
8
0
4
0
0
9
-4
0
0
0
0
-13
-7
0
0
-18
-41
16
0
0
46
-17
-14
0
0
-41
5
-18
0
0
-44
17
42
0
0
-26
60
14
0
0
-10
2
17
0
0
-3
9
-7
0
0
-3
3
15
1
-11
-1
0
10
0
0
-15
16
-7
0
0
6
12
-12
0
0
24
-5
18
0
0
7
21
-18
0
0
5
-6
0
0
0
3
-8
2
0
0
0
-2
0
0
0
-40
1
-1
0
0
8
-1
1
0
0
0
9
1
0
0
3
3
-1
0
0
4
-12
1
0
0
2
0
-1
0
0
-1
0
0
0
0
0
2
0
0
0
0
11
-1
0
0
28
6
-4
0
0
-21
30
9
0
0
-24
5
13
0
0
-24
-19
1
0
0
-13
1
4
0
0
-1
-1
8
0
0
-1
-29
1
0
0
15
26
-27
0
0
-10
9
1
0
0
4
22
-6
0
0
-11
-30
-2
0
0
-10
-3
27
0
0
36
-10
-13
0
0
-15
-39
36
0
0
32
14
9
6
-5
20
3
-61
0
0
-10
34
6
0
0
29
-2
2
0
0
-2
25
11
0
0
2
5
-12
0
0
-10
-2
0
0
0
-15
2
-4
0
0
0
-7
0
0
0
11
-11
3
0
0
10
4
0
0
0
3
-1
1
0
0
3
-17
1
0
0
-10
10
-4
0
0
0
-2
1
0
0
0
1
0
0
0
-3
-4
0
0
0
-11
-16
-4
0
0
-1
16
22
0
0
41
-6
11
0
0
-19
28
1
0
0
-11
-27
2
0
0
-6
-3
-8
0
0
0
2
15
0
0
-4
-16
2
0
0
-20
30
1
0
0
28
26
38
0
0
-36
-8
7
0
0
35
48
-44
0
0
35
-38
-7
0
0
-19
9
-13
0
0
-25
-33
-3
0
0
11
-27
-13
31
5
-37
-60
-3
0
0
14
75
-6
0
0
16
-2
36
0
0
-11
-25
3
0
0
3
-16
-9
0
0
10
-23
1
0
0
1
13
0
0
0
1
9
1
0
0
-21
11
2
0
0
-24
13
1
0
0
2
9
4
0
0
8
19
-4
0
0
-5
-26
-14
0
0
2
2
-2
0
0
-1
8
1
0
0
0
9
-4
0
0
6
7
0
0
0
-17
5
-4
0
0
21
-12
-7
0
0
41
0
15
0
0
11
-30
1
0
0
-53
-32
-27
0
0
-20
-36
13
0
0
7
17
-12
0
0
-17
-46
21
0
0
-9
88
-17
0
0
-5
-26
18
0
0
74
11
-12
0
0
9
-17
-11
0
0
2
-2
-6
0
0
-7
-32
4
0
0
-15
-1
5
-19
-9
-8
-78
29
0
12
10
-4
3
0
18
-11
1
24
0
15
27
8
15
0
11
40
20
8
0
11
-18
43
-13
0
-1
15
13
1
0
-14
2
28
4
0
16
-18
-18
14
0
33
-6
-6
-16
0
20
17
-4
-11
0
3
8
-19
10
0
-33
7
5
9
0
4
12
-8
-6
0
0
-2
-24
-11
0
-10
-12
3
19
0
-5
-9
11
-13
0
-12
-11
5
4
0
-3
2
-3
-15
0
1
0
-1
0
0
-12
0
-25
1
0
-6
-4
15
6
0
0
-2
-12
-2
0
0
0
2
-4
0
0
3
-10
1
0
-6
-7
9
13
0
3
18
3
-10
0
0
-4
12
3
0
0
-1
-3
2
0
4
-1
40
-1
0
0
1
2
-1
0
-41
16
14
13
20
-38
-15
12
9
0
18
24
-24
3
0
0
-12
24
1
0
-1
8
44
15
0
-10
-28
2
15
0
10
23
-23
11
0
35
-3
-48
-18
0
-11
-6
-6
6
0
-36
1
23
9
0
4
-24
-20
6
0
4
21
-6
10
0
-10
-25
13
-4
0
-23
15
-7
0
0
0
-2
8
2
0
-12
-2
3
-1
0
0
2
20
-16
0
4
16
-8
-18
0
0
-8
0
0
0
-8
-1
14
12
0
-1
-3
-4
-1
0
6
0
7
-6
0
0
1
0
2
0
1
0
-3
3
0
0
0
-3
0
0
-1
15
4
3
0
-1
-11
5
1
0
3
-17
11
-26
0
0
-6
-36
0
0
10
8
-4
0
0
-2
0
16
0
0
4
-7
-12
-8
0
11
-10
-2
0
-1
10
17
-3
-18
0
-37
32
18
28
0
8
50
10
-11
0
12
-27
6
-9
0
44
39
-34
18
0
1
-13
-13
-8
0
-13
16
4
0
0
-8
-8
-29
2
0
4
-10
-7
-13
0
-2
12
-3
2
0
-37
-10
-24
2
0
12
-12
-6
-8
0
3
-11
-5
-9
0
-1
2
11
3
0
0
2
10
-3
0
-19
24
12
0
0
-28
-17
23
3
0
6
-6
-4
0
0
-1
-1
6
-1
0
0
0
-2
4
0
9
-4
-9
0
0
0
1
8
-10
0
0
1
-28
0
0
0
1
-3
1
0
-2
2
9
0
0
4
-9
10
0
0
0
-1
-1
0
0
0
7
9
2
0
8
-8
2
0
0
1
11
21
-8
0
2
-13
-28
15
0
-1
-6
8
-2
-26
8
29
-20
9
0
6
19
8
12
0
-18
16
-3
-7
0
41
-13
2
-5
0
2
43
7
17
0
-20
12
25
1
0
41
-24
23
1
0
-14
-3
27
12
0
-4
-5
31
-10
0
-6
17
6
2
0
-16
-6
-7
-4
0
-36
3
27
10
0
-7
6
2
-10
0
-2
-8
-16
0
0
3
-6
6
-1
0
-2
0
-9
4
0
31
10
-1
-1
0
2
-6
4
0
0
0
7
-7
3
0
2
-3
9
0
0
-16
-4
-18
-2
0
-1
-4
-2
0
0
3
1
-14
2
0
1
-1
0
0
0
0
-12
-6
4
0
-7
-2
9
0
0
2
-2
-6
-3
0
-1
0
-6
-3
0
0
16
-10
-9
0
0
0
10
-6
0
0
-12
22
-8
0
18
20
-6
8
-7
-7
-2
-5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-3
0
58
-16
9
2
0
22
5
-9
-3
0
29
0
-2
0
0
13
0
0
2
0
-13
2
-10
3
0
-1
1
2
0
0
-19
-4
5
-7
0
-11
25
7
-4
0
5
20
-34
29
0
10
12
-3
-6
0
-8
20
2
-13
0
12
18
10
-8
0
-8
0
7
-1
0
-1
3
-9
0
0
-24
1
-2
-7
0
18
-28
-1
2
0
-20
-4
19
1
0
-10
11
11
0
0
-14
-3
1
0
0
18
21
-11
0
0
-3
-1
19
-1
0
-2
-2
0
0
0
6
-12
0
1
0
-8
-15
50
-3
0
-7
14
10
-7
0
3
13
8
-2
0
20
-12
-4
-6
0
-11
-12
-21
-2
0
2
4
-12
0
0
-8
14
-22
1
9
-16
-18
10
7
0
-4
11
-11
6
0
24
34
13
2
0
-10
-6
-11
-11
0
-2
-14
-7
-4
0
11
2
1
-16
0
-19
-8
20
3
0
0
-4
0
0
0
-39
27
0
4
0
-20
-20
-15
-7
0
8
16
-41
4
0
-1
0
-32
1
0
1
13
4
6
0
2
-3
-2
-2
0
6
-6
6
3
0
0
-10
-2
0
0
-8
-1
3
-1
0
6
-4
-11
0
0
-18
32
-6
-13
0
-1
0
1
1
0
17
4
-3
6
0
0
-6
4
0
0
2
-7
12
0
0
0
0
0
0
0
0
1
1
1
0
-29
13
-9
-1
0
12
-23
5
0
0
-2
-15
1
0
0
7
9
8
-7
0
6
-11
56
-12
0
21
2
0
-10
0
6
0
-10
-2
7
-2
16
-15
-5
0
-12
23
22
-4
0
-25
-2
-25
2
0
-1
-30
-6
3
0
-38
12
9
-8
0
3
-16
17
0
0
-6
-4
-1
1
0
-6
-10
-12
0
0
11
-4
-12
-1
0
8
-4
4
-12
0
32
1
-11
-2
0
3
-17
-1
2
0
-4
-8
6
4
0
-4
3
14
-3
0
0
0
7
-1
0
-7
1
0
0
0
-11
4
-3
8
0
10
-16
0
3
0
-13
-7
-1
-6
0
0
-1
-10
0
0
0
-4
27
2
0
0
0
1
0
0
1
1
-1
0
0
0
0
0
0
0
-3
6
6
0
0
10
2
-4
-1
0
-11
-3
19
0
0
2
10
-17
-10
0
4
10
-1
0
0
13
8
-25
-15
0
0
2
9
0
0
1
0
-7
-3
6
1
18
11
-6
0
26
1
6
0
0
-9
7
-13
-1
0
-16
-11
7
-7
0
1
3
-16
-2
0
20
-10
1
0
0
1
-1
15
1
0
3
0
-8
0
0
-2
9
10
-7
0
-15
-2
16
-3
0
16
-7
6
-2
0
3
1
-18
0
0
7
13
-9
-10
0
-8
3
2
0
0
3
-29
-1
3
0
-2
-3
11
2
0
11
-7
27
0
0
-1
-6
-12
2
0
-15
14
-4
-4
0
0
-8
1
-2
0
-14
5
-26
1
0
0
-2
3
0
0
1
-1
2
0
0
0
2
-1
-2
0
-1
3
-5
-1
0
-6
-17
-7
-1
0
11
-2
-16
-2
0
1
12
-4
-1
0
-17
-1
1
0
0
0
0
-12
0
0
0
9
5
2
0
-9
0
-30
1
11
-16
-7
-13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
11
1
9
0
-26
2
7
-8
0
-5
-4
22
-1
0
15
4
3
6
0
6
-1
20
0
0
-3
1
-2
0
0
-1
2
1
0
0
9
-15
-7
1
0
27
26
-18
29
0
29
-8
0
9
0
-10
-13
-35
-25
0
-2
-22
7
-1
0
-7
3
0
1
0
-1
9
-8
-7
0
11
-14
21
4
0
16
0
1
-3
0
8
-12
15
4
0
-28
49
15
-6
0
-24
15
-23
-27
0
37
-40
-28
32
0
30
18
10
26
0
-22
-40
5
17
0
1
19
36
-31
0
-5
-14
-9
9
0
12
10
42
-17
0
-40
23
0
-10
0
-7
-34
-3
-46
0
-33
10
-18
26
0
26
-1
44
50
0
-7
4
10
13
0
-45
7
9
22
19
21
-38
-65
-18
0
-10
6
-17
5
0
-16
13
21
-6
0
-1
-11
0
-4
0
4
-23
-13
2
0
-10
2
2
-2
0
-3
-5
2
0
0
0
-1
1
1
0
8
-5
1
0
0
4
15
-2
21
0
-40
26
1
12
0
16
21
-3
-1
0
14
36
5
-7
0
8
15
-4
1
0
0
-17
-7
-9
0
0
1
12
13
0
-6
11
-9
-1
0
18
23
12
-29
0
-8
-47
21
-10
0
39
-7
-16
22
0
-83
43
7
27
0
12
5
-63
-24
0
1
9
-18
-33
0
-7
-37
-9
-5
0
50
-10
13
-17
0
33
21
3
-5
0
27
-3
-14
12
0
-11
-15
4
25
0
-13
8
48
-28
0
-1
0
-23
0
0
-25
1
-29
-22
0
-34
-16
-56
0
-20
-11
-11
31
-5
0
-19
-11
-5
1
0
9
-15
-10
1
0
9
6
29
6
0
-13
-35
-3
2
0
-3
4
-3
2
0
0
-1
-19
0
0
-1
-1
2
0
0
-5
0
-25
-3
0
0
4
-5
-2
0
-14
-7
8
-1
0
15
-11
-8
0
0
0
-8
-11
0
0
0
-2
2
0
0
0
0
12
0
0
-1
-3
-1
-1
0
-22
-3
-8
-1
0
-1
8
-20
9
0
1
-40
40
-26
0
-46
19
16
-8
0
-38
-52
6
-8
0
47
6
-23
14
0
7
-26
-25
7
0
-6
18
-12
-28
0
-45
34
-44
-1
0
11
15
-12
-6
0
1
-4
7
2
0
-4
-25
1
-8
0
8
-4
-1
-5
0
-2
26
-18
5
0
-2
36
13
10
0
15
-24
21
1
-22
-26
34
68
-7
0
3
-3
6
1
0
-10
13
-8
0
0
4
13
2
9
0
17
8
23
4
0
3
0
0
0
0
7
-11
0
-4
0
1
-2
4
0
0
28
14
-6
3
0
-3
-25
-1
3
0
-11
-16
-18
0
0
0
10
0
0
0
-18
-24
0
-11
0
0
2
4
0
0
-3
-10
-8
0
0
0
-7
3
-4
0
-15
25
-30
-8
0
-22
19
17
-2
0
3
17
-14
15
0
39
5
-24
-24
0
11
13
-20
14
0
-62
3
-16
16
0
-4
-26
22
12
0
11
16
27
-24
0
-40
21
10
-30
0
-12
-23
7
6
0
-3
-7
-43
6
0
8
-36
-42
3
0
-19
-6
-29
-10
0
2
-42
5
-1
0
-9
-12
39
2
0
-17
-14
-31
4
-19
36
-15
-8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
18
0
-4
22
1
-4
0
7
-4
14
10
0
1
-6
-2
1
0
5
-1
8
0
0
-10
-3
-1
-7
0
-1
5
2
0
0
-2
16
-1
-3
0
-9
18
12
3
0
-5
7
-2
0
0
8
19
10
-7
0
3
-7
0
-2
0
28
16
0
2
0
21
3
-13
3
0
-25
-16
0
3
0
8
26
14
-8
0
27
-35
-4
11
0
53
-2
1
11
0
-15
-41
-1
19
0
4
21
-12
0
0
-9
8
-20
1
0
23
-17
-50
0
0
-12
-15
5
13
0
6
-13
-2
3
0
13
17
20
3
0
-8
20
11
-36
0
7
-27
-14
-33
0
-25
9
-7
-4
0
-5
-11
4
12
0
-1
38
14
21
0
24
-18
-4
20
2
-30
-10
-51
-27
0
56
11
11
-1
0
-51
16
3
1
0
-20
-1
2
0
0
-14
6
24
-1
0
-3
-27
10
-4
0
-4
0
3
0
0
0
-1
0
1
0
-3
-5
1
0
0
9
-8
-3
-1
0
-2
3
8
1
0
-1
-12
-29
1
0
-31
-12
18
1
0
-7
-3
-4
0
0
-7
22
-6
2
0
-2
6
6
10
0
-28
3
-28
7
0
-14
7
-3
15
0
47
-14
14
4
0
61
-35
-6
0
0
20
-5
1
3
0
18
-18
-5
22
0
14
-12
5
-19
0
15
0
12
-6
0
2
6
-17
7
0
-28
35
23
-12
0
5
6
41
7
0
-19
-12
-22
12
0
-21
0
40
-1
0
-7
-9
15
-31
0
7
3
12
-3
0
21
-37
-6
-38
8
-5
-16
-5
42
0
9
-8
19
2
0
0
-6
3
1
0
-6
1
-15
-2
0
5
-18
8
-1
0
7
3
4
0
0
9
0
16
-1
0
28
2
0
0
0
-18
6
0
0
0
8
0
4
0
0
-2
-11
0
0
0
0
-7
0
1
0
6
-8
-4
2
0
1
-7
21
-6
0
-2
0
0
0
0
9
-4
0
1
0
7
16
-24
10
0
17
17
-41
-16
0
-71
6
-11
6
0
-4
-32
-4
-1
0
-39
0
-8
-24
0
8
16
-5
-3
0
7
5
-8
-16
0
-4
4
39
-7
0
0
24
8
10
0
10
-18
-54
39
0
26
-12
-65
-6
0
-18
7
-5
10
0
-1
6
43
-4
0
-54
37
-56
-1
0
1
-30
12
22
0
33
-9
31
13
-24
9
-34
38
-16
0
-8
-5
0
0
0
4
0
0
1
0
4
-10
0
0
0
18
-14
-22
-1
0
-17
0
0
0
0
-25
-12
6
0
0
-2
0
-1
-3
0
-15
1
15
0
0
11
11
-8
-1
0
-9
-26
-13
1
0
0
6
0
0
0
-25
-18
-2
-6
0
-13
5
-1
0
0
6
1
-34
1
0
-1
18
0
2
0
31
-25
12
-7
0
-61
-14
19
-17
0
25
-16
16
-8
0
-13
11
5
-4
0
-22
-3
1
-3
0
21
-9
-12
3
0
26
-4
2
-13
0
0
11
4
0
0
-32
5
4
-12
0
-52
16
36
31
0
1
16
-44
23
0
13
-9
13
-26
0
-14
5
45
-17
0
63
-9
-40
34
0
7
-5
14
-25
0
29
3
9
-32
-9
-12
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
11
-13
3
0
29
33
8
-25
0
19
-12
1
-12
0
7
0
3
2
0
-13
15
1
-16
0
3
12
9
16
0
4
6
21
0
0
-21
24
7
0
0
2
-10
-24
-9
0
2
0
0
16
0
1
-16
0
6
0
-4
2
-6
13
0
2
3
7
-2
0
0
0
20
-4
0
7
-2
14
4
0
7
13
-14
-1
0
7
0
10
-1
0
0
-3
1
0
0
-2
1
-4
0
0
1
0
0
1
0
0
15
4
-10
0
0
0
-9
1
0
0
6
4
0
0
0
21
3
0
0
0
2
-3
2
0
0
-3
11
0
0
0
0
3
0
0
0
-2
1
0
0
6
18
10
-15
0
0
0
6
7
0
-6
1
-14
7
38
-7
1
28
6
0
33
6
-38
0
0
4
-20
0
22
0
2
24
14
1
0
-8
-7
10
-20
0
0
-30
13
-10
0
-6
8
15
-8
0
-16
0
0
3
0
10
1
-3
10
0
2
-4
-6
-1
0
-3
19
-17
-2
0
2
7
-6
1
0
-1
-3
21
0
0
2
13
-6
6
0
0
-2
-1
-3
0
1
15
7
4
0
19
-10
39
4
0
0
-6
-2
0
0
4
0
13
0
0
0
0
0
0
0
0
11
0
-1
0
0
1
1
2
0
0
2
7
2
0
0
0
1
-2
0
0
0
3
3
0
0
-3
-13
-1
0
1
-7
6
-4
0
0
0
-11
0
0
0
0
-1
1
0
-4
-3
10
1
0
27
-6
1
8
0
-25
0
10
-10
26
-2
18
-8
2
0
50
-12
-24
15
0
-26
-12
-3
-18
0
-3
24
27
-7
0
-27
18
-13
-6
0
-25
8
-20
0
0
3
-2
-6
-1
0
-10
-4
-10
8
0
33
-17
-7
-3
0
-4
4
-7
-3
0
3
-7
0
7
0
-2
30
3
-2
0
-2
0
16
0
0
0
2
3
1
0
0
2
0
0
0
0
2
-3
3
0
-2
4
-4
-9
0
-4
2
6
1
0
0
2
-1
-1
0
0
-3
11
0
0
-1
0
-3
0
0
0
1
1
0
0
0
-1
0
0
0
0
1
2
0
0
0
0
7
0
0
1
-12
-6
0
0
0
1
-1
0
0
-1
2
9
1
0
2
9
0
-1
0
0
-2
-12
1
0
2
0
9
0
0
19
-3
7
2
4
-4
-16
-18
12
0
-12
-63
-2
2
0
44
20
-4
-15
0
6
-29
20
3
0
60
27
23
2
0
11
-9
15
0
0
-2
6
-1
-6
0
-21
0
7
-1
0
-2
-3
11
2
0
4
6
6
1
0
0
8
-9
-1
0
-1
28
11
-6
0
-16
-24
9
7
0
0
2
4
0
0
1
-1
-4
1
0
-1
-1
13
0
0
-10
24
21
4
0
-2
-6
-2
-1
0
1
-1
1
-2
0
1
3
-4
0
0
-2
3
-7
2
0
0
-8
0
1
0
0
-1
4
0
0
0
3
-1
-1
0
-1
10
11
0
0
-1
0
1
2
0
0
0
-16
0
0
0
-1
3
-1
0
0
6
-2
0
0
-2
8
-3
0
0
-3
6
-6
0
0
-8
3
6
0
-19
-17
-16
21
-1
0
32
-7
5
1
0
-2
10
14
2
0
-8
14
8
-10
0
34
-1
6
-6
0
7
-4
-9
0
0
11
-1
-7
1
0
4
-3
3
1
0
-36
-10
12
0
0
-27
17
8
0
0
-9
-8
-21
2
0
0
-3
3
3
0
0
-2
-12
-3
0
0
8
0
3
0
0
0
3
6
0
1
0
-2
0
0
-2
0
3
-2
0
8
-27
-13
3
0
4
-1
-2
-6
0
0
-1
0
0
0
1
0
1
-2
0
0
0
14
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-1
-2
0
0
1
-3
0
0
0
0
1
-1
1
0
0
0
1
0
0
0
0
0
0
0
-6
2
7
-1
0
0
-1
-8
-3
0
-1
-1
-9
0
-9
-1
-2
6
-1
0
-6
1
8
10
0
-13
-5
-32
6
0
12
-13
13
0
0
48
5
12
-3
0
15
-8
16
2
0
46
9
-14
-2
0
-1
-1
-1
0
0
17
16
12
0
0
0
-6
-3
0
0
-10
-2
13
1
0
1
-3
-1
-1
0
-15
1
4
0
0
-8
0
11
0
0
2
2
-8
-2
0
1
0
-2
0
0
-6
-1
5
0
0
11
-18
-19
1
0
-16
0
-8
-1
0
-2
-1
0
1
0
-6
2
0
0
0
1
-2
0
0
0
0
2
-9
2
0
0
0
0
0
0
-7
1
0
0
0
0
3
-2
3
0
2
-3
0
-3
0
0
-1
-2
0
0
0
0
-6
0
0
-3
-4
1
0
0
-4
1
11
1
0
-7
0
1
0
17
7
2
0
0
0
21
7
6
-15
0
18
1
-1
0
0
-6
6
-29
1
0
-24
22
24
-10
0
-2
-3
-7
0
0
3
-2
2
-1
0
-10
-11
0
0
0
26
-1
-2
0
0
0
26
2
0
0
0
0
0
0
0
0
10
-1
1
0
0
-1
0
1
0
0
-1
1
-1
0
0
0
0
0
0
1
0
0
0
0
-1
0
-4
0
0
-1
0
-1
0
0
-1
7
1
-1
0
0
0
-1
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
0
-1
0
0
-1
0
-4
0
-9
-6
9
5
-2
0
24
-11
13
4
0
-53
34
-4
2
0
22
18
-3
-3
0
-23
-15
13
13
0
28
17
7
0
0
12
-21
-4
-1
0
-3
1
0
0
0
-28
16
-18
-2
0
-1
-15
10
1
0
-1
-6
2
-1
0
-1
1
0
0
0
-3
2
4
-3
0
-3
0
0
0
0
0
-1
0
-2
0
-1
0
7
-2
0
-12
-3
-20
1
0
0
-5
7
1
0
13
-3
-16
-8
0
2
6
0
0
0
1
8
-3
-2
0
0
-8
-7
0
0
0
2
4
2
0
0
1
0
0
0
-2
7
-2
0
0
0
-7
3
1
0
0
2
0
0
0
0
0
1
0
0
1
-4
-3
-1
0
0
1
-8
1
0
0
-9
1
1
0
0
3
3
0
-1
25
-1
16
0
0
-8
32
-9
-2
0
15
-3
2
-4
0
-2
-37
-3
2
0
-10
-7
2
8
0
-1
-1
27
1
0
1
-13
-22
0
0
-2
-3
0
0
0
-11
1
3
1
0
1
-13
-4
21
0
51
9
-2
-5
0
2
-9
5
6
0
13
32
6
-3
0
-2
10
21
4
0
0
7
9
-2
0
-3
6
7
-1
0
14
19
-1
10
0
17
0
-10
0
0
4
-2
3
0
0
0
1
1
0
0
0
-3
1
0
0
2
0
-3
7
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
-9
-3
-3
-1
0
-6
-1
1
0
0
0
0
12
0
0
2
-1
7
-1
0
-3
6
-9
9
0
0
6
-1
-4
0
1
17
-4
2
-5
0
10
-16
2
0
43
-14
4
9
0
-26
-2
-6
2
0
-4
0
0
1
0
-26
-9
11
0
0
-25
9
12
-1
0
2
-21
-8
-1
0
-4
0
6
0
0
26
-4
2
0
0
17
-2
-1
-8
0
21
12
-10
8
0
1
-18
-9
0
0
-24
9
16
-2
0
4
1
-19
-1
0
-11
13
2
-7
0
-4
1
6
-1
0
9
-8
10
-1
0
-1
0
1
0
0
6
3
0
0
0
1
0
-1
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-1
0
4
-7
0
1
0
0
0
1
0
0
-3
0
1
2
0
-1
9
-2
0
0
7
3
8
-8
0
-4
-6
0
-1
4
10
17
-15
14
0
-27
37
15
3
0
-20
28
-30
3
0
-15
-2
-6
12
0
20
5
-10
1
0
20
-5
-9
1
0
-3
3
-1
-1
0
9
4
-2
0
0
1
2
12
1
0
24
-17
3
8
0
-32
-2
6
4
0
15
-20
7
-10
0
10
-20
-1
-2
0
0
3
-11
1
0
0
-3
0
4
0
-4
6
21
10
0
-14
4
-11
-1
0
0
9
0
-1
0
-1
1
0
-2
0
0
-1
1
0
0
-8
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
-1
0
0
-1
-8
3
-3
0
-1
0
0
-1
0
2
-4
-4
0
0
0
-1
0
1
0
0
0
17
-6
0
0
-7
0
1
0
12
-8
-6
0
3
5
4
7
-8
0
0
28
0
3
0
-23
25
6
4
0
17
8
16
4
0
19
-21
2
7
0
-2
-10
6
-3
0
-12
-15
2
3
0
32
-3
1
0
0
-11
9
-1
1
0
1
5
9
-3
0
-4
9
-4
-2
0
3
6
-15
-3
0
-15
-5
-11
-10
0
0
2
1
0
0
7
8
-13
2
0
0
6
-10
0
0
9
-12
-9
-9
0
0
1
2
2
0
-3
2
0
0
0
0
-1
0
0
0
-9
2
-1
1
0
0
0
0
-1
0
0
1
-1
0
0
0
0
0
0
0
0
9
-2
0
0
0
6
1
1
0
4
0
0
-2
0
0
3
1
0
0
13
-1
-24
0
0
0
-7
0
0
0
0
-1
20
0
0
0
-3
-16
0
28
-21
8
-20
-9
0
27
-34
3
7
0
-23
9
12
-25
0
19
12
-24
10
0
-1
16
-7
2
0
1
9
1
0
0
-8
-2
15
0
0
0
-1
1
0
0
-13
-1
-1
-1
0
26
26
10
-2
0
-20
12
-1
3
0
-2
3
20
1
0
1
-4
-4
0
0
-1
13
-4
0
0
6
0
-2
1
0
-1
-1
1
-1
0
-4
7
1
1
0
1
11
2
-2
0
6
4
14
-7
0
0
-1
1
0
0
-2
0
1
0
0
0
-1
1
1
0
0
0
-2
0
0
-1
0
0
0
0
0
1
2
-1
0
-2
-8
16
-1
0
0
2
2
0
0
0
0
-3
0
0
2
-4
1
0
0
0
0
-13
-2
0
0
1
3
2
0
-1
0
1
2
1
-4
1
-7
0
0
-1
29
27
-1
0
12
-2
12
6
0
6
6
0
-2
0
7
-6
-9
6
0
-6
-3
3
0
0
2
-1
7
1
0
1
1
-2
0
0
-15
0
7
0
0
6
-4
-1
-2
0
3
22
-1
0
0
0
-4
-28
2
0
-45
1
10
0
0
2
-6
0
-1
0
1
-12
-6
-3
0
0
-2
3
0
0
0
-4
-14
0
0
2
-3
3
0
0
-11
0
4
0
0
0
-1
0
0
0
3
0
-1
0
0
1
0
1
0
0
0
0
-7
-1
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
0
0
-1
4
7
-1
0
0
4
1
0
0
1
0
0
0
0
1
2
7
0
0
-2
-3
-1
2
0
0
0
0
1
-23
15
-1
0
3
0
-1
9
10
3
0
-24
45
1
11
0
26
-13
10
0
0
24
-13
2
2
0
-1
-27
2
-1
0
-4
0
-6
0
0
6
0
-19
0
0
-4
-2
-17
0
0
-24
26
2
1
0
-1
0
-21
-2
0
1
-14
4
-1
0
3
-3
8
0
0
0
1
0
1
0
0
0
-3
0
0
0
3
0
0
0
-6
-5
11
0
0
8
9
-7
1
0
11
-6
-4
0
0
-6
6
-6
2
0
11
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
1
0
1
0
0
0
-3
-1
0
0
0
0
1
0
0
0
-1
-8
-1
0
1
0
0
1
0
0
-10
0
-1
0
0
0
-3
0
0
2
-2
12
0
-31
-8
-5
2
3
0
19
22
-15
-25
0
-17
-23
23
6
0
36
5
24
4
0
13
-11
-5
0
0
11
-22
9
-1
0
-20
21
-3
-4
0
-1
3
1
0
0
15
-4
10
-1
0
2
-36
-3
-10
0
-13
-3
-17
1
0
-21
9
-3
1
0
-35
9
-23
3
0
0
-7
2
0
0
0
1
6
0
0
0
0
0
0
0
-10
10
6
-1
0
-36
0
5
-2
0
-16
-5
44
1
0
2
3
8
0
0
-1
-2
7
-4
0
1
3
-2
0
0
2
-2
6
0
0
0
-1
-12
0
0
-4
2
0
0
0
-3
11
-8
8
0
6
0
-5
1
0
1
12
2
0
0
1
2
1
-3
0
0
0
3
-2
0
-2
-1
6
-1
0
2
2
-2
0
-12
-11
-6
-24
2
0
-1
7
-4
7
0
74
6
9
1
0
-4
0
1
-4
0
0
-4
3
0
0
10
3
-2
0
0
0
1
-2
-2
0
0
3
0
0
0
13
9
3
1
0
-3
-8
8
0
0
-2
0
0
0
0
0
-4
0
0
0
1
0
0
0
0
-6
0
-7
3
0
0
-1
0
1
0
-3
-2
-2
1
0
2
4
9
6
0
29
-5
-35
-24
0
-3
-6
-30
-39
0
4
59
21
26
0
-33
90
-8
52
0
4
-2
-44
8
0
7
7
20
-21
0
18
-14
46
-26
0
23
-6
10
-30
0
12
-13
27
0
0
-6
22
-5
7
0
1
16
-20
-30
0
-4
4
8
-8
0
6
-5
40
28
0
0
-2
-17
15
0
-34
2
55
49
27
-15
21
-1
-3
0
15
6
2
0
0
5
0
18
7
0
-4
-2
3
3
0
-10
6
-2
6
0
6
-7
-6
0
0
3
0
-6
-1
0
0
0
0
0
0
-15
-3
8
-2
0
0
2
-6
-1
0
-3
0
-1
0
0
0
0
0
-1
0
-6
-2
1
-1
0
-2
-10
4
0
0
1
27
-21
0
0
-2
-12
1
1
0
-18
15
9
0
0
104
-13
-3
-30
0
-43
91
1
-25
0
15
0
25
14
0
4
-2
6
-15
0
-32
-10
-18
2
0
9
-27
20
8
0
0
0
-13
15
0
15
-30
23
-8
0
10
-18
25
-4
0
14
-4
-1
-22
0
0
-22
-30
1
0
0
-2
5
0
0
-2
-24
-25
36
0
-7
30
10
8
0
-10
-32
16
-20
4
-19
-25
-37
-9
0
9
0
-7
-2
0
7
4
-9
2
0
-2
4
-2
0
0
-9
-2
-1
-1
0
-2
3
-4
1
0
-1
0
1
0
0
-2
1
0
0
0
-3
-3
-7
1
0
4
-6
0
0
0
-1
0
0
0
0
0
-1
0
0
0
3
0
1
0
0
1
0
-2
0
0
0
0
0
-1
0
4
-15
3
2
0
-4
30
2
-2
0
7
-87
55
-1
0
13
-8
-18
-1
0
42
-22
-50
-12
0
13
-8
6
-9
0
13
-8
15
8
0
4
-6
-1
-8
0
-7
14
29
-41
0
-5
40
-13
-11
0
-9
-13
-1
-2
0
0
6
-6
2
0
-2
20
29
-9
0
-16
1
-6
-1
0
0
-12
20
16
0
-1
6
18
-1
0
7
-6
-36
-8
-32
-10
33
-5
4
0
-6
4
4
0
0
0
10
-2
0
0
-15
6
-4
0
0
5
-18
-1
4
0
-10
0
29
0
0
2
6
3
-1
0
0
-4
-1
1
0
-21
0
-3
0
0
1
-4
0
0
0
2
1
-1
0
0
0
0
-1
0
0
0
7
2
0
0
0
-2
-1
0
0
0
-1
-1
-1
0
0
0
0
1
0
29
2
-30
7
0
-26
-7
-24
-16
0
-9
33
10
25
0
48
-30
-31
-15
0
-62
14
-6
34
0
-11
-16
8
-3
0
7
-13
-7
-8
0
12
-12
-11
11
0
20
20
-18
-24
0
0
11
6
1
0
0
-6
-25
-12
0
2
-37
-3
0
0
-3
1
76
7
0
-1
24
21
-15
0
0
24
3
0
0
4
-25
-37
-6
-1
45
7
30
-11
0
-8
27
-7
-2
0
6
-8
8
-9
0
-4
-3
-2
0
0
18
9
-8
2
0
2
-4
1
0
0
1
1
6
0
0
0
0
0
0
0
3
-3
-4
0
0
0
-1
-8
-2
0
-1
0
-1
2
0
0
1
0
0
0
0
-1
1
0
0
0
0
3
0
0
1
0
2
-2
0
0
0
-3
0
0
-17
-3
3
1
0
-7
-3
-14
2
0
17
-29
-35
6
0
14
-3
-38
-4
0
-46
-7
12
1
0
20
1
7
1
0
-8
2
3
1
0
9
-9
-15
6
0
4
-14
-28
11
0
25
27
7
-11
0
2
-2
-11
3
0
0
2
9
1
0
0
1
-3
0
0
1
-8
-20
-19
0
0
6
20
-2
0
-5
0
-2
0
-11
20
-26
42
9
0
19
15
-1
-1
0
-8
16
-3
-2
0
3
0
0
1
0
2
12
3
-1
0
6
-10
-2
0
0
-4
7
1
-2
0
0
1
-2
0
0
-16
1
-8
0
0
0
1
0
1
0
1
-3
0
0
0
0
0
0
0
0
0
-1
1
-1
0
1
0
1
0
0
0
-8
-1
0
0
1
2
0
0
0
-18
4
-1
-2
0
-15
33
-11
30
0
7
-28
4
15
0
1
-15
0
0
0
-2
3
-28
15
0
14
-12
-20
-13
0
-10
-12
34
0
0
-2
5
7
-3
0
1
-4
13
21
0
2
3
16
0
0
0
2
-2
-1
0
0
0
-4
0
0
0
-1
2
2
0
0
-18
22
11
0
7
1
27
-22
0
0
14
-32
-4
-19
-14
-2
26
9
0
-16
0
3
-1
0
18
2
2
1
0
3
-6
-4
0
0
-6
2
-2
0
0
6
3
1
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-8
0
0
1
-4
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
-2
0
0
0
0
26
-13
-3
8
0
-39
-34
32
12
0
-11
32
11
-2
0
17
-28
-4
-1
0
22
8
-25
3
0
-5
-29
-12
6
0
-2
4
18
-17
0
-7
3
-14
-2
0
-1
-1
-22
-3
0
0
0
-1
0
0
0
-8
-10
-8
0
0
0
0
0
0
-1
25
-28
-21
0
1
3
-2
-1
0
7
-4
-18
5
12
-12
-16
4
-3
0
-8
10
17
0
0
6
3
-6
3
0
3
7
-3
-1
0
-10
-6
-1
10
0
-4
1
-3
0
0
-1
-3
3
0
0
1
-1
0
0
0
7
1
3
-1
0
0
-1
0
0
0
-2
0
-4
0
0
0
0
0
0
0
3
0
4
0
0
0
-1
-2
0
0
0
3
-2
0
0
-2
1
0
0
0
4
-3
11
1
0
-22
-14
9
12
0
-16
23
7
12
0
-57
27
3
-18
0
35
-72
19
-18
0
-7
11
-10
10
0
-23
-23
-18
13
0
-19
6
3
-8
0
-15
-22
-14
15
0
-2
-14
-8
2
0
0
-6
-18
0
0
0
0
13
-7
0
0
7
-8
-3
0
-1
-45
24
1
0
0
-7
3
0
0
2
-9
4
6
13
32
12
-5
-9
0
0
26
4
-2
0
3
6
19
2
0
-9
-5
11
0
0
-34
4
2
0
0
0
15
1
0
0
0
4
-2
0
0
0
0
0
0
0
11
4
0
-6
0
22
4
-27
-1
0
7
-7
-2
2
0
-1
2
-29
0
0
11
0
20
1
0
1
8
11
-4
0
-1
1
9
0
0
-3
-1
-13
6
0
6
-29
7
3
0
10
27
-37
10
0
28
-21
32
3
0
17
-6
15
3
0
-16
-34
-2
-6
0
6
0
-4
-2
0
7
0
-47
4
0
-7
0
-4
15
0
-14
-2
2
7
0
1
26
32
-39
0
16
72
4
19
0
8
-52
38
37
0
-34
4
31
-10
0
-10
-17
18
-25
0
1
9
7
30
0
5
24
27
-1
7
-35
-48
-2
41
0
-11
38
-10
9
0
38
-8
15
-7
0
-2
2
12
0
0
12
-1
-29
-4
0
8
4
0
0
0
-7
-21
-8
0
0
0
-1
1
-1
0
-17
-3
-4
0
0
1
25
-2
1
0
21
-4
-8
-4
0
1
-6
0
0
0
12
4
0
2
0
3
-1
0
-1
0
0
-16
-4
0
0
0
2
0
-2
0
-6
-6
-7
-2
0
-5
25
-15
8
0
53
-47
1
2
0
-10
-15
8
-2
0
-20
30
8
0
0
-5
11
-21
9
0
-2
4
-1
0
0
0
-2
2
-2
0
-2
-9
-4
1
0
60
5
-15
9
0
-3
56
17
-6
0
-11
-41
-10
6
0
-2
61
-11
-9
0
-28
18
38
8
0
-38
19
-48
8
0
2
16
-24
-24
47
8
8
-34
-11
0
-5
16
8
-1
0
5
6
13
0
0
16
-29
10
2
0
1
-9
-1
-1
0
4
-7
-1
0
0
-1
-3
0
-1
0
0
0
0
3
0
-14
1
0
0
0
-3
3
0
1
0
-1
0
-1
0
0
3
17
-6
1
0
-10
0
-8
-1
0
1
3
2
-1
0
1
0
0
0
0
2
0
2
0
0
-7
-2
-3
0
0
16
28
29
19
0
33
1
5
-1
0
-27
-14
8
-8
0
-33
-6
-3
1
0
-4
2
-21
1
0
4
17
-12
-4
0
11
9
11
0
0
4
0
-10
-2
0
-13
20
4
29
0
-17
21
-2
13
0
-1
18
-29
-19
0
32
28
-2
9
0
32
-22
-5
-7
0
9
-16
22
-7
0
1
-30
19
3
1
-2
-76
35
-10
0
5
1
7
0
0
7
1
2
-4
0
3
-1
-18
0
0
41
6
3
1
0
2
1
0
0
0
1
-2
-1
0
0
-2
0
-1
0
0
-8
11
1
3
0
1
-9
-2
0
0
-8
-18
-2
0
0
-10
-7
1
0
0
-9
-10
2
0
0
0
0
-1
0
0
-2
3
-1
-2
0
0
1
0
0
0
1
4
-1
2
0
-14
41
8
1
0
-10
5
11
-4
0
-9
2
-4
0
0
-9
-12
-19
8
0
0
0
-1
-1
0
1
0
0
-1
0
0
0
0
0
0
-16
6
28
0
0
-9
5
58
33
0
-21
-9
6
-2
0
-6
-28
-29
-21
0
-21
-25
-20
-5
0
11
12
-16
22
0
4
-18
6
29
0
8
10
-24
-13
-12
-24
-42
-4
-29
0
-55
13
40
18
0
-7
-13
8
1
0
-15
-27
-6
0
0
4
-23
-27
0
0
17
-1
10
-3
0
27
11
-25
2
0
0
-1
11
-1
0
7
-10
-3
-2
0
37
38
9
9
0
5
-24
-4
8
0
0
-19
12
-6
0
0
-11
-4
8
0
9
13
0
0
0
0
1
24
0
0
0
7
0
0
0
5
-16
-14
-1
0
5
-20
15
-32
0
63
9
-21
20
0
-20
-1
-25
-8
0
-24
-16
0
-4
0
35
9
1
18
0
1
-9
-7
-2
0
0
20
-2
-8
0
-22
3
24
-1
0
-24
0
29
39
0
15
-3
20
-1
0
1
-4
-52
16
0
-37
-40
29
21
0
11
34
-25
-11
0
0
-12
13
-6
0
20
-18
0
-8
-13
-39
53
-18
-3
0
1
35
8
1
0
23
-12
-21
8
0
-15
-5
8
0
0
-49
29
-18
1
0
1
-1
3
-1
0
-26
-8
-12
1
0
-4
0
0
0
0
3
1
-6
0
0
-23
1
6
2
0
1
4
-4
-3
0
1
2
-3
0
0
16
3
-15
-2
0
0
-6
6
4
0
-6
-6
4
0
0
-1
-6
1
0
0
0
8
-2
-3
0
11
4
24
-8
0
-38
0
14
-14
0
2
-26
-3
-9
0
21
-3
0
0
0
8
-7
-4
-1
0
20
13
-14
-7
0
0
-1
-2
-1
0
8
-1
-12
2
0
-1
18
10
3
0
29
-48
20
12
0
40
-25
26
-11
0
-17
-24
26
-9
0
28
3
-6
-10
0
-14
27
-3
-18
0
2
27
3
8
-7
-13
17
-13
9
0
-25
30
1
6
0
4
-42
-4
12
0
-7
-4
-6
2
0
-22
2
26
-7
0
5
21
4
-1
0
-1
0
7
0
0
0
1
0
0
0
4
6
9
0
0
-36
29
-17
-8
0
14
-32
-14
-1
0
3
-7
4
1
0
27
2
4
1
0
1
4
0
0
0
0
-4
0
0
0
-6
-1
-1
0
0
4
6
3
3
0
-54
15
34
-3
0
-46
-34
19
30
0
-48
-21
19
-19
0
22
-30
-3
0
0
17
27
-1
-2
0
10
0
2
-4
0
-7
-17
9
3
0
10
-1
-41
-4
0
-25
54
25
-43
0
10
-73
-21
4
0
18
5
12
-6
0
3
-15
-24
-42
0
4
-1
13
3
0
0
-10
-8
-7
0
22
16
-27
-24
-22
18
-21
15
7
0
21
-2
-13
-11
0
-46
8
9
10
0
-48
-6
38
-6
0
41
-9
-8
14
0
-13
0
4
0
0
-3
-1
25
-2
0
-4
0
2
0
0
-2
-19
12
3
0
7
15
-1
9
0
-11
24
-20
3
0
3
-34
-1
-2
0
-19
1
-17
-1
0
0
-10
-21
1
0
-1
2
-1
0
0
-1
1
0
1
0
-11
-18
4
-4
0
-24
-9
-26
12
0
40
-12
1
1
0
28
-60
1
-15
0
-14
21
-25
1
0
4
-7
12
1
0
-4
-41
-21
0
0
-2
-12
8
-1
0
-18
22
-6
-16
0
13
-7
-11
54
0
28
-24
-24
-30
0
-73
10
-7
14
0
26
9
20
-31
0
-4
-5
-5
5
0
0
-16
-15
-20
0
7
-27
-41
5
-6
10
-12
-2
-14
0
9
2
6
6
0
-17
-22
21
4
0
7
26
9
-6
0
21
15
-13
-5
0
10
22
-18
-7
0
33
-8
-8
6
0
0
1
24
6
0
-8
-19
-23
-21
0
9
4
4
-2
0
12
11
-10
-4
0
6
19
6
-12
0
6
6
-3
1
0
1
-1
-8
4
0
0
1
-1
-1
0
-13
1
37
-6
0
-8
12
-2
5
0
13
-12
-3
0
0
9
1
-2
0
0
-1
1
1
0
0
-9
0
-10
0
0
3
2
-1
3
0
1
-12
9
0
0
0
-7
1
-3
0
-1
-6
-5
-1
0
-6
0
3
0
0
2
1
22
0
0
0
1
-10
0
0
-4
6
-10
6
0
2
-1
18
-18
0
0
9
7
-3
0
-10
6
38
3
-13
-2
12
12
18
0
1
28
-19
-3
0
6
10
-33
-1
0
13
-26
5
16
0
6
-5
32
7
0
0
-4
38
2
0
42
3
-18
-16
0
0
-21
16
-3
0
-9
-1
19
-1
0
0
-11
-2
3
0
-10
-20
-10
-2
0
-1
4
0
-1
0
2
16
-8
-11
0
0
4
16
0
0
0
12
4
7
0
-3
0
34
12
0
24
22
0
5
0
3
-6
-10
0
0
-12
-12
4
1
0
1
-2
-3
1
0
-10
3
6
0
0
0
7
-6
-1
0
0
0
18
0
0
0
-1
-3
0
0
8
21
1
1
0
-2
-2
-1
-2
0
3
-10
0
-7
0
0
2
-22
0
0
2
6
-7
-1
0
2
-4
36
2
0
10
6
-8
8
0
2
2
6
0
-1
-12
29
1
16
0
26
17
-28
21
0
8
-17
-2
-12
0
-28
10
13
-1
0
-16
3
-25
12
0
13
-25
3
-1
0
-6
0
0
-4
0
-12
-19
24
2
0
13
3
4
-3
0
-3
8
5
-3
0
23
-3
-9
6
0
13
5
-10
-3
0
24
-13
-3
-2
0
-10
-2
3
0
0
0
-2
-8
-1
0
-3
-8
14
4
0
-28
9
-5
-6
0
-8
-7
-6
1
0
7
0
-11
0
0
-1
0
-4
0
0
6
0
1
-4
0
-3
9
0
0
0
-1
-1
-6
0
0
-1
1
0
0
0
-6
0
-15
0
0
1
10
1
-1
0
3
-6
-3
2
0
0
-1
-7
0
0
1
-3
-8
0
0
-3
-4
-15
1
0
0
-8
1
3
0
9
0
-2
-2
-7
-1
-8
39
-4
0
18
-60
7
0
0
-35
-11
26
1
0
-28
8
8
0
0
4
4
-14
4
0
21
-25
0
-13
0
21
2
33
-6
0
13
19
-13
0
0
-6
28
8
-9
0
0
0
-37
1
0
11
0
-4
18
0
-10
12
19
-1
0
4
-36
9
-3
0
1
1
9
0
0
0
0
0
3
0
-2
10
20
1
0
5
12
-7
-1
0
-6
-2
0
1
0
-13
36
8
-2
0
0
-3
-9
0
0
0
14
-4
2
0
-3
-6
0
3
0
0
3
0
0
0
0
3
0
-1
0
-1
-7
2
2
0
-8
-16
-7
6
0
-8
0
-7
0
0
0
0
-14
-1
0
0
0
0
1
0
0
2
15
6
0
-2
6
35
-2
0
6
-19
-22
11
29
13
6
4
6
0
-15
-13
1
0
0
43
11
-6
-12
0
25
0
16
-3
0
-24
21
6
-3
0
0
-1
6
0
0
4
0
0
0
0
1
1
0
0
0
-3
-9
6
1
0
3
-19
-1
0
0
-30
14
-6
-1
0
0
-1
3
0
0
-6
16
-2
0
0
0
0
7
0
0
0
0
2
0
0
0
2
2
0
0
9
0
-9
6
0
4
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
2
3
1
0
0
0
-1
-1
0
0
0
1
0
0
0
0
2
0
0
-1
0
0
0
0
-4
8
-16
2
0
-1
2
-2
0
0
0
-3
4
0
0
-7
1
19
1
0
-1
-2
7
1
0
-1
0
-3
-4
0
0
-13
-3
0
-8
-16
1
23
-3
0
-3
2
20
9
0
18
-12
-18
1
0
9
18
-9
0
0
7
9
-15
2
0
-12
0
-3
0
0
-2
-1
4
0
0
0
2
-2
0
0
11
12
0
0
0
-7
-15
0
0
0
-8
11
-11
0
0
2
3
-4
1
0
-13
1
3
0
0
0
3
-2
-1
0
0
-1
0
1
0
2
0
-2
1
0
-8
1
0
0
0
1
-2
0
0
0
9
2
-11
-1
0
3
0
0
0
0
-10
-1
4
0
0
0
-1
4
0
0
0
0
6
1
0
0
-1
0
0
0
0
0
0
0
0
7
-10
19
0
0
32
-7
2
0
0
-1
-2
-21
0
0
-15
-9
7
0
0
0
3
0
-1
0
-1
1
0
-1
0
-6
0
-7
-4
-27
-7
-19
8
11
0
-2
3
13
-1
0
4
18
-8
1
0
7
-7
-7
-1
0
0
-13
6
7
0
-1
0
0
0
0
0
2
-4
-2
0
0
-1
0
0
0
6
-1
-11
2
0
-1
-8
9
0
0
4
2
1
0
0
0
0
1
0
0
4
-3
1
0
0
0
1
0
1
0
0
0
-1
0
0
0
0
1
0
0
-11
0
12
0
0
0
10
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
-6
1
-1
0
1
2
-1
1
0
0
-1
-3
0
0
1
-1
2
0
0
0
6
0
0
0
0
-6
0
0
0
0
0
1
0
-9
8
-10
0
-3
0
22
33
-34
1
0
-8
6
3
-3
0
15
9
26
7
0
10
2
19
-1
0
-6
4
2
2
0
9
0
-16
0
0
-4
-2
1
0
0
-34
0
6
-1
0
2
3
3
1
0
-3
-1
7
0
0
0
8
-8
0
0
8
-1
7
-3
0
0
-11
1
-1
0
2
-3
-6
0
0
-1
-2
4
0
0
-24
3
-9
-1
0
16
2
7
-7
0
0
-3
9
0
0
0
7
-4
0
0
22
-3
2
0
0
-1
-1
4
1
0
0
0
-11
0
0
0
0
-1
0
0
-1
0
-3
0
0
3
-6
1
1
0
7
2
-15
1
0
-2
1
8
0
0
-3
0
-2
-1
0
2
0
-4
-2
0
3
1
3
0
0
-7
-7
-8
1
34
-3
7
0
4
0
-15
42
-1
-7
0
-11
43
-18
-6
0
24
-41
-16
0
0
7
-19
5
-4
0
0
4
-3
2
0
-15
4
-29
8
0
-3
-2
0
0
0
25
10
12
8
0
1
0
-10
1
0
14
-9
4
6
0
-1
10
9
0
0
-5
-32
18
-3
0
0
1
0
-1
0
2
1
15
-2
0
0
0
1
0
0
9
-3
0
1
0
-8
2
3
0
0
2
-2
0
-1
0
-6
2
-2
0
0
-6
0
1
3
0
0
4
2
0
0
10
-4
0
0
0
0
0
0
0
0
1
-6
-1
1
0
-1
0
0
0
0
0
-2
13
0
0
0
0
-3
0
0
0
-1
3
3
0
-9
6
-17
1
0
1
4
20
6
0
1
1
-4
-3
36
21
19
-15
2
0
-30
-12
-9
3
0
0
-18
-2
-1
0
8
0
2
1
0
24
7
22
6
0
-6
-4
16
-2
0
-4
-11
-8
-1
0
0
3
-6
0
0
28
-6
0
0
0
16
15
0
3
0
1
-4
0
-7
0
0
-10
-10
0
0
-16
0
6
-3
0
0
10
-7
0
0
0
4
16
0
0
-1
-4
4
0
0
-1
1
-18
0
0
-10
1
-1
0
0
-4
-1
-4
0
0
0
2
0
0
0
1
1
2
0
0
0
9
-1
0
0
0
2
7
0
0
-1
0
0
0
0
1
0
1
0
0
-1
10
-3
0
0
0
-1
0
0
0
0
0
3
0
0
-2
-1
0
0
0
0
-1
0
-2
0
0
-4
-2
2
0
-1
-1
-3
-1
0
7
0
-15
1
0
16
-16
20
3
0
-2
33
14
4
0
43
-36
7
-1
0
21
-9
-13
1
0
1
-1
9
-2
0
0
11
-2
1
0
0
1
-26
0
0
-2
-4
35
-6
0
8
14
-2
0
0
22
30
-28
-8
0
3
-8
7
1
0
-35
8
-2
2
0
0
1
-2
0
0
0
0
-6
-2
0
2
1
-2
1
0
3
0
4
0
0
-4
-1
4
0
0
-23
-6
-4
-2
0
0
-2
6
0
0
2
1
-11
3
0
3
2
-1
-1
0
0
1
-15
0
0
-1
0
0
0
0
-3
10
2
0
0
-6
4
3
1
0
1
1
7
-2
0
1
-1
0
0
0
0
1
-2
0
0
0
-2
13
0
0
1
1
-9
3
0
3
-2
-12
-1
-13
-24
-16
-15
10
0
36
-44
16
-10
0
20
21
15
17
0
10
30
-9
2
0
-28
-3
-12
8
0
-11
-2
0
0
0
-1
-9
2
6
0
9
-1
2
0
0
2
4
-3
0
0
1
7
24
1
0
-16
-12
-6
-3
0
-2
-1
-28
-3
0
-42
9
-8
-2
0
0
6
0
-1
0
0
-8
-4
-1
0
-4
-9
26
2
0
7
10
-4
-6
0
8
10
-17
0
0
-33
3
-2
0
0
1
-2
0
0
0
-2
1
0
-1
0
0
-11
6
0
0
3
0
-7
0
0
0
0
0
0
0
3
3
-2
0
0
-2
-1
9
1
0
0
0
2
0
0
0
0
0
0
0
3
-2
0
0
0
1
-12
5
-8
0
-9
2
6
-8
0
4
1
-8
0
18
27
-2
-4
-12
0
-7
-25
7
0
0
33
-1
6
-20
0
-1
-2
2
1
0
5
-18
-1
-8
0
-10
-6
2
0
0
1
1
1
0
0
-2
0
-1
0
0
-12
0
-7
0
0
13
-3
-26
2
0
1
1
-1
0
0
1
0
0
0
0
0
2
12
0
0
0
0
-2
0
0
0
0
4
0
0
0
0
-1
2
0
1
6
9
-1
0
-12
8
0
0
0
0
1
2
-3
0
0
0
1
0
0
0
0
-1
0
0
-1
0
-1
0
0
-1
0
-4
0
0
0
0
-1
0
0
0
-1
1
0
0
4
-2
-6
0
0
0
-1
-1
0
0
1
1
0
0
0
0
0
0
1
0
0
0
2
-1
0
1
1
-3
0
0
1
3
0
-1
6
-4
0
2
0
0
11
-13
8
-9
0
-27
26
25
-4
0
-8
10
-12
-1
0
12
4
-2
0
0
0
-3
1
1
0
2
0
1
0
0
1
-3
0
0
0
10
4
0
0
0
21
25
-10
3
0
13
-6
9
0
0
-1
3
0
-2
0
0
-2
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
2
1
0
0
-5
0
-7
-1
0
8
-11
0
2
0
6
0
2
0
0
0
0
1
0
0
-6
0
-1
0
0
1
0
-1
2
0
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
0
0
-3
0
2
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-1
0
-8
1
0
0
-24
0
7
-6
0
0
18
43
-9
18
0
-8
-5
-2
3
0
4
-10
-11
-3
0
32
-13
11
2
0
4
-15
0
0
0
-11
0
4
3
0
0
0
-18
1
0
-29
0
-1
0
0
8
-13
1
-1
0
-7
19
-7
-3
0
0
-1
2
0
0
10
-1
6
-1
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-8
2
0
0
-11
18
16
-1
0
4
3
0
-1
0
1
-1
2
0
0
-1
-4
-4
0
0
0
-2
3
0
0
1
0
7
4
0
0
0
0
-1
0
-3
3
0
0
0
-8
43
8
-1
0
-1
0
-6
-1
0
0
1
0
1
0
0
-1
2
-2
0
0
11
2
0
0
0
-1
-3
-1
0
0
0
-8
1
10
-4
-10
-10
-3
0
35
36
-7
4
0
0
13
38
-7
0
39
-33
24
-19
0
18
-14
14
4
0
-5
-3
8
0
0
2
0
14
0
0
0
-1
4
0
0
-2
1
-18
6
0
0
-13
2
-8
0
-15
1
2
2
0
1
6
-18
-1
0
-10
-27
0
2
0
1
3
-4
-1
0
-3
-3
-9
2
0
0
2
-1
0
0
4
-15
-1
-8
0
0
-7
5
4
0
12
-3
18
1
0
-6
-15
12
0
0
-5
-3
-23
4
0
-1
-6
10
6
0
2
0
6
1
0
0
2
0
0
0
-15
1
-18
0
0
0
-1
6
3
0
-10
4
11
-1
0
0
-16
21
-1
0
0
-1
-2
0
0
0
-26
9
-3
0
1
0
-2
-3
0
-3
-4
-9
-1
-9
-20
26
-18
0
0
-6
28
-9
1
0
14
-5
4
0
0
11
1
11
-1
0
-20
-12
13
-1
0
-10
-7
2
0
0
3
-1
1
-3
0
0
2
0
0
0
6
6
0
-2
0
-2
12
-1
0
0
3
7
-2
0
0
-1
-16
-7
0
0
-2
-8
13
3
0
-8
16
1
1
0
0
10
-6
1
0
8
5
-7
0
0
-16
5
3
14
0
25
-31
-22
6
0
-10
41
-7
-32
0
22
-29
-39
10
0
2
15
-18
10
0
-3
-10
-35
26
0
-9
-61
-1
-5
0
10
12
39
-35
0
22
48
7
-3
0
-3
-21
21
-40
0
-19
6
-18
-19
0
-16
-4
-13
-28
0
-10
-27
0
1
0
25
5
-7
44
0
-1
-17
32
24
0
1
-6
15
26
13
35
39
-15
-3
0
-6
-10
2
0
0
-26
9
8
0
0
-12
3
0
0
0
-11
-6
-4
4
0
-2
1
-1
-2
0
-8
1
0
0
0
0
2
0
0
0
-23
-9
1
-1
0
20
-1
3
-1
0
30
2
-2
1
0
0
-2
-8
-1
0
0
10
-11
1
0
0
-2
12
-1
0
2
8
-4
0
0
-1
0
19
0
0
-10
2
26
11
0
4
-16
-22
-25
0
-12
-37
-18
-32
0
1
33
-34
19
0
-8
4
-7
17
0
-9
-34
-29
8
0
-11
7
-4
-7
0
-2
12
34
15
0
13
3
2
-7
0
-13
20
6
-9
0
-2
-10
8
11
0
-3
1
29
2
0
0
3
11
1
0
0
3
-35
2
0
0
6
30
0
0
9
-17
35
-8
23
9
-9
-17
8
0
6
15
-19
0
0
3
4
11
-3
0
2
8
2
0
0
-14
11
-6
0
0
-12
2
-6
0
0
-4
2
-2
0
0
3
3
0
0
0
5
-2
0
0
0
-1
4
0
0
0
-4
-1
-2
-1
0
2
2
-2
0
0
7
3
12
0
0
3
-2
-9
0
0
0
-1
6
0
0
1
-4
0
0
0
-35
-7
-10
4
0
-16
-26
8
12
0
47
-43
-1
-24
0
35
6
21
17
0
-31
2
11
-2
0
6
-12
-1
-21
0
4
1
-23
-2
0
-13
-12
23
6
0
-9
0
-7
-22
0
2
-3
2
-4
0
-6
15
-15
2
0
0
-3
-27
-2
0
10
0
-6
-4
0
0
9
7
-19
0
0
18
2
4
0
-2
-2
8
29
-38
-14
8
22
6
0
25
-3
0
3
0
-7
-15
-13
1
0
2
2
7
0
0
-1
11
0
-1
0
-1
15
-1
0
0
-3
0
0
0
0
0
-3
0
0
0
17
-12
0
0
0
-4
2
1
1
0
-18
-2
0
-1
0
0
0
-4
0
0
-11
0
3
0
0
0
-1
0
0
0
0
-2
-1
0
0
10
4
0
0
0
33
9
6
0
0
-31
-30
17
-9
0
49
-40
-40
11
0
7
7
30
3
0
-3
37
-22
11
0
11
-3
-32
9
0
7
-13
15
4
0
6
-6
-11
-9
0
19
14
3
-7
0
20
6
-24
-3
0
-24
10
9
-3
0
0
2
11
0
0
5
-9
8
-2
0
-9
-19
-13
15
0
0
-3
19
-1
0
1
15
-40
-22
2
-5
-3
-28
-21
0
1
16
7
7
0
33
-5
1
6
0
-13
-6
-1
-1
0
-6
4
-25
4
0
-3
-2
0
0
0
4
-1
-3
-3
0
0
0
-2
0
0
9
0
-15
0
0
10
-6
4
-1
0
-7
0
-2
2
0
2
10
-1
0
0
9
-16
-7
-7
0
1
1
-1
0
0
0
-1
0
0
0
-4
0
0
0
0
1
-8
-17
-3
0
26
-47
-8
13
0
33
1
-5
-28
0
25
14
-11
-28
0
-51
-20
-13
35
0
-2
10
-8
-4
0
-25
-8
-1
1
0
1
5
1
0
0
-12
-26
-3
22
0
25
13
13
8
0
7
-11
16
2
0
4
2
-2
0
0
-27
23
12
-12
0
-3
-18
-9
0
0
0
-1
13
2
0
-27
-8
8
6
30
6
-16
3
-7
0
-9
44
-8
4
0
-2
5
-7
-8
0
-6
-13
1
2
0
22
18
0
-2
0
-1
0
0
1
0
-9
2
0
0
0
-2
-1
0
0
0
-19
13
0
0
0
1
-2
-4
8
0
-1
1
2
0
0
0
-4
0
0
0
9
0
-8
1
0
1
0
-3
0
0
-1
0
-4
0
0
0
-10
2
0
0
-2
15
-6
-2
0
26
-18
45
14
0
9
25
3
22
0
6
-10
-1
-14
0
15
-55
-9
-28
0
-32
12
-7
-28
0
-13
-15
-3
2
0
11
26
-5
-4
0
2
-20
2
4
0
-30
-4
18
2
0
13
-15
-15
-7
0
3
7
-25
-1
0
21
8
-8
0
0
-3
-12
10
-17
0
-1
12
2
1
0
0
-24
-3
-6
5
16
-26
4
-4
0
7
11
14
-3
0
-6
4
12
3
0
1
-4
0
0
0
-12
-14
-1
0
0
2
-1
0
0
0
2
-2
0
0
0
0
0
0
0
0
9
0
4
-3
0
-1
-5
8
1
0
-1
12
-2
0
0
0
-18
0
0
0
9
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
0
0
0
0
-9
0
-1
0
0
81
-6
-13
0
2
-10
26
13
0
39
-2
-15
-7
0
-34
38
9
3
0
22
-5
-25
-1
0
12
-13
-1
-19
0
15
-12
-13
2
0
-10
0
2
-1
0
-6
0
-3
25
0
12
8
-3
-1
0
-22
-1
12
1
0
16
-7
3
-1
0
0
6
-5
-27
0
0
-5
-6
0
0
-11
5
-18
4
-19
-16
-2
-20
6
0
2
20
17
-10
0
-6
-5
1
-6
0
11
-17
-2
-6
0
-29
-7
1
-8
0
13
1
0
1
0
-16
-1
11
0
0
1
-2
2
-1
0
-22
-3
-3
-2
0
-9
47
-5
13
0
-25
3
9
7
0
-4
-13
-3
3
0
-6
5
-3
-6
0
3
4
-9
-1
0
10
-9
-2
0
0
0
-1
-3
-1
0
19
19
-4
2
0
43
55
-16
16
0
38
47
17
0
0
-48
-44
19
-33
0
-59
-40
26
3
0
19
4
-1
7
0
4
-3
9
-5
0
-1
-3
-7
-15
0
-19
-4
-43
7
0
12
2
32
-1
0
3
-26
7
1
0
28
-9
-1
4
0
-28
7
-7
-9
0
3
-33
-23
8
0
-2
-1
0
-7
0
-2
-27
8
8
-8
6
-15
-12
-11
0
8
9
10
1
0
-33
21
4
-3
0
15
-43
18
3
0
16
-10
12
12
0
15
8
2
-3
0
3
-7
-3
1
0
13
1
0
1
0
-2
2
-16
4
0
-9
3
-15
-4
0
17
0
4
-1
0
3
9
-4
0
0
-4
-4
11
2
0
1
-16
0
3
0
-4
1
10
0
0
0
0
-1
2
0
7
-9
10
2
0
69
6
-67
-13
0
-7
20
10
19
0
10
-18
14
-9
0
21
-13
-17
-17
0
27
-8
23
-2
0
13
37
-3
-5
0
-25
0
35
-1
0
-3
3
1
-8
0
-50
-1
15
13
0
13
72
-31
-5
0
31
-27
40
-26
0
-40
1
-3
23
0
-19
36
-25
1
0
-19
-9
16
21
0
19
2
37
67
-16
10
56
45
-13
0
9
-3
-13
6
0
-18
-3
0
13
0
-4
7
-2
1
0
32
1
0
1
0
4
-10
3
0
0
-24
25
0
0
0
-7
7
0
0
0
56
-7
4
0
0
-8
22
0
-4
0
-13
-15
-2
-4
0
1
-6
3
0
0
3
8
-1
0
0
-4
-12
0
0
0
1
6
-4
0
0
0
-2
-28
0
0
-2
18
8
0
0
22
9
-9
-1
0
-12
-11
19
8
0
61
-19
9
-10
0
-13
-6
-2
1
0
9
9
-2
0
0
20
-9
-27
-2
0
0
-1
-4
0
0
-14
-11
22
0
0
-35
-5
14
17
0
51
11
14
-10
0
-20
1
-7
-4
0
-11
103
-6
-3
0
3
-11
30
11
0
-2
-3
-28
1
0
0
3
-6
-20
-18
2
10
29
-21
0
-7
18
13
-4
0
16
-16
-15
6
0
4
7
11
6
0
-6
8
12
-13
0
5
0
8
0
0
-10
-7
16
0
0
2
0
4
0
0
-39
8
0
0
0
3
-1
14
0
0
24
-24
-1
-1
0
1
3
10
0
0
16
-2
2
1
0
2
1
2
0
0
0
0
-11
1
0
3
0
-1
-1
0
-30
3
-6
-10
0
-2
-7
3
0
0
11
-33
46
-15
0
-31
11
3
10
0
47
-22
17
6
0
14
20
-16
7
0
-17
12
-22
8
0
13
-20
8
-18
0
6
5
1
12
0
-5
58
-3
26
0
45
-26
-13
26
0
-9
15
5
-21
0
2
-35
1
-35
0
-15
-3
10
-4
0
-8
4
25
-5
0
37
36
13
-37
-4
-51
-3
20
1
0
-43
17
21
12
0
22
-10
-25
-7
0
-40
6
-8
11
0
13
-2
-10
3
0
13
-10
0
-1
0
7
-10
18
-7
0
38
-1
5
0
0
-36
13
1
2
0
0
-15
-28
2
0
-23
-7
-8
1
0
2
19
-1
6
0
-50
-1
3
0
0
1
-3
4
0
0
1
0
-11
0
0
0
-2
-6
-1
0
17
-7
8
0
0
27
-73
-10
-25
0
28
17
23
20
0
-3
-13
-2
-4
0
29
-9
2
-12
0
28
-9
-18
-10
0
2
-9
-2
-4
0
0
-1
-19
-3
0
-10
24
17
-6
0
-6
-19
28
38
0
-49
89
-71
8
0
37
-17
-50
-12
0
10
-107
52
7
0
38
39
-7
26
0
5
41
31
-20
0
-35
13
-40
-10
-25
-33
-37
14
4
0
19
34
6
-15
0
30
24
2
13
0
-45
6
10
2
0
7
-12
7
-2
0
4
7
0
1
0
19
0
-25
2
0
-4
-4
12
-1
0
0
7
-2
-4
0
-18
-21
4
2
0
16
-11
-10
2
0
0
-6
0
3
0
-15
1
0
24
0
0
11
-1
0
0
1
0
4
9
0
1
1
0
-10
0
6
-21
4
-4
0
-13
-3
55
-6
0
8
-22
-7
-10
0
1
15
-6
-2
0
31
7
-15
-4
0
-27
3
-20
1
0
0
-30
10
-12
0
0
6
2
-1
0
17
-5
1
-3
0
33
2
22
1
0
-6
-7
-6
-7
0
-3
-47
8
30
0
-16
-23
37
-2
0
-15
-7
3
6
0
0
-11
-23
12
0
3
-8
-32
-20
1
-25
-1
-6
16
0
-18
-1
3
25
0
15
-3
7
1
0
-15
0
-7
6
0
-37
27
0
-19
0
-4
13
1
1
0
14
-1
25
-1
0
-9
0
0
0
0
-12
0
12
0
0
-9
27
2
11
0
23
-10
-41
0
0
-3
-30
0
-1
0
-15
9
-1
-6
0
0
4
2
-1
0
2
-2
-1
1
0
0
0
-1
0
0
-10
-1
-2
6
0
-9
38
-5
33
0
4
-36
35
-7
0
16
-23
24
-4
0
43
-25
-7
7
0
-8
11
8
4
0
-2
-11
-26
0
0
-2
11
-13
3
0
-9
1
-11
0
0
21
21
3
2
0
5
18
51
-12
0
-54
-15
-5
2
0
2
28
2
-24
0
-2
-16
15
12
0
-1
1
-7
-1
0
9
-21
-27
11
6
-3
-17
-26
-15
0
-6
7
11
-2
0
28
-6
4
-8
0
26
21
-1
0
0
42
25
-12
-2
0
27
0
19
0
0
-19
-24
12
-1
0
-16
0
1
0
0
20
0
-19
-9
0
17
23
-10
-7
0
-16
-11
-4
10
0
2
4
-6
1
0
-9
13
1
8
0
0
7
9
2
0
2
0
-29
-1
0
2
2
-1
0
0
-25
-20
-3
0
0
-8
-5
9
-13
0
-38
10
-10
12
0
-12
-13
1
6
0
-72
-20
-4
27
0
34
21
20
9
0
4
-1
-18
1
0
4
-35
7
13
0
13
-2
-14
-11
0
68
-46
55
1
0
19
-19
8
-7
0
3
48
-31
-20
0
-34
25
-27
12
0
18
5
-5
-34
0
1
0
-35
-2
0
-15
-1
-3
-4
31
-20
-49
12
5
0
6
44
18
10
0
-23
14
6
50
0
-15
30
-6
-13
0
-11
-2
-27
13
0
15
-22
19
-2
0
-30
-26
8
2
0
-20
-6
-14
-3
0
-12
-1
0
-7
0
-29
-6
3
-6
0
10
9
-11
18
0
6
-16
9
-1
0
6
5
-22
-2
0
-4
2
11
-1
0
0
-9
-6
-1
0
0
0
-15
6
0
22
-7
2
-6
0
2
12
44
2
0
-23
23
30
28
0
-52
0
-44
-22
0
-21
-3
-39
-4
0
-2
4
-6
2
0
9
16
-12
18
0
-17
11
-8
-8
0
-26
-6
-9
-4
0
21
25
-23
-27
0
-26
-54
10
-7
0
-25
-33
25
20
0
-2
27
11
17
0
-2
29
53
-1
0
35
-34
2
-13
0
55
18
-69
-27
-19
35
-31
-15
29
40
-23
67
28
9
34
-5
48
40
-5
-13
-8
4
-15
18
-5
20
-7
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-1
-12
-5
0
3
4
-3
-15
0
-4
10
8
-2
2
-4
-7
-35
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
7
15
10
1
-2
28
40
4
-1
7
-13
24
0
0
4
-8
-5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
15
9
-4
0
1
6
-2
2
0
-4
-12
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
-7
35
-1
-22
3
51
-18
2
-18
23
-19
21
-37
29
3
-5
25
24
40
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
4
-30
-16
0
4
-16
-9
-7
1
-2
-9
9
6
1
-19
-20
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
28
16
0
22
-24
10
0
-1
1
4
9
-13
-1
1
-21
-2
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
-3
3
0
10
-6
16
-6
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
19
48
10
-28
4
-1
3
3
-12
-6
-3
9
46
11
7
8
-29
4
12
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
11
-2
8
0
11
-6
-12
0
-6
-8
-2
0
-1
-5
-3
-15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-16
-2
18
20
0
-12
-19
0
-3
0
-3
-19
-21
-3
1
1
-6
2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
-3
0
0
1
3
0
0
2
0
-2
0
0
1
-1
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
17
-9
2
-8
0
45
-17
22
18
-28
4
18
39
-12
60
-28
18
13
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-13
-8
3
0
-4
1
10
6
-8
1
-6
3
27
-1
0
6
19
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
-18
3
0
1
-3
2
-1
7
3
24
-21
4
1
-18
-13
6
-20
-6
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
-6
-6
0
3
0
0
1
7
1
0
10
8
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
9
-4
18
-6
-5
0
0
-1
19
-9
-4
9
-6
-4
-4
34
-10
22
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-25
0
9
10
4
19
-7
-6
-6
0
0
-9
-3
-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
-7
-7
12
-8
0
0
6
-1
-15
0
0
-13
-10
-7
-3
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
-3
8
25
3
0
-18
3
-6
1
0
9
-4
-1
-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
-15
-10
38
-9
-11
-8
40
-19
-10
10
36
9
3
8
7
-2
2
-11
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
16
-34
-1
-4
16
4
5
-7
1
-1
-26
-6
-1
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
-1
3
0
0
0
-1
-9
-11
-2
10
0
-1
3
2
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
20
15
8
-1
0
-10
0
6
1
0
-1
-1
-2
0
0
-10
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
27
-10
6
-13
3
6
4
0
-11
-5
-3
24
-34
12
-30
6
-7
25
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
-7
-3
0
0
0
-1
-1
0
-2
0
7
0
6
7
-2
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-9
3
-11
0
-2
0
3
0
-1
0
0
-2
1
0
0
-1
6
-7
1
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
3
0
-1
0
-11
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
-59
2
2
38
6
12
-28
0
-19
-8
24
15
6
1
19
-32
-15
16
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-16
4
-15
11
-13
19
14
5
-11
13
11
-13
-11
8
8
14
-20
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-13
-28
7
-1
0
-7
0
-1
0
-3
8
-1
9
0
3
-8
12
-23
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-11
6
0
0
6
2
-1
1
0
-11
8
3
-4
0
-2
-19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
33
-19
-6
30
6
-10
2
16
3
-6
19
-35
29
0
-27
-7
22
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-10
14
1
4
48
3
17
-11
7
2
-3
14
38
-3
-14
11
-4
-6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
17
19
-20
17
-64
-6
23
1
-4
3
-19
1
10
0
2
-18
-1
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
55
9
-18
26
-16
15
-3
-5
6
1
-15
25
-4
2
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
-2
2
-27
19
-15
23
24
1
-33
-7
14
8
0
24
-7
21
19
12
48
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
3
17
27
-1
-22
-25
4
-7
-2
-1
-3
0
-33
-1
-12
-1
1
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-9
-35
28
-4
20
-3
-11
2
3
-3
-16
-11
-18
0
13
6
10
-2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
6
0
-4
17
-11
-18
-3
2
0
3
-1
-1
4
-1
14
-12
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
14
22
14
-9
-14
-16
8
2
-8
22
-15
-9
-26
1
6
-14
8
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
9
0
4
25
3
-1
-2
0
6
-13
-10
18
-9
4
6
-20
10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
31
30
-13
0
-7
3
-8
-21
3
4
-16
-21
-1
8
-15
-42
7
-19
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-9
-18
-19
5
-21
-3
30
1
0
21
-5
-4
1
-9
7
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-25
-10
1
8
12
-31
-30
-18
8
-24
10
30
-27
7
13
29
5
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-8
12
3
1
-13
-6
41
-7
-3
0
8
-21
16
-11
17
-22
21
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-23
4
-13
0
-5
1
-6
-17
-25
2
54
12
16
2
-14
26
-1
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
12
-4
-1
4
-30
2
12
0
-3
13
-20
7
-1
1
0
23
-15
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
1
13
26
6
-29
-3
-10
12
-7
-4
-22
-18
-10
-8
17
-53
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
24
-3
8
-4
-14
7
-9
0
16
0
8
33
-36
-6
27
-9
7
-22
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
29
18
11
0
-23
-2
6
1
-1
3
0
-6
1
-1
-4
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
21
4
23
-9
33
-1
25
21
1
-1
-3
-9
-18
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
43
28
-3
21
-1
-32
12
23
-26
-3
-18
-25
-8
-16
-2
9
17
-1
-4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-6
13
-12
1
5
9
-8
30
3
4
-27
1
-12
0
2
12
-8
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
7
0
0
19
-3
-13
-7
0
0
0
3
-1
0
-1
-1
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
12
9
14
-19
28
12
-4
-15
-2
2
1
0
-2
-2
-22
-5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-24
-4
0
4
22
-12
-2
4
2
9
3
0
-6
8
5
-41
47
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
-1
7
0
8
-1
4
0
0
-7
-1
-3
12
2
-27
16
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-9
11
-3
-2
-17
8
-12
-13
-7
3
-26
-21
3
0
-44
52
1
-14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
13
-1
-6
11
-16
9
24
-8
8
2
-8
-29
-16
1
7
1
-8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-1
-38
28
0
8
-46
21
22
-14
-12
-26
24
-1
-11
-59
-9
-16
-15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
2
32
14
0
9
-7
14
25
0
-10
-15
5
10
-3
-7
24
7
-22
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-21
-20
-16
-1
-36
4
9
-1
-22
-1
-23
-7
-7
8
20
29
-14
-14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
4
6
-27
11
6
-5
9
15
11
-1
11
8
7
-10
-9
-31
-27
29
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
12
14
13
4
25
4
-1
2
-6
-11
6
-8
0
1
11
0
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
6
2
7
5
-16
13
9
-5
-4
1
6
6
3
1
8
-1
0
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
42
30
21
0
55
-10
25
-18
32
12
-80
7
-62
5
-36
10
20
41
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-25
17
21
2
-8
27
-19
-5
3
0
27
6
-9
2
0
8
18
2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-33
7
-16
10
-11
32
-3
1
0
0
20
-1
4
-3
8
-7
-3
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-2
-12
7
6
-52
30
12
27
-3
2
-1
-4
7
7
-1
-16
-11
-21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
25
-55
23
8
49
93
58
5
-32
-27
-24
-2
-9
-6
-22
-62
-39
20
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
-17
-23
-48
18
-22
8
-5
0
0
6
6
-1
0
0
-13
-1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
4
-20
-3
9
-14
3
-1
-2
-11
-13
2
-26
-3
-1
36
-12
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
21
8
6
-17
-1
-7
-3
-4
0
0
10
6
-15
0
2
-16
-7
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
5
16
54
10
-37
33
-22
6
-25
24
-16
-1
-28
14
7
-8
-40
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
34
-4
-4
3
-10
-49
2
-12
0
17
-9
-6
10
2
-9
-8
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-2
16
10
0
10
-5
19
9
-1
25
43
7
-1
1
-36
-38
13
-24
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-32
-1
-6
0
4
-7
-16
-4
4
2
15
1
18
3
-16
-17
20
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
22
5
-5
1
-22
2
-32
-15
13
-19
-26
31
37
22
53
37
-23
-25
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
-13
15
-6
-1
-12
7
8
10
4
-2
-3
-2
0
-9
31
7
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-7
-3
-13
-1
12
-6
0
-7
0
-2
2
-25
7
-9
3
-20
-12
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
6
6
19
0
21
4
-6
0
0
0
1
3
5
1
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-47
23
-57
14
1
27
-1
-4
4
-72
-5
3
-5
6
-63
16
-6
28
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
8
3
-36
40
24
67
-43
-20
8
-22
27
-17
-36
1
3
-18
21
7
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
4
-9
7
2
-2
28
18
-7
-11
-6
30
10
1
-1
0
28
-13
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
-6
-3
-1
-13
-2
-1
16
2
-8
6
1
0
-1
3
-5
-7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
6
-24
35
32
-18
34
22
8
5
17
-69
12
-11
-8
24
-55
-11
-11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
4
17
-5
19
-26
25
1
11
-14
13
-16
33
4
-13
8
-12
-2
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
11
-11
-2
8
16
-4
-3
-2
-1
0
11
11
-1
0
-2
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
4
8
1
1
-1
0
-2
1
-1
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
-47
-1
40
-17
7
25
-48
-46
-6
-3
30
23
0
2
-32
-7
41
24
-29
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-8
-47
20
12
-40
-10
-1
6
4
-18
-15
-17
8
-5
6
-2
-6
-10
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-3
-1
3
0
7
11
-3
-1
1
-3
19
-2
9
11
2
-6
25
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-7
4
0
-1
1
-12
-2
-1
1
-12
-11
1
0
-10
6
1
-11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-2
-21
-25
17
-24
17
-18
26
-23
-29
-1
-5
10
-20
46
-48
-32
-39
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-20
-14
-6
21
-18
-53
8
21
-2
-16
-37
-6
-12
21
39
-8
3
22
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-35
-8
1
-5
16
12
10
21
4
-11
-5
-3
-18
-1
0
7
1
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
14
28
10
19
11
5
-1
9
19
2
-8
2
7
-26
8
-28
0
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
-69
30
12
-47
-42
35
11
15
14
30
-7
-17
2
19
10
-27
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
19
-19
2
11
58
-32
9
55
12
25
41
3
6
2
-51
18
-10
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-8
10
14
4
-5
29
-17
-30
-6
11
-3
7
-12
-3
-2
32
0
-6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
34
-5
-22
-21
-14
-1
-30
-17
-1
-4
-1
12
4
-6
5
8
-14
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
20
19
-7
-1
-7
-56
24
24
2
36
43
-11
-14
10
-44
2
7
-11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
29
-14
-20
74
7
-1
5
-17
54
-46
38
-14
28
21
20
27
-25
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
14
7
3
0
6
-1
7
8
4
10
-25
-39
2
0
-1
-5
8
12
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-41
-2
12
0
-1
5
20
9
-16
-1
-6
22
-21
15
8
8
-4
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-24
32
19
4
29
-9
-19
-2
1
12
13
16
-4
-3
-34
-27
33
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
20
11
32
-41
7
32
10
-39
7
10
54
-12
-14
-7
-37
2
-23
7
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
16
-4
-8
7
-14
13
9
-2
3
15
12
-16
-3
0
28
-25
0
-25
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-26
0
-21
6
-11
-10
-19
-9
-11
0
-2
-25
-16
0
-9
-5
-7
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
20
14
-10
0
-24
8
20
-3
-15
27
-54
-28
22
7
43
-28
12
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
34
15
-8
72
2
4
26
-14
-15
-44
-15
-4
45
1
-28
-15
-23
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-4
28
16
-9
-10
-3
16
7
16
-2
16
-32
-11
5
-43
-25
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
29
4
-27
22
7
-10
9
-17
10
-9
11
-39
2
4
1
2
11
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
11
-23
-13
-34
54
16
1
-30
-9
-68
68
1
-26
16
-9
0
-19
24
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-5
-14
53
-27
-15
12
19
3
11
12
2
49
-36
4
24
-40
-33
32
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-15
3
20
0
2
-9
23
0
3
-14
-53
5
6
-6
-16
-8
-15
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-8
3
-15
-6
-48
11
6
-6
-1
-20
6
-1
0
-23
-4
8
7
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-46
-3
8
8
42
23
6
-22
-1
-11
14
32
-4
-34
8
16
-17
-22
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
31
13
4
7
-11
32
0
-5
-4
-2
17
-22
13
13
1
19
8
-7
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
14
10
12
-3
-18
15
-37
-10
6
-7
-64
36
-38
2
-28
18
-20
-5
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
17
6
-4
-7
-5
17
-5
2
-7
-9
22
-1
3
-6
-2
-19
11
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-2
-11
19
2
-48
-5
12
15
34
-45
-3
-6
48
-21
-13
12
20
-15
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-23
-51
28
-39
-30
-16
-7
15
-18
-65
-40
3
-6
-23
-44
-66
73
-4
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-33
16
-9
1
-84
-11
-40
30
1
-16
-5
-16
25
-4
-23
2
0
29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
12
-24
22
5
-20
-1
-8
-15
12
9
0
9
-28
0
-10
-25
-1
28
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
19
-37
-74
-7
45
-4
32
-4
-14
-21
12
-27
2
-14
-19
-7
-9
21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-18
59
-46
10
-28
8
-57
-6
-10
-30
2
-1
-1
-3
-3
10
-16
-17
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
7
-1
43
34
-11
18
-11
3
8
7
-6
26
-36
-1
18
-29
41
-18
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-14
-6
22
6
9
-6
0
0
3
18
-4
-1
2
18
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
-4
-1
26
0
-2
28
11
11
0
2
-15
-12
-2
0
0
-9
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-7
11
1
-1
21
-13
1
-3
0
-10
2
-10
2
0
-8
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
20
15
-18
5
16
40
22
2
32
-24
32
-18
34
-12
-4
-25
18
38
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-2
-1
6
4
1
18
4
-20
-8
0
1
2
3
7
0
-10
-6
7
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-19
0
6
-3
24
-2
-10
-3
6
0
3
-6
-9
0
1
-28
4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
4
0
0
0
3
1
1
0
0
1
1
2
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
-14
1
-16
8
-1
-24
22
15
-5
7
-5
21
-13
-10
3
41
-18
-5
13
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-14
-10
-10
-2
-4
6
-18
0
0
-3
4
-11
6
1
7
-15
-20
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-8
2
-20
-16
0
6
-4
-7
3
0
9
-18
5
-4
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
7
35
1
8
0
1
7
-8
3
0
-9
-22
17
4
0
-10
-26
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-14
34
-18
-13
9
3
-12
4
22
-9
-26
38
24
1
-32
26
-14
62
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
7
12
-16
-2
1
-32
1
-3
3
-1
6
-19
11
1
-3
10
-2
18
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-10
-2
-3
2
-10
-20
0
-4
0
10
-2
7
0
6
-8
-33
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
10
-6
-1
0
9
-7
-8
-2
0
-1
-6
-2
0
1
8
-2
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-9
-25
12
-14
10
-16
24
28
-7
-2
1
27
29
7
-22
30
14
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
11
-12
-15
4
-1
2
-4
9
0
0
3
0
13
0
0
-7
1
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
-15
-9
-6
15
-21
-4
-9
3
0
6
1
1
0
-1
-6
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-5
-2
0
-2
26
4
2
0
-1
-1
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
-22
-15
1
-10
-13
-8
19
-3
-32
9
-6
-45
3
13
3
-17
-21
37
-11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
10
5
3
0
7
35
-13
-4
-4
0
2
-13
7
0
-1
2
-9
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
15
3
-4
2
28
-17
-9
3
-7
0
1
-3
1
0
-3
1
-17
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-7
0
-2
0
-1
1
6
2
0
-2
3
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
10
6
6
-2
-4
-1
-28
12
0
1
1
10
-6
-2
16
-19
19
13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-9
-4
1
0
0
4
0
1
0
2
-2
-2
1
-1
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
2
13
-1
-4
0
-2
4
1
-3
6
4
0
0
0
0
-1
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
4
-1
0
-3
0
-1
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
19
-2
11
4
27
-20
-1
-1
-13
3
40
-7
6
-2
41
-47
21
-31
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-8
11
-2
-17
-13
0
2
0
0
-22
13
5
-1
11
-21
30
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
16
25
1
-1
-13
-1
5
7
-8
-2
12
-17
25
0
-8
-4
12
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-8
-17
-2
0
-4
2
3
-1
0
0
-2
-6
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
20
-5
51
22
-5
22
19
-9
5
-9
-7
-6
11
-10
1
-1
12
-42
4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
25
34
-2
19
6
5
40
-15
3
0
5
-16
3
2
-2
-6
2
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
-11
-2
4
-2
1
6
0
0
0
1
-3
0
-1
0
-8
-1
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-9
-5
0
0
-2
-3
32
0
0
2
4
-3
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
20
-5
14
1
-1
-47
-9
-24
0
15
16
-10
7
0
7
63
-6
7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-64
0
36
3
4
1
7
-15
-8
8
-8
-12
-12
-1
0
-17
17
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
-4
2
-1
-8
4
22
-13
0
0
-2
0
2
0
1
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-3
0
0
8
18
-3
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
19
-9
14
16
-13
44
10
0
-10
8
-16
1
-67
-3
15
-17
-2
-17
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-29
30
11
-11
13
0
20
7
-2
0
2
4
3
12
-2
1
-2
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-39
13
7
1
1
25
-21
8
3
-1
3
-16
4
0
2
15
6
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-4
15
9
-3
-3
1
-19
-22
3
0
7
12
10
0
0
3
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-28
-21
-12
3
-23
-17
-1
4
-2
4
21
-1
-16
-8
-11
42
-13
-16
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-14
14
-9
0
-16
0
17
0
-7
-1
-16
0
21
-16
15
-11
-4
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-2
7
0
5
-13
-1
-2
-11
0
-6
0
-3
0
1
49
4
-27
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
13
-1
0
0
-23
0
17
-3
1
0
-7
4
1
0
28
-5
5
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-41
4
8
-3
-13
10
-13
5
-20
8
22
-11
-3
2
-38
1
3
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
4
-5
6
29
3
7
-9
-9
0
-2
-1
-1
-4
-1
1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
30
-1
-9
1
-24
-8
-8
6
1
0
0
-1
-1
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
6
12
7
2
0
-1
7
0
0
0
1
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-4
2
8
-4
4
-5
5
-7
0
-11
11
9
-9
-1
-15
0
19
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-8
19
-6
-8
15
14
10
52
9
0
18
-8
-6
0
0
-6
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-8
-4
-1
-9
6
3
-8
0
-1
-4
2
0
0
1
-3
9
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
1
1
0
-2
7
-7
0
1
0
0
-1
0
0
-2
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
19
22
-3
9
9
-25
1
-9
-13
-3
15
6
-7
8
-10
-8
3
24
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-35
15
15
8
-35
0
5
-7
0
9
12
14
0
-4
-19
1
-6
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-20
12
22
-15
-20
-14
10
-4
1
1
0
0
0
-2
2
-2
-8
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
30
-12
-22
-6
0
0
2
1
1
-2
-10
14
-7
-1
0
3
-12
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
71
-3
-18
-8
-17
16
15
15
11
43
-56
-25
21
12
-11
-18
1
-4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-45
-11
-1
-7
10
-4
-30
-6
-7
-11
1
13
26
2
22
19
-25
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
3
28
3
-14
0
12
-6
6
-1
-7
-30
8
-1
-2
2
-5
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
47
7
-3
1
-8
-10
-7
-1
1
-9
7
10
-4
1
12
-4
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
30
-15
0
10
11
-16
-2
-1
0
8
28
-6
-3
-2
-16
-16
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
6
2
-15
2
4
2
-5
-6
0
2
6
-1
-1
0
-4
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
21
-10
15
-5
-26
5
-17
-34
13
-5
24
72
-40
-3
1
-52
1
-7
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
-14
9
9
3
42
11
15
-2
3
23
-14
-19
1
0
-9
19
5
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-19
4
4
-3
40
-5
7
5
-1
-3
-19
10
6
-2
21
3
-6
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
9
0
-7
-6
11
-20
4
2
0
0
1
-3
0
-2
-4
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-19
-7
46
19
-17
21
-7
-11
-18
-13
66
-19
-42
-5
-8
-91
-11
49
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
29
-2
-8
1
-23
9
-1
-2
0
17
16
-20
0
-2
10
-27
-23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
17
-1
-2
-18
37
-2
6
-1
-20
-28
1
-15
3
8
2
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
2
-6
-9
1
7
0
-2
-4
-3
0
6
2
-11
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
-21
46
23
-48
0
15
-31
10
-6
22
-7
-58
-2
32
-10
-26
23
48
15
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
10
-51
5
14
0
5
-3
1
-12
-18
-16
2
-3
13
1
-8
-16
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
1
-13
-7
3
-15
28
-1
4
0
0
22
2
-1
0
21
-8
-15
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
10
-6
-2
8
-13
-3
-3
-1
0
4
0
9
0
-2
-11
-10
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
8
6
-12
-4
-5
29
6
-27
-8
23
-10
-1
-12
-11
13
5
-38
-26
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-21
-3
1
10
-7
0
-12
1
-15
6
25
-6
-7
0
4
9
34
-11
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
7
-6
2
3
-12
-26
15
12
8
37
-6
-33
-12
-10
12
-20
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
1
-25
6
11
2
-11
-2
3
-1
6
1
0
0
-1
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
2
-19
-25
22
29
7
29
38
-47
-20
15
-33
-28
21
-16
19
-12
6
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-25
-11
-11
-4
0
-11
-14
5
6
0
3
3
-18
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
-15
14
-20
-5
19
14
10
7
-3
-11
10
-4
1
-23
3
-2
-13
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
-15
18
3
-27
9
-14
5
2
-2
1
0
-1
0
3
4
2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-1
-9
-19
-5
-3
19
22
-2
2
-40
62
-4
21
-10
-16
-14
-39
-20
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-38
15
-13
-4
4
-30
-6
38
-10
0
-11
3
-13
-2
7
6
9
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
10
7
15
-1
9
2
9
-1
0
21
-19
3
-3
-6
-23
10
-18
20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
16
-4
34
-7
-11
-8
8
2
-3
-1
-1
1
-6
1
0
2
-16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-39
41
23
-2
-6
-42
-1
24
-17
-28
25
-62
-33
17
29
73
24
-45
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
2
39
-3
8
1
-18
-7
-1
-9
4
15
13
-12
-9
11
-10
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-12
0
40
-8
21
-29
1
25
2
-25
-42
-22
28
3
39
13
7
11
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
39
-23
2
-1
-24
-25
-12
-7
1
2
-1
-14
-12
-18
2
-10
-4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
9
6
-29
8
3
-31
12
-22
14
-44
-7
12
22
-13
-19
36
-19
-51
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-31
-36
64
-22
11
36
7
-43
-12
15
13
-3
-23
16
-6
-57
23
35
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
15
6
1
18
-3
17
-16
4
-19
28
-21
33
2
-20
10
-10
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
48
-1
5
0
5
14
-6
-2
-1
-12
-11
-2
8
-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
23
37
39
9
-1
5
3
12
4
24
-12
7
-23
20
1
22
-8
10
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-23
4
-38
9
25
36
1
6
18
-23
-23
53
-3
16
-19
-6
-21
40
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-10
15
-12
-8
-25
19
30
-18
14
6
-4
-11
-25
1
-34
1
1
23
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
-4
-4
-2
48
4
-7
5
-3
0
0
0
-1
0
-2
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
43
21
-20
12
-16
-21
-6
43
2
-14
4
-10
24
-11
-27
3
18
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
53
-10
-7
-5
-8
-50
37
68
3
20
-11
-10
-16
-12
7
-16
32
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-6
10
13
15
6
1
-11
-7
8
-13
-8
24
19
-8
25
-1
16
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
-7
3
-3
-1
12
-8
-2
-1
4
-5
0
-2
-8
9
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
11
-66
82
13
32
-24
-5
-33
-17
-52
-19
64
-5
-10
-1
28
-49
19
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
19
12
-3
-33
2
57
38
-35
-34
-63
1
15
21
-23
-27
-50
28
33
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
-38
-3
13
-10
-20
12
-37
-16
-4
-14
7
8
3
-70
20
-8
2
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
25
13
13
1
-19
-13
2
-6
4
-15
-6
-9
2
0
-5
-2
22
16
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
21
-41
-54
2
-57
58
24
-6
-2
16
-60
-6
11
-8
5
-19
1
-5
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
53
-16
-7
18
10
-40
-42
-5
25
-12
-30
-18
-14
24
-17
2
11
-3
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
11
10
33
14
43
21
0
-27
-1
-2
-28
2
-8
-8
-12
-16
10
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
5
-21
29
37
11
38
-14
1
3
0
-35
-10
-29
12
11
-34
4
27
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
29
12
27
1
16
4
-39
-3
-23
-19
-15
-14
-25
-6
-17
-2
2
-9
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-39
-22
11
-2
-11
46
-31
16
-5
-16
9
18
1
-1
-16
38
-18
10
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
9
23
3
1
34
-1
-24
13
-11
3
-19
38
-2
2
13
-20
-19
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
33
29
13
-11
-11
-12
31
32
-6
3
-6
1
-8
-3
13
10
-2
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
44
22
-14
34
-42
9
1
-6
-1
-13
-14
-24
26
-10
-23
-91
10
-27
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
25
23
-2
10
61
-49
-13
16
-3
-20
22
-26
10
6
-9
-14
6
-2
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
16
3
-7
17
12
-13
24
-1
-18
-16
6
7
-14
0
-42
-52
14
20
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
6
-24
-17
12
14
-11
-12
20
8
13
-5
-12
-2
-7
2
5
-7
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
30
-26
26
4
-26
88
20
-23
4
37
-64
-19
-31
-9
14
-20
14
-7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
11
-25
20
42
-9
6
-1
42
-18
47
-14
-4
-45
-13
0
-10
11
-54
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-15
-1
16
9
-7
6
11
15
16
-19
-5
4
-1
6
19
31
2
-65
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
21
-18
-14
-2
-43
-18
21
-33
28
8
-21
6
12
-1
-2
-10
-1
-11
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-37
29
43
-6
25
11
-8
-6
2
6
-10
14
39
16
4
-44
-14
-33
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
25
16
-17
-36
-38
-20
-18
1
18
-43
23
-7
11
4
-47
-16
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
2
-1
7
26
-4
0
0
0
0
1
9
-1
-19
-1
0
0
0
0
-15
-10
-22
-7
8
0
0
0
0
0
6
37
-17
1
0
0
0
0
-9
9
36
6
-28
0
0
0
0
0
-10
30
7
-2
0
0
0
0
0
-9
-9
37
21
0
0
0
0
-6
1
-9
7
23
0
0
0
0
19
14
-6
35
-6
0
0
0
0
0
6
-2
4
-5
0
0
0
0
3
1
-29
-27
27
0
0
0
0
1
0
-19
-12
16
0
0
0
0
-3
12
16
-39
5
0
0
0
0
0
0
8
2
41
0
0
0
0
-11
-1
-13
38
4
0
0
0
0
0
13
-1
30
-13
0
0
0
0
-12
2
-16
16
26
0
0
0
0
0
-2
0
-46
23
0
0
0
0
-4
0
-6
26
6
0
0
0
0
0
1
6
-20
38
0
0
0
0
6
-18
16
44
15
0
0
0
0
0
-1
7
-12
20
0
0
0
0
2
3
9
-18
25
0
0
0
0
0
-9
3
3
22
0
0
0
0
-9
-34
-14
-17
41
0
0
0
0
0
-4
10
18
-9
0
0
0
0
7
-3
8
-10
9
0
0
0
0
1
0
-7
-19
59
0
0
0
0
9
11
-3
-19
-11
0
0
0
0
-2
-1
2
23
27
0
0
0
0
1
9
28
3
-32
0
0
0
0
7
42
-13
8
-2
0
0
0
0
0
1
0
-11
1
0
0
0
22
4
0
12
13
0
0
0
0
0
0
0
8
11
-20
0
0
0
0
0
1
5
-1
0
0
0
0
0
0
1
0
-39
33
0
0
0
0
-3
0
-15
4
23
0
0
0
0
0
0
0
-1
-17
0
0
0
1
0
0
15
-7
16
0
0
0
0
0
0
-2
10
19
0
0
0
-24
-4
0
-2
-18
43
0
0
0
0
0
0
0
-7
4
0
0
0
0
0
0
-1
9
-2
0
0
0
0
0
0
0
0
17
0
0
0
-1
0
0
16
25
-16
0
0
0
0
0
0
0
8
-3
0
0
0
2
0
-7
-2
0
27
0
0
0
0
0
0
7
7
-2
0
0
0
8
0
0
13
-47
-7
0
0
0
0
0
0
0
20
-16
0
0
0
-2
0
0
-7
-12
19
0
0
0
0
0
0
0
16
-26
0
0
0
7
0
0
0
-11
-4
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
-3
3
12
0
0
0
0
0
0
0
18
-30
0
0
0
5
0
0
-2
-14
24
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
-2
-12
18
0
0
0
0
0
0
1
-26
8
0
0
0
-6
1
1
0
8
20
0
0
0
0
0
0
0
-15
-4
0
0
0
2
0
11
-1
-17
0
0
0
0
0
0
0
-18
-12
-17
0
0
0
0
0
0
1
-34
20
0
0
0
0
-2
-2
1
-25
-2
0
0
0
0
0
0
1
8
-41
0
0
0
0
0
0
0
-33
11
0
0
0
0
0
0
-1
20
21
0
0
0
0
0
0
0
5
-14
0
0
0
0
0
0
10
-4
-16
0
0
0
0
0
1
-7
-3
64
0
0
0
0
0
-3
0
9
-1
0
0
0
0
0
0
-3
19
52
0
0
0
0
0
0
0
-18
14
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
-19
37
0
0
0
0
0
0
0
-11
6
0
0
0
0
0
0
-3
-4
-11
0
0
0
0
0
0
2
-6
-21
0
0
0
0
0
0
0
17
64
0
0
0
0
0
0
0
-8
21
0
0
0
0
0
0
-1
1
-9
0
0
0
0
0
0
0
-11
3
0
0
0
0
0
0
0
-1
36
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
21
-17
0
0
0
0
0
0
1
-2
3
0
0
0
0
0
0
0
18
8
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
-4
2
0
0
0
0
0
1
1
6
-20
0
0
0
0
0
0
0
-25
2
0
0
0
0
0
0
0
-12
1
0
0
0
0
0
-3
-4
11
-6
0
0
0
0
0
0
-4
-21
-6
0
0
0
0
0
0
-2
13
2
0
0
0
0
0
0
-1
2
18
0
0
-7
-4
0
0
-4
-1
-7
0
0
0
0
0
0
-1
3
6
0
0
0
0
0
0
-8
-25
47
0
0
0
0
0
0
0
-20
29
0
0
-2
0
0
0
-11
-55
43
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
-2
6
9
0
0
0
0
0
0
0
13
-22
0
0
-6
0
0
0
0
-19
16
0
0
0
0
0
0
0
1
40
0
0
0
1
0
0
0
-2
-44
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
4
-8
32
0
0
0
0
0
0
-1
0
31
0
0
0
0
0
0
-1
-12
12
0
0
0
0
0
0
0
-9
14
0
0
-16
0
0
0
0
-6
18
0
0
0
0
0
0
-1
-2
-15
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
0
-1
0
0
6
0
0
0
9
-6
-7
0
0
0
0
0
0
0
9
-33
0
0
0
0
0
0
0
29
-8
0
0
0
0
0
0
0
11
9
0
0
4
1
0
0
1
-21
12
0
0
0
0
0
0
0
4
28
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
10
27
0
0
17
3
0
0
-9
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
2
3
21
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
4
25
8
0
0
0
0
0
1
2
-8
31
0
0
0
0
0
0
1
0
19
0
0
0
0
0
0
0
7
-35
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
9
9
0
0
0
0
10
-2
-2
7
-8
0
0
0
0
0
0
0
-33
-41
0
0
0
0
0
2
0
-21
14
0
0
0
0
0
2
-1
20
-11
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-12
0
0
38
0
0
0
0
0
1
-1
3
15
0
0
0
0
-12
4
-15
-1
-4
0
0
0
0
0
0
-1
4
20
0
0
0
0
0
0
2
-17
0
0
0
0
0
0
0
4
-1
10
0
0
0
0
0
1
1
0
-18
0
0
0
0
0
0
0
3
32
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-7
-4
0
0
0
0
2
-3
0
6
-17
0
0
0
0
0
0
0
2
-21
0
0
0
0
1
0
0
-2
-25
0
0
0
0
0
0
0
-2
-21
0
0
0
0
1
1
0
-1
23
0
0
0
0
0
0
-1
1
-25
0
0
0
0
1
0
0
2
-19
0
0
0
0
-2
-2
-9
-13
17
0
0
0
0
0
0
0
-6
-23
0
0
0
-11
0
0
0
-11
28
0
0
0
0
0
0
0
-16
29
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
0
0
2
-10
0
0
0
2
0
0
0
-4
-5
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
9
10
0
0
0
0
0
0
0
-1
-15
0
0
0
-8
0
0
0
-50
65
0
0
0
0
0
0
0
-16
26
0
0
0
0
0
0
-1
15
4
0
0
0
0
0
0
0
0
-7
0
0
0
-1
0
0
0
-2
18
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
19
-10
0
0
0
0
0
0
0
-4
37
0
0
0
10
0
0
0
0
8
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
6
-7
0
0
0
0
0
0
-1
-2
28
0
0
0
1
0
0
0
-9
-18
0
0
0
0
0
0
0
3
6
0
0
0
0
0
0
0
3
-18
0
0
0
0
0
0
0
-1
-6
0
0
0
9
0
0
0
2
37
0
0
0
0
0
0
0
-1
29
0
0
0
-7
0
0
0
18
-22
0
0
0
0
0
0
0
-17
11
0
0
0
0
0
0
0
-19
-13
0
0
0
0
0
0
0
1
-26
0
0
0
0
0
0
0
25
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
2
2
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
-9
42
0
0
0
0
0
0
0
-4
23
0
0
0
0
0
0
0
-11
28
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-11
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
1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-2
8
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
9
0
0
0
0
0
0
0
-10
9
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
-13
-23
0
0
0
0
0
0
0
7
11
0
0
-10
0
0
0
0
7
21
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
14
0
0
0
0
0
0
0
6
7
0
0
0
0
0
0
0
4
10
0
0
6
0
0
0
0
4
8
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
6
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-4
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
-1
-7
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
-6
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-9
0
0
13
0
0
0
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-29
4
5
13
0
0
0
0
0
0
11
-17
-19
0
0
0
0
0
0
2
-39
11
0
0
0
0
0
0
7
-13
29
0
0
0
0
2
2
3
-9
2
0
0
0
0
0
-2
-2
8
44
0
0
0
0
0
1
-2
1
-3
0
0
0
0
0
0
-12
-1
20
0
0
0
0
-8
8
-3
7
-27
0
0
0
0
0
0
0
6
-16
0
0
0
0
0
0
9
2
27
0
0
0
0
0
0
0
-18
21
0
0
0
0
0
-6
0
-4
-2
0
0
0
0
0
0
0
8
-13
0
0
0
0
0
0
0
-11
25
0
0
0
0
0
1
0
-10
17
0
0
0
0
-6
-22
-15
-23
64
0
0
0
0
-1
0
-6
5
32
-1
0
0
0
-3
0
1
11
-27
0
0
0
0
0
1
-6
7
25
0
0
0
0
-1
-4
8
-4
-25
8
0
0
0
0
0
4
11
-8
4
0
0
0
3
0
-9
-1
-20
2
0
0
0
4
0
2
-9
2
-1
0
0
0
10
27
12
15
12
-4
0
0
0
0
0
0
-9
4
12
0
0
0
0
2
-2
9
-36
6
0
0
0
0
0
1
3
11
-2
0
0
0
0
3
0
18
-11
-4
0
0
0
0
0
0
1
-37
22
0
0
0
0
1
0
-17
34
9
0
0
0
20
-13
-13
11
24
0
0
0
0
0
0
0
-40
27
0
0
0
-2
-1
0
-3
-17
31
0
0
0
0
0
0
0
-7
-5
0
0
0
0
0
0
4
-40
-3
0
0
0
0
0
0
0
4
64
0
0
0
1
0
-4
0
24
-42
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
8
13
-31
0
0
0
0
0
0
0
-6
38
0
0
0
-1
0
0
0
-24
22
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
1
10
-7
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
-24
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
0
1
18
0
0
0
0
0
0
0
-8
-15
1
0
0
-12
0
0
-1
14
-13
0
0
0
0
0
0
2
6
8
2
0
0
0
0
0
-7
11
-1
-4
0
0
0
0
0
0
-11
-13
-3
0
0
-6
0
0
2
-10
-2
6
0
0
0
0
0
0
-16
13
-11
0
0
0
0
0
4
6
34
1
0
0
0
0
0
0
-2
22
-1
0
0
2
0
0
1
-12
52
-19
0
0
0
0
0
0
7
18
-11
0
0
0
0
0
0
-1
-4
-19
0
0
0
0
0
0
-1
6
-18
0
0
-4
0
0
0
1
0
11
0
0
0
0
0
0
13
4
-7
0
0
-10
0
-3
6
-17
-44
7
0
0
0
0
0
0
13
12
0
0
0
0
0
0
0
-3
-11
0
0
0
0
0
0
0
-15
2
0
0
0
0
0
0
4
32
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-11
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-9
1
-1
0
0
0
0
0
0
4
-20
-11
0
0
0
0
0
-2
6
39
7
0
0
0
0
0
0
6
25
-9
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
1
-9
0
0
0
0
0
0
0
1
25
0
0
0
0
0
0
-2
1
-2
0
0
0
0
0
0
0
-6
-22
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
-1
-2
-1
-18
0
0
0
0
0
0
1
0
-9
0
0
0
0
0
0
0
4
-23
0
0
0
0
0
0
0
-10
-22
0
0
0
0
0
2
-8
7
16
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
11
-3
0
0
0
0
0
0
-1
-16
-10
0
0
5
0
0
0
2
-17
12
0
0
0
0
0
0
0
-3
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
-3
6
-10
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-1
-12
-20
-4
0
0
0
0
0
0
-19
-19
-6
0
0
0
0
0
0
0
-13
6
0
14
0
0
0
-3
-25
20
-2
0
0
0
0
0
0
4
-2
-5
0
0
0
0
0
1
0
6
16
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
11
0
0
0
0
0
0
1
-33
-4
0
0
0
0
0
0
-1
4
-23
0
0
0
0
0
0
0
1
26
0
-11
0
0
0
0
-2
3
-27
0
0
0
0
0
0
-1
0
11
0
0
0
0
0
0
0
7
-14
0
0
0
0
0
0
-1
3
-1
0
0
0
0
0
-3
-19
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
-2
10
0
-22
18
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
-10
-11
-15
0
0
0
0
0
0
9
-12
-9
0
0
0
0
1
-2
0
3
0
0
0
0
0
0
0
1
-1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
11
0
0
0
0
6
-19
0
1
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
-3
0
8
0
0
0
0
0
0
1
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
-1
-9
0
0
0
0
1
8
-3
7
-44
2
0
0
0
0
0
0
-13
-32
12
0
0
0
0
0
2
0
7
-6
0
0
0
0
0
0
12
-25
1
0
0
0
-1
0
0
-4
27
28
0
0
0
0
0
0
-1
2
-13
0
0
0
0
0
0
0
-3
-39
0
0
0
0
0
0
6
-3
-2
0
0
0
-2
-12
-9
-18
43
5
0
0
0
0
0
0
7
-1
9
0
0
0
0
0
-8
-25
30
14
9
0
0
0
1
2
-9
19
18
3
0
0
-1
0
0
7
-24
-23
5
0
0
0
0
-1
0
-11
-8
1
0
0
-1
0
0
1
16
-14
9
0
0
1
1
16
-60
19
-1
5
0
0
0
0
0
-2
-16
0
0
0
19
0
0
0
-6
-22
0
0
0
0
0
0
0
3
-10
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
2
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-8
0
0
0
4
0
0
0
0
7
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
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
-3
1
-6
0
0
0
0
0
0
9
-19
-18
0
0
0
0
0
0
7
-16
25
0
0
0
0
0
0
-28
2
-8
0
0
0
0
0
0
1
4
5
0
0
1
0
0
0
-2
3
5
0
0
0
0
0
0
-1
1
13
0
0
0
0
0
1
-1
-4
-59
0
0
0
0
0
0
0
33
28
-4
0
4
0
0
0
-3
-31
14
-1
0
0
0
0
0
-6
-20
-21
7
0
0
0
0
0
-11
28
-19
-7
0
0
0
0
0
0
30
17
-9
0
0
0
0
0
8
16
-86
19
0
0
0
0
0
-4
12
4
-35
0
3
0
0
-2
6
-10
9
-11
0
0
0
0
0
7
0
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-36
0
0
0
0
0
0
0
-13
5
0
0
0
0
0
0
1
7
-15
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
-3
24
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-30
-43
5
0
0
0
0
0
0
9
-5
5
0
0
0
0
0
-12
27
-20
-2
0
0
0
0
0
-12
-6
2
44
0
0
0
0
0
0
0
35
-18
0
0
0
0
0
-1
0
-8
-17
0
0
0
0
0
0
0
-32
9
0
0
0
0
0
0
-11
67
-24
0
0
0
0
0
4
25
0
0
0
0
0
0
0
-6
7
0
0
0
0
0
0
0
1
9
0
0
4
0
0
0
0
-18
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
-1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-12
-11
0
0
0
0
0
0
-1
18
-5
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
1
0
42
0
0
0
0
0
0
0
0
-28
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
11
0
0
0
0
0
0
-2
-2
62
1
0
0
0
0
0
0
12
-5
-12
0
0
0
0
0
0
10
-64
31
-4
0
0
0
1
2
-12
31
-22
0
0
0
0
0
-1
0
-25
31
0
0
0
0
0
0
2
-11
52
0
0
0
0
0
0
-2
20
12
0
0
0
0
0
-13
29
-13
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
12
20
0
0
0
0
0
1
34
14
5
0
0
0
0
0
2
3
-23
6
0
0
0
0
0
0
39
-56
7
0
0
0
0
0
10
12
-22
-28
0
0
0
0
-1
0
8
43
-26
0
0
0
0
1
0
-10
-16
7
0
0
0
0
0
-1
-5
-39
10
0
0
0
0
0
12
-11
22
-2
0
0
0
0
0
-2
-8
3
8
0
0
0
0
2
-4
-20
-3
24
0
0
0
0
0
0
-11
66
-20
0
0
0
0
0
4
0
1
3
0
0
0
0
0
-1
7
21
-46
0
0
0
0
-3
1
1
-4
15
0
0
0
0
0
-3
6
9
-3
0
0
0
0
-2
-31
-13
-1
-2
0
0
0
0
0
0
-1
-10
35
0
0
0
0
-1
0
-19
-6
5
0
0
0
0
0
0
-3
-12
21
0
0
0
0
1
-15
3
-8
4
0
0
0
0
0
0
6
-3
-6
0
0
0
0
-1
0
-3
-13
6
0
0
0
0
0
0
16
-7
31
0
0
0
0
10
-8
1
12
-37
0
0
0
0
0
1
3
5
5
0
0
0
0
0
3
15
-15
-19
0
0
0
0
0
0
-8
-29
-5
0
0
0
0
-3
-1
0
10
-12
0
0
0
0
0
1
2
8
-5
0
0
0
0
-10
-4
15
-9
-6
0
0
0
0
21
19
-5
-3
-10
0
0
0
0
0
0
-1
-30
6
0
0
0
10
0
0
-2
-14
5
0
0
0
0
0
0
-1
26
7
0
0
0
1
0
0
-2
41
-6
0
0
0
0
0
0
0
-13
21
0
0
0
0
0
0
0
-51
29
0
0
0
0
0
0
1
6
-11
0
0
0
0
0
0
0
31
-22
0
0
0
0
0
0
0
-15
8
0
0
0
7
0
0
-2
-10
34
0
0
0
0
0
0
0
4
42
0
0
0
0
0
0
0
-6
-17
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
18
15
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
11
-30
0
0
0
0
0
0
0
8
14
0
0
0
-28
0
0
0
-42
30
0
0
0
0
0
0
1
-2
15
0
0
0
0
0
0
1
-4
14
0
0
0
0
0
0
0
11
-22
0
0
0
0
0
0
-2
0
23
0
0
0
0
0
0
0
1
25
0
0
0
0
0
0
0
12
-35
0
0
0
0
0
0
0
24
-4
0
0
0
2
0
0
0
4
1
0
0
0
0
0
0
0
-11
-15
0
0
0
1
0
0
2
-19
19
0
0
0
0
0
0
0
-10
10
0
0
0
1
0
0
0
9
-77
0
0
0
0
0
0
0
0
36
0
0
0
-35
-6
7
-25
16
1
0
0
0
0
0
0
0
-38
29
0
0
0
0
0
0
0
-17
-11
0
0
0
0
0
0
0
34
27
0
0
0
0
0
0
-2
34
-28
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
0
-20
32
0
0
0
0
0
0
0
1
-24
0
0
0
0
0
0
-2
-46
18
0
0
0
0
0
0
0
-40
37
0
0
0
0
0
0
-2
-25
37
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
3
22
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
1
-1
-6
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
-3
-15
0
0
0
0
0
0
0
-7
10
0
0
0
0
0
0
2
-21
55
0
0
0
0
0
0
-2
-19
-9
0
0
0
0
0
0
0
-27
38
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-6
15
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
15
43
0
0
0
0
0
0
0
10
-21
0
0
0
0
0
0
0
9
-16
0
0
0
0
0
0
0
2
18
0
0
0
0
0
0
0
11
-2
0
0
0
0
0
0
0
4
48
0
0
0
0
0
0
0
-19
-49
0
0
0
0
0
2
-22
39
15
0
0
0
0
0
0
3
3
3
0
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
-2
-12
6
0
0
12
0
0
0
-12
-1
9
0
0
0
0
0
0
0
-10
37
0
0
0
0
0
0
1
-35
-3
0
0
0
0
0
0
0
13
11
0
0
0
0
0
0
1
-13
9
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
8
-15
0
0
0
0
0
0
0
-28
-26
0
0
0
0
0
0
-1
20
4
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
1
-20
8
0
0
0
0
0
0
0
12
10
0
0
0
0
0
0
1
-15
26
0
0
0
0
0
0
4
-28
15
0
0
0
0
0
0
0
18
-23
0
0
0
0
0
0
0
8
36
0
0
-3
0
0
0
-1
-7
8
0
0
0
0
0
0
0
18
-30
0
0
0
0
0
0
0
11
12
0
0
0
0
0
0
0
-3
12
0
0
0
0
0
0
2
6
-2
0
0
0
0
0
0
0
-5
-12
0
0
0
0
0
0
0
4
77
0
0
0
0
0
0
-1
-9
-2
0
0
3
0
0
0
0
-20
1
0
0
0
0
0
0
0
-35
26
0
0
0
0
0
0
0
17
-3
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
-1
-1
2
0
0
0
0
1
1
4
-35
4
0
0
0
0
0
0
1
-8
-19
0
0
0
0
0
0
-1
4
19
0
0
0
0
0
0
-4
25
-7
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-2
3
47
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
1
9
1
0
0
0
0
0
-6
0
-1
0
0
0
0
0
0
0
0
2
9
0
0
0
0
0
1
0
0
9
0
0
0
0
0
0
-2
-12
-12
0
0
0
0
0
0
0
-4
21
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
-2
2
-11
0
0
0
0
-1
0
0
-1
-9
0
0
0
0
0
0
1
-1
31
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-2
15
-8
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
3
23
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
12
3
0
0
0
0
0
0
-1
2
22
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
0
-9
0
0
0
0
1
-2
11
-48
22
0
0
0
0
0
0
0
-4
-5
0
0
0
1
0
0
-1
-28
15
0
0
0
0
0
0
0
-12
-8
0
0
0
0
0
0
-2
-15
25
0
0
0
0
0
0
0
1
29
0
0
0
0
0
0
0
9
-1
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
2
3
11
0
0
0
0
0
0
0
-1
-22
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
0
-2
30
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
-1
-10
23
0
0
0
0
0
0
0
-8
23
0
0
0
0
0
0
0
6
-4
0
0
0
0
0
0
0
-16
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
10
0
0
0
1
0
0
0
2
-26
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
6
17
0
0
0
0
0
0
0
7
4
0
0
0
0
0
0
0
-2
2
0
0
0
-2
0
0
-4
18
-1
0
0
0
0
0
0
0
-27
14
0
0
0
0
0
0
0
-3
-14
0
0
0
0
0
0
0
-1
-14
0
0
0
0
0
0
1
23
-12
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
-2
18
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
15
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
-3
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
13
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
-29
17
0
0
0
0
0
0
1
21
-8
0
0
0
0
0
0
1
-43
2
0
0
0
0
0
0
-2
7
-4
0
0
0
0
0
0
24
-53
33
0
0
0
0
0
0
-1
9
-10
0
0
0
0
0
0
0
-10
42
0
0
0
0
0
0
4
-9
-8
0
0
0
0
0
0
2
-13
22
0
0
0
0
0
0
-7
-9
10
0
0
0
0
0
0
-1
13
2
0
0
0
0
0
0
-3
-2
48
0
0
0
0
0
0
2
-6
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
22
0
0
0
0
0
0
-6
1
21
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
2
6
0
0
0
0
0
0
0
-2
-24
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
1
0
-15
0
0
0
0
0
0
0
-2
7
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
-1
11
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
3
0
0
0
-1
0
0
0
-17
18
-8
0
0
0
0
-4
-2
1
21
-1
0
0
0
0
0
0
0
-9
36
0
0
0
0
0
-2
0
-19
0
0
0
0
0
0
0
-6
-2
17
0
0
0
0
0
0
0
-1
21
0
0
0
0
0
0
0
2
47
0
0
0
0
0
0
0
-1
19
0
0
0
0
0
0
-13
4
-9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
3
14
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
11
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
1
4
0
0
0
0
0
2
0
-2
-23
0
0
0
0
0
0
0
8
15
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
-15
33
0
0
0
0
0
-1
-1
0
15
0
0
0
0
0
0
0
-1
-11
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
0
1
1
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
-8
0
0
0
0
2
-1
12
16
-11
0
0
0
0
0
0
-2
12
8
0
0
0
-2
0
0
0
9
13
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
-3
-52
34
0
0
0
0
0
0
0
-7
41
0
0
0
0
0
0
0
3
29
0
0
0
0
0
0
0
1
9
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
-6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-8
9
0
0
0
-1
0
0
0
-12
-17
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
-1
7
3
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
20
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
-2
0
0
0
0
0
0
0
-3
-19
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
2
-1
0
-3
-1
15
0
0
0
0
0
0
0
7
-16
0
0
0
0
0
0
0
-10
-10
0
0
0
0
0
0
0
-6
-16
0
0
0
0
0
0
0
-12
-1
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
-9
15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
6
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
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
8
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-4
23
0
0
0
0
0
0
0
-8
-10
0
0
0
0
0
0
0
-5
27
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-9
-2
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
19
-2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
3
10
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
7
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
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
12
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-1
32
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
2
17
-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
1
-1
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
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
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
16
0
0
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
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
0
-1
28
0
0
0
0
0
0
0
-12
-6
0
0
0
0
0
0
0
-4
11
0
0
0
0
0
0
0
3
-12
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
7
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
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-13
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
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
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
10
28
0
0
0
0
0
0
0
11
35
0
0
0
0
0
0
0
-6
38
0
0
0
0
0
0
0
7
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-49
0
0
0
0
0
0
-1
10
18
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
2
-10
-34
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
-18
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
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
27
0
0
0
0
0
0
0
-15
-4
0
0
0
0
0
0
-1
1
9
0
0
0
0
0
0
-2
-24
-21
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-1
-4
0
0
1
0
0
0
-2
11
12
0
0
0
0
-1
-7
-2
-18
31
0
0
0
0
0
-6
-3
36
-14
0
0
0
0
0
0
-1
-39
0
0
0
0
0
0
0
10
-6
7
0
0
0
0
0
1
0
-7
0
0
0
0
0
0
-3
-4
4
5
0
0
0
0
0
1
1
0
2
0
0
0
0
0
0
3
-9
6
0
0
0
0
-8
-2
-4
-2
33
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
-1
0
8
0
0
0
0
0
0
0
-55
2
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
-1
0
-1
3
0
0
0
0
0
-1
1
4
0
0
0
0
0
3
1
-2
3
49
0
0
0
0
0
0
0
-4
20
0
0
0
0
0
0
1
1
-11
2
0
0
0
0
0
-1
9
1
-1
0
0
0
0
0
0
0
21
-4
0
0
0
0
0
0
3
-9
-4
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
-3
0
-8
-8
0
0
0
-3
8
1
-6
13
8
0
0
0
0
1
0
-1
13
-8
0
0
0
0
0
-1
-1
4
-2
0
0
0
0
0
0
1
-9
5
0
0
0
2
0
0
0
-50
2
0
0
0
0
0
0
1
-20
-34
0
0
0
-1
0
0
2
16
-24
0
0
0
-6
2
10
-29
-18
2
0
0
0
0
0
0
6
1
0
0
0
-13
0
0
0
9
13
0
0
0
0
0
0
0
-10
8
0
0
0
0
0
0
-3
-13
13
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
0
0
-11
10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
4
-9
0
0
0
0
0
0
0
0
-4
0
0
0
3
0
0
0
-6
3
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-18
0
0
0
-1
0
0
0
6
10
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
-6
18
0
0
0
0
0
0
0
0
14
-1
0
0
9
0
0
0
10
-14
-3
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
-1
16
-39
0
0
0
0
0
0
0
0
-7
1
0
0
1
0
0
0
1
20
-41
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
4
6
0
0
0
0
0
0
7
-23
7
0
0
-3
0
0
0
0
21
6
0
0
0
0
0
0
0
6
2
0
0
-1
0
0
0
2
26
15
0
0
0
0
0
0
3
10
8
0
0
-4
0
0
0
0
-6
-20
0
0
0
0
0
0
-1
-8
-17
0
0
3
0
1
0
-75
-4
1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
12
46
0
0
0
0
0
0
0
8
7
0
0
0
0
0
0
0
17
-19
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-1
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
-2
6
-1
0
0
0
0
0
0
8
-32
-3
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
2
15
0
0
0
0
0
0
0
1
22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
2
12
3
0
0
0
0
0
0
9
-8
-7
0
0
0
0
0
0
0
-2
-14
0
0
0
0
0
0
0
-3
-33
0
0
0
0
0
0
-4
-6
28
0
0
0
0
0
0
3
0
-10
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-2
6
6
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
0
-10
17
0
0
0
0
0
0
0
3
8
0
0
6
0
0
0
0
-24
-18
0
0
0
0
0
0
0
-12
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
-20
3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
1
-7
30
-2
0
0
0
0
0
0
1
-41
-5
0
0
0
0
0
0
2
1
1
0
0
0
0
0
0
1
0
10
0
0
0
0
0
0
-3
0
-14
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-1
0
-6
0
0
0
0
0
0
-3
-9
7
0
0
0
0
0
0
-6
-6
19
0
0
0
0
0
0
-2
-6
1
0
0
0
0
0
0
1
0
41
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
0
1
42
0
0
0
0
0
0
0
0
11
0
7
0
0
0
1
13
17
-5
0
0
0
0
0
0
-2
11
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
8
-13
0
0
0
0
0
0
0
-13
29
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
-4
2
-9
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
9
-6
0
0
0
0
0
0
0
-1
-11
0
0
0
0
0
0
9
6
-22
0
0
0
0
0
0
0
-11
-1
0
0
0
0
0
0
0
3
42
0
0
0
0
0
0
0
0
-57
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
7
-4
0
0
0
0
0
0
-3
-4
53
0
0
0
0
0
0
-1
0
-24
0
0
0
0
0
0
-3
0
-16
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
-1
1
-15
0
0
0
0
0
0
0
0
13
0
0
0
0
1
0
-15
8
-16
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
-4
-6
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
-1
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-1
-1
-5
0
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
2
-21
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
-11
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
2
9
-6
4
0
0
0
0
0
0
1
18
0
0
0
0
0
0
0
-3
-19
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
-12
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
-6
-19
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
24
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-1
28
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
-2
-17
41
0
0
0
0
0
0
13
-28
0
0
0
0
0
0
0
-3
28
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-12
0
0
0
0
0
0
2
2
-32
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
2
1
-2
0
0
0
0
0
0
-2
0
27
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
7
0
-1
0
0
0
1
1
-8
-8
0
0
0
3
2
0
-10
15
0
0
0
0
0
0
0
-6
33
0
0
0
0
0
0
0
12
4
0
0
0
0
0
0
0
19
-11
0
0
0
0
0
-1
0
2
-27
0
0
0
0
0
0
0
6
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
22
0
0
0
0
-1
0
0
0
-9
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
-2
-6
-2
14
0
0
0
0
0
0
-7
-20
19
0
0
0
0
0
0
1
3
-7
0
0
0
0
0
2
6
-4
-23
0
0
0
0
1
0
1
-33
12
0
0
0
0
0
0
-1
9
11
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
4
-23
0
0
0
0
0
0
0
-18
7
0
0
0
0
0
0
0
-16
-33
-1
0
0
0
0
0
0
0
-69
7
0
0
0
0
0
-1
-3
-54
-2
0
0
0
0
0
0
-33
-15
7
0
0
0
0
0
0
4
-27
5
0
0
0
0
0
0
18
-17
-6
0
0
1
1
1
-8
-39
0
3
0
0
0
0
0
6
7
0
0
0
0
0
0
0
10
-31
0
0
0
0
0
0
-3
-6
7
0
0
0
0
0
0
6
-15
0
0
0
0
0
0
0
0
3
17
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-3
3
10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-11
4
14
0
0
4
0
0
0
-3
5
12
0
0
0
0
0
0
0
15
-1
0
0
0
0
0
0
1
1
31
0
0
0
0
0
0
-3
3
9
0
0
0
0
0
0
0
-9
19
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
0
8
-5
1
0
1
0
0
0
3
0
-115
5
0
0
0
0
0
0
0
-35
11
0
0
0
0
0
0
-2
37
-23
0
0
0
0
0
0
6
-9
-19
0
0
0
0
0
0
4
-11
-7
0
0
0
0
0
0
6
21
26
0
7
0
0
0
-8
-21
24
-10
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-7
-24
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
24
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
-18
6
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
1
-4
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
-95
7
0
0
0
0
0
0
2
46
-6
0
0
0
0
0
0
0
-27
29
0
0
0
0
0
0
0
-10
6
0
0
0
0
0
0
0
10
-6
0
0
0
0
0
0
0
12
-22
0
0
0
0
0
0
0
-3
41
0
0
0
0
0
-1
4
3
-8
0
0
0
0
0
-6
-29
0
0
0
0
0
0
0
-46
28
0
0
0
0
0
0
0
-16
-3
0
0
-1
0
0
0
0
2
9
0
0
0
0
0
0
0
0
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
-8
11
5
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
-3
0
-43
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
1
-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
1
-60
0
0
0
0
0
0
0
0
28
-8
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
-27
43
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
3
4
2
0
0
0
0
-1
3
1
14
0
0
1
0
-2
-18
-14
0
0
0
0
0
0
0
10
20
0
0
0
0
0
0
0
9
-3
0
0
0
0
0
0
0
-7
24
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
2
0
-26
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
28
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
1
-1
0
-6
0
0
0
0
1
1
0
1
-16
-4
0
0
0
0
0
0
1
24
20
0
0
0
0
0
0
0
4
-15
0
0
0
0
0
0
-4
9
-5
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-48
0
0
0
0
0
0
0
-10
0
4
0
0
0
0
0
-1
3
-19
46
0
0
0
0
0
1
1
16
-31
0
0
0
0
0
0
1
-15
-26
0
0
0
0
0
1
0
11
2
0
0
0
0
0
0
2
-9
-9
0
0
0
0
0
-4
0
16
-71
0
0
0
0
-1
2
6
4
-6
0
0
0
0
0
1
26
0
0
0
0
0
0
0
9
11
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
0
-13
14
0
0
0
0
0
0
0
-1
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
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-21
0
0
-1
0
0
0
0
-9
-23
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
-2
0
-10
0
0
0
0
0
0
0
-2
28
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
-2
10
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
0
-13
40
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
-3
-15
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-12
19
0
0
0
0
0
-3
41
-39
-5
0
0
0
0
0
-12
18
0
0
0
0
0
0
1
1
-18
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-1
1
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
10
1
0
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
13
-17
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
0
-15
23
0
0
0
0
0
0
0
24
-4
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
6
-7
0
0
0
0
0
0
0
-32
-15
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
0
-19
12
0
0
0
0
0
3
2
-9
58
0
0
27
17
15
5
-16
0
0
0
39
1
8
10
0
-8
0
0
0
0
-19
-18
-4
-33
28
0
0
3
0
0
-24
30
-53
4
0
0
0
0
0
8
-13
-27
32
0
0
0
-1
-1
-1
-13
30
-31
0
0
0
0
1
-1
7
8
16
0
0
-1
0
-11
-3
0
14
-5
0
0
0
0
18
-11
-9
8
23
0
0
0
-42
-4
1
3
-11
0
0
0
0
0
-1
-8
-3
24
14
0
0
1
-2
0
-6
-3
-3
34
0
0
0
0
0
-1
7
1
-13
0
0
0
0
0
0
1
12
14
0
0
0
0
0
4
1
-1
-10
0
0
0
1
0
0
-4
-17
1
0
0
0
0
-26
17
2
24
-21
-7
0
0
7
0
0
-15
23
1
-2
0
0
0
-4
0
-11
-10
-9
-1
0
-1
0
0
0
8
-4
12
9
0
0
0
0
2
-9
-19
16
-36
0
0
-2
2
0
-6
-35
38
1
0
0
0
4
0
-1
7
-16
24
0
2
0
7
0
3
-1
2
-18
0
0
0
-8
-28
6
-12
-7
38
1
0
-12
-1
-6
2
-10
33
-25
5
0
0
2
-2
-3
-3
35
-20
13
-29
1
0
0
-2
-13
-12
-2
34
0
0
8
1
0
2
23
-60
11
0
7
-1
2
-3
1
35
-30
6
0
0
0
10
0
3
-4
-26
7
-3
-6
1
13
0
-3
-46
32
-25
0
0
0
0
0
-11
11
0
0
0
0
0
0
0
26
-1
0
0
0
0
0
0
0
29
-14
0
0
0
0
0
0
19
-8
12
0
0
0
0
0
0
0
-4
39
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
2
7
5
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
1
0
-4
14
0
0
0
0
0
0
3
-41
46
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
3
-13
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
7
6
-11
0
0
0
0
-1
0
0
1
-20
0
0
0
0
0
0
0
-15
25
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
1
9
10
0
0
0
0
0
0
0
3
-14
0
0
0
0
0
0
-1
-4
21
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
1
11
0
0
0
0
-1
-3
0
-1
-13
0
0
0
0
0
0
0
-13
53
0
0
0
0
0
0
0
3
-26
0
0
0
0
0
0
3
-3
22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
7
-37
0
0
0
0
0
0
-1
-2
22
0
0
0
0
-3
-1
3
-3
7
0
0
0
0
0
0
0
-4
15
0
0
0
1
0
0
0
-16
5
0
0
0
0
0
0
0
-17
-3
0
0
0
0
0
0
0
21
9
0
0
0
0
0
0
0
-11
6
0
0
0
0
0
0
0
6
10
0
0
0
0
0
0
0
-4
-17
0
0
0
0
0
0
0
12
-10
0
0
0
0
0
0
0
0
-3
0
0
0
4
0
0
0
-3
19
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
4
-22
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
-11
-25
0
0
0
0
0
0
1
2
-20
0
0
0
0
0
0
0
-2
38
0
0
0
2
0
0
0
-1
-5
0
0
0
0
0
0
0
2
49
0
0
0
0
0
0
0
-19
-1
0
0
0
0
0
0
0
3
-34
0
0
0
0
0
0
0
15
9
0
0
0
0
0
0
0
-2
11
0
0
0
0
0
0
0
-19
-18
0
0
0
0
0
0
0
20
22
0
0
0
4
0
0
0
7
27
0
0
0
0
0
0
0
-6
-3
0
0
0
0
0
0
0
-36
23
0
0
0
0
0
0
0
35
-22
0
0
0
1
0
0
0
0
-20
0
0
0
0
0
0
0
-2
-1
0
0
0
4
0
0
-4
-10
1
0
0
0
0
0
0
0
26
-13
0
0
0
0
0
0
0
-21
-8
0
0
0
0
0
0
0
-27
24
0
0
0
0
0
0
0
54
14
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-11
29
0
0
0
0
0
0
0
2
-5
0
0
0
0
0
0
-1
-6
13
0
0
0
0
0
0
0
-4
10
0
0
0
0
0
0
0
8
-21
0
0
0
0
0
0
0
-4
21
0
0
0
0
0
0
0
2
12
0
0
0
0
0
0
0
-2
56
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-12
13
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-8
-12
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
0
-20
10
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
1
3
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
-3
61
0
0
0
0
0
0
0
-4
7
0
0
0
0
0
0
0
-8
10
0
0
0
0
0
0
0
-8
-13
0
0
0
0
0
0
0
7
-3
0
0
0
0
0
0
-1
0
29
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
-2
9
1
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
-3
-8
24
0
0
1
0
0
0
-6
17
-12
0
0
0
0
0
0
0
-19
41
0
0
0
0
0
0
1
-35
41
0
0
0
0
0
0
0
30
16
0
0
0
0
0
0
-16
5
12
0
0
0
0
0
0
0
-8
27
0
0
0
0
0
0
0
-9
40
0
0
0
0
0
0
0
-3
-9
0
0
0
0
0
0
-10
30
-69
0
0
0
0
0
0
0
1
-17
0
0
0
0
0
0
0
8
35
0
0
0
0
0
0
0
6
-13
0
0
0
0
0
0
0
-6
24
0
0
0
0
0
0
-2
-4
-8
0
0
0
0
0
0
0
-32
4
0
0
0
0
0
0
0
18
-6
0
0
0
0
0
0
0
3
10
0
0
0
0
0
0
0
4
9
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
4
1
1
0
0
0
0
0
0
0
-18
-1
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
-1
-13
-1
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
-19
25
0
0
0
0
0
0
0
-12
-22
0
0
1
-1
0
0
-8
-26
-15
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
-11
14
0
0
0
0
0
0
0
2
-13
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
-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
-7
0
0
0
0
0
0
-1
6
8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
2
6
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
-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
-7
0
0
0
0
0
0
0
0
8
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
-2
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
-4
-23
44
0
0
0
0
0
0
0
-8
25
0
0
0
0
0
0
0
-15
-10
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
-41
31
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
17
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
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-12
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
-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
8
-1
0
0
0
0
0
0
0
-1
26
0
0
0
0
0
0
0
16
-5
0
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
-12
-4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-15
0
0
0
0
0
0
0
-15
-14
0
0
0
0
0
0
0
5
9
0
0
0
0
0
0
0
-4
7
0
0
0
0
0
0
10
4
-5
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-8
-2
-9
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
7
-13
8
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
-3
-2
6
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
-13
-22
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
-3
0
-14
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
-7
16
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
-10
-1
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
2
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
1
3
0
0
0
0
0
-7
-18
-6
21
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
-1
-3
0
0
0
0
0
0
0
-5
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
30
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
3
22
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
1
6
12
0
0
0
0
0
-3
0
0
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-6
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
15
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-26
16
0
0
0
0
0
0
0
-6
32
0
0
0
1
0
0
0
2
4
0
0
0
0
0
0
0
-2
-26
0
0
0
0
0
0
1
14
21
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
-3
0
0
-1
-40
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-6
12
0
0
0
0
0
0
0
-35
-3
0
0
0
0
0
0
0
3
6
0
0
0
0
0
0
0
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
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
9
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-19
0
0
0
0
0
0
0
4
-13
0
0
0
0
0
0
0
-19
6
0
0
0
0
0
0
0
24
6
0
0
0
0
0
0
0
-23
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
-1
16
-2
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
1
-24
7
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
-9
-7
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-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
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
8
9
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
-8
-16
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
1
8
-18
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
-8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-15
0
0
0
0
0
0
-3
-38
15
0
0
0
0
0
0
0
1
-20
0
0
0
0
0
0
6
28
3
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
0
-1
0
0
0
0
0
0
2
0
1
0
0
0
0
0
1
0
0
-10
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
-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
-1
0
0
6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
2
-1
4
0
0
0
0
0
0
0
-3
42
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
0
-7
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
2
-22
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
7
-11
46
0
0
0
0
3
2
0
-1
-4
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
-4
13
0
0
0
0
0
0
0
-11
15
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
2
7
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
2
0
0
0
0
0
1
0
0
-19
0
0
0
0
1
1
0
0
31
0
0
0
0
0
0
0
2
-4
-4
0
0
0
0
0
0
0
-12
-2
0
0
0
0
0
-2
-6
16
-10
0
0
0
0
0
0
0
11
-1
0
0
0
0
0
0
-6
18
3
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
-2
1
-8
2
0
0
0
0
0
0
0
-40
6
0
0
0
0
0
0
1
1
-30
0
0
0
0
0
0
0
-15
-2
0
0
0
0
0
-1
2
-4
-10
0
0
0
0
0
0
0
-7
7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-15
14
0
0
0
0
4
6
-34
-7
3
0
0
0
0
0
0
-22
-56
0
0
0
-3
0
0
0
0
17
0
0
0
0
0
0
0
15
30
0
0
0
0
0
0
-2
-21
41
0
0
0
0
0
0
0
-11
6
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
-4
-6
-2
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
1
11
-4
0
0
0
0
0
0
-3
-10
-1
0
0
0
0
0
0
0
11
4
0
0
0
0
0
0
0
-6
10
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
8
-12
-6
0
0
1
0
0
0
-1
-45
31
0
0
0
0
0
0
0
-6
-7
0
0
0
0
0
0
0
2
-40
0
0
0
0
0
0
-4
4
-23
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
-10
0
0
-4
0
1
-1
14
36
1
0
0
0
0
0
0
-12
26
0
0
0
0
0
0
0
11
17
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
0
0
-17
4
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
4
-20
1
0
0
0
0
0
0
0
-25
3
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
1
24
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
-1
17
12
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
0
23
0
0
0
0
0
0
0
0
-63
0
0
0
0
0
0
0
0
7
0
0
0
0
1
0
-7
12
-2
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
10
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
-6
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
-2
0
0
0
0
0
0
0
-13
18
-4
0
0
0
0
0
0
2
-11
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
3
0
-14
0
0
0
0
0
0
-2
0
-9
0
0
0
0
0
0
1
0
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
-1
7
14
0
0
0
0
0
0
0
-3
15
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
3
0
-20
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
17
0
1
0
0
0
-1
0
69
11
0
0
0
0
0
0
-1
-26
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
24
-16
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-22
-12
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
15
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
1
10
0
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
0
-2
25
0
0
0
0
0
0
0
-8
11
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
53
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
17
1
9
0
0
0
0
0
0
1
18
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-4
3
-5
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
-1
0
-29
0
0
0
0
0
0
0
-1
-9
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
16
0
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
2
39
0
0
2
0
0
0
10
10
-1
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-32
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-10
0
0
0
0
0
0
0
0
45
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
-58
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
36
0
0
0
0
0
0
0
-1
46
0
0
0
0
0
0
0
0
-25
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
-3
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-11
-3
23
0
0
0
0
0
0
-18
13
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
1
-3
-7
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
1
0
-6
0
0
0
0
0
0
0
2
-14
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
0
-1
27
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
1
2
30
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
1
47
0
0
0
0
0
0
0
-2
-15
0
3
0
0
0
0
0
-29
8
0
0
0
-1
1
0
1
-11
0
0
0
0
0
0
0
-17
20
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
3
-33
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
-8
32
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
-12
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
2
-3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
-22
16
0
0
0
0
0
0
-2
-40
14
0
0
0
0
0
0
0
-12
22
0
0
0
0
0
-2
-2
12
4
0
0
0
0
0
0
0
-40
18
0
0
0
0
0
0
0
10
28
0
0
0
0
0
0
0
6
-16
0
0
0
0
0
0
0
-1
-14
0
0
0
0
0
0
0
33
-49
0
0
0
0
0
0
0
-2
-38
-1
0
0
0
0
0
0
0
-40
7
0
0
0
0
0
1
1
-36
-6
0
0
0
0
0
0
-1
-38
-4
0
0
0
0
0
0
4
-55
-3
0
0
0
0
0
0
4
-124
6
0
0
3
1
0
47
27
22
-1
0
0
0
0
0
15
12
0
0
0
0
0
0
0
-2
-12
0
0
0
0
0
0
0
10
-24
0
0
0
0
0
0
0
-5
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
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
15
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
0
0
0
0
14
-23
0
0
0
0
0
0
2
-3
-1
0
0
0
0
0
0
-1
-3
-16
0
0
0
0
0
0
2
9
21
0
0
0
0
0
0
0
-8
-4
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
2
-33
1
0
0
0
0
0
0
12
-29
9
0
0
0
0
0
0
0
-18
12
0
0
0
0
0
-1
0
9
10
0
0
0
0
0
0
0
-16
8
0
-1
0
0
0
0
1
-12
26
0
0
0
0
0
0
0
16
-14
0
-1
0
0
0
-11
-41
27
15
0
0
0
0
0
1
-14
0
0
0
0
0
0
0
-1
-21
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
0
-7
-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
-4
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
19
-13
0
0
0
0
0
0
0
8
15
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
-3
43
-5
0
0
0
0
0
0
-1
-43
-6
0
0
0
0
0
0
2
-13
-7
0
0
0
0
0
0
0
44
1
0
0
0
0
0
0
0
28
-49
0
0
0
0
0
0
-1
21
23
0
0
0
0
0
0
0
-36
18
0
0
0
0
0
-6
8
-9
25
0
0
0
0
0
3
28
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
0
-12
-12
0
0
1
0
0
0
0
10
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
8
-41
0
0
0
0
0
0
0
11
-7
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
-2
32
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
-13
0
0
0
0
0
0
2
0
17
-1
0
0
0
0
0
0
0
-66
31
0
0
0
0
0
0
0
-13
4
0
0
0
0
0
-1
1
-16
-5
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
2
9
-14
0
0
0
0
0
-1
0
-21
12
1
0
0
0
0
-19
1
42
13
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
22
-57
0
0
0
0
0
0
0
-17
11
0
0
0
0
0
0
-1
-12
32
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
0
8
20
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
2
-8
4
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
-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
8
-29
0
0
0
0
0
0
0
-6
7
0
0
0
0
0
0
0
-1
-19
0
0
0
0
0
0
0
-2
27
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
13
18
6
0
0
0
0
0
0
-2
-18
10
0
0
0
0
0
0
0
24
1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-6
19
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
21
-16
0
0
0
-1
0
-18
48
-7
-19
0
0
0
0
0
-1
25
0
0
0
4
0
0
0
-13
-13
0
0
0
0
0
0
0
2
39
0
0
0
0
0
0
1
-12
17
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
15
-1
0
0
0
0
0
0
0
10
-33
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
-2
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-3
-21
-6
0
-2
0
0
0
0
1
3
21
0
0
0
0
0
0
1
48
14
0
0
0
0
0
0
0
1
-54
0
0
0
0
0
0
-2
8
-39
0
0
0
0
0
0
0
0
73
0
0
0
0
0
0
0
-10
-6
0
-1
0
0
0
17
-18
11
26
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
-10
42
0
0
0
0
0
0
0
-1
13
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
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
-10
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
12
-22
0
0
0
0
0
0
0
1
-22
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-64
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
60
4
0
0
0
0
0
-1
1
32
-18
0
0
0
0
0
0
0
6
-9
0
0
0
0
0
0
0
-11
68
0
0
0
0
0
0
0
-25
2
0
0
0
0
0
0
4
7
-18
0
0
-1
0
0
0
0
-8
-16
0
0
0
0
0
-1
-11
19
-43
0
0
-16
11
4
-9
8
0
0
0
24
3
-1
41
14
1
0
0
0
0
-20
-9
13
9
9
0
0
24
-4
0
-6
14
19
-4
0
0
0
0
-1
10
16
-31
1
0
0
0
13
0
-38
-1
-2
-11
0
0
0
0
3
-19
-3
-14
17
0
0
-2
1
-13
-2
35
2
-22
0
0
0
0
25
-22
-9
5
-17
0
0
0
-21
-3
3
0
-23
33
0
0
0
0
12
-11
-8
1
21
0
0
-2
0
0
1
-11
-14
17
0
0
0
0
-2
-4
4
-35
23
0
0
0
-2
0
-9
27
-7
3
0
0
0
0
-8
12
-12
11
-4
0
0
0
1
2
-12
10
7
-8
0
0
0
0
-6
26
-40
-5
5
2
0
0
26
2
4
-35
26
20
0
0
0
0
-15
-6
-10
3
-20
-4
0
-6
-4
1
2
-18
-7
12
5
0
0
0
-9
-13
10
4
6
4
0
0
7
2
6
7
-49
53
-4
0
0
0
8
7
1
-3
2
10
0
6
0
8
-10
30
13
25
6
0
0
0
10
-38
-7
19
-17
-8
0
0
-9
0
-10
24
35
-54
-4
0
0
0
19
1
-6
-18
19
-11
14
-16
7
0
4
-4
-18
-13
-3
-5
0
0
8
18
-6
-31
12
20
-1
0
-6
-1
4
-7
19
6
0
-17
0
0
-7
22
39
-15
18
12
-1
-13
0
19
39
8
-29
-8
11
6
0
0
-3
-22
-6
-31
8
0
0
0
0
-2
-26
22
53
0
0
0
0
0
-7
4
-16
8
7
0
0
0
0
0
-3
-3
19
0
0
0
0
0
15
3
5
-18
-5
0
0
0
0
0
0
-2
-7
17
0
0
0
0
-1
2
27
-3
5
0
0
0
0
0
1
-8
23
-18
0
0
0
0
-21
7
8
12
18
0
0
0
0
0
0
12
-23
13
0
0
0
0
0
-2
-1
-3
25
0
0
0
0
0
0
-1
-6
-2
0
0
0
0
-2
3
4
-6
4
0
0
0
0
0
1
0
-2
26
0
0
0
0
0
0
0
8
-8
0
0
0
0
0
0
1
24
-36
0
0
0
0
-14
18
-10
-1
51
0
0
0
0
-1
16
-6
54
-14
0
0
0
0
0
1
9
-15
-1
0
0
0
0
0
0
1
-33
26
0
0
0
0
0
-4
-4
-32
45
0
0
0
0
0
-1
9
-3
8
0
0
0
0
0
0
0
-19
12
0
0
0
0
0
-1
1
0
-3
0
0
0
0
13
7
-3
10
-35
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
17
-6
0
0
0
0
0
17
-1
-20
-7
0
0
0
0
0
0
0
-8
-5
0
0
0
0
-3
-1
3
-3
50
0
0
0
0
7
18
-25
-14
-10
0
0
0
0
0
0
35
33
-8
0
0
0
-14
-4
0
-9
-11
3
0
0
0
0
0
0
15
-21
4
0
0
0
-1
-1
-1
0
-15
7
0
0
0
0
0
0
-3
-1
14
0
0
0
6
0
-1
4
-38
19
0
0
0
0
0
-3
0
19
-17
0
0
0
1
0
-3
17
10
-41
0
0
0
0
0
0
-1
3
4
0
0
0
-3
0
0
2
29
24
0
0
0
0
0
0
0
-12
8
0
0
0
-2
0
0
7
5
-2
0
0
0
0
0
0
0
-16
2
0
0
0
0
0
0
0
-28
30
0
0
0
0
0
0
0
-9
17
0
0
0
0
0
0
-1
-55
16
0
0
0
0
0
0
10
-3
22
0
0
0
2
2
3
0
5
-6
0
0
0
0
0
0
-2
0
-2
0
0
0
2
0
-1
-4
-1
-48
0
0
0
0
0
0
0
11
16
0
0
0
2
0
0
0
3
7
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
11
-12
0
0
0
0
0
-1
0
28
-16
0
0
0
35
0
-1
-3
0
7
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-15
-31
0
0
0
0
0
0
1
18
-5
0
0
0
-8
0
0
0
15
40
0
0
0
0
0
0
0
-13
-13
0
0
0
9
0
-1
-7
8
-8
0
0
0
0
0
-1
6
0
-15
0
0
0
0
0
-1
-3
46
0
0
0
0
0
0
1
0
-3
-6
0
0
0
0
-1
2
-6
-28
30
0
0
0
0
0
9
0
-16
-16
0
0
0
0
0
-1
0
-35
50
0
0
0
0
0
0
2
-10
-15
0
0
0
0
0
0
3
-22
8
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
10
-17
0
0
0
0
0
0
0
2
13
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
-2
7
20
0
0
0
0
0
0
0
3
-26
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
1
-3
-5
0
0
0
0
0
0
0
-8
-13
0
0
0
0
0
0
0
7
30
0
0
0
0
0
0
0
-2
24
0
0
0
0
-1
1
3
-8
-21
0
0
0
0
0
0
1
-2
28
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
1
-6
4
0
0
0
0
0
0
0
-18
35
0
0
0
0
0
0
0
-3
25
0
0
0
0
0
0
0
3
30
0
0
0
0
0
0
-1
-25
-21
0
0
0
0
0
0
0
-2
28
0
0
0
0
0
0
-1
2
-7
0
0
0
0
0
0
-2
20
-26
0
0
0
0
0
1
-28
23
15
0
0
0
0
0
0
-12
-1
-5
0
0
0
0
0
0
3
-19
7
0
0
-24
0
-2
0
11
2
-2
0
0
0
0
0
0
0
26
-14
0
0
0
1
0
0
7
0
-4
0
0
0
0
0
0
0
-72
47
0
0
1
0
0
0
-12
7
-27
0
0
0
0
0
0
1
-10
33
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
-1
7
38
0
0
-1
0
0
0
-1
17
-45
0
0
0
0
0
0
0
1
63
0
0
0
0
0
0
0
6
-11
0
0
0
0
0
0
0
4
-4
0
0
-1
0
0
0
0
-9
9
0
0
0
0
0
0
0
-3
24
0
0
0
0
0
0
-1
-6
67
0
0
0
0
0
0
0
-12
24
0
0
9
-1
0
0
6
-8
-10
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
1
-2
0
0
-1
0
0
0
1
-1
-2
0
0
0
0
0
0
0
-13
20
0
0
0
0
0
0
0
2
20
0
0
0
0
0
0
0
-1
4
0
0
12
0
0
0
0
10
-15
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
-8
-11
0
0
0
0
0
0
0
2
22
0
0
13
1
0
0
-3
-20
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
-20
0
0
0
0
0
0
1
11
7
0
0
0
0
0
0
0
1
-14
0
0
0
0
0
0
0
25
-1
0
0
0
0
0
15
-2
35
-39
0
0
0
0
0
0
2
-9
10
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
-16
14
0
0
0
0
2
-6
0
-4
-8
0
0
0
0
0
0
0
4
27
0
0
0
0
0
0
0
11
-12
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
-6
11
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-1
-10
0
0
0
0
-16
-3
12
-2
23
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
-36
-11
0
0
0
0
0
0
0
6
57
0
0
0
0
0
-3
-1
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
1
7
1
0
0
0
0
4
13
-1
-13
31
0
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
12
-29
0
0
0
0
0
0
0
3
-10
0
0
0
0
1
-1
4
-4
-47
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
0
-13
0
0
0
0
-2
-1
-3
-8
12
0
0
0
0
0
0
-1
12
6
0
0
0
9
0
0
1
-15
-9
0
0
0
0
0
0
0
-27
42
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-16
49
0
0
0
0
0
0
-1
45
-43
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
-21
3
0
0
0
0
0
0
0
-3
-5
0
0
0
3
0
0
0
-7
8
0
0
0
0
0
0
0
-10
16
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
6
-24
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
-13
35
0
0
0
-37
-2
0
0
11
7
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
7
-5
0
0
0
0
0
0
0
3
32
0
0
0
0
0
0
1
8
8
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
-1
55
0
0
0
16
0
0
0
6
-7
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
-3
-12
0
0
0
0
0
0
0
-1
13
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
7
16
0
0
0
0
0
0
0
-13
17
0
0
0
0
0
0
0
8
9
0
0
0
0
0
1
0
-2
15
0
0
0
0
0
0
0
-7
30
0
0
0
0
0
0
0
-1
8
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
7
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
11
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
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
0
-6
-2
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
-8
-9
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
0
-2
-3
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
4
8
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
3
-17
0
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
0
-15
42
0
0
2
0
0
0
0
-3
16
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
7
16
0
0
0
0
0
0
0
-2
-17
0
0
0
0
0
0
-1
9
4
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
-13
-28
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
6
-11
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
1
1
-4
0
0
0
0
0
0
0
3
11
0
0
0
0
0
0
0
0
-12
0
0
-25
0
0
0
0
6
-3
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
1
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
-4
0
0
1
0
0
0
-1
-1
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-41
1
-10
32
0
0
0
0
0
0
12
-68
26
0
0
0
0
0
-1
3
-5
16
0
0
0
0
0
1
11
-18
-18
0
0
0
0
1
0
10
13
22
0
0
0
0
0
0
-1
-2
8
0
0
0
0
0
-1
0
-1
6
0
0
0
0
0
1
-2
-4
7
0
0
0
0
13
12
0
-13
-16
0
0
0
0
0
0
-3
-30
15
0
0
0
0
0
0
0
3
17
0
0
0
0
0
0
-1
6
10
0
0
0
0
0
0
-1
-12
-40
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
1
-3
17
0
0
0
0
7
13
16
-4
39
0
0
0
0
0
0
-4
17
-30
1
0
0
0
0
1
0
18
44
2
0
0
0
0
0
-1
11
45
2
0
0
0
-1
-3
2
11
2
-3
0
0
0
0
0
0
-3
-27
31
0
0
0
0
0
0
1
-10
25
0
0
0
0
0
0
0
-3
5
0
0
0
-18
6
-6
-22
0
5
0
0
0
0
0
-1
-8
-48
49
0
0
0
0
0
-1
-2
0
8
0
0
0
0
0
0
12
-4
16
0
0
0
-2
-19
-4
46
-5
-13
0
0
0
0
0
1
0
22
-3
0
0
0
6
0
0
4
20
7
0
0
0
3
1
-25
-1
-30
9
0
0
0
0
-2
2
1
-6
0
0
0
-27
-1
4
-3
-1
3
0
0
0
0
0
0
1
27
18
0
0
0
0
0
0
-1
-16
12
0
0
0
0
0
0
0
-2
7
0
0
0
1
0
0
-1
7
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
9
-11
0
0
0
3
0
0
1
-17
2
0
0
0
0
0
0
0
9
-26
0
0
0
0
0
0
1
-8
-4
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
10
-16
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
-3
24
40
-1
0
0
9
0
0
-1
-108
26
1
0
0
0
0
0
0
27
20
2
0
0
0
0
0
1
-17
5
-2
0
0
0
0
0
0
3
-6
-10
0
0
-2
0
0
0
-17
-32
14
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
18
-1
0
0
0
0
0
0
-6
-6
34
0
0
-1
0
0
0
2
26
1
0
0
0
0
0
0
-19
-9
-15
0
0
0
0
0
0
12
-11
6
0
0
0
0
0
0
4
-10
6
0
0
-7
0
0
0
-8
16
-5
0
0
0
0
0
0
8
-16
2
0
0
-9
0
0
1
11
16
5
0
0
0
0
1
-2
-1
6
0
0
0
0
0
0
0
3
6
0
0
0
0
0
0
0
-9
19
0
0
0
0
0
0
0
-3
24
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
-1
1
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
17
-3
0
0
0
0
0
0
0
9
16
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
1
-38
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
-1
-26
3
0
0
0
0
0
0
2
6
-4
0
0
0
0
0
0
-1
1
7
0
0
0
0
0
0
8
-15
4
0
0
0
0
0
0
0
-3
-17
0
0
0
0
0
0
-1
-6
3
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
0
-15
0
0
0
0
0
0
-2
-8
-1
0
0
0
0
0
0
-1
12
6
0
0
0
0
0
0
-1
0
20
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-3
6
-75
0
0
0
0
0
0
-1
-1
22
0
0
0
0
0
0
2
0
-26
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
-1
3
3
0
0
0
0
0
0
0
-34
-6
0
0
0
0
0
0
0
-15
-6
0
0
19
1
0
0
0
9
8
0
0
0
0
0
0
0
-2
1
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
12
12
0
0
3
0
0
0
0
22
-36
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
-9
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
16
4
-1
0
0
0
0
0
0
-32
-21
-2
0
0
0
0
0
0
2
0
-8
0
-2
0
0
0
-1
-25
19
-9
0
0
0
0
0
0
0
2
-11
0
0
0
0
0
0
0
9
-30
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
3
-59
0
0
0
0
0
0
-6
4
-18
0
0
0
0
0
0
2
0
11
0
0
0
0
0
0
1
-2
7
0
-2
0
0
0
0
-1
3
-9
0
0
0
0
0
0
-3
1
3
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
-6
0
8
0
4
0
0
0
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
-36
9
0
0
0
0
0
0
-4
-25
-13
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
4
-2
8
0
0
0
0
0
0
0
-12
28
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
7
0
0
0
0
-7
-8
-3
-27
-2
0
0
0
0
0
0
0
-2
32
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-4
-19
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
-6
0
0
0
0
1
-12
-11
11
8
1
0
0
0
0
0
-1
2
-7
38
0
0
0
0
0
3
-6
6
6
0
0
0
0
0
0
0
0
-6
0
0
0
0
1
-1
17
-7
0
0
0
0
0
0
0
-18
7
7
0
0
0
0
0
0
0
-12
4
0
0
0
0
0
0
-1
13
-8
0
0
0
-12
17
1
8
16
-18
0
0
0
0
0
0
-18
1
1
-3
0
0
0
0
-1
-10
9
18
6
0
0
0
0
0
0
-1
-42
5
0
0
1
2
-6
39
-22
-13
20
0
0
0
0
0
8
-2
11
-28
0
0
0
0
0
-12
-16
-36
-2
0
0
3
0
1
-9
8
-22
1
0
0
0
0
0
6
12
0
0
0
18
0
0
1
-3
-44
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
0
11
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
0
0
0
0
0
0
0
28
0
0
0
1
0
0
0
6
-14
0
0
0
0
0
0
0
4
-17
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-10
27
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
3
19
0
0
0
0
0
0
-1
-8
20
22
0
0
-5
0
0
0
-8
4
38
0
0
0
0
0
1
-4
-4
5
0
0
0
0
0
0
-6
-1
-65
0
0
0
0
0
0
-3
15
17
0
0
-1
0
0
0
11
-28
46
0
0
0
0
0
0
-2
-13
-5
0
0
0
0
0
0
-2
-4
8
0
0
0
0
0
0
0
4
-15
0
0
13
0
0
0
-10
-6
-27
-6
0
0
0
0
0
-2
1
-1
-11
0
0
0
0
0
2
0
-7
-5
0
0
0
0
0
-27
41
-37
8
0
0
0
0
0
-20
-8
-2
8
0
0
0
0
0
2
4
1
6
0
3
0
0
0
7
-12
-23
-2
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
-13
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
7
-10
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
13
-8
8
0
0
0
0
0
0
-2
12
-17
0
0
0
0
0
0
1
2
26
0
0
0
0
0
0
1
-1
22
0
0
0
0
0
0
1
-7
45
0
0
0
0
0
0
0
-4
36
0
0
0
0
0
0
0
0
-27
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
7
47
-3
0
0
0
0
0
0
-1
-41
-20
0
0
0
0
0
0
0
-36
-20
0
0
0
0
0
0
0
-19
3
0
0
0
0
0
0
24
44
-23
0
0
0
0
0
0
8
-46
68
0
0
0
0
0
0
0
-33
37
0
0
0
0
0
1
12
-42
-2
0
0
0
0
0
2
13
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
3
0
0
2
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-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
-6
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-22
3
14
0
0
0
0
0
0
0
-1
-52
0
0
0
0
0
0
0
0
8
0
3
0
0
0
0
0
0
30
0
0
0
0
0
0
0
16
34
0
0
0
0
0
0
-4
-7
24
0
0
0
0
0
0
1
0
-20
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
-17
-3
0
0
0
0
0
0
1
-41
-16
0
0
0
0
0
0
0
-11
-16
-4
0
0
0
0
0
0
9
-17
0
0
0
0
0
0
13
33
4
0
0
0
0
0
0
15
10
33
0
0
0
0
0
-1
0
0
-26
0
0
0
0
0
-3
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-30
18
-15
7
0
0
0
0
-1
-18
-15
-8
6
0
0
0
0
-2
8
13
-1
9
0
0
0
0
0
-1
-10
-8
-1
0
0
0
0
-2
-13
10
44
3
0
0
0
0
0
0
-1
-31
-7
0
0
0
0
-1
-1
2
1
-8
0
0
0
0
0
2
12
40
-23
0
0
0
0
-7
-20
-6
1
11
0
0
0
0
0
0
2
-4
-20
0
0
0
0
0
0
3
7
20
0
0
0
0
0
0
-3
-14
9
0
0
0
0
-1
11
0
-13
22
0
0
0
0
0
0
0
38
-21
0
0
0
0
0
0
1
10
-18
0
0
0
0
0
0
1
2
-1
0
0
0
0
-20
16
-28
24
7
0
0
0
0
0
1
-1
21
-22
0
0
0
0
0
0
11
-8
2
0
0
0
0
0
0
1
0
20
0
0
0
0
0
20
0
5
0
0
0
0
0
0
-2
-1
3
39
0
0
0
0
0
0
0
0
-39
0
0
0
0
0
0
0
2
9
0
0
0
0
6
-12
-1
-34
-15
0
0
0
0
0
0
-1
-50
-2
0
0
0
0
0
0
-4
6
27
0
0
0
0
0
0
0
-9
-9
0
0
0
0
9
4
10
-4
-30
0
0
0
0
0
-1
0
-22
11
0
0
0
0
2
0
1
-4
-23
0
0
0
0
2
0
-12
-47
10
0
0
0
0
0
3
-2
-3
0
0
0
0
6
0
-1
-30
48
4
0
0
0
0
0
0
0
14
11
0
0
0
-1
0
0
3
-20
-5
0
0
0
0
0
0
0
5
-1
0
0
0
0
0
0
0
5
-13
0
0
0
0
0
0
1
22
-8
0
0
0
0
0
0
0
3
18
0
0
0
0
0
0
0
30
27
0
0
0
-6
0
0
1
2
26
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-2
17
-39
0
0
0
0
0
0
0
-2
24
0
0
0
0
0
0
0
-19
18
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
-41
41
0
0
0
-43
0
0
0
11
48
0
0
0
0
0
0
0
-15
19
0
0
0
1
0
0
1
-10
-5
0
0
0
0
0
0
0
-9
-26
0
0
0
0
0
0
1
-8
-14
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
0
3
4
0
0
0
12
0
0
0
-17
-22
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
-13
-2
0
0
0
0
0
0
0
-37
25
0
0
0
0
0
0
0
-12
2
0
0
0
0
0
0
0
-8
-11
0
0
0
-11
0
0
1
34
9
0
0
0
0
-1
4
-12
-5
13
0
0
0
0
0
0
1
-89
11
0
0
0
0
0
0
4
17
-13
0
0
0
0
0
0
10
-8
5
0
0
0
0
0
0
-2
-8
72
0
0
0
0
0
0
0
15
3
0
0
0
0
0
0
0
-29
41
0
0
0
0
0
0
0
12
7
0
0
0
0
0
0
0
11
36
0
0
0
0
0
0
0
-12
8
0
0
0
0
0
0
0
4
25
0
0
0
0
0
0
1
-11
9
0
0
0
0
0
0
0
3
8
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
-3
-9
0
0
0
0
0
0
0
1
-21
0
0
0
0
0
0
-4
-7
10
0
0
0
0
0
0
0
8
4
0
0
0
0
0
0
0
-4
-11
0
0
0
0
0
0
0
2
11
0
0
0
0
0
0
0
-18
24
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
-3
-19
0
0
0
0
0
0
0
3
26
0
0
0
0
0
0
0
-8
10
0
0
0
0
0
0
0
13
-12
0
0
0
0
0
0
0
-9
-19
0
0
0
0
0
0
0
6
21
0
0
0
0
0
0
0
2
22
0
0
0
0
0
0
0
13
-13
0
0
0
0
0
0
19
-4
-7
0
0
0
0
0
0
6
20
-11
0
0
0
0
0
0
6
8
1
0
0
-18
0
0
0
0
-6
19
0
0
0
0
0
0
1
11
8
0
0
0
0
0
0
0
-49
28
0
0
0
0
0
0
0
-2
38
0
0
1
0
0
0
-3
-52
61
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
1
9
-8
0
0
0
0
0
0
0
-7
34
0
0
2
0
0
0
1
7
-25
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
-16
4
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
2
-3
-18
0
0
0
0
0
0
-1
-22
45
0
0
0
0
0
0
0
-7
20
0
0
11
0
0
0
0
-13
19
0
0
0
0
0
0
0
22
30
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
3
1
0
0
-2
0
0
0
0
1
-22
0
0
0
0
0
0
0
6
-4
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
1
6
0
0
-2
0
0
0
0
2
10
0
0
0
0
0
0
0
9
11
0
0
0
0
0
0
0
-32
-8
0
0
0
0
0
0
0
-4
27
0
0
-1
1
0
0
-4
-27
-11
0
0
0
0
1
-9
-24
8
-25
0
0
0
0
0
-1
9
-17
1
0
0
0
0
0
0
1
-21
80
0
0
0
0
0
0
-1
25
6
0
0
0
0
0
0
9
-16
0
0
0
0
0
0
0
0
7
24
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
6
13
0
0
0
0
0
0
-2
6
30
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
2
2
4
0
0
0
0
0
0
-1
0
11
0
0
0
0
0
0
0
6
-18
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
0
-1
4
0
0
0
0
8
-18
-1
4
0
0
0
0
0
0
2
0
-18
12
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
-1
0
6
-10
0
0
0
0
0
0
-1
-1
-7
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
11
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
-2
-21
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
-4
-2
0
0
0
0
0
0
0
-19
-5
0
0
0
1
0
0
-2
-12
4
0
0
0
0
0
0
0
-11
5
0
0
0
0
0
0
-1
16
-4
0
0
0
0
0
0
-1
1
13
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
3
9
17
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
8
0
0
0
0
0
0
0
-10
7
0
0
0
-9
0
0
0
-10
-6
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
10
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
10
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
2
0
0
0
0
0
0
0
0
0
6
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
7
-7
0
0
0
0
0
0
0
6
-15
0
0
0
0
0
0
0
13
-6
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
-47
12
0
0
0
0
0
0
1
1
7
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
0
-8
37
0
0
0
0
0
0
0
-2
13
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
6
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-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
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
0
0
0
0
0
0
4
-11
4
0
0
0
0
0
0
8
-10
14
0
0
0
0
0
0
2
-26
2
0
0
0
0
0
0
-7
7
4
0
0
0
0
0
0
-11
-7
22
0
0
0
0
0
0
4
-18
36
0
0
0
0
0
0
0
3
22
0
0
0
0
0
0
4
-17
-4
0
0
0
0
0
0
0
-6
-11
0
0
0
0
0
0
0
9
-22
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
0
-9
10
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
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
9
-13
-15
0
0
0
0
0
0
0
-27
3
0
0
0
0
0
0
0
2
2
0
0
1
0
0
0
0
15
6
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-2
-1
-13
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
-10
0
0
0
0
-3
-32
-11
11
31
0
0
0
0
0
0
0
-34
11
0
0
0
0
0
0
-6
-6
19
0
0
0
0
0
0
0
7
-7
0
0
0
0
0
0
-6
0
-18
0
0
0
0
0
0
1
3
52
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
23
0
0
0
0
0
16
-3
-7
-13
0
0
0
0
0
0
0
11
29
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
1
7
13
0
0
0
0
0
-1
0
2
-5
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
7
-10
0
0
0
0
3
1
0
-1
-6
0
0
0
0
0
0
0
6
3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
-1
2
0
24
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
13
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
6
-4
0
0
0
0
0
0
-4
1
60
0
0
0
-10
0
0
0
-14
-2
0
0
0
0
0
0
0
2
47
0
0
0
0
0
0
2
2
-7
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-4
-9
15
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
-24
1
0
0
0
1
0
0
0
-36
36
0
0
0
0
0
0
0
-24
21
0
0
0
0
0
0
-1
3
4
0
0
0
0
0
0
0
0
-33
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
2
-1
0
0
0
0
0
0
0
0
-4
0
0
0
1
0
0
0
-2
6
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
4
15
0
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
0
-15
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
-3
-11
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
-24
-28
0
0
0
0
0
0
0
1
-2
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
-1
-1
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
-3
-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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
3
0
0
0
0
0
0
-1
-1
3
0
0
0
0
0
0
0
5
-11
0
0
0
0
0
0
1
0
-4
0
0
-7
0
0
0
1
-12
-12
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
23
0
0
0
0
0
0
0
-6
11
0
0
0
0
0
0
0
-4
21
0
0
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
-9
-3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-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
9
2
0
0
0
0
0
0
1
0
28
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
8
12
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
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
-37
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
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
-7
0
0
0
0
0
0
0
0
24
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
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
22
12
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-9
50
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
-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
15
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
-1
2
8
0
0
0
0
0
0
0
-16
-28
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
19
30
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
12
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
-7
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
-7
2
9
-32
0
0
0
0
0
0
0
-21
-53
0
0
0
0
0
0
0
-22
37
0
0
0
0
0
0
-2
-4
-10
0
0
0
0
0
0
-1
1
-11
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-2
21
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
12
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-27
0
0
0
0
0
0
0
-30
26
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
3
8
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
8
0
0
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
1
-19
-5
1
32
0
0
0
0
0
0
0
28
18
0
0
0
0
0
0
2
17
-18
0
0
0
0
0
0
0
-21
25
0
0
0
0
0
12
-8
-12
2
0
0
0
0
0
-1
-2
3
17
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
12
-56
0
0
0
0
-3
3
-3
-11
-4
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
-1
-4
12
0
0
0
0
0
0
0
-3
15
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-2
15
0
0
0
0
-3
4
-13
-37
50
0
0
0
0
0
0
-2
-5
-6
1
0
0
0
0
1
2
9
-28
3
0
0
0
0
-2
0
-28
-12
-2
0
0
0
-1
-1
0
-4
7
2
0
0
0
0
0
0
-6
4
3
0
0
0
0
0
0
0
4
18
0
0
0
0
0
0
0
-4
2
0
0
0
-9
-1
2
0
-35
2
0
0
0
0
0
0
-2
20
-18
0
0
0
0
0
0
2
-60
12
0
0
0
0
0
0
2
3
-11
0
0
0
1
0
0
2
1
12
0
0
0
0
0
0
2
-1
-22
0
0
0
0
0
0
-1
8
1
0
0
0
0
-1
-1
-8
-29
-1
0
0
0
0
0
0
7
12
0
0
0
-15
0
0
-3
5
17
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-25
32
0
0
0
0
0
0
-1
-3
-16
0
0
0
0
0
0
0
8
-5
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
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
4
2
36
1
0
0
-6
0
0
0
25
5
-1
0
0
0
0
0
0
11
25
-1
0
0
0
0
0
0
-10
18
-2
0
0
0
0
0
0
2
9
6
0
0
0
0
0
0
-1
-29
16
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
-1
-1
-2
2
0
0
0
0
0
0
17
6
5
0
0
1
0
0
0
2
-17
-1
0
0
0
0
0
0
-2
0
13
0
0
0
0
0
0
0
-2
-24
0
0
0
0
0
0
0
3
29
0
0
-1
0
0
0
-8
2
34
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
-60
-10
19
0
0
0
0
-2
0
6
-17
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
-17
-6
0
0
0
0
0
0
0
32
4
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
-1
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
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-8
11
0
0
0
0
0
0
0
-4
-10
1
0
0
0
0
0
0
11
8
5
0
0
0
0
0
0
10
-1
1
0
0
0
0
0
0
0
-2
32
0
0
0
0
0
0
-1
1
17
0
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
-1
-2
-31
0
0
0
0
0
0
2
-8
-1
0
0
0
0
0
0
0
-1
-21
0
0
0
0
0
0
0
1
21
0
0
0
0
0
0
0
1
-25
0
0
0
0
0
0
0
3
26
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
1
0
-17
0
0
0
0
0
0
-12
9
-30
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
-15
2
0
0
0
0
0
0
0
3
8
0
0
8
0
0
0
0
-27
16
0
0
0
0
0
0
0
-9
22
0
0
0
0
0
0
0
-6
-10
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-11
-15
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
-3
0
0
0
0
0
0
1
0
7
-3
0
0
0
0
0
-1
4
14
-12
0
0
0
0
0
0
-16
-4
6
0
-7
0
0
0
0
27
0
7
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
-1
-2
24
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-4
4
-2
0
0
0
0
0
0
1
1
11
0
0
0
0
0
0
-1
0
-1
0
2
0
0
0
0
-2
0
-24
0
0
0
0
0
0
-3
0
-25
0
0
0
0
0
0
0
0
-68
0
0
0
0
0
0
0
0
-37
0
2
0
0
0
0
4
0
-17
0
0
0
0
0
-1
-10
34
0
0
0
0
0
0
0
-9
-10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
16
0
0
0
0
0
1
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
-3
7
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
3
0
-13
3
10
0
0
0
0
0
0
-19
-21
-7
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-1
15
0
0
0
0
0
0
8
6
-1
0
0
0
0
0
0
-1
-25
-17
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
1
-35
0
0
0
0
0
1
0
-8
30
0
0
0
0
0
0
0
-2
28
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-22
0
0
0
0
0
0
-1
-3
30
0
0
0
0
0
0
0
1
29
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-12
10
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
-16
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
17
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
-7
-28
0
0
0
0
0
0
0
-6
31
0
0
0
0
0
0
0
-7
31
0
0
0
0
0
0
0
-1
-35
0
0
0
0
0
0
0
1
-38
0
0
0
0
0
0
0
-2
-3
0
0
1
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
8
7
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
4
7
-16
0
0
0
0
0
0
-1
17
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
1
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
23
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
-1
2
14
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
-1
-46
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
0
0
37
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-51
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
1
-1
17
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-18
6
0
0
0
0
0
0
0
-2
11
0
0
0
0
0
0
0
1
-18
0
0
0
0
0
1
1
0
5
0
0
0
0
0
0
0
7
-36
0
0
0
0
0
0
1
7
-23
0
0
0
0
0
0
0
-4
-49
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
-3
0
11
0
0
0
0
0
0
0
0
32
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
-18
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-2
-5
0
0
0
2
4
-1
15
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
30
0
0
0
0
0
0
0
1
21
0
0
0
0
0
0
0
6
-13
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
-2
3
9
31
-2
0
0
0
0
0
0
7
-46
4
0
0
0
0
0
0
-2
1
13
0
0
0
0
0
0
1
-2
-33
0
0
0
0
0
0
1
2
-48
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
-1
43
0
0
0
3
8
0
19
9
26
0
0
0
0
0
1
6
22
8
0
0
0
0
0
0
0
-17
-14
0
0
0
0
0
0
0
42
-26
-2
0
0
0
0
0
-1
-7
-12
3
0
0
0
0
0
-1
-21
-3
-3
0
0
0
0
0
0
-8
-63
33
0
0
1
0
0
-1
-4
-2
3
0
0
0
0
0
13
-15
0
0
0
0
0
0
1
10
-22
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
3
9
18
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
6
-10
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-3
3
-11
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
21
-23
0
0
3
0
0
0
-9
-41
-18
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
3
-22
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
-3
0
22
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
40
0
-7
0
4
0
0
0
-1
67
20
-12
0
0
0
0
0
0
7
-20
33
0
0
0
0
0
4
-10
14
1
0
0
0
0
0
0
-2
11
10
0
0
0
0
0
-1
-3
15
-30
0
0
0
0
0
0
1
21
-16
0
4
0
0
0
-15
-10
56
-31
0
0
0
0
0
1
8
0
0
0
0
0
0
0
8
4
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
7
3
-10
0
0
0
0
0
0
-3
12
17
0
0
0
0
0
0
-2
-1
-35
0
0
0
0
0
0
-6
0
-22
0
0
0
0
0
0
1
-1
6
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
0
15
0
0
0
0
0
0
-4
-8
59
0
0
0
0
0
0
-1
-9
11
-11
0
0
0
0
0
-2
-3
15
3
0
0
0
0
0
-1
-1
7
-18
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
-39
19
0
0
0
0
0
0
0
-25
28
0
0
0
0
0
-7
-11
0
0
0
0
0
0
0
-13
29
0
0
0
0
0
0
0
-11
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
-2
-8
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
-14
0
0
0
0
0
0
-2
2
-37
0
0
0
0
0
0
0
-1
-7
0
2
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
48
-26
-5
0
0
0
0
0
-21
-19
-41
11
0
0
0
0
0
0
1
-34
-1
0
0
0
0
0
-1
3
-10
6
0
0
0
0
0
0
0
17
-13
0
0
0
0
0
0
0
-1
104
0
0
0
0
0
0
0
2
-60
0
0
0
0
0
-1
6
12
0
0
0
2
0
3
-11
24
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
7
6
0
0
0
0
0
0
0
-7
-8
0
0
0
0
0
0
0
-8
-11
0
0
0
0
0
0
1
1
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
11
0
0
0
0
1
0
0
-4
-3
0
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
1
-11
17
0
0
0
0
0
0
1
2
-20
0
0
0
0
0
0
-1
0
-17
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-2
6
-5
0
0
0
0
0
0
0
7
-18
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
11
16
3
0
0
0
0
0
0
16
15
-21
0
0
0
0
0
0
0
-27
32
0
0
0
0
0
0
-1
3
-20
0
0
0
0
0
0
-2
-10
26
0
0
0
0
0
0
0
28
-40
0
0
0
0
0
0
0
16
-1
0
0
0
0
0
0
7
-23
-1
0
0
0
0
0
3
0
0
0
0
-6
0
0
0
6
-7
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
-1
28
0
0
0
0
0
0
0
1
-13
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
1
0
0
0
0
0
0
0
-1
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
-4
0
0
0
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
-10
0
0
0
0
0
0
0
-18
-17
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
13
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
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
-10
-1
-15
0
0
0
0
0
0
-12
-35
14
0
0
0
0
0
0
0
3
8
0
0
0
0
0
0
-1
7
-17
0
0
0
0
0
0
0
-10
16
0
0
0
0
0
0
0
-2
27
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-2
24
-2
-14
0
0
0
0
0
18
-14
0
0
0
0
0
0
2
-4
16
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
1
-3
8
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
8
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
11
-10
0
0
0
0
0
0
3
3
11
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
2
-9
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
0
16
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
4
-17
1
0
0
0
0
0
0
1
-12
17
0
0
0
0
0
0
0
-7
14
0
0
0
0
0
0
0
7
27
0
0
0
0
0
0
0
-9
9
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
15
-50
0
0
0
0
0
2
0
-40
73
0
0
12
18
26
-89
13
0
0
0
-11
-8
-28
14
-48
16
0
0
0
0
1
-12
-9
17
5
0
0
-7
0
-7
1
-7
-9
2
0
0
0
0
18
19
3
10
-15
0
0
0
-3
0
-1
4
6
3
0
0
0
0
0
0
-1
-11
4
0
0
-1
2
0
-1
2
24
-28
0
0
0
0
1
-2
3
1
-13
0
0
0
1
-1
0
3
21
-10
0
0
0
0
0
0
2
4
-29
0
0
3
0
0
0
0
0
-10
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
0
1
18
-2
0
0
0
1
0
0
-2
-50
14
0
0
0
0
-11
-8
6
49
-17
-3
0
0
-3
-1
-1
-6
10
-9
-6
0
0
0
0
0
0
21
12
-45
0
-16
0
0
0
2
-42
27
3
0
0
0
3
-18
7
13
-8
-17
0
0
-2
0
0
0
-11
-4
0
0
0
0
0
0
0
-36
6
13
0
0
0
0
1
0
-2
-1
16
0
0
0
-3
18
-18
-1
-13
-5
4
0
22
0
-1
0
-2
-20
-26
-3
0
0
0
0
0
-10
-2
-5
0
8
0
0
0
0
0
-6
15
-9
0
0
-16
-3
8
50
17
-6
-50
0
-11
0
0
1
-16
12
-26
21
0
0
-1
-1
-3
-4
20
9
-23
-3
0
2
0
-6
-6
9
-14
-8
0
0
-18
-9
11
25
-2
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
0
0
8
-31
0
0
0
0
0
0
8
24
-14
0
0
0
0
0
0
3
-2
14
0
0
0
0
0
-1
0
0
15
0
0
0
0
0
-2
0
-4
6
0
0
0
0
0
0
8
-15
8
0
0
0
0
-1
1
0
-9
19
0
0
0
0
0
0
0
28
-15
0
0
0
0
0
0
0
12
17
0
0
0
0
0
0
2
-12
24
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
3
-16
0
0
0
0
0
0
0
1
-18
0
0
0
0
0
0
0
-8
14
0
0
0
0
-4
0
2
-6
34
0
0
0
0
0
0
1
-9
44
0
0
0
0
0
0
0
-22
15
0
0
0
0
0
0
1
-27
-19
0
0
0
0
0
0
1
-3
6
0
0
0
0
0
0
0
6
-38
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-10
-1
0
0
0
0
0
0
0
3
24
0
0
0
0
0
0
1
1
4
0
0
0
0
0
0
0
3
17
0
0
0
0
0
0
0
9
-18
0
0
0
0
1
0
1
-1
0
0
0
0
0
0
0
1
0
3
0
0
0
0
1
0
0
4
15
0
0
0
0
0
0
-12
-10
39
0
0
0
0
0
0
2
15
-1
0
0
0
-13
0
0
0
-8
4
0
0
0
0
0
0
0
22
-9
0
0
0
0
0
0
0
3
15
0
0
0
0
0
0
0
6
12
0
0
0
0
0
0
0
-13
24
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
25
-12
0
0
0
0
0
0
0
4
18
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
-2
45
0
0
0
0
0
0
0
-13
-20
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
-1
-8
25
0
0
0
0
0
0
-2
-12
53
0
0
0
5
0
0
0
8
-30
0
0
0
0
0
0
0
-18
3
0
0
0
0
0
0
0
-13
28
0
0
0
0
0
0
0
-6
15
0
0
0
0
0
0
0
-21
18
0
0
0
0
0
0
0
1
-24
0
0
0
0
0
0
0
4
-10
0
0
0
0
0
0
0
-4
-19
0
0
0
2
0
0
0
16
19
0
0
0
0
0
0
0
3
-10
0
0
0
0
0
0
0
8
-37
0
0
0
0
0
0
0
-10
-19
0
0
0
-1
0
0
0
-19
15
0
0
0
0
0
0
0
-7
0
0
0
0
11
0
0
0
13
16
0
0
0
0
0
0
0
-13
6
0
0
0
0
0
0
0
84
-26
0
0
0
0
0
0
0
-12
30
0
0
0
0
0
0
-1
-29
43
0
0
0
0
0
0
0
4
26
0
0
0
0
0
0
0
6
8
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
30
1
0
0
0
0
0
0
-1
-3
8
0
0
0
0
0
0
0
-12
28
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
-4
-18
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
-16
-2
0
0
0
0
0
0
0
-32
43
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
-6
-9
0
0
0
0
0
0
0
-4
12
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
2
-9
6
0
0
0
0
0
0
0
-9
23
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
1
-1
6
0
0
0
0
0
0
0
-15
-1
0
0
0
0
0
0
0
-7
18
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
11
1
0
0
0
0
0
0
3
8
14
0
0
0
0
0
0
-4
0
-10
0
0
0
0
0
0
0
-25
14
0
0
-9
0
0
0
0
20
1
0
0
0
0
0
0
2
11
5
0
0
0
0
0
0
0
19
9
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
-2
23
4
0
0
0
0
0
0
0
-13
57
0
0
0
0
0
0
1
-38
9
0
0
0
0
0
0
0
-15
21
0
0
1
0
0
0
-1
-9
3
0
0
0
0
0
0
-1
2
-7
0
0
0
0
0
0
0
2
-21
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
-1
-6
6
0
0
0
0
0
0
-3
-13
-21
0
0
0
0
0
0
0
11
34
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
-7
-13
0
0
0
0
0
0
-2
6
-10
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
6
9
0
0
0
0
0
0
9
-11
1
0
0
0
0
0
0
0
-1
22
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
19
1
0
0
0
0
0
0
0
-4
-13
0
0
0
0
0
0
0
16
11
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
-4
-27
8
0
0
0
0
0
0
8
1
9
0
0
0
0
0
0
1
-35
42
0
0
0
0
0
0
0
-1
17
0
0
0
0
0
0
-3
26
-37
0
0
0
0
0
0
2
3
-12
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
2
-49
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
16
0
0
0
0
0
0
0
6
15
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
-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
32
0
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
-5
0
0
0
0
0
0
0
-18
-6
0
0
0
-1
0
0
0
-12
-1
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
-8
-10
0
0
0
0
0
0
0
-3
48
0
0
0
0
0
0
0
0
63
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-1
0
12
0
0
0
0
0
0
0
-2
-15
0
0
0
0
0
0
0
-2
39
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
1
-30
0
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
11
12
0
0
0
0
0
0
0
-15
28
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
8
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-27
0
0
0
0
0
2
-9
30
24
0
0
0
0
0
0
-8
-47
29
0
0
0
0
0
0
7
-4
-25
0
0
0
0
0
0
-1
-13
63
0
0
0
0
0
0
-2
-3
-5
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
0
-11
-19
0
0
0
0
0
0
-3
9
-22
0
0
0
0
0
0
0
21
-11
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
4
-6
0
0
0
0
0
0
-4
24
4
0
0
0
0
0
0
0
-29
9
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
-7
-12
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
2
-3
0
0
0
0
1
-6
0
-1
8
0
0
0
0
0
0
-1
-12
23
0
0
0
0
0
0
0
29
-24
0
0
0
0
0
0
1
2
8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
4
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
2
22
0
0
0
0
0
-3
0
2
-4
0
0
0
0
0
0
0
-2
18
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
22
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
-1
-15
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
6
0
0
0
0
0
-1
0
1
6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-7
-31
0
0
0
0
0
0
0
1
-12
0
0
0
-1
0
0
1
-3
-7
0
0
0
0
0
0
0
7
14
0
0
0
0
0
0
0
6
-25
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
6
33
0
0
0
0
0
0
0
0
2
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
-6
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
-1
-9
0
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
-3
0
0
0
1
0
0
0
-4
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
22
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
-6
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-15
16
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
3
26
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
1
-8
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
9
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
-2
10
14
0
0
0
0
0
0
0
9
-6
0
0
0
0
0
0
0
-2
-15
0
0
-2
0
0
0
0
-35
23
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
-6
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-41
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
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
9
-21
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-3
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
-2
-2
24
0
0
0
0
0
0
-1
0
-13
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
-12
3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
0
-12
-10
0
0
0
0
0
0
0
0
64
0
0
0
0
0
0
0
6
9
0
0
0
0
0
0
0
1
-16
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
-1
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
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
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
0
0
0
0
0
7
0
-10
4
0
0
0
0
0
0
0
-8
-9
0
0
0
0
0
0
3
-3
12
0
0
0
0
0
0
0
24
7
0
0
0
0
0
1
0
-1
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-2
3
-4
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
3
0
15
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
4
0
0
0
0
9
-8
0
6
41
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-12
30
0
0
0
0
0
0
0
9
22
0
0
0
0
0
0
-3
0
12
0
0
0
0
0
0
0
8
-24
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
-14
0
0
0
0
0
1
0
-4
-3
0
0
0
0
0
0
0
2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
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
-13
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
1
-2
1
-14
1
0
0
0
0
0
0
-9
-26
2
0
0
0
0
0
0
-1
13
2
0
0
0
0
0
0
10
5
-1
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
-2
-28
-2
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-1
9
5
0
0
0
0
0
0
-1
11
-3
0
0
0
0
0
0
6
12
-29
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
-6
-9
0
0
0
0
0
0
0
2
-14
0
0
0
0
-1
0
-35
5
-9
0
0
0
0
0
-2
8
3
0
0
0
-12
0
0
-1
-7
18
0
0
0
0
0
0
0
-7
81
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
-10
8
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
3
7
0
0
0
0
0
0
0
2
23
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
0
0
0
0
0
0
0
7
24
0
0
0
0
0
0
0
-16
27
-1
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
4
-3
-1
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
1
2
-15
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
0
1
-23
0
0
0
0
0
0
8
-2
16
0
0
0
0
0
0
-4
3
-10
0
0
0
0
0
0
-2
-9
54
0
0
0
0
0
0
-8
6
-13
0
0
0
0
0
0
3
-6
-3
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
3
-1
-5
0
0
-8
0
0
0
1
-58
6
0
0
0
0
0
0
-7
29
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
-4
3
0
0
0
0
0
0
0
-1
7
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
-7
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
13
-4
0
0
0
0
0
0
0
4
-12
0
0
0
0
0
0
0
-3
-9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
-17
5
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
36
0
0
0
0
0
0
0
-1
58
0
0
0
0
0
0
0
0
55
0
0
0
0
0
0
-7
3
8
0
0
0
0
0
-1
-16
-3
0
0
0
0
0
0
0
-14
40
0
0
0
0
0
0
-2
1
-2
0
0
-1
0
0
0
0
-12
11
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
1
0
0
0
0
0
0
0
1
3
-9
0
0
0
0
0
0
0
2
2
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
9
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
-1
0
0
0
0
0
0
0
0
15
-1
0
0
0
0
0
0
19
13
-13
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
3
0
14
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
0
-15
0
0
0
0
0
0
-13
12
10
0
0
0
0
0
0
2
-1
-47
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
0
0
-2
21
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
1
0
-39
0
1
0
0
0
0
1
28
0
0
0
0
0
0
-1
11
-5
0
0
0
0
0
0
0
20
-12
0
0
0
0
0
0
0
-6
-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
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
20
0
0
0
0
0
0
0
2
10
0
0
0
0
0
0
3
1
2
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
13
34
0
0
0
0
0
0
1
2
-4
0
0
0
0
0
0
0
1
-48
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
-2
-11
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
22
-35
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
16
0
0
0
0
0
0
0
12
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-3
-12
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
5
0
0
0
0
0
0
0
-11
11
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
-22
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
9
-40
0
0
0
0
0
0
0
-6
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
0
19
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
20
0
0
1
0
0
0
-7
-10
-28
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
-12
-1
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-11
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
6
-6
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
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
1
3
0
0
0
0
0
2
9
22
0
0
0
0
0
0
1
10
-8
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
0
-8
-19
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-8
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
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
3
-3
-9
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
82
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
2
-53
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-9
-1
-10
0
0
0
0
-2
0
0
16
0
0
0
0
0
0
0
2
24
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
-1
-27
5
0
0
0
0
0
0
-2
6
-14
0
0
0
0
0
0
0
-9
28
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
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
1
0
1
4
-19
0
0
0
0
0
0
-22
-16
-1
0
0
0
0
0
0
0
-25
-12
0
0
0
0
0
0
3
1
-6
0
0
0
0
0
0
0
-39
48
0
0
0
0
0
0
0
7
7
0
0
0
0
0
0
0
1
-14
0
0
0
0
0
0
0
0
54
0
0
0
0
1
0
0
6
35
0
0
0
0
0
0
-1
-10
47
-3
0
0
0
0
0
0
1
-86
7
0
0
0
0
0
0
1
-17
0
0
0
0
0
0
0
7
-40
-13
0
0
0
0
0
0
-6
-5
-1
0
0
0
0
0
0
-2
-10
-1
0
0
2
0
0
32
1
-32
2
0
0
0
0
1
-7
9
0
0
0
0
0
0
0
-37
58
0
0
0
0
0
0
0
8
21
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
11
-42
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
8
30
-10
0
0
2
0
0
0
1
-22
17
0
0
0
0
0
0
-1
10
-8
0
0
0
0
0
0
3
10
26
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
-3
27
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
1
13
35
2
0
1
0
0
0
1
-11
-64
5
0
0
0
0
0
-1
0
37
-5
0
0
0
0
0
0
0
-21
10
0
0
0
0
0
0
1
-26
-17
0
0
0
0
0
0
1
-3
-4
0
0
0
0
0
0
0
0
-2
0
-2
0
0
0
-9
-18
6
-1
0
0
0
0
0
-12
7
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
0
-16
6
0
0
0
0
0
0
0
6
4
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
7
10
-1
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
54
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-1
39
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
1
-1
27
-5
0
0
0
0
0
0
-2
-12
8
0
0
0
0
0
0
0
-15
36
0
0
0
0
0
0
0
29
7
0
0
0
0
0
0
0
-30
21
0
0
0
0
0
0
0
-10
-1
0
0
0
0
0
0
0
9
59
0
0
0
0
0
0
-4
-8
-2
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
2
0
0
1
0
0
0
0
-2
-3
0
0
0
0
0
0
0
-8
7
0
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
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
12
4
0
0
0
0
0
0
10
-4
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-46
0
0
0
0
0
0
0
1
-41
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
6
0
0
0
0
0
0
0
-10
-19
-3
0
0
0
0
0
1
0
-16
-8
0
0
0
0
0
0
0
-16
23
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
-1
-19
5
0
0
0
0
0
-1
0
0
-16
0
0
0
0
0
0
0
-4
-22
0
0
0
0
0
-12
16
9
-1
0
0
0
0
0
-1
-16
0
0
0
0
0
0
-1
-7
-6
0
0
0
0
0
0
1
-2
9
0
0
0
0
0
0
0
-24
33
0
0
0
0
0
0
0
-1
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
1
-2
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-7
0
0
0
0
0
0
10
24
-11
0
0
0
0
0
0
0
-2
28
0
0
0
0
0
0
0
0
47
0
0
0
0
0
0
0
1
-65
0
0
0
0
0
0
0
-3
44
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-53
0
0
0
0
0
0
0
-4
5
-4
0
0
0
0
0
0
11
-14
-8
0
0
0
0
0
0
0
5
-27
0
0
0
0
0
0
-1
0
21
0
0
0
0
0
0
0
-24
39
0
0
0
0
0
0
0
7
10
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
-4
-1
43
9
0
0
0
0
0
-1
20
0
0
0
0
0
0
0
-13
2
0
0
0
0
0
0
0
-10
42
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-1
-30
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
11
0
0
0
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-18
0
0
-1
0
0
0
-2
-22
23
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
21
7
0
0
0
0
0
0
1
41
-37
0
0
0
0
0
0
0
-15
-12
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-2
4
-1
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
1
35
0
-1
0
0
0
0
-1
0
-7
0
0
3
-1
1
7
-44
0
0
0
0
0
0
0
8
30
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-11
14
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
37
-17
0
0
0
0
0
0
1
8
-21
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-41
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
1
-15
5
0
0
0
0
0
0
-1
-3
16
0
0
0
0
0
0
0
13
-18
0
0
0
0
0
0
0
1
17
0
0
0
0
0
0
0
28
-60
0
0
0
0
0
0
-1
0
-11
0
0
0
0
0
0
0
4
-21
0
0
0
0
0
0
4
-21
-4
0
0
5
-27
-15
-3
1
0
0
0
25
-11
-44
46
14
-2
0
0
0
0
2
-7
4
-15
-14
0
0
-2
3
-7
-19
4
1
2
0
0
0
0
9
7
11
-14
7
0
0
0
-9
-1
4
32
11
9
0
0
0
0
0
-2
15
16
-9
0
0
2
4
0
-10
2
-3
-1
0
0
0
0
-2
21
13
-27
-9
0
0
0
1
-1
-4
-3
-17
28
0
0
0
0
0
2
8
24
-13
0
0
4
0
0
0
3
13
-14
0
0
0
0
2
10
2
-5
-3
0
0
0
1
0
0
7
-11
-13
0
0
0
0
0
-1
0
-9
45
0
0
-2
0
0
1
-1
-20
8
0
0
0
0
-24
6
28
12
-43
1
0
0
-41
3
9
-23
16
-5
0
0
0
0
4
6
-11
41
36
0
0
-26
3
3
-6
11
-21
40
-5
0
0
0
2
-24
-4
12
37
-3
0
0
-4
0
3
-12
-2
-34
23
0
0
0
0
1
6
-53
-28
20
0
-1
0
0
2
7
-13
-10
-4
0
0
0
15
35
-9
12
-13
2
1
0
42
-1
-6
0
-24
3
-5
-7
0
0
-2
0
6
-42
1
34
7
18
0
-2
4
-9
13
5
-16
-26
0
0
-2
9
10
13
24
-17
11
0
-21
0
1
-7
-35
27
-19
39
0
0
-1
-6
-9
-9
18
9
-14
12
11
2
0
-32
28
31
-38
-33
0
0
-23
-29
-15
-2
0
0
0
0
0
0
-11
46
19
-13
0
0
0
0
-3
21
-16
32
5
0
0
0
0
0
0
8
-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
1
2
4
19
7
0
0
0
0
0
0
0
13
-28
0
0
0
0
0
-1
0
-9
-1
0
0
0
0
0
0
0
22
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
0
-13
-18
0
0
0
0
0
0
0
8
-3
7
0
0
0
0
0
0
4
-11
38
0
0
0
0
0
0
0
-14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
15
0
0
0
0
0
0
0
2
-12
0
0
0
0
0
0
0
17
-7
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
14
0
9
1
0
2
0
0
0
0
0
1
-1
31
-5
0
0
0
1
0
-1
1
-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
-13
-16
0
0
0
-12
0
0
0
14
-9
0
0
0
0
0
0
0
-1
23
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
2
-11
89
0
0
0
-27
-2
0
0
29
3
0
0
0
0
0
0
0
9
10
0
0
0
0
0
0
-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
-15
-23
0
0
0
15
0
0
0
-7
15
0
0
0
0
0
0
0
1
-12
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
12
-14
22
15
0
0
0
0
0
2
3
-43
-1
0
0
0
0
0
0
13
-10
18
0
0
0
0
0
0
-22
-12
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
4
0
0
0
0
0
0
0
9
22
0
0
0
0
0
0
0
9
10
0
0
0
0
0
0
0
-25
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
11
0
0
0
0
0
0
0
-13
14
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
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
-6
4
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
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
26
-16
3
0
0
0
0
0
-2
15
-18
8
0
0
0
0
0
1
-1
11
-15
0
0
-2
0
0
0
-15
-33
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
46
0
0
0
0
0
0
0
3
17
0
0
0
0
0
0
1
1
17
0
0
-1
0
0
0
0
26
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
11
0
0
0
0
0
0
-1
-10
20
0
0
0
0
0
0
0
3
-22
0
0
22
0
0
0
-1
-7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-3
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-2
0
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
2
4
-7
3
2
0
0
0
0
0
0
-4
34
13
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
3
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
4
-15
-3
-3
33
0
0
0
0
0
0
0
2
-15
0
0
0
0
0
0
0
4
21
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
1
3
10
3
-7
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-2
8
0
0
0
0
0
0
-1
-1
-14
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
3
0
0
0
1
0
0
-15
-19
-9
0
0
0
0
0
0
0
-20
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
-3
11
0
0
0
-8
0
0
0
8
28
0
0
0
0
0
0
0
1
45
0
0
0
0
0
0
0
10
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
2
-12
-12
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
12
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
3
0
0
0
0
0
0
6
-5
2
0
0
0
0
0
0
4
-9
13
0
0
0
0
0
0
-3
-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
0
2
-10
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-6
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
-2
9
0
0
0
0
0
0
12
-18
8
0
0
0
0
0
0
-10
-41
39
0
0
-2
0
0
0
24
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
-2
6
-11
0
0
0
0
0
0
1
-3
36
0
0
0
0
0
0
0
11
-25
0
0
1
0
0
0
0
-3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
29
0
0
0
0
0
0
0
2
-13
0
0
0
0
0
0
-1
0
3
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
0
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
0
2
18
0
0
0
0
0
0
-3
4
13
0
0
0
0
0
0
1
-24
9
0
0
0
0
0
0
0
15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
-10
0
0
0
0
0
0
0
12
20
0
0
0
0
0
0
0
0
17
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
-3
-3
-2
-7
26
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
-4
7
0
0
0
0
0
0
0
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
1
4
0
3
1
0
0
0
0
0
0
0
-7
23
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
0
0
0
0
0
0
0
0
0
0
0
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
20
0
0
0
12
0
0
0
-25
1
0
0
0
0
0
0
1
-29
39
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
-3
23
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
13
0
0
0
-11
0
0
0
-8
4
0
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
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
-36
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
5
0
0
0
0
0
0
0
-11
21
0
0
0
0
0
0
0
10
-15
0
0
0
0
0
0
0
-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
1
15
0
0
0
0
0
0
0
-1
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-28
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
7
8
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
2
35
0
0
0
0
0
0
-1
8
-2
0
0
0
0
0
0
-4
12
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-21
0
0
0
0
0
0
0
7
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
12
0
0
0
0
0
0
0
-11
-2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-8
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
-3
0
0
0
0
0
0
0
1
59
0
0
0
0
0
0
0
-7
23
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
1
-21
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
20
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
11
-3
0
0
0
0
0
0
0
1
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
49
0
0
0
0
0
0
-1
6
-31
0
0
0
0
0
0
0
0
3
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
0
6
0
0
0
0
0
0
0
-8
17
0
0
0
0
0
0
0
1
-4
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
2
-2
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-26
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
-16
-5
0
0
0
0
0
0
0
1
-17
0
0
0
0
0
0
-1
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
-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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-12
0
0
0
0
0
0
0
1
23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
14
13
0
0
0
0
0
0
-2
-41
23
0
0
0
0
0
0
-3
8
-22
0
0
0
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
7
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-1
0
0
0
0
0
0
0
15
-10
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
26
0
0
0
0
0
0
0
-1
-11
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
18
-13
-31
37
0
0
0
0
0
0
-6
12
-10
0
0
0
0
0
0
0
-2
45
0
0
0
0
0
0
0
16
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
-1
15
-46
0
0
0
0
0
0
0
4
-6
0
0
0
0
0
0
0
-11
13
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
-16
-8
4
-11
-18
0
0
0
0
0
-3
0
-14
26
0
0
0
0
0
0
0
-7
7
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
-2
-12
7
-27
-19
13
0
0
0
0
0
0
-24
2
41
0
0
0
0
0
-1
12
-18
14
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
3
6
-3
0
0
0
-7
0
0
-2
6
24
0
0
0
0
0
0
0
-3
-9
0
0
0
0
0
0
0
-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
-25
3
0
0
0
-2
0
0
-1
-1
17
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
22
0
0
0
11
0
0
0
10
13
-2
0
0
0
0
0
0
10
0
-7
0
0
0
0
0
0
-6
-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
2
-26
-3
0
0
0
0
0
0
-13
23
-19
0
0
0
0
0
0
0
4
-21
0
0
0
0
0
0
0
-25
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
21
-13
0
0
0
0
0
0
0
12
9
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
1
0
0
0
0
0
0
0
-7
-4
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-34
-3
0
0
0
0
0
0
0
25
-3
0
0
0
0
0
0
0
-11
14
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
-13
6
23
0
0
0
0
0
0
2
7
40
0
0
0
0
0
0
2
0
17
0
0
0
0
0
0
-1
-4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-40
0
0
0
0
0
0
1
-37
-12
0
0
0
0
0
0
0
1
7
0
0
13
0
0
0
-1
-1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
18
0
0
0
0
0
0
0
-46
-25
0
0
0
0
0
0
0
-22
-16
0
0
1
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
3
-21
-1
0
0
0
0
0
0
-9
33
-11
0
0
0
0
0
0
1
0
3
0
7
0
0
0
0
-26
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
-8
8
-11
0
0
0
0
0
0
-6
16
25
0
0
0
0
0
0
2
-2
-23
0
-2
0
0
0
0
-6
-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
1
-2
6
-21
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
-1
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-13
-6
0
0
0
0
0
0
1
0
30
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
0
-8
-20
22
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
3
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-8
19
0
0
0
0
0
0
-17
3
20
0
0
0
0
0
0
-1
-6
1
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
1
-14
0
0
0
0
0
0
0
-13
10
0
0
0
0
0
0
0
-1
-10
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
7
0
0
0
1
0
0
0
2
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
-2
-12
8
0
0
1
0
0
0
-1
-66
9
0
0
0
0
0
0
0
2
12
0
0
0
0
0
0
1
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-40
0
0
1
0
0
0
10
30
18
0
0
0
0
0
0
0
8
24
0
0
0
0
0
0
0
1
-61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
6
3
0
0
0
0
0
0
0
-8
-4
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
-2
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
3
6
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
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
0
0
0
0
0
0
0
7
-64
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
2
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-4
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
3
15
5
0
0
0
0
0
0
-2
7
13
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
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
15
-24
-9
0
0
0
0
0
0
7
1
-35
0
0
0
0
0
0
-3
0
-21
0
-1
0
0
0
0
0
3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
-8
28
0
0
0
0
0
0
0
0
-10
15
0
0
0
0
0
0
0
-2
-29
0
0
0
0
0
0
0
8
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
11
-28
-12
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-12
-1
-8
14
-5
0
0
0
0
0
1
-22
-28
21
0
0
0
0
0
0
29
2
-37
0
0
0
0
0
0
1
-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
3
0
0
18
-9
-5
0
0
0
0
0
0
3
-10
2
-1
0
0
0
0
0
6
-8
-10
-3
0
0
0
0
0
0
-1
-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
-1
11
0
0
0
9
0
-2
1
8
5
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
30
0
0
0
3
0
0
0
7
45
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
-19
16
0
0
6
0
0
-1
-9
24
-14
0
0
0
0
0
0
-1
-2
35
0
0
0
0
0
-2
-3
-16
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
2
0
0
0
3
-18
8
-9
0
0
0
0
0
-2
2
-1
2
0
0
0
0
0
-1
-1
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
17
0
0
0
0
0
0
0
18
32
0
0
0
0
0
0
0
-3
19
0
0
0
0
0
0
0
-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
-1
-9
0
0
0
0
0
0
0
-16
-25
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
7
0
0
0
0
0
0
-1
-33
11
0
0
0
0
0
0
4
-6
5
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
27
-8
0
0
0
0
0
0
0
-11
-8
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
-74
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
21
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-21
22
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
-3
3
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-6
0
0
0
0
0
0
-15
2
21
0
0
0
0
0
0
2
-1
-46
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
1
2
-31
9
0
0
0
0
0
-2
0
-14
16
0
0
0
0
0
0
0
-14
6
1
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
7
-5
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
0
21
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
1
0
0
6
64
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
2
1
0
-9
0
0
0
0
0
0
-12
37
-8
0
0
0
0
0
-2
7
-18
-7
0
0
0
0
0
0
1
-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
0
-1
19
-22
1
0
0
0
0
0
1
-13
-8
7
0
0
0
0
0
-4
2
27
-19
0
0
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
-4
0
0
0
-8
14
0
0
0
0
0
0
0
-3
55
0
0
0
1
0
0
-1
-4
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
14
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
17
0
0
-2
0
0
0
2
6
22
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
32
-43
-11
0
-1
0
0
0
-6
-53
-82
74
0
0
0
0
0
0
-2
2
10
0
0
0
0
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
-1
0
6
-14
0
0
0
0
0
0
0
3
14
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
3
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
0
-1
13
0
0
0
0
0
0
0
-6
-18
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
16
5
0
0
0
0
0
0
3
3
2
0
0
0
0
0
0
-2
1
-40
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
-1
0
-2
-1
1
13
8
0
0
0
0
0
8
0
-42
15
0
0
0
0
0
0
3
2
-46
0
0
0
0
0
1
-2
-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
5
13
10
-5
-6
0
0
0
8
-4
-12
-14
74
-5
0
0
0
0
6
1
11
-29
-12
0
0
10
-1
-6
0
11
-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
-9
3
-11
-11
0
0
0
19
0
0
-1
-16
13
0
0
0
0
0
2
-1
0
-16
0
0
-3
0
0
0
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
16
-12
21
-3
18
-6
0
0
-12
-1
2
-11
0
7
7
0
0
0
-4
0
0
-38
-3
9
0
-16
1
0
0
0
-8
8
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
6
10
27
-19
-7
0
0
-4
-1
0
-1
-11
-6
-45
-7
0
0
0
0
0
-7
11
-22
6
0
0
0
0
-1
-39
-21
-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
-42
1
-9
-1
12
0
0
0
0
0
-3
13
-19
1
0
0
0
0
-2
0
6
40
-14
0
0
0
0
0
0
8
23
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-1
-6
-13
0
0
0
0
0
0
1
-3
5
0
0
0
0
0
0
1
-21
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-2
-10
16
0
0
0
0
0
0
0
-12
-4
0
0
0
0
0
0
1
2
1
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
-6
0
0
0
0
0
0
2
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
7
0
2
2
40
-7
0
0
0
0
0
0
-1
-50
45
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
21
0
0
0
-6
0
0
-3
0
25
0
0
0
0
0
0
0
-18
41
0
0
0
0
0
0
1
-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
11
11
0
0
0
5
0
0
1
5
-14
0
0
0
0
0
0
0
9
-24
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-23
0
0
0
3
0
0
0
-24
15
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
-5
16
0
0
0
0
0
0
0
32
1
0
0
0
0
0
0
1
-20
22
0
0
0
0
0
0
0
-31
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
28
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
0
0
-18
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
-3
9
-33
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
17
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
0
0
0
0
0
0
0
-9
3
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
-1
-17
7
13
0
0
0
0
0
0
-11
4
1
0
0
0
0
0
0
3
3
-3
0
0
6
0
0
0
2
-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
7
13
0
0
0
0
0
0
-1
18
13
0
0
0
0
0
0
-1
-2
25
0
0
1
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
-10
23
0
0
0
0
0
0
2
4
15
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
-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
-1
12
-15
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
-15
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
22
0
0
0
0
0
0
3
4
4
0
0
0
0
0
0
0
20
-37
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
-4
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
-2
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
36
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
-9
19
0
0
0
0
0
0
0
-18
11
0
0
0
0
0
0
0
-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
-4
18
0
0
0
0
0
0
0
4
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
1
-11
8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
21
-20
0
0
0
0
0
0
0
26
-5
0
0
0
0
0
0
0
-7
5
0
0
0
0
0
0
-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
12
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-18
-15
0
0
0
0
0
-1
-3
-22
-12
0
0
0
0
0
0
-4
-19
26
0
0
0
0
0
0
9
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-20
0
0
0
0
0
0
0
-19
7
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
10
7
0
0
0
0
0
0
4
11
24
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-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
0
-7
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
-11
4
19
-15
0
0
0
0
0
-1
0
-9
27
0
0
0
0
0
0
0
-27
26
0
0
0
0
0
0
0
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
-4
1
-8
-17
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
-1
0
0
-7
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
2
-1
0
-1
0
0
0
0
0
0
0
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
9
0
0
0
0
0
0
1
-21
18
0
0
0
0
0
0
0
-22
20
0
0
0
0
0
0
0
4
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
0
0
0
1
0
0
0
11
1
0
0
0
0
0
0
0
-1
8
0
0
0
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
0
0
0
-2
0
0
0
-3
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
-3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
12
0
0
0
0
0
0
0
12
11
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
-1
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
-10
27
0
0
0
0
0
0
0
-3
18
0
0
0
0
0
0
0
-11
-14
0
0
0
0
0
0
0
1
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
1
29
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
-11
0
0
0
0
0
0
-1
-7
15
0
0
0
0
0
0
0
0
-8
0
0
-3
0
0
0
-3
28
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-16
0
0
0
0
0
0
0
-17
26
0
0
0
0
0
0
0
10
8
0
0
0
0
0
0
-2
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
1
0
0
0
0
0
0
0
0
2
11
0
0
0
0
0
0
0
0
-2
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
8
-40
0
0
0
0
0
0
0
-7
27
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
44
0
0
0
0
0
0
-3
-8
-23
0
0
0
0
0
0
0
-2
26
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-7
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
38
0
0
0
0
0
0
0
2
16
0
0
0
0
0
0
0
1
3
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
-1
-19
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
6
-11
30
0
0
0
0
0
-6
4
-2
31
0
0
0
0
0
1
0
-3
19
0
0
0
0
0
0
-1
-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
-2
1
4
-20
0
0
0
0
0
1
0
0
12
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
3
-40
0
0
0
0
0
0
0
0
11
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
3
2
4
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-2
0
-15
10
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
-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
7
22
0
0
0
0
0
0
0
3
-65
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-3
-11
-47
0
0
0
0
0
0
0
0
86
-2
0
0
0
0
0
-4
-6
8
-2
0
0
0
0
0
0
7
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
-2
-4
-11
11
0
0
0
0
0
0
6
8
-29
0
0
0
0
0
0
2
-13
9
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
-1
-3
32
0
0
0
-1
0
0
-2
5
12
0
0
0
0
0
0
0
-7
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
-3
10
0
0
0
1
0
0
0
-3
37
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
33
1
0
0
-20
0
0
0
40
-36
-2
0
0
0
0
0
0
28
-2
-12
0
0
0
0
0
-3
-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
-1
2
4
0
0
0
0
0
0
-47
6
3
0
0
0
0
0
0
0
0
56
0
0
0
0
0
0
0
-9
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
39
0
0
0
0
0
0
0
-28
27
0
0
0
0
0
0
0
25
-16
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
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
43
1
0
0
0
0
0
0
10
-3
0
0
0
0
0
0
0
-3
-15
6
0
0
0
0
0
0
7
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
-1
-2
-2
0
0
0
0
0
0
1
-4
-1
0
0
0
0
0
0
1
1
-15
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
16
0
0
0
0
0
0
0
-8
22
0
0
0
0
0
0
0
3
16
0
0
-4
0
0
0
-1
-9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
2
1
0
0
0
0
0
0
-25
24
-4
0
0
0
0
0
2
4
-3
-10
0
3
0
0
0
-1
8
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
4
13
-25
0
0
0
0
0
0
1
-4
-9
0
0
0
0
0
0
0
0
-25
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
21
0
0
0
0
0
0
0
0
-11
6
0
0
0
0
0
0
0
11
27
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
-1
-25
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
-4
10
0
0
0
0
0
0
10
-42
0
0
0
0
0
0
0
2
3
3
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
8
1
0
0
0
0
0
0
0
2
36
0
0
0
0
0
0
1
0
-24
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
-5
0
0
1
0
0
0
-9
37
-7
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
2
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
46
0
0
0
0
0
0
0
2
22
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-4
-24
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-7
4
15
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
54
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
0
0
0
0
0
0
0
0
0
0
0
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
-34
0
0
0
0
0
0
1
-18
-15
0
0
0
0
0
0
0
4
30
0
0
3
0
0
0
-1
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
5
0
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
29
5
0
0
0
0
0
0
-3
-11
-3
0
0
0
0
0
0
1
1
-17
0
0
0
0
0
1
1
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
-28
0
0
0
0
0
0
0
-2
-17
0
0
0
0
0
0
0
-2
-14
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
-1
8
-7
27
8
0
0
0
0
0
0
0
-18
34
0
0
0
0
0
0
0
-2
28
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
4
3
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
2
0
0
0
0
0
0
-11
-14
19
0
0
0
0
0
0
1
0
-13
0
0
0
0
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
1
1
-8
5
-7
0
0
0
0
0
1
2
36
-3
1
0
0
0
0
0
-1
-10
-31
1
0
0
0
0
0
2
13
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
-5
0
0
0
-3
0
0
1
-17
25
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
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
-3
-2
0
0
0
0
0
0
0
-2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-5
10
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-2
-6
24
0
0
0
0
0
0
-6
-8
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
6
-14
2
0
7
0
0
0
8
10
-24
-3
0
0
0
0
0
0
2
25
-9
0
0
0
0
0
6
8
-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
-6
2
0
0
0
0
0
0
0
-3
-11
0
0
0
0
0
0
0
1
1
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
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
2
-1
-14
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
62
4
0
0
0
0
0
6
-3
-1
22
0
0
0
0
0
1
-6
52
-17
0
0
0
0
0
0
-1
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
-23
8
0
0
0
0
0
0
0
7
-15
0
0
0
0
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
0
0
0
0
0
4
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
0
0
0
0
0
-9
1
7
0
0
0
0
0
0
-3
2
-17
0
0
0
0
0
0
-9
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
-25
11
-37
-1
0
0
0
0
0
8
0
-20
-7
0
0
0
0
0
0
2
-4
-31
0
0
0
0
0
-7
-6
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
1
-4
4
-39
31
0
0
0
0
0
0
0
9
22
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
3
2
0
0
0
0
0
0
0
-9
-13
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
10
0
0
0
0
0
0
-6
10
-7
0
0
0
0
0
0
0
1
-29
0
0
0
0
0
0
1
-1
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
13
0
0
0
0
0
2
-8
31
1
0
0
0
0
0
-1
0
48
23
0
0
0
0
0
0
6
-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
-1
-3
11
0
0
0
3
0
0
0
-20
32
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
0
4
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
4
0
0
0
4
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
-2
13
-7
0
0
0
0
0
0
1
0
-21
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
1
-2
-58
21
0
0
0
0
0
-11
-12
-2
-10
0
0
0
0
0
0
0
8
-11
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
2
-1
2
-22
-40
0
0
0
0
0
0
0
-20
21
0
0
0
0
0
0
0
3
52
0
0
0
0
0
0
1
-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
-2
18
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-8
9
-4
0
0
0
0
0
0
0
-11
14
0
0
0
0
0
0
1
-18
8
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
7
1
-14
0
0
0
0
0
0
8
18
-13
0
0
0
0
0
-1
-1
-49
20
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
0
0
0
0
0
17
3
2
7
-4
0
0
0
-9
-3
-11
62
39
0
0
0
0
0
-1
35
15
-22
-1
0
0
-6
-3
-9
-13
-37
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
-5
9
10
-4
-15
0
0
0
0
-2
-6
-4
-14
18
0
0
0
0
0
-2
9
-11
10
0
0
-18
0
0
0
-10
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
13
-52
18
51
-11
2
0
0
13
-2
9
-14
-72
-10
0
0
0
0
-7
7
4
-20
34
-2
0
26
1
2
0
-9
-6
-21
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
6
-10
-15
25
-16
1
0
4
-1
2
0
10
3
-46
0
0
0
1
-1
-9
-21
6
-20
30
-5
2
0
0
-2
-66
-21
-41
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
52
-45
10
0
0
0
0
0
31
-25
-47
6
0
0
0
0
-4
-7
-8
-17
11
0
0
0
0
0
28
28
-10
-1
0
0
0
0
7
12
45
-38
9
0
0
0
0
-23
-8
4
18
20
0
0
0
0
-6
9
-13
-9
3
0
0
0
0
-24
37
1
19
11
0
0
0
0
0
8
6
-31
19
0
0
0
0
0
40
-14
13
-6
0
0
0
0
-4
-27
7
-24
22
0
0
0
0
2
23
-50
-27
13
0
0
0
0
7
43
30
-18
23
0
0
0
0
9
-19
10
-2
41
0
0
0
0
10
-45
-27
94
16
0
0
0
0
-1
-27
-24
21
5
0
0
0
0
4
-27
-13
-9
37
0
0
0
0
-1
24
19
-72
11
0
0
0
0
-17
15
2
6
16
0
0
0
0
0
-16
-7
14
23
0
0
0
0
-3
-24
-8
-1
10
0
0
0
0
9
-36
18
3
-4
0
0
0
0
-6
9
-7
-13
47
0
0
0
0
29
0
38
-30
5
0
0
0
0
-5
-6
10
10
23
0
0
0
0
1
-37
41
-9
47
0
0
0
0
2
-12
24
-4
-5
0
0
0
0
2
44
-6
-18
-10
0
0
0
0
5
-37
-21
-31
24
0
0
0
0
12
-17
51
-42
-8
0
0
0
0
-7
60
33
-1
-28
0
0
0
0
43
13
7
-33
-6
0
0
0
0
0
33
-15
-9
6
0
0
0
-13
-1
47
-3
19
5
0
0
0
0
0
-6
-3
3
-2
0
0
0
-2
0
-4
30
5
0
0
0
0
0
2
13
33
11
-11
0
0
0
10
-6
-8
-9
17
21
0
0
0
0
0
3
-8
-19
25
0
0
0
19
0
6
51
-26
11
0
0
0
0
0
-20
-9
4
33
0
0
0
-27
-8
-3
-16
3
45
0
0
0
0
0
-18
-11
13
14
0
0
0
23
0
-12
-33
-15
25
0
0
0
0
0
-2
0
-83
37
0
0
0
30
0
-9
-1
2
7
0
0
0
0
0
0
-5
-1
-9
0
0
0
-7
0
7
44
23
7
0
0
0
0
0
3
25
-17
6
0
0
0
63
0
-7
1
-25
6
0
0
0
0
0
1
-9
18
8
0
0
0
-1
0
0
-41
23
21
0
0
0
0
0
1
-21
-18
73
0
0
0
-23
6
11
-29
34
-15
0
0
0
0
0
4
6
-3
1
0
0
0
13
0
-4
49
-13
9
0
0
0
0
0
3
-10
22
22
0
0
0
-12
0
16
-8
-38
28
0
0
0
0
0
2
7
-32
27
0
0
0
33
0
-3
-1
-12
18
0
0
0
0
-1
3
-32
-18
27
0
0
0
-5
2
-1
28
-16
25
0
0
0
0
0
-17
7
-23
16
0
0
0
12
3
8
51
2
1
0
0
0
0
7
-29
16
-18
-10
0
0
0
0
0
1
-3
10
-4
0
0
0
0
-4
10
-1
-12
14
0
0
0
0
0
-13
5
10
13
0
0
0
0
-1
6
6
12
-10
0
0
0
0
0
-2
8
-4
4
0
0
0
0
2
-2
10
-22
16
0
0
0
0
0
-50
25
-2
24
0
0
0
0
8
51
-29
-47
-10
0
0
0
0
0
-6
9
10
3
0
0
0
0
10
-34
39
-19
-2
0
0
0
0
0
-1
5
-42
7
0
0
0
0
0
4
-21
0
34
0
0
0
0
0
-6
-2
-30
29
0
0
0
0
-4
33
32
-48
-19
0
0
0
0
-4
7
28
-21
15
0
0
0
0
0
3
26
-15
-11
0
0
0
0
0
1
3
-19
-4
0
0
0
0
2
-18
-51
-12
45
0
0
0
0
0
3
-29
-4
22
0
0
0
0
0
17
-10
-42
-1
0
0
0
0
0
1
-28
-16
47
0
0
0
0
0
2
25
20
-5
0
0
0
0
-2
10
18
8
20
0
0
0
0
28
4
52
-109
18
0
0
0
0
0
1
-16
19
-3
0
0
0
0
11
17
-38
-38
18
0
0
0
0
0
-7
-5
33
29
0
0
0
0
11
35
17
16
-87
0
0
0
0
6
15
-32
-40
8
0
0
0
0
-5
-21
9
-68
26
0
0
0
0
7
34
9
-16
8
0
0
0
0
0
17
-17
-9
-7
0
0
0
10
-1
-6
-8
6
9
0
0
0
0
0
-4
-40
-17
23
0
0
-16
-5
2
22
-22
-23
12
0
0
0
0
0
1
-9
-49
16
0
0
0
0
0
-8
-18
-13
9
0
0
0
0
0
-18
7
0
38
0
0
4
-1
-11
-15
1
1
0
0
0
0
0
0
0
-14
46
11
0
0
0
5
0
-1
58
-38
-20
0
0
0
0
0
53
-17
-1
-22
0
0
-44
-1
-1
-9
41
-26
-3
0
0
0
0
0
-3
3
4
6
0
0
0
-2
0
-2
-9
11
5
0
0
0
0
0
1
-14
-33
9
0
0
13
-2
4
51
-20
16
-58
0
0
0
0
0
1
25
-55
-1
0
0
0
0
0
0
-8
-49
67
0
0
0
0
0
-2
-18
15
20
0
0
2
-3
1
-7
13
-3
-8
0
0
0
0
0
-3
-36
5
10
0
0
0
0
0
4
-3
-2
-35
0
0
0
0
0
0
0
-21
25
0
0
29
0
3
-17
29
-7
-14
0
0
0
0
0
1
10
14
13
0
0
0
13
0
0
-4
-14
0
0
0
0
0
0
-4
-33
-9
54
0
0
18
6
0
-35
-5
24
14
0
0
0
0
0
10
-19
-14
21
0
0
0
-2
0
0
-25
-40
49
0
0
0
0
0
15
14
-59
61
0
0
-12
30
-37
-9
-23
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-37
12
36
0
0
0
0
0
0
-13
10
-6
0
0
0
0
-1
-14
-19
11
7
0
0
0
0
0
-11
7
-11
35
0
0
0
0
3
14
-7
29
10
0
0
0
0
0
0
-13
7
-26
0
0
0
0
1
-1
33
-4
-4
0
0
0
0
-1
-1
-13
-32
63
0
0
0
0
38
-1
9
9
13
0
0
0
0
0
4
0
-17
1
0
0
0
0
2
13
25
-38
-31
0
0
0
0
0
20
-19
-9
6
0
0
0
0
1
-17
36
-29
33
0
0
0
0
0
-13
4
10
24
0
0
0
0
8
-34
11
-25
34
0
0
0
0
-6
49
-47
32
-2
0
0
0
0
-27
-12
-2
-10
39
0
0
0
0
0
0
-1
-29
50
0
0
0
0
2
-17
-4
-35
41
0
0
0
0
0
-9
11
-6
35
0
0
0
0
1
0
-19
-13
76
0
0
0
0
0
1
3
-19
53
0
0
0
0
4
-17
21
-13
-7
0
0
0
0
-10
8
2
6
-4
0
0
0
0
2
-66
11
29
43
0
0
0
0
0
6
2
17
-35
0
0
0
0
1
2
27
-12
-7
0
0
0
0
-2
13
20
6
-11
0
0
0
0
-9
-15
60
26
2
0
0
0
0
1
4
-12
22
13
0
0
0
0
5
8
-63
-5
19
0
0
0
0
-2
39
-2
5
-11
0
0
0
0
0
0
-8
54
-11
0
0
0
-1
0
0
-8
-31
21
0
0
0
0
0
0
-5
-30
33
0
0
0
7
0
0
21
-8
-28
0
0
0
0
0
0
-3
-1
38
0
0
0
3
0
0
-17
-7
23
0
0
0
0
0
0
2
13
9
0
0
0
-1
0
0
48
-8
-26
0
0
0
0
0
2
-21
-1
-12
0
0
0
28
0
-3
17
-17
6
0
0
0
0
0
0
2
-44
40
0
0
0
-1
0
0
-75
17
35
0
0
0
0
0
-1
-6
-2
42
0
0
0
-5
0
3
-13
5
9
0
0
0
0
0
0
3
-35
-8
0
0
0
-2
0
-15
34
-2
-13
0
0
0
0
0
0
6
10
6
0
0
0
-13
0
1
0
-70
41
0
0
0
0
0
0
-3
-16
15
0
0
0
0
0
-1
2
8
-21
0
0
0
0
0
0
-3
-3
20
0
0
0
13
0
3
-1
33
-47
0
0
0
0
0
0
0
-15
7
0
0
0
-1
0
0
-18
-37
15
0
0
0
0
0
3
11
-56
27
0
0
0
-3
0
-3
1
-22
7
0
0
0
0
0
0
0
84
-30
0
0
0
-1
0
1
0
-36
30
0
0
0
0
0
3
4
-10
13
0
0
0
23
-2
2
1
-1
-12
0
0
0
0
-1
0
0
-25
7
0
0
0
-28
1
-27
-26
4
3
0
0
0
0
-1
-6
-3
-44
35
0
0
0
0
0
2
-6
-43
19
0
0
0
0
0
1
1
-32
-31
0
0
0
0
0
3
1
20
27
0
0
0
0
0
0
1
-20
1
0
0
0
0
0
0
-2
35
-21
0
0
0
0
0
-2
-1
-9
-7
0
0
0
0
0
0
-6
9
19
0
0
0
0
0
3
-30
-39
50
0
0
0
0
0
-2
-3
-53
81
0
0
0
0
-3
13
24
-52
-8
0
0
0
0
0
10
2
-9
-11
0
0
0
0
0
4
-2
3
-47
0
0
0
0
0
-1
0
-7
-22
0
0
0
0
-8
-25
1
-6
39
0
0
0
0
-9
-35
46
-2
-23
0
0
0
0
0
-2
4
9
8
0
0
0
0
0
0
0
15
-10
0
0
0
0
0
0
-2
29
-21
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
2
-18
26
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
-1
-2
4
0
0
0
0
0
-1
7
-3
3
0
0
0
0
1
0
-4
15
22
0
0
0
0
0
0
0
0
9
0
0
0
0
-4
11
0
48
-34
0
0
0
0
0
3
-5
-31
45
0
0
0
0
0
-2
4
28
-9
0
0
0
0
0
1
-4
-15
41
0
0
0
0
10
0
-13
-12
50
0
0
0
0
-10
24
-65
-31
32
0
0
0
0
0
8
2
18
-1
0
0
0
0
0
-1
-9
-30
-2
0
0
0
0
0
0
0
-10
29
0
0
10
0
0
3
-66
34
45
0
0
0
0
0
0
9
-3
-46
0
0
0
0
0
1
4
-30
-10
0
0
0
0
0
-1
0
-3
23
0
0
1
0
0
2
2
-6
15
0
0
0
0
0
-6
41
-25
-12
0
0
0
2
0
0
2
-42
0
0
0
0
0
0
-3
-27
33
-17
0
0
24
2
0
9
-23
-9
6
0
0
0
0
0
0
2
2
14
0
0
0
0
0
0
-4
1
-22
0
0
0
0
0
0
-7
-42
2
0
0
-1
6
-1
-28
-11
-17
54
0
0
0
0
0
-1
9
30
-18
0
0
0
0
0
0
0
-9
32
0
0
0
0
0
-2
0
-10
38
0
0
27
0
0
1
4
-53
-6
0
0
0
0
0
0
8
-9
-42
0
0
0
0
0
0
1
-8
-7
0
0
0
0
0
0
-6
-3
2
0
0
1
0
0
2
-37
1
-22
0
0
0
0
0
0
3
-14
55
0
0
0
0
0
0
2
10
-2
0
0
0
0
0
0
-2
5
-1
0
0
15
-4
-1
-1
29
-51
55
0
0
0
0
0
1
0
2
35
0
0
0
-2
0
0
8
23
-61
0
0
0
0
1
-2
15
15
-33
0
0
5
-12
0
16
-22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
-17
0
0
0
0
0
6
25
-43
-32
0
0
0
0
-3
18
-17
9
13
0
0
0
0
0
32
3
-36
39
0
0
0
0
-13
-17
24
-3
6
0
0
0
0
1
-25
13
3
33
0
0
0
0
0
0
-38
41
-16
0
0
0
0
-1
-5
-20
16
1
0
0
0
0
-31
29
29
8
18
0
0
0
0
0
2
4
32
-9
0
0
0
0
6
-10
-15
5
56
0
0
0
0
0
12
-15
-25
20
0
0
0
0
6
-1
-14
12
22
0
0
0
0
0
-9
7
-26
1
0
0
0
0
20
-24
27
-24
35
0
0
0
0
-15
0
-5
12
17
0
0
0
0
23
-10
-18
-30
-7
4
0
0
0
-6
-22
-29
-21
-14
10
0
0
0
-17
23
49
21
11
5
0
0
0
0
3
37
-16
50
4
0
0
0
1
1
18
-27
3
10
0
0
0
-4
-14
-6
-11
-11
9
0
0
0
19
12
-33
-60
40
3
0
0
0
36
-13
44
-35
-12
-2
0
0
0
-7
38
5
58
23
-1
0
0
0
0
-4
7
-44
-5
11
0
0
0
18
22
1
-16
23
11
0
0
0
0
-25
-35
-5
12
18
0
0
0
-22
12
40
17
25
1
0
0
0
19
-40
47
-15
22
2
0
0
0
-11
0
18
49
46
-13
0
0
0
-8
-23
5
-5
22
3
0
0
0
0
4
-6
-23
7
0
0
0
-22
-2
2
-18
-20
19
0
0
0
0
0
0
37
27
-42
0
0
0
1
0
-2
22
-45
9
0
0
0
0
0
4
-33
37
51
0
0
0
29
0
-13
62
-19
-19
0
0
0
0
0
-1
0
-35
21
0
0
0
0
1
-6
21
-37
7
0
0
0
0
0
2
7
-15
47
0
0
0
-4
0
1
0
-16
15
0
0
0
0
0
1
-4
-6
28
0
0
0
5
0
-7
-2
-4
28
0
0
0
0
0
0
1
-36
27
0
0
0
35
0
4
-19
10
-8
0
0
0
0
0
7
-2
-21
30
0
0
0
11
1
-18
21
2
-2
0
0
0
0
0
0
30
15
23
-4
0
0
-25
-2
1
-1
-1
16
5
0
0
0
0
1
43
-4
-4
-1
0
0
0
0
0
-5
-4
-5
-8
0
0
0
0
0
22
-44
-45
9
0
0
-41
-1
-1
26
-68
47
7
0
0
0
0
-1
0
-43
45
0
0
0
0
1
11
-21
-5
24
-4
0
0
0
0
3
5
-9
7
-11
0
0
-2
0
0
-13
-51
-10
32
0
0
0
0
0
10
-40
2
-12
0
0
22
0
-2
-14
-58
51
7
0
0
0
3
-2
-7
8
48
-8
0
0
40
-3
0
-34
18
14
5
0
0
0
3
-4
-7
7
30
-8
0
0
-58
-1
6
-42
-7
16
-1
0
0
0
2
2
-3
-9
31
0
0
0
0
0
0
1
-5
10
0
0
0
0
2
18
25
-51
-33
0
0
0
0
0
1
24
-39
31
0
0
0
0
0
0
-16
-19
6
0
0
0
0
0
3
-1
-21
45
0
0
0
0
0
1
0
18
0
0
0
0
0
0
7
4
-39
36
0
0
0
0
0
-1
-3
12
20
0
0
0
0
0
0
1
5
-2
0
0
0
0
0
6
1
17
-25
0
0
0
0
0
-4
1
-22
0
0
0
0
0
0
0
0
10
-11
0
0
0
0
0
0
0
-11
-3
0
0
0
0
0
-6
24
38
-23
0
0
0
0
1
1
15
-16
-9
0
0
0
0
1
0
-8
-93
59
-6
0
0
0
0
0
1
53
-4
-3
0
0
0
-10
-24
-59
7
10
1
0
0
0
0
-3
45
-14
-34
-3
0
0
0
0
0
3
-19
-65
12
0
0
0
0
0
-9
18
-9
10
0
0
0
-4
-19
-16
2
-1
10
0
0
0
6
38
-9
-31
28
-14
0
0
0
0
-1
49
-19
32
-2
0
0
0
0
1
-2
-35
0
40
0
0
0
1
-11
-21
-5
-12
30
0
0
0
0
0
-28
-16
65
5
0
0
0
-2
-1
4
21
18
16
0
0
0
-1
-2
14
-8
16
-2
0
0
0
4
29
9
-33
-37
-4
0
0
0
-17
-25
14
-13
-2
8
0
0
0
0
-3
17
38
-7
0
0
0
0
0
-1
16
26
-25
0
0
0
0
0
-1
28
-22
7
0
0
4
3
1
-7
-22
-40
0
0
0
0
0
0
2
7
-18
-32
0
0
0
0
0
3
3
-38
13
0
0
0
0
0
0
1
7
10
0
0
-2
0
-1
30
-3
-38
36
0
0
0
0
0
2
-4
-11
58
0
0
0
0
0
0
1
-2
11
0
0
0
0
0
3
-8
-48
19
0
0
2
0
0
16
-24
28
0
0
0
0
0
0
0
-4
7
-39
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
-2
3
13
0
0
8
0
-1
-15
-1
-47
13
0
0
0
0
0
2
-2
11
1
-12
0
0
0
0
0
0
-27
17
-12
0
0
0
0
-2
0
-61
-24
2
0
-33
0
2
-7
-35
2
86
4
0
0
0
0
-1
-22
62
4
11
0
0
0
0
0
40
-2
30
-7
0
0
0
0
0
10
-25
-14
19
0
10
0
3
-12
-18
6
14
-8
0
0
0
0
0
1
32
-39
-7
0
0
-2
0
0
5
-1
53
-34
0
0
0
0
0
3
-36
37
16
0
-9
0
0
0
13
-33
4
37
0
0
0
0
0
8
-51
-26
21
0
0
8
0
0
0
0
15
-26
0
0
0
0
-3
26
-13
2
9
0
5
-5
8
-11
-58
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-52
20
0
0
0
0
0
0
-6
-12
15
0
0
0
0
2
4
91
-48
-3
0
0
0
0
0
5
32
-49
-13
0
0
0
0
0
-31
-11
16
62
0
0
0
0
0
0
19
-4
1
0
0
0
0
0
-6
3
-2
2
0
0
0
0
0
-14
-45
22
53
0
0
0
0
-18
3
11
20
-27
0
0
0
0
0
2
2
-58
4
0
0
0
0
-1
-11
-19
38
28
0
0
0
0
0
-13
-36
38
3
0
0
0
0
3
-14
6
11
-6
0
0
0
0
-2
3
-1
0
-9
0
0
0
0
10
-2
-8
-26
43
0
0
0
0
19
-5
-24
-32
0
0
0
0
0
14
35
38
-5
9
-17
0
0
0
0
0
14
11
-13
21
0
0
0
0
6
49
-1
13
-4
0
0
0
0
1
27
-21
-17
8
0
0
0
-1
24
-7
12
14
-16
0
0
0
-1
3
-4
-13
16
8
0
0
0
0
10
-3
61
-32
-17
0
0
0
-3
18
28
-12
-13
-4
0
0
0
2
-40
-7
7
15
-9
2
0
0
0
-4
-5
4
-2
4
1
0
0
2
-17
-45
-43
27
4
7
0
0
0
28
2
-39
29
4
5
0
0
-39
-3
4
14
29
-2
-5
0
0
-7
-36
-28
5
47
-13
2
0
0
-10
7
0
-6
53
-2
1
0
0
13
19
47
-30
1
-12
6
0
0
0
0
6
-60
18
0
0
0
13
0
2
-2
-64
9
0
0
0
0
0
0
-13
7
6
0
0
0
3
0
-3
9
-9
38
0
0
0
0
0
0
-1
-5
83
0
0
0
2
0
0
-5
-1
-19
0
0
0
0
0
0
4
21
3
0
0
0
0
0
0
9
-4
10
0
0
0
0
0
0
3
-4
-14
0
0
0
14
0
-2
0
-23
48
0
0
0
0
0
0
0
-18
-22
0
0
0
-7
0
-6
39
-26
-9
0
0
0
0
0
3
0
-11
43
0
0
0
-16
0
0
-10
-6
56
0
0
0
0
0
0
6
-5
-10
0
0
0
-2
0
4
19
-26
2
0
0
0
0
0
0
8
-37
-11
2
0
0
-12
0
2
6
-27
-6
14
0
0
0
0
0
1
-20
4
3
0
0
0
0
0
-12
-29
-9
34
0
0
0
0
0
-10
29
22
-36
0
0
14
0
-3
18
-2
4
9
0
0
0
0
0
0
41
73
-34
0
0
0
0
-1
-6
-76
42
-8
0
0
0
0
0
22
-1
6
13
-6
0
24
0
-26
-41
38
29
-1
-5
0
0
0
0
-27
19
-39
7
-2
0
-2
0
-6
11
-2
-22
0
5
0
0
6
-3
14
15
-14
-8
-8
0
11
0
0
-17
-11
4
17
-4
0
0
0
-8
-9
-58
11
-9
14
0
33
-4
-19
-36
-2
-4
11
-4
0
0
0
4
0
-17
6
0
0
0
0
0
0
-3
-39
36
0
0
0
0
0
0
20
21
-16
0
0
0
0
0
2
0
7
43
0
0
0
0
0
0
0
-7
-4
0
0
0
0
0
0
-2
-12
-1
0
0
0
0
0
0
-2
-28
0
0
0
0
0
0
0
19
2
15
0
0
0
0
1
0
0
-41
13
0
0
0
0
0
0
0
6
-3
0
0
0
0
-1
-2
-11
53
-7
0
0
0
0
0
-2
2
-23
58
0
0
0
0
0
0
0
2
3
0
0
0
0
0
-1
0
-17
-7
0
0
0
0
-1
-1
0
-4
-10
0
0
0
0
4
-3
-47
9
19
0
0
0
0
0
-4
6
-25
-13
-11
0
0
0
0
0
1
-26
-19
-5
0
0
0
0
0
3
-14
6
-11
0
0
0
0
-1
0
17
-32
-10
0
0
0
0
0
-10
-6
17
-29
0
0
0
0
-3
0
-7
2
-5
0
0
0
0
0
0
8
-4
-14
0
0
0
0
-22
28
-55
32
23
0
0
0
-2
-1
-15
28
-47
9
11
0
0
0
0
0
-28
-31
-7
17
0
0
-8
30
11
-49
-4
-5
-1
0
0
-3
2
-26
-13
-46
14
4
0
0
-10
1
-1
1
27
16
-1
0
0
0
-2
-3
-6
-19
32
24
0
0
-16
4
16
61
38
-35
10
0
0
-12
-8
-64
-28
-18
-8
25
0
0
0
0
7
52
-62
0
0
0
0
0
0
-12
-14
43
0
0
0
0
0
0
-17
25
22
0
0
6
0
0
0
-26
-29
-32
0
0
0
0
0
-1
1
-9
0
0
0
0
0
0
0
0
11
6
0
0
0
0
0
0
0
7
2
0
0
0
0
0
0
-53
-7
1
0
0
0
0
0
-2
3
-3
5
0
0
0
0
0
0
-1
-25
-6
0
0
0
0
0
0
6
-8
-24
0
0
-6
0
0
24
-12
42
-47
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
1
0
2
0
0
-1
-1
0
-2
-4
13
-12
0
0
0
0
0
1
-11
-79
30
-9
0
0
0
0
0
-27
-16
44
29
0
0
0
0
0
6
11
-6
-64
0
-22
0
0
-2
-42
-46
34
33
0
0
0
0
-1
0
0
-11
38
0
0
0
0
0
-4
-2
3
24
0
0
0
0
0
-2
1
1
-47
0
4
0
0
-41
37
-34
-6
6
0
0
0
0
10
-38
45
-16
-11
-6
0
0
0
0
26
42
-6
-32
-13
0
0
0
0
6
5
41
-47
-3
8
1
0
-63
21
-43
-59
-14
10
0
0
0
-8
-4
-30
-4
10
5
0
0
0
-2
29
-7
-54
-48
57
0
0
-1
1
-10
18
35
-22
21
-81
22
0
-26
-31
-13
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
14
31
0
0
0
0
-2
12
-19
-38
7
0
0
0
0
20
-13
0
-37
16
0
0
0
0
0
17
-2
-7
-5
0
0
0
0
17
18
-18
-40
41
0
0
0
0
-10
5
47
-13
-11
0
0
0
0
5
6
8
-25
17
0
0
0
0
1
0
-1
-19
-3
0
0
0
0
-10
-29
35
25
23
0
0
0
0
0
3
12
-45
9
0
0
0
0
11
-4
-20
19
26
0
0
0
0
-1
19
-22
-19
35
0
0
0
0
-4
50
-9
-6
19
0
0
0
0
0
-4
14
18
-15
0
0
0
0
13
29
19
-1
16
0
0
0
0
9
-24
2
6
0
0
0
0
0
11
-57
-24
-13
33
0
0
0
0
2
2
-54
26
29
0
0
0
0
-2
-4
-16
1
47
0
0
0
0
0
-4
-9
-19
29
0
0
0
0
-7
-22
-38
43
36
0
0
0
0
0
-8
-7
-6
3
0
0
0
0
1
6
2
-42
27
0
0
0
0
7
-5
18
-20
2
0
0
0
0
-1
5
19
-4
-3
0
0
0
0
0
7
-3
-13
42
0
0
0
0
-28
-12
39
-35
44
0
0
0
0
1
-7
38
-43
-15
0
0
0
0
-5
-13
23
2
12
0
0
0
0
8
-16
2
41
-22
0
0
0
0
8
-16
15
-5
-13
0
0
0
0
17
34
-12
-4
0
0
0
0
0
0
7
79
-37
14
0
0
0
16
3
1
11
-10
11
0
0
0
0
0
0
1
-5
9
0
0
0
2
0
-7
-23
-13
10
0
0
0
0
0
-1
0
-34
-13
0
0
0
0
0
1
-24
-8
14
0
0
0
0
0
-1
3
-15
-6
0
0
0
-1
0
-2
21
-28
-19
0
0
0
0
6
-3
-44
-25
26
0
0
0
27
0
3
-15
-23
28
0
0
0
0
0
-2
-3
46
2
0
0
0
15
0
-1
13
-13
1
0
0
0
0
0
0
21
-9
-4
0
0
0
1
0
-8
0
-50
38
0
0
0
0
0
-3
0
-11
-6
0
0
0
-30
0
12
-28
4
7
0
0
0
0
0
0
-32
-16
16
0
0
0
-17
0
0
7
-53
21
0
0
0
0
0
-1
11
-5
14
0
0
0
-4
0
3
20
-18
24
0
0
0
0
0
0
6
6
-8
0
0
0
-20
0
0
-10
-18
15
0
0
0
0
0
0
7
-19
11
0
0
0
-1
0
-28
36
-4
22
0
0
0
0
0
-5
-60
26
-2
0
0
0
1
0
3
-6
28
-2
0
0
0
0
0
-11
3
-15
-10
0
0
0
11
0
-8
-8
-31
19
0
0
0
0
0
-1
-14
-26
-22
0
0
0
9
-1
-1
16
-20
-16
0
0
0
0
0
-6
-4
17
-30
0
0
0
-31
22
28
-52
-8
19
0
0
0
0
1
1
-51
-16
27
0
0
0
0
0
0
-17
20
12
0
0
0
0
1
-3
-14
10
-3
0
0
0
0
0
-1
19
-18
-11
0
0
0
0
0
0
14
31
-10
0
0
0
0
0
-2
-1
-4
1
0
0
0
0
0
0
-2
-5
10
0
0
0
0
0
-13
36
4
-33
0
0
0
0
0
2
-18
-44
22
0
0
0
0
0
0
-6
-9
-6
0
0
0
0
0
9
6
-4
-7
0
0
0
0
0
0
-22
12
6
0
0
0
0
0
3
1
17
-40
0
0
0
0
0
0
-8
-18
-11
0
0
0
0
0
4
34
-31
-1
0
0
0
0
0
3
-12
6
-4
0
0
0
0
0
1
11
-41
23
0
0
0
0
0
0
2
3
-2
0
0
0
0
0
1
-21
-25
28
0
0
0
0
0
7
0
-43
25
0
0
0
0
0
0
-2
5
16
0
0
0
0
0
0
-1
-30
32
0
0
0
0
0
0
0
15
11
0
0
0
0
0
2
13
6
36
0
0
0
0
0
0
6
1
15
0
0
0
0
0
1
0
-11
-18
0
0
0
0
0
0
2
-6
-38
0
0
0
0
0
3
-1
-20
14
0
0
0
0
0
0
19
-9
26
0
0
0
0
0
-2
6
-13
4
0
0
0
0
2
6
-1
-36
6
0
0
0
0
-23
-46
-45
5
10
0
0
0
0
3
3
8
-11
-2
0
0
0
0
0
0
8
17
16
0
0
0
0
0
0
17
-33
-5
0
0
30
0
0
0
26
-7
7
0
0
0
0
0
0
-4
-56
34
0
0
0
0
0
-4
-16
13
-7
0
0
0
0
0
0
2
11
-17
0
0
2
0
0
-2
-14
1
17
0
0
0
0
0
0
2
-13
21
0
0
0
0
0
0
6
-45
18
0
0
0
0
0
1
17
-51
32
0
0
-31
0
0
0
5
19
-4
0
0
0
0
0
-9
-10
3
46
0
0
0
0
0
1
33
-23
-34
0
0
0
0
0
-1
8
30
6
0
0
-2
0
0
-8
5
-60
42
0
0
0
0
0
-1
-6
-19
31
0
0
0
0
0
0
29
20
-15
0
0
0
0
0
0
25
-29
15
0
0
-20
1
0
0
-15
35
30
0
0
0
0
0
-1
3
-20
31
0
0
0
0
0
1
-8
39
5
0
0
0
0
0
0
12
-30
25
0
0
24
0
0
-7
8
7
1
0
0
0
0
0
1
19
-61
6
0
0
0
0
0
0
29
-19
2
0
0
0
0
0
1
-42
7
11
0
0
-39
0
0
0
29
24
-29
0
0
0
0
0
3
8
-42
7
0
0
0
1
0
0
37
2
-5
0
0
0
0
0
6
-21
-34
12
0
0
28
1
-3
28
-33
-17
21
0
0
0
0
8
7
14
-45
4
0
0
0
0
0
-1
42
-33
19
0
0
0
0
0
0
27
7
-14
0
0
0
0
0
1
12
-34
25
0
0
0
0
0
7
9
-20
30
0
0
0
0
0
3
-3
-2
27
0
0
0
0
0
0
-2
51
-15
0
0
0
0
0
-1
19
-36
-8
0
0
0
0
0
-17
-9
15
27
0
0
0
0
0
-3
0
44
-36
0
0
0
0
0
2
-23
-31
0
0
0
0
0
0
4
-40
5
29
0
0
0
0
-1
-4
2
-4
31
0
0
0
0
0
0
-12
-6
31
0
0
0
0
0
-10
0
6
34
0
0
0
0
-1
12
-6
8
-13
0
0
0
0
3
-10
29
-46
-1
0
0
0
0
0
-2
4
6
43
0
0
0
0
0
-2
-14
11
6
0
0
0
0
0
0
19
54
-43
0
0
0
0
0
1
-20
2
17
0
0
0
0
0
-1
12
10
-21
0
0
0
0
0
1
6
-12
-26
0
0
0
0
0
-13
-7
-15
45
0
0
0
0
-12
-1
-18
-6
43
0
0
0
0
0
0
6
-34
14
0
0
0
0
0
1
-40
8
30
0
0
0
0
0
26
-24
18
-26
0
0
0
0
0
3
3
2
28
0
0
0
0
0
0
2
-5
-14
0
0
0
0
-6
-6
37
28
-7
0
0
0
0
22
-4
27
-61
-3
0
0
0
0
0
0
-3
-2
12
0
0
0
5
0
0
-5
-9
4
0
0
0
0
0
0
-4
-102
47
0
0
0
0
0
0
1
-11
11
0
0
0
0
0
0
6
18
4
0
0
0
0
0
0
29
29
12
0
0
0
0
0
0
-2
10
-7
0
0
0
0
0
0
3
-46
32
0
0
0
0
0
0
8
-20
21
0
0
0
0
0
0
2
-14
30
0
0
0
0
0
-1
11
-12
-20
0
0
0
0
0
0
8
11
7
0
0
0
0
0
0
-1
-7
54
0
0
0
1
0
0
0
-2
-26
0
0
0
0
0
0
6
-5
-9
0
0
0
0
0
1
50
-1
-12
0
0
0
0
0
0
-7
-19
22
0
0
0
5
0
-1
-46
-5
21
0
0
0
0
0
0
2
20
-23
0
0
0
0
0
0
-26
-18
12
0
0
0
0
0
0
0
-3
15
0
0
0
0
0
0
-6
28
2
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-9
-5
10
0
0
0
0
0
0
0
-8
-18
0
0
0
3
0
0
12
-9
-9
0
0
0
0
0
-2
-10
-29
43
0
0
0
-2
0
0
-25
-11
71
0
0
0
0
0
0
-21
8
0
0
0
0
-4
0
0
-1
19
-53
0
0
0
0
-2
0
-41
3
45
0
0
0
-7
0
6
-43
-3
15
0
0
0
0
1
-3
2
-17
12
0
0
0
0
0
0
0
-42
10
0
0
0
0
0
0
-11
-13
31
0
0
0
0
0
0
8
-3
-20
0
0
0
0
0
-1
1
2
10
0
0
0
0
0
0
1
-3
-14
0
0
0
0
0
0
0
0
4
0
0
0
0
0
1
17
-3
-4
0
0
0
0
0
0
0
15
-12
0
0
0
0
0
0
1
-4
25
0
0
0
0
0
0
1
13
10
0
0
0
0
0
0
35
1
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
2
-17
0
0
0
0
0
0
0
0
22
0
0
0
0
0
6
-27
-1
-29
0
0
0
0
0
-4
7
-16
7
0
0
0
0
0
0
0
-34
60
0
0
0
0
0
0
2
9
-9
0
0
0
0
0
0
0
-66
10
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
-4
1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-18
1
0
0
0
0
0
1
3
2
-17
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-10
0
-13
0
0
0
0
0
0
-1
22
-3
0
0
0
0
0
0
-15
-10
36
0
0
0
0
0
-4
0
1
32
0
0
0
0
-1
0
1
3
6
0
0
0
0
6
-17
15
12
9
0
0
0
0
0
-6
66
-54
-1
0
0
0
0
0
3
-16
-6
-5
0
0
0
0
0
6
-10
-8
6
0
0
-3
0
0
6
48
-13
-4
0
0
0
0
0
0
-1
-23
24
0
0
0
0
0
0
41
-37
44
0
0
0
0
0
0
25
21
-77
0
0
0
0
0
-24
3
20
-5
0
0
0
0
0
-8
14
5
26
0
0
0
0
0
0
11
-11
3
0
0
0
0
0
3
-10
0
25
0
0
0
0
0
-8
-11
-23
43
0
0
0
0
0
-1
1
-2
17
0
0
0
0
0
3
-18
-4
-20
0
0
0
0
0
-2
-22
-13
28
0
0
0
0
0
-30
-26
41
8
0
0
0
0
0
3
-33
50
-16
0
0
0
0
0
0
-9
-19
39
0
0
0
0
0
-2
-20
-19
44
0
0
4
0
0
-2
1
-3
22
0
0
0
0
0
6
12
-50
19
0
0
0
0
0
-1
14
16
-25
0
0
0
0
0
0
-32
19
0
0
0
0
0
0
-36
-5
-6
32
0
0
0
0
0
-1
17
-10
-12
0
0
0
0
0
2
9
-36
1
0
0
0
0
0
-1
-16
-24
37
0
0
2
0
0
-8
-8
46
7
0
0
0
0
0
8
12
22
-18
0
0
0
1
0
-2
6
27
-18
0
0
0
0
-4
39
-39
-21
27
0
0
-8
0
0
-32
-15
-8
13
0
0
0
0
4
-17
-19
51
15
0
0
0
0
0
0
-15
-2
21
0
0
0
0
0
3
7
-21
23
0
0
0
0
0
10
2
-49
-4
0
0
0
0
0
11
27
17
-30
0
0
0
0
0
4
-1
-44
47
0
0
0
0
0
4
-30
-34
85
0
0
0
0
0
15
-17
-19
6
0
0
0
0
-8
11
-34
0
20
0
0
0
0
0
7
-1
64
-41
0
0
0
0
-1
7
-21
-55
34
0
0
0
0
0
-10
-4
-23
33
0
0
0
0
0
0
-2
3
9
0
0
0
0
0
1
8
-3
-1
0
0
0
0
6
-5
-8
-8
34
0
0
0
0
-1
-1
28
4
3
0
0
0
0
-16
21
-18
6
26
0
0
0
0
0
-4
-5
41
-4
0
0
0
0
0
2
15
46
20
0
0
0
0
0
-2
8
4
35
0
0
0
0
1
-25
-4
-18
-9
0
0
0
0
0
1
18
14
-17
0
0
0
0
0
0
1
-6
36
0
0
0
0
1
-3
43
-40
8
0
0
0
0
-15
-2
0
8
17
0
0
0
0
0
-1
2
-8
-12
0
0
0
0
0
-4
-4
-40
25
0
0
0
0
0
-8
30
-31
39
0
0
0
0
1
-11
3
12
3
0
0
0
0
0
-4
-6
-17
56
0
0
0
0
-8
-39
36
53
-21
0
0
0
0
1
-12
28
7
-10
0
0
0
0
0
0
-35
5
29
0
0
0
-22
0
4
-6
34
13
0
0
0
0
0
0
0
-8
-6
0
0
0
8
0
0
7
-2
-10
0
0
0
0
0
0
6
-36
69
0
0
0
9
0
0
1
-18
22
0
0
0
0
0
0
0
-16
12
0
0
0
0
0
0
52
-18
-15
0
0
0
0
0
0
-10
0
40
0
0
0
1
0
0
0
-21
0
0
0
0
0
0
2
7
-26
-1
0
0
0
-3
0
2
-42
-24
54
0
0
0
0
0
0
0
-4
3
0
0
0
-2
0
0
0
3
36
0
0
0
0
0
-4
1
-4
24
0
0
0
-1
0
3
6
-52
0
0
0
0
0
0
0
9
20
3
0
0
0
14
0
1
-1
-25
11
0
0
0
0
0
0
0
6
11
0
0
0
0
0
0
8
-22
-42
0
0
0
0
0
0
1
-11
-13
0
0
0
3
0
0
0
-18
-2
0
0
0
0
0
0
0
-33
15
0
0
0
0
0
0
-1
-8
10
0
0
0
0
0
0
1
-26
36
0
0
0
21
0
-1
1
-37
-26
0
0
0
0
0
0
1
-28
19
0
0
0
0
0
0
-10
-1
17
0
0
0
0
0
-2
-2
0
-1
0
0
0
-25
0
-1
2
33
-31
0
0
0
0
0
-1
0
-23
49
0
0
0
28
-6
30
21
-22
-4
0
0
0
0
1
7
6
-5
-1
0
0
0
0
0
0
2
21
-1
0
0
0
0
0
-2
-2
-18
7
0
0
0
0
0
0
-41
18
-13
0
0
0
0
0
0
0
9
19
0
0
0
0
0
0
-7
33
-40
0
0
0
0
0
0
0
-16
-3
0
0
0
0
0
0
-33
18
19
0
0
0
0
0
3
-3
12
-5
0
0
0
0
0
0
0
-53
45
0
0
0
0
1
0
1
2
-36
0
0
0
0
0
0
-8
-22
22
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-16
16
0
0
0
0
0
3
-8
0
4
0
0
0
0
0
0
9
-2
-12
0
0
0
0
0
0
2
-43
-2
0
0
0
0
0
-2
0
18
0
0
0
0
0
0
0
-7
-22
-10
0
0
0
0
0
0
0
5
35
0
0
0
0
0
0
0
-4
-47
0
0
0
0
0
0
-1
0
8
0
0
0
0
0
0
-35
-5
-5
0
0
0
0
1
-1
0
7
-11
0
0
0
0
0
0
-1
19
-6
0
0
0
0
0
-1
-1
8
-3
0
0
0
0
0
1
-6
-23
1
0
0
0
0
-1
0
0
-23
21
0
0
0
0
0
0
6
-42
52
0
0
0
0
-2
0
1
4
29
0
0
0
0
-6
-13
-38
-35
7
0
0
0
0
0
3
20
-5
-11
0
0
0
0
0
0
-21
10
-23
0
0
0
0
0
0
3
9
10
0
0
13
0
0
0
-22
14
38
0
0
0
0
0
-1
6
29
0
0
0
0
0
0
0
-3
-5
-10
0
0
0
0
0
0
-6
-2
-20
0
0
0
0
0
6
14
35
-35
0
0
0
0
0
0
15
11
10
0
0
0
0
0
0
0
19
27
0
0
0
0
0
0
12
-35
44
0
0
-1
0
0
0
19
0
-37
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
2
-12
42
0
0
0
0
0
-1
9
0
-12
0
0
0
0
0
0
-24
42
-7
0
0
0
0
0
1
-4
-5
5
0
0
0
0
0
0
6
-17
-12
0
0
0
0
0
0
1
-37
13
0
0
2
0
0
0
1
-20
-11
0
0
0
0
0
-2
-7
15
-8
0
0
0
0
0
0
-22
-33
44
0
0
0
0
0
0
2
35
-2
0
0
1
0
0
10
7
1
-54
0
0
0
0
0
0
0
1
21
0
0
0
0
0
0
6
-41
-8
0
0
0
0
0
0
10
-41
-47
0
0
15
0
0
0
-12
-12
7
0
0
0
0
0
0
12
-18
34
0
0
0
1
0
0
-3
-13
-17
0
0
0
0
0
0
9
-53
3
0
0
-7
-21
3
-7
-40
-45
63
0
0
0
0
0
3
-9
-7
15
0
0
0
0
0
2
-10
-19
17
0
0
0
0
0
0
0
-17
15
0
0
0
0
0
0
25
-7
-11
0
0
0
0
0
-3
0
2
2
0
0
0
0
0
0
-4
1
19
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
30
-9
-37
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
-6
17
0
0
0
0
0
0
0
-1
46
0
0
0
0
0
0
1
-2
-4
0
0
0
0
-1
-2
0
1
-6
0
0
0
0
0
0
3
0
4
0
0
0
0
0
0
0
-1
4
0
0
0
0
1
0
-9
1
6
0
0
0
0
2
-3
20
10
-17
0
0
0
0
0
0
0
-12
27
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
1
1
6
0
0
0
0
0
-1
0
-4
59
0
0
0
0
0
0
3
-15
12
0
0
0
0
0
1
-1
7
0
0
0
0
0
0
0
27
15
-60
0
0
0
0
3
0
0
-2
9
0
0
0
0
0
0
1
3
-25
0
0
0
0
0
0
8
-8
4
0
0
0
0
0
0
7
-9
33
0
0
0
0
1
2
8
2
-17
0
0
0
0
0
-1
2
-1
44
0
0
0
0
-1
0
3
-10
6
0
0
0
0
-22
1
6
-27
-27
0
0
0
0
0
0
1
-48
38
0
0
0
0
0
0
-6
-33
19
0
0
0
0
0
0
6
-17
53
0
0
0
0
0
0
-32
-1
26
0
0
0
0
0
0
-6
-8
4
0
0
0
0
0
0
0
1
-26
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-2
12
19
-27
0
0
0
0
0
0
0
6
20
0
0
0
0
0
0
0
8
-20
0
0
0
0
0
0
0
-11
15
0
0
0
0
0
0
4
-25
-13
0
0
0
0
0
0
0
0
-7
0
0
0
-1
0
0
-1
0
25
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
2
0
37
0
0
0
0
0
0
4
-18
-3
0
0
0
-1
0
0
-3
-38
-15
0
0
0
0
0
0
-3
-7
24
0
0
0
0
0
0
-11
13
-14
0
0
0
0
0
0
0
12
19
0
0
0
0
0
0
0
-2
-14
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
2
-4
6
0
0
0
0
0
0
0
-33
9
0
0
0
0
0
0
-2
2
20
0
0
0
0
0
0
-2
3
15
0
0
0
0
0
0
2
-15
1
0
0
0
0
0
0
0
-13
-4
0
0
0
0
0
-2
1
9
3
0
0
0
0
0
0
0
-6
22
0
0
0
12
2
-23
-22
12
11
0
0
0
0
-5
0
3
74
-14
0
0
0
0
0
0
0
-3
29
0
0
0
0
0
0
0
-41
35
0
0
0
0
0
-1
-3
-3
13
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
-9
34
0
0
0
0
0
0
1
2
25
0
0
0
0
0
7
-33
-19
-4
0
0
0
0
0
-2
1
0
11
0
0
0
0
0
0
0
-3
25
0
0
0
0
-2
0
1
10
-12
0
0
0
0
0
0
-1
13
-14
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
2
-1
12
0
0
0
0
0
-1
0
0
6
0
0
0
0
0
0
1
0
41
0
0
0
0
0
0
-4
-21
12
0
0
0
0
0
0
0
-5
-11
0
0
0
0
0
0
-1
-9
12
0
0
0
0
0
-1
-3
3
16
0
0
0
0
0
0
-1
-2
-37
0
0
0
0
0
0
-6
-2
-29
0
0
0
0
0
0
-1
11
-4
0
0
0
0
0
1
-6
-38
3
0
0
0
0
0
0
-1
1
25
0
0
0
0
0
-3
0
-6
-17
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
-7
-6
-11
0
0
0
0
-1
3
-1
-9
4
0
0
0
0
0
-2
0
15
18
0
0
0
0
-8
0
1
22
-25
0
0
0
0
8
12
10
-73
17
0
0
0
0
0
10
-5
65
-50
0
0
0
0
0
0
-36
-5
-5
0
0
0
0
0
0
9
4
22
0
0
-1
0
0
0
2
15
39
0
0
0
0
0
2
3
-9
2
0
0
0
0
0
0
4
19
-35
0
0
0
0
0
0
36
-56
11
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-18
8
3
-19
0
0
0
0
0
0
4
-10
27
0
0
0
0
0
2
-7
40
5
0
0
0
0
0
-1
-3
-5
0
0
0
0
0
0
-6
0
1
27
0
0
0
0
0
-1
-1
4
-2
0
0
0
0
2
-9
-2
-2
6
0
0
0
0
3
9
22
-60
7
0
0
0
0
0
13
-9
0
30
0
0
0
0
0
0
30
-86
9
0
0
0
0
0
4
3
-13
1
0
0
0
0
0
1
14
-43
-26
0
0
0
0
0
-7
0
-4
-1
0
0
0
0
0
1
29
-8
-36
0
0
0
0
0
0
-7
22
-1
0
0
0
0
0
-8
28
-32
-8
0
0
0
0
0
15
-21
-26
33
0
0
0
0
0
0
8
-46
32
0
0
0
0
0
13
-18
22
-41
0
0
4
0
0
3
-6
-22
-27
0
0
0
0
0
4
-8
12
56
0
0
0
0
0
3
-8
-40
21
0
0
0
0
0
-4
7
-5
-34
0
0
7
3
-19
-46
0
-6
4
0
0
0
0
-35
-3
-27
6
22
0
0
0
0
0
-7
2
-28
36
0
0
0
0
-1
0
-11
-35
16
0
0
0
0
0
9
22
-23
3
0
0
0
0
-3
-1
5
16
9
0
0
0
0
-1
-3
24
-10
-7
0
0
0
0
1
6
-16
7
6
0
0
0
0
-2
-44
19
43
15
0
0
0
0
-36
-9
-29
-19
87
0
0
0
0
0
0
2
-26
-41
0
0
0
0
-3
-8
-13
31
23
0
0
0
0
0
7
-13
-40
20
0
0
0
0
0
-7
0
5
-12
0
0
0
0
-2
2
0
7
4
0
0
0
0
7
-9
6
21
-29
0
0
0
0
-26
6
72
-2
13
0
0
0
0
-34
-42
3
-40
-9
3
0
0
0
0
4
-3
8
45
0
0
0
0
2
-10
13
13
44
-1
0
0
0
0
-9
7
3
8
-1
0
0
0
-1
4
-30
10
37
1
0
0
0
0
0
-16
24
8
-1
0
0
0
4
-7
-2
46
-54
9
0
0
0
7
10
41
-40
-9
1
0
0
0
-17
8
43
1
44
10
0
0
0
0
1
-5
-9
16
5
0
0
0
-5
-2
-11
-38
71
4
0
0
0
0
17
-19
-6
32
10
0
0
0
43
9
-25
-53
1
6
0
0
0
0
-3
1
5
62
12
0
0
0
-10
21
-6
-35
45
-4
0
0
0
54
36
49
-63
14
5
0
0
0
0
1
15
23
-16
0
0
0
-2
0
0
1
13
-2
0
0
0
0
0
0
5
-26
24
0
0
0
8
0
0
0
-47
-5
0
0
0
0
0
0
-2
-37
14
0
0
0
1
0
0
-1
-1
19
0
0
0
0
0
0
-1
1
2
0
0
0
-4
0
0
16
7
-15
0
0
0
0
0
-1
1
-4
12
0
0
0
4
0
-3
0
-42
31
0
0
0
0
0
0
0
-15
-27
0
0
0
0
0
1
-7
20
11
0
0
0
0
0
0
0
11
-5
0
0
0
0
0
0
0
25
-3
0
0
0
0
0
0
0
-9
13
0
0
0
1
0
-14
-6
-13
37
0
0
0
0
0
0
3
-45
23
4
0
0
-8
0
0
0
-14
4
1
0
0
0
0
0
0
-2
0
-5
0
0
0
0
-2
-6
-3
-79
12
0
0
0
0
0
0
-62
50
3
0
0
1
0
0
0
-35
69
-14
0
0
0
0
0
-2
3
3
8
0
0
0
0
0
-10
23
20
-14
0
0
0
-1
0
2
46
-3
-6
0
0
-2
0
0
-3
-17
42
9
0
0
0
0
0
-2
-22
-14
-6
0
0
-19
0
-1
-9
-62
58
19
0
0
0
0
0
0
25
13
-6
0
0
10
0
-1
2
22
-18
-9
0
0
0
3
0
0
-27
1
-15
0
0
59
-6
-11
2
-29
13
1
0
0
0
2
0
0
-32
1
0
0
0
0
0
0
0
-25
18
0
0
0
0
0
-1
0
21
-13
0
0
0
0
0
0
0
20
2
0
0
0
0
0
0
-2
8
-2
0
0
0
0
0
0
0
5
0
0
0
0
0
0
-3
0
-7
2
0
0
0
0
0
2
-49
-14
11
0
0
0
0
0
0
4
3
23
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
1
4
9
0
0
0
0
0
-3
-4
-6
12
0
0
0
0
0
0
0
-28
11
0
0
0
0
0
-1
1
-15
-21
0
0
0
0
0
-4
0
10
-8
0
0
0
0
1
-1
-6
-2
33
0
0
0
0
7
0
1
-45
25
3
0
0
0
0
0
0
-9
-1
-5
0
0
0
0
0
-3
22
-8
-13
0
0
0
0
0
-3
-36
22
0
0
0
0
0
0
0
9
-16
-5
0
0
0
0
0
1
9
22
-7
0
0
0
0
0
-1
-10
0
16
0
0
0
0
0
-33
26
2
-4
0
0
0
0
-1
0
-56
73
-3
0
0
0
0
0
0
27
-12
-22
0
0
0
0
1
0
13
19
-28
0
0
0
0
-1
-6
-24
4
5
0
0
0
0
0
0
29
-4
1
0
0
0
0
0
6
4
11
-42
0
0
0
0
-7
0
1
-4
-17
0
0
0
21
8
18
-1
30
0
0
0
0
0
0
7
-20
16
0
0
0
0
0
-2
4
-54
21
0
0
0
0
0
0
8
13
-16
0
0
-16
0
0
-1
-19
8
18
0
0
0
0
0
-1
19
-21
-11
0
0
0
0
0
0
-10
-2
27
0
0
0
0
0
1
4
-11
0
0
0
0
0
0
-1
-13
-15
43
0
0
0
0
0
-2
4
-24
9
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
2
1
2
15
0
0
2
0
0
4
3
14
-8
0
0
0
0
0
0
0
-11
-2
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
0
-42
-2
0
0
0
0
0
-7
-6
-35
1
0
0
0
0
0
0
14
9
76
-8
0
0
0
0
0
-9
-59
-51
15
0
0
0
0
2
-3
-91
-10
25
0
-22
0
0
1
12
-23
5
-7
0
0
0
0
0
-2
-52
23
5
0
0
0
0
0
6
-23
-29
33
0
0
0
0
0
0
9
0
-14
0
1
0
0
0
-27
-67
-7
11
0
0
0
0
0
-4
26
-4
6
0
0
0
0
0
3
-4
2
-6
0
0
0
0
0
10
4
-17
4
0
65
0
0
-1
3
5
-47
-28
0
0
0
0
0
-2
16
38
-39
0
0
0
0
0
3
8
6
-42
0
0
0
0
0
-4
-44
22
-2
0
2
-1
1
-25
0
27
58
-8
0
0
0
5
2
-27
-28
71
0
0
0
0
0
0
0
-11
26
0
0
0
0
-1
-3
-33
6
5
0
0
0
0
0
7
-26
-6
37
0
0
0
0
0
-2
0
-2
-20
0
0
0
0
0
0
-8
-2
22
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
-3
-21
10
-1
0
0
0
0
3
0
1
-14
24
0
0
0
0
0
0
-1
0
30
0
0
0
0
0
0
-3
2
7
0
0
0
0
0
2
11
2
-16
0
0
0
0
0
-2
4
0
29
0
0
0
0
0
0
0
2
-13
0
0
0
0
2
0
-2
3
9
0
0
0
0
-4
-15
48
8
-16
0
0
0
0
-2
1
-8
-3
-10
4
0
0
0
0
0
2
-6
29
0
0
0
0
0
0
15
2
-19
-2
0
0
0
0
-9
-4
8
63
-29
0
0
0
0
-4
0
-3
-54
37
0
0
0
0
2
-1
0
-10
5
0
0
0
-7
-1
1
3
-3
5
0
0
0
0
7
13
-37
-9
15
0
0
0
0
1
2
-6
40
-3
0
0
0
0
0
2
-17
-14
34
0
0
0
0
0
3
5
-10
0
0
0
0
0
-4
-3
-16
-65
62
0
0
0
0
0
0
4
9
4
0
0
0
0
0
1
-43
1
0
0
0
0
-6
0
0
-6
7
-18
0
0
0
4
30
22
-30
24
-3
0
0
0
0
-1
9
23
4
0
0
0
-3
0
0
2
-25
14
0
0
0
0
0
0
-12
2
16
0
0
0
0
0
0
-3
-31
34
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
-1
2
0
0
0
0
0
-3
-18
-1
6
0
0
0
0
0
0
3
7
-28
0
0
0
0
0
0
0
-22
61
0
0
0
0
0
0
6
-3
6
0
0
0
0
0
0
-2
12
-8
0
0
0
0
0
0
0
-6
-7
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
-8
0
0
0
0
1
2
3
-1
-13
0
0
0
0
0
0
0
-3
14
-5
0
0
0
0
0
0
11
1
-11
0
0
0
0
0
-1
-7
18
-24
0
0
0
0
0
3
-11
-15
10
0
0
0
0
0
1
0
-20
4
0
0
0
0
0
0
0
-7
23
0
0
0
0
0
0
0
9
-24
0
0
0
0
1
-1
0
0
-52
0
0
0
0
0
0
26
-47
-4
0
0
3
0
0
-12
-7
3
5
0
0
0
0
0
-2
-6
-60
50
0
0
0
0
0
0
5
-8
-13
0
0
0
0
0
0
0
-23
13
0
0
-4
0
0
1
0
-14
0
0
0
0
0
0
2
-6
8
-44
0
0
13
1
0
19
20
22
-16
0
0
0
-2
0
-1
-33
15
0
0
0
0
0
0
2
-25
-20
0
0
0
0
0
0
1
1
2
0
0
0
0
0
0
-3
-60
13
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-6
1
0
0
0
0
0
0
2
-4
13
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
1
3
-13
0
0
0
0
0
0
1
0
16
0
0
0
0
0
0
-1
2
-46
30
0
0
0
0
0
0
3
-30
19
0
0
0
0
0
0
27
0
-10
0
0
0
0
0
0
0
7
-12
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
6
0
-25
0
0
0
2
0
1
2
-1
0
0
0
0
0
0
0
1
-12
19
0
0
0
0
0
0
-1
4
-10
0
0
0
0
0
-4
-1
-1
-41
0
0
0
0
0
0
-10
2
-27
0
0
0
0
0
0
-1
-2
3
0
0
0
1
0
0
3
0
-8
0
0
0
-10
4
-20
38
-32
8
0
0
0
0
2
-16
17
-23
0
0
0
0
0
0
0
-30
6
0
0
0
0
0
-1
11
-36
9
0
0
0
0
0
0
32
-45
23
0
0
0
0
0
3
-3
0
1
0
0
0
0
0
0
3
-2
15
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
1
-44
8
8
0
0
0
0
0
1
-4
18
14
0
0
0
0
0
0
4
8
7
0
0
0
0
0
1
-12
-10
17
0
0
0
0
0
4
-17
2
0
0
0
0
0
0
0
-3
0
-21
0
0
0
0
0
0
-8
1
4
0
0
0
0
0
0
-6
0
-5
0
0
0
0
0
3
21
-41
7
0
0
0
0
1
2
1
24
21
-18
0
0
0
0
0
0
-26
71
-8
0
0
0
0
-2
2
-10
-16
30
0
-1
0
0
1
-7
30
2
6
0
0
0
0
0
1
3
-17
-14
0
0
0
0
0
0
6
-2
-12
0
0
0
0
1
0
-2
0
-2
0
0
0
0
0
6
2
1
-49
0
0
0
0
0
1
-16
35
-12
0
0
0
0
0
1
-16
7
-8
0
0
0
0
0
4
-2
-7
-8
0
-2
0
0
0
9
-7
3
24
0
0
0
0
-1
2
-4
-17
-16
0
0
0
0
0
7
-27
-4
-37
0
0
0
0
0
4
0
3
-6
0
-10
-1
0
-7
-3
-7
-6
-6
0
0
0
17
-14
30
-34
6
0
0
0
0
0
0
-2
-37
24
0
0
0
0
0
-2
6
-8
5
0
0
0
0
1
0
32
-38
22
0
0
0
0
3
-37
-10
55
-6
0
0
0
0
0
-1
-22
22
36
0
0
0
0
0
13
0
-9
-5
0
0
0
0
0
6
8
-10
-21
0
0
0
0
-8
9
25
-20
-14
0
0
0
0
0
3
0
36
-7
0
0
0
0
0
-7
-1
3
-16
0
0
0
0
0
1
12
-2
29
0
0
0
0
0
1
-10
-3
47
0
0
0
0
0
0
-6
9
4
0
0
0
0
-2
0
1
0
-7
0
0
0
0
15
34
-1
-18
2
0
0
0
0
5
4
-17
-55
39
9
0
0
0
0
0
3
1
15
9
0
0
0
0
0
-2
-3
2
-2
0
0
0
0
-4
35
14
0
-25
0
0
0
6
10
13
9
-60
-17
0
0
0
-1
4
7
-10
34
-6
0
0
0
0
4
0
-15
-4
-5
0
0
0
0
-7
8
-12
-30
-7
0
0
0
2
-13
0
-6
12
2
2
0
0
0
0
3
-8
60
32
2
0
0
0
2
-7
9
38
-19
4
0
0
0
-6
-17
-33
-22
-15
13
0
0
-39
-16
-2
9
47
11
11
0
0
3
-1
30
-14
74
-15
0
0
0
-14
-4
0
14
61
-14
0
0
0
13
39
-9
17
9
-8
9
0
0
0
0
-7
27
14
0
0
0
2
0
2
1
-18
17
0
0
0
0
0
0
-8
-5
32
0
0
0
0
0
0
42
12
-29
0
0
0
0
0
0
4
14
8
0
0
0
1
0
0
3
-16
-14
0
0
0
0
0
0
2
-7
-27
0
0
0
0
0
-1
30
-56
47
0
0
0
0
0
-3
1
-9
27
0
0
0
0
0
0
0
-13
22
0
0
0
0
0
2
-4
-24
25
0
0
0
0
0
0
1
-34
32
0
0
0
0
0
0
0
-28
29
0
0
0
18
0
-3
1
-3
-37
0
0
0
0
0
4
0
-7
16
0
0
0
4
0
1
-3
54
-45
0
0
0
0
0
0
6
-42
6
24
0
0
6
0
0
0
-37
3
14
0
0
0
0
0
-1
-21
7
16
0
0
0
0
1
-8
-16
23
26
0
0
0
0
0
-4
3
9
4
0
0
-3
0
0
-12
35
-9
19
0
0
0
0
0
-1
-8
18
-2
0
0
0
0
0
4
-55
44
5
0
0
0
0
3
2
50
31
-12
2
0
14
0
0
0
11
7
-76
5
0
0
0
0
-8
19
57
-11
-4
0
-2
0
0
-2
-3
-22
-20
12
0
0
0
0
0
33
27
-25
-31
0
12
0
1
3
16
-8
17
-7
0
0
0
0
0
-5
17
20
-12
0
60
6
10
-20
-49
-13
5
-8
0
0
0
1
-1
3
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
8
0
0
0
0
0
0
-8
38
-6
0
0
0
0
0
0
-1
-32
-6
0
0
0
0
0
0
-4
-4
7
0
0
0
0
0
-9
2
1
0
0
0
0
0
0
0
-44
-24
24
0
0
0
0
0
-4
6
6
-5
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
6
-18
-1
0
0
0
0
0
4
-7
3
6
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
-8
0
-1
0
0
0
0
0
0
-2
0
-11
2
0
0
0
0
0
0
-1
-1
-26
-5
0
0
0
0
0
-4
10
-45
22
0
0
0
0
0
-1
-18
26
19
0
0
0
0
-2
-1
28
-3
3
0
0
0
0
0
0
-11
11
35
0
0
0
0
0
0
-5
6
7
0
0
0
0
0
0
-3
-6
-23
0
0
0
0
0
0
15
-9
-22
0
0
0
0
3
0
-2
37
-23
-5
0
0
0
0
0
10
-17
32
2
0
0
0
0
0
32
-3
-38
16
0
0
0
0
-1
-37
-6
-32
10
0
0
0
0
0
1
-3
14
7
0
0
0
0
1
-3
6
29
-7
0
0
-1
0
0
-4
10
-38
24
0
0
-1
12
16
-18
-17
-14
3
0
0
0
0
-30
-24
5
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
9
13
-27
0
0
17
0
0
1
12
-6
-2
0
0
0
0
0
0
-14
-28
35
0
0
0
0
0
3
-3
-7
8
0
0
0
0
0
0
-1
2
-1
0
0
-4
0
0
1
-17
1
18
0
0
0
0
0
0
3
-20
-9
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
-1
-1
5
0
0
-3
0
0
-1
4
-39
0
0
0
0
0
0
-1
1
0
3
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
3
1
-9
0
0
0
0
0
0
2
-4
-1
3
0
0
0
0
0
0
0
13
-1
-18
0
0
0
0
0
3
-29
60
-16
0
0
0
0
-7
-7
3
26
-15
0
16
0
0
3
-28
-17
30
6
0
0
0
0
0
-1
25
-11
22
0
0
0
0
0
1
1
8
-5
0
0
0
0
0
0
-24
1
-46
0
-2
0
0
0
2
0
-1
-9
0
0
0
0
0
-7
38
0
-74
0
0
0
0
0
3
-9
21
-53
15
0
0
0
3
0
0
0
-44
-3
5
0
0
0
-2
-63
19
14
14
0
0
0
0
0
0
-6
37
-21
0
0
0
0
0
-5
-8
59
3
0
0
0
0
3
8
0
-44
-7
-80
-6
2
-28
35
6
-27
-23
2
0
0
22
6
-24
-51
12
0
0
0
0
0
0
0
-22
1
0
0
0
0
-1
-3
18
-11
16
0
0
0
0
0
4
-3
-25
12
0
0
0
0
0
1
-7
-9
3
0
0
0
0
0
0
19
-5
-33
0
0
0
0
0
-2
-7
17
6
0
0
0
0
0
-21
48
-4
-8
0
0
0
0
-8
2
2
16
2
0
0
0
0
0
0
1
-23
51
0
0
0
0
3
-9
-9
37
-26
0
0
0
0
0
-11
2
16
-26
0
0
0
0
0
-4
-2
0
-3
0
0
0
0
0
2
-7
-2
20
0
0
0
0
1
-4
0
13
24
0
0
0
0
-1
51
-74
15
-6
0
0
0
0
6
6
18
-12
-34
0
0
0
0
0
0
1
2
61
-17
0
0
0
1
0
3
8
-12
-16
0
0
0
0
0
26
-16
27
-11
0
0
0
-4
-2
0
-32
24
27
0
0
0
0
-1
0
-22
31
10
0
0
0
8
4
0
-9
2
-14
0
0
0
-4
1
-5
-10
22
-28
0
0
0
15
0
2
9
-36
12
0
0
0
0
0
-3
7
22
-25
-8
0
0
-3
0
0
-10
-21
-32
28
0
0
0
3
-3
0
38
-3
-1
0
0
-6
1
0
1
37
-11
13
0
0
0
-1
-11
29
2
-6
5
0
0
-6
2
-3
-12
-2
-25
14
0
0
-15
-2
2
-19
32
-12
-15
0
0
0
-2
0
-13
-8
0
0
0
-6
0
0
-4
-33
27
0
0
0
0
0
0
-7
39
-12
0
0
0
0
0
6
-21
-16
9
0
0
0
0
0
0
-4
-34
46
0
0
0
0
0
0
-2
-7
-27
0
0
0
0
0
-3
-3
0
-3
0
0
0
0
0
0
-11
-2
-4
0
0
0
0
0
1
0
-1
6
0
0
0
-6
0
0
0
16
30
0
0
0
0
0
0
3
-15
43
0
0
0
0
0
0
0
16
-48
0
0
0
0
0
0
0
-1
5
0
0
0
-3
0
0
-3
1
16
0
0
0
0
0
0
0
0
23
0
0
0
0
0
-7
21
-1
-21
0
0
0
0
0
0
0
2
10
-10
0
0
-9
0
0
-1
-3
-3
21
0
0
0
0
0
-2
-2
4
-4
0
0
0
0
0
10
-5
-4
-8
0
0
0
0
0
-2
-8
-10
30
0
0
6
0
0
-2
-3
15
-15
0
0
0
0
0
0
2
3
-51
0
0
0
0
0
0
-16
10
4
0
0
0
0
0
0
-23
27
-21
-2
0
-14
0
0
0
48
41
-54
12
0
0
0
-1
0
1
9
-6
-11
0
7
0
0
-3
-15
-26
-20
-2
0
0
0
0
0
-3
22
20
-25
0
5
0
3
0
0
3
-43
-7
0
0
-8
0
1
-4
-3
-46
22
0
-64
1
-13
-23
-40
24
25
-10
0
0
0
-9
2
-28
27
0
0
0
0
0
0
-1
-39
25
0
0
0
0
0
0
0
0
22
0
0
0
0
0
-1
-28
-29
25
0
0
0
0
0
6
-7
18
-16
0
0
0
0
0
0
-9
7
32
0
0
0
0
0
-6
0
0
8
0
0
0
0
0
-36
68
-22
-7
0
0
0
0
-1
1
0
-10
21
0
0
0
0
0
0
2
-24
26
0
0
0
0
2
0
-2
11
-68
0
0
0
0
0
2
4
-7
-22
0
0
0
0
2
-1
0
1
-1
0
0
0
0
0
0
0
-9
-22
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
-22
18
22
-61
0
0
0
0
-3
1
-3
3
26
-12
0
0
0
0
0
-1
2
20
-18
0
0
0
0
0
3
-2
-22
40
0
0
0
0
0
-6
-11
5
-16
0
0
0
0
0
0
-17
6
-3
0
0
0
0
0
-1
7
-32
-3
0
0
0
0
1
0
-1
4
-10
0
0
0
-3
9
1
6
1
-40
0
0
0
6
0
0
-9
-22
-39
7
0
0
0
-1
-1
-7
42
0
0
0
0
0
-1
-13
7
36
-39
12
0
0
0
-1
6
-8
11
5
-4
0
0
0
0
0
-1
4
-30
21
0
0
1
0
-3
-2
2
-48
33
0
0
12
-4
0
2
0
0
10
0
0
10
-47
1
-47
-25
23
18
0
0
31
-7
12
6
13
0
0
0
23
10
38
13
-14
3
0
0
0
0
-38
-32
-6
26
24
0
0
-7
5
2
-40
-37
-13
37
0
0
0
0
12
8
3
-20
-20
0
0
0
37
6
-28
-21
-5
28
0
0
0
0
-7
-22
-18
53
14
0
0
-1
6
-12
-4
-19
32
13
0
0
0
0
-3
22
23
-22
3
0
0
0
-18
-8
-2
29
-21
-16
0
0
0
0
26
-36
16
-24
6
0
0
3
-10
0
2
-39
-47
31
0
0
0
0
-14
-10
30
-10
22
0
0
0
0
3
-4
23
-11
-33
0
0
0
0
3
8
-11
-21
-5
0
0
13
8
-10
-9
-24
-27
-22
0
0
0
0
22
71
11
24
-10
-6
0
0
10
-5
-18
17
37
-2
5
0
0
0
-13
15
26
-42
-26
-1
0
5
2
2
-6
10
7
-5
-13
0
0
0
-5
13
7
7
-6
-12
0
0
-42
2
13
-19
-18
2
-30
0
0
0
14
-25
12
30
-9
5
0
9
-2
6
65
18
-34
-8
-25
0
0
0
20
-41
-12
-15
18
-8
3
0
41
0
-24
-6
25
9
-4
-3
0
0
24
-13
-11
-22
15
-16
11
-50
-6
-3
-10
-19
5
14
-18
6
0
0
-4
20
8
77
-3
-33
1
0
-11
-2
-15
-30
-79
1
-15
6
0
0
25
-34
-22
3
-44
-15
15
34
-57
-53
12
-24
-26
2
-21
7
0
0
4
1
-2
-15
14
0
0
0
0
0
0
-13
17
13
0
0
0
0
-1
0
11
-22
11
0
0
0
0
0
0
1
-18
1
0
0
0
0
0
0
0
-16
-5
0
0
0
0
0
0
-36
24
-6
0
0
0
0
0
-9
-13
0
26
0
0
0
0
0
31
12
-26
10
0
0
0
0
1
-4
-2
-10
15
0
0
0
0
0
1
-2
-5
25
0
0
0
0
1
8
-2
-9
18
0
0
0
0
0
-2
12
-19
8
0
0
0
0
-2
1
0
0
12
0
0
0
0
0
0
-1
26
6
0
0
0
0
0
13
0
-10
6
0
0
0
0
3
3
55
-40
-24
0
0
0
0
7
-11
2
7
19
0
0
0
0
0
0
0
1
39
0
0
0
0
0
4
2
27
-29
0
0
0
0
0
4
7
-11
13
0
0
0
0
-1
7
-1
-53
34
0
0
0
0
-1
0
9
0
29
0
0
0
0
6
-6
3
23
34
0
0
0
0
-2
7
16
-45
33
0
0
0
0
-10
-16
4
0
35
0
0
0
0
0
2
2
0
18
0
0
0
0
-3
-3
7
-19
-3
0
0
0
0
0
9
10
-1
11
0
0
0
0
-5
13
1
54
-49
0
0
0
0
4
-2
19
-12
6
0
0
0
0
15
-32
-5
11
30
0
0
0
0
-6
-3
24
-23
3
0
0
0
0
0
0
0
9
9
0
0
0
-2
0
0
0
-15
18
0
0
0
0
0
0
-1
-34
26
0
0
0
1
0
0
-9
0
2
0
0
0
0
0
0
-6
4
26
0
0
0
0
0
1
-3
32
-7
0
0
0
0
0
0
0
-11
15
0
0
0
0
0
0
10
-15
11
0
0
0
0
0
0
2
12
28
0
0
0
8
0
2
0
5
17
0
0
0
0
0
0
0
9
5
0
0
0
0
0
0
-1
-5
-5
0
0
0
0
0
0
0
2
7
0
0
0
2
0
-1
0
5
29
0
0
0
0
0
0
-1
29
13
0
0
0
-6
0
0
-7
5
4
0
0
0
0
0
0
3
2
-12
0
0
0
-22
0
0
-3
-16
45
0
0
0
0
0
0
8
24
-10
0
0
0
0
0
0
0
13
-23
0
0
0
0
0
0
-1
15
-15
0
0
0
-7
0
0
2
26
7
0
0
0
0
0
0
0
21
-8
0
0
0
0
0
-1
-6
-20
5
0
0
0
0
0
0
-2
-5
3
0
0
0
26
0
0
0
-22
-1
0
0
0
0
0
0
-3
-12
21
0
0
0
-4
0
0
2
-19
7
0
0
0
0
0
0
0
24
-5
0
0
0
29
0
-1
3
4
-20
0
0
0
0
0
0
0
-5
-5
0
0
0
2
2
-19
-18
-35
9
0
0
0
0
0
1
0
0
6
0
0
0
0
0
0
1
20
12
0
0
0
0
0
0
-2
-54
20
0
0
0
0
0
0
-73
9
43
0
0
0
0
0
0
0
2
34
0
0
0
0
0
0
-8
21
1
0
0
0
0
0
0
-4
-6
9
0
0
0
0
0
-8
-14
-10
-16
0
0
0
0
0
0
7
-8
-13
0
0
0
0
0
0
0
22
-7
0
0
0
0
0
-3
1
-41
13
0
0
0
0
0
-1
-40
18
19
0
0
0
0
0
0
2
-1
49
0
0
0
0
0
0
2
-36
25
0
0
0
0
0
0
0
-6
-3
0
0
0
0
0
-1
5
-29
12
0
0
0
0
0
-2
1
-50
43
0
0
0
0
0
0
3
-29
-5
0
0
0
0
0
0
-7
-33
-5
0
0
0
0
0
0
-2
10
43
0
0
0
0
0
0
0
13
1
0
0
0
0
0
0
-3
3
5
0
0
0
0
0
0
2
-3
40
0
0
0
0
0
-2
23
7
-17
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
-1
-42
47
0
0
0
0
0
0
-12
-3
41
0
0
0
0
0
0
-43
-11
61
0
0
0
0
0
0
3
22
-1
0
0
0
0
0
-1
0
-2
41
0
0
0
0
-8
1
0
-11
-22
0
0
0
0
24
7
-23
26
-8
0
0
0
0
-1
-2
2
11
8
0
0
0
0
0
0
25
2
-2
0
0
0
0
0
0
-22
10
8
0
0
42
0
0
0
-27
19
-13
0
0
0
0
0
0
-30
13
19
0
0
0
0
0
0
15
-22
-10
0
0
0
0
0
0
-21
-16
17
0
0
0
0
0
-1
8
-21
-11
0
0
0
0
0
2
12
10
8
0
0
0
0
0
0
-21
-13
31
0
0
0
0
0
0
-12
45
-10
0
0
-2
0
0
2
-1
37
-51
0
0
0
0
0
0
-1
-10
8
0
0
0
0
0
0
-15
56
-3
0
0
0
0
0
0
-10
39
0
0
0
0
0
0
4
-20
-7
14
0
0
0
0
0
-1
-9
-13
21
0
0
0
0
0
0
35
-6
-2
0
0
0
0
0
0
0
-52
68
0
0
-4
0
0
0
20
8
4
0
0
0
0
0
0
8
7
7
0
0
0
0
0
0
-45
-11
41
0
0
0
0
0
0
4
-15
17
0
0
6
0
0
-3
0
10
47
0
0
0
0
0
0
24
-13
-3
0
0
0
2
0
0
-6
-24
28
0
0
0
0
0
0
25
-22
21
0
0
7
0
0
0
52
-18
-3
0
0
0
0
0
0
-14
-9
28
0
0
0
0
0
0
27
-31
-1
0
0
0
0
0
0
32
-16
-12
0
0
-3
-9
4
-12
-6
-15
13
0
0
0
0
0
4
0
-57
16
0
0
0
0
0
0
-10
-49
18
0
0
0
0
0
0
-2
19
8
0
0
0
0
0
9
5
-22
-18
0
0
0
0
0
0
-1
-1
-23
0
0
0
0
0
0
-16
22
16
0
0
0
0
0
0
1
3
-18
0
0
0
0
0
9
-25
-25
23
0
0
0
0
0
0
-2
1
-9
0
0
0
0
0
0
0
-25
46
0
0
0
0
0
0
0
2
19
0
0
0
0
0
0
-6
-16
-6
0
0
0
0
0
0
-1
4
19
0
0
0
0
0
0
0
5
-4
0
0
0
0
0
-2
1
-6
4
0
0
0
0
0
-6
-15
18
36
0
0
0
0
0
-3
0
6
1
0
0
0
0
0
0
2
-28
47
0
0
0
0
0
0
7
8
0
0
0
0
0
0
-2
5
-25
-2
0
0
0
0
0
0
0
-1
-28
0
0
0
0
0
0
-9
24
-17
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-2
30
-19
-6
0
0
0
0
0
0
6
6
-30
0
0
0
0
0
0
0
1
35
0
0
0
0
0
0
2
-12
7
0
0
0
0
0
0
0
-40
12
0
0
0
0
3
0
0
-8
29
0
0
0
0
0
0
4
-9
-5
0
0
0
0
0
0
6
-1
-24
0
0
0
0
-20
-1
-14
-7
31
0
0
0
0
0
0
8
-24
-2
0
0
0
2
0
0
3
-46
12
0
0
0
0
0
0
2
-15
14
0
0
0
0
0
0
-31
-34
41
0
0
0
0
0
0
0
25
-24
0
0
0
0
0
0
-20
-10
4
0
0
0
0
0
0
-4
-2
35
0
0
0
0
0
1
-18
1
-17
0
0
0
0
0
-1
1
-4
53
0
0
0
0
0
0
0
6
24
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
1
4
8
-5
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
8
0
0
0
0
0
2
0
5
-7
0
0
0
0
0
0
2
-5
17
0
0
0
0
0
0
-1
-11
8
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
-2
-12
12
0
0
0
0
0
0
0
-10
30
0
0
0
0
0
0
0
10
-25
0
0
0
0
0
0
2
3
14
0
0
0
0
0
0
-2
-28
19
0
0
0
0
0
0
0
4
13
0
0
0
-13
0
0
-2
-4
6
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
-4
-1
24
0
0
0
0
0
0
0
-3
-17
0
0
0
-4
0
0
0
7
-30
0
0
0
0
0
0
-2
-8
17
0
0
0
17
4
-21
39
-14
-25
0
0
0
0
0
0
0
-40
53
0
0
0
0
0
0
-2
-15
13
0
0
0
0
0
0
0
42
-50
0
0
0
0
0
0
-3
-18
3
0
0
0
0
0
0
1
0
6
0
0
0
0
0
0
0
-16
28
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
15
18
-17
0
0
0
0
0
-4
0
-4
7
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-2
0
4
-23
0
0
0
0
0
0
2
0
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
19
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
4
3
-1
-10
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-15
2
5
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
1
-38
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-6
0
9
0
0
0
0
0
0
-1
0
-7
0
0
0
0
0
0
-1
6
-13
0
0
0
0
0
0
3
-2
29
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
-2
-2
7
0
0
0
0
0
0
-4
4
3
0
0
0
0
-3
0
0
2
9
0
0
0
0
0
1
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
7
14
-6
0
0
0
0
0
2
10
-32
25
0
0
0
0
0
6
-25
21
-6
0
0
0
0
0
1
-18
-11
6
0
0
0
0
0
-16
44
32
-16
0
0
0
0
0
-4
-4
-18
29
0
0
0
0
0
-4
7
-10
19
0
0
0
0
0
2
34
-8
-47
0
0
0
0
0
18
1
27
1
0
0
0
0
0
7
-28
12
8
0
0
0
0
0
-2
-8
-10
25
0
0
0
0
0
10
-6
-11
36
0
0
0
0
0
27
6
-31
-26
0
0
0
0
0
0
2
0
-24
0
0
0
0
0
2
28
-12
26
0
0
0
0
0
19
-8
0
-12
0
0
0
0
0
-7
-70
34
9
0
0
0
0
0
-8
35
-6
-6
0
0
0
0
0
0
-8
22
-36
0
0
0
0
0
0
6
-8
-1
0
0
-4
0
0
-2
3
-18
5
0
0
0
0
0
-6
-27
18
-14
0
0
0
0
0
0
-7
6
-13
0
0
0
0
0
0
-20
12
-17
0
0
0
0
0
-30
22
-45
35
0
0
0
0
0
9
24
17
-34
0
0
0
0
0
-6
10
-9
45
0
0
0
0
0
2
3
-18
6
0
0
0
0
0
1
-17
-13
58
0
0
0
0
0
0
28
-53
-17
0
0
0
0
0
-20
23
-1
40
0
0
0
0
2
10
-22
-10
-24
0
0
1
-4
0
-11
-45
14
-3
0
0
0
0
-2
-3
2
-15
31
0
0
0
0
0
0
0
8
31
0
0
0
0
0
3
0
3
19
0
0
0
0
0
-2
22
13
-17
0
0
0
0
0
-1
0
2
28
0
0
0
0
0
0
11
-3
33
0
0
0
0
0
-2
1
-4
2
0
0
0
0
0
26
14
-36
-4
0
0
0
0
0
-5
-7
-1
32
0
0
0
0
0
0
1
-11
28
0
0
0
0
-2
0
-1
16
17
0
0
0
0
0
1
-9
-27
48
0
0
0
0
0
-3
-3
0
17
0
0
0
0
0
-7
0
3
0
0
0
0
0
0
-24
3
4
-1
0
0
0
0
0
-21
-11
-4
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
-1
22
0
0
0
0
0
0
1
-7
8
0
0
0
0
0
-7
11
13
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
-3
8
10
0
0
0
0
0
0
0
0
-35
0
0
0
0
-1
17
-28
42
-47
0
0
0
0
0
4
0
0
-44
0
0
0
0
0
0
-2
9
-14
0
0
0
0
-4
0
0
8
-12
0
0
0
0
0
0
2
-29
-32
0
0
0
0
0
1
0
3
-13
0
0
0
0
1
0
0
-1
52
0
0
0
0
9
8
0
5
1
0
0
0
0
-5
17
24
-27
15
0
0
0
0
0
0
0
11
3
0
0
0
0
0
0
-1
-56
26
0
0
0
0
0
0
0
-16
16
0
0
0
0
0
0
-9
-11
19
0
0
0
0
0
0
2
-3
-48
0
0
0
0
0
0
0
10
12
0
0
0
0
0
0
1
2
2
0
0
0
0
0
-2
4
12
-3
0
0
0
0
0
0
4
-16
45
0
0
0
-1
0
0
-2
2
51
0
0
0
0
0
0
-7
15
-22
0
0
0
0
0
0
-4
5
-32
0
0
0
0
0
0
2
-8
-21
0
0
0
1
0
0
0
13
12
0
0
0
0
0
0
0
-2
34
0
0
0
0
0
1
4
-4
16
0
0
0
0
0
0
1
16
-10
0
0
0
-4
0
0
-3
1
31
0
0
0
0
0
0
0
-8
7
0
0
0
0
0
0
0
-10
10
0
0
0
0
0
0
0
8
-6
0
0
0
0
0
0
-7
0
36
0
0
0
0
0
0
0
-7
49
0
0
0
0
0
0
0
4
-17
0
0
0
0
0
0
1
-7
-29
0
0
0
4
0
0
0
-8
19
0
0
0
0
0
0
0
4
3
0
0
0
2
0
-1
0
-23
-11
0
0
0
0
0
0
0
0
35
0
0
0
9
0
0
0
-3
-18
0
0
0
0
0
0
0
3
-11
0
0
0
2
0
11
-39
-44
16
0
0
0
0
0
3
0
34
7
0
0
0
0
0
0
1
-3
-1
0
0
0
0
0
0
1
1
-9
0
0
0
0
0
0
-3
-41
34
0
0
0
0
0
0
0
-19
27
0
0
0
0
0
0
-1
-6
26
0
0
0
0
0
0
0
13
-5
0
0
0
0
0
-3
8
0
16
0
0
0
0
0
-2
0
-2
6
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
-2
-8
28
0
0
0
0
0
0
-2
-10
15
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
9
0
-10
32
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
5
23
0
0
0
0
0
0
0
-3
15
0
0
0
0
0
0
-6
40
-5
0
0
0
0
0
0
0
-2
-24
0
0
0
0
0
0
-2
-5
3
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
2
0
-41
3
0
0
0
0
0
0
0
-4
18
0
0
0
0
0
0
0
18
1
0
0
0
0
0
0
0
13
12
0
0
0
0
0
0
-1
35
-20
0
0
0
0
0
-1
0
13
-5
0
0
0
0
0
0
0
4
26
0
0
0
0
0
0
0
-6
-15
0
0
0
0
19
8
-8
-37
-2
0
0
0
0
0
3
-19
27
2
0
0
0
0
0
0
11
-36
4
0
0
0
0
0
0
-4
47
-11
0
0
-3
0
0
0
2
16
17
0
0
0
0
0
1
-3
-7
33
0
0
0
0
0
0
0
12
-10
0
0
0
0
0
0
0
-12
20
0
0
0
0
0
-3
17
8
-23
0
0
0
0
0
-1
3
9
-22
0
0
0
0
0
0
2
-19
0
0
0
0
0
0
-2
0
-65
48
0
0
0
0
0
-2
-28
29
-2
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
-28
7
0
0
0
0
0
1
2
-2
16
0
0
0
0
0
17
46
-18
-6
0
0
0
0
0
1
9
-3
11
0
0
0
0
0
0
-1
-1
26
0
0
0
0
0
-1
-4
-2
20
0
0
0
0
0
3
-16
-14
0
0
0
0
0
0
0
0
-7
-22
0
0
0
0
0
0
1
4
-3
0
0
0
0
0
1
-3
6
0
0
0
0
0
0
-3
3
-39
28
0
0
0
0
0
0
-13
-30
22
0
0
0
0
0
0
2
2
20
0
0
0
0
0
-2
0
-48
3
0
0
1
0
0
0
7
6
-11
0
0
0
0
0
0
1
-1
3
0
0
0
-1
0
0
3
14
-73
0
0
0
0
0
1
-3
-6
6
0
0
-9
1
1
-15
3
-52
30
0
0
0
0
0
7
0
-1
35
0
0
0
0
0
0
0
-33
15
0
0
0
0
0
0
0
11
-6
0
0
0
0
0
0
-10
4
13
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
-6
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
6
-35
0
0
0
0
0
-1
0
-2
8
0
0
0
0
0
0
0
-2
29
0
0
0
0
0
0
0
3
-19
0
0
0
0
0
0
0
-7
11
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
-3
7
-3
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
2
1
-11
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
0
1
-55
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-1
-10
18
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
0
27
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-2
3
-9
0
0
0
0
0
0
0
2
28
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-1
-2
0
-3
0
0
0
0
9
-11
-44
-11
24
0
0
0
0
0
-2
-3
-2
22
0
0
0
1
0
0
0
-11
9
0
0
0
0
0
0
2
-7
-19
0
0
0
0
0
0
-10
-35
11
0
0
0
0
0
0
7
0
-1
0
0
0
0
0
0
0
11
9
0
0
0
0
0
0
0
0
11
0
0
0
0
0
1
4
7
10
0
0
0
0
0
0
0
-8
53
0
0
0
0
0
0
-1
-1
17
0
0
0
0
0
0
1
0
-16
0
0
0
0
0
0
-1
-3
32
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
13
0
0
0
0
0
-2
-1
-2
5
0
0
0
0
0
0
0
7
-26
0
0
0
0
0
0
1
13
-20
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-19
2
0
0
0
0
0
0
-1
-1
-17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
-12
-4
0
0
0
0
0
0
0
0
17
0
0
0
1
0
0
0
1
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
0
-3
-2
4
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
0
9
0
0
0
-3
-1
0
-63
11
-2
0
0
0
0
0
-3
0
-8
19
0
0
0
0
0
0
-4
12
10
0
0
0
0
0
-1
-1
7
-3
0
0
0
0
0
0
2
25
-18
0
0
0
0
0
0
-1
0
21
0
0
0
0
0
0
-1
4
56
0
0
0
0
0
-1
0
-3
1
0
0
0
0
0
0
-9
-9
12
0
0
0
0
0
3
0
0
-45
0
0
0
0
0
0
0
-10
22
0
0
0
0
0
0
0
-11
15
0
0
0
0
0
0
0
-7
20
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
22
0
0
0
0
0
4
0
-2
-9
0
0
0
0
0
0
2
-6
-17
0
0
0
0
0
0
0
-2
18
0
0
0
0
0
0
0
-15
19
0
0
0
0
0
0
0
6
11
0
0
0
0
0
-1
-7
6
8
0
0
0
0
0
1
1
-3
6
0
0
0
0
0
0
0
0
-24
0
0
0
0
-6
0
0
0
-6
0
0
0
0
0
0
0
6
18
0
0
0
0
-1
-1
0
0
69
0
0
0
0
0
0
0
4
-11
0
0
0
0
-2
0
0
0
-4
0
0
0
0
0
0
3
-4
1
0
0
0
0
0
0
0
2
-12
0
0
0
0
0
-1
0
0
13
0
0
0
0
8
0
-6
-3
-3
0
0
0
0
-5
2
13
-14
-2
0
0
0
0
-1
53
2
74
-54
0
0
0
0
0
0
0
-46
-7
0
0
0
0
0
6
6
-4
1
0
0
1
0
0
0
-16
12
2
0
0
0
0
0
11
-13
-30
49
0
0
0
0
0
-4
2
-2
-3
0
0
0
0
0
-9
1
1
-4
0
0
0
0
0
-26
-14
-5
11
0
0
0
0
2
16
26
-10
-5
0
0
0
0
0
-2
-6
-32
41
0
0
0
0
0
-8
1
-3
-12
0
0
0
0
0
0
33
-65
-15
0
0
0
0
0
0
7
0
-6
0
0
0
0
0
-2
2
-12
25
0
0
0
0
0
11
1
-1
16
0
0
0
0
0
-12
-11
-27
52
0
0
0
0
0
-3
20
-40
5
0
0
0
0
0
-6
16
-19
23
0
0
0
0
0
-1
-1
-7
37
0
0
0
0
0
0
24
21
-53
0
0
0
0
0
-13
-19
32
-30
0
0
0
0
0
0
21
4
-37
0
0
0
0
0
-1
-1
2
17
0
0
0
0
0
18
-13
0
-24
0
0
0
0
-3
-17
8
-3
9
0
0
0
0
0
-2
0
-10
4
0
0
0
0
0
39
-19
-44
30
0
0
4
0
0
-15
-10
36
-11
0
0
0
0
-3
-5
1
14
-2
0
0
0
0
-1
-11
-1
24
32
0
0
0
0
-1
-16
12
-22
23
0
0
-3
1
-34
4
43
-22
6
0
0
0
0
1
3
0
-17
8
0
0
0
0
0
0
0
-34
19
0
0
0
0
0
-1
2
-17
45
0
0
0
0
0
0
42
-20
-19
0
0
0
0
-1
-3
1
1
2
0
0
0
0
0
0
10
-9
-10
0
0
0
0
0
0
0
3
3
0
0
0
0
0
8
-9
-3
8
0
0
0
0
1
1
0
-4
-4
0
0
0
0
0
0
0
18
-21
0
0
0
0
0
2
-1
-14
-1
0
0
0
0
0
0
-6
34
7
0
0
0
0
0
-10
11
0
-1
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
3
0
0
-3
0
0
0
0
-4
14
23
6
-20
0
0
0
0
1
1
0
-27
19
2
0
0
0
0
0
-2
-10
16
4
0
0
0
0
0
2
-15
17
7
0
0
0
0
0
-15
-32
-14
0
0
0
0
-1
0
0
-37
20
-1
0
0
0
-4
-1
-18
-44
32
19
0
0
0
0
3
-1
-4
-19
5
0
0
0
0
4
24
46
-14
0
0
0
0
0
0
0
16
3
6
0
0
0
0
0
0
21
-5
-20
0
0
0
1
-1
0
-12
-7
7
0
0
0
0
1
9
35
-18
3
0
0
0
1
-3
-9
0
-1
8
0
0
0
3
0
-28
-23
38
12
0
0
0
-30
-3
1
-33
0
17
0
0
0
25
-12
31
8
38
3
0
0
0
0
0
2
-41
30
0
0
0
1
0
1
0
-17
40
0
0
0
0
0
0
-2
37
32
0
0
0
0
0
0
-27
-46
61
0
0
0
0
0
0
2
4
-17
0
0
0
0
0
0
-3
30
-4
0
0
0
0
0
0
1
-5
-5
0
0
0
0
0
1
1
-11
46
0
0
0
0
0
0
0
19
-7
0
0
0
-1
0
0
0
-19
-5
0
0
0
0
0
0
0
-6
-18
0
0
0
6
0
0
0
-14
1
0
0
0
0
0
0
0
6
25
0
0
0
-4
0
0
0
-1
-14
0
0
0
0
0
0
0
-12
11
0
0
0
0
0
-3
-2
-1
-6
0
0
0
0
0
0
-1
3
2
0
0
0
4
0
0
0
11
-54
-2
0
0
0
0
0
0
24
6
-4
0
0
0
0
0
4
-8
-32
-2
0
0
0
0
0
0
-49
30
-6
0
0
-2
0
0
0
-9
-52
5
0
0
0
0
0
0
4
11
-20
0
0
0
0
1
0
-34
-54
13
0
0
0
0
0
3
-12
11
19
0
0
-5
0
0
0
-3
-43
1
0
0
0
0
0
0
11
-5
-16
0
0
0
0
0
0
11
-27
15
0
0
0
0
0
0
-28
21
2
0
0
-13
0
0
0
10
-10
7
0
0
0
0
0
0
-41
51
-7
0
0
10
-2
30
0
-19
20
-2
0
0
0
0
2
0
-6
23
0
0
0
0
0
0
0
-5
5
0
0
0
0
0
0
0
-24
20
0
0
0
0
0
0
2
-34
25
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-1
-1
-2
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
7
-4
33
0
0
0
0
0
0
0
12
-12
0
0
0
0
0
0
0
-15
-10
0
0
0
0
0
-1
0
-3
2
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-7
9
0
0
0
0
0
-1
0
-3
9
0
0
0
0
0
-9
0
6
42
0
0
0
0
0
-4
-4
26
-19
-5
0
0
0
0
0
-2
-20
-38
7
0
0
0
0
0
0
37
-13
-9
0
0
0
0
0
3
-40
0
6
0
0
0
0
0
0
8
0
-10
0
0
0
0
0
-1
-27
-15
28
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
2
-18
7
9
0
0
0
0
0
0
12
48
-16
0
0
0
0
0
-1
18
-11
10
0
0
0
0
1
1
-11
3
18
0
0
0
0
-1
0
-15
5
-5
0
0
0
0
0
0
-9
27
-7
0
0
0
0
0
0
15
29
-81
0
0
0
0
0
0
2
0
-16
0
0
0
-2
17
-10
9
-9
-2
0
0
0
0
1
-7
20
-1
0
0
0
0
0
0
-21
19
-4
0
0
0
0
0
0
10
-25
2
0
0
-1
0
0
0
63
-1
2
0
0
0
0
0
0
7
-1
-2
0
0
0
0
0
0
0
-4
-11
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
0
0
-23
10
0
0
0
0
0
0
0
-10
-1
0
0
0
0
0
0
-2
-9
7
0
0
0
0
0
0
4
6
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
-1
11
16
-36
0
0
0
0
0
-3
16
-25
7
-5
0
0
0
0
0
-3
1
7
0
0
0
0
0
0
2
-5
-7
8
0
1
0
0
0
1
11
-37
12
0
0
0
0
0
-1
-7
6
15
0
0
0
0
0
2
-40
10
22
0
0
0
0
0
0
0
0
-28
0
-1
0
0
0
-2
0
-8
-8
0
0
0
0
0
6
-1
30
-10
0
0
0
0
0
0
30
-29
9
0
0
0
0
0
-4
42
10
-7
0
11
0
0
0
12
-63
-13
19
0
0
0
0
0
1
-18
45
-31
0
0
0
0
0
-1
1
17
-35
0
0
0
0
0
0
-52
2
-36
0
6
10
0
-38
-83
-20
37
8
0
0
0
0
0
-4
9
4
0
0
0
0
0
0
2
7
2
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
16
-44
54
0
0
0
0
0
0
-2
1
-8
0
0
0
0
0
0
9
-46
-17
0
0
0
0
0
0
1
-2
-7
0
0
0
0
0
-1
-1
-21
37
0
0
0
0
0
0
0
-7
17
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
-6
3
-6
0
0
0
0
0
0
17
-16
15
0
0
0
0
0
0
-1
0
15
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
7
-64
20
4
0
0
0
0
0
0
3
-34
-24
11
0
0
0
0
0
0
3
-21
-13
0
0
0
0
0
-7
11
2
-3
0
0
0
0
0
0
-3
-12
40
0
0
0
0
0
0
0
16
-42
0
0
0
0
0
-1
3
15
-34
0
0
0
0
0
0
-7
-1
-8
0
0
0
0
2
-1
-14
5
4
0
0
0
0
0
0
1
-13
5
0
0
0
0
0
0
1
25
-12
0
0
0
0
0
0
11
-4
-29
0
0
0
0
0
-2
7
12
9
0
0
0
-2
0
0
2
-19
-1
0
0
0
0
0
1
-25
1
5
0
0
0
0
0
0
11
8
-46
0
0
0
9
3
-34
18
-34
15
0
0
0
0
1
2
-5
44
0
0
0
0
0
0
-2
-14
14
0
0
0
0
0
0
1
-16
10
0
0
0
0
0
0
-1
-43
-9
0
0
0
0
0
0
0
11
30
0
0
0
0
0
0
0
-19
15
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
1
-3
13
-25
0
0
0
0
0
0
0
-2
46
0
0
0
0
0
0
0
-1
-27
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
6
0
-21
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
1
1
21
0
0
0
0
0
0
2
-4
33
0
0
0
0
0
0
0
-29
-28
4
0
0
0
0
0
0
-19
26
-10
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
5
13
-9
0
0
0
0
0
0
-7
-5
6
0
0
0
0
0
3
4
34
-36
0
0
0
0
0
0
-1
0
-43
0
0
0
0
0
0
-4
-41
33
0
0
0
0
0
-2
4
21
20
0
0
6
0
0
0
16
-30
9
0
0
0
0
0
0
6
2
54
0
0
0
0
0
0
1
-6
-1
0
0
0
0
0
-2
7
-28
10
0
0
0
0
0
0
-11
5
19
0
0
0
0
-2
0
2
-6
27
0
0
-4
-8
-6
21
-42
21
9
0
0
0
0
0
0
-29
37
0
0
0
0
0
0
0
17
19
0
0
0
0
0
0
0
-9
11
0
0
0
0
0
0
-4
-41
28
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
0
2
4
-2
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
-1
28
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-3
-4
-17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
-2
-7
0
0
0
0
0
0
0
-1
59
-23
0
0
0
0
0
0
-3
7
-10
0
0
0
0
0
0
-1
0
-16
0
0
0
0
0
0
1
1
-2
0
0
0
0
0
0
-3
-1
-4
0
0
0
0
0
0
0
-5
-12
0
0
0
0
0
0
2
-4
7
0
0
0
0
0
0
1
3
-28
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
-7
-4
60
0
0
0
0
0
0
-2
1
-7
0
0
0
0
-2
0
1
-9
-4
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
-3
-20
0
0
0
0
1
0
0
0
-7
-38
0
0
0
-6
15
-6
-50
-32
9
0
0
0
0
10
15
-45
19
0
0
0
0
0
0
-8
-1
21
0
0
0
0
0
0
6
22
-31
0
0
0
0
0
0
61
-39
-4
0
0
0
0
0
1
-17
29
-3
0
0
0
0
0
0
12
-1
22
0
0
0
0
0
-2
0
-8
1
0
0
0
0
0
-10
12
-44
3
0
0
0
0
0
0
20
19
-5
0
0
0
1
0
0
0
-3
-31
0
0
0
0
0
2
-1
-4
-8
0
0
0
0
0
0
-35
-48
53
0
0
0
0
0
0
-2
-2
-4
0
0
0
0
0
0
1
0
-8
0
0
0
0
0
4
2
-1
9
0
0
0
0
0
0
18
-7
-47
0
0
0
0
0
-3
21
37
24
-10
0
0
0
0
0
1
-20
20
3
0
0
0
0
-2
7
-8
0
6
0
0
0
0
0
0
1
10
-30
0
0
0
0
0
-21
30
-3
22
0
0
0
0
0
0
-11
2
-1
0
0
0
0
1
0
-15
0
-9
0
0
0
0
2
-10
-3
7
28
0
0
0
0
0
-4
4
-1
-25
0
0
0
0
0
6
-15
22
-16
0
0
0
0
-1
0
-13
-6
8
0
0
0
0
0
12
1
4
-31
0
0
0
0
0
-3
3
29
-13
0
0
0
0
0
-2
0
-1
6
0
0
0
1
2
0
-2
-1
-39
0
11
2
4
6
-17
-22
-49
0
0
0
0
-1
2
0
21
12
0
0
0
0
0
0
1
-10
11
0
0
0
0
0
0
0
-14
-21
0
0
0
0
0
0
14
-38
4
0
0
0
0
0
0
0
8
1
0
0
0
0
0
-1
-4
-20
26
0
0
0
0
0
2
0
1
-4
0
0
0
0
0
3
-5
-5
19
0
0
0
0
-2
0
0
-22
35
0
0
0
0
0
0
0
-12
10
0
0
0
0
0
1
0
6
16
0
0
0
0
0
-2
-10
-12
9
0
0
0
0
-2
1
0
-2
28
0
0
0
0
0
0
2
-2
-47
0
0
0
0
-1
-7
3
2
20
0
0
0
0
4
-25
16
2
-38
0
0
0
0
-2
-1
-4
1
16
7
0
0
0
0
0
0
-1
-8
19
0
0
0
0
0
0
-1
10
21
0
0
0
0
0
27
7
47
-19
0
0
0
0
0
0
10
-28
9
0
0
0
0
0
1
-69
48
29
0
0
0
0
-1
0
0
14
-2
0
0
0
1
1
-1
18
38
-15
0
0
0
3
1
0
-2
-5
5
2
0
0
0
0
0
-15
2
-5
-6
0
0
0
4
0
-20
-9
-21
-5
0
0
0
1
-3
-6
4
5
5
0
0
0
0
2
2
7
-23
5
0
0
0
-1
1
-35
54
-32
2
0
0
2
0
3
30
59
-26
0
0
0
16
9
5
39
16
-4
2
0
0
0
0
1
2
-7
0
0
0
2
0
0
-3
11
-5
0
0
0
0
0
0
0
11
-1
0
0
0
0
0
-1
24
2
-26
0
0
0
0
0
0
-1
3
39
0
0
0
0
0
0
0
-20
29
0
0
0
0
0
0
0
-3
-18
0
0
0
0
0
-3
-35
-13
23
0
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
11
1
0
0
0
0
0
0
3
-19
-8
0
0
0
0
0
2
0
4
5
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-9
5
0
0
0
0
0
-2
0
0
-13
0
0
0
0
0
0
1
-1
19
-6
0
0
2
0
0
0
-24
30
-11
0
0
0
0
0
0
18
-5
-11
0
0
0
0
0
-3
1
3
5
0
0
0
0
0
0
-35
56
13
0
0
-2
0
0
0
14
-20
-16
0
0
0
0
0
0
-7
23
-40
0
0
0
0
0
0
9
20
-25
0
0
0
0
0
-3
-14
35
9
2
0
-1
0
0
-1
22
42
-40
-14
0
0
0
0
0
1
-23
13
-7
0
-4
0
0
0
14
21
-17
-10
0
0
0
0
0
-13
-20
-21
5
0
3
0
0
0
-7
-7
24
24
0
0
0
0
0
-40
-11
9
7
0
-42
-8
10
17
-36
-9
8
-5
0
0
0
0
-2
6
29
0
0
0
0
0
0
6
-39
8
0
0
0
0
0
0
0
35
-45
0
0
0
0
0
0
-15
23
-14
0
0
0
0
0
0
0
-12
-3
0
0
0
0
0
0
-1
4
24
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
5
-13
6
0
0
0
0
0
0
0
-8
12
0
0
0
0
0
0
0
12
-27
0
0
0
0
1
0
0
8
-29
0
0
0
0
0
0
1
12
-5
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-8
16
0
0
0
0
2
2
0
0
-9
0
0
0
0
0
2
0
-7
0
21
0
0
0
0
0
3
20
2
-2
0
0
0
0
0
0
20
-54
15
0
0
0
0
0
-12
-20
29
-12
0
0
0
0
0
0
10
20
-41
0
0
0
0
0
0
-5
13
-19
0
0
0
0
0
0
-2
1
21
0
0
0
0
-1
-2
-13
28
-23
0
0
0
0
0
0
2
-47
2
-6
0
0
0
0
0
1
1
-66
12
0
0
0
0
0
-34
-5
4
11
0
0
0
0
0
25
-8
-24
17
0
0
0
0
0
-1
2
-3
0
0
0
0
0
0
2
-21
-8
1
0
0
0
0
0
10
0
-31
-23
0
0
-2
15
28
-76
12
5
0
0
0
0
-4
-12
50
-34
0
0
0
0
0
0
2
-22
11
0
0
0
0
0
0
1
0
-42
0
0
15
0
0
0
28
-48
14
0
0
0
0
0
0
7
8
17
0
0
0
0
0
0
-6
-25
2
0
0
0
0
0
0
7
-13
24
0
0
0
0
0
0
13
7
-24
0
0
0
0
0
-1
11
-29
29
0
0
0
0
0
0
0
8
9
0
0
0
0
0
0
6
-17
6
0
0
0
0
0
-1
10
14
11
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
-3
-1
9
0
0
0
0
0
-1
2
6
7
9
0
0
0
0
0
1
-22
48
-22
0
0
0
0
0
0
-24
-4
13
0
8
0
0
0
1
-15
1
2
0
0
0
0
0
-6
2
3
9
0
0
0
0
0
-1
9
14
-28
0
0
0
0
0
0
6
-3
16
0
0
0
0
0
-16
-35
-8
-30
0
0
0
0
0
2
-7
57
-23
9
0
1
0
0
1
-28
-15
-7
9
0
0
0
0
0
33
-13
0
-27
-16
0
0
0
0
3
-16
-4
-4
0
0
0
0
0
2
10
9
-6
0
0
0
0
-1
10
10
5
-39
0
0
0
0
0
0
-19
-45
-18
-40
-10
-1
-73
-99
-4
-12
16
25
0
0
7
0
-1
-25
40
0
0
0
0
0
0
-1
22
-13
0
0
0
0
1
0
0
-3
0
0
0
0
0
0
0
-36
20
10
0
0
0
0
0
2
6
-45
-15
0
0
0
0
0
0
3
12
21
0
0
0
0
0
0
1
-4
6
0
0
0
0
0
0
23
-3
-19
0
0
0
0
0
-1
-1
26
-9
0
0
0
0
0
0
0
-11
-1
0
0
0
0
0
0
0
-4
45
0
0
0
0
0
0
-9
-19
17
0
0
0
0
0
0
-4
-1
10
0
0
0
0
0
0
0
15
-25
0
0
0
0
0
-2
1
0
7
0
0
0
0
-3
19
-30
-1
4
0
0
0
0
0
1
8
-16
21
4
0
0
0
0
0
0
-26
3
19
0
0
0
0
0
1
3
-13
-26
0
0
0
0
-2
-1
-21
-6
10
0
0
0
0
0
-2
0
2
-13
0
0
0
0
0
0
8
-6
-4
0
0
0
0
1
0
0
-8
26
0
0
0
0
-1
2
-33
60
-6
0
0
0
0
-1
0
0
3
10
16
0
0
0
0
0
17
-10
-78
9
0
0
0
0
0
1
19
-11
-9
0
0
0
-1
-3
-33
45
-21
14
0
0
2
0
0
3
9
-26
9
0
0
0
-1
0
8
-17
-22
0
0
0
-2
-2
0
4
-14
34
-14
0
0
-18
-42
29
-19
54
-11
20
0
0
0
0
10
7
-3
0
0
0
-12
0
0
0
-7
30
0
0
0
0
0
0
2
-9
22
0
0
0
2
0
0
-32
4
38
0
0
0
0
0
1
1
-16
2
0
0
0
0
0
0
3
8
-16
0
0
0
0
0
0
0
2
15
0
0
0
0
0
0
30
-37
-15
0
0
0
0
0
0
0
2
29
0
0
0
-1
0
0
0
0
-22
0
0
0
0
0
0
0
0
27
0
0
0
0
0
-2
0
-14
7
0
0
0
0
0
0
0
2
-4
0
0
0
1
0
0
0
0
6
0
0
0
0
0
0
0
-7
-10
0
0
0
2
0
-2
-30
3
9
0
0
0
0
0
0
-8
-4
25
11
0
0
4
0
0
0
1
10
-22
0
0
0
0
0
0
-11
9
17
0
0
0
0
-1
-1
21
-2
7
0
0
0
0
0
0
-4
-1
-1
0
0
-9
0
0
2
4
1
-34
0
0
0
0
0
0
0
-11
-5
0
0
0
0
0
2
8
-11
-19
0
0
0
0
0
-1
2
-30
-41
15
0
-33
0
0
0
0
-37
37
13
0
0
0
0
0
-3
4
-30
6
0
-3
0
0
-1
0
4
-18
20
0
0
0
0
0
2
-1
11
-26
0
9
0
0
0
-8
-5
2
46
0
0
-6
0
-1
10
7
21
-34
0
-4
10
-15
10
-10
-10
-8
-1
0
0
-3
0
-1
-4
44
0
0
0
0
0
0
-2
-5
6
0
0
0
0
0
-4
3
-32
6
0
0
0
0
0
0
11
-36
16
0
0
0
0
0
-3
1
-13
5
0
0
0
0
0
0
-7
2
-12
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
11
-10
34
0
0
0
0
1
-1
0
9
-17
0
0
0
0
0
1
0
5
12
0
0
0
0
-3
0
0
12
-18
0
0
0
0
0
-1
-6
26
5
0
0
0
0
0
0
-2
1
2
0
0
0
0
-1
2
0
-1
4
0
0
0
0
3
-12
0
0
-12
0
0
0
0
2
-3
-22
30
33
0
0
0
0
2
2
0
-10
11
-1
0
0
0
0
0
-1
-20
17
4
0
0
0
0
0
0
6
-10
-3
0
0
0
2
0
-9
-18
-3
10
0
0
0
0
0
0
-2
4
13
0
0
0
0
0
0
-1
-7
10
0
0
0
0
0
-1
0
1
-24
0
0
0
1
-3
4
12
-7
-33
0
0
0
-10
1
0
0
26
8
-11
0
0
0
0
0
-11
16
-6
3
0
0
3
-1
0
0
5
14
-26
0
0
0
0
-3
-6
1
18
1
0
0
-1
0
0
1
-10
-7
-12
0
0
-1
0
3
-8
-5
8
-2
0
0
-10
0
-1
2
8
-36
19
0
0
-12
18
11
-30
-15
-2
33
0
0
17
12
27
-22
-3
0
0
0
9
20
-3
10
-23
5
0
0
0
0
-21
7
-2
-38
14
0
0
-23
13
-34
-19
-36
18
10
0
0
0
0
25
0
26
-31
4
0
0
0
10
-27
-20
-14
-11
5
0
0
0
0
-11
-30
-16
28
-23
0
0
-9
-11
-30
-38
-14
-7
1
0
0
0
0
-23
3
-14
-7
14
0
0
0
9
-10
42
91
4
-6
0
0
0
0
29
-36
-16
1
25
0
0
7
24
-8
-9
-9
-4
-31
0
0
0
0
0
8
8
-37
-10
0
0
0
-4
-2
-29
-30
23
-4
0
0
0
0
18
1
-6
-17
-16
0
0
5
8
5
-37
44
13
-18
0
0
0
0
29
46
-16
-26
39
4
0
0
-21
-9
-27
-66
-2
-3
2
0
0
0
-9
-30
50
-18
41
-3
0
-1
-27
25
0
3
0
32
-3
0
0
0
-2
4
36
-24
1
2
0
0
10
14
5
-12
-49
-6
-9
0
0
0
35
-1
3
-47
0
5
0
29
19
-2
28
41
5
-8
-1
0
0
0
18
-26
-7
-8
5
-3
8
0
31
-27
-22
28
-8
-31
7
-1
0
0
61
21
-32
24
29
-6
-6
3
5
-1
-15
7
-38
7
16
2
0
0
15
7
17
-11
35
-13
3
0
-39
10
-18
-24
-18
-5
-7
7
0
0
1
20
47
-13
27
-14
19
-29
1
-16
21
27
-11
23
-4
2
0
0
-8
-35
-26
-8
14
0
0
0
0
-34
-7
-1
-12
1
0
0
0
0
-20
29
3
-9
9
0
0
0
0
-11
-9
32
-19
8
0
0
0
0
4
65
23
-8
-1
0
0
0
0
17
26
-8
-31
12
0
0
0
0
6
-20
21
-4
-17
0
0
0
0
6
7
-8
-17
-12
0
0
0
0
17
-22
-9
-2
14
0
0
0
0
0
-20
78
-21
20
0
0
0
0
27
-20
2
9
16
0
0
0
0
-4
-5
19
9
-16
0
0
0
0
-13
17
-16
-5
-8
0
0
0
0
0
-1
-35
-42
24
0
0
0
0
-4
18
24
-1
12
0
0
0
0
1
-19
-20
23
2
0
0
0
0
-22
-25
-11
18
39
0
0
0
0
2
58
-11
5
-7
0
0
0
0
-8
21
23
-29
12
0
0
0
0
-1
11
24
-32
1
0
0
0
0
25
27
11
-33
44
0
0
0
0
-1
-31
36
-22
48
0
0
0
0
7
32
-37
42
-20
0
0
0
0
-1
-16
4
74
-29
0
0
0
0
12
23
24
11
-8
0
0
0
0
0
9
0
-14
27
0
0
0
0
1
25
-30
-16
25
0
0
0
0
0
1
34
-62
1
0
0
0
0
9
-12
-4
14
4
0
0
0
0
11
-9
47
14
-7
0
0
0
0
-29
-20
54
-28
22
0
0
0
0
30
13
19
-24
-6
0
0
0
0
0
5
-45
-22
9
0
0
0
-3
9
66
11
-23
2
0
0
0
0
36
18
-18
-18
0
0
0
0
-1
0
-20
42
-9
12
0
0
0
0
0
-3
10
-37
25
0
0
0
12
0
5
-37
3
25
0
0
0
0
0
-17
50
-10
2
0
0
0
21
0
8
-7
10
-22
0
0
0
0
0
2
25
-31
27
0
0
0
-8
1
18
1
-9
17
0
0
0
0
0
10
52
-33
-10
0
0
0
18
0
12
-22
-10
12
0
0
0
0
0
0
9
-110
27
0
0
0
20
0
-28
29
-29
26
0
0
0
0
0
4
35
-35
-5
0
0
0
-1
0
-13
25
-8
-8
0
0
0
0
0
-10
22
-32
14
0
0
0
-11
-11
-11
27
5
40
0
0
0
0
1
-1
-2
-32
49
0
0
0
4
0
-2
-32
20
-2
0
0
0
0
0
0
5
12
15
0
0
0
21
0
6
-27
13
15
0
0
0
0
0
-3
-10
43
-6
0
0
0
-1
0
1
-3
27
-1
0
0
0
0
0
-8
-6
46
17
0
0
0
15
0
15
-1
-22
27
0
0
0
0
0
1
27
3
-7
0
0
0
-1
0
1
-16
25
-23
0
0
0
0
0
0
26
8
-13
0
0
0
5
0
0
18
7
26
0
0
0
0
3
0
-21
-12
38
0
0
0
30
-1
-87
-33
-10
4
0
0
0
0
6
33
18
-16
-14
0
0
0
0
0
-37
9
-6
12
0
0
0
0
7
12
15
-8
13
0
0
0
0
28
-12
-23
10
0
0
0
0
0
29
15
19
-42
-5
0
0
0
0
0
-14
2
-20
5
0
0
0
0
-8
13
-7
-9
22
0
0
0
0
4
36
-12
-11
-18
0
0
0
0
0
39
13
-27
2
0
0
0
0
0
1
2
-60
35
0
0
0
0
0
-25
-21
39
14
0
0
0
0
0
-28
9
9
19
0
0
0
0
-7
36
-34
-16
28
0
0
0
0
0
-2
-15
61
-10
0
0
0
0
3
0
4
-58
52
0
0
0
0
-1
-7
-25
-19
6
0
0
0
0
-1
7
43
-27
-16
0
0
0
0
-1
1
10
-9
-8
0
0
0
0
-11
0
-32
-50
65
0
0
0
0
2
2
-33
-38
43
0
0
0
0
-13
22
30
-58
5
0
0
0
0
0
-6
-17
-14
14
0
0
0
0
3
-7
5
-9
26
0
0
0
0
0
-12
6
6
46
0
0
0
0
0
0
2
15
32
0
0
0
0
0
0
4
-26
3
0
0
0
0
-1
-2
-52
17
14
0
0
0
0
-4
-1
36
-26
-2
0
0
0
0
14
38
-48
-2
-12
0
0
0
0
1
-3
30
-24
-15
0
0
0
0
1
-42
44
-29
2
0
0
0
0
22
6
33
-8
-19
0
0
0
0
1
28
-71
-4
-5
0
0
0
0
-4
-21
-66
52
-3
0
0
0
0
21
28
14
-37
-5
0
0
-34
-29
-4
39
28
22
-2
0
0
0
0
0
-1
-14
-14
4
0
0
0
-19
-2
5
76
24
-24
0
0
0
0
3
12
28
-71
13
0
0
-5
1
1
1
12
-16
-41
0
0
0
0
0
-3
12
-7
26
0
0
0
0
0
-16
48
-17
3
0
0
0
0
0
-29
-21
3
42
0
0
24
-5
0
-6
-47
44
30
0
0
0
0
0
-3
-7
9
49
0
0
0
2
0
-2
-16
20
6
0
0
0
0
0
-7
40
17
-14
0
0
35
0
-1
-3
-3
-32
-28
0
0
0
0
3
10
-14
-43
36
0
0
0
4
0
-8
43
-7
16
0
0
0
0
2
1
-55
-11
64
0
0
-2
-8
1
-27
-15
-15
25
0
0
0
0
0
4
21
-25
25
0
0
0
24
0
0
24
-62
-28
0
0
0
0
1
-3
3
-15
0
0
0
66
0
2
-7
-31
-48
-41
0
0
0
0
0
1
15
-17
-9
0
0
0
0
0
1
3
9
24
0
0
0
0
0
0
-61
3
43
0
0
-11
2
0
32
-13
-6
0
0
0
0
0
0
-1
-23
-38
56
0
0
0
16
0
-2
-16
-64
19
0
0
0
0
-6
3
-37
6
28
0
0
-16
36
-11
-43
-40
-33
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
20
31
20
-24
0
0
0
0
0
1
-8
-25
13
0
0
0
0
0
6
-22
-29
36
0
0
0
0
0
0
19
-41
-13
0
0
0
0
-13
0
-8
61
-50
0
0
0
0
0
-1
-11
-44
15
0
0
0
0
2
-2
-28
-38
99
0
0
0
0
2
-7
-7
-23
43
0
0
0
0
-12
27
1
14
2
0
0
0
0
0
0
-12
25
-8
0
0
0
0
0
-1
20
2
-26
0
0
0
0
0
0
-2
-5
31
0
0
0
0
0
10
-6
-10
-29
0
0
0
0
-1
0
1
10
6
0
0
0
0
0
0
-1
9
20
0
0
0
0
0
-1
-18
21
21
0
0
0
0
2
-25
33
-29
50
0
0
0
0
0
-1
-36
-45
45
0
0
0
0
0
-18
10
1
-12
0
0
0
0
0
6
-12
-36
51
0
0
0
0
-1
-36
8
-1
53
0
0
0
0
-9
2
1
21
3
0
0
0
0
0
0
13
20
21
0
0
0
0
0
2
16
21
14
0
0
0
0
24
9
42
-17
-7
0
0
0
0
0
-1
14
3
-2
0
0
0
0
-1
9
29
5
-15
0
0
0
0
0
10
-7
-30
20
0
0
0
0
24
-51
64
26
-14
0
0
0
0
-1
19
8
-20
23
0
0
0
0
-3
-19
4
-3
-11
0
0
0
0
-33
-1
13
2
21
0
0
0
0
0
0
3
-22
4
0
0
0
24
0
0
3
-7
-3
0
0
0
0
0
0
-2
-37
2
0
0
0
0
0
0
-33
10
-7
0
0
0
0
0
-1
-14
15
0
0
0
0
-10
0
-19
-15
4
-3
0
0
0
0
0
0
9
-71
34
0
0
0
0
0
9
0
-60
21
0
0
0
0
0
1
12
6
2
0
0
0
-8
0
0
7
-33
4
0
0
0
0
0
0
-3
-10
18
0
0
0
1
0
0
3
15
-26
0
0
0
0
0
0
0
0
31
0
0
0
-6
0
0
-1
-1
14
0
0
0
0
0
-1
0
-16
16
0
0
0
-3
0
-1
-3
-16
53
0
0
0
0
0
0
-13
-5
3
0
0
0
14
0
-7
11
-15
-5
0
0
0
0
0
0
8
-32
29
0
0
0
1
0
4
-9
-16
33
0
0
0
0
0
0
2
-8
26
0
0
0
-11
0
1
13
7
-1
0
0
0
0
0
0
-3
-2
19
0
0
0
0
0
0
15
10
34
0
0
0
0
0
2
16
-24
9
0
0
0
24
1
-32
-47
35
25
0
0
0
0
0
0
-3
-20
45
0
0
0
0
0
-1
6
-2
-21
0
0
0
0
0
0
23
-43
-3
0
0
0
23
0
-4
7
3
-8
0
0
0
0
-2
6
-4
20
-23
0
0
0
-23
0
7
-66
-1
28
0
0
0
0
10
-2
-21
-7
-12
0
0
0
0
0
0
0
-2
39
0
0
0
0
-2
-6
2
3
32
0
0
0
0
0
11
4
-8
1
0
0
0
0
-1
7
-2
40
2
0
0
0
0
0
-10
2
6
-8
0
0
0
0
-1
0
2
-16
-21
0
0
0
0
0
3
28
-27
5
0
0
0
0
-1
0
2
-15
35
0
0
0
0
0
0
3
27
-11
0
0
0
0
0
0
-1
5
15
0
0
0
0
0
3
-7
-32
54
0
0
0
0
2
18
13
15
3
0
0
0
0
0
0
-28
0
39
0
0
0
0
1
4
-6
-3
-13
0
0
0
0
0
9
7
5
-23
0
0
0
0
-1
-2
-2
-20
49
0
0
0
0
1
-1
3
-30
60
0
0
0
0
0
0
1
-31
-11
0
0
0
0
0
-1
32
13
-60
0
0
0
0
0
5
11
-20
-13
0
0
0
0
0
0
0
-24
-16
0
0
0
0
0
0
-2
42
-22
0
0
0
0
0
-7
-25
-18
22
0
0
0
0
4
-12
-19
48
-26
0
0
0
0
0
0
-6
-43
57
0
0
0
0
-1
1
2
-58
18
0
0
0
0
1
-1
2
14
-7
0
0
0
0
3
9
7
-68
41
0
0
0
0
0
-1
-6
1
-5
0
0
0
0
2
-4
-6
18
28
0
0
0
0
-7
-7
0
20
-10
0
0
0
0
0
-2
-1
44
-9
0
0
0
0
0
0
-3
21
-7
0
0
0
0
0
-2
1
-6
26
0
0
0
-7
0
-6
18
7
14
0
0
0
0
0
1
-4
10
10
0
0
0
1
0
0
-15
35
-19
0
0
0
0
0
0
0
-42
-21
0
0
0
0
0
-9
-56
43
21
0
0
0
0
0
0
-4
-5
-10
0
0
0
10
0
-1
-19
-16
19
0
0
0
0
0
0
1
-41
38
0
0
16
0
0
-1
11
-6
-4
0
0
0
0
0
-2
-3
32
4
0
0
0
-1
0
0
16
7
-16
0
0
0
0
0
0
-8
-39
38
0
0
-1
0
0
0
46
-26
-16
0
0
0
0
0
3
-3
5
19
0
0
0
0
0
3
-37
-13
34
0
0
0
0
0
4
8
-13
-39
0
0
23
0
0
-6
20
-24
-25
0
0
0
0
0
0
-4
-12
22
0
0
0
0
0
0
0
-37
-1
0
0
0
0
0
-3
2
-11
13
0
0
-2
0
0
0
-5
-8
4
0
0
0
0
0
4
4
-5
-12
0
0
0
-1
0
-2
3
-1
-35
0
0
0
0
0
-2
-2
8
-4
0
0
1
0
0
1
-60
-61
37
0
0
0
0
0
2
9
-1
-30
0
0
0
-11
0
0
26
-74
26
0
0
0
0
0
2
0
-6
-25
0
0
-25
-1
0
-1
-7
-30
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-14
-17
2
11
0
0
0
0
0
-16
0
-41
28
0
0
0
0
2
-28
15
-4
25
0
0
0
0
-1
21
-17
-47
25
0
0
0
0
12
-12
0
1
41
0
0
0
0
1
-2
1
-30
53
0
0
0
0
-1
-12
38
8
-8
0
0
0
0
0
-27
83
9
5
0
0
0
0
19
-5
-12
-7
20
0
0
0
0
0
15
-20
-7
-6
0
0
0
0
0
-7
4
-52
34
0
0
0
0
0
-5
-33
29
7
0
0
0
0
-20
-21
16
2
14
0
0
0
0
0
0
24
-31
15
0
0
0
0
45
5
19
27
-11
0
0
0
0
0
25
-8
-25
26
0
0
0
0
-23
6
23
23
22
2
0
0
0
0
0
1
-55
7
1
0
0
0
0
-7
30
52
35
1
0
0
0
-2
15
-6
-25
6
-2
0
0
0
-16
30
29
42
24
-2
0
0
0
-1
0
10
-21
12
9
0
0
0
-3
-35
3
-23
50
9
0
0
0
0
1
0
-7
24
-9
0
0
0
-16
-28
-32
-12
7
18
0
0
0
0
1
3
-49
-22
21
0
0
0
-21
26
2
-28
-37
22
0
0
0
0
3
0
-23
-2
15
0
0
0
19
30
-61
62
47
5
0
0
0
2
-1
-37
12
-15
0
0
0
0
23
-1
7
-12
2
-1
0
0
0
-12
19
-38
4
-11
6
0
0
0
0
13
13
-14
-8
0
0
0
-20
0
23
17
-24
24
0
0
0
0
0
-2
-1
-7
53
0
0
0
3
0
-2
-28
-24
46
0
0
0
0
0
-4
11
23
-10
0
0
0
-17
0
-2
-31
17
32
0
0
0
0
0
0
19
-23
-37
0
0
0
0
0
0
-44
3
1
0
0
0
0
0
3
42
-65
22
0
0
0
-10
0
14
-30
-6
8
0
0
0
0
-6
-1
-25
17
3
0
0
0
3
0
1
19
-15
16
0
0
0
0
0
0
-10
-20
39
0
0
0
5
0
-13
10
-74
52
0
0
0
0
0
-8
19
-9
-28
0
0
0
6
0
7
11
-15
16
0
0
0
0
0
6
0
64
-9
1
0
0
27
3
-33
-15
1
-11
-1
0
0
0
0
0
4
-22
41
-6
0
0
4
0
0
24
9
67
-9
0
0
0
0
0
-9
24
-38
15
0
0
24
1
0
-11
25
-2
6
0
0
0
0
-2
0
-20
3
4
0
0
0
0
2
-4
34
-17
-12
0
0
0
0
0
4
-36
25
4
0
0
-58
-2
-1
-35
-24
39
36
0
0
0
3
-2
-10
-31
-11
-5
0
0
1
0
-1
2
55
-41
-9
0
0
0
0
2
20
15
-24
33
0
0
-31
0
-3
-9
-3
4
33
0
0
0
0
13
19
-59
7
15
0
0
3
-7
-9
48
-20
24
-1
0
0
0
-1
1
2
-9
-1
0
0
0
0
0
0
20
-5
43
0
0
0
0
12
-10
2
-35
36
0
0
0
0
1
10
-23
21
25
0
0
0
0
-2
1
-12
-30
-16
0
0
0
0
0
0
-12
20
10
0
0
0
0
0
2
-6
2
-1
0
0
0
0
0
-37
45
-36
13
0
0
0
0
0
0
-6
40
-16
0
0
0
0
0
-6
1
-13
29
0
0
0
0
-6
-2
3
-77
62
0
0
0
0
2
2
-36
-16
21
0
0
0
0
0
-1
35
-38
19
0
0
0
0
0
3
2
-2
11
0
0
0
0
-1
-11
-28
18
-7
0
0
0
0
-6
7
7
-34
18
0
0
0
0
-1
21
20
9
-21
-7
0
0
0
0
0
49
-23
27
1
0
0
0
-1
0
0
-2
-30
-2
0
0
0
0
0
-13
5
-18
5
0
0
0
1
-4
34
-14
21
-2
0
0
0
0
0
-9
-9
-60
31
0
0
0
0
0
-24
-6
-6
16
0
0
0
1
-1
1
-52
50
-3
0
0
0
1
-9
-22
0
21
11
0
0
0
0
0
2
6
17
7
0
0
0
-2
0
0
-19
19
-20
0
0
0
-4
-3
-19
17
-12
29
0
0
0
-1
6
26
-8
-12
1
0
0
0
0
-1
-1
-16
43
-6
0
0
0
-1
-3
7
19
-1
-10
0
0
0
-9
8
-33
-19
-72
20
0
0
0
0
-1
-12
18
21
0
0
0
0
0
2
3
-9
13
0
0
0
0
3
11
-25
-6
4
0
0
15
1
0
8
18
6
18
0
0
0
0
0
0
8
-22
20
0
0
0
-3
0
-1
-27
-28
23
0
0
0
0
0
0
-19
-21
0
0
0
0
0
-2
-4
-18
-5
14
0
0
0
0
0
0
5
45
-42
0
0
0
0
0
0
15
0
7
0
0
0
0
0
-13
-15
9
5
0
0
-16
-3
0
8
34
5
-33
0
0
0
0
0
0
3
-20
5
0
0
0
0
0
0
-32
1
11
0
0
0
0
0
-17
-2
-18
24
0
0
9
0
-1
-16
12
-20
8
0
0
0
0
1
1
0
80
-2
-5
0
0
0
0
-2
65
-66
44
-5
0
0
0
0
8
-7
-69
-18
3
0
14
0
0
4
11
-47
28
12
0
0
0
0
0
2
3
35
0
0
0
4
0
0
7
-7
37
-31
0
0
0
1
2
0
-48
-5
8
0
-25
0
0
-11
3
-42
10
30
0
0
0
0
1
6
1
17
2
0
0
0
0
-4
-8
7
-12
30
0
0
0
1
0
26
32
-31
-27
0
-8
0
0
-1
-29
-31
37
6
0
0
0
0
-8
0
-28
-22
28
0
0
-4
0
1
-13
2
-3
2
0
0
0
2
-10
-28
-21
103
-14
0
12
4
0
-27
0
-23
-40
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
-14
-3
0
0
0
0
0
0
-17
-54
35
0
0
0
0
1
-1
20
-56
33
0
0
0
0
0
0
5
-17
5
0
0
0
0
-20
20
11
13
-29
0
0
0
0
0
-3
-9
-36
17
0
0
0
0
0
2
1
25
-31
0
0
0
0
0
0
1
-26
71
0
0
0
0
17
3
25
-47
-9
0
0
0
0
0
-6
-9
-57
23
0
0
0
0
0
4
42
-12
-25
0
0
0
0
0
4
-2
22
4
0
0
0
0
33
0
22
-31
-4
0
0
0
0
0
0
-12
-18
6
0
0
0
0
-4
33
2
-9
-27
0
0
0
0
12
-37
14
-31
0
0
0
0
0
-17
-2
-12
44
39
15
0
0
0
0
3
-8
0
16
-1
0
0
0
0
-6
2
-45
19
27
0
0
0
0
0
4
28
-23
6
0
0
0
13
12
15
58
3
-1
0
0
0
-1
3
-14
-14
63
16
0
0
0
-9
8
2
17
25
-23
0
0
0
-1
0
-23
-6
-8
13
0
0
0
-18
-36
92
12
17
1
3
0
0
0
-1
-14
-35
-54
24
4
0
0
0
-30
-48
-12
76
-12
3
0
0
0
-7
19
47
-17
-15
0
0
0
-15
-28
20
-14
-20
18
13
0
0
-1
-7
27
-45
23
-22
3
0
0
32
31
-44
16
-25
-18
12
0
0
17
6
-30
9
20
-21
5
0
0
0
0
6
28
1
0
0
0
31
0
2
-16
20
-7
0
0
0
0
0
0
0
23
-29
0
0
0
0
0
0
-19
-1
17
0
0
0
0
0
0
-33
-2
58
0
0
0
7
0
-4
51
-38
-8
0
0
0
0
0
0
0
4
13
0
0
0
0
0
0
18
29
-3
0
0
0
0
0
-2
18
-26
25
0
0
0
43
0
-1
-18
-26
0
0
0
0
0
0
0
0
-2
-21
0
0
0
-3
0
-1
20
-11
13
0
0
0
0
0
-1
-6
-28
45
0
0
0
2
0
0
-10
-22
20
0
0
0
0
0
0
1
-60
25
0
0
0
-8
0
0
-4
16
38
0
0
0
0
0
0
-22
-62
0
36
0
0
-3
2
-18
-10
-9
33
-7
0
0
0
0
0
0
-34
16
7
0
0
0
0
-1
0
1
-6
-2
0
0
0
0
0
-21
-4
-30
35
0
0
-36
-2
-2
10
-9
41
-4
0
0
0
0
1
3
2
-32
26
0
0
0
0
2
0
-19
-2
3
0
0
0
0
0
-50
-21
65
-8
-2
0
31
0
14
-56
-34
27
-12
-24
0
0
0
-2
7
-43
7
-3
-10
0
-7
0
-2
-1
-35
-9
-42
8
0
0
0
-3
-6
2
30
-5
18
0
16
0
0
23
-40
18
-28
-17
0
0
-1
2
6
-61
15
-13
-1
0
-37
-2
-18
-4
1
13
2
-8
0
0
-1
1
-8
-27
41
0
0
0
0
0
0
0
5
-25
0
0
0
0
0
1
20
22
-2
0
0
0
0
0
1
0
-12
3
0
0
0
0
2
2
-7
-8
-70
0
0
0
0
0
-1
1
12
-15
0
0
0
0
0
-8
0
-4
10
0
0
0
0
0
1
-47
-11
3
0
0
0
0
7
0
-10
1
-7
0
0
0
0
0
0
4
-83
20
0
0
0
0
-2
-6
2
2
22
0
0
0
0
0
1
6
-21
15
0
0
0
0
1
2
0
30
11
0
0
0
0
0
0
-11
-10
14
0
0
0
0
-1
0
-24
-4
50
0
0
0
0
1
7
17
-3
-27
0
0
0
0
-11
-15
6
16
29
2
0
0
0
0
0
-8
6
11
-6
0
0
0
-1
-1
3
-14
-20
51
0
0
0
0
0
-13
-18
10
36
0
0
0
-6
2
4
0
-57
20
0
0
0
0
-1
-2
24
-61
7
0
0
0
0
-2
0
-1
25
-28
0
0
0
0
-3
8
-57
-9
37
0
0
0
-22
-36
0
-29
27
3
17
0
0
0
-3
1
-64
5
-17
15
0
0
0
7
-13
-31
-12
-56
19
0
0
-7
1
0
11
-24
-29
2
0
0
-12
-4
-14
33
66
-28
1
0
0
0
2
0
30
38
-59
1
0
0
-7
6
-7
24
18
-23
-1
0
0
-3
13
-12
-30
-13
-37
23
0
0
0
-2
-2
-10
44
0
0
0
0
0
0
0
-5
-22
0
0
0
0
0
0
3
-20
-31
0
0
13
7
0
1
-43
-46
20
0
0
0
0
0
0
-3
5
-19
0
0
0
0
0
0
-26
-26
37
0
0
0
0
0
-1
2
3
3
0
0
2
0
0
-4
-16
39
9
0
0
0
0
0
0
-5
-18
-2
0
0
0
0
0
0
-8
17
-15
0
0
0
0
0
-9
0
-7
-40
0
0
32
0
0
-4
17
-24
-17
0
0
0
0
0
0
-37
4
20
0
0
0
-3
0
0
-18
-53
11
0
0
0
0
0
-12
-5
-18
8
0
0
-34
0
0
2
-22
9
12
0
0
0
0
0
0
-1
-70
4
-4
0
0
0
0
-1
3
24
37
-35
0
0
0
0
1
-27
0
11
19
0
-11
0
0
-2
17
36
-15
-3
0
0
0
0
0
0
-8
-5
16
0
0
0
0
0
-3
-41
45
-14
0
0
0
0
0
-4
4
-69
-3
0
-24
0
0
-2
49
-11
7
-33
0
0
0
0
-3
2
7
0
-1
-3
0
-1
0
-2
-28
39
2
-51
3
0
0
0
-2
-3
-5
36
-29
-2
-54
0
0
-8
-7
3
27
-21
14
0
0
0
2
1
-7
40
26
-20
0
6
0
0
2
3
-19
-9
-12
0
0
0
-7
0
-45
-44
-35
23
-8
-4
-1
-11
-63
-22
-1
-38
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
18
28
0
0
0
0
-2
-47
-30
-17
37
0
0
0
0
19
18
-70
-15
12
0
0
0
0
-3
-6
-10
-39
3
0
0
0
0
-8
-36
-19
17
14
0
0
0
0
0
21
18
4
11
0
0
0
0
-8
-16
-22
32
-8
0
0
0
0
0
15
22
-7
-11
0
0
0
0
7
-29
-4
-37
5
0
0
0
0
0
0
3
-16
42
0
0
0
0
16
-14
7
11
15
0
0
0
0
1
-8
7
-9
5
0
0
0
0
10
18
-46
-7
32
0
0
0
0
0
2
9
-27
4
0
0
0
0
28
-20
24
30
-26
0
0
0
0
1
16
-8
-48
27
0
0
0
0
-14
5
-38
12
33
0
0
0
0
0
15
55
-51
-1
0
0
0
0
2
-10
37
-54
16
0
0
0
0
0
11
-9
-3
-8
0
0
0
0
-9
47
43
-6
-28
0
0
0
0
0
-12
-15
50
38
0
0
0
0
-8
2
2
-4
7
0
0
0
0
0
10
12
-45
66
0
0
0
0
-15
-14
31
-16
10
0
0
0
0
0
0
-19
-29
36
0
0
0
0
-7
22
-28
37
10
0
0
0
0
0
18
4
28
-6
0
0
0
0
12
-17
-20
-11
17
0
0
0
0
4
-10
5
-18
12
0
0
0
0
4
-49
53
-36
20
0
0
0
0
-11
-4
11
-13
0
0
0
0
0
0
10
-39
-10
9
0
0
0
6
2
-15
9
6
14
0
0
0
0
0
-4
-25
-20
30
0
0
0
-5
0
-16
-28
1
-5
0
0
0
0
7
-18
-18
6
25
0
0
0
2
0
32
46
-16
-5
0
0
0
0
0
-8
16
-31
13
0
0
0
-9
0
1
10
8
15
0
0
0
0
0
0
12
-2
-16
0
0
0
1
1
0
-1
6
23
0
0
0
0
0
-1
1
32
-15
0
0
0
4
0
-3
-21
-3
19
0
0
0
0
0
0
-11
-8
9
0
0
0
19
0
1
3
-37
12
0
0
0
0
0
-2
-4
-2
8
0
0
0
0
0
9
-25
21
13
0
0
0
0
0
0
-5
-3
10
0
0
0
-32
1
-10
28
-23
31
0
0
0
0
0
0
0
-17
16
0
0
0
3
0
0
24
-39
11
0
0
0
0
0
0
-20
-21
-10
0
0
0
-3
0
0
21
-22
5
0
0
0
0
0
0
3
6
-27
0
0
0
-1
0
0
3
-8
-9
0
0
0
0
0
0
1
-90
27
0
0
0
-33
0
2
-5
-31
35
0
0
0
0
0
0
1
17
4
0
0
0
0
0
0
-3
-29
24
0
0
0
0
0
-1
0
-35
-1
0
0
0
-7
0
0
15
-18
-8
0
0
0
0
1
3
-15
-20
8
0
0
0
-5
-2
-10
-57
-2
18
0
0
0
0
7
15
-52
2
14
0
0
0
0
0
1
-20
-16
20
0
0
0
0
1
47
-4
-13
-26
0
0
0
0
0
-2
13
-15
-10
0
0
0
0
1
1
-22
-19
26
0
0
0
0
0
0
16
-26
27
0
0
0
0
0
-2
14
-43
49
0
0
0
0
0
-4
8
-15
6
0
0
0
0
0
-6
32
28
-15
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
20
18
19
0
0
0
0
0
1
17
-4
-6
0
0
0
0
0
0
-18
-13
23
0
0
0
0
0
0
-3
-37
13
0
0
0
0
0
0
17
-10
-4
0
0
0
0
0
1
12
31
-34
0
0
0
0
0
-3
-18
8
1
0
0
0
0
0
0
4
9
-24
0
0
0
0
0
3
27
-18
-4
0
0
0
0
0
0
-12
-50
36
0
0
0
0
0
1
3
-58
36
0
0
0
0
0
0
0
11
4
0
0
0
0
0
0
-8
-9
9
0
0
0
0
0
0
2
-4
68
0
0
0
0
0
0
31
-3
-39
0
0
0
0
0
0
0
17
-25
0
0
0
0
0
-1
-35
24
28
0
0
0
0
0
0
52
2
-16
0
0
0
0
0
0
5
-4
-10
0
0
0
0
0
0
-1
19
6
0
0
0
0
0
2
7
-35
77
0
0
0
0
-1
24
-28
-8
9
0
0
0
0
0
22
-17
-12
0
0
0
0
0
0
4
14
-36
17
0
0
0
0
0
1
-2
19
3
0
0
-14
-1
1
3
74
-1
3
0
0
0
0
0
0
-51
37
-11
0
0
0
0
0
-8
-33
-19
27
0
0
0
0
0
0
-15
-14
21
0
0
-3
0
0
1
11
-25
11
0
0
0
0
0
6
0
3
-1
0
0
0
0
0
0
23
-14
-6
0
0
0
0
0
1
21
12
-21
0
0
48
1
0
0
-1
16
-21
0
0
0
0
0
0
-3
-49
31
0
0
0
0
0
0
3
-17
57
0
0
0
0
0
1
9
-30
3
0
0
-7
0
-1
-2
1
-1
21
0
0
0
0
0
3
40
-12
-24
0
0
0
0
0
1
8
0
16
0
0
0
0
0
-2
12
-47
34
0
0
-20
-2
0
-6
-21
51
31
0
0
0
0
0
0
-36
0
15
0
0
0
0
0
0
8
8
6
0
0
0
0
0
0
-13
-1
-11
0
0
-7
0
0
3
38
-22
-10
0
0
0
0
0
0
12
-40
51
0
0
0
0
0
0
-6
-10
8
0
0
0
0
0
1
-1
12
40
0
0
-5
0
0
-2
32
-20
24
0
0
0
0
0
-4
-1
-29
13
0
0
0
0
0
0
-5
-16
10
0
0
0
0
0
3
18
-10
9
0
0
42
3
-1
-28
10
18
-27
0
0
0
0
4
-13
-13
-23
26
0
0
0
0
0
-16
45
-19
9
0
0
0
0
0
16
41
-39
-9
0
0
0
0
0
0
-15
3
5
0
0
0
0
-1
6
3
-67
27
0
0
0
0
0
1
-39
12
22
0
0
0
0
0
0
22
6
-46
0
0
0
0
0
2
45
9
-44
0
0
0
0
4
-21
-22
-30
33
0
0
0
0
0
-4
-12
-7
17
0
0
0
0
0
2
24
13
-29
0
0
0
0
0
0
-23
7
21
0
0
0
0
-1
-4
-21
-2
36
0
0
0
0
0
0
-4
9
-9
0
0
0
0
0
-1
4
2
57
0
0
0
0
-2
0
0
-43
66
0
0
0
0
20
13
-22
16
11
0
0
0
0
0
4
4
1
-18
0
0
0
0
0
-1
6
0
1
0
0
0
0
0
4
-17
0
-25
0
0
0
0
-2
-17
12
38
-27
0
0
0
0
0
2
15
-20
-26
0
0
0
0
0
0
1
2
21
0
0
0
0
0
-1
4
0
-1
0
0
0
0
-48
36
10
-13
-2
0
0
0
0
0
0
-3
-9
1
0
0
0
0
0
0
2
60
-11
0
0
0
0
0
2
-2
8
10
0
0
0
0
1
-47
8
-15
5
0
0
0
0
0
0
6
-4
0
0
0
0
0
-1
-3
-10
21
42
0
0
0
0
-1
-15
12
-26
3
0
0
0
0
0
0
-8
7
37
0
0
0
0
0
0
-62
27
32
0
0
0
0
0
0
3
-6
40
0
0
0
0
0
1
-14
33
-35
0
0
0
0
0
0
30
-74
6
0
0
0
0
0
-2
11
-12
-10
0
0
0
0
0
0
2
-9
5
0
0
0
0
0
0
21
-10
-24
0
0
0
0
0
-1
19
-42
1
0
0
0
3
0
0
-10
-11
18
0
0
0
0
0
0
0
-15
59
0
0
0
0
0
-1
-2
20
-34
0
0
0
0
0
0
6
28
-17
0
0
0
0
0
-2
-14
-21
21
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
-35
-3
0
0
0
0
0
0
0
-2
-12
4
0
0
0
31
2
0
-16
-9
2
0
0
0
0
0
0
0
-27
77
0
0
0
0
0
1
-2
3
4
0
0
0
0
0
0
-1
-9
16
0
0
0
0
0
2
-30
-4
15
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
2
7
9
0
0
0
0
0
0
-4
1
6
0
0
0
7
0
0
6
-49
37
0
0
0
0
0
0
0
6
-6
0
0
0
0
0
-4
-6
25
11
0
0
0
0
0
0
9
-29
50
0
0
0
1
0
-7
6
-39
27
0
0
0
0
0
0
0
-14
9
0
0
0
0
0
11
-48
-17
-12
0
0
0
0
0
7
32
28
-26
0
0
0
0
0
0
-12
-40
17
0
0
0
0
0
3
16
0
-10
0
0
0
0
0
0
-1
-51
3
0
0
0
0
0
0
22
27
-48
0
0
0
0
0
0
-2
-4
2
0
0
0
0
0
-1
1
-34
39
0
0
0
0
0
1
0
29
15
0
0
0
0
0
0
-3
-4
32
0
0
0
0
0
-7
0
14
1
0
0
0
0
0
-2
-7
8
3
0
0
0
0
0
0
2
45
-23
0
0
0
0
0
0
-12
-2
39
0
0
0
0
0
0
1
3
-13
0
0
0
0
0
0
-1
-1
21
0
0
0
0
0
-4
1
-27
-4
0
0
0
0
2
-2
6
-25
13
0
0
0
0
0
2
6
-35
-9
0
0
0
0
0
1
0
-22
4
0
0
0
0
0
0
0
-12
29
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
0
-2
-12
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-9
4
0
0
0
0
0
-1
0
-4
23
0
0
0
0
0
1
1
13
-20
0
0
0
0
0
0
-4
-12
18
0
0
0
0
0
0
0
-20
-14
0
0
0
0
0
1
-12
-7
19
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
1
10
-9
0
0
0
0
-4
8
28
18
-1
0
0
0
0
0
9
39
15
-36
0
0
0
0
0
-3
75
2
-31
0
0
0
0
0
-25
5
25
17
0
0
-2
0
0
11
28
-10
-30
0
0
0
0
0
6
21
-26
-10
0
0
0
0
0
-3
37
8
-37
0
0
0
0
0
-9
-28
10
49
0
0
0
0
0
-21
39
-5
10
0
0
0
0
0
3
42
-58
-8
0
0
0
0
0
-2
-42
25
-7
0
0
0
0
0
-3
-15
-39
59
0
0
-1
0
0
6
-28
-26
19
0
0
0
0
0
0
19
6
23
0
0
0
0
0
3
12
-26
14
0
0
0
0
0
2
-2
8
8
0
0
0
0
0
-16
-40
56
-25
0
0
0
0
0
32
21
-37
25
0
0
0
0
0
-2
-19
15
8
0
0
0
0
0
7
6
-34
32
0
0
-7
0
0
-3
-23
-24
22
0
0
0
0
0
-3
7
2
4
0
0
0
0
0
0
-7
-4
10
0
0
0
0
0
0
-8
9
8
0
0
0
0
0
-19
-2
38
0
0
0
0
0
0
32
-49
-19
18
0
0
0
0
0
-1
-17
-41
105
0
0
0
0
0
-2
0
-19
14
0
0
-4
0
0
0
0
11
-6
0
0
0
0
0
6
-55
-15
43
0
0
0
0
0
-4
22
29
-71
0
0
0
0
0
-2
-37
-13
36
0
0
-4
0
-1
3
-21
9
35
0
0
0
0
52
-28
-4
-5
21
0
0
0
0
0
29
11
-30
-16
0
0
0
0
0
-4
-14
-6
14
0
0
0
0
0
-16
-34
48
-4
0
0
0
0
0
-6
25
-11
5
0
0
0
0
0
-7
0
-32
60
0
0
0
0
0
-7
0
9
10
0
0
0
0
0
2
26
-32
15
0
0
0
0
-16
10
-23
16
-8
0
0
0
0
0
-1
-1
8
6
0
0
0
0
0
-10
-1
30
-4
0
0
0
0
0
4
2
2
18
0
0
0
0
-4
-14
6
64
17
0
0
0
0
0
1
-7
17
11
0
0
0
0
-1
21
17
-64
14
0
0
0
0
0
-4
5
27
-9
0
0
0
0
16
-30
46
-36
-15
0
0
0
0
0
0
8
-4
7
0
0
0
0
0
0
-8
-24
19
0
0
0
0
0
2
6
-12
1
0
0
0
0
0
1
-1
-10
3
0
0
0
0
0
0
0
8
44
0
0
0
0
0
0
-3
0
-7
0
0
0
0
0
-3
0
-18
-20
0
0
0
0
24
-5
4
-9
22
0
0
0
0
0
-2
-3
-18
32
0
0
0
0
0
-1
1
-9
13
0
0
0
0
0
3
-10
8
9
0
0
0
0
-42
1
80
-32
-7
0
0
0
0
0
-2
0
-3
30
0
0
0
0
7
-10
-1
45
-5
0
0
0
0
1
-7
14
-3
7
0
0
0
0
0
0
-20
28
42
0
0
0
-23
0
0
-8
-36
19
0
0
0
0
0
0
1
-22
42
0
0
0
0
0
0
33
-11
-27
0
0
0
0
0
0
-3
1
10
0
0
0
0
0
2
-6
-16
5
0
0
0
0
0
0
0
-16
-31
0
0
0
0
0
2
10
-27
14
0
0
0
0
0
-1
10
-19
-17
0
0
0
27
0
0
5
-53
17
0
0
0
0
0
0
0
-6
61
0
0
0
4
0
2
7
-29
-4
0
0
0
0
0
0
1
-27
7
0
0
0
9
0
-1
-13
8
-9
0
0
0
0
0
1
0
-42
13
0
0
0
-7
0
1
-22
17
54
0
0
0
0
0
0
0
44
-16
0
0
0
-3
0
2
-10
-26
17
0
0
0
0
0
0
-1
-3
1
0
0
0
0
0
0
1
-10
-1
0
0
0
0
0
0
0
7
-1
0
0
0
2
0
0
1
-12
25
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-7
-4
-2
0
0
0
0
0
0
0
8
-30
0
0
0
1
0
-1
3
27
-10
0
0
0
0
0
0
0
-14
19
0
0
0
0
0
0
6
17
-21
0
0
0
0
0
0
2
-14
-10
0
0
0
1
0
0
4
-21
47
0
0
0
0
0
0
0
-20
12
0
0
0
24
0
0
-17
-31
-24
0
0
0
0
0
7
9
7
7
0
0
0
0
0
0
2
-13
-24
0
0
0
0
0
-1
20
-2
9
0
0
0
0
0
0
-2
9
16
0
0
0
0
0
0
-8
-9
21
0
0
0
0
0
0
0
-16
-8
0
0
0
0
0
0
2
-22
4
0
0
0
0
0
0
-18
-1
57
0
0
0
0
1
2
-22
21
4
0
0
0
0
0
0
0
-48
60
0
0
0
0
-2
1
-2
5
13
0
0
0
0
0
-3
7
17
0
0
0
0
0
0
0
3
-6
-16
0
0
0
0
0
0
0
4
-12
0
0
0
0
2
4
0
-92
46
0
0
0
0
0
0
-9
8
-2
0
0
0
0
0
1
-1
-39
48
0
0
0
0
0
0
0
-13
-1
0
0
0
0
-1
0
0
-10
1
0
0
0
0
0
0
2
19
-2
0
0
0
0
0
0
0
8
52
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
-7
16
-3
0
0
0
0
0
0
0
-13
-5
0
0
0
0
0
4
-7
9
15
0
0
0
0
0
0
0
-33
-1
0
0
0
0
0
-1
-16
36
13
0
0
0
0
0
0
-3
26
7
0
0
0
0
0
0
-6
2
-4
0
0
0
0
-3
3
-9
8
2
0
0
0
0
0
-2
9
-3
-33
0
0
0
-1
0
1
-6
55
-21
0
0
0
0
0
0
15
-15
4
0
0
-7
1
0
0
-23
-5
10
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
1
-8
31
0
0
0
0
0
-1
0
-2
14
0
0
6
0
0
0
22
-29
-24
0
0
0
0
0
2
3
-15
-13
0
0
0
0
0
1
22
-34
12
0
0
0
0
0
0
-1
-7
67
0
0
4
0
0
1
-1
-6
14
0
0
0
0
0
0
-3
-5
52
0
0
0
0
0
1
-12
20
21
0
0
0
0
0
1
-6
11
13
0
0
0
0
0
0
-14
-15
-8
0
0
0
0
0
4
2
0
0
0
0
0
0
0
0
-1
-41
59
0
0
0
0
0
0
2
-1
-3
0
0
5
0
0
0
15
-26
10
0
0
0
0
0
0
-2
6
-7
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
4
0
1
0
0
0
0
0
0
8
-6
9
0
0
0
0
0
0
0
13
-21
0
0
0
0
0
0
1
-7
-1
0
0
1
0
0
0
1
15
8
0
0
0
0
0
-4
-1
1
13
0
0
0
-6
0
0
-5
-9
-6
0
0
0
0
0
0
-4
-26
28
0
0
12
-4
0
-4
-3
-4
-6
0
0
0
0
0
3
12
2
-21
0
0
0
0
0
0
-2
-22
12
0
0
0
0
0
0
10
-8
-14
0
0
0
0
0
0
0
-5
17
0
0
0
0
0
0
-18
3
54
0
0
0
0
0
2
6
-17
22
0
0
0
0
0
2
-1
0
-4
0
0
0
0
0
0
1
-3
-13
0
0
0
0
0
17
6
4
7
0
0
0
0
0
0
2
15
-7
0
0
0
0
0
0
12
-12
1
0
0
0
0
0
0
0
-47
63
0
0
0
0
0
-7
15
-3
23
0
0
0
0
0
0
2
-8
-1
0
0
0
0
0
-1
2
-4
-33
0
0
0
0
0
0
0
9
13
0
0
0
0
-11
-23
16
22
27
0
0
0
0
0
1
0
-39
18
0
0
0
0
0
1
3
-23
27
0
0
0
0
0
0
-2
7
2
0
0
0
0
0
1
1
0
-6
0
0
0
0
0
0
0
0
14
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
-4
0
-2
-16
0
0
0
0
3
-4
2
-1
4
0
0
0
0
0
-1
-1
-28
41
0
0
0
0
0
0
9
-1
2
0
0
0
0
0
0
0
-3
1
0
0
0
0
1
-1
-20
-2
25
0
0
0
0
0
1
1
12
-28
0
0
0
0
3
0
0
-7
11
0
0
0
0
-1
3
9
-4
-32
0
0
0
0
0
0
0
-19
3
0
0
0
0
0
-2
0
2
1
0
0
0
0
0
0
-7
-40
77
0
0
0
0
0
0
-18
0
41
0
0
0
0
0
0
0
-2
39
0
0
0
0
0
0
8
5
-20
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
-21
16
4
0
0
0
0
0
0
-3
-25
60
0
0
0
2
0
0
28
-4
-46
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
-2
-16
41
0
0
0
0
0
0
0
-2
27
0
0
0
0
0
-2
0
-17
15
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-20
-41
0
0
0
0
0
0
0
-23
23
0
0
0
8
0
-1
-1
-9
28
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
-1
9
-17
11
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
1
10
39
0
0
0
-3
0
0
0
10
9
0
0
0
0
0
0
0
-2
-11
0
0
0
0
0
0
-3
-1
-9
0
0
0
0
0
0
0
3
-27
0
0
0
2
0
0
0
-30
11
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
-4
-28
-29
44
0
0
0
0
-5
9
2
-1
-5
0
0
0
0
0
0
7
-35
7
0
0
0
0
0
0
18
-29
-14
0
0
0
0
0
-1
-9
-12
46
0
0
0
0
0
0
-1
3
16
0
0
0
0
0
0
1
-5
-9
0
0
0
0
0
6
-2
0
-7
0
0
0
0
0
0
-2
-3
58
0
0
0
0
-1
1
2
-15
-2
0
0
0
0
0
0
-4
-18
-8
0
0
0
0
0
0
-3
-2
6
0
0
0
0
0
0
-1
3
15
0
0
0
0
-2
0
2
0
-16
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
2
3
0
0
0
0
0
-2
-4
-1
0
0
0
0
0
1
-3
-3
9
22
0
0
0
0
0
0
0
-8
9
0
0
0
0
0
10
0
0
-19
0
0
0
0
0
0
0
9
-59
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
-3
1
6
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
4
-15
-4
0
0
0
0
0
-4
0
2
-17
0
0
0
0
0
0
1
-19
15
0
0
0
0
0
2
0
-2
-8
0
0
0
0
2
0
0
-3
-47
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
-2
1
0
0
0
0
0
3
-3
-5
-26
45
0
0
0
0
4
-19
2
-9
2
0
0
0
-1
0
-1
-32
-24
5
0
0
0
0
0
-2
20
-65
28
0
0
1
0
0
4
19
-17
-28
0
0
0
0
0
-1
-33
-6
41
0
0
0
0
0
-3
-1
-17
22
0
0
0
0
0
0
6
-40
23
0
0
0
0
0
0
3
21
-17
0
0
0
0
0
0
-9
-10
-10
0
0
0
0
0
0
36
-54
9
0
0
0
0
0
-2
0
34
-28
0
0
-1
0
0
-9
-8
-4
-17
0
0
0
0
0
4
-6
35
-24
0
0
0
0
0
0
-12
5
-20
0
0
0
0
0
-10
7
-22
34
0
0
0
0
0
3
11
-2
-13
0
0
0
0
-1
28
51
-21
-45
0
0
0
-3
0
-3
0
-44
21
0
0
0
0
0
3
-14
-8
19
0
0
0
0
0
-1
-4
8
-14
0
0
0
0
0
17
-6
-22
1
0
0
0
0
0
0
-12
1
6
0
0
0
0
0
1
0
-9
9
0
0
0
0
0
0
-15
20
-4
0
0
0
0
0
-14
1
-4
5
0
0
0
0
0
0
-10
27
-3
0
0
0
0
0
0
1
-52
26
0
0
-2
0
0
0
-6
-3
-12
0
0
0
0
0
-8
-3
42
24
0
0
0
0
0
0
7
-10
39
0
0
0
0
0
-1
-3
-3
6
0
0
7
0
-1
-9
-35
13
-15
0
0
0
0
7
-37
-25
13
33
0
0
0
0
0
0
-4
27
3
0
0
0
0
6
2
-50
-3
38
0
0
0
0
-1
-1
23
-40
20
0
0
0
0
-22
55
-33
12
10
0
0
0
0
-1
-3
-45
44
-13
0
0
0
0
0
4
13
-35
10
0
0
0
0
-1
10
18
-1
-49
0
0
0
0
3
-11
36
-20
-8
0
0
0
0
0
0
-10
-44
111
0
0
0
0
0
-15
-6
79
1
0
0
0
0
0
6
-4
-26
11
0
0
0
0
-20
29
-27
-50
38
0
0
0
0
0
-1
8
-17
46
0
0
0
0
11
0
-7
2
-19
0
0
0
0
-2
-21
19
-11
47
0
0
0
0
-45
-13
-34
-59
23
1
0
0
0
0
-8
-28
28
38
2
0
0
0
1
-1
9
2
-40
2
0
0
0
-3
-7
-9
-14
8
0
0
0
0
-8
-26
52
-13
57
3
0
0
0
1
3
11
-38
40
-11
0
0
0
0
0
3
15
7
7
0
0
0
0
6
42
-21
13
-13
0
0
0
-7
-46
-20
30
4
-1
0
0
0
0
-1
-5
-17
-8
-2
0
0
0
-1
0
47
38
-63
6
0
0
0
0
24
-14
11
30
-9
0
0
0
23
5
-16
-3
20
-1
0
0
0
3
2
4
50
11
-14
0
0
0
15
29
-8
-21
59
-5
0
0
0
-1
-7
39
-2
-35
5
0
0
0
0
0
23
9
-30
0
0
0
14
0
0
-18
9
25
0
0
0
0
0
0
0
18
-2
0
0
0
1
0
-4
-34
6
-3
0
0
0
0
0
3
26
-34
-11
0
0
0
11
0
0
-11
-14
31
0
0
0
0
0
0
0
-2
30
0
0
0
0
0
-7
4
-5
-25
0
0
0
0
0
0
-2
1
21
0
0
0
-4
0
1
0
-19
26
0
0
0
0
0
0
0
-22
3
0
0
0
-8
0
0
-4
-11
44
0
0
0
0
0
-1
2
-18
17
0
0
0
0
0
-1
0
9
26
0
0
0
0
0
0
0
-11
-17
0
0
0
2
0
-1
-2
-49
31
0
0
0
0
0
0
8
0
5
3
0
0
2
4
-6
0
17
16
-7
0
0
0
0
0
0
32
-7
0
0
0
0
0
0
-3
-12
26
-5
0
0
0
0
-1
8
-27
21
7
0
0
9
0
0
0
-29
-13
6
0
0
0
0
0
0
-25
32
12
0
0
0
0
0
1
-20
-45
14
0
0
0
0
0
0
-27
19
7
0
0
-15
0
0
-2
-23
3
3
0
0
0
0
0
0
-41
7
32
0
0
1
0
0
0
-5
-32
30
0
0
0
0
1
4
-15
0
8
0
0
54
0
0
-9
25
35
-11
0
0
0
0
0
0
-43
-17
16
0
0
3
0
-4
-42
-14
30
3
0
0
0
0
-3
-15
-33
27
0
0
0
0
0
0
0
9
-10
0
0
0
0
0
1
1
-29
26
0
0
0
0
0
-2
-6
14
-2
0
0
0
0
0
-1
2
2
20
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
-2
4
-5
0
0
0
0
0
-2
-3
-11
9
0
0
0
0
0
0
-1
10
-7
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
-4
0
-32
0
0
0
0
0
0
1
3
-36
0
0
0
0
0
0
-2
0
-37
42
0
0
0
0
0
0
0
-11
74
0
0
0
0
0
-1
-1
-6
13
0
0
0
0
0
3
-1
-39
17
0
0
0
0
4
0
4
6
47
-4
0
0
0
0
0
0
6
-6
-5
0
0
0
0
0
6
9
33
-1
0
0
0
0
-1
0
26
-34
0
0
0
0
0
0
0
-34
1
10
0
0
0
0
0
1
0
36
8
0
0
0
1
0
2
24
-7
11
0
0
0
0
-1
3
12
1
-8
0
0
0
0
0
0
14
42
4
0
0
0
0
0
0
10
24
-4
0
0
0
0
0
-8
30
-21
18
0
0
0
0
-3
-1
-34
-18
54
0
0
0
0
0
3
3
39
-28
0
0
0
0
0
-4
-16
-1
6
0
0
0
1
0
3
-38
-7
8
0
0
0
-2
1
36
-33
-4
8
0
0
0
0
-3
8
8
54
0
0
0
0
0
-2
8
35
-9
0
0
0
0
0
0
-2
-12
19
0
0
-31
-2
0
1
27
-17
56
0
0
0
0
0
0
3
-25
54
0
0
0
0
0
-1
3
-18
-34
0
0
0
0
0
0
4
-3
8
0
0
-1
0
0
-15
25
-13
6
0
0
0
0
0
0
2
18
-5
0
0
0
0
0
0
6
-18
0
0
0
0
0
0
0
0
-16
0
0
0
1
0
0
-1
4
-13
-22
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
-2
8
34
0
0
0
0
0
0
6
-10
-26
0
0
0
0
0
-2
8
-7
-25
0
0
0
0
0
0
-15
-78
18
-3
0
0
0
0
0
-2
9
48
2
0
0
0
0
0
-13
3
-45
5
0
4
0
0
3
-35
58
-28
6
0
0
0
0
1
0
-32
-35
38
0
0
0
0
0
-4
-18
5
14
0
0
0
0
0
2
-36
28
16
0
9
0
0
0
-6
-25
-48
8
0
0
0
0
0
-24
23
71
-6
0
0
0
0
0
-14
15
-21
15
0
0
0
0
6
-11
-44
9
47
0
66
0
0
-1
-12
-52
-21
13
0
0
0
0
0
-6
-28
17
-1
0
0
0
0
1
21
-42
12
-60
0
0
0
0
0
-1
14
43
3
0
61
0
1
-1
-25
-26
16
-8
0
0
0
9
-1
-33
-22
24
0
0
0
0
0
-4
-3
-33
-9
0
0
0
0
0
0
13
-14
25
0
0
0
0
0
2
1
4
25
0
0
0
0
3
7
-14
38
-21
0
0
0
0
0
0
0
-38
48
0
0
0
0
0
0
1
-3
9
0
0
0
0
0
0
-44
-16
31
0
0
0
0
-1
0
-2
-3
42
0
0
0
0
0
0
0
-8
-5
0
0
0
0
0
0
-6
2
2
0
0
0
0
0
0
1
9
-30
0
0
0
0
0
0
-6
4
-12
0
0
0
0
0
-1
0
-2
4
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
2
13
-10
-16
0
0
0
0
-35
15
-17
-6
31
-1
0
0
0
0
0
0
-42
21
16
0
0
0
0
1
5
37
12
-6
0
0
0
0
1
6
-47
4
8
0
0
0
-21
19
-10
24
51
-15
0
0
0
0
0
-5
-29
-36
9
0
0
0
0
0
-6
8
15
9
0
0
0
0
-11
3
-12
13
-28
0
0
0
0
-1
-11
16
-22
15
0
0
0
0
-1
0
-2
9
0
0
0
0
0
0
0
-13
-4
-4
0
0
0
0
-1
1
-1
8
-25
0
0
0
3
-1
11
-2
30
-11
0
0
0
-1
0
8
-27
-17
0
0
0
0
0
0
0
11
18
-13
0
0
0
-3
-21
40
54
7
-20
0
0
0
3
1
1
18
18
0
0
0
-2
0
0
0
-12
21
0
0
0
0
0
0
-3
2
-3
0
0
0
0
0
0
6
-71
60
0
0
0
0
0
0
0
14
-48
0
0
0
0
0
0
2
-29
22
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-22
-3
34
0
0
0
0
0
0
3
9
-4
0
0
0
6
0
0
-1
-6
-11
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
1
-15
-2
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
1
-3
-24
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
19
7
-1
0
0
0
0
0
0
3
-11
31
-6
0
0
-10
0
0
0
3
-12
25
0
0
0
0
0
1
4
0
32
0
0
0
0
0
-3
20
5
-44
0
0
0
1
0
-1
-6
-13
22
0
0
15
0
0
17
-9
11
-18
0
0
0
0
0
0
4
-32
-47
0
0
0
0
0
-6
8
-9
-25
0
0
0
0
0
-2
12
-18
37
0
0
2
0
0
2
10
-15
-19
0
0
0
0
0
-1
2
3
-5
0
0
0
0
0
1
0
-7
-23
0
0
0
0
0
7
23
18
-38
0
0
2
0
0
4
8
-24
9
0
0
0
0
0
6
20
-15
-30
0
0
-2
1
0
17
-40
64
-24
0
0
0
0
-3
-2
16
8
0
0
0
0
0
0
0
38
23
0
0
0
0
0
8
1
-3
17
0
0
0
0
0
0
-7
-8
24
0
0
0
0
0
0
-3
-4
-2
0
0
0
0
0
0
0
-3
-20
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
-3
10
1
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
7
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
3
-1
3
2
0
0
0
0
-1
0
2
10
-14
-7
0
0
0
0
0
1
-28
34
-13
0
0
0
0
-2
-1
-12
9
1
0
0
0
0
0
-2
5
1
3
0
0
0
1
0
-8
0
-32
31
0
0
0
0
0
0
4
-37
-12
0
0
0
2
0
0
-9
4
26
0
0
0
0
0
2
-2
-2
-4
0
0
0
0
-3
0
1
-29
18
0
0
0
0
0
0
-3
-2
-18
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
-1
0
-33
0
0
0
1
0
0
2
-13
-23
0
0
0
0
0
0
1
10
-8
0
0
0
0
0
7
13
4
-41
0
0
0
0
1
-16
0
-33
14
0
0
0
-1
-1
-25
-3
42
0
0
0
0
0
0
-9
-29
13
0
0
0
0
0
0
-1
7
-56
0
0
-3
0
0
0
16
-54
29
0
0
0
0
0
-1
3
-1
-25
0
0
0
0
0
0
8
4
46
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-9
1
-26
35
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
6
0
0
-3
4
-11
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
-3
1
0
0
0
0
0
0
0
1
13
0
0
0
0
0
2
29
-22
6
0
0
0
0
0
0
33
92
-6
-7
0
0
0
0
-1
-1
-12
-5
23
0
0
0
0
0
-7
-9
27
-28
0
0
0
0
3
9
-4
11
1
0
0
0
0
0
6
-2
6
-12
0
0
0
0
0
27
-26
1
-12
0
0
0
0
2
8
-7
-11
-35
0
-2
0
-1
-1
-15
43
-10
-27
0
0
0
0
0
15
-4
2
13
0
0
0
0
0
0
-7
21
0
0
0
0
0
0
-12
-1
7
-45
0
-3
0
0
0
-21
2
-1
-10
0
0
0
0
0
-4
3
-44
-6
0
0
0
0
2
4
-36
-9
0
0
0
0
0
-2
21
-26
-1
-35
0
-1
-1
0
13
-13
-25
21
-9
0
0
0
-18
41
-24
4
-8
0
0
0
0
0
-4
-3
15
24
0
0
0
0
0
0
6
-15
45
0
0
0
0
0
-1
10
-26
32
0
0
0
0
2
-9
9
-24
-12
0
0
0
0
0
0
-13
-6
-1
0
0
0
0
-1
-8
0
2
13
0
0
0
0
0
0
-4
-9
7
0
0
0
0
12
31
-52
-8
22
0
0
0
0
0
0
-9
-16
26
0
0
0
0
0
-1
15
12
-7
0
0
0
0
1
0
22
12
-23
0
0
0
0
0
-12
6
13
3
0
0
0
0
0
0
1
-4
-29
0
0
0
0
2
2
1
-24
16
0
0
0
0
1
1
-1
1
-21
0
0
0
0
-13
25
-24
-36
9
2
0
0
0
0
0
-17
24
-28
11
0
0
0
0
2
-4
-48
36
17
0
0
0
0
0
0
-39
25
-3
0
0
0
-2
-1
23
14
42
-48
0
0
0
0
0
0
-1
4
7
0
0
0
2
-3
0
0
15
17
0
0
0
0
0
-2
1
-19
9
0
0
0
14
-2
3
71
8
-21
4
0
0
0
-3
26
12
17
-11
-5
0
0
0
6
17
-16
21
6
6
0
0
0
-4
28
24
61
-45
5
0
0
-12
-1
-12
-27
11
9
10
0
0
0
-1
0
-61
26
16
-5
0
0
-10
0
11
-18
31
-26
4
0
0
-8
15
51
12
-24
-55
-3
0
0
0
0
-1
20
2
0
0
0
6
0
-1
-7
6
30
0
0
0
0
0
0
0
10
16
0
0
0
0
0
2
-4
-27
33
0
0
0
0
0
-10
0
25
37
0
0
0
0
0
-3
-5
-1
49
0
0
0
0
0
0
0
-3
-28
0
0
0
0
0
0
-16
35
-48
0
0
0
0
0
0
0
-34
39
0
0
0
20
0
0
-8
3
-24
0
0
0
0
0
0
0
-56
14
0
0
0
2
0
-1
-3
40
-29
0
0
0
0
0
0
0
-11
62
0
0
0
1
0
0
-4
0
17
0
0
0
0
0
0
0
-3
-30
0
0
0
3
0
4
16
-52
-29
0
0
0
0
0
0
2
-2
20
-9
0
0
-13
0
-3
-3
7
-9
5
0
0
0
0
0
0
0
-29
22
0
0
0
0
0
-9
-14
23
-2
0
0
0
0
0
-4
-8
33
3
0
0
0
0
1
1
1
-22
12
0
0
0
0
0
0
2
2
13
0
0
0
0
0
0
0
16
25
0
0
0
0
2
3
17
25
-14
-5
0
41
0
-3
-6
-25
23
-35
-13
0
0
0
0
2
-45
75
-50
0
0
0
0
3
-39
-45
-11
-19
12
0
0
0
0
0
-5
-25
9
-3
0
-25
0
0
-21
14
43
16
-22
0
0
0
2
0
-29
-32
-7
16
0
47
0
-2
-13
-60
37
-36
-12
0
0
2
-3
-3
1
51
0
0
0
0
0
0
-2
-15
47
0
0
0
0
0
0
4
-26
59
0
0
0
0
0
0
0
-5
58
0
0
0
0
0
-1
-2
22
-33
0
0
0
0
0
0
-4
-23
4
0
0
0
0
0
-2
3
1
2
0
0
0
0
0
0
-19
7
0
0
0
0
0
0
0
3
1
-39
0
0
0
0
0
0
0
1
26
0
0
0
0
0
1
-1
-4
-9
0
0
0
0
0
-1
-2
39
-5
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
-3
6
-16
0
0
0
0
0
0
2
-3
4
0
0
0
0
-2
0
-1
11
-19
-5
0
0
0
0
0
0
-20
85
-10
0
0
0
0
0
1
-1
-27
2
0
0
0
0
0
0
-5
-35
36
0
0
0
0
0
-2
7
23
-11
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
2
-11
0
0
0
0
0
0
1
0
-24
0
0
0
0
0
3
-45
34
-28
6
0
0
0
0
-1
34
-16
-33
-5
0
0
0
-10
0
-20
-44
-20
4
0
0
0
0
-3
-28
14
-13
-2
0
0
0
2
3
8
10
3
-7
0
0
0
0
0
3
-15
-27
19
0
0
2
0
0
9
-25
-40
16
0
0
0
15
-26
8
-45
2
3
0
0
0
3
15
11
-7
0
0
0
0
0
0
1
4
15
0
0
0
0
0
0
0
38
-25
0
0
30
0
0
-1
-5
-11
68
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
-8
0
33
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
-49
12
0
0
0
0
0
9
1
19
-14
0
0
0
0
0
0
-2
-63
55
0
0
0
0
0
-4
1
-51
0
0
0
-3
0
0
2
-2
-18
9
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
2
9
-3
0
0
0
0
0
0
0
12
2
0
0
0
0
0
1
1
10
-36
0
0
0
0
0
0
3
20
19
-17
0
0
3
0
0
-10
59
62
-55
0
0
0
0
0
0
-8
5
12
0
17
0
0
0
-27
-50
3
0
0
0
0
0
0
0
0
1
-20
0
0
0
0
0
-1
-9
0
35
0
0
0
0
0
0
0
3
-24
0
0
0
0
0
0
-10
0
66
0
0
0
0
-1
27
-9
33
-13
-4
0
0
0
3
-49
-16
-12
-24
12
0
0
0
0
-3
1
-56
-30
-7
-77
0
0
-2
4
-18
13
-19
4
0
0
0
1
3
46
-7
-56
-6
0
0
0
0
-3
-19
-8
-45
62
0
0
0
2
0
12
0
10
-44
-62
-3
2
-24
-48
-40
47
-28
25
0
0
12
-3
19
-33
-2
0
0
0
0
0
2
-15
-4
0
0
0
0
0
-3
-3
-19
-47
80
0
0
0
0
0
1
-6
-11
-30
0
0
0
0
-6
3
-6
5
26
0
0
0
0
0
-8
1
19
-28
0
0
0
0
-1
1
-1
7
12
0
0
0
0
0
-2
-4
19
-23
0
0
0
0
15
5
22
-28
-13
0
0
0
0
0
-4
4
0
51
0
0
0
0
0
2
-13
-38
30
0
0
0
0
0
0
-12
20
38
0
0
0
0
2
3
-10
-49
12
0
0
0
0
0
0
1
-1
37
0
0
0
0
0
4
-1
18
5
0
0
0
0
0
9
-1
-27
-8
0
0
0
0
-22
-6
29
52
47
-6
0
0
0
0
-1
9
-25
43
-17
0
0
0
-1
0
-1
-7
-3
11
0
0
0
0
0
7
23
-11
2
0
0
0
-7
-2
-3
-1
-1
-5
0
0
0
0
0
0
-16
-22
-2
0
0
0
0
8
-1
-1
-10
-2
0
0
0
0
1
-3
-13
-9
-16
0
0
0
-2
9
8
4
-3
-19
9
0
0
0
0
-1
37
10
-28
-10
0
0
0
1
0
-36
21
-28
21
0
0
0
0
-2
28
29
-42
0
0
0
4
6
14
-2
28
-2
-2
0
0
2
0
9
12
-31
15
5
0
0
-1
-3
0
-13
-49
4
-2
0
0
18
-12
-38
-45
22
9
5
0
0
-1
-1
-2
-12
31
0
0
0
-36
0
1
1
-13
48
0
0
0
0
-6
0
2
-6
-30
0
0
0
7
0
0
-39
17
19
0
0
0
0
0
1
-4
0
-19
0
0
0
0
0
0
-16
-1
21
0
0
0
0
0
0
-1
-3
-43
0
0
0
0
0
-3
4
-30
36
0
0
0
0
0
0
-1
24
1
0
0
0
-29
0
4
-3
22
17
0
0
0
0
0
0
0
-25
2
0
0
0
-6
0
0
7
-23
-25
0
0
0
0
0
0
0
4
-21
0
0
0
-2
0
0
0
-9
17
0
0
0
0
0
-2
-3
11
6
0
0
0
0
0
0
-9
0
53
0
0
0
0
0
0
0
18
-45
0
0
0
5
0
3
0
-6
21
-41
0
0
0
0
0
1
-23
22
7
0
0
0
0
2
2
26
-18
-23
0
0
0
0
0
6
-10
21
-12
0
0
-11
0
0
2
2
27
-37
0
0
0
0
0
0
2
-2
-1
0
0
0
0
0
-8
1
-10
14
0
0
0
0
0
-1
5
33
-35
-6
0
7
0
0
3
-3
31
-40
-21
0
0
0
0
-1
-10
0
-41
59
0
0
0
0
-6
-29
-15
11
8
0
0
0
0
-1
4
-18
12
9
0
15
0
0
3
-37
54
-26
-29
0
0
0
0
-2
29
-25
-2
-20
0
-33
0
-8
-19
-23
56
13
-26
0
0
17
-32
51
29
-14
0
0
0
0
0
-9
-2
0
12
0
0
0
0
0
0
-17
6
-12
0
0
0
0
0
0
-18
8
33
0
0
0
0
0
-3
26
-9
-4
0
0
0
0
0
-1
6
-14
28
0
0
0
0
0
0
0
-15
18
0
0
0
0
0
-12
13
-12
11
0
0
0
0
-5
-11
2
15
-4
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
1
5
-35
0
0
0
0
0
0
-3
-35
38
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-1
-6
-1
7
0
0
0
0
0
0
0
12
-37
0
0
0
0
0
0
0
9
-8
0
0
0
0
9
25
-7
-19
12
-4
0
0
0
-1
1
-7
26
28
-1
0
0
0
0
-4
1
-26
34
9
0
0
0
0
-1
4
-32
33
-46
0
0
0
6
-1
6
3
12
-26
0
0
0
-1
0
0
-12
-24
16
0
0
0
-2
0
0
7
1
-7
0
0
0
0
-11
1
-4
8
2
0
0
0
16
3
-20
-37
-31
2
-7
0
0
0
-2
-2
-32
76
23
-9
0
0
0
-6
-2
9
-20
-25
37
0
0
0
0
-1
-9
-24
-15
50
0
0
11
-2
7
-4
5
-48
0
0
0
0
0
-4
3
1
5
-22
0
0
0
3
3
-8
2
-19
-1
0
0
-12
-46
-10
28
-64
-7
27
0
0
8
37
33
-22
3
0
0
0
12
5
-1
10
-5
22
0
0
0
0
27
-45
-6
-45
24
0
0
27
-7
-20
-13
8
-25
25
0
0
0
0
50
30
42
34
-35
0
0
0
9
0
-16
-37
-9
7
0
0
0
0
-11
6
22
2
-55
0
0
4
4
4
-33
-76
1
17
0
0
0
0
20
-31
-1
4
-17
0
0
0
-23
0
-22
22
30
-10
0
0
0
0
-10
16
-54
-24
2
0
0
24
-3
-2
7
1
-42
-9
0
0
0
0
-4
30
46
-1
-60
0
0
0
-24
0
-13
-40
-31
19
0
0
0
0
-33
-28
23
16
56
0
0
24
-1
4
-23
2
-36
-22
0
0
0
0
18
-17
-8
77
2
-4
0
0
25
-1
18
-17
-26
-20
21
0
0
0
-6
14
0
25
20
-17
0
-5
0
6
34
4
-50
3
-28
0
0
0
55
9
40
-18
-36
-7
0
0
-20
-9
-16
-37
-1
11
-20
0
0
0
-2
-3
-22
-12
21
8
0
-10
2
-1
7
-83
-13
14
3
0
0
0
3
-15
-11
46
3
-27
5
0
9
-2
-12
25
-33
-5
-16
-19
0
0
-6
-2
-38
-24
21
-58
9
-5
-4
-9
-14
24
-63
8
-24
13
0
0
-17
8
16
-1
8
-6
4
0
11
-3
-19
-38
-16
20
-6
-12
0
0
7
-18
-16
-30
1
-18
9
-82
-10
15
5
12
-58
-19
-25
0
0
0
30
11
17
0
3
0
0
0
0
0
-5
-40
-10
25
0
0
0
0
0
21
-10
-27
23
0
0
0
0
0
-8
-20
15
30
0
0
0
0
0
7
-17
36
-2
0
0
0
0
0
15
-27
14
14
0
0
0
0
-1
-5
7
-10
45
0
0
0
0
0
-8
17
-65
44
0
0
0
0
18
8
-10
-40
5
0
0
0
0
0
-3
5
14
-10
0
0
0
0
0
6
1
37
-39
0
0
0
0
0
3
16
50
-16
0
0
0
0
-2
-6
30
11
4
0
0
0
0
0
0
22
1
1
0
0
0
0
-2
7
-8
-52
15
0
0
0
0
0
-8
39
-47
29
0
0
0
0
-29
3
18
-16
19
0
0
0
0
0
2
-7
-55
30
0
0
0
0
0
1
7
-58
37
0
0
0
0
0
0
25
-48
-26
0
0
0
0
-11
21
19
-20
11
0
0
0
0
0
0
1
-11
-26
0
0
0
0
0
0
-15
-9
15
0
0
0
0
0
-3
4
12
18
0
0
0
0
-10
-11
-7
-5
19
0
0
0
0
0
1
-3
-12
22
0
0
0
0
1
0
-10
-15
22
0
0
0
0
0
2
-7
39
31
0
0
0
0
30
-39
1
9
13
0
0
0
0
0
-1
22
1
14
0
0
0
0
19
-9
-13
42
-1
0
0
0
0
-7
-10
-28
30
25
0
0
0
0
0
-2
-16
15
12
0
0
0
-42
0
0
-1
-20
19
0
0
0
0
0
0
1
1
-5
0
0
0
0
0
1
13
-18
8
0
0
0
0
0
0
6
-16
-1
0
0
0
-3
0
0
-1
-18
41
0
0
0
0
0
0
-2
-19
-1
0
0
0
0
0
6
-7
-14
2
0
0
0
0
0
0
0
34
-6
0
0
0
-37
0
0
2
25
4
0
0
0
0
0
0
-1
27
-16
0
0
0
-1
0
-3
2
-5
10
0
0
0
0
0
0
-4
22
12
0
0
0
0
0
0
1
-6
4
0
0
0
0
0
0
7
-50
-13
0
0
0
0
0
1
-13
12
17
0
0
0
0
0
0
6
13
3
0
0
0
25
0
0
2
-40
15
0
0
0
0
0
0
1
-22
36
0
0
0
0
0
0
0
-22
63
0
0
0
0
0
0
-1
3
-8
0
0
0
16
0
0
1
-40
24
0
0
0
0
0
0
0
47
-44
0
0
0
0
0
0
1
-8
-2
0
0
0
0
0
0
0
24
1
0
0
0
18
0
0
-1
27
-29
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
-1
-1
33
-4
0
0
0
0
0
0
0
-29
9
0
0
0
-28
0
0
-8
4
11
0
0
0
0
0
0
3
-16
11
0
0
0
25
0
-18
-23
-2
9
0
0
0
0
0
1
11
-12
9
0
0
0
0
0
0
22
26
1
0
0
0
0
0
0
9
-23
29
0
0
0
0
0
-6
-3
-20
8
0
0
0
0
0
0
11
-44
48
0
0
0
0
0
0
15
-31
17
0
0
0
0
0
0
7
-29
-3
0
0
0
0
0
-2
-10
-2
9
0
0
0
0
0
0
-24
-1
47
0
0
0
0
0
0
-1
-18
7
0
0
0
0
0
0
-8
21
-34
0
0
0
0
0
-1
-4
30
-15
0
0
0
0
0
0
2
-69
56
0
0
0
0
0
0
0
-5
28
0
0
0
0
0
0
0
3
-35
0
0
0
0
0
-2
-14
22
7
0
0
0
0
0
0
-1
-38
16
0
0
0
0
0
0
9
-26
9
0
0
0
0
0
0
1
7
-29
0
0
0
0
0
0
-18
21
25
0
0
0
0
0
1
-10
14
-14
0
0
0
0
0
0
-5
7
18
0
0
0
0
0
0
0
17
-19
0
0
0
0
0
0
3
4
-40
0
0
0
0
-1
2
16
-37
12
0
0
0
0
0
0
0
7
44
0
0
0
0
0
0
-19
-26
70
0
0
0
0
0
0
4
-1
10
0
0
0
0
0
1
-1
-39
25
0
0
0
0
0
0
11
-23
21
0
0
0
0
0
0
-1
14
3
0
0
0
0
3
-11
-62
-1
29
0
0
0
0
0
-4
17
-11
9
0
0
0
0
0
0
-31
-27
39
0
0
0
0
0
0
-4
-13
-17
0
0
-4
0
0
0
-30
10
25
0
0
0
0
0
0
30
3
-36
0
0
0
0
0
0
-22
9
30
0
0
0
0
0
0
12
17
11
0
0
-1
0
0
0
9
7
-10
0
0
0
0
0
-1
20
19
7
0
0
0
0
0
0
23
-28
25
0
0
0
0
0
0
9
15
24
0
0
5
0
0
1
-1
-41
-19
0
0
0
0
0
0
-17
-13
23
0
0
0
0
0
0
17
-28
-3
0
0
0
0
0
0
10
-44
55
0
0
0
0
0
0
-30
8
3
0
0
0
0
0
0
4
-19
-12
0
0
0
1
0
0
-7
-23
11
0
0
0
0
0
-1
8
19
8
0
0
-7
0
0
-1
19
-12
-10
0
0
0
0
0
0
-16
42
-26
0
0
0
0
0
0
-30
-6
46
0
0
0
0
0
0
-25
-22
30
0
0
3
0
0
0
-8
-8
18
0
0
0
0
0
1
4
-5
9
0
0
0
0
0
0
3
19
-8
0
0
0
0
0
0
-23
19
13
0
0
-15
0
0
-3
-1
55
5
0
0
0
0
0
0
17
-6
-13
0
0
0
0
0
0
2
28
-38
0
0
0
0
0
2
9
10
-26
0
0
34
-7
1
-6
6
-23
-8
0
0
0
0
-4
-24
-36
1
63
0
0
0
0
0
1
-9
-1
2
0
0
0
0
0
0
37
-28
15
0
0
0
0
0
0
8
-41
23
0
0
0
0
0
-1
1
-2
13
0
0
0
0
0
0
16
-18
25
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
19
-17
-8
0
0
0
0
0
0
0
-46
46
0
0
0
0
0
0
-2
-16
41
0
0
0
0
0
0
-1
-22
9
0
0
0
0
0
1
5
-9
11
0
0
0
0
0
0
-3
8
-13
0
0
0
0
0
0
-7
-13
28
0
0
0
0
0
0
1
18
5
0
0
0
0
0
2
-8
-13
44
0
0
0
0
3
-2
10
-3
-18
0
0
0
0
0
2
0
-4
3
0
0
0
0
0
3
1
-16
7
0
0
0
0
0
3
-11
5
-7
0
0
0
0
0
0
0
13
16
0
0
0
0
0
0
1
-15
-17
0
0
0
0
0
0
-1
1
-2
0
0
0
0
0
8
-7
-4
0
0
0
0
0
1
-7
-19
-7
24
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
1
0
39
-40
0
0
0
0
0
0
9
25
-48
0
0
0
0
0
0
6
7
6
0
0
0
0
0
0
2
-18
16
0
0
0
0
0
0
6
0
26
0
0
0
0
0
0
29
38
-18
0
0
0
0
0
0
13
19
-3
0
0
0
0
0
0
-5
8
21
0
0
0
0
0
0
8
-3
14
0
0
0
0
0
-2
12
-17
26
0
0
0
0
0
0
1
-1
46
0
0
0
0
0
0
1
-17
28
0
0
0
0
0
0
-3
1
23
0
0
0
0
0
1
-6
-12
12
0
0
0
0
0
0
1
-2
-12
0
0
0
0
0
2
-1
20
-3
0
0
0
0
0
0
2
4
-20
0
0
0
0
0
0
-3
-21
24
0
0
0
0
0
0
-3
1
8
0
0
0
0
0
0
-6
-3
17
0
0
0
0
0
0
0
4
18
0
0
0
0
0
6
17
-24
-55
0
0
0
0
0
0
8
27
-20
0
0
0
1
0
0
1
7
9
0
0
0
0
0
0
-2
-11
-10
0
0
0
0
0
0
-1
-20
19
0
0
0
0
0
0
3
-5
10
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
1
1
2
0
0
0
0
0
1
-2
-15
-7
0
0
0
-3
0
0
2
-16
16
0
0
0
0
0
0
-4
8
18
0
0
0
0
0
0
-2
-20
27
0
0
0
0
0
0
0
-10
-13
0
0
0
1
0
0
2
-9
17
0
0
0
0
0
0
-4
0
-36
0
0
0
0
0
3
15
-51
1
0
0
0
0
1
0
4
-8
10
0
0
0
0
0
0
-6
-8
42
0
0
0
0
0
1
0
-16
7
0
0
0
0
0
-1
-3
25
-4
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
-2
3
-59
0
0
0
0
0
0
0
2
-10
0
0
0
0
0
4
4
0
-5
0
0
0
0
1
-3
0
28
-15
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
-26
10
0
0
0
0
0
2
2
-28
18
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-3
-5
0
0
0
0
0
1
0
4
40
0
0
0
0
0
0
0
-3
8
0
0
0
0
3
0
0
15
-4
0
0
0
0
0
0
-1
-23
12
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
-7
-10
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
0
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
2
0
0
0
0
0
-4
0
17
-19
0
0
0
0
0
1
3
-13
-13
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
-1
0
-10
11
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
3
16
3
0
0
0
0
0
0
0
-28
-36
0
0
0
0
0
20
3
-5
18
0
0
0
0
0
-4
-33
8
35
0
0
0
0
0
4
19
-15
1
0
0
-1
0
0
27
-29
-1
0
0
0
0
0
0
1
-2
-48
20
0
0
0
0
0
0
0
-21
9
0
0
0
0
0
3
10
1
-14
0
0
0
0
0
3
-2
-19
28
0
0
0
0
0
3
34
21
-47
0
0
0
0
0
0
-38
-6
34
0
0
0
0
0
0
9
-2
25
0
0
0
0
0
4
39
9
-38
0
0
0
0
0
2
-6
-23
33
0
0
0
0
0
-2
11
-11
14
0
0
0
0
0
0
49
-2
-7
0
0
0
0
0
-17
10
1
-18
0
0
0
0
0
23
8
58
-18
0
0
0
2
0
-7
-1
-17
44
0
0
0
0
0
2
-5
3
24
0
0
-1
0
0
8
-33
19
1
0
0
0
0
0
4
16
14
-31
0
0
0
0
0
4
27
-21
-11
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-9
-3
40
-7
0
0
0
0
0
14
12
-50
15
0
0
0
0
0
-10
-35
50
10
0
0
0
0
0
0
-20
1
0
0
0
-1
0
0
-1
-20
-69
2
0
0
0
0
0
-11
5
15
-29
0
0
0
0
0
1
9
-10
9
0
0
0
0
0
-19
-4
-26
23
0
0
1
0
-1
-15
-33
9
-20
0
0
0
0
21
3
2
-14
4
0
0
0
0
0
-3
1
-16
33
0
0
0
0
-1
3
-15
75
-48
0
0
0
0
-4
8
37
-23
36
0
0
0
0
0
-10
-8
-1
-22
0
0
0
0
0
0
1
36
-26
0
0
0
0
0
0
3
-18
24
0
0
0
0
0
-3
-18
34
2
0
0
0
0
1
9
-3
-4
7
0
0
0
0
0
0
-4
-54
5
0
0
0
0
0
-11
-1
-6
33
0
0
0
0
0
-3
7
-16
-16
0
0
0
0
0
-3
0
-2
7
0
0
0
0
0
-2
-13
8
29
0
0
0
0
0
-1
-1
-1
20
0
0
0
0
-2
0
1
-2
16
0
0
0
0
-20
-16
-4
20
37
0
0
0
0
0
0
-4
-9
3
0
0
0
0
0
0
1
26
-2
0
0
0
0
0
1
3
-4
-34
0
0
0
0
0
0
2
-1
7
0
0
0
0
0
0
-3
11
29
0
0
0
0
0
0
2
-3
-2
0
0
0
0
0
0
4
-10
-10
0
0
0
0
1
-2
-1
19
-7
0
0
0
0
0
0
-2
-19
23
0
0
0
0
0
0
0
-17
4
0
0
0
0
0
0
1
35
5
0
0
0
0
-6
-8
-2
-3
6
0
0
0
0
0
0
0
-26
3
0
0
0
0
1
1
0
-19
44
0
0
0
0
6
14
61
-51
13
0
0
0
0
0
0
-1
-33
9
0
0
0
14
0
0
4
-31
12
0
0
0
0
0
0
-1
43
-16
0
0
0
0
0
0
-4
44
1
0
0
0
0
0
0
0
-9
6
0
0
0
0
0
-2
2
-1
30
0
0
0
0
0
0
0
-14
25
0
0
0
0
0
1
-3
-40
16
0
0
0
0
0
0
0
4
-13
0
0
0
0
0
0
0
-34
24
0
0
0
0
0
0
-1
-33
46
0
0
0
0
0
0
-6
24
30
0
0
0
0
0
0
1
0
5
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
-7
15
0
0
0
0
0
0
1
-8
22
0
0
0
0
0
0
-2
-37
33
0
0
0
15
0
-1
2
1
-15
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
-10
7
19
0
0
0
0
0
0
-1
0
43
0
0
0
-3
0
0
0
-10
24
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
-16
-8
0
0
0
0
0
0
6
-10
41
0
0
0
0
0
0
0
15
8
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
-5
4
0
0
0
0
0
0
0
-10
31
0
0
0
4
0
0
3
-48
27
0
0
0
0
0
0
-2
6
0
0
0
0
-3
0
0
27
9
-22
0
0
0
0
0
3
9
8
10
0
0
0
0
0
-2
0
-5
10
0
0
0
0
0
8
0
-20
-10
0
0
0
0
0
0
32
-19
-25
0
0
0
0
0
0
0
17
-26
0
0
0
0
0
0
9
-39
12
0
0
0
0
0
0
0
-4
11
0
0
0
0
0
-1
-7
20
1
0
0
0
0
0
1
-4
-19
51
0
0
0
0
0
0
-1
7
-16
0
0
0
0
0
0
0
-7
35
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
20
0
0
0
0
0
-1
0
-2
-23
0
0
0
0
0
-1
2
11
-6
0
0
0
0
-2
-4
-1
-5
52
0
0
0
0
0
1
1
12
-13
0
0
0
0
0
0
1
2
-2
0
0
0
0
0
0
-8
-7
16
0
0
0
0
-2
1
0
-16
23
0
0
0
0
0
0
-7
-13
37
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
-2
-3
-10
0
0
0
0
0
0
1
2
26
0
0
0
0
0
1
-2
-12
33
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-4
-6
23
7
0
0
0
0
0
0
1
11
9
0
0
0
0
0
-2
-16
14
-15
0
0
0
0
0
-1
-32
47
26
0
0
0
0
0
3
1
-23
4
0
0
0
0
0
4
-5
19
-9
0
0
-6
0
0
0
29
-1
26
0
0
0
0
0
0
-3
-24
0
0
0
0
0
0
-8
-22
-7
31
0
0
0
0
0
0
1
-12
-5
0
0
0
0
0
0
11
12
-16
0
0
0
0
0
2
18
0
-30
0
0
0
0
0
1
15
-11
28
0
0
0
0
0
-2
1
-40
19
0
0
2
0
0
-2
4
25
-20
0
0
0
0
0
0
-3
25
-9
0
0
0
0
0
0
-7
1
3
0
0
0
0
0
-2
0
-20
9
0
0
0
0
0
0
1
3
22
0
0
0
0
0
3
2
-16
19
0
0
0
0
0
0
7
-56
51
0
0
0
0
0
0
1
2
-2
0
0
0
0
0
4
18
-16
-6
0
0
0
0
0
1
3
-6
1
0
0
0
0
0
0
6
-28
40
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-9
-38
4
0
0
0
0
0
-10
-11
28
-25
0
0
0
-3
0
0
-2
38
2
0
0
0
0
0
0
0
-10
12
0
0
1
0
0
1
0
-13
1
0
0
0
0
0
0
-2
17
-9
0
0
0
0
0
0
-10
9
34
0
0
0
0
0
0
1
-34
0
0
0
-14
1
0
1
-3
-3
-10
0
0
0
0
3
-2
-2
-8
21
0
0
0
0
0
7
0
-11
5
0
0
0
0
0
0
0
-10
19
0
0
0
0
0
0
-3
-7
12
0
0
0
0
0
0
-2
1
-6
0
0
0
0
0
0
0
20
-54
0
0
0
0
0
0
0
-2
-29
0
0
0
0
0
0
0
6
-17
0
0
0
0
1
1
0
1
38
0
0
0
0
0
0
0
9
33
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
-11
28
0
0
0
0
0
0
-1
0
8
0
0
0
0
0
0
-1
0
40
0
0
0
0
0
0
0
2
-27
0
0
0
0
0
0
-2
9
-31
0
0
0
0
0
1
1
1
-15
0
0
0
0
0
0
-2
-44
32
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
-1
4
-4
0
0
0
0
0
0
0
9
-4
0
0
0
0
0
0
0
-2
-44
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
-8
2
0
0
0
0
0
1
-1
-2
13
-5
0
0
0
0
0
0
0
-13
24
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
-2
0
-16
0
0
0
0
0
0
0
6
3
0
0
0
0
0
-1
0
-2
-6
0
0
0
0
0
-1
-21
-14
12
0
0
0
0
0
0
1
-28
74
0
0
0
0
0
0
-1
-71
31
0
0
0
0
0
0
0
-7
41
0
0
0
0
0
0
0
-34
58
0
0
0
0
0
0
4
0
28
0
0
0
0
0
0
0
13
-17
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
-6
9
0
0
0
0
0
4
0
-4
48
0
0
0
0
0
0
1
-7
21
0
0
0
0
0
0
-1
0
-13
0
0
0
0
0
0
0
-3
19
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
-2
18
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
-2
1
12
0
0
0
-1
0
0
2
2
53
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
4
-1
23
0
0
0
0
0
0
-3
7
11
0
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
1
0
0
0
0
0
-1
-3
0
-2
0
0
0
3
0
0
0
-2
-6
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
-11
-1
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
1
-1
-2
0
0
0
0
-1
0
-62
-2
16
0
0
0
0
2
-1
-11
-22
11
0
0
0
0
0
-2
3
-21
16
0
0
0
0
0
-3
-2
-20
57
0
0
0
0
0
0
0
-9
23
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-11
22
0
0
0
0
0
0
0
-11
8
0
0
0
0
0
0
0
-19
4
0
0
0
0
0
-1
-2
-16
-3
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
6
2
4
-23
0
0
0
0
0
0
-1
-4
43
0
0
0
0
0
0
0
3
24
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
-2
13
0
0
0
0
-1
-1
1
0
10
0
0
0
0
-12
1
0
0
28
0
0
0
0
0
0
3
-8
5
0
0
0
0
0
0
-1
4
7
0
0
0
0
0
0
-12
-9
24
0
0
0
0
0
0
3
0
-35
0
0
0
0
0
0
0
3
-19
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-1
0
1
-5
0
0
0
0
6
2
1
0
-22
0
0
0
0
0
0
0
-8
31
0
0
0
0
0
0
-1
-1
-6
0
0
0
0
0
0
-1
1
-6
0
0
0
0
2
-4
3
-4
25
0
0
0
0
-2
0
0
-6
14
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
27
-21
-7
6
0
0
0
0
-6
37
3
-69
23
0
0
0
-2
0
5
8
13
2
0
0
0
0
0
12
-3
-13
36
0
0
4
0
0
0
-38
36
-17
0
0
0
0
0
13
19
-17
6
0
0
0
0
0
9
-22
8
12
0
0
0
0
0
-3
3
4
13
0
0
0
0
0
6
-10
-36
37
0
0
0
0
0
-5
-22
39
14
0
0
0
1
0
-4
4
-11
-21
0
0
0
0
0
2
3
6
-40
0
0
1
0
0
-7
-13
10
27
0
0
0
0
0
14
-9
8
-36
0
0
0
0
0
-1
7
0
-8
0
0
0
0
0
3
2
3
8
0
0
0
0
-1
-3
8
-13
11
0
0
0
0
2
-32
50
-12
17
0
0
0
4
0
-1
17
-27
-13
0
0
0
0
0
0
-12
11
30
0
0
-2
0
0
0
18
0
-50
0
0
0
0
-3
13
1
8
2
0
0
0
0
0
-24
-3
-2
16
0
0
0
0
0
-2
-3
0
4
0
0
0
0
0
1
4
2
-28
0
0
0
0
-6
-22
31
37
-16
0
0
0
0
0
-4
10
-4
3
0
0
0
0
0
-26
8
6
22
0
0
-8
0
0
-9
-5
7
-6
0
0
0
0
-6
9
-1
1
-47
0
0
0
-1
0
-9
10
-13
-30
0
0
0
0
0
-32
10
-45
45
0
0
-2
-1
0
16
19
-20
-12
0
0
0
0
30
-17
-3
-24
31
0
0
0
0
0
1
3
-11
10
0
0
0
0
2
1
4
3
18
0
0
0
0
0
1
-19
-16
3
0
0
0
0
0
28
-13
-28
31
0
0
0
0
0
0
-5
10
-7
0
0
0
0
0
1
6
9
4
0
0
0
0
0
0
34
-12
0
0
0
0
0
-28
3
0
-5
23
0
0
0
0
0
0
1
-10
13
0
0
0
0
0
2
2
37
6
0
0
0
0
0
4
24
3
-44
0
0
0
0
0
-2
-1
-2
-1
0
0
0
0
0
0
0
-21
-15
0
0
0
0
2
3
0
6
-12
0
0
0
0
-2
0
30
5
12
0
0
0
0
19
40
-24
27
2
6
0
0
0
0
0
4
-61
1
3
0
0
0
0
1
7
-26
27
-6
0
0
0
0
0
1
-31
23
-3
0
0
0
0
1
-2
-3
7
-2
0
0
0
0
0
-5
4
-13
5
0
0
0
-4
-1
0
0
-3
-9
0
0
0
0
1
-4
-6
17
-1
0
0
0
-6
3
-16
7
13
4
0
0
0
0
0
0
11
-9
13
0
0
0
0
-1
0
-5
46
-15
0
0
0
0
2
-12
-18
15
-9
0
0
0
-1
0
-11
7
40
9
0
0
0
0
0
6
7
-27
0
0
0
0
-2
-1
0
-73
35
19
0
0
0
2
-19
27
-8
2
-4
0
0
0
0
2
-18
24
-3
0
0
0
-11
0
0
-7
4
31
0
0
0
0
0
0
-1
-31
59
0
0
0
0
0
1
-1
10
-1
0
0
0
0
0
2
0
60
-18
0
0
0
3
0
0
1
5
-2
0
0
0
0
0
0
1
-41
11
0
0
0
0
0
-2
8
-9
-8
0
0
0
0
0
0
-1
6
0
0
0
0
3
0
0
0
-15
10
0
0
0
0
0
0
0
18
-6
0
0
0
0
0
0
-4
-42
24
0
0
0
0
0
0
8
1
2
0
0
0
0
0
-1
-3
27
-12
0
0
0
0
0
0
0
9
1
0
0
0
0
0
-1
-3
-32
41
0
0
0
0
0
0
0
1
-21
6
0
0
-17
0
0
0
-33
43
5
0
0
0
0
0
0
-61
29
1
0
0
0
0
0
-1
-40
-22
6
0
0
0
0
0
2
-43
19
-5
0
0
2
0
0
1
11
-76
17
0
0
0
0
0
0
-19
16
0
0
0
0
0
-1
2
3
27
2
0
0
0
0
2
6
23
45
-19
0
0
6
0
0
3
-35
-2
2
0
0
0
0
0
0
-10
16
1
0
0
0
0
0
0
-5
-6
12
0
0
0
0
0
-3
56
-15
-20
0
0
3
0
0
0
40
26
-17
0
0
0
0
0
0
21
11
-8
0
0
22
0
4
-45
-36
-2
-14
0
0
0
3
0
-8
16
14
0
0
0
0
0
0
0
-7
3
0
0
0
0
0
-3
0
-16
18
0
0
0
0
0
-1
0
-14
-6
0
0
0
0
0
-1
-4
14
27
0
0
0
0
0
0
-2
4
63
0
0
0
0
0
0
1
17
-3
0
0
0
0
0
0
-3
-30
3
0
0
0
0
-1
-1
2
27
0
0
0
0
0
0
0
-2
-3
-15
0
0
0
0
0
-1
0
0
22
0
0
0
0
0
0
-3
-33
-4
0
0
0
0
0
0
0
-4
13
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
0
2
-10
0
0
0
0
0
0
-1
0
-25
0
0
0
0
-7
-2
1
3
6
1
0
0
0
0
0
1
7
9
-9
0
0
0
0
0
-4
5
-5
-4
0
0
0
0
0
-6
-43
14
8
0
0
0
1
4
0
-1
-14
3
0
0
0
0
0
-1
-5
-26
2
0
0
0
0
0
0
4
-3
-5
0
0
0
0
0
0
1
2
1
0
0
0
1
-4
0
-47
2
32
0
0
0
0
0
-1
31
-11
-21
0
0
0
0
0
-2
-7
-9
10
0
0
0
0
0
0
-8
10
-9
0
0
0
-2
0
0
0
29
-4
0
0
0
0
0
0
7
20
-12
0
0
0
0
0
0
20
24
-47
0
0
0
0
4
11
-45
8
-12
0
0
0
0
8
-39
-16
22
0
0
0
0
0
0
20
-54
12
0
0
0
0
0
-7
-13
-4
13
0
0
-12
0
0
0
25
-22
9
0
0
0
0
0
0
-18
18
26
0
0
0
0
0
0
-4
8
8
0
0
0
0
0
0
-3
-4
1
0
0
0
0
0
0
22
19
1
0
0
0
0
0
0
12
-29
-20
0
0
0
0
0
0
-2
-20
-3
0
0
0
0
0
0
4
-32
11
0
0
1
0
0
0
-7
9
-4
0
0
0
0
0
0
-3
-6
6
0
0
0
0
0
0
-15
42
-19
0
0
0
0
0
0
9
-13
-10
0
0
0
0
0
2
15
-33
-5
0
0
0
0
0
0
14
-1
25
5
0
0
0
0
0
-1
28
71
-16
0
0
0
0
0
0
30
8
-22
0
-9
0
0
0
2
43
10
-25
0
0
0
0
0
-29
-3
-11
28
0
0
0
0
0
3
-13
6
-10
0
0
0
0
0
2
8
3
11
0
-3
0
0
0
0
-15
0
19
0
0
0
0
0
0
-23
2
9
0
0
0
0
1
0
-5
-52
28
0
0
0
0
0
6
-10
2
-40
0
-1
0
0
0
2
4
-10
-37
0
0
0
0
0
0
-15
-2
-3
0
0
0
0
0
0
-26
-1
-1
0
0
0
0
-4
-8
-70
30
35
0
16
9
0
-29
-28
9
36
-13
0
0
0
5
-2
-48
-35
19
0
0
0
0
0
0
0
-11
16
0
0
0
0
0
-1
1
2
10
0
0
0
0
0
-2
11
-6
4
0
0
0
0
0
0
8
-3
-8
0
0
0
0
0
0
2
6
-50
0
0
0
0
0
0
1
3
4
0
0
0
0
0
0
8
-6
17
0
0
0
0
0
0
2
-10
1
0
0
0
0
0
0
-1
1
19
0
0
0
0
0
0
-4
-35
23
0
0
0
0
0
0
-25
-3
10
0
0
0
0
0
0
1
-2
4
0
0
0
0
0
0
1
-4
-8
0
0
0
0
-1
0
-3
0
-12
0
0
0
0
0
0
-18
-19
56
0
0
0
0
1
0
3
26
-28
-3
0
0
0
0
0
0
-38
-51
7
0
0
0
0
0
0
-42
-12
38
0
0
0
0
0
1
33
-3
-12
0
0
0
0
0
7
9
8
-22
0
0
0
0
0
0
2
0
-20
0
0
0
0
0
0
-2
9
-13
0
0
0
0
3
1
6
-1
-47
0
0
0
-6
-1
2
26
27
-29
0
0
0
0
0
0
-6
60
-32
0
0
0
0
0
0
-7
-1
-23
0
0
0
0
0
-3
-1
-11
0
0
0
0
0
0
-1
11
-11
-20
0
0
0
0
0
0
-2
8
-29
0
0
0
0
0
0
1
-4
-14
0
0
0
0
-6
5
-24
40
1
0
0
0
0
0
-8
34
-13
0
0
0
-3
0
0
6
11
-5
0
0
0
0
0
0
0
-8
5
0
0
0
0
0
4
13
6
-34
0
0
0
0
0
0
1
-17
20
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
6
-6
28
0
0
0
0
0
0
-13
-6
4
0
0
0
0
0
0
0
-7
6
0
0
0
0
0
0
2
19
14
0
0
0
0
0
0
0
-7
53
0
0
0
0
0
0
3
12
-3
0
0
0
0
0
0
1
0
-27
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
-1
-2
-1
0
0
0
0
0
1
-1
-16
-40
0
0
0
0
0
0
-1
-57
31
0
0
0
0
0
0
-2
-10
29
2
0
0
0
0
0
1
1
-2
23
0
0
0
0
0
9
8
-7
-20
0
0
0
0
0
0
-8
13
-5
0
0
1
0
0
2
2
1
-14
0
0
0
0
0
0
-6
-7
31
0
0
0
0
0
-2
3
0
13
0
0
0
0
0
-2
5
4
2
0
0
4
0
0
0
-38
-14
54
0
0
0
0
0
1
-20
-10
6
0
0
0
0
0
-1
3
-1
-33
0
0
0
0
0
0
12
18
4
0
0
-2
0
0
0
-3
4
-29
0
0
0
0
1
1
-18
-10
26
0
0
0
-2
3
-6
-16
-13
3
0
0
0
-4
-1
0
-12
48
0
0
0
0
0
0
-1
-25
-2
0
0
0
0
0
0
0
-2
-11
0
0
0
0
0
0
-15
-11
62
0
0
0
0
0
0
1
-6
-5
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
-3
0
0
0
0
0
1
0
0
4
-26
0
0
0
0
0
0
0
27
15
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
3
-37
-8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-1
7
-10
0
0
0
0
0
0
0
7
12
-1
0
0
0
0
0
0
-11
7
9
0
0
0
0
0
0
6
-4
-4
0
0
0
0
0
-4
-3
-3
-5
0
0
0
1
0
0
-1
0
-3
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
2
-46
0
0
0
0
0
0
-1
0
-27
0
0
0
0
0
-2
-15
0
9
0
0
0
0
0
0
11
-4
-15
0
0
0
0
0
0
-25
-2
13
0
0
0
0
0
0
-10
0
9
0
0
0
-4
0
0
0
-15
56
0
0
0
0
0
-1
0
2
7
0
0
0
0
0
0
0
0
-24
0
0
0
0
1
-4
4
-19
-1
0
0
0
1
1
-11
24
-13
0
0
0
0
0
1
-12
61
-8
0
0
0
0
0
1
28
-48
3
0
0
-3
0
0
1
6
18
-13
0
0
0
0
0
4
-55
38
3
0
0
0
0
0
1
13
-15
3
0
0
0
0
0
-1
-3
-4
-8
0
0
0
0
0
-4
-2
-42
47
0
0
0
0
0
17
27
4
-16
0
0
0
1
0
0
-3
-2
24
0
0
0
0
0
0
-1
-69
18
0
0
0
0
0
0
-30
-1
-26
0
0
0
0
0
0
1
-24
15
0
0
0
0
0
0
-17
-6
-8
0
0
0
0
0
2
1
2
27
0
0
0
0
0
4
-30
-21
19
0
0
0
0
-1
0
12
27
-41
-8
0
0
0
0
0
2
19
-13
-3
0
0
0
0
-1
-7
-19
7
3
0
12
0
0
0
8
-38
0
-19
0
0
0
1
-1
0
0
-3
21
0
0
0
0
0
0
-7
1
23
0
0
0
0
2
-2
0
0
-35
0
0
0
0
0
4
-1
0
6
0
0
0
0
6
23
10
0
-11
0
0
0
0
0
-37
-1
-18
43
0
0
0
0
0
-7
-23
0
-24
0
0
0
0
0
35
5
-12
14
0
0
0
0
-1
10
16
-11
7
0
0
-1
0
0
-1
-8
10
6
0
0
0
0
-1
3
0
6
-23
0
0
4
0
10
10
-41
17
-39
0
0
0
-9
5
21
29
9
0
0
0
0
0
2
6
-6
21
0
0
0
0
0
-3
19
-4
23
0
0
0
0
1
0
-10
-37
34
0
0
0
0
0
-1
-10
35
-2
0
0
0
0
0
3
-24
10
50
0
0
0
0
3
-2
-7
3
-46
0
0
0
0
0
3
12
5
-2
0
0
0
0
0
-14
-7
-52
46
0
0
0
0
0
0
9
-20
0
0
0
0
0
0
0
4
-40
37
0
0
0
0
0
-3
6
-13
17
0
0
0
0
0
3
1
-1
-1
0
0
0
0
0
0
0
-3
9
0
0
0
0
0
2
1
-1
-41
0
0
0
0
1
10
-7
-18
14
0
0
0
0
-7
21
-13
-11
18
-1
0
0
0
0
1
-3
37
-4
-5
0
0
0
0
-2
0
22
-7
-11
0
0
0
0
1
35
4
-25
-1
0
0
0
0
4
-1
-9
6
26
0
0
0
0
0
0
-24
66
-20
0
0
0
-1
0
0
0
-5
-19
0
0
0
0
-1
-7
14
-8
-14
0
0
0
0
6
-40
16
9
14
2
0
0
0
-1
0
-39
25
11
-9
0
0
0
0
0
-14
14
-50
-5
0
0
0
2
-4
-24
0
18
2
0
0
1
-1
-1
-27
13
-13
-3
0
0
0
-2
0
-2
-73
-10
18
0
0
-2
0
1
0
29
-11
-5
0
0
16
2
-15
-16
3
0
7
0
0
0
-1
2
-20
10
0
0
0
-33
0
0
4
-18
34
0
0
0
0
0
0
2
-12
18
0
0
0
0
0
0
6
11
9
0
0
0
0
0
0
-1
-9
28
0
0
0
-1
0
0
8
-27
-15
0
0
0
0
0
0
-1
8
-12
0
0
0
0
0
0
-2
34
-28
0
0
0
0
0
0
-3
-38
32
0
0
0
1
0
0
-4
-12
-21
0
0
0
0
0
0
0
17
-3
0
0
0
0
0
0
0
-5
31
0
0
0
0
0
0
0
-1
-2
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
1
13
-55
0
0
0
0
0
0
1
32
0
-8
0
0
-20
0
0
-1
-19
54
15
0
0
0
0
0
3
-71
14
3
0
0
0
0
0
-7
8
39
-20
0
0
0
0
0
0
1
44
-32
0
0
0
0
0
0
-13
-25
34
0
0
0
0
0
0
2
-4
8
0
0
0
0
0
-1
-4
-10
-1
0
0
0
0
0
-1
-29
9
31
-8
0
28
0
0
-7
8
22
-15
-9
0
0
0
0
0
-25
-38
31
-10
0
0
0
0
0
-38
4
-49
20
0
0
0
0
0
16
13
-62
3
0
-13
0
0
0
-28
7
17
-23
0
0
0
0
0
18
18
-68
-2
0
-1
0
-2
-7
-14
6
-3
12
0
0
0
-7
1
-28
17
0
0
0
0
0
0
-1
-22
22
0
0
0
0
0
6
0
-53
23
0
0
0
0
0
0
-2
-17
4
0
0
0
0
0
-1
-2
8
14
0
0
0
0
0
0
9
-21
30
0
0
0
0
0
2
0
0
12
0
0
0
0
0
0
-11
40
3
0
0
0
0
2
0
3
-5
29
0
0
0
0
0
0
0
12
36
0
0
0
0
0
0
0
32
-19
0
0
0
0
0
0
0
15
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
-1
16
0
0
0
0
0
0
0
-4
-12
0
0
0
0
0
0
4
-43
-12
0
0
0
0
-1
0
18
21
46
-7
0
0
0
0
0
0
33
40
-10
0
0
0
0
0
2
-23
36
-6
0
0
0
0
0
-6
38
-52
-4
0
0
0
2
-1
0
10
-68
31
0
0
0
0
0
-1
0
0
6
0
0
0
0
0
0
0
2
-2
0
0
0
0
-3
2
9
0
-47
0
0
0
-3
0
2
-17
3
-13
9
0
0
0
0
-1
-12
-50
-1
6
0
0
0
0
0
-8
17
-5
-8
0
0
0
0
0
-30
-2
-28
8
0
0
0
1
0
6
8
-71
-12
0
0
0
0
0
-9
-11
-25
3
0
0
0
0
0
4
0
3
17
0
0
1
1
3
-25
-40
13
2
0
0
0
1
-3
20
6
0
0
0
0
0
0
4
19
-27
0
0
0
0
0
-8
1
-15
29
0
0
47
0
0
0
58
-30
-17
0
0
0
0
0
0
-5
12
-15
0
0
0
0
0
0
-10
-37
18
0
0
0
0
0
4
6
-46
13
0
0
4
0
0
-1
-38
-17
16
0
0
0
0
0
2
12
-36
17
0
0
0
4
0
-1
-2
-36
-11
0
0
0
0
0
0
0
-2
-40
0
0
-10
0
0
0
1
-9
25
0
0
0
0
0
0
0
-7
-14
0
0
0
0
0
0
2
-9
2
0
0
0
0
0
0
-3
0
3
0
0
0
0
0
0
11
-36
28
0
0
0
0
1
-2
8
23
6
-3
0
0
0
0
0
-10
28
2
4
0
0
0
0
-2
-13
-5
52
9
0
9
0
0
0
11
16
-11
-24
0
0
0
0
0
11
16
27
-28
0
0
0
0
0
-1
9
-14
-10
0
0
0
0
0
0
-1
-7
35
0
0
0
0
0
1
-21
18
-11
0
0
0
0
-2
-6
-13
-43
19
3
0
-2
0
0
-6
3
-14
15
-2
0
0
0
0
1
22
-6
-52
-7
-9
0
0
-1
3
-16
-2
45
0
0
0
0
0
0
-38
20
-2
21
0
0
0
1
-2
8
-7
-13
-13
0
0
0
-2
0
-2
-7
-8
-7
-15
-2
2
0
2
-51
34
8
10
0
0
-15
-23
17
4
11
0
0
0
0
0
0
8
4
-21
0
0
0
0
0
1
-8
-49
44
0
0
0
0
0
0
-18
-14
39
0
0
0
0
-2
-1
-7
2
-5
0
0
0
0
0
0
-3
-35
41
0
0
0
0
0
0
3
-9
-15
0
0
0
0
0
0
9
-8
-4
0
0
0
0
0
0
2
-22
45
0
0
0
0
0
0
6
-1
-29
0
0
0
0
0
-1
-2
-3
24
0
0
0
0
0
0
-10
50
-34
0
0
0
0
-1
-2
0
-13
48
0
0
0
0
0
0
-3
0
13
0
0
0
0
0
-3
3
-13
5
0
0
0
0
0
1
9
8
1
0
0
0
0
0
-1
-21
2
2
7
0
0
0
0
-1
0
54
8
-5
0
0
0
0
0
1
-14
10
-16
0
0
0
0
0
2
-4
17
-7
0
0
0
-1
0
1
-2
-9
-8
0
0
0
0
0
-2
-12
-39
25
0
0
0
0
0
0
1
3
-18
0
0
0
0
-2
10
8
1
-63
0
0
0
-1
-6
1
-8
-14
5
-5
0
0
0
0
-2
3
0
8
-11
0
0
0
0
0
-7
0
-70
2
0
0
0
0
3
-16
-12
18
7
0
0
0
0
7
0
-1
-26
14
0
0
0
0
1
-7
6
-40
24
0
0
2
-1
-2
-1
-7
-22
44
0
0
0
-21
25
-9
2
3
-1
0
0
-1
0
0
3
1
0
0
0
-5
0
1
-1
-9
5
0
0
0
0
0
1
-9
14
-5
0
0
0
0
0
-7
-18
14
13
0
0
0
0
0
0
1
-5
39
0
0
0
0
0
0
-8
-42
19
0
0
0
0
0
0
1
18
-30
0
0
0
0
0
2
-4
-6
-39
0
0
0
0
0
2
0
-10
29
0
0
0
-8
0
0
2
-24
21
0
0
0
0
0
0
-1
19
-28
0
0
0
1
0
0
1
-1
-11
0
0
0
0
0
0
0
-2
-9
0
0
0
-2
0
0
0
9
-44
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
-6
-2
-2
0
0
0
0
0
0
-2
-36
34
7
0
0
-21
0
0
-2
-19
-3
45
0
0
0
0
0
1
-11
18
-14
0
0
0
0
0
0
-6
17
-4
0
0
0
0
0
1
-19
-19
45
0
0
23
0
0
-1
-10
0
-35
0
0
0
0
0
-2
7
7
-16
0
0
0
0
0
0
-1
1
34
0
0
0
0
-2
3
-4
41
1
-9
0
-53
0
0
0
17
-35
-28
16
0
0
0
0
0
2
-2
-48
7
0
2
0
0
0
-26
-6
-12
16
0
0
0
0
0
-15
9
36
9
0
12
0
0
0
1
10
-39
4
0
0
0
0
-2
1
-2
-6
0
0
-2
-2
-7
7
-9
28
-74
2
0
0
27
-18
11
19
-32
0
0
0
0
0
2
-1
-8
1
0
0
0
0
0
0
0
-30
-11
0
0
0
0
0
-4
-65
18
0
0
0
0
0
0
0
-4
-10
11
0
0
0
0
0
-9
0
17
32
0
0
0
0
0
0
0
3
-17
0
0
0
0
0
0
-21
0
3
0
0
0
0
-14
0
0
9
19
0
0
0
0
0
0
0
-24
-18
0
0
0
0
0
-1
-10
-7
11
0
0
0
0
0
0
3
-26
58
0
0
0
0
-2
0
0
0
7
0
0
0
0
0
1
0
0
37
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
-7
4
29
-29
0
0
0
0
-8
0
-1
-4
38
-7
0
0
0
0
0
0
-4
19
-1
0
0
0
-1
0
-2
-3
-26
25
0
0
0
0
0
-3
-28
-10
10
0
0
0
0
1
1
-13
3
12
0
0
0
0
0
1
0
7
10
0
0
0
0
0
0
0
-1
-24
0
0
0
0
-6
0
0
0
4
0
0
0
-5
1
4
-6
14
17
0
0
0
0
0
0
-1
49
-41
-15
0
0
2
0
0
-10
2
-16
33
0
0
0
0
0
-8
-21
17
-10
0
0
-2
0
-2
-1
-3
-24
72
0
0
0
0
0
-27
-12
30
-23
0
0
-2
1
0
-4
0
20
-26
0
0
-40
3
-3
-34
73
-60
9
0
0
4
0
-5
6
3
0
0
0
6
-49
-28
17
-3
5
0
0
0
0
43
7
1
11
2
0
0
14
22
5
-6
-32
-22
5
0
0
0
0
5
31
7
0
-2
0
0
0
-36
-25
-9
20
1
-6
0
0
0
0
-4
-57
-1
-7
-2
0
0
18
24
27
-17
-42
-5
-22
0
0
0
0
7
21
24
2
3
0
0
0
4
1
-13
21
-41
5
0
0
0
0
10
-28
-4
-36
12
0
0
-5
48
-9
25
3
-29
-33
0
0
0
0
-11
59
18
-21
-4
0
0
0
0
6
-30
-9
-26
-8
0
0
0
0
-33
-37
8
-15
26
0
0
16
-24
24
-15
2
-24
0
0
0
0
0
-3
21
26
-30
10
6
0
0
-26
-2
-6
24
9
13
-1
0
0
0
-24
31
-2
38
30
-1
0
-11
18
12
2
9
-45
15
-4
0
0
0
50
-37
9
3
40
2
0
0
19
-6
-33
22
-36
-5
-1
0
0
0
-33
10
-13
-23
26
3
0
-2
-13
-30
-21
53
-48
-20
16
0
0
0
-17
23
43
5
16
2
6
0
42
0
4
-63
-43
4
-4
-3
0
0
-75
-42
-30
-2
-38
3
13
6
-7
2
66
-64
-29
32
-14
-7
0
0
-4
32
11
20
10
-2
-3
0
0
-13
-29
0
-26
-2
7
-10
0
0
28
-7
-19
7
7
-2
-17
-56
8
0
3
-67
-27
5
-32
5
0
0
-16
-10
-28
-4
9
0
0
0
0
0
-9
15
-11
6
0
0
0
0
1
-10
28
-14
7
0
0
0
0
0
-6
-38
-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
-14
-22
62
-15
15
0
0
0
0
0
0
13
15
5
0
0
0
0
6
-20
39
-65
9
0
0
0
0
0
-1
6
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
13
-3
-47
12
9
0
0
0
0
0
14
2
-7
26
0
0
0
0
0
6
26
8
10
0
0
0
0
0
17
-9
-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
-7
24
-46
3
29
0
0
0
0
0
1
-29
13
9
0
0
0
0
0
4
9
-21
23
0
0
0
0
0
-4
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
0
-3
5
-16
-39
19
0
0
0
-9
-3
11
-5
-17
11
0
0
0
0
22
4
-34
-7
-8
0
0
0
22
2
-17
31
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
-11
9
0
0
0
-10
0
0
14
18
-1
0
0
0
0
0
0
2
-25
38
0
0
0
-1
0
2
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
1
9
-17
4
0
0
0
-22
-4
-48
27
48
24
0
0
0
0
0
-1
4
-53
41
0
0
0
0
0
-6
-43
22
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-8
-25
0
0
0
24
0
-25
-24
-1
24
0
0
0
0
0
0
-7
7
-15
0
0
0
-1
0
-1
12
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
17
29
19
-5
6
0
0
0
0
-3
-7
38
6
-24
0
0
0
0
18
26
27
8
-16
0
0
0
0
-4
-3
-40
-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
2
3
22
0
0
0
0
0
0
-3
0
6
0
0
0
0
0
2
-6
37
-4
0
0
0
0
0
1
-29
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
-8
-3
-30
38
0
0
0
0
0
1
10
8
-15
0
0
0
0
0
20
-43
-1
46
0
0
0
0
1
-6
27
-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
-3
4
-24
-16
0
0
0
0
0
0
0
-15
18
0
0
0
0
0
0
-4
5
5
0
0
0
0
1
0
0
-70
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
-2
28
13
-9
13
0
0
0
-1
0
-12
31
-14
-8
0
0
0
0
0
-26
20
-7
0
0
0
-12
-5
-4
23
3
-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
-45
-28
53
0
0
0
0
0
0
-14
-12
57
0
0
0
0
0
6
3
30
-26
0
0
15
0
0
0
23
-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
14
19
-17
0
0
0
0
0
1
-14
6
15
0
0
0
0
-2
-3
53
-13
-18
0
0
-21
-3
0
10
65
-40
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
-24
20
17
0
0
0
0
0
6
6
-28
13
0
0
0
0
0
0
0
-8
-7
0
0
14
0
0
3
8
-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
20
-31
3
18
4
0
0
0
0
0
22
35
10
13
0
0
0
0
0
11
-15
4
-2
0
0
0
0
0
-6
29
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
-5
-38
-18
23
31
0
0
0
0
0
0
-28
4
22
0
0
0
0
0
4
-2
-12
10
0
0
0
0
0
2
0
-45
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-12
-1
-14
56
0
0
0
0
0
0
11
23
-19
0
0
0
0
0
1
1
-25
-17
0
0
0
0
0
0
6
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
17
45
5
1
-18
0
0
0
0
0
0
5
-70
-5
0
0
0
0
-1
-3
-1
12
7
0
0
0
0
0
-1
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
1
3
17
-55
11
0
0
0
24
0
2
-72
-2
-1
0
0
0
0
-3
8
24
-30
-2
0
0
0
2
0
3
0
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
2
-7
3
30
0
0
0
-12
2
0
6
-40
17
0
0
0
0
0
-6
-11
-13
50
0
0
0
-2
0
0
8
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
1
0
17
-23
-20
0
0
0
1
0
-2
33
-37
8
0
0
0
0
0
-1
-6
-8
-26
0
0
0
0
0
-1
-12
-34
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-22
28
0
0
0
-3
0
-4
-35
57
-32
0
0
0
0
0
0
-2
-2
1
0
0
0
0
0
-1
1
8
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
19
46
7
9
0
0
0
0
0
-3
14
-31
-2
0
0
0
0
0
-1
7
-60
-4
0
0
0
0
-2
2
19
-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
0
0
0
0
0
2
15
21
0
0
0
0
0
0
-1
-33
48
0
0
0
0
-4
0
0
-29
11
0
0
0
0
0
-1
-2
-20
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
11
-39
10
0
0
0
0
0
0
7
3
1
0
0
0
0
0
0
1
-29
-10
0
0
0
0
0
2
-2
14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
49
-7
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
-2
0
57
5
0
0
0
0
0
0
-8
-3
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
4
1
7
0
0
0
0
0
-2
-6
4
0
0
0
0
0
3
-6
-46
-6
0
0
0
-13
0
-6
-43
45
-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
-7
-26
-3
4
0
0
0
0
0
2
-1
13
-7
0
0
0
0
0
-18
-7
-8
-8
0
0
-5
0
0
25
-2
30
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
-1
4
0
0
0
2
0
-1
4
-17
22
0
0
0
0
-1
-11
20
-7
-2
0
0
0
0
0
-57
-4
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
2
-19
-36
-11
0
0
0
0
0
0
21
2
33
0
0
0
0
0
1
-44
17
49
0
0
0
0
0
0
15
12
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-13
24
-35
23
0
0
0
0
0
9
15
18
-12
0
0
0
0
-2
11
24
-4
0
0
0
0
0
0
0
15
-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
14
19
27
-8
-3
0
0
0
0
0
0
-9
27
-4
0
0
0
0
0
-1
-1
22
19
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
36
-76
35
-42
13
0
0
0
0
0
0
14
13
27
0
0
0
0
0
4
53
-41
5
0
0
0
0
-1
7
-34
-53
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
-7
17
37
-23
21
0
0
0
0
0
-2
7
16
21
0
0
0
0
-3
-19
1
50
-24
0
0
0
0
0
-11
-8
-17
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-27
17
0
0
0
10
-1
47
-12
-7
19
0
0
0
0
0
13
-3
-13
-3
0
0
0
0
0
-6
-24
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
6
-29
20
0
0
0
0
0
0
2
-5
-3
0
0
0
0
0
0
-1
-15
-25
0
0
0
0
0
0
-13
-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
-32
-7
12
0
0
0
22
-2
8
17
-24
10
0
0
0
0
0
0
-10
10
14
0
0
0
0
0
-2
-9
24
-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
6
-21
-12
0
0
0
29
0
0
30
-9
-12
0
0
0
0
0
-2
-2
-3
1
0
0
0
0
0
1
12
-58
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-12
16
-54
13
0
0
0
0
0
1
-17
-1
23
0
0
0
0
0
1
-6
-8
-5
0
0
0
0
1
-2
-22
-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
-1
-25
69
0
0
0
0
0
0
-1
-67
29
0
0
0
0
0
3
-4
14
25
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
1
-7
-21
40
2
0
0
0
0
0
11
-13
-23
11
0
0
0
0
-4
-10
-2
25
4
0
0
0
0
1
3
17
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
1
-32
-4
4
0
0
0
0
0
0
-2
-21
39
0
0
0
0
-2
6
3
-27
-37
0
0
0
0
0
0
8
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
2
0
-33
20
0
0
0
-9
0
1
21
0
2
0
0
0
0
0
0
-4
2
12
0
0
57
0
0
0
61
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
1
3
41
-49
0
0
0
0
0
1
-7
34
-4
0
0
0
0
0
0
15
-54
7
0
0
17
0
0
9
-7
-44
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
-15
54
0
0
0
0
0
2
-23
-16
6
0
0
0
0
0
-1
8
43
-19
0
0
-36
0
0
-3
5
-15
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-16
18
0
0
0
0
0
0
-9
-62
80
0
0
0
0
0
-1
-2
-5
-15
0
0
9
0
0
0
-5
-31
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-2
7
-28
15
0
0
0
0
0
-3
12
26
-2
0
0
0
0
0
7
-7
-89
40
0
0
0
0
0
0
-2
-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
12
-4
2
-2
-31
0
0
0
0
0
0
4
-2
-11
0
0
0
0
-1
10
0
18
-46
0
0
0
0
0
0
-1
-8
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
56
-7
21
0
0
0
0
0
-2
6
-9
1
0
0
0
0
0
-2
-8
0
51
0
0
0
0
0
0
18
-53
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
39
-5
-17
0
0
0
0
0
0
-1
9
-8
0
0
0
0
-6
3
-7
34
-6
0
0
0
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
-2
-84
46
0
0
0
3
0
0
-21
19
15
0
0
0
0
0
0
0
-17
-14
0
0
0
0
0
0
-11
30
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
25
0
0
0
0
0
0
9
-4
25
0
0
0
0
0
0
-3
-52
46
0
0
0
1
0
-3
2
-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
2
16
-10
0
0
0
1
0
-1
-17
-20
76
0
0
0
0
0
0
2
-23
-11
0
0
0
0
0
0
-11
-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
4
-27
31
0
0
0
12
0
0
0
7
-36
0
0
0
0
0
0
-1
-23
-47
0
0
0
0
0
0
-19
-25
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
15
14
-23
1
0
0
0
0
0
-3
16
-55
-28
0
0
0
0
1
-7
-1
-19
18
0
0
0
0
0
6
-45
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
-2
0
6
-9
0
0
0
0
0
-1
0
-28
29
0
0
0
0
0
-1
-2
-3
35
0
0
0
0
0
4
7
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
-4
3
-8
20
-22
0
0
0
0
0
0
8
-30
1
0
0
0
0
0
0
0
-2
21
0
0
0
0
0
0
-16
-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
-11
-2
10
-43
45
0
0
0
0
0
1
1
-19
9
0
0
0
0
0
-1
-1
-17
-5
0
0
0
0
0
3
-22
-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
6
13
-17
-14
28
0
0
0
2
0
-12
15
-53
36
0
0
0
0
-2
-8
24
13
-38
0
0
-1
1
0
4
38
-8
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-1
-23
36
0
0
0
0
0
-1
-4
-30
46
0
0
0
0
0
-21
-18
-34
46
0
0
4
0
0
6
21
-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
12
18
-56
-3
0
0
0
0
0
12
-27
15
3
0
0
0
0
-1
0
-10
-42
29
0
0
1
0
0
-18
8
-7
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
29
-6
1
-43
0
0
0
-16
0
-9
12
8
17
0
0
0
0
-1
0
-43
-25
7
0
0
10
0
0
-22
-35
72
-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
14
6
-54
21
4
0
0
0
0
0
1
5
3
-28
0
0
0
0
-1
22
0
8
8
0
0
0
0
2
3
6
-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
-16
-1
15
31
-12
0
0
0
0
0
0
-3
-34
36
0
0
0
0
-2
-6
-3
-42
31
0
0
0
0
-3
11
12
-43
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
10
1
22
32
2
0
0
0
0
-2
28
5
21
0
0
0
0
3
-4
24
3
35
-1
0
0
0
0
-2
-14
-25
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
14
-3
-5
29
14
6
0
0
0
0
-22
-17
-15
-23
32
0
0
0
0
17
-25
2
9
14
0
0
0
0
0
3
-43
-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
-14
21
-12
14
0
0
0
-14
0
-19
1
-34
51
0
0
0
0
0
-2
8
-25
0
0
0
0
2
0
2
-48
-28
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-41
21
0
0
0
35
0
0
0
-23
-12
0
0
0
0
0
1
0
10
-42
0
0
0
0
0
0
0
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
-4
-42
-10
38
3
0
0
43
4
-10
-8
15
13
3
0
0
0
-1
-1
-6
-23
5
-7
0
0
0
0
0
7
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
18
-57
45
25
0
0
48
0
-6
28
-29
-20
15
0
0
0
0
0
3
-15
-44
-11
0
0
1
0
0
-6
20
-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
1
-13
-25
12
35
0
0
0
0
0
0
7
-10
10
0
0
0
0
-10
1
-10
-15
24
0
0
0
0
9
-4
9
-6
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-39
0
41
0
0
0
0
0
-1
0
-47
10
0
0
0
0
2
6
6
-20
8
0
0
0
0
0
-7
-6
28
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-7
92
27
-1
0
0
0
0
-1
1
6
-6
-5
0
0
0
-1
1
7
30
-10
-5
0
0
0
0
0
8
-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
-4
-23
-77
93
6
0
0
0
0
-1
-1
-50
-8
-7
0
0
0
-2
2
-9
-36
93
-9
0
0
0
-3
-1
20
-41
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
-3
6
-8
38
0
0
0
0
0
-7
43
-17
27
0
0
0
0
1
-9
-29
-5
27
0
0
17
0
0
9
13
-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
2
-5
-24
7
0
0
0
0
0
-1
-19
-40
46
0
0
0
0
0
0
13
-5
-11
0
0
-3
0
-1
-18
54
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
-4
-63
-12
7
1
0
0
0
0
1
14
3
14
2
0
0
0
0
4
1
-29
29
5
0
58
0
0
25
-31
-57
-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
-9
-37
5
8
0
0
0
0
-4
-6
0
60
-7
0
0
0
-3
6
6
-83
-6
56
0
37
0
0
-2
-47
-19
-43
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
15
18
10
34
-51
0
0
0
0
0
-3
10
-63
32
0
0
0
0
0
4
-22
-13
7
0
0
0
0
0
-1
-11
-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
-31
-3
25
-39
46
0
0
0
0
0
0
1
8
5
0
0
0
0
1
0
1
8
20
0
0
0
0
0
0
-4
-3
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
24
35
1
9
5
0
0
0
0
1
-8
-20
15
10
0
0
0
-2
-8
0
-2
9
6
0
0
0
0
0
-6
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
15
-19
30
-23
28
10
0
0
0
0
1
-9
-10
21
3
0
0
0
-3
-2
-3
-5
12
-1
0
0
0
0
-2
11
27
-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
1
-33
20
33
0
0
0
21
0
0
-33
-10
13
0
0
0
0
0
0
16
-17
-21
0
0
0
0
0
-1
-15
-22
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
35
-61
0
0
0
-43
0
2
14
11
11
0
0
0
0
0
0
2
-16
-24
0
0
0
1
0
0
12
-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
9
-4
-2
-4
0
0
5
0
-3
-1
-10
-25
5
0
0
0
0
0
3
8
-20
-11
0
0
0
0
0
-7
4
24
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
13
4
-14
0
0
3
0
1
-3
37
-8
5
0
0
0
0
0
1
-15
-14
-24
0
0
-3
0
0
8
38
-29
-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
-3
2
-12
25
-19
0
0
0
0
0
-2
-7
1
20
0
0
0
0
0
1
-3
-48
1
0
0
0
0
0
-1
-38
-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
1
1
0
25
-35
0
0
0
0
0
0
1
3
-21
0
0
0
0
0
6
0
35
-6
0
0
0
0
0
0
-1
-10
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
2
-28
-16
-2
0
0
0
0
0
0
10
21
-8
0
0
0
0
0
0
-4
11
10
0
0
0
0
0
2
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
-1
-1
12
-19
0
-1
0
0
0
0
0
-2
-9
-7
-8
0
0
0
0
-3
0
40
-23
21
0
0
0
0
0
3
15
-11
-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
-6
6
-34
32
0
0
0
0
0
2
10
-46
46
0
0
0
0
-1
1
-9
-65
19
0
0
4
0
0
-9
14
32
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
33
-35
51
0
0
0
-1
0
-1
-12
-4
77
0
0
0
0
3
-1
-33
-6
-9
0
0
-1
0
0
-6
32
-14
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
-22
28
-7
0
0
0
0
6
19
-49
-3
-6
0
0
0
1
-2
-7
-22
27
7
0
-3
0
0
6
-26
43
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
-2
21
21
-15
-4
0
0
0
0
1
4
12
-26
13
0
0
0
0
2
-27
-53
11
25
0
-50
0
0
11
-30
42
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
-3
38
33
16
0
0
0
0
0
0
3
-7
-13
25
0
0
0
0
-1
3
-26
-21
15
0
0
0
0
0
0
-12
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
-8
23
33
-47
0
0
0
0
0
0
6
11
-40
-23
0
0
0
0
0
15
21
-17
2
0
0
0
0
0
-10
-4
-8
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-16
1
43
54
-8
0
0
0
0
0
29
-31
-14
10
0
0
0
0
19
4
38
13
-12
0
0
0
0
2
9
-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
34
-33
18
38
27
-11
2
0
0
0
10
12
-28
7
2
-5
0
0
2
-27
5
-38
-29
-20
7
0
0
0
-19
3
5
30
-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
9
20
0
0
0
0
65
0
-28
3
3
-6
0
0
0
0
0
-9
0
-19
15
0
0
0
0
0
0
-16
-25
66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
-23
-24
0
0
0
27
0
0
-15
-14
20
0
0
0
0
0
0
-6
34
2
0
0
0
1
0
1
8
-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
-3
33
-5
16
-17
0
0
65
1
-3
-53
-8
13
0
0
0
0
0
0
0
-43
-1
24
0
0
0
0
2
7
14
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
1
2
-12
-4
11
-7
0
-27
0
19
-37
-6
48
0
-11
0
0
0
7
-8
-31
50
-22
-5
0
2
0
0
-7
-14
29
-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
-25
17
27
20
0
0
0
0
0
-1
0
7
34
0
0
0
0
1
1
-4
-20
15
0
0
0
0
0
-1
0
-6
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
10
38
13
-16
0
0
0
0
0
-1
0
-2
16
0
0
0
0
0
0
-2
-46
27
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
6
0
-3
-32
41
9
0
0
0
0
-2
8
-18
18
-18
0
0
0
-4
-6
-35
28
-36
30
0
0
0
-7
0
-3
-22
-27
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
13
6
-9
5
0
0
0
-2
-12
-21
44
18
-9
0
0
-3
0
0
23
-9
-11
8
0
0
0
3
1
-8
8
-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
1
9
-2
-17
0
0
0
0
0
2
-8
1
3
0
0
0
0
0
3
-3
8
5
0
0
-12
0
0
3
-58
16
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
5
-16
0
0
0
0
0
1
-16
-22
79
0
0
0
0
0
-2
4
-14
-14
0
0
6
0
0
0
-1
12
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
29
41
-22
0
0
0
0
0
22
-59
35
44
0
0
0
0
3
21
0
3
-24
0
24
0
0
-9
11
-1
22
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
12
-14
-33
15
0
0
0
-3
-35
-17
79
-48
-11
0
0
0
-4
32
0
6
10
-2
-95
0
0
2
-59
-40
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
26
11
23
-6
-48
0
0
0
0
0
2
36
23
-41
0
0
0
0
0
-1
-6
1
1
0
0
0
0
0
0
-35
-19
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
7
13
7
0
9
0
0
0
0
0
0
2
-7
18
0
0
0
0
-4
-25
4
-3
10
0
0
0
0
0
0
2
-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
-41
58
2
36
10
1
0
0
0
0
-1
-3
-5
47
10
0
0
0
0
-22
16
2
-18
21
0
0
0
0
0
-4
-21
-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
44
16
48
15
20
-1
0
0
0
0
0
1
-35
-9
-4
-5
0
0
2
-6
-16
-5
67
-2
-11
0
0
0
0
-29
-26
4
41
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-1
0
0
0
19
0
6
-18
-45
45
0
0
0
0
-2
0
1
22
15
0
0
0
-30
0
0
-35
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
-22
10
8
0
0
0
23
0
-4
7
-10
-18
0
0
0
0
0
0
-8
13
-5
0
0
0
-3
0
0
-1
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
1
3
8
-41
0
0
0
-66
0
9
-43
-22
68
5
0
0
0
1
0
4
-3
20
-6
0
0
2
0
0
-1
-14
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
-37
20
-40
-7
0
-35
0
3
15
-39
13
-12
-3
0
0
-1
0
-2
-47
69
-11
-6
0
4
0
-6
-22
20
-10
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
10
-56
36
-32
30
0
0
0
0
0
2
-39
-14
66
0
0
0
0
-1
-10
11
-53
28
0
0
0
0
1
-3
25
-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
27
4
-7
-35
5
0
0
0
0
0
-3
-4
15
-31
0
0
0
0
-2
0
-3
6
23
0
0
0
0
0
-11
3
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
-20
37
29
-15
0
7
0
0
0
-2
-10
8
-16
15
17
0
0
0
0
-45
-16
-31
13
16
0
0
0
-1
24
4
1
25
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-40
-16
33
-17
-39
17
0
0
-3
0
21
-67
38
-18
4
0
0
-2
-6
12
-49
19
6
31
0
0
0
0
-33
38
3
-52
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
3
12
6
-6
0
0
0
3
-29
-67
-22
29
-8
0
0
0
0
3
-10
-6
-1
0
0
0
15
-39
-6
-7
44
-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
17
-51
2
-17
46
0
0
0
-27
0
6
-5
18
-7
0
0
0
0
2
12
-63
15
16
0
0
-35
-15
0
21
-38
-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
27
-1
40
10
-15
-6
0
0
-26
-29
-4
-13
5
26
-6
0
0
0
-17
-16
-50
-31
-3
8
0
-19
56
4
-32
-30
-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
-47
-23
25
-8
-9
-23
4
0
-11
-2
6
-10
-6
30
-22
-8
0
0
-8
-27
-25
-14
54
-37
5
9
-3
0
3
-8
-65
-26
-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
-5
10
-28
-4
16
0
0
0
0
0
-6
34
-18
16
0
0
0
0
13
16
10
-2
1
0
0
0
0
2
1
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
-2
13
-39
-1
4
0
0
0
0
0
0
2
49
5
0
0
0
0
-1
4
6
-59
37
0
0
0
0
0
-2
2
-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
13
-5
-7
-54
25
0
0
0
0
0
-3
-5
-10
19
0
0
0
0
4
-7
14
16
-4
0
0
0
0
0
3
0
-53
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
4
0
-2
22
3
0
0
0
0
0
0
25
-19
7
0
0
0
0
0
-3
-12
-33
31
0
0
0
0
0
0
9
-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
-19
4
9
5
0
0
0
7
1
7
10
16
-1
0
0
0
0
0
0
5
-2
-8
0
0
0
1
0
-1
-34
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
11
-19
-17
0
0
0
6
0
-1
0
-40
9
0
0
0
0
0
0
0
-10
27
0
0
0
1
0
0
-22
35
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
16
14
-6
0
0
0
31
1
0
7
-19
17
0
0
0
0
0
0
-1
20
-4
0
0
0
0
0
2
-12
27
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
0
0
0
22
0
-2
3
-21
1
0
0
0
0
0
0
-2
-11
38
0
0
0
0
0
0
-6
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
-10
-11
30
-49
12
0
0
0
0
0
-2
-8
-42
18
0
0
0
0
13
11
22
-69
-2
0
0
0
0
0
2
-44
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
1
10
-4
26
-31
0
0
0
0
0
0
2
-42
25
0
0
0
0
0
0
-10
-7
7
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
9
-4
0
0
0
0
0
0
-1
-26
78
0
0
0
0
3
-4
-16
21
20
0
0
0
0
0
0
-2
-23
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-24
6
11
0
0
0
0
0
0
-56
27
33
0
0
0
0
0
-4
3
-10
-24
0
0
0
0
0
0
1
-23
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
9
-8
0
0
0
0
0
0
3
-15
1
-1
0
0
0
0
0
-3
15
10
-11
0
0
59
-1
-1
13
-12
-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
23
-1
4
0
0
0
-3
0
0
-6
5
-28
0
0
0
0
0
0
-2
30
16
0
0
-5
0
0
2
29
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
-1
0
12
24
17
0
0
0
0
0
0
25
-6
22
0
0
0
0
0
0
14
-26
11
0
0
-2
0
0
2
-28
-43
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
10
16
-56
0
0
0
4
0
-3
-47
28
-4
0
0
0
0
0
0
2
-19
-9
0
0
0
0
0
0
33
-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
12
39
-21
-28
-11
0
0
0
0
0
-3
14
2
7
0
0
0
0
0
0
-33
33
18
0
0
0
0
0
1
66
-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
16
8
-20
11
0
0
0
0
0
-2
-3
33
2
0
0
0
0
0
3
0
-21
70
0
0
0
0
0
3
3
-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
2
-22
38
-30
20
0
0
0
0
0
6
36
-25
-1
0
0
0
0
0
-2
11
-27
10
0
0
0
0
0
0
-15
-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
-1
-12
3
29
8
0
0
0
0
0
0
2
3
32
0
0
0
0
0
-2
6
28
-4
0
0
0
0
0
1
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
0
0
-1
16
-11
15
0
0
0
8
0
1
-10
1
11
0
0
0
0
0
0
0
-42
19
0
0
0
0
0
0
-23
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-26
51
0
0
0
3
0
2
2
-10
15
0
0
0
0
0
0
0
8
6
0
0
0
0
0
-2
6
-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
-13
-28
33
0
0
0
-12
0
0
2
-9
-8
0
0
0
0
0
0
-2
13
20
0
0
0
0
0
0
33
-2
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
22
-22
-12
0
0
0
-11
0
0
13
1
29
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-9
-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
10
-1
-7
30
-30
0
0
0
0
0
0
-3
25
10
0
0
0
0
0
0
2
-33
34
0
0
0
0
0
6
29
-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
1
1
-13
-1
24
0
0
0
0
0
1
0
4
20
0
0
0
0
0
0
0
-22
12
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
-2
8
5
29
0
0
0
0
0
-2
-2
9
24
0
0
0
0
0
0
-3
12
-18
0
0
0
0
0
2
-2
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
2
-1
2
38
0
0
0
0
0
-1
-4
-4
9
0
0
0
0
-2
0
0
-2
6
0
0
0
0
0
0
8
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
31
11
13
0
0
0
2
0
-25
-22
-3
2
0
0
0
0
0
11
2
11
5
0
0
2
0
0
-11
25
-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
-21
-41
36
37
0
0
0
0
0
6
-22
-14
19
0
0
0
0
0
-3
8
28
-5
0
0
0
0
0
3
-13
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
-1
18
-26
21
13
0
0
0
-1
0
27
1
-5
15
0
0
0
0
0
29
8
1
-43
0
0
-6
0
0
-27
42
-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
-25
6
13
-36
0
0
0
0
0
6
-1
-21
13
0
0
0
0
0
3
-13
-5
0
0
0
0
0
0
-12
24
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
40
31
0
0
0
0
0
-8
-5
8
7
0
0
0
0
1
8
-12
-63
33
0
0
0
0
0
10
-8
-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
3
7
65
-5
-23
0
0
0
0
0
0
3
25
-16
0
0
0
0
0
-2
3
39
9
0
0
0
0
0
-1
-12
55
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
36
-37
18
6
0
0
0
0
0
2
11
-28
5
0
0
0
0
0
3
3
-30
3
0
0
0
0
0
0
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
-1
-24
-14
-27
42
0
0
0
0
0
0
-3
-2
13
0
0
0
0
0
0
2
3
24
0
0
0
0
0
-6
1
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
21
14
1
0
0
0
21
0
7
9
-2
20
0
0
0
0
0
-1
-2
-17
55
0
0
0
7
0
-2
-5
2
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-29
40
0
0
0
10
0
-1
-3
-1
5
0
0
0
0
0
0
0
27
4
0
0
0
0
0
0
8
-72
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
35
0
0
0
-8
0
-2
1
-11
44
0
0
0
0
0
0
-3
-16
-6
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
2
-47
32
0
0
0
12
0
1
0
-13
-19
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
-10
-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
-1
-36
-24
15
10
0
0
0
0
0
0
-1
12
12
0
0
0
0
-1
-6
21
-41
21
0
0
0
0
0
0
-4
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
1
2
9
13
0
0
0
0
0
0
-1
-46
7
0
0
0
0
0
-35
35
-40
-15
0
0
0
0
0
0
10
-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
-1
0
0
17
2
0
0
0
0
0
-1
-8
14
19
0
0
0
0
0
-1
0
-17
3
0
0
0
0
0
0
-3
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
-3
-14
47
0
0
0
0
0
0
-1
-24
21
0
0
0
0
0
7
0
10
-56
0
0
0
0
0
0
0
41
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
65
24
-16
0
0
0
-1
0
0
-13
5
15
0
0
0
0
0
0
-15
-9
12
0
0
24
0
-2
-13
8
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
-1
-27
10
25
0
0
0
2
0
1
21
-27
16
0
0
0
0
0
1
-2
-19
1
0
0
-27
-1
0
18
29
-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
-6
11
25
-23
0
0
0
0
0
1
-20
-21
-5
0
0
0
0
0
-1
1
-15
9
0
0
-1
0
0
-9
-16
8
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
29
5
0
0
0
0
0
-6
7
-66
73
0
0
0
0
0
0
0
-20
21
0
0
2
0
0
-2
-19
-49
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
15
11
-27
12
-3
0
0
0
0
0
0
-6
-11
34
0
0
0
0
0
0
-6
48
27
0
0
0
0
0
0
-9
-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
-2
3
0
42
-24
0
0
0
0
0
0
2
28
4
0
0
0
0
0
-1
-2
-11
27
0
0
0
0
0
0
-1
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-36
9
30
-28
0
0
0
0
0
0
-4
-1
38
0
0
0
0
0
0
-2
0
33
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
3
-1
-3
29
-53
0
0
0
0
0
0
4
3
-7
0
0
0
0
0
0
-3
1
13
0
0
0
0
0
0
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-27
7
44
0
0
0
1
0
-2
-3
-8
-28
0
0
0
0
0
0
18
-36
22
0
0
0
0
0
1
-28
-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
-45
3
0
0
0
-1
0
2
-18
7
18
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
-10
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-4
1
25
0
0
0
0
0
0
4
-29
43
0
0
0
0
0
0
1
-6
12
0
0
0
0
0
0
-2
25
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
-16
55
0
0
0
2
0
0
0
-21
23
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
41
9
-52
0
0
0
0
0
0
1
-1
-24
0
0
0
0
0
-6
9
1
-20
11
0
0
0
0
0
0
50
-48
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
-29
42
0
0
0
0
0
0
0
-14
16
0
0
0
0
1
2
-7
6
18
0
0
0
0
0
0
0
-59
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
14
6
4
13
-31
0
0
0
0
0
0
4
10
-33
0
0
0
0
-2
-2
-6
11
-11
0
0
0
0
0
0
1
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-2
3
-10
2
0
0
0
0
0
0
0
-7
55
0
0
0
0
-7
6
1
1
0
0
0
0
0
0
-1
-15
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
-21
8
23
-6
22
0
0
0
-3
0
-11
-17
27
-4
0
0
0
0
0
-49
19
6
29
0
0
-4
3
-2
16
-31
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
-29
36
16
-1
0
0
0
1
0
-21
8
-39
14
0
0
0
0
-2
45
-22
11
-46
0
0
0
0
0
27
-6
-32
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
23
-32
-11
0
0
0
0
0
-6
-34
33
-14
0
0
0
0
0
-16
49
-76
30
0
0
-10
0
0
1
42
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
-8
38
-3
0
-14
0
0
0
-4
0
-36
13
-14
-6
0
0
0
0
-1
6
0
-11
13
0
0
11
0
0
-8
15
-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
-3
4
45
-66
26
0
0
0
0
0
3
1
-43
14
0
0
0
0
-2
0
-14
16
-51
0
0
0
0
0
0
14
-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
-21
33
-18
22
-9
0
0
0
0
0
0
3
-48
2
0
0
0
0
0
0
2
-20
4
0
0
0
0
0
-1
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
-11
29
2
6
4
4
0
0
0
0
3
32
16
-11
-2
0
0
0
-6
18
-35
-14
66
2
0
0
0
0
-2
5
25
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-4
-19
27
-2
-3
0
0
0
0
0
1
29
2
-18
0
0
0
0
1
-2
30
-8
4
0
0
0
0
0
18
-46
-23
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
9
-6
8
0
0
0
13
0
4
-16
-14
-9
0
0
0
0
0
0
-2
-18
34
0
0
0
0
0
0
8
68
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
24
0
0
0
3
0
1
6
-41
22
0
0
0
0
0
0
0
-8
-11
0
0
0
0
0
0
0
-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
-3
3
-40
23
6
0
0
54
0
0
-29
2
-11
1
0
0
0
0
0
6
39
-14
-4
0
0
0
0
0
-6
-31
-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
-1
1
-25
-5
3
0
0
-3
0
-1
4
-17
25
8
0
0
0
0
0
0
2
61
-27
0
0
-4
0
0
3
55
-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
1
7
-5
-53
73
0
0
0
0
0
0
-2
-34
60
0
0
0
0
0
-2
-7
20
-26
0
0
0
0
0
-4
0
-20
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
3
0
7
19
0
0
0
0
0
0
0
-48
26
0
0
0
0
0
0
-4
-8
4
0
0
0
0
0
0
3
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
2
13
25
4
0
0
0
0
0
0
-37
10
12
0
0
0
2
-10
-19
-8
16
3
0
0
0
0
0
0
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
-7
-4
18
-1
41
-16
0
0
0
0
0
-1
47
-18
-23
0
0
0
0
-6
0
30
-36
-8
0
0
0
0
0
-2
47
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
-16
-3
0
41
0
0
0
0
0
0
1
-2
-9
0
0
0
0
0
0
-24
-2
54
0
0
-11
4
1
13
-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
0
-3
4
17
17
0
0
0
0
0
0
7
3
-3
0
0
0
0
0
0
0
22
-24
0
0
1
0
0
0
11
-20
-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
-13
14
-7
-57
7
0
0
0
0
0
43
7
33
-10
0
0
0
0
0
18
-74
12
6
0
22
0
0
-4
39
-4
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
-1
-22
-13
27
11
0
0
1
0
-1
-8
9
14
-1
0
0
0
0
0
0
-26
-15
25
0
-2
0
0
1
-39
16
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
26
-4
-11
-3
-5
0
0
0
0
0
-1
25
-64
1
0
0
0
0
0
0
-12
-51
37
0
0
0
0
0
0
-13
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
3
-3
-9
-21
20
0
0
0
0
0
0
-1
-45
56
0
0
0
0
0
0
0
21
-23
0
0
0
0
0
0
1
-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
-8
15
-3
45
-3
2
0
0
0
0
0
-58
-19
40
21
0
0
0
0
0
-1
5
12
0
0
0
0
0
0
-7
-15
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
51
-7
-8
0
0
0
0
0
0
-34
-37
24
0
0
0
0
0
0
20
13
-90
0
0
0
0
0
-3
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
-15
6
-1
0
0
0
0
0
0
4
-2
-10
0
0
0
0
0
0
1
-11
-19
0
0
0
0
0
0
11
-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
-52
41
0
0
0
4
0
0
-1
7
-7
0
0
0
0
0
0
-2
1
1
0
0
0
0
0
0
-1
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
28
-44
-13
4
0
0
3
0
-3
39
-42
-17
4
0
0
0
0
0
2
-17
-32
18
0
0
0
0
0
-32
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
-3
-39
-7
14
0
0
3
0
4
0
-7
-37
34
0
0
0
0
0
0
0
1
-71
0
0
0
0
0
0
-19
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
1
-1
2
-49
13
0
0
0
0
0
0
0
3
7
0
0
0
0
0
3
0
-15
-3
0
0
0
0
0
0
-7
-23
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
1
0
0
4
-31
0
0
0
0
0
0
-3
6
-17
0
0
0
0
0
1
0
-19
-10
0
0
0
0
0
0
3
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
-6
6
-9
-24
132
-4
0
0
0
0
0
0
-34
6
6
0
0
0
0
2
0
-26
-5
9
0
0
0
0
-2
-1
0
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
1
0
16
-1
0
-1
0
0
0
0
-2
-2
-2
-18
27
0
0
0
0
0
0
-10
-2
37
0
0
0
0
0
-4
0
6
-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
-2
-6
18
2
2
0
0
0
-3
0
7
-5
-14
25
0
0
0
0
0
0
-1
-29
17
0
0
9
0
0
-19
-17
-56
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
-43
5
0
0
0
2
0
-1
-11
-3
26
0
0
0
0
0
-2
-6
23
-2
0
0
0
0
0
0
-13
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
-4
43
39
15
1
0
0
2
0
10
-10
-34
7
-9
0
0
0
0
-6
-18
3
-9
2
0
0
0
-1
47
-48
-36
-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
11
10
-6
9
4
0
0
1
0
0
28
-39
-18
20
0
0
0
1
1
21
-33
-14
-30
0
0
0
0
0
-19
25
-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
-27
10
15
39
31
0
0
0
0
0
2
18
-71
57
0
0
0
0
-1
8
12
-63
21
0
0
0
0
0
16
-4
-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
4
10
-30
6
1
0
0
0
0
0
0
2
-18
13
0
0
0
0
0
-2
1
31
-10
0
0
0
0
0
0
0
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
8
-38
-2
22
9
0
0
0
0
1
-10
-9
-44
16
0
0
0
-2
9
32
13
-19
-3
0
0
0
0
1
-8
-5
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
44
-41
58
-19
27
-9
3
0
0
0
-4
16
-16
25
-5
-4
0
0
0
6
-23
-54
24
-6
7
0
0
2
1
-26
38
-2
-5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
12
-28
13
0
0
0
-3
0
2
11
-59
15
0
0
0
0
0
0
4
22
-54
0
0
0
0
0
0
-46
-18
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
-8
0
0
0
-5
0
-2
-2
-6
-33
0
0
0
0
0
0
0
-6
28
0
0
0
0
0
0
1
-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
-13
-18
38
11
0
0
-1
0
-3
-21
-26
-9
24
0
0
0
0
0
0
10
-33
25
0
0
0
0
-1
16
-22
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
15
24
16
-20
-4
0
-28
0
-7
11
-1
15
-7
-10
0
0
0
0
-7
-43
20
3
-6
0
0
0
2
-9
33
15
-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
-1
14
-12
-10
2
0
0
0
0
0
-1
0
38
17
0
0
0
0
-7
2
-1
-10
23
0
0
0
0
0
0
-2
-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
13
-28
0
0
0
0
0
0
0
-38
-4
0
0
0
0
-1
0
0
-9
11
0
0
0
0
0
0
-1
11
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-49
15
10
0
0
0
0
0
0
-7
-5
6
0
0
0
4
-4
4
-5
-3
-6
0
0
0
0
1
-7
-13
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
3
4
22
11
-37
-24
11
0
0
0
0
13
3
-15
-2
-8
0
0
0
0
8
2
-25
-28
10
0
0
0
0
1
29
-2
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
2
-37
34
14
24
0
0
0
1
0
0
28
-45
29
0
0
0
0
0
0
2
27
-22
0
0
-4
0
-3
-15
2
-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
-3
11
1
29
0
0
0
0
0
0
6
11
40
0
0
0
0
0
0
-1
-33
-6
0
0
17
0
0
-6
-8
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
8
4
-18
-1
5
0
0
-3
0
0
25
-3
-15
3
0
0
0
0
0
3
-35
18
21
0
-34
0
-3
1
-19
-55
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
-1
0
-26
26
-15
-1
0
2
0
-1
-77
-9
35
-16
12
0
0
0
0
-6
-7
-49
-18
11
-11
0
0
-6
-4
-5
-21
-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
-1
-12
30
-22
12
0
0
0
0
0
3
39
-37
35
0
0
0
0
0
1
12
-35
30
0
0
0
0
0
0
-41
-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
2
-10
15
-14
-1
0
0
0
0
0
-10
-2
-4
1
0
0
0
0
0
0
-1
-2
33
0
0
0
0
0
0
-2
-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
2
-13
-6
49
34
-11
0
0
0
0
4
-18
41
-13
0
0
0
0
0
0
3
43
-25
-9
0
0
0
0
0
16
-8
25
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-10
-14
-35
-24
-3
18
0
0
0
0
-10
-14
15
-2
-8
0
0
-2
-2
-2
15
8
30
-48
0
0
0
0
6
-43
-8
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
-1
-1
13
-19
5
0
0
0
12
1
-7
20
-24
-8
0
0
0
0
-1
4
3
-29
44
0
0
0
-13
0
-6
-44
34
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
0
0
0
-23
0
1
-9
20
6
0
0
0
0
0
0
0
20
-23
0
0
0
0
0
0
-4
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
31
-11
2
0
0
-22
0
-1
12
-27
63
5
0
0
0
0
-1
0
-2
24
-15
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-13
-41
-5
13
15
0
47
0
-1
-6
-18
-25
10
-14
0
0
0
0
-1
-44
-3
-22
2
0
0
0
0
-6
-19
1
-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
-32
13
15
5
-8
0
0
0
0
0
0
-12
-10
13
0
0
0
0
2
-3
0
3
16
0
0
0
0
0
1
12
-59
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
-6
-1
-8
-8
44
0
0
0
0
0
0
0
8
22
0
0
0
0
12
-15
-1
2
-5
0
0
0
0
0
0
-12
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
18
-8
-4
-64
13
6
0
0
0
0
-4
6
7
5
-7
0
0
0
0
0
-3
20
10
0
0
0
0
0
0
-9
-30
76
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
-40
-10
-15
0
0
0
1
1
-9
-13
-14
5
0
0
-29
2
4
11
12
19
-6
0
0
0
0
-3
-12
22
-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
28
7
1
-7
0
0
0
4
-17
-18
21
-6
-3
0
0
0
0
28
61
43
10
-13
0
0
1
43
-33
-13
-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
14
-38
10
-10
11
0
0
0
28
4
15
-63
-25
28
0
0
0
0
-1
30
-5
-32
22
0
0
23
-10
6
-36
-33
14
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
11
30
-2
35
1
0
0
28
-5
31
0
-2
19
0
0
0
0
3
1
59
-7
14
-5
0
44
26
-4
-53
30
-22
-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
-25
4
4
14
1
-7
7
0
-27
4
-1
19
0
25
12
-14
0
0
-5
-26
-33
-12
14
0
6
-70
14
13
-103
-52
-61
-27
-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
-2
-27
35
-26
19
0
0
0
0
0
30
-36
-50
1
0
0
0
0
11
-23
-1
-22
10
0
0
0
0
-3
25
43
9
-8
0
0
0
0
-5
27
29
-22
6
0
0
0
0
-19
-4
-23
9
5
0
0
0
0
-6
7
-13
-23
11
0
0
0
0
-34
51
3
19
0
0
0
0
0
4
-2
17
-59
35
0
0
0
0
0
38
-18
-5
-3
0
0
0
0
-15
-11
1
-9
8
0
0
0
0
3
16
-42
2
-2
0
0
0
0
15
26
10
12
31
0
0
0
0
9
-16
-10
4
22
0
0
0
0
22
-34
-6
35
15
0
0
0
0
-3
-37
7
-41
17
0
0
0
0
-13
-36
-8
-27
57
0
0
0
0
-1
24
5
-49
10
0
0
0
0
-3
18
-13
10
19
0
0
0
0
0
-24
-4
-6
23
0
0
0
0
-4
-14
3
-18
20
0
0
0
0
9
-24
18
-6
-21
0
0
0
0
-21
7
-1
2
15
0
0
0
0
34
-20
15
-21
2
0
0
0
0
-16
-13
32
27
34
0
0
0
0
1
-22
39
-4
13
0
0
0
0
7
3
36
-37
-5
0
0
0
0
-2
34
-7
3
-20
0
0
0
0
13
-22
-21
-45
27
0
0
0
0
13
-10
78
-62
11
0
0
0
0
-27
57
18
-41
-4
0
0
0
0
45
2
2
-19
1
0
0
0
0
0
34
-15
-13
13
0
0
0
-13
-3
58
21
6
10
0
0
0
0
0
-3
0
4
5
0
0
0
6
0
-11
11
-13
-2
0
0
0
0
-1
5
54
24
-3
0
0
0
35
-6
-9
-11
18
6
0
0
0
0
0
3
-9
-34
30
0
0
0
11
0
10
14
-47
6
0
0
0
0
0
-18
1
10
9
0
0
0
-33
-8
-8
-20
12
46
0
0
0
0
0
-22
-10
-15
32
0
0
0
28
0
-18
-40
-37
21
0
0
0
0
0
-2
-1
-81
21
0
0
0
31
0
-11
-4
5
18
0
0
0
0
0
-2
-6
2
4
0
0
0
-22
0
-7
28
31
14
0
0
0
0
0
6
21
-7
-4
0
0
0
51
0
-4
-3
-6
35
0
0
0
0
0
1
-9
-2
-10
0
0
0
0
0
0
-34
11
5
0
0
0
0
0
1
-24
-17
29
0
0
0
-31
6
8
-27
14
0
0
0
0
0
0
4
4
10
-29
0
0
0
11
0
3
40
-23
-3
0
0
0
0
0
2
-1
23
-6
0
0
0
-18
0
20
-8
-60
43
0
0
0
0
0
2
4
-34
54
0
0
0
19
0
-7
0
10
11
0
0
0
0
-1
6
-59
5
17
0
0
0
-26
2
-4
18
-11
18
0
0
0
0
0
-15
12
-7
30
0
0
0
9
0
-24
43
12
1
0
0
0
0
7
-30
9
-23
-7
0
0
0
0
0
1
2
25
-18
0
0
0
0
-12
15
9
-7
-2
0
0
0
0
0
-11
-6
15
9
0
0
0
0
-1
2
7
8
15
0
0
0
0
0
-2
23
-10
19
0
0
0
0
2
-1
19
-40
15
0
0
0
0
-1
-52
29
6
4
0
0
0
0
13
53
-27
-26
-22
0
0
0
0
0
-6
8
11
-11
0
0
0
0
18
-33
43
-18
6
0
0
0
0
0
-5
-2
-23
26
0
0
0
0
0
4
-24
-3
22
0
0
0
0
0
-6
-4
-5
-26
0
0
0
0
-2
25
40
-56
-30
0
0
0
0
-5
11
6
-37
21
0
0
0
0
2
3
28
-27
-7
0
0
0
0
0
1
3
-11
8
0
0
0
0
1
-20
-59
15
45
0
0
0
0
0
4
-43
7
9
0
0
0
0
0
14
-20
-28
20
0
0
0
0
0
1
-32
-39
2
0
0
0
0
0
2
34
18
-22
0
0
0
0
-2
14
28
-29
45
0
0
0
0
21
9
59
-110
30
0
0
0
0
0
1
-17
15
-21
0
0
0
0
15
20
-55
-59
-11
0
0
0
0
0
-6
-3
25
18
0
0
0
0
13
32
17
-3
-72
0
0
0
0
8
10
-24
-16
23
0
0
0
0
5
-25
9
-70
65
0
0
0
0
-3
0
24
-15
0
0
0
0
0
0
17
-29
2
-9
0
0
0
10
-1
-6
-20
-37
18
0
0
0
0
0
-4
-27
22
20
0
0
-12
-13
2
27
9
-25
10
0
0
0
0
0
1
-4
-47
26
0
0
0
0
0
-9
-12
31
-6
0
0
0
0
0
-17
9
-5
37
0
0
-1
-1
-11
4
17
-9
-5
0
0
0
0
0
-1
-12
42
-10
0
0
0
6
0
-1
67
-38
-20
0
0
0
0
0
51
-16
15
-55
0
0
-34
-1
-2
-6
31
-26
-3
0
0
0
0
0
-3
5
0
-17
0
0
0
-2
0
-2
-10
1
17
0
0
0
0
0
1
-25
-5
-19
0
0
12
-5
4
48
-49
-5
5
0
0
0
0
0
1
27
-19
-3
0
0
0
0
0
0
-7
-32
47
0
0
0
0
0
-2
-19
8
23
0
0
3
-7
1
-7
12
12
-4
0
0
0
0
0
-3
-47
21
-5
0
0
0
0
0
4
-10
-18
-18
0
0
0
0
0
0
-9
-28
34
0
0
44
0
3
-17
23
-20
-44
0
0
0
0
0
1
11
-27
5
0
0
0
8
0
-1
4
-30
10
0
0
0
0
0
-4
-27
1
44
0
0
23
6
0
-33
-3
15
7
0
0
0
0
0
9
-24
3
25
0
0
0
-6
0
-1
-27
-31
47
0
0
0
0
0
14
7
-69
42
0
0
-9
22
-43
-15
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
14
23
0
0
0
0
0
0
-16
12
14
0
0
0
0
-1
-17
-42
18
41
0
0
0
0
0
-11
11
-12
43
0
0
0
0
3
21
-4
27
-9
0
0
0
0
0
0
-6
-10
-12
0
0
0
0
1
-2
36
-4
23
0
0
0
0
-1
-3
-18
-45
69
0
0
0
0
22
5
-11
8
11
0
0
0
0
0
4
1
-1
-14
0
0
0
0
1
14
32
-55
6
0
0
0
0
0
25
-25
-18
26
0
0
0
0
1
-31
41
-21
31
0
0
0
0
0
-13
8
13
7
0
0
0
0
1
-6
17
-27
11
0
0
0
0
-6
38
-50
36
-27
0
0
0
0
-24
-8
-6
8
26
0
0
0
0
0
0
0
-55
34
0
0
0
0
2
-14
0
-44
20
0
0
0
0
0
-9
3
4
25
0
0
0
0
4
3
-28
-42
77
0
0
0
0
0
1
0
-13
24
0
0
0
0
2
-19
17
-20
20
0
0
0
0
-5
1
-9
13
-14
0
0
0
0
12
-61
20
20
35
0
0
0
0
0
6
3
7
-19
0
0
0
0
-1
2
27
-19
7
0
0
0
0
-2
16
19
8
7
0
0
0
0
-14
-20
62
18
8
0
0
0
0
1
4
-4
-5
1
0
0
0
0
6
11
-52
-6
16
0
0
0
0
23
-2
-26
-12
-13
0
0
0
0
0
0
-3
60
15
0
0
0
10
0
0
-8
-25
40
0
0
0
0
0
0
-4
-19
-23
0
0
0
7
0
0
15
0
-37
0
0
0
0
0
0
-7
-25
37
0
0
0
-1
0
0
-12
13
17
0
0
0
0
0
0
-3
19
-6
0
0
0
-1
0
0
39
2
-27
0
0
0
0
0
2
-18
-2
9
0
0
0
28
0
-3
18
20
-20
0
0
0
0
0
0
-1
-27
-12
0
0
0
-1
0
-1
-67
22
23
0
0
0
0
0
-1
-6
-1
50
0
0
0
-10
0
3
-17
2
-1
0
0
0
0
0
0
3
-30
28
0
0
0
-5
0
-19
34
-14
-15
0
0
0
0
0
0
6
16
-21
0
0
0
15
0
1
0
-80
31
0
0
0
0
0
0
-3
-7
36
0
0
0
0
0
-1
0
18
-32
0
0
0
0
0
0
-3
8
0
0
0
0
17
0
3
5
21
-73
0
0
0
0
0
0
1
-27
18
0
0
0
-1
0
1
-26
-30
-5
0
0
0
0
0
3
11
-46
21
0
0
0
20
0
-3
0
-7
11
0
0
0
0
0
0
0
79
-27
0
0
0
-2
0
1
0
-72
47
0
0
0
0
0
3
7
-24
13
0
0
0
28
-2
1
0
-26
-18
0
0
0
0
-1
0
1
-24
-2
0
0
0
-54
1
-39
-13
8
-2
0
0
0
0
-1
-6
-2
-22
50
0
0
0
0
0
2
-6
-33
15
0
0
0
0
0
1
1
-10
-25
0
0
0
0
0
3
6
-9
55
0
0
0
0
0
0
2
-19
6
0
0
0
0
0
0
-3
17
-14
0
0
0
0
0
-2
3
-2
-21
0
0
0
0
0
0
-10
15
5
0
0
0
0
0
5
-37
-22
48
0
0
0
0
0
-2
-3
-49
43
0
0
0
0
-1
18
30
-53
-27
0
0
0
0
0
18
5
-4
-41
0
0
0
0
0
4
-2
4
-37
0
0
0
0
0
-1
1
-6
-19
0
0
0
0
-8
-18
-3
-3
49
0
0
0
0
-14
-25
29
-9
-4
0
0
0
0
0
-2
4
10
11
0
0
0
0
0
0
0
18
-8
0
0
0
0
0
0
-4
32
-34
0
0
0
0
0
0
0
20
4
0
0
0
0
0
0
4
-14
34
0
0
0
0
0
0
0
-7
-3
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
-1
8
-4
-5
0
0
0
0
1
0
-4
15
-18
0
0
0
0
0
0
0
4
0
0
0
0
0
-3
11
1
49
-38
0
0
0
0
0
1
-7
-44
45
0
0
0
0
1
-2
4
27
-26
0
0
0
0
0
1
-4
-34
25
0
0
0
0
9
-9
-16
-25
42
0
0
0
0
-12
6
-51
-36
35
0
0
0
0
0
8
3
18
12
0
0
0
0
0
-1
-10
2
5
0
0
0
0
0
0
0
-51
18
0
0
15
0
0
3
-68
28
29
0
0
0
0
0
0
14
-9
-48
0
0
0
0
0
1
-4
-32
-1
0
0
0
0
0
-1
0
-3
22
0
0
1
0
0
1
4
-8
15
0
0
0
0
0
-6
37
-13
-15
0
0
0
2
0
0
0
-59
15
0
0
0
0
0
-3
-18
27
-27
0
0
9
2
0
12
-27
-7
-2
0
0
0
0
0
0
2
7
2
0
0
0
0
0
0
-5
4
-6
0
0
0
0
0
0
-6
-44
11
0
0
1
6
-1
-21
-15
-4
46
0
0
0
0
0
-1
9
25
-26
0
0
0
0
0
0
0
-24
29
0
0
0
0
0
-2
0
-13
38
0
0
20
0
0
1
6
-44
1
0
0
0
0
0
0
8
-8
-41
0
0
0
0
0
0
1
-8
-6
0
0
0
0
0
0
-6
-5
8
0
0
10
0
0
1
-49
-7
-1
0
0
0
0
0
0
3
-17
49
0
0
0
0
0
0
2
9
7
0
0
0
0
0
0
-2
1
-3
0
0
14
-4
-1
-1
15
-70
52
0
0
0
0
0
1
2
-4
52
0
0
0
-2
0
0
12
21
-68
0
0
0
0
1
-2
17
22
-45
0
0
6
-18
0
23
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
20
-17
0
0
0
0
0
6
7
-20
-16
0
0
0
0
-3
23
-29
9
3
0
0
0
0
0
32
-9
-20
17
0
0
0
0
-12
-22
31
-13
-8
0
0
0
0
1
-27
18
0
-3
0
0
0
0
1
-5
-51
37
-7
0
0
0
0
-1
-19
17
18
11
0
0
0
0
-30
23
32
8
-5
0
0
0
0
0
2
-1
46
20
0
0
0
0
7
-8
-15
8
51
0
0
0
0
0
13
-15
-3
-11
0
0
0
0
-2
10
-8
21
25
0
0
0
0
0
-8
11
-34
19
0
0
0
0
22
-39
27
-36
44
0
0
0
0
-21
18
-2
17
-13
0
0
0
0
60
0
4
1
10
-6
0
0
0
-6
-23
16
-27
-15
5
0
0
0
-24
36
26
14
12
7
0
0
0
1
6
27
-2
78
-6
0
0
0
13
12
17
-9
-14
11
0
0
0
-8
-19
-2
-23
-7
-1
0
0
0
18
12
-24
-62
46
-2
0
0
0
44
-6
27
-22
-39
-7
0
0
0
10
46
-4
35
17
-2
0
0
0
0
-4
5
-30
-16
12
0
0
0
11
15
22
-27
53
9
0
0
0
-1
-28
-41
-31
14
19
0
0
0
-34
10
44
18
28
5
0
0
0
16
-46
49
-38
25
-4
0
0
0
-20
10
2
51
23
0
0
0
0
-9
-49
25
-8
25
3
0
0
0
0
7
-6
-14
-7
0
0
0
-25
-2
3
-16
-31
22
0
0
0
0
0
0
46
23
-61
0
0
0
1
0
-2
6
-34
42
0
0
0
0
0
4
-36
39
18
0
0
0
20
0
-18
75
-59
-6
0
0
0
0
0
-1
0
-33
30
0
0
0
0
1
-8
11
-18
-1
0
0
0
0
0
3
3
-11
43
0
0
0
19
0
1
-4
-12
5
0
0
0
0
0
1
-5
-14
25
0
0
0
7
0
-7
-7
-45
20
0
0
0
0
0
0
1
-39
-11
0
0
0
33
0
4
-24
8
6
0
0
0
0
0
4
-2
-30
23
0
0
0
8
1
-24
22
13
-8
0
0
0
0
0
0
20
12
39
-6
0
0
-30
-1
1
5
-30
7
11
0
0
0
0
1
43
0
-3
-7
0
0
0
0
0
15
-13
-1
-15
0
0
0
0
0
27
-14
-12
8
0
0
-37
-1
0
31
-56
34
0
0
0
0
0
-1
0
-11
30
-30
0
0
3
1
13
-42
6
22
-6
0
0
0
0
3
5
-18
-27
-2
0
0
-5
0
0
-10
-20
-32
51
0
0
0
0
0
8
-51
35
-19
0
0
29
0
-2
-15
-48
62
4
0
0
0
3
-2
-8
20
3
11
0
0
52
-3
0
-38
16
2
14
0
0
0
4
-4
-15
9
9
-10
0
0
-23
2
6
-52
-4
13
-15
0
0
0
2
2
-9
-23
35
0
0
0
0
0
0
1
-3
19
0
0
0
0
2
15
16
-31
-43
0
0
0
0
0
1
25
-39
22
0
0
0
0
0
0
-18
-33
12
0
0
0
0
0
3
-1
-11
40
0
0
0
0
0
-1
0
22
5
0
0
0
0
0
8
18
-33
30
0
0
0
0
0
-12
-3
8
24
0
0
0
0
0
0
2
1
-1
0
0
0
0
0
14
1
6
-22
0
0
0
0
0
-5
0
-30
4
0
0
0
0
0
0
0
10
-6
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-6
21
45
-36
0
0
0
0
1
1
23
-7
-19
0
0
0
0
1
0
-6
-64
10
-9
0
0
0
0
0
0
14
-18
2
0
0
0
-10
-28
-55
-8
-9
-3
0
0
0
0
-3
47
-31
-66
-3
0
0
0
0
0
-8
-6
-45
-2
0
0
0
0
0
-10
24
-30
10
0
0
0
-4
-20
-19
2
-12
16
0
0
0
6
42
-6
-21
16
-18
0
0
0
-2
-2
36
5
24
-7
0
0
0
0
1
-2
-25
1
12
0
0
0
1
-17
-27
6
3
16
0
0
0
0
0
-30
-25
68
16
0
0
0
-2
-1
5
28
32
-8
0
0
0
-1
-2
16
-19
19
3
0
0
0
6
26
15
-57
-49
19
0
0
0
-22
-56
25
-24
54
1
0
0
0
0
-4
25
7
-11
0
0
0
0
0
-1
12
17
-28
0
0
0
0
0
-1
23
-21
7
0
0
-4
3
1
-7
-41
-15
-7
0
0
0
0
0
2
9
-19
-24
0
0
0
0
0
2
8
-31
-7
0
0
0
0
0
0
3
8
11
0
0
-2
0
-1
45
-18
-53
49
0
0
0
0
0
2
-11
-19
66
0
0
0
0
0
0
0
1
13
0
0
0
0
0
4
-4
-52
23
0
0
-12
0
0
11
-9
47
4
0
0
0
0
0
0
-8
7
-32
0
0
0
0
0
0
1
-20
3
0
0
0
0
0
0
-4
7
18
0
0
8
0
-1
-19
-1
-37
7
0
0
0
0
0
2
-4
12
33
-7
0
0
0
0
0
-1
11
-17
0
0
0
0
0
-2
2
-39
-23
-21
0
-31
0
2
-6
-32
-31
54
17
0
0
0
0
-3
-24
75
10
-11
0
0
0
0
0
34
2
28
-31
0
0
0
0
0
12
-42
-12
4
0
4
0
3
-15
-10
-11
8
-15
0
0
0
0
0
-2
30
-3
-23
0
0
-2
0
0
10
-4
57
-38
0
0
0
0
0
0
-44
26
-8
0
16
0
0
0
-4
-7
6
2
0
0
0
0
-1
12
-47
-30
15
0
0
8
0
0
-4
-10
12
-10
0
0
0
0
-3
32
-28
7
3
0
-6
-3
6
-9
-38
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-42
24
0
0
0
0
0
0
-13
11
3
0
0
0
0
2
5
98
-62
0
0
0
0
0
0
5
17
-12
-2
0
0
0
0
0
-34
-16
4
49
0
0
0
0
0
0
17
-7
-32
0
0
0
0
0
-6
1
-5
-2
0
0
0
0
0
-17
-45
20
49
0
0
0
0
-11
7
14
13
-40
0
0
0
0
0
2
2
-58
31
0
0
0
0
-1
-19
-32
47
53
0
0
0
0
0
-17
-30
41
-4
0
0
0
0
3
-18
8
10
13
0
0
0
0
-2
4
1
3
-8
0
0
0
0
12
14
-14
-25
42
0
0
0
0
24
-2
-21
-38
16
0
0
0
0
20
18
43
-31
-22
6
0
0
0
0
0
10
-8
0
19
0
0
0
1
7
39
2
33
-37
0
0
0
0
1
12
-5
5
-19
0
0
0
1
24
-8
33
3
-37
0
0
0
-1
0
-3
-2
9
16
0
0
0
0
13
-8
53
-22
-1
0
0
0
-4
30
28
-5
26
-21
0
0
0
0
-16
-1
10
17
-15
-7
0
0
0
-10
-24
-1
-1
0
9
0
0
0
-27
-24
-21
-18
-16
10
0
0
0
39
-7
-18
-30
-14
7
0
0
-47
-14
-8
-13
16
-3
0
0
0
-8
-45
-25
3
85
-18
0
0
0
-11
18
-5
7
21
-14
-9
0
0
28
37
40
-18
-14
11
1
0
0
0
0
11
-46
26
0
0
0
-2
0
2
-1
-26
4
0
0
0
0
0
0
-10
-6
2
0
0
0
3
0
-3
7
-61
60
0
0
0
0
0
0
2
-10
86
0
0
0
2
0
0
8
-12
5
0
0
0
0
0
0
4
21
6
0
0
0
0
0
0
11
2
0
0
0
0
0
0
0
6
0
19
0
0
0
9
0
-2
0
-27
18
0
0
0
0
0
0
2
-9
-24
0
0
0
-7
0
-6
45
-48
1
0
0
0
0
0
3
0
-18
37
0
0
0
-12
0
0
-13
-1
50
0
0
0
0
0
0
6
-3
-28
0
0
0
-2
0
5
15
-7
-27
0
0
0
0
0
0
4
-23
-36
4
0
0
-10
0
2
5
-20
-4
3
0
0
0
0
0
1
-27
12
-7
0
0
0
0
0
-13
-42
-14
2
0
0
0
0
0
-15
25
27
-26
0
0
8
0
-3
21
19
-1
-14
0
0
0
0
0
0
51
76
-49
0
0
0
0
-1
-1
-76
48
-10
0
0
0
0
2
17
16
11
-24
-4
0
5
0
-27
-47
12
26
19
-12
0
0
0
0
-31
7
-31
8
-21
0
-3
0
-5
-19
17
-10
-43
12
0
0
6
-3
19
7
-11
-14
5
0
18
0
-4
-32
5
-13
16
3
0
0
0
-5
-8
-53
-6
10
30
0
22
-4
-7
-7
1
-35
44
1
0
0
0
3
0
-33
2
0
0
0
0
0
0
-3
-44
63
0
0
0
0
0
0
14
28
4
0
0
0
0
0
2
-1
3
51
0
0
0
0
0
0
1
-6
-4
0
0
0
0
0
0
-2
-16
-1
0
0
0
0
0
0
-2
-30
0
0
0
0
0
0
0
18
-3
14
0
0
0
0
1
0
0
-46
19
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
-5
-18
64
-10
0
0
0
0
0
-2
2
-23
60
0
0
0
0
0
0
0
4
4
0
0
0
0
0
-1
0
-18
-7
0
0
0
0
-1
0
0
-8
-8
0
0
0
0
1
-5
-46
8
26
0
0
0
0
0
-4
6
-41
-5
-12
0
0
0
0
0
1
-25
4
-1
0
0
0
0
0
3
1
-12
-6
0
0
0
0
-1
1
15
-28
-29
0
0
0
0
0
-11
1
21
-51
0
0
0
0
-3
0
-3
1
9
0
0
0
0
0
0
10
-4
0
0
0
0
0
-28
25
-53
30
32
0
0
0
-1
-4
-20
11
-23
-1
1
0
0
0
0
0
-39
-11
-12
1
0
0
-13
34
10
-61
-6
-27
10
0
0
-3
0
-26
-24
-44
53
23
0
0
-10
1
-1
14
38
-14
-12
0
0
0
-2
-3
-11
-26
40
14
0
0
-19
1
7
44
41
-17
18
0
0
-11
-18
-60
-28
-5
-21
26
0
0
0
0
8
57
-46
0
0
0
0
0
0
-12
-7
39
0
0
0
0
0
0
-14
11
25
0
0
7
0
0
0
-33
-21
-14
0
0
0
0
0
-1
1
-10
0
0
0
0
0
0
0
-1
15
5
0
0
0
0
0
0
0
8
2
0
0
0
0
0
-2
-58
8
6
0
0
0
0
0
-2
3
-1
9
0
0
0
0
0
0
-1
-33
-5
0
0
0
0
0
0
7
-8
-16
0
0
10
0
0
27
-20
24
-34
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
1
0
2
0
0
-1
-1
0
-5
-5
8
-12
0
0
0
0
0
1
-15
-86
21
-2
0
0
0
0
0
-30
-1
42
-5
0
0
0
0
0
6
-4
-7
-18
0
-18
0
0
-2
-40
-40
20
42
0
0
0
0
-1
0
1
-13
49
0
0
0
0
0
-4
3
3
33
0
0
0
0
0
-1
2
1
-46
0
-8
0
0
-32
21
-27
-9
21
0
0
0
0
18
-32
33
2
-35
-12
0
0
0
0
32
15
-18
-21
-11
0
0
0
1
11
0
15
-21
5
9
1
0
-77
31
-51
-43
-41
10
0
0
0
-9
-9
-37
6
20
8
0
0
0
-2
32
13
-63
-37
29
0
0
-1
1
-11
25
15
-2
24
-85
27
0
-21
-26
-30
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-16
24
33
0
0
0
0
-2
8
-46
-19
8
0
0
0
0
18
-1
-2
-2
-24
0
0
0
0
0
8
-15
3
-11
0
0
0
0
9
16
-21
-52
38
0
0
0
0
-10
7
38
-52
32
0
0
0
0
4
8
8
-35
37
0
0
0
0
1
-8
-2
-2
-2
0
0
0
0
-1
-36
30
11
9
0
0
0
0
0
2
6
-39
9
0
0
0
0
8
0
-19
2
20
0
0
0
0
-1
8
-34
1
39
0
0
0
0
0
51
-14
-18
6
0
0
0
0
0
-2
17
27
-13
0
0
0
0
10
32
18
5
14
0
0
0
0
8
-14
19
9
15
0
0
0
0
4
-43
-35
-26
51
0
0
0
0
2
4
-39
21
19
0
0
0
0
-2
-9
-13
20
75
0
0
0
0
0
-4
-14
-5
13
0
0
0
0
-3
-11
-38
64
18
0
0
0
0
0
-9
-12
-7
39
0
0
0
0
1
5
12
-44
50
0
0
0
0
7
-13
9
-2
-3
0
0
0
0
-13
-8
20
-9
3
0
0
0
0
0
6
-7
-27
44
0
0
0
0
-35
-4
51
-61
55
0
0
0
0
1
-6
27
-16
-39
0
0
0
0
-6
-15
12
-12
21
0
0
0
0
8
-17
6
8
5
0
0
0
0
29
-10
-5
-12
-13
0
0
0
0
14
-8
3
9
12
0
0
0
0
0
7
80
-30
7
0
0
0
16
3
1
13
19
3
0
0
0
0
0
0
3
-10
-15
0
0
0
-1
0
-7
-11
-29
3
0
0
0
0
0
-1
0
-17
5
0
0
0
5
0
1
-32
3
21
0
0
0
0
0
-1
3
-40
33
0
0
0
-1
0
-2
9
-49
-2
0
0
0
0
6
0
-41
-10
9
0
0
0
5
0
3
-13
14
1
0
0
0
0
0
-4
-4
33
24
0
0
0
19
0
-1
5
-26
14
0
0
0
0
0
0
21
-1
-20
0
0
0
1
0
-8
0
-75
52
0
0
0
0
0
-1
1
-1
5
0
0
0
-28
0
3
-28
9
33
0
0
0
0
0
0
-30
-3
4
0
0
0
-2
0
0
7
-19
4
0
0
0
0
0
-1
8
2
26
0
0
0
-2
0
3
25
-17
-4
0
0
0
0
0
0
7
-2
-6
0
0
0
-24
0
0
-6
-41
16
0
0
0
0
0
0
7
-17
-2
0
0
0
-1
0
-25
37
-22
24
0
0
0
0
0
0
-65
7
6
0
0
0
-17
0
3
-4
18
-15
0
0
0
0
0
-11
3
-28
-5
0
0
0
11
0
-11
-10
0
16
0
0
0
0
0
0
-24
-14
-38
0
0
0
17
-1
-1
19
-9
-6
0
0
0
0
0
-8
-4
-1
11
0
0
0
6
24
21
-26
-26
25
0
0
0
0
1
0
-55
0
34
0
0
0
0
0
0
-13
-3
12
0
0
0
0
1
-3
-12
18
-30
0
0
0
0
0
-1
24
-23
6
0
0
0
0
0
0
10
24
6
0
0
0
0
0
-2
-3
-15
6
0
0
0
0
0
0
-3
-17
40
0
0
0
0
0
-19
5
45
-15
0
0
0
0
0
2
-25
-46
27
0
0
0
0
0
0
-3
-12
1
0
0
0
0
0
8
7
9
-22
0
0
0
0
0
0
-20
17
-2
0
0
0
0
0
3
1
18
-40
0
0
0
0
0
0
-8
-23
-7
0
0
0
0
0
6
32
-20
-23
0
0
0
0
0
0
-15
-1
12
0
0
0
0
0
1
13
-30
0
0
0
0
0
0
0
3
12
19
0
0
0
0
0
1
-21
-15
60
0
0
0
0
0
7
-10
-44
44
0
0
0
0
0
0
-2
-18
13
0
0
0
0
0
0
-3
-12
26
0
0
0
0
0
0
0
32
9
0
0
0
0
0
2
13
-25
21
0
0
0
0
0
0
11
-2
-3
0
0
0
0
0
1
-1
-10
-4
0
0
0
0
0
0
1
-15
-26
0
0
0
0
0
3
-2
-39
28
0
0
0
0
0
0
14
-13
32
0
0
0
0
0
-2
7
0
-11
0
0
0
0
2
6
-5
-5
-2
0
0
0
0
-32
-48
16
-24
8
0
0
0
0
3
3
1
-59
3
0
0
0
0
0
0
8
2
17
0
0
0
0
0
0
13
-37
-6
0
0
-12
1
0
0
12
22
20
0
0
0
0
0
0
0
-49
-4
0
0
0
0
0
-4
-23
30
-19
0
0
0
0
0
0
6
8
-24
0
0
1
0
0
-1
18
5
4
0
0
0
0
0
0
6
-21
9
0
0
0
0
0
0
-3
-16
17
0
0
0
0
0
1
17
-34
13
0
0
-14
0
0
0
0
8
-16
0
0
0
0
0
-9
-11
-3
36
0
0
0
0
0
1
36
-35
-39
0
0
0
0
0
-1
4
15
-13
0
0
-2
0
0
-11
1
-27
32
0
0
0
0
0
-1
-17
-19
37
0
0
0
0
0
0
26
-6
30
0
0
0
0
0
0
12
-27
-18
0
0
-22
1
0
0
-21
59
-8
0
0
0
0
0
-1
4
-42
41
0
0
0
0
0
1
-10
35
-8
0
0
0
0
0
0
10
-14
9
0
0
41
0
0
-7
4
15
15
0
0
0
0
0
2
9
-35
30
0
0
0
0
0
0
25
-34
8
0
0
0
0
0
1
-31
36
-8
0
0
-26
0
0
0
20
36
-21
0
0
0
0
0
-1
13
-25
8
0
0
0
1
0
0
42
-22
1
0
0
0
0
0
6
-31
-37
55
0
0
24
10
-13
16
-14
-11
6
0
0
0
0
8
4
16
-22
16
0
0
0
0
0
-1
35
-24
33
0
0
0
0
0
0
36
-14
-16
0
0
0
0
0
1
14
-41
18
0
0
0
0
0
6
13
-22
19
0
0
0
0
0
3
-1
-4
-7
0
0
0
0
0
0
1
49
-17
0
0
0
0
0
-2
12
-26
10
0
0
0
0
0
-9
-13
8
13
0
0
0
0
0
-3
0
33
-23
0
0
0
0
0
2
-17
-38
19
0
0
0
0
0
5
-59
-4
33
0
0
0
0
-1
-4
2
-3
16
0
0
0
0
0
0
-11
0
16
0
0
0
0
0
-8
-3
4
45
0
0
0
0
-1
10
-10
8
20
0
0
0
0
-4
-19
36
-44
1
0
0
0
0
0
-2
2
-4
21
0
0
0
0
0
-2
-22
11
-7
0
0
0
0
0
0
21
45
-39
0
0
0
0
0
-1
-21
4
0
0
0
0
0
0
-1
13
11
-3
0
0
0
0
0
1
6
-13
-24
0
0
0
0
0
-15
-3
-20
40
0
0
0
0
-14
0
-19
-28
19
0
0
0
0
0
0
3
-43
24
0
0
0
0
0
0
-29
0
24
0
0
0
0
0
27
-36
25
-59
0
0
0
0
0
7
-3
11
22
0
0
0
0
0
0
-1
-10
-14
0
0
0
0
-1
-10
45
25
-9
0
0
0
0
24
-9
10
-42
17
0
0
0
0
0
0
-1
24
-21
0
0
0
1
0
0
-6
-26
18
0
0
0
0
0
0
-4
-91
36
0
0
0
0
0
0
-4
6
9
0
0
0
0
0
0
6
15
8
0
0
0
0
0
0
28
18
0
0
0
0
0
0
0
-2
10
-12
0
0
0
0
0
0
1
-46
10
0
0
0
0
0
0
0
-23
9
0
0
0
0
0
0
3
-12
20
0
0
0
0
0
-1
12
-1
-34
0
0
0
0
0
0
9
18
-12
0
0
0
0
0
0
-4
-7
50
0
0
0
1
0
0
0
-2
-7
0
0
0
0
0
0
7
-2
3
0
0
0
0
0
0
45
0
-40
0
0
0
0
0
0
-6
-10
47
0
0
0
8
0
-1
-49
-3
13
0
0
0
0
0
0
0
20
-28
0
0
0
0
0
0
-27
-15
21
0
0
0
0
0
0
0
-4
13
0
0
0
0
0
0
-6
22
-8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
-5
9
0
0
0
0
0
0
1
-6
-21
0
0
0
1
0
0
13
-17
10
0
0
0
0
0
-2
-12
-35
37
0
0
0
-2
0
0
-29
15
54
0
0
0
0
0
0
-21
5
3
0
0
0
-4
0
0
-1
28
-65
0
0
0
0
-2
0
-41
1
45
0
0
0
-16
0
9
-42
6
12
0
0
0
0
1
-3
2
-11
11
0
0
0
0
0
0
0
-50
55
0
0
0
0
0
0
-10
-14
27
0
0
0
0
0
0
17
0
-17
0
0
0
0
0
-1
1
6
7
0
0
0
0
0
0
1
-4
-26
0
0
0
0
0
0
0
0
5
0
0
0
0
0
2
13
-4
-14
0
0
0
0
0
0
0
16
-17
0
0
0
0
0
0
1
-4
-2
0
0
0
0
0
0
3
9
31
0
0
0
0
0
0
36
2
-11
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
9
0
0
0
0
0
6
-24
3
-36
0
0
0
0
0
-4
8
-15
19
0
0
0
0
0
0
0
-28
58
0
0
0
0
0
0
3
9
-9
0
0
0
0
0
0
0
-60
8
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
-4
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
-13
-4
0
0
0
0
0
1
3
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-10
2
-18
0
0
0
0
0
0
-1
24
-1
0
0
0
0
0
0
-15
-10
26
0
0
0
0
0
-4
0
0
36
0
0
0
0
-1
0
0
3
-3
0
0
0
0
10
-22
9
8
-16
0
0
0
0
0
-7
69
-56
24
0
0
0
0
0
3
-10
-16
2
0
0
0
0
0
6
-21
7
29
0
0
-3
0
0
4
35
7
4
0
0
0
0
0
0
1
-17
26
0
0
0
0
0
0
47
-44
42
0
0
0
0
0
0
14
28
-75
0
0
0
0
0
-21
6
3
-5
0
0
0
0
0
-5
6
6
26
0
0
0
0
0
0
13
-16
-10
0
0
0
0
0
3
12
5
-38
0
0
0
0
0
-8
-12
-27
52
0
0
0
0
0
-1
1
-4
-2
0
0
0
0
0
3
-21
-8
7
0
0
0
0
0
-1
-22
-25
37
0
0
0
0
0
-31
-23
49
-8
0
0
0
0
0
3
-15
56
-32
0
0
0
0
0
0
-7
-33
36
0
0
0
0
0
-2
-14
-16
36
0
0
4
0
0
-2
-1
5
17
0
0
0
0
0
6
0
-41
20
0
0
0
0
0
-1
10
6
-26
0
0
0
0
0
0
-34
22
-5
0
0
0
0
0
-35
7
0
24
0
0
0
0
0
-3
32
0
-17
0
0
0
0
0
2
20
-39
-22
0
0
0
0
0
0
-11
-2
17
0
0
2
0
0
-7
-13
46
1
0
0
0
0
0
3
4
15
-16
0
0
0
1
0
-4
12
37
-31
0
0
0
0
-4
38
-26
-51
35
0
0
-7
0
0
-46
16
-54
13
0
0
0
0
13
-4
-8
30
-14
0
0
0
0
0
0
-12
4
-3
0
0
0
0
0
3
11
-6
17
0
0
0
0
0
10
3
-51
16
0
0
0
0
0
9
27
17
-31
0
0
0
0
0
-2
2
-47
4
0
0
0
0
0
3
-27
-23
55
0
0
0
0
0
19
-11
-29
16
0
0
0
0
-9
16
-34
4
10
0
0
0
0
0
7
-3
65
-26
0
0
0
0
-1
5
-23
-42
29
0
0
0
0
0
-12
-5
-15
49
0
0
0
0
0
0
-2
3
21
0
0
0
0
0
1
11
-3
14
0
0
0
0
6
-3
-10
-7
37
0
0
0
0
-1
3
25
-3
-1
0
0
0
0
-25
11
-27
10
45
0
0
0
0
0
-4
-7
46
-16
0
0
0
0
0
2
14
44
5
0
0
0
0
0
-3
23
19
19
0
0
0
0
1
-23
-4
-7
-17
0
0
0
0
0
1
15
25
-17
0
0
0
0
0
2
1
-3
56
0
0
0
0
3
-1
41
-17
3
0
0
0
0
-17
4
-6
6
9
0
0
0
0
0
-1
2
-7
5
0
0
0
0
2
-6
2
-33
16
0
0
0
0
0
-14
24
-48
30
0
0
0
0
8
-11
3
19
9
0
0
0
0
0
-4
-8
-37
53
0
0
0
0
-7
-52
35
52
-17
0
0
0
0
-12
-42
27
5
4
0
0
0
0
0
0
-43
-10
10
0
0
0
-24
0
4
-7
14
4
0
0
0
0
0
0
-5
-5
16
0
0
0
8
0
0
-1
3
0
0
0
0
0
0
0
6
-38
30
0
0
0
9
0
0
0
-14
-3
0
0
0
0
0
0
0
-14
1
0
0
0
0
0
0
51
-4
10
0
0
0
0
0
0
-11
1
55
0
0
0
0
0
0
0
-11
16
0
0
0
0
0
2
9
-32
2
0
0
0
-3
0
2
-50
-30
77
0
0
0
0
0
0
0
-4
7
0
0
0
-2
0
0
0
4
18
0
0
0
0
0
-4
1
-7
34
0
0
0
-1
0
1
7
-49
-15
0
0
0
0
0
0
9
23
0
0
0
0
6
0
1
-1
-36
35
0
0
0
0
0
0
0
-7
17
0
0
0
0
0
0
12
-14
-41
0
0
0
0
0
0
1
-4
6
0
0
0
3
0
0
0
-15
-1
0
0
0
0
0
0
0
-35
20
0
0
0
0
0
0
-2
-22
1
0
0
0
0
0
0
1
-13
14
0
0
0
25
0
-1
1
-29
-44
0
0
0
0
0
0
1
-24
13
0
0
0
0
0
0
-10
7
36
0
0
0
0
0
-2
-2
-1
29
0
0
0
-17
0
-1
2
20
-15
0
0
0
0
0
-1
0
-7
34
0
0
0
16
-6
31
24
-8
-13
0
0
0
0
1
7
5
-4
6
0
0
0
0
0
0
2
24
-26
0
0
0
0
0
-2
7
-11
31
0
0
0
0
0
0
-43
15
34
0
0
0
0
0
0
0
-1
28
0
0
0
0
0
0
-8
29
-54
0
0
0
0
0
0
0
-14
-7
0
0
0
0
0
0
-25
30
5
0
0
0
0
0
3
-3
7
-3
0
0
0
0
0
0
0
-45
48
0
0
0
0
1
0
1
4
-39
0
0
0
0
0
0
-9
-40
16
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-20
1
0
0
0
0
0
-1
-7
1
12
0
0
0
0
0
0
8
9
-26
0
0
0
0
0
0
2
-44
-10
0
0
0
0
0
-2
0
11
-1
0
0
0
0
0
0
-9
-28
-11
0
0
0
0
0
0
0
4
37
0
0
0
0
0
0
0
-5
-56
0
0
0
0
0
0
-1
2
10
0
0
0
0
0
0
-41
-6
9
0
0
0
0
1
-1
0
1
-7
0
0
0
0
0
0
-1
22
-9
0
0
0
0
0
-1
-1
13
-4
0
0
0
0
0
1
-8
-29
-7
0
0
0
0
-1
0
0
-21
15
0
0
0
0
0
0
6
-43
36
0
0
0
0
-2
0
1
4
34
0
0
0
0
-11
-25
-42
10
-12
0
0
0
0
0
4
13
-10
0
0
0
0
0
0
0
-23
-21
14
0
0
0
0
0
0
8
-8
29
0
0
2
0
0
0
-27
28
33
0
0
0
0
0
-1
5
37
1
0
0
0
0
0
0
1
-11
-16
0
0
0
0
0
0
-6
18
-30
0
0
0
0
0
7
9
34
-7
0
0
0
0
0
0
13
6
8
0
0
0
0
0
0
0
6
16
0
0
0
0
0
0
18
-49
34
0
0
-2
0
0
0
24
-2
-46
0
0
0
0
0
0
0
-5
3
0
0
0
0
0
0
2
-10
52
0
0
0
0
0
-1
9
2
-15
0
0
0
0
0
3
-34
35
-18
0
0
0
0
0
1
-9
-2
7
0
0
0
0
0
0
10
1
-28
0
0
0
0
0
0
1
-33
15
0
0
-2
0
0
0
1
-26
-8
0
0
0
0
0
-2
-11
20
-2
0
0
0
0
0
0
-32
-40
48
0
0
0
0
0
0
2
42
-7
0
0
0
0
0
10
12
3
-35
0
0
0
0
0
0
-1
-9
31
0
0
0
0
0
0
6
-35
-3
0
0
0
0
0
0
10
-69
-46
0
0
6
0
0
0
-10
0
3
0
0
0
0
0
0
9
-22
14
0
0
0
1
0
0
-3
-9
-34
0
0
0
0
0
0
11
-49
-4
0
0
11
-24
3
-18
-29
-27
45
0
0
0
0
0
3
-14
-6
39
0
0
0
0
0
2
-10
-29
19
0
0
0
0
0
0
-4
-13
-10
0
0
0
0
0
0
19
-29
25
0
0
0
0
0
-3
0
2
5
0
0
0
0
0
0
1
3
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
24
-4
-52
0
0
0
0
0
0
0
-5
11
0
0
0
0
0
0
0
-4
23
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
-2
0
1
8
0
0
0
0
0
0
3
0
11
0
0
0
0
0
0
0
-1
7
0
0
0
0
1
0
-8
1
8
0
0
0
0
2
-4
17
9
-32
0
0
0
0
0
0
0
-11
19
0
0
0
0
0
0
1
0
-6
0
0
0
0
0
0
1
-6
16
0
0
0
0
0
-1
0
3
51
0
0
0
0
0
0
4
-24
0
0
0
0
0
0
1
-1
5
1
0
0
0
0
0
1
27
24
-60
0
0
0
0
3
0
0
-4
4
0
0
0
0
0
0
1
1
-21
0
0
0
0
0
0
7
-8
3
0
0
0
0
0
0
6
-10
35
0
0
0
0
1
2
8
2
-28
0
0
0
0
0
-1
2
-1
48
0
0
0
0
-1
0
3
-11
-7
0
0
0
0
-20
0
6
-39
13
0
0
0
0
0
0
0
-48
31
0
0
0
0
0
0
-6
-27
32
0
0
0
0
0
0
6
-20
35
0
0
0
0
0
0
-29
-9
28
0
0
0
0
0
0
-5
-8
2
0
0
0
0
0
0
0
1
-24
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-2
7
20
-23
0
0
0
0
0
0
0
8
31
0
0
0
0
0
0
0
5
-15
0
0
0
0
0
0
0
-9
28
0
0
0
0
0
0
7
-24
-48
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
-1
0
23
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
3
0
34
0
0
0
0
0
0
4
-18
-6
0
0
0
-1
0
0
-3
-35
-21
0
0
0
0
0
0
-3
-4
29
0
0
0
0
0
0
-11
5
-16
0
0
0
0
0
0
0
12
14
0
0
0
0
0
0
0
-2
-19
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
4
-2
2
0
0
0
0
0
0
0
-33
11
0
0
0
0
0
0
-2
9
13
0
0
0
0
0
0
-2
1
9
0
0
0
0
0
0
2
-12
3
0
0
0
0
0
0
0
-12
-9
0
0
0
0
0
-2
1
15
12
0
0
0
0
0
0
0
-6
-6
0
0
0
10
2
-32
-10
4
17
0
0
0
0
-5
0
3
64
9
0
0
0
0
0
0
0
6
11
0
0
0
0
0
0
0
-32
15
0
0
0
0
0
-1
-3
-5
17
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
-9
40
0
0
0
0
0
0
1
2
27
0
0
0
0
0
8
-25
-21
-17
0
0
0
0
0
-2
1
0
29
0
0
0
0
0
0
0
-2
34
0
0
0
0
-2
0
1
9
-9
0
0
0
0
0
-2
-1
13
0
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
2
-1
3
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
1
1
-2
45
0
0
0
0
-1
0
-4
-18
11
0
0
0
0
0
0
0
5
-28
0
0
0
0
0
0
-1
-8
4
0
0
0
0
0
-1
-4
7
13
0
0
0
0
0
0
-1
-3
-50
0
0
0
0
0
0
-6
-6
-12
0
0
0
0
0
0
-1
11
-4
0
0
0
0
0
1
-7
-42
9
0
0
0
0
0
0
-1
1
34
0
0
0
0
0
-3
0
-3
0
0
0
0
0
1
0
0
0
-3
0
0
0
0
0
0
-7
-6
-12
0
0
0
0
-1
2
-1
-9
11
0
0
0
0
0
-2
0
20
18
0
0
0
0
-7
0
1
21
-26
0
0
0
0
8
16
19
-36
2
0
0
0
0
0
9
2
84
-22
0
0
0
0
0
2
-34
40
-8
0
0
0
0
0
0
15
-14
31
0
0
-1
0
0
0
-19
-5
27
0
0
0
0
0
1
5
-8
9
0
0
0
0
0
0
1
27
-35
0
0
0
0
0
0
37
-54
11
0
0
0
0
0
-6
16
-6
7
0
0
0
0
0
-20
7
-1
3
0
0
0
0
0
0
4
-10
28
0
0
0
0
0
2
-6
48
-22
0
0
0
0
0
1
-2
8
4
0
0
0
0
0
-6
0
1
36
0
0
0
0
0
-1
-2
6
-13
0
0
0
0
2
-10
1
0
7
0
0
0
0
3
2
18
-62
-5
0
0
0
0
0
7
-9
-1
3
0
0
0
0
0
0
21
-58
1
0
0
0
0
0
4
-7
-7
20
0
0
0
0
0
1
9
-30
-38
0
0
0
0
0
-6
1
6
-6
0
0
0
0
0
1
34
-16
-55
0
0
0
0
0
0
-7
22
4
0
0
0
0
0
-10
27
-43
0
0
0
0
0
0
17
-9
-34
38
0
0
0
0
0
0
7
-28
28
0
0
0
0
0
12
-30
27
-45
0
0
6
0
0
3
-13
-20
-25
0
0
0
0
0
3
-22
11
54
0
0
0
0
0
4
-12
-47
24
0
0
0
0
0
-4
7
-8
-42
0
0
7
5
-24
-30
16
-39
3
0
0
0
0
-59
-14
-25
17
47
0
0
0
0
0
-7
3
-54
16
0
0
0
0
-1
-4
-5
-24
8
0
0
0
0
0
8
2
-25
3
0
0
0
0
-3
0
-5
24
18
0
0
0
0
-1
-3
24
-1
6
0
0
0
0
1
4
-11
11
6
0
0
0
0
-2
-44
13
32
15
0
0
0
0
-39
-6
-29
-23
96
0
0
0
0
0
0
2
-26
-44
0
0
0
0
-3
-11
-6
30
40
0
0
0
0
0
18
-4
-14
24
0
0
0
0
0
-5
0
5
2
0
0
0
0
-2
2
0
14
-20
0
0
0
0
7
-8
6
20
-23
0
0
0
0
-35
17
69
-21
11
0
0
0
0
-14
-33
9
-37
-8
-2
0
0
0
0
4
-3
0
11
0
0
0
0
-2
-11
13
32
25
1
0
0
0
0
-8
7
29
13
-8
0
0
0
3
4
-34
14
42
-1
0
0
0
0
0
-19
30
-24
8
0
0
0
6
-8
-1
45
-49
12
0
0
0
12
12
42
-56
10
8
0
0
0
-15
10
49
3
31
7
0
0
0
0
1
-1
-11
-1
9
0
0
0
-5
-5
-2
-43
58
5
0
0
0
3
14
-31
-23
38
8
0
0
0
36
13
-26
-50
23
5
0
0
0
0
-3
0
13
50
12
0
0
0
-7
24
-9
-45
61
-1
0
0
0
70
49
16
-3
45
12
0
0
0
0
1
18
16
-41
0
0
0
-5
0
0
1
-1
-2
0
0
0
0
0
0
8
-27
42
0
0
0
8
0
0
-7
-20
7
0
0
0
0
0
0
-3
-34
8
0
0
0
1
0
0
2
-7
9
0
0
0
0
0
0
-1
3
1
0
0
0
-4
0
0
18
-17
-11
0
0
0
0
0
-1
1
7
4
0
0
0
4
0
-3
0
-21
24
0
0
0
0
0
0
0
-6
-22
0
0
0
0
0
1
-5
32
3
0
0
0
0
0
0
0
16
6
0
0
0
1
0
0
0
22
2
0
0
0
0
0
0
0
-8
10
0
0
0
5
0
-14
-3
-15
42
0
0
0
0
0
0
3
-44
21
-5
0
0
-6
0
0
0
4
33
-15
0
0
0
0
0
0
-7
-6
-15
0
0
0
0
-2
-7
-18
-69
-13
0
0
0
0
0
0
-48
85
2
0
0
1
0
0
1
-23
50
-11
0
0
0
0
0
-2
11
6
19
0
0
0
0
0
-12
29
12
0
0
0
0
-1
0
3
48
-14
-1
0
0
-7
0
0
-4
-19
27
22
0
0
0
0
0
-2
-35
-21
0
0
0
-14
0
-2
-8
-56
59
16
0
0
0
0
0
0
26
5
8
0
0
14
0
-1
2
3
-20
-16
0
0
0
3
0
0
-15
-35
-1
0
0
50
-5
-8
-4
-26
0
1
0
0
0
2
0
0
-35
2
0
0
0
0
0
0
0
-21
25
0
0
0
0
0
-1
0
14
-20
0
0
0
0
0
0
-1
-14
-2
0
0
0
0
0
0
-2
5
-2
0
0
0
0
0
0
0
15
-6
0
0
0
0
0
-3
0
-8
2
0
0
0
0
0
3
-54
-16
11
0
0
0
0
0
0
4
-1
18
0
0
0
0
0
0
0
-10
-7
0
0
0
0
0
0
1
13
10
0
0
0
0
0
-3
-4
-5
14
0
0
0
0
0
0
0
-33
8
0
0
0
0
0
-1
1
-9
-23
0
0
0
0
0
-4
0
13
-9
0
0
0
0
1
-5
-5
-18
13
0
0
0
0
7
0
1
-44
39
-11
0
0
0
0
0
0
-31
-17
15
0
0
0
0
0
-3
27
-7
-13
0
0
0
0
0
-3
-44
22
5
0
0
0
0
0
0
9
-14
-5
0
0
0
0
0
1
8
17
-4
0
0
0
0
0
-1
-17
0
1
0
0
0
0
0
-34
26
1
-1
0
0
0
0
-1
1
-48
59
-11
0
0
0
0
0
0
23
-8
-10
0
0
0
0
1
0
7
21
-15
0
0
0
0
-1
-6
-24
13
-9
0
0
0
0
0
0
21
2
-11
0
0
0
0
0
6
-6
7
-7
0
0
0
0
-7
0
-5
0
-20
0
0
0
26
9
19
11
6
-2
0
0
0
0
0
9
-13
5
0
0
0
0
0
-2
5
-54
25
0
0
0
0
0
0
13
21
-21
0
0
-8
0
0
-1
-17
32
16
0
0
0
0
0
-1
24
-23
-11
0
0
0
0
0
0
-6
-2
23
0
0
0
0
0
1
4
-16
0
0
0
0
0
0
-1
-18
-6
40
0
0
0
0
0
-2
1
-20
11
0
0
0
0
0
0
0
4
2
0
0
0
0
0
2
3
-13
16
0
0
-6
0
0
4
4
-5
-9
0
0
0
0
0
0
0
-7
-3
0
0
0
0
0
0
0
2
-19
0
0
0
0
0
0
0
-45
-1
0
0
0
0
0
-7
-1
-4
8
0
0
0
0
0
0
21
44
50
-2
0
0
0
0
0
-9
-70
-34
4
0
0
0
0
2
-3
-105
-13
11
0
-27
0
0
1
12
-45
10
-8
0
0
0
0
0
-2
-50
22
4
0
0
0
0
0
6
-20
-26
6
0
0
0
0
0
0
15
1
-30
0
-1
0
0
0
-19
-70
-9
6
0
0
0
0
0
-4
21
8
-6
0
0
0
0
0
6
6
5
-4
0
0
0
0
0
8
13
-19
-18
0
86
0
0
-1
4
21
-58
-53
0
0
0
0
0
-5
28
37
-30
0
0
0
0
0
2
4
15
-52
0
0
0
0
0
-5
-54
9
15
0
-14
-1
1
-22
-17
-10
42
-5
0
0
0
5
2
-25
-19
34
0
0
0
0
0
0
0
0
43
0
0
0
0
-1
-3
-27
-12
38
0
0
0
0
0
7
-30
-24
27
0
0
0
0
0
-2
0
-2
-20
0
0
0
0
0
0
-11
2
17
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
-3
-7
10
-5
0
0
0
0
3
0
1
-15
16
0
0
0
0
0
0
-1
-7
43
0
0
0
0
0
0
-4
5
22
0
0
0
0
0
2
8
-8
-15
0
0
0
0
0
-2
4
0
28
0
0
0
0
0
0
0
2
-8
0
0
0
0
2
0
-2
3
7
0
0
0
0
-4
-17
51
6
-6
0
0
0
0
-3
1
-8
2
28
-23
0
0
0
0
0
3
-10
35
0
0
0
0
0
0
15
-2
-19
-6
0
0
0
0
-9
-3
12
70
-36
0
0
0
0
-4
0
-3
-47
38
0
0
0
0
2
-1
0
-3
-6
0
0
0
-7
-1
1
5
-3
9
0
0
0
0
7
16
-34
-8
12
0
0
0
0
1
2
-15
23
-5
0
0
0
0
0
2
-18
-15
51
0
0
0
0
0
3
3
-6
-16
0
0
0
0
-5
-4
-9
-72
33
0
0
0
0
0
0
4
3
2
0
0
0
0
0
1
-46
-6
5
0
0
0
-5
0
0
-11
4
12
0
0
0
9
12
42
-21
9
-20
0
0
0
0
-1
10
28
-42
0
0
0
-1
0
0
2
-3
-6
0
0
0
0
0
0
-12
-4
-11
0
0
0
0
0
0
0
-43
44
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
3
-1
2
0
0
0
0
0
-3
-25
-1
4
0
0
0
0
0
0
3
5
-5
0
0
0
0
0
0
0
-23
61
0
0
0
0
0
0
6
-3
7
0
0
0
0
0
0
-5
19
-6
0
0
0
0
0
0
0
-6
-6
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
-16
0
0
0
0
1
1
4
-4
-17
0
0
0
0
0
0
0
-4
9
-17
0
0
0
0
0
0
14
7
19
0
0
0
0
0
-1
-7
15
3
0
0
0
0
0
4
-17
-11
-15
0
0
0
0
0
1
1
-22
-12
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
0
9
-25
0
0
0
0
1
-1
0
3
-64
0
0
0
0
0
0
24
-35
-25
0
0
4
0
0
-12
-10
11
-10
0
0
0
0
0
-2
-3
-51
22
0
0
0
0
0
0
1
-1
16
0
0
0
0
0
0
0
-25
-28
0
0
-7
0
0
1
0
-7
1
0
0
0
0
0
2
-6
7
-10
0
0
8
1
-3
13
-15
18
-7
0
0
0
-2
0
-1
-23
4
0
0
0
0
0
0
2
-11
0
0
0
0
0
0
0
1
1
4
0
0
0
0
0
0
-3
-36
4
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-8
2
0
0
0
0
0
0
2
-4
14
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
1
4
-6
0
0
0
0
0
0
1
2
10
-6
0
0
0
0
0
-1
2
-49
3
0
0
0
0
0
0
7
-29
3
0
0
0
0
0
0
27
0
-18
0
0
0
0
0
0
0
7
-10
0
0
0
0
0
0
0
-1
-33
0
0
0
0
0
0
0
0
-55
0
0
0
0
0
0
6
0
-4
0
0
0
2
0
1
2
-4
31
0
0
0
0
0
0
1
-11
32
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
-4
-1
-1
-18
0
0
0
0
0
0
-10
2
-30
0
0
0
0
0
0
-5
-3
8
0
0
0
1
0
0
3
0
-27
0
0
0
-11
5
-20
27
2
-2
0
0
0
0
3
-22
-1
-7
0
0
0
0
0
0
-1
-17
9
0
0
0
0
0
-1
10
-21
7
0
0
0
0
0
0
44
-67
28
0
0
0
0
0
3
-5
-2
2
0
0
0
0
0
0
3
1
13
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
1
-47
13
7
0
0
0
0
0
1
-2
18
8
0
0
0
0
0
0
5
8
8
0
0
0
0
0
1
-16
-12
19
0
0
0
0
0
4
-24
-1
-3
0
0
0
0
0
0
-3
0
-23
0
0
0
0
0
0
-7
1
4
0
0
0
0
0
0
-7
0
-3
0
0
0
0
0
6
18
-41
-13
0
0
0
0
1
2
1
17
29
-6
0
0
0
0
0
0
-35
61
15
0
0
0
0
-2
2
-10
-14
29
0
-1
0
0
1
-5
30
2
-22
0
0
0
0
0
1
3
-18
-15
0
0
0
0
0
0
7
-2
-39
0
0
0
0
1
0
-2
0
6
0
0
0
0
-1
4
2
1
-41
0
0
0
0
0
3
-4
26
-28
0
0
0
0
0
0
-17
12
-8
0
0
0
0
0
5
-4
-7
-30
0
-3
0
0
0
10
-16
3
13
0
0
0
0
-1
6
-2
-19
-20
0
0
0
0
0
10
-32
-10
-41
0
0
0
0
0
6
0
2
-44
0
-7
-1
0
-4
16
-3
-13
0
0
0
0
18
-17
30
-40
36
0
0
0
0
0
0
-3
-23
14
0
0
0
0
0
-2
14
18
10
0
0
0
0
1
0
33
-46
14
0
0
0
0
4
-28
-16
39
6
0
0
0
0
0
-1
-37
3
29
0
0
0
0
0
11
2
-14
-3
0
0
0
0
0
4
26
21
-42
0
0
0
0
-9
9
26
-16
-26
0
0
0
0
0
3
0
35
-2
0
0
0
0
0
-7
0
6
-26
0
0
0
0
0
1
14
-21
21
0
0
0
0
0
-2
-11
-8
45
0
0
0
0
0
0
-5
12
6
0
0
0
0
-2
0
1
1
2
0
0
0
0
16
34
-3
-23
7
0
0
0
0
10
5
-17
-60
-3
34
0
0
0
0
0
3
9
28
-18
0
0
0
0
0
-5
-22
1
-15
0
0
0
0
-4
35
10
7
-37
0
0
0
6
14
17
5
-37
-29
0
0
0
-1
4
0
3
4
-16
0
0
0
0
4
0
-11
-5
-28
0
0
0
0
-2
-3
0
-21
-5
0
0
0
5
-4
-2
-14
11
20
-10
0
0
0
0
3
-35
60
1
-3
0
0
0
2
-5
6
45
-2
10
0
0
0
-7
-22
-52
-16
-5
20
0
0
-42
-22
1
9
78
21
4
0
0
3
-3
30
-22
81
13
5
0
0
-23
-1
0
4
46
14
7
0
0
12
38
-18
10
1
-16
4
0
0
0
0
-10
28
7
0
0
0
-12
0
2
1
-13
-2
0
0
0
0
0
0
-8
-20
54
0
0
0
0
0
0
47
-3
-32
0
0
0
0
0
0
2
2
-10
0
0
0
1
0
0
3
-20
9
0
0
0
0
0
0
2
-10
-26
0
0
0
0
0
-1
32
-54
31
0
0
0
0
0
-3
1
1
29
0
0
0
0
0
0
0
4
22
0
0
0
0
0
2
-3
-28
25
0
0
0
0
0
-2
2
-33
34
0
0
0
0
0
0
0
-29
29
0
0
0
20
0
-3
1
-5
-19
0
0
0
0
0
4
0
-6
16
0
0
0
4
0
6
-3
53
-40
0
0
0
0
0
0
5
-44
7
-10
0
0
2
0
0
0
-53
13
12
0
0
0
0
0
0
-17
-11
7
0
0
0
0
1
-8
-9
17
3
0
0
0
0
0
-4
-2
4
37
0
0
-3
0
0
-11
32
-37
30
0
0
0
0
0
-1
-16
15
3
0
0
0
0
0
6
-66
60
-6
0
0
0
0
3
2
51
17
-6
9
0
20
0
0
0
13
14
-47
-6
0
0
0
0
-8
11
62
-20
-8
0
-2
0
0
-3
-18
-17
-14
10
0
0
0
0
0
24
36
-41
-26
0
12
0
1
3
19
-31
4
-6
0
0
0
0
0
0
17
8
9
0
49
6
-3
-15
-24
-14
-39
15
0
0
0
1
-1
-6
29
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
15
6
0
0
0
0
0
0
-5
45
-17
0
0
0
0
0
0
-1
-25
-13
0
0
0
0
0
0
-4
-6
-4
0
0
0
0
0
-9
2
-10
0
0
0
0
0
0
0
-46
-29
24
0
0
0
0
0
-4
6
6
-5
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
6
-18
-1
0
0
0
0
0
4
-7
8
6
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
1
2
1
0
0
0
0
0
-8
0
-1
0
0
0
0
0
0
-2
0
-2
2
0
0
0
0
0
0
-1
-1
-33
15
0
0
0
0
0
-4
5
-47
18
0
0
0
0
0
-1
-11
24
-9
0
0
0
0
-2
-1
46
-15
-14
0
0
0
0
0
0
-12
10
12
0
0
0
0
0
-1
-2
-5
19
0
0
0
0
0
0
-2
-7
-5
0
0
0
0
0
0
10
-3
-29
0
0
0
0
3
0
-1
27
-41
0
0
0
0
0
0
5
-29
24
-6
0
0
0
0
0
39
-2
-32
-4
0
0
0
0
0
-44
-10
-32
22
0
0
0
0
0
3
-6
-33
41
0
0
0
0
1
-14
9
15
-6
0
0
-1
0
0
-1
10
-57
18
0
0
-4
12
24
-42
-8
-6
0
0
0
0
0
-25
-46
33
0
0
0
0
0
0
0
-6
18
0
0
0
0
0
0
7
17
-24
0
0
20
0
0
1
9
-18
0
0
0
0
0
0
0
-15
-30
19
0
0
0
0
0
3
-3
-21
10
0
0
0
0
0
0
-2
5
1
0
0
-4
0
0
1
-9
4
16
0
0
0
0
0
0
5
-27
-5
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
-1
3
3
0
0
-10
0
0
-1
6
-48
0
0
0
0
0
0
-1
1
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
3
1
-8
-1
0
0
0
0
0
3
-5
7
5
0
0
0
0
0
0
8
1
-9
0
0
0
0
0
0
6
-8
38
-9
0
0
0
0
-7
-7
-26
33
-13
0
30
0
0
3
-29
-19
26
12
0
0
0
0
0
-2
26
-11
-9
0
0
0
0
0
-1
6
0
5
0
0
0
0
0
0
-25
1
-53
0
-4
0
0
0
-1
4
-2
-34
0
0
0
0
0
-10
48
-22
-16
-2
0
0
0
0
3
-14
23
-73
1
0
0
0
3
0
-5
0
-51
5
4
0
0
0
-2
-80
22
11
11
0
0
0
0
0
-4
-7
43
-8
0
0
0
0
-1
-2
-6
57
7
0
0
0
0
3
7
0
-57
14
-87
-6
2
-44
20
30
-11
-41
5
0
0
23
7
-28
-29
7
0
0
0
0
0
0
0
-55
24
0
0
0
0
-1
-3
16
6
15
0
0
0
0
0
4
13
-17
-11
0
0
0
0
0
2
-8
-4
6
0
0
0
0
0
0
21
-4
-15
0
0
0
0
0
-2
-5
15
-1
0
0
0
0
0
-24
45
-18
-4
0
0
0
0
-5
2
4
17
-13
0
0
0
0
0
0
1
-26
34
0
0
0
0
3
-11
-9
39
-31
0
0
0
0
0
-12
4
19
-43
0
0
0
0
0
-4
-2
0
6
0
0
0
0
0
2
-6
-2
21
0
0
0
0
0
-10
0
13
25
0
0
0
0
-1
48
-86
12
5
0
0
0
0
7
8
15
-11
-13
-9
0
0
0
0
0
1
16
50
-38
0
0
0
1
0
3
16
-14
-15
0
0
0
0
0
23
-36
30
-14
0
0
0
-4
-3
0
-24
44
-10
0
0
0
0
-1
0
-15
35
-5
0
0
0
8
4
0
-11
-8
-7
0
0
0
-4
1
-15
-9
24
1
0
0
0
17
0
2
13
-18
-28
15
0
0
0
0
-3
6
30
-6
-26
0
0
-3
0
0
-7
-4
-33
6
0
0
0
3
-3
1
24
2
-6
0
0
-8
1
0
1
33
-21
30
0
0
0
-1
-11
33
-3
12
15
0
0
-10
2
-1
-11
-13
-15
40
0
0
-13
-11
25
-37
18
-3
-13
0
0
0
-2
0
-1
14
0
0
0
-6
0
0
-4
-12
23
0
0
0
0
0
0
-4
25
-8
0
0
0
0
0
6
-18
8
10
0
0
0
0
0
0
-4
-33
59
0
0
0
0
0
0
-2
1
-43
0
0
0
0
0
-3
-3
0
3
0
0
0
0
0
0
-11
-4
-9
0
0
0
0
0
1
0
-5
16
0
0
0
-4
0
0
0
8
8
0
0
0
0
0
0
3
-20
40
0
0
0
0
0
1
3
0
-26
0
0
0
0
0
0
0
0
1
0
0
0
-4
0
0
-3
1
15
0
0
0
0
0
0
0
0
22
0
0
0
0
0
-11
16
-5
-6
0
0
0
0
0
0
0
-8
-19
5
0
0
-4
0
0
-1
-8
16
26
0
0
0
0
0
-2
-1
-2
15
0
0
0
0
0
11
15
-4
-13
0
0
0
0
0
-2
-8
-11
30
0
0
9
0
0
-2
-4
11
0
0
0
0
0
0
0
0
4
-63
0
0
0
0
0
0
-21
18
-4
0
0
0
0
0
0
-31
28
-56
0
0
-10
0
0
0
58
25
-51
-9
0
0
0
-1
0
1
5
10
11
0
6
0
0
-3
-16
-29
-19
15
0
0
0
0
0
-5
18
8
-11
0
1
0
3
0
0
5
-46
-21
0
0
-8
0
1
-3
-6
-12
-42
0
-93
0
-10
-51
-23
9
30
-1
0
0
0
-10
3
-24
46
0
0
0
0
0
0
-2
-43
15
0
0
0
0
0
0
5
-7
26
0
0
0
0
0
-1
-28
-27
9
0
0
0
0
0
5
-11
17
-28
0
0
0
0
0
0
-12
23
35
0
0
0
0
0
-6
0
0
8
0
0
0
0
0
-42
64
1
-5
0
0
0
0
-1
1
0
-20
11
0
0
0
0
0
0
2
-12
22
0
0
0
0
2
0
-2
19
-79
0
0
0
0
0
2
6
-3
-26
0
0
0
0
2
-1
0
1
0
0
0
0
0
0
0
0
-10
-24
0
0
0
0
0
1
-1
0
-5
0
0
0
0
1
-22
21
18
-59
0
0
0
0
-6
1
-3
15
31
26
0
0
0
0
0
-1
-1
19
1
0
0
0
0
0
3
-3
-18
6
0
0
0
0
0
-6
-11
1
-14
0
0
0
0
0
0
-17
8
-11
0
0
0
0
0
-1
8
-28
12
0
0
0
0
1
0
-5
2
-43
0
0
0
-3
13
4
6
0
-59
0
0
0
5
0
0
-10
-26
-26
16
0
0
0
-1
-1
-8
38
-9
24
0
0
0
-1
-13
6
39
-38
14
0
0
0
-3
6
-8
15
15
-22
0
0
0
0
0
1
4
-35
-7
0
0
1
0
-3
-9
7
-56
61
0
0
12
-4
0
1
0
-10
1
0
0
14
-47
-10
-49
-8
12
15
0
0
17
-18
-21
33
35
0
0
0
10
5
41
-2
33
0
0
0
0
0
-19
-30
23
18
0
0
0
22
31
1
-30
-35
-12
26
0
0
0
0
6
5
-7
-21
-7
0
0
0
57
2
-22
10
-33
32
0
0
0
0
-10
-27
-19
39
-12
0
0
0
3
-13
17
-10
-2
8
0
0
0
0
-7
3
34
29
-15
0
0
0
5
-8
-5
12
-24
-12
0
0
0
0
28
-34
-34
-24
23
0
0
-10
-14
0
22
-35
-41
12
0
0
0
0
-7
1
28
-13
19
0
0
0
-2
3
-15
22
-15
-32
0
0
0
0
1
16
-33
-19
-27
0
0
4
-7
-19
-12
-30
-32
11
0
0
0
0
23
63
4
26
0
-12
0
0
10
-1
-23
13
25
9
-7
0
0
0
0
19
16
-40
-13
10
0
-10
-1
3
-13
20
-26
-14
21
0
0
0
-12
-3
-4
10
3
2
0
0
-55
0
15
-10
-10
-5
-16
0
0
0
0
-30
7
18
6
-22
0
8
3
16
56
-27
-8
-18
-32
0
0
0
41
-19
-2
5
25
-7
2
0
38
1
-19
-31
18
6
-28
24
0
0
24
-17
-14
-23
22
-32
8
-43
-25
-9
-23
8
14
35
-11
-13
0
0
-25
18
31
36
-21
9
4
0
-20
-3
-16
-19
-51
-23
-6
1
0
0
20
-46
14
-22
-23
-5
-2
37
-51
-47
3
-33
-28
31
-3
-11
0
0
0
-3
-5
-18
6
0
0
0
0
0
0
-13
-24
19
0
0
0
0
-1
0
12
-42
28
0
0
0
0
0
0
-4
12
-11
0
0
0
0
0
0
0
-20
-22
0
0
0
0
0
0
-33
27
37
0
0
0
0
0
-9
-15
-5
19
0
0
0
0
0
32
20
-37
7
0
0
0
0
0
-5
-3
-9
18
0
0
0
0
0
1
-4
7
22
0
0
0
0
1
7
0
5
-8
0
0
0
0
0
-5
7
-11
1
0
0
0
0
-2
1
0
1
0
0
0
0
0
0
2
0
33
6
0
0
0
0
1
15
0
-5
6
0
0
0
0
4
6
63
-38
-2
0
0
0
0
2
-5
3
0
8
0
0
0
0
0
0
-1
11
-1
0
0
0
0
0
4
2
27
5
0
0
0
0
0
7
16
1
-13
0
0
0
0
-1
7
-1
-58
44
0
0
0
0
-1
0
12
8
6
0
0
0
0
6
-6
1
18
53
0
0
0
0
-3
3
11
-24
21
0
0
0
0
-5
-19
4
7
8
0
0
0
0
0
2
2
-19
-6
0
0
0
0
-1
-6
7
-19
34
0
0
0
0
0
11
0
-15
11
0
0
0
0
2
19
1
58
-32
0
0
0
0
4
-3
31
-26
2
0
0
0
0
23
-33
1
13
24
0
0
0
0
6
-26
9
11
8
0
0
0
0
0
0
0
-4
13
0
0
0
-9
0
0
0
-10
21
0
0
0
0
0
0
-1
-15
25
0
0
0
1
0
0
-20
-6
21
0
0
0
0
0
0
-6
29
8
0
0
0
0
0
1
-6
42
-8
0
0
0
0
0
0
0
-23
17
0
0
0
0
0
0
5
-23
19
0
0
0
0
0
0
2
-21
42
0
0
0
4
0
2
0
33
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
-1
-13
21
0
0
0
0
0
0
0
-3
24
0
0
0
2
0
-1
0
-1
34
0
0
0
0
0
0
-1
49
-20
0
0
0
-3
0
-1
-8
29
20
0
0
0
0
0
0
3
2
-14
0
0
0
-9
0
0
-3
-22
44
0
0
0
0
0
0
8
12
-57
0
0
0
0
0
0
1
24
-14
0
0
0
0
0
0
-1
26
6
0
0
0
-3
0
0
2
10
1
0
0
0
0
0
0
0
40
-11
0
0
0
0
0
-1
-8
-4
16
0
0
0
0
0
0
-2
2
-5
0
0
0
28
0
0
0
-36
-1
0
0
0
0
0
0
-3
-4
-6
0
0
0
-4
0
0
2
-3
18
0
0
0
0
0
0
0
12
4
0
0
0
29
0
-1
3
-2
-9
0
0
0
0
0
0
0
-13
-1
0
0
0
4
2
-15
-22
-40
13
0
0
0
0
0
1
0
-21
6
0
0
0
0
0
0
1
15
14
0
0
0
0
0
0
1
-29
6
0
0
0
0
0
0
-73
-11
56
0
0
0
0
0
0
0
3
43
0
0
0
0
0
0
-8
22
2
0
0
0
0
0
0
-4
-6
17
0
0
0
0
0
-8
-24
6
-19
0
0
0
0
0
0
7
-3
-13
0
0
0
0
0
0
0
24
-9
0
0
0
0
0
-3
2
-41
8
0
0
0
0
0
-1
-45
-1
10
0
0
0
0
0
0
2
-1
28
0
0
0
0
0
0
2
-35
19
0
0
0
0
0
0
0
-10
-11
0
0
0
0
0
-1
7
-47
41
0
0
0
0
0
-2
1
-41
48
0
0
0
0
0
0
3
-35
-5
0
0
0
0
0
0
-7
-28
-3
0
0
0
0
0
0
-4
9
43
0
0
0
0
0
0
0
9
9
0
0
0
0
0
0
-5
5
18
0
0
0
0
0
0
2
-4
28
0
0
0
0
0
-2
37
9
-43
0
0
0
0
0
0
1
-29
-5
0
0
0
0
0
0
-1
-27
41
0
0
0
0
0
0
-14
4
23
0
0
0
0
0
0
-54
31
57
0
0
0
0
0
0
5
4
33
0
0
0
0
0
-1
0
-13
53
0
0
0
0
-8
1
-1
-4
-20
0
0
0
0
24
4
-22
-16
-10
0
0
0
0
-1
-2
-5
3
10
0
0
0
0
0
0
27
-14
5
0
0
0
0
0
0
5
-8
8
0
0
45
0
0
0
-25
11
3
0
0
0
0
0
0
-19
9
-9
0
0
0
0
0
0
21
-3
-2
0
0
0
0
0
0
-17
-18
21
0
0
0
0
0
0
-11
-27
13
0
0
0
0
0
2
-6
18
-15
0
0
0
0
0
0
-20
-2
14
0
0
0
0
0
0
4
30
-8
0
0
-1
0
0
2
-1
39
-42
0
0
0
0
0
0
-1
-6
10
0
0
0
0
0
0
-15
43
-12
0
0
0
0
0
0
-13
46
-7
0
0
0
0
0
3
-16
2
9
0
0
0
0
0
-1
-2
10
38
0
0
0
0
0
0
36
-14
0
0
0
0
0
0
0
1
-43
67
0
0
-5
0
0
0
19
-2
-6
0
0
0
0
0
0
-2
25
1
0
0
0
0
0
0
-48
-1
35
0
0
0
0
0
0
2
-26
31
0
0
4
0
0
-3
-8
11
52
0
0
0
0
0
0
24
-2
10
0
0
0
2
0
0
-10
-36
33
0
0
0
0
0
0
24
-14
-1
0
0
8
0
0
0
36
-11
-8
0
0
0
0
0
0
-21
-11
26
0
0
0
0
0
0
24
-36
7
0
0
0
0
0
0
37
-5
-36
0
0
-3
-6
4
-9
6
-14
18
0
0
0
0
0
4
0
-51
22
0
0
0
0
0
0
-8
-60
-3
0
0
0
0
0
0
-2
7
-8
0
0
0
0
0
9
5
-20
7
0
0
0
0
0
0
0
-2
-23
0
0
0
0
0
0
-5
12
5
0
0
0
0
0
0
1
3
-17
0
0
0
0
0
9
-19
-26
37
0
0
0
0
0
0
-2
0
-15
0
0
0
0
0
0
0
-22
48
0
0
0
0
0
0
0
1
28
0
0
0
0
0
0
1
-25
-26
0
0
0
0
0
0
-1
4
20
0
0
0
0
0
0
0
6
6
0
0
0
0
0
-2
1
-3
22
0
0
0
0
0
-8
-12
6
44
0
0
0
0
0
-3
0
8
-4
0
0
0
0
0
0
2
-24
39
0
0
0
0
0
0
7
7
0
0
0
0
0
0
-2
3
-21
-2
0
0
0
0
0
0
0
-1
-11
0
0
0
0
0
0
-9
26
-42
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-3
44
-23
-4
0
0
0
0
0
0
6
6
-41
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
2
-10
3
0
0
0
0
0
0
4
-39
9
0
0
0
0
3
0
0
-8
26
0
0
0
0
0
0
4
-9
-20
0
0
0
0
0
1
8
0
-21
0
0
0
0
-22
-13
1
-5
42
0
0
0
0
0
0
-1
-16
-4
0
0
0
2
0
0
3
-54
15
0
0
0
0
0
0
2
-21
47
0
0
0
0
0
0
-35
-22
24
0
0
0
0
0
0
0
26
-1
0
0
0
0
0
0
-24
-5
-6
0
0
0
0
0
0
-4
-6
25
0
0
0
0
0
1
-14
9
6
0
0
0
0
0
-1
1
-2
43
0
0
0
0
0
0
0
5
23
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
1
5
7
-17
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
1
-1
0
0
0
0
0
1
-1
7
-8
0
0
0
0
0
0
2
-5
20
0
0
0
0
0
0
-2
-6
2
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
2
-5
11
0
0
0
0
0
0
1
-10
31
0
0
0
0
0
0
0
9
-29
0
0
0
0
0
0
2
3
12
0
0
0
0
0
0
-2
-34
16
0
0
0
0
0
0
5
2
14
0
0
0
-13
0
0
-2
-4
-15
0
0
0
0
0
0
-1
-4
-1
0
0
0
0
0
0
-5
-2
19
0
0
0
0
0
0
2
-2
-26
0
0
0
-4
0
0
0
10
-45
0
0
0
0
0
0
-4
-10
29
0
0
0
17
4
-22
40
-35
-13
0
0
0
0
0
0
0
-43
53
0
0
0
0
0
0
-2
-15
15
0
0
0
0
0
0
0
41
-62
0
0
0
0
0
0
-4
-3
-2
0
0
0
0
0
0
1
0
7
0
0
0
0
0
0
0
-17
16
0
0
0
0
0
0
0
-24
-1
0
0
0
0
0
0
14
19
-24
0
0
0
0
0
-4
0
-4
-3
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-2
0
1
-29
0
0
0
0
0
0
2
0
10
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
22
0
0
0
0
0
-1
0
0
3
0
0
0
0
0
0
3
-1
-16
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
-15
1
2
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
1
-40
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
-6
0
9
0
0
0
0
0
0
-1
0
-7
0
0
0
0
0
0
-2
1
-13
0
0
0
0
0
0
3
-2
28
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-2
-2
7
0
0
0
0
0
0
-5
2
5
0
0
0
0
-3
0
0
2
9
0
0
0
0
0
1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
-6
23
7
0
0
0
0
0
-2
18
-23
8
0
0
0
0
0
6
-28
11
26
0
0
0
0
0
2
-28
-4
23
0
0
0
0
0
-13
52
61
-39
0
0
0
0
0
-1
-6
-13
28
0
0
0
0
0
-4
9
-8
9
0
0
0
0
0
2
20
-15
-45
0
0
0
0
0
22
-14
35
-16
0
0
0
0
0
5
-37
5
6
0
0
0
0
0
-2
-5
-4
24
0
0
0
0
0
14
-2
-18
24
0
0
0
0
0
27
8
-32
-9
0
0
0
0
0
0
-1
0
-27
0
0
0
0
0
2
27
-13
15
0
0
0
0
0
21
-10
-1
-12
0
0
0
0
0
-6
-51
34
34
0
0
0
0
0
-5
38
-13
-23
0
0
0
0
0
0
-9
29
-46
0
0
0
0
0
0
2
-16
-1
0
0
-4
0
0
-2
1
-24
10
0
0
0
0
0
-11
-28
16
19
0
0
0
0
0
0
-15
6
-17
0
0
0
0
0
0
-19
14
-18
0
0
0
0
0
-35
18
-40
34
0
0
0
0
0
11
27
20
-47
0
0
0
0
0
-6
7
5
36
0
0
0
0
0
0
3
-20
10
0
0
0
0
0
0
-22
-21
57
0
0
0
0
0
0
20
-49
-22
0
0
0
0
0
-20
20
-16
34
0
0
0
0
2
11
-27
-8
-30
0
0
1
-4
0
-18
6
3
3
0
0
0
0
0
0
2
-20
24
0
0
0
0
0
0
0
-1
19
0
0
0
0
0
3
0
2
20
0
0
0
0
0
-2
26
-13
-14
0
0
0
0
0
-1
0
2
42
0
0
0
0
0
0
17
-6
26
0
0
0
0
0
-2
1
-7
1
0
0
0
0
0
24
10
-25
35
0
0
0
0
0
-3
-7
0
9
0
0
0
0
0
0
1
-9
23
0
0
0
0
-2
1
-1
14
12
0
0
0
0
0
4
-18
-44
53
0
0
0
0
0
-3
-3
0
27
0
0
0
0
0
-7
-1
7
-4
0
0
0
0
0
-25
3
4
-10
0
0
0
0
0
-10
-26
6
1
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
-3
14
23
0
0
0
0
0
0
1
-8
7
0
0
0
0
0
-7
14
5
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
-4
14
16
0
0
0
0
0
0
0
-3
-14
0
0
0
0
-1
23
-28
42
-41
0
0
0
0
0
4
0
0
-49
0
0
0
0
0
0
-2
15
-23
0
0
0
0
-4
0
0
13
-3
0
0
0
0
0
0
5
-28
-24
0
0
0
0
0
1
0
3
-29
0
0
0
0
1
0
-2
1
29
0
0
0
0
5
10
-1
7
-16
0
0
0
0
-3
2
46
-11
2
0
0
0
0
0
0
0
31
14
0
0
0
0
0
0
-1
-49
17
0
0
0
0
0
0
0
-6
-3
0
0
0
0
0
0
-4
-24
28
0
0
0
0
0
0
2
-9
-30
0
0
0
0
0
0
0
9
3
0
0
0
0
0
0
1
2
4
0
0
0
0
0
-2
7
6
-11
0
0
0
0
0
0
4
-20
24
0
0
0
-1
0
0
-2
1
60
0
0
0
0
0
0
-7
22
-28
0
0
0
0
0
0
-9
12
-18
0
0
0
0
0
0
2
-8
-30
0
0
0
1
0
0
0
13
13
0
0
0
0
0
0
0
-2
41
0
0
0
0
0
1
6
1
-5
0
0
0
0
0
0
1
15
-20
0
0
0
-4
0
0
-3
2
47
0
0
0
0
0
0
0
-9
7
0
0
0
0
0
0
0
-15
7
0
0
0
0
0
0
0
8
-11
0
0
0
0
0
0
-7
-1
43
0
0
0
0
0
0
0
-7
39
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
0
1
-14
-56
0
0
0
1
0
0
0
-10
22
0
0
0
0
0
0
0
6
5
0
0
0
2
0
-1
0
-20
-9
0
0
0
0
0
0
0
0
41
0
0
0
15
0
0
0
-9
-10
0
0
0
0
0
0
0
0
-11
0
0
0
12
0
15
-36
-48
19
0
0
0
0
0
3
0
35
-2
0
0
0
0
0
0
1
8
13
0
0
0
0
0
0
1
7
-12
0
0
0
0
0
0
-2
-21
9
0
0
0
0
0
0
0
-22
43
0
0
0
0
0
0
-1
-19
23
0
0
0
0
0
0
0
16
-7
0
0
0
0
0
-3
8
-3
1
0
0
0
0
0
-2
0
-2
11
0
0
0
0
0
0
0
-8
-7
0
0
0
0
0
-1
-2
-9
33
0
0
0
0
0
0
-1
4
35
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
12
-2
-13
33
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
1
2
16
0
0
0
0
0
0
0
-3
12
0
0
0
0
0
0
-7
29
-7
0
0
0
0
0
0
0
-2
-17
0
0
0
0
0
0
-2
-3
3
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
4
0
-52
-3
0
0
0
0
0
0
0
-5
28
0
0
0
0
0
0
0
13
-1
0
0
0
0
0
0
0
12
11
0
0
0
0
0
0
-2
35
-32
0
0
0
0
0
-1
0
13
-1
0
0
0
0
0
0
0
-6
21
0
0
0
0
0
0
0
-3
-13
0
0
0
0
18
8
4
-51
12
0
0
0
0
0
3
-20
6
12
0
0
0
0
0
0
12
4
-21
0
0
0
0
0
0
-8
46
-17
0
0
-2
0
0
0
0
14
31
0
0
0
0
0
1
-2
-10
29
0
0
0
0
0
0
-5
11
-12
0
0
0
0
0
0
0
-12
19
0
0
0
0
0
-8
19
1
-17
0
0
0
0
0
-1
4
9
-20
0
0
0
0
0
0
2
-14
-1
0
0
0
0
0
-2
0
-55
55
0
0
0
0
0
-2
-21
28
3
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-24
9
0
0
0
0
0
1
2
-3
12
0
0
0
0
0
9
49
-20
-14
0
0
0
0
0
1
9
9
1
0
0
0
0
0
0
-1
4
27
0
0
0
0
0
-1
-4
-3
24
0
0
0
0
0
3
-16
-11
0
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
1
4
-5
0
0
0
0
0
1
-3
1
1
0
0
0
0
0
-3
7
-35
10
0
0
0
0
0
2
-9
-44
23
0
0
0
0
0
0
0
6
18
0
0
0
0
0
-2
0
-55
2
0
0
1
0
0
0
5
29
-4
0
0
0
0
0
0
1
7
1
0
0
0
-1
0
0
3
13
-63
0
0
0
0
0
1
-2
-5
6
0
0
-15
-1
1
-10
-18
-31
13
0
0
0
0
0
7
0
-1
50
0
0
0
0
0
0
0
-28
27
0
0
0
0
0
0
0
10
-15
0
0
0
0
0
0
-10
3
22
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
-6
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
7
5
-42
0
0
0
0
0
-1
0
-2
-7
0
0
0
0
0
0
0
-2
29
0
0
0
0
0
0
0
3
-10
0
0
0
0
0
0
0
-5
7
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
-4
7
-12
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
5
-4
0
0
0
0
0
0
2
3
-9
0
0
0
0
0
0
0
-1
14
0
0
0
0
0
0
0
2
-67
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-6
-13
19
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
-1
0
29
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-2
5
-10
0
0
0
0
0
0
0
2
26
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
-2
0
-1
0
0
0
0
10
-16
-45
8
20
0
0
0
0
0
-2
-3
0
16
0
0
0
1
0
0
0
2
7
0
0
0
0
0
0
2
-6
-6
0
0
0
0
0
0
-11
-42
17
0
0
0
0
0
0
7
0
-17
0
0
0
0
0
0
0
11
10
0
0
0
0
0
0
0
0
12
0
0
0
0
0
1
4
6
5
0
0
0
0
0
0
0
-8
63
0
0
0
0
0
0
-1
-1
20
0
0
0
0
0
0
1
0
-21
0
0
0
0
0
0
-1
-3
32
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
10
0
0
0
0
0
-2
0
-2
7
0
0
0
0
0
0
0
8
-8
0
0
0
0
0
0
1
15
-26
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-19
2
0
0
0
0
0
0
-1
-1
-19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
-12
-4
0
0
0
0
0
0
0
0
26
0
0
0
1
0
0
0
1
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
-3
-2
0
0
0
0
3
0
0
0
0
3
0
0
0
0
0
0
0
0
14
0
0
0
-3
-1
-1
-61
6
21
0
0
0
0
0
-3
0
-7
18
0
0
0
0
0
0
-4
-9
15
0
0
0
0
0
-1
-1
8
-16
0
0
0
0
0
0
-1
21
-19
0
0
0
0
0
0
-1
0
17
0
0
0
0
0
0
-1
3
54
0
0
0
0
0
-1
0
-3
1
0
0
0
0
0
0
-15
-3
14
0
0
0
0
0
3
0
0
-36
0
0
0
0
0
0
0
-10
23
0
0
0
0
0
0
0
-11
21
0
0
0
0
0
0
0
-10
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
24
0
0
0
0
0
4
0
-2
-6
0
0
0
0
0
0
2
-6
-11
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
-16
30
0
0
0
0
0
0
0
9
14
0
0
0
0
0
-1
-7
7
7
0
0
0
0
0
1
1
-3
-4
0
0
0
0
0
0
0
0
-24
0
0
0
0
-6
0
0
0
-14
0
0
0
0
0
0
0
6
17
0
0
0
0
-1
-1
0
0
56
0
0
0
0
0
0
0
6
-2
0
0
0
0
-2
0
0
0
-3
0
0
0
0
0
0
3
-4
3
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
-1
0
0
18
0
0
0
0
8
0
-6
-5
-3
0
0
0
0
-11
-3
31
-35
6
0
0
0
0
-1
57
3
73
-26
0
0
0
0
0
0
4
-33
1
0
0
0
0
0
0
9
11
2
0
0
1
0
0
0
-10
-32
8
0
0
0
0
0
11
-7
-37
37
0
0
0
0
0
-4
4
-4
-2
0
0
0
0
0
-8
1
-2
-14
0
0
0
0
0
-31
-45
4
2
0
0
0
0
2
14
27
-5
-19
0
0
0
0
0
-3
-6
-28
53
0
0
0
0
0
-6
1
-2
-5
0
0
0
0
0
1
34
-54
-14
0
0
0
0
0
0
7
0
4
0
0
0
0
0
-1
0
-18
18
0
0
0
0
0
16
0
-1
11
0
0
0
0
0
-9
-9
-36
50
0
0
0
0
0
-3
20
-34
17
0
0
0
0
0
-6
16
-14
7
0
0
0
0
0
-2
-1
-12
42
0
0
0
0
0
1
28
11
-49
0
0
0
0
0
-14
-33
36
-22
0
0
0
0
0
0
20
5
-47
0
0
0
0
0
0
-1
2
15
0
0
0
0
0
17
-15
0
-17
0
0
0
0
-3
-22
11
3
8
0
0
0
0
0
-1
0
-10
-17
0
0
0
0
0
45
-20
-56
26
0
0
4
0
0
-17
-12
26
3
0
0
0
0
-3
-2
3
22
-9
0
0
0
0
-1
-12
-3
22
22
0
0
0
0
-1
-23
13
-34
19
0
0
-6
-3
-28
2
36
15
-12
0
0
0
0
1
3
0
-25
7
0
0
0
0
0
0
0
-42
40
0
0
0
0
0
-1
3
-10
23
0
0
0
0
0
0
51
-5
-22
0
0
0
0
-1
-3
1
1
0
0
0
0
0
0
0
12
-19
-6
0
0
0
0
0
0
0
3
3
0
0
0
0
0
8
5
-4
0
0
0
0
0
0
1
0
-4
6
0
0
0
0
0
0
0
20
-15
0
0
0
0
0
2
-1
-12
3
0
0
0
0
0
0
-7
45
12
0
0
0
0
0
-10
11
0
-5
0
0
0
0
0
0
0
1
19
0
0
0
0
0
3
0
1
-7
0
0
0
0
-3
12
33
-3
-24
0
0
0
0
1
1
0
-22
27
-5
0
0
0
0
0
-2
-19
3
0
0
0
0
0
0
2
-13
34
3
0
0
0
0
0
-9
-21
-22
6
0
0
0
-1
0
0
-44
28
-10
0
0
0
-4
-1
-17
-44
17
31
0
0
0
0
3
-1
-5
-23
-19
0
0
0
0
7
15
34
3
7
0
0
0
0
0
0
14
34
-12
0
0
0
0
0
0
20
-6
-22
0
0
0
1
-1
0
-20
-15
16
0
0
0
0
1
17
45
-4
7
0
0
0
1
-2
-9
-4
-5
21
0
0
0
3
0
-30
-24
41
13
0
0
0
-38
-1
0
-38
0
24
0
0
0
36
-18
11
50
57
8
0
0
0
0
0
2
-35
25
0
0
0
0
0
1
0
-19
25
0
0
0
0
0
0
-2
17
2
0
0
0
0
0
0
-34
-32
33
0
0
0
0
0
0
2
4
-32
0
0
0
0
0
0
-3
44
5
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
1
2
-11
45
0
0
0
0
0
0
0
8
-19
0
0
0
-1
0
0
0
-18
2
0
0
0
0
0
0
0
-5
-10
0
0
0
6
0
0
1
-10
5
0
0
0
0
0
0
0
8
21
0
0
0
-4
0
0
0
5
-16
0
0
0
0
0
0
0
-8
19
0
0
0
0
0
-2
-5
2
3
0
0
0
0
0
0
-1
20
-22
-4
0
0
3
0
0
0
0
-42
-11
0
0
0
0
0
0
22
1
-11
0
0
0
0
0
4
1
-36
-16
0
0
0
0
0
0
-51
33
-7
0
0
-2
0
0
0
-8
-75
11
0
0
0
0
0
0
2
13
-15
0
0
0
0
1
0
-31
-72
15
0
0
0
0
0
3
-35
-13
11
0
0
-6
0
0
0
-20
-1
13
0
0
0
0
0
0
6
-13
11
0
0
1
0
0
0
5
-25
12
0
0
0
0
0
0
-26
44
-4
0
0
-20
0
0
0
18
-20
13
0
0
0
0
0
0
-46
46
3
0
0
36
-2
26
-18
-6
-8
1
0
0
0
0
2
0
-3
0
0
0
0
0
0
0
0
-11
16
0
0
0
0
0
0
0
-29
21
0
0
0
0
0
0
2
-25
6
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-1
1
-4
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
6
-7
33
0
0
0
0
0
0
0
12
-13
0
0
0
0
0
0
0
-21
-9
0
0
0
0
0
-1
0
-3
4
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
3
-16
0
0
0
0
0
0
0
-9
11
0
0
0
0
0
-1
0
-3
9
0
0
0
0
0
-9
0
0
36
0
0
0
0
0
-4
-4
23
-39
-10
0
0
0
0
0
-2
-19
-22
-15
0
0
0
0
0
0
54
-12
-24
0
0
0
0
0
8
-46
-1
-10
0
0
0
0
0
0
11
-2
-6
0
0
0
0
0
-1
-32
-16
6
0
0
0
0
0
0
0
-2
11
0
0
0
0
0
0
-28
2
30
0
0
0
0
0
0
15
51
-42
0
0
0
0
0
-1
12
-35
26
0
0
0
0
1
1
-9
13
10
0
0
0
0
-1
0
-13
4
18
0
0
0
0
0
0
-14
22
-21
0
0
0
0
0
0
15
27
-21
0
0
0
0
0
0
2
0
1
0
0
0
-2
21
-4
22
-15
4
0
0
0
0
1
-5
33
-10
0
0
0
0
0
0
-24
20
-13
0
0
0
0
0
0
10
-29
1
0
0
-2
0
0
0
60
-1
15
0
0
0
0
0
0
7
-2
-4
0
0
0
0
0
0
1
-4
-16
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
8
2
0
0
0
0
0
0
0
0
-24
10
0
0
0
0
0
0
0
-17
-1
0
0
0
0
0
0
-2
-12
7
0
0
0
0
0
0
4
10
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
16
17
-29
0
0
0
0
0
-3
16
7
2
0
0
0
0
0
0
-4
-6
23
8
0
0
0
0
0
2
-14
-7
6
0
0
0
0
0
3
16
-37
30
0
0
0
0
0
-4
-5
4
-7
0
0
0
0
0
2
-44
8
-19
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
-1
-2
-3
-11
0
0
0
0
0
0
-10
33
-3
0
0
0
0
0
0
28
-27
-12
0
0
0
0
0
-4
49
16
-5
0
12
0
0
0
10
-67
-17
24
0
0
0
0
0
1
-33
51
-53
0
0
0
0
0
-1
-3
18
-20
0
0
0
0
0
0
-45
2
-16
0
9
10
0
-42
-34
-30
10
15
0
0
0
0
0
-4
13
18
0
0
0
0
0
0
2
11
15
0
0
0
0
0
0
0
-3
18
0
0
0
0
0
0
14
-62
70
0
0
0
0
0
0
-3
3
-1
0
0
0
0
0
0
8
-55
-27
0
0
0
0
0
0
1
-2
-7
0
0
0
0
0
0
10
-17
20
0
0
0
0
0
0
0
-6
24
0
0
0
0
0
0
0
8
5
0
0
0
0
0
0
-6
12
-19
0
0
0
0
0
0
22
-19
12
0
0
0
0
0
0
-1
0
14
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
6
0
0
0
0
-1
11
-64
21
-1
0
0
0
0
0
0
3
-36
-19
9
0
0
0
0
0
0
5
17
-26
0
0
0
0
0
-7
14
3
-10
0
0
0
0
0
-2
19
-21
35
0
0
0
0
0
0
0
15
-36
0
0
0
0
0
-1
2
22
-18
0
0
0
0
0
0
-16
-1
24
0
0
0
0
2
-3
-10
2
-24
0
0
0
0
0
0
-2
-15
-9
0
0
0
0
0
0
2
19
-29
0
0
0
0
0
0
18
-4
-34
0
0
0
0
0
-2
10
12
-1
0
0
0
-2
0
0
1
-20
9
0
0
0
0
0
1
-30
1
39
0
0
0
0
0
0
5
10
-29
0
0
0
3
10
-45
-7
5
-3
0
0
0
0
1
4
-4
57
0
0
0
0
0
0
-2
-8
9
0
0
0
0
0
0
1
-22
-3
0
0
0
0
0
0
-2
-39
3
0
0
0
0
0
0
0
10
23
0
0
0
0
0
0
2
-28
13
0
0
0
0
0
0
3
-6
-2
0
0
0
0
0
1
-2
15
-27
0
0
0
0
0
0
0
-2
48
0
0
0
0
0
0
0
-1
-22
0
0
0
0
0
0
-1
3
-5
0
0
0
0
0
0
6
-5
-16
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
1
1
17
0
0
0
0
0
0
2
-9
26
0
0
0
0
0
0
0
-29
-34
23
0
0
0
0
0
0
-28
45
-1
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
4
14
-43
0
0
0
0
0
0
-7
-9
1
0
0
0
0
0
3
4
33
-8
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
-5
-28
47
0
0
0
0
0
-2
8
28
-2
0
0
6
0
0
0
16
-45
7
0
0
0
0
0
0
6
2
14
0
0
0
0
0
0
3
-4
-7
0
0
0
0
0
-2
9
-33
-1
0
0
0
0
0
0
-8
5
30
0
0
0
0
-2
0
2
-4
-19
0
0
-4
-9
-15
20
-53
12
-1
0
0
0
0
0
0
-19
30
0
0
0
0
0
0
0
22
14
0
0
0
0
0
0
0
-7
9
0
0
0
0
0
0
-4
-35
29
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
1
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-3
-2
-18
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
7
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
-1
57
-12
0
0
0
0
0
0
0
8
10
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
-3
-1
-35
0
0
0
0
0
0
0
-12
16
0
0
0
0
0
0
2
-4
-5
0
0
0
0
0
0
1
3
-34
0
0
0
0
0
0
0
-2
-35
0
0
0
0
0
0
-14
-4
39
0
0
0
0
0
0
-2
1
-56
0
0
0
0
-2
0
1
-7
6
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
-3
-16
7
0
0
0
1
0
0
-2
-7
-47
0
0
0
-6
20
5
-48
-4
2
0
0
0
0
13
16
-32
13
0
0
0
0
0
0
-9
-2
10
0
0
0
0
0
0
7
16
-25
0
0
0
0
0
0
51
-5
-15
0
0
0
0
0
1
-10
25
-7
0
0
0
0
0
0
20
-6
15
0
0
0
0
0
-2
-5
-7
1
0
0
0
0
0
-10
8
-44
2
0
0
0
0
0
0
19
19
-2
0
0
0
1
0
0
0
-5
-41
0
0
0
0
0
2
-1
-2
-1
0
0
0
0
0
-2
-34
-53
57
0
0
0
0
0
0
-4
-1
-4
0
0
0
0
0
0
4
0
-12
0
0
0
0
0
4
2
-1
7
0
0
0
0
0
-2
15
2
-59
0
0
0
0
0
-3
19
39
21
-13
0
0
0
0
0
1
-25
5
18
0
0
0
0
-2
9
-8
2
19
0
0
0
0
0
-1
21
16
-30
0
0
0
0
0
-20
39
-3
0
0
0
0
0
0
0
-10
2
43
0
0
0
0
1
0
-13
0
4
0
0
0
0
2
-20
-8
7
13
0
0
0
0
0
-3
10
-16
-25
0
0
0
0
0
6
-17
20
17
0
0
0
0
-1
0
-12
-7
3
0
0
0
0
0
18
6
0
-57
0
0
0
0
0
-5
6
36
-52
0
0
0
0
0
-2
1
-6
-21
0
0
0
1
1
0
-2
1
-54
0
14
1
4
14
-20
-2
-49
-10
0
0
0
-1
2
0
20
29
0
0
0
0
0
0
1
25
-31
0
0
0
0
0
0
0
9
-49
0
0
0
0
0
0
13
-16
0
0
0
0
0
0
0
0
8
12
0
0
0
0
0
-1
-6
-6
32
0
0
0
0
0
2
0
1
3
0
0
0
0
0
5
-16
-7
27
0
0
0
0
-2
0
0
-23
50
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
0
7
4
0
0
0
0
0
3
-10
-17
12
0
0
0
0
-2
1
0
-2
28
0
0
0
0
0
0
2
-2
-49
0
0
0
0
-1
-4
3
3
22
0
0
0
0
4
-29
17
3
-17
0
0
0
0
-2
-1
-6
1
19
-12
0
0
0
0
0
0
0
14
25
0
0
0
0
0
0
13
16
-10
0
0
0
0
0
26
12
52
-58
0
0
0
0
0
0
14
-33
-21
0
0
0
0
0
1
-72
57
9
0
0
0
0
-1
0
0
16
3
0
0
0
1
1
-10
10
39
15
0
0
0
3
1
0
-5
-44
32
-4
0
0
0
0
0
-16
7
-15
-3
0
0
0
4
0
-31
-24
-8
2
0
0
0
0
-2
-6
-5
21
7
0
0
0
0
2
-1
19
-31
5
0
0
0
-1
1
-40
54
18
11
0
0
7
0
3
28
50
45
-3
0
0
-6
15
-1
29
22
-21
15
0
0
0
0
1
-4
-15
0
0
0
1
0
0
-3
0
13
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
-1
21
-2
-50
0
0
0
0
0
0
-1
-5
36
0
0
0
0
0
0
0
-19
28
0
0
0
0
0
0
0
-3
-18
0
0
0
0
0
-3
-36
-7
10
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
13
3
0
0
0
0
0
0
3
-21
9
0
0
0
0
0
2
0
8
5
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-6
13
0
0
0
0
0
-2
-1
0
-17
0
0
0
0
0
0
1
11
17
11
0
0
0
0
0
0
-43
57
-22
0
0
0
0
0
0
9
-3
0
0
0
0
0
0
-3
3
-9
8
0
0
0
0
0
0
-32
52
-4
0
0
-2
0
0
0
17
-31
-12
0
0
0
0
0
0
-9
24
-51
0
0
0
0
0
-4
19
21
-24
0
0
0
0
0
-3
-23
56
14
8
0
-10
0
0
-1
24
23
-24
-16
0
0
0
0
0
-1
-14
-20
20
0
-4
0
0
0
19
31
-43
7
0
0
0
0
0
-14
-24
-28
-12
0
4
0
0
0
-2
-5
12
3
0
0
0
0
0
-51
-13
18
22
0
-57
-8
15
31
-46
13
1
4
0
0
0
0
-2
7
45
0
0
0
0
0
0
6
-50
17
0
0
0
0
0
0
0
49
-63
0
0
0
0
0
0
-13
14
21
0
0
0
0
0
0
0
-13
-7
0
0
0
0
0
0
-1
5
14
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
-2
5
0
0
0
0
0
0
0
-6
14
0
0
0
0
0
0
0
14
-32
0
0
0
0
1
0
0
10
-30
0
0
0
0
0
0
-1
19
-4
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-8
16
0
0
0
0
2
3
0
0
-7
0
0
0
0
0
2
0
-8
-2
-5
0
0
0
0
0
3
20
-26
15
0
0
0
0
0
0
17
-77
6
0
0
0
0
0
-11
-38
29
32
0
0
0
0
0
0
9
22
-35
0
0
0
0
0
0
-10
23
-35
0
0
0
0
0
0
-2
1
-3
0
0
0
0
0
-3
-13
28
-15
0
0
0
0
0
0
2
-43
16
1
0
0
0
0
0
-6
-9
-66
22
0
0
0
0
0
-33
-1
14
-1
0
0
0
0
0
26
-12
-34
2
0
0
0
0
0
-1
1
-5
7
0
0
0
0
0
3
-26
-11
17
0
0
0
0
0
10
-1
-2
-26
0
0
-2
12
33
-65
36
8
-21
0
0
0
-4
-8
43
-19
0
0
0
0
0
0
1
-32
10
0
0
0
0
0
0
0
-6
-25
0
0
11
0
0
0
32
-27
13
0
0
0
0
0
0
6
5
8
0
0
0
0
0
0
-8
-23
-1
0
0
0
0
0
0
7
-11
24
0
0
0
0
0
-2
10
-14
-22
0
0
0
0
0
-1
14
-33
42
0
0
0
0
0
0
0
8
12
0
0
0
0
0
0
7
-19
18
0
0
2
0
0
-1
8
15
3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-8
-4
5
0
0
0
0
0
-1
2
-2
-26
45
0
0
0
0
0
1
-40
51
1
0
0
0
0
0
0
-10
-6
8
0
5
0
0
0
1
-27
-1
-23
0
0
0
0
0
-6
6
-10
-2
0
0
0
0
0
-1
3
17
-37
0
0
0
0
0
0
5
-3
-1
0
1
0
0
0
-18
-32
-6
-23
0
0
0
0
0
2
-13
51
4
8
0
1
0
0
1
-22
-9
11
11
0
0
0
0
0
40
-13
2
-25
-10
0
0
0
0
3
-23
6
-13
0
0
0
0
0
1
3
-3
10
0
0
0
0
-1
11
11
-7
-52
0
0
0
0
0
1
-20
-36
-11
-42
-10
-1
-84
-59
-4
-15
20
12
0
0
7
0
-2
-34
41
0
0
0
0
0
0
-1
12
9
0
0
0
0
1
0
0
11
-19
0
0
0
0
0
0
-31
50
8
0
0
0
0
0
2
6
-36
-3
0
0
0
0
0
0
4
19
-16
0
0
0
0
0
0
1
-8
6
0
0
0
0
0
2
14
7
-43
0
0
0
0
0
-1
-1
19
-1
0
0
0
0
0
0
0
-11
7
0
0
0
0
0
0
0
-3
35
0
0
0
0
0
0
-9
-26
-1
0
0
0
0
0
0
-4
-1
16
0
0
0
0
0
0
0
11
-17
0
0
0
0
0
-2
1
0
3
0
0
0
0
-3
16
-28
-5
-6
0
0
0
0
0
1
7
-17
30
19
0
0
0
0
0
0
-36
-2
26
0
0
0
0
0
1
4
-23
-9
0
0
0
0
-2
-1
-44
-5
2
0
0
0
0
0
-2
0
-3
-1
0
0
0
0
0
0
13
-9
-9
0
0
0
0
1
0
0
-10
-5
0
0
0
0
-1
5
-41
61
-49
0
0
0
0
-1
0
0
5
0
10
0
0
0
0
0
16
-4
-44
-9
0
0
0
0
0
2
20
-30
-8
0
0
0
-1
-3
-40
48
-11
-16
0
0
2
0
0
3
6
-23
11
0
0
0
-1
0
2
-17
-44
47
0
0
1
-2
0
4
-14
15
11
0
0
-18
-42
33
2
54
-8
0
0
0
0
0
10
-4
10
0
0
0
-16
0
0
0
-10
30
0
0
0
0
0
0
2
-5
-6
0
0
0
2
0
0
-30
7
35
0
0
0
0
0
1
1
-18
9
0
0
0
0
0
0
3
8
-2
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
26
-39
-10
0
0
0
0
0
0
0
1
22
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-1
23
0
0
0
0
0
-2
0
-9
7
0
0
0
0
0
0
0
2
-4
0
0
0
1
0
0
0
0
4
0
0
0
0
0
0
0
-5
-11
0
0
0
2
0
-2
-27
4
9
0
0
0
0
0
0
-9
-4
9
12
0
0
11
0
0
0
6
-7
-21
0
0
0
0
0
0
-11
6
-6
0
0
0
0
-1
-2
29
1
-25
0
0
0
0
0
0
-2
-6
0
0
0
-21
0
0
2
4
7
-29
0
0
0
0
0
0
0
-12
-2
0
0
0
0
0
2
7
-8
-25
0
0
0
0
0
-1
3
-27
-11
22
0
-25
0
0
0
0
-44
19
15
0
0
0
0
0
-6
-1
-42
6
0
-4
0
0
-1
-1
8
-12
22
0
0
0
0
0
2
-5
2
-5
0
7
0
0
0
-9
-7
-7
20
0
0
-6
0
-1
10
3
23
-19
0
-11
12
-13
7
-14
-17
11
9
0
0
-1
0
-1
1
52
0
0
0
0
0
0
-2
29
-30
0
0
0
0
0
-4
4
-44
39
0
0
0
0
0
0
3
-19
22
0
0
0
0
0
-3
1
-16
-1
0
0
0
0
0
0
-4
2
-10
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
-1
7
-4
35
0
0
0
0
1
-1
0
11
-27
0
0
0
0
0
1
0
7
21
0
0
0
0
-3
0
0
11
-13
0
0
0
0
0
-1
-7
27
-12
0
0
0
0
0
0
-2
1
2
0
0
0
0
-1
2
0
-3
7
0
0
0
0
8
-12
0
0
-18
0
0
0
0
-1
1
-28
36
33
0
0
0
0
2
2
0
-9
9
13
0
0
0
0
0
-1
-34
0
0
0
0
0
0
0
0
4
-9
-11
0
0
0
2
0
-10
-19
-5
1
0
0
0
0
0
0
-2
7
29
0
0
0
0
0
0
1
-14
9
0
0
0
0
0
-1
0
1
-36
0
0
0
1
-2
4
12
-6
-31
0
0
0
-10
1
0
0
40
9
-7
0
0
0
0
0
-14
28
0
2
0
0
2
-1
0
0
15
-15
-3
0
0
0
0
-3
-12
3
-3
-16
0
0
-2
0
0
1
-10
7
-17
0
0
0
0
3
-5
0
-28
11
0
0
-8
0
-1
4
8
-25
10
0
0
-7
-2
10
-36
-9
-17
36
0
0
28
-11
-4
-23
6
0
0
0
16
11
11
-19
1
12
0
0
0
0
-3
-6
-7
-12
-11
0
0
-17
31
-39
-2
-21
-9
6
0
0
0
0
23
-12
23
-14
2
0
0
0
17
-24
7
-16
-18
-4
0
0
0
0
-8
-32
41
21
-18
0
0
-7
-17
-38
-36
17
-13
1
0
0
0
0
-6
16
-25
11
-1
0
0
0
22
-11
21
114
12
-38
0
0
0
0
24
-33
-71
-1
19
0
0
11
8
-12
-5
-21
-32
-29
0
0
0
0
13
-2
-5
-5
7
0
0
0
-6
-12
-16
-33
29
4
0
0
0
0
19
23
-15
-67
-9
0
0
1
3
4
-23
24
4
1
0
0
0
0
45
23
-1
-18
31
-5
0
0
-9
7
-19
-55
-21
4
-2
0
0
0
-15
-42
22
-45
56
3
0
-18
-43
19
-13
-11
12
10
-3
0
0
0
5
19
35
-16
-4
-7
0
0
-2
7
-16
6
-44
-14
-6
0
0
0
12
-21
-15
28
35
-4
0
32
24
18
46
0
8
-23
-9
0
0
0
16
-8
20
5
-3
-4
8
0
17
-25
5
4
6
-7
-6
18
0
0
53
28
-27
-2
5
7
-17
1
-2
-5
3
11
-40
2
14
0
0
0
-7
-10
33
-15
22
0
-7
0
-44
-2
-41
-6
-13
-10
4
1
0
0
-14
36
43
-24
27
-18
9
-10
15
-19
-16
12
-7
16
-12
-2
0
0
3
-24
-11
1
22
0
0
0
0
-29
-7
4
-8
5
0
0
0
0
-21
27
33
-2
9
0
0
0
0
-10
-4
23
-12
-1
0
0
0
0
7
51
32
-45
13
0
0
0
0
20
25
-37
-42
8
0
0
0
0
2
-8
21
-7
-42
0
0
0
0
6
-2
9
-35
-13
0
0
0
0
15
1
-11
-4
-6
0
0
0
0
0
-25
47
-4
16
0
0
0
0
24
-14
-9
-11
-5
0
0
0
0
-4
-2
7
11
-29
0
0
0
0
-31
15
-7
-18
17
0
0
0
0
0
-1
-25
-20
10
0
0
0
0
-7
25
27
-9
-2
0
0
0
0
1
-20
-28
-9
23
0
0
0
0
-15
-24
17
36
37
0
0
0
0
-1
53
-27
4
2
0
0
0
0
-9
22
17
-27
19
0
0
0
0
-1
7
19
-40
30
0
0
0
0
6
12
2
-9
27
0
0
0
0
-1
-34
24
-53
40
0
0
0
0
3
29
-33
54
-7
0
0
0
0
-1
-16
-6
69
-17
0
0
0
0
24
9
6
-18
20
0
0
0
0
0
12
-16
-5
30
0
0
0
0
-11
31
-14
-32
51
0
0
0
0
0
-5
27
-41
-11
0
0
0
0
16
-28
16
6
0
0
0
0
0
12
-8
55
12
-21
0
0
0
0
-17
-27
59
-28
26
0
0
0
0
19
14
37
-10
-6
0
0
0
0
0
-3
-47
-24
12
0
0
0
-18
10
73
-14
-7
10
0
0
0
0
38
24
-9
-48
6
0
0
0
23
0
-14
19
-3
19
0
0
0
0
0
-3
7
-35
9
0
0
0
35
0
5
-40
19
12
0
0
0
0
0
-17
51
-12
1
0
0
0
24
0
6
-3
-16
-26
0
0
0
0
0
5
32
-25
26
0
0
0
4
1
14
19
-18
-15
0
0
0
0
0
12
49
-48
-25
0
0
0
22
0
16
-42
-33
47
0
0
0
0
0
0
7
-87
3
0
0
0
9
0
-29
35
-2
14
0
0
0
0
0
2
37
-3
-26
0
0
0
-5
0
-17
32
4
1
0
0
0
0
0
-3
34
-69
24
0
0
0
-29
-12
-23
34
-21
72
0
0
0
0
1
-2
2
-29
41
0
0
0
4
0
-2
-48
-8
26
0
0
0
0
0
0
8
-1
25
0
0
0
32
0
7
-33
14
25
0
0
0
0
0
-3
-16
57
-9
0
0
0
2
0
4
3
0
13
0
0
0
0
0
-8
-3
28
0
0
0
0
-13
0
16
-14
0
20
0
0
0
0
0
1
30
-8
-22
0
0
0
-2
0
2
-26
35
-14
0
0
0
0
0
0
21
-13
28
0
0
0
36
0
0
18
6
-6
0
0
0
0
3
0
-35
-9
4
0
0
0
-6
-1
-103
-29
17
0
0
0
0
0
3
24
-12
25
-25
0
0
0
0
0
-31
15
1
-4
0
0
0
0
11
5
12
-5
-4
0
0
0
0
26
-10
-17
5
13
0
0
0
0
27
2
0
-22
2
0
0
0
0
0
-10
1
4
-19
0
0
0
0
-7
14
-25
38
6
0
0
0
0
1
51
-9
-21
-5
0
0
0
0
0
36
13
-35
15
0
0
0
0
0
1
5
-71
35
0
0
0
0
-1
-24
-33
25
17
0
0
0
0
0
-29
-2
-2
28
0
0
0
0
-7
42
-35
-25
-1
0
0
0
0
0
-2
-18
28
5
0
0
0
0
1
-2
-4
-52
29
0
0
0
0
-1
-12
16
0
-14
0
0
0
0
-1
4
41
-43
-14
0
0
0
0
-1
4
9
-10
3
0
0
0
0
-15
-5
-25
-67
44
0
0
0
0
2
2
-19
-31
28
0
0
0
0
-11
19
22
-79
28
0
0
0
0
0
-6
-21
-11
7
0
0
0
0
2
-7
4
-8
25
0
0
0
0
0
-20
7
10
46
0
0
0
0
0
-1
3
-2
31
0
0
0
0
0
0
6
13
-52
0
0
0
0
0
-3
-59
12
50
0
0
0
0
-4
-1
39
-35
12
0
0
0
0
13
35
-33
7
8
0
0
0
0
1
-3
34
-31
-28
0
0
0
0
4
-52
44
-22
18
0
0
0
0
20
9
37
-25
-1
0
0
0
0
1
28
-50
-20
0
0
0
0
0
-4
-31
-71
41
-3
0
0
0
0
21
34
10
5
-14
0
0
-44
-31
-4
30
43
39
-18
0
0
0
0
0
-4
-14
-9
29
0
0
0
-7
-2
2
63
2
-19
0
0
0
0
3
17
26
-33
-10
0
0
1
1
1
-2
27
-12
-14
0
0
0
0
0
0
3
-1
5
0
0
0
0
0
-17
36
-14
7
0
0
0
0
0
-34
-23
-13
20
0
0
44
-6
0
-4
-32
5
33
0
0
0
0
0
-3
-9
11
20
0
0
0
2
0
-5
-19
16
9
0
0
0
0
0
-11
45
11
-14
0
0
40
0
-1
-4
-6
-38
2
0
0
0
0
3
10
-13
-45
37
0
0
0
4
0
-10
45
-3
-21
0
0
0
0
2
0
-57
15
55
0
0
16
-8
1
-35
-7
-24
-1
0
0
0
0
0
4
23
-26
1
0
0
0
25
0
2
19
-54
-29
0
0
0
0
1
-3
1
-23
2
0
0
52
0
2
-5
-40
-45
-23
0
0
0
0
0
1
7
-10
-17
0
0
0
0
0
1
2
14
13
0
0
0
0
0
1
-60
6
60
0
0
3
2
0
35
-13
-33
-12
0
0
0
0
0
-2
-29
-26
31
0
0
0
19
0
0
-14
-47
17
0
0
0
0
-9
4
-35
-3
18
0
0
-26
33
-12
-46
-34
-24
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
32
-24
0
0
0
0
0
1
-10
-28
31
0
0
0
0
0
6
-18
-41
31
0
0
0
0
0
0
19
-39
-24
0
0
0
0
-13
-9
5
38
-19
0
0
0
0
0
-1
-8
-58
15
0
0
0
0
2
-2
-30
-40
75
0
0
0
0
2
-9
6
-8
23
0
0
0
0
-24
23
4
23
11
0
0
0
0
0
0
-16
40
-11
0
0
0
0
0
2
16
-15
9
0
0
0
0
0
0
-3
-25
21
0
0
0
0
0
15
-5
12
-30
0
0
0
0
-1
0
1
13
-6
0
0
0
0
0
-1
-1
12
16
0
0
0
0
0
-2
-26
38
21
0
0
0
0
1
-19
37
-32
54
0
0
0
0
0
-8
-35
-48
19
0
0
0
0
0
-21
7
27
23
0
0
0
0
0
7
-16
-44
36
0
0
0
0
0
-33
5
-20
51
0
0
0
0
-9
4
-12
12
36
0
0
0
0
0
0
19
16
13
0
0
0
0
0
3
6
9
11
0
0
0
0
41
-6
21
-3
-2
0
0
0
0
0
-1
20
2
-29
0
0
0
0
-1
9
25
-20
14
0
0
0
0
0
13
-5
-32
10
0
0
0
0
32
-60
55
14
-15
0
0
0
0
-1
17
7
-24
-12
0
0
0
0
-2
-19
-1
-24
8
0
0
0
0
-13
-5
6
-6
13
0
0
0
0
0
0
3
-40
25
0
0
0
30
0
0
3
0
-2
0
0
0
0
0
0
-2
-28
-7
0
0
0
0
0
0
-38
20
13
0
0
0
0
0
-1
-15
14
-2
0
0
0
-7
0
-23
-27
6
37
0
0
0
0
0
0
9
-70
17
0
0
0
0
0
9
5
-52
-19
0
0
0
0
0
1
12
-18
-4
0
0
0
-3
0
0
8
-35
12
0
0
0
0
0
0
-4
-13
3
0
0
0
1
0
0
7
29
-37
0
0
0
0
0
0
0
2
24
0
0
0
-6
0
0
0
6
18
0
0
0
0
0
-1
0
-16
8
0
0
0
-3
0
-1
-5
-15
55
0
0
0
0
0
0
-8
21
-3
0
0
0
47
0
-7
13
-6
-14
0
0
0
0
0
0
8
-41
31
0
0
0
1
0
4
-8
2
30
0
0
0
0
0
0
5
-3
0
0
0
0
-2
0
1
20
27
1
0
0
0
0
0
0
-3
-4
18
0
0
0
0
0
0
8
19
30
0
0
0
0
0
2
24
-6
-37
0
0
0
30
1
-32
-48
32
9
0
0
0
0
0
0
-3
-35
47
0
0
0
0
0
-1
4
-43
9
0
0
0
0
0
0
23
-24
-19
0
0
0
13
0
-6
9
4
-6
0
0
0
0
-2
6
-6
21
-16
0
0
0
-22
0
9
-68
-11
1
0
0
0
0
10
-1
-25
7
-6
0
0
0
0
0
0
0
-40
46
0
0
0
0
-2
-4
-1
15
14
0
0
0
0
0
11
1
-26
-7
0
0
0
0
-1
12
-2
50
-19
0
0
0
0
0
-10
2
12
-27
0
0
0
0
-1
0
2
-11
-41
0
0
0
0
0
8
36
-30
-27
0
0
0
0
-1
1
3
-6
15
0
0
0
0
0
0
7
23
-42
0
0
0
0
0
0
-1
23
7
0
0
0
0
0
3
-14
-19
62
0
0
0
0
2
19
15
9
-2
0
0
0
0
0
0
-29
17
41
0
0
0
0
1
5
-7
3
-31
0
0
0
0
0
10
14
-3
-18
0
0
0
0
-1
-2
-9
-21
52
0
0
0
0
1
-1
3
-50
24
0
0
0
0
0
0
2
-30
9
0
0
0
0
0
-2
29
13
-29
0
0
0
0
0
4
12
-13
-15
0
0
0
0
0
0
1
-21
-24
0
0
0
0
0
0
-1
41
-20
0
0
0
0
0
-7
-23
-27
30
0
0
0
0
6
-10
-26
47
5
0
0
0
0
0
0
-5
-4
33
0
0
0
0
-1
1
3
-74
-5
0
0
0
0
1
-2
4
32
-13
0
0
0
0
1
8
14
-63
19
0
0
0
0
0
-1
-18
-5
9
0
0
0
0
2
-7
-3
32
36
0
0
0
0
-12
-15
9
21
2
0
0
0
0
0
-2
1
25
36
0
0
0
0
0
0
-2
29
-3
0
0
0
0
0
-3
-1
27
-17
0
0
12
-7
0
-6
28
-8
-22
0
0
0
0
0
1
-5
-4
15
0
0
0
1
0
0
-15
11
-18
0
0
0
0
0
0
0
-37
-8
0
0
0
0
0
-16
-77
22
45
0
0
0
0
0
0
-4
-11
-8
0
0
0
10
0
-1
-26
-5
13
0
0
0
0
0
0
-3
-49
10
0
0
3
0
0
-1
7
-7
-14
0
0
0
0
0
-2
-3
25
8
0
0
0
-1
0
0
18
20
-33
0
0
0
0
0
0
-11
-25
51
0
0
-1
0
0
1
55
-17
-14
0
0
0
0
0
3
-5
12
-9
0
0
0
0
0
1
-45
-12
31
0
0
0
0
0
4
14
-19
-37
0
0
25
0
0
-4
27
-43
-14
0
0
0
0
0
0
-4
-10
28
0
0
0
0
0
0
3
-38
-3
0
0
0
0
0
-3
0
-14
13
0
0
-1
0
0
1
-1
-11
-7
0
0
0
0
0
4
5
-11
-38
0
0
0
-1
0
-2
9
12
-7
0
0
0
0
0
-1
-3
-15
6
0
0
-10
0
0
1
-71
-18
28
0
0
0
0
0
2
5
1
1
0
0
0
-24
0
0
30
-63
30
0
0
0
0
0
3
4
-21
-23
0
0
-24
-1
0
-6
-11
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-9
24
0
0
0
0
0
-14
1
-5
7
0
0
0
0
1
-21
4
-10
6
0
0
0
0
-1
20
-22
-27
30
0
0
0
0
5
-21
-1
9
49
0
0
0
0
1
-2
-14
-28
55
0
0
0
0
-6
-14
32
9
-4
0
0
0
0
0
-33
74
-3
-6
0
0
0
0
28
8
11
-23
5
0
0
0
0
0
16
-12
-13
9
0
0
0
0
0
3
7
-27
-3
0
0
0
0
0
-10
-45
20
6
0
0
0
0
-18
-19
20
13
31
0
0
0
0
0
0
4
-71
44
0
0
0
0
40
11
22
23
-27
0
0
0
0
0
21
-9
-7
11
0
0
0
0
-12
-21
46
47
46
4
0
0
0
0
0
-10
-70
-4
9
0
0
0
0
-4
27
12
45
5
0
0
0
-2
12
-12
-8
2
10
0
0
0
-22
31
0
24
40
-2
0
0
0
-1
0
2
-36
8
-1
0
0
0
0
-34
3
-10
67
-13
0
0
0
0
1
5
2
19
-23
0
0
0
0
-29
-3
4
1
14
0
0
0
0
-3
13
-40
-14
8
0
0
0
-22
24
5
-26
-10
10
0
0
0
0
11
3
-32
-5
10
0
0
0
18
73
-69
39
30
-10
0
0
0
1
0
-28
15
-4
0
0
0
0
17
-12
18
-49
-26
14
0
0
0
-14
24
-19
38
-26
8
0
0
0
0
15
16
-21
15
0
0
0
-11
0
27
9
-14
12
0
0
0
0
0
-2
-8
-42
47
0
0
0
0
0
-2
-30
-19
30
0
0
0
0
0
-4
13
37
-38
0
0
0
-7
0
-4
-49
20
20
0
0
0
0
0
0
15
-23
-40
0
0
0
0
0
3
-58
12
-9
0
0
0
0
0
3
48
-71
17
0
0
0
-12
0
22
-23
-10
20
0
0
0
0
-6
-3
-24
3
9
0
0
0
3
0
1
20
-20
14
0
0
0
0
0
0
-13
-17
15
0
0
0
3
0
-13
13
-78
56
0
0
0
0
0
-14
8
-20
-6
0
0
0
6
0
8
4
-28
20
0
0
0
0
0
6
-6
40
0
-1
0
0
12
3
-34
-14
21
19
1
0
0
0
0
0
6
-36
14
-5
0
0
4
0
0
33
-38
45
-12
0
0
0
0
0
-8
24
-29
1
0
0
22
1
0
-11
53
2
-20
0
0
0
0
-2
0
-20
-10
-2
0
0
0
0
2
0
46
-37
-11
0
0
0
0
0
17
-57
11
19
0
0
-46
-2
-4
-23
8
44
22
0
0
0
3
-2
-10
15
-23
9
0
0
2
0
0
1
60
-49
-18
0
0
0
0
2
22
3
-24
22
0
0
-22
0
-2
-18
6
7
14
0
0
0
-1
14
18
-56
-7
2
0
0
22
-6
-7
42
-17
36
-19
0
0
0
-1
-4
12
-7
-2
0
0
0
0
0
-1
14
16
41
0
0
0
0
11
-13
-5
-34
13
0
0
0
0
1
13
-26
14
41
0
0
0
0
-2
4
-17
-31
-12
0
0
0
0
0
0
-13
15
3
0
0
0
0
0
3
-5
4
-3
0
0
0
0
0
-43
47
-24
11
0
0
0
0
0
-1
-13
32
-7
0
0
0
0
0
-6
0
-16
34
0
0
0
0
-10
-5
3
-67
66
0
0
0
0
2
4
-31
1
23
0
0
0
0
0
-1
33
-33
13
0
0
0
0
0
3
1
2
22
0
0
0
0
-1
-15
-36
18
2
0
0
0
0
-6
7
7
-33
-8
0
0
0
0
-1
26
19
15
-39
-8
0
0
0
0
0
49
-25
23
-16
0
0
0
2
0
0
-2
-39
0
0
0
0
0
0
-22
-7
-7
-5
0
0
0
1
-4
35
-15
6
0
0
0
0
0
0
-8
-28
-49
29
0
0
0
0
0
-27
-9
0
10
0
0
0
1
-1
2
-49
50
-4
0
0
0
1
-9
-28
13
11
20
0
0
0
0
0
2
18
-16
-18
0
0
0
-2
-1
-1
-18
14
-10
0
0
0
-4
-7
-14
23
1
29
0
0
0
-4
-6
27
-16
-14
19
0
0
0
0
-1
-1
-11
46
-20
0
0
0
-4
-5
10
9
-2
0
0
0
0
-10
1
-36
-15
-35
15
0
0
0
0
-1
-11
31
24
0
0
0
0
0
3
3
0
15
0
0
0
0
3
12
-32
-27
24
0
0
14
-3
0
8
11
11
-15
0
0
0
0
0
0
10
-21
25
0
0
0
-3
0
-1
-21
-19
32
0
0
0
0
0
0
-12
-15
1
0
0
0
0
-2
-2
-4
-13
7
0
0
0
0
0
0
12
42
-34
0
0
0
0
0
-4
17
16
-8
0
0
0
0
0
-12
-9
-11
8
0
0
-29
-3
0
12
48
-14
-5
0
0
0
0
0
0
7
-23
14
0
0
0
0
0
0
-34
-2
-7
0
0
0
0
0
-16
6
-26
16
0
0
6
0
-1
-15
32
-6
-5
0
0
0
0
1
1
-10
69
27
-11
0
0
0
0
-2
69
-55
34
-7
0
0
0
0
9
-8
-78
-13
-12
0
18
0
0
4
19
-24
19
1
0
0
0
0
0
0
1
39
5
0
0
4
0
0
4
-6
39
-30
0
0
0
1
2
-1
-44
-6
0
0
-30
0
0
-6
0
-37
-4
31
0
0
0
0
1
6
5
32
-13
0
0
0
0
-4
-5
-22
3
32
0
0
0
1
0
33
23
-37
-5
0
-24
0
0
1
-28
-21
35
4
0
0
0
0
-8
-4
-18
-24
43
0
0
-4
0
0
-5
0
16
31
0
0
0
2
-6
-41
-13
110
-35
0
25
8
0
-33
-19
-32
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
28
15
3
0
0
0
0
0
0
-16
-65
19
0
0
0
0
1
-1
18
-36
34
0
0
0
0
0
0
9
0
4
0
0
0
0
-20
15
18
43
-51
0
0
0
0
0
-3
-8
-39
3
0
0
0
0
0
2
-4
28
-13
0
0
0
0
0
0
-4
-16
74
0
0
0
0
32
3
15
-26
-14
0
0
0
0
0
-6
-6
-13
-7
0
0
0
0
0
4
37
-21
-7
0
0
0
0
0
6
-7
17
11
0
0
0
0
42
7
7
-18
-7
0
0
0
0
0
-1
-19
-17
18
0
0
0
0
-7
41
2
-5
-16
0
0
0
0
10
-55
18
-30
-14
0
0
0
0
-9
15
-3
30
2
12
0
0
0
0
3
-15
-28
25
17
0
0
0
0
-7
-19
-37
21
11
0
0
0
0
0
0
10
-16
15
0
0
0
21
33
18
39
9
-6
0
0
0
-1
6
-7
-8
25
4
0
0
0
-10
6
-2
21
20
-2
0
0
0
-1
-2
-32
13
-3
9
0
0
0
-13
-51
73
-4
14
3
5
0
0
0
-1
-17
-42
1
-9
18
0
0
0
-34
-38
12
52
-5
5
0
0
0
-9
20
27
-5
4
-8
0
0
-18
-17
25
-1
-13
-8
2
0
0
-1
-9
29
-54
20
-49
9
0
0
33
19
-52
19
-21
-11
5
0
0
11
-12
-33
-2
21
6
0
0
0
0
0
10
17
-22
0
0
0
33
0
2
-17
27
-24
0
0
0
0
0
0
0
20
-20
0
0
0
0
0
0
-27
-6
24
0
0
0
0
0
0
-35
-5
54
0
0
0
10
0
-5
48
-41
-15
0
0
0
0
0
0
0
10
21
0
0
0
0
0
0
23
29
4
0
0
0
0
0
-2
29
-17
21
0
0
0
38
0
-3
-10
-39
24
0
0
0
0
0
0
0
-3
-14
0
0
0
-3
0
-1
24
12
-2
0
0
0
0
0
-1
-7
-31
51
0
0
0
-2
0
0
-11
-13
18
0
0
0
0
0
0
1
-62
27
0
0
0
-8
0
-1
-1
10
23
0
0
0
0
0
0
-15
-56
9
-20
0
0
11
2
-17
2
-18
19
0
0
0
0
0
0
0
-25
25
-16
0
0
0
0
0
8
-5
6
53
0
0
0
0
0
-30
0
-14
31
0
0
-45
-2
-2
4
-12
31
-20
0
0
0
0
1
3
9
-21
37
0
0
0
0
1
8
-11
4
-13
0
0
0
0
0
-47
-20
79
-23
2
0
31
0
18
-58
-27
11
-18
-5
0
0
0
-2
0
-46
6
-44
-2
0
-7
0
-2
-10
-30
-4
-29
-6
0
0
0
-4
-11
31
4
-3
4
0
-7
0
3
8
-45
30
2
5
0
0
-1
2
11
-75
-6
-12
-1
0
-41
-2
-17
-9
-3
33
-21
-15
0
0
-1
1
-6
-26
65
0
0
0
0
0
0
0
-5
-33
0
0
0
0
0
1
21
19
-3
0
0
0
0
0
1
4
-7
5
0
0
0
0
2
1
-10
-7
-60
0
0
0
0
0
-1
2
8
-6
0
0
0
0
0
-8
0
1
15
0
0
0
0
0
1
-53
-9
9
0
0
0
0
8
-2
-13
-9
2
0
0
0
0
0
0
4
-80
33
0
0
0
0
-2
-6
4
0
20
0
0
0
0
0
1
8
-34
11
0
0
0
0
1
1
-1
24
5
0
0
0
0
0
0
-12
-11
6
0
0
0
0
-1
0
-30
-1
38
0
0
0
0
1
15
21
-24
-15
0
0
0
0
-11
-16
6
15
46
-22
0
0
0
0
0
-3
-13
-4
-7
0
0
0
-1
-1
3
-15
-10
15
0
0
0
0
0
-18
-21
13
46
0
0
0
-6
2
3
3
-52
26
0
0
0
0
-1
-2
19
-43
-4
0
0
0
0
-2
0
-5
27
-19
0
0
0
0
-2
9
-48
-1
26
0
0
0
-26
-37
1
-31
41
16
5
0
0
0
-3
1
-78
-6
-16
14
0
0
0
8
-13
-26
-11
-43
7
0
0
-7
1
-3
4
-29
-60
13
0
0
-18
-11
-33
33
60
-21
13
0
0
0
2
-4
40
42
-31
-8
0
0
-8
5
-4
38
24
-58
33
0
0
-4
14
-3
-59
0
-15
23
0
0
0
-2
-4
-9
34
0
0
0
0
0
0
0
-14
14
0
0
0
0
0
0
1
-22
-22
0
0
30
7
0
1
-43
-53
30
0
0
0
0
0
0
-3
6
-28
0
0
0
0
0
0
-39
-30
35
0
0
0
0
0
-1
3
5
3
0
0
2
0
0
-4
-27
37
13
0
0
0
0
0
0
-3
-12
30
0
0
0
0
0
0
-11
25
-33
0
0
0
0
0
-9
2
-3
-32
0
0
24
0
0
-5
20
-32
-10
0
0
0
0
0
0
-39
9
8
0
0
0
-3
0
0
-13
-49
34
0
0
0
0
0
-17
-3
-20
36
0
0
-38
0
0
9
-17
3
-1
0
0
0
0
0
0
-1
-49
-6
2
0
0
0
0
-1
3
18
19
-13
0
0
0
0
1
-25
-11
7
-3
0
-5
0
0
-5
21
32
-17
-19
0
0
0
0
0
0
-6
-61
5
0
0
0
0
0
-7
-56
72
-1
0
0
0
0
0
-4
6
-73
39
0
-25
0
0
-2
36
-16
-17
26
0
0
0
0
-3
2
-5
5
-30
-6
0
-1
0
-4
-23
49
5
-31
-27
0
0
0
1
-10
-12
33
-27
3
-67
0
0
-8
1
11
34
-24
2
0
0
0
3
5
-19
37
-23
-10
0
7
0
0
3
-4
-19
1
-4
0
0
0
-11
-6
-50
-54
-20
45
-11
-6
-1
-3
-61
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
30
26
0
0
0
0
-3
-48
-56
-41
37
0
0
0
0
13
16
-70
7
1
0
0
0
0
-3
-5
-8
-18
8
0
0
0
0
-3
-57
-31
3
48
0
0
0
0
0
21
17
13
16
0
0
0
0
-8
-10
-18
12
5
0
0
0
0
0
7
37
-4
-24
0
0
0
0
5
-4
-9
-43
25
0
0
0
0
0
0
-6
-12
53
0
0
0
0
18
-19
8
-1
-9
0
0
0
0
1
-6
0
3
13
0
0
0
0
6
8
-41
-21
46
0
0
0
0
0
2
9
-42
1
0
0
0
0
27
-12
28
33
-28
0
0
0
0
1
13
-10
-6
-1
0
0
0
0
-14
2
-12
3
19
0
0
0
0
0
19
44
-90
12
0
0
0
0
2
-13
28
-61
26
0
0
0
0
0
8
-21
3
-7
0
0
0
0
-9
43
41
-24
-14
0
0
0
0
0
-14
-24
41
22
0
0
0
0
-7
0
3
2
26
0
0
0
0
0
10
23
-49
70
0
0
0
0
-8
-37
5
-5
25
0
0
0
0
0
0
-14
13
16
0
0
0
0
-6
23
-21
39
-21
0
0
0
0
0
26
4
16
-7
0
0
0
0
8
-21
-24
-10
9
0
0
0
0
4
-10
7
-8
18
0
0
0
0
-4
-47
48
-35
26
0
0
0
0
-13
-1
3
-8
7
0
0
0
0
0
14
-28
1
8
0
0
0
-6
3
-12
18
-16
9
0
0
0
0
0
-4
-20
12
-15
0
0
0
-1
0
-14
-37
-12
4
0
0
0
0
7
-19
-6
-11
1
0
0
0
17
0
33
36
-34
17
0
0
0
0
0
-8
17
-21
-15
0
0
0
-3
0
-1
21
-1
10
0
0
0
0
0
0
11
-3
-20
0
0
0
16
1
1
1
14
17
0
0
0
0
0
-1
1
21
27
0
0
0
4
0
-3
-24
10
32
0
0
0
0
0
0
-13
-20
-9
0
0
0
18
0
1
5
3
-1
0
0
0
0
0
-2
-4
8
-3
0
0
0
-4
0
12
-23
-11
10
0
0
0
0
0
0
-4
18
-1
0
0
0
-20
0
-11
33
-13
17
0
0
0
0
0
0
0
-4
-4
0
0
0
3
0
0
26
-17
14
0
0
0
0
0
0
-18
-30
3
0
0
0
-4
0
0
23
-40
29
0
0
0
0
0
0
4
7
-13
0
0
0
-1
0
-1
3
-5
-24
0
0
0
0
0
0
0
-68
36
0
0
0
-64
0
2
-7
-18
38
0
0
0
0
0
0
1
8
4
0
0
0
0
0
0
0
-21
2
0
0
0
0
0
0
-6
-26
9
0
0
0
4
0
2
17
-23
-14
0
0
0
0
1
0
-15
-15
-8
0
0
0
14
-2
-8
-45
-22
14
0
0
0
0
10
1
-62
27
14
0
0
0
0
0
1
-23
0
14
0
0
0
0
0
48
-14
-24
3
0
0
0
0
0
-2
-3
-12
17
0
0
0
0
1
1
-15
-6
14
0
0
0
0
0
0
21
-55
28
0
0
0
0
0
-2
9
-42
29
0
0
0
0
0
-6
17
-8
-12
0
0
0
0
0
-6
33
41
-31
0
0
0
0
0
0
0
-5
27
0
0
0
0
0
-1
26
-5
8
0
0
0
0
0
1
17
2
-1
0
0
0
0
0
0
-17
-6
30
0
0
0
0
0
0
-3
-55
31
0
0
0
0
0
0
17
-12
-20
0
0
0
0
0
1
12
25
-13
0
0
0
0
0
-3
-10
-5
6
0
0
0
0
0
0
2
-8
-14
0
0
0
0
0
6
33
-16
20
0
0
0
0
0
0
-14
-41
32
0
0
0
0
0
1
5
-48
27
0
0
0
0
0
0
0
10
9
0
0
0
0
0
0
-12
-4
-5
0
0
0
0
0
0
1
-6
82
0
0
0
0
0
0
27
6
-24
0
0
0
0
0
0
1
16
-26
0
0
0
0
0
-2
-39
30
36
0
0
0
0
0
0
52
-19
-14
0
0
0
0
0
0
7
2
-6
0
0
0
0
0
0
2
13
-28
0
0
0
0
0
0
8
-25
64
0
0
0
0
-7
26
-52
-9
17
0
0
0
0
0
22
-13
-35
14
0
0
0
0
0
4
31
-6
-4
0
0
0
0
0
0
0
1
-17
0
0
-9
0
1
-3
66
-13
8
0
0
0
0
0
0
-52
43
-4
0
0
0
0
0
-8
-54
-9
66
0
0
0
0
0
0
-12
-8
13
0
0
1
0
0
-1
16
-2
-9
0
0
0
0
0
9
-2
-18
35
0
0
0
0
0
0
20
-2
5
0
0
0
0
0
1
19
27
-47
0
0
31
1
0
2
-3
5
-27
0
0
0
0
0
0
-6
-40
18
0
0
0
0
0
0
-1
-8
19
0
0
0
0
0
1
8
-9
2
0
0
-4
0
-1
-3
-3
25
30
0
0
0
0
0
1
28
-16
-9
0
0
0
0
0
1
13
-11
21
0
0
0
0
0
-2
12
-41
28
0
0
-22
-2
0
-7
1
38
33
0
0
0
0
0
0
-35
-9
-14
0
0
0
0
0
0
6
1
-6
0
0
0
0
0
0
-16
-6
-7
0
0
-10
0
0
3
35
-33
-2
0
0
0
0
0
0
10
-42
57
0
0
0
0
0
0
-8
-13
-2
0
0
0
0
0
1
2
23
8
0
0
-5
0
0
-3
44
-19
35
0
0
0
0
0
-4
10
-27
-12
0
0
0
0
0
0
-5
-14
7
0
0
0
0
0
3
25
-2
9
0
0
58
3
-3
-36
14
17
-17
0
0
0
0
5
-22
-9
-3
9
0
0
0
0
0
-9
41
-19
9
0
0
0
0
0
13
39
-59
-25
0
0
0
0
0
1
-12
5
7
0
0
0
0
-1
6
4
-54
12
0
0
0
0
0
1
-36
23
16
0
0
0
0
0
0
25
8
-47
0
0
0
0
0
2
45
-4
-31
0
0
0
0
3
-20
-6
-41
21
0
0
0
0
0
-4
-23
-4
5
0
0
0
0
0
2
27
2
-23
0
0
0
0
0
0
-24
-8
33
0
0
0
0
-1
-2
-26
-4
62
0
0
0
0
0
0
-5
6
-10
0
0
0
0
0
-1
2
-1
46
0
0
0
0
-2
0
-2
-51
55
0
0
0
0
19
25
-11
5
21
0
0
0
0
0
0
5
-2
-26
0
0
0
0
0
-1
4
12
1
0
0
0
0
0
6
-22
0
-14
0
0
0
0
-2
-15
14
35
-35
0
0
0
0
0
2
20
-24
-30
0
0
0
0
0
0
1
2
16
0
0
0
0
0
-1
-4
-1
-4
0
0
0
0
-49
26
23
-10
-14
0
0
0
0
0
0
-4
5
-2
0
0
0
0
0
0
2
66
-16
0
0
0
0
0
2
-2
7
10
0
0
0
0
2
-48
7
-24
38
0
0
0
0
0
0
6
-21
-5
0
0
0
0
-1
-10
-7
22
43
0
0
0
0
-2
-26
25
-21
25
0
0
0
0
0
0
-8
-9
58
0
0
0
4
0
0
-62
13
38
0
0
0
0
0
0
3
15
40
0
0
0
0
0
1
-11
33
-24
0
0
0
0
0
0
28
-65
16
0
0
0
0
0
-2
23
10
-24
0
0
0
0
0
0
2
-4
7
0
0
0
0
0
0
20
-18
-15
0
0
0
0
0
-1
19
-48
-9
0
0
0
3
0
0
-7
-24
-1
0
0
0
0
0
0
-1
-15
60
0
0
0
0
0
-1
-6
17
-55
0
0
0
0
0
0
6
22
-2
0
0
0
0
0
-2
-16
-25
14
0
0
0
0
0
0
-2
5
-14
0
0
0
0
0
0
-36
9
10
0
0
0
0
0
0
-3
-7
-1
0
0
0
37
2
0
-13
-20
-4
0
0
0
0
0
0
0
-21
71
0
0
0
0
0
1
2
13
3
0
0
0
0
0
0
-2
-6
8
0
0
0
0
0
2
-29
-10
18
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
8
6
0
0
0
0
0
0
-4
7
-6
0
0
0
1
0
0
6
-52
9
0
0
0
0
0
0
0
6
-6
0
0
0
0
0
-4
-6
24
14
0
0
0
0
0
0
10
-27
54
0
0
0
1
0
-7
7
-36
11
0
0
0
0
0
0
0
-4
4
0
0
0
-2
0
8
-52
-20
-3
0
0
0
0
0
6
42
10
-13
0
0
0
0
0
0
-7
-49
14
0
0
0
0
0
3
5
-13
-8
0
0
0
0
0
0
2
8
21
0
0
0
0
0
0
22
27
-50
0
0
0
0
0
0
-2
-16
-42
0
0
0
0
0
-1
1
-29
8
0
0
0
0
0
1
0
33
12
0
0
0
0
0
0
-2
-4
28
0
0
0
0
0
-7
0
16
-15
0
0
0
0
0
-2
-8
18
7
0
0
0
0
0
0
1
43
-18
0
0
0
0
0
0
-12
-2
38
0
0
0
0
0
0
1
3
-33
0
0
0
0
0
0
-1
-1
25
0
0
0
0
0
-4
5
-26
1
0
0
0
0
2
-2
6
-25
4
0
0
0
0
0
2
6
-33
-15
0
0
0
0
0
1
0
-19
5
0
0
0
0
0
0
0
-16
34
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-11
4
0
0
0
0
0
-1
0
-4
27
0
0
0
0
0
1
1
20
-37
0
0
0
0
0
0
-4
-13
16
0
0
0
0
0
0
0
-19
-13
0
0
0
0
0
1
-13
-9
13
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
3
11
-9
0
0
0
0
-4
10
36
8
-20
0
0
0
0
0
8
49
-3
-20
0
0
0
0
0
-3
60
-18
-19
0
0
0
0
0
-24
5
27
23
0
0
-2
0
0
8
57
-20
-12
0
0
0
0
0
6
22
-27
-27
0
0
0
0
0
-3
32
-11
-23
0
0
0
0
0
-12
-24
11
30
0
0
0
0
0
-22
21
1
8
0
0
0
0
0
3
29
-58
15
0
0
0
0
0
-2
-40
5
13
0
0
0
0
0
-3
-15
-24
58
0
0
-1
0
0
4
-29
-7
22
0
0
0
0
0
0
22
5
-5
0
0
0
0
0
3
15
-28
5
0
0
0
0
0
2
-2
10
-4
0
0
0
0
0
-17
-23
74
-34
0
0
0
0
0
39
29
-17
0
0
0
0
0
0
-3
-18
32
-18
0
0
0
0
0
7
7
-40
29
0
0
-6
0
0
-8
-30
-7
37
0
0
0
0
0
-3
2
7
-19
0
0
0
0
0
0
0
-13
16
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
-14
2
37
-8
0
0
0
0
0
38
-54
-28
40
0
0
0
0
0
-1
-22
-32
69
0
0
0
0
0
-1
2
-25
12
0
0
-4
0
0
1
4
9
-5
0
0
0
0
0
12
-43
-27
40
0
0
0
0
0
-4
22
32
-76
0
0
0
0
0
-2
-35
-14
40
0
0
-4
0
-1
15
-12
-4
33
0
0
0
0
55
-10
-5
-10
8
0
0
0
0
0
28
11
-26
-20
0
0
0
0
0
-4
-10
9
-8
0
0
0
0
0
-18
-30
42
-11
0
0
0
0
0
-11
27
-7
-14
0
0
0
0
0
-7
-1
-40
45
0
0
0
0
0
-5
-4
10
12
0
0
0
0
0
8
24
-36
-18
0
0
0
0
-15
11
-11
-6
-2
0
0
0
0
0
-1
-6
13
-14
0
0
0
0
0
-9
-5
34
1
0
0
0
0
0
7
0
6
20
0
0
0
0
-4
-9
12
62
26
0
0
0
0
0
0
-8
11
26
0
0
0
0
-1
21
13
-52
22
0
0
0
0
0
-14
4
71
-5
0
0
0
0
4
-21
44
-17
-26
0
0
0
0
0
0
10
-5
14
0
0
0
0
0
0
-10
-30
14
0
0
0
0
0
2
4
0
1
0
0
0
0
0
0
-6
-7
11
0
0
0
0
0
0
0
9
48
0
0
0
0
0
0
-3
0
-10
0
0
0
0
0
-4
0
-17
-16
0
0
0
0
18
8
-6
-35
17
0
0
0
0
0
-1
-4
-22
43
0
0
0
0
0
2
2
-20
18
0
0
0
0
0
3
-11
11
15
0
0
0
0
-41
7
79
-13
15
0
0
0
0
0
-2
-9
-4
24
0
0
0
0
2
-17
-3
40
-15
0
0
0
0
6
-15
-2
31
18
0
0
0
0
0
0
-18
32
42
0
0
0
-12
0
-1
-10
-4
17
0
0
0
0
0
0
1
-36
5
0
0
0
0
0
0
25
-36
-47
0
0
0
0
0
0
-5
3
5
0
0
0
1
0
2
1
-17
-4
0
0
0
0
0
0
0
-15
-13
0
0
0
0
0
2
8
-27
23
0
0
0
0
0
-1
9
-6
0
0
0
0
22
0
0
1
-27
-6
0
0
0
0
0
0
0
8
32
0
0
0
4
0
2
2
-56
52
0
0
0
0
0
0
1
-29
23
0
0
0
10
0
-1
-16
-10
10
0
0
0
0
0
1
0
-43
19
0
0
0
-7
0
1
-30
0
45
0
0
0
0
0
0
0
46
-8
0
0
0
-5
0
2
-11
0
12
0
0
0
0
0
0
-1
-3
1
0
0
0
0
0
0
4
-7
-1
0
0
0
0
0
0
0
7
-3
0
0
0
2
0
0
2
-13
24
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-6
-1
-2
0
0
0
0
0
0
0
9
-60
0
0
0
8
0
-1
3
35
-19
0
0
0
0
0
0
0
-8
23
0
0
0
0
0
0
14
-4
-18
0
0
0
0
0
0
2
-31
-6
0
0
0
0
0
0
3
-43
24
0
0
0
0
0
0
0
-20
-26
0
0
0
16
0
-1
-20
-20
-12
0
0
0
0
0
8
8
11
-11
0
0
0
0
0
0
2
-5
-17
0
0
0
0
0
-1
22
10
24
0
0
0
0
0
0
-2
28
48
0
0
0
0
0
0
-10
-8
31
0
0
0
0
0
0
0
-12
-21
0
0
0
0
0
0
2
-19
-7
0
0
0
0
0
0
-19
-9
60
0
0
0
0
1
1
-18
4
23
0
0
0
0
0
0
0
-42
15
0
0
0
0
-2
1
-3
12
20
0
0
0
0
0
-3
8
7
12
0
0
0
0
0
0
4
2
-30
0
0
0
0
0
0
0
5
-10
0
0
0
0
2
4
-5
-93
33
0
0
0
0
0
0
0
5
-3
0
0
0
0
0
3
-1
-44
49
0
0
0
0
0
0
0
-15
5
0
0
0
0
-1
0
0
-11
3
0
0
0
0
0
0
2
6
-2
0
0
0
0
0
0
0
5
49
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
3
5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
-8
18
-1
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
4
-7
3
7
0
0
0
0
0
0
0
-25
-1
0
0
0
0
0
-1
-25
29
7
0
0
0
0
0
0
-3
17
4
0
0
0
0
0
0
-6
11
-12
0
0
0
0
-3
4
-13
15
-9
0
0
0
0
0
0
14
-31
1
0
0
0
-1
0
1
-7
60
-6
0
0
0
0
0
0
15
-26
26
0
0
-13
1
0
0
-16
1
18
0
0
0
0
0
0
0
8
5
0
0
0
0
0
0
-1
-4
17
0
0
0
0
0
-1
0
-6
9
0
0
6
0
0
0
18
-29
-26
0
0
0
0
0
2
9
-12
-14
0
0
0
0
0
1
27
-33
0
0
0
0
0
0
0
-3
-15
53
0
0
-2
0
0
4
2
-2
-2
0
0
0
0
0
0
-3
2
40
0
0
0
0
0
1
-13
15
9
0
0
0
0
0
1
-6
23
6
0
0
0
0
0
0
-5
-31
-11
0
0
0
0
0
4
2
-4
-6
0
0
0
0
0
0
-3
-48
69
0
0
0
0
0
0
2
0
-3
0
0
5
0
0
0
18
-33
11
0
0
0
0
0
0
-2
6
-7
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
0
1
0
0
0
0
0
0
8
1
8
0
0
0
0
0
0
-1
10
-33
0
0
0
0
0
0
1
-7
-1
0
0
7
0
0
0
-5
8
7
0
0
0
0
0
-4
0
3
12
0
0
0
-6
0
0
-8
1
20
0
0
0
0
0
0
-5
-33
26
0
0
23
-4
0
-2
6
3
-19
0
0
0
0
0
4
4
9
-11
0
0
0
0
0
0
-2
-28
2
0
0
0
0
0
0
11
-16
-22
0
0
0
0
0
0
-1
-15
31
0
0
0
0
0
0
-18
3
62
0
0
0
0
0
2
4
-17
3
0
0
0
0
0
2
-3
0
-14
0
0
0
0
0
0
2
-1
-16
0
0
0
0
0
20
10
11
-4
0
0
0
0
0
0
2
10
27
0
0
0
0
0
0
15
-17
15
0
0
0
0
0
0
-1
-43
62
0
0
0
0
0
-7
16
-3
-3
0
0
0
0
0
0
2
-13
-18
0
0
0
0
0
-1
2
-4
-25
0
0
0
0
0
0
-1
10
16
0
0
0
0
-10
-24
14
20
19
0
0
0
0
0
1
0
-41
18
0
0
0
0
0
1
3
-28
23
0
0
0
0
0
0
-1
7
12
0
0
0
0
0
1
1
0
-5
0
0
0
0
0
0
0
0
14
0
0
0
0
0
-1
1
-1
1
0
0
0
0
0
-4
0
-2
-18
0
0
0
0
4
-4
-3
-1
15
0
0
0
0
0
-1
-1
-27
36
0
0
0
0
0
0
9
-1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
-27
1
40
0
0
0
0
0
1
1
15
-50
0
0
0
0
3
0
0
-9
14
0
0
0
0
-1
-1
11
2
-34
0
0
0
0
0
0
0
-16
19
0
0
0
0
0
-2
0
2
-12
0
0
0
0
0
0
-7
-34
57
0
0
0
0
0
0
-22
1
38
0
0
0
0
0
0
0
-2
50
0
0
0
0
0
0
4
29
-18
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-19
14
2
0
0
0
0
0
0
-3
-15
38
0
0
0
2
0
0
29
-5
-7
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
-39
51
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
-2
0
-23
9
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-13
-34
0
0
0
0
0
0
0
-18
28
0
0
0
7
0
-1
-1
-12
15
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-1
8
-18
15
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
1
10
45
0
0
0
-3
0
0
0
10
-14
0
0
0
0
0
0
0
-2
-11
0
0
0
0
0
0
-3
-1
-8
0
0
0
0
0
0
0
2
-25
0
0
0
2
0
0
0
-32
7
0
0
0
0
0
0
0
-3
15
0
0
0
0
0
-8
-36
-17
37
0
0
0
0
-7
7
-5
-11
-4
0
0
0
0
0
0
7
-6
-4
0
0
0
0
0
0
20
-30
-6
0
0
0
0
0
-1
-7
-7
18
0
0
0
0
0
0
-1
6
-7
0
0
0
0
0
0
1
-4
-13
0
0
0
0
0
6
-2
0
10
0
0
0
0
0
0
-2
-5
59
0
0
0
0
-5
0
2
-14
14
0
0
0
0
0
0
-5
-24
2
0
0
0
0
0
0
-3
1
8
0
0
0
0
0
0
-1
10
13
0
0
0
0
-2
0
2
1
-9
0
0
0
0
0
0
0
-4
13
0
0
0
0
0
0
0
2
9
0
0
0
0
0
-2
-8
1
-4
0
0
0
0
2
-3
-6
1
26
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
10
0
3
-20
0
0
0
0
0
0
0
21
-66
0
0
0
0
-1
0
0
0
12
0
0
0
0
0
0
-3
-5
12
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
-1
-3
3
-12
23
0
0
0
0
0
-4
0
5
-7
0
0
0
0
0
0
1
-19
16
0
0
0
0
0
2
0
2
-8
0
0
0
0
2
0
0
-5
-39
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
-2
0
-1
0
0
0
0
3
-5
-5
-16
29
0
0
0
0
4
-24
0
14
20
0
0
0
-1
0
-1
-16
-21
4
0
0
0
0
0
-1
26
-57
15
0
0
1
0
0
4
12
8
-15
0
0
0
0
0
-5
-25
-12
50
0
0
0
0
0
-3
-6
-9
23
0
0
0
0
0
0
7
-37
19
0
0
0
0
0
-2
11
26
-34
0
0
0
0
0
-1
-2
-3
17
0
0
0
0
0
1
30
-40
-30
0
0
0
0
0
-2
3
17
-43
0
0
-1
0
0
-13
-14
-8
6
0
0
0
0
0
4
-9
41
-21
0
0
0
0
0
0
-6
13
-38
0
0
0
0
0
-10
8
-24
37
0
0
0
0
0
8
12
-1
-21
0
0
0
0
-1
22
41
-17
-13
0
0
0
-3
0
-1
-4
-40
12
0
0
0
0
0
3
-18
-10
22
0
0
0
0
0
-1
-6
1
-28
0
0
0
0
0
21
-4
-26
-1
0
0
0
0
0
0
-12
4
-16
0
0
0
0
0
1
0
-9
7
0
0
0
0
0
0
-14
20
-11
0
0
0
0
0
-13
-10
-9
-1
0
0
0
0
0
0
-10
26
-22
0
0
0
0
0
0
-3
-50
18
0
0
-4
0
0
-1
-9
16
-2
0
0
0
0
0
-11
-6
41
-5
0
0
0
0
0
0
1
-9
54
0
0
0
0
0
-5
0
-3
15
0
0
7
0
-1
-7
-19
-7
-10
0
0
0
0
-13
-27
-23
27
22
0
0
0
0
0
0
-4
14
-8
0
0
0
0
6
7
-51
-29
50
0
0
0
0
-1
-3
20
-2
-6
0
0
0
0
-22
52
-29
-15
25
0
0
0
0
-2
-3
-51
43
14
0
0
0
0
0
4
13
-35
-4
0
0
0
0
-1
10
26
-26
-10
0
0
0
0
25
-21
41
-18
8
0
0
0
0
0
0
-10
-38
98
0
0
0
0
0
-16
-11
73
-1
0
0
0
0
0
4
-6
-24
7
0
0
0
0
-24
35
-29
-47
44
0
0
0
0
0
-1
8
-13
66
0
0
0
0
14
-3
-11
7
-19
0
0
0
0
-3
-22
28
0
38
0
0
0
0
-23
-51
-22
-31
16
2
0
0
0
0
-8
-22
55
23
5
0
0
0
2
-1
1
-12
-38
3
0
0
0
-3
-6
-11
-23
-3
-5
0
0
0
-11
-29
54
-33
36
-6
0
0
0
1
3
13
-36
41
-10
0
0
0
-1
0
3
12
12
4
0
0
0
0
6
41
-24
37
-23
0
0
0
5
-32
-3
46
-8
7
0
0
0
0
-1
-5
-12
-1
35
0
0
0
-2
0
56
29
-29
12
0
0
0
0
30
-25
10
24
17
0
0
0
15
9
-21
6
0
3
0
0
0
3
2
8
49
-1
-6
0
0
0
13
28
-7
-20
41
0
0
0
0
-4
10
36
-2
-4
0
0
0
0
0
0
22
42
-38
0
0
0
20
0
0
-16
30
-5
0
0
0
0
0
0
0
14
-16
0
0
0
1
0
-4
-46
37
2
0
0
0
0
0
3
29
-26
-21
0
0
0
10
0
0
-12
-31
34
0
0
0
0
0
0
0
-5
38
0
0
0
0
0
-6
2
-15
-8
0
0
0
0
0
0
-2
-1
32
0
0
0
6
0
1
0
-14
19
0
0
0
0
0
0
0
-20
3
0
0
0
-8
0
0
-3
-29
32
0
0
0
0
0
-1
2
-10
-1
0
0
0
-1
0
-1
0
18
29
0
0
0
0
0
0
0
-14
-11
0
0
0
2
0
-1
-4
-43
43
0
0
0
0
0
0
8
-12
27
5
0
0
-12
4
-6
-1
35
-22
4
0
0
0
0
0
0
23
-20
14
0
0
0
0
0
-1
-28
23
-1
0
0
0
0
-1
8
-27
22
-2
0
0
8
0
0
0
-23
7
-11
0
0
0
0
0
0
-29
28
15
0
0
0
0
0
-5
-16
-45
-9
0
0
0
0
0
1
-26
9
17
0
0
-11
0
0
-2
-15
8
1
0
0
0
0
0
0
-43
20
22
0
0
1
0
0
0
-11
-34
2
0
0
0
0
1
5
-24
21
-14
0
0
43
0
0
-3
60
45
-48
0
0
0
0
0
0
-31
-10
6
0
0
-25
0
-4
-44
-2
11
-4
0
0
0
0
-2
-13
-37
18
0
0
0
0
0
0
0
6
-6
0
0
0
0
0
1
1
-32
27
0
0
0
0
0
-2
-12
10
-4
0
0
0
0
0
-1
2
5
12
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
-2
-2
-8
0
0
0
0
0
-2
-7
-33
11
0
0
0
0
0
0
-1
13
-7
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
-4
0
-38
0
0
0
0
0
0
1
3
-23
1
0
0
0
0
0
-2
0
-31
44
0
0
0
0
0
0
0
-18
82
0
0
0
0
0
-1
-1
-9
11
0
0
0
0
0
3
-1
-43
15
0
0
0
0
4
0
8
-8
42
9
0
0
0
0
0
0
-8
9
1
0
0
0
0
0
6
9
16
-11
0
0
0
0
-1
0
11
-42
-13
0
0
0
0
0
1
-32
5
4
0
0
0
0
0
1
-1
29
9
0
0
0
1
0
2
22
-5
0
0
0
0
0
-1
5
4
-2
-3
0
0
0
0
0
3
-13
30
9
0
0
0
0
0
0
23
20
-10
0
0
0
0
0
-8
23
-22
19
0
0
0
0
-3
-1
-21
-16
14
0
0
0
0
0
3
-1
37
-22
0
0
0
0
0
-4
-17
-3
20
0
0
0
1
0
3
-38
-5
15
0
0
0
-2
1
23
-12
-15
-12
0
0
0
0
-4
7
-5
69
0
0
0
0
0
-2
11
9
-19
0
0
0
0
0
0
-2
-8
13
0
0
-30
-2
0
1
37
-23
35
0
0
0
0
0
0
2
-33
53
0
0
0
0
0
-1
8
-22
-35
0
0
0
0
0
0
4
3
8
0
0
-1
0
0
-14
21
-6
-14
0
0
0
0
0
0
2
25
-2
0
0
0
0
0
0
6
4
1
0
0
0
0
0
0
0
-23
0
0
0
2
0
0
-1
10
-3
-25
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
-2
5
32
0
0
0
0
0
0
6
-12
-4
0
0
1
0
0
-2
13
-21
-28
0
0
0
0
0
0
-13
-67
22
-3
0
0
0
0
0
3
-6
51
-3
0
0
0
0
0
-14
22
-44
-1
0
-11
0
0
3
-35
23
-33
5
0
0
0
0
1
-2
-32
-39
33
0
0
0
0
0
-6
-14
7
-11
0
0
0
0
0
2
-30
25
18
0
9
0
0
0
-10
-19
-48
32
0
0
0
0
0
-27
23
77
-32
0
0
0
0
0
-9
8
-13
-1
0
0
0
0
6
-15
-36
12
15
0
57
0
0
-1
-14
-52
-19
-27
0
0
0
0
0
-6
-7
12
3
0
0
0
0
1
24
-39
14
-13
0
0
0
0
0
-1
11
41
-11
0
55
0
1
2
-32
-20
-14
-24
0
0
0
8
-2
-24
-9
2
0
0
0
0
0
-4
-3
-28
4
0
0
0
0
0
0
13
-15
18
0
0
0
0
0
2
0
8
20
0
0
0
0
3
7
-11
34
-29
0
0
0
0
0
0
0
-43
36
0
0
0
0
0
0
1
-2
10
0
0
0
0
0
0
-43
-13
30
0
0
0
0
-1
0
-2
-4
33
0
0
0
0
0
0
0
-6
8
0
0
0
0
0
0
-6
-1
2
0
0
0
0
0
0
1
8
-35
0
0
0
0
0
0
-6
7
-12
0
0
0
0
0
-1
0
-2
6
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
2
13
-10
-12
0
0
0
0
-36
15
-20
5
19
-7
0
0
0
0
0
0
-35
32
1
0
0
0
0
1
7
29
19
-24
0
0
0
0
1
7
-55
17
19
0
0
0
-17
20
-8
23
29
-25
0
0
0
0
0
-9
-26
-40
8
0
0
0
0
0
-4
4
18
7
0
0
0
0
-11
4
-15
11
5
0
0
0
0
-1
-13
12
-13
-9
0
0
0
0
-1
0
-5
14
-1
0
0
0
0
0
0
-16
-5
8
0
0
0
0
-1
1
-1
8
-18
0
0
0
8
-1
13
5
34
-36
0
0
0
-1
0
9
-30
-22
-4
0
0
0
0
0
-2
8
8
-29
0
0
0
-1
-23
56
63
-8
-24
0
0
0
3
1
1
18
13
0
0
0
-5
0
0
0
-8
15
0
0
0
0
0
0
-3
-4
10
0
0
0
0
0
0
1
-61
63
0
0
0
0
0
0
0
13
-35
0
0
0
0
0
0
3
-26
8
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-22
-3
26
0
0
0
0
0
0
3
9
-6
0
0
0
6
0
0
-1
-4
-10
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
1
-18
-3
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
1
-4
-18
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
20
5
-7
0
0
0
0
0
0
4
-11
35
-20
0
0
-9
0
0
0
-9
-5
-8
0
0
0
0
0
1
5
0
31
0
0
0
0
0
-1
10
8
-37
0
0
0
1
0
-1
-4
8
8
0
0
11
0
0
19
-15
8
-44
0
0
0
0
0
0
4
-29
-48
0
0
0
0
0
-13
13
-4
3
0
0
0
0
0
-6
13
-12
40
0
0
4
0
0
2
12
-17
-19
0
0
0
0
0
-1
2
3
11
0
0
0
0
0
1
-1
-7
-25
0
0
0
0
0
5
26
11
-31
0
0
2
0
0
6
10
-31
-1
0
0
0
0
0
6
23
-18
-40
0
0
-2
1
-1
15
-72
44
-7
0
0
0
0
-3
-2
27
5
0
0
0
0
0
0
0
35
20
0
0
0
0
0
8
1
-2
19
0
0
0
0
0
0
-7
12
24
0
0
0
0
0
0
-3
-5
-4
0
0
0
0
0
0
0
-3
-17
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
-3
10
4
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
7
0
0
0
0
-3
0
0
0
1
0
0
0
0
0
3
-1
2
4
0
0
0
0
-1
0
2
23
2
-8
0
0
0
0
0
1
-33
36
-22
0
0
0
0
-2
-1
-8
9
10
0
0
0
0
0
-2
9
1
-28
0
0
0
1
0
-7
0
-19
22
0
0
0
0
0
0
4
-41
-27
0
0
0
2
0
0
-9
5
7
0
0
0
0
0
2
-2
-1
6
0
0
0
0
-3
0
1
-41
36
0
0
0
0
0
0
-3
0
-16
0
0
0
0
0
-2
3
0
25
0
0
0
0
0
0
-2
0
-31
0
0
0
1
0
0
2
-15
-8
0
0
0
0
0
0
1
10
-41
0
0
0
0
0
7
16
4
-31
0
0
0
0
2
-21
-9
-9
-8
0
0
0
-1
-1
-27
-9
72
0
0
0
0
0
0
-11
-16
45
0
0
0
0
0
0
-1
9
-53
0
0
-3
0
0
1
13
-46
28
0
0
0
0
0
-1
3
-1
-22
0
0
0
0
0
0
9
4
35
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
-12
-3
-25
39
0
0
0
0
0
0
-1
0
19
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
1
0
0
0
6
0
0
-2
7
-7
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
0
1
15
0
0
0
0
0
3
37
-26
6
0
0
0
0
0
0
31
95
-16
-8
0
0
0
0
-1
1
-16
23
1
0
0
0
0
0
-6
-22
25
-26
0
0
0
0
3
-3
-6
15
-19
0
0
0
0
0
7
-4
-13
-16
0
0
0
0
0
26
-17
-13
8
0
0
0
0
2
12
-3
-11
-46
0
-2
0
-1
-2
-15
52
-17
-5
0
0
0
0
2
20
-12
-13
35
0
0
0
0
0
-3
-15
21
-23
0
0
0
0
0
-17
-1
7
-56
0
-4
0
0
0
-23
8
0
2
0
0
0
0
0
-5
6
-41
33
0
0
0
0
2
3
-41
-6
2
0
0
0
0
-2
23
-38
-2
-46
0
0
-1
0
16
-6
-25
25
15
0
0
0
-9
31
-29
-17
25
0
0
0
0
0
-4
-2
22
31
0
0
0
0
0
0
2
-16
29
0
0
0
0
0
-1
8
-43
29
0
0
0
0
2
-17
6
-9
2
0
0
0
0
0
0
-12
5
3
0
0
0
0
-1
-7
-1
4
16
0
0
0
0
0
0
1
-8
-1
0
0
0
0
13
37
-56
-40
15
0
0
0
0
0
0
-8
-10
21
0
0
0
0
0
-1
13
-5
-20
0
0
0
0
1
0
25
22
-33
0
0
0
0
-1
-11
5
10
-20
0
0
0
0
0
0
1
2
-13
0
0
0
0
2
1
1
-35
5
0
0
0
0
1
6
-5
4
-27
0
0
0
0
-9
32
-3
-51
-19
7
0
0
0
0
0
-15
18
-4
12
0
0
0
0
2
-7
-50
38
14
0
0
0
0
0
0
-37
35
-31
0
0
0
-4
-2
21
13
62
11
0
0
0
0
0
0
-3
8
11
0
0
0
2
-3
0
-1
15
-6
0
0
0
0
0
-5
1
-20
-11
0
0
0
9
-3
-18
62
3
-35
10
0
0
0
-3
36
34
-6
-24
3
0
0
0
9
19
-12
50
-16
1
0
0
0
-2
42
23
48
-12
-3
0
0
-13
1
-13
-36
-6
-15
25
0
0
0
-1
1
-70
43
3
4
0
0
-7
0
11
-19
32
6
-5
0
0
-6
2
54
-5
-17
0
-8
0
0
0
0
-5
1
32
0
0
0
-10
0
-1
-8
15
47
0
0
0
0
0
0
0
4
30
0
0
0
0
0
2
-4
-22
0
0
0
0
0
0
-10
0
34
8
0
0
0
0
0
-3
-5
-3
45
0
0
0
0
0
0
0
-2
-29
0
0
0
0
0
0
-14
34
-41
0
0
0
0
0
0
0
-41
44
0
0
0
22
0
0
-8
6
-8
0
0
0
0
0
0
0
-50
13
0
0
0
2
0
-1
-5
42
-41
0
0
0
0
0
0
0
-13
51
0
0
0
1
0
0
-7
1
19
0
0
0
0
0
0
0
-3
-37
0
0
0
3
0
4
16
-62
-37
0
0
0
0
0
0
2
3
17
1
0
0
-7
0
-3
-3
10
14
0
0
0
0
0
0
0
3
-22
16
0
0
0
0
0
-14
-8
17
25
0
0
0
0
0
-4
-14
31
-32
0
0
1
0
1
1
6
-22
1
0
0
0
0
0
0
2
1
29
0
0
0
0
0
0
-5
16
33
0
0
0
0
2
4
44
20
-28
1
0
38
0
-2
-5
-24
9
-55
-14
0
0
0
0
2
-60
76
-60
8
0
0
0
3
-41
-54
-24
-20
6
0
0
0
0
-1
-1
10
-13
-20
0
-41
0
0
-21
2
23
39
-4
0
0
0
2
0
-30
-37
-27
0
0
50
0
-5
-12
-28
13
-48
-2
0
0
2
-3
-2
-3
15
0
0
0
0
0
0
-2
-25
43
0
0
0
0
0
0
3
-14
63
0
0
0
0
0
0
5
-22
46
0
0
0
0
0
-1
-2
25
-38
0
0
0
0
0
0
-4
-25
4
0
0
0
0
0
-2
4
1
2
0
0
0
0
0
0
-20
12
0
0
0
0
0
0
0
3
12
-45
0
0
0
0
0
0
0
-3
36
0
0
0
0
0
1
-1
13
-5
0
0
0
0
0
-1
-2
35
-6
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
-3
7
-21
0
0
0
0
0
0
4
-9
1
0
0
0
0
-2
0
-1
8
-22
10
0
0
0
0
0
0
-26
53
-10
0
0
0
0
0
0
-4
-38
17
0
0
0
0
0
0
3
-47
33
0
0
0
0
0
-2
5
23
-34
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
2
2
-43
0
0
0
0
0
0
1
0
-14
0
0
0
0
0
2
-44
18
-33
-1
0
0
0
0
-1
45
-4
-53
3
0
0
0
-10
1
-26
-45
-25
1
0
0
0
0
-3
-2
15
-51
11
0
0
0
2
3
6
-4
-9
-32
0
0
0
0
0
0
-14
2
29
0
0
2
-1
1
15
-16
-31
2
0
0
0
17
-34
-13
-24
-17
5
0
0
0
3
15
-12
7
0
0
0
0
0
0
1
12
30
0
0
0
0
0
0
0
50
-22
0
0
41
0
0
-1
-7
-35
79
0
0
0
0
0
0
2
3
-3
0
0
0
0
0
0
-8
0
35
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
0
-49
25
0
0
0
0
0
9
1
21
-19
0
0
0
0
0
0
-2
-61
44
0
0
0
0
0
-4
1
-58
0
0
0
-2
0
0
2
1
-23
10
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
2
12
-3
0
0
0
0
0
0
0
11
2
0
0
0
0
0
1
-4
0
-40
0
0
0
0
0
0
3
26
4
-5
0
0
3
0
0
-9
53
47
-40
0
0
0
0
0
0
-14
3
-23
0
15
0
0
0
-28
-76
18
21
0
0
0
0
0
0
-1
1
-21
0
0
0
0
0
-1
-18
1
49
0
0
0
0
0
0
0
3
-26
0
0
0
0
0
-5
-10
0
57
0
0
0
0
-1
33
18
3
-18
1
0
0
0
3
-44
1
-28
-27
-1
0
0
0
0
-8
8
-67
-36
21
-80
0
0
-1
-2
-31
28
-11
2
0
0
0
1
1
61
-7
-70
-21
0
0
0
0
-1
-6
-1
-39
23
0
0
0
2
0
6
-2
-6
24
-73
-3
2
-27
-50
-24
72
-7
21
0
0
17
-4
21
-23
-1
0
0
0
0
0
1
-2
10
27
0
0
0
0
-3
-3
-24
-39
68
0
0
0
0
0
1
-9
-16
-39
0
0
0
0
-6
3
-11
-4
53
0
0
0
0
0
-8
-4
23
-32
0
0
0
0
-1
1
0
7
11
0
0
0
0
0
-2
-1
24
-43
0
0
0
0
18
7
15
-51
-13
0
0
0
0
0
-4
6
-9
19
0
0
0
0
0
2
-13
-37
26
0
0
0
0
0
0
-13
12
42
0
0
0
0
2
3
-10
-53
24
0
0
0
0
0
0
1
1
42
0
0
0
0
0
0
-1
18
8
0
0
0
0
0
10
4
-29
-10
0
0
0
0
-23
-9
31
62
53
-8
0
0
0
0
-1
9
-24
30
-1
0
0
0
-1
0
0
-1
5
10
0
0
0
0
0
8
6
-14
19
0
0
0
-9
-2
-3
1
1
-14
0
0
0
0
0
0
-9
-24
-17
0
0
0
0
8
-1
-1
-14
-30
0
0
0
0
3
-3
-20
-13
5
0
0
0
-7
12
8
15
-21
-14
23
0
0
0
0
-3
33
24
-23
13
0
0
0
1
0
-31
32
-6
-7
0
0
0
0
-1
16
27
-57
4
0
0
6
4
12
6
33
-15
-22
0
0
2
0
9
13
-33
4
-13
0
0
0
-4
0
-12
-49
-6
16
0
0
20
-13
-29
-46
35
-18
3
0
0
-1
-1
-1
-21
48
0
0
0
-24
0
1
1
-32
51
0
0
0
0
-6
0
2
-15
-37
0
0
0
7
0
0
-28
18
17
0
0
0
0
0
1
-1
0
-3
0
0
0
0
0
0
-24
-13
34
0
0
0
0
0
0
-1
-8
-48
0
0
0
0
0
-3
-7
-34
36
0
0
0
0
0
0
-1
24
10
0
0
0
-32
0
4
-3
21
26
0
0
0
0
0
0
0
-25
16
0
0
0
-6
0
0
6
-23
-26
0
0
0
0
0
0
0
8
-14
0
0
0
-3
0
0
-1
-6
3
0
0
0
0
0
-2
-3
11
4
0
0
0
0
0
0
-13
-1
51
0
0
0
0
0
0
0
21
-36
-3
0
0
-3
0
3
0
-8
2
-15
0
0
0
0
0
1
-26
28
-8
0
0
0
0
2
1
28
-19
-18
0
0
0
0
0
6
-10
23
-4
0
0
-13
0
0
4
7
38
-41
0
0
0
0
0
0
2
-2
-8
0
0
0
0
0
-8
2
-13
6
0
0
0
0
0
-1
3
36
-13
3
0
10
0
0
4
1
22
-31
-27
0
0
0
0
-1
-8
1
-44
49
0
0
0
0
-10
-22
-14
21
12
0
0
0
0
-1
0
-7
-3
30
0
18
0
0
7
-40
42
-21
-27
0
0
0
0
-2
33
-27
0
-35
0
-32
0
-6
-29
6
18
-6
-2
0
0
17
-19
54
10
-8
0
0
0
0
0
-8
-2
1
14
0
0
0
0
0
-1
-17
6
5
0
0
0
0
0
0
-32
-1
42
0
0
0
0
0
-3
27
-5
-5
0
0
0
0
0
-1
4
-19
19
0
0
0
0
0
0
0
-8
17
0
0
0
0
0
-13
13
-1
18
0
0
0
0
-4
-12
2
23
-1
0
0
0
0
0
0
0
12
-14
0
0
0
0
0
0
1
16
-47
0
0
0
0
0
0
-3
-44
34
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
-1
-6
-2
11
0
0
0
0
0
0
0
19
-41
0
0
0
0
0
0
0
10
-14
0
0
0
0
12
24
-7
5
21
-23
0
0
0
-1
1
-7
11
24
6
0
0
0
0
-4
1
-36
20
11
0
0
0
0
-1
7
-46
32
-47
0
0
0
6
-1
5
4
14
-29
0
0
0
-1
0
0
-13
-20
12
0
0
0
-2
0
0
3
1
4
0
0
0
0
-11
2
-4
9
-10
0
0
0
20
-3
-23
-40
-33
-15
-1
0
0
0
-2
-2
-19
91
16
-25
0
0
0
-6
-2
-7
-20
0
18
0
0
0
0
-1
1
-26
-17
17
0
0
12
-2
13
-13
0
-35
11
0
0
0
0
-4
1
4
1
26
0
0
0
3
3
-12
3
-9
20
0
0
-16
-41
-13
24
-48
1
-3
0
0
-12
20
41
-10
14
0
0
0
-9
-9
15
-7
21
17
0
0
0
0
27
-1
7
-42
15
0
0
31
12
-21
-5
34
-11
-1
0
0
0
0
38
2
24
21
-22
0
0
0
46
2
-22
-59
-37
8
0
0
0
0
-5
4
10
31
-49
0
0
-7
2
3
-32
-75
-2
21
0
0
0
0
31
-30
26
4
-26
0
0
0
-23
0
-26
31
34
-2
0
0
0
0
-14
10
-62
-26
33
0
0
21
-2
-2
3
-14
-63
-12
0
0
0
0
-2
31
40
-15
-55
0
0
0
-33
0
-11
-32
-39
32
0
0
0
0
-34
-8
14
2
33
0
0
18
-1
7
-29
3
-31
4
0
0
0
0
17
-11
2
22
5
1
0
0
39
-3
19
-37
-31
-9
8
0
0
0
-2
6
5
14
39
-7
0
17
-4
6
21
-2
-50
-3
-15
0
0
0
51
22
32
7
-67
0
0
0
-13
-10
-27
-31
15
6
-6
0
0
0
-5
10
-25
-13
0
22
0
-6
3
-3
2
-88
24
20
-2
0
0
0
12
-17
-15
3
33
-44
-2
0
-9
-2
-4
26
-11
-31
-5
-9
0
0
-20
4
-44
-50
48
-52
15
-2
-1
-9
-16
22
-39
-17
-11
10
0
0
-9
9
3
5
-15
12
-7
0
-3
-7
-35
-54
37
32
-5
-2
0
0
11
-21
-18
-55
17
-20
23
-88
-18
14
-6
14
-40
-4
-26
-13
0
0
49
-4
22
10
-13
0
0
0
0
0
-6
-42
7
14
0
0
0
0
0
21
-16
-21
17
0
0
0
0
0
-10
-32
-6
19
0
0
0
0
-2
4
-13
38
4
0
0
0
0
0
15
-37
21
16
0
0
0
0
-1
-2
11
-5
17
0
0
0
0
0
-10
22
-50
28
0
0
0
0
7
10
-3
-43
22
0
0
0
0
0
-3
7
5
-15
0
0
0
0
0
4
-4
39
-26
0
0
0
0
0
8
13
60
-45
0
0
0
0
-2
-4
29
7
6
0
0
0
0
0
0
29
-7
26
0
0
0
0
-1
9
-14
-51
27
0
0
0
0
0
-8
50
-45
23
0
0
0
0
-17
0
13
-16
22
0
0
0
0
0
2
-10
-45
-19
0
0
0
0
0
1
7
-52
30
0
0
0
0
0
-2
25
-21
10
0
0
0
0
-12
24
23
-17
1
0
0
0
0
0
0
0
-22
6
0
0
0
0
0
0
-15
-9
-7
0
0
0
0
0
-1
-4
12
32
0
0
0
0
-11
-5
-4
5
27
0
0
0
0
0
1
0
-8
17
0
0
0
0
1
2
-10
-28
34
0
0
0
0
0
1
-7
40
32
0
0
0
0
28
-36
3
1
-8
0
0
0
0
0
-2
24
3
21
0
0
0
0
22
-16
-12
39
-3
0
0
0
0
-20
-5
-21
31
23
0
0
0
0
0
-2
-19
25
12
0
0
0
-28
0
0
-2
-13
18
0
0
0
0
0
0
1
-12
3
0
0
0
0
0
1
14
-42
11
0
0
0
0
0
0
9
-14
0
0
0
0
0
0
0
-3
-4
30
0
0
0
0
0
0
-2
-24
-27
0
0
0
0
0
6
-13
-17
22
0
0
0
0
0
0
0
19
8
0
0
0
-14
0
0
2
32
-11
0
0
0
0
0
0
-1
14
2
0
0
0
-1
0
-3
1
-8
28
0
0
0
0
0
0
-4
-6
10
0
0
0
0
0
0
1
1
21
0
0
0
0
0
0
7
-50
-5
0
0
0
0
0
1
-12
19
-1
0
0
0
0
0
0
6
-3
-2
0
0
0
8
0
0
2
-43
14
0
0
0
0
0
0
1
-12
22
0
0
0
0
0
0
0
-29
74
0
0
0
0
0
0
-1
14
-31
0
0
0
13
0
0
1
-27
35
0
0
0
0
0
0
0
50
-35
0
0
0
0
0
0
1
-12
-10
0
0
0
0
0
0
0
13
32
0
0
0
9
0
0
-1
22
-35
0
0
0
0
0
0
0
6
-28
0
0
0
0
0
-1
-1
48
31
0
0
0
0
0
0
0
-16
38
0
0
0
-26
0
0
-7
-7
26
0
0
0
0
0
0
3
-3
17
0
0
0
23
0
-21
-18
-19
4
0
0
0
0
0
1
5
14
0
0
0
0
0
0
0
14
2
22
0
0
0
0
0
0
9
2
-8
0
0
0
0
0
-6
-3
-28
9
0
0
0
0
0
0
10
-52
35
0
0
0
0
0
0
14
-8
13
0
0
0
0
0
0
7
-15
11
0
0
0
0
0
-2
-15
4
9
0
0
0
0
0
0
-21
-11
35
0
0
0
0
0
0
-1
-29
1
0
0
0
0
0
0
-7
-4
-9
0
0
0
0
0
-1
-8
34
12
0
0
0
0
0
0
2
-64
58
0
0
0
0
0
0
0
-3
18
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
-2
-11
2
24
0
0
0
0
0
0
-2
-23
21
0
0
0
0
0
0
11
-32
21
0
0
0
0
0
0
1
3
-15
0
0
0
0
0
0
-22
15
24
0
0
0
0
0
1
-17
11
-7
0
0
0
0
0
0
-14
7
14
0
0
0
0
0
0
0
19
-12
0
0
0
0
0
0
1
14
-64
0
0
0
0
-1
2
13
-49
28
0
0
0
0
0
0
0
-19
29
0
0
0
0
0
0
-21
-24
75
0
0
0
0
0
0
4
-24
-3
0
0
0
0
0
1
1
-25
32
0
0
0
0
0
0
10
-13
16
0
0
0
0
0
0
0
14
-8
0
0
0
0
3
-14
-68
-15
52
0
0
0
0
0
-4
46
-2
-13
0
0
0
0
0
0
-41
-10
38
0
0
0
0
0
0
-7
-38
-1
0
0
-3
0
0
0
-35
-15
32
0
0
0
0
0
0
37
10
-1
0
0
0
0
0
0
-21
-7
26
0
0
0
0
0
0
5
21
-16
0
0
-1
0
0
0
39
-7
5
0
0
0
0
0
-1
37
22
12
0
0
0
0
0
0
14
-14
-7
0
0
0
0
0
0
3
-21
9
0
0
4
0
0
1
-2
-59
-6
0
0
0
0
0
0
-17
-6
44
0
0
0
0
0
0
11
-24
6
0
0
0
0
0
0
17
-24
39
0
0
0
0
0
0
-28
21
0
0
0
0
0
0
0
-5
-2
-24
0
0
0
1
0
0
-5
-39
-5
0
0
0
0
0
-1
11
12
12
0
0
-7
0
0
-1
26
-32
-7
0
0
0
0
0
0
-13
44
-24
0
0
0
0
0
0
-26
-15
43
0
0
0
0
0
0
-29
-24
24
0
0
3
0
0
0
1
-20
13
0
0
0
0
0
1
-11
13
9
0
0
0
0
0
0
11
29
-31
0
0
0
0
0
0
-22
10
12
0
0
-17
0
0
-3
-1
55
-18
0
0
0
0
0
0
3
-3
-1
0
0
0
0
0
0
7
17
-34
0
0
0
0
0
2
0
20
-26
0
0
47
-7
1
-7
-14
-3
4
0
0
0
0
-4
-14
-39
-34
56
0
0
0
0
0
1
-10
11
-1
0
0
0
0
0
0
37
-30
9
0
0
0
0
0
0
19
-30
51
0
0
0
0
0
-1
4
-4
15
0
0
0
0
0
0
17
-15
30
0
0
0
0
0
0
-3
6
-2
0
0
0
0
0
0
26
-29
6
0
0
0
0
0
0
9
-45
42
0
0
0
0
0
0
-2
-21
36
0
0
0
0
0
0
0
-24
2
0
0
0
0
0
1
5
-22
15
0
0
0
0
0
0
-3
8
-1
0
0
0
0
0
0
-7
-16
28
0
0
0
0
0
0
1
13
0
0
0
0
0
0
2
-11
-10
45
0
0
0
0
3
-1
18
-12
-30
0
0
0
0
0
2
0
-6
-5
0
0
0
0
0
3
1
-13
7
0
0
0
0
0
3
-2
8
-7
0
0
0
0
0
0
0
8
16
0
0
0
0
0
0
1
-12
-19
0
0
0
0
0
0
-1
1
-2
0
0
0
0
0
8
-6
-1
0
0
0
0
0
2
1
-23
-15
18
0
0
0
0
0
0
0
10
-13
0
0
0
0
0
1
0
37
-31
0
0
0
0
0
0
11
18
-45
0
0
0
0
0
1
9
3
-8
0
0
0
0
0
0
2
-11
19
0
0
0
0
0
0
8
5
16
0
0
0
0
0
2
22
54
-14
0
0
0
0
0
0
14
14
10
0
0
0
0
0
0
-6
6
23
0
0
0
0
0
0
9
-23
10
0
0
0
0
0
-2
14
-27
29
0
0
0
0
0
0
1
0
18
0
0
0
0
0
0
1
-20
16
0
0
0
0
0
0
-3
1
24
0
0
0
0
0
1
-6
-2
-1
0
0
0
0
0
0
1
1
-12
0
0
0
0
0
2
-5
21
-12
0
0
0
0
0
0
2
5
-29
0
0
0
0
0
0
-5
-27
18
0
0
0
0
0
0
-3
1
-14
0
0
0
0
0
0
-6
-3
18
0
0
0
0
0
0
0
4
11
0
0
0
0
0
6
21
-22
-49
0
0
0
0
0
0
8
25
-14
0
0
0
1
0
0
1
4
4
0
0
0
0
0
0
-2
-12
-11
0
0
0
0
0
0
-1
-26
23
0
0
0
0
0
0
3
-5
4
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
5
1
2
0
0
0
0
0
1
-3
-21
4
0
0
0
-3
0
0
1
-10
11
0
0
0
0
0
0
-4
8
11
0
0
0
0
0
0
-2
-13
14
0
0
0
0
0
0
0
-22
9
0
0
0
1
0
0
1
-3
12
0
0
0
0
0
0
-4
6
-46
0
0
0
-1
0
3
3
-41
-1
0
0
0
0
1
0
4
-17
13
0
0
0
0
0
0
-7
2
16
0
0
0
0
0
1
0
-8
-2
0
0
0
0
0
-1
-2
14
7
0
0
0
0
0
0
0
-7
-3
0
0
0
0
0
0
-2
3
-65
0
0
0
0
0
0
0
2
-11
0
0
0
0
0
4
4
-2
-4
0
0
0
0
1
-3
0
28
-23
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
-27
8
0
0
0
0
0
2
1
-30
12
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-3
-9
0
0
0
0
0
1
0
4
41
0
0
0
0
0
0
0
-1
13
0
0
0
0
3
0
1
19
-10
0
0
0
0
0
0
-1
-19
12
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
-11
-12
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
0
1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
2
0
0
0
0
0
-4
0
19
-13
0
0
0
0
0
1
3
-33
-14
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
2
0
6
0
0
0
0
0
0
-1
0
-10
21
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
3
14
2
0
0
0
0
0
0
-4
-49
0
0
0
0
0
0
32
19
-28
12
0
0
0
0
0
-5
-32
0
29
0
0
0
0
0
-7
4
2
0
0
0
-1
0
0
31
-43
34
-26
0
0
0
0
0
3
6
-46
16
0
0
0
0
0
0
-1
-42
22
0
0
0
0
0
3
17
-1
-24
0
0
0
0
0
4
5
-27
16
0
0
0
0
0
6
29
6
-33
0
0
0
0
0
0
-38
0
19
0
0
0
0
0
0
7
-7
23
0
0
0
0
0
6
43
-4
-23
0
0
0
0
0
3
0
-17
14
0
0
0
0
0
-2
12
-12
13
0
0
0
0
0
-3
47
-4
7
0
0
0
0
0
-22
12
3
0
0
0
0
0
0
21
13
57
-22
0
0
0
2
0
-11
-8
-4
50
0
0
0
0
0
0
1
11
20
0
0
-1
0
0
7
-40
21
1
0
0
0
0
0
6
11
15
-27
0
0
0
0
0
4
33
-19
-6
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-9
-4
39
-6
0
0
0
0
0
17
15
-32
21
0
0
0
0
0
-13
-35
61
19
0
0
0
0
0
0
-17
11
3
0
0
-1
0
0
-1
-13
-61
2
0
0
0
0
0
-13
-9
30
-29
0
0
0
0
0
1
-5
-13
-10
0
0
0
0
0
-26
2
-25
25
0
0
1
0
-1
5
-20
3
-11
0
0
0
0
27
15
0
-17
-1
0
0
0
0
0
-3
4
0
-3
0
0
0
0
-1
6
-16
72
-42
0
0
0
0
-4
8
36
-30
-4
0
0
0
0
0
-12
-3
-1
2
0
0
0
0
0
0
3
8
-11
0
0
0
0
0
0
4
-20
17
0
0
0
0
0
-1
-26
33
-3
0
0
0
0
2
12
-3
-11
1
0
0
0
0
0
0
-4
-52
10
0
0
0
0
0
-11
-1
1
12
0
0
0
0
0
-3
5
-12
-2
0
0
0
0
0
-3
0
-2
-4
0
0
0
0
0
-2
-15
10
14
0
0
0
0
0
-1
-1
0
23
0
0
0
0
-2
1
0
7
27
0
0
0
0
-21
-20
-6
15
61
0
0
0
0
0
0
-5
-10
14
0
0
0
0
0
0
1
23
-5
0
0
0
0
0
1
7
-7
-39
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
-6
13
39
0
0
0
0
0
0
2
-4
-2
0
0
0
0
0
-1
5
-9
-13
0
0
0
0
1
-5
-1
20
23
0
0
0
0
0
0
-2
-9
28
0
0
0
0
0
0
0
-16
8
0
0
0
0
0
0
-1
31
2
0
0
0
0
-8
-10
-3
-1
12
0
0
0
0
0
0
1
-23
13
0
0
0
0
1
1
-1
-23
50
0
0
0
0
4
9
58
-36
0
0
0
0
0
0
0
-2
-28
0
0
0
0
8
0
0
4
-40
20
0
0
0
0
0
0
-1
39
-7
0
0
0
0
0
0
3
24
-7
0
0
0
0
0
0
0
-9
15
0
0
0
0
0
-2
5
-9
8
0
0
0
0
0
0
0
-10
12
0
0
0
0
0
1
-3
-24
1
0
0
0
0
0
0
0
4
-13
0
0
0
0
0
0
0
-24
32
0
0
0
0
0
0
-1
-25
57
0
0
0
0
0
0
-6
12
27
0
0
0
0
0
0
1
0
5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-7
2
0
0
0
0
0
0
1
-9
37
0
0
0
0
0
0
-2
-36
35
0
0
0
15
0
-1
2
3
-24
0
0
0
0
0
0
0
-7
9
0
0
0
0
0
0
-9
8
18
0
0
0
0
0
0
-1
0
52
0
0
0
-3
0
0
0
-16
23
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
-18
-11
0
0
0
0
0
0
6
-5
23
0
0
0
0
0
0
0
13
-3
0
0
0
0
0
0
0
8
5
0
0
0
0
0
0
0
-6
4
0
0
0
0
0
0
0
-7
13
0
0
0
6
0
0
3
-38
18
0
0
0
0
0
0
-2
0
2
0
0
0
-1
0
0
25
18
-40
0
0
0
0
0
3
14
-12
4
0
0
0
0
0
-2
0
8
1
0
0
0
0
0
8
1
-17
3
0
0
0
0
0
0
30
-13
-16
0
0
0
0
0
0
0
21
-34
0
0
0
0
0
0
11
-46
-5
0
0
0
0
0
0
0
-5
18
0
0
0
0
0
-1
-12
13
-20
0
0
0
0
0
1
-3
-22
16
0
0
0
0
0
0
-1
9
-2
0
0
0
0
0
0
0
-10
19
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
2
21
0
0
0
0
0
-1
0
-5
-10
0
0
0
0
0
-1
3
15
-24
0
0
0
0
-3
-7
-1
-7
36
0
0
0
0
0
1
3
-17
-1
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
-8
-4
21
0
0
0
0
-2
1
0
-18
26
0
0
0
0
0
0
-10
-8
40
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
-2
-3
-9
0
0
0
0
0
0
1
0
20
0
0
0
0
0
1
-2
-14
27
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
-3
-18
0
0
0
0
0
-4
-6
22
10
0
0
0
0
0
0
1
14
9
0
0
0
0
0
0
-15
19
-12
0
0
0
0
0
0
-34
45
43
0
0
0
0
0
3
1
0
-7
0
0
0
0
0
4
-8
21
-14
0
0
-5
0
0
0
34
31
24
0
0
0
0
0
0
-4
-28
5
0
0
0
0
0
-8
-25
0
10
0
0
0
0
0
0
1
-10
-6
0
0
0
0
0
0
-1
4
-13
0
0
0
0
0
2
22
6
-10
0
0
0
0
0
1
20
-17
16
0
0
0
0
0
-2
1
-52
21
0
0
1
0
0
-2
10
38
-22
0
0
0
0
0
0
-3
32
-19
0
0
0
0
0
0
-9
-3
19
0
0
0
0
0
-2
-1
-10
20
0
0
0
0
0
0
-4
5
23
0
0
0
0
0
3
-1
-33
13
0
0
0
0
0
0
5
-51
41
0
0
0
0
0
0
1
3
-2
0
0
0
0
0
4
19
-14
-7
0
0
0
0
0
1
3
-8
-5
0
0
0
0
0
0
10
-32
34
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-13
-36
5
0
0
0
0
0
-10
-10
35
-22
0
0
0
-3
0
0
-2
26
10
0
0
0
0
0
0
0
-22
18
0
0
2
0
0
1
0
-12
2
0
0
0
0
0
0
-5
18
-26
0
0
0
0
0
0
-10
23
41
0
0
0
0
0
0
2
-36
4
0
0
-20
1
0
5
-3
2
-9
0
0
0
0
3
-2
-1
-5
36
0
0
0
0
0
7
0
-8
17
0
0
0
0
0
0
0
-13
13
0
0
0
0
0
0
-5
-2
5
0
0
0
0
0
0
-2
1
-5
0
0
0
0
0
0
0
21
-58
0
0
0
0
0
0
0
-2
-28
0
0
0
0
0
0
-1
5
-15
0
0
0
0
1
1
0
1
22
0
0
0
0
0
0
0
9
36
0
0
0
0
0
0
0
1
17
0
0
0
0
0
0
1
-16
25
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
-1
0
44
0
0
0
0
0
0
0
2
-30
0
0
0
0
0
0
-3
7
-40
0
0
0
0
0
1
1
1
-22
0
0
0
0
0
0
-2
-43
40
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-3
4
-4
0
0
0
0
0
0
0
9
-17
0
0
0
0
0
0
0
-2
-47
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
-10
2
0
0
0
0
0
1
-1
-2
13
-7
0
0
0
0
0
0
0
-12
12
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
-2
-2
-30
0
0
0
0
0
0
0
3
6
0
0
0
0
0
-1
0
-2
-12
0
0
0
0
0
-4
-33
-14
33
0
0
0
0
0
0
1
-15
43
0
0
0
0
0
0
-1
-61
51
0
0
0
0
0
0
0
-2
41
0
0
0
0
0
0
0
-36
74
0
0
0
0
0
0
4
0
20
0
0
0
0
0
0
0
15
-40
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
-6
14
0
0
0
0
0
4
0
-5
41
0
0
0
0
0
0
1
-8
35
0
0
0
0
0
0
-1
0
-13
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
8
0
0
0
0
0
0
0
-2
20
0
0
0
0
0
0
-1
-1
-2
0
0
0
0
0
0
-2
7
10
0
0
0
-1
0
0
2
4
58
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
4
-1
22
0
0
0
0
0
0
-3
7
7
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
1
0
0
0
0
0
-1
-3
0
-2
0
0
0
3
0
0
0
-2
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
-13
-11
0
0
0
0
0
0
0
-2
-11
0
0
0
0
0
0
1
0
-2
0
0
0
0
-1
-1
-48
-8
44
0
0
0
0
9
-1
-10
-40
9
0
0
0
0
0
-2
3
-37
32
0
0
0
0
0
-3
-1
-12
13
0
0
0
0
0
0
0
-26
31
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
-11
8
0
0
0
0
0
0
1
-19
1
0
0
0
0
-1
-1
-2
-18
15
0
0
0
0
0
0
0
0
1
0
0
0
0
0
6
2
4
-25
0
0
0
0
0
0
-1
5
30
0
0
0
0
0
0
0
3
23
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
-2
10
0
0
0
0
-1
-1
1
-2
12
0
0
0
0
-13
1
0
1
30
0
0
0
0
0
0
3
-18
-14
0
0
0
0
0
0
-1
6
7
0
0
0
0
0
0
-15
-7
27
0
0
0
0
0
0
3
0
-25
0
0
0
0
0
0
0
3
-17
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
-1
0
1
-1
0
0
0
0
5
2
1
0
-29
0
0
0
0
0
0
0
-6
31
0
0
0
0
0
0
-1
-1
-4
0
0
0
0
0
0
-1
1
-9
0
0
0
0
3
-5
3
-4
25
0
0
0
0
-2
0
0
-3
11
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
28
-24
-28
32
0
0
0
0
-6
12
-5
-54
22
0
0
0
-1
0
2
9
-20
15
0
0
0
0
0
13
6
-2
17
0
0
4
0
0
-4
-41
27
-24
0
0
0
0
0
2
24
-12
0
0
0
0
0
0
6
-22
17
29
0
0
0
0
0
-4
2
4
34
0
0
0
0
0
11
-16
-37
36
0
0
0
0
0
3
-29
47
10
0
0
0
1
0
-4
4
-22
10
0
0
0
0
0
2
1
9
-38
0
0
1
0
0
-8
-15
5
20
0
0
0
0
0
14
-9
8
-29
0
0
0
0
0
-1
7
0
-24
0
0
0
0
0
3
4
4
12
0
0
0
0
-1
-5
7
-16
13
0
0
0
0
2
-27
65
-14
3
0
0
0
5
0
-4
17
-39
-3
0
0
0
0
0
1
-12
5
3
0
0
-2
0
0
10
28
-20
-63
0
0
0
0
-3
17
9
11
-4
0
0
0
0
0
-23
-1
-2
31
0
0
0
0
0
-2
-3
-1
-1
0
0
0
0
0
7
6
5
-35
0
0
0
0
-6
-28
38
38
-19
0
0
0
0
0
-7
10
-6
-2
0
0
0
0
0
-28
8
-4
17
0
0
-8
0
0
-10
1
13
-10
0
0
0
0
-6
17
-8
-3
-35
0
0
0
-1
0
-7
10
-21
-26
0
0
0
0
0
-36
12
-42
50
0
0
-2
-1
-1
9
19
-15
-11
0
0
0
0
25
-21
3
-22
38
0
0
0
0
0
1
2
-20
6
0
0
0
0
2
1
4
14
16
0
0
0
0
0
1
-28
-4
17
0
0
0
0
0
27
-12
-28
24
0
0
0
0
0
0
0
7
-23
0
0
0
0
0
1
6
6
2
0
0
0
0
0
1
40
-20
-10
0
0
0
0
-20
4
0
-7
13
0
0
0
0
0
0
1
-30
31
0
0
0
0
0
2
1
37
9
0
0
0
0
0
8
26
1
-52
0
0
0
0
0
-3
-1
-2
6
0
0
0
0
0
0
0
-11
-5
0
0
0
0
2
2
0
11
9
0
0
0
0
-2
-1
26
19
2
0
0
0
0
18
42
-23
25
13
-7
0
0
0
0
0
4
-66
8
-6
0
0
0
0
1
7
-32
20
-7
0
0
0
0
0
-1
-55
14
-1
0
0
0
0
1
-2
-2
15
13
0
0
0
0
0
-4
5
-4
12
0
0
0
-4
-1
0
0
4
1
0
0
0
0
1
-5
-6
23
9
0
0
0
-8
2
-12
16
21
-5
0
0
0
0
0
0
14
5
-14
0
0
0
0
-1
0
-22
65
-17
0
0
0
0
5
-16
-41
28
-18
0
0
0
-2
0
-12
8
23
7
0
0
0
0
0
10
11
-38
10
0
0
0
-2
0
0
-84
39
22
0
0
0
7
-16
32
12
12
-14
0
0
0
0
2
-18
25
-3
0
0
0
-4
0
0
-7
-12
12
0
0
0
0
0
0
-1
-32
33
0
0
0
0
0
1
5
-9
16
0
0
0
0
0
2
0
37
-46
0
0
0
3
0
0
1
19
-31
0
0
0
0
0
0
1
-45
9
0
0
0
0
0
-2
3
-22
-8
0
0
0
0
0
0
-1
14
-11
0
0
0
1
0
0
0
19
37
0
0
0
0
0
0
0
26
-9
0
0
0
0
0
0
-7
-29
29
0
0
0
0
0
0
8
7
-14
0
0
0
0
0
-1
-3
26
-23
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
-1
-5
-9
39
0
0
0
0
0
0
0
3
-31
-5
0
0
-26
0
0
0
-33
48
-2
0
0
0
0
0
0
-56
41
0
0
0
0
0
0
2
-42
-9
1
0
0
0
0
0
2
-45
-10
16
0
0
3
0
0
1
6
-96
19
0
0
0
0
0
0
-19
16
19
0
0
0
0
-1
2
-2
25
4
0
0
0
0
2
6
23
40
-14
0
0
6
0
0
3
-10
-11
12
0
0
0
0
0
0
-4
27
-18
0
0
0
0
0
0
-7
2
-2
0
0
0
0
0
-3
55
4
-1
0
0
2
0
0
0
34
11
-3
0
0
0
0
0
0
12
14
-11
0
0
43
0
5
-48
-43
-5
8
0
0
0
3
0
-8
17
8
0
0
0
0
0
0
0
6
29
0
0
0
0
0
-3
0
-20
7
0
0
0
0
0
-1
0
-19
-18
0
0
0
0
0
-1
-6
15
21
0
0
0
0
0
0
-2
3
58
0
0
0
0
0
0
1
15
-3
0
0
0
0
0
0
-7
-31
5
0
0
0
0
-1
-1
2
36
0
0
0
0
0
0
0
-2
-12
-24
0
0
0
0
0
-1
0
-6
21
0
0
0
0
0
0
-3
-28
-4
0
0
0
0
0
0
0
-6
10
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
-1
-11
-21
0
0
0
0
-7
-2
1
2
38
0
0
0
0
0
0
1
18
-4
-4
0
0
0
0
0
-4
6
-22
0
0
0
0
0
0
-12
-41
9
10
0
0
0
1
4
0
1
-13
-11
0
0
0
0
0
-1
-5
-25
9
0
0
0
0
0
0
3
-3
5
0
0
0
0
0
0
4
1
2
0
0
0
1
-4
0
-48
9
8
0
0
0
0
0
-1
30
5
-15
0
0
0
0
0
-2
-6
-21
10
0
0
0
0
0
0
-12
13
-7
0
0
0
-2
0
0
-3
37
-13
0
0
0
0
0
0
9
15
-26
0
0
0
0
0
0
27
23
-36
0
0
0
0
3
16
-53
6
1
0
0
0
0
8
-29
-7
32
0
0
0
0
0
0
19
-58
-21
0
0
0
0
0
-7
-13
-14
7
0
0
-12
0
0
0
18
-19
3
0
0
0
0
0
0
-17
19
29
0
0
0
0
0
0
-5
7
3
0
0
0
0
0
0
-3
-3
1
0
0
0
0
0
0
27
13
8
0
0
0
0
0
0
13
-26
-29
0
0
0
0
0
0
-4
-14
15
0
0
0
0
0
0
4
-42
11
0
0
1
0
0
0
-5
-17
-6
0
0
0
0
0
0
-3
-10
10
0
0
0
0
0
0
-15
37
-24
0
0
0
0
0
0
9
-13
-11
0
0
0
0
0
2
18
-34
-9
0
0
0
0
0
0
17
15
21
-2
0
0
0
0
0
-1
32
65
-3
0
0
0
0
0
0
37
13
-43
0
-12
0
0
0
1
35
13
-4
0
0
0
0
0
-37
-3
-13
14
0
0
0
0
0
3
-9
6
-16
0
0
0
0
0
2
8
2
-1
0
-3
0
0
0
-2
-19
0
43
0
0
0
0
0
0
-23
-33
20
0
0
0
0
1
0
-21
-50
27
0
0
0
0
0
6
-18
10
-23
0
-7
0
0
0
1
2
-7
-12
0
0
0
0
0
-1
7
19
-33
0
0
0
0
0
0
-28
3
-11
0
0
0
0
-4
-10
-82
33
36
0
20
9
0
-36
-3
-3
16
-19
0
0
0
3
-4
-44
-53
42
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
-1
4
7
33
0
0
0
0
0
-2
14
-40
12
0
0
0
0
0
0
13
-2
-3
0
0
0
0
0
0
1
2
-40
0
0
0
0
0
0
1
3
9
0
0
0
0
0
0
10
-6
16
0
0
0
0
0
0
2
-14
16
0
0
0
0
0
0
-1
2
27
0
0
0
0
0
0
-6
-34
23
0
0
0
0
0
0
-27
7
15
0
0
0
0
0
0
1
-7
-9
0
0
0
0
0
0
1
-3
-15
0
0
0
0
-1
0
-3
0
-19
0
0
0
0
0
0
-16
-21
67
0
0
0
0
1
0
3
40
-32
2
0
0
0
0
0
0
-34
-36
6
0
0
0
0
0
0
-45
-13
33
0
0
0
0
0
-1
12
-1
-26
0
0
0
0
0
7
8
12
-47
0
0
0
0
0
0
2
6
-14
0
0
0
0
0
0
-2
9
-15
0
0
0
0
3
1
6
-1
-46
0
0
0
-6
-1
4
28
10
-23
0
0
0
0
0
0
-34
46
-8
0
0
0
0
0
0
0
-3
13
0
0
0
0
0
-1
26
-17
-29
0
0
0
0
0
-1
13
-2
-12
0
0
0
0
0
0
-8
15
-10
0
0
0
0
0
0
1
-5
-16
0
0
0
0
-3
1
-25
50
-28
0
0
0
0
0
-12
29
15
0
0
0
-12
0
0
6
24
-43
0
0
0
0
0
0
-1
-10
12
0
0
0
0
0
4
17
0
-42
0
0
0
0
0
0
1
-16
25
0
0
0
0
0
0
0
1
-17
0
0
0
0
0
0
6
-6
25
0
0
0
0
0
0
-15
-9
6
0
0
0
0
0
0
0
-2
20
0
0
0
0
0
0
2
23
-10
0
0
0
0
0
0
0
-4
46
0
0
0
0
0
0
3
13
-3
0
0
0
0
0
0
1
0
-36
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
-1
-2
-11
0
0
0
0
0
1
-1
-20
-42
0
0
0
0
0
0
-1
-53
37
3
0
0
0
0
0
-4
-8
66
-6
0
0
0
0
0
1
3
-5
-7
0
0
0
0
0
9
6
-13
12
0
0
0
0
0
0
-10
15
-22
0
0
1
0
0
2
1
1
-19
0
0
0
0
0
0
-6
-7
26
0
0
0
0
0
-2
3
0
21
0
0
0
0
0
3
2
-19
22
0
0
4
0
0
0
-32
3
36
0
0
0
0
0
1
-24
-11
-3
0
0
0
0
0
-1
10
3
-28
0
0
0
0
0
0
13
27
-1
0
0
-2
0
0
0
-5
8
-10
0
0
0
0
1
1
-23
-10
34
0
0
0
-2
3
-10
-16
14
-13
0
0
0
-4
-1
0
-15
26
0
0
0
0
0
0
-1
-25
28
0
0
0
0
0
0
0
-2
-18
0
0
0
0
0
0
-15
-15
60
0
0
0
0
0
0
1
-6
10
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
-5
-1
0
0
0
0
1
0
0
4
-25
0
0
0
0
0
0
0
25
7
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
3
-48
-10
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
8
-9
0
0
0
0
0
0
0
13
13
1
0
0
0
0
0
0
-15
19
25
0
0
0
0
0
0
6
-4
-7
0
0
0
0
0
-4
-1
-3
-18
0
0
0
1
0
0
-1
0
-16
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
2
-29
0
0
0
0
0
0
-1
0
-31
0
0
0
0
0
-2
-18
-10
21
0
0
0
0
0
0
20
-1
-29
0
0
0
0
0
0
-29
-2
7
0
0
0
0
0
0
-3
0
-24
0
0
0
-4
0
0
0
-15
15
0
0
0
0
0
-1
0
2
-9
0
0
0
0
0
0
0
0
-33
0
0
0
0
2
-5
2
-30
-3
0
0
0
1
-3
-11
-7
28
0
0
0
0
0
1
-16
35
-14
0
0
0
0
0
1
33
-20
-8
0
0
-3
0
0
1
8
24
-17
0
0
0
0
0
4
-56
44
7
0
0
0
0
0
1
12
-9
-5
0
0
0
0
0
-1
-2
-4
-8
0
0
0
0
0
-3
-4
-34
61
0
0
0
0
0
18
25
11
-28
0
0
0
1
0
0
-3
0
17
0
0
0
0
0
0
0
-67
27
0
0
0
0
0
0
-35
-5
-31
0
0
0
0
0
0
2
-22
6
0
0
0
0
0
0
-18
-5
-4
0
0
0
0
0
2
0
7
17
0
0
0
0
0
4
-36
-12
12
0
0
0
0
-1
1
11
28
-56
6
0
0
0
0
0
2
5
-38
13
0
0
0
0
-1
-9
-20
7
3
0
12
0
0
0
10
-51
0
-3
0
0
0
1
-1
0
0
-4
-28
0
0
0
0
0
0
-9
3
-25
0
0
0
0
2
-2
0
0
-53
0
0
0
0
0
2
-1
0
-14
0
0
0
0
7
24
1
1
-5
0
0
0
0
0
-41
7
-15
25
0
0
0
0
0
-7
-29
-3
7
0
0
0
0
0
39
-5
-12
39
0
0
0
0
-1
13
19
-15
-4
0
0
-1
0
0
-7
-6
14
-34
0
0
0
0
-1
3
0
10
-13
0
3
4
0
15
-8
-5
-2
-45
0
0
0
-14
11
20
62
23
0
0
0
0
0
2
5
18
0
0
0
0
0
0
-3
21
5
37
0
0
0
0
1
-1
-14
15
38
0
0
0
0
0
-9
-7
42
7
0
0
0
0
0
3
-24
0
34
0
0
0
0
3
-2
-7
3
-49
0
0
0
0
0
8
13
0
-12
0
0
0
0
0
-12
-8
-48
51
0
0
0
0
0
0
9
-24
4
0
0
0
0
0
0
4
-27
23
0
0
0
0
0
-5
6
-17
23
0
0
0
0
0
5
1
-1
-25
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
2
1
-1
-35
0
0
0
0
1
14
-7
-17
21
0
0
0
0
-6
15
-11
-25
20
8
0
0
0
0
1
-4
53
-7
-21
0
0
0
0
-2
-5
13
19
-8
0
0
0
0
0
41
7
-31
-30
0
0
0
0
5
0
-9
12
10
0
0
0
0
0
0
-28
51
-1
0
0
0
-1
0
0
0
-7
2
0
0
0
0
-1
-14
15
-3
-9
0
0
0
-1
9
-49
14
15
-6
-8
0
0
0
-1
0
-31
55
-49
-6
0
0
0
0
0
-18
3
-25
2
0
0
0
1
-7
-8
9
27
-2
0
0
1
-2
-1
-26
4
-8
1
0
0
0
-2
0
-3
-105
8
15
0
0
-4
0
1
-9
37
-5
0
0
0
19
4
-15
-41
-19
4
10
0
0
0
-1
3
-19
-6
0
0
0
-46
0
0
4
25
19
0
0
0
0
0
0
2
-9
11
0
0
0
0
0
0
5
-2
9
0
0
0
0
0
0
0
-21
30
0
0
0
-1
0
0
5
-29
13
0
0
0
0
0
0
-1
12
-8
0
0
0
0
0
0
-2
36
-27
0
0
0
0
0
0
-3
-48
50
0
0
0
1
0
0
-4
-4
-11
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
-3
37
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
17
0
0
0
0
0
0
0
3
21
0
0
0
0
0
0
0
21
-68
0
0
0
0
0
0
0
24
11
-26
0
0
-27
0
0
-1
-35
53
12
0
0
0
0
0
3
-73
13
11
0
0
0
0
0
-8
-3
23
-40
0
0
0
0
0
0
0
52
-34
0
0
0
0
0
0
-21
-25
25
0
0
0
0
0
0
2
-3
19
0
0
0
0
0
-2
-3
-14
31
0
0
0
0
0
-1
-47
-21
-18
26
0
37
0
0
-7
-13
16
-9
-12
0
0
0
0
0
-25
-50
46
10
0
0
0
0
0
-28
4
-62
8
0
0
0
0
0
13
-13
-30
14
0
-19
0
0
0
-16
12
16
-24
0
0
0
0
0
21
16
-33
-19
0
-4
0
-3
4
-23
26
29
-7
0
0
0
-7
1
-37
20
0
0
0
0
0
0
-1
-39
24
0
0
0
0
0
6
-1
-37
23
0
0
0
0
0
0
-4
-29
2
0
0
0
0
0
-1
-2
6
-9
0
0
0
0
0
0
9
-23
15
0
0
0
0
0
2
0
0
16
0
0
0
0
0
0
-20
41
-6
0
0
0
0
2
0
3
-7
33
0
0
0
0
0
0
0
15
30
0
0
0
0
0
0
0
33
-22
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-3
-2
20
0
0
0
0
0
0
0
-3
-11
0
0
0
0
0
0
4
-48
-4
0
0
0
0
-1
0
18
18
8
8
0
0
0
0
0
0
15
23
-1
0
0
0
0
0
2
-8
38
-26
0
0
0
0
0
-6
33
-45
-3
0
0
0
2
-1
0
12
-75
30
0
0
0
0
0
-1
-4
10
-34
0
0
0
0
0
0
0
2
2
0
0
0
0
-3
3
12
0
-26
0
0
0
-3
0
2
-24
-4
-6
8
0
0
0
0
-1
0
-63
25
8
0
0
0
0
0
-5
18
4
-28
0
0
0
0
0
-24
-2
-60
8
0
0
0
1
0
1
-5
-42
-19
0
0
0
0
0
-13
-15
20
-3
0
0
0
0
0
4
-2
-41
28
0
0
1
4
-2
-5
0
-15
15
0
0
0
0
2
0
12
0
0
0
0
0
0
4
10
-24
0
0
0
0
0
-8
4
-32
34
0
0
47
0
0
0
61
-54
4
0
0
0
0
0
0
-13
16
-16
0
0
0
0
0
0
-10
-44
25
0
0
0
0
0
4
4
-36
13
0
0
4
0
0
-1
-48
-11
19
0
0
0
0
0
2
17
-19
-9
0
0
0
4
0
-1
-2
-23
-12
0
0
0
0
0
0
0
6
-38
0
0
-16
0
0
0
4
-27
27
0
0
0
0
0
0
0
-11
-9
0
0
0
0
0
0
2
-7
5
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
15
-35
26
0
0
0
0
1
-2
11
28
-6
5
0
0
0
0
0
-9
16
5
-2
0
0
0
0
-2
-16
-7
56
6
0
15
0
0
0
13
10
-22
-10
0
0
0
0
0
11
11
30
-15
0
0
0
0
0
-1
14
-15
-16
0
0
0
0
0
0
-1
-7
15
0
0
0
0
0
2
-23
18
-3
0
0
0
0
-2
-6
-9
-42
39
1
0
-2
0
0
-7
1
-17
-6
17
0
0
0
0
1
27
-7
-57
-19
-1
0
0
-1
3
-5
-6
51
-9
0
0
0
0
0
-38
20
-1
-5
0
0
0
1
-2
13
-6
0
10
0
0
0
-2
0
-5
-7
-27
5
-27
-2
2
7
6
-34
9
-4
2
0
0
-8
-22
5
20
2
0
0
0
0
0
0
9
8
-5
0
0
0
0
0
1
-9
-45
39
0
0
0
0
0
0
-24
2
7
0
0
0
0
-2
0
-5
2
8
0
0
0
0
0
0
-3
-37
39
0
0
0
0
0
0
4
-1
-24
0
0
0
0
0
0
10
17
-16
0
0
0
0
0
-1
2
-28
22
0
0
0
0
0
0
6
4
-16
0
0
0
0
0
-1
-2
0
23
0
0
0
0
0
0
-12
45
-36
0
0
0
0
-1
-2
0
-10
47
0
0
0
0
0
0
-3
-2
29
0
0
0
0
0
-3
3
-12
-1
0
0
0
0
0
0
9
1
-2
0
0
0
0
1
-11
-20
3
40
11
0
0
0
0
-1
0
47
-27
-14
0
0
0
0
0
1
-12
7
-7
0
0
0
0
0
2
-4
6
-11
0
0
0
-1
0
1
-2
-4
-8
0
0
0
0
0
-2
-16
-48
24
0
0
0
0
0
0
1
3
-39
0
0
0
0
-2
14
7
1
-50
0
0
0
-3
-4
1
-14
-9
4
19
0
0
0
0
-2
8
-9
29
-13
0
0
0
0
0
1
0
-72
17
0
0
0
0
3
-20
-9
10
-10
0
0
1
0
7
0
-23
-40
-22
0
0
0
0
1
-12
7
-51
4
0
0
2
-1
-2
-1
-9
-32
20
0
0
1
-25
33
-5
-16
-13
10
0
0
-1
0
-1
-13
10
0
0
0
-3
0
1
-1
-12
-5
0
0
0
0
0
1
-10
12
-23
0
0
0
0
0
-7
-23
43
-12
0
0
0
0
0
0
1
-11
32
0
0
0
2
0
0
-8
-45
49
0
0
0
0
0
0
1
22
-43
0
0
0
0
0
2
-5
-1
-38
0
0
0
0
0
2
0
-20
56
0
0
0
-13
0
0
2
-24
11
0
0
0
0
0
0
-1
19
-38
0
0
0
1
0
0
2
12
-8
0
0
0
0
0
0
0
-2
-6
0
0
0
-2
0
0
0
9
-46
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
-6
-6
7
0
0
0
0
0
0
-4
-27
41
13
0
0
2
0
0
-2
-16
12
8
0
0
0
0
0
1
-15
16
-12
0
0
0
0
0
1
-15
11
-14
0
0
0
0
0
1
-20
-18
32
0
0
22
0
0
-1
-10
-7
-21
0
0
0
0
0
-2
7
7
-43
0
0
0
0
0
0
0
1
35
0
0
0
0
-2
3
-4
21
-35
2
0
-51
0
0
0
18
-41
-46
64
0
0
0
0
0
4
-2
-9
-13
0
2
0
0
0
-33
-6
0
6
0
0
0
0
0
-21
25
44
-20
0
16
0
0
0
1
14
-55
-16
0
0
0
0
-2
2
0
-10
-8
0
-11
-2
-11
6
-23
23
-25
-1
0
0
24
-17
14
30
-18
0
0
0
0
0
3
0
-6
11
0
0
0
0
0
0
0
-22
-3
0
0
0
0
0
-4
-71
34
21
0
0
0
0
0
0
-4
-9
4
0
0
0
0
0
-9
-1
22
16
0
0
0
0
0
0
0
6
-13
0
0
0
0
0
-3
-26
0
2
0
0
0
0
-10
0
0
8
12
0
0
0
0
0
0
0
-19
-30
0
0
0
0
0
-1
-10
-13
13
0
0
0
0
0
0
2
-21
65
0
0
0
0
-2
0
0
0
16
0
0
0
0
0
1
0
-3
42
0
0
0
0
1
0
-1
0
-4
0
0
0
0
0
-12
10
35
-32
0
0
0
0
-12
0
-1
-15
14
8
0
0
0
0
0
0
-11
15
-9
0
0
0
-1
0
-2
-11
-17
7
0
0
0
0
0
-4
-22
-12
11
0
0
0
0
1
1
-16
5
28
0
0
0
0
0
1
0
4
-24
0
0
0
0
0
0
0
-1
-51
0
0
0
0
-6
0
0
0
21
0
0
0
5
1
3
-6
18
-13
14
0
0
0
0
0
5
53
-9
-31
0
0
2
0
0
-22
2
-59
62
0
0
0
0
0
-6
-18
14
-24
0
0
-7
0
-2
-1
-6
-55
110
0
0
0
0
0
-23
-15
22
1
0
0
-4
1
0
-4
0
0
-29
0
0
-49
2
-10
-20
64
3
-22
0
0
4
4
1
31
5
0
0
0
-2
-37
-7
25
-19
33
0
0
0
0
48
39
22
12
-1
0
0
9
47
18
-1
-36
5
-2
0
0
0
0
7
8
-20
-11
6
0
0
0
20
-23
-33
-22
-14
23
0
0
0
0
-1
-46
-23
5
-3
0
0
2
33
23
-5
-18
-18
-9
0
0
0
0
31
19
11
-13
-1
0
0
0
22
1
-15
31
-34
-3
0
0
0
0
2
12
-3
-57
-2
0
0
7
49
-9
50
-12
-43
-16
0
0
0
0
-17
34
-13
-41
-8
0
0
0
-5
6
-35
16
-11
-31
0
0
0
0
-50
-9
-21
-23
3
0
0
6
-31
18
-25
7
-9
-13
0
0
0
0
-3
35
51
-11
27
9
0
0
-33
-22
-6
-4
35
10
0
0
0
0
-24
12
2
28
29
-1
0
24
-6
7
-33
11
1
9
-8
0
0
0
46
-13
-4
-7
50
-4
0
0
13
-23
-26
22
-62
-23
13
0
0
0
-48
10
-16
-8
29
-2
0
-3
-19
-33
-16
54
-35
-17
-5
0
0
0
4
9
32
-22
20
1
12
0
20
13
1
-59
4
-13
-5
-6
0
0
-87
-34
-28
-1
-3
-9
-5
-20
-3
6
58
-64
-32
15
-6
5
0
0
15
38
16
-10
16
-4
5
0
-25
-10
-42
15
1
-4
-4
-3
0
0
6
-5
-22
20
-5
-14
-2
-48
-7
4
-27
-37
-13
10
-25
-10
0
0
2
-19
-33
-5
27
0
0
0
0
2
-17
-10
2
6
0
0
0
0
5
-38
37
-30
10
0
0
0
0
0
-8
-52
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
-15
-10
61
-63
28
0
0
0
0
0
0
11
10
-21
0
0
0
0
5
-24
47
-37
0
0
0
0
0
0
-1
0
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-9
-20
28
-12
0
0
0
0
0
12
-16
0
25
0
0
0
0
0
0
12
-7
4
0
0
0
0
0
16
-4
-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
-18
32
-41
31
19
0
0
0
0
0
1
-33
-1
44
0
0
0
0
0
2
-2
-36
44
0
0
0
0
0
-4
3
-39
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
-3
12
14
-10
13
0
0
0
-13
4
17
14
-16
9
0
0
0
0
33
10
-40
8
-14
0
0
0
30
2
-35
31
-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
-3
-11
0
0
0
7
0
0
13
-8
-6
0
0
0
0
0
0
2
-13
19
0
0
0
-2
0
2
8
-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
1
5
-32
10
0
0
0
-1
-2
-35
9
9
17
0
0
0
0
0
-1
10
-23
54
0
0
0
0
0
-8
-26
19
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-1
0
0
0
5
0
-23
-28
7
35
0
0
0
0
0
0
-7
2
-10
0
0
0
-1
0
-1
14
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
19
29
36
-8
3
0
0
0
0
-3
-12
24
-28
24
0
0
0
0
22
21
9
-1
12
0
0
0
0
-7
-3
-43
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
30
-4
0
0
0
0
0
0
-3
-6
8
0
0
0
0
0
2
-5
30
-7
0
0
0
0
0
1
-36
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
-17
6
-32
48
0
0
0
0
0
1
5
3
-11
0
0
0
0
0
17
-42
-1
55
0
0
0
0
1
-4
7
-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
-3
7
-14
-29
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-6
-12
5
0
0
0
0
1
0
-2
-62
74
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
22
9
3
5
0
0
0
-1
0
-15
19
-17
0
0
0
0
0
0
-33
29
4
5
0
0
-2
4
-4
21
27
-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
-44
-13
31
0
0
0
0
0
0
-13
-42
58
0
0
0
0
0
6
-2
20
-33
0
0
18
0
0
0
16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
10
0
0
0
0
0
1
-9
26
14
0
0
0
0
-2
-4
39
-30
-3
0
0
-33
-3
0
7
58
-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
-30
37
11
0
0
0
0
0
6
3
-49
-6
0
0
0
0
0
0
-4
0
-15
0
0
12
0
0
3
8
-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
22
-38
17
13
4
0
0
0
0
0
24
34
5
4
0
0
0
0
0
14
1
8
-16
0
0
0
0
0
-6
29
-12
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
32
23
0
0
0
0
0
0
-27
22
21
0
0
0
0
0
5
6
-17
-5
0
0
0
0
0
2
1
-29
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-16
16
-5
54
0
0
0
0
0
0
7
17
-35
0
0
0
0
0
-2
8
-21
-24
0
0
0
0
0
0
5
28
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
51
-1
-31
-11
0
0
0
0
0
0
6
-82
-5
0
0
0
0
-1
-3
-3
8
15
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
1
3
14
-52
14
0
0
0
16
0
2
-77
-10
32
0
0
0
0
-3
9
21
-15
-2
0
0
0
1
0
5
17
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
2
-24
-5
7
0
0
0
-5
2
-1
13
-23
-17
0
0
0
0
0
-6
-10
-7
31
0
0
0
-2
0
1
5
4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
8
-28
-11
0
0
0
1
0
0
34
-19
-13
0
0
0
0
0
-1
-7
-7
-28
0
0
0
0
0
-1
-8
-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
0
-2
-23
48
0
0
0
-1
0
-3
-47
59
-27
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
-1
3
6
-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
-37
11
58
15
4
0
0
0
0
0
-3
7
29
-32
0
0
0
0
0
-4
-2
-50
15
0
0
0
0
-2
0
39
-30
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
19
0
0
0
0
0
0
-1
-22
25
0
0
0
0
-4
0
0
-24
2
0
0
0
0
0
-1
-2
-22
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
10
-37
8
0
0
0
0
0
0
8
4
-1
0
0
0
0
0
0
2
-33
-10
0
0
0
0
0
2
0
13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
54
-4
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
-2
0
58
10
0
0
0
0
0
0
-7
-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
21
7
-14
-4
0
0
0
0
0
-17
-2
9
2
0
0
0
0
3
-4
-17
15
-13
0
0
-10
0
-6
-38
22
-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
-6
1
-11
-11
0
0
0
0
0
2
2
9
-17
0
0
0
0
0
-18
-12
7
-3
0
0
-5
0
0
28
3
29
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
-7
-12
0
0
0
2
0
0
14
-31
21
0
0
0
0
-1
-11
11
-30
6
0
0
0
0
0
-54
2
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
4
-24
-38
0
0
0
0
0
0
-1
27
-8
35
0
0
0
0
0
-2
-48
16
45
0
0
0
0
0
0
19
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
-9
9
4
-32
23
0
0
0
0
0
7
19
-9
-3
0
0
0
0
-2
8
21
19
-4
0
0
0
0
0
1
3
-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
10
6
22
0
22
0
0
0
0
0
0
-6
28
-4
0
0
0
0
0
-1
-1
23
-3
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-45
-4
-18
15
0
0
0
0
0
-2
38
7
15
0
0
0
0
0
-1
49
-22
5
0
0
0
0
-1
5
-39
-70
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
-10
7
58
-10
-9
0
0
0
0
0
-2
21
42
10
0
0
0
0
-4
-34
7
55
-6
0
0
0
0
0
-12
-11
-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
-15
24
0
0
0
18
-1
44
-25
-3
0
0
0
0
0
0
15
-7
-32
-28
0
0
0
0
0
-7
-8
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
6
-32
25
0
0
0
-2
0
0
2
5
-15
0
0
0
0
0
0
0
-29
-2
0
0
0
0
0
0
-23
-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
-39
-18
23
0
0
0
33
-2
9
11
-20
6
0
0
0
0
0
0
-10
16
8
0
0
0
0
0
-2
-7
20
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-27
-3
0
0
0
26
0
1
35
-28
-6
0
0
0
0
0
-2
-2
-2
-13
0
0
0
0
0
1
18
-93
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
-4
-11
13
-43
15
0
0
0
0
0
1
-19
-2
24
0
0
0
0
0
1
-4
-29
27
0
0
0
0
1
-5
-26
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
-2
-33
65
0
0
0
0
0
0
-1
-80
32
0
0
0
0
0
3
-6
29
4
0
0
0
0
0
0
-6
-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
2
-4
-29
20
4
0
0
0
0
0
17
-15
-8
4
0
0
0
0
-5
-12
-6
54
-12
0
0
0
0
1
2
30
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
-40
30
7
0
0
0
0
0
0
-2
-43
34
0
0
0
0
-2
6
3
-21
-30
0
0
0
0
0
0
8
19
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
-23
19
0
0
0
-9
0
-1
21
3
2
0
0
0
0
0
1
-13
-4
17
0
0
59
0
0
-4
68
-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
1
3
49
-25
0
0
0
0
0
1
-8
28
-9
0
0
0
0
0
0
13
-51
-12
0
0
19
0
0
11
-24
-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
0
1
5
-12
12
0
0
0
0
0
2
-21
-20
20
0
0
0
0
0
-1
5
30
-24
0
0
-43
0
0
1
8
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
-6
-28
19
0
0
0
0
0
0
2
-52
50
0
0
0
0
0
-1
0
-32
-8
0
0
5
0
0
0
-1
-40
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
19
-5
-10
-24
23
0
0
0
0
0
-3
10
3
-16
0
0
0
0
0
8
-8
-79
30
0
0
0
0
0
0
-2
-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
0
11
6
-3
-8
-38
0
0
0
0
0
0
4
4
-6
0
0
0
0
-1
10
0
16
-38
0
0
0
0
0
0
-1
-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
-5
0
58
-11
2
0
0
0
0
0
-2
9
-7
9
0
0
0
0
0
-2
-8
-13
52
0
0
0
0
0
0
22
-48
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
-5
-8
0
0
0
0
0
0
-15
11
-11
0
0
0
0
-6
3
-10
12
24
0
0
0
0
0
0
6
-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
3
-91
39
0
0
0
6
0
0
-22
-9
24
0
0
0
0
0
0
0
-14
-12
0
0
0
0
0
0
-7
12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
13
0
0
0
0
0
0
9
1
17
0
0
0
0
0
0
0
-54
16
0
0
0
1
0
-3
2
-3
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
20
-20
0
0
0
1
0
-1
-34
-4
64
0
0
0
0
0
0
2
-22
-14
0
0
0
0
0
0
-11
-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
-2
-24
36
0
0
0
9
0
0
-2
23
-36
0
0
0
0
0
0
-1
-31
-20
0
0
0
0
0
0
-21
-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
-20
16
17
-34
23
0
0
0
0
0
-3
20
-16
-26
0
0
0
0
0
-7
-1
-14
33
0
0
0
0
0
8
-45
54
-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
-2
0
9
-4
0
0
0
0
0
-1
0
-30
24
0
0
0
0
0
-2
-2
-2
39
0
0
0
0
0
0
7
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
-3
5
-9
7
-2
0
0
0
0
0
0
6
-28
-18
0
0
0
0
0
0
0
-6
13
0
0
0
0
0
0
-18
-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
-16
-9
10
-41
40
0
0
0
0
0
1
1
-24
27
0
0
0
0
0
-1
-1
-16
13
0
0
0
0
0
2
-26
-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
6
13
-6
-37
35
0
0
0
2
0
-17
16
-26
11
0
0
0
0
-3
-4
20
21
-20
0
0
0
1
0
-4
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
-23
-7
-34
20
0
0
0
0
0
-1
-4
-37
55
0
0
0
0
0
-25
-18
-35
29
0
0
4
0
0
9
14
-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
8
9
-34
-27
0
0
0
0
0
12
-22
-9
9
0
0
0
0
-1
3
-6
-31
47
0
0
0
0
0
-23
-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
5
23
-22
29
-36
0
0
0
-13
0
0
27
8
13
0
0
0
0
-1
2
-38
-13
6
0
0
19
0
0
-20
-28
78
-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
-13
21
-39
16
-11
0
0
0
0
0
1
3
-7
14
0
0
0
0
-1
27
-10
20
-19
0
0
0
0
2
3
3
-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
-20
-19
25
30
-4
0
0
0
0
0
0
-14
-47
58
0
0
0
0
-2
-3
0
-24
31
0
0
0
0
-3
11
3
-46
49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
5
-1
48
20
9
0
0
0
0
-2
21
17
9
3
0
0
0
3
-7
28
17
2
-4
0
0
0
0
-2
-21
-33
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
23
23
11
36
3
-2
0
0
0
0
-23
-14
-7
0
38
0
0
0
-1
14
-26
17
16
2
0
0
0
0
0
4
-57
-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
-19
23
-14
7
0
0
0
12
0
-22
0
-10
25
0
0
0
0
0
-2
12
-28
-8
0
0
0
2
0
2
-58
-21
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
15
-34
43
0
0
0
23
0
-1
-5
33
-39
0
0
0
0
0
1
1
8
-17
0
0
0
0
0
0
6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-39
-25
14
3
0
0
61
4
-10
-18
2
27
5
0
0
0
-1
-1
-6
-26
-24
0
0
0
0
0
0
9
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
0
0
0
0
0
0
0
0
0
0
17
-57
44
6
0
0
21
0
-6
31
-10
-15
-8
0
0
0
0
0
0
-10
-35
-3
0
0
1
0
0
-6
50
-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
-11
-20
4
33
0
0
0
0
0
0
10
-22
5
0
0
0
0
-11
-4
-15
-44
9
0
0
0
0
9
-4
3
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-45
-19
57
0
0
0
0
0
-1
0
-14
11
0
0
0
0
2
6
5
-32
3
0
0
0
0
0
-7
-11
19
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-1
74
13
2
0
0
0
0
-1
1
19
-9
-5
0
0
0
-1
1
13
11
-2
-5
0
0
0
0
0
11
-22
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
-8
-19
-31
55
12
0
0
0
0
-1
-2
-57
-5
-3
0
0
0
-2
2
-9
-58
99
-41
0
0
0
-3
-1
25
-51
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
-3
6
-5
36
0
0
0
0
0
-7
36
-41
22
0
0
0
0
1
-9
-28
-8
38
0
0
8
0
0
13
25
-43
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
20
0
0
0
0
0
-1
-14
-24
73
0
0
0
0
0
0
17
-10
-21
0
0
-8
0
-1
-19
70
35
-62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-77
21
0
-8
0
0
0
0
1
19
-8
9
-13
0
0
0
0
4
1
-27
34
-1
0
66
0
0
34
-19
-28
-50
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-23
8
4
0
0
0
0
-4
-6
-16
68
-24
0
0
0
-3
6
12
-66
-22
61
0
31
0
0
0
-48
-6
-49
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
21
12
22
24
-35
0
0
0
0
0
-3
12
-50
14
0
0
0
0
0
8
-14
-15
-5
0
0
0
0
0
-1
-15
-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
-25
-3
35
-32
45
0
0
0
0
0
0
1
5
-3
0
0
0
0
1
0
1
10
19
0
0
0
0
0
0
-4
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
-1
27
53
8
42
0
0
0
0
0
1
-8
-5
28
-9
0
0
0
-2
-8
-2
-13
5
10
0
0
0
0
0
-6
-4
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
13
-31
28
-3
18
5
0
0
0
0
1
-2
-31
21
-8
0
0
0
-3
-2
2
2
6
0
0
0
0
0
-2
12
16
-61
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-41
23
65
0
0
0
22
0
0
-30
-3
-18
0
0
0
0
0
0
18
-17
-33
0
0
0
0
0
0
-16
-39
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
24
-68
0
0
0
-38
0
2
14
-1
8
0
0
0
0
0
0
2
-20
-19
0
0
0
1
0
0
15
-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
16
-2
-4
-13
0
0
4
0
-3
3
-26
1
9
0
0
0
0
0
3
7
-26
-6
0
0
0
0
0
-12
6
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
11
19
-25
-31
0
0
6
0
1
-3
28
-13
-16
0
0
0
0
0
1
-11
-8
-44
0
0
-3
0
0
-3
36
-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
-3
2
-14
23
3
0
0
0
0
0
-2
-7
-3
14
0
0
0
0
0
1
-2
-36
-4
0
0
0
0
0
-1
-47
-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
1
1
6
25
-27
0
0
0
0
0
0
1
8
-9
0
0
0
0
0
6
0
36
-9
0
0
0
0
0
0
-1
-10
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
2
-40
-13
-7
0
0
0
0
0
0
10
16
-25
0
0
0
0
0
0
-8
16
0
0
0
0
0
0
2
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
17
-27
-19
4
0
0
0
0
0
-2
-2
-3
-12
0
0
0
0
-3
0
41
-20
3
0
0
0
0
0
2
13
-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
-14
-5
-32
28
0
0
0
0
0
2
14
-36
52
0
0
0
0
-1
2
4
-52
24
0
0
6
0
0
-9
22
34
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
34
-36
63
0
0
0
-1
0
-1
-15
-5
71
0
0
0
0
3
-1
-34
-12
-9
0
0
0
0
0
-6
33
-23
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-6
-23
34
-26
0
0
0
0
5
15
-32
-22
-11
0
0
0
1
-5
-7
-20
29
-9
0
-3
0
0
7
-20
46
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
1
29
-12
-46
12
0
0
0
0
1
7
12
-43
12
0
0
0
0
4
-26
-49
15
18
0
-57
0
0
7
-19
32
41
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
48
4
5
9
0
0
0
0
0
3
-9
3
10
0
0
0
0
-1
5
-30
-29
18
0
0
0
0
0
0
-17
-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
-2
5
37
-25
-2
0
0
0
0
0
6
18
-49
-5
0
0
0
0
-1
10
21
-1
40
0
0
0
0
0
-10
-11
-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
-15
-32
12
18
38
-9
0
0
0
0
0
24
-50
-1
14
0
0
0
0
19
7
30
-43
-4
0
0
0
0
2
9
-30
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
42
-26
17
25
51
-7
8
0
0
0
11
16
-28
4
-4
9
0
0
2
-27
9
-46
-22
0
-10
0
0
0
-19
13
0
34
-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
4
31
0
0
0
0
30
0
-29
4
13
-13
0
0
0
0
0
-9
0
-18
19
0
0
0
0
0
0
-7
-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
0
1
-18
-36
-12
0
0
0
34
0
1
-15
-26
-21
0
0
0
0
0
0
-5
50
-4
0
0
0
1
0
1
11
-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
-4
27
-44
25
-3
0
0
54
1
-3
-58
-9
-1
14
0
0
0
0
0
0
-25
-8
9
0
0
0
0
2
4
6
-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
1
8
-40
-5
4
8
0
-39
0
19
-42
-33
40
-37
2
0
0
0
7
-8
-45
52
-37
-12
0
2
0
0
-6
-19
43
-47
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
-14
0
0
0
0
0
-1
1
-16
12
0
0
0
0
1
1
-2
-8
-4
0
0
0
0
0
-1
-1
21
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
35
-5
-14
0
0
0
0
0
-1
-1
-1
10
0
0
0
0
0
0
0
-38
28
0
0
0
0
0
-3
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
6
-1
6
5
43
-15
0
0
0
0
-2
10
-19
4
-25
0
0
0
-4
-6
-40
51
-28
11
0
0
0
-7
3
-3
-28
-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
-1
-28
-11
-4
-16
-12
4
0
0
0
-2
-13
-9
26
11
-14
0
0
-3
0
0
21
-11
-8
12
0
0
0
3
1
-23
11
-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
1
10
6
-13
0
0
0
0
0
2
-19
14
27
0
0
0
0
0
3
2
4
-31
0
0
-1
0
0
3
-58
-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
2
-13
14
12
0
0
0
0
0
1
-18
-17
30
0
0
0
0
0
-2
2
-10
-28
0
0
8
0
0
0
-12
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
1
11
9
36
-45
0
0
0
0
0
25
-49
4
42
0
0
0
0
3
24
-10
24
0
0
9
0
0
-11
16
-17
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
-27
16
-15
-29
2
0
0
0
-3
-40
5
83
-50
-8
0
0
0
-4
34
-21
14
7
-3
-99
0
0
3
-72
-57
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
0
0
0
0
0
0
0
0
0
0
22
9
36
6
-36
0
0
0
0
0
2
41
12
-41
0
0
0
0
0
-4
-2
-17
-5
0
0
0
0
0
0
-29
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
6
7
12
14
-18
0
0
0
0
0
0
5
-17
32
0
0
0
0
-2
-21
3
-1
10
0
0
0
0
0
0
0
-41
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
-35
65
-3
67
26
-12
0
0
0
0
-2
0
6
20
5
0
0
0
0
-27
22
2
1
12
0
0
0
0
0
-2
-52
-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
32
21
35
14
-3
-18
4
0
0
0
0
2
-46
11
-42
-22
0
0
-3
-12
-21
-9
49
25
0
0
0
0
-1
-42
-16
21
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
1
10
9
2
0
0
0
14
0
6
-27
-38
36
0
0
0
0
-2
-1
2
9
-10
0
0
0
-36
0
0
-40
5
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
-23
-3
10
0
0
0
26
0
-4
20
-14
-30
0
0
0
0
0
0
-8
22
-15
0
0
0
-6
0
0
-1
18
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-14
-18
8
0
0
-72
0
14
-44
-28
82
-11
0
0
0
1
-4
4
1
30
-10
0
0
2
0
0
-2
-15
-10
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
1
-20
-16
0
-1
0
-34
0
4
13
-11
27
-9
-1
0
0
-1
0
1
-53
60
-11
-10
0
5
0
-6
-28
14
0
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
5
-52
46
-46
22
0
0
0
0
0
2
-45
-22
45
0
0
0
0
0
-9
10
-44
39
0
0
0
0
1
-7
23
-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
25
6
-2
-55
-1
0
0
0
0
0
-3
-6
27
-14
0
0
0
0
-2
0
-3
-1
20
0
0
0
0
0
-13
8
57
-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
-22
47
33
3
-20
-13
0
0
0
-2
-13
5
-5
-7
6
0
0
0
0
-46
-15
-20
-1
31
0
0
0
-1
34
1
-17
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
2
-46
-13
30
0
-8
17
0
0
-3
0
25
-30
29
-46
-10
0
0
0
-9
14
-51
-2
7
29
0
0
0
0
-25
33
13
-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
-23
5
17
-26
0
0
0
0
-22
-29
-31
-31
-6
0
0
0
0
0
3
-33
-16
-7
6
0
0
12
-44
-5
6
30
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
25
-23
-13
16
8
0
0
0
-24
0
7
11
41
-20
0
0
0
0
-2
15
-54
13
1
0
0
-31
-12
0
25
-37
-15
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
29
2
40
35
-24
-6
0
0
-16
-22
-10
-28
-5
21
2
0
0
0
-10
-14
-64
12
14
-6
0
-37
62
4
-50
-22
-70
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
-32
-24
-2
-18
17
-32
1
0
-15
-2
7
1
-23
-4
3
-17
0
0
-6
-20
-32
8
22
-32
21
13
-5
0
-3
-12
-52
-12
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
-27
21
-11
7
19
0
0
0
0
0
-7
63
-5
7
0
0
0
0
17
24
12
-24
6
0
0
0
0
2
7
10
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
4
13
-33
7
4
0
0
0
0
0
0
-7
73
3
0
0
0
0
-1
4
8
-61
24
0
0
0
0
0
-3
4
-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
6
-12
3
-63
24
0
0
0
0
0
-3
-8
15
14
0
0
0
0
4
-7
10
-4
-4
0
0
0
0
0
0
-11
-21
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
6
3
-14
29
-5
0
0
0
0
0
0
22
-25
12
0
0
0
0
0
-12
-15
-38
45
0
0
0
0
0
0
10
-21
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
4
2
15
0
0
0
9
1
5
-8
20
14
0
0
0
0
0
0
4
26
-17
0
0
0
1
0
0
-34
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
12
-17
-8
0
0
0
16
0
-1
0
-39
-7
0
0
0
0
0
0
0
1
26
0
0
0
1
0
0
-25
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
-2
10
15
7
0
0
0
31
1
0
2
-22
1
0
0
0
0
0
0
-1
-3
8
0
0
0
0
0
2
-12
17
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
9
-25
0
0
0
13
0
-2
3
-19
5
0
0
0
0
0
0
-2
-21
25
0
0
0
0
0
0
-6
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
-9
-5
2
-29
18
0
0
0
0
0
-2
-3
-103
31
0
0
0
0
15
2
18
-49
-6
0
0
0
0
0
2
-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
1
6
2
33
-49
0
0
0
0
0
0
0
-40
12
0
0
0
0
0
0
-13
0
-6
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
1
-7
4
-31
19
0
0
0
0
0
0
0
-54
88
0
0
0
0
3
-5
-11
25
11
0
0
0
0
0
0
-3
-26
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-40
22
16
0
0
0
0
0
0
-55
17
17
0
0
0
0
0
-4
4
4
-40
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
0
0
0
0
0
0
0
0
13
27
-2
12
0
0
0
0
0
5
-23
13
9
0
0
0
0
0
-3
-5
-7
16
0
0
79
-1
-1
14
-10
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-46
24
0
0
0
-1
0
0
5
1
-44
0
0
0
0
0
0
-8
28
7
0
0
-12
0
0
2
37
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
-1
0
-5
17
0
0
0
0
0
0
0
35
16
-8
0
0
0
0
0
0
20
-23
22
0
0
-1
0
0
4
-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
7
38
-51
0
0
0
4
0
-3
-54
-25
16
0
0
0
0
0
0
2
-22
-8
0
0
5
0
0
0
37
-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
15
39
-37
-18
2
0
0
0
0
0
-5
21
-25
3
0
0
0
0
0
-3
-22
45
-2
0
0
0
0
0
1
85
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
1
0
0
0
0
0
-2
-2
39
-26
0
0
0
0
0
3
5
-32
55
0
0
0
0
0
3
4
-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
5
-27
46
-42
34
0
0
0
0
0
-1
45
-29
-25
0
0
0
0
0
-2
11
-29
16
0
0
0
0
0
0
-15
-19
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
-11
23
-3
0
0
0
0
0
0
1
17
20
0
0
0
0
0
-2
5
34
-4
0
0
0
0
0
1
7
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
19
-40
15
0
0
0
9
0
1
-23
2
7
0
0
0
0
0
0
-4
-26
3
0
0
0
0
0
0
-23
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
4
-42
53
0
0
0
3
0
2
-4
-9
0
0
0
0
0
0
0
0
9
6
0
0
0
0
0
-2
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
3
0
-10
-39
36
0
0
0
-10
0
0
-5
-30
28
0
0
0
0
0
0
-2
23
20
0
0
0
0
0
0
31
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
2
20
-36
-6
0
0
0
-11
0
0
13
3
6
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
0
-11
-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
10
-1
-17
24
4
0
0
0
0
0
0
-5
11
-5
0
0
0
0
0
0
2
-40
44
0
0
0
0
0
6
30
-24
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
28
0
0
0
0
0
1
0
5
20
0
0
0
0
0
0
0
-23
8
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
-2
14
4
18
0
0
0
0
0
-2
-2
9
23
0
0
0
0
0
0
-4
3
-22
0
0
0
0
0
2
0
27
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
0
0
0
0
0
-1
-6
-3
8
0
0
0
0
-2
0
0
-5
7
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
-1
1
25
-10
19
0
0
0
2
0
-26
-2
-21
5
0
0
0
0
0
22
-2
20
4
0
0
2
0
0
-14
28
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-23
27
21
0
0
0
0
0
4
-33
0
19
0
0
0
0
0
-4
12
34
-6
0
0
0
0
0
6
-15
38
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-10
40
11
0
0
0
-1
0
24
10
-30
17
0
0
0
0
0
33
9
3
-44
0
0
-6
0
0
-14
31
-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
-36
9
17
-44
0
0
0
0
0
8
-10
-29
29
0
0
0
0
0
4
-12
-3
6
0
0
0
0
0
-17
13
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
15
-24
-5
35
15
0
0
0
0
0
-7
-7
20
-20
0
0
0
0
-1
17
-10
-67
44
0
0
0
0
0
11
-17
-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
6
-14
59
0
-9
0
0
0
0
0
0
7
12
2
0
0
0
0
0
-3
1
42
16
0
0
0
0
0
-1
-18
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
-2
21
-25
13
11
0
0
0
0
0
2
16
-27
9
0
0
0
0
0
2
0
-37
2
0
0
0
0
0
1
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
-2
-22
-11
-22
57
0
0
0
0
0
0
-3
21
14
0
0
0
0
0
0
2
3
18
0
0
0
0
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
2
11
3
17
0
0
0
16
0
11
-1
8
-6
0
0
0
0
0
-1
-4
-10
40
0
0
0
7
0
-2
8
-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
1
0
-17
40
0
0
0
12
0
-1
-4
6
-16
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
8
-70
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
-2
7
24
0
0
0
3
0
-2
2
-11
38
0
0
0
0
0
0
-3
-6
-7
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-36
9
0
0
0
10
0
1
0
-13
-14
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
-10
-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
-1
-32
-9
9
16
0
0
0
0
0
0
-4
1
8
0
0
0
0
-1
-1
14
-19
11
0
0
0
0
0
1
-13
-5
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-4
8
-10
0
0
0
0
0
0
-1
-48
3
0
0
0
0
0
-36
39
-23
14
0
0
0
0
0
0
8
-42
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
23
11
0
0
0
0
0
-1
-10
4
-6
0
0
0
0
0
-1
0
-19
-1
0
0
0
0
0
0
-6
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
1
-3
-17
31
0
0
0
0
0
0
-1
-23
48
0
0
0
0
-1
7
1
16
-43
0
0
0
0
0
0
0
40
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
66
0
-4
0
0
0
-2
0
-1
-13
16
21
0
0
0
0
0
0
-8
-5
39
0
0
19
0
-2
-16
13
-11
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
29
14
0
0
0
2
0
1
24
-26
-1
0
0
0
0
0
1
-3
-29
-18
0
0
-26
-1
0
20
6
-20
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
11
29
-36
0
0
0
0
0
1
-16
-8
-4
0
0
0
0
0
-1
1
-14
11
0
0
-2
0
0
-11
-19
23
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
33
12
0
0
0
0
0
-6
8
-67
74
0
0
0
0
0
0
-1
-17
27
0
0
5
0
0
-1
-20
-45
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
10
-31
23
6
0
0
0
0
0
0
-6
-7
36
0
0
0
0
0
0
-5
42
-3
0
0
0
0
0
0
-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
-2
2
-1
30
-36
0
0
0
0
0
0
2
16
-30
0
0
0
0
0
-1
-2
-13
19
0
0
0
0
0
0
-1
-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
1
-36
9
24
-28
0
0
0
0
0
0
-4
-6
40
0
0
0
0
0
0
-2
3
20
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
0
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
34
-67
0
0
0
0
0
0
3
5
-4
0
0
0
0
0
0
-3
-1
13
0
0
0
0
0
0
4
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-32
19
13
0
0
0
0
0
-2
-9
-19
-16
0
0
0
0
0
0
16
-41
32
0
0
0
0
0
1
-30
-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
-45
21
0
0
0
-1
0
2
-12
19
28
0
0
0
0
0
0
0
-8
4
0
0
0
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
-1
0
-4
8
37
0
0
0
0
0
0
3
-28
46
0
0
0
0
0
0
1
-3
18
0
0
0
0
0
0
-2
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
-1
3
-16
57
0
0
0
2
0
0
0
-19
31
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
0
-1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
40
6
-56
-2
0
0
0
0
0
1
-4
-31
8
0
0
0
0
-5
8
3
-55
13
0
0
0
0
0
0
53
-45
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-35
-6
-20
55
0
0
0
0
0
0
0
-8
21
0
0
0
0
4
1
-9
10
4
0
0
0
0
0
0
1
-81
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
8
1
5
10
-37
0
0
0
0
0
0
4
5
-55
0
0
0
0
-2
-3
-6
15
-3
0
0
0
0
0
0
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
11
-3
7
-16
-8
0
0
0
0
0
0
0
-7
57
0
0
0
0
-7
7
1
1
0
0
0
0
0
0
-1
-15
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
-30
-33
5
8
8
0
0
0
-3
0
-9
0
17
5
0
0
0
0
0
-45
28
-2
6
0
0
-5
3
-2
18
-46
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
-29
31
7
6
0
0
0
1
0
-18
12
-22
31
0
0
0
0
-2
49
-21
21
-25
0
0
0
0
0
19
1
-53
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
14
-23
-4
0
0
0
7
0
-1
-39
21
5
0
0
0
0
0
-24
57
-69
12
0
0
-10
0
0
6
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
-8
48
-16
-2
-17
0
0
0
-4
0
-35
20
-31
8
0
0
0
0
-1
10
-1
-9
25
0
0
11
0
0
-13
19
-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
14
14
63
-47
11
0
0
0
0
0
2
9
-40
19
0
0
0
0
-2
-4
-9
10
-23
0
0
0
0
0
0
8
-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
-18
20
-30
10
-4
0
0
0
0
0
0
13
-60
22
0
0
0
0
0
0
2
-24
30
0
0
0
0
0
-1
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
-2
38
-8
56
1
-2
0
0
0
0
6
28
31
-1
4
0
0
0
-8
19
-43
-24
18
6
0
0
0
0
-2
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-4
-7
19
-3
-4
0
0
0
0
0
4
6
38
-22
0
0
0
0
2
-2
25
14
4
0
0
0
0
0
23
-66
-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
10
10
-4
-28
0
0
0
0
0
3
-23
-14
6
0
0
0
0
0
0
-2
-36
22
0
0
0
0
0
0
1
37
-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
0
-30
10
0
0
0
3
0
1
7
-52
-4
0
0
0
0
0
0
0
-2
-9
0
0
0
0
0
0
0
-35
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-11
-12
1
10
0
0
52
0
0
-33
-12
3
7
0
0
0
0
0
7
36
4
-8
0
0
0
0
0
-1
-23
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
-1
1
-16
-19
10
0
0
-7
0
-1
3
13
9
-1
0
0
0
0
0
0
1
57
-35
0
0
-4
0
0
3
49
-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
1
7
-1
-36
53
0
0
0
0
0
0
-2
-2
28
0
0
0
0
0
-2
-9
39
-9
0
0
0
0
0
-4
1
-26
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
12
11
0
0
0
0
0
0
0
-52
21
0
0
0
0
0
0
-4
-7
5
0
0
0
0
0
0
3
-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
2
-4
4
-12
1
12
0
0
0
0
0
0
-35
7
7
0
0
0
2
-10
-35
-21
-1
11
0
0
0
0
0
3
16
-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
-7
-4
23
-13
66
-15
0
0
0
0
0
-1
47
-26
-28
0
0
0
0
-6
0
19
-40
-14
0
0
0
0
0
-2
42
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
-16
9
-3
39
0
0
0
0
0
0
-3
2
-17
0
0
0
0
0
0
-26
-20
56
0
0
-20
4
1
9
-24
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
-3
-2
5
30
0
0
0
0
0
0
10
19
-13
0
0
0
0
0
0
0
25
-20
0
0
1
0
0
0
11
-18
-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
-18
17
-29
-44
0
0
0
0
0
0
53
3
-29
-14
0
0
0
0
0
14
-57
17
-1
0
29
0
0
-5
35
-1
68
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
18
24
0
0
1
0
-1
-6
-10
33
-38
0
0
0
0
0
0
-31
-19
48
0
-4
0
0
1
-49
14
28
-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
25
-4
-8
-19
-9
0
0
0
0
0
-1
22
-48
3
0
0
0
0
0
0
-21
-70
47
0
0
0
0
0
0
-10
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
3
-3
-10
-39
39
0
0
0
0
0
0
-1
-41
51
0
0
0
0
0
0
0
20
-11
0
0
0
0
0
0
1
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
39
20
3
0
0
0
0
3
-66
-44
50
3
0
0
0
0
0
7
24
16
-17
0
0
0
0
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
34
-22
5
0
0
0
0
0
-1
-21
-28
-8
0
0
0
0
0
0
23
21
-89
0
0
0
0
0
-2
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
-13
-3
-7
0
0
0
-2
0
0
11
-2
4
0
0
0
0
0
0
0
-17
-10
0
0
0
0
0
0
8
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-60
52
0
0
0
4
0
0
-2
-5
4
0
0
0
0
0
0
-2
1
4
0
0
0
0
0
0
-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
1
6
36
-57
1
-1
0
0
8
0
-4
42
-20
-59
5
0
0
0
0
0
2
-22
-25
24
0
0
0
0
0
-33
4
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
2
-33
-10
2
0
0
4
0
4
2
-20
-53
8
0
0
0
0
0
0
1
1
-90
0
0
0
0
0
0
-20
18
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
-59
10
0
0
0
0
0
0
0
7
20
0
0
0
0
0
3
0
-9
-6
0
0
0
0
0
0
-8
-37
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-29
0
0
0
0
0
0
-3
12
-29
0
0
0
0
0
1
0
-17
-19
0
0
0
0
0
0
3
7
-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
-7
6
-8
-10
136
-26
0
0
0
0
0
-1
-36
-3
-10
0
0
0
0
2
1
-26
-1
15
0
0
0
0
-2
-1
2
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
1
0
16
-2
2
-4
0
0
0
0
-2
-2
-3
-20
16
0
0
0
0
0
0
-15
-2
22
0
0
0
0
0
-4
0
6
-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
1
-2
3
3
19
0
0
0
-3
0
7
-23
-8
55
0
0
0
0
0
1
-1
-24
-1
0
0
11
0
0
-26
-5
-38
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
5
52
-35
-3
0
0
0
1
0
-1
-11
19
4
0
0
0
0
0
-2
-7
21
-10
0
0
0
0
0
0
-19
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
-6
40
32
2
-4
0
0
2
0
19
-29
-5
-21
-3
0
0
0
0
-12
-26
16
-3
-8
0
0
0
-1
61
-51
-45
-25
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
7
2
24
-28
0
0
1
0
-2
39
-40
-23
13
0
0
0
1
1
21
-36
-11
-31
0
0
0
0
3
-26
32
-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
-36
-1
21
19
24
0
0
0
0
0
2
17
-61
35
0
0
0
0
-1
13
5
-17
-11
0
0
0
0
0
14
-9
-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
5
9
-31
21
-3
0
0
0
0
0
0
2
-20
13
0
0
0
0
0
0
1
21
-25
0
0
0
0
0
0
0
-20
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
9
-40
28
27
10
0
0
0
0
1
-7
9
-17
-7
0
0
0
-2
10
41
10
-25
6
0
0
0
0
1
-6
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
34
-55
41
-6
26
-6
5
0
0
0
-3
20
-21
24
-27
-1
0
0
-2
-1
-29
-39
61
9
-8
0
0
2
2
-24
22
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
2
9
-32
20
0
0
0
-4
0
4
10
-57
12
0
0
0
0
0
0
4
10
-45
0
0
0
0
0
0
-53
-10
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
-6
0
0
0
-3
0
-2
-3
-4
2
0
0
0
0
0
0
0
-7
25
0
0
0
0
0
0
0
-7
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-33
47
9
0
0
-8
0
-3
-25
-18
-29
10
0
0
0
0
0
0
3
-42
12
0
0
0
0
-1
22
-23
55
-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
9
8
1
25
-5
0
-23
0
-1
15
-14
-9
2
-12
0
0
0
0
-9
-53
34
-3
-6
0
0
0
2
-12
26
6
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
-1
14
-12
11
-15
0
0
0
0
0
-1
0
50
-2
0
0
0
0
-7
2
1
1
20
0
0
0
0
0
0
-1
-52
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-23
0
0
0
0
0
0
0
-26
-2
0
0
0
0
-1
1
-1
-9
-1
0
0
0
0
0
0
-1
19
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-36
-35
11
10
0
0
0
0
0
0
-12
-5
-4
0
0
0
4
-6
4
-7
-9
-15
0
0
0
0
1
-7
-17
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
3
5
20
12
-15
-39
-3
0
0
0
0
12
29
-26
-3
-11
0
0
0
0
9
-34
-7
4
0
0
0
0
0
1
35
-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
2
-35
18
-7
9
0
0
0
1
0
0
22
-43
0
0
0
0
0
0
0
9
16
-8
0
0
8
0
-3
-21
16
-9
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
11
6
24
0
0
0
0
0
0
7
-7
10
0
0
0
0
0
0
0
-34
-8
0
0
18
0
0
-3
-9
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
0
0
12
-1
-25
-1
12
0
0
-3
0
0
24
-12
-16
10
0
0
0
0
0
1
-29
19
-13
0
-36
0
-3
-1
-14
-41
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
-4
-11
-19
27
-13
9
0
4
0
-1
-76
8
12
10
-4
0
0
0
2
-6
-23
-41
-10
9
-7
0
0
-8
2
-44
-21
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
2
-14
14
14
26
0
0
0
0
0
3
45
-25
-30
0
0
0
0
0
3
12
-32
26
0
0
0
0
0
0
-40
-16
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-9
13
0
1
0
0
0
0
0
-10
-2
-19
21
0
0
0
0
0
0
-1
-2
29
0
0
0
0
0
0
-3
-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
-17
-11
54
-12
-8
0
0
0
0
4
-16
61
-3
-15
0
0
0
0
0
3
39
-29
-10
0
0
0
0
-1
19
-14
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
-10
-20
-20
-34
-8
20
2
0
0
0
1
-15
2
14
-45
-11
0
0
-2
-2
-3
13
23
9
-41
0
0
0
0
6
-41
-13
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
-1
-1
9
-14
3
0
0
0
-4
1
-7
30
1
2
0
0
0
0
-1
8
0
-49
37
0
0
0
-21
0
-6
-45
23
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
15
0
0
0
-22
0
1
-14
31
-15
0
0
0
0
0
0
0
19
-31
0
0
0
0
0
0
-6
-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
-13
36
-25
11
0
0
-5
0
-1
16
-21
25
-18
0
0
0
0
-1
0
-11
35
4
0
0
0
0
0
4
-28
-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
-21
-42
-35
19
6
0
43
0
-1
-7
-3
-26
20
-7
0
0
0
0
-1
-46
0
-27
23
0
0
0
0
-1
-16
10
-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
-24
5
16
45
0
0
0
0
0
0
-7
-18
-4
25
0
0
0
0
5
2
4
2
1
0
0
0
0
0
2
11
-26
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-13
-11
23
0
0
0
0
0
-1
2
33
-8
0
0
0
0
14
-15
-2
5
-8
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
29
-6
1
-58
3
-3
0
0
0
0
-4
0
10
27
-12
0
0
0
0
1
-3
23
9
-4
0
0
0
0
0
-12
-45
76
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
47
-41
-11
-11
0
0
0
1
3
-3
14
-47
-10
0
0
-29
2
2
-7
8
17
21
0
0
0
0
-3
-27
29
-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
-4
42
-1
-8
10
0
0
0
-3
-11
10
-18
-5
0
0
0
0
0
48
-2
19
13
2
0
0
7
38
-45
-7
-1
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-28
-3
-5
7
0
0
0
50
0
3
-66
-3
13
0
0
0
0
7
45
-4
-21
-8
0
0
27
-15
6
-35
-19
-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
-1
42
41
-5
25
2
0
0
22
-4
10
-33
5
13
2
0
0
0
1
-19
22
13
35
0
0
9
16
-10
-37
28
-40
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
15
12
-1
6
0
-35
5
-9
45
-22
-1
14
4
0
0
-8
-58
-18
13
14
-13
17
-66
8
10
-103
-17
4
-22
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
-7
-9
-1
-5
46
0
0
0
0
0
1
-7
25
18
0
0
0
0
0
-18
6
14
21
0
0
0
0
0
0
18
1
-39
0
0
0
0
0
2
-3
-32
15
0
0
0
0
0
0
-9
20
-44
0
0
0
0
1
0
4
10
-8
0
0
0
0
-1
2
-13
-4
-7
0
0
0
0
-3
13
10
5
9
0
0
0
0
0
0
-3
-13
20
0
0
0
0
3
-9
-16
16
8
0
0
0
0
0
7
14
-4
-5
0
0
0
0
0
-4
-3
-2
6
0
0
0
0
0
2
-10
17
-22
0
0
0
0
8
13
-2
-38
42
0
0
0
0
-9
-17
44
-12
17
0
0
0
0
1
-9
13
-29
45
0
0
0
0
0
0
-2
4
-8
0
0
0
0
1
0
-6
1
-6
0
0
0
0
0
0
-10
-32
16
0
0
0
0
-9
-3
2
7
-6
0
0
0
0
-2
-1
25
2
-40
0
0
0
0
0
1
-15
22
-4
0
0
0
0
13
-2
-15
2
-7
0
0
0
0
-5
15
11
-7
13
0
0
0
0
0
0
0
33
-33
0
0
0
0
9
-2
13
-5
24
0
0
0
0
0
1
-17
5
15
0
0
0
0
2
23
-6
-28
33
0
0
0
0
2
0
22
-56
53
0
0
0
0
-28
24
-8
-9
19
0
0
0
0
1
-30
-2
0
50
0
0
0
0
0
0
8
-11
-6
0
0
0
5
0
9
3
-13
-2
0
0
0
0
0
-2
10
-11
-23
0
0
0
1
0
0
21
0
10
0
0
0
0
1
0
12
8
-4
0
0
0
9
0
-1
-8
10
-15
0
0
0
0
0
0
0
-38
8
0
0
0
0
0
4
-4
-33
30
0
0
0
0
0
0
2
2
3
0
0
0
2
0
0
-11
-29
-11
0
0
0
0
0
0
0
7
11
0
0
0
11
0
-11
-9
-43
36
0
0
0
0
0
-1
0
-25
-10
0
0
0
4
0
-1
-12
11
3
0
0
0
0
0
-2
-2
7
-16
0
0
0
-8
0
16
-28
19
-21
0
0
0
0
0
0
1
2
0
0
0
0
13
0
-3
-10
-1
10
0
0
0
0
0
1
2
1
8
0
0
0
0
0
0
2
16
-9
0
0
0
0
0
0
2
-4
-30
0
0
0
-15
0
-1
-9
-2
27
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
2
6
-36
59
0
0
0
0
0
0
0
0
2
0
0
0
-7
0
3
1
-30
27
0
0
0
0
0
0
6
12
3
0
0
0
1
0
0
10
-5
-35
0
0
0
0
0
-1
-18
20
21
0
0
0
-3
0
0
-16
-5
9
0
0
0
0
0
1
1
3
-15
0
0
0
-3
1
-40
24
1
3
0
0
0
0
0
1
-7
14
2
0
0
0
0
0
1
2
-1
-27
0
0
0
0
-1
-1
20
-5
22
0
0
0
0
0
3
15
19
-24
0
0
0
0
0
0
12
12
39
0
0
0
0
0
-1
6
-9
44
0
0
0
0
0
-1
4
-11
7
0
0
0
0
0
-8
-7
-5
14
0
0
0
0
0
22
0
-10
-55
0
0
0
0
0
0
6
8
4
0
0
0
0
4
21
6
-9
-10
0
0
0
0
0
-1
9
16
12
0
0
0
0
-1
0
0
0
12
0
0
0
0
0
0
1
-4
-39
0
0
0
0
3
2
3
11
-39
0
0
0
0
-1
9
-11
-27
40
0
0
0
0
0
0
1
7
34
0
0
0
0
0
0
0
6
18
0
0
0
0
0
1
-36
-6
0
0
0
0
0
0
2
-3
24
-6
0
0
0
0
0
2
-4
-1
7
0
0
0
0
0
0
-3
-7
-4
0
0
0
0
0
1
15
-3
5
0
0
0
0
-1
3
-1
-36
-4
0
0
0
0
0
6
8
-41
3
0
0
0
0
0
0
-3
-3
-13
0
0
0
0
2
2
-28
-8
18
0
0
0
0
0
-2
-9
2
8
0
0
0
0
2
-10
6
-9
-20
0
0
0
0
0
1
4
1
2
0
0
0
0
-5
-7
-1
-10
-4
0
0
0
0
-14
-43
0
-38
17
0
0
0
0
0
1
9
-19
18
0
0
0
1
0
2
-12
-4
17
0
0
0
0
0
-3
-2
25
-9
0
0
8
0
0
6
2
-11
4
0
0
0
0
0
0
-16
1
30
0
0
0
0
0
0
-21
25
-2
0
0
0
0
0
-1
2
3
14
0
0
1
0
0
-11
28
-1
-3
0
0
0
0
0
-4
7
4
-19
0
0
0
2
0
-2
25
15
27
0
0
0
0
0
2
6
-8
-14
0
0
-15
-1
0
2
-11
30
9
0
0
0
0
0
0
6
1
-38
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
1
0
0
0
-1
1
1
23
-58
-34
11
0
0
0
0
0
-1
-9
2
-12
0
0
0
0
0
0
-1
-13
21
0
0
0
0
0
-1
-1
16
-4
0
0
6
0
2
-4
0
-5
4
0
0
0
0
0
-2
-28
2
34
0
0
0
0
0
1
-2
-29
31
0
0
0
0
0
0
-1
4
2
0
0
19
0
2
-16
12
2
-2
0
0
0
0
0
0
2
-20
-4
0
0
0
0
0
0
2
-20
-18
0
0
0
0
0
0
-11
37
-1
0
0
12
0
0
-10
10
13
-24
0
0
0
0
0
2
-1
10
4
0
0
0
1
0
0
-8
-18
5
0
0
0
0
0
2
-6
-11
3
0
0
-4
-19
-29
-33
46
-10
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
-7
25
15
0
0
0
0
0
-1
-30
8
16
0
0
0
0
0
0
-7
0
-1
0
0
0
0
0
1
-4
-7
-3
0
0
0
0
0
0
0
-9
10
0
0
0
0
-1
0
7
-3
9
0
0
0
0
0
-2
-9
-15
1
0
0
0
0
7
0
-1
6
10
0
0
0
0
0
0
0
18
12
0
0
0
0
0
-2
23
-13
6
0
0
0
0
0
2
-14
0
17
0
0
0
0
0
-4
7
8
-25
0
0
0
0
0
0
-7
19
22
0
0
0
0
7
8
3
15
-36
0
0
0
0
-3
-27
-20
22
-37
0
0
0
0
2
-7
-2
-28
2
0
0
0
0
0
0
-2
1
21
0
0
0
0
0
1
3
-16
12
0
0
0
0
0
0
-2
9
4
0
0
0
0
0
-2
-3
-33
-8
0
0
0
0
0
0
1
7
-15
0
0
0
0
0
0
-6
10
23
0
0
0
0
-3
3
-4
0
-10
0
0
0
0
6
-19
6
6
3
0
0
0
0
0
0
2
-3
20
0
0
0
0
-3
0
-4
3
0
0
0
0
0
0
0
6
9
27
0
0
0
0
1
1
16
9
-19
0
0
0
0
2
-1
3
1
-45
0
0
0
0
9
-1
0
-22
10
0
0
0
0
15
4
17
-23
8
0
0
0
0
0
0
0
-3
32
0
0
0
3
0
0
-1
2
3
0
0
0
0
0
0
2
-1
-7
0
0
0
0
0
0
2
5
-28
0
0
0
0
0
0
0
-22
6
0
0
0
0
0
0
10
1
4
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
-1
-1
-9
-8
0
0
0
0
0
0
1
-4
17
0
0
0
0
0
-1
0
2
-4
0
0
0
0
0
0
1
6
-5
0
0
0
0
0
2
-12
10
-2
0
0
0
0
0
0
-2
2
29
0
0
0
1
0
2
-3
1
34
0
0
0
0
0
0
0
-13
-2
0
0
0
1
0
-5
17
-27
2
0
0
0
0
0
0
0
-8
-4
0
0
0
-1
0
0
-1
-17
-5
0
0
0
0
0
0
-2
2
8
0
0
0
0
0
-2
2
-7
-12
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
-17
0
0
0
0
0
0
2
0
1
0
0
0
0
0
1
-11
-12
-22
0
0
0
0
0
0
-1
-16
9
0
0
0
6
0
0
0
4
24
0
0
0
0
0
0
0
-10
-12
0
0
0
0
0
0
0
-42
26
0
0
0
0
0
1
0
6
12
0
0
0
4
0
0
-1
-32
33
0
0
0
0
0
0
1
0
8
0
0
0
-26
0
-10
-10
-9
22
0
0
0
0
0
-1
0
10
10
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
10
4
9
0
0
0
0
0
0
6
-23
13
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
0
1
0
-11
0
0
0
0
0
0
1
1
-10
0
0
0
0
0
-1
-1
-9
6
0
0
0
0
0
1
-7
-2
-14
0
0
0
0
0
0
-1
1
-5
0
0
0
0
0
11
9
-20
3
0
0
0
0
0
8
6
1
-24
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
4
0
0
0
0
2
7
-1
14
24
0
0
0
0
4
-17
12
2
1
0
0
0
0
0
-1
0
9
13
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
-2
-3
6
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-8
9
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
-4
9
2
0
0
0
0
0
1
3
-25
-5
0
0
0
0
0
0
0
-7
-27
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
6
-3
16
8
0
0
0
0
0
1
6
-13
-8
0
0
0
0
0
0
0
-5
-2
0
0
0
0
0
0
0
-7
-7
0
0
0
0
8
0
3
-3
-30
0
0
0
0
-3
-2
7
-35
-18
0
0
0
0
0
6
0
3
6
0
0
0
0
0
0
-1
16
10
0
0
0
0
0
0
0
-17
-5
0
0
0
0
0
-1
-16
0
23
0
0
0
0
0
0
0
-9
-9
0
0
0
0
0
0
-6
-21
6
0
0
0
0
0
0
-1
-4
-2
0
0
0
0
0
-3
-8
-1
23
0
0
0
0
0
-2
-1
-2
-5
0
0
0
0
0
0
1
-15
-10
0
0
0
0
0
0
6
-5
-13
0
0
2
0
0
3
-11
-22
-24
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
-2
-4
0
0
0
0
0
0
1
-19
3
0
0
0
1
-1
-6
-13
48
-20
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
-1
0
-1
-2
0
0
3
0
0
0
1
-16
7
0
0
0
0
0
0
2
-8
-6
0
0
0
0
0
0
0
9
-3
0
0
0
0
0
0
-4
2
11
0
0
0
0
0
-2
-7
10
10
0
0
0
0
0
0
0
-4
21
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-1
7
0
0
0
10
0
0
0
6
-23
33
0
0
0
0
0
0
0
-28
10
0
0
0
0
0
0
6
8
-27
0
0
0
0
0
1
3
4
5
0
0
-1
-5
0
-16
-22
45
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
6
18
0
0
0
0
0
0
0
10
-3
0
0
0
0
0
2
0
10
-24
0
0
0
0
0
0
1
-6
-2
0
0
0
0
1
-4
16
-9
12
0
0
0
0
0
-2
6
-8
4
0
0
0
0
0
-4
2
24
-13
0
0
0
0
0
3
26
-3
4
0
0
0
0
0
-4
6
-12
-24
0
0
0
0
0
0
-1
4
3
0
0
0
0
2
-1
3
16
-2
0
0
0
0
0
0
-3
13
-1
0
0
0
0
0
-2
2
-1
-2
0
0
0
0
0
-2
-2
-4
23
0
0
0
0
1
-11
5
-28
38
0
0
0
0
-4
14
-1
-1
-17
0
0
0
0
15
4
4
0
38
-3
0
0
0
0
0
19
-1
-1
-5
0
0
0
0
3
27
-12
43
-17
0
0
0
0
1
8
-3
2
-13
0
0
0
6
13
11
10
-4
-20
0
0
0
1
-11
-3
-4
-2
8
0
0
0
-3
1
-7
-18
17
12
0
0
0
11
1
-10
15
-11
1
0
0
0
8
12
9
-8
-12
77
0
0
0
0
-1
2
-6
21
-29
0
0
0
-11
2
32
-23
5
6
0
0
0
0
4
-3
-35
-15
51
0
0
0
-2
-14
5
6
4
19
0
0
0
0
-3
8
-3
25
-6
0
0
0
-29
17
20
17
0
-3
0
0
0
-10
-1
7
-26
13
9
0
0
0
0
0
2
-7
0
0
0
0
27
0
0
-1
-19
-19
0
0
0
0
0
0
2
6
-22
0
0
0
0
0
2
-1
-7
25
0
0
0
0
0
4
-1
-9
-6
0
0
0
2
0
0
8
-11
1
0
0
0
0
0
0
0
-3
18
0
0
0
0
0
-2
-8
0
4
0
0
0
0
0
3
3
3
-4
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
-2
-9
13
0
0
0
0
0
0
4
-33
3
0
0
0
0
0
0
0
-2
-20
0
0
0
2
0
2
-6
-21
-10
0
0
0
0
0
0
-1
-12
-9
0
0
0
9
0
4
9
-6
9
0
0
0
0
0
0
7
7
-10
8
0
0
0
0
0
0
-8
7
-21
0
0
0
0
0
0
-12
-22
52
0
0
0
0
0
11
4
-4
-12
0
0
0
0
0
0
28
29
-34
0
0
-6
0
-3
-7
32
21
4
0
0
0
0
0
0
-15
12
-41
0
0
0
1
0
-26
9
-5
2
0
0
0
0
0
1
-28
26
5
0
0
9
0
1
-8
9
6
35
0
0
0
0
0
0
7
14
-19
0
0
-1
0
-2
6
-11
29
15
0
0
0
0
0
-4
3
-36
-17
0
0
0
0
0
-15
-4
24
26
0
0
0
1
-15
-3
17
10
6
0
0
7
-1
4
10
53
-23
-11
0
0
0
0
0
-7
-6
7
0
0
0
0
0
0
0
-10
3
0
0
0
0
4
-1
-6
-1
-9
0
0
0
0
0
0
-2
9
-2
0
0
0
0
0
1
-4
-13
3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
-1
16
-1
0
0
0
0
0
0
13
2
-2
0
0
0
0
0
0
-4
6
-2
0
0
0
0
0
0
0
-8
1
0
0
0
0
-1
-3
0
-4
-6
0
0
0
0
0
-4
0
-13
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
9
2
-2
0
0
0
0
0
-6
-3
6
-13
0
0
0
0
1
0
-8
3
-1
16
0
0
0
0
0
-3
-2
-10
19
0
0
0
-1
-1
7
-18
-29
56
0
0
0
0
0
6
-6
-12
-9
0
0
0
0
0
-4
1
-5
1
0
0
0
0
0
-1
-8
1
-36
0
0
0
-3
0
2
-6
-2
-17
0
0
0
4
8
-7
-10
13
-13
0
0
0
-2
0
3
0
9
-19
0
0
0
0
0
0
-9
2
3
0
0
0
1
-1
-3
8
16
1
0
0
0
0
0
-3
-6
2
-24
0
0
0
0
0
-2
1
0
-28
0
0
0
0
0
0
-20
-9
-26
0
0
0
0
6
-6
-8
-7
1
0
0
0
6
-18
-22
-7
22
7
0
0
0
0
0
7
-7
-10
0
0
0
0
0
-1
-3
-13
11
0
0
0
0
0
0
2
10
-1
0
0
-1
0
0
-9
-23
-3
8
0
0
0
0
0
0
0
6
3
0
0
0
0
0
1
-9
-13
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
26
-14
-14
6
0
0
0
0
0
1
0
-9
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
4
11
0
0
0
0
0
9
2
5
-1
0
0
0
0
0
0
-3
0
11
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
-2
8
7
-3
0
0
0
0
0
0
4
-29
-16
25
0
0
0
0
0
-10
11
-37
16
0
0
0
0
0
0
36
3
-7
0
10
0
0
2
-6
-25
-6
0
0
0
0
0
-1
-2
3
15
7
0
0
0
0
0
20
3
3
-77
0
0
0
0
0
4
-25
0
82
0
1
0
0
19
12
-12
-5
-16
0
0
0
0
0
-1
9
25
-64
0
0
0
0
0
9
3
-1
5
0
0
0
0
0
2
-3
10
13
0
12
0
1
4
-6
-5
4
-4
0
0
0
0
0
3
-1
-17
-20
0
0
-1
0
0
1
-4
-12
-59
0
0
0
0
-1
20
-23
5
-17
0
-17
-2
0
-17
-26
1
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
8
13
0
0
0
0
0
0
-1
13
-19
0
0
0
0
1
-1
9
1
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
-3
-10
-2
0
0
0
0
0
0
0
-6
2
9
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
-6
-6
19
-2
0
0
0
0
0
1
-6
0
-1
0
0
0
0
0
1
0
-8
19
0
0
0
0
0
-1
-1
9
43
0
0
0
0
0
0
-4
-4
-19
0
0
0
0
0
-2
0
1
15
0
0
0
0
-1
1
1
0
3
0
0
0
0
0
-1
-4
-1
15
0
0
0
0
2
-4
-1
7
35
0
0
0
0
2
4
16
-15
-15
21
0
0
0
0
0
-4
-7
17
34
0
0
0
-1
1
2
5
-6
-38
0
0
0
0
0
-1
3
12
-32
0
0
0
0
-8
0
21
-10
10
0
0
0
0
-1
-3
-3
37
-1
0
0
0
0
0
2
1
7
-38
0
0
0
-6
3
12
9
11
-5
0
0
0
4
17
8
14
-27
-28
-1
0
0
0
-3
10
26
2
-25
-14
0
0
2
7
31
-21
-66
3
-1
0
0
0
4
2
-11
6
0
11
0
0
-24
-11
-11
-2
35
-6
36
0
0
-1
-1
6
15
1
19
26
0
0
23
7
5
-19
-12
3
10
0
0
-6
-15
23
-42
-39
14
18
0
0
0
0
0
15
19
0
0
0
1
0
0
3
-16
-23
0
0
0
0
0
0
4
-16
-6
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
1
0
22
0
0
0
0
0
0
2
-11
22
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
12
4
0
0
0
0
0
0
2
2
13
0
0
0
-2
0
-1
0
-3
1
0
0
0
0
0
0
2
10
-25
0
0
0
0
0
-2
10
-4
7
0
0
0
0
0
2
0
-5
-2
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-4
-17
-28
0
0
0
0
0
0
0
6
-30
-2
0
0
-2
0
1
8
-28
1
-51
0
0
0
0
0
0
-6
7
-6
0
0
0
0
0
-20
14
7
-9
0
0
0
0
0
-3
-4
4
20
0
0
-1
0
0
11
-13
8
-13
0
0
0
0
0
0
0
4
-33
0
0
0
0
0
19
8
15
-24
0
0
0
0
-2
24
29
9
-26
13
0
-8
0
-3
-14
0
45
45
3
0
0
0
0
-10
-7
-7
22
-13
0
1
0
0
-49
-15
26
-26
6
0
0
1
1
-2
10
35
-19
-32
0
18
0
1
-23
-33
4
-5
32
0
0
-1
0
4
-21
-19
-45
60
0
-22
0
0
3
-65
-29
53
26
0
0
0
0
0
1
-8
0
0
0
0
0
0
-1
-10
26
0
0
0
0
0
0
2
-17
12
0
0
0
0
0
0
1
-9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
-4
3
-1
0
0
0
0
0
0
0
-13
-6
0
0
0
0
0
0
0
-3
1
0
0
0
0
-1
-2
2
28
10
0
0
0
0
0
0
1
2
6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
-2
0
-2
-6
-2
0
0
0
0
0
-2
10
-19
8
0
0
0
0
0
0
1
1
11
-6
0
0
0
0
0
0
-1
43
-4
0
0
0
0
-1
1
8
-11
-14
0
0
0
0
0
0
-18
3
-20
0
0
0
0
0
-9
1
9
-3
0
0
0
0
0
2
0
-1
-9
0
0
0
0
0
0
4
-2
13
0
0
0
0
0
0
-12
1
-27
0
0
0
-2
0
-11
10
10
-65
8
0
0
0
0
0
-21
31
1
-24
0
0
3
7
22
-60
21
-2
-4
0
0
0
1
-11
1
-26
30
39
0
0
0
0
0
-5
13
13
22
0
0
0
-2
0
10
-15
23
-17
0
0
-16
-2
0
33
11
23
-49
0
0
-10
-12
-3
20
13
-28
12
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
-8
20
0
0
0
0
0
0
-8
-15
-12
0
0
1
0
0
1
3
6
10
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
-17
-6
0
0
0
0
0
0
-1
2
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
-3
5
0
0
-2
0
0
14
-13
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-2
0
0
0
-13
7
0
0
0
0
0
0
0
-10
9
15
0
0
0
0
0
-4
5
-11
-5
0
0
0
0
0
2
3
-4
-1
0
3
0
0
-1
5
5
-7
20
0
0
0
0
0
1
0
-2
-2
0
0
0
0
0
2
-1
0
35
0
0
0
0
0
0
1
1
-17
0
-3
0
0
4
13
8
-3
-27
0
0
0
0
1
-3
-11
27
-36
12
0
0
0
0
-1
28
-2
-17
-2
0
0
0
0
0
-24
-28
25
14
-10
0
-1
-8
8
1
14
-55
6
0
0
0
-2
0
-2
14
38
-29
0
0
0
-1
8
0
-39
0
4
0
0
0
1
-1
-10
4
5
1
-17
4
1
1
-2
-29
-8
25
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-2
30
0
0
0
0
0
0
-3
9
-16
0
0
0
0
1
0
2
2
1
0
0
0
0
0
2
0
3
-45
0
0
0
0
2
3
-2
-11
9
0
0
0
0
0
-1
-12
-1
28
0
0
0
0
0
0
6
0
-3
0
0
0
0
0
1
8
-14
42
0
0
0
0
0
-3
3
-9
-2
0
0
0
0
0
0
0
-17
-28
0
0
0
0
3
2
11
-22
-3
0
0
0
0
0
-1
-19
-12
7
0
0
0
0
0
1
0
0
-34
0
0
0
0
0
0
-1
4
-14
0
0
0
0
-1
0
-3
0
5
0
0
0
0
3
-12
17
5
32
0
0
0
0
4
-7
9
-6
13
0
0
0
0
0
0
7
1
-29
0
0
0
0
0
1
7
-1
7
0
0
0
0
0
-1
-3
0
14
0
0
0
0
-2
-1
-4
19
7
0
0
0
0
0
0
15
7
-8
0
0
0
0
0
0
8
-8
9
0
0
0
0
1
2
5
11
3
0
0
0
0
2
2
-2
-7
-2
0
0
0
0
0
0
1
1
10
0
0
0
0
-2
11
1
6
-12
0
0
0
0
-1
1
-4
6
1
0
0
0
0
0
4
0
-21
41
0
0
0
0
0
-3
15
-4
11
0
0
0
0
-3
-3
1
-14
6
0
0
0
0
3
2
7
24
35
0
0
0
0
0
0
0
-9
-12
0
0
0
4
0
-1
0
1
-11
0
0
0
0
0
-1
1
4
-12
0
0
0
0
0
-4
-1
-11
-15
0
0
0
0
0
0
0
-7
19
0
0
0
-1
0
1
-4
-3
19
0
0
0
0
0
0
0
-7
19
0
0
0
0
0
-2
-9
-9
1
0
0
0
0
0
0
-8
7
-2
0
0
0
0
0
1
0
7
-19
0
0
0
0
0
0
-1
18
26
0
0
0
0
0
1
7
-10
6
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
-1
0
-6
5
0
0
0
0
0
0
0
-10
17
0
0
0
1
0
7
-6
10
18
0
0
0
0
0
0
-1
-21
34
0
0
0
2
0
0
0
10
2
0
0
0
0
0
-1
0
9
39
0
0
0
0
0
0
0
-17
-6
0
0
0
0
0
0
1
-9
43
0
0
0
-3
0
0
-1
-6
15
0
0
0
0
0
0
1
2
-10
0
0
0
0
0
-1
19
-18
1
0
0
0
0
0
0
-3
-7
-24
0
0
0
-2
0
1
-1
0
11
0
0
0
0
0
-1
1
-17
25
0
0
0
0
0
0
1
3
4
0
0
0
0
0
0
-4
9
3
0
0
0
0
0
0
4
-19
31
0
0
0
0
0
-1
0
4
0
0
0
0
0
1
-8
0
20
17
0
0
0
0
0
0
-1
7
-9
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
2
7
-19
0
0
0
0
0
0
1
-12
17
0
0
0
0
0
0
1
6
20
0
0
0
0
0
0
3
8
-7
0
0
0
0
0
0
1
-15
12
0
0
0
0
0
-7
0
22
32
0
0
0
0
0
1
0
2
-24
0
0
0
0
0
0
1
1
4
0
0
0
0
0
1
0
-9
33
0
0
0
0
0
0
2
10
53
0
0
0
0
0
1
1
1
3
0
0
0
0
0
0
0
-4
-11
0
0
0
0
0
0
-2
3
-16
0
0
0
0
0
-2
2
-9
-8
0
0
0
0
0
0
1
6
9
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
0
11
12
0
0
0
0
0
1
-2
11
0
0
0
0
0
0
0
-1
-27
8
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
6
10
0
0
0
0
0
0
-6
21
-3
0
0
0
0
0
0
0
-15
-14
0
0
0
0
0
0
0
2
11
0
0
0
0
0
0
0
4
-6
0
0
0
0
0
0
-8
-37
2
0
0
0
0
0
-6
3
-3
7
0
0
0
0
0
-1
0
-9
-21
0
0
0
0
0
1
6
16
8
0
0
0
0
-1
-14
10
-1
-9
0
0
0
0
0
0
7
-32
-4
0
0
0
0
0
0
0
11
29
0
0
0
0
0
0
11
-13
-47
0
0
1
0
0
0
-4
29
-3
0
0
0
0
0
0
-9
3
5
0
0
0
0
0
1
2
19
0
0
0
0
0
0
0
-1
-5
-4
0
0
0
0
0
-2
19
3
-19
0
0
0
0
0
-1
20
2
7
0
0
0
0
0
0
9
-7
9
0
0
0
0
0
-2
6
6
25
0
0
-2
0
0
1
-8
5
12
0
0
0
0
0
-1
-1
-3
-2
0
0
0
0
0
0
8
19
0
0
0
0
0
0
0
0
-8
-4
0
0
-2
0
0
0
10
2
17
0
0
0
0
0
0
-11
7
2
0
0
0
0
0
0
0
9
2
0
0
0
0
0
0
-7
0
-10
0
0
10
0
0
0
2
15
-9
0
0
0
0
0
0
3
-32
29
0
0
0
0
0
0
0
-4
23
0
0
0
0
0
0
1
-5
-17
0
0
2
0
0
0
-1
-41
14
0
0
0
0
0
0
3
-28
28
0
0
0
0
0
0
-4
12
7
0
0
0
0
0
0
-4
8
-6
0
0
11
0
0
0
5
11
-13
0
0
0
0
0
0
2
21
-16
0
0
0
0
0
0
6
-28
4
0
0
0
0
0
2
-8
3
15
0
0
-7
0
0
-10
30
40
-68
0
0
0
0
0
-2
-6
3
17
0
0
0
0
0
-1
0
-7
30
0
0
0
0
0
0
6
-35
-14
0
0
0
0
0
-2
15
-6
5
0
0
0
0
0
2
1
-1
10
0
0
0
0
0
1
0
1
-24
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
4
-7
7
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
3
6
0
0
0
0
0
0
-9
-7
19
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
9
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
1
-16
-1
7
0
0
0
0
0
0
7
-4
-1
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
-4
-8
-3
0
0
0
0
0
0
2
3
2
0
0
0
0
0
1
-1
1
-8
0
0
0
0
0
-2
0
0
6
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
-1
2
0
0
0
0
0
0
-1
3
-7
0
0
0
0
0
0
0
-18
-11
0
0
0
0
0
-1
7
-18
34
0
0
0
0
0
0
4
-6
-34
0
0
0
0
0
0
0
8
15
0
0
0
0
0
0
1
-1
-2
0
0
0
0
-2
0
9
-1
16
0
0
0
0
3
-17
15
-16
-14
0
0
0
0
0
0
1
-13
20
0
0
0
0
0
0
0
6
9
0
0
0
0
0
0
-1
0
13
0
0
0
0
0
0
3
19
-26
0
0
0
0
0
0
2
0
10
0
0
0
0
0
0
3
0
-7
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
-6
-24
-4
0
0
0
0
0
0
-2
-1
-11
0
0
0
0
0
0
-1
3
-2
0
0
0
0
0
0
2
6
-9
0
0
0
0
0
0
4
12
3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
-7
-2
-4
0
0
0
0
0
0
0
9
10
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
4
2
0
0
0
0
0
0
0
4
-9
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
-1
0
-15
11
0
0
0
0
0
-1
0
10
14
0
0
0
0
0
0
-4
0
-13
0
0
0
0
0
0
0
2
3
0
0
0
0
-1
0
-11
0
3
0
0
0
0
1
-2
-7
-38
24
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
-12
-14
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
1
2
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-10
0
0
0
0
0
0
-1
0
-6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
2
-2
-15
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
1
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
13
0
0
0
0
0
-1
0
0
-6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
32
0
0
0
0
0
0
2
-1
0
-1
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-20
-2
-26
-15
0
0
0
0
0
1
2
-29
3
0
0
0
0
0
1
-6
9
-8
0
0
0
0
0
-1
-8
24
14
0
0
0
0
0
3
-26
22
1
0
0
0
0
0
-1
-3
1
8
0
0
0
0
0
0
8
6
-7
0
0
0
0
0
0
1
-2
-2
0
0
0
0
0
-4
-2
-26
-6
0
0
0
0
0
0
-4
7
17
0
0
0
0
0
0
1
7
1
0
0
0
0
0
10
0
-3
-29
0
0
0
0
0
2
-4
-7
-2
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
2
-7
0
21
0
0
0
0
0
0
-4
-2
-15
0
0
0
0
0
7
-8
7
-36
0
0
0
0
0
0
2
4
2
0
0
0
0
0
0
0
-11
-8
0
0
0
0
0
-1
2
4
3
0
0
0
0
0
-2
0
-3
1
0
0
0
0
0
-1
0
1
-4
0
0
0
0
0
0
3
-9
6
0
0
0
0
0
0
0
10
1
0
0
0
0
0
-8
2
-2
-4
0
0
0
0
0
1
-3
6
-5
0
0
0
0
0
1
9
10
6
0
0
0
0
0
1
0
2
4
0
0
-1
0
0
-2
4
-2
-4
0
0
0
0
0
-6
15
-3
-3
0
0
0
0
0
0
8
0
2
0
0
0
0
0
8
21
-20
-3
0
0
0
0
0
-1
-5
-62
39
0
0
0
0
1
-1
-1
0
-14
0
0
0
0
0
0
0
-2
-16
0
0
0
0
0
0
2
17
16
0
0
0
0
0
1
-3
4
-6
0
0
0
0
0
1
0
-1
-2
0
0
0
0
0
0
-1
-10
-4
0
0
0
0
0
0
-3
3
8
0
0
0
0
0
1
3
-15
2
0
0
0
0
0
-1
0
8
13
0
0
0
0
0
0
0
2
25
0
0
0
0
0
0
-11
-4
23
0
0
0
0
0
1
3
-9
25
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
-1
-1
28
0
0
0
0
0
4
1
0
-12
0
0
0
0
0
-2
-3
-4
-6
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
3
0
-3
0
0
0
0
0
-1
2
16
0
0
0
0
0
0
0
-1
4
16
0
0
0
0
0
0
0
6
-10
0
0
0
0
0
0
1
1
19
0
0
0
0
0
4
8
-1
4
0
0
0
0
-2
3
0
-6
-9
0
0
0
0
0
0
1
11
10
0
0
0
0
0
0
-1
12
-1
0
0
0
0
0
-2
-7
-7
9
0
0
0
0
0
2
0
0
-18
0
0
0
0
0
-2
-1
-13
13
0
0
0
0
4
-4
1
18
25
0
0
0
0
-9
-34
5
-2
-3
0
0
0
0
0
0
-2
-2
-8
0
0
0
-1
0
1
0
10
-15
0
0
0
0
0
0
2
-3
5
0
0
0
1
0
0
2
-6
-16
0
0
0
0
0
0
3
-9
-12
0
0
0
1
0
0
0
-6
-7
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
2
6
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
0
3
14
0
0
0
0
0
1
1
1
-11
0
0
0
0
0
0
-9
-4
-5
0
0
0
0
0
0
0
-2
-8
0
0
0
-1
0
0
0
0
-6
0
0
0
0
0
-1
0
-3
6
0
0
0
0
0
0
1
-19
12
0
0
0
0
0
0
2
4
2
0
0
0
1
0
0
-2
-12
3
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
1
8
13
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
-1
7
0
0
0
0
0
0
0
-16
-15
0
0
0
0
0
0
1
-16
13
0
0
0
0
0
0
-1
3
-4
0
0
0
0
0
-1
-1
2
39
0
0
0
10
0
0
0
3
2
0
0
0
0
0
-3
0
-12
-10
0
0
0
0
0
1
-10
-14
-22
0
0
0
0
0
2
0
-2
5
0
0
0
0
0
0
0
-3
-19
0
0
0
0
0
0
0
-6
20
0
0
0
0
0
0
9
-38
15
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
1
2
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
1
-11
8
10
0
0
0
0
0
0
0
6
13
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
2
-1
-2
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
-10
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
7
9
0
0
0
0
0
0
-1
0
-19
0
0
0
0
0
0
-2
-1
2
0
0
0
0
0
1
-3
1
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
6
-8
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
8
-5
1
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
1
-16
-21
0
0
0
0
-2
0
1
4
2
0
0
0
0
-1
-20
-25
38
-18
0
0
0
0
0
1
6
15
1
0
0
0
0
0
0
-4
2
14
0
0
0
0
0
0
0
-15
10
0
0
0
0
0
0
-9
1
-13
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
6
-18
0
0
0
0
0
0
0
7
-4
0
0
0
0
0
2
-5
1
3
0
0
0
0
0
0
8
-10
-5
0
0
0
0
0
-1
0
-8
-7
0
0
0
0
0
0
9
-28
8
0
0
0
0
0
0
3
12
-15
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
-2
9
-2
-1
0
0
0
0
0
-1
-1
-11
-3
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
1
-10
-6
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
-7
10
-2
0
0
0
0
0
0
-2
-1
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
6
-16
-1
0
0
0
0
0
0
0
11
18
0
0
0
0
0
0
0
-7
7
0
0
0
0
0
0
3
-18
-22
0
0
2
0
0
0
-15
6
1
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
-2
-16
-10
0
0
0
0
0
0
-1
-3
-11
0
0
4
0
1
-11
-8
-28
37
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
-16
35
0
0
0
0
0
0
1
-6
-21
0
0
0
0
0
0
4
-7
12
0
0
0
0
0
0
-1
0
13
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
0
-11
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
23
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
4
0
0
0
0
1
1
0
-2
4
0
0
0
0
0
0
7
-1
8
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-10
3
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
1
13
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
8
2
-18
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
1
-2
2
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
1
2
2
-14
0
0
0
0
0
-2
2
-2
21
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
17
-3
20
0
0
0
0
0
0
0
-1
19
0
0
0
0
0
0
0
-4
-9
0
0
0
0
0
0
1
2
11
0
0
0
0
0
0
-2
-4
8
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
-1
-3
8
0
0
0
0
0
0
0
-1
-23
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
-7
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
-2
25
0
0
0
0
0
0
-1
0
12
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
6
3
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
-3
-20
0
0
0
0
1
-13
5
18
3
0
0
0
0
0
0
0
9
3
0
0
0
0
0
1
0
16
18
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
1
19
3
-5
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
-8
-1
-1
0
0
0
0
0
-1
0
0
15
0
0
0
0
0
0
0
3
-9
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
-1
1
12
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
1
-2
-3
0
0
0
0
0
-1
1
6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
-1
-7
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
15
0
0
0
0
0
-3
0
1
-10
0
0
0
0
2
0
0
-7
-3
0
0
0
0
0
0
0
-2
2
0
0
0
0
-1
1
0
1
-1
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
0
0
1
-2
0
0
0
0
2
7
1
5
-5
0
0
0
0
0
2
-1
6
17
0
0
0
0
0
0
-1
21
24
0
0
0
0
0
0
-10
-15
-1
0
0
0
0
0
1
-22
0
22
0
0
0
0
0
0
-4
0
-9
0
0
0
0
0
0
-10
4
-3
0
0
0
0
0
0
-1
-4
1
0
0
0
0
0
-6
-9
0
12
0
0
0
0
0
0
-3
4
-19
0
0
0
0
0
0
4
0
-6
0
0
0
0
0
0
0
6
-29
0
0
0
0
0
-1
5
13
-8
0
0
0
0
0
-1
0
0
11
0
0
0
0
0
-1
-1
0
-9
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
0
12
-9
-8
0
0
0
0
1
0
0
-6
9
0
0
0
0
0
0
-2
9
9
0
0
0
0
0
3
2
-9
-41
0
0
0
0
0
0
0
36
6
0
0
0
0
0
-2
4
6
-13
0
0
0
0
0
1
13
-8
-8
0
0
0
0
0
0
-2
3
-1
0
0
0
0
0
-7
5
-3
18
0
0
0
0
0
2
-2
-8
8
0
0
0
-1
0
0
4
-11
7
0
0
0
0
0
2
-15
-10
-15
0
0
2
0
0
2
0
-18
11
0
0
0
0
0
-3
0
2
38
0
0
0
0
0
1
-8
-16
15
0
0
0
0
0
0
-1
1
-15
0
0
0
0
-8
-12
14
-50
43
0
0
0
0
-3
0
4
-1
7
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
-7
-17
7
0
0
0
0
0
1
0
-2
1
0
0
0
0
0
-1
1
0
4
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
-2
6
-4
16
0
0
0
0
0
-6
-2
0
10
0
0
0
0
0
0
0
-1
-8
0
0
0
0
-1
0
0
-2
11
0
0
0
0
0
1
-6
12
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
4
-2
0
0
0
0
0
-1
0
1
7
0
0
0
0
-22
0
5
-15
-9
0
0
0
0
4
0
8
0
-37
-2
0
0
0
0
0
0
6
1
-11
0
0
0
0
0
0
-4
16
3
0
0
0
0
0
-1
-16
10
4
0
0
0
0
0
-6
1
-11
-11
0
0
0
0
-2
-8
15
-2
5
0
0
0
2
0
-1
11
-2
50
0
0
0
3
3
19
-4
9
30
0
0
0
1
-6
13
2
-10
-21
0
0
0
0
-1
0
1
20
8
0
0
0
1
-1
-2
1
3
16
0
0
0
0
4
-11
-21
19
8
0
0
0
0
3
0
-7
14
5
0
0
0
0
1
0
-11
-6
43
0
0
0
4
3
-2
-11
40
5
0
0
0
18
-14
6
19
-9
28
0
0
0
0
0
0
-1
10
0
0
0
8
0
0
0
-2
-20
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
9
9
0
0
0
0
0
0
0
-2
0
0
0
0
2
0
0
0
4
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-12
3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
2
-10
0
0
0
0
0
0
0
1
-18
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-1
4
-1
-3
0
0
0
0
0
0
0
0
13
-41
0
0
0
0
0
0
8
-14
-21
0
0
0
0
0
0
1
6
-29
0
0
0
0
0
0
-10
-22
-8
0
0
0
0
0
0
-1
36
-19
0
0
0
0
0
0
0
25
17
0
0
0
0
0
0
4
1
25
0
0
0
0
0
-1
7
-4
55
0
0
0
0
0
0
5
20
-9
0
0
-1
0
0
0
-18
16
25
0
0
0
0
0
-1
-28
-6
38
0
0
0
0
-1
-3
-15
30
29
0
0
0
0
0
0
-2
0
-1
0
0
4
0
-1
1
-6
-14
-52
0
0
0
1
0
0
7
0
-11
0
0
-5
0
-1
0
-5
-19
57
0
0
0
0
0
-2
-11
7
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-3
-6
0
0
0
0
0
0
0
-32
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-7
3
3
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
-3
-21
0
0
0
0
2
0
0
-1
9
24
0
0
0
0
0
0
-10
-15
49
0
0
0
0
0
-1
6
1
-16
0
0
0
0
0
0
-6
1
3
0
0
0
0
0
0
1
0
24
0
0
0
0
0
0
-2
2
13
0
0
0
0
0
0
-1
0
-46
0
0
0
0
0
-13
0
0
-7
0
0
0
0
0
0
-3
-3
24
0
0
0
0
0
0
9
6
-14
0
0
0
0
1
0
7
16
-9
0
0
0
0
0
0
-33
1
20
0
0
0
0
0
0
3
-13
-32
0
0
0
0
0
2
7
0
11
0
0
0
0
0
0
-4
-2
3
0
0
0
6
-8
-10
-57
41
-10
0
0
0
0
0
-2
4
-10
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
9
1
0
0
1
0
0
0
1
-6
13
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-4
10
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-8
27
3
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
2
-1
-4
8
0
0
0
0
0
2
3
-13
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
-8
0
0
0
0
0
0
-2
-3
20
-26
0
0
0
0
0
-1
0
6
-18
-2
0
0
0
0
0
0
-2
-1
-21
0
0
0
0
0
-1
-3
-1
-29
0
2
0
0
1
2
-9
0
0
0
0
0
0
0
-1
-1
6
1
0
0
0
0
0
1
-7
0
5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-15
0
-50
0
0
0
0
0
1
-21
15
-39
0
0
0
0
0
2
4
9
-22
0
0
0
0
0
2
14
3
7
0
10
0
0
-1
0
9
-7
-4
0
0
0
0
0
0
-16
0
81
0
0
0
0
0
1
-2
6
-18
0
0
0
0
0
-1
4
3
-21
0
-2
0
0
-10
-8
-6
-18
35
0
0
0
0
1
0
4
16
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
7
9
0
0
0
0
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
-1
0
0
0
0
0
0
-7
2
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
-3
0
15
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
1
0
-1
2
0
0
0
0
0
0
1
3
3
10
0
0
0
0
0
0
0
0
11
-46
0
0
0
0
0
0
0
3
-11
0
0
0
0
0
3
0
1
37
0
0
0
0
0
-3
-2
7
-3
0
0
0
0
-1
0
0
-3
27
0
0
0
0
1
0
0
1
-19
0
0
0
-2
-1
1
1
0
-6
0
0
0
0
0
4
-6
0
-3
0
0
0
0
1
2
-4
23
-5
0
0
0
0
0
1
1
8
26
0
0
0
0
0
0
0
13
2
0
0
0
0
-1
-4
8
-7
-31
0
0
0
0
0
0
1
1
-14
0
0
0
0
0
0
-9
-7
6
0
0
0
0
0
-1
0
2
56
0
0
0
0
-13
27
4
-22
-35
0
0
0
0
0
1
0
-5
0
0
0
0
0
0
0
6
5
0
0
0
0
0
0
-1
-6
-10
0
0
0
0
0
0
0
-4
9
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
-13
-3
0
0
0
0
0
0
0
1
1
2
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
1
0
-6
0
0
0
0
0
0
0
4
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
2
0
0
0
0
0
2
4
0
16
0
0
0
0
0
0
0
-2
-3
-11
0
0
0
0
0
0
1
1
22
0
0
0
0
0
0
0
1
12
0
0
0
0
0
1
1
-2
-23
0
0
0
0
0
0
3
0
-5
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-2
0
0
-1
0
0
0
0
0
1
6
3
-24
0
0
0
0
0
-3
6
15
-15
0
0
0
0
0
0
0
8
-20
0
0
0
0
0
0
-2
2
5
0
0
0
0
0
0
0
0
-16
0
0
1
0
0
0
0
-2
-2
0
0
0
0
0
0
-1
0
-13
0
0
-2
0
-1
12
-34
-13
22
0
0
0
0
0
-1
1
20
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
2
0
-9
0
0
0
0
0
-1
0
-1
7
0
0
0
0
0
0
0
-1
36
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
2
-11
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
-9
0
0
0
1
0
0
-2
2
8
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
-2
-2
0
-24
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-19
0
0
0
-2
8
-6
-27
6
-14
0
0
0
0
-1
-2
4
3
0
0
0
0
0
0
4
-12
21
0
0
0
0
0
-3
0
4
3
0
0
0
0
0
0
-1
-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
-3
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
-2
2
-1
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
2
9
0
0
0
0
0
1
-8
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
9
6
-15
-7
0
0
0
0
1
-1
-1
0
2
23
0
0
0
0
0
0
-10
6
24
0
0
0
0
-1
1
-4
1
-5
0
0
0
0
0
-1
0
1
-9
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
1
0
-30
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
1
0
10
21
0
0
0
0
0
0
3
1
8
0
-1
0
0
0
3
-2
0
4
0
0
0
0
-1
-1
-3
-1
-3
0
0
0
0
0
1
0
0
-14
0
0
0
0
1
1
0
-1
-17
0
-1
0
0
-1
-6
-31
17
-14
0
0
0
0
0
1
2
5
0
0
0
0
0
0
0
8
-13
0
0
0
0
1
0
0
24
21
0
0
0
0
0
0
24
-23
-2
0
0
0
0
2
0
-11
-3
-9
0
0
0
0
0
0
-7
-2
22
0
0
0
0
0
0
0
2
-10
0
0
0
0
0
2
5
8
4
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
-1
0
2
-3
0
0
0
0
0
0
2
-12
9
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
1
6
17
0
0
0
0
1
-7
7
-19
15
0
0
0
0
0
0
0
1
-9
-5
0
0
0
0
0
0
-28
8
0
0
0
0
0
0
2
-20
2
13
0
0
0
0
0
4
-5
-2
14
0
0
0
0
-1
4
-6
8
-2
0
0
0
-1
0
-2
1
-11
-18
0
0
0
0
-1
0
0
1
0
0
0
0
0
9
-3
3
-3
-3
0
0
0
-1
-2
-2
-27
5
1
11
0
0
0
0
2
-10
25
-41
-39
0
0
0
3
2
-8
19
29
-2
0
0
0
0
0
-29
8
-33
1
0
0
-3
-11
1
1
12
7
46
0
0
0
-2
2
10
2
-1
-5
0
0
-4
-3
0
8
9
-14
22
0
0
-11
21
-12
0
3
-1
27
0
0
0
0
-1
-6
25
0
0
0
-2
0
0
0
0
-2
0
0
0
0
0
0
1
-29
7
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
0
1
-29
5
0
0
0
0
0
0
0
-9
6
0
0
0
0
0
0
2
-1
1
0
0
0
0
0
0
1
-13
12
0
0
0
0
0
0
0
7
-6
0
0
0
0
0
0
0
3
0
0
0
0
0
0
1
0
-4
10
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
-3
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
2
0
-2
-7
0
0
0
1
0
1
0
4
-8
0
0
0
0
0
0
0
-18
-33
3
0
0
0
0
0
0
-7
-38
-6
0
0
0
0
0
0
3
1
-25
0
0
0
0
0
0
7
-11
-18
0
0
0
0
0
-1
9
-10
29
0
0
0
0
0
-1
2
0
4
0
0
0
0
0
0
0
2
2
0
0
0
0
0
2
-8
16
-13
0
0
0
0
1
0
4
-19
-14
12
0
0
0
0
0
6
2
34
4
0
0
0
0
-2
0
6
-37
37
0
0
0
0
-1
2
-2
2
14
0
0
0
0
0
-2
2
-2
0
0
-1
0
1
2
-2
-10
19
-23
0
0
0
0
0
2
-22
-4
6
0
-11
0
-13
2
0
22
-50
41
0
0
0
0
0
0
-15
0
0
0
0
0
0
-1
-28
35
0
0
0
0
0
0
0
16
-6
0
0
0
0
0
0
-2
17
-10
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
-4
0
-3
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
-1
-6
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
3
-1
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
-1
0
4
-6
0
0
0
0
0
0
0
-2
5
-21
0
0
0
0
0
-2
5
-2
19
0
0
0
0
0
0
-2
2
11
0
0
0
0
0
0
5
-2
1
0
0
0
0
0
0
-1
-3
-3
0
0
0
0
0
0
2
-3
-24
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
6
-2
-2
0
0
0
0
4
0
-1
18
-79
-8
0
0
0
0
0
2
-27
12
43
0
0
0
0
0
-3
-1
21
-28
0
0
0
0
3
6
2
-11
-11
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
1
0
-1
-15
0
0
0
1
0
-2
-2
-44
26
0
0
-6
12
-4
-13
-4
15
5
0
0
0
0
-3
-22
39
0
0
0
0
0
0
0
-13
17
0
0
0
0
0
0
0
13
-4
0
0
1
0
0
0
8
-35
-8
0
0
0
0
0
0
-7
19
1
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
0
-1
1
0
0
0
-2
0
0
-1
-2
4
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-2
0
-6
1
0
0
-1
0
0
0
2
-11
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
4
0
0
0
0
0
0
0
6
-33
2
10
0
0
0
0
0
1
6
10
-11
0
0
0
0
-1
-2
-2
3
-3
0
1
0
0
1
1
-2
1
7
0
0
0
0
0
-2
7
0
6
0
0
0
0
0
3
8
-3
2
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
-2
8
0
-28
0
0
0
0
-2
0
34
-9
20
20
0
0
0
0
2
3
0
-19
-14
0
0
0
0
0
0
0
2
-17
0
0
0
0
-1
-34
1
-2
11
0
0
0
0
0
2
-1
-8
-24
0
0
0
0
0
3
2
6
15
0
0
0
0
2
-4
0
13
-31
-21
0
0
-20
0
-15
9
-14
27
0
0
0
0
3
1
15
0
0
0
0
0
0
2
-12
27
0
0
0
0
0
-2
-1
-22
-3
0
0
0
0
0
1
11
13
-10
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
3
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
1
0
0
0
0
0
0
0
-9
-24
0
0
0
0
0
0
-3
4
19
0
0
0
0
1
0
0
8
-2
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
1
6
0
0
2
0
0
0
0
0
2
-39
-6
-16
0
0
0
0
0
0
3
-11
29
-22
0
0
0
0
0
0
-3
20
-15
0
0
0
0
0
0
-1
1
-17
0
0
0
0
0
1
-8
1
-6
0
0
0
0
0
0
-4
7
-44
0
0
0
0
0
0
-4
3
-29
0
0
0
0
0
0
0
0
39
0
0
0
0
0
-6
-6
1
-15
0
0
0
0
0
0
8
6
-25
29
0
0
0
0
0
0
8
-12
5
0
0
0
0
0
3
-4
-18
-41
0
0
0
2
1
-1
-1
26
-16
0
0
0
0
0
-1
20
-26
11
0
0
0
0
-6
13
-1
35
17
0
0
0
0
-1
9
-4
-1
41
0
0
1
-1
-4
-11
7
-7
53
0
0
0
0
-3
12
3
0
0
0
3
0
0
-1
0
43
0
0
0
0
0
0
1
-5
-14
0
0
0
0
0
0
8
43
9
0
0
0
0
0
0
-2
0
11
0
0
0
0
0
0
0
6
-23
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
6
-11
4
0
0
0
0
0
0
0
-2
11
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
-1
8
0
0
0
0
0
0
-3
-7
-15
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
2
1
0
0
0
0
0
0
0
-3
-11
7
0
0
4
0
0
-1
9
19
-19
0
0
0
0
0
0
-7
2
24
0
0
0
0
0
-1
2
-3
1
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
-2
2
8
0
0
0
0
0
0
0
2
-40
0
0
0
0
0
0
1
1
-10
0
0
0
0
0
0
-12
15
-15
47
0
-6
0
0
0
3
5
-16
-52
0
0
0
0
0
1
1
15
-5
0
0
0
0
-1
-4
-4
-14
27
0
0
0
0
0
-2
-3
-6
-6
0
1
0
0
0
-1
1
-11
-11
0
0
-2
0
2
-2
-3
9
1
0
-23
0
-6
-7
1
-24
36
9
0
0
0
0
0
8
13
0
0
0
0
0
0
-1
8
-14
0
0
0
0
0
-2
2
-9
26
0
0
0
0
0
0
-1
-32
0
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
-1
-2
11
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-10
9
7
-2
0
0
0
0
-2
2
0
-7
-21
0
0
0
0
0
0
0
10
9
0
0
0
0
3
0
1
1
-42
0
0
0
0
0
4
0
8
-34
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
-2
0
0
0
0
0
3
10
-6
-3
0
0
0
0
0
0
0
21
-18
78
0
0
0
0
0
-1
8
-3
11
0
0
0
0
0
0
0
-2
45
0
0
0
0
0
0
-9
-1
-31
0
0
0
0
0
0
-8
3
-36
0
0
0
0
-1
0
0
1
15
0
0
0
0
0
0
-7
0
-44
0
0
0
-2
1
2
-10
0
-40
0
0
0
2
0
2
-2
6
26
6
0
0
0
0
0
-1
-4
18
-28
0
0
1
0
0
-2
3
-1
28
0
0
0
0
0
-1
2
-10
-20
0
0
-3
0
0
0
-4
-37
-16
0
0
3
0
-2
-2
2
-40
27
0
0
1
-3
0
0
7
-12
26
0
0
3
-2
12
-16
43
-35
-33
0
0
4
-12
19
20
6
0
0
0
5
0
6
-12
21
7
0
0
0
0
-1
10
5
9
-4
0
0
7
0
0
17
27
-15
48
0
0
0
0
2
11
-48
-18
3
0
0
0
-2
0
1
33
-28
-20
0
0
0
0
-3
-1
-5
-5
-13
0
0
0
0
2
7
23
-4
-43
0
0
0
0
1
41
-3
-9
8
0
0
0
13
0
2
-16
-22
41
0
0
0
0
12
-35
-22
15
2
0
0
21
11
0
22
0
-51
-1
0
0
0
0
0
-9
-9
-24
18
0
0
0
-1
0
3
-6
-15
1
0
0
0
0
1
19
-19
-8
-14
0
0
-1
-4
-13
2
-21
5
57
0
0
0
0
1
-9
-1
-20
38
26
0
0
-7
0
-2
12
1
17
-17
0
0
0
2
-2
-6
4
4
3
0
-6
0
0
0
13
-22
-2
-32
0
0
0
2
-16
23
5
-49
6
0
0
-7
-3
0
34
31
31
-10
0
0
0
-3
-11
-13
-49
60
-13
0
-8
0
0
7
-40
0
-44
14
0
0
0
8
27
21
3
7
4
10
0
10
0
0
-11
-20
-1
-6
71
0
0
-3
-4
-17
-28
-21
-11
45
-11
-11
1
-27
-9
-8
22
-8
13
0
0
-2
17
-9
13
-8
-11
52
0
-12
1
-1
11
8
8
-26
-12
0
0
17
-1
39
-26
-5
-3
-75
-4
-18
-32
-18
-20
15
-14
14
-10
0
0
0
0
0
3
44
0
0
0
0
0
0
0
-10
2
0
0
0
0
0
0
2
-32
-5
0
0
0
0
0
0
-5
-13
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
4
3
35
0
0
0
0
0
-1
0
1
8
0
0
0
0
0
0
15
2
13
0
0
0
0
0
0
-1
6
16
0
0
0
0
0
0
0
1
-17
0
0
0
0
0
0
1
10
-2
0
0
0
0
0
0
-8
4
-14
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
6
2
0
0
0
0
1
-1
0
1
35
0
0
0
0
0
-4
9
-17
11
0
0
0
0
0
-1
0
-4
-11
0
0
0
0
0
0
-1
12
-25
0
0
0
0
0
1
0
3
6
0
0
0
0
0
0
7
9
1
0
0
0
0
-1
0
0
-12
14
0
0
0
0
-1
-1
9
7
-3
0
0
0
0
0
0
1
0
29
0
0
0
0
3
-1
-19
19
21
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
1
12
-9
0
0
0
0
0
-2
3
2
-17
0
0
0
0
-1
1
-10
-8
19
0
0
0
0
2
6
0
8
4
0
0
0
0
2
0
15
-25
-14
0
0
0
0
-1
-2
0
2
6
0
0
0
0
4
8
0
22
-16
0
0
0
0
0
0
0
-18
6
0
0
0
-1
0
0
0
2
2
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-20
-5
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
-1
9
-10
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
1
-36
-2
0
0
0
0
0
0
0
-12
18
0
0
0
0
0
0
0
6
-18
0
0
0
0
0
0
0
-8
13
0
0
0
0
0
0
0
2
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
-2
-3
-25
0
0
0
-1
0
3
2
3
15
0
0
0
0
0
0
0
6
10
0
0
0
1
0
0
-1
6
5
0
0
0
0
0
0
1
0
-14
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
-3
26
0
0
0
-1
0
0
0
6
15
0
0
0
0
0
0
0
24
-13
0
0
0
0
0
0
-2
-9
9
0
0
0
0
0
0
0
4
34
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
0
-1
7
-4
0
0
0
0
0
0
0
27
-22
0
0
0
0
0
0
0
0
26
0
0
0
4
0
0
0
-14
1
0
0
0
0
0
0
0
-9
11
0
0
0
7
1
3
-1
-30
27
0
0
0
0
0
0
-1
-4
-22
0
0
0
0
0
0
0
-11
-23
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
6
-12
-8
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
-4
-1
3
-11
0
0
0
0
0
0
2
7
-5
0
0
0
0
0
0
0
2
10
0
0
0
0
0
0
0
-21
16
0
0
0
0
0
0
-9
-10
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
-1
-1
-25
0
0
0
0
0
0
0
1
-7
32
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-13
1
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
-1
8
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
16
10
-9
0
0
0
0
0
0
0
-6
-7
0
0
0
0
0
0
0
11
18
0
0
0
0
0
0
-1
9
1
0
0
0
0
0
0
-3
-1
10
0
0
0
0
0
0
0
-6
15
0
0
0
0
0
0
0
-11
35
0
0
0
0
-2
0
-2
4
-10
0
0
0
0
1
-2
9
-12
-10
0
0
0
0
0
0
-9
-18
18
0
0
0
0
0
0
4
-7
15
0
0
0
0
0
0
8
1
-8
0
0
-1
0
0
0
-9
16
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
-4
9
7
0
0
0
0
0
0
0
-32
7
0
0
0
0
0
-2
-6
12
7
0
0
0
0
0
1
-2
-13
-8
0
0
0
0
0
0
0
7
-12
0
0
0
0
0
0
8
17
14
0
0
-1
0
0
0
1
-6
-11
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
1
-2
-10
0
0
0
0
0
0
-1
6
-6
0
0
0
0
0
0
-3
14
-30
0
0
0
0
0
0
8
13
2
0
0
0
0
0
0
6
-4
1
0
0
0
0
0
0
-6
13
6
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
4
9
12
0
0
0
0
0
0
0
-28
0
0
0
1
0
0
0
-10
3
6
0
0
0
0
0
0
-2
9
27
0
0
0
0
0
0
-15
-12
10
0
0
0
0
0
0
4
-21
12
0
0
2
0
0
0
21
-33
-4
0
0
0
0
0
0
-10
39
9
0
0
0
0
0
0
1
1
25
0
0
0
0
0
0
6
4
1
0
0
4
-1
-1
0
-30
9
9
0
0
0
0
0
0
0
4
-18
0
0
0
0
0
0
-1
-19
-5
0
0
0
0
0
0
0
-9
-9
0
0
0
0
0
-1
3
18
-9
0
0
0
0
0
0
-1
-6
22
0
0
0
0
0
0
1
1
-12
0
0
0
0
0
0
0
1
1
0
0
0
0
0
3
3
-6
11
0
0
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-6
-7
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
1
15
-3
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
1
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
4
-8
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
-3
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
2
-8
2
0
0
0
0
0
0
0
-13
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
-2
-4
0
0
0
0
0
0
0
7
-14
0
0
0
0
-1
6
24
-13
-1
0
0
0
0
0
0
0
8
5
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
-6
7
17
0
0
0
0
0
0
0
-1
30
0
0
0
0
0
0
-3
0
-13
0
0
0
0
0
0
-1
1
-4
0
0
0
0
0
0
6
1
3
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
1
-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
6
0
0
0
0
0
1
-1
1
-17
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
-1
0
0
0
0
0
0
-3
-2
12
0
0
0
1
1
-8
14
-33
-5
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
-1
1
15
0
0
0
0
0
0
-1
0
-7
0
0
0
0
0
0
0
21
6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
-16
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-11
5
-6
0
0
0
0
0
1
8
11
7
0
0
0
0
0
2
-16
-1
30
0
0
0
0
0
0
-2
6
10
0
0
0
0
0
0
3
0
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
3
8
-4
0
0
0
0
0
0
0
-7
3
0
0
0
0
0
0
-15
10
-8
0
0
0
0
0
0
1
-1
8
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
8
0
-6
7
0
0
0
0
0
3
4
-3
9
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
1
-1
-1
1
0
0
0
0
0
1
-2
0
1
0
0
0
0
0
3
1
-2
16
0
0
0
0
0
0
-4
-4
-2
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
-2
-12
0
8
0
0
0
0
0
0
-11
-3
0
0
0
0
0
0
-1
-2
1
-1
0
0
0
0
0
7
30
-1
12
0
0
0
0
0
1
1
-3
-8
0
0
0
0
0
-4
3
8
-7
0
0
0
0
0
0
2
-4
1
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
-3
-8
-7
0
0
0
0
0
0
0
-2
-10
-7
0
0
0
0
0
-10
17
-11
20
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-2
11
0
0
0
0
0
0
2
-2
-11
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
3
1
1
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
3
-2
6
3
0
0
0
0
0
0
-4
0
-11
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-3
0
10
13
0
0
0
0
0
0
0
3
6
0
0
0
0
0
0
-1
0
7
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
2
1
-8
0
0
0
0
0
0
-12
-3
12
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
-3
-1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
2
7
0
0
0
0
0
4
-2
3
4
0
0
0
0
0
-1
0
0
-13
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
3
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
4
0
0
0
0
1
1
0
-1
-7
0
0
0
0
-2
-2
-6
14
51
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
-1
-7
6
0
0
0
0
0
0
-1
-6
2
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
1
-3
-1
0
0
0
0
0
0
-2
-2
9
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
12
3
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-8
-11
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
-4
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
1
2
4
-23
0
0
0
0
0
0
0
6
-23
0
0
0
0
0
0
1
2
30
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
4
10
-6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
10
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
-6
-4
1
0
0
0
0
0
-2
0
0
-6
0
0
0
0
0
0
-1
-1
17
0
0
0
0
0
-1
0
8
2
0
0
0
0
0
0
-4
9
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
1
-7
0
0
0
0
0
0
1
-1
-1
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
-1
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-16
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-4
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
7
12
-9
32
0
0
0
0
0
0
-1
-9
2
0
0
0
0
0
0
2
21
-49
0
0
0
0
0
0
-7
-2
4
0
0
0
0
0
0
0
-36
21
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
-2
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
1
-15
4
0
0
0
0
0
0
1
-8
-4
0
0
0
0
0
0
4
1
-4
0
0
0
0
0
-1
0
-7
23
0
0
0
0
0
0
0
13
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
2
0
3
0
0
0
0
0
3
2
-2
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
1
6
-21
0
0
0
0
0
0
0
0
-11
13
0
0
0
0
0
0
1
6
2
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
7
10
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
1
-6
0
0
0
-11
0
0
4
-20
17
-12
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
-4
10
0
0
0
0
0
0
0
6
-7
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
0
-4
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
-12
-4
-16
31
0
0
0
0
0
0
-2
2
-18
0
0
0
0
0
0
0
-4
45
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
0
0
0
5
17
0
0
0
0
0
-1
0
-1
5
0
0
0
0
0
0
0
-6
-24
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
3
0
0
-18
0
0
0
0
0
0
0
-1
32
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
1
0
-24
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
-2
-2
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
-2
0
0
0
0
0
0
-9
-7
19
-14
16
0
0
0
0
0
9
-6
-1
11
0
0
0
0
0
0
1
2
20
0
0
0
0
0
-2
6
2
9
0
0
0
0
0
0
-7
-20
7
0
0
0
0
0
1
-3
-9
-8
0
0
0
0
0
-1
1
1
-9
0
0
0
0
0
-1
0
-2
-9
0
0
0
0
0
-12
-12
2
6
0
0
0
0
0
-2
7
2
-2
0
0
0
0
0
-1
0
0
18
0
0
0
0
0
12
3
-4
-2
0
0
0
0
0
-2
7
-3
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
3
0
1
0
0
0
0
0
0
-11
15
0
8
0
0
0
0
0
0
3
-1
8
0
0
0
0
0
-3
2
0
2
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
1
8
-12
0
0
0
0
0
0
-8
2
-2
0
0
0
0
0
-1
2
1
-10
0
0
0
0
0
1
1
1
10
0
0
0
0
0
-4
6
0
13
0
0
0
0
-1
-9
3
-3
24
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
2
0
-4
4
0
0
3
0
0
1
1
-8
8
0
0
0
0
-2
0
-2
0
1
0
0
0
0
0
-2
1
-4
11
0
0
0
0
-4
-1
2
-22
-2
0
0
1
-2
-8
-22
27
3
17
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-11
12
0
0
0
0
0
0
1
-9
-7
0
0
0
0
0
0
9
6
-9
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
11
-8
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
-1
2
0
-3
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
2
0
0
1
0
0
0
0
0
3
-1
-3
1
0
0
0
0
-1
0
0
-10
-16
-17
0
0
0
0
0
0
-11
3
-22
0
0
0
0
0
1
0
19
1
0
0
0
0
0
2
-7
2
-29
0
0
0
0
0
0
-8
35
5
0
0
0
0
0
0
-2
1
22
0
0
0
0
0
0
-1
-4
18
0
0
0
1
-2
9
3
-1
-27
0
0
0
0
0
0
2
10
-35
0
0
0
0
0
0
-4
9
4
0
0
0
0
4
0
-2
15
19
0
0
0
0
2
6
6
4
7
0
0
0
0
-1
-3
0
7
-13
0
0
0
0
0
-6
-2
-4
9
0
0
0
4
-1
0
-4
-4
35
0
0
0
9
-13
-21
1
-9
10
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-7
-1
-3
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
-1
6
-6
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
-11
-3
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
1
-10
4
0
0
0
0
0
0
0
10
-10
-22
0
0
1
0
0
0
-2
-2
-4
0
0
0
0
0
0
-1
-28
34
0
0
0
0
0
0
-4
-11
-11
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
-1
-13
-19
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
-9
8
0
0
0
0
0
0
-7
2
-13
0
0
0
0
0
0
-13
23
14
0
0
0
0
0
0
-4
-10
-33
0
0
0
0
0
0
-11
0
-6
0
0
0
0
0
0
-3
8
-4
0
0
-1
0
0
0
1
18
-3
0
0
0
0
0
0
-2
-3
54
0
0
3
0
-3
-3
16
9
-6
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-11
2
0
0
0
0
0
0
0
-13
-1
0
0
0
0
0
0
-3
6
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
6
0
0
0
0
0
0
-1
-1
-24
14
0
0
0
0
0
0
0
6
-24
0
0
0
0
0
0
16
0
-2
0
0
0
0
0
0
-8
0
-36
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
-4
-2
4
0
0
0
0
0
0
0
0
51
0
0
0
0
0
-1
-9
1
-45
0
0
0
0
0
-1
-1
9
-30
0
0
0
0
0
0
6
-28
-13
0
0
0
0
1
0
1
3
-10
0
0
0
0
0
0
-6
0
-8
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
1
0
-20
0
0
0
0
0
-15
2
-57
27
0
0
0
0
-1
-7
-10
4
0
0
0
0
0
0
-3
-11
0
0
0
0
0
0
0
1
-15
-1
0
0
0
0
0
0
12
-12
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
3
0
0
0
0
0
0
0
1
-1
-3
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-4
9
0
0
0
0
0
0
0
2
13
2
15
0
0
0
0
0
0
-4
1
7
0
0
0
0
0
2
-8
2
-48
0
0
0
0
0
1
-19
-4
-9
0
0
0
0
0
0
-3
1
-16
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
21
0
0
0
0
0
-1
0
-1
1
0
0
0
0
0
1
-24
2
8
0
0
0
0
0
0
15
8
-18
0
0
0
0
0
-1
7
7
0
0
0
0
0
0
0
-3
0
-19
0
0
0
0
0
1
-6
8
0
0
0
0
0
0
0
-9
0
-17
0
0
0
0
0
0
-25
0
5
0
-3
0
0
-3
13
-30
18
-13
0
0
0
0
0
0
2
22
0
0
0
0
0
0
0
3
-5
0
0
0
0
0
0
0
7
6
0
0
0
0
0
0
0
-23
1
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
1
-27
-7
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
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
4
-19
7
4
0
0
0
0
0
0
0
-4
-6
-41
0
0
0
0
0
0
0
4
7
0
0
0
0
0
-1
0
0
33
0
0
0
0
0
0
-3
0
-21
0
0
0
0
0
0
0
-3
19
0
0
0
0
0
0
-1
7
-41
0
0
0
0
0
0
-1
0
-11
0
0
0
0
0
2
-3
0
-6
0
0
0
0
0
0
-1
-8
9
0
0
0
0
0
0
-1
-26
-19
0
0
0
0
0
0
7
0
-33
0
0
0
0
0
-1
-1
-1
1
0
0
0
-1
0
0
2
-1
29
0
0
0
0
0
0
-6
0
-7
0
0
0
0
0
-2
1
1
-18
0
0
0
-1
2
5
-5
-6
10
0
0
0
0
1
0
1
7
0
0
0
0
0
0
0
11
-2
0
0
0
0
0
0
0
-7
-6
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
2
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
-11
0
0
0
0
0
0
0
-10
-7
10
0
0
0
0
0
0
1
1
21
0
0
0
0
0
0
-1
0
35
0
0
0
0
0
0
-1
1
-49
0
0
0
0
0
0
-4
-2
1
0
0
0
0
0
1
1
4
16
0
0
0
0
0
0
0
0
-34
0
0
0
0
0
0
0
7
-9
0
0
0
0
0
0
6
13
32
0
0
0
0
0
0
3
-7
10
0
0
0
0
0
0
2
1
2
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
-2
4
-2
-9
0
0
2
0
0
0
0
0
9
0
0
0
0
-1
0
0
1
-11
0
0
-1
-4
-2
-4
-8
-4
10
0
0
0
0
0
0
11
2
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
-11
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
1
0
6
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
4
7
0
0
0
0
0
0
1
0
-6
0
0
0
0
0
0
0
4
-20
0
0
0
0
0
0
1
-1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
0
0
0
-2
0
0
0
-6
-22
0
0
0
-1
7
0
-53
5
23
0
0
0
0
0
2
0
26
0
0
0
0
0
0
-1
-10
-14
0
0
0
0
0
0
0
-8
4
0
0
0
0
0
0
0
6
16
0
0
0
0
0
0
5
-10
-12
0
0
0
0
0
0
3
2
-3
0
0
0
0
0
-1
0
-1
1
0
0
0
0
0
-1
4
-18
0
0
0
0
0
0
1
2
-2
-22
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-1
9
0
0
0
0
0
0
-2
-8
25
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
1
-3
0
0
0
0
0
0
-4
-6
-3
-2
0
0
0
0
0
-1
4
18
1
10
0
0
0
0
0
0
0
-3
-8
0
0
0
0
-2
2
-7
0
0
0
0
0
0
0
1
8
0
23
0
0
0
0
0
-6
13
2
-18
0
0
0
0
0
0
2
3
-14
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
-6
0
0
18
0
0
0
-1
0
0
2
20
-39
0
0
0
0
0
0
0
0
-25
0
0
0
0
-1
7
-4
-4
10
0
0
0
0
0
-6
-1
3
-11
0
0
0
0
0
2
0
4
-35
0
0
0
0
0
-1
3
-3
19
0
0
0
2
0
0
6
3
-21
0
0
0
-1
2
3
8
-30
2
0
0
0
0
0
0
1
32
0
0
0
0
0
0
-1
-10
-1
0
0
0
0
0
0
0
4
-20
0
0
0
0
0
0
6
2
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
4
-10
9
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
2
1
1
9
0
0
0
0
0
1
0
-2
-5
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
-6
1
1
1
0
0
0
0
1
1
1
3
-4
0
0
0
0
0
0
0
-1
8
-19
0
0
0
0
0
0
15
-5
-33
0
0
0
0
0
0
13
0
-16
0
0
0
0
0
2
4
23
-14
0
0
0
0
0
0
8
-3
-12
0
0
0
0
0
0
-1
4
-12
0
0
0
0
-1
0
-1
1
-2
0
0
0
-1
1
4
-7
3
27
0
0
0
1
0
0
-1
-26
-42
13
0
0
0
0
0
-4
-8
5
25
0
0
0
0
0
-4
-4
4
-4
0
0
0
1
0
-27
-1
23
-2
0
0
0
0
0
2
21
-5
11
0
0
0
-1
1
-7
-1
33
3
0
0
1
-1
0
1
4
-1
-7
0
0
-8
-14
6
22
36
7
20
0
0
0
0
1
2
-26
0
0
0
0
0
0
-1
-10
-5
0
0
0
0
0
0
1
-28
0
0
0
0
0
0
-1
1
5
-3
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
1
4
-7
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
1
0
1
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
-6
10
-14
0
0
0
0
0
0
-1
19
6
0
0
0
0
0
0
-4
9
-16
0
0
0
0
0
0
-7
-12
-16
0
0
0
0
0
0
1
10
-7
0
0
0
0
0
0
0
-12
-8
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
1
3
3
-6
0
0
0
0
0
-1
-10
37
-36
25
0
-1
0
0
-1
-4
9
1
-48
0
0
0
0
0
-8
1
2
48
0
0
0
0
0
11
-7
-11
39
0
0
0
0
0
-4
-8
-10
-33
0
1
0
0
0
0
4
6
-23
0
0
0
0
0
-6
-2
49
-37
0
-8
0
-2
-7
-7
-20
14
42
0
0
0
0
0
-10
0
0
0
0
0
0
0
2
-2
7
0
0
0
0
0
0
0
5
-7
0
0
0
0
0
0
1
4
17
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
-1
4
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
3
-15
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
-1
1
-9
0
0
0
0
0
0
0
-2
11
-11
0
0
0
0
0
1
-6
-3
-18
0
0
0
0
0
0
0
-28
5
0
0
0
0
0
4
3
3
13
0
0
0
0
0
0
1
1
13
0
0
0
0
0
0
-1
-4
-2
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
-3
0
-12
0
0
0
0
0
0
0
8
-20
14
0
0
0
0
0
-1
-2
-5
-4
0
0
0
0
0
-7
-2
26
-11
0
0
0
0
0
29
-6
-39
19
0
0
0
0
0
0
0
-14
32
0
0
0
0
-2
0
-9
-4
9
0
0
0
0
0
-4
0
16
4
0
0
0
1
24
-18
25
7
-18
0
0
0
0
0
4
16
0
0
0
0
0
0
2
9
-4
0
0
0
0
0
0
0
2
0
0
0
2
0
0
0
8
-4
-11
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-11
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-16
-13
0
0
0
0
0
-1
2
-11
17
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
1
-1
5
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
3
0
0
0
0
0
0
-3
1
-5
30
0
0
0
0
0
0
-8
12
-9
0
0
0
0
0
0
2
-4
-35
0
3
0
0
0
0
2
0
41
0
0
0
0
0
-3
9
-3
-36
0
0
0
0
0
0
-1
4
-27
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
-8
-5
0
-9
0
0
0
0
0
0
-8
3
-17
-8
0
0
0
0
0
6
-11
3
32
0
0
0
0
0
8
-3
14
-40
3
0
0
0
0
-1
9
10
-26
0
0
0
0
0
1
4
-35
11
0
0
0
0
-1
3
1
-4
-28
0
0
0
0
0
0
-7
-14
4
-27
0
-2
-37
-51
28
-21
-6
3
0
0
0
0
-1
-4
27
0
0
0
0
0
0
0
-7
5
0
0
0
0
0
0
0
18
2
0
0
0
0
0
0
18
10
-9
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
1
2
-11
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-7
-3
-4
0
0
0
0
0
0
0
11
-14
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
-1
6
1
0
0
0
0
0
0
-2
-13
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
-4
-3
-6
-1
1
0
0
0
0
0
0
0
-3
15
30
0
0
0
0
0
0
-26
-28
18
0
0
0
0
0
0
1
-1
-12
0
0
0
0
0
-2
-1
-1
-19
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
-4
15
-34
0
0
0
-1
0
0
-1
1
24
-21
0
0
0
0
0
0
1
6
-3
0
0
0
0
0
3
3
12
-16
0
0
0
-1
0
1
18
-4
-29
0
0
0
0
0
0
-1
-8
20
0
0
0
0
0
0
2
-9
61
0
0
0
0
0
0
1
-27
19
0
0
-2
-1
1
-24
13
27
11
0
0
0
0
0
-8
16
0
0
0
-1
0
0
0
-7
20
0
0
0
0
0
0
0
2
-11
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
0
4
0
0
0
1
0
0
0
0
22
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-1
0
-10
0
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
1
-6
0
0
0
0
0
0
0
0
0
-7
-10
43
0
0
0
0
0
0
-7
0
1
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
-1
15
-1
-9
0
0
0
0
0
0
1
-1
7
0
0
-3
0
0
0
0
2
-11
0
0
0
0
0
0
0
-1
-13
0
0
0
0
-1
0
0
-4
-4
0
0
0
0
0
0
0
8
3
-19
0
-1
0
0
0
0
-5
13
9
0
0
0
0
0
-3
3
-46
24
0
0
0
0
0
0
-4
5
32
0
0
0
0
0
-1
1
-9
-38
0
0
0
0
0
0
0
-7
4
0
0
-3
0
-1
1
0
9
-9
0
-3
0
-8
-5
-23
9
-10
8
0
0
-1
0
0
1
15
0
0
0
0
0
0
0
33
12
0
0
0
0
0
-1
1
1
16
0
0
0
0
0
0
-1
-13
-5
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
0
-1
-2
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
1
6
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
3
22
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
1
0
3
-10
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
-4
3
-6
0
0
0
0
0
1
0
-1
16
20
0
0
0
0
0
0
-2
7
-14
0
0
0
0
0
0
1
0
10
0
0
0
0
0
0
-24
-1
6
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
1
3
0
-8
0
0
0
0
1
0
0
3
-4
32
0
0
0
0
0
1
11
13
-18
0
0
0
0
0
0
0
-18
25
0
0
0
0
-4
0
2
-8
-15
0
0
-2
0
0
0
-3
10
-18
0
0
2
0
2
0
0
-25
18
0
0
1
0
-1
-1
1
-2
-14
0
0
12
2
-3
-35
43
-5
-11
0
0
-2
4
13
25
14
0
0
0
27
0
0
-3
32
-4
0
0
0
0
4
-19
-36
23
-1
0
0
19
1
-4
18
16
-27
-5
0
0
0
0
11
10
-50
-20
10
0
0
0
0
0
7
-4
3
10
0
0
0
0
-4
0
7
21
-9
0
0
0
0
7
-1
3
8
19
0
0
0
0
3
41
-26
26
-10
0
0
0
14
0
0
36
-27
-18
0
0
0
0
18
-13
-13
6
3
0
0
7
10
-9
20
-22
-59
24
0
0
0
0
0
-25
-5
6
12
0
0
0
-9
-1
8
-15
35
19
0
0
0
0
16
20
3
-50
-41
0
0
-2
1
-3
-24
-6
-1
16
0
0
0
0
14
-9
39
-23
51
4
0
0
3
0
0
-14
-1
-1
2
0
0
0
-6
-3
-10
-16
-18
40
0
15
0
0
-7
35
-19
13
1
0
0
0
-5
-12
39
15
-8
-5
0
0
0
-2
-16
44
-26
29
3
0
0
0
1
-9
-26
20
61
-33
0
-19
0
2
24
-67
24
-22
9
0
0
0
1
36
35
-17
-7
-45
27
0
-14
0
1
3
1
61
7
-25
0
0
13
-1
-20
-45
8
50
15
3
-11
0
-5
-18
-51
13
32
9
0
0
-15
-1
25
-43
7
-6
8
0
11
8
2
16
-20
-19
5
-24
0
0
3
7
28
32
-26
-30
12
6
-10
-2
-70
22
5
-21
-46
6
0
0
6
0
59
-17
15
0
0
0
0
0
10
-13
-10
15
0
0
0
0
-2
4
-2
-7
51
0
0
0
0
0
0
-15
-3
28
0
0
0
0
0
18
14
-57
28
0
0
0
0
2
-1
-16
14
18
0
0
0
0
1
20
-3
7
-33
0
0
0
0
0
-2
32
-15
-50
0
0
0
0
-1
-1
4
49
-29
0
0
0
0
0
-1
2
-9
0
0
0
0
0
3
-9
-18
9
13
0
0
0
0
-2
8
14
-24
-15
0
0
0
0
-1
2
-16
11
40
0
0
0
0
0
0
-4
0
30
0
0
0
0
-11
1
3
1
14
0
0
0
0
2
-32
-24
30
37
0
0
0
0
-20
3
12
-16
54
0
0
0
0
0
3
-8
-11
-8
0
0
0
0
-1
3
-1
-15
-12
0
0
0
0
0
0
-10
6
11
0
0
0
0
4
3
2
13
-27
0
0
0
0
0
0
3
-40
-8
0
0
0
0
1
0
-10
0
8
0
0
0
0
1
-1
7
18
-1
0
0
0
0
9
0
0
-9
-19
0
0
0
0
0
1
-19
-3
14
0
0
0
0
0
3
3
-16
29
0
0
0
0
0
-1
4
-11
9
0
0
0
0
10
0
0
-2
65
0
0
0
0
1
0
11
-5
-8
0
0
0
0
-28
6
0
20
43
0
0
0
0
-7
-17
-7
22
8
0
0
0
0
0
-3
2
4
52
0
0
0
24
0
3
4
1
-21
0
0
0
0
1
9
3
6
-18
0
0
0
0
0
13
19
1
-8
0
0
0
0
0
0
15
1
-1
0
0
0
0
0
1
-10
2
-13
0
0
0
0
0
-2
4
19
6
0
0
0
0
0
0
-5
-47
13
0
0
0
0
0
-1
6
-37
-4
0
0
0
6
0
-2
12
-25
19
0
0
0
0
0
0
1
-36
-1
0
0
0
1
0
3
-39
-38
10
0
0
0
0
0
0
-2
-17
19
0
0
0
3
0
-3
1
-2
-11
0
0
0
0
0
3
0
22
-22
0
0
0
-2
0
-2
-9
-6
-12
0
0
0
0
0
0
0
-4
24
0
0
0
-2
0
-1
4
-15
30
0
0
0
0
0
-2
0
-6
9
0
0
0
0
0
0
0
18
-4
0
0
0
0
0
0
-4
4
-6
0
0
0
-7
0
0
-2
-1
22
0
0
0
0
0
0
0
0
5
0
0
0
0
0
1
5
12
10
0
0
0
0
0
0
1
0
14
0
0
0
-18
0
3
-1
20
-2
0
0
0
0
0
0
4
-5
17
0
0
0
0
0
0
-10
58
-27
0
0
0
0
0
0
-1
-23
-9
0
0
0
36
0
-1
0
-2
-5
0
0
0
0
0
0
-22
0
0
0
0
0
-16
0
-21
3
-28
6
0
0
0
0
0
-9
-2
6
39
0
0
0
0
0
-6
15
-4
18
0
0
0
0
11
8
-14
8
5
0
0
0
0
0
-17
-14
10
6
0
0
0
0
0
4
-8
6
-30
0
0
0
0
0
-2
4
-12
-6
0
0
0
0
-1
-1
-16
0
10
0
0
0
0
0
7
15
-2
3
0
0
0
0
0
2
9
-23
24
0
0
0
0
0
0
0
-21
11
0
0
0
0
0
-10
-8
-12
-7
0
0
0
0
0
-2
-11
-7
22
0
0
0
0
0
0
1
-39
0
0
0
0
0
0
-1
-9
-12
-27
0
0
0
0
2
0
-6
-17
32
0
0
0
0
-1
-4
-7
-14
12
0
0
0
0
0
1
-1
-18
-2
0
0
0
0
0
0
3
1
1
0
0
0
0
2
1
-8
-14
-4
0
0
0
0
1
0
21
15
11
0
0
0
0
0
1
-4
-18
-2
0
0
0
0
0
0
-3
8
7
0
0
0
0
2
-1
-7
9
18
0
0
0
0
0
0
17
15
1
0
0
0
0
0
1
-1
-3
-2
0
0
0
0
0
0
3
-9
-11
0
0
0
0
-1
0
-6
-1
-9
0
0
0
0
-2
0
9
16
2
0
0
0
0
3
8
0
-14
21
0
0
0
0
1
-1
8
-19
-19
0
0
0
0
-2
-5
4
-11
-30
0
0
0
0
-3
9
19
-15
-13
0
0
0
0
1
-9
-15
-18
65
0
0
0
0
0
1
-6
10
19
0
0
0
0
2
-11
9
3
0
0
0
1
0
0
17
18
-10
2
0
0
0
0
0
1
7
1
3
0
0
0
0
0
-1
-1
17
-7
0
0
0
0
1
2
2
41
-17
0
0
1
0
0
0
14
16
-17
0
0
0
0
0
-2
-3
8
-11
0
0
0
0
0
-4
-5
12
13
0
0
0
0
0
1
11
21
-41
0
0
19
0
0
1
9
8
0
0
0
0
0
0
-2
-2
-1
-46
0
0
0
0
0
0
-18
13
2
0
0
0
0
0
-4
13
-2
-1
0
0
2
0
0
-29
-9
-25
35
0
0
0
0
1
2
-4
-2
12
0
0
0
0
0
-1
10
21
-13
0
0
0
0
0
0
-20
35
22
0
0
-1
0
1
-9
-53
-39
9
0
0
0
0
0
0
0
-9
-11
0
0
0
1
0
0
6
-12
28
0
0
0
0
1
0
-1
0
3
0
0
-1
0
0
8
18
-17
2
0
0
0
0
0
1
-10
-2
5
0
0
0
0
0
1
1
5
-13
0
0
0
0
0
-2
-8
-13
-9
0
0
-25
0
0
12
-3
-50
16
0
0
0
0
0
1
-10
16
-14
0
0
0
0
0
-2
2
-14
11
0
0
0
0
-1
2
-3
-18
13
0
0
-1
2
-3
-5
7
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
7
-13
6
0
0
0
0
0
0
-1
-8
22
0
0
0
0
0
0
1
2
-15
0
0
0
0
0
0
0
8
18
0
0
0
0
-6
-16
12
12
23
0
0
0
0
0
-3
9
-2
-14
0
0
0
0
0
-1
-1
-1
15
0
0
0
0
1
0
-16
12
19
0
0
0
0
-6
4
-3
17
0
0
0
0
0
0
0
6
25
14
0
0
0
0
0
0
3
-7
6
0
0
0
0
0
0
-2
-12
12
0
0
0
0
0
0
0
8
-9
0
0
0
0
0
0
-3
3
-36
0
0
0
0
0
-2
0
1
8
0
0
0
0
0
0
-3
15
-1
0
0
0
0
8
-3
26
-6
-6
0
0
0
0
0
0
-9
-10
-6
0
0
0
0
0
-1
2
25
18
0
0
0
0
0
0
-3
-17
-12
0
0
0
0
-3
8
1
-1
26
0
0
0
0
0
0
-10
-3
-7
0
0
0
0
0
0
0
7
-9
0
0
0
0
1
0
0
-6
-11
0
0
0
0
2
5
6
-17
16
0
0
0
0
0
-1
0
11
-24
0
0
0
0
1
0
3
-29
38
0
0
0
0
0
4
-8
0
-26
0
0
0
0
23
-17
-19
16
-28
0
0
0
0
0
1
6
-2
-14
0
0
0
0
1
3
5
-2
7
0
0
0
0
8
-25
24
-9
6
0
0
0
0
0
0
0
-22
13
0
0
0
0
0
0
1
-8
35
0
0
0
0
0
0
0
3
-10
0
0
0
0
0
0
-6
3
-6
0
0
0
0
0
0
2
2
-7
0
0
0
0
0
0
-6
-13
25
0
0
0
0
0
0
0
-12
9
0
0
0
0
0
1
2
-32
10
0
0
0
0
0
0
4
8
-8
0
0
0
0
0
0
0
12
-22
0
0
0
0
0
0
0
7
5
0
0
0
0
0
0
3
-22
34
0
0
0
0
0
0
0
-1
-7
0
0
0
-1
0
1
1
-8
45
0
0
0
0
0
0
0
-4
26
0
0
0
0
0
-2
0
0
31
0
0
0
0
0
0
1
22
-23
0
0
0
18
0
1
1
-36
-2
0
0
0
0
0
0
0
-29
16
0
0
0
0
0
1
-7
3
8
0
0
0
0
0
0
3
-12
10
0
0
0
-1
0
-2
0
-1
-1
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
4
-7
0
0
0
0
0
0
10
-10
-3
0
0
0
-3
0
0
-1
14
-27
0
0
0
0
0
0
-2
10
-2
0
0
0
2
0
-1
0
-36
-1
0
0
0
0
0
0
1
13
1
0
0
0
-11
0
0
-2
-37
7
0
0
0
0
0
0
-1
8
19
0
0
0
-8
0
-2
-9
20
-3
0
0
0
0
1
-1
-6
0
9
0
0
0
0
0
0
0
-16
-11
0
0
0
0
-1
-1
0
15
-21
0
0
0
0
0
1
13
-37
-14
0
0
0
0
0
-1
0
4
-18
0
0
0
0
0
0
2
-4
-10
0
0
0
0
0
0
1
0
-28
0
0
0
0
0
0
7
-10
-4
0
0
0
0
0
0
0
4
28
0
0
0
0
0
0
-2
2
-24
0
0
0
0
0
-1
0
-14
45
0
0
0
0
0
-1
-2
-4
20
0
0
0
0
0
11
0
-6
-20
0
0
0
0
0
0
-3
4
-12
0
0
0
0
1
2
1
3
-13
0
0
0
0
0
3
38
2
-24
0
0
0
0
0
0
-1
5
13
0
0
0
0
0
-1
11
-6
-11
0
0
0
0
1
0
3
-19
4
0
0
0
0
0
0
10
10
12
0
0
0
0
0
0
2
1
9
0
0
0
0
0
0
2
0
11
0
0
0
0
0
-1
1
1
-1
0
0
0
0
0
-4
2
-16
2
0
0
0
0
2
-2
-3
-13
7
0
0
0
0
0
0
0
7
-16
0
0
0
0
0
2
0
-34
2
0
0
0
0
0
-1
2
-5
-4
0
0
0
0
7
-1
14
-6
-16
0
0
0
0
0
0
0
0
26
0
0
0
0
3
-1
-4
12
20
0
0
0
0
0
2
-2
8
14
0
0
0
0
0
0
2
3
11
0
0
0
0
0
-2
0
16
-13
0
0
0
0
0
0
-11
18
-12
0
0
0
0
0
1
3
-15
3
0
0
0
0
0
0
-3
6
10
0
0
0
0
0
0
-3
-2
-7
0
0
0
0
0
0
1
-19
16
0
0
0
0
0
-12
-2
2
34
0
0
0
0
0
0
1
1
-7
0
0
0
1
0
0
-1
-8
8
0
0
0
0
0
0
1
-2
-23
0
0
1
0
0
0
-2
26
-10
0
0
0
0
0
0
0
0
29
0
0
0
0
0
1
11
-6
-10
0
0
0
0
0
0
-7
11
-3
0
0
0
0
0
-1
21
6
-26
0
0
0
0
0
1
-2
11
-2
0
0
0
0
0
1
-11
1
-8
0
0
0
0
0
-2
1
-12
0
0
0
16
0
0
-8
4
-44
-4
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
1
-3
-1
-10
0
0
0
0
0
-2
0
0
-4
0
0
0
0
0
0
-7
-7
-1
0
0
0
0
0
3
-2
0
-21
0
0
0
0
0
0
1
25
-30
0
0
0
0
0
0
-1
-33
13
0
0
-5
0
0
1
-51
20
12
0
0
0
0
0
0
-11
-4
15
0
0
0
-2
0
0
10
7
-3
0
0
0
0
0
1
11
-23
5
0
0
-5
1
-2
-19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-4
0
0
0
0
0
0
-6
4
-4
0
0
0
0
0
1
-3
-28
12
0
0
0
0
0
-1
-18
3
19
0
0
0
0
0
-2
4
-7
8
0
0
0
0
0
0
2
-8
2
0
0
0
0
0
-2
2
-3
-7
0
0
0
0
0
-6
1
-13
-11
0
0
0
0
-10
12
15
24
33
0
0
0
0
0
0
13
-10
-6
0
0
0
0
0
4
-8
-2
-4
0
0
0
0
0
-12
-11
-9
13
0
0
0
0
-2
8
21
21
17
0
0
0
0
0
0
-8
-20
-1
0
0
0
0
3
1
12
23
1
0
0
0
0
0
-3
-15
1
-10
0
0
0
0
9
9
0
10
11
-15
0
0
0
0
-1
-1
-18
-2
39
0
0
0
0
0
0
-6
0
6
0
0
0
-1
6
0
14
-10
8
0
0
0
4
2
6
-11
25
-30
0
0
0
0
0
9
-19
27
-9
0
0
0
-1
-1
0
6
12
-4
0
0
0
0
-1
0
2
0
-35
0
0
0
19
-2
15
13
-42
4
0
0
0
0
0
8
16
44
-18
0
0
0
-1
0
9
-7
5
-34
0
0
0
0
0
4
-10
-7
28
0
0
0
-1
16
22
1
40
-33
0
0
0
0
-1
1
4
-12
18
0
0
0
5
-3
29
-57
-41
35
0
0
0
-20
3
0
-11
10
-26
0
0
0
0
0
8
-3
20
0
0
0
1
0
6
1
-11
15
0
0
0
0
0
0
-1
-48
-1
0
0
0
0
0
2
-15
-5
-18
0
0
0
0
0
0
0
16
-11
0
0
0
0
0
-1
-29
3
-11
0
0
0
0
0
0
-2
3
-12
0
0
0
0
0
-3
-11
19
-3
0
0
0
0
0
0
2
-33
20
0
0
0
-6
0
0
-1
1
21
0
0
0
0
0
0
-13
21
-15
0
0
0
0
0
2
-14
19
1
0
0
0
0
0
0
-3
8
-14
0
0
0
0
0
-1
-1
-16
-1
0
0
0
0
0
-2
-14
-14
30
0
0
0
0
0
4
4
-20
17
0
0
0
0
0
1
6
4
9
29
0
0
19
0
1
-4
29
19
-9
0
0
0
0
0
-1
-18
1
16
0
0
0
0
0
13
0
-18
-19
0
0
0
0
0
0
-3
-37
15
0
0
0
0
0
3
9
2
-35
0
0
0
0
0
0
0
-8
-53
0
0
0
0
0
-8
16
-19
3
0
0
0
0
0
-1
-51
48
40
0
0
0
0
-3
1
7
22
-2
0
0
0
0
-3
-1
16
2
22
0
0
0
0
0
5
20
-28
7
0
0
0
0
0
5
6
15
-2
0
0
2
0
0
-8
29
-11
-17
0
0
0
0
-2
6
-25
-15
-3
0
0
36
-1
6
9
-26
-2
2
0
0
0
0
2
1
22
0
0
0
0
0
0
0
-2
-11
20
0
0
0
0
4
0
1
-3
-10
0
0
0
0
0
0
2
14
-20
0
0
0
0
0
1
-15
-10
4
0
0
0
0
0
0
-1
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
2
-4
0
0
0
0
0
0
1
9
8
0
0
0
0
0
-2
0
-25
-4
0
0
0
0
-2
1
1
-33
11
0
0
0
0
0
0
21
23
29
0
0
0
0
0
-1
4
2
4
0
0
0
0
0
0
0
3
0
0
0
0
0
-2
-2
-8
3
-21
0
0
0
0
-1
2
-15
1
-27
0
0
0
0
-1
1
-1
2
-20
-23
0
0
0
0
0
0
-6
-23
-27
0
0
0
1
1
0
-11
-20
11
0
0
0
0
1
-8
-10
-6
-7
0
0
0
0
-1
12
-4
-7
-19
0
0
0
0
0
0
-2
-10
-2
0
0
0
1
0
-6
-3
6
-12
0
0
0
0
-1
-2
-21
8
-8
0
0
0
0
-1
-7
2
10
44
0
0
0
0
0
0
-1
-7
17
0
0
0
0
-1
-9
-7
1
32
0
0
0
0
-3
-2
-18
-1
-7
0
0
0
-1
-6
-2
3
6
-2
0
0
0
0
0
0
0
9
-8
0
0
0
0
-1
9
12
3
-36
0
0
0
-2
8
-25
-23
10
26
0
0
0
0
0
-6
3
14
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
0
9
-5
0
0
-1
0
0
1
-12
5
6
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
-29
3
6
0
0
0
0
0
0
1
-2
1
0
0
0
0
0
21
-21
7
0
0
0
0
0
0
0
0
26
-19
0
0
0
0
0
0
11
0
1
0
0
0
0
0
0
5
-40
-13
0
0
-4
0
0
-4
2
-13
19
0
0
0
0
0
0
0
-9
3
0
0
0
0
0
0
-7
-7
7
0
0
0
0
0
1
3
-9
-15
0
0
0
0
0
-1
8
-14
0
0
0
0
0
1
0
0
12
11
-37
0
0
0
0
0
9
-11
-21
16
0
0
0
-1
1
0
-21
-20
-12
0
9
0
0
4
28
12
-6
4
0
0
0
0
0
2
1
2
-43
0
0
0
0
0
0
-8
-1
5
0
0
0
0
1
0
-3
2
5
0
-2
0
0
1
3
-18
-11
-27
0
0
0
0
2
-2
8
-8
22
0
0
0
0
-4
5
-25
-10
14
0
0
0
0
1
28
-6
-18
2
0
-1
0
0
-32
2
0
26
-8
0
0
0
0
-4
1
7
-9
-6
0
0
0
0
0
-13
16
3
18
0
0
0
0
-8
-2
-7
15
-21
0
0
0
0
-21
12
18
26
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
11
26
4
0
0
0
0
0
0
-1
2
12
0
0
0
0
0
0
2
-1
6
0
0
0
0
0
0
0
-3
7
0
0
0
0
-2
0
17
0
-19
0
0
0
0
0
0
-2
0
11
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
2
-7
16
0
0
0
0
4
1
16
21
1
0
0
0
0
0
-1
-4
12
18
0
0
0
0
0
2
-3
-20
-14
0
0
0
0
0
0
0
1
-12
0
0
0
0
4
8
19
-3
5
0
0
0
0
0
0
13
-12
27
0
0
0
0
0
27
-4
-15
14
0
0
0
0
-4
-9
15
-17
-9
0
0
0
0
-2
8
-24
-3
12
11
0
0
0
0
0
-1
1
40
14
0
0
0
0
2
-1
-1
9
-29
0
0
0
0
1
1
6
-10
7
0
0
0
12
2
-2
30
16
-38
0
0
0
-2
-1
5
20
-21
-10
0
0
0
-2
1
1
6
-11
3
0
0
0
-1
-8
-8
39
5
-60
0
0
0
-5
-19
-10
-4
-7
2
51
0
0
0
0
-4
-3
-14
-85
24
0
0
0
-15
0
-24
-8
10
4
0
0
0
2
2
-12
1
20
16
0
0
2
3
14
2
-33
40
-74
0
0
0
-1
10
-4
35
-7
28
0
0
11
-3
-1
55
-9
-24
-22
0
0
-7
-12
3
-52
-20
-1
5
0
0
0
0
1
-3
27
0
0
0
15
0
0
0
-6
-43
0
0
0
0
0
0
0
-6
-14
0
0
0
0
0
0
-7
2
-6
0
0
0
0
0
0
0
8
-7
0
0
0
0
0
-1
6
-2
-28
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
27
-3
0
0
0
0
0
-1
6
-10
-36
0
0
0
-8
0
0
-10
-16
17
0
0
0
0
0
0
2
-6
-10
0
0
0
0
0
-2
6
8
8
0
0
0
0
0
-1
3
-1
35
0
0
0
0
0
0
0
6
-31
0
0
0
0
0
0
-1
3
39
0
0
0
-2
0
1
0
-24
43
0
0
0
0
0
0
-3
-2
13
-7
0
0
-10
0
-6
8
4
23
10
0
0
0
0
0
0
-10
-11
15
0
0
0
0
0
5
-4
16
-9
0
0
0
0
0
-16
-1
28
55
0
0
-2
0
-1
-1
-32
6
-7
0
0
0
0
0
2
-10
-2
-9
0
0
0
0
2
2
-1
9
-15
0
0
0
0
0
-11
8
21
12
-2
0
-11
0
0
-5
-56
9
9
13
0
0
0
0
1
-26
33
-9
-24
0
0
0
1
-29
-7
-5
-2
27
0
0
0
-2
9
20
-10
-65
40
0
23
0
0
-17
-17
12
18
42
0
0
0
0
8
-23
-27
-39
-5
0
-18
0
-3
-6
15
-2
-10
6
0
0
0
0
-2
-26
7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
1
2
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
-1
4
6
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
4
2
-7
0
18
0
0
0
0
0
0
0
-21
-4
0
0
0
0
0
-2
2
-10
-2
0
0
0
0
0
2
2
-8
-9
0
0
0
0
1
0
-7
8
-4
0
0
0
0
0
0
-2
-1
21
0
0
0
0
0
-1
-12
-7
5
0
0
0
0
-1
0
21
-2
0
0
0
0
0
-1
-3
2
1
22
-9
0
0
0
0
0
0
1
-5
-12
0
0
0
0
0
2
3
9
3
0
0
0
0
0
-28
-23
2
20
0
0
0
-3
0
1
-2
2
25
0
0
0
0
0
-1
-10
2
8
0
0
0
0
0
0
-21
-4
-8
0
0
0
0
0
2
9
1
-8
0
0
0
-4
-4
2
-3
11
-9
-13
0
0
0
0
0
-12
12
39
-17
0
0
0
4
0
-3
-7
-23
34
0
0
-2
4
-6
12
0
-18
13
0
0
-2
-8
0
27
44
-27
-36
0
0
0
-2
1
15
-7
-3
20
0
0
-3
0
-14
-7
1
-15
-10
0
0
6
2
8
-26
13
-22
-4
0
0
0
-1
0
-7
4
0
0
0
0
0
0
0
-14
17
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
-1
-6
-15
18
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
-12
-12
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
8
-1
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
1
7
-9
-18
0
0
0
0
0
-3
2
-24
-6
0
0
-10
0
0
-3
-8
-12
-5
0
0
0
0
0
0
-8
4
1
0
0
0
-1
0
0
-17
7
27
0
0
0
0
0
0
2
8
10
0
0
-7
0
0
5
1
-13
-16
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
1
-29
-15
17
0
0
0
0
0
-6
-3
6
0
0
7
0
0
0
-7
25
-1
-28
0
0
0
0
0
0
-4
-18
9
0
0
0
0
0
-1
-19
7
0
0
0
0
0
0
0
11
-18
16
0
-6
0
0
-1
1
-1
-5
49
0
0
0
0
-2
2
-6
-1
-37
-12
0
0
0
-2
-8
-17
-3
58
-35
0
0
0
0
-4
5
1
24
0
-2
0
0
0
4
-16
25
-11
-22
0
0
0
0
8
-30
2
-54
56
0
0
0
0
-2
15
-9
-13
10
0
0
0
0
-15
-1
-11
-26
36
-17
-1
0
14
16
19
-27
6
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
3
-2
-27
-23
0
0
0
0
0
0
-12
-13
6
0
0
0
0
0
0
-21
-2
23
0
0
0
0
-1
1
-2
-4
-58
0
0
0
0
0
1
-1
7
-1
0
0
0
0
0
2
0
11
25
0
0
0
0
0
0
-4
3
43
0
0
0
0
0
0
8
-18
31
0
0
0
0
1
-18
4
-11
22
0
0
0
0
0
0
-2
7
42
0
0
0
0
0
-6
10
-7
5
0
0
0
0
0
-6
2
8
13
0
0
0
0
4
1
0
-28
-11
0
0
0
0
0
1
-1
-8
33
0
0
0
0
2
-4
4
0
12
0
0
0
0
0
2
-16
33
-23
0
0
0
0
0
1
4
10
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
1
0
0
-4
19
0
0
0
0
0
-2
-2
12
-6
0
0
0
0
-1
1
9
-18
-9
0
0
0
0
0
0
0
-6
10
0
0
0
0
0
0
-2
2
8
0
0
0
0
-1
0
0
3
13
0
0
0
0
3
-6
16
9
9
0
0
0
0
0
0
-1
16
9
0
0
0
0
0
0
9
-4
-10
0
0
0
0
0
0
3
-16
9
0
0
0
0
6
6
-2
-14
-47
0
0
0
0
0
0
0
21
15
0
0
0
0
-12
-8
24
-10
-15
0
0
0
0
-9
16
32
-12
-1
0
0
0
0
0
0
2
-2
37
0
0
0
9
0
-1
-1
-35
5
0
0
0
0
0
-1
0
-3
-13
0
0
0
0
0
-2
-15
-26
43
0
0
0
0
0
0
-2
0
-18
0
0
0
0
0
0
-2
-12
-26
0
0
0
0
0
0
1
3
-8
0
0
0
0
0
0
7
-3
-16
0
0
0
0
0
0
0
2
-2
0
0
0
-4
0
1
2
0
-16
0
0
0
0
0
-1
0
1
6
0
0
0
0
0
0
-2
1
4
0
0
0
0
0
0
-1
-13
9
0
0
0
3
0
1
-2
12
0
0
0
0
0
0
0
-2
0
5
0
0
0
0
0
1
-2
-20
22
0
0
0
0
0
0
0
10
50
0
0
0
-2
0
0
6
11
34
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
9
8
-3
0
0
0
0
0
0
-4
16
3
0
0
0
-4
0
0
0
21
12
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
2
-1
2
4
0
0
0
0
0
0
0
-8
36
0
0
0
-16
0
0
-1
4
25
0
0
0
0
0
0
0
5
7
0
0
0
3
0
-1
0
21
0
0
0
0
0
0
-1
0
-6
-8
0
0
0
8
0
0
9
-23
7
0
0
0
0
0
0
-6
-8
-6
0
0
0
25
0
-8
-7
-22
0
0
0
0
0
1
-10
-3
14
-3
0
0
0
0
0
0
0
12
-16
0
0
0
0
0
4
-11
20
11
0
0
0
0
0
0
-11
-2
5
0
0
0
0
0
0
3
1
1
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
4
-29
5
0
0
0
0
0
-4
8
3
-3
0
0
0
0
0
-1
2
12
-38
0
0
0
0
0
0
0
-6
18
0
0
0
0
0
0
6
1
-23
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-1
2
11
0
0
0
0
0
0
-1
-4
24
0
0
0
0
0
0
2
11
42
0
0
0
0
0
0
2
14
12
0
0
0
0
0
1
2
7
7
0
0
0
0
0
0
-1
-2
15
0
0
0
0
0
0
7
1
6
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
12
6
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
-2
-11
-4
0
0
0
0
0
0
0
3
2
0
0
0
0
0
-1
1
7
-1
0
0
0
0
0
0
3
-21
-1
0
0
0
0
0
0
3
0
-26
0
0
0
0
0
0
0
7
-11
0
0
0
0
0
0
3
-12
13
0
0
0
0
-1
0
-18
-3
1
0
0
0
0
0
0
-2
-8
-1
0
0
0
0
0
1
4
-1
10
0
0
0
0
0
0
8
-18
-8
0
0
16
0
0
-8
10
86
-18
0
0
0
0
0
0
-1
16
25
0
0
0
0
0
0
-6
2
6
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
1
29
14
-7
0
0
0
0
0
1
-1
0
-9
0
0
0
0
0
0
7
8
-21
0
0
0
0
0
0
1
19
-13
0
0
0
0
0
0
5
-24
15
0
0
0
0
0
0
-1
-11
18
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
2
-3
10
-2
0
0
0
0
0
-1
-15
45
24
0
0
0
0
0
0
-8
-1
1
0
0
0
0
0
0
2
-27
-13
0
0
0
0
0
0
1
0
-3
0
0
-2
0
0
0
-5
-1
7
0
0
0
0
0
0
-2
-6
-3
0
0
0
0
0
0
2
4
-3
0
0
0
0
0
0
-3
1
0
0
0
-2
0
0
0
18
-26
10
0
0
0
0
0
1
0
-46
15
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
-1
1
-4
1
0
0
2
0
0
0
19
26
10
0
0
0
0
0
0
2
-2
1
0
0
0
0
0
0
-7
2
3
0
0
0
0
0
3
6
20
-2
0
0
32
0
0
-14
5
16
-24
0
0
0
0
0
-1
-1
-16
5
0
0
0
0
0
0
2
-17
15
0
0
0
0
0
0
2
-48
-21
0
0
0
0
0
0
-9
2
6
0
0
0
0
0
1
6
4
-18
0
0
0
0
0
0
0
12
22
0
0
0
0
0
0
-2
-2
1
0
0
0
0
0
0
3
7
6
0
0
0
0
0
-2
18
-11
7
0
0
0
0
0
-1
15
-6
-10
0
0
0
0
0
0
10
-9
-16
0
0
0
0
0
1
-2
-21
-7
0
0
0
0
1
0
-2
0
52
0
0
0
0
0
0
-7
1
6
0
0
0
0
0
-1
-2
1
-1
0
0
0
0
-3
0
0
-13
-1
0
0
0
0
0
8
8
-12
10
0
0
0
0
0
-2
4
-6
-9
0
0
0
0
0
0
1
6
-1
0
0
0
0
0
0
0
-3
15
0
0
0
0
-1
0
2
2
-4
0
0
0
0
0
0
0
-17
-7
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
-4
0
-1
8
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
12
6
21
0
0
0
0
0
0
0
-19
-3
0
0
0
0
-1
0
1
7
-2
0
0
0
0
-2
-15
-5
7
-13
0
0
0
0
0
0
-3
6
9
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-2
12
9
0
0
0
0
0
0
3
10
7
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
6
12
5
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
-2
-24
13
0
0
0
0
0
0
3
-3
-25
0
0
0
0
0
0
-6
-13
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
-1
-11
1
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
-4
13
14
0
0
0
0
0
0
-1
0
1
0
0
0
3
0
0
-1
-6
-21
0
0
0
0
0
0
0
-10
12
0
0
0
0
0
0
8
1
2
0
0
0
0
0
0
0
1
2
0
0
0
0
0
1
-2
-13
2
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
10
-6
0
0
0
0
0
0
-1
0
-13
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
-2
2
0
0
0
0
0
0
0
0
-8
18
0
0
0
0
0
-1
-3
1
10
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-9
-11
13
0
0
0
0
0
0
10
-2
-8
0
0
0
0
0
0
0
-9
16
0
0
0
0
0
0
-7
-4
-1
0
0
0
0
0
0
0
-3
13
0
0
0
0
0
0
1
1
-13
0
0
0
0
0
0
0
-6
-7
0
0
0
0
0
0
0
-6
-21
0
0
0
0
0
0
1
3
11
0
0
0
0
0
0
-1
0
15
0
0
0
0
0
0
-1
3
-15
0
0
0
0
0
-1
-1
8
8
0
0
0
0
0
0
2
22
-8
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
-6
-7
0
0
0
0
0
1
-3
4
2
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
-1
21
9
-26
0
0
0
0
0
3
13
-13
12
0
0
0
0
0
0
-3
-22
11
0
0
0
0
0
0
-6
33
-8
0
0
0
0
0
6
16
-36
-11
0
0
0
0
0
0
7
0
-10
0
0
0
0
0
-1
4
41
1
0
0
0
0
0
0
-3
3
-9
0
0
0
0
0
-16
-19
-14
11
0
0
0
0
0
0
8
-2
8
0
0
0
0
0
-1
3
-11
11
0
0
0
0
0
0
1
13
-3
0
0
0
0
0
6
-10
2
-3
0
0
0
0
0
0
-4
-6
-12
0
0
0
0
0
0
7
-4
-25
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
-1
-17
33
6
0
0
0
0
0
12
3
9
-1
0
0
0
0
0
0
-2
-2
-27
0
0
0
0
0
-1
4
-1
15
0
0
0
0
0
-4
-4
-22
17
0
0
0
0
0
-2
0
1
-2
0
0
0
0
0
0
6
-6
9
0
0
0
0
0
0
-1
-4
-7
0
0
0
0
0
1
1
9
0
0
0
0
0
0
4
0
-7
13
0
0
0
0
0
-1
-3
-2
-12
0
0
0
0
0
-1
0
-11
1
0
0
0
0
0
2
-1
0
3
0
0
0
0
0
2
6
-24
-4
0
0
0
0
0
-1
16
7
-10
0
0
0
0
0
7
12
1
6
0
0
-1
0
0
6
-14
-16
41
0
0
0
0
11
-2
-2
-1
-29
0
0
0
0
0
0
0
3
-15
0
0
0
0
0
0
0
7
-25
0
0
0
0
0
0
2
36
0
0
0
0
0
0
-1
10
6
3
0
0
0
0
0
-2
0
0
9
0
0
0
0
0
0
-2
1
-1
0
0
0
0
0
0
8
-15
-23
0
0
0
0
1
0
-3
-3
0
0
0
0
0
0
0
-3
0
8
0
0
0
0
0
-1
-8
14
8
0
0
0
0
0
7
-1
-27
29
0
0
0
0
-1
0
7
-2
53
0
0
0
0
0
0
-2
-4
18
0
0
0
0
-1
2
-15
5
26
0
0
0
0
0
-7
-8
23
-38
0
0
0
0
0
0
-3
-3
-3
0
0
0
0
0
0
-1
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
12
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
-6
0
-18
0
0
0
0
0
0
1
-7
8
0
0
0
0
0
-1
0
-6
8
0
0
0
0
0
-1
-1
1
0
0
0
0
0
-6
2
5
16
61
0
0
0
0
0
0
0
-8
-2
0
0
0
0
-1
0
-7
7
-16
0
0
0
0
1
-10
1
6
4
0
0
0
0
0
0
2
11
-1
0
0
0
6
0
0
-1
-1
-32
0
0
0
0
0
0
0
-3
-12
0
0
0
0
0
-2
-1
-8
0
0
0
0
0
0
-3
0
-2
-22
0
0
0
0
0
0
3
-11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-6
12
0
0
0
0
0
0
0
19
5
0
0
0
0
0
0
2
32
-3
0
0
0
0
0
0
0
-13
26
0
0
0
0
0
2
2
-11
19
0
0
0
0
0
0
0
-1
-18
0
0
0
3
0
0
-11
-2
11
0
0
0
0
0
0
0
-15
-1
0
0
0
-1
0
0
-7
-20
13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-9
-7
0
0
0
0
0
0
0
11
-15
0
0
0
0
0
0
1
4
-1
0
0
0
0
0
0
2
-9
1
0
0
0
0
0
0
0
-19
11
0
0
0
6
0
0
3
-36
-14
0
0
0
0
0
0
0
-6
-47
0
0
0
3
0
-1
-7
-4
33
0
0
0
0
0
0
3
-5
-10
0
0
0
0
0
0
0
-4
-11
0
0
0
0
0
-3
2
4
21
0
0
0
0
0
0
0
-14
28
0
0
0
0
0
0
0
10
13
0
0
0
0
0
0
0
13
-13
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
4
8
13
0
0
0
0
0
1
2
10
-11
0
0
0
0
0
0
0
-59
15
0
0
0
0
-1
0
-7
16
3
0
0
0
0
0
-2
1
12
1
0
0
0
0
0
0
1
0
6
0
0
0
0
0
0
-1
2
-6
0
0
0
0
0
2
8
-11
-3
0
0
0
0
0
0
1
-24
2
0
0
0
0
1
0
-1
-2
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
-2
-7
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
24
-20
0
0
0
0
0
0
0
6
-1
0
0
0
0
0
0
-1
12
-4
0
0
0
0
-1
-4
0
8
-15
0
0
0
0
0
0
-1
0
18
0
0
0
0
0
-1
-1
32
-4
0
0
0
0
0
0
2
-8
29
0
0
1
0
0
-1
-2
-3
4
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
2
2
-16
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
-1
14
-15
-1
0
0
0
0
0
0
19
13
1
0
0
0
0
0
0
19
-36
-7
0
0
0
0
0
0
-1
-15
-10
0
0
0
0
0
2
-22
-16
-3
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
1
-1
-7
3
0
0
0
0
0
1
-1
14
-11
0
0
0
0
0
-2
6
-30
-3
0
0
0
0
0
3
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
3
-7
-2
0
0
0
0
0
0
-3
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
-11
-1
0
0
1
0
0
0
0
-13
0
0
0
0
0
0
-4
0
9
-20
0
0
0
0
0
0
-1
-7
13
0
0
0
0
0
0
1
12
1
0
0
0
0
0
-2
0
-15
-20
0
0
0
0
0
0
0
1
25
0
0
0
0
0
0
0
-19
17
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
8
-2
-2
13
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
2
-3
4
0
0
0
0
0
0
0
-12
8
0
0
0
0
0
0
1
2
-9
0
0
0
0
0
0
1
-3
8
0
0
0
0
0
-2
2
-2
7
0
0
0
0
0
0
1
0
6
0
0
0
0
-2
0
-2
1
1
0
0
0
0
0
0
0
-6
16
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
1
0
2
0
0
0
0
0
-1
1
-3
0
0
0
0
0
0
0
2
-7
2
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
1
-2
1
9
0
0
0
0
0
1
1
2
6
0
0
0
0
2
0
0
-2
0
0
0
0
0
-1
-3
-1
5
-5
0
0
0
0
0
0
0
0
25
0
0
0
0
0
-3
0
6
3
0
0
0
0
0
0
1
-1
2
0
0
0
0
0
0
-7
-19
19
0
0
0
0
0
0
0
2
14
0
0
0
0
0
0
2
18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
7
-1
10
0
0
0
0
0
0
1
-6
-16
0
0
0
0
0
0
-1
0
8
0
0
0
0
0
0
0
2
-11
0
0
0
0
0
-1
0
-3
-4
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
1
-8
-2
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
-1
-30
9
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
2
0
0
0
-1
0
0
0
-2
-20
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-10
52
-11
0
0
0
0
0
1
-2
-4
22
0
0
0
0
0
0
1
19
36
0
0
0
0
0
0
0
3
-21
0
0
0
0
0
0
-3
16
3
0
0
0
0
0
0
0
1
-18
0
0
0
0
0
0
1
0
-8
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
-2
0
0
0
0
-1
0
1
1
16
0
0
0
0
0
0
-3
2
-11
0
0
0
0
0
0
0
7
8
0
0
0
0
0
0
0
-1
2
0
0
0
0
-1
0
0
0
3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-2
0
-1
11
0
0
0
0
0
-1
-1
0
11
0
0
0
0
0
0
-2
-1
7
0
0
0
0
0
0
0
10
-24
0
0
0
0
0
0
-1
-2
-27
0
0
0
0
0
0
0
11
-4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-1
0
0
0
0
0
0
0
8
2
0
0
0
0
0
-1
0
1
6
0
0
0
0
0
2
0
-5
0
0
0
0
0
0
-2
0
-6
-7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
-2
-2
-1
0
0
0
0
1
1
3
-42
16
0
0
0
0
0
-8
0
3
5
0
0
0
-1
0
0
0
-20
43
0
0
0
0
0
0
3
-1
-1
0
0
0
0
0
4
10
-8
-4
0
0
0
0
0
0
0
0
22
0
0
0
0
0
1
-34
-4
-12
0
0
0
0
0
0
2
0
-3
0
0
0
0
0
0
-26
22
-4
0
0
0
0
0
0
17
-10
21
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
1
-3
8
-19
0
0
0
0
0
-11
-14
-18
37
0
0
0
0
0
0
-3
2
2
0
0
0
0
0
0
2
0
-21
0
0
0
0
0
-2
2
-3
-9
0
0
0
0
0
-7
14
-17
-4
0
0
0
0
0
6
6
0
5
0
0
0
-1
0
-1
0
7
20
0
0
0
0
0
0
-1
3
19
0
0
0
0
0
1
-12
1
5
0
0
0
0
0
0
-1
2
9
0
0
0
0
0
0
-4
4
-27
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
7
1
-9
-24
0
0
0
0
0
-1
3
10
-36
0
0
0
0
0
0
0
-4
5
0
0
-1
0
0
1
-20
4
24
0
0
0
0
0
-2
0
-5
-6
0
0
0
0
0
-2
3
-1
13
0
0
0
0
0
0
1
4
7
0
0
0
0
0
-8
5
-7
-6
0
0
0
0
1
-7
7
12
4
0
0
0
0
0
0
0
-6
13
0
0
0
0
3
0
-3
-24
6
0
0
0
0
0
0
4
-9
0
0
0
0
0
-2
1
1
0
17
0
0
0
0
0
-3
0
2
-11
0
0
0
0
0
0
-1
-3
-2
0
0
0
0
0
3
-6
-15
18
0
0
0
0
-2
8
7
16
-16
0
0
0
0
0
0
-2
-6
4
0
0
0
0
0
0
-3
0
6
0
0
0
0
0
0
0
1
0
0
0
0
0
1
2
0
3
9
0
0
0
0
0
-1
3
3
9
0
0
0
0
0
2
-4
8
7
0
0
0
0
0
-1
6
-41
2
0
0
0
0
1
-2
7
-9
-22
4
0
0
0
0
0
-1
-4
-1
2
0
0
0
0
0
0
6
17
-4
0
0
0
0
1
-6
0
12
-20
0
0
0
0
0
3
-2
-8
-26
0
0
0
0
0
0
-7
8
23
0
0
0
0
0
0
-1
-10
7
0
0
0
0
-2
6
0
1
-12
0
0
0
3
-6
7
2
12
34
0
0
0
0
0
0
0
15
35
0
0
0
0
-1
2
2
5
25
0
0
0
0
-1
-9
-13
-5
42
0
0
0
3
0
-6
6
0
21
0
0
0
0
1
1
8
-4
10
0
0
0
9
3
-1
9
35
-5
0
0
0
-6
-10
21
6
8
-21
0
0
0
0
0
1
10
3
0
0
0
18
0
0
0
8
-27
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
-2
6
21
0
0
0
0
0
1
0
-2
-8
0
0
0
0
0
0
2
-3
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
-3
-8
15
0
0
0
0
0
0
0
-3
11
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
-16
-3
0
0
0
0
0
0
0
2
3
0
0
0
-1
0
0
0
7
24
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
-10
29
0
0
0
0
0
0
0
10
-3
6
0
0
15
0
0
0
25
-2
-9
0
0
0
0
0
0
-13
-14
66
0
0
0
0
0
0
4
-3
21
0
0
0
0
-1
0
-19
-1
-7
0
0
0
0
0
-1
-1
9
-6
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
6
3
-10
-14
0
0
0
0
0
-3
6
-14
48
0
0
-13
0
0
0
-42
11
32
0
0
0
0
0
0
-6
3
15
0
0
0
0
0
0
0
-8
-7
0
0
0
0
0
0
9
34
-22
0
0
-1
0
0
1
20
1
7
0
0
0
0
0
-1
7
8
-33
0
0
-3
0
0
3
-26
-21
12
0
0
0
0
0
-3
-10
4
0
0
0
0
0
0
0
-3
9
0
0
0
0
0
0
-1
-6
-3
0
0
0
0
0
-1
-1
-11
0
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
-1
-12
1
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
-11
10
0
0
0
0
0
0
0
-11
13
0
0
0
0
2
0
0
2
0
44
0
0
0
0
0
0
-4
6
18
0
0
0
0
0
2
-18
-10
-8
0
0
0
0
0
0
-6
-10
30
0
0
0
0
0
2
-3
1
-32
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
-2
0
-8
0
0
0
0
0
2
1
0
5
0
0
0
0
0
0
-4
-13
35
0
0
0
0
0
0
-1
-1
15
0
0
0
0
0
0
6
1
-12
0
0
0
0
0
0
-5
4
10
0
0
0
0
0
2
-2
7
-18
0
0
0
0
0
0
-7
1
-3
0
0
0
1
0
1
-8
0
-30
0
0
0
0
0
-9
7
-16
-2
0
0
0
0
-2
0
3
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-4
-1
0
0
-3
0
0
0
-4
-5
17
0
0
0
0
0
0
3
-4
-1
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
1
6
-1
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
3
-1
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-2
-1
7
-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
14
0
0
0
0
0
0
2
1
-10
0
0
0
0
0
0
0
-3
2
27
0
0
0
0
0
0
-16
-2
41
0
0
0
0
0
-2
19
-6
-34
0
-2
0
0
1
-6
27
-1
-42
0
0
0
0
0
-1
-2
0
-35
0
0
0
0
0
3
-4
0
-38
0
0
0
0
0
1
-4
0
32
0
1
0
0
0
-1
11
0
30
0
0
0
0
-1
1
-6
-3
6
0
0
0
0
-2
-1
-5
-2
28
0
0
0
0
0
-2
-2
0
-5
0
8
0
0
2
2
16
0
-1
0
0
0
0
0
-2
-20
28
-30
0
0
0
0
0
1
-18
1
17
0
0
0
0
-1
0
4
13
-24
0
10
0
0
7
-10
8
-15
12
0
0
0
0
0
-4
10
28
0
0
0
0
0
0
0
-4
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-13
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
-1
0
0
0
0
0
0
0
0
1
0
10
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
2
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
-2
2
-1
9
0
0
0
0
-1
0
-2
1
-4
-9
0
0
0
0
0
0
-3
4
-48
0
0
0
0
0
1
-1
0
50
0
0
0
0
0
-6
-8
6
-5
0
0
0
1
1
-1
0
-5
18
0
0
0
0
0
-2
1
0
-26
0
0
0
0
0
0
9
-1
6
0
0
0
0
-1
2
0
-4
2
0
0
0
0
-1
-4
-1
2
4
0
0
0
0
0
0
-1
6
11
0
0
0
0
0
0
-2
-2
0
0
0
0
0
1
0
0
0
-13
0
0
0
0
-1
-2
1
28
-7
0
0
0
0
0
0
-1
2
1
0
0
0
0
1
0
3
1
13
0
0
0
0
-1
15
28
3
-33
0
0
0
0
0
0
2
15
0
0
0
0
0
0
0
2
-15
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
-11
12
0
0
0
0
0
0
-3
0
8
0
0
0
0
0
0
-2
0
-9
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-9
3
-2
0
0
0
0
0
0
0
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
-1
1
-1
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
13
0
0
0
0
0
1
4
-1
0
0
0
0
0
0
0
0
-2
-1
28
0
0
0
0
0
0
7
9
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
-1
-1
-10
1
17
0
0
0
0
0
0
-3
-8
-4
0
0
0
0
0
8
3
8
-28
0
0
0
0
0
0
0
0
-43
0
0
0
0
-1
-2
4
-1
-20
0
0
0
0
0
0
3
7
1
0
0
0
0
0
0
2
3
-10
0
0
0
0
0
0
0
0
21
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
7
9
-20
0
0
0
0
0
0
2
-4
-3
0
0
0
0
0
1
3
4
-15
0
0
-1
0
1
2
-29
-6
18
0
0
0
0
0
0
7
3
0
0
0
0
0
0
0
0
35
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
8
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
3
-2
22
0
0
0
0
0
-1
0
3
5
0
0
0
0
0
-1
2
0
55
0
0
0
0
0
0
-3
0
-21
0
0
0
1
0
-3
-1
10
-23
0
0
0
0
0
0
2
-1
8
0
0
0
2
0
0
-1
0
18
0
0
0
0
0
1
1
-4
-1
0
0
0
0
0
0
0
-1
-11
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
6
0
0
0
2
0
0
0
-2
-24
0
0
0
0
0
0
1
0
-8
0
0
0
0
0
1
2
2
-39
0
0
0
0
0
3
-49
30
-14
0
0
0
0
-1
1
-3
27
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-8
6
0
0
-1
0
0
3
6
-11
13
0
0
0
0
0
-1
0
1
1
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
3
-2
3
0
0
0
0
0
0
2
1
0
-21
0
0
0
0
0
1
-2
10
5
0
0
0
0
1
0
-8
0
-23
0
0
0
0
2
-14
0
1
-47
0
0
0
0
0
-1
0
-6
-7
0
0
0
0
0
7
-4
3
16
0
0
0
0
0
0
-6
0
-28
0
-1
0
0
0
0
19
0
-43
0
0
0
0
0
0
-6
0
23
0
0
0
0
0
0
0
-2
-11
0
0
0
0
0
-1
0
0
-30
0
0
0
0
0
0
3
0
8
0
0
0
0
-1
0
1
-3
-4
0
0
0
0
1
1
-2
2
19
0
0
0
0
-1
2
-8
3
16
0
0
0
0
9
-8
-22
6
42
0
0
0
-1
1
-20
-15
8
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
-1
4
-9
0
0
0
0
0
-2
2
-6
9
0
0
0
0
1
0
-1
2
12
0
0
0
0
0
0
0
7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-4
0
0
0
0
0
1
-20
5
11
0
0
0
0
0
0
0
4
13
0
0
0
0
0
0
4
-27
-12
0
0
0
0
0
0
9
10
11
0
0
0
0
-1
-2
3
0
16
0
0
0
0
0
0
0
1
-3
0
0
0
0
1
0
0
-9
-7
0
0
0
0
0
-3
7
-3
11
0
0
0
0
-3
9
-7
0
0
5
0
0
0
0
0
-1
0
4
30
0
0
0
0
0
0
0
2
-20
0
0
0
0
0
2
-7
1
-12
0
0
0
0
0
4
2
2
36
0
0
0
0
0
1
-2
1
5
0
0
0
1
-1
1
0
1
-21
0
0
0
0
0
-1
1
1
-24
0
0
0
0
0
-2
11
-24
-26
33
0
0
0
-1
2
13
14
-18
15
0
0
0
6
1
-18
40
-35
9
0
0
0
0
2
-22
-8
43
-10
0
0
-3
-1
7
-13
-19
-61
30
0
0
0
0
1
-19
-2
45
-33
0
0
-1
-2
0
0
21
25
-15
0
0
-7
-11
44
-7
27
-6
12
0
0
0
0
-1
-15
34
0
0
0
-7
0
0
0
4
12
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
-2
-8
-8
0
0
0
0
0
-1
0
6
-2
0
0
0
0
0
1
-3
-22
1
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
-15
9
0
0
0
0
0
-1
-1
7
-15
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
10
7
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
1
0
-9
-3
0
0
0
0
0
0
-1
7
-2
7
0
0
1
0
0
0
-8
12
-6
0
0
0
0
0
0
-3
-7
9
0
0
0
0
0
-1
7
-17
-12
0
0
0
0
0
-1
-6
-6
1
0
0
-1
0
0
1
-2
2
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-1
0
-1
15
0
0
0
0
1
1
5
18
-43
70
0
-4
0
0
0
8
-32
31
35
0
0
0
0
1
-57
5
-5
-3
0
0
0
2
-1
5
4
-11
-1
0
0
0
-1
0
15
-9
-16
6
0
-16
0
0
-13
16
8
11
9
0
0
0
1
0
-18
15
-36
-26
0
-1
0
-1
8
6
10
-14
16
0
0
0
0
0
5
3
0
0
0
0
0
0
-2
-6
20
0
0
0
0
0
0
-1
11
2
0
0
0
0
0
0
0
-13
2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-6
1
-3
0
0
0
0
0
0
2
1
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
1
3
0
0
0
0
0
0
0
2
7
0
0
0
0
0
2
-1
-4
-2
0
0
0
0
0
0
0
23
-3
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
-1
-1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-19
0
0
0
0
0
0
-28
-13
2
0
0
0
0
1
0
2
-15
14
0
0
0
0
0
0
-6
-12
-7
0
0
0
0
0
1
0
0
-7
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
4
-13
-13
0
0
0
0
0
-15
9
-25
7
0
0
0
1
1
-17
4
20
-33
0
0
0
0
-2
9
3
-60
6
0
0
0
0
0
8
2
1
-62
0
0
0
0
0
1
-6
-1
29
0
0
0
0
0
5
-1
-8
4
0
0
-1
0
-24
0
16
-5
-7
0
0
0
0
3
-19
19
0
0
0
0
0
0
0
-27
13
0
0
0
0
0
0
0
27
-8
0
0
0
0
0
-1
8
-12
32
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-8
4
0
0
0
0
0
3
0
8
-2
0
0
0
0
0
0
0
-26
1
0
0
0
0
0
-1
1
-8
0
0
0
0
0
0
1
4
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
2
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
2
1
-10
0
0
0
0
0
0
2
0
7
-3
0
0
0
0
0
-1
18
13
-10
0
0
0
0
0
0
-3
1
-25
0
4
0
0
0
0
-9
-1
14
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
0
-3
0
-1
0
0
0
0
-1
0
3
0
0
0
0
0
13
13
0
-36
19
0
0
0
0
-9
4
14
-14
-7
0
0
0
0
-2
-8
-4
16
12
-29
0
0
0
-12
-68
-4
12
14
0
0
0
1
2
35
3
-25
2
0
0
0
0
0
26
0
-4
4
0
0
0
-3
0
2
0
8
-15
-23
0
0
-6
16
-1
3
8
-11
0
0
-3
19
12
2
40
0
0
0
0
0
1
2
-2
4
0
0
0
0
0
0
-13
-21
20
0
0
0
0
0
0
-8
-15
-11
0
0
0
0
0
0
-3
-4
4
0
0
0
0
0
1
-7
10
-2
0
0
0
0
-1
-1
0
1
1
0
0
0
0
0
0
2
2
-21
0
0
0
0
6
3
2
-3
-9
0
0
0
0
0
-1
-2
2
-6
0
0
0
0
0
1
-2
-14
-3
0
0
0
0
0
0
-7
7
13
0
0
0
0
0
0
0
-7
3
0
0
0
0
0
0
0
1
11
0
0
0
0
0
0
0
6
8
0
0
0
0
0
3
-9
-1
2
0
0
0
0
0
1
9
0
19
-4
0
0
0
0
0
2
10
9
6
0
0
0
0
0
0
-4
10
-4
0
0
0
0
0
1
10
-3
5
0
0
0
-3
0
-1
1
14
4
0
0
0
0
0
0
1
9
11
0
0
0
0
1
0
0
2
-12
0
0
0
0
0
0
0
0
-5
0
0
0
-7
0
4
21
-16
-15
33
0
0
0
0
0
7
14
-30
46
0
0
0
0
0
-6
10
-7
-42
0
0
0
0
-1
-8
0
-7
12
0
0
7
2
-6
-7
6
18
-15
0
0
0
0
0
6
6
-19
12
0
0
0
0
0
-7
-16
1
11
0
0
11
3
-3
-1
16
-23
6
0
0
0
0
3
-8
22
0
0
0
-7
0
0
0
-17
15
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
7
-9
-17
0
0
0
0
0
1
-1
-4
0
0
0
0
0
0
0
-6
-13
-8
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-7
0
-4
0
0
0
0
0
0
-1
15
3
0
0
0
-4
0
0
0
12
27
0
0
0
0
0
0
0
-8
-4
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
2
-4
0
0
0
-3
0
0
0
0
-18
0
0
0
0
0
0
-3
0
1
0
0
0
-1
0
0
-1
-1
16
0
0
0
0
0
0
0
2
6
-15
0
0
-12
0
0
1
-3
4
-19
0
0
0
0
1
1
0
0
-5
0
0
0
0
0
0
9
-6
50
0
0
0
0
0
1
-2
4
-3
0
0
0
0
0
-1
-2
28
-11
0
0
0
0
0
0
0
0
-8
0
0
0
0
1
0
1
-6
-18
0
0
0
0
0
0
-2
-11
18
59
0
3
0
0
1
-8
6
-11
-59
0
0
0
0
0
3
-2
-15
19
0
0
0
0
-2
-8
-3
0
3
0
0
0
0
0
1
-10
-19
25
0
12
0
0
1
-2
-11
-4
15
0
0
0
0
0
1
0
21
-25
0
-10
0
0
-17
31
-26
-18
-27
0
0
1
-9
0
-1
34
0
0
0
0
0
0
-2
8
-17
0
0
0
0
0
0
-1
5
7
0
0
0
0
0
0
-9
-16
7
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
2
8
11
6
0
0
0
0
-3
0
0
15
6
0
0
0
0
0
0
0
0
-19
0
0
0
0
-2
0
0
-4
-4
0
0
0
0
0
0
-2
-32
-8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
1
1
0
4
-7
0
0
0
0
0
0
0
8
0
0
0
0
0
0
4
-2
3
17
-38
0
0
0
0
0
1
8
-20
-20
0
0
0
0
1
0
-11
-18
-36
0
0
0
0
0
3
-19
2
-28
0
0
0
2
-2
1
0
1
1
0
0
0
0
0
0
-2
-3
0
0
0
0
-2
0
0
2
-1
-10
0
0
0
0
-1
0
-2
0
0
0
0
0
1
1
-3
-13
-13
47
-13
0
0
0
-1
0
19
-10
14
-58
0
0
0
-3
0
-16
0
-7
26
0
0
0
0
0
2
-1
-25
-38
0
0
4
0
4
-3
-2
15
5
0
0
0
0
0
-2
15
-8
29
0
0
-3
1
1
-7
-4
-4
27
0
0
0
9
-9
-5
13
-10
-7
0
0
-11
2
39
2
32
0
0
0
5
0
10
-14
31
-12
0
0
0
0
26
13
-3
-30
1
0
0
1
0
0
6
33
7
-33
0
0
0
0
-3
1
9
-27
16
0
0
0
2
0
-1
-10
-12
52
0
0
0
0
0
0
12
38
-38
0
0
0
0
1
6
-11
25
-17
0
0
0
0
1
21
-20
-7
13
0
0
0
-2
0
-3
25
-45
-8
0
0
0
0
-1
-1
-27
-34
29
0
0
-1
0
0
-5
10
-36
-6
0
0
0
0
-2
-16
4
23
-11
0
0
0
-7
0
-1
-11
-2
6
0
0
0
0
-1
13
-14
6
-17
0
0
7
0
-6
-11
8
-6
-37
0
0
0
0
-1
-1
15
-33
40
11
0
0
-5
0
9
-16
-30
-3
39
0
0
0
-2
0
-10
-13
1
24
0
20
0
-1
16
-11
7
33
-10
0
0
0
4
15
23
17
-30
4
0
0
-9
0
-8
2
-36
-23
18
0
0
0
0
2
2
-24
5
8
0
0
0
1
10
-4
8
11
-13
0
0
0
16
-13
-15
-35
43
-15
-20
0
-19
0
1
6
-10
-45
-26
58
0
0
0
7
14
-35
-5
0
-7
-21
0
-1
-15
-28
56
-35
-24
21
0
0
8
-4
-37
11
12
20
-20
0
20
0
-13
-22
44
1
-44
24
0
0
-3
-15
-43
-47
12
-25
16
-28
-2
0
-8
13
-27
20
0
-10
0
0
16
-2
-8
-13
-29
0
0
0
0
0
-3
-1
6
13
0
0
0
0
0
1
-1
-5
10
0
0
0
0
0
0
-13
-9
10
0
0
0
0
0
0
-2
-2
-3
0
0
0
0
0
2
-9
0
12
0
0
0
0
0
0
4
1
21
0
0
0
0
0
-3
-4
9
-23
0
0
0
0
-1
1
-2
-2
20
0
0
0
0
0
-2
0
-10
10
0
0
0
0
0
0
-1
1
10
0
0
0
0
0
0
1
10
6
0
0
0
0
0
1
6
-4
24
0
0
0
0
0
0
1
-1
21
0
0
0
0
0
1
-1
-27
37
0
0
0
0
0
-11
24
5
-11
0
0
0
0
-4
0
-1
2
1
0
0
0
0
0
0
0
-2
-12
0
0
0
0
0
0
1
12
-1
0
0
0
0
0
0
-4
0
13
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
1
-7
40
0
0
0
0
0
0
0
2
-19
0
0
0
0
-1
-2
3
13
3
0
0
0
0
0
1
0
11
-16
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
1
4
14
0
0
0
0
1
1
11
9
0
0
0
0
0
0
0
15
17
9
0
0
0
0
1
1
0
6
-32
0
0
0
0
-7
0
-3
9
-7
0
0
0
0
0
0
0
1
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-37
33
0
0
0
0
0
1
-1
-25
16
0
0
0
0
0
0
1
0
5
0
0
0
0
0
0
0
4
-10
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
-4
-34
9
0
0
0
0
0
0
0
12
38
0
0
0
0
0
0
0
-3
-28
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
-2
3
-4
12
0
0
0
0
0
0
-2
-8
23
0
0
0
0
0
0
1
7
-1
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
1
0
29
-30
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-6
-4
0
0
0
-2
0
0
0
18
13
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
-17
-10
0
0
0
0
0
0
0
1
2
0
0
0
0
0
-1
1
2
24
0
0
0
0
0
0
-1
-17
0
0
0
0
4
0
0
-2
8
23
0
0
0
0
0
0
0
2
23
0
0
0
4
0
1
0
-10
19
0
0
0
0
0
-4
4
10
34
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
2
1
-13
0
0
0
0
0
-2
2
-1
-18
0
0
0
0
0
0
-2
-4
-18
0
0
0
0
0
0
0
-1
-19
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-9
4
24
0
0
0
0
0
0
-3
-35
-3
0
0
0
0
0
0
3
-3
19
0
0
0
0
0
0
1
-4
21
0
0
0
0
0
0
-1
-5
-3
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
-9
1
0
0
0
0
0
0
0
-13
12
0
0
0
0
0
-1
0
-12
2
0
0
0
0
0
0
1
2
-8
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
1
-2
-2
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
-2
3
-1
0
0
0
0
0
0
-1
2
-8
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
-1
-6
0
0
0
0
0
-2
0
0
16
0
0
0
0
0
0
0
-11
-1
0
0
0
0
0
0
0
-9
10
0
0
0
0
0
0
2
-2
-2
0
0
0
0
0
0
0
5
24
0
0
0
0
0
0
7
8
-10
0
0
0
0
0
0
-1
-10
3
0
0
0
0
0
-1
4
-4
11
0
0
0
0
0
-1
4
1
4
0
0
0
0
0
0
-9
7
13
0
0
0
0
0
0
2
-8
27
0
0
-2
0
0
0
-12
-9
5
0
0
0
0
0
0
3
1
-3
0
0
0
0
0
0
-3
-9
-5
0
0
0
0
0
0
0
4
-21
0
0
0
0
0
0
3
16
32
0
0
0
0
0
0
5
-13
13
0
0
0
0
0
0
9
2
11
0
0
0
0
0
0
-3
-36
12
0
0
-1
0
0
0
0
-8
-4
0
0
0
0
0
0
-19
8
30
0
0
0
0
0
0
-2
-4
10
0
0
0
0
0
0
-8
29
-6
0
0
0
0
0
0
5
6
0
0
0
0
0
0
0
-1
11
-11
0
0
0
0
0
0
-4
6
-12
0
0
0
0
0
0
-1
3
1
0
0
0
0
0
1
10
7
6
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
0
-1
-10
4
0
0
0
0
0
0
-12
0
8
0
0
1
0
0
0
2
6
1
0
0
0
0
0
0
-2
0
13
0
0
0
0
0
0
-3
3
5
0
0
0
0
0
0
-3
6
2
0
0
1
0
0
0
-11
14
-10
0
0
0
0
0
0
9
-1
1
0
0
0
0
0
0
-11
-7
6
0
0
0
0
0
0
10
0
17
0
0
10
-1
0
-1
-17
2
-17
0
0
0
0
0
0
7
0
3
0
0
0
0
0
0
-2
0
-19
0
0
0
0
0
0
-1
0
10
0
0
0
0
0
0
0
8
-10
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
3
-1
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
7
-7
3
0
0
0
0
0
0
2
-6
-10
0
0
0
0
0
0
0
-16
3
0
0
0
0
0
0
0
0
6
0
0
0
0
0
1
7
6
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
1
7
0
0
0
0
0
0
-7
16
3
0
0
0
0
0
0
1
-3
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-8
-21
0
0
0
0
0
0
0
3
-9
0
0
0
0
0
0
0
2
13
0
0
0
0
0
-1
4
-1
3
0
0
0
0
0
0
2
-3
-20
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
1
-1
2
0
0
0
0
0
2
11
-2
-12
0
0
0
0
0
0
1
-3
26
0
0
0
0
0
0
-1
4
5
0
0
0
0
0
0
1
-3
-18
0
0
0
0
0
0
-3
-11
16
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-2
-11
0
0
0
0
0
0
-1
0
3
0
0
0
0
0
1
0
3
6
0
0
0
0
0
0
0
1
-13
0
0
0
-1
0
0
0
-6
6
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
-2
-6
-10
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
-1
0
19
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
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
6
1
0
0
0
0
0
0
1
1
25
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
-1
3
1
0
0
0
0
0
0
-3
-6
17
0
0
0
1
0
0
0
0
6
0
0
0
0
0
0
-6
0
-9
0
0
0
0
0
0
22
-7
-22
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
1
-8
0
0
0
0
0
-1
0
0
13
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
1
0
0
0
0
0
1
-1
-11
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-9
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
-1
-6
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
1
-5
-2
4
0
0
0
0
0
3
8
-6
-6
0
0
0
0
0
2
-4
1
4
0
0
0
0
0
0
6
9
-2
0
0
0
0
0
3
-12
22
10
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
2
-3
-8
13
0
0
0
0
0
1
2
2
-6
0
0
0
0
0
3
2
1
9
0
0
0
0
0
3
4
4
-11
0
0
0
0
0
-1
2
-22
-8
0
0
0
0
0
0
13
-3
2
0
0
0
0
0
0
6
-6
0
0
0
0
0
0
0
-3
-2
-16
0
0
0
0
0
0
3
-2
-3
0
0
0
0
0
-3
7
-2
0
0
0
0
0
0
-4
4
-1
8
0
0
0
0
0
11
-8
1
7
0
0
0
0
0
-1
-2
-6
15
0
0
0
0
0
0
4
1
-1
0
0
0
0
0
3
6
-12
0
0
0
0
0
0
0
-11
2
1
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
10
3
-2
0
0
0
0
0
-4
5
6
0
0
0
0
0
0
-6
-6
6
8
0
0
0
0
0
0
-1
7
-1
0
0
0
0
0
2
-12
4
0
0
0
0
0
0
-9
-15
4
-7
0
0
0
0
0
2
11
-2
-16
0
0
0
0
0
-1
2
-10
0
0
0
0
0
0
1
-16
1
51
0
0
0
0
0
4
-11
-3
13
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
-4
-1
0
0
0
0
0
-1
0
8
-8
-37
0
0
0
0
0
1
1
2
15
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
-9
9
28
0
0
0
0
0
1
1
-4
-20
0
0
0
0
0
0
0
-3
32
0
0
0
0
0
-2
0
13
6
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
-3
2
5
0
0
0
0
0
-1
0
2
24
0
0
0
0
0
0
1
2
32
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
-6
1
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
1
-3
-2
0
0
0
0
0
0
-2
1
-11
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
2
0
-7
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-4
1
5
0
0
0
0
0
0
0
-6
10
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
-8
5
10
0
0
0
0
0
0
1
-7
10
0
0
0
1
0
0
0
-9
-19
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
15
0
-4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-10
-12
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
1
9
13
0
0
0
0
0
0
0
1
15
0
0
0
0
0
0
0
-10
-12
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
-1
6
19
0
0
0
0
0
0
0
0
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
3
11
0
0
0
0
0
0
-1
-2
1
0
0
0
1
0
0
0
-3
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
-15
0
0
0
-2
0
0
2
-1
4
0
0
0
0
0
0
-1
-2
-3
0
0
0
1
0
0
-7
1
-6
0
0
0
0
0
0
0
-1
21
0
0
0
0
0
-1
0
2
34
0
0
0
0
0
2
0
6
-14
0
0
0
0
0
-1
7
-12
0
0
0
0
0
0
0
0
3
-32
0
0
0
0
0
0
1
-7
-15
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
-4
-7
-15
0
0
0
0
0
0
1
0
15
0
0
0
0
0
0
0
-9
42
0
0
0
0
0
0
0
1
-18
0
0
0
0
0
0
0
-9
9
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-1
0
0
12
0
0
0
0
0
-1
3
4
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-12
-4
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
-7
3
4
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
-3
1
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-6
0
0
0
0
0
0
-1
0
-3
2
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
-1
-1
-13
16
-14
0
0
0
0
0
0
-2
-7
15
0
0
0
0
0
0
1
14
3
0
0
0
0
0
0
4
0
-12
0
0
0
0
0
0
7
-3
-21
0
0
0
0
0
0
-6
-7
-8
0
0
0
0
0
-1
-2
4
-14
0
0
0
0
0
0
1
-2
-10
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
6
-4
2
0
0
0
0
0
0
0
-13
2
0
0
0
0
0
0
2
-9
-27
0
0
0
0
0
-1
1
7
-6
0
0
0
0
0
0
-3
11
6
0
0
0
0
0
0
-2
-4
19
0
0
0
0
0
-3
-1
-4
8
0
0
0
0
0
0
-6
9
18
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
-7
4
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
2
7
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
1
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
-2
0
6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
-21
0
0
0
-2
0
0
2
-3
-2
0
0
0
0
0
0
0
2
2
-32
0
0
0
0
0
0
0
-3
8
0
0
0
0
0
0
1
-11
2
0
0
-2
0
0
7
40
-19
-8
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-4
-9
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
2
-2
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
1
16
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
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
-1
-2
0
7
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-2
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-7
-11
21
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
3
0
0
0
0
0
2
0
0
18
0
0
0
0
0
0
0
-4
18
0
0
0
0
0
0
0
0
-4
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
-4
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
1
2
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
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
1
-4
1
0
0
0
0
0
0
0
7
32
0
0
0
0
0
0
0
-12
-1
0
0
0
0
0
-1
-1
8
-23
0
0
0
0
0
0
-1
-11
14
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
-1
-2
-6
0
0
0
0
0
0
-1
0
15
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
2
1
1
-19
0
0
0
0
0
-3
0
-2
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
2
3
0
0
0
0
0
0
0
4
-9
0
0
0
0
0
0
0
3
11
0
0
0
0
0
0
-4
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
-1
0
1
0
4
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
-6
-6
-8
-13
15
0
0
0
0
-1
1
2
-17
22
0
0
0
-1
0
-2
-1
-15
40
0
0
0
0
0
-1
-6
2
3
0
0
1
0
0
-1
0
-1
-1
0
0
0
0
0
8
4
2
13
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-2
-4
-6
9
0
0
0
0
0
-2
0
12
2
0
0
0
0
0
-2
0
0
12
0
0
0
0
0
2
-4
1
-4
0
0
0
0
0
-7
-2
-24
0
0
0
0
0
0
1
0
3
-3
0
0
0
0
0
-1
1
0
-4
0
0
0
0
0
1
4
-3
13
0
0
0
0
0
-2
8
-11
0
0
0
0
0
0
-6
27
2
22
0
0
0
1
0
-1
11
1
0
0
0
0
0
0
1
0
-11
-28
0
0
0
0
0
1
7
7
-17
0
0
0
0
-2
-1
0
6
10
0
0
0
0
0
0
1
0
12
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
2
2
2
-6
0
0
0
0
0
-4
15
-2
-3
0
0
0
0
0
1
1
1
5
0
0
0
0
0
-3
0
-16
9
0
0
0
0
0
0
0
0
2
0
0
0
0
0
7
-4
-3
10
0
0
0
0
0
-3
3
2
-3
0
0
0
0
0
-9
-7
-4
19
0
0
1
-1
0
-25
19
5
-14
0
0
0
0
0
8
6
-2
14
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-1
-2
-1
3
0
0
0
0
0
-1
-7
-9
2
0
0
0
0
0
1
-6
1
0
0
0
0
0
0
1
4
-3
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
-9
-1
0
0
0
0
0
-1
0
-3
8
0
0
0
0
0
0
0
0
8
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
2
11
18
-6
0
0
0
0
0
-2
0
-1
-6
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
-2
21
0
0
0
0
0
0
-1
9
20
0
0
0
0
1
0
0
1
2
-34
0
0
0
0
0
1
-2
4
5
0
0
0
0
0
1
-3
-15
-14
0
0
0
0
0
0
-20
3
2
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
-2
9
-13
0
0
0
0
-1
-1
1
6
34
0
0
0
0
0
0
0
3
13
0
0
0
0
-3
2
9
2
-31
0
0
0
0
0
0
0
-10
6
0
0
0
0
0
0
-19
8
-49
0
0
0
0
0
1
-13
0
31
0
0
0
0
0
-1
3
28
14
0
0
0
0
0
0
3
-22
34
0
0
0
0
2
0
-20
16
-9
0
0
0
1
1
9
-10
5
45
0
0
0
0
0
1
-8
-8
0
0
0
0
0
0
-1
-12
-6
0
0
0
0
0
0
0
-13
12
0
0
0
0
0
1
0
-15
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
1
-16
-3
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
20
2
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
2
1
-13
0
0
0
-1
0
0
-1
-3
2
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-6
-6
0
0
0
0
0
0
1
0
-26
-38
0
0
1
0
0
-1
-8
6
14
0
0
0
0
0
0
-1
6
-2
0
0
0
0
0
0
3
0
30
0
0
0
0
0
1
-1
1
-29
0
0
0
0
0
1
0
-18
-18
0
0
0
0
0
0
-15
1
44
0
0
0
0
0
0
1
-3
5
0
0
0
0
1
0
-7
-3
8
0
0
0
0
0
0
4
41
-23
0
0
0
0
0
0
1
-3
-17
0
0
0
0
0
0
-8
-6
23
0
0
0
0
0
-1
13
7
-32
0
0
-1
0
0
0
-9
-6
-4
0
0
0
0
0
0
0
3
23
0
0
7
0
0
-1
-3
-3
4
0
0
0
1
0
1
2
10
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
12
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
1
0
0
0
0
0
0
0
-3
12
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
-8
-3
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-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
0
0
-2
0
0
0
0
0
0
-2
0
-19
0
0
0
0
-1
0
0
1
-10
-25
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
1
1
6
0
0
0
0
0
-4
-3
0
23
0
0
0
0
0
0
0
-3
-29
0
0
0
0
0
-1
0
0
17
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
1
0
-61
0
0
0
1
-1
0
-3
-6
11
0
0
0
0
0
0
-2
-2
7
0
0
0
0
0
-3
-1
-4
14
0
0
0
0
0
1
-2
-3
-8
0
0
0
-1
0
0
-10
22
-21
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
12
0
-17
0
0
0
0
1
6
-25
-39
-11
0
0
0
0
-1
0
-9
2
0
0
0
0
0
0
1
-18
-6
0
0
0
0
0
-1
-3
-1
-6
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
2
-11
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-3
2
0
0
0
0
0
0
6
-10
1
0
0
0
0
0
0
2
-15
-1
0
0
0
0
0
0
8
-28
-1
0
0
0
0
0
0
-1
-15
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
2
1
1
4
0
0
0
0
0
0
-2
-27
2
0
0
0
0
0
0
0
4
0
-73
0
0
0
0
0
0
-8
8
27
0
0
0
0
0
0
-1
1
4
0
0
0
0
0
0
1
2
-25
0
0
0
0
0
-6
-3
2
-23
0
0
0
0
0
1
0
0
8
0
0
0
0
0
0
0
1
-49
0
-2
0
0
0
0
1
0
34
0
0
0
0
0
1
-25
-6
35
0
0
0
0
0
0
-3
4
-10
0
0
0
0
0
1
-17
0
22
0
1
0
0
0
1
1
-1
-2
0
0
0
0
0
-1
18
17
-15
0
0
0
0
0
0
-11
-1
36
0
0
0
0
-2
0
-24
9
0
0
0
0
0
-4
29
-10
6
-29
0
0
0
0
1
-1
-1
23
0
0
0
0
0
0
0
-19
-7
0
0
0
0
0
0
-1
3
16
0
0
0
0
0
-1
1
-4
-13
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
8
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-12
-1
0
0
0
0
0
0
-7
19
-1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
-7
-7
-7
0
0
0
0
0
0
0
7
-1
31
0
0
0
0
0
0
1
-15
-34
0
0
0
0
0
0
-4
-7
36
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
1
0
0
-12
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
-2
-22
0
0
0
-1
0
0
10
-3
0
0
0
0
0
0
0
-11
-1
-3
0
0
0
0
0
0
-8
-2
7
0
0
0
0
0
-1
13
-9
-8
0
0
0
0
0
0
1
-4
-22
0
0
0
0
0
0
1
6
19
0
0
0
0
0
0
0
0
-18
0
0
0
0
1
-1
-20
29
-31
0
0
0
0
0
-2
1
21
0
0
0
-1
0
0
0
-2
-18
0
0
0
0
0
0
0
6
-18
0
0
0
0
0
0
3
2
-1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
24
11
0
0
0
0
0
0
0
4
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
2
0
0
-39
0
0
0
0
0
1
0
-2
-1
34
0
0
2
0
0
0
-1
8
34
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
2
-1
0
-33
0
0
0
0
0
0
-2
-1
-16
0
0
0
0
0
1
0
2
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
-4
-3
33
0
0
0
0
0
0
0
-12
-10
0
0
0
0
0
0
-10
0
2
0
0
0
0
0
0
4
-1
7
0
0
0
0
0
0
2
-1
-6
0
0
0
0
0
0
1
1
9
0
0
0
0
0
0
0
0
-6
0
0
0
0
-2
-5
-22
23
-3
0
0
0
-4
0
0
9
3
0
0
0
0
0
0
-1
4
23
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-2
-7
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
-1
0
0
3
-7
0
0
0
0
0
0
0
4
7
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
2
3
21
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
2
-1
26
0
0
0
0
0
-2
2
0
14
0
0
0
0
0
0
-1
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-9
-3
26
0
0
0
0
0
0
3
-3
-2
0
0
0
0
0
0
-1
0
-11
0
0
0
0
0
0
-2
-1
9
0
0
0
0
0
0
1
-1
-26
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
-30
0
0
0
0
0
-1
-17
-5
-29
0
0
0
0
-2
-10
-16
25
0
0
0
0
0
0
0
1
-24
0
0
0
0
0
1
0
13
0
0
0
0
0
0
1
-7
-8
0
0
0
0
0
0
1
-4
12
4
0
0
0
0
0
0
4
-4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-8
1
0
0
0
0
0
4
-3
3
-9
0
0
0
-1
0
0
0
4
-3
0
0
0
0
0
0
1
-8
4
0
0
0
0
0
0
-18
14
-2
0
0
0
0
0
0
3
-12
-15
0
0
0
0
0
0
-2
-2
6
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
1
2
-9
29
0
0
0
0
-1
0
1
2
1
44
0
0
0
0
0
0
-7
-7
22
0
0
0
0
0
0
1
0
-61
0
0
0
0
0
0
-11
0
-23
0
0
0
0
-1
0
0
0
-33
0
0
0
0
0
0
-1
2
-6
0
0
0
0
0
-1
0
0
-14
0
0
0
0
0
0
0
0
-7
0
0
0
0
1
18
4
-6
36
0
0
0
0
0
1
0
-16
10
0
0
0
0
0
-2
-1
0
2
0
0
0
0
0
1
5
0
-47
0
0
0
0
1
2
0
0
14
0
0
0
0
0
2
0
6
-32
0
0
0
0
-1
8
1
1
-3
0
0
0
0
15
29
9
-16
-28
0
0
0
1
0
0
6
28
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
1
12
4
0
0
0
0
0
2
-11
13
23
0
0
0
0
0
-1
3
0
30
0
0
0
0
0
1
-1
2
19
0
0
0
0
1
0
-2
2
-9
0
0
0
0
0
2
0
11
-2
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
0
1
-1
-3
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
1
2
-9
0
0
0
0
0
0
1
0
-4
0
0
0
0
0
1
0
0
-2
0
0
0
0
1
-9
8
1
-6
0
0
0
0
0
1
0
-15
20
13
0
0
0
0
0
0
10
4
-43
0
0
0
0
0
0
-6
7
-10
0
0
0
0
1
7
-3
-6
-35
0
0
0
0
1
0
2
3
33
0
0
0
0
0
0
-9
0
19
0
0
0
0
0
0
0
-5
15
0
0
0
0
0
-5
0
21
-1
0
0
0
0
1
-3
2
-9
14
-36
0
0
0
0
0
-14
35
-61
48
0
0
0
0
0
-6
-1
-6
-7
0
0
0
-2
-1
0
5
-14
14
0
0
0
-1
2
-1
-12
-25
-2
0
0
0
-2
0
-8
-25
26
-20
0
0
-2
0
1
-4
7
-4
20
0
0
-1
1
-3
3
-4
22
-2
0
0
0
0
1
-6
-11
0
0
0
0
0
0
0
7
-23
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
10
9
9
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
13
4
0
0
0
0
0
0
0
-9
-5
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
1
-8
5
0
0
0
0
0
0
0
-13
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
-7
10
0
0
0
0
0
0
0
7
14
-31
0
0
0
0
0
0
-4
4
-11
0
0
0
0
0
0
-11
3
33
0
0
0
0
0
0
3
-13
7
0
0
0
0
0
-1
-10
8
1
0
0
0
0
0
0
-7
7
-26
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
-2
3
0
0
0
0
0
0
-11
-9
-26
66
0
1
0
0
-1
-17
13
7
-46
0
0
0
0
0
0
-12
-12
-18
0
0
0
0
0
-13
-1
-17
15
0
0
0
0
0
7
-1
29
-1
0
0
0
0
0
6
2
3
25
0
0
0
0
0
2
-5
10
-26
0
0
0
-1
-10
-6
17
-7
12
0
0
0
-2
-2
-4
17
0
0
0
0
0
0
0
-24
5
0
0
0
0
0
3
0
6
-10
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
1
-1
-20
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-20
0
1
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
-10
7
0
0
0
0
0
0
0
3
-33
11
0
0
0
0
0
0
-27
-3
21
0
0
0
0
0
1
5
3
1
0
0
0
0
0
-2
13
-3
30
0
0
0
-2
0
1
-3
-13
-21
0
0
0
0
0
-1
2
20
-24
0
0
0
0
0
0
3
1
-19
0
0
0
0
0
3
4
0
-3
0
0
0
0
0
0
-10
-15
30
-17
0
0
0
0
0
0
-4
-9
50
0
0
0
0
0
-2
2
13
-15
0
0
0
0
0
-2
0
-2
-18
0
0
0
0
0
2
-9
16
12
0
0
0
0
0
-1
-2
16
0
0
0
0
0
0
4
-1
5
6
0
0
0
5
8
2
2
-84
24
0
0
0
-2
3
0
22
0
0
0
0
0
0
0
-14
10
0
0
0
0
0
-1
3
15
-21
0
0
-2
0
0
0
4
6
22
0
0
0
0
0
0
-9
-1
2
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
2
-21
-15
-6
0
0
0
0
0
0
2
7
-19
0
0
0
1
0
0
-1
3
-14
0
0
0
0
0
0
0
-13
4
0
0
0
0
0
0
2
-35
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
-1
-13
7
0
0
0
0
0
0
0
1
14
-28
0
0
0
0
0
0
18
27
-13
0
0
0
0
0
-4
3
0
16
0
7
0
0
0
0
-8
-9
1
0
0
0
0
0
0
2
-2
13
0
0
0
0
0
-1
-4
2
9
0
0
0
0
0
0
-2
-4
-32
0
0
0
0
0
6
-8
3
-27
0
0
0
0
0
-10
2
-10
-12
27
0
0
0
0
-2
0
-1
22
-24
0
0
0
0
0
4
0
15
27
0
0
0
0
-1
3
1
0
-21
0
0
0
0
0
-4
3
13
-26
0
0
0
0
-1
0
-8
-8
67
0
0
0
-2
0
-15
0
-8
-25
0
0
-1
-6
-2
19
-28
-28
6
0
0
0
0
-6
17
-19
0
0
0
0
0
0
0
2
47
0
0
0
0
0
0
0
-16
15
0
0
0
0
0
0
-12
-8
3
0
0
0
0
-1
0
0
3
3
0
0
0
0
0
0
-2
0
10
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
2
7
7
-9
0
0
0
0
0
0
0
-2
-11
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
-1
0
-9
-1
0
0
0
0
0
0
2
12
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
-2
32
0
0
0
0
0
-1
0
-7
-1
0
0
0
0
0
1
7
2
-2
0
0
0
0
-1
0
-1
3
1
4
0
0
0
0
0
-1
4
-20
1
0
0
0
0
0
1
-3
0
24
0
0
0
0
0
1
-4
8
-24
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
1
0
-13
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
8
1
1
-20
0
0
0
1
-1
0
3
0
17
-19
0
0
0
0
0
0
-7
-26
7
0
0
0
0
0
0
0
7
17
0
0
0
0
1
-9
2
8
16
0
0
0
0
0
0
-15
4
-11
0
0
0
0
0
-1
-7
-8
-13
0
0
1
0
-3
2
0
-16
2
0
0
1
-5
1
-4
-1
11
31
0
0
0
0
0
6
12
0
0
0
6
0
0
0
-15
40
0
0
0
0
0
0
-2
-1
9
0
0
0
0
0
-2
-2
16
-17
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
-3
-3
25
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
2
-10
0
0
0
0
0
2
0
4
30
0
0
0
-1
0
0
0
2
-18
0
0
0
0
0
0
0
-8
-10
0
0
0
0
0
0
1
-2
6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
-2
11
0
0
0
0
0
0
0
-1
14
4
0
0
-6
0
0
0
3
0
33
0
0
0
0
0
0
-7
-6
9
0
0
0
0
0
0
6
-3
-6
0
0
0
0
0
3
-2
0
21
0
0
-1
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
-2
-1
0
11
0
0
0
0
0
0
-1
10
-13
29
0
-10
0
0
0
1
-12
-13
51
0
0
0
0
0
-3
0
-4
-19
0
2
0
0
0
-1
-3
4
-39
0
0
0
0
0
-4
10
-14
6
0
7
0
0
0
0
-4
-12
9
0
0
0
-1
-1
1
-2
10
-1
0
-6
0
-3
11
-4
14
-41
-15
0
0
0
-1
0
0
15
0
0
0
0
0
0
1
5
14
0
0
0
0
0
0
-1
-9
9
0
0
0
0
0
1
-7
13
16
0
0
0
0
0
0
0
3
15
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-4
-5
4
-11
0
0
0
0
-1
0
0
2
-4
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-6
-8
-3
0
0
0
0
0
0
2
-1
10
0
0
0
0
-1
0
0
0
16
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-1
0
0
0
0
0
0
0
-1
-2
7
14
0
0
0
0
0
0
-8
8
-35
0
0
0
0
0
0
-1
-1
21
0
0
0
0
0
0
2
-1
-15
0
0
0
0
0
0
-3
1
8
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-13
0
0
0
0
-1
0
-2
0
13
0
0
0
7
0
1
1
0
5
18
0
0
0
0
0
6
2
15
-17
0
0
1
0
0
-2
0
-15
17
0
0
0
0
0
0
-4
17
-2
0
0
-4
0
0
-1
1
-24
17
0
0
0
0
0
-3
-2
-22
11
0
0
2
1
0
-2
0
-12
-27
0
0
-17
12
-13
6
27
28
-34
0
0
-7
-11
26
16
21
0
0
0
36
0
4
-5
-26
18
0
0
0
0
39
32
-3
-29
19
0
0
17
-3
-1
16
4
-27
2
0
0
0
0
0
1
9
-9
-8
0
0
0
-3
2
-33
-54
4
58
0
0
0
0
0
-11
-8
18
-25
0
0
0
2
0
-3
20
-29
-27
0
0
0
0
3
16
-4
24
-20
0
0
0
6
0
-3
65
-30
-17
0
0
0
0
-15
-6
-23
18
-11
0
0
8
7
-3
20
1
-4
-8
0
0
0
0
-3
-9
-4
1
-9
0
0
0
0
0
7
-21
-1
-17
0
0
0
0
-6
15
-12
1
-21
0
0
2
-18
-17
-15
-26
1
-1
0
0
0
0
4
22
27
-7
73
11
0
0
-21
-2
15
-6
-3
4
17
0
0
0
1
-16
-8
-30
1
-26
0
23
-1
0
-13
14
26
6
-39
0
0
0
10
22
2
22
-5
-11
0
0
8
0
-10
36
-22
-29
21
0
0
0
-11
1
1
1
-7
-16
0
4
0
1
16
17
-12
-1
-25
0
0
0
9
12
-20
-85
42
-32
41
0
-13
0
3
-14
38
-40
58
13
0
0
-6
-14
27
-32
-14
5
-3
-16
3
0
-2
-29
10
-15
0
24
0
0
19
-12
0
4
25
-1
8
0
-5
0
-12
-20
21
43
-49
-3
0
0
-6
-12
-21
6
-36
-6
-1
-25
5
-3
-51
28
-29
-1
11
-9
0
0
13
42
-12
1
14
0
0
0
0
2
8
33
8
-6
0
0
0
0
1
-26
13
-33
-4
0
0
0
0
0
-2
-8
-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
-2
0
3
-16
0
0
0
0
0
0
0
-10
-3
0
0
0
0
1
2
15
-15
22
0
0
0
0
0
2
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
-23
7
40
20
-15
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
-3
-12
-29
6
0
0
0
0
0
1
-5
-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
-2
1
17
17
-13
0
0
0
0
0
1
6
6
38
0
0
0
0
0
0
-6
14
15
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
0
0
0
11
-29
-4
0
0
0
4
0
6
-15
-1
24
0
0
0
0
0
9
4
-7
6
0
0
0
0
0
-12
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
24
-24
0
0
0
3
0
0
0
-1
6
0
0
0
0
0
1
1
3
-9
0
0
0
-1
0
0
0
-17
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
35
0
0
0
14
0
-6
-2
-3
9
0
0
0
0
0
0
-1
-7
14
0
0
0
0
0
-4
-3
-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
1
-1
11
0
0
0
-2
0
-3
0
0
18
0
0
0
0
0
0
-3
-5
1
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
-3
20
8
10
0
0
0
0
0
-1
3
10
8
0
0
0
0
6
2
-2
6
-7
0
0
0
0
0
-9
-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
29
7
0
0
0
0
0
0
0
-26
-16
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-4
-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
-1
0
12
-26
33
0
0
0
0
0
1
0
-2
-14
0
0
0
0
0
-6
-6
21
2
0
0
0
0
0
-2
-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
0
0
0
0
1
6
-15
0
0
0
0
0
0
0
7
2
0
0
0
0
0
0
1
-24
0
0
0
0
0
0
0
-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
-1
10
4
9
0
0
0
0
0
1
23
12
-19
0
0
0
0
1
-12
6
29
23
0
0
48
0
0
3
21
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
0
0
-2
0
0
0
0
0
0
-4
-15
9
0
0
0
0
0
0
13
-6
-3
0
0
0
0
0
-1
34
-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
-12
-22
10
0
0
0
0
0
0
-12
11
24
0
0
0
0
-2
-1
17
-1
-14
0
0
0
0
0
-6
1
6
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
3
-2
0
0
0
0
0
1
7
3
-12
0
0
0
0
0
0
-1
-4
1
0
0
6
0
0
1
-8
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
7
-8
32
2
-16
0
0
0
0
0
0
7
0
-21
0
0
0
0
0
6
-8
-18
-9
0
0
0
0
0
1
11
-12
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-6
4
0
0
0
0
0
0
1
-21
12
0
0
0
0
0
-1
3
3
10
0
0
0
0
0
-1
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
-4
3
1
17
0
0
0
0
0
-1
-1
-3
-4
0
0
0
0
0
1
-2
-21
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
24
16
-7
-3
0
0
0
0
0
0
0
-32
0
0
0
0
0
-1
-1
0
-6
8
0
0
0
0
0
-1
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-8
-9
1
0
0
0
0
0
2
-35
3
4
0
0
0
0
-1
2
3
4
43
0
0
0
0
0
-1
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
0
-6
-8
-1
0
0
0
12
0
-1
10
-21
19
0
0
0
0
0
-2
-2
4
-19
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
-2
-6
-3
0
0
0
0
0
0
-1
-12
8
0
0
0
0
0
0
-3
1
-3
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
19
0
0
0
0
0
-1
-4
-1
2
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
2
-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
-3
1
9
13
-12
0
0
0
0
0
0
-7
1
-26
0
0
0
0
0
0
-12
-8
14
0
0
0
0
-1
2
12
-17
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
0
0
0
0
0
0
0
-6
15
0
0
0
0
0
0
-1
-6
-7
0
0
0
0
0
0
-1
-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
1
-2
3
-7
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
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
-1
0
18
5
0
0
0
0
0
-1
0
-1
2
0
0
0
0
0
0
0
19
2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-23
0
-1
0
0
0
0
0
-7
18
16
-31
0
0
0
0
0
-1
38
-20
4
0
0
0
0
0
-8
-1
-12
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
22
-9
-14
0
0
0
0
0
-1
0
-2
27
0
0
0
0
0
2
-4
4
21
0
0
0
0
0
10
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
3
8
-13
-18
0
0
0
0
0
1
6
7
-13
0
0
0
0
0
3
-10
-40
11
0
0
0
0
0
-13
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
-1
-9
-12
11
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
-19
-3
0
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
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
-4
-7
30
0
0
0
0
0
0
-9
-2
18
0
0
0
0
0
-1
-7
24
-2
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
-2
0
-4
-9
31
0
0
0
0
0
0
1
17
-22
0
0
0
0
0
1
0
2
-8
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
11
-2
1
26
-16
0
0
0
0
0
-1
5
-13
8
0
0
0
0
0
0
0
-6
-17
0
0
0
0
0
1
-25
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
9
10
29
0
0
0
0
0
0
13
26
-11
0
0
0
0
-2
-1
2
0
24
0
0
0
0
0
-2
-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
2
-13
-6
0
0
0
-3
0
6
11
-10
7
0
0
0
0
0
0
-15
-1
0
0
0
0
0
0
0
0
-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
14
-7
0
0
0
2
0
0
0
-14
-38
0
0
0
0
0
-3
0
-15
13
0
0
0
0
0
0
1
7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
18
-17
0
0
0
16
0
1
-7
-22
9
0
0
0
0
0
0
-8
-15
-11
0
0
0
0
0
-2
-3
12
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
-8
0
0
0
2
0
0
4
-9
-15
0
0
0
0
0
0
-1
-1
12
0
0
0
0
0
-1
3
-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
3
-2
1
-16
0
0
0
0
0
0
-3
-19
10
0
0
0
0
-1
2
-10
-19
13
0
0
0
0
1
0
11
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
1
-11
18
0
0
0
0
0
0
2
-38
-3
0
0
0
0
0
1
-6
-11
-6
0
0
0
0
0
0
-2
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
-1
-12
0
-16
0
0
0
0
0
0
2
-7
3
0
0
0
0
-1
-4
-1
4
-5
0
0
0
0
1
-1
16
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
33
6
0
0
0
0
0
0
0
-10
3
0
0
0
0
-3
2
1
1
-3
0
0
0
0
-1
0
8
17
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
5
16
0
0
0
-1
0
2
-18
-41
0
0
0
0
0
0
-1
2
-12
-21
0
0
1
0
0
-10
26
-22
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
16
0
0
0
0
0
0
-1
-4
23
0
0
0
0
0
0
7
-21
-3
0
0
2
0
0
2
-17
-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
12
0
-28
0
0
0
0
0
-2
10
-21
1
0
0
0
0
0
1
-8
3
4
0
0
-7
0
0
-9
9
-5
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
7
4
0
0
0
0
0
-1
-3
-8
-42
0
0
0
0
0
0
2
3
-1
0
0
-8
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
-1
1
-13
-6
0
0
0
0
0
1
1
-9
-10
0
0
0
0
0
0
1
-3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
4
0
8
9
0
0
0
0
0
0
1
-3
24
0
0
0
0
0
3
0
0
-8
0
0
0
0
0
0
-1
-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
-1
-6
13
-3
8
0
0
0
0
0
-1
2
4
7
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
22
-5
28
0
0
0
0
0
0
0
4
6
0
0
0
0
-1
0
-4
-1
-15
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
-6
14
0
0
0
-1
0
0
-1
-8
-9
0
0
0
0
0
0
-1
1
-6
0
0
0
0
0
0
9
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
1
3
6
0
0
0
0
0
0
0
-6
9
0
0
0
1
0
-4
-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
0
0
0
3
12
0
0
0
1
0
0
-12
14
2
0
0
0
0
0
0
2
1
1
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
3
7
-15
0
0
0
-2
0
0
0
9
26
0
0
0
0
0
0
0
-10
-7
0
0
0
0
0
0
-6
-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
-16
0
9
-23
1
0
0
0
0
0
0
7
-6
26
0
0
0
0
1
-1
-12
19
10
0
0
0
0
2
0
-3
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
-1
1
-1
-3
0
0
0
0
0
-2
-1
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
3
-7
32
0
0
0
0
0
0
-2
8
-15
0
0
0
0
0
0
-1
3
-7
0
0
0
0
0
-1
-3
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
-1
-2
0
-10
-20
0
0
0
0
0
0
2
1
13
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
-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
4
7
-19
4
5
0
0
0
0
0
-2
16
-5
-2
0
0
0
0
-1
-13
-33
13
3
0
0
-1
0
0
5
-9
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
-9
-1
-12
16
0
0
0
0
0
0
0
-4
30
0
0
0
0
0
-9
-2
-12
1
0
0
-1
0
0
3
-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
11
4
-11
-10
0
0
0
0
0
6
-13
-20
-22
0
0
0
0
0
-1
-2
-13
-7
0
0
0
0
0
-13
-1
-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
-2
4
-11
31
5
0
0
0
-3
0
-2
8
-12
-4
0
0
0
0
0
-11
-13
-10
36
0
0
3
0
0
-6
-5
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
2
-1
7
2
0
0
0
0
0
0
1
-37
3
33
0
0
0
0
0
0
8
1
-1
0
0
0
0
1
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
3
-8
34
9
-30
0
0
0
0
0
0
-10
-15
15
0
0
0
0
0
-8
3
10
18
0
0
0
0
0
1
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
6
-6
-16
18
3
-7
0
0
0
0
0
7
8
32
-10
0
0
0
1
-1
2
-25
-21
-3
0
0
0
0
0
1
-4
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
15
-9
4
-4
11
11
0
0
0
0
-2
-11
-4
-3
14
0
0
0
0
0
0
13
12
9
0
0
0
0
0
2
-40
1
-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
-1
-1
-7
-12
0
0
0
10
0
-4
3
-1
6
0
0
0
0
0
-1
0
-9
6
0
0
0
0
0
1
-12
-18
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
15
0
0
0
7
0
1
9
22
-21
0
0
0
0
0
0
0
7
-20
0
0
0
0
0
0
-1
2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
5
32
0
0
16
0
-1
-4
-26
4
44
0
0
0
-1
-1
0
-12
-3
-15
0
0
0
0
0
1
16
-11
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
0
0
4
0
0
2
11
21
-7
0
0
0
0
0
0
-18
0
-7
0
0
-1
0
0
-1
20
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
-1
6
0
0
0
0
0
0
0
2
-9
-6
0
0
0
0
-1
2
-2
-28
1
0
0
0
0
3
0
-7
-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
-6
-4
5
0
0
0
0
0
0
0
-11
17
0
0
0
0
2
1
0
-8
-6
0
0
0
0
0
-1
-2
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-11
12
18
-30
0
0
0
0
0
0
14
6
7
0
0
0
-1
0
0
-7
-18
16
0
0
0
0
0
0
-11
-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
-7
-6
3
29
0
0
0
0
-1
0
-42
-10
26
0
0
0
0
0
-2
-23
18
-2
0
0
0
-1
0
4
-13
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
-6
18
7
0
0
0
0
0
-1
1
6
8
0
0
0
0
0
-1
-3
3
15
0
0
8
0
0
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
0
1
-6
-13
0
0
0
0
0
0
0
-8
-1
24
0
0
0
0
0
0
10
7
0
0
0
-2
0
0
-8
15
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
17
-6
-19
0
0
0
0
0
6
-30
-21
4
0
0
0
0
1
-2
13
-10
13
0
15
0
0
12
3
16
-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
-1
5
-4
8
2
0
0
0
0
-4
-2
-5
9
45
0
0
0
-1
1
4
-17
-1
-36
0
8
0
0
0
-10
-24
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
0
0
0
0
-2
1
4
7
0
0
0
0
0
-4
7
-6
-8
0
0
0
0
0
-3
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-1
7
7
7
0
0
0
0
0
0
-1
1
6
0
0
0
0
1
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
0
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
3
16
18
0
0
0
0
0
-2
-1
17
29
0
0
0
-1
0
1
0
-9
-5
0
0
0
0
1
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
0
0
0
0
0
0
0
0
4
-27
-16
12
28
-2
0
0
0
0
1
-1
19
-1
-17
0
0
0
-2
2
-2
8
-1
-26
0
0
0
0
0
2
1
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
1
-3
-8
15
0
0
0
1
0
0
-9
-2
21
0
0
0
0
0
0
3
3
-19
0
0
0
0
0
0
-9
-18
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
-9
0
0
0
0
0
2
6
0
5
0
0
0
0
0
0
1
-7
-1
0
0
0
0
0
0
4
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-2
19
0
0
0
0
0
-1
-5
12
25
0
0
0
0
0
2
2
-3
-60
0
0
0
0
0
-2
-2
-6
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
-11
-33
0
0
-4
0
0
-9
24
40
-45
0
0
0
0
0
0
-3
-7
11
0
0
0
0
0
-3
15
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
-2
0
3
1
12
0
0
0
0
0
0
-1
-9
30
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-8
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
-1
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
2
0
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-4
2
0
0
0
0
0
0
0
-6
4
-48
0
0
0
0
0
0
-6
0
30
0
0
0
0
0
0
1
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
1
0
-4
5
-9
15
0
0
0
0
0
0
-1
12
4
0
0
0
0
0
0
16
10
-24
0
0
0
0
0
7
-7
-17
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-9
18
0
0
0
0
-1
3
3
-8
22
0
0
-1
0
0
-9
16
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
-3
1
-12
19
0
0
0
0
0
0
-7
1
-3
0
0
0
0
1
-1
1
-6
-2
0
0
0
0
0
-1
21
-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
-6
-6
9
-29
0
0
0
0
3
15
-2
-1
-20
0
0
0
1
1
-3
-3
12
3
0
-2
0
0
1
-16
6
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
2
6
-22
-12
9
0
0
0
0
1
2
-17
-8
-19
0
0
0
0
1
-2
11
-3
6
0
-2
0
0
5
-17
-8
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
-7
2
6
-15
-11
0
0
0
0
0
0
1
22
6
0
0
0
0
0
-1
-3
-1
-6
0
0
0
0
0
0
-4
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
23
11
-2
0
0
0
0
0
0
19
-26
25
0
0
0
0
-1
6
3
-19
12
0
0
0
0
0
-2
-8
-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
-14
13
14
5
26
-17
0
0
0
0
0
-6
2
24
-46
0
0
0
3
0
0
-8
-27
-11
0
0
0
0
-1
-1
-8
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
1
-9
38
-22
15
-16
8
0
0
0
3
6
-5
1
0
-16
0
0
1
0
-1
-16
5
4
12
0
0
0
-7
6
-24
7
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
-1
21
28
0
0
0
-3
0
-7
-6
-6
-35
0
0
0
0
0
0
0
-8
14
0
0
0
0
0
0
-1
14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-19
-12
0
0
0
-13
0
-2
-1
-16
-10
0
0
0
0
0
0
-2
9
-1
0
0
0
0
0
0
6
-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
16
-25
-12
1
0
0
2
0
0
-4
11
-34
-7
0
0
0
0
0
-4
19
13
23
0
0
0
0
0
5
21
-21
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
-20
-27
45
0
-17
0
8
-11
-30
28
-13
71
0
0
0
2
0
-9
25
-30
-13
0
1
0
0
-1
-7
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
13
9
0
0
0
0
0
0
1
-16
-19
0
0
0
0
1
-1
-1
14
-1
0
0
0
0
-1
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
1
0
0
0
0
0
0
-4
-1
22
0
0
0
0
0
2
1
-17
3
0
0
0
0
0
-2
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
1
2
9
-18
-9
0
0
0
0
0
-1
-6
-21
-25
0
0
0
-1
-1
-4
9
16
-32
0
0
0
-3
1
-7
-20
-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
2
-7
-24
4
-59
0
0
0
0
-9
16
4
-34
-16
0
0
-1
0
0
-21
-11
-5
38
0
0
0
2
7
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
-1
10
0
0
0
2
0
1
1
-6
18
0
0
0
0
0
3
11
-5
-15
0
0
-3
0
0
6
7
-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
-4
-5
-1
0
0
0
0
0
0
-1
13
-4
0
0
0
0
0
-1
2
-1
-13
0
0
-7
0
0
-1
-23
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
-2
1
11
-62
0
0
0
0
-1
6
3
-8
9
0
0
0
0
0
4
-18
0
26
0
-7
0
0
-3
6
-23
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
1
2
-3
-2
3
38
0
0
0
-3
8
18
20
-22
-21
0
0
0
-2
-3
14
1
11
-8
-23
0
0
0
-10
-5
-7
-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
8
-7
11
-11
0
0
0
0
0
1
-1
-8
55
0
0
0
0
0
0
-16
1
16
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
5
0
-3
-4
7
0
0
0
0
0
0
7
-1
12
0
0
0
0
0
-4
0
7
-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
0
0
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
-13
22
15
-42
0
0
0
0
0
-2
9
-5
-25
0
0
0
0
-3
8
-9
10
3
0
0
0
0
0
-1
-23
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
37
6
-37
8
0
0
0
0
-7
-44
22
10
21
0
0
0
6
-6
-14
24
8
15
0
0
0
-1
-12
16
-6
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
1
-2
1
7
0
0
0
9
0
0
3
22
-47
0
0
0
0
0
0
7
-24
-47
0
0
0
0
0
0
-12
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-15
-3
0
0
0
3
0
-2
7
8
2
0
0
0
0
0
0
0
12
-11
0
0
0
0
0
0
1
13
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
-74
0
0
-11
0
-1
-4
-22
9
30
0
0
0
0
0
2
-2
16
27
0
0
0
0
0
-6
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
1
1
0
37
-6
-8
0
-3
0
0
-12
5
9
-7
18
0
0
-1
0
-1
2
13
-13
2
0
0
0
0
-2
-10
-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
-9
-1
16
-11
22
0
0
0
0
0
0
0
-8
-5
0
0
0
0
-1
0
7
-24
2
0
0
0
0
0
0
-8
-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
4
-4
-12
-1
0
0
0
0
0
0
0
-6
2
-12
0
0
0
0
0
0
-1
2
4
0
0
0
0
0
0
2
8
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
16
11
-5
-12
-10
0
0
0
-1
-8
-1
7
19
-49
0
0
0
0
-8
-2
10
-3
18
0
0
0
-7
19
9
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
5
-11
18
14
-19
-3
3
0
0
0
0
1
3
-21
-41
7
0
0
1
-2
2
-28
-5
-2
29
0
0
2
1
4
-13
20
-34
-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
-2
-21
14
-24
39
0
0
0
-20
2
17
3
-32
11
0
0
0
0
8
1
4
-30
5
0
0
13
6
0
-20
-42
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
13
3
-36
44
-4
0
0
0
-18
0
-1
12
0
-2
0
0
0
0
3
8
-7
-9
-7
0
0
-2
2
0
7
-45
-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
5
-9
44
-45
1
6
0
0
28
-2
6
7
24
-1
-3
0
0
0
8
-4
-2
52
12
-36
0
17
-1
0
-7
-5
-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
-23
0
-12
-16
29
0
-7
0
7
0
12
9
-41
-82
22
25
0
0
-3
7
-15
1
-28
14
0
-24
-6
0
0
-8
-10
-31
58
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
5
-14
0
0
0
0
0
-8
0
12
6
0
0
0
0
3
-23
16
-19
1
0
0
0
0
0
2
7
-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
1
-1
25
-5
29
0
0
0
0
0
0
1
0
20
0
0
0
0
0
0
4
-12
22
0
0
0
0
0
1
3
7
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
18
7
9
0
0
0
0
0
-1
3
22
3
0
0
0
0
3
3
0
-3
4
0
0
0
0
0
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-6
3
26
-2
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
-1
-4
-19
22
0
0
0
0
0
0
1
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
2
-7
16
0
0
0
-3
0
2
-7
-1
7
0
0
0
0
0
0
0
1
14
0
0
0
1
0
2
-7
-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
0
0
0
0
0
0
0
1
18
-30
0
0
0
0
0
0
0
-24
36
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
24
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
14
0
0
0
-3
0
0
1
-6
10
0
0
0
0
0
0
0
-15
11
0
0
0
0
0
1
-3
-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
-2
10
0
0
0
-2
0
0
1
-6
39
0
0
0
0
0
0
-1
9
-18
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
-7
-14
19
0
0
0
0
0
0
6
-41
21
0
0
0
0
0
-6
-2
-14
-2
0
0
0
0
0
1
-8
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
1
-5
-4
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
-1
5
-36
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
16
0
0
0
0
0
0
1
-16
13
0
0
0
0
0
-3
-1
-3
16
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
25
26
0
0
0
0
0
0
-11
11
3
0
0
0
0
0
-2
1
0
-18
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
1
7
-15
47
0
0
0
-1
0
0
-11
33
-19
0
0
0
0
0
0
-15
-6
39
0
0
18
0
0
8
6
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
-14
-16
-3
0
0
0
0
0
0
-4
1
3
0
0
0
0
0
0
7
19
-4
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
0
0
0
0
0
0
0
0
0
-4
-8
24
0
0
0
0
0
0
8
-15
-17
0
0
0
0
0
0
8
5
6
0
0
-2
0
0
-1
-13
14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
24
-8
0
0
0
0
0
0
-15
-36
32
0
0
0
0
0
0
1
6
3
0
0
0
0
0
0
-14
15
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
2
-13
-25
0
0
0
0
0
-2
20
-1
-5
0
0
0
0
0
-1
-8
13
13
0
0
0
0
0
2
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
-3
2
-30
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
6
-4
1
0
0
0
0
0
0
2
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-38
5
0
0
0
0
0
0
3
-8
7
0
0
0
0
0
0
-9
-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
10
-22
0
0
0
0
0
0
2
-5
3
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
-14
0
0
0
0
0
1
-12
-13
10
0
0
0
0
0
0
-4
9
-4
0
0
0
0
0
0
-18
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
2
-3
0
0
0
0
0
0
2
7
25
0
0
0
0
0
0
0
0
10
0
0
0
0
0
-1
-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
1
0
2
6
11
0
0
0
0
0
0
8
-16
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
1
0
0
2
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
-1
0
9
1
0
0
0
0
0
0
-1
-10
-10
0
0
0
0
0
0
0
-5
18
0
0
0
0
0
3
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
-4
2
2
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
-11
3
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
1
0
2
11
9
0
0
0
0
0
-1
1
6
1
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
1
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
3
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
20
29
13
0
0
0
0
0
-6
-9
-1
11
0
0
0
0
0
18
-9
5
11
0
0
0
0
0
0
-8
-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
1
4
6
12
0
0
0
0
0
-1
4
-10
0
0
0
0
0
0
2
-12
7
-18
0
0
0
0
0
3
4
-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
-1
14
5
3
-6
0
0
0
0
0
9
-10
-1
19
0
0
0
0
0
7
-9
4
-3
0
0
-3
0
0
-12
21
-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
-9
-8
-11
-8
0
0
0
0
0
6
-6
-27
-8
0
0
0
0
0
2
10
8
2
0
0
0
0
0
-10
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
2
-9
16
-3
0
0
0
0
0
0
2
10
-9
0
0
0
0
0
16
-1
-12
33
0
0
0
0
0
-3
-10
23
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
-3
35
-4
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
11
10
0
0
0
0
0
0
-9
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
-4
6
0
8
1
0
0
0
0
0
0
1
-7
15
0
0
0
0
0
2
-1
-1
0
0
0
0
0
0
0
3
-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
1
-2
-6
-3
10
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
-2
0
0
-15
0
-1
0
0
0
0
0
0
1
2
-14
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-11
0
0
0
0
0
0
2
1
-10
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
3
-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
-2
2
0
0
0
0
0
-1
1
3
0
0
0
0
0
0
0
-2
1
-1
0
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
0
0
1
0
0
0
-8
17
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
20
17
0
0
0
0
0
0
-1
-9
5
0
0
0
0
-1
-3
0
-12
-11
0
0
0
0
0
-1
-10
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
-2
8
-15
0
0
0
0
0
0
0
-13
35
0
0
0
0
1
-3
24
-16
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
-1
-21
0
0
0
0
0
-1
0
-4
3
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-7
-12
0
0
0
0
0
0
-3
-7
18
0
0
0
0
0
2
0
1
2
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
-15
19
0
0
0
0
0
1
12
-27
-41
0
0
0
0
0
-1
-3
6
-3
0
0
-4
0
0
-18
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
0
0
-3
-27
13
22
0
0
0
0
0
1
-1
7
-29
0
0
0
0
0
1
12
-28
-13
0
0
-1
0
0
-10
4
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
3
-2
-2
0
0
0
0
0
1
-6
1
14
0
0
0
0
0
0
0
-8
1
0
0
1
0
0
-2
0
13
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
0
0
0
0
0
-3
3
-8
1
0
0
0
0
0
1
0
2
0
0
0
-1
0
0
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
2
1
1
-15
-3
0
0
0
0
0
0
0
11
-22
0
0
0
0
0
0
-2
-4
-5
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
14
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
-1
-9
18
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
8
12
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
2
-1
-20
0
0
0
0
0
-1
0
-10
2
0
0
0
0
0
0
0
0
29
0
0
0
0
0
1
-12
-4
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
3
2
1
18
0
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
1
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
-20
0
0
0
0
0
0
1
6
-4
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
4
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
9
1
13
-15
0
0
0
0
0
0
1
-8
-6
0
0
0
0
0
2
1
-14
7
0
0
0
0
0
-1
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
-2
-12
-2
11
23
0
0
0
0
0
0
0
6
14
0
0
0
0
0
1
-2
13
-16
0
0
0
0
0
0
-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
-2
1
3
2
-1
0
0
0
0
0
0
1
6
-18
0
0
0
0
-1
0
0
2
6
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
-3
0
0
0
0
0
0
0
1
-1
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
-1
-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
-4
-2
17
-18
30
0
0
0
-2
0
2
8
-6
28
0
0
0
0
0
3
11
0
-22
0
0
-1
0
-1
-3
-9
27
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
8
0
0
0
0
0
-7
0
-16
-5
0
0
0
0
-1
7
2
0
27
0
0
-1
0
0
-8
-3
-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
-2
-15
0
3
9
0
0
0
0
0
-1
-19
-6
32
0
0
0
0
0
-9
10
-1
3
0
0
0
0
0
1
8
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
-2
-3
-6
10
0
0
0
0
0
-10
1
-15
16
0
0
0
0
-3
1
0
2
2
0
0
6
0
0
-7
18
-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
-3
-2
9
-13
28
0
0
0
0
0
1
2
-3
-15
0
0
0
0
0
-1
-3
11
1
0
0
0
0
0
0
1
-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
-8
27
-3
0
0
0
0
0
0
2
-27
-6
0
0
0
0
0
0
2
-2
6
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
-6
-10
15
8
-9
0
0
0
0
1
-14
-19
6
-3
0
0
0
1
7
-8
-5
-3
7
0
0
0
0
3
12
13
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-12
-1
-7
-24
-3
0
0
0
0
0
1
-23
37
60
0
0
0
0
1
0
-2
36
-35
0
0
0
0
0
6
-22
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
1
2
0
-12
0
0
0
-2
0
1
3
-3
35
0
0
0
0
0
0
-1
-7
-3
0
0
0
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
-1
-4
0
0
0
0
0
0
0
-27
2
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
-11
-17
53
0
0
27
0
1
0
-4
32
-18
0
0
0
0
0
2
7
-2
-18
0
0
0
0
0
-1
-19
-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
1
2
6
2
0
0
2
0
1
2
0
-55
-2
0
0
0
0
0
0
3
12
-7
0
0
-1
0
0
1
8
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
9
0
0
0
0
0
0
0
24
-19
0
0
0
0
0
0
-3
15
-6
0
0
0
0
0
-1
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
1
0
-1
-3
-7
0
0
0
0
0
0
0
-26
4
0
0
0
0
0
0
-1
-3
9
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
-18
1
-28
29
0
0
0
0
0
0
-10
0
-42
0
0
0
2
-3
-13
-17
-12
21
0
0
0
0
1
-1
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
-1
-1
7
0
20
2
0
0
0
0
0
0
6
3
-9
0
0
0
0
2
0
-6
-25
-3
0
0
0
0
0
-1
-6
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
7
9
-13
0
0
0
0
0
0
-7
-15
29
0
0
0
0
0
0
-3
-11
4
0
0
1
0
1
2
19
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
1
-21
9
0
0
0
0
0
0
0
6
-4
0
0
0
0
0
0
0
-1
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
-1
11
13
2
-48
0
0
0
0
-1
4
-18
-15
-40
0
0
0
0
0
-1
-38
-5
-1
0
-3
0
0
2
11
-46
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
-6
-23
-1
-6
0
0
0
0
0
1
0
7
-12
0
0
0
0
0
0
-22
3
26
0
0
0
0
2
-3
-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
1
1
-1
-7
-3
0
0
0
0
0
0
6
-1
13
0
0
0
0
0
0
-1
-16
4
0
0
0
0
0
0
7
-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
1
0
-4
-9
7
0
0
0
0
0
0
-1
-6
2
0
0
0
0
0
0
0
7
-4
0
0
0
0
0
0
-1
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
7
12
1
23
-3
0
0
0
-1
0
-18
-15
17
-10
0
0
0
0
0
6
14
-7
7
0
0
0
0
0
-3
-3
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
-14
-22
0
0
0
0
0
0
-3
-21
-9
0
0
0
0
0
0
-1
2
-6
0
0
0
0
0
-2
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
8
12
0
0
0
-1
0
0
1
-2
-9
0
0
0
0
0
-2
0
3
-14
0
0
0
0
0
0
5
5
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
19
0
0
0
0
0
1
-1
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
10
-11
-7
4
0
0
-2
0
-2
15
27
-30
49
0
0
0
0
0
1
-3
-10
50
0
0
0
0
0
0
-9
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
4
-13
-6
-16
0
0
1
0
2
2
-3
-1
-23
0
0
0
0
0
0
0
0
-14
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
3
0
0
0
0
0
0
0
-1
24
0
0
0
0
0
0
0
-4
-29
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-7
0
0
0
0
0
0
-1
11
-11
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
0
0
0
0
0
0
0
0
0
0
0
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
10
-23
0
0
0
0
0
0
-9
7
-25
0
0
0
0
0
0
-15
-1
3
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
2
7
6
0
0
0
0
-1
0
0
-6
19
0
0
0
0
0
0
-1
-1
-4
0
0
0
0
0
-2
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
1
-2
-6
3
18
0
0
0
0
0
1
0
-2
13
0
0
0
0
0
0
1
-29
-5
0
0
0
0
0
-11
30
6
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
1
0
7
-9
3
0
0
0
0
0
-1
10
-1
9
0
0
0
0
0
0
0
-11
-8
0
0
0
0
0
0
2
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
-8
-5
24
-3
-7
0
0
0
0
11
9
17
-27
4
0
0
0
0
2
-26
-11
-4
-21
0
0
0
-2
15
-26
-24
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
6
14
-9
0
0
0
0
-1
8
-4
2
-33
0
0
0
1
1
2
-13
-2
14
0
0
0
0
0
-1
-9
6
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
4
-13
10
0
0
0
0
0
2
2
-1
25
0
0
0
0
-1
0
-1
2
11
0
0
0
0
0
0
-1
3
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
11
5
0
0
0
0
0
0
0
0
9
0
0
0
0
0
-1
2
-8
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
12
11
-17
-6
0
0
0
0
0
-1
21
19
4
0
0
0
0
0
17
7
-4
-15
0
0
0
0
2
0
-10
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
1
-19
9
-10
6
-11
16
0
0
0
0
8
-18
16
10
-5
0
0
0
-4
-8
-4
20
29
-14
0
0
0
2
-7
-3
-12
-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
2
-2
19
0
0
0
4
0
-2
-3
-4
26
0
0
0
0
0
0
0
-6
-20
0
0
0
0
0
0
-2
8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
-1
-1
-10
11
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
0
0
0
0
0
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
11
45
0
0
0
0
-3
-3
2
-9
-1
0
0
0
0
0
0
-1
1
-3
0
0
0
0
-1
7
10
6
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
-16
4
-39
0
-17
0
-2
4
-1
-10
28
6
0
0
0
0
-2
-37
5
-27
11
0
0
0
3
0
-7
-13
-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
1
1
0
4
0
0
0
0
0
0
0
12
-7
0
0
0
0
-2
1
-3
-9
8
0
0
0
0
0
0
0
-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
1
3
-9
0
0
0
0
0
0
0
0
6
0
0
0
0
0
2
0
-1
-28
0
0
0
0
0
0
1
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
12
2
19
0
0
0
0
0
-1
-13
0
47
0
0
0
1
0
0
6
-11
-6
0
0
0
0
1
-1
23
8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
24
6
0
-30
0
0
0
0
3
-6
-33
-51
90
0
0
-3
2
1
-44
-12
-6
25
0
0
0
0
12
-19
-7
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
1
-7
4
-10
-16
0
0
0
0
0
0
3
-26
-5
0
0
0
0
0
0
3
-3
12
0
0
20
0
-1
-14
16
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
4
-8
14
0
0
0
0
0
0
0
-7
-15
0
0
0
0
0
0
-4
-2
-6
0
0
3
0
0
-2
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
-2
-4
19
-33
0
0
0
0
0
3
8
-4
-1
0
0
0
0
0
1
7
0
-21
0
0
0
0
1
-30
11
-8
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
28
-20
12
0
1
0
-1
-18
17
2
19
-17
0
0
0
0
-3
-6
-5
-22
-20
-16
0
0
-1
-1
-20
-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
3
-6
-13
30
3
0
0
0
0
0
2
2
-21
-1
0
0
0
0
0
0
8
-13
-5
0
0
0
0
0
1
-8
-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
-3
0
11
0
20
0
0
0
0
0
0
-1
4
7
0
0
0
0
0
0
0
-7
-8
0
0
0
0
0
0
-2
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
5
11
-41
35
0
0
0
0
0
2
6
-10
1
0
0
0
0
0
0
3
-10
-38
0
0
0
0
0
1
-9
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-2
35
-26
-3
0
0
0
0
-10
3
14
-34
-37
0
0
-1
-1
0
4
20
-6
24
0
0
0
0
4
8
5
-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
-1
0
0
-4
22
0
0
0
-2
0
-1
8
-10
17
0
0
0
0
0
1
-1
-11
19
0
0
0
-1
0
-2
-4
-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
-12
35
0
0
0
-13
0
0
-9
0
4
0
0
0
0
0
0
2
9
-24
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
0
0
0
0
0
0
0
0
0
-1
1
-2
12
-17
20
0
0
1
0
-2
-3
3
-35
-23
0
0
0
0
-1
0
2
0
-22
0
0
0
0
0
6
-6
-27
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
4
5
0
9
0
0
-11
5
7
36
-14
0
0
-2
0
0
-9
-6
-3
22
0
0
0
0
-6
-15
17
-6
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
-8
30
19
0
0
0
0
0
-2
-3
-8
15
0
0
0
0
-1
3
0
-2
12
0
0
0
0
0
1
6
-20
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
-10
-11
0
0
0
0
0
0
0
14
-1
0
0
0
0
3
0
0
0
6
0
0
0
0
0
1
-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
10
1
5
-10
15
8
0
0
0
0
-1
-1
0
39
-1
0
0
0
0
0
-1
-1
6
-2
0
0
0
0
0
-8
-10
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
-12
-1
2
15
-15
-25
-2
0
0
0
1
0
2
12
-68
55
0
0
0
2
2
-1
16
-4
-48
0
0
0
0
-3
-24
8
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
-19
12
-20
-3
24
0
0
0
36
6
10
14
20
-6
0
0
0
0
15
-11
22
-5
-20
0
0
20
0
3
-12
-23
-32
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-7
-29
33
-37
0
0
0
24
0
-17
16
-42
5
0
0
0
0
12
5
6
22
-39
0
0
15
-5
-4
-33
-10
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
25
34
73
-55
22
-10
0
0
22
0
4
-20
2
-20
10
0
0
0
9
-22
1
18
-7
8
0
7
-8
-14
7
36
31
-7
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
1
21
-2
-4
10
17
0
-30
0
4
15
-14
-11
-17
28
0
0
1
-28
-48
13
46
-5
-18
-28
-11
-4
11
21
-11
-2
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-4
0
0
3
2
0
3
0
-40
31
7
1
0
12
-2
11
1
0
-14
-10
1
0
2
-8
-39
-25
8
-2
17
-65
-19
-35
-7
-139
-87
-58
-21
0
-156
-85
-147
-28
-14
-1
-7
0
0
0
7
13
-8
0
0
-15
17
0
1
0
-15
10
-2
1
0
8
-5
1
8
-13
2
-20
26
-18
-2
31
0
0
20
6
-60
-14
32
29
4
-14
23
7
19
39
0
1
0
0
0
1
-1
-1
0
0
-1
2
1
0
0
-1
8
-2
0
0
2
17
19
6
0
12
2
57
2
-16
-10
-4
8
22
-15
3
-3
23
27
-5
26
10
20
37
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
27
-1
-2
-1
-4
-14
17
39
10
10
4
21
13
-5
0
24
36
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
7
14
-7
-6
0
38
-27
-10
1
0
-4
32
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
20
6
2
0
0
-18
0
3
0
0
-10
-20
-4
-1
0
6
19
12
6
0
28
-14
7
0
-1
-3
2
-16
28
7
-26
-10
-5
5
-12
-46
-12
-11
-27
-11
-16
-21
-28
-15
23
0
-2
-1
0
0
-1
-2
-2
0
0
4
2
5
0
0
4
11
4
7
0
1
6
-18
-9
13
-19
6
5
1
-4
16
2
17
44
38
-14
-7
21
15
-13
26
10
5
5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-1
11
-9
-10
1
37
-33
-13
-36
15
19
5
2
8
31
13
10
25
5
-5
17
37
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
1
0
0
0
-7
-17
13
16
3
11
-4
4
30
-3
7
8
1
-1
0
35
-3
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-2
-1
0
-11
-22
4
6
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
-2
-1
1
0
0
-4
1
-1
0
0
-4
11
-7
-2
0
-11
-9
33
15
-6
-23
-7
-3
35
-3
-19
13
-14
-60
47
0
7
17
-18
1
21
-14
-5
-30
-1
0
0
0
0
0
0
0
0
0
0
1
-6
0
0
0
-4
1
-1
0
0
0
2
17
2
-4
-6
-17
-6
3
-4
44
6
4
7
0
-9
5
31
9
-14
38
9
5
5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
0
0
1
32
-7
3
-7
30
16
-17
12
-18
40
10
12
3
15
-42
11
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
1
-3
0
0
-1
28
1
-7
0
18
-60
9
18
0
-1
-52
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
2
0
0
0
1
9
-9
3
0
3
43
-10
18
-15
20
19
1
27
-2
16
3
30
-51
18
38
-33
-40
-13
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
-21
10
6
-5
3
9
-5
19
-6
27
8
25
6
2
31
-18
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
-1
1
0
3
-7
15
22
0
5
-49
-58
4
0
0
44
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
8
-9
-1
6
-9
4
42
-12
-2
24
5
-15
30
40
46
-12
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
0
0
7
7
-3
-4
0
-23
20
-21
-65
-1
0
42
-26
-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
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
2
1
0
0
0
-5
-1
0
0
0
66
-3
0
0
0
-1
-21
-1
0
0
-15
-8
-2
-3
0
-32
-23
-15
-4
-1
-31
1
-23
-16
3
48
-31
-10
-26
-12
-66
-3
-82
-17
-42
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
2
-8
-1
0
0
-27
15
-6
0
0
-10
-9
15
-47
1
35
-13
2
-15
6
-2
-15
-12
9
-20
-10
-2
-9
-16
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-28
8
-11
-12
3
-18
19
12
1
11
-13
1
-2
10
0
-40
7
-2
-22
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
2
-1
0
33
20
-11
12
0
4
-4
-14
-17
0
16
-44
-9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
12
11
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
1
0
0
0
11
-2
0
0
0
-9
9
0
0
0
27
1
8
-6
0
-4
33
-47
-29
1
-4
39
50
18
24
-9
1
-2
-14
11
-1
-12
-55
-6
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
7
-4
8
-1
0
4
-36
1
-3
-19
-19
-3
8
5
5
-5
2
4
10
-11
5
-24
-12
-29
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
6
-17
9
8
-18
20
10
-7
27
1
1
-4
-4
-5
-27
23
-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
2
0
0
-1
-23
1
-1
0
-69
-41
-24
8
0
1
-44
-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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
16
46
31
-18
-18
11
4
-16
53
16
-10
7
-3
11
10
11
-19
-37
-22
-9
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
-22
26
3
6
7
4
10
9
-2
2
13
-2
8
-2
-14
-8
5
3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
7
0
0
-8
45
-37
-13
-32
-17
-12
-46
-48
0
-11
-49
26
-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
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
2
0
-17
6
-2
-38
0
8
6
68
7
37
7
16
0
2
3
9
-30
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
-2
0
0
0
0
9
8
-13
8
-7
-27
4
-7
-72
-53
6
21
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
-1
-3
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
0
-3
1
1
0
0
63
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-9
-6
-6
-10
0
8
-19
10
-44
0
-53
-7
-76
54
-9
-30
8
-20
-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
-2
-11
-16
2
0
-24
30
-10
-8
22
-4
-8
7
-14
1
-12
17
-7
-24
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
8
0
21
-4
-6
-1
-7
21
6
-6
-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
-12
-16
48
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-24
23
-8
0
-11
7
-23
8
-16
2
14
-25
-2
-35
12
-10
46
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
-3
0
4
3
0
-38
-2
15
9
-49
17
4
2
12
-13
-4
-47
-6
-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
-44
11
-10
0
2
6
-8
-17
-27
0
0
49
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
7
-1
-21
22
-3
16
11
7
17
7
-3
8
-6
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
-9
1
0
32
-5
-35
-65
14
-15
-1
-3
-2
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-4
-18
0
-2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
42
-24
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
3
15
3
0
0
-7
-40
12
-9
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
4
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
2
0
0
0
0
41
18
0
0
0
-5
60
26
0
-71
-23
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
61
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
1
12
8
6
-6
17
22
-34
17
-9
4
5
-20
-23
1
-8
-8
-17
10
-24
-10
3
-5
-8
16
-6
25
35
2
17
42
53
-7
22
41
50
50
46
11
52
37
51
-52
-19
-7
-7
3
-22
15
-14
-3
-9
-13
14
-9
5
-7
5
-2
1
-3
-28
28
5
10
6
-7
-2
-17
-13
4
8
15
21
13
8
23
4
6
0
8
7
11
8
9
13
33
2
6
0
0
0
5
-3
5
0
1
2
-7
8
-4
2
-5
-8
4
8
3
15
42
19
-12
-6
20
-2
10
-25
-31
33
20
8
8
-24
39
14
29
0
24
-16
19
3
19
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-3
39
34
-1
0
8
25
4
4
40
8
9
22
-36
-12
-1
14
8
-15
1
-7
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
2
0
0
0
0
5
7
9
0
30
11
-4
36
0
2
-6
4
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
46
0
0
0
0
0
0
42
-2
4
8
0
24
-16
-4
9
-20
-4
-3
10
-14
-17
25
0
-4
-2
-23
4
6
16
-1
-26
17
11
1
20
13
5
15
1
9
14
-12
12
27
22
7
44
3
30
6
-6
1
-7
-8
3
-1
32
-10
-7
0
-1
-8
-4
-1
23
4
-12
14
15
0
29
25
1
-16
2
5
30
-9
-14
15
-3
-2
13
7
5
20
-20
13
10
7
7
17
6
9
9
-10
0
0
0
0
0
0
0
0
-1
0
0
1
0
-6
0
0
4
-28
-8
-3
-6
-21
-33
8
5
59
8
11
-12
6
24
14
6
-1
0
8
4
8
-5
5
39
6
4
-2
35
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
17
16
2
-34
6
10
14
10
-3
-4
-16
27
6
-2
0
-27
24
33
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-41
-9
2
0
-34
-28
12
-7
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
8
1
2
0
0
-5
3
7
1
0
-18
-12
-17
10
0
11
47
-2
40
-24
-28
1
21
43
-36
-9
7
3
17
16
-17
7
-4
-3
7
-13
14
9
9
-10
32
17
34
8
-36
0
0
0
0
0
0
0
1
0
0
3
-14
1
-3
0
-6
46
-35
20
0
17
10
9
-11
12
9
-15
13
-13
3
11
-1
19
-6
-2
-29
4
-4
-2
-11
-2
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
-8
27
-13
4
4
-53
-64
-13
-13
31
-2
16
-6
20
-1
2
11
-10
2
-12
18
24
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
-3
-11
4
0
-6
81
-14
-6
0
42
33
-39
-2
0
-1
71
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
-1
5
0
2
-5
32
-15
25
-25
0
31
-26
9
-6
10
-31
24
-7
22
6
-3
-20
7
-11
29
7
12
-10
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
7
1
-7
-18
9
-9
21
13
13
-5
2
2
22
2
-4
-20
-3
-6
12
23
-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
9
12
11
7
0
-6
-4
6
14
1
45
-32
-21
-24
0
-2
-26
-51
-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
-2
3
-3
1
-16
33
31
4
1
34
39
8
4
-25
-10
28
32
-9
51
19
14
-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
-7
1
-1
0
0
-15
-41
8
8
0
-29
1
-58
-44
-1
0
-35
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
1
0
0
2
8
4
-2
0
28
-5
-25
-6
0
0
-14
19
8
-1
2
-1
-24
-7
26
-12
-24
-13
2
-24
16
-17
44
-2
13
12
12
7
31
50
3
28
21
39
72
6
1
0
0
0
2
-3
3
7
0
4
-33
6
-8
0
-55
-17
1
-12
3
-57
-13
-8
8
26
-35
-11
-16
-60
-3
17
-6
-6
11
13
-34
-8
-8
5
6
5
-19
8
14
64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
0
-2
0
11
0
-45
-80
13
16
-34
23
-5
-6
16
27
-23
-6
-2
3
23
-22
18
1
-8
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
8
-8
4
13
-26
-33
18
0
-2
-21
-39
-14
0
32
-12
-1
61
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
1
29
-7
0
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
0
0
0
0
0
0
-1
1
0
0
0
-4
6
3
3
0
29
11
3
6
0
0
6
-15
14
7
24
8
21
11
-28
-18
20
-21
-20
22
-2
12
2
25
14
4
3
5
23
27
15
16
26
27
7
0
0
0
0
0
0
0
0
0
0
11
-1
-1
-7
0
3
-33
-33
-18
-3
24
1
0
-16
-1
-12
-2
-43
-36
11
6
3
-10
30
11
-40
-1
-13
-3
4
0
10
-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
4
2
0
-19
31
-7
10
-4
-19
-15
-18
-2
41
-7
-22
0
-7
2
15
3
-8
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
11
0
0
-5
-54
-22
36
0
-26
24
1
25
0
5
-11
-26
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
8
-27
-8
9
-18
1
18
-32
-45
15
8
22
0
43
-10
11
3
-11
-2
2
-28
27
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
3
2
-1
-33
-17
3
-42
-42
-14
-5
0
13
2
-10
-12
-28
-25
-3
-17
-36
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
2
-3
-5
0
-8
16
5
-11
-66
-34
-26
-51
-23
-16
-1
-6
-21
5
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
2
-10
5
-18
1
22
0
-29
-14
4
9
6
23
-3
20
-37
-20
-22
-56
-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
5
-2
13
0
-3
-5
22
-20
8
-4
-39
-93
-36
39
-14
17
10
95
-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
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
0
-2
1
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
1
-4
0
0
0
28
-15
1
-9
-2
19
-38
-86
-40
21
12
-42
-3
34
-15
8
-14
47
4
59
36
38
30
14
9
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
22
-24
-10
-21
0
11
-27
-24
-43
27
-23
-18
-37
-39
32
3
69
-9
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
7
0
0
-3
0
33
-31
24
26
0
-2
-25
0
23
31
10
-6
12
82
24
0
0
0
0
0
0
0
0
0
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
-35
-12
18
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-19
55
18
-2
13
-19
1
21
-23
5
17
-9
-35
-18
6
-23
7
-34
26
0
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
35
-4
-10
0
-26
-23
-38
25
-22
-27
4
-2
-35
-19
19
-51
-2
-45
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-73
-1
-4
0
7
2
20
-15
-68
0
-1
13
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-46
4
0
-14
-16
6
-4
27
0
22
49
-22
17
16
87
72
-22
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
4
0
0
0
-24
51
-8
-4
-1
8
-9
27
-1
6
18
-2
-28
-17
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
-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
11
0
0
3
-6
-2
1
0
0
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
-41
-9
0
0
0
10
-17
-4
1
1
-3
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
6
0
0
-14
61
59
-5
17
-2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
69
68
0
0
-1
36
12
3
0
-80
24
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
8
43
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-2
7
-15
8
22
15
1
-2
12
-33
-1
-43
15
13
-9
-25
-9
8
7
-6
13
-7
14
-7
-4
-2
1
-4
24
5
16
25
30
45
2
31
26
58
39
51
20
24
22
45
-60
-26
-6
-11
2
-30
16
-15
11
-7
-38
15
-2
14
-1
16
-14
5
-25
-26
-13
-1
0
1
-14
-5
-15
-14
2
7
5
6
-4
13
5
2
-2
10
5
-3
-2
-18
-8
5
-2
2
10
0
0
0
3
-3
4
0
1
1
-3
14
-3
2
-2
-30
7
-2
-2
13
50
38
-41
-13
13
1
-6
-14
-39
26
16
-1
2
-7
14
8
24
0
10
-27
-5
-14
8
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-3
34
30
-1
0
21
5
-19
1
36
10
8
30
-23
-28
-9
23
3
8
1
17
-56
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
-16
3
15
24
0
28
21
-12
43
0
2
2
27
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
54
-3
-23
16
0
48
-23
-11
8
-21
18
8
25
-17
-24
14
11
-11
7
-9
1
12
12
-2
-15
1
13
-1
13
16
4
-1
9
7
5
-11
14
28
15
20
30
14
32
15
24
0
-11
-7
2
-1
22
3
0
0
1
-2
-5
4
8
5
-12
33
12
15
27
-15
7
-22
9
4
35
-6
-4
6
18
9
22
-5
3
6
-1
7
7
-3
-6
14
2
7
24
-12
0
0
0
0
0
0
0
0
-1
0
0
1
0
-6
0
0
6
-11
-3
-3
-1
-22
-63
9
1
33
-3
35
-11
5
23
19
20
-12
-5
11
12
-7
-8
25
16
30
3
6
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
22
38
-7
-49
3
-3
21
27
-24
-3
-3
45
5
15
0
-16
11
27
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-40
-1
1
0
-30
-34
17
-3
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
4
-1
2
0
0
-6
-2
4
1
0
-9
-17
-10
5
0
-3
51
2
26
-42
-1
-38
5
11
-22
-21
-8
8
-4
10
5
-7
10
16
11
1
3
15
-15
5
35
4
23
5
-33
0
0
0
0
0
0
0
1
0
0
3
-11
1
-3
0
-6
47
-27
16
-3
21
31
14
-29
-7
1
7
-9
5
-7
5
-1
11
19
6
7
-6
-4
6
-20
-5
-13
44
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
35
-16
4
4
-48
-58
-16
2
17
43
20
-2
33
26
21
12
5
2
24
24
35
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
-10
4
0
-7
56
-13
2
0
21
21
-44
-1
0
-2
90
68
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
13
-27
21
-23
-13
12
-15
-6
-7
14
-65
28
-27
6
-15
14
-15
6
-4
31
13
19
-25
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
8
1
0
-27
3
10
21
7
-33
-9
5
-16
50
-32
13
-13
18
-40
50
22
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
9
10
10
7
0
37
22
10
15
1
11
7
14
-19
0
0
-56
-45
-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
1
-2
3
-3
1
-24
25
37
5
-6
30
53
9
32
-22
15
12
53
-63
32
8
-2
-67
-33
0
0
0
0
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
-10
-32
9
18
0
-25
2
-44
-29
-1
0
-36
-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
1
0
0
0
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
0
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
0
0
-18
-4
3
3
0
23
1
-19
-8
0
-12
16
6
7
1
11
14
-31
-8
28
10
-9
-6
-20
-29
6
30
3
-3
18
-12
11
3
7
37
37
13
-23
20
53
6
1
0
0
0
5
-2
3
7
0
1
-37
4
-8
0
-45
-7
5
-14
3
-10
-39
-30
8
20
-50
-23
10
-22
-16
-21
-13
-9
-18
18
-33
9
-24
-14
11
7
5
-3
12
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
0
-2
5
12
0
-39
-38
19
19
-44
26
-18
-21
32
-12
-7
-10
-4
-5
-14
20
30
13
-7
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
1
-4
6
-8
0
22
-49
-33
24
0
4
-11
-15
-15
0
11
28
-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
0
0
0
0
0
0
0
0
0
28
0
0
0
1
27
-2
0
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
0
0
0
0
0
0
-1
1
0
0
0
-5
6
3
3
0
12
19
6
9
0
-1
-4
-7
17
6
-19
26
19
33
-36
-19
31
-30
-11
-10
6
-9
1
20
4
20
-17
-10
13
-12
14
26
-2
-8
-2
0
0
0
0
0
0
0
0
0
0
11
-1
-1
-7
0
3
-29
-38
-19
-3
30
10
-17
-17
5
-14
-22
-45
-33
21
-2
29
12
-5
-19
9
3
-19
2
37
22
2
-11
20
15
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
-19
29
10
11
-4
-25
-3
-22
24
21
11
3
-6
-16
24
9
0
1
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
11
0
0
-11
-51
-26
32
0
-45
15
-8
26
0
8
-17
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
28
-17
5
11
12
-7
24
-24
-45
-21
-9
-9
-3
53
-9
-13
20
-17
-19
-16
-33
43
-6
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
5
1
-1
-3
8
0
-38
-36
-7
-3
-1
-2
-7
-17
-8
-57
-36
-24
33
-36
-34
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
7
-3
-2
0
-3
-14
22
-4
-52
-28
16
-58
-9
-15
-1
-8
-17
-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
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
6
0
12
-29
12
-11
0
29
-4
-30
-20
-11
0
55
-14
7
7
9
-12
-36
-59
-65
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
12
0
-2
-19
27
-14
7
3
42
-73
-39
61
-9
19
39
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
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
1
0
-1
1
0
0
-1
50
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
1
-4
0
0
0
35
-6
1
-13
-2
35
-41
-96
-43
20
-11
-21
-6
18
-13
31
-51
37
-29
66
10
25
34
12
11
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
18
-21
-3
-23
0
8
-26
-26
-20
35
-80
-17
-65
-5
51
27
64
3
-20
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-3
0
37
-56
63
15
-7
16
-28
4
23
26
10
2
0
55
17
0
0
0
0
0
0
0
0
0
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
-25
-8
22
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
14
0
0
0
-33
-3
48
22
-3
41
14
15
6
-14
-17
9
-12
-20
-12
0
-28
9
-1
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
6
18
2
-5
0
-40
-8
-19
41
-22
-34
-7
4
-41
2
-4
-49
23
-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
2
-54
-2
-2
0
7
-37
33
-13
-58
0
0
16
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
1
0
-24
-10
6
-16
38
-6
57
86
-34
35
-59
84
52
-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
4
0
0
0
-28
42
-9
-2
-1
2
-4
18
-9
-5
16
-2
-21
-11
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
-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
10
0
0
3
-6
-2
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
18
-5
-6
1
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
6
0
0
-9
53
47
1
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
2
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
0
79
65
0
0
-1
52
13
1
0
-79
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
60
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
-8
1
-12
21
13
7
2
-5
-12
-11
14
16
-37
-9
-8
-12
-12
-5
3
0
26
-32
11
-6
-9
7
-15
7
23
32
24
17
-30
45
25
38
20
-31
24
-10
-10
21
0
-3
1
-1
2
3
-3
-1
-27
-14
7
19
2
0
-12
11
-49
-28
14
-3
-3
-30
2
11
-1
-7
5
-13
23
27
-3
12
2
23
-19
-10
23
-6
32
-6
7
1
-34
-11
-6
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
1
-21
-11
28
-1
-12
29
14
-23
-2
-1
-16
-26
23
-2
11
-4
-8
0
22
-14
-24
12
12
9
39
25
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
1
0
0
4
-7
9
0
24
12
11
-4
-3
0
-49
31
-55
2
0
16
11
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
-18
2
0
0
10
7
3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-2
0
-2
17
4
-10
2
-4
-7
-4
4
-13
0
20
11
7
20
15
19
36
-3
-18
4
18
-31
26
-4
0
-2
-28
7
-32
-3
-32
-6
-7
-42
-10
-11
-22
24
15
-7
0
0
0
0
0
0
0
-2
2
1
0
2
-4
1
2
-7
41
18
-27
12
-36
17
24
7
20
6
-9
43
6
-2
14
18
-20
36
10
13
-6
1
-11
-6
15
-17
6
8
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
-2
2
3
-35
-12
0
2
-1
33
-44
-4
1
15
41
-2
-17
-30
39
19
24
-24
53
0
26
-13
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
-2
0
-19
22
-13
-1
6
2
18
-2
0
1
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
1
0
-2
12
0
-7
18
-73
2
13
7
-34
-9
-2
-41
6
-30
-20
24
-27
0
29
10
6
-23
17
35
-10
-46
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-4
-3
0
0
0
-19
0
5
2
28
-40
18
-26
-20
-4
14
0
39
34
11
-25
-1
43
20
51
16
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
1
0
0
9
-2
0
0
6
35
14
-10
18
12
10
1
-27
20
2
10
-3
42
-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
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-2
-4
-4
-6
-41
-3
-18
6
29
11
-18
18
-9
33
21
10
30
-27
-4
0
-12
-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
-6
-9
11
-9
-3
-21
19
-15
0
-7
44
30
-18
8
-8
9
22
-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
-3
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
-1
0
-1
-3
1
1
1
0
0
-1
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
1
0
-3
-2
0
-2
1
8
10
-2
15
0
11
4
4
-14
6
9
2
1
-19
19
-26
-13
-13
-35
-29
-14
36
-53
43
4
40
-36
-15
14
2
-5
14
26
9
-22
0
0
0
0
0
0
0
0
4
0
0
-3
1
-1
0
2
-8
11
3
1
18
-24
-15
-10
1
3
-43
23
3
-16
-47
-16
-3
-33
8
-18
32
27
-38
-23
-50
-35
33
-43
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
3
8
13
17
4
32
45
6
15
-2
-11
-51
71
35
23
-21
7
30
17
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-3
1
0
-3
2
2
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
2
0
-10
3
6
-3
4
-4
29
15
34
5
0
40
-16
-13
-2
30
6
12
-3
3
50
-18
-55
-23
-17
11
20
-9
2
47
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-4
0
-2
-1
-2
1
9
0
0
-22
-46
3
-7
16
3
13
4
8
-4
24
55
-23
9
-32
78
-28
-1
9
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
4
1
0
-13
-13
-1
4
-7
-12
0
2
-4
11
0
-6
18
-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
-1
3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-11
13
6
-8
17
2
10
-1
-12
-46
3
-3
11
-29
-13
-19
-19
-13
-16
3
6
7
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
-11
16
-6
0
9
11
-12
-2
0
22
27
-20
-25
-18
30
-22
-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
-1
0
0
16
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
1
0
-1
-2
0
0
1
-8
-1
1
4
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
-1
1
0
3
-1
-4
-29
-17
-20
0
34
6
8
8
-1
33
-16
-12
1
-8
-12
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
1
0
0
2
1
3
-1
-1
15
11
0
-17
0
-42
22
6
-3
10
1
1
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
-1
0
0
-9
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
-1
3
0
11
1
-2
-2
0
5
-27
-1
-10
-2
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
6
-1
0
0
0
-1
-33
3
-4
2
-8
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
1
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
-33
-6
0
0
0
-20
0
2
0
0
30
-2
6
0
0
0
-19
2
-1
0
-5
42
9
-21
0
-12
18
-5
-3
-14
13
33
30
29
44
2
-9
5
19
4
-1
0
0
0
0
-3
-4
-1
0
0
-6
-4
1
0
0
10
-13
0
0
0
-21
-18
21
-9
-8
-22
8
-32
2
6
13
-34
37
5
-17
-18
14
5
26
-3
2
-9
5
19
4
2
2
0
0
0
-27
-2
0
0
0
-10
-7
0
0
0
-17
-3
-10
0
0
-9
-2
33
0
0
-38
-2
-9
-39
-11
32
20
-27
13
32
51
14
11
45
103
2
-9
5
19
4
1
-1
0
0
0
-6
-3
0
0
0
-22
-27
3
0
0
-10
-2
-3
0
0
-21
-1
11
2
-1
4
6
-41
-4
-4
18
0
38
3
-9
-9
31
8
-11
25
19
53
14
45
-4
2
-1
0
0
0
-15
-4
0
0
0
-10
-8
3
0
0
-13
-19
-3
0
0
-6
-38
15
4
0
-51
-8
18
-27
2
14
-32
4
19
7
-2
9
-21
-6
11
3
12
0
-29
33
-4
-5
0
0
0
0
0
0
0
0
-7
0
-2
0
0
-12
-9
4
0
0
7
-16
16
0
0
-15
15
3
-44
-6
-9
-11
-3
-64
-6
-24
-1
12
-8
6
12
12
31
11
-8
-4
-5
0
0
0
-1
0
0
0
0
-7
-1
-2
0
0
6
-8
-1
0
0
-3
2
2
-7
0
-13
-21
-10
-9
-19
6
4
-31
-58
11
-7
7
7
-5
10
11
-10
-3
-38
-50
-4
-5
0
0
0
-18
0
0
0
0
-12
-1
0
0
0
-12
-2
3
0
0
-9
3
-9
-4
0
-44
19
2
1
-10
7
4
21
5
-7
27
-4
-8
-5
-17
4
-15
-19
-7
0
3
0
0
0
0
2
0
0
0
0
0
-4
0
0
0
-11
-1
-1
0
0
2
-19
13
3
0
-34
-20
-8
-8
13
16
-9
20
20
-10
-40
-11
2
-5
-6
0
0
0
0
0
1
-1
0
0
0
-1
-1
0
0
0
-3
4
0
0
0
-22
-1
-7
0
0
2
5
-4
3
0
-36
-10
2
-1
-15
19
-6
-42
-4
21
9
-13
10
2
15
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-4
6
0
0
0
-37
0
0
0
3
-9
1
-20
-8
9
-2
-2
-4
11
-132
15
-12
4
-9
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
2
1
0
0
-3
0
-1
0
0
21
-24
10
-3
0
-59
3
1
-5
-3
14
-49
-46
-19
2
34
9
-3
-26
21
-32
9
-26
-15
2
0
1
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
16
-8
0
0
0
4
15
0
0
3
0
-34
-9
-4
-15
21
-29
-8
31
-6
2
-16
24
2
-19
7
-5
-14
17
0
0
0
0
0
-21
-4
4
0
0
0
-1
1
0
0
1
-6
0
0
0
3
-16
12
-4
0
-12
-53
-12
45
-10
-44
106
-11
31
36
0
-17
-12
-25
-37
-22
2
-15
-35
10
0
0
0
0
0
-12
-6
4
0
0
2
1
0
0
0
-12
-6
0
0
0
0
-28
3
-4
0
-16
12
10
-2
7
-1
13
8
11
3
-10
10
-11
-20
3
-77
6
-39
-47
-9
0
0
0
0
0
0
-2
-6
0
0
0
-4
3
0
0
0
1
-4
0
0
0
-45
24
0
-1
-8
-16
-38
9
-8
-7
9
17
0
-12
-15
9
-18
-19
8
-34
-13
15
-32
-36
0
3
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
-2
1
0
0
0
13
11
0
0
-2
-2
-9
3
-28
6
-43
-21
-29
30
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
1
0
1
0
0
2
3
1
0
0
0
0
11
2
0
1
-23
11
-13
2
-23
18
-55
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
3
1
0
0
0
-17
26
-1
-5
4
16
-16
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
-2
-1
0
0
0
2
21
1
0
10
1
19
-1
-2
0
50
-31
-7
3
-74
-38
-5
8
9
-18
-25
-39
49
-15
0
0
0
0
0
0
0
-2
0
0
0
0
4
0
0
0
0
4
0
0
0
0
2
0
0
1
-2
-19
25
0
-13
-8
13
17
-13
-6
7
-17
36
-17
-39
-10
34
15
-20
0
0
0
0
0
0
0
0
0
0
-8
-4
4
0
0
0
0
-1
0
0
0
4
6
0
0
-3
-63
12
-12
-4
13
-48
1
9
5
-19
-12
-7
7
-31
-9
-84
-15
-38
-53
0
0
0
0
0
0
0
0
0
0
-15
-7
3
0
0
2
0
0
0
0
0
3
10
-1
0
-6
-12
3
0
-11
-9
-17
57
-21
-1
-74
48
-19
6
-19
20
-52
-58
-33
-9
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
4
0
0
0
0
18
1
0
0
-10
2
-27
2
-8
-22
-33
-22
-27
-50
1
-39
13
87
-3
-1
-1
-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
-1
0
3
-41
-17
-1
-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
2
-8
1
0
0
6
-11
-20
-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
-3
-8
10
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
7
-3
0
0
-1
-54
13
-18
-2
-6
5
28
6
-10
-49
-18
-31
-18
-66
-45
3
-42
-121
-69
0
0
0
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
13
-4
-2
-24
-18
-31
-22
-25
-50
-32
-48
-1
-6
-33
-13
-52
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
13
-8
0
0
0
0
0
-1
0
-7
-5
-16
1
0
16
2
28
37
-16
41
-16
-47
21
7
-18
-2
19
17
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
11
2
0
0
0
-1
0
0
0
0
21
-46
-4
0
40
23
27
50
-16
-49
-18
-32
30
12
-51
22
30
-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
-1
0
0
0
0
-3
0
30
-39
-20
-1
19
-17
-6
34
21
-11
-32
10
39
75
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
-10
-1
-26
-11
28
11
-1
11
-57
-66
-56
-19
-1
-28
-103
-58
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
3
15
-15
28
-17
5
24
6
-8
-18
2
-3
-62
-106
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-11
-13
1
0
0
-6
-10
-21
7
-12
-50
-20
4
-26
-6
-30
15
41
19
-52
10
-24
-55
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-11
24
9
0
0
-3
-1
7
0
2
-51
-11
-21
24
20
-24
-38
-96
-5
-2
-1
60
0
13
0
0
0
0
0
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
-8
1
0
11
-10
67
-15
12
39
3
-6
14
-11
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
6
0
-7
2
-5
6
0
8
-5
-46
27
0
0
-126
-19
-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
-1
-11
0
0
1
27
-21
0
0
-49
1
10
0
0
-33
-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
-6
67
-6
0
0
1
14
36
-16
0
-1
-50
-30
77
0
-5
15
-17
-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
2
-19
-8
-6
3
2
-45
18
33
-1
3
33
-1
25
-9
35
4
38
47
-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
-27
0
1
0
0
15
10
11
0
-2
92
19
-5
0
-10
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
-18
0
0
0
-18
-67
0
0
-17
-18
-73
0
0
-115
-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
-1
0
0
0
0
-13
3
0
0
4
23
-13
0
0
-3
0
-66
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
11
-10
0
0
17
-32
-33
0
0
-49
0
-27
0
0
0
0
0
0
0
0
0
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
7
5
-16
0
-34
7
-20
-9
0
2
9
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
13
-1
9
0
0
1
6
-10
0
0
-2
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
1
0
0
0
0
18
0
0
0
1
-32
0
0
0
-22
-64
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
1
2
0
0
0
2
-61
0
0
0
-38
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
4
-12
20
10
-55
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
9
29
0
0
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
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
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
-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
-17
-19
-29
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
1
-41
2
3
-8
0
27
-19
-13
8
3
17
-15
52
23
8
54
45
10
-7
28
-1
7
47
2
-3
13
32
15
36
-5
36
37
58
32
52
28
24
12
9
18
-21
14
0
0
0
30
-23
-82
-19
0
-23
-30
19
-2
-3
15
-5
-3
16
5
7
33
56
-1
-44
54
25
38
20
45
44
42
26
57
30
26
21
26
59
38
28
24
12
9
18
45
-8
5
-1
0
-19
-32
-9
17
3
17
0
34
-13
-3
4
-15
-28
11
9
-45
19
7
0
10
-18
20
0
-13
6
6
28
10
31
60
32
23
16
35
-8
28
24
12
9
18
-14
-5
2
-1
2
0
9
-16
2
-1
-2
0
33
19
-1
-15
7
1
23
6
10
60
29
8
-8
50
17
16
16
20
39
31
21
8
30
43
32
23
26
49
33
45
57
65
37
51
-11
0
0
1
22
-15
-8
-2
0
32
-4
6
2
8
-6
37
-1
58
40
-13
-19
17
32
28
6
21
23
14
-25
20
22
35
14
30
6
38
40
33
22
36
24
43
71
59
-15
-14
5
10
1
28
14
-7
3
0
-22
1
-19
1
-2
-23
-10
6
-5
-9
13
8
-13
14
-23
-9
40
27
5
4
18
9
5
4
12
15
9
-4
6
-10
19
8
40
11
1
-15
-14
5
10
1
25
-3
-27
3
-2
22
22
13
-15
0
-7
24
28
-9
8
24
34
23
-20
23
14
0
11
19
-20
23
28
15
4
5
25
21
21
-3
21
28
24
10
16
14
-15
-14
5
10
1
39
-1
-21
-2
4
-15
-23
-1
-28
-1
10
-1
34
2
-35
0
-7
17
-9
-39
-7
33
-17
27
-9
4
12
11
18
-8
39
13
10
3
-1
21
-1
-5
1
2
3
-45
-4
-4
0
4
-22
-8
16
0
-41
13
11
-1
0
27
-34
14
-26
0
-32
-25
20
11
6
-26
10
-16
26
25
9
14
30
8
44
13
14
11
5
-14
0
0
0
0
0
-15
-18
1
-3
0
-5
12
2
4
0
6
-42
10
20
-7
-3
-6
-2
2
-13
36
-36
46
4
-7
-65
-22
26
5
-4
18
24
-19
-12
28
17
21
11
-3
15
0
0
0
0
0
0
-5
-3
-3
1
0
17
-14
-10
0
-2
-14
4
9
1
-3
1
-14
-25
-7
63
-12
-23
44
-33
33
-3
-3
11
-10
29
24
32
11
7
12
14
10
6
13
0
0
0
0
0
-3
21
-1
-2
0
8
18
-6
9
-1
28
14
24
-25
1
-3
5
23
37
-15
25
17
9
-31
18
-43
12
-14
0
23
37
4
-4
3
-9
-6
20
18
16
15
55
13
46
30
28
0
-31
-1
-3
0
1
16
1
0
1
-1
1
8
2
-7
2
3
-8
-13
-22
25
36
18
-37
17
-54
-10
-7
-60
-10
-30
-5
12
7
19
6
18
7
8
17
-4
38
33
23
14
0
0
0
0
0
-16
-18
6
-13
20
12
-37
45
0
-3
-1
-5
-10
-32
-3
92
8
36
11
8
-1
-8
-2
-11
-20
13
15
2
28
68
11
13
30
-25
-6
4
24
23
10
-2
0
0
0
0
0
-14
-8
49
-45
6
17
2
40
26
0
12
-6
-22
-27
3
1
-19
-28
-1
-4
-2
20
32
-22
25
5
20
28
10
28
-5
12
16
10
29
-5
-8
-1
1
15
0
0
0
0
0
4
-6
5
0
-15
-4
-10
14
37
0
0
0
-29
12
-7
6
1
3
-26
-53
-22
48
5
24
6
14
3
21
3
-6
-8
5
5
21
-9
17
19
5
20
1
0
7
1
-2
0
-7
1
-18
-1
2
26
-3
10
-13
0
-69
2
-9
13
2
-23
-2
-25
7
-1
-13
18
-20
7
-15
19
-22
6
-2
4
0
0
0
0
0
0
0
0
0
0
20
-10
1
1
0
8
-4
6
2
6
-12
25
29
-10
0
9
-15
42
-8
-13
-86
-34
-32
-8
45
-8
-56
-14
4
-9
-20
11
0
5
4
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
0
0
0
5
0
-3
1
0
-21
5
0
0
-1
-5
51
-16
2
6
23
14
16
-24
1
-2
21
34
5
-35
7
9
-13
0
0
0
0
0
0
0
0
0
0
-4
-1
-3
0
0
0
4
-16
8
-1
19
-15
18
13
0
4
0
-28
-23
8
27
-61
24
40
1
33
-34
-15
10
-6
-10
-5
-4
-4
28
-44
-16
6
17
3
33
-27
3
-25
-7
0
0
1
0
0
0
0
-17
0
3
0
0
21
-11
0
1
-1
-6
-20
-1
1
-5
31
14
17
-46
14
-12
31
12
-16
9
30
-5
3
-20
6
11
-6
-20
19
-18
-44
16
-6
0
0
0
0
0
0
0
0
0
0
-9
4
15
-3
3
-20
-7
7
14
-5
-48
-10
-9
52
-33
-17
-20
-3
19
37
72
-2
18
19
-26
-10
9
4
14
12
44
-24
22
3
41
0
0
0
0
0
0
0
0
0
0
-51
-34
-27
-19
-11
-23
-62
-20
5
-1
-43
-1
47
51
11
-7
-19
-20
-18
-42
17
26
14
-18
43
-3
3
-4
12
24
4
14
17
-11
7
0
0
0
0
0
0
0
0
0
0
4
19
27
-5
-3
0
-1
-10
-8
6
-3
-11
12
17
51
-25
-35
0
0
16
-5
25
3
-52
30
-34
2
27
17
3
-20
-21
3
-8
2
0
2
0
0
0
-6
0
0
-1
0
-8
1
0
-1
0
3
-14
3
-8
0
2
38
1
-12
16
20
-2
2
20
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
0
-1
4
2
0
-4
4
36
-2
3
0
-2
-10
-8
-3
1
15
-16
-12
-32
1
-54
4
-40
-25
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
9
0
0
0
0
7
0
0
0
0
-21
0
0
0
0
-43
-8
1
5
1
-8
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
-3
-1
14
-6
-1
3
1
-1
8
-12
9
-3
11
-30
-38
-20
-2
-14
25
-54
12
3
-56
-99
78
-17
-37
-27
-6
37
-21
-13
10
2
-9
-13
-30
-37
13
-31
-21
-24
0
0
0
-2
0
0
0
0
-8
0
0
0
0
-4
-2
0
0
0
-25
3
0
-22
9
-2
4
-9
10
15
25
-27
-34
-14
26
-10
-46
52
51
-30
-2
-56
3
-66
-19
-28
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
4
-19
12
0
-6
-51
5
-64
15
5
-40
-1
48
36
-9
38
27
16
-23
84
14
8
27
11
40
12
17
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
20
-6
30
0
17
-46
-34
-23
-6
-59
-57
-45
46
33
46
-17
37
-8
-64
-26
3
27
20
31
-54
6
23
2
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-9
13
-11
27
-2
-1
-4
-17
2
5
-16
22
-14
-14
41
32
23
-2
-1
19
17
-4
32
24
27
-19
14
10
8
0
-2
0
0
0
-1
0
0
0
-2
0
0
0
0
-2
0
0
-4
10
-10
7
-58
8
-22
-11
0
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
-4
0
-1
0
0
-4
38
0
0
0
55
14
-21
-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
2
0
0
0
0
0
0
0
0
0
1
0
0
7
-17
9
28
12
24
-36
34
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
-14
0
0
3
-1
1
-1
1
0
0
-6
3
0
1
-18
-23
-52
-18
0
17
-47
-36
2
-18
25
8
37
-62
-43
-52
-58
-28
-59
-2
28
-54
9
-22
-73
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
-1
-30
0
2
-6
0
-49
-9
-26
-48
-8
58
-7
6
-14
-18
1
-31
-31
-48
-83
-21
-37
20
-43
-33
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
7
4
-38
40
-30
-45
-15
-8
-35
-27
-33
-20
-51
14
-18
8
13
15
17
10
22
4
-16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
-5
17
12
-60
-19
7
9
-33
6
-27
1
-1
23
21
5
-43
3
-46
-1
-23
34
-5
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
41
-31
16
46
0
-43
-17
-4
-5
53
37
50
0
40
-31
4
-34
-7
-41
-50
28
28
44
8
0
0
0
0
0
0
0
0
0
0
0
1
-1
6
0
-4
42
-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
1
0
0
0
0
2
0
0
0
0
-38
-2
-17
3
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
1
0
0
0
0
0
1
0
0
0
2
1
0
-1
0
2
-17
-23
-29
0
-7
0
12
2
0
-55
-35
21
-14
0
32
-51
19
-12
0
25
-78
-43
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-35
0
2
0
12
15
0
-5
15
-1
-8
0
38
-75
-71
-16
0
6
-14
-10
-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
-16
27
-9
-44
0
12
45
-7
78
0
-7
3
-5
1
0
-55
43
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
30
-8
25
-24
16
-29
-56
-7
32
25
-36
-14
-8
-11
14
37
-4
11
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
41
-33
9
-15
0
1
-46
71
24
0
-57
-44
-8
-4
0
-11
-32
25
23
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
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
23
0
0
-1
-30
-38
0
0
20
6
-26
0
0
-24
-36
-30
0
0
-44
-47
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-29
0
0
0
-13
43
0
0
-14
-56
-25
0
0
67
11
12
0
0
-11
9
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
28
56
0
0
-22
33
16
0
0
-56
-8
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
7
5
-2
12
-1
-4
-51
-47
-54
-14
-1
-28
0
-23
0
0
0
0
0
0
0
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
28
0
0
40
11
9
0
0
-10
1
21
0
0
3
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
-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
-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
20
0
0
0
-28
-6
0
0
0
-73
-29
0
0
0
-57
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
-1
-5
0
0
0
2
48
0
0
0
-39
-5
0
0
0
-89
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
6
0
0
0
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
3
31
-10
-70
-76
26
-15
-10
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
43
19
0
0
0
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
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
8
0
0
0
0
-37
0
0
0
0
5
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
7
0
0
0
0
32
0
0
0
0
-30
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
29
11
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
-19
0
0
0
0
35
-20
0
3
1
-42
16
-11
-10
-1
29
-26
-25
13
13
18
-36
38
2
20
52
48
-3
-12
36
-20
-11
29
6
-5
4
7
0
34
-6
23
19
36
35
24
25
20
14
13
17
-18
15
1
2
0
31
-9
-74
-23
-2
-28
-24
12
-13
0
-6
41
9
29
1
46
35
45
36
-25
64
19
29
11
38
31
66
20
23
33
35
20
22
55
53
25
20
14
13
17
46
-7
3
-1
0
-1
-30
-6
21
5
22
19
35
-18
2
7
9
-22
11
8
-52
16
-2
12
33
11
9
9
8
-4
6
18
10
21
38
11
20
6
4
-27
25
20
14
13
17
-11
-10
2
-1
2
16
6
-7
1
-2
16
18
43
29
-3
-4
30
8
40
21
3
49
17
13
-3
16
23
46
23
30
27
30
22
33
15
13
10
18
15
42
19
10
25
59
21
44
-10
0
1
1
42
-22
-7
-7
0
41
0
13
11
15
-5
54
8
47
74
-15
6
20
37
46
22
13
28
23
7
30
20
23
24
15
24
7
16
27
19
18
26
37
13
84
-11
1
-4
3
-1
17
8
-4
3
0
-12
19
-14
-15
2
-30
-24
13
-15
-14
9
18
-31
3
-20
31
32
-10
18
-24
20
2
-15
10
15
7
8
-4
-4
-10
10
-22
-7
-25
-10
-11
1
-4
3
-1
21
-4
-25
4
-2
31
26
-4
-20
1
8
15
28
-16
31
57
16
22
25
44
40
29
19
4
18
44
28
28
4
14
27
16
21
19
22
10
3
5
13
-17
-11
1
-4
3
-1
61
3
-36
-10
4
-12
-22
7
-39
-3
11
-6
10
13
-31
-5
-25
8
7
-27
-7
13
13
12
0
7
12
21
17
-8
23
13
11
23
10
18
2
-40
0
-1
-3
-38
-3
-2
0
10
-28
-9
28
0
-36
25
4
-9
0
21
-26
41
-34
5
-25
-39
24
15
10
-19
4
-20
37
-7
10
19
21
-15
66
25
19
14
9
2
0
0
0
0
0
-23
-14
2
-4
0
-7
11
2
4
1
11
-39
17
31
-9
29
-27
-6
-12
0
30
-24
48
0
-9
-39
-26
11
18
-9
45
33
16
-10
-38
-8
9
10
6
14
0
0
0
0
0
0
6
-2
-3
1
0
29
-3
-9
0
-2
-11
6
-1
2
-5
-13
-31
-37
9
62
-13
-23
40
-32
-4
-13
-11
19
16
-7
20
24
6
12
37
17
14
19
19
0
0
0
0
0
-3
10
-1
-2
0
-8
6
-11
6
-1
31
22
21
-30
0
2
-14
24
48
-16
27
15
12
-14
30
8
-6
-23
-2
-10
2
15
26
-32
-14
-8
18
10
-1
22
3
13
44
22
-3
0
-22
-9
-3
0
1
33
1
1
1
-1
-3
18
9
-7
2
-7
2
-32
-21
37
21
-8
-31
30
-65
-24
-12
-21
-25
-19
0
35
3
-4
-9
22
2
11
-5
41
-2
31
34
-48
0
0
0
0
0
-1
-5
-20
-10
34
10
-45
44
2
-7
-14
-2
-6
-42
5
101
-3
24
42
4
21
24
15
2
1
7
15
10
33
53
4
7
-2
-12
35
21
12
28
-5
23
0
0
0
0
0
-7
9
20
-58
11
14
7
45
25
0
24
-9
-31
-30
9
-2
35
-19
-6
3
-18
30
35
-22
13
36
23
7
11
15
17
23
13
6
15
7
5
19
5
15
0
0
0
0
0
3
10
-1
12
3
-4
1
3
41
0
0
5
-15
10
-9
13
6
-20
-13
-47
-6
30
1
28
8
-35
7
28
6
31
-7
15
24
2
-7
31
30
7
16
36
0
11
2
-2
0
-7
1
-10
-2
3
19
-2
16
-24
0
-67
7
-22
21
1
-33
-2
-8
7
-1
-2
27
-19
-6
9
16
9
6
10
-11
0
0
0
0
0
0
0
0
0
0
12
-10
1
1
0
11
-12
7
3
5
-10
21
30
-17
0
2
-26
44
-10
-12
-106
-35
-26
-18
53
4
-37
1
7
-23
-56
-6
-16
6
11
0
0
0
0
0
0
0
0
0
0
0
0
-21
1
0
0
0
-34
0
-3
1
0
-24
9
0
0
-1
7
56
-13
1
10
21
19
15
-30
0
-24
-21
42
11
2
3
-8
2
0
0
0
0
0
0
0
0
0
0
-4
-1
-3
0
0
0
1
-32
11
-1
11
-23
22
13
0
-10
2
-15
-35
11
14
-71
22
41
7
45
-40
-19
-17
-6
0
-20
5
-12
-5
21
3
4
-7
2
7
-1
28
-9
-24
0
0
1
0
0
0
0
-33
0
3
0
0
12
-17
0
1
-1
-14
-22
-1
1
-5
11
20
24
-52
12
-17
-18
-2
-25
-6
7
-26
-4
-9
5
9
-19
10
-7
25
-37
-21
15
0
0
0
0
0
0
0
0
0
0
-1
5
11
19
2
-20
-5
-3
13
-3
-46
-18
0
53
-28
-32
18
3
2
32
41
-12
11
12
-15
16
29
10
20
-11
19
48
23
8
22
0
0
0
0
0
0
0
0
0
0
-47
-29
-18
-6
-13
-33
-54
-15
-6
-4
-46
-17
26
50
14
-25
-46
-42
-1
-28
-17
23
10
1
30
8
5
-11
-26
31
-33
25
27
16
19
0
0
0
0
0
0
0
0
0
0
3
21
24
2
-13
0
-1
1
-23
11
-13
-8
15
13
50
-27
-24
-16
-21
2
-12
44
1
-27
42
-24
-7
18
12
12
28
-1
21
13
-14
0
-1
0
0
0
-3
0
0
-2
0
-7
4
1
1
0
3
-11
3
0
0
2
39
1
-6
20
33
16
10
8
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
5
0
0
-4
9
30
-1
0
0
-4
-11
-21
-12
1
4
-24
-28
-36
1
-76
15
-17
-27
-17
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
22
0
0
0
0
-23
0
0
0
0
-39
-13
7
23
-2
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
-3
-1
17
-5
-1
7
1
-2
8
-18
8
-3
3
-32
-49
-23
-1
-18
38
-46
12
1
-71
-96
24
-13
-21
-21
-4
-22
-23
-4
22
-14
-25
-4
-29
-22
25
-40
2
-23
0
0
0
-2
0
0
0
0
-10
0
0
0
0
-6
-2
0
0
0
-24
0
0
-17
18
-2
4
-12
14
12
5
-25
-33
-12
32
-12
-13
52
8
-20
-23
-48
7
-64
-33
5
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
1
-23
15
7
-4
-58
-5
-79
25
-11
-42
7
57
40
20
29
33
-3
-27
80
3
4
12
-10
36
9
22
15
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
16
-1
23
-5
15
-62
-39
-31
-6
-56
-85
-19
49
42
40
-31
21
-32
-67
-23
0
5
-2
14
-44
-39
12
5
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
16
-22
47
-2
1
-4
-28
-20
-9
-12
19
8
-18
1
16
25
-10
-5
31
7
36
-2
-4
-24
-46
-2
0
-11
0
-2
0
0
0
-1
0
0
0
-2
0
0
0
0
-2
0
0
-12
5
-7
10
-51
1
-21
-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
1
0
0
0
0
-4
-1
-1
0
0
-5
26
1
-2
0
48
19
-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
2
0
0
0
0
0
0
0
0
0
2
0
0
7
-23
16
27
27
20
-41
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-4
-9
0
0
4
-1
2
-2
1
0
-1
-14
3
-5
4
-21
-17
-56
-21
7
24
-37
-33
-1
-8
27
-19
2
-40
-26
-63
-12
-31
-94
-30
23
-36
1
-40
-64
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-1
0
0
0
-1
-35
-1
2
-5
0
-66
-10
-25
-59
-10
62
-9
-10
-33
-47
3
-53
-14
-23
-84
-18
-38
24
-71
22
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
16
8
-33
44
-39
-50
1
-7
-20
-28
11
-10
-58
12
26
-21
12
-12
-2
-17
4
20
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-11
-5
-13
4
-55
-19
-6
18
-36
-4
14
-16
9
-2
4
9
-16
12
-69
-4
-22
16
-27
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
54
-33
17
53
0
-50
-27
10
7
51
27
49
7
15
-15
-27
-48
6
-37
-36
37
20
62
37
0
0
0
0
0
0
0
0
0
0
0
1
3
4
0
-6
49
-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
1
0
0
0
0
2
0
0
0
0
-32
3
-12
-7
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-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
0
0
0
-5
0
0
0
-7
0
0
0
0
0
1
0
0
0
2
1
-1
-5
0
2
-24
-27
-16
0
-5
-2
-8
9
0
-29
-5
5
-31
0
31
-42
8
-28
0
40
-41
-29
-36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-38
0
4
0
18
39
0
-20
32
-22
-2
0
34
-51
-52
-44
0
8
11
-32
-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
-13
-24
-4
-44
0
13
40
28
81
0
-6
18
-21
15
0
-27
45
14
0
0
0
0
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
-40
-22
-45
-62
-16
6
26
-42
-18
-17
-10
19
21
15
1
-15
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
47
11
-3
-16
0
2
-63
57
7
0
-60
-1
-33
14
0
-27
-38
-25
21
0
0
0
0
0
0
0
1
-2
0
0
13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-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
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-21
25
0
0
-1
-19
-33
0
0
24
-23
-24
0
0
-21
-27
-34
0
0
-53
-30
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-36
0
0
0
1
33
0
0
-17
-5
-27
0
0
53
-9
3
0
0
7
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
-5
37
73
0
0
-33
-11
51
0
0
-48
-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
-4
-18
6
4
7
-3
8
-51
-31
-56
-21
-4
-29
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
69
28
38
0
0
49
4
28
0
0
-12
1
32
0
0
3
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
-8
0
0
0
-60
-5
0
0
0
-56
-8
0
0
0
-39
-48
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
-9
0
0
0
-7
37
0
0
0
-40
21
0
0
0
-80
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-12
33
3
-68
-61
27
-14
-1
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
31
-48
0
0
0
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
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
14
0
0
0
0
-39
0
0
0
0
13
0
0
0
0
-101
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
38
0
0
0
0
-29
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
42
11
-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
-36
0
0
0
0
0
-1
0
0
0
-3
7
-7
0
-1
-1
-14
-19
6
2
-12
-26
7
-11
-9
-2
21
-16
-13
12
-1
-23
-5
5
-31
17
-2
-27
52
13
-4
5
20
-9
10
2
4
8
8
29
0
0
1
-2
0
9
7
-2
-6
-1
0
1
6
-6
-3
-6
38
17
9
20
18
-1
31
4
-1
-16
0
16
31
19
12
6
37
-5
55
49
45
17
26
-11
2
4
8
8
29
5
0
0
-2
0
-8
-6
0
2
0
-4
0
-1
1
-1
6
-15
10
3
-2
-34
0
-43
-36
8
19
-12
38
5
-5
11
-10
-39
13
0
18
2
-2
-14
18
2
4
8
8
29
0
0
0
-2
1
8
0
3
-1
0
1
12
22
2
-1
10
11
15
25
8
-7
2
-17
-4
-7
-45
44
43
22
8
40
-8
66
35
36
28
47
3
-2
24
-3
-10
-33
69
50
4
1
0
0
1
4
0
0
-1
1
-3
-2
1
-7
1
10
13
4
4
24
-20
27
0
25
3
42
-3
17
8
2
18
29
9
26
37
6
-14
50
6
10
-12
-12
37
2
1
-1
-11
-2
-6
-1
0
-2
0
1
0
-12
6
2
10
-1
-6
-11
19
8
-6
21
4
-23
-9
-13
33
9
-14
-4
17
-17
-8
-43
18
-6
1
37
40
-34
8
-18
-54
43
-27
-29
-1
-11
-2
-6
-1
0
1
0
0
-1
2
11
0
5
0
24
0
32
16
12
34
4
-8
23
19
41
57
35
11
41
55
20
52
9
17
29
26
44
13
45
18
10
-9
36
28
-1
-11
-2
-6
-1
0
0
-2
-2
0
-7
-2
1
-6
0
17
3
-9
10
-23
-25
18
-11
-11
-3
-12
11
-31
-31
7
-5
-37
-18
0
-6
2
22
44
51
13
-14
-31
-16
43
31
0
-4
0
-1
-1
0
-4
0
0
-1
-2
13
-6
-12
-1
20
-16
19
-22
-1
-20
-13
18
22
3
-7
2
-2
-3
-2
-17
-8
2
6
16
19
17
10
13
12
0
0
0
0
0
-1
0
0
0
0
-2
-2
0
-2
0
8
1
-3
-2
0
1
-20
2
6
-10
-19
-5
16
3
0
6
-4
-8
-22
-6
28
-9
-24
13
5
-57
-27
16
-1
21
0
0
0
0
0
0
-10
0
1
0
0
6
0
-3
0
0
0
13
-21
0
-1
13
-36
-6
13
1
5
7
24
9
10
10
-8
-14
1
10
-2
30
7
11
-1
9
25
16
3
0
0
0
0
0
-1
0
0
0
0
0
-1
0
-6
-1
-3
-17
-3
6
-1
-9
-38
24
-3
5
-20
15
1
-1
14
29
-42
-14
-2
11
-10
46
16
-16
-31
3
-14
-21
75
25
13
-43
2
-29
-9
0
-2
0
-4
0
0
1
0
0
0
0
-4
9
8
1
0
-4
21
1
-4
7
1
-17
-26
23
-30
37
22
-7
-13
30
25
-1
34
-34
25
0
54
55
-13
1
18
3
5
13
0
0
0
0
0
-7
0
-10
-22
17
-6
1
13
0
-1
-15
-15
11
-1
0
21
-8
-6
-5
21
-19
6
3
-8
-39
-21
20
-6
35
6
-2
16
-23
75
33
20
44
63
63
66
0
0
0
0
0
-8
-1
-2
-31
2
-15
-2
9
-7
0
7
-5
3
-8
1
-39
54
27
9
1
10
-25
-22
21
-28
8
2
-42
9
-9
-11
50
-1
30
-20
28
4
24
8
50
0
0
0
0
0
-1
-7
7
-22
3
0
-3
0
22
-1
-1
9
3
11
5
8
-4
-34
-12
-1
41
-26
22
16
-19
5
15
36
41
43
45
8
22
-33
-15
27
59
26
-27
-9
0
0
0
-1
0
-1
0
0
-1
0
0
-1
6
-12
0
-1
1
0
37
2
-27
-6
3
-3
-1
-11
33
-1
-33
9
37
31
21
-1
5
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
-1
0
0
-2
1
1
-2
0
0
0
0
-13
-14
7
15
1
-22
-4
-19
-33
8
6
-6
-13
13
-8
-32
13
-2
28
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-13
1
-2
0
0
-4
4
0
0
-1
25
15
-1
1
0
-12
-6
16
-5
0
-27
-3
-10
2
35
-18
11
12
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-1
0
3
-4
0
1
9
-27
-19
1
2
-4
4
-11
-10
26
-1
-10
0
-15
-4
-23
-4
58
20
-2
-6
16
-41
18
-2
28
33
-16
2
0
0
0
0
1
0
0
-12
0
1
0
0
-6
3
0
1
0
-5
0
-2
1
0
-5
2
3
-8
-19
-24
-27
-29
10
-45
4
-12
2
6
-16
-35
13
52
-12
11
34
-39
14
0
0
0
0
0
0
0
0
0
0
8
-14
-8
-10
-2
0
2
-8
-7
9
-9
6
15
25
-1
-10
30
1
-13
1
2
2
13
-11
8
6
31
-21
46
-39
-30
-21
-30
40
16
0
0
0
0
0
0
0
0
0
0
-4
-12
-9
0
-4
-22
-8
-9
7
0
-2
-36
-18
4
0
-63
-43
-45
-1
-5
-40
2
13
0
13
10
-35
26
11
2
-31
4
4
-9
-22
0
0
0
0
0
0
0
0
0
0
1
1
1
-3
-5
0
0
19
-6
3
0
-7
11
-12
2
-15
1
10
-3
5
32
33
1
-11
40
-33
-38
-49
14
26
3
-9
52
-2
-7
0
0
0
0
0
-1
0
0
0
0
-3
0
1
3
0
0
0
0
7
0
0
8
0
-12
1
9
-11
8
44
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
-1
2
-7
0
0
0
0
-4
-13
-2
0
7
-22
-22
-20
1
-4
8
-17
-11
-19
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
10
0
0
0
1
-11
0
0
0
0
-14
-9
-22
-12
-5
8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
-1
0
-2
4
3
-17
-9
0
-3
14
-6
18
0
-16
-18
-16
-17
-19
-36
10
-33
-33
9
-23
35
-15
-1
-3
12
-1
28
10
-34
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
-1
0
0
0
-13
1
0
-9
8
18
0
-12
38
11
8
8
-7
-15
13
-13
10
62
-94
28
-49
-1
18
0
-5
36
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-10
-4
7
0
-9
-22
-19
2
1
-5
-12
42
1
41
-15
-20
-26
-10
15
-31
-80
-13
-19
35
26
37
-59
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-13
-10
-26
6
18
-17
-3
-12
1
-10
-11
32
2
-9
-9
16
2
-5
-6
-14
-16
-55
-9
1
-21
-36
-25
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
8
-19
20
1
-2
2
-2
0
-2
19
0
31
-13
1
4
1
-5
-51
1
79
5
-21
-27
-30
-27
-21
15
-23
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-7
-4
4
27
-2
-22
-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
-1
0
0
0
0
0
-8
-3
0
0
-11
32
-13
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
2
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
1
16
0
10
11
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-14
1
0
-8
-1
6
-19
-2
24
15
3
-10
-10
-17
13
-9
-21
-9
4
-56
8
-19
-17
-20
10
6
14
1
37
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-13
0
2
1
0
-12
-1
-27
-12
-4
2
-11
-40
-23
-23
16
-40
73
-1
7
-39
-6
4
0
23
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
17
17
-6
10
-2
6
16
10
-2
9
14
11
-16
36
1
-11
30
-4
16
-16
9
35
55
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-30
-20
-53
-1
-15
-27
10
-12
-10
4
-3
5
16
-8
-11
-50
-31
-10
-6
3
-3
0
11
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
4
30
11
0
-9
-14
16
8
8
7
12
6
11
10
-69
-2
9
3
10
25
-9
21
41
0
0
0
0
0
0
0
0
1
0
0
0
1
9
0
-1
23
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
0
1
-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
2
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
-6
-6
-4
0
0
2
-14
3
0
24
-5
-7
4
0
2
10
0
-6
0
6
17
22
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
-19
0
0
0
-8
13
0
-8
-11
-16
9
0
-6
26
-7
-7
0
0
-22
-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
2
-43
-11
-25
0
24
11
50
33
0
-15
-7
-9
0
0
-39
-16
-42
-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
8
-16
-11
-20
-21
-2
-30
-10
-3
2
-3
-28
-19
-13
-11
-2
9
6
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
9
-4
8
-18
0
0
-18
-15
23
0
-3
29
-7
-6
0
3
-8
-18
-12
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
28
0
0
-3
-9
-17
0
0
7
-13
-16
0
0
3
-34
-12
0
0
23
1
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-3
0
0
0
0
2
0
0
-3
17
-1
0
0
12
41
-10
0
0
20
47
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
19
30
0
0
-7
-49
32
0
0
2
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
13
-20
4
5
1
19
-5
9
-2
0
-3
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
8
7
0
0
9
19
-5
0
0
-1
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
-17
0
0
0
26
-19
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
-1
-13
0
0
0
-10
4
0
0
0
-15
54
0
0
0
8
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
20
0
0
0
53
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
8
28
-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
8
-13
0
0
0
14
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
-12
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
1
0
0
0
0
12
0
0
0
0
-46
0
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
36
-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
-9
0
0
0
0
-1
3
0
0
0
10
-15
0
0
0
-1
-22
1
0
0
28
4
-2
0
0
-13
-5
-13
7
1
4
-18
4
-20
-35
11
2
-17
-8
57
11
3
7
22
15
6
10
-2
5
-1
0
2
0
0
0
0
-17
1
0
0
-16
-3
-4
0
0
-9
-9
0
-2
0
-17
-21
-10
-7
-3
15
-32
25
17
8
-4
18
1
11
5
15
5
-1
-10
-56
6
10
-2
5
-1
-27
0
0
0
0
4
-9
-2
0
0
-9
-7
1
0
0
10
7
-10
0
0
-2
25
-8
-7
0
-37
4
-9
-13
-5
5
16
-15
-23
7
1
2
6
20
1
6
10
-2
5
-1
-3
0
0
0
0
-12
1
-4
0
0
-7
-16
3
0
0
-4
-4
-1
2
0
-13
8
-4
-10
-2
10
-20
-18
-15
-16
12
10
2
3
22
31
2
3
2
11
5
8
17
10
-16
-34
6
0
0
0
-7
0
0
0
0
-16
-13
-1
0
0
4
-4
1
0
0
0
-13
-6
-9
1
-22
-47
-23
-12
-8
-3
15
-12
-10
20
3
-4
5
-1
-4
3
-5
-1
10
-1
-12
7
1
0
0
-4
-2
-1
0
0
-20
0
0
0
0
1
-1
19
0
0
-11
3
-8
-4
-2
1
-31
-49
-13
6
27
12
11
-3
33
-10
9
8
4
12
3
-3
7
6
21
-12
7
1
0
0
12
-4
-2
0
0
-2
-9
1
0
0
21
-1
0
0
0
-18
-6
-9
-7
1
22
-19
-14
-34
13
14
-1
11
-3
-2
-19
5
4
5
7
0
-24
1
21
13
-12
7
1
0
0
6
-7
-4
0
0
-11
0
0
0
0
8
7
9
0
0
-3
-11
-4
-4
-1
-39
51
-17
-4
13
9
-3
13
-20
-10
18
7
7
2
2
12
12
5
0
18
0
1
0
0
0
10
-2
1
0
0
-3
12
-1
0
0
-3
-1
-12
0
0
27
-21
7
-19
0
-13
3
-5
14
17
-50
-1
-15
-21
-8
-28
6
15
2
13
0
0
0
0
0
-2
0
0
0
0
-1
-2
0
0
0
-6
-16
-1
0
0
2
7
-3
0
0
3
-7
-6
3
4
-12
-4
-35
-3
-16
25
6
-50
-12
-6
-20
7
3
10
6
0
0
0
0
0
0
-8
0
0
0
0
1
8
0
0
0
-2
0
0
0
0
-11
0
0
0
0
-47
0
-8
-1
-1
0
-1
-8
7
23
4
-14
1
10
-20
16
6
5
2
0
0
0
0
0
0
1
0
0
0
-1
-6
3
0
0
-7
9
1
0
0
-1
27
-6
0
0
-9
-30
-13
-3
0
-57
4
-33
-2
9
-22
10
-22
5
12
-4
24
12
3
15
17
-15
17
12
-16
0
0
0
0
0
0
3
0
0
0
0
0
1
0
0
0
-4
-9
0
0
0
-10
-9
-9
0
25
63
-12
-29
8
33
1
-34
-18
36
13
8
9
21
-5
-3
0
9
3
-9
0
0
0
0
0
3
-35
6
0
0
-2
-4
2
0
0
-2
-1
0
0
0
19
9
1
-11
0
-2
46
2
32
11
-38
-4
20
24
-27
-22
3
-4
-1
5
10
6
7
7
10
0
0
0
0
0
-18
3
4
0
0
-8
3
0
0
0
-6
9
0
0
0
6
5
-6
-11
0
-71
43
-28
6
-25
10
-2
-8
-5
11
31
1
13
-9
-5
9
1
12
6
16
0
0
0
0
0
-1
-34
15
-1
0
0
-7
-9
0
0
0
-9
-9
0
0
0
-20
11
0
-1
28
-40
-13
12
-12
-42
4
-10
13
27
-101
2
-2
0
-13
2
23
2
-16
1
0
0
0
0
0
1
0
-2
0
0
2
-3
-1
0
0
1
-3
2
0
0
-18
-2
4
0
0
-3
-33
-39
-9
-3
18
14
4
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
2
1
0
0
2
-7
1
0
0
-2
4
0
2
0
-30
16
-45
-17
7
-7
-19
-12
-31
-4
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
2
0
0
0
0
-13
0
0
-2
0
-14
-3
-17
-4
0
-1
-25
-12
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
-27
19
0
0
11
-4
1
4
0
-9
13
1
-11
0
6
-19
-19
-5
12
-57
4
4
-1
8
-20
-33
6
-3
-23
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-15
0
0
-11
0
-30
45
-1
-14
51
33
15
-4
-25
-2
11
6
-3
-18
2
19
13
-1
0
0
0
0
0
0
0
0
0
0
4
0
18
-2
0
0
2
-7
0
0
-3
-2
-8
0
0
-4
-2
-46
7
-2
-25
28
30
-59
-41
39
0
-9
4
-52
-21
-15
1
-31
-6
0
0
0
0
0
0
0
0
0
0
-12
-7
9
-1
0
-15
6
0
0
0
-4
-17
12
0
0
-6
-57
-7
19
-19
21
-15
-11
-27
7
-39
-4
14
-26
-8
24
11
22
-14
31
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
0
-9
0
0
0
0
-45
-4
1
-3
-22
-26
-59
-19
30
12
-10
-6
22
-19
-11
-22
-10
-56
-52
-41
9
28
-9
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-12
-5
-28
1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-22
-1
-3
0
-20
-10
-33
-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
1
1
10
-6
-41
-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
-1
2
-8
0
0
0
1
-2
-6
0
-12
7
-22
19
-1
1
-14
-8
-25
-19
8
2
5
5
-67
-59
-3
-1
-7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-4
0
3
17
2
17
-38
-29
-34
-15
25
-1
14
8
30
11
-8
-38
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
-18
-4
0
0
-11
0
-1
1
-6
-37
-17
-25
1
9
-95
-32
-13
-20
36
-6
-9
1
-43
-5
-11
15
-58
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-19
-3
2
0
1
-10
-2
1
0
-6
-3
-19
0
6
7
21
-4
-33
17
-35
15
10
-18
53
-48
-2
-24
-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
-2
0
0
0
4
23
0
1
-59
-70
-34
-13
17
-22
-11
2
-32
-43
-11
-27
-16
17
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
10
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
16
-20
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
-3
2
0
0
4
-20
-3
0
-2
1
-74
21
-17
-30
-33
-2
0
-35
-2
-10
-78
-1
-10
-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
-2
-1
2
13
-7
-17
-19
-13
13
-4
-16
-46
-22
-16
8
-28
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-37
-16
1
0
0
6
10
-26
-18
19
-35
-54
-4
30
41
-9
-46
-28
-26
-31
41
-10
-93
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-18
-3
1
7
-41
-2
18
0
-8
-28
-6
-13
-7
4
12
41
-63
-29
-48
26
-1
-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
2
4
2
-3
33
-3
-27
0
-8
-44
-30
-15
1
-44
6
-9
15
-25
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-18
0
16
-26
-7
-39
0
-67
0
-48
-10
0
-22
-8
15
-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
0
0
0
-4
-28
0
0
-11
16
-28
0
-6
12
-11
-16
0
-7
17
31
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-17
10
3
0
-45
-32
-79
-35
0
-6
8
-146
-34
0
-3
-40
-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
5
35
-7
-21
8
-4
-34
42
-24
6
4
19
-25
-18
4
-18
-9
7
-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
-3
10
-16
0
0
-1
-21
3
11
0
0
2
-34
-5
0
-28
-2
19
-14
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
31
-41
0
0
-13
-48
-1
0
0
-24
-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
-1
0
0
0
3
-18
16
0
0
-26
10
-5
0
0
-24
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
25
-14
-30
0
0
-68
-4
-134
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
-28
44
-17
24
-33
10
-19
-61
-10
0
16
-6
-25
-32
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-4
0
0
0
-31
-31
0
0
43
0
-16
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
-6
0
0
0
0
20
0
0
0
-17
-53
0
0
0
-30
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
40
0
0
0
-1
-47
0
0
0
40
-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
17
8
0
0
0
-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
-18
34
-44
-7
-50
-6
-16
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
-26
-22
0
0
0
-63
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
18
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-13
-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
-12
0
0
0
0
13
-22
-1
0
-3
4
19
33
-27
0
14
27
6
-8
3
76
34
-4
5
0
-7
27
17
34
22
55
52
33
48
14
22
20
36
30
33
36
35
33
10
19
29
38
23
26
25
4
9
0
7
0
-21
8
86
5
1
-14
13
30
10
-8
13
-12
2
-12
-42
11
-16
7
-13
1
21
-4
21
27
43
34
18
26
-5
-2
33
25
14
22
0
29
38
23
26
25
-28
-2
2
-2
0
11
-15
18
3
1
30
6
-11
-17
-2
11
46
33
-12
-1
-9
16
-6
23
8
4
31
33
32
20
12
12
20
29
35
27
30
28
36
6
29
38
23
26
25
29
-10
3
2
-2
7
13
-38
9
8
12
-1
19
-40
-10
10
-39
-22
12
19
-18
-36
-20
6
-26
20
14
13
-35
-20
22
22
17
14
4
5
30
27
20
43
14
3
38
17
25
-17
12
3
1
0
5
-19
-41
-11
0
-3
-15
-24
2
-16
4
10
0
-59
12
7
-27
-14
14
28
-11
34
25
19
-1
12
16
18
4
28
16
25
33
19
30
18
13
22
-13
6
18
25
-7
-5
-1
-5
6
-54
2
1
-16
-25
21
4
0
-16
13
17
26
-41
56
32
12
25
15
20
21
8
25
-16
22
29
22
32
24
27
35
22
39
37
42
12
41
40
8
18
25
-7
-5
-1
-2
-25
-8
-1
-1
-37
2
-27
-43
-3
14
-47
31
-39
-58
22
31
19
-13
6
16
-20
23
-8
-20
2
27
5
14
14
27
23
20
17
21
22
27
18
18
12
18
25
-7
-5
-1
38
0
8
2
6
26
10
-23
-1
2
-7
7
28
-2
-32
24
40
53
12
22
21
18
32
18
6
17
27
24
6
17
46
30
37
45
33
32
32
37
28
13
-5
57
-1
-1
1
13
0
15
-6
-1
-19
4
0
44
-4
11
-22
-46
47
4
37
5
21
0
35
15
32
19
19
38
5
38
33
24
48
48
22
24
22
19
0
0
0
0
0
39
-22
10
-4
0
1
5
-18
-24
-1
-6
-24
-40
-40
-3
-44
-26
-7
3
11
11
29
25
32
-6
21
-4
35
-6
42
31
16
17
7
19
46
27
23
17
22
0
0
0
0
0
3
-52
4
3
0
-2
1
11
-3
1
1
2
11
-8
0
6
-3
10
-9
-8
10
-1
23
8
8
10
5
1
18
33
22
15
17
7
17
38
19
27
24
17
0
0
0
0
0
-4
-18
0
0
0
-28
2
3
-6
-7
36
39
3
-5
4
-59
-25
-12
-22
2
-2
-19
19
-21
5
26
-13
-11
17
45
34
14
22
-12
28
27
24
16
14
31
23
33
37
24
19
0
-30
-11
2
0
-1
10
12
6
0
0
30
6
-14
9
8
4
-6
-3
-16
2
13
8
-16
-43
0
-12
-7
32
47
6
29
33
26
-2
46
23
33
36
33
26
30
40
10
41
0
0
0
0
0
-3
-6
32
-31
-5
30
48
-50
-32
0
14
-9
-7
1
16
17
-29
6
-30
-38
16
31
24
17
-11
63
25
11
65
16
3
26
14
7
14
39
27
33
35
34
0
0
0
0
0
11
20
2
-19
8
11
10
-18
2
0
58
37
7
22
0
29
41
25
3
2
-6
10
-18
31
25
49
12
-2
3
15
13
24
18
17
10
36
5
18
9
32
0
0
0
0
0
-11
-15
-24
-9
-11
-1
17
-29
0
-2
1
24
-29
-40
36
19
13
10
-17
-32
56
20
-2
-3
16
12
17
24
41
16
-3
21
3
20
16
22
38
27
30
44
8
2
2
6
0
-4
2
-8
-4
0
45
-7
6
-23
0
0
26
10
11
4
15
13
-8
5
-13
-43
-29
-3
-6
5
6
-8
-2
-9
3
0
0
0
0
0
0
0
0
0
0
2
-4
-6
4
1
-17
-11
18
1
1
-34
-46
45
-12
1
-11
10
19
5
2
9
11
11
-7
-13
-3
16
-38
-8
-13
25
7
5
10
-1
0
0
0
0
0
0
0
0
0
0
0
6
-9
4
0
0
0
-13
2
0
0
6
0
-1
0
1
4
-3
-18
8
19
23
1
-17
-9
10
11
-10
12
-10
0
-40
-9
10
6
0
0
0
0
0
0
0
0
0
0
-3
7
0
0
0
6
2
-7
5
0
33
-56
-13
-18
6
-44
31
6
-13
-27
3
40
13
43
-8
-17
26
-36
-20
-47
17
-7
20
22
-7
20
7
31
34
15
5
44
46
22
20
0
1
10
-1
0
2
0
-2
0
2
0
0
-11
-29
0
0
-2
-31
-10
1
-11
14
7
-50
-3
40
-11
-7
-5
-16
-4
0
8
-42
14
-4
32
29
-7
10
22
41
13
11
22
0
0
0
0
0
0
0
0
0
0
-15
15
1
-27
-16
-33
-13
-12
-24
-12
-26
18
-5
3
-13
2
-15
21
-15
-3
27
7
7
18
-11
11
5
7
30
9
15
20
30
19
1
0
0
0
0
0
0
0
0
0
0
29
16
15
-4
-10
-31
30
-27
10
10
14
-62
-15
43
11
-7
46
-11
2
-1
-16
8
19
16
13
16
20
9
12
4
38
13
8
7
31
0
0
0
0
0
0
0
0
0
0
1
-7
37
-55
-16
0
0
-7
9
1
-19
-7
-6
-24
-1
-59
-30
14
-24
-8
9
44
16
-5
4
17
22
7
17
-4
-25
28
14
-9
29
-1
-3
0
0
0
-2
3
-1
7
0
-3
4
-22
-24
3
-6
8
1
-29
0
3
-15
-16
-1
-36
-19
6
-30
-29
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
3
0
0
-5
5
-6
0
0
28
2
-9
10
-1
4
28
-19
-24
0
34
-20
9
15
1
8
25
-10
-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
-39
1
0
-1
0
6
-4
0
3
-3
-14
0
0
1
-8
-17
14
31
-16
-35
5
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-3
-16
1
2
0
2
7
-4
15
-2
37
29
-15
-20
-6
4
3
16
-20
-10
-46
-30
25
26
16
35
14
25
17
12
3
0
5
14
-4
21
11
15
6
10
0
0
0
3
0
0
0
0
-16
0
0
1
0
4
-3
0
0
15
45
-8
1
-9
-6
12
-2
-9
-14
21
35
8
25
8
-36
30
-48
-6
16
-28
6
29
38
37
8
57
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
16
-6
-35
7
-24
1
8
-32
39
37
-12
-65
-13
37
25
19
-19
0
2
1
10
-8
2
-32
10
-43
7
7
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-32
-16
-10
13
16
-23
11
-35
-6
-79
-34
-6
-20
4
42
40
34
-10
-14
-41
22
20
-8
12
13
-2
28
1
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-46
-18
1
-40
0
0
9
7
-3
2
-21
37
7
-1
-29
-31
1
-4
6
-52
8
-5
11
-17
-32
-10
-28
20
23
1
-1
0
0
0
1
-1
0
-7
0
-4
0
0
0
0
-4
-8
26
-75
-37
18
-11
-9
-26
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-2
0
0
5
-1
-1
0
0
-1
0
0
0
0
28
17
2
1
-1
-1
39
-21
-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
-1
0
0
0
0
1
0
0
0
0
2
0
0
-4
26
-15
3
-26
-24
16
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-11
3
0
6
-18
-7
0
1
-4
-7
-3
4
0
-3
0
3
0
-9
26
13
0
9
36
-9
-24
-3
-9
27
55
-1
8
-38
-17
24
26
-5
0
-12
27
-18
28
27
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-15
3
2
3
4
4
8
5
-10
-83
-5
5
-3
52
13
6
-2
42
24
7
18
65
29
0
23
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-14
32
23
-11
-72
-31
-29
6
-2
-30
-37
-27
-18
-4
-32
-20
-22
-1
-14
15
2
11
11
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-12
-11
-13
-45
51
16
-7
-20
-32
104
0
46
-1
25
0
36
12
-10
68
5
15
38
8
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-43
-23
-15
-6
-6
0
-48
20
-60
11
-34
-52
-37
-1
-30
-23
0
-17
-54
43
-50
-56
-16
19
1
0
-1
0
0
0
0
0
0
0
3
-1
12
-8
0
-48
-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
-1
-2
0
0
-33
-7
-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
4
-2
0
-6
-8
-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
-9
0
0
0
-6
0
0
-2
0
0
-3
0
0
0
-1
-7
1
13
0
3
34
-24
-18
0
-23
4
-63
12
0
20
-13
8
-12
0
-40
11
6
9
0
-24
11
17
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
4
0
0
36
0
0
-22
-55
-71
0
-37
-24
-4
-2
0
25
-7
7
11
0
9
-12
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
-4
-42
12
-57
0
-58
-29
9
-33
0
-47
-32
10
-17
0
-69
-59
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
32
32
-16
-36
12
2
-7
34
10
3
57
-10
39
34
20
-8
46
-49
17
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-63
43
-62
22
0
9
-55
4
1
0
-29
-1
-28
-23
0
18
-45
-62
-15
0
0
0
0
0
0
0
-2
-2
0
0
-12
-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
-2
39
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
10
-12
0
0
0
-23
-4
0
0
-14
12
-36
0
0
-31
30
19
0
0
-29
15
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
-27
5
0
0
6
20
-27
0
0
17
40
1
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
-1
-29
-29
0
0
-41
-22
7
0
0
-86
-36
16
0
0
0
0
0
0
0
0
0
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
31
-5
0
-6
34
-36
34
41
-27
-73
2
36
-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
18
-6
0
0
36
-3
-60
0
0
-17
-1
-54
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
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
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
-47
0
0
0
2
11
0
0
0
-12
8
0
0
0
8
20
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
19
0
0
0
0
4
0
0
0
39
31
0
0
0
-25
38
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
0
0
0
0
0
-3
-43
0
0
0
-76
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
24
-50
19
24
8
11
-16
44
-50
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-88
-2
0
0
0
-11
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
8
0
0
0
0
15
0
0
0
0
-28
0
0
0
0
-1
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-2
0
0
0
0
9
0
0
0
0
9
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
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
-60
0
0
0
0
22
-17
-1
-2
-3
3
5
29
-31
0
-3
25
-17
-5
5
53
36
-14
23
7
-4
10
7
27
34
34
29
44
28
43
34
26
51
22
17
36
23
38
31
36
17
30
16
25
17
-4
20
5
7
0
-22
18
74
3
0
-24
11
24
11
-8
-12
13
15
-6
-27
-6
13
-13
-11
-10
26
9
-2
17
13
45
7
6
3
1
28
18
31
15
9
17
30
16
25
17
-26
-1
5
-2
0
4
-27
26
-1
3
25
12
-23
-10
-2
3
39
38
-23
-14
-18
0
-4
36
31
16
27
20
12
36
21
10
11
22
19
26
28
26
37
-10
17
30
16
25
17
54
-10
4
2
-2
13
6
-38
9
7
10
13
3
-50
-13
4
-13
0
8
18
-4
-46
-19
-16
-18
-1
8
8
-20
-12
17
24
1
-4
3
-14
22
14
-9
5
4
-8
-5
-6
-10
-37
15
3
1
0
11
-29
-39
-12
0
0
-28
-25
24
-20
-7
25
-6
-50
16
-1
-20
-7
19
39
-4
21
21
18
16
5
15
19
-18
37
14
14
23
8
-9
3
21
16
20
-18
13
26
16
-5
-2
4
10
-54
3
1
4
-40
26
3
0
-33
17
-7
33
-45
84
5
13
15
12
13
21
26
13
-11
2
25
3
40
11
18
17
1
25
25
28
9
35
11
38
13
26
16
-5
-2
8
2
-14
1
-1
-36
-8
-35
-38
-4
-22
-77
30
-28
-62
7
24
-4
-44
1
-8
-19
-6
-5
-27
-3
1
-5
-4
-14
9
11
2
4
12
14
11
5
6
27
13
26
16
-5
-2
39
7
24
8
6
24
22
-24
-1
2
-5
24
13
7
-45
8
28
40
0
29
21
16
51
19
12
36
20
32
19
29
33
25
22
36
4
26
32
-11
18
33
-5
47
7
-1
1
-14
-3
24
10
-2
-24
-15
-2
49
-7
-7
-22
-21
41
-4
19
10
23
12
49
20
35
14
46
29
-2
16
1
15
53
35
15
14
21
8
0
0
0
0
0
55
-14
18
-4
0
6
6
-5
-32
-1
-13
-16
-43
-24
-3
-33
-25
7
9
-2
32
12
21
11
18
15
49
66
-28
39
17
16
18
-6
31
42
23
19
12
14
0
0
0
0
0
3
-47
6
3
0
-2
2
-8
-1
1
1
-16
11
-18
-2
15
3
0
1
2
19
5
30
23
12
19
7
-5
52
29
23
15
14
21
33
20
11
14
15
14
0
0
0
0
0
-7
-19
2
0
0
-23
23
-1
-15
-9
41
37
11
-3
6
-60
-54
-7
-4
0
-19
-21
5
-9
20
36
-6
24
24
30
14
6
16
-6
-19
13
10
6
16
21
24
41
12
13
64
0
-27
-7
2
0
-1
27
18
8
0
0
16
2
-7
9
10
3
17
7
-2
2
1
-15
-2
-32
-46
26
9
18
31
7
47
7
12
-21
32
17
6
28
27
21
8
43
1
27
0
0
0
0
0
3
-7
27
-21
-11
36
65
-58
-24
0
14
14
5
10
35
21
-29
-28
-29
-12
29
4
10
10
-16
27
32
4
26
7
26
7
14
-9
7
20
18
21
38
25
0
0
0
0
0
14
-3
-3
-17
4
7
16
-18
6
0
55
41
2
24
6
5
47
5
16
22
26
-4
28
48
30
36
24
21
25
48
15
13
35
13
41
27
20
32
-10
7
0
0
0
0
0
-10
-14
-48
-15
-16
-1
-6
-29
1
-3
3
24
-13
-13
39
30
15
-4
-28
-45
18
22
4
-16
45
-2
6
0
11
1
51
1
5
20
8
35
28
32
33
34
4
4
0
6
0
-13
4
-10
-4
-1
50
-4
3
-15
-1
1
19
42
19
4
9
5
5
0
-14
-17
1
3
2
1
-11
-21
1
-3
16
0
0
0
0
0
0
0
0
0
0
-4
-4
-6
4
1
-6
-23
16
9
1
-31
-63
39
2
3
6
-4
-13
16
6
23
7
34
-13
-5
20
6
-26
-9
-6
7
8
2
8
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
4
0
0
0
-13
3
0
0
6
-6
-6
0
1
4
5
-9
21
24
29
4
-22
-10
33
18
-4
9
-3
-10
-25
-5
-10
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
8
4
-15
9
0
15
-57
-26
-12
3
-53
54
4
-6
-23
-13
53
26
32
2
7
4
-11
-38
-27
16
11
18
21
7
2
-8
10
14
2
7
14
46
21
-19
0
1
11
-1
0
2
0
6
0
1
0
0
-11
-25
0
-3
-2
-45
-3
1
-4
5
10
-34
4
49
-3
-2
-32
-10
7
-3
-7
-38
9
6
-2
16
7
4
8
24
24
8
30
0
0
0
0
0
0
0
0
0
0
-43
3
0
-2
-20
-40
-15
-22
-36
-20
-22
23
12
-3
-23
12
-14
4
7
-24
52
-8
9
9
-1
20
-10
10
-15
-6
-5
5
8
14
-8
0
0
0
0
0
0
0
0
0
0
34
8
19
5
-11
-29
36
-19
17
17
15
-59
9
45
17
-11
41
12
-13
-16
-6
15
-10
-2
26
11
33
33
-4
-24
26
9
-5
21
44
0
0
0
0
0
0
0
0
0
0
0
-4
18
-21
-15
0
0
-6
13
7
-23
2
5
-27
-3
-64
-36
-20
10
-23
-6
29
2
-34
7
-2
3
-23
2
30
53
20
11
-4
9
-1
0
0
0
0
-2
3
-1
7
0
-1
12
-22
-25
5
-6
8
3
-29
0
2
-11
-8
0
-21
-11
-16
-28
-27
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
3
0
0
-6
5
-9
0
0
34
-5
-13
6
-1
7
37
-28
-26
0
41
10
-12
15
1
14
-20
-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
-33
1
0
-1
0
28
-2
0
3
-3
-11
0
0
1
-14
-3
9
-6
16
-22
-11
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-3
-27
-5
11
0
0
1
-1
16
-2
52
38
-29
-15
1
19
-5
28
-5
-10
-40
-46
36
46
35
58
33
35
21
13
-6
44
27
22
-34
60
15
51
24
18
0
0
0
3
0
0
0
0
-10
0
0
1
0
-1
-3
0
0
18
45
-11
1
-13
-13
-21
0
-10
-32
10
15
24
-2
16
-5
65
-16
-2
35
36
9
21
6
24
40
29
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
15
5
-11
11
-27
11
9
-8
53
35
-11
-23
-20
44
42
11
-16
4
37
3
5
-4
11
-65
-2
-23
-7
-16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-13
-21
10
2
16
-29
18
-35
-11
-66
-28
-20
-15
10
37
6
1
7
-10
12
29
13
28
9
47
-36
7
15
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-52
-20
-9
-32
0
-6
13
34
32
10
-25
24
-17
-4
-48
-12
13
1
28
-46
17
-38
7
-7
-1
10
-8
3
9
1
-1
0
0
0
3
-1
0
-7
0
-4
0
0
0
2
-4
-7
0
-68
-40
26
-26
-18
-31
-25
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
3
-1
-1
0
0
-1
0
0
0
0
19
17
4
1
-1
-15
17
-23
-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
-1
0
0
0
0
1
0
0
0
0
3
0
0
-4
40
-18
12
-16
-22
-18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-11
3
0
0
-14
-7
0
1
-4
-18
-4
4
0
1
-12
0
0
-4
18
22
12
6
41
-21
-21
-7
4
9
42
17
23
-37
12
41
27
38
-1
14
7
-12
43
23
12
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-3
0
0
-23
6
0
17
5
-3
2
20
-10
-92
-13
-6
-23
25
11
14
8
-8
-4
-5
13
56
39
28
39
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-13
51
18
-11
-84
-43
-17
4
26
-44
-9
-42
-19
-26
-45
-27
-28
5
-38
41
-7
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
13
2
-45
32
7
-4
-30
-17
120
41
63
14
10
-6
32
10
4
27
30
5
21
12
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-42
-21
-8
0
-7
1
-47
-10
-59
0
-27
-41
-36
-12
-43
-20
3
-34
-58
-12
-42
-51
11
-8
1
0
-1
0
0
0
0
0
1
0
3
-1
12
-6
0
-24
-18
-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
-1
-2
0
0
-33
-25
5
-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
4
-2
0
-6
-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
-6
0
0
0
-7
0
0
0
0
0
-3
0
0
0
-1
-7
1
13
0
4
26
-23
-14
0
-19
0
-69
-13
0
9
-10
-10
-15
0
-4
30
20
13
0
-7
-2
21
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
4
3
0
41
0
7
-25
-59
-43
0
-37
-24
25
7
0
16
17
-5
9
0
20
2
18
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-18
2
-62
0
-24
-22
39
-7
0
-63
-28
30
-8
0
-85
-46
17
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
33
-33
-18
16
13
-16
17
8
-5
67
-6
24
44
30
6
38
-25
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
-67
22
-33
38
0
4
-67
-48
6
0
-29
-21
-50
5
0
12
-39
-97
-28
0
0
0
0
0
0
0
-2
-3
0
0
-10
-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
-1
45
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
23
13
-23
0
0
0
-28
-29
0
0
-16
-18
-19
0
0
22
15
-2
0
0
5
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
30
0
0
0
-34
-7
0
0
1
14
-40
0
0
30
-3
13
0
0
9
-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
17
-42
-13
0
0
-2
-16
18
0
0
-63
-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
12
56
41
-13
26
-8
11
-29
80
33
-39
-76
26
51
-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
-19
-11
-21
0
0
53
-33
-42
0
0
-32
-1
-34
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
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
-1
-3
0
0
0
0
-46
0
0
0
2
33
0
0
0
12
-13
0
0
0
6
36
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
21
0
0
0
0
-10
0
0
0
49
-10
0
0
0
-32
6
0
0
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
-34
-48
0
0
0
-80
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
32
47
16
6
-4
28
-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
-97
3
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
8
0
0
0
0
16
0
0
0
0
-20
0
0
0
0
43
0
0
0
0
18
0
0
0
0
0
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
19
0
0
0
0
-5
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
55
94
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
-73
0
0
0
0
1
0
0
0
-2
-9
0
4
-3
0
-11
12
0
-2
2
-3
-4
-15
25
9
19
4
-2
37
32
11
-12
28
7
24
4
11
-2
15
2
21
26
39
26
27
9
5
1
10
6
0
0
0
2
0
8
4
1
0
0
-3
13
2
6
-5
-1
15
-16
-10
-6
1
12
-2
6
7
-6
-5
-39
29
-29
-35
-44
19
-3
4
4
-2
-5
36
-17
9
5
1
10
6
4
0
0
-1
0
15
-1
-1
3
0
1
-1
-11
-1
0
26
1
34
-6
3
-23
-3
17
45
24
1
16
24
15
-18
38
0
2
0
-2
-9
9
1
66
-29
9
5
1
10
6
1
0
0
0
0
-3
-3
0
1
1
3
6
3
-16
-4
-8
2
-12
-4
14
-7
22
12
-4
-3
-18
13
-27
36
-25
5
22
12
22
19
27
22
-47
0
-24
-11
-8
6
15
-16
6
2
0
0
0
15
0
-3
0
1
-1
17
3
-10
-10
15
-10
-6
-14
7
3
3
7
19
12
26
10
-19
19
38
-2
-1
9
10
20
-9
6
-52
2
-16
-5
38
48
18
-39
9
-7
12
-8
-2
-6
2
0
0
0
-1
3
-7
2
1
14
3
-12
23
-28
-20
15
-10
-20
12
4
21
-4
24
-17
28
25
7
21
45
22
49
-59
35
14
33
0
9
44
-10
9
-7
12
-8
-2
0
0
2
-1
0
-7
1
-11
-3
-1
35
-19
-6
2
-25
8
-17
-26
-5
5
-30
-20
-39
-7
-50
-2
-36
-19
23
-34
-7
-13
-49
-15
-7
14
25
42
8
-10
9
-7
12
-8
-2
18
4
0
-1
0
9
3
-2
-13
1
23
4
-14
28
-7
7
16
-6
-1
26
47
21
21
3
-12
25
-4
23
15
17
6
-10
32
-31
-30
2
-8
19
34
27
-1
0
0
0
0
0
1
-4
0
0
-3
-5
-7
2
-3
0
0
-1
13
-5
-28
6
-10
7
26
-17
2
-1
9
-17
-3
18
-20
-1
53
13
-8
-5
3
6
0
0
0
0
0
1
0
0
-1
0
1
0
2
-2
-1
-7
-3
-27
-15
0
11
-18
35
36
1
3
12
-18
16
11
4
31
28
-55
26
19
15
-11
-1
6
-6
33
6
2
17
0
0
0
0
0
0
-20
0
1
0
0
2
-11
2
1
0
-2
8
-1
0
0
-2
-27
-6
10
25
50
24
-11
11
24
7
-27
37
7
12
19
19
44
40
41
-8
16
-18
21
0
0
0
0
0
0
0
0
0
0
2
8
-1
0
0
11
-4
-9
-11
0
-2
-78
12
-9
-3
-17
12
-5
-9
25
-5
10
-17
1
0
-1
-6
40
-37
-17
-17
-9
-9
17
-38
11
-4
-24
11
34
0
-1
-1
0
0
0
-8
0
1
1
0
-17
-21
20
11
2
23
3
7
4
-35
-2
-9
20
0
2
8
-3
63
-14
38
22
-6
1
-12
19
6
-14
-28
-38
1
-58
-53
56
20
0
0
0
0
0
17
4
-11
-1
-12
1
20
-9
-21
1
-1
-2
12
8
22
28
15
-20
17
8
-6
-14
18
-7
-1
-3
-12
13
-18
1
47
-5
9
8
17
-19
17
-6
37
2
0
0
0
0
0
10
1
-22
10
-11
-4
-6
0
2
0
-9
1
14
2
7
-22
53
5
-8
19
32
-28
24
70
-4
-5
44
46
42
16
-1
8
26
19
37
17
-22
3
-1
27
0
0
0
0
0
-2
0
-15
-2
-12
0
3
-10
-3
-2
0
2
7
3
16
19
16
-2
-12
-3
-26
8
-25
18
52
7
32
-21
-4
12
14
-53
-44
30
23
-7
18
35
17
-26
0
0
0
1
0
4
0
-1
0
0
3
0
-15
-3
0
11
4
10
-7
3
-16
28
44
-12
-6
-19
28
-18
-5
2
-3
-3
35
1
-14
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-1
1
0
-4
-11
18
1
1
7
-16
-8
-4
6
2
-14
24
13
0
41
32
-6
16
-1
10
31
-5
9
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
-1
0
2
-13
10
0
0
0
0
8
3
3
4
-21
-10
0
9
0
-8
-6
-2
-42
11
-15
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
8
-1
0
-8
1
-11
4
6
3
22
-21
4
-8
-8
-8
-2
10
-9
-14
-9
11
-7
-19
-10
-7
-1
30
-8
-49
29
-1
-36
67
21
7
57
4
29
0
0
0
0
0
0
0
-15
0
0
0
0
-4
-3
0
0
0
-14
2
0
-4
0
1
-6
7
20
4
29
-45
-9
7
-6
-4
-1
45
9
-25
15
31
38
0
2
3
-40
28
0
0
0
0
0
0
0
0
0
0
-8
-13
-2
11
-3
0
0
-39
-6
0
11
8
-15
-9
-6
18
-18
-36
1
-23
-14
-35
-27
54
-22
-35
-24
24
-8
-27
-72
-20
16
-3
1
0
0
0
0
0
0
0
0
0
0
11
15
-3
1
-7
-2
3
-5
9
0
0
9
9
22
6
2
13
13
-14
11
-10
8
27
-30
10
29
92
0
-2
-27
-15
4
-19
7
-14
0
0
0
0
0
0
0
0
0
0
0
4
-9
17
10
0
0
-15
-3
1
-13
11
0
-8
1
7
-13
-34
36
-27
-22
-4
31
-21
9
10
16
2
-51
21
17
17
21
-7
24
0
0
0
0
0
0
1
0
2
0
-1
1
-1
-6
3
2
0
1
-13
0
-1
15
4
35
-12
19
-7
-51
-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
4
-1
0
2
-1
0
2
-9
-12
-2
-5
2
-1
3
0
-37
-41
-26
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
-9
0
0
0
0
6
-1
0
3
-2
-6
0
0
0
-2
22
-1
-19
-21
-36
-5
-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
1
19
0
19
18
-4
10
-2
11
-5
12
-14
-2
15
-19
29
15
8
31
26
-17
7
1
-11
4
0
36
27
24
6
59
-1
-2
0
0
0
0
0
0
0
0
-15
0
0
1
0
1
-2
0
0
-1
25
0
1
3
-10
5
2
-3
-12
-9
-2
-18
29
-4
38
-13
-4
3
26
20
37
0
2
0
3
-14
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-11
31
-1
6
-9
-2
7
27
15
11
-1
3
-14
9
-4
-8
-8
-6
27
-15
23
18
1
20
7
-17
31
-41
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-18
8
17
3
-8
-6
-20
-4
-16
-3
-14
3
11
2
-16
7
-11
-2
10
28
1
7
1
24
6
-18
3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
-4
-13
0
-1
2
42
-1
-13
-26
-4
-36
-4
-4
22
-14
23
-14
-43
32
-12
45
12
14
-19
-28
-21
11
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
1
-1
0
-4
0
-10
32
-9
-25
-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
-1
6
1
0
-1
-2
8
-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
0
0
0
0
1
0
0
0
0
3
0
0
-1
13
-13
-10
-14
-22
-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
-1
0
0
0
0
0
1
0
0
0
2
1
-1
-3
-1
4
-8
2
17
0
1
3
14
6
28
3
8
-2
10
31
41
85
-3
9
13
13
74
29
6
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
-14
0
0
-2
0
11
0
12
-3
-12
-24
-8
1
6
17
-28
-6
6
-8
-5
23
1
8
69
-14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-14
37
15
-1
-3
-12
-18
19
8
-12
15
0
-12
-13
-45
-71
-8
-22
-5
15
-24
23
-17
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-9
24
32
5
8
7
5
-20
0
36
0
25
12
9
-10
1
61
-5
-29
24
-17
-9
37
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
5
2
0
5
-3
3
-8
-38
-30
6
7
-5
-1
0
-20
70
-6
32
-34
0
-11
22
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
15
-6
-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
-5
-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
-1
0
-1
-1
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
1
4
0
0
-4
3
46
0
-4
-2
-37
-58
0
-9
-4
-2
-13
0
7
6
8
-5
0
7
5
-2
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
3
0
0
-19
0
1
-4
-16
0
0
-15
-23
-7
33
0
-7
40
-26
-36
0
0
-4
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-3
-17
-9
0
-12
15
10
25
0
-3
-7
-1
8
0
-5
0
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
-5
12
-31
1
5
12
16
-12
-1
-1
0
-11
-38
-5
20
8
-5
0
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
-33
0
9
16
0
-1
-28
-35
4
0
-1
29
-7
35
0
34
-2
-10
1
0
0
0
0
0
0
0
1
-2
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
-17
-28
0
0
0
-1
16
0
0
38
7
19
0
0
-27
-26
-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
9
0
0
0
-8
-21
0
0
-5
0
2
0
0
-9
-10
22
0
0
9
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
-12
0
30
0
0
-7
12
0
0
0
11
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
6
46
3
-10
45
-1
-20
8
22
0
-2
-2
16
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-7
21
0
0
13
18
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
34
0
0
0
-3
25
0
0
0
4
-8
0
0
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
8
0
0
0
0
-28
0
0
0
13
6
0
0
0
0
-29
0
0
0
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
-15
36
0
0
0
-1
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
13
25
-2
-1
0
1
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
3
0
0
0
-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
6
0
0
0
0
1
0
0
0
0
-7
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
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
13
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
-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
-9
0
0
0
0
2
-3
1
-12
0
0
0
0
-6
4
11
-10
-28
-6
0
0
0
-3
1
19
-19
-5
-6
0
0
0
-13
-75
52
-63
-8
-1
0
0
0
-58
66
4
-9
-12
-26
0
0
0
-6
65
14
-16
-47
-35
0
0
0
-3
45
8
3
-37
-75
0
0
0
-13
7
-43
2
-99
1
0
0
0
-58
0
41
-14
-18
-13
5
0
0
-6
0
48
-34
-36
-31
-34
0
0
-3
0
34
-31
-48
-9
-25
0
0
-13
0
-21
-46
-97
-10
-4
0
0
-58
2
-2
-21
-23
-24
-33
11
0
0
0
-22
-29
-54
-44
-20
-60
1
0
0
0
4
-4
-12
-27
0
1
4
1
0
0
-13
-30
-26
-56
46
3
-8
0
0
0
1
-4
-16
24
-39
32
2
2
0
0
4
5
25
30
43
0
0
0
0
0
-16
-11
0
17
37
-2
0
0
0
0
39
48
77
12
8
0
0
0
0
0
6
-36
35
27
0
0
0
0
0
0
21
27
15
-1
0
0
0
0
0
0
9
4
-15
1
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
0
-11
22
13
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-16
13
-19
6
0
0
0
-1
-15
-3
50
-2
-19
-1
0
0
0
14
0
6
-25
19
17
-3
0
0
0
15
-11
13
-5
17
15
0
0
0
0
12
8
-10
13
5
24
10
0
0
0
61
37
-10
12
1
8
0
0
0
0
13
36
-23
25
8
0
0
0
0
0
122
56
-43
4
2
0
0
0
0
0
-27
24
-22
2
1
0
0
0
0
0
58
-4
4
-1
0
0
0
0
0
0
-2
-12
11
0
0
0
0
0
0
0
22
7
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-7
-9
24
15
-24
1
0
0
0
-29
-30
-40
-4
-27
-2
0
0
0
0
8
1
-34
8
-23
4
1
0
0
0
4
-15
2
52
-7
-13
0
0
0
0
-8
49
21
45
-9
1
0
0
0
0
20
38
99
33
3
0
0
0
0
0
41
70
48
11
0
0
0
0
0
0
80
141
40
0
0
0
0
0
0
0
-23
63
-15
0
0
0
0
0
0
0
18
19
10
0
0
0
0
0
0
0
4
3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-1
-14
7
1
0
0
0
23
21
33
98
47
16
0
0
0
0
15
23
43
70
21
-1
0
0
0
0
11
21
95
9
4
1
0
0
0
0
6
20
94
47
3
1
1
0
0
0
112
79
82
18
-1
0
0
0
0
0
44
52
48
24
0
0
0
0
0
0
58
65
36
0
0
0
0
0
0
0
37
-1
10
0
0
0
0
0
0
0
41
17
1
0
0
0
0
0
0
0
-16
-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
-16
14
9
-74
7
0
0
0
0
0
-2
-3
46
16
0
0
0
0
0
0
8
8
90
15
1
0
0
0
0
0
39
56
74
68
0
0
0
0
0
0
-3
63
52
0
0
0
0
0
0
0
88
18
47
3
0
0
0
0
0
0
-1
36
21
0
0
0
0
0
0
0
69
-11
2
0
0
0
0
0
0
0
25
-7
0
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
36
2
0
0
0
0
0
8
58
95
21
0
0
0
0
0
0
55
34
18
-11
0
0
0
0
0
0
102
60
32
9
0
0
0
0
0
0
66
45
4
1
0
0
0
0
0
0
73
-8
12
0
0
0
0
0
0
0
46
-2
8
0
0
0
0
0
0
0
25
-8
0
0
0
0
0
0
0
0
-9
25
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
49
2
-9
0
0
0
0
0
0
93
46
63
0
0
0
0
0
0
0
4
-95
-41
0
0
0
0
0
0
0
42
66
30
0
0
0
0
0
0
0
20
10
8
0
0
0
0
0
0
0
79
17
1
0
0
0
0
0
0
0
2
-13
0
0
0
0
0
0
0
0
8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
1
0
0
0
0
0
0
77
4
-15
0
0
0
0
0
0
0
26
30
-7
0
0
0
0
0
0
0
25
27
-1
0
0
0
0
0
0
0
103
-7
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-16
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
17
9
0
0
0
0
0
0
0
0
19
1
-1
0
0
0
0
0
0
0
67
3
2
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
3
7
-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
76
9
0
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
-9
3
-2
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
9
13
10
30
31
50
36
-6
1
-26
-1
14
17
29
4
-4
39
12
0
13
10
10
23
48
18
25
16
9
0
2
-4
4
4
22
21
58
33
3
0
-8
-6
-4
-16
-13
11
47
12
-1
0
-2
-15
-11
-9
15
56
22
-23
0
0
17
4
-6
20
27
24
43
1
0
0
2
-25
-24
28
86
22
5
2
0
0
46
22
5
-12
-5
33
1
0
0
0
27
10
37
60
-26
25
1
0
0
0
38
43
-35
89
39
1
0
0
0
0
55
50
-1
45
-12
1
0
0
0
0
22
28
28
-9
1
0
0
0
0
0
24
41
14
-16
0
0
0
0
0
0
-25
-6
48
-3
0
0
0
0
0
0
1
12
1
0
0
0
0
0
0
0
-4
-1
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
11
4
-9
-8
-4
26
-2
0
0
-13
-17
14
26
23
-13
45
15
0
0
-5
2
-6
-3
-7
35
39
-4
-3
0
-19
-26
-14
-4
7
33
-1
-14
0
0
3
6
-4
-37
4
52
69
16
0
0
-14
-1
-14
14
57
43
61
0
0
0
33
14
2
39
56
24
48
0
0
0
58
32
36
91
71
-16
10
0
0
0
61
58
38
65
35
35
0
0
0
0
73
76
60
-3
32
-8
0
0
0
0
55
39
3
59
46
1
0
0
0
0
67
77
-2
-13
-4
-1
0
0
0
0
7
47
15
18
0
0
0
0
0
0
9
-5
-46
-3
0
0
0
0
0
0
-1
-4
32
-1
0
0
0
0
0
0
4
11
-4
0
0
0
0
0
0
0
1
-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
30
45
48
44
59
-18
43
2
0
0
0
41
48
46
28
-24
12
1
0
0
23
34
17
10
7
51
12
0
0
0
17
24
27
29
27
13
45
1
0
0
16
-2
-9
33
55
28
-1
0
0
0
3
-9
10
68
44
42
-3
0
0
0
23
13
38
19
26
8
0
0
0
0
20
19
45
2
34
36
0
0
0
0
44
40
32
13
4
0
0
0
0
0
51
37
52
62
18
2
0
0
0
0
4
39
-2
7
0
0
0
0
0
0
8
17
23
-27
0
0
0
0
0
0
-11
37
34
0
0
0
0
0
0
0
38
4
12
0
0
0
0
0
0
0
26
-12
0
0
0
0
0
0
0
0
-16
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
23
35
49
29
26
12
0
0
0
-6
8
-16
20
56
86
-3
0
0
0
11
-5
-5
15
53
17
3
3
0
0
19
3
-10
11
23
-5
-27
0
0
0
17
5
4
37
6
61
13
0
0
0
16
13
1
24
7
40
1
0
0
0
48
-4
5
40
-24
11
0
0
0
0
7
26
54
7
45
2
0
0
0
0
37
27
82
51
-29
0
0
0
0
0
57
62
65
-47
0
0
0
0
0
0
25
36
-8
17
0
0
0
0
0
0
25
21
2
1
0
0
0
0
0
0
22
0
4
-2
0
0
0
0
0
0
29
7
3
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
63
10
-17
12
0
0
0
0
0
25
20
82
30
-1
-3
7
0
0
0
33
43
30
1
92
9
0
0
0
0
-9
10
47
13
52
9
0
0
0
0
13
4
-1
23
-5
-2
0
0
0
0
0
-4
-23
69
-17
2
0
0
0
0
9
-3
32
8
-1
0
0
0
0
0
19
-2
74
-6
-1
0
0
0
0
0
55
7
-65
-2
0
0
0
0
0
0
73
6
22
3
0
0
0
0
0
0
59
-22
2
0
0
0
0
0
0
0
12
-21
-2
0
0
0
0
0
0
0
1
-3
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
-1
31
50
36
46
-4
-4
0
0
0
21
-13
32
13
8
-3
0
0
0
0
7
28
1
-50
-21
28
0
0
0
0
5
-4
12
72
1
6
0
0
0
0
21
-24
1
20
-1
-6
0
0
0
0
-9
-3
27
-2
-3
0
0
0
0
0
5
46
6
50
-1
0
0
0
0
0
35
-48
4
11
-3
0
0
0
0
0
4
59
-29
1
0
0
0
0
0
0
26
51
12
1
0
0
0
0
0
0
4
76
10
0
0
0
0
0
0
0
-8
-40
0
0
0
0
0
0
0
0
20
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
41
-20
25
-64
-13
0
0
0
0
0
19
2
30
-40
0
0
0
0
0
0
30
31
13
-11
-3
0
0
0
0
0
71
10
24
17
1
0
0
0
0
0
-15
-16
2
-8
0
0
0
0
0
0
9
-15
16
0
0
0
0
0
0
0
51
1
46
0
0
0
0
0
0
0
55
-10
-8
0
0
0
0
0
0
0
39
66
0
0
0
0
0
0
0
0
67
-36
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-22
2
-30
-2
0
0
0
0
0
9
-12
69
3
0
0
0
0
0
0
22
11
-20
-12
0
0
0
0
0
0
10
-19
-22
2
0
0
0
0
0
0
21
-40
-17
-10
0
0
0
0
0
0
6
-50
-80
2
0
0
0
0
0
0
48
-72
-19
0
0
0
0
0
0
0
15
49
2
0
0
0
0
0
0
0
24
-11
1
0
0
0
0
0
0
0
9
2
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
-14
-8
8
0
0
0
0
0
0
-27
-3
-10
0
0
0
0
0
0
0
73
86
28
2
0
0
0
0
0
0
-54
-66
3
0
0
0
0
0
0
0
-19
1
-8
0
0
0
0
0
0
0
1
-54
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
-6
0
-3
0
0
0
0
0
0
-39
31
-3
0
0
0
0
0
0
0
-46
22
1
0
0
0
0
0
0
0
58
-21
1
0
0
0
0
0
0
0
9
0
-1
0
0
0
0
0
0
0
-16
1
4
0
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
-3
-2
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
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
-21
13
13
21
42
57
-6
1
-97
-38
-20
-25
20
11
45
44
12
0
-15
7
28
43
45
62
63
18
13
0
-9
-1
23
35
32
45
88
45
2
0
-20
15
39
26
37
77
13
16
-1
0
10
39
39
21
19
21
13
-22
0
0
-2
28
31
24
35
47
40
0
0
0
10
33
28
16
23
11
23
0
0
0
26
42
33
45
3
43
1
0
0
0
39
41
38
58
-21
18
0
0
0
0
47
72
9
18
23
0
0
0
0
0
57
48
-4
38
-12
1
0
0
0
0
26
-3
0
-18
0
0
0
0
0
0
7
61
26
-26
0
0
0
0
0
0
-25
-15
38
-6
0
0
0
0
0
0
16
15
2
0
0
0
0
0
0
0
-4
4
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-29
-1
17
4
39
39
7
0
0
-5
-55
4
1
30
41
66
21
0
0
26
17
17
32
54
54
48
-18
-3
0
-3
9
33
48
10
25
2
-17
0
0
4
26
22
18
30
36
66
22
0
0
14
16
35
13
28
33
78
3
0
0
14
28
33
22
10
18
46
1
0
0
28
38
46
63
36
-7
6
0
0
0
55
43
62
30
24
41
0
0
0
0
74
30
59
-1
16
-11
0
0
0
0
29
69
37
39
32
1
0
0
0
0
42
56
31
-23
-7
-1
0
0
0
0
18
0
-4
13
2
0
0
0
0
0
-7
9
-45
-1
0
0
0
0
0
0
-33
13
42
-2
0
0
0
0
0
0
9
17
-6
0
0
0
0
0
0
0
3
-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
-11
13
33
28
30
-28
56
2
0
0
-30
15
30
48
16
-14
22
1
0
0
0
45
44
21
23
45
13
0
0
0
-1
38
17
54
45
36
47
1
0
0
23
24
38
40
69
20
-4
0
0
0
23
31
31
57
42
32
3
0
0
0
11
-6
45
25
25
5
0
0
0
0
57
11
25
38
39
42
0
0
0
0
18
37
5
-17
11
0
0
0
0
0
27
7
40
64
32
2
0
0
0
0
-12
47
-8
4
0
0
0
0
0
0
22
-11
-13
-23
0
0
0
0
0
0
-8
55
34
-1
0
0
0
0
0
0
38
1
10
0
0
0
0
0
0
0
29
-15
0
0
0
0
0
0
0
0
-27
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
34
45
5
0
0
0
0
-39
-3
20
16
70
81
-4
0
0
0
54
13
20
35
20
-6
11
3
0
0
40
11
17
16
12
-13
-24
0
0
0
10
15
12
35
-1
64
18
0
0
0
24
7
15
35
20
22
-4
0
0
0
55
38
2
12
1
14
0
0
0
0
1
44
12
19
70
2
0
0
0
0
-4
15
57
52
-37
0
0
0
0
0
37
66
85
-40
2
0
0
0
0
0
43
24
-13
19
0
0
0
0
0
0
-14
37
-8
1
0
0
0
0
0
0
37
22
1
-2
0
0
0
0
0
0
29
9
2
0
0
0
0
0
0
0
12
13
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-10
-1
0
0
0
0
0
21
14
48
22
-9
-2
7
0
0
0
57
36
20
-9
90
14
0
0
0
0
34
25
31
-14
54
9
0
0
0
0
-16
15
-2
7
6
-2
0
0
0
0
-7
13
0
56
-18
3
0
0
0
0
30
20
44
37
0
0
0
0
0
0
12
8
87
-19
2
0
0
0
0
0
52
1
-75
-6
0
0
0
0
0
0
39
31
21
2
0
0
0
0
0
0
78
3
-1
0
0
0
0
0
0
0
5
-26
-2
0
0
0
0
0
0
0
0
-3
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
20
33
44
39
64
-6
-4
0
0
0
43
16
0
-14
5
-3
0
0
0
0
46
49
11
-17
-11
32
0
0
0
0
1
24
8
71
10
6
0
0
0
0
17
16
15
29
-11
-8
0
0
0
0
9
-3
1
-43
-7
0
0
0
0
0
-22
45
3
59
-1
0
0
0
0
0
22
-35
16
0
-3
0
0
0
0
0
13
23
-28
2
0
0
0
0
0
0
63
91
13
1
0
0
0
0
0
0
12
85
16
0
0
0
0
0
0
0
-1
-54
0
0
0
0
0
0
0
0
36
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
64
-58
-3
-63
-13
0
0
0
0
0
-11
0
18
-36
0
0
0
0
0
0
55
64
15
-5
-3
0
0
0
0
0
47
21
73
25
1
0
0
0
0
0
-12
-31
37
-13
0
0
0
0
0
0
18
-11
32
1
0
0
0
0
0
0
14
6
55
0
0
0
0
0
0
0
62
-14
-9
0
0
0
0
0
0
0
39
72
0
0
0
0
0
0
0
0
67
-42
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-36
-12
-35
-2
0
0
0
0
0
-22
-29
77
4
0
0
0
0
0
0
14
15
-24
-41
0
0
0
0
0
0
5
-23
-22
6
0
0
0
0
0
0
-9
-25
-11
-15
0
0
0
0
0
0
6
-51
-89
2
0
0
0
0
0
0
43
-64
-21
0
0
0
0
0
0
0
7
54
2
0
0
0
0
0
0
0
30
-11
1
0
0
0
0
0
0
0
11
2
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
73
-36
-8
8
0
0
0
0
0
0
-15
-8
-10
0
0
0
0
0
0
0
50
83
25
2
0
0
0
0
0
0
-49
-58
4
0
0
0
0
0
0
0
-24
-7
-8
0
0
0
0
0
0
0
-2
-60
0
0
0
0
0
0
0
0
3
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
-6
0
-3
0
0
0
0
0
0
-27
32
-3
0
0
0
0
0
0
0
-36
24
1
0
0
0
0
0
0
0
62
-19
1
0
0
0
0
0
0
0
9
0
-1
0
0
0
0
0
0
0
-16
1
4
0
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
-3
-2
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
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
-4
-45
34
-24
17
-2
0
-12
-66
-56
12
64
57
28
29
6
0
-9
-79
58
17
91
100
8
10
1
0
-10
-33
5
18
70
13
35
26
0
0
-2
2
22
76
71
35
8
0
0
0
-21
20
16
42
11
-24
53
-7
0
0
-84
-39
45
-21
36
20
9
0
0
0
34
21
30
12
-12
7
26
0
0
0
14
-28
4
68
1
12
1
0
0
0
15
45
-31
48
-11
30
0
0
0
0
49
8
39
-10
-32
0
0
0
0
0
57
36
-22
39
-26
0
0
0
0
0
-33
-35
-54
12
3
0
0
0
0
0
-9
24
10
-10
0
0
0
0
0
0
-26
1
41
-2
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
2
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-10
-40
13
23
51
-2
2
0
-11
-79
-81
-14
35
61
29
16
0
0
-17
2
-11
33
38
22
-10
4
0
0
-32
0
40
-3
59
39
-18
22
0
0
56
8
-12
16
42
-31
64
22
0
0
-5
32
-1
-45
0
37
20
-2
0
0
-40
46
1
-19
14
39
3
0
0
0
-40
30
-33
-10
-2
19
7
0
0
0
3
-10
-2
-16
17
8
0
0
0
0
-5
46
19
-8
-51
-16
0
0
0
0
14
-20
54
27
-2
0
0
0
0
0
-52
-36
-17
9
-5
0
0
0
0
0
8
-62
34
1
4
0
0
0
0
0
7
1
-25
-3
0
0
0
0
0
0
-3
-18
32
2
0
0
0
0
0
0
2
12
-6
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
-79
-62
-15
4
0
0
0
-2
-35
-43
10
20
0
20
-2
0
0
-15
13
-23
48
-42
8
-7
0
0
0
-2
-3
20
-16
8
14
-6
1
0
0
-13
9
-8
58
105
3
-1
0
0
0
22
-19
36
15
24
15
-11
0
0
0
-17
-7
1
-10
49
-4
0
0
0
0
44
1
27
62
-19
3
0
0
0
0
-36
-15
27
-4
16
0
0
0
0
0
1
51
-13
-5
25
3
0
0
0
0
22
40
18
-11
1
0
0
0
0
0
-11
-20
-6
-17
0
0
0
0
0
0
-28
-22
14
-1
0
0
0
0
0
0
-15
-13
1
0
0
0
0
0
0
0
8
-8
0
0
0
0
0
0
0
0
-7
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
44
-68
-55
9
4
0
0
0
0
10
-16
1
-46
-26
21
-2
0
0
0
-4
-2
-20
29
-41
-10
16
2
0
0
13
13
-35
24
62
-23
-8
0
0
0
-19
-6
7
39
-24
27
2
0
0
0
-8
-4
-3
26
75
15
1
0
0
0
-29
-1
17
-4
8
-3
0
0
0
0
25
-21
58
-32
24
-1
0
0
0
0
-57
34
18
66
-25
0
0
0
0
0
-22
44
33
-7
-15
0
0
0
0
0
27
22
38
18
0
0
0
0
0
0
-67
22
-15
2
0
0
0
0
0
0
-18
26
8
-3
0
0
0
0
0
0
13
5
4
0
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-26
-5
3
2
0
0
0
0
-1
12
-4
25
-10
-2
4
0
0
0
-16
14
-40
17
6
3
0
0
0
0
-24
-18
20
-42
4
-7
0
0
0
0
-26
-13
2
6
17
0
0
0
0
0
-12
-22
-25
14
-2
3
0
0
0
0
26
42
-4
50
1
0
0
0
0
0
-5
22
43
7
0
0
0
0
0
0
-22
-38
-31
0
0
0
0
0
0
0
19
-11
2
0
0
0
0
0
0
0
9
6
4
0
0
0
0
0
0
0
-9
-7
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-39
-10
4
0
-2
0
0
0
0
-2
-15
-32
-19
-1
0
0
0
0
4
18
-35
51
-11
1
0
0
0
0
3
-44
-22
-18
-4
3
0
0
0
0
0
39
-37
10
-19
0
0
0
0
0
2
-38
30
-21
-4
0
0
0
0
0
-19
-17
56
25
0
0
0
0
0
0
-27
18
-22
3
-3
0
0
0
0
0
21
-5
-2
0
0
0
0
0
0
0
35
18
3
1
0
0
0
0
0
0
11
15
-1
0
0
0
0
0
0
0
-4
-27
0
0
0
0
0
0
0
0
4
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-9
-2
0
0
0
0
0
0
-3
-2
-12
1
0
0
0
0
0
0
0
12
0
13
-1
0
0
0
0
0
-2
33
34
0
3
0
0
0
0
0
-7
-66
-1
-11
1
0
0
0
0
0
-29
-8
22
0
0
0
0
0
0
0
0
21
13
0
0
0
0
0
0
0
-8
-10
-1
0
0
0
0
0
0
0
0
15
2
0
0
0
0
0
0
0
15
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
-1
0
7
-2
0
0
0
0
0
0
-11
11
0
-41
0
0
0
0
0
0
-3
-10
14
9
0
0
0
0
0
0
4
-8
15
-8
0
0
0
0
0
0
3
-12
-16
1
0
0
0
0
0
0
30
-51
-18
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
0
1
-7
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-8
-4
-132
64
-26
-123
-2
0
-37
-38
-5
-16
-14
27
-59
26
-13
-27
-37
-18
4
-51
-35
-82
-10
-8
-22
-20
-25
-25
-20
-26
-7
-46
-48
-8
0
-10
-14
-16
-31
8
-66
-1
1
-6
-13
-14
-15
-9
-21
-22
-6
-11
-7
-12
-13
-9
3
-26
-29
-6
0
-2
-5
-10
-20
3
4
-40
0
0
-15
0
6
-6
3
35
-7
0
30
-4
-21
-26
-29
-32
-29
-3
0
-30
-20
-80
-40
-5
5
-6
-1
0
12
-18
-37
11
-16
32
9
0
0
5
-27
6
-2
-11
1
0
0
0
-6
-10
-25
0
0
-1
0
0
0
0
-2
7
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-13
-29
19
17
-22
-54
-3
0
-14
-3
-22
-33
-8
17
-17
-61
-17
9
-14
-37
2
4
0
-44
22
-14
-18
-22
-14
-6
-1
-17
8
21
-9
-10
-13
2
-5
-20
-41
-34
-23
-14
-9
-6
2
-7
-23
14
15
-70
-12
-13
-10
-22
-27
-16
-20
7
-45
0
-2
-7
-17
1
-17
-12
-14
-30
0
-22
-9
-7
-31
-2
-15
-38
5
-39
-51
-8
-24
-2
-38
17
-22
-1
-14
-30
-42
-21
7
-7
-11
-5
-2
-50
8
-31
-24
-51
40
-16
13
9
32
-17
-44
-76
-27
-9
6
11
0
-16
-20
-21
15
-13
-1
-8
19
4
1
-24
49
-8
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-22
16
7
-26
1
-3
-64
-3
37
-26
-22
7
3
-36
-4
-20
-62
-7
-14
7
21
3
28
7
-8
12
-4
-19
6
0
7
21
-1
38
-18
-4
-7
-31
-20
1
-16
-40
-2
-12
-8
-3
-8
-5
-17
1
-28
3
-78
-15
12
-4
-16
-16
1
6
10
-55
0
5
14
-13
18
3
-4
-23
-28
0
-13
8
-7
-4
-18
-63
-31
7
-13
12
-23
-11
11
3
32
-31
-1
-29
7
0
-7
-6
1
-23
-14
-2
-51
6
-35
-27
-40
23
-18
14
9
19
-5
-43
-52
-22
0
-3
5
0
-24
-7
-20
20
-10
1
-9
19
4
2
-20
52
-12
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-37
69
-6
-56
-26
0
0
0
-38
-5
3
-9
-38
-38
-14
-21
0
-9
26
72
14
42
60
4
1
-3
52
-17
2
20
-86
-21
-53
18
-9
-22
-17
-58
-18
-41
-9
-20
-30
-17
40
19
-27
-85
19
26
-36
-39
-20
42
2
10
-27
-16
44
6
-26
-4
0
-2
11
25
1
18
-16
-41
-9
0
-4
32
-8
-3
34
-28
-18
1
34
36
-26
19
29
-8
-6
-10
0
-47
-4
50
1
34
-2
1
-2
-1
0
-3
2
6
-1
-27
-13
-1
0
-14
-8
-22
19
0
-9
0
0
0
-6
-3
-7
8
-1
-1
0
4
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
31
-7
-19
84
-39
-61
-1
0
21
2
53
18
-18
67
-32
-18
7
-14
7
14
12
-13
12
29
-2
-14
-10
-2
-10
-3
-4
-6
3
-37
-20
-10
-12
-9
-7
-3
-5
-26
29
-7
-3
0
-5
-3
-8
-16
11
-49
-16
0
-1
-4
-3
-3
-2
-53
-19
-12
0
9
0
-6
-11
-14
-2
-67
0
0
13
4
36
-10
21
-18
-18
0
0
6
-9
15
-2
10
-1
0
0
19
39
12
7
-12
-11
0
0
0
-15
-16
4
17
-16
-20
-1
0
0
-36
-36
-1
-14
-2
0
0
0
0
-3
3
-1
0
-4
-4
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-19
-30
-10
-1
34
-7
24
-2
-27
-8
-5
-5
15
3
-22
15
-6
-9
-15
4
-3
5
-1
38
17
-46
-8
2
1
8
1
11
-25
36
-56
1
-4
-4
-6
-1
1
10
-70
-20
-12
-9
-3
-4
-9
-4
-30
-23
-61
0
-8
2
-4
13
-3
-27
-19
-55
0
-11
10
-5
-10
-10
-35
-110
-32
0
2
0
6
-18
19
-56
-73
0
0
7
36
-11
-4
-8
-18
3
-2
28
19
8
22
-17
-19
-41
4
-1
-48
43
-26
14
-18
8
-19
2
0
-53
-92
-23
-5
25
-25
1
3
0
14
-14
-51
-12
-18
4
-19
0
0
0
4
-2
-4
-5
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-27
0
28
-6
-4
15
2
-2
-17
-10
20
-13
20
-28
37
-19
-1
9
-6
-7
23
3
-10
-22
36
-45
-10
26
33
24
21
26
-5
5
-53
15
29
6
9
8
-11
-8
-22
-13
4
4
-2
-10
11
22
-15
-24
-40
0
1
11
8
-15
7
-46
-34
-58
0
-3
-7
8
24
-16
-50
-70
-29
0
-7
9
-8
31
20
-12
-70
0
0
-29
6
9
-10
1
-28
-1
-2
5
-12
-16
35
-1
-54
-38
3
-1
-30
66
-46
26
-11
36
-18
2
0
-36
-72
-13
-10
24
-31
2
3
0
8
-21
-52
-12
-25
-1
-17
0
0
0
4
-6
0
-5
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
40
25
-28
13
35
-4
0
-18
-18
-60
28
21
20
-7
-3
4
-3
16
43
-14
18
-25
-46
37
-18
69
44
22
-20
-9
-24
-12
-9
-6
-18
49
-16
25
39
-17
-74
-14
-1
66
51
-12
-72
-61
21
27
-16
7
0
52
-15
81
-60
-25
-49
-50
-10
0
9
-26
49
-14
2
20
18
-1
0
-34
-27
9
-11
-16
-14
-2
0
0
49
-22
5
-10
-2
-19
3
0
-37
-86
2
-12
42
-24
-3
0
0
1
21
-5
20
4
-3
2
0
0
-9
-24
-7
10
4
-2
0
0
0
1
8
0
-3
-1
2
0
0
0
0
0
0
0
0
1
0
0
0
-30
-20
-21
-18
-17
-12
-7
-4
0
2
3
2
7
4
4
1
-1
-30
-46
-17
-21
-36
-47
-30
-34
-19
-14
4
5
19
17
25
32
-1
-159
-119
-89
-72
-65
-46
-31
-19
-15
0
3
7
9
28
33
25
15
-70
-79
-99
-98
-89
-65
-56
-43
-33
-29
-16
-9
-3
12
16
29
57
-103
-64
-64
-79
-58
-58
-46
-34
-32
-17
-9
9
21
24
33
64
66
-41
-89
-89
-94
-76
-59
-67
-50
-47
-30
-26
-14
1
-1
18
53
20
-8
6
-78
-87
3
-40
-24
-20
-9
-33
28
-4
70
49
24
24
11
1
-11
1
-84
-42
-30
-45
7
-2
-40
12
36
-6
-6
42
26
5
-36
6
-21
-16
-5
-12
-30
-6
-5
-30
-9
-1
-20
-11
-2
-44
-17
-19
-3
-32
-29
0
-13
-8
-7
-16
3
-5
-11
3
-21
-4
-17
-8
-2
-53
-22
-1
6
29
-23
-3
-14
-3
-6
-21
-3
1
-4
-8
-14
-14
-11
-9
-2
-23
-33
14
-3
1
-14
-3
-8
-3
-6
-9
-17
-22
-8
21
-17
-13
-14
-13
-9
-8
-5
11
-11
-17
-11
-2
-13
-3
-6
-8
-7
5
-3
13
-9
-8
-16
-14
-10
-14
5
-18
0
-2
-10
-2
-11
-3
-5
-7
7
-12
18
-7
13
-7
-14
-10
-7
-6
10
2
-9
9
-5
0
-7
0
-8
-7
-8
1
20
18
1
-5
-9
7
11
-18
3
-11
16
17
-14
-2
-10
-5
-5
5
7
30
-14
7
19
-10
-2
2
6
26
-12
31
-7
12
-14
-4
-7
-3
-5
-6
7
19
2
10
-17
2
-12
21
11
39
20
7
6
-10
-17
-26
-31
-13
-23
-38
1
-47
-19
-2
-31
-26
-26
-26
-30
-49
0
-9
-27
-26
-19
-19
-30
-13
-21
-25
-29
3
-4
2
-20
-27
-27
-29
-19
-21
-11
-6
-35
-9
-32
-19
-25
-17
-15
-37
-22
-13
-17
-5
-20
-23
-30
-26
-25
-27
-10
-36
-18
-13
-24
-23
-22
-23
-16
-30
-31
-11
-13
-8
-1
-24
-21
-18
-11
-20
-19
-24
-21
1
-7
-8
-16
-14
-21
-13
-18
-17
-12
-1
-4
-15
-19
-10
-11
-32
-29
-12
-4
-9
-10
-10
-18
-15
-9
-12
-20
-12
-24
-2
0
-7
-14
-4
-11
-23
-19
-7
-6
-7
-13
-8
-5
-12
-9
-12
-9
-7
-5
-10
8
-4
-8
-9
-4
0
-17
-10
6
10
11
-3
-7
-6
-4
-11
-11
0
-2
-25
17
2
-10
-18
8
-7
-8
-11
5
6
7
2
-1
-7
1
-13
1
5
24
5
5
0
8
18
-6
18
-6
3
1
5
-18
6
-33
-41
-31
-38
-19
-48
-12
0
-40
-5
-44
-20
-16
-39
-22
-11
-21
-21
-13
-13
-7
-8
-20
-25
-2
-28
10
-11
-23
-11
-4
-30
-20
-13
-14
-23
-11
-8
-8
-20
-28
-7
-11
-31
-15
-30
5
3
-15
-11
-20
-17
-15
-23
-11
-24
-19
-18
-28
-20
-9
1
-6
-47
-24
-8
-9
5
-5
-8
-3
-11
-15
-6
-21
-19
-13
-16
-31
-6
-17
-10
3
-10
-18
-13
-12
-12
-6
-16
-9
-13
-2
-14
-8
-13
-5
-19
1
-5
-6
-16
-2
-28
-14
-5
-11
-6
-1
-10
-14
-3
3
-29
-11
-19
4
11
-9
-17
-8
-6
-3
-9
-10
2
-15
-19
18
2
1
0
-7
-15
0
10
-18
22
-15
6
-10
-4
0
-6
-8
-5
-15
3
-2
-3
-8
21
-25
-3
2
6
30
8
-7
-2
-8
-8
-1
3
0
2
-1
-3
7
-22
10
-1
13
7
-10
-8
13
20
-26
-15
-27
-25
-16
-45
-37
-36
-15
-3
-30
-39
-21
-17
-21
-43
-34
-33
9
-22
-2
-7
-16
-13
-3
14
-26
-20
-17
8
-3
-10
-4
21
4
-20
-9
2
15
5
-27
-27
21
3
20
-32
22
16
10
2
-16
0
-4
7
-9
-18
-10
-27
29
9
-6
0
-21
-3
4
11
-10
-6
-11
-10
-2
-25
13
-23
24
11
-6
1
-20
22
-6
5
-7
-22
10
-13
-15
-13
13
0
15
-8
-14
2
15
11
-41
1
-18
5
-2
-4
2
10
-10
9
-14
-2
6
14
-9
37
-13
-28
-10
12
-2
-13
-29
2
-15
-7
9
-1
7
3
0
-3
-3
-15
1
9
4
15
-7
-5
-8
0
19
-6
6
-1
-7
22
-19
8
-7
-3
10
-7
-12
13
-5
-8
6
-6
-28
4
9
-7
17
19
-19
6
0
-21
-4
5
16
-2
-1
8
-23
10
-5
-7
45
9
16
-14
39
-10
-1
26
0
-16
-16
12
-22
-10
-23
-4
15
-1
-56
-14
-58
-18
-26
24
1
-31
-29
-19
-11
0
-3
8
0
-15
-16
-6
-36
-18
-72
-34
-21
-57
-11
-19
-1
-6
-12
10
-13
9
-16
19
20
15
-12
-31
-29
1
-19
-15
-7
-31
-31
-22
-14
-5
-14
9
0
-16
40
-27
-5
-26
-21
-11
-26
-2
-18
0
-10
-10
-17
-2
-28
-7
-8
-11
-14
3
-7
3
7
-17
-1
-32
-21
-13
-45
-8
-15
-6
-13
-15
-12
11
-19
-14
-18
-12
-3
19
-12
4
-29
-14
-13
-13
-12
-2
-12
-10
-16
-15
18
4
26
16
13
2
19
-38
4
-24
-26
-2
-6
-10
-9
-17
-4
-1
1
8
6
-33
20
-24
3
0
14
3
-11
-7
4
-2
-6
-8
15
-12
-3
-18
4
2
2
-12
8
16
-18
-19
-11
-3
1
-9
-5
-2
-13
-22
2
34
7
42
29
-34
0
-1
-16
-7
-5
-2
19
-2
-2
-10
-7
-19
-11
10
9
13
17
17
-3
-19
1
0
-4
3
-18
-9
-13
-5
-12
-19
31
5
5
15
-17
15
21
-18
1
-7
-3
-3
9
0
-3
6
-2
14
-34
-23
33
-4
18
-28
-19
-5
21
-2
1
2
-16
-18
-12
0
12
-15
-21
19
8
-1
35
17
-1
17
7
-15
-5
-5
16
-6
-9
-3
-6
38
11
-4
-2
18
3
-7
-13
13
14
1
19
-2
-3
-11
-3
-16
3
26
14
-1
23
10
16
-19
-18
-4
0
8
0
-6
-12
-1
1
-2
6
-6
-15
30
19
10
-13
-14
50
24
-30
2
10
3
0
-11
-12
17
4
19
6
-7
5
8
5
-5
7
-16
0
-19
-21
-19
-19
-22
-51
-33
-52
-23
-19
-40
-18
-28
-40
-7
-9
-36
-1
-47
-52
-26
-28
-25
-5
-39
-26
-20
-26
-42
-19
-49
-31
0
-20
-16
-44
12
-21
-15
-12
-14
-26
-16
-8
-12
-19
11
-9
6
-35
3
-20
-37
-7
-28
7
-15
-28
-17
-19
-15
-29
-14
-4
0
-12
-9
-33
-34
-11
-20
-56
-18
-1
-12
-7
-22
-19
-6
-18
-4
-2
3
-2
-5
-32
-42
-25
-21
-27
-28
3
-11
-15
-17
-20
-27
-22
-22
-31
7
-24
2
0
-12
-22
-13
-20
-11
-3
-15
-15
-11
-19
-13
-7
-13
-24
-4
20
-11
-24
2
-22
-16
-14
-23
-19
-18
-2
-16
-11
-15
-17
-4
-11
-7
-6
-7
-40
-13
-10
-15
0
-18
-10
-18
-4
-9
-23
-11
-6
-17
-15
-7
7
-6
18
-3
4
-6
-8
-14
-7
-8
-14
-16
-19
-5
-18
-2
-5
-26
9
-21
-10
-24
-14
-3
-32
-18
-17
-17
-8
-7
-12
-12
-9
1
-19
9
-18
2
27
0
6
15
-16
-23
-7
-19
-4
-8
-13
0
0
-6
-9
-2
-7
-27
-4
-3
-11
-3
8
-17
-6
-1
-5
-7
-5
-9
-11
-12
13
3
2
-19
0
-19
-21
-3
0
-7
-27
9
5
2
2
10
10
9
12
-6
7
5
-2
-2
3
4
2
21
-2
-7
-28
-5
-5
-8
-12
24
26
6
23
-17
19
9
-5
-2
-16
2
-7
13
15
-4
8
-3
2
-12
-2
7
7
21
21
-3
-1
-16
38
23
3
9
-39
-10
33
-1
-4
-11
20
-13
18
47
-16
-21
2
11
-26
13
5
-4
-3
5
5
11
7
0
-3
-4
16
6
50
14
-37
6
-6
-14
3
-11
-29
-12
-44
-21
-24
-8
-19
-29
-59
-16
-48
-58
-34
-25
-6
-21
0
-12
-65
-8
-9
-46
-10
-15
-36
-8
-26
-14
-39
-48
-18
-27
-17
6
8
-7
-15
-12
13
-23
-13
15
-8
-19
-5
-21
-26
-2
-32
-23
-17
-7
-14
-9
14
-9
-4
-16
-13
-22
17
-44
-17
-36
14
2
-33
-13
-5
14
-3
2
0
-10
-25
-25
-3
-23
-13
19
-7
0
-12
-7
-18
-34
1
-12
-6
4
7
-7
-2
-14
-12
-16
-12
-1
5
6
-25
-18
-13
-3
-23
11
4
7
-18
-22
-14
-14
-13
1
-4
17
-8
-10
-18
-21
-7
-6
-27
-3
15
-15
24
-6
-17
-3
-12
-4
-13
-21
12
-21
-25
30
-14
-8
9
-33
-10
-3
11
-9
-9
-28
-1
0
4
4
-4
-14
-8
-18
-8
2
11
-8
1
2
-9
-4
-18
-7
-5
-8
9
11
-59
2
5
-29
-13
-14
-17
2
2
11
9
-8
-11
-12
-8
-12
0
-17
0
-5
31
3
10
15
36
-19
2
5
-26
-12
-16
-3
-9
9
-1
5
23
-42
0
-32
2
-3
-6
-32
-31
-14
-38
0
18
-3
-6
-6
4
16
-1
-3
-13
15
11
11
-19
1
1
-7
0
22
-3
-1
-13
5
-21
-7
8
40
-31
13
-1
-3
-9
21
21
-17
16
-9
-8
-3
-22
-5
9
-11
43
27
6
-21
17
-12
14
3
-9
-32
-25
18
-10
9
8
-16
-1
5
5
-2
2
-18
13
4
31
7
-29
-6
7
-4
-5
-10
3
22
-25
-4
16
-1
-15
5
-18
9
14
5
-30
-19
54
14
-11
4
5
15
5
0
-14
19
-11
-11
-8
-6
-1
-11
-2
-10
-19
-15
-17
-21
-24
-10
-3
-1
-42
0
-12
-15
-9
-6
-1
-12
-13
-2
-16
-20
-32
-33
-26
-9
-5
9
-33
2
-10
-13
-7
5
6
-18
-13
11
-9
-6
-5
0
-10
-10
1
-4
-9
-1
-1
1
9
-4
1
-7
13
-3
2
-13
11
11
-12
6
-4
-4
-1
-2
2
-1
-7
-9
-12
-1
4
26
-6
-10
1
-12
1
0
17
12
-3
8
9
0
-6
-6
2
-8
13
13
-14
-9
-6
0
1
-7
-8
-10
-1
4
-1
8
15
-8
4
-2
-9
-18
-1
-4
-3
6
-9
-13
-12
-5
-2
-1
-1
3
-9
15
-11
1
7
-2
-3
-23
8
-9
5
3
8
2
-9
-1
-2
0
-5
7
0
-11
6
-2
3
-13
-1
-20
22
5
-5
-16
8
-4
-1
-6
2
4
-14
-2
-4
-3
-1
19
5
-3
-14
-16
0
-6
-4
5
0
0
7
7
3
-5
12
6
-12
-3
-11
19
-22
-5
-7
14
2
1
5
0
-4
-5
-1
-19
4
1
-2
14
-13
-31
6
-13
-2
7
-3
2
0
0
4
15
2
9
-2
-7
5
3
-20
-14
8
-8
0
4
-3
1
0
4
13
13
8
4
-10
-4
10
-1
-16
20
-5
-13
0
-5
-1
5
-2
0
-8
4
-4
2
-5
2
8
1
15
4
-16
24
5
-9
0
1
-2
-2
1
-4
3
2
7
5
-12
-4
2
-10
-19
6
4
-9
4
-3
4
0
0
-6
-2
-1
-5
2
3
12
9
-17
15
3
-3
3
1
0
-6
0
-8
-11
4
9
-17
-1
8
5
-5
4
29
16
-5
9
0
-4
1
-6
-1
-1
-12
-13
-17
-8
-8
-8
-10
6
-10
-1
-9
2
12
1
0
29
-11
-11
-5
-3
-1
0
-7
3
-2
1
8
12
-1
18
18
13
-5
-15
-5
-4
-3
-3
-4
-2
-2
6
2
5
-1
-13
3
-9
10
-9
-1
9
2
0
1
-2
-2
-3
-1
-2
-2
-4
-3
5
-5
2
10
3
9
1
-1
-3
-4
-2
-3
-2
0
5
-4
5
5
-10
-10
-5
-6
-4
3
0
-3
-5
-4
-4
1
1
1
-1
0
12
32
25
-11
-2
-10
-4
-3
-3
-1
-1
-2
2
5
7
7
4
8
-4
-28
-41
1
-3
0
-4
-2
-1
-2
2
-3
7
9
29
38
8
7
-19
-2
-19
-21
-2
-16
7
-9
-15
15
-9
-3
2
-13
5
0
0
0
-7
-5
-1
11
3
-16
-17
-29
-14
-19
21
-1
13
2
2
-17
0
34
17
-7
-10
-8
-15
-29
-18
-13
-3
2
5
-7
26
8
27
5
-1
-15
-2
-9
-7
-9
-10
-13
-4
-9
2
-1
20
0
0
-17
-7
-23
-18
-3
-11
-11
-18
-24
-19
-7
-9
-4
3
10
6
2
13
-7
-13
-21
-33
-13
-28
-19
-19
-12
-11
-1
8
4
11
5
3
20
-5
-44
-16
-31
-32
-8
-13
-12
-14
-13
-11
-7
-11
13
7
8
-19
43
-22
-11
-35
-30
-4
-11
-17
-15
-9
-14
-7
-2
14
-1
-2
10
2
-24
-46
-27
-1
-7
-1
3
-11
-6
10
0
2
1
38
18
0
-7
-6
-20
-9
20
-8
-17
14
8
-4
-17
15
20
-18
3
19
6
0
16
-7
-19
-3
-7
-13
-7
-8
-1
4
0
-9
27
6
-8
6
0
-1
-34
-7
12
-17
-5
6
-9
-24
-3
-7
3
-13
-15
-37
7
36
0
-21
-4
-5
-13
2
-8
-10
-12
9
7
-4
-17
-4
16
17
3
-2
2
-10
-32
5
-22
-15
-5
-5
-8
6
8
-3
20
35
0
2
0
5
9
-1
24
-24
1
-28
-17
-10
-30
-20
0
2
1
-7
31
-2
-18
6
-9
-26
-12
-14
-16
5
-25
2
15
-16
-1
1
4
13
0
22
-31
0
-2
8
-6
-8
-15
-7
-29
-6
-17
-18
21
15
-20
-2
4
1
-41
-24
12
0
-33
-14
-7
-9
15
-20
13
6
-9
0
-1
-5
5
36
12
4
-33
-7
-22
-8
-8
3
19
-11
3
2
0
0
7
-7
-6
9
1
-10
-1
-4
7
8
-5
-8
-1
0
0
0
0
-3
-1
-14
-15
-3
3
18
-1
-8
-14
0
3
21
-3
0
-2
0
0
6
-4
2
-2
1
-16
0
19
0
-5
-18
6
15
-1
0
0
0
-1
0
6
0
-11
0
7
22
2
-11
-19
5
-4
-2
2
0
0
-2
-8
1
5
5
-5
-1
-5
-14
15
2
0
15
9
-7
0
-1
-1
-4
-3
8
3
-2
7
10
21
-5
1
-7
2
-3
-1
0
-1
-5
4
-8
9
9
4
-11
-19
3
6
7
1
-1
1
1
0
-2
1
-2
2
1
-1
-4
-1
-19
13
-4
14
-7
-3
0
0
0
0
0
1
1
-12
-6
-2
-10
-4
7
0
0
0
0
0
0
-20
-8
-16
-15
-8
-22
-5
-10
17
-8
14
5
9
14
5
-5
0
0
0
1
-19
-14
-5
3
4
-2
7
-19
1
8
4
10
4
-1
-2
11
-7
-3
-14
12
14
13
-3
-20
-33
-8
23
17
18
-3
2
-6
-19
-29
-21
-10
-6
-15
8
-1
-2
-4
-9
-15
-26
-3
-14
7
-6
-3
1
-7
-47
-18
-14
3
11
0
-6
-5
5
10
-9
1
-29
5
2
-2
-21
-10
-2
-9
9
-40
-10
7
0
-7
7
-37
-25
-14
-11
10
0
-9
-9
-6
-35
-20
5
-19
21
0
-5
-6
2
0
7
-21
-19
19
-1
-8
-12
-9
1
-15
-2
17
4
-5
0
3
-3
0
-2
15
9
2
-13
0
-3
-1
-23
10
12
3
3
1
-2
-4
-6
1
24
-26
0
2
9
-2
-4
4
-25
-8
-6
12
-6
1
0
-2
0
11
-9
-3
-2
5
-1
-8
-16
-19
-2
-9
-10
3
-7
6
0
-11
-10
33
2
0
-8
1
-2
0
-2
8
-22
17
10
-9
11
-4
1
-2
1
1
11
18
-17
-3
8
-1
-6
-22
6
-2
2
-4
5
1
4
-31
-30
12
-25
-21
-13
-5
-14
-5
10
1
31
-37
6
10
-1
0
0
-1
1
-1
13
-10
2
3
-5
-11
-2
4
-16
8
0
-9
3
9
-2
-1
-1
8
-8
-5
1
-5
4
-3
-3
-14
3
-12
-34
3
-4
-2
1
-3
-18
0
-11
-10
-16
-1
5
0
0
1
12
3
-19
-16
3
3
-4
-4
6
-26
16
2
-13
4
4
1
-1
2
6
0
-6
-7
11
8
-6
-13
-2
-31
-13
-48
-9
3
-20
-8
27
15
-18
5
-4
-5
-10
2
1
-4
-1
-4
4
-2
-24
-2
-5
0
-3
-4
-23
7
-2
24
12
-6
0
-8
-13
-11
-5
-10
-3
5
6
6
12
0
19
15
-12
46
-27
-3
-13
-2
-28
-5
14
-1
-9
0
-1
0
1
2
-5
5
8
3
0
-5
-6
-8
-2
-37
-2
6
-17
-7
-1
-2
-3
1
9
-4
-9
8
-5
-1
-2
1
-5
-3
-23
15
-3
-3
-15
-18
16
0
38
18
-6
-2
-10
-1
-7
-1
-3
12
3
25
-16
-11
-9
-8
-3
-8
-6
2
21
-15
-17
8
-17
-7
-10
8
-7
-15
-13
-15
10
-9
0
8
-17
-17
19
-8
0
5
-8
-5
-22
-30
1
-3
-1
-5
-1
1
-4
-1
8
-1
4
-16
-6
-1
-2
-7
-6
-16
-1
6
-10
2
0
-3
-5
3
-1
-1
-11
-5
-1
3
-1
-7
3
6
-14
-5
1
3
-3
6
35
21
20
-18
-17
0
1
-1
0
3
-5
-17
11
6
-14
2
-2
0
-5
-14
-23
19
13
-15
-8
-6
-2
-5
-12
-12
7
-4
22
-6
-2
-10
17
-8
10
-14
31
-5
6
-35
0
3
-6
-7
-2
-7
-5
-5
-1
-7
4
-6
-1
-4
1
0
-6
-2
-5
-1
-13
-4
6
-6
6
-5
-5
-7
-2
-5
8
9
-2
8
-1
-3
-25
-11
1
-1
-14
21
7
-14
1
-1
-7
18
-4
23
1
-7
-7
-8
3
8
0
-1
6
11
-2
25
8
0
-4
-4
-22
6
20
-12
13
13
0
8
-12
7
12
0
26
6
-15
5
-18
23
-4
-16
-1
24
-11
-16
-8
-5
30
14
-12
-2
8
-6
-1
-2
0
-10
-7
4
3
3
-2
-3
-6
6
-12
-7
-3
-9
1
-2
-2
-17
14
-8
5
8
6
-2
-4
-25
-10
-7
9
0
-8
25
0
19
13
-14
28
-17
1
0
-6
25
7
13
-8
1
3
2
35
9
13
-17
4
0
-2
18
1
47
-3
-30
11
5
1
-7
8
-12
22
1
36
0
-21
25
0
17
-22
-17
-10
-8
-7
-34
-14
28
33
32
8
6
11
0
3
3
2
1
31
10
3
-9
7
4
-13
1
-14
23
-15
7
-20
-6
2
14
10
15
-11
20
-6
-5
-2
16
2
26
1
0
-5
-22
5
41
1
7
-19
-1
0
0
36
48
13
5
-10
14
5
26
3
0
32
-14
-7
-8
-4
-12
-18
51
18
0
33
25
-8
1
-17
-32
23
17
34
0
-8
7
24
-21
-10
-2
-10
5
-3
18
28
-19
-62
14
28
19
16
11
-18
-27
-28
-41
38
-6
-8
3
0
8
-40
-6
-29
29
10
-9
28
-22
-22
21
-13
-28
-4
-1
-16
-17
24
19
10
-28
-5
20
-5
-13
-7
-25
-4
-3
9
-10
7
0
-22
-3
-16
-1
-5
-9
8
23
8
-16
-22
-29
-1
-3
-21
8
16
-15
-11
-10
2
-8
-4
6
20
23
-12
2
-11
-15
9
-12
0
-26
19
1
22
-6
9
-20
-27
-23
-4
41
-4
10
22
17
-3
-29
-18
-20
14
17
-14
13
-9
1
-21
-6
-11
7
6
8
-26
-3
-9
-4
4
-8
8
10
12
-3
-16
-36
14
-20
15
16
-15
10
-23
6
1
-12
2
-16
18
-7
-10
-7
-22
-12
-22
-1
5
-4
-8
-9
-18
-8
-13
-22
-14
17
2
5
3
-10
-5
-18
-21
-22
5
-3
-6
11
-39
-11
14
2
-30
20
-3
-28
32
-1
-6
-31
-3
-7
9
-11
7
-7
1
-5
-13
-9
-22
-10
-18
-9
-5
-14
-2
-4
8
-10
1
5
-1
11
-1
25
-10
-3
-13
-3
-5
13
26
-13
-31
0
-15
1
17
6
13
-29
-17
-5
3
7
-15
5
18
-1
-15
6
4
-10
-8
-9
-5
-2
-3
-7
7
-24
2
0
-19
12
5
-7
7
-4
-13
-28
-4
5
8
-10
3
2
9
0
7
-6
-15
28
11
-1
-32
-2
-10
21
-9
8
-11
52
12
8
-18
-11
-5
-7
0
-5
-13
-12
0
-3
6
-23
1
1
13
1
12
-23
4
0
-7
-14
0
8
3
-3
-14
13
6
2
-2
-7
-4
14
-29
18
-3
11
-12
-7
2
-6
10
14
-15
-10
1
-5
-11
-11
2
-17
-4
2
-5
2
-2
4
-7
5
1
-12
-20
10
-2
5
-5
-5
-6
0
-8
-1
1
3
1
11
-31
0
4
33
-12
-1
14
-13
-4
-3
13
3
7
0
8
-19
-4
-9
-11
-7
22
-12
4
-15
1
-1
-3
-6
-1
-15
3
-4
24
9
-13
-11
-6
-17
21
0
4
-12
7
-10
6
-11
9
-7
3
-47
9
2
-8
21
2
2
19
1
-11
-7
-2
-16
-8
2
-12
-5
19
3
-14
-5
2
-8
-5
0
7
2
-4
0
-9
-10
7
-7
-3
7
7
7
-8
3
-24
-7
0
12
7
-41
-12
-3
26
9
1
-1
1
26
-24
-24
12
-20
-16
-8
-5
1
-7
1
0
-35
-7
4
-6
5
-8
-12
-3
6
-39
-9
5
-5
-6
15
15
2
15
28
10
-8
-3
-14
-25
16
12
-11
-12
-15
0
18
-11
-4
8
9
16
0
-7
-7
-6
-7
-5
-26
-14
30
-3
2
15
-12
-13
-3
8
14
-11
-14
7
2
-17
-5
-6
60
1
-7
35
-26
-19
7
4
-13
20
24
-4
-31
-30
8
4
-5
17
3
-24
-4
-11
9
-9
-4
-7
13
-16
-6
28
4
-2
-8
-12
-3
3
-10
5
-3
-1
7
-7
-4
-2
3
2
27
-27
-11
-2
16
-37
1
36
-9
18
12
-3
-8
19
-7
3
5
-28
6
-12
28
-2
4
-14
-2
2
16
1
10
-9
-13
6
2
-13
1
8
0
10
6
-7
-3
5
14
-11
-37
-7
19
0
35
34
-7
20
-7
-7
4
-7
12
-4
10
1
3
12
-20
7
12
1
-12
5
-7
10
18
7
-2
-16
-26
12
34
9
-6
3
8
-5
-13
-5
-16
7
3
-5
21
11
27
2
15
-11
-4
5
1
2
-14
4
17
-13
14
34
-25
11
19
0
-7
36
22
22
-12
-7
6
-2
-12
-2
8
45
13
-12
24
-5
-7
-7
-2
-13
-7
-5
24
4
4
12
29
30
23
14
-1
-28
-7
-19
0
3
32
-6
-4
-22
24
19
-3
-7
-23
-1
-6
-5
-5
17
-3
10
15
-25
16
-4
18
5
6
19
-17
29
15
-9
8
-20
-18
15
12
-7
10
14
-10
1
11
-16
14
12
-6
16
0
5
2
6
18
13
12
-33
-22
27
0
22
9
18
-12
0
-8
-16
-14
-32
0
0
41
8
9
8
1
13
23
13
0
12
-8
-27
-3
9
-20
20
-9
20
0
-42
7
18
15
5
-2
-23
-8
-14
34
-1
-10
7
36
13
-8
-7
8
-2
-2
-21
-5
22
-2
-7
10
-19
-21
11
-26
16
-11
-35
25
-1
9
-9
-12
8
4
4
-7
2
5
8
-18
3
-3
0
7
-26
1
-27
-5
4
-7
-5
2
19
21
-26
5
-6
-1
17
-7
-16
42
6
11
1
-24
-49
0
-7
-19
-2
12
-12
-16
-2
4
-22
9
13
27
26
17
-20
-26
-8
-16
-9
8
-20
-5
-1
-13
-16
13
31
-3
5
15
-10
0
9
-18
-11
20
-4
-30
11
-4
-4
2
-15
3
14
-9
-3
3
3
-12
10
11
-24
-5
-6
0
-13
-18
6
-19
40
15
-14
-10
-16
-16
-6
-8
-4
-1
-9
-4
1
-1
26
15
-19
8
3
-22
-23
-7
-2
14
-22
-5
-17
-7
6
22
-19
12
16
-3
-6
-40
-1
-34
13
-2
-15
15
-14
1
27
-2
-6
-13
11
-56
-3
-23
3
-6
0
28
4
-11
-24
-26
2
-20
-2
7
15
-35
-12
9
-26
-4
-15
-14
27
22
-20
-15
-1
10
21
8
-46
-23
5
26
10
-9
-15
30
16
-10
-12
-3
-3
-19
-8
5
-19
-1
-14
25
-19
-12
8
14
-8
-34
14
-3
2
2
-11
7
-4
-2
10
-11
-11
16
-6
-23
-20
20
25
-16
0
-20
7
-15
-1
-8
-6
-20
-18
-4
-16
5
30
7
-9
-2
-29
-13
-25
-1
19
4
-19
4
28
14
-22
1
2
11
-8
-10
-3
-1
8
-8
-17
4
-6
9
18
-25
-4
12
7
0
-19
8
14
-3
-11
-15
16
-11
-20
0
6
17
-3
-3
9
-17
24
-10
24
-10
11
-4
0
-18
0
1
9
-11
-5
4
-6
20
-10
15
-28
9
-13
20
-11
8
-13
-22
-4
-20
-15
7
-12
-4
9
4
16
-8
-11
-13
-10
6
-8
-9
-10
53
21
-50
11
7
2
6
-12
11
-30
-25
-4
0
1
20
4
-6
2
-23
-4
10
11
-15
-18
-9
6
-2
-9
-18
-26
-18
30
-7
-4
-1
3
1
11
22
-2
-22
-21
6
-1
-20
10
16
11
-5
-8
-26
7
18
-10
-3
3
10
-8
-10
-8
2
-6
-13
12
-3
-19
17
-4
13
5
-7
-24
10
-21
-18
3
14
-3
-11
3
4
-6
-35
10
45
12
11
-47
17
-25
19
-3
17
12
-10
11
-24
-11
2
-19
-6
-5
3
-27
-12
-21
-1
-4
7
-4
-18
15
-4
13
-3
14
-19
-16
-22
0
12
2
15
-21
-15
8
-26
1
-15
-7
12
2
-22
9
-6
9
-14
-14
-7
11
6
22
-8
-7
-12
-7
-8
0
-20
23
-8
9
-10
-15
-36
2
19
-9
10
-30
16
7
9
-38
-16
28
14
22
-3
4
-14
-4
7
11
21
-19
4
1
22
-16
-30
-6
15
16
-35
12
-28
8
-3
10
14
-1
-29
8
-3
-17
-5
10
-20
8
-1
6
-4
-2
-22
14
-10
-1
9
-19
20
8
6
-6
-3
-13
-6
-14
-18
10
-4
-2
-35
17
-10
26
0
17
-8
-6
-14
11
32
-28
1
31
0
-5
12
-15
-23
8
-21
-17
-4
15
-29
8
-7
10
-3
20
-9
4
12
7
-11
-13
-12
-20
7
35
-2
1
-9
-15
2
-15
0
-4
34
2
18
-29
10
-12
4
-22
-13
16
33
-2
-5
23
16
-36
10
-34
3
-27
-23
2
2
31
27
-45
33
-11
-9
-21
-10
-13
-3
13
16
9
5
-15
32
32
9
-5
-25
-27
1
-21
-3
-9
4
-14
14
6
30
-21
2
10
18
-25
29
-4
-30
-15
-9
11
17
-12
-1
-7
22
17
4
-19
-17
0
20
-4
10
25
7
5
-20
-24
12
-6
-6
7
-11
-19
14
-2
-16
-12
17
-12
12
3
-13
25
-11
-20
-6
-7
31
-15
-9
-11
5
22
3
4
-31
7
-30
44
-14
21
6
-7
30
4
12
2
-8
-1
-2
-14
32
21
30
6
-21
-10
-8
17
-9
-34
0
0
12
2
-1
-18
-28
40
-13
-7
0
4
-15
18
-1
20
-1
-30
-29
-27
0
23
13
5
23
-6
-12
-9
-13
21
0
4
-6
-16
25
-2
3
23
-16
5
0
17
-4
-7
-27
3
-2
0
0
0
-1
-2
-1
1
3
-1
-1
-1
3
-2
0
-1
-1
0
-1
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
-1
-2
-1
4
-3
-5
13
-6
0
-3
0
-1
0
-1
-2
-2
-2
0
-6
8
1
0
0
0
0
0
3
3
3
-2
-2
0
-1
1
4
-1
-6
1
-1
-4
0
0
0
0
-4
0
0
1
1
-1
-3
0
2
4
0
9
-7
-8
-9
13
7
-13
2
-4
0
0
0
1
-2
3
1
-1
-1
-1
-1
-6
-1
0
0
1
0
0
0
-2
0
1
0
0
0
10
-6
5
-1
-7
9
-1
-2
-12
-7
-3
1
-5
-2
8
-8
8
-6
4
-5
-3
1
-4
-4
6
7
-1
7
6
8
0
-7
1
2
9
-3
-2
4
2
0
2
-7
6
0
0
-4
-3
-5
3
1
-4
2
-8
0
-6
8
9
-7
-4
-7
-16
0
-8
6
3
-2
5
1
3
-1
2
6
5
2
0
2
-4
4
-3
-1
-3
1
2
1
0
0
-1
-1
0
6
-5
-6
-4
0
2
-3
-6
1
3
-7
2
6
-7
-11
-11
10
11
8
-14
9
4
3
-6
-8
-1
3
3
14
2
1
0
-3
-2
0
0
-4
-3
3
4
6
-1
0
-1
-8
-7
2
-7
2
1
-3
1
6
2
-2
-1
-9
0
9
9
2
-8
-13
10
-8
-10
7
-1
7
-7
-5
-1
1
2
3
-1
-6
6
-3
-3
6
-6
-3
7
-1
-2
-1
-2
-1
0
4
-6
-1
-2
1
2
-3
6
-5
0
0
4
0
7
-6
5
2
-11
-25
11
-8
5
6
4
-1
0
-13
10
-13
-6
-7
-8
0
-5
-15
14
11
6
17
1
-5
4
-8
6
3
-5
2
0
-1
0
-2
3
-15
12
-9
-12
-1
-4
1
6
-14
21
1
8
-3
-8
5
7
-5
-1
1
2
-5
-9
4
2
-3
-3
-10
-8
4
0
6
6
0
2
2
2
-4
4
-2
0
0
0
1
0
2
0
7
0
-10
-1
-9
-10
10
-11
0
4
14
2
1
-6
1
2
2
-8
-2
-5
1
0
3
6
1
7
-2
-2
-12
3
2
1
5
0
3
-10
-7
7
0
-1
3
0
-1
-1
6
2
-13
-6
2
3
-4
7
-7
9
-3
-2
2
-1
3
10
0
2
0
-2
-4
1
-7
6
10
-2
-5
11
0
-1
-2
2
2
1
0
0
-2
-2
-4
0
-3
0
1
0
0
-3
-5
0
15
4
9
-2
15
-10
14
-4
-11
1
-5
-1
-5
-1
4
-3
-9
1
-8
-10
-3
-3
-3
-3
-5
3
2
-1
-1
-2
-1
0
2
0
1
-4
-4
0
0
-1
0
0
1
-9
-5
2
5
1
3
1
0
-2
-20
9
22
11
1
4
-7
-14
9
-10
-5
-4
-8
3
-3
1
6
-3
6
9
1
2
-4
-2
-1
6
3
-5
10
0
0
0
-1
0
1
0
1
3
1
2
1
4
-2
-4
11
-10
6
3
0
0
5
0
-1
0
5
-5
1
-7
3
1
-1
-1
7
14
-1
0
1
-2
1
0
0
0
-2
-4
1
1
0
0
-1
1
1
-2
0
4
-6
1
6
2
9
-2
1
-11
-4
-2
0
2
-2
2
0
-8
5
-1
10
2
1
0
2
2
13
-2
1
-4
-1
-1
0
-4
3
2
-8
0
0
0
0
0
0
0
0
0
0
2
-1
0
-1
-2
5
8
-2
0
0
0
0
1
0
0
2
-1
-4
5
-2
0
0
-1
0
0
1
0
0
0
0
0
0
-1
1
0
1
2
-5
-2
4
2
3
3
7
0
-5
-6
-3
-13
0
7
32
5
-6
3
0
-14
1
4
-4
-1
0
9
5
-2
-4
0
1
-5
13
-7
3
2
1
2
-1
-5
6
-3
-5
0
1
0
1
0
1
0
-3
-1
-3
0
2
4
3
1
-7
7
-1
0
-4
0
0
1
-4
2
-11
2
7
2
1
0
-1
-2
0
5
-1
0
-9
-1
-5
0
1
0
3
5
0
0
20
1
0
-16
43
-3
0
0
-7
11
-45
-15
-40
-25
0
0
-3
0
-6
0
-121
-2
0
-44
0
-44
3
-16
-80
44
0
0
1
0
0
0
-57
-50
0
27
38
27
4
11
26
-51
0
0
-2
0
0
1
-1
0
0
14
16
25
35
16
11
-19
0
0
-17
1
-7
0
-4
-16
0
-52
-13
64
-57
4
-27
-29
0
0
-16
26
-23
-44
-28
-9
0
-19
4
-13
17
-23
-29
-52
0
0
-12
0
-5
2
-36
-56
0
-4
17
8
31
-5
-11
8
0
0
-7
0
-2
6
-72
-81
0
47
44
81
47
28
74
60
0
0
-8
2
-2
-27
1
0
0
1
53
63
40
-26
11
-31
0
0
-116
-5
-24
-54
-26
-77
0
-18
-24
-1
-68
-67
-92
1
0
0
-52
24
-21
-25
-29
-9
0
-19
5
4
35
0
9
-41
0
0
-30
0
-5
2
-39
-56
0
-8
39
25
38
12
-13
32
0
0
1
0
-6
6
-50
-82
0
-15
53
78
51
13
84
16
0
0
-8
3
5
-25
3
0
0
17
78
3
13
-10
-4
-7
0
0
-119
-6
-24
-58
3
-86
0
-17
-14
1
-57
-91
-99
5
0
0
-27
0
-1
0
-20
0
0
-28
5
4
5
4
-8
-22
0
0
1
0
0
0
-8
-3
0
-48
77
57
1
-1
20
-29
0
0
15
0
-1
2
-1
-13
0
-95
68
54
46
-7
-38
-8
0
0
-3
0
0
-2
-1
0
0
-27
26
31
21
-18
-15
-2
0
0
-7
-4
-2
0
-8
-2
0
-9
12
-29
33
-62
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
-9
12
3
1
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
6
1
0
0
0
0
-8
3
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-23
-94
2
0
0
0
2
1
-22
-7
-33
-34
0
46
-30
12
2
0
0
0
40
-49
-35
-27
0
0
0
33
0
-54
-41
0
0
0
19
33
-33
0
-1
0
0
-25
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
-35
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-69
-57
-32
0
0
57
-56
-50
-13
46
9
0
52
-58
-42
-14
-6
0
0
12
13
10
-8
-24
0
0
-16
-14
15
-19
21
0
0
6
-33
-76
-42
9
0
0
7
46
24
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-35
0
0
0
0
0
-29
-3
4
0
0
0
0
0
0
0
0
0
0
0
33
-38
18
3
0
0
0
23
9
10
-32
-11
0
0
-1
11
4
-4
0
0
0
18
-9
-32
-44
-7
0
0
7
26
2
19
3
0
0
28
42
-33
4
0
0
0
85
-149
-27
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
7
0
0
0
0
0
41
-16
-1
0
0
0
0
34
-4
0
0
0
0
0
49
-10
0
0
0
0
0
-3
4
0
0
0
0
0
12
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
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
9
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-77
0
0
0
0
0
-4
-3
-28
42
4
0
0
36
31
4
-15
0
0
0
-49
36
-40
1
0
0
0
-36
84
-16
-3
0
0
0
30
-49
-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
0
-19
-9
-19
-8
-1
0
0
5
0
0
0
0
0
0
1
0
0
-1
0
0
0
-11
1
-4
3
0
0
0
-21
8
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-51
-20
3
-7
0
0
23
-32
3
-76
-41
-41
0
19
-69
11
7
0
0
0
46
-32
-9
27
0
0
0
22
-34
-23
-76
7
0
0
4
21
-58
-3
-12
0
0
-21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
2
0
0
0
0
0
0
-7
0
0
0
0
0
0
-2
0
0
0
0
0
0
45
-37
-9
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-64
-50
57
-34
0
0
18
-72
-18
5
92
42
0
21
-41
-7
88
-31
0
0
3
-29
32
34
25
0
0
8
-48
-64
-82
51
6
0
-2
-36
-39
-2
-17
0
0
31
24
-59
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-10
-16
4
0
0
0
0
-6
-20
6
0
0
0
0
0
0
0
0
0
0
0
24
44
23
11
0
0
0
17
38
33
60
78
0
0
27
29
24
5
0
0
0
26
-2
0
22
0
0
0
28
15
101
63
0
0
0
67
-13
39
-2
0
0
0
-1
48
-40
36
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
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
7
8
0
0
0
0
7
36
14
-1
0
0
0
41
28
-1
0
0
0
0
30
20
-3
-1
0
0
0
-57
-2
0
0
0
0
0
16
3
0
0
0
0
0
-10
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-5
-58
-4
2
0
0
0
0
0
0
0
0
0
1
-2
-4
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-35
-1
0
0
0
0
-21
9
2
9
-25
6
0
-24
20
23
-18
0
0
0
5
15
-57
-6
0
0
0
-14
15
-16
-3
0
0
0
-16
-68
-3
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
-35
-3
-21
-18
0
0
0
6
0
0
0
0
0
0
1
0
0
-1
0
0
0
-7
1
-4
3
0
0
0
-22
8
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-42
-8
3
-7
0
0
8
-36
-33
-39
-15
-41
0
8
-49
19
7
0
0
0
36
-39
2
42
0
0
0
-1
14
3
-71
7
0
0
64
14
-73
-3
-12
0
0
-10
-1
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
2
0
0
0
0
0
0
-6
0
0
0
0
0
0
-3
0
0
0
0
0
0
18
-16
-8
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-104
-14
32
-29
0
0
-4
5
-4
32
83
39
0
17
-10
-7
82
-19
0
0
24
-27
7
16
26
0
0
14
0
-63
-76
48
6
0
11
4
-72
-8
-21
0
0
36
30
-46
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-19
-26
4
0
0
0
0
1
-34
6
0
0
0
0
0
0
0
0
0
0
0
7
-37
15
16
0
0
0
20
23
36
104
63
0
0
17
22
71
13
0
0
0
17
48
27
-1
0
0
0
17
13
124
59
0
0
0
78
-5
33
-2
0
0
0
-20
43
-33
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
0
0
0
0
0
3
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
27
7
0
0
0
0
13
50
22
-1
0
0
0
7
14
-1
0
0
0
0
3
32
-3
-1
0
0
0
-35
-1
0
0
0
0
0
4
3
0
0
0
0
0
7
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-13
-54
-3
2
0
0
0
0
0
0
0
0
0
1
-2
-4
0
0
0
0
0
0
0
0
0
0
0
17
1
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
2
-3
0
0
0
0
-20
-6
52
-5
-26
6
0
-31
28
29
-21
0
0
0
-4
17
-37
-6
0
0
0
-8
-40
-12
-3
0
0
0
-27
-72
-6
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
-18
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
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-1
-2
0
0
0
0
-10
-43
12
34
0
0
0
-13
7
6
0
0
0
0
21
-12
-13
0
0
0
0
7
8
-12
0
0
0
0
19
-6
-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
2
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-64
-26
-7
0
0
0
15
111
-42
53
-3
0
0
18
56
0
-4
0
0
0
11
-18
-19
9
-1
0
0
-31
75
-23
15
-2
0
0
27
6
-3
-1
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
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-44
-1
2
0
0
0
63
-8
-6
8
0
0
0
66
-34
17
0
0
0
0
3
46
-1
0
0
0
0
3
-27
6
0
0
0
0
-4
-16
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-3
1
0
0
0
0
-3
3
6
0
0
0
0
14
4
0
0
0
0
0
15
9
0
0
0
0
0
-21
12
0
0
0
0
0
-13
0
0
0
0
0
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
0
0
0
0
0
0
0
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
-40
19
1
0
0
0
0
7
-10
31
-1
-1
0
0
-26
0
0
0
0
0
0
-17
41
10
0
0
0
0
-38
-24
0
1
0
0
0
-9
0
0
0
0
0
0
7
0
0
0
0
0
0
-20
-12
-10
-3
0
7
8
7
32
-68
-57
-51
-42
-37
-25
-27
-19
0
-31
-29
-20
-8
-3
11
19
25
20
-75
-68
-59
-44
-31
-14
6
15
29
-45
-47
-36
-22
-17
-2
5
4
14
-112
-80
-71
-58
-39
-25
-16
-9
13
-51
-67
-15
-35
-3
-9
-1
17
-17
-32
-85
-43
-27
-47
-20
23
-15
-9
0
0
-7
0
0
0
0
0
0
-5
1
-15
-12
-68
0
-26
0
0
11
0
10
-9
0
7
0
-13
19
17
40
29
0
69
0
0
-8
0
-9
-40
0
-2
0
-31
-2
-44
11
-29
0
-73
0
0
-66
0
-58
59
0
-4
0
21
13
-1
27
9
0
78
0
0
-23
0
0
0
0
0
0
-42
9
-63
31
-12
0
-48
0
0
-76
1
-11
44
0
9
0
13
18
4
16
46
0
40
0
0
27
0
6
-75
0
-1
0
-34
-30
-8
-28
-1
0
45
0
0
-1
0
-41
94
0
-82
0
-8
-2
31
16
-10
0
71
0
0
-17
0
0
0
0
0
0
-41
33
-32
79
8
0
-21
0
0
-77
-1
-11
50
0
7
0
19
-32
16
-4
-2
0
60
0
0
26
0
2
-80
0
-1
0
31
26
-3
-79
-10
0
51
0
0
1
0
-39
95
0
-67
0
-26
35
26
5
-16
0
89
0
0
0
0
0
0
0
0
0
-6
24
1
-6
-4
0
7
0
0
-1
0
0
-1
0
0
0
29
11
0
-9
26
0
4
0
0
0
0
0
1
0
0
0
-10
-11
0
-20
0
0
-2
0
0
17
0
0
1
0
0
0
-19
24
-2
32
32
0
1
-4
2
6
11
4
-2
-12
-3
-62
1
-5
-24
-30
43
0
-14
25
-47
-2
0
28
-61
-9
0
0
0
-7
34
69
-1
-17
-7
-13
10
0
-14
40
-31
-17
0
38
-48
40
0
0
16
-28
-6
0
0
-19
-16
9
35
0
17
-8
17
37
0
17
-20
44
3
0
-6
-33
10
0
0
10
0
0
0
0
-12
22
48
3
0
-24
56
40
2
0
-22
28
6
0
0
1
0
0
0
0
0
0
0
0
0
9
21
0
0
0
-28
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-10
-8
-12
0
-5
9
46
0
0
9
29
-76
-13
0
6
3
-2
0
0
10
-2
0
0
0
-43
19
-14
8
0
14
23
56
25
0
20
-8
-40
-4
0
-3
13
0
0
0
25
-2
0
0
0
-11
-28
53
0
0
-2
-16
51
-1
0
25
13
15
0
0
20
-6
0
0
0
0
0
0
0
0
29
17
22
0
0
24
27
7
0
0
-17
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
32
15
1
0
-6
29
40
0
0
10
-11
19
0
0
-8
-4
0
0
0
-1
0
0
0
0
-31
-34
13
0
0
-30
9
17
0
0
-6
-8
9
0
0
10
12
0
0
0
0
0
0
0
0
23
39
-8
0
0
32
30
-9
0
0
-28
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
24
4
0
0
0
-11
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
-4
-14
13
0
0
8
7
0
0
0
5
18
0
0
0
-6
0
0
0
0
0
0
0
0
0
85
23
0
0
0
15
2
0
0
0
15
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
9
11
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
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
21
0
-3
4
2
-20
0
-11
33
13
2
0
-5
74
-9
0
0
-1
0
0
0
0
-5
32
-15
-20
0
35
20
-37
-24
0
46
12
-35
1
0
-3
-8
-3
0
0
0
0
0
0
0
20
-39
2
0
0
95
-12
-13
0
0
10
-22
-3
0
0
0
0
0
0
0
0
0
0
0
0
-4
39
0
0
0
-16
19
0
0
0
-9
2
0
0
0
-4
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-35
-2
0
77
-17
-5
0
0
4
9
16
0
0
75
13
1
0
0
0
0
0
0
0
25
-22
1
-1
0
-20
17
11
0
0
9
-10
8
0
0
24
4
0
0
0
0
0
0
0
0
-12
13
-4
0
0
-2
18
0
0
0
-2
3
0
0
0
-6
0
0
0
0
0
0
0
0
0
-22
9
0
0
0
-21
2
0
0
0
-13
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
16
-9
0
0
12
30
-3
0
0
19
7
0
0
0
19
0
0
0
0
0
0
0
0
0
37
21
-1
0
0
46
18
0
0
0
24
1
0
0
0
2
0
0
0
0
0
0
0
0
0
17
9
0
0
0
9
7
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-10
0
0
0
-15
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
1
0
-2
4
-6
0
0
4
10
4
0
0
-4
2
0
0
0
0
0
0
0
0
15
-34
0
0
0
12
-30
1
0
0
36
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
19
19
0
0
0
-3
-12
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
-40
-29
-3
0
0
17
8
-1
0
0
-35
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-3
0
0
0
-2
3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
-13
-3
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
-12
0
-34
0
-12
0
0
0
74
-45
-6
0
-29
-47
-32
0
0
-35
-12
0
0
0
-45
34
7
0
0
33
19
14
-7
0
52
41
-28
-2
0
-22
-47
-10
0
0
-22
-8
0
0
0
7
-13
2
1
0
17
7
15
0
0
20
26
9
0
0
-18
-18
0
0
0
0
0
0
0
0
20
-10
11
0
0
38
11
7
0
0
12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
46
-31
22
0
15
-7
30
13
0
7
84
-49
0
0
-2
30
-1
0
0
0
0
0
0
0
54
-13
-47
4
0
20
-57
-28
0
0
-17
-47
-40
0
0
-33
-4
0
0
0
0
0
0
0
0
-26
-38
19
0
0
-2
51
4
0
0
5
16
0
0
0
-4
0
0
0
0
0
0
0
0
0
12
1
0
0
0
-4
0
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
91
-20
0
0
-24
16
-6
0
0
40
18
1
0
0
10
0
0
0
0
0
0
0
0
0
27
24
0
0
0
-21
-12
-7
0
0
-1
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
10
1
0
0
0
-22
-8
-1
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-21
0
0
0
-6
-12
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-4
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
64
-12
0
44
37
27
-1
0
69
36
-2
0
0
2
-1
0
0
0
0
0
0
0
0
42
-13
17
0
0
0
-39
-11
0
0
56
-26
-15
0
0
12
0
0
0
0
0
0
0
0
0
-32
7
18
0
0
6
24
12
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
12
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
12
-5
8
0
0
-50
38
3
0
0
7
15
-1
0
0
2
-1
0
0
0
0
0
0
0
0
45
28
7
0
0
-23
26
1
0
0
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
27
4
0
0
0
-1
4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
1
-1
0
0
-17
7
0
0
0
11
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
22
12
0
0
0
-15
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
30
1
0
0
0
8
12
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
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
-32
-11
0
0
0
-12
-2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
38
0
0
-16
42
19
0
0
-25
-8
11
0
0
-54
-10
0
0
0
0
0
0
0
0
5
-26
32
0
0
15
-24
24
0
0
17
-37
0
0
0
-46
-1
0
0
0
0
0
0
0
0
60
-39
3
0
0
42
-21
0
0
0
-29
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-3
0
0
0
6
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-4
13
0
0
50
-35
15
0
0
17
3
0
0
0
-3
0
0
0
0
0
0
0
0
0
7
-25
2
0
0
3
-9
1
0
0
-14
-9
0
0
0
-2
-1
0
0
0
0
0
0
0
0
22
-8
0
0
0
-2
7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
0
0
0
7
1
0
0
0
-1
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
33
2
0
0
-7
6
4
0
0
-5
19
0
0
0
11
2
0
0
0
0
0
0
0
0
28
-2
1
0
0
-45
6
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
0
0
0
-9
-7
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
7
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
4
-13
-15
-32
1
-12
-6
-7
12
-9
-17
-31
10
0
-17
-38
-26
-13
0
-36
-13
-13
0
0
1
-19
-1
23
-33
-6
-12
-22
6
0
-14
-9
5
-44
-2
-43
29
19
2
0
-6
-14
-8
0
0
-16
-18
-43
45
0
-37
-12
45
31
0
-21
-6
8
19
0
-33
6
5
-1
0
-4
-14
0
0
0
-39
-36
8
11
0
-59
27
88
6
0
-36
7
57
0
0
30
-18
0
0
0
-1
0
0
0
0
-58
-13
-2
0
0
-38
0
3
0
0
7
12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-13
-26
-8
2
-3
-26
-9
12
1
-8
-2
8
33
0
-15
12
71
0
0
-32
7
1
0
0
-15
-18
-11
-17
0
-38
22
38
42
0
-14
24
-43
-27
0
-12
-22
-27
-1
0
52
-12
0
0
0
-55
-11
1
-5
0
-17
16
7
-41
0
19
28
10
-4
0
18
0
-3
0
0
88
-1
0
0
0
-35
-23
-9
0
0
30
-3
32
1
0
-10
27
1
0
0
-21
-1
0
0
0
0
0
0
0
0
-21
47
0
0
0
-7
19
0
0
0
20
11
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-21
-42
-20
0
-43
-12
49
8
0
-20
-4
61
8
0
-39
11
22
0
0
73
1
0
0
0
-65
0
19
44
0
-5
23
-3
38
0
-16
16
-18
-3
0
-5
55
10
0
0
13
-6
0
0
0
-61
-14
46
9
0
34
-25
-12
2
0
-47
-37
-14
0
0
58
8
-6
0
0
2
0
0
0
0
-32
-1
21
0
0
13
35
39
0
0
39
5
1
0
0
2
-1
0
0
0
0
0
0
0
0
-41
0
0
0
0
-21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-56
12
0
0
-38
-15
-22
0
0
-55
51
-22
0
0
0
-31
-1
0
0
0
0
0
0
0
-33
26
-51
0
0
-14
26
5
0
0
15
30
10
0
0
-41
-2
0
0
0
0
0
0
0
0
-34
44
9
0
0
21
-22
10
0
0
-69
-42
12
0
0
-15
-2
0
0
0
0
0
0
0
0
-43
-1
0
0
0
4
0
0
0
0
-8
-1
0
0
0
2
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
-46
8
0
0
0
-1
-18
0
0
0
12
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
48
43
0
0
0
7
11
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
19
0
0
0
2
-7
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-28
-39
29
1
-27
4
17
-30
0
-15
-8
41
2
0
-39
12
10
-1
0
20
-13
0
0
0
-42
9
6
-47
0
-16
11
6
-22
0
8
4
29
9
0
-4
-12
-9
0
0
33
-6
0
0
0
-53
-11
-7
2
0
4
-17
-70
3
0
11
-44
-25
0
0
17
31
-2
0
0
-10
0
0
0
0
-25
28
-31
0
0
-30
73
3
0
0
47
-61
-6
0
0
-15
0
0
0
0
0
0
0
0
0
-29
-34
0
0
0
-7
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
10
-5
35
0
-12
33
-14
-1
0
-6
1
10
2
0
-1
-9
-5
0
0
-53
-2
0
0
0
-10
-2
-12
17
0
3
-37
9
3
0
17
-15
6
-4
0
12
44
-2
0
0
8
-1
0
0
0
-10
-5
17
-4
0
41
15
13
-1
0
21
6
4
0
0
10
30
-2
0
0
0
0
0
0
0
15
-37
-54
0
0
18
16
-7
0
0
22
-27
0
0
0
-5
1
0
0
0
0
0
0
0
0
8
-1
0
0
0
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
13
29
-4
0
-12
23
-12
-2
0
13
23
4
0
0
3
-40
-9
0
0
0
0
0
0
0
4
-4
27
-6
0
16
-8
22
-2
0
42
6
-27
0
0
13
-2
-6
0
0
0
0
0
0
0
12
5
37
0
0
-16
-32
21
0
0
57
46
-6
0
0
33
2
0
0
0
0
0
0
0
0
-46
-40
0
0
0
3
11
0
0
0
27
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
1
-1
0
0
-11
41
-29
0
0
44
21
-8
0
0
11
0
0
0
0
0
0
0
0
0
19
47
-35
0
0
-15
14
-13
0
0
9
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
-14
27
-1
0
0
15
7
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
1
0
0
0
-27
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-5
0
0
0
-8
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-8
10
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-3
0
-30
12
15
-6
0
-30
47
18
0
0
-5
33
3
0
0
1
0
0
0
0
-44
-7
-10
-1
0
5
3
14
0
0
64
-6
-6
0
0
-1
7
0
0
0
0
0
0
0
0
-55
80
-2
0
0
-43
-61
0
0
0
52
-42
0
0
0
-4
0
0
0
0
0
0
0
0
0
-12
-11
0
0
0
27
-11
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
-48
53
0
0
37
-13
5
0
0
-53
23
-8
0
0
1
1
0
0
0
0
0
0
0
0
-13
27
21
0
0
23
29
-7
0
0
10
19
-7
0
0
19
2
0
0
0
0
0
0
0
0
5
-29
8
0
0
-21
-15
2
0
0
30
-7
0
0
0
2
0
0
0
0
0
0
0
0
0
-10
-6
0
0
0
4
-4
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-13
-7
0
0
29
3
-3
0
0
14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
41
53
-1
0
0
51
46
1
0
0
-13
0
0
0
0
1
0
0
0
0
0
0
0
0
0
38
29
0
0
0
-21
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-3
0
0
0
-11
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-1
0
0
0
9
-1
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
-8
-1
-22
-12
0
-52
0
-23
9
12
23
0
-34
18
23
0
0
-14
-40
-18
0
0
-29
6
0
-23
-7
-29
12
19
-45
0
1
19
-3
-3
0
3
-6
-38
1
0
-48
-13
0
0
0
-52
-17
-8
-42
0
-21
13
11
-17
0
8
20
-30
7
0
18
-1
-4
0
0
-25
-1
0
0
0
-77
-14
2
3
0
57
-21
14
0
0
-24
9
7
0
0
49
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
-7
-2
0
0
0
-18
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
9
7
16
0
-16
22
17
-8
0
7
-6
9
22
0
27
25
-23
0
0
17
7
0
0
0
-49
31
-4
-36
0
34
-36
-7
8
0
-17
-7
5
8
0
-24
19
-21
0
0
23
8
0
0
0
13
-12
37
-14
0
22
-21
-41
4
0
15
-64
-39
0
0
-24
13
0
0
0
1
0
0
0
0
35
23
-9
0
0
-53
-8
-33
0
0
47
49
0
0
0
-16
-3
0
0
0
0
0
0
0
0
16
9
0
0
0
10
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
13
-33
-10
0
0
3
-54
1
0
33
20
18
0
0
4
-32
-1
0
0
1
0
0
0
0
27
19
31
0
0
25
-17
-29
3
0
-28
22
-42
0
0
-9
-27
0
0
0
1
0
0
0
0
14
25
41
1
0
24
-18
22
0
0
26
43
-2
0
0
-6
-2
0
0
0
0
0
0
0
0
29
-53
10
0
0
-10
-7
3
0
0
-21
9
0
0
0
0
0
0
0
0
0
0
0
0
0
10
1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
34
26
0
0
-20
-9
29
0
0
-27
70
4
0
0
0
-1
0
0
0
0
0
0
0
0
22
-5
-40
0
0
-26
-28
0
0
0
15
4
0
0
0
-4
-1
0
0
0
0
0
0
0
0
-12
-29
0
0
0
-2
-37
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-22
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-9
0
0
0
17
-13
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-11
0
0
0
8
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
24
0
-6
-9
15
-2
0
9
0
10
3
0
17
35
-5
0
0
36
0
0
0
0
-2
-5
50
-9
0
9
-9
-48
-13
0
27
-6
60
1
0
43
-44
10
0
0
5
0
0
0
0
21
4
22
0
0
33
39
24
0
0
29
74
-17
0
0
23
7
0
0
0
0
0
0
0
0
38
53
-7
0
0
47
19
0
0
0
26
-7
0
0
0
-2
0
0
0
0
0
0
0
0
0
-32
4
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-36
25
30
0
10
24
-28
-1
0
39
12
-7
0
0
33
-43
2
0
0
-1
0
0
0
0
17
-12
-4
-2
0
2
52
-42
0
0
-35
13
18
0
0
-11
-39
3
0
0
1
0
0
0
0
24
-16
-36
0
0
14
-16
0
0
0
8
-32
-1
0
0
20
0
0
0
0
0
0
0
0
0
33
-6
2
0
0
-13
4
0
0
0
62
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
-47
0
0
-1
23
-7
0
0
-16
15
-3
0
0
12
2
0
0
0
0
0
0
0
0
27
41
-48
0
0
36
5
-3
0
0
0
2
-1
0
0
-25
0
0
0
0
0
0
0
0
0
-28
12
-7
0
0
-3
3
-4
0
0
-10
7
0
0
0
-9
0
0
0
0
0
0
0
0
0
-2
-15
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
38
-3
-2
0
0
16
4
-2
0
0
58
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
39
-1
0
0
36
7
0
0
0
20
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-17
-3
0
0
0
3
0
0
0
0
8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
10
-34
0
0
-48
-20
-15
0
0
21
-28
-6
0
0
44
1
0
0
0
0
0
0
0
0
-9
-32
-24
0
0
53
-28
-17
0
0
-45
-83
-1
0
0
-5
0
0
0
0
0
0
0
0
0
-53
-25
-6
0
0
24
-19
-7
0
0
-11
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
1
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-11
34
0
0
9
1
-7
0
0
43
-10
0
0
0
2
0
0
0
0
0
0
0
0
0
-26
-4
-9
0
0
-11
-29
-11
0
0
-13
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
50
-33
0
0
0
-8
-5
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
29
19
0
0
0
3
6
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
29
0
0
0
30
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
0
0
0
-5
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
-29
-9
0
-40
10
9
4
0
-18
0
-9
0
0
-81
15
-1
0
0
0
0
0
0
0
-66
-3
1
-1
0
16
-1
25
0
0
-16
-31
-30
0
0
16
24
0
0
0
4
0
0
0
0
-29
-21
-4
0
0
0
-5
-6
0
0
2
-37
-2
0
0
-111
3
0
0
0
0
0
0
0
0
-10
-41
0
0
0
-13
7
0
0
0
5
1
0
0
0
-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
-39
-26
44
0
0
-18
-1
21
0
0
-34
45
-37
0
0
33
15
0
0
0
0
0
0
0
0
9
20
38
0
0
3
18
37
0
0
32
49
0
0
0
23
3
0
0
0
0
0
0
0
0
-3
75
15
0
0
27
58
1
0
0
73
26
0
0
0
3
1
0
0
0
0
0
0
0
0
22
-29
0
0
0
-20
11
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
-29
33
0
0
-9
-62
0
0
0
42
-60
0
0
0
41
0
0
0
0
0
0
0
0
0
-18
12
-1
0
0
64
6
2
0
0
-7
-44
0
0
0
11
0
0
0
0
0
0
0
0
0
37
5
0
0
0
-17
7
0
0
0
17
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
-17
-4
0
0
0
-22
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
-9
24
0
0
0
-40
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-4
0
0
0
23
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
-73
21
-17
0
0
-10
-33
-14
0
0
34
37
-6
0
0
15
-1
0
0
0
0
0
0
0
0
53
12
-29
0
0
-1
-3
-44
0
0
-26
32
0
0
0
25
-3
0
0
0
0
0
0
0
0
2
2
0
0
0
24
-1
0
0
0
29
-2
0
0
0
-8
0
0
0
0
0
0
0
0
0
31
6
0
0
0
-4
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
1
57
11
0
0
32
20
0
0
0
8
-10
0
0
0
-50
0
0
0
0
0
0
0
0
0
-4
6
-2
0
0
45
27
0
0
0
-4
10
0
0
0
1
0
0
0
0
0
0
0
0
0
16
-8
0
0
0
7
-21
0
0
0
14
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
29
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
34
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
10
0
0
0
41
8
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
-27
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-1
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
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
-59
-6
0
0
0
-29
0
0
0
0
58
0
0
0
0
4
0
0
0
0
0
0
0
0
0
42
2
0
0
0
37
1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
-23
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
1
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
120
0
-18
-37
-55
-2
-24
-22
1
2
-21
-30
-20
-23
0
-36
-50
-13
-6
0
-67
13
-12
0
0
-3
-23
-16
38
-33
-17
-15
-46
2
1
-33
13
12
-49
-2
-22
17
0
13
0
-43
-15
-8
0
0
-22
-39
-63
30
0
-38
10
35
-17
0
-33
23
44
11
0
-30
-30
-29
-1
0
-20
-14
0
0
0
-56
-51
-22
21
0
-60
1
49
8
0
-39
-25
45
0
0
29
-21
0
0
0
-1
0
0
0
0
-78
-51
-4
0
0
-30
-33
3
0
0
14
15
0
0
0
1
0
0
0
0
0
0
0
0
0
2
-16
-38
8
-6
-10
-23
-44
0
1
-36
14
11
27
0
-39
-17
45
-3
0
-39
14
1
0
0
-19
-17
-7
-16
0
-20
12
14
10
0
-2
22
4
-34
0
-9
-15
-26
-1
0
40
-21
0
0
0
-48
7
11
-9
0
-7
23
4
-57
0
4
12
3
-3
0
-2
5
1
0
0
82
-1
0
0
0
-42
28
-21
0
0
24
-12
-4
1
0
-3
26
-12
0
0
-13
11
0
0
0
0
0
0
0
0
-40
32
0
0
0
1
-1
0
0
0
19
12
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-40
-72
-20
0
-30
-9
31
17
0
-12
-17
34
12
0
-31
-2
6
0
0
99
1
0
0
0
-49
-1
10
41
0
-18
33
17
27
0
2
4
-15
-2
0
-8
39
16
0
0
9
-6
0
0
0
-62
7
31
10
0
14
-26
-10
2
0
-8
-41
-6
0
0
59
12
-6
0
0
2
0
0
0
0
-12
21
35
0
0
14
31
40
0
0
16
3
1
0
0
6
-1
0
0
0
0
0
0
0
0
-44
-1
0
0
0
-22
-4
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
-66
12
0
0
-33
1
-15
0
0
5
32
-12
0
0
4
-45
-1
0
0
0
0
0
0
0
-52
-5
-41
0
0
-28
28
29
0
0
6
-3
13
0
0
-52
-6
0
0
0
0
0
0
0
0
-28
34
19
0
0
28
-4
13
0
0
-63
-50
12
0
0
-21
-2
0
0
0
0
0
0
0
0
-9
8
0
0
0
27
-1
0
0
0
-4
-1
0
0
0
2
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
-63
-14
0
0
0
-25
-18
0
0
0
17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
52
30
0
0
0
8
14
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
18
0
0
0
-5
-6
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-50
-13
1
-24
-19
-1
-9
0
-19
-12
-10
7
0
1
12
23
-1
0
16
-14
0
0
0
-38
-1
4
-52
0
-5
37
-10
-15
0
-11
24
39
8
0
-4
-10
6
0
0
43
-6
0
0
0
-47
25
28
10
0
-27
-14
-34
0
0
8
-19
-11
0
0
8
32
-5
0
0
-9
0
0
0
0
-44
-1
-45
0
0
-32
56
-8
0
0
45
-69
-6
0
0
-21
0
0
0
0
0
0
0
0
0
-21
-27
0
0
0
29
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
1
43
32
0
-15
4
26
12
0
-20
30
10
-2
0
9
11
-1
0
0
-56
-2
0
0
0
-14
10
5
3
0
8
-25
-1
0
0
3
-37
3
-4
0
12
38
3
0
0
16
-1
0
0
0
-9
-8
28
-3
0
61
9
19
-1
0
1
-2
5
0
0
4
26
-2
0
0
0
0
0
0
0
-4
-45
-57
0
0
-3
-6
-10
0
0
29
-28
0
0
0
-1
1
0
0
0
0
0
0
0
0
9
0
0
0
0
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-62
-17
22
-2
0
10
16
-6
-4
0
-7
21
-8
0
0
-2
-37
-9
0
0
0
0
0
0
0
-3
20
32
-6
0
19
0
14
-2
0
-13
-31
-38
0
0
-18
-8
-6
0
0
0
0
0
0
0
40
5
10
0
0
-8
-25
12
0
0
26
49
-6
0
0
33
2
0
0
0
0
0
0
0
0
-50
-19
0
0
0
14
12
0
0
0
28
-6
0
0
0
2
0
0
0
0
0
0
0
0
0
15
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
-31
-21
0
0
-9
-2
-30
0
0
27
22
-8
0
0
1
0
0
0
0
0
0
0
0
0
56
50
-39
0
0
-20
6
-14
0
0
-16
-5
-7
0
0
-7
0
0
0
0
0
0
0
0
0
-14
10
-1
0
0
0
2
0
0
0
6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
1
0
0
0
-26
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-13
3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
-3
10
0
0
0
-2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
-3
0
-42
-11
21
-6
0
-54
27
11
0
0
11
41
3
0
0
1
0
0
0
0
-36
-35
-2
-1
0
-3
23
14
0
0
30
-26
-9
0
0
-7
8
0
0
0
0
0
0
0
0
-85
73
0
0
0
-27
-42
1
0
0
56
-42
0
0
0
-8
0
0
0
0
0
0
0
0
0
2
-16
0
0
0
43
-12
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-39
67
0
0
10
-17
-5
0
0
-12
30
-10
0
0
-5
1
0
0
0
0
0
0
0
0
-31
24
21
0
0
-2
16
-17
0
0
-13
-3
-7
0
0
8
2
0
0
0
0
0
0
0
0
2
-38
8
0
0
3
-19
2
0
0
37
-9
0
0
0
2
0
0
0
0
0
0
0
0
0
-2
-7
0
0
0
6
-4
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-7
1
0
0
5
-2
-3
0
0
-5
-10
0
0
0
-4
0
0
0
0
0
0
0
0
0
15
64
-1
0
0
11
39
1
0
0
-42
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
33
37
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
-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
-30
-14
0
0
0
-21
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-1
0
0
0
5
-1
0
0
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-26
-13
8
-1
-33
-4
-1
-9
0
-14
-18
23
28
0
-54
39
3
-1
0
-3
-19
-18
0
0
-41
-15
-1
5
-7
-14
1
40
-4
0
-5
8
9
10
0
21
-14
-31
1
0
-52
-12
0
0
0
-51
7
-28
-35
0
3
19
-1
-12
0
-14
32
-21
6
0
23
-11
-9
0
0
-29
-1
0
0
0
-62
-10
5
3
0
39
-30
-4
0
0
-9
-6
3
0
0
37
-1
0
0
0
0
0
0
0
0
-18
-4
-2
0
0
-14
-4
0
0
0
-10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-13
-5
18
0
-12
22
7
5
0
6
-10
-10
16
0
8
-3
-29
0
0
-7
3
0
0
0
-28
11
4
-27
0
14
-6
5
10
0
-2
16
13
11
0
37
21
-18
0
0
18
8
0
0
0
-7
7
26
-3
0
7
-29
-30
5
0
-5
-57
-59
0
0
-17
20
0
0
0
1
0
0
0
0
25
39
1
0
0
-26
2
-47
0
0
60
52
0
0
0
-14
-3
0
0
0
0
0
0
0
0
-4
6
0
0
0
7
4
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-5
22
4
0
-19
14
-13
2
0
-2
1
14
0
0
12
-39
-1
0
0
1
0
0
0
0
-13
-26
41
0
0
39
19
-3
3
0
-28
10
-48
0
0
-2
-36
0
0
0
1
0
0
0
0
-1
11
14
1
0
21
-23
14
0
0
38
40
-2
0
0
-14
-2
0
0
0
0
0
0
0
0
19
-41
12
0
0
-38
-12
3
0
0
-12
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-78
40
32
0
0
-16
7
40
0
0
-16
68
4
0
0
20
-1
0
0
0
0
0
0
0
0
59
-4
-34
0
0
19
-18
17
0
0
10
-5
0
0
0
4
-1
0
0
0
0
0
0
0
0
31
-14
0
0
0
11
-29
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
15
2
0
0
0
-21
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-15
0
0
0
10
-11
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-12
0
0
0
5
-1
0
0
0
1
0
0
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
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
-51
24
0
9
-25
-8
12
0
-30
-5
-31
2
0
-44
40
0
0
0
38
0
0
0
0
-1
-2
45
3
0
-4
-8
-46
-3
0
-15
8
53
1
0
24
-44
13
0
0
8
0
0
0
0
-3
-9
17
0
0
6
16
16
0
0
20
68
-25
0
0
5
5
0
0
0
0
0
0
0
0
-2
41
-9
0
0
22
1
-5
0
0
8
-17
0
0
0
-2
0
0
0
0
0
0
0
0
0
-27
4
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-5
39
24
0
-23
8
-15
-1
0
20
9
-7
0
0
0
-56
2
0
0
2
0
0
0
0
15
-13
0
-4
0
1
12
-54
0
0
-2
14
16
0
0
-18
-48
3
0
0
1
0
0
0
0
9
-6
-50
0
0
-14
-18
-5
0
0
22
-19
-1
0
0
3
0
0
0
0
0
0
0
0
0
0
-21
2
0
0
-26
-6
0
0
0
53
-7
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
26
-16
0
0
12
32
15
0
0
-7
23
-2
0
0
6
2
0
0
0
0
0
0
0
0
6
22
-25
0
0
16
-31
7
0
0
-16
-19
-1
0
0
-33
0
0
0
0
0
0
0
0
0
1
7
-9
0
0
2
-10
-4
0
0
-15
-1
0
0
0
-8
0
0
0
0
0
0
0
0
0
6
-10
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-6
-2
0
0
14
-3
-2
0
0
49
2
0
0
0
2
0
0
0
0
0
0
0
0
0
21
40
-1
0
0
41
5
0
0
0
7
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-18
-14
0
0
0
5
0
0
0
0
9
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
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
-61
30
-27
0
0
-46
-11
-20
0
0
11
-34
-6
0
0
42
1
0
0
0
0
0
0
0
0
21
-19
-24
0
0
64
-26
-17
0
0
-35
-73
-1
0
0
-7
0
0
0
0
0
0
0
0
0
-71
-33
-6
0
0
38
-13
-7
0
0
-15
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
-8
1
0
0
0
-5
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
21
-2
-9
0
0
42
-11
0
0
0
2
0
0
0
0
0
0
0
0
0
-8
8
-9
0
0
-11
-41
-11
0
0
-15
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
42
-38
0
0
0
-3
-6
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
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
31
24
0
0
0
-1
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
29
0
0
0
24
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
-57
-18
0
-33
10
-35
4
0
-9
17
-6
0
0
-35
4
-1
0
0
0
0
0
0
0
-47
27
2
-1
0
-17
-28
8
0
0
-10
-51
-31
0
0
45
19
0
0
0
4
0
0
0
0
-38
-15
-22
0
0
-16
9
-8
0
0
-17
-47
-2
0
0
-67
3
0
0
0
0
0
0
0
0
-3
-19
-2
0
0
32
31
0
0
0
-1
6
0
0
0
-7
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
-38
-23
15
0
0
6
25
-10
0
0
-24
22
-39
0
0
27
6
0
0
0
0
0
0
0
0
-37
29
26
0
0
-18
9
32
0
0
28
25
0
0
0
20
-2
0
0
0
0
0
0
0
0
-39
61
11
0
0
38
50
1
0
0
31
3
0
0
0
9
1
0
0
0
0
0
0
0
0
-13
-29
0
0
0
-11
3
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
13
26
0
0
-4
-57
-3
0
0
49
-79
0
0
0
36
0
0
0
0
0
0
0
0
0
17
7
-10
0
0
56
-8
2
0
0
-22
-60
0
0
0
11
0
0
0
0
0
0
0
0
0
10
-20
0
0
0
-31
-5
0
0
0
14
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
-21
-4
0
0
0
-16
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
-7
19
0
0
0
-46
-5
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-7
0
0
0
12
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
16
-31
-17
0
0
25
12
-5
0
0
-4
-3
0
0
0
0
0
0
0
0
27
18
-23
0
0
-14
-11
-44
0
0
-21
30
0
0
0
17
-3
0
0
0
0
0
0
0
0
5
-6
-1
0
0
37
1
0
0
0
15
-4
0
0
0
-8
0
0
0
0
0
0
0
0
0
36
3
0
0
0
-1
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
-4
66
6
0
0
16
7
-1
0
0
3
-27
0
0
0
-60
0
0
0
0
0
0
0
0
0
22
0
-1
0
0
47
4
0
0
0
7
2
0
0
0
-5
0
0
0
0
0
0
0
0
0
27
-21
0
0
0
22
-19
0
0
0
7
-1
0
0
0
-7
0
0
0
0
0
0
0
0
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
11
31
0
0
0
10
29
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
6
0
0
0
34
-2
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
-37
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
-22
-2
0
0
0
65
0
0
0
0
4
0
0
0
0
0
0
0
0
0
37
-4
0
0
0
36
1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-2
0
0
0
-10
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
1
0
0
0
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
-48
0
-14
-31
-57
-1
1
-50
-39
4
8
0
-50
-71
-5
-3
0
-28
-5
0
0
0
-32
-45
11
-9
-1
-6
-17
-30
13
0
19
-19
23
0
0
-56
-17
-2
-2
0
-8
-18
0
0
0
-68
-17
14
-41
0
-41
-4
-14
-24
0
-38
-5
12
1
0
3
-11
-19
0
0
2
-7
0
0
0
-88
20
-5
-1
0
-59
-19
-6
0
0
-18
-42
-11
0
0
-26
9
0
0
0
0
0
0
0
0
-109
-63
0
0
0
-35
-37
0
0
0
-14
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
-27
-41
-64
0
-9
-23
-49
-22
0
-55
9
34
5
0
-21
23
-3
0
0
-11
-4
0
0
0
-44
-29
0
-28
0
-13
0
19
-14
0
17
-12
19
-1
0
38
3
-7
0
0
19
-1
0
0
0
-39
-9
22
-17
0
-13
-23
8
-5
0
-16
-22
-4
1
0
-37
-22
-3
0
0
9
0
0
0
0
-41
38
4
-1
0
41
-2
-5
0
0
1
-12
-7
0
0
-31
3
0
0
0
0
0
0
0
0
-55
-24
0
0
0
-5
-21
0
0
0
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-42
-23
-3
0
-60
29
27
9
0
-43
-33
13
4
0
-79
-2
-4
0
0
22
2
0
0
0
-9
6
-11
7
0
-40
14
4
13
0
29
-52
-20
1
0
-54
-2
-3
0
0
12
0
0
0
0
-51
57
15
-3
0
29
24
-7
-2
0
44
4
0
0
0
-18
10
-1
0
0
0
0
0
0
0
-18
60
10
0
0
36
44
8
0
0
5
-3
0
0
0
0
1
0
0
0
0
0
0
0
0
-26
-7
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
-59
23
0
0
0
9
44
0
0
47
-36
-8
0
0
35
-13
0
0
0
0
0
0
0
0
-33
-34
-15
0
0
-1
-15
15
0
0
18
-53
2
0
0
-7
-7
0
0
0
0
0
0
0
0
-28
-54
7
0
0
8
-45
8
0
0
24
-46
1
0
0
0
-2
0
0
0
0
0
0
0
0
6
-2
0
0
0
15
2
0
0
0
4
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
10
0
0
0
5
1
0
0
0
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
9
0
0
0
16
6
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
7
0
0
0
-22
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-131
-31
-31
-61
0
-20
12
21
-6
0
11
-20
-24
7
0
40
-37
23
0
0
-16
-4
0
0
0
-46
-25
-9
-46
0
9
21
15
-19
0
8
14
7
1
0
17
-41
15
0
0
1
-3
0
0
0
-8
-82
15
-14
0
10
-20
17
-2
0
12
17
-14
0
0
2
10
-3
0
0
-2
0
0
0
0
-19
8
-12
0
0
-26
9
0
0
0
-39
-45
-3
0
0
-6
2
0
0
0
0
0
0
0
0
-33
-12
0
0
0
9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-30
-20
-38
0
-6
10
-26
-12
0
-31
6
4
-1
0
-22
-14
9
0
0
-8
-2
0
0
0
-16
3
4
-35
0
2
17
-8
-21
0
13
11
-5
-2
0
29
-8
2
0
0
1
-2
0
0
0
-14
-36
2
-4
0
15
-21
-8
0
0
6
21
-11
0
0
11
6
-1
0
0
0
0
0
0
0
-36
4
-7
0
0
1
24
-3
0
0
10
-26
0
0
0
4
2
0
0
0
0
0
0
0
0
-5
-1
0
0
0
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-24
-9
-13
0
18
52
16
-3
0
-12
4
-13
0
0
-23
1
-1
0
0
0
0
0
0
0
-34
-3
4
-4
0
2
11
9
0
0
3
-18
-22
0
0
-23
0
-1
0
0
0
0
0
0
0
34
28
0
0
0
-28
1
1
0
0
19
10
-2
0
0
10
3
0
0
0
0
0
0
0
0
-4
35
0
0
0
23
33
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-9
-9
0
0
2
11
10
0
0
-20
-15
-6
0
0
-3
0
0
0
0
0
0
0
0
0
39
0
-13
0
0
3
6
-4
0
0
-13
-19
-4
0
0
-2
0
0
0
0
0
0
0
0
0
18
13
0
0
0
5
7
0
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
1
0
0
0
-13
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
2
0
0
0
-8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
0
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-2
0
-3
34
5
0
0
-27
8
-2
0
0
5
-1
0
0
0
0
0
0
0
0
-131
-26
9
0
0
-43
46
10
0
0
-14
-2
0
0
0
5
0
0
0
0
0
0
0
0
0
-26
-8
4
0
0
29
1
1
0
0
33
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
14
-12
0
0
0
25
-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
-23
-25
2
0
0
-49
-30
3
0
0
-25
-7
-2
0
0
-3
0
0
0
0
0
0
0
0
0
2
-8
9
0
0
-21
0
0
0
0
-16
-12
0
0
0
-3
0
0
0
0
0
0
0
0
0
13
-6
2
0
0
18
-11
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
6
-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
32
-12
1
0
0
-2
-16
1
0
0
-20
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-2
1
0
0
-26
5
2
0
0
-30
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
13
0
0
0
-11
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
-1
-2
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
29
-3
2
-32
-15
34
20
0
-29
-6
-4
9
0
-48
-26
-4
0
0
-4
-6
0
0
0
-52
-54
-14
22
0
14
-7
-13
18
0
10
45
28
3
0
10
-2
14
0
0
-7
-4
0
0
0
-56
44
-6
8
0
-25
-20
-27
8
0
-37
-16
7
6
0
-17
-19
-3
0
0
-2
0
0
0
0
-38
-13
20
0
0
-43
17
16
0
0
2
-9
0
0
0
-28
-1
0
0
0
0
0
0
0
0
-31
-26
0
0
0
-5
-7
0
0
0
-2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
20
-49
-33
0
9
3
-30
-22
0
0
-6
-7
-1
0
-3
-44
-16
0
0
-13
-4
0
0
0
8
14
-3
-19
0
45
-3
6
-5
0
16
30
7
0
0
30
-19
1
0
0
0
-2
0
0
0
4
-6
-15
3
0
-7
-43
-9
1
0
-43
-29
-7
0
0
10
-10
0
0
0
0
0
0
0
0
31
12
16
0
0
-5
27
1
0
0
25
7
-1
0
0
-26
-2
0
0
0
0
0
0
0
0
0
-6
0
0
0
5
-2
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-27
51
-1
0
-5
58
44
2
0
-36
-7
6
0
0
6
8
0
0
0
0
0
0
0
0
18
-54
0
1
0
-17
36
7
1
0
-26
-5
-26
0
0
13
1
0
0
0
0
0
0
0
0
-72
-27
7
0
0
17
-4
6
0
0
-12
-17
-2
0
0
-12
-2
0
0
0
0
0
0
0
0
-54
-25
1
0
0
-12
7
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-71
-19
16
0
0
-28
-9
21
0
0
-12
-6
0
0
0
16
-2
0
0
0
0
0
0
0
0
17
23
-7
0
0
27
15
2
0
0
-25
-15
0
0
0
5
-2
0
0
0
0
0
0
0
0
53
-4
0
0
0
4
-13
0
0
0
9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
2
0
0
0
-17
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
0
0
0
11
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
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
-12
0
-1
-8
9
11
0
-26
42
2
-1
0
-22
-12
4
0
0
-3
0
0
0
0
17
17
-2
-8
0
21
3
-5
2
0
-26
85
44
0
0
-13
-7
4
0
0
0
-1
0
0
0
-44
-2
-21
0
0
-15
7
-14
0
0
-5
21
-3
0
0
-4
-1
0
0
0
0
0
0
0
0
-21
-18
-2
0
0
-28
-2
0
0
0
-46
-8
0
0
0
-2
0
0
0
0
0
0
0
0
0
-14
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
6
-1
-12
0
-14
8
22
-1
0
17
30
34
0
0
-12
-35
3
0
0
-2
0
0
0
0
36
48
12
-2
0
2
13
1
0
0
1
32
32
0
0
-4
-27
6
0
0
0
0
0
0
0
4
41
-20
0
0
11
26
-8
0
0
5
14
0
0
0
-1
0
0
0
0
0
0
0
0
0
-6
-24
0
0
0
-8
-5
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
2
-1
0
0
26
-4
2
0
0
11
4
0
0
0
10
2
0
0
0
0
0
0
0
0
8
-23
-7
0
0
8
-28
-4
0
0
-15
-7
0
0
0
-8
0
0
0
0
0
0
0
0
0
28
-3
-2
0
0
3
0
-1
0
0
-2
3
0
0
0
-4
0
0
0
0
0
0
0
0
0
8
-5
0
0
0
5
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-1
-1
0
0
6
-8
0
0
0
8
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
13
14
0
0
0
18
7
0
0
0
-11
0
0
0
0
1
0
0
0
0
0
0
0
0
0
28
0
0
0
0
5
0
0
0
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-9
-7
0
0
-20
-8
-1
0
0
-26
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
-5
-4
-6
0
0
16
-3
-1
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-8
0
0
0
28
1
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
-13
-1
0
0
10
2
0
0
0
1
0
0
0
0
0
0
0
0
0
6
-4
0
0
0
11
-7
-2
0
0
10
0
0
0
0
1
0
0
0
0
0
0
0
0
0
35
-2
0
0
0
32
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
4
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
7
0
0
0
2
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
1
0
0
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-145
-16
-65
0
0
-14
-36
-19
0
0
0
-32
2
0
0
8
-18
0
0
0
2
0
0
0
0
-77
-2
-50
0
0
-28
13
-6
0
0
25
13
-1
0
0
6
-4
0
0
0
0
0
0
0
0
14
-32
-30
0
0
-2
-17
-1
0
0
-17
-4
0
0
0
9
0
0
0
0
0
0
0
0
0
-34
-33
0
0
0
-12
-9
0
0
0
-5
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-127
-10
-40
0
0
-2
-23
-10
0
0
40
-35
-6
0
0
13
-3
0
0
0
0
0
0
0
0
-70
-18
-21
0
0
36
-15
8
0
0
33
-1
-1
0
0
15
1
0
0
0
0
0
0
0
0
13
-25
-8
0
0
11
-17
0
0
0
-8
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
-31
-37
0
0
0
-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
-31
31
-8
0
0
21
7
0
0
0
25
-29
0
0
0
-4
0
0
0
0
0
0
0
0
0
-22
14
1
0
0
-13
6
0
0
0
-14
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
0
0
0
-32
-3
0
0
0
-11
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-24
-7
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
-6
-11
0
0
0
-7
8
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
1
0
0
0
19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
-40
-7
0
0
3
-14
0
0
0
-40
-23
-1
0
0
-34
-2
0
0
0
0
0
0
0
0
30
-19
-4
0
0
0
-13
1
0
0
-13
8
0
0
0
-8
0
0
0
0
0
0
0
0
0
10
-12
0
0
0
4
-1
0
0
0
3
-1
0
0
0
-6
0
0
0
0
0
0
0
0
0
34
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
26
8
2
0
0
-12
-8
0
0
0
-5
-15
0
0
0
-7
0
0
0
0
0
0
0
0
0
30
-19
-2
0
0
-2
-25
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
10
2
0
0
0
-3
-2
0
0
0
4
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
32
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
40
33
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
12
0
0
0
1
1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-22
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
15
2
0
0
0
8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
24
20
24
0
7
-4
-20
8
0
23
-42
27
8
0
33
57
9
0
0
-10
-2
0
0
0
19
-45
2
-34
0
-6
58
-10
-14
0
21
44
-10
-4
0
-30
18
18
0
0
-7
0
0
0
0
11
46
-3
1
0
-40
28
-3
-1
0
-26
7
4
0
0
-2
7
0
0
0
0
0
0
0
0
-7
34
-3
0
0
-28
18
-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
7
-8
19
-6
0
25
-7
21
9
0
-33
28
-8
0
0
21
-2
1
0
0
-2
0
0
0
0
37
15
-4
-12
0
-14
28
22
0
0
-6
25
-10
0
0
11
7
0
0
0
0
0
0
0
0
17
-6
-1
0
0
-22
-17
-3
0
0
-12
7
0
0
0
-1
0
0
0
0
0
0
0
0
0
9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
67
-37
-2
1
0
49
16
-4
0
0
-5
3
0
0
0
-6
0
0
0
0
0
0
0
0
0
-20
-7
-8
0
0
-13
6
-2
0
0
-21
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
29
9
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
1
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
6
0
-44
-34
21
3
0
9
-29
-16
0
0
-2
-15
0
0
0
0
0
0
0
0
5
42
32
1
0
57
18
18
0
0
1
7
-2
0
0
4
0
0
0
0
0
0
0
0
0
13
-18
0
0
0
41
-11
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
73
17
10
0
0
9
3
-1
0
0
4
0
0
0
0
0
0
0
0
0
5
9
6
0
0
22
6
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
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
45
26
0
0
0
38
12
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
9
0
0
0
11
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
35
3
0
0
8
12
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
24
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-23
-3
-3
0
-40
75
1
-11
0
1
-38
21
0
0
33
-2
2
0
0
-2
0
0
0
0
-17
10
22
1
0
12
-6
25
-1
0
50
4
2
0
0
11
-1
0
0
0
-1
0
0
0
0
-26
-19
-3
0
0
34
22
4
0
0
-1
1
0
0
0
1
0
0
0
0
0
0
0
0
0
29
9
0
0
0
45
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-36
54
-1
0
-47
82
41
-1
0
4
-6
1
0
0
19
0
0
0
0
0
0
0
0
0
67
1
7
0
0
20
-6
3
0
0
-4
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
18
-13
0
0
0
22
6
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
-29
-33
-6
0
0
-1
-9
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
104
32
0
0
-57
48
28
0
0
47
19
0
0
0
-1
0
0
0
0
0
0
0
0
0
53
-9
4
0
0
22
-4
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-4
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
0
0
0
-19
11
1
0
0
6
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-19
11
0
0
-34
-29
1
0
0
34
15
0
0
0
2
0
0
0
0
0
0
0
0
0
8
17
2
0
0
23
2
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
1
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-10
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-3
0
0
0
-1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
9
0
0
0
10
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-8
1
12
8
-9
-1
-12
15
2
-7
4
4
-10
0
-15
15
46
0
0
3
2
1
0
0
17
11
-4
-58
-1
7
1
19
-32
0
13
-18
-13
-47
0
-39
-22
39
-1
0
-23
11
0
0
0
31
-19
-13
2
0
-4
-16
5
18
0
10
-23
-56
-6
0
23
34
1
0
0
15
0
0
0
0
35
28
-25
-8
0
-16
-45
-20
-3
0
34
2
0
0
0
3
15
0
0
0
0
0
0
0
0
5
-68
0
0
0
-1
-33
0
0
0
-47
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-1
-16
10
0
-1
-21
21
-14
1
16
3
-19
27
0
1
-21
10
0
0
19
-4
0
0
0
8
-8
-30
38
0
-15
13
51
18
0
11
0
25
-3
0
19
-23
7
0
0
28
3
0
0
0
12
21
30
-45
0
-22
-2
-49
-7
0
16
38
-18
0
0
-7
40
-1
0
0
7
0
0
0
0
-24
27
9
-2
0
12
-61
-2
0
0
-6
15
0
0
0
-24
0
0
0
0
0
0
0
0
0
1
-39
0
0
0
19
-13
0
0
0
-15
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-9
1
-13
0
-5
-2
16
7
0
20
51
12
0
0
-41
50
-2
0
0
19
0
0
0
0
4
9
-31
34
0
29
-10
-22
10
0
-7
34
1
0
0
42
-16
-3
0
0
2
0
0
0
0
-6
-48
-8
0
0
-11
-4
-18
0
0
-12
15
6
0
0
-11
4
0
0
0
0
0
0
0
0
-6
-14
-8
0
0
-10
-56
-2
0
0
10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
0
-34
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-28
27
0
0
25
-12
48
0
0
-48
-21
-6
0
0
36
-6
0
0
0
0
0
0
0
0
-1
0
-15
0
0
36
-26
8
0
0
9
6
-6
0
0
13
-6
0
0
0
0
0
0
0
0
-46
-3
-10
0
0
-37
0
-11
0
0
-29
-6
0
0
0
-9
0
0
0
0
0
0
0
0
0
-4
11
0
0
0
-5
-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
-49
5
0
0
0
-51
-1
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-1
0
0
0
-45
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
58
5
32
32
0
-14
15
3
9
0
2
-2
-12
2
0
8
-31
52
0
0
19
-3
0
0
0
22
34
32
18
0
-6
-55
34
4
0
6
7
75
1
0
5
37
25
0
0
-7
-2
0
0
0
8
1
-5
-1
0
31
36
14
0
0
-81
54
13
0
0
10
21
0
0
0
-3
0
0
0
0
-20
39
15
0
0
29
50
18
0
0
-15
-8
0
0
0
7
0
0
0
0
0
0
0
0
0
9
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-24
17
57
0
-6
-3
60
28
0
-27
-31
18
1
0
8
-28
-6
0
0
-2
-1
0
0
0
-19
23
44
7
0
2
2
15
1
0
20
31
56
0
0
27
-2
-6
0
0
-2
0
0
0
0
9
35
9
0
0
-26
31
0
0
0
-13
7
-1
0
0
48
0
0
0
0
0
0
0
0
0
-7
38
8
0
0
22
1
1
0
0
4
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
32
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
75
-5
3
0
-27
-9
-43
0
0
1
-23
-16
0
0
8
-12
0
0
0
0
0
0
0
0
-5
-22
38
0
0
46
-1
-20
0
0
31
-12
-12
0
0
33
-1
0
0
0
0
0
0
0
0
0
-7
2
0
0
12
3
1
0
0
14
-12
0
0
0
0
-1
0
0
0
0
0
0
0
0
17
20
3
0
0
26
-2
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-17
2
0
0
37
4
3
0
0
-30
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
10
-17
-3
0
0
43
-1
-3
0
0
-10
-7
0
0
0
-1
0
0
0
0
0
0
0
0
0
-11
-25
0
0
0
-13
-7
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
-12
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
2
0
0
0
-28
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
-10
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
43
0
0
41
20
43
0
0
-13
-12
-1
0
0
14
2
0
0
0
0
0
0
0
0
-15
21
35
0
0
-44
35
12
0
0
-20
14
1
0
0
0
0
0
0
0
0
0
0
0
0
13
-14
1
0
0
-37
25
0
0
0
18
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-31
8
0
0
-17
-22
2
0
0
-35
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
38
-5
2
0
0
43
15
0
0
0
-43
0
0
0
0
1
0
0
0
0
0
0
0
0
0
26
0
0
0
0
-28
1
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
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
-15
-29
0
0
0
7
-12
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
8
0
0
0
-17
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-16
4
-2
-7
-25
-5
0
-11
12
-4
-36
0
14
-8
-32
-1
0
12
5
0
0
0
9
-28
4
19
0
-25
0
20
7
0
3
-2
-17
-11
0
-30
-13
-11
0
0
-32
-3
0
0
0
-40
44
-26
5
0
2
49
-17
2
0
-25
-57
0
0
0
-20
16
-1
0
0
3
0
0
0
0
-9
-23
10
0
0
55
-18
9
0
0
-46
1
3
0
0
18
-2
0
0
0
0
0
0
0
0
28
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-12
-7
-44
0
-20
39
58
-23
0
2
-3
22
0
0
26
-46
-7
0
0
10
-1
0
0
0
-20
-6
-16
0
0
31
19
-24
-2
0
-3
30
34
0
0
-45
-80
1
0
0
-3
-2
0
0
0
-2
-45
14
0
0
9
34
-36
0
0
57
-11
2
0
0
-5
-8
0
0
0
0
0
0
0
0
-18
2
1
0
0
1
7
0
0
0
5
37
0
0
0
4
-2
0
0
0
0
0
0
0
0
36
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-18
-22
-1
0
13
-41
-10
-1
0
27
-43
-10
0
0
16
2
0
0
0
0
0
0
0
0
-14
22
15
0
0
29
-45
-10
0
0
9
-7
-3
0
0
24
-2
0
0
0
0
0
0
0
0
40
36
20
0
0
36
19
-1
0
0
-14
-8
0
0
0
-11
0
0
0
0
0
0
0
0
0
-22
-12
0
0
0
1
-11
0
0
0
-9
-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
37
22
7
0
0
34
19
3
0
0
6
3
0
0
0
15
0
0
0
0
0
0
0
0
0
3
21
-2
0
0
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-8
0
0
0
5
0
0
0
0
-11
1
0
0
0
-2
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
29
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
4
32
9
0
-31
0
89
9
0
8
-22
4
0
0
10
-55
1
0
0
-6
0
0
0
0
-10
-17
0
0
0
2
45
18
0
0
11
42
15
0
0
59
-9
0
0
0
-4
0
0
0
0
-20
-62
-24
0
0
43
-66
-8
0
0
3
20
0
0
0
-11
0
0
0
0
0
0
0
0
0
-45
-22
2
0
0
-13
-16
0
0
0
1
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
-8
-8
-59
-2
0
9
6
-8
0
0
-33
-55
19
0
0
17
-40
0
0
0
-3
0
0
0
0
16
-29
-36
0
0
-19
55
-48
0
0
14
-4
0
0
0
1
-12
0
0
0
-4
0
0
0
0
-40
27
-8
0
0
-65
17
-4
0
0
-24
-6
0
0
0
3
0
0
0
0
0
0
0
0
0
-22
-13
0
0
0
-29
-9
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
-11
13
-27
0
0
2
-13
-10
0
0
0
9
0
0
0
15
0
0
0
0
0
0
0
0
0
43
-33
-11
0
0
52
-32
-3
0
0
-6
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
33
8
2
0
0
-20
-8
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
0
0
0
2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-2
0
0
0
-3
-3
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-3
0
0
0
-8
-1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
46
1
0
0
37
15
0
0
0
-34
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
47
19
1
0
0
-2
16
0
0
0
7
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
24
0
0
0
40
13
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
3
0
0
0
29
5
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
-3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
3
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
72
-9
0
-20
-17
13
0
0
7
30
-24
0
0
55
-28
0
0
0
0
0
0
0
0
16
-22
80
0
0
30
14
60
0
0
-43
-4
-2
0
0
80
0
0
0
0
0
0
0
0
0
-5
-22
-49
0
0
-17
-9
0
0
0
-27
-25
0
0
0
3
0
0
0
0
0
0
0
0
0
15
4
0
0
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
21
20
50
0
0
-34
3
-25
0
0
28
7
0
0
0
35
-1
0
0
0
0
0
0
0
0
22
-20
26
0
0
11
10
-8
0
0
-29
1
0
0
0
35
0
0
0
0
0
0
0
0
0
-10
32
-1
0
0
0
35
0
0
0
-17
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
-24
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
23
-4
6
0
0
26
-12
0
0
0
54
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
-38
-15
0
0
0
-54
-9
0
0
0
-6
0
0
0
0
1
0
0
0
0
0
0
0
0
0
34
0
0
0
0
-1
-3
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-6
0
0
-24
-7
0
0
0
-31
-32
0
0
0
1
-3
0
0
0
0
0
0
0
0
20
10
1
0
0
-37
24
2
0
0
-23
0
0
0
0
13
0
0
0
0
0
0
0
0
0
-13
-22
0
0
0
-38
-9
0
0
0
-13
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
15
-5
-1
0
0
-8
0
0
0
0
11
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-26
0
0
0
-10
5
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
6
0
0
0
-19
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
28
0
0
0
-1
7
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
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
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
26
15
-12
4
-5
0
-22
8
2
4
-10
3
-10
0
-22
19
48
4
0
-1
-6
1
0
0
25
10
15
-33
-1
0
-14
13
-9
0
-6
-13
-30
-36
0
11
4
11
-1
0
-24
3
0
0
0
20
-25
-5
-17
0
-3
-4
6
-6
0
9
-10
-45
-6
0
17
22
-13
0
0
13
0
0
0
0
-26
28
-2
-8
0
-22
-19
2
-3
0
2
-3
-4
0
0
20
27
0
0
0
0
0
0
0
0
-4
-77
0
0
0
-2
-29
0
0
0
-50
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-3
-5
-1
0
2
-11
-6
5
1
-7
-8
6
51
0
4
3
-21
0
0
30
-5
0
0
0
4
-11
-27
28
0
-4
18
49
20
0
6
-14
62
-1
0
26
-5
-7
0
0
28
3
0
0
0
5
15
51
-57
0
0
-20
-41
-13
0
7
-4
-13
0
0
-29
41
-1
0
0
5
0
0
0
0
-19
55
14
-2
0
16
-33
0
0
0
-24
12
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
12
-11
0
0
0
-12
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-37
-10
-6
0
-14
21
33
14
0
-8
3
-7
0
0
-20
41
-3
0
0
14
0
0
0
0
-9
5
-14
26
0
-25
-3
-11
9
0
-3
14
-17
0
0
52
-32
-3
0
0
2
0
0
0
0
-2
13
-4
0
0
-6
26
-25
0
0
3
27
1
0
0
-22
0
0
0
0
0
0
0
0
0
-23
15
-6
0
0
-19
-58
-3
0
0
-9
-9
0
0
0
-2
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
-33
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-4
15
0
0
-6
14
43
0
0
-40
-25
-10
0
0
45
-8
0
0
0
0
0
0
0
0
-6
-1
-17
0
0
-1
-8
10
0
0
11
15
-6
0
0
16
-6
0
0
0
0
0
0
0
0
-30
17
-12
0
0
-29
18
-11
0
0
-14
-4
0
0
0
-9
0
0
0
0
0
0
0
0
0
-4
14
0
0
0
-8
-4
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
-60
7
0
0
0
-77
5
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
0
-54
1
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
18
0
-10
31
-21
16
0
3
-9
4
9
0
28
-21
47
0
0
27
-3
0
0
0
19
1
14
23
0
-12
-38
19
8
0
-13
-7
108
1
0
5
37
18
0
0
-4
-2
0
0
0
-29
-6
-8
0
0
17
22
19
0
0
-75
42
17
0
0
-4
13
0
0
0
-3
0
0
0
0
17
25
13
0
0
57
48
19
0
0
-1
-4
0
0
0
6
0
0
0
0
0
0
0
0
0
17
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
5
-2
65
0
-7
-9
42
34
0
-8
-1
30
1
0
8
-37
-8
0
0
-3
-1
0
0
0
-35
6
2
5
0
14
2
-10
-2
0
7
14
48
0
0
14
-2
-6
0
0
-2
0
0
0
0
-10
9
2
0
0
-16
1
-4
0
0
25
-17
-1
0
0
39
-3
0
0
0
0
0
0
0
0
38
36
8
0
0
52
-6
1
0
0
18
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
42
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
42
1
4
0
-33
4
-46
0
0
19
-20
-24
0
0
16
-16
0
0
0
0
0
0
0
0
-10
-24
42
0
0
43
10
-20
0
0
10
-20
-13
0
0
20
-2
0
0
0
0
0
0
0
0
1
-9
-3
0
0
14
-2
1
0
0
18
-12
0
0
0
1
-1
0
0
0
0
0
0
0
0
41
23
3
0
0
48
-7
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-38
-6
0
0
19
-8
2
0
0
-20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-31
-4
0
0
17
-8
-3
0
0
-18
-6
0
0
0
-1
0
0
0
0
0
0
0
0
0
-3
-33
0
0
0
-23
-14
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-12
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
2
0
0
0
-27
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
-9
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-9
37
0
0
32
5
39
0
0
14
-14
-2
0
0
21
2
0
0
0
0
0
0
0
0
6
28
27
0
0
-20
63
12
0
0
14
16
1
0
0
-2
0
0
0
0
0
0
0
0
0
22
-10
1
0
0
-25
30
0
0
0
30
1
0
0
0
-4
0
0
0
0
0
0
0
0
0
28
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
-48
-18
7
0
0
-39
-16
1
0
0
-5
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
48
22
2
0
0
43
24
0
0
0
-32
0
0
0
0
1
0
0
0
0
0
0
0
0
0
29
-3
0
0
0
-22
2
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
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
-40
-30
0
0
0
-3
-18
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
7
0
0
0
-39
4
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
1
4
20
-22
3
11
0
-12
9
-15
-25
0
-14
-18
-24
-1
0
5
6
0
0
0
18
-15
-21
25
0
-32
7
21
15
0
35
-26
-40
-11
0
-40
5
-9
0
0
-34
-3
0
0
0
-23
26
-31
3
0
-1
46
-24
1
0
-19
-50
-2
0
0
-27
22
-1
0
0
3
0
0
0
0
-10
-31
17
0
0
51
-31
14
0
0
-55
6
3
0
0
24
-2
0
0
0
0
0
0
0
0
21
-1
0
0
0
-21
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-6
-19
-59
0
-20
12
44
-28
0
-8
28
14
1
0
9
-53
-4
0
0
3
-1
0
0
0
-14
-3
8
-5
0
-1
19
-13
-7
0
3
41
26
0
0
-45
-82
1
0
0
-4
-2
0
0
0
-1
-47
31
0
0
10
15
-28
0
0
33
-27
3
0
0
-6
-1
0
0
0
0
0
0
0
0
17
17
5
0
0
9
6
0
0
0
2
40
0
0
0
4
-2
0
0
0
0
0
0
0
0
27
2
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-11
-8
-3
0
11
-22
6
-1
0
7
-44
-11
0
0
12
1
0
0
0
0
0
0
0
0
0
35
22
0
0
11
-36
-1
0
0
-4
-18
-5
0
0
20
-2
0
0
0
0
0
0
0
0
12
26
21
0
0
15
12
-2
0
0
-20
-17
0
0
0
-16
0
0
0
0
0
0
0
0
0
-35
-8
0
0
0
-24
-12
0
0
0
-14
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
29
2
0
0
23
25
4
0
0
12
1
0
0
0
17
0
0
0
0
0
0
0
0
0
2
14
0
0
0
-2
-9
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-15
0
0
0
-2
-1
0
0
0
-12
1
0
0
0
-2
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
21
-1
0
0
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
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
19
6
2
0
2
8
58
4
0
7
-15
-2
0
0
-11
-65
1
0
0
-6
0
0
0
0
-29
-10
-15
-2
0
-4
50
7
0
0
-4
45
13
0
0
43
-13
0
0
0
-4
0
0
0
0
-5
-66
-29
0
0
45
-65
-12
0
0
7
17
0
0
0
-15
0
0
0
0
0
0
0
0
0
-57
-36
2
0
0
-4
-25
0
0
0
-1
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
-19
-28
-78
-5
0
33
18
-8
0
0
0
-37
26
0
0
-2
-48
0
0
0
-3
0
0
0
0
17
-35
-60
0
0
-22
30
-63
0
0
8
-6
0
0
0
-8
-12
0
0
0
-4
0
0
0
0
-39
27
-14
0
0
-63
15
-4
0
0
-5
-8
0
0
0
1
0
0
0
0
0
0
0
0
0
-14
-20
0
0
0
-21
-17
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-3
-28
0
0
15
-15
-9
0
0
16
13
0
0
0
12
0
0
0
0
0
0
0
0
0
27
-52
-12
0
0
22
-51
-3
0
0
-16
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
27
3
2
0
0
-36
-12
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-6
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
-7
0
0
0
-16
-4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
0
0
-21
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
24
11
0
0
0
-46
-4
0
0
0
-2
0
0
0
0
0
0
0
0
0
54
21
1
0
0
-7
17
0
0
0
5
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
-3
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
28
0
0
0
52
14
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
4
0
0
0
28
6
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
0
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
51
-9
0
-26
-12
-8
0
0
39
-20
-24
0
0
73
-32
0
0
0
0
0
0
0
0
-35
-24
73
0
0
56
18
57
0
0
-31
-32
-2
0
0
71
-1
0
0
0
0
0
0
0
0
21
-28
-55
0
0
-8
-6
0
0
0
-53
-22
0
0
0
3
0
0
0
0
0
0
0
0
0
-4
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
15
29
0
0
-23
-14
-39
0
0
58
-12
0
0
0
27
-1
0
0
0
0
0
0
0
0
16
-21
22
0
0
40
7
-11
0
0
-1
-5
0
0
0
29
0
0
0
0
0
0
0
0
0
30
38
-1
0
0
36
41
0
0
0
-25
-14
0
0
0
1
0
0
0
0
0
0
0
0
0
-24
-5
0
0
0
-31
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
7
0
0
-2
-19
0
0
0
40
-9
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
-15
0
0
0
-51
-13
0
0
0
-16
0
0
0
0
1
0
0
0
0
0
0
0
0
0
55
-5
0
0
0
3
-7
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
1
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
-3
18
2
0
0
-54
-38
0
0
0
0
-3
0
0
0
0
0
0
0
0
26
1
3
0
0
-27
23
2
0
0
-23
-1
0
0
0
13
0
0
0
0
0
0
0
0
0
4
-19
0
0
0
-28
-2
0
0
0
-15
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
10
0
-4
0
0
-5
2
0
0
0
8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-26
0
0
0
-2
8
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
15
22
0
0
0
-1
14
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
26
0
0
0
-19
6
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-17
0
0
0
-5
0
0
0
0
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
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
-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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
-32
4
18
-6
10
12
1
-20
53
-26
9
0
30
-3
-15
-2
0
8
-3
0
0
0
24
12
-8
28
0
-3
16
14
29
0
-15
18
5
7
0
1
-10
-14
-1
0
-4
-2
0
0
0
-25
-60
-33
-41
0
0
-2
-41
-22
0
-33
-16
-10
0
0
-17
4
-4
0
0
0
0
0
0
0
-41
-12
19
-4
0
-4
-35
9
-1
0
-7
-5
1
0
0
18
4
0
0
0
0
0
0
0
0
-20
-32
0
0
0
16
-7
0
0
0
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
30
7
-8
-46
1
11
-2
8
-3
0
23
3
-6
3
0
38
24
-1
0
0
17
-3
0
0
0
-32
17
1
-9
0
-17
39
35
2
0
-19
12
11
0
0
-23
-14
-4
0
0
8
-2
0
0
0
0
-19
13
-14
0
0
25
-8
0
0
16
-13
1
0
0
-21
-8
-1
0
0
3
0
0
0
0
-6
16
18
-3
0
11
-33
3
0
0
14
11
0
0
0
4
-1
0
0
0
0
0
0
0
0
1
-11
0
0
0
21
2
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-43
11
-1
0
6
-5
35
11
0
-15
-38
6
0
0
-45
-7
-2
0
0
3
0
0
0
0
15
11
6
7
0
-25
7
1
4
0
-8
-40
-15
0
0
-34
-25
-1
0
0
0
0
0
0
0
-2
68
16
0
0
-14
25
-4
0
0
19
3
3
0
0
-21
0
0
0
0
0
0
0
0
0
-46
28
3
0
0
-32
-9
1
0
0
17
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
-7
1
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-22
23
0
0
-50
-4
21
0
0
17
-26
-7
0
0
34
-4
0
0
0
0
0
0
0
0
3
-27
3
0
0
-33
-8
3
0
0
10
-34
-4
0
0
5
-4
0
0
0
0
0
0
0
0
8
-5
-1
0
0
-4
-7
-2
0
0
19
-10
0
0
0
-2
0
0
0
0
0
0
0
0
0
5
8
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
-21
4
0
0
0
-14
2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-3
0
0
0
-19
2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
0
0
0
-23
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
-16
-29
0
-21
-21
30
8
0
-20
1
22
3
0
11
-24
10
0
0
-3
-1
0
0
0
50
-23
-8
-4
0
-5
-42
8
7
0
-28
4
37
2
0
6
-16
0
0
0
-2
-1
0
0
0
-5
-12
13
-1
0
9
-5
12
0
0
-19
-8
0
0
0
-10
2
0
0
0
-1
0
0
0
0
19
43
11
0
0
19
27
3
0
0
-6
-3
0
0
0
3
0
0
0
0
0
0
0
0
0
16
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
60
-27
-4
0
18
-14
-12
11
0
2
0
5
0
0
13
-18
-2
0
0
-2
0
0
0
0
-34
1
-12
-3
0
13
-5
-2
0
0
5
10
5
0
0
13
-5
-2
0
0
-2
0
0
0
0
-44
11
15
0
0
-5
4
0
0
0
17
3
0
0
0
13
0
0
0
0
0
0
0
0
0
48
43
2
0
0
29
9
0
0
0
2
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
28
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-31
-6
-1
0
-18
-6
8
0
0
-13
-21
0
0
0
17
-2
0
0
0
0
0
0
0
0
10
-46
5
0
0
30
-18
0
0
0
19
-33
-6
0
0
4
0
0
0
0
0
0
0
0
0
-45
0
-2
0
0
-25
-7
3
0
0
42
-5
0
0
0
5
0
0
0
0
0
0
0
0
0
18
25
0
0
0
9
2
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
-34
-17
2
0
0
-21
2
2
0
0
-21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-19
-1
0
0
-12
-2
-1
0
0
-5
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
0
0
0
-10
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
-3
2
0
0
0
-13
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
-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
68
-4
10
0
0
30
10
7
0
0
40
1
0
0
0
4
1
0
0
0
0
0
0
0
0
8
-5
8
0
0
-14
35
1
0
0
20
5
1
0
0
0
0
0
0
0
0
0
0
0
0
7
-7
0
0
0
-9
11
0
0
0
34
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
6
0
0
-4
-14
1
0
0
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-3
2
0
0
-26
4
0
0
0
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
0
0
-24
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
9
-6
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
2
0
0
0
-21
3
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
2
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-5
-3
-11
1
-2
-9
19
-4
0
29
23
-29
-3
0
6
-3
-6
0
0
-8
-3
0
0
0
-2
10
-30
-2
0
-10
6
-29
3
0
-34
-19
-20
-2
0
11
4
3
0
0
-2
-1
0
0
0
6
2
-11
-1
0
33
10
-1
0
0
38
-5
2
0
0
-6
-1
-1
0
0
0
0
0
0
0
1
-19
10
0
0
-25
-20
7
0
0
-11
-7
0
0
0
5
-2
0
0
0
0
0
0
0
0
13
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-13
-35
-25
0
-12
-16
-11
-11
0
32
4
-21
0
0
15
-31
-2
0
0
-1
-2
0
0
0
-16
41
5
-15
0
-10
29
-14
-4
0
-5
-1
-12
0
0
-1
-32
2
0
0
-3
-2
0
0
0
10
2
19
0
0
12
12
12
0
0
18
-10
0
0
0
9
-5
0
0
0
0
0
0
0
0
36
18
1
0
0
-14
1
2
0
0
6
6
0
0
0
3
0
0
0
0
0
0
0
0
0
33
3
0
0
0
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
23
27
0
0
9
16
28
0
0
21
9
15
0
0
29
5
0
0
0
0
0
0
0
0
39
-3
-20
0
0
-23
-8
-21
0
0
-1
-14
-1
0
0
19
-2
0
0
0
0
0
0
0
0
-17
2
3
0
0
0
-1
0
0
0
7
-18
0
0
0
0
-1
0
0
0
0
0
0
0
0
-60
-19
0
0
0
-36
-14
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
-35
7
4
0
0
-24
-16
1
0
0
-10
-10
0
0
0
9
0
0
0
0
0
0
0
0
0
20
21
0
0
0
4
12
0
0
0
-16
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-19
0
0
0
10
-11
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
1
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
19
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
-1
0
11
-6
21
0
0
-37
-6
14
0
0
5
-33
0
0
0
-7
0
0
0
0
-21
-29
-6
0
0
-15
-12
-6
0
0
-46
19
5
0
0
3
-15
0
0
0
-3
0
0
0
0
42
16
-13
0
0
28
25
-6
0
0
45
28
0
0
0
1
0
0
0
0
0
0
0
0
0
-21
-14
0
0
0
-13
-3
0
0
0
-8
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
-17
-22
-18
0
0
45
28
14
0
0
38
11
22
0
0
16
-22
0
0
0
-2
0
0
0
0
-3
5
-2
0
0
9
20
-5
0
0
-1
1
0
0
0
3
-9
0
0
0
-1
0
0
0
0
30
51
-6
0
0
5
33
-6
0
0
35
11
0
0
0
4
0
0
0
0
0
0
0
0
0
-8
-2
0
0
0
-20
-2
0
0
0
-6
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
5
-24
-10
0
0
-15
-39
-2
0
0
14
8
0
0
0
16
0
0
0
0
0
0
0
0
0
16
-39
-12
0
0
7
-32
-3
0
0
-12
-9
0
0
0
3
0
0
0
0
0
0
0
0
0
14
8
0
0
0
-23
-4
0
0
0
19
0
0
0
0
1
0
0
0
0
0
0
0
0
0
7
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
-10
-9
0
0
0
-20
-12
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
2
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-11
1
0
0
-5
-3
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
0
-19
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
38
-2
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
1
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
-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
-21
0
0
0
0
0
-1
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
-1
0
-28
1
-5
0
0
-13
-42
-1
0
0
3
-6
0
0
0
0
0
0
0
0
-70
-14
-8
0
0
-64
-6
-2
0
0
-37
-11
0
0
0
3
-1
0
0
0
0
0
0
0
0
42
-8
-11
0
0
-29
1
0
0
0
-30
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
5
-6
0
0
0
-14
-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
-11
24
-21
0
0
2
0
-1
0
0
15
-20
0
0
0
11
0
0
0
0
0
0
0
0
0
2
26
1
0
0
5
-8
-1
0
0
-27
-10
0
0
0
10
0
0
0
0
0
0
0
0
0
59
7
0
0
0
2
6
0
0
0
-15
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
6
-6
0
0
0
-15
-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
-26
30
-1
0
0
10
16
0
0
0
15
0
0
0
0
1
0
0
0
0
0
0
0
0
0
27
12
1
0
0
-8
5
0
0
0
-7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
24
-1
0
0
0
-17
-2
0
0
0
3
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
-4
0
0
0
0
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
2
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
-8
17
2
0
0
0
-10
0
0
0
-1
-1
0
0
0
0
0
0
0
0
11
-12
1
0
0
4
3
0
0
0
1
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
16
-8
0
0
0
-2
2
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
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-13
0
0
0
26
-4
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
4
0
0
0
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
3
8
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
15
-43
-3
-2
-4
-10
-1
-1
-11
-9
2
-63
-24
1
0
1
0
-17
-10
-44
-35
32
-37
-6
0
11
-15
-4
-22
-23
12
-16
-6
0
-21
-33
10
36
-5
-22
4
3
0
6
-27
-8
-8
28
0
-3
-2
0
0
0
4
-10
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
6
0
-8
0
0
0
0
0
-29
-9
-13
-12
-15
-1
0
0
0
-21
-4
-12
-30
6
2
0
0
0
-4
-61
29
-44
-18
-9
0
0
0
17
10
-25
-21
-6
11
0
0
0
0
0
-9
-30
9
1
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-10
75
-2
18
7
0
3
9
-5
-6
8
-43
-9
-40
-35
-4
37
-8
-7
-17
-34
-3
8
17
0
-51
5
-1
23
24
-29
-22
-24
-3
-63
-15
42
42
33
0
-3
3
0
0
-17
-1
26
4
-2
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
-13
3
-6
-58
3
0
0
0
0
-14
3
-26
-32
6
-2
0
0
0
0
-37
15
-36
10
-1
1
0
0
-20
-27
-7
20
-18
-3
0
0
0
-1
13
9
40
-8
-6
0
0
0
0
0
-8
2
-6
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
9
-17
10
1
-7
9
-15
1
25
13
-7
-1
-16
-16
-2
-7
-48
32
20
-19
11
11
5
8
-25
-7
7
51
25
-5
4
13
-2
-9
-1
-22
-3
29
-10
5
-6
-8
0
4
0
0
-3
35
-2
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
19
-24
36
2
1
0
0
0
-19
21
-23
30
-3
-3
-1
1
0
10
15
32
41
-13
12
-2
-1
0
1
-7
16
50
0
0
-1
0
0
0
2
15
7
4
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
-36
22
-20
5
-1
-1
-3
2
3
61
-1
-23
7
-4
1
-9
11
-4
30
-17
11
9
-3
13
6
4
-2
26
-5
21
-4
20
0
6
1
0
0
-7
11
16
9
2
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
13
3
19
0
0
0
0
0
22
1
37
27
-2
0
0
0
0
2
71
10
9
-1
0
0
0
0
1
6
1
13
-2
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
11
-8
12
0
0
0
0
0
-7
-16
2
8
1
0
0
0
0
10
72
-16
16
0
0
0
-1
0
0
4
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
58
13
0
0
0
0
0
0
40
7
-22
4
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
6
0
0
0
0
0
0
29
-13
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
-8
12
-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
-1
1
0
0
0
0
0
0
0
4
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
50
-17
-5
5
-16
-7
14
0
-11
-23
-27
-4
-38
-10
-4
21
3
15
4
1
-18
3
-38
-2
-29
-13
11
32
-17
4
-22
4
1
10
-13
2
16
3
12
-1
-2
0
-1
9
-26
-9
-3
-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
-38
8
-27
-9
2
0
0
0
0
22
7
-10
-16
0
0
0
0
0
-13
18
-38
-3
11
0
0
0
0
75
98
-33
-20
12
0
0
0
0
0
1
-28
39
-3
-2
0
0
0
0
0
-12
7
-4
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
14
-17
-2
-38
-11
-12
35
11
28
20
-19
5
-44
11
11
16
42
35
-3
19
-3
-23
-20
6
-31
-21
18
7
2
11
5
-7
1
-15
-16
-18
61
8
13
-21
-10
-1
10
0
0
-1
-10
26
9
3
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
-9
53
-25
-3
1
0
0
0
0
37
41
-5
-22
-8
0
0
0
0
75
-24
19
34
9
-3
0
1
0
-1
-51
59
-6
3
1
0
0
0
0
4
-2
12
3
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
15
21
21
-65
0
-10
-13
46
24
-2
34
-2
28
15
-30
47
5
-19
65
23
-18
4
18
0
-23
8
25
-2
68
1
4
-16
-2
10
0
-4
0
0
21
8
0
-3
1
-2
-2
0
0
2
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
20
58
-25
41
0
-1
0
0
0
59
40
10
-6
-4
1
0
0
0
-3
-3
-6
10
4
-1
0
0
0
0
6
11
15
-1
1
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
58
-17
-14
11
-11
-11
-10
-3
39
19
7
-9
-7
4
23
4
32
-19
-12
51
6
15
-1
-10
-15
-1
1
-33
51
8
0
1
-1
0
0
0
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
79
34
7
0
0
0
0
0
27
83
-27
2
0
0
0
1
0
-6
-30
6
-2
0
0
0
0
0
0
3
-1
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
24
-19
3
0
1
0
1
0
26
-19
56
11
0
0
0
-1
0
-4
-25
-2
3
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
33
15
0
0
0
0
0
0
15
-7
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-4
0
0
0
0
0
0
7
-3
4
0
0
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-7
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-6
-14
-12
-4
-6
-2
3
2
6
-8
-24
20
-7
13
-2
4
1
33
-18
-11
33
2
-10
15
6
0
-21
-62
43
64
12
0
0
0
0
0
28
-3
-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
-13
5
-16
-6
-1
0
0
0
0
-32
-8
-9
-1
6
1
0
0
0
-42
14
-26
16
-11
0
0
0
0
65
-25
-15
-45
0
0
0
0
0
-4
13
-3
-40
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
-4
-10
33
-29
10
9
0
-6
0
9
-5
22
41
42
5
-8
-6
1
17
31
30
-8
2
10
22
-7
-1
-22
45
20
26
-9
-6
-1
-1
0
2
-38
15
32
-8
-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
-3
12
4
-4
1
0
0
0
0
-14
25
-26
12
-7
1
0
0
0
25
41
27
-5
19
0
0
0
0
18
30
23
-1
-6
0
0
0
0
0
-9
24
-13
-10
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
26
45
-16
-3
4
3
4
0
-21
15
31
58
2
8
-8
10
2
26
3
46
-15
18
-8
-6
15
0
28
10
-8
6
22
-2
0
0
0
0
-2
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
14
45
32
0
0
1
0
0
50
26
-6
0
-2
0
0
0
0
8
3
46
38
4
0
0
0
0
1
3
18
9
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
36
15
56
10
0
0
-1
-2
0
19
27
72
6
0
0
4
-10
0
21
7
28
2
0
0
0
0
0
1
-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
49
57
1
1
0
0
0
0
0
60
68
27
4
-1
0
0
0
0
6
17
2
0
1
0
0
0
0
0
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-43
12
0
0
0
0
0
0
36
18
4
0
0
0
0
0
0
0
-9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
27
0
0
0
0
0
0
0
16
6
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
22
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-18
1
4
20
10
-2
5
4
31
21
2
-31
-6
-4
8
-8
-3
35
17
20
-1
-2
11
0
8
2
-8
32
-16
-7
0
2
0
0
0
3
-11
-4
18
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
12
6
3
0
0
0
0
0
0
-20
12
-29
30
0
0
0
0
0
-23
13
46
15
-1
0
0
0
0
25
51
49
-10
-1
0
0
0
0
0
1
29
2
0
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
19
26
24
8
-40
-6
2
3
43
24
35
6
-22
-22
32
15
-6
20
30
28
8
-18
18
8
-33
0
-19
53
81
4
-11
0
0
1
0
0
12
9
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
40
65
-68
11
-2
0
0
0
0
78
3
-7
1
-4
0
0
1
0
45
55
26
4
6
-1
0
0
0
1
12
4
-7
-1
-1
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
7
28
32
10
3
-1
-12
-7
69
44
8
3
-2
-3
-13
0
-2
14
106
27
-7
4
-1
0
20
-1
0
10
12
1
1
1
0
0
2
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
70
65
42
-1
0
0
0
0
0
43
73
0
-1
0
0
0
0
0
84
-43
55
8
0
0
0
0
0
0
2
2
1
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-7
2
1
1
-1
6
0
24
41
13
4
4
6
0
-3
1
13
38
-8
1
0
0
-2
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
21
29
28
0
0
0
0
0
0
35
35
7
0
0
0
0
0
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
-13
64
13
0
0
0
0
-1
0
-6
17
-2
-1
0
0
0
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
32
0
0
0
0
0
0
0
-1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-26
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
12
-24
2
0
0
-7
-8
0
41
-3
-3
-2
0
0
3
0
0
20
9
16
-1
0
0
0
0
0
-29
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
-3
0
0
0
0
0
-26
12
29
-24
-1
0
0
0
0
15
-29
18
0
0
0
0
0
0
4
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-3
25
2
0
-1
0
0
-4
58
-6
25
-16
0
-3
4
3
0
65
-8
58
9
0
-1
-1
0
0
19
-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
8
28
49
-3
0
0
0
0
0
96
-10
1
-6
0
0
0
0
0
20
8
36
11
-1
0
0
0
0
0
33
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
29
-7
1
0
-4
0
2
-2
89
-33
21
0
0
0
1
2
0
3
61
6
0
0
0
-1
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
65
20
27
0
0
0
0
0
0
32
11
-3
1
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-23
11
0
0
0
0
0
0
13
30
-6
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
124
-22
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
8
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
44
42
-16
0
0
0
-3
3
36
-27
28
-4
-1
0
-3
1
0
57
-12
-27
-1
0
0
0
1
0
12
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
5
13
-8
1
0
0
0
0
0
-15
54
41
1
0
0
0
0
0
49
17
8
4
-1
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
51
50
4
0
0
-2
-1
-7
30
-5
26
-11
-2
1
4
2
0
-7
4
-13
-2
0
0
0
1
0
1
-20
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
18
48
43
0
0
0
0
0
0
-26
117
22
-2
0
0
0
0
0
15
38
-19
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
27
9
40
2
0
0
-1
-6
1
46
31
-28
1
0
0
0
2
0
0
-3
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
75
8
0
0
0
0
0
0
38
-43
9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
25
2
0
0
0
0
-1
0
15
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
17
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
0
0
0
-21
19
-3
0
0
0
0
0
0
-2
17
-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
56
1
-24
0
0
0
0
0
0
5
42
-3
-1
0
0
0
0
0
3
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
16
2
0
0
0
0
2
0
-52
-36
0
0
0
0
0
0
0
-3
-43
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
42
32
-4
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
56
0
0
0
0
0
0
0
3
15
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
59
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
-25
-3
0
0
0
0
0
0
18
-42
1
0
0
0
0
0
0
3
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
91
1
0
0
0
0
0
0
-15
20
-1
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
49
1
0
0
0
0
0
0
42
-10
3
0
0
0
0
1
0
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
12
21
0
0
0
0
0
0
0
-7
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
40
32
0
0
0
0
0
0
0
9
-13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-18
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
52
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
39
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-8
-79
-12
-8
-8
0
-11
-1
18
4
-15
-19
-38
-62
-9
8
0
6
2
-15
-15
-74
-10
-73
-47
1
-10
-4
21
-36
-44
-50
-45
-102
-28
17
-15
18
21
1
-99
-13
33
-9
35
0
12
70
-3
-38
-1
-12
0
0
-18
-49
-7
8
48
-4
-3
0
0
0
0
1
4
-7
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
-63
-10
0
0
0
0
0
9
-2
-45
-9
-42
-4
-1
0
0
22
5
-15
-32
-17
-27
-9
0
0
45
43
2
-16
-28
7
-4
0
0
3
-1
8
11
-55
29
-3
2
0
-13
69
12
6
-22
14
-9
-2
0
0
0
37
22
-39
-15
-3
0
0
0
0
0
0
32
-11
4
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
18
-4
-45
-56
13
-4
0
6
0
15
0
-15
-40
-22
-36
-12
-83
-84
6
2
3
-9
-38
-22
20
-7
-36
17
15
7
9
-9
-14
-33
-37
-36
-18
11
-14
20
0
7
13
21
4
12
32
42
8
16
25
-81
0
3
-1
6
20
-22
-15
23
-6
2
0
0
0
0
20
-2
-8
-1
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
8
4
-61
-22
3
0
0
0
0
17
13
-20
-20
-91
-12
7
-1
-3
10
23
8
-19
-27
-27
-43
-18
4
12
24
10
6
-38
12
-13
17
2
57
29
-11
17
-14
-39
-8
4
0
4
7
29
-35
8
15
6
-1
0
0
0
36
52
-24
-11
9
1
0
0
0
-2
10
-12
33
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
28
14
-50
-26
-37
58
-34
0
-28
13
2
-7
-7
-29
11
6
-15
-81
7
5
0
-8
-5
-34
13
-43
-28
8
38
23
27
-13
-3
-16
-56
-49
-26
19
33
52
36
26
39
-26
11
-1
3
-42
-7
-18
-12
62
-9
1
0
0
3
44
2
-21
4
0
0
0
0
0
3
-1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-11
-32
2
-19
1
1
-1
-3
12
7
-12
8
-13
-9
-12
13
3
20
16
20
3
-13
-4
-4
-22
3
16
27
10
25
-1
-9
26
-4
0
3
78
24
1
11
14
30
0
0
2
-2
-5
44
10
24
0
0
0
0
0
-10
0
26
6
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
4
-15
-22
20
-38
-19
0
-3
12
12
-19
9
-34
-35
23
11
-28
7
22
-2
15
1
-8
5
-31
26
42
6
60
44
5
-9
23
9
0
57
25
8
-2
27
20
-12
-34
-1
0
11
9
-2
3
27
-6
3
0
0
0
0
3
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
32
23
-7
19
8
2
-2
-1
0
28
24
-11
3
-22
-67
9
-8
0
37
28
17
9
-23
35
-36
0
0
8
42
-4
52
-3
-16
-4
0
0
-3
42
35
-44
73
29
1
0
0
0
0
0
45
-25
-2
1
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
12
-9
81
-3
8
-3
-1
3
35
22
27
17
44
23
-13
-18
-5
-18
41
37
63
31
16
8
-46
0
-53
-21
-18
40
33
22
-21
6
0
-12
3
29
13
-12
9
2
1
0
0
0
3
0
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
14
11
30
17
1
0
-8
0
11
27
20
14
25
12
0
-2
0
-20
25
20
-2
1
37
0
0
0
40
45
15
-2
-82
-8
6
0
0
0
1
2
-12
-18
-3
1
0
0
0
0
-1
2
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
30
51
-4
0
0
0
0
0
-22
16
7
44
-1
0
0
0
0
-31
29
6
-6
19
0
-2
4
0
-3
18
44
15
15
-1
-7
0
0
0
-8
6
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
35
42
-9
-15
0
0
0
0
0
50
54
-21
0
33
0
0
0
0
-11
35
22
-19
-9
2
0
0
0
0
12
1
3
15
0
0
0
0
0
0
0
2
-4
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
59
-18
3
0
0
0
0
0
29
39
-18
-6
-4
1
0
0
0
-61
6
-9
2
16
0
0
0
0
0
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
12
43
-4
0
0
0
0
0
0
30
40
-10
-6
0
0
0
0
0
0
29
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
14
-18
1
0
0
0
0
0
8
16
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-11
-1
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
-9
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
5
2
12
6
-13
14
-25
-28
-1
-7
-52
-49
-3
-5
-54
-35
1
6
6
-14
-12
-23
-10
14
-79
-35
8
12
0
18
-41
-35
-77
-44
12
-28
22
-8
51
-12
-1
-50
29
3
-4
14
5
15
-17
-7
1
-4
0
0
-4
-18
20
1
18
6
0
0
0
0
0
-12
1
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-46
-83
-13
6
0
0
0
0
8
9
-23
-22
-34
0
0
0
0
-12
5
-13
-25
-6
15
1
0
0
34
26
-35
-18
-2
-36
0
-2
0
57
-30
-40
6
37
-7
3
0
0
6
6
-52
-1
-7
-8
4
0
0
0
0
0
15
18
-6
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
8
-7
-57
16
-94
-16
-84
32
13
11
1
-26
-21
-19
-30
-49
-46
18
7
14
-8
8
-8
3
15
-39
-64
1
35
-7
27
-1
22
-3
-42
-29
-25
3
17
23
-23
-50
43
17
1
-14
-15
3
24
57
11
3
30
-13
0
-3
63
-12
-18
2
10
-1
0
0
0
0
9
-10
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
-57
-35
12
0
0
0
0
2
34
-12
-40
38
-41
-8
-1
-1
-8
35
-12
-25
7
-33
-7
4
-1
14
40
23
0
-49
9
0
3
0
-17
132
-29
-23
-14
11
4
-1
0
0
1
-5
60
6
-2
-3
4
0
0
0
0
-17
4
-4
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
9
-35
-27
35
-23
-46
-28
4
11
2
-8
-7
-58
-47
-4
-21
-49
12
22
2
25
-17
-11
-12
-41
-32
8
28
32
4
0
-23
14
1
13
21
18
77
10
18
-50
-12
17
4
0
8
66
31
33
22
-41
-7
0
0
0
-1
-1
12
8
-1
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
32
-32
7
-21
-7
0
0
0
-2
19
-16
-19
7
19
-5
-1
0
31
20
11
18
-33
16
-14
0
0
72
27
11
1
-11
13
-13
0
0
-10
16
68
23
9
-17
-24
1
0
0
0
38
-14
20
-13
2
0
0
0
0
4
-16
37
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
42
28
-30
18
8
11
0
-17
-12
47
43
-9
-24
-24
71
8
-2
-17
8
35
22
37
24
45
12
-13
-1
3
18
17
89
37
-15
72
20
1
-28
73
24
-9
33
-2
29
2
9
0
-18
10
29
-17
-1
1
1
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
-2
-5
6
31
42
-9
0
-2
0
19
60
34
9
6
-9
-3
7
0
62
0
36
7
6
12
-13
2
1
59
34
68
-41
0
-1
8
7
0
0
-7
41
22
25
2
0
0
0
0
0
-2
-18
8
10
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
25
-3
10
3
7
12
17
-5
55
43
50
35
-14
-14
65
22
-2
5
46
19
25
5
32
46
25
1
-14
22
-10
67
27
23
37
-1
-1
-16
18
20
-26
42
18
0
-1
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
65
-18
53
-8
0
0
0
0
56
30
-15
36
2
4
-1
2
0
21
71
-4
33
-3
10
1
0
0
2
-11
25
6
6
6
-2
0
0
-2
0
-13
-8
6
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
34
13
0
0
-3
6
0
17
26
74
-21
-3
2
1
-6
0
-39
1
3
46
4
-4
-1
2
0
20
-41
24
35
7
0
2
0
0
0
1
10
0
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
59
-13
-19
0
0
0
0
0
-30
91
-4
53
-6
0
0
0
0
-7
54
-30
-10
2
0
0
0
0
0
0
-16
-2
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
0
0
0
0
0
0
0
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
-63
-2
0
0
0
0
0
23
24
0
-12
0
0
0
0
0
22
48
-40
-10
0
1
0
0
0
1
3
4
-2
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-41
-12
6
0
0
0
0
0
-11
-1
13
1
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
12
-1
0
0
0
0
0
0
0
-22
39
-2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
19
-14
-3
-3
-6
0
6
6
19
2
18
-40
-13
-2
7
6
-4
3
-6
14
-14
-58
61
2
0
2
-9
-18
14
53
25
-1
3
-10
49
-7
-10
21
-14
0
-1
-1
0
-7
-18
34
52
-19
-2
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-9
32
-28
-1
0
0
0
0
4
10
20
-21
25
4
-3
0
0
9
6
26
26
-40
-1
2
0
0
10
13
0
22
-40
2
1
0
0
27
-13
-23
9
8
2
0
0
0
0
21
-11
-34
-38
-3
0
0
0
0
0
1
2
7
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
19
-6
20
34
18
7
-16
-8
4
4
11
9
141
-7
-51
-11
17
-2
8
18
41
24
29
-38
-11
-4
9
36
22
5
32
-13
-46
-25
-1
-20
70
1
9
15
-34
4
-1
0
0
-37
22
36
10
-8
-3
0
0
0
1
2
-12
1
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
5
-20
-15
3
1
0
0
0
16
9
18
31
27
-7
0
2
-2
21
12
8
37
32
-11
0
1
0
-19
34
-1
15
22
22
1
1
0
38
-17
10
-1
-10
10
3
0
0
0
-10
-13
68
-34
18
-4
0
0
0
0
0
-3
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
12
-1
-7
39
-17
5
28
36
3
-6
6
-10
52
11
18
-9
18
0
9
4
9
50
32
27
-24
58
1
55
-19
-36
42
55
-39
45
-1
1
-5
44
-36
12
26
32
-15
1
0
0
0
17
0
-22
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
10
4
-12
66
-1
4
4
-19
0
21
14
-16
-5
-18
28
-6
-2
0
2
34
7
8
-19
12
8
0
0
16
20
41
47
-26
26
19
0
0
0
57
31
-23
-3
0
3
0
0
0
4
10
-2
48
-2
0
0
0
0
0
0
-3
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-6
25
16
0
12
-7
-10
-8
4
11
56
69
-17
-26
-2
-32
0
-12
-26
-29
64
20
52
19
23
4
18
7
-34
31
-32
1
-4
9
0
-1
21
-57
-11
8
-1
0
2
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-13
14
9
-1
2
1
6
0
68
27
-5
1
-34
-12
3
-1
0
10
7
-28
-3
75
33
0
0
0
99
-81
-32
34
22
15
-1
-4
0
0
-3
-15
49
4
1
0
0
0
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
33
13
-3
0
0
3
0
0
54
6
30
16
1
-3
0
1
0
33
37
-33
13
4
-1
0
-6
0
0
62
-9
2
-11
-1
0
0
0
0
-3
-2
9
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
17
-47
32
0
0
0
0
0
84
27
-22
18
2
-1
-1
0
0
17
53
24
0
-11
1
0
0
0
0
53
5
4
7
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
36
-46
0
0
0
0
0
0
32
36
15
0
0
0
0
0
0
28
13
-8
-7
2
3
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
9
-23
1
0
0
0
0
0
-12
49
-9
-2
-7
0
0
0
0
-9
34
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
27
-29
-1
0
0
0
0
0
0
21
26
-1
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
38
-9
0
0
0
0
0
0
0
2
-4
-3
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
12
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-25
-30
-27
16
-6
15
-1
5
8
-1
-6
0
40
-53
-15
28
-30
0
-23
7
7
72
-35
44
-27
10
-4
-23
-12
-17
0
22
28
27
4
3
-6
28
11
7
37
-15
-3
2
0
-15
11
11
-14
-3
0
-1
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
-73
-2
-1
0
0
0
0
14
5
4
3
-3
0
0
0
0
-5
37
-32
-18
-9
0
1
0
0
18
1
51
14
-50
0
0
-1
0
-1
-9
-12
3
22
22
0
0
0
3
0
0
32
-3
2
1
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
4
2
-43
-7
27
-9
10
7
4
19
17
-2
33
10
-19
11
-7
-3
4
21
-10
61
-39
-3
16
-73
-19
-21
-4
10
46
1
0
38
37
6
18
75
21
6
-1
-36
1
-1
0
0
3
-13
3
1
-4
9
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
-21
-2
22
44
-7
0
-1
0
0
-1
-5
12
15
-64
13
-7
15
0
12
23
11
9
-15
-14
-2
-3
0
60
5
12
7
-53
8
0
-1
0
12
-27
41
13
-5
-7
2
0
0
0
0
0
2
10
-1
-2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
-17
29
11
-15
-44
31
-15
17
-14
-7
27
38
19
20
11
38
1
30
-24
14
21
26
30
76
-4
-64
4
-5
27
32
33
28
41
6
-41
4
-16
40
12
15
0
-3
0
0
0
0
9
4
-2
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
1
4
-3
-1
-1
0
4
0
6
36
4
-39
10
7
2
3
0
33
-8
3
57
-5
15
-3
0
0
-3
26
-21
17
21
24
0
0
0
-3
0
-1
5
-15
4
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
6
-17
-44
36
37
-9
-9
46
4
21
29
-47
78
-15
-8
46
18
19
13
47
-10
20
5
48
-34
7
10
2
61
17
-5
-41
25
12
0
0
-2
-30
0
19
9
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
29
26
-2
-3
0
0
0
0
54
5
12
10
-10
-7
0
-1
0
12
-8
87
2
-25
2
4
0
0
6
-30
-9
22
30
0
0
0
0
0
0
11
0
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
65
-19
14
0
0
12
-4
3
17
54
38
-5
21
11
0
-4
-2
30
15
55
10
6
-2
2
1
0
-3
46
36
-22
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
42
46
-1
0
0
0
0
0
-24
70
18
27
1
-2
0
0
0
23
-21
46
27
2
-2
0
0
0
0
-3
-29
2
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
76
0
-6
-1
0
0
0
0
0
-12
58
-18
9
0
0
0
0
0
25
-21
14
-7
0
0
0
0
0
-2
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
20
-57
0
0
0
0
0
0
25
-23
28
2
0
0
0
0
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
19
23
0
0
0
0
0
0
0
14
-42
-1
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
22
-5
2
0
0
-15
-11
0
14
5
-31
-4
0
0
8
0
0
11
14
-5
-14
0
1
0
-1
0
-17
17
-14
-2
-2
-1
0
0
0
3
-16
4
-2
0
0
2
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-10
-2
0
0
0
0
0
25
34
-22
-68
-1
0
0
0
0
22
13
-28
47
-6
-1
0
0
0
16
22
9
-2
-1
0
0
0
0
0
6
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
10
26
0
-4
-3
2
-10
-5
-8
32
22
-4
-10
21
2
0
44
-26
3
1
4
-3
-2
-4
2
52
2
-51
-18
1
2
-2
0
0
7
40
2
15
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
18
4
-29
0
0
0
0
0
18
7
-22
16
-2
0
1
0
0
37
12
-21
24
-10
0
0
0
0
-5
31
17
-49
1
-1
0
0
0
0
1
16
47
-4
-1
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
34
7
-60
2
1
-16
-4
-2
-1
8
-30
22
-43
2
2
3
11
7
24
29
-17
-39
9
0
-10
3
3
3
25
21
24
-1
1
0
1
0
0
3
-2
-4
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
39
-27
2
0
0
0
0
0
1
-1
-4
43
-10
0
0
-1
0
6
38
-26
-28
0
0
0
0
0
3
74
-3
-9
-7
-11
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
4
6
0
0
9
0
0
18
-28
-22
32
0
-1
-2
0
0
-31
-14
31
-14
4
0
0
0
0
6
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
37
34
-41
0
1
0
0
0
0
34
24
-4
-10
1
0
0
0
0
34
17
28
4
2
0
0
0
0
-2
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
30
22
14
0
0
0
0
0
0
59
-10
-27
0
-2
0
0
0
0
-41
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
0
0
0
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
0
0
0
0
0
0
0
-9
23
-9
0
0
0
0
0
0
1
3
0
0
-2
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
4
-2
0
0
0
0
0
0
-47
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
-2
29
0
0
0
0
0
0
0
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
19
-21
0
-3
-3
-3
3
8
5
10
-21
-3
-11
-2
4
3
-47
-43
-30
19
-2
3
-1
7
0
-85
4
42
18
1
-1
0
0
0
-2
16
-3
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
-7
-17
-31
8
0
0
0
0
0
-8
9
8
-1
0
0
0
0
0
63
4
-35
32
-6
0
0
0
0
-25
58
15
-22
0
0
0
0
0
-3
-4
-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
-22
-14
63
-33
0
0
-2
-6
-3
-22
-4
-11
38
1
0
17
-2
-2
-24
-27
3
-22
-7
0
6
4
6
-59
11
-6
35
0
-1
0
0
0
1
6
0
-10
0
0
-8
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-39
30
3
0
0
0
0
0
-11
-3
-56
26
0
0
0
0
0
35
24
-94
20
0
0
0
0
0
38
28
-41
11
4
1
0
0
0
-2
0
-2
0
-3
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-13
12
17
2
0
3
-9
2
-8
-11
-28
34
-12
0
-2
2
-7
-59
44
24
65
2
1
0
2
1
30
-28
5
-10
-2
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
28
-18
-28
9
0
0
0
0
44
15
-21
7
-2
3
0
0
0
-5
53
20
-20
0
4
0
0
0
-7
1
-15
-1
1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
22
43
-8
0
0
-2
1
-1
14
-12
51
8
6
0
1
2
0
34
-27
-34
6
1
0
1
-3
0
16
6
3
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
33
-11
-3
2
0
0
0
0
14
6
-51
2
0
0
0
0
0
-20
-6
21
0
4
0
0
0
0
0
0
4
3
-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
-8
20
27
0
0
0
-1
0
0
-28
37
12
0
0
0
2
6
0
-32
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
75
-56
-3
0
0
0
0
0
0
76
-6
-10
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-38
2
1
0
0
0
0
0
21
38
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
25
-2
0
0
0
0
0
0
-21
38
-13
0
0
0
0
0
0
12
21
-4
-1
0
0
0
0
0
-10
-1
0
-8
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
17
-4
-4
0
0
0
0
0
-53
5
7
1
0
0
0
0
0
-57
51
15
0
0
0
0
0
0
-1
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
17
1
0
1
0
0
4
0
-52
6
26
4
0
0
0
0
0
9
2
13
0
0
0
0
0
0
-1
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-15
20
0
0
0
0
0
0
78
-21
-36
-4
0
0
0
0
0
-45
5
49
-2
0
0
0
0
0
0
4
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
32
-2
0
0
0
0
-1
0
-27
0
0
0
0
0
0
0
0
-12
4
0
2
1
0
0
0
0
3
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
-24
-9
0
0
0
0
0
0
27
7
-19
0
0
0
0
0
0
-13
24
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
38
2
0
0
0
0
0
0
10
15
1
0
0
0
0
0
0
-1
21
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
76
1
-3
-3
0
0
0
0
0
14
-41
10
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
7
10
0
0
0
0
0
0
0
7
1
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
3
0
0
0
0
0
-19
6
13
0
0
0
0
0
0
56
-47
-3
-1
0
0
0
0
0
-1
-4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
21
3
0
0
0
0
0
0
15
21
-6
0
0
0
0
0
0
11
-33
29
6
0
0
0
0
0
-1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
-4
2
6
0
0
0
-1
-32
-27
55
0
-1
0
1
0
0
27
-24
-25
3
0
0
0
0
0
-4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
0
3
0
0
0
0
0
-13
-18
1
1
0
0
0
0
0
2
-25
6
-4
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
23
-7
-1
1
0
0
0
7
0
0
38
-24
0
1
0
0
0
0
-64
4
29
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
13
-16
0
0
0
0
0
0
0
-10
-45
10
-2
0
0
0
0
0
0
-4
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
6
0
0
0
0
0
0
0
10
-63
2
0
0
0
0
0
0
-1
-2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
43
0
0
0
0
0
0
0
3
6
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
69
0
0
0
0
0
0
0
-2
11
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
18
24
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-13
0
0
0
0
0
0
0
-3
-56
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
-2
9
0
0
0
0
0
0
0
1
11
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
1
0
0
0
0
0
0
-6
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-11
1
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
13
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
1
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-16
0
0
0
0
0
0
0
15
-5
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-91
-11
-6
-7
0
-11
-1
10
-52
-71
-15
-52
-66
-11
12
0
3
10
-23
-5
-71
-7
-69
-60
1
-2
36
-4
-29
-66
-45
-44
-95
-35
29
-2
-7
24
-8
-107
-10
35
-4
35
4
31
52
-32
-39
9
-12
0
0
-15
-57
16
-7
52
-5
-3
0
0
0
0
18
1
-6
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
22
-40
-98
-16
0
0
0
0
0
12
-47
-52
6
-50
-3
-1
0
0
-12
-8
-31
-25
-4
-24
-4
0
0
16
14
-3
-21
0
9
-7
0
0
-17
11
18
-11
-55
35
-6
2
0
-14
73
5
34
-19
12
-11
-2
0
0
0
44
17
4
-16
-2
0
0
0
0
0
0
26
-7
4
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
-14
-16
-54
-53
20
-15
7
-12
-3
2
-30
-25
-27
-26
-30
-7
-86
-72
23
1
6
38
-73
-25
5
-15
-40
22
15
-7
16
-6
-2
-36
-49
-18
27
27
-12
6
-4
14
8
23
0
18
44
49
15
23
26
-86
-1
3
-1
5
27
-26
5
43
-5
2
0
0
0
0
25
-1
-13
-1
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-52
-18
-2
0
0
0
0
-1
24
-18
-17
-96
-13
12
-1
-3
28
16
20
-8
-54
-27
-55
-18
4
26
24
16
19
1
24
-16
18
2
37
22
18
-13
-2
-20
-7
5
0
5
12
52
-14
6
9
7
-2
0
0
0
42
47
-18
-1
10
1
0
0
0
-2
13
-13
32
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
15
1
-44
-27
60
-28
12
-27
19
17
14
20
-37
27
18
-17
-72
12
30
7
1
-4
-12
3
-39
-28
28
40
21
5
-13
2
-1
-52
-37
8
13
26
39
42
53
43
-12
9
4
12
-32
6
0
-6
57
-9
1
0
0
4
38
-34
-27
6
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
29
16
-38
-16
-30
1
1
-1
-3
39
19
-5
4
-12
0
-8
13
3
22
32
20
18
-23
-6
17
-27
3
34
33
34
17
-19
-22
51
-8
0
-3
81
9
27
23
5
28
-1
0
2
0
-12
14
4
25
-2
0
0
0
0
-13
-1
17
9
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
21
-11
-7
36
-50
-17
1
5
7
21
6
16
-16
-38
0
-17
-14
20
38
27
18
11
-9
6
-23
4
19
48
34
45
5
-9
39
4
2
38
34
16
1
34
17
-2
-37
-1
0
13
17
0
14
22
-6
3
0
0
0
0
-2
37
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
66
-11
6
17
2
-2
-1
0
1
47
24
9
-4
-61
16
-8
0
25
52
25
-6
8
47
-35
0
0
11
23
1
39
31
1
-9
0
0
-4
36
12
-51
62
8
2
0
0
0
0
4
56
-34
-8
1
0
0
0
0
0
4
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
14
-11
76
0
8
-3
-1
3
15
28
24
50
37
19
-13
-13
-7
-5
40
41
44
37
8
24
-44
0
-29
-28
-3
60
34
22
-23
6
0
-11
12
33
3
-12
11
2
1
0
0
0
3
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
21
8
-2
13
16
1
0
-8
0
13
39
8
10
36
15
0
-2
0
15
-6
22
9
10
30
0
0
0
40
53
-11
12
-84
-8
6
0
0
0
1
0
-10
-22
4
1
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
-12
54
69
-4
0
0
0
0
0
-18
26
21
58
0
0
0
0
0
13
11
14
20
19
-3
-2
4
0
-29
-12
40
10
18
-2
-7
0
0
0
-10
5
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
63
4
20
-17
0
0
0
0
0
51
38
-10
-11
36
0
0
0
0
-23
40
40
-28
-12
9
0
0
0
0
7
8
1
11
0
0
0
0
0
0
0
2
-5
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
72
-12
3
0
0
0
0
0
5
13
-24
4
-4
1
0
0
0
-84
10
-12
4
16
0
0
0
0
-1
20
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
42
-5
0
0
0
0
0
0
38
57
-9
-9
0
0
0
0
0
0
32
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
2
0
0
0
0
0
0
16
9
-24
1
0
0
0
0
0
1
15
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-1
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
-9
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
28
-32
-1
1
-16
13
-26
-25
-23
-4
-103
-54
-6
3
-19
-52
2
-3
-2
-12
3
-22
-14
6
-85
-45
16
13
1
9
-22
-43
-69
-48
3
-7
37
19
18
-7
-37
-51
26
0
1
5
1
26
3
3
0
-6
0
0
-7
-15
0
27
18
4
0
0
0
0
0
-6
4
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-43
-63
-7
6
0
0
0
0
13
-8
-30
-13
-28
0
0
0
0
1
-2
3
-69
-17
11
1
0
0
0
-11
-13
-27
5
-37
5
-2
0
79
-29
-25
-4
1
-5
4
0
0
6
8
-36
-2
4
-7
6
0
0
0
0
1
16
30
1
0
0
0
0
0
0
1
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
7
-60
25
-82
8
-72
61
26
-4
-7
-12
38
-31
-31
-34
-60
8
18
27
0
13
11
5
7
-32
-51
0
38
0
18
14
29
21
3
-30
-8
11
5
25
-3
-20
39
12
4
-16
24
12
12
52
3
-8
40
-13
0
-3
64
2
-16
-5
10
-1
0
0
0
0
8
-13
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
15
-19
-36
8
0
0
0
0
10
15
17
12
31
-52
-8
-1
-1
4
28
9
22
-8
-22
-3
4
-1
29
57
4
0
-25
28
-6
5
0
-25
94
-5
-19
-5
4
2
-1
0
0
1
-20
53
13
-6
-4
4
0
0
0
-1
-15
-11
-4
0
0
0
0
0
0
-1
15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
12
-1
-27
30
1
-59
-6
-4
8
16
-15
7
-33
-35
-8
-13
-56
16
30
12
25
-16
-13
11
-28
-35
4
52
24
22
10
14
-13
-11
37
23
12
72
47
16
-56
-24
21
3
0
21
60
19
42
19
-43
-7
0
0
0
1
-14
10
10
-1
1
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
42
0
-7
17
-12
-6
0
0
0
15
19
-7
-19
4
24
4
-1
0
57
49
8
25
-18
24
-17
-8
0
59
52
-7
-12
24
22
-23
-2
0
-8
32
59
5
-17
-11
-27
1
0
0
0
36
-23
2
-14
2
0
0
0
0
4
-16
43
9
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
6
17
23
6
-4
6
13
-11
-16
26
6
-4
-6
82
32
-2
-23
25
38
13
19
-6
42
0
19
-11
-7
40
47
63
25
-16
25
3
0
-40
48
4
-15
15
1
37
6
9
0
-21
4
44
-19
2
1
1
0
0
0
0
-5
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
31
-53
7
39
-9
0
-2
0
26
22
22
39
20
-7
-3
7
0
68
-3
9
-1
30
23
-17
3
1
60
26
35
-48
-4
3
12
7
0
0
-4
43
26
6
-4
0
0
0
0
0
-2
-27
22
9
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
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
8
12
2
9
16
-5
-4
9
48
29
55
-14
-2
74
-4
0
-32
43
35
31
7
36
44
23
-1
-33
0
-4
69
27
24
40
-1
-1
-19
23
25
-34
44
23
0
-1
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
45
37
-33
51
-8
0
0
0
0
5
9
9
22
7
3
-1
2
0
17
76
-7
21
1
11
1
0
0
2
-17
12
29
6
3
-2
0
0
-2
0
-23
-10
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
21
25
31
13
0
0
-3
5
0
39
42
50
-23
-2
0
3
-4
0
-32
35
-2
23
13
-6
-1
2
0
15
-45
18
30
3
0
2
0
0
0
1
11
-4
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
52
2
-23
0
0
0
0
0
-18
62
-6
53
-7
0
0
0
0
-6
81
-32
-8
2
0
0
0
0
0
1
-18
0
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
42
59
-57
-2
0
0
0
0
0
16
11
-16
-11
0
0
0
0
0
20
50
-43
-18
0
1
0
0
0
1
8
4
-1
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-44
-13
6
0
0
0
0
0
-10
-3
13
-1
0
0
0
0
0
-4
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-29
0
0
0
0
0
0
0
-10
34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
29
-15
-3
-3
-6
2
6
-9
-17
6
28
-36
-8
-8
9
6
9
26
-28
3
-16
-53
50
3
0
-33
31
-6
-10
60
23
-1
4
-10
44
-13
-11
7
-16
0
-1
-1
0
-7
-18
34
52
-20
-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
-15
-21
41
-18
-1
0
0
0
0
-19
20
30
-33
20
4
-3
0
0
28
5
-9
22
-46
0
2
0
0
35
33
-32
17
-56
5
1
0
0
37
-23
-39
29
2
3
0
0
0
0
21
-15
-11
-41
-4
0
0
0
0
0
1
2
11
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
15
-7
-11
17
18
2
-17
-3
-26
33
7
8
111
-15
-51
-18
12
16
15
4
33
52
0
-45
3
-4
30
32
10
-10
35
-19
-37
-18
-1
2
59
9
7
1
-22
4
-1
0
0
-33
8
34
15
-10
-4
0
0
0
1
2
-13
1
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-2
-22
1
6
1
0
0
0
3
17
10
21
46
-7
0
2
-2
14
38
-1
31
54
-12
0
1
0
0
39
11
17
19
6
1
1
0
45
-1
9
1
0
10
3
0
0
0
-10
-15
91
-34
13
-4
0
0
0
0
0
-4
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
-20
6
25
52
-18
6
28
33
2
32
16
20
4
14
11
-8
16
-10
17
6
9
51
25
34
-14
54
4
21
1
12
31
43
-37
47
1
1
-16
47
-57
23
31
35
-14
1
0
0
0
17
9
-23
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
29
12
-2
57
0
4
4
-19
0
36
25
-18
7
-35
24
-6
-2
0
27
28
38
-6
-35
15
8
0
0
15
17
18
27
-17
46
24
0
0
0
53
17
-17
-20
4
2
0
0
0
4
12
-8
44
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
15
9
-4
0
15
-8
-10
-8
10
28
18
49
-22
-33
-9
-29
0
9
-4
-65
51
36
54
9
32
4
21
31
-36
27
-30
4
-4
10
0
-1
19
-69
-11
21
-1
0
2
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
15
33
7
0
2
1
6
0
23
34
15
1
-24
-13
3
-1
0
-16
21
-34
-19
60
35
0
0
0
109
-71
-23
17
13
16
-1
-4
0
0
-3
-22
61
12
0
0
0
0
0
0
-4
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
14
33
0
0
0
3
0
0
-13
10
37
28
1
-3
0
1
0
10
24
-12
25
6
-1
0
-6
0
-4
43
-3
1
-11
0
0
0
0
0
-3
-2
14
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
19
-63
29
0
0
0
0
0
9
50
-18
27
2
-1
-1
0
0
1
52
25
4
-16
1
0
0
0
-2
52
10
5
4
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
59
48
-46
0
0
0
0
0
0
-1
66
18
1
0
0
0
0
0
24
3
-14
-5
2
3
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
15
-27
1
0
0
0
0
0
-5
26
-18
-3
-7
0
0
0
0
-14
28
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
22
-26
-1
0
0
0
0
0
0
27
13
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
0
0
0
0
38
-14
0
0
0
0
0
0
0
2
-2
-3
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
12
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
-17
-64
28
-2
13
0
2
8
4
-10
-11
49
-71
-33
26
-34
7
-5
-7
-12
53
-34
65
-33
2
1
-45
0
-1
21
25
21
27
1
3
-20
56
-8
15
41
-14
-3
2
0
-15
14
14
-14
-6
0
-1
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
12
-74
-3
-1
0
0
0
0
15
31
4
-14
-3
0
0
0
0
50
-9
-1
-27
5
0
1
0
0
-22
38
33
46
-48
3
0
-1
0
8
-18
-22
6
38
25
0
0
0
3
0
-1
23
-6
3
1
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
30
46
-61
-6
9
3
3
-2
9
18
12
24
30
9
-33
20
6
-34
6
22
0
72
-19
-5
17
-70
-18
7
18
-22
43
12
5
28
24
3
18
32
13
16
1
-38
2
-2
0
0
0
-26
-1
3
-6
9
0
0
0
0
0
7
-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
-14
40
39
-7
0
-1
0
0
-2
45
-8
-11
-71
15
-7
15
0
-7
32
0
37
-16
-19
-2
-3
0
42
20
42
-8
-37
-5
0
-1
0
11
-20
49
22
-19
3
2
0
0
0
0
0
-1
19
-6
-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
32
-18
7
34
2
0
-43
49
-28
12
28
34
11
34
0
-24
8
30
6
15
-23
41
5
38
23
67
2
-54
2
13
5
18
31
31
43
6
-32
0
-41
49
10
21
0
-3
0
0
0
-1
6
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
17
7
23
8
-2
-1
0
4
0
13
46
-27
-53
3
16
2
3
0
6
31
13
29
10
17
-3
0
0
1
44
7
0
14
23
0
0
0
-3
5
7
0
-23
11
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
-17
-7
-52
40
47
-5
-13
38
-2
-19
30
-8
66
-32
-13
48
49
17
34
49
-14
26
-14
46
-36
5
10
-9
30
26
-17
-45
26
14
0
0
-2
-30
2
18
13
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
50
40
6
-20
-3
0
0
0
0
56
46
-19
-10
-8
-7
0
-1
0
35
-9
50
-2
-29
3
4
0
0
5
-44
6
24
39
0
0
0
0
0
0
10
2
9
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
13
9
15
0
0
12
-4
3
19
40
31
9
26
11
0
-4
-2
10
10
55
0
7
-1
2
1
0
-2
50
24
-25
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
33
15
33
0
0
0
0
0
0
-16
30
14
38
1
-2
0
0
0
15
-27
49
33
2
-2
0
0
0
0
-3
-30
2
4
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
42
-12
-1
0
0
0
0
0
8
35
-12
10
0
0
0
0
0
30
-49
18
-9
0
0
0
0
0
-3
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-16
-63
0
0
0
0
0
0
27
0
32
2
0
0
0
0
0
-1
37
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
40
0
0
0
0
0
0
0
21
-40
-1
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
5
-1
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
41
4
2
0
0
-15
-11
0
-30
-19
-32
-6
0
0
8
0
0
1
22
-8
-15
0
1
0
-1
0
-9
5
0
-3
-2
-1
0
0
0
2
-15
5
-2
0
0
2
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-13
-6
-2
0
0
0
0
0
6
46
-31
-71
-1
0
0
0
0
1
19
-44
52
-6
-1
0
0
0
9
15
22
2
-1
0
0
0
0
0
5
-1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-3
14
22
0
-4
-3
2
-10
-39
10
25
21
-4
-10
21
2
0
-5
0
-9
0
4
0
-2
-4
2
40
27
-63
-14
1
2
-2
0
0
-2
32
4
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
-28
0
0
0
0
0
30
16
3
24
-3
0
1
0
0
22
7
-20
20
-8
0
0
0
0
-14
37
9
-60
2
-1
0
0
0
0
1
14
48
-6
-1
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
16
1
-55
2
1
-16
-4
-2
-1
-13
-8
20
-45
2
0
3
11
7
14
19
0
-39
9
0
-12
3
3
-13
33
7
26
-1
1
0
1
0
0
5
-1
-1
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
18
-47
2
0
0
0
0
0
7
39
-7
37
-11
0
0
-1
0
32
24
-8
-33
0
0
0
0
0
5
78
-7
-7
-6
-11
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
9
6
0
0
9
0
0
-1
6
-22
32
0
-1
-2
0
0
-20
2
34
-21
4
0
0
0
0
11
10
19
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
12
-37
0
1
0
0
0
0
24
30
-4
-11
1
0
0
0
0
40
14
18
7
3
0
0
0
0
-2
0
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
9
38
12
0
0
0
0
0
0
49
9
-27
0
-2
0
0
0
0
-38
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
47
-13
-2
0
0
0
0
0
0
2
13
4
0
0
0
0
0
0
2
9
0
0
-2
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
3
-2
0
0
0
0
0
0
-32
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
-2
26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
-8
28
-16
0
-3
-3
-3
3
-23
-8
24
-18
-3
-8
-2
4
3
-43
-35
-18
19
-2
3
-1
7
0
-77
2
35
16
1
-1
0
0
0
-2
17
-3
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
5
13
-45
7
0
0
0
0
0
-14
48
1
-1
0
0
0
0
0
58
-32
-19
17
-6
0
0
0
0
-29
57
23
-18
0
0
0
0
0
-3
-4
-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
6
0
46
-38
-3
0
-3
-4
-3
-36
-32
22
41
4
0
15
0
-2
-55
-13
19
-8
-7
0
6
4
6
-58
34
18
32
0
-1
0
0
0
1
5
-3
-5
0
0
-8
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
5
8
3
0
0
0
0
0
10
-7
-39
30
0
0
0
0
0
43
28
-81
11
0
0
0
0
0
41
24
-52
16
6
1
0
0
0
-2
0
-1
0
-3
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
11
2
18
2
0
3
-15
6
-18
28
-18
43
-12
-1
-2
2
-7
-39
39
16
62
0
1
0
2
1
30
-28
20
-14
-2
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
76
-11
-27
9
0
0
0
0
44
26
-20
10
-2
3
0
0
0
-16
42
8
-29
1
4
0
0
0
-7
-3
-26
-8
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
-9
41
40
-7
0
0
-2
1
-1
34
-18
33
8
6
0
1
2
0
14
0
-37
1
1
0
1
-3
0
16
9
3
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
35
-15
-3
2
0
0
0
0
10
17
-43
2
0
0
0
0
0
-14
-1
20
0
4
0
0
0
0
0
0
4
3
-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
6
18
24
0
0
0
-1
0
0
-37
20
11
0
0
0
2
6
0
-33
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
81
-50
-3
0
0
0
0
0
0
100
-21
-13
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-26
2
1
0
0
0
0
0
25
38
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
6
-2
0
0
0
0
0
0
-33
17
-13
0
0
0
0
0
0
11
2
-4
-1
0
0
0
0
0
-10
1
0
-8
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
14
-4
-4
0
0
0
0
0
-70
34
1
1
0
0
0
0
0
-53
23
16
0
0
0
0
0
0
-1
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
13
0
0
1
0
0
4
0
-47
32
38
4
0
0
0
0
0
21
-6
17
0
0
0
0
0
0
-1
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-23
15
0
0
0
0
0
0
78
-7
-40
-4
0
0
0
0
0
-29
0
54
-2
0
0
0
0
0
0
4
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
7
-2
0
0
0
0
-1
0
-21
-20
2
0
0
0
0
0
0
-5
14
0
2
1
0
0
0
0
3
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-13
-9
0
0
0
0
0
0
35
17
-17
0
0
0
0
0
0
-13
25
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
3
9
2
0
0
0
0
0
0
12
13
1
0
0
0
0
0
0
-1
22
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
91
-10
-3
-3
0
0
0
0
0
9
-22
11
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
7
12
0
0
0
0
0
0
0
8
1
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
1
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
-1
3
0
0
0
0
0
-21
-5
9
0
0
0
0
0
0
55
-52
-3
-1
0
0
0
0
0
-2
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
3
0
0
0
0
0
0
8
13
-6
0
0
0
0
0
0
12
-42
29
6
0
0
0
0
0
-1
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-5
-3
2
6
0
0
0
-1
-75
23
53
0
-1
0
1
0
0
53
-38
-23
3
0
0
0
0
0
-5
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
0
3
0
0
0
0
0
-14
-19
3
1
0
0
0
0
0
3
-25
7
-4
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
26
-42
-1
1
0
0
0
7
0
-5
60
-20
0
1
0
0
0
0
-60
11
37
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
16
-8
0
0
0
0
0
0
0
-18
-37
10
-2
0
0
0
0
0
0
-3
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
14
-56
2
0
0
0
0
0
0
1
-2
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
32
0
0
0
0
0
0
0
3
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
1
16
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
59
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
28
0
0
0
0
0
0
0
16
24
0
0
0
0
0
0
0
0
-2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
0
-3
-55
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
-4
10
0
0
0
0
0
0
0
1
10
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
4
1
0
0
0
0
0
0
-6
-8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-11
1
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
-1
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
-44
7
-5
3
1
0
-1
1
0
34
-5
-18
-9
-2
0
-1
0
0
26
7
-42
28
-5
-30
-1
-1
-3
5
41
34
-10
-22
-7
0
0
0
0
-1
-25
-16
-2
19
1
0
0
0
0
0
7
3
-7
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-26
2
-4
0
0
0
0
0
-37
10
-10
-8
-8
0
-1
0
0
-3
-17
-12
52
4
1
-1
0
0
-14
72
25
5
-26
-1
0
1
0
-2
4
26
19
0
11
0
0
0
0
0
2
9
15
-5
-2
0
0
0
0
0
-1
30
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-7
0
0
0
0
0
0
0
-45
-59
-7
11
0
0
-1
-8
0
79
-44
13
32
-12
-19
-9
-3
-6
43
37
8
-3
-30
9
10
-5
3
72
-23
6
30
-10
-5
-20
7
-1
-3
19
-15
58
12
22
-11
0
0
-1
1
1
11
-6
-4
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
-8
-6
-3
1
0
0
0
0
0
-32
38
-1
-14
-37
-2
0
0
0
10
-21
5
36
-39
-6
0
-2
0
-38
31
39
2
2
-2
-14
0
1
10
4
5
19
33
-3
-11
1
0
1
-24
10
15
-17
32
-5
-1
0
0
0
11
23
1
4
0
0
0
0
0
-1
4
-22
37
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-36
7
21
-2
-1
0
0
0
0
36
-66
-39
4
13
4
10
10
0
40
-17
15
13
4
-3
-20
15
8
38
30
-12
30
22
6
16
16
0
-13
55
50
-31
-10
49
-4
9
1
-2
-11
36
-6
-10
1
12
-1
0
0
0
0
2
-6
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
19
-4
-50
3
2
0
0
0
0
-38
38
12
4
11
-3
-3
-1
0
-14
13
-29
69
23
-17
-1
0
1
13
-12
49
-33
-5
0
30
-2
0
0
-22
-5
23
32
-43
1
0
0
1
0
-3
-17
1
4
-5
0
0
0
0
1
14
33
3
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-44
-3
-4
7
-1
0
0
0
-54
4
27
8
0
-17
6
-6
0
-26
32
55
-9
4
-8
23
1
0
-37
4
-5
31
-4
18
24
-4
-1
-7
36
18
25
15
5
2
-1
0
0
4
1
-2
16
-11
-1
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
99
-54
0
1
-1
0
0
0
-27
19
-3
34
-37
-10
1
0
0
-2
51
-3
20
-7
6
0
1
0
55
52
-42
15
21
-6
-18
0
0
0
11
-17
-9
11
-3
0
0
0
0
0
4
8
-24
2
0
0
0
0
0
0
1
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-1
2
19
2
1
0
0
0
-37
11
-38
13
0
16
6
0
0
54
-2
-16
-4
10
-19
18
-1
0
9
63
-19
31
-6
2
-4
0
0
-5
7
6
12
4
1
1
0
0
0
0
2
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
14
-20
-3
2
0
0
0
0
-1
-8
55
-29
6
9
0
0
0
16
-11
-44
-16
4
21
0
0
0
37
9
-3
-5
-14
8
3
0
0
0
0
4
-13
-24
-2
1
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
4
43
6
4
0
0
0
0
0
0
-13
9
4
3
0
-1
0
0
7
12
-3
19
3
-2
0
0
0
-2
-30
14
20
2
0
0
0
0
0
-12
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-1
0
0
0
0
0
51
-24
7
-12
22
0
0
0
0
-17
18
16
-15
-8
0
0
0
0
0
-9
27
-4
19
1
0
0
0
0
0
0
1
-3
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-16
3
1
0
0
0
0
0
-50
8
-13
-4
-2
0
0
0
0
-41
-11
-4
-8
3
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
-27
21
0
0
0
0
0
0
0
19
12
-6
-2
1
0
0
0
0
1
29
-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
-6
-17
1
0
0
0
0
0
0
12
-10
2
0
0
0
0
0
0
5
13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
41
-9
0
0
0
0
1
0
32
-74
-1
13
-8
12
-1
-1
-4
-6
19
-9
-33
11
1
-20
-3
-1
-5
10
-35
21
20
9
10
0
2
0
20
-22
13
-19
23
0
-1
0
0
-1
2
8
8
7
3
0
0
0
0
0
-3
0
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-27
-17
-9
0
0
0
0
0
-6
-51
9
-18
-25
1
0
0
0
13
34
2
-2
-42
0
0
-1
0
39
14
-18
22
-15
9
0
0
0
2
0
-4
44
0
10
-1
0
0
0
0
0
20
10
-19
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-13
1
3
0
0
0
0
0
37
-47
-11
29
0
-11
-6
-29
-9
56
-7
-30
-11
8
-15
-16
-9
-2
66
-25
-10
-2
19
32
14
14
0
-28
48
0
30
0
9
9
-2
0
1
18
0
-40
-17
37
-3
2
0
0
-2
-8
17
-9
-15
2
0
0
0
0
1
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-6
1
-1
0
0
0
0
0
53
-11
-7
-8
-19
-3
-1
0
0
-12
24
34
0
-1
15
0
0
0
-1
-3
-44
5
5
12
5
0
0
20
16
67
-24
6
-17
7
0
0
1
0
-17
35
20
0
0
4
0
0
0
0
-10
-22
3
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
-4
19
16
-7
1
6
1
1
1
7
-2
4
33
-12
25
-8
2
-8
-57
40
15
-22
-5
-2
17
15
-6
31
-37
-14
36
-32
7
-8
-9
38
-41
9
50
69
26
-16
-5
4
3
-2
8
10
-41
-3
20
-3
0
0
0
0
-2
21
12
6
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
40
-44
10
-13
-3
0
0
0
0
4
-3
27
6
3
6
0
0
0
-13
30
1
-32
15
15
1
-1
0
17
16
-7
-26
3
-2
3
1
0
4
16
17
-10
-18
-1
-7
0
0
0
0
-8
-5
35
9
0
0
0
0
0
0
-5
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
0
0
0
0
0
0
5
-108
36
-16
1
0
1
1
0
-35
-18
83
2
5
15
-24
-11
-4
-3
14
10
-7
0
-7
3
3
15
12
5
-6
-12
24
-1
-6
-12
0
-8
54
-22
-6
20
-4
3
1
0
2
-16
26
45
-15
5
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
23
-30
-4
2
-3
0
0
0
-4
4
-4
49
0
-2
0
0
0
33
-55
-12
5
-19
7
0
2
0
17
-8
-28
-8
-14
18
1
0
0
0
-1
15
16
-7
-7
1
0
0
0
0
0
-7
19
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
-14
-22
25
0
-2
0
2
0
0
-47
18
-17
14
-3
-4
4
-2
0
38
-7
-12
-17
-2
10
8
4
-1
-28
-21
-36
63
3
13
2
0
0
-4
2
25
-6
5
12
-1
0
0
0
0
1
-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
-18
15
4
0
0
0
0
0
-36
37
27
5
10
0
1
0
0
-3
34
12
9
-4
6
0
0
0
2
-20
-12
5
8
2
-3
0
0
0
0
-29
-11
-7
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-36
8
10
0
0
0
0
0
-35
0
-16
0
-1
1
0
0
0
-7
53
-16
38
9
0
-1
0
0
8
-19
-5
47
0
0
0
0
0
0
2
10
-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
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
-6
-4
0
0
0
0
0
-1
-8
-25
7
-3
0
0
0
0
-16
18
-7
2
-3
0
0
0
0
0
2
-7
-1
12
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
13
-10
0
0
0
0
0
0
-15
-28
7
-2
0
0
0
0
0
10
42
-8
-20
0
1
0
0
0
2
-6
3
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
2
2
0
0
0
0
0
-8
-8
10
0
0
0
0
0
0
-3
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
3
-12
0
0
0
0
0
0
0
-33
9
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
-4
-1
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-13
0
0
0
0
0
0
0
36
-28
-2
2
0
0
0
0
0
9
-43
-4
-33
-1
0
-2
0
0
2
-38
3
-17
-6
0
1
0
0
-1
-1
4
0
0
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
1
-3
-7
0
0
0
0
0
18
-47
-42
1
0
0
0
0
0
36
-7
-19
21
-20
-3
0
0
0
1
0
-10
4
20
1
0
0
0
0
0
-4
0
-4
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
-7
-4
0
0
0
0
0
0
0
-9
-31
21
-7
1
2
0
3
0
-14
-55
-32
55
1
-1
-3
0
0
12
-6
25
22
-1
9
0
0
-1
-3
-8
-8
-18
2
2
1
0
0
-1
1
0
-15
-3
-1
-1
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-17
1
0
0
0
0
0
0
16
4
-24
-12
-4
0
0
0
0
-7
3
4
6
39
-3
-1
0
0
11
-19
-12
15
-2
-13
1
0
0
13
-3
1
-16
16
24
-1
0
0
0
0
-6
26
0
-10
-1
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
-12
-12
2
1
-1
0
0
-2
0
16
-19
-17
8
4
1
0
0
0
5
52
-48
12
-30
19
0
0
-2
22
60
5
-3
11
-7
4
0
0
10
35
-13
41
7
8
-1
0
0
0
-1
2
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
19
-9
-1
0
0
0
0
0
-11
36
-8
10
-13
2
0
-1
0
53
18
28
-44
-13
12
-3
0
0
1
-24
-21
-4
35
23
4
0
0
0
7
3
-4
8
4
1
0
0
0
0
1
4
9
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
22
-7
-11
-3
0
0
0
0
0
50
2
-30
-5
-1
0
-3
-2
0
8
-6
-41
-4
21
8
-1
1
0
8
37
-15
-8
-20
0
-1
1
0
0
25
9
-12
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
-22
78
-24
6
0
0
0
0
0
-10
15
13
-29
-7
-1
0
0
0
9
40
-23
-28
33
3
0
0
0
36
22
-17
12
7
8
0
0
0
0
-3
-21
8
1
2
0
0
0
0
0
-4
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-3
-21
-1
0
0
0
0
0
-67
-23
48
0
-1
-1
0
0
0
17
-11
20
16
1
-3
1
0
0
18
10
-3
3
-6
-1
0
0
0
0
-6
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
16
-1
-16
0
0
0
0
0
0
-19
49
19
9
3
-1
0
0
0
-27
40
7
4
-34
0
0
0
0
1
6
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
-4
0
0
0
0
0
0
23
22
4
-2
1
0
0
0
0
15
16
-8
-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
7
-9
-4
0
0
0
0
0
0
11
9
-23
2
-4
0
0
0
0
-1
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-20
0
0
0
0
0
0
0
3
-23
-1
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
1
-9
-3
0
0
0
0
0
0
1
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
16
22
-9
0
-1
0
0
0
0
-22
10
-52
-15
0
0
0
0
0
8
-33
-20
0
3
-1
0
2
0
-10
23
-13
1
3
0
0
0
0
-2
0
6
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
3
0
0
0
0
0
0
0
-1
-9
-17
3
0
0
0
0
0
46
-5
-21
-15
0
0
0
0
0
-49
18
-4
13
-8
-2
0
0
0
-1
-4
-18
2
-9
1
0
0
0
1
0
-1
-1
1
1
1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
24
-4
0
0
0
0
-1
0
-33
26
-1
7
-15
-1
-1
1
-1
4
-6
-14
13
-13
7
-2
-12
-3
7
-24
-20
8
29
3
11
-1
0
2
-21
-25
14
2
-3
0
0
0
0
-3
4
-18
1
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-2
-3
0
0
0
0
0
0
23
-43
2
-12
0
2
0
0
0
12
-62
5
-8
16
1
0
0
0
-27
16
48
-1
-2
-4
1
0
0
-2
15
37
21
-7
4
2
0
0
0
0
0
-1
11
1
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-6
1
-1
0
0
2
0
-31
17
24
-3
-3
-21
-3
-2
0
-4
14
-51
29
-10
17
4
7
-1
-26
7
43
13
1
-1
0
4
0
-19
5
-6
-5
1
2
0
-1
0
0
0
0
4
-2
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
8
6
0
0
0
0
0
0
-29
39
-4
7
-13
-3
0
0
0
-13
48
-16
1
-22
0
-1
0
0
14
-23
29
34
-8
-8
-1
0
0
-1
4
3
25
10
1
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
3
-3
0
0
0
0
-1
0
-17
-6
1
4
0
-1
1
0
2
31
48
-24
-3
-11
-1
-6
0
3
10
7
6
-13
-17
7
1
0
0
-4
-10
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
9
19
10
-1
-1
0
0
0
0
-32
36
-1
-19
1
0
0
0
0
18
-1
29
11
8
2
-1
0
0
1
-11
-12
14
-10
-1
0
0
0
0
0
7
0
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-48
-16
-2
0
0
0
0
0
-8
62
-13
8
2
0
0
0
0
56
-14
0
-18
2
0
0
0
0
33
47
8
-8
1
0
0
0
0
0
0
-1
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
-25
-2
0
0
0
0
0
6
18
-2
19
0
0
0
0
0
14
-17
50
-1
-6
-2
0
0
0
0
-2
-9
2
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
52
1
-1
0
0
0
0
0
-2
2
10
-2
0
0
0
0
0
38
-18
12
-2
0
0
0
0
0
-2
0
2
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-47
-25
0
0
0
0
0
0
-11
24
19
0
-1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
10
3
-1
3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-8
0
0
0
0
0
0
0
-13
-13
-2
0
0
0
0
0
0
-9
34
-8
-2
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
19
-1
0
0
0
0
0
0
-19
2
-1
1
0
0
0
0
0
8
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
0
-6
-7
0
0
0
0
0
0
0
-29
24
0
0
0
0
0
0
0
-75
66
-17
-2
0
-1
0
0
0
7
34
-18
-3
0
0
-1
0
0
3
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-11
-2
0
0
0
0
0
0
-7
-9
-7
2
-1
0
0
0
0
-13
22
-7
16
1
0
0
0
0
-19
-3
4
-16
-1
-1
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
0
0
0
0
0
0
0
-8
-18
2
0
0
0
0
0
0
-77
10
27
-2
0
-3
0
2
0
-9
-21
10
0
4
0
0
0
0
15
5
-6
0
-1
0
0
0
0
0
1
2
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-13
4
0
0
0
0
0
0
-20
5
-11
24
-1
0
0
0
0
11
-1
-29
-13
-1
0
0
0
0
13
20
-10
-6
-2
-1
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-16
-1
2
0
0
0
0
0
-27
53
0
-1
0
0
0
0
0
8
-16
15
-8
0
0
0
0
0
8
19
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
15
2
-6
0
0
0
0
0
0
27
-13
17
2
0
1
0
0
0
0
28
-8
7
1
0
0
0
0
-1
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-11
1
0
0
0
0
0
0
-7
-14
-6
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
18
-6
-1
0
0
0
0
0
0
-7
3
-10
0
0
0
0
0
0
2
2
0
0
-1
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
0
-19
0
-19
0
0
0
0
0
0
-26
-8
7
-3
0
0
0
0
0
-2
2
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-2
-2
0
0
0
0
0
0
4
-1
-8
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
-1
-3
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-2
0
0
0
0
0
0
0
-43
0
38
0
-1
0
0
0
-1
-61
12
5
10
1
0
1
0
0
17
32
-19
7
0
0
0
-1
0
1
1
-1
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
9
-1
0
0
0
0
0
0
-12
-11
-28
2
1
0
0
0
0
11
-1
-20
-11
0
0
0
0
0
1
1
-20
-1
3
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-18
8
0
0
0
0
0
0
25
30
-20
16
0
0
0
0
-1
-43
33
-10
0
-1
0
0
0
0
15
10
-2
3
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
2
-2
0
0
0
0
0
-18
7
-4
-1
-1
0
0
0
0
24
-5
-3
9
-1
1
0
0
0
0
2
-2
-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
-35
12
0
-1
0
0
0
0
0
-11
-16
3
3
4
0
0
0
0
25
23
-16
4
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-12
1
-2
0
0
0
0
0
9
-17
25
1
0
0
0
0
0
-9
-17
4
0
1
0
0
0
0
0
0
3
2
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
9
3
0
0
0
0
0
0
-39
34
2
0
0
0
0
0
0
-12
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
13
22
-3
0
0
0
0
0
0
13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
0
0
0
0
0
0
0
6
2
-1
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
56
-10
1
-1
0
0
0
0
0
1
9
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-24
-38
0
0
0
0
0
0
0
-12
-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
-10
-3
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
8
-1
2
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
9
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
-9
7
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
1
1
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-7
20
0
0
0
0
0
0
0
16
-10
-6
2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-19
25
-4
0
1
0
0
0
0
-6
13
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
-7
13
1
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
10
0
0
0
0
0
0
0
-13
-24
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
102
0
0
0
0
0
0
0
0
0
119
0
0
0
0
0
0
0
0
41
54
0
0
0
0
0
0
0
-46
-1
92
0
0
0
0
0
0
13
-40
5
110
0
0
0
0
0
5
21
-30
5
129
0
0
0
0
7
2
-1
-39
-7
40
0
0
0
-20
-58
-6
49
-116
-52
38
0
0
-36
-53
-40
-74
-63
27
-21
91
0
22
-1
-12
-83
-24
-89
-121
170
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
0
69
123
0
0
0
0
0
0
0
37
6
44
0
0
0
0
0
0
76
45
26
90
0
0
0
0
0
51
84
19
68
-17
0
0
0
0
15
80
26
50
43
22
0
0
0
57
0
-5
37
-7
19
-52
0
0
17
-26
-5
48
73
96
65
109
0
-16
-13
-45
1
22
33
14
132
-18
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
54
0
0
0
0
0
0
0
0
-35
20
0
0
0
0
0
0
0
-93
-63
32
0
0
0
0
0
0
-47
-107
-55
56
0
0
0
0
0
-45
-76
-57
-40
28
0
0
0
0
-33
-34
-101
-108
-92
61
0
0
0
-73
-40
-94
-23
-106
-122
46
0
0
3
-24
-67
-104
-74
-69
-135
98
0
7
11
-56
-31
-74
-89
-141
-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
20
0
0
0
0
0
0
0
0
-5
-1
0
0
0
0
0
0
0
-71
-24
-20
0
0
0
0
0
0
-35
-29
-16
26
0
0
0
0
0
12
-47
-38
18
5
0
0
0
0
47
-8
-52
8
-66
21
0
0
0
7
19
22
-23
56
20
-8
0
0
-5
8
-15
-14
-38
-6
-2
18
-5
0
0
0
0
0
0
0
0
0
58
57
0
0
0
0
0
0
0
0
18
27
-3
0
0
0
0
0
0
0
5
2
1
0
0
0
0
0
0
0
42
77
95
-66
-16
0
0
0
0
0
19
69
29
55
-82
13
0
0
0
0
-10
45
74
13
-53
-14
-75
0
0
0
-12
59
79
-8
-52
20
-31
-76
0
0
-43
-7
-20
69
-149
-115
-134
-125
-124
0
12
68
47
-37
-40
-67
-84
-80
-44
-25
0
0
0
0
0
0
0
0
0
0
0
99
0
0
0
0
0
0
0
0
0
-34
54
0
0
0
0
0
0
0
0
-3
-3
-5
0
0
0
0
0
0
0
-8
-36
-92
-26
0
0
0
0
0
0
-54
67
-20
-15
-55
0
0
0
0
0
-73
-42
-82
-6
-28
-53
0
0
0
0
-64
-40
-23
-8
-8
-61
41
0
0
0
-141
-136
-110
-99
-89
-35
-83
-36
0
0
-58
-84
-76
9
19
-44
-48
-63
-45
0
0
0
0
0
0
0
0
0
0
41
0
0
0
0
0
0
0
0
0
17
15
0
0
0
0
0
0
0
0
26
28
37
0
0
0
0
0
0
0
21
78
-32
12
0
0
0
0
0
0
21
25
-55
-24
-14
0
0
0
0
0
60
31
-3
-1
20
-32
0
0
0
0
56
31
-46
-4
19
-69
-25
0
0
0
15
40
89
-2
-38
-64
71
-2
0
0
40
24
-13
4
10
-24
28
20
-22
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
0
0
4
37
0
0
0
0
0
0
0
0
75
-54
-35
0
0
0
0
0
0
0
65
30
-68
5
0
0
0
0
0
0
-29
27
56
52
36
0
0
0
0
0
17
14
40
0
18
-2
0
0
0
0
110
15
40
-9
27
15
-1
0
0
0
35
11
-51
-53
14
9
22
3
0
0
31
-64
-91
20
-44
-12
-1
13
0
0
0
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
0
0
57
0
0
0
0
0
0
0
0
11
11
0
0
0
0
0
0
0
-34
-21
15
0
0
0
0
0
0
-8
-36
-21
32
0
0
0
0
0
-23
-20
-50
-47
24
0
0
0
0
-15
-25
-17
-36
-18
-15
0
0
0
-77
-129
-19
32
-91
42
-25
0
0
-21
-53
-49
-28
-84
4
-44
-21
0
7
20
-48
-34
-15
-62
-53
128
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
27
-5
0
0
0
0
0
0
0
60
28
51
0
0
0
0
0
0
45
23
9
-12
0
0
0
0
0
7
24
-2
-29
57
0
0
0
0
21
-32
72
75
40
3
0
0
0
-19
45
-12
-2
3
-12
-19
0
0
-21
-22
3
19
47
13
76
19
0
-22
-29
-3
1
12
19
27
43
3
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
-22
-17
0
0
0
0
0
0
0
-48
-49
-17
0
0
0
0
0
0
-48
-58
-32
-15
0
0
0
0
0
-71
-20
-76
-32
-18
0
0
0
0
-67
-57
-62
-55
-52
-9
0
0
0
-27
-31
-26
-42
-45
-42
1
0
0
-2
-65
-45
-43
-40
-76
-66
2
0
24
12
-31
-48
-44
-27
-63
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
21
-16
8
0
0
0
0
0
0
-9
-38
36
9
0
0
0
0
0
-6
-5
-6
-24
2
0
0
0
0
7
10
-1
14
39
2
0
0
0
5
-16
13
41
24
26
72
0
0
-3
-16
14
19
40
52
5
34
-89
0
0
0
0
0
0
0
0
0
-6
60
0
0
0
0
0
0
0
0
-23
27
63
0
0
0
0
0
0
0
-15
0
15
0
0
0
0
0
0
0
-15
28
25
-6
-19
0
0
0
0
0
1
0
37
44
-15
-67
0
0
0
0
-4
40
16
-10
-27
-105
-91
0
0
0
-3
25
26
-26
-41
-60
4
-23
0
0
-15
17
3
-12
-102
-63
-77
-72
-72
0
-11
32
16
-14
-98
-10
-40
-40
-67
-29
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
0
0
0
0
0
0
-6
-16
0
0
0
0
0
0
0
0
-45
16
-8
0
0
0
0
0
0
0
-65
-45
-29
-4
0
0
0
0
0
0
-41
-28
-55
-77
0
0
0
0
0
0
-19
-47
-45
-6
-4
-50
0
0
0
0
-29
-48
-15
13
5
3
30
0
0
0
-49
-49
-57
-39
-35
-34
-23
-91
0
0
-48
-30
-30
-23
-30
-22
15
-52
-29
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
-24
39
0
0
0
0
0
0
0
0
-25
10
-6
0
0
0
0
0
0
0
-33
6
-36
3
0
0
0
0
0
0
-20
-15
-25
-32
-28
0
0
0
0
0
-24
21
-17
12
-31
-23
0
0
0
0
-4
2
-64
-13
-1
-49
-19
0
0
0
-16
-32
-18
-13
-27
-4
-44
23
0
0
-10
-18
-26
-9
-5
-53
-35
-19
-27
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
25
-23
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
3
46
15
57
0
0
0
0
0
0
-6
26
17
35
36
0
0
0
0
0
13
14
8
60
18
18
0
0
0
0
-12
12
21
25
-44
57
-2
0
0
0
31
13
16
32
64
42
89
0
0
0
16
30
-17
33
18
-11
6
34
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
15
6
0
0
0
0
0
0
0
-23
-29
15
0
0
0
0
0
0
-3
-25
-4
-1
0
0
0
0
0
-13
8
-37
-25
-11
0
0
0
0
22
-17
-24
-42
-31
-1
0
0
0
-73
-88
-11
32
-76
47
4
0
0
-41
-46
-58
-70
-63
6
-59
-12
0
-7
44
-62
-16
8
-69
-56
73
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
-20
0
0
0
0
0
0
0
0
58
30
40
0
0
0
0
0
0
-5
24
74
-52
0
0
0
0
0
6
-2
-2
-45
34
0
0
0
0
24
-1
79
80
40
-25
0
0
0
-8
54
-20
-29
17
7
-31
0
0
-5
-22
3
32
25
-1
81
28
0
-19
-23
0
-16
-10
9
-9
-3
-3
0
0
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
0
-34
-28
0
0
0
0
0
0
0
-45
-34
-53
0
0
0
0
0
0
-36
-44
-26
-10
0
0
0
0
0
-17
-48
-75
-41
4
0
0
0
0
-64
-45
-7
-12
-52
10
0
0
0
-50
-43
-6
-38
-41
-39
1
0
0
-9
-32
-34
-50
-44
-61
-52
4
0
-16
21
-21
-49
-29
-23
-52
-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
-3
0
0
0
0
0
0
0
0
-23
9
0
0
0
0
0
0
0
73
-16
5
0
0
0
0
0
0
-5
-12
2
8
0
0
0
0
0
9
11
-17
4
30
0
0
0
0
3
14
45
43
21
-12
0
0
0
7
23
14
-22
5
-5
67
0
0
2
16
31
-11
16
-18
-18
21
-108
0
0
0
0
0
0
0
0
0
5
20
0
0
0
0
0
0
0
0
-17
36
59
0
0
0
0
0
0
0
-6
-8
23
0
0
0
0
0
0
0
-20
44
13
14
-35
0
0
0
0
0
16
23
3
22
-23
-48
0
0
0
0
8
27
5
11
-42
-128
-115
0
0
0
-2
35
25
4
-71
-10
-1
-3
0
0
-3
22
16
-6
-12
-13
-39
-136
-14
0
5
-17
9
-7
-51
-38
-6
-52
-71
-4
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
0
0
41
-25
0
0
0
0
0
0
0
0
-24
34
7
0
0
0
0
0
0
0
-18
-20
-13
66
0
0
0
0
0
0
-3
-12
-65
-107
9
0
0
0
0
0
-20
1
12
26
12
1
0
0
0
0
-25
-39
38
24
-34
26
25
0
0
0
-12
-56
-46
0
33
-35
-21
-108
0
0
-9
-10
-22
-37
-54
24
-4
-5
-8
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-25
25
0
0
0
0
0
0
0
0
-11
-26
-31
0
0
0
0
0
0
0
-14
6
-13
18
0
0
0
0
0
0
-38
-40
-21
-23
-19
0
0
0
0
0
-17
40
15
12
-25
-32
0
0
0
0
-34
-39
-55
-14
-1
-5
71
0
0
0
-30
-30
-43
-8
-20
5
-97
58
0
0
-12
-26
6
-7
-2
-39
-25
-16
-13
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
0
-24
10
73
0
0
0
0
0
0
0
-30
19
18
48
0
0
0
0
0
0
-16
-17
42
83
18
0
0
0
0
0
6
-5
11
63
8
15
0
0
0
0
-13
47
26
15
-41
45
-2
0
0
0
11
35
-11
59
61
35
75
0
0
0
-17
18
-17
25
40
-8
3
17
0
0
0
0
0
0
0
0
0
0
0
-62
0
0
0
0
0
0
0
0
0
-97
0
0
0
0
0
0
0
0
-27
-41
0
0
0
0
0
0
0
35
9
34
0
0
0
0
0
0
33
2
-7
-48
0
0
0
0
0
19
22
65
-17
52
0
0
0
0
8
17
31
-32
-42
32
0
0
0
-24
-1
2
0
-33
13
45
0
0
33
13
-18
-40
-4
-35
1
46
0
25
11
23
4
1
-1
-48
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-26
8
0
0
0
0
0
0
0
7
6
-1
0
0
0
0
0
0
-19
-8
6
0
0
0
0
0
0
1
-2
0
1
1
0
0
0
0
13
-3
0
4
-7
-1
0
0
0
34
8
13
-2
0
0
0
0
0
6
-28
54
23
-29
-34
-4
-11
0
-19
-21
41
9
-43
-39
-41
-6
-7
0
0
0
0
0
0
0
0
0
0
-50
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-15
-2
-36
0
0
0
0
0
0
15
7
-38
-57
0
0
0
0
0
-1
10
10
21
8
0
0
0
0
24
-19
7
0
-11
-40
0
0
0
-18
-41
-31
-80
22
9
12
0
0
-3
-3
38
-61
-13
0
-34
10
0
-84
-47
-7
31
11
-23
-60
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
3
0
6
0
0
0
0
0
0
4
3
1
2
0
0
0
0
0
-2
13
-1
16
0
0
0
0
0
-13
53
-10
20
0
17
0
0
0
-32
-15
10
-51
-1
-25
5
0
0
13
11
28
-14
48
-38
27
0
-75
0
0
0
0
0
0
0
0
0
-16
-32
0
0
0
0
0
0
0
0
11
-18
35
0
0
0
0
0
0
0
-4
-1
8
0
0
0
0
0
0
0
57
15
-4
1
-6
0
0
0
0
0
16
-1
48
6
-13
0
0
0
0
0
-5
20
10
-2
-7
-1
-2
0
0
0
-1
74
26
5
-12
-8
-6
6
0
0
25
-30
15
46
30
-11
6
-43
-21
0
17
-121
20
-20
2
-1
-9
-6
-13
0
0
0
0
0
0
0
0
0
0
0
0
-49
0
0
0
0
0
0
0
0
0
-51
-28
0
0
0
0
0
0
0
0
-18
35
-1
0
0
0
0
0
0
0
3
10
-29
9
0
0
0
0
0
0
4
14
-21
-20
0
0
0
0
0
0
6
6
21
33
21
2
0
0
0
0
23
6
43
-42
-21
-15
-1
0
0
0
37
-119
-5
51
43
0
-14
17
0
0
32
27
-5
-13
44
37
-26
-2
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
57
20
0
0
0
0
0
0
0
0
4
-26
-7
0
0
0
0
0
0
0
-15
44
2
56
0
0
0
0
0
0
-71
37
-13
-1
-1
0
0
0
0
0
44
39
-3
0
-3
10
0
0
0
0
7
-14
19
0
3
3
40
0
0
0
38
1
3
0
-1
0
-8
-1
0
0
-7
0
-18
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
-40
14
0
0
0
0
0
0
0
0
21
26
32
0
0
0
0
0
0
0
-37
-10
-24
-6
0
0
0
0
0
0
-15
7
10
3
-2
0
0
0
0
0
-43
-2
4
-8
11
0
0
0
0
0
4
39
10
-4
0
0
0
0
0
0
4
3
-21
-4
-1
-1
0
0
0
0
20
4
-1
4
0
1
0
0
0
0
0
-4
0
0
1
-2
0
0
-89
-2
-14
46
-32
38
0
0
0
-42
-2
7
0
-8
0
0
6
2
0
79
-38
64
0
0
0
35
10
1
0
-47
0
0
-53
-14
-4
-4
-75
-12
0
0
0
-57
-15
-14
0
12
0
0
44
-8
-10
26
12
8
0
0
0
-1
-1
-45
-1
3
0
0
-44
52
53
-71
-27
-19
0
0
0
5
-41
-72
2
53
0
0
-32
51
23
-54
-15
14
0
0
0
-91
0
-97
-8
74
0
0
-50
38
-59
-98
-41
-72
0
0
0
23
0
-30
10
-114
0
0
-4
51
-28
-55
-12
11
0
0
0
-19
-10
0
13
2
0
0
7
0
-41
30
12
54
0
0
0
-20
0
-6
-1
32
0
0
-6
-15
-36
12
21
23
0
0
0
-37
12
4
0
-37
0
0
-20
25
4
35
-42
-2
0
0
0
-70
-16
2
7
30
0
0
38
33
8
-70
-8
-25
0
0
0
2
24
-65
15
36
0
0
-39
8
15
-5
-64
15
0
0
0
-15
-5
-33
13
-1
0
0
-40
18
-20
21
5
101
0
0
0
-18
0
-56
12
70
0
0
-64
43
19
-7
-33
-24
0
0
0
-42
2
-53
15
-7
0
0
-50
45
-17
-20
-22
-52
0
0
0
-29
-10
0
11
2
0
0
-2
39
-45
22
-19
44
0
0
0
-6
1
-6
-2
19
0
0
7
-6
-39
12
-17
37
0
0
0
-29
11
4
0
-39
0
0
14
11
2
20
-31
-1
0
0
0
-32
-15
-3
7
21
0
0
-17
47
7
-52
25
-44
0
0
0
25
25
-57
30
61
0
0
25
3
15
24
-50
59
0
0
0
3
12
-11
-1
55
0
0
-67
-34
8
-16
-57
83
0
0
0
-4
0
-49
2
50
0
0
-74
-18
18
22
-36
46
0
0
0
-35
2
-50
19
-2
0
0
-50
-34
-50
-14
-74
-97
0
0
0
0
-1
0
0
1
0
0
-11
62
0
10
-11
1
0
0
0
8
0
0
0
0
0
0
34
-32
0
4
-1
-2
0
0
0
-1
0
0
0
3
0
0
26
-3
0
0
36
0
0
0
0
1
0
0
0
0
0
0
-9
-3
0
-6
-4
-1
0
0
0
4
1
-2
0
12
0
0
3
-10
0
-24
-14
40
0
0
0
-4
1
1
-2
11
0
0
-18
81
16
-3
-10
-4
0
0
0
-4
0
0
0
8
0
0
-3
-43
0
-14
-24
15
0
0
0
1
0
0
0
1
0
0
1
-57
-6
-4
-7
-1
0
0
0
0
0
-2
0
-24
0
0
-31
-48
-4
-86
-30
25
-31
0
0
0
0
0
0
-68
-20
0
-73
-37
-86
-12
-33
-72
-43
0
0
-6
0
0
0
-1
0
0
23
-24
7
17
38
0
-28
0
0
-18
-1
0
1
-32
-1
0
-11
5
-55
-30
-28
-11
-46
0
0
-33
0
9
3
-31
-11
0
-24
0
-36
-64
-43
33
-65
0
0
24
4
-11
-3
-1
0
0
-5
-28
-35
-12
27
22
-48
0
0
-28
-1
0
1
-30
2
0
8
8
-13
0
-14
-92
-74
0
0
-28
0
7
3
-32
24
0
-31
-3
-26
-32
-56
3
-62
0
0
32
3
-9
-3
-1
0
0
-65
-16
-38
-2
35
22
-56
0
0
-4
0
0
0
-8
-1
0
-30
7
-5
56
-27
-8
-29
0
0
8
0
-1
2
1
1
0
-49
-91
-34
28
-110
-24
21
0
0
0
0
0
-1
0
0
0
-22
12
-15
-11
5
-1
-11
4
-4
6
-4
15
15
2
-3
3
-7
-4
0
4
2
2
-11
19
-4
44
-3
-11
4
-26
35
-26
-11
19
-8
35
8
-30
33
4
-11
8
8
16
17
12
23
20
10
13
6
14
17
5
18
-42
18
52
-15
-25
-32
40
4
-8
8
0
-5
-61
-24
-7
2
11
4
4
1
2
8
0
6
-9
-19
2
-29
-10
-3
-16
22
15
20
-7
-15
3
2
-1
35
-3
-9
-8
0
-26
-15
-9
1
-9
0
6
5
0
-1
0
6
7
6
-6
16
-24
1
26
8
-28
13
-20
-19
33
-19
1
-10
30
25
-11
61
9
17
-1
-9
4
22
-3
-3
2
3
-1
0
6
1
3
-1
6
-10
6
-3
-4
4
-27
32
-2
0
53
-11
-24
18
-45
12
-7
30
10
18
4
-7
3
-14
2
5
-2
-1
6
11
5
7
9
11
8
2
10
-27
19
-38
-17
0
-7
0
-13
17
-34
-26
-22
17
3
-4
6
-4
-6
1
7
3
1
4
3
-27
-4
0
6
-5
10
-38
-8
18
-28
-9
-5
8
27
10
31
15
27
1
21
-4
26
2
4
-23
-3
3
1
-1
4
-4
3
-3
-11
-3
-16
4
-9
18
-12
-24
12
23
18
-18
-2
2
17
-4
-10
19
-18
-3
-1
-1
-1
15
-1
-8
-5
9
-1
1
7
5
0
3
9
4
6
5
5
-26
-12
20
-8
3
1
-1
-23
-44
19
17
4
5
-42
32
-6
18
4
-7
0
3
1
5
-2
1
-6
2
1
5
6
2
14
46
56
-4
23
8
9
25
1
-43
4
-29
19
17
-3
-16
-6
16
3
13
1
-6
-4
-9
3
5
-1
6
5
0
-2
4
29
-31
51
25
-37
-10
-23
37
25
-6
-59
49
-1
-11
6
16
-10
-1
-1
-14
2
-31
-7
6
2
-6
-12
-1
2
6
7
2
14
-12
-7
-21
-24
-19
-20
-12
6
-1
29
-8
25
-12
-11
25
2
15
2
-13
-2
-1
-7
5
2
16
8
-6
8
14
7
3
-4
32
52
34
-5
3
25
-7
-8
-34
7
-1
7
-9
-7
-6
-7
2
4
-1
0
2
3
3
11
5
15
19
11
7
30
9
5
-42
-34
-20
-4
21
-29
-20
-23
9
-54
-15
25
-28
39
12
-15
11
3
3
-12
1
2
8
-2
-1
-8
-10
-5
8
-1
-7
20
62
-2
-6
4
14
3
0
11
11
-2
34
-2
15
-2
-10
15
-17
-45
-9
-8
-15
-7
21
4
17
-5
-24
-6
29
0
2
9
15
4
12
0
-2
6
8
0
-3
16
12
6
13
11
-1
1
-23
36
3
45
9
28
-18
15
10
22
0
8
11
24
19
19
31
5
28
12
-12
-24
13
10
-5
-11
6
-5
11
2
-3
-12
33
-12
26
2
-23
2
-12
8
-1
32
-6
-4
-3
15
5
0
-22
-10
-20
19
-6
15
23
27
18
39
-22
29
9
-3
1
-22
-25
-43
54
-12
22
11
-12
48
29
19
15
-14
45
-19
-29
14
5
11
9
-20
4
13
-19
8
-3
14
14
-4
27
-8
4
16
-34
36
-23
-22
-7
-41
67
18
-2
-5
-29
-14
12
-8
28
-1
10
-4
27
2
15
11
-22
-4
-31
32
-26
110
2
38
27
0
15
-30
-12
-23
10
-34
13
14
30
17
30
28
-2
22
-53
18
0
-28
41
9
-1
-7
11
9
15
13
2
-17
-10
-8
-30
9
-18
-6
13
-18
23
-6
-16
11
15
29
30
19
12
35
12
21
15
-25
-1
37
-7
7
-9
39
5
13
45
26
-18
69
9
1
-13
8
-29
-22
-9
0
1
-36
14
13
-18
-22
19
-15
0
8
29
17
-14
22
13
-28
-6
2
18
53
-19
-18
24
-4
20
5
-38
0
3
-12
4
6
12
38
-12
2
0
29
-9
22
-27
9
-1
8
60
-28
2
2
13
7
-7
10
12
7
5
-1
-7
-3
33
5
-8
-30
-9
31
18
1
21
-25
17
-8
3
16
21
8
24
29
-16
22
-7
43
9
10
13
22
-3
25
45
28
1
14
-17
35
30
-1
27
-8
63
7
-16
-21
-41
1
-20
-12
5
23
14
-19
12
30
14
49
18
4
-2
19
2
14
16
-1
-31
11
-1
-15
-21
27
-17
-26
21
13
13
7
-8
1
20
-1
-6
19
34
-10
39
9
-17
3
24
10
-31
0
-6
-26
29
20
32
-38
3
19
-21
-7
14
-5
1
2
23
-7
30
11
12
54
44
21
2
3
12
30
10
16
-14
3
35
35
9
13
7
29
11
-9
32
-7
-1
-5
63
-5
54
-6
31
-4
5
23
35
11
14
22
27
5
-2
-42
11
-9
0
-2
12
24
15
-12
-17
21
11
2
50
7
-30
28
12
46
-39
-9
64
-4
-11
-19
19
31
17
35
20
25
-25
7
-70
3
-1
17
29
31
1
20
-20
39
-6
-4
-5
1
16
20
22
19
-7
19
22
28
-3
7
-14
3
-10
-10
34
-6
34
36
-11
-8
-36
10
10
12
2
1
-5
-13
1
20
16
0
2
11
7
-17
9
-13
12
-9
-6
1
28
-5
-3
-8
-10
48
15
38
-9
14
-7
16
7
14
15
-24
4
24
2
8
18
6
2
11
2
2
4
3
5
2
0
0
-5
4
3
-4
13
-34
38
-7
0
-7
-8
25
6
-3
-27
-11
-28
-5
-17
4
9
1
4
-2
0
1
-11
1
5
0
3
-2
-1
1
-33
-6
-41
7
1
2
12
-3
6
16
-4
20
13
-3
-1
-12
26
10
4
1
3
-3
-4
1
3
1
3
1
6
1
-1
-14
-27
-15
29
-15
29
2
6
7
-10
46
0
31
25
0
15
8
-3
1
-5
0
0
-6
-5
1
-8
-5
17
27
12
7
22
16
-28
26
1
-19
19
40
-17
-27
-13
7
-9
-39
37
9
57
21
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
11
40
11
0
10
6
3
2
3
8
1
3
6
4
7
-11
19
2
9
36
-11
32
-2
-3
8
45
1
-16
7
-2
-1
-16
11
-4
0
3
16
16
9
10
0
-20
0
5
2
23
-10
-9
28
21
-4
30
9
22
10
46
-11
44
-4
-32
-10
-8
-5
-14
15
6
-3
-5
9
8
8
10
0
-8
-3
6
-1
5
-1
17
29
-25
4
10
-13
68
8
-24
32
0
10
3
1
44
-14
5
-1
-1
7
-8
17
-3
5
16
26
0
-13
11
-4
15
-10
39
-15
3
-10
1
50
85
20
-38
-17
21
1
29
-32
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-16
19
1
3
3
22
17
11
20
-24
-8
29
1
1
-11
1
9
-15
10
-9
33
-4
4
7
-9
23
18
20
15
27
36
0
-33
49
23
28
-3
-50
0
24
-1
9
21
0
3
32
-16
40
6
30
40
6
46
-5
-12
1
11
-19
8
37
32
22
-31
-21
-15
-58
-3
54
-7
61
-10
13
13
-16
19
-22
46
12
55
-37
17
3
-26
-22
13
-14
-6
-23
50
13
-19
18
29
17
5
35
32
-24
4
73
-19
-15
1
-7
-33
-6
64
-50
-30
-30
26
95
-6
65
0
19
5
-5
26
31
0
6
-1
26
27
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-8
11
-16
1
-2
44
3
16
-8
3
13
7
15
18
4
-30
-8
7
10
-1
17
-15
14
27
18
-1
4
40
19
7
-11
29
-1
52
-57
6
-3
16
-5
-55
-20
-29
21
13
22
25
19
7
-4
2
9
-31
-26
24
-3
12
5
-42
65
73
-11
-14
15
-4
38
14
5
9
-25
-21
-30
-10
-5
-42
13
2
-6
-6
-9
49
25
-12
-17
31
23
24
30
8
15
39
0
12
3
8
-9
-17
26
-10
15
2
14
-5
-3
-34
-51
-22
16
-12
5
-2
-10
10
18
10
-20
-10
8
93
-32
31
22
1
36
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
13
9
12
-3
0
0
0
0
22
-5
24
2
0
0
0
0
-29
3
18
-8
0
0
0
0
8
5
-2
10
0
0
0
0
6
-3
-2
-18
0
0
0
0
28
27
-30
12
0
0
0
0
38
19
-32
-29
0
0
0
0
6
2
2
-5
0
0
0
0
15
9
-5
-13
0
0
0
0
1
13
-7
-1
0
0
0
0
7
-23
-35
29
0
0
0
0
5
-1
-3
3
0
0
0
0
14
10
11
-14
0
0
0
0
9
-5
11
-18
0
0
0
0
-2
-10
17
18
0
0
0
0
5
10
0
0
0
0
0
0
2
-5
1
-14
0
0
0
0
3
7
27
-4
0
0
0
0
13
14
-46
2
0
0
0
0
-1
-1
-2
-3
0
0
0
0
3
-9
1
-11
0
0
0
0
16
26
33
-10
0
0
0
0
-8
-45
-8
-45
0
0
0
0
4
-2
2
4
0
0
0
0
10
-3
-4
16
0
0
0
0
-7
19
6
-9
0
0
0
0
33
31
50
-43
0
0
0
0
-2
-9
-11
15
0
0
0
0
-10
2
-3
-1
0
0
0
0
-9
22
11
12
0
0
0
0
33
-24
-2
0
0
0
0
0
7
3
8
-4
0
0
0
0
2
2
3
-4
0
0
0
0
-17
1
22
-31
0
0
0
0
-4
-2
10
0
0
0
0
0
12
10
-7
2
0
0
0
0
7
10
11
-14
0
0
0
0
-10
-12
19
48
0
0
0
0
-3
-22
13
48
0
0
0
0
4
1
9
4
0
0
0
0
1
1
-9
-9
0
0
0
0
-11
25
12
60
0
0
0
0
9
24
0
-25
0
0
0
0
-3
15
13
13
0
0
0
0
-3
10
30
22
0
0
0
0
33
21
20
-10
0
0
0
0
12
1
-22
22
0
0
0
0
-7
1
-2
-4
0
0
0
0
-6
-2
-3
9
0
0
0
0
-21
-15
-7
2
0
0
0
0
1
4
13
5
0
0
0
0
-2
-2
-7
-22
0
0
0
0
-7
1
-2
-12
0
0
0
0
-2
-5
-11
51
0
0
0
0
0
22
2
2
0
0
0
0
4
2
-7
-28
0
0
0
0
-7
-7
-5
15
0
0
0
0
5
13
6
57
0
0
0
0
-9
11
-6
0
0
0
0
0
3
4
0
18
0
0
0
0
-9
14
9
34
0
0
0
0
-20
-14
39
-9
0
0
0
0
2
9
-10
-11
0
0
0
0
36
-16
-11
21
0
0
0
0
10
-23
-4
7
0
0
0
0
-4
-18
-4
-1
0
0
0
0
9
19
0
60
0
0
0
0
-1
-6
22
10
0
0
0
0
56
17
27
-54
0
0
0
0
33
-10
0
-32
0
0
0
0
22
-5
-6
-7
0
0
0
0
6
-18
-24
-11
0
0
0
0
16
-23
36
6
0
0
0
0
52
23
-29
26
0
0
0
0
37
-1
11
21
0
0
0
0
-13
35
33
-22
0
0
0
0
12
55
-3
11
0
0
0
0
40
40
-13
8
0
0
0
0
-32
16
21
-6
0
0
0
0
7
38
-42
-38
0
0
0
0
-4
15
-25
-19
0
0
0
0
46
9
31
-3
0
0
0
0
-18
-2
0
-5
0
0
0
0
-26
-33
16
-27
0
0
0
0
-7
-14
37
-12
0
0
0
0
-12
23
20
-7
0
0
0
0
-4
11
16
10
0
0
0
0
54
-26
-32
19
0
0
0
0
38
-44
6
11
0
0
0
0
41
-11
-14
14
0
0
0
0
5
31
-37
-34
0
0
0
0
-30
52
-13
-17
0
0
0
0
33
23
42
1
0
0
0
0
51
-1
16
24
0
0
0
0
59
-40
47
-29
0
0
0
0
-1
-7
12
40
0
0
0
0
10
10
-38
10
0
0
0
0
16
1
21
-19
0
0
0
0
17
15
5
28
0
0
0
0
5
57
7
-8
0
0
0
0
-19
32
-4
51
0
0
0
0
45
21
-1
-55
0
0
0
0
37
11
30
-19
0
0
0
0
-23
-29
22
-20
0
0
0
0
0
14
-4
58
0
0
0
0
34
32
7
28
0
0
0
0
11
8
1
4
0
0
0
0
22
0
-4
37
0
0
0
0
-21
43
9
9
0
0
0
0
33
-32
-23
39
0
0
0
0
16
-16
-9
22
0
0
0
0
-1
27
-23
2
0
0
0
0
-1
-14
0
15
0
0
0
0
1
58
-36
-3
0
0
0
0
8
16
1
5
0
0
0
0
-2
-44
43
30
0
0
0
0
-11
31
-7
27
0
0
0
0
-1
28
-13
-19
0
0
0
0
4
-10
14
-66
0
0
0
0
-47
-29
33
-2
0
0
0
0
-3
-4
-1
19
0
0
0
0
-5
16
45
-3
0
0
0
0
-2
11
25
3
0
0
0
0
-23
1
-9
10
0
0
0
0
-5
52
-40
-1
0
0
0
0
-1
20
-28
106
0
0
0
0
-10
1
17
38
0
0
0
0
0
-3
1
4
2
0
4
2
1
1
2
-12
-4
-2
8
-22
-5
2
59
-16
-26
3
6
-7
24
68
19
8
5
1
-11
-3
-12
-6
14
0
-1
-2
7
2
4
-8
-2
-26
3
8
6
-1
-14
41
35
4
-33
18
16
6
-13
42
1
20
8
-19
29
-1
5
-2
3
1
3
-1
0
23
10
7
-2
-44
-2
6
5
1
6
-17
7
-6
13
19
-13
-2
-28
28
32
22
31
-34
28
3
-7
7
4
5
-3
-5
1
29
-11
-1
-10
-16
-8
-17
18
56
53
-22
53
5
-16
16
12
26
18
3
-34
10
32
-5
-5
-1
3
7
9
11
-4
-8
-1
-3
5
6
3
3
-4
-6
7
-3
9
23
24
48
-12
-32
13
-2
-1
7
40
-26
52
-2
-12
6
-4
4
2
2
-5
0
-3
16
7
8
-5
4
-1
2
6
-9
6
31
-9
-14
-29
15
0
-4
18
1
1
-9
-5
-26
-16
13
-6
-1
4
4
-6
-6
-2
6
-1
-2
1
-13
-4
5
6
-8
-7
-1
-3
29
52
-10
-35
-10
-22
21
-5
1
57
12
45
0
-10
0
9
19
-7
-8
0
-4
1
11
16
7
10
-5
17
8
38
0
-1
-8
-32
-10
-10
10
22
-4
2
19
-4
7
-12
30
-4
-10
9
-41
12
1
3
-2
6
-6
-4
-15
1
4
-10
10
0
2
0
-32
-11
0
5
46
27
20
9
14
-8
11
-3
36
-13
-8
-32
36
7
7
0
-24
3
8
-1
-7
10
1
-21
-14
4
28
27
22
33
-20
3
-10
6
-23
34
-25
36
-26
-15
-13
10
4
-27
-62
-1
3
-1
-30
3
-2
0
-11
4
2
-2
-28
-14
1
-9
-30
14
-3
5
3
4
15
2
-8
8
16
9
-16
-8
-44
11
-13
0
0
3
47
-3
-13
15
-4
-4
-4
0
4
-13
-14
25
-2
39
-22
54
28
-6
-13
-33
21
15
-1
36
-5
11
-18
-10
-11
0
0
0
5
5
5
5
-10
3
4
0
-23
28
3
3
40
-12
-29
6
1
-7
-3
27
46
14
26
-41
15
-6
-10
28
-44
7
4
-10
3
7
10
-9
2
0
-1
-12
-16
-14
-18
-10
21
-14
-17
-6
-6
-3
-13
48
-5
-6
2
-10
-1
-9
-1
-7
-9
4
-5
-10
-26
0
-5
-1
8
5
9
-12
14
21
-40
10
-14
-9
-8
-13
28
-10
-4
22
-1
-19
17
31
-27
-5
10
8
5
14
2
30
2
-1
18
-4
20
24
15
32
33
29
3
32
21
17
1
-6
2
43
-18
18
-23
-22
0
11
-5
-26
29
47
3
16
21
-15
4
12
7
38
-22
-24
-29
-24
-1
10
46
-24
53
15
-5
-4
-9
6
-13
44
24
-8
-4
1
3
14
6
22
-4
52
-25
-11
-3
-3
37
-1
-4
-7
-8
14
17
10
16
-58
5
-6
-16
-10
3
47
21
-34
33
38
-7
-9
2
-37
0
-7
9
-2
-10
1
3
4
7
-5
0
2
11
26
-10
17
17
43
-9
20
-3
8
-9
-9
-5
9
-25
-8
-2
20
-1
-5
-12
18
-11
20
-11
5
-15
-7
10
10
-34
-1
16
7
-10
4
4
42
-10
7
16
0
1
30
30
11
34
19
3
23
-2
-4
19
-11
-13
-2
30
-7
-11
16
1
27
-16
-5
-15
7
17
25
16
-9
-9
-1
35
2
-2
8
26
-11
46
2
-20
-3
29
-11
19
-10
21
0
2
-4
-10
-18
-11
-20
-1
25
-8
-6
3
-3
0
-14
37
27
0
7
-1
23
47
32
-12
4
21
6
-9
6
27
17
11
-7
1
-16
15
6
-67
35
24
21
8
1
-6
-15
30
-1
8
-25
0
-8
-8
-25
7
-23
0
33
-5
-23
2
24
3
-1
-28
13
-7
-10
19
-4
0
12
26
11
49
-10
6
-24
-14
-2
27
19
4
-8
1
-7
29
19
-24
13
-6
20
-15
5
8
-18
-16
-44
-1
12
-1
20
27
9
66
56
5
-14
-9
19
29
-14
0
44
3
49
-10
-16
13
24
38
-6
-31
-9
10
10
-11
0
3
55
-5
10
-1
-12
-8
43
13
-16
9
41
11
41
12
18
0
16
-9
-35
-9
23
15
-14
20
-10
-2
12
38
-7
-44
-9
7
-24
-13
-3
-11
15
33
5
-8
-28
34
-18
2
11
-7
6
-3
-18
16
22
22
6
34
5
-30
20
-35
-43
-14
-4
-4
-8
4
-12
0
7
1
-30
-17
-44
33
-6
66
2
0
-12
13
-1
18
-8
-8
48
7
19
-6
23
13
38
-2
-15
5
-14
22
5
0
-14
-1
-8
-1
29
-27
76
18
-11
4
7
4
8
15
-3
-4
14
39
-47
7
19
2
8
-12
-20
16
-4
8
-46
0
6
0
-6
-1
1
-4
3
43
9
19
29
-19
23
5
14
-20
1
2
0
19
12
6
19
9
21
-6
18
22
30
33
-3
-1
-22
14
-18
-1
-13
0
-4
-3
55
15
-6
-6
-31
-2
17
-9
-9
-2
-17
4
-24
13
19
-17
12
-22
-21
24
-1
49
0
-8
6
2
0
-9
1
-3
0
20
-2
38
15
1
21
4
-45
-3
-14
0
8
-30
30
19
-12
22
-19
9
0
4
3
-18
1
5
8
3
11
7
-4
2
14
17
1
-4
-13
11
-17
12
20
-5
-11
-16
15
2
15
33
-3
10
36
-87
48
-36
-26
-27
18
4
-1
-2
2
-4
23
-1
-3
-8
18
-13
-5
-11
5
5
10
43
20
-31
-6
-49
-21
17
4
6
-3
-28
-8
0
0
-6
5
31
5
29
1
22
16
24
5
-7
17
17
5
-3
14
18
11
7
11
16
-11
-30
35
25
-30
18
-19
0
-77
78
-19
47
-4
0
5
31
8
17
19
32
20
1
4
-7
3
32
-11
11
1
19
17
5
20
43
13
-12
2
4
65
-36
-35
9
22
-57
-1
-6
28
-9
2
3
17
24
5
12
35
18
2
4
28
29
16
3
-10
4
5
3
65
-18
1
29
35
98
33
30
-39
46
-6
1
16
13
12
6
16
18
-20
-27
10
21
32
35
5
17
3
-63
-17
-28
-19
-57
27
-11
5
24
36
38
8
42
35
-35
4
22
4
27
8
13
3
22
-10
4
21
21
9
42
-2
32
-18
-5
-31
8
-23
36
-9
27
9
70
1
-19
46
80
65
50
8
37
13
17
35
18
22
40
-1
39
12
40
1
15
15
77
-43
-47
-16
69
4
-40
-26
-52
31
-7
10
47
-4
-37
-42
-31
5
14
4
12
6
-7
4
13
2
3
0
4
4
14
14
3
25
39
56
8
25
21
42
26
54
59
17
14
67
54
16
10
-11
15
-14
25
24
35
-4
17
5
-8
2
-6
10
12
9
-6
49
22
25
-5
32
32
-31
-22
34
30
47
23
67
44
2
10
-11
6
-6
44
14
3
11
15
16
15
8
-6
15
22
12
29
40
-19
71
22
-1
26
-17
19
21
60
3
84
5
32
17
-16
15
15
17
60
-14
27
6
57
-4
-6
-14
51
1
21
4
-8
58
26
7
66
-14
5
31
-14
21
58
75
35
15
101
39
16
13
11
17
1
-15
-4
2
13
0
-9
-7
-3
21
14
13
18
26
-10
63
24
36
-10
61
1
19
30
57
-2
28
41
-14
-16
-6
9
-14
31
2
12
-15
10
28
17
9
2
9
21
10
4
23
-50
68
-11
21
68
24
7
-11
9
48
49
60
-6
84
21
7
16
-2
33
3
-2
1
7
22
-6
-4
35
14
6
11
16
-14
3
15
94
-13
41
57
50
7
5
70
122
-24
4
23
103
-1
15
-15
-2
31
18
10
10
24
26
8
-19
20
15
37
0
50
-9
-7
13
41
-20
-2
-10
26
-3
6
67
18
28
18
7
9
-18
42
-8
36
-21
38
-51
54
48
4
16
-1
59
-6
-6
18
32
31
10
24
-26
30
24
25
34
28
-68
-1
-18
1
-80
38
24
5
3
34
-12
44
44
3
-9
2
14
15
-23
-8
-20
42
28
32
-26
22
0
16
-29
0
7
21
5
-9
-44
-4
-25
13
24
0
73
6
25
-2
-13
16
37
-14
-9
20
33
48
17
25
28
41
22
7
29
2
65
18
42
17
21
-12
12
39
20
14
-8
71
-5
-12
-12
3
49
1
-4
16
19
47
-17
5
43
12
48
-13
36
-8
10
62
37
-32
36
-14
-3
2
-4
28
18
-8
37
30
55
17
-44
0
26
16
30
21
36
14
14
41
1
26
-32
-18
87
25
19
21
22
-8
41
18
-20
43
0
32
21
22
-10
5
24
-3
0
54
46
15
49
57
-19
23
21
21
5
39
3
0
-4
13
-22
-18
-18
24
12
-13
12
18
3
15
10
12
-3
4
42
2
32
32
5
15
17
3
16
-12
18
-12
0
-21
31
24
-4
-49
27
-37
-14
58
34
-8
65
29
48
5
31
-4
6
14
5
-11
14
10
68
-22
39
96
-21
15
11
73
0
-3
-36
26
45
-1
28
17
-14
5
36
51
66
12
50
-28
37
12
5
-16
-65
0
7
27
15
34
5
22
27
11
6
34
34
14
60
26
3
28
27
40
63
3
40
23
-7
32
9
39
-40
10
39
58
-4
6
26
-11
-1
11
30
46
-23
16
4
28
26
28
19
-35
25
61
16
20
23
3
-10
3
10
27
-14
13
12
19
5
10
-3
0
-6
-43
23
-13
34
-9
-12
31
-19
24
6
-2
10
0
31
15
55
8
54
19
37
-15
23
43
-4
33
-8
-15
20
16
31
-17
-11
21
86
2
51
43
-16
37
10
71
63
5
15
-3
83
-7
51
-9
43
9
-20
11
38
8
76
23
-16
-13
-12
4
15
-10
39
57
73
-5
55
30
21
-2
39
34
-20
5
10
33
28
26
20
39
31
15
16
-9
-11
20
14
28
26
23
32
-11
13
18
43
40
-38
-5
15
-6
32
-2
30
24
-36
5
-20
49
-1
-25
42
62
37
30
-5
0
-21
30
-6
30
46
-22
-3
1
50
7
52
-3
22
17
-11
-4
24
10
13
0
32
-28
-25
31
0
-13
21
20
4
35
14
17
74
8
-6
-7
23
28
-1
-21
28
-25
-3
-33
-13
-23
6
-13
24
19
19
20
-47
73
32
-6
-5
55
0
-11
49
27
25
4
3
13
50
19
14
3
9
2
7
4
-4
16
6
9
11
11
21
11
9
22
14
16
-25
4
2
19
-7
9
45
37
23
28
24
0
8
28
-20
2
-17
1
12
5
-7
17
6
5
3
8
14
0
21
5
5
-42
-5
16
25
8
-28
22
62
41
21
19
27
-12
-14
21
22
8
5
-2
12
15
13
2
13
6
16
3
17
17
20
10
30
-13
-3
18
10
25
-7
20
2
-11
14
-5
41
30
-13
-18
21
13
14
10
12
1
9
7
18
29
18
14
53
37
28
24
18
16
-6
32
-15
31
15
8
-33
0
26
9
19
71
54
-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
4
2
-5
24
16
-3
1
10
-1
4
9
5
16
5
7
-6
5
-2
-11
27
1
19
-9
84
33
23
25
-8
16
11
14
10
-14
-10
0
15
4
-18
3
-8
6
-2
21
5
7
9
27
11
2
11
22
38
22
43
15
19
25
26
36
56
36
7
5
74
0
1
12
-12
-1
9
-2
18
4
1
-1
19
1
8
4
8
23
52
14
21
7
32
19
86
-3
29
6
25
56
25
23
0
5
-4
9
0
11
4
25
29
2
-2
15
49
-2
16
-5
47
5
17
31
2
18
33
69
31
27
40
28
23
15
20
15
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
51
12
-33
9
31
33
22
29
39
22
5
-13
53
-18
-17
26
4
-7
-8
20
42
20
-25
-3
32
1
33
-5
19
0
-3
6
5
-24
9
-10
4
3
2
14
42
52
30
34
1
3
-28
6
21
-9
-5
21
43
8
17
38
25
14
-11
38
30
-26
27
-18
28
23
22
36
-14
-12
44
6
29
49
32
6
123
-7
-5
-5
32
16
10
-21
37
0
-12
4
41
3
2
29
5
32
37
9
7
22
9
0
67
13
40
52
54
47
-5
-18
64
20
-8
35
-25
41
10
22
79
27
71
58
19
31
32
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
-2
32
-9
37
22
33
15
-1
43
0
19
23
57
27
5
38
-6
24
14
12
26
13
16
8
26
16
-4
18
1
28
28
16
23
6
-46
-14
32
15
1
21
37
7
13
4
26
27
6
11
11
23
-5
30
20
5
0
14
63
26
0
32
87
17
-25
19
25
41
47
13
26
33
32
-2
42
-10
18
21
75
10
0
7
15
29
3
14
26
13
48
14
37
-2
2
-27
40
19
4
40
34
40
54
74
57
8
4
-10
-6
3
29
36
-3
9
14
4
36
23
7
-16
55
20
28
-8
-7
24
5
39
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
6
4
-16
10
0
0
0
0
13
-10
3
14
0
0
0
0
7
10
-13
25
0
0
0
0
-5
-16
6
7
0
0
0
0
3
-5
-2
34
0
0
0
0
-12
10
1
12
0
0
0
0
5
-27
28
2
0
0
0
0
14
13
17
10
0
0
0
0
22
-5
-9
5
0
0
0
0
-7
32
5
52
0
0
0
0
1
35
-13
48
0
0
0
0
15
1
11
8
0
0
0
0
19
3
-8
-15
0
0
0
0
26
37
-39
8
0
0
0
0
9
14
78
36
0
0
0
0
-1
-5
6
-1
0
0
0
0
-8
2
-7
2
0
0
0
0
21
15
2
58
0
0
0
0
5
21
37
13
0
0
0
0
-8
-15
1
3
0
0
0
0
-9
-7
-14
6
0
0
0
0
-23
-34
21
10
0
0
0
0
18
-11
41
-60
0
0
0
0
9
7
7
16
0
0
0
0
4
5
10
15
0
0
0
0
-7
28
-5
11
0
0
0
0
-15
-10
-7
-7
0
0
0
0
9
-10
9
23
0
0
0
0
9
9
1
5
0
0
0
0
8
34
-9
14
0
0
0
0
24
32
43
50
0
0
0
0
15
9
15
17
0
0
0
0
5
6
6
27
0
0
0
0
-2
7
28
8
0
0
0
0
23
-17
-20
49
0
0
0
0
6
-4
17
28
0
0
0
0
6
-3
12
6
0
0
0
0
5
2
67
60
0
0
0
0
8
1
52
25
0
0
0
0
14
-2
25
-5
0
0
0
0
4
17
6
17
0
0
0
0
25
41
25
48
0
0
0
0
26
9
19
-19
0
0
0
0
14
34
31
37
0
0
0
0
20
4
37
-6
0
0
0
0
47
35
62
0
0
0
0
0
24
22
-22
56
0
0
0
0
17
15
3
46
0
0
0
0
14
7
6
5
0
0
0
0
41
23
29
21
0
0
0
0
30
27
37
42
0
0
0
0
-1
-1
28
21
0
0
0
0
4
1
14
17
0
0
0
0
32
7
14
91
0
0
0
0
19
2
46
15
0
0
0
0
15
29
6
28
0
0
0
0
6
-2
4
26
0
0
0
0
53
40
8
25
0
0
0
0
29
53
-24
37
0
0
0
0
33
23
-5
40
0
0
0
0
35
20
14
22
0
0
0
0
37
57
69
49
0
0
0
0
54
23
21
-9
0
0
0
0
-25
2
-43
2
0
0
0
0
24
33
13
-10
0
0
0
0
-17
-17
-8
-14
0
0
0
0
3
25
-9
36
0
0
0
0
-25
-5
-2
38
0
0
0
0
11
-27
18
-24
0
0
0
0
1
-13
-3
33
0
0
0
0
27
5
24
24
0
0
0
0
6
-5
-21
-40
0
0
0
0
42
27
3
27
0
0
0
0
-6
23
14
32
0
0
0
0
23
30
8
21
0
0
0
0
8
6
3
31
0
0
0
0
34
38
-10
30
0
0
0
0
14
52
-8
-21
0
0
0
0
26
19
28
33
0
0
0
0
4
42
-39
-52
0
0
0
0
13
31
43
30
0
0
0
0
19
-28
5
-9
0
0
0
0
14
2
24
54
0
0
0
0
-19
-44
51
51
0
0
0
0
47
-16
35
52
0
0
0
0
-6
-26
14
2
0
0
0
0
-18
-18
55
36
0
0
0
0
5
21
-8
16
0
0
0
0
15
31
32
31
0
0
0
0
54
30
-3
19
0
0
0
0
40
2
9
30
0
0
0
0
-10
8
8
10
0
0
0
0
42
35
55
36
0
0
0
0
46
36
13
30
0
0
0
0
3
38
18
-25
0
0
0
0
-10
2
10
57
0
0
0
0
-36
40
19
49
0
0
0
0
-3
3
-1
32
0
0
0
0
15
9
5
12
0
0
0
0
7
-13
70
44
0
0
0
0
-31
-4
63
20
0
0
0
0
8
3
42
46
0
0
0
0
28
36
-3
20
0
0
0
0
5
35
-35
-12
0
0
0
0
34
24
18
43
0
0
0
0
4
9
-1
6
0
0
0
0
25
6
-26
-6
0
0
0
0
87
16
19
-7
0
0
0
0
15
58
-6
19
0
0
0
0
15
25
-9
53
0
0
0
0
14
21
43
23
0
0
0
0
6
40
6
13
0
0
0
0
19
8
3
20
0
0
0
0
20
35
37
31
0
0
0
0
24
19
8
18
0
0
0
0
18
22
51
58
0
0
0
0
13
13
12
66
0
0
0
0
-2
-6
25
5
0
0
0
0
17
17
36
12
0
0
0
0
25
36
9
17
0
0
0
0
42
19
-1
-8
0
0
0
0
44
1
-22
52
0
0
0
0
12
10
23
14
0
0
0
0
37
52
36
77
0
0
0
0
52
18
-47
-18
0
0
0
0
7
28
34
69
0
0
0
0
15
6
23
27
0
0
0
0
0
2
-4
0
0
2
4
11
22
6
3
16
7
4
14
11
9
9
-7
-7
3
-8
-32
-38
-11
19
6
13
-6
-30
-13
-14
6
5
-8
15
-6
-4
19
46
17
-15
8
24
-6
-20
5
-18
55
1
-8
5
-28
-8
34
-77
-16
24
8
9
-41
-33
-19
13
-1
-3
2
20
8
9
2
18
9
-10
-1
-15
20
1
-5
9
6
16
-13
-10
2
-45
20
28
29
11
-21
-17
-19
-15
74
52
-2
5
15
15
25
24
18
53
-20
-8
10
20
24
2
-12
0
-13
-8
42
12
-42
-14
49
33
-14
-39
4
28
-14
-26
11
31
4
2
1
10
12
-4
4
-3
7
10
4
4
14
-19
17
33
32
12
-11
13
5
-28
30
6
38
9
-8
-30
17
35
-9
73
-2
-8
22
35
3
-2
20
21
8
11
9
48
15
-5
20
20
21
25
18
-20
4
-47
72
-26
-16
39
-30
38
-10
-50
-7
19
0
-10
9
7
12
4
-1
-1
10
10
6
-2
3
10
6
-12
4
12
9
8
-1
-32
23
-1
52
44
40
43
57
-47
50
-25
-19
8
45
30
10
3
-4
-3
-5
7
12
-8
3
7
-18
26
30
26
21
-45
13
35
-12
36
38
-26
-12
54
21
41
-2
52
14
13
-3
-19
8
5
-7
7
7
19
4
27
15
-9
2
4
-3
16
28
-16
54
15
0
69
25
16
30
2
21
23
11
40
18
-19
21
2
-3
14
30
7
14
-13
8
10
17
18
20
-4
18
20
2
16
23
28
17
31
-15
32
11
19
-3
-2
37
-18
-15
0
-13
28
26
16
11
-17
10
27
15
34
-2
11
8
11
9
-37
24
-7
52
69
41
34
-26
12
17
-8
19
26
-43
-4
19
-9
41
46
35
30
28
4
24
-4
47
18
30
1
20
23
-47
-34
20
24
-10
20
14
49
36
15
27
23
21
27
-6
32
32
-8
7
37
12
16
39
57
-1
20
-1
26
-11
6
-14
18
11
-2
26
29
20
6
31
-3
11
46
-10
26
47
-3
15
18
-41
-5
64
38
4
-11
44
13
11
21
12
25
18
6
6
7
11
-11
30
-22
-17
-2
10
15
-4
9
15
40
15
21
15
10
6
-12
7
1
10
25
-53
0
7
6
-4
34
6
-10
8
13
-25
-59
6
10
20
23
27
56
32
19
36
4
3
12
24
-22
-7
-16
35
26
4
11
51
-4
2
-11
18
37
18
-2
7
-7
-17
57
41
44
42
-1
20
-4
9
-28
6
9
26
8
8
14
-8
34
7
-4
10
10
-50
-51
10
58
2
-12
-18
17
-41
20
31
6
29
43
-12
0
-34
2
33
29
-13
18
-1
30
14
-34
25
30
79
38
-11
-21
-1
8
10
28
-2
27
-15
5
55
47
30
36
38
56
-40
27
-9
-1
-7
-8
27
57
35
17
-14
23
-14
25
-33
49
40
1
0
-12
-4
-22
-5
20
33
-15
26
17
-23
1
22
-20
7
27
25
-40
14
-22
12
49
31
53
42
1
7
-11
24
10
25
93
0
-44
27
4
48
25
37
-54
32
1
-18
5
-32
14
-3
8
65
8
4
36
1
21
42
29
21
44
37
23
-20
-40
14
-4
7
11
38
-7
28
9
41
23
4
15
-6
42
-9
10
-6
20
22
-4
56
44
50
24
27
42
3
34
6
3
-12
44
-4
-10
58
4
-14
24
10
77
-11
-20
8
32
-25
13
34
21
13
-38
-12
26
31
64
37
14
-17
41
-10
-6
-31
24
40
19
-4
-7
-24
24
39
-57
64
42
29
73
28
61
-1
38
23
28
-13
37
-14
6
19
25
24
43
42
35
-49
-6
-12
-25
-42
7
25
-34
27
72
85
30
45
6
34
13
-2
6
-1
-23
-5
31
38
61
7
5
51
26
80
-23
58
13
73
-21
-3
-4
-40
27
4
8
51
-17
25
-2
-9
-26
54
32
-8
-5
11
69
-30
14
34
-20
4
20
44
26
38
-14
44
9
18
52
-4
-4
26
14
-3
-1
-20
-16
38
56
24
-21
12
2
62
16
-13
9
11
30
-2
9
17
-9
17
-8
10
46
-6
34
44
46
-10
-22
-1
-25
-10
0
35
-43
19
7
-19
41
0
38
22
-11
28
-4
1
30
58
-21
-8
32
20
29
24
-6
63
23
9
-19
-87
35
10
24
12
-29
34
66
-8
47
-5
28
26
46
30
-9
15
-6
-2
25
-12
28
37
35
16
10
-28
30
28
11
9
45
-37
-1
8
12
-30
31
18
23
38
23
-1
0
46
14
20
38
2
3
20
9
34
40
-61
-36
18
26
47
11
4
42
-7
27
-38
8
9
10
2
-81
-30
-5
61
-33
38
85
20
34
76
26
-20
-43
51
37
31
18
28
8
32
21
43
28
-5
42
36
16
-28
22
-14
12
18
8
-53
5
31
36
-6
-18
15
84
46
10
-37
-19
-4
-19
34
55
-12
12
34
4
23
16
-31
45
25
8
-78
-11
-56
-27
-23
-77
14
-1
40
-28
13
46
57
20
64
35
-51
-14
28
63
41
-32
57
62
-11
32
0
16
19
32
27
-15
4
17
10
9
21
6
-17
-23
16
9
-19
-19
-13
-15
-11
1
14
10
-9
-25
40
-20
25
1
-21
8
39
-76
15
-39
-43
-38
23
13
0
6
5
9
-16
-10
2
23
17
-12
1
0
-37
-6
-2
46
-10
-25
-28
-23
-15
13
-1
16
-16
-25
9
-19
22
-19
5
30
19
31
-9
16
19
7
-2
0
23
31
-6
39
2
20
-2
16
55
47
-1
-19
3
5
-58
34
-46
-13
-52
87
-2
55
16
28
35
36
43
14
0
32
22
2
1
-16
10
14
1
10
9
41
36
37
29
54
-9
-13
-1
5
55
-78
-30
10
30
-60
17
-34
21
10
-6
2
15
18
-1
7
18
39
37
-18
21
14
7
-18
-18
-9
12
-6
29
6
-7
7
41
79
-20
-24
-36
20
-14
10
33
-5
-1
-12
24
38
7
-14
12
54
16
-19
-1
-7
-4
-78
-3
-18
-20
-77
9
-21
-6
31
58
5
35
30
38
-39
1
9
7
51
-12
22
2
52
2
-5
15
-19
-31
36
-20
43
-28
7
1
-37
-21
25
10
22
-33
60
11
-29
41
86
49
58
-3
47
16
16
29
36
35
67
13
22
1
-39
18
8
41
47
-23
-35
-42
62
25
-11
-31
-44
9
-11
27
38
8
-24
-47
-28
-1
-2
-8
11
-4
-1
-13
-6
12
-3
5
9
7
9
12
-8
28
41
67
-8
10
3
12
8
87
56
-13
41
43
76
17
-19
-18
-5
-20
5
20
11
-1
17
-14
-7
-1
7
3
9
7
-12
33
-29
-10
-6
56
15
-15
-25
29
84
19
17
75
9
11
3
-19
6
-27
25
2
13
7
29
17
21
-5
46
22
11
2
13
-29
23
60
2
15
17
13
27
23
41
15
90
1
48
21
-6
12
26
20
68
2
29
15
52
-1
30
5
32
-14
3
19
-5
32
-2
2
59
-24
6
27
-12
15
47
66
29
31
71
4
39
12
-1
-8
-3
-11
-12
-28
8
6
-22
2
-8
42
3
6
33
1
-5
54
-10
44
-9
57
-3
12
55
47
14
11
54
28
-7
3
-10
-21
24
-13
-9
-3
24
31
-8
7
15
9
2
4
-11
35
-74
73
0
28
45
34
20
-44
18
55
36
55
5
77
1
-1
-5
-19
33
-29
0
-4
-2
-11
10
-27
40
28
23
20
5
-8
-53
-7
97
15
18
58
47
11
-4
76
107
-5
-20
18
100
-20
36
-24
-16
17
6
36
3
-1
12
21
20
10
21
38
6
59
15
-12
1
42
-23
5
-25
42
-17
-13
91
14
18
2
15
19
22
31
-30
29
-29
8
-34
54
0
43
15
-37
41
-7
0
13
27
12
-2
25
2
-5
16
27
0
2
-79
-3
-18
-17
-79
44
9
1
-9
29
-24
56
36
30
-10
-15
20
16
-31
11
-1
27
49
26
6
37
15
-9
-35
13
-40
31
29
-19
-62
-35
-21
-3
9
-2
28
-9
52
-11
52
-20
20
-5
-56
-11
15
39
34
-6
19
14
18
-20
32
-17
71
4
38
5
39
32
-7
22
45
10
13
36
24
-1
3
-14
32
2
22
33
18
34
-22
-10
16
16
91
16
15
13
2
38
74
-31
71
-27
-1
-26
-14
9
13
1
39
29
57
23
-43
-22
0
33
6
18
12
-4
-23
52
11
7
-5
10
76
5
15
4
-8
3
32
38
-7
9
9
16
49
11
25
54
-1
-14
-17
30
25
25
36
50
-36
-14
24
-4
8
-3
-4
-12
-13
-18
-18
-27
22
-3
22
-3
20
14
37
-11
9
-4
-17
-1
60
-8
44
26
5
33
20
21
11
-10
12
16
-7
-42
-7
40
-4
-49
-11
-30
-30
37
50
-4
64
22
41
-5
33
-18
10
24
12
4
5
22
43
-56
19
81
-3
22
24
64
-2
22
-45
29
27
2
0
-17
-19
-24
38
26
49
15
23
-23
62
7
-16
-26
-79
6
45
11
21
18
14
19
23
7
-14
35
29
24
21
13
-9
72
23
16
68
15
50
18
-28
1
8
45
-22
25
39
21
-4
-11
-25
-21
-18
6
26
49
3
20
34
35
12
50
31
-11
8
50
-9
7
21
7
-13
8
-3
36
-8
12
21
13
-2
-5
-10
-17
-32
-56
4
-26
44
-20
-13
32
-18
22
17
-3
-6
-29
31
26
37
39
41
4
54
1
12
38
-2
5
-7
-10
40
20
18
-15
15
19
71
-8
22
23
-6
32
-10
31
54
-23
29
6
80
2
50
16
56
33
-22
12
33
1
32
14
-7
-46
-49
8
21
-43
58
20
70
-17
10
15
-23
19
25
23
5
36
8
-4
27
38
19
28
8
52
13
24
33
45
35
39
43
1
6
-22
47
4
35
4
-14
-21
8
1
22
12
23
44
-50
35
-25
54
1
-19
60
29
13
22
15
11
5
15
6
46
52
-15
-21
4
32
30
49
-10
12
29
7
-19
33
10
29
-28
34
-39
-44
60
-6
-6
47
57
17
17
7
59
35
-16
19
-7
11
13
21
-28
51
-35
0
-23
-18
-4
-12
-7
53
41
12
3
-58
70
62
-34
6
6
34
-2
60
61
9
-3
-13
22
1
12
-37
-1
-10
7
1
8
6
13
3
5
0
0
-3
27
7
28
-9
6
-34
14
-3
27
-38
5
6
36
17
46
70
28
56
52
-30
-8
-27
33
34
-11
-19
15
8
6
1
16
24
17
17
8
33
-24
-12
19
44
19
-9
34
43
23
17
-2
17
1
-14
41
73
-2
31
6
11
9
27
-3
20
1
30
-15
11
16
30
-4
42
-34
12
-9
-14
-2
-18
10
19
-6
6
-37
28
25
-7
-13
-10
22
26
7
24
1
28
23
32
7
63
16
30
69
8
18
18
-6
-1
22
-15
22
-8
52
-18
-21
21
17
12
56
5
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
9
-6
-4
24
-10
-14
-16
-23
-7
10
15
6
15
11
6
0
-11
23
-11
43
27
26
4
77
18
19
11
-3
39
0
-2
22
-7
-16
10
13
6
-33
-1
-3
-5
-20
39
46
4
13
-1
-2
-7
-10
-12
41
-1
0
26
3
16
10
39
56
45
18
4
67
2
9
23
-8
-18
-11
9
17
2
-11
-29
1
-5
25
-19
-5
4
39
18
43
-6
49
26
50
-34
18
2
33
40
22
14
8
9
-11
20
41
25
25
3
41
12
7
-32
52
-29
4
-10
1
23
34
50
1
44
37
19
-28
5
36
20
39
8
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
12
7
-11
26
9
5
-12
35
51
12
-16
-9
67
-17
-20
-7
25
-10
-40
20
30
3
-1
16
18
-14
8
10
15
-1
-12
15
25
-8
14
41
-2
-27
-30
33
60
65
30
16
-11
-1
-40
18
6
-6
-24
3
60
-2
13
26
35
-1
-17
32
17
-7
29
-3
30
11
28
16
24
5
43
-12
21
8
33
-12
71
-37
13
-9
36
16
16
-55
25
-10
5
-9
0
-18
38
15
17
35
28
-13
-12
-7
-12
12
67
19
45
46
52
60
4
17
46
-10
36
1
-17
46
-8
28
26
26
66
42
42
9
-29
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
15
13
26
-13
11
-18
42
37
53
-28
31
19
-2
33
23
58
40
-6
11
34
14
0
30
27
13
27
-13
22
32
-11
9
-24
13
9
39
55
4
-60
31
25
27
8
18
49
51
-8
-4
10
31
19
-9
-1
3
2
-2
18
35
-11
27
62
33
31
17
21
-2
10
-30
60
34
2
-5
40
20
22
-18
63
5
12
-14
70
-12
35
4
-7
13
33
-1
50
4
17
-22
34
7
13
8
33
-18
-1
29
59
26
45
62
53
-1
-4
18
-1
20
38
27
21
2
10
-2
26
29
6
-4
47
40
12
-7
-12
22
40
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-9
12
0
0
0
0
10
4
-9
-9
0
0
0
0
2
-5
3
24
0
0
0
0
-2
-15
4
10
0
0
0
0
-16
-27
17
10
0
0
0
0
6
-3
-7
29
0
0
0
0
-27
-21
22
-1
0
0
0
0
-35
8
6
43
0
0
0
0
5
24
24
20
0
0
0
0
10
1
-1
6
0
0
0
0
23
39
-11
57
0
0
0
0
-11
41
-27
24
0
0
0
0
14
11
24
10
0
0
0
0
1
-16
9
-28
0
0
0
0
26
16
-38
42
0
0
0
0
9
5
74
26
0
0
0
0
0
-14
4
-7
0
0
0
0
5
-4
4
19
0
0
0
0
-13
-12
-10
33
0
0
0
0
20
-7
37
-4
0
0
0
0
-22
-25
4
4
0
0
0
0
-8
-27
2
9
0
0
0
0
-51
-23
4
8
0
0
0
0
-46
19
47
-51
0
0
0
0
12
19
1
17
0
0
0
0
-1
2
-1
-15
0
0
0
0
-37
28
6
-18
0
0
0
0
1
9
-40
35
0
0
0
0
8
-26
-2
21
0
0
0
0
-4
9
-10
11
0
0
0
0
-5
40
23
34
0
0
0
0
-4
36
33
68
0
0
0
0
18
7
19
28
0
0
0
0
3
14
3
19
0
0
0
0
11
-20
-8
12
0
0
0
0
29
-17
-7
46
0
0
0
0
-7
-14
12
11
0
0
0
0
-14
-18
14
3
0
0
0
0
-18
2
73
55
0
0
0
0
5
7
86
33
0
0
0
0
6
30
0
-1
0
0
0
0
-15
12
10
6
0
0
0
0
17
57
3
16
0
0
0
0
42
21
-9
16
0
0
0
0
19
24
25
46
0
0
0
0
12
8
7
-11
0
0
0
0
65
23
56
-11
0
0
0
0
13
34
-21
58
0
0
0
0
19
15
10
16
0
0
0
0
25
15
-3
9
0
0
0
0
47
32
29
7
0
0
0
0
34
38
21
19
0
0
0
0
-5
12
19
51
0
0
0
0
3
-5
-7
33
0
0
0
0
36
-24
13
67
0
0
0
0
22
12
29
26
0
0
0
0
26
57
16
18
0
0
0
0
-6
3
-4
17
0
0
0
0
35
10
14
8
0
0
0
0
15
47
3
-1
0
0
0
0
35
3
-9
-22
0
0
0
0
4
21
-4
0
0
0
0
0
34
38
61
45
0
0
0
0
75
15
31
21
0
0
0
0
-12
14
-26
-15
0
0
0
0
5
11
9
6
0
0
0
0
-22
-19
-46
-30
0
0
0
0
31
28
-7
14
0
0
0
0
-49
-22
-27
52
0
0
0
0
7
-40
40
23
0
0
0
0
0
-3
-32
34
0
0
0
0
31
-18
45
31
0
0
0
0
-17
25
-16
-58
0
0
0
0
-8
44
-6
31
0
0
0
0
-2
16
-3
14
0
0
0
0
19
54
-7
-5
0
0
0
0
51
21
1
10
0
0
0
0
22
11
22
7
0
0
0
0
22
7
-7
25
0
0
0
0
47
26
35
29
0
0
0
0
20
17
-41
-15
0
0
0
0
28
1
40
33
0
0
0
0
-8
-36
-32
-20
0
0
0
0
39
23
22
46
0
0
0
0
-3
-9
28
73
0
0
0
0
14
-38
23
35
0
0
0
0
-33
-39
6
20
0
0
0
0
-41
-24
39
45
0
0
0
0
-24
8
-3
-17
0
0
0
0
40
42
16
42
0
0
0
0
19
19
-14
18
0
0
0
0
40
2
25
40
0
0
0
0
34
24
10
-4
0
0
0
0
25
1
50
16
0
0
0
0
31
41
-1
3
0
0
0
0
-42
42
8
-2
0
0
0
0
-2
-19
20
47
0
0
0
0
10
18
25
45
0
0
0
0
-35
24
4
50
0
0
0
0
13
13
-7
18
0
0
0
0
13
-68
60
76
0
0
0
0
-27
-14
65
30
0
0
0
0
-3
-33
64
29
0
0
0
0
20
13
2
15
0
0
0
0
-24
-12
-26
32
0
0
0
0
31
11
-9
-17
0
0
0
0
0
44
16
1
0
0
0
0
31
5
-54
-8
0
0
0
0
52
48
2
-29
0
0
0
0
-2
28
-9
6
0
0
0
0
25
78
36
15
0
0
0
0
9
16
28
10
0
0
0
0
23
42
46
19
0
0
0
0
40
8
5
41
0
0
0
0
34
32
49
29
0
0
0
0
14
27
9
15
0
0
0
0
26
13
37
48
0
0
0
0
33
5
24
34
0
0
0
0
-5
-16
38
19
0
0
0
0
14
9
39
21
0
0
0
0
13
34
-7
-12
0
0
0
0
25
38
-8
-7
0
0
0
0
56
20
-12
62
0
0
0
0
33
2
15
5
0
0
0
0
30
46
17
86
0
0
0
0
51
-8
-23
-20
0
0
0
0
-5
25
40
11
0
0
0
0
55
-12
12
-25
0
0
0
0
0
17
-6
5
0
-2
2
11
15
14
-15
9
0
-4
-14
-2
34
15
6
11
-1
-16
-38
-38
-9
8
5
20
-18
-27
-7
-24
-3
16
8
-11
-12
-7
44
27
1
-3
5
46
-16
-23
-7
-11
35
-8
-14
-13
-22
-34
40
-84
5
-23
15
-15
-67
-31
-37
9
-2
-12
-8
26
13
2
8
7
0
-4
-16
11
10
-25
-36
-1
10
16
19
26
15
-21
31
24
19
-39
-28
-25
-5
0
80
42
-19
-1
18
11
18
14
10
39
-19
-28
25
48
12
-5
7
-12
-20
5
30
8
-19
-19
83
29
-21
-49
17
53
-15
-21
6
25
7
3
9
26
-8
5
5
5
17
17
7
-9
26
-4
9
34
38
9
-4
16
25
-15
45
-4
25
18
-62
6
21
40
19
59
-16
-13
0
69
-1
-7
34
58
-4
13
34
42
7
10
20
33
6
34
-2
5
34
-42
72
-27
-15
30
-25
62
-32
-40
3
19
-22
-13
20
14
11
3
2
7
-18
-15
14
-41
7
12
28
-3
-2
4
4
6
12
-25
35
9
52
40
14
50
20
-43
37
-18
-35
-11
25
27
5
-3
18
32
-6
-13
56
-18
27
11
-2
36
27
-7
22
-11
15
32
-19
18
47
-33
-21
37
3
33
-5
55
13
26
-25
-25
-1
-12
16
4
18
29
-5
5
30
6
12
-2
44
28
23
22
33
-15
-8
53
34
37
31
-17
23
11
-3
-5
5
25
28
-2
-14
-6
46
28
-1
-41
13
-11
1
-28
30
8
13
21
-9
22
12
6
-3
28
-20
40
18
22
6
13
30
-6
-10
-24
-12
15
21
15
-14
-1
-6
-1
23
55
-9
32
19
5
-21
-40
29
-14
64
79
24
23
-36
39
32
-15
19
5
-31
-2
-29
0
26
76
0
59
34
32
2
-15
8
23
32
23
31
18
-51
-36
14
24
-15
8
-26
52
29
-1
18
26
17
35
-26
34
20
-4
0
13
19
-5
42
28
12
7
1
34
12
7
-29
-31
9
1
4
42
59
21
19
-2
12
31
7
23
8
3
29
0
-36
-13
66
57
-22
-7
24
1
9
28
25
30
-8
12
6
-8
21
-4
29
-29
-22
11
-4
18
-2
15
-3
27
18
14
8
14
-13
-20
5
15
14
11
-46
-27
10
14
-12
-2
28
9
11
6
-31
-45
13
7
6
56
14
53
11
20
44
2
38
7
14
15
-7
-43
-7
16
9
-3
69
-10
-23
-6
13
11
2
-12
18
4
-46
61
8
31
32
-2
34
6
-6
-47
-1
14
30
-3
19
28
-2
49
3
-24
6
0
-41
-34
46
26
4
-35
-16
26
-20
13
39
28
19
18
12
-30
-50
27
5
16
1
-16
42
1
-28
-38
-6
-13
26
41
-25
-27
6
14
-5
56
19
31
4
24
38
34
9
26
31
59
-33
10
-4
4
-10
-3
-11
56
21
-2
-25
11
-22
2
-12
44
49
16
-58
-10
-19
-27
5
48
41
-14
-12
24
-19
-15
-28
2
12
25
-22
-38
18
-16
4
41
62
68
10
-2
14
-1
10
24
19
105
-13
1
13
27
42
43
57
-64
12
-13
-12
15
-46
26
-36
-4
81
2
2
29
11
-8
61
20
32
35
19
-13
-5
-46
-17
2
13
2
32
0
24
17
68
-19
18
5
21
61
-2
44
-30
6
-7
17
52
57
64
17
1
51
11
3
-22
8
46
21
-22
-10
84
24
5
4
29
51
-15
-29
19
54
-32
23
81
-5
9
-47
-20
25
0
43
33
29
12
42
-15
-11
-70
0
39
-3
26
3
0
13
50
-20
36
16
31
43
-24
45
-1
45
36
8
-14
12
-27
-22
17
40
13
37
40
56
-50
-26
-50
-18
-33
37
12
-16
47
82
81
22
63
19
26
2
-3
-24
-9
-42
18
-4
43
77
8
2
75
-2
83
1
46
-5
71
3
-13
-19
-63
23
-14
-21
16
-63
36
-21
-18
-37
30
39
-22
16
3
6
-38
30
7
-5
-28
25
13
11
34
-31
47
-12
22
36
-14
7
35
23
-51
-5
-18
-26
25
36
16
0
30
-2
37
19
-32
12
2
41
-9
-6
46
-15
7
7
-4
43
38
27
52
26
7
-8
22
-38
5
13
15
-32
24
-27
6
43
1
9
39
-9
-6
4
-41
16
67
-1
14
8
50
-4
13
-5
40
6
32
-18
-74
35
-8
29
18
-18
52
53
-28
59
38
21
29
3
7
-15
24
-9
-32
19
-24
19
39
19
5
11
-46
10
0
14
16
23
-55
-5
58
16
-7
-10
-5
33
19
15
-22
-12
64
11
44
32
-28
-42
21
-3
14
24
-21
-42
25
26
12
-14
5
55
26
38
-46
7
4
1
19
-86
-30
-1
61
-20
31
45
14
57
46
30
-47
-38
28
21
43
-7
34
30
29
12
28
23
15
30
31
-3
-22
9
-5
-24
42
10
-62
7
19
27
-46
-23
42
88
50
4
-23
-30
12
-3
40
43
-3
7
27
13
26
1
8
57
29
5
-77
-20
-64
-56
-14
-79
16
-17
35
-51
0
49
45
24
43
38
-44
-17
21
50
33
-40
40
51
-18
27
-16
40
47
29
17
-11
20
13
-19
-42
16
41
-74
-46
40
-5
5
51
-32
-46
-8
-23
-36
20
46
-26
-10
-22
-2
-1
-47
0
-14
4
-29
-2
-13
-16
7
-3
27
-39
-7
-69
-59
-73
55
-11
9
105
-3
-14
7
-32
-36
-9
0
0
-20
37
-22
9
6
-4
-5
-14
9
-20
8
0
16
33
50
62
-50
9
-33
2
-35
21
-21
-4
13
59
20
-12
4
-53
18
14
-9
-26
-4
28
-29
12
-23
2
2
15
2
0
25
60
61
101
11
19
-38
-9
47
-57
21
19
-1
17
17
4
13
49
6
35
10
33
0
-6
7
9
-10
-23
0
12
-2
0
23
-50
8
-18
9
18
1
26
18
-22
-63
10
-22
-31
14
-41
17
-52
-19
1
25
-7
17
12
-26
-16
18
-10
-20
-17
-17
10
-49
-33
-47
8
21
-44
42
12
-15
12
11
9
-9
5
61
15
15
-8
-10
-8
-19
3
10
-5
-33
0
1
0
2
8
0
-2
-8
29
27
50
14
39
9
66
0
34
0
2
34
-2
16
3
13
-13
39
-4
-6
-12
2
13
-29
1
6
-10
-7
7
18
3
-15
56
15
3
-22
47
32
53
13
-4
-12
-38
16
30
-3
-5
1
25
-24
0
4
10
0
-1
-20
0
4
0
-1
-1
3
8
-16
15
-50
-27
-3
29
-24
6
31
-21
20
-6
-1
-5
-3
41
-5
-34
36
7
-1
-3
-7
-15
-22
23
-13
16
31
49
17
-7
-30
21
4
0
-12
-10
8
-47
-30
-31
-15
-15
5
39
36
15
24
-38
13
-29
14
3
8
-2
29
30
4
0
22
-21
2
9
-48
-11
-4
-3
-24
32
5
-24
-31
26
-19
-42
-27
15
5
59
-3
28
7
-10
-27
-8
1
-11
-30
4
9
3
15
6
-7
-2
-13
-32
12
5
34
-23
17
-19
-18
49
10
-20
-4
-26
52
-3
6
7
21
18
-9
-11
6
0
12
-8
2
-9
6
-11
-1
18
-6
-49
-62
-11
26
-35
11
47
12
-69
10
-19
20
14
34
42
-31
36
7
-5
3
21
3
-8
21
19
0
9
-10
0
12
-21
11
-38
17
36
-28
-47
70
-16
-14
-77
40
55
34
21
-19
-24
-28
-7
0
4
7
4
3
0
-28
-6
0
8
12
11
9
-6
-19
7
28
8
22
27
-21
0
-99
50
16
-1
24
46
24
-67
4
-33
-2
7
-11
13
-7
8
-7
2
7
8
-3
-8
7
28
3
40
-12
-6
37
5
48
36
-32
-21
-4
31
-20
30
3
4
8
-1
-6
6
4
-1
3
6
-3
1
-11
16
2
3
0
-3
22
-1
7
-24
1
-11
-14
-18
25
-53
27
-4
-25
-7
-3
11
3
29
-41
-19
-12
-16
-17
-12
40
-10
-16
-14
-26
-30
4
-13
24
13
-32
-41
-16
11
26
-29
-38
16
-11
-16
19
11
-12
9
43
-29
-17
30
42
44
-57
-7
1
-30
-16
19
-9
-1
-12
6
-7
-36
-50
24
16
23
15
48
-51
11
3
-9
23
-3
2
17
-65
27
-14
-20
-30
-10
-14
17
-3
18
-26
3
16
-10
-7
4
6
10
-7
36
27
-16
-6
1
-9
10
-15
8
0
1
-15
-18
-20
55
20
-30
-3
3
16
16
0
10
10
-2
-11
20
-9
17
-52
-31
-45
20
39
7
44
-9
18
-5
-2
2
2
17
7
-4
18
19
-24
26
-42
7
-2
-24
14
-4
34
-13
8
0
-2
28
31
43
17
14
-6
-9
-8
33
20
9
12
-11
4
0
-21
-29
2
-15
-10
21
-22
-27
-7
8
22
-9
8
-10
-12
-3
1
-2
-31
23
-13
-8
-27
20
3
28
-1
25
19
13
4
-4
8
-9
-30
-5
30
-4
-3
-12
11
0
-29
8
13
2
-1
8
-18
9
3
19
-12
16
10
6
6
27
-9
13
-1
16
-1
19
-1
-3
-6
-7
-6
-8
10
0
-15
-13
-16
4
-2
0
-6
-11
-2
8
-47
20
-46
-10
-7
-12
11
8
-22
19
-1
-11
-3
-4
-14
16
16
1
15
4
2
9
-30
28
13
35
-14
16
-24
-2
11
-14
2
-15
3
15
36
-11
0
-8
9
-2
-10
-1
-12
-4
18
-6
50
18
0
-23
17
-5
-13
15
46
22
23
8
-6
25
16
-16
17
26
-25
-1
24
0
0
-15
-23
-21
-25
-5
-20
6
13
19
-4
5
-29
1
-6
-18
11
8
23
0
22
6
-8
-4
2
0
27
25
0
-3
0
-7
0
-6
1
-10
-12
16
-28
-2
-3
-4
-20
5
-7
12
11
11
12
8
1
-24
18
-14
0
6
-12
-11
-35
-6
35
-3
-43
10
-1
7
-20
-25
-27
-3
20
-1
19
32
14
17
-24
0
33
16
-10
-2
17
8
25
3
89
12
46
3
-23
24
7
3
-10
-9
-4
-3
9
7
-8
-1
3
-18
29
-15
0
3
22
37
-20
5
4
8
1
13
12
20
28
19
-7
-5
-3
-23
11
4
-7
-11
7
0
-2
0
6
-2
-11
2
2
7
4
-9
13
3
23
-7
12
-15
32
27
35
-11
-8
21
44
13
20
8
-9
30
-4
2
2
3
-4
-12
1
19
17
1
-8
1
-10
7
-15
-2
-7
0
11
13
11
15
-1
0
37
-7
2
-6
5
-39
0
15
5
-4
29
52
-35
-47
-28
-33
24
-4
-36
-6
-1
-25
-6
27
-29
32
-19
-3
-14
-5
29
11
33
15
19
-13
19
3
34
22
-7
-36
35
18
29
-37
-4
17
16
12
40
4
-28
-68
34
32
-47
9
-14
20
-28
33
15
-13
33
-29
33
25
-26
108
-29
52
-54
106
10
19
-27
40
-31
43
-38
22
34
1
-40
-1
-2
7
-20
-13
38
-8
-35
6
25
3
6
3
3
9
-10
14
24
37
23
66
45
12
-32
45
18
-4
-21
23
24
-4
-16
-13
18
60
8
-29
46
-13
-18
19
12
1
-12
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
41
-38
-11
-36
-20
-47
0
-49
40
21
-26
-76
27
38
2
36
-9
-31
-20
6
33
1
-7
-2
-4
28
-1
14
7
3
54
12
-30
-40
12
-53
-34
-85
13
-17
8
-44
-21
12
26
16
5
9
19
-19
11
-18
12
-49
-28
-16
34
-39
-3
8
39
19
-5
3
-8
21
12
24
-43
22
-3
8
-18
37
16
50
-13
-44
-2
38
-58
4
20
3
-5
5
28
11
-37
12
-1
-6
-17
2
-6
-19
42
-34
5
72
-26
-37
0
1
2
-1
-43
30
-13
-11
-26
46
32
0
21
21
11
25
7
7
-69
21
-2
6
13
-3
-12
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
35
-26
-1
8
10
-72
22
-60
17
-25
-5
25
14
9
-19
-20
-16
-1
-19
1
-9
11
26
8
21
53
-20
22
-5
-10
-42
48
90
-11
-38
51
-17
-15
-40
5
10
-1
13
6
3
28
-22
-47
23
-17
-30
15
10
38
-51
4
8
-50
15
10
8
-5
23
24
4
-50
-32
-20
48
-19
11
13
-10
-23
16
-6
10
-30
1
-35
17
16
14
-31
-1
-71
26
-21
-10
-25
6
32
9
13
60
-42
26
-11
-5
25
16
-18
15
-4
4
16
0
20
-2
-13
26
-10
17
32
-11
-11
-24
15
17
16
-20
10
-12
-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
24
-30
-15
11
-7
1
7
1
58
-5
4
-9
32
-25
-35
32
-11
23
-7
3
-6
23
15
15
36
51
-36
-7
56
39
-42
4
-13
8
-9
63
-10
-7
30
-19
25
12
-22
13
29
-12
-26
-25
-35
-1
-56
1
13
-4
-3
8
12
30
18
-24
0
42
-12
29
-14
-16
-47
0
5
3
-22
28
40
-41
-39
16
8
-7
6
1
-62
63
-26
-29
9
54
-9
-1
37
7
-42
8
24
11
45
4
-53
-50
34
57
18
12
9
9
23
-13
38
-26
-1
-10
10
16
34
49
1
-34
20
3
-8
17
27
8
-9
-40
15
2
13
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-22
-1
45
0
0
0
0
18
-5
-1
-19
0
0
0
0
22
-1
-7
16
0
0
0
0
6
4
-44
-8
0
0
0
0
-1
-22
44
-19
0
0
0
0
12
2
8
0
0
0
0
0
-7
-70
23
30
0
0
0
0
1
1
-10
22
0
0
0
0
0
60
-5
29
0
0
0
0
-47
10
-50
12
0
0
0
0
13
29
-11
34
0
0
0
0
-35
41
1
1
0
0
0
0
76
66
25
11
0
0
0
0
4
33
-1
-26
0
0
0
0
-1
39
0
18
0
0
0
0
39
-11
24
9
0
0
0
0
27
-40
-7
-31
0
0
0
0
27
-19
86
-27
0
0
0
0
-45
-19
-16
-50
0
0
0
0
13
10
-10
-17
0
0
0
0
-21
-13
30
32
0
0
0
0
-35
-39
46
-41
0
0
0
0
-64
-39
-60
10
0
0
0
0
-44
-1
1
17
0
0
0
0
7
43
-5
-5
0
0
0
0
-16
-21
-7
-6
0
0
0
0
-3
-3
27
-35
0
0
0
0
-35
-7
25
26
0
0
0
0
16
-4
72
-7
0
0
0
0
-6
12
-38
45
0
0
0
0
9
15
-3
24
0
0
0
0
-26
7
-10
21
0
0
0
0
18
-12
-12
-22
0
0
0
0
32
1
-12
-21
0
0
0
0
41
-34
5
28
0
0
0
0
-5
-1
17
0
0
0
0
0
-23
-39
-28
54
0
0
0
0
-27
-31
39
0
0
0
0
0
-63
-7
1
32
0
0
0
0
-13
1
38
-2
0
0
0
0
5
44
-51
23
0
0
0
0
-10
73
-86
36
0
0
0
0
-5
44
-30
-18
0
0
0
0
40
6
2
29
0
0
0
0
20
-3
20
32
0
0
0
0
6
38
-1
11
0
0
0
0
5
-15
1
2
0
0
0
0
5
-5
30
-8
0
0
0
0
42
47
19
-31
0
0
0
0
31
49
-11
13
0
0
0
0
19
23
21
-18
0
0
0
0
12
13
-37
20
0
0
0
0
-26
-7
33
11
0
0
0
0
7
-46
25
-40
0
0
0
0
11
5
19
4
0
0
0
0
26
9
-5
-14
0
0
0
0
38
69
-4
39
0
0
0
0
-38
23
-27
-13
0
0
0
0
5
-15
-11
6
0
0
0
0
7
41
-6
-35
0
0
0
0
-36
-8
-39
10
0
0
0
0
-26
-53
30
-12
0
0
0
0
37
17
-28
3
0
0
0
0
26
-8
-6
18
0
0
0
0
-29
12
-28
-38
0
0
0
0
-35
-21
4
8
0
0
0
0
-29
10
-28
-9
0
0
0
0
14
-10
-6
-4
0
0
0
0
8
-74
14
18
0
0
0
0
-12
-35
37
37
0
0
0
0
-27
-30
10
15
0
0
0
0
14
0
22
43
0
0
0
0
-64
56
2
15
0
0
0
0
-27
-12
36
4
0
0
0
0
46
-25
-31
15
0
0
0
0
-21
51
-30
-32
0
0
0
0
3
-20
34
12
0
0
0
0
36
-47
7
4
0
0
0
0
25
-24
13
30
0
0
0
0
38
-13
19
16
0
0
0
0
-47
21
-8
30
0
0
0
0
51
-9
-38
3
0
0
0
0
-8
-29
-26
-22
0
0
0
0
-17
-15
-25
-38
0
0
0
0
44
-33
-18
48
0
0
0
0
-81
-57
-18
2
0
0
0
0
-22
9
-1
2
0
0
0
0
-16
-16
4
36
0
0
0
0
-52
39
56
-26
0
0
0
0
5
3
3
16
0
0
0
0
-22
-12
-7
9
0
0
0
0
10
0
-1
-10
0
0
0
0
25
25
-4
37
0
0
0
0
-14
-17
4
54
0
0
0
0
-7
-1
0
-6
0
0
0
0
-10
-10
13
33
0
0
0
0
-10
-15
-3
41
0
0
0
0
81
-8
-22
7
0
0
0
0
-1
20
-8
15
0
0
0
0
34
3
-20
38
0
0
0
0
6
-13
8
34
0
0
0
0
20
-25
5
2
0
0
0
0
-20
-13
14
0
0
0
0
0
-20
-10
-3
28
0
0
0
0
-6
-10
-56
-4
0
0
0
0
-4
-6
-9
-29
0
0
0
0
20
34
-1
-25
0
0
0
0
-21
2
3
-5
0
0
0
0
-34
44
2
-8
0
0
0
0
28
-45
5
36
0
0
0
0
20
47
7
-16
0
0
0
0
-20
-16
-2
14
0
0
0
0
-14
40
5
-4
0
0
0
0
39
25
6
-1
0
0
0
0
18
3
20
15
0
0
0
0
39
-10
23
-28
0
0
0
0
14
11
0
17
0
0
0
0
6
38
11
3
0
0
0
0
-14
1
-7
9
0
0
0
0
3
3
8
21
0
0
0
0
7
3
3
0
0
0
0
0
-39
36
-12
-6
0
0
0
0
12
48
-22
21
0
0
0
0
65
-11
2
6
0
0
0
0
1
3
19
7
0
0
0
0
34
-38
16
-8
0
0
0
0
-4
-2
15
-3
0
0
0
0
39
12
9
9
0
0
0
0
31
83
49
24
-6
-11
-20
35
7
0
-8
32
-1
-26
7
-12
20
11
-25
33
-90
14
-2
-7
50
25
-44
10
32
28
-15
54
14
66
-10
37
-18
-58
63
14
-61
-19
5
15
-22
-87
-9
-4
2
-2
8
0
-13
6
-3
-16
2
-18
6
-4
-14
1
0
8
51
-25
27
53
-4
24
-38
-64
0
-33
36
17
-55
0
11
0
-37
21
13
12
-2
-4
-3
13
27
-23
-15
-9
23
-6
16
2
-79
26
24
13
60
26
31
-3
-28
-8
-15
11
-39
-11
-19
10
-10
43
-7
-1
3
0
8
15
1
1
-17
8
-16
-10
9
11
2
29
-3
81
3
-23
-7
-26
7
-23
-29
18
14
-35
-35
23
-24
18
-54
37
8
-16
29
7
-8
-7
-59
-7
10
-1
8
0
-23
-26
5
42
-36
-39
43
20
8
-19
0
55
-43
-4
25
31
-16
18
-5
27
-6
-17
10
14
18
-23
6
7
-19
-13
21
0
-71
-8
27
22
-15
11
-16
24
-36
-17
55
-73
-23
22
14
-12
8
0
-8
-1
0
5
8
7
6
-6
-3
0
-2
-9
-2
-2
-5
-4
-6
-5
7
-24
40
29
45
47
26
-7
40
56
18
-3
-29
-16
-7
-18
-3
15
-3
-15
-4
0
-15
6
1
-1
10
1
27
-32
-31
-43
-5
-52
50
-5
6
58
-11
-38
49
-24
2
-69
73
41
-26
4
-21
-15
-29
2
61
22
-16
15
6
14
-22
0
-55
21
26
-22
-11
-67
57
10
15
-9
-56
25
-9
-65
28
-46
-7
-6
-1
15
23
-12
0
4
19
-9
8
12
13
28
-13
16
8
10
-2
-57
-17
-10
14
39
9
-40
51
23
-34
19
37
-20
-45
-16
-7
-9
24
6
8
-1
-3
14
-5
-24
4
-24
1
13
-27
-25
-3
42
-75
-9
-21
34
31
-7
-47
-9
50
59
29
38
8
-13
22
1
-21
7
6
-4
-7
-16
11
-6
39
46
-18
9
-3
-31
-45
2
-30
-29
-23
7
-3
45
13
26
45
61
-6
-19
-17
20
12
9
-12
0
7
5
31
-9
24
-14
7
16
17
-4
-9
-50
-3
27
-43
11
-7
5
36
36
19
1
33
4
3
9
-28
-13
19
-11
-38
-15
0
3
6
9
-1
-11
-32
-16
4
1
-34
-55
-5
28
-30
5
-8
2
-47
32
-1
-5
13
9
-6
-42
-38
-4
-10
-1
1
15
7
6
-20
20
26
17
13
4
29
12
-7
-34
-20
16
3
14
7
21
-7
23
16
-4
9
-16
-3
30
-6
-1
-8
-3
-3
8
3
16
-3
-3
0
2
4
1
-9
4
15
24
4
-36
32
-22
-14
2
70
12
-13
-20
3
36
-15
-2
60
69
21
-42
16
-49
-26
13
-2
-9
4
-34
6
-5
-22
2
-4
-24
12
60
-24
-7
-20
5
-4
-17
21
-3
9
14
6
4
11
8
-16
3
12
-19
23
15
3
5
-19
0
17
10
1
11
-7
-17
-21
22
10
13
-13
1
-28
-17
40
6
-12
0
-16
6
-13
-11
-21
-7
27
-9
-16
-4
7
-1
-26
10
2
9
1
9
-35
-5
-30
-8
25
25
-19
-1
6
2
10
3
7
-24
-7
-11
5
-30
7
19
-42
-33
3
21
1
15
-8
13
-6
7
6
-12
-34
-30
30
-6
-29
22
19
-26
14
-10
8
3
2
-3
4
-12
33
30
-32
13
-22
-11
20
2
-14
12
5
-6
14
46
-5
-13
-44
-34
33
-3
3
-1
15
2
-5
-6
-25
-7
9
-24
10
5
-1
-42
53
9
-22
-13
-10
-19
7
19
-11
-4
17
-2
4
0
-10
-15
4
-13
17
-1
7
12
-6
4
13
-9
18
-6
-11
0
5
0
29
-11
13
3
-32
2
0
6
-23
10
10
28
-19
-16
-36
19
17
16
-11
6
30
10
11
-8
7
3
28
0
4
-26
-2
11
3
1
7
-6
8
9
-2
-18
8
11
-4
-7
6
8
-7
2
-14
5
-1
-3
-7
-25
28
-4
1
8
9
-3
-2
8
2
-24
22
17
2
10
-5
-4
6
8
4
-11
9
-23
17
-6
-15
8
8
-8
-30
-25
-1
-6
3
-15
1
9
-8
0
-3
3
0
-8
8
17
6
9
-9
0
-17
-11
4
4
37
-22
9
-25
2
9
19
15
42
-4
0
-6
9
-16
1
-10
33
-3
19
0
-35
7
-1
-15
2
17
-10
-6
22
14
-3
-11
-4
2
26
-2
1
-4
-7
39
2
21
0
2
-1
-4
13
4
0
-12
0
-1
28
-5
-30
26
-18
1
4
-4
-34
-11
15
0
24
17
10
4
-39
4
-7
3
10
2
-11
4
-1
0
9
-7
34
-4
4
-2
-17
-49
-18
7
2
12
0
-8
6
-24
-3
22
7
18
4
15
-8
9
0
-3
21
-1
-9
4
5
2
-3
-7
9
10
-3
11
-53
-16
5
10
1
-9
12
1
-14
-16
-6
22
6
2
7
-11
-30
6
-2
-10
8
1
-3
-1
-15
-6
-19
1
26
4
17
6
-11
-2
10
-1
15
5
11
4
17
-18
27
-8
6
27
-1
0
7
8
-8
-8
0
-12
-1
-10
-8
7
5
7
8
12
-3
11
-1
-16
1
17
4
-3
3
13
6
25
10
37
-27
-2
10
0
0
-5
44
-3
-4
0
0
40
-2
-34
0
0
0
1
-7
0
0
-4
-4
46
0
0
16
4
-10
0
0
4
17
-14
0
0
17
-9
1
0
0
13
25
-2
0
0
1
-10
-19
0
0
-12
-41
12
0
0
-39
46
41
0
0
-6
23
-34
0
0
-34
-15
-10
0
0
21
-13
-22
0
0
-2
-31
20
0
0
2
15
-47
0
0
-5
25
1
0
0
-16
-46
3
0
0
2
-30
0
0
0
-11
8
-1
0
0
-9
-24
-3
0
0
-20
-2
-1
0
0
1
2
0
0
0
6
-3
0
0
0
-23
5
8
0
0
0
0
0
0
0
-9
21
1
0
0
1
-6
0
0
0
-7
10
0
0
0
0
-7
0
0
0
-1
3
-1
0
0
0
1
0
0
7
30
13
-2
0
0
19
2
10
0
0
-22
0
-7
0
0
-27
-55
-15
0
0
9
35
-33
0
0
6
-2
-85
0
0
-3
-16
7
0
0
1
-27
-8
0
0
69
-8
-55
0
0
-33
-45
-32
0
0
-25
-23
47
0
0
-6
18
-10
0
0
-57
64
-14
0
0
45
-15
6
0
0
-55
20
29
0
0
-47
-17
14
0
0
-26
18
3
0
0
-2
6
0
0
0
3
16
0
0
0
-1
-4
0
0
0
2
3
1
0
0
2
10
2
0
0
4
1
0
0
0
-8
1
0
0
0
0
-12
1
0
0
0
0
0
0
0
-7
-2
0
0
0
2
-2
0
0
0
15
-3
0
0
0
1
0
0
0
0
-18
0
0
0
0
-3
0
0
0
9
24
11
-18
0
0
-25
-2
90
0
0
5
-19
7
0
0
0
-18
-2
0
0
5
-10
7
0
0
-4
-6
15
0
0
14
16
-4
0
0
9
-29
-2
0
0
19
10
20
0
0
-8
-1
-2
0
0
-35
-37
-8
0
0
-96
37
8
0
0
7
38
-69
0
0
68
-13
28
0
0
-20
26
-7
0
0
-32
-6
32
0
0
-9
-2
9
0
0
26
9
0
0
0
0
-1
1
0
0
-15
9
0
0
0
2
-9
-2
0
0
7
1
0
0
0
-1
0
0
0
0
0
29
0
0
0
-10
-3
0
0
0
0
0
0
0
0
15
-1
0
0
0
0
-1
0
0
0
-3
2
0
0
0
-6
1
0
0
0
-19
0
1
0
0
-3
-2
0
0
-8
-1
5
-63
0
0
-58
-38
41
0
0
9
3
-47
0
0
-2
3
33
0
0
-21
-27
7
0
0
-1
-19
-13
0
0
-22
19
2
0
0
27
-45
8
0
0
52
-24
12
0
0
13
-29
9
0
0
-99
-5
-3
0
0
-12
-15
0
0
0
-11
-16
-3
0
0
-37
40
-16
0
0
12
20
0
0
0
-5
15
-8
0
0
13
-11
0
0
0
3
2
1
0
0
3
2
0
0
0
11
0
0
0
0
6
-2
0
0
0
7
7
0
0
0
-6
0
0
0
0
3
-27
0
0
0
-13
-4
0
0
0
0
0
0
0
0
0
6
0
0
0
11
1
0
0
0
6
0
0
0
0
0
0
0
0
0
10
1
0
0
0
1
1
0
0
2
25
1
-33
0
0
-26
12
-95
0
0
-19
3
-17
0
0
1
-9
-60
0
0
7
15
-37
0
0
-12
11
-44
0
0
1
3
4
0
0
-14
6
-6
0
0
1
6
11
0
0
-51
-23
-2
0
0
-31
47
41
0
0
-34
-57
-3
0
0
-21
-42
-13
0
0
-11
-36
4
0
0
-94
-54
36
0
0
8
-70
45
0
0
-2
5
27
0
0
0
13
0
0
0
0
0
0
0
0
0
7
0
0
0
2
12
-2
0
0
0
-2
0
0
0
-4
-6
1
0
0
0
1
0
0
0
-5
1
1
0
0
0
1
-1
0
0
-6
0
-3
0
0
0
0
0
0
0
-10
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
20
1
-19
0
0
-36
1
-57
0
0
-65
-4
-10
0
0
-42
8
-14
0
0
0
33
-23
0
0
9
40
-26
0
0
7
32
8
0
0
-8
19
-3
0
0
21
-60
-1
0
0
-76
16
-4
0
0
-92
-54
20
0
0
-39
-26
15
0
0
-32
17
18
0
0
-13
1
7
0
0
-52
51
2
0
0
-33
3
48
0
0
19
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
3
-10
0
0
0
0
1
0
0
0
1
1
0
0
0
2
0
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
4
0
0
0
0
1
-2
0
0
1
27
-15
-14
0
0
-13
2
-29
0
0
3
-18
-29
0
0
4
-14
-87
0
0
-11
-43
-39
0
0
20
-6
-38
0
0
-21
-23
2
0
0
13
7
2
0
0
4
-27
12
0
0
-45
-34
19
0
0
-44
-26
12
0
0
16
6
25
0
0
-12
-4
-25
0
0
30
-13
-33
0
0
-23
-12
33
0
0
-16
42
11
0
0
19
-10
0
0
0
0
-3
0
0
0
0
0
1
0
0
13
-6
0
0
0
6
0
0
0
0
-1
0
0
0
0
-4
-1
-1
0
0
0
-1
0
0
0
4
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
22
5
-24
0
0
-27
-11
-33
0
0
6
-22
-55
0
0
13
-19
-12
0
0
25
5
-37
0
0
2
-65
-40
0
0
8
-8
3
0
0
1
7
20
0
0
52
-10
-49
0
0
-38
30
18
0
0
-71
5
30
0
0
-25
9
9
0
0
-77
21
20
0
0
-15
46
32
0
0
-13
-18
-34
0
0
52
-18
-19
0
0
7
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-10
7
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
10
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
1
0
0
0
0
1
0
0
0
-1
31
23
0
0
6
13
-41
0
0
0
45
46
0
0
42
6
-17
0
0
-6
13
1
0
0
-59
6
-37
0
0
-26
-2
43
0
0
-16
19
41
0
0
14
-24
-2
0
0
2
-10
25
0
0
17
-2
20
0
0
64
-43
-14
0
0
44
14
-4
0
0
8
8
38
0
0
-48
-31
2
0
0
-41
-21
3
0
0
25
-1
33
0
0
-11
-7
17
0
0
-1
10
-13
0
0
-3
-12
0
0
0
-36
-42
1
0
0
0
1
0
0
0
15
-10
-2
0
0
-8
1
-2
0
0
-21
-5
-30
0
0
0
-4
1
0
0
1
30
-6
0
0
5
-2
0
0
0
28
17
-2
0
0
0
7
1
0
0
14
-7
2
0
0
1
0
0
0
-3
35
18
2
0
0
-15
34
10
0
0
39
3
5
0
0
22
26
25
0
0
-32
9
-14
0
0
-61
13
-11
0
0
-33
16
-34
0
0
-52
8
-4
0
0
59
-2
-3
0
0
23
-45
2
0
0
-9
24
21
0
0
32
-20
-20
0
0
-8
1
20
0
0
-4
7
25
0
0
14
-10
-15
0
0
-1
-36
9
0
0
23
0
-1
0
0
1
7
1
0
0
1
8
7
0
0
-4
-3
1
0
0
1
-11
0
0
0
0
3
0
0
0
-24
-2
0
0
0
3
0
0
0
0
8
-6
3
0
0
-1
-1
-1
0
0
8
-3
8
0
0
1
-2
-2
0
0
-8
0
-15
0
0
4
9
0
0
0
-7
0
0
0
0
3
0
0
0
-8
10
1
-50
0
0
-36
3
-23
0
0
37
-6
-13
0
0
3
-7
12
0
0
-40
1
-18
0
0
-23
11
-28
0
0
-27
8
35
0
0
-30
-5
25
0
0
39
-27
8
0
0
-21
-30
-16
0
0
-20
34
5
0
0
62
-32
16
0
0
-20
-25
16
0
0
13
11
21
0
0
6
-36
24
0
0
32
-38
-4
0
0
0
22
-12
0
0
0
2
-13
0
0
-2
-2
11
0
0
-1
16
-2
0
0
2
18
0
0
0
-10
0
6
0
0
30
-13
-7
0
0
2
1
-1
0
0
16
0
-26
0
0
4
0
1
0
0
15
3
1
0
0
-1
-8
0
0
0
4
12
6
0
0
-2
1
0
0
0
6
0
-10
0
0
-4
0
0
0
-6
-38
40
2
0
0
-6
6
8
0
0
-2
31
-29
0
0
-7
14
1
0
0
-12
-16
10
0
0
-5
0
18
0
0
-14
-57
22
0
0
13
-9
6
0
0
-15
-9
10
0
0
-13
-42
44
0
0
28
-18
-51
0
0
19
-47
-39
0
0
7
-5
1
0
0
0
-8
16
0
0
-38
38
-2
0
0
-1
-22
-1
0
0
9
-13
3
0
0
-2
0
0
0
0
4
0
-13
0
0
-15
-1
1
0
0
-11
0
-2
0
0
-8
6
-1
0
0
15
-12
0
0
0
6
2
1
0
0
-4
0
-6
0
0
-15
0
0
0
0
-3
0
-1
0
0
-13
-6
0
0
0
26
6
0
0
0
4
1
0
0
0
12
-1
0
0
0
-8
0
0
0
-18
41
62
42
0
0
-27
31
10
0
0
26
-1
29
0
0
-36
5
19
0
0
-9
-17
-62
0
0
-18
-4
-19
0
0
-6
-17
-67
0
0
-9
2
0
0
0
-29
-16
17
0
0
26
36
8
0
0
29
16
29
0
0
22
14
16
0
0
3
6
-1
0
0
-22
-7
-1
0
0
-5
15
-4
0
0
53
31
6
0
0
-10
-26
-15
0
0
0
-7
-1
0
0
35
3
6
0
0
0
-4
0
0
0
13
-2
-9
0
0
-1
8
0
0
0
15
8
3
0
0
-1
0
0
0
0
8
-3
27
0
0
-1
-7
6
0
0
-1
3
-11
0
0
0
0
0
0
0
-10
-7
-8
0
0
-4
-7
0
0
0
12
-12
2
0
0
-6
3
-1
0
-7
34
42
12
0
0
-77
22
34
0
0
18
-19
12
0
0
-16
-1
-1
0
0
2
-10
-51
0
0
-8
-12
3
0
0
-16
4
-60
0
0
15
5
-59
0
0
-5
-32
14
0
0
-30
-39
16
0
0
30
-20
23
0
0
-8
-25
3
0
0
50
3
30
0
0
30
1
-28
0
0
-2
26
-2
0
0
32
2
13
0
0
-18
1
-8
0
0
0
0
0
0
0
-4
0
0
0
0
-2
10
0
0
0
3
0
0
0
0
-2
-4
0
0
0
3
0
0
0
0
9
2
0
0
0
-4
0
4
0
0
0
-3
0
0
0
0
0
-23
0
0
-4
0
0
0
0
6
0
15
0
0
-1
0
0
0
0
15
-2
0
0
0
6
0
0
0
-8
83
-3
-58
0
0
-3
-2
-76
0
0
-64
-12
-1
0
0
41
17
-36
0
0
5
-50
-31
0
0
-6
-27
-1
0
0
-8
6
70
0
0
-15
16
36
0
0
42
11
-12
0
0
-29
21
-20
0
0
16
-89
-4
0
0
61
-41
7
0
0
-1
-33
27
0
0
52
-5
-39
0
0
2
-27
5
0
0
9
30
-19
0
0
0
0
0
0
0
2
-1
-4
0
0
0
0
1
0
0
2
0
0
0
0
-2
0
-2
0
0
0
0
3
0
0
7
-6
-1
0
0
0
1
0
0
0
8
0
-1
0
0
0
1
-1
0
0
0
0
-1
0
0
0
2
0
0
0
17
1
-2
0
0
0
0
0
0
0
10
10
-2
0
0
-8
0
0
0
-4
-24
-11
30
0
0
-3
14
-17
0
0
-15
-2
6
0
0
8
-3
27
0
0
24
-48
-24
0
0
47
-38
-3
0
0
20
39
-20
0
0
-4
39
7
0
0
27
17
-16
0
0
-24
44
-6
0
0
-13
23
-79
0
0
-30
18
-1
0
0
-33
-48
53
0
0
-56
0
-21
0
0
-27
22
51
0
0
32
-35
32
0
0
4
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
0
0
-6
0
0
0
-13
-1
0
0
0
1
-1
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
3
2
18
2
0
0
-36
14
12
0
0
30
71
-21
0
0
-4
12
-2
0
0
42
36
-7
0
0
-19
10
2
0
0
2
13
0
0
0
-7
7
-2
0
0
-22
-23
0
0
0
12
-6
0
0
0
8
21
-6
0
0
2
12
0
0
0
30
-1
0
0
0
25
-28
0
0
0
6
-10
0
0
0
49
-6
0
0
0
11
-15
-53
0
0
-38
9
8
0
0
4
13
10
0
0
-2
2
-3
0
0
-5
37
28
0
0
-9
-13
-7
0
0
-20
-16
-1
0
0
0
-4
0
0
0
0
-30
-18
0
0
1
-11
-2
0
0
-6
-37
6
0
0
7
0
0
0
0
-43
-11
9
0
0
0
28
3
0
0
-4
13
0
0
0
-9
23
-6
0
10
-17
-34
-12
0
0
-12
29
1
0
0
-22
20
2
0
0
-28
18
-3
0
0
6
-10
-2
0
0
28
2
0
0
0
1
8
0
0
0
16
-15
0
0
0
48
-13
1
0
0
2
28
0
0
0
12
7
0
0
0
5
-11
0
0
0
-10
-27
0
0
0
-6
-10
0
0
0
19
-13
0
0
0
-1
0
0
0
0
-3
-4
-8
0
0
6
-2
1
0
0
0
30
0
0
0
0
-1
-1
0
0
-10
13
-4
0
0
28
16
1
0
0
3
4
0
0
0
0
0
0
0
0
-5
13
17
0
0
0
-6
0
0
0
33
-24
1
0
0
0
7
0
0
0
-7
12
0
0
0
0
-1
1
0
0
-1
12
0
0
0
0
-10
2
0
13
-7
24
-1
0
0
-2
-2
-1
0
0
-9
39
-4
0
0
29
12
0
0
0
7
27
-8
0
0
8
18
-1
0
0
3
3
0
0
0
-3
2
-2
0
0
59
11
4
0
0
0
6
1
0
0
-2
6
4
0
0
2
14
0
0
0
-16
28
0
0
0
3
-7
0
0
0
2
18
0
0
0
4
11
0
0
0
19
-23
-21
0
0
0
-11
0
0
0
-3
-10
-1
0
0
0
19
-6
0
0
0
-7
12
0
0
-2
-6
19
0
0
6
-11
0
0
0
-1
10
0
0
0
-22
20
-15
0
0
0
13
0
0
0
-8
10
-2
0
0
3
-17
0
0
0
6
55
-10
0
0
0
-6
0
0
0
-6
-26
4
0
0
28
-32
0
0
41
-5
-6
-3
0
0
2
1
0
0
0
-4
6
0
0
0
9
-10
0
0
0
21
-1
0
0
0
-2
-2
0
0
0
3
-2
0
0
0
6
-7
0
0
0
11
-11
0
0
0
4
2
0
0
0
-30
6
0
0
0
2
-15
0
0
0
29
13
0
0
0
-1
0
0
0
0
-12
-20
0
0
0
7
1
0
0
0
6
-2
0
0
0
0
1
-2
0
0
0
1
0
0
0
-11
0
0
0
0
4
0
-1
0
0
6
8
0
0
0
7
-2
0
0
0
3
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
2
0
0
1
-11
0
0
0
-8
3
1
0
0
-1
-6
0
0
0
0
-1
-1
0
0
-4
1
0
0
-18
6
-10
12
0
0
6
-14
0
0
0
0
-30
-3
0
0
0
-23
0
0
0
1
15
1
0
0
-1
1
0
0
0
-6
7
0
0
0
-1
2
0
0
0
-38
-7
-1
0
0
3
24
0
0
0
17
15
0
0
0
10
0
0
0
0
-13
-9
0
0
0
-1
-17
0
0
0
-28
18
0
0
0
4
-13
0
0
0
-1
-6
-4
0
0
0
-2
-1
0
0
2
10
1
0
0
-1
2
0
0
0
6
-15
2
0
0
2
0
0
0
0
-9
9
0
0
0
0
-2
-1
0
0
-1
3
-14
0
0
-1
-25
-3
0
0
8
5
8
0
0
-7
-4
1
0
0
-20
7
-12
0
0
-1
7
-3
0
0
-18
32
-1
0
0
-1
8
-3
0
-16
-16
45
2
0
0
0
1
0
0
0
-1
2
0
0
0
13
7
0
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
0
0
-3
0
0
0
-7
-10
0
0
0
2
10
0
0
0
1
-3
0
0
0
-7
29
0
0
0
-9
1
4
0
0
-3
0
0
0
0
15
8
0
0
0
-2
10
0
0
0
-20
10
0
0
0
0
-8
0
0
0
-1
2
1
0
0
1
1
0
0
0
-1
2
0
0
0
-2
0
0
0
0
-8
1
0
0
0
1
1
0
0
0
-7
8
-6
0
0
-1
1
-1
0
0
2
0
0
0
0
2
-3
0
0
0
-3
-1
-7
0
0
0
18
-2
0
0
-3
1
-1
0
0
-1
3
0
0
10
-9
-26
-2
0
0
0
-1
0
0
0
-4
7
0
0
0
0
1
-1
0
0
9
0
-2
0
0
0
0
0
0
0
-2
0
1
0
0
0
-7
0
0
0
1
8
-1
0
0
1
0
0
0
0
9
1
-3
0
0
18
-1
0
0
0
-14
1
0
0
0
-4
2
-1
0
0
-6
-8
0
0
0
0
9
0
0
0
3
-3
1
0
0
1
-10
0
0
0
4
0
3
0
0
3
2
-2
0
0
-3
-1
1
0
0
0
0
0
0
0
9
-12
0
0
0
1
-2
-1
0
0
15
-3
21
0
0
0
0
0
0
0
22
0
0
0
0
0
9
0
0
0
0
-10
-2
0
0
0
-3
0
0
0
-6
-7
0
0
0
0
24
3
0
27
-7
0
0
0
0
1
0
0
0
0
0
-2
0
0
0
10
1
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
2
0
0
0
15
9
0
0
0
2
-20
0
0
0
1
1
0
0
0
14
20
0
0
0
22
0
0
0
0
-12
0
0
0
0
3
0
0
0
0
-1
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
1
1
0
0
-18
0
0
0
0
0
0
0
0
0
-12
6
0
0
0
-2
0
0
0
0
-23
0
4
0
0
0
0
0
0
0
2
0
0
0
0
2
-1
-2
0
0
-1
-2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-2
0
0
-13
10
50
11
0
0
-5
-15
-9
0
0
3
16
9
0
0
-2
17
0
0
0
10
-20
0
0
0
-2
2
-3
0
0
6
39
0
0
0
0
-4
0
0
0
-32
-10
-13
0
0
-23
-21
1
0
0
2
-1
0
0
0
-9
-29
-3
0
0
4
25
-1
0
0
1
-10
1
0
0
-17
49
0
0
0
4
21
0
0
0
-4
-6
-19
0
0
-1
33
10
0
0
1
-11
-11
0
0
8
-46
-9
0
0
-2
-4
9
0
0
0
-19
3
0
0
-24
33
13
0
0
0
-27
1
0
0
-4
0
-18
0
0
25
-19
8
0
0
-4
7
14
0
0
-6
6
-1
0
0
3
15
20
0
0
21
22
-2
0
0
-25
32
23
0
0
22
17
4
0
-4
13
25
0
0
0
-2
2
0
0
0
0
-22
0
0
0
-12
5
0
0
0
-2
0
0
0
0
-1
16
0
0
0
10
11
0
0
0
-1
-8
0
0
0
2
-27
1
0
0
-13
-4
0
0
0
-9
30
-1
0
0
25
-4
0
0
0
-13
-10
0
0
0
11
10
0
0
0
25
14
0
0
0
-1
-18
1
0
0
34
51
-2
0
0
-15
-1
-8
0
0
-3
1
12
0
0
10
13
1
0
0
8
-2
7
0
0
6
11
-2
0
0
6
11
3
0
0
-1
19
1
0
0
25
-17
26
0
0
-12
6
8
0
0
-23
-18
-6
0
0
1
27
22
0
0
-11
13
15
0
0
-2
25
-15
0
0
-2
32
-9
0
0
-7
13
0
0
-45
17
-11
1
0
0
-6
18
1
0
0
1
3
1
0
0
-1
-19
0
0
0
16
-24
0
0
0
1
-26
-1
0
0
-11
11
0
0
0
0
-1
0
0
0
17
12
0
0
0
-8
39
0
0
0
6
11
-1
0
0
11
34
0
0
0
-17
11
0
0
0
-5
68
0
0
0
-22
-17
0
0
0
-6
39
0
0
0
15
19
30
0
0
0
-25
9
0
0
0
28
-2
0
0
-26
15
8
0
0
12
1
-5
0
0
1
-9
3
0
0
8
-13
-9
0
0
-2
44
-1
0
0
6
-21
-32
0
0
2
-3
-7
0
0
1
41
-5
0
0
-10
-15
5
0
0
17
-3
18
0
0
20
-5
15
0
0
19
0
22
0
0
3
20
-1
0
18
-28
-6
0
0
0
2
3
0
0
0
0
-2
1
0
0
1
9
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
-1
0
0
0
-6
1
0
0
0
23
11
0
0
0
-12
14
0
0
0
12
-56
0
0
0
11
26
0
0
0
21
12
0
0
0
14
-1
0
0
0
5
11
0
0
0
-7
-2
-1
0
0
43
-21
2
0
0
3
27
-5
0
0
-8
3
6
0
0
21
2
-12
0
0
21
-2
0
0
0
-1
1
2
0
0
-12
8
-4
0
0
2
7
0
0
0
-6
-1
-1
0
0
-3
22
4
0
0
4
-10
-1
0
0
14
6
1
0
0
-7
-1
-1
0
0
-4
-16
4
0
0
-18
7
0
0
0
12
6
-1
0
3
-56
-28
8
0
0
0
4
0
0
0
-12
0
-2
0
0
4
-13
0
0
0
-10
-8
0
0
0
0
22
0
0
0
11
-39
1
0
0
0
23
0
0
0
43
-6
-2
0
0
-7
17
0
0
0
4
27
-1
0
0
44
-28
0
0
0
-18
11
8
0
0
0
-14
0
0
0
-19
19
0
0
0
-12
25
0
0
0
41
-11
-20
0
0
0
4
7
0
0
0
-38
-8
0
0
0
15
3
0
0
3
-6
13
0
0
-2
7
-1
0
0
-15
11
0
0
0
-1
0
0
0
0
-3
-14
-20
0
0
38
-3
7
0
0
-29
-21
16
0
0
22
32
6
0
0
1
-10
6
0
0
31
-7
1
0
0
9
0
-26
0
0
-19
-5
3
0
-42
8
13
-1
0
0
-3
-1
0
0
0
0
6
0
0
0
-1
-5
0
0
0
7
6
0
0
0
-1
-7
0
0
0
-4
6
0
0
0
0
1
0
0
0
14
20
0
0
0
-20
-6
0
0
0
-3
10
0
0
0
46
-46
0
0
0
-23
24
-3
0
0
15
-1
0
0
0
65
-4
0
0
0
3
-11
0
0
0
8
0
0
0
0
0
6
-1
0
0
1
3
2
0
0
0
0
0
0
0
-13
0
2
0
0
3
-1
-1
0
0
-24
2
-6
0
0
-3
1
1
0
0
-21
6
-13
0
0
-13
18
-3
0
0
6
0
10
0
0
3
-9
-7
0
0
1
-15
-12
0
0
-1
9
1
0
0
4
0
-1
0
0
13
-6
-1
0
-11
-7
9
0
0
0
0
30
1
0
0
12
6
-1
0
0
0
-4
0
0
0
-11
-6
0
0
0
0
1
0
0
0
-4
30
0
0
0
0
-1
0
0
0
-14
2
0
0
0
-1
-6
0
0
0
-5
2
0
0
0
2
5
0
0
0
19
-11
1
0
0
-7
-10
2
0
0
8
16
0
0
0
-2
27
0
0
0
-17
1
-7
0
0
0
-3
-2
0
0
0
0
-3
0
0
0
16
0
0
0
11
4
-4
0
0
0
-6
0
0
0
-15
0
1
0
0
-1
-8
0
0
0
-7
12
9
0
0
-4
-2
-1
0
0
-9
-2
10
0
0
-2
1
-3
0
0
-2
48
-36
0
0
-6
15
6
0
0
11
-19
10
0
0
-2
6
11
0
24
-9
2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
-4
0
0
0
1
3
0
0
0
0
-3
0
0
0
2
0
0
0
0
11
-12
0
0
0
-3
-2
0
0
0
-7
2
0
0
0
-1
-8
1
0
0
-11
-1
0
0
0
26
0
0
0
0
-6
-1
0
0
0
7
8
0
0
0
0
1
0
0
0
2
0
2
0
0
0
0
1
0
0
4
4
0
0
0
3
0
-1
0
0
-1
-1
0
0
0
22
0
3
0
0
-4
2
0
0
0
-8
3
-13
0
0
13
0
1
0
0
0
0
0
0
0
7
-8
3
0
0
3
-1
1
0
0
9
-3
1
0
0
13
11
3
0
0
-1
-1
-2
5
38
9
1
11
0
-29
11
5
27
0
-21
8
14
10
0
-25
7
-31
27
0
6
-8
3
-1
0
2
15
-4
-1
0
-1
1
14
-4
0
-4
3
-11
-7
0
25
29
15
27
0
23
-37
11
-7
0
20
0
-6
-1
0
5
22
21
24
0
-8
-19
3
6
0
0
-24
-1
-53
0
-35
9
-20
-44
0
5
-3
-13
-7
0
-33
25
-35
-37
0
-27
14
42
15
0
-50
26
48
-36
0
59
5
0
1
0
-7
10
-36
-2
0
1
-60
15
0
0
9
11
7
6
0
-11
1
0
1
0
-5
1
1
-3
0
8
1
-37
2
0
-20
-6
-1
-10
0
13
9
-11
1
0
10
14
-10
17
0
30
30
-4
-3
0
5
-24
0
0
0
-15
0
0
0
5
20
-3
10
41
0
-47
-3
-21
22
0
-27
0
17
1
0
-41
4
-1
6
0
-7
-17
2
4
0
0
-6
-1
-4
0
8
-5
1
-20
0
7
-9
7
-11
0
23
-11
11
-28
0
10
17
10
-13
0
-7
55
5
-61
0
-5
56
5
-27
0
-37
13
-6
-58
0
-16
-11
-29
-36
0
-21
10
-16
-19
0
22
-5
-31
7
0
0
-41
0
-8
0
11
-5
-17
1
0
-10
15
-21
-2
0
-12
9
6
0
0
-52
2
15
1
0
0
6
18
2
0
-25
-10
-1
0
0
-6
40
-3
0
0
33
-47
9
-11
0
5
27
8
0
0
-9
-13
-6
7
0
2
-2
2
-1
0
-20
26
19
1
0
-3
-25
-10
0
0
-15
-7
1
0
0
-10
-15
7
0
5
6
-4
10
12
0
-30
2
1
21
0
-15
-1
-11
2
0
5
14
-36
-2
0
14
-19
6
21
0
14
5
-11
7
0
0
-6
12
12
0
-15
-2
-7
-1
0
-32
19
-7
-5
0
-28
27
7
-5
0
-22
-15
-19
49
0
-19
27
8
30
0
-3
54
-19
-58
0
6
19
-39
-61
0
-28
-46
-6
-33
0
-9
-4
-11
-7
0
-4
-5
-4
-3
0
26
-28
12
-7
0
17
-10
-6
-9
0
-4
24
1
1
0
-12
-2
6
6
0
3
0
0
-3
0
-30
15
0
-2
0
-11
-3
0
0
0
5
-2
-13
0
0
-3
0
-12
0
0
13
14
19
16
0
0
10
-4
1
0
-5
-24
-5
0
0
13
-8
38
0
0
47
7
-9
2
0
-1
-1
-1
0
-13
5
-6
-18
6
0
8
-39
-25
-3
0
-16
-14
-27
-13
0
-6
-16
-62
10
0
38
-35
-1
-9
0
17
10
-13
-30
0
6
10
23
-3
0
-10
-17
-17
-26
0
36
39
37
-31
0
-57
12
4
39
0
4
9
50
3
0
20
26
-9
-7
0
12
-16
43
-13
0
48
-7
-35
4
0
11
-16
13
3
0
30
-5
-6
-3
0
1
-10
8
0
0
-4
6
-3
0
0
-1
6
6
0
0
0
-17
3
-2
0
-16
-2
0
0
0
-9
-4
0
0
0
21
-15
0
0
0
-2
-8
0
0
0
0
9
-6
0
0
8
-13
7
0
0
3
-20
0
0
0
0
9
0
0
0
-1
0
0
0
0
1
37
-11
0
0
-2
-1
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-55
0
-45
14
2
1
0
23
-3
9
-35
0
18
-3
33
27
0
20
4
-8
11
0
19
8
3
-8
0
16
1
9
-36
0
28
-3
1
-50
0
-3
-2
7
30
0
-9
-29
-1
30
0
17
-10
9
15
0
1
-15
21
21
0
-11
8
12
21
0
-15
-13
30
8
0
19
1
9
1
0
26
-2
42
-36
0
12
20
-19
9
0
-3
-11
19
-2
0
36
10
26
-9
0
-15
9
-5
-1
0
-21
16
6
2
0
2
6
7
0
0
-26
39
-28
7
0
18
2
0
1
0
-61
-17
-6
30
0
15
-29
21
-7
0
25
2
25
24
0
8
10
-24
1
0
17
-13
-34
-19
0
-82
1
35
-2
0
-22
-1
-22
-20
0
43
-6
-7
1
-8
31
3
-10
3
0
-62
15
-30
-19
0
40
-20
0
9
0
5
-12
-6
-54
0
11
3
-21
18
0
24
14
4
6
0
9
6
-17
-44
0
20
1
17
-21
0
-56
8
0
1
0
-19
-18
-3
15
0
12
-51
-8
-2
0
26
-56
-30
-1
0
-19
-3
19
5
0
-9
7
-2
10
0
24
8
19
-3
0
38
-2
38
3
0
-13
-8
-2
-1
0
6
30
-18
3
0
-5
16
10
1
0
12
-17
8
1
0
0
-1
-11
-1
0
-3
-16
18
0
0
-58
12
-1
0
0
-3
-1
0
0
0
15
-40
67
-1
0
-28
24
44
0
0
-26
49
9
0
0
3
4
0
0
0
-38
-8
13
0
0
2
3
-6
0
0
41
-9
-10
0
0
11
21
9
0
-2
-8
-7
2
6
0
25
5
14
42
0
8
-29
22
-15
0
-6
9
38
3
0
26
-9
-16
3
0
3
5
-49
-44
0
8
7
2
-59
0
3
12
15
68
0
-3
-38
-9
13
0
1
-2
-8
1
0
17
7
-6
-21
0
-1
-94
-38
7
0
7
14
-7
-8
0
-2
-6
20
-5
0
30
-19
24
-38
0
7
-23
25
39
0
-23
2
-27
2
0
-1
28
7
0
0
28
0
56
0
0
15
10
-13
2
0
-18
6
-21
3
0
19
-3
-2
0
0
49
-22
17
4
0
39
-22
4
0
0
-44
-34
-27
-8
0
-22
25
5
4
0
1
-7
102
-4
0
10
-5
-23
0
0
-53
-2
4
0
0
25
7
-2
0
0
6
-19
7
0
0
9
4
-21
0
-7
6
-12
3
-52
0
35
-7
-25
0
0
-10
-23
-89
1
0
1
2
27
-6
0
6
-7
23
-38
0
27
7
-2
3
0
-7
-4
27
-16
0
8
15
-11
1
0
-46
-38
-12
20
0
-17
-10
18
-12
0
32
40
1
3
0
-2
44
-21
30
0
6
-26
6
-9
0
-9
-10
-25
-31
0
6
34
-4
7
0
-20
17
-9
21
0
-3
7
-8
0
0
-6
-2
-8
0
0
10
-3
-1
0
0
4
-1
0
-2
0
-8
0
0
0
0
0
-28
-1
0
0
6
18
-4
0
0
-23
11
1
0
0
-19
-38
14
0
0
-35
-11
19
0
0
25
19
4
0
0
8
-3
0
0
0
38
-10
-20
0
0
-10
8
18
0
0
-12
4
-1
0
0
-14
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
-28
-18
0
-28
-21
20
21
0
-4
-19
30
13
0
2
-9
-4
0
0
-7
-41
18
-10
0
18
5
-1
-1
0
-6
13
-4
27
0
-3
8
21
-2
0
-15
-9
14
29
0
3
-7
-18
-15
0
-50
22
-2
16
0
75
12
-7
-4
0
-6
-7
-18
-13
0
-6
14
-2
7
0
-5
24
-3
-10
0
10
-39
-4
0
0
27
26
36
-1
0
8
-9
37
10
0
0
38
4
10
0
26
-10
27
4
0
13
-42
32
27
0
1
22
2
3
0
26
16
-20
4
0
11
27
-1
0
0
23
39
-9
-17
0
-6
74
20
22
0
-13
-12
23
15
0
-16
7
5
1
0
-28
-16
14
-26
0
-1
15
-29
9
0
3
-17
61
-13
0
8
39
-13
2
-7
-10
30
-33
-3
0
8
2
-1
3
0
16
1
-15
1
0
-22
10
-4
-1
0
-7
-5
9
3
0
10
57
-13
0
0
28
-6
-37
0
0
-6
21
-2
0
0
22
9
-10
13
0
-5
4
9
0
0
-1
-5
16
0
0
16
-21
26
-1
0
-20
26
-11
-2
0
-32
35
4
-1
0
38
-14
1
0
0
-25
-5
-4
0
0
6
-6
16
-4
0
1
29
1
-2
0
4
22
7
10
0
0
41
-6
-3
0
-14
-7
-16
-3
0
-1
24
14
-3
0
1
-19
-22
1
0
-7
10
0
-2
0
-27
16
-10
-41
0
14
-40
6
13
0
2
-4
30
-15
0
3
-5
6
-2
0
26
14
-36
38
0
65
-11
31
-4
0
38
-5
30
42
0
10
7
2
1
8
29
6
15
26
0
-7
13
-3
0
0
4
-18
41
-6
0
9
7
12
-1
0
-11
-49
46
-8
0
-10
-7
-4
0
0
24
-13
1
-2
0
-9
25
3
0
0
14
24
-32
-4
0
13
-5
-22
1
0
-8
-13
-15
-2
0
7
-14
2
-12
0
6
21
0
-4
0
-29
46
4
1
0
28
1
6
12
0
37
17
0
0
0
-7
69
24
3
0
-7
-6
13
1
0
-13
-19
-1
-8
0
-4
1
-15
-3
0
6
-36
9
-23
0
0
-2
32
0
0
-4
3
-26
1
0
-9
3
0
0
0
3
13
-25
9
0
23
-25
26
0
0
10
9
27
20
0
-11
-18
30
0
0
-15
5
-1
30
0
0
1
25
1
0
13
-9
54
1
0
-27
-25
3
0
3
-8
9
12
0
0
-12
27
-3
0
0
25
-9
-15
8
0
-41
49
-1
-3
0
-11
-4
0
0
0
-1
9
-7
0
0
-2
-10
4
-1
0
36
-10
0
-1
0
-21
-10
2
0
0
8
0
3
0
0
0
18
1
-1
0
-28
55
2
-1
0
-15
-19
0
4
0
3
26
-1
-6
0
-2
23
0
0
0
-1
-13
0
0
0
3
-10
-10
-1
0
1
0
-1
0
0
12
12
0
0
0
0
0
0
0
0
-8
0
0
1
0
-3
-8
-3
0
0
7
0
0
0
0
13
0
2
0
0
9
-27
28
-1
0
-11
-6
3
2
0
-11
20
-8
-1
0
-4
68
-7
0
0
6
46
-40
-1
0
3
-3
-14
1
0
7
-4
0
0
0
44
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-82
72
49
0
62
-25
-6
-7
0
20
34
21
0
0
-7
-2
14
0
0
34
-55
-23
11
0
-11
-12
32
2
0
0
46
0
-6
0
19
3
2
0
0
2
-16
-2
0
0
22
10
-24
-10
0
24
3
32
4
0
21
-49
25
-3
0
-10
26
25
-7
0
37
-20
19
30
0
16
5
-34
1
0
37
-28
-2
0
0
-18
-60
16
-22
0
-1
103
-52
11
0
-39
62
33
-17
0
-14
-21
-52
8
0
7
-29
-18
-30
0
10
11
12
-4
0
41
46
-19
-2
0
50
-10
-3
10
0
-7
48
29
-8
0
0
-14
22
-18
0
5
34
51
7
0
27
11
12
-2
0
7
5
27
29
0
-13
7
26
-23
0
-27
-57
71
5
0
-25
-27
14
0
2
-6
40
45
3
0
12
13
-12
9
0
-1
-4
-4
-3
0
-11
18
-28
0
0
-19
24
-9
-3
0
4
-8
-2
0
0
-12
33
-1
1
0
2
3
0
0
0
9
5
2
-12
0
1
42
3
20
0
22
-2
-11
4
0
35
-32
-20
3
0
-21
-6
18
24
0
-46
31
4
29
0
-6
-16
1
2
0
19
-14
6
2
0
37
-16
23
24
0
7
3
-8
-7
0
22
5
-13
28
0
5
8
14
-2
0
41
-4
-26
1
0
1
-9
-1
0
0
25
7
-14
-1
0
-17
-21
-7
0
0
-48
5
41
-29
0
0
-3
21
2
0
4
31
-36
-16
0
15
-12
28
-6
0
4
21
19
11
0
-6
6
14
-3
0
-16
24
44
8
0
1
5
-10
0
7
6
7
-29
2
0
17
-18
1
0
0
-1
-15
10
4
0
13
-4
-3
7
0
61
-8
42
1
0
-15
-7
-3
0
0
18
2
-13
8
0
-1
21
1
0
0
-3
4
-42
0
0
-9
-2
-16
17
0
20
29
-19
7
0
6
1
0
1
0
-8
31
-17
40
0
-33
-11
-33
-9
0
2
-7
6
-16
0
-44
-1
4
2
0
-12
-2
9
11
0
-2
-1
55
-6
0
1
-27
23
-3
0
-20
36
14
-10
0
44
-3
-32
6
0
4
-24
47
-7
0
8
10
12
-11
0
6
6
22
1
0
-5
-24
-5
55
0
32
5
21
-18
0
51
26
-31
-2
0
13
56
-13
6
0
-2
42
-24
-3
0
23
56
-4
-17
0
5
61
-53
1
0
43
-8
-10
-12
-1
-10
29
17
-7
0
-16
-5
-7
0
0
1
6
0
-7
0
8
-5
2
0
0
2
0
-1
0
0
-12
-15
-1
0
0
11
-21
-3
0
0
-7
4
0
0
0
37
35
11
0
0
-46
61
1
6
0
-14
-8
4
-1
0
-15
-13
8
-19
0
28
-11
-1
3
0
10
-18
3
-10
0
2
-1
0
1
0
-9
0
-3
0
0
-5
-3
6
0
0
2
-5
1
0
0
-7
-1
23
-6
0
29
3
-7
-3
0
-1
-20
7
-3
0
0
32
-17
0
0
-13
-19
12
0
0
-13
-10
2
0
0
-29
-19
12
13
0
-12
-18
14
23
0
-90
15
-28
21
0
1
1
15
23
0
8
-35
12
-7
0
-22
-17
30
-6
0
15
17
4
-4
0
23
21
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-14
22
-6
11
-6
3
16
20
8
-1
-6
8
2
16
-8
-6
-22
-14
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
9
2
-16
-22
9
8
9
-14
-5
-24
29
5
-16
22
68
-21
19
-49
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
5
-18
20
-25
1
4
-39
7
50
-2
60
-46
-49
-6
-21
-21
27
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-15
23
-14
3
25
-31
-8
13
6
-27
17
4
17
10
-15
-24
25
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-27
-15
-5
34
-12
-1
-17
2
7
16
-11
-21
-8
3
-15
-23
6
-15
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
24
-20
-16
-9
22
41
2
-52
-96
-10
23
8
77
-68
-11
19
19
-22
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
28
7
25
-4
-12
-19
3
-3
6
-24
-11
-19
13
-4
4
-2
40
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-20
10
-7
-3
-10
-22
9
20
-3
-12
-12
-36
3
-3
-7
-5
17
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-18
17
-22
-8
11
15
-4
4
-13
4
11
0
3
-2
-5
11
-5
-13
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-15
5
-11
-56
-5
8
-6
24
-8
80
-13
7
-35
-48
-11
-25
48
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-13
-5
45
4
19
15
12
15
-16
-25
-15
-11
-1
-20
-9
-19
-9
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-64
3
9
2
-15
27
-42
7
1
4
-6
-20
13
-3
33
-8
-3
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-33
1
-19
-19
19
11
-16
-61
-17
18
11
-5
9
1
-52
27
-21
24
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
9
-31
-17
16
60
-16
-38
-14
4
-34
-70
-18
6
3
-36
1
-16
11
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-3
21
24
3
4
6
18
0
4
-3
3
-30
16
1
4
20
-8
-11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
4
-13
9
4
6
37
23
-9
0
-1
-1
19
-32
0
-4
7
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-16
3
4
7
-7
1
6
-13
-11
2
-5
-9
12
10
-9
14
4
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-12
-9
-37
-20
2
14
-2
1
-45
-18
-23
3
-42
32
-41
48
-11
-12
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
4
-2
-7
25
-3
48
-5
-13
2
15
50
9
15
0
-1
38
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
3
16
0
15
5
8
-4
-29
-98
13
-18
-1
6
-7
16
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-14
1
4
18
-38
8
7
-11
18
-6
-36
12
1
0
-29
9
-31
-3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-19
-13
22
-2
-75
-11
-9
-30
3
-25
36
3
5
-87
-28
-100
-21
-10
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-39
17
2
4
4
11
-41
-6
3
-2
26
38
-6
0
-9
-32
37
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-7
20
13
0
6
-13
-4
1
-1
16
24
2
1
0
1
-13
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
2
11
-1
-29
10
-12
-11
-10
-3
-18
-5
6
10
-26
12
1
9
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-33
-43
7
-19
46
9
-40
1
-91
-25
-45
-23
-65
-20
11
-6
-41
115
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-16
3
26
-2
0
-5
27
-17
0
11
12
16
25
0
0
-3
-8
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-38
3
3
7
-6
-28
-10
10
0
17
44
-17
2
0
1
6
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-16
-4
-6
-7
-47
13
-6
-14
3
30
-55
10
5
-9
-33
-7
-9
24
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
-14
-41
-16
-5
-21
-33
-10
28
8
-9
-4
-23
32
38
-32
-25
-21
22
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-21
6
0
0
-2
10
-1
0
7
-2
-16
-3
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
7
11
9
-3
-3
-3
0
-1
0
-1
-2
2
0
0
-7
-2
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
8
-10
11
-53
-20
4
5
22
-1
-56
16
-29
-18
-30
-5
-3
-50
-10
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
4
21
10
18
36
8
0
4
9
59
23
2
-3
-4
88
-2
6
22
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-60
-18
17
-6
6
0
21
38
-48
-17
52
-64
22
14
7
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
-8
0
35
18
5
-9
-6
33
1
-21
-13
29
26
-18
20
1
-10
-49
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-6
-12
-13
-46
23
1
-33
-1
43
-43
19
-40
10
-26
-5
2
-20
-38
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
22
13
-1
-16
11
-7
11
-4
-6
39
8
-9
-19
-8
27
-21
-2
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
21
3
22
4
1
-15
8
3
-4
5
-11
21
18
9
-1
-34
46
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
44
10
43
-16
-8
-8
-4
-30
-2
-23
46
26
6
-11
4
-2
-16
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-2
-19
-6
-16
-40
1
-62
17
0
-27
9
-27
-9
-9
-26
4
17
1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
-9
24
-6
34
23
-4
27
-30
15
54
-4
17
-30
25
7
-27
4
-19
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-30
-10
-2
-6
-7
11
30
-9
9
38
36
-33
-3
4
-18
12
7
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-44
-34
43
-11
36
6
24
-9
-2
-29
18
-8
-6
0
32
-27
-17
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-9
-33
-22
37
-26
5
0
4
45
-55
20
-16
-10
-12
40
17
-1
2
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
9
36
-9
33
-18
-6
-8
7
34
30
25
8
-2
18
9
4
8
-4
-63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-17
-27
1
-6
3
23
-31
13
3
53
11
-4
7
-5
-11
4
26
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
14
23
-7
-6
-6
-10
7
-8
-2
-13
-7
-1
-8
0
25
6
21
-6
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
18
-13
6
-81
-43
2
-9
15
-2
-15
4
-15
-4
-66
25
2
-23
20
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-6
10
14
1
-28
2
-12
6
16
-55
14
19
10
13
20
-38
-7
-7
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
56
3
46
-11
7
2
-40
10
-9
15
-44
13
4
-4
18
-7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-12
13
-2
-21
14
-49
12
7
2
53
-12
26
-16
23
-34
-10
-14
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-8
1
-4
-43
-26
1
-23
2
-8
-37
-16
-28
-10
19
-8
-57
-36
-9
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-12
15
8
-5
-12
-31
-24
9
9
45
-21
-15
-10
-6
-45
0
-18
-7
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
29
-12
-29
9
-3
25
-16
16
9
-8
-1
11
-17
0
-3
-25
25
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-45
22
-6
-3
-3
38
-24
4
0
27
-2
10
-3
3
-10
-3
6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-8
-37
9
-23
-39
8
7
11
-131
4
18
-7
28
-1
-34
3
-71
9
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
1
-6
3
-29
-27
-30
-24
-18
9
-57
11
-12
8
-28
-33
-31
-44
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
11
2
5
-18
0
1
16
-2
0
7
-4
-23
-29
0
-8
-3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
36
3
4
2
18
7
49
-3
0
20
-11
8
-2
0
6
9
-14
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-23
8
2
5
0
8
-74
28
-29
-51
12
14
22
-2
-24
-12
33
-34
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-52
26
-4
-10
-34
-16
-51
-14
-4
-42
9
-10
-20
-13
9
39
29
-36
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
1
0
0
-3
8
2
0
6
2
0
0
0
0
9
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-8
-3
6
-12
9
-2
0
-7
-3
7
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
2
47
7
-15
59
11
12
20
7
-29
6
22
-2
20
-24
0
-1
37
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-1
-12
58
2
11
8
-36
-6
-1
42
-5
12
12
-2
-13
-4
14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-7
-24
-1
-8
-7
-59
72
6
-5
-44
-12
-17
-33
-18
3
82
59
-20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
23
-14
19
8
19
21
4
-48
-13
7
26
-12
-4
-20
12
-2
58
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-30
49
-11
-21
4
37
-52
-9
7
56
17
-16
17
-7
-1
1
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
21
15
-7
4
-27
17
-15
-26
1
21
-20
-9
22
0
-6
25
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-20
-14
9
-4
-9
-43
57
-11
0
-12
0
96
-14
-4
-1
-8
-25
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-5
-22
22
12
10
17
13
-3
0
26
-43
21
-17
-3
-15
-16
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-14
38
-24
2
9
-6
-3
9
0
-4
12
-2
-12
2
2
-9
-16
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
46
22
-36
-8
-11
-6
19
9
0
20
-38
23
-17
0
-12
-9
10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-39
17
-43
17
4
23
7
8
-32
0
18
-4
3
29
-1
25
27
21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
29
-15
43
-5
-39
4
33
-1
11
-15
3
75
-17
-7
-3
-6
26
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
-20
-8
1
-4
9
28
-4
1
-3
27
4
8
0
4
-2
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
20
0
0
0
20
46
7
-2
0
-13
-33
6
-1
1
-19
42
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
38
17
0
2
-6
26
1
6
-1
4
-4
-12
4
0
-1
4
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
34
-1
54
-1
3
7
16
-1
0
1
-8
15
19
-6
-4
7
-12
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
1
-20
25
12
0
21
29
-8
0
0
-24
14
7
0
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
23
0
2
-26
17
-7
18
23
-10
0
-46
8
15
12
-7
3
-9
-8
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
7
34
-14
20
0
-26
56
43
0
1
66
-17
9
3
3
-2
7
-12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
8
-22
26
13
-24
-2
-20
33
-28
10
50
-34
37
-17
17
28
-25
10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-6
16
0
2
-4
5
-6
-1
-2
-1
-20
4
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
18
-3
-14
15
-1
6
-2
9
0
0
-24
-16
19
11
1
-27
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
19
-3
-3
12
0
24
14
7
7
0
0
-2
50
-2
0
1
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
29
-2
-27
-23
28
-12
5
0
9
-16
5
9
-29
-1
2
5
7
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-23
20
1
2
0
10
0
-2
0
0
15
-18
-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
-4
19
-6
8
4
-1
-16
4
32
0
-2
-26
-11
-7
-4
-7
32
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
11
1
7
0
14
9
-8
0
0
-12
16
40
1
-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
14
-41
-24
-2
1
5
12
-14
0
-18
-8
2
-27
0
6
-15
8
-4
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
15
-1
0
0
10
19
0
0
-1
12
-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
8
28
4
-3
1
1
25
4
0
0
3
15
0
6
-1
-2
21
11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
10
-18
0
1
-13
1
-2
0
0
4
-9
1
0
0
11
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-4
13
-1
2
-25
-3
6
0
3
16
-2
-8
0
10
-29
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
23
9
-26
2
0
-31
7
58
0
3
16
57
1
11
0
46
-10
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
22
-72
28
-1
-10
-13
-20
32
6
1
25
25
25
-2
0
30
30
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
27
19
11
-13
8
6
54
11
17
-39
6
22
56
-25
3
12
-3
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
32
4
14
-1
-23
28
8
22
14
13
-21
35
4
6
8
12
44
-18
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
29
31
13
2
0
-54
47
9
0
2
-9
24
-7
0
2
9
-41
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
43
-13
-8
2
-6
-11
19
51
0
-14
13
2
-8
-2
38
-15
5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-29
-9
15
17
18
-13
-10
-1
29
2
-9
24
20
-4
7
-25
-30
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
83
-55
33
-4
29
13
-21
20
45
6
-8
60
-4
13
32
58
5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-21
29
21
0
42
12
-26
0
-4
10
15
-15
3
1
-9
-15
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
7
14
-33
-21
-11
54
12
-40
4
-19
-56
11
14
3
-14
15
-6
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
32
-27
81
56
-3
43
-28
3
3
-4
12
-45
12
9
10
9
1
16
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
6
25
-29
-32
20
3
46
5
15
16
10
-11
28
19
24
-31
15
16
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-28
6
-3
-1
-7
1
9
0
0
-2
2
-4
0
0
26
7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
-11
-3
3
-4
60
18
-2
-3
4
7
42
-6
0
2
34
14
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
37
25
-20
13
-10
14
-23
6
3
-10
-7
-21
6
12
-6
6
7
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-13
79
-47
13
4
15
-21
9
-4
-33
14
19
-38
-9
6
30
-2
-14
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
20
-23
-25
-2
0
13
9
0
-2
-1
11
-10
3
-1
0
7
-7
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-11
58
46
6
-3
43
-59
-14
0
23
23
23
5
-7
-9
8
1
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
2
63
26
4
-8
6
35
32
-4
-3
-23
-20
16
8
-2
0
52
1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-17
-39
35
1
-28
-54
4
33
34
36
19
37
-24
-36
-20
-17
29
77
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-64
8
6
-2
-18
-27
24
1
0
0
38
-26
-8
1
1
55
-3
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
53
1
13
3
0
0
-1
-19
-4
-16
5
0
15
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-25
31
-9
20
-2
16
5
-16
-9
-2
-1
26
-1
-4
-3
10
18
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-34
-9
55
20
-26
8
26
-25
0
17
14
-23
-5
17
-6
-19
-21
8
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
-2
-12
1
0
-2
-8
0
0
-2
-11
3
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
47
27
-39
6
-12
-4
1
0
0
-1
27
-17
6
0
7
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-7
9
28
4
0
-2
0
-32
2
10
-15
-22
21
6
0
-5
-8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
10
11
18
9
16
-6
6
16
-1
-3
3
-21
17
-17
7
1
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
0
0
17
6
1
0
0
0
0
0
0
0
23
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
2
-11
1
-12
22
-8
9
0
-8
26
-2
4
0
-9
-22
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
17
-8
3
0
-7
-32
-2
0
2
6
-16
13
0
2
-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
45
3
35
-7
20
5
49
-6
1
-4
-18
-28
65
12
-11
2
-2
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-34
-8
22
-4
-5
23
24
-47
-13
-8
0
21
36
3
-28
3
11
-10
-15
-34
-7
8
3
-34
-28
-40
14
2
-38
-4
-23
-11
-2
14
9
-47
-4
-7
7
-1
-1
28
1
6
-24
-8
4
-37
-15
-8
-4
-9
4
7
-25
-25
-18
-42
-56
-13
28
12
7
21
-37
23
-19
10
7
-50
-14
-29
24
10
-11
-28
-52
-32
22
-39
11
-1
-17
-32
39
54
-19
-12
9
-9
9
-12
-5
21
-4
12
0
2
1
29
0
3
-13
-7
-3
2
7
2
1
-13
26
-7
6
6
4
-10
2
0
0
8
23
25
14
29
-23
53
-9
40
-4
-8
1
19
22
30
-15
-17
10
1
-2
17
15
-7
66
-6
24
-6
-23
11
1
1
0
14
-11
-2
6
-17
8
0
0
0
24
-8
15
-65
10
-48
18
-11
-15
5
-2
13
39
5
-12
11
-12
4
3
-48
-40
-5
8
-39
-48
-35
27
43
-60
-5
-42
18
19
5
-26
26
25
39
-19
28
-3
15
19
20
21
-6
-21
-14
-39
3
-3
-8
23
60
-2
-13
-48
-7
-14
-27
-16
-31
-14
-15
-1
11
20
1
-1
-10
-22
-62
10
-1
-8
-33
39
-15
-3
-9
-2
-19
-11
-1
18
8
-29
9
22
-15
-10
-4
19
6
-20
-16
1
-3
0
10
20
2
-15
-4
-12
11
10
-2
-6
0
9
1
-1
0
-1
27
-2
-1
0
8
57
13
-9
-12
27
-24
3
-16
10
2
-26
9
-7
29
18
-2
-12
6
-10
0
19
3
22
-16
-21
34
-9
6
-2
-1
-19
2
0
1
0
6
-1
0
0
-5
-14
-6
-19
-35
-9
1
-5
25
-32
2
-28
-5
-1
-13
-17
-60
18
-44
-18
-2
4
29
-11
-57
3
-17
-8
-13
-64
14
-21
15
-2
-13
-4
-32
-3
17
-48
1
-19
-36
-8
16
30
-29
-47
0
-12
57
-12
-56
-6
-17
-7
7
-47
22
-1
-27
-23
-26
-4
-5
-19
-18
-42
0
-3
-17
-16
-34
13
-9
-4
-3
-4
-23
-10
2
-70
28
22
-8
15
-41
-6
-1
0
-27
5
8
0
-15
0
27
-1
2
0
-1
25
37
-44
1
-4
15
-6
0
0
-8
-3
-3
0
0
24
0
1
1
0
7
-35
0
2
0
20
4
12
28
4
-34
33
-6
-4
26
0
-3
10
9
2
-17
17
14
21
0
-2
-28
16
4
0
10
20
-11
0
0
-2
4
0
0
0
12
-38
22
-41
-5
2
43
-25
13
10
9
49
12
-21
14
6
-38
15
5
11
6
-15
26
-30
-7
-23
-4
16
3
-42
-42
56
-10
-18
-22
-5
25
-8
-3
-16
6
-29
-67
-9
14
-63
-36
-24
-6
33
-2
-21
6
-3
-21
-7
-29
3
23
-8
-51
-23
-23
34
8
-2
3
-54
14
15
63
-4
-39
45
-48
-2
-21
-1
39
-15
-20
38
9
15
0
6
31
-3
-1
0
-8
36
22
0
1
-6
-11
18
0
0
3
-35
2
30
1
10
-24
7
0
0
0
9
2
2
0
0
0
0
2
0
4
1
-1
2
0
-28
42
11
1
2
-8
9
-9
-8
-1
1
-24
-6
-7
1
0
26
-9
0
0
6
7
-7
0
0
0
1
-3
0
1
0
3
-1
0
0
-16
-22
-30
-5
-45
-11
-20
-9
-19
-2
23
-17
6
15
-1
-3
-3
0
12
-12
-11
6
-18
-20
8
-18
0
6
-4
25
18
1
-7
-7
9
-24
-7
-1
-4
11
67
10
9
14
3
7
-5
5
-19
15
-23
1
20
3
-106
-15
-7
-5
-20
-19
-17
8
-14
2
14
-71
4
9
-2
-12
-18
-3
3
11
23
-8
24
-77
28
2
28
-65
10
44
-3
-2
6
42
-11
1
0
21
-11
1
-4
-3
-2
-8
-1
-1
-63
-24
23
8
0
2
-48
14
-1
-9
18
-59
35
-1
-2
1
2
0
0
0
1
-11
7
-37
21
-20
11
-17
11
-1
-3
38
12
12
18
-8
1
6
-1
-1
61
13
-19
12
11
-7
21
0
0
2
11
15
-29
1
0
0
1
13
0
0
-3
-18
-4
11
3
-36
-15
-16
-32
4
24
-9
1
-12
24
-5
-33
17
9
37
-52
-4
-11
0
9
-22
13
-12
-17
-10
13
6
-10
-12
7
-54
5
2
7
4
40
10
12
7
-14
56
2
12
-69
28
12
13
7
27
18
0
-5
37
-2
50
-33
10
10
15
-2
48
-3
-1
11
-37
-8
-10
4
11
-14
-7
-36
-63
32
-46
25
35
-15
8
-10
10
2
-12
-16
1
-11
4
-9
4
0
6
1
-9
-4
0
3
-14
-16
4
-1
-2
42
-1
-1
0
0
-2
0
0
0
-1
1
0
0
0
3
48
-21
3
-8
-16
34
-1
-3
-3
-5
-10
49
1
-2
8
-1
7
0
-4
12
47
0
0
-20
16
-12
-3
-2
0
0
-9
-2
0
0
0
4
0
0
0
-1
7
-5
-2
-26
-28
-26
-32
-6
-11
-6
-15
7
-7
-9
-9
-1
9
2
-21
-26
14
0
-1
-26
4
17
4
5
-22
-44
0
-1
8
-8
-10
-19
-12
1
-17
-10
8
15
-10
-23
-4
0
-7
-37
-46
-3
3
6
16
-18
17
0
14
-27
-3
-33
-7
-14
3
-25
-49
-15
0
3
-40
13
-17
-9
-9
-33
-7
-14
16
-59
-23
-4
-25
9
-1
0
6
-33
0
2
0
9
-26
10
-1
-1
0
-6
8
-2
0
-1
45
-32
3
0
1
-25
0
4
-1
4
-20
6
-2
0
0
3
0
-1
0
-8
-24
5
-1
1
-2
-9
24
-10
1
-15
-38
56
3
1
0
15
-3
3
-1
19
40
2
12
1
7
4
-2
-7
0
1
1
-3
-1
0
0
-1
0
0
0
-10
26
-3
-15
3
-44
20
-38
-18
23
-42
-6
-3
-45
10
-25
-18
-7
3
12
-32
36
1
-1
-28
6
15
-10
-4
-12
-43
16
1
-11
-3
18
58
8
5
10
-11
22
15
22
-17
-14
-14
11
-9
-33
-28
-23
20
40
36
15
0
6
-19
-6
34
15
11
7
-18
9
65
8
16
-38
10
4
24
-31
11
-1
-32
54
-2
0
0
4
9
0
0
0
-26
12
0
0
1
3
-3
-1
0
-12
40
11
2
0
1
-21
6
-6
0
-2
3
-3
0
0
0
2
0
0
0
0
0
0
0
0
1
6
0
1
0
11
30
0
0
0
-3
16
0
0
0
-7
8
0
0
1
-1
-1
-7
0
1
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
36
-12
20
-3
37
-21
-26
1
9
-18
-1
0
29
-19
-82
-11
-43
-25
8
28
3
-14
9
39
-76
7
-33
14
38
-70
8
-35
3
-20
-13
-29
-11
-1
26
16
18
9
2
-14
-30
-22
7
2
-9
-12
-13
9
-7
2
8
43
3
-23
43
4
26
13
2
6
-9
-2
16
-10
-2
-22
-25
2
0
10
14
2
-10
-46
11
-6
21
15
15
-41
-1
18
3
-52
7
-1
7
-26
-18
-13
-1
1
-3
0
0
0
21
17
11
-12
7
4
20
-2
2
0
4
48
-38
-12
0
-3
7
1
0
0
44
22
42
19
0
-11
54
-20
56
0
36
-23
-6
5
-7
10
2
-6
0
0
-15
11
-14
-25
-1
-13
10
-6
0
0
15
12
-1
15
0
-1
15
-1
0
0
42
3
-23
-9
-9
7
-2
-14
35
-12
-12
24
10
-46
-30
32
27
14
-11
-10
5
-66
18
-26
-24
2
-70
14
3
11
4
-46
27
-64
-46
-30
-38
12
26
3
-3
17
5
-24
-10
-40
2
-13
-16
-7
-37
8
-15
-9
3
-23
11
1
-24
9
-5
2
-6
-12
-10
11
17
-20
4
0
-37
10
-3
-6
-1
12
-7
-27
9
22
-13
20
3
-19
0
-7
-30
-2
1
0
29
27
8
0
-1
-2
18
0
0
0
0
-14
0
7
0
-1
-2
0
-1
0
3
38
-2
0
-2
12
0
0
0
0
19
8
38
23
-1
3
2
-2
-19
0
-6
-26
10
9
0
17
5
-2
-3
0
3
-8
6
37
0
-7
89
0
-2
0
0
0
0
1
0
-3
4
-2
7
0
-6
-28
9
-19
-11
-23
-31
-1
20
13
-14
-7
2
-7
-30
11
43
18
-37
3
-3
-17
2
-29
-53
10
-24
12
77
3
-27
4
6
1
25
-38
-30
24
-40
38
-19
5
6
-14
10
-34
-8
-14
3
2
-52
0
-7
-16
10
-9
33
-10
9
6
-49
12
15
-1
11
-11
14
-21
10
11
6
6
-1
-1
3
-8
21
-63
-15
39
16
0
-9
1
0
0
10
3
-6
0
13
-36
35
-6
9
-1
29
-11
0
0
11
12
-11
2
1
1
15
8
0
0
-9
5
0
1
0
4
-8
-1
0
0
-3
7
-32
9
2
0
-38
-1
2
0
-6
65
-8
-29
-1
-1
9
-11
20
7
-2
-3
-5
-37
0
0
5
2
-3
0
0
42
0
-3
0
-2
1
0
-1
0
-20
-2
-13
37
3
-43
-16
-1
-7
9
4
-8
-6
4
3
-17
30
-3
10
10
4
3
-2
41
28
-54
-25
31
-49
80
-32
-1
-4
2
2
-26
19
26
53
2
1
3
-14
3
0
-3
-8
-38
2
3
19
-10
-2
-14
-7
12
1
12
17
16
-70
5
15
11
7
4
6
-10
26
16
1
-6
-15
-44
-15
0
4
34
1
-46
0
7
3
-7
0
-1
28
-2
0
0
0
9
1
3
-2
0
-19
0
0
0
4
12
3
-2
0
6
7
4
1
0
0
-19
2
0
0
0
0
0
0
0
3
-15
13
8
0
1
-67
-2
-3
0
12
-11
-21
-28
0
11
-16
-7
15
0
-1
-12
13
3
-1
3
-6
-1
1
0
0
-1
-6
7
0
0
8
0
0
0
8
-12
8
21
2
-12
-21
-3
-41
-9
32
-18
4
-30
-2
16
13
10
-14
-6
-4
-64
7
4
-78
-23
-4
13
-10
-28
-7
-61
5
24
-34
30
-44
-21
28
-5
10
4
10
2
-1
-18
0
3
-3
0
-23
4
1
5
-22
-34
-15
-22
18
1
6
-5
-8
15
-22
-88
-3
-12
12
-24
-31
-7
4
12
0
-32
6
0
29
-15
0
-1
7
69
-4
-1
38
7
12
0
-3
2
2
-6
0
0
0
0
2
0
2
20
16
-8
0
0
5
-19
2
0
0
-18
-7
0
2
0
13
0
0
0
1
-14
14
-22
4
9
42
-25
1
1
2
61
-24
-2
0
10
26
-10
0
0
22
-54
66
3
4
0
-42
21
-2
0
0
-63
-10
1
0
0
0
2
0
0
-1
-16
-8
-55
52
-6
-4
3
-94
12
-36
-28
-19
15
-8
23
-34
-5
-8
0
-29
-55
-3
6
-10
33
-57
-1
-40
-2
24
-49
20
-40
17
9
-42
-1
-38
7
16
5
12
9
22
-1
-7
7
3
-16
4
11
7
1
18
-9
-28
-2
-25
76
36
-36
13
13
16
-44
-16
11
6
-24
-12
-18
20
4
-20
0
-59
9
27
-6
0
-17
-3
8
0
0
27
-4
2
0
2
43
2
-2
0
2
34
0
0
0
0
15
-8
4
0
0
6
-1
0
0
0
-10
0
1
0
-3
1
-1
-1
0
0
2
11
1
-4
-2
-1
-21
-1
0
-1
-1
2
1
0
1
2
2
0
0
0
-5
0
20
0
-1
11
0
0
0
0
0
0
0
0
-1
0
0
-2
0
-3
-31
7
-11
-34
-35
-51
7
11
-20
0
-4
24
-75
-24
-2
-45
-38
28
21
-17
-74
5
-55
-9
-74
1
-1
-74
7
12
-25
-8
6
4
12
6
17
-28
26
-23
4
9
15
-15
25
-5
1
17
-14
-16
4
-8
-8
30
6
12
-5
-42
12
-2
7
1
13
-2
107
6
-5
12
-16
-34
-12
6
24
13
-9
-67
17
3
-5
-4
7
30
28
0
0
-1
-21
0
0
-12
-22
27
-9
0
0
7
-2
2
0
0
16
9
4
0
-1
10
0
-1
0
0
-5
1
-3
1
0
0
1
0
0
3
-4
-19
-6
-7
2
-12
-4
-2
0
-2
27
34
-6
6
3
-2
3
0
0
0
-38
18
-17
0
0
-6
-1
9
0
3
-4
-4
4
0
0
0
0
0
0
-7
31
26
-50
0
3
12
-4
45
-2
62
-45
-30
43
0
-20
44
-1
7
0
6
-48
4
-68
66
-83
-5
10
-40
27
56
-92
-23
-33
1
1
-23
42
-5
-1
4
11
2
17
-16
-11
-7
1
6
-57
-24
1
22
10
-23
-12
10
17
-14
19
-26
-14
-12
-7
-21
-19
10
-8
35
-62
-9
1
2
-14
-18
8
-20
51
-22
-22
-1
-1
0
0
0
0
14
0
1
0
0
-10
8
0
0
1
21
0
0
0
0
-32
2
0
0
0
12
-1
0
0
0
1
-1
0
0
0
-3
0
0
0
3
1
-2
-1
4
-1
11
4
-1
0
-1
6
0
-1
0
1
3
1
0
0
0
4
-1
4
0
0
0
21
-1
0
0
0
-2
-2
0
0
0
1
0
0
-1
-6
-24
13
-15
-2
-4
6
-10
0
43
-49
15
50
-3
24
5
-45
0
0
-28
13
-22
-45
10
-1
7
-1
-8
0
-1
-11
4
-4
0
-1
7
-7
-12
0
-20
-22
16
-3
3
-3
-4
12
9
13
18
50
-37
4
-1
0
-25
43
-10
0
-14
45
-43
26
11
10
20
-1
-1
1
77
-30
-24
-4
2
-50
33
-3
0
0
-7
19
35
-5
6
-12
-5
81
-9
1
24
-8
43
-1
-3
12
17
-9
21
0
-22
32
13
39
-21
8
3
46
-3
10
-18
10
2
1
1
2
-17
6
3
0
-14
31
16
14
-2
15
-51
15
-29
-2
-6
-34
42
16
23
24
41
1
-20
6
1
18
5
25
1
-25
4
-1
24
7
-19
-32
53
9
10
9
2
-11
3
0
35
26
24
-16
0
-10
11
-15
4
1
5
-8
-8
3
3
-3
6
-7
-8
0
11
30
-15
-6
0
-15
-11
2
-2
0
-3
13
0
2
0
-1
-2
0
-1
0
1
-7
-5
-10
0
15
-29
35
2
-1
11
-32
21
2
-3
19
2
-53
2
0
-35
19
54
-16
3
-16
2
-48
0
0
20
15
10
3
0
6
0
0
0
0
10
34
8
1
-4
-2
33
-24
-27
0
4
-57
20
-1
-1
30
-12
-15
-3
0
0
9
10
16
1
2
-4
-4
9
0
0
40
-6
-10
2
0
-16
9
0
0
3
-4
4
12
9
10
13
48
-4
21
38
18
-31
18
-15
-11
0
29
-7
-8
-14
-12
17
71
-9
-14
15
-16
32
-2
-10
46
19
-22
24
-10
5
1
-4
0
19
17
0
0
-1
27
-2
3
3
0
-6
-15
-8
1
-1
22
-11
-11
-3
0
-17
-17
-7
6
-2
0
-5
6
0
0
3
-22
-9
13
0
0
2
0
0
0
-6
3
1
42
-9
-15
36
3
-2
0
11
37
-1
6
0
13
6
-15
3
-2
76
-39
-21
-13
-10
33
-7
0
1
0
18
0
9
-1
3
-3
0
0
0
0
3
4
7
-49
1
0
-38
20
10
-15
30
-10
40
0
2
-8
-27
3
6
-1
-9
40
-56
-16
10
2
-26
-22
4
0
-2
2
11
0
1
0
-3
0
-6
0
-16
-10
34
15
-5
8
-20
28
-16
-13
20
-38
-27
23
-3
6
10
-21
-28
9
12
43
-15
22
17
-29
-12
-4
43
9
3
-5
6
-5
3
0
8
-4
0
1
-2
-9
17
-1
0
-4
-11
-2
-1
0
7
-6
4
0
0
-12
-8
-7
-3
0
0
13
-3
3
0
12
-22
-3
-1
0
0
-15
2
0
0
-2
19
-1
0
0
-15
27
24
-1
0
-8
4
18
0
0
1
33
-29
4
-1
-12
-17
-6
3
0
15
9
0
1
0
11
0
-12
-4
0
0
-1
-2
4
0
2
0
0
-1
0
0
28
-19
10
0
-3
21
0
0
1
6
-1
-6
13
0
-22
3
38
3
0
-1
30
-10
19
0
-8
-8
32
12
0
-1
0
-7
0
0
1
25
-1
0
0
-26
41
27
-1
27
2
-28
31
-1
-4
-9
41
20
-6
13
-15
34
-8
-6
29
17
-45
8
15
-1
0
-6
19
-3
9
0
14
4
-15
-2
-1
12
-16
-4
-2
-15
-32
51
7
6
-35
4
9
-1
0
-1
24
-14
-9
2
21
8
8
-9
0
-10
0
22
-13
0
3
-8
0
4
0
4
1
-43
1
0
1
-4
-6
0
0
23
4
35
-44
1
52
10
22
-9
0
-18
-48
5
12
3
-7
6
-19
0
0
22
-60
33
-12
3
-6
2
-9
1
0
-1
14
-4
9
-3
0
2
1
1
0
71
-1
-85
-1
-12
3
1
43
9
-3
-10
-15
3
8
-10
7
19
-24
-2
0
-6
-23
41
-24
13
4
58
-11
-15
6
-7
16
14
4
-3
2
-9
1
0
0
5
73
-51
-6
31
12
19
1
0
-10
8
8
-4
13
-3
-24
-11
55
12
5
-21
-2
10
-34
13
41
-12
-18
-12
0
-3
43
-27
-11
15
-10
0
45
2
0
0
4
49
-25
0
-3
-18
-2
-7
-1
-10
0
6
-1
-1
0
-4
-18
-2
0
-1
2
11
0
0
-7
30
1
-12
0
2
-11
1
0
0
0
-15
0
0
0
-18
-17
17
-2
-1
-20
37
-16
0
0
-7
-7
-17
0
2
-7
1
-7
0
0
5
8
6
-1
-1
1
-3
19
1
0
-10
-1
4
0
0
0
2
0
0
0
-29
39
12
10
-1
2
-20
-26
21
0
-1
-28
17
-8
-1
-1
26
-6
3
0
-6
19
-4
6
1
0
4
-2
3
-1
0
8
3
0
0
-3
7
0
0
0
20
11
61
12
-35
10
27
-22
15
25
44
23
-38
-10
15
-40
40
-18
30
-20
0
27
10
-6
-7
2
-17
-7
-9
-11
-2
-4
-22
9
0
0
-4
0
0
0
-11
18
1
3
-1
4
13
0
8
0
-6
18
0
3
1
0
-10
2
4
0
0
40
7
-4
0
1
-16
3
0
0
42
-12
-3
0
0
0
-1
0
0
0
-19
25
-7
4
3
1
13
-24
0
0
4
6
0
-1
3
-10
2
-1
0
0
9
11
-6
-3
0
-1
0
-12
-3
0
2
6
10
0
2
1
1
-1
0
0
7
34
12
-41
-3
-1
16
7
1
0
2
-16
9
-1
19
-1
-4
1
1
-3
-9
-7
-17
9
0
-2
-17
15
0
0
-6
-4
-6
7
0
0
3
0
0
0
-5
-10
-26
51
9
49
33
-15
4
-21
17
-11
38
-7
-10
14
42
-3
3
2
-8
43
-21
-9
12
11
45
14
0
-10
4
3
-37
1
3
0
-1
-15
0
0
0
24
0
0
0
0
6
1
0
0
1
-10
3
0
0
0
-1
-4
0
0
-1
0
2
0
0
0
0
6
0
0
0
1
0
0
0
0
2
0
0
0
0
0
3
0
0
16
1
23
1
0
15
-1
32
0
0
9
-1
-6
-2
0
7
0
0
0
0
-2
7
21
0
0
0
1
0
0
0
0
0
1
2
0
0
35
-12
-10
0
0
-12
0
0
0
0
-6
-6
1
0
0
-5
0
0
0
6
3
18
1
0
0
-11
-1
0
0
0
-1
-1
0
0
0
16
0
0
0
1
2
-2
11
0
-4
-20
13
2
6
8
-10
15
-10
20
0
0
-1
-9
-3
-1
-9
14
1
-1
15
-11
0
-1
-1
0
0
12
0
0
0
-2
0
0
1
-28
37
-28
-23
-3
7
-9
11
2
0
-6
-11
30
6
-1
0
-3
-3
4
0
-7
-40
9
2
-1
1
-40
17
0
0
3
-1
1
-3
0
0
0
-1
1
0
-23
26
39
6
9
13
9
-4
49
-4
32
1
-30
49
2
0
0
38
7
0
-7
2
15
2
11
-7
4
10
-10
0
-9
-21
-1
10
-1
1
2
-7
-4
0
-37
29
-27
1
25
8
-10
46
-12
-10
-24
33
32
-31
3
0
-12
-12
40
0
-38
17
49
43
-7
1
27
24
37
0
6
11
-12
12
-6
0
1
3
1
0
-55
14
15
33
41
-36
-15
48
18
-13
-9
3
8
23
7
34
18
-31
6
21
1
41
7
8
1
18
34
33
-12
-20
-24
23
-29
24
7
-1
-1
-4
26
0
0
28
-1
1
0
-25
23
10
1
0
0
-14
3
-1
0
0
15
3
0
0
1
21
-2
2
1
0
-10
-11
7
0
0
0
2
0
0
0
-4
0
0
0
-1
-5
-13
-25
0
0
4
-33
0
-3
0
12
13
-4
4
4
-2
49
-3
-3
7
-1
-45
-6
3
2
2
19
0
1
0
21
0
17
0
-1
-3
7
6
0
-3
41
23
42
-8
2
40
-8
8
0
-8
-21
14
8
0
-1
-32
9
-1
1
0
34
25
-8
0
0
-26
-8
8
0
0
-20
-10
-3
1
-2
-12
18
-3
0
-9
7
25
35
2
3
32
-21
16
13
8
-33
-39
77
-6
5
-6
2
8
3
1
-46
41
-32
13
-8
-22
32
26
0
-2
-5
17
-4
-1
-1
-6
-2
14
1
-3
-2
-17
35
-7
0
-7
-3
-1
0
-2
4
-36
6
0
3
-2
-7
0
0
-15
-22
0
0
-1
0
-54
-2
0
0
-1
23
-4
3
0
1
0
0
0
0
-2
48
1
-23
-4
12
-22
13
1
-2
-51
-11
8
4
1
65
3
-18
-6
0
13
-25
12
12
0
3
11
-9
-3
0
9
3
8
-1
-1
0
-3
0
6
0
0
27
39
-27
3
-3
16
-6
3
0
15
27
-40
-8
0
0
50
-4
-5
0
4
-4
-20
9
-6
-1
57
-5
-19
0
-4
-13
-14
54
0
0
16
1
0
0
32
-24
11
22
-2
1
57
5
27
8
21
8
-23
7
-7
-7
4
66
-29
-4
2
23
33
27
3
-13
9
-9
5
10
-16
35
-2
-24
-9
-1
-16
-21
11
0
0
-7
-1
2
0
0
-4
2
0
0
0
1
0
0
0
2
1
3
0
0
0
0
-2
2
0
0
-17
0
4
0
0
-2
2
0
0
0
8
0
0
0
-1
13
1
-1
0
0
-9
-16
-1
-1
1
0
0
-2
0
0
6
-4
0
0
-1
1
-20
4
0
0
-3
47
2
0
-1
1
6
0
1
0
3
0
0
0
1
-12
3
7
0
-1
-16
-4
-1
0
2
38
-13
-4
0
0
-11
-1
4
0
0
16
-3
27
0
0
18
-8
-6
0
0
3
6
1
1
0
-2
0
0
0
-4
63
-32
-1
4
3
-36
12
-33
-1
-2
24
27
-13
-3
0
17
2
-19
-3
-1
4
-2
3
2
-2
-11
-13
14
1
0
-9
-12
35
0
7
-2
-3
-4
0
41
-24
-47
12
0
-17
-28
12
-1
0
-1
3
-22
2
0
0
0
-6
1
0
-1
-36
14
3
1
4
-8
-3
2
0
-2
6
4
-4
0
0
-2
0
0
0
13
-16
-4
2
0
0
-26
43
3
5
-1
17
5
10
0
-4
-1
-18
2
0
10
30
20
-31
1
-11
-2
6
1
0
-10
4
-16
0
0
0
1
3
-1
0
13
28
50
-36
17
-2
-18
44
26
-1
-1
-15
4
0
-16
2
71
34
7
0
18
-13
24
11
-4
0
27
17
17
13
-1
-8
-4
-34
-9
0
-1
4
0
0
-5
-16
50
12
-42
9
-8
11
-10
1
17
30
-18
-26
22
8
1
20
-7
-1
-22
-24
14
18
-15
9
-14
46
13
3
11
-63
85
-7
-30
1
-4
-11
6
-4
-1
15
-34
-3
0
-1
-32
-7
0
0
0
0
0
0
0
0
4
0
2
0
0
-16
10
0
3
0
0
-1
3
0
0
1
3
0
0
0
0
1
0
0
-8
-13
25
2
3
1
26
0
-6
0
0
-9
10
1
0
-34
1
34
-4
0
7
-1
15
1
-1
0
-6
-15
0
0
0
20
7
-1
0
0
0
3
0
0
0
41
-36
14
0
0
4
-2
-16
1
0
54
27
-24
-1
0
-2
7
0
0
0
-11
-9
8
0
0
-6
-4
-19
1
0
-6
10
-2
0
0
-1
-15
2
0
3
28
12
12
8
1
22
-6
17
3
0
13
-8
19
-8
17
7
6
-3
-2
-3
5
-8
2
-9
0
-21
-15
7
-1
0
10
24
-13
2
0
-3
-16
48
1
0
-48
4
-2
0
3
4
0
0
0
-1
10
-6
0
0
1
2
-8
0
0
1
3
0
0
0
0
0
2
0
0
-3
12
-1
1
0
0
0
-1
0
0
-19
5
-32
6
0
2
3
16
-1
0
4
28
44
-21
0
0
-7
10
0
0
-3
1
-51
6
0
-2
1
8
0
0
-2
-12
-2
-7
0
0
0
6
0
0
8
-13
-7
21
-1
0
-34
-10
15
0
-10
45
22
-16
0
1
18
8
0
0
0
-4
-32
-9
9
0
36
8
15
-2
0
-4
5
3
1
0
-1
-3
3
0
-13
18
-24
31
4
0
-18
-6
14
-2
-21
32
-33
52
2
-6
9
12
10
0
-24
3
20
22
1
0
18
32
9
3
1
5
-48
12
2
0
0
7
-8
0
0
6
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
-2
0
0
0
2
1
0
0
0
1
0
0
0
0
0
0
0
0
4
-1
-8
4
0
-3
0
32
0
0
1
1
9
0
0
12
4
2
2
0
-2
0
13
0
0
0
0
-7
0
0
0
0
8
0
0
0
-2
0
0
0
0
-11
-7
6
0
0
-9
0
0
0
1
12
-3
-1
-3
0
6
0
0
0
0
17
-21
-2
0
0
7
-7
2
0
0
-1
-1
0
0
0
1
2
0
0
0
-16
22
-4
-17
-3
8
-2
0
1
0
-8
5
-2
-2
-1
-4
-9
3
2
0
-6
3
-1
2
0
2
-9
-8
0
0
4
-11
-2
1
0
1
2
-6
-1
0
11
-2
11
24
0
0
-12
19
-18
0
0
-25
-21
0
0
0
-18
-3
7
0
0
8
-10
-4
0
0
11
-5
-10
0
0
13
-10
12
0
0
8
-22
34
0
0
-4
3
-33
0
0
6
-8
32
0
0
-1
-1
38
0
0
-16
-8
-34
0
0
38
-19
-9
0
0
82
-38
-49
0
0
-6
-39
6
0
0
12
-5
-41
0
0
-1
9
7
0
0
12
-55
-1
0
0
9
-17
-43
0
0
-18
32
-7
0
0
-31
29
0
0
0
-24
-12
0
0
0
27
44
-22
0
0
22
-43
-8
0
0
-10
16
-10
0
0
23
-13
-8
0
0
-52
68
41
0
0
-9
-35
0
0
0
-2
9
-49
0
0
4
31
-3
0
0
3
22
-24
0
0
-20
-27
0
0
-9
-21
2
18
0
0
0
1
14
0
0
-6
5
51
0
0
-28
16
-4
0
0
-14
7
24
0
0
-2
18
-33
0
0
-13
40
11
0
0
-23
45
-1
0
0
-39
8
26
0
0
33
1
35
0
0
19
-43
-4
0
0
66
5
-60
0
0
12
4
-34
0
0
22
8
-13
0
0
24
-101
21
0
0
11
0
-57
0
0
35
33
11
0
0
4
11
24
0
0
3
-14
4
0
0
88
-18
-2
0
0
-30
-16
15
0
0
-8
4
4
0
0
42
4
-2
0
0
-10
-7
0
0
0
15
-81
16
0
0
-6
29
-13
0
0
-57
-3
1
0
0
-11
-15
-1
0
0
38
-14
32
0
0
3
-10
-7
0
0
-46
-13
0
0
0
4
-14
2
0
11
-4
5
-17
0
0
26
30
-44
0
0
4
51
2
0
0
8
-16
12
0
0
-13
-13
17
0
0
18
4
30
0
0
15
14
26
0
0
-1
-2
50
0
0
9
20
30
0
0
-26
39
-12
0
0
12
-13
12
0
0
-25
-24
-2
0
0
24
55
28
0
0
-46
-20
31
0
0
-9
-14
22
0
0
28
-7
-22
0
0
-17
-42
-19
0
0
80
-39
-57
0
0
3
14
22
0
0
-9
43
-3
0
0
-18
-31
3
0
0
-39
-26
49
0
0
0
-19
-35
0
0
21
42
0
0
0
-34
-19
-6
0
0
3
-10
0
0
0
24
12
-42
0
0
5
1
0
0
0
-31
-29
-2
0
0
-3
26
-2
0
0
-24
-1
0
0
0
3
-2
0
0
17
9
-3
30
0
0
-21
17
14
0
0
5
7
35
0
0
22
19
37
0
0
24
-27
-4
0
0
-6
-18
21
0
0
-8
-8
15
0
0
10
40
23
0
0
28
-23
33
0
0
-17
18
34
0
0
-56
14
14
0
0
-33
-13
-15
0
0
13
16
-39
0
0
-41
-9
46
0
0
25
-6
2
0
0
1
57
-10
0
0
6
-16
-15
0
0
5
27
14
0
0
64
20
-4
0
0
75
-34
7
0
0
-20
11
-4
0
0
43
12
0
0
0
-3
8
0
0
0
13
-28
0
0
0
-68
30
-17
0
0
-10
20
0
0
0
-20
-7
8
0
0
65
13
0
0
0
-5
0
-1
0
0
-5
2
0
0
0
26
24
1
0
0
-8
-2
0
0
-1
-10
-13
-20
0
0
3
1
-3
0
0
29
14
24
0
0
-2
23
7
0
0
6
10
1
0
0
-5
18
1
0
0
8
22
12
0
0
18
7
29
0
0
8
-3
28
0
0
-47
45
18
0
0
-18
22
-2
0
0
-1
9
-21
0
0
-1
8
1
0
0
18
-10
12
0
0
7
42
-11
0
0
-7
20
-2
0
0
37
-35
-4
0
0
-28
11
-12
0
0
5
29
11
0
0
-33
24
2
0
0
8
9
24
0
0
1
-41
-23
0
0
10
-44
5
0
0
0
54
0
0
0
-4
-27
26
0
0
-24
14
8
0
0
-13
-9
-1
0
0
0
-1
-6
0
0
-56
-4
25
0
0
7
-28
-1
0
0
41
-40
4
0
0
-1
2
1
0
0
4
-8
-43
0
0
4
-19
8
0
0
23
5
7
0
0
36
0
20
0
0
-5
22
8
0
0
10
37
25
0
0
6
29
27
0
0
31
19
1
0
0
-8
18
30
0
0
-13
37
-19
0
0
7
-30
20
0
0
-6
20
-25
0
0
-13
-30
19
0
0
5
25
13
0
0
-9
-56
16
0
0
20
-15
-19
0
0
37
9
11
0
0
-43
-11
-4
0
0
-32
-11
-3
0
0
-11
-21
1
0
0
-4
-1
6
0
0
18
25
0
0
0
-13
-28
3
0
0
0
-42
0
0
0
-25
6
10
0
0
-1
-9
0
0
0
13
-8
0
0
0
-23
-1
0
0
0
-16
17
0
0
0
-11
11
2
0
0
15
1
0
0
0
-16
-4
-2
0
2
17
-11
-24
0
0
11
19
40
0
0
0
35
-3
0
0
2
29
84
0
0
-3
23
-3
0
0
7
-30
-7
0
0
-8
8
5
0
0
13
0
31
0
0
24
17
-28
0
0
60
16
8
0
0
-7
-20
26
0
0
22
26
-26
0
0
-1
-15
15
0
0
27
18
-28
0
0
-62
40
6
0
0
5
11
-41
0
0
25
-17
-6
0
0
-1
-3
20
0
0
2
-1
-19
0
0
57
-31
0
0
0
3
4
15
0
0
-6
9
6
0
0
5
-29
4
0
0
-18
-21
6
0
0
36
29
-8
0
0
-5
-2
-1
0
0
9
-13
1
0
0
-4
3
0
0
0
13
-9
35
0
0
1
10
0
0
0
-16
22
-6
0
0
-2
15
0
0
9
84
-9
-13
0
0
-6
44
11
0
0
-10
8
17
0
0
-4
26
19
0
0
-14
28
-30
0
0
20
12
-3
0
0
-1
16
8
0
0
8
47
13
0
0
14
-28
-5
0
0
7
-3
46
0
0
17
0
7
0
0
1
2
-15
0
0
60
30
40
0
0
30
-10
-34
0
0
5
-19
-46
0
0
42
-26
-18
0
0
29
-86
8
0
0
-14
14
0
0
0
11
2
-1
0
0
-17
23
1
0
0
41
-10
0
0
0
-23
5
0
0
0
-42
-12
0
0
0
31
17
0
0
0
-28
-2
2
0
0
5
0
-1
0
0
5
-13
6
0
0
37
-11
0
0
0
0
4
2
0
0
8
6
-2
0
0
0
16
0
0
0
1
13
1
0
-7
3
30
-3
0
0
9
34
38
0
0
5
6
-60
0
0
-28
-7
-39
0
0
-8
15
21
0
0
45
14
-2
0
0
6
23
-53
0
0
32
24
-89
0
0
-3
10
37
0
0
23
-11
35
0
0
14
-10
-10
0
0
0
8
-26
0
0
36
2
19
0
0
52
-38
-16
0
0
46
1
5
0
0
-31
3
-2
0
0
11
-7
-7
0
0
-23
-4
33
0
0
27
22
-6
0
0
7
-22
3
0
0
-51
-13
44
0
0
-26
31
12
0
0
-22
13
0
0
0
11
11
-11
0
0
48
30
5
0
0
17
-5
-21
0
0
26
-10
10
0
0
14
-21
6
0
0
18
39
12
0
0
26
0
6
0
0
35
-50
1
0
0
12
-17
-1
0
-23
-27
17
4
0
0
-8
-24
10
0
0
-13
3
40
0
0
-16
5
32
0
0
-9
5
25
0
0
10
-23
15
0
0
36
-7
8
0
0
22
-25
-49
0
0
62
-20
42
0
0
6
-8
13
0
0
-1
-4
-6
0
0
22
-19
-30
0
0
25
-8
0
0
0
12
-23
-18
0
0
37
-29
-10
0
0
49
-9
7
0
0
-62
53
7
0
0
1
-23
2
0
0
-8
-10
-14
0
0
-20
-39
-1
0
0
-19
-45
7
0
0
0
0
-2
0
0
-55
12
0
0
0
27
-17
-1
0
0
86
-42
12
0
0
10
3
21
0
0
-14
19
-20
0
0
58
-6
8
0
0
11
22
-2
0
0
-52
26
-6
0
0
-9
2
2
0
0
43
-21
-8
0
9
-40
4
11
0
0
-14
-18
12
0
0
75
20
-14
0
0
63
-13
28
0
0
-9
11
32
0
0
-12
1
65
0
0
3
9
30
0
0
-2
15
24
0
0
13
-2
7
0
0
31
34
18
0
0
-14
-26
-4
0
0
24
11
-15
0
0
18
25
18
0
0
-36
29
13
0
0
1
22
10
0
0
29
9
-20
0
0
-11
11
-23
0
0
-4
6
-31
0
0
-11
11
22
0
0
28
26
-10
0
0
-57
-40
15
0
0
43
-27
11
0
0
19
-10
5
0
0
-15
-7
0
0
0
-9
9
-1
0
0
19
3
7
0
0
20
4
5
0
0
14
-2
4
0
0
-57
5
5
0
0
8
-25
3
0
0
-3
-15
-35
0
0
33
1
0
0
3
32
-72
46
0
0
-18
-16
30
0
0
61
29
-56
0
0
50
-26
21
0
0
-15
-3
-38
0
0
14
25
-4
0
0
51
-16
-7
0
0
51
-3
-9
0
0
13
31
-53
0
0
-21
-3
-7
0
0
-42
53
4
0
0
15
31
-6
0
0
-5
21
-1
0
0
12
2
-10
0
0
11
2
38
0
0
3
-15
11
0
0
0
-35
6
0
0
28
6
-2
0
0
41
6
3
0
0
12
41
-1
0
0
26
-1
-7
0
0
1
61
0
0
0
25
3
-1
0
0
-56
52
-2
0
0
2
-3
-18
0
0
-6
0
-12
0
0
-12
0
15
0
0
-34
-7
-3
0
0
5
18
-4
0
0
40
22
5
0
0
12
-28
0
0
0
-12
34
0
0
-10
11
11
8
0
0
-56
-5
16
0
0
-4
5
4
0
0
32
38
-3
0
0
-10
-4
24
0
0
-13
48
1
0
0
25
5
12
0
0
-1
-4
2
0
0
40
35
4
0
0
19
-6
16
0
0
-6
-22
31
0
0
-34
12
40
0
0
10
-16
2
0
0
11
-4
-26
0
0
24
-17
6
0
0
-5
-27
-28
0
0
59
-18
-28
0
0
-4
-27
7
0
0
66
10
18
0
0
-4
-15
-3
0
0
63
46
5
0
0
-3
7
6
0
0
64
-61
33
0
0
-17
24
0
0
0
-8
33
38
0
0
-7
-18
4
0
0
1
-2
18
0
0
19
-2
4
0
0
-1
-37
12
0
0
-23
-11
-20
0
0
10
27
12
0
0
-2
44
-29
0
10
6
-35
24
0
0
-32
8
2
0
0
-68
10
0
0
0
13
45
-13
0
0
-16
-5
14
0
0
-23
13
-39
0
0
-30
-7
14
0
0
-13
26
14
0
0
16
8
19
0
0
-7
49
-2
0
0
-2
7
10
0
0
-2
-7
22
0
0
12
-20
14
0
0
-11
19
9
0
0
-25
-28
18
0
0
-15
16
-12
0
0
-16
24
-33
0
0
-4
28
8
0
0
-6
-6
2
0
0
27
-10
0
0
0
-12
19
1
0
0
0
1
0
0
0
30
-8
0
0
0
37
-10
0
0
0
-3
13
10
0
0
5
-18
18
0
0
15
7
-29
0
0
-33
21
2
0
0
33
-5
30
0
0
-4
-3
-1
0
0
4
4
1
0
0
39
0
5
0
10
-25
-16
3
0
0
21
-37
44
0
0
-40
-20
11
0
0
63
20
-26
0
0
-15
-15
8
0
0
5
19
-28
0
0
8
-4
-48
0
0
-14
-8
40
0
0
9
11
36
0
0
18
-32
41
0
0
-59
7
56
0
0
14
18
40
0
0
2
-4
13
0
0
2
15
1
0
0
-39
33
15
0
0
-9
-4
-1
0
0
-19
38
-41
0
0
3
-22
3
0
0
-17
-7
-33
0
0
19
-6
0
0
0
28
1
-14
0
0
3
11
10
0
0
7
-21
-4
0
0
-10
30
2
0
0
-9
19
0
0
0
0
9
-1
0
0
1
-5
6
0
0
9
29
1
0
0
19
2
-7
0
0
0
-11
-32
0
0
38
-1
-13
0
0
-33
11
0
0
14
-22
-36
-69
0
0
-12
-35
54
0
0
2
-3
1
0
0
62
8
-82
0
0
-15
41
25
0
0
5
14
1
0
0
-7
-52
-1
0
0
-16
51
-48
0
0
2
11
10
0
0
15
17
-33
0
0
58
-22
48
0
0
1
2
20
0
0
4
39
-39
0
0
10
1
-11
0
0
5
3
4
0
0
11
-30
35
0
0
-2
0
0
0
0
20
1
-4
0
0
1
0
0
0
0
6
-5
-10
0
0
15
-4
0
0
0
11
0
-2
0
0
20
2
3
0
0
38
-1
0
0
0
-10
0
0
0
0
3
0
0
0
0
-10
-1
-15
0
0
-44
-15
0
0
0
-12
3
0
0
0
-36
1
0
0
0
-13
28
-1
0
0
-29
16
-1
0
-1
-1
42
54
0
0
-25
-7
49
0
0
30
-9
22
0
0
-54
10
-16
0
0
-9
-13
4
0
0
-28
19
-45
0
0
-28
2
36
0
0
17
41
-9
0
0
21
35
27
0
0
16
11
9
0
0
79
34
-77
0
0
66
-2
11
0
0
11
8
-11
0
0
32
-86
-6
0
0
39
-9
-2
0
0
6
-8
0
0
0
-21
3
24
0
0
49
-9
-14
0
0
-11
-11
51
0
0
-2
-11
13
0
0
-3
7
37
0
0
-1
-20
-12
0
0
-4
9
10
0
0
-6
-1
-1
0
0
26
-28
25
0
0
-17
64
26
0
0
16
45
-53
0
0
23
32
18
0
0
-44
39
-32
0
0
-19
21
-62
0
0
-33
-50
-37
0
0
-51
41
-22
0
-12
48
40
4
0
0
-51
-1
2
0
0
-10
-44
3
0
0
-41
0
-26
0
0
5
12
55
0
0
12
-44
23
0
0
-14
70
4
0
0
19
16
-5
0
0
70
-58
35
0
0
42
48
0
0
0
0
23
-4
0
0
32
1
-2
0
0
4
-96
2
0
0
-17
-16
-2
0
0
26
16
-2
0
0
7
-14
-2
0
0
21
100
-14
0
0
1
52
47
0
0
10
23
0
0
0
-18
-23
-9
0
0
-32
63
-29
0
0
23
31
15
0
0
25
4
-3
0
0
28
-55
-4
0
0
-24
-4
22
0
0
2
-5
-1
0
0
38
-14
-2
0
0
-1
-30
-4
0
0
-7
10
-32
0
0
1
-30
-11
0
0
2
-9
6
0
0
9
13
-2
0
42
15
6
-27
0
0
-5
-31
-3
0
0
-21
29
-29
0
0
-7
15
20
0
0
-4
54
-30
0
0
55
35
-22
0
0
-24
29
-3
0
0
-15
10
14
0
0
-12
16
14
0
0
8
-6
8
0
0
-33
16
25
0
0
22
-48
0
0
0
21
30
5
0
0
9
38
5
0
0
14
14
-1
0
0
9
-7
0
0
0
28
7
-55
0
0
0
33
-26
0
0
-13
20
26
0
0
5
22
-2
0
0
-16
22
9
0
0
9
7
-28
0
0
-49
0
4
0
0
3
-30
4
0
0
27
16
-31
0
0
1
-17
18
0
0
22
6
12
0
0
7
-40
0
0
0
-36
54
60
0
0
0
-25
-8
0
0
36
-22
17
0
0
58
-28
-1
0
45
1
8
6
0
0
46
-23
20
0
0
-5
34
30
0
0
-17
-36
-27
0
0
41
-38
-10
0
0
22
13
-48
0
0
-37
11
5
0
0
13
-28
-12
0
0
19
-28
-16
0
0
17
4
0
0
0
-41
45
0
0
0
71
-8
4
0
0
-8
7
0
0
0
-17
8
-2
0
0
18
-20
0
0
0
29
-10
1
0
0
6
42
9
0
0
-10
25
10
0
0
-12
-4
12
0
0
68
-23
0
0
0
-41
-19
11
0
0
74
-12
6
0
0
17
-13
3
0
0
45
-49
7
0
0
-20
16
-12
0
0
-10
10
-4
0
0
-3
29
-9
0
0
24
-18
-2
0
0
-28
-11
7
0
0
-8
38
-3
0
0
-20
2
3
0
0
1
47
5
0
-16
25
-30
-9
0
0
39
-16
-4
0
0
36
35
-71
0
0
-16
39
17
0
0
3
-20
33
0
0
10
-40
-1
0
0
-3
21
7
0
0
0
25
0
0
0
-30
2
21
0
0
-13
0
4
0
0
-7
4
8
0
0
-2
33
2
0
0
53
9
-1
0
0
-3
20
0
0
0
57
-18
4
0
0
-14
-6
-1
0
0
55
6
-6
0
0
-3
14
-4
0
0
-32
-10
-16
0
0
9
-14
-6
0
0
-72
-24
35
0
0
-18
82
-28
0
0
-23
6
25
0
0
2
-24
0
0
0
-1
23
-65
0
0
11
-15
-17
0
0
51
48
53
0
0
-29
-16
9
0
0
-24
54
-24
0
0
-4
-18
-44
0
0
-6
60
50
0
0
7
-2
-11
0
-35
22
53
9
0
0
-20
-2
-15
0
0
-16
-12
16
0
0
18
5
-21
0
0
5
-7
0
0
0
1
-30
20
0
0
3
-24
0
0
0
21
-61
2
0
0
-28
18
-3
0
0
33
6
1
0
0
-14
3
-3
0
0
-34
18
3
0
0
26
-15
1
0
0
23
34
0
0
0
1
8
0
0
0
20
27
3
0
0
-23
-19
3
0
0
-1
-5
-18
0
0
-25
34
-7
0
0
-21
-15
-12
0
0
-18
22
-16
0
0
-12
-1
-9
0
0
32
-27
1
0
0
-10
8
2
0
0
-10
-1
14
0
0
4
32
1
0
0
-18
18
4
0
0
45
-19
-10
0
0
-44
3
-12
0
0
-9
-13
13
0
0
-14
1
-6
0
0
-36
56
0
0
11
1
7
1
0
0
-7
-14
-4
0
0
1
14
16
0
0
-12
12
-4
0
0
-9
27
-18
0
0
7
-13
9
0
0
-3
28
-21
0
0
-36
15
7
0
0
82
1
-29
0
0
-16
11
-2
0
0
30
30
-9
0
0
21
6
-1
0
0
-8
23
-2
0
0
13
-19
-10
0
0
-1
-45
3
0
0
-6
4
1
0
0
9
-2
12
0
0
1
-3
-13
0
0
5
-5
24
0
0
8
15
0
0
0
-18
-5
18
0
0
2
-5
7
0
0
-20
-34
1
0
0
7
-26
-6
0
0
-20
34
-10
0
0
16
-8
16
0
0
-13
-8
26
0
0
22
-37
1
0
0
47
-23
-15
0
0
-4
-16
-10
0
0
-23
-6
-10
0
0
-18
72
8
0
14
28
-58
-7
0
0
46
-3
-2
0
0
-1
1
0
0
0
6
10
1
0
0
-23
0
3
0
0
10
-1
3
0
0
-1
15
0
0
0
-11
39
0
0
0
37
8
0
0
0
39
-16
0
0
0
9
6
3
0
0
23
6
0
0
0
57
-6
-1
0
0
-1
17
-1
0
0
-8
24
0
0
0
-20
53
0
0
0
-36
-2
1
0
0
0
2
-13
0
0
-3
-2
-4
0
0
-24
13
0
0
0
-24
-10
-1
0
0
1
6
0
0
0
-4
17
0
0
0
19
8
-2
0
0
-23
2
42
0
0
-2
-20
0
0
0
19
1
-12
0
0
14
2
7
0
0
-26
-25
8
0
0
-4
0
45
0
0
-12
12
0
0
0
-25
23
0
0
-1
-18
59
-20
0
0
3
5
2
0
0
-23
9
13
0
0
9
-45
0
0
0
8
33
-2
0
0
-12
-12
40
0
0
20
28
1
0
0
-2
56
1
0
0
7
22
-14
0
0
-18
28
0
0
0
20
36
20
0
0
-34
7
-1
0
0
16
43
37
0
0
30
17
-3
0
0
18
2
6
0
0
-51
-1
1
0
0
-1
-7
32
0
0
-10
45
5
0
0
-15
-17
33
0
0
30
-4
-3
0
0
-8
2
43
0
0
16
-36
-14
0
0
26
-38
-10
0
0
-14
6
16
0
0
21
8
21
0
0
28
0
10
0
0
1
63
12
0
0
-21
-10
29
0
0
35
61
-5
0
0
8
-8
-4
0
0
-7
62
-1
0
0
-28
35
19
0
-28
41
4
38
0
0
-27
-4
9
0
0
4
25
-1
0
0
-4
-35
2
0
0
-9
28
-6
0
0
4
17
-3
0
0
12
13
0
0
0
-9
-62
0
0
0
30
-16
-4
0
0
-18
29
0
0
0
-21
22
-13
0
0
18
-17
0
0
0
2
9
8
0
0
-10
46
0
0
0
18
35
0
0
0
-24
36
1
0
0
45
-22
16
0
0
-43
-57
-4
0
0
-41
-14
46
0
0
76
47
-14
0
0
-4
-12
-6
0
0
20
31
-43
0
0
47
3
12
0
0
-6
126
0
0
0
32
-62
-18
0
0
-26
0
23
0
0
-29
-23
9
0
0
48
-36
19
0
0
3
36
-3
0
0
-14
5
11
0
0
-27
64
65
0
0
9
7
14
0
9
-20
-8
11
0
0
-46
13
-22
0
0
-13
41
11
0
0
29
9
1
0
0
31
-20
-7
0
0
-7
24
-16
0
0
14
-17
-9
0
0
1
37
1
0
0
-3
15
-26
0
0
21
-12
-7
0
0
38
21
-36
0
0
26
36
-4
0
0
20
4
-4
0
0
-23
79
8
0
0
-7
10
5
0
0
13
60
-6
0
0
-46
16
7
0
0
12
-12
28
0
0
2
5
-9
0
0
-47
22
16
0
0
29
34
48
0
0
-7
-40
21
0
0
19
5
-15
0
0
-12
23
3
0
0
3
-7
-8
0
0
8
-21
16
0
0
33
9
24
0
0
-18
34
17
0
0
3
-27
-9
0
0
21
-16
18
0
0
-19
2
35
0
0
56
40
-18
0
8
21
-82
0
0
0
16
17
3
0
0
-10
-20
7
0
0
18
-34
-16
0
0
34
7
-3
0
0
0
11
-12
0
0
-8
0
-1
0
0
7
45
21
0
0
-2
26
3
0
0
-17
62
0
0
0
-2
-40
-1
0
0
4
58
-15
0
0
-15
-4
0
0
0
30
41
0
0
0
41
-11
3
0
0
-2
-61
-4
0
0
37
-11
0
0
0
6
32
11
0
0
5
25
-15
0
0
-22
47
-9
0
0
-30
15
2
0
0
15
21
16
0
0
1
18
-24
0
0
-14
4
7
0
0
-31
-7
25
0
0
-15
53
-8
0
0
1
-44
14
0
0
21
46
19
0
0
13
-33
-1
0
0
-12
1
42
0
0
36
15
76
0
0
35
5
-5
0
3
39
35
-15
0
0
-55
40
19
0
0
-35
3
2
0
0
3
-42
-1
0
0
31
3
-15
0
0
3
10
1
0
0
40
-21
-10
0
0
0
14
0
0
0
5
-3
8
0
0
-40
8
0
0
0
-12
20
-19
0
0
25
28
1
0
0
23
16
43
0
0
-6
-8
0
0
0
-2
19
1
0
0
-27
49
0
0
0
-3
-29
-1
0
0
9
36
15
0
0
-13
32
20
0
0
7
50
4
0
0
29
-45
-13
0
0
-17
-10
7
0
0
19
29
-17
0
0
3
9
0
0
0
22
19
-12
0
0
-9
-25
42
0
0
-26
-26
0
0
0
30
1
35
0
0
52
23
14
0
0
31
49
-40
0
0
45
-14
15
0
0
-25
2
39
0
9
6
52
-8
0
0
-4
0
-1
0
0
-3
12
-1
0
0
-4
-17
1
0
0
23
61
0
0
0
-4
-27
0
0
0
1
11
0
0
0
-6
4
0
0
0
-2
18
-2
0
0
6
36
0
0
0
33
-10
4
0
0
2
-25
-4
0
0
15
14
-15
0
0
1
-37
0
0
0
27
22
0
0
0
-7
-41
3
0
0
3
10
-3
0
0
-4
-38
-5
0
0
20
-12
3
0
0
-8
-8
0
0
0
-78
13
-24
0
0
15
14
2
0
0
-54
41
-11
0
0
-4
-2
4
0
0
16
-7
-2
0
0
11
24
37
0
0
45
-22
70
0
0
-27
-2
-18
0
0
18
-35
-39
0
0
-29
9
7
0
0
45
8
-11
0
0
32
29
12
0
-2
-35
6
-14
0
0
-1
3
6
0
0
10
53
4
0
0
36
-17
0
0
0
-8
-43
0
0
0
12
38
0
0
0
-7
42
-3
0
0
13
-7
0
0
0
16
-31
-6
0
0
28
-23
0
0
0
10
28
-7
0
0
33
-6
0
0
0
24
-2
6
0
0
-14
10
3
0
0
17
4
-1
0
0
22
23
1
0
0
-15
-39
-42
0
0
-24
5
-26
0
0
2
8
-6
0
0
-19
-10
2
0
0
37
0
-17
0
0
9
-8
0
0
0
0
14
11
0
0
12
-3
4
0
0
-3
10
18
0
0
-14
20
34
0
0
-54
-1
8
0
0
0
-12
-27
0
0
16
-3
2
0
0
-17
17
46
0
0
24
11
48
0
0
-9
6
28
0
24
47
-57
-1
0
0
-43
7
-1
0
0
2
2
0
0
0
-3
9
0
0
0
2
-16
0
0
0
4
-20
2
0
0
-1
5
0
0
0
48
-23
0
0
0
50
-7
0
0
0
-13
17
0
0
0
-2
15
0
0
0
17
10
3
0
0
8
-9
0
0
0
40
14
2
0
0
58
-15
-6
0
0
1
44
-2
0
0
-46
13
-4
0
0
21
24
4
0
0
-1
-7
-1
0
0
41
18
9
0
0
-4
11
-8
0
0
-20
15
-2
0
0
6
0
4
0
0
-39
41
0
0
0
-20
25
-11
0
0
52
48
-33
0
0
10
-19
0
0
0
13
-41
-8
0
0
-2
12
16
0
0
15
-6
22
0
0
-4
12
5
0
0
-6
25
9
10
-11
9
2
1
0
-34
18
-7
7
0
11
12
-1
5
0
-9
30
24
19
0
-3
1
-4
8
0
3
9
-10
17
0
2
8
2
19
0
-6
21
-3
5
0
23
-5
-5
-20
0
13
30
7
-23
0
18
-2
29
-9
0
13
-1
20
15
0
19
1
17
-7
0
7
8
6
-59
0
-1
-5
-26
-15
0
-5
-25
8
36
0
21
18
-7
-22
0
-17
-11
-3
-35
0
-15
-61
17
11
0
50
4
55
-23
0
-4
-4
-26
8
0
-78
-33
15
28
0
-27
20
28
-29
0
2
-27
-6
9
0
-17
14
-7
-14
0
18
-27
-33
-12
0
-4
0
31
-14
0
-14
-44
-31
27
0
-15
-19
5
23
0
-10
18
27
10
0
11
28
-26
27
0
-35
-22
23
6
-1
4
10
0
10
0
-37
0
-20
23
0
7
2
18
23
0
0
7
60
-7
0
3
16
17
-2
0
-11
13
-7
12
0
1
15
14
38
0
2
5
0
23
0
-29
3
16
-32
0
-14
9
3
-17
0
7
29
16
10
0
11
-13
10
9
0
-20
-16
6
-35
0
-15
13
11
-3
0
6
-7
-12
4
0
9
18
-12
15
0
-8
-10
-42
-12
0
2
18
18
-27
0
-15
29
11
21
0
36
4
21
-52
0
-11
-25
-6
20
0
-40
-45
-2
57
0
-7
2
61
-24
0
-39
32
18
60
0
3
-32
6
-14
0
-10
22
-56
24
0
19
5
28
8
0
69
-43
-1
39
0
1
70
8
11
0
29
-63
10
-7
0
21
1
-10
13
0
-17
-24
48
0
8
8
7
4
16
0
-25
22
-33
8
0
13
7
12
14
0
10
-5
21
19
0
0
-11
3
10
0
-1
-4
7
-4
0
-2
0
33
18
0
-3
8
13
12
0
-9
43
-32
-34
0
21
-5
32
-3
0
5
4
0
11
0
9
-13
37
38
0
25
35
6
-21
0
-9
-3
15
0
0
-26
18
-1
12
0
4
27
-26
-28
0
-4
-12
22
-9
0
36
22
16
-30
0
2
-42
-25
1
0
2
49
-37
-26
0
0
-4
-34
43
0
-8
23
37
4
0
-16
-18
10
10
0
-17
-14
1
-21
0
12
-23
-15
17
0
47
45
10
-2
0
34
-15
13
5
0
-28
33
32
32
0
16
-10
41
-9
0
-16
6
42
-1
0
-46
37
-15
-20
0
20
66
23
-1
19
13
-27
4
-26
0
-13
9
5
-1
0
29
-12
30
-5
0
10
-26
14
57
0
14
19
17
12
0
-4
-12
-16
1
0
20
14
11
36
0
-14
11
-23
47
0
11
37
-58
-5
0
43
37
-3
6
0
32
29
-27
2
0
11
9
25
-26
0
11
75
-29
-4
0
37
10
-8
-20
0
-55
-3
3
26
0
0
9
16
20
0
-24
9
33
-16
0
16
23
-46
30
0
29
77
10
-46
0
-16
11
-2
-16
0
-54
21
-1
-9
0
-18
-67
10
-11
0
15
-8
6
0
0
39
-52
-11
-1
0
-34
30
22
3
0
70
9
-8
1
0
-15
-57
24
0
0
-22
17
-7
0
0
28
19
-33
-21
0
-2
34
10
-5
0
4
9
-8
3
0
-16
-11
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
17
5
16
11
0
-21
-15
-25
-24
0
8
9
-5
-39
0
41
-14
-15
-47
0
-1
8
13
-30
0
-4
16
9
1
0
2
19
-21
8
0
-9
23
-18
-1
0
-9
-2
14
30
0
-6
-18
8
12
0
10
18
16
4
0
18
-17
-12
-15
0
15
1
19
10
0
34
4
18
15
0
24
12
4
8
0
45
-7
4
13
0
-7
46
44
-45
0
12
5
26
-3
0
12
-1
3
7
0
-9
-29
48
53
0
21
55
49
-13
0
-1
-7
-13
-7
0
26
-21
-22
59
0
26
-28
2
3
0
17
-27
-11
-1
0
-35
23
58
-1
0
30
1
36
24
0
34
7
-25
0
0
-6
-5
63
-46
0
-43
2
-29
-21
0
-14
17
20
-53
0
11
21
-22
-15
-19
19
-31
-20
-30
0
-15
-16
-15
-14
0
-6
7
-29
-21
0
33
8
-21
51
0
-20
-10
56
5
0
-14
7
15
-12
0
14
-2
3
-8
0
4
-14
-29
17
0
19
4
5
19
0
26
-6
-12
-10
0
12
43
7
-10
0
22
17
-3
-17
0
-1
-25
16
26
0
1
-21
8
-18
0
30
0
12
-10
0
21
-21
-15
-32
0
-50
12
-30
17
0
-57
36
-4
33
0
3
8
10
-1
0
13
28
-50
32
0
50
-17
32
-14
0
36
6
0
7
0
-29
85
29
1
0
-2
-17
1
-1
0
-16
-11
10
11
0
-71
16
30
-3
0
-33
61
28
-10
0
28
-6
11
0
0
16
11
28
21
0
2
23
-2
-3
0
10
6
-12
4
0
-21
45
46
-2
19
-31
-17
13
24
0
-30
11
18
0
0
6
-23
39
-26
0
12
9
58
-10
0
3
11
-1
-5
0
4
1
-25
36
0
9
1
2
-1
0
-14
18
23
0
0
-9
16
5
20
0
-10
30
26
-7
0
-22
30
-6
32
0
-6
31
18
3
0
-13
2
3
3
0
13
20
0
-5
0
-5
6
24
-5
0
7
44
-22
-18
0
-20
-13
-24
10
0
3
3
9
4
0
53
32
2
-15
0
34
39
-27
-2
0
10
15
-41
-16
0
56
-46
0
6
0
-14
-35
-6
26
0
62
-25
21
2
0
-42
-35
-18
-4
0
-2
35
37
11
0
-3
26
-15
-29
0
42
-18
-20
-2
0
-56
-11
25
28
0
6
7
14
0
0
59
-1
32
-16
0
4
24
-38
-3
5
16
-42
-32
-38
0
-39
7
44
8
0
-8
-13
0
25
0
49
19
3
-54
0
34
3
-29
-15
0
-3
23
44
-79
0
17
-8
12
-18
0
4
8
16
1
0
-2
25
-24
37
0
2
-6
14
12
0
13
20
-17
13
0
29
6
-15
1
0
14
-21
9
-10
0
19
20
-6
-4
0
8
5
-10
6
0
37
43
-10
-32
0
18
33
-34
-30
0
-3
55
-5
-4
0
72
1
34
-3
0
-44
28
29
-26
0
-3
-38
20
4
0
-39
16
20
-4
0
16
40
-3
-1
0
-18
24
26
-3
0
-17
-47
27
1
0
-12
-36
22
2
0
28
-24
-27
0
0
8
-35
-20
14
0
4
-39
-16
25
0
-15
15
11
1
0
-28
7
-51
6
0
8
10
4
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
18
-11
-44
0
-35
-9
-40
34
0
4
-1
17
10
0
15
-7
41
11
0
18
17
22
-35
0
16
-27
-21
-52
0
-47
21
2
-22
0
-36
-12
3
-1
0
11
37
35
31
0
15
35
42
-89
0
27
10
-3
57
0
19
4
61
3
0
6
16
20
12
0
-14
9
16
62
0
31
-7
33
25
0
51
12
4
-13
0
3
7
1
2
0
-47
27
0
-29
0
-51
25
-32
-3
0
-19
9
20
37
0
-45
33
10
39
0
-21
-13
9
-47
0
-4
48
0
0
0
44
25
-5
20
0
41
17
27
19
0
-35
-18
2
49
0
-49
-1
17
0
0
-72
17
21
4
0
13
3
0
4
0
11
-8
39
-49
0
43
-2
9
22
0
48
78
-42
-1
-8
8
3
-15
-11
0
55
-36
-22
5
0
39
29
-20
-29
0
-12
16
-25
46
0
23
11
-19
43
0
-9
-5
-19
27
0
44
5
-74
6
0
-38
10
55
4
0
-8
51
16
-9
0
-31
32
-1
4
0
24
-44
13
-2
0
-39
2
32
19
0
-1
-30
-9
25
0
-35
-5
-11
-11
0
-9
-21
41
7
0
-58
63
10
-4
0
9
-31
20
-1
0
29
26
-19
17
0
-2
-27
97
52
0
58
-5
-8
7
0
-42
22
-1
-35
0
-27
11
2
17
0
3
42
-26
-26
0
-11
-12
-4
-9
0
-23
20
-4
-17
0
-44
18
-11
48
0
14
-1
8
12
0
23
58
44
-3
0
16
11
-5
42
0
41
19
-1
-44
0
-8
-2
-2
37
0
44
22
4
5
-10
12
4
21
-49
0
31
52
-27
45
0
-47
0
62
-36
0
-15
26
-7
-10
0
-6
-15
-9
25
0
-21
27
-37
14
0
-20
-16
-37
25
0
7
7
-13
2
0
31
-11
22
-31
0
77
2
-63
27
0
-12
6
8
8
0
15
20
-3
-15
0
2
23
6
45
0
14
64
-1
6
0
41
3
57
11
0
-7
10
45
0
0
-35
-3
-17
26
0
-55
-16
-25
19
0
-64
14
-25
36
0
64
42
-30
8
0
-6
1
0
-64
0
26
29
7
-11
0
11
-34
-16
1
0
-42
55
-14
-1
0
45
7
-6
75
0
54
-26
-5
-12
0
-47
-10
33
12
0
5
23
15
0
0
-33
44
15
-23
0
36
-36
-42
26
0
21
-10
-2
-6
0
6
43
2
-5
2
0
22
23
-15
0
-98
33
-7
3
0
-10
-15
-14
63
0
-22
8
45
26
0
-36
-5
10
2
0
-16
22
-21
21
0
21
-12
-15
13
0
55
22
16
3
0
17
33
8
-18
0
40
7
1
1
0
11
19
57
6
0
28
-13
-14
-17
0
30
31
-34
19
0
13
-14
-19
-12
0
-3
1
0
2
0
15
-2
33
0
0
20
-15
42
-49
0
-7
51
30
6
0
-48
58
5
-41
0
-29
-2
-17
12
0
-50
18
15
62
0
4
34
51
-39
0
-9
1
8
8
0
-12
30
5
0
0
18
2
42
54
0
30
30
-4
0
0
-1
-1
5
-24
0
-51
18
27
1
0
18
22
-3
-18
0
-23
-15
18
-1
0
48
16
4
-5
0
25
67
-37
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-12
7
4
0
78
-7
33
-11
0
76
-5
5
-1
0
-35
52
25
-23
0
-7
5
13
10
0
-33
20
54
22
0
3
19
1
30
0
46
4
-5
4
0
1
8
-26
47
0
21
44
-93
-1
0
20
39
19
13
0
6
14
43
-19
0
19
4
-38
-3
0
17
9
27
39
0
12
23
19
-9
0
-23
-34
46
6
0
-14
28
19
-13
0
64
-7
23
-12
0
-36
73
19
18
0
-3
20
-41
-36
0
-22
3
33
17
0
-11
12
-5
23
0
-4
-8
-22
-23
0
25
-17
60
35
0
-20
22
44
33
0
-56
-3
-5
-15
0
32
4
39
32
0
49
50
28
37
0
22
9
41
28
0
-41
27
38
-5
0
17
4
71
-5
0
26
18
-42
-7
-7
20
13
23
-9
0
-23
5
-43
18
0
1
22
4
3
0
-5
-9
2
5
0
18
-63
1
-9
0
27
16
38
4
0
25
0
11
-2
0
25
38
1
-3
0
4
60
8
-25
0
-55
11
12
51
0
9
61
-1
3
0
4
31
43
19
0
2
-12
86
22
0
-10
-33
42
79
0
-24
-11
-14
-5
0
-10
1
20
-21
0
-5
-5
-4
64
0
-23
16
39
-35
0
112
39
-5
-15
0
21
52
4
6
0
6
41
16
13
0
-14
-13
-16
-1
0
17
12
8
-35
0
48
11
52
10
0
-19
12
-34
15
0
-46
14
38
-14
0
-23
28
13
9
0
33
23
39
17
0
-20
38
25
19
0
-3
6
-12
9
0
-16
29
14
-9
0
25
5
9
29
-17
37
46
-4
-13
0
23
-10
46
27
0
-26
6
12
7
0
-35
44
-15
30
0
29
39
60
-18
0
3
28
-62
-2
0
-11
3
-10
25
0
62
23
2
0
0
25
24
0
-47
0
-19
58
-15
7
0
-20
47
-9
24
0
58
27
36
27
0
-4
24
6
22
0
13
12
-19
11
0
31
57
23
-59
0
-42
3
-17
-20
0
-16
-15
48
4
0
11
14
28
-3
0
40
-18
12
65
0
18
44
28
29
0
42
-19
2
4
0
42
-21
16
-33
0
-15
-13
-15
27
0
-40
-8
4
19
0
-23
18
26
75
0
-9
-20
30
8
0
8
19
8
20
0
5
44
6
-28
0
-49
-26
4
53
0
72
0
-16
6
0
-18
24
-25
47
0
11
7
49
3
14
-8
69
11
-4
0
18
-34
18
-9
0
9
8
18
-12
0
39
-13
30
2
0
-6
8
-13
20
0
2
-32
24
1
0
22
-4
4
-3
0
-12
15
21
1
0
-4
80
91
-1
0
-18
87
19
-3
0
1
11
9
21
0
13
4
23
-4
0
29
-13
-50
38
0
-18
0
49
-16
0
40
-1
-38
-36
0
-6
-4
4
8
0
-88
5
6
10
0
-15
0
32
-19
0
-39
30
2
-9
0
-29
39
-12
-22
0
9
-49
64
-15
0
19
-11
-14
4
0
-12
3
19
-1
0
-2
-35
26
-1
0
-28
-10
-9
14
0
27
4
-14
43
0
8
-6
2
-26
0
14
8
13
5
0
18
-1
45
-33
0
48
12
33
14
0
47
10
27
-21
0
-11
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
4
-1
8
3
7
1
1
27
0
6
-6
19
-3
7
-3
-11
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
6
-2
-10
-7
33
-3
6
-14
4
1
-20
-1
-28
16
-29
-22
-9
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
21
-2
-39
-21
-40
-15
-27
24
28
-18
11
20
4
-37
-18
-27
23
16
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
25
27
-5
37
-2
-2
11
11
15
30
-10
45
74
12
-25
1
1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
3
2
0
8
17
-4
15
-9
45
-11
-8
30
33
33
-26
14
-10
16
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-14
-3
-18
8
7
-20
10
-28
-4
20
4
14
7
-29
-2
-22
15
11
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-15
12
64
1
-28
-21
27
15
-10
-15
36
10
-42
-1
-6
17
51
17
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-1
-17
-14
-48
9
9
-6
34
15
37
-33
-65
-10
23
12
6
19
9
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-10
5
18
13
36
-6
27
20
-4
7
9
17
5
18
-9
29
21
23
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
-16
-16
35
31
7
18
13
7
-2
1
-23
9
14
-1
37
-67
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-14
33
41
-1
-19
7
57
-4
-44
-11
-15
-25
-17
2
26
-6
-26
20
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-1
30
-9
14
-19
9
20
43
25
2
-21
-10
45
19
1
13
12
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-15
-3
12
27
17
-25
15
6
19
30
-11
33
26
45
3
35
6
30
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
55
18
19
19
-13
-20
-7
8
23
-34
4
-13
27
-12
-62
-36
-25
16
63
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-55
17
23
26
-6
39
-4
-20
-15
27
-18
27
-41
77
-39
-1
42
13
-35
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-9
37
30
5
39
42
11
-17
-1
-21
6
103
-20
3
9
10
-43
9
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
16
5
4
12
1
12
0
-8
17
3
-2
16
-1
17
-1
1
34
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-14
-2
0
2
2
-11
5
13
37
17
28
6
14
-10
-23
-3
-7
-15
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
22
29
-28
37
48
-21
-25
-69
-47
38
4
24
13
13
44
5
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-12
-2
58
8
52
19
20
30
-63
10
-48
48
30
34
-41
60
-17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-8
6
18
12
-11
8
7
5
55
-10
3
10
18
58
-42
6
36
47
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
25
-14
-4
-21
19
12
-3
-46
-34
1
30
48
-34
-30
-49
-34
-6
88
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-52
17
-8
37
53
-75
-6
-36
12
-16
82
-55
5
19
2
-15
70
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
12
-14
-34
-7
-25
-7
13
-72
-43
7
14
35
47
16
26
-94
73
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-19
8
4
2
34
11
11
9
7
24
6
13
27
9
40
11
36
12
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
-4
-21
-9
-7
-14
-3
24
8
-28
31
13
-3
7
-3
18
-69
9
-6
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
31
34
41
-2
-14
-16
40
-29
22
-9
7
56
-22
14
-17
12
4
24
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-80
7
17
41
-37
-74
38
14
0
5
13
20
-21
-7
17
38
2
12
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
22
8
18
16
-18
22
5
63
4
-18
15
15
38
41
22
42
12
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
53
21
-7
-14
-6
0
-16
1
0
18
11
8
-16
11
6
5
22
23
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
-51
-5
60
22
16
-28
-15
19
6
13
12
-8
-47
10
-13
-6
-5
-25
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
7
50
-64
-1
-34
36
-33
15
-55
19
11
10
3
24
-2
-13
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
10
2
26
-4
-23
0
3
-5
2
-32
21
-9
-2
-2
-26
25
-11
31
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
2
13
11
7
-9
-9
5
-12
9
16
3
12
-3
-14
35
-3
-7
-14
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-23
34
13
-10
-9
-5
24
19
-8
56
-51
25
-13
32
41
-4
-43
23
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
12
41
22
16
25
-26
17
16
-44
-28
15
33
-8
29
15
-39
-12
13
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
-7
20
-8
-2
-14
-11
-8
-22
31
19
7
-17
18
-10
-20
-1
-17
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
2
6
-4
-19
-16
10
-15
24
23
-3
12
-7
14
58
-39
-14
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-14
18
-9
-15
-55
14
23
9
3
47
-3
15
16
-12
-5
-38
49
21
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
77
39
67
-63
-14
-23
42
59
11
22
-7
77
41
-23
2
-36
21
-21
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
-8
25
39
-5
-1
55
-27
2
-12
7
19
28
-4
21
-3
-12
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
31
-1
9
-11
6
22
9
-8
-1
-13
12
8
4
11
32
0
-25
-38
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-15
27
9
1
45
48
3
-4
24
5
30
43
-5
-8
-17
-9
-21
28
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
2
44
6
-29
11
10
15
19
-15
49
-8
13
-5
-2
14
16
-37
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
-1
17
33
3
-26
-16
28
4
84
-28
15
48
30
-35
39
15
-9
28
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
18
-27
26
-38
-12
-2
-9
-1
-4
43
5
-24
-8
-21
22
-20
19
19
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-11
-32
47
13
11
62
38
-67
33
61
55
30
-40
-5
-37
23
74
13
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
36
-3
22
-53
-21
19
35
4
3
-9
-8
-48
-26
25
7
17
-25
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
23
21
17
-2
14
33
25
3
-15
-25
26
25
3
-15
-14
19
29
-37
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
12
16
6
12
-1
3
13
22
14
31
-22
21
-2
-6
29
-12
-5
-29
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
46
35
-21
-17
-21
-13
-8
33
36
16
-25
3
28
1
-6
24
8
-8
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-27
62
-13
-5
-4
-27
19
-19
55
44
51
15
-29
18
9
20
-11
32
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
14
11
14
0
-3
18
-8
10
17
-78
31
-17
-1
21
22
49
29
-43
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-2
16
29
-9
-73
10
-3
3
-2
-32
-24
0
-16
-5
-76
-32
17
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
22
26
-32
32
-4
15
27
41
4
-29
-9
31
-36
4
-17
-23
89
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-30
33
-4
18
-22
-40
55
-24
-8
49
10
9
11
-10
2
-3
23
25
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
15
21
4
4
-5
29
13
0
-49
-28
33
23
12
-26
-18
41
-26
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
32
17
18
1
34
19
0
24
19
32
4
-11
-7
0
53
9
-35
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-17
24
51
-47
-2
-14
30
52
8
16
-7
-25
-37
-7
-12
4
34
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
26
34
21
-11
30
-21
72
23
9
24
-40
31
-5
3
65
9
36
71
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-5
-34
38
-11
-22
24
34
12
3
-70
-2
-17
39
-10
-51
3
94
-61
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
45
-7
27
4
18
37
-18
28
-18
-6
-9
19
19
-9
-17
-35
-6
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-23
-8
19
1
-6
-19
49
20
-10
43
10
-18
3
1
-19
39
9
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
66
-31
20
32
27
20
28
-7
-2
18
19
63
15
2
27
26
-70
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-32
2
-6
1
20
-1
11
11
-33
-41
9
5
-19
-11
3
-32
3
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
15
29
17
-10
5
32
6
-4
42
-7
30
27
31
-8
-25
37
6
17
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-17
21
27
9
-48
31
-20
24
13
22
15
-3
-28
-11
2
83
11
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-5
9
13
24
37
-25
-8
36
36
-8
-1
0
33
-39
-5
-2
34
39
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
82
-31
33
-36
-68
-33
13
9
4
-47
-34
34
30
-18
-64
-29
22
-24
2
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
18
18
66
0
-17
13
-1
20
-8
47
-3
42
17
-49
-14
-8
-10
-4
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-3
43
0
26
14
17
-17
-77
4
18
43
46
3
-31
37
-104
-28
-26
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
13
-38
7
14
-35
-11
4
0
29
29
-13
45
-28
3
-3
-2
8
48
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
9
43
-12
-29
-17
0
9
15
14
93
5
-23
4
7
-39
7
5
-3
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
9
26
-13
-49
4
9
20
-14
-22
31
25
-44
-24
-16
-27
-18
-46
20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
18
51
7
43
0
-29
2
9
-26
3
3
20
19
42
-26
25
57
32
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
12
5
16
34
4
8
-46
-30
41
-6
-1
46
-57
-20
11
2
27
-1
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
4
10
-2
14
17
0
62
-14
1
27
10
25
24
-62
2
30
44
22
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
-38
-28
41
43
-17
30
10
-2
-43
29
5
4
4
-31
34
20
30
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
71
-12
22
-41
1
63
31
-5
-32
-9
17
5
-12
-21
3
-12
18
20
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-7
77
62
-6
0
11
21
39
-33
-32
31
8
21
-28
15
10
52
11
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-10
-20
38
12
15
-53
-31
32
97
2
8
8
10
14
14
0
38
3
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
5
28
-53
22
-21
34
8
-48
11
30
5
27
42
10
-32
25
26
-16
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-9
-7
11
42
-6
-19
14
36
-35
1
23
27
6
41
42
-18
-23
21
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-16
7
-2
17
-47
1
18
88
-79
14
55
20
38
-12
49
42
-26
11
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
21
9
-13
27
6
-27
-2
-5
-19
-36
-4
32
-2
14
13
38
22
3
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
60
10
1
-14
-49
20
-19
-4
6
-39
3
-3
34
34
-36
6
57
16
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
22
-19
15
38
-17
0
7
-27
15
-11
-63
1
28
20
8
-20
13
-1
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
4
-4
-8
8
-10
17
-3
6
54
51
9
-75
35
7
14
0
24
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
44
33
-21
-1
-14
15
-25
-15
12
11
-33
60
12
-24
1
14
11
6
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-25
-12
8
-25
-3
6
24
2
57
44
-21
9
-3
12
-29
28
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
48
-4
-38
-12
10
18
-9
39
29
-36
22
18
-11
25
-6
-9
46
-6
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
15
30
-7
43
-13
37
-8
-7
7
-20
21
23
-34
58
-46
6
8
41
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-6
46
25
8
-1
50
-10
19
-36
13
14
-9
20
1
0
4
-39
-27
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
-13
12
22
-8
24
23
34
-33
2
22
-47
56
15
-4
-31
17
11
29
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-12
3
-16
1
19
45
-36
21
29
2
16
11
-7
-9
-1
4
-9
50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
15
25
7
-45
-2
-15
-40
5
-10
-1
23
-2
46
3
-22
-7
45
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
1
-8
-8
82
-9
45
1
51
-10
33
6
60
-62
1
-29
26
20
47
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
20
29
21
53
45
-17
0
13
35
-22
36
38
19
28
-10
51
-20
17
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-33
0
-4
4
5
-10
38
-15
18
-116
-37
-8
25
10
-53
-26
-19
11
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
50
-19
22
27
2
43
59
33
45
20
-16
13
14
38
20
23
8
16
25
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
41
-29
24
29
15
33
-14
37
-37
12
-65
44
-16
3
65
27
-6
-65
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
-14
15
-40
4
22
-3
37
18
27
63
17
-13
6
104
35
12
16
-51
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
16
1
36
6
52
-26
7
-4
12
-60
-15
39
70
5
34
-14
-14
29
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
20
30
40
91
-9
4
49
5
49
46
11
9
27
41
-23
5
6
20
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-3
-10
17
33
4
16
1
18
-44
-21
-9
3
28
-18
2
0
-17
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
24
-9
11
10
17
25
15
-17
6
25
-3
2
-5
5
15
10
21
26
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-18
40
7
34
24
17
38
1
-16
34
-18
14
14
-7
7
26
20
55
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
15
21
7
33
56
-30
29
36
-11
20
18
5
5
2
4
16
43
15
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
43
52
1
49
5
-42
25
18
0
1
7
49
-13
-28
3
-20
13
-3
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
78
10
0
17
-32
33
14
-15
12
29
28
6
1
-9
15
34
-11
-12
47
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
24
38
22
46
-25
12
19
-36
18
28
-20
-4
-28
37
36
-11
37
-12
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
24
28
-3
-18
-7
41
28
-5
20
43
41
54
-19
65
13
24
3
17
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
6
16
46
-40
0
-8
28
21
-43
25
-49
-7
7
5
-1
14
16
17
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
17
-2
19
25
72
14
-40
-11
-5
71
15
48
-11
-16
32
42
-6
-19
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
-49
54
-22
-48
19
21
-19
5
-6
-17
-61
-10
38
17
-3
28
51
-3
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
13
6
26
7
18
57
4
20
-27
3
32
5
24
-37
-15
-1
14
15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-16
0
26
-37
-25
11
-3
49
10
0
-6
62
-3
6
6
56
12
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
51
49
27
19
-11
36
38
-10
-6
-21
-11
87
-27
25
43
0
23
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
27
-35
57
-29
8
-4
31
7
-11
-14
7
22
16
0
15
18
43
11
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
45
44
32
38
12
39
15
5
41
5
-2
0
49
2
-41
23
-23
25
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
62
4
-46
1
0
19
-4
16
-1
-22
-21
2
25
14
-3
-11
-12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
26
1
67
60
-16
40
10
13
-6
15
-21
-10
-11
29
-30
21
23
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-11
5
18
41
-20
-1
49
-14
35
16
-16
54
4
4
0
15
8
9
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
9
-32
6
31
-3
81
8
-4
47
39
-32
-10
-18
52
38
76
-5
-62
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
10
37
-3
0
15
-16
11
1
0
3
-8
-37
2
3
12
12
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
59
57
-10
-3
24
9
-23
2
2
-33
62
-64
4
22
-18
24
-22
-83
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
52
-4
-30
0
6
-17
23
-11
-18
11
-43
40
1
6
-27
-9
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
55
-19
1
23
37
28
22
23
-45
-1
-21
18
33
25
-7
27
11
56
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
13
31
21
-7
-16
-2
30
29
17
-8
11
27
34
27
-26
18
30
9
-1
-2
17
-1
3
35
7
46
14
-14
-18
-5
11
6
1
-7
54
35
40
-28
32
5
4
12
19
-1
30
-13
-16
39
28
12
-5
-10
13
-13
-3
-32
-50
-75
1
17
3
8
33
-39
-31
27
-22
-16
13
-57
-14
-45
-31
-20
18
-7
5
-8
-25
32
-7
11
28
13
16
-25
30
-32
-51
8
12
-7
14
24
-12
-40
24
-26
-2
-16
8
1
-2
-32
17
-16
5
22
52
-30
-61
-5
32
-12
-9
-12
42
-17
16
35
21
-26
-37
9
8
-11
76
9
17
-35
-4
49
18
-11
4
27
10
27
-7
6
-11
60
-47
49
19
-37
57
-46
9
35
8
16
-28
7
36
15
-33
-8
-20
-10
18
14
32
-23
0
18
59
33
8
-6
9
24
9
20
0
24
-11
48
20
-13
18
-16
1
1
-5
32
28
7
19
18
36
-37
13
55
11
6
3
-9
-8
-11
-6
-7
-2
-22
26
19
10
-18
51
22
-19
13
-2
23
38
7
-38
61
50
-20
-2
-3
-9
-30
-30
28
-17
-14
-86
-25
6
31
9
-14
-27
20
-45
42
-29
3
11
39
-31
38
6
-11
62
23
3
32
14
34
26
11
-37
5
34
-21
38
-26
-14
21
-48
-18
13
31
17
-41
15
-35
46
-21
6
22
-50
7
-43
1
-28
21
-10
-18
23
96
-21
-37
-30
74
19
1
18
6
34
-18
60
-32
8
-6
-14
7
17
-21
-36
2
20
-22
24
-4
-26
9
37
-7
5
15
45
-37
0
-1
-3
-9
15
-4
-14
1
-37
11
20
5
22
16
33
-6
-6
24
8
19
42
11
-14
-16
17
4
47
-28
2
36
12
19
47
14
26
11
63
26
42
35
15
-22
6
5
-14
-6
18
-23
-5
-24
4
5
-12
-9
36
-39
-52
16
-7
17
22
-52
-50
6
17
-54
8
-37
-4
24
-10
29
1
-12
-19
-19
39
-6
-24
13
-2
14
-17
-15
17
-1
10
24
41
-3
57
-25
-21
33
26
-14
-1
-2
55
1
7
-17
-42
33
48
26
8
-50
-3
-2
41
8
26
59
-36
-98
4
-20
6
-9
17
2
16
22
-28
-7
4
15
26
28
19
-19
-45
-39
8
2
43
-6
-13
32
19
-7
-17
20
-14
44
13
-70
-52
43
-16
25
86
-112
-25
19
-2
-9
-7
0
0
0
18
-23
9
49
38
7
2
24
65
7
35
-12
40
0
11
-6
-52
8
3
83
11
-19
9
13
18
13
36
51
22
6
15
-12
23
26
43
-11
24
42
33
15
-6
5
29
-22
-12
-2
-10
20
28
15
15
-20
-18
-25
-4
13
-38
14
-3
29
-42
-21
-12
2
14
-15
-17
6
-4
9
56
-44
-35
34
-13
-17
-45
15
77
-29
-20
-7
12
67
0
50
46
-14
10
-19
-82
67
46
57
12
27
16
64
8
9
13
-56
-19
9
23
32
15
-22
-22
6
-5
42
58
-4
2
-19
-9
3
14
2
-2
-14
44
0
-14
-27
-20
26
22
-6
-5
32
-6
-21
-13
70
-33
40
-37
52
-15
41
28
-34
0
12
32
-45
0
24
2
-37
5
9
16
-14
11
0
9
1
4
-7
-5
17
30
-4
-5
0
-8
3
18
9
12
28
17
3
-7
16
19
25
12
21
7
7
24
26
14
20
-17
-9
23
3
5
6
23
21
-2
16
16
17
-1
11
-7
-18
17
-24
2
-21
-15
0
16
6
-14
0
-9
16
12
36
-23
27
-14
-10
-19
6
-31
-24
17
-22
13
-5
0
6
-31
14
-32
17
9
-4
0
39
31
11
11
60
63
-22
-18
-11
-14
5
56
-55
12
-24
1
-31
11
10
26
11
-1
11
-22
0
10
-4
-42
23
-18
28
27
27
61
-80
-25
-1
11
-25
8
0
20
1
-2
-4
8
-10
29
-6
5
5
16
-18
0
-12
7
-26
-21
4
-49
21
0
47
5
-42
3
-61
16
27
-20
4
9
59
-2
1
26
15
16
4
0
0
-12
-16
1
0
-3
13
-5
26
3
11
14
3
24
21
31
8
15
44
56
-28
43
3
8
7
2
40
19
36
37
14
52
2
35
17
4
31
10
20
26
0
-14
4
-6
-32
-1
32
-10
-50
6
-24
42
-1
3
13
0
94
-12
-21
-32
-24
2
-7
-10
39
4
34
-9
7
-1
-12
-20
-3
5
1
9
-49
12
44
57
-40
51
-1
-17
38
-9
65
-19
18
-28
-18
-15
20
2
-24
-5
64
-27
11
-28
-21
-26
8
-21
28
2
8
-17
-25
-42
0
18
-41
19
35
2
-3
-13
1
-14
-1
2
35
-26
-17
-8
0
53
-24
-1
21
42
-40
15
36
-40
8
1
5
15
-8
63
58
-27
-29
-15
21
-26
4
-12
10
-7
1
-52
0
0
4
9
0
0
0
8
2
0
5
17
12
-8
18
6
-24
37
18
12
17
26
-15
-19
16
9
28
1
-2
9
-4
6
-6
12
32
12
2
-2
11
14
2
68
24
8
31
28
35
7
-1
-9
-43
9
-27
-6
23
3
56
-33
11
-36
1
13
-37
-20
21
21
-33
-31
-13
-3
-1
-7
-21
-12
-7
-7
53
-4
-40
-30
-3
20
-9
-6
-23
-22
-5
9
36
24
-11
-18
-14
-35
-11
7
10
51
3
-14
3
-30
-10
18
33
-22
2
-19
23
14
-1
-8
3
-3
39
-12
5
1
-33
28
47
6
4
33
-12
-15
0
-16
-19
-10
27
9
-19
4
51
-24
1
-31
1
70
-10
0
-8
58
-12
17
4
66
33
25
25
-14
18
3
-20
-5
-7
-12
0
22
-9
3
-2
1
-1
-6
-7
27
14
1
-14
-15
55
-13
-6
-26
-46
2
26
34
27
19
11
-30
56
24
33
46
-30
18
11
26
57
-12
29
-2
58
-5
11
32
27
37
-74
-28
12
11
38
14
-1
-12
-50
-22
-38
-10
-9
46
15
16
5
17
8
5
2
-18
-13
22
13
30
7
5
-11
-4
-42
-16
25
1
-10
22
7
-31
-27
53
20
73
24
-3
-18
-23
-33
32
15
-29
25
0
54
-21
-11
12
-25
65
-35
-7
-14
37
62
-43
-6
-10
7
16
-23
0
33
5
-6
30
0
-7
39
-44
1
3
19
22
-1
12
-2
-9
30
-40
16
-3
36
62
-23
-2
3
18
4
-8
-1
-6
-1
47
-8
2
6
-2
-8
-38
15
2
-9
-1
2
-1
2
-1
1
-3
-2
0
0
-2
11
9
9
-22
-7
20
-4
69
0
-10
-5
9
25
-7
-9
17
-25
-15
9
10
-9
-55
-11
3
2
31
14
-6
-29
-16
2
26
16
12
-2
-8
-33
-34
-5
14
-5
-12
-8
-2
6
2
4
17
-40
2
-3
20
19
-50
-1
-28
-44
16
-4
-30
-25
8
10
-15
-3
27
-20
-10
-23
-27
18
16
17
-25
1
10
-6
-16
1
-25
10
-13
-8
14
8
-16
-36
-4
3
-9
-3
-10
0
74
-10
-28
-34
33
1
18
39
-38
-1
2
45
15
-33
25
-5
-1
-6
43
10
15
34
-71
-20
2
-3
42
-7
-45
-1
15
43
-5
36
23
53
23
1
-14
-12
29
59
3
12
-10
14
42
-18
-10
-2
10
45
-69
33
-26
1
29
-32
-2
13
13
69
-32
10
15
-15
7
6
2
0
-16
-16
19
-18
48
-50
-40
23
1
8
11
1
36
-17
22
11
62
7
-5
-42
14
11
-7
-4
0
-3
15
-1
-15
7
39
15
-1
-54
-75
-13
-19
-3
20
8
22
-6
0
-31
-18
-9
-31
-16
-8
-3
15
-12
-31
-38
-1
0
21
39
3
-36
4
5
21
-9
-18
31
-27
2
5
-11
-14
7
10
-8
-21
-14
2
-15
-15
32
-16
26
12
-43
11
-66
-12
20
-15
-4
88
-10
-49
-10
1
-19
43
22
-12
2
35
50
-25
9
-4
-19
30
-4
37
0
10
32
17
1
-2
22
-4
10
-2
-1
18
32
10
3
-22
42
22
4
17
-2
-10
34
5
42
-9
12
46
-12
-10
2
27
35
28
11
2
8
-3
13
-11
-6
-10
-4
1
15
0
-3
3
-15
27
0
-3
-2
-3
24
18
9
-1
-17
-22
14
23
7
8
-35
20
10
43
46
7
-28
1
19
15
6
-16
-5
7
15
-4
56
47
0
-31
-19
0
-23
4
40
-53
-2
-20
-3
-6
-9
15
-13
2
25
19
-23
49
12
-33
22
1
18
9
-22
-40
48
-26
21
17
4
15
21
8
28
5
1
5
-9
0
-18
-15
-38
-41
-17
24
23
63
5
-5
-45
0
2
-17
-23
-8
-1
14
22
-7
-40
10
-58
91
-36
15
-3
31
27
50
-1
-5
37
29
16
3
4
-26
21
4
-6
1
9
25
0
-2
0
-33
26
-51
-41
14
-8
50
42
-12
8
18
-18
27
20
-11
18
-4
8
26
11
52
15
34
-12
-7
-2
75
-17
-6
2
1
-11
1
-42
2
-5
4
-30
-12
0
5
1
-1
-10
8
-50
31
-28
-12
-3
5
16
30
9
38
-11
10
71
61
-1
6
-56
17
7
36
19
-64
14
14
65
6
17
-15
65
-8
-34
72
6
35
12
18
-1
13
-33
-35
-6
0
36
-2
-57
-7
-19
-19
-5
27
51
-16
14
-3
-46
43
-12
39
-4
-24
10
-28
10
18
-20
20
-24
10
-15
-9
-13
-4
23
6
-36
-54
-17
1
-31
-2
-6
8
22
-2
-12
-4
17
-14
-5
3
18
-27
5
-3
-3
-5
-46
-12
37
0
-21
73
-7
-17
1
-1
-39
39
1
-2
-21
-14
9
15
0
15
-24
25
42
0
-11
16
-25
-1
10
49
-12
-2
-25
-15
2
9
-23
12
8
21
24
-20
7
-1
4
34
8
24
0
0
-3
-39
4
1
0
25
3
-5
-12
25
-21
14
-10
-29
5
0
35
-12
-35
-38
-16
-1
1
-15
-37
-8
-13
12
32
12
19
2
-16
10
-7
-23
4
10
59
-42
-6
29
-10
41
-39
-27
12
-1
8
21
9
-3
15
-8
1
13
-12
21
-1
-21
13
-3
6
13
44
-2
-19
-3
38
-25
29
5
28
23
-71
16
11
33
-6
2
10
-6
12
13
1
18
9
-15
26
-38
33
38
11
8
1
37
18
28
4
-1
-42
-28
44
-3
7
30
23
17
0
26
47
30
-68
-11
23
-65
24
-1
0
12
-42
-26
-12
18
-6
8
-19
11
0
-52
0
7
11
-3
34
-16
-21
42
4
28
44
13
-8
7
24
29
-11
39
0
18
7
-7
-3
8
3
19
53
-12
-10
-2
-26
-19
22
2
0
11
-6
0
-4
33
15
39
-54
-28
13
-20
44
-25
-75
-29
3
-19
47
23
-22
22
38
38
3
0
25
17
-23
-43
-13
-9
-14
17
-59
6
57
-12
41
2
29
20
-28
-3
11
-6
0
3
-29
15
35
22
2
-21
13
-91
1
2
44
7
-7
12
36
3
1
32
6
-10
20
18
-53
-16
-3
12
-8
2
9
12
1
38
18
12
-1
-15
-74
0
-7
20
90
-2
-21
6
45
-6
-2
22
-9
-13
-10
1
-7
-4
22
-18
0
-20
33
6
-9
7
19
6
-51
0
-1
-3
-16
35
17
1
-13
22
-7
-3
0
-18
-12
-7
1
-9
-61
26
1
-7
5
-14
-5
3
-7
2
4
-47
29
0
-11
-1
-14
68
27
7
-1
35
2
17
0
-1
45
-1
-9
0
1
10
1
-2
0
10
38
24
-68
-35
38
19
-61
-5
30
-13
20
7
15
-7
-9
-7
-21
-1
-2
7
6
17
32
-38
23
-11
7
36
13
-23
28
26
-23
-85
54
15
-23
6
19
-55
29
7
24
-39
74
-5
-6
-4
-64
-14
22
5
-12
-14
-11
8
5
-19
-34
-25
8
8
12
23
35
-4
45
9
34
11
6
-1
9
-22
38
-5
-4
10
-13
-30
-20
44
-8
0
-15
41
-47
-35
0
-27
10
13
2
2
6
34
-8
-8
3
-12
-26
8
27
1
-7
2
26
-2
0
9
-8
42
-18
37
0
-4
23
12
0
16
2
10
33
2
3
2
-20
22
0
-5
3
51
20
17
4
-15
10
7
-1
-4
0
16
37
11
0
-10
4
13
-12
23
-19
31
-14
-20
1
2
-7
-3
1
-6
3
14
16
-8
57
-2
-10
-40
-15
7
-2
6
29
1
-9
-20
-6
57
-1
-32
-15
17
12
4
-49
48
41
-28
-26
15
38
7
-71
27
-8
10
50
2
-2
-36
8
16
-11
-30
-17
7
-13
-7
16
-19
13
11
3
27
-51
61
-7
1
33
6
1
11
-1
-9
-110
10
49
47
26
44
-14
16
-19
37
22
-51
18
-44
-20
0
-5
5
-16
0
7
20
30
-7
0
-7
19
34
0
0
9
36
5
15
1
-2
21
11
9
6
10
-39
3
0
0
0
1
-14
4
0
-1
-5
6
-4
-1
6
-44
33
3
16
-3
9
-1
1
-3
1
54
-61
-8
-3
53
-2
27
8
1
0
4
-2
4
-4
-8
1
-6
3
1
0
-1
5
4
0
0
-6
-9
-18
0
46
1
12
-6
-21
-19
9
1
-5
-11
15
31
15
-22
53
103
55
-47
-21
-22
13
9
13
-25
0
-2
-10
29
-36
-2
-16
-31
10
-9
-23
6
-16
-26
-24
0
9
22
18
33
24
59
-16
-8
16
23
56
24
9
10
-13
76
-18
-30
6
34
-14
37
-22
5
17
6
41
41
-17
11
62
36
-9
-17
-30
-31
51
29
12
0
36
31
34
25
14
-18
-16
11
8
0
3
9
38
26
-3
33
-4
25
14
-40
0
-9
15
-19
-27
22
23
-28
38
13
-59
-5
-12
12
-4
-19
-21
57
48
-3
43
41
14
11
-12
11
41
-20
-8
49
-15
17
23
-2
64
51
24
-19
-5
-14
-5
19
-1
17
42
-17
31
-3
-4
23
1
82
6
13
-11
48
41
10
-24
-6
30
42
51
-36
7
-18
-20
-26
23
38
50
9
-10
12
38
30
-19
-33
-6
20
-1
27
82
-17
-24
0
17
20
-4
-23
-21
12
-4
7
20
-3
-20
13
-25
0
7
46
8
51
-16
1
-27
46
39
30
52
-1
-23
19
-18
-26
16
-31
27
-4
-72
44
23
5
60
21
-32
-54
-2
1
-31
48
20
12
9
10
-7
1
2
6
6
5
31
45
3
-111
48
41
3
1
8
58
-22
-18
43
31
13
-10
-16
4
74
23
-42
-76
-6
2
20
2
32
4
40
50
-44
26
8
-13
-18
13
-10
0
12
46
-43
8
41
12
0
70
30
28
27
8
11
39
-53
34
-4
28
8
-10
-7
-42
51
22
-3
11
4
-3
19
-1
-45
62
44
-36
6
-6
-15
0
-26
-6
10
-26
-10
44
2
16
9
27
15
-2
-8
-55
-36
11
7
-4
-5
21
-25
10
-19
31
-27
-46
-8
37
16
10
-3
3
-57
-26
76
47
-8
-11
-15
-29
-3
0
-31
9
1
65
18
-6
-8
36
21
0
12
-14
87
-10
-4
51
-34
-5
14
-7
14
-3
-9
-23
11
122
17
-8
-21
1
44
16
33
10
-11
-2
1
17
-8
0
1
29
2
14
3
-33
38
19
55
-62
-28
33
15
29
-20
-12
-28
-7
10
8
49
10
-4
-19
20
12
29
-30
-1
-1
-5
12
-11
28
1
16
1
5
2
-4
4
30
17
6
48
23
1
63
-52
-19
62
2
18
21
-21
25
38
26
-66
-4
34
-2
49
15
20
-9
55
26
7
26
20
3
12
-13
43
2
45
-24
15
10
13
7
25
7
-16
3
-36
-12
-20
-1
18
3
32
-30
-1
-32
-8
-29
42
4
19
3
-15
12
-4
34
-13
42
2
8
-11
-47
4
11
1
-12
38
-1
-10
0
0
17
57
-2
1
0
-14
31
48
4
0
18
-18
16
7
53
5
-32
32
-12
35
24
-9
2
0
-15
44
13
-48
-42
9
0
16
14
0
3
-13
-5
-4
0
-18
45
-12
-9
7
15
29
71
-46
1
28
0
-24
-4
-16
-36
10
45
2
-10
27
31
16
27
1
-8
47
20
32
16
-15
12
-6
2
2
4
27
-20
-13
0
0
-56
29
12
27
-1
34
6
-15
-24
-63
5
70
33
22
-73
5
58
35
48
48
-2
-40
50
-1
7
21
3
-8
24
-9
-14
51
-32
19
-5
21
-17
-17
-7
-7
-24
19
35
39
-2
43
-17
16
27
69
7
-30
7
-43
-20
-9
56
-55
3
2
37
-40
-44
-7
-24
7
-29
38
2
-15
-25
-28
2
-1
45
-55
-9
-7
0
76
-1
19
31
-35
64
-5
21
15
-9
2
-15
6
56
16
25
-43
-13
46
-7
12
5
-15
-52
14
-5
11
30
15
-9
-20
20
13
-2
-11
0
10
12
13
0
81
2
8
15
-42
4
-9
-11
31
29
28
2
-9
-14
-17
-31
35
33
5
-2
6
7
3
38
27
-58
39
47
-25
29
-16
14
-8
7
-1
10
-8
-3
32
1
4
33
34
62
22
56
23
38
51
-12
31
60
-8
-5
-18
6
-93
46
24
7
31
15
59
49
10
80
-8
76
-26
22
-39
-30
37
-30
57
-6
-33
88
20
9
22
14
-35
-52
26
34
25
-48
-20
-21
-52
12
52
-16
-4
59
-16
17
-22
-2
6
-8
14
44
6
-61
53
-76
-20
-2
24
-40
0
-7
7
14
-38
9
-3
-1
-3
16
12
19
-13
-15
47
-3
1
-4
-7
44
-23
-9
4
26
-18
-4
-13
-4
17
-11
1
-19
-7
-50
37
7
11
0
-34
20
27
-1
0
2
8
-15
1
0
-44
2
29
10
-8
10
-17
-5
23
-27
16
42
37
1
30
-55
62
-46
76
-22
-10
-29
34
-1
27
-45
33
17
3
-4
-3
43
73
-39
-8
7
7
16
-2
-1
-1
22
36
24
52
40
20
-38
39
32
55
71
3
23
-12
-18
-2
16
28
-23
13
29
22
-13
-24
15
5
36
-7
-10
17
-20
2
11
1
4
-17
-4
36
0
61
35
10
-60
-58
-97
22
45
1
3
-2
43
15
14
8
-35
-19
10
7
0
26
44
9
18
7
9
29
0
-16
-1
63
4
-46
-2
-2
10
10
3
6
1
-40
70
31
14
7
-1
-13
30
-1
0
-4
14
28
-20
14
6
53
10
-2
0
-9
77
13
-56
9
24
-10
-2
22
0
1
26
34
11
22
1
3
-4
0
0
85
13
-29
-67
-28
-25
7
14
30
-1
10
0
-19
42
21
-3
13
18
40
-4
52
9
-21
-7
-22
21
9
28
-38
0
-49
12
63
-9
15
8
5
1
-33
0
27
34
-25
42
17
10
5
-6
24
-44
-9
-24
27
59
-16
54
2
-13
1
15
-9
-7
19
24
31
-5
79
55
-1
-20
-37
0
-20
16
11
3
-38
-11
2
17
17
16
16
-11
0
23
13
18
-23
2
1
-20
-25
-19
0
46
8
-24
-40
0
3
2
-29
-21
0
5
-2
40
-1
1
1
23
-4
4
0
-3
-17
3
-3
0
7
66
15
3
-1
78
-2
-67
-4
0
15
-25
92
-9
-1
9
-35
14
6
0
35
-5
-33
0
1
-22
16
17
-2
0
-1
49
-4
0
0
-2
-16
14
0
-7
39
24
0
0
-12
20
-12
19
-30
0
-1
16
5
31
6
0
2
5
-2
0
14
-1
53
-3
-2
-11
1
56
5
2
1
-1
8
-6
2
0
6
-7
0
0
21
-9
29
21
22
-7
-57
3
1
-8
24
-60
36
17
78
-10
35
-9
9
-10
2
12
-13
1
3
-12
-6
25
17
0
-1
-2
63
-3
-15
-1
-13
-3
8
-2
-16
31
-14
23
-29
-2
93
-3
-19
12
-37
43
-29
35
10
34
-9
9
8
2
-13
-93
32
-5
51
49
-33
15
-1
2
43
-21
-40
-5
-2
-7
7
-10
7
0
32
24
7
-15
-33
27
13
-1
17
-19
19
11
2
3
-3
-11
53
59
-12
0
-2
4
-11
36
5
-29
5
11
-21
2
-11
-23
-16
68
-9
3
3
-18
-1
0
-3
43
6
39
4
13
1
45
23
27
-22
9
16
-6
12
-10
13
44
17
0
5
59
23
6
-31
24
-15
35
-41
3
40
11
-9
12
-22
-6
12
11
-24
0
-14
43
47
-3
56
24
20
42
38
-7
28
16
64
-9
62
19
-16
3
8
26
32
29
24
23
-20
50
5
48
31
-33
-33
15
10
12
16
-24
51
41
39
-27
1
0
13
46
-15
-5
-58
64
-27
14
-2
4
69
3
8
-17
-7
-3
0
-2
5
26
42
-48
0
-11
-49
-6
38
11
8
25
-15
-7
3
-2
-4
-8
-4
-2
-12
66
21
12
20
22
15
16
30
-11
35
-34
-18
-11
11
47
-3
24
-27
-2
18
31
35
-32
3
7
-5
31
-10
3
26
-10
2
7
0
-7
-7
-7
11
0
-13
26
-7
-14
-12
-46
36
-32
57
4
-18
41
-30
37
4
26
61
-6
3
10
-8
43
-5
32
11
69
-56
-22
-38
1
0
16
5
-10
3
-7
10
23
4
3
-50
16
67
-2
57
14
20
53
-1
-37
18
37
-34
18
18
-2
16
18
-7
26
-10
27
-12
22
28
-44
-25
33
57
-27
-9
19
17
28
31
-13
20
1
7
-10
19
-22
-23
9
-19
67
-16
-22
-7
1
3
-8
5
21
-1
45
23
-9
15
0
-69
80
40
20
-9
-8
-51
28
1
0
-14
-17
1
-15
12
3
4
0
-1
0
13
16
41
-5
-11
44
7
2
-10
-4
-32
-20
45
-20
-3
39
30
18
-2
2
22
19
-18
68
-15
-32
74
34
-11
0
30
53
14
2
-10
1
-2
-26
12
10
22
18
24
16
48
20
2
-7
-8
-7
3
40
-2
-16
-33
9
-12
-23
36
0
36
25
-71
45
-42
6
9
-2
-11
-10
-19
-14
-14
47
-7
-8
13
13
14
-2
11
12
8
-10
43
1
55
1
11
56
-47
18
22
27
27
4
-5
-19
47
23
65
51
11
33
44
-69
-5
42
13
9
40
19
17
14
39
9
-8
-34
7
-7
-24
-34
3
-1
0
-3
41
38
-9
-3
0
26
-41
8
0
10
-32
-29
-19
0
2
32
11
16
-6
19
35
-1
9
1
0
-8
16
-5
0
-6
47
0
-18
0
-15
35
-11
-2
2
-3
-12
14
8
-2
14
8
11
-24
-3
12
5
43
-6
0
0
-4
10
-2
-1
9
11
66
7
4
-6
33
9
-3
1
9
43
-4
4
-2
-27
6
-23
-16
-4
39
-7
-4
21
-1
-3
21
9
-23
12
11
-24
12
-3
0
-7
-14
3
65
-9
-2
18
-49
-18
28
1
16
55
-2
2
-1
-4
1
8
3
-63
-11
36
29
11
3
-22
37
-18
-7
36
-1
-8
-8
-22
43
-16
9
-52
15
-24
20
-9
-37
-5
10
-14
6
48
15
11
8
-13
71
38
-7
49
-6
30
12
14
16
39
-37
-13
-28
-29
4
-12
13
16
-12
-17
32
4
2
7
-17
2
2
15
49
1
-16
-9
44
-41
8
3
4
-7
18
17
-5
-2
7
-3
-7
0
0
-7
7
9
7
20
62
-40
42
43
-24
-20
22
18
48
-2
-26
-24
20
3
0
47
-12
2
28
38
-15
5
5
-13
4
-2
22
-35
14
7
0
12
-6
-10
1
-15
35
33
19
29
-18
69
39
-51
-5
-2
10
9
32
-64
-7
-26
24
77
0
31
10
32
28
-14
1
5
36
19
28
14
21
-14
18
-42
3
-20
2
22
-2
26
32
38
-6
-1
58
-22
64
-18
5
5
55
19
28
59
7
29
28
-34
29
-38
16
21
31
6
64
-14
69
-23
40
1
14
55
-12
-36
4
21
5
24
-5
-6
-36
-15
-26
-8
39
47
-38
-4
1
0
2
26
0
-2
-36
38
-9
-11
-1
3
-40
35
14
1
2
-14
19
-20
0
-1
0
-21
6
0
-3
-11
-21
-3
0
-11
-59
56
83
4
-10
73
20
-19
-15
4
11
39
22
0
5
-5
-1
16
0
3
54
15
39
-3
5
-32
-2
52
1
3
2
28
-1
0
-7
27
-2
-1
3
-26
38
-1
10
24
38
-22
-34
-28
26
6
87
34
-29
-5
2
-44
24
15
-1
8
31
29
-4
9
-3
32
20
-15
12
2
-11
18
15
21
6
12
-19
13
0
22
24
31
24
-11
14
-12
21
-27
65
10
6
-6
27
-27
66
50
13
5
-51
-16
17
39
17
-47
4
-2
13
49
-18
-10
42
-37
40
27
-1
8
11
26
20
-16
9
-9
28
-7
36
-13
7
-1
0
-23
24
16
-9
2
-4
27
-15
9
1
1
-16
-7
17
4
0
-4
8
-2
1
-28
15
-6
18
-8
3
-3
4
-3
-1
-2
-32
42
29
2
-29
10
59
-14
0
5
50
47
17
-18
8
14
-9
1
1
7
-33
-15
-7
11
-5
9
-14
61
0
4
-23
11
24
1
6
-3
-6
8
-2
50
46
9
16
-19
-7
11
-22
-27
-2
3
-61
34
-8
4
8
5
-11
-1
1
-20
-29
-6
-9
60
2
-1
38
16
16
20
-1
6
12
2
0
-28
0
3
-7
-15
14
1
12
30
2
-37
2
35
-23
-11
11
-11
62
17
1
-27
-1
-13
-2
-6
-24
-17
19
10
9
37
18
16
-9
36
29
-39
-14
-15
0
11
-9
0
9
0
43
2
-56
-3
1
18
-3
-2
0
0
0
11
1
0
-2
-21
-25
0
0
0
0
-5
-8
0
0
7
-2
0
0
0
0
-43
39
2
0
-9
6
0
0
4
-18
-14
47
-4
0
45
7
-43
3
9
-36
-4
1
1
-6
19
15
6
0
-4
-8
28
0
3
4
-11
-19
-3
0
10
13
63
17
0
4
13
3
2
0
1
26
-66
-13
-1
0
-14
-67
-8
-1
5
13
1
-10
-8
-2
10
11
-24
0
0
41
-6
23
3
-3
50
-33
17
-4
-7
24
11
0
10
2
17
9
22
0
-29
-34
91
-29
-32
1
31
-48
3
21
1
-82
47
32
-33
3
-10
15
-8
5
0
26
14
-4
11
16
36
-28
-17
24
0
26
17
-25
27
0
16
-1
-48
14
0
10
7
24
30
0
0
0
8
-9
0
0
-24
3
14
0
0
-27
-57
-10
0
0
10
-19
38
0
0
4
-51
7
0
0
10
-19
-12
0
0
-17
-6
-6
0
0
-15
21
-26
0
0
-4
-21
31
0
0
-44
27
13
0
0
-10
29
-19
0
0
51
-43
3
0
0
36
-51
-18
0
0
-11
-19
-11
0
0
20
-24
-29
0
0
26
0
-4
0
0
10
-30
-22
0
0
-9
-14
-45
0
0
-31
26
-3
0
0
-55
19
7
0
0
-21
-14
2
0
0
56
12
-23
0
0
13
-41
-8
0
0
10
9
-39
0
0
16
-6
-10
0
0
-22
68
32
0
0
-10
-25
0
0
0
24
5
-54
0
0
1
32
-2
0
0
4
6
-23
0
0
-27
-24
0
0
-16
8
9
32
0
0
24
44
33
0
0
-13
27
39
0
0
-18
46
19
0
0
7
-11
21
0
0
2
34
29
0
0
-27
1
-42
0
0
-11
-6
-13
0
0
5
17
9
0
0
31
14
27
0
0
-6
-24
-28
0
0
46
9
-73
0
0
-8
-6
-23
0
0
42
10
-7
0
0
36
-98
6
0
0
32
-17
-65
0
0
50
27
10
0
0
7
-5
24
0
0
-1
-25
3
0
0
97
-44
-2
0
0
-37
-23
24
0
0
-22
-21
5
0
0
32
10
-2
0
0
-6
-14
0
0
0
-5
-71
18
0
0
-5
30
-16
0
0
-58
2
1
0
0
-8
-7
-1
0
0
38
-20
28
0
0
6
-23
-7
0
0
-37
-14
0
0
0
2
-14
2
0
8
-2
11
38
0
0
41
12
-35
0
0
-6
-2
44
0
0
34
15
9
0
0
-6
5
16
0
0
-4
-4
61
0
0
-5
31
39
0
0
-11
-17
35
0
0
29
-17
13
0
0
-7
50
-33
0
0
24
-13
22
0
0
0
-20
-4
0
0
21
63
20
0
0
-69
-14
44
0
0
-32
-12
28
0
0
6
16
-29
0
0
-32
-16
-42
0
0
77
-55
-67
0
0
-3
49
39
0
0
-2
52
-5
0
0
-21
-5
10
0
0
-26
-32
58
0
0
0
-31
-39
0
0
28
12
0
0
0
-35
-13
-5
0
0
1
-9
0
0
0
26
9
-46
0
0
11
1
0
0
0
-26
-22
-7
0
0
-9
34
-2
0
0
-23
-4
0
0
0
12
-3
0
0
20
13
-27
-3
0
0
22
49
-33
0
0
8
26
63
0
0
5
-21
1
0
0
21
24
20
0
0
-32
2
12
0
0
2
-46
19
0
0
21
-19
14
0
0
1
-6
31
0
0
9
29
12
0
0
-35
24
26
0
0
-24
-2
-10
0
0
25
16
-33
0
0
-11
-10
39
0
0
12
6
-3
0
0
7
63
-15
0
0
17
-2
-9
0
0
-4
41
16
0
0
63
17
-4
0
0
78
-9
10
0
0
-20
7
-4
0
0
44
3
0
0
0
-7
9
0
0
0
16
-18
0
0
0
-53
30
-20
0
0
-10
24
0
0
0
-28
-9
6
0
0
61
22
0
0
0
-4
0
-1
0
0
-11
3
0
0
0
16
19
1
0
0
-7
-17
0
0
-4
45
-23
-15
0
0
-38
-21
-15
0
0
-6
10
20
0
0
26
-26
0
0
0
6
5
7
0
0
-5
-12
25
0
0
-5
19
-11
0
0
-4
-1
4
0
0
-26
52
33
0
0
-52
63
-3
0
0
-22
-17
29
0
0
29
30
-24
0
0
24
7
-23
0
0
59
-51
2
0
0
6
44
-1
0
0
-7
14
35
0
0
20
-38
-12
0
0
-24
10
-15
0
0
6
34
19
0
0
-28
21
2
0
0
4
-12
12
0
0
1
-38
-20
0
0
27
-23
1
0
0
0
49
0
0
0
-13
-14
23
0
0
-24
13
9
0
0
-7
-9
-6
0
0
0
-3
-6
0
0
-52
-4
23
0
0
7
-18
-1
0
0
37
-39
4
0
0
3
0
1
0
-6
28
-15
-45
0
0
-5
8
-50
0
0
47
9
39
0
0
24
15
-2
0
0
-22
16
8
0
0
-10
46
16
0
0
20
14
42
0
0
25
16
40
0
0
-4
41
-1
0
0
-25
-16
20
0
0
77
-17
-4
0
0
-8
51
36
0
0
-14
-16
13
0
0
11
-10
16
0
0
-15
-50
52
0
0
-13
-10
-37
0
0
1
9
13
0
0
-43
-19
-3
0
0
-35
-4
-7
0
0
-14
-24
-2
0
0
-11
-1
6
0
0
17
27
0
0
0
-17
-27
3
0
0
0
-39
0
0
0
-27
8
10
0
0
1
-11
0
0
0
16
-7
0
0
0
-21
-6
0
0
0
-20
19
0
0
0
-8
16
2
0
0
11
1
0
0
0
-11
-3
-2
0
3
-34
-29
-40
0
0
9
39
19
0
0
-15
48
22
0
0
28
33
88
0
0
-9
-5
-32
0
0
-5
20
3
0
0
-16
-1
-5
0
0
44
2
70
0
0
22
-9
-44
0
0
40
10
-26
0
0
6
-35
11
0
0
8
22
-42
0
0
-15
-35
7
0
0
2
28
-5
0
0
-71
75
3
0
0
34
17
-15
0
0
4
-19
2
0
0
-1
-10
19
0
0
-2
-8
-18
0
0
46
-24
-3
0
0
1
6
6
0
0
-4
13
3
0
0
9
-37
6
0
0
-17
-16
6
0
0
34
22
-10
0
0
-3
4
-1
0
0
11
-10
1
0
0
-4
1
0
0
0
9
-7
39
0
0
1
9
0
0
0
-14
19
-6
0
0
-2
13
0
0
11
2
-41
-20
0
0
11
28
-9
0
0
-15
-3
1
0
0
2
23
21
0
0
-38
64
1
0
0
10
57
14
0
0
1
50
-3
0
0
16
20
71
0
0
3
-4
18
0
0
31
1
53
0
0
31
21
10
0
0
-6
-8
-16
0
0
65
19
34
0
0
26
-20
-27
0
0
23
-35
-46
0
0
52
-38
-19
0
0
69
-102
11
0
0
-12
20
0
0
0
8
2
-1
0
0
-4
21
1
0
0
36
-11
0
0
0
-20
4
0
0
0
-48
-11
0
0
0
29
17
0
0
0
-27
-3
2
0
0
4
0
-1
0
0
3
-7
6
0
0
38
-12
0
0
0
0
4
2
0
0
8
6
-2
0
0
0
15
0
0
0
1
10
1
0
-5
3
21
5
0
0
49
26
42
0
0
0
0
-55
0
0
-19
-16
-44
0
0
101
-14
-28
0
0
2
10
12
0
0
3
31
-14
0
0
-8
19
-102
0
0
-19
22
54
0
0
1
-15
11
0
0
12
28
18
0
0
-11
-10
-26
0
0
10
-12
8
0
0
41
-35
-18
0
0
-1
-15
34
0
0
-26
4
13
0
0
-25
3
5
0
0
-19
-11
23
0
0
17
-2
-8
0
0
-6
-13
2
0
0
-45
-30
52
0
0
-29
42
10
0
0
-34
31
1
0
0
-1
18
-14
0
0
45
41
21
0
0
13
-15
-16
0
0
28
-10
-5
0
0
19
-13
6
0
0
18
32
-2
0
0
45
-2
6
0
0
34
-43
-2
0
0
14
-16
-3
0
-23
-25
-22
70
0
0
-9
-18
16
0
0
-29
2
34
0
0
-57
6
6
0
0
19
-6
-6
0
0
41
13
-5
0
0
50
9
5
0
0
-32
18
-52
0
0
17
19
4
0
0
-48
-9
-4
0
0
-9
-18
20
0
0
28
0
-31
0
0
27
-9
-75
0
0
16
-12
22
0
0
48
-28
-16
0
0
51
11
-5
0
0
-60
42
10
0
0
1
-24
3
0
0
-10
-16
-12
0
0
-12
-39
0
0
0
-20
-41
14
0
0
0
-2
-2
0
0
-53
13
0
0
0
24
-11
-1
0
0
67
-39
13
0
0
12
-1
27
0
0
-24
5
-21
0
0
56
-7
8
0
0
18
21
2
0
0
-42
19
-6
0
0
-4
1
2
0
0
24
-22
-9
0
16
-39
-30
31
0
0
-31
46
-6
0
0
53
3
16
0
0
61
-36
36
0
0
1
40
36
0
0
2
-5
59
0
0
11
-9
16
0
0
-9
3
28
0
0
8
23
-1
0
0
38
13
42
0
0
-25
2
25
0
0
1
15
-37
0
0
10
5
21
0
0
-5
22
4
0
0
45
-9
-28
0
0
33
-7
-52
0
0
-28
15
-37
0
0
-4
1
-27
0
0
-1
14
9
0
0
21
19
-9
0
0
-41
-38
12
0
0
47
-24
5
0
0
10
-16
9
0
0
-3
-9
0
0
0
-12
2
6
0
0
10
7
4
0
0
12
-2
10
0
0
22
10
6
0
0
-71
4
5
0
0
8
-32
3
0
0
5
-18
-29
0
0
27
-8
0
0
-3
35
-80
35
0
0
-5
-13
21
0
0
49
29
-36
0
0
78
-25
18
0
0
-21
-8
-22
0
0
37
20
18
0
0
68
-4
-6
0
0
-13
26
-10
0
0
-15
13
-62
0
0
-11
-37
-2
0
0
-30
85
16
0
0
-10
40
-5
0
0
17
12
1
0
0
25
-6
-16
0
0
39
-30
-2
0
0
-13
10
3
0
0
-30
-34
4
0
0
30
8
-2
0
0
37
4
-1
0
0
28
46
2
0
0
12
-1
-7
0
0
0
57
0
0
0
31
0
-1
0
0
-53
59
-2
0
0
8
-4
-19
0
0
-5
-2
-8
0
0
-10
-4
23
0
0
-17
-14
-3
0
0
-2
16
-4
0
0
35
22
6
0
0
10
-27
0
0
0
-14
42
0
0
1
57
-60
-22
0
0
-29
-22
40
0
0
-44
44
-9
0
0
9
21
-1
0
0
2
43
17
0
0
-7
37
15
0
0
1
18
12
0
0
17
3
-16
0
0
31
3
40
0
0
-37
18
-34
0
0
-6
-1
19
0
0
-17
-3
24
0
0
7
9
7
0
0
-10
-37
6
0
0
38
-47
19
0
0
3
-20
-6
0
0
62
-12
-40
0
0
-2
-16
7
0
0
71
10
11
0
0
-4
-14
-3
0
0
54
48
13
0
0
8
12
20
0
0
43
-49
30
0
0
-16
21
0
0
0
-39
20
26
0
0
-6
-22
1
0
0
-8
10
19
0
0
20
-1
4
0
0
21
-33
13
0
0
-17
3
-24
0
0
27
34
10
0
0
1
51
-24
0
-12
31
-45
3
0
0
-60
24
-20
0
0
-71
3
-40
0
0
6
34
-42
0
0
-18
-6
17
0
0
-25
1
-41
0
0
-9
-20
14
0
0
-14
8
44
0
0
19
9
19
0
0
-43
-3
5
0
0
0
13
47
0
0
-13
43
45
0
0
18
9
13
0
0
-34
-2
21
0
0
-12
-12
5
0
0
40
19
-18
0
0
-9
23
-32
0
0
-4
25
4
0
0
-4
-3
3
0
0
24
-8
0
0
0
-29
24
1
0
0
-8
5
0
0
0
25
-4
0
0
0
30
-7
0
0
0
-9
10
-5
0
0
0
-18
20
0
0
16
5
-15
0
0
-35
13
1
0
0
27
-5
37
0
0
-2
-9
0
0
0
12
4
1
0
0
43
-7
5
0
8
-56
-49
23
0
0
28
-41
23
0
0
-13
-2
1
0
0
66
12
-19
0
0
-24
-2
-54
0
0
26
39
-8
0
0
3
4
-53
0
0
-51
22
38
0
0
21
-32
39
0
0
30
-22
47
0
0
-62
16
35
0
0
-25
9
69
0
0
-17
-6
3
0
0
8
39
-18
0
0
-34
-1
28
0
0
10
-15
-4
0
0
-9
41
-44
0
0
3
-21
8
0
0
-19
-8
-35
0
0
12
-6
0
0
0
52
5
-19
0
0
3
10
7
0
0
-3
-14
-7
0
0
-14
27
2
0
0
-33
22
1
0
0
0
7
-1
0
0
1
-7
6
0
0
9
22
1
0
0
20
0
-13
0
0
0
-12
-30
0
0
30
-2
-7
0
0
-13
9
0
0
32
-49
-50
-68
0
0
-25
-23
63
0
0
0
-28
0
0
0
51
27
-118
0
0
-6
47
32
0
0
3
0
5
0
0
-5
9
-1
0
0
42
58
-67
0
0
14
28
4
0
0
20
24
-8
0
0
46
-32
66
0
0
21
1
32
0
0
-29
30
-41
0
0
22
-6
-17
0
0
-33
28
-20
0
0
-41
-47
31
0
0
0
0
0
0
0
19
0
-4
0
0
1
0
0
0
0
3
-2
-10
0
0
7
-4
0
0
0
15
1
-2
0
0
9
1
3
0
0
24
-3
0
0
0
-2
0
0
0
0
4
0
0
0
0
-9
-1
-15
0
0
-44
-12
0
0
0
-12
3
0
0
0
-27
2
0
0
0
-12
28
-1
0
0
-34
20
-1
0
-5
-4
45
28
0
0
-9
5
47
0
0
27
-28
37
0
0
-49
-13
-9
0
0
-1
2
7
0
0
-29
8
-36
0
0
-33
10
36
0
0
27
37
-9
0
0
33
48
19
0
0
14
10
8
0
0
61
18
-58
0
0
51
8
9
0
0
-18
2
-18
0
0
17
-64
-6
0
0
25
-10
-2
0
0
8
-14
0
0
0
-35
55
51
0
0
76
13
-30
0
0
-12
-10
40
0
0
-7
6
18
0
0
-9
-2
28
0
0
-13
5
-19
0
0
4
-10
13
0
0
-9
-3
-1
0
0
44
-20
-3
0
0
-22
61
21
0
0
10
21
-56
0
0
20
21
17
0
0
-13
48
-23
0
0
-4
13
-62
0
0
-35
-60
-36
0
0
-45
25
-24
0
-51
11
66
56
0
0
-48
-6
-2
0
0
13
-44
0
0
0
-13
-36
-32
0
0
-15
-4
62
0
0
6
-21
22
0
0
-23
62
4
0
0
22
20
-9
0
0
38
-52
36
0
0
46
39
0
0
0
-2
15
-6
0
0
-8
7
-2
0
0
33
-79
2
0
0
-14
-27
-2
0
0
23
24
-2
0
0
10
-11
-2
0
0
20
108
-1
0
0
5
56
51
0
0
8
-5
-5
0
0
-19
-29
-4
0
0
-32
57
-22
0
0
49
19
21
0
0
17
1
-5
0
0
25
-59
-2
0
0
-3
-41
5
0
0
1
-10
0
0
0
37
6
-1
0
0
-7
-34
-2
0
0
-22
12
-28
0
0
-2
-31
-8
0
0
-1
-17
6
0
0
9
3
0
0
26
10
-1
-40
0
0
-1
-20
-17
0
0
-17
-1
-25
0
0
-20
7
20
0
0
12
61
-17
0
0
57
15
-25
0
0
-25
9
-7
0
0
-24
22
16
0
0
-57
20
6
0
0
12
3
8
0
0
-27
25
25
0
0
34
-65
0
0
0
6
38
6
0
0
1
40
2
0
0
15
-8
-1
0
0
2
-10
0
0
0
10
-31
-67
0
0
0
35
-19
0
0
-6
23
28
0
0
3
14
8
0
0
-26
14
19
0
0
20
2
-39
0
0
-52
39
2
0
0
3
-39
3
0
0
48
34
-44
0
0
4
-9
24
0
0
-8
-22
9
0
0
6
-30
0
0
0
-40
31
74
0
0
0
-10
-12
0
0
36
-4
14
0
0
30
-12
-1
0
49
0
11
4
0
0
44
-25
20
0
0
-13
27
29
0
0
-36
-19
-28
0
0
11
-32
-15
0
0
28
30
-54
0
0
-51
19
6
0
0
21
-22
-10
0
0
23
-25
-16
0
0
26
13
0
0
0
-37
43
0
0
0
50
-8
4
0
0
12
11
0
0
0
-2
1
-2
0
0
24
-17
0
0
0
25
-40
1
0
0
13
39
5
0
0
-7
16
11
0
0
-8
-4
13
0
0
76
-20
0
0
0
-29
-10
16
0
0
60
-29
4
0
0
20
-17
3
0
0
37
-47
9
0
0
-26
21
-14
0
0
-13
10
-4
0
0
1
24
-8
0
0
15
-2
-1
0
0
-23
-6
7
0
0
-11
46
-3
0
0
-9
-4
3
0
0
-22
52
3
0
-22
10
-13
-42
0
0
37
-21
-1
0
0
34
34
-73
0
0
-16
43
15
0
0
-27
-17
34
0
0
11
-29
-1
0
0
-2
16
3
0
0
2
18
0
0
0
3
21
30
0
0
-30
-19
3
0
0
-16
12
8
0
0
14
21
1
0
0
71
32
-1
0
0
-3
9
0
0
0
80
-32
6
0
0
-8
-12
-1
0
0
63
-5
-6
0
0
-3
11
1
0
0
-29
-7
-11
0
0
9
-9
-8
0
0
-114
-25
31
0
0
-22
85
-30
0
0
-20
-10
17
0
0
5
-15
0
0
0
-14
10
-42
0
0
7
3
-27
0
0
45
32
38
0
0
-25
-6
9
0
0
-31
34
-2
0
0
-2
-24
-33
0
0
-26
42
53
0
0
13
3
-8
0
-21
-4
52
9
0
0
-27
-2
-15
0
0
-12
-9
15
0
0
9
8
-24
0
0
14
-17
0
0
0
-1
-28
18
0
0
8
-34
0
0
0
23
-69
3
0
0
-23
17
-3
0
0
22
8
1
0
0
-11
3
-3
0
0
-42
7
3
0
0
27
-23
1
0
0
23
30
0
0
0
28
21
0
0
0
19
14
5
0
0
-22
-35
-2
0
0
0
-7
-17
0
0
-32
36
-8
0
0
-32
-16
-17
0
0
-13
20
-15
0
0
-13
2
-7
0
0
23
-9
1
0
0
-8
1
2
0
0
0
6
15
0
0
-3
32
-1
0
0
-20
4
5
0
0
44
-12
-8
0
0
-41
-18
-10
0
0
-13
-12
12
0
0
-13
0
-5
0
0
-28
61
0
0
-1
6
30
-3
0
0
-10
-12
-1
0
0
-1
17
11
0
0
-11
29
-5
0
0
-29
33
-27
0
0
9
-16
9
0
0
-18
26
-27
0
0
-31
13
7
0
0
79
3
-27
0
0
-19
7
-2
0
0
16
27
-7
0
0
7
-7
-1
0
0
-4
17
0
0
0
11
-19
-10
0
0
9
-35
5
0
0
-2
7
1
0
0
-15
-3
2
0
0
1
-3
-19
0
0
4
-2
22
0
0
7
19
-2
0
0
-11
-15
20
0
0
-9
-2
9
0
0
-35
-27
2
0
0
11
-36
-6
0
0
-25
30
-8
0
0
16
-8
20
0
0
-24
-7
21
0
0
22
-34
1
0
0
27
-9
-22
0
0
-5
-14
-9
0
0
-18
-5
-11
0
0
-17
58
4
0
32
35
-63
-7
0
0
37
-3
-2
0
0
0
-1
0
0
0
5
6
1
0
0
-15
0
3
0
0
10
-2
3
0
0
1
18
0
0
0
-19
34
0
0
0
27
5
0
0
0
34
-17
0
0
0
7
8
3
0
0
40
-11
0
0
0
63
-6
-1
0
0
16
18
-1
0
0
-8
29
0
0
0
-25
54
0
0
0
-21
1
1
0
0
0
2
-11
0
0
-4
-2
-4
0
0
-23
9
0
0
0
-18
-11
-1
0
0
1
3
0
0
0
-23
12
0
0
0
15
7
-3
0
0
-30
2
37
0
0
-2
-21
0
0
0
12
0
-12
0
0
14
0
6
0
0
-24
-30
9
0
0
-1
2
44
0
0
-4
4
0
0
0
-26
21
0
0
-1
-19
33
-20
0
0
25
18
-7
0
0
-48
-3
6
0
0
3
-48
0
0
0
-13
27
3
0
0
-11
-15
40
0
0
11
16
0
0
0
-3
59
1
0
0
4
32
-22
0
0
-34
28
0
0
0
14
38
20
0
0
-33
8
-1
0
0
20
2
42
0
0
44
-18
-1
0
0
22
-30
6
0
0
-49
-11
1
0
0
-11
-2
17
0
0
-21
27
9
0
0
-19
-15
22
0
0
35
-2
0
0
0
0
-8
32
0
0
17
-26
-28
0
0
30
-37
-18
0
0
-16
28
18
0
0
38
10
40
0
0
9
-35
12
0
0
23
55
-1
0
0
-22
-3
33
0
0
57
35
-21
0
0
-7
-24
7
0
0
7
47
-2
0
0
-36
41
16
0
0
49
5
39
0
0
-24
-25
8
0
0
1
15
-1
0
0
-2
-47
3
0
0
-8
28
-3
0
0
2
19
0
0
0
9
3
0
0
0
-9
-58
0
0
0
15
2
-7
0
0
-11
26
0
0
0
6
5
-11
0
0
25
-14
0
0
0
-4
20
8
0
0
8
47
0
0
0
-3
29
0
0
0
-23
22
1
0
0
15
-40
9
0
0
-41
-38
5
0
0
-40
-12
37
0
0
77
46
-14
0
0
0
4
-1
0
0
20
35
-42
0
0
50
19
8
0
0
6
96
0
0
0
34
-29
-25
0
0
-17
20
19
0
0
-21
-55
6
0
0
56
-45
14
0
0
-6
59
-23
0
0
-2
-15
20
0
0
-28
51
59
0
0
6
35
9
0
13
-8
-20
20
0
0
-32
2
-27
0
0
-13
49
8
0
0
31
25
1
0
0
19
-6
-8
0
0
-8
21
-16
0
0
-4
-23
-14
0
0
-2
44
2
0
0
1
7
-23
0
0
28
3
-8
0
0
47
22
-33
0
0
10
37
-3
0
0
30
2
-1
0
0
-31
66
8
0
0
-16
3
4
0
0
-2
56
-6
0
0
-36
19
6
0
0
7
5
26
0
0
-3
-3
-10
0
0
-30
24
11
0
0
14
31
22
0
0
-13
-42
13
0
0
11
-9
-25
0
0
-7
24
3
0
0
19
-17
-16
0
0
-3
-14
20
0
0
37
-7
47
0
0
-6
38
13
0
0
-15
-13
-14
0
0
10
-14
18
0
0
-17
11
39
0
0
36
6
-11
0
-15
33
-86
-1
0
0
-11
19
3
0
0
-9
-18
7
0
0
15
-41
-17
0
0
33
11
-2
0
0
0
12
-8
0
0
6
2
-1
0
0
-1
30
20
0
0
-12
22
3
0
0
-1
51
0
0
0
-1
-39
-1
0
0
5
41
-13
0
0
-34
-1
0
0
0
18
35
0
0
0
32
-14
3
0
0
10
-56
-3
0
0
16
-10
-1
0
0
6
37
14
0
0
1
21
-18
0
0
-23
31
-5
0
0
-30
16
2
0
0
13
25
17
0
0
1
29
-21
0
0
-10
-12
7
0
0
-23
8
32
0
0
-10
29
-11
0
0
-13
-31
16
0
0
5
38
18
0
0
-15
-31
3
0
0
-3
-23
36
0
0
39
-2
73
0
0
27
12
-5
0
0
63
27
-19
0
0
-54
40
17
0
0
-35
-14
2
0
0
0
-26
-1
0
0
25
-3
-22
0
0
6
11
1
0
0
42
-8
-12
0
0
-1
4
0
0
0
-17
-30
7
0
0
-45
-6
-5
0
0
-27
25
-21
0
0
11
25
-6
0
0
7
34
44
0
0
-10
-7
0
0
0
24
39
1
0
0
-21
57
0
0
0
22
-34
15
0
0
9
27
7
0
0
-21
5
24
0
0
7
57
-1
0
0
7
-75
-3
0
0
-13
0
6
0
0
22
29
-22
0
0
6
-16
3
0
0
19
46
4
0
0
9
-9
25
0
0
-7
-29
4
0
0
22
-18
23
0
0
61
43
8
0
0
21
43
-47
0
0
27
6
8
0
0
-18
-2
38
0
8
-1
48
-7
0
0
-6
2
-1
0
0
-3
10
-1
0
0
-3
-12
1
0
0
18
60
0
0
0
-3
-28
0
0
0
1
6
0
0
0
-7
8
0
0
0
26
-10
-3
0
0
6
22
0
0
0
4
10
6
0
0
-15
-15
-3
0
0
3
19
-13
0
0
-13
-47
0
0
0
10
44
0
0
0
-17
-30
0
0
0
-19
7
0
0
0
-6
-43
-5
0
0
18
-11
3
0
0
-7
-9
-1
0
0
-65
18
-32
0
0
21
12
2
0
0
-26
44
-11
0
0
-4
-7
4
0
0
20
1
2
0
0
26
17
47
0
0
20
-19
66
0
0
-28
17
-12
0
0
14
-55
-33
0
0
-19
-9
15
0
0
25
11
-10
0
0
20
48
8
0
21
-29
19
-6
0
0
-2
-6
6
0
0
17
55
5
0
0
33
-32
0
0
0
-12
-46
0
0
0
13
30
0
0
0
-10
39
-3
0
0
9
-5
0
0
0
33
-39
-6
0
0
41
-2
0
0
0
22
29
-6
0
0
31
0
0
0
0
13
-3
3
0
0
-11
2
3
0
0
6
18
-1
0
0
25
3
1
0
0
-21
-60
-42
0
0
-26
7
-26
0
0
2
10
-7
0
0
-16
-11
2
0
0
34
0
-16
0
0
9
-2
0
0
0
35
2
15
0
0
6
10
2
0
0
0
-1
35
0
0
-6
13
16
0
0
-71
4
-1
0
0
-8
0
-30
0
0
24
-28
11
0
0
-5
24
47
0
0
20
46
43
0
0
-18
11
24
0
6
51
-49
-1
0
0
-24
6
-1
0
0
2
2
0
0
0
-5
10
0
0
0
2
-16
0
0
0
3
-18
2
0
0
0
4
0
0
0
44
-19
0
0
0
31
-14
0
0
0
-9
27
0
0
0
4
11
0
0
0
20
44
3
0
0
25
-12
0
0
0
25
8
2
0
0
67
-15
-6
0
0
3
41
-2
0
0
-54
10
-4
0
0
18
27
4
0
0
-1
-8
-1
0
0
38
16
7
0
0
-16
11
-8
0
0
-15
11
-2
0
0
-30
-2
4
0
0
-19
43
0
0
0
-34
19
-8
0
0
55
44
-34
0
0
5
-13
4
0
0
-3
-28
-8
0
0
-10
19
15
0
0
0
-2
17
0
0
-8
-7
6
0
0
-16
15
5
10
26
9
-4
16
0
-23
-4
-25
3
0
-1
22
-5
30
0
-1
30
30
5
0
10
-10
-2
38
0
-1
-5
4
-26
0
5
4
16
17
0
-10
31
-4
4
0
10
13
-1
-7
0
17
-21
35
-16
0
-7
7
25
-4
0
-14
3
20
20
0
20
-5
13
-22
0
-22
1
31
-43
0
22
-40
4
-32
0
30
-22
28
15
0
15
1
14
12
0
-11
-30
6
-36
0
-30
-46
-47
7
0
-20
34
49
-46
0
-6
-17
23
4
0
-76
9
6
28
0
-8
10
18
-33
0
38
-27
-10
13
0
11
-28
-8
26
0
47
-12
-48
-20
0
21
8
7
6
0
-25
-49
-30
34
0
-28
21
24
2
0
-21
34
39
11
0
28
34
-47
28
0
3
-23
14
7
-16
-10
12
29
15
0
3
7
-3
-33
0
48
25
28
20
0
0
5
13
3
0
-3
3
9
-9
0
-16
0
-7
11
0
-3
26
16
20
0
9
12
-27
43
0
-19
-25
-35
7
0
-51
30
35
4
0
19
25
4
52
0
0
14
15
37
0
4
6
26
37
0
-10
-35
27
-16
0
7
14
-8
-4
0
7
10
27
8
0
7
-18
-67
9
0
-3
-3
34
-49
0
-22
0
21
13
0
44
-10
18
-53
0
2
-47
-23
17
0
-56
-33
-4
58
0
-17
-14
53
-21
0
-13
29
19
60
0
19
-12
-19
-10
0
-12
-2
-44
20
0
23
14
28
0
0
62
-36
0
41
0
7
45
3
16
0
2
-47
-7
-8
0
41
-13
-7
14
0
-4
-15
49
0
26
-2
-20
3
-12
0
-10
24
15
18
0
19
11
31
35
0
12
29
30
3
0
19
-29
18
-11
0
-14
-5
19
8
0
-6
4
13
1
0
-6
7
14
24
0
28
35
-12
-41
0
36
-10
9
29
0
9
-11
-45
4
0
2
-23
31
11
0
10
4
33
-36
0
-16
-36
-35
-14
0
16
18
27
4
0
-10
48
-30
0
0
-24
-1
31
-15
0
30
53
-14
-24
0
32
-52
-26
29
0
-2
25
-48
-28
0
-4
-7
-44
40
0
-5
9
31
2
0
-7
-27
21
5
0
2
-23
-1
-23
0
13
-16
0
33
0
38
55
20
-9
0
26
-35
-7
-5
0
-48
33
3
29
0
19
16
24
-5
0
-6
-3
55
0
0
-72
43
-2
-14
0
8
71
22
-1
14
-19
-22
24
1
0
-2
47
-7
-4
0
36
1
0
5
0
-2
11
6
34
0
-3
17
1
5
0
-27
-43
2
29
0
-5
9
42
16
0
-36
19
-12
30
0
-14
25
-30
9
0
52
37
-11
14
0
10
39
-14
-16
0
8
1
51
-18
0
44
48
-12
0
0
66
3
-35
2
0
-48
20
-28
32
0
2
9
12
22
0
-30
-3
29
-12
0
12
30
-79
32
0
23
67
1
-50
0
-23
38
21
-16
0
-46
14
5
-9
0
-14
-57
8
-13
0
-16
-16
6
0
0
30
-48
-5
-1
0
1
27
33
5
0
71
20
-6
1
0
16
-38
22
0
0
-32
6
1
0
0
33
19
-35
-21
0
3
11
8
-4
0
-4
9
-5
3
0
9
-32
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
1
4
0
-37
4
-16
-24
0
8
-2
3
-33
0
-46
3
22
-43
0
-18
34
-22
-7
0
2
24
17
36
0
5
-2
18
4
0
1
41
-61
8
0
-5
-21
1
21
0
8
15
-3
-21
0
26
-22
-14
-3
0
-6
-36
-49
-12
0
21
5
31
3
0
-30
25
25
4
0
51
-17
15
-9
0
62
-12
-10
3
0
41
39
39
-48
0
28
25
21
12
0
21
-2
4
13
0
1
-18
55
62
0
36
48
8
-2
0
-6
6
-21
-6
0
26
-14
-45
51
0
11
-20
-1
3
0
10
-4
16
-34
0
-26
1
46
9
0
16
-35
44
10
0
29
1
-29
0
0
-17
8
45
-28
0
-9
40
-33
-16
0
-26
-5
25
-42
0
12
-5
-14
-15
-15
-6
-5
3
-8
0
-15
0
-25
-29
0
55
13
-30
29
0
11
21
-1
33
0
-4
22
7
43
0
-17
-12
-18
-13
0
18
-19
7
27
0
10
-4
-34
48
0
15
-51
15
-11
0
0
-70
-3
-48
0
30
63
-11
-8
0
38
27
-3
0
0
28
14
11
13
0
-5
18
-17
-26
0
42
-37
16
-46
0
10
-30
-11
-4
0
-43
4
-24
9
0
-61
-3
3
19
0
17
-25
0
0
0
4
22
-60
40
0
17
-13
16
-14
0
43
-1
-11
8
0
-13
93
21
-3
0
-26
-14
-6
0
0
-47
-19
2
9
0
-50
-14
22
-7
0
-25
41
23
-10
0
12
0
9
-1
0
1
39
12
22
0
-16
-6
3
-3
0
-12
10
16
5
0
-1
27
33
-2
11
5
-26
-4
39
0
-66
23
-1
-8
0
-19
-26
61
-18
0
34
48
-3
-14
0
-39
1
6
-7
0
-15
7
-8
67
0
-8
1
-15
-29
0
-9
-21
24
19
0
-44
8
-20
43
0
43
40
3
-19
0
-8
-7
8
52
0
11
3
23
-24
0
-20
16
5
-17
0
22
29
7
-23
0
-31
4
-12
20
0
19
-1
19
-33
0
-2
20
7
6
0
4
-30
26
2
0
40
16
3
-16
0
46
44
-11
-7
0
27
4
-23
-20
0
53
-49
8
4
0
-30
-42
3
31
0
53
-7
7
2
0
-55
-23
-25
-19
0
20
38
6
17
0
6
24
-59
-9
0
33
-10
-15
-2
0
-64
-8
43
32
0
-3
-2
0
0
0
2
34
21
-15
0
22
15
-17
-3
-11
-5
-34
-13
-30
0
-29
10
-12
18
0
-46
1
5
33
0
52
27
-11
-49
0
7
10
-20
-25
0
36
7
36
-90
0
31
-46
-24
-3
0
5
3
5
7
0
8
37
24
53
0
22
-18
16
7
0
-3
53
-13
4
0
27
18
-16
-6
0
25
-19
-19
21
0
4
1
19
7
0
-9
32
-18
22
0
36
23
-16
-37
0
1
46
-12
-30
0
-5
57
-2
-3
0
68
11
34
-2
0
-30
19
28
-27
0
15
-37
17
4
0
-38
12
30
-2
0
6
34
-2
-2
0
-18
31
22
-2
0
-12
-41
23
-8
0
-1
-21
29
3
0
1
-18
-41
0
0
28
-33
-29
11
0
-8
-47
-11
25
0
-5
0
-11
1
0
-19
6
-51
4
0
-6
26
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
6
-31
1
31
-22
0
-19
-21
-16
47
0
1
23
10
5
0
45
-32
45
1
0
43
-31
-13
-36
0
14
-23
7
-46
0
-13
-7
-14
-13
0
-32
-20
-4
-6
0
-3
36
-3
19
0
17
20
46
-87
0
-8
-1
-4
62
0
12
9
54
1
0
37
29
20
12
0
-9
4
30
60
0
0
17
39
34
0
74
-7
11
-11
0
-54
35
26
-18
0
-49
36
-43
-31
0
-59
19
-22
-18
0
-11
9
23
35
0
-80
45
2
31
0
-21
-56
7
-44
0
-14
41
2
-5
0
44
4
-35
22
0
-3
-2
0
-26
0
-19
-40
18
45
0
-26
36
-2
20
0
-76
14
38
-3
0
4
31
4
9
0
17
-36
26
-50
0
50
21
-1
36
0
67
30
-26
-5
-20
-36
1
-23
-10
0
18
-42
-13
-5
0
10
16
-25
-18
0
25
-13
-12
50
0
56
13
-35
35
0
-22
-1
-9
20
0
50
3
-62
18
0
-38
-5
79
8
0
-24
12
0
-24
0
-43
43
-17
-6
0
26
-39
7
4
0
-61
36
17
20
0
6
-13
-9
22
0
-35
-20
-10
-13
0
-20
-23
32
4
0
-44
26
-1
-4
0
16
-2
8
-4
0
34
-2
-36
41
0
-22
14
85
29
0
43
-33
-1
14
0
-32
6
-11
-47
0
-10
-17
-11
19
0
-4
21
-32
-37
0
16
-27
-8
-13
0
-13
65
1
1
0
-65
53
4
38
0
18
33
12
0
0
62
97
25
5
0
2
-33
16
32
0
20
3
38
-53
0
24
-12
6
27
0
30
-1
15
6
-28
26
-4
14
-30
0
57
53
-19
49
0
-55
-8
13
-46
0
-13
22
-15
-24
0
-45
-6
21
11
0
-22
31
-45
17
0
-9
-8
-27
24
0
14
10
-15
1
0
45
-34
14
-19
0
88
24
-55
26
0
15
-11
21
11
0
24
-2
-9
-16
0
7
-7
-11
43
0
27
64
-15
7
0
29
26
42
2
0
-20
9
44
0
0
-13
-57
-50
21
0
-55
-1
-6
29
0
-55
-6
-50
51
0
77
32
-15
17
0
-17
7
-14
-58
0
33
36
-5
-14
0
-5
-45
-25
-2
0
-55
56
-17
-1
0
22
-5
1
83
0
45
0
-6
-16
0
-17
-8
29
0
0
10
32
20
-2
0
-46
58
22
-36
0
40
-20
-62
19
0
27
6
-22
-18
0
11
47
0
-4
-12
19
21
21
-15
0
-94
30
-15
1
0
-20
-4
-2
52
0
-16
23
52
29
0
-18
-5
0
-4
0
-26
5
-6
24
0
2
-9
-22
15
0
40
35
26
4
0
18
41
12
-18
0
33
24
-17
1
0
-9
30
55
5
0
32
-21
-16
-15
0
48
26
-28
13
0
14
-19
-28
-7
0
8
2
1
10
0
30
-3
28
0
0
-1
-24
63
-60
0
-12
63
0
8
0
-54
41
12
-39
0
-27
18
-1
18
0
-49
19
13
56
0
12
33
53
-55
0
5
11
0
8
0
-39
19
0
2
0
33
19
42
50
0
26
26
-21
0
0
-26
-16
18
-17
0
-59
-38
28
0
0
4
24
7
-14
0
-14
-32
31
-2
0
52
0
1
-1
0
3
55
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
74
-28
-40
-11
0
65
8
7
6
0
62
3
19
6
0
-40
30
35
-28
0
13
30
39
-23
0
-44
4
39
18
0
-13
25
34
29
0
35
11
-5
9
0
-2
39
-4
25
0
-22
26
-63
8
0
38
50
23
16
0
25
34
33
-13
0
23
24
-39
1
0
-10
29
16
38
0
35
-25
14
-4
0
-18
-1
50
6
0
-41
44
15
-13
0
50
-63
29
-14
0
-47
40
46
37
0
3
18
-26
-45
0
-43
4
54
30
0
-8
28
-15
19
0
-8
-40
22
-23
0
-1
-5
68
33
0
-23
21
-1
27
0
-79
15
8
-10
0
5
-6
56
11
0
36
28
25
54
0
9
-22
46
2
0
-15
41
-2
-24
0
0
12
30
4
0
44
42
-55
-11
-7
40
24
11
-12
0
-31
23
-44
15
0
-1
28
21
7
0
12
-2
11
-4
0
27
-73
11
-14
0
37
20
56
4
0
32
-16
16
-2
0
26
25
-3
-4
0
-15
66
-16
1
0
-55
-1
1
54
0
39
63
-13
7
0
14
33
31
23
0
-14
-3
90
28
0
-4
-42
48
89
0
-32
-1
-13
-3
0
-1
1
9
-26
0
-9
12
6
78
0
-48
27
42
-34
0
113
34
-13
-45
0
28
40
1
-2
0
13
45
9
6
0
-24
6
-43
2
0
32
11
-6
-41
0
45
11
60
9
0
-15
3
-6
37
0
-35
14
54
-35
0
-51
10
29
24
0
32
8
24
1
0
0
18
8
8
0
-30
4
-9
26
0
-8
37
1
-8
0
-9
-4
40
43
-19
49
19
0
-32
0
27
-4
39
29
0
-17
6
-24
9
0
-45
47
3
26
0
19
49
57
-24
0
25
30
-80
-2
0
8
2
-37
32
0
52
8
3
0
0
28
25
3
-67
0
-10
46
-9
8
0
-67
45
-12
6
0
66
38
35
28
0
-10
28
-1
20
0
30
-1
-23
5
0
30
46
26
-71
0
-27
13
-10
-17
0
-40
-42
56
-4
0
28
14
21
5
0
40
-21
13
49
0
36
44
34
33
0
44
-4
-2
-2
0
33
-22
6
-29
0
-30
-21
3
25
0
-16
3
-11
18
0
-22
-3
-12
39
0
-45
0
35
18
0
-38
15
33
18
0
-10
27
6
-22
0
-22
-18
-4
90
0
45
-11
2
20
0
15
12
-3
55
0
-26
3
25
8
5
-22
50
3
-9
0
12
-33
27
-7
0
12
3
13
-13
0
27
19
34
1
0
-7
11
-15
23
0
2
-19
21
0
0
17
-11
9
-3
0
2
17
19
1
0
-2
50
87
-7
0
-27
73
21
1
0
31
43
19
19
0
21
5
23
9
0
13
-22
-48
42
0
-8
-18
50
-9
0
2
-17
-46
-35
0
7
4
4
8
0
-57
-4
23
10
0
-28
4
23
-16
0
-51
19
2
-13
0
-32
23
-17
-28
0
14
-46
70
-14
0
31
-19
-5
0
0
-30
8
13
0
0
11
-8
17
-1
0
-24
-18
5
25
0
26
13
-25
49
0
26
-14
19
-40
0
33
7
-15
5
0
-3
0
64
-49
0
61
28
16
21
0
64
-9
17
-13
0
-51
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-3
24
3
12
23
10
17
6
7
-11
2
17
-15
9
8
-12
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-6
8
-23
30
5
11
1
-44
-4
10
-33
-8
-36
15
-1
-39
-17
16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-10
-3
-27
-30
-46
-16
-22
52
10
-40
16
16
37
-51
9
-34
35
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
16
-14
32
-8
46
-3
-31
-30
3
39
56
-15
1
77
12
-23
-7
-17
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-11
6
8
-14
-5
-5
4
-16
27
-6
5
-1
17
60
1
22
10
7
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-11
10
5
-27
-8
-16
31
-30
6
31
-7
33
-40
19
-18
10
12
51
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-54
-7
29
27
-31
-25
22
23
-28
-1
23
-6
-30
3
2
10
44
5
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-45
-35
41
-73
18
9
-2
30
13
28
-30
-63
-12
17
43
25
3
-2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-5
28
3
30
18
1
38
10
22
20
-7
-11
10
26
11
-8
33
-6
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
14
7
-14
54
15
-48
-7
-9
-76
26
11
51
36
16
31
-52
4
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
26
9
-5
5
-20
8
55
2
-16
2
-7
-29
24
17
41
-18
-50
13
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-21
24
-29
5
-8
-14
35
44
27
-21
-56
6
31
12
-15
20
6
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
4
-7
12
3
-1
-24
20
35
35
43
-19
19
16
3
0
48
75
11
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
53
-17
19
53
-19
5
-23
-6
25
14
55
-36
2
-4
-18
-14
-47
8
62
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-11
14
11
0
34
-4
-45
-8
22
-3
39
-15
58
-32
-11
34
7
-24
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-18
42
40
10
35
28
26
-5
-1
-51
11
106
-12
3
3
-5
-22
9
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
-2
6
1
15
19
9
2
23
13
22
-2
30
-28
-11
41
25
14
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-23
-5
-19
-6
-40
-2
-19
12
-29
1
8
35
14
29
-17
-41
29
10
55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
36
-14
36
-36
18
29
-21
-15
-87
-75
25
34
50
0
14
35
-9
-14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-24
-14
-35
58
8
25
19
7
32
-42
-20
-52
52
37
20
-37
20
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
16
-5
31
8
9
22
1
64
-14
52
-5
50
60
-68
20
22
54
58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-7
8
-23
-54
-16
27
-1
9
-10
3
11
21
65
-32
-56
11
5
-12
97
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-73
21
5
15
52
-55
-16
-23
10
-17
56
-49
5
13
-1
-39
56
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
12
-49
-23
-9
-34
3
5
-83
-40
-24
9
27
44
11
-2
-84
83
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-4
-3
6
-5
24
16
24
-10
12
50
-2
25
-1
0
21
6
50
6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-17
23
-28
-50
-22
-22
0
20
-12
45
26
42
13
-38
-2
-82
2
-26
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
56
0
34
4
-19
-11
29
-15
29
-30
-7
71
-38
13
-29
20
17
23
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-73
-9
18
41
-21
-43
64
11
-1
-44
14
5
-17
-11
34
35
5
19
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
-17
-5
15
35
50
-40
6
20
13
-46
0
27
0
41
44
15
55
7
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
-9
2
-8
9
-13
-60
21
-5
2
35
2
-17
29
14
16
32
18
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-72
25
59
20
16
-20
-24
3
7
14
33
2
-31
14
-10
8
-10
-30
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
9
43
-59
-5
-34
36
-24
13
-49
17
12
13
-2
30
-4
-6
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
10
21
0
-23
-3
-34
-12
35
-25
14
5
-11
-2
-3
-9
-30
30
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-3
20
29
8
1
16
24
-19
-9
-24
16
6
18
-2
45
-22
1
-42
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-18
9
28
-19
-16
23
14
19
-9
7
-20
19
-13
16
36
-3
-25
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
38
35
-10
10
40
-11
42
0
-41
-12
10
-8
26
35
22
-75
23
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-2
32
5
-24
-55
1
3
-27
-72
13
16
22
-12
40
-8
-4
-6
18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-4
-13
-3
9
25
19
22
7
-13
16
-23
4
-10
3
66
4
-4
-43
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-66
14
-11
-11
-55
-2
14
8
8
47
3
-13
5
-17
-23
-8
40
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
14
82
67
-65
20
-39
56
65
6
29
-33
89
54
-26
-2
-6
37
-37
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
3
8
49
43
31
11
52
28
10
21
10
-7
10
15
-10
-15
32
17
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
23
-18
26
11
14
12
22
-10
17
-41
14
2
-10
6
-36
-8
-31
-9
-56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-28
29
29
9
55
58
29
-6
15
-16
-8
50
-29
-4
-7
-14
-15
20
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
20
33
4
-39
-7
11
-1
31
-10
45
2
1
8
5
-24
14
-14
-16
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
80
7
17
60
-17
-26
-18
14
-13
69
-1
15
-6
45
-24
20
8
-2
56
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
62
39
-20
-16
-1
-7
-16
7
-15
29
12
-15
-22
-63
46
-10
6
19
-67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
-10
-19
49
16
13
37
58
-84
30
76
40
35
-32
-2
-25
17
51
14
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-4
6
3
23
-76
-15
9
47
6
-3
-12
-18
-46
-27
39
11
16
-17
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
30
30
60
26
0
19
14
12
-34
-34
17
27
-4
4
-47
4
52
-52
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-8
17
22
-4
29
-17
10
-29
22
46
-33
8
-20
-12
18
-14
-6
-44
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
37
59
-67
-8
-23
20
-12
11
43
13
-20
0
22
7
-11
19
-11
5
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
-47
40
22
-5
0
15
32
-11
58
63
63
-32
-32
30
-4
28
-5
33
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
16
31
0
11
-31
8
9
13
37
-52
32
45
48
7
23
27
17
-23
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
1
10
-17
-6
-66
-7
-16
-13
-8
-24
-55
-2
1
-18
-72
-57
13
-19
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
19
15
-28
34
6
-14
44
30
2
-28
-8
19
-46
4
-16
-5
67
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
4
50
-21
19
-27
-69
50
-10
-5
47
10
0
13
-9
6
-10
13
26
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
34
1
-4
7
-15
41
23
-19
-23
-31
2
17
18
-25
26
55
-53
6
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
73
-2
22
1
29
19
-2
22
34
-15
30
-1
2
-3
44
-24
-26
-20
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-26
34
13
-44
-2
-23
20
43
8
4
6
-24
-47
-9
-15
8
23
-8
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-2
7
28
-18
19
-25
58
27
8
12
-35
34
-23
4
67
11
29
64
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
37
-15
-11
-8
-5
-3
29
6
0
-32
-20
-18
35
-14
-36
-10
93
-68
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-30
10
34
-2
29
43
-15
1
-2
-22
-4
1
31
-21
-22
-57
-36
14
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
-17
24
1
-7
-12
45
23
-11
34
7
-15
2
-1
-22
42
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
66
-18
18
21
27
30
16
-8
-2
24
20
53
10
1
25
20
-52
-6
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-2
-9
5
18
-11
10
23
-34
-43
12
53
-50
-14
23
-62
-15
18
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
3
30
-24
-27
-18
-1
21
-22
11
-39
-19
25
11
-23
-32
59
5
26
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-14
21
3
-12
-69
2
14
15
-4
36
38
-40
-30
1
12
55
3
-25
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
12
-2
16
20
-17
-18
-22
64
48
-42
-10
17
16
-33
-18
4
-26
45
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
-19
0
-31
-70
-34
7
-37
21
-25
-78
29
53
-20
-31
-6
21
-12
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
5
8
50
5
12
6
-14
32
-15
13
23
65
23
-53
-1
18
5
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-10
53
3
12
5
17
-18
-61
16
37
30
20
-4
-32
33
-73
-11
-10
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-6
12
1
30
-49
-9
-10
1
30
24
-27
65
-17
7
-4
42
-11
42
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
26
50
10
-34
-35
7
33
16
23
82
-34
-18
-36
12
-15
-3
-6
-16
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
-12
13
-30
-49
10
17
9
-14
-21
43
32
-56
-34
-8
2
-31
-48
22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-67
25
51
19
48
-14
-23
16
-9
0
14
-33
5
20
44
-38
13
53
18
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
10
5
8
15
44
-21
-42
-10
36
-6
5
20
-37
-37
10
6
24
2
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
24
49
12
7
25
16
51
-5
-6
56
2
28
18
-56
-22
49
9
35
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
-14
-53
-37
45
57
-57
44
31
-1
-26
63
0
5
0
-22
1
30
23
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
89
-18
43
-56
12
59
35
-25
-41
1
25
-11
-38
-20
6
-9
34
15
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
5
79
44
12
-5
50
19
26
-30
-41
30
-4
10
-27
34
15
46
23
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-55
0
32
-17
13
-26
-45
18
104
1
-20
33
14
10
11
15
51
-6
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
18
61
-35
18
-14
20
-7
-61
20
33
-48
-6
62
27
-40
29
42
-6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
2
-11
15
22
0
6
27
34
-47
-12
27
26
-28
37
38
-21
-29
42
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-25
16
20
12
-42
11
32
70
-72
12
5
32
0
-9
51
35
-18
-4
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
21
-8
-46
33
7
-22
14
5
-16
-26
-30
15
1
8
12
26
31
-7
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
67
-14
-11
-11
-54
7
-31
-24
4
-28
26
-10
28
35
-48
11
63
7
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
6
-23
2
24
-17
-38
-33
-6
23
-9
-65
6
14
20
11
-13
14
6
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
-34
15
-9
-2
-11
37
11
17
-2
66
32
28
-78
47
25
29
-13
16
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
12
40
-11
-16
-16
36
-22
-14
21
2
-63
93
13
-28
1
27
17
9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-3
-22
-6
9
-34
21
-5
31
2
53
20
-22
24
1
12
-36
17
11
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
31
-18
-9
-16
13
30
-13
16
39
-33
16
9
-30
49
-10
-2
48
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
5
57
5
-1
-27
40
-29
21
7
17
-7
-4
-27
63
-42
10
15
50
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
26
21
11
-1
39
-21
17
-34
17
15
-9
10
1
0
-2
-38
-18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-13
16
34
-10
22
24
38
-40
2
5
-56
65
8
-4
-37
24
-2
5
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-3
-3
-4
17
16
52
-37
32
24
-18
7
27
-8
-10
-4
-5
-2
50
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-4
1
26
-48
0
-19
-27
3
-11
13
25
10
41
1
-29
-24
28
15
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
14
6
20
42
-12
20
15
-12
-4
22
39
40
-70
-3
-30
-17
4
50
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
26
31
18
47
4
20
1
15
42
4
2
49
12
25
-3
42
-27
20
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
9
23
10
-3
17
-20
-15
-38
17
-87
-1
-6
-22
17
-57
-38
-13
0
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
55
-3
29
52
-8
25
25
24
41
37
7
52
-3
41
41
15
-15
18
44
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
63
40
-21
1
27
24
29
-39
22
-25
16
-52
26
-26
3
57
17
0
-62
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
34
-8
-3
-32
12
9
-6
34
20
65
20
-3
-23
6
72
23
8
10
-55
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
2
20
42
-16
32
-52
16
-6
-27
-42
-5
39
67
-11
36
-18
29
7
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
36
39
-1
88
-33
7
62
-15
16
27
-3
-28
37
48
-51
-31
-7
47
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
27
-47
-1
13
4
-33
-13
11
-47
-25
21
-13
43
-19
2
10
-12
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
45
-14
17
9
22
9
39
-19
6
37
6
-18
-27
0
7
-24
13
18
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-21
28
14
11
24
21
41
0
-20
31
-15
8
16
-6
-4
40
19
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-22
58
19
38
57
-1
22
24
7
4
-12
-11
-29
-11
7
25
31
3
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
49
44
2
60
0
-51
15
7
4
1
13
39
1
-33
6
-24
11
-8
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
72
26
-9
17
-28
4
14
0
25
30
13
-8
18
-1
24
11
3
-7
44
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
19
25
10
57
-8
5
1
-53
11
16
-17
-25
-12
35
38
32
21
-8
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
9
-2
11
9
-14
34
34
10
51
32
40
54
-15
53
-3
41
5
0
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
0
37
53
-41
0
0
15
33
-33
24
-48
-15
28
14
-1
10
13
15
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
45
-11
33
36
56
21
-54
9
-12
60
8
45
-23
-16
52
41
5
-15
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-61
21
-18
-35
15
-10
-32
10
13
-19
-38
7
31
26
-6
24
30
-10
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
28
2
36
21
39
94
9
4
-28
-31
49
18
16
-54
-5
-29
23
5
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-30
39
31
-30
-25
30
-16
55
6
0
-14
49
-9
3
6
41
3
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
62
38
3
16
-23
59
27
1
-3
-14
-23
82
-23
27
44
18
17
-5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
51
-55
63
-29
3
-4
33
1
1
-14
14
52
28
-4
11
5
25
7
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
53
20
56
18
29
4
8
48
49
3
7
18
8
-1
-38
7
3
14
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
50
17
-36
-5
0
16
3
12
-1
-15
-24
-3
19
14
-3
-10
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
21
-8
93
53
-13
34
38
11
-3
31
-36
-10
5
27
-40
25
34
5
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-7
8
-16
35
-16
-2
40
-2
33
0
-7
70
-29
13
0
5
17
19
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
75
-10
-2
-1
27
7
67
-7
-35
45
38
-41
-19
22
30
18
57
-17
-31
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
7
24
-7
0
14
-12
14
1
0
-10
-6
-40
3
3
8
14
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
81
60
-20
-3
26
-19
-19
-6
3
-33
46
-64
-2
20
-13
47
-12
-85
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
43
-17
-34
-2
6
-27
30
-11
-25
20
-44
36
0
6
-39
3
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
40
-25
15
17
18
5
-21
16
-39
1
-11
50
18
26
-6
34
7
60
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-2
16
65
16
-8
-11
21
21
34
11
31
19
-8
11
29
-15
48
38
14
27
-4
-1
17
17
33
46
3
-4
10
9
6
-2
-19
-14
33
36
19
63
-18
-23
13
19
4
28
-2
-6
28
8
-19
4
23
-22
-10
5
26
-36
0
-41
-41
15
-31
-12
-35
26
17
-22
-20
-24
1
6
-38
-21
-74
3
-28
-24
-16
-7
-51
-21
49
34
20
22
15
-20
-27
27
4
-52
43
-15
-22
54
8
-13
-11
17
-25
-47
38
31
-9
-9
5
-7
-33
4
5
53
-50
-48
1
34
-52
2
-37
53
-17
32
-39
15
-17
-1
15
-3
19
22
2
19
-44
28
14
-19
-14
5
28
31
32
-34
-30
11
35
-53
21
19
-25
41
-47
9
33
-18
15
-37
7
14
17
-32
-10
-23
-6
39
21
27
4
-14
16
41
-6
10
-18
23
27
34
12
10
1
35
28
32
16
12
10
-12
33
4
43
25
44
40
2
39
-12
4
19
3
32
-16
17
-45
21
-8
-18
-10
-22
7
4
6
-22
25
-6
-6
38
-4
27
78
-1
-58
40
19
-17
4
-33
-3
-2
2
13
16
-63
-95
-26
17
33
30
-13
8
-1
-67
49
-29
-9
31
69
-44
46
2
-23
64
-2
14
24
18
7
17
28
-34
9
43
-24
37
3
-25
-6
-28
-10
5
19
24
-32
13
-56
37
-21
9
22
-58
23
-42
-1
-42
17
-28
-6
13
70
-14
-33
-21
76
23
13
5
13
29
-19
57
-37
12
-4
-21
-17
2
-34
-43
-20
-5
-4
24
-4
-24
0
32
-13
1
13
44
-35
-2
-1
-11
-17
2
11
27
-17
9
35
-2
5
21
12
29
11
47
32
-4
25
33
4
-5
23
9
8
38
6
3
6
-13
24
-26
-13
53
11
42
23
61
34
43
-21
5
6
-2
-19
-11
6
3
-16
32
-8
-48
19
-6
-13
-47
30
1
-4
14
-49
-30
-26
-3
-82
64
-31
31
1
-31
39
13
-4
-89
-52
48
-5
0
11
-3
-8
-33
46
9
4
-14
-17
67
-14
60
-25
25
36
-7
-16
10
19
34
-7
12
-17
-51
33
37
60
1
-33
18
7
34
3
26
68
-18
-92
4
-24
10
-6
14
2
16
21
-20
-22
11
-7
7
29
4
-25
-33
-49
13
-1
30
-5
-10
19
22
-4
-22
61
5
35
10
-62
-38
31
-26
26
100
-128
-12
11
-3
-9
-17
-2
0
0
-2
29
25
53
29
-10
0
-28
58
35
4
3
37
-22
41
-12
8
11
-5
62
17
5
2
-4
-1
-28
32
25
56
2
6
-16
33
-15
61
11
6
49
25
5
0
4
26
-23
13
35
18
-6
13
-8
26
-22
-36
-14
17
7
-13
12
0
27
-37
-4
-19
-1
10
-9
-15
30
17
11
56
-31
-24
12
-17
-13
-59
9
84
-33
-20
-51
16
67
2
63
11
8
20
-27
-92
68
27
61
13
29
57
60
9
3
21
-76
-10
6
26
16
5
-14
-24
6
0
40
54
-1
2
-20
-15
10
12
2
-9
-8
26
4
-11
18
-31
4
27
-13
3
22
-1
-26
-10
57
-7
32
-32
55
-10
41
26
-44
2
16
41
-46
1
21
-5
-27
4
9
15
-9
19
0
9
1
10
-9
11
9
26
5
-18
-16
20
33
1
6
-9
14
22
27
-21
-18
-9
59
-4
17
32
10
23
13
13
22
2
21
7
7
43
3
8
30
-10
-5
12
32
3
-11
-21
7
29
-15
3
-24
12
-9
11
12
-55
-12
13
-11
36
-16
9
16
12
38
-46
-29
-80
-12
4
-24
37
9
8
-14
-3
20
-62
21
-9
-6
-13
29
-5
-2
-5
44
70
-27
-37
-7
9
8
2
-31
-4
-30
-6
-13
31
15
34
4
17
5
5
1
15
-11
-66
29
-23
28
30
43
55
-76
-17
-7
11
-27
7
0
28
-6
-9
12
-5
-36
34
-15
18
10
4
-14
-10
-34
3
-28
-34
17
-41
29
-48
48
-11
-20
0
-59
5
26
-18
2
2
59
21
3
26
13
13
0
0
0
-25
-13
0
7
-9
-12
-23
54
26
-6
-4
-5
13
36
18
42
54
34
36
-29
28
0
31
-1
15
10
54
62
14
-3
23
43
-14
34
30
43
11
26
32
10
-32
-19
23
-5
24
30
7
-62
-27
-81
65
5
-14
11
32
88
17
-50
-60
-21
-21
-6
22
46
-27
11
-35
-1
32
21
-9
16
-20
-55
18
-48
2
56
59
-19
43
-5
-14
14
-7
27
-16
1
-9
-10
8
6
17
-19
-6
45
-6
26
-19
-25
-24
29
-17
12
5
-2
23
-25
-45
-5
23
-26
20
32
2
-2
-8
1
-20
-1
11
37
-9
-25
1
0
26
-44
5
10
39
-33
-23
33
-37
6
5
15
18
-9
69
41
-26
-32
-12
12
-42
16
-13
12
-2
-1
-48
0
-2
2
9
2
0
0
26
36
-7
-32
-35
8
19
24
29
12
28
38
-5
20
10
11
23
25
-26
8
-17
-6
15
21
30
-29
26
42
14
12
17
36
17
-3
41
16
16
28
14
44
51
-14
-35
-44
-28
-22
-21
-26
25
33
-81
-12
9
17
24
-28
-2
-20
4
-29
5
12
-13
7
-54
-8
-48
30
-11
63
-17
24
-15
-27
13
2
-23
-49
17
9
-15
-11
23
13
-16
-6
-22
-9
10
10
57
11
-3
6
-34
-6
8
18
-17
2
-18
-15
20
4
-6
5
-15
32
-19
6
-2
-22
24
59
7
1
41
-7
-18
0
-17
1
0
21
12
-26
-3
53
-23
1
-19
3
60
-29
0
-7
46
-14
2
1
46
5
11
4
-19
17
-16
-23
-2
-9
-9
-8
21
-11
3
-2
1
-2
-3
-7
29
11
-26
-30
17
51
4
11
-27
-66
20
12
13
35
22
21
-6
33
52
22
-2
26
15
18
28
21
5
35
13
33
-14
11
49
15
32
-65
-27
8
12
40
-22
22
0
-40
1
-52
-7
13
59
40
34
5
50
43
-2
1
-1
4
31
15
32
-6
-1
-11
-5
-34
-33
58
-17
19
12
-22
-19
0
49
20
29
4
-9
-11
-17
-40
14
22
-28
44
8
38
-26
-15
22
-2
68
-32
1
-10
31
61
-34
-8
-9
4
14
-18
0
30
-13
-5
32
0
-6
33
-44
-2
2
22
26
3
7
-2
-8
23
-35
15
-3
29
51
-25
-5
3
6
-12
-6
-2
-6
-17
47
-7
0
8
-2
-1
-41
16
2
-3
4
2
0
2
-2
-1
-5
-2
-1
1
-3
10
6
9
1
12
1
42
39
-3
7
-1
-9
54
-11
10
-2
-11
-2
10
-6
22
-57
-1
-13
27
3
-29
-8
-30
-2
16
5
7
14
-2
29
-17
-20
-5
18
-31
36
-16
-24
8
10
9
40
-12
2
-1
4
28
-62
17
-23
-38
-12
-38
-8
35
9
1
-27
20
2
4
-7
-37
-15
33
0
8
10
-10
8
18
-61
-16
-50
-7
16
-50
1
4
5
-33
4
46
-23
-2
-7
2
67
-4
-27
-53
32
0
26
49
-40
-1
-16
12
17
-49
11
-2
-8
-23
33
10
10
16
-57
-15
-2
-4
34
-15
-49
-1
37
12
7
19
13
68
27
3
-12
-16
30
86
-4
-12
-7
20
40
-32
-22
-5
27
43
-43
32
-17
-9
20
-44
-6
12
10
71
-34
6
14
-21
8
0
2
0
18
7
-2
-49
72
22
-25
23
-3
-8
-2
15
64
-19
36
-6
5
5
31
-25
8
37
-18
22
-19
-7
3
14
22
-23
75
-3
14
-21
-50
-16
-23
-19
5
4
59
-15
14
21
-45
8
12
25
-70
0
-7
-7
-21
-37
-7
10
1
56
33
-28
15
0
34
6
-14
-11
-4
23
21
-4
30
10
-1
-7
-34
-7
-17
6
-57
34
-14
0
7
-42
9
-67
2
26
-13
-5
77
3
-57
-9
3
-3
42
25
-18
2
42
44
-20
7
-6
-11
3
1
29
1
5
36
19
2
-2
13
-3
13
-3
-1
-3
72
18
-8
-20
45
26
-5
16
-1
-8
44
-3
37
-9
11
53
-21
-8
2
34
44
25
-8
4
16
-18
17
-5
-6
-10
-4
0
18
0
-3
-1
-15
25
0
13
12
-10
8
17
-10
-14
27
-5
-4
29
-12
13
-12
5
35
7
25
-25
-21
7
50
-12
-2
-20
-16
-7
7
-36
80
51
-17
-11
-33
-5
17
-21
-32
-23
-5
-37
0
-20
-24
-18
-18
7
11
11
-2
48
-28
-30
29
-17
28
-1
-31
-38
20
-30
-8
55
1
34
-14
16
29
24
0
-13
-1
-24
-14
1
-33
-44
-5
24
22
82
26
-11
-49
-3
3
1
-27
-1
-1
6
11
-5
-24
12
-58
79
-30
18
-3
18
73
67
-25
-5
34
29
15
8
5
-21
32
2
2
1
16
25
0
-4
0
-8
5
-46
-49
5
-15
64
52
-11
7
13
-49
29
13
-11
20
-15
5
14
11
36
1
51
-4
-7
-3
61
-16
-7
2
8
-42
1
-44
2
-4
4
-27
-12
0
-22
-16
-6
-12
-7
-70
22
-5
20
26
-1
-59
55
18
42
-29
-2
53
84
5
11
-36
17
-34
0
16
-13
-47
24
64
-29
46
23
60
-10
-36
56
-1
27
7
52
-25
-1
-13
-35
-2
12
14
-29
-14
20
22
-23
-25
22
65
3
18
5
-51
-17
37
16
2
5
21
-55
34
27
-25
25
6
20
-17
7
-13
12
16
-12
-19
-55
-27
-9
-15
-2
-7
24
27
-1
-12
0
-10
-16
-5
-1
10
-24
11
-2
-3
-5
-47
-15
35
0
-21
70
-9
-15
1
-1
-40
46
1
-2
-24
-14
9
17
0
11
-23
23
39
0
-4
21
-35
-2
7
42
-15
0
-27
-13
3
22
-13
6
7
23
7
-30
6
-1
5
41
8
28
1
0
-11
-36
4
1
0
28
1
-3
-12
-13
-1
-2
-11
-28
85
4
21
-14
-54
-41
-25
11
30
-23
-50
-14
-38
5
37
15
2
19
20
-3
-24
-37
-11
4
54
-41
23
26
14
17
-37
-31
-10
13
12
-12
11
-7
26
22
-8
24
21
31
16
-22
18
0
0
100
71
-12
8
-13
17
-1
17
18
20
48
-72
49
-3
1
-12
-5
0
1
1
10
4
25
-19
-5
29
-3
8
17
12
6
7
12
11
18
4
7
-80
-34
31
-4
11
18
18
11
0
29
14
15
-55
-15
12
-89
43
-5
0
12
-49
-13
-15
21
-4
5
-18
11
0
-71
-1
17
8
-10
43
-19
-19
46
6
34
25
25
-7
2
22
45
-6
42
0
3
9
-26
-4
3
3
52
17
-9
-10
-1
-30
-14
20
2
0
8
-6
0
-4
27
21
34
-60
-10
9
9
20
-22
-71
51
5
-18
44
23
-41
31
18
56
13
-4
-45
-10
5
-28
-18
-1
-7
7
-55
22
31
-2
12
0
33
29
-51
-12
18
-4
10
-16
-31
25
44
10
-15
16
-22
-103
7
15
41
14
11
-15
22
-22
42
23
30
-26
19
27
-1
-50
19
-7
-11
-14
17
-15
46
45
36
30
-5
-11
-95
1
-8
31
95
-2
-13
15
47
-16
-2
21
-18
-16
-11
2
-18
7
20
-20
0
-20
38
3
-8
7
22
6
-48
0
-1
-3
-9
33
15
1
-11
21
-15
-2
0
-15
-7
-1
-8
-11
-56
18
4
-8
7
-15
1
0
-6
2
4
-45
25
4
-20
-1
-7
57
22
6
-3
35
2
20
0
-1
45
-1
-7
0
0
11
5
-3
0
64
17
-7
-71
-28
2
-44
1
-23
27
-17
38
-52
20
5
11
-7
23
-11
-1
22
1
-3
32
-27
38
-22
-31
43
-13
-17
43
42
-43
-95
50
15
-14
9
11
-24
18
5
-4
-49
67
8
39
-17
-66
-38
22
1
17
-23
-2
1
7
12
-37
-42
-11
36
29
5
17
37
15
29
5
-4
0
32
-11
2
39
-26
51
-14
10
-28
-21
32
-10
0
-16
56
-44
-43
0
-18
16
1
3
7
4
21
-10
-11
3
-10
-30
9
22
1
-13
-6
22
-2
0
4
-26
49
-15
36
0
-3
23
11
0
17
6
17
35
3
1
-1
-7
25
0
-11
22
42
24
24
-8
-15
6
7
-1
-4
-19
12
27
4
0
-9
-5
16
-12
18
-20
23
-26
-24
1
2
-6
-3
1
33
44
-45
-8
-5
51
20
-43
-50
-11
-9
31
-12
18
0
-1
-44
-5
38
-2
-19
-36
4
26
-11
-43
72
17
-2
-25
11
48
-18
-69
27
-9
-5
41
0
-1
-38
27
4
-20
-52
-2
-7
-22
-48
50
-5
9
27
7
31
-44
60
5
6
-5
14
-2
16
-9
-20
-103
-7
36
6
46
34
-4
22
-6
3
9
-32
17
8
9
-3
-5
7
-18
0
8
8
32
-3
0
-5
33
29
1
0
2
31
2
11
0
-2
25
3
9
6
6
-37
1
0
0
0
1
-14
4
0
-2
-4
10
-4
-1
6
-40
25
5
16
0
4
1
-2
-3
2
43
-66
-8
-3
50
0
28
5
0
0
5
-3
3
-4
-7
2
-26
4
1
0
-2
4
4
0
0
-4
-8
-18
1
-13
2
28
-1
7
-3
-13
9
-17
-24
22
-7
33
-58
51
75
53
-55
-9
-30
13
-1
17
-18
-17
-3
-10
15
-12
0
23
-43
11
-34
-16
4
-6
-33
-24
0
19
26
9
47
43
32
-33
-3
27
5
68
6
-1
-9
-16
47
-10
-24
1
33
8
40
-29
-7
12
21
17
51
-17
14
62
32
-30
-1
-25
-19
48
34
12
0
15
6
18
52
33
-47
-17
22
1
-11
6
-4
27
41
-9
32
10
22
-8
-42
10
5
12
-52
-8
-3
26
-52
49
0
-53
0
-29
7
-3
-16
-14
57
45
-3
22
47
34
-5
-12
13
61
-31
17
54
-13
12
14
-1
67
-11
67
-41
-11
-3
55
13
-6
4
54
-40
37
22
28
11
6
37
31
0
-10
38
49
18
-44
-4
3
-13
49
-10
24
-4
-15
-19
-8
28
27
3
2
20
47
22
-28
-38
15
23
-10
16
64
-22
-22
-18
44
9
4
-33
2
4
2
-2
11
0
-8
19
-37
0
6
31
12
74
-16
-12
-48
53
45
26
78
22
-40
33
-11
-49
10
-21
21
-1
-50
20
10
9
60
34
-25
-53
-4
0
-39
12
0
6
9
10
3
1
3
0
-32
33
38
4
-31
-83
-5
51
17
0
-11
33
-1
-7
31
67
42
-12
-28
8
79
23
-28
-71
-3
-16
6
-5
48
2
41
41
-62
32
8
-16
-19
21
-7
0
-7
43
-35
5
21
26
-19
64
40
17
3
-7
-11
28
-56
52
-20
21
14
-9
-10
-27
41
18
2
12
27
-28
17
-7
-43
56
44
-62
-1
-5
-9
0
-20
-7
0
-58
23
44
15
4
-3
-1
22
-1
8
-28
-46
-1
11
8
-15
34
-24
11
7
-12
-22
-46
-3
46
21
11
-7
3
-64
-12
72
54
-8
-9
-25
-18
-4
0
-6
-17
32
59
25
-25
-19
32
19
0
-11
-15
81
-8
-3
50
-24
6
19
-6
22
-9
13
-27
14
109
35
-6
-23
0
13
25
27
9
-7
-2
0
17
-8
0
0
-33
27
3
16
-26
48
6
58
-56
-63
7
-2
13
-10
3
-4
-8
23
7
73
-16
23
-3
2
22
28
-27
2
-1
-41
-11
-12
32
0
13
-2
3
12
-4
47
13
-11
-12
48
16
19
60
-41
-14
54
3
17
16
-29
14
34
38
-29
-8
45
3
64
-17
24
-8
67
36
2
27
16
2
3
-7
46
2
17
-22
12
8
19
-2
18
-5
-10
22
-47
8
-19
-5
23
0
51
-39
1
-31
-5
-29
37
5
28
4
-21
9
-4
33
-13
60
7
8
-11
-47
-7
11
1
-8
27
3
-14
0
13
-5
36
3
1
13
-1
26
35
4
3
4
-24
11
7
48
9
-38
27
-9
30
12
0
2
0
-21
46
15
-49
-44
9
0
19
13
0
-3
-16
-7
-12
0
-31
21
-28
-14
8
29
37
78
-46
1
22
-12
-14
-28
-14
-31
28
23
-6
-2
20
20
20
11
-2
-14
48
22
38
19
-11
19
-7
10
2
1
31
-28
-21
0
5
-36
7
10
13
-13
19
2
-13
-22
-55
9
56
33
7
-67
3
61
35
48
26
7
-42
69
9
17
22
-17
-4
23
-20
-1
42
-20
16
-4
25
-19
-9
-9
-9
17
10
23
44
-8
24
-43
5
28
62
9
-34
12
-50
-15
1
41
-55
4
27
12
-19
-38
-16
-9
-6
-13
35
2
-8
-24
-13
5
-1
45
-48
3
-4
0
87
-23
61
12
-41
64
5
33
9
-9
3
3
-4
51
11
7
-52
-4
48
-7
6
40
-28
-61
19
-2
4
26
10
-9
-25
27
20
6
-9
0
13
8
13
0
51
45
18
41
-53
-18
-3
25
15
46
45
-14
-4
-20
-27
-19
31
50
0
0
5
24
-17
46
6
-62
-5
47
-18
24
-11
20
-18
-7
1
6
-3
0
28
6
18
39
65
54
7
51
34
21
27
-24
36
65
-7
4
-9
3
-84
10
41
18
54
-3
63
57
14
74
-17
99
-36
25
-42
-38
52
-4
48
-6
-32
67
16
10
23
-7
-57
-46
29
50
21
-29
-1
-17
-47
16
57
-7
-7
60
-27
25
-37
-2
3
-16
13
46
4
-53
36
-76
-12
-2
32
-40
11
-4
7
17
-23
13
-4
-1
1
30
17
20
-13
-32
36
-2
1
-4
-10
40
-11
-9
4
14
-25
-6
-6
-4
13
-24
-6
-19
-6
-51
22
-1
10
0
-19
12
29
-1
0
1
4
-16
1
0
-40
35
3
25
-26
29
15
-27
-1
-25
41
33
41
14
30
-56
91
-67
59
-18
-4
-35
35
-10
12
-40
54
14
-13
-7
-1
23
68
-47
-8
6
7
19
-3
-6
-14
42
16
-22
60
28
-2
-33
35
17
27
73
13
21
-18
-11
-6
19
11
4
12
36
-2
2
-13
22
8
37
-15
-7
7
-10
17
7
-6
7
-7
-4
38
0
63
-9
-1
-52
-48
-117
54
47
-7
3
29
27
11
9
9
-41
-13
-4
2
0
28
17
-3
12
0
-6
37
1
-12
-1
71
24
-31
0
0
6
9
0
9
1
-55
65
29
4
6
-6
-13
49
-1
0
-12
39
30
-16
10
-6
44
12
-3
0
-4
77
13
-47
12
30
-7
-3
13
0
-3
22
37
11
16
1
3
-2
0
0
93
-17
-45
-37
-32
-22
5
22
28
-1
-4
-20
-4
45
14
-5
-1
13
42
-4
67
1
-29
-2
-22
22
-10
12
-34
0
-55
-2
66
-9
20
8
0
0
-42
0
26
46
-35
21
-1
-3
1
-5
19
-32
-34
5
42
79
-14
50
3
4
0
16
0
-18
7
40
13
-6
86
27
2
-20
-42
9
-13
12
12
2
-27
-2
1
14
16
-13
16
-16
-1
29
10
12
-27
2
-4
-20
-18
-17
0
45
22
-36
-45
0
3
12
-28
-16
0
4
-19
47
-2
1
1
22
-3
3
0
-3
-20
1
-3
0
7
59
20
4
-3
66
-3
-61
-4
0
14
-32
83
-6
-1
6
-33
12
7
0
30
-8
-42
-1
1
-16
15
13
-2
0
-1
50
2
0
0
-2
-16
11
-1
-8
36
38
7
-3
-12
16
-6
24
-39
0
-1
11
19
46
10
2
9
5
-4
0
11
-3
44
-19
-2
-5
-2
63
1
3
1
0
-4
-4
2
0
0
-9
0
0
20
-2
23
33
22
-1
-57
-11
-3
-9
29
-55
22
20
80
3
41
-9
21
-9
2
22
-9
4
-1
-13
-6
15
11
-4
-1
-2
63
0
-16
-2
-18
-1
8
3
-13
-3
-1
32
-29
-16
60
2
1
12
-48
9
-38
27
7
35
2
14
-7
2
-4
-97
37
-13
54
37
-36
-3
-1
3
36
-32
-44
-11
0
-8
7
-14
7
0
29
51
7
-25
-26
51
-13
-8
12
-20
12
15
-14
6
-3
-24
56
50
-16
0
-3
21
-20
32
22
-34
1
20
-21
2
-1
-20
-8
65
-9
3
4
-13
-1
0
-12
2
-16
94
-4
-16
14
57
16
34
-19
-7
-2
-1
2
-5
-1
58
32
-2
18
29
17
-7
-11
14
-21
33
-61
2
35
-3
-38
49
-22
-6
-1
2
-28
0
-6
27
11
2
32
13
32
-2
18
7
6
42
44
-9
53
22
-47
19
7
24
22
22
-2
45
-2
38
-22
46
31
-39
-13
-2
1
29
-2
-20
52
60
29
-26
10
-24
19
37
-14
-1
-45
63
-13
11
-2
14
74
2
9
-13
-17
-7
7
-3
-16
-3
39
-52
-2
-3
-44
-2
33
9
8
18
-19
-3
3
-2
-4
-9
-5
-2
-17
70
14
18
19
22
25
29
26
-11
30
-52
-1
-13
11
49
-10
20
-29
0
13
37
51
-23
3
6
-2
18
-3
6
25
-3
-2
11
0
-7
-4
-9
8
0
-10
42
-9
-82
-12
-69
66
-52
56
3
-26
12
-29
30
8
24
95
-3
-3
8
6
-3
-3
49
7
63
-44
-1
-49
1
1
28
5
-4
2
-7
4
29
2
3
-60
36
78
2
61
36
-6
60
-18
-44
10
27
-12
23
28
-5
-2
38
-26
43
-17
38
-32
29
49
-43
-21
41
58
-36
-4
-4
15
45
39
-14
19
-1
1
-10
20
-24
-31
-9
-10
63
13
-32
-2
-2
4
-1
3
15
-1
43
32
-16
18
0
-57
99
37
8
-9
-8
-42
26
2
0
-3
-3
3
-25
17
4
4
0
-4
0
24
1
8
5
-8
25
20
-16
-6
0
-17
-18
48
-11
1
30
28
19
4
1
19
11
-27
63
-14
-37
61
23
-10
0
36
53
10
0
-8
1
-2
-28
12
10
38
-3
5
-6
41
25
-32
14
-6
-7
-6
31
24
-31
-39
2
-48
-6
29
0
37
27
-53
73
-33
9
27
-1
-1
-8
1
-3
-22
53
-10
-7
-1
11
15
-2
-13
15
-7
-1
56
26
60
17
-27
50
-30
25
-9
14
24
7
-11
-30
47
30
58
59
-29
34
44
-71
-26
77
11
7
57
33
59
38
40
0
-1
-25
-5
-7
-20
-38
11
-12
0
-2
29
41
-13
-3
0
14
-50
6
0
6
-31
-38
-21
0
-3
42
10
24
-6
19
28
-1
9
1
0
-8
15
-1
0
-6
43
0
-16
0
-17
40
-18
-3
2
-7
-9
7
9
0
10
3
20
-24
-3
5
3
33
-4
0
0
-6
6
-2
-1
6
4
61
7
4
-6
28
12
-1
1
9
45
-4
5
-2
-22
17
-15
-25
-4
30
15
6
33
-1
-3
6
23
-13
12
9
-21
6
-8
0
-6
-29
12
62
-9
1
17
-47
-28
29
1
18
55
14
2
1
-6
1
6
2
-68
-14
11
38
0
1
-50
65
-5
-12
43
-24
-23
-5
-19
46
-16
1
-34
15
-27
45
12
-42
0
7
-11
25
46
1
8
-5
-4
56
36
-12
46
-2
28
8
-1
-2
69
-54
-29
-14
-19
-13
-1
12
17
-12
-1
38
8
-1
14
-17
5
2
7
46
-9
-22
-10
50
-40
-6
-1
4
-6
0
22
-1
-1
7
-2
-1
0
0
13
22
-8
3
12
38
-49
73
32
-25
-28
18
31
48
-4
-20
-10
14
3
0
22
-18
-18
60
38
-24
11
26
-26
4
1
17
-28
18
6
0
10
-7
-8
1
-8
2
-1
-13
23
-9
66
28
-74
-9
15
-1
10
48
-62
-8
-58
7
82
0
-3
10
11
16
-13
0
13
34
20
29
8
46
-5
29
-42
3
-16
-5
14
-2
12
22
-3
12
5
38
-34
54
-5
12
12
39
-5
22
52
5
30
36
-49
28
-53
47
3
19
15
66
13
41
-3
43
-2
42
50
-12
-24
3
12
30
23
-1
-6
-33
-21
-30
-7
36
45
-43
-1
1
0
11
34
0
-2
-34
44
-13
-23
-1
-1
-38
8
8
0
2
-23
22
-24
0
-1
1
-25
6
0
-3
-10
-16
1
0
-9
-60
80
71
4
-15
73
13
-24
-14
3
17
45
14
0
-7
-6
2
19
0
-1
48
18
33
-3
4
-26
19
53
1
3
0
30
-4
0
-3
27
-8
3
2
-19
39
3
-22
15
17
-25
-25
-6
26
5
58
18
-37
-16
2
-44
7
19
0
2
31
34
23
7
-3
44
2
-9
11
2
2
5
12
22
6
11
-26
9
-2
24
18
17
20
7
7
-26
55
-37
62
7
1
23
16
-24
61
52
-13
8
-40
-12
3
85
19
-36
4
1
16
37
-16
-9
38
-67
65
26
0
3
-14
3
16
-8
24
-24
41
-5
37
-13
7
-2
0
-25
28
34
-5
2
-4
25
-15
11
1
8
-7
-10
20
4
0
-1
10
-1
1
-28
26
-16
20
-8
3
-3
1
-6
-1
-6
-27
41
15
2
-32
10
51
-13
0
4
39
12
16
-24
5
7
-11
-1
1
-8
-36
18
-6
9
-3
8
2
63
0
6
-29
44
20
1
6
-3
-16
8
-2
57
44
17
-14
-19
-7
-9
-35
-18
-2
-3
-41
29
-9
4
8
-3
-9
-8
1
-20
-35
35
-20
52
1
15
-1
4
16
14
-13
0
24
4
0
-22
1
-2
-7
-13
-7
-12
25
31
6
-38
-7
53
-20
-11
20
-22
15
17
0
-13
-10
-35
-2
-13
-28
6
50
15
7
45
24
18
-11
34
38
-33
-23
-30
0
11
-1
12
7
0
44
0
-60
-3
0
15
-1
-2
0
0
0
12
1
0
-2
-16
-27
1
0
0
0
-5
-11
0
0
4
-4
0
0
0
1
-40
43
2
0
-6
7
0
0
-2
-11
-19
42
-4
6
45
5
-44
3
12
-38
5
0
1
-3
16
12
6
0
-4
-8
16
0
3
4
-11
-21
-4
0
10
15
66
15
0
4
11
3
2
0
0
6
-58
-6
-1
1
-16
-74
0
-1
6
21
9
-5
0
-1
3
14
-20
0
0
37
4
34
3
-3
45
-18
11
-1
-7
24
14
-4
10
2
8
9
39
-1
-35
-34
89
-23
-25
-5
12
-11
-17
17
0
-82
39
50
-33
3
7
-2
-8
8
0
56
8
-12
17
15
37
-12
-41
26
0
7
27
-43
22
0
4
-20
-34
10
1
19
58
36
20
0
0
5
27
30
0
0
6
-11
-69
0
0
-20
-82
30
0
0
-4
-2
-4
0
0
4
67
5
0
0
17
-36
3
0
0
29
-13
-35
0
0
-22
-30
-10
0
0
2
-14
15
0
0
-3
35
1
0
0
-10
34
7
0
0
16
16
2
0
0
-4
-25
0
0
0
-25
6
-3
0
0
21
-25
-3
0
0
74
-41
-4
0
0
9
26
-12
0
0
-11
7
-6
0
0
-27
8
0
0
0
0
-8
4
0
0
-5
-7
10
0
0
12
-1
0
0
0
-7
2
0
0
0
1
-12
-20
0
0
0
-4
-7
0
0
-1
19
0
0
0
3
0
0
0
0
-1
1
1
0
0
5
-3
0
0
0
-15
-16
0
0
0
-1
0
0
0
-42
61
29
14
0
0
27
54
13
0
0
2
-17
38
0
0
-28
40
-9
0
0
18
28
69
0
0
-15
-56
-10
0
0
-50
-1
-60
0
0
26
-35
-27
0
0
3
-25
-21
0
0
-20
-18
18
0
0
-34
15
0
0
0
-28
15
-7
0
0
-30
-1
5
0
0
-21
9
0
0
0
-9
-15
3
0
0
12
2
-18
0
0
-3
34
3
0
0
-2
-24
2
0
0
-2
9
1
0
0
-1
-6
-1
0
0
-9
-4
0
0
0
0
-32
1
0
0
0
-2
-1
0
0
0
1
0
0
0
-7
11
-1
0
0
0
0
0
0
0
-3
0
0
0
0
1
-9
0
0
0
12
-1
0
0
0
1
0
0
0
0
-2
1
0
0
0
-2
-2
0
0
51
-27
-9
1
0
0
-20
-31
-3
0
0
-47
25
39
0
0
75
16
1
0
0
-4
7
0
0
0
2
-40
14
0
0
-37
7
20
0
0
29
-6
8
0
0
12
6
-34
0
0
34
9
-10
0
0
45
2
20
0
0
36
-20
-3
0
0
18
-8
2
0
0
-30
2
0
0
0
-11
19
4
0
0
-13
29
-15
0
0
-6
19
-21
0
0
1
-6
-4
0
0
-8
9
3
0
0
1
8
0
0
0
-18
8
0
0
0
0
-6
2
0
0
2
-7
-2
0
0
3
16
0
0
0
-9
10
-4
0
0
0
1
0
0
0
-1
0
-1
0
0
1
0
0
0
0
-3
-1
0
0
0
-2
1
-1
0
0
-3
-4
0
0
0
0
0
0
0
40
31
-43
-24
0
0
22
16
-6
0
0
-30
24
4
0
0
-14
42
30
0
0
108
14
-11
0
0
1
45
-3
0
0
-12
-24
15
0
0
6
7
-3
0
0
3
-20
-2
0
0
-9
-16
-8
0
0
-28
-1
2
0
0
-25
20
0
0
0
39
0
0
0
0
14
-4
0
0
0
2
2
0
0
0
8
7
-2
0
0
7
-1
1
0
0
0
25
15
0
0
2
0
0
0
0
7
9
0
0
0
-6
6
-1
0
0
0
-12
0
0
0
-10
1
0
0
0
-1
6
0
0
0
-5
0
-4
0
0
0
0
0
0
0
0
-1
2
0
0
0
25
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-2
0
0
-11
-12
-30
-56
0
0
-52
-44
-13
0
0
26
-25
9
0
0
-11
-30
12
0
0
-4
6
58
0
0
-7
-10
-53
0
0
-45
84
23
0
0
-59
-4
10
0
0
32
50
-11
0
0
-42
-32
15
0
0
11
-28
27
0
0
11
7
-1
0
0
-18
-35
-12
0
0
22
-7
0
0
0
-16
-3
15
0
0
-3
-7
41
0
0
28
-2
-32
0
0
-7
-2
-2
0
0
2
10
0
0
0
0
3
0
0
0
-6
-11
-9
0
0
0
8
-2
0
0
2
10
-3
0
0
0
1
0
0
0
4
9
-10
0
0
-1
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
1
2
0
0
0
6
0
0
0
-1
0
0
0
0
3
0
0
0
-39
59
57
-23
0
0
-23
4
-25
0
0
20
-28
6
0
0
18
26
17
0
0
-4
-10
-37
0
0
-45
24
-21
0
0
28
-9
11
0
0
-15
11
1
0
0
0
10
-17
0
0
-38
-37
-27
0
0
12
4
-1
0
0
-9
-10
19
0
0
14
-12
10
0
0
24
17
1
0
0
33
-11
15
0
0
2
-4
0
0
0
-21
6
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
-7
0
0
0
2
-1
0
0
0
1
2
0
0
0
4
-1
0
0
0
0
-3
0
0
0
-1
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
-1
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-11
-54
-9
0
0
21
-43
19
0
0
-3
-62
-3
0
0
46
47
-1
0
0
-22
47
3
0
0
-52
34
-14
0
0
2
6
-37
0
0
38
56
40
0
0
4
3
0
0
0
7
6
1
0
0
30
-3
2
0
0
-11
-12
-2
0
0
0
16
-4
0
0
-11
0
1
0
0
-28
30
-6
0
0
10
-10
4
0
0
-15
0
1
0
0
0
-3
0
0
0
-1
-1
0
0
0
1
-1
0
0
0
6
1
0
0
0
0
1
1
0
0
-1
0
0
0
0
-1
-1
0
0
0
16
0
0
0
0
0
-1
-1
0
0
-2
1
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
24
-65
17
16
0
0
30
25
13
0
0
40
-53
-1
0
0
-15
22
-8
0
0
-54
29
-37
0
0
-10
39
28
0
0
17
42
1
0
0
32
-26
27
0
0
18
-6
4
0
0
-1
9
-1
0
0
2
9
1
0
0
-10
6
-1
0
0
6
2
1
0
0
9
0
0
0
0
0
-36
-19
0
0
0
5
-8
0
0
33
-19
0
0
0
0
2
0
0
0
0
0
0
0
0
4
12
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
-2
3
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
-25
18
-51
-20
0
0
28
9
18
0
0
-38
35
-3
0
0
-4
7
-4
0
0
22
-42
-8
0
0
7
1
16
0
0
-25
-28
-6
0
0
-14
18
-13
0
0
-20
-21
21
0
0
-8
4
-22
0
0
14
-33
12
0
0
-10
4
0
0
0
-17
-4
-23
0
0
5
19
7
0
0
-9
-38
0
0
0
2
10
-9
0
0
7
-1
6
0
0
0
0
-10
0
0
3
-4
1
0
0
-3
11
0
0
0
21
-14
11
0
0
-8
-1
-3
0
0
-6
4
0
0
0
1
0
0
0
0
12
4
-7
0
0
-1
3
1
0
0
3
-4
-4
0
0
0
18
0
0
0
0
2
-1
0
0
0
1
0
0
0
0
2
-1
0
0
3
-2
0
0
-48
5
10
15
0
0
-8
6
-38
0
0
-22
-16
-4
0
0
-37
18
1
0
0
20
-12
-19
0
0
-7
-1
-9
0
0
-3
37
-11
0
0
-20
3
-18
0
0
-8
7
-25
0
0
-4
10
9
0
0
-10
-2
-17
0
0
-6
16
3
0
0
29
20
-9
0
0
19
-14
3
0
0
12
-13
6
0
0
20
21
13
0
0
2
-1
7
0
0
0
2
-1
0
0
0
-7
0
0
0
0
-2
0
0
0
0
2
1
0
0
0
-4
0
0
0
1
1
0
0
0
2
-8
0
0
0
7
-6
0
0
0
4
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
1
0
0
0
1
1
0
0
5
-14
-35
7
0
0
-6
-3
13
0
0
12
13
2
0
0
-7
-1
1
0
0
9
-8
22
0
0
1
-48
-9
0
0
46
-2
10
0
0
-9
-14
0
0
0
10
-4
-11
0
0
-4
-14
11
0
0
-4
13
1
0
0
-32
-1
1
0
0
9
-46
3
0
0
32
1
-2
0
0
19
15
-9
0
0
16
4
-24
0
0
-10
-1
-3
0
0
0
3
-1
0
0
2
9
0
0
0
0
2
0
0
0
-1
9
1
0
0
0
-1
0
0
0
1
-2
0
0
0
6
-18
0
0
0
-12
0
0
0
0
0
1
0
0
0
2
-1
0
0
0
0
4
1
0
0
1
7
0
0
0
0
-2
0
0
0
2
0
-3
0
0
0
-2
0
0
0
2
15
1
0
0
6
-9
2
0
0
9
-3
-4
0
0
8
-7
-3
0
0
-25
32
18
0
0
10
20
3
0
0
-16
-2
0
0
0
-26
-9
-2
0
0
-9
-8
-15
0
0
25
-4
0
0
0
28
7
1
0
0
-23
1
1
0
0
24
-3
-2
0
0
0
-7
-14
0
0
6
-10
-2
0
0
-15
-10
-6
0
0
-8
1
0
0
0
0
-2
0
0
0
-2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-6
-6
-1
0
0
9
3
0
0
0
2
15
0
0
0
7
1
-1
0
0
0
1
0
0
0
-2
0
0
0
0
3
-4
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-1
4
0
0
17
33
-38
-4
0
0
0
0
-36
0
0
-18
29
-9
0
0
-13
-25
3
0
0
6
9
-3
0
0
8
-19
-7
0
0
-25
13
-1
0
0
1
-11
3
0
0
-18
-11
-11
0
0
-5
30
-50
0
0
23
2
8
0
0
4
26
4
0
0
-3
53
12
0
0
6
-15
27
0
0
40
7
63
0
0
-24
-7
-2
0
0
-22
5
-10
0
0
0
0
0
0
0
4
-3
-2
0
0
1
-10
0
0
0
0
0
-3
0
0
0
2
0
0
0
-2
-6
0
0
0
1
3
0
0
0
0
17
-1
0
0
-1
1
0
0
0
-1
9
0
0
0
2
0
0
0
0
8
0
1
0
0
0
-2
0
0
0
13
-6
0
0
0
0
0
-1
0
26
18
-16
-17
0
0
-75
-6
9
0
0
-4
4
9
0
0
-2
-7
3
0
0
-22
-19
-6
0
0
-47
35
18
0
0
84
-11
1
0
0
-11
-26
0
0
0
-9
-20
3
0
0
-27
-8
-9
0
0
13
-8
21
0
0
-5
22
-2
0
0
28
-6
-4
0
0
11
-3
18
0
0
-9
-5
-6
0
0
43
12
-7
0
0
10
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
1
0
0
-9
1
-1
0
0
-3
-1
0
0
0
3
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
-1
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
-3
1
0
0
0
1
0
0
0
2
-9
2
0
54
3
-11
15
0
0
27
-28
-3
0
0
26
9
2
0
0
12
6
0
0
0
4
6
-16
0
0
54
29
-2
0
0
-17
9
-1
0
0
1
-11
-1
0
0
-25
-21
7
0
0
-19
-11
-16
0
0
-6
27
-2
0
0
24
4
11
0
0
3
40
-29
0
0
1
28
-9
0
0
-35
34
39
0
0
-33
-41
-12
0
0
-10
0
-1
0
0
0
-1
2
0
0
-1
-3
0
0
0
0
-1
0
0
0
-4
-2
-2
0
0
0
0
0
0
0
1
0
0
0
0
1
8
0
0
0
-4
1
1
0
0
0
-1
1
0
0
2
0
0
0
0
-1
3
0
0
0
0
1
0
0
0
0
0
0
0
0
3
6
0
0
0
0
-1
-1
0
-1
-15
-18
-2
0
0
-16
11
1
0
0
0
-1
-6
0
0
-1
11
-11
0
0
29
-6
0
0
0
23
0
0
0
0
14
-13
0
0
0
57
-7
-1
0
0
-16
-1
1
0
0
4
0
0
0
0
-16
6
2
0
0
20
27
0
0
0
-9
-16
-12
0
0
-1
4
-3
0
0
-22
-39
7
0
0
-7
19
-7
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
-1
0
0
-1
0
0
0
0
0
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
11
0
0
5
-40
11
22
0
0
-1
-8
-6
0
0
6
-17
-5
0
0
0
-12
6
0
0
18
18
-6
0
0
8
-44
11
0
0
-8
8
10
0
0
19
-24
1
0
0
16
39
8
0
0
-4
3
1
0
0
-1
-3
2
0
0
0
0
0
0
0
-15
-2
-1
0
0
-6
1
0
0
0
-1
-9
1
0
0
3
0
0
0
0
18
23
31
0
0
13
18
-10
0
0
4
-2
-15
0
0
0
-6
1
0
0
-20
4
-36
0
0
-8
-2
-2
0
0
-6
-19
1
0
0
-2
1
0
0
0
27
-8
-7
0
0
-2
-7
-2
0
0
1
-1
-8
0
0
3
2
-2
0
0
-2
7
1
0
0
3
-24
-1
0
0
-6
-4
-2
0
0
2
3
0
0
-34
-5
37
19
0
0
-7
1
-8
0
0
4
5
-1
0
0
24
1
-3
0
0
-36
10
6
0
0
-7
12
7
0
0
-8
11
0
0
0
1
-4
0
0
0
-3
-3
2
0
0
2
1
0
0
0
-1
-4
0
0
0
-12
-4
0
0
0
32
-3
0
0
0
0
-3
-1
0
0
0
4
0
0
0
0
1
-1
0
0
38
37
2
0
0
2
16
7
0
0
2
-7
-3
0
0
-12
-11
0
0
0
0
12
-5
0
0
-2
-17
9
0
0
0
-9
0
0
0
-1
1
0
0
0
-10
-19
-1
0
0
1
-2
0
0
0
-2
19
0
0
0
0
-2
0
0
0
-15
2
-8
0
0
0
-12
-1
0
0
0
-6
0
0
0
-1
-9
0
0
-28
8
-5
0
0
0
7
-17
-6
0
0
4
-17
-7
0
0
-13
3
9
0
0
-33
-7
15
0
0
16
-18
-6
0
0
0
-8
0
0
0
-1
-15
2
0
0
-22
-7
-10
0
0
0
1
0
0
0
1
3
0
0
0
10
-8
0
0
0
-6
-1
0
0
0
0
1
0
0
0
1
-4
-2
0
0
0
2
0
0
0
-9
5
-11
0
0
0
-2
-1
0
0
4
-8
4
0
0
0
-2
1
0
0
-21
7
23
0
0
10
14
-12
0
0
-13
6
-3
0
0
0
-1
0
0
0
3
3
3
0
0
0
6
0
0
0
6
-9
-18
0
0
-1
-1
0
0
0
-7
-7
9
0
0
0
3
0
0
0
-2
7
0
0
0
0
0
-2
0
20
-1
-6
-2
0
0
-9
7
7
0
0
0
20
3
0
0
-14
-4
-2
0
0
17
-3
-3
0
0
-4
15
-2
0
0
2
0
1
0
0
0
-3
-1
0
0
1
-7
0
0
0
7
2
0
0
0
0
0
0
0
0
12
-3
0
0
0
-2
0
0
0
0
9
-9
-2
0
0
2
0
0
0
0
1
-21
1
0
0
-14
-1
-1
0
0
0
0
3
0
0
-2
1
0
0
0
0
-4
0
0
0
-11
2
-1
0
0
16
-12
4
0
0
4
-1
1
0
0
2
0
0
0
0
-10
3
0
0
0
6
0
0
0
0
0
-3
0
0
0
6
0
0
0
0
0
0
0
0
0
1
2
0
0
0
1
-1
0
0
0
-2
6
0
0
-44
-21
10
-42
0
0
-8
-6
-1
0
0
0
7
-12
0
0
0
2
2
0
0
-15
-6
8
0
0
3
8
-6
0
0
6
7
2
0
0
-4
-3
0
0
0
-4
23
21
0
0
10
-13
0
0
0
-6
4
-2
0
0
-4
-1
0
0
0
-2
9
1
0
0
2
8
0
0
0
6
-2
1
0
0
0
0
0
0
0
37
-7
2
0
0
0
-4
-3
0
0
4
0
-6
0
0
-1
-3
0
0
0
-41
-11
10
0
0
-6
20
-13
0
0
6
-21
1
0
0
1
0
1
0
0
10
0
9
0
0
-2
10
-3
0
0
1
-1
0
0
0
0
-6
1
0
0
-16
8
1
0
0
2
-10
4
0
0
6
-1
0
0
0
-3
0
0
0
6
-21
5
-2
0
0
-1
4
-10
0
0
0
2
0
0
0
-4
-2
-1
0
0
-3
4
1
0
0
1
-7
0
0
0
3
-3
0
0
0
1
2
0
0
0
-7
4
0
0
0
-1
8
0
0
0
-8
6
0
0
0
8
1
0
0
0
11
0
0
0
0
-4
0
0
0
0
0
1
0
0
0
0
0
1
0
0
-1
1
0
0
0
0
-6
0
0
0
-1
0
0
0
0
-6
0
-1
0
0
8
-7
6
0
0
-7
-6
-1
0
0
-3
-1
0
0
0
-2
-4
0
0
0
10
0
1
0
0
-3
6
-1
0
0
4
-3
0
0
0
2
-2
-1
0
0
-7
8
-3
0
0
-7
2
4
0
0
0
0
1
0
0
-4
4
0
0
-3
-8
12
-2
0
0
0
-1
0
0
0
0
-15
1
0
0
-3
1
-1
0
0
-23
2
-2
0
0
1
0
0
0
0
2
9
-4
0
0
-3
2
2
0
0
8
-8
1
0
0
0
1
0
0
0
0
2
0
0
0
6
2
0
0
0
11
-6
2
0
0
1
0
0
0
0
4
0
0
0
0
-1
0
0
0
0
-15
0
-4
0
0
0
-2
-1
0
0
0
-1
6
0
0
0
-1
0
0
0
-7
-1
4
0
0
-3
0
0
0
0
2
-8
1
0
0
0
2
3
0
0
-3
7
-1
0
0
-3
-4
1
0
0
-7
0
0
0
0
-3
8
0
0
0
7
6
-3
0
0
0
2
-2
0
0
2
-3
1
0
0
1
2
1
0
22
23
-6
0
0
0
4
0
1
0
0
0
-2
0
0
0
3
2
1
0
0
9
0
0
0
0
-1
0
0
0
0
2
9
0
0
0
-6
-1
0
0
0
-3
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
-8
0
0
0
5
0
0
0
0
3
1
0
0
0
1
0
0
0
0
-3
16
0
0
0
-8
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-2
-1
0
0
-4
0
0
0
0
0
-8
-1
0
0
2
0
0
0
0
0
-2
0
0
0
-11
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
1
2
0
0
0
0
-1
3
0
0
0
0
3
0
0
1
2
0
0
0
2
-1
0
0
8
22
-24
-7
0
0
7
8
-1
0
0
-8
16
-7
0
0
0
-1
-2
0
0
-27
14
4
0
0
0
3
2
0
0
-2
9
0
0
0
0
1
0
0
0
26
35
-10
0
0
-4
23
0
0
0
-1
-5
1
0
0
1
-8
0
0
0
28
12
1
0
0
19
-15
2
0
0
-8
-21
0
0
0
0
7
0
0
0
11
-33
4
0
0
-2
6
0
0
0
-7
2
2
0
0
7
-2
1
0
0
-15
-26
-3
0
0
0
13
-1
0
0
-4
-10
1
0
0
0
-2
0
0
0
18
14
15
0
0
-7
-23
6
0
0
8
47
-10
0
0
2
1
4
0
0
1
-27
-15
0
0
-16
-10
8
0
0
9
-4
22
0
0
8
-1
-3
0
20
-19
11
2
0
0
-4
-2
0
0
0
0
6
0
0
0
0
-4
0
0
0
2
-3
1
0
0
0
8
0
0
0
0
-4
0
0
0
0
0
0
0
0
-4
12
0
0
0
-6
-6
0
0
0
32
-11
0
0
0
-1
-6
0
0
0
8
-4
0
0
0
9
0
0
0
0
35
-1
0
0
0
0
4
0
0
0
-32
3
0
0
0
-3
-1
0
0
0
-3
-4
2
0
0
10
6
-2
0
0
16
15
-1
0
0
7
-4
2
0
0
0
0
0
0
0
-1
1
0
0
0
9
18
0
0
0
6
-2
3
0
0
0
-8
13
0
0
9
-21
1
0
0
4
2
-17
0
0
-12
3
1
0
0
-1
12
-2
0
0
1
15
0
0
-54
-9
9
-2
0
0
-1
0
0
0
0
-4
2
0
0
0
6
-2
0
0
0
-9
11
3
0
0
-1
7
-1
0
0
4
1
-1
0
0
0
-7
0
0
0
-17
-3
-4
0
0
13
0
0
0
0
-2
-11
-3
0
0
0
4
-2
0
0
7
-4
0
0
0
3
3
0
0
0
2
16
1
0
0
0
7
0
0
0
2
7
-2
0
0
-2
-2
1
0
0
-3
-6
-2
0
0
6
-2
-1
0
0
-7
6
0
0
0
1
-4
0
0
0
2
-25
1
0
0
0
1
1
0
0
0
-16
8
0
0
0
-12
-2
0
0
6
-1
6
0
0
27
12
0
0
0
-5
18
-7
0
0
-1
6
4
0
0
-2
0
30
0
0
17
-13
0
0
14
-5
-7
-3
0
0
-2
0
1
0
0
0
0
0
0
0
-1
-12
-1
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
1
1
0
0
0
17
1
1
0
0
7
0
0
0
0
-22
7
0
0
0
0
6
0
0
0
-31
0
0
0
0
-16
0
0
0
0
19
0
0
0
0
-1
-11
0
0
0
1
-9
0
0
0
0
2
0
0
0
-1
0
0
0
0
1
4
2
0
0
2
0
0
0
0
-2
8
0
0
0
-10
1
0
0
0
2
-1
0
0
0
1
0
3
0
0
1
-4
-2
0
0
-7
-7
0
0
0
2
-2
-2
0
0
9
0
-3
0
0
-1
10
-2
0
0
-1
-6
1
0
0
3
11
0
0
-14
13
-10
-12
0
0
-4
2
0
0
0
1
15
0
0
0
1
-2
0
0
0
18
3
-4
0
0
0
-10
0
0
0
0
-1
0
0
0
0
2
0
0
0
-6
7
3
0
0
-2
0
1
0
0
-11
-2
0
0
0
1
5
0
0
0
10
22
3
0
0
-2
-18
0
0
0
26
5
0
0
0
1
28
0
0
0
8
-3
-10
0
0
0
10
0
0
0
0
-10
7
0
0
0
8
0
0
0
7
-13
4
0
0
1
-3
-3
0
0
-4
9
0
0
0
1
-6
0
0
0
1
13
10
0
0
0
-8
-3
0
0
1
-22
2
0
0
0
-7
2
0
0
18
42
10
0
0
-10
13
-2
0
0
-22
13
6
0
0
-12
0
-4
0
-12
-10
3
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
3
0
0
0
6
-2
0
0
0
-22
0
0
0
0
-4
29
0
0
0
1
-8
0
0
0
-22
-8
0
0
0
24
4
0
0
0
-4
1
0
0
0
-2
7
-1
0
0
0
-3
3
0
0
0
-1
0
0
0
0
2
0
0
0
-11
4
0
0
0
1
-1
0
0
0
25
1
0
0
0
0
-2
0
0
0
-6
0
3
0
0
0
-18
-3
0
0
-2
-1
0
0
0
-2
12
0
0
0
2
-2
8
0
0
2
6
0
0
0
-2
-9
0
0
0
-13
12
0
0
0
-5
-1
0
0
0
0
0
0
0
0
-2
2
2
0
0
1
-1
0
0
0
-1
-9
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
2
0
0
0
-2
-15
0
0
0
0
-6
0
0
0
-6
3
0
0
0
6
-12
0
0
0
-15
-1
0
0
0
1
0
0
0
0
19
12
0
0
0
1
-3
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
1
-2
0
0
0
1
0
0
0
22
-6
18
0
0
0
13
2
0
0
0
8
1
0
0
-7
6
-1
0
0
17
-24
9
0
0
-2
22
7
0
0
7
42
7
0
0
-6
4
1
0
58
27
-1
0
0
0
4
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
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
2
0
0
0
0
3
1
0
0
0
21
2
0
0
0
24
-4
0
0
0
4
-4
0
0
0
4
-3
0
0
0
-3
8
0
0
0
-17
2
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
-8
0
0
0
0
2
-3
0
0
0
-18
0
0
0
0
0
9
0
0
0
-1
-1
-1
0
0
-2
-4
0
0
0
-8
-3
1
0
0
-10
3
0
0
0
4
6
1
0
0
0
-3
0
0
0
0
-9
2
0
0
10
-11
0
-3
1
2
-19
-47
0
22
2
-29
-9
0
12
8
-8
22
0
18
1
14
21
0
12
-9
39
-23
0
-9
18
9
-39
0
8
-30
-19
-1
0
-14
48
34
45
0
-7
-14
19
-28
0
-4
-58
23
-6
0
-29
4
-15
-21
0
-13
-12
12
-3
0
-1
15
49
-10
0
-10
4
-25
-21
0
46
33
-11
-20
0
12
-16
-1
-2
0
-18
-20
13
2
0
-4
-18
47
-26
0
-40
-24
-75
7
0
-32
-11
-10
-6
0
-72
-41
25
-8
0
-13
52
-10
13
0
-1
-22
-6
-8
0
40
4
9
0
0
-4
16
-17
3
0
1
-32
-3
-1
0
5
7
13
3
0
-16
-2
1
-2
0
-12
17
-1
18
0
-8
22
9
-4
0
18
17
-14
1
0
-5
-3
-8
1
-18
-25
16
80
-13
0
21
-36
0
9
0
75
12
42
-4
0
36
12
-44
54
0
-3
-28
-45
2
0
-58
-20
1
11
0
14
35
30
-1
0
27
63
-64
2
0
10
-58
-10
-4
0
-84
47
-4
-17
0
-12
29
-32
0
0
7
10
-3
20
0
71
-22
7
49
0
-1
-66
44
21
0
44
50
-16
2
0
30
5
9
-6
0
8
-31
-27
17
0
10
-28
0
-41
0
4
23
20
-5
0
-11
-4
15
-1
0
6
-37
-3
-11
0
-9
-9
-21
10
0
25
-1
2
-8
0
-2
3
1
8
0
-10
22
-24
-2
0
-7
7
-3
1
0
3
9
13
0
0
19
28
5
3
0
4
-1
10
1
0
-24
-13
3
0
0
8
-1
21
0
0
20
-8
1
1
25
3
1
18
19
0
-10
-28
46
-26
0
20
-38
-21
7
0
44
2
27
-12
0
-58
-2
-5
-15
0
-26
21
27
22
0
-3
19
-10
16
0
-35
28
7
3
0
14
-3
27
16
0
-1
-9
14
-7
0
17
3
-42
-9
0
51
4
-12
-13
0
-8
-15
65
-12
0
24
12
2
12
0
-24
4
35
1
0
16
1
1
-1
0
-24
7
7
-22
0
22
33
-17
8
0
-6
-6
0
12
0
28
32
-18
0
0
3
-9
-13
6
0
3
-8
1
-1
0
0
35
1
9
0
-7
-10
-1
-3
0
-3
-4
-9
6
0
11
15
0
0
0
-37
-27
3
7
0
-1
-19
2
0
0
7
7
-4
-1
0
-3
0
-4
0
0
-8
3
8
2
0
6
19
8
0
5
10
-20
25
38
0
-13
71
-16
-3
0
23
-5
6
21
0
-32
14
24
25
0
-9
1
-4
3
0
33
9
38
-10
0
-30
20
-12
-4
0
-20
-1
31
-5
0
13
0
-17
-7
0
20
3
12
-8
0
-2
17
2
-10
0
21
1
-1
-18
0
20
-33
6
-26
0
12
1
-6
-1
0
-18
4
3
32
0
9
-2
10
1
0
-50
24
-26
-7
0
4
13
2
11
0
11
32
-6
1
0
-16
14
1
-1
0
24
3
0
0
0
3
0
-1
-3
0
-21
6
3
0
0
0
4
1
-1
0
19
-2
15
-1
0
27
3
0
0
0
7
-5
0
0
0
-6
-3
6
0
0
1
-1
-3
-1
0
-1
2
2
0
0
0
1
0
0
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
-8
-52
0
-34
-50
-31
30
0
-29
18
-2
-26
0
-7
3
17
-35
0
-14
11
5
-1
0
-4
12
-17
25
0
20
-50
2
-1
0
35
-22
-9
-21
0
4
15
-6
10
0
24
-35
64
-6
0
-68
36
-26
43
0
-60
-24
-16
-19
0
35
-15
-24
-1
0
7
48
9
6
0
25
-40
32
-19
0
-4
47
-19
-16
0
35
-9
4
-11
0
-10
22
0
16
0
26
-22
0
1
0
16
22
17
3
0
9
13
6
-13
0
-9
-14
-3
2
0
-7
-1
-32
3
0
-4
2
-7
0
0
11
-5
-2
-15
0
5
16
21
14
0
-16
-25
-11
-3
0
24
2
16
-2
0
12
13
3
-9
0
26
-1
-17
13
0
-16
-1
2
6
0
9
-6
8
0
-20
-50
66
14
43
0
-29
-8
45
-10
0
21
36
38
35
0
-5
16
26
-7
0
28
-87
-12
48
0
-3
-4
-28
-7
0
10
0
10
-11
0
16
15
-25
18
0
-24
-3
12
-49
0
-79
-17
-71
-32
0
28
-1
-4
-15
0
59
-2
21
0
0
-17
0
26
-33
0
16
1
-43
-6
0
34
-3
-39
4
0
-29
-14
-22
-7
0
-6
25
-26
11
0
-27
-16
-1
-6
0
0
11
-4
1
0
0
-7
-39
2
0
-7
7
-10
-3
0
-3
-28
-24
0
0
-7
7
10
-1
0
-11
-8
-19
0
0
-1
17
-8
-9
0
2
-18
10
-2
0
8
-8
-9
0
0
0
9
-16
0
0
20
2
11
-2
0
-11
-3
13
0
0
-3
8
1
0
0
-6
-15
6
0
18
-10
30
-26
-9
0
-15
35
8
0
0
-33
-21
16
-19
0
7
10
-49
2
0
-123
-11
33
30
0
29
0
-25
-3
0
-39
27
18
-18
0
42
-70
6
2
0
-22
-13
-51
1
0
20
22
-14
-10
0
37
-21
-17
2
0
17
-6
0
6
0
40
34
24
22
0
-5
2
-13
-8
0
20
-17
-2
-5
0
54
-19
18
-2
0
8
4
4
1
0
-1
-20
12
0
0
7
6
16
-7
0
0
8
0
-2
0
4
-9
6
-8
0
0
-8
-6
-1
0
0
-15
7
9
0
15
6
-18
0
0
-19
1
-13
-3
0
0
-10
1
1
0
7
15
-27
6
0
2
-1
-6
0
0
-17
-7
25
8
0
6
1
-2
0
0
-32
26
0
6
0
-3
13
-1
0
25
0
-50
-5
-8
0
-16
-20
-36
-3
0
-21
-4
6
16
0
-2
29
-4
0
0
-30
27
-15
-6
0
-2
-13
2
-14
0
0
3
-1
0
0
21
-10
-12
12
0
1
-22
-30
19
0
29
5
2
-20
0
-42
-15
33
13
0
-3
22
10
15
0
36
8
-22
-12
0
-24
-42
-4
24
0
-24
-29
37
-8
0
4
9
7
2
0
-2
4
1
-4
0
0
8
27
0
0
2
1
0
-4
0
12
3
3
-1
0
8
-1
0
-2
0
-4
6
6
0
0
11
0
1
-1
0
10
21
7
0
0
2
-2
3
-9
0
1
27
-3
0
0
-2
-3
-10
1
0
7
8
10
1
0
-1
-6
2
0
0
9
-19
-11
0
0
-3
-4
0
0
0
15
4
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
7
22
8
24
0
10
-19
-17
29
0
42
-17
-12
-4
0
16
-18
22
-6
0
-21
20
-23
-5
0
-17
-11
20
-6
0
19
-10
6
-2
0
3
-5
-2
1
0
6
10
-39
-8
0
-2
-13
6
0
0
-9
-1
-10
-9
0
-7
-7
3
0
0
-40
20
-19
-3
0
-9
9
-2
1
0
-14
18
11
8
0
21
0
3
-1
0
12
-1
19
19
0
-22
-17
-36
1
0
-22
16
-14
0
0
4
1
20
6
0
-46
11
19
-8
0
-3
-41
-1
8
0
-1
0
-5
-4
0
-4
-10
-10
1
0
-12
-21
-8
-4
0
-19
-4
4
-10
0
28
17
-14
9
0
2
4
17
3
0
-4
56
10
-2
0
7
-4
17
-11
0
10
4
-10
22
0
26
-10
-9
-1
27
5
11
-9
-12
0
-24
3
10
-12
0
-26
10
9
4
0
26
18
8
13
0
59
-6
-22
-13
0
-8
-19
-17
-2
0
19
0
-1
0
0
-7
0
28
1
0
-66
-16
29
-36
0
2
20
-26
-3
0
15
8
-8
0
0
-5
10
-6
1
0
7
3
-11
-2
0
6
12
1
1
0
-23
0
3
1
0
10
3
-2
0
0
-5
8
-7
-8
0
-3
-4
-33
10
0
-12
-5
9
-8
0
-8
-25
8
1
0
-3
12
-29
15
0
2
-10
13
-4
0
-14
-7
4
-7
0
6
-7
-16
-2
0
6
-1
40
7
0
-22
21
-15
1
0
9
26
6
-8
0
11
16
12
0
0
28
-19
-26
-9
0
-9
16
8
-3
0
16
19
4
-2
0
2
-3
4
0
-41
-11
21
-3
2
0
19
5
7
12
0
-5
14
-22
-34
0
-7
8
-1
3
0
-4
-5
24
-3
0
-8
2
-28
-1
0
19
5
-20
13
0
5
4
-5
0
0
-20
-2
29
0
0
3
-12
0
2
0
10
-10
-12
1
0
11
-19
-1
0
0
24
-13
-13
2
0
0
-1
1
0
0
12
-4
-10
0
0
-8
-4
1
0
0
9
-62
-23
6
0
-7
13
-10
6
0
3
-8
-13
13
0
9
13
2
0
0
2
19
-36
4
0
6
-11
-3
-1
0
-9
-12
-2
4
0
-7
17
2
-1
0
3
0
-13
9
0
4
18
-11
-4
0
10
1
1
-10
0
2
3
0
0
0
13
-16
8
-2
0
3
-2
-18
0
0
-7
-3
0
-2
0
13
0
-1
0
2
31
-3
2
2
0
-14
28
-6
-7
0
-11
0
11
8
0
-19
5
7
1
0
0
-6
2
-9
0
-10
0
15
4
0
-25
0
-5
2
0
-4
0
10
-2
0
-9
3
3
0
0
0
3
-7
0
0
-6
3
2
1
0
4
-10
-3
0
0
13
0
0
0
0
-1
-2
-8
0
0
18
3
2
0
0
2
-8
2
0
0
5
7
21
-8
0
0
16
-22
1
0
0
3
4
-2
0
0
0
5
6
0
-12
12
7
-3
0
2
13
0
-3
0
7
1
-2
0
0
-22
4
0
2
0
-1
10
-2
-2
0
2
-8
4
0
0
-22
0
4
0
0
-1
-21
2
0
0
4
0
8
-2
0
0
-4
-2
0
0
7
1
4
-1
0
-4
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
-2
11
35
-40
-8
0
28
-13
-20
5
0
1
2
4
-6
0
0
6
23
-7
0
26
10
-7
-11
0
0
6
-21
-1
0
-13
18
17
2
0
-1
-11
-7
1
0
7
12
-14
15
0
-6
6
26
1
0
55
6
-13
9
0
-29
43
1
0
0
15
9
15
-1
0
7
-13
0
0
0
-17
1
2
-8
0
12
12
2
0
0
39
19
-27
-13
0
11
-36
29
-9
0
10
-23
-11
11
0
-1
-2
-7
-4
0
-19
-15
18
12
0
3
-1
0
-2
0
8
8
32
2
0
-4
-2
18
-1
0
-31
11
33
23
0
-13
-15
28
15
0
-35
9
9
-23
0
-5
-23
-13
-7
0
-27
6
0
11
0
4
17
32
-3
0
-3
-4
4
-8
0
15
48
-13
0
15
4
-5
-39
-2
0
-14
10
6
3
0
-3
-1
3
0
0
8
-12
38
-2
0
32
-8
7
-2
0
1
12
13
0
0
-3
-6
0
0
0
0
-6
4
0
0
-11
13
-12
-6
0
-21
9
6
9
0
3
2
-15
0
0
5
0
0
-3
0
-9
12
4
1
0
10
-15
6
6
0
14
-2
6
-1
0
-19
-3
-7
-1
0
5
14
-40
3
0
-2
3
-6
-9
0
26
9
-5
-12
0
27
-14
10
0
0
12
-4
-4
10
0
-5
12
12
-3
0
19
-29
6
-7
0
10
-4
-2
-4
0
-12
3
-1
34
0
23
-18
-1
-12
0
-27
-7
14
11
0
3
-55
-3
-4
0
-21
0
0
8
0
-27
-2
16
4
0
-2
7
-26
8
0
-21
30
27
33
-10
5
4
17
-18
0
-1
11
-7
0
0
3
-7
-9
-1
0
-7
1
13
-2
0
0
0
11
-2
0
3
1
-21
0
0
0
-9
3
3
0
2
-10
2
0
0
-8
36
-10
-3
0
10
6
11
6
0
-1
-2
6
0
0
8
1
1
0
0
-45
19
-8
1
0
5
7
0
-2
0
10
6
-1
-11
0
-19
8
0
0
0
-20
-12
21
-16
0
-1
3
11
7
0
-11
-26
12
16
0
4
-2
0
-1
0
-1
-8
-8
-6
0
2
-10
11
7
0
-26
8
2
-3
0
10
1
-13
1
0
-5
2
-19
-2
0
0
11
-4
4
0
-4
-2
-3
-1
0
2
11
7
1
0
11
11
9
1
0
3
-15
2
6
0
6
-30
25
3
0
-8
6
-29
6
-41
12
-10
-8
4
0
-1
-12
39
-1
0
1
4
-3
0
0
0
1
11
0
0
-3
0
-3
1
0
-1
2
6
0
0
4
0
2
-4
0
3
6
3
0
0
-1
-2
1
6
0
1
4
3
0
0
27
10
3
4
0
-13
7
2
-3
0
6
6
-1
0
0
-10
-8
0
0
0
9
-3
-10
0
0
2
10
3
0
0
-10
-2
15
11
0
-6
6
13
-2
0
-15
-7
-2
-6
0
-8
1
-9
-10
0
4
-11
16
-1
0
11
4
-1
4
0
-19
0
0
0
0
0
22
0
-1
0
-9
2
16
8
0
9
34
10
6
0
4
-1
11
4
0
-2
1
-4
-2
0
-6
-25
10
1
0
11
21
-23
1
0
21
-20
6
3
0
12
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
17
20
-37
20
-18
32
-30
-70
19
36
-6
-16
-4
-32
56
-12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
30
-40
-30
39
-126
28
-59
19
5
12
-3
-40
24
-39
14
-57
10
20
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-43
3
-18
38
-8
-5
3
-26
-32
-13
2
25
17
-10
9
-23
-4
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
22
4
46
-11
-1
45
-22
-16
-6
-10
-54
-15
-32
48
-9
-36
4
-16
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-20
9
-35
-23
9
4
41
-28
8
63
47
-16
39
25
-46
8
-17
26
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-32
5
19
18
-3
-41
1
-4
3
13
5
-19
-24
47
-13
13
30
33
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-30
4
-34
22
-16
-75
3
11
-25
6
8
-26
1
3
39
46
12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-27
-7
27
-24
30
4
-6
-7
-8
8
-26
-16
-2
1
0
2
3
-25
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
59
-24
-52
-17
-4
25
33
-37
25
-2
-23
-2
34
-7
-12
-30
33
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
33
37
5
-55
60
-61
-63
-17
2
-34
-27
45
13
17
23
1
-8
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-12
-12
-48
33
11
25
30
10
3
29
45
-24
12
-6
-7
-19
-1
9
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
17
-27
-12
1
30
-16
-8
18
7
-17
-26
3
8
-2
14
19
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
18
0
27
0
20
-39
-13
27
13
36
40
-26
27
-27
3
17
12
5
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-14
-10
-18
-2
-15
-20
-9
15
-21
38
22
12
-11
-1
3
-4
14
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
1
-4
-5
3
19
27
-17
33
1
-12
-9
42
-21
-7
-3
17
12
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-7
1
18
1
11
0
14
2
-1
-27
4
13
3
0
-1
8
9
12
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
-8
8
-19
-28
19
42
-10
3
10
8
-4
38
10
-1
22
47
-14
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-18
42
-20
-40
2
37
-29
-18
-16
28
4
23
-8
58
-12
-52
9
-9
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
19
-24
4
-7
20
-6
-32
-22
-8
-50
-10
-9
18
2
18
-8
0
-39
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-9
16
-18
-9
-4
-8
-5
-18
3
20
-17
-20
0
1
6
-1
-3
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
46
-27
1
14
70
-8
-10
-51
52
8
133
-16
-17
30
0
10
14
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-59
-48
44
-9
-38
-40
-26
-33
-5
23
13
12
27
-2
-36
28
-20
6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
2
10
-20
0
21
-9
-22
-7
0
-8
-6
-17
-24
4
-12
-6
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-4
-24
13
2
-33
7
-2
-11
-4
-18
2
7
7
-1
-6
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
64
-11
4
78
4
32
27
29
-13
94
11
-2
11
-53
0
-25
56
13
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-48
4
10
-3
-16
21
-17
-6
12
1
-5
6
-19
-16
-2
14
15
-29
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-11
-1
1
-1
6
11
9
-2
-3
4
0
-25
4
0
1
6
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-18
12
-9
-3
1
8
19
3
0
-11
13
-8
0
1
2
9
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
52
-11
-22
17
-30
-19
11
28
12
-3
-13
5
66
34
9
0
0
-13
11
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-43
-14
13
12
2
16
-3
-28
-10
-21
18
2
-5
1
10
0
-1
4
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-17
13
32
1
1
-2
-3
-15
-1
-1
10
4
-11
12
-4
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
0
-4
0
-4
-8
0
-2
1
-3
4
2
-1
0
8
-21
8
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-3
-71
16
-10
-13
-24
14
36
52
-53
-45
-28
-12
21
13
-22
-26
-28
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
57
15
10
-29
5
-37
26
38
56
-46
33
43
-53
12
-2
43
-2
-14
-14
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-11
-13
4
-2
20
15
-1
1
-28
19
-12
10
-8
0
8
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
1
28
-7
-4
0
40
14
-8
6
25
8
-4
34
-1
-13
16
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-42
-23
9
37
-35
-23
50
-22
1
-44
14
13
7
-10
-13
3
32
11
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
15
-40
-54
-19
18
42
8
1
-5
-20
22
18
38
4
33
-9
-4
-16
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-6
-5
-6
0
-3
-11
2
1
-2
3
-8
2
-6
8
0
11
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-27
-11
5
-13
2
9
-4
2
0
-17
-41
16
1
0
-20
-6
-2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
3
-23
29
-7
9
49
14
-20
7
12
-29
-27
-3
15
-30
36
29
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
3
-48
-10
38
-8
-8
61
-30
15
-11
-7
6
-36
-45
-8
46
-81
53
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-16
-10
18
-10
17
5
0
3
-2
-1
-2
-6
-4
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
11
0
-7
3
-9
-11
-13
6
7
-2
-5
1
-7
-18
2
4
-3
16
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-21
-7
13
12
-3
-14
-6
6
6
44
-19
-6
6
-3
-8
24
-5
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
35
13
-13
4
14
-1
-38
-15
16
5
21
18
-3
0
2
1
4
2
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
3
-3
0
2
6
-4
-22
2
6
-4
-1
-4
-2
0
-4
8
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-18
2
2
-2
-6
0
4
0
-2
1
2
9
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
10
-9
-25
12
-18
-33
26
21
-21
-38
-37
15
2
10
3
-18
12
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
48
9
49
-18
24
-40
43
-12
38
15
-58
-36
-34
-47
0
28
-68
11
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
34
52
-21
-7
1
9
2
7
1
1
-2
-1
-11
4
-4
3
-3
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
8
13
5
-15
6
21
-11
-11
6
22
8
-33
0
3
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
-32
4
6
17
1
-28
18
-12
-14
28
17
-10
-10
58
-22
19
6
-10
9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
-16
-14
-2
-14
-36
-21
-9
58
-26
-14
9
14
-49
28
1
5
-13
10
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-12
7
7
0
-1
11
-2
-8
3
1
0
-1
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-3
-3
6
2
1
-13
7
-2
-6
-3
0
2
-2
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
7
-21
-17
-2
-1
12
1
8
29
9
-24
4
-4
3
-6
6
39
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
-57
-19
13
10
61
-63
18
-25
-12
-6
16
6
1
-27
12
-28
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
9
-9
0
0
0
4
6
2
0
0
0
-3
-2
0
-2
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-2
-1
-1
-2
0
-1
0
4
-2
6
-7
1
-3
-1
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-26
18
5
-6
6
-2
2
-28
-12
-4
-27
2
-13
0
-6
-3
4
7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-11
12
1
-4
8
61
-6
-28
10
-2
8
-7
2
-6
-1
-7
13
-7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
8
0
-1
9
-1
12
0
0
0
0
1
0
-3
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
8
4
0
0
-2
2
1
0
0
-2
4
1
0
0
1
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
14
-28
29
-24
13
30
-13
-17
-2
-47
1
7
3
-1
26
-37
-15
7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
17
-23
-40
-8
-16
44
-7
-12
1
-13
4
-44
-18
18
33
-3
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-21
-11
-10
-28
6
-10
64
18
-18
-5
20
1
-8
0
-4
-13
-9
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
3
-45
26
-40
-17
-19
5
29
26
-48
-3
1
-15
12
3
-40
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-13
16
-30
-1
-13
-8
-48
-6
2
-45
-24
12
12
6
-11
-4
-3
-19
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-61
-18
17
-17
8
24
3
-12
-11
-7
3
29
23
0
-8
8
-20
-2
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-9
26
21
7
-11
14
-2
-7
-15
8
34
8
-17
-11
-6
-7
9
16
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
1
-2
2
7
-17
23
-3
0
12
-1
-2
26
20
10
24
38
18
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
0
43
-1
-11
9
32
-14
25
8
1
0
-11
6
14
-8
3
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
7
-17
-2
-8
-5
12
-7
-4
-1
14
3
2
13
0
5
-4
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
21
3
28
-5
-9
-7
8
-15
-1
6
-28
-29
-4
2
-4
-3
7
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
27
-2
-16
-11
15
-27
-37
20
-2
-33
12
-19
-5
-9
2
-3
9
6
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
51
33
7
-9
-7
36
6
-2
10
1
-2
21
-9
-6
63
11
5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-11
-3
-15
1
33
-42
8
-1
-10
-18
18
0
-10
-1
3
-4
6
3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-6
-8
9
-6
1
13
14
-2
-6
0
0
-7
-6
2
-3
12
6
9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
21
28
7
-3
1
-12
-9
-3
-9
-2
1
-2
0
2
2
3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
30
-6
16
-27
-19
41
-32
-11
6
-5
-23
0
12
-9
1
0
10
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
52
38
0
2
36
7
8
-18
2
14
-21
-36
13
7
0
4
7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
29
0
-6
-8
-16
2
-11
-6
-8
19
-3
-3
3
-1
-7
7
15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-24
3
19
-1
-12
1
16
0
-10
12
-3
0
-10
4
9
-6
2
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-11
13
4
0
-3
36
-13
-8
0
4
-11
0
-13
-6
1
-4
-4
-3
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-12
10
-12
1
-4
-19
-15
-18
0
5
27
-22
8
0
0
-4
12
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-3
5
-24
-4
-3
-23
-13
11
3
0
1
4
-4
3
0
-1
6
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-7
17
-13
6
6
-7
-39
-6
0
19
2
7
-6
8
4
11
1
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-8
0
6
-9
0
3
-11
4
2
2
9
12
29
1
0
-3
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
9
2
7
-2
1
-7
-19
3
0
-8
9
11
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
2
-7
-23
8
11
-1
20
0
-9
1
0
-3
-4
-12
3
0
-11
3
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
2
2
-9
-1
-4
7
-7
17
-7
25
-22
0
7
2
-12
1
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
-13
-1
3
0
-13
9
6
9
1
-2
2
-1
1
0
1
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-10
-2
7
1
0
3
4
2
0
3
-2
22
-4
0
-8
3
3
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
12
2
-1
16
10
1
0
3
0
7
-4
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
-3
2
0
7
-1
1
-10
3
7
-3
0
0
4
1
1
0
-10
4
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
-37
23
-9
2
-43
21
-18
2
3
-3
-3
-25
1
0
-28
0
6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
36
-5
28
-2
-32
28
6
12
1
5
-26
8
-3
0
-13
-37
-4
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
13
7
9
13
22
-3
-5
-18
13
-32
16
-6
-56
0
9
-3
-1
16
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-39
68
20
3
-5
-5
21
-10
-5
-19
28
0
11
2
11
6
-3
40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
16
3
-9
0
-1
-7
-3
-2
7
0
-1
0
0
0
1
6
9
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
33
8
4
-8
15
-20
-19
-12
0
12
24
-10
0
0
-9
7
9
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
18
-3
12
0
-2
-3
-1
-8
-15
10
6
7
8
-3
1
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
9
-27
3
3
-1
12
29
-25
4
11
4
-1
-3
-8
-20
-27
1
22
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
10
-4
-9
1
-9
-13
-7
1
-1
28
0
8
-6
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
12
32
-8
22
4
0
-19
17
-13
1
11
4
-8
-18
2
-2
-10
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
10
3
-3
-16
0
-3
-3
4
6
-4
-1
-13
0
1
-7
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
5
-40
10
7
10
-14
25
-1
18
7
-11
-43
5
-24
18
4
-22
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
-16
0
0
-4
-12
-7
3
0
1
-1
24
0
0
1
1
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
3
-1
0
11
0
-2
-7
1
-3
2
-8
8
6
0
4
8
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
1
12
0
2
4
6
0
4
0
-2
-11
0
0
6
-7
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
-1
35
3
3
-3
14
4
19
7
6
2
-7
-9
-12
-1
2
-12
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
13
-4
0
0
3
-10
41
1
0
-4
6
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
13
-14
-2
43
13
9
32
-9
10
-1
2
-23
1
-1
-1
7
24
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
6
8
-15
3
-6
-30
9
1
0
1
6
-9
1
0
4
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
40
49
10
9
7
-6
-15
15
-4
-20
40
-10
18
-2
-9
-10
16
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
8
-2
-1
11
9
-6
2
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-13
4
1
-9
18
11
-2
17
0
-3
-6
6
0
4
9
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
-26
-12
-2
0
-2
13
22
-1
0
0
0
2
0
0
1
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
9
16
-1
-23
28
-11
24
20
11
6
8
32
-3
-10
3
6
-8
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
2
0
0
0
-2
3
0
0
0
-2
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
2
8
2
0
11
0
-2
-1
12
-27
-10
9
0
-1
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
6
6
0
0
3
4
2
1
7
17
-12
1
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
-4
7
2
19
2
-3
12
-15
-12
3
3
15
21
6
8
-3
0
0
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
-4
0
0
0
0
1
0
0
-2
0
0
1
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
1
-2
0
0
-13
-9
-2
0
-1
6
-1
-7
2
-4
7
-4
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
-2
0
1
0
0
3
2
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
9
3
0
-24
-2
3
1
-1
3
32
2
4
-4
10
-17
18
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
7
13
28
-5
-31
55
81
-39
22
17
10
60
11
-10
16
-17
15
25
-17
7
43
31
11
-1
-24
10
-5
-2
1
-12
12
4
0
-21
28
6
-26
6
28
-8
7
71
0
17
-31
3
32
-13
-33
23
16
-47
-72
-7
17
13
5
-39
3
-37
-98
-43
0
34
-14
11
-53
35
-16
14
-11
-30
-66
-3
-4
-11
2
-11
-10
-18
32
26
24
-64
23
-13
1
9
11
13
4
-2
-15
-2
-10
10
8
18
-8
-58
16
2
6
4
22
34
-14
12
0
3
-43
-12
-7
9
-4
-8
-9
0
0
45
-26
-5
3
5
15
-3
20
-9
-7
-2
21
15
-11
0
11
9
1
17
2
8
-27
0
35
0
3
7
10
3
-1
-12
0
-8
10
-4
0
0
0
-3
0
-63
28
24
-37
-2
-6
4
-16
5
-10
2
29
-9
60
-3
35
-1
-23
43
-5
23
10
-32
-8
0
-6
27
-50
-21
10
39
-20
34
16
22
-6
14
1
1
-3
-24
-30
-9
-26
-27
11
-9
40
-3
11
-16
-16
1
6
11
-3
23
-24
-9
1
-33
13
-33
6
-3
8
-8
-28
2
-14
6
-18
-1
7
0
-1
26
13
-6
3
15
3
44
-1
-22
-9
13
5
9
-10
-17
10
-18
14
8
20
-20
16
18
-10
-30
-3
10
-15
6
15
-11
1
1
4
11
0
-3
3
0
-1
-6
17
-2
-1
1
25
-13
-6
0
-13
-28
0
-1
7
12
15
2
1
1
10
11
-11
2
7
-1
15
-4
-11
-7
-8
0
0
8
2
0
-2
1
-1
0
0
-1
0
4
0
-11
-5
-9
61
54
16
-12
19
-55
-19
54
47
-5
10
21
45
-1
25
28
23
49
5
-3
-63
15
6
-14
-12
-4
-17
47
16
11
-4
3
0
-26
14
-1
0
-35
29
-33
2
-29
36
-41
1
4
0
25
-13
-2
-9
-9
13
9
4
-8
1
7
0
-38
-50
-24
-3
-20
3
7
15
2
-1
3
-19
12
1
2
-9
4
-1
-44
25
-5
18
-10
-20
-13
-12
27
0
-14
15
-18
-2
-4
-15
-1
4
-13
-1
-7
-22
-11
16
-19
4
-3
8
-8
1
-2
-2
-2
-4
1
-3
4
-1
0
0
4
6
2
-26
10
4
-7
1
-16
-11
0
-22
-4
-5
-1
0
3
-4
0
0
2
11
25
7
-1
0
2
0
-2
0
0
-1
6
-1
0
0
0
0
0
0
-11
-7
-1
-12
-4
40
-38
3
-39
3
-13
14
-10
-17
-6
28
7
13
11
9
26
-23
67
7
15
-10
3
-6
-17
15
-25
6
15
-4
-9
0
-10
1
-3
12
1
6
-18
-20
-7
0
11
-28
19
7
-9
3
-6
-10
-1
15
-1
-16
2
10
11
-6
-13
-4
9
7
11
-5
12
-1
-1
-21
12
-4
0
0
-4
-6
11
-1
18
-63
-13
13
2
23
-27
-18
15
-4
-10
28
-18
5
2
11
28
12
12
0
10
-8
2
12
2
-10
13
11
11
4
4
2
1
-1
0
-1
-12
3
-1
1
3
-9
1
-1
0
27
0
-2
4
0
0
0
8
-32
2
-1
1
0
0
6
0
-6
0
1
0
0
3
-8
6
0
0
1
0
0
0
1
7
1
0
1
33
42
-17
-22
-27
-31
-44
-89
74
18
-19
30
2
-2
-74
43
-37
-40
8
0
-48
48
40
-52
-17
27
-33
-13
45
21
-18
20
21
-60
18
-17
-7
-15
42
32
-3
16
-24
-1
36
-2
26
-21
-1
-11
-25
7
-22
-21
-14
11
-3
-2
1
11
35
40
6
-41
-10
14
0
-15
10
-4
-2
10
7
-22
4
-1
3
18
-1
1
13
-35
-12
-57
28
-22
17
16
7
13
-59
-7
14
-4
16
17
-3
14
13
1
6
40
6
8
-4
12
-21
7
-7
-6
-2
9
4
-9
-2
0
2
3
0
0
-21
-30
25
2
8
3
-8
8
11
0
0
-17
-2
-20
-2
1
6
-4
-2
0
-28
-16
-27
11
2
1
-8
0
0
1
2
1
2
2
-1
0
0
0
0
0
-6
-27
6
-12
11
49
-4
-47
4
-20
43
-16
12
12
-3
1
-11
12
-5
5
9
-4
23
12
19
34
-4
-16
-44
32
-15
39
0
58
60
7
7
15
25
-27
1
-9
23
-3
8
20
6
6
-18
-16
22
53
17
-9
4
6
22
-25
-22
2
-18
-30
-26
11
-11
-15
-14
-40
2
21
0
6
-21
-20
-8
-4
12
5
0
1
-15
14
-11
-9
0
-16
-20
-3
40
9
22
-16
2
10
0
-12
-7
5
12
-2
-9
30
10
-9
0
-2
8
-7
-1
1
0
7
4
6
1
1
-2
-1
1
0
11
-19
8
-6
-1
2
0
-24
-1
-4
1
4
-9
7
1
0
0
8
0
0
3
1
-1
0
0
-2
-6
-1
0
1
0
1
-8
0
0
0
0
0
0
0
-37
-37
-13
22
-68
-26
-2
-23
68
6
28
-36
-9
11
12
-7
25
28
-62
0
-52
-54
29
22
24
-22
13
65
-39
-4
9
1
10
28
-1
-9
-7
11
15
-11
15
32
6
-50
0
23
-27
-17
12
0
-27
-29
11
27
22
0
2
-27
6
-7
-18
35
-17
16
-10
0
-26
4
20
1
-11
27
1
-2
7
0
19
-11
13
1
-19
2
-10
-6
2
0
22
8
0
1
2
22
-6
-3
-1
-2
-4
-4
0
0
-3
-13
30
9
-1
0
-9
3
-1
0
-7
-11
-6
30
0
0
1
1
-3
0
0
4
-6
-2
0
2
-1
0
0
0
1
0
-1
-3
-1
0
0
0
0
0
1
-2
3
-11
0
0
0
0
-2
0
3
1
3
-1
0
0
0
0
0
0
13
-66
6
-3
9
-43
-18
9
-8
11
-36
-10
13
3
0
-22
-12
23
12
-19
3
51
-21
84
-8
32
4
-35
26
4
2
44
-11
-13
-20
-1
-15
96
31
-4
8
42
-1
11
1
-7
1
13
-5
13
-7
8
33
6
-6
0
13
-4
-10
1
2
87
13
-4
3
6
32
-21
25
17
0
2
7
32
1
0
-7
2
-19
-5
3
-19
5
-8
-2
-11
0
10
-8
2
8
12
7
-1
2
2
-2
3
-3
0
0
0
0
0
-3
10
-22
2
7
-1
0
7
-1
0
0
0
1
4
-1
-2
0
3
-1
2
-1
0
0
0
0
2
0
-10
0
1
0
-2
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
1
0
0
3
25
27
25
17
-1
-12
22
54
-17
21
-5
-3
-41
35
-22
17
55
-14
-29
-14
1
40
-47
-45
-24
-84
44
-17
-3
-2
36
-38
7
25
22
-2
-1
-3
12
-22
40
-81
-10
38
30
3
41
-34
0
17
-1
-55
14
0
6
-22
-20
13
-3
7
4
43
18
13
0
-14
-8
13
-19
8
-7
-24
-26
2
-17
-21
-10
-13
-15
-11
17
6
5
-2
7
12
9
-6
-8
-3
-9
-8
-5
-8
0
-1
-1
6
-4
0
-11
-2
-10
-14
1
8
-10
3
-3
1
-6
-8
-13
3
0
0
3
0
0
-1
-1
-13
-6
15
2
0
38
-1
-1
0
2
-8
0
-11
0
0
1
0
-6
1
-7
9
-8
-7
0
0
0
0
8
0
0
-3
1
1
0
-1
-1
0
0
0
-13
-16
-40
-30
26
41
64
-6
-25
-19
-28
42
21
-27
12
-34
3
17
-1
-7
8
-7
33
16
-16
27
28
24
-7
-32
22
5
0
32
8
6
-2
4
-30
10
-18
0
0
-2
33
-27
2
11
-21
-6
-15
-1
-43
42
-3
-1
18
26
15
-8
13
-16
19
-64
-16
-45
7
7
6
-57
7
52
34
12
17
6
-4
-22
-42
-10
-45
-3
-1
1
0
-1
9
0
-1
0
-2
0
-1
0
-2
0
3
0
-1
0
17
6
2
0
-1
1
0
-8
7
0
0
6
0
1
0
0
0
1
0
0
-2
27
2
4
0
0
2
-1
7
0
0
2
-3
0
-2
0
1
0
0
0
0
1
-2
-3
0
1
2
3
1
0
-4
0
0
0
0
0
0
0
0
0
-108
12
-1
11
24
67
8
5
-36
-9
2
-61
8
-5
-7
-5
22
-20
-6
-12
-22
-36
2
-16
-18
-7
-17
18
-20
4
-5
0
9
-12
-16
7
10
-15
2
2
36
41
-38
28
-43
-23
1
-5
12
-15
20
-33
-6
33
4
1
-1
-6
-9
2
27
-37
-13
7
-18
7
-26
-1
35
13
2
21
10
0
9
-10
16
-10
-1
4
6
-20
21
-10
-2
2
-15
6
3
0
10
0
-3
-3
-1
-24
0
1
3
0
-6
0
28
0
0
3
-1
-2
2
0
-1
1
0
12
0
0
0
0
0
0
-8
-1
7
3
0
0
4
1
0
0
0
-2
0
2
-2
0
-4
0
-1
0
-3
-3
4
-1
0
0
2
0
-1
0
0
0
2
0
0
0
0
0
0
0
-12
1
-23
14
3
-20
34
38
43
8
12
-32
3
5
8
4
-2
17
52
-3
19
-2
-29
-45
-6
9
12
-26
7
4
3
29
5
-11
-1
2
9
13
-6
-2
4
25
-22
10
-1
15
-17
-40
10
11
-2
39
-27
-38
-11
3
4
-24
16
-3
-21
-6
22
9
-11
2
28
19
21
10
-2
7
-8
-10
0
0
-6
0
1
7
-16
-9
0
15
2
-11
0
4
-2
0
0
0
0
3
-1
0
0
-2
-1
-1
-2
0
1
2
0
0
-3
-4
-3
0
0
0
1
0
-1
0
0
0
7
0
0
3
0
0
1
1
0
0
0
-1
0
2
-3
0
-1
0
1
0
0
0
0
0
2
1
0
0
0
0
0
0
0
-2
-2
0
0
0
-1
1
0
-1
-19
18
-45
-20
9
22
-56
-7
39
-6
-2
-60
9
9
-3
-2
-21
2
-10
0
12
-18
2
15
0
-32
15
-34
-13
0
4
1
2
0
-2
-2
2
-3
6
0
-26
-26
57
26
7
-1
-5
5
7
-8
-7
2
10
-27
35
13
9
-4
-8
4
-7
-5
6
-13
0
-13
76
25
9
-12
9
-29
26
24
-18
8
3
-7
-12
-12
2
-12
-10
0
1
-2
24
-3
-2
1
10
-3
2
2
0
-1
2
0
0
0
7
-8
-13
-6
0
2
-9
11
-1
0
-1
-2
0
-2
1
0
1
-2
2
0
-29
6
7
0
0
1
-8
-8
0
-1
4
0
3
-2
1
0
0
1
0
0
-8
22
-7
0
-3
0
9
-1
0
0
0
0
1
1
0
0
0
0
0
0
16
-9
-2
-13
0
21
-19
-28
-28
1
44
37
6
-3
-1
-1
4
2
10
1
-10
-51
15
-41
3
-3
6
-24
4
0
1
-2
0
-10
1
0
-3
9
-3
0
2
48
-81
16
-8
25
37
1
11
-27
-18
37
-23
0
7
6
10
-7
-34
11
8
2
7
13
14
8
-75
50
-15
11
8
-2
42
-10
1
6
3
7
30
-1
-1
-15
-1
4
-1
1
7
1
-1
-2
0
-1
0
0
0
-2
-1
0
-1
0
-6
6
1
-2
0
-1
-1
-4
1
0
0
-3
0
0
0
1
1
1
0
0
0
2
2
-2
0
-1
0
2
-1
0
0
-4
0
0
0
0
0
1
0
0
0
-4
-2
3
0
1
1
0
1
0
0
0
0
0
0
0
-1
0
0
1
0
12
-13
-26
-3
-4
-28
8
-3
-2
10
-11
0
3
0
4
4
4
6
0
8
-3
4
-19
4
15
0
5
18
-1
0
12
34
-19
-3
2
2
-4
16
0
9
-27
29
-11
-12
-1
55
7
3
-7
-3
37
-19
-12
-10
-1
-1
20
35
0
18
-46
-6
2
-4
-10
79
-4
-22
-2
-1
-23
0
-4
-1
-6
26
-4
-22
15
0
-11
-2
-3
0
0
-1
0
-10
0
1
-9
-1
0
0
-2
0
0
0
0
1
6
0
-1
0
0
0
-3
1
0
0
-4
7
2
1
0
0
0
0
0
0
3
-1
0
0
0
0
0
1
0
0
1
-1
0
0
-1
0
0
1
0
0
0
3
0
0
0
0
3
0
0
0
0
2
0
1
0
0
0
0
0
17
0
-23
7
-15
9
-24
-38
-13
7
-9
-16
9
-1
0
-1
-2
11
2
1
-11
-8
-38
4
0
4
28
0
10
-8
7
0
-22
4
0
0
0
6
-1
-1
-7
27
-11
3
18
-6
11
1
8
-2
6
49
2
18
-3
0
-2
20
8
-8
10
8
45
22
3
0
-38
-8
-14
-9
0
-2
26
-24
3
0
-61
23
17
23
2
9
-1
-4
0
1
-6
1
0
0
0
1
0
0
0
0
0
-3
0
0
-3
0
0
1
1
0
-2
0
0
0
0
-1
0
0
0
0
0
2
0
0
0
-2
0
1
0
0
0
1
0
0
1
0
0
1
0
1
0
0
-1
0
0
1
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
-1
0
0
-29
22
-51
-13
3
8
-45
-15
23
-24
50
-29
10
-49
15
-17
13
-18
10
-1
55
6
6
-13
0
-5
-13
-9
7
1
4
5
0
-7
1
-2
0
-18
-4
0
43
-4
14
20
-1
-12
15
-7
26
1
0
-4
-2
22
-6
-24
6
6
2
0
0
19
-11
-4
-9
10
-8
-19
7
4
6
1
-4
-4
0
0
0
2
1
0
-42
49
-8
5
-24
-26
-4
34
-12
22
-8
-2
-23
15
-2
10
-28
3
-3
-1
31
11
5
-18
-14
-15
-3
-14
-13
-4
-7
0
-4
-4
-6
0
0
-2
9
0
12
37
-12
5
-3
20
50
-7
-4
6
-2
3
-4
0
4
-13
-7
-15
3
0
20
-10
6
11
-3
-15
-12
11
1
3
2
-7
11
-3
2
-3
0
0
-10
0
-19
-79
38
18
25
-9
5
-1
-13
-1
-12
3
-15
8
8
27
-4
-3
30
3
-11
-7
-2
-5
-2
-4
0
0
1
4
3
0
-1
-2
-6
-6
0
-1
-2
0
5
-11
-17
-1
1
-29
-17
2
2
1
2
2
32
3
-1
11
2
1
3
0
2
24
10
-2
2
3
0
1
2
2
-2
-3
-10
-1
0
0
0
0
0
0
-8
21
14
-3
0
-15
-6
-4
-8
0
12
9
-1
5
-3
19
17
11
0
-1
19
5
15
8
-4
-11
-2
3
6
1
-4
4
-8
8
0
-2
0
0
4
0
-6
-16
11
9
-6
34
-18
-9
11
3
-3
-8
1
10
-3
16
-13
-1
7
-2
6
-6
13
6
-1
10
1
-4
2
0
-4
4
0
-3
-1
0
0
0
1
0
16
-1
13
27
1
-17
-9
8
3
0
9
-1
1
-12
-3
16
4
0
-1
0
-14
-2
3
-9
0
-4
4
7
0
0
0
10
15
6
-2
0
-12
1
-3
0
43
-18
2
0
-2
-6
8
7
2
-1
-26
8
12
8
8
0
6
1
1
0
-1
-2
24
-3
0
-1
0
0
0
-1
-1
0
-3
-1
-1
0
0
2
0
0
3
-60
17
-12
5
-13
6
-4
-3
0
-27
12
-10
6
-3
-2
2
9
2
0
21
-32
2
-2
1
-4
0
-1
0
0
-10
0
6
16
0
2
-1
1
4
-3
18
-3
16
15
1
0
13
2
-1
-1
-20
10
-9
-1
-7
-9
2
-1
2
-1
-2
-1
0
-16
0
9
1
3
0
0
-1
-7
8
11
0
0
-1
-2
10
0
-4
-20
-4
-1
-1
2
0
0
0
0
-3
-16
-10
-1
0
-1
18
-4
-2
0
1
-4
7
0
0
1
1
19
2
2
-1
1
-2
2
0
-1
0
-3
-7
-3
0
1
-3
0
0
0
-21
-1
-6
0
4
-9
-4
0
0
1
3
0
2
0
0
-2
2
0
0
0
0
1
-1
-2
0
0
4
-1
0
0
0
0
-3
0
-4
7
-1
1
1
13
8
3
-3
0
-2
-6
-4
2
3
0
6
-8
-11
3
0
0
8
-1
-4
2
-2
3
2
0
0
0
-1
0
0
0
0
-1
-3
0
-2
8
0
0
0
-7
3
1
-3
0
0
-6
2
2
0
3
0
0
2
1
-3
-6
-2
6
0
8
16
-2
1
0
0
1
7
2
0
0
0
1
-1
-2
-54
58
-27
-15
11
-7
2
-20
-19
1
2
13
0
2
3
-12
9
1
-2
0
43
7
12
-14
-4
-8
8
10
-3
0
-4
-4
-5
0
-1
0
-10
0
0
0
-10
-2
15
3
-1
-1
2
3
-3
-1
2
-2
-28
-1
-1
0
0
2
1
-1
4
22
-11
-8
0
0
-6
-1
1
0
-1
-1
-2
1
0
0
1
3
0
0
13
11
35
-13
0
-14
25
44
3
12
9
-33
5
-39
-9
-11
6
22
1
-1
18
12
-30
-1
-16
-6
-29
-5
-2
1
6
-1
6
-13
1
0
0
0
0
1
17
-2
10
7
-1
-7
6
-6
0
0
-8
21
-3
4
-12
0
-6
0
0
-1
20
12
-6
18
1
17
0
17
-12
3
-1
6
16
-8
-1
0
0
0
0
-1
11
-34
-23
-23
5
52
-39
15
-3
0
-18
1
-7
10
0
21
0
12
9
-3
3
-2
-16
6
0
-2
-1
-10
1
0
0
-7
-1
1
0
0
-1
0
-1
-1
-2
15
3
0
-1
-8
2
1
0
0
-3
0
4
-15
-1
0
-1
-4
4
0
3
0
7
0
0
0
6
0
-6
0
3
1
0
0
0
0
0
1
0
0
3
3
-24
17
-9
-16
23
6
2
1
13
-1
28
4
0
-6
24
-34
6
1
0
4
-7
-4
2
0
22
2
-12
-1
-1
-6
12
-4
-1
1
-7
1
0
0
-2
4
-9
-1
2
-17
3
-3
-2
20
-11
-2
1
0
0
3
-2
1
-7
1
-7
13
3
11
2
3
-3
-4
0
-1
-1
1
-2
-1
-1
0
-6
1
1
-1
9
-19
3
-1
-2
-17
21
1
-2
0
9
-10
4
-1
0
-4
-3
-2
0
0
19
12
-13
0
0
1
2
2
-1
0
0
6
-1
-4
0
1
1
0
1
0
-4
0
0
-1
0
-2
1
3
0
0
2
3
3
0
0
0
-3
-1
0
0
1
2
-1
0
1
0
0
0
0
0
-2
0
-1
2
0
0
0
0
1
0
13
14
12
-9
-1
0
-19
-2
7
0
0
3
4
18
1
0
-2
-1
2
0
37
-9
-8
0
0
1
1
-13
0
0
1
-6
2
-12
1
0
-2
-1
0
0
-6
21
-4
-2
-3
0
2
0
1
0
0
3
1
7
-3
0
0
8
7
0
-2
-2
7
3
0
0
-3
-6
2
0
-2
2
4
0
2
0
0
3
-1
0
1
-6
0
-6
0
1
-1
3
-3
1
0
3
3
-4
0
-1
0
7
-9
1
-3
12
-1
0
0
0
8
-8
1
0
3
2
0
1
0
0
0
0
2
0
0
2
0
0
0
1
-2
0
-1
0
1
0
-1
0
0
-1
-3
0
-1
0
0
0
-8
2
1
0
0
1
-2
0
0
4
0
0
0
0
-1
1
0
-3
0
-2
1
-2
0
1
-1
2
-6
0
0
2
1
13
1
0
1
0
-2
2
0
-18
2
-2
0
0
2
13
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
1
2
0
0
-1
-1
-1
0
0
0
7
0
4
0
0
0
-1
0
0
0
0
0
0
0
0
-6
0
0
0
-2
0
-9
1
0
-2
0
0
-2
-19
-47
9
17
15
-7
-7
-1
11
-2
-26
-1
-16
6
0
0
3
10
2
2
3
-44
0
-3
2
-15
2
-11
3
0
0
0
0
-10
0
0
-3
0
1
0
-13
21
-6
-5
0
27
-7
8
1
0
3
-2
1
-6
0
0
3
1
-2
0
-23
-8
4
24
1
-2
1
-8
-4
0
-1
-1
0
-1
0
0
0
0
1
0
35
-12
-29
25
2
0
8
6
-15
2
0
6
0
-7
1
0
-4
9
12
0
11
-5
7
-8
0
-2
8
32
-27
-4
1
-11
-18
-2
0
-2
0
-1
-1
0
-9
-27
-5
29
7
-7
4
15
5
3
10
16
-2
9
4
6
-9
-6
-7
0
10
18
-27
-3
2
3
-9
-1
-1
-11
-3
-3
10
15
-3
0
-1
2
-1
0
3
-26
12
12
0
0
0
7
4
0
0
2
0
-3
0
1
-2
-4
0
0
-7
4
-8
-1
-1
0
0
-1
-2
0
0
2
-2
0
0
0
0
0
-1
0
-7
1
12
0
2
-10
2
4
-2
1
-2
2
1
0
-1
0
0
-1
0
0
-8
-2
7
0
-1
-1
0
1
0
0
1
0
0
0
0
0
0
0
1
0
11
6
11
-15
0
-4
2
-21
-9
0
0
6
-8
1
0
0
3
-2
4
0
1
-7
-7
9
1
8
-3
0
-6
0
0
3
0
1
0
0
1
0
-2
0
-3
7
10
17
6
2
1
7
4
0
0
6
0
10
-1
-2
-16
1
-7
4
1
17
16
8
6
-1
0
12
20
-6
0
11
0
2
2
0
3
3
-9
-1
-42
11
-2
-8
0
10
1
-8
6
0
7
3
-1
0
0
-1
0
-2
3
0
9
10
-2
4
0
0
0
-1
0
0
-1
-2
1
0
0
0
0
0
-2
0
7
15
-12
-1
1
1
3
-1
-1
0
-1
-2
1
0
0
-1
0
0
0
0
3
3
-6
2
0
-2
0
-1
0
0
0
0
3
1
0
0
0
0
0
0
30
0
-36
-25
-15
2
-25
6
-2
0
-1
-3
5
3
1
0
0
3
0
0
1
10
-2
21
0
0
3
-3
-2
0
1
0
3
20
0
0
0
1
0
0
-42
12
-5
-13
7
4
19
18
-12
2
-2
10
-3
-2
0
-3
3
6
-1
0
3
4
-12
18
3
3
-2
4
10
0
8
-1
24
15
0
0
0
1
-7
0
-2
-3
6
0
-1
0
-2
0
0
0
0
-1
-1
0
0
1
0
0
-3
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
-2
0
-1
0
0
0
0
1
0
1
2
0
0
0
1
1
-1
0
0
0
1
0
0
-1
0
1
0
0
2
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
9
7
0
-1
1
3
0
0
0
0
-10
2
1
1
1
9
2
-1
0
0
-1
-9
9
-2
0
-2
-7
-10
-1
0
0
-1
4
-1
0
-2
-1
-3
0
-1
-11
9
-11
-2
0
4
12
3
0
6
-4
-11
-12
3
1
0
-11
3
4
0
7
12
8
0
0
3
9
2
-2
0
-2
3
-2
6
-1
9
-3
7
0
1
-33
13
-30
0
1
4
1
0
0
0
-2
-1
-2
0
2
-1
0
0
0
-6
11
-2
-2
-2
-2
0
-4
0
0
-1
-6
-1
1
0
4
0
0
0
0
4
6
13
1
1
-1
1
0
0
1
0
9
2
2
0
0
2
0
0
0
0
-2
-11
10
0
-1
0
0
0
1
0
4
1
0
0
0
0
0
0
-1
-2
-17
6
-14
-3
-3
0
-12
-13
-1
6
3
0
-1
-3
0
-7
6
0
0
4
21
4
-6
1
0
-3
6
-5
0
-1
0
-6
0
-2
2
-1
0
-3
0
2
1
11
15
-3
11
-8
-17
1
1
0
-4
-10
5
0
0
9
17
-4
0
3
8
-3
9
24
0
-8
53
1
1
0
10
-13
10
-4
0
3
10
12
6
-12
-9
-1
-3
0
-1
-2
1
0
1
0
1
2
0
0
0
2
-2
-1
0
0
-2
-2
1
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
7
0
0
4
22
0
0
0
10
-1
0
-2
0
-1
-6
0
0
0
-2
0
-4
0
0
6
1
4
0
0
0
1
7
-1
0
1
1
-3
1
0
0
0
1
1
1
-18
-18
-7
2
2
-3
1
0
0
0
-7
-6
-1
1
0
-3
2
4
-2
0
6
1
4
0
0
6
-19
-2
0
0
0
1
4
1
0
0
-2
0
0
2
-2
12
-15
0
-1
7
2
3
1
0
4
-8
-18
2
0
4
9
-3
4
0
-12
19
13
0
0
7
0
12
-10
0
3
-2
18
-1
0
1
2
-10
2
-1
9
-4
-9
-1
0
1
1
0
0
0
2
4
1
0
0
1
-1
0
0
0
-10
-1
0
0
0
0
1
0
0
0
0
3
0
-1
1
0
0
-1
0
0
1
-1
-6
0
0
-3
0
-4
0
0
4
-2
2
-3
0
0
1
0
0
-1
0
4
7
0
0
0
4
0
0
-1
-2
6
-2
0
0
0
2
0
0
0
-15
21
-4
0
0
0
-1
8
0
0
-1
4
-6
0
0
-2
0
-9
0
0
11
2
0
0
0
3
-1
0
0
0
1
-6
3
1
0
1
0
1
0
0
-11
2
12
4
2
0
-9
10
-3
0
4
6
-2
0
0
-3
-3
1
0
0
11
1
37
0
-1
1
15
4
0
0
1
-35
4
0
0
1
-1
9
0
0
1
1
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
1
-1
0
0
0
0
0
0
0
-1
0
0
0
0
-1
1
0
0
0
2
-6
0
-4
0
1
-1
1
1
0
-4
1
0
0
0
7
3
0
0
0
-1
-1
1
0
0
0
0
1
0
0
1
2
1
0
0
0
0
-1
0
0
-4
-21
0
2
0
0
-4
0
-2
0
0
-1
1
0
0
0
1
3
0
0
0
3
3
0
0
-1
1
-3
0
0
0
0
1
0
0
-1
1
0
0
0
-6
12
-3
-3
0
-1
2
-2
1
0
0
0
9
0
0
0
6
-3
1
0
2
-1
-8
-3
0
0
-2
-1
0
0
-1
2
-6
2
0
-2
-11
4
2
15
27
11
11
-43
13
0
8
-12
0
0
0
0
3
7
-70
9
-6
0
-12
0
-1
6
-11
48
-10
3
0
0
0
1
-1
-19
-5
-47
-1
-8
1
0
0
6
-8
-32
8
6
0
0
0
1
2
-51
68
12
-4
0
4
0
0
0
-7
-11
3
3
0
0
0
0
2
8
-53
-4
5
3
0
0
0
4
23
11
-2
0
0
0
0
0
-1
-38
-11
15
0
0
0
0
0
-7
-3
61
0
0
0
0
0
0
0
-15
17
6
0
-2
0
0
0
-1
-27
2
3
0
0
0
0
0
0
11
-6
13
0
0
1
0
0
0
-3
95
-2
0
0
0
0
0
0
0
-17
-15
0
0
0
0
-1
-1
40
-47
0
0
0
0
0
0
-4
8
2
0
0
0
1
0
0
0
-5
35
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
-2
3
-34
0
0
0
0
0
0
1
16
-14
0
0
0
0
0
0
0
-18
9
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
2
14
-10
0
0
0
0
0
0
1
-32
18
0
0
0
-4
0
0
0
-4
31
0
0
0
0
0
0
0
1
-14
0
0
-1
0
0
0
0
30
-25
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
1
-24
0
0
0
0
0
0
0
0
15
0
0
0
0
3
27
-3
-3
22
-4
5
0
0
2
0
-4
-15
-7
-2
15
0
0
0
1
1
2
-9
-14
1
0
0
1
1
0
21
3
-9
-9
0
0
0
-1
3
-12
-7
9
-5
0
0
2
0
-8
-2
30
1
28
0
0
0
-1
0
-4
0
8
5
0
0
1
4
2
10
18
-6
3
0
0
0
0
0
-6
3
14
0
0
0
1
3
0
3
-36
38
0
0
0
0
0
0
17
52
8
0
0
0
-2
1
-1
0
29
6
0
0
0
0
0
0
-6
32
12
0
0
0
0
0
0
4
60
-6
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
-1
18
3
0
0
0
0
1
0
-17
-20
0
0
0
0
0
0
0
14
-9
0
0
0
0
0
0
0
0
43
0
0
0
0
1
-1
0
-4
4
0
0
0
0
0
0
0
-45
40
0
0
0
0
0
0
0
-16
-14
0
0
0
0
0
0
0
-1
41
0
0
0
0
-1
0
0
0
10
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
-13
-36
0
0
0
0
0
0
0
-1
-13
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
-6
-6
18
67
20
-5
0
0
-1
3
21
-28
13
-23
-13
0
0
-1
0
-9
-15
7
9
4
0
0
0
-1
1
-16
17
1
2
0
-10
0
0
0
12
-22
6
3
0
0
0
0
4
2
27
8
1
0
-1
0
0
7
10
29
-34
0
0
0
0
0
1
1
35
-1
5
0
0
0
0
10
-32
-19
-1
0
0
0
0
0
0
2
-32
-5
0
0
-4
0
0
1
15
1
-9
0
0
0
-1
0
1
1
-18
10
0
0
0
0
0
-1
-39
-15
15
0
0
0
0
0
0
0
2
12
0
0
0
0
0
1
-3
-23
-13
0
0
0
0
0
-2
0
-8
19
0
0
-1
0
0
16
-5
3
0
0
0
0
0
0
2
-11
25
0
0
0
0
0
0
0
9
-6
0
0
0
0
0
0
0
-7
21
0
0
0
2
0
-1
0
-43
27
0
0
0
0
0
0
0
-6
16
0
0
0
6
0
0
-2
0
-9
0
0
0
0
0
0
0
1
45
0
0
0
0
0
0
0
9
3
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
-12
26
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-10
2
0
0
0
0
0
0
0
0
-10
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
-3
0
0
0
0
3
9
18
-21
42
-20
6
0
0
2
0
0
-6
-37
19
29
0
0
0
0
-4
0
-29
-50
8
0
0
-6
0
1
28
-7
-54
6
0
0
0
0
-2
2
-11
34
0
0
0
-3
-2
-1
-1
-6
-15
7
0
0
0
0
-3
16
2
-17
-8
0
0
-8
-2
2
8
1
-1
-2
0
0
0
0
7
-36
21
23
0
0
0
0
0
0
15
13
5
0
0
0
0
-1
0
1
9
-22
0
0
0
1
0
6
-4
13
-5
0
0
0
0
0
0
1
5
-10
0
0
0
-1
0
0
0
-13
16
0
0
0
0
0
0
0
-2
15
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
16
-44
0
0
0
0
0
0
-3
-18
41
0
0
0
0
0
0
-2
-11
-3
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-3
29
0
0
0
0
0
0
0
15
-30
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-9
39
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
17
2
0
2
-24
1
-7
6
-22
0
0
0
0
2
15
32
3
-28
0
0
0
0
-1
15
-16
-24
-8
0
0
0
0
0
-7
5
-11
2
15
1
0
0
-7
10
-24
6
2
0
0
0
0
1
0
-3
20
-9
0
0
0
0
0
11
48
-7
3
0
0
0
0
0
0
3
0
-1
9
0
0
0
0
3
10
7
0
0
0
0
0
-2
-29
35
-5
0
0
2
0
0
0
16
38
2
0
0
0
0
0
1
1
14
0
0
0
0
0
0
7
-2
1
7
0
0
0
0
0
0
0
-44
15
0
0
0
0
0
0
3
14
-2
0
0
0
0
0
0
-1
9
-6
0
0
1
0
0
-2
14
-31
0
0
0
0
0
0
0
4
1
0
0
0
-1
0
0
0
2
-22
0
0
0
0
0
0
0
0
32
0
0
7
0
0
2
3
4
-20
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-3
42
0
0
0
0
0
0
0
-2
1
0
0
-1
0
0
0
0
-40
41
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
7
-43
0
0
0
0
0
0
0
0
8
0
0
-11
0
0
0
0
19
-32
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
1
15
-8
4
-35
0
0
0
-6
0
9
15
-3
-26
0
0
4
0
8
-20
135
16
-11
0
0
1
3
0
-4
-37
26
0
0
0
0
0
0
-1
74
6
-14
0
0
0
0
-2
0
-51
9
-9
0
0
0
0
0
0
14
-9
-7
0
0
0
3
0
0
11
15
3
0
0
0
0
-12
-7
39
8
0
0
0
0
0
0
-12
67
6
0
0
0
0
0
0
-6
99
2
0
0
0
1
0
0
8
66
-15
0
0
0
0
0
0
2
-35
5
0
0
0
0
0
0
0
17
8
0
0
0
0
0
0
0
-28
6
0
0
0
0
0
0
0
1
-6
0
0
0
0
0
6
-8
1
0
0
0
0
0
0
6
-6
-30
0
0
0
0
0
0
-15
-10
54
0
0
0
0
0
0
0
-4
-19
0
0
0
0
0
0
-2
1
-17
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
2
3
-26
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
-26
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
0
0
2
0
0
0
15
-2
-1
-1
0
4
0
7
0
0
0
0
8
1
-3
-14
6
0
1
0
0
4
-8
19
-32
-5
0
0
0
0
2
2
-17
-68
5
0
0
0
0
0
-7
30
-29
13
0
0
0
0
-1
-1
0
-10
16
0
-15
0
0
0
-16
-19
-6
4
0
0
0
-1
-1
0
-3
-14
2
0
3
0
0
-9
-7
-22
6
0
0
0
0
0
0
-3
-27
1
0
0
1
0
0
0
6
-38
9
0
0
0
0
0
-1
1
19
-11
0
0
1
0
0
0
0
7
-23
0
0
0
0
0
0
-1
4
-23
0
0
2
0
0
0
0
4
1
0
0
0
0
0
0
0
-3
-19
0
0
2
0
0
-4
4
-14
0
0
0
0
0
0
1
9
7
0
0
0
-2
0
0
0
-13
-2
0
0
0
0
0
0
0
0
-2
0
0
0
-8
0
0
-1
18
1
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
10
-4
0
0
0
0
0
0
0
0
4
0
0
0
2
0
0
0
-1
27
0
0
0
0
0
0
0
-2
12
0
0
0
-1
0
0
0
0
18
0
0
0
0
0
0
0
0
-10
0
0
0
7
0
0
0
1
2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-3
-13
10
25
6
3
0
0
0
-1
-8
-6
11
-50
0
0
0
0
0
-7
2
-19
-15
-8
0
0
-8
-1
0
0
-2
-18
2
0
0
0
0
0
-6
-1
6
-2
0
0
0
1
2
0
1
30
-6
0
0
0
0
1
1
0
-5
1
0
0
-1
-2
0
0
1
25
-5
0
0
0
0
0
-2
-12
-2
0
0
0
0
0
0
1
-8
-18
0
0
0
0
0
0
1
-1
-8
0
0
0
1
1
0
0
11
-20
0
0
0
0
-2
1
2
-28
26
0
0
0
1
0
0
0
9
-7
0
0
0
0
0
-1
0
0
0
0
0
0
2
-1
0
0
0
-18
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
3
0
0
0
0
-1
1
0
0
11
0
0
0
0
0
0
0
2
3
0
0
0
0
0
-1
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
-2
0
0
0
-2
0
0
7
1
6
13
0
0
0
0
1
1
0
41
-13
1
0
0
0
0
0
0
1
-14
-4
0
0
0
0
0
0
-3
-15
12
0
-2
1
0
-1
0
-3
2
-1
0
0
0
0
0
0
7
26
7
0
0
0
0
0
0
9
28
-3
0
0
0
0
0
0
0
9
3
0
1
0
0
0
0
-25
-8
8
0
0
0
0
0
-2
-20
18
3
0
0
0
0
0
0
30
-25
-1
0
0
0
0
0
0
-1
-13
6
0
-4
0
0
0
-3
-10
-19
9
0
0
0
0
0
0
0
9
6
0
0
0
0
0
0
1
31
3
0
0
0
0
0
0
0
5
7
0
0
-1
0
0
10
-42
16
0
0
0
0
0
0
-2
20
-18
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
1
-2
0
0
-1
0
0
0
0
-18
-4
0
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
15
-22
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
-20
-10
0
0
0
0
0
0
-1
0
-41
0
0
0
0
0
0
0
3
26
0
0
0
0
0
0
0
-1
26
0
0
0
0
0
0
0
-20
31
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
6
-48
0
0
0
0
0
0
0
0
35
0
0
0
0
0
-3
-1
12
-18
-2
0
0
0
0
1
7
6
3
-21
0
0
0
0
0
-1
-16
25
2
0
0
0
0
0
1
0
7
-13
0
0
0
0
-1
1
-2
8
0
0
0
0
0
2
3
-9
-10
1
0
0
0
0
-7
0
2
-12
4
0
0
0
0
6
0
6
-10
2
0
0
0
0
0
2
15
-27
0
0
0
0
0
0
-1
0
-40
3
0
0
0
0
0
0
3
-24
-1
0
0
0
0
-3
0
0
-12
5
0
0
0
0
2
0
-2
43
3
0
0
0
0
0
0
7
-28
6
0
0
0
0
2
0
1
-3
1
0
0
0
0
-2
0
0
18
17
0
0
0
0
0
-2
9
5
0
0
0
0
0
0
0
7
46
0
0
0
0
0
0
0
17
35
0
0
0
0
0
0
0
7
-4
0
0
0
0
0
0
0
10
25
0
0
0
0
0
0
0
9
-9
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
-2
36
0
0
0
0
0
0
0
-3
19
0
0
0
0
0
0
0
-10
-42
0
0
0
0
0
0
0
-26
17
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
7
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
-4
1
-30
-8
3
0
0
0
0
0
2
14
44
-21
0
0
3
0
0
-6
-3
43
-17
0
0
0
0
0
1
-8
24
-22
0
0
0
0
2
0
-8
4
-6
0
0
0
0
0
0
7
6
-3
0
0
-6
0
1
0
0
17
-10
0
0
0
1
1
0
4
-35
11
0
0
0
0
0
6
-3
-58
2
0
0
0
0
0
-1
-3
-3
2
0
0
0
0
0
1
-4
38
-7
0
0
0
0
0
4
2
14
-3
0
0
-1
0
0
0
-3
9
7
0
0
0
0
0
-1
0
5
0
0
0
-2
0
0
2
0
-10
1
0
0
0
1
0
-7
0
24
-14
0
0
0
0
0
-7
12
15
0
0
0
0
0
0
-6
-28
8
0
0
0
0
0
0
1
10
-39
0
0
0
0
0
0
3
0
16
0
0
0
0
0
0
0
-8
-37
0
0
0
0
0
0
0
-22
6
0
0
0
-3
0
0
0
12
14
0
0
0
0
0
0
0
-3
41
0
0
0
0
0
0
0
9
15
0
0
0
0
0
0
0
-3
10
0
0
0
-1
0
0
0
-6
-37
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-1
-11
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
16
0
0
0
0
-1
3
1
-25
-6
7
0
0
0
-2
2
-3
20
10
-24
0
0
0
0
0
0
8
2
-5
0
0
0
4
-7
0
-3
17
-35
0
0
0
0
0
0
-1
-7
8
0
0
0
-6
3
-1
-2
-21
-19
0
0
0
0
0
-1
-4
-1
-3
0
0
0
6
-1
0
-3
19
-4
0
0
0
0
-1
0
-1
35
-9
0
0
0
0
0
0
0
-13
4
0
0
0
0
1
0
-8
14
-13
0
0
0
2
9
0
-1
21
-35
0
0
0
0
0
0
0
-9
6
0
0
0
0
0
0
0
14
10
0
0
0
0
6
0
0
1
-8
0
0
0
0
-4
-1
0
-1
18
0
0
0
0
0
0
-15
32
0
0
0
0
0
-1
0
-1
-13
0
0
0
0
0
0
0
1
-13
0
0
0
0
-1
0
1
1
-25
0
0
0
0
0
0
0
2
-14
0
0
0
0
0
0
0
2
-17
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
3
-2
-3
-7
0
0
0
0
0
0
0
12
-25
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
9
10
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
6
3
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
-1
0
-1
-3
0
0
0
0
1
0
0
0
20
0
0
22
0
0
0
-3
-69
14
-18
0
0
0
0
0
0
-7
23
14
0
0
-1
0
0
0
11
-15
5
0
0
0
0
0
0
-9
-10
-1
0
-14
0
0
0
-1
-24
-72
13
0
0
0
0
1
0
-2
15
-2
0
0
0
0
0
0
-8
17
-5
0
0
0
0
0
0
0
15
6
0
2
0
0
0
2
-8
-12
6
0
0
0
0
0
0
0
37
11
0
0
1
0
0
0
-6
0
-5
0
0
0
0
0
0
7
32
10
0
17
0
0
0
-1
-6
18
5
0
0
0
0
0
0
0
35
8
0
0
0
0
0
0
0
29
2
0
0
0
0
0
0
0
2
6
0
2
0
0
0
1
18
11
0
0
0
0
0
0
0
9
3
0
0
0
3
0
0
0
38
-11
0
0
0
0
0
0
0
0
33
0
0
3
0
0
0
0
-25
4
0
0
0
0
0
0
0
-2
11
0
0
0
-1
0
0
0
12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-15
4
0
0
0
0
0
0
1
1
-47
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
-3
0
0
-3
0
0
0
0
0
12
0
0
0
0
0
-1
0
0
-14
0
0
0
-2
0
0
0
1
-15
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
2
2
-15
-27
12
0
0
0
0
0
0
0
8
2
0
0
0
0
0
0
0
-32
11
0
0
0
4
-1
0
-1
-39
17
0
0
0
0
0
0
1
5
-5
0
0
0
0
-2
0
1
-33
1
0
0
0
0
0
0
-10
-18
15
0
0
0
0
0
0
2
-1
-5
0
0
0
0
0
0
0
-22
9
0
0
0
0
0
0
0
5
14
0
0
0
0
0
0
0
13
-5
0
0
0
0
-2
0
0
15
-1
0
0
0
0
0
0
0
13
8
0
0
0
0
0
0
0
40
3
0
0
0
0
0
0
0
69
-7
0
0
0
0
0
0
0
-3
18
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-1
-28
0
0
0
0
0
0
0
1
-26
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
-5
0
0
0
0
0
0
0
-1
-36
0
0
0
0
0
0
0
2
-16
0
0
0
0
0
0
0
-3
-26
0
0
0
0
0
0
0
2
5
0
0
0
0
0
0
0
0
-54
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
0
0
26
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
52
0
0
0
0
0
0
0
0
4
0
0
0
2
-2
1
-1
-4
4
12
0
0
0
0
0
0
-8
-7
10
0
0
4
0
0
0
0
12
-3
0
0
0
0
0
0
0
16
4
0
0
0
0
0
0
3
13
-1
0
0
0
0
0
0
0
-10
3
0
0
-4
0
0
0
0
0
1
0
0
0
3
0
0
-2
1
11
0
0
0
0
0
0
0
30
-9
0
0
0
0
0
0
0
11
5
0
0
-1
0
0
0
0
-8
-3
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
12
-6
0
0
0
0
0
0
0
13
2
0
0
-6
0
0
0
1
26
-2
0
0
0
-1
0
0
0
6
-6
0
0
4
0
0
3
2
-19
0
0
0
0
0
0
0
28
25
0
0
0
-4
0
0
1
-1
-1
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
18
0
0
0
0
0
0
0
4
-6
0
0
0
4
0
0
0
0
-4
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
6
-3
0
0
0
0
0
0
0
-24
18
0
0
0
9
0
0
0
-1
-6
0
0
0
0
-1
0
0
6
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
-15
0
0
0
0
-7
-4
3
-3
-12
13
0
0
0
0
0
0
-6
7
-7
0
0
0
0
0
0
0
-10
-10
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
1
0
0
-15
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
-1
1
0
0
0
1
-2
0
0
0
13
0
0
0
0
0
-1
0
-6
12
0
0
0
2
0
0
0
7
-11
0
0
0
0
0
0
0
8
-11
0
0
0
0
0
0
0
-30
20
0
0
0
0
0
0
0
8
-2
0
0
0
0
-1
0
0
35
-8
0
0
0
0
0
0
0
29
-19
0
0
0
-2
0
0
0
-2
10
0
0
0
0
0
-1
-6
7
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
1
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-6
8
0
0
0
0
0
0
0
0
19
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
7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
-19
21
8
0
0
0
0
0
0
-2
9
-33
0
0
0
1
0
0
2
-2
14
0
0
0
0
0
0
0
-4
12
0
0
2
6
0
0
2
18
-18
0
0
0
0
0
-1
0
-3
16
0
0
0
0
0
0
-3
13
27
0
0
0
0
0
0
-2
-3
3
0
0
0
0
0
0
17
6
11
0
0
0
0
0
0
0
15
-7
0
0
0
0
0
0
-2
16
4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
-6
19
0
0
0
0
0
0
0
3
7
0
0
0
0
0
0
0
4
30
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
-9
-8
30
0
0
0
0
0
0
-1
21
-23
0
0
0
0
0
0
0
35
-40
0
0
0
0
0
0
0
1
26
0
0
0
0
0
0
-1
0
9
0
0
0
0
0
0
0
4
-23
0
0
0
0
0
0
0
-13
-2
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
-2
-22
13
0
0
0
0
0
0
0
-2
-8
0
0
0
-2
0
0
0
-8
5
0
0
0
0
0
0
0
0
38
0
0
3
0
0
0
0
-22
5
0
0
0
0
0
0
0
-16
29
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-8
29
-57
0
0
0
0
0
0
0
20
11
0
0
0
0
0
1
1
8
-4
0
0
0
0
0
0
0
28
-16
0
0
0
0
0
0
0
-6
18
0
0
0
0
0
0
0
-15
-5
0
0
0
0
0
0
0
18
6
0
0
0
0
0
1
0
-6
-6
0
0
0
0
0
0
0
-22
38
0
0
0
0
0
0
0
-15
14
0
0
0
0
0
0
0
-10
38
0
0
0
0
0
0
0
2
18
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
1
5
0
0
0
0
0
0
0
1
13
0
0
0
0
0
0
0
-10
9
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
6
-23
0
0
0
0
0
0
0
-9
6
0
0
0
0
0
0
0
4
12
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
10
-4
0
0
0
0
0
0
0
-3
30
0
0
0
0
0
0
0
2
18
0
0
0
0
0
0
0
4
29
0
0
0
0
0
0
0
1
35
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
7
21
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
-4
8
0
0
0
1
0
0
4
-17
-6
0
0
0
0
0
0
-1
-16
9
0
0
0
0
0
0
1
-32
0
0
0
0
0
0
0
0
8
47
0
0
0
2
0
0
-16
-11
30
0
0
0
0
0
0
1
-2
18
0
0
0
-7
0
0
-7
3
34
0
0
0
0
0
0
2
-9
-14
0
0
0
0
0
0
-2
12
9
0
0
0
0
0
0
1
3
-3
0
0
0
0
0
0
3
-13
33
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
0
-8
-6
0
0
0
0
0
0
0
-3
31
0
0
0
0
0
0
-1
-4
-56
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
3
12
0
0
0
0
0
0
0
-7
10
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
8
-2
-13
0
0
0
-1
0
0
0
-10
4
0
0
0
0
0
0
0
36
-43
0
0
0
2
0
0
0
3
2
0
0
0
0
0
0
0
-2
-16
0
0
0
0
0
0
-1
3
5
0
0
0
0
0
0
0
4
-6
0
0
0
0
0
0
1
-3
17
0
0
0
0
0
0
0
2
14
0
0
0
0
0
0
0
-38
28
0
0
0
0
0
0
0
1
18
0
0
0
2
0
0
0
15
-26
0
0
0
0
0
0
0
0
13
0
0
0
0
-1
3
6
-4
-4
0
0
0
0
1
0
0
-24
-2
0
0
0
0
0
0
0
17
11
0
0
0
0
0
0
0
-29
15
0
0
0
0
-2
0
0
-12
3
0
0
0
0
7
-3
0
7
-13
0
0
0
0
0
0
1
-1
-30
0
0
0
0
2
0
0
-1
21
0
0
0
0
0
0
0
17
-17
0
0
0
0
0
0
-2
0
-12
0
0
0
0
0
0
0
2
-6
0
0
0
0
-1
0
0
2
-16
0
0
0
0
0
0
2
1
-14
0
0
0
0
0
0
0
6
10
0
0
0
0
0
0
0
0
-42
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
4
-9
0
0
0
0
0
0
0
6
11
0
0
0
0
0
0
0
-18
26
0
0
0
0
0
0
0
3
-9
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-1
24
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
-5
14
0
0
0
0
0
0
0
0
-35
0
0
0
0
0
0
0
0
40
0
0
0
0
0
0
0
-4
-26
0
0
0
0
0
0
0
8
90
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
1
36
0
0
0
0
0
0
0
0
28
0
0
1
0
0
0
0
-25
32
0
0
0
0
0
0
0
4
16
0
0
0
0
0
0
0
-18
-18
0
0
0
0
0
0
0
1
-24
0
0
-8
0
0
0
-2
-8
42
0
0
0
0
0
0
0
3
7
0
0
0
0
0
0
0
-11
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
10
16
0
0
0
0
0
0
1
1
23
0
0
0
0
0
0
0
1
14
0
0
0
0
0
0
0
2
21
0
0
7
0
0
0
0
13
1
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-65
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
2
8
0
0
0
0
0
0
2
-24
-11
0
0
0
0
0
0
0
4
22
0
0
-2
-1
0
0
0
-18
31
0
0
0
0
0
0
0
-18
16
0
0
0
-1
0
0
0
-10
3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
0
44
-50
0
0
0
0
0
0
0
-6
25
0
0
0
0
0
0
0
-3
38
0
0
0
0
0
0
0
-34
-2
0
0
0
0
0
0
0
-9
14
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
-2
-14
0
0
0
0
0
1
9
1
-17
0
0
0
0
0
0
0
-6
6
0
0
0
0
0
0
1
2
-1
0
0
0
0
1
0
0
3
-7
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
-1
-19
25
0
0
0
0
0
0
0
-4
27
0
0
0
0
0
0
0
0
25
0
0
0
0
0
3
1
1
21
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-2
40
0
0
0
0
0
1
0
0
9
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
17
15
0
0
0
0
0
0
0
-15
12
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
6
25
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
-1
75
0
0
0
0
0
0
0
1
-6
0
0
0
0
-1
-2
-2
8
-4
0
0
0
0
0
0
0
2
-7
0
0
0
-2
0
0
0
2
-2
0
0
0
0
0
0
0
-1
-22
0
0
0
3
0
0
1
19
-41
0
0
0
0
0
0
0
0
-12
0
0
0
-6
0
0
0
0
4
0
0
0
0
0
1
0
-2
-1
0
0
0
-2
0
0
-4
6
-28
0
0
0
0
0
0
0
0
24
0
0
0
-1
0
0
0
-6
14
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-1
16
0
0
0
-1
0
0
0
0
-15
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-7
9
15
0
0
0
0
0
0
0
-1
32
0
0
0
0
0
0
0
9
18
0
0
0
0
0
0
0
-1
6
0
0
0
1
0
0
0
1
13
0
0
0
0
0
0
0
3
3
0
0
0
-3
0
0
0
-6
-7
0
0
0
0
0
0
0
-1
-1
0
0
0
2
0
0
7
0
-9
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
-2
62
0
0
0
0
0
0
0
1
-22
0
0
0
-1
0
0
0
9
-22
0
0
0
0
0
0
0
-1
27
0
0
0
-2
0
0
0
0
7
0
0
0
0
0
0
0
1
25
0
0
0
0
0
0
-1
-7
10
0
0
0
0
0
0
0
-7
-6
0
0
0
0
0
0
-7
-7
-1
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
-4
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
27
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
6
0
0
0
0
0
1
0
-1
30
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
-1
0
0
0
0
0
0
2
1
7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
1
0
9
10
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
4
0
0
-1
0
0
0
0
0
0
0
-11
18
0
0
0
0
0
0
0
9
-29
0
0
0
0
0
0
0
0
15
0
0
0
0
-1
0
1
0
4
0
0
0
0
0
0
0
0
6
0
0
0
0
-1
0
0
3
-4
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
3
-11
0
0
0
0
0
1
12
-8
4
0
0
0
0
0
1
1
-19
58
0
0
0
-2
0
0
0
-6
13
0
0
0
0
0
0
0
6
-21
0
0
1
0
0
0
2
31
-49
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-16
41
0
0
0
0
0
0
0
-1
29
0
0
0
0
0
0
1
25
-10
0
0
0
0
0
0
0
11
-5
0
0
0
0
0
0
0
3
-11
0
0
0
0
0
0
0
0
8
0
0
-1
0
0
0
0
-14
-8
0
0
0
0
0
0
0
0
29
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
3
13
0
0
0
0
0
0
1
-73
44
0
0
0
0
0
0
0
-18
-4
0
0
0
3
0
0
0
30
-12
0
0
0
0
0
0
0
-2
8
0
0
-1
0
0
0
0
59
-25
0
0
0
0
0
0
0
-30
25
0
0
0
0
0
0
0
32
13
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
-51
26
0
0
0
0
0
0
0
24
-1
0
0
0
0
0
0
0
-21
30
0
0
0
0
0
0
0
-3
2
0
0
-1
0
0
0
0
2
1
0
0
0
0
0
0
0
-1
37
0
0
0
-1
0
0
0
12
33
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
0
38
-24
0
0
0
0
0
-1
1
-18
-10
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
-1
-8
55
0
0
0
0
0
-4
0
19
11
0
0
0
0
0
0
0
10
15
0
0
0
0
0
-1
0
-20
15
0
0
0
0
0
0
0
35
16
0
0
0
0
0
0
3
-24
15
0
0
0
0
0
0
0
3
-22
0
0
0
0
0
0
0
2
-28
0
0
0
0
0
1
0
-12
-25
0
0
0
0
0
1
0
-1
-18
0
0
0
0
0
0
0
-7
-18
0
0
0
0
0
0
0
0
-14
0
0
0
0
2
0
0
0
-15
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
0
4
18
0
0
0
0
0
0
0
-22
6
0
0
0
0
0
0
0
12
-12
0
0
0
0
0
3
0
-24
23
0
0
0
0
0
0
0
4
2
0
0
0
0
0
0
0
5
57
0
0
0
0
0
0
0
-8
40
0
0
0
0
0
0
0
-24
29
0
0
0
0
0
0
0
8
-5
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
-4
9
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-12
34
0
0
0
0
0
0
0
-7
7
0
0
0
0
0
0
0
0
-22
0
0
0
0
1
0
-4
-25
20
0
0
0
0
0
0
-3
7
12
0
0
0
-3
0
0
-3
6
18
0
0
0
0
-2
0
0
-7
4
0
0
0
0
0
0
-3
4
15
0
0
0
0
0
0
-2
2
-5
0
0
0
-2
0
0
0
-13
20
0
0
0
0
0
0
2
3
-4
0
0
0
0
0
0
0
11
9
0
0
0
0
0
0
1
-3
27
0
0
0
0
0
0
0
-4
15
0
0
0
0
1
0
-1
-2
-10
0
0
0
0
0
0
0
7
-5
0
0
0
0
0
0
0
-1
33
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
3
0
-6
0
0
0
0
0
0
-2
-8
24
0
0
0
0
0
0
0
14
22
0
0
0
-1
0
0
2
-11
-2
0
0
0
0
0
0
0
4
19
0
0
0
0
0
0
0
-15
15
0
0
0
0
0
0
0
0
-22
0
0
0
7
0
0
0
-3
-6
0
0
0
0
1
0
0
-2
13
0
0
0
0
0
0
0
24
3
0
0
0
0
0
0
0
-18
-17
0
0
0
0
0
0
0
-12
6
0
0
0
0
-1
0
0
17
-23
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
-12
31
0
0
0
1
0
0
0
-3
30
0
0
0
0
0
0
0
0
32
0
0
0
0
0
-1
2
2
-22
0
0
0
0
0
0
-2
-13
13
0
0
0
0
0
0
0
-1
46
0
0
0
0
-1
0
0
-2
-6
0
0
0
0
0
0
1
-12
2
0
0
0
0
0
0
0
6
5
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
16
3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
1
8
-6
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
-1
0
19
0
0
0
0
0
0
0
-4
16
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
-16
29
0
0
0
0
3
0
0
8
-16
0
0
0
0
0
0
0
-3
21
0
0
0
0
0
0
1
-1
-8
0
0
0
0
0
0
0
11
2
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
-12
26
0
0
0
0
-1
0
0
-13
38
0
0
0
0
0
0
0
-3
28
0
0
0
0
1
0
0
0
-7
0
0
0
0
0
0
0
7
9
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
35
0
0
0
0
-1
0
0
-3
16
0
0
2
0
0
1
-3
11
-35
0
0
0
0
0
0
0
-8
36
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
-1
-6
0
0
-8
0
0
0
0
26
-6
0
0
0
0
0
0
0
-1
73
0
0
0
6
0
0
0
-1
-12
0
0
0
0
0
0
0
0
27
0
0
-2
0
0
0
0
-1
-5
0
0
0
0
0
0
0
6
12
0
0
0
0
0
0
0
-3
-13
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
16
0
0
-2
0
0
0
1
12
10
0
0
0
0
0
0
0
0
46
0
0
0
-1
0
0
0
2
-2
0
0
0
0
0
0
0
-1
3
0
0
-4
0
0
0
-2
-48
7
0
0
0
0
0
0
0
7
10
0
0
0
1
0
0
0
5
-28
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
3
-4
6
0
0
0
0
0
0
0
2
26
0
0
0
0
0
0
0
-2
22
0
0
0
0
0
0
0
1
28
0
0
0
0
0
0
0
-20
-12
0
0
0
0
0
0
0
-9
-8
0
0
0
0
0
0
0
4
11
0
0
0
0
0
0
0
1
1
0
0
0
0
0
2
-1
-23
21
0
0
0
0
0
-1
0
-1
27
0
0
0
0
0
0
-1
-1
4
0
0
0
0
0
0
0
-1
-38
0
0
0
0
0
6
0
-2
8
0
0
0
0
0
1
0
15
4
0
0
0
0
0
2
0
0
22
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
-1
61
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
-11
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
28
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-20
60
0
0
0
0
0
0
0
-6
32
0
0
0
0
0
0
0
4
20
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-10
29
0
0
0
0
0
0
0
0
-58
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
-6
21
0
0
0
0
0
0
0
-1
31
0
0
0
0
0
0
0
-9
41
0
0
0
0
0
0
0
0
1
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
41
0
0
0
0
0
0
0
1
-10
0
0
0
1
0
0
-4
-12
10
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-12
3
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
10
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
6
12
0
0
0
0
0
0
0
0
22
0
0
0
-1
0
0
0
0
23
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
0
2
-17
0
0
0
2
0
0
0
0
14
0
0
0
0
0
0
0
0
-13
0
0
0
1
0
0
0
-2
1
0
0
0
0
0
0
0
-3
53
0
0
0
1
0
0
0
4
-14
0
0
0
0
0
0
0
0
43
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
-1
22
0
0
0
2
0
0
0
4
7
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-8
0
0
0
0
1
0
-1
4
18
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
3
-9
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
-2
-12
0
0
0
0
0
-2
0
0
21
0
0
0
0
0
0
0
0
4
0
0
0
0
2
-1
0
2
-14
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
6
-14
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
0
46
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
21
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
3
-36
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
26
0
0
0
0
0
-1
0
-1
7
0
0
-21
4
0
7
-8
-25
82
11
4
0
0
0
4
6
24
23
2
-8
0
-21
0
0
8
-23
5
11
10
0
0
0
-1
-1
-26
23
11
3
-4
-1
0
0
-9
3
11
12
6
0
0
0
0
-1
-25
20
0
7
0
19
0
0
-9
9
-30
17
2
0
0
0
0
-1
-7
-8
-4
3
-7
0
0
-1
-1
13
-47
4
0
0
0
0
0
1
-10
39
4
0
0
-1
0
0
-4
6
13
2
0
0
0
0
0
1
-10
39
-1
0
21
1
0
0
0
-12
-11
-4
0
0
0
0
0
0
-8
6
-4
0
0
1
0
0
0
-13
0
4
0
0
0
0
0
-1
0
3
-2
0
0
1
0
0
-9
39
-18
0
0
0
0
0
0
1
10
-8
0
0
0
0
0
0
-16
-61
58
0
0
0
0
0
0
0
4
29
0
0
-4
0
0
0
-3
-30
1
0
0
0
0
0
0
0
1
-3
0
0
0
-3
0
0
2
7
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
-1
27
7
0
0
0
0
0
0
0
16
-10
0
0
0
-1
0
0
3
-35
35
0
0
0
0
0
0
0
-2
-16
0
0
1
0
0
0
0
-58
7
0
0
0
0
0
0
0
-22
-18
0
0
0
-1
0
0
0
1
-2
0
0
0
0
0
0
0
3
-16
0
0
0
0
0
0
17
-5
-39
2
2
0
0
-1
6
-3
-15
44
-11
-6
0
0
0
0
-2
-7
-6
8
2
0
0
-7
9
-6
2
28
-30
2
0
0
0
0
-1
9
-55
11
1
0
0
0
-1
3
0
-42
5
-9
0
0
0
0
2
2
47
3
-1
0
0
3
3
0
-6
-15
9
-8
0
0
0
0
1
6
29
0
0
0
0
0
1
1
34
41
5
0
0
0
0
1
3
5
46
-1
0
0
0
-2
-8
7
24
29
-6
0
0
0
0
0
0
-12
25
0
0
0
0
0
-2
1
8
5
1
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
-3
-40
-7
0
0
0
0
0
0
16
-13
0
0
0
0
0
0
0
-39
13
0
0
0
0
0
0
1
-42
34
0
0
0
0
0
0
0
-5
2
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
-1
-1
-11
14
0
0
0
0
0
0
0
-8
17
0
0
0
0
0
0
0
27
-21
0
0
0
0
0
0
0
8
14
0
0
0
0
0
0
1
5
-1
0
0
0
0
0
0
0
7
10
0
0
0
0
0
1
-1
7
10
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
-1
0
-26
28
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
2
17
0
0
0
6
0
0
-3
-14
97
1
4
0
0
3
-1
-15
3
-48
5
6
0
-7
0
0
1
-45
3
10
1
0
0
0
0
-6
-19
-23
5
4
0
27
0
-1
8
21
2
27
-9
0
0
0
0
-2
-15
39
-4
8
0
12
0
0
1
-20
-3
8
3
0
0
4
0
0
1
16
7
3
0
-1
0
0
6
4
1
4
0
0
0
0
4
-2
21
10
-1
0
0
-13
0
0
-15
-14
10
6
0
0
0
0
-1
-1
-9
34
-11
0
0
0
0
0
0
12
-13
-10
0
0
0
0
0
0
-7
-3
8
0
0
-13
0
0
2
-1
9
-4
0
0
0
-1
0
1
-1
-17
-4
0
0
0
0
0
8
-6
-8
0
0
0
0
0
0
-1
-2
48
0
0
0
3
0
0
7
1
-3
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
-2
21
0
0
0
12
0
0
0
-10
12
0
0
0
0
0
0
0
-2
-9
0
0
0
1
0
0
1
14
1
0
0
0
0
0
0
-1
-4
5
0
0
0
10
0
0
4
4
13
0
0
0
0
0
0
0
2
22
0
0
0
-3
0
0
0
1
-1
0
0
0
0
0
0
0
-2
20
0
0
0
-2
0
0
0
4
-22
0
0
0
0
0
0
0
0
2
0
0
0
0
1
1
-2
2
-19
6
0
0
0
-3
-2
-1
-28
28
-14
8
0
0
1
-1
-9
7
16
-17
-2
0
0
-4
1
3
-3
24
-41
-12
0
0
0
2
0
-22
-43
21
-15
0
0
1
1
-2
6
-9
28
-7
0
0
-2
1
-6
-2
-1
34
-16
0
0
0
1
0
3
-2
42
-12
0
0
0
0
0
4
-10
-5
0
0
0
-4
-9
1
7
-16
31
0
0
0
0
-4
16
26
60
-34
0
0
0
6
8
10
11
12
-15
0
0
0
0
0
0
11
27
-29
0
0
0
2
-2
0
2
38
-10
0
0
0
0
0
1
3
21
-16
0
0
0
1
-1
0
-1
-2
-12
0
0
0
0
0
1
15
2
0
0
0
0
0
0
-1
11
-3
0
0
0
0
0
0
1
-10
-1
0
0
0
0
-1
-1
-1
3
5
0
0
0
0
0
0
0
4
46
0
0
0
0
1
0
0
1
-8
0
0
0
0
0
0
0
-10
-2
0
0
0
0
-1
2
0
-3
0
0
0
0
0
0
0
0
-4
19
0
0
0
0
0
0
0
7
-37
0
0
0
0
0
0
3
-6
-30
0
0
0
0
1
0
0
4
29
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
-7
60
0
0
0
0
0
0
-1
-1
25
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-16
-7
8
3
0
0
0
0
0
-1
17
36
-6
0
0
9
0
0
0
-3
44
-3
0
0
0
0
1
7
18
37
5
0
7
8
0
0
0
12
29
2
0
0
0
0
0
0
29
26
-5
0
0
2
0
1
7
-27
-5
14
0
0
0
0
0
-1
1
24
7
0
0
0
0
0
-8
-15
9
1
0
0
0
0
0
-1
-7
-27
6
0
0
0
0
0
6
4
-1
1
0
0
0
0
0
0
2
36
-6
0
-12
-1
0
0
0
-23
10
1
0
0
0
0
0
0
3
-21
1
0
0
0
0
0
0
6
-14
0
0
0
0
0
0
0
-1
27
1
0
1
0
0
0
-16
-9
6
0
0
0
0
0
0
-19
7
-17
0
0
0
-2
0
0
-1
19
18
0
0
0
0
0
0
0
4
-7
0
0
0
-1
0
0
3
-44
14
0
0
0
0
0
0
2
19
-1
0
0
0
-1
0
0
-1
13
-13
0
0
0
0
0
0
1
1
20
0
0
0
-3
0
0
-9
9
5
0
0
0
0
0
0
2
-30
3
0
0
0
3
0
0
-4
-14
7
0
0
0
0
0
0
-3
-2
43
0
0
-1
-1
0
0
-2
47
-16
0
0
0
0
0
0
0
-12
0
0
0
0
1
0
0
0
7
4
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
2
-3
40
13
4
0
0
0
0
2
-8
7
4
-18
0
0
0
0
-3
3
-2
11
3
0
0
0
2
-8
18
-17
21
19
0
0
0
0
0
0
-10
55
-4
0
0
0
0
1
1
-11
93
-3
0
0
0
0
0
-2
6
32
13
0
0
0
0
0
-2
2
-12
9
0
0
0
0
0
12
-1
16
4
0
0
0
0
0
-3
-9
10
6
0
0
0
0
0
-13
5
18
4
0
0
0
-3
0
-3
-25
-10
45
0
0
0
0
0
0
5
0
0
0
0
0
0
1
1
-3
40
8
0
0
0
0
0
0
8
11
-2
0
0
0
0
0
0
-3
26
4
0
0
0
0
0
-1
-29
2
0
0
0
0
0
0
-1
0
-14
0
0
0
0
0
2
2
23
-1
0
0
0
0
3
-3
3
2
6
0
0
0
0
0
0
0
-36
27
0
0
0
0
0
4
1
-1
11
0
0
0
0
0
0
0
9
2
0
0
0
0
0
0
0
2
23
0
0
0
0
0
0
1
-45
31
0
0
0
0
2
-1
0
33
-1
0
0
0
0
-1
0
0
6
-11
0
0
0
0
0
0
1
-10
15
0
0
0
0
0
0
0
-16
1
0
0
0
0
0
0
-1
-19
1
0
0
0
0
0
0
0
-12
19
0
0
0
0
0
-3
0
-6
10
0
0
0
0
-3
2
-8
34
-7
3
0
0
0
0
1
-7
-18
33
-13
0
0
6
0
0
30
-47
50
-14
0
0
0
-1
0
6
1
-17
13
0
0
-2
0
-2
3
-13
56
-2
0
0
0
1
-1
1
-6
-41
-4
0
0
17
0
0
6
8
-22
9
0
0
0
-1
4
-1
1
-12
11
0
0
-1
0
0
-3
-26
97
4
0
0
0
0
0
0
4
-16
10
0
0
-4
1
-1
0
0
32
-9
0
0
0
1
-1
-1
-1
-17
19
0
0
0
0
0
0
0
2
-2
0
0
0
-1
0
-1
1
31
6
0
0
-4
0
0
4
-1
-6
2
0
0
0
6
-1
-4
1
13
10
0
0
0
0
0
9
-25
0
0
0
0
0
0
0
3
-3
8
0
0
0
4
0
0
0
-21
36
0
0
0
0
1
0
0
0
-42
0
0
0
-2
0
1
12
-14
1
0
0
0
0
0
0
3
12
-24
0
0
0
-28
0
0
11
15
-13
0
0
0
0
0
-1
-6
-1
44
0
0
0
-1
0
0
2
5
9
0
0
0
0
0
0
0
0
-24
0
0
0
-3
0
0
-2
-10
25
0
0
0
0
0
0
3
-11
15
0
0
0
3
0
0
1
32
-13
0
0
0
0
0
0
0
1
-10
0
0
0
-8
0
0
2
-9
23
0
0
0
0
-1
0
0
0
44
0
0
0
0
3
6
1
0
-43
9
0
0
0
3
-1
0
12
41
-32
0
0
0
-4
-12
1
12
-6
14
0
0
0
-11
-11
-24
13
11
10
0
0
0
0
0
-4
0
5
6
0
0
0
0
0
0
2
-20
12
0
0
0
0
0
13
0
21
8
0
0
0
1
-18
1
0
3
19
0
0
0
0
0
-1
-1
46
3
0
0
0
4
20
0
9
-13
13
0
0
0
2
2
10
7
25
-22
0
0
0
-11
12
0
6
-15
8
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
1
1
21
5
0
0
0
0
0
0
-4
41
-10
0
0
0
1
9
0
-9
28
-8
0
0
0
0
0
0
-4
1
0
0
0
0
0
-2
-1
-4
43
0
0
0
0
0
-1
-2
-6
0
0
0
0
0
7
0
3
0
5
0
0
0
0
0
-1
0
1
-20
0
0
0
0
0
8
1
-24
17
0
0
0
0
0
0
-9
1
35
0
0
0
0
4
-4
0
2
35
0
0
0
0
0
0
0
-3
10
0
0
0
0
-3
0
1
1
-40
0
0
0
0
-2
-2
15
2
-26
0
0
0
0
7
7
-8
-9
1
0
0
0
0
0
0
0
6
-2
0
0
0
0
3
0
-1
0
8
0
0
0
0
0
7
-1
-4
-22
0
0
0
0
-4
-9
-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
15
-1
0
-2
-22
-3
-16
0
0
0
0
0
0
9
12
-21
0
0
0
-1
0
0
-2
6
26
0
0
0
0
0
1
-1
-16
13
0
0
8
3
0
0
-1
0
-24
0
0
0
0
0
0
0
-38
51
0
0
0
-20
0
0
-1
46
6
0
0
0
0
0
0
-1
12
-1
0
0
-6
0
0
0
-1
11
20
0
0
0
0
0
0
0
16
-15
0
0
0
-2
0
0
1
-44
-9
0
0
0
0
0
0
-1
-22
0
0
0
28
0
0
1
0
-17
0
0
0
0
0
0
0
0
-1
2
0
0
0
-1
0
0
0
7
-5
0
0
0
0
0
0
0
-1
0
0
0
6
0
0
0
-1
-8
-5
0
0
0
0
0
0
0
-13
10
0
0
0
3
0
0
0
-6
-16
0
0
0
0
0
0
0
11
2
0
0
-1
0
0
0
0
21
-14
0
0
0
0
0
0
0
-12
36
0
0
0
1
0
0
0
1
-9
0
0
0
0
0
0
-2
7
-10
0
0
-1
0
0
0
1
3
9
0
0
0
0
0
0
0
-31
11
0
0
0
0
0
0
0
-9
22
0
0
0
0
0
0
0
10
12
0
0
0
0
0
0
2
9
3
0
0
0
0
0
13
0
-13
0
0
0
0
-1
0
0
1
12
20
0
0
0
0
0
0
1
3
33
0
0
0
0
0
-1
11
-29
17
0
0
0
0
0
0
0
-29
-6
0
0
0
0
0
1
-2
-4
34
0
0
0
0
0
3
6
0
-10
0
0
0
0
0
0
0
7
28
0
0
0
0
0
0
0
7
-9
0
0
0
0
0
0
0
-9
-29
0
0
0
0
0
0
0
11
-11
0
0
0
0
0
1
0
34
-16
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
-1
0
-24
29
0
0
0
0
0
-1
0
11
-2
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
-1
4
43
0
0
0
0
0
-3
0
0
2
0
0
0
0
0
0
0
17
23
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
20
-2
0
0
0
0
0
0
1
1
19
0
0
0
0
0
0
0
19
-4
0
0
0
0
0
0
0
2
32
0
0
0
0
0
0
0
-19
8
0
0
0
0
0
0
0
8
-12
0
0
0
0
0
0
0
-10
7
0
0
0
0
0
1
0
0
9
0
0
0
0
0
0
1
-36
19
0
0
0
0
0
0
0
-14
20
0
0
0
0
0
0
1
17
16
0
0
0
0
0
0
0
-2
37
0
0
0
0
0
0
0
15
-7
0
0
0
0
0
0
0
-3
-10
0
0
0
-2
0
-1
-16
-6
7
0
0
0
0
-3
0
12
-11
-4
0
0
0
-8
0
0
0
-20
-29
0
0
0
0
-1
0
1
1
5
0
0
0
16
0
2
0
-2
14
0
0
0
0
0
0
0
16
-19
0
0
0
29
0
0
1
3
15
0
0
0
0
0
0
-4
-1
6
0
0
0
1
0
0
-6
6
-1
0
0
0
0
0
2
3
4
11
0
0
0
-35
0
0
1
6
0
0
0
0
0
0
6
9
24
-19
0
0
0
0
0
0
1
13
-36
0
0
0
0
0
1
0
2
31
0
0
0
1
0
0
0
-1
-12
0
0
0
0
1
0
0
1
26
0
0
0
-2
0
0
0
4
-32
0
0
0
0
0
0
0
-3
14
0
0
0
13
0
0
1
-16
-4
0
0
0
0
0
0
0
-8
-18
0
0
0
0
0
0
-1
-46
16
0
0
0
0
0
0
0
-9
26
0
0
0
3
0
0
-1
-18
24
0
0
0
0
0
0
0
6
1
0
0
0
1
0
0
0
-46
3
0
0
0
0
0
0
0
-7
42
0
0
0
-3
0
0
-2
12
34
0
0
0
0
0
0
0
0
-18
0
0
0
-3
0
0
0
-13
21
0
0
0
0
0
0
0
11
26
0
0
0
2
0
0
0
-6
19
0
0
0
0
1
0
3
-3
4
0
0
0
0
1
3
-10
-31
42
0
0
0
0
1
9
-7
14
-21
0
0
0
0
0
0
10
-51
18
0
0
0
0
-1
3
16
-9
-8
0
0
0
0
0
0
0
24
11
0
0
0
0
0
0
-18
-1
4
0
0
0
0
0
-2
6
-2
-3
0
0
0
0
2
4
0
-2
-1
0
0
0
0
0
0
0
-27
22
0
0
0
0
1
-1
0
-17
-2
0
0
0
0
0
2
-1
3
-23
0
0
0
0
0
-2
-4
-2
31
0
0
0
0
0
0
0
0
-48
0
0
0
0
-2
-1
0
-2
-13
0
0
0
0
-1
0
0
0
-7
0
0
0
0
0
4
0
-2
13
0
0
0
0
0
0
0
9
69
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
-7
47
0
0
0
0
1
0
0
24
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
25
16
0
0
0
0
0
0
0
10
-4
0
0
0
0
0
0
0
13
-5
0
0
0
0
0
0
-1
-3
12
0
0
0
0
0
0
0
3
24
0
0
0
0
0
0
0
-3
12
0
0
0
0
-1
0
0
-3
-7
0
0
0
0
-1
-1
0
-1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-22
-5
0
0
0
0
0
1
2
-21
5
0
0
0
3
0
0
8
15
-29
0
0
0
0
0
0
0
-4
26
0
0
-8
0
0
2
-2
14
-12
0
0
0
0
0
0
-6
-10
23
0
0
0
0
0
-1
1
6
-17
0
0
0
0
0
1
2
-2
-9
0
0
3
1
0
-1
3
-1
-14
0
0
0
0
0
0
0
-1
32
0
0
0
0
0
0
0
20
-20
0
0
0
0
0
0
0
11
11
0
0
-15
0
0
0
-4
-21
3
0
0
0
0
0
0
0
-7
16
0
0
0
1
0
0
0
-17
18
0
0
0
0
0
0
-1
-3
17
0
0
0
4
0
1
-6
-20
1
0
0
0
0
0
-4
0
13
19
0
0
0
2
0
0
-1
9
-15
0
0
0
0
0
0
0
-30
20
0
0
4
-1
0
0
0
-20
-4
0
0
0
0
0
0
0
-20
39
0
0
0
-2
0
0
0
41
-6
0
0
0
0
0
0
0
-15
13
0
0
1
-1
-1
-1
9
10
1
0
0
0
0
0
0
3
-27
-11
0
0
0
-1
0
0
-1
20
11
0
0
0
0
0
0
-1
-4
11
0
0
7
-2
0
0
-2
-33
11
0
0
0
0
0
0
0
-9
23
0
0
0
2
0
0
-2
7
-15
0
0
0
0
0
0
0
6
28
0
0
0
0
0
0
0
5
28
0
0
0
0
-2
-2
0
-16
30
0
0
0
0
0
0
-3
-11
-5
0
0
0
0
0
0
3
1
16
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
1
20
21
0
0
0
0
0
0
-1
-10
-19
0
0
0
0
0
0
1
3
1
0
0
0
0
0
0
-1
-37
4
0
0
0
0
0
0
0
-18
31
0
0
0
0
0
0
4
-13
-1
0
0
0
0
-2
1
0
-14
-46
0
0
0
0
0
-2
0
-11
-10
0
0
0
0
0
-1
0
22
-49
0
0
0
0
0
0
0
30
-2
0
0
0
0
0
0
0
-2
9
0
0
0
0
0
0
0
22
5
0
0
0
0
-1
1
0
-17
18
0
0
0
0
0
0
-1
37
9
0
0
0
0
0
0
-1
-27
41
0
0
0
0
0
-1
0
-6
20
0
0
0
0
0
0
0
8
-6
0
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
-30
-10
0
0
0
0
0
0
1
-49
9
0
0
0
0
0
0
0
-17
23
0
0
0
0
0
0
0
-4
9
0
0
0
0
1
0
1
22
1
0
0
0
0
0
0
0
-15
17
0
0
0
0
0
0
0
-39
-20
0
0
0
0
0
0
0
-8
70
0
0
0
0
0
0
0
6
31
0
0
0
3
2
0
-3
-25
-9
0
0
0
0
0
0
-3
32
-21
0
0
0
-9
0
0
7
24
-24
0
0
0
0
0
0
0
-25
4
0
0
0
0
0
0
10
3
11
0
0
0
0
0
0
2
15
-10
0
0
0
15
0
3
-1
-6
2
0
0
0
0
-2
0
0
0
13
0
0
0
0
0
0
-1
3
-23
0
0
0
0
0
-2
16
-29
-27
0
0
0
7
0
0
2
-2
-33
0
0
0
0
0
0
-6
-1
8
0
0
0
-1
0
0
-1
-45
27
0
0
0
0
3
-1
-2
-2
-51
0
0
0
13
-1
-3
-1
9
-16
0
0
0
0
-2
0
0
4
8
0
0
0
0
0
0
2
3
-8
0
0
0
0
0
0
-1
0
-9
0
0
0
8
0
0
3
0
-15
0
0
0
0
2
0
-9
12
46
0
0
0
0
0
-1
10
-2
8
0
0
0
0
0
0
0
-3
1
0
0
0
2
0
0
-2
-23
8
0
0
0
0
-1
2
0
-3
8
0
0
0
-1
0
0
0
-7
17
0
0
0
0
-1
0
0
-5
29
0
0
0
-2
0
0
0
-1
15
0
0
0
0
0
0
2
1
9
0
0
0
4
0
0
-3
17
7
0
0
0
0
0
0
-1
14
28
0
0
0
17
0
0
0
-28
12
0
0
0
0
-3
-1
0
8
0
0
0
0
0
0
0
3
49
-21
0
0
0
0
0
0
-1
-34
53
0
0
0
0
2
0
1
-2
-9
0
0
0
0
-1
0
0
10
-17
0
0
0
0
0
0
0
12
8
0
0
0
0
0
0
-3
-16
1
0
0
0
0
2
-1
4
-4
-15
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
-1
7
-1
0
0
0
0
0
0
-1
-1
6
0
0
0
0
2
0
-7
-16
7
0
0
0
0
2
2
0
6
-34
0
0
0
0
0
0
-2
-6
-23
0
0
0
0
0
0
0
-15
3
0
0
0
0
2
0
2
-12
13
0
0
0
0
-6
-4
0
0
5
0
0
0
0
0
0
0
6
9
0
0
0
0
0
0
0
3
12
0
0
0
0
0
0
-7
0
7
0
0
0
0
-2
1
0
-17
6
0
0
0
0
0
-1
3
-2
17
0
0
0
0
0
0
1
-20
26
0
0
0
0
0
-1
0
5
-15
0
0
0
0
0
0
0
4
-15
0
0
0
0
-1
0
2
-45
-4
0
0
0
0
1
0
0
-14
53
0
0
0
0
2
0
-1
-14
-5
0
0
0
0
1
-1
0
17
9
0
0
0
0
0
0
0
-2
34
0
0
0
0
0
0
0
2
13
0
0
0
0
-1
-1
0
0
24
0
0
0
0
6
-1
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
-14
-2
-1
-8
-38
-51
-40
30
6
0
0
-8
6
-3
-28
-34
8
-2
0
-2
-1
-7
-10
-10
-3
3
-2
0
0
8
30
8
32
3
-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
-3
12
3
7
18
17
-9
6
0
0
0
21
-10
-2
-36
13
0
0
0
11
34
-15
13
8
-4
-7
0
0
0
-20
-2
-11
7
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
17
-8
-2
-1
-16
21
-16
0
0
0
0
0
-8
0
-18
2
0
0
0
15
-8
9
15
-5
-13
0
0
0
0
-7
-21
9
-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
5
1
-11
-7
-16
-2
5
0
0
0
0
1
8
7
-8
7
0
0
0
1
-13
3
24
32
12
0
0
0
0
12
7
-2
-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
1
-4
36
17
9
0
0
0
-2
-1
-6
-60
-6
0
0
0
0
0
-1
-11
-18
5
5
0
0
0
0
3
0
16
-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
-1
-12
-20
12
0
0
0
0
0
-1
-22
-34
12
0
0
0
0
0
0
1
13
-4
0
0
0
0
0
0
-2
-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
2
18
1
0
0
0
0
0
0
0
-9
33
0
0
0
0
0
-1
0
-30
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
35
0
0
0
0
0
0
0
-25
50
0
0
0
0
0
0
0
3
-39
0
0
0
0
0
0
1
-25
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
9
-44
-4
6
0
0
0
0
0
26
44
-56
-1
0
-1
0
0
-2
-11
23
5
-3
0
0
0
0
3
-2
6
-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
2
28
13
-3
0
0
0
0
0
0
-7
40
3
0
0
2
0
0
6
-45
-9
13
0
0
0
0
0
0
1
-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
1
10
-10
0
0
0
0
0
0
0
-18
14
0
0
0
-1
0
0
0
-7
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
-2
-15
24
0
0
0
0
0
0
0
-11
-15
0
0
0
0
0
0
-1
-2
-32
0
0
0
0
0
0
-3
3
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
3
13
18
3
0
0
0
0
8
23
13
-4
4
0
0
0
0
8
-21
38
-34
-8
0
0
0
1
-1
7
20
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
6
-2
14
0
0
0
0
0
-1
-45
22
22
0
0
0
0
0
0
18
2
8
0
0
0
-6
0
7
-10
-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
1
1
2
0
0
0
0
0
0
2
-8
-13
0
0
0
0
0
0
6
4
-12
0
0
0
0
1
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
13
-15
0
0
0
0
0
0
0
10
-14
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-6
11
3
0
0
0
0
-1
-27
56
5
-9
0
-1
0
0
9
-10
28
5
1
0
0
0
0
0
1
1
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
33
9
4
0
0
0
0
0
0
3
-32
-5
0
0
0
0
0
0
-2
-38
4
0
0
0
0
0
0
-1
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
6
-9
0
0
0
0
0
0
0
-12
19
0
0
0
-1
0
0
-1
8
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
-1
0
0
0
0
10
-9
0
0
0
0
0
0
0
38
-9
0
0
0
0
0
0
0
-36
-15
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
-2
0
26
2
6
0
0
0
0
-1
11
-21
7
-8
0
0
0
0
0
2
-10
-13
11
0
0
0
0
-1
3
-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
-8
60
-2
0
0
0
0
0
0
0
3
-10
0
0
0
0
0
0
1
-35
2
0
0
0
1
0
0
-1
-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
-11
27
0
0
0
0
0
0
0
-11
35
0
0
0
0
0
0
0
2
19
0
0
0
0
0
-1
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
0
0
-8
9
0
0
0
0
0
0
0
-3
-38
0
0
0
0
0
0
0
-1
-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
0
0
0
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
17
2
5
0
0
0
0
-3
12
-38
1
10
0
-1
0
0
-1
24
6
4
2
0
0
0
1
0
12
8
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
-1
10
82
-4
0
0
0
0
0
0
-12
21
1
0
0
-1
0
0
1
15
-13
-3
0
0
0
0
1
0
0
35
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-6
-11
0
0
0
0
0
0
0
0
1
17
0
0
0
8
0
0
0
-7
-2
0
0
0
0
0
2
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
1
10
7
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
-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
-6
1
-3
-11
0
0
0
4
0
-8
-20
10
-12
0
0
0
0
0
10
-11
14
-3
0
0
-3
-1
1
-1
3
16
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
-11
2
0
0
0
4
0
0
4
-2
-5
0
0
0
1
0
-4
-8
8
5
0
0
0
0
2
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
13
-17
0
0
0
0
0
-4
0
0
11
0
0
0
0
0
0
0
15
3
0
0
0
0
0
1
12
3
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
7
0
0
0
0
0
-1
0
-4
-1
0
0
0
0
0
-1
-3
0
28
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-13
13
9
6
0
0
0
0
0
6
2
15
2
0
0
0
0
0
1
-37
-22
11
0
0
0
0
0
0
-25
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
4
0
0
0
-2
15
1
4
0
0
0
0
0
0
1
19
4
0
0
0
0
0
2
18
-30
4
0
0
0
0
0
-1
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
-2
0
0
-1
-4
-44
8
0
0
0
0
0
1
-1
-13
13
0
0
0
1
0
0
0
4
11
0
0
0
0
0
0
0
-18
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
-3
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
-3
18
3
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
20
34
6
0
0
0
0
0
0
13
-58
11
0
0
0
0
0
0
-4
57
-7
0
0
0
0
0
0
-9
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
-22
2
12
0
0
0
0
0
0
13
-1
6
0
0
0
0
2
-1
-2
65
-4
0
0
0
4
-1
0
-1
14
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-59
13
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
0
12
7
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
-37
29
0
0
0
0
0
0
0
5
-27
0
0
0
0
0
0
0
4
2
0
0
0
0
0
1
0
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
7
3
52
4
0
0
0
0
0
-2
-22
50
3
0
0
4
0
0
-10
21
38
3
0
0
0
0
0
15
-6
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
2
1
-12
-1
0
0
0
0
0
2
2
10
2
0
0
-4
0
0
-15
0
-1
-6
0
0
0
0
0
-3
2
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-3
0
0
0
0
0
3
0
-6
33
0
0
0
0
0
0
6
6
-15
0
0
0
0
0
-1
0
9
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
6
2
0
0
0
0
0
0
0
-11
26
0
0
0
2
0
0
1
-11
5
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-12
18
13
0
0
0
-1
0
6
10
47
0
0
0
0
0
0
0
-28
46
7
0
0
0
-4
-1
0
1
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
-1
11
-31
10
0
0
0
1
-1
1
-13
30
13
0
0
0
0
1
3
0
9
-9
0
0
0
0
-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
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
1
1
7
0
0
0
0
0
0
4
2
17
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
11
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
-32
0
0
0
0
2
1
-13
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
-11
0
0
0
0
-45
-8
6
0
0
0
0
0
0
-1
21
-7
0
0
7
0
0
0
-2
0
-7
0
0
0
0
0
-4
0
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
3
0
0
0
-3
-25
4
6
0
0
0
0
0
0
-4
6
-3
0
0
-1
0
0
4
-1
19
-9
0
0
0
0
0
-1
0
32
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
3
-10
0
0
0
0
0
0
0
-6
-10
0
0
0
0
0
0
0
15
-6
0
0
0
0
0
0
6
-2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
16
-3
0
0
0
0
0
0
0
-10
18
0
0
0
3
0
0
2
-6
7
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
-31
-2
0
0
0
0
0
0
-4
-12
-1
0
0
0
0
0
0
6
6
-9
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
-1
-19
14
-1
0
0
0
0
1
-1
-3
12
-4
0
0
0
0
0
0
1
27
-7
0
0
0
0
3
-6
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
4
1
0
0
0
0
0
0
0
-3
-11
0
0
0
0
0
0
0
1
-12
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
19
-22
0
0
0
0
0
0
0
6
4
0
0
0
0
0
-1
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
62
-2
0
0
0
0
1
0
-3
42
-9
0
0
6
0
0
-6
0
34
-11
0
0
0
1
-2
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
-2
0
0
0
3
17
-1
0
0
0
0
0
0
0
5
9
0
0
0
0
-1
0
0
-8
1
0
0
0
-1
2
1
0
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
0
0
0
0
0
9
10
0
0
0
0
0
0
0
1
-8
0
0
0
-12
0
0
0
-1
32
0
0
0
0
0
0
-1
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
-3
0
2
0
-2
-16
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
-2
-1
17
11
0
0
0
0
-1
0
-11
29
-19
0
0
0
0
4
1
-3
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
0
0
0
2
-27
12
0
0
0
0
0
0
0
20
8
0
0
0
0
0
4
-1
18
3
0
0
0
19
-18
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
-1
-24
0
0
0
0
0
1
0
-7
-6
0
0
0
0
0
0
0
0
29
0
0
0
0
0
-1
-2
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
19
0
0
0
0
0
0
0
18
-1
0
0
0
0
-2
0
0
2
-10
0
0
0
0
-1
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
34
0
0
0
0
0
0
1
-36
29
0
0
0
0
0
0
2
-36
22
0
0
0
0
0
0
-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
6
-10
8
0
0
0
0
0
0
-12
-8
-6
0
0
0
0
0
0
0
-17
1
0
0
0
0
0
-1
9
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
-56
33
0
0
0
0
0
0
3
-20
-4
0
0
0
0
0
0
-1
-12
16
0
0
0
0
0
0
0
9
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
8
0
0
0
0
0
0
2
13
16
0
0
0
0
0
0
2
-3
2
0
0
0
0
0
0
-6
20
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
6
0
0
0
0
0
0
0
38
-27
0
0
0
0
0
0
0
-8
29
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
7
-8
36
0
0
0
0
0
0
0
11
11
0
0
0
0
0
0
0
13
-1
0
0
0
0
0
0
0
-8
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
24
0
0
0
0
0
0
0
12
-26
0
0
0
0
0
0
0
6
-4
0
0
0
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
4
6
0
0
0
0
0
0
0
9
-8
0
0
0
0
0
0
0
-12
3
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
-2
0
0
-1
-2
15
0
0
0
0
0
0
3
-17
-3
0
0
0
4
0
0
0
-9
-17
0
0
0
0
0
0
0
24
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-19
36
0
0
0
0
0
0
0
4
-33
0
0
0
3
0
0
9
-3
19
0
0
0
0
0
0
-1
1
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
31
0
0
0
0
0
0
0
0
16
0
0
0
-2
0
0
0
-56
12
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
37
0
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
0
-2
-17
27
0
0
0
0
0
0
0
-11
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-2
26
0
0
0
0
0
0
3
21
-2
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
-3
6
15
0
0
0
0
0
0
3
-5
48
0
0
0
0
0
0
-13
1
11
0
0
0
0
0
0
-1
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
39
0
0
0
0
0
0
0
9
10
0
0
0
0
0
0
0
-6
-2
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
-46
5
0
0
0
0
0
0
1
-10
25
0
0
0
0
0
0
-15
25
19
0
0
0
0
2
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
-3
1
0
0
-2
-9
36
0
0
0
0
0
0
0
11
22
0
0
0
-2
0
0
0
-6
-30
0
0
0
0
0
0
0
-1
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
15
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
2
-13
-1
0
0
0
0
0
0
-1
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
-17
0
0
0
0
0
0
0
-37
49
0
0
0
0
0
0
0
-15
47
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
-3
-5
-27
0
0
0
0
0
0
0
-35
20
0
0
0
0
0
0
2
4
-14
0
0
0
0
0
0
0
24
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
-2
0
0
0
0
0
0
0
0
-24
0
0
0
0
0
0
0
12
-6
0
0
0
0
0
-1
0
-1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-54
0
0
0
0
0
0
0
-8
10
0
0
0
0
0
0
-1
-2
46
0
0
0
0
0
0
-1
-12
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
14
0
0
0
0
0
0
0
28
0
0
0
0
0
0
0
0
-12
41
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
-12
7
0
0
0
0
0
0
0
-13
13
0
0
0
0
0
0
1
-13
11
0
0
0
0
0
0
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
-1
0
0
-1
3
52
0
0
0
0
0
0
0
-11
-16
0
0
0
8
0
0
0
-7
-22
0
0
0
0
0
0
-1
-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
52
-19
0
0
0
0
0
0
0
4
-11
0
0
0
-8
0
0
0
2
4
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
3
0
0
6
17
-22
0
0
0
0
0
0
0
18
-13
0
0
0
-1
0
0
1
24
-23
0
0
0
0
0
0
0
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
-20
0
0
0
0
0
0
0
0
15
13
0
0
0
2
0
0
0
-36
-3
0
0
0
0
0
-1
0
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-10
0
0
0
0
0
0
1
-15
45
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
2
-2
-3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
44
0
0
0
0
-2
0
0
12
-8
0
0
0
0
0
0
-7
12
20
0
0
0
0
-1
6
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
1
10
28
0
0
0
0
0
0
0
-5
-9
0
0
0
0
0
0
0
-11
21
0
0
0
0
2
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
45
0
0
0
0
0
1
0
-5
-41
0
0
0
0
0
0
0
-7
44
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
2
0
0
0
0
-22
-22
0
0
0
0
0
0
1
-17
4
0
0
0
0
0
0
10
40
-35
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
1
0
0
0
-3
14
5
0
0
0
0
0
0
8
8
-32
0
0
0
1
0
0
2
-57
19
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
0
0
0
-4
9
0
0
0
0
0
0
1
1
-12
0
0
0
0
0
0
-6
-15
37
0
0
0
0
0
0
-1
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-16
14
0
0
0
0
0
0
0
-3
33
0
0
0
0
0
0
2
5
-6
0
0
0
0
0
0
1
-50
53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
0
25
20
0
0
0
0
0
0
1
-12
2
0
0
0
0
0
-1
-1
-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
-1
-47
32
0
0
0
0
0
0
-3
9
25
0
0
0
0
0
0
2
16
-27
0
0
0
0
0
0
0
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
20
5
0
0
0
0
0
0
0
-10
27
0
0
0
0
0
0
0
17
-16
0
0
0
0
0
0
0
-5
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
47
-1
0
0
0
0
0
0
1
-12
19
0
0
0
0
0
0
0
36
-12
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
-6
6
-7
0
0
0
0
0
0
0
-5
-8
0
0
0
4
0
0
0
-4
7
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-6
-4
0
0
0
0
0
0
-1
-32
41
0
0
0
0
0
0
-3
-3
8
0
0
0
0
0
0
4
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
33
28
0
0
0
0
0
0
0
-11
29
0
0
0
0
0
0
1
20
-17
0
0
0
0
0
1
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
1
0
0
-3
18
4
0
0
0
0
0
0
0
-15
11
0
0
0
-1
0
0
12
-10
-2
0
0
0
0
1
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
5
11
0
0
0
0
0
-2
0
19
-17
0
0
0
0
0
0
-4
10
-6
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
0
0
0
0
0
-17
-20
0
0
0
0
0
0
0
8
30
0
0
0
0
3
0
4
-7
11
0
0
0
0
4
-1
-2
3
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
33
0
0
0
0
0
-1
1
-15
-28
0
0
0
0
0
0
0
-1
-18
0
0
0
0
0
2
0
-1
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
8
0
0
0
0
0
0
-6
-6
-5
0
0
0
0
2
0
3
6
-36
0
0
0
0
-9
1
-3
-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
3
0
0
0
0
-3
-5
0
0
0
0
0
0
0
32
-3
0
0
0
-1
0
0
0
-3
-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
7
0
0
0
0
-49
40
0
0
0
0
0
0
0
-14
-1
0
0
0
0
0
0
0
-5
-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
0
0
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
15
0
0
0
0
0
0
0
52
3
0
0
0
2
0
0
0
-22
-1
0
0
0
0
0
-1
0
7
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
5
0
0
0
0
0
0
0
11
3
0
0
0
-3
0
0
-4
-6
26
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
-13
3
0
0
0
0
0
1
0
-32
-5
0
0
0
0
0
0
0
0
39
0
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
0
0
0
9
-9
0
0
0
0
0
0
0
-11
30
0
0
0
0
0
0
2
-1
-13
0
0
0
0
0
4
0
9
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
8
0
0
0
0
0
0
0
25
-9
0
0
0
0
0
0
-1
7
-11
0
0
0
0
0
-1
0
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
8
-14
0
0
0
0
0
0
0
-11
7
0
0
0
0
0
0
0
7
9
0
0
0
0
0
-1
0
-10
-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
-7
-30
0
0
0
0
0
0
0
-3
-22
0
0
0
7
0
0
0
-3
17
0
0
0
0
3
0
-2
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
-9
0
0
0
0
0
0
1
-1
8
0
0
0
-11
0
0
7
-6
24
0
0
0
0
-1
-1
-1
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
-2
0
0
-1
-20
-4
0
0
0
0
0
0
-2
8
-4
0
0
0
13
0
-1
1
0
7
0
0
0
0
-1
-1
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
-6
-11
0
0
0
0
0
0
0
-2
23
0
0
0
0
0
0
0
-12
25
0
0
0
0
0
-2
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
7
0
0
0
0
0
0
-1
0
-10
1
0
0
0
0
1
0
0
2
1
0
0
0
0
-1
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-10
0
0
0
0
0
0
0
4
40
0
0
0
0
0
0
0
2
-35
0
0
0
0
0
9
7
-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
-1
3
0
0
0
0
0
0
0
2
13
-2
0
0
0
0
0
0
2
-7
-6
0
0
0
0
-1
3
0
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
0
0
-1
-29
26
0
0
0
0
-2
2
0
-21
24
0
0
0
0
-1
2
-1
3
9
0
0
0
0
2
1
0
-4
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
6
-4
-1
-6
2
-10
10
1
0
0
-1
-9
8
-22
48
7
-9
0
0
1
10
-16
-37
52
11
1
0
0
-4
-21
49
-6
10
-19
3
0
-2
0
-1
-9
-25
-22
4
9
0
0
0
-7
1
2
-39
1
4
0
26
0
19
-8
30
67
1
2
0
0
19
-8
-4
2
0
-2
-3
-1
0
-1
-4
19
-7
8
1
0
0
0
1
-2
3
15
-16
-3
0
0
0
1
-1
11
-13
9
-4
0
0
0
4
12
-2
3
1
-19
0
4
-2
-3
0
15
4
0
-11
0
0
0
0
-6
-4
-2
-14
0
0
0
13
0
9
-9
11
-1
-5
0
0
0
3
4
-2
5
9
2
0
3
1
0
-11
8
-14
-2
0
0
0
0
0
-2
18
2
-5
0
0
0
1
0
0
3
11
11
0
0
0
0
2
8
-36
-12
-4
0
0
8
0
0
0
-2
-37
0
0
0
0
0
0
12
-7
-37
44
0
0
0
-12
15
-4
-1
18
-14
0
0
0
0
-16
9
0
17
-4
0
0
0
1
0
13
46
-4
25
0
0
0
0
0
2
2
-15
75
0
0
0
-8
0
13
10
-33
27
0
0
0
0
0
-27
-15
10
36
0
0
0
2
0
-6
0
-9
-14
0
0
0
0
0
-12
-4
18
16
0
0
0
-2
9
-9
7
-11
7
0
0
0
0
-7
-22
12
-22
0
0
0
0
0
0
0
0
-18
43
-8
5
0
0
0
0
0
6
0
13
-4
0
0
0
0
0
-9
3
-24
18
0
0
0
0
0
-3
0
0
22
0
0
0
0
0
-13
51
21
7
0
0
0
0
0
1
-27
8
19
0
0
0
0
1
0
56
5
0
0
0
0
0
0
0
-3
-87
12
0
0
0
0
0
12
-2
-4
0
0
0
0
0
0
-4
39
-21
0
0
0
0
0
2
-15
27
-1
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
-1
-51
14
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
-12
8
0
0
0
0
0
0
-2
6
-5
0
0
0
0
0
0
-29
2
0
0
0
0
0
0
0
6
30
0
0
0
0
0
0
0
28
-5
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
12
-42
0
0
0
0
0
0
0
-7
21
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-17
-10
0
0
0
0
0
0
0
13
21
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
8
0
0
0
0
0
0
0
-1
-19
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
-33
11
-31
3
0
0
0
0
0
6
6
-30
4
0
2
0
0
0
27
-36
16
2
0
0
0
0
0
0
9
22
-5
0
0
0
0
0
1
0
0
3
0
0
0
0
0
-4
18
2
-1
0
2
0
0
-1
-2
7
-23
-11
0
0
0
0
0
-8
1
56
-8
0
0
0
0
0
13
49
-8
0
0
0
0
0
0
0
50
-10
0
0
0
0
0
0
0
21
4
0
0
0
0
0
0
1
-22
0
0
0
0
0
0
0
-8
29
3
0
0
0
0
0
0
-1
-41
7
0
0
-6
0
0
0
-1
13
0
0
0
0
0
0
0
0
2
-12
0
0
0
0
0
0
3
17
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
-1
13
-3
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
0
-3
24
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
-9
1
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
8
16
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
-1
42
0
0
0
0
0
0
0
0
-36
0
0
0
1
0
0
0
0
11
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
20
49
-37
-7
0
0
0
0
0
0
-21
10
-2
0
0
0
0
0
-1
18
-4
4
0
0
2
0
1
15
0
5
4
0
0
0
0
0
0
-39
-18
3
0
0
0
0
0
1
-15
-24
-3
0
0
0
0
-2
0
29
-61
0
0
0
0
0
0
0
-1
14
11
0
0
0
0
0
-8
-17
15
0
0
0
0
0
-2
4
-8
5
0
0
0
0
0
-3
-3
-33
26
0
0
0
0
0
6
-2
1
-10
0
0
0
0
0
0
0
3
-10
0
0
0
0
0
1
7
-1
5
0
0
0
0
0
0
0
29
-10
0
0
0
0
0
0
0
-4
50
0
0
0
0
0
0
-3
63
0
0
0
0
0
0
0
8
-24
0
0
0
0
0
0
1
-1
46
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
18
0
0
0
0
0
0
0
0
11
0
0
0
0
1
0
0
0
8
0
0
0
0
0
0
0
-6
24
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
-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
-1
1
-10
-2
16
0
0
0
0
0
-7
5
-10
1
0
0
0
0
0
18
7
11
10
0
0
0
0
0
0
12
24
7
3
0
0
0
0
8
17
2
-3
0
0
0
0
0
0
3
3
-28
0
0
0
0
0
2
-1
23
-1
0
0
0
0
0
1
-6
9
-8
0
0
0
0
0
-7
-45
5
0
0
0
0
0
0
1
-13
4
0
0
0
0
0
0
7
32
2
0
0
0
0
0
0
-2
35
-13
0
-2
0
0
0
0
-10
-41
6
0
0
0
0
0
0
-3
-8
-3
0
0
1
0
0
0
0
3
3
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
6
3
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
1
39
0
0
-1
0
0
0
0
-3
8
0
0
0
0
0
0
0
-6
-11
0
0
0
0
0
0
1
-4
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
7
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
30
0
0
0
0
0
0
0
-1
-16
0
0
0
0
0
0
0
-1
71
0
0
0
0
0
0
0
6
-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
-17
-11
-3
1
0
0
0
0
0
2
-19
0
29
0
0
0
0
0
-11
-15
8
16
0
0
0
0
0
-6
-4
32
-10
0
0
0
0
0
6
-3
6
-3
0
0
0
0
0
-1
0
-9
10
0
0
0
0
0
1
-2
-9
1
0
0
0
0
0
0
0
23
-21
0
0
0
0
0
-12
6
10
0
0
0
0
0
0
-4
4
7
0
0
0
0
0
0
0
-17
-3
0
0
0
0
0
0
-6
10
3
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
-6
9
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
8
-6
0
0
0
0
0
0
0
3
21
0
0
0
0
0
0
0
-12
17
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
-1
-24
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-7
23
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
-9
0
0
0
0
0
0
0
7
-16
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-1
0
0
6
0
0
0
0
0
0
0
15
-21
-28
10
0
0
0
0
0
-16
-6
-4
13
0
0
0
0
0
-21
-8
-15
3
0
0
0
0
1
7
-7
22
5
0
0
0
0
0
2
6
-15
4
0
0
0
0
0
-1
1
-23
-14
0
0
0
0
0
4
0
9
-6
0
0
0
0
0
1
2
-4
8
0
0
0
0
0
0
39
1
0
0
0
0
0
0
2
10
-1
0
0
0
0
0
0
9
-26
3
0
0
0
0
0
0
0
-33
23
0
0
0
0
0
0
3
6
-1
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
3
-8
3
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
-7
3
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-9
-8
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
-1
57
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
-1
1
0
0
0
0
0
0
0
3
-21
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
45
0
0
0
0
0
0
0
-4
0
0
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
-10
-17
6
0
0
0
0
0
-3
-4
-12
16
0
0
0
0
0
0
10
3
13
0
0
-1
0
0
18
0
-36
3
0
0
0
0
0
0
-4
-20
17
0
0
0
-1
0
-1
2
-6
-7
0
0
0
0
0
0
4
6
-3
0
0
0
0
0
-1
0
34
-4
0
0
0
0
0
0
4
0
0
0
0
0
1
0
-1
18
9
0
0
0
0
0
0
0
9
11
0
0
0
0
0
0
-2
1
12
0
0
0
0
0
0
-1
21
0
0
0
0
0
0
0
-1
3
-5
0
0
0
0
0
0
0
3
19
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
9
22
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
4
0
-2
0
0
0
0
0
0
0
0
-22
0
0
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
13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
18
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
-9
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
-11
7
0
0
0
0
0
3
8
-23
4
0
0
0
0
0
0
28
14
-10
0
0
0
0
0
0
6
-24
-21
0
-3
0
0
0
0
8
-2
12
0
0
0
0
0
0
0
-21
13
0
0
0
0
0
0
-13
-15
17
0
0
0
0
0
0
0
9
-22
0
0
0
0
0
-4
-8
-2
12
0
0
0
0
0
0
13
-29
-3
0
0
0
0
0
0
0
33
-7
0
0
0
0
0
0
0
15
-32
0
0
0
0
0
1
1
-10
7
0
0
0
0
0
0
1
-23
10
0
0
0
0
0
0
0
36
-16
0
0
0
0
0
0
1
20
-15
0
0
0
0
0
-3
-10
-2
0
0
0
0
0
0
0
-10
10
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
-25
0
0
-2
0
0
0
3
-5
2
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
0
-1
-3
5
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
14
-4
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
4
5
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
-3
5
-28
0
0
0
0
0
0
-39
13
4
0
0
0
0
0
0
-24
13
-29
0
0
0
0
0
0
15
45
-41
0
0
0
0
0
0
2
-6
11
0
0
0
0
0
0
4
-5
5
0
0
0
0
0
0
0
15
-11
0
0
0
0
0
0
-3
-4
-15
0
0
0
0
0
0
-2
-12
10
0
0
0
0
0
0
-1
41
0
0
0
0
0
0
0
0
27
-9
0
0
0
0
0
0
0
-9
-9
0
0
0
0
0
0
-2
37
-1
0
0
0
0
0
0
0
22
-4
0
0
0
0
0
0
1
-16
-22
0
0
0
0
0
0
-2
-11
6
0
0
0
0
0
0
-9
14
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
-2
30
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
8
15
0
0
0
0
0
0
0
0
-11
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
-4
14
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
6
18
0
0
0
0
0
0
0
1
-26
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
2
-38
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
11
52
-38
0
0
0
0
0
0
-3
38
-12
0
0
0
0
0
0
-10
-41
23
0
0
0
0
0
0
2
11
-68
0
0
0
0
0
0
1
-31
16
0
0
0
0
0
0
0
13
2
0
0
0
0
0
0
2
2
-7
0
0
0
0
0
0
0
-7
-7
0
0
0
0
0
0
-1
2
4
0
0
0
0
0
0
0
46
-5
0
0
0
0
0
0
3
8
-10
0
0
0
0
0
0
0
44
-27
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
33
1
0
0
-1
0
0
0
0
24
-13
0
0
0
0
0
0
0
-8
-8
0
0
0
0
0
0
-13
6
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
1
-28
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
-8
-5
0
0
0
0
0
0
0
7
-19
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-9
21
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-8
15
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
15
0
0
0
1
0
0
0
0
14
0
0
0
0
0
0
0
-2
-15
0
0
0
0
0
0
0
-1
2
-12
0
0
0
0
0
0
-12
-16
-6
0
0
0
0
0
0
16
-26
25
0
0
0
0
0
-3
0
23
-55
0
0
0
0
0
0
6
-11
1
0
0
0
0
0
0
6
67
-20
0
0
0
0
0
0
0
23
-32
0
0
0
0
0
0
2
19
17
0
0
0
0
0
0
0
-18
9
0
0
0
0
0
0
0
-26
19
0
0
0
0
0
0
2
-17
9
0
0
0
0
0
-3
0
7
17
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
-26
8
0
0
0
0
0
0
0
4
23
0
0
0
1
0
0
0
-27
29
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
1
22
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
2
-14
0
0
0
0
0
0
1
0
-35
0
0
0
0
0
0
0
-1
23
0
0
0
0
0
0
0
-3
19
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
38
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-2
36
-31
0
0
0
0
0
0
-1
-15
3
0
0
0
0
0
-2
11
-13
6
0
0
0
0
0
0
2
-14
10
0
2
0
0
0
0
1
-1
5
0
0
0
0
0
0
0
33
-6
0
0
0
0
0
0
1
23
-11
0
0
0
0
0
0
0
3
-14
0
0
0
0
0
0
-7
17
5
0
0
0
0
0
0
-1
27
-6
0
0
0
0
0
2
0
44
-5
0
0
0
0
0
1
-1
-17
-2
0
0
0
0
0
0
0
24
6
0
0
0
0
0
0
-1
-21
23
0
0
0
0
0
0
0
33
7
0
0
0
0
0
0
0
-20
-3
0
0
0
0
0
1
2
9
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
-6
11
0
0
0
0
0
0
0
0
48
0
0
0
0
0
0
0
4
-16
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
-1
-1
2
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
1
1
23
0
0
0
0
0
0
0
0
44
0
0
-1
0
0
0
-1
3
16
0
0
0
0
0
0
0
0
32
0
0
0
4
0
0
0
-7
-22
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
1
-11
-4
0
0
0
0
0
0
-2
6
-19
0
0
0
0
0
0
2
6
-4
0
0
0
0
0
0
0
-37
18
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-10
4
0
0
0
0
0
0
0
4
-20
0
0
0
0
0
0
0
-11
43
0
0
0
0
0
0
1
-11
10
0
0
0
0
0
0
0
30
2
0
0
0
0
0
0
0
-47
16
0
0
0
0
0
-1
0
-4
34
0
0
0
0
0
0
0
-11
2
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
-14
1
0
0
0
0
0
0
0
-6
-13
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
-20
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
52
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
-3
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
15
-5
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
-8
8
0
0
0
0
0
0
0
-10
19
0
0
0
0
0
0
-2
12
-2
0
0
0
0
0
0
0
-6
-5
0
0
-2
0
0
0
0
-4
19
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
0
-23
3
0
0
1
0
0
0
0
-39
3
0
0
0
0
0
0
0
-9
30
0
0
0
0
0
0
0
-7
4
0
0
0
0
0
0
0
9
9
0
0
-2
0
0
0
0
-13
16
0
0
0
0
0
0
0
21
-1
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
0
-41
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
0
-1
0
0
-2
0
18
0
0
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
15
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
2
28
-33
0
0
0
0
0
0
8
2
-13
0
0
0
0
0
0
0
2
11
0
0
0
0
0
0
-2
7
-9
0
0
0
0
0
0
0
13
-6
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
0
9
0
0
0
0
0
0
0
-63
19
0
0
0
0
0
0
1
4
9
0
0
0
0
0
0
0
2
12
0
0
0
0
0
0
2
0
31
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
4
6
0
0
0
0
0
0
0
1
33
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
-2
24
0
0
0
0
0
0
0
-7
-7
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
6
-10
-5
0
0
0
0
0
0
0
-10
31
0
0
0
0
0
0
-1
-4
50
0
0
0
0
0
0
0
-11
16
0
0
0
0
0
0
-1
2
15
0
0
0
0
0
0
0
-2
18
0
0
0
0
0
0
-1
-1
-8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
27
-19
0
0
0
0
0
0
0
-12
8
0
0
0
0
0
0
0
-17
57
0
0
0
0
0
0
-4
-2
-16
0
0
0
0
0
0
-3
-16
7
0
0
0
0
0
0
0
-12
-14
0
0
0
0
0
0
1
-10
-11
0
0
0
0
0
0
2
0
-8
0
0
0
0
0
0
0
14
13
0
0
0
0
0
0
1
-12
39
0
0
0
0
0
0
2
-4
-28
0
0
0
0
0
0
0
-1
42
0
0
0
0
0
0
0
10
1
0
0
0
0
0
0
0
-12
18
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-4
-7
5
0
0
0
0
0
0
0
-10
-25
0
0
0
0
0
0
0
37
-5
0
0
0
0
0
0
0
14
-14
0
0
0
0
0
0
-3
14
-20
0
0
0
0
0
0
0
16
-23
0
0
0
0
0
0
0
-6
10
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-11
28
0
0
0
0
0
0
0
-2
15
0
0
0
0
0
0
0
7
-3
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
1
45
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
11
-18
0
0
0
0
0
0
0
9
21
0
0
0
0
0
0
0
-11
22
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
0
-8
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-13
23
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-33
-18
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
-20
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
53
0
0
0
0
0
0
0
-8
29
0
0
0
0
0
0
0
-1
-34
0
0
0
0
0
0
0
0
31
0
0
0
0
0
0
0
8
20
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
-3
-22
0
0
0
0
0
0
0
2
-16
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
0
0
-12
0
0
0
3
0
0
0
1
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
9
-2
0
0
0
0
0
0
0
2
13
0
0
0
0
0
0
0
-3
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
0
0
7
0
0
0
9
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
6
31
0
0
0
0
0
0
0
1
-14
0
0
0
0
0
0
0
6
8
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-7
16
0
0
0
0
0
0
0
-4
-14
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
2
-5
0
0
0
-4
0
0
0
0
17
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
2
-14
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
16
-23
0
0
0
0
0
0
0
2
-25
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-7
18
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-1
45
0
0
0
0
0
0
1
-6
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
42
0
0
0
0
0
0
0
6
18
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
-8
36
0
0
0
0
0
0
0
4
23
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
2
0
0
0
-1
0
0
0
2
-41
32
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
-1
-7
4
0
0
0
0
0
0
0
1
-6
0
0
1
0
0
0
0
-1
3
0
0
0
0
0
0
0
-1
29
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
-8
20
0
0
0
0
0
0
0
-42
43
0
0
0
0
0
0
0
26
-12
0
0
0
0
0
0
0
0
-18
0
0
-1
0
0
0
1
1
-18
0
0
0
0
0
0
0
2
-16
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
6
17
0
0
0
0
0
0
0
15
-10
0
0
0
0
0
0
0
-4
5
0
0
0
0
0
0
0
-3
-7
0
0
-2
0
0
0
0
7
-5
0
0
0
0
0
0
0
3
25
0
0
0
0
0
0
0
-10
-4
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
5
-13
0
0
0
0
0
0
0
21
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-1
37
0
0
0
0
0
0
0
-13
24
0
0
0
0
0
0
0
-2
-16
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
3
25
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
13
-11
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
2
10
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
-7
0
0
0
0
0
0
0
0
-1
0
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
-1
-6
0
0
0
0
0
0
1
-1
-4
0
0
0
0
0
0
0
-2
27
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-16
10
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
-23
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
3
19
0
0
0
0
0
0
0
-9
9
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
7
16
0
0
0
0
0
0
0
0
50
0
0
0
0
0
0
0
-3
36
0
0
0
0
0
0
0
1
-19
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
0
6
-1
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
24
-17
0
0
0
0
0
0
0
1
18
0
0
0
0
0
0
0
-3
18
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
18
-23
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-2
14
0
0
0
0
0
0
0
-3
-38
0
0
0
0
0
0
0
1
24
0
0
0
0
0
0
0
10
-1
0
0
0
0
0
0
0
10
6
0
0
0
0
0
0
0
9
-4
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
-17
9
0
0
0
0
0
0
0
-4
34
0
0
0
0
0
0
0
-23
27
0
0
0
0
0
0
0
6
-7
0
0
0
0
0
0
0
9
-23
0
0
0
0
0
0
0
-9
6
0
0
0
-1
0
0
0
-1
-1
0
0
0
0
0
0
0
-11
7
0
0
0
0
0
0
0
-28
12
0
0
0
0
0
0
0
9
-1
0
0
0
0
0
0
0
3
-22
0
0
0
0
0
0
0
-3
1
0
0
0
2
0
0
0
1
26
0
0
0
0
0
0
0
-19
10
0
0
0
-1
0
0
0
-9
-6
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
1
0
-1
9
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-18
-2
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
8
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
1
-29
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
-8
0
0
0
0
0
0
0
-2
18
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
1
13
0
0
0
0
0
0
0
-1
5
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
-12
34
0
0
0
0
0
0
0
-13
25
0
0
0
0
0
0
0
-15
-3
0
0
0
0
0
0
0
-7
6
0
0
0
0
0
0
0
-2
-42
0
0
0
0
0
0
0
-4
13
0
0
0
0
0
0
0
10
6
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
4
4
0
0
0
0
0
0
0
-23
46
0
0
0
0
0
0
0
3
19
0
0
0
0
0
0
0
1
28
0
0
0
0
0
0
0
32
18
0
0
0
0
0
0
0
3
3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-9
15
0
0
0
0
0
0
0
-11
36
0
0
0
0
0
0
0
-40
52
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
22
32
0
0
0
0
0
0
0
-4
17
0
0
0
0
0
0
0
18
22
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-1
-13
-4
0
0
0
0
0
0
0
22
-7
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
13
10
0
0
-2
0
0
0
0
8
-11
0
0
0
0
0
0
0
-17
-8
0
0
0
0
0
0
0
-14
6
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
-3
29
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
4
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
0
-8
3
0
0
0
0
0
0
0
-1
48
0
0
0
0
0
0
0
-6
20
0
0
0
0
0
0
0
-1
-18
0
0
0
0
0
0
0
-3
19
0
0
0
0
0
0
0
0
36
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
12
31
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
0
-3
29
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
1
3
0
0
0
0
0
0
0
2
-34
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
2
14
0
0
0
0
0
0
0
-20
29
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
6
12
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-9
7
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-4
17
0
0
0
0
0
0
0
-6
-24
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
0
-15
-3
0
0
0
0
0
0
0
3
-4
0
0
0
-3
0
0
0
3
9
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-11
18
0
0
0
0
0
0
0
3
26
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
-1
-28
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-1
-18
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
1
12
0
0
0
0
0
0
0
-2
-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
-13
-4
0
0
0
0
0
0
0
4
3
0
0
0
3
0
0
0
4
-10
0
0
0
0
0
0
0
3
10
0
0
0
0
0
0
0
9
7
0
0
0
0
0
0
0
0
51
0
0
0
0
0
0
0
-9
10
0
0
0
0
0
0
0
2
-35
0
0
0
0
0
0
0
-19
39
0
0
0
0
0
0
0
0
-37
0
0
0
-1
0
0
0
0
-26
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
-6
-12
0
0
0
0
0
0
0
-1
-39
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
60
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
1
-13
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
2
11
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
11
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
0
-8
14
0
0
0
0
0
0
0
0
39
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-1
18
-11
0
0
0
0
0
0
0
-6
34
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
0
-4
-12
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
4
-13
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
11
14
0
0
0
0
0
0
0
-3
-22
0
0
0
0
0
0
0
18
42
0
0
0
0
0
0
0
2
8
0
0
-1
0
0
0
0
6
-10
0
0
0
0
0
0
0
4
-9
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
-19
30
0
0
0
0
0
0
0
16
-12
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-13
12
0
0
3
0
0
0
0
-2
-11
0
0
0
0
0
0
0
12
15
0
0
0
0
0
0
0
-4
-30
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
2
5
12
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
8
8
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
-28
-15
0
0
0
0
0
0
0
3
8
0
0
0
0
0
0
0
-3
11
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
-1
-56
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
6
15
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
32
0
0
0
0
0
0
0
1
-21
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
-21
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
-6
16
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
8
10
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
2
19
0
0
0
0
0
0
0
-8
10
0
0
0
0
0
0
0
1
15
0
0
0
0
0
0
0
3
7
0
0
0
0
0
0
0
0
10
0
0
0
0
0
-2
0
0
25
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
1
-16
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
0
1
19
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-2
-8
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
-3
21
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
-1
-21
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
7
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
1
-18
0
0
0
3
0
0
0
-1
2
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
0
-1
-14
0
0
0
0
0
0
0
0
18
0
0
0
2
0
0
0
0
3
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
-6
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
3
18
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
10
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
8
0
0
0
0
0
0
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
0
1
-23
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
11
32
-14
10
-4
5
0
1
-3
0
0
-10
-22
-7
-6
10
4
8
0
-19
-14
-18
59
-20
8
-2
2
0
0
14
28
-22
-33
13
6
-1
-9
0
6
-16
-11
-2
4
-7
-12
0
0
15
39
-18
-97
27
10
6
0
-17
0
2
1
-43
-3
13
15
0
0
-3
-8
-7
-41
-2
17
15
-3
3
-2
-7
27
-11
10
-10
0
0
0
4
10
6
-52
18
-3
0
0
5
-9
-8
-29
25
13
2
0
0
0
-1
4
-15
-7
66
-8
0
-14
1
0
-10
-20
-69
29
35
0
0
0
1
-2
-8
-1
-16
8
0
0
0
0
2
-15
12
-12
19
0
0
0
0
0
-3
44
15
-12
0
-8
65
-32
4
-16
-7
14
0
0
0
0
0
-21
-38
48
15
0
0
0
-19
-1
-3
0
-6
13
0
0
0
0
0
-4
-29
45
6
0
0
19
38
0
25
26
-79
14
0
0
0
0
0
2
-24
-59
68
0
0
0
30
0
0
10
-79
38
0
0
0
0
1
3
9
16
1
0
0
0
1
0
-4
-3
23
-2
0
0
0
0
0
-4
4
3
-8
0
0
0
-4
0
3
13
-7
-9
0
0
0
0
0
3
-1
-61
-42
0
0
31
0
0
3
20
-19
-22
0
0
0
0
-1
0
1
-44
-7
0
0
0
1
0
-1
3
-10
-15
0
0
0
0
0
0
-4
1
-11
0
0
0
0
28
54
24
-11
24
-15
4
0
0
31
42
33
-15
29
-1
3
0
0
-12
5
-30
20
7
-5
18
0
0
-30
0
52
-25
6
8
33
0
0
-4
-5
6
-23
-11
4
20
0
0
-1
65
-49
-2
-39
3
5
0
0
1
11
-1
-13
54
-22
-11
0
0
15
0
-23
13
-18
-4
27
0
0
-15
-43
-17
19
25
12
0
0
0
-1
30
-1
-26
-2
3
0
0
0
-3
-7
22
27
16
-20
0
0
0
-9
4
-37
-26
20
21
0
0
0
0
-2
21
-6
-8
8
0
0
0
1
-4
16
-20
-19
-6
0
0
0
1
0
0
8
-10
23
0
0
0
6
4
2
10
9
-7
0
0
0
-6
2
12
-18
3
0
0
0
0
0
-38
4
14
25
0
0
0
0
0
-6
19
-26
43
0
0
0
0
6
4
-15
-7
39
0
0
0
0
0
-37
-21
2
29
0
0
0
0
1
-12
-3
-60
-12
0
0
0
0
0
-1
-25
24
12
0
0
0
0
1
-2
14
-2
-9
0
0
0
0
0
1
-1
-24
32
0
0
0
0
-2
0
-2
18
-15
0
0
0
0
-9
0
-7
12
23
0
0
0
0
0
2
0
-41
-19
0
0
0
0
0
0
0
-2
-2
0
0
0
0
-3
0
0
-43
49
0
0
0
0
0
0
0
-2
-6
0
0
0
0
-2
3
2
-5
22
0
0
0
5
43
20
10
-37
-3
2
19
0
0
-8
14
85
-45
17
1
25
0
-30
-3
1
-33
-44
-11
-15
31
0
0
-7
-27
27
30
21
-22
20
0
-53
4
-9
-10
-4
-24
19
20
0
0
0
-13
38
-44
28
36
22
0
-13
0
1
31
-23
17
6
15
0
0
8
18
-37
-8
-14
18
24
0
0
0
1
15
-88
38
4
0
0
0
0
-3
2
5
33
-5
0
0
34
-2
22
30
-45
-11
-13
0
0
0
-3
-25
-8
-2
28
-3
0
0
-3
0
0
14
-68
-4
39
0
0
0
0
1
-2
-3
5
-4
0
0
34
0
-3
16
-36
15
18
0
0
0
0
0
5
-16
-3
16
0
0
0
3
-37
16
15
16
0
0
0
0
-5
-8
-5
-31
44
0
0
0
6
0
0
-8
-35
18
0
0
0
0
0
-1
3
5
11
0
0
0
0
0
-1
-7
-22
15
0
0
0
0
2
-1
-33
-18
-25
0
0
0
-1
0
-2
8
3
-2
0
0
0
0
0
-6
-11
19
44
0
0
0
1
0
4
-39
-20
46
0
0
0
0
0
0
1
37
5
0
0
0
-3
0
-1
4
-46
30
0
0
0
0
0
0
0
1
-24
0
0
0
0
0
0
-13
-56
35
0
0
0
0
0
0
1
22
5
0
0
0
-12
0
0
0
-26
15
0
0
0
0
0
0
1
0
19
0
0
0
0
10
21
21
24
-7
13
11
0
0
20
15
-22
-6
-5
0
47
0
0
-3
16
24
-27
-28
-7
19
0
0
-29
21
-16
64
6
12
13
0
0
7
1
-16
-15
-23
11
9
0
0
-21
-31
5
37
14
2
19
0
0
0
-7
0
-1
61
28
6
0
0
-50
-10
24
52
55
9
0
0
0
0
28
49
10
7
-28
0
0
0
-29
-35
4
21
29
-1
0
0
0
0
4
30
-21
4
-1
0
0
0
28
-40
4
-34
18
-7
0
0
0
0
-1
6
-37
7
-13
0
0
0
-3
1
21
65
-8
-7
0
0
0
0
1
8
-39
-5
19
0
0
0
67
-32
-11
-67
49
18
0
0
0
-7
-11
1
44
-10
0
0
0
0
16
-5
-17
2
3
0
0
0
0
0
-1
-5
-30
43
0
0
0
0
-1
9
-14
1
53
0
0
0
0
3
3
-17
-12
25
0
0
0
0
-3
35
-14
26
1
0
0
0
0
0
4
-13
20
-14
0
0
0
0
10
24
-21
-19
-36
0
0
0
0
-2
0
20
-37
31
0
0
0
0
-3
0
-6
3
16
0
0
0
0
0
0
3
-46
86
0
0
0
0
0
-8
-13
-26
26
0
0
0
0
0
0
-3
-8
0
0
0
0
0
-3
1
1
-23
28
0
0
0
0
0
0
1
-3
49
0
0
0
0
-2
3
1
-2
-19
0
0
-49
-1
-7
-41
-45
-14
-12
14
0
0
0
-1
-36
-12
-11
-6
12
32
0
28
0
-10
-6
24
-9
7
3
0
0
1
-16
-54
8
29
-21
45
-12
3
0
-15
11
37
35
-6
-4
0
0
0
8
-9
-62
17
8
14
0
-6
0
0
-14
5
43
-8
9
0
0
0
1
-1
-3
-14
-17
18
36
1
0
6
56
-43
22
14
0
0
0
0
13
-19
-29
-24
12
0
0
2
0
-1
28
5
49
-17
0
0
0
0
-1
17
-34
-8
-8
0
2
0
0
2
15
2
8
3
0
0
0
0
0
3
-27
32
27
0
0
-8
0
1
-1
50
57
-18
0
0
0
0
0
-4
-4
36
-14
0
19
0
0
8
-8
-12
-14
0
0
0
0
0
7
-2
21
-22
0
0
0
-7
0
0
-8
-6
10
0
0
0
0
0
0
-6
1
37
0
0
-27
1
0
0
-34
-12
62
0
0
0
0
1
2
10
-19
-32
0
0
0
13
0
0
7
32
0
0
0
0
0
0
0
-6
16
-6
0
0
-2
1
0
-2
-34
-25
82
0
0
0
0
0
-1
3
17
-31
0
0
0
0
0
-3
0
56
8
0
0
0
0
0
2
1
-7
78
0
0
-13
0
0
2
12
17
-30
0
0
0
0
0
0
0
-24
37
0
0
0
-1
0
1
0
-46
-16
0
0
0
0
0
0
0
4
9
0
0
0
0
2
-37
3
-36
19
3
-4
0
0
-5
14
-2
4
-70
10
41
0
0
9
-16
57
-28
9
-13
-3
0
0
2
-41
30
2
9
-15
21
0
0
0
-36
-28
7
78
-1
-1
0
0
0
-1
10
28
-40
15
13
0
0
0
0
0
13
-18
-6
1
0
0
-11
30
11
35
-40
-32
27
0
0
0
0
-79
-23
34
19
0
0
0
0
-11
-7
-51
14
37
0
0
0
0
-1
10
10
33
-16
0
0
0
0
33
21
13
3
-19
0
0
0
0
-4
-4
3
33
14
0
0
0
0
-4
3
6
-20
16
0
0
0
0
0
16
0
-38
19
0
0
0
0
6
-4
16
13
-7
0
0
0
0
-14
14
0
-21
0
0
0
0
0
-3
0
-16
6
0
0
0
0
0
0
-13
-21
9
0
0
0
0
0
-17
4
-40
11
0
0
0
0
0
1
-12
-61
45
0
0
0
0
0
0
-2
-3
-39
0
0
0
0
0
-1
-1
-38
57
0
0
0
0
1
-19
-4
-16
53
0
0
0
0
0
1
4
-14
31
0
0
0
0
0
-2
0
-27
61
0
0
0
0
0
0
0
-12
42
0
0
0
0
0
4
-1
1
26
0
0
0
0
0
0
0
2
17
0
0
0
0
0
0
1
0
13
0
0
0
0
0
0
0
-8
41
0
0
0
0
0
0
2
-6
-1
0
0
0
-26
9
-12
32
-15
-1
2
10
0
0
0
20
25
-52
8
-3
30
0
-58
0
-2
35
-5
-8
-3
15
0
0
0
4
-11
13
-36
-26
13
0
29
0
-7
-19
-58
-47
27
13
0
0
0
0
8
-34
0
24
9
0
-8
0
1
-25
-59
8
22
25
0
0
0
-27
58
41
99
-14
-2
0
18
0
0
-33
-38
-34
12
0
0
0
0
4
-15
-6
25
26
0
0
6
0
0
18
15
-8
-7
0
0
0
0
2
-50
44
47
12
0
0
1
0
-1
-5
-14
27
19
0
0
0
0
-1
2
-4
54
13
0
0
0
0
0
1
-30
31
27
0
0
0
-2
6
4
-8
22
5
0
0
15
0
12
-57
-6
-10
0
0
0
0
0
1
-2
15
9
0
0
0
5
0
-2
-12
-22
11
0
0
0
0
0
0
-16
8
3
0
0
0
-28
0
0
-14
35
20
0
0
0
0
0
2
-2
-21
57
0
0
0
60
0
0
1
-48
0
0
0
0
0
0
-6
9
-13
32
0
0
0
1
0
0
0
28
-55
0
0
0
0
0
0
0
-44
89
0
0
0
-26
0
0
1
13
-2
0
0
0
0
0
-9
0
-4
25
0
0
0
1
0
-1
0
4
36
0
0
0
0
0
0
1
2
16
0
0
0
-17
0
-2
0
15
4
0
0
0
0
0
-2
4
1
4
0
0
0
0
17
-67
-37
2
45
11
0
0
0
49
-17
-37
-25
92
3
19
0
0
-1
-18
-22
-1
63
-17
15
0
0
10
15
19
3
-58
-1
9
0
0
1
-1
38
24
19
19
-4
0
0
-4
20
-17
9
1
-14
26
0
0
0
-3
10
23
5
1
6
0
0
-2
88
23
0
-1
-8
18
0
0
0
0
-6
-16
-6
18
0
0
0
-1
6
28
-1
11
1
0
0
0
-1
-2
-10
22
3
14
0
0
0
-15
0
-19
10
79
30
0
0
0
0
-3
-3
24
-6
-15
0
0
0
3
-17
-22
2
49
41
0
0
0
0
0
2
-1
19
-8
0
0
0
32
5
0
0
20
-56
0
0
0
-1
-22
5
-34
53
0
0
0
0
2
-10
4
-6
4
0
0
0
0
0
-1
18
7
-45
0
0
0
0
1
14
14
6
14
0
0
0
0
0
1
10
-30
23
0
0
0
0
-1
12
6
-18
0
0
0
0
0
-3
8
-1
-1
-29
0
0
0
0
0
-30
9
-7
16
0
0
0
0
0
1
1
4
-2
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
3
-1
11
0
0
0
0
0
12
0
1
-17
0
0
0
0
0
1
1
-6
-11
0
0
0
0
1
-3
0
2
-4
0
0
0
0
0
0
-4
-1
-11
0
0
0
0
8
-4
3
-8
12
0
0
32
-8
1
-44
-12
30
-3
-16
0
0
0
-11
4
3
39
-10
-8
0
0
5
0
-26
3
-46
43
15
0
0
0
1
0
-29
37
29
-15
0
8
2
0
-1
43
4
28
3
0
0
0
1
-9
-8
-80
36
14
0
0
2
0
0
-7
-18
41
11
0
0
0
0
1
8
-15
-19
7
0
9
0
2
2
23
-27
24
1
0
0
0
-8
19
0
-32
36
2
0
0
-3
-1
-32
25
19
-60
14
0
0
0
0
0
4
-2
0
0
0
-4
0
0
1
-77
-10
39
14
0
0
0
2
0
0
1
4
3
0
0
0
0
0
0
4
29
-1
0
0
0
0
0
0
-2
-11
21
0
-4
-9
-6
0
25
35
4
0
0
0
0
9
4
-16
26
-21
0
0
0
3
0
0
50
-8
-20
0
0
0
0
0
-6
0
-22
13
0
0
-22
3
0
-1
13
24
6
0
0
0
0
0
1
-5
-39
56
0
0
0
0
0
0
2
25
-4
0
0
0
0
0
1
4
-4
-13
0
0
0
0
0
13
4
22
-12
0
0
0
0
0
0
-3
26
-7
0
0
0
1
0
-1
-16
25
27
0
0
0
0
0
0
2
-34
54
0
0
22
0
0
9
-16
-20
34
0
0
0
0
0
1
3
17
-7
0
0
0
0
0
0
-3
9
12
0
0
0
0
0
-1
0
-1
10
0
0
0
0
14
-6
-22
-16
25
3
0
0
0
4
38
26
7
1
-16
0
0
0
0
-7
12
-60
41
20
0
0
0
2
28
44
14
-6
-14
0
0
0
4
-21
22
43
40
2
0
0
0
0
14
26
-20
5
11
0
0
0
0
-8
6
-26
24
9
0
0
0
-4
50
-8
19
7
-13
0
0
0
0
7
-82
40
61
0
0
0
0
0
-6
-16
-23
4
10
0
0
0
0
1
-15
0
8
10
0
0
0
-3
-2
-18
-24
69
16
0
0
0
3
7
-8
-27
-11
4
0
0
0
-2
0
20
95
-13
-15
0
0
0
0
0
1
4
28
6
0
0
0
0
-7
3
-23
13
22
0
0
0
0
-7
43
-11
18
0
0
0
0
0
3
-11
-28
51
0
0
0
0
0
2
-2
-24
24
0
0
0
0
-2
0
0
-21
6
0
0
0
0
0
0
-4
43
-8
0
0
0
0
-1
-1
-4
43
2
0
0
0
0
0
0
1
-13
-28
0
0
0
0
0
3
1
-36
0
0
0
0
0
1
2
-3
7
26
0
0
0
0
0
0
0
10
-28
0
0
0
0
4
0
0
0
-7
0
0
0
0
0
-2
-1
1
19
0
0
0
0
0
0
0
-2
7
0
0
0
0
1
4
0
15
9
0
0
0
0
0
0
2
9
18
0
0
0
0
0
1
0
41
-46
0
0
0
7
19
-59
39
-13
18
-4
0
0
0
-4
1
-20
5
41
10
0
0
-41
4
1
-13
-29
60
41
0
0
0
0
-9
3
-43
64
21
0
0
9
0
7
7
20
-26
-3
0
0
0
0
6
-17
-31
-11
43
0
0
-4
0
3
19
2
12
26
0
0
0
-3
2
19
18
-13
4
0
0
-2
-6
7
55
-3
-14
-2
0
0
0
7
0
-1
-2
-20
10
0
0
26
0
0
-14
-43
19
8
0
0
0
1
-1
-11
-7
1
30
0
0
-6
0
0
-3
-16
33
1
0
0
0
0
0
1
-8
65
9
0
0
-22
0
0
2
6
45
9
0
0
0
1
0
-8
15
-5
12
0
0
-1
-3
-2
11
28
1
0
0
0
0
2
-1
-12
5
-20
0
0
0
1
0
0
53
8
-41
0
0
0
0
0
2
-3
-27
50
0
0
0
0
0
0
29
-50
38
0
0
0
0
-4
0
-11
-19
38
0
0
0
-9
0
0
0
-22
4
0
0
0
0
-1
0
-27
8
58
0
0
0
0
0
3
-7
11
1
0
0
0
0
0
1
0
38
23
0
0
0
-1
0
0
-3
-29
18
0
0
0
0
-1
0
1
18
45
0
0
0
-2
0
-2
2
-15
14
0
0
0
0
0
-2
0
-24
36
0
0
0
14
0
0
-1
-50
32
0
0
0
0
1
1
2
-20
2
0
0
0
0
-22
15
-18
-14
-4
0
0
0
0
-33
12
-8
47
32
-8
0
0
0
0
-1
25
-23
12
-1
0
0
0
59
10
-4
5
12
-68
0
0
0
-1
-32
22
3
37
18
0
0
0
-3
4
-28
13
27
-6
0
0
0
0
29
-11
16
-43
-3
0
0
0
-17
-2
27
34
20
0
0
0
0
0
-4
-11
-19
9
23
0
0
0
-7
-9
18
7
38
-17
0
0
0
-2
2
-6
-56
33
13
0
0
0
-2
30
8
14
-22
-14
0
0
0
0
-1
0
-35
7
28
0
0
0
6
4
2
-3
55
-22
0
0
0
0
11
0
3
-23
18
0
0
0
-6
-9
-2
-3
3
7
0
0
0
1
-1
54
2
13
0
0
0
0
0
0
-13
-9
18
0
0
0
0
0
0
17
-17
17
0
0
0
0
0
1
43
1
-9
0
0
0
0
0
0
-4
-9
31
0
0
0
0
1
-3
-7
23
-39
0
0
0
0
0
4
7
15
-13
0
0
0
0
15
4
8
-14
-40
0
0
0
0
0
-3
1
3
2
0
0
0
0
6
0
-5
25
22
0
0
0
0
0
-1
-1
14
37
0
0
0
0
-3
0
2
-14
50
0
0
0
0
0
1
0
6
-11
0
0
0
0
0
-2
0
29
31
0
0
0
0
0
-2
-4
1
48
0
0
0
0
-15
-3
0
3
55
0
0
30
34
8
-4
26
-58
0
-7
0
0
0
1
-6
12
-19
8
5
0
0
-12
0
0
-43
-20
88
18
0
0
0
0
0
-1
-42
50
24
0
8
0
-1
-1
-28
-40
17
22
0
0
0
1
2
11
-11
11
0
0
0
1
0
4
-32
44
13
20
0
0
0
1
0
-1
2
54
8
0
-31
-2
0
-38
45
-9
9
18
0
0
0
0
0
-21
-15
-42
28
0
0
2
0
0
0
-26
48
11
0
0
0
0
0
0
17
43
20
0
53
0
0
0
-3
-3
25
4
0
0
0
0
-2
-1
-12
51
15
0
0
4
0
0
2
-3
43
10
0
0
0
0
-1
0
7
21
13
0
-8
0
0
0
14
28
7
0
0
0
0
0
0
-1
1
-6
0
0
0
8
0
-3
1
69
6
0
0
0
0
0
0
0
-5
32
0
0
15
3
0
0
4
-12
14
0
0
0
0
-2
0
9
-47
43
0
0
0
-1
0
0
4
12
-11
0
0
0
0
0
0
0
-15
6
0
0
1
0
0
-2
-29
19
32
0
0
0
0
0
0
10
15
-8
0
0
0
2
0
0
0
20
32
0
0
0
0
0
0
1
7
-14
0
0
2
0
0
0
-3
-11
25
0
0
0
0
0
-3
9
-25
32
0
0
0
2
0
0
-1
6
-20
0
0
0
0
0
0
-6
-2
-24
0
0
0
0
-1
17
5
-27
4
17
0
0
0
1
21
-6
-1
8
-16
0
0
0
-6
8
-10
-52
15
37
0
0
0
14
-21
3
54
-12
-12
0
0
0
0
7
1
-39
21
25
0
0
0
0
3
-1
49
-74
11
0
0
0
0
-1
0
-25
8
15
0
0
0
-7
6
0
17
-20
-3
0
0
0
2
18
35
19
3
-13
0
0
0
2
4
-1
2
34
-1
0
0
0
0
1
1
-2
-19
12
0
0
0
2
-10
-6
2
9
7
0
0
0
0
-3
8
-32
20
8
0
0
0
2
7
1
-11
-9
22
0
0
0
0
-2
-8
3
-7
11
0
0
0
3
0
-4
9
32
1
0
0
0
0
0
-11
-2
13
0
0
0
0
0
5
16
-73
7
0
0
0
0
0
0
6
5
3
0
0
0
0
-1
2
-19
-2
47
0
0
0
0
0
7
-10
-8
37
0
0
0
0
0
-2
6
23
9
0
0
0
0
0
0
0
-20
20
0
0
0
0
-2
2
4
14
-52
0
0
0
0
0
6
-6
-32
37
0
0
0
0
0
0
-3
-2
48
0
0
0
0
0
0
3
2
30
0
0
0
0
-1
6
3
-8
4
0
0
0
0
0
0
0
-6
43
0
0
0
0
0
-10
-2
14
28
0
0
0
0
0
0
0
20
47
0
0
0
0
0
0
0
4
-26
0
0
0
10
4
-10
27
-74
-9
16
0
0
0
0
0
9
18
-8
-8
0
0
52
0
3
-7
-29
27
42
0
0
0
-2
0
17
-4
19
22
0
0
-11
-3
-2
12
13
-3
12
0
0
0
0
0
0
-22
-4
27
0
0
-15
0
1
5
-49
34
21
0
0
0
3
-2
-8
2
-43
43
0
0
2
0
2
-4
27
1
3
0
0
0
0
-2
0
-4
8
20
0
0
-18
0
-1
-4
-26
34
17
0
0
0
1
-1
-1
0
34
-10
0
0
1
0
0
2
-9
32
1
0
0
0
0
0
-4
6
1
15
0
0
-25
0
0
1
3
9
10
0
0
0
-10
0
0
-8
15
15
0
0
19
0
1
3
-2
-31
0
0
0
0
-1
2
27
42
-50
0
0
0
-5
0
0
2
-7
10
0
0
0
0
0
3
2
1
41
0
0
0
-1
0
-4
10
-11
48
0
0
0
0
0
0
0
15
-28
0
0
0
-8
0
0
2
-11
37
0
0
0
0
7
0
7
0
0
0
0
0
0
0
0
-1
-50
46
0
0
0
0
2
0
-1
-24
3
0
0
0
16
0
0
-1
0
38
0
0
0
0
-2
-4
-4
8
66
0
0
0
0
0
2
6
-6
15
0
0
0
0
0
-6
0
0
12
0
0
0
22
0
0
0
-24
9
0
0
0
0
-1
3
3
4
51
0
0
0
0
5
-34
43
24
-29
15
0
0
0
3
16
-6
-2
17
0
0
0
0
-1
0
-4
-15
-3
65
0
0
0
9
-9
-21
2
-26
25
0
0
0
0
-8
-24
24
3
-35
0
0
0
0
-3
2
-21
3
22
0
0
0
1
-3
-2
-1
-12
11
0
0
0
16
5
-11
0
1
-17
0
0
0
0
-2
-7
3
21
16
0
0
0
7
0
0
0
19
-24
0
0
0
0
0
-7
7
-6
21
0
0
0
-1
2
0
0
-36
19
0
0
0
0
2
1
0
58
0
0
0
0
-4
3
0
5
-12
10
0
0
0
0
0
1
0
41
-2
0
0
0
-9
1
3
0
7
7
0
0
0
4
-8
16
-1
6
0
0
0
0
7
0
1
-9
-23
0
0
0
0
0
0
-4
-1
-3
0
0
0
0
-9
0
-24
9
10
0
0
0
0
0
2
3
1
12
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
-1
4
3
0
0
0
0
-5
-2
-17
5
19
0
0
0
0
0
0
-1
-7
39
0
0
0
0
0
0
-3
-6
52
0
0
0
0
0
1
0
-37
53
0
0
0
0
3
-4
3
-2
26
0
0
0
0
0
0
-2
0
16
0
0
0
0
0
7
0
-3
20
0
0
0
0
0
0
0
0
1
0
0
0
0
3
-2
7
-4
0
0
0
24
-36
-26
-42
-29
18
-4
0
0
0
0
1
5
-69
4
10
0
0
0
-10
-3
18
52
-4
11
0
0
0
0
2
-30
-23
-12
62
0
0
-21
80
0
0
-7
-14
5
0
0
0
0
8
-18
-56
14
-11
0
0
0
11
0
0
-46
21
32
0
0
0
0
-1
1
-39
3
41
0
0
0
0
3
6
54
-25
10
0
0
0
0
0
-3
1
37
20
0
0
0
-3
0
0
-6
13
-2
0
0
0
0
0
0
-1
-25
39
0
0
-6
0
0
-1
-37
-23
68
0
0
0
0
0
0
-18
41
12
0
0
0
0
0
0
-4
-28
62
0
0
0
0
0
3
0
-15
10
0
0
0
-11
-3
6
26
-14
41
0
0
0
0
0
1
22
-1
-12
0
0
0
3
0
-3
-28
12
16
0
0
0
0
0
0
0
-5
19
0
0
7
-8
0
10
-3
-14
14
0
0
0
0
0
0
6
-39
-5
0
0
0
0
0
0
-10
-10
26
0
0
0
0
0
0
0
-25
19
0
0
0
0
0
4
0
11
19
0
0
0
0
0
1
3
15
22
0
0
0
-3
0
3
18
-29
26
0
0
0
0
0
0
0
-73
45
0
0
0
0
0
0
-7
-37
5
0
0
0
0
0
0
1
-38
3
0
0
0
0
0
0
4
-44
-9
0
0
0
0
0
0
-9
-17
-34
0
0
0
0
43
1
5
32
-14
0
0
0
0
2
17
7
36
-13
0
0
0
0
-1
1
-22
12
21
0
0
0
0
1
-1
-3
56
11
0
0
0
0
0
-1
2
17
6
0
0
0
0
-10
4
13
-65
8
0
0
0
0
0
-9
1
5
25
0
0
0
0
2
45
6
-42
-3
0
0
0
0
0
-13
0
22
19
0
0
0
0
0
0
1
-7
17
0
0
0
0
0
2
3
-67
47
0
0
0
0
0
-4
-2
13
55
0
0
0
0
0
-6
19
-29
5
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-4
-17
0
0
0
0
0
0
-2
1
28
0
0
0
0
1
5
-21
-2
15
0
0
0
0
2
-4
11
-3
17
0
0
0
0
0
0
32
-13
-11
0
0
0
0
0
0
-3
-14
-9
0
0
0
0
0
-2
23
-14
-10
0
0
0
0
0
2
10
-24
23
0
0
0
0
0
0
0
43
-1
0
0
0
0
0
0
1
-24
8
0
0
0
0
-1
0
-11
17
38
0
0
0
0
0
0
-4
-13
15
0
0
0
0
0
0
1
-19
24
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
1
-48
12
0
0
0
0
0
0
-1
-53
-5
0
0
0
0
0
0
0
-22
18
0
0
0
0
0
0
0
-47
27
0
0
0
51
-10
16
-68
28
-22
0
0
0
0
0
6
8
-19
2
0
0
0
-21
0
0
-14
-34
52
0
0
0
0
2
14
19
4
-9
0
0
0
27
0
-10
-56
-17
43
0
0
0
0
-1
0
3
2
33
0
0
0
-6
0
-2
-8
2
28
0
0
0
0
0
4
25
-48
0
0
0
0
0
0
-1
-1
2
24
0
0
0
0
0
0
-2
-9
12
0
0
0
-2
0
0
23
-68
-3
0
0
0
0
0
0
-3
3
15
0
0
0
0
0
0
-67
29
34
0
0
0
0
0
0
19
-18
23
0
0
0
-4
0
0
-4
22
-22
0
0
0
0
1
1
-6
-5
12
0
0
0
1
0
-4
-12
-37
28
0
0
0
0
0
-1
-6
-44
63
0
0
0
3
0
-2
-6
-1
9
0
0
0
0
0
1
3
11
-3
0
0
0
5
0
0
-29
-29
41
0
0
0
0
0
0
-6
20
3
0
0
0
11
0
1
2
-46
28
0
0
0
0
0
0
0
12
24
0
0
0
-3
0
-9
22
-25
33
0
0
0
0
0
0
-1
-20
31
0
0
0
0
0
6
41
9
-5
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
0
3
-45
30
0
0
0
0
0
0
0
-25
9
0
0
0
16
0
0
-4
-13
7
0
0
0
0
0
0
0
-5
8
0
0
0
0
-8
22
-10
4
4
0
0
0
0
14
-11
-33
18
3
0
0
0
0
3
-2
67
-67
19
0
0
0
0
19
0
-12
-17
32
0
0
0
0
-3
-7
25
-57
31
0
0
0
0
13
-25
-25
-23
55
0
0
0
0
0
1
7
-14
16
0
0
0
0
-31
12
-19
-14
81
0
0
0
0
1
1
-16
1
21
0
0
0
0
0
0
-2
1
4
0
0
0
0
0
-1
3
18
-5
0
0
0
0
-2
-6
-20
17
41
0
0
0
0
-1
-3
7
17
-1
0
0
0
0
-1
2
0
15
-34
0
0
0
0
0
0
5
2
-17
0
0
0
0
11
-2
-1
-3
11
0
0
0
0
1
-7
5
-29
20
0
0
0
0
0
1
28
-60
41
0
0
0
0
0
0
-10
-3
11
0
0
0
0
0
-1
-6
10
-11
0
0
0
0
0
0
-4
10
2
0
0
0
0
-2
3
-6
15
0
0
0
0
0
0
0
-1
37
14
0
0
0
0
-7
0
9
23
7
0
0
0
0
0
-4
1
-50
18
0
0
0
0
-1
-3
0
28
-5
0
0
0
0
0
0
0
7
10
0
0
0
0
0
-1
0
-1
-22
0
0
0
0
0
0
0
-30
21
0
0
0
0
-1
0
0
-2
4
0
0
0
0
0
0
-2
-10
30
0
0
0
0
3
0
0
-2
-5
0
0
-19
-15
0
-53
-22
1
28
0
0
0
0
0
4
10
-6
11
0
0
0
7
0
0
44
-64
13
0
0
0
0
0
1
-7
34
-6
0
0
-7
3
0
30
-47
-15
22
0
0
0
0
0
-11
1
-19
36
0
0
0
-16
0
0
-40
30
59
0
0
0
0
0
2
-2
-7
63
0
0
21
0
-7
1
-26
33
-14
0
0
0
0
-1
-1
18
6
31
0
0
0
1
0
0
14
-30
7
0
0
0
0
0
-1
-2
-4
40
0
0
9
0
0
0
-8
26
-2
0
0
0
0
0
-3
1
13
1
0
0
0
0
0
0
11
9
25
0
0
0
0
0
0
-1
1
6
0
0
0
-6
0
-2
11
-9
12
0
0
0
0
0
2
2
-60
33
0
0
0
1
0
0
1
-58
41
0
0
0
0
0
-2
-2
35
35
0
0
-5
-7
0
10
0
-5
27
0
0
0
0
0
-3
3
-10
5
0
0
0
8
0
0
0
-2
10
0
0
0
0
0
0
10
-19
23
0
0
1
0
0
6
-38
-8
3
0
0
0
0
0
6
1
32
4
0
0
0
-2
0
-6
-1
-27
33
0
0
0
0
0
0
0
-17
30
0
0
-11
0
0
-1
12
-45
25
0
0
0
0
0
0
1
-32
25
0
0
0
-6
0
0
0
15
44
0
0
0
0
0
0
0
27
-20
0
0
0
0
-15
43
36
-20
19
0
0
0
0
5
12
-24
-86
36
0
0
0
0
-7
-11
11
21
17
0
0
0
0
-4
-6
6
2
21
0
0
0
0
0
7
-3
-18
12
0
0
0
0
0
26
21
-43
-25
0
0
0
0
0
2
-1
3
17
0
0
0
0
0
3
0
32
34
0
0
0
0
0
-15
-2
-15
12
0
0
0
0
4
-6
-1
-29
53
0
0
0
0
0
0
0
32
-26
0
0
0
0
0
-27
4
-37
32
0
0
0
0
0
0
-27
19
21
0
0
0
0
1
-1
1
-18
50
0
0
0
0
0
0
-4
-4
4
0
0
0
0
0
7
7
-17
-10
0
0
0
0
0
15
-6
46
-18
0
0
0
0
1
-6
-1
7
4
0
0
0
0
0
1
0
-44
27
0
0
0
0
0
-1
0
8
-11
0
0
0
0
0
-2
0
20
-11
0
0
0
0
0
0
-2
-38
28
0
0
0
0
0
0
-6
5
-2
0
0
0
0
0
0
0
-43
28
0
0
0
0
1
0
10
4
14
0
0
0
0
0
-2
0
-38
42
0
0
0
0
0
0
0
-19
4
0
0
0
0
0
0
-8
-11
18
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
1
2
34
-47
0
0
0
0
0
0
0
-13
28
0
0
0
0
1
0
-2
16
5
0
0
0
27
-6
-9
-27
18
20
0
0
0
0
0
-1
28
-47
14
0
0
0
14
0
2
3
-39
17
0
0
0
0
0
-1
6
15
15
0
0
0
11
0
-19
-19
30
32
0
0
0
0
0
0
17
38
-54
0
0
0
11
0
0
25
-25
-9
0
0
0
0
0
1
44
-19
-17
0
0
0
-2
0
-1
23
31
-12
0
0
0
0
0
6
7
4
10
0
0
0
6
0
0
-2
-47
40
0
0
0
0
0
1
2
-9
52
0
0
0
1
0
-1
-13
-39
-26
0
0
0
0
0
-1
0
1
22
0
0
0
1
0
0
3
-5
24
0
0
0
0
0
-2
0
0
7
0
0
0
-1
0
-1
-19
26
9
0
0
0
0
0
2
0
-45
68
0
0
0
-15
0
1
-6
44
3
0
0
0
0
0
-4
-1
-15
56
0
0
0
2
0
-1
-19
15
13
0
0
0
0
0
0
0
-4
-13
0
0
0
14
0
0
1
-46
-5
0
0
0
0
0
8
1
3
26
0
0
0
0
0
4
13
0
7
0
0
0
0
0
0
0
29
11
0
0
0
11
0
0
0
-13
-3
0
0
0
0
0
0
1
4
0
0
0
0
-8
0
0
1
13
9
0
0
0
0
0
1
-6
0
9
0
0
0
-14
0
0
1
10
58
0
0
0
0
0
-1
4
25
28
0
0
0
0
7
9
13
-47
14
0
0
0
0
2
21
17
-14
-9
0
0
0
0
-1
-1
-7
-6
1
0
0
0
0
-22
-4
0
-6
38
0
0
0
0
0
0
20
12
-83
0
0
0
0
0
-1
10
3
5
0
0
0
0
0
1
10
3
-35
0
0
0
0
27
2
27
1
-17
0
0
0
0
0
-6
2
-18
21
0
0
0
0
-3
2
-2
23
3
0
0
0
0
7
0
-1
-5
45
0
0
0
0
-3
-2
3
11
-16
0
0
0
0
0
3
-1
-19
60
0
0
0
0
2
-3
-3
17
-12
0
0
0
0
0
0
0
9
21
0
0
0
0
-6
5
0
2
-24
0
0
0
0
-1
12
-3
-34
37
0
0
0
0
0
-8
0
-10
21
0
0
0
0
0
0
0
-7
32
0
0
0
0
0
-2
-2
58
-21
0
0
0
0
0
1
0
-20
5
0
0
0
0
1
-3
8
-3
44
0
0
0
0
0
0
0
-8
7
0
0
0
0
0
20
-1
4
-28
0
0
0
0
0
-3
0
-22
29
0
0
0
0
0
0
0
10
-24
0
0
0
0
-3
0
-3
9
41
0
0
0
0
0
-3
0
6
53
0
0
0
0
0
0
-3
-1
37
0
0
0
0
-2
3
1
8
2
0
0
0
0
0
-1
0
5
16
0
0
0
0
-2
1
0
20
18
0
0
24
0
-2
-20
10
5
12
0
0
0
0
-4
-2
4
-1
6
0
0
0
0
1
-4
-37
-17
32
0
0
0
0
0
0
0
-36
-12
0
0
-28
0
0
-13
0
33
41
0
0
0
0
3
-2
-2
-20
29
0
0
0
0
0
0
4
50
-18
0
0
0
0
0
0
0
-12
25
0
0
0
0
-2
9
-13
28
15
0
0
0
0
0
1
1
19
-26
0
0
0
-4
0
3
12
-9
-2
0
0
0
0
0
0
0
-6
31
0
0
3
8
0
1
17
-70
2
0
0
0
0
0
0
-2
-27
68
0
0
0
0
0
0
4
18
-13
0
0
0
0
0
2
-2
17
4
0
0
0
-1
-10
-3
40
-4
18
0
0
0
0
0
1
-3
21
-2
0
0
0
-1
0
-1
18
24
0
0
0
0
0
0
4
-3
-25
26
0
0
-17
-2
0
0
39
-32
27
0
0
0
0
0
-12
-3
6
31
0
0
0
0
0
0
1
-20
12
0
0
0
0
0
0
0
30
4
0
0
0
0
1
-7
-8
1
34
0
0
0
0
0
0
-6
17
-2
0
0
0
2
0
2
-1
-30
14
0
0
0
0
0
0
0
-20
18
0
0
14
-2
0
0
6
5
10
0
0
0
0
-1
-1
0
-24
14
0
0
0
-4
0
0
-2
33
7
0
0
0
0
0
0
0
-47
16
0
0
0
0
20
-16
-14
8
6
0
0
0
0
-6
8
11
-37
16
0
0
0
0
1
0
7
-20
-2
0
0
0
0
0
6
-7
-8
17
0
0
0
0
0
-10
-6
0
56
0
0
0
0
-3
-2
-4
21
47
0
0
0
0
0
0
0
-22
19
0
0
0
0
1
0
-2
-20
34
0
0
0
0
0
1
13
-42
11
0
0
0
0
0
3
2
-13
16
0
0
0
0
-2
-1
10
21
-3
0
0
0
0
0
0
-1
-37
6
0
0
0
0
0
2
-1
-30
16
0
0
0
0
0
-1
4
-10
-14
0
0
0
0
0
0
0
13
4
0
0
0
0
1
0
0
7
5
0
0
0
0
0
8
2
-17
0
0
0
0
0
3
-1
7
-19
8
0
0
0
0
1
-3
-8
-32
40
0
0
0
0
0
0
-1
-2
16
0
0
0
0
0
6
18
6
9
0
0
0
0
0
0
-1
10
46
0
0
0
0
0
0
0
18
4
0
0
0
0
-1
0
0
3
50
0
0
0
0
-1
0
-40
26
15
0
0
0
0
-1
-6
9
-21
11
0
0
0
0
1
0
1
-55
36
0
0
0
0
0
0
1
-35
27
0
0
0
0
0
0
1
5
-1
0
0
0
0
0
0
7
-43
16
0
0
0
0
0
0
2
-11
11
0
0
0
0
-3
0
-2
18
-17
0
0
0
9
9
40
-5
-47
-1
0
0
0
0
-2
0
-11
25
-4
0
0
0
-7
1
1
-74
46
24
0
0
0
0
-7
7
24
-60
34
0
0
0
-3
0
-1
-4
-36
11
0
0
0
0
0
2
-8
-25
9
0
0
0
-22
0
0
-15
-18
64
0
0
0
0
0
0
2
-11
20
0
0
0
0
0
-1
-11
-3
-7
0
0
0
0
0
0
15
20
7
0
0
0
1
0
0
5
-36
48
0
0
0
0
4
0
-9
-3
-11
0
0
0
0
0
1
28
14
-2
0
0
0
0
0
0
4
-1
-5
0
0
0
13
0
0
2
13
-12
0
0
0
0
-2
0
13
0
-34
0
0
0
0
3
0
-24
5
17
0
0
0
0
-1
0
-10
22
37
0
0
0
-15
0
0
-34
-21
46
0
0
0
0
1
0
-2
-16
32
0
0
0
6
0
-6
3
-27
26
0
0
0
0
0
0
12
10
0
0
0
0
7
0
0
0
0
15
0
0
0
0
7
4
-2
-5
33
0
0
0
-1
4
7
-33
39
18
0
0
0
0
0
0
0
-6
26
0
0
0
0
0
0
6
-7
-16
0
0
0
0
1
0
0
21
2
0
0
0
0
0
0
-3
11
5
0
0
0
0
1
0
0
-43
34
0
0
0
16
-3
0
-6
18
-8
0
0
0
0
-1
0
4
-1
7
0
0
0
0
-13
23
9
-37
-1
0
0
0
0
-1
14
12
-26
58
0
0
0
0
0
-2
3
-30
67
0
0
0
0
-18
4
-10
7
10
0
0
0
0
2
1
-7
-45
42
0
0
0
0
2
-19
12
-24
-1
0
0
0
0
0
6
0
9
36
0
0
0
0
16
-3
-4
40
26
0
0
0
0
0
0
9
-20
25
0
0
0
0
0
0
-2
66
-35
0
0
0
0
-1
0
3
1
7
0
0
0
0
6
2
-15
-2
-9
0
0
0
0
0
0
24
40
-29
0
0
0
0
2
2
-3
9
-10
0
0
0
0
0
0
-5
3
14
0
0
0
0
-14
2
3
12
13
0
0
0
0
0
0
8
-50
40
0
0
0
0
4
0
1
-13
11
0
0
0
0
0
0
14
-31
-10
0
0
0
0
2
0
7
55
-6
0
0
0
0
0
0
-10
5
22
0
0
0
0
-1
0
13
-32
38
0
0
0
0
0
0
0
7
-34
0
0
0
0
-16
0
3
-2
76
0
0
0
0
0
0
-7
-20
2
0
0
0
0
-1
1
0
-56
49
0
0
0
0
0
0
0
31
-22
0
0
0
0
2
0
-12
17
1
0
0
0
0
0
0
0
-26
32
0
0
0
0
1
0
-12
36
-22
0
0
0
0
0
0
0
-5
36
0
0
0
0
-9
0
4
-22
25
0
0
-28
2
-1
48
6
5
3
0
0
0
0
-2
-1
27
-51
-4
0
0
0
-3
0
0
-9
-18
-13
0
0
0
0
0
0
-1
-23
35
0
0
-4
-3
0
0
2
-29
26
0
0
0
0
0
10
0
6
11
0
0
0
9
0
0
0
41
23
0
0
0
0
0
2
0
2
6
0
0
-7
0
0
4
-8
-6
22
0
0
0
0
0
0
0
21
31
0
0
0
0
0
0
0
-22
15
0
0
0
0
0
0
-1
-7
30
0
0
-20
0
0
0
2
-32
29
0
0
0
0
0
3
0
-10
24
0
0
0
-1
0
0
-3
14
17
0
0
0
0
0
-4
0
-1
-5
0
0
4
-1
0
1
14
17
-14
0
0
0
0
0
0
3
-15
14
0
0
0
0
0
0
-2
9
17
0
0
0
0
0
0
2
-13
40
0
0
42
-13
0
-9
25
-41
54
0
0
0
0
0
-2
3
-6
-1
0
0
0
5
0
0
0
10
-9
0
0
0
0
0
0
0
2
22
0
0
10
0
0
1
-7
-11
11
0
0
0
0
0
1
2
-27
20
0
0
0
0
0
0
0
-13
1
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
11
9
3
0
0
0
0
-1
0
0
-1
8
0
0
0
-6
0
0
0
34
5
0
0
0
0
0
2
-1
-22
12
0
0
0
0
2
35
7
3
-25
0
0
0
0
2
2
-2
0
-19
0
0
0
0
0
0
1
-11
-9
0
0
0
0
2
7
0
-2
-22
0
0
0
0
2
2
1
-10
10
0
0
0
0
-4
-9
6
59
8
0
0
0
0
0
10
0
-7
11
0
0
0
0
9
-25
0
-5
7
0
0
0
0
0
0
2
-22
23
0
0
0
0
2
-7
-3
-15
68
0
0
0
0
0
2
-7
-1
37
0
0
0
0
-2
0
0
-4
57
0
0
0
0
0
4
-4
-1
16
0
0
0
0
2
3
0
-6
-2
0
0
0
0
0
0
0
4
7
0
0
0
0
0
0
-3
-20
41
0
0
0
0
0
3
2
-47
-3
0
0
0
0
0
1
0
-32
37
0
0
0
0
0
-4
3
4
5
0
0
0
0
0
0
0
-9
-5
0
0
0
0
0
0
10
-52
14
0
0
0
0
0
0
-4
34
0
0
0
0
0
0
-2
0
-5
49
0
0
0
0
1
4
0
-14
38
0
0
0
0
0
0
16
6
40
0
0
0
0
0
0
0
-45
39
0
0
0
0
0
0
0
3
20
0
0
0
0
0
0
-4
-7
-24
0
0
0
0
0
2
0
2
16
0
0
0
0
0
-1
0
-12
34
0
0
0
0
0
0
0
5
16
0
0
0
0
0
0
0
22
-14
0
0
0
17
2
-12
-65
-16
17
0
0
0
0
0
-6
0
-1
25
0
0
0
9
-1
0
3
-24
-33
0
0
0
0
3
8
-4
-5
-4
0
0
0
-8
0
1
5
-6
7
0
0
0
0
0
1
-1
0
40
0
0
0
-4
0
0
-6
3
3
0
0
0
0
0
-6
-2
2
0
0
0
0
-4
-2
-1
7
-1
44
0
0
0
0
0
0
0
-2
3
0
0
0
21
0
0
-9
0
-9
0
0
0
0
0
0
-2
-2
29
0
0
0
-1
0
0
8
-5
25
0
0
0
0
0
0
6
3
8
0
0
0
6
0
2
0
-7
50
0
0
0
0
3
0
-1
0
1
0
0
0
11
0
0
-1
-40
3
0
0
0
0
-1
2
-4
-39
67
0
0
0
20
0
0
0
48
-35
0
0
0
0
3
-2
0
4
16
0
0
0
-17
0
1
-3
-20
29
0
0
0
0
0
1
-2
29
-7
0
0
0
-44
0
0
0
52
-11
0
0
0
0
0
0
-1
-13
13
0
0
0
5
0
-1
-3
-36
24
0
0
0
0
0
0
-1
14
25
0
0
0
16
0
0
-1
12
-26
0
0
0
0
0
0
0
62
3
0
0
0
19
0
0
1
-70
6
0
0
0
0
0
4
-3
4
-2
0
0
0
-39
0
0
0
26
27
0
0
0
0
0
0
-1
6
-12
0
0
0
0
-3
-48
33
-11
43
0
0
0
0
3
-3
0
-11
14
0
0
0
0
-1
0
0
-2
-10
0
0
0
0
-1
9
1
10
-49
0
0
0
0
0
-3
-1
0
7
0
0
0
0
1
-5
0
-2
3
0
0
0
0
0
0
1
0
4
0
0
0
0
10
-44
-3
0
5
0
0
0
0
-1
2
-9
-20
-13
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
-2
1
6
3
-1
0
0
0
0
0
2
1
1
28
0
0
0
0
-4
10
0
7
-3
0
0
0
0
-2
3
-1
-1
23
0
0
0
0
-25
2
1
0
13
0
0
0
0
0
-1
2
44
7
0
0
0
0
-2
0
0
4
-8
0
0
0
0
0
0
0
-23
23
0
0
0
0
1
0
-1
-11
-2
0
0
0
0
0
-1
0
11
29
0
0
0
0
0
0
0
8
21
0
0
0
0
0
0
-2
-37
15
0
0
0
0
-4
11
6
-2
17
0
0
0
0
0
0
3
41
-18
0
0
0
0
0
0
-1
15
-4
0
0
0
0
0
0
-2
-30
-6
0
0
0
0
-3
0
1
-48
32
0
0
0
0
0
0
2
6
11
0
0
0
0
2
1
-1
-17
57
0
0
0
0
-2
0
0
-1
40
0
0
0
0
0
0
-2
-39
41
0
0
-34
52
17
-18
0
6
11
-1
4
0
0
-8
5
-32
-29
19
-10
0
0
-4
12
-8
-31
-24
32
4
5
0
0
8
16
-2
-20
23
13
4
59
-15
0
-21
-36
-9
33
4
7
0
0
0
-43
-1
-88
28
-4
14
0
49
-1
-13
-37
0
32
-7
9
0
0
1
-16
-16
-10
41
-6
3
21
-4
-1
-49
9
36
9
10
0
0
0
2
51
-18
12
21
-6
0
0
-5
0
6
7
15
63
-1
0
0
0
-8
-4
26
-1
43
-8
0
-6
3
1
-22
30
-45
9
17
0
0
0
-8
1
-23
-22
56
23
0
0
-19
0
7
15
-61
23
9
0
0
0
3
2
-20
1
16
25
0
-7
28
-1
-21
-23
-20
-20
0
0
0
0
1
-84
-10
-6
25
0
0
0
1
0
1
-55
-59
15
0
0
0
0
0
6
-35
6
15
0
0
6
-1
0
38
-24
-24
-5
0
0
0
0
0
-5
-3
-30
26
0
0
0
-5
0
1
50
-51
19
0
0
0
0
1
-1
2
45
-16
0
0
-1
8
0
-15
51
-21
6
0
0
0
0
0
7
17
-14
9
0
0
0
-8
0
6
19
-29
32
0
0
0
0
0
0
-43
-19
106
0
0
-20
0
0
11
12
-23
11
0
0
0
0
0
-1
50
-45
-32
0
0
0
5
0
0
-28
9
26
0
0
0
0
0
-3
2
-6
7
0
0
0
0
-39
11
8
24
-17
3
-1
0
0
-16
10
-59
-45
-9
5
10
0
0
-10
-39
-21
-1
-9
1
4
0
0
-24
44
16
-10
14
-10
-10
0
0
-7
6
-9
-33
21
-12
7
0
0
47
-49
-20
-68
-7
11
18
0
0
0
43
83
40
61
3
3
0
0
9
19
27
-12
8
-9
11
0
0
-8
10
-15
-64
52
5
0
0
0
3
3
31
-18
31
-1
0
0
0
2
8
24
-17
36
2
0
0
0
-2
-17
44
20
-12
-4
0
0
0
0
-5
-27
-13
16
22
0
0
0
4
6
-10
-7
-1
-10
0
0
0
0
0
-35
-28
14
31
0
0
0
-26
7
0
15
-40
36
0
0
0
7
-45
-77
3
13
0
0
0
0
8
9
-3
-18
-10
0
0
0
0
0
2
-59
-19
46
0
0
0
0
14
24
7
-45
-3
0
0
0
0
0
-1
-36
2
16
0
0
0
0
0
7
-5
-26
10
0
0
0
0
0
0
-3
24
13
0
0
0
0
0
-3
-7
14
21
0
0
0
0
0
-2
30
-17
-6
0
0
0
0
0
-7
22
-34
17
0
0
0
0
0
0
-18
2
33
0
0
0
0
-1
8
-18
-34
55
0
0
0
0
0
1
4
-44
20
0
0
0
0
0
-10
-4
-51
22
0
0
0
0
0
-7
-19
13
13
0
0
0
0
-3
-27
3
53
-13
0
0
0
36
-20
4
24
-33
5
-3
0
0
0
37
24
-59
35
22
1
-8
0
-50
0
-9
-19
-31
-6
0
14
0
0
18
4
-10
-48
2
5
1
0
44
0
7
-16
57
41
7
14
0
0
-1
11
-33
26
16
-4
18
0
-16
0
-25
16
-43
39
16
15
0
0
9
26
-5
2
48
-15
-4
0
-40
0
9
45
-35
33
17
0
0
0
-3
21
62
12
7
-9
0
0
-35
1
1
11
-85
22
24
0
0
0
8
20
-15
16
46
-26
0
0
40
0
3
-2
-11
-20
5
0
0
0
7
10
-11
4
40
4
0
0
-2
0
-25
29
29
4
21
0
0
0
-6
-2
57
-10
-7
4
0
0
-16
4
-52
38
-11
-2
0
0
0
0
1
-3
27
-7
2
0
0
0
30
0
2
70
-87
-6
0
0
0
0
-1
-2
2
8
11
0
0
0
-22
0
0
9
41
27
0
0
0
0
0
-7
-21
-19
46
0
0
0
60
0
0
-13
-1
-3
0
0
0
0
0
-9
22
-13
-12
0
0
0
1
0
-3
37
-23
-24
0
0
0
0
3
-2
-72
35
51
0
0
0
44
-1
-1
-13
-16
1
0
0
0
0
1
0
-24
-4
59
0
0
0
13
0
-2
10
-2
-27
0
0
0
0
0
0
-23
-2
26
0
0
0
-13
0
0
-5
12
12
0
0
0
0
0
0
4
-13
5
0
0
0
0
10
-47
7
-16
49
2
-3
0
0
-10
-6
64
-1
26
-5
4
0
0
-27
3
18
-3
-5
-8
23
0
0
8
-28
21
-13
6
22
4
0
0
-1
-9
-1
-52
14
26
7
0
0
-4
13
37
-17
12
20
-17
0
0
-4
-9
-14
-32
30
30
14
0
0
34
-9
57
3
-25
25
-9
0
0
-2
-39
-1
7
110
0
0
0
0
-10
9
2
-23
15
-3
0
0
0
-10
-48
41
-9
26
12
0
0
0
20
31
-13
20
-12
-7
0
0
0
0
5
22
13
55
-5
0
0
0
23
2
15
-13
69
-20
0
0
0
-18
3
0
25
23
-4
0
0
0
-2
-11
16
6
-28
14
0
0
0
-8
18
-3
-18
7
0
0
0
0
-2
5
6
-11
-11
0
0
0
0
6
4
6
-2
3
0
0
0
0
-10
-64
-1
1
60
0
0
0
0
0
4
-36
-4
53
0
0
0
0
4
17
-37
28
-13
0
0
0
0
-2
7
11
21
-26
0
0
0
0
-13
7
-47
1
29
0
0
0
0
0
-2
-20
37
17
0
0
0
0
6
13
0
-19
-22
0
0
0
0
0
3
7
16
5
0
0
0
0
-11
-6
36
27
-27
0
0
0
0
0
2
-7
6
57
0
0
0
0
-1
-3
2
-10
41
0
0
0
0
3
2
-25
37
-20
0
0
0
0
-10
-5
0
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
8
-24
21
18
0
0
0
0
2
-20
-10
-43
11
-2
0
0
1
0
-40
-22
-44
35
19
0
0
0
0
39
-7
-5
32
-16
0
-47
49
0
-35
-46
36
8
10
0
0
0
0
3
-10
17
26
4
0
0
15
0
-16
-75
-4
2
8
0
0
0
0
3
-54
15
30
14
0
59
-2
2
3
-12
0
38
6
0
0
0
15
50
-29
-6
-11
4
0
0
14
0
9
18
11
-9
6
0
0
0
-2
-10
-5
17
38
27
0
3
2
-2
25
-113
3
-2
6
0
0
0
0
16
38
34
-15
1
0
0
50
0
1
-7
46
-30
6
0
0
0
2
0
11
-28
15
16
0
-16
-3
-4
-77
-23
-3
24
0
0
0
0
-3
-11
-15
24
-18
0
0
0
-10
2
-21
-54
-6
30
0
0
0
0
0
-4
18
15
0
0
0
17
-10
-1
2
23
-15
38
0
0
0
0
3
11
44
-13
-14
0
0
0
-11
0
-4
-6
-24
42
0
0
0
0
0
1
38
8
-9
0
0
-9
-17
-1
-18
48
-23
22
0
0
0
0
2
19
-7
-5
-1
0
0
0
11
0
-6
3
-27
19
0
0
0
0
0
-9
-26
-29
54
0
0
-63
-1
0
28
0
12
0
0
0
0
0
0
32
-25
-6
-13
0
0
0
-3
0
-1
-14
32
-1
0
0
0
0
-1
0
11
-29
14
0
0
0
0
-15
-3
-119
-19
48
2
0
0
0
3
28
-4
-35
16
3
0
0
0
8
2
-8
-48
-22
9
0
0
0
-8
-49
14
10
5
5
0
0
0
0
8
6
-2
6
-3
0
0
0
-12
-7
66
-78
11
9
0
0
0
0
17
-6
-88
27
12
0
0
0
-1
-37
-14
15
-1
19
0
0
0
-1
24
7
-31
13
-2
0
0
0
15
-51
-42
-46
26
3
0
0
0
0
1
8
34
22
6
0
0
0
-24
10
32
22
-15
12
0
0
0
2
27
-48
-12
18
4
0
0
0
10
4
-6
-12
-1
3
0
0
0
0
-8
25
11
42
10
0
0
0
2
-12
15
12
-33
23
0
0
0
-1
9
8
-31
16
0
0
0
0
24
0
53
-59
-7
0
0
0
0
0
-1
-39
27
18
0
0
0
0
5
-20
34
-8
-12
0
0
0
0
0
-4
3
4
10
0
0
0
0
-1
12
25
-8
-12
0
0
0
0
0
-17
32
31
-5
0
0
0
0
0
-16
0
13
32
0
0
0
0
0
-18
11
-27
36
0
0
0
0
0
13
0
-4
17
0
0
0
0
-1
3
-39
12
48
0
0
0
0
14
15
-6
19
-16
0
0
0
0
0
1
24
-15
9
0
0
0
0
-1
-40
3
2
57
0
0
0
0
0
-1
-2
-3
30
0
0
0
0
-18
0
42
-24
36
0
0
0
-4
-36
1
38
-39
6
-5
0
0
0
-67
12
-22
39
35
-1
0
0
-20
8
22
33
-72
-10
14
0
0
0
-26
-18
-11
6
24
47
0
0
-65
0
-22
25
14
14
14
0
0
0
12
10
22
-26
27
-9
0
0
19
0
-11
-66
21
-15
6
0
0
0
35
11
12
-26
15
-1
0
0
13
6
8
1
-66
-4
-3
0
0
0
0
-5
-2
-33
22
12
0
0
14
-3
0
-2
2
34
7
0
0
0
13
-6
-38
1
11
17
0
0
-3
-2
-12
-52
-27
-4
18
0
0
0
0
9
-12
26
21
10
0
0
9
1
-2
64
-52
63
8
0
0
0
33
-2
-56
6
61
12
0
0
12
4
33
17
-88
3
0
0
0
0
-4
1
63
-42
11
0
0
0
39
0
0
-22
-24
-18
0
0
0
0
-2
-2
19
-4
4
0
0
0
-40
-3
28
25
-9
20
0
0
0
0
2
39
-5
-10
16
0
0
0
-64
0
13
62
18
10
0
0
0
0
1
1
32
4
11
0
0
0
0
-1
-41
7
24
18
0
0
0
0
0
25
-17
9
-5
0
0
0
21
7
9
-6
-30
2
0
0
0
0
-7
-10
15
-23
22
0
0
0
28
0
-1
12
41
-20
0
0
0
0
0
9
-7
-53
55
0
0
0
-20
-2
4
34
2
-2
0
0
0
0
-2
0
5
12
0
0
0
0
0
-20
15
28
-52
15
15
0
0
0
9
-6
-15
-12
-12
-7
0
0
0
-7
28
-6
-27
-16
27
0
0
0
15
10
1
-43
38
4
0
0
0
-1
2
-19
24
36
-1
0
0
0
-1
-22
36
-48
51
20
0
0
0
-1
8
38
-43
56
-6
0
0
0
27
-23
-14
12
68
-11
0
0
0
-3
6
2
32
47
-6
0
0
0
0
-7
1
-20
-17
14
0
0
0
24
21
-16
-43
-9
28
0
0
0
-59
22
30
29
-3
-20
0
0
0
1
-12
-41
-17
24
24
0
0
0
18
31
14
-23
20
16
0
0
0
-3
-9
25
-37
14
17
0
0
0
-5
21
-18
14
27
29
0
0
0
8
21
0
-17
-14
0
0
0
0
7
-12
-25
18
16
0
0
0
0
-1
-10
13
-6
44
0
0
0
0
46
-74
1
5
20
0
0
0
0
0
3
6
1
17
0
0
0
0
10
18
23
-46
-2
0
0
0
0
0
-2
19
24
15
0
0
0
0
-12
-23
2
58
-35
0
0
0
0
0
3
28
7
-13
0
0
0
0
-6
-25
19
1
17
0
0
0
0
44
7
-26
-32
18
0
0
0
0
4
30
23
-37
5
0
0
0
0
0
0
1
19
-18
0
0
0
0
29
6
-5
1
-1
0
0
0
0
13
13
-25
-22
9
0
0
0
0
-16
-15
-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
20
-24
7
26
1
-15
-14
0
0
0
0
-2
-8
-7
-2
-14
0
0
0
37
0
-2
3
-35
14
0
0
0
0
-1
-1
19
9
4
0
0
-5
20
0
7
-20
-13
15
0
0
0
0
0
-7
-6
-36
20
0
0
0
7
0
-8
-14
-15
43
0
0
0
0
-1
21
9
16
-11
0
0
-27
-2
1
6
24
14
-4
0
0
0
0
-3
2
18
16
-3
0
0
0
11
2
2
44
-39
-10
0
0
0
0
0
-1
40
-59
10
0
0
18
1
0
-11
-12
-6
-7
0
0
0
0
0
1
-27
32
14
0
0
0
-41
0
1
7
-48
79
0
0
0
0
3
0
-4
-41
67
0
0
-1
-3
-2
-38
-34
-21
6
0
0
0
0
0
25
-4
-50
0
0
0
0
26
0
-2
9
-24
-16
0
0
0
0
0
0
2
-52
18
0
0
-9
-2
0
7
-25
0
8
0
0
0
0
0
-6
4
-47
46
0
0
0
13
0
-2
18
-42
7
0
0
0
0
-1
2
-10
1
5
0
0
-1
1
0
-8
43
-4
16
0
0
0
0
0
-2
1
-38
33
0
0
0
15
0
0
-58
5
12
0
0
0
0
0
0
-1
8
15
0
0
18
-3
0
0
-4
-49
24
0
0
0
0
0
15
-8
-41
14
0
0
0
5
0
1
-8
-20
18
0
0
0
0
0
0
15
-9
41
0
0
0
0
-16
57
32
-22
-12
0
0
0
0
33
9
-8
-31
-10
0
0
0
0
-2
1
-2
13
6
0
0
0
0
0
2
-2
20
-10
0
0
0
0
2
-10
-47
-13
21
0
0
0
0
0
-4
-8
16
8
0
0
0
0
2
-1
-15
-7
8
0
0
0
0
-3
10
-22
22
0
0
0
0
0
0
8
-54
23
6
0
0
0
0
6
-2
-10
17
-7
0
0
0
0
0
-7
21
-26
21
0
0
0
0
5
-16
23
-34
32
0
0
0
0
1
-6
58
-68
32
0
0
0
0
0
12
6
-28
4
0
0
0
0
-1
0
7
10
31
0
0
0
0
3
-10
-33
-10
66
0
0
0
0
0
7
-38
-13
-7
0
0
0
0
-2
-24
-12
-8
41
0
0
0
0
0
6
-10
-6
3
0
0
0
0
4
6
1
0
-10
0
0
0
0
0
0
3
-45
-6
0
0
0
0
1
0
-3
-79
29
0
0
0
0
0
0
8
2
20
0
0
0
0
-1
-14
-3
11
39
0
0
0
0
0
0
-22
-27
52
0
0
0
0
-3
0
4
-30
14
0
0
0
0
0
-2
20
-24
26
0
0
0
0
-3
0
-12
11
28
0
0
0
0
0
2
4
-41
19
0
0
0
0
-1
-2
2
-4
24
0
0
0
0
0
-1
4
5
24
0
0
0
0
13
3
-1
-25
65
0
0
0
42
19
-38
-25
-2
-12
0
0
0
0
-10
4
-6
10
17
0
0
0
-45
-4
-4
-9
-62
67
0
0
0
0
15
-2
-2
-14
16
0
0
0
2
2
12
-9
25
-31
0
0
0
0
3
-3
-15
24
4
0
0
0
-42
0
-8
14
16
39
0
0
0
0
15
-12
11
-10
37
0
0
0
2
-26
1
-11
-58
27
0
0
0
0
1
6
3
21
29
0
0
0
-29
4
0
7
30
-2
0
0
0
0
0
-1
0
68
-12
0
0
0
-1
0
4
-1
-7
29
0
0
0
0
0
-3
-2
29
15
0
0
0
19
0
1
-17
-15
23
0
0
0
0
1
-16
-7
26
67
0
0
0
-10
0
1
-18
-35
50
0
0
0
0
0
-7
15
-24
-1
0
0
0
-1
0
1
29
-94
-7
0
0
0
0
1
0
26
-61
21
0
0
0
32
0
-2
6
-50
25
0
0
0
0
0
0
-2
-51
37
0
0
0
7
0
-2
-33
-18
39
0
0
0
0
-3
-1
0
33
56
0
0
0
-3
1
8
2
-19
29
0
0
0
0
0
-3
-33
-50
49
0
0
0
4
0
0
1
-1
33
0
0
0
0
0
0
14
-12
13
0
0
0
-7
0
-2
7
-35
18
0
0
0
0
0
-7
0
16
-3
0
0
0
13
0
8
-2
-40
27
0
0
0
0
6
0
-9
1
14
0
0
0
0
32
60
-17
-19
-42
0
0
0
0
34
-22
17
-18
12
0
0
0
0
8
3
20
-18
-2
0
0
0
0
-43
8
-3
-14
38
0
0
0
0
0
-12
-11
42
-2
0
0
0
0
14
-4
-17
-13
28
0
0
0
0
0
-41
9
15
40
0
0
0
0
38
-3
16
-39
18
0
0
0
0
0
-10
-3
-41
7
0
0
0
0
10
-1
-10
15
17
0
0
0
0
-5
39
24
-43
1
0
0
0
0
18
9
32
-2
-22
0
0
0
0
0
2
-6
17
0
0
0
0
0
-11
15
-12
13
15
0
0
0
0
-1
3
-11
-7
31
0
0
0
0
-1
11
-13
-4
88
0
0
0
0
0
-4
9
-1
-19
0
0
0
0
3
6
-9
-30
7
0
0
0
0
0
0
18
-52
50
0
0
0
0
-24
-11
-31
52
2
0
0
0
0
0
0
13
13
14
0
0
0
0
2
3
-14
-4
2
0
0
0
0
6
2
-25
12
1
0
0
0
0
4
14
1
-11
46
0
0
0
0
-3
-2
-32
29
57
0
0
0
0
0
1
4
-30
12
0
0
0
0
0
10
1
8
-6
0
0
0
0
-16
-3
21
34
39
0
0
0
0
0
-3
0
20
31
0
0
0
0
0
15
5
-15
5
0
0
0
0
-1
-4
8
-12
-11
0
0
0
0
-4
13
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
54
-27
-9
-17
0
21
0
0
0
0
-10
-18
19
1
7
0
0
0
24
0
14
50
-45
-7
0
0
0
0
0
1
26
-57
24
0
0
-60
-7
0
-10
46
68
20
0
0
0
0
0
-2
-29
-8
-22
0
0
0
21
0
-6
30
17
-1
0
0
0
0
0
-2
17
-33
51
0
0
9
3
0
3
30
1
-3
0
0
0
0
1
-1
-31
-8
16
0
0
0
4
3
-9
-25
-28
21
0
0
0
0
0
-2
-14
5
54
0
0
-8
-1
0
-19
-27
25
18
0
0
0
0
0
3
-16
7
22
0
0
0
4
0
0
-8
-12
28
0
0
0
0
0
3
-16
-22
32
0
0
-7
9
-1
36
-22
-33
7
0
0
0
0
-1
-29
-32
33
15
0
0
0
-18
-1
7
40
-24
-34
0
0
0
0
0
0
-27
2
19
0
0
38
-6
-1
-19
11
-12
24
0
0
0
0
6
-3
-7
9
13
0
0
0
-14
0
9
-15
-23
13
0
0
0
0
0
-2
11
-6
29
0
0
7
-15
-7
49
56
6
9
0
0
0
0
2
0
7
-58
21
0
0
0
1
-1
8
12
18
23
0
0
0
0
0
-4
9
-6
8
0
0
19
-3
-3
2
40
-34
13
0
0
0
0
0
11
-8
5
19
0
0
0
32
0
-4
-46
-14
19
0
0
0
0
-1
0
9
-38
35
0
0
0
0
22
29
33
-33
10
0
0
0
0
-11
9
49
-15
-6
0
0
0
0
3
-4
-3
10
-15
0
0
0
0
-17
27
17
-4
-25
0
0
0
0
-4
2
18
-22
39
0
0
0
0
-6
-25
12
-8
9
0
0
0
0
0
3
2
-80
35
0
0
0
0
2
-5
3
5
4
0
0
0
0
19
-40
-12
19
-15
0
0
0
0
10
4
-5
-13
0
0
0
0
0
-3
1
10
26
28
0
0
0
0
-9
-6
2
-15
41
0
0
0
0
0
-8
26
-31
0
0
0
0
0
-2
8
-11
-9
-4
0
0
0
0
-2
-1
-1
-5
32
0
0
0
0
-4
46
1
-37
1
0
0
0
0
0
-4
-59
19
16
0
0
0
0
-11
-3
40
6
5
0
0
0
0
-3
-2
-41
42
48
0
0
0
0
14
2
-39
-20
48
0
0
0
0
0
-16
-27
36
11
0
0
0
0
2
0
3
-12
4
0
0
0
0
0
3
0
-10
38
0
0
0
0
2
1
57
-67
-3
0
0
0
0
0
0
-23
29
9
0
0
0
0
-29
-9
12
-21
31
0
0
0
0
7
1
-5
-10
0
0
0
0
0
1
5
61
2
-16
0
0
0
0
0
6
-15
-2
13
0
0
0
0
0
6
-1
-44
-1
0
0
0
0
1
-1
-11
-5
-3
0
0
0
0
13
20
-1
-29
48
0
0
0
35
5
-27
-11
-12
16
0
0
0
0
8
-28
-48
27
48
0
0
0
14
4
-28
53
-22
-14
0
0
0
0
1
3
1
-14
36
0
0
0
4
0
2
48
-39
-18
0
0
0
0
0
-1
-37
4
48
0
0
0
50
-9
22
-56
-24
33
0
0
0
0
-2
-45
25
17
55
0
0
0
3
3
-21
1
-24
11
0
0
0
0
1
-16
41
-24
11
0
0
0
-4
0
8
-17
-61
43
0
0
0
0
1
10
8
-32
-10
0
0
0
-16
0
-3
21
-36
15
0
0
0
0
6
1
-1
-25
-4
0
0
0
6
-3
0
-1
14
19
0
0
0
0
-12
-2
19
30
9
0
0
0
-10
0
5
-25
-35
18
0
0
0
0
7
-4
8
-15
12
0
0
0
31
4
-6
1
-20
20
0
0
0
0
10
-4
-19
3
60
0
0
0
-3
-6
26
10
-27
21
0
0
0
0
-4
-11
20
-16
14
0
0
0
25
0
0
-33
-28
29
0
0
0
0
1
7
1
-29
35
0
0
0
-2
0
12
27
-16
2
0
0
0
0
-2
0
20
-39
10
0
0
0
-13
3
2
2
23
-15
0
0
0
0
1
0
8
58
-29
0
0
0
9
2
11
-33
14
-4
0
0
0
0
0
7
-32
13
15
0
0
0
28
0
-3
-7
-8
4
0
0
0
0
6
4
1
-2
9
0
0
0
0
10
-4
-42
36
1
0
0
0
0
-1
4
24
-30
5
0
0
0
0
34
1
36
-78
5
0
0
0
0
-26
-21
5
30
47
0
0
0
0
-4
16
12
-19
28
0
0
0
0
2
-17
0
-11
61
0
0
0
0
4
0
11
9
13
0
0
0
0
-13
-7
0
-9
40
0
0
0
0
-3
1
11
21
-4
0
0
0
0
7
-17
-35
38
10
0
0
0
0
17
1
-16
-61
19
0
0
0
0
-30
1
5
25
-4
0
0
0
0
-1
-1
-17
11
14
0
0
0
0
9
5
8
-59
13
0
0
0
0
15
4
34
-22
-8
0
0
0
0
-2
-18
19
-16
30
0
0
0
0
0
-28
-7
11
34
0
0
0
0
-25
-2
-16
-3
52
0
0
0
0
-3
13
-33
-22
22
0
0
0
0
-3
58
-34
2
21
0
0
0
0
-1
-11
14
-39
28
0
0
0
0
1
26
-13
-42
50
0
0
0
0
0
1
-2
18
0
0
0
0
0
-21
-3
17
21
11
0
0
0
0
8
2
-16
0
16
0
0
0
0
-35
10
34
15
26
0
0
0
0
2
-1
11
-39
15
0
0
0
0
16
-12
-9
14
22
0
0
0
0
0
0
13
-11
19
0
0
0
0
-20
-4
18
7
11
0
0
0
0
14
6
13
-13
21
0
0
0
0
29
3
-10
16
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-27
-5
-28
-5
0
14
-2
0
0
-10
-2
-11
-69
-14
6
-5
0
2
-43
-21
25
-10
9
5
-7
0
0
-21
-6
9
7
-8
-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
-26
24
3
36
-33
20
3
3
0
0
0
48
-9
-16
-5
24
-4
0
0
-41
14
-33
-23
-9
-1
12
0
0
0
-3
-32
-26
-28
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
19
11
-5
-25
-1
-9
-18
0
0
0
0
-2
-64
24
10
3
0
0
0
-5
23
65
28
-21
-26
0
0
0
0
15
19
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
1
-28
-48
3
28
13
-1
0
0
0
0
6
18
-26
7
20
0
0
0
53
-7
-22
-12
-6
-7
0
0
0
0
-24
-30
-29
-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
27
-27
-15
-41
-30
-3
0
0
0
-6
-56
9
-19
3
2
-10
0
0
0
-8
37
-51
16
1
8
0
0
-8
43
45
18
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
-2
33
-57
-5
2
2
0
0
0
23
-19
-1
-11
4
1
0
0
0
-9
7
20
-37
46
12
0
0
0
9
13
38
24
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
4
0
-17
9
0
0
0
0
13
2
-6
-35
9
0
0
0
0
2
-36
11
1
22
0
0
0
0
-2
-27
20
-28
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
5
-26
-4
0
0
0
0
-9
3
6
-25
-11
0
0
0
0
0
1
-21
13
40
0
0
0
0
-16
-9
8
-15
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
1
1
10
-31
-2
25
12
0
0
-1
10
17
44
-4
0
7
0
-38
-7
30
-37
21
12
-7
12
0
0
-24
-13
43
28
-1
-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
13
0
11
-6
4
15
-11
0
0
0
-13
-18
44
-6
42
17
0
0
10
-2
3
-22
-110
14
29
0
0
0
4
4
3
-47
-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
26
-64
14
0
0
0
0
0
-9
-2
14
-25
0
0
0
-20
0
-3
46
-65
16
0
0
0
0
-1
10
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
-6
-40
-3
-4
0
0
0
0
2
-1
44
0
-8
0
0
0
-11
0
0
-32
-27
52
0
0
0
0
-1
0
-1
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
2
9
1
55
-15
-3
5
0
0
-7
-6
37
-9
37
23
-4
0
0
10
22
10
16
-9
14
-4
0
0
26
-20
-15
-31
28
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
-4
-1
2
-46
24
8
0
0
0
6
-23
8
-46
10
29
0
0
0
-8
-10
6
35
-18
-1
0
0
0
-67
20
26
-74
81
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
8
22
4
0
0
0
0
-23
-2
5
-2
11
0
0
0
0
-1
-6
-75
7
4
0
0
0
0
-20
15
-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
2
-24
10
27
0
0
0
0
3
15
0
-8
20
0
0
0
0
1
0
20
47
12
0
0
0
0
3
-18
4
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
14
8
1
-36
-53
-25
20
5
2
0
0
2
0
32
-52
21
6
-3
0
22
0
-7
-4
30
63
2
2
0
0
0
0
-30
66
3
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
-24
0
0
-16
-61
54
9
5
0
0
0
0
2
-52
21
-10
6
0
0
6
0
9
6
-64
14
-3
0
0
0
0
-3
-10
-29
-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
46
3
0
-16
5
-24
14
0
0
0
0
0
2
-6
-37
16
0
0
0
-6
0
-8
-11
-2
21
0
0
0
0
0
-2
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
3
0
-9
-32
-24
-14
0
0
0
0
0
-13
4
37
23
0
0
0
-6
0
10
-22
-7
27
0
0
0
0
0
-1
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
-2
29
32
9
21
-6
10
0
0
0
18
-60
-29
-34
-3
15
0
0
0
9
-13
-78
30
0
12
0
0
-3
-48
-1
-31
17
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
-6
8
-4
-13
63
-11
0
0
0
-1
2
-44
-67
6
9
0
0
0
0
6
25
-55
-2
2
0
0
0
13
-42
10
17
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
-4
11
-30
19
0
0
0
0
2
0
-9
-36
-1
0
0
0
0
0
10
-17
-16
10
0
0
0
0
1
44
-2
-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
1
-7
11
-12
44
0
0
0
0
2
2
-1
-38
12
0
0
0
0
0
1
1
-6
31
0
0
0
0
0
-21
0
-67
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
-9
0
16
63
-27
-10
3
4
0
0
2
-2
2
36
-33
1
18
0
-26
0
12
-23
8
18
-8
11
0
0
5
6
40
31
57
-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
10
0
-2
-8
9
6
14
0
0
0
1
-8
-23
-14
54
8
0
0
8
0
-8
33
45
23
-14
0
0
0
-2
7
3
-34
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
8
0
-2
-2
-1
20
0
0
0
0
0
3
-3
1
45
0
0
0
21
0
-1
-27
-20
17
0
0
0
0
0
-13
33
-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
4
0
6
-7
-49
53
0
0
0
0
-1
-1
1
-22
29
0
0
0
-28
0
-1
-10
11
36
0
0
0
0
0
0
0
7
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
-34
-23
-1
-3
0
0
-6
1
-14
-2
-12
15
25
0
0
-5
-29
12
9
-8
7
10
0
0
-14
-42
53
10
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
16
-18
-8
4
20
0
0
0
15
1
-2
6
8
16
0
0
0
9
7
-14
-61
41
-1
0
0
0
0
6
-21
-2
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
14
-60
51
-12
0
0
0
0
6
25
-8
16
-17
0
0
0
0
0
7
-1
-44
18
0
0
0
0
4
20
4
2
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
13
0
0
0
0
3
6
0
-2
-20
0
0
0
0
2
-9
3
-10
17
0
0
0
0
-33
3
6
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
-23
1
0
23
-69
3
5
20
0
0
0
-2
-24
39
-33
21
14
0
0
4
2
0
80
-43
-24
15
0
0
0
0
19
-25
-56
83
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
46
0
0
10
-30
14
13
7
0
0
0
1
0
-27
-30
25
-1
0
0
0
1
-4
9
30
3
2
0
0
0
0
16
1
-3
41
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
2
-11
9
-19
9
0
0
0
0
9
21
-18
-6
0
0
0
0
2
0
-7
23
2
9
0
0
0
0
0
4
28
-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
14
4
-1
-8
12
-7
7
0
0
0
0
0
1
-21
-2
19
0
0
0
0
0
-6
2
-17
5
0
0
0
0
-3
1
16
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
1
-4
24
16
22
1
0
0
0
-3
-9
-23
-53
-22
3
0
0
0
4
-1
-7
-17
48
-22
0
0
0
21
9
11
-80
31
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-72
-24
-16
5
0
0
0
0
-12
24
15
-3
-11
0
0
0
-2
-3
16
7
20
0
0
0
0
6
1
-11
-17
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
3
2
1
-49
15
0
0
0
0
-2
2
2
-20
-2
0
0
0
0
0
0
9
-7
24
0
0
0
0
0
4
16
-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
1
-23
-38
41
0
0
0
0
10
1
2
2
9
0
0
0
0
0
0
1
44
8
0
0
0
0
2
9
7
-31
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-36
8
-72
38
22
0
0
0
0
9
-46
-39
20
3
0
0
19
1
1
57
-39
34
4
0
0
0
-2
-21
18
3
-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
-7
-56
-29
28
19
0
0
0
-1
24
-8
7
37
-5
0
0
3
4
0
-27
22
-53
23
0
0
0
1
-3
-15
-19
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
9
-10
-31
26
0
0
0
0
0
4
-1
-34
37
0
0
0
-20
0
4
-14
-4
19
0
0
0
0
0
-6
-8
-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
3
-1
2
40
28
-46
0
0
0
0
0
-2
-14
-24
24
0
0
0
21
0
0
27
-6
-2
0
0
0
0
-1
0
-5
-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
-2
-22
41
-23
35
2
0
0
0
1
21
16
22
-11
-13
0
0
0
4
1
38
3
17
-16
0
0
0
-47
9
6
45
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
-3
-48
-26
21
3
0
0
0
1
-47
41
-6
-4
21
0
0
0
2
13
38
28
-21
-13
0
0
0
-4
10
-44
36
-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
1
3
7
34
0
0
0
0
-11
-3
-18
22
47
0
0
0
0
0
0
36
26
25
0
0
0
0
28
-25
-28
-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
0
0
-6
-8
-25
44
0
0
0
0
-9
5
7
-5
5
0
0
0
0
-1
0
-3
-85
52
0
0
0
0
-4
-12
-1
15
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
-3
-6
-20
14
16
0
0
0
0
-1
-17
-37
22
11
0
0
22
0
2
-6
-10
-12
25
0
0
0
0
2
38
-33
30
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
7
0
61
60
24
16
-12
0
0
0
-1
14
19
-32
13
-4
0
0
0
0
0
7
-36
26
-3
0
0
0
0
0
-24
-3
14
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
3
-1
-8
60
-1
0
0
0
0
0
0
25
12
-30
15
0
0
0
7
0
-4
-36
30
20
0
0
0
0
0
-4
8
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
-36
-2
2
22
-2
32
2
0
0
0
0
0
0
3
8
24
0
0
0
4
0
0
36
-13
18
0
0
0
0
-1
-1
-8
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
-23
-11
-30
50
18
0
0
0
-1
11
-7
-98
6
16
0
0
0
0
1
14
26
0
4
0
0
0
-1
19
25
-9
-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
2
6
17
-28
25
2
0
0
0
-6
-36
-25
-33
10
18
0
0
0
0
4
5
21
-32
8
0
0
0
-6
10
-15
-9
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
-3
6
9
23
0
0
0
0
0
-3
-48
1
46
0
0
0
0
0
0
-18
23
7
0
0
0
0
0
24
7
-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
-3
-6
-10
13
25
0
0
0
0
0
-7
2
-36
9
0
0
0
0
0
-4
-9
53
21
0
0
0
0
0
-5
3
-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
9
1
-10
-38
-21
13
14
0
0
0
0
34
6
49
-19
5
0
0
11
0
-24
-23
52
5
6
0
0
0
-2
-6
-24
0
44
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
1
-9
-3
29
12
0
0
0
1
-3
6
24
-8
18
0
0
46
0
-26
-26
-4
46
8
0
0
0
20
22
16
6
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
11
0
-1
23
-6
17
0
0
0
0
0
-11
4
-49
41
0
0
0
3
0
-1
-29
-37
89
0
0
0
0
-2
0
-1
-8
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
-16
0
-2
8
-17
33
0
0
0
0
2
1
8
-4
25
0
0
0
1
-3
-5
2
-1
14
0
0
0
0
3
0
1
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
48
4
5
-18
4
0
0
0
-12
8
18
-9
34
-1
0
0
0
-4
-29
30
-3
13
13
0
0
0
-1
20
29
6
-16
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
14
49
24
11
0
0
0
12
-51
33
-4
36
12
0
0
0
36
12
-38
-1
-1
11
0
0
0
61
-43
-20
4
31
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
-7
16
0
0
0
0
5
37
-50
0
55
0
0
0
0
2
-6
13
9
21
0
0
0
0
-19
-57
15
14
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
2
-7
16
-4
34
0
0
0
0
-15
0
-13
18
37
0
0
0
0
10
-1
-18
-4
29
0
0
0
0
14
16
-33
-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
50
0
0
-55
-56
-35
21
0
0
0
0
-1
41
11
-50
11
0
0
0
-21
0
-26
-12
-34
33
0
0
0
0
8
41
-39
-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
-1
7
45
-36
-2
0
0
0
0
-1
-24
22
7
11
0
0
0
0
1
7
-2
-23
13
0
0
0
0
-4
-14
-2
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
4
1
0
-4
3
-52
4
0
0
0
0
0
-4
18
-3
-31
0
0
0
2
0
-6
0
-38
7
0
0
0
0
0
0
-30
33
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
18
-3
-40
9
0
0
0
0
0
0
32
-4
9
0
0
0
2
0
14
-16
6
-25
0
0
0
0
2
9
-23
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
6
-66
-20
38
0
0
0
0
-1
-5
-3
2
-14
0
0
0
0
0
-4
26
-22
2
0
0
0
0
-1
15
-6
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
-2
-12
52
-74
29
0
0
0
0
0
1
-30
-21
27
0
0
0
0
-3
-3
10
8
0
0
0
0
0
4
-11
7
-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
-48
-10
7
0
0
0
0
0
0
-48
24
6
0
0
0
0
0
0
1
-36
31
0
0
0
0
0
3
-7
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
1
0
-23
5
-8
0
0
0
0
0
4
0
3
-9
0
0
0
0
0
-1
-14
-21
30
0
0
0
0
10
6
-1
-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
-4
0
9
-30
-34
20
0
0
0
0
0
1
-24
-7
-3
0
0
0
19
0
-4
-8
-56
14
0
0
0
0
1
0
0
14
-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
1
15
31
0
0
0
0
0
2
55
10
-21
0
0
0
-27
3
-1
41
-42
9
0
0
0
0
2
9
40
-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
2
0
-1
-5
-49
6
0
0
0
0
0
1
2
-47
5
0
0
0
11
0
0
3
-79
29
0
0
0
0
0
0
2
-44
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-22
0
0
0
0
0
1
-6
16
-3
0
0
0
0
0
0
-18
-24
26
0
0
0
0
0
0
21
-33
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
9
34
-37
-5
0
0
0
0
3
-10
-6
-40
11
0
0
0
0
2
-7
-28
-15
39
0
0
0
0
-10
-21
37
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
-1
0
-17
13
16
0
0
0
0
0
-2
16
1
-3
0
0
0
0
0
1
4
9
-11
0
0
0
0
22
-21
-14
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
-7
-14
7
0
0
0
0
0
1
9
-11
46
0
0
0
0
-2
0
18
-64
37
0
0
0
0
0
3
-37
-20
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
22
-46
44
0
0
0
0
1
-4
-2
-39
66
0
0
0
0
0
0
-30
65
-6
0
0
0
0
4
0
-19
-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
22
4
0
11
-65
-27
6
0
0
0
0
0
2
32
-25
32
0
0
0
-6
0
-4
-33
7
11
0
0
0
0
0
-2
2
-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
2
0
0
-7
2
-27
-8
0
0
0
0
-1
1
30
15
-33
0
0
0
0
-1
6
56
3
-6
0
0
0
0
0
0
4
-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
27
1
0
0
8
-7
-18
0
0
0
0
0
0
2
-28
7
0
0
0
9
0
-1
-2
-61
52
0
0
0
0
0
2
4
-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
2
-3
0
0
9
-30
29
0
0
0
0
-3
-1
4
-22
-6
0
0
0
-7
0
3
52
-41
14
0
0
0
0
1
-1
19
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
6
-4
-25
0
0
0
0
-4
12
-2
-13
-30
0
0
0
0
0
2
3
-7
11
0
0
0
0
0
-29
0
-7
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
20
-8
33
-24
0
0
0
0
0
2
3
-1
-2
0
0
0
0
3
-2
-2
24
16
0
0
0
0
3
12
3
-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
-7
2
-6
0
0
0
0
0
1
0
-17
-11
0
0
0
0
0
1
7
-7
7
0
0
0
0
-1
2
0
-60
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-20
-82
42
0
0
0
0
-2
1
15
-42
5
0
0
0
0
0
1
25
-33
45
0
0
0
0
-2
-2
4
-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
6
1
-6
13
-46
16
0
0
0
0
0
-11
-6
38
-45
0
0
0
32
0
-2
-17
-44
49
0
0
0
0
0
11
-10
-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
-2
2
-6
-33
20
16
0
0
0
0
0
11
8
-6
0
0
0
0
-9
0
6
-11
14
21
0
0
0
0
12
21
-16
-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
-6
0
0
52
-23
14
0
0
0
0
0
-1
7
2
24
0
0
0
28
0
0
2
-43
13
0
0
0
0
-11
2
3
-32
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
0
4
28
-63
13
0
0
0
0
-2
-12
-7
-16
50
0
0
0
23
0
-6
34
-29
28
0
0
0
0
-3
0
-5
38
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-2
-8
-2
0
0
0
0
3
26
-5
-10
-2
0
0
0
0
-1
0
-12
6
-4
0
0
0
0
-42
53
9
-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
-1
15
20
13
2
0
0
0
0
-2
-4
46
51
-61
0
0
0
0
0
33
-20
-6
44
0
0
0
0
-9
16
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
1
10
52
-16
0
0
0
0
0
13
-4
27
-28
0
0
0
0
0
0
-13
-6
37
0
0
0
0
3
-36
15
49
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
78
0
0
0
0
2
9
24
-49
8
0
0
0
0
-2
-1
-39
-7
70
0
0
0
0
-30
-21
-32
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
9
-3
0
-4
-34
-13
-4
0
0
0
0
0
-13
-49
5
52
0
0
0
0
0
0
24
2
8
0
0
0
0
0
18
-6
-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
0
5
-6
0
-49
16
-25
77
0
0
0
0
1
-11
23
-46
27
0
0
0
1
-3
4
20
-18
18
0
0
0
0
2
49
15
-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
-3
-1
0
-22
-9
-11
27
0
0
0
0
0
2
22
-49
-26
0
0
0
-2
0
-2
-48
-13
39
0
0
0
0
0
2
20
-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
-8
11
-2
-25
-39
18
12
0
0
0
0
0
-23
17
14
4
0
0
0
3
0
2
28
-3
23
0
0
0
0
0
9
-8
-13
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
1
-70
34
0
0
0
0
0
-6
-45
17
46
0
0
0
0
0
-1
15
-1
19
0
0
0
0
0
2
0
5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-38
-1
31
0
0
0
0
0
-3
-37
7
14
0
0
0
0
0
-2
28
49
-1
0
0
0
0
11
-20
9
-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
13
-68
6
0
0
0
0
0
-4
-7
23
-3
0
0
0
0
0
0
12
-45
9
0
0
0
0
0
4
-2
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
-6
-4
23
37
-8
0
0
0
0
0
0
50
-10
-16
0
0
0
0
-2
0
16
-45
21
0
0
0
0
-2
-2
3
-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
9
0
0
-25
-36
35
0
0
0
0
3
2
-17
35
18
0
0
0
11
0
-2
-22
-47
25
0
0
0
0
-2
0
-19
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
1
1
-5
39
-32
1
0
0
0
0
0
4
49
-49
14
0
0
0
20
2
2
3
-38
-1
0
0
0
0
17
-5
41
-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
-4
0
1
24
-11
16
0
0
0
0
-1
-7
-4
-3
13
0
0
0
2
0
0
-12
25
-27
0
0
0
0
0
8
-32
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
12
1
-1
64
-42
10
0
0
0
0
-3
3
-8
-2
7
0
0
0
-36
-2
0
-24
5
-5
0
0
0
0
4
0
-7
-29
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
9
-28
58
0
0
0
0
-18
3
29
5
-1
0
0
0
0
0
1
-6
10
3
0
0
0
0
3
0
-35
-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
1
-39
58
0
0
0
0
10
-7
19
-25
14
0
0
0
0
10
7
61
-83
35
0
0
0
0
28
-15
-30
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
-1
-6
-3
-35
58
0
0
0
0
-1
-4
6
-20
-4
0
0
0
0
6
-1
-28
19
44
0
0
0
0
12
2
-15
12
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
-3
14
0
0
0
0
-14
12
21
-15
31
0
0
0
0
2
-2
23
21
-26
0
0
0
0
18
-4
19
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
12
0
0
2
4
-26
29
0
0
0
0
1
1
2
14
13
0
0
0
-12
0
9
0
-12
-2
0
0
0
0
0
3
0
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
49
-9
-1
-10
-28
-38
4
0
0
0
0
-3
-8
8
-5
9
0
0
0
0
0
-4
-17
8
18
0
0
0
0
0
0
17
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
4
0
11
14
-42
24
0
0
0
0
0
0
12
-16
3
0
0
0
6
0
-2
1
9
17
0
0
0
0
0
-3
-3
51
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
21
0
-2
-18
13
-9
10
0
0
0
0
1
0
-11
6
15
0
0
0
0
2
0
-7
6
11
0
0
0
0
-4
1
-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
-2
1
32
0
0
0
0
0
-1
3
1
-14
62
0
0
0
0
0
1
4
52
-18
0
0
0
0
0
-1
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
-8
-32
13
12
0
0
0
0
0
-1
29
-29
3
0
0
0
0
0
-4
7
-19
26
0
0
0
0
0
-10
16
29
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
2
0
-17
15
0
0
0
0
0
-1
-1
13
25
0
0
0
0
0
-13
5
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
2
11
7
-21
3
0
0
0
0
2
9
-2
-42
24
0
0
0
0
1
0
-2
26
3
0
0
0
0
-3
3
-2
-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
-1
0
0
17
-27
-7
0
0
0
0
0
1
7
-40
44
0
0
0
9
0
3
1
24
-24
0
0
0
0
13
0
-3
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
21
0
1
-17
24
-26
0
0
0
0
0
15
3
-20
-12
0
0
0
-13
0
-8
11
17
-5
0
0
0
0
-27
3
-21
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
10
0
3
-10
9
24
0
0
0
0
0
-3
1
-16
51
0
0
0
-2
0
0
17
-40
-7
0
0
0
0
-4
-2
7
-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
-2
-5
13
-5
0
0
0
0
-1
-8
-4
44
20
0
0
0
28
0
2
41
-56
-22
0
0
0
0
-8
0
2
-25
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
16
0
2
0
0
0
0
5
-5
-9
44
15
0
0
0
0
3
0
3
8
21
0
0
0
0
-3
10
15
29
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
-11
-11
26
46
0
0
0
0
1
7
-13
-59
-13
0
0
0
0
0
22
28
-40
-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
-21
-4
39
0
0
0
0
0
-16
8
41
15
0
0
0
0
-1
-1
2
9
35
0
0
0
0
8
72
-8
-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
10
-12
1
-3
0
0
0
0
-16
-27
27
-21
20
0
0
0
0
-8
7
-5
31
18
0
0
0
0
18
-8
6
-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
26
10
-5
-12
1
4
-4
5
-3
0
0
-1
8
45
-11
4
-10
16
0
5
-12
9
-62
-54
-8
4
5
0
0
-28
11
-16
14
4
17
12
20
65
-9
-9
-16
-36
24
0
3
0
0
32
3
-44
-45
6
-2
-3
0
29
5
-22
24
-10
-9
2
22
0
0
19
7
0
-3
13
3
12
22
28
1
1
7
10
24
-11
0
0
0
18
29
-13
23
12
-6
0
0
-11
-2
32
70
10
-18
2
0
0
0
-29
20
-11
-45
11
42
0
-8
-36
-13
43
7
-20
6
7
0
0
0
4
-3
38
-22
-20
20
0
0
-23
18
-11
-8
11
-23
18
0
0
0
-2
-4
15
-6
-17
12
0
-4
-6
5
-56
23
31
14
0
0
0
0
-3
-16
-16
33
4
0
0
0
-5
32
3
10
-34
-14
0
0
0
0
26
0
-26
6
-12
0
0
27
-40
3
27
-14
-30
7
0
0
0
0
-3
39
-5
-44
24
0
0
0
-21
31
-10
-5
15
-17
0
0
0
0
-65
16
10
-9
9
0
0
-24
-14
10
10
14
13
13
0
0
0
0
8
14
28
-16
-26
0
0
0
-18
-3
13
-15
-20
16
0
0
0
0
-33
-26
-17
-9
56
0
0
40
34
-4
-23
7
-18
-21
0
0
0
0
-30
-48
48
-33
27
0
0
0
-12
13
5
-35
-24
8
0
0
0
0
-28
-26
-17
-23
27
0
0
0
0
-15
-1
-14
-19
23
5
11
0
0
39
-23
-16
33
-15
-6
24
0
0
22
-9
24
-20
24
15
18
0
0
-12
-27
-5
3
41
3
28
0
0
0
-6
-65
-63
-16
-5
12
0
0
0
12
-1
-43
24
5
3
0
0
0
2
3
-21
109
-46
4
0
0
7
13
1
23
-5
6
4
0
0
1
1
19
-8
-9
-7
0
0
0
0
-3
-7
2
-16
4
0
0
0
3
0
21
-17
19
5
0
0
0
1
-1
9
8
38
-4
0
0
0
0
2
4
-74
26
30
0
0
0
0
-1
-1
-45
-5
23
0
0
0
0
0
1
-18
-7
17
0
0
0
-21
2
-3
-3
8
20
0
0
0
-1
-3
58
-42
15
0
0
0
0
2
-3
-4
10
7
0
0
0
0
0
0
14
-19
1
0
0
0
0
-11
-3
-2
-20
66
0
0
0
0
-1
2
9
-61
30
0
0
0
0
-3
0
1
-32
28
0
0
0
0
0
-13
0
62
-11
0
0
0
0
8
2
-2
-39
-26
0
0
0
0
0
0
0
-5
-9
0
0
0
0
1
2
0
-9
15
0
0
0
0
1
-1
-9
12
4
0
0
0
0
2
-1
0
-18
8
0
0
0
0
0
-3
0
-15
14
0
0
0
0
2
1
-3
-15
-14
0
0
0
0
0
0
0
8
-51
0
0
0
0
-30
2
0
10
25
0
0
0
-17
-1
8
-15
-39
36
11
14
0
0
0
-8
-30
33
-9
24
6
0
0
-1
2
-67
34
24
-16
10
0
0
-4
0
3
-11
-7
1
-2
0
-6
0
1
-29
-10
9
-9
4
0
0
0
0
-6
0
-27
-2
14
0
29
0
0
20
35
-17
-38
7
0
0
0
0
2
-20
20
-16
16
0
-2
0
-4
19
-6
3
2
0
0
0
-1
2
-7
-19
48
-14
0
0
-6
0
0
-5
4
-8
29
0
0
0
0
-2
-4
-7
4
-2
0
0
-2
0
0
6
9
27
1
0
0
0
0
0
-3
-22
25
22
0
0
-16
0
-2
6
-1
-21
44
0
0
0
0
0
0
-2
-6
7
0
0
0
-2
6
-33
4
23
0
0
0
0
0
0
-8
7
15
0
0
0
-4
0
0
-10
15
-28
0
0
0
0
0
0
-2
-7
-3
0
0
0
1
0
0
17
-42
10
0
0
0
0
1
0
-1
-36
-14
0
0
0
-27
0
0
1
-7
39
0
0
0
0
0
0
0
-1
8
0
0
0
2
1
-3
-5
-2
4
0
0
0
0
0
-6
3
-30
5
0
0
0
-4
0
-1
-6
19
7
0
0
0
0
0
-1
-1
12
-32
0
0
0
-2
0
0
0
15
-5
0
0
0
0
0
0
4
7
-38
0
0
0
7
0
-1
-6
4
27
0
0
0
0
0
0
0
0
22
0
0
0
0
1
-16
-28
16
40
-10
-4
0
0
-3
0
36
4
-36
-18
0
0
0
2
0
24
21
21
26
9
0
0
2
0
-49
-8
65
50
-5
0
0
3
2
1
51
-20
3
22
0
0
-2
-8
-6
8
26
-3
7
0
0
1
0
19
1
-13
-5
7
0
0
0
16
25
60
-37
14
-3
0
0
0
-2
15
-109
-2
26
0
0
0
0
2
-13
-12
-1
-1
0
0
0
0
-1
12
-21
-2
20
0
0
0
-2
-4
13
-50
59
2
0
0
0
0
-2
0
-3
53
14
0
0
0
0
0
0
5
18
0
0
0
0
0
0
0
-5
11
35
0
0
0
9
2
-2
4
-3
11
0
0
0
2
-1
-42
-22
47
0
0
0
0
0
0
-4
21
1
0
0
0
0
0
0
14
15
-1
0
0
0
0
6
-2
-6
2
9
0
0
0
0
0
-1
3
-44
55
0
0
0
0
0
8
-1
-34
47
0
0
0
0
-1
0
0
18
32
0
0
0
0
0
0
1
-4
36
0
0
0
0
0
0
-1
-27
32
0
0
0
0
0
0
1
-42
6
0
0
0
0
0
0
1
-12
20
0
0
0
0
2
0
4
-10
2
0
0
0
0
0
0
0
5
6
0
0
0
0
0
-6
0
-34
59
0
0
0
0
0
-2
1
0
-9
0
0
0
0
0
0
0
4
10
0
0
-10
3
0
6
-2
-5
11
11
0
0
0
0
-23
-30
-23
25
20
-8
0
-2
0
8
8
25
30
8
18
0
0
1
2
-11
-3
17
23
17
32
0
0
-15
-7
-2
33
2
-1
0
0
-4
0
22
-50
40
-1
20
0
-2
0
1
4
-25
-2
-11
7
0
0
0
0
-12
-36
-50
-2
25
3
0
0
0
29
-59
6
8
0
0
0
0
0
0
-4
9
9
0
0
-1
0
0
-30
-1
54
8
0
0
0
0
-1
3
-21
60
34
0
-17
0
0
-1
20
13
-36
12
0
0
0
0
0
0
-24
-14
9
0
0
10
0
0
0
7
-14
-6
0
0
0
0
-1
0
6
34
-25
0
19
3
2
2
-4
-59
2
0
0
0
0
0
-2
-19
-10
28
0
0
0
-2
0
-1
-12
-58
23
0
0
0
0
0
2
-11
-2
27
0
0
6
0
0
-2
-5
25
20
0
0
0
0
1
-1
19
-43
7
0
0
0
-1
0
-3
66
-57
39
0
0
0
0
0
0
-1
6
8
0
0
0
0
0
-7
-26
26
20
0
0
0
0
0
-1
0
4
-10
0
0
0
0
0
-3
-41
-15
77
0
0
0
0
0
1
-6
-8
1
0
0
-59
0
0
4
0
13
51
0
0
0
0
0
3
0
7
28
0
0
0
9
0
0
-1
-16
26
0
0
0
0
0
3
0
2
0
0
0
0
0
1
-11
26
-58
3
16
13
0
0
7
-19
-11
6
-23
2
5
0
0
0
-8
-2
9
9
32
9
0
0
-7
18
17
22
45
-7
-6
0
0
0
0
-11
-15
1
2
16
0
0
1
0
0
-46
45
6
-2
0
0
0
0
-6
10
-11
-2
22
0
0
0
0
1
-2
15
-39
6
0
0
0
0
-1
12
-37
9
0
0
0
0
1
-6
0
16
3
0
0
0
0
0
0
-4
-2
24
0
0
0
0
0
-2
35
48
-26
0
0
0
0
0
-1
-16
73
-7
0
0
0
0
0
8
-1
25
-4
0
0
0
0
0
0
10
17
-2
0
0
0
0
-13
-4
0
6
-4
0
0
0
0
3
-25
2
31
0
0
0
0
0
0
18
-43
42
0
0
0
0
0
0
2
-46
39
0
0
0
0
1
-2
2
-23
22
0
0
0
0
0
0
1
1
-28
0
0
0
0
0
0
1
-39
-9
0
0
0
0
0
0
7
33
12
0
0
0
0
0
1
-3
16
-40
0
0
0
0
0
0
-10
-19
20
0
0
0
0
0
0
-6
22
59
0
0
0
0
0
0
1
-4
-31
0
0
0
0
0
0
-2
11
35
0
0
0
0
0
2
0
3
-6
0
0
0
0
0
3
-2
0
-30
0
0
0
0
0
0
-3
-18
21
0
0
0
0
0
-1
0
-6
6
0
0
0
-10
0
-4
-35
7
-3
3
1
0
0
0
0
0
-46
-3
7
17
0
10
0
0
9
-91
-19
-6
18
0
0
1
0
-9
-50
-14
23
45
0
0
0
-1
-20
37
-23
1
6
0
0
0
0
0
-4
42
0
19
0
-20
0
-1
0
-11
-10
4
12
0
0
0
0
2
-11
10
12
12
0
1
0
0
2
-41
29
15
0
0
0
0
1
0
-23
27
8
0
0
1
0
-1
-7
-13
-10
6
0
0
0
0
0
9
-16
-31
41
0
0
0
0
1
-2
-27
9
5
0
0
0
0
0
1
-32
29
9
0
0
-2
0
0
9
5
12
8
0
0
0
0
0
-2
-11
-6
32
0
0
0
0
-6
-1
-25
57
0
0
0
0
0
0
-1
-14
50
0
0
0
0
0
0
-4
-11
-1
0
0
0
0
0
0
1
-34
18
0
0
0
0
0
0
4
-30
29
0
0
0
0
0
0
0
-26
-9
0
0
0
5
0
0
-6
-12
27
0
0
0
0
0
7
-1
-2
-15
0
0
0
0
0
0
1
20
21
0
0
0
0
0
0
0
-9
65
0
0
0
4
0
0
-4
-12
37
0
0
0
0
0
-1
-1
-16
48
0
0
0
0
0
0
-1
57
-4
0
0
0
0
0
0
-1
-10
-27
0
0
0
1
0
1
0
1
9
0
0
0
0
0
0
1
0
-27
0
0
0
0
0
-11
0
-31
-18
26
12
0
0
0
-22
23
-21
24
17
-1
0
0
0
0
-16
19
35
20
4
0
0
11
2
18
66
-25
-26
2
0
0
0
1
9
21
-52
9
15
0
0
0
-2
-1
-27
-10
-1
28
0
0
0
1
-17
-14
30
-4
18
0
0
-7
-10
14
-22
0
1
31
0
0
0
0
3
-15
-6
9
0
0
0
1
2
1
3
-23
15
0
0
0
0
2
-26
1
44
-12
0
0
0
-19
-20
-39
19
27
21
0
0
0
0
1
-3
-11
4
4
0
0
0
0
3
-2
-7
13
-3
0
0
0
0
0
-11
4
-20
16
0
0
0
1
-3
20
0
2
-29
0
0
0
0
7
0
33
-82
0
0
0
0
0
-3
3
-21
23
0
0
0
0
0
-1
19
-17
-32
0
0
0
0
0
-7
36
-23
21
0
0
0
0
0
0
2
-5
10
0
0
0
0
1
-3
3
1
15
0
0
0
0
0
10
0
-15
-7
0
0
0
0
0
-12
1
4
8
0
0
0
0
0
0
2
4
17
0
0
0
0
0
0
-3
-1
14
0
0
0
0
0
-1
14
-41
-19
0
0
0
0
0
2
-2
2
54
0
0
0
0
0
3
0
-26
45
0
0
0
0
0
-3
2
3
20
0
0
0
0
0
0
3
-2
10
0
0
0
0
-1
13
2
8
-10
0
0
-11
3
1
8
17
-37
47
1
0
0
0
-1
6
31
-17
20
16
0
0
-19
7
-10
-3
40
25
6
0
0
0
0
-6
4
-2
-20
29
0
-4
0
0
-2
-9
12
33
6
0
0
0
0
11
-32
-28
48
20
0
0
0
0
-3
8
12
-13
2
0
0
0
0
19
0
-18
-5
17
0
0
0
0
4
-22
-17
45
1
0
0
0
1
3
52
-3
-21
10
0
0
0
0
0
2
-56
3
21
0
0
0
0
-7
15
-1
31
17
0
-3
0
0
2
18
-17
-4
13
0
0
0
0
4
-18
4
-25
17
0
0
0
0
-1
9
1
2
10
0
0
0
0
-1
18
7
-17
14
0
0
0
0
-1
-13
27
11
0
0
0
0
0
-1
-2
-24
33
0
0
0
1
0
0
2
-9
6
0
0
0
0
0
-1
-2
-4
-7
0
0
-3
0
0
-1
73
2
-2
0
0
0
0
0
0
0
-14
17
0
0
0
0
0
-3
-4
-52
85
0
0
0
0
0
1
-6
17
1
0
0
0
0
0
-2
7
46
5
0
0
0
0
1
0
-16
42
31
0
0
0
0
0
0
0
63
-25
0
0
0
0
0
-1
0
-12
21
0
0
0
0
0
0
1
7
11
0
0
0
0
0
1
2
-14
3
0
0
0
2
0
0
0
-1
-6
0
0
0
0
0
0
1
5
-11
0
0
0
0
0
-11
23
-19
-13
11
0
0
0
-1
0
7
-82
39
15
0
0
0
8
-1
0
-5
11
-4
0
0
0
6
0
2
7
53
-50
0
0
0
0
0
-21
-5
8
4
0
0
0
0
0
-1
-4
-16
19
0
0
0
0
0
-1
-8
34
7
0
0
0
0
0
1
-33
-1
17
0
0
0
0
-1
-3
-34
39
31
0
0
0
0
0
1
-81
39
34
0
0
0
0
0
-3
-30
26
29
0
0
0
1
1
-1
-19
1
18
0
0
0
0
0
10
36
4
5
0
0
0
0
-1
0
21
4
3
0
0
0
0
0
0
2
-20
0
0
0
0
0
0
0
-4
-18
15
0
0
0
0
0
3
14
4
0
0
0
0
0
0
0
14
20
0
0
0
0
0
0
-1
-26
45
0
0
0
0
0
0
0
3
33
0
0
0
0
0
4
0
16
0
0
0
0
0
0
0
0
32
-7
0
0
0
0
0
0
-2
10
10
0
0
0
0
0
0
1
-3
12
0
0
0
0
0
1
-1
-38
14
0
0
0
0
0
0
9
12
-6
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
-5
17
0
0
0
0
0
0
0
-28
9
0
0
0
0
0
0
2
12
-23
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
-15
26
0
0
0
-13
0
-10
-28
25
17
-15
0
0
0
0
1
3
17
14
-1
0
0
6
0
0
16
-46
9
13
0
0
0
0
0
-8
-4
40
17
0
0
9
0
3
-16
-31
79
1
0
0
0
0
0
-1
-13
27
4
0
0
1
0
0
10
3
18
2
0
0
0
0
0
-3
-11
-4
0
0
0
0
0
3
8
-5
34
6
0
0
0
1
0
0
8
39
2
0
0
0
0
0
-14
-33
21
-13
0
0
0
0
0
1
13
27
-56
0
0
0
0
0
-2
-18
-8
12
0
0
0
0
-2
0
5
23
-13
0
0
-4
0
0
-2
1
56
7
0
0
0
0
0
0
0
57
6
0
0
0
0
0
-6
17
8
0
0
0
0
0
0
1
-60
27
0
0
0
0
0
0
-13
-29
49
0
0
0
0
0
0
0
-3
18
0
0
0
0
0
0
20
-49
19
0
0
0
0
0
0
0
54
-5
0
0
0
-2
0
0
3
26
10
0
0
0
0
0
0
0
0
25
0
0
0
0
0
1
1
-25
30
0
0
0
0
-1
0
0
-6
18
0
0
0
6
0
0
2
-17
19
0
0
0
0
0
0
-2
-2
-8
0
0
0
0
0
0
1
-11
4
0
0
0
0
0
0
-1
1
26
0
0
0
4
0
0
0
-6
-10
0
0
0
0
0
0
0
-12
15
0
0
0
0
-1
-1
-2
3
1
20
0
0
0
2
1
37
-62
-39
1
0
0
0
1
0
14
-6
-11
-26
0
0
0
-21
-5
1
17
33
11
0
0
0
0
0
-7
57
-3
-13
0
0
0
0
-1
-7
11
33
-7
0
0
0
0
0
3
57
5
-20
0
0
0
1
-32
1
-2
53
25
0
0
0
1
0
-3
-11
14
-6
0
0
0
1
2
-10
-33
10
36
0
0
0
0
0
-2
22
-2
-25
0
0
0
4
2
-1
3
-4
-38
0
0
0
0
0
0
13
-19
13
0
0
0
0
0
-4
-2
-25
17
0
0
0
0
0
0
1
44
-12
0
0
0
7
0
0
0
21
-54
0
0
0
0
0
-12
-13
8
0
0
0
0
0
0
-1
-8
16
0
0
0
0
0
0
-1
-18
47
0
0
0
0
2
0
4
9
27
0
0
0
0
0
-2
-2
0
18
0
0
0
0
0
3
-1
0
31
0
0
0
0
0
1
7
0
-16
0
0
0
0
0
2
0
-4
47
0
0
0
0
0
0
2
29
11
0
0
0
0
0
0
-4
-2
16
0
0
0
0
0
0
1
10
3
0
0
0
0
0
1
4
0
16
0
0
0
0
0
0
1
-11
12
0
0
0
0
0
-1
3
16
-24
0
0
0
0
0
0
-1
-4
15
0
0
0
0
3
0
0
2
-20
0
0
18
-3
0
-1
7
-18
7
-7
0
0
0
0
0
-2
-48
18
23
0
0
0
0
0
-13
-13
26
-18
0
0
0
0
0
14
6
10
20
0
4
0
0
-2
0
11
30
10
0
0
0
0
0
9
-21
5
24
0
0
-8
0
-1
0
26
40
-3
0
0
0
0
0
-15
0
21
10
0
-13
0
0
-1
-3
19
9
10
0
0
0
0
-2
9
-20
1
2
0
0
0
0
0
-48
-3
41
6
0
0
0
0
-2
12
-1
-12
12
0
4
0
0
6
4
-38
2
10
0
0
0
0
0
0
21
29
4
0
0
-7
0
0
-36
-8
23
24
0
0
0
0
0
3
-2
52
-3
0
0
0
0
-3
56
-79
11
0
0
0
0
0
0
3
-13
3
0
0
0
0
0
0
-7
-8
22
0
0
0
0
0
0
0
13
-3
0
0
6
0
0
0
14
26
-44
0
0
0
0
0
0
11
-9
0
0
0
0
0
0
0
-8
12
16
0
0
0
0
0
0
-12
3
-17
0
0
0
0
0
0
3
-48
15
0
0
0
0
0
4
2
-11
20
0
0
0
0
0
0
-2
-7
18
0
0
0
0
0
0
5
0
4
0
0
7
0
0
2
-4
23
8
0
0
0
0
0
2
1
-13
19
0
0
0
7
0
0
0
-7
1
0
0
0
0
0
0
15
4
3
0
0
0
0
0
0
-30
-29
9
27
0
0
0
-6
-2
0
-15
-21
10
0
0
0
0
0
7
36
42
-21
0
0
0
0
1
2
13
41
-8
0
0
0
0
0
8
-28
37
9
0
0
0
0
-2
0
-4
-58
18
0
0
0
0
0
0
11
10
7
0
0
0
0
-2
20
-2
0
22
0
0
0
0
-1
2
1
-8
14
0
0
0
0
0
2
39
7
-10
0
0
0
0
0
0
-6
36
7
0
0
0
0
0
6
1
16
0
0
0
0
0
0
-1
25
9
9
0
0
0
0
-4
-1
-3
47
13
0
0
0
0
0
4
-8
71
-18
0
0
0
4
2
-32
0
8
44
0
0
0
0
0
0
38
19
0
0
0
0
0
0
-2
1
2
0
0
0
0
0
0
0
35
-70
0
0
0
0
0
0
4
-11
-23
0
0
0
0
0
0
0
-19
37
0
0
0
0
1
0
1
-1
-34
0
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
-3
7
-10
0
0
0
0
0
0
-3
-23
26
0
0
0
0
0
0
0
-4
15
0
0
0
0
0
0
7
22
-2
0
0
0
0
0
0
2
0
-6
0
0
0
0
-7
0
0
0
36
0
0
0
0
0
2
0
7
7
0
0
0
0
0
0
0
-8
-7
0
0
0
0
0
-1
-4
1
37
0
0
0
2
0
-2
-5
-21
-2
22
0
0
0
1
0
-1
-12
55
-12
0
0
-2
0
0
3
-32
66
8
0
0
0
3
0
9
0
-1
-9
0
0
1
0
0
2
-2
53
-23
0
0
0
0
-2
1
0
42
5
0
0
5
0
0
-4
3
-20
21
0
0
0
-1
-1
2
0
-27
45
0
0
0
0
0
1
8
-3
12
0
0
0
0
0
0
16
-36
24
0
0
2
0
3
0
1
38
10
0
0
0
0
0
4
4
19
12
0
0
4
0
0
2
0
-4
7
0
0
0
0
-1
0
0
12
4
0
0
2
0
0
0
0
26
-18
0
0
0
0
0
1
0
45
-1
0
0
0
0
0
-1
-32
22
0
0
0
0
0
0
0
1
-75
0
0
0
1
0
0
0
-25
32
0
0
0
0
0
0
2
-9
26
0
0
0
-1
0
0
-2
8
-41
0
0
0
0
0
0
0
-4
14
0
0
0
0
0
0
0
-1
39
0
0
0
0
0
0
-1
-2
16
0
0
0
0
0
0
0
16
20
0
0
0
0
0
0
0
-6
32
0
0
0
-7
0
0
-2
-4
-1
0
0
0
0
0
0
-2
0
14
0
0
0
-3
0
1
3
0
18
0
0
0
0
0
0
0
-13
33
0
0
0
35
0
0
3
-3
-50
0
0
0
0
0
0
0
1
-29
0
0
0
0
0
-3
2
-7
25
-45
0
0
0
-1
7
1
27
-28
-15
0
0
0
-7
0
8
10
32
-8
0
0
0
3
-12
7
6
9
11
0
0
0
0
0
0
8
19
-23
0
0
0
1
15
2
-12
24
-32
0
0
0
0
0
-1
2
3
-48
0
0
0
1
9
-6
1
-1
-2
0
0
0
0
0
0
0
-32
17
0
0
0
0
0
0
-1
-28
25
0
0
0
0
0
-11
0
84
-27
0
0
0
6
0
21
7
7
-15
0
0
0
0
0
0
0
9
13
0
0
0
0
0
0
1
23
-16
0
0
0
0
0
-1
0
3
13
0
0
0
-7
-27
3
0
38
9
0
0
0
0
0
0
-21
-10
0
0
0
0
0
0
-2
14
23
0
0
0
0
0
0
3
0
-13
0
0
0
0
0
0
7
1
7
0
0
0
0
0
0
-4
0
17
0
0
0
0
0
0
-4
16
-2
0
0
0
0
0
0
0
0
34
0
0
0
0
-1
0
-1
2
6
0
0
0
0
0
0
0
-12
60
0
0
0
0
0
-3
0
4
11
0
0
0
0
0
0
-4
-6
-6
0
0
0
0
0
0
1
8
12
0
0
0
0
0
0
1
1
43
0
0
0
0
-1
0
1
-10
24
0
0
0
0
0
-1
0
11
9
0
0
0
0
-3
0
6
1
-2
0
0
-3
0
-6
-43
38
10
27
0
0
0
0
7
25
9
-38
0
0
0
0
-1
-4
12
-13
-8
19
0
0
0
0
1
4
2
-23
-4
0
0
-2
0
0
-32
-18
-6
34
0
0
0
0
0
20
32
-56
9
0
0
0
-1
0
-6
-13
-8
-1
0
0
0
0
0
-21
-42
-15
33
0
0
0
0
0
-15
10
21
-42
0
0
0
0
-1
15
16
-22
7
0
0
0
0
0
1
-7
-70
22
0
0
0
0
0
-6
-12
-14
37
0
0
3
0
0
10
21
-22
-13
0
0
0
0
0
-6
3
-13
44
0
0
0
0
0
-6
-21
-31
51
0
0
0
0
-1
4
10
1
-9
0
0
0
0
0
19
75
-21
9
0
0
0
0
0
-1
-7
-22
23
0
0
0
0
0
0
3
-8
-17
0
0
0
0
0
0
11
3
38
0
0
0
0
0
-3
1
-22
29
0
0
0
0
-1
-10
8
-7
24
0
0
0
0
0
6
0
-77
32
0
0
0
0
0
-1
-7
6
33
0
0
-1
2
0
6
24
-15
20
0
0
0
0
0
-1
19
-15
3
0
0
0
0
0
1
-28
-15
25
0
0
0
0
0
7
23
-46
11
0
0
1
0
0
-1
6
-7
-17
0
0
0
0
0
0
2
-10
17
0
0
0
-1
0
0
1
0
15
0
0
0
0
0
6
0
-28
2
0
0
0
0
0
16
-34
-56
43
0
0
0
0
-7
0
4
13
58
0
0
0
0
7
0
7
-1
-4
0
0
0
0
1
0
0
-18
25
0
0
0
0
0
8
-6
8
-21
0
0
0
0
1
-7
0
-4
-13
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
-3
-1
0
23
0
0
0
0
0
0
-4
5
8
0
0
0
0
2
0
0
20
2
0
0
0
0
-1
0
-2
-43
45
0
0
0
0
-4
0
-2
-8
40
0
0
0
0
0
0
-1
0
-29
0
0
0
0
-2
0
0
13
9
0
0
0
0
0
0
0
17
20
0
0
0
0
2
0
0
3
-12
0
0
0
0
0
-4
1
-15
21
0
0
0
0
0
0
0
-6
29
0
0
0
0
0
0
0
-15
12
0
0
0
0
0
0
-6
19
-4
0
0
0
0
0
0
0
-21
-10
0
0
0
0
0
3
0
-9
6
0
0
0
0
0
0
-1
-57
69
0
0
0
0
-1
0
0
7
5
0
0
0
0
0
1
3
5
-3
0
0
0
0
-3
0
0
-22
42
0
0
0
0
3
0
0
-43
54
0
0
0
0
3
-1
0
14
5
0
0
0
0
0
0
0
21
-11
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
0
5
9
0
0
0
0
0
0
9
-56
54
0
0
0
0
0
1
-3
4
-5
0
0
0
3
0
0
-23
-46
29
0
0
0
0
0
0
-1
16
1
0
0
0
0
0
0
11
47
-17
0
0
0
0
0
0
-3
10
-13
0
0
0
9
0
0
-7
16
-59
0
0
0
0
0
0
-1
-1
-14
0
0
0
0
0
0
-35
-22
37
0
0
0
0
0
0
-4
-47
38
0
0
0
-2
0
0
4
-21
-15
0
0
0
0
0
0
2
-4
16
0
0
0
0
0
0
-15
20
21
0
0
0
0
0
0
1
-19
8
0
0
0
8
0
0
1
-4
-26
0
0
0
0
0
0
1
0
14
0
0
0
0
0
0
5
-8
21
0
0
0
0
0
0
0
-7
16
0
0
0
0
0
0
-1
-6
44
0
0
0
0
0
0
0
5
-17
0
0
0
0
0
0
-7
17
-2
0
0
0
0
0
0
0
20
22
0
0
0
16
0
0
0
-13
-23
0
0
0
0
0
0
1
-31
2
0
0
0
0
0
0
3
-30
31
0
0
0
0
0
-2
2
11
-8
0
0
0
3
0
0
0
-20
37
0
0
0
0
0
0
4
-13
40
0
0
0
0
0
0
0
35
-3
0
0
0
0
0
0
1
8
38
0
0
0
-8
0
0
0
2
9
0
0
0
0
0
0
-3
0
-3
0
0
0
0
0
0
15
7
-14
0
0
0
0
0
-2
-11
-34
28
0
0
0
0
0
0
68
-35
4
0
0
0
0
-4
1
-27
32
20
0
0
0
0
0
-1
0
-3
16
0
0
0
0
0
3
1
42
18
0
0
0
0
0
0
7
-12
27
0
0
0
0
3
-1
-22
0
-22
0
0
0
0
0
0
1
-10
42
0
0
0
0
0
0
6
-26
45
0
0
0
0
0
0
-1
35
-20
0
0
0
0
2
0
10
24
-33
0
0
0
0
0
0
1
-9
50
0
0
0
0
0
0
1
-40
-20
0
0
0
0
0
0
-1
-8
1
0
0
0
0
-2
-1
0
-1
10
0
0
0
0
0
0
-11
-4
22
0
0
0
0
0
0
0
15
-9
0
0
0
0
0
0
-5
-9
17
0
0
0
0
0
0
4
3
-8
0
0
0
0
0
0
0
-24
26
0
0
0
0
0
0
0
29
-34
0
0
0
0
0
0
9
-11
28
0
0
0
0
-1
0
-5
23
-12
0
0
0
0
0
0
0
-19
35
0
0
0
0
0
0
1
33
-6
0
0
0
0
0
0
0
-7
5
0
0
0
0
0
0
-7
-19
29
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
3
11
13
0
0
0
0
0
0
-1
-1
27
0
0
0
0
0
1
0
10
9
0
0
3
-2
0
-3
25
8
-12
0
0
0
0
0
2
6
-7
-1
0
0
0
3
0
1
14
-26
10
0
0
0
0
-1
0
3
-45
16
0
0
5
0
0
-1
5
-6
17
0
0
0
0
0
0
8
-24
20
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
40
-24
0
0
-6
0
0
0
-20
34
21
0
0
0
0
0
-3
0
8
-5
0
0
0
1
0
0
18
6
5
0
0
0
0
0
0
-10
35
-11
0
0
-7
0
0
0
19
31
-15
0
0
0
0
0
0
-7
15
30
0
0
0
0
0
0
6
-43
17
0
0
0
0
0
0
0
22
-1
0
0
-2
0
0
2
25
-27
-1
0
0
0
0
0
0
8
23
-29
0
0
0
1
0
-1
0
-23
36
0
0
0
0
0
-7
21
-2
-23
0
0
-3
0
0
0
-38
-1
13
0
0
0
0
0
1
0
13
-3
0
0
0
4
0
0
2
-41
8
0
0
0
0
0
0
-3
44
-10
0
0
0
0
0
4
25
-33
23
0
0
0
0
0
0
3
22
-1
0
0
0
0
0
-2
15
-41
39
0
0
0
0
0
0
0
-49
26
0
0
0
0
0
-3
0
-37
31
0
0
0
0
0
0
-2
-4
37
0
0
0
6
0
0
-2
24
-2
0
0
0
0
0
-1
0
8
24
0
0
0
0
0
1
-28
2
28
0
0
0
0
-1
-1
2
-30
-20
0
0
0
0
0
0
-7
8
2
0
0
0
0
-1
0
-19
-12
107
0
0
0
0
0
0
0
-50
34
0
0
0
0
0
3
6
-12
-21
0
0
0
0
0
0
-4
5
57
0
0
0
0
0
-4
-1
-12
-2
0
0
0
0
0
-1
0
-15
8
0
0
0
0
0
1
0
-52
69
0
0
0
0
0
0
-3
-13
16
0
0
0
0
2
-3
0
26
11
0
0
0
0
0
0
-3
1
24
0
0
0
0
0
0
1
-3
11
0
0
0
0
0
0
0
3
20
0
0
0
0
2
1
0
23
-7
0
0
0
0
0
0
-8
-72
18
0
0
0
0
0
0
0
-12
15
0
0
0
0
0
0
9
76
-46
0
0
0
0
1
0
2
-21
56
0
0
0
0
0
0
0
17
-14
0
0
0
0
0
-4
2
-4
-25
0
0
0
0
0
-1
0
-24
20
0
0
0
0
0
0
-1
-8
25
0
0
0
0
0
-1
0
-2
17
0
0
0
0
0
0
0
14
15
0
0
0
0
0
0
-1
12
16
0
0
0
0
0
0
-10
-1
18
0
0
0
0
0
-2
0
-18
15
0
0
0
0
0
0
4
14
-3
0
0
0
0
0
-1
0
0
-7
0
0
0
0
-3
-1
-1
22
-15
0
0
0
-8
0
0
-42
86
-33
0
0
0
0
0
-3
-7
5
32
0
0
0
3
0
0
26
-30
3
0
0
0
0
0
0
0
6
11
0
0
0
-1
0
0
-11
54
-2
0
0
0
0
0
0
-1
-27
20
0
0
0
-1
0
-1
0
-20
-23
0
0
0
0
0
-2
0
7
6
0
0
0
0
0
0
2
-20
57
0
0
0
0
0
0
0
-2
-33
0
0
0
0
0
0
1
8
21
0
0
0
0
0
0
-3
34
26
0
0
0
0
0
-2
-1
16
24
0
0
0
0
0
0
0
20
30
0
0
0
-10
0
0
0
2
15
0
0
0
0
0
0
2
7
9
0
0
0
0
0
0
3
-6
0
0
0
0
0
0
0
6
-8
40
0
0
0
1
0
0
0
-23
19
0
0
0
0
0
0
0
-28
16
0
0
0
3
0
0
-3
-10
-5
0
0
0
0
0
0
0
-13
45
0
0
0
8
0
0
2
-6
-23
0
0
0
0
0
0
0
12
11
0
0
0
0
0
0
-8
-8
19
0
0
0
0
0
0
0
27
-15
0
0
0
2
0
0
1
-44
7
0
0
0
0
0
0
0
-9
49
0
0
0
2
0
0
0
6
21
0
0
0
0
0
0
0
26
-19
0
0
0
-13
0
1
-1
-9
18
0
0
0
0
0
0
0
-12
-6
0
0
0
0
0
7
-19
-36
16
0
0
0
0
0
-4
0
-23
72
0
0
0
0
0
0
8
-67
14
0
0
0
0
0
3
2
-12
-17
0
0
0
0
0
0
0
-2
43
0
0
0
0
0
2
0
-13
15
0
0
0
0
0
-2
-2
4
7
0
0
0
0
7
-9
-4
12
1
0
0
0
0
0
0
4
30
-27
0
0
0
0
3
-2
0
12
20
0
0
0
0
-3
0
-11
0
69
0
0
0
0
2
-3
1
-9
1
0
0
0
0
0
0
-1
12
6
0
0
0
0
0
-8
-1
-1
18
0
0
0
0
0
0
0
-6
12
0
0
0
0
-5
13
-1
-5
-12
0
0
0
0
0
0
-10
-2
12
0
0
0
0
0
7
-4
4
-29
0
0
0
0
0
0
-1
-10
2
0
0
0
0
0
9
0
-16
23
0
0
0
0
0
0
0
13
14
0
0
0
0
0
-3
0
15
21
0
0
0
0
0
0
0
11
-4
0
0
0
0
-1
-1
1
-20
-9
0
0
0
0
0
0
-1
7
25
0
0
0
0
0
0
4
-10
10
0
0
0
0
0
0
0
14
4
0
0
0
0
3
2
-6
-14
47
0
0
0
0
0
0
0
-1
79
0
0
0
0
0
0
-13
-13
45
0
0
0
0
0
0
-1
0
54
0
0
0
0
1
2
-1
-23
3
0
0
1
0
0
-6
-22
-27
42
0
0
0
0
0
-1
1
-24
11
0
0
0
0
0
0
-7
-1
-24
0
0
0
0
0
0
3
-9
22
0
0
-1
0
0
-1
15
7
-15
0
0
0
0
0
2
-6
-27
54
0
0
0
0
0
0
6
-11
33
0
0
0
0
0
-1
-3
1
-1
0
0
0
0
0
25
-3
4
11
0
0
0
0
0
0
-6
24
-11
0
0
0
0
0
-1
-9
5
29
0
0
0
0
0
-1
-6
-10
4
0
0
-8
0
0
-7
3
56
11
0
0
0
0
0
0
-4
0
21
0
0
0
0
0
0
-1
-4
21
0
0
0
0
0
11
0
-4
0
0
0
0
0
0
-4
7
-11
42
0
0
0
0
0
-3
0
42
28
0
0
0
0
0
1
9
-34
3
0
0
0
0
0
0
0
14
5
0
0
0
0
0
0
16
10
4
0
0
0
0
0
0
-1
-9
8
0
0
0
0
0
-1
-6
25
17
0
0
0
0
0
4
0
31
-19
0
0
0
0
0
-3
-30
-1
48
0
0
0
0
0
0
-8
20
-12
0
0
0
3
0
0
6
-17
-8
0
0
0
0
1
0
2
3
-30
0
0
0
0
0
1
0
27
0
0
0
0
0
0
3
-3
20
25
0
0
0
4
0
-1
-2
-2
-7
0
0
0
0
0
-1
2
0
25
0
0
0
0
0
6
8
-33
6
0
0
0
0
-4
0
0
-15
12
0
0
0
0
0
0
-2
23
-7
0
0
0
0
0
0
0
6
-11
0
0
0
0
0
-1
-4
-32
20
0
0
0
0
0
-1
0
-11
-1
0
0
0
0
0
0
-1
-24
8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
-4
4
7
0
0
0
0
0
0
0
-38
76
0
0
0
0
0
0
0
2
14
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
-10
11
0
0
0
0
0
0
0
-15
29
0
0
0
0
0
0
0
4
32
0
0
0
0
-1
0
0
-13
17
0
0
0
0
0
0
0
18
-43
0
0
0
0
0
0
0
-34
11
0
0
0
0
0
0
0
-19
8
0
0
0
0
0
0
0
13
12
0
0
0
0
0
0
0
-33
51
0
0
0
0
0
0
0
10
-22
0
0
0
0
0
0
0
-26
30
0
0
0
0
0
0
0
40
-35
0
0
0
0
0
0
0
-30
16
0
0
0
0
0
0
0
-46
27
0
0
0
0
0
0
0
-9
17
0
0
0
0
0
0
0
1
39
0
0
0
0
0
0
0
-28
24
0
0
0
0
0
0
-2
27
13
0
0
0
0
0
0
0
-8
34
0
0
0
0
0
-1
0
-20
16
0
0
0
-7
0
-3
-5
-29
49
0
0
0
0
0
0
0
-8
26
0
0
0
3
0
0
1
-25
-8
0
0
0
0
0
0
0
9
-47
0
0
0
1
0
0
3
-47
59
0
0
0
0
0
0
0
16
-3
0
0
0
-15
0
0
-2
23
50
0
0
0
0
0
0
0
-60
-9
0
0
0
0
0
2
3
-13
1
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
2
-28
11
0
0
0
0
0
0
3
-26
50
0
0
0
0
0
0
0
-25
38
0
0
0
0
0
0
0
18
-53
0
0
0
1
0
0
0
-4
17
0
0
0
0
0
0
0
6
-13
0
0
0
0
0
0
0
-3
24
0
0
0
0
0
0
0
0
-18
0
0
0
-1
0
0
0
3
7
0
0
0
0
0
0
0
-6
36
0
0
0
0
0
0
1
15
19
0
0
0
0
0
0
0
-33
30
0
0
0
0
0
0
1
-21
-13
0
0
0
0
0
0
0
2
7
0
0
0
1
0
0
0
-14
12
0
0
0
0
1
0
0
-38
37
0
0
0
6
0
1
0
-7
-1
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
0
7
53
0
0
0
0
0
0
0
-24
40
0
0
0
-4
0
0
0
5
1
0
0
0
0
0
0
0
8
-30
0
0
0
0
0
10
3
-9
-52
0
0
0
0
0
0
0
-1
36
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
5
15
0
0
0
0
0
0
2
-1
16
0
0
0
0
0
0
0
-30
6
0
0
0
0
0
0
1
0
-21
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
2
-26
18
0
0
0
0
1
0
1
10
7
0
0
0
0
0
0
-3
7
-21
0
0
0
0
-7
0
-1
7
44
0
0
0
0
0
0
0
1
38
0
0
0
0
0
-1
0
3
35
0
0
0
0
0
0
0
0
18
0
0
0
0
1
0
0
-4
1
0
0
0
0
0
0
0
0
35
0
0
0
0
0
0
0
-47
37
0
0
0
0
0
0
0
-9
26
0
0
0
0
-1
0
0
1
-2
0
0
0
0
0
0
0
-5
22
0
0
0
0
0
0
0
-1
22
0
0
0
0
0
0
9
-44
21
0
0
0
0
0
4
0
0
26
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
2
-16
16
0
0
0
0
0
0
-3
-35
37
0
0
0
0
1
0
1
-10
12
0
0
0
0
0
0
0
11
17
0
0
0
0
0
-1
0
-9
16
0
0
0
0
0
-1
1
3
-10
0
0
0
0
0
0
-1
17
33
0
0
-1
0
0
2
-28
-7
2
0
0
0
0
0
0
1
-24
29
0
0
0
0
0
0
6
10
-10
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-11
-37
42
0
0
0
0
0
0
-1
9
4
0
0
0
0
0
0
0
60
-19
0
0
0
0
0
0
6
2
-10
0
0
0
0
0
2
-3
-4
29
0
0
0
0
0
0
0
13
18
0
0
0
1
0
-1
0
-14
-3
0
0
0
0
0
0
0
-24
26
0
0
-2
0
0
0
-8
16
18
0
0
0
0
0
0
0
20
-45
0
0
0
2
0
0
0
21
-16
0
0
0
0
0
-2
0
-9
35
0
0
0
0
0
1
0
-15
21
0
0
0
0
0
0
0
-9
25
0
0
0
0
0
0
0
-34
25
0
0
0
0
0
0
0
-21
23
0
0
10
0
0
0
2
-6
-21
0
0
0
0
0
0
0
1
37
0
0
0
0
0
0
2
8
-43
0
0
0
0
0
0
0
-47
38
0
0
-1
0
0
0
23
-12
9
0
0
0
0
0
0
0
16
21
0
0
0
0
0
0
3
29
-5
0
0
0
0
0
0
0
-45
37
0
0
12
0
0
0
2
-56
-4
0
0
0
0
0
0
0
19
3
0
0
0
-2
0
0
2
-4
9
0
0
0
0
0
0
0
-21
42
0
0
0
0
0
0
0
-10
-35
0
0
0
0
0
0
0
-18
33
0
0
0
0
0
0
0
6
-2
0
0
0
0
-1
0
0
-26
7
0
0
0
0
0
3
1
18
-28
0
0
0
0
0
0
0
-11
-26
0
0
0
0
0
0
0
-30
5
0
0
0
0
0
9
0
12
-2
0
0
0
0
0
0
-1
1
26
0
0
0
0
0
0
2
-41
-37
0
0
0
0
0
0
2
-6
25
0
0
0
0
-1
-1
6
10
37
0
0
0
0
0
-3
0
-6
48
0
0
0
0
0
0
2
5
-16
0
0
0
0
0
1
0
-1
43
0
0
0
0
1
9
0
1
-39
0
0
0
0
0
0
0
-17
4
0
0
0
0
0
0
0
2
-40
0
0
0
0
0
0
0
6
20
0
0
0
0
0
0
0
-9
38
0
0
0
0
0
0
0
-16
47
0
0
0
0
0
0
0
-26
55
0
0
0
0
0
0
0
-3
22
0
0
0
0
0
-1
0
4
13
0
0
0
0
0
0
-1
-1
29
0
0
0
0
0
0
0
7
20
0
0
0
0
0
0
0
-10
38
0
0
0
0
0
0
0
15
-12
0
0
0
0
0
0
0
2
-14
0
0
0
0
0
-2
0
21
26
0
0
0
0
0
0
0
0
28
0
0
0
0
0
-8
3
17
18
0
0
0
0
0
0
-6
0
18
0
0
0
0
0
0
0
7
15
0
0
0
0
0
0
-3
2
-2
0
0
0
0
0
0
-2
0
15
0
0
0
0
0
-4
-3
6
18
0
0
0
0
0
0
1
0
-5
0
0
0
-2
0
0
-3
-1
-3
0
0
0
0
0
-1
4
0
-3
0
0
0
0
0
0
0
-17
45
0
0
0
0
0
0
0
4
3
0
0
0
0
0
-2
1
-9
18
0
0
0
0
0
0
-2
5
-13
0
0
0
2
0
1
2
-10
-12
0
0
0
0
0
7
1
-1
56
0
0
0
16
0
1
0
4
-17
0
0
0
0
4
0
0
0
39
0
0
0
0
0
0
0
3
-35
0
0
0
0
0
0
0
-10
12
0
0
0
0
0
0
0
-14
-7
0
0
0
0
0
0
0
-7
7
0
0
0
0
0
0
-1
10
4
0
0
0
0
0
0
0
1
26
0
0
0
6
0
0
0
-6
-9
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
3
26
-11
0
0
0
0
0
0
0
4
-5
0
0
0
9
0
0
0
-2
10
0
0
0
0
0
0
1
13
21
0
0
0
-9
0
0
0
-29
26
0
0
0
0
0
0
0
4
31
0
0
0
21
0
0
0
1
28
0
0
0
0
0
0
0
8
-4
0
0
0
0
3
0
-7
-10
-5
0
0
0
0
0
0
0
-3
-22
0
0
0
0
0
0
0
1
-30
0
0
0
0
1
0
-1
3
-16
0
0
0
0
0
0
-4
1
-9
0
0
0
0
0
-4
0
2
7
0
0
0
0
0
0
1
1
7
0
0
0
0
0
1
0
9
0
0
0
0
0
0
-1
0
-1
36
0
0
0
0
0
-1
-7
-12
7
0
0
0
0
-1
0
3
-3
-6
0
0
0
0
1
3
2
15
11
0
0
0
0
0
0
0
-3
14
0
0
0
0
0
-2
2
-6
-11
0
0
0
0
2
-2
-1
4
0
0
0
0
0
3
-13
0
0
33
0
0
0
0
0
0
0
-16
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-4
-21
0
0
0
0
0
0
0
-6
49
0
0
0
0
0
0
0
11
21
0
0
0
0
0
0
2
-1
-15
0
0
0
0
0
1
-4
2
28
0
0
0
0
3
-4
-2
7
8
0
0
0
0
0
0
0
-41
33
0
0
0
0
0
0
2
-1
24
0
0
0
0
-9
0
12
-8
1
0
0
0
0
-2
0
0
17
-7
0
0
0
0
0
0
0
-4
28
0
0
0
0
0
4
0
11
8
0
0
0
0
0
-1
6
1
-1
0
0
0
0
-3
4
-1
13
0
0
0
-16
16
-14
-32
33
8
4
4
-3
0
0
-10
-29
-22
-2
21
4
28
0
-10
-19
-23
62
-29
6
1
20
0
0
13
19
-39
-5
0
-16
-5
3
-39
6
-32
-16
-26
39
11
-11
0
0
21
28
3
-84
-27
-3
8
0
-21
0
6
0
-34
1
-6
17
0
0
-5
-7
-5
-20
-16
-21
8
7
1
1
-9
8
-21
-5
-1
0
0
0
3
15
-7
-2
1
-16
0
0
14
-9
-8
-12
-24
-16
17
0
0
0
-1
1
-18
-7
62
-3
0
-2
1
0
-6
-26
-49
22
19
0
0
0
1
-2
-1
-8
17
-44
0
0
-1
0
2
-26
25
30
-10
0
0
0
0
0
-6
53
12
-31
0
-2
71
-34
0
-1
-28
-1
0
0
0
0
-1
-22
-19
43
19
0
0
0
-19
-1
-3
-5
-12
24
0
0
0
0
0
-5
-28
32
7
0
0
34
41
0
29
33
-79
4
0
0
0
0
0
1
-20
-79
78
0
0
0
30
0
0
9
-51
2
0
0
0
0
1
3
6
20
-32
0
0
0
1
0
1
-12
0
10
0
0
0
0
0
-4
3
30
-16
0
0
0
-4
0
3
18
9
-30
0
0
0
0
0
3
-1
-60
-29
0
0
35
0
0
3
21
-15
-51
0
0
0
0
-1
0
2
-56
-6
0
0
0
1
0
-1
3
-23
2
0
0
0
0
0
0
-4
1
-26
0
0
0
0
29
16
10
-3
15
-7
20
0
0
26
35
30
9
-35
11
54
0
0
-17
7
-38
1
25
9
7
0
0
-30
-5
51
-17
7
-19
67
0
0
-6
-7
0
18
4
7
10
0
0
-10
69
-26
-16
-28
10
-1
0
0
1
11
-7
-54
44
-18
-15
0
0
12
-5
-19
27
-34
13
-6
0
0
-12
-41
-14
10
21
6
0
0
0
-1
46
-4
17
22
-19
0
0
0
-5
-6
22
-18
-35
24
0
0
0
0
-2
-41
-14
43
-1
0
0
0
0
-2
22
-28
-7
19
0
0
0
1
-6
20
-5
-10
-12
0
0
0
1
0
0
7
-16
-16
0
0
0
7
4
2
13
-17
11
0
0
0
-5
-8
17
-12
9
0
0
0
0
0
-39
6
18
45
0
0
0
0
0
-5
14
-21
21
0
0
0
0
6
3
-16
10
24
0
0
0
0
0
-34
-12
26
-25
0
0
0
0
1
-23
-3
-36
0
0
0
0
0
0
-1
-24
36
4
0
0
0
0
1
-4
11
-10
0
0
0
0
0
0
1
-6
-27
30
0
0
0
0
-2
0
-4
8
0
0
0
0
0
-9
0
-3
15
6
0
0
0
0
0
2
0
-40
-17
0
0
0
0
0
0
0
8
3
0
0
0
0
-3
0
0
-49
44
0
0
0
0
0
0
0
-4
21
0
0
0
0
-2
3
2
-9
15
0
0
0
26
35
30
32
-18
0
-9
4
0
0
0
1
62
-18
19
7
33
0
-33
-4
2
-34
-42
3
-12
14
0
0
-13
-26
37
27
-21
14
27
0
-44
4
-7
4
-22
-38
-2
18
0
0
0
-12
33
-13
2
35
15
0
-29
0
1
45
-51
2
21
16
0
0
11
17
-47
-12
-25
53
16
0
-1
0
1
12
-50
36
-4
0
0
0
-2
-3
1
-11
18
12
0
0
35
-2
17
32
-22
-2
-35
0
0
0
-2
-27
-6
-1
12
5
0
0
-1
0
0
12
-31
-10
1
0
0
0
0
1
-2
5
-1
29
0
0
14
0
-3
13
-33
24
4
0
0
0
0
0
11
-9
-30
38
0
0
-10
4
-38
5
-43
52
0
0
0
0
-7
-12
-14
-1
36
0
0
0
8
0
0
4
-21
38
0
0
0
0
0
-1
11
17
16
0
0
0
0
0
-1
-13
-15
13
0
0
0
0
2
-1
-35
20
-35
0
0
0
-3
0
-2
10
-5
-13
0
0
0
0
0
-6
-21
16
30
0
0
0
1
0
4
-31
-40
31
0
0
0
0
0
0
1
42
6
0
0
0
-1
0
-1
5
-56
9
0
0
0
0
0
0
0
-4
-22
0
0
0
0
0
0
-15
-40
48
0
0
0
0
0
0
1
30
1
0
0
0
-8
0
0
0
-25
6
0
0
0
0
0
0
1
0
23
0
0
0
0
16
-2
1
49
-7
8
14
0
0
9
2
-28
0
34
1
58
0
0
-4
29
50
-63
-5
1
26
0
0
-23
9
-9
45
35
28
7
0
0
4
-12
-21
2
1
-5
29
0
0
-11
-33
12
47
10
-4
17
0
0
0
-8
7
-19
50
18
-3
0
0
-49
-8
16
58
51
4
6
0
0
-2
34
41
19
-5
-25
0
0
0
-35
-28
9
-18
46
-1
0
0
0
0
8
31
-14
17
-29
0
0
0
40
-39
-14
-35
40
-19
0
0
0
0
-1
3
-21
20
-8
0
0
0
-3
1
22
54
11
-23
0
0
0
0
1
11
-42
9
22
0
0
0
59
-23
-12
-67
42
2
0
0
0
-8
-9
-6
32
-8
0
0
0
0
16
-14
-15
17
30
0
0
0
0
0
-1
3
-11
36
0
0
0
0
0
12
-33
13
66
0
0
0
0
3
4
-16
-17
44
0
0
0
0
-3
36
-12
18
16
0
0
0
0
0
4
-9
9
-25
0
0
0
0
7
21
-28
-26
-38
0
0
0
0
-2
0
21
-25
16
0
0
0
0
-3
0
-4
2
19
0
0
0
0
0
0
4
-40
80
0
0
0
0
0
-8
-8
-27
16
0
0
0
0
0
0
-3
-6
-15
0
0
0
0
-3
1
1
-17
21
0
0
0
0
0
0
1
2
40
0
0
0
0
-1
3
1
-2
-21
0
0
-22
2
-3
-48
-23
7
-3
-2
-14
0
0
-1
-36
-28
-37
-15
8
48
0
15
0
-9
-17
15
19
-34
7
0
0
1
-17
-67
4
53
5
45
-33
3
0
-17
13
5
12
17
-2
0
0
0
7
-8
-15
-7
-12
11
0
-16
0
0
-17
-10
31
2
19
0
0
0
0
1
-4
-22
-9
15
44
1
0
11
86
-45
-7
-8
0
0
0
0
11
-14
18
-18
-17
0
0
4
0
-1
33
-3
76
-28
0
0
0
0
-1
20
-24
31
-37
0
4
0
0
2
19
4
83
-18
0
0
0
0
0
0
-27
21
22
0
0
-6
0
1
-2
39
52
-9
0
0
0
0
0
-4
-4
25
-26
0
6
0
0
17
-12
12
-42
0
0
0
0
0
8
-5
22
-37
0
0
0
-7
0
0
-14
-24
36
0
0
0
0
0
0
-8
6
16
0
0
-39
1
0
1
-33
-22
86
0
0
0
0
1
2
8
-33
-11
0
0
0
10
0
0
11
38
-26
0
0
0
0
0
0
-6
30
-5
0
0
-2
1
0
-6
-46
1
70
0
0
0
0
0
-1
8
18
-44
0
0
0
0
0
-3
0
57
9
0
0
0
0
0
2
1
-8
76
0
0
-17
0
0
2
15
5
-56
0
0
0
0
0
0
0
-45
25
0
0
0
-2
0
1
0
-45
-10
0
0
0
0
0
0
0
4
0
0
0
0
0
-2
-37
-10
-35
-15
-3
15
0
0
9
30
-8
-13
-43
2
4
0
0
9
-16
53
-27
-21
9
-1
0
0
5
-39
35
35
22
-32
-4
0
0
0
-39
-21
-1
41
-28
6
0
0
0
-2
4
-3
-8
-6
-8
0
0
0
0
-1
1
-15
8
18
0
0
-14
27
7
37
-33
-2
15
0
0
0
0
-61
-13
12
29
0
0
0
0
-10
-5
-51
19
36
0
0
0
0
-1
11
9
17
-9
0
0
0
0
39
29
11
41
-35
0
0
0
0
-4
-11
4
4
18
0
0
0
0
-4
1
6
-64
11
0
0
0
0
0
14
1
-25
25
0
0
0
0
-12
-4
19
15
-7
0
0
0
0
-25
5
-4
0
0
0
0
0
0
-4
1
-27
-1
0
0
0
0
0
0
-8
-14
-9
0
0
0
0
0
-20
4
-48
38
0
0
0
0
0
1
-6
-66
39
0
0
0
0
0
0
-2
-18
-29
0
0
0
0
0
-1
-1
-35
43
0
0
0
0
0
-18
-4
-15
55
0
0
0
0
0
1
0
-11
34
0
0
0
0
0
-2
0
-21
42
0
0
0
0
0
0
0
-19
60
0
0
0
0
0
4
-1
1
18
0
0
0
0
0
0
0
4
46
0
0
0
0
0
0
1
-4
15
0
0
0
0
0
0
0
-4
38
0
0
0
0
0
0
2
-6
-2
0
0
0
-15
5
-21
20
-26
20
1
22
0
0
0
26
35
-68
-41
24
17
0
-65
0
-4
34
-12
-21
30
2
0
0
1
4
-26
10
-12
-16
27
0
19
0
-10
-25
-30
-65
-3
15
0
0
0
0
13
-29
-14
44
27
0
21
0
0
-28
-34
14
14
25
0
0
0
-27
58
42
104
26
-4
0
13
0
5
-20
-30
-28
-3
0
0
0
0
6
-14
8
33
-9
0
0
10
0
0
18
23
0
-33
0
0
0
0
2
-51
49
28
-5
0
0
-1
0
-1
-4
-4
-6
4
0
0
0
0
-1
2
-7
59
5
0
0
-10
0
0
1
-33
9
31
0
0
0
-2
6
4
-5
32
-2
0
0
11
0
15
-48
-23
-28
0
0
0
0
0
1
-2
3
12
0
0
0
7
0
-2
-7
-26
28
0
0
0
0
0
0
-20
-2
-4
0
0
0
-28
0
0
-7
35
9
0
0
0
0
0
2
-6
-18
54
0
0
0
69
0
0
1
-48
0
0
0
0
0
0
-6
9
-12
29
0
0
0
1
0
0
0
47
-57
0
0
0
0
0
0
0
-42
84
0
0
0
-29
0
0
2
24
13
0
0
0
0
0
-9
0
-5
15
0
0
0
1
0
-1
-1
6
41
0
0
0
0
0
0
1
2
29
0
0
0
-9
0
-2
0
14
0
0
0
0
0
0
-2
4
1
9
0
0
0
0
14
-86
-36
-12
15
8
0
0
0
50
-2
-27
-22
91
14
8
0
0
-1
-29
-20
-3
73
-3
13
0
0
2
24
24
-3
-51
-25
31
0
0
1
0
33
25
42
6
-11
0
0
-6
26
-14
10
1
-3
29
0
0
0
-3
8
29
2
19
18
0
0
9
101
23
0
-5
11
10
0
0
0
0
-14
-25
-17
60
0
0
0
-1
6
22
-1
1
-1
0
0
0
-1
-2
-10
20
19
-1
0
0
0
-10
-2
-22
6
53
-1
0
0
0
0
-3
-3
26
2
-15
0
0
0
3
-10
-26
2
50
40
0
0
0
0
0
1
-2
25
0
0
0
0
41
4
-4
2
23
-72
0
0
0
-1
-24
10
-23
40
0
0
0
0
4
-8
3
2
3
0
0
0
0
0
-1
18
15
-51
0
0
0
0
2
10
16
9
3
0
0
0
0
0
1
11
-30
29
0
0
0
0
-1
12
8
-10
0
0
0
0
0
-3
8
-1
-4
-35
0
0
0
0
0
-36
5
-4
13
0
0
0
0
0
1
1
-3
-1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
1
11
0
0
0
0
0
14
0
-3
-15
0
0
0
0
0
1
1
-6
-1
0
0
0
0
1
-3
0
2
-1
0
0
0
0
0
0
-4
-3
-13
0
0
0
0
7
-4
5
-7
12
0
0
33
-6
0
-18
-25
9
4
-11
0
0
0
-19
8
-7
14
-26
5
0
0
6
0
-27
1
-39
31
8
0
0
0
1
0
-32
42
34
-17
0
2
2
0
13
15
3
45
5
0
0
0
1
-11
2
-84
50
7
0
0
0
0
0
-8
-15
8
-3
0
0
0
0
1
8
-13
-37
-2
0
10
0
2
-7
32
-43
28
4
0
0
0
-8
16
-1
-45
46
-4
0
0
-3
-1
-33
25
3
-55
13
0
0
0
0
0
3
1
2
-4
0
-10
0
0
1
-69
-7
45
15
0
0
0
2
0
-1
16
-27
1
0
0
0
0
0
-1
9
2
2
0
0
0
0
0
0
-3
14
0
0
-4
-9
-7
-6
24
31
3
0
0
0
0
9
4
-17
8
1
0
0
0
3
0
1
46
-3
-8
0
0
0
0
0
-6
2
-21
4
0
0
-13
3
0
-2
18
11
-4
0
0
0
0
0
3
-2
-67
79
0
0
0
0
0
0
2
3
-16
0
0
0
0
0
1
4
-3
-32
0
0
0
0
0
16
3
50
-6
0
0
0
0
0
0
-3
11
16
0
0
0
1
0
-1
-21
-3
29
0
0
0
0
0
0
2
-32
71
0
0
5
0
0
9
-7
-17
18
0
0
0
0
0
1
3
22
4
0
0
0
0
0
0
-3
4
11
0
0
0
0
0
-1
0
-1
-22
0
0
0
0
10
-9
4
25
-20
-10
0
0
0
6
40
20
2
-13
-29
0
0
0
0
-10
13
-55
43
5
0
0
0
5
27
45
-14
-6
-39
0
0
0
3
-20
22
38
9
1
0
0
0
-1
14
33
-36
3
-3
0
0
0
0
-8
7
-34
26
14
0
0
0
-3
44
-8
9
-15
5
0
0
0
-2
9
-97
29
41
15
0
0
0
0
-6
-16
-23
7
17
0
0
0
0
1
-16
12
9
4
0
0
0
-3
-2
-21
-21
69
18
0
0
0
3
7
-8
-29
5
-1
0
0
0
-2
0
20
93
-27
-16
0
0
0
0
0
1
4
0
9
0
0
0
0
-7
3
-10
4
20
0
0
0
1
-10
51
-18
-3
0
0
0
0
0
3
-12
-58
48
0
0
0
0
0
2
0
-28
10
0
0
0
0
-2
0
5
-24
-8
0
0
0
0
0
0
-3
54
-3
0
0
0
0
-1
-2
-4
30
-20
0
0
0
0
0
0
1
-7
-24
0
0
0
0
0
3
1
-34
-9
0
0
0
0
1
1
4
-2
26
0
0
0
0
0
0
0
28
-5
0
0
0
0
4
0
0
7
-36
0
0
0
0
0
-2
-1
1
18
0
0
0
0
0
0
0
-1
10
0
0
0
0
1
4
0
12
-1
0
0
0
0
0
0
2
11
12
0
0
0
0
0
1
0
38
-37
0
0
0
-13
26
-67
37
2
14
-13
0
0
0
-4
-3
-30
-7
52
40
0
0
-40
4
1
-11
-13
39
2
0
0
0
-1
-13
1
-49
47
38
0
0
16
0
4
4
10
-20
-6
0
0
0
0
3
-21
-31
22
15
0
0
-14
0
1
17
9
-55
38
0
0
0
-3
0
17
24
8
10
0
0
-2
-6
8
54
4
-38
-8
0
0
0
7
0
-1
5
-24
6
0
0
29
0
0
-12
-27
30
-16
0
0
0
1
-1
-15
-10
27
39
0
0
-4
0
0
-2
-11
27
8
0
0
0
0
0
2
-5
55
9
0
0
-18
0
0
2
2
60
-2
0
0
0
1
0
-8
16
-20
7
0
0
-3
-3
-1
19
-30
-3
0
0
0
0
2
-1
-2
24
-29
0
0
0
1
0
0
49
2
-43
0
0
0
0
0
2
-5
-40
37
0
0
0
0
0
0
28
-41
42
0
0
0
0
-4
0
-18
-20
49
0
0
0
-1
0
0
-1
4
2
0
0
0
0
0
0
-27
10
50
0
0
0
0
0
3
-8
4
11
0
0
0
0
0
1
0
34
9
0
0
0
-1
0
0
-4
-39
35
0
0
0
0
-1
0
1
18
47
0
0
0
-2
0
-2
2
-10
22
0
0
0
0
0
-2
0
-18
30
0
0
0
19
0
0
-1
-51
25
0
0
0
0
1
1
2
-20
5
0
0
0
0
-17
18
-53
12
9
17
0
0
0
-37
17
-2
29
33
4
0
0
0
0
-1
25
-29
29
3
0
0
0
42
12
-14
7
13
-23
0
0
0
-1
-28
33
9
40
-14
0
0
0
-4
12
-10
13
33
-18
0
0
0
0
21
-12
8
-38
21
0
0
0
-15
1
43
45
10
-37
0
0
0
0
-6
-13
-27
16
21
0
0
0
-7
-10
23
1
39
36
0
0
0
-2
2
-6
-49
29
10
0
0
0
-3
32
8
16
-39
-10
0
0
0
0
-1
0
-27
36
-2
0
0
0
6
3
2
-5
51
-46
0
0
0
0
11
0
3
-5
13
0
0
0
-7
-12
-2
-3
-8
5
0
0
0
1
0
49
4
-1
0
0
0
0
0
0
0
-6
-17
0
0
0
0
0
0
19
-26
22
0
0
0
0
0
1
34
3
9
0
0
0
0
0
0
2
-10
-3
0
0
0
0
1
-3
-6
11
-14
0
0
0
0
0
4
6
24
-12
0
0
0
0
11
4
8
-17
-39
0
0
0
0
0
-3
1
1
7
0
0
0
0
6
0
-6
21
19
0
0
0
0
0
-1
-1
9
45
0
0
0
0
-3
0
0
-11
36
0
0
0
0
0
1
0
8
6
0
0
0
0
0
-2
0
33
33
0
0
0
0
0
-2
-4
-2
31
0
0
0
0
-12
-3
-3
9
46
0
0
35
27
11
2
52
-43
-16
-14
0
0
0
1
-7
10
-15
-9
14
0
0
-3
0
0
-48
-20
50
21
0
0
0
0
0
-1
-36
51
10
0
28
0
-1
-2
-26
-29
25
7
0
0
0
1
2
11
-20
-5
-1
0
0
1
0
4
-35
55
29
-25
0
0
0
1
0
-1
2
54
4
0
-29
-2
0
-38
39
-19
29
7
0
0
0
0
0
-21
-23
-55
28
0
0
2
0
0
1
-18
43
14
0
0
0
0
0
0
17
58
7
0
51
0
0
0
-8
-1
66
21
0
0
0
0
-2
-2
-8
31
19
0
0
4
0
0
2
-3
20
8
0
0
0
0
-1
0
7
23
18
0
-5
0
0
-1
4
16
9
0
0
0
0
0
4
2
9
-26
0
0
0
8
0
-3
0
43
15
0
0
0
0
0
0
0
-3
4
0
0
6
3
0
0
-3
-29
47
0
0
0
0
-2
0
12
-50
33
0
0
0
-1
0
0
4
11
-12
0
0
0
0
0
0
0
-15
8
0
0
1
0
0
-2
-32
35
24
0
0
0
0
0
0
10
10
23
0
0
0
2
0
0
0
35
13
0
0
0
0
0
0
1
3
-14
0
0
1
0
0
0
-1
0
-5
0
0
0
0
0
-3
9
-27
46
0
0
0
2
0
0
-1
14
2
0
0
0
0
0
0
-6
-3
-8
0
0
0
0
5
25
2
-21
30
-1
0
0
0
1
5
-8
-2
19
-15
0
0
0
-6
8
-4
-46
-7
40
0
0
0
8
-18
3
54
9
-16
0
0
0
0
8
1
-45
0
36
0
0
0
0
-4
-3
42
-77
16
0
0
0
0
-1
0
-22
6
23
0
0
0
1
7
0
15
-17
5
0
0
0
2
27
33
11
-13
-19
0
0
0
2
4
-1
-5
13
-14
0
0
0
0
1
1
-3
-13
3
0
0
0
2
-5
-6
8
21
-2
0
0
0
0
-3
9
-28
5
19
0
0
0
2
7
1
-17
-24
6
0
0
0
0
-2
-8
3
-2
-9
0
0
0
3
0
-4
9
20
1
0
0
0
0
0
-15
10
18
0
0
0
0
0
5
16
-66
6
0
0
0
0
0
0
4
10
13
0
0
0
0
-1
8
-19
0
34
0
0
0
0
0
7
-8
-11
46
0
0
0
0
0
-2
3
19
9
0
0
0
0
0
0
0
-22
30
0
0
0
0
-4
1
4
12
-42
0
0
0
0
0
2
-5
-30
14
0
0
0
0
0
0
-3
-8
56
0
0
0
0
0
0
3
2
45
0
0
0
0
-1
6
3
-7
0
0
0
0
0
0
0
0
-5
41
0
0
0
0
0
-10
-2
20
29
0
0
0
0
0
0
0
21
43
0
0
0
0
0
0
0
3
-22
0
0
0
7
4
-8
34
-76
-5
1
0
0
0
0
0
11
19
-24
-9
0
0
39
0
3
-8
-21
-1
33
0
0
0
-2
0
15
-4
13
32
0
0
-14
-3
-3
10
9
-2
-12
0
0
0
0
0
0
-20
-2
27
0
0
-20
0
1
4
-46
29
18
0
0
0
3
-2
-9
2
-43
45
0
0
2
0
2
-2
24
4
-36
0
0
0
0
-2
0
-3
43
4
0
0
-10
0
-1
-3
-34
17
23
0
0
0
1
-1
2
0
40
-3
0
0
0
0
0
5
-12
10
3
0
0
0
0
0
-8
6
2
34
0
0
-13
0
0
0
3
-7
21
0
0
0
-10
0
0
-8
8
17
0
0
15
0
3
-2
14
-36
0
0
0
0
-1
2
27
33
-70
0
0
0
-7
0
0
2
-7
12
0
0
0
0
0
3
2
1
53
0
0
0
-2
0
-4
7
2
49
0
0
0
0
0
0
-1
9
-21
0
0
0
-24
0
0
2
-3
39
0
0
0
0
7
0
7
0
0
0
0
0
0
0
0
-1
-53
31
0
0
0
0
2
0
-1
-24
10
0
0
0
13
0
0
-1
0
59
0
0
0
0
-2
-4
-6
8
68
0
0
0
0
0
2
5
-5
6
0
0
0
0
0
-6
0
0
-11
0
0
0
23
0
0
0
-24
4
0
0
0
0
-1
3
3
4
67
0
0
0
0
-2
-22
33
37
-18
-12
0
0
0
2
19
-4
-2
17
-7
0
0
0
-1
0
-6
-12
-12
69
0
0
0
9
-10
-10
0
-38
24
0
0
0
0
-13
-26
24
2
-23
0
0
0
0
-2
2
-21
2
16
0
0
0
1
-3
-1
-1
-11
10
0
0
0
10
5
-10
0
2
-17
0
0
0
0
-2
-4
2
24
-15
0
0
0
9
0
0
0
14
-33
0
0
0
0
0
-7
6
-15
24
0
0
0
-7
3
0
0
-1
31
0
0
0
0
2
-2
0
44
12
0
0
0
-4
2
0
0
-11
22
0
0
0
0
0
1
0
34
-8
0
0
0
-8
2
8
0
6
2
0
0
0
4
-8
17
12
3
0
0
0
0
10
0
1
-7
-23
0
0
0
0
0
0
-4
-1
-3
0
0
0
0
-9
0
-24
4
11
0
0
0
0
0
2
3
1
11
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
-1
8
3
0
0
0
0
-6
-8
-17
3
18
0
0
0
0
0
0
-1
-7
45
0
0
0
0
0
0
-3
-6
44
0
0
0
0
0
1
0
-39
46
0
0
0
0
-1
-4
3
-2
28
0
0
0
0
0
0
-2
0
13
0
0
0
0
0
7
0
-3
16
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-2
7
-4
0
0
0
20
-39
-30
-64
-4
18
31
0
0
0
0
-1
8
-56
7
42
0
0
0
-9
-3
29
50
12
-7
0
0
0
0
2
-33
-18
-21
40
0
0
-23
77
0
12
-5
-25
9
0
0
0
0
8
-31
-33
-3
3
0
0
0
13
0
0
-46
-14
28
0
0
0
0
-1
1
-31
16
49
0
0
0
0
3
18
38
-41
21
0
0
0
0
0
-3
2
18
3
0
0
0
-3
0
0
6
12
22
0
0
0
0
0
0
-1
-18
38
0
0
-2
0
0
-1
-20
-49
41
0
0
0
0
0
0
-20
45
10
0
0
0
0
0
0
-6
-28
52
0
0
0
0
0
3
0
-11
17
0
0
0
-14
-3
-3
3
35
33
0
0
0
0
0
1
18
-21
12
0
0
0
3
0
-3
-28
-32
35
0
0
0
0
0
0
0
3
18
0
0
5
-8
0
15
-9
-32
28
0
0
0
0
0
0
12
-37
16
0
0
0
0
0
0
-14
-26
6
0
0
0
0
0
0
0
-35
27
0
0
0
0
0
13
-3
-16
25
0
0
0
0
0
1
3
16
-10
0
0
0
-3
0
3
22
-48
-1
0
0
0
0
0
0
0
-73
41
0
0
0
0
0
0
-11
-37
-9
0
0
0
0
0
0
1
-32
-22
0
0
0
0
0
0
4
-37
-20
0
0
0
0
0
0
-9
-20
-26
0
0
0
0
36
4
11
1
16
0
0
0
0
3
21
2
-18
-16
0
0
0
0
0
0
-15
12
9
0
0
0
0
1
-2
-13
40
38
0
0
0
0
0
-3
-1
6
23
0
0
0
0
-10
0
15
-25
-32
0
0
0
0
0
-9
4
0
43
0
0
0
0
5
51
4
-43
-17
0
0
0
0
0
-12
-13
70
14
0
0
0
0
0
0
1
7
3
0
0
0
0
0
2
3
-60
20
0
0
0
0
0
-4
-2
-3
60
0
0
0
0
0
-6
25
-30
10
0
0
0
0
0
0
0
-2
-20
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-2
7
32
0
0
0
0
3
16
-29
-22
9
0
0
0
0
2
-4
11
-11
33
0
0
0
0
0
0
10
-6
-5
0
0
0
0
0
0
-3
-7
-4
0
0
0
0
0
-2
24
-7
-4
0
0
0
0
0
1
11
-24
16
0
0
0
0
0
0
0
33
-12
0
0
0
0
0
0
1
-19
-5
0
0
0
0
-1
0
-9
7
47
0
0
0
0
0
0
-4
-27
-12
0
0
0
0
0
0
1
-1
25
0
0
0
0
0
0
0
4
7
0
0
0
0
0
0
1
-59
11
0
0
0
0
0
0
-1
-46
-5
0
0
0
0
0
0
0
-22
-15
0
0
0
0
0
0
0
-49
35
0
0
0
44
-10
17
-59
2
10
0
0
0
0
0
0
4
-26
8
0
0
0
-2
0
0
-17
-45
38
0
0
0
0
2
15
18
0
-33
0
0
0
20
0
-10
-37
-2
-2
0
0
0
0
-1
0
-1
-15
81
0
0
0
7
0
-2
-5
-14
29
0
0
0
0
0
4
29
-20
29
0
0
0
0
0
-1
-9
-40
44
0
0
0
0
0
0
-1
-15
18
0
0
0
-2
0
0
18
-40
-9
0
0
0
0
0
0
-1
3
-31
0
0
0
0
0
0
-67
22
30
0
0
0
0
0
0
17
-19
3
0
0
0
-2
0
0
-1
23
-6
0
0
0
0
1
1
-6
-3
23
0
0
0
-1
0
-4
-22
-50
10
0
0
0
0
0
-1
-13
-28
53
0
0
0
1
0
-2
-4
20
-17
0
0
0
0
0
1
-3
2
21
0
0
0
4
0
0
-35
-15
38
0
0
0
0
0
0
-9
1
27
0
0
0
5
0
1
3
-41
-2
0
0
0
0
0
0
0
10
25
0
0
0
-3
0
-9
18
-22
8
0
0
0
0
0
0
0
-9
27
0
0
0
0
0
6
41
7
-17
0
0
0
0
0
0
0
0
30
0
0
0
0
0
0
3
-21
43
0
0
0
0
0
0
0
-32
-9
0
0
0
5
0
0
-4
-7
9
0
0
0
0
0
0
0
-4
14
0
0
0
0
-8
11
15
-4
16
0
0
0
0
4
-13
-38
54
33
0
0
0
0
3
-3
55
-54
-15
0
0
0
0
30
0
-22
2
28
0
0
0
0
-3
-3
20
-67
57
0
0
0
0
14
-24
-30
15
45
0
0
0
0
0
1
2
-20
24
0
0
0
0
-40
30
-23
-9
68
0
0
0
0
1
1
-15
-6
34
0
0
0
0
0
0
-2
24
3
0
0
0
0
0
-1
3
24
7
0
0
0
0
-2
-6
-20
16
33
0
0
0
0
-1
-3
6
21
-13
0
0
0
0
-1
2
0
5
-28
0
0
0
0
0
0
4
-4
-11
0
0
0
0
7
-2
-1
-9
-3
0
0
0
0
1
-7
8
-15
21
0
0
0
0
0
1
28
-35
47
0
0
0
0
0
0
-10
-1
30
0
0
0
0
0
-1
-5
10
-31
0
0
0
0
0
0
-7
6
37
0
0
0
0
-2
6
0
9
-17
0
0
0
0
0
0
1
40
-14
0
0
0
0
-4
0
9
23
21
0
0
0
0
0
-4
4
-50
10
0
0
0
0
-1
-3
-1
32
26
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
-1
0
2
-44
0
0
0
0
0
0
0
-38
4
0
0
0
0
-1
0
0
0
-29
0
0
0
0
0
0
-2
-22
30
0
0
0
0
1
0
0
-2
-22
0
0
-48
-18
0
-71
4
16
56
0
0
0
0
0
8
17
-9
-16
0
0
0
8
0
0
41
-76
2
0
0
0
0
0
1
-9
31
3
0
0
13
3
0
30
-48
-9
5
0
0
0
0
0
-9
0
-18
29
0
0
0
-18
0
0
-41
17
59
0
0
0
0
0
2
-2
-8
38
0
0
28
0
-7
-3
-19
32
2
0
0
0
0
-1
-1
18
10
17
0
0
0
1
0
0
11
-29
23
0
0
0
0
0
-1
-1
-7
1
0
0
-12
0
0
0
-8
21
9
0
0
0
0
0
-3
1
11
-18
0
0
0
0
0
0
10
10
24
0
0
0
0
0
0
-1
0
20
0
0
0
-6
0
-2
-23
-11
19
0
0
0
0
0
2
-1
-50
32
0
0
0
1
0
0
0
-29
43
0
0
0
0
0
-2
-3
28
40
0
0
-17
-7
0
10
4
-30
18
0
0
0
0
0
-3
4
-17
6
0
0
0
10
0
0
0
-10
-3
0
0
0
0
0
0
10
-19
12
0
0
-2
0
0
7
-47
29
6
0
0
0
0
0
6
2
5
20
0
0
0
0
0
-6
-1
-46
67
0
0
0
0
0
0
1
-18
31
0
0
-9
0
0
-1
14
-20
-10
0
0
0
0
0
0
0
-26
26
0
0
0
-6
0
0
0
13
25
0
0
0
0
0
0
0
50
-27
0
0
0
0
-15
47
33
-15
11
0
0
0
0
4
17
-25
-74
45
0
0
0
0
-7
-11
15
22
36
0
0
0
0
-4
7
11
4
-31
0
0
0
0
0
4
-6
-19
-6
0
0
0
0
0
23
20
-52
-27
0
0
0
0
0
2
1
0
9
0
0
0
0
0
-2
0
23
33
0
0
0
0
0
-16
9
3
-2
0
0
0
0
4
-6
1
-34
44
0
0
0
0
0
0
0
36
-30
0
0
0
0
0
-32
6
-41
41
0
0
0
0
0
0
-30
18
4
0
0
0
0
1
-1
2
-11
44
0
0
0
0
0
0
-4
-1
-11
0
0
0
0
0
7
8
-16
-10
0
0
0
0
0
15
-13
45
-37
0
0
0
0
1
-6
-1
-9
12
0
0
0
0
0
1
0
-47
20
0
0
0
0
0
0
0
10
-17
0
0
0
0
0
-2
-1
3
-17
0
0
0
0
0
0
-1
-27
3
0
0
0
0
0
0
-6
16
-24
0
0
0
0
0
0
0
-45
60
0
0
0
0
1
2
6
10
-21
0
0
0
0
0
-2
0
-35
58
0
0
0
0
0
0
0
-18
11
0
0
0
0
0
0
-8
-16
20
0
0
0
0
0
0
0
-20
10
0
0
0
0
0
1
2
39
-31
0
0
0
0
0
0
0
-12
14
0
0
0
0
1
0
-2
-1
18
0
0
0
38
-3
1
-28
-15
3
0
0
0
0
0
-2
35
-38
0
0
0
0
15
0
2
-2
-29
15
0
0
0
0
0
-1
5
18
27
0
0
0
17
0
-29
-11
20
23
0
0
0
0
0
0
21
45
-54
0
0
0
23
0
0
30
-38
1
0
0
0
0
0
1
47
-19
-21
0
0
0
-2
0
-1
20
40
-9
0
0
0
0
0
6
8
-2
7
0
0
0
11
0
0
-1
-49
45
0
0
0
0
0
1
2
-9
46
0
0
0
1
0
-1
-20
-26
-44
0
0
0
0
0
-1
0
1
29
0
0
0
0
0
0
3
-1
37
0
0
0
0
0
-2
0
0
1
0
0
0
-2
0
-1
-26
10
1
0
0
0
0
0
2
0
-44
31
0
0
0
-11
0
1
-6
44
-3
0
0
0
0
0
-4
-1
-15
63
0
0
0
2
0
-1
-20
2
25
0
0
0
0
0
0
0
-26
-27
0
0
0
12
0
0
1
-39
-10
0
0
0
0
0
8
1
-6
21
0
0
0
0
0
4
15
0
-8
0
0
0
0
0
0
0
28
29
0
0
0
12
0
0
0
-24
13
0
0
0
0
0
0
1
6
10
0
0
0
-8
0
0
1
-6
12
0
0
0
0
0
1
-6
1
11
0
0
0
-23
0
0
1
5
67
0
0
0
0
0
-1
4
27
23
0
0
0
0
5
10
-1
-32
13
0
0
0
0
-1
22
20
-7
-4
0
0
0
0
-1
-1
-5
-20
2
0
0
0
0
-24
-4
-5
-2
40
0
0
0
0
0
0
19
12
-83
0
0
0
0
0
-2
9
0
8
0
0
0
0
0
1
11
2
-33
0
0
0
0
18
5
27
3
-17
0
0
0
0
0
-7
1
-25
0
0
0
0
0
-3
2
-1
19
4
0
0
0
0
7
0
-1
-5
38
0
0
0
0
-4
-1
0
15
-7
0
0
0
0
0
3
0
-22
65
0
0
0
0
2
-2
-3
18
-6
0
0
0
0
0
0
0
9
18
0
0
0
0
-6
5
0
2
-20
0
0
0
0
-1
12
-3
-28
29
0
0
0
0
0
-7
0
-12
22
0
0
0
0
0
0
-2
-11
33
0
0
0
0
0
0
-2
43
-33
0
0
0
0
0
1
0
-18
6
0
0
0
0
1
-3
8
-11
45
0
0
0
0
0
0
0
-19
-2
0
0
0
0
0
18
-1
5
-29
0
0
0
0
0
-3
0
-12
1
0
0
0
0
0
0
0
18
-25
0
0
0
0
-3
0
-3
7
8
0
0
0
0
0
-3
-1
5
44
0
0
0
0
0
0
-3
-3
41
0
0
0
0
-2
3
1
3
-8
0
0
0
0
0
-1
0
1
26
0
0
0
0
-1
1
0
20
28
0
0
22
4
-1
-8
-17
0
21
0
0
0
0
-4
-7
10
2
-19
0
0
0
-1
1
-2
-45
-23
37
0
0
0
0
0
0
0
-49
-11
0
0
-13
0
0
-18
-18
10
61
0
0
0
0
3
-2
-2
-3
27
0
0
0
0
0
0
4
59
-59
0
0
0
0
0
0
0
-10
13
0
0
0
0
-2
6
-14
14
4
0
0
0
0
0
1
0
22
-22
0
0
0
-4
0
3
14
-8
-3
0
0
0
0
0
0
0
-4
18
0
0
-1
8
0
1
13
-46
-9
0
0
0
0
0
0
-3
-16
38
0
0
0
0
0
0
4
16
-2
0
0
0
0
0
2
-2
18
-7
0
0
0
-1
-10
2
35
21
4
0
0
0
0
0
1
-3
1
-9
0
0
0
0
0
-1
12
27
-18
0
0
0
0
0
4
-2
-32
28
0
0
-6
-2
0
3
37
-9
42
0
0
0
0
0
-12
-2
27
11
0
0
0
0
0
0
7
-25
4
0
0
0
0
0
0
0
30
13
0
0
0
0
1
-7
-1
-7
31
0
0
0
0
0
0
-4
7
2
0
0
0
2
0
2
-3
-46
15
0
0
0
0
0
0
0
-18
-5
0
0
6
-2
0
0
0
-11
6
0
0
0
0
-1
-1
0
-24
-4
0
0
0
-4
0
0
-2
23
4
0
0
0
0
0
0
0
-55
37
0
0
0
0
13
-14
-21
13
27
0
0
0
0
-6
9
12
-19
11
0
0
0
0
1
0
7
-10
-47
0
0
0
0
0
6
-7
0
-4
0
0
0
0
0
-11
-5
-15
43
0
0
0
0
-3
-2
-4
-10
42
0
0
0
0
0
0
0
-23
13
0
0
0
0
1
0
-4
-23
32
0
0
0
0
0
1
12
-43
18
0
0
0
0
0
3
2
-16
22
0
0
0
0
-2
-1
9
9
13
0
0
0
0
0
3
-1
-41
21
0
0
0
0
0
2
-2
-21
19
0
0
0
0
0
-1
5
9
-6
0
0
0
0
0
0
0
13
8
0
0
0
0
1
0
0
7
-8
0
0
0
0
0
8
-10
4
8
0
0
0
0
3
-1
9
-27
12
0
0
0
0
1
-3
-11
-25
43
0
0
0
0
0
0
-1
-13
10
0
0
0
0
0
6
14
11
3
0
0
0
0
0
0
1
-1
27
0
0
0
0
0
0
0
11
-7
0
0
0
0
-1
0
0
8
31
0
0
0
0
-1
0
-41
36
17
0
0
0
0
-1
-6
9
-4
2
0
0
0
0
1
0
1
-43
30
0
0
0
0
0
0
1
-35
24
0
0
0
0
0
0
2
4
14
0
0
0
0
0
0
7
-42
23
0
0
0
0
0
0
2
-1
-13
0
0
0
0
-4
0
-2
17
-14
0
0
0
9
10
37
10
-51
0
0
0
0
0
-2
1
-12
16
-9
0
0
0
-3
1
1
-69
26
21
0
0
0
0
-7
7
25
-81
41
0
0
0
-6
0
-1
-4
-57
22
0
0
0
0
0
2
-7
-32
-5
0
0
0
-12
0
0
-15
-26
42
0
0
0
0
0
0
2
-16
17
0
0
0
0
0
-1
-14
-10
-4
0
0
0
0
0
0
15
25
2
0
0
0
-1
0
0
9
-28
18
0
0
0
0
4
0
-10
-1
-11
0
0
0
0
0
1
26
-1
8
0
0
0
0
0
0
4
3
-13
0
0
0
-1
0
0
2
20
-7
0
0
0
0
-2
0
13
0
-22
0
0
0
0
3
0
-32
46
-3
0
0
0
0
-1
0
-12
8
32
0
0
0
-23
0
0
-36
1
15
0
0
0
0
1
0
-4
-16
27
0
0
0
8
0
-6
3
-26
22
0
0
0
0
0
0
9
12
-8
0
0
0
-3
0
0
1
18
34
0
0
0
0
7
4
-2
-5
24
0
0
0
-1
4
7
-30
16
14
0
0
0
0
0
0
3
-10
59
0
0
0
2
0
0
6
-9
-10
0
0
0
0
-1
0
0
17
-14
0
0
0
1
0
0
-3
7
-5
0
0
0
0
1
0
0
-25
3
0
0
0
7
-3
0
-6
23
-32
0
0
0
0
-1
0
6
-2
17
0
0
0
0
-18
23
19
-28
13
0
0
0
0
-2
15
18
-11
45
0
0
0
0
0
-2
4
-32
66
0
0
0
0
-13
4
-15
4
-8
0
0
0
0
2
1
1
-54
52
0
0
0
0
2
-17
9
-24
17
0
0
0
0
0
6
0
6
51
0
0
0
0
9
1
-5
35
17
0
0
0
0
0
0
0
-21
22
0
0
0
0
0
0
-2
57
-41
0
0
0
0
-1
0
5
2
2
0
0
0
0
4
2
-14
0
9
0
0
0
0
0
0
24
46
-36
0
0
0
0
2
2
-2
14
-27
0
0
0
0
0
0
-9
4
-1
0
0
0
0
-13
1
3
11
3
0
0
0
0
0
0
5
-58
40
0
0
0
0
4
0
1
-9
30
0
0
0
0
0
0
12
-30
-8
0
0
0
0
2
0
8
51
3
0
0
0
0
0
0
-10
12
23
0
0
0
0
-1
1
15
-26
46
0
0
0
0
0
0
0
-6
-7
0
0
0
0
-16
0
3
-2
67
0
0
0
0
0
0
-6
19
2
0
0
0
0
-1
1
0
-55
43
0
0
0
0
0
0
0
42
-30
0
0
0
0
4
0
-12
17
5
0
0
0
0
0
0
0
-22
25
0
0
0
0
1
0
-12
41
-59
0
0
0
0
0
0
0
4
11
0
0
0
0
-10
0
4
-25
40
0
0
-24
4
-1
42
12
-15
-15
0
0
0
0
-2
-1
32
-56
-29
0
0
0
-6
0
0
-10
-8
4
0
0
0
0
0
0
-1
-24
44
0
0
-3
-3
0
0
-1
-32
6
0
0
0
0
0
11
0
8
15
0
0
0
7
0
0
0
43
4
0
0
0
0
0
2
0
2
10
0
0
-2
0
0
5
-14
-16
14
0
0
0
0
0
0
0
21
-8
0
0
0
0
0
0
0
-13
7
0
0
0
0
0
0
-1
-7
-15
0
0
-17
0
0
0
3
-11
13
0
0
0
0
0
3
0
-10
13
0
0
0
-1
0
0
-3
14
17
0
0
0
0
0
-4
0
-1
15
0
0
4
-1
0
-1
24
-14
20
0
0
0
0
0
0
5
-19
19
0
0
0
-1
0
0
-3
8
-16
0
0
0
0
0
0
2
-12
31
0
0
30
-13
0
-9
36
-29
42
0
0
0
0
0
-2
3
-5
-15
0
0
0
6
0
0
0
23
-18
0
0
0
0
0
0
0
1
5
0
0
4
0
0
1
-7
-17
26
0
0
0
0
0
1
2
-29
20
0
0
0
0
0
0
0
12
9
0
0
0
0
0
0
0
4
23
0
0
-20
0
0
0
11
25
3
0
0
0
0
-1
0
0
9
15
0
0
0
-6
0
0
0
26
24
0
0
0
0
0
2
-1
-24
34
0
0
0
0
3
22
7
14
-46
0
0
0
0
0
4
-6
-1
-36
0
0
0
0
0
0
1
-15
-18
0
0
0
0
0
6
0
3
-3
0
0
0
0
2
3
1
-9
-2
0
0
0
0
-4
-9
7
67
-12
0
0
0
0
0
10
0
-5
-12
0
0
0
0
9
-21
0
-2
4
0
0
0
0
0
0
2
-34
-1
0
0
0
0
2
-7
-3
-13
68
0
0
0
0
0
2
-7
-1
48
0
0
0
0
-2
-1
0
-4
39
0
0
0
0
0
4
-5
-6
32
0
0
0
0
2
3
0
-2
-14
0
0
0
0
0
0
0
4
32
0
0
0
0
1
-2
-3
-18
41
0
0
0
0
0
2
5
-26
-2
0
0
0
0
0
1
0
-19
3
0
0
0
0
0
-4
3
3
18
0
0
0
0
0
0
0
-6
-3
0
0
0
0
0
0
7
-45
25
0
0
0
0
0
0
-4
34
6
0
0
0
0
0
-2
0
-10
23
0
0
0
0
1
3
0
-13
22
0
0
0
0
0
0
18
13
12
0
0
0
0
0
0
0
-46
62
0
0
0
0
0
0
0
-2
34
0
0
0
0
0
0
-4
-12
16
0
0
0
0
0
2
0
1
5
0
0
0
0
0
-1
0
-9
47
0
0
0
0
0
0
0
5
27
0
0
0
0
0
0
0
24
-9
0
0
0
18
0
-8
-62
-16
5
0
0
0
0
0
-6
0
-1
9
0
0
0
28
-1
0
4
-17
-47
0
0
0
0
3
8
-4
-6
-11
0
0
0
-2
0
1
5
-7
20
0
0
0
0
0
1
-1
0
36
0
0
0
-6
0
0
-6
1
8
0
0
0
0
0
-4
-2
2
-2
0
0
0
-4
-2
-1
3
0
50
0
0
0
0
0
0
0
-1
11
0
0
0
23
0
0
-8
-2
-13
0
0
0
0
0
0
-2
-2
43
0
0
0
-2
0
0
3
-6
36
0
0
0
0
0
0
6
3
23
0
0
0
6
0
2
0
-9
19
0
0
0
0
3
0
-1
0
7
0
0
0
7
0
0
-2
-52
3
0
0
0
0
-1
2
-6
-36
63
0
0
0
19
0
0
0
44
-13
0
0
0
0
3
-2
0
2
-4
0
0
0
-19
0
1
-2
-31
28
0
0
0
0
0
1
-2
27
28
0
0
0
-18
0
0
0
67
-3
0
0
0
0
0
0
-1
-11
19
0
0
0
1
0
-1
-3
-16
-12
0
0
0
0
0
0
-1
15
23
0
0
0
21
0
0
-1
13
-1
0
0
0
0
0
0
0
55
-22
0
0
0
19
0
0
2
-64
-7
0
0
0
0
0
4
-3
11
15
0
0
0
-40
0
0
0
21
41
0
0
0
0
0
0
-1
7
-13
0
0
0
0
4
-44
39
-9
21
0
0
0
0
5
-4
0
-9
19
0
0
0
0
-1
0
0
-5
-12
0
0
0
0
2
9
0
16
-39
0
0
0
0
0
-3
-1
0
6
0
0
0
0
1
-4
0
0
2
0
0
0
0
0
0
1
0
3
0
0
0
0
4
-42
-3
0
0
0
0
0
0
-1
2
-9
-18
-4
0
0
0
0
0
-3
0
0
-18
0
0
0
0
0
0
0
0
36
0
0
0
0
-4
1
6
3
29
0
0
0
0
0
2
2
1
48
0
0
0
0
-4
10
0
7
-17
0
0
0
0
-2
3
-1
-1
3
0
0
0
0
-25
2
1
0
9
0
0
0
0
0
-2
2
35
25
0
0
0
0
-2
0
0
4
13
0
0
0
0
0
0
0
-20
-2
0
0
0
0
1
0
-1
-7
1
0
0
0
0
0
-1
0
7
-2
0
0
0
0
0
0
0
8
27
0
0
0
0
0
0
-2
-30
26
0
0
0
0
-6
10
6
0
20
0
0
0
0
0
0
3
42
6
0
0
0
0
0
0
-1
15
-15
0
0
0
0
0
0
-2
-34
13
0
0
0
0
-3
0
2
-39
21
0
0
0
0
0
0
2
6
32
0
0
0
0
2
1
-1
-16
17
0
0
0
0
-2
0
0
-1
35
0
0
0
0
2
0
-2
-34
-10
0
0
16
29
18
2
26
16
-1
2
2
0
0
-12
-19
-53
0
-18
-6
-2
0
20
12
-13
-29
-4
-9
6
9
0
0
8
18
-17
-11
32
-10
23
36
-12
0
-13
-5
-7
-2
-21
9
0
0
0
-56
3
-82
45
-5
1
0
33
-1
-15
-59
-2
37
-4
5
0
0
1
-16
-13
-14
42
19
7
14
-9
-1
-47
1
28
25
8
0
0
0
2
53
-27
-24
-19
-10
0
0
2
0
7
14
-11
62
5
0
0
0
-8
-6
23
-14
47
-19
0
14
3
1
-22
30
-41
10
15
0
0
0
-8
-2
-11
-49
59
22
0
0
-13
0
6
19
-34
12
-4
0
0
0
3
2
-17
-9
18
19
0
1
25
-1
-26
-27
-61
-11
0
0
0
0
1
-82
11
3
-7
0
0
0
0
0
-2
-44
-44
4
0
0
0
0
0
6
-41
-1
27
0
0
-20
-1
0
46
-20
-20
-8
0
0
0
0
0
-3
1
-39
3
0
0
0
-1
0
2
60
-71
2
0
0
0
0
1
-1
-5
43
-32
0
0
16
8
0
-11
75
-54
15
0
0
0
0
0
10
15
-21
17
0
0
0
-2
0
6
10
-8
30
0
0
0
0
0
0
-25
-27
129
0
0
-21
0
0
11
4
-9
22
0
0
0
0
0
-1
49
-26
-7
0
0
0
11
0
0
-28
11
43
0
0
0
0
0
-3
2
-12
4
0
0
0
0
-45
7
-6
-3
-5
-1
4
0
0
-17
-2
-50
-65
-18
8
6
0
0
-11
-36
0
26
11
3
-3
0
0
-25
34
-13
-16
8
11
29
0
0
-12
-3
2
-34
33
-7
9
0
0
54
-59
-24
-64
-31
-8
16
0
0
0
42
73
45
3
2
-6
0
0
8
23
35
-2
-2
-12
-5
0
0
-9
9
-38
-52
44
4
0
0
0
-5
6
37
0
-15
-2
0
0
0
2
5
25
-6
36
-2
0
0
0
-3
-19
44
8
24
9
0
0
0
0
-3
-22
13
37
19
0
0
0
7
14
-6
-25
15
-24
0
0
0
0
0
-28
-19
2
20
0
0
0
-28
12
2
18
-26
37
0
0
0
5
-48
-68
-11
30
0
0
0
0
11
15
-29
-27
-23
0
0
0
0
0
2
-62
-8
40
0
0
0
0
19
38
-26
-15
-5
0
0
0
0
0
-3
-17
8
15
0
0
0
0
1
0
-7
11
1
0
0
0
0
0
0
-3
11
28
0
0
0
0
0
-5
-21
22
-4
0
0
0
0
0
-3
13
-24
0
0
0
0
0
0
-7
27
-22
-4
0
0
0
0
0
0
-20
5
16
0
0
0
0
-1
5
-26
-44
71
0
0
0
0
0
1
4
-18
0
0
0
0
0
0
-9
-4
-39
6
0
0
0
0
0
-7
-24
17
29
0
0
0
0
-3
-22
3
54
5
0
0
0
29
-25
18
10
-12
-17
-6
10
0
0
38
28
-55
39
73
6
-3
0
-47
0
-4
-27
15
-15
9
2
0
0
4
-5
-28
-46
26
26
1
0
37
0
12
-7
25
51
3
11
0
0
-1
4
-33
31
21
-7
13
0
-29
0
-36
-4
-24
72
18
11
0
0
10
42
-14
11
17
-28
1
0
-36
0
5
58
-92
6
9
0
0
0
-4
26
62
-1
2
-1
0
0
-28
1
-1
24
-45
11
-3
0
0
0
10
27
-20
5
24
-25
0
0
46
0
2
-3
-67
-15
11
0
0
0
7
10
-18
19
44
6
0
0
-9
0
-25
23
41
20
11
0
0
0
-11
-2
61
-6
-11
6
0
0
-10
4
-59
47
-5
-13
0
0
0
0
1
-1
23
-10
4
0
0
0
39
0
0
54
-65
-32
0
0
0
0
-2
-2
6
5
3
0
0
0
-18
0
0
4
14
35
0
0
0
0
0
-7
-31
-21
52
0
0
0
18
0
0
0
7
2
0
0
0
0
0
-11
28
-14
-1
0
0
0
1
0
-6
35
-5
-4
0
0
0
0
3
-2
-76
35
44
0
0
0
25
-1
-1
-22
-8
-2
0
0
0
0
1
0
-30
-6
49
0
0
0
9
0
-2
11
30
-47
0
0
0
0
0
0
-24
2
21
0
0
0
0
0
0
-9
13
13
0
0
0
0
0
0
6
-18
-20
0
0
0
0
4
-43
17
-32
25
-5
16
0
0
-15
10
75
-21
30
10
-14
0
0
-31
-8
48
-34
2
-26
20
0
0
11
-23
-6
13
19
43
-7
0
0
-1
-13
-13
-42
30
-5
18
0
0
-9
13
51
-18
28
34
-4
0
0
-7
-15
-29
-21
13
26
23
0
0
48
-10
45
24
-32
15
6
0
0
-2
-35
-9
9
89
3
0
0
0
-13
13
1
-32
21
-1
0
0
0
-10
-42
41
-9
10
25
0
0
0
22
39
-19
16
17
-42
0
0
0
0
6
21
-6
68
23
0
0
0
18
10
17
-22
56
-29
0
0
0
-18
0
-5
26
4
43
0
0
0
0
-9
18
8
-17
-17
0
0
0
-8
8
-14
-33
12
0
0
0
0
-2
24
10
-32
-23
0
0
0
0
7
1
19
-51
20
0
0
0
0
-7
-56
-1
7
40
0
0
0
0
0
7
-46
10
47
0
0
0
0
6
24
-43
12
-13
0
0
0
0
-2
8
13
28
-9
0
0
0
0
-7
6
-48
8
32
0
0
0
0
0
-2
-24
44
5
0
0
0
0
3
13
-2
-26
0
0
0
0
0
0
2
4
36
5
0
0
0
0
-8
-6
45
33
-34
0
0
0
0
0
2
-7
-8
53
0
0
0
0
-1
-1
2
-9
7
0
0
0
0
3
2
-23
33
-5
0
0
0
0
-7
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
-6
-29
-1
4
5
0
0
0
-2
-24
-30
-48
10
3
0
0
-28
0
-28
-21
-14
33
10
0
0
0
0
43
-3
-24
32
-48
0
-61
39
0
-48
-52
25
-3
15
0
0
0
0
1
-11
12
38
-7
0
0
25
0
-18
-89
1
-15
3
0
0
0
0
2
-60
-2
6
10
0
21
-3
2
12
-8
0
33
-10
0
0
0
15
48
-22
-6
-7
-10
0
0
9
0
9
1
16
20
11
0
0
0
-2
-11
-11
28
-13
41
0
-3
2
-2
19
-113
17
8
0
0
0
0
0
17
44
29
-6
4
0
0
41
0
1
-16
49
-8
1
0
0
0
2
-1
11
-30
-2
22
0
-22
-3
-4
-76
7
-17
33
0
0
0
0
-3
-12
-6
14
3
0
0
0
-10
2
-25
-62
10
39
0
0
0
0
0
-1
10
13
8
0
0
40
-10
-1
4
20
9
12
0
0
0
0
3
14
40
-23
6
0
0
0
-24
0
-3
-6
-12
48
0
0
0
0
0
1
37
11
-12
0
0
1
-18
-1
-18
44
3
-10
0
0
0
0
2
20
-9
1
-10
0
0
0
10
0
-10
4
-38
28
0
0
0
0
0
-11
-29
-23
66
0
0
-34
-1
0
31
5
-6
14
0
0
0
0
0
29
-21
1
-43
0
0
0
-6
0
-1
-6
23
-3
0
0
0
0
-1
0
15
-26
34
0
0
0
0
-13
4
-115
-21
33
8
0
0
0
10
-8
15
-36
14
-20
0
0
0
8
4
-7
-54
-16
11
0
0
0
-8
-45
17
13
13
-4
0
0
0
-1
4
29
17
-24
1
0
0
0
-13
3
67
-89
16
-13
0
0
0
0
18
2
-112
27
4
0
0
0
-2
-43
-11
0
25
28
0
0
0
-1
20
-11
-55
62
-1
0
0
0
18
-51
-43
-41
24
-14
0
0
0
0
1
12
16
38
24
0
0
0
-26
7
41
36
-16
28
0
0
0
5
30
-58
-9
-19
19
0
0
0
9
9
-13
-16
-8
6
0
0
0
0
-8
28
5
17
-6
0
0
0
5
-11
16
9
-67
19
0
0
0
-2
9
3
-39
25
0
0
0
0
26
-6
48
-60
-21
0
0
0
0
0
-2
-46
16
18
0
0
0
0
6
-14
38
23
-30
0
0
0
0
0
-1
-2
8
-6
0
0
0
0
-1
5
23
-2
-43
0
0
0
0
0
-17
24
16
37
0
0
0
0
0
-16
0
10
19
0
0
0
0
0
-18
-2
29
3
0
0
0
0
2
15
-2
-20
14
0
0
0
0
-1
3
-50
6
56
0
0
0
0
1
13
-7
44
0
0
0
0
0
0
2
26
-30
19
0
0
0
0
0
-37
3
17
37
0
0
0
0
0
-1
-4
-6
34
0
0
0
0
-18
-6
45
-18
28
0
0
0
16
-36
4
34
-48
5
-3
0
0
0
-61
13
-5
56
32
4
0
0
-10
5
12
10
-50
-12
19
0
0
0
-23
-22
-21
26
45
31
0
0
-61
0
-27
6
25
51
-17
0
0
0
12
1
19
-37
24
1
0
0
22
0
-6
-53
-5
14
5
0
0
0
37
-2
-19
-24
37
7
0
0
7
6
12
18
-58
-6
-20
0
0
0
0
6
-7
-29
-12
25
0
0
-6
-3
-2
0
15
13
-12
0
0
0
8
-10
-26
0
7
-1
0
0
3
-2
-7
-56
-18
3
21
0
0
0
0
10
-12
26
15
19
0
0
5
1
-2
64
-42
58
-12
0
0
0
22
-2
-53
8
50
15
0
0
8
5
38
-3
-66
-19
0
0
0
0
-6
-25
62
-25
9
0
0
0
29
0
0
-24
-11
-28
0
0
0
0
-1
-1
10
-8
38
0
0
0
-39
-3
29
20
7
11
0
0
0
0
2
44
3
-14
18
0
0
0
-35
0
16
73
26
-16
0
0
0
0
-6
8
28
7
-15
0
0
0
2
-1
-38
-16
-18
32
0
0
0
0
0
23
-18
-2
-7
0
0
0
35
7
9
-15
-30
-21
0
0
0
0
-5
-8
23
-13
4
0
0
0
12
0
-1
16
5
2
0
0
0
0
0
9
-6
-53
55
0
0
0
-10
-2
0
23
-1
-1
0
0
0
0
0
2
1
11
17
0
0
0
0
-19
-10
50
-35
47
-7
0
0
0
-4
-6
-34
-32
6
18
0
0
0
2
25
11
-31
-20
22
0
0
0
22
-1
17
-53
76
-5
0
0
0
-1
8
-13
35
34
-21
0
0
0
1
-16
31
-62
64
41
0
0
0
0
5
46
-56
25
-7
0
0
0
34
-17
5
19
63
-9
0
0
0
-3
17
-1
4
75
-5
0
0
0
-1
-13
11
-28
1
8
0
0
0
20
10
-20
-40
-36
22
0
0
0
-50
35
7
30
7
-8
0
0
0
1
-16
-36
-20
7
6
0
0
0
17
13
8
-14
38
3
0
0
0
-3
-9
13
-40
17
1
0
0
0
4
13
-11
16
26
-16
0
0
0
8
31
-4
-31
6
0
0
0
0
7
-11
-30
5
44
0
0
0
0
-1
-5
9
6
37
0
0
0
0
50
-74
-12
10
35
0
0
0
0
0
1
8
-4
39
0
0
0
0
11
12
18
-41
11
0
0
0
0
0
-3
4
22
-4
0
0
0
0
-34
-20
11
57
-55
0
0
0
0
0
6
16
-5
-13
0
0
0
0
-7
-22
10
10
23
0
0
0
0
37
2
-21
-39
19
0
0
0
0
10
7
39
-34
-4
0
0
0
0
0
5
3
12
-35
0
0
0
0
37
2
-10
-3
10
0
0
0
0
11
9
-15
-16
16
0
0
0
0
-14
-11
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-8
3
22
0
12
0
0
0
0
0
-3
-10
-11
-14
5
0
0
0
18
0
0
-14
-18
7
0
0
0
0
-1
-11
10
10
-11
0
0
2
26
0
5
-38
-34
18
0
0
0
0
0
-5
-1
-9
5
0
0
0
18
0
-9
-8
-22
35
0
0
0
0
-1
22
11
-13
-9
0
0
-9
-5
1
5
22
-14
-21
0
0
0
0
-3
0
37
9
-35
0
0
0
3
2
2
36
14
-15
0
0
0
0
0
-1
45
-48
-9
0
0
-3
-2
0
-12
-9
8
-5
0
0
0
0
0
1
-29
13
14
0
0
0
-41
0
1
0
-39
80
0
0
0
0
3
0
0
-33
69
0
0
-16
-3
-2
-36
-39
-56
32
0
0
0
0
0
23
-15
-46
10
0
0
0
25
0
-2
8
-41
-6
0
0
0
0
0
0
4
-69
37
0
0
-7
-4
0
10
-32
5
16
0
0
0
0
0
-7
2
-42
12
0
0
0
9
0
-2
13
-67
26
0
0
0
0
-1
2
-10
-11
15
0
0
-6
1
0
-8
49
0
13
0
0
0
0
0
-2
1
-12
25
0
0
0
18
0
0
-55
0
19
0
0
0
0
0
0
-1
15
-3
0
0
21
-2
0
0
-5
-46
17
0
0
0
0
0
15
-7
-35
3
0
0
0
8
0
1
-2
-35
38
0
0
0
0
0
0
15
-23
48
0
0
0
0
-12
51
14
14
-17
0
0
0
0
28
-3
-10
1
-34
0
0
0
0
-4
1
10
-1
16
0
0
0
0
6
17
2
7
0
0
0
0
0
2
0
-56
30
6
0
0
0
0
0
-2
-16
9
29
0
0
0
0
2
-1
-17
15
27
0
0
0
0
-5
22
-25
3
6
0
0
0
0
0
14
-66
-18
19
0
0
0
0
10
-4
-16
-7
-12
0
0
0
0
0
-14
12
6
42
0
0
0
0
0
-9
12
-16
38
0
0
0
0
1
-6
54
-50
26
0
0
0
0
0
11
5
-38
14
0
0
0
0
-1
0
9
-13
41
0
0
0
0
5
-9
-24
-9
34
0
0
0
0
0
7
-31
-43
14
0
0
0
0
-2
-21
-5
16
-1
0
0
0
0
0
6
-11
-48
32
0
0
0
0
8
5
0
12
-18
0
0
0
0
0
-1
2
-45
13
0
0
0
0
1
0
-4
-62
-16
0
0
0
0
0
0
9
-5
-3
0
0
0
0
-1
-15
-5
22
44
0
0
0
0
0
3
-17
1
6
0
0
0
0
-3
0
0
-19
10
0
0
0
0
0
-2
21
-1
-2
0
0
0
0
-4
0
-12
10
44
0
0
0
0
0
3
2
-63
10
0
0
0
0
-1
-3
2
14
-4
0
0
0
0
0
-1
4
-9
33
0
0
0
0
14
3
-2
-34
52
0
0
0
21
29
-32
7
12
-31
0
0
0
0
-10
13
1
27
-1
0
0
0
-48
-4
-11
-3
-47
59
0
0
0
0
19
8
-4
-32
23
0
0
0
-18
2
12
-1
-4
-12
0
0
0
0
3
-4
-17
17
11
0
0
0
-26
0
-10
13
2
3
0
0
0
0
14
-12
10
9
45
0
0
0
2
-26
0
-5
-40
52
0
0
0
0
1
8
-3
40
10
0
0
0
-22
4
0
4
13
-9
0
0
0
0
1
-1
2
75
-11
0
0
0
-1
0
4
1
-38
24
0
0
0
0
0
-3
-1
30
20
0
0
0
3
0
1
-10
-19
15
0
0
0
0
1
-13
-11
13
59
0
0
0
-10
0
2
-19
-63
41
0
0
0
0
0
-7
17
-21
26
0
0
0
-11
0
1
28
-65
-13
0
0
0
0
0
0
22
-68
31
0
0
0
34
0
-2
8
-49
11
0
0
0
0
0
0
-1
-47
45
0
0
0
21
0
-2
-37
-9
7
0
0
0
0
-3
-1
0
19
63
0
0
0
-3
1
9
-1
-29
31
0
0
0
0
0
-3
-33
-15
46
0
0
0
19
0
0
3
-9
-2
0
0
0
0
0
0
12
-26
-12
0
0
0
-9
0
-2
7
-44
22
0
0
0
0
0
-7
-1
21
23
0
0
0
29
0
8
-1
-42
0
0
0
0
0
6
0
-14
12
17
0
0
0
0
36
57
-19
-32
-33
0
0
0
0
17
-25
28
-13
29
0
0
0
0
11
6
-6
-18
-16
0
0
0
0
-46
2
-8
1
41
0
0
0
0
0
-13
-8
29
-9
0
0
0
0
14
2
-24
-15
5
0
0
0
0
0
-40
9
28
53
0
0
0
0
39
-5
10
-30
20
0
0
0
0
0
-9
-11
-17
3
0
0
0
0
10
-3
-10
19
18
0
0
0
0
-4
43
27
-44
-3
0
0
0
0
17
2
46
-22
-11
0
0
0
0
0
2
-6
11
10
0
0
0
0
-10
7
-10
16
26
0
0
0
0
-1
4
-8
-2
46
0
0
0
0
0
9
-15
-4
74
0
0
0
0
0
-3
13
-21
-25
0
0
0
0
3
6
-10
-29
33
0
0
0
0
0
0
4
-40
25
0
0
0
0
-20
-10
-17
54
7
0
0
0
0
0
0
12
5
10
0
0
0
0
2
2
-8
-16
-8
0
0
0
0
6
2
-22
11
2
0
0
0
0
0
11
1
-26
39
0
0
0
0
-3
-1
-28
17
53
0
0
0
0
0
-3
4
-35
33
0
0
0
0
0
11
1
-3
-17
0
0
0
0
-15
-2
21
47
8
0
0
0
0
0
-3
0
16
12
0
0
0
0
0
11
3
-16
-25
0
0
0
0
-1
-4
3
-3
-19
0
0
0
0
-7
14
-2
7
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
-16
27
-6
23
0
0
0
0
-15
-16
8
15
-6
0
0
0
27
0
8
26
-51
9
0
0
0
0
0
1
28
-54
13
0
0
-54
-7
0
-16
37
49
24
0
0
0
0
0
-2
-33
-25
-6
0
0
0
21
0
-5
37
11
-4
0
0
0
0
0
-2
9
-32
66
0
0
5
3
0
14
7
28
1
0
0
0
0
1
-3
-31
-16
6
0
0
0
10
3
-10
-14
-38
37
0
0
0
0
0
-2
-9
0
57
0
0
10
-1
0
-15
-24
24
12
0
0
0
0
0
4
-15
28
-1
0
0
0
7
0
0
-13
-16
24
0
0
0
0
0
3
-12
-19
44
0
0
1
11
-1
31
0
-42
13
0
0
0
0
-1
-34
-35
-6
44
0
0
0
-18
-1
6
26
-44
6
0
0
0
0
0
0
-26
8
34
0
0
-4
-6
-1
-13
7
7
17
0
0
0
0
6
-3
-2
-1
3
0
0
0
2
0
9
-17
-23
20
0
0
0
0
0
-2
11
-10
25
0
0
4
-20
-7
54
57
0
9
0
0
0
0
2
0
2
-27
11
0
0
0
-2
-1
8
19
-8
7
0
0
0
0
0
-4
11
-6
21
0
0
4
-3
-3
-2
50
21
1
0
0
0
0
0
11
-6
5
13
0
0
0
40
0
-5
-48
-11
10
0
0
0
0
-1
0
8
-44
17
0
0
0
0
35
23
22
-39
27
0
0
0
0
-13
8
35
-3
-26
0
0
0
0
3
-2
6
24
-14
0
0
0
0
-22
31
4
1
13
0
0
0
0
-4
-2
16
-2
33
0
0
0
0
-7
-24
13
-9
-17
0
0
0
0
0
4
4
-43
29
0
0
0
0
2
-11
2
11
-5
0
0
0
0
22
-38
-11
29
-1
0
0
0
0
12
1
-1
4
-2
0
0
0
0
-3
1
1
22
30
0
0
0
0
-6
-10
-2
-12
68
0
0
0
0
0
-10
27
-4
21
0
0
0
0
2
8
-12
-34
5
0
0
0
0
-2
-1
0
-27
37
0
0
0
0
0
46
7
-29
-28
0
0
0
0
0
1
-61
-5
46
0
0
0
0
-11
-3
34
2
20
0
0
0
0
-3
-2
-40
21
39
0
0
0
0
10
5
-38
-8
40
0
0
0
0
0
-18
-21
14
22
0
0
0
0
2
1
4
-29
32
0
0
0
0
0
3
0
-44
31
0
0
0
0
1
2
62
-83
-1
0
0
0
0
0
5
-5
36
5
0
0
0
0
-38
-10
14
-14
31
0
0
0
0
6
1
1
3
8
0
0
0
0
10
8
61
-8
-38
0
0
0
0
0
8
-2
-4
2
0
0
0
0
0
3
-1
-27
22
0
0
0
0
1
-1
-15
-13
6
0
0
0
0
10
16
-1
-11
-8
0
0
0
30
-2
-45
-8
9
-6
0
0
0
0
8
-30
-54
10
106
0
0
0
3
4
-32
47
-29
-34
0
0
0
0
1
3
11
8
24
0
0
0
2
0
3
34
-49
-3
0
0
0
0
0
0
-36
-11
32
0
0
0
18
-9
18
-54
-8
20
0
0
0
0
0
-44
23
19
47
0
0
0
3
3
-17
8
-5
-11
0
0
0
0
1
-13
38
-16
1
0
0
0
23
0
4
-17
-71
25
0
0
0
0
1
14
10
-37
14
0
0
0
-14
0
-1
33
-19
7
0
0
0
0
6
1
-1
-22
-8
0
0
0
-2
-3
2
4
10
-1
0
0
0
0
-22
-3
18
32
18
0
0
0
-15
0
4
-31
-24
-3
0
0
0
0
7
-3
11
1
10
0
0
0
18
4
-6
-12
-7
9
0
0
0
0
6
-4
0
-2
33
0
0
0
-4
-6
23
9
-43
22
0
0
0
0
-4
-9
13
12
13
0
0
0
34
0
0
-29
-48
14
0
0
0
0
1
9
9
-21
20
0
0
0
-2
0
9
30
-33
-3
0
0
0
0
-1
0
17
-46
-2
0
0
0
-47
3
2
4
-14
-14
0
0
0
0
-3
0
1
49
-5
0
0
0
4
2
12
-35
25
-14
0
0
0
0
0
3
-30
-2
41
0
0
0
39
0
-5
-10
11
25
0
0
0
0
8
0
-2
-5
11
0
0
0
0
9
-18
-63
-7
33
0
0
0
0
-3
-2
25
25
-28
0
0
0
0
37
-1
38
-81
10
0
0
0
0
-18
-35
5
10
86
0
0
0
0
-4
13
16
-18
17
0
0
0
0
2
-16
-11
-13
61
0
0
0
0
6
0
4
10
8
0
0
0
0
-6
-6
-1
-15
35
0
0
0
0
-3
-2
21
13
4
0
0
0
0
9
-6
-41
33
-17
0
0
0
0
17
2
-15
-45
26
0
0
0
0
-24
-8
5
20
3
0
0
0
0
-1
0
-24
25
23
0
0
0
0
4
0
11
-48
13
0
0
0
0
14
4
34
-23
-22
0
0
0
0
3
-16
21
-13
30
0
0
0
0
0
-28
-1
3
34
0
0
0
0
-22
0
-18
8
17
0
0
0
0
-6
13
-28
-14
-1
0
0
0
0
6
65
-14
3
-12
0
0
0
0
-1
-15
24
-43
35
0
0
0
0
0
31
-5
-37
21
0
0
0
0
0
1
1
24
8
0
0
0
0
-15
10
13
14
2
0
0
0
0
13
3
-23
32
12
0
0
0
0
-28
4
36
4
24
0
0
0
0
1
-1
11
-31
14
0
0
0
0
15
-12
-15
2
16
0
0
0
0
0
-1
23
-7
3
0
0
0
0
-17
-1
11
13
29
0
0
0
0
10
5
9
-7
-8
0
0
0
0
24
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-36
-32
0
-21
1
5
16
-4
0
0
-4
12
24
-32
-38
-1
-4
0
-15
-14
-27
25
5
-6
-5
0
0
0
-10
-31
-25
-10
-9
-2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-13
1
20
0
13
-5
2
0
0
0
55
-32
-27
-4
8
0
0
0
-7
-15
-12
-60
-39
6
15
0
0
0
-12
-46
-21
3
54
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-1
-11
-31
-23
8
-12
0
0
0
0
-19
-56
16
28
1
0
0
0
-15
26
39
20
-11
1
0
0
0
0
27
45
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
0
0
0
0
0
0
0
0
0
0
0
-15
1
-59
40
-1
16
5
0
0
0
0
-5
-12
-19
-7
25
0
0
0
22
-14
-2
-13
17
7
0
0
0
0
-3
-43
-28
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
33
-14
-1
-24
-1
-7
-5
0
0
-23
-50
22
-23
-2
-5
7
0
0
-2
-18
42
-30
20
-5
3
0
0
-1
32
44
12
-16
-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
-4
43
-55
-19
12
-2
0
0
0
20
-15
-5
38
-14
-21
0
0
0
-11
4
24
-36
52
-6
0
0
0
18
11
43
16
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
3
-5
-9
-17
0
0
0
0
16
0
-17
-24
-10
0
0
0
0
2
-38
13
20
43
0
0
0
0
-10
-20
26
-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
-8
-3
1
-46
0
0
0
0
0
-9
7
6
4
-20
0
0
0
0
0
1
-24
16
11
0
0
0
0
-24
-9
10
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
32
1
-3
-5
0
9
0
19
0
0
-2
9
26
40
20
10
12
0
-24
-7
35
-30
-17
19
32
3
0
0
-24
-8
38
23
-14
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
14
0
10
-13
-46
8
-1
0
0
0
-11
-21
36
-7
27
20
0
0
-2
-2
0
-26
-77
15
21
0
0
0
5
3
-3
-47
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
-6
0
3
23
-54
25
0
0
0
0
0
-6
-9
16
-18
0
0
0
-24
0
-2
65
-69
-35
0
0
0
0
2
10
0
-9
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-6
-35
8
10
0
0
0
0
2
-1
48
-10
-11
0
0
0
3
0
0
-21
-39
29
0
0
0
0
-1
1
0
40
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
25
35
-19
-7
-4
0
0
-18
-17
19
-24
83
13
12
0
0
7
24
6
10
-20
28
4
0
0
21
-23
-18
-44
0
49
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
-13
-30
26
-29
0
0
0
6
-38
16
-15
-23
34
0
0
0
-4
-11
13
34
-15
14
0
0
0
-64
24
0
-58
68
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
2
0
0
0
0
-18
-6
0
-15
6
0
0
0
0
-3
-4
-43
-20
-9
0
0
0
0
-14
23
-2
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
2
-26
9
22
0
0
0
0
4
16
-1
-21
39
0
0
0
0
-1
0
23
56
-9
0
0
0
0
2
-18
3
33
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
8
1
-38
-43
-18
17
6
12
0
0
2
-2
44
-29
-62
2
16
0
18
0
-11
-20
29
62
0
-1
0
0
0
1
-13
51
25
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
-20
0
0
-20
-31
45
28
7
0
0
0
-1
1
-53
11
2
-1
0
0
9
0
10
0
-54
36
-4
0
0
0
0
-2
-6
-34
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
41
3
0
-10
-9
-45
15
0
0
0
0
0
2
-12
-22
-19
0
0
0
2
0
-10
-3
8
-10
0
0
0
0
0
-2
-9
-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
-10
3
0
-11
-22
-16
-10
0
0
0
0
0
-13
3
25
10
0
0
0
-5
0
7
-16
-21
40
0
0
0
0
0
-1
0
13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
28
42
-4
-49
-7
3
0
0
0
16
-64
-7
-40
-8
24
0
0
0
13
-11
-46
42
2
11
0
0
-5
-50
5
-51
40
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
-6
13
-9
-26
28
-2
0
0
0
-1
-2
-42
-74
-12
0
0
0
0
0
0
19
-41
26
11
0
0
0
12
-41
-2
10
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
-4
9
-36
8
0
0
0
0
2
-5
-8
-20
1
0
0
0
0
0
10
-23
-49
15
0
0
0
0
2
38
-2
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
1
-9
12
-34
2
0
0
0
0
2
2
-1
-24
19
0
0
0
0
0
2
1
-16
33
0
0
0
0
0
-17
0
-65
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
5
0
19
50
-32
-3
-1
9
0
0
2
-2
11
12
6
18
2
0
-27
0
8
-31
5
17
-1
14
0
0
1
1
62
44
43
-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
10
0
-4
-14
16
3
0
0
0
0
1
-9
-22
-2
30
15
0
0
20
0
-12
33
32
4
-14
0
0
0
-2
3
2
-51
-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
6
0
1
-1
9
-17
0
0
0
0
0
0
3
-4
54
0
0
0
11
0
3
-31
2
18
0
0
0
0
0
-16
21
-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
4
0
6
-9
-55
67
0
0
0
0
-1
-2
0
-22
36
0
0
0
-26
0
-5
-11
29
4
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
0
0
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
-48
5
-10
-6
0
0
3
1
-30
3
2
14
22
0
0
-6
-17
32
-12
-12
15
-4
0
0
-19
-53
40
6
19
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
17
-18
-8
28
2
0
0
0
15
2
2
19
15
-5
0
0
0
2
10
-24
-54
26
19
0
0
0
5
-2
-20
-8
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
13
-64
40
7
0
0
0
0
1
27
-8
18
0
0
0
0
0
0
7
4
-50
30
0
0
0
0
3
28
9
17
-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
-4
-3
-1
-13
0
0
0
0
4
5
-6
4
-19
0
0
0
0
2
-9
4
-9
0
0
0
0
0
-25
3
7
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
-20
1
0
9
-39
-16
14
17
0
0
0
-2
-13
22
-21
-5
20
0
0
2
2
2
70
-10
7
-14
0
0
0
0
26
-27
-42
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
44
0
0
25
-2
-7
9
3
0
0
0
1
-6
-23
-36
23
5
0
0
0
1
-14
-5
14
-15
19
0
0
0
0
19
-13
-14
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
-18
0
2
-14
29
21
1
0
0
0
0
9
21
-27
-25
-12
0
0
0
2
0
-7
19
-25
-1
0
0
0
0
0
4
19
-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
15
4
-1
-7
22
-21
4
0
0
0
0
0
4
-26
-7
25
0
0
0
0
0
-6
-7
-11
7
0
0
0
0
-3
6
10
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
-6
23
-28
17
-4
0
0
0
-6
-14
-24
-56
-12
0
0
0
0
4
-1
-11
1
10
-1
0
0
0
28
11
11
-74
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
-4
-83
-38
-26
6
0
0
0
0
-9
24
-8
-1
-1
0
0
0
-2
-2
19
11
52
-22
0
0
0
6
0
-8
-15
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
3
2
2
-38
-10
0
0
0
0
-2
1
5
-23
2
0
0
0
0
0
0
9
-15
36
0
0
0
0
-2
4
13
-48
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
-34
-11
13
0
0
0
0
11
2
2
2
-1
0
0
0
0
0
0
1
35
28
0
0
0
0
2
9
7
-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
-1
0
-40
-20
-55
39
2
0
0
0
3
9
-48
13
-2
18
0
0
10
1
2
59
-53
-2
4
0
0
0
3
-20
17
-18
-29
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
1
-7
-68
-27
74
1
0
0
0
0
27
-7
-1
31
0
0
0
7
4
1
-36
10
-39
15
0
0
0
0
-2
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
9
-16
-36
30
0
0
0
0
0
6
0
-37
48
0
0
0
-26
0
4
-12
-11
2
0
0
0
0
0
-9
-8
-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
3
-1
9
20
7
-24
0
0
0
0
0
-6
-13
-7
29
0
0
0
10
0
0
30
5
-23
0
0
0
0
-2
0
-1
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-26
23
-40
29
30
0
0
0
1
19
4
27
-22
-7
0
0
0
5
0
48
-4
-2
-21
0
0
0
-43
9
24
72
23
-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
-5
-39
-28
9
-2
0
0
0
1
-45
47
4
9
-15
0
0
0
1
12
29
34
-80
35
0
0
0
-10
13
-43
55
-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
1
5
37
21
0
0
0
0
-10
-7
-18
-3
52
0
0
0
0
0
0
36
31
9
0
0
0
0
23
-23
-31
-15
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
-34
36
0
0
0
0
-7
-1
5
-13
19
0
0
0
0
-1
0
-3
-85
54
0
0
0
0
-5
-16
8
33
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-43
20
-2
0
0
0
0
-2
-23
-35
21
26
0
0
32
0
2
-7
6
26
1
0
0
0
0
2
42
-34
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
-17
7
0
65
43
42
1
3
0
0
0
-1
12
21
-45
22
5
0
0
1
0
-1
1
-25
-4
-7
0
0
0
0
2
-24
-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
-22
3
-1
-9
62
-4
12
0
0
0
0
0
29
9
-30
30
0
0
0
4
0
-4
-36
16
36
0
0
0
0
0
-4
3
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-2
2
22
-10
17
29
0
0
0
0
0
0
1
11
20
0
0
0
-1
0
0
32
-17
16
0
0
0
0
-1
-1
-3
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
-20
-16
-34
58
15
0
0
0
-3
14
-11
-119
5
27
0
0
0
0
0
13
30
-5
9
0
0
0
-1
11
28
-5
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
2
7
27
-31
23
-1
0
0
0
-7
-46
-36
-35
23
15
0
0
0
0
4
0
19
-21
-1
0
0
0
-9
32
-7
-4
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
-4
7
-5
42
0
0
0
0
0
-3
-51
-19
35
0
0
0
0
0
0
-23
36
1
0
0
0
0
0
23
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
-3
-8
-6
1
39
0
0
0
0
0
-9
3
-27
15
0
0
0
0
0
-4
-9
48
7
0
0
0
0
0
-5
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
1
-6
-26
-34
23
18
0
0
0
0
28
1
68
0
14
0
0
1
0
-19
-24
45
8
15
0
0
0
-4
-3
-27
3
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
-18
0
1
-15
-12
16
11
0
0
0
1
-3
5
28
3
0
0
0
68
0
-23
-39
-8
29
1
0
0
0
21
21
13
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
7
0
-1
25
-9
6
0
0
0
0
0
-13
4
-50
24
0
0
0
12
0
-1
-27
-32
80
0
0
0
0
-2
2
5
-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
-16
0
-2
11
-27
27
0
0
0
0
2
1
9
0
11
0
0
0
3
-3
-6
3
6
8
0
0
0
0
4
0
-1
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
40
5
-3
-3
4
0
0
0
-13
-9
9
1
26
18
0
0
0
-1
-27
21
-5
2
6
0
0
0
-23
17
15
14
-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
7
-3
47
54
-15
0
0
0
23
-42
31
-4
40
11
0
0
0
26
9
-40
0
20
-8
0
0
0
55
-32
-17
5
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
-7
3
-7
27
0
0
0
0
-3
38
-49
15
39
0
0
0
0
2
-11
14
12
7
0
0
0
0
-15
-52
21
4
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
2
-7
20
-1
19
0
0
0
0
-18
1
-17
12
48
0
0
0
0
9
0
-29
-2
49
0
0
0
0
18
15
-30
-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
47
-1
0
-51
-29
-40
19
0
0
0
0
-1
46
1
-8
-8
0
0
0
-21
0
-32
-22
-11
40
0
0
0
0
5
39
-57
-42
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
5
17
-37
12
0
0
0
0
-1
-18
25
-16
-1
0
0
0
0
1
13
10
-15
-16
0
0
0
0
-4
-17
-8
19
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
0
-41
-5
0
0
0
0
0
-4
9
22
-48
0
0
0
2
0
-6
-3
-20
-8
0
0
0
0
0
0
-26
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
-3
0
0
24
8
13
-10
0
0
0
0
0
-2
39
-12
37
0
0
0
2
0
13
10
-24
-27
0
0
0
0
2
11
-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
8
-63
-30
1
0
0
0
0
0
-8
-11
5
3
0
0
0
0
0
-5
27
-33
-4
0
0
0
0
1
17
-8
3
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-13
73
-69
-6
0
0
0
0
0
1
-35
-27
31
0
0
0
0
-4
-3
17
-7
33
0
0
0
0
4
-18
14
-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
-44
-18
11
0
0
0
0
0
0
-49
47
-3
0
0
0
0
0
0
-2
-43
16
0
0
0
0
0
3
-2
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
1
0
-38
30
9
0
0
0
0
1
3
-7
0
-26
0
0
0
0
0
-1
-13
-17
67
0
0
0
0
11
7
-4
-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
-4
0
8
-27
-56
3
0
0
0
0
0
0
-26
-19
24
0
0
0
34
0
-6
-16
-55
28
0
0
0
0
1
0
-21
-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
22
-2
-17
0
0
0
0
0
2
57
-2
-1
0
0
0
-23
3
-1
37
-48
11
0
0
0
0
2
9
48
-38
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-11
-14
-2
0
0
0
0
0
1
5
-79
26
0
0
0
2
0
0
1
-60
12
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
15
-15
-11
0
0
0
0
0
1
-5
24
26
0
0
0
0
0
0
-11
-32
22
0
0
0
0
0
0
21
-46
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
13
20
-16
28
0
0
0
0
3
-11
14
-50
27
0
0
0
0
2
-12
-25
-16
47
0
0
0
0
-6
-25
35
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
-1
0
-14
34
5
0
0
0
0
0
0
23
-1
-36
0
0
0
0
0
1
23
2
9
0
0
0
0
24
-27
-20
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
-1
-6
-12
11
0
0
0
0
0
1
-9
-12
34
0
0
0
0
-2
0
12
-52
17
0
0
0
0
0
5
-27
-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
4
18
-19
40
0
0
0
0
1
-3
0
-54
79
0
0
0
0
0
0
-30
53
13
0
0
0
0
4
0
-18
-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
36
4
0
20
-58
-18
-5
0
0
0
0
0
3
30
-9
-7
0
0
0
-7
0
-5
-40
27
3
0
0
0
0
0
-2
3
-29
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
0
0
-14
-2
-14
0
0
0
0
0
-1
3
37
-25
-27
0
0
0
0
-1
4
53
14
-29
0
0
0
0
0
0
-3
-8
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
1
0
0
14
-49
14
0
0
0
0
0
0
0
-13
-10
0
0
0
8
0
-1
-2
-48
8
0
0
0
0
0
2
3
-6
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-3
0
0
7
-12
33
0
0
0
0
-3
-1
0
-20
8
0
0
0
-4
0
3
50
-32
7
0
0
0
0
1
-1
28
-22
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
8
4
-15
0
0
0
0
-4
13
-8
-10
-8
0
0
0
0
0
0
1
-31
19
0
0
0
0
0
-33
4
-25
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
9
-17
49
-33
0
0
0
0
3
0
3
-16
-19
0
0
0
0
3
-3
0
29
-4
0
0
0
0
2
3
11
-27
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-17
-10
0
0
0
0
0
1
0
-49
4
0
0
0
0
0
1
6
6
-8
0
0
0
0
-1
2
0
-51
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
1
-31
-69
29
0
0
0
0
-2
1
15
-61
39
0
0
0
0
0
1
28
-40
38
0
0
0
0
-2
0
7
-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
7
1
-6
22
-31
-43
0
0
0
0
0
-10
-14
42
-18
0
0
0
1
0
-2
-11
-10
54
0
0
0
0
0
12
-8
-87
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
47
21
0
0
0
0
0
13
7
-4
13
0
0
0
-22
0
6
-4
-25
52
0
0
0
0
15
17
-11
-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
-8
0
0
36
-55
36
0
0
0
0
0
-1
8
-25
33
0
0
0
45
0
0
2
-62
25
0
0
0
0
-11
2
3
-23
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
4
32
-35
3
0
0
0
0
-2
-12
-7
-4
48
0
0
0
20
0
-6
30
-31
38
0
0
0
0
-2
0
-8
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
-17
8
27
5
0
0
0
0
3
29
-3
5
-12
0
0
0
0
-1
0
-16
22
-19
0
0
0
0
-42
57
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
-1
14
19
4
-9
0
0
0
0
-1
-11
49
47
-81
0
0
0
0
0
33
-37
0
58
0
0
0
0
-17
-2
6
42
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
53
-20
0
0
0
0
0
14
-7
12
-10
0
0
0
0
0
4
-7
-19
20
0
0
0
0
3
-31
14
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
-1
-41
-22
47
0
0
0
0
3
7
26
-43
7
0
0
0
0
-2
-4
-36
8
53
0
0
0
0
-30
-21
-35
-4
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
11
-3
0
-3
-31
10
20
0
0
0
0
0
-24
-61
28
36
0
0
0
0
0
0
18
-11
42
0
0
0
0
0
17
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
-2
-6
0
-44
40
2
66
0
0
0
0
1
-17
7
-65
51
0
0
0
1
-3
7
9
19
-13
0
0
0
0
2
43
20
-86
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-28
-8
-45
21
0
0
0
0
0
3
8
-5
-6
0
0
0
-2
0
-2
-25
-43
37
0
0
0
0
0
2
29
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
9
-2
-37
-21
32
11
0
0
0
0
0
-22
27
30
-13
0
0
0
3
0
-2
23
-19
24
0
0
0
0
0
7
-6
-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
1
-4
4
-46
30
0
0
0
0
0
-12
-47
-13
33
0
0
0
0
0
-1
13
25
-4
0
0
0
0
-4
5
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
9
-47
13
24
0
0
0
0
0
-4
-38
-14
30
0
0
0
0
0
-2
24
56
-14
0
0
0
0
7
-17
20
-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
0
0
0
0
0
0
0
0
0
-1
6
-70
16
0
0
0
0
0
-4
-6
-5
-12
0
0
0
0
0
0
11
-49
30
0
0
0
0
0
4
-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
-6
-4
41
-25
2
0
0
0
0
0
0
56
0
-50
0
0
0
0
-2
0
22
-51
10
0
0
0
0
-2
-2
3
-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
13
0
0
-19
-62
13
0
0
0
0
3
2
-26
41
-25
0
0
0
19
0
-1
-20
-71
41
0
0
0
0
-1
-5
-23
24
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
42
-25
10
0
0
0
0
0
8
45
-32
-20
0
0
0
4
2
2
10
-60
7
0
0
0
0
12
0
29
-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
-4
0
1
26
12
-9
0
0
0
0
-1
-7
-3
9
29
0
0
0
25
0
0
-12
26
-29
0
0
0
0
0
8
-28
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
12
1
-1
59
-48
13
0
0
0
0
-3
3
-8
10
18
0
0
0
-47
-2
0
-34
-16
-2
0
0
0
0
4
0
-3
-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
5
12
-52
51
0
0
0
0
-19
-11
53
16
12
0
0
0
0
0
2
-8
3
-9
0
0
0
0
-4
10
-43
-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
-2
-5
-58
63
0
0
0
0
9
-8
17
-33
10
0
0
0
0
10
7
48
-74
19
0
0
0
0
23
-12
-26
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
-1
-6
5
-41
57
0
0
0
0
0
2
14
11
10
0
0
0
0
6
-1
-25
30
66
0
0
0
0
9
-5
-25
-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
-2
1
-1
-21
30
0
0
0
0
-14
15
16
-18
28
0
0
0
0
3
-2
11
5
-18
0
0
0
0
11
-2
24
-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
1
0
0
7
0
-13
24
0
0
0
0
1
1
4
0
29
0
0
0
-10
0
11
0
-15
15
0
0
0
0
0
3
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
44
-9
-1
-16
-38
-5
20
0
0
0
0
-3
-5
7
-9
-2
0
0
0
-7
0
-1
-18
18
17
0
0
0
0
0
0
20
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
-31
4
0
10
15
-29
18
0
0
0
0
0
0
13
-5
-2
0
0
0
1
0
-2
1
24
29
0
0
0
0
0
-3
-3
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
26
0
-2
-17
7
-8
23
0
0
0
0
1
0
-16
17
15
0
0
0
4
2
0
0
39
-11
0
0
0
0
-4
3
-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
-2
0
31
17
0
0
0
0
-1
2
-1
-3
43
0
0
0
0
0
1
4
33
-15
0
0
0
0
0
-1
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
0
-6
-33
48
13
0
0
0
0
0
-4
27
-7
-12
0
0
0
0
0
-5
7
-16
28
0
0
0
0
0
-13
9
24
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
3
0
-6
9
0
0
0
0
0
-1
-3
11
39
0
0
0
0
0
-15
6
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
2
12
10
-2
15
0
0
0
0
2
16
-3
-42
11
0
0
0
0
1
0
-2
22
4
0
0
0
0
-2
5
-2
-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
-11
0
-3
16
-29
8
0
0
0
0
0
0
7
-49
49
0
0
0
-17
0
2
1
37
-24
0
0
0
0
9
0
-3
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
23
0
-6
-30
31
-28
0
0
0
0
-1
19
6
6
-21
0
0
0
-10
0
-7
11
15
-13
0
0
0
0
-19
6
-16
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
16
0
1
-2
30
16
0
0
0
0
0
-3
3
-25
86
0
0
0
-2
0
0
15
-41
-13
0
0
0
0
-3
-2
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
8
0
6
0
-2
7
0
0
0
0
-1
-7
-2
23
-2
0
0
0
27
0
0
37
-55
-34
0
0
0
0
-10
1
-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
2
18
-1
-14
0
0
0
0
4
0
-6
29
14
0
0
0
0
2
0
2
12
14
0
0
0
0
-6
13
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
13
10
-9
0
0
0
0
0
-7
-20
26
19
0
0
0
0
2
3
-16
-41
-9
0
0
0
0
0
10
41
-48
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-18
46
0
0
0
0
0
-13
3
40
5
0
0
0
0
0
2
0
9
22
0
0
0
0
7
75
-6
-17
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-17
38
1
0
0
0
0
-15
-38
25
-34
31
0
0
0
0
-5
2
-6
32
12
0
0
0
0
27
-19
-1
-44
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-5
2
7
3
4
3
0
0
-4
50
50
15
4
7
2
0
-25
5
-1
-50
-15
-14
-7
15
0
0
-22
4
-33
-2
-15
55
8
26
52
-9
-12
-13
-8
-9
-3
7
0
0
26
7
-68
-44
-10
-8
14
0
40
11
-24
6
-30
6
2
0
0
0
16
-12
-19
-32
5
12
6
35
35
2
29
-22
3
8
0
0
0
0
10
39
-24
0
24
6
0
0
-20
-8
36
56
19
-16
-11
0
0
0
-32
23
20
-18
7
31
0
-16
0
-9
60
-16
-45
0
0
0
0
0
4
-13
30
-46
-16
-2
0
0
-16
6
-9
-8
-5
-21
1
0
0
0
-17
-23
9
-1
19
7
0
-14
0
5
-42
26
21
6
0
0
0
0
11
1
-25
-15
20
0
0
0
2
24
-3
7
-15
-8
0
0
0
0
40
11
-19
20
-23
0
0
18
-38
7
30
-42
8
-10
0
0
0
0
-1
10
28
-50
9
0
0
0
-37
7
-9
-21
9
16
0
0
0
0
-77
19
8
8
-22
0
0
-33
-15
7
-18
41
2
39
0
0
0
0
2
14
30
13
-39
0
0
0
9
3
11
-37
-19
2
0
0
0
0
-31
24
-31
-23
47
0
0
32
16
-2
-19
31
-38
-4
0
0
0
0
-31
-31
35
-32
17
0
0
0
-13
11
9
-13
-17
11
0
0
0
0
-26
-41
-26
-29
34
0
0
0
0
-9
2
-28
2
-3
6
10
0
0
51
-25
-20
47
-5
5
15
0
0
21
-10
18
1
-4
33
11
0
0
-10
-25
-3
19
43
-1
15
0
0
0
-5
-60
-51
-23
-9
14
0
0
0
11
-3
-39
33
3
3
0
0
0
2
2
-15
92
8
-3
0
0
8
15
1
22
-5
36
-22
0
0
1
0
19
-3
-31
-5
0
0
0
0
-3
-4
-3
-32
13
0
0
0
3
0
20
-21
9
-5
0
0
0
2
-1
13
10
30
-4
0
0
0
0
2
3
-82
28
17
0
0
0
0
-1
-1
-45
11
11
0
0
0
0
0
1
-20
-2
6
0
0
0
-18
2
-3
-3
4
28
0
0
0
-1
-6
60
-9
-36
0
0
0
0
2
-3
-6
21
6
0
0
0
0
0
0
18
-44
9
0
0
0
0
-11
-3
3
-22
62
0
0
0
0
-1
2
9
-48
23
0
0
0
0
-4
0
1
-30
13
0
0
0
0
0
-13
0
56
-1
0
0
0
0
10
2
-2
-46
-26
0
0
0
0
0
0
-1
-2
11
0
0
0
0
1
2
0
-20
-11
0
0
0
0
1
-1
-10
6
24
0
0
0
0
1
-1
0
-24
0
0
0
0
0
0
-3
0
-16
-25
0
0
0
0
2
1
-3
-12
-5
0
0
0
0
0
0
0
8
-65
0
0
0
0
-32
3
0
10
23
0
0
0
-27
-1
9
-6
20
38
5
10
0
0
0
-7
-32
19
-6
-9
8
0
7
-1
2
-76
-16
3
-17
21
0
0
-4
0
16
7
-9
-28
8
0
-4
0
1
-35
-28
-3
-3
20
0
0
0
0
-5
9
-13
5
-1
0
32
0
0
27
53
-65
7
-10
0
0
0
0
1
-10
10
-10
17
0
-2
0
1
6
-23
30
-2
0
0
0
-1
2
-7
-10
23
-2
0
0
-14
0
0
-7
0
2
3
0
0
0
0
-2
-8
-16
0
31
0
0
-1
0
0
3
25
6
-14
0
0
0
0
0
-3
-17
15
-4
0
0
-17
0
-2
4
1
-31
5
0
0
0
0
0
0
-2
-6
6
0
0
0
-2
5
-40
4
27
0
0
0
0
0
0
-9
5
21
0
0
0
-4
0
0
-15
35
-9
0
0
0
0
0
0
-2
3
19
0
0
0
2
0
0
28
-27
-8
0
0
0
0
1
0
-1
-38
8
0
0
0
-23
0
0
4
-11
55
0
0
0
0
0
0
0
-6
12
0
0
0
2
1
-3
-6
11
1
0
0
0
0
0
-6
3
-30
-27
0
0
0
-1
0
-1
-6
16
5
0
0
0
0
0
-1
-1
11
-36
0
0
0
-2
0
0
-2
20
2
0
0
0
0
0
0
4
9
-18
0
0
0
4
0
-1
-6
4
26
0
0
0
0
0
0
0
0
19
0
0
0
0
1
-23
-19
0
2
-4
-8
0
0
-3
-2
36
-14
-31
-25
4
0
0
3
0
32
58
24
45
10
0
0
4
4
-39
-16
71
86
4
0
0
3
2
3
46
5
13
-11
0
0
-2
-7
-5
15
4
-27
18
0
0
1
0
13
9
-22
-1
16
0
0
0
16
28
56
-46
-16
2
0
0
0
-2
14
-84
-42
20
0
0
0
0
2
-20
14
6
-29
0
0
0
0
-1
10
-22
-6
39
0
0
0
-2
-4
-1
-49
77
22
0
0
0
0
-2
0
-5
55
4
0
0
0
0
0
0
-1
11
1
0
0
0
0
0
0
-7
0
63
0
0
0
9
2
-3
4
-9
-16
0
0
0
2
-1
-42
-11
20
0
0
0
0
0
0
-7
17
4
0
0
0
0
0
0
19
-3
10
0
0
0
0
6
-5
-10
6
23
0
0
0
0
0
-1
3
-42
75
0
0
0
0
0
8
-1
-32
39
0
0
0
0
-1
0
0
19
52
0
0
0
0
0
0
0
-14
38
0
0
0
0
0
0
-1
-39
36
0
0
0
0
0
0
1
-33
-13
0
0
0
0
0
0
1
-6
24
0
0
0
0
2
0
5
-10
20
0
0
0
0
0
0
0
5
5
0
0
0
0
0
-6
0
-32
52
0
0
0
0
0
-2
1
0
-13
0
0
0
0
0
0
0
4
8
0
0
-11
5
0
3
32
-22
-2
4
-4
0
0
0
-24
-26
-15
29
19
7
0
-2
0
4
14
14
10
3
4
0
0
1
2
-11
-7
8
17
17
10
0
0
-17
-18
8
19
9
6
0
0
-4
0
27
-44
28
44
-8
0
-1
0
1
2
-26
4
5
1
0
0
0
0
-18
-31
-43
22
29
6
0
0
1
34
-67
-12
19
0
0
0
0
0
-2
-17
19
9
0
0
-1
0
4
-35
-13
74
16
0
0
0
0
-1
4
-24
30
43
0
-22
0
0
-2
21
9
-6
11
0
0
0
0
-1
-3
-22
-18
16
0
0
10
0
0
1
4
-2
-18
0
0
0
0
-1
0
6
34
-40
0
23
3
2
-1
-18
-29
-4
0
0
0
0
0
-5
-21
7
19
0
0
0
-2
0
-2
-20
-68
61
0
0
0
0
0
2
-14
-5
34
0
0
2
0
0
-2
10
43
-11
0
0
0
0
1
-1
20
-45
25
0
0
0
-1
0
-3
73
-45
24
0
0
0
0
0
0
-2
4
6
0
0
0
0
0
-7
-24
27
7
0
0
0
0
0
-1
1
5
-6
0
0
0
0
0
-3
-42
-18
37
0
0
0
0
0
1
-6
-6
16
0
0
-54
0
0
4
-2
32
21
0
0
0
0
0
3
0
7
23
0
0
0
9
0
0
-1
-14
41
0
0
0
0
0
3
0
2
-7
0
0
0
0
1
-21
25
-55
7
-3
9
0
0
7
-22
-18
-39
-57
13
26
0
0
0
-8
1
-3
-1
38
13
0
0
-7
22
18
19
54
-37
17
0
0
0
0
-11
-24
-16
-6
17
0
0
1
0
0
-44
47
-6
-5
0
0
0
0
-3
11
-12
10
34
0
0
0
0
1
-3
14
-15
29
0
0
0
0
0
4
-44
-2
0
0
0
0
1
-5
-4
27
1
0
0
0
0
0
0
-1
2
42
0
0
0
0
0
-1
45
43
-41
0
0
0
0
0
-1
-28
90
-10
0
0
0
0
0
8
-6
16
12
0
0
0
0
0
-1
4
6
25
0
0
0
0
-14
-4
0
6
8
0
0
0
0
3
-27
-28
21
0
0
0
0
0
0
14
-34
57
0
0
0
0
0
0
3
-42
25
0
0
0
0
1
-2
3
-27
46
0
0
0
0
0
0
1
14
-17
0
0
0
0
0
0
1
-41
5
0
0
0
0
0
0
7
33
8
0
0
0
0
0
1
-3
13
-42
0
0
0
0
0
0
-10
1
3
0
0
0
0
0
0
-6
16
45
0
0
0
0
0
0
2
6
-41
0
0
0
0
0
0
-3
11
42
0
0
0
0
0
2
0
5
-15
0
0
0
0
0
3
-2
1
-29
0
0
0
0
0
0
-3
-14
21
0
0
0
0
0
-1
0
-4
6
0
0
0
-14
0
-4
-34
-38
3
-2
19
0
0
0
0
0
5
-6
-14
14
0
8
0
0
8
-89
10
18
-9
0
0
1
0
-14
-57
-20
37
46
0
0
0
-1
-19
52
-39
0
19
0
0
0
0
0
1
39
2
39
0
-27
0
-1
0
-11
-11
22
18
0
0
0
0
2
-9
10
4
9
0
1
0
0
2
-22
19
9
0
0
0
0
1
0
-27
25
-11
0
0
1
0
-1
-7
-8
-7
-1
0
0
0
0
0
8
-17
-21
15
0
0
0
0
1
-7
-23
15
3
0
0
0
0
0
1
-28
22
13
0
0
1
0
0
9
5
15
19
0
0
0
0
0
-2
-8
-4
35
0
0
0
0
-6
-2
-26
47
0
0
0
0
0
0
-1
-23
41
0
0
0
0
0
0
-7
-39
23
0
0
0
0
0
0
1
-51
36
0
0
0
0
0
0
4
-22
27
0
0
0
0
0
0
0
-29
-6
0
0
0
5
0
0
-5
-14
39
0
0
0
0
0
7
-1
2
-16
0
0
0
0
0
0
1
14
39
0
0
0
0
0
0
0
-9
55
0
0
0
4
0
0
-4
-26
28
0
0
0
0
0
-1
-1
-16
43
0
0
0
0
0
0
-1
47
-13
0
0
0
0
0
0
-1
-10
-33
0
0
0
2
0
1
0
0
15
0
0
0
0
0
0
1
0
-26
0
0
0
0
0
-11
-12
-20
-2
14
8
0
0
0
-27
27
2
22
-6
-20
0
0
0
0
-23
18
28
22
8
0
0
12
-1
22
42
-32
22
-7
0
0
0
1
10
15
-52
-21
39
0
0
0
0
-1
-22
-13
12
19
0
0
0
0
-13
-27
26
19
17
0
0
-12
2
9
-13
0
41
18
0
0
0
0
3
-4
-22
16
0
0
0
1
2
0
7
-7
-27
0
0
0
0
1
-21
21
45
19
0
0
0
-15
-23
-37
17
28
30
0
0
0
0
1
-3
-13
-3
32
0
0
0
0
4
-2
-8
17
8
0
0
0
0
1
-13
4
-16
18
0
0
0
0
4
22
0
2
-22
0
0
0
0
7
0
38
-89
0
0
0
0
0
-3
3
-28
16
0
0
0
0
0
-1
19
-13
-21
0
0
0
0
0
-5
36
-23
33
0
0
0
0
0
0
4
-5
14
0
0
0
0
1
-3
3
-5
15
0
0
0
0
0
10
0
-17
-10
0
0
0
0
0
-18
6
4
9
0
0
0
0
0
0
2
4
30
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
-1
10
-39
-37
0
0
0
0
0
2
-1
4
48
0
0
0
0
0
3
0
-29
42
0
0
0
0
0
-3
2
3
20
0
0
0
0
0
4
3
-2
6
0
0
0
0
-1
14
2
11
-10
0
0
-18
3
0
-12
-6
-28
23
29
0
0
0
-4
12
38
19
29
-6
0
0
-25
7
-16
-6
-3
-14
58
0
0
0
0
-11
12
-9
36
2
0
-1
0
0
-3
-2
-9
27
-5
0
0
0
0
12
-33
-57
40
33
0
0
0
0
-3
8
37
5
-12
0
0
0
0
22
3
-29
7
4
0
0
0
0
6
-14
-37
40
19
0
0
0
1
4
66
-24
-8
14
0
0
0
0
0
1
-52
-30
25
0
0
0
0
-7
12
-2
3
33
0
-3
0
0
2
21
-15
18
3
0
0
0
0
4
-13
1
-2
10
0
0
0
0
-1
8
1
17
1
0
0
0
0
-2
15
7
-24
12
0
0
0
0
-1
-4
27
36
0
0
0
0
0
-1
0
-11
14
0
0
0
1
0
0
5
-5
-19
0
0
0
0
0
-1
-4
-6
21
0
0
-3
0
0
0
64
4
-23
0
0
0
0
0
0
0
-17
-5
0
0
0
0
0
-3
-4
-62
75
0
0
0
0
0
1
-10
19
0
0
0
0
0
0
-2
8
43
15
0
0
0
0
1
0
-21
59
39
0
0
0
0
0
0
0
66
-32
0
0
0
0
0
-1
0
-9
-1
0
0
0
0
0
0
1
20
0
0
0
0
0
0
1
2
-14
2
0
0
0
2
0
0
0
-2
-21
0
0
0
0
0
0
1
3
-47
0
0
0
0
0
-12
34
-20
-10
-23
0
0
0
-1
5
6
-57
44
41
0
0
0
8
-1
0
-2
26
-15
0
0
0
6
0
-3
2
11
-9
0
0
0
0
0
-20
3
-13
5
0
0
0
0
0
-1
-14
-2
-7
0
0
0
0
0
-1
-15
59
15
0
0
0
0
0
1
-32
24
-5
0
0
0
0
1
-3
-36
25
18
0
0
0
0
0
2
-84
28
39
0
0
0
0
0
-5
-33
24
22
0
0
0
1
1
-1
-19
-2
-7
0
0
0
0
0
10
30
-22
-13
0
0
0
0
-1
0
18
-14
-20
0
0
0
0
0
0
2
-8
8
0
0
0
0
0
0
-4
-20
11
0
0
0
0
0
0
28
-5
0
0
0
0
0
0
0
21
10
0
0
0
0
0
0
-3
-33
46
0
0
0
0
0
0
0
3
40
0
0
0
0
0
4
0
6
10
0
0
0
0
0
0
0
27
-13
0
0
0
0
0
0
-2
-3
13
0
0
0
0
0
0
1
-2
10
0
0
0
0
0
1
0
-36
19
0
0
0
0
0
0
9
7
11
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
-4
32
0
0
0
0
0
0
0
-24
17
0
0
0
0
0
0
2
14
-5
0
0
0
0
0
0
0
5
-16
0
0
0
0
0
0
0
-15
37
0
0
0
-16
0
-12
-23
7
42
10
0
0
0
0
1
-1
6
-1
9
0
0
10
0
0
14
-49
0
2
0
0
0
0
0
-8
-24
49
12
0
0
9
0
3
-20
-29
120
-25
0
0
0
0
0
-1
-20
33
8
0
0
5
0
0
9
2
32
-39
0
0
0
0
0
-3
-10
21
-14
0
0
0
0
3
13
-8
28
-9
0
0
0
1
0
0
11
2
-9
0
0
0
0
0
-17
-36
29
6
0
0
0
0
0
1
24
26
-40
0
0
0
0
0
-3
-18
-32
14
0
0
0
0
-2
0
4
19
0
0
0
-4
0
0
-4
1
59
-9
0
0
0
0
0
0
0
47
-2
0
0
0
0
0
-9
28
-30
0
0
0
0
0
0
1
-60
38
0
0
0
0
0
0
-8
-23
48
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
19
-46
32
0
0
0
0
0
0
0
54
13
0
0
0
-2
0
0
3
22
0
0
0
0
0
0
0
0
0
20
0
0
0
0
0
1
1
-23
15
0
0
0
0
-1
0
0
-7
34
0
0
0
6
0
0
2
-11
25
0
0
0
0
0
0
-2
-4
-6
0
0
0
0
0
0
1
-13
6
0
0
0
0
0
0
-1
0
14
0
0
0
4
0
0
0
-5
-1
0
0
0
0
0
0
0
-12
19
0
0
0
0
-1
1
-2
-12
-13
23
0
0
0
2
1
49
-108
7
8
0
0
0
1
0
14
-12
42
-79
0
0
0
-30
-5
14
38
32
12
0
0
0
0
0
-7
29
5
-4
0
0
0
0
-1
-6
3
62
-10
0
0
0
0
0
-2
47
-3
19
0
0
0
2
-30
2
-5
63
39
0
0
0
1
0
-3
-13
15
-15
0
0
0
1
2
-10
-32
10
16
0
0
0
0
0
-2
23
-18
-11
0
0
0
4
2
1
3
-14
4
0
0
0
0
0
0
12
-5
4
0
0
0
0
0
-4
3
-9
25
0
0
0
0
0
0
1
40
-12
0
0
0
7
0
0
0
36
-63
0
0
0
0
0
-20
-10
7
0
0
0
0
0
0
-1
-10
11
0
0
0
0
0
0
0
-19
40
0
0
0
0
2
0
5
9
18
0
0
0
0
0
-2
-2
0
15
0
0
0
0
0
3
-1
0
19
0
0
0
0
0
1
7
0
-44
0
0
0
0
0
2
0
-4
50
0
0
0
0
0
0
3
28
17
0
0
0
0
0
0
-3
-10
1
0
0
0
0
0
0
1
9
-12
0
0
0
0
0
1
3
-2
7
0
0
0
0
0
0
1
-12
3
0
0
0
0
0
-1
3
20
-21
0
0
0
0
0
0
-1
-2
1
0
0
0
0
3
0
0
2
-20
0
0
24
-3
0
-1
11
-5
-20
-4
0
0
0
0
0
-6
-43
20
27
0
0
0
0
0
-18
-19
32
0
0
0
0
0
0
10
5
16
-30
0
1
0
0
-2
-9
25
43
-16
0
0
0
0
0
7
-30
6
7
0
0
-8
0
-1
1
26
42
-5
0
0
0
0
0
6
0
22
-13
0
-13
0
0
-1
1
21
23
4
0
0
0
0
-2
14
-20
-7
-15
0
0
0
0
0
-51
-5
42
12
0
0
0
0
-2
15
0
-7
38
0
0
0
0
6
-10
-41
25
24
0
0
0
0
0
-6
24
27
12
0
0
-7
0
0
-26
-7
16
11
0
0
0
0
0
-6
-2
59
-42
0
0
0
0
-3
56
-84
2
0
0
0
0
0
0
4
-13
13
0
0
0
0
0
0
-9
-7
-1
0
0
0
0
0
0
-3
14
2
0
0
6
0
0
0
20
14
-12
0
0
0
0
0
0
14
-14
18
0
0
0
0
0
0
-9
9
8
0
0
0
0
0
0
-7
5
-19
0
0
0
0
0
0
5
-42
22
0
0
0
0
0
4
0
-28
28
0
0
0
0
0
0
1
-7
29
0
0
0
0
0
0
3
0
9
0
0
-3
0
0
2
2
22
-9
0
0
0
0
0
2
1
-18
29
0
0
0
6
0
0
6
-7
4
0
0
0
0
0
0
8
4
1
0
0
0
0
0
-1
-28
-31
24
44
0
0
0
-6
-2
0
-9
-9
-6
0
0
0
0
0
5
34
35
-6
0
0
0
0
1
3
10
64
0
0
0
0
0
0
9
-19
40
-17
0
0
0
0
-2
0
-5
-53
2
0
0
0
0
0
0
9
14
-6
0
0
0
0
-2
23
-3
9
6
0
0
0
0
-1
10
0
-15
2
0
0
0
0
0
2
40
11
-7
0
0
0
0
0
4
-6
62
-6
0
0
0
0
0
8
2
35
-41
0
0
0
0
0
-3
24
-35
-4
0
0
0
0
-4
-1
-4
68
7
0
0
0
0
0
4
-8
65
-24
0
0
0
4
2
-28
0
2
48
0
0
0
0
0
0
34
34
0
0
0
0
0
0
-4
3
12
0
0
0
0
0
0
0
34
-73
0
0
0
0
0
0
4
-20
-21
0
0
0
0
0
0
0
-20
34
0
0
0
0
1
0
0
-1
-27
0
0
0
0
0
0
0
2
-21
0
0
0
0
0
0
1
7
-7
0
0
0
0
0
0
-3
-22
19
0
0
0
0
0
0
0
-3
24
0
0
0
0
0
0
7
26
-8
0
0
0
0
0
0
2
0
-6
0
0
0
0
-7
0
0
0
42
0
0
0
0
0
2
0
7
-9
0
0
0
0
0
0
0
-8
-4
0
0
0
0
0
-1
-4
1
38
0
0
0
2
0
-2
-8
-27
-16
9
0
0
0
1
0
-1
-13
61
-28
0
0
-6
0
0
2
-32
73
7
0
0
0
3
0
9
0
-10
8
0
0
1
0
0
2
1
45
-18
0
0
0
0
-2
1
0
21
16
0
0
6
0
0
-4
3
-12
13
0
0
0
-1
-1
2
0
-28
34
0
0
0
0
0
1
6
-28
15
0
0
0
0
0
0
9
-31
24
0
0
1
0
3
0
1
48
-5
0
0
0
0
0
4
4
19
-20
0
0
4
0
0
2
0
-10
22
0
0
0
0
-1
0
0
20
17
0
0
2
0
0
0
0
16
-20
0
0
0
0
0
1
0
45
-9
0
0
0
0
0
-1
-29
-2
0
0
0
0
0
0
0
1
-68
0
0
0
1
0
0
4
-25
31
0
0
0
0
0
0
2
-7
22
0
0
0
-1
0
0
-2
9
-47
0
0
0
0
0
0
0
-4
47
0
0
0
-1
0
0
0
-1
50
0
0
0
0
0
0
-1
-2
21
0
0
0
0
0
0
0
20
-1
0
0
0
0
0
0
0
-7
36
0
0
0
-7
0
0
-4
0
27
0
0
0
0
0
0
-2
0
2
0
0
0
-3
0
1
3
2
48
0
0
0
0
0
0
0
-13
27
0
0
0
38
0
0
3
-3
-47
0
0
0
0
0
0
0
1
5
0
0
0
0
0
-4
0
-8
-2
-23
0
0
0
-1
6
2
33
-28
-61
0
0
0
-7
0
4
11
8
-17
0
0
0
4
-12
9
0
10
8
0
0
0
0
0
0
7
32
-30
0
0
0
1
13
4
-10
5
-31
0
0
0
0
0
-1
4
2
-27
0
0
0
2
6
-7
1
2
-15
0
0
0
0
0
0
0
-16
-9
0
0
0
0
0
0
-14
-15
23
0
0
0
0
0
-11
-1
76
-22
0
0
0
6
0
24
7
8
-36
0
0
0
0
0
0
-1
8
-3
0
0
0
0
0
0
1
18
-31
0
0
0
0
0
0
0
1
29
0
0
0
-13
-23
2
0
34
15
0
0
0
0
0
0
-25
-25
0
0
0
0
0
0
-2
11
21
0
0
0
0
0
0
5
0
-31
0
0
0
0
0
0
4
1
-1
0
0
0
0
0
0
-4
0
23
0
0
0
0
0
0
-8
14
2
0
0
0
0
0
0
0
0
44
0
0
0
0
-1
0
-1
0
6
0
0
0
0
0
0
0
-12
50
0
0
0
0
0
-3
0
7
-1
0
0
0
0
0
0
-4
-3
-21
0
0
0
0
0
0
1
8
12
0
0
0
0
0
0
1
1
49
0
0
0
0
-1
0
1
-10
14
0
0
0
0
0
-1
0
11
21
0
0
0
0
-1
-1
8
1
5
0
0
-4
-1
-7
-50
42
32
24
0
0
0
0
8
29
4
-15
-10
0
0
0
2
-4
19
-13
-41
3
0
0
0
0
1
4
-14
-20
-4
0
0
-1
0
0
-32
-4
-20
20
0
0
0
0
0
20
29
-54
-10
0
0
0
-3
0
-6
-19
24
-3
0
0
0
0
0
-10
-50
-13
47
0
0
0
0
0
-12
26
2
4
0
0
0
0
-1
9
18
-5
-20
0
0
0
0
0
1
-5
-42
0
0
0
0
0
0
-4
-12
-8
6
0
0
3
0
0
11
26
-26
-13
0
0
0
0
0
-7
9
-14
56
0
0
0
0
0
-6
-21
-29
56
0
0
0
0
-1
1
7
2
-5
0
0
0
0
0
25
80
3
4
0
0
0
0
0
-1
-6
-20
48
0
0
0
0
0
0
1
4
-26
0
0
0
0
0
-1
1
11
24
0
0
0
0
0
-3
-1
-13
53
0
0
0
0
-1
-13
8
-25
6
0
0
0
0
0
6
1
-95
42
0
0
0
0
0
-3
-7
19
45
0
0
-1
2
0
-7
33
-18
10
0
0
0
0
0
-1
21
-13
-6
0
0
0
0
0
1
-34
-12
31
0
0
0
0
0
4
23
-54
-6
0
0
1
0
0
-1
-2
23
4
0
0
0
0
0
0
6
-26
11
0
0
0
-1
0
0
0
-2
-26
0
0
0
0
0
6
5
-28
-9
0
0
0
0
1
28
-36
-52
-12
0
0
0
0
-7
0
4
34
2
0
0
0
0
7
0
9
-16
-6
0
0
0
0
1
0
2
-14
15
0
0
0
0
0
8
-8
11
-33
0
0
0
0
1
-7
1
-1
-29
0
0
0
0
0
0
0
1
9
0
0
0
0
0
-3
-1
-3
28
0
0
0
0
0
0
-10
-1
15
0
0
0
0
2
0
0
31
19
0
0
0
0
-1
0
-2
-44
67
0
0
0
0
-3
0
-4
-4
34
0
0
0
0
0
0
-1
4
-13
0
0
0
0
-2
0
0
15
20
0
0
0
0
0
0
0
17
10
0
0
0
0
2
0
0
5
-19
0
0
0
0
0
-4
1
-24
17
0
0
0
0
0
0
0
-4
25
0
0
0
0
0
0
0
-14
-1
0
0
0
0
0
0
-6
24
-12
0
0
0
0
0
0
0
-21
-11
0
0
0
0
0
3
0
-8
-12
0
0
0
0
0
0
-1
-61
73
0
0
0
0
-1
0
0
7
6
0
0
0
0
0
1
3
29
-20
0
0
0
0
-3
0
0
-19
29
0
0
0
0
3
0
0
-50
34
0
0
0
0
3
-1
0
10
1
0
0
0
0
0
0
0
21
-29
0
0
0
0
0
0
0
-5
-4
0
0
0
0
0
0
0
-10
10
0
0
0
0
0
0
0
-3
7
0
0
0
0
0
0
15
-47
61
0
0
0
0
0
1
-2
-3
-10
0
0
0
3
0
0
-30
-32
44
0
0
0
0
0
0
-1
16
-1
0
0
0
0
0
0
11
40
-5
0
0
0
0
0
0
-3
9
11
0
0
0
9
0
0
-7
16
-74
0
0
0
0
0
0
-1
0
-11
0
0
0
0
0
0
-41
-42
36
0
0
0
0
0
0
-4
-44
39
0
0
0
-2
0
0
2
-22
-5
0
0
0
0
0
0
3
1
25
0
0
0
0
0
0
-17
24
37
0
0
0
0
0
0
1
-16
5
0
0
0
8
0
0
1
-5
-43
0
0
0
0
0
0
1
0
15
0
0
0
0
0
0
4
-4
22
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
0
-24
12
0
0
0
0
0
0
0
6
5
0
0
0
0
0
0
-9
2
18
0
0
0
0
0
0
0
21
14
0
0
0
11
0
0
0
-3
-51
0
0
0
0
0
0
1
-35
8
0
0
0
0
0
0
2
-23
32
0
0
0
0
0
-2
2
-5
25
0
0
0
3
0
0
0
-14
18
0
0
0
0
0
0
4
-11
38
0
0
0
0
0
0
0
51
2
0
0
0
0
0
0
1
7
42
0
0
0
-8
0
0
0
-1
-4
0
0
0
0
0
0
-3
1
-3
0
0
0
0
0
0
10
5
-16
0
0
0
0
0
-2
-11
-38
38
0
0
0
0
0
0
60
-52
14
0
0
0
0
-4
1
-25
35
21
0
0
0
0
0
-1
0
-4
2
0
0
0
0
0
3
1
44
21
0
0
0
0
0
0
8
-7
7
0
0
0
0
3
-1
-16
1
-15
0
0
0
0
0
0
1
-7
15
0
0
0
0
0
0
6
-30
68
0
0
0
0
0
0
0
25
-11
0
0
0
0
2
0
12
27
-23
0
0
0
0
0
0
1
-7
60
0
0
0
0
0
0
1
-45
-30
0
0
0
0
0
0
-1
-8
-7
0
0
0
0
-2
-1
0
-1
7
0
0
0
0
0
0
-11
-4
32
0
0
0
0
0
0
0
20
-5
0
0
0
0
0
0
-7
-7
-6
0
0
0
0
0
0
4
29
-9
0
0
0
0
0
0
0
-28
10
0
0
0
0
0
0
0
23
-35
0
0
0
0
0
0
9
-8
44
0
0
0
0
-1
0
-4
26
-13
0
0
0
0
0
0
0
-8
20
0
0
0
0
0
0
1
22
-10
0
0
0
0
0
0
1
2
2
0
0
0
0
0
0
-8
-23
11
0
0
0
0
0
0
0
10
8
0
0
0
0
0
0
3
7
10
0
0
0
0
0
0
-1
-2
27
0
0
0
0
0
1
0
3
5
0
0
3
-2
0
-5
21
9
-18
0
0
0
0
0
2
8
-22
-19
0
0
0
3
0
1
19
-10
28
0
0
0
0
-1
0
4
-50
6
0
0
1
0
0
-1
4
-13
6
0
0
0
0
0
0
7
-19
11
0
0
0
0
0
0
1
4
2
0
0
0
0
0
0
0
27
-13
0
0
-6
0
0
0
-35
50
48
0
0
0
0
0
-3
0
25
-13
0
0
0
1
0
0
13
-3
12
0
0
0
0
0
0
-9
33
0
0
0
-9
0
0
0
23
39
-23
0
0
0
0
0
0
-7
-2
19
0
0
0
0
0
0
8
-43
13
0
0
0
0
0
0
0
18
0
0
0
-2
0
0
2
15
-38
38
0
0
0
0
0
0
8
24
-3
0
0
0
1
0
-1
-3
-17
39
0
0
0
0
0
-7
26
10
-4
0
0
0
0
0
0
-43
-25
26
0
0
0
0
0
1
0
10
-14
0
0
0
4
0
0
2
-45
-19
0
0
0
0
0
0
-4
55
-5
0
0
0
0
0
6
29
-30
20
0
0
0
0
0
0
3
44
-2
0
0
0
0
0
-2
15
-45
38
0
0
0
0
0
0
0
-48
33
0
0
-1
0
0
-3
-3
-49
31
0
0
0
0
0
0
-2
7
36
0
0
0
6
0
0
-2
20
3
0
0
0
0
0
-1
0
8
8
0
0
0
0
0
1
-30
-18
18
0
0
0
0
-1
-1
3
-63
10
0
0
0
0
0
0
-7
30
29
0
0
0
0
-1
0
-19
-20
110
0
0
0
0
0
0
0
-44
19
0
0
0
0
0
3
6
-12
-14
0
0
0
0
0
0
-4
29
59
0
0
0
0
0
-4
-1
-2
-2
0
0
0
0
0
-1
0
-5
35
0
0
0
0
0
1
0
-55
66
0
0
0
0
0
0
-3
-28
50
0
0
0
0
2
-3
0
23
-1
0
0
0
0
0
0
-3
-3
19
0
0
0
0
0
0
1
-6
18
0
0
0
0
0
0
0
4
26
0
0
0
0
2
1
0
29
-4
0
0
0
0
0
0
-10
-46
2
0
0
0
0
0
0
4
-24
20
0
0
0
0
0
0
9
66
16
0
0
0
0
1
0
2
-46
45
0
0
0
0
0
0
0
23
-35
0
0
0
0
0
-4
2
-3
-31
0
0
0
0
0
-1
0
-11
7
0
0
0
0
0
0
-1
-13
22
0
0
0
0
0
-1
0
-13
-4
0
0
0
0
0
0
0
17
3
0
0
0
0
0
0
-1
11
11
0
0
0
0
0
0
-10
-7
36
0
0
0
0
0
-2
0
-14
38
0
0
0
0
0
0
4
11
9
0
0
0
0
0
-1
0
1
-16
0
0
0
0
-3
-1
-1
18
-17
0
0
0
-8
0
0
-44
71
-52
0
0
0
0
0
-3
-7
11
16
0
0
0
7
0
0
24
-28
-1
0
0
0
0
0
0
0
1
1
0
0
0
-1
0
0
-12
50
36
0
0
0
0
0
0
-1
-17
22
0
0
0
4
0
-1
0
-25
-24
0
0
0
0
0
-2
0
-7
6
0
0
0
0
0
0
2
-13
53
0
0
0
0
0
0
0
7
-16
0
0
0
0
0
0
1
12
-10
0
0
0
0
0
0
-2
22
19
0
0
0
0
0
-2
-1
19
44
0
0
0
0
0
0
0
13
21
0
0
0
-15
0
0
1
2
-6
0
0
0
0
0
0
2
12
4
0
0
0
0
0
0
3
-6
6
0
0
0
0
0
0
6
-8
48
0
0
0
1
0
0
0
3
12
0
0
0
0
0
0
0
-39
13
0
0
0
3
0
0
-3
-14
-5
0
0
0
0
0
0
0
-18
34
0
0
0
3
0
0
2
-23
-18
0
0
0
0
0
0
0
-16
10
0
0
0
0
0
0
-8
4
9
0
0
0
0
0
0
0
30
-4
0
0
0
3
0
0
1
-61
15
0
0
0
0
0
0
0
-2
41
0
0
0
2
0
0
0
11
26
0
0
0
0
0
0
0
53
-26
0
0
0
-12
0
1
-1
-1
13
0
0
0
0
0
0
0
-22
-13
0
0
0
0
0
2
-19
-40
9
0
0
0
0
0
-4
-3
-11
63
0
0
0
0
0
0
8
-69
23
0
0
0
0
0
7
6
-9
-2
0
0
0
0
0
0
0
-5
25
0
0
0
0
0
2
0
-14
13
0
0
0
0
0
-2
-2
9
7
0
0
0
0
7
-6
-4
19
1
0
0
0
0
0
0
5
25
-26
0
0
0
0
3
-2
0
10
11
0
0
0
0
-3
0
-11
9
65
0
0
0
0
3
-3
1
-7
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
-7
-1
1
13
0
0
0
0
0
0
0
-14
7
0
0
0
0
-7
1
-1
-2
-14
0
0
0
0
0
0
-10
-11
13
0
0
0
0
0
7
-4
-3
-25
0
0
0
0
0
0
-1
-5
11
0
0
0
0
0
9
0
-14
19
0
0
0
0
0
0
0
10
24
0
0
0
0
0
-3
0
17
12
0
0
0
0
0
0
0
8
2
0
0
0
0
-1
0
1
-20
-9
0
0
0
0
0
0
-1
8
35
0
0
0
0
0
0
4
-20
-4
0
0
0
0
0
0
0
15
11
0
0
0
0
3
2
-7
-19
56
0
0
0
0
0
0
0
-3
59
0
0
0
0
0
0
-13
-18
40
0
0
0
0
0
0
-1
3
55
0
0
0
0
2
2
-1
-23
3
0
0
1
0
0
-9
-38
-3
56
0
0
0
0
0
-1
2
-22
-11
0
0
0
0
0
0
-4
-25
-23
0
0
0
0
0
0
4
-6
3
0
0
-1
0
0
2
8
2
-19
0
0
0
0
0
2
-7
-24
34
0
0
0
0
0
0
6
-31
21
0
0
0
0
0
-3
-4
-4
-3
0
0
0
0
0
26
-1
2
20
0
0
0
0
0
0
-6
30
-17
0
0
0
0
0
-1
-8
-8
38
0
0
0
0
0
-1
-6
-19
4
0
0
-8
0
0
-8
4
44
-16
0
0
0
0
0
0
-4
-4
25
0
0
0
0
0
0
-1
-2
20
0
0
0
0
0
15
0
-4
2
0
0
0
0
0
-6
5
-35
47
0
0
0
0
0
-3
0
57
-38
0
0
0
0
0
1
13
-9
-34
0
0
0
0
0
0
0
13
17
0
0
-2
0
0
1
17
11
-31
0
0
0
0
0
0
-1
-15
30
0
0
0
0
0
-1
-9
18
6
0
0
0
0
0
4
-1
36
-22
0
0
0
0
0
-3
-25
-1
31
0
0
0
0
0
0
-2
-1
2
0
0
0
3
0
0
6
-29
7
0
0
0
0
1
0
2
-4
-45
0
0
0
0
0
1
-4
27
7
0
0
0
0
0
3
-3
11
19
0
0
0
4
0
-1
-5
-6
13
0
0
0
0
0
-5
2
-4
29
0
0
0
0
0
6
8
-23
-8
0
0
0
0
-4
0
0
-1
8
0
0
0
0
0
0
-2
26
-6
0
0
0
0
0
0
0
12
-3
0
0
0
0
0
-1
-4
-46
-2
0
0
0
0
0
-1
0
-6
-5
0
0
0
0
0
0
-1
-17
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
1
9
0
0
0
0
0
0
0
-44
54
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
2
7
0
0
0
0
0
-1
0
-10
30
0
0
0
0
0
0
0
-20
21
0
0
0
0
0
0
0
2
28
0
0
0
0
-1
0
0
-10
18
0
0
0
0
0
0
0
9
-43
0
0
0
0
0
0
0
-23
9
0
0
0
0
0
0
0
-24
13
0
0
0
0
0
0
0
15
9
0
0
0
0
0
0
0
-42
58
0
0
0
0
0
0
0
-3
-11
0
0
0
0
0
0
0
-23
40
0
0
0
0
0
0
0
43
-38
0
0
0
0
0
0
0
-21
5
0
0
0
0
0
0
0
-40
33
0
0
0
0
0
0
0
-16
4
0
0
0
0
0
0
0
1
43
0
0
0
0
0
0
0
-6
40
0
0
0
0
0
0
-2
41
-4
0
0
0
0
0
0
0
1
31
0
0
0
0
0
-1
0
-19
3
0
0
0
-7
0
-3
-6
-21
47
0
0
0
0
0
0
0
6
24
0
0
0
3
0
0
1
-24
5
0
0
0
0
0
0
0
9
-48
0
0
0
1
0
0
3
-32
41
0
0
0
0
0
0
0
18
5
0
0
0
-15
0
0
-2
13
50
0
0
0
0
0
0
0
-50
-3
0
0
0
0
0
2
3
-8
-12
0
0
0
0
0
0
0
-4
-35
0
0
0
0
0
0
2
-19
21
0
0
0
0
0
0
3
-25
55
0
0
0
0
0
0
0
-25
52
0
0
0
0
0
0
0
16
-55
0
0
0
1
0
0
0
-3
20
0
0
0
0
0
0
0
4
-14
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
-1
-19
0
0
0
-1
0
0
0
-22
0
0
0
0
0
0
0
0
-12
29
0
0
0
0
0
0
1
24
26
0
0
0
0
0
0
0
-34
38
0
0
0
0
0
0
1
-27
-1
0
0
0
0
0
0
0
-12
12
0
0
0
1
0
0
0
0
31
0
0
0
0
1
0
0
-51
29
0
0
0
6
0
1
0
-11
-6
0
0
0
0
0
0
0
-6
8
0
0
0
0
0
0
0
14
14
0
0
0
0
0
0
0
-36
48
0
0
0
-4
0
0
0
7
6
0
0
0
0
0
0
0
16
-40
0
0
0
0
0
10
3
-8
-42
0
0
0
0
0
0
0
-3
29
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
0
9
22
0
0
0
0
0
0
2
-1
20
0
0
0
0
0
0
0
-33
7
0
0
0
0
0
0
1
0
-18
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
2
-24
-4
0
0
0
0
1
0
1
14
21
0
0
0
0
0
0
-3
9
8
0
0
0
0
-7
0
-1
13
31
0
0
0
0
0
0
0
1
38
0
0
0
0
0
-1
0
3
12
0
0
0
0
0
0
0
0
6
0
0
0
0
1
0
0
-4
-6
0
0
0
0
0
0
0
-1
53
0
0
0
0
0
0
0
-48
38
0
0
0
0
0
0
0
-9
18
0
0
0
0
-1
0
0
0
12
0
0
0
0
0
0
0
-7
13
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
9
-42
25
0
0
0
0
0
5
0
-1
28
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
2
-13
7
0
0
0
0
0
0
-3
-25
16
0
0
0
0
1
0
1
-19
7
0
0
0
0
0
0
0
12
-11
0
0
0
0
0
-1
0
-3
2
0
0
0
0
0
-1
1
2
6
0
0
0
0
0
0
-1
11
27
0
0
-1
0
0
2
-28
-13
-3
0
0
0
0
0
0
1
-31
27
0
0
0
0
0
0
6
27
7
0
0
0
0
0
0
0
-4
-1
0
0
-1
0
0
0
-10
-36
42
0
0
0
0
0
0
-1
5
-17
0
0
0
0
0
0
0
55
-22
0
0
0
0
0
0
6
3
-6
0
0
0
0
0
2
-4
-5
26
0
0
0
0
0
0
0
15
19
0
0
0
1
0
-1
2
-20
-21
0
0
0
0
0
0
0
-27
20
0
0
-2
0
0
0
-8
34
8
0
0
0
0
0
0
0
16
-23
0
0
0
2
0
0
0
19
-1
0
0
0
0
0
-2
0
-8
30
0
0
0
0
0
1
0
-19
-10
0
0
0
0
0
0
0
-21
17
0
0
0
0
0
0
0
-29
7
0
0
0
0
0
0
0
-17
1
0
0
11
0
0
0
4
2
-47
0
0
0
0
0
0
0
-6
37
0
0
0
0
0
0
2
16
-13
0
0
0
0
0
0
0
-43
25
0
0
-1
0
0
0
26
-26
33
0
0
0
0
0
0
0
12
12
0
0
0
0
0
0
3
14
-31
0
0
0
0
0
0
0
-57
38
0
0
9
0
0
0
2
-42
4
0
0
0
0
0
0
0
17
14
0
0
0
-5
0
0
2
1
28
0
0
0
0
0
0
0
-17
39
0
0
0
0
0
0
0
-2
-45
0
0
0
0
0
0
0
-19
24
0
0
0
0
0
0
0
12
-7
0
0
0
0
-1
0
0
-35
2
0
0
0
0
0
3
1
22
-32
0
0
0
0
0
0
0
-11
-30
0
0
0
0
0
0
0
-29
2
0
0
0
0
0
9
0
15
-2
0
0
0
0
0
0
-1
18
3
0
0
0
0
0
0
2
-44
-14
0
0
0
0
0
0
2
-6
32
0
0
0
0
-1
-1
6
11
26
0
0
0
0
0
-3
0
-6
35
0
0
0
0
0
0
2
4
11
0
0
0
0
0
1
0
-1
37
0
0
0
0
1
9
0
2
-35
0
0
0
0
0
0
0
-18
-19
0
0
0
0
0
0
0
1
-26
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
-11
35
0
0
0
0
0
0
0
-7
52
0
0
0
0
0
0
0
-35
45
0
0
0
0
0
0
0
-2
35
0
0
0
0
0
-1
0
8
17
0
0
0
0
0
0
-1
8
26
0
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
-10
41
0
0
0
0
0
0
0
14
-9
0
0
0
0
0
0
0
1
6
0
0
0
0
0
-2
0
16
21
0
0
0
0
0
0
0
0
30
0
0
0
0
0
-8
3
6
9
0
0
0
0
0
0
-6
1
23
0
0
0
0
0
0
0
8
10
0
0
0
0
0
0
-3
1
6
0
0
0
0
0
0
-2
0
-11
0
0
0
0
0
-4
-3
6
22
0
0
0
0
0
0
1
0
-2
0
0
0
-4
0
0
-3
-2
-10
0
0
0
0
0
-1
4
0
-3
0
0
0
0
0
0
0
-18
39
0
0
0
0
0
0
0
4
-2
0
0
0
-1
0
-2
1
-9
-28
0
0
0
0
0
0
-2
2
-21
0
0
0
2
0
1
2
-10
17
0
0
0
0
0
7
1
-1
49
0
0
0
18
0
1
0
4
-8
0
0
0
0
4
0
0
0
36
0
0
0
0
0
0
0
4
-41
0
0
0
0
0
0
0
-10
3
0
0
0
0
0
0
0
-12
21
0
0
0
0
0
0
0
-7
13
0
0
0
0
0
0
-1
10
2
0
0
0
0
0
0
0
2
14
0
0
0
6
0
0
0
-4
-8
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
3
29
-16
0
0
0
0
0
0
0
8
5
0
0
0
6
0
0
0
7
8
0
0
0
0
0
0
1
13
3
0
0
0
-9
0
0
0
-24
35
0
0
0
0
0
0
0
4
51
0
0
0
16
0
0
0
2
31
0
0
0
0
0
0
0
8
-9
0
0
0
0
3
0
-5
-9
-10
0
0
0
0
0
0
0
-3
-21
0
0
0
0
0
0
0
1
-28
0
0
0
0
1
0
0
5
-29
0
0
0
0
0
0
-4
1
1
0
0
0
0
0
-4
0
2
6
0
0
0
0
0
0
1
1
7
0
0
0
0
0
-2
0
9
0
0
0
0
0
0
-1
0
-2
41
0
0
0
0
0
-1
-7
-16
-1
0
0
0
0
-1
0
3
-3
-14
0
0
0
0
0
3
4
15
4
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
-2
2
-6
-7
0
0
0
0
2
-2
-1
3
-5
0
0
0
0
4
-11
0
-1
30
0
0
0
0
0
0
0
-15
-8
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
4
-2
-22
0
0
0
0
0
0
0
-11
37
0
0
0
0
0
0
0
10
19
0
0
0
0
0
0
2
-5
-36
0
0
0
0
0
1
-4
2
20
0
0
0
0
3
-5
-2
6
7
0
0
0
0
0
0
0
-39
39
0
0
0
0
0
0
2
-3
23
0
0
0
0
-9
0
12
6
-15
0
0
0
0
-4
0
1
14
1
0
0
0
0
0
0
0
-6
46
0
0
0
0
0
4
0
14
-18
0
0
0
0
0
-1
6
1
-4
0
0
0
0
-4
4
0
9
12
0
0
-7
-28
-53
14
38
-25
13
4
3
0
0
-12
24
-3
31
-23
-41
10
0
18
-7
-17
24
-14
-44
-8
22
0
0
-2
-11
-38
27
29
-83
19
-13
-21
2
-19
-19
-16
6
2
17
0
0
13
4
20
-3
-29
-1
53
0
0
0
2
-7
-5
-48
45
-58
0
0
0
-1
5
-19
-16
-50
31
-14
0
-3
9
-57
35
38
-1
0
0
0
2
-2
-9
15
13
-18
0
0
2
-3
2
38
1
29
-32
0
0
0
-1
-7
1
0
35
54
0
4
0
0
-2
-12
-15
12
-12
0
0
0
0
-1
-8
3
-5
-18
0
0
0
0
1
0
6
7
-49
0
0
0
0
0
1
1
-3
-26
0
1
0
-20
13
-11
14
-25
0
0
0
0
0
-4
27
2
-13
0
0
0
1
0
0
-9
28
23
0
0
0
0
0
-1
-8
1
-6
0
0
0
7
0
10
6
-17
-30
0
0
0
0
0
-4
-10
-37
18
0
0
0
2
0
0
9
-4
-17
0
0
0
0
0
0
0
4
-8
0
0
0
0
0
14
-3
-38
-2
0
0
0
0
0
-1
1
3
8
0
0
0
0
0
0
-1
0
-20
0
0
0
0
0
3
0
-3
-2
0
0
0
0
0
1
9
-37
-3
0
0
0
0
0
0
-1
-3
-10
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-1
0
3
0
0
0
0
1
-36
22
-4
36
40
-15
0
0
-1
5
9
20
-53
-11
39
0
0
-2
-4
0
-2
-10
-23
43
0
0
-6
1
-17
-12
-4
-26
20
0
0
3
-3
19
50
-14
2
-40
0
0
-3
4
7
-26
10
2
-53
0
0
0
1
-1
-48
32
-32
-3
0
0
1
-8
-1
11
-11
-35
-29
0
0
-4
-2
10
-4
28
15
0
0
0
-2
-6
1
10
41
-41
0
0
0
0
0
-1
-24
-5
24
0
0
0
0
0
-3
-9
59
47
0
0
0
0
0
-2
0
-14
-3
0
0
0
0
0
9
3
6
-33
0
0
0
0
0
0
-7
8
-18
0
0
0
2
0
0
-8
-4
-32
0
0
0
0
-8
2
-36
-6
0
0
0
0
0
-2
-7
17
-16
0
0
0
0
0
0
-1
-3
1
0
0
0
0
0
1
-2
11
0
0
0
0
0
0
0
-4
-1
-16
0
0
0
0
0
1
-1
16
4
0
0
0
0
0
0
-8
3
4
0
0
0
0
0
0
1
-1
-4
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
-1
-12
3
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
-1
-20
2
0
0
0
0
0
0
0
10
0
0
0
0
0
0
-1
0
-12
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
-1
0
0
0
0
59
8
16
-13
-11
-35
-6
15
0
0
-2
0
15
31
24
4
-38
0
0
0
0
-2
-4
44
1
1
0
0
0
7
6
-1
-14
45
5
0
0
0
-1
16
-43
21
-57
29
0
0
0
1
-2
36
7
0
-34
0
-10
0
0
2
-27
3
14
-16
0
0
0
0
-10
-20
-11
-8
42
0
-4
0
-3
2
-24
-30
5
0
0
0
0
-1
-11
-5
4
38
0
0
-2
0
0
10
10
-17
-18
0
0
0
0
0
-1
-16
2
22
0
0
0
0
0
-4
0
2
-4
0
0
0
0
0
-2
7
6
39
0
0
0
0
-1
1
9
11
9
0
0
0
0
0
-1
2
-14
0
0
0
10
0
-6
-19
-18
26
0
0
0
0
-1
-3
-12
-3
-13
0
0
0
0
0
0
6
-3
7
0
0
0
0
0
-2
1
1
12
0
0
0
0
0
0
-13
0
4
0
0
0
0
0
0
-7
4
-23
0
0
0
-2
0
0
2
-1
2
0
0
0
0
0
0
-6
0
22
0
0
0
0
0
0
1
-13
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
8
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-16
-8
-12
12
85
-47
0
0
-1
7
-12
14
15
25
-2
0
0
1
2
23
-3
8
7
11
0
0
-6
-3
16
6
42
28
10
0
0
0
-1
0
0
12
-100
97
0
0
6
-7
19
10
9
-11
-3
0
0
0
-1
2
-15
12
-16
-11
0
0
10
0
1
-8
-10
-22
11
0
0
0
9
16
16
-7
29
0
0
0
0
9
1
-19
4
-38
0
0
0
0
-1
11
0
12
-11
0
0
0
0
-6
0
5
16
-25
0
0
0
0
0
0
2
9
-15
0
0
0
0
0
-1
0
7
3
0
0
0
0
0
0
2
7
7
0
0
0
0
0
0
-3
-2
8
0
0
0
0
1
-8
3
11
0
0
0
0
1
-6
0
14
22
0
0
0
0
0
0
3
2
-1
0
0
0
0
0
0
2
4
16
0
0
0
0
0
0
-4
-1
12
0
0
0
0
0
2
4
1
10
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-3
-1
-7
0
0
0
0
0
0
-2
-1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
-1
0
-2
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
0
0
-1
1
0
0
0
0
1
0
0
0
-3
0
0
-5
0
0
-21
-9
23
45
14
-30
0
0
-1
-15
-14
-1
-45
-52
66
0
1
0
-4
-2
6
14
-6
9
0
0
0
0
-6
-1
9
-8
7
15
0
0
0
8
-14
-29
-12
19
0
0
0
0
-4
-2
-13
28
16
0
0
0
0
-18
4
0
-35
43
0
0
0
2
0
-2
-2
-1
51
-4
0
0
3
26
1
12
-20
0
0
0
0
0
-3
23
-13
-16
0
0
0
0
0
7
3
-11
-32
0
0
0
0
-2
1
-3
-1
22
0
-2
0
0
0
8
-1
6
-41
0
0
0
0
1
1
-4
-8
-23
0
0
0
0
0
-1
0
5
23
0
0
0
0
0
-1
0
-1
-21
0
-1
0
0
-4
-16
-13
52
0
0
0
0
0
1
1
-5
-35
0
0
0
0
0
0
-9
-1
3
0
0
0
0
0
0
0
3
0
0
0
-11
0
0
1
15
-15
30
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
0
4
-4
9
0
0
0
0
0
0
0
3
4
0
0
0
0
0
-2
-3
8
-23
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
0
0
-2
19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-3
4
1
-8
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
2
0
0
0
0
-3
4
-13
-4
-21
-19
7
0
0
1
2
-1
-14
-1
-9
-13
0
0
0
-2
18
-6
2
19
-75
0
0
-1
-8
6
8
37
-27
-9
0
0
0
0
-15
21
4
-50
28
0
0
0
2
6
-13
0
39
-56
0
0
0
0
1
-12
-3
23
35
0
0
0
0
0
13
-3
-7
17
0
0
0
0
-2
-11
-5
-8
0
0
0
0
0
1
-1
-12
42
0
0
0
0
0
1
-15
0
14
0
0
0
0
1
0
2
4
12
0
0
0
0
0
-2
-1
1
7
0
0
0
0
-1
0
0
-16
23
0
0
0
0
0
2
1
7
24
0
0
0
0
0
0
4
1
11
0
0
0
0
-3
-11
1
1
0
0
0
0
0
0
-1
-10
10
0
0
0
0
0
-1
0
0
-22
0
0
0
0
0
0
0
-11
6
0
0
0
0
0
-1
1
-13
-8
0
0
0
0
0
0
0
-8
6
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
-3
0
16
0
0
0
0
0
0
-9
-3
-1
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
-2
5
-6
-5
-1
-7
14
0
0
0
0
12
-2
-6
31
-40
0
-18
0
0
11
8
17
48
-51
0
0
0
0
-10
-4
24
-5
42
0
1
0
2
0
6
-11
7
3
0
0
0
0
0
1
0
-9
32
0
-2
0
0
0
-6
2
2
30
0
0
0
-2
2
0
0
19
18
0
0
0
0
0
4
18
-29
0
0
0
0
0
1
16
13
-10
0
0
-8
0
-1
0
16
16
-20
0
0
0
0
0
-2
-2
-11
40
0
0
0
0
0
2
13
4
7
0
0
0
0
0
1
0
6
-15
0
0
-2
0
0
-2
-1
-3
20
0
0
0
0
0
0
0
1
-2
0
0
-1
0
1
-8
-1
13
0
0
0
0
0
0
-2
-28
4
0
0
0
1
0
0
2
-5
28
0
0
0
0
0
0
-4
-4
2
0
0
0
0
0
0
-4
7
-18
0
0
0
0
0
0
-2
-4
1
0
0
0
0
0
0
0
-11
-1
0
0
0
0
0
-3
0
0
8
0
0
0
0
0
0
0
3
-18
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-1
2
8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-12
-1
-14
6
9
-20
0
0
1
-7
0
6
9
28
9
0
0
0
-2
9
-22
7
9
41
0
0
-11
0
0
-1
-9
-1
36
0
0
0
1
4
0
8
-25
-18
0
0
0
1
0
0
0
-1
19
0
0
0
0
0
0
0
28
-11
0
0
-1
32
3
-1
1
4
15
0
0
0
-1
1
-7
-19
44
0
0
0
0
1
0
-9
8
-1
0
0
0
0
0
-1
8
-6
-17
0
0
0
0
-1
0
-9
-4
-15
0
0
0
0
0
-1
3
0
6
0
0
0
0
0
1
0
1
7
0
0
0
0
0
-1
-1
0
-6
0
0
0
0
-1
0
0
0
-13
0
0
0
0
-3
6
12
-19
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
-1
-1
0
0
0
0
0
0
-1
9
1
-6
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
1
1
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
1
0
0
1
-1
3
-5
-21
7
5
-37
0
0
0
0
3
-10
-23
2
35
0
0
0
0
1
6
-39
-45
23
0
0
0
0
0
-7
3
2
-16
0
0
0
0
3
11
-6
17
-23
0
0
0
0
0
16
-15
11
7
0
0
0
0
0
-1
3
14
-32
0
0
0
0
0
0
1
-13
-6
0
0
0
3
-10
-3
1
26
6
0
0
0
0
-2
-3
-2
-16
15
0
0
0
0
-3
-1
7
-20
21
0
0
0
0
0
0
7
4
-30
0
-2
0
0
-1
7
4
2
0
0
0
0
0
0
0
11
-18
-8
0
0
0
0
0
0
1
-14
-2
0
0
0
0
0
0
0
27
7
0
0
0
0
-2
-8
1
6
0
0
0
0
1
-2
0
-22
-21
0
0
0
0
0
0
5
3
24
0
0
0
0
0
0
-3
-3
13
0
0
0
0
0
1
-8
0
4
0
0
0
0
0
0
1
-8
9
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
10
6
-14
-22
0
0
0
0
0
0
1
3
2
0
0
0
0
0
0
0
2
20
0
0
0
0
0
0
1
0
19
0
0
0
0
0
2
4
4
7
0
0
0
0
0
0
0
2
24
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
0
-7
0
0
0
0
8
-7
-6
19
-12
-11
0
0
0
1
6
-7
0
-29
36
0
0
0
0
0
15
-15
-15
16
0
0
0
0
0
2
-7
-3
-1
0
0
0
0
0
-6
9
-26
12
0
0
0
0
1
4
-12
3
-7
0
0
0
0
0
0
0
5
8
0
0
0
0
0
-1
-3
-11
-12
0
0
0
0
1
-10
-3
26
-45
0
0
0
0
-1
0
0
1
-31
0
0
0
0
0
3
-2
-6
-4
0
0
0
0
0
-1
0
13
-21
0
0
0
0
0
0
-6
0
19
0
0
0
-3
0
0
0
19
16
0
0
0
0
0
0
1
-9
44
0
0
0
0
0
0
0
-1
22
0
0
0
1
0
8
7
3
0
0
0
0
0
0
0
-19
-17
0
0
0
0
0
0
0
-9
11
0
0
0
0
0
0
0
3
-26
0
0
0
0
0
0
-1
12
16
0
0
0
0
0
0
1
1
-8
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
13
14
0
0
0
0
0
0
0
-7
21
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
11
1
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
1
-35
5
-9
7
-32
0
0
0
0
-1
-6
-29
1
25
0
0
1
0
1
-1
-7
5
-19
0
0
0
-3
0
-1
-3
4
7
0
0
0
0
1
-6
-9
12
-6
0
0
0
0
0
0
-16
38
20
0
0
-1
0
0
4
3
-16
10
0
0
0
-1
0
0
-2
9
-28
0
0
0
0
0
-3
-7
11
-38
0
0
0
1
0
0
9
7
8
0
0
0
0
0
0
2
0
-24
0
0
0
0
0
-6
0
-22
-5
0
0
0
0
0
-2
-7
7
-14
0
0
0
0
0
0
0
-1
11
0
0
0
0
0
2
3
13
-19
0
0
0
0
0
0
-1
-11
53
0
0
0
0
0
9
-10
3
0
0
0
0
0
0
8
1
6
0
0
0
0
0
0
3
13
-16
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-4
3
-4
0
0
0
0
0
0
-7
4
-1
0
0
0
0
0
0
0
-4
-3
0
0
0
0
1
0
0
1
-3
0
0
0
0
0
1
0
-22
-9
0
0
0
0
0
0
0
0
8
0
0
0
-1
0
0
0
8
7
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
-44
17
-9
28
0
0
0
0
-11
11
-10
-10
-9
0
0
0
0
0
0
-3
0
15
0
0
0
0
2
-7
0
-1
2
0
0
0
0
-1
12
-3
20
-6
0
0
0
0
4
-2
0
8
-26
0
0
0
0
0
-1
0
8
4
0
0
0
-1
3
6
-7
7
-47
0
0
0
1
0
-1
-2
-2
4
0
0
0
-1
0
2
-6
8
44
0
0
0
0
0
-3
1
16
-7
0
0
0
0
1
0
0
-4
-20
0
0
0
0
0
0
-1
-1
-5
0
0
0
0
0
2
1
-7
-39
0
0
0
0
0
0
0
2
44
0
0
0
0
0
0
0
-2
11
0
0
0
0
0
3
1
-18
0
0
0
0
0
0
1
-6
3
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
4
1
1
0
0
0
0
0
0
2
0
-7
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
1
0
0
6
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-1
13
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
1
2
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
-1
1
4
0
0
-10
0
1
2
13
-32
-17
27
0
0
0
0
2
4
-6
16
-48
0
0
0
0
0
-3
-11
-32
-9
0
0
0
0
0
0
1
5
-2
0
20
0
0
0
-3
0
18
-10
0
0
0
1
-1
1
-3
-8
-13
0
0
0
0
0
0
10
6
-18
0
0
0
0
0
0
-1
3
37
0
0
0
0
2
9
13
5
-24
0
0
0
0
0
2
-2
-34
-28
0
0
0
0
0
0
2
8
5
0
0
0
0
0
0
0
3
-3
0
9
0
0
0
-17
0
-10
34
0
0
0
0
0
0
-2
-9
40
0
0
0
0
0
0
0
-15
30
0
0
0
0
0
-1
1
3
25
0
0
0
0
-1
-24
1
1
0
0
0
0
0
0
0
-1
20
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
-2
0
0
-2
0
0
0
-13
-6
18
0
0
0
0
-1
0
0
-3
9
0
0
0
0
0
0
1
1
-3
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-1
-7
14
13
0
0
0
0
0
0
0
3
11
0
0
0
0
0
0
0
3
-9
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
-6
0
-8
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
-9
6
-11
21
2
0
0
0
0
0
0
0
-13
-17
0
0
0
0
1
0
1
2
19
0
0
0
0
0
0
4
11
8
0
0
0
0
0
0
-16
19
-29
0
0
0
0
0
1
-1
-10
-17
0
0
0
0
0
0
1
2
68
0
0
0
0
0
0
0
-1
-6
0
0
0
1
4
-1
2
-11
-20
0
0
0
0
0
0
-3
-30
-46
0
0
0
0
1
1
0
19
7
0
0
0
1
0
0
0
-10
66
0
0
0
0
1
1
-3
-3
33
0
0
0
0
0
0
-6
-3
20
0
0
0
0
0
0
0
15
-33
0
0
0
-1
0
-2
3
11
-35
0
0
0
0
0
0
-13
-1
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
2
0
0
0
0
0
2
-1
0
-10
0
0
0
0
1
0
0
-3
4
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-13
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
-1
0
2
11
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
-7
0
0
0
-9
-1
4
9
-8
-4
2
0
0
0
0
0
0
1
-1
6
0
0
11
0
0
-1
6
-7
15
0
0
0
0
0
0
0
2
13
0
0
1
0
0
3
2
0
17
0
0
0
0
0
0
1
0
28
0
0
2
0
0
0
-3
7
-24
0
0
0
0
0
0
0
1
-2
0
0
0
0
-1
0
-4
-4
-83
0
0
0
0
0
0
0
1
36
0
0
0
0
0
1
-1
-10
20
0
0
0
0
0
-1
0
17
-24
0
0
0
0
0
-1
0
5
10
0
0
0
0
0
1
0
19
30
0
0
-1
0
0
0
0
-24
39
0
0
0
0
0
0
-1
-1
-63
0
0
0
0
0
1
6
0
0
0
0
0
0
0
-2
-4
-17
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
-3
-11
0
0
0
0
0
0
0
-2
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
-1
-8
1
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
1
0
0
0
1
-4
0
0
0
0
0
0
1
0
-3
0
0
0
-1
0
0
0
0
7
0
0
0
0
0
-1
0
2
6
0
0
0
0
-4
-7
-2
6
12
0
0
0
0
-2
2
0
0
0
34
0
0
0
0
0
0
-4
-1
19
0
0
0
1
0
3
0
-6
-11
0
0
0
0
-1
-1
0
0
29
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
-1
1
1
41
0
0
0
1
1
0
1
0
11
0
0
0
0
0
-1
0
3
-36
0
0
0
4
0
0
0
0
-18
0
0
0
0
0
-1
1
-3
-9
0
0
0
-3
0
0
0
15
3
0
0
0
0
0
-1
0
-4
-1
0
0
0
-1
0
0
0
-3
27
0
0
0
0
0
0
0
-13
16
0
0
0
1
0
0
0
4
-10
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
12
1
-10
-53
-9
-4
72
0
0
0
0
-3
8
-4
-17
18
0
0
0
-1
-1
21
4
16
-26
0
0
0
0
-1
-2
0
-25
8
0
0
2
0
2
-6
-27
30
19
0
0
0
0
0
0
18
-40
3
0
0
0
0
0
0
-4
11
-23
0
0
0
0
0
1
-1
-12
12
0
0
0
0
1
1
1
-13
20
0
0
0
0
0
0
0
-18
-19
0
0
0
0
0
0
1
9
18
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
6
1
-15
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
-1
-1
2
0
0
0
0
0
0
0
0
3
0
0
0
0
-1
-8
8
16
-10
0
0
0
0
0
2
-1
-6
34
0
0
0
0
0
-2
-6
2
-9
0
0
0
0
0
0
0
0
-5
0
0
0
-2
0
-1
0
-24
16
0
0
0
0
0
1
13
-16
-18
0
0
0
0
0
0
0
-9
9
0
0
0
0
0
0
0
-6
2
0
0
0
0
0
2
-6
-29
50
0
0
0
0
0
0
0
-7
-1
0
0
0
0
0
1
2
-16
-3
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
-23
-9
0
0
0
0
0
0
0
-6
-25
0
0
0
0
0
0
1
17
-19
0
0
0
0
0
0
0
0
4
0
0
0
0
18
4
-6
2
-6
0
0
0
0
-1
4
1
12
-3
0
0
0
0
2
0
-3
-13
-13
0
0
0
0
0
0
-1
-32
1
0
0
0
0
0
1
-3
-20
10
0
0
0
0
0
-1
-4
44
-37
0
0
0
0
0
0
0
6
17
0
0
0
0
0
2
0
-15
-9
0
0
0
0
0
-3
-1
-1
-9
0
0
0
0
0
0
2
6
5
0
0
0
0
0
-1
0
2
-1
0
0
0
0
0
0
-1
-22
4
0
0
0
0
0
-1
6
-4
29
0
0
0
0
0
0
0
-8
15
0
0
0
0
0
0
0
-11
3
0
0
0
0
0
0
0
1
3
0
0
0
0
0
2
-8
-5
25
0
0
0
0
0
-2
0
9
-19
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
7
18
0
0
0
0
0
0
4
-9
39
0
0
0
0
0
2
-3
22
39
0
0
0
0
0
0
0
-1
-42
0
0
0
0
0
0
1
-1
-21
0
0
0
0
0
0
4
-7
1
0
0
0
0
0
0
0
-2
-28
0
0
0
0
0
0
0
8
-15
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
1
-7
1
0
0
0
0
0
0
0
-3
9
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
-1
11
0
0
0
-12
0
-1
13
-43
31
0
0
0
0
0
0
-6
-26
6
0
0
0
1
0
0
-10
-1
-35
0
0
0
0
0
0
7
7
-10
0
0
0
0
0
-2
2
21
-18
0
0
0
0
0
-1
9
-19
35
0
0
0
0
0
0
0
-6
34
0
0
0
0
0
0
4
16
21
0
0
0
0
0
0
-9
-29
-8
0
0
0
0
0
0
1
-1
1
0
0
0
0
0
0
0
13
3
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
2
1
8
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
10
0
0
0
-1
0
-1
-8
0
-37
0
0
0
0
0
0
1
18
3
0
0
0
0
0
0
-7
-13
-6
0
0
0
0
0
0
-2
-4
-6
0
0
0
0
0
0
-24
-4
-9
0
0
0
0
0
0
-2
-3
-1
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
-3
1
-2
2
0
0
0
0
0
0
0
-12
21
0
0
0
0
0
2
2
-2
-30
0
0
0
0
0
0
0
1
7
0
0
0
0
0
0
0
7
15
0
0
0
0
0
0
0
-8
-16
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
-4
20
5
-9
0
0
0
0
0
0
-19
7
28
0
0
0
0
0
-1
-3
0
-8
0
0
0
0
0
0
-2
12
20
0
0
0
0
0
2
-1
-9
32
0
0
0
0
0
0
-8
-22
21
0
0
0
0
0
0
0
-4
-1
0
0
0
0
-1
1
-3
13
-13
0
0
0
0
0
0
-2
-9
8
0
0
0
0
0
0
0
7
3
0
0
0
0
0
0
-1
1
-7
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-6
-1
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
7
-17
-4
0
0
0
0
0
0
1
-3
34
0
0
0
0
0
0
0
10
6
0
0
0
0
0
0
0
-3
-13
0
0
0
0
0
0
0
0
5
0
0
0
0
-2
2
0
7
-16
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
2
-4
1
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
-1
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
-1
3
0
0
0
0
0
0
0
-1
4
0
0
-32
0
0
-19
-27
17
19
0
0
0
0
0
2
20
-20
-35
0
0
0
0
0
0
-4
-35
-10
0
0
0
0
0
0
0
2
27
0
0
10
0
0
8
0
-7
12
0
0
0
0
0
0
-3
-10
25
0
0
0
0
0
0
-2
11
37
0
0
0
0
0
0
-1
-2
3
0
0
1
0
0
-7
0
-14
34
0
0
0
0
0
0
-1
20
-15
0
0
0
0
0
0
1
-3
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
-28
17
0
0
0
0
0
-4
0
0
21
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
-4
1
26
0
0
0
0
0
1
1
-9
29
0
0
0
0
0
0
0
-15
-5
0
0
0
0
0
0
0
-1
35
0
0
0
0
0
2
0
-8
-27
0
0
0
0
0
0
8
-5
-3
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
2
-2
3
8
0
0
0
0
0
0
0
-13
9
0
0
0
0
0
0
0
-11
39
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
7
-4
0
0
0
0
0
0
1
4
-7
0
0
0
0
0
0
0
-13
18
0
0
0
0
0
0
0
1
1
0
0
0
0
0
7
9
-3
34
0
0
0
0
0
9
-1
7
12
0
0
0
0
-1
-1
0
-6
35
0
0
0
0
0
0
2
9
1
0
0
0
0
0
1
0
1
-9
0
0
0
0
0
-2
-7
-10
3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
2
-1
11
3
0
0
0
0
0
-1
6
15
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-8
7
0
0
0
0
0
0
3
4
7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-3
0
-9
0
0
0
0
0
0
1
0
-3
0
0
0
0
0
0
2
18
-26
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
-1
-3
-2
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-10
-6
0
0
0
0
0
0
0
-14
-17
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
-17
21
0
0
0
0
0
0
2
4
3
0
0
0
0
0
3
0
-10
-4
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
7
-17
0
0
0
0
0
0
3
2
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-12
11
0
0
0
2
0
-4
10
-22
-23
0
0
0
0
0
0
0
1
2
0
0
0
-4
0
-1
6
-7
6
0
0
0
0
0
0
1
-1
8
0
0
0
0
0
0
-2
-13
-13
0
0
0
0
0
0
0
8
-3
0
0
0
0
0
0
12
-9
-16
0
0
0
0
0
1
7
2
3
0
0
0
0
0
0
0
-4
-4
0
0
0
0
0
0
1
0
3
0
0
0
1
0
0
0
-1
10
0
0
0
0
0
0
0
0
8
0
0
0
1
0
0
-2
-9
2
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
3
0
-11
-9
0
0
0
0
0
1
0
-2
-3
0
0
0
0
0
1
0
10
11
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-1
-1
10
0
0
0
0
0
0
0
-13
3
0
0
0
1
0
0
1
-1
-2
0
0
0
0
0
3
0
0
-3
0
0
0
0
0
3
0
0
-32
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
-3
19
0
0
0
0
0
0
0
-2
13
0
0
0
0
0
0
2
2
-8
0
0
0
0
0
0
-1
3
6
0
0
0
-1
0
0
0
-4
4
0
0
0
0
0
0
1
2
1
0
0
0
0
0
-2
-3
5
0
0
0
0
0
-1
1
4
8
1
0
0
0
0
0
0
0
-6
-8
0
0
0
0
-1
1
-7
0
2
0
0
0
0
0
0
1
-1
-4
0
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
-3
1
7
0
0
0
0
1
-1
4
2
-2
0
0
0
0
0
0
0
1
-9
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
7
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
0
-3
6
0
0
0
0
0
-4
0
-1
6
0
0
0
0
0
0
0
7
1
0
0
0
0
0
1
0
-1
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
-1
-1
0
0
0
0
0
0
0
1
-7
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
-1
0
-1
-11
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
-1
10
0
0
0
0
0
0
0
1
6
0
0
0
0
1
-4
-26
-22
3
0
0
0
0
-2
-2
3
22
-8
0
0
0
0
0
0
-33
9
-3
0
0
0
0
0
0
0
-13
1
0
0
0
0
0
0
-6
-9
2
0
0
0
0
0
-1
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
-1
11
-17
-10
0
0
0
0
0
0
0
8
11
0
0
0
0
0
1
6
-1
-5
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
8
13
-23
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
1
0
-20
0
0
0
0
0
0
0
0
10
0
0
0
0
0
-6
-16
33
8
0
0
0
0
0
1
0
18
-24
0
0
0
0
0
-1
1
16
-3
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
-7
-3
21
0
0
0
0
0
0
1
-1
5
0
0
0
0
0
-1
0
-21
-15
0
0
0
0
0
0
0
0
7
0
0
0
0
0
3
1
17
-9
0
0
0
0
0
0
0
0
23
0
0
0
0
0
0
0
-1
-20
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
-2
6
-16
0
0
0
0
0
-1
0
-11
7
0
0
0
0
0
0
0
-3
17
0
0
0
0
0
0
0
-3
18
0
0
0
0
0
4
13
-37
19
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
-2
12
0
0
0
0
0
0
-1
3
22
0
0
0
0
0
0
-1
-10
-1
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-2
16
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
1
-1
-4
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
-12
1
0
0
0
0
0
0
1
1
-10
0
0
0
0
0
0
0
3
10
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
1
-4
9
35
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
0
3
8
0
0
0
0
0
0
0
-11
-4
0
0
0
0
0
0
0
18
-11
0
0
0
0
0
0
0
-2
-7
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
21
21
0
0
0
0
0
0
0
4
20
0
0
0
0
0
0
0
3
20
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
9
-8
0
0
0
0
0
0
0
-3
18
0
0
0
0
0
0
0
6
2
0
0
0
0
0
0
0
1
-20
0
0
0
0
0
7
7
-20
21
0
0
0
0
0
0
0
-2
22
0
0
0
0
0
0
-8
-10
1
0
0
0
0
0
1
2
-10
8
0
0
0
0
0
0
0
8
25
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-3
-10
0
0
0
0
0
-1
-2
-6
-4
0
0
0
0
0
0
0
-1
-19
0
0
0
0
0
0
0
-1
-15
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
-7
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
11
0
0
0
1
0
0
2
0
-11
0
0
0
0
0
0
0
-1
18
0
0
0
-2
0
0
0
3
-17
0
0
0
0
0
0
-3
-2
0
0
0
0
1
0
0
0
9
-9
0
0
0
0
0
0
0
4
-20
0
0
0
0
0
0
0
6
8
0
0
0
0
0
0
0
1
8
0
0
0
0
0
1
-2
6
20
0
0
0
0
0
0
0
0
20
0
0
0
1
0
0
0
1
14
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-2
3
-15
0
0
0
0
0
0
0
4
-18
0
0
0
0
0
0
-1
-2
-3
0
0
0
0
0
0
3
1
3
0
0
0
0
-3
1
16
-12
12
0
0
0
0
1
1
0
2
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
-1
-3
0
0
0
0
0
0
0
-6
8
0
0
0
0
0
0
-1
-7
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
1
-35
0
0
0
0
0
0
0
3
-7
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
1
0
-12
0
0
0
0
0
0
1
-4
-6
0
0
0
0
0
0
0
6
-4
0
0
0
0
0
0
1
-9
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
-6
7
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
9
-10
0
0
0
0
0
0
0
-8
-16
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
-2
-6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
-11
0
0
0
0
-1
0
0
3
-2
0
0
-9
0
0
0
5
-20
16
0
0
0
0
0
0
4
-15
3
0
0
0
0
0
0
0
4
22
0
0
0
0
0
0
0
-1
-1
0
0
1
0
0
0
1
-22
-30
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
-2
-10
0
0
0
0
0
0
-1
0
-13
0
0
0
0
0
-1
0
0
-16
0
0
0
0
0
0
-1
0
-6
0
0
0
0
0
0
3
3
7
0
0
0
0
0
3
0
-3
-2
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
27
0
0
0
0
0
0
16
-12
-1
0
0
0
0
0
0
-1
-1
15
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
4
26
-2
0
0
0
0
0
1
1
1
-9
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
0
2
-10
0
0
0
0
0
1
-3
-18
44
0
0
0
0
0
0
1
12
-19
0
0
0
0
0
0
0
18
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
34
30
0
0
0
0
0
0
0
9
3
0
0
0
0
0
0
0
-2
48
0
0
0
0
0
0
-1
4
0
0
0
0
0
-1
-8
-1
16
-15
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
1
3
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
-2
0
6
-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
13
0
0
0
0
0
-1
-2
4
17
0
0
0
0
0
0
-3
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
-2
-3
1
0
0
0
0
0
-1
0
-27
6
0
0
0
0
0
-1
0
3
-4
0
0
0
0
0
0
0
2
18
0
0
0
0
0
1
0
3
22
0
0
0
0
0
0
0
-10
-11
0
0
0
0
0
0
-1
2
-2
0
0
0
0
0
0
0
4
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
10
-4
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
19
0
0
0
0
0
1
0
-4
25
0
0
0
0
0
0
0
2
22
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
0
6
-24
0
0
0
0
0
0
7
0
-12
0
0
0
0
0
-2
1
0
-10
0
0
0
-1
0
0
2
0
1
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
-6
-2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-4
0
0
0
0
0
0
0
0
-13
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
7
0
0
0
0
0
0
-3
-3
15
0
0
0
0
0
0
-4
0
7
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
1
3
0
0
0
-3
0
0
0
4
21
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
6
20
0
0
0
0
0
0
0
1
18
0
0
0
-3
0
0
0
2
25
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-3
-7
0
0
0
0
0
0
1
1
20
0
0
0
1
0
0
0
0
37
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
-12
9
-1
24
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
2
-1
11
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
18
0
0
0
0
0
-2
0
-7
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
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
7
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
9
1
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-4
3
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
9
15
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
-2
0
-6
0
0
-8
-7
-10
5
14
19
-26
-3
-2
0
0
0
-18
-10
-9
-25
9
-45
0
8
1
-1
7
-18
8
-4
8
0
0
1
14
6
18
9
-49
3
12
0
0
14
4
-26
-14
-8
0
0
0
0
8
14
-8
16
17
-45
0
-1
-2
-10
-1
21
9
-14
5
0
0
-1
-3
-3
3
-9
65
20
-8
0
-1
-29
-8
-22
-2
-5
0
0
0
0
10
3
-29
-10
-26
0
0
0
0
0
23
-82
20
-9
0
0
0
0
0
1
-10
15
-44
0
15
0
0
-9
10
-22
-6
11
0
0
0
-2
1
6
-16
1
8
0
0
-1
0
-1
7
10
-16
-18
0
0
0
0
1
-3
0
1
-12
0
-10
0
-1
-7
16
-70
68
0
0
0
0
2
-13
7
-30
0
0
0
0
-2
0
8
7
-3
-25
0
0
0
0
0
0
-7
-3
19
0
0
-9
0
0
18
-45
8
0
0
0
0
0
0
0
4
-6
23
0
0
0
2
0
0
29
-28
-29
0
0
0
0
3
0
1
7
-29
0
0
0
0
0
-1
-5
-21
6
0
0
0
0
-1
0
7
-5
-7
0
0
0
-1
0
0
-19
6
33
0
0
0
0
0
-1
13
-9
4
0
0
0
0
0
-1
12
8
18
0
0
0
0
0
0
2
11
-6
0
0
0
0
0
0
0
2
12
0
0
0
0
0
-1
-1
-1
4
0
0
0
0
-14
19
-6
-20
29
-22
34
0
0
8
15
-22
-30
72
-31
-7
0
0
0
-12
3
28
-6
4
8
0
0
3
1
10
-33
-3
-29
65
0
0
0
-3
4
-32
11
8
3
0
0
1
-8
-19
-15
3
-19
14
0
0
0
3
13
12
-3
33
1
0
0
-13
6
10
-10
-7
72
-7
0
0
-1
4
-10
6
20
29
0
0
0
-3
-4
9
11
-37
-5
0
0
0
0
0
6
-6
7
-29
0
0
0
-3
-6
12
8
-4
19
0
0
0
0
0
1
6
18
-14
0
0
0
0
1
-1
-3
3
0
0
0
0
0
0
-3
-9
45
9
0
0
0
-1
1
-1
4
0
10
0
0
0
0
-39
9
-23
10
0
0
0
0
0
10
-34
34
-81
0
0
0
0
0
-1
-10
12
28
0
0
0
0
1
2
-6
14
20
0
0
0
0
0
-4
15
-14
-37
0
0
0
0
0
1
-3
13
-7
0
0
0
0
0
0
2
-16
-6
0
0
0
0
0
0
-9
13
10
0
0
0
0
0
1
-2
-19
-1
0
0
0
0
0
0
4
-1
8
0
0
0
0
0
0
1
16
0
0
0
0
0
0
0
0
-12
16
0
0
0
0
0
0
7
10
5
0
0
0
0
0
0
-1
3
-28
0
0
0
0
0
1
0
0
32
0
0
0
0
0
0
0
8
7
0
0
0
3
1
-12
14
-24
-4
-15
21
0
0
-1
7
0
23
56
14
35
0
-6
0
3
-17
-5
-13
7
-21
0
0
-3
-10
-15
17
28
54
-5
0
-2
0
1
7
-15
5
-64
-11
0
0
0
-8
-10
-1
9
44
13
0
-8
0
-3
-6
-7
9
18
14
0
0
0
6
-10
7
-2
10
-4
0
-1
0
0
8
-17
23
-38
0
0
0
0
1
-2
13
-1
16
0
0
-2
0
-2
1
4
2
-13
0
0
0
0
0
-8
6
18
14
0
0
0
0
1
-2
-18
1
-17
0
0
0
0
1
-2
1
-7
14
0
0
6
0
0
-4
8
14
11
0
0
0
0
0
0
2
0
-15
0
0
-3
-2
-2
13
-10
-20
0
0
0
0
0
-1
-7
16
-4
0
0
0
0
0
0
6
-14
10
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-19
14
0
0
0
0
0
0
-19
-18
25
0
0
0
-1
0
0
-1
9
28
0
0
0
0
0
1
12
-10
-6
0
0
0
0
0
0
-2
5
-23
0
0
0
0
0
0
-3
13
-7
0
0
0
0
0
1
-6
-2
23
0
0
0
0
0
0
-7
-2
5
0
0
0
0
0
0
-1
11
-15
0
0
0
0
0
0
0
1
1
0
0
0
2
0
0
-2
-2
6
0
0
0
0
0
0
0
-6
10
0
0
0
0
-20
1
18
-13
3
8
1
0
0
14
-11
31
9
-13
15
-19
0
0
-4
-4
32
-8
-5
0
18
0
0
-7
-7
3
32
-2
2
-12
0
0
-1
-6
0
-3
18
-25
56
0
0
2
-2
15
-9
8
68
-31
0
0
0
-2
2
-1
-8
-2
33
0
0
6
-7
21
13
-12
-7
-4
0
0
-1
-10
-9
29
-9
-27
0
0
0
2
6
6
-12
8
29
0
0
0
-2
2
-1
5
10
-6
0
0
0
18
-7
-14
0
1
-18
0
0
0
0
2
0
-22
20
-17
0
0
0
0
0
3
-3
7
16
0
0
0
0
0
3
1
-1
3
0
0
0
-3
4
0
3
-2
-29
0
0
0
0
9
-4
-43
21
0
0
0
0
-1
21
-8
-31
11
0
0
0
0
1
0
25
-36
16
0
0
0
0
-1
-7
6
38
7
0
0
0
0
0
1
-1
-2
9
0
0
0
0
0
0
-12
-24
9
0
0
0
0
0
3
9
5
-2
0
0
0
0
-1
0
-10
-3
1
0
0
0
0
0
0
-6
0
2
0
0
0
0
0
0
1
0
13
0
0
0
0
0
0
-3
22
9
0
0
0
0
0
-2
4
-7
2
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
2
0
0
0
0
1
-2
1
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
12
-4
4
42
24
-3
-16
0
0
0
-1
-2
-7
5
-35
3
0
0
-4
0
7
-5
-7
24
0
0
0
0
0
6
-17
-14
14
-19
0
3
0
0
-49
12
-22
12
-2
0
0
0
0
15
0
10
-32
-49
0
0
0
0
0
-72
33
32
18
0
0
0
0
2
-11
-13
-13
4
0
3
0
0
33
4
21
8
-17
0
0
0
2
12
-14
3
23
-7
0
0
0
0
2
-18
3
7
-13
0
0
0
-1
0
-7
2
-27
-39
0
-3
0
0
7
-11
-6
-25
55
0
0
0
0
7
2
1
11
31
0
0
1
0
0
-8
8
1
2
0
0
0
1
0
3
-4
-4
35
0
1
-1
0
-41
8
-5
8
0
0
0
0
-1
-20
36
-8
-54
0
0
0
0
0
-7
-6
8
-15
0
0
0
0
0
0
-3
-12
21
0
0
11
0
0
-4
-21
17
31
0
0
0
0
0
3
14
-13
0
0
0
0
0
0
-2
4
-20
17
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
-6
-14
29
-21
0
0
0
0
0
-1
4
16
2
0
0
0
0
0
0
-3
-8
26
0
0
0
0
0
0
0
19
2
0
0
-1
0
0
7
-13
-2
28
0
0
0
0
0
1
-3
-20
15
0
0
0
0
0
0
9
-2
35
0
0
0
0
0
0
7
4
4
0
0
0
0
-23
6
2
-58
3
34
0
0
0
7
-26
11
-16
-7
-31
0
0
0
1
-3
-32
-15
33
28
0
0
0
-2
-7
16
12
-14
-57
0
0
0
0
0
13
19
-54
3
0
0
0
-1
7
-15
-18
-23
-35
0
0
0
0
-1
-1
-2
11
-5
0
0
0
0
-7
11
-1
-1
-15
0
0
0
-1
-13
-14
3
-12
33
0
0
0
6
1
-3
-1
4
-58
0
0
0
0
0
10
-12
-5
-15
0
0
0
0
1
3
-1
-16
29
0
0
0
0
1
-7
-2
-39
43
0
0
0
2
1
-3
-16
6
14
0
0
0
0
0
3
-1
-13
1
0
0
0
0
0
-1
1
-11
26
0
0
0
0
0
1
30
-4
0
0
0
0
-1
-2
-7
-11
2
0
0
0
0
0
0
-7
0
10
0
0
0
0
0
0
-11
-10
8
0
0
0
0
0
-2
13
6
8
0
0
0
0
0
-1
0
-6
-37
0
0
0
0
0
-1
1
-16
-3
0
0
0
0
0
3
0
-4
-12
0
0
0
0
0
-2
-9
37
4
0
0
0
0
0
1
-4
-35
8
0
0
0
0
0
-1
-3
-7
7
0
0
0
0
0
3
2
7
-12
0
0
0
0
0
0
2
4
27
0
0
0
0
1
1
0
9
2
0
0
0
0
0
0
-1
3
-1
0
0
0
0
-1
-2
2
-2
7
0
0
0
4
-12
0
-26
1
33
-47
0
0
0
-4
-1
23
17
5
-13
0
0
-2
0
-3
7
-2
-3
9
0
0
0
2
-1
-12
-7
28
18
0
0
0
0
-16
7
15
21
-68
0
0
0
0
-2
-3
-9
-5
48
0
0
7
0
-1
-10
-6
16
-6
0
0
0
0
-1
-6
0
7
10
0
0
0
1
6
5
-19
-2
-33
0
0
0
0
0
0
-1
-9
65
0
0
0
0
0
7
-8
-6
23
0
0
0
3
0
1
0
40
8
0
0
0
0
1
-10
2
0
-27
0
0
0
0
0
0
0
7
-67
0
0
7
0
2
2
-1
4
-19
0
0
0
0
0
-12
0
8
29
0
0
1
-1
10
-47
14
-43
0
0
0
0
0
0
-3
-1
10
0
0
0
0
0
0
9
11
5
0
0
0
0
0
0
-8
0
7
0
0
0
0
0
2
-11
-10
20
0
0
0
0
0
9
-6
-4
8
0
0
0
10
0
-1
10
-2
15
0
0
0
0
-1
0
12
1
-1
0
0
0
0
0
1
-19
-1
1
0
0
0
0
0
0
0
-4
26
0
0
0
2
0
2
-2
-21
20
0
0
0
0
0
0
0
6
-11
0
0
0
0
0
1
-1
-7
-7
0
0
0
0
0
0
-1
0
0
0
0
0
-7
0
-1
4
8
-9
0
0
0
0
0
0
-4
0
-4
0
0
0
0
-13
-9
-8
-3
37
52
0
0
0
-3
-4
-2
5
12
-38
0
0
0
0
6
16
-3
6
-28
0
0
0
18
2
23
-3
16
3
0
0
0
0
3
-10
-3
-6
-25
0
0
0
-3
-3
10
0
11
-39
0
0
0
0
0
11
-13
-1
3
0
0
0
15
6
6
-6
4
-26
0
0
0
0
-1
13
-10
3
-8
0
0
0
1
1
0
-9
6
-1
0
0
0
2
-1
12
-17
4
-35
0
0
0
0
0
-6
-2
4
40
0
0
0
0
0
-7
0
5
-11
0
0
0
2
-2
-2
-1
20
-28
0
0
0
0
0
-1
-1
-14
4
0
0
0
1
-4
7
1
2
30
0
0
0
0
6
26
-5
10
0
0
0
0
-3
4
-1
-2
8
0
0
0
0
0
0
9
0
1
0
0
0
0
0
-3
2
2
25
0
0
0
0
0
-3
8
-3
7
0
0
0
0
0
1
-6
-1
30
0
0
0
0
0
0
1
9
-4
0
0
0
0
0
1
2
12
-4
0
0
0
0
0
0
-3
-22
-44
0
0
0
0
0
-1
1
0
1
0
0
0
0
0
0
-2
0
9
0
0
0
0
0
0
1
0
4
0
0
0
0
0
1
0
-9
19
0
0
0
0
0
2
0
-1
-1
0
0
0
0
0
1
-4
-1
-6
0
0
0
0
-2
-4
-10
2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
10
-3
-24
-11
29
-11
0
0
0
0
0
12
-39
-41
52
0
0
0
-3
0
-2
-7
6
19
0
0
0
0
2
-3
-8
34
6
0
0
0
0
0
-7
-23
-10
14
0
0
0
0
0
0
-1
18
-2
0
0
0
2
0
0
1
-2
18
0
0
0
0
0
2
4
-23
6
0
0
0
0
0
1
8
-17
-47
0
0
0
0
0
-3
15
7
-7
0
0
0
0
0
0
-15
-5
-25
0
0
0
0
0
0
3
3
-3
0
0
8
0
0
0
-7
-9
-5
0
0
0
0
0
0
-4
-2
-3
0
0
0
-2
0
0
-1
1
24
0
0
0
0
0
0
0
-1
5
0
0
0
0
0
-2
5
-27
42
0
0
0
0
0
0
-11
13
-14
0
0
0
0
0
0
-4
-19
0
0
0
0
0
0
0
-1
-13
1
0
0
3
0
0
2
2
-11
1
0
0
0
0
0
0
-1
-8
-6
0
0
0
0
0
-1
0
-9
11
0
0
0
0
0
0
0
-7
7
0
0
0
0
0
1
12
-7
2
0
0
0
0
0
0
1
11
9
0
0
0
0
0
0
-1
0
-5
0
0
0
0
0
0
0
10
3
0
0
0
0
0
0
6
5
25
0
0
0
0
0
0
-1
-6
-6
0
0
0
2
0
-3
1
-11
29
0
0
0
0
0
-1
0
-9
8
0
0
0
0
6
18
-17
-10
-6
0
0
0
0
4
-3
-12
-34
-8
0
0
0
0
0
0
9
9
25
0
0
0
0
-1
11
11
8
42
0
0
0
0
1
4
-27
11
-7
0
0
0
0
0
0
-9
-7
7
0
0
0
0
0
0
-2
11
41
0
0
0
0
0
7
7
-13
3
0
0
0
0
1
3
-8
-27
8
0
0
0
0
-1
-4
-1
-1
-7
0
0
0
0
0
-2
2
21
-6
0
0
0
0
-1
0
-3
2
11
0
0
0
0
1
-1
1
-3
-5
0
0
0
0
0
0
0
-4
16
0
0
0
0
0
0
7
-10
7
0
0
0
0
-1
0
3
-4
-2
0
0
0
0
0
1
-6
-8
27
0
0
0
0
1
0
0
-27
13
0
0
0
0
0
0
-2
-54
17
0
0
0
0
0
1
1
-3
16
0
0
0
0
0
1
-4
-33
23
0
0
0
0
0
0
-1
2
-24
0
0
0
0
0
1
1
15
-13
0
0
0
0
0
-2
-7
9
16
0
0
0
0
0
-3
2
20
5
0
0
0
0
0
0
-2
-1
-36
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
1
-16
-44
0
0
0
0
-1
0
0
32
3
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
0
17
0
0
0
2
1
-24
4
-1
-1
0
0
0
0
-1
0
10
-7
22
0
0
0
-1
0
-7
-6
25
3
0
0
0
0
0
2
5
-41
16
0
0
0
0
0
0
-24
-34
-2
0
0
0
0
0
0
0
-17
-13
0
0
0
0
0
0
2
0
-15
0
0
0
0
1
0
8
2
25
0
0
0
0
0
0
6
-27
17
0
0
0
0
0
1
-1
-4
22
0
0
0
-4
0
0
1
9
12
0
0
0
0
0
-1
-1
3
-8
0
0
0
0
0
0
-4
-9
-3
0
0
0
0
0
0
0
0
10
0
0
0
13
0
0
-1
-4
-8
0
0
0
0
0
-1
0
0
10
0
0
0
0
0
-3
-6
-5
-14
0
0
0
0
0
-3
3
-1
1
0
0
0
-2
0
1
-1
-1
-37
0
0
0
0
0
0
0
-12
16
0
0
0
0
0
0
0
-8
22
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
7
-14
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
-4
-34
-19
0
0
0
0
0
0
0
10
9
0
0
0
1
0
0
1
1
-29
0
0
0
0
0
0
-1
-10
-2
0
0
0
0
0
0
0
-6
-14
0
0
0
0
0
0
0
-3
5
0
0
0
4
0
3
0
0
16
0
0
0
0
0
0
0
2
0
0
0
0
0
0
20
-22
3
18
0
0
0
0
0
-1
18
8
16
0
0
0
0
1
-2
-39
8
-18
0
0
0
0
5
1
-4
-12
25
0
0
0
0
0
0
7
-4
-8
0
0
0
0
1
2
9
-13
-7
0
0
0
0
0
-3
-1
21
17
0
0
0
0
3
1
-3
4
-3
0
0
0
0
0
-2
1
7
-9
0
0
0
0
0
-2
-2
12
-2
0
0
0
0
0
0
-8
-3
7
0
0
0
0
-2
0
8
-4
0
0
0
0
0
0
0
0
1
4
0
0
0
0
0
0
1
6
-3
0
0
0
0
0
0
0
0
16
0
0
0
0
1
-2
-1
1
0
0
0
0
0
1
-1
-1
-2
-14
0
0
0
0
1
0
0
-2
29
0
0
0
0
0
0
-3
3
-11
0
0
0
0
0
-1
-4
22
0
0
0
0
0
0
0
0
1
20
0
0
0
0
0
0
1
0
-12
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
1
0
-22
2
0
0
0
0
0
-1
0
11
11
0
0
0
0
0
0
2
-3
10
0
0
0
0
0
2
0
-3
11
0
0
0
0
-3
0
0
3
-22
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
-2
0
2
-1
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
-12
-17
24
-4
34
0
0
0
0
-3
-3
11
-30
1
0
0
0
4
0
0
-7
-40
5
0
0
0
0
-1
2
2
10
-9
0
0
-17
0
0
12
-6
16
-3
0
0
0
0
0
-1
-4
0
15
0
0
0
0
0
0
0
-8
28
0
0
0
0
0
-1
1
-7
8
0
0
-1
0
1
-1
5
8
54
0
0
0
0
1
1
-8
10
-8
0
0
0
2
0
0
0
9
16
0
0
0
0
0
0
1
-11
-2
0
0
3
0
0
0
-21
22
8
0
0
0
0
0
0
-1
2
-23
0
0
0
0
0
0
0
-2
-36
0
0
0
0
0
2
-1
0
35
0
0
4
0
0
9
6
16
-33
0
0
0
0
-1
-3
-9
15
39
0
0
0
0
0
0
-1
-14
4
0
0
0
0
0
0
0
-2
-2
0
0
-8
0
0
3
-16
-31
42
0
0
0
0
4
0
9
7
-10
0
0
0
0
0
0
2
-4
15
0
0
0
0
0
-1
4
3
6
0
0
0
0
0
13
-4
-18
28
0
0
0
0
1
0
-2
17
15
0
0
0
0
0
3
0
-24
-29
0
0
0
0
0
0
3
0
-24
0
0
-4
0
0
0
16
20
14
0
0
0
0
0
-1
7
0
22
0
0
0
0
0
-2
-11
8
-28
0
0
0
0
0
0
1
-10
13
0
0
0
0
5
22
3
-31
0
0
0
0
0
-1
-16
6
33
-12
0
0
0
0
0
-1
-3
9
-15
0
0
0
0
-2
1
10
-8
34
0
0
0
0
-1
-4
0
8
1
0
0
0
0
0
-2
0
2
-3
0
0
0
0
0
0
4
-7
14
0
0
0
0
0
0
-2
-10
-6
0
0
0
0
0
-6
-1
25
-14
0
0
0
0
0
0
3
-8
2
0
0
0
0
0
0
-9
-10
3
0
0
0
0
0
0
-2
-4
23
0
0
0
0
0
7
1
18
-2
0
0
0
0
2
2
0
-13
3
0
0
0
0
-1
0
-2
-3
-6
0
0
0
0
0
0
0
3
-23
0
0
0
0
-1
-1
-21
-36
19
0
0
0
0
0
-1
0
-32
37
0
0
0
0
0
0
2
-11
-41
0
0
0
0
0
0
0
3
-4
0
0
0
0
0
-1
0
-11
35
0
0
0
0
0
1
0
-5
7
0
0
0
0
0
0
-1
-7
8
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
4
9
5
-19
0
0
0
0
0
1
1
1
39
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
1
2
-4
-34
0
0
0
0
0
1
2
-11
9
0
0
0
0
0
-2
0
9
25
0
0
0
0
0
-1
-3
-6
-6
0
0
0
0
0
0
0
24
0
0
0
0
-5
-7
3
25
-1
-30
0
0
0
0
1
-2
-3
-11
17
0
0
0
27
0
0
-20
-19
-16
0
0
0
0
0
0
6
0
-5
0
0
0
0
0
1
8
-11
0
0
0
0
0
0
0
-15
-13
27
0
0
0
-12
0
0
-3
7
-18
0
0
0
0
0
0
0
0
2
0
0
0
0
2
1
10
12
8
0
0
0
0
0
-2
1
-12
-21
0
0
0
-9
0
1
-4
-10
-7
0
0
0
0
0
2
6
0
4
0
0
0
0
0
0
9
6
-8
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
-1
0
1
-2
0
0
0
0
-2
0
6
1
-3
0
0
0
0
0
0
-12
-19
-16
0
0
0
0
0
0
6
2
38
0
0
0
-6
0
-1
-24
-12
16
0
0
0
0
0
0
3
-18
-17
0
0
0
0
0
0
-4
7
4
0
0
0
0
0
0
-1
14
28
0
0
0
8
0
-1
0
-22
0
0
0
0
0
0
0
2
0
-8
0
0
0
0
0
-1
1
-7
40
0
0
0
0
0
0
1
2
-1
0
0
0
-1
0
0
3
-15
-28
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
-5
13
0
0
0
0
0
0
-3
-3
29
0
0
0
6
0
0
0
-6
41
0
0
0
0
0
-1
0
-7
6
0
0
0
0
-5
-15
-30
-11
-1
0
0
0
0
-10
-1
-1
3
-16
0
0
0
0
1
1
18
-40
36
0
0
0
0
6
0
9
2
24
0
0
0
0
0
-2
1
10
10
0
0
0
0
0
1
-1
2
4
0
0
0
0
0
0
0
-16
6
0
0
0
0
1
-1
3
0
-1
0
0
0
0
0
-2
6
9
7
0
0
0
0
0
1
0
9
-10
0
0
0
0
1
0
0
3
27
0
0
0
0
-1
0
-7
-1
-12
0
0
0
0
0
0
-4
1
6
0
0
0
0
0
-2
0
1
-7
0
0
0
0
0
1
-1
-2
14
0
0
0
0
-1
0
0
1
7
0
0
0
0
-2
-3
9
8
27
0
0
0
0
-2
0
0
43
18
0
0
0
0
0
0
-4
-3
4
0
0
0
0
0
0
-4
-13
-17
0
0
0
0
0
0
4
1
3
0
0
0
0
1
0
2
-8
5
0
0
0
0
0
2
0
-9
2
0
0
0
0
-2
0
2
8
10
0
0
0
0
0
3
2
-4
-4
0
0
0
0
0
0
2
-11
9
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
0
-1
-10
-23
0
0
0
0
0
0
2
-6
6
0
0
0
0
1
0
0
-3
-4
0
0
0
0
0
1
1
4
-2
0
0
0
0
7
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
25
9
-17
-16
2
-6
0
0
9
-6
10
9
-56
-12
32
0
15
-3
-4
2
9
-20
3
-27
0
0
-4
6
19
-46
14
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
6
3
-3
22
-12
0
-27
39
0
0
0
10
-8
-16
-2
16
1
0
0
-8
-37
-1
-31
16
46
-30
0
0
0
12
-27
27
-21
22
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-10
3
-17
-11
13
10
0
0
0
0
-8
9
-5
-17
1
0
0
0
-6
4
-5
14
-20
3
0
0
0
0
3
9
-47
16
39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
6
-2
-28
10
22
0
0
0
0
8
-11
3
-21
13
0
0
0
-2
10
18
1
-61
-24
0
0
0
0
0
-24
-5
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
12
15
0
-10
-48
9
-22
0
0
-4
-10
-6
-11
-32
19
48
0
0
-2
-12
14
-25
25
23
60
0
0
-7
9
7
11
-39
-30
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
-3
37
10
-12
48
-44
0
0
0
19
-5
-2
2
15
-37
0
0
0
0
0
18
-18
-25
45
0
0
0
1
11
6
-17
3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
-11
0
0
0
0
2
-10
2
-52
-7
0
0
0
0
1
0
-5
18
-4
0
0
0
0
1
-6
-4
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
-2
-26
45
0
0
0
0
0
0
0
16
-7
0
0
0
0
0
0
3
-7
-16
0
0
0
0
-7
0
-2
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
6
2
-22
2
22
-25
-74
42
0
0
-10
8
11
17
23
25
-27
0
-14
-2
1
-11
-51
1
34
5
0
0
-1
-1
21
-13
5
-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
-7
-19
-1
-29
25
0
0
0
2
-2
6
-4
-11
14
0
0
4
0
2
-5
1
22
-72
0
0
0
1
-1
-2
-3
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
4
0
1
-13
-23
34
0
0
0
0
0
0
-8
18
9
0
0
0
-3
0
0
29
-22
2
0
0
0
0
1
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
-1
11
-15
-18
0
0
0
0
0
0
2
-4
16
0
0
0
1
0
0
-1
-17
14
0
0
0
0
0
0
-2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
38
9
43
6
-7
0
0
-16
-9
11
-4
61
-17
19
0
0
1
-2
-4
22
-24
-5
33
0
0
2
-10
-4
-27
-15
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
3
-1
-7
20
-14
0
0
0
0
-3
26
5
-14
31
0
0
0
0
0
-16
11
15
-17
0
0
0
-7
6
-6
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
-3
-5
-4
7
0
0
0
0
1
-6
-1
18
16
0
0
0
0
1
0
-3
8
-19
0
0
0
0
-9
1
-8
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
-1
10
9
0
0
0
0
0
1
0
-27
10
0
0
0
0
0
0
2
11
-2
0
0
0
0
0
0
1
3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
-22
-3
-28
-5
11
21
0
0
-2
2
10
17
-85
-32
5
0
2
0
-3
-17
5
37
10
-50
0
0
0
0
10
3
7
-35
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
-16
-12
28
-3
31
0
0
0
0
3
-10
-12
7
-19
0
0
1
0
1
14
10
22
21
0
0
0
0
0
2
-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
-3
0
0
0
-6
-15
-26
0
0
0
0
0
3
-1
10
-40
0
0
0
0
0
-6
2
-5
5
0
0
0
0
0
0
-14
-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
-2
0
0
-3
24
-30
35
0
0
0
0
0
-2
3
-3
11
0
0
0
-1
0
0
4
0
-21
0
0
0
0
0
-1
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
21
-35
-26
-65
48
0
0
0
15
-8
15
2
-46
27
0
0
0
1
7
12
6
-70
51
0
0
0
-6
16
-30
8
45
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-18
-12
0
0
0
-1
-16
-2
-9
-27
2
0
0
0
0
-1
0
4
22
34
0
0
0
0
-10
-1
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
-11
-11
-16
0
0
0
0
2
-4
-6
-11
-6
0
0
0
0
0
-1
-11
-33
1
0
0
0
0
0
-1
-1
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
0
0
0
0
0
0
-1
-8
14
0
0
0
0
0
0
-1
-6
8
0
0
0
0
0
0
0
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
7
6
-1
12
8
2
0
0
0
0
3
-44
12
54
16
0
-20
0
6
-3
6
27
-1
-30
0
0
0
6
19
-7
-7
-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
1
-10
16
-13
-5
0
0
0
0
0
-8
11
-9
-6
0
0
2
0
-3
22
1
-5
-19
0
0
0
0
0
0
-6
-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
2
0
0
11
5
-21
0
0
0
0
0
-2
4
6
1
0
0
0
-6
0
0
-4
16
11
0
0
0
0
0
-2
3
-23
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-9
-24
7
0
0
0
0
0
0
0
-4
7
0
0
0
9
0
-1
1
12
-11
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
-9
-1
3
3
66
-35
0
0
0
1
-4
0
14
-23
29
0
0
0
-1
6
1
-1
35
26
0
0
-16
-4
8
-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
8
-1
-9
-4
-7
0
0
0
2
0
-6
7
-1
23
0
0
0
-1
0
-9
-4
2
-26
0
0
0
1
-4
-3
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
1
-1
15
5
0
0
0
0
-1
6
-3
-1
8
0
0
0
0
0
2
12
-32
2
0
0
0
0
0
6
6
9
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-8
-13
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
-2
2
0
-1
0
0
0
0
1
1
1
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-5
-21
-36
34
41
0
0
0
-1
-5
30
-18
5
-12
0
0
0
0
0
1
-1
44
-55
0
0
0
0
19
-12
8
18
-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
9
-10
29
13
0
0
0
1
-5
1
-28
-34
52
0
0
0
0
3
-12
15
-3
-10
0
0
0
0
1
-1
-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
-1
0
1
4
28
14
-15
0
0
0
0
3
1
-1
-23
-26
0
0
0
0
0
0
-1
8
-2
0
0
0
0
0
0
0
-7
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-15
14
21
0
0
0
0
-1
1
1
5
11
0
0
0
0
0
-2
-7
-18
40
0
0
0
0
0
0
1
-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
2
15
-13
-10
-6
0
0
0
-2
3
-9
-32
15
-6
0
0
0
1
0
-1
-12
9
-8
0
0
0
0
0
3
0
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
-19
13
17
-10
0
0
0
0
3
4
-11
-19
-11
0
0
0
0
-2
3
11
-3
30
0
0
0
2
4
1
0
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
1
0
2
-35
-33
0
0
0
0
-1
0
0
-7
12
0
0
0
0
0
0
1
11
-16
0
0
0
0
-1
0
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
-2
2
0
6
-21
0
0
0
0
0
0
0
16
-15
0
0
0
0
0
0
2
-2
27
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
-7
-12
4
64
-66
0
0
0
0
2
-22
10
48
6
0
0
6
0
3
12
9
-31
-39
0
0
0
0
-2
11
4
3
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-1
28
-22
0
0
0
0
0
-4
7
16
32
0
0
1
0
0
-15
-2
-25
-53
0
0
0
0
0
3
-1
-28
46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
-28
23
0
0
0
0
0
0
-3
-1
25
0
0
0
0
0
1
-6
-10
-10
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
3
-10
-3
44
0
0
0
0
0
-1
-6
11
4
0
0
0
-2
0
0
1
-2
3
0
0
0
0
0
0
-8
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
-3
7
-24
-2
28
0
0
0
-1
0
-12
7
2
-13
0
0
0
1
0
12
-10
3
-3
0
0
0
1
-6
13
19
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
11
-18
10
0
0
0
-2
0
11
1
8
20
0
0
0
0
0
15
1
-24
9
0
0
0
3
-2
-12
7
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-8
0
0
0
0
2
0
-12
3
-7
0
0
0
0
0
-1
0
-1
-7
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
17
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
4
-7
38
0
0
0
0
-4
-7
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
35
0
0
10
25
-36
42
-24
0
0
0
0
-1
-10
-17
29
51
0
0
0
0
0
-7
11
21
-3
0
0
0
0
0
10
-2
-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
2
0
0
-2
-9
20
-13
27
0
0
0
1
6
20
2
20
-4
0
0
-2
0
-1
-2
7
-9
4
0
0
0
0
1
-1
-1
31
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
0
-8
-1
-5
41
0
0
0
0
0
4
10
2
-4
0
0
0
0
0
0
-1
-6
44
0
0
0
0
0
0
-1
-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
4
-6
-2
-1
0
0
0
0
0
1
1
1
-10
0
0
0
-1
0
0
9
4
-39
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
0
0
0
0
0
0
0
0
0
0
-7
1
-19
24
-23
0
0
0
0
3
-4
-32
4
48
0
0
0
0
0
0
2
10
36
0
0
0
0
-2
6
-4
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
7
1
11
-19
0
0
0
-2
0
-8
-19
-51
25
0
0
0
0
0
-1
0
18
10
0
0
0
0
7
2
0
-4
-44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
-8
22
0
0
0
0
1
1
-1
-15
37
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
6
0
0
0
0
0
0
0
-4
10
0
0
0
0
0
0
0
-2
2
0
0
0
0
-1
0
-1
1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
2
-4
40
27
0
0
0
0
0
2
20
26
17
0
0
-9
0
0
-3
1
-4
8
0
0
0
0
0
0
0
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
2
0
0
-10
-2
-9
-21
0
0
0
0
-1
-1
0
24
15
0
0
13
0
0
-6
-9
0
-25
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
1
-16
22
0
0
0
0
0
0
1
-9
-3
0
0
0
-2
0
0
-2
4
-7
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
27
0
0
0
-4
0
0
0
1
-1
0
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
2
-3
-21
28
-45
0
0
0
0
-6
-2
3
-20
20
0
0
0
0
-1
-3
-8
3
-13
0
0
0
0
1
-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
7
-3
12
-23
0
0
0
0
-2
-2
0
20
-56
0
0
0
0
7
-4
0
10
14
0
0
0
8
0
-6
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
-1
38
0
0
0
0
0
3
-2
8
-2
0
0
0
0
0
1
0
0
-13
0
0
0
0
0
-4
3
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
6
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
1
-1
0
-3
0
0
0
0
3
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-13
6
-29
-3
0
0
0
0
0
7
-3
-26
28
0
0
0
1
-1
-10
-22
-5
23
0
0
0
0
0
3
-10
-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
-6
-7
-33
15
0
0
0
0
-1
4
11
-16
-15
0
0
0
0
0
1
-10
3
-10
0
0
0
0
0
1
-8
-6
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
-2
-4
25
-22
0
0
0
0
0
-2
-17
21
-3
0
0
0
0
0
-1
0
-12
4
0
0
0
0
0
-1
-7
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
-1
1
41
-11
0
0
0
0
1
-19
12
0
2
0
0
0
0
0
1
15
-27
14
0
0
0
0
1
1
-9
-21
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
12
5
0
0
0
0
0
1
2
-28
-54
0
0
0
0
0
-6
0
19
1
0
0
0
0
-1
6
1
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
-4
12
13
-24
0
0
0
0
0
0
-9
-16
1
0
0
0
0
0
0
6
10
29
0
0
0
0
0
1
4
7
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-8
3
0
0
0
0
0
0
1
3
-29
0
0
0
0
0
0
1
-13
23
0
0
0
0
0
0
0
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
1
-1
-4
30
2
0
0
0
0
0
1
-2
-2
5
0
0
0
0
0
0
-1
7
28
0
0
0
0
1
2
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
-14
-31
-28
0
0
0
0
0
0
0
-5
35
0
0
0
0
0
0
-4
-10
16
0
0
0
0
0
1
-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
22
3
-37
0
0
0
0
0
0
7
2
-20
0
0
0
0
0
-1
-2
5
20
0
0
0
0
0
0
4
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
22
36
0
0
0
0
0
0
1
-12
-14
0
0
0
0
0
0
0
-4
-21
0
0
0
0
0
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
3
-30
1
0
0
0
0
0
0
1
25
12
0
0
0
-2
0
0
-7
3
-5
0
0
0
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
-1
-4
-2
10
-7
0
0
0
0
0
4
8
-19
-14
0
0
0
0
0
1
2
-2
32
0
0
0
0
0
-4
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
0
0
-8
6
29
0
0
0
0
0
-2
-1
-16
-8
0
0
0
0
0
-1
1
3
2
0
0
0
0
1
-9
6
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
-2
1
-1
20
0
0
0
0
0
2
-11
-17
17
0
0
0
0
0
0
2
-19
29
0
0
0
0
0
0
5
3
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
13
0
0
0
0
0
0
1
-9
-6
0
0
0
0
0
0
3
0
19
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-2
18
-63
0
0
0
0
0
-1
23
-7
-12
0
0
0
0
0
0
-10
16
-12
0
0
0
0
0
0
0
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
7
0
0
-1
3
34
9
0
0
0
0
0
0
22
-25
-2
0
0
0
0
0
4
-20
-21
17
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-48
41
0
0
0
0
0
0
-2
-14
0
0
0
0
2
0
-2
3
12
-24
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
2
0
0
0
1
12
-32
0
0
0
0
-2
0
1
-2
0
0
0
0
-1
0
1
0
2
-24
0
0
0
0
0
0
-1
-29
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
8
5
0
0
0
0
-4
3
-9
-20
1
0
0
0
0
0
0
0
-11
-3
0
0
0
0
0
-4
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
-12
-6
-12
-27
0
0
0
0
0
1
3
-33
-17
0
0
0
0
0
0
0
-7
-2
0
0
0
0
0
-8
-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
2
-19
-1
0
0
0
0
0
1
0
-38
33
0
0
0
0
0
0
0
3
-6
0
0
0
0
0
1
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
3
-3
-40
22
0
0
0
0
0
0
2
-13
-7
0
0
0
0
0
2
2
-2
0
0
0
0
0
-1
0
1
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
-1
0
-1
-2
-20
-22
0
0
0
0
0
-2
-3
22
20
0
0
0
12
0
0
-1
30
19
0
0
0
0
0
1
1
-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
-2
-1
-16
34
0
0
0
0
0
0
6
-8
1
0
0
0
8
0
1
-2
-19
16
0
0
0
0
0
0
4
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
-1
-8
-8
0
0
0
0
0
0
0
-12
4
0
0
0
1
0
0
0
-15
10
0
0
0
0
-1
0
0
10
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
-7
0
0
0
0
0
0
-1
10
-7
0
0
0
1
0
0
3
-26
33
0
0
0
0
0
-1
0
-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
15
3
4
0
0
0
0
0
3
7
12
2
0
0
0
0
0
0
-1
-1
-3
0
0
0
0
-2
4
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
-4
-12
7
0
0
0
0
0
-3
0
15
-3
0
0
0
0
0
0
-4
3
10
0
0
0
0
8
12
2
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
-6
4
1
0
0
0
0
0
2
0
-13
18
0
0
0
0
0
0
0
-2
7
0
0
0
0
1
3
-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
1
-8
-7
0
0
0
0
0
1
0
-8
-12
0
0
0
0
0
2
-6
4
9
0
0
0
0
-2
0
6
-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
-1
0
0
13
-8
-17
-2
0
0
0
0
0
-9
-19
11
13
0
0
0
0
0
0
-3
0
15
0
0
0
0
0
4
7
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
2
14
2
35
0
0
0
0
-1
-6
-8
6
-2
0
0
0
0
0
2
1
-18
4
0
0
0
0
0
0
0
-13
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-2
12
-5
0
0
0
0
0
0
-10
25
1
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
1
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
-10
14
6
22
0
0
0
0
0
-5
2
20
-35
0
0
0
0
0
0
1
-1
-14
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
0
0
0
2
-2
2
13
0
0
0
0
0
0
-3
1
5
0
0
0
0
0
0
0
2
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
-1
-3
-10
43
0
0
0
0
0
0
-3
7
-18
0
0
0
0
0
0
0
-4
9
0
0
0
0
1
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-2
0
0
0
0
0
0
0
-18
4
0
0
0
0
0
0
0
-18
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
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
-27
-12
0
0
0
0
0
0
2
20
-40
0
0
0
0
0
0
-2
-12
22
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-11
-9
0
0
0
0
0
0
0
4
-15
0
0
0
0
0
-2
1
-28
-7
0
0
0
0
0
0
-3
-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
-3
2
-16
9
0
0
0
0
0
0
3
13
-39
0
0
0
0
0
0
3
-24
8
0
0
0
0
-3
0
-2
-7
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
16
-14
0
0
0
0
-1
-2
0
11
26
0
0
0
0
0
0
0
-7
-5
0
0
0
0
0
0
0
3
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-9
0
0
0
0
-1
0
0
-7
1
0
0
0
-1
0
0
-9
6
6
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
-10
-17
0
0
0
0
0
-1
4
13
20
0
0
0
0
0
1
0
-4
3
0
0
0
0
-1
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
7
0
0
0
0
0
0
-10
1
-28
-2
0
0
0
0
0
0
4
0
11
0
0
0
0
6
-1
4
-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
7
-3
23
0
0
0
0
0
-1
-2
33
8
0
0
0
0
0
-1
0
-1
6
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
1
-17
-15
0
0
0
0
0
3
1
-29
-2
0
0
0
0
0
0
-11
0
12
0
0
0
0
8
0
-2
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
-3
0
0
2
8
-1
-15
0
0
0
0
0
0
3
13
9
0
0
0
-2
0
1
0
1
3
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-1
0
-10
0
39
16
0
0
0
0
0
6
2
0
22
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
-4
6
0
0
0
0
0
0
2
-8
-3
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
2
17
2
0
0
0
0
1
-2
-1
-3
13
0
0
0
0
0
0
0
7
-7
0
0
0
0
0
0
0
-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
0
-1
-1
8
9
0
0
0
0
0
0
-3
7
16
0
0
0
0
0
0
0
-1
-4
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
-2
-12
19
17
0
0
0
0
0
0
2
23
9
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
-2
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
1
13
0
0
0
0
0
0
-1
-11
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
-1
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
-1
2
0
13
0
0
0
0
0
0
0
-1
11
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
0
0
-7
0
-29
0
0
0
0
0
1
7
0
7
0
0
0
6
0
-1
0
6
-19
0
0
0
0
0
1
-3
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
2
10
-2
0
0
0
0
0
0
0
-2
36
0
0
0
-3
0
0
0
-12
-8
0
0
0
0
0
0
0
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
-1
0
0
4
-10
35
0
0
0
0
0
0
0
-6
-2
0
0
0
7
0
0
0
-20
18
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-15
3
0
0
0
0
0
1
-1
3
3
0
0
0
0
0
0
3
1
1
0
0
0
0
0
0
1
4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
3
4
0
0
0
0
0
0
-6
-1
-22
0
0
0
0
2
0
1
9
-5
0
0
0
0
-15
-2
12
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
-7
0
0
0
0
0
1
0
-13
8
0
0
0
0
0
-1
-1
4
2
0
0
0
0
1
6
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
6
23
0
0
0
0
-1
0
0
2
21
0
0
0
0
-1
0
3
10
-7
0
0
0
0
3
3
2
-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
34
-6
27
14
0
14
0
3
14
0
0
-13
31
15
8
11
5
0
0
-3
-1
9
-9
23
25
1
21
0
0
12
-14
-10
28
-13
-7
18
-22
4
0
-10
11
15
-19
-4
-8
0
0
1
-11
-26
-16
-19
-4
65
0
7
-6
-8
-1
-21
27
-8
-12
0
0
-21
-20
13
-18
6
44
2
9
0
0
-35
-11
23
12
-16
0
0
0
-6
3
16
-11
9
11
0
0
7
0
6
-14
11
35
-35
0
0
0
1
6
0
-15
-14
74
0
1
3
1
14
5
-23
12
-10
0
0
0
0
-5
7
-22
8
-22
0
0
-2
-16
-12
17
-9
6
13
0
0
0
10
-18
-3
-12
14
8
0
-13
7
-4
-31
17
-12
12
0
0
0
0
9
-5
-27
19
20
0
0
0
-9
0
4
-5
2
-10
0
0
0
0
1
-9
5
-2
16
0
0
9
-3
0
-4
-19
1
-58
0
0
0
0
0
1
20
-26
31
0
0
0
12
2
-3
3
-15
10
0
0
0
0
-1
20
-4
5
-19
0
0
1
0
0
-3
20
26
1
0
0
0
0
-6
6
-5
14
18
0
0
0
10
0
-1
-11
-2
-24
0
0
0
0
9
20
-2
-16
3
0
0
-7
-3
0
-9
25
10
-2
0
0
0
0
-1
-1
-6
0
29
0
0
0
-13
6
-3
-19
-11
8
0
0
0
0
11
0
23
-22
40
0
0
0
0
-1
15
-10
-2
-7
-25
43
0
0
8
4
-4
1
8
59
-3
0
0
0
0
0
8
0
-23
-19
0
0
2
-1
2
4
17
-20
18
0
0
0
0
-10
-33
-18
-27
54
0
0
0
1
-2
-19
13
-39
11
0
0
0
0
0
8
-6
73
-29
0
0
0
1
3
2
2
-6
7
0
0
0
-1
-6
-9
-11
-31
0
0
0
0
0
0
8
-22
-10
0
0
0
1
0
-1
-1
10
-14
0
0
0
0
-1
0
-3
13
0
0
0
0
0
2
0
-13
9
-5
0
0
0
0
0
-2
-10
0
-57
0
0
0
0
0
0
-1
8
-19
0
0
0
1
0
0
0
-1
-3
0
0
0
-1
-1
3
0
17
0
0
0
0
0
-1
2
-2
6
0
0
0
0
0
0
0
-22
19
0
0
0
0
-2
0
1
-1
12
0
0
0
0
-1
0
4
-9
1
0
0
0
0
-2
0
0
1
3
0
0
0
0
0
0
0
2
-4
0
0
0
0
0
0
-1
-3
-3
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
1
-1
-15
0
0
0
0
2
0
-1
-2
11
0
0
0
0
1
0
0
-1
6
0
0
0
0
0
0
0
-1
-10
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
1
-2
0
0
0
0
-1
0
0
0
0
0
0
0
-11
-3
2
-4
-17
34
20
25
0
0
0
-4
-2
1
-4
14
-18
0
6
0
1
9
-18
-14
-60
34
0
0
-1
0
-4
-9
-23
12
68
0
0
0
1
-4
-32
-18
26
13
0
0
0
0
-2
8
2
42
-30
0
0
0
0
9
7
-19
-19
-23
0
0
0
0
0
1
-2
19
-80
0
0
0
0
-3
4
18
-15
0
0
0
0
0
-1
-6
-19
-28
0
0
1
0
1
-6
-3
38
10
0
0
0
0
0
6
1
12
4
0
0
-1
0
0
2
6
3
-37
0
0
0
0
0
-1
-1
11
-19
0
0
0
0
0
1
0
-13
29
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
-12
-5
2
0
0
0
0
0
0
0
8
7
0
0
0
0
0
0
-9
16
5
0
0
0
0
0
0
0
16
-7
0
0
0
0
0
0
2
-2
-5
0
0
0
0
0
0
0
-10
10
0
0
0
0
0
0
1
-2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
3
26
0
0
0
0
0
0
-3
0
-21
0
0
0
0
0
-2
0
-8
3
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
1
-10
0
0
0
-7
0
0
0
0
10
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
-14
-32
1
47
-74
0
0
-2
-3
-2
-20
-2
24
48
0
0
1
0
9
21
-5
-6
13
0
0
0
-6
9
7
2
3
3
0
0
0
1
0
14
20
0
8
0
0
-1
0
-2
12
-5
6
13
0
0
0
0
-2
0
-1
-12
33
0
0
0
0
1
2
-4
-14
-13
0
0
0
-1
3
-8
-8
-2
0
0
0
-1
0
-2
10
9
-10
0
0
0
0
0
1
-3
-12
7
0
0
0
0
0
-7
-6
27
6
0
0
0
0
-1
0
-1
8
-35
0
0
0
0
0
1
-1
-19
7
0
0
0
0
0
1
-1
4
-1
0
0
0
0
1
0
0
7
-21
0
0
0
0
0
-2
12
-17
0
0
0
0
0
0
3
13
26
0
0
0
0
0
0
3
-10
-1
0
0
0
0
1
0
-2
6
2
0
0
0
0
0
0
0
3
4
0
0
0
0
0
1
1
1
6
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-3
9
0
0
0
0
0
0
0
-3
12
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
13
0
0
0
0
0
1
0
0
-9
0
0
0
0
0
-2
0
2
-16
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
10
0
0
-8
0
0
10
-6
25
-32
-13
17
0
0
0
-12
-6
-12
-7
4
62
0
0
0
-1
-14
3
-20
24
-13
0
0
0
0
1
13
35
1
11
3
0
0
-4
-6
-5
0
27
-10
0
0
-1
0
3
-24
-1
27
-16
0
-1
0
3
3
-30
3
12
-18
0
0
0
0
-6
-8
0
-54
38
-2
0
0
4
7
-44
4
38
0
0
0
0
0
0
-11
16
-7
0
0
0
0
0
-15
-13
4
-5
0
0
0
0
0
2
-2
4
11
0
1
0
0
0
-1
0
8
11
0
0
0
0
0
0
0
2
-34
0
0
0
0
0
-1
-2
0
-22
0
0
0
0
0
0
2
4
10
0
2
-1
0
-7
-16
7
-11
0
0
0
0
0
1
-1
33
-1
0
0
0
0
0
0
-11
-19
-6
0
0
0
0
0
0
0
1
22
0
0
0
0
0
0
6
3
17
0
0
0
0
0
0
-4
0
-1
0
0
0
0
0
0
8
-2
13
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
-10
13
-7
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
-2
-4
-30
0
0
0
0
0
0
0
1
1
0
0
2
0
0
1
0
3
-23
0
0
0
0
0
0
1
0
0
0
0
0
1
0
-1
0
0
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-12
-3
2
-14
-24
40
0
0
2
7
-4
-20
-19
3
-31
0
0
0
-1
-1
3
0
0
23
0
0
-2
7
4
14
-1
16
-8
0
0
0
0
-1
12
-14
9
-44
0
0
0
0
0
-1
1
-103
70
0
0
0
0
0
-12
0
40
21
0
0
0
0
0
0
0
16
-11
0
0
0
0
1
8
-2
-18
0
0
0
0
0
-1
-8
6
-31
0
0
0
0
0
0
1
-2
-11
0
0
0
2
0
1
6
4
27
0
0
0
0
0
0
1
6
-38
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
44
0
0
0
0
0
0
0
0
26
0
0
0
0
0
-29
-14
34
0
0
0
0
0
0
6
-6
16
0
0
0
0
0
0
3
-14
-7
0
0
0
0
0
0
1
2
15
0
0
0
0
0
0
0
-11
1
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
20
-10
0
0
0
0
0
0
-2
-1
-10
0
0
0
0
0
0
0
9
-2
0
0
0
0
0
0
0
-2
4
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
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
-19
14
-54
1
0
0
0
0
0
22
-6
-41
10
0
0
0
0
-1
-3
14
24
-23
0
0
0
0
-3
3
6
4
4
0
0
0
-1
-2
12
0
13
-21
0
0
0
0
0
-8
2
-9
49
0
0
0
-1
0
4
0
2
9
0
0
0
0
0
-1
0
-13
26
0
0
0
0
2
-21
-1
-15
0
0
0
0
0
0
-12
1
-14
0
0
1
0
-1
-1
16
4
19
0
0
0
0
0
-1
-3
-10
-35
0
0
0
0
0
-1
0
-2
-16
0
0
0
0
0
0
-2
0
30
0
0
0
0
0
0
-1
6
9
0
0
0
0
0
-2
1
0
-9
0
0
0
0
-2
-1
6
9
0
0
0
0
0
0
0
26
-8
0
0
0
0
0
0
0
-29
12
0
0
0
0
0
0
1
-10
2
0
0
0
0
0
0
1
2
-4
0
0
0
0
0
0
0
-2
3
0
0
0
1
0
0
0
-3
4
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
1
-10
0
0
0
0
0
0
0
1
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
6
1
29
-5
-8
-25
0
0
1
-6
1
-25
0
3
19
0
0
0
0
-1
-10
-7
-1
3
0
0
0
2
10
-19
-9
24
-13
0
0
0
1
0
0
3
-47
43
0
0
0
0
1
3
-1
-31
-18
0
0
0
2
-2
-3
0
40
10
0
0
0
-7
4
0
0
8
38
0
0
0
0
0
0
2
34
0
0
0
0
0
0
24
8
-4
0
0
0
0
0
0
15
1
5
0
0
0
0
-3
3
-6
6
-13
0
0
0
0
0
0
-1
-1
36
0
0
0
0
1
0
-1
1
51
0
0
0
0
0
-2
0
0
12
0
0
0
0
-8
3
0
0
-8
0
0
0
0
0
-7
-13
-9
0
0
0
0
0
1
0
-1
-9
0
0
0
0
0
0
1
-9
-8
0
0
0
0
0
0
-4
-4
4
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
4
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
-8
0
-1
-1
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
-1
-2
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
3
-1
0
0
-6
0
1
-4
1
-2
6
53
0
0
0
-2
-3
12
-43
46
-47
0
0
-1
2
-1
-5
-30
-24
62
0
0
0
0
-2
-7
-9
48
-67
0
0
0
0
-2
2
-14
1
8
0
0
0
0
0
-11
-27
-8
-1
0
0
0
0
0
1
28
11
-2
0
0
0
0
2
0
-9
0
-9
0
0
0
0
1
-8
-12
-5
38
0
0
0
0
0
28
-19
-1
58
0
0
0
0
0
0
-10
8
-5
0
0
0
0
-2
2
0
-14
-6
0
0
0
0
2
7
-7
-21
65
0
0
0
0
1
0
1
-5
-7
0
0
0
0
0
0
0
18
-11
0
0
0
0
0
-2
0
-1
-57
0
0
0
0
0
0
14
55
0
0
0
0
0
0
11
4
11
0
0
0
0
0
0
-1
2
-12
0
0
0
0
0
0
1
1
3
0
0
0
0
0
-1
-3
7
-36
0
0
0
0
0
0
-3
1
-2
0
0
0
0
0
0
1
-12
-6
0
0
0
0
0
0
-2
1
2
0
0
0
0
0
1
19
3
36
0
0
0
0
0
0
-2
4
37
0
0
0
0
0
0
1
4
-23
0
0
0
0
0
0
0
6
7
0
0
0
0
0
0
-1
8
-1
0
0
0
0
0
0
1
0
10
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-2
-13
8
-23
-23
0
0
0
-1
0
0
-16
15
24
0
0
0
1
0
0
11
7
-4
0
0
0
0
0
-7
-6
-20
14
0
0
0
0
0
-3
0
-11
13
0
0
0
0
0
-6
-32
8
-18
0
0
0
0
0
2
0
32
16
0
0
0
0
0
2
-12
8
-4
0
0
0
0
1
0
0
10
1
0
0
0
0
0
1
-1
-1
6
0
0
0
0
0
-2
-1
-6
-49
0
0
0
0
1
0
0
-1
22
0
0
0
0
0
4
0
-7
-17
0
0
0
0
0
0
1
8
-66
0
0
0
0
0
0
0
-2
30
0
0
0
0
0
0
0
0
-46
0
0
0
0
1
0
13
-7
0
0
0
0
0
0
0
13
-11
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
4
0
0
0
0
0
1
1
-2
24
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
1
23
0
0
0
0
0
0
7
0
-15
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
-2
19
0
0
0
0
0
0
0
2
27
0
0
0
0
0
0
0
1
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
11
13
-8
20
0
0
0
0
1
0
-8
13
-4
0
0
-1
0
0
6
-19
-29
28
0
0
0
0
0
-4
-16
-13
-15
0
0
0
0
1
0
-13
15
7
0
0
0
0
0
0
-6
1
-3
0
0
3
0
0
0
-9
16
10
0
0
0
0
0
0
-2
0
28
0
0
0
0
3
-6
1
22
-21
0
0
0
0
0
0
10
-8
-45
0
0
0
0
0
-3
0
-6
62
0
0
0
0
0
0
0
12
-14
0
0
0
0
0
-2
0
-18
-12
0
0
0
0
0
0
0
-1
18
0
0
0
0
0
0
3
10
8
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
2
10
-43
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
0
2
-4
-6
0
0
0
0
0
0
0
0
-8
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
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
13
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
0
-1
-9
0
0
0
0
0
0
0
-4
10
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
6
0
0
0
0
-1
0
-7
-18
-10
-2
0
0
0
1
0
15
-5
-12
-25
0
0
0
2
0
11
-20
69
-71
0
0
0
-4
1
7
44
2
-1
0
0
0
0
0
0
-26
-1
-9
0
0
0
0
0
-2
-9
16
-5
0
0
0
0
0
-4
-2
-14
8
0
0
0
1
0
-4
6
15
7
0
0
0
0
0
3
-1
2
15
0
0
0
0
0
0
-3
-3
-3
0
0
0
0
0
0
-3
-34
13
0
0
0
0
0
-2
0
-24
10
0
0
0
0
0
0
0
36
5
0
0
0
0
0
0
-1
29
15
0
0
0
0
0
0
0
21
-2
0
0
0
1
0
0
0
3
15
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
-6
27
0
0
0
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
2
0
0
1
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
-9
0
0
0
0
0
0
-1
-2
9
0
0
0
0
0
0
0
1
-15
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
-1
-15
0
0
0
0
-1
0
0
1
8
0
0
4
0
0
0
-6
-9
7
-4
0
0
0
0
0
1
-4
-15
-22
0
0
0
0
0
-1
-1
11
-61
0
0
0
0
0
-4
1
32
-15
0
-1
0
0
0
-15
3
7
-10
0
0
0
0
0
-2
-1
-1
-21
0
0
0
0
0
0
4
2
-29
0
0
0
0
0
-3
0
-1
9
0
-3
0
0
0
-20
-2
15
11
0
0
0
0
0
3
1
26
-10
0
0
0
0
0
-4
0
40
-33
0
0
0
0
0
8
0
27
-7
0
0
0
0
1
-9
-1
13
41
0
0
0
0
0
0
0
-9
75
0
0
1
0
0
0
0
7
-15
0
0
0
0
0
-2
0
1
-24
0
0
0
0
-1
2
-8
-7
0
0
0
0
0
0
2
4
12
0
0
0
0
0
0
0
6
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
2
0
3
0
0
0
0
0
0
3
-1
1
0
0
0
0
0
2
0
-4
27
0
0
0
0
0
0
0
-6
13
0
0
0
0
0
0
0
0
34
0
0
0
0
0
0
-1
0
-17
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
1
0
-7
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
-1
-6
6
-1
1
0
0
0
-2
0
0
0
0
-34
0
0
0
0
0
2
-9
-7
13
0
0
0
0
1
-2
0
14
1
0
0
0
0
0
1
-4
1
-25
0
0
0
0
-1
0
0
-7
21
0
0
0
0
0
0
3
-3
-4
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
3
33
-1
0
0
0
0
0
0
0
-3
58
0
0
0
0
0
0
0
18
-11
0
0
0
0
0
2
0
4
-15
0
0
0
0
0
-1
1
-17
54
0
0
0
0
0
0
0
9
9
0
0
0
0
-1
0
0
9
2
0
0
0
0
-1
0
0
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-11
0
0
0
0
0
0
0
1
-9
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
2
0
-20
0
0
0
0
0
0
0
-1
-15
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
-4
0
0
0
0
0
0
-2
-1
9
0
0
0
0
0
0
1
0
-10
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
1
3
-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
-3
-11
-7
-3
0
0
0
0
-1
-1
-1
-1
-28
0
0
0
0
0
1
-7
11
-13
0
0
0
0
0
4
0
13
1
0
0
0
0
0
0
-2
-19
-22
0
0
0
0
0
1
0
0
2
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
10
-45
0
0
0
0
0
0
0
10
13
0
0
-2
0
0
0
0
16
-8
0
0
0
0
0
0
0
-3
-11
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
-2
16
0
0
1
0
0
0
0
1
-28
0
0
0
0
0
0
0
1
-34
0
0
0
0
0
0
-7
-40
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
8
0
0
0
1
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-1
25
0
0
0
0
0
0
0
-1
20
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
7
0
0
0
1
0
0
0
0
11
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
6
-3
-18
18
0
0
0
0
0
0
4
-3
-52
0
0
0
0
0
7
0
-9
-9
0
0
0
0
1
0
0
8
8
0
0
0
0
0
1
0
2
-7
0
0
0
0
-1
1
0
-4
9
0
0
0
0
0
1
3
0
-4
0
0
0
2
-1
-6
0
0
4
0
0
0
0
0
0
0
3
-13
0
0
0
0
-1
0
-1
0
42
0
0
0
0
0
-4
0
10
14
0
0
0
0
0
0
0
-8
-2
0
0
0
0
0
0
-1
2
6
0
0
0
0
0
0
0
-3
-17
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
1
6
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
-4
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
-7
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
-3
-26
0
9
43
0
0
0
0
0
5
3
-7
7
0
0
0
0
0
0
6
-1
-8
0
0
0
0
-1
3
-9
0
-25
0
0
1
0
0
6
18
3
3
0
0
0
0
0
-2
-6
-10
-7
0
0
0
0
0
-3
2
10
-20
0
0
0
0
0
4
-10
-1
6
0
0
0
0
0
8
7
12
45
0
0
0
0
-3
0
0
8
12
0
0
0
0
0
0
-6
-3
-6
0
0
0
0
0
-2
-2
6
-10
0
0
0
0
0
4
12
-33
18
0
0
0
0
0
-2
9
-1
20
0
0
0
0
0
0
-1
-1
6
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
7
24
15
3
0
0
0
0
0
-1
0
7
60
0
0
0
0
0
-3
9
2
4
0
0
0
0
0
-2
-8
-7
3
0
0
0
0
0
2
11
-20
31
0
0
0
0
-1
-6
-1
-32
3
0
0
0
0
0
0
-1
-22
6
0
0
0
0
0
0
-6
4
13
0
0
0
0
0
-6
4
-18
15
0
0
0
0
0
0
3
2
-3
0
0
0
0
0
0
-4
2
2
0
0
0
0
0
1
-1
-22
-21
0
0
0
0
0
-2
3
13
-5
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
-1
-8
-10
0
0
0
0
0
2
0
0
-6
0
0
0
0
1
15
-28
-18
-5
0
0
0
0
-1
1
-1
14
-19
0
0
0
0
0
0
-1
0
18
0
0
0
0
0
0
8
-1
25
0
0
0
0
0
1
-1
0
-20
0
0
0
0
0
-1
0
9
-21
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-2
-7
4
0
0
0
0
0
0
0
8
-9
0
0
0
0
0
0
0
0
19
0
0
0
0
-2
0
-1
-1
0
0
0
0
0
0
0
0
6
10
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
1
-3
24
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
3
-18
0
0
0
0
0
0
-2
-3
-1
0
0
0
0
0
0
0
-6
13
0
0
0
0
0
2
0
-10
-6
0
0
0
0
0
0
-1
-2
19
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
23
-5
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
-4
6
0
0
0
0
1
0
0
-4
0
0
0
0
0
0
0
0
0
-7
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
8
0
0
0
0
-1
0
-5
-8
27
0
0
0
0
0
0
0
-8
-18
0
0
0
0
0
0
-8
1
-7
0
0
0
0
0
0
1
-1
21
0
0
0
0
0
-1
2
7
2
0
0
0
0
0
0
0
0
8
0
0
0
-1
0
0
-1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-21
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
24
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-4
-1
-3
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
-2
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
6
0
0
0
0
0
0
0
3
-9
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
-2
6
38
0
0
0
0
0
0
0
4
-6
0
0
0
0
0
0
0
-1
-12
0
0
0
0
0
0
0
-9
1
0
0
0
0
0
0
1
-8
18
0
0
0
0
0
0
0
-7
11
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-3
1
7
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-8
-19
0
0
0
0
0
0
-3
-11
1
0
0
0
0
0
0
0
-25
3
0
0
0
0
0
0
-2
10
-3
0
0
0
0
0
-1
0
0
6
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
-11
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
3
-10
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
0
0
0
0
0
0
0
-1
-10
-8
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
0
0
-14
18
0
0
0
0
0
0
0
-4
-20
0
0
0
0
0
0
0
-2
8
0
0
0
0
0
0
0
13
7
0
0
0
0
0
0
0
-10
-18
0
0
0
0
0
0
0
-11
-7
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
15
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
-9
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
-2
0
0
0
0
0
0
2
6
-3
0
0
0
0
0
-1
2
-3
-29
0
0
0
0
0
0
3
8
26
0
0
0
0
0
0
-2
-1
1
0
0
-1
0
0
-3
25
-29
6
0
0
0
0
0
0
4
-1
8
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-3
-6
0
0
-1
0
0
-1
-9
-4
20
0
0
0
0
0
0
-1
2
-1
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
8
10
-12
0
0
0
0
0
0
0
-6
3
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
1
9
0
30
0
0
0
0
0
0
1
6
18
0
0
0
0
0
0
-1
-6
-16
0
0
0
0
0
-1
0
-6
6
0
0
0
0
0
0
-3
1
-4
0
0
0
0
0
1
0
4
-11
0
0
0
0
0
0
-1
3
8
0
0
0
0
0
0
0
2
2
0
0
0
0
0
6
0
-18
-13
0
0
0
0
0
0
1
12
4
0
0
0
0
0
-1
3
-12
19
0
0
0
0
0
0
0
-10
7
0
0
-1
0
0
0
0
2
10
0
0
0
0
0
0
-2
17
24
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
-46
8
0
0
0
0
-1
-1
-1
-30
0
0
0
0
0
0
0
-4
25
15
0
0
0
0
0
0
-1
0
15
0
0
0
0
0
0
0
-4
-2
0
0
0
0
0
2
0
0
3
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
-1
-1
-6
4
0
0
0
0
0
0
0
-7
1
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-7
0
0
0
0
0
0
0
-28
2
0
0
0
0
0
0
0
16
25
0
0
0
0
0
-1
0
-13
14
0
0
0
0
0
0
0
6
-26
0
0
0
0
0
-1
0
-6
-2
0
0
0
0
0
0
-1
6
-1
0
0
0
0
0
0
-1
-7
1
0
0
0
0
0
-1
0
6
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
-1
-1
-3
0
0
0
0
0
0
-1
-4
3
0
0
0
0
0
0
0
6
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
16
-16
0
0
0
0
0
0
0
3
-6
0
0
0
-1
0
0
2
1
-1
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
-1
7
6
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
6
0
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
-1
3
-1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-1
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
17
11
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
-6
24
0
0
0
0
0
0
0
-7
8
0
0
0
0
0
0
0
-11
-19
0
0
0
0
0
0
0
4
-1
0
0
0
0
0
0
0
-7
6
0
0
0
0
0
0
0
4
6
0
0
0
0
0
0
0
-25
-1
0
0
0
0
0
0
0
-10
13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
28
-1
0
0
0
0
0
0
0
-9
-1
0
0
0
0
0
0
0
-8
-1
0
0
0
0
0
0
-4
-3
-3
0
0
0
0
0
1
-1
19
1
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-1
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
1
3
-1
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-9
1
0
0
0
0
-1
0
0
10
2
0
0
0
0
1
0
2
-2
1
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
1
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
0
-1
-3
6
0
0
0
0
0
0
-2
7
2
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
2
0
-6
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
-6
-4
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
-10
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
-2
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
-2
3
-14
23
0
0
0
0
0
0
-2
-1
-1
0
0
0
0
0
0
-2
-2
-8
0
0
0
0
0
0
1
-1
-4
0
0
0
0
0
-1
-3
30
-19
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
-2
-1
-2
0
0
0
0
0
0
13
-1
-4
13
0
0
0
0
0
0
1
-6
-3
0
0
0
0
0
0
0
-2
15
0
0
0
0
0
1
-3
2
8
0
0
1
0
0
-4
1
16
-9
0
0
0
0
0
0
0
-3
-3
0
0
0
0
0
0
0
0
4
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
3
-16
12
0
0
0
0
0
-3
0
10
-10
0
0
0
0
0
0
0
16
2
0
0
0
0
0
0
0
-10
29
0
0
0
0
0
0
9
0
-29
0
0
0
0
0
0
0
-7
4
0
0
0
0
0
0
0
-2
7
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
3
14
-8
0
0
0
0
0
0
0
-6
13
0
0
0
0
0
0
0
-4
7
0
0
0
0
0
0
0
-9
0
0
0
1
0
0
0
0
5
-12
0
0
0
0
0
0
-1
-2
-9
0
0
0
0
0
0
0
4
6
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
1
1
4
-13
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
3
1
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
2
-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
-1
3
7
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
-4
3
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
13
-1
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
-2
7
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
3
-21
0
0
0
0
0
0
0
-9
-3
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
0
16
16
0
0
0
0
0
0
0
2
-16
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-8
-9
0
0
0
0
0
0
-1
1
-1
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
3
-1
0
0
0
0
0
1
4
4
4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-4
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
2
-7
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
0
-3
40
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-17
-12
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-2
6
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
1
6
0
0
0
-1
0
0
1
-9
1
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
7
18
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-8
1
0
0
0
0
0
0
0
-3
6
0
0
0
0
0
0
0
0
20
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-2
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
-2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
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
-4
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
-3
1
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
1
21
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
8
-15
0
0
0
0
0
0
0
-3
3
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
-1
-17
0
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
3
11
0
0
0
0
0
0
0
4
-12
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
2
18
0
0
0
0
1
1
-1
0
9
0
0
0
0
0
0
-4
-21
-11
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
-1
1
2
0
0
0
0
0
0
1
-1
-1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
7
4
0
0
0
0
0
0
0
2
6
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
-4
19
12
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-9
-19
0
0
0
0
0
0
0
-15
-8
0
0
0
0
0
0
0
2
-17
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
10
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
11
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
9
-17
0
0
0
0
0
0
0
4
14
0
0
-1
0
0
0
0
-1
17
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
-1
7
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
-2
-8
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
2
3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
1
0
0
0
0
0
0
-1
0
-4
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
-1
0
1
2
0
0
0
0
0
-7
0
0
4
0
0
0
0
0
0
0
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-36
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-12
11
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
-9
0
0
0
0
0
0
0
-3
-8
0
0
0
0
0
0
0
3
-8
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
-1
13
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
-2
-10
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-9
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
0
2
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-3
-4
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
-1
2
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
1
6
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
-2
-10
0
0
0
0
0
0
0
1
12
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
1
22
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-4
6
0
0
0
0
0
2
-1
1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
-1
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
-2
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
2
4
1
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
-28
0
0
0
0
0
0
0
0
-9
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
20
-9
0
28
20
18
-1
0
0
0
-3
-23
-53
-18
-5
16
-14
-2
0
0
-2
-12
-25
-63
-43
-8
24
3
3
0
6
-2
-10
-34
-41
-5
-52
17
20
4
5
-1
0
-16
-32
-22
37
51
16
2
13
2
0
-14
-20
-17
-10
43
15
0
36
29
33
21
19
6
17
-8
0
0
52
14
-1
36
44
-32
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
9
1
24
48
6
-1
1
-2
-39
-50
-61
-68
-31
-9
-16
18
-27
-56
-66
-84
-69
-94
-81
-98
-33
-9
18
-15
-26
-44
-52
-58
-87
-67
-18
-17
18
17
-11
-18
-22
-37
-65
-57
-19
45
96
26
18
0
-1
-15
-14
-57
-8
45
13
71
39
22
18
10
3
-23
25
31
-16
49
66
59
55
28
15
18
-25
34
0
99
117
87
63
23
45
-57
-5
21
0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
-10
2
42
-1
-1
2
-2
23
-27
-46
-86
-50
-33
-40
-9
-24
-37
27
2
-26
-29
-31
-73
-30
-37
-27
-35
-3
-3
-23
-23
-28
-35
-21
-49
-18
26
20
21
2
-2
-11
-28
-30
-8
75
21
23
36
15
13
0
-5
-27
6
-9
23
76
50
31
32
24
-3
2
23
8
20
86
68
60
42
17
2
25
58
6
-23
55
109
86
60
38
-17
-20
24
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
4
13
1
6
0
1
0
0
-27
1
-18
-1
-2
26
7
-9
0
-9
39
1
-28
-5
25
5
-37
28
2
8
7
8
18
21
2
-26
31
6
-24
-54
-12
19
22
9
-16
-9
-9
22
-7
-99
9
48
11
4
8
2
9
-38
-18
0
-45
55
50
17
19
-6
34
17
-7
-43
11
15
51
43
7
-38
26
-1
-8
-30
-6
52
71
1
-44
-18
0
0
22
12
0
2
6
50
18
42
-4
-4
-2
5
0
5
1
9
2
2
-1
-6
8
3
-6
-9
0
-3
-2
2
14
5
1
1
0
-2
-15
-10
-5
5
0
-6
-2
-6
-50
6
15
-18
-16
-29
38
8
54
26
-52
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
-10
-15
3
0
0
0
0
0
0
27
4
0
0
0
0
0
0
0
21
8
6
0
0
0
0
0
0
6
34
-10
0
0
0
0
0
0
4
8
-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
31
-31
65
0
0
0
0
0
0
31
-20
34
1
0
0
0
0
0
10
8
33
2
-1
0
0
2
0
19
-47
79
3
-3
1
0
0
0
4
-19
37
24
-1
0
1
0
0
-19
49
28
-22
2
0
0
0
0
-1
6
-8
0
-1
0
0
0
0
1
4
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
-5
5
-2
0
0
0
0
0
20
-11
9
24
0
0
4
1
-1
16
-8
-13
17
7
-3
0
9
1
-21
-16
26
14
1
-10
4
3
-9
9
-48
59
25
4
13
-11
24
10
-5
-36
41
29
26
4
-3
-3
-1
29
-27
3
11
13
10
3
0
2
1
-13
4
6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
11
-62
0
1
0
-12
0
11
-8
0
23
-37
6
-8
13
-1
7
0
12
-5
8
0
10
-40
-62
-16
-1
33
-15
-14
12
-22
-11
9
-9
-10
10
49
1
-3
46
17
-24
-27
-19
9
18
1
7
15
30
25
18
-28
26
39
-22
8
13
-11
-2
0
-7
12
12
-7
0
-1
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
6
6
-29
0
-7
1
-3
-1
4
-1
-6
43
25
-51
-11
-5
12
3
-6
-3
-18
-1
8
-15
31
36
8
-6
11
4
-1
10
-9
6
-8
-15
-29
18
31
-16
4
-32
-62
6
21
-16
29
-6
-19
9
-9
14
-16
12
-23
6
37
20
7
29
-20
1
0
8
1
22
2
-8
0
1
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
1
0
0
0
0
-3
4
-9
-2
13
2
-3
12
2
-2
3
-3
-37
-13
-4
-9
9
5
0
0
-7
-9
-46
16
79
-27
1
2
-2
-9
-28
8
7
-4
6
41
21
-10
19
-5
20
-34
-26
-22
-9
13
-28
-12
50
10
-22
2
-6
-7
7
-2
12
-34
16
-4
-13
3
7
0
0
9
3
15
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
-15
8
0
-1
-2
-3
0
11
7
-12
-27
-26
-21
-2
-20
-7
3
4
-3
-28
-57
-6
-37
34
21
2
19
-4
-18
10
-50
31
21
-21
33
48
12
-59
-14
1
28
8
-4
22
-1
-24
39
16
-6
-18
-10
0
0
-1
0
48
-7
-9
-2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-1
-20
-7
6
0
3
-7
-2
54
-51
10
-41
-36
7
-14
1
-1
10
2
-39
11
-10
11
-11
-2
2
56
61
-50
-10
-43
7
-3
-13
1
7
-27
16
-7
11
21
2
0
0
0
-8
4
0
36
-19
1
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
-6
0
0
0
0
0
0
-1
21
-9
0
0
0
0
0
0
-3
10
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
-39
-1
0
0
0
0
0
0
21
-65
3
1
0
0
0
0
0
4
-13
-46
-2
1
0
0
0
0
6
1
-22
50
-8
0
0
0
0
-44
12
-2
63
0
1
2
0
0
55
-30
45
-39
7
4
1
0
0
9
-23
-4
25
12
-1
0
0
0
20
20
4
8
1
0
0
0
0
-18
-6
0
-1
-3
0
0
0
0
-1
-55
6
0
0
0
0
0
0
16
-52
-32
4
0
0
0
2
0
5
-42
-7
7
-3
4
1
2
4
-23
-49
9
6
54
0
-17
20
-10
-14
-37
-2
64
55
33
5
7
26
-40
-71
22
1
49
20
87
24
54
2
-5
11
6
10
41
36
-18
2
6
-19
43
-43
34
35
11
6
0
13
-7
-9
14
7
8
0
0
0
8
26
19
-3
-6
0
0
0
0
52
-24
-50
-3
0
0
0
0
0
14
-43
-57
38
8
-3
8
0
0
1
-33
9
38
-35
-1
-35
11
15
-5
-25
-3
21
9
23
-14
-27
7
-4
-34
15
25
4
24
-17
22
39
-56
-29
9
49
56
53
64
42
5
-18
-52
-18
52
43
78
48
58
84
-11
-49
22
64
-14
-15
23
32
16
-14
15
-16
-15
10
61
4
-1
-1
12
8
8
5
1
1
0
0
0
37
-3
1
-33
0
3
0
-6
-1
31
-12
-20
-24
-37
-54
-17
26
-5
3
-19
-29
1
12
6
-26
-6
-65
2
-17
2
-17
2
64
-17
-21
-7
-20
-24
-2
17
19
-2
75
-5
18
-5
-19
17
15
2
8
2
9
37
-32
-34
11
8
-9
75
29
20
-22
-14
9
30
13
12
23
17
36
30
-39
-13
-7
-7
33
83
34
20
1
0
15
17
-5
16
26
2
3
0
55
32
-61
-15
-24
-15
2
-12
-1
31
4
-9
-6
-13
-52
-9
-39
6
17
6
-6
19
-12
15
0
-14
-9
3
5
-5
-17
5
-22
-13
-21
-13
-18
-3
15
-2
-17
-12
-15
-61
-14
-11
-3
-7
1
6
-5
-14
-15
37
-17
-11
27
3
-9
9
12
-9
38
-35
79
-2
-14
15
-14
-13
-34
-1
-32
74
-17
1
15
-15
16
8
0
0
-2
0
-7
22
-23
0
3
0
69
27
-88
-33
4
1
-14
6
0
45
26
-13
-29
-45
-9
2
-14
21
29
29
8
5
-10
-9
3
-66
27
13
23
9
0
-6
-2
-35
-36
17
-1
18
3
7
6
-45
-31
-6
-22
-21
27
12
11
-19
-28
-38
-56
3
8
6
9
2
-4
2
-40
30
23
-52
26
43
-15
3
-5
36
-5
0
0
-7
4
22
50
-42
1
3
0
0
0
0
-1
-3
-2
0
0
0
48
79
-54
-28
-19
6
0
-7
-2
23
26
3
-19
-46
-5
-51
-14
-22
19
27
-5
7
-72
-42
-32
-30
-15
0
21
16
1
-24
-60
-8
-27
-21
-2
53
23
-7
-28
-17
-36
-51
-5
8
43
8
28
-1
-5
-37
-31
3
-84
64
-21
39
-22
-1
19
-3
-3
-1
9
14
-56
-20
50
-20
3
0
0
0
0
25
-24
18
0
0
0
0
0
0
0
0
-1
0
0
0
8
42
-16
-4
-8
-11
-1
-4
-2
31
44
-7
-14
-12
-37
-56
-24
-5
28
43
1
-4
-57
13
-57
-20
-23
54
58
33
-26
-61
-44
-46
-78
-1
-24
44
26
-51
2
5
-24
-9
-10
14
18
-5
-4
42
-67
11
-1
0
0
-3
-9
38
24
15
7
-9
0
0
0
0
-12
15
-3
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
-1
26
-11
0
0
0
0
0
0
-10
12
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
12
-3
-1
0
0
0
0
0
0
19
-66
12
1
0
0
0
0
0
18
-2
-45
-1
1
0
0
0
0
-2
-15
-2
51
-8
0
0
0
0
-46
-3
6
64
-1
1
2
0
0
43
-30
23
-37
6
4
1
0
0
22
-33
-28
12
15
-2
0
0
0
17
8
-2
7
0
0
0
0
0
-19
-8
0
0
-3
0
0
0
0
19
-66
6
0
0
0
0
0
0
27
14
-32
4
0
0
0
2
0
4
-40
57
20
-3
4
1
2
4
4
-16
23
-14
64
2
-21
25
-11
7
-27
28
51
73
28
9
25
20
-43
-26
10
28
49
9
87
21
63
4
-13
20
-3
20
51
42
-19
3
17
-40
27
5
30
26
11
7
0
-6
-13
-18
25
2
11
1
0
0
1
15
8
-4
-13
0
0
0
0
25
-17
-56
-3
0
0
0
0
0
24
7
-75
19
8
-3
8
0
0
27
-19
-4
49
-45
2
-32
24
15
15
-1
15
4
18
2
9
-45
7
-4
9
17
43
9
11
8
-6
45
-12
-10
17
11
58
73
73
47
7
-29
1
4
11
48
69
47
47
82
-5
-8
3
54
-3
-25
16
24
17
-34
15
-3
-27
-14
57
4
-2
-1
11
-14
9
-10
3
3
0
0
0
32
3
-16
-30
0
3
0
-12
-1
19
-12
5
-28
-25
-50
-24
-3
-8
12
6
5
21
-17
-14
-7
3
-85
25
8
10
12
38
59
-7
-43
-10
4
4
18
15
26
24
67
9
24
-24
5
8
25
-8
31
6
27
51
-23
-7
13
-5
-3
43
30
8
-23
-3
16
22
17
-16
31
24
31
32
-57
-16
-38
10
16
73
45
26
1
-1
26
13
1
0
21
2
3
0
35
32
-61
-13
-25
-11
2
-11
-1
20
12
-38
-70
-43
-33
-13
-20
32
25
6
-10
24
-17
8
-3
-15
-28
19
15
23
6
36
-45
-55
-21
-3
4
7
18
-5
7
-14
-13
-33
0
-27
6
11
-3
-8
3
-14
5
13
-20
8
7
13
-5
-2
4
6
39
-27
36
32
-6
15
-17
5
-25
0
-52
65
-10
-9
34
-22
13
10
0
0
-2
0
-11
32
-29
0
3
0
33
24
-125
-17
8
-1
-8
8
0
4
19
-6
-24
-67
-3
-38
-33
25
29
14
20
14
0
-2
-12
-91
25
17
32
10
-1
-42
16
-59
2
-13
-3
20
19
5
8
-35
-1
-13
0
-23
19
25
7
0
-21
0
-41
28
-18
-7
7
16
-12
25
-51
22
19
-51
10
36
6
6
-21
31
0
0
0
-9
5
19
59
-44
2
3
0
0
0
0
-4
9
-6
0
0
0
80
58
-69
-62
-21
0
1
-3
-2
23
40
-61
3
-43
-15
-18
-11
4
26
15
-4
-21
-65
-18
-27
-89
-71
-1
38
3
28
-23
-61
-19
-31
-17
-15
51
7
29
-34
-24
-11
-21
7
-10
37
41
23
6
3
-35
-57
0
-85
47
-22
2
-9
7
33
-4
-3
-1
17
15
-51
7
40
-18
3
0
0
0
0
27
-21
22
0
0
0
0
0
0
0
0
-1
0
0
0
-15
-20
-28
-6
-3
-9
2
-3
-2
13
44
-63
-31
-8
-52
-34
-18
0
35
58
10
-3
-61
3
-54
-12
-21
34
25
21
-36
0
-61
-35
-82
-6
-34
45
21
-17
-18
52
-46
-17
-8
10
65
9
8
11
-67
-35
-1
-1
0
-5
-10
62
15
24
4
-9
0
0
0
0
-20
12
-3
0
0
0
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
2
1
-2
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
-23
32
8
0
0
0
0
0
0
-11
0
13
3
-2
0
0
0
0
16
-24
29
9
1
0
0
0
0
73
-17
-16
-6
-1
1
0
0
0
34
16
-21
6
0
0
0
0
0
18
-16
-9
10
4
0
0
0
0
-8
-2
4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-1
0
0
0
0
0
-8
15
7
0
-1
1
0
0
0
8
6
-7
0
9
1
-1
0
0
25
-36
-13
-5
20
17
0
9
0
-7
29
10
25
-1
0
4
-7
0
41
-2
-14
37
-14
7
23
-2
1
-31
-18
40
22
23
31
4
0
0
-6
-21
-14
-9
30
10
0
-1
0
8
17
1
-1
4
0
0
0
0
0
1
0
0
0
0
0
0
0
13
9
-15
-4
1
0
0
0
0
48
-25
-25
0
-2
0
-1
1
0
-31
-15
43
-2
-11
1
4
2
7
-24
-2
1
35
-4
-10
13
-11
18
-13
-6
49
-21
36
25
30
18
3
38
-18
15
1
16
9
-16
11
-2
18
50
-60
22
11
-21
14
-8
1
-7
6
-9
31
15
24
8
3
0
10
6
1
-19
21
-6
0
0
0
-9
-7
0
0
0
0
0
0
0
-21
-30
2
-1
0
0
0
0
0
55
-61
-4
-7
-20
9
-10
3
-6
13
0
15
30
10
-36
8
-10
-24
3
17
2
55
-42
-13
2
-14
8
1
28
16
5
-11
5
-2
4
41
-19
50
-66
1
7
3
10
16
15
-32
50
10
-14
20
3
8
-1
0
-2
-6
-31
-21
37
8
10
0
0
0
19
9
0
4
-11
1
0
0
-1
-1
0
0
0
0
0
0
0
-64
6
-33
-9
0
0
0
0
0
14
-47
31
-18
-8
-12
-3
-12
-6
-13
23
10
34
-14
-29
-5
10
-26
16
23
15
19
-7
-21
18
16
-9
24
9
35
-38
-7
8
0
9
1
8
-8
0
-24
-5
46
-42
38
-1
-20
9
-7
37
7
-15
27
-19
0
-16
21
-45
5
17
-23
10
2
0
-1
-3
0
-10
20
-21
0
0
0
-8
-4
0
0
0
0
0
0
0
24
-34
6
-2
-10
0
0
1
0
-32
-34
-41
-1
19
-1
-6
-6
-1
20
16
6
8
0
30
-20
-4
-27
36
38
5
1
16
-7
33
-2
1
-38
-26
0
24
22
1
-4
-4
38
-38
-3
-31
33
-12
45
5
-8
8
-13
-3
35
20
-39
8
-17
0
0
0
-6
11
27
21
-12
-1
0
0
0
0
0
1
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
-13
12
-40
-1
-2
0
1
0
0
2
63
1
-27
-47
0
-10
-12
-1
47
111
-51
-16
-33
-31
-32
-8
-2
-4
41
-10
27
-17
21
-2
2
0
-12
-28
48
15
0
42
4
-12
1
-19
16
5
-46
34
-8
21
1
-2
-1
4
8
-7
-22
-9
0
1
0
0
0
0
9
-8
6
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
-16
-1
-12
-4
0
0
0
0
0
38
4
-6
-1
-23
-28
-3
-1
-1
26
-103
24
57
32
-25
-1
-8
2
-11
0
49
-2
-13
47
-13
0
-1
8
26
14
11
-15
-9
-18
0
0
0
0
3
6
-7
-8
0
-2
0
0
0
0
-13
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
37
13
-1
22
-12
-9
1
-12
23
-10
-8
4
-4
-9
-1
-8
-10
-19
-13
36
30
25
21
22
7
16
0
54
61
8
10
27
26
-2
-7
40
25
-41
20
7
9
34
18
-7
5
65
76
110
159
76
68
43
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
0
0
-1
4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
8
6
65
2
25
66
-43
-1
-29
-3
-18
3
6
12
-2
10
34
0
28
-2
-12
19
12
2
-7
-6
49
-23
16
18
4
30
82
-7
12
41
-4
20
2
-75
36
50
1
-3
101
49
-69
-41
67
47
60
18
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
4
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-18
-22
38
-26
21
82
-28
-18
-31
-9
-9
15
21
-13
21
25
67
0
16
-2
-11
18
8
0
-7
-7
31
-12
-3
21
10
32
81
-1
0
44
-9
1
3
-44
5
39
-14
-15
102
47
-110
-55
81
35
49
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
2
0
-4
0
-6
0
0
0
0
-8
-6
14
-10
15
27
1
1
0
0
0
0
0
0
0
0
0
0
2
-1
4
4
2
0
1
0
0
0
-1
0
-1
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
-145
16
21
11
-2
-39
0
2
4
-10
-50
7
-15
-45
-39
-136
-37
16
133
24
41
-13
8
-93
-20
-46
-30
9
25
-14
-5
27
-39
14
-46
-14
27
-32
47
-35
-11
8
15
-20
77
-82
-62
-93
-6
6
5
31
17
9
-33
-15
30
-17
-2
-27
-34
20
22
-9
18
14
12
-25
-27
-36
-14
-11
0
-9
0
0
0
0
0
-39
17
-4
64
64
51
18
-1
-54
-3
22
-15
14
-50
54
0
-13
28
19
-15
-20
-22
36
-66
56
13
1
36
-59
-7
-21
1
13
0
-33
0
-1
11
9
-6
-13
-14
2
-1
-5
7
-6
-62
20
35
47
-40
-14
-25
3
-49
-10
5
-2
-11
10
10
-23
4
-30
-1
-5
14
-19
18
0
0
0
0
0
0
0
0
0
0
-13
-17
1
16
-56
-2
-52
0
1
19
-22
-46
-42
68
-41
-6
-9
-19
8
-11
12
-53
29
-3
-26
-2
-25
-19
1
-26
12
34
-21
16
-21
-14
-55
-7
-2
-20
-26
-6
10
-9
-25
41
2
-40
-35
-28
8
9
20
8
36
19
-6
2
-9
-23
-13
-2
8
-41
46
0
-6
16
10
0
-12
-18
-20
-8
-7
0
0
0
0
0
-39
47
4
-4
-1
21
-66
28
-13
19
6
-4
6
12
11
-5
2
16
11
28
7
-12
52
-12
15
-30
-19
-12
4
-6
8
36
-27
-1
-46
1
-13
3
20
4
-7
-7
-13
-4
-14
5
37
-21
4
9
12
-25
-34
14
32
-9
3
4
16
-10
18
6
-55
-8
19
46
-19
-14
4
16
0
0
0
0
0
0
0
0
0
0
-3
-25
0
17
-38
-2
-39
2
6
15
-22
-31
-43
70
-27
-3
19
-43
5
-5
35
-38
-9
-12
-9
-27
37
-44
-4
-27
-10
39
-17
9
-2
-6
-42
-14
11
-42
-9
-26
17
-3
24
-4
17
-2
-4
-30
74
14
-3
14
-23
19
-27
15
-9
-36
-10
1
-13
-8
43
1
-47
9
35
51
-11
5
5
3
4
0
0
0
0
0
-9
70
-20
-35
13
24
-61
17
5
22
27
-26
6
51
-6
-9
32
9
22
21
-2
12
69
-17
-1
-38
-52
-29
27
64
48
51
-14
-25
-56
-18
22
-2
30
5
7
-19
-7
3
8
31
3
-7
-40
31
-45
-25
2
24
14
-11
-39
34
-16
43
10
10
-9
-1
11
18
-22
14
26
15
0
0
0
0
0
0
0
0
0
0
0
-15
-1
9
4
0
1
-1
6
0
1
4
-24
5
0
0
11
15
-5
1
0
-19
-20
-24
-4
0
14
-34
15
6
-9
-2
4
15
0
2
13
-14
18
16
4
-24
27
25
22
-24
-8
20
19
0
51
20
22
-19
-7
2
-9
28
-44
-10
3
0
1
3
-16
-3
9
10
23
27
-16
-13
1
20
28
0
0
0
0
0
4
-1
5
-50
32
-2
-1
-2
-21
0
-7
-6
-1
41
-4
0
20
32
-11
-7
1
15
9
7
-19
4
-16
-10
-15
47
3
35
-39
1
2
-16
9
26
-17
-3
42
20
-22
-27
-22
-35
-10
-10
-3
-4
-21
-9
18
7
7
2
6
1
-3
-11
-11
0
39
12
-17
10
2
-10
-6
-8
-6
-2
-5
-1
4
6
2
5
1
-3
-3
0
0
1
6
5
0
0
-1
-5
-2
-2
-2
-1
0
5
2
2
1
1
-9
-7
-6
1
5
15
12
8
3
4
2
0
0
0
0
0
0
-1
1
-11
-1
-2
-1
-2
-5
6
-10
-7
6
-1
-1
1
2
2
9
13
11
-8
-1
-2
4
4
8
15
8
32
0
0
0
0
0
0
0
0
-3
0
0
0
1
-3
-5
-9
-18
-29
6
-3
-5
0
0
4
9
24
27
-5
-1
-1
3
0
-2
4
6
5
1
0
-1
0
0
0
0
0
-1
-4
-4
-4
-3
-2
-6
-9
-20
-35
7
1
1
4
4
4
12
23
12
-2
4
2
-2
-3
-2
0
2
3
1
0
-7
13
9
4
1
-3
-6
7
-6
-3
-28
-15
-19
-7
5
-9
16
15
20
21
10
3
14
17
27
-2
2
-3
7
5
19
4
-15
-7
-33
-9
-131
-51
-362
-155
-278
-113
-36
-24
-85
-21
-19
2
-91
35
5
33
-3
1
-61
-19
-2
55
18
15
30
16
4
15
0
0
-9
-6
-25
-23
-60
-57
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
22
9
-20
-6
0
0
17
14
-18
4
-17
-13
0
0
-49
-32
-11
-8
-156
-43
0
0
66
58
0
0
0
0
0
0
0
0
1
0
-9
-1
0
0
-32
3
-118
-13
-72
-46
0
0
-50
-34
3
10
-28
-12
0
0
-88
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-5
-167
-74
-112
-13
0
0
-45
-10
-13
-11
-51
-45
0
0
-221
-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
-7
-2
-398
-154
-315
-160
0
0
-76
-90
13
-7
-173
-92
0
0
-256
-116
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-462
-121
0
0
-126
-13
-306
-77
-319
-169
0
0
-674
-117
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-126
-30
0
0
-115
-36
-105
-21
-280
-181
0
0
-212
-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
-47
12
-66
0
-35
-13
0
0
-61
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
-139
-18
0
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
-218
-121
0
0
-77
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
0
0
1
2
0
13
15
0
0
-62
-45
-100
-39
0
0
-27
-30
-26
-36
-20
5
-105
-82
0
0
0
0
0
0
0
0
0
0
1
0
-9
-3
-5
-12
0
0
-45
-24
-71
-72
0
0
-12
-14
7
18
-35
-24
24
33
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
6
11
0
0
-38
-10
-32
-23
0
0
-34
9
2
-4
-27
-10
-37
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-9
0
0
-467
-168
-141
-119
0
0
-110
-80
-82
-41
-119
-38
-20
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-311
-179
0
0
-79
-35
-98
-49
-134
-81
-291
-213
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-104
-110
0
0
-92
-30
-68
-99
-39
-37
-87
-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
-103
-89
-20
9
-112
2
-53
-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
-66
-68
-79
-51
-68
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-106
-24
-69
-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
-61
-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
4
2
60
48
-57
1
0
0
0
14
-144
-21
-30
-9
0
0
-9
27
37
-4
-1
17
0
0
-21
-15
0
0
0
0
0
0
0
0
11
4
-41
-20
0
0
-26
2
-147
35
-28
-34
0
0
-56
7
21
-19
23
10
0
0
-46
-20
0
0
0
0
0
0
0
0
0
0
28
24
0
0
52
10
-118
-84
4
-21
0
0
15
12
-7
19
-28
-49
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-473
-138
-28
-20
0
0
-28
-30
-40
10
-86
-31
0
0
-62
-80
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-197
-55
0
0
-18
-4
-77
-15
-139
-56
0
0
-301
-85
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-11
0
0
0
29
-7
1
-27
9
0
0
-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
17
-10
13
-13
-13
30
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
-49
10
12
34
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
-20
-59
0
0
-83
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-79
-21
77
13
-33
1
0
0
-27
-47
-51
-36
0
0
-23
-47
-42
48
8
12
-45
-16
0
0
0
0
0
0
0
0
0
0
1
0
1
24
-45
7
0
0
-20
-18
21
-56
0
0
-30
-18
0
17
-60
-7
-41
27
0
0
0
0
0
0
0
0
0
0
0
0
10
6
30
32
0
0
-119
-20
8
9
0
0
-12
-11
10
-11
3
-40
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
47
0
0
-237
-117
-66
-41
0
0
-25
-45
-29
-29
-23
15
-18
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-111
-29
0
0
-27
4
-44
-27
-56
-31
-103
-78
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-52
-9
0
0
-22
9
-30
6
-20
15
-54
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-2
-22
13
-20
1
-49
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-57
22
-8
23
-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
-6
-19
-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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
63
45
-38
-11
0
0
-13
-14
-141
-26
-57
-27
0
0
13
38
-14
-1
26
8
0
0
-38
-16
0
0
0
0
0
0
0
0
4
4
-36
-23
0
0
-26
28
-84
50
-17
9
0
0
-20
-17
-9
-3
-4
2
0
0
-24
-24
0
0
0
0
0
0
0
0
0
0
28
21
0
0
46
10
-66
-26
-32
34
0
0
20
15
0
3
-24
-10
0
0
4
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-288
-45
-22
46
0
0
-37
17
-24
-34
-18
38
0
0
7
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-94
28
0
0
-40
45
-41
40
-78
-18
0
0
-162
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
28
0
0
-4
29
7
-24
-13
-1
0
0
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
18
12
6
-26
23
0
0
-31
-30
0
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
28
2
0
0
-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
-33
-6
0
0
23
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-78
-17
86
10
-44
-51
0
0
-25
-3
-35
7
0
0
-27
-47
-18
-11
-25
11
0
-16
0
0
0
0
0
0
0
0
0
0
9
-3
11
30
-60
-31
0
0
-14
-31
13
18
0
0
-24
-20
60
0
-48
5
-38
-7
0
0
0
0
0
0
0
0
0
0
0
0
14
6
9
18
0
0
-105
-8
-3
26
0
0
-41
-1
22
6
-7
-40
12
-40
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-2
0
0
-181
-1
-37
-6
0
0
-9
-25
20
36
-3
5
-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
-87
38
0
0
-26
26
-44
37
-54
43
-72
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
11
0
0
10
-12
19
9
-3
19
-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
-19
37
-1
-10
8
6
-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
1
16
-4
-9
-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
-12
6
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
-45
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
4
0
1
0
0
0
-6
-8
-71
-23
-50
-14
0
0
-8
4
6
8
2
-4
0
0
-32
-15
0
0
0
0
0
0
0
0
4
1
3
-1
0
0
2
3
-23
-30
-13
6
0
0
7
5
17
35
44
-9
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
10
12
24
3
-72
-30
0
0
36
1
-23
6
-7
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
-1
-1
125
73
4
35
0
0
-50
-61
64
33
26
5
0
0
27
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
24
0
0
49
30
-46
-5
18
-1
0
0
111
52
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
5
0
0
50
35
-75
-31
-13
7
0
0
68
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
50
48
-15
-7
-4
-7
0
0
-39
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
4
-21
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
0
0
55
40
0
0
93
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-1
2
1
-2
-35
-28
0
0
5
9
10
3
0
0
-17
-13
-50
-8
26
19
4
-4
0
0
0
0
0
0
0
0
0
0
8
3
16
3
-6
-3
0
0
-1
-13
-11
13
0
0
32
12
45
29
-59
-21
-20
-4
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-7
-2
0
0
-40
-32
-12
-2
0
0
-39
-19
13
5
-21
-8
2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-11
0
0
56
53
45
50
0
0
-13
6
69
40
-95
-14
28
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
13
75
0
0
-4
25
-51
64
-37
28
30
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-39
-5
0
0
-50
9
-37
-9
14
-4
46
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
-48
-4
17
-47
14
-25
37
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
18
3
-2
-12
-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
-5
-24
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
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
-31
-11
-6
-15
-35
-38
39
-24
1
-20
-27
0
-7
8
-24
41
-28
11
0
-10
-35
12
-14
12
24
16
0
0
0
0
0
0
-13
-32
-16
-19
-23
22
-31
-27
-30
-9
-18
0
-12
10
-1
-16
-6
-9
-14
-8
-9
16
0
-8
-14
-33
0
0
0
0
0
0
-21
-28
-21
-41
-27
-9
4
-26
-28
-35
-29
0
-34
-43
-28
-26
-40
-11
-25
-35
-43
-47
14
-32
7
-57
0
0
0
0
0
0
-16
0
1
16
-14
-18
36
-34
-16
-41
-33
0
39
-10
30
-2
-7
40
-10
24
-37
-13
-15
9
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
-24
-9
-4
-26
0
0
-3
-4
0
0
0
0
0
0
-8
1
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-10
-32
-30
-40
-13
-122
-78
0
0
0
0
0
0
-145
-96
-61
-36
-134
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-53
-9
-80
-52
0
0
0
0
0
0
-86
-50
-35
-10
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-291
-72
0
0
0
0
0
0
-142
-54
-229
-60
-329
-54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-127
-65
0
0
0
0
0
0
-83
-46
-156
-61
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-103
-26
-105
-25
0
0
0
0
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
24
-182
-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
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
4
0
0
0
-5
0
0
0
0
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
-1
13
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
-37
-31
0
0
0
0
0
0
-69
-88
-12
-19
-10
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-37
0
0
0
0
0
0
-41
-13
-34
-18
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
-11
31
-27
3
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
-4
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-49
-15
-1
-12
-1
0
9
-20
0
0
0
0
0
0
34
17
17
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-54
-23
-77
-76
-251
-77
-62
14
0
0
0
0
0
0
-64
-10
-95
-75
-124
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-187
-48
-63
-45
0
0
0
0
0
0
-44
-28
-57
-52
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-163
-27
0
0
0
0
0
0
-111
4
-172
-76
-262
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-75
-20
0
0
0
0
0
0
-55
11
-42
29
-51
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-1
-20
10
-61
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-49
-6
-28
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
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-8
11
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
6
29
39
7
-6
-25
-28
0
0
0
0
0
0
-14
18
4
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
18
23
0
0
0
0
0
0
22
13
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-32
0
0
0
0
0
0
-20
-30
-50
-3
-31
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-18
0
0
0
0
0
0
-17
1
-34
8
-62
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
-11
-26
-43
23
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
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-18
-41
20
-4
-1
0
10
-3
0
0
0
0
0
0
36
23
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
-15
-18
-44
-253
-70
-23
37
0
0
0
0
0
0
-33
-32
-40
-49
-90
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-151
-45
-3
3
0
0
0
0
0
0
-58
-11
-30
-39
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
41
0
0
0
0
0
0
-84
41
-107
-53
-193
-49
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
29
0
0
0
0
0
0
-30
14
-15
-9
-51
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
-31
-17
-38
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
-38
-13
2
67
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
-2
-9
11
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
23
25
15
-10
-20
-31
0
0
0
0
0
0
-33
-15
2
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
2
16
25
0
0
0
0
0
0
29
13
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
-13
0
0
0
0
0
0
-15
17
-49
-24
-15
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-7
0
0
0
0
0
0
-8
-20
7
16
-53
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
22
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
7
0
0
2
-2
0
0
0
0
0
0
4
10
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
-4
-7
-1
20
20
0
0
0
0
0
0
-2
-6
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
6
0
0
0
0
0
0
-5
-13
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
61
0
0
0
0
0
0
13
53
-3
-11
6
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
21
0
0
0
0
0
0
9
14
7
-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
10
13
-3
-3
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
7
0
0
0
0
0
0
-19
18
-2
2
4
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
-20
-2
13
6
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
12
-7
-3
-9
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
2
0
0
0
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-31
-7
0
-2
0
0
9
-25
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-11
0
-4
6
0
0
-10
0
3
0
0
6
0
0
0
-13
1
0
6
-25
3
0
15
-2
6
0
0
-3
0
0
0
-28
12
0
2
-24
1
9
0
17
-39
0
0
0
0
0
0
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-47
5
0
2
0
0
0
-1
2
-9
0
0
6
0
0
0
-3
-10
0
2
0
-13
0
0
-1
1
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
13
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
18
26
0
-2
0
6
4
-7
21
-13
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
1
0
0
3
-4
0
0
0
0
0
0
0
0
49
0
-19
4
2
0
-2
-1
-4
0
0
-4
0
9
0
1
-68
0
2
-2
-11
-9
3
22
2
0
0
1
0
0
0
0
27
0
9
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-1
0
-15
4
0
-1
-7
0
0
0
-6
0
0
0
0
0
0
0
9
-9
0
2
-4
0
0
-1
1
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
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
1
0
-7
10
7
1
-9
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-12
0
0
0
0
0
0
2
-3
0
-13
0
0
0
-1
-1
-26
0
0
0
0
0
0
0
1
0
-16
0
0
0
0
3
-33
0
0
0
0
0
0
0
-21
0
-2
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
-12
-2
3
-1
-35
3
0
0
4
-12
2
-2
18
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
11
20
0
6
24
7
-13
-12
11
-19
0
0
17
21
-1
10
-11
52
0
7
29
14
16
43
-32
-23
0
0
-38
-9
-7
9
-21
35
0
-48
-6
3
10
4
24
16
0
0
-7
0
0
0
-3
-11
0
-2
12
0
21
3
11
-26
0
0
-4
0
0
0
-36
7
0
0
0
0
0
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
2
1
0
0
-5
0
-2
10
3
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
-4
1
10
7
0
0
2
14
-2
9
65
-17
0
0
41
6
0
2
16
-2
0
-3
12
4
-1
-25
7
17
0
0
2
0
3
0
-15
-6
0
3
-5
1
-4
3
-37
-8
0
0
0
0
0
0
0
12
0
0
0
0
0
-3
0
2
0
0
16
0
3
0
27
0
0
3
-1
0
0
3
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
6
24
0
1
-3
0
-7
27
-2
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
-2
0
0
0
3
0
0
0
-4
0
0
0
-14
5
0
16
0
-2
0
1
-9
-5
0
0
8
0
0
0
-17
7
0
0
-10
0
-3
0
-26
7
0
0
0
0
0
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
-2
2
-15
0
0
16
0
0
0
0
4
0
0
0
0
0
0
-6
1
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
-4
0
0
0
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
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
-12
3
8
3
0
-1
4
6
-27
-37
20
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
7
-34
0
2
-8
0
0
5
-49
7
0
0
-7
-6
0
-2
30
-2
0
-26
-31
6
-29
-27
-23
30
0
0
-33
0
0
2
5
7
0
21
26
11
-3
16
18
7
0
0
4
0
-2
0
-22
38
0
2
-3
0
-15
-5
6
21
0
0
0
0
0
0
15
-4
0
-28
1
0
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
-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
11
0
0
0
2
3
0
0
-10
0
-6
-15
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
9
1
-2
7
0
0
-8
0
14
1
1
0
0
0
-5
0
1
0
-66
-5
0
2
-27
0
0
-15
-13
-29
0
0
7
0
2
0
5
0
0
-17
-9
0
-6
0
11
-24
0
0
-4
0
0
2
0
-7
0
-9
0
0
0
-13
0
17
0
0
-10
0
2
0
-17
-1
0
10
-1
0
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
0
1
-11
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
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
28
-11
0
0
9
12
7
14
-18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-8
27
0
0
-1
0
0
-2
-17
42
0
0
24
0
0
-1
-38
5
0
-52
-8
22
1
25
-33
-67
0
0
18
0
0
9
14
-44
0
-26
-41
1
-26
-6
-37
-27
0
0
2
0
0
0
-23
-9
0
-2
-3
0
0
1
-2
-31
0
0
26
0
0
0
-13
-27
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
2
3
0
0
3
0
0
-1
-7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
-21
0
0
1
1
0
0
-36
14
0
0
27
0
0
0
30
7
0
-2
9
0
0
-7
-6
5
0
0
6
0
0
0
-14
6
0
-1
-1
0
0
0
2
-6
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
0
-8
0
0
0
1
1
0
-5
-3
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
0
0
0
0
0
0
7
-11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-9
0
0
0
0
0
0
0
-2
0
-8
0
0
0
-21
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-3
0
0
0
1
0
4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
-1
-1
-18
-11
0
-3
1
-13
-50
6
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
1
0
0
13
0
-8
-12
6
12
15
6
-8
0
0
-4
8
0
0
54
51
0
54
-8
14
-14
20
2
14
0
0
14
-2
18
0
-18
34
0
-49
-7
0
-9
-3
-16
-17
0
0
4
0
0
0
-6
23
0
-18
5
1
2
9
-4
-39
0
0
-2
0
0
0
-78
-39
0
-3
0
0
0
-15
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-2
0
7
-7
0
0
-10
-4
-3
-3
-6
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
-6
33
-18
0
-2
-15
1
0
13
8
45
0
0
9
0
0
-3
41
22
1
7
14
7
0
-24
1
0
0
0
-10
0
0
0
-8
12
0
9
1
0
-1
0
3
7
0
0
0
0
0
0
0
-3
0
7
2
0
0
0
0
-2
0
0
-14
0
0
0
16
3
0
-1
-1
0
0
-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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
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
0
-4
1
0
4
-6
7
16
-1
3
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
-13
0
0
8
0
0
-6
41
1
0
0
-6
1
0
3
3
39
0
43
-19
-13
-3
6
-3
21
0
0
21
1
-6
0
4
-5
0
46
21
0
0
-30
-3
-20
0
0
-1
0
0
0
0
-13
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
24
0
1
9
0
0
-7
25
-4
0
0
28
0
0
-3
7
-4
-3
3
-16
0
0
4
4
13
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
-3
8
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
-4
0
0
0
-11
-9
0
0
0
0
0
0
0
6
0
0
9
0
0
0
0
0
-6
0
0
0
0
0
0
-2
-8
0
2
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
-8
-1
-9
-8
16
5
0
-33
-21
-8
-65
-31
-2
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
-7
25
0
3
-11
-18
22
-14
-21
-8
0
0
47
38
-1
-2
-2
-14
-1
-1
-28
-23
-8
-1
-62
68
0
0
-20
-10
30
21
46
20
3
-26
-22
-15
-44
0
-39
-7
0
0
2
0
-1
16
42
4
-3
-3
41
1
2
-7
-12
-7
0
0
17
0
0
0
-35
0
0
-8
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
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
4
-10
0
1
-4
0
0
-6
-13
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-18
-6
14
0
-12
1
-30
-7
17
50
2
0
0
-32
7
7
-3
3
15
0
-16
-2
16
0
31
-25
-11
0
0
1
0
-3
0
34
-3
0
-25
-50
2
-2
1
2
-4
0
0
0
0
0
-1
0
1
0
3
-1
0
0
10
0
-19
0
0
7
0
0
3
29
0
0
-1
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
7
0
0
0
0
0
7
0
0
0
0
0
0
0
0
1
-1
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
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
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
15
0
-7
0
0
0
-9
-1
3
0
0
4
0
0
0
10
14
0
-9
0
0
3
0
-41
13
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
-1
0
0
0
0
-1
-9
0
0
2
0
0
0
-1
-1
0
0
0
0
0
-3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
2
-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
1
-4
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
20
-1
-2
0
0
0
0
0
0
2
9
0
0
0
0
4
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
-4
0
0
0
0
-11
0
0
0
0
0
0
9
-1
0
0
1
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
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
3
0
0
0
0
0
0
0
-9
5
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
-14
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
16
16
0
0
-2
0
-11
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
4
-1
1
0
0
0
0
0
0
-5
1
0
0
-3
0
0
-7
14
-1
0
0
0
0
0
0
13
0
0
-1
0
0
-11
0
19
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
0
19
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
-13
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
-7
1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
24
0
0
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
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
4
2
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
2
-36
0
2
0
0
0
0
-18
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-9
0
0
0
-10
15
0
-1
-7
-2
-9
4
1
38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
11
0
-2
2
0
0
2
26
7
0
0
1
0
0
0
14
-20
0
-6
1
0
0
18
-3
-4
0
0
4
0
-2
0
-2
-11
0
28
7
8
-10
11
1
-47
0
0
0
0
0
0
0
-8
0
-4
0
0
0
-1
0
4
0
0
0
0
0
0
20
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
-1
-9
3
0
0
2
0
0
0
7
21
0
0
9
0
0
0
-4
-7
0
0
9
0
0
-1
0
-2
0
0
0
0
0
0
3
0
0
1
-6
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
15
0
0
0
0
0
0
-21
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-13
-2
0
0
1
0
0
0
-7
-27
0
0
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
-11
0
0
0
-3
-1
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-19
-16
0
-10
0
0
0
-1
19
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-11
5
0
0
-2
0
0
0
2
2
0
0
0
0
0
0
28
14
0
3
-3
0
0
33
5
5
0
0
-7
0
-1
0
-32
-7
0
16
-3
1
8
0
-31
5
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-21
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
-10
0
0
4
0
0
0
-6
9
0
0
4
0
0
0
-28
-6
0
0
0
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-4
0
0
0
0
-2
2
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
-2
0
0
0
0
0
0
3
-2
0
0
0
0
0
0
0
-8
0
3
0
0
0
-3
9
-4
0
0
0
0
0
0
-1
-19
0
1
-7
0
-3
0
-10
3
0
0
0
0
0
0
0
1
0
0
0
0
0
-2
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
-7
0
0
0
0
0
0
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
10
-18
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
1
0
0
0
-5
-1
0
0
9
0
0
-3
11
-3
0
0
0
0
0
0
-7
0
0
-1
4
0
0
-30
5
-9
0
0
23
0
0
0
7
10
0
8
8
3
4
0
-13
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
4
-2
0
0
-16
0
0
-1
-10
3
0
0
6
0
0
0
8
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
5
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-14
-22
0
0
0
0
-2
0
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
-21
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
18
-3
0
-1
0
6
1
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
18
4
0
0
0
0
0
0
7
0
0
0
-2
0
0
0
-1
10
0
9
18
-4
0
-32
24
-9
0
0
6
0
0
0
17
-2
0
-15
0
0
24
0
-33
13
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
7
0
0
0
0
0
0
14
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
23
2
0
0
0
0
0
0
-18
-9
0
0
-7
0
0
0
-5
-2
0
0
-15
0
0
-1
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
4
0
0
0
0
0
7
0
-10
0
0
0
0
0
0
0
0
0
1
0
0
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
8
0
0
0
2
22
0
0
0
0
0
0
9
3
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
8
0
0
0
0
9
9
-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
7
0
0
0
0
0
0
0
0
-10
0
7
0
0
0
0
8
-9
0
0
0
0
0
0
0
0
0
-1
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
15
-1
0
0
-7
0
21
-1
9
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-1
0
0
0
0
0
0
10
0
0
0
0
0
0
0
42
7
0
18
-3
0
0
30
-25
-3
0
0
0
0
0
0
3
-1
0
-4
6
0
2
0
-6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
0
0
-15
0
0
0
-6
-1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
4
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
8
0
-4
0
0
0
0
0
0
41
-18
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-50
-19
0
-1
2
-8
-16
-23
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
-14
-35
-3
-28
-24
6
2
0
0
-2
0
0
0
6
-9
0
-16
-8
-2
4
-16
45
3
0
0
-7
0
4
0
6
19
0
-9
12
-27
-35
1
3
8
0
0
0
0
0
0
0
-25
0
-1
0
0
0
0
0
1
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
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
-11
3
0
-2
-2
0
0
12
-11
2
0
0
-1
0
0
0
-1
-24
0
-7
-2
0
0
-3
0
0
0
0
0
0
0
0
0
4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-3
15
0
-4
0
0
6
-15
-24
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
8
-6
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-38
-5
0
5
6
0
0
3
3
-2
0
0
-3
0
0
0
-10
-2
0
-30
-11
2
2
-1
-17
-12
0
0
0
0
0
0
0
-1
0
-6
0
0
0
0
0
1
0
0
0
0
0
0
3
-1
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
5
-8
0
0
-4
0
0
0
-11
-3
0
0
-4
0
0
0
2
27
0
3
0
0
0
2
-1
24
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-15
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
-9
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
9
0
-1
0
0
0
26
-1
39
0
0
0
0
0
0
-3
-8
0
1
0
0
0
0
-7
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
-1
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
0
3
2
0
0
-11
0
6
0
0
0
0
0
0
0
21
0
-4
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-14
0
0
0
0
-8
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
10
0
0
0
0
-11
1
0
12
0
0
0
0
0
0
-4
-4
0
0
0
0
0
-10
0
-15
0
0
0
0
0
0
-3
3
0
2
0
0
-63
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
0
0
0
0
-7
-12
-11
-4
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
-3
0
0
11
12
10
0
0
1
0
0
0
-19
3
0
6
2
0
0
27
13
3
0
0
0
0
0
0
12
-6
0
4
-1
0
-7
10
10
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
0
2
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
5
-24
0
0
-2
0
0
-1
-4
-3
0
0
0
0
0
0
0
7
0
-1
0
0
0
-24
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
-16
12
0
0
0
0
0
0
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
1
0
0
0
0
26
0
0
0
0
0
1
12
-8
0
0
0
0
0
0
0
-1
0
-2
0
0
-17
0
25
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
10
0
0
-1
0
0
0
-3
2
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-9
-9
0
2
21
-6
5
4
-31
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-32
-19
0
0
10
0
-2
-1
-24
-13
0
0
1
0
0
-1
3
-18
0
5
-11
6
-10
19
-6
5
0
0
5
0
0
0
-75
-36
0
32
-37
9
-36
-9
-4
1
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
11
0
0
0
0
0
0
16
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-6
-1
-1
0
1
1
0
0
0
-39
0
0
0
-3
0
0
0
34
-11
0
21
12
0
0
8
0
39
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
-14
1
0
1
0
1
0
-6
0
0
0
0
0
0
0
0
-16
7
0
3
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
7
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
2
-7
0
1
0
1
0
19
9
0
0
0
0
0
0
0
2
12
0
10
0
0
6
0
-8
18
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-10
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
3
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
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
3
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
6
0
0
0
0
0
16
3
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
0
0
0
0
2
1
-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
-7
0
0
0
0
0
0
0
-2
16
0
0
0
1
0
10
7
0
0
0
0
0
0
0
-1
-9
0
0
0
-2
2
0
10
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-10
0
0
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
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
-10
3
1
1
-2
0
3
-9
-9
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-2
-18
0
19
17
-16
4
50
-9
-5
0
0
71
7
0
1
-20
20
7
-8
-8
0
-2
-19
-20
-35
0
0
117
0
-3
1
-23
-31
4
8
-6
3
-30
-13
-21
5
0
0
52
0
0
0
-10
-11
0
-6
-2
0
-6
-2
-14
3
0
0
59
0
0
0
13
-2
0
2
0
4
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
5
8
2
1
6
9
15
-24
-16
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-4
0
2
0
0
0
0
0
0
0
0
0
6
0
0
0
4
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
0
8
7
-7
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
-7
0
0
0
0
0
1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
4
7
-52
-35
-1
-8
5
-8
-2
-24
9
-63
0
0
-35
0
-2
-3
-12
3
3
6
8
-2
-5
21
-14
-42
0
0
3
0
1
0
1
1
0
-21
-27
7
-22
-7
6
-15
0
0
4
0
0
0
0
-2
0
1
-29
0
0
1
0
-4
0
0
6
0
0
0
-12
0
0
-6
-10
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
-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
0
0
0
0
0
0
-5
0
0
16
1
0
0
-1
0
0
-1
7
2
0
0
0
68
0
0
2
0
0
-6
0
0
-9
0
-17
-9
0
0
0
13
0
0
0
1
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
4
0
0
3
0
0
0
0
1
0
0
0
-10
0
0
15
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
2
0
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
-1
0
-3
-7
0
0
3
-5
-19
0
0
8
0
31
0
-14
-8
0
0
8
0
0
36
26
-38
0
0
4
0
105
0
-6
-1
0
-1
0
-4
-2
1
12
-25
0
0
0
0
-22
0
0
17
0
0
0
0
0
0
0
-16
0
0
0
0
25
0
-12
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
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
-17
-22
0
0
1
0
0
2
1
1
0
0
-1
0
20
0
-6
-8
0
4
2
0
0
15
2
1
0
0
0
0
-9
0
0
0
0
4
-6
0
0
0
0
6
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
0
0
0
-1
0
0
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
6
2
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
-5
-6
-12
0
0
0
0
0
0
0
-4
0
0
0
0
0
20
-11
-16
0
6
12
0
0
-24
-6
6
0
0
0
0
0
2
0
2
0
10
0
0
4
0
-30
-18
0
0
0
0
0
78
0
4
0
-3
0
0
0
0
0
-15
0
0
0
0
0
8
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
41
-6
1
0
0
16
0
0
0
-39
-9
0
0
0
0
0
20
-2
12
0
-1
1
0
0
0
1
-3
0
0
0
0
0
-12
0
0
0
0
4
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-36
-8
13
-6
-24
-37
-37
25
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
11
0
14
30
0
12
-42
8
-2
-25
-11
-11
0
0
-21
-31
1
-18
14
75
-2
-28
-9
-29
-43
0
-30
-6
0
0
-33
10
38
8
10
15
9
1
-27
-60
-43
-24
8
6
0
0
-16
0
0
0
21
-36
-1
-21
7
-9
-13
-3
0
3
0
0
-3
0
0
2
-39
-28
1
23
-12
-8
-1
-108
-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
-29
12
2
-23
-3
-19
11
-8
-15
-11
0
0
0
0
0
0
0
0
-7
0
-1
0
0
6
0
-3
0
0
0
0
0
0
-3
0
0
12
0
-1
2
8
0
-10
0
0
0
0
0
0
-3
0
0
1
0
0
0
4
0
1
0
0
0
0
0
0
1
-3
0
3
-6
-2
0
24
0
3
0
0
0
0
0
0
10
0
0
-10
5
4
0
1
-1
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
-30
-27
0
2
1
-16
-18
25
-8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-9
15
-17
25
7
-1
12
-10
-9
-16
-38
9
-39
0
0
-15
10
4
-6
-11
4
8
6
11
-35
-6
-36
-13
-33
0
0
9
-1
10
0
-32
-67
-1
-1
-25
18
3
-45
-15
18
0
0
0
0
0
0
47
0
0
-9
9
-7
0
3
0
-88
0
0
34
0
-4
6
12
-2
0
-39
-5
9
-4
-14
-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
17
2
8
-25
4
-20
14
-30
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-42
0
25
-10
24
9
-58
-12
35
42
-4
-55
-10
0
0
-42
-21
19
-22
-16
12
-6
-5
-12
-12
-4
-35
18
-5
0
0
-35
-33
-32
-5
-15
14
0
-6
-35
-69
-45
-48
10
-54
0
0
-14
12
0
-17
-45
11
0
29
6
-44
-23
-89
-26
-28
0
0
-16
-1
-11
0
0
-15
0
-13
21
30
-15
-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
-14
9
23
10
30
44
9
-36
15
14
0
0
0
0
0
0
0
24
-13
9
15
1
1
6
-2
10
0
0
0
0
0
0
-18
-10
2
-4
0
1
0
10
-15
0
0
0
0
0
0
0
2
-11
0
8
-2
-3
0
-4
1
4
0
0
0
0
0
0
0
-10
0
-11
1
14
11
-9
-7
6
0
0
-1
0
0
0
26
7
0
27
20
0
-4
20
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
0
13
2
2
1
-12
-3
11
-13
-9
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
3
35
39
17
5
0
7
-32
-29
-11
-4
-19
-24
0
0
-39
16
3
18
34
-4
38
18
26
-30
-19
17
-14
-14
0
0
-36
0
-11
-12
15
-5
4
4
-32
-7
-17
-6
-16
-24
0
0
-11
0
1
-2
18
20
1
33
-28
-32
-15
-24
-16
-26
0
0
-26
0
0
0
-27
34
1
-11
-6
5
-33
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
-6
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
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
-1
0
0
0
-1
-7
3
0
0
0
0
0
0
2
-3
0
7
0
0
-3
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
-1
0
0
0
-1
0
0
0
0
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
3
7
45
25
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
-22
-1
0
0
-9
-55
4
0
0
-1
0
0
1
-24
27
0
9
-10
-6
-1
3
-29
-14
0
0
-11
0
8
-6
-2
23
0
64
-1
3
-5
-7
-33
-33
0
0
0
0
0
0
0
-10
0
1
13
0
-1
12
0
-31
0
0
0
0
0
0
-21
6
0
10
0
0
0
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
1
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
-31
0
0
2
-9
3
0
-9
27
1
0
-3
-20
-8
0
0
5
0
0
-1
-3
-6
0
-5
2
0
0
2
3
22
0
0
6
0
0
0
-8
15
0
-67
7
0
8
-3
15
13
0
0
0
0
0
0
0
-1
0
-2
0
0
0
0
0
10
0
0
9
0
0
0
3
0
0
9
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-2
-10
0
-7
-16
-11
14
-11
8
-7
0
0
-21
4
0
0
-12
-11
0
-21
-28
0
-33
22
-7
-5
0
0
0
2
-48
4
-68
21
-2
-35
-1
3
-18
-36
-21
-12
0
0
0
0
0
0
4
-6
0
-16
1
0
-12
-28
-32
-6
0
0
0
0
0
0
-25
-1
0
0
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
0
0
0
5
1
-1
-3
-10
-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
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
10
0
0
0
0
0
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
4
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
-1
-29
-23
0
0
8
0
-1
9
-18
-53
0
0
47
0
0
7
-35
-25
-11
-8
0
4
0
-21
-30
-31
0
0
8
0
0
0
-2
3
0
5
13
-1
-1
-7
-10
-18
0
0
0
0
0
0
0
-1
0
-2
0
0
0
-7
0
-33
0
0
2
0
0
0
-15
0
0
1
-7
0
0
1
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
1
-62
-20
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
2
-2
0
9
-1
9
-9
0
0
6
-14
-7
-1
-32
23
-2
9
-21
-5
-18
-18
-43
-30
0
0
-10
0
12
0
-27
-14
0
-9
-27
26
9
-18
-21
17
0
0
0
0
0
0
0
20
0
1
0
0
0
3
0
-36
0
0
0
0
0
0
2
-9
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
1
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
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
-16
0
0
0
-2
-25
0
-1
-3
0
0
2
8
-15
0
0
-3
-2
0
-7
-22
-23
6
-6
-26
-1
0
6
11
-12
0
0
1
0
0
0
-2
-7
0
4
0
0
1
0
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
18
0
0
0
0
0
0
-19
0
0
0
-10
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
42
-24
-88
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
0
-4
-59
-6
0
-2
3
6
14
27
-19
-29
0
0
5
2
0
22
-8
-27
-2
12
-12
-25
-10
-12
14
17
0
0
-28
17
-1
-13
-42
-3
-10
17
-73
-1
-53
7
-14
-13
0
0
1
0
0
0
-40
-65
0
10
7
-7
-60
29
-16
28
0
0
-1
0
0
0
-30
-28
0
1
-10
6
12
-12
-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
8
6
0
9
0
-1
0
6
-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
2
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-2
0
0
2
-4
0
-25
0
0
0
0
0
0
0
0
0
-1
2
0
-1
-7
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
11
-15
0
0
1
-3
11
2
-16
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
-4
-2
-32
3
-35
1
15
26
-4
7
-17
-14
2
0
0
-6
2
0
-19
4
18
-12
-24
-29
3
4
-57
-27
0
0
0
-7
0
0
0
1
-8
0
1
-5
22
-73
-5
-27
-45
0
0
2
0
0
0
0
-9
0
-4
-11
0
-29
16
0
-37
0
0
-11
0
0
0
-6
0
0
-17
-8
3
-94
-20
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
1
-1
0
1
-29
0
-4
-32
8
-38
-11
21
-36
0
0
-2
-6
-2
-2
-51
-2
-1
-36
-18
34
1
25
-51
-41
0
0
8
0
12
-7
6
25
3
-37
-35
-33
16
-31
-25
-74
0
0
-33
0
0
0
-5
-35
-4
16
-1
-22
-19
58
-38
-1
0
0
14
0
0
0
7
-11
0
-6
-3
0
-2
-42
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
-7
2
6
-9
-9
0
-8
-14
-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
-1
0
0
0
-4
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
3
0
13
-1
0
0
29
-1
2
0
0
0
0
0
0
3
0
0
8
8
0
0
-12
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-8
-6
0
-1
-6
-3
-2
18
9
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
-10
-3
27
31
1
-12
-4
-10
-6
-19
15
2
0
0
47
9
-1
-6
-2
-12
18
16
37
-5
-19
45
-34
9
0
0
-4
0
-2
0
1
-6
0
-1
4
-26
7
-52
-20
0
0
0
4
0
0
0
-4
-7
-2
13
-59
0
0
6
0
-66
0
0
10
0
1
0
17
20
0
0
-20
-8
4
-82
-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
38
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
6
0
12
97
-15
-1
-29
-29
-28
-20
0
5
8
0
0
-53
17
-11
-33
15
-23
4
-48
-47
-25
-60
-21
-16
-6
0
0
-37
2
34
-29
-38
-27
4
-28
-55
-11
-54
-70
-5
-16
0
0
-33
0
3
-18
0
-11
-1
-25
-29
-11
2
-61
69
-21
0
0
-62
0
6
-10
-5
-64
0
-10
-31
-17
8
-77
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
1
-2
0
4
-2
16
4
13
-16
15
0
0
0
0
0
0
0
0
0
1
0
0
0
7
0
-6
0
0
0
0
0
0
0
0
1
1
0
-4
0
25
-12
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
2
18
-13
0
0
0
0
0
0
0
8
0
9
0
-2
0
26
8
7
0
0
2
0
0
0
-1
0
0
12
1
2
0
-3
-27
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
-7
-41
2
-3
18
0
3
-16
-36
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
-4
8
-5
-23
-16
2
-2
-41
-55
-1
-13
-73
-39
0
0
-11
3
7
36
-18
-33
1
21
-54
-31
-51
-18
-40
-70
0
0
-22
0
9
10
-21
-44
-7
-1
-12
-1
-20
-69
-49
-45
0
0
0
0
18
-1
0
-14
0
36
-21
-2
-9
4
1
3
0
0
-14
-3
10
57
8
-23
-3
-33
-36
10
4
-36
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
-3
1
9
-21
-16
0
-8
-13
23
4
-2
-17
9
0
0
-40
-14
-25
-9
-80
-25
-2
-46
-1
20
-1
-22
-22
25
0
0
-77
-18
3
-15
-43
-23
13
-21
-33
-10
-45
-37
5
-11
0
0
10
0
-3
-12
-54
9
0
25
-31
-39
-24
-50
32
-12
0
0
7
0
-2
0
-52
0
0
4
29
10
-17
-69
-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
-3
-6
-18
-12
6
14
6
41
38
-47
0
0
0
0
0
0
0
0
1
0
0
0
0
-8
0
-1
0
0
0
0
0
0
-1
0
0
4
-1
22
0
-1
-7
9
0
0
0
0
0
0
0
0
0
9
0
0
0
-4
15
0
0
0
0
0
0
0
6
-7
0
22
-6
0
6
13
-9
18
0
0
0
0
0
0
-15
0
0
14
0
0
0
8
43
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
1
0
-32
-21
0
2
-11
-19
0
13
-14
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
10
-6
13
-18
12
-1
-12
1
-33
29
-31
-17
-20
0
0
-26
20
-5
12
6
-34
-3
5
-36
-19
-11
-12
-79
-33
0
0
-13
2
-10
-7
-48
-8
8
9
-7
-11
22
62
-59
-38
0
0
-38
0
0
14
14
0
-1
-44
-17
-11
3
-51
-5
6
0
0
-45
0
1
-15
-68
0
0
-14
9
17
-8
-16
-54
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
1
-2
11
-3
0
0
-23
3
0
0
-30
-74
0
17
33
-2
18
5
-8
-47
0
0
19
0
0
0
-16
27
0
25
-2
3
-2
10
-33
-15
0
0
-18
0
0
0
0
-15
0
-1
-4
0
-2
-21
-18
-12
0
0
30
0
0
0
2
0
0
0
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
2
0
2
0
0
6
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
3
0
0
0
-1
0
-1
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
2
-7
0
-1
24
0
0
0
-6
-3
0
0
0
0
0
0
-17
0
1
0
-8
0
0
-1
1
-31
0
0
-9
0
0
0
0
-2
0
3
-6
0
-2
0
0
-7
0
0
-21
0
0
0
0
1
0
30
0
0
0
0
0
-7
0
0
-24
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
-1
0
0
0
0
0
-3
0
0
0
47
0
0
1
-2
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-8
-1
0
0
9
-1
0
0
0
0
0
11
0
-6
-12
0
16
0
0
1
0
-26
-13
0
0
0
0
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
1
0
0
0
0
0
0
0
0
0
0
1
0
0
53
8
-3
0
3
6
0
0
-3
18
-24
0
0
0
0
0
5
7
0
0
2
0
0
0
0
-25
-25
0
0
0
0
0
34
0
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
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
-1
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
16
0
-4
-4
-36
16
-13
-4
-8
0
0
-46
1
9
6
7
-20
2
-30
-33
20
-16
15
-13
-18
0
0
-21
-12
-23
-7
-19
-7
-2
32
33
6
9
-16
-9
24
0
0
0
0
0
0
-27
0
0
-23
-14
0
-38
19
0
-46
0
0
-10
0
-1
-2
16
-5
0
26
-10
48
-4
15
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
-4
0
-4
19
-2
0
26
37
-7
7
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
13
0
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
-1
-1
0
-16
-4
0
0
-9
0
17
0
0
0
0
0
0
25
0
0
16
9
0
0
15
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
-8
0
0
-5
-2
-15
-23
-7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
7
0
32
15
-2
0
5
0
0
-5
11
19
0
0
-5
0
-3
-2
11
4
-4
11
-10
1
0
-1
1
-7
0
0
-6
0
-7
0
9
-7
0
-5
-12
-1
5
3
7
11
0
0
0
0
0
0
15
0
0
-14
0
0
0
9
0
-22
0
0
-27
0
-12
0
-62
0
0
-15
-19
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
-18
0
3
-23
6
41
-11
11
18
0
0
-6
10
-11
-9
-20
-11
-1
-39
-16
-9
-55
-17
-8
2
0
0
3
20
17
9
-32
18
-3
9
22
-2
-24
0
23
-9
0
0
-11
0
-39
-2
-11
9
2
5
-10
-21
8
7
-47
-32
0
0
-20
0
-11
0
-23
36
0
1
-3
0
-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
21
-1
1
-1
2
-1
8
-4
9
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
-2
0
-2
0
6
-1
-6
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
-8
4
8
-8
-1
-8
0
0
0
0
0
0
1
0
0
0
2
0
0
13
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-4
0
7
49
0
6
-7
2
-13
-16
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-1
3
1
-16
29
-1
-8
25
-1
-6
2
60
-17
0
0
5
-11
0
2
-11
-9
2
13
-49
4
-4
8
-17
-4
0
0
-9
0
-5
-2
13
22
0
-13
16
-6
-30
0
13
-8
0
0
-2
0
-3
0
3
-29
0
24
38
4
0
-15
1
-5
0
0
-11
0
0
0
1
-1
0
7
4
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
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
4
6
-6
-2
42
-7
0
0
6
-2
-3
0
35
2
0
-13
51
0
8
6
-33
-5
0
0
-13
0
1
-1
40
10
0
-27
-10
-12
-7
-6
-48
26
0
0
0
0
0
0
-7
-34
0
-24
1
0
8
3
1
2
0
0
0
0
0
0
14
1
0
-48
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
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
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
11
0
-6
0
0
2
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
-8
5
0
-3
-14
0
-2
2
-11
-18
0
0
-5
0
3
2
27
-13
0
-22
-15
0
0
13
-13
-11
0
0
6
0
0
0
0
-6
0
5
-7
0
-1
0
-3
-15
0
0
0
0
0
0
0
-1
0
-15
0
0
0
0
0
4
0
0
-1
0
0
0
-1
0
0
-3
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
2
0
-14
7
-30
-13
0
0
-4
0
1
-21
-5
-23
0
34
-25
-42
46
-46
0
-45
0
0
3
-3
-9
6
21
7
0
-24
-13
-2
-30
-34
-14
-64
0
0
0
0
0
0
23
30
0
-14
-10
0
3
1
0
-58
0
0
0
0
0
0
-23
-4
0
7
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
0
0
0
1
0
11
0
2
7
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
4
-13
0
0
6
0
0
4
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-1
0
-16
6
1
-2
-2
1
1
-3
-35
-18
0
0
-9
0
0
0
6
-27
1
-1
7
2
0
25
-16
16
0
0
-7
0
0
0
-21
10
0
3
16
4
8
0
-7
-2
0
0
0
0
0
0
0
-1
0
-1
0
0
0
-1
0
13
0
0
-5
0
0
0
1
0
0
2
-7
0
-4
33
-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
21
-1
0
0
-21
0
-3
2
3
-21
0
8
-12
0
-5
-16
-16
19
0
0
-3
0
0
-2
1
25
0
0
-7
3
-12
14
-2
-2
0
0
-2
0
0
0
0
-5
0
4
0
0
0
1
-11
-34
0
0
0
0
0
0
6
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
0
0
0
0
0
-1
-7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
12
18
0
0
2
0
0
0
0
6
0
0
-4
0
0
0
15
0
0
-1
12
0
0
-5
-1
-8
0
0
0
0
0
0
-3
0
0
-3
7
0
0
0
-11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-3
0
0
0
5
0
0
0
0
0
0
7
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-34
0
0
-1
6
0
-9
17
25
0
22
45
4
1
-28
-31
-36
0
0
4
-1
0
0
-26
-45
-1
4
-29
5
-14
24
-25
-26
0
0
0
0
0
0
-19
-15
0
9
29
1
-8
0
-17
4
0
0
0
0
0
0
-11
-1
0
-2
0
0
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
9
2
0
0
0
0
0
6
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
2
-1
1
-19
4
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-41
6
0
6
25
0
0
0
-23
-5
0
0
-7
0
0
1
3
17
0
-3
10
0
0
0
-16
-11
0
0
3
0
0
0
-18
-4
0
-12
3
-1
2
-1
-23
-26
0
0
0
0
0
0
0
11
0
-11
0
0
0
4
0
-5
0
0
-7
0
0
0
13
0
0
1
-1
0
35
-11
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
0
3
0
2
-25
-1
-4
2
-21
26
29
-21
39
0
0
0
-8
-3
0
-12
-1
0
-8
1
-24
3
49
-14
-7
0
0
0
0
0
0
1
-35
0
-3
15
0
-2
1
0
38
0
0
1
0
0
0
12
-24
0
0
1
0
1
-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
-4
0
8
1
0
0
0
0
-1
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-3
0
2
0
0
0
0
0
0
6
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
-2
0
1
14
-11
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
-3
0
-11
-17
0
-3
-43
0
0
-17
45
10
0
0
18
0
2
0
-12
19
-9
16
-49
0
-2
-2
-7
-6
0
0
3
0
1
0
9
-4
0
-12
-1
0
4
26
-4
-15
0
0
0
0
0
0
0
4
0
-4
0
0
0
7
0
-8
0
0
-2
0
0
0
-20
0
0
2
-4
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
59
20
0
0
-33
38
-2
-2
-9
-28
0
-17
-5
-23
23
0
50
-41
0
0
-13
2
-22
-1
-8
0
-2
-7
-1
-20
-32
-29
14
-31
0
0
-22
0
0
1
0
-27
0
-35
-3
-16
-9
-37
-13
-32
0
0
-60
0
-1
-61
15
32
0
-6
-38
-1
-11
-72
-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
2
-3
-6
0
0
0
7
12
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
7
0
0
0
10
18
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
1
0
0
0
8
3
61
0
0
0
0
0
0
0
0
0
21
0
0
0
4
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
3
0
-2
15
0
0
4
19
-12
13
-24
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
7
1
-1
-9
0
21
-2
15
2
-5
-12
10
0
0
-91
8
-1
5
-12
-27
-2
-32
-48
-37
-19
-39
20
-20
0
0
8
0
0
0
0
-5
0
17
-43
4
-7
-39
-3
9
0
0
4
0
0
1
0
0
0
-17
-24
0
0
-40
18
-16
0
0
-30
0
-17
2
7
18
0
25
-35
-4
1
-80
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-21
-6
9
8
31
2
-2
-19
14
15
19
-32
23
34
0
0
11
0
-3
-10
-9
0
2
9
7
-1
-23
-41
6
13
0
0
-2
0
-1
0
-21
-6
0
-6
-11
2
1
-18
2
1
0
0
0
0
0
0
18
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
1
-11
0
0
0
9
18
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
2
0
11
0
0
0
0
0
0
0
0
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
-13
0
0
0
-6
0
0
0
-3
6
4
14
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
4
-3
-10
25
0
-4
-37
0
1
19
19
-2
0
0
29
-2
-11
-9
-2
22
-4
19
-28
1
1
3
11
-15
0
0
3
0
-6
0
0
0
0
7
2
-1
-1
-6
2
-36
0
0
-3
0
0
0
0
0
0
12
2
0
0
3
0
-59
0
0
0
0
0
0
-6
0
0
6
14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-2
0
-26
26
16
-2
-22
13
-24
0
0
60
0
0
32
-29
-44
0
-7
50
6
-26
-38
-31
-47
0
0
22
0
0
0
-8
23
0
-6
-9
-1
2
-3
-14
-45
0
0
33
0
0
0
5
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
-1
-1
15
0
10
0
16
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
6
0
25
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
43
0
0
0
-4
-8
0
0
0
0
0
-1
-7
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
-4
-3
0
19
24
0
-4
-4
-23
0
-9
7
-16
0
0
5
0
0
0
0
-2
0
-8
6
0
0
-17
3
-1
0
0
54
0
0
0
-1
-17
0
16
-3
3
0
18
-8
8
0
0
30
0
0
0
0
1
0
6
-3
0
0
-5
0
10
0
0
94
0
0
0
2
0
0
-4
-12
-3
0
9
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
-23
1
-1
-8
27
-2
0
0
1
19
0
0
-22
-3
0
4
-11
3
-10
0
-34
-55
0
0
0
-9
0
0
1
-8
0
0
2
2
0
0
3
-14
0
0
0
-10
0
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
-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
16
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
-1
-7
0
0
1
8
0
0
6
0
0
1
-1
0
0
0
0
5
0
0
0
6
1
0
-2
2
0
-1
0
-1
0
0
0
-11
0
0
7
0
0
-1
19
0
0
0
1
-9
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
0
0
0
0
-2
-2
0
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-13
0
7
1
-1
0
-5
-10
-2
0
0
0
0
77
0
5
0
0
-7
-3
-7
-1
0
-17
-25
0
0
0
0
-15
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
20
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
-13
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
-6
0
0
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
24
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
18
15
-9
0
59
-18
15
0
0
2
0
0
70
-12
-4
0
1
6
-6
0
-4
10
-63
0
0
0
0
0
-30
0
3
0
-6
-11
0
0
0
0
-7
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
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
3
0
0
-10
-4
-28
0
8
-12
1
3
0
-7
-2
0
0
0
0
0
10
2
-1
0
4
-2
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
-47
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-5
0
15
-24
-13
-8
-4
58
-20
0
0
-7
11
-2
-60
-7
24
0
3
-58
-23
-53
18
46
-27
0
0
-19
0
0
-1
52
20
-2
-3
-54
-11
1
-26
0
-47
0
0
-35
-1
0
0
-5
7
0
-40
-23
-36
-9
31
-43
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
36
0
-26
30
-10
-24
27
0
0
0
0
0
0
-8
1
0
9
0
0
0
-2
0
-13
0
0
0
0
0
0
-3
0
0
-1
0
0
0
-1
0
12
0
0
0
0
0
0
1
0
0
9
0
-8
0
0
0
-3
0
0
0
0
0
0
18
2
0
-4
-1
-13
0
-42
0
9
0
0
0
0
0
0
26
0
0
2
-24
9
0
16
-1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
1
3
14
-3
0
-1
-56
2
-10
8
-9
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-58
7
7
3
-13
-13
-1
3
11
-13
-7
19
15
11
0
0
20
4
0
3
-10
-13
-5
-44
-11
7
2
-17
-10
-36
0
0
-21
-1
-10
0
-8
-27
-7
34
-18
-2
-10
-1
-30
-27
0
0
4
0
0
0
6
5
0
-23
4
-6
0
-22
0
7
0
0
-45
18
-6
4
-35
-18
0
-77
-72
-31
36
-27
-28
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-38
-29
35
-8
-26
6
49
0
0
-24
7
17
-37
-11
8
0
-23
2
-69
-61
15
-56
48
0
0
-38
1
-2
-8
-9
29
-1
-52
-40
10
-23
-36
-4
-24
0
0
-34
0
7
0
-3
7
0
-6
-1
1
17
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
5
16
-5
1
25
2
62
-23
6
0
0
0
0
0
0
0
-33
-1
-1
0
0
0
-13
0
-6
0
0
0
0
0
0
-7
-8
-2
4
0
13
0
7
0
-6
0
0
0
0
0
0
0
0
0
7
0
0
0
2
0
0
0
0
0
0
0
0
0
36
0
16
-8
-1
18
34
9
19
0
0
0
0
0
0
-9
13
0
0
17
-11
1
1
57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-1
0
7
6
-21
1
8
-15
-38
-24
18
-15
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
5
-18
-25
8
2
-12
69
-9
-14
-3
32
15
0
0
-16
6
0
6
1
-12
7
2
28
-14
0
9
5
12
0
0
-38
3
-3
-11
-8
-17
2
20
-29
12
-39
12
-32
-30
0
0
-2
0
-1
-3
2
13
-4
27
-16
23
4
0
-2
24
0
0
8
0
0
0
-4
19
0
-44
-5
10
10
-30
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
8
0
0
-9
-3
2
0
0
-1
0
0
1
-2
2
0
1
10
-1
0
0
-3
3
0
0
0
0
0
0
0
4
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-1
0
0
0
0
0
0
-2
-4
0
0
0
0
0
0
-7
-4
1
0
-1
0
0
0
0
-6
0
0
-1
0
0
0
-6
0
0
4
2
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
-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
53
-49
-17
50
1
0
10
0
0
10
-7
-7
-10
-21
-50
7
14
-54
-53
23
29
2
-12
0
0
2
3
-17
-8
18
-25
2
-26
-26
-23
-33
-11
-10
37
0
0
7
0
0
1
21
7
0
-29
-21
-16
18
-27
-110
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-2
-1
-3
0
-16
9
21
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
30
-11
0
0
-4
0
-24
0
0
0
0
0
0
6
0
0
-7
-2
0
0
12
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-2
0
-17
0
0
-33
-1
-1
-4
7
-49
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-3
-3
0
-3
-34
1
-23
6
-16
11
12
31
-30
0
0
30
4
-1
-22
-5
29
1
17
17
7
6
-14
-13
0
0
0
-24
0
-3
-2
-38
-11
1
-48
-7
6
-25
12
5
11
0
0
5
0
0
-8
2
-8
0
-46
38
1
0
0
-8
-27
0
0
-32
-3
0
-28
-6
3
0
-47
-6
-22
-29
22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-39
27
5
-31
-29
0
0
9
-7
8
-1
-41
36
-17
21
-14
-41
-24
4
-50
-23
0
0
4
0
0
19
-9
-76
0
-16
-4
12
-42
-34
6
-27
0
0
-3
0
0
0
18
-33
0
25
-29
9
-6
-13
-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
2
16
0
-3
0
-19
-4
-2
15
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
0
-33
9
-26
0
0
0
0
0
0
1
0
0
17
0
0
0
1
8
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-9
5
0
4
16
9
15
-2
-52
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
1
-21
19
-25
0
-9
-2
6
-3
27
21
31
0
0
-2
7
1
3
17
-14
2
4
-12
1
0
-4
-40
-54
0
0
-4
-1
0
0
-24
0
1
-22
-10
4
-32
24
-1
16
0
0
6
0
0
0
0
-38
2
36
-52
0
0
33
7
-8
0
0
1
0
-1
-13
42
-4
2
52
9
35
-11
21
-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
7
30
-5
46
0
0
4
0
18
2
62
47
4
-27
-18
7
-30
-32
-13
1
0
0
0
0
0
-3
-17
-20
0
-8
-13
6
-16
-16
-5
-6
0
0
-1
0
0
0
-4
-2
0
-12
6
0
0
-8
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
-3
2
0
-3
0
11
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
-3
0
0
0
22
0
13
0
0
0
0
0
0
1
0
0
1
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
6
0
-8
1
0
0
11
3
7
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
24
7
0
3
9
0
0
6
-22
-10
0
0
6
0
1
-1
-10
17
-6
-3
-11
4
0
-2
-4
18
0
0
2
0
0
0
-11
-2
0
-9
-45
-2
10
1
-21
17
0
0
0
0
0
0
1
1
0
-10
-2
0
0
24
0
17
0
0
32
0
0
0
1
0
0
48
9
11
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
-2
-19
-2
-26
0
0
9
0
0
-11
-1
0
-2
18
7
1
17
38
-49
12
0
0
-1
0
0
0
-20
-22
0
5
24
0
18
-12
9
-51
0
0
0
0
0
0
-11
1
0
0
14
0
8
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
-17
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-2
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
9
-2
0
0
-2
7
0
0
21
0
7
3
4
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
1
58
4
0
-7
-20
-2
15
-14
23
6
0
0
16
0
0
0
-6
-9
0
-5
58
4
0
-12
-11
-4
0
0
2
0
0
0
-12
-8
0
8
-28
1
59
-9
-17
21
0
0
0
0
0
0
0
-1
0
-18
-6
0
6
12
0
1
0
0
44
0
0
0
-24
0
0
-10
64
7
41
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
-3
25
0
0
9
-11
8
-4
-20
-39
4
40
-32
20
-16
19
-7
-28
0
0
11
4
-12
-41
0
-26
6
15
9
-15
-14
-44
-20
-9
0
0
-16
8
-28
-7
-40
36
0
25
-16
-9
-27
-14
-31
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-20
-14
33
-19
-14
32
-31
-20
0
0
0
0
0
0
0
4
-1
0
0
0
0
-1
0
-23
0
0
0
0
0
0
0
0
3
-1
0
20
0
-2
0
-11
0
0
0
0
0
0
0
0
0
4
0
0
0
1
6
15
0
0
0
0
0
0
0
16
0
-17
-18
-14
0
-31
-3
49
0
0
0
0
0
0
-16
0
0
25
9
3
0
24
1
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-6
-1
0
20
0
0
27
-5
-6
-20
1
-28
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
9
-5
4
-31
1
7
21
-23
42
-31
9
-17
-17
0
0
8
30
0
19
-6
-78
9
-38
-21
-7
7
-4
-27
-12
0
0
10
0
4
17
24
-4
0
11
-19
20
-8
-12
-36
13
0
0
-4
0
-5
4
-20
-38
-1
-1
38
8
13
-10
2
5
0
0
1
-17
7
14
-62
-19
1
-22
-18
18
-61
-54
-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
2
-25
0
0
-34
-22
22
-9
-24
-8
6
-59
-30
-17
-49
21
-10
-24
0
0
-8
0
-3
-9
0
-23
-2
-46
-60
-26
-79
-38
22
14
0
0
21
0
1
0
-30
-25
7
-35
20
-9
-13
-20
-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
8
6
3
-4
17
-5
-46
-41
4
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
11
3
0
0
0
0
0
0
0
0
0
-38
0
2
0
12
-8
40
0
0
0
0
0
0
0
0
0
21
-1
1
0
-5
2
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
-1
-25
-6
-1
-7
-48
10
6
-39
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
-13
-21
-29
7
-27
-4
6
-25
42
24
-6
-41
-35
0
0
0
-16
6
7
7
-17
-3
-20
41
23
-28
2
-51
10
0
0
3
0
-12
-4
-1
-11
-3
-23
-47
6
-16
4
-51
-9
0
0
-30
0
0
0
0
6
0
-21
-2
-4
0
-27
28
-25
0
0
-41
5
-24
-3
-38
-49
0
-16
-45
-49
37
-50
-31
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
5
8
49
-15
12
0
-14
-32
-47
-32
-26
-23
-3
0
0
7
0
1
-26
-15
-31
3
-35
-21
9
-61
-29
-19
13
0
0
-20
0
0
0
-18
0
0
-37
9
-16
8
-44
-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
-3
1
13
-15
4
-5
-1
-20
-7
12
0
0
0
0
0
0
-2
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
7
-1
9
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
14
-4
13
1
-3
13
23
0
0
0
0
0
0
-4
0
0
-2
-8
0
0
28
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
1
-1
-21
-45
3
2
4
-66
-6
22
-1
-22
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
12
24
15
-46
-9
0
-25
34
46
13
-10
-12
-5
0
0
2
-1
3
9
40
-20
-12
-28
-6
-8
-3
-33
-11
-42
0
0
-44
0
-4
0
-9
13
-6
-43
-56
-20
-36
-31
-53
-52
0
0
0
0
0
-3
-16
0
0
-21
-34
6
0
-39
-2
-80
0
0
19
0
-6
-6
-15
0
0
-47
-10
14
-46
-94
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
11
0
4
29
0
-10
-1
4
-8
-20
-31
48
0
0
18
0
0
0
5
-5
0
-1
-22
0
-9
15
-14
-27
0
0
62
0
0
0
25
11
0
16
0
0
0
-20
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
6
0
-16
-4
-18
6
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
-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
2
0
11
1
0
0
10
0
22
0
0
0
0
0
0
0
0
0
3
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
1
-9
0
0
1
0
3
-6
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
0
-20
10
0
-11
-13
-10
7
-5
16
-12
0
0
-27
0
0
0
-9
4
20
-3
19
-6
-2
-24
-21
-9
0
0
9
0
0
0
0
-6
0
0
-12
7
-1
0
1
-3
0
0
2
0
0
0
0
-6
0
-2
-2
0
0
12
0
-15
0
0
33
0
0
0
10
0
0
-9
-14
0
-3
-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
1
0
0
-5
-26
0
1
3
0
1
0
15
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
2
-8
0
0
6
0
0
0
0
0
0
0
2
-21
0
0
-5
-15
0
0
2
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
66
0
-34
13
0
7
-7
0
1
-3
7
7
0
0
0
0
-12
0
0
14
0
-1
0
0
0
3
0
-15
0
0
0
0
61
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
-13
0
0
3
0
7
0
1
8
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
-4
-4
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-26
-20
0
1
3
0
0
0
-3
-2
0
0
-3
0
-32
0
3
4
1
12
8
0
0
-3
-16
35
0
0
0
0
-1
0
0
0
0
-1
-1
0
0
0
0
7
0
0
0
0
5
0
0
0
0
-3
0
0
0
0
0
1
0
0
0
0
-45
0
-3
0
0
1
0
0
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
25
10
-7
0
-16
0
0
-7
0
1
-6
0
0
0
0
0
37
-2
8
0
-3
0
0
0
0
0
21
0
0
7
0
0
14
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
1
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
16
7
-22
0
10
4
0
0
0
-8
-17
0
0
-1
0
0
16
-1
-1
0
11
-8
0
0
0
-2
-33
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-31
0
-19
-61
11
6
-23
-22
-3
0
0
22
0
0
0
2
-42
0
-36
-32
16
-26
40
0
12
0
0
-10
0
0
1
29
-40
-2
-34
-33
-39
-14
-27
9
-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
22
1
3
-5
-8
6
37
-14
-20
0
0
0
0
0
0
-4
0
2
1
0
0
0
1
0
-15
0
0
0
0
0
0
-10
0
-2
-1
0
-9
-1
1
0
1
0
0
0
0
0
0
18
0
0
2
0
0
0
1
0
0
0
0
0
0
0
0
3
1
0
1
3
-4
0
13
0
-39
0
0
0
0
0
0
56
0
0
-1
7
1
1
2
-18
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
-3
0
59
-6
0
-7
-14
3
-40
8
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
-3
-8
-14
-42
1
14
29
-23
-18
-15
16
-29
0
0
4
-11
-4
-2
-24
-14
-2
9
-5
27
-14
30
-44
-31
0
0
-7
1
-8
0
45
-25
-2
0
-41
-6
-13
11
-12
-3
0
0
0
0
0
0
0
-1
0
-38
37
0
0
-32
0
-47
0
0
-15
-1
1
2
4
-8
0
2
-23
8
-4
11
17
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
-19
4
46
-1
-14
-22
56
0
0
-34
-10
5
0
8
-3
2
61
-34
-13
14
-53
18
-1
0
0
-34
0
12
0
9
19
0
3
-1
4
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
-8
2
0
-3
-21
-9
4
-14
-32
-1
0
0
0
0
0
0
0
9
-6
3
3
0
0
0
0
0
0
0
0
0
0
0
0
8
-4
-7
0
0
0
-1
6
3
0
0
0
0
0
0
0
2
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
10
0
15
-9
-42
-7
17
-6
-8
0
0
0
0
0
0
-15
1
0
-8
-4
6
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
-1
0
2
66
-1
7
-19
-65
2
0
-17
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
2
-7
-1
-19
2
7
-15
-3
4
-11
12
-33
12
0
0
-1
-2
10
-3
-21
2
19
18
-16
-25
3
-13
0
-16
0
0
-7
0
-9
0
2
33
-1
21
-12
0
0
10
11
-4
0
0
-4
0
-1
0
-13
-26
-4
21
-30
-4
-3
18
3
10
0
0
-12
0
0
0
6
10
0
-27
-15
3
-6
-21
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-1
0
-15
3
0
0
0
0
0
0
0
-2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
7
1
0
0
1
0
0
0
3
8
0
0
-3
0
0
0
-3
-2
-2
-4
1
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
8
36
-16
23
-31
10
0
0
10
0
0
4
-18
-26
0
-2
14
28
31
-25
-18
-60
0
0
-6
0
0
0
-3
-1
0
-17
13
-6
-11
-5
41
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
9
8
-20
1
3
-60
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
2
2
-1
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
36
0
-27
8
0
0
-8
0
9
0
0
0
0
0
0
-1
0
0
22
0
0
0
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-10
-16
0
-47
7
2
7
-3
-20
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
9
1
-3
26
-26
0
7
0
1
-12
2
-17
-7
0
0
-5
4
0
-2
-1
23
3
-33
-10
-30
-12
41
-38
-2
0
0
-13
0
-1
0
19
-2
0
26
20
1
-7
2
43
12
0
0
-4
0
0
0
-2
-2
0
-2
-19
2
-2
-3
0
0
0
0
-26
2
41
-1
-26
-4
0
-15
-23
-19
-12
13
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
-55
-24
-24
-50
0
0
9
0
0
-2
-4
-35
-1
-31
-10
1
-21
-55
-47
-60
0
0
16
0
0
0
-56
14
0
-7
25
0
-1
-18
-45
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
-1
-4
-8
-2
-5
-38
-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
-2
0
5
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-3
0
-21
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
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
0
0
7
-6
-1
19
1
23
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-1
0
3
-23
22
0
11
9
-13
-4
9
-29
-18
0
0
15
0
9
-6
-68
-10
-10
-17
4
-24
-3
-24
19
-12
0
0
6
0
0
0
-4
-8
0
-7
-15
0
0
0
2
-8
0
0
2
0
0
0
0
-10
0
-29
0
0
0
5
0
-11
0
0
-2
0
9
0
-48
-3
0
-18
-37
3
0
-14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-2
-34
-14
0
0
0
0
0
0
-4
11
0
1
-19
0
-3
-20
1
7
0
0
0
0
0
0
-47
6
0
-1
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
4
1
0
0
0
2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
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
6
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
-3
0
0
-2
0
0
-1
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
2
0
11
5
0
9
1
0
0
1
-3
-3
0
0
0
4
-1
0
-12
-26
-2
1
-20
0
0
9
-15
-43
0
0
0
0
0
0
-13
1
0
-3
-3
26
0
0
0
-11
0
0
0
0
0
0
0
0
0
9
-2
0
0
0
0
-4
0
0
-8
0
0
0
1
0
0
-8
-13
0
0
-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
-44
-19
22
-50
0
0
-20
0
0
-5
-18
9
-7
-36
-16
1
-44
-22
26
-27
0
0
-9
0
0
0
-32
-10
0
16
-32
-13
-62
-7
-23
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-7
-2
4
0
-9
1
-27
-8
-27
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
0
-13
0
0
4
2
2
-28
0
0
0
0
0
0
-2
0
0
-9
-13
0
-1
17
-8
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-25
29
0
-7
-22
4
-43
22
-16
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-9
-3
-9
-34
31
1
3
-9
1
46
-10
-30
3
0
0
-1
3
0
-1
7
-13
0
-29
13
-13
2
-53
-170
-5
0
0
-8
0
0
0
-40
0
-7
-20
-22
3
-57
-2
-49
-70
0
0
-2
0
0
0
0
0
-4
-26
-11
-2
-27
-13
-7
-26
0
0
8
0
0
-4
-11
2
2
-20
-13
3
-133
-45
-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
1
9
-29
0
0
13
0
0
0
-46
5
0
23
20
0
5
10
-1
-37
0
0
17
0
0
0
-58
1
0
-9
0
0
-5
19
-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
1
0
3
4
0
-4
3
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
3
0
0
0
17
0
12
0
0
0
0
0
0
4
0
0
4
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-28
-16
0
2
1
-10
-8
-35
28
34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-11
-6
-23
-20
0
6
-13
4
-4
-36
-8
-37
0
0
4
-2
-1
0
-9
28
4
-12
13
-10
0
43
-114
6
0
0
0
0
0
0
3
-4
0
0
22
0
0
31
3
12
0
0
3
0
0
0
0
-1
0
1
-18
0
0
24
0
79
0
0
-8
0
0
0
-28
21
0
-4
68
15
-4
-21
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-72
1
16
-93
0
-17
-4
-18
-15
-75
-13
-72
10
-7
0
0
-63
-2
-42
-15
8
-12
-2
-5
-42
2
-70
-47
-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
-1
1
22
-10
-1
4
-1
-13
-32
2
0
0
0
0
0
0
0
-2
19
2
0
0
0
17
-1
-5
0
0
0
0
0
0
0
0
0
7
0
1
0
-11
0
-11
0
0
0
0
0
0
0
0
0
6
0
-1
0
1
-10
-6
0
0
0
0
0
0
0
-6
0
0
-3
8
0
12
17
10
0
0
0
0
0
0
-1
0
0
9
-6
0
3
-15
-18
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-1
0
-3
-13
-3
0
11
-10
22
-20
-59
-56
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
4
-79
-21
-44
-27
6
-51
-15
-14
-32
8
-43
-44
0
0
-26
-19
-28
-12
6
-24
21
20
-66
-39
-20
-25
-21
-31
0
0
13
0
-7
-2
-5
-20
0
-44
35
7
4
-49
-8
0
0
0
-13
0
-15
18
0
-9
0
-51
0
14
4
-52
-17
-52
0
0
-23
-29
-51
-27
-17
-40
-7
42
-21
7
-2
-17
-11
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
3
0
1
-43
-40
-4
-1
-51
-19
-54
-27
-21
-10
-9
0
0
-36
0
-13
-27
-51
0
-1
10
-17
-5
33
-36
-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
14
3
34
-25
-15
-24
-7
-19
12
-3
0
0
0
0
0
0
0
0
3
-1
-1
0
0
1
1
-10
0
0
0
0
0
0
0
0
2
3
0
10
0
11
-1
-2
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-2
-16
0
0
0
0
0
0
0
-1
0
23
4
-13
-2
-35
-19
12
0
0
0
0
0
0
7
0
0
-6
-1
0
0
0
-21
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-13
-2
-26
-9
0
-8
4
6
-79
-28
-27
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
21
8
-2
2
16
-6
7
-5
12
20
-2
-17
-20
0
0
-44
-8
35
-40
-37
-4
5
-29
-15
-31
-26
-13
-81
-28
0
0
-6
0
-5
-13
-3
-6
11
-62
24
-15
-6
-36
-19
-53
0
0
-23
0
-3
6
-3
-11
-10
-20
-43
-2
-4
32
18
-9
0
0
-4
7
-26
-59
-41
0
-6
-45
-27
-9
-3
-26
-37
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-4
0
-24
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
17
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
-8
0
0
0
2
0
0
0
19
0
0
0
10
12
0
-6
0
0
0
-16
0
19
0
0
-12
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-22
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
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
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
0
0
0
0
0
0
-2
0
0
2
0
0
-38
0
1
0
7
0
0
0
0
0
-4
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-83
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
7
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-24
-8
0
0
-2
0
0
0
0
-2
0
0
7
0
0
0
-6
-14
0
1
11
0
0
-2
0
-17
0
0
0
0
0
0
29
0
0
7
-24
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
-8
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
58
0
0
2
2
1
-12
0
38
0
0
-2
0
0
0
-13
-15
0
-6
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
0
0
0
0
0
0
0
0
0
-15
1
-2
2
37
0
-29
-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
-2
0
-7
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
-1
0
3
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-9
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
-93
0
0
-4
-20
-7
-4
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
-3
2
-1
-14
0
-6
-12
10
-1
7
-31
-6
0
0
4
0
0
2
14
17
0
-21
-9
-5
0
-20
-27
-14
0
0
11
0
0
0
0
-8
0
0
1
6
-17
-3
4
-3
0
0
0
0
0
0
0
17
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-11
0
-4
34
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
9
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
54
0
0
0
13
0
6
0
0
0
0
0
0
15
-21
0
-31
0
0
0
-11
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-8
0
-1
0
0
0
4
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-20
1
0
14
-18
0
3
6
4
11
0
0
-9
0
0
0
-7
23
-4
33
-25
0
0
-11
27
-10
0
0
0
0
0
0
-1
2
0
-39
17
0
6
0
0
7
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
-17
0
0
-10
-19
0
7
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
-20
0
0
0
0
0
0
-3
-10
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
0
0
0
0
2
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
11
4
0
0
6
-2
0
-2
-38
11
0
0
14
0
0
0
5
14
0
-28
-2
0
0
-45
4
-61
0
0
0
0
0
0
0
-1
0
0
-22
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
1
-8
0
0
-1
0
0
0
-16
-2
0
2
-3
0
0
-15
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
-108
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
-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
-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
-10
0
0
0
-1
-9
0
0
-23
-1
-3
0
4
12
0
0
0
0
0
0
-21
-9
0
-2
-7
0
1
7
0
-15
0
0
0
0
0
0
0
1
0
-9
-4
0
-100
4
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-19
0
0
0
0
0
0
3
-6
0
0
-13
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
3
0
4
0
0
0
-19
-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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-10
0
0
-11
0
-2
-5
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
1
0
8
-15
0
3
33
2
0
-8
-19
29
0
0
-7
0
0
0
-11
-2
8
-1
-14
1
2
22
-13
-7
0
0
0
0
0
0
1
-1
0
-11
-22
0
7
22
-3
-32
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
-2
0
0
-2
0
0
0
-1
0
0
24
-47
0
0
-23
-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
-1
0
0
26
0
0
8
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
3
0
0
0
8
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
2
0
0
-20
0
0
3
12
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
-35
0
0
-9
0
0
0
49
15
0
0
-15
0
0
0
0
4
0
-6
50
0
0
5
25
-8
0
0
0
0
0
0
0
0
0
-12
5
0
0
0
27
-100
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
-4
0
0
0
-15
-51
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-30
0
0
3
-10
8
-11
4
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
11
5
-11
23
-53
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
8
0
7
0
3
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
0
0
0
11
22
0
-3
8
10
13
29
12
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
8
6
20
0
0
0
20
-13
-13
1
9
-24
-36
0
0
-28
-11
-1
16
-26
-14
0
-38
-31
-28
-25
-43
32
-9
0
0
-13
1
4
7
-35
-2
-1
-18
-24
-20
-4
16
-37
-5
0
0
0
0
0
0
0
0
0
2
0
0
0
3
0
-30
0
0
1
0
1
10
30
0
0
-22
-6
7
39
8
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
-6
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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
1
-2
0
0
-11
0
0
0
12
0
0
0
5
0
0
0
8
13
0
15
-1
0
0
-21
-10
-21
0
0
3
0
0
0
0
0
0
0
-6
0
0
0
0
-1
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-15
0
0
0
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
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
15
-3
0
2
-3
-6
-3
8
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
13
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
2
-11
10
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
-3
-15
28
0
-5
44
-10
17
4
-12
-16
0
0
1
0
0
1
-7
0
-1
-15
-27
13
0
13
5
-22
0
0
14
0
0
0
25
0
0
3
-25
5
15
-6
1
11
0
0
0
0
0
0
49
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
0
0
-1
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
7
-29
0
-6
-8
-2
0
0
-6
0
0
0
3
0
0
0
1
36
0
6
-20
0
0
-13
-4
0
0
0
1
0
0
0
0
-3
0
-7
-8
0
11
0
1
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
0
0
14
8
0
-8
-5
0
0
0
-16
3
0
0
12
0
0
0
-10
-8
3
-37
0
0
0
7
-5
9
0
0
0
0
0
0
0
0
0
-20
7
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-9
-22
0
6
-8
-3
0
0
2
0
0
0
-3
0
0
0
-36
16
0
-23
4
0
0
-40
-1
-7
0
0
0
0
0
0
-1
0
0
-5
-4
0
0
-4
3
-42
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-27
5
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-33
2
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-10
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
0
0
0
-27
-18
0
1
-15
3
0
21
10
0
0
0
-19
0
0
0
-3
0
1
-12
0
0
0
2
2
17
0
0
0
0
0
0
-4
0
0
17
4
0
0
9
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
2
0
0
8
0
-4
0
-14
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-4
0
-4
1
-23
0
0
-1
-16
2
13
-8
0
0
0
-37
1
1
4
-6
6
0
11
-29
-3
0
-24
-6
-5
0
0
-3
0
0
0
0
1
0
0
-10
11
-4
-2
-28
-15
0
0
0
0
0
0
0
0
0
4
0
0
0
1
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-41
0
0
0
1
0
0
0
-6
13
0
0
-8
0
0
0
7
0
0
1
11
0
0
3
-11
-7
0
0
0
0
0
0
1
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
-6
0
0
0
0
0
0
0
1
0
0
4
0
0
0
-5
2
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-2
-17
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
3
0
0
-4
2
0
3
-2
0
0
0
0
0
0
0
0
10
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
24
0
1
-1
0
0
0
8
-3
0
0
0
0
0
0
3
-6
0
-9
-2
2
0
-7
6
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
-5
0
4
0
0
4
0
0
2
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
-2
-4
-3
7
0
-2
2
10
0
0
8
28
0
0
-1
0
0
-8
19
9
0
0
13
3
2
8
4
-3
0
0
4
0
1
0
-1
1
0
0
9
0
0
-1
-3
19
0
0
0
0
0
0
0
2
0
-1
0
0
0
1
0
2
0
0
8
0
0
0
10
-3
0
0
7
0
0
1
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
9
0
0
0
0
0
0
0
-10
0
0
0
2
0
0
0
10
1
0
0
0
0
0
2
-3
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
8
1
0
-1
10
0
0
0
-3
1
0
0
5
0
0
-3
2
3
0
-1
11
0
0
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
28
4
0
1
0
0
0
0
7
-9
0
0
5
0
0
-4
-14
11
0
1
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
4
0
0
-1
0
0
-27
-1
-1
-12
-9
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
7
26
0
1
17
-2
0
0
28
-18
0
0
-23
0
6
-3
1
-17
1
-3
6
-1
0
-7
-4
-27
0
0
0
0
0
0
2
-1
0
-2
-18
0
1
-8
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-4
0
0
-35
0
-2
0
-18
0
0
-7
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
4
0
0
-2
0
0
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
0
0
0
8
12
0
-6
0
0
0
-1
-5
-4
0
0
-14
0
0
1
-7
-10
0
1
15
0
0
-3
-14
6
0
0
0
0
0
0
0
3
0
0
-10
0
1
0
-35
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
-5
0
0
0
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
7
-4
0
0
-3
0
6
-7
-1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
4
1
50
-2
0
-3
32
8
0
-1
33
22
0
0
4
1
-1
-8
23
-10
4
-2
-6
0
0
-7
9
-3
0
0
-10
0
0
0
33
-4
0
-25
39
0
1
0
-3
-45
0
0
0
0
0
0
0
-8
0
-13
0
0
0
12
0
14
0
0
-28
0
0
0
7
0
0
0
-4
7
3
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-1
0
-8
4
0
0
0
0
0
0
2
1
0
0
4
0
0
0
-12
2
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-6
7
0
0
0
0
0
0
-1
2
0
0
-3
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
0
0
0
0
0
0
1
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-11
-9
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-1
-4
0
0
1
0
0
0
7
5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
0
0
1
0
0
0
-2
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-4
2
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
-3
-4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
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
17
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
2
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
13
31
0
0
4
0
0
0
-25
29
0
0
18
0
0
0
-19
3
0
0
-1
0
0
7
1
5
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
3
4
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-3
0
0
0
0
0
4
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
16
9
0
-3
-1
-1
0
1
8
9
0
0
15
0
0
0
8
0
0
-8
-1
0
0
9
-1
-18
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
-5
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-12
0
0
0
0
0
0
97
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
14
0
0
0
-6
-23
0
-4
12
0
0
-1
-6
-38
0
0
-4
0
0
0
24
1
0
-1
1
0
0
15
0
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
-11
2
0
0
-1
1
0
6
-8
-3
0
0
0
0
0
2
-23
6
1
8
2
0
0
2
-1
0
0
0
0
0
0
0
2
1
0
0
-7
0
-2
0
0
-3
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-8
-1
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
17
4
0
0
-1
0
0
0
-21
12
0
0
2
0
0
0
28
1
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
10
25
0
0
1
0
0
0
16
1
0
0
4
0
0
0
6
-7
0
-2
-2
0
0
-12
-28
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
1
0
0
0
9
0
0
0
0
0
0
0
6
0
0
0
0
0
0
-1
-9
-19
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-6
4
0
0
3
-1
0
1
-6
2
0
0
-2
0
0
0
10
-38
0
-6
3
0
0
-25
-2
-21
0
0
2
0
0
0
0
0
0
-4
6
0
0
4
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
3
0
-20
0
0
-11
0
0
0
0
0
0
0
-4
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
6
0
0
0
0
0
0
11
2
0
0
4
0
1
0
-1
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
2
0
0
0
0
0
12
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
14
0
0
0
-93
10
0
1
41
-2
0
0
0
6
0
0
-6
0
0
0
-1
-2
1
1
-8
0
0
-3
0
0
0
0
0
0
0
0
-7
0
0
0
6
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
-68
0
0
-10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
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
-1
0
-28
-26
0
6
10
-3
0
0
2
-3
0
0
-14
0
0
-1
-7
-60
2
1
0
1
0
-11
0
-4
0
0
0
0
0
0
0
5
0
1
-5
-3
-1
8
-7
0
0
0
0
0
0
0
0
-16
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
15
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
1
20
0
1
-1
0
0
0
-3
-2
0
0
0
0
0
0
0
-2
0
-1
-1
0
0
8
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
5
6
0
1
0
-9
0
-1
-19
12
0
0
-10
-6
2
0
-1
-8
-3
2
23
0
0
-29
4
13
0
0
0
0
0
0
0
0
0
-1
-10
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
2
0
0
0
-1
0
-2
0
0
-6
0
0
0
1
0
0
0
0
0
0
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-1
9
0
0
0
0
0
0
-1
-1
0
0
-4
0
0
0
-10
0
0
0
-7
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
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
-10
0
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
9
0
1
23
-1
0
1
-13
-19
0
0
-6
0
0
0
-8
7
0
0
-1
0
4
8
0
1
0
0
0
0
0
0
0
0
0
-1
-3
0
-80
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-31
0
2
0
1
-6
0
-2
2
0
0
-10
-2
2
0
0
8
0
0
1
1
-17
3
-6
2
0
0
-21
23
14
0
0
0
0
0
0
0
0
0
0
-7
0
0
17
-4
14
0
0
0
0
0
0
0
-1
0
0
0
0
0
-26
0
-13
0
0
-3
0
0
0
0
0
0
2
-20
0
0
-127
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-2
-11
-16
-9
0
7
-18
-4
0
-1
-79
-1
0
0
0
0
0
-3
2
-4
6
-7
-18
0
0
-25
-55
-55
0
0
-3
0
0
0
0
0
0
-2
1
-1
0
6
-73
-23
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
3
-23
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-24
0
-1
-24
3
5
0
-3
-28
-15
0
7
-14
-62
0
0
-16
0
-2
2
-9
-4
-7
6
-28
-3
-1
-2
-7
-98
0
0
-2
0
0
0
-17
0
0
0
0
-1
0
-2
-10
-64
0
0
0
0
0
0
0
0
0
-7
0
0
0
-9
0
-62
0
0
0
0
0
0
-2
0
0
0
-34
0
0
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
13
0
12
-17
10
0
-13
31
-14
0
0
18
0
3
-4
7
-29
-4
13
-17
-4
-7
-18
-22
-52
0
0
-28
0
6
1
3
17
1
-15
18
3
9
20
-34
-10
0
0
8
0
0
-1
3
3
0
-13
-22
0
0
13
16
-27
0
0
-3
0
-3
-1
-2
-1
0
-9
41
0
2
-13
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
0
0
6
-1
0
0
3
1
0
0
0
0
0
0
0
7
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
6
-4
0
1
0
0
0
-1
0
3
0
0
-9
0
-6
0
0
0
0
-7
-10
0
0
6
0
2
0
0
0
0
14
0
0
1
0
0
3
0
1
0
0
-1
0
0
0
0
13
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
-37
-6
-4
0
-4
24
0
0
10
0
-2
0
0
0
0
0
-3
1
0
0
0
1
0
0
0
0
-7
0
0
0
0
0
7
0
1
0
1
0
0
0
0
0
10
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
21
-23
-3
2
0
-6
-12
0
0
3
1
0
-3
-16
12
-3
19
1
-13
8
-11
1
22
0
0
10
0
-17
0
-44
-3
-2
38
-25
12
9
-9
-10
20
0
0
0
0
0
0
-19
1
0
26
-16
0
0
-11
0
0
0
0
-2
0
-2
0
1
0
0
-26
-52
-11
13
9
-1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
16
14
-2
-37
5
-21
10
0
0
-32
-10
7
7
-8
23
10
1
-15
-8
-28
4
-2
29
0
0
-3
0
-5
-9
1
-12
2
44
-35
2
-26
-2
-19
-51
0
0
0
0
0
0
7
-19
-4
47
-20
-3
0
26
-3
46
0
0
-14
0
0
0
-14
-17
0
-35
-13
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-1
0
0
1
8
-17
0
0
-8
0
3
1
-8
0
1
-3
-9
2
0
22
-8
37
0
0
-8
0
0
0
6
0
0
2
14
0
-1
0
2
-3
0
0
0
0
0
0
0
1
0
9
0
0
0
4
0
0
0
0
0
0
0
0
-1
0
0
-29
-4
0
0
-3
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-4
7
23
2
0
0
7
0
1
0
25
18
2
5
-2
17
-3
12
-20
-1
0
0
-2
0
1
0
-4
-6
0
7
10
2
8
6
1
-16
0
0
0
0
0
0
0
3
0
26
1
0
0
3
0
-5
0
0
-29
0
0
0
22
-2
0
13
11
-3
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
2
0
0
0
-10
2
3
0
0
0
0
-6
-1
-18
0
0
0
0
0
0
6
-12
0
-1
-2
0
0
0
-2
-6
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
-1
7
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
1
2
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
-12
0
1
0
12
-7
-1
0
29
0
0
32
-2
4
0
0
0
0
0
0
0
1
0
0
10
0
0
-1
0
1
0
0
0
0
0
0
0
2
0
-1
0
0
0
18
0
2
0
0
16
0
0
0
13
0
0
0
2
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-6
0
2
6
-3
25
1
62
-30
-15
16
-1
-120
-21
0
0
0
0
-11
-1
7
-3
-3
-18
-107
11
15
-38
-53
-40
0
0
29
0
0
0
0
-2
0
30
28
0
0
49
36
15
0
0
-2
0
0
-4
13
5
0
16
-80
0
29
-43
-71
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
7
2
-1
3
10
6
3
-7
18
0
-8
17
-14
44
0
0
-7
0
-3
2
-26
-4
2
11
-10
-4
7
19
-24
-70
0
0
2
0
0
0
0
-1
0
-13
6
0
0
8
1
35
0
0
0
0
0
0
1
0
0
-4
-6
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
1
0
0
0
-3
-6
24
-7
-2
4
0
-16
1
-1
0
0
-43
0
0
0
42
15
0
-2
-8
-1
11
0
22
-4
0
0
34
0
0
0
0
-9
0
59
7
0
2
19
0
15
0
0
64
0
0
0
10
0
0
-11
-23
-24
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
0
0
0
26
0
0
0
-7
4
0
0
0
1
-28
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
-6
21
7
-8
-12
0
-44
1
33
0
0
-1
0
0
-1
-65
-12
6
-11
-29
-13
-14
8
-24
-16
0
0
0
0
0
0
-54
0
0
-7
1
-3
0
4
0
7
0
0
6
0
0
0
2
0
0
-9
-60
-1
0
-8
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
2
-30
-22
-2
0
-2
-1
-3
0
0
-3
0
0
0
-1
-30
0
11
-19
0
2
-18
5
-4
0
0
0
0
0
0
0
-36
0
-17
-14
-2
0
-9
0
-11
0
0
-3
0
0
0
0
-18
0
-3
-4
6
0
15
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
4
0
0
0
0
2
0
-1
2
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
2
0
0
0
-2
0
0
1
3
1
0
2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
-6
-13
0
0
25
0
0
0
-2
5
0
-35
6
6
-10
-1
-4
-24
0
0
0
0
0
0
0
-8
0
-17
0
0
0
-6
0
-23
0
0
-2
0
0
0
0
0
0
20
-45
-6
0
-13
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
3
-14
0
0
2
0
0
3
-4
-12
-1
-1
-13
-2
9
-1
1
-3
0
0
0
0
0
0
0
-4
0
-6
3
0
0
6
0
24
0
0
-20
0
0
0
-18
2
0
17
20
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
3
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-20
8
0
0
-1
0
0
0
-19
12
0
3
8
-1
1
-38
20
0
0
0
0
0
0
0
0
2
0
-15
1
0
0
-23
0
2
0
0
-47
0
0
0
1
0
0
14
-45
-11
13
-53
-53
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
3
0
0
-3
0
0
0
0
-2
0
-30
2
0
0
0
-77
-13
0
0
0
0
0
0
0
0
0
26
0
0
0
4
0
-48
0
0
1
0
0
0
0
0
0
-1
37
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
-1
-13
0
0
-7
-43
-3
-10
30
-1
-101
0
0
6
0
0
1
0
0
0
-38
-16
0
0
7
0
-87
0
0
-10
0
0
0
-3
0
0
-30
-78
0
0
-59
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-63
0
0
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
-12
5
0
0
0
0
8
0
0
0
0
0
0
8
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
-27
0
0
-2
-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
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-41
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-4
0
-8
9
0
0
0
0
0
0
0
0
0
2
0
0
0
6
0
-6
0
0
8
0
0
0
1
0
0
-93
-73
0
7
-12
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
-23
0
0
0
0
0
0
0
0
0
1
-1
0
0
-8
0
-42
0
0
-30
0
0
0
-51
-3
0
-4
36
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
1
0
0
0
-3
0
0
0
-8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
4
0
0
0
-10
0
-12
0
0
0
0
0
0
0
0
0
-1
-36
0
0
-4
-120
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
8
-4
0
0
0
0
-52
0
0
-29
0
0
0
-21
0
0
4
-185
-6
0
-45
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
-54
0
0
-29
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-54
0
0
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
-14
0
-57
0
0
0
0
0
0
11
0
0
-8
0
0
0
1
0
0
0
0
0
0
0
0
-5
1
0
-13
0
0
0
0
0
5
0
0
0
0
0
0
-2
0
0
-8
0
0
0
0
0
-3
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
0
0
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
-6
0
-18
26
-10
34
28
9
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-20
-24
0
-8
12
0
-13
-14
-5
2
0
0
-5
-3
0
0
48
-4
0
5
15
7
-3
1
-13
-30
0
0
-31
0
19
0
-28
33
-2
-6
-42
-30
12
11
29
3
0
0
0
0
0
0
-24
-20
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
-4
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
-9
0
0
0
-6
21
0
-9
0
0
0
3
1
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-4
-7
-6
10
13
0
4
-6
-1
0
1
10
-12
0
0
-6
0
0
3
-27
-36
-12
-13
7
-23
0
-4
-10
-2
0
0
-3
0
-12
0
21
-22
0
-27
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
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-12
0
0
0
-24
1
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-4
0
-10
0
0
0
-9
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
29
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-66
0
-26
0
-5
-5
0
-16
-2
15
57
-1
-4
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-15
-20
0
1
5
-3
-8
19
-16
-2
0
0
2
1
-1
0
-12
0
-1
-16
4
-2
0
-19
-23
-12
0
0
-7
0
28
-1
6
-28
3
-8
-12
6
6
26
28
21
0
0
2
0
0
0
0
-17
0
5
0
0
3
2
0
0
0
0
0
0
0
0
0
-9
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
7
0
0
-12
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
5
-4
1
-4
0
-3
-13
0
0
-8
-19
9
0
0
-8
0
0
0
4
-56
-2
8
-12
-2
0
-3
-13
-9
0
0
2
0
7
0
12
-9
0
2
2
0
0
0
6
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
17
-12
0
-1
0
-1
0
-25
20
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
14
1
0
0
-1
-2
0
-2
0
-1
0
0
12
0
0
0
4
-9
-1
30
-17
-13
0
-2
17
25
0
0
-7
0
1
0
1
-3
16
13
6
0
-1
2
28
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-1
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
1
10
0
1
2
0
0
3
1
-5
0
0
0
0
0
0
16
-20
-6
9
1
0
0
-2
12
0
0
0
0
0
0
0
2
0
0
3
3
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-51
21
9
11
17
7
4
0
0
0
0
0
0
-9
2
0
14
0
0
0
11
-13
-23
0
0
0
0
0
0
13
-22
0
-69
0
-8
0
6
-6
-36
0
0
0
0
0
0
-6
11
0
-34
0
0
0
0
11
-38
0
0
0
0
0
0
0
35
0
-21
0
0
0
-3
0
-33
0
0
0
0
0
0
7
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
7
-12
21
1
-11
2
-6
-17
32
-6
2
18
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-3
-24
-6
-2
-39
0
32
10
16
-12
-29
10
2
0
0
9
-28
-6
40
13
-2
2
-46
-15
8
16
14
-19
-31
0
0
15
-34
-6
18
4
-10
-6
-54
-22
6
19
-5
3
-4
0
0
-11
1
15
2
12
-12
3
-18
14
1
20
-12
-7
19
0
0
42
0
-2
0
-1
26
2
-6
6
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
2
5
0
-7
0
-4
4
-13
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
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
4
0
0
4
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
21
0
-14
63
0
-2
-3
6
-3
16
1
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
30
19
9
-1
0
-38
-10
28
17
-4
-6
55
0
0
7
5
12
18
-10
35
-5
-43
19
-14
-8
-28
-7
-14
0
0
16
0
32
10
-19
-3
0
26
-17
-3
-13
25
-29
-3
0
0
5
0
2
3
1
31
0
19
2
0
0
12
0
-7
0
0
21
0
5
1
20
-8
0
11
-14
0
-1
-22
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
31
0
-5
1
1
-32
32
16
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-1
12
8
0
-13
7
2
0
6
20
0
0
0
-19
-3
0
0
-45
24
4
-11
-3
-22
-2
-2
6
-34
0
0
16
0
6
-3
-22
3
-3
23
-9
1
6
17
3
27
0
0
0
0
0
0
1
3
0
18
0
0
0
-6
0
-9
0
0
0
0
0
0
-20
3
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-6
9
0
0
0
2
4
-9
-8
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-4
-18
3
0
-3
3
1
0
-1
0
-38
0
0
-13
0
0
2
16
-20
7
-15
0
0
0
-20
6
-17
0
0
2
0
0
0
-30
7
0
-11
-2
0
-2
0
-10
5
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
10
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
4
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
0
0
0
0
0
-10
0
-4
36
12
-27
0
-23
-20
20
0
-31
24
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
1
0
14
-54
0
-7
-32
-1
5
9
-26
-46
0
0
30
-18
-13
-15
34
-15
-7
-52
-1
-22
-28
-38
13
12
0
0
2
0
-16
-6
5
28
-16
-31
50
27
23
23
4
-8
0
0
23
0
3
4
3
-11
-7
-28
-13
0
3
26
15
-42
0
0
-2
0
0
-2
39
20
7
-36
12
0
7
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
-2
1
0
0
-1
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
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
-7
0
0
0
-8
0
2
0
0
0
0
0
0
0
0
0
-34
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
11
0
3
33
0
1
-1
0
-26
-27
-62
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
16
-1
-12
15
2
9
0
0
-6
40
15
3
0
0
-9
0
-35
21
-8
-32
-1
-1
2
2
13
-32
-8
-3
0
0
-10
0
19
-1
-6
8
0
-3
-47
0
4
4
-23
30
0
0
20
0
0
6
1
-22
0
12
2
0
0
-42
0
-22
0
0
25
0
6
0
25
-23
0
13
-14
0
-4
-21
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
-4
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-23
1
13
30
-4
12
6
14
28
-9
19
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
0
0
6
-10
0
-8
-3
3
5
12
-18
11
0
0
16
1
0
23
23
27
0
-8
-15
-14
3
-23
10
-8
0
0
-5
2
-9
-12
6
-20
-6
15
31
-4
22
-15
3
-35
0
0
-12
0
0
0
-18
-24
0
-7
-2
-1
3
-6
-7
-48
0
0
1
0
0
0
32
-28
0
8
0
0
0
-18
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
-46
0
0
0
6
26
0
0
13
-1
0
-2
-17
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
1
0
9
-38
0
0
-30
2
2
0
22
20
-67
0
0
-4
0
-7
0
-57
-1
-14
-20
-21
0
0
21
14
-9
0
0
31
0
0
0
-16
1
0
-3
5
-2
0
0
2
-16
0
0
1
0
0
0
0
-20
0
2
1
0
0
0
0
-21
0
0
1
0
0
0
-10
1
0
-3
8
-7
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
-59
-35
0
0
0
0
0
0
4
0
0
8
0
0
0
-11
5
-8
0
0
0
0
0
0
-11
-7
-1
10
0
-1
-1
-1
-4
-17
0
0
0
0
0
0
-9
1
-1
-4
0
0
0
1
1
-12
0
0
0
0
0
0
0
-10
0
-21
0
0
0
-5
0
6
0
0
0
0
0
0
12
0
0
-6
0
0
0
19
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-8
-34
-19
26
0
58
-8
-17
16
-63
23
-10
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
1
28
7
1
41
4
-11
-56
25
15
8
-13
8
0
0
-47
41
1
0
-22
21
-5
-11
0
-30
-21
-33
30
-40
0
0
-9
-3
7
19
-39
35
-14
-9
-17
11
1
-4
18
8
0
0
-2
0
4
-2
-1
23
11
-53
-4
4
15
37
-33
-15
0
0
-12
0
-6
0
-18
-45
0
12
8
0
-3
1
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
12
0
11
0
0
0
-11
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
0
0
-2
0
0
0
0
0
0
0
0
15
0
0
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
-22
-1
-8
-1
2
-34
0
12
-15
-21
-27
8
20
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-7
20
11
-7
8
-1
0
-31
-19
3
4
15
32
0
0
2
9
3
-7
-7
-10
-3
-6
24
22
-6
-16
-26
-45
0
0
-2
5
-10
-3
15
32
0
57
-8
-8
-16
-5
20
4
0
0
-3
0
3
0
10
-27
0
0
11
0
0
-25
0
7
0
0
-42
0
-3
0
-67
-3
0
-8
-7
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
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
6
0
0
0
-4
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
-6
0
0
0
0
0
0
0
0
0
0
0
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
6
-7
4
-41
-2
6
-30
-6
-9
-23
-3
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
26
-16
0
-4
15
11
-6
-25
25
8
0
0
-13
26
-4
-8
-21
8
-4
-12
-9
-27
-6
-16
16
-24
0
0
11
5
-29
0
1
21
29
-35
-24
27
2
-43
24
28
0
0
-19
0
0
0
0
18
0
14
0
0
-1
10
2
14
0
0
2
0
0
0
14
-14
0
-17
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
0
0
0
0
0
0
-14
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
0
0
0
-1
-29
0
-2
1
-4
7
14
-16
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
5
-1
-5
18
41
4
3
-4
-6
-16
-18
-52
13
0
0
7
4
3
-15
-18
-15
1
12
-23
0
0
-3
6
9
0
0
-4
0
0
0
5
15
0
-3
-36
-1
0
-9
-9
30
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
11
0
0
0
0
-1
0
0
0
0
0
0
0
-5
0
2
33
0
13
0
-30
6
9
0
0
0
0
0
0
3
0
0
-26
0
0
0
11
-3
-6
0
0
0
0
0
0
-1
26
0
-1
0
0
1
3
0
-4
0
0
0
0
0
0
6
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-15
-10
11
5
-25
1
-21
-45
17
-7
-17
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
-2
1
2
14
-19
0
-18
-20
33
15
4
-3
-38
0
0
55
-10
-12
-12
15
0
9
-29
1
33
-25
36
48
-35
0
0
-60
-18
-6
-5
-51
1
-25
-17
-1
3
8
20
7
8
0
0
-2
0
1
17
28
-19
2
-29
4
2
23
-22
3
-35
0
0
19
0
0
0
8
0
0
9
0
0
8
-2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
0
6
0
5
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-6
1
22
2
-38
-32
0
-22
13
12
3
-3
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
7
3
-9
6
-4
-46
8
-6
-15
-14
11
-14
0
0
28
16
-16
-9
11
11
-27
-36
-6
4
1
-17
-20
-25
0
0
-10
-2
10
-9
6
-31
-4
-2
-54
-3
20
2
-8
16
0
0
2
0
16
-6
4
-13
0
3
-9
0
3
-15
0
-34
0
0
-14
0
-1
6
17
0
0
-8
-19
-3
-9
9
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-27
-4
0
0
0
0
0
0
-10
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
4
0
0
0
0
0
0
0
0
6
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
2
0
0
0
2
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-20
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
-6
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
-15
0
0
0
0
0
-9
0
0
0
0
-1
0
0
0
4
12
0
-2
0
0
6
0
-15
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-6
-13
0
1
0
0
0
11
-2
-3
0
0
0
0
0
0
-1
10
11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
3
0
16
20
0
-4
0
0
-9
-11
-39
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-24
-30
0
0
0
0
0
0
-18
3
0
0
12
1
0
6
-7
-9
-2
-15
8
6
7
-7
4
19
0
0
23
0
-23
1
-32
15
0
-20
-34
0
-13
0
22
-10
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
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
8
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
-1
0
33
-6
0
-5
0
0
0
-7
-29
-3
0
0
1
2
0
-2
-4
-3
0
1
2
0
0
-26
-1
-35
0
0
0
0
0
0
-11
4
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-22
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-6
0
0
0
1
0
-4
0
0
0
0
0
0
-15
11
0
-6
0
0
0
0
20
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
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
-14
9
0
0
0
0
0
-27
-2
0
0
0
-1
0
0
0
2
-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
2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
3
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-10
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
3
0
0
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
-7
5
0
-12
4
-1
29
-8
31
2
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
-6
0
0
0
-1
4
0
0
0
29
0
-2
0
-33
19
0
1
-9
9
0
-9
-1
-6
0
0
27
0
-21
0
1
25
0
4
-25
0
10
-1
30
18
0
0
0
0
0
0
-4
-8
0
-1
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
9
0
0
0
0
5
0
0
0
0
0
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
7
17
0
1
0
0
0
0
4
-5
0
0
-13
0
-10
0
-12
-18
-6
0
0
0
0
6
1
8
0
0
-2
0
0
0
-6
-3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
46
0
0
0
0
0
14
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
-11
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-11
13
0
-1
0
0
0
-5
-28
7
0
0
3
0
0
0
3
-11
0
-9
0
0
-17
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
-4
0
0
0
-6
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
51
0
4
3
0
-8
28
-22
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
14
0
-4
10
0
0
3
-12
-6
0
0
-9
0
0
0
4
16
0
16
-35
0
-2
43
-9
3
0
0
-16
0
0
0
-7
-16
2
24
11
0
15
2
5
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-11
0
0
0
-3
0
0
0
11
-3
0
0
-7
0
0
0
7
0
0
-5
0
0
0
-6
12
-14
0
0
-1
0
0
0
9
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
30
25
0
0
-1
0
-2
-7
19
-10
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
0
0
0
0
-23
18
0
-1
-15
-1
0
-6
0
0
0
0
4
0
0
0
4
-10
0
32
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
53
8
0
-6
1
0
0
0
0
-12
0
0
0
0
0
0
31
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
-27
1
0
-3
0
0
0
13
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
20
-10
0
-2
0
0
0
-6
0
0
0
0
-3
0
0
0
8
2
0
0
0
-1
0
-26
-8
0
0
0
0
0
0
0
14
-35
0
3
0
0
1
0
-18
-6
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
28
-4
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
-1
-3
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
-15
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
0
-13
0
0
2
0
0
-5
4
0
0
0
-8
0
0
0
-17
17
-40
-18
0
0
0
0
2
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-52
36
0
0
1
0
0
0
7
-4
0
0
0
0
0
0
-22
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-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
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
1
0
-8
7
-43
-2
-21
-14
9
-25
5
-22
43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
38
9
0
-4
17
-8
0
-9
-15
2
0
0
-10
-23
0
6
17
5
-1
-11
-37
0
0
4
5
21
0
0
-24
5
-16
-4
26
18
0
48
43
36
-21
7
1
-8
0
0
0
0
0
0
1
1
0
-16
0
0
0
1
0
10
0
0
4
0
0
0
13
-4
0
-3
0
0
0
8
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-5
1
0
1
17
0
-6
6
3
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
6
-12
-9
13
0
12
4
-1
0
-7
43
6
0
0
-12
0
7
0
-34
4
1
17
20
0
0
-9
32
-25
0
0
10
0
0
4
4
11
0
29
-28
-1
-3
0
-3
0
0
0
0
0
0
0
0
-1
0
-21
0
0
0
-10
0
-2
0
0
3
0
0
0
-4
6
0
0
-6
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
17
-10
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-48
-4
0
2
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-19
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
18
-3
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
7
0
0
0
0
0
0
0
4
-6
0
0
0
0
0
-44
0
5
0
0
-1
0
0
0
5
-5
0
0
0
0
4
0
-18
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
-12
2
0
0
0
0
0
0
7
15
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
1
0
0
0
0
0
4
-17
-43
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
-5
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-7
-1
2
-11
0
0
0
1
1
-10
0
0
0
0
0
0
0
-3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
20
4
0
-1
0
0
0
0
6
-15
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
-4
0
-30
7
0
-26
-12
-8
25
-42
-5
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-25
-3
0
-14
6
4
0
-4
16
29
0
0
-16
-5
0
0
-7
-1
0
-3
-9
23
0
60
22
19
0
0
4
3
20
-2
-45
33
3
-5
-9
-6
18
8
-9
64
0
0
-6
0
0
0
-9
20
0
4
0
0
0
-1
0
9
0
0
0
0
0
0
-42
-14
0
0
0
0
0
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
19
-17
0
0
4
-2
2
-10
3
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-10
0
0
-3
18
0
39
-14
0
0
10
28
14
0
0
8
0
11
-9
9
-4
-2
1
2
1
0
-4
-2
-24
0
0
0
0
0
0
25
18
0
15
-1
0
0
-15
0
-15
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
-6
0
0
-38
0
0
0
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-25
5
0
3
3
0
-6
33
39
-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
4
6
0
0
-4
-1
-35
0
0
1
0
0
0
16
-52
6
21
-27
0
0
56
3
-10
0
0
-22
0
0
0
-7
-7
0
6
-26
4
1
-2
-28
-28
0
0
0
0
0
0
0
-4
0
0
0
0
0
-2
0
-5
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-17
9
0
0
5
0
0
0
33
-38
0
0
-1
0
0
0
-13
-25
0
0
0
0
0
0
-11
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
0
42
27
0
-5
-17
2
0
3
-11
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
10
11
0
10
15
0
4
0
19
5
0
0
-2
0
0
0
5
11
0
-4
18
9
0
12
-29
-26
0
0
41
0
6
-10
-1
-10
-8
11
12
8
4
-2
-69
-48
0
0
0
0
0
0
-8
7
0
8
0
0
0
0
0
7
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
-4
0
0
-1
0
0
-23
-1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
6
-6
-21
11
0
0
-31
0
0
8
-49
-24
0
0
-6
0
0
-5
-9
0
0
-11
1
0
0
11
0
-2
0
0
0
0
0
0
3
-6
0
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
2
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
-1
-2
0
-46
4
20
9
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
-1
0
0
0
5
-18
0
-21
-6
0
0
6
2
-2
0
0
0
0
0
0
-9
-20
0
21
0
0
-9
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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
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
21
-40
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
-43
-2
0
-10
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-13
0
3
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
4
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
0
-1
0
0
0
-3
-1
0
0
0
0
0
0
0
-2
1
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
3
-1
0
15
4
0
0
0
-2
0
0
0
0
0
0
0
0
-6
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
9
0
0
0
0
1
8
9
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
-2
0
1
0
0
0
1
1
-3
0
0
0
0
0
0
0
24
-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
-2
-1
0
0
0
0
0
0
-11
4
0
0
0
0
0
0
-6
2
1
-3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
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
33
-17
0
-33
-3
4
23
-5
12
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
17
8
0
-13
-10
1
-2
0
26
-25
0
0
18
0
1
6
-10
-24
0
9
-1
-1
0
22
29
0
0
0
11
0
7
0
21
-22
0
-29
6
-10
7
-6
3
-41
0
0
0
0
0
0
4
4
0
27
0
0
0
-9
0
28
0
0
1
0
0
0
9
3
0
1
0
0
0
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
8
0
0
0
13
-2
0
0
1
0
0
-17
25
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-1
-8
52
1
0
-3
-26
-1
0
0
65
18
0
0
7
0
0
0
-6
-6
-1
-2
-3
0
0
21
-6
24
0
0
0
0
2
0
-7
2
0
-1
-14
0
0
0
0
15
0
0
0
0
0
0
0
1
0
2
0
0
0
0
0
-5
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-10
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
3
0
0
0
-4
0
-1
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-10
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
13
-3
2
24
3
-56
19
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
-1
0
0
0
1
-1
-3
0
0
-4
0
0
0
26
19
0
16
9
0
0
28
31
-13
0
0
32
0
0
0
7
-37
0
15
0
0
1
0
-4
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-4
0
-6
46
0
0
0
0
0
0
25
8
0
0
0
0
0
0
29
-18
0
-10
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-12
0
4
0
0
45
23
17
16
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
17
0
0
0
-2
0
0
0
6
-10
0
19
0
0
0
-13
42
-34
0
0
6
0
-9
0
0
12
0
-44
12
0
-4
0
24
-58
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
-1
0
6
-4
0
0
0
0
0
0
-3
-24
0
0
-6
0
0
0
2
2
0
-3
6
0
0
0
-11
-20
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
35
-48
0
-23
-6
1
26
21
-1
-7
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
-3
-6
0
0
-1
7
10
0
0
-24
0
0
0
46
20
0
20
0
12
7
4
-15
-4
0
0
-19
0
0
-1
3
-46
0
-15
12
0
-3
0
-6
65
0
0
0
0
0
0
-2
3
0
2
0
0
0
0
0
-23
0
0
0
0
0
0
-2
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
-7
0
0
0
1
3
0
0
1
0
0
1
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
1
0
-1
-26
0
-13
4
0
4
0
-30
-16
0
0
-8
0
0
0
7
-14
0
-4
11
0
0
7
1
-29
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
9
0
4
0
0
0
0
0
0
0
0
14
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
17
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
0
-2
0
0
0
19
0
-24
0
0
0
0
0
0
44
-46
0
-8
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-49
-10
0
0
0
0
0
0
0
2
0
0
0
0
0
0
22
1
0
0
0
0
0
0
0
16
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-56
20
9
-21
8
4
-10
-37
-12
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-4
-1
2
18
-3
-13
-48
-4
-25
-11
29
-9
0
0
18
0
-13
2
-4
29
-8
-29
-15
-10
10
-35
58
12
0
0
-2
0
12
2
34
5
-16
-38
2
9
-13
-13
-3
-13
0
0
0
0
0
0
0
5
0
-7
0
0
0
2
0
1
0
0
0
0
0
0
0
59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
0
-4
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
-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
-28
38
6
9
-21
-16
-5
2
-31
-1
0
16
-10
1
0
0
0
0
0
-2
6
2
3
-5
14
-23
0
-15
1
-17
0
0
-13
0
0
0
0
-5
0
1
8
0
0
0
0
-2
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
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
-26
0
-1
2
6
11
0
-31
8
7
7
-50
-11
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
14
-10
0
0
-12
0
-2
17
-39
-7
0
0
10
0
0
-8
-2
-53
1
42
42
-12
11
-20
-1
18
0
0
8
0
2
7
-6
2
-2
12
-2
11
-9
23
-21
-25
0
0
0
0
0
0
0
-9
0
9
0
0
0
0
0
33
0
0
0
0
0
0
-6
-6
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
11
0
0
-1
0
0
-7
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
3
5
-26
3
0
18
-26
0
0
1
-32
-6
0
0
-8
0
0
1
23
-17
2
15
-11
0
0
10
-2
28
0
0
5
0
0
0
-8
-5
0
20
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
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
6
0
0
0
10
17
0
5
0
0
-1
0
26
23
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
1
0
0
0
0
0
0
0
0
-18
-12
0
-12
0
0
0
29
0
41
0
0
4
0
0
0
-2
-14
0
-11
0
0
0
0
0
15
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-18
-7
0
0
0
0
0
0
1
-8
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-17
-6
0
0
0
0
0
-2
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
4
0
0
3
0
0
0
-26
7
0
-6
13
0
0
12
0
5
0
0
0
0
0
0
-30
15
0
-10
0
0
0
0
-7
13
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
1
7
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
-1
0
0
0
5
18
0
-5
0
0
9
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
1
4
0
4
-1
0
8
9
0
6
0
0
0
0
0
0
-4
0
0
-9
0
0
1
-29
0
-10
0
0
2
0
0
0
-19
9
0
1
0
0
-11
0
-7
-16
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
10
-1
0
0
-15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
14
-55
0
6
-12
-4
12
27
-14
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
11
-32
0
1
-25
0
2
61
22
20
0
0
-24
0
0
0
-34
33
0
-9
35
15
0
38
-1
0
0
0
-1
0
0
0
7
-14
2
13
-9
0
-34
-11
-12
-10
0
0
0
0
0
0
0
-1
0
0
0
0
0
15
0
13
0
0
0
0
0
0
6
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
-1
2
0
0
2
0
0
-17
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-11
-40
0
-14
-14
0
0
-13
-2
-40
0
0
-6
0
2
-2
19
-3
6
-26
0
0
0
-5
8
1
0
0
0
0
0
0
0
15
0
26
-6
0
0
0
0
-2
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
-1
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-3
23
-53
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-3
0
-1
0
0
0
-1
0
0
0
0
0
0
0
33
0
-6
0
0
0
5
-12
-16
0
0
9
0
0
0
0
15
0
-4
0
0
-15
7
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
10
0
1
-2
0
0
0
41
-25
0
0
-2
0
0
0
0
-4
0
0
0
0
0
3
10
-3
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-6
0
21
21
0
22
2
-9
-27
-16
7
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
-9
0
10
21
6
-1
-14
16
18
0
0
8
5
0
9
57
-4
-1
4
-21
-13
-12
2
14
-10
0
0
-26
-8
2
0
-35
-50
0
45
-29
-6
-23
-2
-20
8
0
0
0
0
0
0
0
-15
0
23
0
0
0
-2
0
17
0
0
0
0
0
0
19
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
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-1
0
0
-1
0
0
0
-7
2
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
38
0
4
-20
19
-19
0
-15
7
0
0
4
-29
-24
0
0
-56
0
1
2
-46
29
-2
-22
21
0
0
-8
-2
14
0
0
-11
0
0
0
0
0
0
-26
-11
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
4
0
0
0
0
0
-1
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
-3
0
0
0
0
1
-13
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
3
13
0
0
0
0
0
0
-59
19
0
-8
3
20
0
-25
0
-4
0
0
-2
0
0
0
41
28
-2
1
0
0
-12
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
23
5
0
0
7
0
0
9
0
0
0
0
0
0
0
0
-9
0
4
3
0
0
0
-2
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
27
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-38
12
0
-13
0
25
20
-21
-10
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-30
0
-32
-6
0
0
-1
-10
-3
0
0
6
0
0
10
-8
7
7
-7
40
17
0
25
-6
16
0
0
9
7
-1
0
2
16
-1
69
19
-3
-11
24
-19
12
0
0
0
0
0
0
0
-2
0
21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
-11
0
0
0
11
9
0
3
22
0
0
1
15
15
0
0
-2
0
0
-4
6
4
0
2
0
0
0
27
-10
14
0
0
7
0
0
2
25
6
0
6
0
0
1
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
36
5
0
0
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
-10
2
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-5
-4
0
13
-2
0
0
-5
22
2
0
0
0
0
0
0
1
-4
0
-8
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
6
0
0
0
10
-9
0
0
0
0
0
0
4
0
0
0
0
0
0
0
-4
3
0
3
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
-1
0
0
24
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
30
9
0
0
1
0
26
8
-16
2
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
-14
1
0
0
0
0
0
0
0
22
17
0
-11
-13
-12
0
55
29
-1
0
0
0
0
0
0
8
1
0
6
0
0
1
-9
-30
-4
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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
-3
0
0
0
29
0
0
0
3
0
0
0
-16
22
0
3
1
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
-2
-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
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
6
0
-2
4
12
0
-2
-2
-4
0
0
-6
0
0
0
-6
-7
0
12
0
-5
10
3
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
14
-18
0
0
0
0
0
0
4
9
0
0
0
0
0
0
8
4
0
1
-3
0
0
-3
22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
-5
-3
2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
2
0
0
0
1
0
0
-5
-16
0
0
0
1
0
0
0
5
0
0
2
0
0
1
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
11
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
-25
-1
61
33
17
11
7
31
-42
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
0
0
47
1
0
1
24
-12
-11
32
-3
28
0
0
44
17
1
13
9
34
-28
24
6
-11
17
-4
-44
-8
0
0
111
0
0
24
31
-51
7
57
38
28
-26
-27
-34
-28
0
0
98
0
0
0
-33
38
28
-14
-7
-2
6
-8
-5
-9
0
0
108
0
0
0
52
-9
-1
20
-2
-1
-6
-52
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
-22
-1
18
42
-26
22
-7
15
-23
-7
0
0
0
0
0
0
0
0
16
34
0
0
0
40
0
1
0
0
0
0
0
0
0
0
-4
-44
0
7
-15
-23
-24
2
0
0
0
0
0
0
0
0
0
3
-7
3
1
5
-25
-7
0
0
0
0
0
0
0
18
0
-9
-6
-2
-6
18
3
-18
0
0
0
0
0
0
1
0
0
21
-6
0
1
0
-7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
106
0
6
0
-21
-3
1
1
-6
-13
-1
28
-9
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
12
32
14
-16
-1
12
-37
69
-22
-19
-30
19
-33
0
0
-8
-11
11
-39
-17
-27
-4
-30
-2
-5
-24
2
-32
-27
0
0
103
0
-8
0
5
2
-17
-50
0
18
-23
-21
16
-12
0
0
73
0
0
0
6
8
3
-8
-25
0
0
13
2
7
0
0
22
0
0
0
-28
18
-3
0
-20
-9
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
-4
0
0
-1
9
0
0
0
0
12
-27
-38
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
0
-8
-2
0
-6
6
0
-7
28
3
-5
0
0
2
28
0
0
-6
46
-1
-28
-1
0
10
24
33
3
0
0
-3
42
0
0
-10
-20
1
-30
13
-1
-8
6
-5
-24
0
0
0
65
0
0
0
-4
0
0
0
0
0
0
0
6
0
0
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-30
0
0
0
-7
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
-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
12
0
0
-2
-9
0
0
0
0
0
-1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
14
0
0
-4
21
0
-4
21
-1
0
4
-5
-9
0
0
-9
-18
0
0
17
-19
-4
-9
-8
0
0
3
9
-18
0
0
0
-8
0
0
8
3
0
-27
-1
0
0
0
8
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
0
0
1
0
0
0
0
0
0
3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
-10
20
-11
-6
6
-16
8
33
-43
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
74
0
15
-11
0
-1
3
18
-3
15
-1
-58
0
0
1
0
23
0
-24
12
10
14
6
-3
0
2
26
-44
0
0
0
0
71
2
18
15
-1
-35
-6
-12
-27
6
20
-35
0
0
0
0
75
0
0
8
0
-3
0
0
0
22
0
-6
0
0
0
0
54
0
-3
-1
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
1
-5
18
-12
7
0
1
-3
-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
-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
2
0
0
0
26
0
10
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
9
0
1
-8
0
0
24
2
0
12
1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
61
2
29
-18
1
-18
0
3
7
-1
0
-23
6
-21
0
0
-6
0
21
0
-20
-24
3
4
-16
-13
0
25
-10
-8
0
0
-17
0
44
0
-2
-6
0
24
8
-6
0
7
-11
7
0
0
0
0
32
0
0
9
0
-1
-1
0
0
-8
0
1
0
0
2
0
45
0
-1
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
0
2
0
0
4
-5
16
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
28
-6
18
0
-5
-4
8
-1
-1
1
-2
0
0
0
0
0
27
-1
-14
9
18
-22
13
-1
-8
-33
-45
0
0
-9
0
-1
28
37
-14
0
-24
-1
0
5
6
-21
-5
0
0
0
0
0
93
0
-4
0
0
0
0
0
6
0
27
0
0
0
0
0
15
-1
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-1
1
2
8
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
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
18
0
0
0
0
0
0
0
-2
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-7
-8
-17
-3
0
-8
11
3
0
0
-28
-31
0
0
-1
0
0
-10
-20
12
5
-8
14
0
0
23
6
-70
0
0
0
0
0
-12
9
-6
0
-21
7
0
0
0
11
-25
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
-9
0
0
0
0
0
28
0
0
0
0
-2
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
-25
-1
0
-11
-8
-36
20
17
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
15
26
1
8
-17
-15
-41
-37
3
3
0
-21
12
0
0
21
1
36
9
13
-10
-27
22
-24
-6
13
-14
31
14
0
0
-27
43
52
-1
12
-14
13
0
3
-31
12
-25
-2
-13
0
0
15
0
0
14
13
-12
12
2
2
1
-17
16
0
-2
0
0
-19
-4
13
5
24
-26
19
-34
15
13
20
-56
-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
3
1
24
-3
5
-24
43
7
-22
-10
0
0
0
0
0
0
-1
0
-8
-9
-3
-1
0
35
0
0
0
0
0
0
0
0
-5
16
-5
40
1
3
7
27
-1
-42
0
0
0
0
0
0
39
0
-1
3
-3
-9
-1
25
1
-11
0
0
0
0
0
0
21
12
0
33
-21
27
3
-20
0
28
0
0
-1
0
0
0
38
0
0
37
3
2
-12
-28
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-5
-6
13
-38
16
-1
3
-27
-25
63
-22
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-5
-2
-21
0
-3
-37
-20
-1
-14
-18
9
22
-36
0
0
23
-3
-12
-18
23
15
9
-4
-26
-33
6
-33
37
6
0
0
1
2
7
19
10
-59
1
-21
-29
-3
5
-5
-11
-5
0
0
0
0
0
0
11
-16
-5
-19
-5
-21
-3
-5
0
-28
0
0
40
-2
11
15
27
-8
4
-10
6
-11
-22
-6
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
36
8
34
40
-16
8
2
-17
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-25
5
45
1
-10
-16
-10
-7
18
19
-31
-29
8
0
0
-6
-31
14
-3
-5
-3
16
-15
-17
15
-13
7
5
-13
0
0
-13
-70
-48
8
-17
6
8
-27
-29
-49
-13
-20
-35
27
0
0
-24
17
-7
7
-9
-13
-24
-31
-49
-25
13
-22
-36
28
0
0
18
29
-19
-10
32
59
6
20
13
15
9
-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
-19
-24
26
22
2
13
2
-32
6
-1
0
0
0
0
0
0
4
22
-37
29
42
-1
-17
-10
-3
3
0
0
0
0
0
0
-10
-23
4
-13
-5
-36
3
42
10
11
0
0
0
0
0
0
9
-32
-22
48
-21
-14
-8
0
13
-23
0
0
0
0
0
0
11
3
0
-21
36
-25
5
-11
19
-28
0
0
-1
0
0
0
28
-2
0
-7
25
-4
0
36
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-6
-11
-11
-3
16
56
15
3
-38
-6
24
11
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
15
12
14
22
3
-40
5
-16
-4
8
-6
2
31
0
0
-27
9
-5
-14
27
9
25
-25
3
-38
3
7
14
-8
0
0
-26
-22
-13
10
8
40
9
-18
-12
-4
36
10
-23
10
0
0
16
1
-17
-16
17
2
-25
26
12
42
-45
-8
-16
-2
0
0
-4
0
0
7
-35
29
20
21
-30
36
-32
34
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
7
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-14
-1
0
-4
-4
0
4
10
59
6
0
0
12
0
0
7
-7
-56
-56
-16
-2
-6
-8
-18
-5
54
0
0
-12
0
-8
3
31
-25
6
11
39
2
-25
10
17
0
0
0
0
0
0
0
0
20
0
1
0
0
0
0
0
-4
0
0
0
0
0
0
9
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
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
29
-5
0
0
10
0
-4
32
23
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
1
-9
-18
-6
7
2
-1
0
0
6
24
0
0
-3
0
0
6
10
-20
-7
-19
36
1
0
23
25
-47
0
0
-6
0
0
0
-6
15
0
-5
6
0
0
-2
-7
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-1
0
-5
0
0
-3
0
0
0
4
0
0
0
1
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
2
15
39
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-3
17
-21
-1
0
7
-7
-13
1
-44
-45
-1
0
0
-21
-1
10
3
-42
-14
-10
40
-9
-1
11
9
9
-7
0
0
-49
4
-2
-21
-47
-23
-12
-3
29
39
-19
3
-4
10
0
0
-11
0
0
-2
-8
-7
-23
49
9
3
13
19
-3
-20
0
0
11
0
0
0
-25
36
1
19
4
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
-1
12
13
-6
-4
-21
-36
-6
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
10
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
6
0
4
0
0
0
12
0
9
0
0
0
0
0
0
11
0
0
-5
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
-12
4
0
-4
0
-1
11
17
20
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-35
-16
-17
16
-43
17
-2
-5
27
12
9
26
-7
13
0
0
-27
2
-18
-39
35
-13
37
16
-6
13
2
18
-23
-11
0
0
7
0
8
7
12
10
2
1
24
-12
7
8
26
22
0
0
-1
0
0
0
0
-2
0
-27
-1
0
-1
34
0
0
0
0
35
0
0
0
26
-7
0
-9
14
0
-1
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
8
-15
-17
-4
39
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
0
55
5
0
-26
-30
-9
-39
6
-72
6
0
0
-45
5
7
14
14
7
12
14
20
-2
-5
19
-37
0
0
0
10
-9
-60
0
-83
-27
-3
7
21
18
-9
-1
-47
-42
0
0
0
0
0
0
6
-7
5
-17
11
0
-16
-1
-17
11
0
0
-6
0
0
0
11
21
-4
1
2
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
-1
-20
23
-3
26
4
-5
-22
34
-34
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
4
0
4
10
7
0
0
0
0
0
0
0
0
0
-6
0
0
0
-3
4
1
0
0
0
0
0
0
0
0
0
-9
0
0
0
-11
0
-15
0
0
0
0
0
0
15
0
0
4
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-5
-23
6
-2
21
2
-2
2
-4
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-7
2
-31
25
-29
-1
9
32
-20
-6
11
-17
-36
0
0
69
-3
16
11
-9
-41
-13
37
15
0
-7
9
-33
4
0
0
9
0
3
4
-2
-12
13
-37
26
19
-6
-9
-20
-37
0
0
0
0
0
0
0
-9
1
11
1
0
0
4
0
-32
0
0
-4
0
0
0
-16
-11
4
-6
-18
-2
0
37
-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
9
18
-60
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
3
-6
0
7
-45
2
-3
-20
3
-6
0
0
14
-4
-19
-1
-14
-9
-3
23
43
16
-31
-14
-20
-12
0
0
1
0
1
12
-25
-46
-17
-22
-6
40
37
-47
-48
-28
0
0
2
0
0
0
16
30
7
-6
3
0
2
12
-11
-13
0
0
0
0
0
0
2
-3
-4
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
29
-7
7
41
1
-1
0
5
15
-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
-7
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-30
0
0
0
1
0
-3
0
0
0
0
0
0
1
0
0
9
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
13
11
0
0
0
0
-1
-24
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
15
-7
-1
-42
-1
-10
4
1
1
10
-9
-47
0
0
-6
-8
3
-1
37
-10
-1
-22
-20
-24
0
10
39
-30
0
0
11
0
0
0
-25
-39
-10
16
-1
-3
9
-2
-29
-11
0
0
0
0
0
0
0
17
0
-51
0
0
-1
9
0
39
0
0
5
0
0
0
3
0
2
-2
-4
0
0
4
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
5
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
7
0
-36
-9
11
-11
-29
31
-3
16
-11
1
-16
0
0
-7
27
4
0
35
-22
40
-49
14
5
-11
-22
14
-17
0
0
2
22
-2
-17
-7
-9
30
33
2
-16
45
-14
-39
-44
0
0
11
0
0
11
-51
-10
-17
-14
19
-1
63
33
-7
-8
0
0
-9
0
0
0
-49
-28
6
-25
-27
40
77
-18
-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
15
-3
-8
7
9
-1
-6
-22
-14
-47
0
0
0
0
0
0
0
0
0
-7
-1
0
0
-30
-3
4
0
0
0
0
0
0
0
0
-7
26
0
18
0
-28
-15
-4
0
0
0
0
0
0
0
0
0
24
0
0
0
-41
1
10
0
0
0
0
0
0
0
20
0
-12
-8
4
-16
11
-1
-43
0
0
0
0
0
0
-16
0
0
21
8
0
7
-13
10
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-22
-26
12
19
-25
53
-2
-15
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-79
-1
-15
-42
15
-25
9
-17
-23
-58
19
2
4
-24
0
0
-4
15
-1
-56
-3
9
-19
-25
-1
-4
-16
-12
-7
18
0
0
18
0
1
-18
16
9
-15
-39
36
36
31
-20
-2
-28
0
0
-14
0
0
0
2
-33
-13
37
-42
16
26
-3
-8
5
0
0
-4
4
0
0
-36
8
-14
2
-5
11
43
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-2
-8
6
-18
9
3
23
-37
43
-3
32
-23
-24
0
0
16
-11
-20
-28
-14
-5
21
-55
-38
-7
-12
11
-23
-23
0
0
53
-9
-22
8
-30
31
21
-6
-8
-40
6
21
-7
4
0
0
-42
0
-6
12
4
-3
-32
10
-21
-32
-42
-12
28
-21
0
0
33
0
2
0
-1
-21
2
11
12
4
3
38
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
-26
-20
49
7
-24
-2
-49
3
-28
16
0
0
0
0
0
0
0
1
7
0
0
0
0
20
0
0
0
0
0
0
0
0
1
-9
-17
-44
0
12
-9
6
-21
-13
0
0
0
0
0
0
0
0
0
9
0
0
1
20
-2
10
0
0
0
0
0
0
0
5
0
8
25
1
1
45
1
3
0
0
0
0
0
0
-5
0
0
16
-19
0
0
-54
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
9
2
-18
-4
-12
-26
24
-5
-14
3
-27
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
9
6
-99
-2
-29
20
-3
12
-27
31
19
10
-42
0
0
3
3
-49
-27
9
-4
23
53
33
-19
-40
-8
-21
0
0
0
4
0
30
1
-5
-18
30
39
6
-28
15
9
-11
-2
0
0
4
0
0
2
-48
-18
-11
8
-33
-8
22
28
-7
-25
0
0
58
0
8
3
6
16
-22
26
30
-17
-27
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
9
19
46
-24
12
-16
-32
-1
39
-12
-8
-4
-2
0
0
13
13
-11
-20
8
3
24
26
6
8
-65
3
11
0
0
0
-26
-6
-2
-17
16
-12
-1
-12
-11
-3
-4
-9
-8
-16
0
0
-53
0
7
10
0
-18
5
-34
-53
-10
5
-13
53
21
0
0
-23
0
-8
-31
15
0
46
-76
-1
11
8
-3
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
1
23
-17
-44
-9
-4
16
34
-23
13
0
0
0
0
0
0
0
2
1
6
0
-1
0
21
-18
-27
0
0
0
0
0
0
0
0
-8
-41
0
-41
15
39
5
13
0
0
0
0
0
0
0
0
7
18
15
0
-1
10
-9
-1
0
0
0
0
0
0
0
11
0
8
2
-12
0
27
16
6
0
0
2
0
0
0
7
6
0
22
-4
7
0
10
-35
-50
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
-19
5
-3
21
13
-21
25
-14
-24
32
-25
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-23
2
-61
27
1
0
1
11
-23
29
-16
19
-24
0
0
27
-5
-37
2
20
15
-8
-7
-17
-16
-2
-19
12
-11
0
0
-2
0
2
9
-26
-81
-21
-1
27
13
-34
-45
-44
-19
0
0
-4
0
16
3
0
10
14
15
-30
1
3
-35
16
-43
0
0
-11
-19
10
15
-23
-40
-13
10
15
26
-12
-30
-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
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-41
-8
21
-5
15
2
-2
-30
55
12
18
-42
-15
0
0
-11
-44
-46
-20
27
-4
19
-14
18
-10
10
-20
-16
-5
0
0
-25
-38
-42
-19
-14
14
35
-11
4
17
-12
-22
8
-20
0
0
-35
-9
-12
-2
-14
-13
8
-21
-37
-6
21
-17
-25
-2
0
0
-19
0
2
-7
-39
0
6
-29
24
5
-11
2
-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
-19
-4
-23
1
-5
8
-27
-7
0
-19
0
0
0
0
0
0
0
0
20
38
0
15
2
-23
-1
4
0
0
0
0
0
0
1
-2
-11
26
-3
19
-6
-29
-1
19
0
0
0
0
0
0
0
0
-3
32
-11
-3
-8
-16
47
-20
0
0
0
0
0
0
19
-37
0
8
6
1
40
-31
0
-13
0
0
0
0
0
0
-13
0
0
78
-10
0
0
-4
19
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-1
1
-2
-17
-32
-2
16
14
-24
13
9
-28
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-9
-43
7
-4
24
-7
7
-23
12
31
12
-5
-8
0
0
15
32
-22
-7
-2
-39
9
15
16
1
-8
30
19
-4
0
0
-37
0
-28
38
-31
-40
-5
-20
15
5
-25
60
-24
-4
0
0
11
0
-20
9
13
-48
-4
-41
7
-1
-3
-22
18
17
0
0
-14
0
-4
-13
-31
0
2
29
10
6
-35
27
-12
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
-27
-3
-6
-16
0
14
5
0
0
-13
6
8
1
-4
-9
12
56
16
-1
13
8
-25
-3
0
0
19
0
-16
-1
14
-29
2
32
-12
-12
36
28
6
-11
0
0
-6
0
0
0
8
-7
2
-32
-1
0
-21
-40
-9
7
0
0
39
0
0
-1
-37
4
-1
-3
0
0
3
-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
1
13
6
0
5
8
14
22
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
1
0
9
0
0
0
-16
0
6
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
38
9
0
6
-14
0
-21
-5
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
28
-6
0
1
32
-8
0
27
-8
-1
0
0
20
-2
-3
0
-43
-25
-8
14
0
0
0
-3
-2
-47
0
0
-5
0
8
0
-2
8
-1
-5
-13
0
-1
-24
-14
14
0
0
-16
0
0
0
0
24
0
13
-2
0
0
21
0
7
0
0
-62
0
0
0
0
0
0
11
-7
0
9
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
-3
0
0
0
0
0
0
0
0
0
0
0
22
0
0
21
-21
0
-1
4
-2
0
-49
-20
-10
0
0
0
21
0
0
7
22
0
31
0
-1
-9
0
17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
1
-25
0
0
0
0
0
0
0
-4
0
0
0
-11
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-10
0
0
0
0
0
-8
0
-9
14
-2
-38
1
0
0
44
18
-2
0
0
1
0
30
0
-19
-13
0
14
4
0
-5
1
11
-19
0
0
0
0
-44
0
0
6
0
2
0
0
0
0
0
2
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
-8
11
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
4
0
0
0
0
0
0
0
0
0
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
4
0
0
-10
0
0
-2
3
-14
0
0
0
0
26
0
-4
5
0
0
-2
0
0
1
0
4
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-9
0
1
0
0
0
0
0
0
0
0
-1
0
0
60
1
-3
4
3
12
1
0
24
-36
-7
0
0
11
0
0
39
21
-25
0
-1
0
0
-8
0
-5
-9
0
0
0
0
0
56
0
-17
0
-1
0
0
0
0
0
1
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
2
0
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
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
11
0
0
-7
6
-30
0
-6
-2
0
0
0
6
0
0
0
-2
0
0
30
19
-2
2
3
12
0
0
17
10
-3
0
0
0
0
0
0
0
2
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
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
32
-2
-21
-19
-30
13
-15
12
-29
0
0
-8
-15
20
14
-12
0
-17
-14
-24
-38
-7
-17
-8
-6
0
0
-13
-14
4
-8
6
-16
1
12
22
12
-7
-37
58
-26
0
0
-14
0
0
5
-21
14
19
-16
-2
0
-34
6
0
22
0
0
18
0
7
-7
-6
10
-11
75
-8
36
29
-39
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
8
9
-17
20
26
6
17
9
-36
-7
0
0
0
0
0
0
26
0
7
0
0
0
0
-13
0
1
0
0
0
0
0
0
12
0
0
7
1
-11
-1
-3
0
9
0
0
0
0
0
0
-25
0
0
6
-2
-1
0
-9
0
-7
0
0
0
0
0
0
-1
0
0
-37
5
0
0
-11
0
24
0
0
0
0
0
0
51
0
0
18
11
0
0
32
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
-3
1
4
-36
-10
7
-11
-15
2
9
-27
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
23
-15
-11
-4
-3
0
-1
-16
-63
16
31
0
0
-33
1
4
-5
-12
0
-32
-15
9
-12
-7
4
23
41
0
0
21
0
-13
0
-1
-16
-8
-18
-39
2
-6
-13
10
2
0
0
0
0
0
0
-28
-21
11
-24
1
0
9
-7
0
-16
0
0
-4
0
-27
1
-6
6
0
-49
-11
-5
7
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
-14
0
1
-36
38
51
8
1
33
0
0
5
11
-20
4
-24
-12
-3
-23
5
2
-53
-13
25
-2
0
0
3
-7
-25
-44
15
19
6
4
-12
25
-21
-24
11
-18
0
0
-18
1
-27
9
-4
1
4
-31
-32
-34
12
-5
-41
-14
0
0
-31
0
-26
0
8
21
-8
7
-3
-1
-33
-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
-11
12
-6
19
7
10
14
5
0
-1
0
0
0
0
0
0
0
-33
-14
2
0
0
14
-2
0
0
0
0
0
0
0
0
-10
-24
20
-19
-2
-4
-20
7
6
-26
0
0
0
0
0
0
0
-1
0
-7
1
0
0
21
0
0
0
0
0
0
0
0
0
23
0
23
29
29
16
11
5
4
0
0
0
0
0
0
23
-2
0
16
-2
0
0
20
54
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-9
-11
-28
33
-23
-52
2
0
-15
-38
-26
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-4
0
1
-37
7
-8
-14
25
-16
-21
-19
55
7
0
0
-41
-27
-11
25
0
-3
-20
10
3
-1
-7
18
17
-32
0
0
-34
-9
10
5
37
17
13
-8
18
-22
-63
-3
-7
25
0
0
0
0
-30
-3
14
-34
-12
12
44
5
-8
-31
0
-22
0
0
-26
0
0
0
-13
33
0
14
-28
6
0
7
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
1
0
0
0
0
0
0
12
-43
-1
12
15
0
0
9
21
19
0
0
2
0
0
0
17
-22
2
-14
2
0
-7
0
19
-14
0
0
0
0
0
0
0
-6
8
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
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
-10
0
0
0
4
10
0
0
0
0
0
0
-2
-2
0
0
10
0
0
0
27
-6
-1
-19
-1
0
0
3
0
10
0
0
0
0
0
0
3
21
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
33
9
12
-1
-22
27
3
0
0
25
-19
-25
7
-11
-24
-6
-4
24
21
-17
-2
29
-24
0
0
-19
-1
-4
-10
11
8
-5
20
19
-22
-9
-4
-46
4
0
0
-14
0
0
0
3
-1
1
-8
-17
-1
4
1
-5
32
0
0
-4
0
0
0
-27
28
10
-13
4
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
-7
4
3
9
1
0
27
2
-28
7
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
5
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-12
0
0
0
6
0
-3
0
0
0
0
0
0
-2
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
-18
0
8
0
-10
29
0
-15
20
-1
5
37
7
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
2
-13
-12
-48
2
-12
13
-6
-1
-11
-19
-33
0
0
-13
-1
0
15
-8
-27
-9
-3
-19
0
-1
35
-32
8
0
0
-10
0
0
-6
-28
-3
0
20
-16
-22
-4
7
3
-26
0
0
0
0
0
0
0
-18
0
20
-2
0
0
11
0
10
0
0
-1
0
0
0
-4
1
0
-13
18
-3
0
23
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
10
-48
32
0
0
26
-3
24
-8
2
-42
13
16
-5
-63
-9
-2
8
-25
0
0
30
-21
27
0
7
-15
1
-17
-10
-1
11
12
-7
50
0
0
9
0
-1
0
8
-15
2
-8
1
1
24
-1
-10
2
0
0
0
0
0
0
-44
-15
-6
9
-1
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
-15
12
5
18
0
24
-2
-20
14
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
14
0
0
0
-1
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-17
0
-2
6
2
0
-16
0
-14
0
0
0
0
0
0
2
0
0
18
0
0
0
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-3
0
-4
-48
0
18
1
1
-8
-20
15
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
0
-28
-7
-36
-2
-17
-3
-44
16
3
17
-6
11
0
0
-28
1
-14
4
-21
-10
-14
5
1
-3
2
2
-11
6
0
0
5
3
9
-7
-42
56
-2
29
29
-21
18
-7
18
3
0
0
1
0
0
0
0
-17
0
3
0
0
0
0
0
37
0
0
-17
0
0
0
-5
6
0
-4
3
8
0
20
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
13
0
0
-12
0
-29
2
-18
-39
2
-34
18
3
5
12
-25
-32
0
0
19
0
3
-10
-2
-4
-11
-24
-9
0
26
22
16
18
0
0
-17
0
0
0
-14
-15
1
-4
0
0
8
-17
-2
-28
0
0
-1
0
0
0
21
-1
0
0
1
0
0
16
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
8
-15
0
0
0
20
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-28
-24
0
2
2
0
10
12
12
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-5
52
0
-3
9
0
0
-3
5
15
0
0
-16
0
-4
-3
0
1
0
-15
-4
0
0
-6
-33
-28
0
0
-9
0
0
0
-2
14
-2
18
-4
0
-1
-2
-38
-16
0
0
-4
0
0
0
0
2
0
-1
0
0
0
7
0
21
0
0
-2
0
0
0
-3
11
0
13
5
0
0
6
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-7
58
-21
0
0
19
4
0
-19
-25
21
-4
-16
34
-44
48
14
35
-15
0
0
23
0
-13
4
-37
-8
-25
2
23
5
27
-4
-71
1
0
0
0
0
0
0
-27
16
0
23
27
-10
3
-20
-38
34
0
0
0
0
0
0
-8
-20
2
-21
4
0
-8
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
2
6
0
5
0
6
0
38
-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
-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
-8
0
10
0
0
0
29
0
-1
0
0
0
0
0
0
-1
0
0
-14
0
0
2
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
20
8
0
16
11
0
-15
22
-17
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-5
-28
35
0
-14
13
-4
0
-13
0
-14
0
0
-23
0
0
-4
-5
1
-19
-42
-12
-4
4
-13
3
-35
0
0
8
0
0
0
-24
-18
6
-2
18
-16
1
-3
-22
-14
0
0
0
0
0
0
0
25
0
-14
1
0
0
2
0
-42
0
0
2
0
0
0
34
-1
0
-12
44
0
7
14
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-32
-20
0
0
14
8
-35
23
-14
-8
-15
18
13
10
13
25
23
2
0
0
-31
-2
17
9
11
-30
22
-44
-31
17
-5
15
-35
6
0
0
2
0
0
0
-12
-49
-1
39
3
-3
7
16
10
29
0
0
7
0
0
0
-7
-41
7
12
2
0
6
-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
-1
4
6
6
-10
0
-5
-62
-15
29
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
6
0
0
0
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
-1
0
37
9
0
0
23
0
3
0
0
0
0
0
0
4
0
0
-19
-3
1
0
-13
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
-3
0
29
-8
0
-2
-7
-5
-8
-22
-24
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-48
2
-49
-7
-43
-26
0
18
-1
9
33
-28
-1
-15
0
0
1
-4
11
20
6
22
-35
25
-63
-8
3
-17
21
-26
0
0
5
0
-11
0
4
-32
0
-45
19
4
-15
13
-4
-6
0
0
0
0
0
0
-13
5
0
0
-9
0
0
30
0
-33
0
0
-20
0
0
0
-40
0
0
-2
13
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-19
36
-9
-3
-27
7
8
-16
-25
49
-8
-12
-1
-13
0
0
-6
-14
-10
29
-11
-16
-1
-21
-6
35
31
22
3
-21
0
0
-18
0
-2
5
0
-15
0
-32
6
-16
-15
-10
18
-9
0
0
-10
0
-11
2
36
33
-4
3
-27
4
-37
4
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
-1
-3
30
11
-6
1
-2
0
19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
2
0
0
0
0
0
0
0
-2
-10
16
0
11
0
20
21
-9
0
0
0
0
0
0
0
0
0
4
1
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
-9
0
0
0
-9
-20
59
0
0
0
0
0
0
19
0
0
15
4
0
0
8
37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-12
-18
-26
-27
1
-26
-8
16
27
35
19
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
18
9
-16
38
1
34
31
-17
15
-45
-5
15
0
0
-10
17
-13
-12
-1
-7
14
18
-27
-12
10
-26
-29
-23
0
0
-4
0
19
0
6
-36
2
-19
-6
-23
0
9
-19
1
0
0
1
0
1
6
0
2
0
-6
10
0
0
-10
10
-39
0
0
-16
-2
-5
-13
19
7
0
20
33
-4
0
9
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
3
0
0
4
13
3
41
5
-22
-24
-30
-8
10
44
1
-21
-4
0
0
-33
0
-8
7
-4
-2
19
-3
3
69
-1
-18
2
-4
0
0
1
0
0
0
-33
9
0
3
-26
14
-17
-4
11
4
0
0
0
0
0
0
2
0
-8
7
0
0
2
-3
-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
-3
-12
8
2
-7
3
3
21
15
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
1
19
0
1
0
6
-3
7
0
0
0
0
0
0
0
0
0
-10
0
1
0
0
0
-12
0
0
0
0
0
0
0
-1
0
13
0
-4
0
-11
0
13
0
0
0
0
0
0
0
0
0
-15
3
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
10
5
-5
-65
-14
-3
-46
36
-8
18
-12
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
2
10
3
10
3
0
12
-11
-19
2
37
-30
8
0
0
-3
-8
-13
-12
15
23
-10
-4
-20
-21
-1
-9
1
-15
0
0
0
0
-15
-6
-25
-12
-7
-1
-28
-33
6
-20
35
-7
0
0
2
0
0
3
-13
-11
0
-16
3
0
3
25
0
-46
0
0
-3
0
0
0
-18
0
0
36
0
0
4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
16
5
0
7
-19
-11
-12
34
34
0
0
62
16
9
29
-31
-54
-1
-11
62
-42
16
-19
-16
-13
0
0
20
0
0
0
-9
2
-13
-13
-16
3
23
-5
-18
-15
0
0
9
0
0
0
-45
9
4
13
-1
0
0
7
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-22
-4
13
10
2
0
-3
-8
4
0
0
0
0
0
0
0
0
-5
-1
0
0
0
-3
0
5
0
0
0
0
0
0
0
0
0
3
0
0
0
7
0
1
0
0
0
0
0
0
0
0
0
-1
6
0
0
0
0
0
0
0
-5
0
0
0
0
2
0
6
-1
4
0
3
0
14
0
0
-2
0
0
0
0
0
0
12
2
0
0
-13
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
35
0
0
0
-27
-14
0
-3
0
-6
-7
-27
-12
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-10
-6
-6
38
21
0
-19
31
-1
10
-21
-6
11
0
0
-21
-2
1
-5
-21
5
-3
-7
-13
-2
0
-34
12
-21
0
0
34
0
0
0
-4
-29
13
4
14
-6
13
-6
8
6
0
0
4
0
0
0
0
-3
1
-21
-4
0
0
15
0
3
0
0
-18
0
0
0
12
2
0
4
-6
9
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
-8
0
0
14
-17
3
31
-2
0
-1
9
-2
53
0
0
31
58
1
-2
-15
28
-7
-11
-11
10
-2
2
24
-57
0
0
0
6
0
0
-4
5
0
-10
1
17
5
-6
-11
-3
0
0
0
-4
0
0
-16
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
14
0
-9
-7
0
13
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
2
2
0
0
6
0
-1
-2
12
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-8
-1
0
-26
-10
0
-10
-25
-2
0
-2
-5
6
0
0
0
34
0
0
-4
15
-6
1
13
-4
0
-26
0
-32
0
0
0
-32
11
0
-3
0
0
2
13
2
-1
0
1
-3
0
0
0
8
0
0
0
-2
0
6
0
0
0
0
0
-5
0
0
-6
7
0
0
15
0
0
0
6
-4
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
-12
0
-3
7
4
7
7
-1
0
-16
-22
-2
0
0
-7
2
61
-1
15
-5
-3
-44
2
5
-10
1
19
-1
0
0
0
0
6
0
0
-19
0
-2
-2
0
0
4
0
16
0
0
0
0
-22
0
-6
0
0
1
0
0
0
0
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-2
-23
0
-1
0
14
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
1
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-14
0
3
4
0
0
-16
0
0
-35
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
3
10
0
-29
4
0
-12
-12
-2
0
10
10
-27
0
0
0
0
-2
0
4
20
-6
26
0
-1
0
0
0
-30
0
0
1
0
-16
0
7
0
0
0
16
0
0
0
2
-2
0
0
0
0
7
0
0
-8
0
0
0
0
0
0
0
7
0
0
0
0
-23
0
0
0
0
0
-14
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
-2
-9
-20
5
4
-6
-4
5
0
0
28
0
0
19
-10
-3
4
32
-19
-3
13
-24
0
4
0
0
0
0
0
9
-4
36
0
7
3
0
0
-3
2
-13
0
0
0
0
0
2
-10
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
-24
0
0
-1
9
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
-28
5
-9
-1
0
33
-1
0
-7
-23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
-24
10
11
-2
18
-33
5
20
-4
9
38
0
0
-1
0
0
28
-2
16
-4
28
9
0
0
7
-3
5
0
0
-2
0
0
-21
3
-20
-1
0
-11
-7
0
0
-3
-7
0
0
-2
0
0
-34
0
-20
0
2
1
0
0
-1
0
-29
0
0
0
0
0
-4
-2
0
0
21
5
1
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
40
-5
-4
15
-13
2
-22
-22
-9
0
0
9
-9
5
-31
10
-18
-12
-11
5
-30
20
12
-18
-8
0
0
-4
0
0
17
1
-8
-27
8
-21
25
-25
-12
0
25
0
0
26
-5
-3
-2
8
-1
-9
-10
2
-49
4
8
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
-11
-9
2
14
59
2
18
16
-3
12
0
0
0
0
0
0
-42
1
-4
15
2
2
0
30
0
3
0
0
0
0
0
0
-23
0
-7
16
0
36
1
-8
0
18
0
0
0
0
0
0
-13
0
3
3
-8
-15
4
-18
3
15
0
0
0
0
0
0
16
2
0
12
-23
-17
0
-42
0
-51
0
0
0
0
0
0
28
0
0
29
26
47
0
17
-2
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
4
-6
29
12
11
-11
-9
8
7
-26
19
-5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
2
10
-39
-7
7
-13
5
-21
60
19
27
9
5
0
0
-11
6
5
9
18
-21
5
-26
41
-20
19
23
-27
15
0
0
-10
-29
-63
-13
-5
-13
3
13
-11
2
-15
-32
8
2
0
0
0
0
0
0
7
-6
-21
-4
2
5
0
7
0
-56
0
0
-4
22
-9
27
-10
-19
18
-27
-20
37
12
-9
-13
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
12
22
-15
15
-14
8
32
0
0
13
-20
-2
-13
1
12
-2
-6
-21
-21
-3
-8
-12
-20
0
0
11
6
-37
-16
-25
18
-4
4
5
30
-14
-6
-9
-16
0
0
-7
0
12
6
-29
2
-3
46
58
8
10
50
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
8
-39
-22
27
-26
-6
0
0
0
0
0
0
-7
-53
-24
2
8
1
0
-5
-9
-15
0
0
0
0
0
0
-12
-14
-48
4
-1
11
-24
-5
22
-16
0
0
0
0
0
0
-2
-21
6
33
4
4
-7
16
7
-13
0
0
1
0
0
0
-3
48
0
16
-5
-25
56
19
-18
-8
0
0
0
0
0
0
-4
26
0
-3
62
-5
-1
-41
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-19
-16
1
4
32
-27
2
-1
-25
-19
-11
22
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-21
22
20
26
-11
26
24
-4
-17
-43
-18
8
-21
0
0
30
15
-1
10
14
-4
-31
-32
43
-50
10
8
15
-4
0
0
-38
2
-27
-22
-23
37
56
-16
-4
-19
-2
-18
5
-10
0
0
-2
0
-1
-11
22
0
-2
-22
-35
-3
17
-8
-17
-4
0
0
26
0
5
0
1
-22
-4
-22
19
-1
9
-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
0
0
0
0
0
0
0
0
0
0
0
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
41
-13
1
-11
-34
-18
0
0
-8
6
3
2
0
-17
20
11
15
-9
16
1
6
-1
0
0
7
0
0
0
-9
-11
20
-1
-2
4
-15
23
0
7
0
0
4
0
0
0
16
-8
21
9
1
2
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
12
11
0
18
18
-4
0
-2
-5
-13
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
-9
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
-17
0
9
0
0
0
0
0
0
0
0
0
-14
3
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
0
11
0
3
2
0
-13
-5
4
-12
1
-16
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
16
-20
2
10
-12
27
-1
-14
7
9
-4
-14
-26
0
0
-1
-1
0
0
-24
-14
-4
-3
18
1
0
13
-8
0
0
0
-4
0
-2
0
6
21
18
-2
12
7
2
4
-5
7
0
0
7
0
0
0
3
-3
4
0
-11
0
0
12
0
-13
0
0
-4
0
-1
0
0
0
1
-10
-37
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
22
8
19
-17
0
0
24
1
-15
-29
-31
-11
4
19
4
-16
3
-48
-27
-1
0
0
11
8
-29
-9
6
8
3
4
-59
-18
-20
27
43
22
0
0
-7
0
-2
2
-24
-29
-11
19
19
18
35
-30
14
-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
2
32
-32
-27
-32
-5
11
-24
15
-28
0
0
0
0
0
0
0
0
8
2
0
-1
0
7
6
-4
0
0
0
0
0
0
0
0
0
-5
0
-11
-2
26
-3
10
0
0
0
0
0
0
-12
0
-1
30
-4
6
0
17
11
7
0
0
0
0
0
0
0
8
0
0
-8
12
-4
15
1
-28
0
0
0
0
0
0
-6
0
0
-8
-10
0
2
-1
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
9
-3
7
4
-14
0
13
-6
-30
-20
-26
-3
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
3
12
34
-13
11
2
5
12
-9
-7
4
31
-5
0
0
3
-4
-5
-6
-13
4
-3
26
-32
9
-1
-28
-46
-8
0
0
-21
3
-45
5
-55
-44
14
36
-24
-8
-20
-8
8
-8
0
0
29
0
1
-41
-1
-12
-33
9
-19
-11
1
-7
-15
-52
0
0
63
-4
5
-2
31
9
3
-36
-12
-45
-42
17
-26
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
10
16
15
24
20
0
0
38
-12
13
-20
-18
-35
6
39
8
-9
9
-3
-20
-31
0
0
-26
0
0
-5
-8
-12
23
25
-5
-12
-53
37
36
1
0
0
-17
0
1
-1
-24
-28
8
80
-19
15
-34
21
-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
13
9
-8
8
-20
-13
-11
32
-10
27
0
0
0
0
0
0
0
0
-8
-3
0
0
0
5
0
2
0
0
0
0
0
0
0
0
-3
0
0
0
0
-22
10
1
0
0
0
0
0
0
0
-3
0
1
0
0
0
11
1
10
0
0
0
0
0
0
0
7
0
39
10
7
0
-7
21
5
0
0
0
0
0
0
12
0
0
44
4
0
0
-8
-12
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
0
10
12
-29
8
1
16
26
8
9
23
-16
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
-13
-8
-15
-4
-32
11
-10
2
25
13
62
5
7
0
0
6
-6
10
-6
22
13
15
31
36
3
24
20
-58
-8
0
0
11
-3
0
6
33
22
-15
13
-22
50
-18
35
47
39
0
0
-8
0
1
4
24
27
8
55
-39
1
2
-6
16
18
0
0
13
6
0
-21
72
12
13
23
-20
42
-15
31
-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
10
-58
-17
-12
31
0
0
-2
13
32
-13
3
11
32
13
29
17
-34
-22
-43
22
0
0
0
0
0
-6
-27
10
11
-1
-26
0
-5
-20
7
38
0
0
7
0
0
0
-13
-12
11
-14
3
0
-5
-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
-4
-20
12
-20
6
-23
-1
20
-7
3
0
0
0
0
0
0
0
0
0
5
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
2
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
-3
0
-1
22
0
13
0
0
0
0
0
0
2
0
0
40
4
0
0
13
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
26
4
-10
11
3
9
13
-25
1
16
-9
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
-5
7
-27
12
-9
-3
-38
5
-12
29
-47
-9
0
0
-4
0
-11
11
11
0
-26
-9
2
-4
0
23
-14
12
0
0
13
0
-12
8
12
5
-2
8
-58
-8
6
13
-14
11
0
0
0
0
0
0
6
2
1
20
-4
0
0
39
-1
3
0
0
-14
4
0
0
-12
-3
0
51
-16
19
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
81
17
62
0
0
3
-1
16
6
-18
0
-4
20
-31
10
-5
34
28
20
0
0
-2
0
0
11
-31
-15
2
32
-13
2
-1
2
0
-10
0
0
0
0
0
0
-25
3
0
12
13
0
28
-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
1
0
-8
20
-12
1
0
-14
-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
10
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-27
0
1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-9
0
0
-12
-27
0
13
47
-3
-10
23
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
-7
3
47
-1
0
-6
15
-16
0
-8
35
-7
0
0
5
0
0
-6
-16
1
11
-30
-16
8
0
0
23
16
0
0
-14
0
0
-4
-5
-26
1
32
-21
-7
20
-8
-22
-19
0
0
0
0
0
0
0
-27
0
-35
20
2
3
35
0
-9
0
0
16
0
0
1
-7
-8
0
-22
11
27
19
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
-17
-12
-41
0
0
9
-33
-14
-45
-9
-14
20
0
10
28
-27
28
-26
23
0
0
11
4
-44
-19
61
18
4
-1
-19
-30
8
19
16
14
0
0
-20
3
-23
-19
16
-16
2
21
41
-28
0
27
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
-12
-12
-26
-25
2
19
3
5
22
-38
0
0
0
0
0
0
0
9
-15
-21
-2
-3
2
-26
-8
-4
0
0
0
0
0
0
8
6
18
-30
0
2
0
-21
0
-19
0
0
0
0
0
0
-1
0
0
7
10
-5
0
16
20
-4
0
0
0
0
0
0
1
25
0
-23
-27
-17
10
-15
15
-5
0
0
4
0
0
0
-1
0
0
-20
16
27
7
1
36
31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-38
10
9
3
-21
20
-2
23
19
7
34
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
25
-4
44
-26
15
-5
-15
-4
23
-46
-32
8
5
0
0
2
-21
-29
14
-28
8
28
-33
5
-25
15
8
2
-8
0
0
-35
4
-62
6
-53
-61
-12
-25
14
-22
3
4
-25
9
0
0
-23
0
18
9
-21
-33
-39
12
-9
-9
0
4
8
-1
0
0
-8
-30
-2
14
-14
0
15
8
7
10
-9
13
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
20
32
0
0
1
43
-3
-59
18
-29
5
-3
-58
-7
-14
-1
14
0
0
0
11
0
2
-32
0
4
-1
-38
14
-23
-37
-3
41
15
0
0
10
1
2
-7
3
-10
15
-7
19
15
16
-42
-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
-1
2
31
-32
31
14
0
-23
-1
-2
0
0
0
0
0
0
0
0
7
1
-2
0
0
18
-19
10
0
0
0
0
0
0
0
2
5
9
6
5
0
24
9
1
0
0
0
0
0
0
0
0
3
5
0
0
0
-4
2
17
0
0
0
0
0
0
0
11
0
-21
1
11
0
5
7
-9
0
0
0
0
0
0
11
0
0
3
-25
1
0
29
14
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
2
10
-16
-23
6
-6
-7
4
-13
3
-6
-28
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-8
-20
20
9
-6
4
1
10
68
35
15
26
-17
0
0
4
13
-7
-1
9
22
-31
-4
-40
-10
-16
26
7
-7
0
0
-2
15
-30
15
48
0
-13
-21
-5
0
-17
23
3
-21
0
0
7
0
0
7
0
-20
-7
-4
-7
-15
1
-14
15
43
0
0
14
-8
-17
-30
-54
-44
16
16
-25
25
-5
-57
-36
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
28
-17
29
-19
12
17
0
-18
8
15
-11
22
-6
0
0
0
-34
-7
-14
-45
-15
-21
-2
3
-31
29
9
-28
21
-3
0
0
8
0
6
-1
-15
0
13
-48
26
-9
28
-24
17
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-9
-17
-20
5
3
-26
-30
-9
-25
0
0
0
0
0
0
2
0
4
-1
2
0
0
-15
-7
-27
0
0
0
0
0
0
2
0
-14
-13
-1
-8
0
17
-1
-17
0
0
0
0
0
0
3
0
9
12
0
-11
0
-2
-1
-43
0
0
0
0
0
0
6
2
0
-14
-15
41
20
17
15
-18
0
0
0
0
0
0
-8
0
0
29
-17
0
0
37
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-3
-48
4
-56
-68
29
-10
-50
18
-47
-33
-14
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
29
11
2
-1
-16
-6
-18
-28
32
5
-12
-4
0
0
-24
25
19
15
-11
-24
-19
-1
-23
5
-6
-3
15
-7
0
0
-54
-7
-31
15
13
27
-29
2
18
-36
-25
-18
-30
-27
0
0
-9
0
-14
1
30
14
11
-20
6
-15
-1
5
11
-12
0
0
10
2
10
-7
-10
0
-2
-20
28
3
-23
-36
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
18
0
18
1
1
7
32
-3
0
-3
7
-42
0
0
52
0
0
0
1
-6
0
9
-22
-8
-9
28
10
17
0
0
66
0
1
0
4
53
16
-4
-11
-9
-1
-26
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
0
-16
-11
-3
66
-6
31
-25
-2
-16
-22
0
0
0
0
0
0
0
0
15
-7
0
0
0
-14
1
-10
0
0
0
0
0
0
7
0
3
-25
0
1
-8
6
11
-5
0
0
0
0
0
0
0
0
0
16
2
0
0
-4
-9
-2
0
0
0
0
0
0
0
-11
0
6
-13
0
-3
41
3
33
0
0
0
0
0
0
-1
0
0
14
2
0
0
3
-11
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
64
0
0
0
-14
5
-2
39
43
-10
-4
15
3
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-4
-13
3
-21
-15
9
-6
-13
24
6
-57
29
-25
0
0
4
-2
-18
-5
13
-18
22
-16
-12
20
3
-47
32
23
0
0
29
0
0
0
-10
2
-7
9
18
21
8
4
-13
-5
0
0
22
0
0
0
0
-17
4
10
-19
-1
0
49
0
6
0
0
52
2
0
0
-14
22
-1
-2
-18
10
-14
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
4
0
0
-11
-26
0
23
16
-1
-3
4
-2
12
0
0
0
30
0
0
0
-17
0
0
0
0
0
-1
0
-1
0
0
0
-9
0
0
16
-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
-6
0
-8
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
38
0
0
-1
0
0
0
3
0
0
0
23
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
20
0
0
4
-13
0
-12
18
0
0
5
7
7
0
0
8
46
1
0
-34
-22
6
-42
-1
-8
0
-7
3
32
0
0
0
-8
0
0
-1
-8
0
-4
0
2
0
0
-2
6
0
0
0
6
0
0
0
0
0
3
0
0
0
-4
0
-10
0
0
0
17
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
10
18
0
-12
16
-21
9
-23
-12
0
0
0
0
54
0
-2
26
18
-27
-3
0
-4
17
-13
17
0
0
0
0
9
0
-20
-17
3
-13
7
0
0
-10
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-40
15
0
25
-1
7
4
16
4
15
0
0
0
0
0
0
0
0
-2
-2
-2
0
0
13
0
7
0
0
0
0
0
0
0
0
0
-15
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
13
0
0
0
25
0
-7
0
0
0
0
0
0
0
0
0
10
0
0
0
10
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
58
0
27
9
0
6
-5
17
-7
0
-17
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
31
-5
-27
-6
38
-30
0
18
-8
18
2
-4
8
-49
0
0
9
0
39
-11
10
8
4
38
18
6
0
-2
-39
29
0
0
6
0
-14
0
-8
-13
17
52
-19
-1
-6
1
-1
-6
0
0
0
0
-1
0
0
-8
0
-27
0
0
0
-1
0
1
0
0
-10
0
29
0
-2
0
-2
10
40
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
21
-47
0
-30
-10
-5
-16
0
13
-56
0
0
0
0
0
31
-2
-15
0
7
1
0
-1
1
2
30
0
0
3
0
0
49
-20
-6
0
21
-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
8
0
0
0
7
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
9
0
6
7
0
-2
3
-14
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-3
30
9
0
22
-5
6
0
4
8
-18
0
0
-9
0
0
16
0
-24
8
-4
21
4
0
-1
-34
-11
0
0
0
0
0
9
0
1
0
3
-1
3
0
0
0
-2
0
0
0
0
0
-7
0
-1
0
11
0
0
0
-2
0
-14
0
0
-2
0
0
-19
-1
0
0
2
9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
31
-40
-27
17
-37
-11
17
0
0
-7
0
-2
-2
40
-20
-23
-71
-40
8
-13
23
0
-9
0
0
18
0
13
-3
18
-68
-14
-47
5
-6
-11
-4
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
22
17
45
1
-44
24
-2
54
8
-26
0
0
0
0
0
0
-16
-4
7
-14
0
0
-2
-43
0
4
0
0
0
0
0
0
2
0
-5
7
-10
10
-12
17
1
1
0
0
0
0
0
0
0
0
0
-21
9
3
-8
7
-2
4
0
0
0
0
0
0
20
-14
0
-23
17
-9
0
4
0
14
0
0
0
0
0
0
29
0
0
-6
0
-9
0
-11
-17
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
-8
10
-4
40
7
-5
-18
-12
-2
-38
-9
-1
-42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
11
-11
-22
-24
15
15
2
17
-16
-21
28
23
9
0
0
0
-55
-8
24
-1
-4
-2
-24
34
-20
-2
-13
-25
-20
0
0
21
7
0
2
14
-36
-15
-37
-4
-36
-15
7
-9
7
0
0
0
0
0
0
4
3
-3
20
-10
17
0
5
0
-22
0
0
-23
14
0
10
28
-28
-3
-18
-3
24
-12
-36
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-13
-11
-24
-38
5
-7
0
0
-51
-10
-12
36
29
-8
-2
16
-19
31
-36
-2
8
-26
0
0
-33
-1
2
6
27
9
20
32
37
47
-18
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
-25
-37
1
-10
0
-54
5
-15
-53
3
0
0
0
0
0
0
0
5
-3
3
21
-2
0
-5
1
0
0
0
0
0
0
0
4
11
-27
10
-2
-32
-3
43
-18
7
0
0
0
0
0
0
-4
0
10
9
0
1
-2
8
-11
0
0
0
-9
0
0
0
0
-2
0
9
-46
-30
-28
16
-10
3
0
0
0
0
0
0
11
-4
0
-34
14
23
32
-26
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
44
-1
-13
-10
-21
17
13
-5
-45
-18
31
22
-30
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-21
-42
-5
19
6
33
-22
26
11
-23
-15
12
12
0
0
-11
-48
-7
-13
9
0
13
25
10
-27
1
-3
-24
43
0
0
-16
-4
10
5
-3
39
-23
28
-26
17
-4
24
-11
-29
0
0
-15
-5
1
3
-12
46
-11
-10
-12
6
-6
67
-12
-9
0
0
-20
0
6
0
-13
47
-5
36
18
13
-6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
30
15
26
17
12
-35
0
0
0
0
0
0
0
10
-4
-46
32
-2
7
6
18
0
21
0
0
-3
0
0
0
-14
2
46
-1
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
20
-5
0
0
0
7
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
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
3
-4
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
-3
-12
-7
0
-21
6
47
20
35
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
3
11
6
51
3
3
3
-38
0
-1
-2
3
3
0
0
26
0
0
-5
-28
-35
-12
-8
-6
-9
1
-16
10
31
0
0
0
0
0
0
9
5
0
-1
24
20
9
0
3
6
0
0
0
0
0
0
-2
-3
0
-11
0
0
0
24
0
38
0
0
6
0
0
0
-2
8
3
21
6
-1
-1
47
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
74
25
13
23
39
4
-11
0
0
19
0
12
13
-17
-23
17
17
75
49
7
19
1
26
0
0
-13
2
-11
-7
-8
8
16
7
37
14
5
-50
-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
-3
12
35
24
32
-31
16
-41
10
20
0
0
0
0
0
0
0
-1
-10
-20
0
0
1
-15
-2
10
0
0
0
0
0
0
2
-1
-12
-5
6
-14
5
12
35
12
0
0
0
0
0
0
-2
1
0
21
0
-2
0
-16
-7
25
0
0
0
0
0
0
0
35
0
-9
21
-7
-5
19
7
24
0
0
2
0
0
0
9
0
0
56
10
0
0
6
-11
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-8
2
-22
4
-8
-24
4
23
17
-12
-3
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
12
-11
-8
-6
-23
6
9
24
-20
3
-15
16
-22
0
0
8
3
-13
-28
0
8
5
-6
14
-60
-25
24
-46
-18
0
0
-52
0
9
-6
35
2
14
28
-11
5
-19
29
23
-2
0
0
4
0
-5
25
1
-11
2
21
-4
-2
0
-5
-16
27
0
0
3
-6
25
0
4
0
-2
15
9
9
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
11
-25
-12
-25
0
0
25
0
-3
5
-5
-8
22
11
2
-8
-27
68
11
22
0
0
-3
0
0
0
-43
2
10
22
26
-1
3
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
40
-15
15
14
1
-18
1
11
-23
-29
0
0
0
0
0
0
0
0
2
1
0
0
0
7
0
2
0
0
0
0
0
0
0
0
0
-15
0
15
-11
3
0
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
11
0
0
0
34
0
-18
0
0
0
0
0
0
-8
0
0
28
-5
0
0
-2
18
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
48
0
0
0
-26
11
1
31
13
4
25
63
9
36
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
6
-9
9
-37
1
2
-8
34
-30
-3
21
23
0
0
0
24
13
14
0
40
-33
-13
-18
-15
-17
-2
-4
16
17
0
0
11
0
-4
0
50
12
3
-20
-5
-11
-3
-14
34
23
0
0
-2
0
0
0
3
-37
-1
-21
-6
0
-2
42
0
-27
0
0
-5
0
22
0
-8
-13
0
16
6
-2
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-47
-4
0
0
0
0
0
0
-13
21
-5
-36
-6
0
-6
-21
7
-23
0
0
1
0
0
0
-29
6
2
-12
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
-3
38
19
-5
-2
18
-1
-4
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
-12
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
18
0
10
0
0
0
0
0
0
-4
0
0
30
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
-6
-43
0
9
-1
-8
2
-12
-13
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-1
-2
-11
11
9
0
15
12
2
0
1
-3
32
0
0
7
27
-2
-1
-10
21
-20
18
-21
5
0
7
-1
-27
0
0
-15
0
0
0
-4
-18
0
-2
33
10
-5
0
1
-24
0
0
0
0
0
0
0
-11
0
33
0
0
0
-4
0
-20
0
0
-4
0
0
0
41
0
0
-21
-25
0
0
23
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
-6
0
0
-29
0
10
1
-12
25
-13
-4
-25
25
39
4
-29
-28
0
0
1
0
5
0
32
5
-3
15
-8
-19
33
-32
-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
11
-26
-3
-32
5
-42
-4
28
-2
1
0
0
0
0
0
0
0
0
-2
26
0
-9
0
-3
-2
13
0
0
0
0
0
0
0
0
-5
0
0
-1
-1
11
-3
-10
0
0
0
0
0
0
-7
0
0
-7
0
0
0
-7
0
-13
0
0
0
0
0
0
0
-5
0
-35
0
9
6
7
4
15
0
0
0
0
0
0
-8
0
0
-1
-12
0
-7
-5
-18
-28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
-7
-1
-67
36
26
-2
-11
-1
41
37
-29
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-5
-11
1
-15
2
-17
18
-17
-1
49
25
-2
-16
0
0
-14
1
4
-9
-10
-51
2
-35
22
-24
26
4
-8
-5
0
0
-31
0
-3
0
-15
24
0
-28
26
-6
20
-33
12
-30
0
0
-4
0
0
0
2
3
-19
30
19
15
17
10
3
-5
0
0
41
0
7
-4
35
0
15
8
17
10
-43
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
8
7
-14
0
0
14
0
0
4
-34
-31
1
-6
6
0
6
13
-19
-1
0
0
70
0
0
0
-43
-9
16
-22
-12
1
20
5
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
4
-14
23
8
-3
-7
40
-4
-19
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
0
0
1
-18
0
4
0
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
6
0
13
0
0
0
28
0
8
0
0
0
0
0
0
16
0
0
18
0
0
0
32
3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
2
0
-27
15
0
6
33
2
4
15
21
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
2
10
-32
-7
-7
-4
15
-29
10
19
-19
-27
-9
0
0
18
-10
-3
6
29
17
22
-5
-6
-7
14
0
14
-5
0
0
-16
0
-1
0
4
-4
-1
33
12
0
-3
10
21
42
0
0
-3
0
0
0
-12
23
0
-1
-12
0
1
16
1
20
0
0
21
0
0
0
-2
19
3
34
2
11
7
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
-14
-22
0
0
-62
-8
8
-68
0
-14
-12
-48
36
5
-26
-20
41
3
0
0
-25
-24
-49
-62
-2
-51
-20
-15
6
-12
2
-17
-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
-12
6
20
-3
-8
-11
4
41
4
5
0
0
0
0
0
0
0
8
31
8
11
-3
-1
10
15
6
0
0
0
0
0
0
0
7
21
-48
-17
0
25
-11
14
-19
0
0
0
0
0
0
0
0
0
-21
-2
1
0
7
2
-16
0
0
0
0
0
0
0
17
0
7
20
3
0
18
-6
-20
0
0
0
0
0
0
-3
-3
0
-10
-11
6
2
-37
5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
-13
3
13
-14
-33
3
-2
-26
20
21
-59
-22
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-5
19
8
38
-11
-3
9
21
-57
18
47
-3
-13
0
0
6
6
5
6
4
15
14
-8
30
14
-18
18
-18
-18
0
0
23
0
8
4
3
-4
-4
5
-37
-28
-28
-17
-3
-21
0
0
2
0
-4
-22
0
-8
14
-22
-32
12
-9
-40
24
-32
0
0
-4
-14
-56
-24
5
-6
-10
5
-30
2
14
-42
19
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
-44
0
38
12
12
13
-30
-10
-20
-10
-7
-33
3
-6
0
0
-72
0
0
-46
-37
0
1
4
-13
-10
-42
-13
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
23
-12
4
-7
-4
-10
18
-34
42
-36
0
0
0
0
0
0
0
0
11
-14
-1
4
1
-25
1
-13
0
0
0
0
0
0
8
0
4
23
0
-8
6
29
-17
-26
0
0
0
0
0
0
4
0
0
-14
0
16
0
-6
-22
7
0
0
0
0
0
0
5
-1
0
-46
13
9
-15
-21
-45
7
0
0
0
0
0
0
-6
0
0
39
-10
0
0
-1
-21
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
9
-39
-16
16
17
-24
15
1
0
-17
-25
-39
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
44
-12
-16
-19
13
1
30
-7
14
22
8
-2
11
0
0
-7
-8
13
-27
13
29
-7
-1
-7
-6
-4
8
7
-7
0
0
-19
11
-8
-16
-2
11
13
-1
25
-25
-8
3
-42
-27
0
0
-31
0
16
43
12
-20
30
-27
-52
-12
16
-26
42
6
0
0
3
-3
-28
-18
-13
0
-14
-4
-35
-13
-16
-13
-6
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
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
0
0
0
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
-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
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
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
-1
-2
1
0
3
26
0
12
-32
-8
0
-12
-12
-17
0
0
5
0
0
0
11
7
1
23
-7
0
0
-56
-6
15
0
0
10
0
0
0
0
0
0
0
27
0
0
21
0
-20
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
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
1
0
19
0
0
-2
0
0
0
-9
-38
0
0
0
0
-2
0
0
-3
0
0
0
0
0
10
0
1
0
0
0
0
43
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-6
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
-19
0
0
0
1
-11
0
-7
-3
0
0
0
-6
-17
0
0
-4
0
0
2
0
5
0
14
14
0
0
2
0
-17
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
0
0
-2
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
-4
0
-1
-23
-2
-4
0
18
0
-46
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
13
2
0
0
-4
-2
2
-9
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
4
0
-4
-25
-14
0
-5
-8
6
0
-17
0
-24
0
0
10
0
0
0
-10
-27
-6
3
-22
4
0
17
0
-29
0
0
0
0
0
0
39
-9
0
11
-29
-2
-1
0
0
-57
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
-25
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-1
-11
7
-10
-3
0
31
0
0
-8
0
0
0
3
52
0
-35
5
1
-9
-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
-38
0
-39
0
38
6
15
-34
-23
0
0
0
0
0
0
0
-1
1
0
0
0
0
7
0
0
0
0
0
0
0
0
0
12
8
-10
0
-6
-1
-7
0
10
0
0
0
0
0
0
0
0
1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
1
9
0
0
-14
0
4
0
0
0
0
0
0
0
0
0
-10
3
0
0
-21
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
-11
34
-7
-13
-29
-42
-14
-54
6
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
-4
-14
20
10
-16
7
-19
-1
-3
-6
0
-32
-5
0
0
66
-11
-1
15
5
1
1
13
-21
-6
-1
-26
-39
0
0
0
41
0
0
3
4
5
-2
-30
3
-17
-59
-19
10
-31
0
0
0
0
0
0
0
-10
0
-1
0
0
0
4
0
0
0
0
-1
0
0
0
0
-30
-2
-4
51
-4
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
2
2
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
0
0
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
13
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
9
15
0
4
0
1
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-9
15
-6
2
0
-6
0
3
2
-12
0
0
-3
0
0
0
20
11
9
1
5
7
0
20
2
-20
0
0
0
0
0
0
-2
27
0
8
12
0
0
1
0
23
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
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
9
1
0
-17
10
0
-7
0
0
-1
0
0
0
-8
-19
-6
25
8
0
0
-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
-17
6
-30
0
6
0
28
6
-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
8
-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
-5
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
-7
0
3
0
-4
7
0
9
11
2
-10
-3
-9
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
-5
-25
-8
0
5
20
1
9
-22
47
-8
0
0
-5
0
0
-22
21
-5
6
-39
14
-34
0
-1
39
-19
0
0
5
0
-1
0
-11
-10
0
-33
26
-3
3
24
-11
-4
0
0
0
0
0
0
0
1
0
31
0
0
0
1
0
3
0
0
-4
0
0
0
9
12
0
-4
-42
0
19
-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
-26
0
0
0
0
0
0
-2
-36
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
-1
12
0
0
0
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
-12
0
0
3
0
0
14
0
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
-12
0
-16
0
0
11
-5
-9
0
-10
-2
-11
0
0
-2
0
0
3
-12
-22
7
-19
2
0
0
-15
-6
-25
0
0
2
0
0
0
0
-22
0
21
-9
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
-1
0
0
-1
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
-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
-1
0
1
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-13
23
0
0
-7
0
0
0
7
-38
0
0
-8
0
0
0
-13
11
11
-1
-5
0
0
17
0
-12
0
0
0
0
0
0
0
3
0
-1
3
0
3
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
10
-1
0
0
0
0
-54
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
-8
0
0
0
-20
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-7
0
0
5
0
-44
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
1
0
0
-46
-13
0
-11
-10
24
-3
1
4
-3
0
0
13
0
0
0
2
-28
9
2
-12
-3
-1
21
0
-15
0
0
-2
0
0
0
0
8
0
-10
-6
2
26
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
1
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
21
0
-27
0
0
0
0
0
0
24
-8
2
-3
-16
0
0
-16
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
29
-3
-25
0
1
-2
-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
-10
0
0
0
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
49
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
8
-5
0
-7
43
1
-6
-20
-12
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-1
-11
31
0
45
-17
24
-1
-4
-50
11
0
0
16
0
-6
0
5
-40
4
16
24
11
13
6
-16
-3
0
0
10
0
0
0
-2
-32
0
-1
-17
1
44
3
-14
-31
0
0
0
0
0
0
0
0
0
14
0
0
0
-6
0
-1
0
0
1
0
0
0
6
-2
0
51
-33
-4
0
49
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
17
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
-3
0
0
0
27
-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
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
-5
0
0
0
0
8
0
0
-12
0
0
-12
3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
-1
0
0
-15
0
-6
-12
0
0
11
-14
-27
0
0
-26
0
0
-3
0
3
1
-7
-18
0
0
42
39
61
0
0
4
0
0
0
0
-1
0
-16
-4
0
-4
12
19
-32
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
4
26
0
0
28
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
56
0
0
-3
0
0
0
0
0
0
-12
10
7
0
-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
1
0
29
-32
-1
15
-35
20
-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
7
18
0
9
1
-23
9
-22
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
8
0
0
0
11
0
3
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
12
0
4
-3
-7
8
0
26
-14
11
35
18
17
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
-1
-19
34
43
-1
-1
43
-35
-2
-11
44
-19
2
0
0
55
-7
-22
-18
15
-1
11
-8
5
-15
-21
19
-10
10
0
0
18
0
-12
15
-3
-3
-5
-31
9
-9
-25
41
12
-27
0
0
1
0
0
0
0
0
0
-9
0
0
0
2
0
-14
0
0
-10
0
-6
0
22
0
0
22
35
15
-23
14
23
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-20
0
0
0
-39
-19
0
-3
-36
0
0
13
2
0
0
0
-3
0
0
0
-5
45
-10
30
-12
0
0
-29
-17
-14
0
0
21
0
0
0
10
0
0
-5
-33
0
0
0
0
16
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
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
-28
0
0
2
0
0
0
2
0
0
0
0
0
9
0
5
-4
0
-3
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
63
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
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
69
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-7
-12
-10
-1
19
-17
16
0
0
0
0
0
0
11
0
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
1
17
0
0
0
-12
0
-9
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
43
0
35
0
0
0
0
0
0
1
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
1
0
0
0
6
0
3
1
-18
22
-5
-10
8
-33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-9
0
-5
-7
-25
0
-29
43
-23
9
7
4
-44
0
0
6
-1
0
4
31
9
-12
-40
-14
1
-4
14
29
-34
0
0
7
0
-1
0
71
-4
0
-29
-38
18
26
13
2
13
0
0
0
0
0
0
55
0
0
20
3
0
0
14
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
14
-1
5
0
6
0
22
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
72
0
1
-16
0
-2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
1
-1
0
-56
-5
0
-72
-38
-19
-1
-2
-4
0
0
0
0
-4
0
0
12
-23
-17
1
-34
-3
-1
-73
-39
0
0
0
6
0
-5
0
-4
-2
0
-42
-2
4
-1
4
-12
0
0
0
0
0
0
0
0
7
0
10
-3
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-6
0
0
0
27
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
15
0
-2
-3
0
0
8
45
-21
0
0
-1
0
0
0
-13
10
-2
-6
-10
0
0
1
15
11
0
0
1
0
0
0
6
0
0
5
3
0
0
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
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
3
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
7
6
0
-19
0
0
0
-1
29
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
1
-11
16
0
49
2
6
0
18
-61
-18
0
0
-16
0
0
-14
-8
-48
21
-14
8
-11
1
20
-22
-2
0
0
0
0
7
0
7
-2
0
15
24
-2
4
1
9
-9
0
0
0
0
0
0
0
0
0
35
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-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
-7
0
0
0
0
-4
0
0
0
0
0
-26
-7
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
0
0
-18
20
0
26
-5
-10
0
13
15
-6
0
0
0
0
0
3
10
23
0
-31
-3
2
0
-3
-1
7
0
0
0
0
0
0
7
0
0
-16
-3
-1
0
-7
-24
-16
0
0
0
0
0
0
0
0
0
4
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-7
11
0
0
4
0
0
0
2
0
0
0
-3
0
0
0
-13
0
0
36
0
0
0
-5
0
20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-30
0
1
0
-19
67
0
13
-3
0
0
-6
-8
0
0
0
3
0
0
0
1
15
0
7
-8
1
0
-3
0
-2
0
0
0
0
0
0
0
0
0
-11
-22
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
11
0
0
0
25
-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
3
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-15
17
0
0
4
0
-1
24
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
-6
0
22
-26
0
-6
-32
-1
0
-6
-5
-15
0
0
-20
0
0
0
17
37
16
-32
8
11
0
23
-2
5
0
0
-6
0
0
0
6
0
0
15
10
0
0
10
3
-11
0
0
0
0
0
0
0
0
0
-10
0
0
0
6
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-4
0
2
3
-25
-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
-3
-4
2
0
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
-3
2
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
13
0
0
6
0
24
9
5
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-16
6
-17
37
4
0
6
17
-13
24
39
2
3
0
0
6
0
3
10
-6
33
2
-2
-27
-19
1
-23
27
-15
0
0
-3
0
-9
0
6
2
2
-6
-4
32
-3
15
18
6
0
0
0
0
0
0
0
0
0
-20
0
0
0
-2
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-17
0
0
0
0
0
0
0
-7
22
0
0
-15
0
0
0
0
0
0
9
-4
0
0
12
-9
0
0
0
0
0
0
0
0
0
0
-3
-2
0
0
0
0
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
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
-2
0
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
0
0
0
-51
-42
0
1
-2
10
0
7
6
-26
0
0
-21
0
1
0
28
8
-5
-24
28
0
0
-17
1
-19
0
0
6
0
0
0
-17
16
0
6
0
0
-15
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-17
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
2
0
-1
-3
-45
-16
0
4
-14
-1
0
5
0
-4
0
0
2
0
-1
14
2
34
4
4
-11
0
0
26
-10
2
0
0
0
0
0
0
-3
-7
0
-1
5
-1
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
2
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
1
12
-2
20
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-8
6
18
10
0
4
0
-14
0
0
27
3
0
0
3
0
2
4
-3
-21
0
-23
20
3
0
7
20
7
0
0
-11
0
0
0
2
-6
0
-17
30
0
3
3
-1
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
2
0
0
-4
0
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
12
0
0
0
0
0
0
0
0
0
0
0
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
-6
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
-22
4
12
-1
-46
-1
0
-1
5
-8
-4
-36
-35
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-23
19
-4
30
12
-6
-21
25
5
-2
-1
-1
9
0
0
-12
-9
8
9
2
42
11
-3
10
20
18
-20
25
29
0
0
24
1
19
3
-17
6
15
33
25
-3
13
1
-13
-15
0
0
14
0
0
6
-4
9
0
-32
-3
0
0
15
0
-2
0
0
1
0
2
0
-9
-24
0
-5
15
0
0
-25
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
6
-13
0
0
3
0
0
15
3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
0
-2
0
65
45
0
-1
3
0
0
-8
-7
4
0
0
-14
0
0
0
34
-5
-4
6
0
0
0
12
4
-1
0
0
0
0
0
0
12
-11
0
0
2
0
1
0
6
6
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
3
0
0
6
0
0
21
-2
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
13
5
0
0
37
0
0
-3
-41
0
0
0
-5
-5
0
-2
24
18
9
-1
-2
0
0
-19
3
5
0
0
10
0
0
0
7
-9
0
9
10
0
-1
0
-3
-2
0
0
1
0
0
0
0
9
0
3
0
0
0
8
0
0
0
0
-8
0
0
0
-4
0
0
0
-1
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
-4
7
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
-2
6
24
0
5
-6
0
0
7
31
-31
0
0
-10
0
0
-9
10
23
-5
-4
-1
0
0
7
-4
-18
0
0
0
0
0
0
-4
18
0
3
-4
0
0
0
0
-10
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
1
0
0
-6
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
5
26
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
22
0
-6
0
0
0
52
0
0
0
0
0
0
0
0
9
0
0
-20
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
3
-2
-4
8
0
5
-33
8
-9
-10
-8
-37
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
-12
-12
8
8
-7
-1
34
8
1
0
-4
0
25
0
0
12
21
14
23
-25
-38
-12
12
1
-27
5
-11
-24
-16
0
0
12
0
-2
2
-5
25
0
18
-17
14
-41
-12
5
-3
0
0
15
0
0
0
-4
5
0
12
-14
0
0
-34
0
28
0
0
-27
2
2
0
-11
8
0
-11
40
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-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
5
0
2
0
-4
3
0
-13
-6
0
2
-3
-16
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-9
-15
0
-14
10
0
-7
9
0
18
-2
36
-1
0
0
4
1
-6
-5
7
-10
14
15
24
0
0
-15
-44
9
0
0
0
0
0
0
-6
-4
0
-2
-13
-6
5
0
-15
26
0
0
0
0
0
4
0
0
0
0
0
0
0
-1
0
-3
0
0
-2
0
0
0
0
-1
0
1
-21
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-10
0
-8
0
0
0
0
0
0
0
0
0
-8
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
18
-2
0
-3
-42
-5
9
-14
11
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
13
5
1
35
-5
-6
16
20
8
8
9
-20
-15
0
0
39
-2
5
-17
-12
-49
-11
-12
51
2
26
-32
-5
5
0
0
-6
0
23
0
26
-8
-10
-34
3
-12
10
0
15
-9
0
0
0
0
0
0
0
-12
0
1
5
0
0
-2
0
27
0
0
-18
-1
-1
0
5
0
0
-2
22
3
7
-18
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-13
-27
0
-9
-4
0
0
0
0
-7
0
0
-1
0
0
0
-6
4
0
2
0
0
0
0
0
-10
0
0
1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
10
0
0
0
4
10
0
1
0
0
0
0
8
10
0
0
1
0
0
-4
-7
-8
6
0
2
0
0
2
0
15
0
0
3
0
0
0
-2
3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-10
1
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
12
0
2
-2
-20
15
0
0
7
0
0
0
-6
-16
0
0
17
0
-6
0
-8
3
0
0
-8
0
0
0
8
-2
0
0
0
0
0
0
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
0
0
15
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-1
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
4
-16
0
0
0
0
0
0
-5
6
0
0
-12
0
0
0
2
0
0
0
0
0
0
-1
0
-19
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-11
9
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
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
-28
-32
0
-7
0
0
0
7
-1
7
0
0
1
0
0
0
-19
-12
0
-3
-2
0
0
3
0
-1
0
0
0
0
0
0
-2
1
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
-15
0
0
1
0
0
-15
8
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-46
0
0
7
-21
5
0
4
26
0
0
-13
-37
15
0
0
-10
0
0
0
13
-19
0
-9
0
0
0
-3
8
-8
0
0
8
0
0
0
-4
-9
0
-8
-2
0
0
2
0
-7
0
0
0
0
0
0
0
8
0
-1
0
0
0
0
0
-16
0
0
1
0
0
0
-17
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
-3
0
0
0
-4
-4
0
0
0
0
0
0
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
9
0
0
0
0
0
-11
-3
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-12
4
0
0
0
0
0
-4
2
11
0
0
0
0
0
0
-1
1
0
0
0
0
0
-8
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
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
2
-18
0
-2
21
0
0
5
4
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
1
0
-17
-54
0
7
17
0
0
0
-9
23
0
0
-6
0
0
0
10
11
0
13
4
0
0
18
11
-15
0
0
-3
0
0
0
-25
-3
0
-2
15
0
0
0
-1
-18
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-6
0
0
0
-2
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
12
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
25
0
0
0
2
-15
0
0
-2
0
0
-2
-4
-7
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-2
-3
0
0
0
0
0
0
0
0
0
-5
-3
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
6
0
0
0
-36
-30
0
0
1
0
0
-2
14
-2
0
0
0
0
0
0
-14
6
0
0
0
1
0
23
0
-10
0
0
0
0
0
0
0
0
1
0
-3
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
-2
0
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
-6
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
-14
11
0
1
0
0
0
0
6
5
0
0
-5
0
0
0
16
10
0
-17
1
0
0
1
1
16
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
3
0
0
0
0
-4
0
0
0
2
0
0
0
-4
-19
0
-8
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
0
4
0
0
0
0
0
0
20
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
11
-6
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-10
-19
0
0
0
0
0
0
15
-10
0
0
6
0
3
0
-14
-13
-1
8
-2
0
0
3
-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
5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
-6
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
-4
5
0
0
18
0
0
0
-31
10
0
0
-2
0
0
0
0
16
0
0
0
0
0
0
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-7
22
0
3
2
0
0
2
-3
-2
0
0
-1
0
0
0
-15
1
0
0
0
0
0
-15
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
2
0
-14
0
0
-16
0
0
0
-9
-6
-2
0
0
-3
0
0
0
-2
-3
0
10
-3
0
0
-2
0
0
0
0
1
0
0
0
0
-35
0
6
-12
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
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
11
0
6
0
0
0
-20
-7
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
8
4
20
1
0
-22
8
8
0
8
6
11
0
0
2
0
-5
1
-19
-13
7
28
42
-2
0
16
23
63
0
0
0
0
0
0
39
66
0
44
-17
-4
2
0
-5
-28
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
3
0
0
0
-10
0
0
17
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
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
8
0
-6
-17
0
0
0
-10
13
0
0
7
0
0
0
-9
14
0
-4
0
0
0
0
0
-5
0
0
0
0
0
0
0
-2
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
10
-1
0
-10
-6
0
0
0
0
15
0
0
19
0
0
0
34
16
3
0
0
0
0
2
0
5
0
0
0
0
0
0
0
0
0
-8
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
4
3
0
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
-26
0
-7
-18
0
10
54
7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-2
-7
15
44
0
2
2
-8
0
-1
22
44
0
0
-20
0
1
15
-9
28
36
-18
10
0
0
25
-33
38
0
0
9
0
0
0
9
-10
0
-18
11
3
0
3
4
-49
0
0
0
0
0
0
0
3
0
0
0
0
0
17
0
0
0
0
-6
0
0
0
3
0
0
-1
-24
-2
0
55
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-38
0
0
1
0
0
0
59
4
0
0
2
0
0
0
0
0
0
2
-2
0
0
0
1
12
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
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
-64
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
-14
-45
0
0
32
3
0
-6
-35
-9
0
0
17
0
0
1
-3
10
0
18
21
0
0
41
0
-33
0
0
-3
0
0
0
0
0
0
25
-27
0
0
2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
-27
16
0
3
26
0
0
0
18
2
0
0
0
0
0
0
4
-10
0
11
1
0
0
1
2
-27
0
0
0
0
0
0
-19
0
0
-4
1
0
0
1
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
18
0
0
0
-2
-9
0
0
2
2
6
-12
13
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-3
38
13
12
2
1
37
16
24
0
12
-24
10
0
0
-12
0
6
1
-16
32
-4
19
50
-1
0
-24
3
1
0
0
16
4
4
-3
6
-12
2
20
6
0
-20
-4
13
-20
0
0
0
0
0
0
1
-5
0
-11
0
0
0
6
0
-1
0
0
0
0
0
0
4
0
0
-1
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-16
-5
0
0
-3
3
0
0
-19
-12
0
0
3
0
0
0
30
2
4
-5
2
0
0
-18
3
5
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
7
0
0
0
10
3
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
3
0
0
0
32
3
0
2
-20
0
-3
0
-28
34
0
0
7
0
0
0
16
-50
17
7
8
-2
0
13
-10
-12
0
0
7
0
0
0
3
0
0
18
-4
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
22
0
0
1
0
0
2
-48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-8
0
31
9
0
8
41
0
0
0
37
-9
0
0
0
0
-2
0
-9
-21
-1
-10
4
0
0
-37
-60
-2
0
0
0
0
0
0
0
2
0
7
2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
2
0
-2
0
0
0
-4
-1
0
0
6
6
0
0
-3
0
0
0
-21
0
2
3
0
0
0
0
-10
20
0
0
0
0
0
0
-1
0
0
11
0
0
0
0
0
32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-2
12
1
13
-24
-20
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
43
10
24
11
-7
-28
-1
-4
17
-12
-2
38
-32
19
0
0
26
0
1
-4
13
-50
-2
24
3
8
-3
-24
44
-21
0
0
12
0
0
0
-3
-2
-11
15
2
0
9
12
27
-8
0
0
1
0
0
0
0
9
0
-3
1
0
0
18
0
-12
0
0
51
0
0
0
0
0
0
-4
-5
0
0
-12
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
8
0
0
2
3
0
10
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-6
0
0
-7
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
27
-2
13
18
0
-13
11
2
0
6
26
9
0
0
20
0
-21
-4
-7
-4
13
-1
-7
0
0
16
-4
-12
0
0
0
0
-15
0
2
0
0
17
1
0
0
0
6
17
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-29
11
-13
0
-2
0
0
0
0
5
-28
0
0
1
0
0
14
7
8
-2
0
1
-1
0
-15
0
-10
0
0
0
0
0
36
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-1
-11
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
0
-1
-12
-20
-3
0
-1
19
-18
-1
-7
20
37
0
0
-26
0
1
7
-60
-30
-1
-1
-10
11
0
-7
14
-46
0
0
16
0
0
0
11
13
0
-13
38
1
-6
-1
-8
-35
0
0
0
0
0
0
-27
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
-41
0
0
-20
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
-8
7
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
0
2
15
-46
9
4
12
18
-51
-1
-11
13
9
0
0
-28
10
7
-9
39
-21
-17
15
-10
23
-2
37
20
-9
0
0
12
0
-1
0
5
5
19
-27
-10
-16
10
-2
-55
-22
0
0
0
0
1
0
0
15
-1
-25
0
0
0
11
0
3
0
0
0
0
0
0
0
46
0
-4
-25
0
0
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-33
-10
0
-2
0
0
0
2
15
-3
0
0
-24
0
0
0
-18
5
0
-2
0
0
0
-18
0
13
0
0
0
0
0
0
10
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
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
4
-10
28
0
-1
-1
-1
0
3
-13
-7
0
0
3
0
0
5
-8
-27
0
-11
0
-5
0
45
5
15
0
0
0
0
-1
0
34
9
0
22
-1
0
13
-8
4
-6
0
0
0
0
0
0
0
2
0
11
0
0
0
2
0
3
0
0
0
0
0
0
0
0
0
58
-18
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
7
-5
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
22
15
0
10
-20
1
17
34
-6
0
1
-19
4
0
0
-6
-12
23
7
0
-15
6
-3
24
0
0
-26
18
-17
0
0
-11
0
-2
0
-17
17
2
0
-7
0
8
27
-8
12
0
0
2
0
0
0
0
8
0
-7
0
0
0
28
0
-2
0
0
-8
0
0
0
12
0
0
-8
3
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
-5
-8
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
6
1
13
20
42
0
-1
4
0
0
-9
5
7
0
0
3
0
0
0
-44
-6
-18
-16
-5
4
-6
-6
29
-23
0
0
-10
0
0
0
1
-11
0
-18
0
0
0
6
9
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
0
0
-1
0
0
-3
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
19
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
1
0
1
-44
8
0
33
38
7
-7
22
-39
-33
0
0
-16
0
0
0
-10
41
-5
15
-7
0
13
52
-5
-23
0
0
-8
0
0
0
4
5
2
-16
-2
-4
-39
-1
8
8
0
0
0
0
0
0
0
-4
0
7
0
0
-22
6
0
-2
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
32
-24
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-2
-10
18
34
-2
0
1
-4
15
13
-9
21
-12
0
0
-3
-8
1
-1
26
-41
-9
-9
-39
-11
-2
15
23
20
0
0
0
0
1
0
-8
-4
-8
18
11
14
12
-24
11
-28
0
0
0
0
0
0
-1
-11
-1
3
7
0
0
5
0
-18
0
0
4
0
0
0
13
0
0
-3
-14
-3
0
-73
-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
-4
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
3
8
-26
7
-15
-8
30
22
1
1
10
-65
5
0
0
-17
-2
-8
7
-20
9
0
-11
-19
19
-8
-31
-34
-25
0
0
-23
1
4
0
-12
-2
-3
-9
-14
-1
1
24
-41
10
0
0
0
0
0
0
0
-4
0
-4
0
0
0
4
6
-24
0
0
1
0
0
0
-1
0
-9
7
-15
0
0
33
-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
-73
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
-5
19
-8
-6
35
-13
-14
-24
-13
-10
-15
15
-49
0
0
0
-13
9
17
-5
-10
-1
36
6
-4
-5
40
-15
-56
0
0
12
0
18
4
-5
0
8
14
28
-15
-14
8
-30
-29
0
0
0
0
0
0
0
0
-2
12
6
0
0
19
0
-19
0
0
1
0
0
0
0
0
3
4
-12
0
0
-37
-25
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
26
6
22
-9
29
-44
35
-11
-41
21
13
0
0
-24
0
6
-9
-17
-30
2
3
15
11
-9
0
-24
-13
0
0
7
0
22
-7
25
8
3
-16
41
7
1
-28
-10
-48
0
0
23
0
0
-9
13
-41
1
-13
-12
-3
6
-5
37
-27
0
0
22
0
-14
-1
-8
-5
-6
-18
15
-9
24
-13
-4
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
2
0
0
0
3
0
0
0
6
-3
-2
0
0
0
8
-1
-4
4
0
2
0
4
0
0
1
17
0
0
8
11
0
3
0
0
3
2
-4
-22
0
0
0
0
0
0
0
0
0
0
5
0
0
-1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-3
-9
-40
0
-43
-16
-10
0
-1
-4
-1
0
0
-28
0
9
0
-10
-34
13
-9
-21
7
0
35
-25
4
0
0
32
0
24
0
1
-4
2
2
3
0
0
3
2
-41
0
0
0
0
4
0
0
14
0
2
0
0
0
-28
0
8
0
0
0
0
16
0
0
0
0
1
3
0
0
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
-11
-25
0
0
3
0
-14
0
0
14
-4
0
-10
-60
0
-17
-36
35
0
0
-3
0
-31
0
0
0
0
-2
-26
-9
-27
0
-5
-19
4
0
-9
9
-3
0
0
0
0
0
-6
0
12
0
-6
0
0
0
0
0
3
0
0
0
0
0
1
-5
0
0
-1
1
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
33
-34
5
6
-19
-1
17
0
0
-10
8
-26
-14
-6
2
-16
7
32
-34
33
12
23
11
0
0
21
0
10
2
-32
-5
-41
14
-15
39
52
-20
-34
-16
0
0
2
0
0
0
-31
7
-3
8
-41
-2
4
-33
0
10
0
0
16
0
2
4
40
-1
5
-2
-14
-40
-30
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-42
-21
-33
11
37
33
0
0
24
-24
5
13
15
-15
-4
17
-17
-45
-9
-4
17
28
0
0
-10
6
17
9
17
-49
23
-19
33
-5
6
-14
-31
-23
0
0
-4
0
-23
22
1
-30
-36
46
24
6
0
29
-9
51
0
0
17
0
10
0
-26
-28
6
39
9
3
-10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
2
0
0
-13
0
-1
0
-24
-1
5
-9
0
0
0
-19
-1
12
0
0
1
0
0
0
6
-1
0
-1
-4
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
36
-10
-2
-22
35
-32
0
0
-32
2
16
10
-71
6
0
4
23
1
-2
24
-45
8
0
0
-33
0
-14
-16
-30
-22
-13
-23
4
-6
-16
-8
-31
2
0
0
-11
0
0
1
0
8
2
34
0
0
0
-1
0
-37
0
0
2
0
0
0
-20
-2
0
39
-22
-3
0
14
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
15
1
15
0
0
-5
0
-17
-19
27
20
-6
-12
12
12
-25
13
-7
-4
0
0
0
6
-8
-4
8
23
-1
25
-12
0
-16
13
-37
6
0
0
1
0
0
4
5
5
1
20
9
0
0
-23
0
-8
0
0
-30
0
-10
6
16
-7
0
41
16
-18
16
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
17
0
0
-14
0
-3
3
3
-37
-10
-3
16
-2
-3
-13
3
-20
0
0
17
0
3
0
12
-44
-1
2
15
0
4
-11
-27
-22
0
0
0
0
0
0
0
-2
0
3
0
0
0
19
0
-7
0
0
15
0
0
0
-2
0
0
-20
-15
0
0
-9
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
-7
0
0
-6
29
24
2
15
0
0
1
2
0
-18
0
0
0
0
0
0
3
-4
0
-13
8
0
13
0
0
10
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-43
0
0
31
0
24
1
-1
-5
-2
1
9
-3
-10
35
0
2
0
0
-4
13
9
2
-2
7
-1
-24
28
13
-1
-2
-4
-28
0
0
0
0
0
0
0
18
0
-5
0
0
0
52
0
-6
0
0
0
0
0
0
12
3
0
15
24
1
0
17
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
33
25
7
-22
3
18
2
32
-29
-34
-25
-10
-12
4
0
0
15
0
21
-9
-10
33
-25
8
-29
3
-4
14
-14
17
0
0
20
0
1
11
0
-1
6
30
-17
0
0
-45
17
19
0
0
25
0
-2
0
32
-5
-1
-17
-40
4
19
-37
-17
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
5
16
-31
11
30
31
20
40
31
11
-15
-39
6
-9
0
0
6
2
-43
-18
-4
-1
-8
-9
-9
-14
28
42
-14
-37
0
0
5
0
0
11
-6
-35
7
3
6
6
-1
29
6
-51
0
0
0
0
0
0
21
0
9
-4
-5
0
0
-9
-32
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
2
1
14
3
3
9
0
-10
-1
-35
0
0
-28
0
1
-4
28
19
0
-15
24
30
20
-10
1
7
0
0
22
0
0
0
0
-12
-1
19
5
1
0
60
3
16
0
0
2
0
0
0
-19
7
0
-12
-13
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
4
-2
1
-1
4
6
0
0
0
9
0
0
0
-18
0
0
-10
1
0
-4
0
0
0
0
-1
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
3
0
0
0
8
0
0
0
0
0
0
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-7
-1
-1
8
0
0
9
0
-8
0
0
4
0
16
0
0
-6
0
-16
-6
0
0
-14
-2
-25
0
0
0
0
-5
0
0
0
0
0
0
0
0
11
0
3
0
0
0
0
29
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
3
16
19
0
0
-21
-12
-40
0
0
8
0
0
1
-2
5
0
-25
0
0
0
-4
11
-33
0
0
0
0
0
-41
0
-3
0
3
0
0
0
-1
0
16
0
0
0
0
0
-13
0
1
0
-1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
51
23
-5
-13
-1
-20
-5
0
0
0
7
3
1
-10
-15
-31
10
-8
12
-46
-26
24
-63
-1
0
0
1
0
0
0
-22
10
7
-40
-8
-3
0
5
0
1
0
0
-8
9
0
0
10
-9
10
-12
-33
-19
-2
8
-13
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-13
-17
24
-20
15
-9
0
0
23
-2
-2
-15
-9
-11
10
-13
-19
37
9
-38
17
3
0
0
-5
0
0
6
1
-16
-7
-24
-5
-9
0
-31
-2
-39
0
0
11
0
0
0
0
-41
0
29
2
9
10
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
30
-12
25
0
0
25
0
0
2
6
-15
0
-25
-19
-25
-2
5
7
-6
0
0
0
0
0
0
0
-13
2
5
0
0
0
-14
0
0
0
0
-9
0
0
0
13
0
0
-12
-4
-15
0
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
3
31
19
-26
0
0
25
-7
0
0
-23
23
-3
-13
15
-2
-14
-5
-5
-22
0
0
0
0
-1
-2
3
-3
8
17
-8
4
0
3
0
1
0
0
-6
0
0
-1
18
-1
7
8
-24
-8
-6
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
6
2
-30
-5
1
0
0
23
1
3
3
3
-36
-3
13
11
11
27
-10
-7
3
0
0
-1
0
0
3
1
-13
-3
28
8
-3
0
-10
0
11
0
0
-32
0
0
15
-15
29
2
-12
-48
8
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
2
0
0
-34
-9
0
13
1
0
-4
-1
-2
29
0
0
0
0
0
3
0
-3
0
2
0
0
0
-8
0
9
0
0
0
0
0
0
0
0
0
-7
1
7
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
-4
0
-4
0
0
-2
0
0
0
0
4
0
-11
-21
0
6
0
1
4
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
7
2
0
0
17
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-55
3
0
0
11
0
22
0
-29
-2
-2
-5
27
2
1
-3
51
2
0
0
11
0
0
0
5
-2
0
-21
17
-6
0
41
1
-5
0
0
-19
0
4
0
6
10
-1
48
-16
28
13
5
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
-18
0
0
0
-2
-13
-8
-12
6
-2
24
-5
-11
-23
0
0
0
0
0
0
0
4
0
13
-1
0
0
-28
2
-20
0
0
-5
0
0
0
13
6
-3
-41
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
-42
0
0
18
-10
14
-6
27
-16
20
11
0
-4
4
-8
19
-12
0
0
3
0
0
6
-3
-1
2
9
3
-5
0
-23
-5
28
0
0
6
0
3
0
-15
0
1
14
-12
1
0
5
20
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-15
0
-1
11
-9
-1
2
13
7
-8
0
0
-5
0
0
0
0
2
0
9
0
0
0
-1
0
8
0
0
-18
0
0
0
-12
-1
0
18
-13
0
0
8
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
-1
0
0
-1
1
0
-1
0
0
12
0
0
0
0
-36
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
-16
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-47
0
0
0
0
-4
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-35
-7
4
-3
-12
-1
51
0
0
0
0
0
0
-9
0
0
-17
0
0
0
1
0
-14
0
0
-4
0
0
0
-20
0
0
19
-31
-6
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-14
-9
-17
-5
-4
0
0
3
0
0
0
0
3
0
-24
2
0
0
-15
0
2
0
0
0
0
0
0
0
-5
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
4
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
6
-51
27
-1
20
-23
-35
0
0
-4
0
0
0
-4
10
-2
31
-2
0
-5
6
0
2
0
0
-6
0
0
0
-7
-6
-4
-23
-14
-19
10
26
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
20
3
1
0
0
6
0
7
0
0
11
-4
-7
5
0
0
8
1
4
0
0
-20
0
0
0
-10
-1
0
13
-17
-19
1
-17
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
5
0
0
-7
2
0
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-4
0
0
0
0
0
0
0
0
0
-2
0
0
4
8
0
-2
0
0
1
0
0
0
5
0
0
-5
-13
0
1
-28
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-20
0
0
0
0
0
0
0
-1
0
5
0
0
0
28
0
1
0
0
16
0
0
0
-21
0
0
9
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
-12
0
-10
0
0
-7
0
0
0
8
0
4
-1
-35
0
0
-9
-47
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-50
0
0
21
0
0
0
0
2
-6
46
23
0
0
7
0
-30
0
0
-1
0
0
0
-26
0
0
20
-71
-9
0
-22
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
0
0
0
4
0
0
0
0
-1
0
0
0
0
0
0
-1
-11
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
-1
0
0
0
-1
0
0
-21
-19
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
-16
0
0
-19
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
0
0
0
-10
0
-45
0
0
0
0
0
0
-1
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
-3
0
0
-8
0
0
0
0
0
6
0
0
0
0
0
0
3
0
0
-10
0
0
0
-3
0
-2
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
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
4
-1
-15
20
-3
2
40
-4
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
-16
0
-15
-4
0
-6
-8
-6
3
0
0
-7
-4
0
0
17
-12
-1
-2
-12
6
0
-56
-25
-16
0
0
-38
0
16
0
-14
-27
0
1
-25
-25
5
12
6
28
0
0
0
0
0
0
-19
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-4
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-2
11
0
-9
0
0
0
4
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-9
-9
-35
-7
0
3
6
2
0
-5
5
-23
0
0
-3
0
0
5
-37
2
-16
-2
6
-13
0
-6
-7
1
0
0
-2
0
-17
0
-7
-13
0
-23
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
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
0
-7
0
0
0
-10
0
0
0
0
0
0
0
0
1
9
0
0
0
0
0
-1
0
0
0
0
0
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
-39
0
-36
0
4
-6
-1
8
-4
2
30
-20
-18
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
2
-57
0
5
4
0
-7
19
-24
-3
0
0
5
8
0
0
-8
-6
-1
-14
4
-35
0
-62
-27
-6
0
0
-2
0
11
0
-20
-1
2
0
-9
-4
-22
23
15
-9
0
0
0
0
0
0
0
-22
0
3
0
0
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
1
8
0
0
6
0
0
-15
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
3
-3
-16
0
0
-1
-4
0
0
-12
-32
6
0
0
-5
0
0
0
4
-44
-2
5
-10
-3
0
-7
-4
-13
0
0
2
0
5
0
17
-1
0
3
2
1
0
0
6
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
12
5
0
-1
5
-1
6
-33
8
22
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
-2
0
-2
-5
-1
0
0
17
0
0
0
6
-4
0
48
-23
-16
0
-25
12
42
0
0
-4
0
6
0
5
-6
0
-5
6
0
-18
1
36
-15
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
-7
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
-12
0
0
0
-20
-1
0
5
0
0
0
4
-24
-17
0
0
-1
0
0
0
14
-31
-6
3
1
0
0
-1
21
3
0
0
0
0
0
0
14
0
0
6
3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
4
11
22
4
0
0
0
0
0
0
-16
0
0
19
0
0
0
7
-9
-27
0
0
0
0
0
0
9
-16
0
-4
0
-7
-1
9
-8
-32
0
0
0
0
0
0
-7
11
0
-9
0
0
0
0
6
-23
0
0
0
0
0
0
0
27
0
-12
0
0
0
-3
0
-3
0
0
0
0
0
0
6
0
0
27
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
39
2
50
12
-12
29
-8
0
49
-9
-2
-11
-32
-69
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
-5
-22
0
-25
-34
0
10
-16
10
-25
-28
-5
-32
0
0
-1
-39
20
11
18
-2
7
-27
-4
-2
15
32
9
-10
0
0
-12
-30
20
9
8
-2
0
21
-2
24
-22
5
16
-14
0
0
-9
0
11
-2
31
-17
-21
-12
9
1
32
-7
-8
-14
0
0
19
0
-2
0
0
28
4
1
-1
0
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
0
0
0
0
0
0
0
0
3
6
0
-15
0
-2
1
-18
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
-2
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
0
0
0
0
2
0
0
0
0
0
0
3
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
4
0
12
-3
-24
17
0
-8
11
11
-4
4
-17
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-4
19
3
9
-2
5
-63
-36
-2
3
-1
25
25
0
0
-22
-5
3
14
-28
23
3
-39
12
-36
-1
-65
-26
-29
0
0
-2
0
32
3
-24
-5
0
-11
13
0
-7
15
13
23
0
0
6
0
2
3
0
9
0
10
2
0
0
26
0
-10
0
0
9
0
-1
1
7
-14
0
4
-19
0
-1
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
7
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
6
0
-15
27
0
-15
4
0
-10
-44
14
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-1
8
6
0
-14
3
1
0
6
4
0
0
0
-13
-3
0
-3
-16
-13
14
-10
-9
-12
0
-5
-9
-12
0
0
2
0
12
-3
-17
14
-13
23
2
2
8
20
21
15
0
0
0
0
0
0
1
2
0
18
0
0
0
-2
0
3
0
0
0
0
0
0
-6
3
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-5
12
0
1
0
2
4
-18
-2
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
-28
24
0
-25
-1
1
0
0
-5
-23
0
0
-6
0
0
5
28
-13
5
-25
-4
0
0
-22
9
11
0
0
-1
0
0
0
-22
15
0
-10
-9
0
-1
0
-8
4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
10
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
4
0
3
0
0
0
0
0
0
0
0
0
8
0
0
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
34
-7
-5
0
3
-38
5
17
-22
18
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
1
0
43
27
0
2
-19
-1
-6
1
9
-47
0
0
-6
-16
-3
-13
23
6
5
-42
3
1
-9
9
-20
-1
0
0
-4
5
0
-23
-3
-19
-9
28
33
5
12
14
-13
-5
0
0
-1
0
3
-1
9
-23
-1
-35
2
0
-10
18
9
-6
0
0
-20
0
0
-2
40
14
7
-27
10
0
7
-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
5
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
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
-6
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
-40
0
0
0
-3
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
7
0
9
52
0
1
-5
0
-13
-17
-41
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
2
-6
21
31
-3
-11
-7
-1
-8
26
17
-1
0
0
-21
0
-19
15
-35
-23
-7
-25
4
2
19
-30
-19
0
0
0
-3
0
12
-1
-11
6
0
-4
-9
0
7
11
-8
7
0
0
8
0
-1
4
1
-17
0
1
4
0
0
-24
0
0
0
0
15
0
1
0
41
-24
0
16
13
0
-3
-6
44
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-5
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-19
3
15
-9
-6
-11
3
1
-1
12
4
-38
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
15
-33
0
0
1
3
-2
7
14
1
0
0
8
1
0
16
-8
-4
-2
14
-7
1
2
-28
26
5
0
0
-15
-4
-9
-9
-20
17
-16
3
19
-5
-2
-3
16
-19
0
0
-8
0
0
0
-24
-10
0
-19
-2
0
3
-6
-3
-35
0
0
0
0
0
0
2
-24
-1
9
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
41
1
0
9
0
0
10
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
4
12
17
0
-37
0
1
0
12
4
-34
0
0
-24
1
-12
-1
-1
-1
-9
-11
-20
0
0
13
6
-27
0
0
22
0
0
0
3
1
0
2
-2
-2
0
0
8
-10
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
-11
0
0
7
0
0
0
-4
0
0
-3
3
-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
-6
-32
-35
0
0
0
0
0
0
3
0
0
14
0
0
0
-2
4
-7
0
0
0
0
0
0
-7
-3
-1
-5
0
-1
-1
19
4
-5
0
0
0
0
0
0
-8
2
-2
-3
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
15
0
0
0
0
0
0
9
0
0
-6
0
0
0
19
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
4
-15
-18
64
21
67
33
20
17
-27
-1
4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
7
21
3
-25
-1
5
2
-39
1
16
4
6
1
0
0
-13
24
-9
-12
2
-18
-15
-6
-12
10
-8
2
7
-39
0
0
-8
3
-23
12
13
6
-15
15
-17
-23
0
11
40
29
0
0
-7
0
6
-2
7
22
9
-64
-14
1
9
19
-34
-42
0
0
-17
0
-2
0
-15
-34
-8
-8
4
0
-2
-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
2
3
0
18
-1
1
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
2
0
-6
0
0
0
-2
0
0
0
0
0
0
0
0
11
0
0
3
0
0
0
-12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-1
-5
-1
14
-8
0
14
-16
-18
-37
25
22
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
9
-3
21
2
25
-1
-19
-17
-4
21
-32
-10
-5
0
0
19
14
-2
-17
-5
-16
-19
-2
24
15
4
13
-39
-37
0
0
16
6
-15
-3
35
9
0
52
-14
-13
-23
0
16
11
0
0
-1
0
3
0
19
-4
0
-21
7
0
0
-40
0
11
0
0
-22
0
-3
0
-14
1
0
3
-1
0
0
-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
14
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-4
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
-6
0
0
0
0
0
0
0
0
0
0
0
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
-13
21
14
-4
9
-13
-6
-38
2
-16
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
3
11
0
-11
-4
8
-5
-21
-35
8
0
0
-12
15
2
-6
-9
5
1
24
-33
-22
5
9
-39
-14
0
0
-12
-6
-20
2
5
-6
37
-42
1
24
46
-6
6
1
0
0
-11
0
0
0
0
0
0
29
0
0
0
-2
1
11
0
0
0
0
0
0
12
-7
-1
-11
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
-1
0
5
-42
0
1
6
-7
3
15
-12
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-56
16
2
-5
19
21
3
-2
0
1
-13
-19
14
5
0
0
1
0
1
-12
-22
-4
8
-3
-11
0
0
6
-45
21
0
0
-9
0
0
0
2
20
0
-12
-39
-2
0
-9
9
13
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
-1
0
0
0
0
0
0
-9
0
2
40
0
2
0
-42
3
0
0
0
0
0
0
0
-4
0
0
-21
0
0
0
15
-1
-5
0
0
0
0
0
0
0
5
0
1
0
0
1
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
-30
-8
16
6
-33
-30
0
35
-33
6
-1
0
-1
-20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
2
9
-52
0
-22
-21
20
27
0
-3
-41
0
0
20
14
7
-2
-6
-22
5
-4
-2
37
9
5
6
15
0
0
-11
-12
-15
13
6
8
-40
29
13
7
21
-11
10
21
0
0
-1
0
1
11
8
-9
14
-24
3
1
5
-36
0
-1
0
0
12
0
0
0
3
0
0
4
0
0
8
-2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-11
0
0
0
7
0
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-4
0
1
0
0
0
0
0
0
2
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
-7
1
17
2
-41
-29
-2
-9
-3
10
9
-3
-13
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
1
-2
45
-19
5
-29
2
5
-9
-12
8
19
0
0
13
10
-9
-13
38
-40
-14
-16
22
4
-3
-64
-49
5
0
0
-9
-2
5
-17
6
-15
-6
12
-35
-4
21
2
-13
5
0
0
1
0
15
-6
3
-8
0
10
-7
0
3
3
0
-17
0
0
-11
0
-1
2
10
0
0
-7
11
-3
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
-13
13
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
11
0
4
0
0
0
1
0
0
0
0
4
0
0
0
27
-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
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
-21
27
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-5
0
0
0
0
0
-14
0
0
0
0
-1
0
0
0
0
-21
0
-4
0
0
1
0
-1
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
5
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-17
0
1
0
0
0
10
0
3
0
0
0
0
0
0
-1
-3
16
0
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
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
3
0
16
-6
0
-8
0
0
-6
-28
3
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-16
-36
0
0
0
0
-1
0
-18
4
0
0
-10
1
-1
8
-24
8
-8
-7
-7
6
0
28
-12
19
0
0
18
0
-19
0
-3
22
0
45
-28
0
-14
-1
3
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
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
10
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
35
-11
0
2
0
0
0
-14
-18
1
0
0
6
2
0
-1
11
-10
0
0
4
0
0
-15
0
-32
0
0
1
0
0
0
-6
7
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-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
-1
-1
0
-4
0
0
0
5
0
-2
0
0
0
0
0
0
-18
7
0
-6
0
0
0
0
18
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
2
0
0
2
3
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
9
0
0
-3
0
0
-36
-1
0
0
0
-1
0
0
0
-1
-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
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
-33
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
4
2
0
0
0
0
-2
0
-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
-2
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
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
-25
0
10
0
-16
-34
0
-9
3
-1
20
-12
20
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-43
0
-4
0
0
0
-17
2
0
0
0
32
0
2
0
-36
16
-6
3
-15
12
0
-6
5
5
0
0
36
0
-21
0
-7
52
0
-5
-22
0
15
0
4
0
0
0
0
0
0
0
-6
-7
0
-1
0
0
3
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
-3
0
0
0
-40
29
0
4
0
0
0
0
-10
4
0
0
-20
0
-16
0
20
-20
-12
0
3
0
0
8
2
7
0
0
-2
0
0
0
0
-6
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-9
0
0
0
0
3
20
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
-23
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
-6
20
0
-12
-2
0
0
-4
-19
7
0
0
7
0
0
0
11
-10
0
-16
0
0
-18
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
-6
0
0
0
1
-8
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-3
3
0
0
-4
0
0
0
6
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
0
8
0
0
0
20
-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
9
0
-3
10
0
0
3
-2
-1
0
0
-6
0
0
-1
-1
12
0
18
-23
0
0
11
-12
-1
0
0
-8
0
0
0
17
-21
1
21
10
0
5
2
-1
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-5
1
0
0
-1
0
0
0
7
4
0
0
-3
0
0
0
0
0
0
-4
0
0
0
-1
6
-17
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
31
24
0
1
-3
0
0
-7
16
-1
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
29
2
0
-1
-7
-1
0
-11
0
-1
0
0
2
0
0
0
27
-8
0
39
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
0
0
2
14
0
-1
1
0
0
0
0
-15
0
0
0
0
0
0
20
-1
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-27
-4
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
10
-10
0
0
0
0
0
-9
0
0
0
0
-2
0
0
0
10
29
0
0
0
0
0
-32
-4
0
0
0
0
0
0
0
27
-36
0
3
0
0
1
0
-19
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
34
-4
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
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
0
0
0
0
-1
-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
-1
-11
0
0
0
2
0
0
-3
0
0
0
0
0
0
0
-4
-26
0
1
2
0
0
8
6
-5
0
0
-12
0
0
0
-16
15
-37
-22
0
0
1
0
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
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
-5
0
0
0
-41
44
0
0
1
0
0
0
8
-6
0
0
0
0
0
0
-21
1
-1
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-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
-11
0
0
0
0
0
0
0
0
0
10
0
0
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
-8
-14
17
-3
-28
-24
6
-16
-1
-1
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
5
22
0
2
16
-7
0
-6
-32
5
0
0
-13
-12
0
11
-14
-9
-5
-9
-16
5
0
-17
38
25
0
0
-5
6
-22
-3
12
-22
1
25
33
25
-12
8
13
-1
0
0
0
0
0
0
16
-6
0
-8
0
0
0
5
0
7
0
0
3
0
0
0
26
-4
0
-3
0
0
0
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
-5
0
1
0
0
-8
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
9
0
0
0
-3
8
0
1
17
0
-2
4
3
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-37
0
4
-10
-59
28
0
-5
10
-6
-1
-3
22
38
0
0
-30
0
6
0
-15
-19
2
6
10
0
0
-16
25
10
0
0
-3
0
0
4
-7
27
0
20
-11
-1
-6
0
5
1
0
0
0
0
0
0
0
1
0
-18
0
0
0
-9
0
-9
0
0
3
0
0
0
-11
9
0
0
-2
0
0
9
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-34
0
0
2
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
8
0
0
0
0
0
0
0
2
-8
0
1
0
0
0
-49
0
6
0
0
1
0
0
0
4
-6
0
0
0
0
4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
0
0
0
0
0
0
6
14
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
7
7
-44
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
-1
-7
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-10
-3
6
-14
0
0
-1
-1
2
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
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
24
9
0
-3
0
0
0
0
9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
1
0
0
0
1
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-1
0
2
-4
0
-13
-19
-2
28
-44
17
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
-38
18
0
-10
1
4
0
-26
-2
28
0
0
-9
-4
0
0
17
9
0
-24
-7
23
0
41
-6
27
0
0
10
3
27
-2
31
18
10
-11
-7
-10
37
1
-23
28
0
0
-6
0
0
0
-10
10
0
12
0
0
0
1
0
2
0
0
0
0
0
0
-38
-9
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
17
-2
0
0
6
-1
3
-17
6
-27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-10
0
0
7
11
0
37
-4
0
0
10
41
18
0
0
19
0
13
-9
20
-24
0
-4
6
0
0
-1
-5
-19
0
0
9
0
0
0
21
5
0
11
-1
0
0
-15
0
-9
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
-6
0
0
-25
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
7
-5
3
0
-6
11
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
-10
0
-4
7
0
0
-2
-10
-23
0
0
2
0
0
0
8
-48
5
28
-26
0
0
33
-1
-4
0
0
-18
0
0
0
-16
-16
0
-6
-23
4
-1
0
-3
-28
0
0
0
0
0
0
0
-2
0
0
0
0
0
-1
0
-14
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
-12
0
0
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
0
0
0
-10
-7
0
-3
5
0
0
0
22
-35
0
0
1
0
0
0
-9
-20
0
0
0
0
0
0
-17
-8
0
0
1
0
0
0
0
0
0
0
2
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
13
0
-11
-17
-3
13
-10
-10
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
3
5
0
8
10
0
6
1
13
8
0
0
-6
0
0
0
-24
17
0
-3
17
1
0
12
-17
8
0
0
39
0
8
-2
10
-2
-6
-6
2
2
13
5
-58
-15
0
0
0
0
0
0
-8
-1
0
13
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-5
-6
0
0
-2
0
0
-22
-1
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
-7
-33
10
0
0
-11
0
0
18
-26
-23
0
0
-4
0
0
-1
-8
0
0
2
-6
0
0
11
0
1
0
0
0
0
0
0
13
-5
0
1
0
0
-2
0
0
-33
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-16
0
-1
0
0
-37
8
4
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-10
0
0
0
0
0
0
0
4
0
0
-1
0
0
0
14
-36
0
-27
-7
0
0
0
0
1
0
0
0
0
0
0
-7
-19
0
22
0
0
-8
0
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
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
-29
0
0
2
0
0
0
0
-3
0
0
0
0
0
0
-15
-10
0
-13
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
0
0
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
-1
0
0
0
-3
-1
0
0
0
0
0
0
0
-1
7
0
2
0
0
0
0
0
-2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
8
8
0
24
7
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
34
0
0
0
0
1
7
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
-2
1
0
1
0
0
0
-1
7
-3
0
0
0
0
0
0
0
22
-3
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-10
-2
0
0
0
0
0
0
-14
3
0
0
0
0
0
0
-11
6
1
-6
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
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
5
-5
0
-23
-3
4
15
-1
-21
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
5
39
0
-6
-10
1
3
2
10
-32
0
0
17
0
11
6
7
-22
0
30
9
7
-2
16
-9
3
0
0
-12
0
6
0
30
-36
0
-14
7
-10
2
-1
3
-9
0
0
0
0
0
0
1
-9
0
39
0
0
0
-6
0
-3
0
0
1
0
0
0
20
0
0
1
0
0
0
29
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
10
-2
0
0
0
0
0
-18
27
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-11
-8
35
-4
0
-1
-20
-1
0
0
30
9
0
0
2
0
0
0
-19
-2
-1
7
-1
0
0
10
0
9
0
0
0
0
1
0
-3
-1
0
-13
-15
0
0
0
0
21
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
3
0
0
0
-4
0
-1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
-1
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-11
35
0
13
-6
2
12
6
-18
33
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
-1
0
0
0
2
-1
-1
0
0
0
0
0
0
46
28
0
9
9
0
0
7
20
-6
0
0
36
0
0
0
7
-33
0
9
0
0
-2
0
-6
12
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
-3
0
-7
20
0
0
0
0
0
0
11
6
0
0
0
0
0
0
18
-4
0
-9
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
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
-2
0
2
16
0
-4
0
0
32
20
13
-19
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
22
0
0
0
-6
0
0
0
4
-6
0
14
0
0
0
-5
41
-32
0
0
11
0
-9
0
0
17
0
-30
11
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-1
0
6
31
0
0
0
0
0
0
8
-30
0
0
4
0
0
0
0
6
0
0
6
0
0
0
-8
-17
0
0
0
0
0
0
0
1
0
3
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
0
17
-26
0
-18
-2
0
15
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
-18
-3
0
-1
-9
0
0
-1
3
0
0
0
-17
0
0
0
19
15
0
28
-1
8
4
0
-21
-1
0
0
-11
0
0
0
-1
-13
0
31
10
0
0
0
0
42
0
0
0
0
0
0
-1
3
0
1
0
0
0
0
0
-9
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
-8
0
0
0
1
6
0
0
0
0
0
4
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
9
-29
0
-25
4
0
4
0
-6
-11
0
0
-15
0
0
0
1
0
0
-6
6
0
0
11
1
-15
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
14
0
0
0
0
6
0
4
0
0
0
0
0
0
0
0
27
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
42
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-8
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-1
0
-1
0
0
0
7
0
-28
0
0
0
0
0
0
18
-23
0
-8
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
0
0
0
12
0
0
0
0
0
0
-5
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
3
-34
26
19
-7
7
-2
9
-1
-19
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-2
0
1
12
-5
-6
-40
-1
-13
5
-5
-12
0
0
9
0
-16
0
1
-8
4
-13
-6
-18
2
-31
28
-6
0
0
-13
0
4
2
40
-11
-23
-9
-2
-16
9
-17
24
6
0
0
0
0
0
0
0
34
0
-6
0
0
0
0
0
-1
0
0
0
0
0
0
0
45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
33
-1
13
-12
78
-4
8
-10
-1
0
4
-4
1
0
0
1
0
0
1
-1
24
-1
25
18
-8
0
-11
11
-12
0
0
-11
0
0
0
0
-16
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
-3
2
-10
44
0
-35
-1
2
17
-29
-6
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
4
0
7
18
0
2
-16
0
-2
19
-19
-1
0
0
10
0
1
-7
40
18
1
56
21
-16
12
-8
18
-1
0
0
21
0
0
4
4
8
-2
44
7
13
-6
13
-25
-49
0
0
0
0
0
0
0
-6
0
5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
13
0
0
-1
0
0
-12
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
-7
-15
0
0
14
-6
0
0
3
-21
-23
0
0
-18
0
3
0
19
-1
7
11
-15
0
0
8
-4
41
0
0
1
0
0
0
-4
-13
0
20
3
0
0
-2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
7
4
0
4
0
0
-1
10
21
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-5
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-22
3
0
-12
1
0
0
4
0
34
0
0
4
0
0
0
-3
5
0
-12
0
0
0
0
-2
5
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-10
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-7
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
-19
-19
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
16
0
0
0
0
0
0
0
6
0
0
3
0
0
0
-36
20
0
-5
13
0
0
23
0
6
0
0
0
0
0
0
-16
-2
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-21
0
0
0
0
0
0
1
5
0
0
0
0
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
18
0
-2
0
0
-11
5
-3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
0
0
-3
3
0
7
0
0
0
0
0
0
-2
-5
0
-8
0
0
1
-20
0
-9
0
0
4
0
0
0
-8
-2
0
0
0
0
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
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
-15
0
0
0
1
3
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
-14
0
0
9
-4
-4
7
-2
6
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
15
-24
-1
2
-23
0
4
22
7
22
0
0
-11
0
0
0
-30
60
-5
-5
37
5
0
-25
2
39
0
0
0
0
0
0
11
-60
2
1
-1
0
-10
-17
-5
20
0
0
0
0
0
0
0
-4
0
0
0
0
0
8
0
19
0
0
0
0
0
0
1
-5
0
2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
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
1
0
0
1
0
0
-2
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
0
0
0
8
24
0
-17
-12
0
0
-16
14
-21
0
0
15
0
4
-3
13
-5
9
-11
-2
0
0
13
6
-4
0
0
0
0
0
0
0
15
0
20
-1
0
0
-1
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
19
-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
1
0
-3
0
-1
0
0
12
0
0
0
0
0
0
0
0
18
0
0
0
0
0
-10
21
-21
0
0
8
0
0
0
0
9
0
-10
0
0
-8
7
7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
27
0
1
-2
0
0
0
12
-23
0
0
-2
0
0
0
0
-4
0
0
0
0
0
4
7
-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
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
18
-31
0
23
11
-6
-18
15
6
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
11
10
0
7
12
7
-2
-11
14
4
0
0
13
0
0
6
49
-7
-6
12
-14
-10
-12
-3
30
8
0
0
2
-9
-6
-1
-17
-38
-2
47
-30
-4
-27
-7
-12
-29
0
0
0
0
0
0
0
-6
0
23
0
0
0
-4
0
-1
0
0
0
0
0
0
4
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
3
-26
28
-31
1
-7
10
-2
0
11
5
-2
0
0
-28
0
2
1
-31
31
-5
-8
8
0
0
10
-2
1
0
0
-6
0
0
0
1
0
0
-24
-4
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
4
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
12
0
0
0
0
1
-11
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
7
7
0
0
0
0
0
0
-17
18
0
-17
3
16
0
-22
0
-1
0
0
-2
0
0
0
21
25
-2
-7
0
0
-12
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
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
0
0
3
0
0
10
0
-1
0
0
0
0
0
0
3
0
5
1
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
0
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
18
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-15
-27
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
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
-25
-20
0
-16
-10
28
28
-5
13
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-28
0
-26
-4
0
0
-1
-7
-3
0
0
8
0
7
18
-18
-2
7
-11
35
12
0
42
-12
16
0
0
1
7
0
0
4
14
-1
52
14
-3
-13
29
-11
-9
0
0
0
0
0
0
0
-2
0
55
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
3
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
7
3
0
8
16
0
0
1
23
10
0
0
-5
0
0
-4
15
-3
1
0
2
0
0
29
-12
15
0
0
11
0
0
1
8
9
0
7
-4
0
1
0
3
6
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
0
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
7
0
11
-2
0
0
-3
21
2
0
0
0
0
0
0
8
-20
0
-2
0
0
0
0
-17
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-1
-8
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-3
0
0
2
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
2
-4
0
34
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
-2
0
0
0
0
22
26
-10
1
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
-9
0
0
0
0
0
0
0
0
30
33
0
-11
-15
-16
0
36
19
-1
0
0
-1
0
0
0
-16
7
0
6
0
0
2
-10
-20
-2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
-16
-5
0
0
-9
0
0
0
19
0
0
0
0
0
0
0
-6
32
0
4
1
0
0
6
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
1
-8
0
0
0
0
-2
-13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
-1
0
0
0
-2
0
0
0
0
0
0
0
-26
-1
0
-13
7
9
0
-4
-6
-1
0
0
-3
0
0
0
-3
-5
0
-2
0
-4
8
3
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
20
-12
0
0
-4
0
0
0
5
8
0
0
0
0
0
0
8
10
0
1
0
0
0
-3
15
-1
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
6
0
0
0
3
0
-3
-4
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
-9
0
0
0
0
0
0
0
2
0
0
0
1
0
0
-3
-12
0
0
0
-1
0
0
0
0
0
0
3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
2
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
19
-34
2
37
21
-5
14
-30
31
-24
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
12
-32
1
-4
-3
-1
-20
-12
11
-24
0
0
24
15
5
6
36
-19
-15
-41
17
-19
10
24
8
-26
0
0
41
9
-13
27
32
-27
-14
22
15
38
-22
-26
-32
-16
0
0
29
0
0
0
-27
-10
14
19
-5
-2
12
-3
-15
-2
0
0
52
0
0
0
13
1
2
26
0
0
-7
-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
-10
10
5
44
-35
9
11
18
-25
57
0
0
0
0
0
0
0
0
25
27
0
0
0
34
0
2
0
0
0
0
0
0
0
1
-2
-63
0
12
-24
-21
-20
6
0
0
0
0
0
0
0
0
0
-9
-6
-3
1
10
-28
-2
0
0
0
0
0
0
0
16
0
1
-8
1
-3
49
1
-19
0
0
0
0
0
0
1
0
0
11
-8
0
1
10
-11
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
103
0
6
0
-22
1
-8
-6
-17
-14
0
12
-6
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
9
37
19
-1
26
16
-4
58
-6
-13
17
6
17
0
0
-1
-13
-3
-28
-10
3
14
-10
26
-2
-19
29
-17
5
0
0
74
0
-11
0
-6
6
-24
-29
10
17
-13
-11
18
10
0
0
37
0
0
0
6
26
0
-34
1
0
0
8
2
32
0
0
0
3
0
0
-20
18
-4
8
-24
-6
-1
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
-11
0
0
-5
-23
1
0
0
0
17
-18
-28
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
-3
-13
0
-1
8
0
-7
29
8
-6
0
0
2
-23
0
0
1
36
1
-22
8
0
10
9
23
2
0
0
-7
12
0
0
-9
-56
1
-4
7
-1
-15
3
8
-11
0
0
0
32
0
0
0
-4
0
0
0
0
0
0
0
2
0
0
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-24
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
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-2
-8
0
0
0
0
0
-1
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
5
0
0
-8
4
0
-4
19
-1
0
3
4
-7
0
0
-10
-25
0
0
16
-5
-2
-4
-16
0
0
2
11
-16
0
0
0
1
0
0
19
0
0
-20
-7
0
0
0
8
-20
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
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
37
0
-17
-16
-9
-9
1
-13
18
25
-51
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
40
0
34
1
0
6
-1
16
-4
14
-2
-54
0
0
0
0
21
-1
-8
-17
7
63
-21
2
0
2
16
-41
0
0
-2
0
10
2
32
45
9
-18
-13
10
-14
9
48
-15
0
0
0
0
62
0
0
8
2
-3
0
0
0
16
0
4
0
0
0
0
43
0
-2
-1
0
3
0
0
0
0
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-7
16
-8
9
0
-12
-7
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
32
0
10
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
16
0
2
-7
0
0
26
2
0
3
-3
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
15
-15
0
-23
0
-2
0
2
0
-22
8
-35
0
0
-11
0
35
0
-13
-3
9
3
-9
-13
0
20
-12
-33
0
0
-7
0
26
0
0
-2
0
19
22
-3
0
9
-7
21
0
0
0
0
14
0
0
7
0
-2
-1
0
0
-10
0
0
0
0
0
0
40
0
0
0
0
0
-1
0
0
-12
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
45
10
0
0
0
0
15
6
15
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
13
3
7
0
-7
1
8
0
-2
3
-22
0
0
1
0
0
37
27
-13
10
26
-29
11
5
-22
-18
-2
0
0
-9
0
-1
54
37
18
1
-26
0
0
10
4
-10
15
0
0
0
0
0
33
0
-2
0
4
0
0
0
6
0
20
0
0
0
0
0
33
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
12
-5
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
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
23
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
12
0
-1
0
-6
8
0
-13
-7
2
0
0
-20
8
0
0
-9
0
0
-16
-19
-18
1
-5
12
0
0
5
-6
-25
0
0
0
0
0
3
3
-2
0
-14
5
0
0
0
11
-11
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
11
0
0
0
0
-2
0
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
11
3
1
28
-7
-8
9
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
12
1
10
-17
-56
-24
-27
-21
2
-27
-11
6
-35
0
0
14
3
-13
-20
-8
-38
-11
-19
-43
4
17
0
4
-40
0
0
-8
6
21
-2
14
0
28
8
-8
23
37
-7
-17
-4
0
0
9
0
0
4
57
0
14
0
5
17
-25
-22
0
-1
0
0
-27
-1
11
9
24
-15
1
-26
18
6
0
-27
-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
-43
1
16
3
17
-33
39
-31
-23
43
0
0
0
0
0
0
0
0
7
-17
-5
2
0
40
0
3
0
0
0
0
0
0
-8
15
-15
34
1
-3
10
22
0
-14
0
0
0
0
0
0
6
-1
-3
-3
0
-4
-2
20
4
-7
0
0
0
0
0
0
20
19
0
7
-24
16
2
14
0
6
0
0
0
0
0
0
22
0
0
30
8
-9
-12
-21
17
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
-7
20
6
20
1
0
0
2
50
-36
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-13
-5
10
14
21
-37
-48
11
23
1
29
32
2
0
0
23
5
3
-2
9
14
-1
9
8
-16
-3
-24
8
-28
0
0
-8
-3
1
15
6
7
15
-44
26
14
12
9
-12
12
0
0
-1
0
0
0
15
-3
-5
-25
-2
-10
-3
-18
0
-12
0
0
44
2
2
12
-2
-1
-8
-2
12
-19
-5
-28
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
46
-30
3
13
-13
-18
2
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-3
9
13
11
-19
-14
-21
23
-8
-8
-8
-11
35
0
0
25
39
32
-22
0
8
-22
-23
-24
1
-10
-32
4
-43
0
0
-34
12
-4
-46
-6
19
0
0
0
6
10
-2
3
7
0
0
-32
8
-7
17
-16
27
-17
2
-35
59
-21
20
-5
-4
0
0
-13
15
-20
-8
-19
8
-7
3
5
-6
-13
-28
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-20
-31
-8
-29
11
-16
4
0
0
0
0
0
0
1
13
-42
52
54
4
-14
-5
-3
0
0
0
0
0
0
0
19
-13
-18
-9
-10
-28
18
21
-17
6
0
0
0
0
0
0
-3
2
-25
4
-22
-13
-13
-20
26
-12
0
0
0
0
0
0
4
-2
0
25
27
-32
-15
20
15
-6
0
0
0
0
0
0
-13
3
0
-14
15
7
10
28
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-4
-14
-12
-9
11
28
-7
-21
-13
1
64
-49
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
22
1
-2
35
-2
-35
12
5
-25
-47
-37
17
14
0
0
-10
22
-20
-8
-5
15
-15
-36
15
2
20
-57
-28
12
0
0
-16
-16
-6
30
-40
13
18
-27
-11
-17
11
-8
-23
-26
0
0
4
1
-6
-19
27
21
-13
-11
19
1
-31
8
-1
-17
0
0
-2
0
0
1
-9
33
16
35
-3
2
-9
7
-34
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
21
28
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
2
24
-3
-4
-11
2
-4
6
54
-4
0
0
10
0
0
2
-49
-47
-52
-12
13
-4
3
27
18
41
0
0
-17
0
-14
6
28
-14
22
-2
47
-6
-43
8
8
-25
0
0
0
0
0
0
0
10
4
1
0
0
0
3
0
-1
0
0
0
0
0
0
16
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
-1
0
0
0
0
0
14
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
1
0
41
-6
0
0
-1
0
-7
36
37
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
3
13
-21
-18
-6
6
-2
-1
0
-2
22
-31
0
0
-12
0
0
15
25
-37
-2
-20
30
1
2
10
18
-48
0
0
-12
0
0
0
-12
16
0
-20
4
0
-1
0
-15
-5
0
0
0
0
0
0
0
2
0
10
0
0
0
0
0
-10
0
0
-2
0
0
0
5
1
0
0
2
0
0
-21
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
54
4
-30
-14
-21
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-4
1
28
12
0
4
14
-10
17
-25
20
-11
0
0
-10
-3
12
10
-5
5
-4
15
-5
39
-4
8
-8
-5
0
0
-15
1
11
-32
-36
-64
-40
13
21
29
-4
-5
-22
-41
0
0
-18
0
0
0
-11
13
-28
18
0
3
11
28
-4
3
0
0
13
0
0
0
4
42
10
38
-2
0
1
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
-2
7
24
-17
-2
-20
-48
-45
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
10
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
7
0
16
0
0
0
7
0
6
0
0
0
0
0
0
12
0
0
-11
0
0
0
9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-25
-9
0
1
-8
-3
9
53
6
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-10
-20
13
-17
-14
-3
-20
-1
8
17
25
-4
-2
0
0
4
-3
-35
-23
-18
-14
17
-15
-1
23
3
16
-71
-31
0
0
6
0
5
7
46
-14
7
12
39
-16
2
8
1
2
0
0
-1
0
0
0
0
21
0
6
-2
0
-1
23
0
6
0
0
9
0
-1
0
-9
-9
0
7
13
0
-2
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
11
-12
-9
-1
49
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
0
0
23
20
0
-11
-18
-11
-40
8
-67
16
0
0
-18
-2
7
13
3
-10
15
-4
9
-20
25
-10
27
-20
0
0
20
-16
-24
19
-25
14
7
14
40
11
3
-25
8
-11
0
0
-1
0
0
0
-9
-1
17
0
7
0
-13
38
-6
1
0
0
-7
0
0
0
27
4
-10
3
7
0
1
30
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
39
2
26
-5
-17
-1
5
-34
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
-1
4
0
4
9
4
0
0
0
0
0
0
0
0
0
-6
0
0
0
-1
3
2
0
0
0
0
0
0
0
0
0
-17
0
0
-1
-6
0
-6
0
0
0
0
0
0
18
0
0
4
0
0
0
8
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
0
-9
-19
7
1
5
3
1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-7
1
-45
2
-1
2
22
24
-2
4
10
14
-20
0
0
46
-1
18
5
-16
-7
8
21
-2
4
-5
-4
-22
6
0
0
4
0
3
2
-22
4
2
-7
0
24
3
-9
3
-7
0
0
0
0
0
0
0
1
1
4
0
0
0
8
0
-7
0
0
-4
0
0
0
-15
-7
1
2
7
-2
0
23
-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
42
-20
6
35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
2
0
19
-45
0
1
-25
0
0
1
0
-22
0
0
7
-1
-12
0
31
3
3
-28
25
14
-22
-42
24
31
0
0
-7
0
5
10
10
-19
0
-57
-9
13
18
-6
-33
-26
0
0
2
0
0
0
2
48
9
7
0
0
-1
5
-7
27
0
0
0
0
0
0
-5
-10
-1
0
0
0
3
-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
27
5
9
40
1
-1
0
-3
12
-20
0
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
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
-1
0
-2
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
-8
0
0
0
27
-1
0
0
2
0
-5
-34
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
28
0
14
-1
-27
20
-2
-4
-9
6
1
-7
-9
-13
0
0
-14
-7
1
-1
54
-33
-33
-22
-9
-15
0
-2
25
-4
0
0
6
0
-1
0
13
-15
-8
-3
7
-2
13
-6
-32
5
0
0
0
0
0
0
0
21
0
-33
0
0
-2
6
0
30
0
0
11
0
0
0
0
0
2
2
-4
0
0
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
90
13
12
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
-22
46
-19
-7
-33
21
3
31
-36
-4
-8
0
0
-15
32
7
-5
-35
-50
12
-3
-26
5
9
-18
-25
-8
0
0
23
14
-8
-12
-12
-22
22
-51
-23
11
72
21
-9
-18
0
0
-6
0
0
18
-12
-19
-9
7
17
-1
62
22
-23
-28
0
0
-7
0
0
0
-59
-13
5
-19
-27
22
71
-19
-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
-3
-15
14
22
7
10
-2
-24
3
-8
0
0
0
0
0
0
0
3
3
-7
-1
0
0
-23
-3
-1
0
0
0
0
0
0
0
0
-7
20
0
19
0
-26
-19
-4
0
0
0
0
0
0
0
0
0
26
0
0
0
-33
2
9
0
0
0
0
0
0
0
19
0
-4
1
0
-7
-3
-3
-20
0
0
0
0
0
0
-5
0
0
27
-3
0
2
-3
22
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-29
16
-21
9
16
-16
30
-20
-5
-43
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
79
-2
-13
-9
7
14
9
1
-9
-33
25
24
18
2
0
0
25
10
-1
-46
-11
-23
6
36
9
-2
-2
14
-5
14
0
0
44
0
0
-21
21
23
2
-40
47
7
3
-20
13
3
0
0
-7
0
-1
0
3
-22
-2
13
-27
10
25
15
-8
22
0
0
-22
4
0
0
-11
8
-19
14
-17
13
66
-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
30
-10
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-6
3
3
-16
3
-4
30
-15
2
2
25
-5
52
0
0
-6
-16
-13
-15
-28
-7
-6
13
16
-68
-2
-16
30
-44
0
0
-5
-21
11
42
-24
-8
38
9
-13
-14
18
59
-48
-15
0
0
-16
0
-6
5
10
10
-11
15
-12
-20
-21
-10
5
-20
0
0
27
0
7
1
-19
-24
19
-19
6
9
5
51
-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
-18
-23
28
29
-12
-13
-32
-5
9
45
0
0
0
0
0
0
0
1
17
-5
0
0
0
22
0
-3
0
0
0
0
0
0
0
-7
-18
-29
1
3
-14
-3
0
-11
0
0
0
0
0
0
0
0
2
-2
0
0
1
24
-1
7
0
0
0
0
0
0
0
-10
0
25
19
10
1
35
9
-15
0
0
0
0
0
0
-6
0
0
-6
-24
0
0
-37
53
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
12
3
4
-18
-6
-17
29
-2
2
7
-58
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-17
-16
-110
-16
-11
10
-14
2
-30
27
3
26
35
0
0
-24
12
-75
0
-40
-7
1
-6
-14
-19
-25
-9
15
-10
0
0
42
0
36
2
7
-44
39
-12
9
-24
16
22
15
-52
0
0
-9
0
0
0
-42
-1
-2
-11
-35
-6
13
29
-2
-1
0
0
33
0
7
0
-5
5
-47
27
24
-5
-18
-12
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
42
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
31
20
19
7
-1
-17
-26
-13
-10
-42
-33
-7
-13
0
0
7
8
18
3
-12
-12
-1
-6
1
-17
-4
-20
16
-82
0
0
4
21
21
-11
-7
-45
15
12
-28
5
-22
-6
-6
24
0
0
-43
0
0
9
0
-7
4
-8
-31
3
-4
64
37
0
0
0
8
0
-10
-10
15
37
39
-40
-29
21
-24
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
-9
8
24
15
-18
12
-15
3
-25
36
0
0
0
0
0
0
0
0
-1
16
5
-1
0
14
5
-30
0
0
0
0
0
0
0
0
-9
-43
0
-29
22
19
46
-9
0
0
0
0
0
0
0
-2
8
28
13
-1
-1
8
-7
2
0
0
0
0
0
0
0
5
0
-32
-2
-10
0
31
22
20
0
0
2
0
0
0
15
5
0
-4
-6
6
0
20
-4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
0
-31
5
4
-13
18
-6
14
-4
-4
22
5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-3
-14
-57
6
-13
-2
2
45
1
24
-3
11
9
0
0
41
8
-10
-7
16
-10
-23
-14
-24
-4
32
9
-5
13
0
0
-3
0
5
-14
-17
-48
-6
-26
9
-11
9
-22
-20
23
0
0
-11
0
11
0
0
-2
19
-3
3
2
2
-40
24
-8
0
0
28
-14
13
9
-9
-33
-9
-8
-3
8
-9
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-28
16
12
-9
19
2
36
3
42
-4
7
-13
10
0
0
15
2
-40
5
-25
-27
17
15
-49
18
33
17
-9
6
0
0
-1
-36
-35
-28
11
4
7
-18
-3
-16
-12
44
20
8
0
0
-35
-8
-14
5
17
20
22
-18
-26
-32
-4
3
-52
9
0
0
-9
0
-1
0
-9
0
27
-35
-1
2
-4
11
-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
17
-16
-20
-2
-24
-27
-43
-44
22
-37
0
0
0
0
0
0
0
0
15
46
0
16
4
-15
0
14
0
0
0
0
0
0
9
-1
-1
10
0
5
-7
-68
-13
-1
0
0
0
0
0
0
-4
0
-3
17
0
0
-7
-20
29
-10
0
0
0
0
0
0
11
-17
0
6
-1
4
25
-22
15
-2
0
0
0
0
0
0
-5
0
0
18
-14
0
0
13
1
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
2
3
-22
-29
-17
-13
10
3
-32
37
-4
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
40
-42
-47
17
4
-22
-17
-20
-8
-32
3
2
4
-8
0
0
-20
12
-4
17
16
-2
18
-6
3
-4
15
-4
5
-21
0
0
-44
-4
6
15
-25
-25
-2
-5
26
7
-8
10
-35
-21
0
0
8
0
-15
15
9
-14
-10
-5
23
-7
14
18
1
-14
0
0
-13
0
-1
-6
-22
0
3
11
16
-18
-8
1
15
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
-29
0
-6
-16
-15
26
5
0
0
-9
7
16
-6
-30
-18
10
1
-20
7
6
10
-22
-7
0
0
18
0
-14
-2
-20
-19
-5
-11
-13
-15
-3
10
-12
2
0
0
-11
0
0
0
7
-2
2
-32
7
0
-21
-19
-6
17
0
0
22
0
0
-1
-20
7
-3
-3
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
4
-2
-2
6
1
10
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
14
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
11
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
38
0
0
0
25
4
0
6
-27
0
-23
-4
4
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
8
-11
0
1
-9
-7
0
21
-17
14
0
0
-11
-2
-3
0
-41
-38
-12
4
-16
0
0
-10
-5
0
0
0
-24
0
8
0
2
14
1
8
-25
0
-1
-25
-12
-4
0
0
-22
0
0
0
0
11
0
0
-2
0
0
17
0
3
0
0
-4
0
0
0
0
0
0
6
-10
0
9
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
28
0
0
32
-43
0
-21
4
-1
0
-43
-14
-13
0
0
0
9
0
0
0
10
0
29
0
0
-9
0
5
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
1
-10
0
0
5
0
0
0
0
-4
0
0
0
-1
0
0
0
0
0
3
-1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
2
-9
0
0
0
0
0
-4
-7
0
0
0
0
0
-11
0
-14
10
-10
-15
1
0
0
25
10
-2
0
0
0
0
-11
0
-20
-6
0
17
7
0
3
2
14
-23
0
0
0
0
-12
0
0
7
0
1
0
0
0
0
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
-12
10
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
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
-27
0
0
-9
0
0
-2
4
-28
0
0
-1
0
39
0
-6
5
-3
0
-1
0
0
-2
0
9
0
0
0
0
-2
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
4
1
-9
0
7
0
0
0
0
1
0
0
0
-5
0
0
25
9
32
5
4
15
3
0
26
-22
3
0
0
13
0
0
20
-1
-22
0
-4
0
0
-8
0
4
4
0
0
0
0
0
40
0
-12
0
1
0
0
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-8
-3
-46
0
-7
-2
0
0
0
2
0
0
0
-5
0
0
29
20
3
4
9
16
0
0
21
13
0
0
0
0
0
0
15
0
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-40
-1
-10
-7
0
35
-9
0
0
-9
-15
36
30
-6
42
-12
8
-80
-36
26
30
-34
-9
0
0
13
-19
36
10
-5
-10
-36
-29
22
-19
-37
-36
40
11
0
0
-10
0
0
3
-4
0
3
-32
-1
0
-7
-16
0
-2
0
0
-4
0
7
-16
-19
16
-20
61
-11
28
9
-32
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-36
-4
-17
-3
-11
0
21
3
-23
32
0
0
0
0
0
0
16
0
9
0
0
0
0
-4
0
2
0
0
0
0
0
0
-10
0
5
3
1
-16
-1
5
0
9
0
0
0
0
0
0
-25
0
0
5
0
-1
0
-12
0
-2
0
0
0
0
0
0
-2
0
0
-13
3
0
0
-1
0
4
0
0
0
0
0
0
59
0
0
-8
10
0
0
46
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
2
-1
-1
-14
-4
7
-12
-11
14
-2
-27
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
22
6
-31
9
-27
1
1
-20
-18
-14
10
0
0
-26
0
11
-7
5
-19
-13
9
-64
-18
-9
10
21
1
0
0
6
0
6
-1
-33
-20
-4
10
-33
11
-9
13
6
-41
0
0
0
0
0
0
-27
-17
1
-8
0
0
10
-1
0
-5
0
0
16
0
-6
1
-17
3
0
-35
-17
-2
-3
25
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-23
10
8
19
-6
-8
15
0
0
11
27
-23
-9
21
1
-22
-10
-24
-14
-39
-12
-35
-5
0
0
-33
11
-39
-28
-20
-2
-24
-26
-19
27
-5
-52
-12
-29
0
0
4
1
-21
9
-25
13
-14
-10
-9
-7
-20
0
-35
28
0
0
-14
0
-13
0
-3
9
-5
-10
2
0
-32
-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
0
0
0
0
0
0
0
0
0
0
0
0
3
-7
-25
-41
-6
15
26
33
-7
7
0
0
0
0
0
0
0
-16
-7
20
0
0
9
10
0
0
0
0
0
0
0
0
-3
-29
25
-45
1
3
-20
14
10
-5
0
0
0
0
0
0
0
0
0
-8
1
0
0
6
3
0
0
0
0
0
0
0
0
-13
0
17
23
33
3
27
-10
-11
0
0
0
0
0
0
20
0
0
-5
-18
0
0
16
56
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-12
-21
-16
-2
-26
-82
-10
-16
-13
9
-4
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
11
22
25
-8
7
-25
10
6
-15
17
41
-2
-14
0
0
-17
-23
-7
13
22
0
-28
-18
36
12
-20
7
33
-35
0
0
-2
-9
-17
3
70
-17
0
-16
13
-15
-28
-19
12
15
0
0
-1
0
-22
-6
15
24
-11
-18
24
8
-3
-48
0
11
0
0
-15
0
2
0
-1
-41
0
9
-3
7
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
-1
0
0
0
0
-9
2
0
0
-4
0
0
0
13
-57
17
22
23
0
0
3
11
25
0
0
0
0
1
0
14
5
6
-7
4
0
4
1
28
-26
0
0
0
0
0
0
0
-6
15
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
0
19
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
-8
0
0
0
-4
22
0
0
0
0
0
1
-3
2
0
0
22
0
0
0
42
2
-2
-18
-1
0
0
5
1
19
0
0
0
0
0
0
4
25
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
14
12
2
5
-18
20
6
0
0
48
-10
-1
3
-37
-9
-3
1
-1
25
-5
-27
-3
-73
0
0
-16
-1
-22
-12
-19
-33
6
26
7
18
13
3
15
-24
0
0
-14
0
0
0
-2
-20
1
-26
-9
0
14
-6
-6
-11
0
0
-2
0
0
0
3
19
12
42
4
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
-7
2
1
-1
0
0
26
1
-19
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
1
0
-9
0
0
0
-1
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
1
0
4
0
0
0
5
0
-2
0
0
0
0
0
0
-2
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
-22
0
9
0
1
0
0
2
23
-1
7
11
1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
-3
-11
2
-37
3
-11
-11
-9
-3
-20
-11
2
0
0
-40
1
-1
10
-10
-20
-7
16
-29
-4
-3
44
-26
-29
0
0
11
0
5
-12
-7
15
1
57
-9
-18
-8
-2
-7
-19
0
0
0
0
0
0
-1
-12
0
19
-4
0
0
8
0
13
0
0
-3
0
0
0
-24
0
0
24
24
-2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-17
-3
-15
10
0
0
-14
3
7
4
5
-61
2
-24
17
-43
-12
29
24
-38
0
0
55
-15
17
0
-13
-34
7
-6
-1
-19
-27
31
3
-37
0
0
-5
0
-1
0
-4
9
4
0
8
1
17
-1
-5
29
0
0
1
0
0
0
-7
-9
-3
3
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
-9
-7
4
20
0
14
0
-20
17
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
18
0
0
1
-1
-3
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-11
0
5
3
4
0
1
0
-8
0
0
0
0
0
0
1
0
0
30
0
0
0
4
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-4
0
-2
-36
0
13
-4
1
-4
-14
1
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-44
1
-18
-2
-40
6
-17
-13
-22
14
7
51
-49
15
0
0
-36
-11
-9
9
-4
-15
6
17
21
5
0
-9
24
-9
0
0
14
5
9
-12
-4
24
0
1
18
-20
17
0
46
-10
0
0
2
0
0
0
0
-15
0
10
0
0
0
-2
0
30
0
0
-9
0
-1
0
9
4
0
4
17
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
2
0
0
12
0
-16
-6
-2
-22
-2
3
-6
12
-5
14
-29
12
0
0
8
0
13
-10
-6
-15
-21
-11
5
-1
-8
19
-13
22
0
0
-6
0
0
0
-17
9
3
4
-1
0
4
-15
-2
-13
0
0
-1
0
0
0
12
0
0
0
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
-1
-20
0
0
2
30
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
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
-38
-28
0
3
-3
0
8
19
9
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
15
26
0
-7
9
0
0
-7
-8
3
0
0
-20
0
0
0
-39
23
-7
-28
-15
0
0
-5
-8
4
0
0
-13
0
0
0
-2
22
-4
25
-5
0
-1
0
-45
-14
0
0
-1
0
0
0
0
3
0
-2
0
0
0
10
0
20
0
0
0
0
0
0
-7
10
0
13
15
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
20
0
0
3
4
0
-1
0
-40
-12
2
29
-48
44
-28
54
21
0
0
37
0
-3
4
-4
-32
-23
8
20
10
30
-3
-41
-43
0
0
0
0
0
3
-16
1
0
17
7
-8
7
-7
-19
-9
0
0
0
0
0
0
-15
-5
5
-18
1
0
-6
6
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-1
0
15
0
1
0
23
-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
-12
0
0
0
0
0
0
0
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
25
0
-3
0
0
0
0
0
0
0
0
0
-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
-11
0
0
0
-5
31
0
10
14
0
25
24
-7
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
19
-6
0
-13
15
-2
0
-6
8
6
0
0
9
0
0
-1
-1
25
-19
-35
-1
-3
1
-10
6
-18
0
0
23
0
1
0
-1
-8
1
26
7
-9
3
-1
-14
-28
0
0
0
0
0
0
0
16
0
-17
1
0
0
1
0
-41
0
0
-3
0
0
0
1
0
0
-4
20
0
16
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
13
3
-14
0
0
-13
14
-45
19
7
0
14
59
9
6
6
-5
7
-23
0
0
-64
9
17
7
-32
26
29
-35
-26
-1
-28
-30
-53
-20
0
0
5
0
0
0
-3
-14
16
39
13
-1
16
-26
1
8
0
0
-2
0
0
0
2
-41
11
13
1
0
6
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
0
-3
-4
-1
-20
-54
-14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-4
0
0
0
0
0
0
0
0
0
5
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
-2
0
20
3
0
0
23
0
9
0
0
0
0
0
0
1
0
0
-4
-3
1
0
-6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
0
-1
0
30
-4
0
-4
-4
-5
6
-4
-29
20
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-43
3
-23
-3
21
5
0
21
15
0
25
-22
-4
-17
0
0
1
-4
13
20
12
-3
-30
14
-44
-6
4
36
30
-18
0
0
12
0
-17
0
8
-23
0
-29
25
8
-21
15
2
-9
0
0
0
0
0
0
-6
1
0
-9
-6
0
0
32
0
-21
0
0
-35
0
0
0
-22
0
0
-9
16
0
0
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
-13
6
0
0
-6
4
5
14
35
4
2
-13
-18
9
8
-26
-23
16
0
0
20
-22
-12
-1
-11
-21
-9
7
6
40
6
35
-11
6
0
0
10
0
-4
4
0
6
-1
-21
1
-11
0
8
4
-26
0
0
-15
0
-8
2
0
24
2
21
-26
2
-17
-1
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
-8
23
-3
4
1
-4
-6
9
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
-2
-10
-6
0
11
0
1
4
-5
0
0
0
0
0
0
0
0
0
3
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
-19
0
0
0
-8
-25
38
0
0
0
0
0
0
17
0
0
9
0
0
0
14
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
-15
-15
-29
31
7
-46
-6
40
14
18
22
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
1
13
0
40
27
3
27
3
-27
19
-7
40
0
0
0
4
18
-22
7
26
-29
10
20
-28
-11
16
-12
-41
6
0
0
-26
0
14
2
15
-34
2
-14
-2
-19
-13
11
11
-5
0
0
-3
0
1
0
0
4
0
-4
5
0
0
-7
7
-18
0
0
-13
-2
2
-15
29
7
-1
-4
0
-2
-2
18
-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
-26
0
0
11
8
-4
6
-31
-9
-30
-19
-30
7
54
-25
-1
-8
0
0
-40
0
-21
14
-54
-16
7
2
4
63
28
6
-18
-7
0
0
5
0
1
0
-16
-4
-13
3
-12
12
-26
-3
8
22
0
0
0
0
0
0
1
0
-2
0
0
0
2
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
-1
-5
12
3
-7
0
11
0
-2
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
1
20
0
1
0
0
-3
8
0
0
0
0
0
0
0
0
0
-11
0
1
0
0
0
-7
0
0
0
0
0
0
0
0
0
2
0
-3
0
14
0
-27
0
0
0
0
0
0
0
0
0
-10
3
0
0
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-13
3
-31
-67
-24
10
-3
37
10
10
-11
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
3
15
-9
-10
2
0
3
8
-32
2
21
-11
18
0
0
-7
-7
-10
-19
-19
11
2
-28
-20
-24
-14
-17
-44
7
0
0
-10
0
-15
-14
-35
-13
-9
-11
1
-22
10
-10
24
-40
0
0
4
0
0
4
-16
-15
0
-5
7
0
4
13
0
-21
0
0
-1
0
0
0
-17
0
0
13
3
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-25
-28
47
3
-9
-1
-10
-25
8
52
-1
0
0
23
16
12
16
8
-33
-6
-11
12
-27
26
-49
11
3
0
0
11
0
0
0
-5
-16
-26
-7
-10
3
27
-5
-12
3
0
0
52
0
0
0
-37
10
2
10
1
0
0
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
4
-22
10
21
16
-7
2
-6
-2
30
0
0
0
0
0
0
0
0
-3
-3
0
0
0
-14
0
6
0
0
0
0
0
0
0
0
0
5
0
0
0
9
0
1
0
0
0
0
0
0
0
0
0
6
6
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
-11
0
3
0
-10
0
3
0
0
-4
0
0
0
0
0
0
2
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
-1
0
-13
-25
0
-6
-4
10
-8
-14
-30
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
22
0
-11
-2
7
-1
3
-4
-6
33
8
-21
-19
-9
0
0
-21
0
1
-2
-4
8
-1
-13
-10
0
0
-28
-1
-13
0
0
59
0
0
-1
14
-38
18
-12
8
-1
11
-15
-11
14
0
0
1
0
0
0
0
-7
1
-20
3
0
0
8
0
0
0
0
-69
0
0
0
5
0
4
19
-28
4
0
10
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-35
1
35
6
-11
-1
-1
-12
32
0
0
21
7
-4
-2
-22
6
-7
12
1
13
0
6
-7
9
0
0
0
5
0
0
-4
-4
-2
-7
2
10
4
-3
-11
6
0
0
0
9
0
0
-13
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
-7
-1
0
13
0
14
-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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
5
5
0
0
8
0
-2
-1
-2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
-8
-1
0
-9
-5
0
-5
-20
-3
0
-2
8
-13
0
0
0
25
0
0
12
-5
0
0
12
-3
0
-10
12
-8
0
0
0
-5
10
0
-9
-1
0
14
-2
0
-2
0
2
7
0
0
0
8
0
0
0
-1
0
4
0
0
0
0
0
-1
0
0
-9
2
0
0
13
0
0
0
4
-3
0
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
8
16
12
-11
-4
2
0
-3
-12
-5
0
0
-1
2
5
2
33
-1
-9
-40
4
-5
-4
2
5
-20
0
0
0
0
-17
0
0
-16
0
0
-2
0
0
5
0
22
0
0
0
0
-16
0
-3
0
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
11
-2
-27
0
0
0
22
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
2
0
0
0
3
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
-11
0
4
13
0
0
-18
0
0
-28
6
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
9
0
-17
37
0
-16
-19
-5
0
9
17
-22
0
0
0
0
0
0
-2
21
-11
29
2
-1
0
5
0
-44
0
0
1
0
-14
0
1
3
11
-5
15
0
0
2
3
1
0
0
0
0
-2
0
0
-8
0
0
0
0
0
0
0
3
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
29
-9
2
-6
0
2
14
14
-15
0
0
25
0
0
14
-9
-18
5
9
-13
4
17
-13
-41
21
0
0
0
0
0
17
-2
21
0
26
-1
0
0
1
1
-1
0
0
0
0
0
-11
-11
0
0
-2
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-22
1
0
-6
-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
-1
0
0
0
0
0
0
0
0
0
0
0
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
25
0
-12
-1
0
35
-3
-1
-5
-20
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
14
10
-13
-2
2
-41
6
10
-5
-13
36
0
0
0
0
0
20
-17
1
-27
25
30
0
0
7
-6
21
0
0
-2
0
0
14
4
-25
-1
3
-24
-7
0
0
-2
11
0
0
-4
0
0
3
0
-28
0
0
1
0
0
-2
0
-22
0
0
0
0
0
8
-1
0
0
21
3
2
0
3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-58
8
9
-29
19
-10
-9
-12
-25
0
0
-5
10
-35
10
1
-44
-2
5
16
-16
17
-8
-7
27
0
0
-4
0
0
21
15
-30
-18
-8
-19
2
-21
-29
0
3
0
0
51
-3
3
-9
55
-2
9
-18
1
-25
4
1
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
-47
-7
-8
22
-1
3
-5
-11
2
0
0
0
0
0
0
-37
1
-21
23
3
0
0
12
0
9
0
0
0
0
0
0
-25
0
1
1
0
35
-1
-3
0
28
0
0
0
0
0
0
16
0
2
-22
-2
-6
4
-28
-1
7
0
0
0
0
0
0
15
-11
0
27
-11
-8
0
-18
0
-35
0
0
0
0
0
0
5
0
0
2
41
34
0
39
-5
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
7
5
30
-33
20
-10
6
5
5
-24
10
-15
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-7
14
-22
-16
-3
4
-20
-6
10
24
-14
22
2
0
0
-31
18
7
-12
-30
2
-5
31
-29
-15
6
-4
-7
36
0
0
-1
-34
-48
0
-17
-13
-12
-16
-7
-9
-7
-43
-11
-9
0
0
-7
0
0
0
0
2
-12
-14
-9
8
0
4
0
-59
0
0
-18
4
3
18
-9
-23
9
13
-19
35
5
1
-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
-9
4
-3
-38
17
-4
11
-4
10
0
0
16
20
-8
-6
8
-6
5
-31
44
14
-1
-34
-7
-16
0
0
-12
3
-40
-27
8
-19
-7
-14
-8
57
-50
-30
7
24
0
0
28
0
12
2
41
33
-1
-10
46
4
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
0
0
0
0
0
0
0
-7
-6
-17
-17
5
-7
-26
5
16
15
0
0
0
0
0
0
-5
-44
-25
-16
12
1
0
27
-1
-8
0
0
0
0
0
0
7
-5
-48
0
-2
-3
-28
3
26
-13
0
0
0
0
0
0
-7
-19
7
28
21
1
-7
-45
4
-16
0
0
1
0
0
0
-6
-2
0
4
-8
-8
29
-34
-3
-7
0
0
0
0
0
0
-9
20
0
7
48
3
-2
-27
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-31
-16
-1
-5
-11
9
4
11
-31
-19
-44
26
10
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-15
-20
-5
50
19
30
-24
11
29
-16
-10
20
-60
0
0
55
16
5
-14
26
13
-27
-9
1
-16
15
41
-10
-3
0
0
-13
8
-48
-10
-15
15
34
-48
57
-23
19
-38
-6
15
0
0
16
0
-11
-8
21
-25
3
-19
-39
-11
16
-37
-10
11
0
0
32
0
7
0
-22
1
-12
-20
27
-7
8
-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
-11
24
20
8
0
41
-20
-21
0
0
-16
9
-13
-3
-5
-37
-2
19
22
1
10
1
11
-11
0
0
10
0
0
0
-9
-1
28
-4
0
4
-11
31
0
15
0
0
4
0
0
0
33
-19
24
2
1
1
-1
8
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
3
-4
24
19
-1
0
-9
3
-22
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
-18
0
0
0
0
-4
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-4
0
4
0
0
0
-11
0
10
0
0
0
0
0
0
0
0
0
-26
4
0
0
12
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
6
0
4
-20
-2
-28
3
3
-14
22
-34
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
14
-26
8
44
-26
33
24
-1
9
3
16
-18
-2
0
0
-10
0
0
1
17
-19
-16
-4
29
-3
0
45
12
17
0
0
1
0
-4
-1
22
43
11
-22
-10
7
-8
6
-16
42
0
0
8
0
0
0
3
-25
11
1
-11
0
0
12
0
-16
0
0
1
0
-1
0
15
2
0
-10
-38
-5
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
-20
-8
-23
7
16
5
-19
0
0
40
9
-4
-27
-9
-7
-14
-4
12
-13
30
8
-15
-11
0
0
8
8
-5
2
-7
35
-2
-14
-14
-11
-20
-9
16
15
0
0
7
0
-1
0
-46
-13
-24
6
30
7
36
-19
-24
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
27
-23
-36
-6
4
2
-17
2
0
0
0
0
0
0
0
0
0
6
3
0
-4
0
6
2
-8
0
0
0
0
0
0
2
0
3
-8
0
-9
-3
14
-9
7
0
0
0
0
0
0
-6
0
-8
11
-6
2
0
23
17
6
0
0
0
0
0
0
0
0
0
18
4
10
-6
-5
2
10
0
0
0
0
0
0
1
0
0
8
5
0
3
3
21
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
19
-8
9
-8
-20
-3
54
-30
-31
-13
2
2
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-29
-2
13
2
-15
17
5
22
-5
0
-21
-18
-9
-3
0
0
2
-3
-2
2
23
-30
-16
-12
-36
1
-2
5
-4
25
0
0
-38
4
-48
-9
-6
-26
3
9
-13
5
-26
-9
8
-11
0
0
28
0
1
-23
-4
-4
-17
8
4
-3
6
-17
-13
-28
0
0
15
-4
7
10
38
-19
6
-2
0
-36
-36
-24
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
17
27
-9
-14
41
-12
0
0
5
-4
14
-5
3
-17
-17
34
12
33
-29
44
-21
-25
0
0
-23
0
0
-11
0
28
1
51
9
-10
-24
34
1
27
0
0
3
0
0
0
-25
-2
6
47
-12
11
-21
36
-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
20
-34
-1
5
6
8
-17
4
6
0
0
0
0
0
0
0
0
0
-7
-7
0
0
0
9
0
0
0
0
0
0
0
0
0
0
-2
1
0
0
0
-27
7
2
0
0
0
0
0
0
0
-3
0
4
0
0
0
13
1
4
0
0
0
0
0
0
0
6
0
37
11
0
0
4
13
21
0
0
0
0
0
0
16
0
0
-1
6
0
0
-11
-14
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
0
13
5
-2
7
3
18
-7
2
13
28
3
30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-8
0
-16
-10
-9
9
5
37
44
8
40
-5
29
0
0
-6
-8
8
-26
-8
-8
14
24
37
7
21
3
-72
-19
0
0
4
-1
4
-3
41
-7
-10
-13
-39
48
-20
35
-2
-12
0
0
-13
0
1
6
20
61
13
21
-30
3
2
-6
16
-10
0
0
-5
6
2
-12
49
1
17
13
-16
32
-11
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
4
-24
-25
2
3
0
0
11
15
26
-7
-20
0
7
14
33
9
-4
1
-67
27
0
0
-3
0
0
-5
7
13
27
13
10
0
-3
-8
-1
9
0
0
3
0
0
0
24
-22
18
-11
3
0
-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
-5
-28
28
-21
9
-10
-1
23
-8
-19
0
0
0
0
0
0
0
0
0
3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
5
-1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-3
0
-1
20
0
18
0
0
0
0
0
0
0
0
0
49
1
0
0
7
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
19
5
2
8
3
9
14
-13
-2
9
24
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-1
0
10
4
31
-14
-17
12
5
-3
22
-5
-60
0
0
-1
0
-2
2
-5
35
-9
-18
2
1
0
50
-1
-13
0
0
24
0
-7
8
19
8
-1
21
-22
-10
-1
25
-9
7
0
0
0
0
0
0
5
1
0
-8
-7
0
0
39
-1
-6
0
0
3
3
0
0
-10
-7
0
24
-6
16
0
-22
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
28
-40
23
0
0
0
-1
13
-1
-3
6
-6
-2
-21
0
3
20
11
-5
0
0
11
0
0
9
-7
32
2
39
-5
0
0
24
-4
13
0
0
-3
0
0
0
-17
-9
0
2
-3
0
15
-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
1
0
-10
25
-13
1
0
-14
-1
17
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-21
0
5
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
0
-10
-14
0
15
55
-1
-1
29
38
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-8
11
-12
43
0
5
-11
-13
1
-3
0
-13
0
0
-23
0
0
-4
23
26
9
-22
-22
7
0
7
10
15
0
0
-37
0
2
-4
-6
-36
0
-4
-2
-1
0
7
-26
27
0
0
0
0
0
0
0
-2
0
-35
3
0
0
26
0
-6
0
0
9
0
0
0
-6
-3
0
7
-3
9
30
-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
5
-1
0
0
0
-5
-40
-29
-32
-10
0
39
-14
-4
1
0
23
23
-47
0
0
46
-16
-12
6
45
-14
-13
-20
-7
-15
-6
0
13
-11
0
0
-3
0
-4
-4
9
16
7
2
30
-2
9
30
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
18
-2
-44
2
-48
51
-1
-25
19
28
0
0
0
0
0
0
0
8
-25
-38
1
0
2
-23
-8
25
0
0
0
0
0
0
4
8
0
-41
0
4
0
-40
6
-24
0
0
0
0
0
0
-7
0
0
11
9
-3
0
8
27
-7
0
0
0
0
0
0
1
12
0
8
-12
-20
13
69
-16
-16
0
0
4
0
0
0
-1
0
0
-14
20
10
1
-18
32
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-15
21
12
12
-27
37
-2
15
23
14
0
15
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
24
14
43
11
7
4
7
-9
46
-44
15
22
-33
0
0
13
-3
-26
22
-21
16
14
42
30
-40
29
-22
-4
-2
0
0
-30
1
-20
15
-29
-17
-9
-23
-66
-8
17
15
-45
10
0
0
-29
1
17
6
-4
-29
-37
5
-29
3
-4
20
10
4
0
0
3
-24
-1
-1
2
2
17
6
24
11
2
2
43
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
14
0
0
-42
-15
-20
-29
-22
-8
25
-23
-40
0
-71
-41
-21
-24
0
0
12
0
3
-16
0
-19
-2
-10
6
-20
-14
12
52
-4
0
0
3
1
0
-6
-24
-32
22
5
-5
13
19
-19
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
-10
12
3
-12
57
-18
-17
19
-9
-50
0
0
0
0
0
0
0
0
11
4
-12
0
0
13
-13
10
0
0
0
0
0
0
0
2
1
-2
6
2
0
11
2
4
0
0
0
0
0
0
0
0
1
-6
0
0
0
3
-27
15
0
0
0
0
0
0
0
9
0
-13
4
12
0
19
5
6
0
0
0
0
0
0
7
0
0
4
-31
2
0
29
19
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
3
-5
-14
-29
-25
-4
3
26
-16
32
5
11
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
-25
2
-15
-31
-6
4
11
31
45
26
-4
3
7
0
0
-15
5
-14
-10
-6
-34
4
3
-17
-1
-3
-54
18
-14
0
0
28
16
-34
9
22
3
-19
0
-2
11
5
13
36
-9
0
0
9
0
0
4
0
-1
-6
-19
-13
1
1
-11
7
-20
0
0
4
-7
3
-9
-4
-27
17
41
-17
1
1
-20
-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
-12
0
0
45
15
19
-22
19
39
14
10
-35
35
23
14
-27
5
0
0
-42
-7
-13
-21
-6
-3
16
-4
-37
7
-26
15
7
26
0
0
-17
0
0
-1
11
0
-18
-31
4
0
35
-20
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
-8
2
-24
-10
13
5
-21
-6
9
-29
0
0
0
0
0
0
-2
0
9
5
1
0
0
0
-9
-16
0
0
0
0
0
0
2
0
-3
-23
-1
-11
0
1
-2
-25
0
0
0
0
0
0
-4
0
8
17
-1
-4
0
-9
-3
-17
0
0
0
0
0
0
6
0
0
13
-23
41
12
28
21
-16
0
0
0
0
0
0
-5
0
0
0
-9
0
0
25
5
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
-5
-25
8
0
-67
24
-26
-10
12
-49
-21
12
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
-12
-18
-20
34
9
-31
16
3
-62
20
-7
-14
16
0
0
0
-1
-5
-6
5
-6
2
24
-6
-22
-16
4
-22
-17
0
0
-35
-10
-12
-1
27
33
-42
31
-3
24
-2
-5
0
-9
0
0
-11
0
-2
-7
3
10
5
-26
-7
-14
-3
8
14
42
0
0
-4
4
3
-2
15
0
-10
-7
7
-3
-17
-18
33
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
15
0
4
20
-28
7
32
-5
-1
-8
4
-3
0
0
13
0
0
0
-6
-2
-2
-11
-14
-4
-8
21
16
10
0
0
61
0
0
0
-6
62
35
4
-16
-8
-3
-16
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
-19
-17
2
26
-3
11
-25
-35
-10
22
0
0
0
0
0
0
0
0
14
-14
0
0
0
-12
2
-12
0
0
0
0
0
0
6
0
-3
-12
1
1
-2
13
10
-13
0
0
0
0
0
0
0
0
0
20
2
0
0
-9
-17
0
0
0
0
0
0
0
0
-15
0
11
-12
2
-1
75
2
28
0
0
0
0
0
0
-1
0
0
5
1
0
0
1
-12
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
53
0
0
0
-21
18
0
43
37
-4
-1
16
-3
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
-4
-13
9
-12
20
8
12
0
20
3
-49
-16
-3
0
0
16
-3
-38
-1
11
-23
-20
-26
-53
1
-2
-21
10
-42
0
0
55
0
0
0
-8
5
11
2
-3
17
7
20
-20
8
0
0
-3
0
0
0
0
-10
6
15
-1
0
0
55
1
22
0
0
34
4
0
0
-8
12
-1
18
-3
10
-11
12
-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
-19
0
0
3
-47
0
0
16
-1
-12
8
-14
-7
0
0
0
23
0
0
0
-10
0
0
0
0
0
-1
0
7
0
0
0
13
0
0
12
-3
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-2
-19
0
0
-4
7
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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
49
0
0
-1
-2
0
0
0
0
0
-5
17
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
2
9
0
-11
20
0
0
2
17
-3
0
0
10
48
0
0
-12
-13
13
-36
-10
-8
0
-12
-4
29
0
0
0
0
0
0
-2
-10
0
-6
3
2
0
0
-2
4
0
0
0
9
0
0
0
-1
0
2
0
0
0
-2
0
-10
0
0
0
23
0
0
0
0
0
0
17
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
30
0
4
15
14
9
-10
12
-10
-3
14
19
0
0
0
0
26
0
-1
11
27
-14
-3
0
-4
8
-16
4
0
0
0
0
-2
0
-9
-14
3
-19
7
0
-2
-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
-40
14
0
22
-1
10
2
17
5
7
0
0
0
0
0
0
0
0
-2
-2
-2
0
0
18
0
7
0
0
0
0
0
0
0
0
0
-18
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
17
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
3
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
41
0
32
9
0
6
1
7
-8
-7
-30
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
-1
-41
-9
23
-32
0
28
-36
20
1
-10
-38
-18
0
0
7
0
33
-10
-8
-7
10
29
5
3
0
18
-21
2
0
0
6
0
-12
0
-19
-11
25
42
-19
-3
-7
2
-1
-18
0
0
0
0
-7
0
0
-16
0
-13
0
0
0
0
0
0
0
0
-10
0
15
0
-4
0
0
-1
45
0
0
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
43
0
-33
0
-23
-6
0
-3
0
1
-51
0
0
1
0
0
31
4
-7
0
-1
-1
0
0
0
0
22
0
0
6
0
0
32
-7
-2
0
19
-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
1
0
1
-1
12
-19
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
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
18
0
5
0
6
6
0
-2
7
-21
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-1
-1
-23
21
18
0
11
11
3
0
3
9
6
0
0
12
0
0
31
19
-16
6
24
33
-3
0
-3
-18
44
0
0
0
0
0
-6
0
1
0
0
-1
1
0
0
0
-1
0
0
0
0
0
-11
0
0
0
12
0
0
0
-5
0
-4
0
0
0
0
0
-9
0
0
0
0
9
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
0
0
0
0
0
0
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
-16
-17
-15
33
17
-1
-7
0
0
0
0
-2
0
42
3
12
-26
-38
20
-4
-17
0
-23
0
0
24
0
11
3
54
-54
-25
-17
22
-3
-3
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
31
-9
13
-3
-5
17
-12
-7
0
-31
0
0
0
0
0
0
-12
0
-6
-27
1
0
-1
-30
0
-4
0
0
0
0
0
0
12
0
-8
-5
-13
15
-4
3
1
11
0
0
0
0
0
0
0
0
0
-19
4
5
-8
2
-3
-4
0
0
0
0
0
0
12
-13
0
-20
10
-11
0
15
0
12
0
0
0
0
0
0
22
0
0
17
17
-7
1
-13
7
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
5
-3
-6
16
14
-3
-13
2
-21
-1
-38
23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
37
-1
-2
24
-33
3
-16
3
2
1
12
-7
-15
0
0
17
-18
-2
8
-21
16
-4
-28
9
31
-33
-7
7
5
0
0
38
5
2
-2
27
2
-15
-36
43
-27
4
8
9
-15
0
0
0
0
0
0
0
10
-3
6
-21
2
0
-4
0
2
0
0
-34
11
3
8
20
-22
0
-1
-38
26
10
-26
-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
5
-38
-10
-13
-44
19
-12
-7
-18
0
0
-32
-17
-13
35
17
33
-9
4
-7
-7
-9
-12
21
-29
0
0
-25
3
-1
-2
6
34
17
-12
15
47
-14
2
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
-18
-6
-5
-18
-16
15
-15
35
13
0
0
0
0
0
0
0
5
1
-8
17
-1
0
-3
-7
-4
0
0
0
0
0
0
14
17
-54
-7
-2
-17
-2
58
-9
3
0
0
0
0
0
0
-9
1
10
7
0
1
-2
0
-9
0
0
0
-4
0
0
0
0
3
0
-7
-35
3
1
10
1
-36
0
0
0
0
0
0
2
-3
0
-21
7
15
3
-35
42
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
-4
-5
-5
21
-18
-5
-8
-10
20
47
41
-25
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-35
-18
4
3
-10
-17
19
22
12
-19
-22
-4
-53
0
0
-8
-31
-2
-12
-28
-11
-2
-12
-5
-27
-7
-4
-2
-42
0
0
-7
-1
15
4
-12
32
-22
0
-20
25
5
-16
-11
5
0
0
2
-6
-1
2
-21
0
-4
-13
-6
-1
-3
41
-10
-22
0
0
1
0
0
0
-11
-16
-3
22
0
19
-2
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
-5
48
14
5
20
4
11
21
0
0
-3
0
0
0
6
31
-32
33
-1
8
9
20
0
3
0
0
-3
0
0
0
1
3
43
-3
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
17
-8
0
0
0
12
4
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
-1
-3
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
4
-8
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
7
0
-12
-2
1
-4
-31
6
47
44
6
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
18
4
10
5
36
-4
10
6
0
-5
-2
6
6
6
0
0
42
0
2
-14
-31
-13
-3
2
-3
-16
1
8
-7
29
0
0
-5
0
0
0
8
22
0
0
39
20
16
1
2
5
0
0
0
0
0
0
-3
-10
0
-2
0
0
0
34
0
32
0
0
8
0
0
0
9
8
1
15
19
-1
-1
39
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
32
-1
15
-20
-9
-13
12
0
0
8
0
11
4
4
11
-14
23
-10
25
-20
60
26
54
0
0
-20
2
0
-6
-1
-10
19
33
18
7
7
-20
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
15
33
45
-12
40
-56
5
-4
7
47
0
0
0
0
0
0
0
-1
-7
-18
0
0
1
-27
-5
8
0
0
0
0
0
0
6
-6
-14
-2
1
-5
8
26
39
5
0
0
0
0
0
0
0
1
0
16
0
-6
0
-15
-4
34
0
0
0
0
0
0
0
7
0
45
18
-10
-10
1
4
12
0
0
0
0
0
0
-7
0
0
5
-1
0
0
15
-10
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
4
-19
-4
-13
6
13
7
10
-4
-11
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
26
-7
-23
12
0
6
-16
-4
-25
10
-15
-5
-10
0
0
-20
-8
-27
-18
8
-19
-30
3
42
-11
-27
16
2
-52
0
0
-18
3
15
-7
13
-4
-7
-36
-7
10
-22
21
-16
-23
0
0
1
-3
-4
22
21
12
8
48
22
-2
1
12
-5
24
0
0
-24
0
9
2
56
-12
13
31
61
24
-17
-25
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
-2
-1
45
-33
21
-9
0
0
22
0
-2
6
-7
-6
13
5
-4
-6
-10
61
3
-7
0
0
-8
0
0
0
-25
2
9
28
2
0
-2
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
15
-2
8
10
-1
-19
8
32
-6
-18
0
0
0
0
0
0
0
0
2
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
-13
0
11
-9
-4
0
-2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
9
0
0
0
4
0
1
0
0
0
0
0
0
-8
0
0
26
-3
0
0
-7
16
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-1
0
-27
47
-1
22
-12
10
30
23
7
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
16
-10
-3
-27
17
3
-8
34
-15
-8
7
-7
-24
0
0
33
16
17
-8
21
4
2
24
-25
-11
-8
15
16
-7
0
0
8
0
-2
0
27
2
-7
-12
-22
3
7
-8
37
-2
0
0
-3
0
0
0
3
-24
-1
-13
-7
0
-3
40
0
-6
0
0
-7
0
10
0
-5
-11
-1
-7
-8
0
-1
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-25
-9
0
0
0
0
0
0
-13
-16
-1
-12
0
0
11
-16
0
-8
0
0
0
0
0
0
-11
-1
2
-5
0
0
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
-11
36
15
13
-1
21
-2
0
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
-9
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
-3
0
28
0
0
0
17
0
10
0
0
0
0
0
0
-3
0
0
30
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-5
0
-24
-32
0
11
-8
-7
0
-4
-18
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
6
-16
24
5
-1
6
-16
3
0
4
-2
18
0
0
-6
17
-1
0
6
0
2
22
-7
-2
0
9
-4
-18
0
0
-12
0
0
0
13
-5
0
20
15
15
-9
0
-2
-16
0
0
0
0
0
0
0
-2
0
38
-2
0
0
-1
0
-10
0
0
-1
0
0
0
19
0
0
-13
-17
0
0
7
41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
-27
0
0
-28
0
9
-7
5
-6
-9
-15
-8
19
89
0
2
12
0
0
-2
0
1
0
18
-22
8
-14
-15
-19
14
-19
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
20
-15
21
-36
-1
-18
12
25
-12
33
0
0
0
0
0
0
0
0
-4
24
0
-9
0
-12
0
0
0
0
0
0
0
0
0
-2
-6
-17
0
-1
-1
12
-1
-8
0
0
0
0
0
0
-8
0
0
-3
0
0
0
-2
0
-8
0
0
0
0
0
0
0
-1
0
-20
0
7
3
16
12
10
0
0
0
0
0
0
4
0
0
0
-6
0
-13
-7
-14
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
-8
-1
-47
24
25
9
-7
12
24
40
-33
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
17
1
21
16
-9
-10
-21
-20
40
4
47
47
-7
-21
0
0
-29
2
1
-18
42
-49
2
-16
-20
-7
18
18
14
7
0
0
-6
0
-3
0
-30
4
5
-7
8
-10
-4
1
-11
0
0
0
-9
0
0
0
2
23
-9
23
19
9
9
19
2
25
0
0
27
0
1
0
26
-5
20
30
-19
5
-22
9
-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
-2
-9
-12
0
0
29
0
0
0
-14
-48
-8
-39
5
-7
6
11
-18
2
0
0
55
0
0
0
-30
-16
26
-15
-22
0
22
-17
-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
5
-14
16
19
-4
-9
21
12
5
-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
2
-19
0
4
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
9
0
27
0
0
0
12
0
0
0
0
0
0
0
0
17
0
0
31
1
0
0
25
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
19
0
-4
17
0
8
18
5
5
18
20
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
37
0
11
-24
11
8
-4
18
-61
0
17
4
34
13
0
0
-10
-5
1
5
11
-38
37
-9
-8
3
2
-14
12
-21
0
0
-11
0
-1
0
1
-5
0
49
14
-2
-2
16
27
43
0
0
-7
0
0
0
-13
22
0
22
-10
0
1
24
0
21
0
0
17
0
0
0
-14
13
4
5
5
4
0
-2
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
-5
0
0
-54
-4
12
-42
0
-5
-4
-6
0
13
-24
18
21
-14
0
0
6
-13
-37
-13
-12
-30
-39
8
-12
-12
2
-6
29
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
26
49
-17
-20
8
4
-6
33
-40
0
0
0
0
0
0
0
11
16
-1
7
-2
0
16
5
7
0
0
0
0
0
0
0
9
13
-35
-18
-7
21
-6
42
-15
0
0
0
0
0
0
0
0
0
-24
-1
1
0
6
17
-7
0
0
0
0
0
0
0
10
0
-1
22
-3
0
0
4
-4
0
0
0
0
0
0
1
-4
0
9
18
4
1
-14
-27
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-32
-11
-16
8
-5
22
-8
13
-3
-27
5
-1
29
-41
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
24
-1
17
-1
16
8
-8
3
12
-22
8
31
6
-22
0
0
39
-11
-16
19
-28
20
-5
14
29
22
-9
10
-12
-26
0
0
18
1
16
3
1
-35
-11
-50
33
-11
-1
-27
-27
-10
0
0
-10
0
1
-41
0
21
24
-14
-23
2
-12
-24
6
-11
0
0
-7
-4
-18
-12
-3
-6
-4
-9
1
-5
17
-39
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
0
-36
0
32
10
5
3
-9
13
-17
-11
-28
8
20
15
0
0
-41
0
9
-23
-28
0
10
21
0
-3
-13
9
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
36
-10
-24
55
-22
-19
-6
-20
-12
4
0
0
0
0
0
0
0
0
1
-6
0
2
-2
-7
2
-16
0
0
0
0
0
0
0
0
-32
6
0
-10
5
7
-27
-10
0
0
0
0
0
0
-7
0
0
0
0
12
0
-6
-34
12
0
0
0
0
0
0
2
7
0
-45
7
8
-9
-7
-13
3
0
0
0
0
0
0
-9
0
0
25
-2
0
0
8
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
6
-20
-6
-19
-7
-7
-2
16
7
-45
-30
-19
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
22
-7
-6
-6
-30
-1
18
4
32
-7
-11
-19
2
0
0
-54
-16
23
-10
33
-3
-18
-45
4
-15
1
16
29
9
0
0
4
17
-21
-9
0
44
33
-10
39
-36
-11
4
-78
5
0
0
-30
0
13
3
15
-17
16
-4
-16
-7
17
-27
14
17
0
0
22
1
-5
-1
-3
0
-9
-7
-5
-3
11
-19
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-19
0
-2
0
-2
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
-4
3
0
12
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
-2
-38
0
10
-21
-4
0
-10
8
-3
0
0
25
0
0
0
1
11
2
44
-3
0
0
-25
-7
24
0
0
21
0
0
0
0
0
0
4
24
0
0
22
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
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
18
0
-2
-2
0
0
0
-3
-42
0
0
0
0
-3
0
0
-7
0
0
0
0
0
11
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-7
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
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
3
-3
0
-7
-3
2
0
0
-5
-21
0
0
1
0
0
-32
0
13
0
7
21
0
0
1
0
-24
0
0
0
0
0
-9
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
51
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
-18
-5
-2
0
8
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
5
0
0
-2
-2
5
-1
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
5
0
-4
11
-29
0
-4
-3
-1
0
-15
0
-17
0
0
9
0
0
0
-41
-19
-6
-13
-17
0
0
6
0
-11
0
0
0
0
0
0
12
-5
0
-2
-15
0
-1
0
0
-35
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
-1
-23
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
32
-20
6
-10
1
-10
-21
0
13
0
0
-5
0
0
0
2
22
0
-34
4
1
-8
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
-7
8
-40
-2
24
2
25
-20
-21
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
6
8
-8
0
-2
-1
-5
0
10
0
0
0
0
0
0
0
0
1
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
5
0
2
9
0
0
-6
0
4
0
0
0
0
0
0
0
0
0
7
0
0
0
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
1
0
-4
30
-6
-3
-29
-26
-19
-5
10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
45
-1
-13
10
-27
-20
8
-6
11
-2
-2
-17
18
-17
0
0
37
-6
1
-8
6
26
16
-21
-25
-9
0
-10
-24
6
0
0
33
0
0
3
-7
18
-4
-9
30
-6
-29
7
-3
-12
0
0
0
0
0
0
0
-16
0
2
0
0
0
1
0
0
0
0
0
0
0
0
0
-29
-2
-6
47
-5
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
0
0
0
0
0
0
2
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
0
0
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
2
0
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
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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
1
0
-4
1
10
6
4
0
1
-4
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
2
0
-10
-21
-5
8
-1
-3
0
9
5
-16
0
0
-2
0
0
0
19
-7
16
3
-9
12
0
25
2
-26
0
0
0
0
0
0
0
35
0
-6
-6
0
0
2
0
7
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
1
0
0
0
0
2
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
4
0
-8
0
0
-1
0
0
0
-15
5
-10
-26
8
0
0
-22
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
2
-32
0
15
0
17
6
26
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-13
0
0
0
7
0
0
0
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
-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
5
0
3
0
-4
14
0
16
6
2
-7
-10
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
23
0
0
-6
16
-4
0
-4
10
11
9
-20
12
-7
0
0
-16
0
1
-23
-5
-64
25
-11
15
-27
0
-1
13
8
0
0
-10
0
-2
0
-12
16
0
7
7
-5
0
29
-6
11
0
0
0
0
0
0
0
2
0
14
0
0
0
0
0
0
0
0
2
0
0
0
-3
10
0
-6
-15
0
10
-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
-9
0
0
0
0
0
0
-2
-24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-11
0
0
0
0
0
11
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-9
0
-10
33
0
13
-1
-4
0
-7
-13
-13
0
0
-5
0
0
6
-16
11
1
-14
9
0
0
4
-4
5
0
0
0
0
0
0
0
-10
0
29
-11
0
0
0
0
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
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
0
0
15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
3
0
0
0
0
-24
0
0
-7
0
0
0
-11
-4
22
0
-3
0
0
18
0
-17
0
0
0
0
0
0
0
6
0
-2
-1
0
4
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
-2
0
0
0
0
-38
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-22
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
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
6
0
-19
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
1
0
0
-57
-10
0
-17
2
25
6
-6
28
-42
0
0
10
0
0
0
0
-39
8
13
-10
-2
-1
5
0
-22
0
0
1
0
0
0
0
10
0
-1
0
1
5
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
2
0
-31
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
27
0
-27
0
0
0
0
0
0
4
-2
5
-10
-15
0
0
19
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
-3
-37
0
0
0
16
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
33
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
9
4
0
6
17
0
0
22
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
6
4
22
31
0
57
-41
13
-1
10
6
-11
0
0
10
0
-3
1
14
-60
-15
35
36
6
8
3
-3
26
0
0
9
0
0
0
-4
-41
0
-8
-2
2
37
-26
-10
1
0
0
0
0
0
0
0
0
0
4
0
0
0
-15
0
0
0
0
2
0
0
0
-3
-2
0
32
-16
-4
0
45
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
6
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
14
-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
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
14
0
0
0
0
0
-7
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
0
0
-5
0
1
-7
0
0
0
4
-32
0
0
-13
0
0
-1
0
-1
0
7
-21
0
0
19
5
33
0
0
7
0
0
0
0
0
0
-7
-7
0
-2
11
2
-7
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
0
0
-2
6
6
-1
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
30
-19
8
0
-24
42
-41
-6
0
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
7
6
0
7
1
-24
7
-10
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
-1
0
8
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
6
0
4
-3
-7
-15
0
21
-6
5
23
-46
-8
-29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-1
-3
41
67
-5
-2
0
13
1
-10
11
-30
18
0
0
-44
3
-9
-16
-4
-15
13
-26
-11
-12
-37
24
8
-6
0
0
0
0
-1
8
-15
9
-8
9
55
-8
-25
44
-1
9
0
0
1
0
0
0
0
0
0
1
0
0
0
1
0
-17
0
0
7
0
-2
2
20
0
0
9
4
16
-15
16
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
12
-1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
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
7
0
0
0
-3
-16
0
-1
-25
-2
0
9
15
0
0
0
2
0
0
0
1
27
-13
33
-15
0
0
-25
-14
-14
0
0
43
0
0
0
10
0
0
-12
-30
0
0
0
0
13
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
0
0
0
0
0
0
0
0
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
-38
0
0
3
0
0
0
6
0
0
0
0
0
8
0
1
-6
0
-3
2
0
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
2
10
50
0
0
0
0
0
0
-4
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-10
-17
3
4
21
-10
17
0
0
0
0
0
0
10
0
0
0
0
0
0
-2
0
4
0
0
0
0
0
0
0
0
1
20
0
0
0
-14
0
-3
0
0
0
0
0
0
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
20
0
2
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
4
2
0
-15
20
2
-7
11
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
2
0
-11
-23
-46
0
-13
-8
-14
18
-11
-5
-22
0
0
-4
-3
0
0
-10
3
-27
4
-27
10
-4
-15
12
-36
0
0
1
0
0
0
12
-8
0
7
-34
14
21
13
1
7
0
0
0
0
0
0
33
0
0
10
0
0
0
16
0
1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
-5
0
4
0
18
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
67
0
2
-7
0
0
-39
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-2
0
-15
3
0
-61
-35
-15
0
0
-12
0
0
0
1
-1
0
0
17
-17
-15
-1
-7
-4
-1
-47
-9
0
0
0
14
0
-11
0
0
40
-2
-51
9
-1
4
5
-1
0
0
0
0
0
0
0
0
8
0
7
-2
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
10
0
0
0
-1
3
0
0
-5
0
0
3
44
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
2
19
0
-5
0
-1
0
11
33
12
0
0
-3
0
0
0
20
9
27
-20
-5
2
0
11
9
28
0
0
-2
0
0
0
15
-2
0
9
1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-14
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
6
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
0
0
0
0
7
4
0
-5
2
0
0
0
33
12
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
44
-18
0
0
12
-41
-20
0
0
-7
0
0
-9
11
-30
4
9
9
-9
1
14
5
6
0
0
2
0
-1
0
22
-2
0
42
34
1
2
2
7
-4
0
0
0
0
0
0
0
0
0
38
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
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
2
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-45
0
0
0
-1
7
0
27
1
-4
0
14
10
-6
0
0
-1
0
0
0
43
24
-1
-5
-2
-12
0
7
1
-3
0
0
0
0
0
0
5
0
0
-19
-2
0
0
-1
-9
-6
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
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
2
0
0
3
0
0
0
2
0
0
0
-2
0
0
0
12
0
0
21
0
0
0
-6
0
21
0
0
0
0
0
0
1
0
0
12
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
0
0
0
-7
48
0
9
-1
0
0
-6
8
0
0
0
1
0
0
0
0
17
0
4
-8
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-11
-15
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
36
-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
3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-5
2
0
0
1
-1
-1
30
7
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
-1
0
20
17
0
3
-14
-2
0
-23
4
-16
0
0
-16
0
0
0
-1
5
13
-20
14
10
0
34
0
10
0
0
-4
0
0
0
13
0
0
22
6
0
0
9
1
-4
0
0
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-8
0
2
1
-21
-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
-2
0
2
0
0
0
0
0
0
0
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
0
0
0
-1
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
0
0
0
0
7
0
0
-1
0
28
-1
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-13
-1
-7
18
-18
0
3
16
-12
20
26
-30
4
0
0
-17
0
0
7
-6
37
0
-13
-15
-13
1
-39
20
-7
0
0
-8
0
-4
0
1
-12
1
-9
-3
7
12
16
-12
1
0
0
0
0
0
0
0
0
0
-14
0
0
0
1
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
-12
11
0
0
-10
0
0
0
-9
0
0
-6
-2
0
0
6
-7
3
0
0
0
0
0
0
1
0
0
-3
0
0
0
0
0
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-24
0
0
0
-10
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
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
2
0
0
0
-2
1
1
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
-28
-28
0
0
-5
14
0
3
9
-12
0
0
-14
0
1
0
37
5
-2
-24
23
0
0
-13
1
1
0
0
7
0
0
0
-22
14
-1
7
0
0
-17
0
0
-6
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-4
0
-3
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
-7
-14
1
0
11
-23
-1
0
11
-22
-2
0
0
0
0
-2
11
-1
-65
4
-3
7
5
0
17
-7
2
0
0
2
0
0
0
1
-20
0
0
14
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-11
-10
0
0
-1
-3
12
4
18
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
-6
0
16
2
0
-3
-4
-10
0
-1
17
13
0
0
15
0
3
3
17
-17
0
-44
9
1
0
14
8
27
0
0
-12
0
0
0
-2
-15
0
-12
32
0
3
3
0
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
5
0
0
-4
0
1
0
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
6
0
0
2
6
4
21
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
-1
0
0
0
0
0
0
0
0
0
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
-6
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
-47
4
8
-2
-54
-6
0
14
0
-8
-5
-50
-27
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-23
24
-12
13
12
-10
-16
28
-4
-2
-1
-24
-41
0
0
9
-13
-1
8
-13
-10
40
-27
-12
23
12
-45
12
-11
0
0
10
2
31
-6
-12
18
19
46
29
-5
12
1
-6
-19
0
0
10
0
0
5
-8
5
0
-30
-3
0
0
22
0
10
0
0
8
0
3
0
-6
-24
0
-9
7
0
0
-10
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
13
0
0
0
11
-18
0
0
3
0
0
14
5
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
0
-2
0
66
-2
0
0
3
0
0
-10
-11
3
0
0
-11
0
0
1
2
3
-7
7
0
0
0
16
7
-8
0
0
4
0
0
0
12
-8
0
-1
1
0
1
0
9
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
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
14
0
0
18
-2
-15
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
25
2
0
1
18
0
0
-1
-41
-5
0
0
-9
-4
0
-2
-1
11
12
-10
-2
0
0
-26
1
-25
0
0
10
0
0
0
0
-15
0
22
7
0
-2
0
-5
-3
0
0
1
0
0
0
0
10
0
1
0
0
0
4
0
0
0
0
-8
0
0
0
-2
0
0
0
-1
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
9
-4
0
-1
6
3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-2
-13
2
0
3
-6
0
0
8
16
-14
0
0
-7
2
0
-5
3
18
-4
-9
-1
0
0
7
-8
-8
0
0
0
0
0
0
-1
11
0
8
0
0
0
0
0
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
0
0
1
0
0
-6
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
10
20
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
25
0
-7
0
0
0
54
0
0
0
0
0
0
0
0
10
0
0
-24
0
0
0
0
25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-20
2
-3
1
-9
35
0
22
-26
19
-10
5
-6
-39
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
-5
-2
4
-28
-5
-5
29
9
-1
-2
-12
-10
33
0
0
27
15
18
35
1
-29
-5
-2
21
-38
-1
-32
-10
-2
0
0
-4
-1
2
4
4
17
0
33
-24
12
-51
-12
-1
7
0
0
24
0
0
0
-3
4
0
-2
-12
0
0
-16
0
15
0
0
5
1
3
0
2
3
0
-2
58
-3
0
-15
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
4
0
-9
-23
0
-14
-1
0
3
-4
-12
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-16
-18
0
-15
-6
0
-11
24
10
18
1
23
25
0
0
-10
2
-6
3
11
4
12
3
20
0
0
-24
1
0
0
0
-15
0
0
0
-3
2
0
15
-7
-8
4
0
-16
26
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
0
-2
0
0
8
0
0
0
0
0
0
1
-15
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
-3
0
0
0
0
0
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
8
0
0
0
-20
0
-4
0
0
0
0
0
0
0
0
0
-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
-18
0
2
0
9
0
0
-14
-35
-2
5
-20
-24
-59
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
4
2
4
14
-13
-2
28
9
12
11
12
-14
-28
0
0
8
1
7
-23
-19
6
-32
-13
41
-6
26
-8
-23
13
0
0
-1
1
35
0
25
4
-10
3
-2
-6
0
0
25
-15
0
0
1
0
0
0
0
-8
0
1
0
0
0
-1
0
14
0
0
-2
-1
-1
0
0
0
0
-4
19
3
6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-11
-18
0
-10
-4
0
0
0
-1
-8
0
0
1
0
0
0
-10
1
0
2
0
0
0
0
0
-10
0
0
2
0
0
0
0
2
0
3
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
12
0
-1
0
4
34
0
1
0
0
0
0
7
12
0
0
-2
0
0
-8
2
-4
7
-1
-2
0
0
-4
0
18
0
0
4
0
0
0
2
5
0
3
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-9
4
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-5
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
-2
-5
-20
22
0
-3
8
0
0
1
-8
-16
0
0
24
0
-5
0
-24
-7
-2
3
-13
0
0
-5
7
6
0
0
0
0
0
0
-1
11
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
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
-3
-1
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-1
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
13
-23
0
0
0
0
0
0
-11
3
0
0
-12
0
0
0
-3
0
0
0
0
0
0
-2
0
14
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
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
22
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
-3
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
18
0
0
0
-22
-15
0
-10
0
0
0
7
-5
7
0
0
1
0
0
0
-27
-19
0
-5
-3
0
0
3
0
-3
0
0
0
0
0
0
-7
1
0
0
-6
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-29
0
0
2
0
0
-24
9
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
4
-6
-25
0
8
24
0
0
-13
-23
7
0
0
-3
0
0
0
-18
-47
3
-6
0
0
0
-8
7
-26
0
0
10
0
0
0
-6
-9
-1
8
-3
0
0
1
0
0
0
0
0
0
0
0
0
10
0
1
0
0
0
0
0
-12
0
0
2
0
0
0
-16
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-4
3
0
-1
0
0
0
0
2
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-2
14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-4
3
0
0
0
0
0
-7
-3
-1
0
0
0
0
0
0
-1
-2
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
-1
0
5
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
0
0
0
0
-2
0
-4
24
0
0
4
1
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-3
4
0
-15
-26
0
17
24
0
0
-4
1
26
0
0
-9
0
0
0
24
17
-2
14
3
0
0
16
3
-16
0
0
-5
0
0
0
-19
-2
0
6
18
0
0
0
-1
-17
0
0
0
0
0
0
0
-4
0
0
0
0
0
4
0
0
0
0
3
0
0
0
-3
0
0
0
-1
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
13
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
2
-10
0
0
0
0
0
-2
-18
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
-1
0
0
0
0
0
0
-5
-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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
-30
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
0
0
-13
-16
0
-1
6
4
0
-1
8
-5
0
0
0
0
0
0
-3
-2
0
0
0
2
0
25
0
-18
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
11
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
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
0
-4
0
0
0
0
0
0
29
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
0
0
0
1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-5
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
-12
4
0
1
4
0
0
0
11
5
0
0
2
0
0
0
20
7
0
-18
1
0
0
-1
1
14
0
0
0
0
0
0
3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
5
-18
0
4
0
0
0
0
-3
0
0
0
2
0
0
0
-4
-19
-3
-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
3
0
0
0
-1
-13
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
-7
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-16
-24
0
0
0
0
0
0
9
-3
0
0
6
0
6
0
-29
-15
-1
11
-2
0
0
4
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
3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
0
0
0
-10
13
0
0
25
0
0
0
-19
8
0
0
0
0
0
0
0
16
0
0
0
0
0
1
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
0
0
0
-3
14
0
2
-7
0
0
2
-6
22
0
0
-1
0
0
0
-7
1
2
0
0
0
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-7
1
0
-13
-2
0
0
-9
-2
0
0
0
-1
0
0
0
-2
-10
0
9
-4
0
0
-2
0
0
0
0
0
0
0
0
0
-24
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
-11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
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
10
0
12
0
0
1
-26
-8
33
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
34
0
15
-1
11
1
0
-46
17
18
0
14
13
-3
0
0
-8
0
-3
0
5
-5
8
13
21
-2
0
21
18
37
0
0
2
0
0
0
38
45
0
25
-12
-4
3
0
-4
-12
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
-16
0
0
5
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
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
23
0
-4
-19
0
0
0
-1
23
0
0
2
0
0
0
-6
4
0
-10
0
0
0
0
0
8
0
0
0
0
0
0
0
-6
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
-20
-7
0
0
0
0
7
0
0
7
0
0
0
17
17
4
0
0
0
0
2
0
-4
0
0
0
0
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
20
0
0
4
0
0
0
0
-6
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
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
-7
-21
0
-6
-8
0
8
22
8
17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
21
0
-4
-9
9
26
0
-10
7
-8
0
5
29
19
0
0
-7
0
0
13
-15
29
41
-9
15
0
0
2
-21
41
0
0
5
0
0
0
6
-11
0
-15
9
4
0
2
4
-46
0
0
0
0
0
0
0
3
0
0
0
0
0
23
0
6
0
0
-8
0
0
0
7
0
0
-1
-6
-2
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
2
0
0
0
0
0
0
0
0
0
0
-2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
-24
0
0
1
0
0
0
36
3
0
0
1
0
0
0
0
2
0
2
-2
0
0
0
0
12
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
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
-6
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
2
0
3
0
-13
-17
0
3
24
3
0
-6
-23
-16
0
0
19
0
0
1
-5
9
0
-3
12
0
0
20
0
9
0
0
-6
0
0
0
0
0
0
33
-15
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
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
-2
0
2
21
0
0
-2
17
-1
0
0
0
0
0
0
-3
-2
0
11
1
0
0
0
2
-18
0
0
0
0
0
0
-18
0
0
-4
0
0
0
1
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
-5
0
0
3
3
4
-5
23
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-1
55
16
-30
-38
0
30
0
24
0
15
-48
3
0
0
-3
1
7
4
29
5
18
2
63
1
0
-37
-15
-33
0
0
9
4
6
-3
1
-5
4
25
6
-2
-16
1
4
-19
0
0
0
0
0
0
1
-4
0
-1
0
0
0
5
0
0
0
0
0
0
0
0
2
0
0
6
-5
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
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
-6
9
0
0
-29
-13
0
0
6
0
0
0
20
-11
0
1
1
0
0
-7
1
2
0
0
0
0
0
0
0
2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
11
6
0
0
-1
0
0
12
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
17
31
0
4
-22
0
-3
0
-3
36
0
0
7
0
-1
0
10
-42
21
19
11
-2
0
1
-17
0
0
0
6
0
0
0
2
0
0
27
-6
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
-2
0
0
0
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
1
0
0
1
-45
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-8
0
21
8
0
9
44
1
0
0
26
-18
0
0
1
0
-2
0
-23
-16
-4
-16
2
0
0
-30
-24
-15
0
0
0
0
0
0
0
0
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
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
-1
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
1
0
2
0
22
0
0
0
-4
-1
0
0
7
4
0
0
-3
0
0
0
-9
0
0
3
0
0
0
0
-11
9
0
0
0
0
0
0
-1
0
0
4
0
0
0
0
0
26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-1
-3
3
-4
10
9
14
-8
-19
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
20
6
28
7
-15
-9
1
-2
2
-6
-6
30
-29
28
0
0
40
0
1
-6
15
-36
-23
31
9
11
-2
10
46
23
0
0
26
0
0
0
-1
-2
-13
9
-5
1
2
12
26
1
0
0
-4
0
0
0
0
8
-1
-1
1
0
0
12
0
10
0
0
39
0
0
0
1
0
0
-1
13
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-1
0
6
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-6
0
0
-19
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
11
0
12
-2
14
24
0
-17
11
5
0
8
32
3
0
0
23
0
9
-3
-12
-16
14
1
-6
0
0
24
-5
-12
0
0
0
0
-17
0
-2
1
0
27
2
0
0
0
4
26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
4
11
-1
0
-2
0
0
0
0
8
-32
0
0
2
0
0
-5
14
7
-3
0
5
1
0
-17
0
2
0
0
0
0
0
27
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-5
0
-1
1
6
-2
-14
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
-1
-6
-15
21
0
-6
-6
-16
-6
-32
24
33
0
0
-13
0
0
8
-27
-33
32
14
-6
13
-2
24
16
-74
0
0
6
0
0
0
45
13
-2
3
22
-2
-5
0
-6
-16
0
0
0
0
0
0
-9
0
0
0
0
0
0
-13
0
1
0
0
0
0
0
0
6
0
0
-23
-7
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
9
0
-4
4
-2
-37
-5
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-1
3
-21
-18
8
-6
27
-42
-13
-2
-22
15
0
0
2
11
14
-2
7
3
-27
1
-26
26
3
21
18
12
0
0
5
0
-5
0
16
17
17
-19
-7
-17
-6
-11
-47
-25
0
0
0
0
1
0
0
57
0
-17
-5
0
0
9
0
7
0
0
0
0
0
0
0
35
0
0
-23
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
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
-66
5
0
-2
-1
0
0
3
8
-3
0
0
-25
0
0
1
-46
0
0
-5
0
0
0
-17
0
-2
0
0
0
0
0
0
6
11
0
-1
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
25
-1
-4
3
1
18
0
14
3
-1
-1
0
-28
9
0
0
8
0
0
1
-18
-50
14
19
3
-10
2
50
15
12
0
0
-4
0
-1
0
22
7
-3
29
-1
0
24
-10
7
-9
0
0
0
0
0
0
0
3
0
9
0
0
0
2
0
3
0
0
0
0
0
0
-1
0
0
36
-6
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
-14
18
-11
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
16
10
0
-7
27
2
23
46
1
0
7
4
-28
0
0
-7
-16
24
2
5
11
1
2
24
2
0
11
9
-23
0
0
-19
0
1
0
-2
-2
-2
3
0
0
9
18
-27
-1
0
0
0
0
0
0
0
10
0
-8
0
0
0
30
0
-3
0
0
-10
0
0
0
3
0
0
-3
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
12
2
14
21
24
0
0
-5
0
0
-10
1
6
0
0
3
0
0
0
-20
0
-19
-11
-1
4
-8
-21
30
-30
0
0
-15
0
0
0
5
-13
0
-8
-1
0
0
6
11
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
0
0
0
3
0
0
-1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
22
22
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
1
1
0
-21
-2
0
33
-2
12
7
20
-20
11
0
0
-9
-3
0
0
29
44
4
19
-7
0
9
48
-9
-10
0
0
-9
0
0
0
9
9
4
-24
-5
-3
-49
1
8
-1
0
0
0
0
0
0
0
-4
0
3
0
0
-20
6
0
-3
0
0
0
0
0
0
0
0
0
3
3
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
60
-15
24
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-26
-3
-22
24
39
-14
1
0
-6
0
7
-4
-15
15
0
0
3
-12
-2
-3
17
3
8
18
-11
-2
1
-10
-14
9
0
0
-4
0
1
0
-19
-23
-8
28
-9
17
11
-8
15
-15
0
0
0
0
0
0
-2
-8
-1
-6
6
0
0
8
0
-3
0
0
6
0
0
0
9
0
0
-5
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-38
6
2
-31
12
-8
-11
33
19
-4
0
12
20
4
0
0
-4
3
-8
8
2
-6
-15
-7
2
21
-5
1
-39
-9
0
0
-26
2
2
1
-13
-1
0
-32
-2
-5
8
12
13
1
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
3
-8
0
0
4
0
0
0
-1
1
-5
11
-1
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
12
6
1
-4
-13
-1
-29
-9
-6
-26
-11
11
0
0
7
-17
13
10
-12
-9
3
-10
-4
-8
-12
-10
-17
-14
0
0
13
0
18
-6
-6
-1
4
13
25
-10
-2
10
-31
-17
0
0
0
0
0
0
0
0
-2
29
6
0
0
33
0
-20
0
0
1
0
0
0
1
0
-1
13
-8
0
0
-20
-19
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
30
-8
-6
42
-51
18
-9
-51
2
43
0
0
-32
-5
-16
14
-35
17
-12
-26
36
-11
-12
-15
13
9
0
0
0
0
1
4
-20
-2
2
-15
33
-6
26
-44
15
-11
0
0
6
0
0
-6
14
-31
28
0
-21
-1
6
1
32
-16
0
0
38
0
-13
-2
23
-13
-18
16
13
-3
31
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
0
2
0
0
0
9
-16
0
0
15
-6
10
0
5
3
0
-2
-2
1
0
0
1
3
0
0
16
-6
0
-1
0
0
4
0
1
-20
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
-35
-4
-18
-3
0
-53
-24
-11
0
4
-2
-19
0
0
-21
0
-6
0
-13
-26
17
-17
-21
3
0
19
-16
10
0
0
33
0
24
0
-6
-7
8
-9
9
0
0
6
1
-34
0
0
0
0
1
0
0
4
0
6
0
0
0
-17
0
7
0
0
0
0
14
0
0
0
0
1
3
0
0
-18
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
11
18
0
-12
-33
2
0
0
-3
11
0
0
11
-2
-2
-56
-35
-5
-10
-21
5
0
0
-26
-3
-29
0
0
0
0
10
-13
-10
-9
0
-22
-19
3
0
-9
8
-1
0
0
0
0
0
1
0
1
0
8
0
0
0
0
0
7
0
0
0
0
0
0
-3
0
0
-1
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
27
0
-12
-12
11
-5
8
20
11
0
0
-36
-2
-22
2
-14
-42
-18
-2
18
-37
7
25
9
-22
0
0
8
0
34
2
25
-38
-51
37
19
24
11
13
-11
-50
0
0
2
0
0
0
-7
7
-4
-6
-34
-1
1
-38
0
5
0
0
6
0
6
3
2
7
19
25
27
-24
-16
-3
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
19
-18
-39
-28
-20
-9
9
0
0
-25
-19
15
4
-15
10
-42
-5
15
-8
8
0
-24
-3
0
0
6
9
25
11
4
6
36
-17
23
-24
-14
-5
-35
25
0
0
-8
0
-23
12
-10
-1
-20
-7
21
11
3
-1
-13
9
0
0
23
0
11
0
-21
-14
-4
7
21
3
-13
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
-25
6
0
0
-8
0
-2
0
-16
1
2
-17
-1
0
0
-18
2
-2
0
0
2
0
0
0
8
0
0
-10
-6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-1
-17
-1
-5
0
0
-27
6
-15
0
4
29
-5
17
6
1
-5
34
-28
15
0
0
-34
0
-29
-13
-22
37
-10
13
0
-5
-33
3
-26
14
0
0
-14
0
0
1
0
-1
4
7
0
0
0
7
0
-27
0
0
1
0
0
0
-7
0
0
30
-18
-4
0
14
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-11
-15
26
0
0
7
3
-22
-27
-8
-16
-22
-20
1
9
-15
11
-1
10
0
0
0
4
-12
-9
-2
26
-18
9
-10
-7
-11
12
-1
19
0
0
1
0
0
3
2
-7
3
23
6
0
0
-38
0
-2
0
0
-23
0
-11
6
22
-11
-2
22
25
-12
1
-5
-17
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-18
0
-2
2
8
-58
-8
-1
4
-2
0
-24
-5
-27
0
0
7
0
-1
0
28
-42
-1
-5
24
0
15
-7
-20
-36
0
0
-1
0
-1
0
0
-1
0
12
0
0
0
20
0
-10
0
0
-3
0
0
0
1
0
0
-8
-6
0
0
-5
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
0
0
-7
0
0
-7
4
2
0
-4
0
0
0
0
0
-8
0
0
-1
0
0
0
-5
-12
-1
1
4
0
10
0
-2
6
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
0
0
0
0
-10
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
20
0
11
3
-17
-7
-10
-22
9
-3
-12
0
15
26
0
0
-7
13
10
0
10
6
-4
-32
29
9
3
-6
-4
-28
0
0
0
0
0
0
0
21
0
10
0
0
0
23
0
14
0
0
-2
0
0
0
12
3
3
2
13
0
0
-6
28
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
18
19
-10
-5
-10
-39
-34
11
-40
-35
-8
11
20
13
0
0
21
0
36
-3
-13
31
-31
-13
-19
9
-2
17
-24
27
0
0
2
0
1
13
0
-3
2
43
3
0
0
-30
10
-7
0
0
12
0
3
9
17
-3
-4
-4
-1
-1
8
-26
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
10
-30
23
47
14
-16
0
-4
4
-7
36
2
-23
0
0
-20
1
-35
-14
11
-28
-17
4
-12
1
21
26
-42
-1
0
0
6
0
0
18
-4
-27
16
44
1
3
1
-3
4
-5
0
0
0
0
0
0
19
0
3
7
-6
0
0
-2
-18
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
1
-6
-1
8
-18
-8
-14
7
5
0
-23
16
-49
0
0
24
0
1
-3
12
26
-1
12
9
10
24
1
-13
3
0
0
13
0
0
0
0
-17
-1
24
-2
1
-2
37
3
2
0
0
3
0
0
0
-21
7
0
-6
-9
-12
0
-15
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
3
2
-4
1
1
0
6
0
1
0
0
0
-9
0
0
-2
-7
0
-2
5
0
0
0
-2
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
3
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-1
-7
0
0
6
0
1
0
1
-8
0
-11
-10
-1
0
-12
-2
-21
0
0
0
0
2
0
0
0
0
0
0
0
0
15
0
3
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
8
-6
20
13
4
11
0
0
-24
-15
-24
0
0
3
0
0
-25
-3
16
0
-22
9
0
0
-6
8
-15
0
0
0
0
0
-16
0
0
0
1
0
0
0
-2
0
8
0
0
0
0
0
-8
0
2
0
7
9
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
-25
-37
-23
-15
7
1
-11
-15
9
9
0
0
6
5
12
-5
-27
-24
8
-25
19
-57
-13
23
-22
-24
0
0
-1
0
0
0
-13
11
11
-30
-12
-1
0
-12
0
-5
0
0
4
7
0
0
12
-10
8
1
-25
-18
-1
22
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
4
-19
23
-6
3
-5
0
0
1
4
4
-21
2
38
-20
-11
32
2
30
-37
23
32
0
0
-4
0
1
6
0
2
-11
-31
1
-1
0
-34
0
-35
0
0
12
0
0
0
-2
-15
3
45
2
8
11
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
23
3
0
28
-5
2
0
0
25
0
-2
2
1
-32
-3
-28
-47
-22
5
3
-24
-5
0
0
0
0
0
0
0
-3
-1
3
0
0
0
-21
0
2
0
0
-3
0
0
0
-7
3
0
-18
3
-20
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
8
0
-13
6
0
0
-35
-5
5
4
-46
42
3
-20
-9
0
-1
2
-18
-39
0
0
0
0
-1
-2
2
-9
11
47
-6
-1
0
-7
0
-3
0
0
1
0
0
-1
-2
-3
3
23
-10
3
0
16
10
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-15
22
0
-17
-6
24
0
0
32
0
-4
8
1
-3
-4
52
-3
12
27
-7
-11
6
0
0
0
0
0
3
1
3
2
33
14
0
0
-21
0
-8
0
0
-20
0
0
15
2
34
8
1
-25
9
0
27
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
2
2
0
0
-43
-12
0
9
8
0
-5
-2
-3
25
0
0
0
0
0
3
0
0
0
-1
0
0
0
-8
0
4
0
0
0
0
0
0
5
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
-12
1
0
-16
-11
0
4
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
4
0
0
0
12
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-20
0
26
0
-1
-31
-1
-2
9
-13
7
-6
41
-5
0
0
15
0
0
0
9
-14
-3
-14
11
-4
0
69
2
16
0
0
8
0
0
0
16
10
-5
2
-10
26
14
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
0
-5
0
-8
-26
-2
-30
23
-9
24
19
2
-20
0
0
0
0
0
0
0
8
0
5
-2
0
0
-14
1
-25
0
0
-7
0
0
0
11
6
-1
-25
-6
0
0
-7
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-33
0
0
22
-9
12
8
58
-24
8
-46
14
-4
-3
-4
6
8
0
0
10
0
0
4
0
0
-2
27
18
-4
2
26
-8
-8
0
0
7
0
0
0
0
0
-3
1
-19
1
0
8
11
-13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
0
0
0
-13
0
-1
29
-4
0
-3
21
16
-11
0
0
2
0
0
0
0
-3
0
7
0
0
0
0
0
6
0
0
6
0
0
0
-11
-1
1
18
-6
0
0
7
27
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
1
0
-1
0
0
10
0
0
0
0
-39
0
0
0
0
2
0
0
0
-1
0
0
0
0
0
0
-9
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-26
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
-3
0
0
0
21
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-12
-6
-21
2
-6
-8
-2
21
0
0
0
0
0
0
-2
0
0
-15
0
0
0
0
0
-5
0
0
0
0
0
0
18
0
0
26
-14
-4
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
-1
4
2
-16
-8
-14
-5
-10
0
0
1
0
0
0
0
23
0
-37
0
0
0
-12
0
2
0
0
0
0
0
0
0
5
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
-13
2
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
19
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
-2
0
0
-2
-12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-27
-56
16
13
25
-12
-12
0
0
-5
0
0
0
-3
-1
-2
23
0
0
-5
26
0
-8
0
0
14
0
0
0
-8
3
0
14
0
8
6
-22
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
27
14
15
12
0
0
7
0
6
0
0
-7
-3
-6
6
0
0
6
1
-16
0
0
-10
0
0
0
-5
2
0
21
-14
-17
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
-6
0
0
0
0
-32
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
-3
0
0
0
0
0
0
0
0
0
-7
0
0
2
8
0
0
0
0
1
0
0
0
3
0
0
-3
-7
0
-8
-21
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
-1
0
2
-1
0
0
27
0
2
0
0
8
0
0
0
-12
0
0
8
-17
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
-6
2
0
0
0
0
0
0
0
0
0
1
0
0
0
-9
0
-2
0
0
-4
0
0
0
3
0
4
3
-28
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
17
0
0
0
1
0
-7
19
13
0
0
16
0
-1
0
0
1
0
0
0
-13
0
0
10
-45
-2
0
-19
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-25
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
22
-9
0
0
6
-18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
-18
-13
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
15
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
3
0
-2
0
0
1
-7
0
-1
0
0
-6
0
0
0
6
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
9
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
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-4
-6
0
0
0
-1
0
0
0
5
1
0
3
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-3
-2
0
1
0
0
0
0
2
0
0
0
0
0
0
0
-2
-11
0
2
0
0
0
-1
0
-1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
0
0
0
0
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
3
0
0
-1
0
0
0
-3
0
0
0
0
0
0
0
8
15
0
2
-4
-1
0
-1
-1
19
0
0
0
0
0
0
5
4
1
9
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
1
-2
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
1
0
-2
0
-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
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
19
2
5
0
3
-27
0
-1
4
2
5
5
-7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-6
2
0
6
-6
-1
0
0
-3
3
0
0
-14
2
0
3
-24
-10
0
-15
0
1
-3
3
2
11
0
0
0
0
7
2
8
-12
2
9
-1
7
6
-2
14
1
0
0
0
0
0
0
0
-1
0
-3
0
0
0
1
0
-16
0
0
0
0
0
0
-3
-9
0
2
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-6
-3
0
-1
2
0
0
9
-9
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
5
1
5
-15
0
3
20
-4
0
0
-1
-9
0
0
7
0
0
3
17
-6
1
0
8
-1
0
-10
1
-2
0
0
-1
0
2
0
-2
0
0
3
4
0
0
0
1
3
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
-1
0
0
2
-2
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
2
0
0
0
0
8
0
-1
1
0
-2
-8
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
4
0
0
0
0
0
0
0
0
7
-8
2
0
-1
0
0
-7
-6
-2
0
0
-1
0
0
0
-1
-9
0
2
1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-3
0
-5
0
0
0
0
-3
2
0
0
1
0
0
0
0
2
0
-9
0
0
0
-3
0
4
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
-1
-5
1
0
2
0
1
7
-4
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
0
0
-1
0
0
8
0
0
-2
-1
10
1
6
3
0
0
0
9
-4
0
0
-4
0
4
0
5
-7
6
8
1
0
2
-2
11
7
0
0
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
7
-13
0
1
0
0
0
1
3
-6
0
0
-1
0
0
-1
5
7
-1
-10
2
0
0
-1
-2
0
0
0
0
0
0
0
-3
-2
0
-1
2
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
6
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
2
-8
0
0
0
0
0
0
4
-1
0
0
2
0
0
0
-5
-2
0
7
1
0
0
0
2
0
0
0
0
0
0
0
-3
4
-1
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
3
0
0
0
0
0
0
0
-2
0
0
-6
0
0
0
4
3
1
0
0
0
0
0
0
-4
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
8
-2
0
9
5
18
6
-7
7
14
-5
-3
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-8
-10
0
0
6
-1
1
2
-4
4
0
0
0
0
-2
-9
-7
-4
-1
1
2
1
7
6
12
-3
0
0
1
-1
-2
-1
14
-13
8
-4
-1
-1
1
-9
-18
-5
0
0
0
0
0
0
1
-3
0
3
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
4
0
0
-3
0
0
1
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
2
-2
-19
0
-1
-2
-3
4
-10
-11
-5
0
0
3
0
2
0
-2
-20
0
-3
4
0
0
-6
7
-1
0
0
2
-2
0
0
-3
-7
0
10
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
-6
0
-1
0
0
-2
0
0
0
0
0
0
0
0
0
0
4
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
6
6
0
0
0
0
-4
4
-5
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-2
0
0
0
0
0
0
0
-1
0
-1
0
1
4
0
4
0
0
0
16
-6
0
0
0
-3
0
1
0
3
0
0
-10
0
-2
4
0
-16
-7
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
15
0
0
0
0
0
0
3
0
0
0
3
0
0
0
0
1
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
-1
0
-18
1
-2
19
-3
0
-1
-6
-10
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-5
-2
0
0
0
0
1
0
-3
-2
0
0
-6
0
0
1
-8
-4
4
-7
1
-1
0
-18
-6
14
0
0
-2
0
2
-2
18
1
-10
25
-3
-1
0
-2
-7
-1
0
0
0
0
0
0
0
0
2
3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
-3
0
0
2
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
1
-1
-10
0
-3
0
0
0
-1
3
-6
0
0
4
0
0
1
-4
2
-1
-6
2
0
0
-6
-2
-3
0
0
-2
0
0
1
7
0
0
1
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
4
0
-6
-1
0
0
3
-3
-2
0
0
0
0
0
0
-1
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
-2
0
0
0
0
0
0
0
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
1
0
0
0
1
-1
0
0
0
0
0
0
0
-4
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
1
-1
7
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
1
0
0
0
0
6
0
2
0
-1
0
0
0
0
0
0
-2
1
-1
0
0
-1
0
0
0
0
7
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
12
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
0
0
0
-1
0
0
0
2
-2
-3
-3
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
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
9
0
-7
0
0
0
9
-3
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
-1
1
0
0
-1
0
0
0
0
4
0
-1
-3
0
0
-2
2
0
0
0
1
0
0
-1
-4
-13
0
3
1
0
-4
0
-7
1
0
0
0
0
0
0
0
-3
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
-17
14
0
0
2
0
0
4
8
3
0
0
2
0
0
0
7
5
0
-1
0
0
0
2
0
2
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
5
-8
0
-2
0
1
-1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
6
0
0
0
0
0
0
-2
-1
0
0
0
0
0
0
0
3
0
-6
0
1
0
0
-6
0
0
0
0
0
0
0
0
-7
0
-13
0
0
0
0
2
1
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
3
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
-4
-6
-2
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
1
2
0
0
0
0
0
0
0
0
-3
0
-3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
2
0
0
0
0
0
0
-16
1
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
2
0
0
0
0
0
-1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
1
0
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
-3
0
0
2
0
-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
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
8
0
7
0
-1
0
9
-2
-4
0
0
-2
0
0
0
7
-1
0
2
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-6
-3
0
0
0
0
0
0
6
2
0
0
-3
0
0
0
-6
7
0
0
0
0
0
-3
1
-2
0
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
0
0
0
0
0
0
-4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
2
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
6
0
2
0
0
0
-2
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-14
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
7
-1
3
0
0
0
-7
-1
0
0
0
0
0
0
0
-1
16
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
2
0
0
1
0
0
-1
0
0
0
0
3
0
0
0
0
22
-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
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
1
-3
0
0
0
0
0
-3
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
2
0
0
0
0
0
0
0
0
0
0
0
5
-2
0
-1
1
0
0
0
0
-1
0
0
4
0
1
0
1
4
0
-2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
10
0
0
0
0
0
0
-4
0
0
0
-1
0
0
-1
2
-9
0
4
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
1
0
0
-1
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
-1
0
0
-4
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
7
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-2
0
0
0
2
-7
0
0
1
0
0
0
2
0
0
0
0
0
0
-4
0
-8
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
7
-11
0
0
-2
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
-1
0
0
0
0
-2
0
0
0
0
0
0
0
-1
-3
-1
0
0
0
4
0
9
0
0
3
0
0
0
2
0
0
1
0
0
0
-2
-1
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
0
0
3
0
-2
0
0
0
0
0
0
0
-6
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
-2
6
0
-4
0
0
0
2
-4
0
0
0
-2
0
0
0
2
1
0
4
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
-2
0
0
0
0
0
-1
1
0
1
-1
1
0
0
0
-1
1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
6
26
3
3
-1
1
0
3
1
-16
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
-3
6
11
-2
-1
7
-8
0
0
-25
1
0
-1
-3
-18
3
-17
-2
1
7
-19
4
-12
0
0
-17
1
0
-1
15
15
-9
2
-6
7
3
2
1
-6
0
0
3
0
0
0
0
-3
4
0
0
0
0
2
0
0
0
0
13
0
0
0
0
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
-5
0
-1
-2
-6
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
-3
0
1
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
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
13
0
0
0
-1
3
-3
2
0
-1
1
-2
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
1
0
-13
0
-2
2
0
2
-1
0
5
-1
0
0
6
0
0
-1
6
8
-1
-7
2
0
-1
-6
5
-24
0
0
1
0
0
0
-10
-3
-2
-4
1
3
6
0
-4
-5
0
0
3
0
0
0
0
1
0
-4
1
0
0
0
0
2
0
0
4
0
0
0
0
0
-1
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-9
-2
0
2
0
0
-3
-2
0
0
0
0
-6
0
0
2
-3
-1
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
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-2
0
0
0
0
0
0
-1
1
-1
0
0
0
-2
0
0
1
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
-11
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
-2
0
0
-11
0
0
-1
0
0
0
6
-4
0
0
0
0
11
0
3
6
-3
4
-4
0
0
3
-6
-2
0
0
1
0
-6
0
-4
8
-1
-4
-4
0
-6
0
0
-1
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
5
-5
0
0
0
0
0
0
4
-5
0
0
0
0
2
0
-1
4
8
3
-3
0
0
3
-2
-2
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
8
0
1
0
0
-1
0
0
0
1
-1
0
0
0
0
0
-5
3
0
0
-7
-2
0
0
0
0
1
0
0
0
0
0
17
3
9
0
-2
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-1
0
0
-1
0
0
0
-1
3
0
0
0
0
0
1
-3
-6
4
1
0
0
0
0
-2
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
-12
11
-4
12
-1
4
12
2
19
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-11
-5
1
-5
6
2
2
3
-13
-9
0
0
-15
0
-7
4
22
-25
27
-20
10
15
-2
9
12
7
0
0
6
-4
3
0
9
-1
6
-19
1
3
-12
-3
7
22
0
0
0
0
0
0
3
-1
6
0
0
0
-1
0
0
1
0
0
-2
0
0
0
3
0
-3
0
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
4
-10
4
0
-10
0
17
0
0
0
0
0
0
0
0
-1
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
-2
-6
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
-9
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-2
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
21
-3
0
1
9
-4
-4
9
-6
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
-3
1
-5
-8
14
0
-1
3
-1
0
6
23
11
0
0
3
0
1
-1
-7
-2
-18
-4
3
1
-1
5
-4
-10
0
0
-1
0
0
0
22
-7
4
-1
4
1
6
1
4
4
0
0
0
0
0
0
-4
0
0
1
0
0
0
-2
0
0
0
0
0
0
0
0
-2
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
26
11
-13
5
2
12
6
8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
9
0
9
-4
4
-6
1
-12
3
-1
2
22
-4
0
0
1
6
2
6
-18
-20
-16
7
-7
7
12
-2
-15
-1
0
0
10
13
1
1
15
-17
-10
6
-14
-13
-25
-10
-2
-8
0
0
-1
0
0
0
1
-5
12
-10
3
3
-5
5
0
5
0
0
-2
0
4
0
-4
2
-4
0
-2
0
-1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
-16
-1
0
-1
-7
1
-2
0
0
0
0
0
0
0
0
-2
-2
0
0
0
-10
-1
0
0
0
0
0
0
0
0
2
-5
4
0
0
3
-1
-1
0
0
0
0
0
0
0
0
2
-1
-2
-2
0
-1
-5
1
0
0
0
0
0
0
0
0
2
0
-2
0
1
4
0
2
4
0
0
0
0
0
0
-1
0
0
3
0
0
0
-4
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-2
1
-8
-21
-6
-3
2
2
-6
13
-10
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-16
2
1
0
-13
-24
0
8
2
3
-1
-2
13
-9
0
0
4
4
-1
-5
5
-29
-9
-23
13
3
0
-28
-8
10
0
0
0
1
1
2
-13
-10
0
3
-12
1
2
-3
0
-6
0
0
0
0
0
0
-1
6
-2
1
-2
0
0
12
-1
2
0
0
0
0
0
0
1
7
2
1
3
0
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
11
1
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
1
0
1
1
0
0
0
-5
0
0
0
-1
23
0
0
7
0
-1
7
-1
9
0
0
-8
0
0
0
5
6
6
-3
8
0
-6
2
-9
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
0
-3
0
0
2
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
1
-4
-5
-2
-1
0
0
0
-2
2
5
0
0
-1
0
0
1
1
-1
-8
0
0
0
0
2
0
0
0
0
-2
0
0
0
-3
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
-2
4
0
-2
-4
7
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
7
-3
0
-9
-2
0
1
-2
7
-6
0
0
2
-1
0
-2
15
-2
10
-4
-7
16
0
20
-6
-5
0
0
4
0
8
2
-1
-1
-9
-12
3
2
2
6
-8
16
0
0
0
0
0
0
-1
-6
-1
4
0
0
0
-2
0
-4
0
0
0
0
0
0
-4
1
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
3
0
-1
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-2
3
0
0
-1
0
0
12
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-15
-10
0
-5
0
-1
0
1
2
-14
0
0
2
-1
-4
1
-8
3
-1
2
-2
0
0
-3
1
-9
0
0
0
0
1
0
7
-1
0
24
4
1
0
-2
0
-2
0
0
0
0
0
0
-1
4
0
2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
9
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
2
0
-1
0
-4
2
0
0
0
0
2
0
-6
-1
3
5
-4
0
0
-1
12
-4
0
0
-2
0
-2
0
-8
6
0
1
3
2
15
9
-2
-13
0
0
0
0
0
0
0
-1
2
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
10
7
0
2
0
0
0
-1
5
-5
0
0
1
-1
0
-1
4
-5
3
1
-4
-1
0
-7
2
13
0
0
-2
0
0
0
-7
2
0
-3
0
0
0
0
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
3
-6
0
0
-1
0
0
-5
0
0
0
0
1
0
0
0
2
3
8
-1
4
-1
-1
-2
2
-2
0
0
0
0
0
0
16
-6
0
-10
0
0
2
0
6
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-2
-1
0
0
-2
0
0
-1
0
0
0
0
0
0
0
0
5
3
-10
0
1
0
0
0
0
9
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
-5
0
7
-2
-1
-8
-1
2
-1
0
0
1
1
0
-1
-10
-13
-4
-1
-3
1
6
2
-4
6
0
0
0
0
0
0
-10
3
8
-19
4
-1
-2
-2
-4
7
0
0
0
0
0
0
0
5
4
1
0
0
7
-4
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
2
0
1
0
-2
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-6
6
1
0
0
0
-4
1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
16
1
0
1
11
5
0
-2
-3
1
-2
-6
7
1
0
0
-1
0
0
0
-7
8
1
13
7
1
0
8
0
-3
0
0
0
0
0
-1
-1
0
1
1
6
0
0
3
2
-4
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
1
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
3
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
-2
8
-29
0
-4
-2
-2
4
-8
8
3
0
0
-4
1
-5
0
21
-3
18
5
-4
-4
6
8
5
-1
0
0
-2
0
14
0
-12
-8
12
7
2
8
-7
17
-11
3
0
0
-2
0
0
0
0
11
-1
0
2
0
-1
-6
3
-11
0
0
0
0
0
0
-1
-1
10
-2
3
2
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
1
0
0
11
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
-3
0
0
0
0
3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
1
0
-1
2
0
0
7
0
-2
-10
-11
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
1
0
-9
-9
-15
-4
-13
2
-9
0
-6
-8
1
0
0
3
1
1
7
-22
15
6
8
-8
-7
1
6
5
12
0
0
7
0
2
0
-1
3
9
-3
-10
-2
-1
2
-4
-5
0
0
0
0
0
0
0
2
0
-4
0
0
0
9
0
0
0
0
1
0
0
0
0
0
-1
2
7
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
3
-12
0
2
0
1
4
-2
-8
-3
0
0
-1
5
1
6
6
-27
7
2
-3
-2
-8
7
2
-9
0
0
1
4
1
2
3
8
-22
16
-17
1
6
-1
17
1
0
0
0
0
0
0
0
2
-1
2
0
0
0
4
0
-6
0
0
0
0
0
0
0
4
5
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
-6
7
5
-2
0
-4
-3
-8
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-5
0
1
0
1
4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
-1
1
0
4
1
0
6
-10
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-5
0
-2
6
6
0
-5
-1
15
-3
5
16
-7
0
0
3
0
0
-3
3
6
1
-7
-9
-4
0
11
-1
6
0
0
1
0
-6
0
-1
1
0
0
-4
-2
1
-5
-8
6
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
-1
0
0
0
3
0
-1
2
-1
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
-16
0
1
1
1
0
3
0
13
0
0
7
1
-1
-4
-19
8
1
15
-4
-4
-7
-15
-11
-14
0
0
7
-4
-3
-1
12
-32
-13
-7
10
-2
-9
19
0
22
0
0
0
0
0
0
2
1
5
-6
1
0
-4
0
-2
-2
0
0
-1
0
0
0
3
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
3
0
0
0
0
-1
-1
-2
2
-10
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
4
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
-3
0
0
0
1
0
2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
3
-6
0
1
-2
-1
6
-5
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
-6
4
-26
2
-2
4
0
-9
0
-4
-2
-36
0
0
-17
-3
0
7
11
1
18
-5
0
0
2
-3
12
-20
0
0
-3
0
2
3
0
5
4
-15
-3
-2
-1
-2
-1
-16
0
0
2
0
0
0
0
0
0
8
0
0
0
1
0
2
0
0
0
0
0
0
4
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
-5
0
0
0
0
0
0
3
0
0
0
-17
0
1
0
-3
-3
7
-13
0
0
0
-2
-1
8
0
0
-16
0
0
0
2
-3
0
-5
0
0
-1
-6
-1
-3
0
0
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
-3
1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
0
3
-15
0
0
1
0
0
0
0
3
0
0
-2
0
0
0
-11
-5
-4
2
0
0
0
3
0
0
0
0
-2
0
0
0
1
0
0
5
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
4
-3
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
5
0
1
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-4
-2
2
0
0
0
15
0
0
0
0
-4
0
0
7
13
12
12
-1
-14
1
1
-3
0
-5
0
0
-2
0
-2
1
-34
5
3
-8
-4
-4
-4
0
3
-7
0
0
0
0
0
0
-9
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-1
-7
-6
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
2
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
17
-11
0
-1
-4
0
1
-4
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
1
-9
4
0
-5
-1
2
0
0
-1
5
0
0
-8
0
0
1
-17
-5
-4
0
-7
0
0
-7
1
0
0
0
0
0
0
0
16
-2
1
3
-2
-3
0
1
0
-6
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
0
3
0
0
0
14
-1
0
0
14
2
-1
0
0
38
-3
-21
-4
-3
-3
-4
-4
2
0
0
8
0
-10
-10
11
50
3
13
-5
6
3
-20
-1
0
0
0
0
0
0
0
2
8
-4
0
1
2
-12
2
0
3
0
0
4
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
-2
-17
3
0
1
0
4
-4
0
0
0
0
0
0
0
0
1
6
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
-1
8
-1
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
-2
0
3
0
0
0
9
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
8
0
0
0
-10
-21
0
-15
2
0
4
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
1
1
5
16
-5
3
5
-1
-1
5
-10
0
0
0
5
1
-6
1
2
12
-6
2
6
-3
-1
-10
-1
-4
0
0
-3
0
0
0
1
-10
3
3
-1
2
4
-13
-7
0
0
0
0
0
0
0
0
1
0
-8
-1
0
0
-6
0
3
0
0
0
0
0
0
0
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
4
0
0
0
1
0
3
0
0
1
0
0
0
3
0
0
-7
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
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
2
0
0
0
0
0
0
2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
7
0
0
0
0
-1
0
0
-1
0
2
-1
-12
7
-2
8
6
0
-1
-1
-6
-1
0
0
-8
0
0
1
3
2
7
-21
0
0
-1
4
9
1
0
0
0
0
0
0
0
-2
0
-1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
-4
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-3
0
1
-2
-2
0
0
1
-2
-1
0
0
-7
0
0
0
1
-4
2
1
-1
0
0
4
2
3
0
0
8
0
0
0
0
-2
0
5
-1
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
-2
0
0
1
0
-13
-1
-1
5
2
0
-6
2
-6
0
0
0
0
0
0
-11
-15
-4
-1
0
0
-5
0
2
-8
0
0
0
0
0
0
0
-2
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
0
0
-1
0
-2
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
8
-2
0
0
0
0
7
-4
-6
0
0
0
0
-1
0
-3
3
-5
-2
-2
6
0
-2
3
-3
0
0
3
0
0
0
1
-2
0
-15
0
0
0
0
2
-1
0
0
0
0
0
0
0
-2
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
5
-3
-3
8
-6
0
0
10
-2
2
0
0
2
0
3
0
-5
-4
-3
-4
2
0
0
0
-2
6
0
0
0
0
0
0
0
4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
-1
-12
-1
0
0
0
0
0
0
-3
9
-3
-1
1
0
0
8
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-8
0
-1
1
-6
4
6
0
0
4
0
0
0
0
-2
0
-11
0
0
2
0
0
3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
3
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
2
-5
0
0
-3
0
0
0
2
0
0
0
3
0
0
0
3
0
-2
-2
0
0
0
-2
-1
0
0
0
2
0
0
0
1
-6
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-3
0
0
-3
2
0
0
-9
8
-1
-1
0
-3
2
-21
0
-6
0
0
-4
0
1
0
0
7
1
-4
0
0
-6
-17
-3
-9
0
0
0
0
0
0
0
0
1
2
0
0
0
-12
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
-3
0
-1
0
0
0
-5
-3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
6
0
7
0
0
0
-2
-4
-2
0
0
4
0
0
0
1
-7
6
4
-4
0
0
2
1
-1
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
10
0
0
3
6
6
-2
-4
-5
0
0
8
-1
-1
0
0
0
0
0
0
4
-8
-3
-3
0
0
-8
3
-7
2
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
4
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
6
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-1
0
-1
1
0
-11
1
0
1
-1
-4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
2
-5
0
0
-3
0
0
-2
0
6
0
0
-6
0
0
2
4
2
-5
1
-5
0
0
3
4
1
0
0
2
0
0
0
2
0
1
4
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-3
0
-2
0
5
0
-13
-3
2
-3
1
-4
-4
-1
0
0
-7
0
-2
3
-9
5
-11
5
-3
2
-5
1
0
19
0
0
0
0
0
0
0
0
2
1
0
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
-5
0
0
2
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
2
0
1
-12
0
-6
-1
-3
0
-1
-3
2
0
0
-6
0
0
0
0
5
-3
2
-6
0
0
0
-8
-6
0
0
0
0
0
0
2
0
0
-4
2
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
5
-12
-5
-11
0
-1
1
12
-5
0
0
8
0
0
1
-4
-3
-4
-6
-7
-2
1
-8
4
-8
0
0
0
0
0
0
0
3
-2
0
0
0
0
-1
0
-1
0
0
16
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
-3
7
0
0
-5
-6
-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
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
0
2
0
-3
-3
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
-12
6
1
-2
1
3
0
-9
-4
-10
0
0
-3
0
0
1
-5
-1
1
2
-1
0
0
-7
1
10
0
0
14
0
0
0
1
-4
8
2
-1
0
0
-9
-1
4
0
0
1
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
1
-3
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-4
-1
2
-4
0
0
2
-1
2
0
0
0
-3
0
0
-1
13
0
3
0
0
2
0
1
-4
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
-4
2
4
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
-1
0
0
0
-2
-2
0
0
0
0
0
-8
0
4
3
-2
-4
0
0
0
0
-4
-2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
15
0
0
1
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
4
-12
0
-1
-1
0
0
0
-6
-6
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
-18
0
0
0
0
-2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
-2
7
-2
3
-1
1
0
-2
6
0
0
0
0
0
0
-5
2
7
2
9
0
0
0
0
-8
-3
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-3
-4
12
-2
-1
-2
0
0
0
7
6
0
0
2
0
0
1
-3
0
-3
2
0
0
0
0
0
2
0
0
0
0
0
9
-1
0
0
1
0
0
0
0
0
2
0
0
0
0
0
7
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
18
5
-4
-2
2
-2
12
1
-17
0
0
0
4
0
3
17
-43
9
-4
7
1
23
3
5
-16
0
0
-1
0
0
0
-10
-3
-6
-3
0
0
0
0
0
-4
0
0
6
0
0
0
-18
0
2
1
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
-1
-2
9
-1
-5
1
0
2
-2
-3
0
0
0
0
0
0
0
0
-2
13
0
0
0
-6
0
0
0
0
0
0
0
0
1
0
0
-8
0
7
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
1
0
0
0
-1
0
0
-4
0
0
0
0
0
0
0
0
3
0
0
-3
1
0
0
-2
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
1
0
12
1
0
8
7
2
1
-1
1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-17
4
1
-3
31
0
-1
-1
5
0
2
-6
-3
0
0
0
-8
4
-1
-6
2
6
3
9
-6
-2
0
-5
-3
12
0
0
6
0
0
0
13
-5
-4
-9
5
-7
-5
0
-6
7
0
0
0
0
0
0
-12
0
0
-4
0
0
0
1
0
0
0
0
-2
0
0
0
-6
-1
1
2
-3
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
16
-5
-3
2
27
-3
5
0
0
0
7
19
-2
7
5
38
56
0
5
1
3
-7
-1
0
0
-3
0
0
-4
-7
-24
17
2
-2
9
-7
1
1
3
0
0
6
0
0
0
-2
20
-4
-4
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
12
1
-7
8
-8
-2
14
1
-3
0
0
0
0
0
0
0
1
1
6
0
0
0
6
0
0
0
0
0
0
0
0
0
1
-2
1
0
0
-1
-4
1
-1
0
0
0
0
0
0
0
0
0
2
0
0
0
-8
0
0
0
0
0
0
0
0
0
3
0
0
2
-2
0
-21
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
3
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
-8
-30
-1
7
-4
3
-3
14
-4
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-28
2
-7
0
-24
-24
-2
24
0
12
-3
2
14
-6
0
0
14
0
2
-4
1
-19
7
0
6
-7
-1
-3
0
-4
0
0
1
-1
0
12
1
-3
-1
3
10
0
-2
-9
-1
1
0
0
3
0
0
-2
0
3
3
-9
-9
-1
0
-17
0
0
0
0
0
0
0
0
0
1
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
-3
19
-2
2
0
7
-5
-12
0
0
-6
2
-7
-3
9
-11
-11
-19
6
0
0
26
-2
-14
0
0
0
0
0
0
1
2
2
5
0
0
0
4
0
9
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
4
0
0
9
3
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
2
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-5
-2
-1
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
2
-1
0
10
7
7
6
-8
0
0
7
-1
4
0
0
11
0
0
0
14
-11
8
12
0
-2
0
13
-5
19
0
0
-1
0
-3
0
9
1
-1
-15
-8
6
0
3
-5
3
0
0
0
0
0
0
0
-5
0
-1
0
0
0
1
0
0
0
0
1
0
0
0
-4
-2
0
0
-9
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
-6
1
2
-7
23
-11
-1
0
0
13
9
-8
1
12
13
2
-34
9
6
-13
1
1
-19
0
0
0
0
0
0
0
-3
2
7
1
-1
1
11
-1
-11
0
0
-1
0
0
0
-5
-7
-4
-4
1
0
1
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
-5
6
1
10
0
-2
-4
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
3
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
6
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
-4
0
-7
7
0
32
-8
1
-2
-4
-1
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-2
2
1
7
-1
8
-4
9
0
-2
-13
30
0
0
-2
0
0
1
4
-17
-4
-1
-6
-2
3
9
0
7
0
0
-6
0
-7
8
2
0
0
-9
4
-2
-1
-4
0
-6
0
0
0
0
0
0
0
10
-1
-8
2
0
0
0
0
4
0
0
2
0
0
0
10
-4
-2
-4
2
0
0
-2
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
4
-36
8
-11
0
0
-5
-6
0
4
-7
-10
2
-20
1
4
0
6
0
18
0
0
-1
0
0
0
1
1
1
13
2
0
0
0
0
5
0
0
0
0
0
0
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
6
1
0
0
-4
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
1
0
4
-1
0
0
-2
0
-1
2
8
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
-3
2
-5
-2
1
5
15
1
-2
-1
0
-3
0
0
1
0
0
-2
6
-13
-1
-1
1
5
0
6
-10
-5
0
0
-4
-1
0
0
1
1
0
2
3
1
-1
2
0
-6
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
14
1
0
0
-1
1
0
0
-16
-10
-1
0
4
0
1
-10
-9
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
3
0
0
0
3
2
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
1
0
12
1
-3
4
0
0
2
-1
-6
0
0
0
0
0
0
-2
10
7
1
1
0
0
3
1
0
0
0
2
0
0
0
-3
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
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
1
0
0
0
-3
0
0
0
1
-12
-2
-1
-1
0
-9
-2
2
-8
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
3
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
17
0
-2
-4
0
0
-1
0
-9
0
0
-1
0
0
0
6
8
1
0
-3
0
0
0
-1
6
0
0
-7
0
0
0
-2
-6
0
-1
-2
0
0
0
0
3
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
14
10
9
0
0
-3
-3
-4
-1
-8
10
6
-8
8
6
8
-10
27
-30
0
0
6
0
0
-1
0
22
-9
-7
0
1
4
-16
-3
-2
0
0
-1
0
0
0
-9
4
6
4
1
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
15
-2
-2
7
-3
-2
0
12
0
0
0
0
0
0
0
0
-4
-4
0
0
0
-9
-2
0
0
0
0
0
0
0
0
0
-9
-4
0
1
0
-2
0
-1
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
-8
0
0
0
6
0
0
0
0
0
0
0
0
-3
0
0
-7
0
0
0
-15
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
2
0
-2
-24
4
9
-20
-2
2
8
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
20
1
-7
-13
-1
3
17
24
-19
0
0
-6
3
-1
0
-11
-7
24
9
12
-5
0
-14
5
-10
0
0
7
0
4
0
-16
1
-6
-19
-9
-2
0
2
2
-2
0
0
0
0
0
0
6
-2
-14
-4
-3
0
0
6
0
3
0
0
7
0
0
0
-3
0
5
4
9
-2
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
-5
0
0
-27
-6
3
-2
-6
-2
9
-4
-12
-1
-2
-3
11
3
0
0
0
0
0
0
0
-11
-1
-8
0
0
0
0
0
2
0
0
0
0
0
0
0
-8
-5
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-5
0
10
0
0
7
-2
-8
0
0
0
0
0
0
0
0
0
1
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
1
4
0
0
0
-7
1
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
-6
0
-10
-1
0
15
-2
0
0
2
-4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
1
-3
-31
0
3
-6
10
0
-3
-3
23
0
0
-6
0
-1
-2
-5
-14
-5
2
-2
-1
0
-15
-32
-12
0
0
6
0
0
1
10
5
-2
1
-2
0
-1
-2
3
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-1
2
1
0
0
0
0
0
0
0
0
0
3
1
0
0
4
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
12
0
0
21
1
6
-2
11
-16
10
16
-1
-1
-17
-1
-36
26
0
0
0
0
0
0
-3
1
1
-1
-2
0
-4
3
-1
-8
0
0
3
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
-4
-6
-5
0
2
3
1
-16
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
2
0
0
0
0
0
0
0
0
-1
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
4
5
-1
2
-5
1
4
1
13
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
10
-2
-6
-6
3
13
-3
0
0
-3
1
-2
-2
40
0
0
-1
0
-2
-13
-7
-6
18
4
-1
-1
0
-7
-2
-5
0
0
0
0
3
-1
-6
2
-1
-9
-8
0
-1
6
7
-2
0
0
7
0
0
-1
0
0
0
-2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-15
1
6
-4
-1
-1
1
2
-3
0
0
-8
0
0
0
0
3
1
-4
0
0
0
1
0
0
0
0
0
0
0
0
0
1
2
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
12
0
0
0
-9
-1
3
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
-9
0
0
2
-3
0
0
-1
2
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-13
0
-1
0
-17
-3
1
-2
4
4
0
-2
-14
8
0
0
10
0
-6
0
0
-14
2
5
-2
3
0
0
4
-10
0
0
10
0
0
0
-3
7
-1
-2
-12
2
-1
3
-2
-5
0
0
1
0
0
0
0
0
0
-1
0
0
0
1
0
2
0
0
-1
0
0
0
1
0
0
1
-1
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
1
0
0
-3
0
0
0
0
1
0
0
0
0
6
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
4
1
-1
-2
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
6
0
0
0
-1
0
0
3
0
0
0
0
0
2
0
0
1
3
0
0
0
0
0
0
-1
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
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
1
0
0
0
0
0
0
0
0
0
0
0
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
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
-3
0
-18
0
-1
-9
0
-1
-3
1
0
0
-7
-7
0
0
0
0
0
0
-6
4
2
0
-4
0
0
2
-1
-6
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
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
5
1
0
0
0
2
4
0
0
-3
0
0
0
3
-1
3
0
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
-5
10
35
-1
3
5
5
0
-11
0
0
0
0
0
0
-14
-8
-1
7
0
0
0
0
0
-2
0
0
0
0
0
0
-3
-1
-20
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
-6
-1
3
1
1
-3
2
-2
0
0
0
0
0
0
0
0
0
0
0
-7
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-2
-7
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
4
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
10
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
39
-1
1
3
-3
-2
-4
4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
2
-3
3
22
-4
-2
0
15
1
2
-7
0
11
0
0
-7
-1
1
2
2
-14
8
-16
-8
0
-2
-1
7
9
0
0
5
-1
2
0
28
-1
2
-9
4
-2
0
7
0
-2
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
13
0
0
-1
-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
14
31
-9
2
-6
10
0
-4
-8
0
0
0
0
0
0
2
-13
5
-4
-1
0
3
4
-2
-4
0
0
0
0
0
0
0
-5
1
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
10
0
16
0
1
-6
-18
3
3
0
0
0
0
0
0
0
-2
-4
-7
0
0
0
6
0
0
0
0
0
0
0
0
0
4
-10
13
0
0
0
15
1
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
7
-1
0
0
7
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
5
-20
-1
-4
10
-2
-9
8
-1
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-12
-1
11
1
-18
4
-6
0
-2
4
1
6
35
-16
0
0
8
0
-1
-2
-28
-8
5
-6
5
-1
0
2
0
-7
0
0
1
0
1
0
-5
9
0
-8
0
0
4
-8
-1
0
0
0
0
0
0
0
0
-10
-2
3
0
0
0
1
0
-1
0
0
6
0
0
0
0
-8
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
3
-8
0
0
5
2
1
-13
0
0
0
0
0
0
0
5
-9
-2
0
0
0
0
0
12
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
-11
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-3
-5
-2
-5
-3
0
3
10
5
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
4
0
7
12
0
-2
3
-1
0
-1
-7
0
0
0
0
0
0
0
-10
6
1
1
2
0
0
0
-3
-3
0
0
-2
0
0
0
0
3
0
12
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
1
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
41
13
1
-8
-11
-14
-8
0
0
1
0
0
0
0
-2
-15
3
-1
3
1
21
0
7
0
0
0
0
0
0
9
-4
-1
10
4
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
2
6
-4
-3
-4
-9
10
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
-7
4
0
0
0
6
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
-7
0
1
0
0
0
0
0
0
-3
0
0
-2
0
0
0
7
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
2
0
4
-3
-1
5
3
0
0
-1
-4
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
-2
0
9
14
1
-7
12
-3
-9
-1
-13
-22
0
0
-3
-3
-9
2
-9
11
-15
15
-10
4
2
-5
-1
-15
0
0
-1
0
4
0
10
-6
1
-4
9
4
1
3
-11
8
0
0
0
0
0
0
4
1
-2
1
3
0
0
0
0
8
0
0
-1
0
0
0
8
-6
0
10
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
-1
7
3
0
0
-1
0
0
0
0
6
0
10
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
3
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
5
2
-4
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-4
-10
0
0
-2
-1
0
-2
-9
-6
0
0
7
0
0
0
-4
4
-2
10
0
0
0
9
4
-8
0
0
0
0
0
0
5
-2
-3
-1
0
0
0
0
4
-3
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
2
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
1
0
4
9
0
0
1
0
0
0
0
1
0
0
-4
0
-3
0
2
0
-1
3
-1
0
0
-3
3
5
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-1
6
-19
0
0
0
0
0
0
0
-2
-1
-1
0
0
-2
1
0
2
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-8
0
0
0
1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
-1
-1
-7
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
2
1
2
-1
0
-2
1
-3
2
7
-6
-4
0
0
1
0
0
0
6
-3
8
-4
2
0
0
1
0
-1
0
0
-1
0
0
0
-3
-3
1
7
3
0
0
0
0
4
0
0
0
0
0
0
0
0
0
1
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-3
0
0
0
0
0
0
0
-2
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
3
0
0
0
-2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
1
0
3
7
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
4
0
-2
0
0
4
0
-3
-3
0
0
5
1
23
0
0
-5
0
0
1
15
-5
0
1
-2
0
0
-29
-8
9
0
0
0
0
0
0
-1
0
0
-4
0
0
0
-2
0
3
0
0
0
0
0
0
0
2
0
2
0
0
0
2
0
2
0
0
0
0
0
0
-2
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
8
0
0
0
0
0
0
0
4
2
0
0
0
0
-1
0
4
0
0
4
0
0
0
0
-1
-4
-24
1
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
1
1
-3
-1
-3
1
-3
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
1
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-2
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-3
0
-6
10
-2
2
3
0
-4
-3
17
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
-3
0
-3
1
-3
1
-12
7
1
0
2
-9
-14
0
0
0
-1
-1
-1
-6
10
0
-1
6
2
-1
-10
-6
-4
0
0
1
0
2
0
2
3
-1
-18
8
0
0
2
-2
-6
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
-2
0
0
-2
0
0
0
0
0
-1
0
0
0
0
-2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
-1
0
0
0
-3
0
-4
1
0
0
-1
0
0
15
0
0
0
0
0
0
-1
0
3
2
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-10
-2
0
0
0
3
8
12
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
6
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
-4
0
3
0
-4
0
-3
8
-3
1
1
-5
-5
11
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
1
6
2
6
20
-9
10
1
1
-2
-18
15
-45
0
0
3
0
0
2
0
1
1
-22
-5
1
1
-7
4
2
0
0
3
0
0
0
0
3
1
1
10
-7
-1
0
-4
-3
0
0
-3
0
1
0
0
1
6
1
0
0
0
-8
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
2
-3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
1
1
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
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
3
0
0
-1
-7
-11
0
-9
0
-1
0
5
4
-1
0
0
6
0
0
2
0
0
5
6
0
0
0
-2
-2
0
0
0
1
0
0
0
0
1
0
1
2
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
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
-1
0
0
0
-5
0
0
3
1
1
0
0
1
0
0
0
0
0
0
0
11
0
0
4
-5
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
3
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
1
2
0
-5
-1
0
0
1
-3
-4
0
0
-2
0
0
0
2
-14
1
4
-2
-1
0
6
0
2
0
0
0
0
0
0
0
3
0
-8
-2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
9
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
12
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
0
6
5
0
10
-3
0
0
-5
0
-7
0
0
1
0
0
0
-4
-12
0
1
2
0
0
-12
0
-1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-2
0
1
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
1
0
-4
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
1
5
-6
0
-5
-2
-4
0
-2
-1
12
0
0
-2
0
0
-1
2
-7
-2
-5
-2
0
0
1
0
-6
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
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
-2
0
0
0
0
0
0
3
0
0
0
-4
0
0
0
-1
3
0
1
0
0
0
1
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-8
-11
0
-1
0
0
0
-2
0
0
0
0
-1
0
0
0
-9
1
-2
-2
0
0
0
-3
0
-3
0
0
0
0
0
0
-1
0
0
3
-2
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
-8
0
-2
0
0
0
0
-4
0
0
0
0
0
0
0
0
-6
1
-1
0
0
0
-3
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-2
15
0
-3
1
0
0
0
2
4
0
0
-1
0
0
0
4
2
2
-2
1
0
0
1
4
3
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
4
-6
0
0
-6
0
0
0
-7
0
0
0
0
0
0
0
4
1
-2
6
0
0
0
1
1
0
0
0
0
0
0
0
0
0
0
9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
3
7
0
1
0
0
0
0
1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
2
0
0
0
0
0
0
0
-6
0
0
0
-3
0
0
0
0
1
1
3
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
-1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
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
8
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
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
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
-7
0
0
-1
0
0
-1
1
4
0
0
0
0
0
0
-1
-1
0
-2
1
0
0
-1
-1
0
0
0
0
0
0
0
-1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-10
0
-1
0
-6
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
1
-1
0
0
-16
-15
1
-1
-1
-1
0
3
-6
-12
0
0
3
0
0
0
-7
-19
7
-9
-4
0
0
5
-2
2
0
0
2
0
4
0
-8
-3
7
3
2
0
-1
-3
0
-4
0
0
0
0
0
0
-1
-2
0
-2
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
5
3
0
0
0
0
0
-1
-1
1
0
0
0
0
0
0
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
-5
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
-4
-3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
-2
-5
0
0
-1
0
0
0
-1
0
0
0
0
0
0
0
-1
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
-9
0
0
0
2
4
0
2
-1
6
-1
0
-2
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
-3
0
8
19
0
3
2
2
0
-2
-3
4
0
0
6
0
3
3
3
5
-6
-25
5
-2
0
0
0
-4
0
0
-1
0
1
0
2
2
0
7
-1
0
-2
1
0
0
0
0
2
0
0
0
0
0
0
-1
0
0
0
4
0
0
0
0
0
0
0
0
2
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-4
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-3
-5
0
0
0
2
0
0
2
4
0
0
1
0
0
0
0
0
2
1
0
0
0
-2
2
3
0
0
1
0
0
0
0
0
0
3
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
2
0
0
0
0
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
6
-4
0
6
-4
-1
0
1
1
-16
0
0
-1
0
0
-1
3
-2
3
3
3
0
0
0
-7
2
0
0
0
0
0
0
0
0
0
3
0
0
0
1
1
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
1
0
0
-2
0
0
0
0
-3
0
0
0
0
0
0
0
-3
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-2
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
-1
0
2
7
0
0
-2
-1
3
0
0
1
0
0
0
-1
-7
0
-1
0
0
0
0
0
-2
0
0
1
0
0
0
0
-1
0
2
1
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
1
0
0
0
0
0
-2
2
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
4
0
3
1
0
0
0
-1
1
0
0
0
0
0
0
0
-3
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
-3
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-1
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
-1
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
-1
0
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
-1
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-10
-3
0
0
-2
0
0
1
1
-2
0
0
0
0
0
0
1
-2
0
3
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
-4
6
0
-1
-2
0
0
0
2
-1
0
0
-2
0
0
2
1
5
0
-1
1
0
0
-4
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
1
0
1
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
1
5
0
4
6
0
0
1
-3
0
0
0
0
0
0
0
6
2
0
9
0
0
0
-2
0
-3
0
0
0
0
0
0
-8
1
0
-1
-2
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
-2
1
0
-4
-2
0
0
0
8
0
0
0
0
0
0
0
4
-1
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-1
-1
0
16
0
3
3
0
0
0
12
-1
0
0
5
0
0
0
-2
-4
-1
1
0
0
0
2
7
0
0
0
1
0
0
0
0
0
0
-3
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-3
0
3
2
0
-2
0
0
0
0
-2
-3
0
0
0
0
-1
0
0
0
1
0
0
0
0
2
-2
-7
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
13
0
0
0
0
0
0
0
-1
0
0
0
0
0
-2
3
4
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-11
0
0
0
-3
-16
0
-6
-4
0
0
3
2
8
0
0
-1
0
0
0
3
-2
9
15
3
0
0
9
0
-8
0
0
0
0
0
0
4
-1
0
0
6
0
0
-1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
0
0
-3
0
0
-4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
1
7
-2
-3
-27
1
-2
-6
5
0
7
-13
-1
0
0
3
2
3
-4
-7
9
-11
0
-4
0
0
2
1
3
0
0
0
0
0
0
1
-6
0
4
0
0
0
-6
-3
0
0
0
0
0
0
0
0
3
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-7
-5
0
0
0
0
0
0
2
-3
0
0
0
0
0
0
-1
4
0
0
0
0
0
0
0
-4
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
4
-2
0
-2
2
0
1
4
-6
7
0
0
0
0
0
0
2
2
-2
-4
0
0
0
11
4
5
0
0
1
0
0
0
0
3
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
-2
0
2
0
0
0
7
0
0
0
-6
-3
0
0
2
0
0
0
0
-11
6
0
0
0
0
0
-3
-1
0
0
0
0
0
0
0
-1
0
3
0
0
0
-2
-3
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
-1
0
1
6
0
0
0
0
0
0
0
1
0
0
0
0
0
0
5
-2
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
8
0
0
0
3
-7
0
2
0
0
0
0
1
-3
0
0
-1
0
0
0
2
5
1
1
0
0
0
1
0
-2
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
3
0
13
-5
0
0
7
2
0
-1
2
1
0
0
2
0
0
0
-6
8
-3
5
1
0
0
0
-2
-16
0
0
0
0
0
0
-1
0
0
3
1
0
0
0
1
3
0
0
0
0
0
0
0
0
2
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
0
0
0
-2
-6
0
11
6
-2
0
6
8
3
0
0
-1
0
0
2
0
0
-1
1
0
0
0
3
0
-2
0
0
-4
0
0
0
0
0
0
3
-2
0
0
4
13
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
-9
0
4
0
4
0
-2
-10
13
0
0
0
0
0
0
5
-2
7
-1
0
0
0
4
0
-3
0
0
1
0
0
0
4
0
0
3
-2
0
1
9
0
-7
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
5
0
2
1
-2
-14
-2
-1
-2
1
0
-1
-7
-1
0
0
-19
0
-4
2
0
-6
-8
-7
-2
0
-1
10
0
9
0
0
0
0
6
0
-4
-2
0
12
-6
0
-1
-3
2
11
0
0
0
0
0
0
0
-2
2
5
0
0
0
0
0
2
0
0
0
0
0
0
2
0
0
2
-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
1
-10
0
0
0
0
0
0
0
0
0
0
-1
1
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
0
-1
0
0
0
-1
-3
0
0
0
0
18
0
0
-1
0
-2
0
0
0
-1
1
-3
0
0
0
0
0
0
0
-3
0
-4
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-19
-9
0
1
0
-9
0
0
1
1
0
0
0
0
0
0
-1
0
2
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
15
0
0
-6
-8
0
0
0
9
-19
0
0
2
0
-2
3
-46
-14
-4
-13
-1
-4
10
6
-5
-10
0
0
-8
0
0
3
-20
-3
-4
6
-6
-2
4
9
0
5
0
0
0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
-3
2
1
2
-2
0
0
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-7
-15
-5
-7
1
-2
7
0
0
-1
-3
-13
-2
-22
28
-9
19
16
-6
8
-22
2
15
0
0
0
0
-1
4
15
6
10
-45
0
-8
9
2
-4
6
0
0
3
0
0
0
-7
7
4
-7
-3
0
1
3
0
-1
0
0
3
0
0
0
4
-3
0
-1
-2
0
0
-2
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-5
0
-6
-1
0
0
0
0
-2
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
-1
1
-8
-7
-3
0
0
-1
0
1
1
-5
-3
-8
-5
1
0
-1
-5
2
10
0
0
1
0
1
0
-7
5
0
-2
-2
-2
-1
2
0
6
0
0
0
0
0
0
0
0
0
-7
0
0
0
-1
0
-2
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
-1
8
0
0
6
0
-2
0
-7
-12
1
7
2
0
0
6
5
-2
0
0
8
0
0
0
-12
4
0
-2
-2
0
1
3
3
7
0
0
0
0
0
0
0
-1
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
-4
-8
-2
3
-1
1
0
3
0
-11
0
0
-1
0
-1
0
1
-4
0
-1
1
0
2
0
1
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-4
0
0
9
0
-1
2
1
2
4
-5
3
0
0
-27
4
-1
0
0
-1
0
0
0
2
2
0
-7
1
0
0
0
0
-2
0
0
0
0
0
0
0
1
0
3
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
-12
2
0
0
1
0
-2
-4
-1
-17
-2
-10
3
-1
0
3
-4
13
0
0
15
0
2
0
0
-1
0
-8
7
1
-3
4
-4
-1
0
0
0
0
0
0
0
1
0
3
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
-4
-1
0
0
4
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
-9
-2
2
4
3
1
7
0
-3
7
0
1
0
0
-8
0
0
0
25
0
2
-3
1
2
-3
6
1
7
0
0
0
0
0
0
1
0
2
9
0
0
0
7
0
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
7
0
0
0
3
-4
2
-2
3
0
0
3
6
-14
0
0
10
0
0
0
0
7
0
11
8
0
1
1
-2
4
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
5
0
5
0
0
0
0
0
4
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
-3
-8
-1
-3
6
0
0
4
-7
0
0
7
0
4
0
-17
-11
0
-14
-1
0
0
0
-1
0
0
0
0
0
0
0
3
0
0
0
0
0
0
-4
0
0
0
0
2
0
0
0
-12
0
0
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
-2
-2
0
-20
6
-2
0
0
-3
0
-1
-3
-3
9
-4
-6
8
-11
3
4
1
1
0
0
0
0
0
0
0
4
2
0
0
0
0
2
0
0
0
0
0
0
0
0
0
-2
0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
11
0
0
0
1
-1
0
0
-1
0
0
0
1
-9
0
-5
-1
1
-1
2
-9
4
0
0
0
0
0
0
0
-3
0
-3
0
0
0
0
0
-1
0
0
0
0
0
0
-3
0
0
0
1
0
0
0
8
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-23
0
2
0
-10
3
5
0
0
-13
0
0
1
-16
6
2
-8
6
-1
0
5
-1
0
0
0
0
0
0
0
0
-1
1
2
0
0
0
-2
0
-2
0
0
1
0
0
0
-2
0
0
5
1
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
6
0
0
0
0
-1
-1
0
-2
0
1
-1
0
-1
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
1
0
0
-1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-9
-1
-8
0
0
-7
0
7
0
-3
-11
2
-6
-2
0
0
4
4
1
0
0
0
0
0
0
0
-3
0
-1
0
0
0
7
0
0
0
0
0
0
0
0
1
0
1
0
3
0
0
1
-2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-4
-3
0
0
-7
0
0
0
0
0
-1
1
1
0
0
0
-8
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-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
-1
0
0
8
0
0
6
7
0
0
0
5
-2
0
2
0
-9
0
0
1
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
7
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
0
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
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
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
1
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
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-34
-2
0
-2
0
4
-3
0
0
0
0
0
0
0
-1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
4
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
9
1
-6
7
-22
-26
-31
-18
0
0
0
-11
-1
11
-1
-4
-24
6
12
4
6
0
8
11
-18
2
0
-9
0
0
0
0
0
0
0
0
0
0
-3
0
0
0
0
0
0
0
0
0
0
0
0
0
-2
0
18
7
-7
0
0
0
0
0
0
0
-10
1
3
-31
-12
-18
-11
-33
-2
-6
-11
-35
-12
6
-3
-7
-10
19
6
-39
-15
0
5
7
-2
-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
1
0
0
0
0
0
0
0
0
-15
-7
4
-53
-1
-29
4
-8
-2
-8
6
-9
-13
-1
3
-18
-22
2
-18
-18
-3
0
7
-9
-10
-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
-1
0
0
-11
3
-8
-2
0
0
0
5
0
0
0
0
0
0
0
-8
0
0
0
-1
0
0
0
0
-8
1
0
0
